You are previewing Digital Video Processing for Engineers.
O'Reilly logo
Digital Video Processing for Engineers

Book Description

Any device or system with imaging functionality requires a digital video processing solution as part of its embedded system design. Engineers need a practical guide to technology basics and design fundamentals that enables them to deliver the video component of complex projects.

This book introduces core video processing concepts and standards, and delivers practical how-to guidance for engineers embarking on digital video processing designs using FPGAs. It covers the basic topics of video processing in a pictorial, intuitive manner with minimal use of mathematics. Key outcomes and benefits of this book for users include: understanding the concepts and challenges of modern video systems; architect video systems at a system level; reference design examples to implement your own high definition video processing chain; understand implementation trade-offs in video system designs.



• Video processing is a must-have skill for engineers working on products and solutions for rapidly growing markets such as video surveillance, video conferencing, medical imaging, military imaging, digital broadcast equipment, displays and countless consumer electronics applications.

• This book is for engineers who need to develop video systems in their designs but who do not have video processing experience. It introduces the fundamental video processing concepts and skills in enough detail to get the job done, supported by reference designs, step-by-step FPGA- examples, core standards and systems architecture maps.

• Written by lead engineers at Altera Corp, a top-three global developer of digital video chip (FPGA) technology.

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. 1. Video in the Modern World
  6. 2. Introduction to Video Processing
    1. 2.1 Digital Video: Pixels and Resolution
    2. 2.2 Digital Video: Pixels and Bits
    3. 2.3 Digital Video: Color Spaces
    4. 2.4 Video Processing Performance
  7. 3. Sampling and Aliasing
    1. 3.1 Nyquist Sampling Rule
  8. 4. Introduction to Digital Filtering
    1. 4.1 Median Filtering
    2. 4.2 FIR Filters
    3. 4.3 FIR Filter Construction
    4. 4.4 Computing Frequency Response
  9. 5. Video Scaling
    1. 5.1 Understanding Video Scaling
    2. 5.2 Implementing Video Scaling
    3. 5.3 Video Scaling for Different Aspect Ratios
    4. 5.4 Conclusion
  10. 6. Video Deinterlacing
    1. 6.1 Basic Deinterlacing Techniques
    2. 6.2 Motion-Adaptive Deinterlacing: The Basics
    3. 6.3 Logic Requirements
    4. 6.4 Cadence Detection
    5. 6.5 Conclusion
  11. 7. Alpha Blending
    1. 7.1 Introduction
    2. 7.2 Concept and Math Behind Alpha Blending
    3. 7.3 Implementing Alpha Blending in Hardware
    4. 7.4 Creating a Different Background
    5. 7.5 Conclusion
  12. 8. Sensor Processing for Image Sensors
    1. 8.1 CMOS Sensor Basics
    2. 8.2 A Simplistic HW Implementation of Bayer Demosaicing
    3. 8.3 Sensor Processing in Military Electro-optical Infrared Systems
    4. 8.4 Conclusion
  13. 9. Video Interfaces
    1. 9.1 SDI
    2. 9.2 Display Port
    3. 9.3 HDMI
    4. 9.4 DVI
    5. 9.5 VGA
    6. 9.6 CVBS
    7. 9.7 S-Video
    8. 9.8 Component Video
  14. 10. Video Rotation
    1. 10.1 Interpolation
  15. 11. Entropy, Predictive Coding and Quantization
    1. 11.1 Entropy
    2. 11.2 Huffman Coding
    3. 11.3 Markov Source
    4. 11.4 Predictive Coding
    5. 11.5 Differential Encoding
    6. 11.6 Lossless Compression
    7. 11.7 Quantization
    8. 11.8 Decibels
  16. 12. Frequency Domain Representation
    1. 12.1 DFT and IDFT Equations
    2. 12.2 Fast Fourier Transform
    3. 12.3 Discrete Cosine Transform
  17. 13. Image Compression Fundamentals
    1. 13.1 Baseline JPEG
    2. 13.2 DC Scaling
    3. 13.3 Quantization Tables
    4. 13.4 Entropy Coding
    5. 13.5 JPEG Extensions
  18. 14. Video Compression Fundamentals
    1. 14.1 Block Size
    2. 14.2 Motion Estimation
    3. 14.3 Frame Processing Order
    4. 14.4 Compressing I-frames
    5. 14.5 Compressing P-frames
    6. 14.6 Compressing B-frames
    7. 14.7 Rate Control and Buffering
    8. 14.8 Quantization Scale Factor
  19. 15. From MPEG to H.264 Video Compression
    1. 15.1 MPEG-2
    2. 15.2 H.264 Video Compression Standard
    3. 15.3 Digital Cinema Applications
  20. 16. Video Noise and Compression Artifacts
    1. 16.1 Salt-and-pepper Noise
    2. 16.2 Mosquito Noise
    3. 16.3 Block Artifacts
  21. 17. Video Modulation and Transport
    1. 17.1 Complex Modulation and Demodulation
    2. 17.2 Modulated Signal Bandwidth
    3. 17.3 Pulse Shaping Filter
    4. 17.4 Raised Cosine Filter
    5. 17.5 Signal Upconversion
    6. 17.6 Digital Upconversion
  22. 18. Video over IP
    1. 18.1 Basics of Internet Protocol (IP)
    2. 18.2 Encapsulation
    3. 18.3 Video Streams
    4. 18.4 Transport Protocols
    5. 18.5 IP Transport
    6. 18.6 Video Over Internet Issues
    7. 18.7 Video Streaming
    8. 18.8 Multicast Video
    9. 18.9 Video Conferencing
  23. 19. Segmentation and Focus
    1. 19.1 Measuring Focus
    2. 19.2 Segmentation
  24. 20. Memory Considerations When Building a Video Processing Design
    1. 20.1 The Frame Buffer
    2. 20.2 Calculating External Memory Bandwidth Required
    3. 20.3 Calculating On-Chip Memory
    4. 20.4 Conclusion
  25. 21. Debugging FPGA-based Video Systems
    1. 21.1 Timing Analysis
    2. 21.2 The SystemConsole Debugger
    3. 21.3 Check That Clocks and Resets are Working
    4. 21.4 Clocked and Flow Controlled Video Streams
    5. 21.5 Debugging Tools
    6. 21.6 Converting from Clocked to Flow-controlled Video Streams
    7. 21.7 Converting from Flow-controlled to Clocked Video Streams
    8. 21.8 Free-running Streaming Video Interfaces
    9. 21.9 Insufficient Memory Bandwidth
    10. 21.10 Check Data Within Stream
    11. 21.11 Summary
  26. Index