《視頻處理加速及應用實踐:基於英特爾GPU》封麵

內容簡介

本書聚焦於使用英特爾的GPU來進行視頻加速處理的方案。首先介紹視頻處理的理論基礎,然後介紹英特爾的GPU處理器架構,接著介紹英特爾推薦的視頻處理開發套件Media SDK的環境搭建、框架和功能支持,以及開源框架的環境如何在英特爾的平台上搭建等。接下來是實戰的部分,首先介紹視頻處理中的兩個技術難點——內容管理和碼率控製,接下來是編程實戰,並針對開發者反饋較多的情況,介紹性能評測和性能優化的部分以及視頻會議中視頻處理的應用。

作者簡介

目錄

封麵
版權信息
前折頁

前言
第1章 視頻處理之理論基礎
1.1 人眼視覺係統概述
1.2 RGB和YUV色彩空間模型
1.2.1 RGB色彩空間模型
1.2.2 YUV色彩空間模型
1.2.3 YUV色彩模型與RGB色彩模型的轉換
1.3 數字圖像概述
1.3.1 數字化過程——采樣
1.3.2 幀和場
1.3.3 視頻圖像屬性
1.4 傳統視頻壓縮技術理論和算法概述
1.4.1 信息論概述
1.4.2 視頻數據的冗餘特性
1.4.3 變換技術
1.4.4 量化技術
1.4.5 預測技術
1.4.6 Z字形掃描
1.4.7 熵編碼
1.4.8 可分層編碼
1.4.9 多視點視頻編碼
1.5 常見視頻圖像處理算法
1.5.1 去隔行掃描
1.5.2 幀率轉換
1.5.3 電視電影刷新率轉換
1.5.4 縮放
1.6 視頻行業主要標準
1.6.1 電視製式
1.6.2 視頻圖像標準
1.6.3 視頻編解碼行業標準
1.7 視頻圖像質量評價
1.7.1 主觀質量評價
1.7.2 客觀質量評價
1.8 本章小結
第2章 英特爾GPU概述
2.1 英特爾GPU處理器架構概述
2.2 視頻引擎
2.3 英特爾GPU路線圖和命名
2.4 本章小結
第3章 Media SDK總覽
3.1 處理對象
3.2 功能模塊
3.3 API設計
3.4 軟件架構
3.4.1 會話
3.4.2 分配器
3.4.3 數據緩存
3.4.4 異步流水線
3.5 例程和教程概述
3.5.1 基本開發流程
3.5.2 解碼過程
3.5.3 編碼過程
3.5.4 轉碼過程
3.5.5 視頻圖像處理
3.5.6 例程的使用
3.6 新一代開發套件OneVPL
3.7 本章小結
第4章 Media SDK環境搭建
4.1 Linux環境搭建
4.1.1 選擇內核版本
4.1.2 選擇Media SDK版本
4.1.3 安裝依賴庫和例程
4.1.4 通過vainfo驗證安裝結果
4.2 Windows環境搭建
4.2.1 開發環境部署
4.2.2 例程編譯過程
4.2.3 基於GitHub的例程編譯過程
4.2.4 查看當前平台的視頻處理能力
4.2.5 自帶Tracer工具
4.3 本章小結
第5章 Linux視頻加速軟件框架
5.1 直接渲染管理器
5.1.1 內存管理
5.1.2 命令提交
5.1.3 模式設置
5.1.4 權限管理
5.2 libdrm
5.3 VA-API
5.3.1 核心概念
5.3.2 編程流程
5.3.3 示例程序
5.3.4 調試
5.4 GmmLib
5.5 本章小結
第6章 開源框架的使用和環境搭建
6.1 FFmpeg
6.1.1 Linux編譯指南
6.1.2 Windows編譯指南
6.2 GStreamer
6.2.1 基於GStreamer官網的編譯指南
6.2.2 通過Intel OpenVINO安裝GStreamer
6.2.3 GStreamer與AI的協同工作
6.3 OpenCV
6.3.1 Linux編譯指南
6.3.2 Windows編譯指南
6.4 本章小結
第7章 高並發視頻分析業務評估工具
7.1 綜述
7.2 Linux環境搭建
7.2.1 安裝依賴軟件包
7.2.2 升級Linux內核
7.2.3 安裝集成顯卡固件
7.2.4 安裝OpenVINO
7.2.5 安裝OpenCL驅動
7.2.6 準備測試的視頻
7.2.7 運行SVET程序
7.2.8 SVET參考程序參數配置
7.3 Windows環境搭建
7.3.1 安裝依賴軟件包
7.3.2 編譯SVET參考程序和依賴庫
7.3.3 下載推理所需模型和測試視頻
7.3.4 運行多路視頻推理
7.4 核心視頻業務
7.4.1 NVR業務
7.4.2 AI視頻分析業務
7.4.3 MCU轉碼拚接業務
7.5 本章小結
第8章 編解碼實現
8.1 低功耗快速編碼
8.2 低延遲編解碼
8.3 碼率控製
8.3.1 恒定量化係數算法
8.3.2 恒定碼率算法和可變碼率算法
8.3.3 前向預測算法
8.3.4 智能恒定質量算法
8.3.5 質量可定義的可變碼率算法
8.4 動態碼率控製
8.5 精確控製每一幀圖像編碼的量化係數
8.6 多個IDR幀視頻流的解碼過程
8.7 強製生成關鍵幀
8.8 參考幀的動態選擇
8.9 參考幀添加重複信息
8.10 長期參考幀
8.11 可分層視頻編碼例程實現
8.12 本章小結
第9章 拚接顯示實現
9.1 拚接顯示業務運行
9.1.1 程序運行
9.1.2 參數文件
9.2 例程實現解析
9.2.1 類關係概述
9.2.2 會話創建和組件使用
9.2.3 異步流水線構建
9.3 典型功能點實現
9.3.1 動態增刪輸入視頻流
9.3.2 縮放裁剪配置
9.3.3 無效區域重置
9.3.4 圖像疊加
9.4 拚接性能優化
9.4.1 縮放算法和引擎選擇
9.4.2 拚接任務的批量提交
9.5 顯示性能優化
9.5.1 拚接輸出和顯示幀緩存零拷貝
9.5.2 X Window和DRM混合渲染
9.5.3 NV12直接顯示
9.6 本章小結
第10章 性能監測
10.1 GPU監測
10.1.1 影響GPU性能的主要因素
10.1.2 查看顯卡基本信息
10.1.3 查看顯卡使用率
10.2 CPU監測
10.2.1 i7z
10.2.2 turbostat
10.2.3 mpstat
10.2.4 top
10.3 內存監測
10.3.1 基本信息
10.3.2 內存使用量分析
10.4 Windows性能監測
10.4.1 Windows資源管理器
10.4.2 Windows性能分析器
10.5 Intel VTune
10.5.1 係統總覽
10.5.2 內存層次結構
10.5.3 基於時間線的詳細分析
10.6 碼流分析
10.7 本章小結
第11章 性能驗證和優化
11.1 測試環境概述
11.2 基於Media SDK自帶例程
11.2.1 純解碼驗證
11.2.2 解碼顯示驗證
11.2.3 純編碼驗證
11.2.4 轉碼驗證
11.2.5 獨顯驗證
11.3 基於OneVPL自帶例程
11.4 基於SVET
11.4.1 多路解碼
11.4.2 多路解碼+縮放和CSC
11.4.3 多路解碼+縮放和CSC+拚接
11.4.4 多路解碼+縮放和CSC+拚接+顯示
11.4.5 多路解碼+縮放和CSC+拚接+顯示+編碼
11.4.6 多路推理
11.5 性能優化
11.5.1 分析性能瓶頸
11.5.2 優化吞吐
11.5.3 優化延遲
11.5.4 優化拚接顯示
11.5.5 優化SVET推理
11.6 本章小結
附錄A 英特爾統一平台開發套件OneAPI
附錄B 可擴展視頻處理技術
附錄C 中國國標AVS3的SVT實現
附錄D Media SDK支持的媒體格式
後折頁
封底

最後修改:2024 年 07 月 06 日