基于DaVinci™平台的网络视频解码系统分析与设计

  作者:林文富 何常 时间:2014-10-28来源:电子产品世界

编者按:  摘要:随着视频压缩技术的不断发展,单路1080p@60Hz分辨率的视频可以压缩到几兆进行传输,一个百兆网口可以传输多达10多路的IP视频信号。目前的服务器单纯依靠CPU进行软解码已经显得非常吃力[1];匹配高性能的服务器或者配置多台服务器却有存在高成本的压力。针对这些现状,本文设计了一个基于TI的DaVinci™平台的网络视频解码系统。验证结果显示,采样该网络视频解码系统,可以使得单台服务器增加上百路的IP视频解码,同时不影响服务器的其它性能,性能可靠且成本有很大优势。   1 TI 8

  OS层是硬件层上的操作系统层,由Linux、BIOS 6两个操作系统构成。Linux运行A8核上,BIOS 6运行在M3核[5]

  平台层运行在操作系统层上,屏蔽软硬件复杂性,抽象业务层所需要的功能接口,向上支撑业务层。基于A8核的平台层由调试打印、第三方库、设备抽象、utility、OS/Posix Lib、Comm以及MCFW多通道框架接口构成。MCFW是TI提供的一套用来处理多媒体视频的接口。A8核端由Syslink/IPC、Link Bitstream、Link API、MCFW API组成。VPSS M3核端由Syslink/IPC、HDVPSS Drivers、Links Capture/Display/SW Mosaic组成。Video M3核由Syslink/IPC、Decode/Encode、Links Decode/Encode组成。核与核之间的数据交互由Syslink/IPC实现。816X是一个多核SOC设备,各个核之间的通信需要通过软件设计来实现。芯片的主处理器是A8,A8核端的Link API用来创建、控制、连接Links。通常由该处理器引导加载各个从处理器,包括了Video-Media Controller,VPSS-Media Controller等。其中解码核实由Video-Media Controller负责管理的。引导加载过程包括从处理器的电源管理,复位控制,在合适的寄存器中写入从处理器执行的入口点。为了有效地实现多核通信,软件还充分利用了邮箱中断和自旋锁功能实现。Mailbox为处理器通过写寄存器,向其他处理发送中断机制。A8,Media Controller等之间通过系统级的Mailbox进行通信。3个HD VICP2S的IP模块有各自独立的邮箱。SOC通过自旋锁[6](SpinLock)方便实现了系统共享资源的互斥。

  业务层由系统管理、在线升级、配置管理、stream、在线调试、告警/事件、codec_hdvpss几个模块组成。管理/配置总线用来实现业务层模块间的通信,共享内存(高速数据通道)用来实现stream模块与codec_hdvpss模块之间的高速数据传递。系统管理模块是A8软件子系统首先执行的一个模块,实现初始化系统资源、创建运行其他的模块,最后监听其他模块的运行状态以及喂狗、控制运行状态。升级模块是一个较为独立的模块,不会与其他模块有数据交互。实现3个核的软件程序文件的在线升级。配置管理是业务层的中控模块,接收主控板发过来的配置信息,控制、协调其他几个模块的运行。Stream模块与网络交互,获取网络发过来的码流数据,经共享内存(高速数据通道)传递到模块做进一步处理。在线调试模块是一个较为独立的模块,不会与其他模块有数据交互,实现软件的在线查看运行状态等功能。告警/事件模块向主控发送本软件的告警/事件信息。Codec_hdvpss模块从共享内存(高速数据通道)获取码流数据,进行codec以及视频处理输出。

  接口层有三个部分,分别是板间/外交互、PHY、信号交换模块。板间/外交互是指解码板与主机的交互,接收主控板的配置管理消息,处理并返回。PHY模块是指解码板与网络的交互,获取H.264的码流。信号交换模块是指解码板输出视频数据到逻辑芯片的数据交换模块。

  软件系统的主要功能是最大支持同解6路1080P@30 H.264码流,解码延时小于50毫秒(Codec模块收到码流数据到解码输出到FPGA的延时);同时还具备启动、监听其他任务,监控单板硬件状态,管理系统硬件狗、运行灯,接收主控的配置信息,对软件系统以及硬件系统进行配置,检测到有异常或某些重要事件发生等功能。

5 总结

  本文根据目前一些网络视频解码应用现状限制,提出了一种带PCI-E接口的网络视频解码系统。该系统采用了目前TI强大的视频编解码平台DM816X并和FPGA逻辑芯片联合应用,实现了单板6路1080P@30Hz/32路D1的网络视频解码;在单台服务器中可以插入多张该单板,从而实现上百路网络视频解码,同时不会降低服务器的性能。该设计系统在笔者设计的视频解码平台中得到实际应用和验证,运行效果良好,并大大降低了单路视频解码的成本,具有很高的实用价值。

参考文献:
  [1]齐兵,王群生,杨春玲.H.264解码芯片的比较与研究.电视技术,2006(9)
  [2]代健美,耿华芳,刘作学.基于DaVinci技术的H.264解码系统,兵工自动化:2012(4)
  [3]周立国,梁淮宁,谢冬冬,等.基于PCI Express总线的数据传输卡的设计与实现[J].电子测量技术;2007(11)
  [4]胡桂阳,卢月琼,李昌禧.用单片机制作的直流稳压可调电源.电子世界:2005(12)
  [5]李宗海,陈蜀宇,李海伟.嵌入式Linux系统在ARM平台上的构建.计算机系统应用,2010(10)
  [6]casevison.Dm8168 多核通信[R/OL].(2012-5-9).http://blog.csdn.net/shanghaiqianlun/article/details/7551518

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

1 2 3

关键词: DaVinci IP视频 CPU Linux FPGA 201411

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版