1、基于 TM1300 的嵌入式网络视频编码器的设计摘要:本文介绍了一种适用于 IP 网络的基于 TM1300 芯片的嵌入式视频编码器的硬件设计和软件体系.硬件设计由以下四个单元组成 :以 TM1300 为核心的视频编码单元和协议处理单元;采用 RTL8139C(L)芯片的网络接口单元 ;以及以单片机 W77E58 为核心的完成摄像头控制和透明数据传输的外围扩展单元. 软件部分采用专门针对多媒体信息处理的一种组件对象模型 TSSA(triMedia software stream architecture) 软件流体系结构. 实验结果表明嵌入式视频编码器实现了视频的实时编码传输,同时具有清晰流畅的
2、图像质量. 关键词:视频编码; TM1300 ;嵌入式 1 系统介绍随着网络多媒体应用的推广,独立机型的嵌入式多媒体通信终端系统由于其成本低、性能好等优点已成为当前研究的热点. 具有网络通信功能的嵌入式视频编码器的研究便成为设计多媒体通信终端系统中的核心内容.嵌入式网络视频编码器的工作原理是将模拟视频信号数字化后按照国际标准压缩编码和网络协议处理后发送到网络,客户端可以从网络接收视频数据,解码后实时回放. 嵌入式视频编码器是一个高性能处理器和操作系统捆绑较为紧密、功能专一、设计专门的独立设备,不像插卡系统那样受通用计算机系统中其他软件硬件的影响, 性能上更稳定可靠且易于实现系统的模块化设计,便
3、于安装、管理和维护. TM1300 是一款高性能的多媒体处理器,可采用 pSOS 嵌入式实时操作系统,并提供了功能较为完善的在线调试工具. 设计人员可以通过在线调试工具在 pSOS 平台上开发 TriMedia 的各种资源和调试各种应用程序,从而最终实现整个系统. 本文提出了一种适用于 IP 网络的基于 TM1300 的嵌入式视频编码器,并详细讨论了整个系统的软硬件设计. 我们将该编码器应用于监控系统中,实现了实时的视频传输并取得了良好的图像质量. 网络视频编码器实现的主要功能有:视频信号的 A/D 转换,H.263 视频压缩编码、 H.323 网络协议处理 、摄像头控制和透明数据传输等. 2
4、 硬件设计 2. 1 TM1300 介绍 视频编码器的核心 TM1300 是 Philips 公司推出的针对多媒体应用的一款高性能 DSP ,它能够进行高质量的视频和音频处理. TriMedia 提供的强大的编译器和软件开发环境使开发人员无需使用汇编语言,而是利用 C 或 C+语言来编写应用程序. TM1300 的核心是 32 位的处理器,能够进行 32 位的线性寻址,寻址能力可达到 4GB. TM1300 核心处理器采用 VLIW 结构, 可以在每一时钟周期内同时执行 5 条指令. TM1300 支持16KB 的高速数据缓存和 32KB 的高速指令缓存,并且高速数据缓存是双向的. TM130
5、0 还集成了 PCI 总线接口,既可以作为 PC 环境下的从 CPU ,也可以用于嵌入式系统作为主 CPU. TM1300 有别于一般的通用 DSP,它有专门的视频接口、音频接口以及图像协处理器单元和可变长解码器单元等专门单元.图像协处理器主要用于图像的滤波或缩放, 提高处理的速度; 可变长解码器则可以协助内核完成 Huffman 解码. 2. 2 硬件总体结构 网络视频编码器的硬件总体结构如图 1 所示. 编码器将来自摄像头的模拟视频信号经 AD 转换芯片 SAA7111A 转换成 YUV 格式的数字视频信号 ,由 TM1300 (1) 按 H.263 协议压缩成多种速率的图像数据码流,然后
6、通过 PCI 总线传递给负责协议处理的 TM1300 (2) ,视频压缩数据在这里封装之后最后通过 PCI 总线传给以太网接口控制器 RTL8139C(L) 为核心的以太网接口单元,由其送到 IP 网上. 外围扩展模块以 W77E58 单片机为核心,通过两个串口分别控制摄像头和收发透明数据. CPLD 主要完成地址译码、PCI 总线仲裁等功能. 开发的应用程序经编译连接 ,写入 FLASH 中. 编码器上电复位后通过 EEPROM 中的自举程序将 FLASH 中的程序搬移到 SDRAM 中,系统开始运行 . 根据以上功能可以将网络视频编码器的硬件设计分为以下四个功能单元: (1) 视频编码单元
7、;(2) 协议处理单元; (3) 网络接口单元; (4) 外围扩展单元. 图 1 网络视频编码器硬件总体结构 2. 3 视频编码单元 视频编码单元以 TM1300 (1) 为核心,外围器件包括 EEPROM , 16M SDRAM , 视频AD 芯片 SAA7111A ,双口 RAM 和 16MB FLASH. 其中,SAA7111A 是 Philips 的增强型视频输入处理器( EVIP) , 输入的模拟视频信号可以是 CVBS(PAL ,NTSC 等) 和 S-Video ( Y/C) ,A/ D 转换后输出符合 CCIR-656 的 YUV422 数字视频信号.视频输入原理图如图 2 所
8、示,SAA7111A 的 YUV 数字视频输出端口和 TM1300 的视频输入端口(VI) 相连接, SAA7111A 的工作方式由 TM1300 通过 I2C 总线进行配置. 图 2 视频输入原理图 SDRAM 是同步动态 RAM ,它提供 Burst 访问方式,用于存取应用程序,原始的数字视频数据以及处理的中间数据. TM1300 (1) 外接的 SDRAM 采用 2 片(12rank 接口方式) ,每片容量为 4 1M 16bit ,总容量为 16MB. 在上电复位后, TM1300 (1) 通过 I2C 总线从 EEPROM 中读取启动信息,配置时钟分频寄存器和 SDRAM 寄存器,
9、然后将 EEPROM 中的自举程序搬移到自 DRAM-BASE 开始的 SDRAM 中并开始执行自举程序, 自举程序将 FLASH 中的相应的应用程序搬移到 TM1300 ( 1) 和 TM1300 ( 2) 的 SDRAM 后, 便各自开始正常工作了. 2. 4 协议处理单元 协议处理单元以 TM1300 ( 2) 为核心, 扩展 EEPROM 和 16M SDRAM ,其电路与视频编码单元相应的内存接口和启动电路设计类似.TM1300(2) 的工作模式为从模式,在上电复位后,通过 I2C 总线从串行 EEPROM 中读取启动信息 ,配置时钟分频寄存器和 SDRAM 寄存器. 然后等待由 T
10、M1300 (1) 完成系统启动的剩余工作 ,包括 MMIO 空间、DRAM 空间的配置等, 等待 TM1300(1) 将 FLASH 中的相应的应用程序搬移到 TM1300 (2) 的 SDRAM 中, TM1300 (2) 便可以开始正常工作了 . 2. 5 网络接口单元 网络接口单元原理图如图 3 所示, 以 REALTEK 的 RTL8139C(L)以太网控制器为核心,经以太网变压器 ST6118T 和 RJ 45 插座, 通过双绞线连接到局域网 . RTL8139C(L) 接口和PCI2.1 规范完全兼容,可以很方便的挂在 TriMedia 的 PCI 总线上. 以太网接口把视频编码
11、及协议处理后的数据按以太网的数据格式打包传送到以太网,同时自动监测接收端的数据变化,把接收到的数据拆包,传送到 TM1300 (2) . 图 3 网络接口单元原理图 2. 6 外围扩展单元 外围扩展单元原理图如图 4 所示, 以 WINBOND 公司的具有两个串口的单片机 W77E58 为核心, 扩展 IDT7130 双口 RAM ,MAX232 和 MAX485. W77E58 通过串口 0 根据 RS-485 接口标准实现对摄像头及云台的控制, 通过串口 1 传送 RS-232 透明数据 . W77E58 和 TM1300 (1) 之间通过自定简单协议对双口 RAM 进行存取,从而相互传递
12、控制信息和数据. 外围扩展单元的功能是通过对 W77E58 编程来实现的,为了提高程序运行的可靠性,在我们的单片机程序开发中还使用了看门狗定时器 . 图 4 外围扩展单元原理图 3 软件结构 3. 1 编码器软件体系结构 TSSA TSSA( TriMedia Software St ream Arc2hitecture) 是由应用层模块(Application) 与若干功能模块(Component ) 组成的建立在数据包交换上的一种流结构. 沿用了 COM 技术中软组件对象(Software Component) 交互的思想, 提出了对多媒体数据流进行处理的一种组件对象模型 . 其中应用层模
13、块负责系统的初始化 , 采用软件流体系结构可以大大简化多媒体应用开发. TSSA 体系分为以下几层(见表 1) : 各个功能模块的创建、启动、关闭以及状态的改变 ,接收某个功能模块的响应. 每个功能模块由 OL 层、操作系统抽象层、AL 层、设备库层组成. 功能模块之间、功能模块与应用层模块之间通过数据包交换数据,数据包在消息队列中传递, 消息队列将各个功能模块、功能模块与应用层模块连接起来. 3. 2 编码器软件组成结构 编码器软件组成结构如图 5 示(不包括单片机编程部分) . 主控模块相当于 TSSA 中的应用层模块,负责创建、运行视频编码模块、协议处理模块和信道接口模块, 并通过响应队
14、列与命令队列在各功能模块之间转发控制与状态消息. 视频编码模块实现遵循 H.263 协议的视频压缩编码 ;协议处理模块实现 H.323 协议栈 ;信道接口模块实现将数据报封装成 MAC 帧送上具体的物理信道. 各个功能模块之间通过双向消息队列交换数据. 图 5 编码器软件组成结构 主控模块和各个功能模块在 pSOS 操作系统中都作为任务(task) 独立运行,它们之间任务状态的变化完全靠对资源的获取是否能够满足(通过调用 pSOS 系统内核) 来实现.pSOS 根据任务的优先级来动态地切换各个任务, 以保证系统的实时性. 为提高主控模块对状态消息的响应灵敏度,我们将主控模块的优先级设计比功能模
15、块高. 视频编码模块作为编码器的核心部分占用了系统的绝大部分资源从而决定了编码器的性能.针对多媒体通信系统的实时性要求,我们在编码软件模块的实现过程中采用了多种优化策略. 除了对编码程序代码进行结构和局部优化,视频压缩中选取快速运动估计算法等方法外, 特别针对 TM1300 的 CPU 体系结构,将循环展开进行并行处理 ,充分利用 TM1300 提供的多媒体指令和编译优化等其它策略. 实践表明在使用上述优化策略后编码器的图像编码帧率提高了一倍以上. 4 结束语 基于 TM1300 芯片的嵌入式网络视频编码器具有成本低,可靠性好的优点,并且由于在设计和实现过程中充分利用 TriMedia 专门针对多媒体信息处理设计的硬件结构和 TSSA 软件体系,因此同时获得了良好的性能 . 嵌入式编码器遵循 ITU-T H.263 协议,可以与兼容H.323 协议的终端实现互联互通,实现了实时的视频传输,获得了清晰流畅的运动图像. 码率可以从 64kbps1920kbps 选择来调节帧率和获得不同级别的图像质量. 在 64kbps 带宽下,解码后的 QCIF 和 CIF 图像的帧率可达到 15fps 以上 . 通过适当提高码率,QCIF 和 CIF 图像的帧率均可达到 25fps.
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。