SlideShare una empresa de Scribd logo
1 de 33
IMPLEMENTATION OF AN FPGA BASED VIDEO CAPTURE CARD 1 PRESENTED BY:                        SHEHRYAR
SEQUENCE Project Aim  Spartan 3A Board Overview Available Tools Adopted Path Xilinx Platform Studios Video Capture Universal Serial Bus Challenges 2
SEQUENCE(CONTD.) Video Compression AccelDSP Challenges Future Work Questions 3
PROJECT AIM FPGA based video capture card  Input from an Analog VGA source Resolution = 1024x768 pixels Frame Rate= 30 fps Format = RGB (8:8:8) Data Rate = 566 Mbps Output through a USB 2.0 port  Interfacing VGA with USB Data Rate = 480 Mbps at hi-speed 4
PROJECT AIM                   (CONTD.) Video compression Data Rate reduction Memory reduction Capture and storage of compressed video data on PC Standard video format Play back through media player Major parts of project Video capturing USB interfacing Video compression 5
 SPARTAN 3A BOARD OVERVIEW 6
 SPARTAN 3A BOARD OVERVIEW   (contd.)  FMC-Video daughter board 7
AVAILABLE TOOLS Integrated Software Environment Xilinx Platform Studios System Generator AccelDSP 8
ADOPTED PATH Xilinx Platform Studios Video Capturing USB Interface AccelDSP Video compression core 9
XILINX PLATFORM STUDIOS Embedded processor system Microblaze Libraries and drivers Integration of hardware with software 10
XILINX PLATFORM STUDIOS      (CONTD.) 11
VIDEO CAPTURE VGA Analog input RGB Intensity Signal Hsync, Vsync IIC  Programming Desired mode and resolution XPS IIC PCORE DVI input PCORE Unified bus interface 12 Analog Interface AD9984A
VIDEO CAPTURE 13 BRAM XPS IIC PCORE IIC  MUX PCA 9546A ILMB DLMB Microblaze Processor FPGA Digital Receiver TFP403 Processor Local Bus DVI-I Port Analog Interface AD9984A DVI Input PCORE
VIDEO CAPTURE   (CONTD.) DE-Gen PCORE Data Enable signal  Generated from HSYNC and VSYNC signals combined with front porch and back porch values Output fully captured video signal 14
VIDEO CAPTURE		  (CONTD.) 15 BRAM XPS IIC PCORE IIC  MUX PCA 9546A ILMB DLMB Microblaze Processor FPGA Digital Receiver TFP403 Processor Local Bus DVI-I Port Analog Interface AD9984A DVI Input PCORE DE-Gen Other Cores
UNIVERSAL SERIAL BUS Introduction Serial Bus 4 Wires Host Controlled USB Devices Unique Addresses 8 Endpoints USB protocol Token packet Data packet Status packet 16
FPGA UNIVERSAL SERIAL BUS      (CONTD.) 17 Cypress CY7C67300 MICROBLAZE USB Controller RISC Core Host Port Interface Processor Local Bus ILMB DLMB BRAM SIE Spartan 3A DSP 3400 Board USB Port PC USB port
CHALLANGES Understanding of different languages HDL C/C++ Learning of XPS Integration of PCOREs Developing the driver  Integrating software with hardware Development of USB controller Difficult as RISC processor is involved 18
VIDEO COMPRESSION What is Video What is Compression Need for Compression Space requirements Storage constraints Bandwidth requirements Channel constraints
            VIDEO COMPRESSION	  (CONTD.) Spatial Redundancies Correlation between adjacent data points Intra –within the frame Temporal Redundancies Correlation between different      frames in a video Inter –across the frames uses block-based motion    compensation 20
               VIDEO COMPRESSION	      (CONTD.) Three types of frames I frame –key frame P frame –Predicted frame B frame –Bidirectional                        predicted frame 21
              VIDEO COMPRESSION        (CONTD.) To encode a frame each operation is performed at macroblock  (MB) level  (n x n block of  pixel. n=16 ) Intra coded frame (I): every MB of the frame is coded using spatial redundancy Inter coded frame (P): most of the MBs of the frame are coded exploiting temporal redundancy (in the past)  Bi-predictive frame (B): most of the MBs of the frame are coded exploiting temporal redundancy in the past and in the future Group of Picture (GOP):  sequence of pictures between two I-frames 22
VIDEO COMPRESSION		 (CONTD.) Exploiting Spatial Redundancies RGB to YCC Chrominance vs luminance Chroma-sub sampling Sensation of human eye 8x8 Blocks DCT2 Frequency Domain Real part of FFT DC and AC coefficients  Easy to implement
VIDEO COMPRESSION(CONTD.) Exploiting Spatial Redundancies Zig Zag Scan Scan Pattern Quantization Quantization Table Quantization threshold value Truncation of coefficients High frequency values approaching zero
VIDEOCOMPRESSION(CONTD.) Exploiting Spatial Redundancies Run Length Encoding Consecutive coefficients with the same value Assigning number of repetitions of same value   Huffman Encoding Order of probability of occurrence Huffman Table 25
        VIDEO COMPRESSION(CONTD.) 26
VIDEO COMPRESSION		 (CONTD.) Exploiting Temporal Redundancies Motion Estimation Two consecutive frames  Macroblock comparison Recovery of motion vector Motion Compensation Frame segmentation Block matching  Motion vector correction(prediction error) Sending prediction error
VIDEO COMPRESSION(CONTD.) 28
VIDEO COMPRESSION	 (CONTD.)
AccelDSP Xilinx FPGA tool  Transform Matlab syntax to HDL Exports the HDL design to System Generator BITSTRAEM 30
COMPLETE DESIGN IN FPGA 31 ILMB Microblaze Processor XPS IIC PCORE BRAM DLMB Processor Local Bus DVI-I in DE-Gen Frame Buffer USB Controller Video Compression
THANKYOU 32
QUESTIONS? 33

Más contenido relacionado

La actualidad más candente

VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentationDaola Khungur
 
Lecture 07 virtual machine i
Lecture 07 virtual machine iLecture 07 virtual machine i
Lecture 07 virtual machine i鍾誠 陳鍾誠
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Electronic Hardware Design with FPGA
Electronic Hardware Design with FPGAElectronic Hardware Design with FPGA
Electronic Hardware Design with FPGAKrishna Gaihre
 
The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC Mohamed Youssery
 
Clk-to-q delay, library setup and hold time
Clk-to-q delay, library setup and hold timeClk-to-q delay, library setup and hold time
Clk-to-q delay, library setup and hold timeVLSI SYSTEM Design
 
VLSI design methodologies.pdf
VLSI design methodologies.pdfVLSI design methodologies.pdf
VLSI design methodologies.pdfEngineering Funda
 
Exploring Raspberry Pi
Exploring Raspberry PiExploring Raspberry Pi
Exploring Raspberry PiLentin Joseph
 
The Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-VThe Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-VC4Media
 
Cyclone II FPGA Overview
Cyclone II FPGA OverviewCyclone II FPGA Overview
Cyclone II FPGA OverviewPremier Farnell
 
Beating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit ArithmeticBeating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit Arithmeticinside-BigData.com
 
Low power ldpc decoder implementation using layer decoding
Low power ldpc decoder implementation using layer decodingLow power ldpc decoder implementation using layer decoding
Low power ldpc decoder implementation using layer decodingajithc0003
 
Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1Cheng Hsien Chen
 

La actualidad más candente (20)

Vlsi
VlsiVlsi
Vlsi
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentation
 
Lecture 07 virtual machine i
Lecture 07 virtual machine iLecture 07 virtual machine i
Lecture 07 virtual machine i
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Introduction to stm32-part2
Introduction to stm32-part2Introduction to stm32-part2
Introduction to stm32-part2
 
Electronic Hardware Design with FPGA
Electronic Hardware Design with FPGAElectronic Hardware Design with FPGA
Electronic Hardware Design with FPGA
 
Double patterning for 32nm and beyond
Double patterning for 32nm and beyondDouble patterning for 32nm and beyond
Double patterning for 32nm and beyond
 
The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC The comparison between FPGA , ARDUINO , ASIC
The comparison between FPGA , ARDUINO , ASIC
 
Asic
AsicAsic
Asic
 
Hybrid Adder
Hybrid AdderHybrid Adder
Hybrid Adder
 
Dr.s.shiyamala fpga ppt
Dr.s.shiyamala  fpga pptDr.s.shiyamala  fpga ppt
Dr.s.shiyamala fpga ppt
 
Clk-to-q delay, library setup and hold time
Clk-to-q delay, library setup and hold timeClk-to-q delay, library setup and hold time
Clk-to-q delay, library setup and hold time
 
VLSI design methodologies.pdf
VLSI design methodologies.pdfVLSI design methodologies.pdf
VLSI design methodologies.pdf
 
Exploring Raspberry Pi
Exploring Raspberry PiExploring Raspberry Pi
Exploring Raspberry Pi
 
The Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-VThe Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-V
 
Cyclone II FPGA Overview
Cyclone II FPGA OverviewCyclone II FPGA Overview
Cyclone II FPGA Overview
 
Beating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit ArithmeticBeating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit Arithmetic
 
Low power ldpc decoder implementation using layer decoding
Low power ldpc decoder implementation using layer decodingLow power ldpc decoder implementation using layer decoding
Low power ldpc decoder implementation using layer decoding
 
Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1
 

Similar a Fpga video capturing

Video Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideo Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideoguy
 
Video Compression Technology
Video Compression TechnologyVideo Compression Technology
Video Compression TechnologyTong Teerayuth
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access GridVideoguy
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access GridVideoguy
 
Mp3 player project presentation
Mp3 player project presentationMp3 player project presentation
Mp3 player project presentationAntonio Mondragon
 
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...MIPI Alliance
 
Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Slide_N
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainVideoguy
 
Jade SoC Graphics Controllers
Jade SoC Graphics ControllersJade SoC Graphics Controllers
Jade SoC Graphics ControllersPremier Farnell
 
Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding StandardVideoguy
 
MPEG video compression standard
MPEG video compression standardMPEG video compression standard
MPEG video compression standardanuragjagetiya
 
Introducing i.MX233 Application Processors
Introducing i.MX233 Application ProcessorsIntroducing i.MX233 Application Processors
Introducing i.MX233 Application ProcessorsPremier Farnell
 
Presentacion_p1.pdf
Presentacion_p1.pdfPresentacion_p1.pdf
Presentacion_p1.pdfIsaacNaveira
 
Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Altera Corporation
 
Industry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solutionIndustry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solutionAnalog Devices, Inc.
 

Similar a Fpga video capturing (20)

Video Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideo Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and Application
 
Video Compression Technology
Video Compression TechnologyVideo Compression Technology
Video Compression Technology
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access Grid
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access Grid
 
Mp3 player project presentation
Mp3 player project presentationMp3 player project presentation
Mp3 player project presentation
 
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
 
Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
 
Mid
MidMid
Mid
 
Asus Tinker Board
Asus Tinker BoardAsus Tinker Board
Asus Tinker Board
 
Product Brief- Nano SOM
Product Brief- Nano SOMProduct Brief- Nano SOM
Product Brief- Nano SOM
 
Jade SoC Graphics Controllers
Jade SoC Graphics ControllersJade SoC Graphics Controllers
Jade SoC Graphics Controllers
 
Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding Standard
 
MPEG video compression standard
MPEG video compression standardMPEG video compression standard
MPEG video compression standard
 
Introducing i.MX233 Application Processors
Introducing i.MX233 Application ProcessorsIntroducing i.MX233 Application Processors
Introducing i.MX233 Application Processors
 
Wireless PC2TV
Wireless PC2TVWireless PC2TV
Wireless PC2TV
 
Presentacion_p1.pdf
Presentacion_p1.pdfPresentacion_p1.pdf
Presentacion_p1.pdf
 
Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2
 
Industry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solutionIndustry’s performance leading ultra low-power dsp solution
Industry’s performance leading ultra low-power dsp solution
 
GPU Design on FPGA
GPU Design on FPGAGPU Design on FPGA
GPU Design on FPGA
 

Último

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 

Último (20)

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 

Fpga video capturing

  • 1. IMPLEMENTATION OF AN FPGA BASED VIDEO CAPTURE CARD 1 PRESENTED BY: SHEHRYAR
  • 2. SEQUENCE Project Aim Spartan 3A Board Overview Available Tools Adopted Path Xilinx Platform Studios Video Capture Universal Serial Bus Challenges 2
  • 3. SEQUENCE(CONTD.) Video Compression AccelDSP Challenges Future Work Questions 3
  • 4. PROJECT AIM FPGA based video capture card Input from an Analog VGA source Resolution = 1024x768 pixels Frame Rate= 30 fps Format = RGB (8:8:8) Data Rate = 566 Mbps Output through a USB 2.0 port Interfacing VGA with USB Data Rate = 480 Mbps at hi-speed 4
  • 5. PROJECT AIM (CONTD.) Video compression Data Rate reduction Memory reduction Capture and storage of compressed video data on PC Standard video format Play back through media player Major parts of project Video capturing USB interfacing Video compression 5
  • 6. SPARTAN 3A BOARD OVERVIEW 6
  • 7. SPARTAN 3A BOARD OVERVIEW (contd.) FMC-Video daughter board 7
  • 8. AVAILABLE TOOLS Integrated Software Environment Xilinx Platform Studios System Generator AccelDSP 8
  • 9. ADOPTED PATH Xilinx Platform Studios Video Capturing USB Interface AccelDSP Video compression core 9
  • 10. XILINX PLATFORM STUDIOS Embedded processor system Microblaze Libraries and drivers Integration of hardware with software 10
  • 11. XILINX PLATFORM STUDIOS (CONTD.) 11
  • 12. VIDEO CAPTURE VGA Analog input RGB Intensity Signal Hsync, Vsync IIC Programming Desired mode and resolution XPS IIC PCORE DVI input PCORE Unified bus interface 12 Analog Interface AD9984A
  • 13. VIDEO CAPTURE 13 BRAM XPS IIC PCORE IIC MUX PCA 9546A ILMB DLMB Microblaze Processor FPGA Digital Receiver TFP403 Processor Local Bus DVI-I Port Analog Interface AD9984A DVI Input PCORE
  • 14. VIDEO CAPTURE (CONTD.) DE-Gen PCORE Data Enable signal Generated from HSYNC and VSYNC signals combined with front porch and back porch values Output fully captured video signal 14
  • 15. VIDEO CAPTURE (CONTD.) 15 BRAM XPS IIC PCORE IIC MUX PCA 9546A ILMB DLMB Microblaze Processor FPGA Digital Receiver TFP403 Processor Local Bus DVI-I Port Analog Interface AD9984A DVI Input PCORE DE-Gen Other Cores
  • 16. UNIVERSAL SERIAL BUS Introduction Serial Bus 4 Wires Host Controlled USB Devices Unique Addresses 8 Endpoints USB protocol Token packet Data packet Status packet 16
  • 17. FPGA UNIVERSAL SERIAL BUS (CONTD.) 17 Cypress CY7C67300 MICROBLAZE USB Controller RISC Core Host Port Interface Processor Local Bus ILMB DLMB BRAM SIE Spartan 3A DSP 3400 Board USB Port PC USB port
  • 18. CHALLANGES Understanding of different languages HDL C/C++ Learning of XPS Integration of PCOREs Developing the driver Integrating software with hardware Development of USB controller Difficult as RISC processor is involved 18
  • 19. VIDEO COMPRESSION What is Video What is Compression Need for Compression Space requirements Storage constraints Bandwidth requirements Channel constraints
  • 20. VIDEO COMPRESSION (CONTD.) Spatial Redundancies Correlation between adjacent data points Intra –within the frame Temporal Redundancies Correlation between different frames in a video Inter –across the frames uses block-based motion compensation 20
  • 21. VIDEO COMPRESSION (CONTD.) Three types of frames I frame –key frame P frame –Predicted frame B frame –Bidirectional predicted frame 21
  • 22. VIDEO COMPRESSION (CONTD.) To encode a frame each operation is performed at macroblock (MB) level (n x n block of pixel. n=16 ) Intra coded frame (I): every MB of the frame is coded using spatial redundancy Inter coded frame (P): most of the MBs of the frame are coded exploiting temporal redundancy (in the past) Bi-predictive frame (B): most of the MBs of the frame are coded exploiting temporal redundancy in the past and in the future Group of Picture (GOP): sequence of pictures between two I-frames 22
  • 23. VIDEO COMPRESSION (CONTD.) Exploiting Spatial Redundancies RGB to YCC Chrominance vs luminance Chroma-sub sampling Sensation of human eye 8x8 Blocks DCT2 Frequency Domain Real part of FFT DC and AC coefficients Easy to implement
  • 24. VIDEO COMPRESSION(CONTD.) Exploiting Spatial Redundancies Zig Zag Scan Scan Pattern Quantization Quantization Table Quantization threshold value Truncation of coefficients High frequency values approaching zero
  • 25. VIDEOCOMPRESSION(CONTD.) Exploiting Spatial Redundancies Run Length Encoding Consecutive coefficients with the same value Assigning number of repetitions of same value Huffman Encoding Order of probability of occurrence Huffman Table 25
  • 26. VIDEO COMPRESSION(CONTD.) 26
  • 27. VIDEO COMPRESSION (CONTD.) Exploiting Temporal Redundancies Motion Estimation Two consecutive frames Macroblock comparison Recovery of motion vector Motion Compensation Frame segmentation Block matching Motion vector correction(prediction error) Sending prediction error
  • 30. AccelDSP Xilinx FPGA tool Transform Matlab syntax to HDL Exports the HDL design to System Generator BITSTRAEM 30
  • 31. COMPLETE DESIGN IN FPGA 31 ILMB Microblaze Processor XPS IIC PCORE BRAM DLMB Processor Local Bus DVI-I in DE-Gen Frame Buffer USB Controller Video Compression

Notas del editor

  1. Implementation of an FPGA based video capture card. A video input is to be taken from an analog VGA source i.e. PC . The is video is in RGB format and resolution of 1024x768p with color depth of 24 bit i.e. RGB(8:8:8) at 30 fps the data rate comes out to be 566MbpsWhat is 1024x768 in analog?The output is to be send to a target PC through USB port. the maximum data rate of USB which is at hi-speed is 480 Mbps but the throughput cannot go further than 200Mbps.
  2. Hence video compression technique had to be applied to reduce the data rate so that data could be sent over USB The data should be captured by the target PC and should be stored there in some standard video format i.e. AVI, 3GP, ASF, WMV, WMA etc The video should be played back through any standard or custom media player. It is being done on FPGA rather than any other ASIC because of its fast parallel processing capability.
  3. FPGA Mezzanine ConnectorsThe FMC-Video daughter board (hereafter referred to as FMC -Video) includes severalvideo interfaces. A DVI connector supports both analog and digital video data. SDTVinput is supported through S-Video and composite inputsThe Digital Visual Interface (DVI) input on this board supports the DVI 1.0 specification forcombined single-link digital and analog video.DDC-EDIDThe DVI input supports identification through the use of an Extended DisplayIdentification Data (EDID) structure available through the Display Data Channel (DDC)interface. This consists of an I2C EEPROM that is powered through the DVI connector andaccessible through the connector. The FMC-Video board also includes the ability to accessthis EEPROM internally for programming it,
  4. Verilog/VHDL design in ISE integrated simulation environment:First code had to be written in hardware descriptive language Verilog or VHDLAfter that this hdl code is synthesized into registers and combinational logicThis technique is very difficult to use for this project as very high level of HDL programming is required.Xilinx Platform Studios Microblaze soft processor handling the software portion of the design andDifferent HDL cores handling the hardware portion of the design which are integrated with microblaze through PLB. System Generator Mdl Very basic and limited numbers of blocks are availableAccelDSP Matlab code
  5. enables you to design a complete embedded processor system (microblaze) for implementation in aXilinx FPGA device. XPS is used primarily for embedded processor hardware system development.Configuration of the microprocessor, peripherals, and the interconnection of thesecomponents, takes place in XPS.All the tools were studied and it was decided that Xilinx platform studios will be the better option because input and output interfaces will be easy to develop in XPS.Since there are in-built IP cores for different interfaces. But then it was realized that the video compression and USB core was not available free of cost so it had to be developed by some other means. Base platform for video capturing was prepared using XPSFirst study of verilog was started but then it was realized that developing a verilog code for video compression required a very high level of programming.A matlab code will be written in matlab for video compression, implemented in AccelDSP, What are the limitations of matlab code to be implemented on AccelDSP?exported to a system generator as a block , simulate and tested through simulink and then passes to XPS as a peripheral core where it will be attached to microblaze through a bus i.e. PLB or FSL.Difference b/w FSL and PLB?
  6. The base platform includes the following Processor IP blocks:• MicroBlaze™ 32-bit Soft Microprocessor• Local Memory Bus (LMB)• LMB Block RAM Controller• Block RAM Block Memory• Processor Local Bus (PLB)• XPS Uartlite• Xilinx Platform Studio (XPS) General Purpose Input/Output (GPIO)• XPS Inter-Integrated Circuit (IIC) Controller• XPS System ACE™ Compact Flash Controller• External Multi-port Memory Controller (MPMC)• MDM MicroBlaze Debug Module• Clock Generator• Processor System Reset
  7. Video capturing is capturing of frames from analog VGA signals or digital DVI streams. Capturing images means reading data from the VGA or DVI signal and converting this data into a digital image.The Frame Grabber synchronizes itself with the video source to capture images at the resolution and color depth output by the video source or at the maximum color depth and resolutionsupported by the Frame GrabberIIC Programming for the dvi_in PCOREThe dvi_in PCORE supports multiple modes and video resolutions. The IIC programmingis used to set the VSK into the desired mode and resolution. The IIC programming is nothandled by the dvi_in PCORE. The MicroBlaze processor performs the IIC processing byway of the XPS_IIC PCORE.The dvi_in PCORE brings in the input signals from the input chip, registers the signals,and groups the video signals into a unified bus that can be connected to other EDKPCOREs for processing. A bus interface called DVI_VIDEO_OUT has been defined for the dvi_in PCORE outputs
  8. The de_gen PCORE generates a Data Enable signal when the video source is analog. TheData Enable signal indicates when active video is present. It does this by analyzing the input HSYNC and VSYNC signals combined with front porch and back porch values. The MicroBlazeprocessor writes the porch values to the block over the PLB interface. The de_gen PCORE is inactive when the video source is DVI, because the Data Enable signal is already generated by the source. Output is a fully digital signal which can be used by other peripherals for further processing.Software registers are used which read the values of Vsync and Hsync along with data and after calculations by microblaze, write the values of front porch and back porch to block over PLB interface.
  9. The video capturing design has been prepared in Xilinx Platform studios.
  10. USB as its name would suggest is a serial bus. It uses 4 shielded wires of which two are power (+5v & GND). The remaining two are twisted pair differential data signals. It uses a NRZI (Non Return to Zero Invert) encoding scheme to send data with a sync field to synchronize the host and receiver clocksThe Universal Serial Bus is host controlled. There can only be one host per bus. The specification in itself, does not support any form of multimaster arrangement.Up to 127 devices can be connected to any one USB bus at any one given time. Each USB device has a unique address.USB ProtocolsUnlike RS-232 and similar serial interfaces where the format of data being sent is not defined, USB is made up of several layers of protocolsEach USB transaction consists of a Token Packet (Header defining what it expects to follow), an Data Packet, (Containing the payload) and a Status Packet (Used to acknowledge transactions and to provide a means of error correction)
  11. EZ-Host has an HPI interface. The HPI interface provides DMAaccess to the EZ-Host internal memory by an external host, plusa bidirectional mailbox register for supporting high level communicationprotocols. This port is designed to be the primaryhigh-speed connection to a host processor. Complete control ofEZ-Host can be accomplished through this interface via anextensible API and communication protocol.
  12. Understanding of different languages i.e. Verilog, VHDL , C/C++,MatlabLate arrival of kit.Working on the interfaces of different kit before arrival of the current kit. Spartan 3E 1600.Learning of different tools i.e. XPS, AccelDSP, System Generator.Developing of a USB controller is very difficult because it has a very complex protocol.Developing some software application on PC which could grab and store data from its USB port.Development of a custom media player which could decompress the data according to our compression technique.Integrating an external RAM i.e. DDR2 in our design, because the size of a frame is too large to be stored with in FPGA.
  13. A single uncompressed color image or video frame with a medium resolution of 500 x 500 pixels would require 100 s for transmission over an ISDN (Integrated Services Digital Network) link having a capacity of 64 Kbps.
  14. Simplest and earliest data compression scheme developed• Sampled images and audio and video data streams oftencontain sequences of identical bytes• by replacing these sequences with the byte pattern to berepeated and providing the number of its occurrence,data canbe reduced substantially
  15. AccelDSP converts Matlab code directly into FPGA with (slight modifications) AccelDSP comes with Accel Ware toolkit.Accel Ware contains IP cores for common dsp algorithmsFloating to Fixed Point ConversionAlgorithm development uses floating-point numbers as they represent infinite precisionFloat ( 32 bits ) & Double ( 64 bits )To realize algorithm in hardware floating-point numbers are not practicalConsumes more hardware resourcesNo. of gates, adder, multiplier etcConvert precise floating-point to less precise fixed-point numbers. Process called quantizationDuring algorithm developed, floating-point numbers are often used because theyrepresent infinite precision. When it comes time to realize the algorithm in hardware,floating-point numbers are often not practical. The solution is to convert very precisefloating-point numbers to less precise fixed-point numbers. In MATLAB, this conversionprocess is called quantization and is done using the quantizer and quantize functionSo this process introduces additional noise called quantization noise into the signal. Determining the optimum no of bits requires that we know the dyanamic range of signal at various stages of design