xilinxvcu低延时方案和使用ps dp live video接口来实现ps和pl的视频数据交换-9479威尼斯

xilinxvcu低延时方案和使用ps dp live video接口来实现ps和pl的视频数据交换

赛灵思推出首款真正的allprogrammable(全可编程)异构多处理soc——zynqultrascale mpsoc。采用台积公司(tsmc)新一代16nmfinfet工艺节点的zynqultrascale mpsoc包含一个可扩展的32位或 64位多处理器cpu、用于实时处理图形和视频的专用硬化引擎、先进的高速外设,以及可编程逻辑,可用于汽车驾驶员辅助与安全、无线和有线通信、数据中心以及连接与控制等多种应用领域。


部分 zynqultrascale mpsoc的可编程逻辑(pl)中包含最新的视频编码器/解码器。这种新型硬化编解码器能够访问来自pl ps的视频和音频流,以提供和/或存取达到软件算法50倍的压缩视频信息,从而节省宝贵的系统存储空间。

 zynqultrascale mpsocvcu 的主要特性

·     支持h.264h.265hevc 视频标准

·     同步编码/解码

·     8kx4k视频,15fps,或者4kx2k视频,60fps

·     8位和10位色彩分量

·     iipipb帧编码

·     4:2:04:2:2色度格式


blob.png


xilinx vcu低延时方案如下图所示,信号源从livevideo source进入到mpsoc芯片,经过视频处理和encode后通过网线传递给后端mpsoc,后端decode后去到video sink显示;在整个end to end的视频链路上面 latency最低可以做到小于35ms的性能。这个低延时特性可以用在kvm\内窥镜\无线图传等等领域。


blob.png



xilinx实现低延时有两种方案,如图所示:第一种是在ps上面跑gstreamer的软件架构加上pl的syncip,两个配合起来实现低延时设计;第二种方案是去掉pl的syncip,在ps里面跑vcu-ctrl-sw软件架构,在ps软件里面实现vcu的低延时设计。


blob.png

在介绍完xilinx vcu低延时方案后我们来聊聊如何实现使用ps dp现有的live video in\out接口来代替dma来进行ps和pl之间的视频数据互传。


从ug1250的vcu trd可以看到整个设计框架,视频接入和输出要想跟ps进行交换数据时候都会用到dma等等模块,对于zu4ev器件来说pl资源是有限并且宝贵的;所以为了把宝贵的逻辑资源用于客户自己的算法,我们整个设计里面可以使用livevideo in接口把pl的视频信号接入到ps,也可以使用livevideo out接口把ps的视频数据传输到pl去做显示。利用这种巧妙的设计来满足性能和资源要求。

 从ug1085第13章displayportcontroller章节里面可以看到livevideo in\out的架构。视频渲染管道执行图像混合、色度上采样和像素缩放。它有两个输入(混合前)和一个输出(混合后)。这两个输入路径并不相同。一个输入用于视频,另一个用于图形。图形路径有一个调色板,没有色度上采样模块(转换4:2:2到4:4:4),所以图形必须是4:4:4格式。视频路径具有4:2:0到4:2:2转换器、测试图形生成器和色度上采样模块块。



blob.png


在dp的subsystem里面包括3个video channels, 1个graphics channel和2个 audio channels;其中video input架构如下所示。


blob.png


non live mode 为了帮助a/v同步,a/v presentationtime必须通过相关的系统时钟打时间戳,并与a/v(例如视频帧和音频缓冲区)相关联,并将时间戳存储在dpdma描述符中提供给软件。


blob.png

当图像在ps处理完成后要通过pl去做显示,那么可以通过live video out接口传入到pl。


blob.png

blob.png

为了保证视频数据和时钟同步需要按照下图来做时钟分配。


blob.png

blob.png

在vivado里面需要对dp接口做相关配置才能从硬件上面实现其作用。


blob.png

blob.png

blob.png


前面已经在vivado里面完成相关配置,对于linux端来说也需要做相应的调整来配合才能完整实现其功能。


blob.png

blob.png

到此工程已经搭建完成;那么由于dp的源和终端之间是需要进行交互匹配才能实现显示功能,而我们没有真实使用dp接口,只是利用他的数据通道而已;所以我们还需要对dp的驱动进行一些小的修改才能使live video接口在没有连接dp显示器时候也能输出图像数据。


blob.png

blob.png


当pl获得live video的视频数据后,客户可以在pl里面加上mixer的ip来把ps过来的qt和pl其他视频数据流进行多画面叠加实现osd的功能。然后可以通过hdmi接口输出去正常显示。


blob.png



希望获得实际工程请联系下面两位同事。

simonyang@comtech.com.cn

charlesxu@comtech.com.cn







公司地址:深圳市南山区高新南九道55号微软科通大厦10楼    客服电话:( 86)755-26743210    邮箱:cs@comtech.com.cn

© 9479威尼斯 copyright 2018 www.comtech.com.cn | |

网站地图