一种vp9熵解码计算方法和装置的制造方法_2

文档序号:9551770阅读:来源:国知局
图1为现有的VP9熵解码计算的原理图;
[0038]图2为现有的VP9熵解码计算装置的原理图;
[0039]图3为本发明一实施方式涉及的VP9熵解码计算装置的原理图;
[0040]图4为本发明一实施方式涉及的VP9熵解码计算装置的结构图;
[0041]图5为本发明一实施方式涉及的VP9熵解码计算方法的流程图;
[0042]图6为本发明一实施方式涉及的VP9熵解码计算方法的第一操作流程图;
[0043]图7为本发明一实施方式涉及的VP9熵解码计算方法的第二操作流程图。
[0044]附图标记说明:
[0045]101、参数获取模块;111、第一参数获取模块;121、第二参数获取模块;
[0046]131、第三参数获取模块;
[0047]102、减法模块;112、第一减法模块;122、第二减法模块;
[0048]103、乘法模块;
[0049]104、移位模块;
[0050]105、比较模块;
[0051]106、精度整合模块;
[0052]107、输出模块。
【具体实施方式】
[0053]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0054]请参阅图1,为现有的VP9熵解码计算的原理图。VP9在对码流数据进行熵解码是以bit为单位进行解析的,图中VP9_read表示参获取模块,用于获取在解析该bit码流数据时所需的参数。具体地,所述参数包括range、prob以及value,这三个参数为VP9协议规定在解析每bit码流数据必要的参数。此外,还需要计算一个中间变量的值,即split值,计算的公式⑴如下:
[0055]split = (range-1) *prob>>8+l (1)
[0056]而后通过将所获取到的该bit码流数据的value与用上述公式(1)计算得出的split进行比较,并输出该bit的码流值,图1中binval即为该bit码流数据的码流值,从图中可以看出,当value值不小于split值时,输出该bit码流数据的码流值为1,当value值小于split值时,输出该bit码流数据的码流值为0。
[0057]请参阅图2,为现有的VP9熵解码计算装置的原理图。现有的计算方式在计算split值也是完全基于图1中的计算公式,具体实现的硬件电路为图2所示,其中,compare为比较单元,即对输出的两个参数进行比较,renorm为精度整合单元,用于对输入该单元的数值进行精度整合,所述精度整合具体为:对输入的数值保留一定位数的有效数字,而将该数值末尾部分的数值删去。圆圈节点分别表示加法器、减法器以及乘法器,它们分别对应的圆圈节点中的符号为“ + 以及“X”。由于现有的VP9熵解码计算装置仍然是基于图1中计算原理而设计的,即在计算某一bit的码流数据的split时,计算采用的公式仍然是公式(1),因而就会导致硬件电路时序上无法满足,影响熵解码的效率,进而影响产品性能的问题。
[0058]如图3所示,为本发明一实施方式涉及的VP9熵解码计算装置的原理图。本发明所采用的计算split如公式(2)所示:
[0059]split = (range-1)*prob>>8 (2)
[0060]公式(2)相较于公式(1)而言,在计算split值时少了结尾的加法操作,从而使得在解析每一 bit码流数据时的关键路径变短,满足时序要求,进而达到预期的产品性能。在将公式(2)计算出的split值进行比较时,先将value值减一后再与的split值进行比较,具体地,当(value-Ι)值不小于split值时,输出该bit码流数据的码流值为1,当(value-1)值小于split值时,输出该bit码流数据的码流值为0。同时,为了保证对现有的VP9熵解码计算装置从设计上改动达到最小,对图2中的加法器(ADD0)予以保留,图2中的加法器的作用为计算公式(1)中最后的“+1”操作,取而代之的是在(value-Ι)值与公式(2)计算得出的split值进行比较时,两边同时再进行“+1”操作,即在实际应用过程中,比较单元(图3中的compare)所比较的对象为(value+1-l)值与(split+Ι)的值,虽然从数学逻辑上而言将上述两者进行比较与将(value-Ι)值与split值进行比较并无分别,但是从硬件电路设计而言,差别却十分明显。图3用两个加法器(即图3中的ADD1与ADD2)来实现比较单元所比较的两个对象的“+1”操作,同时用减法器(图3中的SUB1)来实现value值减一的操作。也就是说,图3相较于图2而言,增加了一加法器与减法器,但是由于在计算split所采用的公式不同,图3在计算split值时少了结尾的加法操作,从而使得在解析每一 bit码流数据时的关键路径变短,满足时序要求。
[0061]基于图3的原理,如图4所示,发明人提供了一种VP9熵解码计算装置,,所述装置包括参数获取模块101、减法模块102、乘法模块103、移位模块104和比较模块105 ;所述参数获取模块101包括第一参数获取模块111、第二参数获取模块121和第三参数获取模块131 ;所述减法模块102包括第一减法模块112和第二减法模块122 ;所述第一参数获取模块111与第一减法模块112连接,所述第一减法模块112与乘法模块103连接,所述乘法模块103与第二参数获取模块121连接,所述乘法模块103与移位模块104连接;所述第三参数模块131与第二减法模块122连接,所述第二减法模块122与比较模块105连接,所述移位模块104与比较模块105连接;
[0062]所述第一参数获取模块111用于获取第一参数,所述第二参数获取模块121用于获取第二参数,所述第三参数获取模块131用于获取第三参数。在本实施方式中,所示第一参数为range值,第二参数为prob值,第三参数为value值。
[0063]所述第一减法模块112用于对所获取的第一参数执行第一减法操作,得到第一变量。在本实施方式在中,所述第一减法操作具体为:将第一参数的值减一,即公式(2)中的range-Ι。
[0064]所述乘法模块103用于将第一变量与第二参数相乘,得到第三变量。第三变量即公式(2)中的(range-1) *prob。prob值每一 bit码流数据有所不同,可以从该bit码流数据中获取。
[0065]所述移位模块104用于对第三变量进行移位操作,得到第四变量。在本实施方式中,所述移位操作具体为:将第三变量右移八位,即公式(2)中(range-1)*pr0b>>8,得到的第四变量即为所需的split值。
[0066]所述第二减法模块122用于对所获取的第三参数执行第二减法操作,得到第五变量。在本实施方式中,所述第二减法操作具体为:将第三参数的值-1,即value-1。
[0067]所述比较模块105用于判断第五变量是否大于第四变量,若是则输出第一码流值,并执行第一操作;否则输出第二码流值,并执行第二操作。所述第一码流值为1,所述第二码流值为0。即将calue-Ι的值与split进行比较,当(value-Ι)值不小于split值时,输出该bit码流数据的码流值为1,当(value-Ι)值小于split值时,输出该bit码流数据的码流值为0。
[0068]在某
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1