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

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

Info

Publication number
CN112866747A
CN112866747A CN202110004109.2A CN202110004109A CN112866747A CN 112866747 A CN112866747 A CN 112866747A CN 202110004109 A CN202110004109 A CN 202110004109A CN 112866747 A CN112866747 A CN 112866747A
Authority
CN
China
Prior art keywords
video
module
zynq
data
subframe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110004109.2A
Other languages
English (en)
Inventor
尹晓旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Junchuang Video Technology Co ltd
Original Assignee
Shenzhen Junchuang Video Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Junchuang Video Technology Co ltd filed Critical Shenzhen Junchuang Video Technology Co ltd
Priority to CN202110004109.2A priority Critical patent/CN112866747A/zh
Publication of CN112866747A publication Critical patent/CN112866747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

一种基于Zynq异构平台的超低延时视频传输方法及其装置
技术领域
本发明涉及视频传输技术领域,尤其涉及一种基于Zynq异构平台的超低延时视频传输方法及其装置。
背景技术
视频编解码系统在视频监控,分布式显示控制,无人机图传等视频传输领域有着广泛的需求,传统的视频编解码SOC芯片构成的解决方案在编解码视频的整个流程中,因为处理器流水线式的处理数据,按视频帧级别的处理流程,在流水线的每个环节都有可能引进视频帧的帧间隔级别延时,因此传统的视频编解码系统的端到端传输时延普通较高。
发明内容
针对现有技术的不足,本发明提供了一种基于Zynq异构平台的超低延时视频传输方法及其装置,解决了传统SOC视频编解码芯片解决方案中传输延时缺点的问题,实现了一套低延时的端到端视频传输系统装置,相比传统的音视频传输系统延时显著降低,实现除去网络传输延时以外的整体延时到达2个帧间隔时间以内。
为解决上述技术问题,本发明提供了如下技术方案:一种基于Zynq异构平台的超低延时视频传输装置,包括实现采集编码的发送端设备以及实现解码显示的接收端设备,通过应用Zynq芯片的片内的高速总线,充分发挥了Zynq软硬件皆可编程的优势,在视频数据开始从视频接口输入采集时,就开始把一帧视频数据划分成2N(N>=1)个子帧,利用ZynqPL逻辑单元设计了一个协同视频子帧数据采集与视频子帧编码的子帧同步DMA模块,以及协同视频子帧数据解码与视频数据显示的显示同步DMA模块,实现视频从采集、编码、传输、解码与显示的处理流水线都达到按预定划分的子帧级别,极大降低视频端到端传输的延时。
进一步地,所述发送端设备由第一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模块把输入的视频数据帧按配置划分成2N(N>=1)个子帧,当子帧同步DMA完成一个视频子帧数据写入到内存DDR时,产生一个子帧完成中断,通知ARM处理器目前已经完成一个子帧数据的写入;
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软硬件皆可编程的优势,应用片内的高速总线,在视频数据开始从视频接口输入采集时,就开始把一帧视频数据划分成2N(N>=1)个子帧,利用Zynq PL逻辑单元设计了一个协同视频子帧数据采集与视频子帧编码的子帧同步DMA,以及协同视频子帧数据解码与视频数据显示的显示同步DMA模块,实现视频从采集输入到解码显示的处理流水线都达到子帧级别,极大降低视频端到端传输的延时。
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按照预先设置好的配置,把输入的视频帧数据划分为分成2N(N>=1)个子帧,当子帧同步DMA模块113完成一个子帧大小的数据量写入第一DDR模块12时,视频编码模块111就会通过子帧同步DMA模块113去读取已经完成写入到第一DDR模块12的视频子帧模块,如果第一DDR模块12中没有完整的视频子帧模块数据,则子帧同步DMA模块113会阻塞视频编码模块111读取第一DDR模块12中的视频子帧数据,直到第一DDR模块12中有已经完整写入的视频子帧数据。视频编码模块111把编码完成的子帧视频码流数据写入第一DDR模块12,再通知第一Zynq PS模块13中的ARM处理器把这些视频码流数据打包成RTP数据包,然后通过第一Zynq PS模块13中的网口发送到接受端设备。
接收端设备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模块把输入的视频数据帧按配置划分成2N(N>=1)个子帧,当子帧同步DMA完成一个视频子帧数据写入到内存DDR时,产生一个子帧完成中断,通知ARM处理器目前已经完成写入一个子帧数据;
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.67*3 16.67 1 16.67*3 16.67 134.36
本方案编码端视频帧划分为16个子帧(N=4)在局域网环境对于视频帧率为60FPS的延时估算,所有单位都为毫秒(ms)。
采集时间 编码时间 网络传输时间 解码时间 显示时间 总延时
1*3 4 1 1*3 9 20
通过整体端到端延时的计算,本方案延时优势非常明显。
本发明的有益效果为:本发明基于异构计算平台Zynq,利用芯片中PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,实现了一套低延时的端到端视频传输系统装置,相比传统的编解码SOC芯片加LINUX操作系统的音视频传输系统,延时显著降低,实现除去网络传输延时以外的整体延时到达2个帧间隔时间以内。
本发明充分发挥了Zynq软硬件皆可编程的优势,应用Zynq片内的高速总线,在视频数据开始从视频接口输入采集时,就开始把一帧视频数据划分成2N(N>=1)个子帧,利用Zynq PL逻辑单元设计了一个协同视频子帧采集与视频子帧编码的子帧同步DMA模块,以及协同视频子帧数据解码与视频数据显示的显示同步DMA模块,实现视频从采集、编码、传输、解码与显示的处理流水线都达到按视频子帧级别处理,极大降低视频端到端传输的延时。
本发明能够解决传统SOC视频编解码芯片解决方案中传输延时的缺点,采用具有ARM加FPGA的架构的Zynq芯片,充分发挥Zynq PS与PL之间的高速总线,FPGA灵活可定制的并行计算与ARM处理器运行Linux操作系统的优势,运用软硬件协同开发的方法,实现了超低延时编解码系统架构。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (9)

1.一种基于Zynq异构平台的超低延时视频传输装置,包括实现采集编码的发送端设备(1)以及实现解码显示的接收端设备(2),其特征在于:通过Zynq 芯片中PS与PL片内的高速总线,充分发挥了Zynq软硬件皆可编程的优势,在视频数据开始从第一Zynq PL模块(11)侧的HDMI、SDI或MIPI等类型的视频接口输入采集时,就开始把一帧视频数据划分成2N(N>=1)个子帧,利用第一Zynq PL模块(11)中的可编程逻辑单元在发送端设备设计一个协同视频子帧采集与视频子帧编码的子帧同步DMA模块(113),从而使整个端到端传输过程中的采集、编码、传输、解码的处理流水线都是按发送端实际子帧同步DMA模块(113)中配置划分的视频子帧级别来处理视频数据;在接收端设备设计协同视频子帧解码与视频数据显示的显示同步DMA(231),所述显示同步DMA(231)把当前解码视频帧通过视频解码模块(232)解码后的数据写入第二DDR模块(22),当显示同步DMA(231)检查到上一帧视频已经显示完成过去一半帧间隔时间时,显示同步DMA(231)开始从第二DDR模块(22)读取已解码的当前视频帧数据到显示模块(233),显示模块(233)通过第二Zynq PL模块(23)侧的HDMI、SDI或MIPI等视频接口显示输出,显示部分减少半个帧间隔延时;整个视频帧数据在采集、编码、传输、解码的处理流水线中都是按子帧同步DMA模块(113)中配置设定的视频子帧级别。
2.根据权利要求1所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:所述发送端设备(1)包含属于Zynq芯片的第一Zynq PS模块(13)、属于Zynq芯片的第一Zynq PL模块(11)和外部存储器件第一DDR模块(12);所述第一Zynq PL模块(11)包含有视频编码模块(111)、视频预处理模块(112)和子帧同步DMA模块(113); 第一Zynq PS模块(13)与第一Zynq PL模块(11)通过Zynq片内高速总线连接,第一DDR模块(12)通过高速DDR总线与第一Zynq PS模块(13)连接,第一Zynq PL模块(11)通过Zynq芯片的片内高速总线与第一DDR模块(12)连接。
3.根据权利要求2所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:所述第一Zynq PL模块(11)中把输入的HDMI、SDI或MIPI等类型视频接口的视频数据划分成2N(N>=1)个子帧,通过子帧同步DMA模块(113)写入第一DDR模块(12)内存。
4.根据权利要求3所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:所述视频编码模块(111)通过子帧同步DMA模块(113)读取已经完成写入到第一DDR模块(12)内存的视频子帧数据,读取到的视频子帧数据经过视频编码模块(111)编码后再写入第一DDR模块(12)内存中,所述Zynq PS模块(13)中ARM处理器软件实现已经完成写入第一DDR模块(12)内存中的子帧视频编码后码流数据的打包发送操作。
5.根据权利要求1所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:所述接收端设备(2)包含属于Zynq芯片的第二Zynq PS模块(21)、属于Zynq芯片的第二Zynq PL模块(23)和外部存储器件第二DDR模块(22);所述第二Zynq PL模块(23)包含显示同步DMA(231)视频解码模块(232)和显示模块(233); 第二Zynq PS模块(21)与第二ZynqPL模块(23)通过Zynq片内高速总线连接,第二DDR模块(22)通过高速DDR总线与第二ZynqPS模块(21)连接,第二Zynq PL模块(23)通过Zynq芯片的片内高速总线与第二DDR模块(22)连接。
6.根据权利要求5所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:所述第二Zynq PS模块(21)在ARM处理器中对通过网络接收的RTP视频码流数据包解封装后,把解封装后在视频码流数据存入第二DDR模块(22)。
7.根据权利要求6所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:所述视频解码模块(232)通过Zynq片内高速总线读取第二DDR模块(22)中的待解码视频码流数据,所述视频解码模块(232)把完成解码后的视频子帧数据通过显示同步DMA(231)写入第二DDR模块(22)。
8.根据权利要求7所述的一种基于Zynq异构平台的超低延时视频传输装置,其特征在于:当所述显示同步DMA(231)检查到上一帧视频已经显示完成过去一半帧间隔时间时,显示同步DMA(231)开始从第二DDR模块(22)读取已解码的当前视频帧数据到显示模块(233),显示模块(233)通过第二Zynq PL模块(23)侧的HDMI、SDI或MIPI等视频接口显示输出。
9.一种基于Zynq异构平台的超低延时视频传输方法,其特征在于,包括发送端设备的视频数据采集编码发送流程以及接收端设备的视频数据接收解码显示流程;
一、发送端设备的视频数据采集编码发送流程
S1、采集端把通过Zynq PL侧的输入的HDMI,SDI,MIPI等类型视频接口的视频数据,经过视频预处理后,输送到Zynq PL中实现的子帧同步DMA模块;
S2、子帧同步DMA模块把输入的视频数据帧按配置划分成2N(N>=1)个子帧,当子帧同步DMA完成一个视频子帧数据写入到内存DDR时,产生一个子帧完成中断,通知ARM处理器目前已经完成一个子帧数据的写入;
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、启动PL侧的视频解码模块从内存读取视频码流数据进行视频解码操作;
S4、视频解码模块通过显示同步DMA模块把解码后在视频数据写入DDR内存;
S5、显示同步DMA模块通过上一帧视频数据的场消隐时间戳预估当前帧视频数据的解码完成时间;
S6、如果根据预测等待当前帧场消隐到达的时间超过一半帧间间隔时间,则显示同步DMA模块读取内存中已经完成解码的当前视频数据通过显示模块开始启动当前帧显示;
S7、如果根据预测等待当前帧场消隐到达的时间小于一半帧间间隔时间,则显示同步DMA模块等待直到满足一半帧间间隔时间后开始读取内存中的当前帧视频数据;
S8、等待的半个帧间隔时间为解码模块提供足够的时间来完成整个视频帧的解码与写入到DDR内存的操作,从而能提前半个帧间隔时间来显示当前视频帧。
CN202110004109.2A 2021-01-04 2021-01-04 一种基于Zynq异构平台的超低延时视频传输方法及其装置 Pending CN112866747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110004109.2A CN112866747A (zh) 2021-01-04 2021-01-04 一种基于Zynq异构平台的超低延时视频传输方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110004109.2A CN112866747A (zh) 2021-01-04 2021-01-04 一种基于Zynq异构平台的超低延时视频传输方法及其装置

Publications (1)

Publication Number Publication Date
CN112866747A true CN112866747A (zh) 2021-05-28

Family

ID=76001410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110004109.2A Pending CN112866747A (zh) 2021-01-04 2021-01-04 一种基于Zynq异构平台的超低延时视频传输方法及其装置

Country Status (1)

Country Link
CN (1) CN112866747A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113655740A (zh) * 2021-07-26 2021-11-16 五邑大学 传输系统采集数据的方法、装置、系统及存储介质
CN113672413A (zh) * 2021-10-25 2021-11-19 摩尔线程智能科技(北京)有限责任公司 独立显卡的数据流控制方法、装置和独立显卡
CN114286146A (zh) * 2021-12-08 2022-04-05 华特数字科技有限公司 一种基于云桌面技术的fpga音视频处理方法及系统
CN114285513A (zh) * 2021-11-22 2022-04-05 杭州当虹科技股份有限公司 一种支持无损ip信号长时间延时的延时器及方法
CN114286106A (zh) * 2021-12-29 2022-04-05 苏州长风航空电子有限公司 一种基于MPSoC的多路SDI视频极低延时编码系统及方法
CN115134629A (zh) * 2022-05-23 2022-09-30 阿里巴巴(中国)有限公司 视频传输方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412619A (zh) * 2013-07-30 2013-11-27 中国科学院上海技术物理研究所 一种异构多核的红外图像处理系统及方法
CN107241325A (zh) * 2017-06-05 2017-10-10 威创集团股份有限公司 一种ip视频超低延时传输方法及装置
CN108833932A (zh) * 2018-07-19 2018-11-16 湖南君瀚信息技术有限公司 一种实现高清视频超低延迟编解码及传输的方法及系统
CN109714586A (zh) * 2018-12-14 2019-05-03 上海物联网有限公司 基于zynq的实时双目立体视觉软硬件协同设计方法
CN210839882U (zh) * 2019-11-19 2020-06-23 湖南君瀚信息技术有限公司 一种低延时音频传输装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412619A (zh) * 2013-07-30 2013-11-27 中国科学院上海技术物理研究所 一种异构多核的红外图像处理系统及方法
CN107241325A (zh) * 2017-06-05 2017-10-10 威创集团股份有限公司 一种ip视频超低延时传输方法及装置
CN108833932A (zh) * 2018-07-19 2018-11-16 湖南君瀚信息技术有限公司 一种实现高清视频超低延迟编解码及传输的方法及系统
CN109714586A (zh) * 2018-12-14 2019-05-03 上海物联网有限公司 基于zynq的实时双目立体视觉软硬件协同设计方法
CN210839882U (zh) * 2019-11-19 2020-06-23 湖南君瀚信息技术有限公司 一种低延时音频传输装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113655740A (zh) * 2021-07-26 2021-11-16 五邑大学 传输系统采集数据的方法、装置、系统及存储介质
CN113655740B (zh) * 2021-07-26 2022-12-13 五邑大学 传输系统采集数据的方法、装置、系统及存储介质
CN113672413A (zh) * 2021-10-25 2021-11-19 摩尔线程智能科技(北京)有限责任公司 独立显卡的数据流控制方法、装置和独立显卡
CN113672413B (zh) * 2021-10-25 2022-02-11 摩尔线程智能科技(北京)有限责任公司 独立显卡的数据流控制方法、装置和独立显卡
CN114285513A (zh) * 2021-11-22 2022-04-05 杭州当虹科技股份有限公司 一种支持无损ip信号长时间延时的延时器及方法
CN114285513B (zh) * 2021-11-22 2023-10-27 杭州当虹科技股份有限公司 一种支持无损ip信号长时间延时的延时器及方法
CN114286146A (zh) * 2021-12-08 2022-04-05 华特数字科技有限公司 一种基于云桌面技术的fpga音视频处理方法及系统
CN114286106A (zh) * 2021-12-29 2022-04-05 苏州长风航空电子有限公司 一种基于MPSoC的多路SDI视频极低延时编码系统及方法
CN114286106B (zh) * 2021-12-29 2024-02-13 苏州长风航空电子有限公司 一种基于MPSoC的多路SDI视频极低延时编码系统
CN115134629A (zh) * 2022-05-23 2022-09-30 阿里巴巴(中国)有限公司 视频传输方法、系统、设备及存储介质
CN115134629B (zh) * 2022-05-23 2023-10-31 阿里巴巴(中国)有限公司 视频传输方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112866747A (zh) 一种基于Zynq异构平台的超低延时视频传输方法及其装置
CN110769206B (zh) 一种电子内窥镜信号传输方法、装置和系统及电子设备
CN101557512B (zh) 视频终端接收视频数据延时的处理方法
JPS59114945A (ja) デ−タ伝送方式における可変長メツセ−ジのエンコ−ダ及びデコ−ダ
US20230214338A1 (en) Data moving method, direct memory access apparatus and computer system
CN110769207B (zh) 一种电子内窥镜信号传输方法、装置和设备及系统
CN101303638A (zh) 多usb接口的高性能图像适配装置及其信号传输方法
CN109600532B (zh) 无人机多路视频无缝切换系统和方法
CN105516542A (zh) 基于硬件编码器的多通道视频同步系统及其同步方法
CN104333739A (zh) 拼墙系统回显装置和方法
CN103795980A (zh) 级联视频设备及其数据处理方法
CN111263164A (zh) 一种高帧频视频并行编码及重组方法
US6687305B1 (en) Receiver, CPU and decoder for digital broadcast
CN211909012U (zh) 拼接图像处理设备
CN106060425A (zh) 一种基于fpga的串行视频信号时钟恢复系统及方法
CN113051212B (zh) 图形处理器、数据传输方法、装置、电子设备和存储介质
CN112565778B (zh) 一种基于时间片管理的数据存取方法
US6868091B1 (en) Apparatus and method for depacketizing and aligning packetized input data
CN112995543B (zh) 分布式视频切换系统、方法、设备
CN113055081B (zh) 一种高可靠低开销的跨周期数据处理方法
CN114173054B (zh) 多帧频拼接视频源显示控制方法及其系统和led显示系统
CN114578962A (zh) 数据存储、数据显示方法、装置、设备、介质和程序产品
CN101540656B (zh) 用于ctcs点式应答器的解码装置和解码方法
CN114866733A (zh) 一种低延迟视频处理方法、系统及装置
CN102497514A (zh) 一种三通道视频转发设备和转发方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210528