前文参考之适应性二元算术编码

✍ dations ◷ 2025-08-02 02:23:06 #前文参考之适应性二元算术编码

前文参考之适应性二元算术编码(Context-based Adaptive Binary Arithmetic Coding,简称CABAC)是视讯压缩标准H.264采用的算法。

CABAC分为三个部分,Binarizer, Context Modeler和Arithmetic Coding Engine。CABAC的设计概念,对于发生几率P(x)>0.5的事件有效地编码,改进了传统算术编码(Arithmetic coding)需要大量的乘法运算的问题,而在效能与压缩效率上取得相当大的改善空间。CABAC的生命周期是slice,CABAC与UVLC最大的不同点在于其编码方式具有适应性(adaptive),对于编码过程中各个符号(symbol)出现的几率会一直动态地去统计并更新。

Arithmetic Coding中以Low及Range表示压缩过程的范围。Binarizer可将Codec分析后的句法元素(Syntax Element),转化成为位元字串(bin string),每个位元称为一个bin,而bin即为传给Arithmetic Coder的Symbol。CABAC的符号(symbol)只有0或1两种,所以bin就是0或1。如果原本就是binary value,就不需要binarization。此一步骤的输出称为bin string。接下来要把这些bin sting做arithmetic coding,每个bin可能会有某种几率分布,如果不具有分布(regular),即是bin value,就进行Bypass Coding Engine,如果是regular,就前往Context Modeler选择目前这个bin的model。

Context Modeler再针对所要压缩的bin去作几率的估测(Probability Estimation)和更新(Binary Arithmetic Coding)。Regular Coding Engine利用bin的model和Context Index查表,并透过Markov Chain Model建表,随时更新Low与Range的数值,更可得出MPS(Most Probable Symbol)与Probability State。MPS表示几率大于0.5,另一个LPS(Least Probable Symbol)是几率小于0.5。

Bypass Coding Engine和Regular Coding Engine都是Binary Arithmetic coder,均会产生coded bits,形成bitstream,最后输出。

CABAC不同于Various Length Coding,因此更能够接近资料的熵编码(Entropy)。CABAC每个symbol和bitstream不再有一对一的绝对关系,N个symbol有可能使用小于N个bit.在几率估计准确的前提下,CABAC的算术编码(Arithmetic Coding)的压缩率可以大于Huffman Coding,也就是说CABAC善用了统计学的期望值,压缩的bin几率相当接近0.5,表示预测的效率相当低,可直接进行Bypass,直接输出,以降低memory access与计算。

目前CABAC不支援Baseline以及Extended profiles.另外,CABAC面临的问题是在于由于循序处理造成资料依存性(Data Dependency)偏高。

相关

  • 罗斯属地罗斯属地(英语:Ross Dependency)是一块新西兰在南极洲(以及其它在南冰洋的分散领土)声称拥有的地区。这块领地的范围是从南极点出发的一个扇形,沿着160°东经线至150°经线之间向
  • 安德烈·伊万诺维奇·塔尤尔斯基安德烈·伊万诺维奇·塔尤尔斯基(俄语:Андрей Иванович Таюрский,1900年-1942年2月23日)苏联空军少将,卫国战争时期是西线的空军司令员。1941年苏德战争爆
  • EAU DE VIXX《EAU DE VIXX》是韩国的男子组合VIXX第三张韩语正规专辑,于2018年4月17日发行,主打歌曲为《香》(향)。2018年3月12日,Jellyfish娱乐透露VIXX将在4月发表正规专辑,到3月30日官方公
  • 通用·贝迪公司通用·贝迪公司(GE-Betz)为通用集团下之子公司( GE Water & Process Technologies )是位于美国宾夕法尼亚州的水处理公司。贝迪公司的核心业务在于水处理化学药剂,其功用为延
  • 唐娜·里德唐娜·里德(英语:Donna Reed,1921年1月27日-1986年1月14日)是一名美国电影,电视女演员和制片人。她的职业生涯长达40多年,曾在40多部电影中演出。她以法兰克·卡普拉1946年的电影《
  • 蚌埠公交135路蚌埠公交135路,是中国安徽省蚌埠市的一条公交线路,由张公湖首末站开往客运北站,由蚌埠市公共交通集团有限公司运营、管理。2013年使用中通客车的135路2013年使用江淮客车的135
  • 吴獬吴獬(1841年-1918年),字凤孙,湖南岳州府临湘县人,清朝政治人物。光绪十五年(1889年)己丑科进士。同年五月,著交吏部掣签,分发各省以知县即用。光绪十八年(1892年),任荔浦县知县。光绪二十
  • 黄岗河 (渔涝河)黄岗河,位于中国广东省西部,是渔涝河左岸支流,发源于德庆县高良镇大河尾,西北流入封开县境,于封开县河儿口镇三房村对岸汇入渔涝河。河长23千米,流域面积108平方千米。
  • 熊海灵熊海灵(1958年1月14日-),本名熊秀慧,台湾女艺人,2018年宣布退出演艺圈。2020总统大选期间常以国旗装出现。1980年代时演出过许多戏剧节目,妹妹为知名歌手制作人熊秀珍。过去因修长
  • 傅举孚傅举孚(1920年5月-2016年12月7日),男,湖南湘乡人,中国化学工程专家,曾任北京化工学院教授、博士生导师,国务院学位委员会第二届学科评议组成员。