首页> 中国专利> 一种基于Zynq异构平台的超低延时视频传输方法及其装置

一种基于Zynq异构平台的超低延时视频传输方法及其装置

摘要

本发明涉及一种基于Zynq异构平台的超低延时视频传输装置,包括实现采集编码的发送端设备以及实现解码显示的接收端设备;应用Zynq软硬件皆可编程的特性实现视频从采集、编码、传输、解码与显示整个处理流水线中都按2N(N>=1)划分的视频子帧处理,从而达到降低视频传输的延时。还涉及一种基于Zynq的超低延时视频传输方法,包括发送端设备的视频数据采集编码发送流程以及接收端设备的视频数据接收解码显示流程。本发明解决了传统SOC芯片解决方案中传输延时大的问题,实现了一套低延时的端到端视频传输系统装置,显著降低系统的传输延时,实现除去网络传输延时以外的整体端到端传输延时到达2个帧间隔时间以内。

著录项

  • 公开/公告号CN112866747A

    专利类型发明专利

  • 公开/公告日2021-05-28

    原文格式PDF

  • 申请/专利权人 深圳市君创视讯科技有限公司;

    申请/专利号CN202110004109.2

  • 发明设计人 尹晓旭;

    申请日2021-01-04

  • 分类号H04N21/234(20110101);H04N21/2343(20110101);H04N21/242(20110101);H04N21/43(20110101);H04N21/44(20110101);H04N21/4402(20110101);H04N21/845(20110101);H04N21/8547(20110101);

  • 代理机构44735 深圳华企汇专利代理有限公司;

  • 代理人李勇

  • 地址 518000 广东省深圳市坪山区坪山街道六联社区坪山大道2007号创新广场裙楼230-5单元

  • 入库时间 2023-06-19 11:06:50

说明书

技术领域

本发明涉及视频传输技术领域,尤其涉及一种基于Zynq异构平台的超低延时视频传输方法及其装置。

背景技术

视频编解码系统在视频监控,分布式显示控制,无人机图传等视频传输领域有着广泛的需求,传统的视频编解码SOC芯片构成的解决方案在编解码视频的整个流程中,因为处理器流水线式的处理数据,按视频帧级别的处理流程,在流水线的每个环节都有可能引进视频帧的帧间隔级别延时,因此传统的视频编解码系统的端到端传输时延普通较高。

发明内容

针对现有技术的不足,本发明提供了一种基于Zynq异构平台的超低延时视频传输方法及其装置,解决了传统SOC视频编解码芯片解决方案中传输延时缺点的问题,实现了一套低延时的端到端视频传输系统装置,相比传统的音视频传输系统延时显著降低,实现除去网络传输延时以外的整体延时到达2个帧间隔时间以内。

为解决上述技术问题,本发明提供了如下技术方案:一种基于Zynq异构平台的超低延时视频传输装置,包括实现采集编码的发送端设备以及实现解码显示的接收端设备,通过应用Zynq芯片的片内的高速总线,充分发挥了Zynq软硬件皆可编程的优势,在视频数据开始从视频接口输入采集时,就开始把一帧视频数据划分成2

进一步地,所述发送端设备由第一Zynq PL模块、第一DDR模块和第一Zynq PS等模块。

进一步地,所述第一Zynq PL模块包含视频编码模块、视频预处理模块和子帧同步DMA模块。

进一步地,所述第一Zynq PL模块中的子帧同步DMA模块把经过预处理的HDMI、SDI或MIPI等类型接口输入的视频数据按配置划分的视频子帧的方式分批写入第一DDR模块内存。

进一步地,所述视频编码模块通过子帧同步DMA模块读取已存入第一DDR模块内存的视频子帧数据,视频编码模块把编码完成后的视频码流通过Zynq芯片的片内高速总线写入到第一DDR模块内存。

进一步地,所述第一Zynq PS模块中的ARM处理器通过软件实现对写入到DDR内存的视频码流数据打包发送。

进一步地,所述接收端设备包含第二Zynq PS模块、第二DDR模块和第二Zynq PL模块构成。

进一步地,所述第二Zynq PL模块包含视频解码模块、显示同步DMA和显示模块。

进一步地,所述第二Zynq PS模块侧的ARM处理器对RTP视频码流数据包解封装后,把解封装后的视频码流数据写入第二DDR模块。

进一步地,所述视频解码模块读取第二DDR模块内存中的视频码流数据,通过视频解码模块解码后的视频子帧数据通过显示同步DMA写入DDR内存中。

进一步地,所述显示同步DMA模块通过上一帧视频数据的场消隐时间戳预估当前帧视频数据的解码完成时间,如果根据预测等待当前帧场消隐到达的时间超过一半帧间间隔时间,则显示同步DMA模块读取内存中已经完成解码的当前视频数据通过显示模块开始启动当前帧显示,通过第二Zynq PL模块侧的HDMI、SDI或MIPI等视频接口显示输出;如果根据预测等待当前帧场消隐到达的时间小于一半帧间间隔时间,则显示同步DMA模块等待直到满足一半帧间间隔时间后开始读取内存中的当前帧视频数据,这个半帧的帧间隔时间为解码模块提供足够的时间来完成整个视频帧的解码与写入到第二DDR模块内存的操作,从而在当前视频帧显示之前总能提前半帧帧间隔时间来显示当前视频帧。

一种基于Zynq异构平台的超低延时视频传输方法,包括发送端设备的视频数据采集编码发送流程以及接收端设备的视频数据接收解码显示流程;

一、发送端设备的视频数据采集编码发送流程

S1、采集端把通过Zynq PL侧的输入的HDMI,SDI,MIPI等类型视频接口的视频数据,经过视频预处理后,输送到Zynq PL中实现的子帧同步DMA模块;

S2、子帧同步DMA模块把输入的视频数据帧按配置划分成2

S3、当下一个子帧再次完成写入DDR内存时,再次产生一个子帧数据写入完成中断,直到一帧数据完成,产生一个帧写入完成中断,如此一帧帧视频数据循环;

S4、当Zynq PS侧的ARM处理器收到一个子帧数据已经完整的写入到DDR内存的中断时,根据设定的条件启动的视频编码模块开始通过子帧同步DMA读取内存中的子帧数据,并开始启动视频编码操作;

S5、当一个视频子帧编码完成时,把完成编码的子帧的数据存入内存,并产生相应中断通知ARM处理器进行下一步操作,同时编码模块通过子帧同步DMA发起下一个子帧的数据读取操作;假如下一个子帧已经完成写入到内存,则视频编码模块马上通过子帧同步DMA读取下一个子帧数据,如果下一个子帧还没完成写入到内存,则子帧同步DMA阻塞编码模块的下一个子帧数据的读取操作,直到子帧同步DMA通知下一个子帧数据已经完成写入到内存;如此循环;

S6、ARM处理器启动软件实现的视频码流数据网络打包发送模块,把打包后在RTP视频码流数据包通过网络发送给实现解码显示功能的接收端设备;

二、接收端设备的视频数据接收解码显示流程

S1、网络端口接收来自发送端设备发送过来的RTP视频码流数据包;

S2、Zynq PS侧在ARM处理器中对RTP视频数据包解封装后,把解封装后的视频码流数据存入DDR;

S3、启动PL侧的视频解码模块从内存读取视频码流数据进行视频解码操作;

S4、视频解码模块通过显示同步DMA模块把解码后在视频数据写入DDR内存;

S5、显示同步DMA模块通过上一帧视频数据的场消隐时间戳预估当前帧视频数据的解码完成时间;

S6、如果根据预测等待当前帧场消隐到达的时间超过一半帧间间隔时间,则显示同步DMA模块读取内存中已经完成解码的当前视频数据通过显示模块开始启动当前帧显示;

S7、如果根据预测等待当前帧场消隐到达的时间小于一半帧间间隔时间,则显示同步DMA模块等待直到满足一半帧间间隔时间后开始读取内存中的当前帧视频数据;

S8、等待的半个帧间隔时间为解码模块提供足够的时间来完成整个视频帧的解码与写入到DDR内存的操作,从而能提前半个帧间隔时间来显示当前视频帧。

本发明提供了一种基于Zynq异构平台的超低延时视频传输方法及其装置,具备以下有益效果:

1、本发明基于异构计算平台Zynq,利用PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,实现了一套低延时的端到端视频传输系统装置,相比传统的编解码SOC芯片加LINUX操作系统的音视频传输系统,延时显著降低,实现除去网络传输延时以外的整体延时到达2帧间隔时间以内。

2、本发明充分发挥了Zynq软硬件皆可编程的优势,应用片内的高速总线,在视频数据开始从视频接口输入采集时,就开始把一帧视频数据划分成2

3、本发明能够解决传统SOC视频编解码芯片解决方案中传输延时大的缺点,采用具有ARM加FPGA的架构的Zynq芯片,充分发挥Zynq PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,运用软硬件协同开发的方法,实现了超低延时编解码系统架构。

附图说明

图1为本发明发送端设备的视频数据采集编码发送流程示意图;

图2为本发明接收端设备的视频数据接收解码显示流程示意图。

图中:1、发送端设备;2、接收端设备;11、第一Zynq PL模块;12、第一DDR模块;13、第一Zynq PS模块;111、视频编码模块;112、视频预处理模块;113、子帧同步DMA模块;21、第二ZYNQ PS模块;22、第二DDR模块;23、第二Zynq PL模块;231、显示同步DMA;232、视频解码模块;233、显示模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-2,本发明提供了一种技术方案:一种基于Zynq异构平台的超低延时视频传输装置,包括实现采集编码的发送端设备1以及实现解码显示的接收端设备2,发送端设备1包含第一Zynq PL模块11、第一DDR模块12和第一Zynq PS模块13;第一Zynq PL模块11中功能单元包含有视频编码模块111、视频预处理模块112和子帧同步DMA模块113;输入视频数据通过第一Zynq PL模块11侧的HDMI、SDI或MIPI等类型视频接口的输入到第一ZynqPL模块11内,经过视频预处理模块112预处理后,传输到后一级的子帧同步DMA模块113,子帧同步DMA模块113按照预先设置好的配置,把输入的视频帧数据划分为分成2

接收端设备2包含第二Zynq PS模块21、第二DDR模块22和第二Zynq PL模块23;第二Zynq PL模块23中包含显示同步DMA模块231、视频解码模块232和显示模块233;第二ZynqPS模块21中ARM处理器对通过网口接收的RTP视频数据包解封装后,把解封装后在视频编码后码流数据写入第二DDR模块22;视频解码模块232读取已经存入第二DDR模块22码流数据,对读入的码流数据进行视频解码操作,解码完成后的视频数据通过显示同步DMA模块231写入第二DDR模块22内存中;显示同步DMA模块231通过上一帧视频数据的场消隐时间戳预估当前帧视频数据的解码完成时间,如果根据预测等待当前帧场消隐到达的时间超过一半帧间间隔时间,则显示模块开始读取内存中的当前视频帧数据,并通过二Zynq PL模块23侧的HDMI、SDI或MIPI等接口显示,如果根据预测等待当前帧场消隐到达的时间小于一半帧间间隔时间,则显示模块等待直到满足一半帧间间隔时间后开始启动显示当前视频帧,这个半帧的帧间隔时间为解码模块提供足够的时间来完成整个视频帧的解码与写入到第二DDR模块22内存中,从而在显示之前总能提前半帧帧间隔时间来显示视频帧。

通过应用Zynq片内的高速总线,充分发挥了Zynq软硬件皆可编程的优势,整个视频帧数据在采集、编码、传输、解码与显示过程中都是按配置设定的子帧级别,显著降低视频端到端传输延时。

一、发送端设备的视频数据采集编码发送流程

S1、采集端把通过Zynq PL侧的输入的HDMI,SDI,MIPI等类型视频接口的视频数据,经过视频预处理后,输送到Zynq PL中实现的子帧同步DMA模块;

S2、子帧同步DMA模块把输入的视频数据帧按配置划分成2

S3、当下一个子帧再次完成写入到DDR内存时,再次产生一个子帧数据写入完成中断,直到一帧数据完成,产生一个完整帧写入完成中断,如此一帧帧视频数据循环;

S4、当Zynq PS侧的ARM处理器收到一个子帧数据已经完整的写入到DDR内存的中断时,根据设定的条件视频编码模块开始读取内存中的子帧数据,并开始启动视频编码操作;

S5、当一个视频子帧编码完成时,把完成编码的子帧的码流数据写入内存,并产生相应中断通知ARM处理器进行下一步操作,同时编码模块通过子帧同步DMA发起下一个子帧的数据读取操作;假如下一个子帧已经完成写入到内存,则视频编码模块马上通过子帧同步DMA读取下一个子帧数据,如果下一个子帧还没完成写入到内存,则子帧同步DMA阻塞编码模块的下一个子帧数据的读取操作,直到子帧同步DMA通知下一个子帧数据已经完成写入到内存;如此循环;

S6、ARM处理器启动软件实现的视频码流数据网络打包发送模块,并把打包后在RTP视频数据包通过网络发送给实现解码显示功能的接收端设备;

二、接收端设备的视频数据接收解码显示流程

S1、网络端口接收来自发送端设备发送过来的RTP视频数据包;

S2、Zynq PS侧在ARM处理器中对RTP视频数据包解封装后,把解封装后的视频码流数据存入DDR;

S3、启动Zynq PL侧的视频解码模块从内存读取视频码流数据进行视频解码操作;

S4、显示同步DMA模块把解码后的视频数据写入DDR内存;

S5、显示同步DMA模块通过上一帧视频数据的场消隐时间戳预估当前帧视频数据的解码完成时间;

S6、如果根据预测等待当前帧场消隐到达的时间超过一半帧间间隔时间,则显示同步DMA模块读取内存中已经完成解码的当前视频数据通过显示模块开始启动当前帧显示;

S7、如果根据预测等待当前帧场消隐到达的时间小于一半帧间间隔时间,则显示同步DMA模块等待直到满足一半帧间间隔时间后开始读取内存中的当前帧视频数据;

S8、等待的半个帧间隔时间为解码模块提供足够的时间来完成整个视频帧的解码与写入到DDR内存的操作,从而能提前半个帧间隔时间来显示当前视频帧。

本发明能够解决传统SOC视频编解码芯片解决方案中传输延时的缺点,采用具有ARM加FPGA的架构的Zynq芯片,充分发挥Zynq PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,运用软硬件协同开发的方法,实现了超低延时编解码系统架构。

视频编解码传输系统整体端到端主要的延时分类:

帧间时间:指的是两帧视频之间的间隔时间,60FPS的视频帧间隔为16.67ms。

采集时间:指的是把视频数据采集到linux用户内存空间的时间,为了视频的流畅性通常需要缓存3个以上视频帧BUFFER。

编码时间:指从LINUX用户内存空间发送视频到视频编码完成的时间。

传输时间:是指发送设备发送出去到接受设备接受到这一时间端,这个时间依据实际网络情况不同而不同,通常稳定的局域网环境为1ms以下。

解码时间:为从LINUX用户空间发送数据到解码模块开始,到当前视频帧解码完成,并把解码后的数据写入到LINUX用户空间内存的完成时间;通常因网络接收视频数据到达的时间准确度无法预估,所以在解码视频帧之前存在3个去抖动的缓存BUFFER,达到保证视频流畅的效果。

显示时间:是指从LINUX用户空间发送视频帧数据到显示模块去显示的时间。

传统编解码SOC芯片加Linux操作系统在局域网环境对于视频帧率为60FPS的延时估算,所有单位都为毫秒(ms)。

本方案编码端视频帧划分为16个子帧(N=4)在局域网环境对于视频帧率为60FPS的延时估算,所有单位都为毫秒(ms)。

通过整体端到端延时的计算,本方案延时优势非常明显。

本发明的有益效果为:本发明基于异构计算平台Zynq,利用芯片中PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,实现了一套低延时的端到端视频传输系统装置,相比传统的编解码SOC芯片加LINUX操作系统的音视频传输系统,延时显著降低,实现除去网络传输延时以外的整体延时到达2个帧间隔时间以内。

本发明充分发挥了Zynq软硬件皆可编程的优势,应用Zynq片内的高速总线,在视频数据开始从视频接口输入采集时,就开始把一帧视频数据划分成2

本发明能够解决传统SOC视频编解码芯片解决方案中传输延时的缺点,采用具有ARM加FPGA的架构的Zynq芯片,充分发挥Zynq PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,运用软硬件协同开发的方法,实现了超低延时编解码系统架构。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号