pdf

Video Codec Chip Design Principles (Fan Yibo)

  • 2024-07-27
  • 78.6MB
  • Points it Requires : 1

This book mainly introduces the design of video codec chips. Based on the HEVC video coding standard, it introduces the overall hardware architecture design of codec chips and the algorithm optimization and hardware pipeline design of each core module. These include intra-frame prediction, whole pixel motion estimation, sub-pixel motion estimation, reconstruction loop, loop filtering, entropy coding and entropy decoding. At the same time, this book further introduces reference frame compression, rate-distortion optimization, bit rate control, decoding error recovery, image quality assessment and other important contents that are not specified in the standard but need to be considered in the design of codec chips. Finally, this book also introduces video coding technology for VR, image and video coding technology based on neural networks, and the open source hardware encoder IP core of the author\'s laboratory. Contents Preface Chapter 1 Introduction 1 1.1 Video Composition 1 1.2 Color Space 3 1.3 Data Redundancy and Video Coding 4 1.4 Coding Units and Coding Levels 5 1.5 International Standards for Video Coding 6 References 7 Chapter 2 Video Coding Technology Framework and Standards 8 2.1 Video Coding Technology Framework 8 2.1.1 Block Division 10 2.1.2 Prediction 10 2.1.3 Transform Coding 11 2.1.4 Quantization 12 2.1.5 Entropy Coding 13 2.1.6 Reconstruction Loop and Loop Filtering 13 2.2 H.26x Standard 14 2.2.1 H.261 14 2.2.2 H.263 16 2.2.3 H.264/AVC 17 2.2.4 H.265/HEVC 21 2.2.5 H.266/VVC 23 2.3 Other Video Coding Standards 28 2.3.1 MPEG-x Standard 28 2.3.2 AVS Standard 29 2.3.3 AV1 Standard 33 2.3.4 EVC Standard 35 References 37 Chapter 3 Video Codec Chip Architecture 39 3.1 Overview 39 3.1.1 Chip Cost 39 3.1.2 Implementation Process and Equivalence Check 40 3.1.3 Differences between Software and Hardware Encoders 43 3.1.4 Agile Architecture 44 3.2 Hierarchical Structure 45 3.2.1 X001 CDC P 45 3.2.2 K001 ENC P 47 3.2.3 K001 DEC P 48 3.2.4 Agile Design Strategy 49 3.3 Architecture Optimization 51 3.3.1 RMD 52 3.3.2 IME 53 3.3.3 FME 54 3.4 Performance Evaluation 56 References 57 Chapter 4 Intra-frame Prediction 58 4.1 Overview 58 4.1.1 Basic Principles 58 4.1.2 Existing Results 64 4.1.3 Design Considerations 66 4.2 Algorithm Optimization 66 4.2.1 Optimization of Computational Distortion 67 4.2.2 Optimization of Computational Bitrate 67 4.2.3 Optimization of Search Pattern 68 4.3 VLSI Implementation 69 4.3.1 Overview of VLSI Implementation 69 4.3.2 Row-column Memory 71 4.3.3 Concurrent Memory 73 4.3.4 Prediction Engine 73 4.3.5 Search Scheduler 76 4.3.6 Performance Evaluation 76 References 77 Chapter 5 Integer Pixel Motion Estimation 79 5.1 Overview 79 5.1.1 Basic Principles 80 5.1.2 Existing Results 86 5.1.3 Design Considerations 87 5.2 Algorithm Optimization 89 5.2.1 Search Start Point 89 5.2.2 Reference Window Shape 90 5.2.3 Downsampling Search 91 5.2.4 Microcode-Based Integer Pixel Motion Estimation Architecture 91 5.3 VLSI Implementation 92 5.3.1 Addressing Control Logic 93 5.3.2 Horizontal and Vertical Reference Pixel Memory 93 5.3.3 Reference Pixel Array Update Logic 93 5.3.4 Transposition Register 94 5.3.5 Pixel Truncation 96 5.3.6 Performance Evaluation 96 References 102 Chapter 6 Sub-Pixel Motion Estimation 104 6.1 Overview 104 6.1.1 Basic Principles 104 6.1.2 Existing Results 110 6.2 Algorithm Optimization 113 6.2.1 Search Method 113 6.2.2 Coarse Motion Vector Prediction 113 6.3 VLSI Implementation 114 6.3.1 Interpolation 115 6.3.2 Cost Estimation 116 6.3.3 Performance Evaluation 117 References 119 Chapter 7 Reconstruction Loop 122 7.1 Overview 122 7.1.1 Basic Principles 123 7.1.2 Existing Results 129 7.1.3 Design Considerations 130 7.2 Module Optimization for VLSI Implementation 130 7.2.1 Transformation and Inverse Transformation Modules 130 7.2.2 Transpose Memory 136 7.2.3 Quantization and Inverse Quantization Modules 138 7.2.4 Concurrent Memory 139 7.3 Architecture Optimization for VLSI Implementation 141 7.3.1 Reconstruction Loop Period Calculation 141 7.3.2 TU/PU Partitioning and 4×4 Dedicated Paths 142 7.3.3 Two Structures for PU Mode Decision 143 7.4 Performance Evaluation 144 7.4.1 Resource Cost Analysis 144 7.4.2 Comparison with Other Literature 145 References 147 Chapter 8 Loop Filtering 149 8.1 Overview 149 8.1.1 Algorithm Equations 149 8.1.2 Existing Achievements 156 8.1.3 Design Considerations 157 8.2 VLSI Implementation of Deblocking Filter 158 8.2.1 Top-level Architecture 158 8.2.2 8×8 Filter Unit Management 159 8.2.3 Boundary Strength Calculation Module 160 8.2.4 Timing and Pipeline Design 161 8.2.5 Performance Evaluation 162 8.3 VLSI Implementation of Sample Adaptive Compensation 162 8.3.1 Top-level Architecture 162 8.3.2 Bitmap-based Parameter Statistics Module 163 8.3.3 Rate Estimation Algorithm 165 8.3.4 8.3.5 Performance Evaluation 166 References 167 Chapter 9 Entropy Coding and Decoding 169 9.1 Overview 169 9.1.1 Basic Principles 169 9.1.2 Existing Achievements 181 9.1.3 Design Considerations 183 9.2 VLSI Design of Entropy Coding 186 9.2.1 Top-level Architecture 186 9.2.2 Syntax Element Preparation Module 187 9.2.3 Binarization Module 188 9.2.4 Context Update Module 189 9.2.5 Arithmetic Coding Module 190 9.2.6 Performance Evaluation 192 9.3 VLSI Implementation of Entropy Decoding 193 9.3.1 Top-level Architecture 193 9.3.2 Input Codestream Module 194 9.3.3 Syntax Element Decision Module 194 9.3.4 Context Update Module 195 9.3.5 Arithmetic Decoding Module 196 9.3.6 Debinarization Module 198 9.3.7 Performance Evaluation 198 References 199 Chapter 10 Reference Frame Compression 201 10.1 Overview 201 10.1.1 Metrics 201 10.1.2 Existing Results 202 10.2 Algorithm Design of Reference Frame Compression 213 10.2.1 Data Structure 214 10.2.2 DPCM Prediction 215 10.2.3 Small Value Optimized Semi-Fixed Length Coding 215 10.2.4 Sub-Coding Block Grouping 217 10.3 VLSI Implementation of Reference Frame Compression 217 10.3.1 VLSI Implementation 217 10.3.2 Performance Evaluation 218 References 220 Chapter 11 Rate-Distortion Optimization 221 11.1 Overview 221 11.1.1 Basic Principles 221 11.1.2 Existing Results 223 11.1.3 Design Considerations 225 11.2 Algorithm Optimization 227 11.2.1 Transform Unit Statistics 227 11.2.2 Other Information Statistics 228 11.2.3 Configurable Mode Decision for Inter-frame Prediction 230 11.3 VLSI Implementation 231 11.3.1 Top-level Architecture and Timing 231 11.3.2 Task Release Module 232 11.3.3 Prediction Module 233 11.3.4 Reconstruction Loop Module 234 11.3.5 Cost Calculation Module 235 11.3.6 Mode Decision Module 237 11.3.7 Performance Evaluation 238 References 239 Chapter 12 Rate Control 241 12.1 Overview 241 12.2 Rate Control Proposals 242 12.2.1 RQ Model of AVC 242 12.2.2 URQ Model of HEVC 246 12.2.3 Q-Model of HEVC 247 12.2.4 R-Model of HEVC 248 12.2.5 Improvement of R-Model 250 12.3 Performance Evaluation of Rate Control Models 251 12.3.1 Test Conditions and Test Result Format of HM 252 12.3.2 Comparison of Several Rate Control Models 254 12.4 Summary and Discussion 257 References 258 Chapter 13 Decoding Error Recovery 259 13.1 Overview 259 13.1.1 Basic Principles 259 13.1.2 Existing Achievements 261 13.2 Spatial Error Concealment Algorithm 262 13.2.1 Design Considerations 262 13.2.2 Algorithm Optimization Design 266 13.2.3 Experimental Results Analysis 268 13.3 Temporal Error Concealment Algorithm 270 13.3.1 Design Considerations 270 13.3.2 Algorithm Optimization and Hardware Design 273 13.3.3 Experimental Results Analysis 276 References 277 Chapter 14 Image Quality Assessment 279 14.1 Overview 279 14.1.1 Classification of Image Quality Assessment 279 14.1.2 Subjective Image Quality Assessment 280 14.1.3 Objective Image Quality Assessment 283 14.1.4 Performance Indicators and Evaluation Criteria 291 14.2 Algorithm Optimization 292 14.2.1 Design Considerations 292 14.2.2 Saliency Window Determination Strategy 294 14.2.3 Global Score 295 14.2.4 Saliency Score 296 14.2.5 Score Fusion Index 296 14.3 Software Implementation and Testing 296 References 300 Chapter 15 Virtual Reality and Video Coding and Transmission 302 15.1 Overview of VR Video 302 15.1.1 Capture and Acquisition of 360° Video 303 15.1.2 Projection Coding of Panoramic Video 305 15.1.3 Dynamic Transmission of Panoramic Video 315 15.1.4 Rendering and Display of Panoramic Video 320 15.2 A New Projection Method ARcube 320 15.2.1 ARcube Projection from Sphere to Cube 320 15.2.2 Optimal Value of Parameter D 322 15.3 Experimental Test and Result Analysis 323 15.3.1 Angle Uniformity 323 15.3.2 Pixel Distribution Uniformity 324 15.3.3 Comprehensive Verification 325 References 326 Chapter 16 Neural Networks and Video Coding 328 16.1 Neural Networks 328 16.1.1 Neural Network Basics 328 16.1.2 Back Propagation Algorithm 329 16.1.3 Introduction to Deep Learning 330 16.1.4 Convolutional Neural Networks 330 16.1.5 Deep Learning Framework 332 16.2 End-to-End Image Coding Network 332 16.2.1 Framework Structure 333 16.2.2 Quantization 335 16.2.3 Entropy Estimation 336 16.2.4 Traversal of RD Curve 338 16.3 End-to-End P Frame Coding Network 339 16.3.1 Deep Video Compression Framework 339 16.3.2 Multi-reference Video Compression Framework 340 16.3.3 Learning-based Video Encoder 341 16.3.4 Rate-Distortion Autoencoder-based Video Encoder 343 16.4 End-to-End B-Frame Coding Network 343 16.4.1 Bidirectional Prediction Interpolation Frame 343 16.4.2 Global Prediction Coding 345 References 346 Chapter 17 Open Source Encoder IP Core 348 17.1 PYNQ-based XK264 Demonstration Solution 349 17.1.1 PYNQ Introduction 349 17.1.2 Preparation 350 17.1.3 Board Debugging Steps 350 17.2 XK264 Encoder IP Core V2.0 Hardware Simulation 355 17.3 XK265 Encoder IP Core V2.0 Hardware Simulation 359 17.4 Converting Bitstream to Playable File 362 References 3633 Experimental Results Analysis 276 References 277 Chapter 14 Image Quality Assessment 279 14.1 Overview 279 14.1.1 Classification of Image Quality Assessment 279 14.1.2 Subjective Image Quality Assessment 280 14.1.3 Objective Image Quality Assessment 283 14.1.4 Performance Indicators and Evaluation Criteria 291 14.2 Algorithm Optimization 292 14.2.1 Design Considerations 292 14.2.2 Saliency Window Determination Strategy 294 14.2.3 Global Score 295 14.2.4 Saliency Score 296 14.2.5 Score Fusion Index 296 14.3 Software Implementation and Testing 296 References 300 Chapter 15 Virtual Reality and Video Coding and Transmission 302 15.1 Overview of VR Video 302 15.1.1 Capture and Acquisition of 360° Video 303 15.1.2 15.1.3 Dynamic Transmission of Panoramic Video 315 15.1.4 Rendering and Display of Panoramic Video 320 15.2 A New Projection Method: ARcube 320 15.2.1 ARcube Projection from a Sphere to a Cube 320 15.2.2 The Optimal Value of Parameter D 322 15.3 Experimental Test and Result Analysis 323 15.3.1 Angle Uniformity 323 15.3.2 Pixel Distribution Uniformity 324 15.3.3 Comprehensive Verification 325 References 326 Chapter 16 Neural Networks and Video Coding 328 16.1 Neural Networks 328 16.1.1 Neural Network Basics 328 16.1.2 Back Propagation Algorithm 329 16.1.3 Introduction to Deep Learning 330 16.1.4 Convolutional Neural Networks 330 16.1.5 Deep Learning Framework 332 16.2 End-to-End Image Coding Network 332 16.2.1 Framework 333 16.2.2 Quantization 335 16.2.3 Entropy Estimation 336 16.2.4 Traversal of the RD Curve 338 16.3 End-to-End P-Frame Coding Network 339 16.3.1 Deep Video Compression Framework 339 16.3.2 Multi-reference Video Compression Framework 340 16.3.3 Learning-based Video Encoder 341 16.3.4 Rate-distortion Autoencoder-based Video Encoder 343 16.4 End-to-End B-Frame Coding Network 343 16.4.1 Bidirectional Prediction Interpolation Frame 343 16.4.2 Global Prediction Coding 345 References 346 Chapter 17 Open Source Encoder IP Core 348 17.1 XK264 Demonstration Solution Based on PYNQ 349 17.1.1 PYNQ Introduction 349 17.1.2 Preparation 350 17.1.3 Board Debugging Steps 350 17.2 XK264 Encoder IP Core V2.0 Hardware Simulation 355 17.3 XK265 Encoder IP Core V2.0 Hardware Simulation 359 17.4 Converting Bitstream to Playable File 362 References 3633 Experimental Results Analysis 276 References 277 Chapter 14 Image Quality Assessment 279 14.1 Overview 279 14.1.1 Classification of Image Quality Assessment 279 14.1.2 Subjective Image Quality Assessment 280 14.1.3 Objective Image Quality Assessment 283 14.1.4 Performance Indicators and Evaluation Criteria 291 14.2 Algorithm Optimization 292 14.2.1 Design Considerations 292 14.2.2 Saliency Window Determination Strategy 294 14.2.3 Global Score 295 14.2.4 Saliency Score 296 14.2.5 Score Fusion Index 296 14.3 Software Implementation and Testing 296 References 300 Chapter 15 Virtual Reality and Video Coding and Transmission 302 15.1 Overview of VR Video 302 15.1.1 Capture and Acquisition of 360° Video 303 15.1.2 15.1.3 Dynamic Transmission of Panoramic Video 315 15.1.4 Rendering and Display of Panoramic Video 320 15.2 A New Projection Method: ARcube 320 15.2.1 ARcube Projection from a Sphere to a Cube 320 15.2.2 The Optimal Value of Parameter D 322 15.3 Experimental Test and Result Analysis 323 15.3.1 Angle Uniformity 323 15.3.2 Pixel Distribution Uniformity 324 15.3.3 Comprehensive Verification 325 References 326 Chapter 16 Neural Networks and Video Coding 328 16.1 Neural Networks 328 16.1.1 Neural Network Basics 328 16.1.2 Back Propagation Algorithm 329 16.1.3 Introduction to Deep Learning 330 16.1.4 Convolutional Neural Networks 330 16.1.5 Deep Learning Framework 332 16.2 End-to-End Image Coding Network 332 16.2.1 Framework 333 16.2.2 Quantization 335 16.2.3 Entropy Estimation 336 16.2.4 Traversal of the RD Curve 338 16.3 End-to-End P-Frame Coding Network 339 16.3.1 Deep Video Compression Framework 339 16.3.2 Multi-reference Video Compression Framework 340 16.3.3 Learning-based Video Encoder 341 16.3.4 Rate-distortion Autoencoder-based Video Encoder 343 16.4 End-to-End B-Frame Coding Network 343 16.4.1 Bidirectional Prediction Interpolation Frame 343 16.4.2 Global Prediction Coding 345 References 346 Chapter 17 Open Source Encoder IP Core 348 17.1 XK264 Demonstration Solution Based on PYNQ 349 17.1.1 PYNQ Introduction 349 17.1.2 Preparation 350 17.1.3 Board Debugging Steps 350 17.2 XK264 Encoder IP Core V2.0 Hardware Simulation 355 17.3 XK265 Encoder IP Core V2.0 Hardware Simulation 359 17.4 Converting Bitstream to Playable File 362 References 363

unfold

You Might Like

Uploader
MartinFowler
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×