CN111757034A - 一种基于fpga的视频同步显示方法、装置和存储介质 - Google Patents
一种基于fpga的视频同步显示方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111757034A CN111757034A CN201910236573.7A CN201910236573A CN111757034A CN 111757034 A CN111757034 A CN 111757034A CN 201910236573 A CN201910236573 A CN 201910236573A CN 111757034 A CN111757034 A CN 111757034A
- Authority
- CN
- China
- Prior art keywords
- video data
- ping
- video
- hdmi
- pong buffer
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/06—Generation of synchronising signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
Abstract
本发明提出一种基于FPGA的视频同步显示方法、装置和存储介质,包括:视频数据经输入端乒乓缓存写入存储模块,发送HDMI信号至显示端,触发该显示端产生HDMI时序;该HDMI信号中具有行同步命令,该显示端根据每接收一个该行同步命令即从该存储模块中接收一行视频数据到输出端乒乓缓存,直到该输出端乒乓缓存缓存一张完整图像;该显示端在该HDMI时序驱动下读取该完整图像,以播放该完整图像。本发明通过视频的行存取技术和精确控制读写从而保证视频能能在低延时下稳定显示。
Description
技术领域
该发明创造属于视频图像处理领域,并特别涉及一种基于FPGA的视频同步显示方法、装置和存储介质。
背景技术
随着现代社会视频技术的飞速发展,人们对视频的清晰度、流畅性及实时性提出了更高要求,这就要求视频处理设备具有高速数据处理能力,并具有应对视频数据突发的同步显示装置。突发是指由于网络不稳定,输出给显示模块的数据不能保证固定时序,因此为突发的视频数据。此处突发的含义为,视频数据在时间上不稳定。
视频同步装置用于实现视频数据的位宽匹配、时钟域匹配、速率匹配、数据重排序等功能。
以往技术对前端输入的视频数据使用FPGA内部集成块随机存取存储器BRAM资源对有限个片(slice)数据存储,如此当前端数据流量严格按照90fps输入时,显示端能够正常播放视频。Slice:片,一帧可以划分为多个slice数据,slice数据之间没有依赖关系,独立存在。而当前端输入视频数据流量出现抖动,小于90fps,写入数据速度不足以支撑数据获取速度时,进而相同的slice数据重复获取并显示,视频不能正常播放。即采用fpga内部集成的BRAM资源缓存若干slice数据,由于BRAM资源有限,当前端输入视频数据过慢写入数据速度不足以支撑数据获取速度,没有新的slice数据更新双口缓存器DPRAM,其可以在写操作的同时,进行读操作DPRAM中数据,由于DPRAM的BRAM资源有限,仅做极少数量的slice数据缓存,例如4个slice数据缓存,在FPGA中,BRAM的资源是有限的。以XILINX FPGA型号ZU4CG为例,其BRAM为4.5Mb。因此FPGA型号一定时,缓存的slice数量就是一定的。当前端视频数据传输速率波动较大时,无法保证视频数据正常同步,出现画面重叠等现象。
发明内容
针对现有技术的不足,本发明提出一种基于FPGA的视频同步显示方法,其中包括:
步骤1、视频数据经输入端乒乓缓存写入存储模块,发送HDMI信号至显示端,触发该显示端产生HDMI时序;
步骤2、该HDMI信号中具有行同步命令,该显示端根据每接收一个该行同步命令即从该存储模块中接收一行视频数据到输出端乒乓缓存,直到该输出端乒乓缓存缓存一张完整图像;
步骤3、该显示端在该HDMI时序驱动下读取该完整图像,以播放该完整图像。
所述的基于FPGA的视频同步显示方法,其中该存储模块,用于视频数据存储,包括DDR控制器和DDR4内存颗粒,该DDR控制器采用XILINX IP核,用于DDR命令控制及多端口仲裁,该DDR4内存颗粒用于存储视频数据中的图数据,存储结构采用顺序存储。
所述的基于FPGA的视频同步显示方法,其中该输入端乒乓缓存,用于接收并存储该视频数据,按照AXI4协议将该视频数据传输给该DDR控制器,AXI4总线采用突发式操作机制,遵循4KB边界原则。
所述的基于FPGA的视频同步显示方法,其中判断是否该输入端乒乓缓存溢出或该视频数据间DDR读写地址重合,若是,则反馈反推信号给前端逻辑,以暂停接收并存储该视频数据,否则释放反推信号,以接收并存储该视频数据至该输入端乒乓缓存。
本发明还提出了一种视频同步显示模块,其中包括:
模块1、视频数据经输入端乒乓缓存写入存储模块,发送HDMI信号至显示端,触发该显示端产生HDMI时序;
模块2、该HDMI信号中具有行同步命令,该显示端根据每接收一个该行同步命令即从该存储模块中接收一行视频数据到输出端乒乓缓存,直到该输出端乒乓缓存缓存一张完整图像;
模块3、该显示端在该HDMI时序驱动下读取该完整图像,以播放该完整图像。
所述的基于FPGA的视频同步显示装置,其中该存储模块,用于视频数据存储,包括DDR控制器和DDR4内存颗粒,该DDR控制器采用XILINX IP核,用于DDR命令控制及多端口仲裁,该DDR4内存颗粒用于存储视频数据中的图数据,存储结构采用顺序存储。
所述的基于FPGA的视频同步显示装置,其中该输入端乒乓缓存,用于接收并存储该视频数据,按照AXI4协议将该视频数据传输给该DDR控制器,AXI4总线采用突发式操作机制,遵循4KB边界原则。
所述的基于FPGA的视频同步显示装置,其中判断是否该输入端乒乓缓存溢出或该视频数据间DDR读写地址重合,若是,则反馈反推信号给前端逻辑,以暂停接收并存储该视频数据,否则释放反推信号,以接收并存储该视频数据至该输入端乒乓缓存。
本发明还提出了一种用于所述基于FPGA的视频同步显示装置的实施方法。
本发明还提出了一种存储介质,用于存储执行所述基于FPGA的视频同步显示方法的程序。
由以上方案可知,本发明的优点在于对数据存储的控制,由于输入视频数据和输出视频数据的时钟是不一样的,要实现视频数据的及时同步输出,目前有的一般是3帧缓存或1帧缓存,本发明实现的是视频的几行存取技术,然后通过精确控制读写从而保证视频能能在极低的延时下稳定显示。AXI4总线读写时钟频率300M Hz,数据位宽64bit,通过AXI4总线访问DDR带宽达双向19.2Gbps。本发明配置32MB DDR存储资源和128KB BRAM资源,实现了高速率,高实时的视频数据同步,已在3K/90fps环境下验证,画面流畅,画质清晰。
附图说明
图1为现有视频同步装置的结构图;
图2为本发明的结构图;
图3为DDR4存储数据结构示意图;
图4为视频数据反推时序图;
图5为读取DDR数据流程图。
符号说明:
DDR4:Double Data Rate 4;
axi4:Advanced Extensible Interface 4;
YUV:“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma);
RGB:red、green、blue;
HDMI:High Definition Multimedia Interface;
DPRAM:Double Port RAM;
I:input signal;
O:output signal;
clock:输入时钟;
data_en:输入视频数据使能;
push_back:输出反推信号;
T:一张图像包含slice的数量。
具体实施方式
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
无线VR应用中,前端实现编码、无线传输、解码功能,后端部分包括视频数据同步、显示功能。由于前端处理复杂度不同图像编解码耗时不同、无线传输网络不稳定性等因素导致后端得到的视频数据流量变得不稳定。单张图像内,经解码处理的视频数据到达本发明输入端有的slice数据提前到达,有的slice数据延后到达,输入端的视频数据不是按照slice编号大小顺序到达,而显示端则必须按照slice编号由小到大依次循环显示;多张图像间,输入端视频数据有的大于90fps,有的小于90fps,而显示端须按照标准90fps显示。本装置给出前端视频数据输入到显示的同步及转换方法。
本发明公开的高速视频数据的同步显示方法及装置,包括:DDR4、乒乓缓存、DDR控制器、AXI4写MASTER、AXI4读MASTER、YUV转RGB模块、HDMI时序发生器、HDMI发送器及视频显示单元。采用DDR4作为高速数据的缓存,数据反推机制控制视频数据写入DDR的写速率,采用垂直同步机制控制DDR的读速率,达到视频数据输入输出平衡效果,保证了视频的正常播放。本发明不采用DPRAM,因为其存储数据量太小。本发明不以DDR4内存为限,性能优于DDR4的内存,在FPGA支持的前提下都是可以的。
总体而言,视频数据经输入端乒乓缓存后,写入DDR4存储模块,当累计写入一帧图像像素数据的八分之一后,发送开始产生HDMI信号给显示端,触发显示端产生HDMI时序,显示端在HDMI时序驱动下读取DDR中数据,将数据进行乒乓缓存、YUV转RGB、HDMI发送模块处理,最终在视频显示单元播放。
关键模块功能描述如下:
存储模块:用于视频数据存储。包括DDR控制器、DDR4内存颗粒。DDR控制采用XILINX IP核,用于DDR命令控制及多端口仲裁,DDR4存储一张图数据,配置32MB memory,存储采用顺序存储结构方式,详见图3;
输入端:用于接收视频数据。对前端输入的YUV4:2:0视频数据送入乒乓缓存存储,并按照AXI4协议将数据传输给DDR控制器,AXI4总线采用突发式操作机制,遵循4KB边界原则。同时,当乒乓存储临近溢出或DDR读写地址重合时,反馈反推信号给前端逻辑,控制暂停视频数据输入,当乒乓存储有多余的存储空间且DDR读写地址不重合时,释放反推信号,只是可以接收视频数据,如此以达到控制流量的效果,反推时序见图2;乒乓存储临近溢出即乒乓存储器剩余有效存储空间小于设定值。由于前端输入的视频数据slice号可能不连续,所以判断DDR读写地址重合不能简单的判定DDR读写地址相等作为判定标准,本发明设定地址重合区设置为最大slice号差值的两倍,以防止写DDR地址跨越读DDR地址造成反推失效。设一张图像拆分为T个slice,视频数据最大slice号差值为Dmax,读DDR地址映射slice号为SNrd,写DDR地址映射slice号为SNwr。则DDR读写地址反推使能PBE表示如下:
(SNrd+Dmax)≤T且(SNrd-Dmax)≥0时,
PBE=SNwr<(SNrd+Dmax)&SNwr>(SNrd-Dmax);
(SNrd+Dmax)>T时,
PBE=SNwr<(T-SNrd-Dmax)|SNwr>(SNrd-Dmax);
(SNrd-Dmax)<0时,
PBE=SNwr<(SNrd+Dmax)|SNwr>(T+SNrd-Dmax);
显示端:该模块遵照HDMI时序。由AXI4读MASTER模块、HDMI时序发生器、乒乓缓存、YUV转RGB、HDMI发送模块、视频显示单元组成。来自输入端的开始产生HDMI使能控制HDMI时序发生器产生HDMI时序时刻。AXI4读MASTER模块产生主端AXI4读时序。将读取的数据存入乒乓缓存存储,按照HDMI timing将数据送给YUV转RGB模块处理,AXI4总线采用突发式操作机制,遵循4KB边界原则。
具体包括所述输入端接收slice总数超过16时,传递开始产生HDMI命令给显示端,显示端收到该命令后即开始产生HDMI时序,当HDMI的垂直同步有效时,预读DDR内存中SLICE数据,数据存储到乒乓缓存,每接收一个行同步命令即输出一行数据,一旦乒乓存储中有空闲存储时即预读DDR中数据填充所述空闲存储,直至一张完整的图像处理完成,读取DDR数据流程图见图5。YUV格式视频数据经YUV转RGB、并转串、串转并处理,最终在视频显示单元播放。显示端由AXI4读MASTER模块、HDMI时序发生器、乒乓缓存2、YUV转RGB、HDMI发送模块、视频显示单元组成。
AXI4读MASTER:用于产生主端AXI4读时序,AXI4总线采用突发式操作,遵循4KB边界原则;
HDMI时序发送器:用于产生HDMI时序;
乒乓存储2:用于显示端数据缓存;
YUV转RGB:用于YUV视频格式转换到RGB视频格式;
HDMI发送模块:用于视频数据并转串处理,xilinx公司ip;
视频显示单元:用于视频显示。
以下为与上述系统实施例对应的方法实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种视频同步显示模块,其中包括:
模块1、视频数据经输入端乒乓缓存写入存储模块,发送HDMI信号至显示端,触发该显示端产生HDMI时序;
模块2、该HDMI信号中具有行同步命令,该显示端根据每接收一个该行同步命令即从该存储模块中接收一行视频数据到输出端乒乓缓存,直到该输出端乒乓缓存缓存一张完整图像;
模块3、该显示端在该HDMI时序驱动下读取该完整图像,以播放该完整图像。
所述的基于FPGA的视频同步显示装置,其中该存储模块,用于视频数据存储,包括DDR控制器和DDR4内存颗粒,该DDR控制器采用XILINX IP核,用于DDR命令控制及多端口仲裁,该DDR4内存颗粒用于存储视频数据中的图数据,存储结构采用顺序存储。
所述的基于FPGA的视频同步显示装置,其中该输入端乒乓缓存,用于接收并存储该视频数据,按照AXI4协议将该视频数据传输给该DDR控制器,AXI4总线采用突发式操作机制,遵循4KB边界原则。
所述的基于FPGA的视频同步显示装置,其中判断是否该输入端乒乓缓存溢出或该视频数据间DDR读写地址重合,若是,则反馈反推信号给前端逻辑,以暂停接收并存储该视频数据,否则释放反推信号,以接收并存储该视频数据至该输入端乒乓缓存。
本发明还提出了一种用于所述基于FPGA的视频同步显示装置的实施方法。
本发明还提出了一种存储介质,用于存储执行所述基于FPGA的视频同步显示方法的程序。
Claims (10)
1.一种基于FPGA的视频同步显示方法,其特征在于,包括:
步骤1、视频数据经输入端乒乓缓存写入存储模块,发送HDMI信号至显示端,触发该显示端产生HDMI时序;
步骤2、该HDMI信号中具有行同步命令,该显示端根据每接收一个该行同步命令即从该存储模块中接收一行视频数据到输出端乒乓缓存,直到该输出端乒乓缓存缓存一张完整图像;
步骤3、该显示端在该HDMI时序驱动下读取该完整图像,以播放该完整图像。
2.如求权利要求1所述的基于FPGA的视频同步显示方法,其特征在于,该存储模块,用于视频数据存储,包括DDR控制器和DDR4内存颗粒,该DDR控制器采用XILINX IP核,用于DDR命令控制及多端口仲裁,该DDR4内存颗粒用于存储视频数据中的图数据,存储结构采用顺序存储。
3.如求权利要求2所述的基于FPGA的视频同步显示方法,其特征在于,该输入端乒乓缓存,用于接收并存储该视频数据,按照AXI4协议将该视频数据传输给该DDR控制器,AXI4总线采用突发式操作机制,遵循4KB边界原则。
4.如求权利要求3所述的基于FPGA的视频同步显示方法,其特征在于,判断是否该输入端乒乓缓存溢出或该视频数据间DDR读写地址重合,若是,则反馈反推信号给前端逻辑,以暂停接收并存储该视频数据,否则释放反推信号,以接收并存储该视频数据至该输入端乒乓缓存。
5.一种视频同步显示模块,其特征在于,包括:
模块1、视频数据经输入端乒乓缓存写入存储模块,发送HDMI信号至显示端,触发该显示端产生HDMI时序;
模块2、该HDMI信号中具有行同步命令,该显示端根据每接收一个该行同步命令即从该存储模块中接收一行视频数据到输出端乒乓缓存,直到该输出端乒乓缓存缓存一张完整图像;
模块3、该显示端在该HDMI时序驱动下读取该完整图像,以播放该完整图像。
6.如求权利要求1所述的基于FPGA的视频同步显示装置,其特征在于,该存储模块,用于视频数据存储,包括DDR控制器和DDR4内存颗粒,该DDR控制器采用XILINX IP核,用于DDR命令控制及多端口仲裁,该DDR4内存颗粒用于存储视频数据中的图数据,存储结构采用顺序存储。
7.如求权利要求2所述的基于FPGA的视频同步显示装置,其特征在于,该输入端乒乓缓存,用于接收并存储该视频数据,按照AXI4协议将该视频数据传输给该DDR控制器,AXI4总线采用突发式操作机制,遵循4KB边界原则。
8.如求权利要求3所述的基于FPGA的视频同步显示装置,其特征在于,判断是否该输入端乒乓缓存溢出或该视频数据间DDR读写地址重合,若是,则反馈反推信号给前端逻辑,以暂停接收并存储该视频数据,否则释放反推信号,以接收并存储该视频数据至该输入端乒乓缓存。
9.一种用于权利要求5至8中任意一种所述基于FPGA的视频同步显示装置的实施方法。
10.一种存储介质,用于存储执行权利要求1至4中任意一种基于FPGA的视频同步显示方法的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236573.7A CN111757034A (zh) | 2019-03-27 | 2019-03-27 | 一种基于fpga的视频同步显示方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236573.7A CN111757034A (zh) | 2019-03-27 | 2019-03-27 | 一种基于fpga的视频同步显示方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111757034A true CN111757034A (zh) | 2020-10-09 |
Family
ID=72671020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910236573.7A Pending CN111757034A (zh) | 2019-03-27 | 2019-03-27 | 一种基于fpga的视频同步显示方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111757034A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615537A (zh) * | 2020-11-24 | 2022-06-10 | 深圳市奥拓电子股份有限公司 | 一种零帧延时的视频控制系统及方法、led显示系统 |
CN114721983A (zh) * | 2022-04-13 | 2022-07-08 | 山东浪潮科学研究院有限公司 | 一种ddr4加速读写装置 |
-
2019
- 2019-03-27 CN CN201910236573.7A patent/CN111757034A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615537A (zh) * | 2020-11-24 | 2022-06-10 | 深圳市奥拓电子股份有限公司 | 一种零帧延时的视频控制系统及方法、led显示系统 |
CN114615537B (zh) * | 2020-11-24 | 2024-03-29 | 深圳市奥拓电子股份有限公司 | 一种零帧延时的视频控制系统及方法、led显示系统 |
CN114721983A (zh) * | 2022-04-13 | 2022-07-08 | 山东浪潮科学研究院有限公司 | 一种ddr4加速读写装置 |
CN114721983B (zh) * | 2022-04-13 | 2023-06-16 | 山东浪潮科学研究院有限公司 | 一种ddr4加速读写装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107493448A (zh) | 图像处理系统、图像显示方法及显示装置 | |
JP5695211B2 (ja) | ベースバンド映像データの送信装置および受信装置ならびに送受信システム | |
EP3644613A1 (en) | Video data processing method and video data processing device | |
CN111757034A (zh) | 一种基于fpga的视频同步显示方法、装置和存储介质 | |
WO2019080846A1 (zh) | 一种视频数据处理方法及视频数据处理装置 | |
CN115103208A (zh) | 一种视频数据的行缓存方法、行读取方法及处理系统 | |
CN112040284B (zh) | 多显示屏的同步显示控制方法、装置及存储介质 | |
CN102625086B (zh) | 一种用于高清数字矩阵的ddr2存储方法和系统 | |
CN105338277A (zh) | Dp视频信号的时序恢复装置及方法 | |
CN108134912B (zh) | 一种视频流转换方法 | |
CN109246475B (zh) | 一种视频处理系统 | |
CN110570793B (zh) | 一种适配不同类型显示屏的测试方法、装置及终端设备 | |
US8356331B2 (en) | Packet structure for a mobile display digital interface | |
CN107390893A (zh) | 基于fpga实现kvm切换器无闪烁切换的系统及方法 | |
JP4781688B2 (ja) | 映像信号伝送方法及び映像信号伝送装置 | |
CN102750244A (zh) | 分级缓冲的dma传送装置及传送方法 | |
CN114625891A (zh) | 多媒体数据处理方法、装置和系统 | |
CN112825563B (zh) | 视频处理方法及装置、视频处理设备 | |
US8345760B2 (en) | Information processing apparatus and information processing method | |
CA2685073C (en) | A packet structure for a mobile display digital interface | |
CN101359460A (zh) | 一种图像旋转显示控制方法和装置 | |
TW202002604A (zh) | 影像處理方法及電子設備 | |
KR102104327B1 (ko) | 저전력 lvds 영상 전송 시스템 | |
KR102048915B1 (ko) | 저전력 lvds 영상 전송 방법 | |
CN108234818B (zh) | 一种视频帧存轮寻操作算法的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201009 |
|
WD01 | Invention patent application deemed withdrawn after publication |