平行处理至少两个二进制值的方法与相应算术编码系统技术方案

技术编号:3424804 阅读:213 留言:0更新日期:2012-04-11 18:40
一种平行处理至少两个二进制值(bin)的方法,其用在一个算术编码二进制值串中,上述方法包含:利用目前范围来计算二进制值串中第一二进制值的范围;当第一二进制值是MPS时,利用目前范围同时前向预估二进制值串中第二二进制值的多个可能的范围与下界值;当第一二进制值的范围已计算出,利用计算出的范围从上述多个可能的范围与下界值中选择第二二进制值的结果范围。本发明专利技术通过平行编码至少两个二进制值,可增加同时处理的二进制值的数量,从而提高系统产出。

【技术实现步骤摘要】

本专利技术是有关于一种统计数据压缩,更具体地,是有关于一种二 进制算术编码。
技术介绍
在一个系统中,要被传输的数据根据一个特定格式(format)进行数 据压缩(data compression)以减少需要被传输的数据数量。在后续操作 中, 一个译码器应用同样的格式对编码的数据进行译码以将数据转换回初始状态(original state)。现存在许多数据压缩的实例,虽然现在仍 不断对现有技术进行发展和改进。算术编码是一种数据压缩形式,其利用并处理多个符号(symbol), 然后把得到的码写入一个文件。算术编码通过为每一符号指定(assign) 一个范围间隔(interval of a range), 利用概率估计(probability estimation)来编码符号,其中的范围间隔是从0至1 。在概率估计中, 一个具有较大出现概率(probability of appearing)的符号被指定范围的 较大部分,而一个具有较小出现概率的符号被指定范围的较小部分。 此种概率估计会详细在下文中描述。举例来说,当编码二进制串(bin string)"010"时,符号"l"的概率是 0.4,而符号"O"的概率是0.6。因此,在此实例中,"O,,是最有可能符号 (Most Probable Symbol, MPS),而"l"是最不可能符号(Least Probable Symbol, LPS)。开始,范围是200,且范围的下界(low value)是0。当 第一个符号"0"被编码时,因为"0"的才既率是0.6,范围即为200的0.6, 即120。因为MPS占据了范围的较低部分(lower part),下界仍保持为 0。对于下一个符号,"1"的概率是0.4,所以其范围为120的0.4,即 48。因为LPS占据了范围的较高部分,新的下界值是72。最后,对于 符号"0",新的范围变成48的0.6,即28.8,而下界保持不变。二进制算术编码是一种算术编码形式,其在处理之前将所有符号 都转换成二进制形式的算术编码。二进制算术编码处理有四个阶段(stage)。第一个阶段是二进制化(binarization)阶段,其中每一符号都被 转换为二进制值(binary value,下文简称为二进制值),从而形成二进 制串。第二阶段依据先前编码的二进制值选择上下文模型(context model),即概率模型(probability model)。第三个阶段,每一二进制值 依据目前上下文模型被编码。第四个阶段,上述上下文模型根据上述 已编码的二进制值更新。在二进制算术编码中,范围值是一个9比特 长的值,其中,第9比特是最高有效位(Most Significant Bit, MSB), 并显示上述范围是否落在256以下。上下文适应性二进制算术编码(Context Adaptive Binary Arithmetic Coding, CABAC)是一种常用算术编码形式,其在每一二进 制值编码后就根据先前编码的二进制〗直更新和1率。CABAC应用LPS 查询表(Look Up Tables, LUT), LPS查询表包含有多个可能的范围值 (possible range values)。 目前上下文模型(current context model)以及目 前范围的比特7及比特8被输入到LPS的LUT中,然后根据上述信息 输出预估范围Mispredicted range value)。请参考图1,图1是二进制值编码引擎100的方框图。二进制值 编码引擎100包含LPS编码表(coding table)120,减法器130,加法器 140。开始,先前范围与上下文模型祐j叙入至LPS编码表120, LPS编 码表120根据上述信息输出第一 LPS范围。二进制值编码引擎IOO利 用减法器130从先前范围中减去第一 LPS范围来确定第一 MPS范围。 另外,先前范围的先前下界被输入至二进制值编码引擎100。若目前 二进制值是MPS,下界值会保持不变(请参考前述段落的示例),因此 上述值可被直接输出。但是,如目前二进制值是LPS,上述下界值必 须要加到从减法器130输出的第一 MPS范围上。上述操作由加法器 140执行。从上述可以看出,每一二进制值的操作都很复杂。在现有技术中, 因为每一二进制值要顺序(sequentially)编码,因此产出量(throughput) 是有限的。
技术实现思路
为了解决顺序编码速度较慢,产出受限的技术问题,本专利技术提供 一种系统及方法,用于提高算术编码引擎的产出量。本专利技术之一 目的系提供一种平行处理至少两个二进制值之方法,其用于算术编码二进制值串中,上述方法包含利用目前范围来计算 二进制值串中第一二进制值的范围;当第一二进制值是最有可能符号 时,利用目前范围同时前向预估二进制值串中第二二进制值的多个可 能的范围与下界值;当第一二进制值的范围已计算出,利用计算出的 范围从上述多个可能范围与下界值中选择第二二进制值的结果范围。本专利技术的另一目的是提供一种算术编码系统,用于二进制值串中 平行编码至少两个二进制值,上述算术编码系统包含第一二进制值 编码引擎,用于接收目前范围以及利用目前范围来计算为二进制值串 中第一二进制值的范围;以及第二二进制值编码引擎,平行耦接于第 一二进制值编码引擎,用于当第一二进制值为最有可能符号时,利用 目前范围同时前向预估上述二进制值串的第二二进制值的多个可能的 范围,以及利用第一二进制值的计算出的范围来选择第二二进制值的 结果范围与下界值。本专利技术通过平行编码至少两个二进制值,可增加同时处理的二进 制值的数量,从而提高系统产出。附图说明图l是根据现有技术的二进制值编码引擎的示意图。图2是^f艮据本专利技术的一种实施方式的平行编码系统的示意图。具体实施例方式在说明书及权利要求书当中使用了某些词汇来称呼特定的元件。 本领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼 同 一个元件。本说明书及权利要求书并不以名称的差异来做为区分元 件的方式,而是以元件在功能上的差异来做为区分的准则。在通篇说 明书及权利要求书当中所提及的"包含"是开放式的用语,故应解释 成"包含但不限定于"。此外,"耦^接" 一词在此是包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置, 则代表第一装置可直接电气连接于第二装置,或通过其它装置或连摔 手段间接地电气连接到第二装置。如前所述,本专利技术的目的在于通过平行处理各个二进制值以提高二进制值编码引擎的产出量。本专利技术利用前向预估(forward prediction) 来达成该目的,其中当第一二进制值为MPS时,前向预估以确定第二 二进制值的多个可能范围值与下界值。接着利用已确定的第一二进制 值的范围值来为第二二进制值选择结果范围值(resultant range value) 及下界值。当第一二进制值为LPS时,平行确定(parallel determination) 可直接执行。请再参考图1。从示意图中可看出,目前范围与上下文模型(概率) 被输入至LPS编码表120以产生第一二进制值的两个可能范围,LPS 范围与MPS范围。如第一二进制值是LPS,本文档来自技高网
...

【技术保护点】
一种平行处理至少两个二进制值的方法,其用在一个电子装置中,对二进制值串执行算术编码,上述方法包含: 利用目前范围来计算上述二进制值串中第一二进制值的范围; 当上述第一二进制值是最有可能符号时,利用上述目前范围同时前向预估上述二进 制值串中第二二进制值的多个可能的范围与下界值;以及 当上述第一二进制值的范围已计算出,利用上述计算出的范围从上述多个可能的范围与下界值中选择上述第二二进制值的结果范围。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:徐沛玮郭志辉
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1