音视频技术
400万+工程师在用
华为|鸿蒙开发者日
直播报名
400万+工程师在用
华为|鸿蒙开发者日
直播报名

电子发烧友网工程师

17年用户 16436经验值
擅长:可编程逻辑 MEMS/传感技术 测量仪表 模拟技术 控制/MCU RF/无线
私信 关注

H1264?AVC 标准中的CABAC 应用研究

2008-6-25 10:41

H1264?AVC 标准中的CABAC 应用研究

H1264?AVC 标准中的CABAC 应用研究
于培松, 郭宝龙
(西安电子科技大学机电工程学院IC IE 研究所 陕西西安 710071)
摘 要: H1264?AVC 是由国际电信联盟( ITU ) 和国际标准化组织( ISO ) 共同制定的新一代视频编码标准。他的熵
编码方案采纳了基于上下文的自适应二进制算术编码(CABAC)。CABAC 是一种高效的熵编码, 他利用上下文建模来降低
符号间的冗余度, 并且能够自适应码流的统计信息, 获得很高的编码效率。深入研究了CABAC 中的二进制化、上下文建模
和自适应二进制算术编码器, 并进行了相应的试验。实验结果表明: 在相同的图像质量下, CABAC 和CAVLC 相比节省
6%~ 15% 的码率。
关键词: CABAC; 算术编码; 上下文建模; H1264?A VC
中图分类号: TN 91918     文献标识码: B     文章编号: 1004 373X (2005) 07 005 04
Appl ica t ion Research of CABAC in the H1264?AVC Standard
YU Peisong, GUO Bao long
( IC IE Institute, Schoo l of Electro M echanical Engineering, Xidian U niversity, Xi′an, 710071, Ch ina)
Abs tra c t: The emerging H1264?A VC video coding standard is developed co llabo rat ively by the ITU T and ISO? IEC1Its designa2
t ion of ent ropy coding adop ts Context based A dap t ive B inaryA rithmet ic Coding (CABAC) 1 CABAC is a h igh ly efficient ent ropy cod2

ing, w h ich ut ilizes context modeling to reduce the redundancy betw een symbo ls1 CABAC can adap t itself to the stat ist ics of video
st ream, and gains h igh ly efficient of coding1 Th is paper deep ly studies binarizat ion, context modeling and adap t ive binary arithmet ic
coder of CABAC, and the co rresponding experiment has been peRFo rmed1 The experiment indicates that CABAC saves 6%~ 15% bit
rate than Context A dap t ive V ariable L ength Coding (CAVLC) w ith the same quality of image1
Ke yw o rds: CABAC; arithmet ic coding; context modeling; H1264?A VC
收稿日期: 2004 12 26
基金项目: 高等学校青年教师资助计划(2003)
1 引 言
H1264?A VC[ 1~ 3 ]是由国际电信联盟( ITU ) 和国际标准化组织( ISO ) 共同制定的新一代视频编码标准。国际电
信联盟称之为H1264, 国际标准化组织称之为AVC (A d2vanced V ideo Coding)。该标准采用了一系列先进的编码技术, 在编码效率、网络适应性等诸多方面都超越了以往的视频编码标准。他有两个熵编码方案: 一个是从可变长编码发展而来的上下文自适应可变长编码(CAVLC) ; 另
一个是从算术编码发展而来的基于上下文的自适应二进制算术编码(CABAC)。经常采用的变长编码(VLC) , 对出现频率高的符号用短码字表示, 对出现频率低的符号用长码字表示, 采用固定的码表, 码表根据对各种不同视频源的统计得到。可变长编码的优点是容易实现, 编码速度快。缺点有以下几个方面:
(1) 自适应性差。因为可变长编码采用固定码表, 而视频源的统计特性是不稳定的, 随着图像的内容改变。
(2) 没有利用编码符号的上下文相关性。
(3) 最小编码位是1 位, 对于概率大于015 的编码符号, 编码效率降低。基于上下文的自适应二进制算术编码[ 4 ] (CABAC) 充分利用视频流的上下文信息, 对不同的视频流能够自适应, 克服了可变长编码的缺点, 且算术编码在实际应用中的计算精度和计算复杂度, 提高了编码效率。基于以上的优点, CABAC 被H1264 标准采纳, 成为H1264 中两个熵编码方案之一。
2 CABAC 的主要特点
CABAC 充分考虑和利用了视频流统计特性, 克服了VLC 编码中的缺点, 充分利用了视频流的上下文信息, 并且能够自适应视频流的统计信息, 提高了编码效率, 主要有以下优点:
(1) 上下文建模
利用相邻的编码符号的相关性, 利用已编码符号为待编码符号选择合适的上下文模型, 上下文模型提供了对当前待编码符号的概率估计。利用上下文信息可以降低符号间的冗余度。
(2) 自适应特性
这一特性保证上下文模型能够自适应视频流。对于不同的视频流, 其编码符号的概率不同。这就要求上下文模型跟踪视频流的统计信息, 这样上下文模型提供的概率估计才能和实际的统计概率相吻合。
(3) 二进制算术编码
算术编码是一种递推形式的连续编码, 他用非整数比特表示符号。H1264 通过二进制化把多维算术编码转化为二进制算术编码, 提高了运算速度。
CABAC 编码流程如图1 所示, 主要有3 部分: 语法元素二进制化、上下文建模和自适应二进制算术编码器。编码过程: 如果输入的语法元素是非二进制的语法元素则进行二进制化, 二进制的语法元素跳过这一过程。二进制字符串进入编码器, 可以进行快速编码, 直接进入旁路编码器, 以固定的概率模型进行编码; 通常是根据语法元素的类型选择上下文, 然后二进制值和选择的上下文模型一起进入编码器, 输出编码码流, 并且根据编码符号更新上下文模型。

H1264?AVC 标准中的CABAC 应用研究
3 语法元素二进制化
语法元素二进制化就是把非二进制的符号映射成若干位的二进制串。在视频编码中要成功应用上下文建模和自适应算术编码, 必须满足2 个条件:
(1) 快速和准确地进行条件概率估计。
(2) 每个元素的概率估计和接下来的算术编码的计算复杂度必须保持最小。为了满足这2 个条件, CABAC 引入了二进制化预处
理过程来减小要编码的语法元素符号集的大小, 对于给定的语法元素用一个惟一的中间二元码子代替, 成为二进制串。这个方法的优点是有利于建模和实现。在H1264 中, CABAC 二进制化方案由基本方案和串接方案组成。基本方案有一元码、截断一元码、K 阶指数哥伦布码和定长码4 种, 串接方案由基本方案串接而成。不同的二进制化方案适用于不同类型的语法元素。对于数值变化范围比较大的残差数据用K 阶指数哥伦布码表示, 对于简单的符号标志元素用定长码表示。CABAC 绝大部分的映射码表通过简单的在线计算得到, 不需要存储,节省内存, 这也是CABAC 的优点之一。语法元素二进制
化有以下3 个好处:
(1) 在二进制化的时候没有信息丢失, 由于单个符号
(非二元的) 的概率可以用二进制串的每一个二进制位的概率来恢复。
(2) 提高了运算速度。通过二进制化把多维算术编码转化为二进制算术编码。
(3) 二进制化使上下文建模在一个子符号层次上。通过二进制化, 编码符号变成0 和1。
4 上下文建模[ 5 ]
编码符号具有上下文相关性, 利用已编码符号提供的上下文信息, 为编码符号选择合适的概率, 这就是上下文建模。利用上下文信息可以降低符号间的冗余度, 进一步提高编码效率。在H1264 中通过索引选择的方法利用上下文信息。首先建立以概率模型为变量的上下文集合, 上下文变量按线性排列, 每一个变量用索引值来表示, 然后为每一个语法元素分配上下文变量, 最后, 通过编码符号的上下文信息选择上下文变量。
411 概率模型
在H1264 中用64 个有代表性的概率值来表示L PS(L east P robability Symbo l) 的概率。这64 个概率值通过下式产生:

H1264?AVC 标准中的CABAC 应用研究
 其中C为上下文变量的索引值, R 表示概率的索引值,X表示M PS 的值上下文变量分配的索引值如表1 所示, 从表中可以看出, 简单的标志语法元素(如mb_ sk ip_ flag) 分配的上下文变量较少, 变化范围较大的残差数据(如cod2ed_ block_ flag) 分配较多的上下文变量。
413 上下文变量的选择在H1264 中, 每一个语法元素有几个上下文变量,CABAC 中的编码符号是二进制化后的二进制串。上下文变量的分配方式: 有些二进制位分配固定的上下文变量,其他的二进制位根据上下文信息选择上下文变量。上下文信息有4 种类型:
(1) 和当前编码块相邻的已编码块的信息, 一般利用当前块的左边和上边相邻块。
(2) 利用同一语法元素中已经编码的二进制值为当编码的二进制值选择上下文模型。
(3) 根据当前编码语法元素在编码块的之字行扫描位置。
(4) 根据当前块已经编码的残差数据个数。类型(3) , (4) 用于残差数据。

H1264?AVC 标准中的CABAC 应用研究
H1264?AVC 标准中的CABAC 应用研究
飞利浦最新N exp er ia 媒体处理器打造高清视频ART
  飞利浦电子公司近日推出N experia 系列高清媒体处理器的最新产品PNX1700。它在单芯片上集
成了媒体处理、网络连接和显示增强功能, 是专门为流媒体影片、新闻、数码照片及电视节目提供高清画质而设计的。NX1700 的性能是前几代产品的两倍, 同时保证了软件和硬件的兼容。PNX1700 采用新型500MHz+ 超大容量T riM e2dia CPU 内核。它支持W indow sM edia V ideo、D ivX、
M PEG 4 及M PEG 2 等高清视频格式解码。此外,PNX1700 能同时对全D1 分辨率的M PEG 2 和M PEG 4视频进行编解码, 适合个人视频录像应用。PNX1700 还包含能优化H1264 视频编?解码的指令,其先进的解隔行扫描功能支持标准分辨率(SD) 向高清的上行转换。PNX1700 由包含硬件参考设计、C 编译器调试器、多种软件编解码器及应用软件的完整开发套件的支持。

回帖(3)

xsk1984

2008-11-15 20:46:38
顶一个。。。。。

赵启明

2016-9-6 16:49:47
路过看见,支持一下!顶!顶!顶!

王友让

2016-12-11 21:39:35
支持一下                  

更多回帖

打开APP