中博视清
        — Video&Image Codec FPGA/ASIC IP
   

zobovision随谈H.265/HEVC编码FPGA实现(一)

2022-06-19 20:19来源:原创作者:zobovision网址:http://www.zobovision.com


zobovision随谈H.265/HEVC编码FPGA实现(一)


   H.265/HEVC出来已有10年,但市场应用难言巅峰,

   正如古董级的H.264现在仍然大行其道,H.265的全面应用仍有待市场发酵,

   至少在硬件产品端应用,值得期待。

    一来H.265相对H.264而言,压缩技术确实要先进不少,不管是理论上还是实际效果方面;

    二是H.265相对后来者H.266/VVC等而言,实用性更强,性价比更高,

    产品端的应用讲究压缩性能和计算复杂度的平衡,

    H.266以10倍的计算复杂度换取压缩性能的有限提升,

    虽然现在的FPGA/ASIC器件规模越来越大,但依然实现代价巨大,实现成本代价高,

    而H.265,如同10年前看H.264,现在的H.265普及应用正当时。

   

    zobovision今天开始谈谈H.265/HEVC视频编码的FPGA实现,同样也适用于ASIC实现,

    只是泛泛而谈,一般不涉及具体实现。

    zobovision于2014年成立于深圳,

    专注视频图像编解码FPGA/ASIC IP研发和商用,编码为主,

    H.264/H.265/HEIF/H.266系列IP均有,偶有心得,和大家分享,一家之言,仅供参考。

   

    FPGA或ASIC实现编码,也可称之为硬编,这是相对软件编码而言;

    软编可利用的硬件资源固定,编码帧速主要取决于计算量大小,当然也有很多加速方法。

    硬编则大不同,

    需要用到多大的资源,能跑到多快的帧速,能有多好的压缩效率和压缩质量,

    完全取决于你的设计,不同的设计,千差万别,

    如同一张白纸上绘画,可以自由发挥,

    最好的设计当然是:资源最少,编码速度最快,压缩质量最好,还有最高的压缩效率。

    关键是,能做到吗?

    还是有可能的,

    前提是和他人作比较,这也许是硬编的一大魅力。

   

    FPGA实现H.265编码,难吗?

   

    可以说不难。

   

    H.265沿袭了视频编码一贯的框架,

    如果不考虑实现资源代价,不考虑编码速度和压缩效率,

   做起来倒也不难,简化版的H.265,会FPGA编程和硬件算法,大多能做。

   

    但,其实挺难。

   

    H.265较H.264的计算量增加10倍量级,即使简化后一般也有5/6倍,

   而影响编码速度的瓶颈,

    如帧内预测到DCTQ及重建的闭环串行通路,以及二进制算术编码CABAC串行计算等,

    却依然存在,

    通常硬编对编码速度有硬性要求,如1080P@60,

    在H.265计算量增加1个量级,且递归层次及选择项大增的情况下,

    如何达到既定编码速度,又要兼顾硬件逻辑资源和压缩效率的平衡,则并非易事。

    zobovision于2015年推出第一款商用H.265编码和解码FPGA IP,

    基于xilinx K7 325T FPGA器件平台,1080P@60规格,

    主要用于低延迟视频编解码,以及HEVC图片编解码应用,

    如今七年过去了,仍致力于IP的不断优化和升级,

    包括不同规格和应用以及不同FPGA器件平台的移植等,

    不同场景应用可能都有一些侧重点或者优化需求,

    有的侧重压缩效率和视频质量,需要更大规模的FPGA器件平台,

    有的侧重低延迟性能和高性价比FPGA器件,则可能需要适当牺牲压缩性能,

     诸如此类。


    FPGA硬编研发方向,可以归纳为两个不同方向:

    一个是硬件加速方向,

    大体上用于软件编码的加速,不讲究绝对速度或实时性,

    通常不牺牲视频压缩质量或压缩性能,有的还能提升,或配合软件进行,或独立进行,

    速度上较软编通常有很大的提升,但还达不到实时性编码的速度。

    另外一个方向则是全实时编码,如1080P@60,4K@60等,

    对编码速度有硬性要求,可以适当牺牲压缩性能,

    当然,能不损失压缩性能最好,

    甚至可能有超越的,可以当另类存在。

   

    不同的方向,设计思想和侧重点也迥异,

     架构不同,控制流程不同,差别较大。

   

     zobovision主要做实时编码,

      后续也将重点围绕FPGA H.265实时编码方向,深入的泛泛谈谈。

   

    (转载请勿更改文章标题和内容)