
Embedded Media Processing.
Title:
Embedded Media Processing.
Author:
Katz, David J.
ISBN:
9780080458885
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (425 pages)
Series:
Embedded Technology
Contents:
Front cover -- Embedded Media Processing -- Copyright page -- Table of Contents -- Preface -- History of This Book -- Chapter Overviews -- Chapter 1: Embedded Media Processing -- Chapter 2: Memory Systems -- Chapter 3: Direct Memory Access (DMA) -- Chapter 4: System Resource Partitioning and Code Optimization -- Chapter 5: Basics of Embedded Audio Processing -- Chapter 6: Basics of Embedded Video and Image Processing -- Chapter 7: Media Processing Frameworks -- Chapter 8: Power Management for Embedded Systems -- Chapter 9: Application Examples -- Acknowledgments -- Acronyms -- About the Authors -- What's on the (Companion website)? -- Chapter 1: Embedded Media Processing -- Why Are You Reading This Book? -- So What's All the Excitement About Embedded Multimedia Systems? -- A Simplified Look at a Media Processing System -- Core Processing -- Input/Output Subsystems-Peripheral Interfaces -- Subsystem Control -- Storage -- Connectivity -- Data Movement -- Memory Subsystem -- Laying the Groundwork for an EMP Application -- What Kind(s) of Media Am I Dealing With? -- What Do I Need to Do With the Data? -- Are My System Needs Likely to Change Over Time, or Will This Be a Static System? -- Is This a Portable Application? -- Does my Application Require a Fixed-Point or Floating-Point Device? -- How Does the Data Get Into and/or Out of the Chip? -- How Do I Develop on the Processor? -- Do I Need an Operating System? -- What Are the Different Ways to Benchmark a Processor? -- How Much Am I Willing to Spend? -- OK, So What Processor Choices Do I Have? -- A Look Inside the Blackfin Processor -- System View -- Computational Units -- Memory Model -- DMA -- Instruction Flow -- Event Handler -- Protection of Resources -- Programming Model -- Power Management -- What's Next? -- Chapter 2: Memory Systems -- Introduction -- Memory Spaces -- L1 Instruction Memory.
L1 Data Memory -- Cache Overview -- What Is Cache? -- More Cache Details -- External Memory -- Synchronous Memory -- Asynchronous Memory -- What's Next? -- Chapter 3: Direct Memory Access -- Introduction -- DMA Controller Overview -- More on the DMA Controller -- Programming the DMA Controller -- DMA Classifications -- Advanced DMA Features -- System Performance Tuning -- External DMA -- What's Next? -- Chapter 4: System Resource Partitioning and Code Optimization -- Introduction -- Event Generation and Handling -- System Interrupts -- Programming Methodology -- Architectural Features for Efficient Programming -- Multiple Operations per Cycle -- Hardware Loop Constructs -- Specialized Addressing Modes -- Interlocked Instruction Pipelines -- Compiler Considerations for Efficient Programming -- System and Core Synchronization -- Load/Store Synchronization -- Ordering -- Atomic Operations -- Memory Architecture-The Need for Management -- Memory Access Tradeoffs -- Instruction Memory Management-To Cache or To DMA? -- Data Memory Management -- System Guidelines for Choosing Between DMA and Cache -- Memory Management Unit (MMU) -- Physics of Data Movement -- 1. Grouping Like Transfers to Minimize Memory Bus Turnarounds -- Example 4.4 -- 2. Understanding Core and DMA SDRAM Accesses -- 3. Keeping SDRAM Rows Open and Performing Multiple Passes on Data -- 4. Optimizing the System Clock Settings and Ensuring Refresh Rates are Tuned for the Speed At Which SDRAM Runs -- 5. Exploiting Priority and Arbitration Schemes Between System Resources -- What's Next? -- Chapter 5: Basics of Embedded Audio Processing -- Introduction -- What Is Sound? -- Audio Signals -- Speech Processing -- Audio Sources and Sinks -- Converting Between Analog and Digital Audio Signals -- Background on Audio Converters -- Connecting to Audio Converters -- Interconnections.
Dynamic Range and Precision -- Numeric Formats for Audio -- Audio Processing Methods -- Getting Data to the Processor's Core -- Block Processing versus Sample Processing -- Double-Buffering -- 2D DMA -- Basic Operations -- Signal Generation -- Filtering and Algorithms -- Sample Rate Conversion -- Audio Compression -- Speech Compression -- What's Next? -- Chapter 6: Basics of Embedded Video and Image Processing -- Introduction -- Human Visual Perception -- What's a Video Signal? -- Broadcast TV-NTSC and PA L -- Video Resolution -- Interlaced versus Progressive Scanning -- Color Spaces -- Gamma Correction -- Chroma Subsampling -- Digital Video -- ITU-R BT.601 (formerly CCIR-601) -- ITU-R BT.656 (formerly CCIR-656) -- A Systems View of Video -- Video Sources -- Video Displays -- Embedded Video Processing Considerations -- Video Port Features -- Video ALUs -- DMA Considerations -- Classification of Video Algorithms -- Bandwidth Calculations -- Sample Video Application Walk-Through -- Deinterlacing -- Scan Rate Conversion -- Pixel Processing -- Dealing With Image Boundaries -- Chroma Resampling, Gamma Correction and Color Conversion -- Scaling and Cropping -- Display Processing -- Compression/Decompression -- Lossless versus Lossy Compression -- Image Compression -- Video Compression -- Encoding/Decoding on an EMP -- What's Next? -- Chapter 7: Media Processing Frameworks -- Introduction -- What Is a Framework? -- Defining Your Framework -- The Application Timeline -- Asymmetric and Symmetric Dual-Core Processors -- Programming Models -- Asymmetric Programming Model -- Homogeneous Programming Model -- Strategies for Architecting a Framework -- Processing Data On-the-Fly -- Programming Ease Trumps Performance -- Performance-Based Framework -- Framework Tips -- Other Topics in Media Frameworks -- Audio-Video Synchronization -- Managing System Flow.
Frameworks and Algorithm Complexity -- What's Next? -- Chapter 8: Power Management for Embedded Systems -- Introduction -- A Processor's View of Power -- Input Clock -- Phase-Locked Loop (PLL) -- Frequency, Voltage and Power -- Processor Power Modes -- Power Domains -- Other Considerations -- Power-Friendly Architectures -- Software Tools -- Voltage Regulation -- Linear Regulators -- Switching Regulators -- Efficiency -- Component Selection for Step-Down Regulators -- Schottky Diode and FET Switch -- Inductor Considerations -- Capacitor Considerations -- Switching Frequency -- Calculating System Power -- Average Power Dissipation -- Battery Fundamentals -- Primary Batteries -- Rechargeable Batteries -- Relative Power for External Devices -- Chapter 9: Application Examples -- Introduction -- Automotive Driver Assistance -- Automotive Safety Systems -- Lane Departure-A System Example -- Baseline JPEG Compression Overview -- Preprocessing -- Spatial Filtering -- Discrete Cosine Transform (DCT) -- Quantization -- Zigzag Sorting -- Coding the DC Coefficients -- Coding the AC Coefficients (Run-Length Coding) -- Entropy Encoding -- JPEG File Interchange Format (JFIF) -- MPEG-2 Encoding -- Motion Estimation/Compensation -- Frame Types -- Format Conversion -- MPEG-2 Encoder Frameworks -- Code Optimization Study Using Open-Source Algorithms -- What Is Open Source? -- Optimizing Vorbis and Speex on Blackfin -- APPENDIX: Sources and Further Reading -- Chapter 1 -- Chapter 2 -- Chapter 3 -- Chapter 4 -- Chapter 5 -- Chapter 6 -- Chapter 7 -- Chapter 8 -- Chapter 9 -- Index.
Abstract:
A key technology enabling fast-paced embedded media processing developments is the high-performance, low-power, small-footprint convergent processor, a specialized device that combines the real-time control of a traditional microcontroller with the signal processing power of a DSP. This practical guide is your one-stop shop for understanding how to implement this cutting-edge technology. You will learn how to: * Choose the proper processor for an application. * Architect your system to avoid problems at the outset. * Manage your data flows and memory accesses so that they line up properly * Make smart-trade-offs in portable applications between power considerations and computational performance. * Divide processing tasks across multiple cores. * Program frameworks that optimize performance without needlessly increasing programming model complexity. * Implement benchmarking techniques that will help you adapt a framework to best fit a target application, and much more! Covering the entire spectrum of EMP-related design issues, from easy-to-understand explanations of basic architecture and direct memory access (DMA), to in-depth discussions of code optimization and power management, this practical book will be an invaluable aid to every engineer working with EMP, from the beginner to the seasoned expert. All disc-based content for this title is now available on the Web. * Comprehensive subject coverage with emphasis on practical application * Essential assembly language code included throughout text * Many real-world examples using Analog's popular Blackfin Processor architecture.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Added Author:
Electronic Access:
Click to View