《DAVINCI技术原理与应用指南》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赵勇,袁誉乐,丁锐编著
  • 出 版 社:南京:东南大学出版社
  • 出版年份:2008
  • ISBN:9787564110314
  • 页数:299 页
图书介绍:本书深入浅出地介绍了DaVinci技术的原理及应用,并以Davinci上开发一个实际的流媒体项目为线索,全面地介绍Davinci技术的技术要点。

1 概述 1

1.1 DSP的发展历程 1

1.2 DaVinci技术的主要特点 2

1.3 本书的结构 3

参考文献 5

2 数字视频评估模块DVEVM 6

2.1 引言 6

2.2 硬件环境的搭建 6

2.3 相关软件的安装 7

2.4 服务器的配置 9

2.4.1 概述 9

2.4.2 配置TFTP服务器 9

2.4.3 配置NFS服务器 14

2.4.4 配置DHCP服务器 17

2.5 Bootloader的烧写 18

2.6 设置DVEVM的启动参数 19

2.7 编写自己的程序示例 22

参考文献 23

3 数字视频软件开发套件DVSDK 24

3.1 引言 24

3.2 DVSDK的安装与配置 25

3.2.1 DVSDK的安装 25

3.2.2 配置DVSDK的编译开发环境 26

3.3 DVTB 28

3.3.1 DVTB的安装 28

3.3.2 DVTB的使用 28

3.4 Express DSP Component(XDC) 31

3.4.1 概述 31

3.4.2 XDC的使用规范 31

3.4.3 XDC的使用实例 37

参考文献 45

4 数字视频基础 46

4.1 引言 46

4.2 图像采样与颜色空间的基本概念 46

4.3 彩色电视制式 48

4.4 图像格式的几种常见的转换 50

4.4.1 YUV2RGB24 50

4.4.2 YUV2RGB16 52

4.4.3 UYVY2YUV 53

4.4.4 YUV2UYVY 55

4.5 常用视频格式 57

参考文献 57

5 V4L2驱动程序分析 58

5.1 引言 58

5.2 设备驱动的基础知识 58

5.3 视频采集的基本流程 60

5.4 打开/关闭一个设备 60

5.4.1 相关信息描述 60

5.4.2 相关结构体与函数 61

5.4.3 代码实现 62

5.5 初始化设备 64

5.5.1 相关信息描述 64

5.5.2 相关结构体与函数 65

5.5.3 代码实现 68

5.6 设定一个数据输入/输出的方法 70

5.6.1 相关信息描述 70

5.6.2 相关结构体与函数 75

5.6.3 代码实现 77

5.7 进入实际的输入/输出循环 79

5.7.1 相关信息描述 79

5.7.2 相关结构体和函数 79

5.7.3 代码实现 80

5.8 退出时释放相关资源 81

5.8.1 相关信息描述 81

5.8.2 相关结构体和函数 81

5.8.3 代码实现 81

参考文献 82

6 H.264/AVC技术分析 83

6.1 引言 83

6.2 结构框架 84

6.3 视频编码层(VCL)概述 84

6.4 档次和级别 85

6.5 编解码技术及算法分析 87

6.5.1 编解码技术概要 87

6.5.2 帧内预测编码 87

6.5.3 帧间预测及运动补偿 89

6.5.4 整数变换及量化 89

6.5.5 扫描与重排序 91

6.5.6 自适应熵编码 91

6.5.7 环路块滤波 92

参考文献 92

7 编解码引擎与服务器 93

7.1 引言 93

7.2 编解码引擎(Codec Engine) 93

7.2.1 概述 93

7.2.2 CE API的使用 94

7.2.3 VISA API的使用 96

7.2.4 编译一个编解码引擎 99

7.3 编解码服务器(Codec Server) 101

7.3.1 概述 101

7.3.2 编译一个编解码服务器 101

7.3.3 定制编解码器的内存映射 114

7.4 引擎与服务器的工作原理 117

7.4.1 概述 117

7.4.2 远过程调用的工作原理 117

7.4.3 引擎与服务器的通讯框架 119

7.4.4 引擎与服务器的通讯细节 120

参考文献 121

8 xDAIS和xDM算法接口标准 122

8.1 引言 122

8.2 xDAIS标准 122

8.2.1 概述 122

8.2.2 算法实例接口(IALG) 122

8.2.3 算法DMA接口(IDMA) 133

8.3 xDM标准 140

8.3.1 概述 140

8.3.2 xDM接口 141

8.3.3 扩展一个算法 142

参考文献 143

9 视频传输相关技术分析与实现 144

9.1 引言 144

9.2 OSI模型与TCP/IP模型 144

9.3 进程到进程间的通讯 146

9.4 传输控制协议(TCP) 148

9.4.1 TCP的基本概念 148

9.4.2 TCP连接的建立 150

9.4.3 TCP的拥塞控制机制 151

9.4.4 TCP的会话吞吐率分析 154

9.4.5 TCP连接的关闭 154

9.4.6 TCP相关代码实现 155

9.5 用户数据报协议(UDP) 158

9.5.1 UDP的基本概念 158

9.5.2 UDP的流量和差错控制 159

9.5.3 UDP报文的封装和拆装 159

9.5.4 UDP的队列管理 160

9.5.5 UDP与TCP的区别 161

9.5.6 UDP相关代码实现 161

9.6 实时传输协议(RTP) 164

9.6.1 RTP的基本概念 164

9.6.2 RTP的分组格式 165

9.6.3 RTCP的分组格式 166

9.6.4 JRTPLIB库 171

9.6.5 RTP相关代码实现 181

参考文献 186

10 基于H.264的视频传输特性分析 187

10.1 引言 187

10.2 联合信源信道编码的基本原理 187

10.3 H.264的应用场合 188

10.4 H.264的NAL层 189

10.4.1 NAL的单元划分 189

10.4.2 NAL层基于流式传输 190

10.4.3 NAL基于数据包的传输 190

参考文献 192

附录A 用Eclipse构建集成开发环境 193

A.1 在Linux环境下安装与配置Eclipse 193

A.1.1 Eclipse简介 193

A.1.2 Eclipse的安装 193

A.2 用Eclipse构建DaVinci的开发环境 194

A.2.1 用Eclipse开发一般C/C++程序 194

A.2.2 用Eclipse开发基于DaVinci的程序 195

附录B 云台控制协议PELCO协议 199

B.1 引言 199

B.2 PELCO-P协议 199

B.3 PELCO-D协议 200

附录C 视频案例代码 203

C.1 encode.h 203

C.2 main.c 211

C.3 video.c 220

C.4 ui.h 245

C.4.1 ui.h 245

C.4.2 ui.c 246

C.5 cradlehead 269

C.5.1 cradlehead.h 269

C.5.2 cradlehead.c 269

C.6 nettools 274

C.6.1 nettools.h 274

C.6.2 nettools.c 275

C.7 crtl.c 280