华南理工大学学报(自然科学版) ›› 2023, Vol. 51 ›› Issue (8): 110-117.doi: 10.12141/j.issn.1000-565X.220350

所属专题: 2023年电子、通信与自动控制

• 电子、通信与自动控制 • 上一篇    下一篇

基于FPGA的HEVC熵编码语法元素硬件加速设计

林志坚 黄萍 郑明魁 陈平平   

  1. 福州大学 物理与信息工程学院,福建 福州 350108
  • 收稿日期:2022-06-06 出版日期:2023-08-25 发布日期:2023-03-07
  • 通信作者: 郑明魁(1976-),男,博士,副教授,主要从事视频编码、计算机视觉研究。 E-mail:zhengmk@fzu.edu.cn
  • 作者简介:林志坚(1984-),男,博士,副教授,主要从事视频编码、FPGA设计研究。E-mail:zlin@fzu.edu.cn
  • 基金资助:
    国家自然科学基金资助项目(61871132);福建省自然科学基金资助项目(2020J01466);2020年福建省高等学校科技创新团队(产业化专项);中国福建光电信息科学与技术创新实验室(闽都创新实验室)项目(2021ZR151)

Hardware Acceleration Design of HEVC Entropy Encoding Syntax Elements Based on FPGA

LIN Zhijian HUANG Ping ZHENG Mingkui CHEN Pingping   

  1. College of Physics and Information Engineering,Fuzhou University,Fuzhou 350108,Fujian,China
  • Received:2022-06-06 Online:2023-08-25 Published:2023-03-07
  • Contact: 郑明魁(1976-),男,博士,副教授,主要从事视频编码、计算机视觉研究。 E-mail:zhengmk@fzu.edu.cn
  • About author:林志坚(1984-),男,博士,副教授,主要从事视频编码、FPGA设计研究。E-mail:zlin@fzu.edu.cn
  • Supported by:
    the National Natural Science Foundation of China(61871132);the Natural Science Foundation of Fujian Province(2020J01466)

摘要:

高效视频编码标准(HEVC/H.265)是目前国际市场上广泛采用的视频编码标准。基于上下文自适应二进制算术编码(CABAC)作为HEVC熵编码的核心编码方式,通过建立更加精准的概率模型,提高了算术编码的压缩效率。此外,HEVC定义了更多种类的语法元素并建立更复杂的编码结构,进一步减少信息冗余,从而降低了码率。然而,语法元素作为CABAC的输入,其预处理过程的高复杂性,增加了硬件并行难度,导致熵编码硬件的吞吐率难以提高,成为HEVC编码器实现更高分辨率实时编码的瓶颈之一。为了进一步加快熵编码模块的速度,本文设计了一种基于现场可编程门阵列(FPGA)的高吞吐量CABAC熵编码架构。该架构提出的预头信息编码、上下文模型初始化和编码单元(CU)结构优化策略,可以加快语法元素的产生,以供自适应二进制算术编码器使用;通过高效的残差编码架构和部分上下文索引流水计算方案,在保持高吞吐量的同时,可以减少由复杂计算带来的路径延迟,提高工作频率。本设计使用90 nm标准单元库进行综合,共使用了2.099×104个逻辑门数,工作频率可以达到200 MHz。本文对HEVC官方提供的视频序列进行仿真测试,统计了在不同量化参数(QP)下编码1个编码树单元(CTU)所需要的时间,实验统计数据表明,本文设计使得编码1个CTU的时间平均节省了38.2%。

关键词: 熵编码, CABAC, FPGA, 吞吐率, 语法元素

Abstract:

High Efficiency Video Coding (HEVC/H.265) is a widely used video coding standard in the international market. As the core encoding method of HEVC video encoding, Context Adaptive Binary Arithmetic Coding (CABAC) can improve the compression efficiency of arithmetic coding by establishing a more accurate probability model. Moreover, HEVC defines a larger variety of syntax elements and establishes more complex coding structures, further reducing information redundancy and thus reducing the bit rate. However, as the input data to CABAC, syntax elements’ high complexity of preprocessing process increases the difficulty of hardware parallel processing. As a result, the throughput rate of entropy coding hardware is difficult to improve, which becomes one of the bottlenecks for HEVC encoder to achieve higher resolution real-time coding. To further speed up the entropy encoding modules, this study designed a high-throughput CABAC entropy encoding architecture based on FPGA. Within the architecture, the pre-header information coding, pre-initialization and coding unit (CU) are able to accelerate the generation of syntax elements, which is dedicated to CABAC. Due to the scheme of efficient residual coding and partial context index pipeline computing, the reduction of path latency and the improvement of operating frequency can be achieved as well as high throughput. In this study, the proposed design, which is synthesized by using a 90 nm standard cell library, occupies a total of 2.099×104 logic gates and operates in the frequency of 200 MHz. This paper also simulated the video sequence provided by HEVC official, and counted the time required for encoding a coding tree unit (CTU) under different quantitative parameters (QP). The experimental statistics show that the time of encoding a CTU was saved by 38.2% on average.

Key words: entropy encoding, CABAC, FPGA, throughput rate, syntax element

中图分类号: