当前位置:首页 > 工业控制 > 电子设计自动化
[导读]1 引言 随着数字电视及视频会议的发展以及应用,H.264由于其更高的压缩比、更好的图像质量和良好的网络适应性而备受关注。 基于上下文的自适应二进制算术编码(CABAC)则作为H.264编码器系统的最后一环,对整个编码性

1 引言

随着数字电视及视频会议的发展以及应用,H.264由于其更高的压缩比、更好的图像质量和良好的网络适应性而备受关注。

基于上下文的自适应二进制算术编码(CABAC)则作为H.264编码器系统的最后一环,对整个编码性能影响较大。CABAC充分考虑视频流的相关性.能适应信号统计特性的变化,容易达到渐进性能,编码速度较高,但复杂度大,这造成单纯用软件编码难以达到很高的性能,特别是对于高清晰度视频(HDTV)不能实现实时编码,这就需要硬件加速或设计专门的硬件编码电路。

目前,已有相应的硬件加速电路设计问世,但主要是对算术编码部分进行设计,整体性能仍不够理想。这里在对以往加速电路分析的基础上,把握CABAC整个编码原理,主要对其中的二进制化部分进行优化,对相应的二进制化方法进行归类优化,采用并行运算的方案,最终在FPGA上以较优的速度和资源实现硬件编码。

2 二进制化原理

CABAC实现方案包括3个过程:语法元素的二进制化、上下文建模、自适应算术编码,图1是CABAC编码器基本结构。


二进制化是CABAC编码的第1步,提高二进制化模块的编码速度有助于整个系统速度的提高。在二进制化过程中,一个给定的非二进制语法元素被唯一地映射到一个二进制序列(Bin String),其中的每一位称为Bin。

如果输入为给定的二进制语法元素,则此步就可以越过,随后的步骤由编码模式决定。

在H.264标准中。语法元素较多,约有20多种,而二进制转换使这些语法元素的二进制表示接近最小冗余编码,以减少码流。

CABAC中二进制转换有4种基本类型:一元(U)编码、截断一元(TU)编码、指数哥伦布(EGK)编码和定长(FL)编码。另外,还可通过这几种编码方式的串联进行二进制化转换。

2.1 一元(U)二进制转换方案

对于一个无符号语法元素x≥0,CABAC中的一元码字是由x个“1”串连并在结尾处加上“0”,因此一元二进制化的长度是x+1,如表1所示,其中Binldx表示字符串的索引。一般来讲,U二进制转换主要用于参考帧队列预测语法元素的编码。


2.2 截断一元(TU)二进制转换方案

截断一元二进制化对语法元素的值有要求,只对不大于某个界限值(S)的语法元素进行二进制化。若语法元素值小于S,则其二进制化结果同一元二进制化;若语法元素值等于S,则其结果为S个“1”。一般,TU二进制转换主要用于帧内色度预测模式的编码。

2.3 指数哥伦布(EGK)二进制转换方案

EGK编码最初由Teuhola在上下文控制长度编码方案中提出,是由Golomb编码派生的。EGK编码由一个前缀和后缀码字串联构成,其前缀部分由一元码字l(x)=[log2(x/2k+1)]的值组成,其后缀部分由x+2k(1-2l(x))计算得出。一般,EGK二进制转换主要用于残差以外数据的编码,具体情形视编码器的设置而定。EGK二进制化随后取值的不同而不同,k的取值为非负整数。

2.4 固定长度(FL)二进制转换方案

固定长度二进制化适用于语法元素值x小于界限值S的情况。方法为直接用x值的二进制表示形式作为其二进制化结果,长度同定为:lFL=[log2S]的向上取值。一般,FL二进制转换被用于统一分配的语法元素,编码块的图形符号部分关系到亮度残差。

2.5 基本二进制转换的串联方案

由以上各种二进制方式可以再推导出3种基本的二进制转换方案。第1种是4位FL前缀与TU后缀(S=2)的串联,而第2和第3种方案来自TU和EGK二进制转换,称为UEGK。这些方案被用于运动矢量微分和变换系数取绝对值。另外语法元素mb_type和sub_mb_type二进制化使用遍历二叉树方法,对应的二叉树已在参考文献中给出。

3 二进制化编码方案优化

H.264标准中的二进制化编码流程是串行的,适合软件的实现,但由于待编语法元素较多,导致执行速度慢且效率低下。而硬件实现的最大优势在于其并行性,可大大提高执行效率。因此,为提高编码速度,在不改变算法实质的前提下,对标准中的编码流程进行相应优化,以利于硬件实现。主要提出以下优化措施:

(1)将语法元素归类按照基本的编码方法及H.264对各语法元素的要求,可将20余种语法元素的二进制编码方法归为6类,包括U二进制化、UEGKO二进制化(k=0,uco-eff=14)、UEGK3二进制化(k=3,ucoeff=9)、宏块/子宏块类型二进制化、宏块量化偏移二进制化,定长与截断串联的二进制化。将语法元素归类,将有效减小编码过程中的繁杂和无序性,有利于编码正常完成。

(2)并行化设计语法元素的二进制化方法可归为8类,在设计中,采用控制单元辨别相应的语法元素,并送入二进制化模块进行编码。但依照H.264标准设计,二进制化单元的入口地址不仅取决于语法元素的值,还取决于语法元素的种类,这种数据依存关系无疑增加了运算量。且输出是串行,不利于流水线设计,这样就将降低系统的时钟频率。故采用一种并行设计方案,以语法元素值为输入,结果得到6个不同的输出,将它们锁存后,利用多路选择器以语法元素种类作为控制端选出所需的值。两种不同的实现方式见图2。




来源:xinxin1次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

在数字信号处理和通信系统中,编码器扮演着至关重要的角色。它负责将原始数据转换为字符序列或二进制码序列,以实现信息的有效传输和处理。而在编码器的众多组成部分中,BAT(电池)信号不仅提供了编码器运行的必要电源,还承载着多种...

关键字: 数字信号 编码器 BAT

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

在这篇文章中,小编将对74LS148编码器的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 74LS148 编码器

一直以来,编码器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来编码器的相关介绍,详细内容请看下文。

关键字: 编码器 工业控制 机器人

编码器,作为一种广泛应用在信息处理、数据通信和自动化控制等领域的关键设备,其基本原理涉及信号转换与数据压缩的过程。编码器的主体功能是将物理量(如角度、位置、速度或线性位移)转换成对应的数字或电信号,以便于后续系统进行精确...

关键字: 编码器 自动化控制

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

IAR Embedded Workbench for Arm已全面支持小华半导体系列芯片,加速高端工控MCU和车用MCU应用的安全开发

关键字: MCU 编码器 电机驱动
关闭
关闭