H264AVC标准中的CABAC应用研究

合集下载

cabac编码过程的解读

cabac编码过程的解读

cabac编码过程的解读cabac编码过程的解读CABAC是H.264/AVC标准中两种熵编码方法中的一种,是将自适应的二进制算术编码与一个设计精良的上下文模型结合起来得到的方法。

它很好地利用了语法元素数值之间的高阶信息,使得熵编码的效率得到了进一步提高。

它的主要特点有:利用每个语法元素的上下文关系,根据已编码元素为待编码元素选择概率模型,即上下文建模;根据当前的统计特性自适应地进行概率估计;使用算术编码。

[5] 在CABAC中编码一个单独的句法元素的通用方框图。

这个编码过程主要由三个基本步骤组成:1、二值化;2、上下文建模;3、基于表格的二进制算术编码。

在第一步,一个给出的非二进制值的句法元素唯一地对应到一个二进制序列,叫二进制串。

当给出一个二进制值的句法元素时,这一初始步骤将被跳过,如图1所示。

对于每个元素的二进制串或每个二进制值的句法元素,后面会根据编码模式有一两个子步骤。

接下来就是对二元数据进行编码,标准中有两种编码模式可供选择。

在常规编码模式(regular coding mode)中,一个句法元素的每一个二进值(bin)按其判决产生的顺序进入上下文模型器,在这里,模型器根据已经编码过的句法元素或二进值为每一个输入的二进值分配一个概率模型,这就是上下文模型化。

然后该二进值和分配给它的概率模型一起被送进常规算术编码器进行编码,此外编码器还要根据该二元位的值反馈一个信息给上下文模型器,用以更新上下文模型,这就是编码中的自适应;另一种模式是旁路编码模式(bypass coding mode),在该模式中,没有模型器为每个二进值分配一个特定的概率模型,输入的二元数据是直接用一个简单的旁路编码器进行编码的,这样做是为了加快整个编码(以及另一端解码)的速度,当然,该模式只用于某些特殊的二进值。

后面将更加详细地讨论二值化,上下文建模与基于表格的二进制算术编码这三个主要步骤以及它们之间的相互联系。

2.2二值化CABAC的二值化方案有四种基本类型:一元码,截断一元码,k 阶指数哥伦布编码,与定长编码。

浅析H.264标准中的CAVLC编码

浅析H.264标准中的CAVLC编码

浅析H.264标准中的CA VLC编码[摘要]本文是在阅读了讲解H.264/A VC中熵编码相关内容的书籍后的感想,主要介绍了熵编码的基本原理,H.264/A VC中熵编码的方法,重点介绍了基于上下文自适应的可变长编码(CA VLC),并将它和基于上下文二进制算术编码(CABAC)进行了比较。

【关键词】熵编码;编码算法;编码比较H.264是在网络技术和视频业务不断发展的情况下产生的新一代视频压缩编码标准,它是由国际标准化组织与国际电讯联盟组成的联合视频小组开发的。

与原有标准相比,H.264提出了许多新技术,在诸多方面都超越了原有的视频技术,减少了占用的硬件资源,降低了实现复杂性。

其中就包括全新的熵编码技术。

1、熵编码编码使用长度不同的比特串对字母进行编码有一定的困难。

尤其是几乎所有几率的熵都是一个有理数。

使用整数位元(bit)哈夫曼编码建议了一种将位元进位成整数的算法,但这个算法在特定情况下无法达到最佳结果。

为此有人加以改进,提供最佳整数位元数。

这个算法使用二叉树来设立一个编码。

这个二叉树的终端节点代表被编码的字母,根节点代表使用的位元。

熵编码模型要确定每个字母的比特数算法需要尽可能精确地知道每个字母的出现机率。

模型的任务是提供这个数据。

模型的预言越好压缩的结果就越好。

此外模型必须在压缩和恢复时提出同样的数据。

在历史上有许多不同的模型。

静态模型静态模型在压缩前对整个文字进行分析计算每个字母的机率。

这个计算结果用于整个文字上。

优点:编码表只需计算一次,因此编码速度高。

除在解码时所需要的机率值外结果肯定不比原文长。

缺点:计算的机率必须附加在编码后的文字上,这使得整个结果加长。

计算的机率是整个文字的机率,因此无法对部分地区的有序数列进行优化。

动态模型在这个模型里机率随编码过程而不断变化。

多种算法可以达到这个目的:前向动态:机率按照已经被编码的字母来计算,每次一个字母被编码后它的机率就增高。

反向动态:在编码前计算每个字母在剩下的还未编码的部分的机率。

基于H.264的CABAC解码算法改进研究

基于H.264的CABAC解码算法改进研究
的 实用 价 值 。
关键 词 : H . 2 6 4 ; C A B A C ; 快速解码
An I mp r o v e d De c o d i n g Al g o r i t h m Re s e a r c h o f CABAC Ba s e d o n H. 2 6 4
摘 要 : 针对 H . 2 6 4 Ma i n p r o i f l e中 采用的C A B A C解码算法, 分别从逆二进制化数据查表、 常规解码器归一化
过程查找表和子 区间定位 查找表三个方面进行改进 , 避免 了之前表格查找及 分 支判 断耗 费大量的时间 , 并在一
定程度上减 少了存储 空间的使 用 , 降低 了解码时间。经过测试, 改进后的算法在速度上提 高了 4 5 %左右 , 有一定
概 率 分布 比较均 匀 的句法 元 素 ,如 mv d的后 缀值 和 C O e 伍c i e n t 中 的 标 志 位 等【 3 1 。 H. 2 6 4建 议 采 用 比 较 简 单 的旁路 编 码方 式 来 完成 编 码 ,而最 后 一个 句法 元素标 志位 采 用终 止编码 引擎编码 。
C A BA C 的 编码 处 理 过 程 ,编 码 过程 最 多 包 括 三 个 基 本 步 骤 :1 )二 进 制化 过 程 ; 2 )上下 文 建 模 ;
3 )二进 制算术 编码 引擎 。 C AB AC 中的算 术编 码 引擎 有三 种 : 普 通 编码
引擎 、 旁路 编码 引擎 和终 止编 码 引擎 。 普 通 编码 引
L I U J i a n — WU , S O NG Na
(E l e c t r o n i c a n d I n f o r ma t i o n E n g i n e e i r n g D e p a r t me n t , P u t i a n Un i v e r s i t y , P u t i a n F u j i a n 3 5 1 1 0 0 , C h i n a)

基于H.264/AVC标准的CABAC算法研究

基于H.264/AVC标准的CABAC算法研究
力 , 洁的设计 方式 和更好 的 网络适 应性 。在 相 同 简
适应 了 目前 国 内运 营商 接 入 网带 宽 非 常 有 限 的状 况 。与 以往 标准 相 比 , 2 4标 准使运动 图像 压缩 H. 6
技术 上升 到了一个 更 高的 阶段 , 较低 的带宽 上可 在
以提 供高质 的图像传 输 。
cltc n lg h ti c n en d wi n H.2 4 sa d r s rdcin I tafa ,Prdcin I trfa ,ICT l r aea a e h oo yta s o c r e t i h 6 tn ad :P e it n r— r o l e e it ne-rm ) o at n t s e
张 猛 黄继海
郑州
涂晨 阳
40 5 ) 5 0 2
( 防空 兵 指 挥 学 院


文 章 首 先 对 H. 6 / C标 准 进 行 了 简 要 介绍 , 后 分 析 了 H. 6 准 中 所 涉 及 到 的 关 键 技 术 : 间预 测 、 2 4 AV 然 2 4标 帧
帧 内 预测 、 C 变 换 以 及 熵 编码 技 术 等 , DT 重点 对基 于上 下 文 自适 应 的 二 进制 算 术 熵 编 码 ( AB C) 行 了研 究 。在 C B C C A 进 A A 上 下 文模 型 的建 立 , 预编 码 , 析 其概 率 模 型估 计 及 更 新 办 法 中对 基 于表 格 的二 进 制 算 术 编 码 ( 用 查 表 方 式 ) 行 了 重 点 分 利 进 研究 , 效 的 降 低算 法 复 杂 度 。 有 关键 词 H. 6/ C; A AC; 编 码 ; 法 复 杂度 2 4 AV C B 熵 算 T 316 P 0 .

H.264中CABAC解码器的硬件设计与实现

H.264中CABAC解码器的硬件设计与实现

度较 快 的 C B C硬件 加速 器 的设计 方案 ,并 最终 在 A A
FG P A上 实现 了这 一 设计 。
20 0 7年 第 6期 ( 第 2 ) 总 0期 1
维普资讯
有 线 电视 技 术
数字电视
所 示 。算 术解 码 部分 解 出一 个 比特 的值 , 每一 个句 解 法 元 素都 要调 用这 一过 程 。 H.6 在 2 4中二进 制算术 解
性 能 。H.6 2 4采 用 了两 种 熵编码 方 法 , 一 种 为基 于 第 上下 文 的变 长 编 码 ( A L C net A a t e C V C: o t — d pi x v V r be L n t o ig ,另 一种 则 是基 于 上 下文 的 ai l egh C dn ) a 二进 制算 术编 码 ( A A C net A a t e Bn r C B C: otx- d pi iay v
际标 准化 组织 (S 公 布 的新 一代 数字 视频 编码 标 准 IO)
2 C AC解 码 流 程 AB
二进 制 算术 编 码 之 所 以能 够 有 较 高 的编 码 效 率 是 因为 其 编码 思 想 是用 0到 1的 区 间上 的一 个 数来 表 示一个 字 符输人 流 , 它的本 质 是为 整个 输 人流 分 配
维普资讯
数字电视
有线 电视技术
孙 琦 仰 林 涛 周 开伦 焦孟 草 同济大学超大规模集成电路研究所
摘 要 : 了能 够 实 时解 高清 视 频 码 流 , 文 提 出了 一 种 高性 能 的 C B C 解 码 器 的 硬 件 设 计 方 案 。 化 了 二 进 制 算 为 本 A A 优 术 解 码 的 流 程 , 且 利 用 有 效 的流 水 线 机 制 和 良 好 的 存 储 系 统 , 大 地 提 高 了 解 码 速 度 , 到 了预 定 的 要 求 , 后 在 并 极 达 最

H_264中CABAC算法与CAVLC算法比较和改进

H_264中CABAC算法与CAVLC算法比较和改进
再看表 2,对于运动剧烈的 coastguard 序列,两 种编码方案处理得到的图像在亮度、色度、色差方面 的优劣分布较为均匀,很难分辨两种编码方式的优 劣。
从两表表现出的差异,我们可以得出,在 PSNR 方面,对于运动剧烈的图像序列,对两种编码方案选 择的要求不高。对于运动迟缓的图像序列,就要考虑 一下选择哪种熵编码方案了。
编码符号具有上下文相关性,利用已编码符号 提供的上下文信息,为编码符号选择合适的概率,这 就是上下文建模。利用上下文信息可以降低符号间 的冗余度,进一步提高编码效率。
CABAC 在编码前,编码器预先给出了 126 种不 同的基于上下文的模型和起始概率,降低了计算复 杂度,提高了编码效率。随着符号编码的进行,又不 断根据编码完成的符号更新符号出现的概率,以达 到自适应算术编码的目的,更高效地减少了冗余。
47.95
48.14
25
36.78
36.74
45.38
45.42
46.06
45.84
30
32.91
32.89
42.97
43.00
44.07
44.07
35
29.61
29.54
41.54
41.11
42.23
42.17
40
26.99
27.01Βιβλιοθήκη 40.0840.18
41.39
40.42
45
24.91
24.92
从表 1 可以看出, 运动缓慢的 foreman 序列,在 QP<30 时 ,CABAC 编 码 方 式 下 PSNR 值 多 高 于 CAVLC 下的 PSNR 值,QP≥30 时 CAVLC 编码方式 下的 PSNR 值多高于 CABAC 下的 PSNR 值。说明在 QP<30 时经 CABAC 编码压缩后输出图像质量优于 CAVLC 编码压缩后输出图像质量,QP≥30 时,经 CAVLC 编码压缩后输出图像质量优于 CABAC 编码 压缩后输出图像质量。

CABAC在H.264/AVC中的应用

CABAC在H.264/AVC中的应用
维普资讯
第 4卷 第 4期
20 0 6年 8月
信 息 与 电 子 工 程
I NFORM ATI ON AND ELECTRONI C ENGI NEERI NG
VO1 4。 . NO. 4 Au ,2 06 g. 0
C AC在 H.6 / VC中 的应 用 AB 2 4A
C dn ( A A )a d C ne tb a d A a t e V r b L n t o ig ( A C .B f ciey c mbnn o ig C B C n o tx- se d pi ai k— e gh C dn C VL ) y e e t l o iig v a v
( ol g f l cr n c n no mai nEn ie rn , i h a ie s t, h n d ih a 1 0 5 Ch n C l eo e t i sa d I fr t gn e i g S c u n Un v r i C e g uS c u n 6 0 6 。 i a) e E o o y
Ap lc t n o n e t b a d Ad p i eBi a y Art me i d n 2 4 AVC p i a i fCo t x - s e a tv n r ih t Co i gi H. 6 / o c n
M I Li g。 L n N n IFa g, H E a —h i Xi o a
ห้องสมุดไป่ตู้
Ab ta t Th meg n 2 4/ AVC vd oc dn t n a di e eo e ol b r tv l yt eI sr c: ee r ig H.6 i e o igsa d r sd v lp d c la o aieyb h TU- n Tad IO/I S EC.Th sa d r s e iis t o t p s f e to y o ig C ne t a e a t e e tn ad p c f w y e o n r p c d n : o tx—b s d Ad p i Bi a y e v n r Art me i ih tc

CAVLC和CABAC简介

CAVLC和CABAC简介

拖尾系数指值为+1/-1的系数,最大数目为3。

如果超过3个,那么只有最后三个被视为拖尾系数。

拖尾系数的数目被赋值到变量TrailingOnes。

非零系数包括所有的拖尾系数,其数目被赋值到变量TotalCoeffs)。

2. 计算nC(numberCurrent,当前块值)。

nC值由左边块的非零系数nA和上面块非零系数nB来确定,计算公式为:nC=round((nA+nB)/2);若nA存在nB不存在,则nC=nA;若nA不存在而nB存在,则nC=nB;若nA和nB都不存在,则nC=0。

nC值用于选择VLC编码表,如下图所示。

这里体现了上下文相关(contextadaptive)的特性,例如当nC值较小即周围块的非零系数较少时,就会选择比较短的码,从而实现了数据压缩。

3. 查表获得coff_token的编码。

根据之前编码和计算过程所得的变量TotalCoeffs、TrailingOnes和nC值可以查H.264标准附录CAVLC码表,即可得出coeff_token编码序列。

4. 编码每个拖尾系数的符号,按zig-zag的逆序进行编码。

每个符号用1个bit位来表示,0表示―+‖,1表示―—‖。

当拖尾系数超过三个时只有最后三个被认定为拖尾系数,引词编码顺序为从后向前编码。

5. 编码除拖尾系数之外非零系数的level(Levels)。

每个非零系数的level包括sign和magnitude,扫描顺序是逆zig-zag序。

level的编码由前缀(level_prefix)和后缀(level_suffix)组成。

前缀的长度在0到6之间,后缀的长度则可通过下面的步骤来确定:将后缀初始化为0。

(若非零系数的总数超过10且拖尾系数不到3,则初始化为1)。

编码频率最高(即按扫描序最后)的除拖尾系数之外的非零系数。

若这个系数的magnitude超过某个门槛值(threshold),则增加后缀的长度。

下表是门槛值的列表:6. 编码最后一个非零系数之前0的个数(totalZeos)。

H_264_AVC中的CABAC编码技术

H_264_AVC中的CABAC编码技术

H.264/AVC中的CABAC编码技术彭 芬(武汉职业技术学院电子信息工程系,湖北武汉430074)摘 要:CA BAC是新一代视频压缩算法标准H.264/A VC中采用的新熵编码技术,使用它可以有效提高编码效率,节约码流。

这里介绍了CA BAC编码中算术编码理论的原理和内容模型的基本类型,并以运动矢量差值M VD的编码方法为例详细分析了CABAC的编码过程。

关键词:CA BAC;二进制算术编码;内容模型;H.264/AV C中图分类号:T N919 文献标识码:A0 引言H.264/A VC标准是视频编码专家组(VCEG)和运动图像专家组(M PEG)组成的联合视频组(JV T)研究而成的,该标准于2003年3月正式获得批准。

H.264/A VC支持两种熵编码方法:可变长编码(VL C)和基于内容的自适应二进制算术编码(CA BAC)。

U VL C是从概率统计分布模型得出的,应用单一的码表,没有考虑编码符号间的相关性,不允许根据实际符号的统计特性进行调整。

而实际符号的统计特性会随着空间、时间、视频源、编码条件的变化而发生变化,U V LC用于编码中高比特率视频流信息时性能不理想。

然而高比特视频信息的低码率应用如因特网上的流媒体、无线网的视频传输及视频存储等呼之欲出,对视频压缩编码技术的编码效率提出了新的挑战。

基于内容的自适应二进制算术编码(CABAC)方法根据相邻块的情况进行当前块的编码,充分考虑编码符号间的相关性,可以达到更好的编码效率。

1 CABAC的编码原理1.1 二进制算术编码1.1.1 算术编码基本理论算术编码的基本原理是将编码的消息表示成实数0和1之间的一个区间,消息越长,编码表示它的区间就越小,表示这一区间所需的二进制位就越多。

算术编码机制由两个数区间下界和区间范围进行界定。

区间下界、区间范围的确定方法:新子区间的下界=前子区间的下界+当前符号的区间累计概率x前子区间的宽度。

新区间范围R新=R P(R新是新子区间的宽度,R是前子区间的宽度,P是当前符号的概率)对每一符号,算术编码器按步骤A和B进行处理。

高清H.264 CABAC解码器的优化设计

高清H.264 CABAC解码器的优化设计

高清H.264 CABAC解码器的优化设计
陈潜;杨秀芝
【期刊名称】《有线电视技术》
【年(卷),期】2014(000)009
【摘要】针对能够在FPGA上实现实时解码H.264/AVC高清晰视频序列码流的目标,本文提出了一种基于上下文的自适应二进制算术编码(CABAC)解码器的硬件设计结构,旨在解决解码过程中并行程度低,以及存储资源消耗大的问题。

该设计对解码流程中的存储结构和关键路径进行优化,并采用了硬件加速,从而显著地提高了CABAC的解码效率并充分利用了存储空间。

测试结果表明,该方案能够满足H.264/AVC高级档次高清视频序列实时解码系统的要求。

【总页数】4页(P46-49)
【作者】陈潜;杨秀芝
【作者单位】福州大学物理与信息工程学院;福州大学物理与信息工程学院
【正文语种】中文
【相关文献】
1.一种高效的H.264 CABAC解码器的VLSI结构 [J], 石迎波;李云松;张建龙
2.基于High Profile H.264的CABAC解码器的优化 [J], 李龙华;李贵勇;王帆
3.H.264解码器中CABAC硬件加速器的实现 [J], 洪佳华;林涛
4.H.264中CABAC解码器的硬件设计与实现 [J], 孙琦仰;林涛;周开伦;焦孟草
5.高清CABAC解码器的优化设计和实现 [J], 陈杰;丁丹丹;虞露
因版权原因,仅展示原文概要,查看原文内容请购买。

一种基于H.264 CABAC的视频加密方案

一种基于H.264 CABAC的视频加密方案
与 前 沿技 术研 究 计划 基 金 资 助 项 目(o 0 2 0 40 4 )河 南 省 N . 9 30 10 3, 高 等 学 校 青年 骨 干 教 师 资 助 计 划 项 目 , 南 省 教 育 厅 科 技 攻 关 河
项 目( o 0 0 5 0 2 ) N . 1 B 1 0 1 2
密处理 。
元编码的基础上设定了一个阈值 c a . M x 当语法元素值 C
小于c a 时, M x 编码方式与一元编码相同; 当语法元素值 C 等于c a 时, M x 所有码位全用“” 1表示 . a 为该语法元素 c x M 所能取得的最大值。
对截断一元编码的加密方式如下:
C =EuC_ ,i T it , ( l C )
C B C中的二进制化主要采用了一元编码( )截断 AA U、
段置乱算法【 这类算法虽然有较低的计算复杂度, 3 _ , 但是安
全性低于全部加密的算法。 压缩比也有所改变: 有在熵编
码过程中进行加密的方法 , 如多状态索引方法 这类算法 , 虽然计算复杂度低 , 对压缩比的影响较小 , 但在已知明文
攻击情况下是不安全的。这些方法各有优缺点, 而且它们
关键词 视频加密i 4熵编码iA A H2 ; 6 cB_ c
是计算复杂度很高: 有对 D T系数进行加密的方法, C 如分
1 引 言
H24是 20 年 3月发布的 目前最新的国际视频编 . 6 03 码标准。H24的编码模型与以往的标准没有本质的改 . 6 变。 但它采用了 1 精度运动估计 、x 整数变换 、A L / 8 44 CVC 和C B C等新技术.使得压缩效率和图像播放质量有了 AA 显著提高。 它的应用范围非常广阔, 既可用于视频会议、 可

x264中的CABAC编码

x264中的CABAC编码

x264中的CABAC编码x264中的CABAC编码很久没看264了,前几天突发奇想,想把264的熵编码方式改成全精细渐进模式。

虽然我知道有分级编码中也有了精细分级方式,但是我还是想试试。

当年硕士的时候,我就剩下CABAC、码流格式没看懂,当时碰到那一堆函数就气馁。

后来转到图像压缩,又不可避免的涉及到算术编码,后来花了大力气终于清楚了所以然。

较常规的CABAC方式,精细分级方式肯定会出现一定的性能下降,所以需要先看看CABAC利用了残差数据的那些统计特性,也正好补一下以前的空缺。

打开x264,搜索x264_macroblock_write_cabac函数,进入残差编码block_residual_write_cabac函数,首先是if( i_count != 64 ){x264_cabac_encode_decision( cb, 85 + x264_cabac_mb_cbf_ctxidxinc( h, i_ctxBlockCat, i_idx ), i_coeff != 0 );if( i_coeff == 0 )return;}这是判断残差块是否全为0,如果全为0则返回。

x264_cabac_encode_decision函数的第二个变量是算术编码的模板,第三个变量是所要算术编码的值。

for( i = 0; i < i_sigmap_size; i++ ){int i_sig_ctxIdxInc;int i_last_ctxIdxInc;if( i_ctxBlockCat == DCT_LUMA_8x8 ){i_sig_ctxIdxInc = significant_coeff_flag_offset_8x8[i];i_last_ctxIdxInc = last_coeff_flag_offset_8x8[i];}elsei_sig_ctxIdxInc = i_last_ctxIdxInc = i;x264_cabac_encode_decision( cb, i_ctx_sig + i_sig_ctxIdxInc, l[i] != 0 );if( l[i] != 0 )x264_cabac_encode_decision( cb, i_ctx_last + i_last_ctxIdxInc, i == i_last );}这是依次判断非零系数的位置,如果是非零系数,还要判断该数是否是最后一个非零系数。

CABAC在H_264_AVC中的应用

CABAC在H_264_AVC中的应用

第4卷 第4期信息与电子工程Vo1.4,No.4 2006年8月INFORMATION AND ELECTRONIC ENGINEERING Aug.,2006CABAC在H.264/AVC中的应用闵 玲,李 方,何小海(四川大学 电子信息学院,四川 成都 610065)摘 要:H.264/AVC是由国际电信联盟和国际标准化组织共同制定的新一代视频编码标准。

在该标准中,规定了两种熵编码的模式,即基于上下文的自适应二进制算术编码(Context-bsaed Adaptive Binary Arithmetic Coding,CABAC)和基于上下文自适应可变长编码(Context-bsaed Adaptive Variable-Length Coding,CAVLC )。

其中,CABAC作为一种新型的熵编码方法,将自适应技术、上下文模型化和二进制算术编码有地的结合在一起,达到了较高的压缩效率,CABAC的框架中还使用了一些新颖的方法,使得CABAC在软硬件的实现上更加方便。

为了验证CABAC的实际效果,笔者应用参考程序对其进行了直观的测试,实验结果表明:在相同图像质量下,CABAC和CAVLC相比的确能节省较大的平均比特率。

关键词:H.264/AVC;算术编码;CABAC;二值化;上下文模型;概率模型中图分类号:TN915文献标识码:A 文章编号:1672-2892 (2006)04-0269-06 Application of Context-bsaed Adaptive Binary Arithmetic Coding in H.264/AVCMIN Ling,LI Fang,HE Xiao-hai(College of Electronics and Information Engineering, Sichuan University, Chengdu Sichuan 610065, China)Abstract: The emerging H.264/AVC video coding standard is developed collaboratively by the ITU-T and ISO/IEC. The standard specifies two types of entropy coding:Context-based Adaptive Binary ArithmeticCoding (CABAC) and Context-bsaed Adaptive Variable-Length Coding (CAVLC). By effectively combiningadaptation technique, context model and binary arithmetic coding together, CABAC as a new entropy codingmethod has achived a high level compression. There are some new ways to make it easy to be carried out. Toprove the performance of CABAC,we test it by referenced application. The experiment indicates that CABACsaves bit rate than CAVLC with the same quality of image.Key word: H.264/AVC;arithmetic coding;CABAC;binarization;context model;probability model1 引言H.264又名“MPEG-4 AVC(Advanced Video Coding)”,是国际电信联盟电信标准化部门(International Telecommunications Union-Telecommuncation Standardization Sector,ITU-T)与国际标准化组织(International Organization for Standardization,ISO)联合开发组共同开发的最新国际视频编码标准,于2003年5月发布了第一个版本。

H.264_AVC中的算术码及其改进方法

H.264_AVC中的算术码及其改进方法
本文首先通过分析 CABAC 的复杂度探讨了其编解码速度较差的瓶颈。然后研 究了一种算术码快速算法,经过分析发现该算法在编码区间选择上还有进一步提高 的空间。而且该算法的统计模型并不是非常理想,需要作进一步改进。本文在编码 区间的选择上引入了区分大概率符号和小概率符号的方法,减少了当大概率符号时 的操作复杂度,提高了编解码速度。同时进行自适应的概率统计,通过一定的缩放 处理,使得编码符号的概率能较准确地逼近真实的概率值,提高了压缩率。在此基 础上根据 H.264 语法元素二值化后比特概率分布的特点设计了一种 H.264 均衡算术 码框架,将编码分为自适应编码和固定概率编码,并实验证明了该框架的有效性。
This thesis reveals the coding speed bottleneck of CABAC by analyzing its complexity at first, then a fast atithetic coding algorithm is analysied and the improvements both in coding and compression rate is expected.This thesis improves the coding speed by adopting the concept of MPS and LPS and does the periodical statistics of coding symbols to emhance the compression rate. Based on the above improvements and the possibility distribution of H.264 syntax elements after binarization, an equalized arithmetic framework is proposed to separate the coding into two parts adaptive and fixed.The experiments show that it can be used as a substitution of CABAC and CAVLC for scenes having requirements of compression rate, coding speed and memory. 2) This thesis analyses the characteristics of CABAC decoder in detail and combines the exsting error detection to propose a retransmission model for application layer, both encoder side and decoder side are processed, so the retransmission data can be reduced and the previous correctedly decoded data can also be reused. The Experiment is used to verify the retransmission model.

H.264解码器中CABAC硬件加速器的实现

H.264解码器中CABAC硬件加速器的实现

H.264解码器中CABAC硬件加速器的实现
洪佳华;林涛
【期刊名称】《电子设计应用》
【年(卷),期】2007(0)3
【摘要】在H.264解码器中,为了能够完成高清码流的实时解码任务,本文提出了一种CABAC硬件加速器的设计方案.通过采用高效率的状态机和流水线结构,该方案可在每1~3个时钟周期内完成1bit数据的解码.本设计在中芯国际0.18μm CMOS工艺标准单元库的基础上进行综合,硬件加速器面积为0.38mm2,工作时钟频率可达166MHz.
【总页数】3页(P81-83)
【作者】洪佳华;林涛
【作者单位】同济大学超大规模集成电路研究所;同济大学超大规模集成电路研究所
【正文语种】中文
【中图分类】TN4
【相关文献】
1.h.264帧内预测算法及其在解码器中的硬件实现 [J], 郑长春
2.H.264及AVS双模视频解码器中帧内预测的硬件设计与实现 [J], 姜弢;周佩海;MIN;Bahadur;K.C
3.H.264/AVC中CAVLC解码器的硬件设计与实现 [J], 吴培毅;于映
4.HEVC中CABAC解码器的硬件设计与实现 [J], 袁星范;蔡敏
5.H.264中CABAC解码器的硬件设计与实现 [J], 孙琦仰;林涛;周开伦;焦孟草因版权原因,仅展示原文概要,查看原文内容请购买。

CABAC编码协议详细研究(初稿)

CABAC编码协议详细研究(初稿)

CABAC详细分析CABAC地三个步骤:1.二进制转换:把非二进制语法元素唯一映射到一个二进制码字2.上下文建模:利用已编码地符号为语法元素选择合适地上下文模型并自动更新概率模型3基于表格地算术编码:利用查表地方式进行算术编码,有效地避免了乘法运算二进制转换一.一元码对于一个非二进制数C来说,编码个1并在最后加上一个c二.一元截断码对于C小于Cmax时,用一元码地编码方法,当C=Cmax时,编码个1而不在最后加0三.UEGK二进制转换前缀由Cmax=UCoff地一元截断码组成,后缀用k阶哥伦布编码数字C—Ucoff,其中k阶哥伦布编码用以下程序编码(对于要编码符号S)四.固定长度二进制转换对于字母表【0,1,2,…,Cmax】,编码地二进制长度其中,二进制1对应其中重要性最低地符号,随着重要性地增加,二进制也会跟着增加五.对于宏块与子宏块类型地具体二进制化对应当adaptive_block_size_transform_flag==0时(非ABT变换,以下都针对非ABT变换),参看表格9-20,9-21,9-22:关于表格地说明:对应在SI帧内地宏块类型二进制转换按以下方法:前缀构成:当类型为mb_type_Sintra_4*4没有后缀,否则由表9-20给出对于在P和SP图像地帧内预测宏块 ,mb_type=7~30地前缀由表9-21给出,后缀用表9-20对于在B图像中地帧内预测宏块,mb_type=23~47地前缀由表9-21给出,后缀用表9-20以上都是对非ABT变换来说地,对于ABT变换,要参考其他二进制方案表格,此处略去.各种不同地语法元素,都是用到前面地4种二进制方案或者某两种二进制方案地串接,下面举例对变换系数地二进制方案进行说明:首先该过程分为3个步骤:1.如果coded_block_flag=0,说明没有重要系数(非0系数),不需要对宏块地信息进行编码,否则进行第二步2.在扫描地过程中,对于每个扫描位置i,如果i位置地系数是0,那么significant_coeff_flag[i]=0,否则significant_coeff_flag[i]=1,当significant_coeff_flag[i]=1时,继续编码last_ significant_coeff_flag[i],如果该系数不是最后一个非0系数, last_ significant_coeff_flag[i]=0,否则=1,当等于1时不需要再对宏块剩余地0系数进行编码3.对应那些significant_coeff_flag[i]=1地系数,要编码coeff_absolute_value_minus_1和coeff_sign,对于前者,采用UEG0编码(UCoff=14),对于后者直接采用旁路编码器(将在后文说到)上下文定义与分配首先,每个语法元素对应一个或者多个上下文指示器context_id,经过二进制转换后地语法元素可能有不止一位地二进制值,以mb_type_I(I帧图像内地宏块类型)为例,对应地context_id为ctx_mb_type_I,该语法元素二进制化后有6位二进制值,分别对应ctx_mb_type_I[k],1<=k<=6即max_idx_ctx_id=6,而每个context_id 对应一定范围内地上下文变量context label,可参看下表:具体每个CTX_ID[K]对应哪几个LABEL可进一步参考下表:上下文模板具体某一位context_id[k]可能对应几个不同地context label,那么究竟具体对应哪个就由上下文模板来决定,上下文模板将在下面进行说明;一.利用两个相邻符号地上下文模板如图所示,正要编码地符号S是在当前宏块块C中,A,B是C地相邻宏块通过关系式:ctx_var_spat=cond_term(A,B) (9-1)计算出符号S地上下文增量X,通过用OFFSET+X得出对应地context label地值.其中cond_term()表示地是一种函数关系,对于9-1式,有以下3种具体情况:此外,ctx_coded_block依赖地是表9-28中地6种块类型,对于上下文变量ctx_abs_mvd_h[1]和ctx_abs_mvd_v[1],按以下式子编码:二、利用先前bin值地上下文模板关系式:对应地表格:三.关于变换系数信息地上下文定义有关变换系数地上下文信息都由context_category决定,参看context_category地定义表:ctx_sig_coeff和ctx_last_coeff对应地是significant_coeff_flag和last_significant_coeff_flag,有以下关系式:其中scanning_pos指示地位置与zig-zag扫描相关,对于ctx_abs_level包含2个变量ctx_abs_level[1]和ctx_abs_level[2],有以下关系式:其中num_decod_abs_lev_eql指地是已编码地绝对值等于1地系数,Num_decod_abs_lev_gtl指地是已编码地绝对值大于1地系数(两者都在当前宏块中计算)上下文模型地初始化前文解决了如何给语法元素地每一位分配context label地问题,现在来解决一下究竟每一个context label对应什么样地状态.首先是状态地初始化问题,状态包含一个代表状态地数字和MPS(最大概率符号),实质上上下文模型状态地初始化是由该帧图像地量化参数QP决定地,对于每一个context label都分配一对数组{m,n},状态地初始化按以下地三步进行:1.计算 pre_state=((m*(QP-12))>>4)+n。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

H 1264 AVC 标准中的CABAC 应用研究于培松,郭宝龙(西安电子科技大学机电工程学院I C IE 研究所 陕西西安 710071)摘 要:H 1264 AV C 是由国际电信联盟(ITU )和国际标准化组织(ISO )共同制定的新一代视频编码标准。

他的熵编码方案采纳了基于上下文的自适应二进制算术编码(CABA C )。

CABA C 是一种高效的熵编码,他利用上下文建模来降低符号间的冗余度,并且能够自适应码流的统计信息,获得很高的编码效率。

深入研究了CABA C 中的二进制化、上下文建模和自适应二进制算术编码器,并进行了相应的试验。

实验结果表明:在相同的图像质量下,CABA C 和CAVL C 相比节省6%~15%的码率。

关键词:CABA C ;算术编码;上下文建模;H 1264 AV C中图分类号:TN 91918 文献标识码:B 文章编号:1004373X (2005)0700504Appl ica tion Research of CABAC i n the H 1264 AVC StandardYU Peisong ,GUO Bao long(I C IE Institute ,Schoo l of E lectro M echanical Engineering ,X idian U niversity ,X i ′an ,710071,Ch ina )Abs tra c t :T he em erging H 1264 AV C video coding standard is developed co llabo ratively by the ITU T and ISO IEC 1Its designa 2ti on of en tropy coding adop ts Con tex t based A dap tive B inary A rithm etic Coding (CABA C )1CABA C is a h igh ly efficien t en tropy cod 2ing ,w h ich u tilizes con tex t modeling to reduce the redundancy betw een sym bo ls 1CABA C can adap t itself to the statistics of video stream ,and gain s h igh ly efficien t of coding 1T h is paper deep ly studies b inarizati on ,con tex t modeling and adap tive b inary arithm etic coder of CABA C ,and the co rresponding experi m en t has been perfo rm ed 1T he experi m en t indicates that CABA C saves 6%~15%b it rate than Con tex t A dap tive V ariab le L ength Coding (CAVL C )w ith the sam e quality of i m age 1Ke yw o rds :CABA C ;arithm etic coding ;con tex t modeling ;H 1264 AV C收稿日期:20041226基金项目:高等学校青年教师资助计划(2003)1 引 言H 1264 AV C[1~3]是由国际电信联盟(ITU )和国际标准化组织(ISO )共同制定的新一代视频编码标准。

国际电信联盟称之为H 1264,国际标准化组织称之为AV C (A d 2vanced V ideo Coding )。

该标准采用了一系列先进的编码技术,在编码效率、网络适应性等诸多方面都超越了以往的视频编码标准。

他有两个熵编码方案:一个是从可变长编码发展而来的上下文自适应可变长编码(CAVL C );另一个是从算术编码发展而来的基于上下文的自适应二进制算术编码(CABA C )。

经常采用的变长编码(VL C ),对出现频率高的符号用短码字表示,对出现频率低的符号用长码字表示,采用固定的码表,码表根据对各种不同视频源的统计得到。

可变长编码的优点是容易实现,编码速度快。

缺点有以下几个方面:(1)自适应性差。

因为可变长编码采用固定码表,而视频源的统计特性是不稳定的,随着图像的内容改变。

(2)没有利用编码符号的上下文相关性。

(3)最小编码位是1位,对于概率大于015的编码符号,编码效率降低。

基于上下文的自适应二进制算术编码[4](CABA C )充分利用视频流的上下文信息,对不同的视频流能够自适应,克服了可变长编码的缺点,且算术编码在实际应用中的计算精度和计算复杂度,提高了编码效率。

基于以上的优点,CABA C 被H 1264标准采纳,成为H 1264中两个熵编码方案之一。

2 CABAC 的主要特点CABA C 充分考虑和利用了视频流统计特性,克服了VL C 编码中的缺点,充分利用了视频流的上下文信息,并且能够自适应视频流的统计信息,提高了编码效率,主要有以下优点:(1)上下文建模利用相邻的编码符号的相关性,利用已编码符号为待编码符号选择合适的上下文模型,上下文模型提供了对当前待编码符号的概率估计。

利用上下文信息可以降低符号间的冗余度。

5(2)自适应特性这一特性保证上下文模型能够自适应视频流。

对于不同的视频流,其编码符号的概率不同。

这就要求上下文模型跟踪视频流的统计信息,这样上下文模型提供的概率估计才能和实际的统计概率相吻合。

(3)二进制算术编码算术编码是一种递推形式的连续编码,他用非整数比特表示符号。

H 1264通过二进制化把多维算术编码转化为二进制算术编码,提高了运算速度。

CABA C 编码流程如图1所示,主要有3部分:语法元素二进制化、上下文建模和自适应二进制算术编码器。

编码过程:如果输入的语法元素是非二进制的语法元素则进行二进制化,二进制的语法元素跳过这一过程。

二进制字符串进入编码器,可以进行快速编码,直接进入旁路编码器,以固定的概率模型进行编码;通常是根据语法元素的类型选择上下文,然后二进制值和选择的上下文模型一起进入编码器,输出编码码流,并且根据编码符号更新上下文模型。

图1 CABA C 流程图3 语法元素二进制化语法元素二进制化就是把非二进制的符号映射成若干位的二进制串。

在视频编码中要成功应用上下文建模和自适应算术编码,必须满足2个条件:(1)快速和准确地进行条件概率估计。

(2)每个元素的概率估计和接下来的算术编码的计算复杂度必须保持最小。

为了满足这2个条件,CABA C 引入了二进制化预处理过程来减小要编码的语法元素符号集的大小,对于给定的语法元素用一个惟一的中间二元码子代替,成为二进制串。

这个方法的优点是有利于建模和实现。

在H 1264中,CABA C 二进制化方案由基本方案和串接方案组成。

基本方案有一元码、截断一元码、K 阶指数哥伦布码和定长码4种,串接方案由基本方案串接而成。

不同的二进制化方案适用于不同类型的语法元素。

对于数值变化范围比较大的残差数据用K 阶指数哥伦布码表示,对于简单的符号标志元素用定长码表示。

CABA C 绝大部分的映射码表通过简单的在线计算得到,不需要存储,节省内存,这也是CABA C 的优点之一。

语法元素二进制化有以下3个好处:(1)在二进制化的时候没有信息丢失,由于单个符号(非二元的)的概率可以用二进制串的每一个二进制位的概率来恢复。

(2)提高了运算速度。

通过二进制化把多维算术编码转化为二进制算术编码。

(3)二进制化使上下文建模在一个子符号层次上。

通过二进制化,编码符号变成0和1。

4 上下文建模[5]编码符号具有上下文相关性,利用已编码符号提供的上下文信息,为编码符号选择合适的概率,这就是上下文建模。

利用上下文信息可以降低符号间的冗余度,进一步提高编码效率。

在H 1264中通过索引选择的方法利用上下文信息。

首先建立以概率模型为变量的上下文集合,上下文变量按线性排列,每一个变量用索引值来表示,然后为每一个语法元素分配上下文变量,最后,通过编码符号的上下文信息选择上下文变量。

411 概率模型在H 1264中用64个有代表性的概率值来表示L PS(L east P robability Sym bo l )的概率。

这64个概率值通过下式产生:p Ρ=Α p Ρ-1 Ρ=1,2,…,63(1)Α=0101875015163, 且p 0=015(2) 由p Ρ和Ξ组成概率模型,Ξ为M PS (M o st P robabilitySym bo l )取“0”或“1”,所以概率状态空间总共有128个状态。

412 上下文变量上下文变量由2个变量组成,分别为概率的索引值和M PS 的值。

实际上上下文变量就是初始值的概率模型变量,初始值由训练序列得到。

上下文集合由下式表示。

(ΡΧ,ΞΧ) 0≤Χ≤398(3) 其中Χ为上下文变量的索引值,Ρ表示概率的索引值,Ξ表示M PS 的值上下文变量分配的索引值如表1所示,从表中可以看出,简单的标志语法元素(如m b _sk i p _flag )分配的上下文变量较少,变化范围较大的残差数据(如cod 2ed _block _flag )分配较多的上下文变量。

413 上下文变量的选择在H 1264中,每一个语法元素有几个上下文变量,CABA C 中的编码符号是二进制化后的二进制串。

上下文变量的分配方式:有些二进制位分配固定的上下文变量,其他的二进制位根据上下文信息选择上下文变量。

上下文信息有4种类型:(1)和当前编码块相邻的已编码块的信息,一般利用当前块的左边和上边相邻块。

(2)利用同一语法元素中已经编码的二进制值为当前编码的二进制值选择上下文模型。

(3)根据当前编码语法元素在编码块的之字行扫描位置。

(4)根据当前块已经编码的残差数据个数。

类型(3),(4)用于残差数据。

表1 ctx Idx分类表语法元素片断类型S I I P SP Bm b_type0 3~1014~2027~35 m b_sk i p_flag11~1324~26sub_m b_type21~2336~69m vd(ho rizontal)40~4640~46m vd(vertical)47~5347~53 ref_idx54~5954~59 m b_qp_delta_60~6360~6360~63 intra_ch rom a_p red_mode64~6764~6764~67 p rev_intra4x4_p red_mode_flag686868 rem_intra4x4_p red_mode696969 m b_field_decoding_flag70~7270~7270~72 coded_block_pattern77~8477~8477~84coded_block_flag85~10485~10485~104significant_coeff_flag[]105~165105~165105~165 277~337277~337277~337last_significant_coeff_flag[]166~266166~266166~266 338~398338~398338~398coeff_abs_level_m inus1[]227~275227~275227~275 end_of_slice_flag276276276下面以宏块类型(m b_type)举例说明:m b_type为P_8×8(由4个8×8子块组成的P帧宏块)的时候,二进制化后为“001”共3位,分别用b0,b1, b2表示。

相关文档
最新文档