一种音视频数据编解码的方法及装置制造方法及图纸

技术编号:3581117 阅读:153 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种音视频数据编解码的方法及装置。所述方法包括:输入定点运算数据;对输入数据进行运算,其中根据编解码规则,数据范围和分布通过溢出概率运算选择运算单元位长,分配数据运算精度;利用判定溢出的标志位和判定溢出的算法判断运算结果是否出现溢出;在未出现溢出的情况下,输出运算结果。利用本发明专利技术在提高数据运算精度的同时也实现了较高的运算速度,是对音视频传统编解码技术的重要的改进。

【技术实现步骤摘要】

本专利技术涉及音视频编解码领域,具体来说是关于一种音视频数据编 解码的方法及装置。技术背景在音视频编解码处理中,定点运算数据在变换时的精度是一个很重 要的问题。精度不足直接影响到音频或图像的质量。更严重的是,有时精度不足还会累加起来,例如IDCT精度失配造成的漂移等问题。所以, 在很多时候,必须保证一定的运算精度。但是,由于数据需要进行一系 列的运算,有可能产生溢出问题,而高精度往往需要使用更高的运算单 元,这通常带来成本的增加。特别是对一些较低位长运算单元的设备, 使用传统方法往往不能兼顾精度和溢出,而使用软件处理超过运算单元 本身位长的数据(如使用16Bit的CPU处理大量32Bit的数据,特别是 乘除法运算)又会大大降低运算的处理速度。此外,在实际应用中,稍低于理论需要精度的设计导致出现溢出的 机率很低。这是因为,首先,很多输入数据在合法值内的分布是不均匀 的,基本集中在一个较小区间,很少有达到或接近允许值的,例如,在 某种应用下,IDCT运算的理论输入值为,但实际的输入 值基本都集中在以内,而处理后面范围的数据往往就可以比前 面范围的数据降低精度。其次,很多数据要经过多次运算处理,这就造 成了只有多个数据都处于极限情况下,溢出才可能发生,这进一步降低 了溢出产生的概率。再次,有些时候,某些范围的数据可以使用较为简 单快速的方法进行处理,如查表等,而全范围的数据往往不能使用这个 方法。综上所述,在音视频编解码应用中,当其他条件一定时,适当增大 数据精度可能导致数据溢出问题,但出现这种溢出的机率是很低的,故 如果能够区分溢出和不溢出的情况,可以在大多数时间内使用较低的成 本和较高的运算速度实现运算。而在极少可能出现的溢出的情况下,可 以通过其他方法,如通过较为复杂的软件处理,得到正确的结果。这样, 如果后面一种情况出现的概率足够低的话,就能在相同的成本下获得更 好的性能,或达到降低成本的目的。
技术实现思路
本专利技术的目的就在于提供一种音视频数据编解码的方法及装置,提 高音视频定点编解码运算精度,从而达到使用较低的运算成本,提高运 算精度,又不影响运算速度。本专利技术目的通过下述方法实现 一种音^f见频it据编解码的方法,包 括以下步骤(l)输入定点运算数据;(2)对输入数据进行运算,其 中根据编解码规则,数据范围和分布通过溢出概率运算选择运算单元位 长,分配数据运算精度;(3)利用判定溢出的标志位和判定溢出的算 法判断运算结果是否出现溢出;(4)在未出现溢出的情况下,输出运 算结果。上述步骤(3)可以是在获得所有数据的运算结果的基础上进 行溢出判断,也可以是循环对每组数据的运算结果分别进行溢出判断。 在上述步骤中所设置的标志位可以是运算结果的最高位。本专利技术所述的 方法还包括在判断出现溢出的情况下釆用具有较大运算单元位长或较 低数据运算精度的运算算法重新进行运算。本专利技术还包括为实现上述音视频数据编解码方法的装置,包括输入 定点运算数据的输入模块;对输入数据进行运算的模块,其中根据编解 码规则,数据范围和分布通过溢出概率运算选择运算单元位长,分配数 据运算精度;利用判定溢出的标志位和判定溢出的算法判断运算结果是 否出现溢出的判断模块;和在未出现溢出的情况下,输出运算结果的输 出模块。使用本专利技术的方法和装置与传统音视频数据编解码方法相比较,提 高了数据运算的精度,同时也实现了较高的运算速度,可以说是对音视 频传统编解码方法的一个重要的改进,具有重要的现实意义。 附图说明下面参照附图对本专利技术的具体实施方案进行详细的说明,附图中 图1是本专利技术所用方法的流程图; 图2是本专利技术一种音视频数据编解码处理具体流程图; 图3是本专利技术另一种音视频数据编解码处理具体流程图。 具体实施例方式下面结合图1、图2和图3对本专利技术的方法进行具体说明。 图1是本专利技术所用方法的流程图。图1中,数据输入后,首先确定 数据的精度和运算单元的位长。确定这些时要考虑编解码运算规则,输入数据的范围和分布等。设计的目的是使数据的精度更高或使运算单元 的位长更小,同时,出现溢出的概率较小。根据前步确定的数据精度进行运算后设置判定溢出的标志位并判 定溢出的算法。硬件运算模块中可以直接设计相关标志位,而软件应设 置必要判断条件。溢出的判定不须为充要条件,只需必要条件即可。也 就是说,当判定可能发生溢出时,也可能实际未发生溢出,但判断未发 生溢出时,实际绝对不能有溢出发生。但应保证判定的有效性,即以较 低的概率判定溢出或可能发生溢出。上两步是设计中采用的方法,由于 可能的运算较为复杂,也可以不通过理论计算而釆用实际数据测试的结 果来确定。最后,根据溢出标志位选用正确算法计算。图2是本专利技术所用方法进行音视频数据编解码处理的具体流程图。 该流程包括(1 )向输入模块输入一组数据;(2 )运算模块对数据进 行运算;(3)看溢出标志位是否出现溢出,出现则跳转至(5); (4) 输出运算结果,跳转至(6) ; (5)作废当前运算结果,使用确保正确 的方法(可能较慢)进行运算并输出结果;(6)检查是否输入完成, 未完成则跳转至1; (7)结束。图3是利用本专利技术方法进行音视频数据编解码处理的另 一具体运行 流程图。该流程包括(1 )向输入模块中输入一组数据;(2)运算模 块对数据进行运算;(3)输出结果以及溢出标志位;(4)判断全部输 入是否完成,如未完成,则跳转至(1) ; (5)依次察看输出的溢出标 志位,如未溢出,跳转至(7) ; (6)使用确保正确的方法进行运算并 替换可能溢出的结果;(7)标志位是否检查完毕,如没有检查完毕, 则跳转至(5) ; (8)结束。上面是对照附图对本专利技术的方法进行了解释,过程比较抽象,下面 举 一 个简单的数据例子说明过程。数据输入后,首先是在考虑编解码运算规则,输入数据范围和分布 之后选择使用的运算单元位长和数据精度,目的是使数据精度更大或使 运算单元的位长更小,并且数据出现溢出的概率较小。例如,需要一个计算(a+b"(c+d)+(e+f)承(g+h)的运算,其中a, b, c, d, e, f, g, h均为 浮点数,且分布均在[O, l)之间,而以99%的概率分布在[0, 0.25)之间, 寄存器为8位,可进行8位乘以8位得到16的操作。如果按一般的算法,为了保证不溢出,定点运算时,a-h的精度需要使用6位,Wa = a* 26 = a * 64, ( b-h同),这样,才能保证(a+b)承(c+d)+(e+f)承(g+h)在0-65535 (即16位)之间。而如果取7位,(a+b"(c+d)+(e+f^(g+h)最大就可能 达到12卯32,超出了 16位的范围。如果利用8位的有效精度,通过对 数据运算结果的概率运算,其溢出的概率小于8%,因此使用8位精度 的数据,其较低的溢出概率也是可以接受的。第二步设置判定溢出的标志位,可以选择a+b, c+d, e+f, g+h四 个8位的运算结果是否溢出或者最高位是否为1 (即大于127)。如满 足上面两个条件之一,则判断溢出。选择这样的设计是因为,首先,如 果a+b, c+d, e+f, g+h四个运算结果均不溢出,则最终结果肯定不会 溢出,反之则不然;其次,判定本文档来自技高网
...

【技术保护点】
一种音视频数据编解码的方法,其特征在于所述方法包括以下步骤: (1)输入定点运算数据; (2)对输入数据进行运算,其中根据编解码规则,数据范围和分布通过溢出概率运算选择运算单元位长,分配数据运算精度; (3)利用判定溢出的标志位和判定溢出的算法判断运算结果是否出现溢出; (4)在未出现溢出的情况下,输出运算结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:史岩
申请(专利权)人:北京海尔集成电路设计有限公司
类型:发明
国别省市:11[中国|北京]

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

1
相关领域技术
  • 暂无相关专利