H.264 IP core(纯FPGA)解决方案
H.264视频编解码是一个数字视频压缩标准,由VCEG(ITU-T Video Coding Experts Group)和MPEG(ISO/IEC Moving Picture Experts Group)联合组成的JVT(Joint Video Team)于2003年3月正式发布。H.264标准的主要目标就是在同等保真条件下,提高编码效率。这是一对矛盾,既然要求图像不失真,则图像传输的比特数就大,在网络带宽一定的情况下,图像信号传输的速度就快,因此,只有提高编码效率才能实现。
1.支持各种分辨率
视频分辨率配置灵活,可支持分辨率由FPGA的面积和资源而定,通过多个core的并行处理,可以很容易的支持诸如4K等高分辨率,单core支持的分辨率为1080P。并且支持各种非标分辨率,例如1024*1024等(为了兼容行业标准,分辨率一般为32的倍数,如分辨率不能为32的倍数,需要补齐为32的倍数)
2.支持各种帧率
帧率由分辨率所决定,单核可以支持1080P/30fps,720P/60fps,但可以通过多个核并行工作来支持更高帧率和分辨率,例如双核即可支持1080P/60fps,并且帧率完全同步于前端的采集设备。
3.编解码延迟低
在1080P/30fps的情况下,编码的延迟在30ms以下,解码的延迟在30ms以下,由编码,传输码流,到解码,所组成的完整过程中,延时为70ms左右。并可通过优化(例如32行即可开始编码)将帧生成时间和编码延时尽可能的重叠,以此进一步的降低延迟。
4.占用FPGA资源小
单核所占的资源中,LUT占用最多,大概为29000多个,其他的资源在占用率方面,均比LUT占比小。
5.码率控制灵活
针对特殊场景,例如带宽受限时,可以通过动态调整QP值(图像质量),将码流控制在要求的带宽之下。反之在带宽并不是决定性因素的时候,可以稳定QP值(图像质量),以达到较好的图像质量
6.超长GOP支持
可以256帧才编码一个I frame,削减码流带宽高峰,仍保持优秀的容错性
7.订制性强
可根据实际需求优化代码,提供例如局部QP(图像质量)增强等定制化的修改。