当前位置: 首页 > 专利查询>清华大学专利>正文

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

技术编号:17366367 阅读:75 留言:0更新日期:2018-02-28 18:27
本发明专利技术实施例公开了视频数据编码、解码的方法及装置,用于便捷的对视频数据进行数据编码和解码。本发明专利技术实施例方法包括:算术编码;所述算术编码包括:获取图像数据二元符号;若所述二元符号为大概率符号MPS,则在对数域上对所述MPS对应的第一编码区间进行更新;若更新后的所述编码区间小于算术编码区间的预置范围时,则在对数域上对所述第一编码区间进行归一化处理;若所述二元符号为小概率符号LPS,则在原数域上对所述LPS对应的第二编码区间进行更新,并在原数域上对所述第二编码区间进行归一化处理。

A method and device for coding and decoding of video data

The embodiment of the invention discloses a method and device for encoding and decoding of video data, which is convenient for data encoding and decoding of video data. \u672c\u53d1\u660e\u5b9e\u65bd\u4f8b\u65b9\u6cd5\u5305\u62ec\uff1a\u7b97\u672f\u7f16\u7801\uff1b\u6240\u8ff0\u7b97\u672f\u7f16\u7801\u5305\u62ec\uff1a\u83b7\u53d6\u56fe\u50cf\u6570\u636e\u4e8c\u5143\u7b26\u53f7\uff1b\u82e5\u6240\u8ff0\u4e8c\u5143\u7b26\u53f7\u4e3a\u5927\u6982\u7387\u7b26\u53f7MPS\uff0c\u5219\u5728\u5bf9\u6570\u57df\u4e0a\u5bf9\u6240\u8ff0MPS\u5bf9\u5e94\u7684\u7b2c\u4e00\u7f16\u7801\u533a\u95f4\u8fdb\u884c\u66f4\u65b0\uff1b\u82e5\u66f4\u65b0\u540e\u7684\u6240\u8ff0\u7f16\u7801\u533a\u95f4\u5c0f\u4e8e\u7b97\u672f\u7f16\u7801\u533a\u95f4\u7684\u9884\u7f6e\u8303\u56f4\u65f6\uff0c\u5219\u5728\u5bf9\u6570\u57df\u4e0a\u5bf9\u6240\u8ff0\u7b2c\u4e00\u7f16\u7801\u533a\u95f4\u8fdb\u884c\u5f52\u4e00\u5316\u5904\u7406\uff1b\u82e5\u6240\u8ff0\u4e8c\u5143\u7b26\u53f7\u4e3a\u5c0f\u6982\u7387\u7b26\u53f7LPS\uff0c\u5219\u5728\u539f\u6570\u57df\u4e0a\u5bf9\u6240\u8ff0LPS\u5bf9\u5e94\u7684\u7b2c\u4e8c\u7f16\u7801\u533a\u95f4\u8fdb\u884c\u66f4\u65b0\uff0c\u5e76\u5728\u539f\u6570\u57df\u4e0a\u5bf9\u6240\u8ff0\u7b2c\u4e8c\u7f16\u7801\u533a\u95f4\u8fdb\u884c\u5f52\u4e00\u5316\u5904\u7406\u3002

【技术实现步骤摘要】
一种视频数据编码、解码的方法及装置
本专利技术涉及通信技术,尤其涉及一种视频编码和解码的处理方法和装置。
技术介绍
在视频编解码中,为了尽量减少传送视频数据所需要的带宽,可以采用多种视频压缩方法对视频数据进行压缩,其中视频压缩方法包括:帧内压缩和帧间压缩。现在多采用基于运动估计的帧间压缩方法。具体的,图像的编码端采用帧间压缩方法对图像压缩并编码的过程包括:编码端将待编码图像块划分成若干个大小相等的子图像块,然后针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测块,然后将该子图像块与预测块的相应像素值相减得到残差,并将该残差经变换与量化后得到的值进行熵编码,最后将熵编码得到的比特流和运动矢量信息等编码数据编码。在图像的解码端,首先获得熵编码比特流后进行熵解码,得到相应的残差,以及相应的运动矢量信息等编码数据;然后根据运动矢量信息在参考图像中获得相应的匹配图像块(即上述预测块),再根据匹配图像块中各像素点的值和残差值中对应像素点的值相加得到当前子图像块中各像素点的值。帧内预测是指利用本幅图像内的信息对图像块进行预测得到预测块,编码端根据预测模式、预测方向、图像块周围的像素值得到预测块对应的像素,将图像块像素与预测块像素相减得到残差,残差经变换、量化和熵编码后写入码流中;解码端解析码流,对码流进行熵解码、反量化、反变换后得到残差块,解码端根据预测模式、预测方向、图像块周围的像素值得到预测块,将残差块像素与预测块像素相加得到重构图像块。目前熵编码/熵解码模块中常用的编解码方法为算术编解码技术,算术编解码的基本思想是使用[0,1)中的实数来编码信源。理论上,可以依旧平稳独立信源符号序列的概率将固定区间分割成若干子区间,任一信源符号序列可以用其相应子区间内的小树来表示。序列长度趋近无穷大时编码效率趋近信源熵率。算术编解码的基本实现框架如下:1、将编码元素转变为二元符号串:由于待编码的语法元素,如图像单元模式、帧内预测模式、残差系数、运动矢量等,其数据往往不是二值化的,而算术编码引擎只能处理二值符号,因此在对语法元素进行编码前需要对这些语法元素进行二值化处理。所谓的二值化过程就是将多值符号转变为二至符号串的过程,例如当图像单元模式cu_type的值为3时进行二值化可以得到其二值符号串’1001’.二值化过程可以看作是一个变长编码过程,不共同的语法元素相同的数值往往得到不同的二元符号串。2、根据二元符号的值及其对应的概率值更新算术编码区间实现对二元符号的编码。算术编码过程中要用到2个基本的参数:各符号的概率估计值和当前区间值。输入符号更只有0和1两种取值。小概率符号(LeastProbableSymbol,LPS)指示0、1中概率估计值较小的那一个,其出现的概率取值范围为(0,0.5];与LPS定义相反,大概率符号(MostProbableSymbol,MPS)指示0、1中概率估计值较大的那一个,其出现的概率取值范围为[0,1)。当前编码区间用其区间大小R和下限值low表示,pLPS表示LPS的概率,pMPS表示MPS的概率,pLPS+pMPS=1。区间R和low的值更新如下:如果当前输入符号是MPS:RMPS=R×pMLPS;Lown+i=lown;如果当前输入符号是LPS:RLPS=R-R×pMLPS;lown+1=lown+Rn×pMLPS;通过对R和low值的维护,解码端可以解码得到二元符号串。由于在具体实现过程中区间R值和low值都是有限精度的,因此在算术编解码过程中需要使用归一化过程使得编码区间被限制在一定的范围内。归一化的基本原理是在R达到一定的精度下限后将R值和low值扩大一倍,然后判断R值是否满足精度要求,如果不满足继续执行归一化操作直到保证R值满足精度的要求。在进行算术编码时通常存在两种模式:1、一般模式,在该种模式下输入算术编码引擎编码的二元符号串中的每一个二元符号的概率往往各不相同,因此算术编码引擎在编码时需要输入两个参数:待编码的符号的值和该符号的概率。待编码的符号由二值化后的二值符号串按照顺序输入,该符号的概率则是由概率模型选择后得到;2、旁路模式(bypassmode),在该种模式下输入算术编码引擎编码的二元符号串中的每一个二元符号的概率均相同,一般情况下概率设为0.5,因此算术编码引擎在编码时只需输入待编码的符号的值既能完成编码。一般模式和旁路模式可以混合在一起进行编解码,即前一个二元符号使用一般模式进行编解码,后一个二元符号使用旁路模式进行编解码。一般来说,旁路模式的编解码复杂度低于一般模式。3、根据码流符号的值及其对应的概率值更新算术编码区间实现对二元码流符号的解码。算术解码过程中要用到2个基本的参数:各符号的概率估计值和当前区间值。输入符号更只有0和1两种取值。小概率符号(LeastProbableSymbol,LPS)指示0、1中概率估计值较小的那一个,其出现的概率取值范围为(0,0.5];与LPS定义相反,大概率符号(MostProbableSymbol,MPS)指示0、1中概率估计值较大的那一个,其出现的概率取值范围为[0,1)。当前编码区间用其区间大小R表示,算术编码区间的下限值的偏移量用offset来表示,pLPS表示LPS的概率,pMPS表示MPS的概率,pLPS+pMPS=1。区间R和offset的值更新如下:如果当前解码符号是MPS:RMPS=R×pMLPS;offsetn+1=lown;如果当前解码符号是LPS:RLPS=R-R×pMLPS;offsetn+1=offsetn-Rn×pMPS;通过对R和offset值的维护,解码端可以解码得到二元符号串。由于在具体实现过程中区间R值和offset值都是有限精度的,因此在算术编解码过程中需要使用归一化过程使得编码区间被限制在一定的范围内。归一化的基本原理是在R达到一定的精度下限后将R值和offfset值扩大一倍,然后判断R值是否满足精度要求,如果不满足继续执行归一化操作直到保证R值满足精度的要求。4、算术编码中的low和算术解码中offset意义是不一样的。算术编码中的low表示为编码区间的下限;算术解码中的offset为算术编码区间的下限值的偏移量。Low的初始化值一般为0,offset的初始化值为读入的码流信息。5、算术编码中更新前的第一编码区间和第二编码区间,均为算术编码区间。在现有技术中,算术编码的过程主要需要解决的是,编码区间更新过程中的乘法计算问题,尤其是在算术编码符号率较高的情况下,乘法由于其计算延时较长成为硬件设计的瓶颈。在现有技术中有通过查表方式来实现乘法代替操作,但查表操作仍存在一定复杂度,且编解码端需要存储查找表会带来存储开销。
技术实现思路
本专利技术实施例提供了一种视频数据编码、解码的方法及装置,用于便捷的对视频数据进行数据编码和解码。本专利技术实施例第一方面提供的视频数据编码方法,包括:算术编码;所述算术编码包括:获取图像数据的二元符号;若所述二元符号为大概率符号MPS,则在对数域上对所述MPS对应的第一编码区间进行更新;若更新后的所述编码区间小于算术编码区间的预置范围时,则在对数域上对所述第一编码区间进行归一化处理;若所述二元符号为小概率符号LPS,则在原数域上对所述本文档来自技高网
...
一种视频数据编码、解码的方法及装置

【技术保护点】
一种视频数据解码方法,其特征在于,包括:获取图像数据的二元码流,并初始化所述二元码流的算术编码区间以及码流指针,所述码流指针为所述算术编码区间的下限值的偏移量;在对数域中,根据大概率符号MPS的概率以及所述算术编码区间确定所述MPS对应的第一编码区间的区间值;当所述码流指针大于或等于所述第一编码区间的值,则确定当前解码得到的二元符号为小概率符号LPS,将所述算术编码区间的区间值更新为所述LPS对应的第二编码区间的区间值,且将所述码流指针的值更新为原所述码流指针与所述第一编码区间的上限值的差值;当所述码流指针小于所述第一编码区间的值,则确定当前解码得到的二元符号为MPS,并将所述算术编码区间的区间值更新为所述第一编码区的区间值,所述码流指针不变;其中,若当前的编码区间在对数域中,则所述确定当前解码得到的二元符号为小概率符号LPS之前,或所述确定当前解码得到的二元符号为MPS之前,包括:将所述编码区间由对数域转换至原数域中,所述码流指针的值和所述更新后码流指针的值为原数域的值。

【技术特征摘要】
2014.09.23 CN 20141049045221.一种视频数据解码方法,其特征在于,包括:获取图像数据的二元码流,并初始化所述二元码流的算术编码区间以及码流指针,所述码流指针为所述算术编码区间的下限值的偏移量;在对数域中,根据大概率符号MPS的概率以及所述算术编码区间确定所述MPS对应的第一编码区间的区间值;当所述码流指针大于或等于所述第一编码区间的值,则确定当前解码得到的二元符号为小概率符号LPS,将所述算术编码区间的区间值更新为所述LPS对应的第二编码区间的区间值,且将所述码流指针的值更新为原所述码流指针与所述第一编码区间的上限值的差值;当所述码流指针小于所述第一编码区间的值,则确定当前解码得到的二元符号为MPS,并将所述算术编码区间的区间值更新为所述第一编码区的区间值,所述码流指针不变;其中,若当前的编码区间在对数域中,则所述确定当前解码得到的二元符号为小概率符号LPS之前,或所述确定当前解码得到的二元符号为MPS之前,包括:将所述编码区间由对数域转换至原数域中,所述码流指针的值和所述更新后码流指针的值为原数域的值。2.根据所述权利要求1所述的方法,其特征在于,所述将所述编码区间由对数域转换至原数域中,包括:公式十:R2≈(1+t2)>>s2;所述R2为MPS对应的编码区间的区间值,s2和t2为所述第一编码区间的区间信息,所述s2为不小于在对数域中所述第一编码区间的整数,所述t2为小于1且大于或等于0的实数;满足所述公式十,计算得到所述第一编码区间的区间值。3.根据所述权利要求1所述的方法,其特征在于,所述将所述编码区间由对数域转换至原数域中,包括:公式十一:R2≈(256+t2)>>s2;所述R2为所述第一编码区间的值,所述s2为所述第一编码区间的区间信息,所述s2为不小于在对数域中所述第一编码区间的整数;当所述算术编码区间以9比特表示,所述t2以8bit精度表示时,满足所述公式十一,计算得到更新后的所述第二编码区间的值。4.根据所述权利要求2所述的方法,其特征在于,所述将所述码流指针的值更新为原所述码流指针与所述第一编码区间的上限值的差值,包括:公式十一:offsetnew=offset-R2;所述的offsetnew为更新后码流指针的值,所述的offset为码流指针的值,所述的R2为MPS对应的编码区间的区间值;满足所述公式十一,计算得到更新后的码流指针的值。5.根据所述权利要求2所述的方法,其特征在于,所述将所述码流指针的值更新为原所述码流指针与所述第一编码区间的上限值的差值,包括:公式十九:所述offset为所述码流指针,readbit(1)表示从码流中读取1比特内容,所述value_s和valuet为所述码流指针的区间信息,所述value_s为不小于在对数域中所述码流指针的整数,所述valuet为小于1且大于或等于0的实数;所述s2为所述第一编码区间的区间信息,所述s2为不小于在对数域中所述第一编码区间的整数,t2为小于1且大于或等于0的实数。满足所述公式十九,计算得到更新后的码流指针的值。6.根据所述权利要求1所述的方法,其特征在于,判断所述码流指针与所述第一编码区间的上限值的差值时,包括:如果当前码流指针的值为原数域,则根据权利要求4所述的方法更新码流指针的值。如果当前码流指针的值为对数域,则根据权利要求5所述的方法更新码流指针的值。7.根据所述权利要求1所述的方法,其特征在于,所述在对数域中,根据大概率符号MPS的概率以及所述算术编码区间确定所述MPS对应的第一编码区间的区间值,包括:公式十二:LG_R2=LG_R1+LG_...

【专利技术属性】
技术研发人员:余全合郑萧桢郑建铧何芸
申请(专利权)人:清华大学华为技术有限公司
类型:发明
国别省市:北京,11

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

1