基于FPGA的H.264视频编码端、解码端、传输装置及传输方法制造方法及图纸

技术编号:23710646 阅读:44 留言:0更新日期:2020-04-08 12:14
本发明专利技术提供了一种基于FPGA的H.264视频编码端、解码端、传输装置及传输方法。H.264视频编码端视频数据,H.264视频编码器接收视频数据并开始编码,每产生128字节编码数据即实时发出至AXI‑MM转AXI‑S模块,通过AXI‑MM转AXI‑S模块对编码数据进行处理后发送给UDP以太网发送模块,UDP以太网发送模块每128字节数据启动一次发送;H.264视频解码端的UDP以太网接收模块接收到压缩码流数据包后传输到AXI‑S转AXI‑MM模块中的RAM中缓存,AXI‑S转AXI‑MM模块检测到数据帧头后延迟3ms发出解码开始中断给解码端主控模块,解码端主控模块控制H.264视频解码器开始解码,H.264视频解码器从AXI‑S转AXI‑MM模块中的RAM中读取数据并解码输出视频。本发明专利技术显著降低编解码系统整体延迟,非常适合无线图传等较低带宽传输方式。

【技术实现步骤摘要】
基于FPGA的H.264视频编码端、解码端、传输装置及传输方法
本专利技术涉及FPGA图像编解码
,尤其是涉及一种可用于实时图像超低延迟传输的编码端、解码端、传输装置及传输方法。
技术介绍
随着视频技术不断发展,用户对视频压缩编码、低延迟编解码和传输的要求越来越高,尤其是需要实时操控的视频传输系统,对整体延迟的需求一般低于100ms,而且延迟越低会带来越良好的操控感受。目前普遍使用的是基于ARM核心的编解码处理器,功能较为完备,但未针对低延迟的应用作优化,延迟一般为100~300ms,广泛使用在摄像头、运动相机、录像机等对延迟不敏感的产品中。由于FPGA本身具有强大的并行处理能力和高度可定制能力,基于FPGA的视频编解码器相对于基于ARM核心的编解码处理器编解码延迟大幅降低,一般能做到整体延迟不超过80ms。
技术实现思路
针对现有视频编解码系统中难以实现的超低延迟问题,本专利技术提供了一种基于FPGA的H.264视频编码端、解码端、传输装置及传输方法。本专利技术首先提供一种基于FPGA的H.264视频编码端,包括:主控模块,用于初始化H.264视频编码器,并控制H.264视频编码器进行编码;H.264视频编码器,在主控模块的控制下对视频数据进行编码,每产生128字节编码数据即实时发出至AXI-MM转AXI-S模块;DDR模块,将H.264视频编码器的读写数据写入/读出DDR;AXI-MM转AXI-S模块,将H.264视频编码器输出的编码数据由AXI-MM接口转为AXI-S接口后发送到UDP以太网发送模块;UDP以太网发送模块,将编码数据打包为UDPIP网络数据包,并每128字节数据启动一次发送。在基于FPGA的H.264视频编码端中,AXI-MM转AXI-S模块将H.264视频编码器输出的编码数据由AXI-MM32bit接口转换为AXI-S8bit接口,且模块内部由FIFO实现32bit到8bit的数据位宽转换。本专利技术还提供了一种基于FPGA的H.264视频解码端,包括:UDP以太网接收模块,接收权利要求1所述H.264视频编码端输出的压缩码流数据包,并将接收到的压缩码流数据包传输给AXI-S转AXI-MM模块;AXI-S转AXI-MM模块,将接收到数据由AXI-S转换为H.264视频解码端的AXI-MM接口,并检测编码数据帧头,检测到数据帧头后延迟3ms发出解码开始中断给主控模块;主控模块,用于初始化H.264视频解码器,并控制H.264视频解码器进行解码;H.264视频解码器,在主控模块的控制下对视频数据进行解码,其中解码输入数据从AXI-S转AXI-MM模块中的RAM中读取;DDR模块,用于将H.264视频解码器的读写数据写入/读出DDR。在基于FPGA的H.264视频解码端中,AXI-S转AXI-MM模块,将接收到数据由AXI-S8bit接口转换AXI-MM32bit接口,模块内部由RAM实现8bit到32bit的数据位宽转换。本专利技术还提供一种基于FPGA的H.264视频编码端到解码端的实时数据传输装置,包括上述任一种基于FPGA的H.264视频编码端以及基于FPGA的H.264视频解码端。本专利技术提供一种基于FPGA的H.264视频编码端到解码端的实时数据传输方法,包括:H.264视频编码端的H.264视频编码器接收视频数据并开始编码,每产生128字节编码数据即实时发出至AXI-MM转AXI-S模块,通过AXI-MM转AXI-S模块对编码数据进行接口和位宽转换后发送给UDP以太网发送模块,UDP以太网发送模块每128字节数据启动一次发送;H.264视频解码端的UDP以太网接收模块接收到压缩码流数据包后传输到AXI-S转AXI-MM模块进行接口和位宽转换后在AXI-S转AXI-MM模块的RAM中缓存,AXI-S转AXI-MM模块检测到数据帧头后延迟3ms发出解码开始中断给解码端主控模块,解码端主控模块控制H.264视频解码器开始解码,H.264视频解码器从AXI-S转AXI-MM模块中的RAM中读取数据进行解码并输出视频数据。本专利技术基于FPGA的H.264视频编码端以及基于FPGA的H.264视频解码端的UDP以太网发送模块之间的以太网传输协议采用UDP协议,每个数据包有效数据载荷长度为128字节。基于FPGA的H.264视频编码端中,H.264视频编码器的输出压缩码流不经过DDR缓存,直接通过自定义AXI-MM转AXI-S模块发送到编码端中的UDP以太网接收模块。本专利技术的有益效果包括:在编码器编码的过程中实时地将压缩码流发送出去,发送出第一个数据包后解码器即可开始解码,大大降低了编码加解码延迟,并且将发送数据的时间段较为均匀地分布在整个时间段中,降低峰值传输带宽需求,在无线图传等较低带宽的应用中效果明显;同时减少了编码对DDR的读写操作,降低了对DDR带宽的需求,也大大降低了FPGA的资源消耗。该方法显著降低编解码系统整体延迟,非常适合无线图传等较低带宽传输方式。附图说明图1为一个实施例中的功能模块框图;图2为逻辑分析仪采集到的时序图。从图中可以看出,视频输入开始时刻到解码输出开始时刻延时为3ms,由于最终输出显示需要整理为本地时钟源时序,与编码端时钟不同源,因此视频输入开始时刻到显示输出开始时刻不固定,范围在3ms-36.3ms。编码到解码整体延迟不超过40ms。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本专利技术所揭示内容的精神,任何所属
技术人员在了解本
技术实现思路
的实施例后,当可由本
技术实现思路
所教示的技术,加以改变及修饰,其并不脱离本
技术实现思路
的精神与范围。本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。实施例1:参照图1,本实施例提供一种基于FPGA的H.264视频编码端到解码端的实时数据传输装置,包括基于FPGA的H.264视频编码端以及基于FPGA的H.264视频解码端。所述基于FPGA的H.264视频编码端,包括:编码端主控模块,在FPGA中使用MB(Microblaze)处理器软核或ARM处理器硬核用于初始化H.264视频编码器,包括配置视频尺寸、编码压缩率等参数,并控制H.264视频编码器进行编码。H.264视频编码器,在编码端主控模块的控制下对视频数据进行编码,每产生128字节编码数据即实时发出至AXI-MM转AXI-S模块。编码端DDR模块,将H.264视频编码器的读写数据写入/读出编码端DDR。AXI-MM转AXI-S模块,将H.264视频编码器输出的编码数据由AXI-MM接口转为AXI-S接口后发送到UDP以太网发送模块。编码端UDP以太网发送模块,将编码数据打包为UDPIP网络数据包,并每128字节数据启动一次发送。...

【技术保护点】
1.基于FPGA的H.264视频编码端,其特征在于,包括:/n主控模块,用于初始化H.264视频编码器,并控制H.264视频编码器进行编码;/nH.264视频编码器,在主控模块的控制下对视频数据进行编码,每产生128字节编码数据即实时发出至AXI-MM转AXI-S模块;/nDDR模块,将H.264视频编码器的读写数据写入/读出DDR;/nAXI-MM转AXI-S模块,将H.264视频编码器输出的编码数据由AXI-MM接口转为AXI-S接口后发送到UDP以太网发送模块;/nUDP以太网发送模块,将编码数据打包为UDP IP网络数据包,并每128字节数据启动一次发送。/n

【技术特征摘要】
1.基于FPGA的H.264视频编码端,其特征在于,包括:
主控模块,用于初始化H.264视频编码器,并控制H.264视频编码器进行编码;
H.264视频编码器,在主控模块的控制下对视频数据进行编码,每产生128字节编码数据即实时发出至AXI-MM转AXI-S模块;
DDR模块,将H.264视频编码器的读写数据写入/读出DDR;
AXI-MM转AXI-S模块,将H.264视频编码器输出的编码数据由AXI-MM接口转为AXI-S接口后发送到UDP以太网发送模块;
UDP以太网发送模块,将编码数据打包为UDPIP网络数据包,并每128字节数据启动一次发送。


2.根据权利要求1所述的基于FPGA的H.264视频编码端,其特征在于,
AXI-MM转AXI-S模块将H.264视频编码器输出的编码数据由AXI-MM32bit接口转换为AXI-S8bit接口,模块内部由FIFO实现32bit到8bit的数据位宽转换。


3.基于FPGA的H.264视频解码端,其特征在于,包括:
UDP以太网接收模块,接收权利要求1所述H.264视频编码端输出的压缩码流数据包,并将接收到的压缩码流数据包传输给AXI-S转AXI-MM模块;
AXI-S转AXI-MM模块,将接收到数据由AXI-S转换为H.264视频解码端的AXI-MM接口,并检测编码数据帧头,检测到数据帧头后延迟3ms发出解码开始中断给主控模块;
主控模块,用于初始化H.264视频解码器,并控制H.264视频解码器进行解码;
H.264视频解码器,在主控模块的控制下对视频数据进行解码,其中解码输入数据从AXI-S转AXI-MM模块中的RAM中读取;
DDR模块,用于将H.264视频解码器的读写数据写入/读出DDR。


4.根据权利要求3所述的基于FPGA的H.264视频解码端,其特征在于:
AXI-S转AXI-MM模块,将接收到数据由AXI-S8bit接口转换AXI-MM32bit接口,模块内部由RAM实现8bit到32bit的数据位宽转换。


5.一种基于FPGA的H.264视频编码端到解码端的实时数据传输装置,其特征在于,包括基于FPGA的H.264视频编码端以及基于FPGA的H.264视频解码端;
所述基于FPGA的H.264视频编码端,包括:
编码端主控模块,用于初始化H.264视频编码器,并控制H.264视频编码器进行编码;
H.264视...

【专利技术属性】
技术研发人员:彭骁寒焦斌
申请(专利权)人:湖南君瀚信息技术有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1