嵌入式音视频应用 基于TI DaVinci技术
出版时间: 2016年版
内容简介
本书以嵌入式音视频的典型应用――视频会议作为主线,基于TI DaVinci系列DSP处理器TMS320DM6446平台,系统地介绍了音视频编码的相关技术及其在嵌入式系统上的相关应用;依次讲述了音视频前处理和后处理技术、音视频编解码技术、DSP处理器上的音视频输入/输出接口、基于DSP的音视频软件开发编译及优化,基于TI DaVinci平台的软件框架等内容,并给出了基于SEED-DVS6446的硬件测试流程及软件开发实例。本书结合了音视频编码技术理论知识与嵌入式实际应用案例,可以作为电子、信息、通信等专业高年级本科生及研究生的教材,也可以作为从事音视频技术应用的工程技术人员的参考书。
目 录
第1章 引言 1
1.1 从视频会议应用开始 1
1.2 嵌入式音视频系统 2
1.3 DaVinci技术 3
1.4 实验平台 5
1.5 本书结构 7
本章小结 7
第2章 嵌入式语音与视频技术应用 8
2.1 语音技术应用 8
2.1.1 语音编码 8
2.1.2 回声抵消 9
2.1.3 其他语音技术 11
2.2 视频技术应用 12
2.2.1 视频编码 12
2.2.2 视频预处理和后处理 13
2.2.3 其他视频技术 13
本章小结 14
第3章 语音与视频编解码技术标准 15
3.1 语音编解码技术原理与标准 15
3.1.1 语音编码原理 15
3.1.2 语音编码标准 18
3.1.3 G.711标准 21
3.1.4 G.729和G.729A标准 22
3.1.5 G.729A编码器DSP实现 24
3.2 视频编解码技术原理与标准 25
3.2.1 视频编码原理 25
3.2.2 视频编码标准 41
3.2.3 H.264标准 44
本章小结 53
第4章 DaVinci处理器外围设备 54
4.1 典型视频会议系统组成 54
4.2 视频输入和输出接口 55
4.2.1 视频处理子系统工作原理 55
4.2.2 基本开发思路 60
4.2.3 寄存器配置 61
4.3 音频输入和输出接口 70
4.3.1 音频串行接口工作原理 70
4.3.2 基本开发思路 71
4.3.3 寄存器配置 73
4.3.4 寄存器详解 75
4.4 以太网接口 81
4.4.1 工作原理 81
4.4.2 基本开发思路 82
4.4.3 寄存器配置 83
4.5 EDMA3 86
4.5.1 EDMA3的工作原理 86
4.5.2 EDMA3传输类型 88
4.5.3 基本开发思路 91
4.5.4 EDMA传输参数 94
4.6 DDR2 97
4.6.1 工作原理 97
4.6.2 基本开发思路 98
4.6.3 配置说明 99
本章小结 101
第5章 DSP软件编译与优化 102
5.1 DaVinci DSP CPU简介 102
5.2 DSP软件开发编译 103
5.2.1 编译过程简介 103
5.2.2 使用C/C++编译器 104
5.3 DSP软件优化 105
5.3.1 代码优化流程 105
5.3.2 线性汇编优化 107
5.4 音视频算法优化举例 120
5.4.1 G.729优化流程举例 120
5.4.2 H.264 SAD算法优化举例 121
本章小结 134
第6章 DaVinci软件开发 135
6.1 DaVinci软件平台 135
6.1.1 XDM 136
6.1.2 Codec Engine 137
6.1.3 DSPLINK 141
6.1.4 CMEM 142
6.2 Codec Engine 143
6.2.1 核心引擎API 143
6.2.2 VISA API 144
6.2.3 引擎配置文件 145
6.3 音视频软件模块开发 146
6.3.1 音频编码 147
6.3.2 音频解码 148
6.3.3 视频编码 150
6.3.4 视频解码 151
6.3.5 视频显示 152
6.4 音视频软件应用开发示例 153
6.4.1 主线程 154
6.4.2 控制线程 154
6.4.3 视频编解码线程 156
6.4.4 视频线程交互 157
本章小结 158
第7章 实验与开发示例 159
7.1 硬件实验环境 159
7.1.1 硬件平台搭建 159
7.1.2 仿真器连接 159
7.1.3 CCS5.5安装 162
7.1.4 开发板驱动安装 164
7.2 硬件测试实验示例 167
7.2.1 DDR SDRAM测试 167
7.2.2 以太网测试 170
7.2.3 音频测试 172
7.2.4 复合视频采集输出测试 173
7.3 软件开发环境 174
7.3.1 SEED-DVS6446_SDK 安装 175
7.3.2 SEED-DVS6446 Linux内核配置 180
7.3.3 SEED-DVS6446 Linux内核编译 182
7.3.4 SEED-DVS6446 Linux内核启动 182
7.4 软件测试实验示例 184
7.4.1 SEED-DVS6446 Demos编译 184
7.4.2 SEED-DVS6446 Demos 演示 185
小结 185
附录A 186
参考文献