基于AVStream架构的电视采集驱动设计与实现

基于AVStream架构的电视采集驱动设计与实现

论文摘要

Windows MCE操作系统媒体中心的发布,为数字家庭的应用提供了平台。同时,它的应用还离不开软硬件的支持,设备驱动程序作为连接应用程序、硬件设备和操作系统的桥梁,把它们紧密联系在一起。多媒体数据流的处理是媒体中心应用的关键,微软为操作系统处理音视频数据流提供了内核流的支持,但传统的端口类驱动和流类驱动在内核流模型下只能分别对音频或者视频流进行处理,且对上层的DirectShow软件接口支持并不理想,属性设置较为繁琐。新一代的AVStream音视频流类驱动继承了WDM驱动架构的诸多优点,不仅为音视频提供了统一的内核流支持,驱动程序还可以通过COM组件为用户层软件增添设备的属性控制而无需修改任何驱动代码,与此同时,它还提供了对未来数字广播电视设备的支持。因此,新一代的AVStream音视频流类驱动具有很大的发展潜力。本论文以AVStream驱动程序的设计和开发为线索,首先介绍了流式驱动程序开发的技术背景,包括WDM驱动模型,Windows操作系统的内核流原理以及AVStream音视频流类驱动对象的层次关系和数据结构;然后,简要介绍了电视采集卡使用的音视频解码芯片和MPEG-Ⅱ编码芯片。本论文完成了对PCI接口的电视采集卡AVStream微驱动程序的设计和实现,其中包括Firmware与驱动程序之间的通信机制及加载流程,微驱动和硬件设备的初始化,驱动程序的DMA控制,中断服务程序,以及AVStream驱动的设备、过滤器和Pin对象的创建与描述,并说明了各内核过滤器的属性控制函数的设计。最后,本论文编写了电视采集卡驱动程序的INF文件;并对本设计的驱动程序进行了全面的测试。除在GraphEdit可视化环境中创建视频捕捉图表,验证驱动程序各过滤器的功能和属性设置能力外,还使用HCT工具对驱动程序的兼容性进行了测试。测试结果表明,设计较为满意的实现了电视采集卡驱动程序的各功能,能够通过用户层应用程序访问驱动程序中暴露出的属性控制;对Windows操作系统和其他硬件设备有比较好的兼容性,仅在VBI信号的处理和控制方面还需要进一步完善。目前,设计的驱动程序已被某些公司采用并到好评。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 图目录
  • 表目录
  • 缩略语
  • 第一章 引言
  • 1.1 基于PC的视频采集技术的发展与现状
  • 1.2 Windows环境下的音视频采集驱动开发的背景
  • 1.3 课题内容和研究的意义
  • 1.3.1 课题内容
  • 1.3.2 课题研究的意义
  • 1.4 章节安排
  • 第二章 WDM基础理论和内核流相关技术
  • 2.1 Windows WDM技术简介
  • 2.1.1 WDM的基本结构
  • 2.1.2 设备初始化与分派例程
  • 2.2 内核流模型与其类驱动技术简介
  • 2.2.1 内核流原理与流类驱动
  • 2.2.2 AVStream音视频流类驱动
  • 2.2.3 BDA数字广播视频微驱动
  • 2.3 本章小节
  • 第三章 基于AVStream架构的微驱动原理
  • 3.1 AVStream的体系架构
  • 3.2 AVStream对象的层次关系与数据结构
  • 3.3 AVStream各对象的描述符
  • 3.3.1 设备对象描述符
  • 3.3.2 设备分派例程表
  • 3.3.3 过滤器对象描述符
  • 3.3.4 Pin对象描述符
  • 3.4 AVStream驱动的属性控制与数据管理
  • 3.5 本章小结
  • 第四章 PCI接口的电视采集卡AVStream驱动程序的设计与实现
  • 4.1 PCI接口电视采集卡的硬件
  • 4.1.1 视频AV解码芯片及MPEG-Ⅱ编码芯片
  • 4.1.2 电视采集卡的Firmware
  • 4.2 电视采集卡驱动的总体设计
  • 4.3 设备的初始化以及各分派例程的设计
  • 4.3.1 AVStream微驱动的初始化和Filter Factory的创建
  • 4.3.2 AVStream各过滤器相关对象的声明
  • 4.3.3 AVStream微驱动的各分派例程和硬件设备的初始化
  • 4.4 驱动程序中的DMA控制与中断设计
  • 4.4.1 DMA控制程序
  • 4.4.2 中断ISR例程与DPC
  • 4.4.3 驱动程序中的数据流安排
  • 4.5 Analog Tuner内核过滤器的设计
  • 4.5.1 Analog Tuner过滤器程序
  • 4.5.2 Analog Tuner过滤器的属性设置
  • 4.6 Analog TV Audio内核过滤器的设计
  • 4.7 Analog Crossbar内核过滤器的设计
  • 4.7.1 Analog Crossbar过滤器程序
  • 4.7.2 Analog Crossbar过滤器的属性设置
  • 4.8 Analog Capture内核过滤器的设计
  • 4.8.1 Analog Capture过滤器程序
  • 4.8.2 Analog Capture过滤器的Pins程序设计
  • 4.8.3 Analog Capture过滤器的属性设置
  • 4.9 Encoder内核过滤器的设计
  • 4.9.1 Encoder过滤器程序
  • 4.9.2 Encoder过滤器的属性设置
  • 4.10 本章小结
  • 第五章 电视采集卡驱动程序的测试
  • 5.1 电视采集卡驱动程序的测试思路与方案
  • 5.2 电视采集卡驱动程序的INF文件与安装过程
  • 5.2.1 INF文件的编写
  • 5.2.2 驱动程序的安装
  • 5.3 应用GraphEdit的过滤器软件测试
  • 5.3.1 GraphEdit的测试环境
  • 5.3.2 测试图表的构造及测试结果
  • 5.4 视频采集驱动程序的WHQL测试
  • 5.4.1 驱动程序与操作系统的兼容性测试及WHQL介绍
  • 5.4.2 电视采集卡驱动程序的WHQL测试与结果
  • 5.5 本章小结
  • 第六章 全文总结及未来研究方向
  • 6.1 全文总结
  • 6.2 下一步工作建议及未来研究方向
  • 致谢
  • 参考文献
  • 个人简历
  • 攻读硕士学位期间的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于AVStream架构的电视采集驱动设计与实现
    下载Doc文档

    猜你喜欢