【技术实现步骤摘要】
一种视频数据编码、解码的方法及装置
本专利技术涉及通信技术,尤其涉及一种视频编码和解码的处理方法和装置。
技术介绍
在视频编解码中,为了尽量减少传送视频数据所需要的带宽,可以采用多种视频 压缩方法对视频数据进行压缩,其中视频压缩方法包括:帧内压缩和帧间压缩。现在多采用 基于运动估计的帧间压缩方法。具体的,图像的编码端采用帧间压缩方法对图像压缩并编 码的过程包括:编码端将待编码图像块划分成若干个大小相等的子图像块,然后针对每个 子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测块,然后将该子图 像块与预测块的相应像素值相减得到残差,并将该残差经变换与量化后得到的值进行熵编 码,最后将熵编码得到的比特流和运动矢量信息等编码数据编码。在图像的解码端,首先获 得熵编码比特流后进行熵解码,得到相应的残差,以及相应的运动矢量信息等编码数据;然 后根据运动矢量信息在参考图像中获得相应的匹配图像块(即上述预测块),再根据匹配 图像块中各像素点的值和残差值中对应像素点的值相加得到当前子图像块中各像素点的 值。帧内预测是指利用本幅图像内的信息对图像块进行预测得到预测块,编码端根据预测 模式、预测方向、图像块周围的像素值得到预测块对应的像素,将图像块像素与预测块像素 相减得到残差,残差经变换、量化和熵编码后写入码流中;解码端解析码流,对码流进行熵 解码、反量化、反变换后得到残差块,解码端根据预测模式、预测方向、图像块周围的像素值 得到预测块,将残差块像素与预测块像素相加得到重构图像块。 目前熵编码/熵解码模块中常用的编解码方法为算术编 ...
【技术保护点】
一种视频数据编码方法,其特征在于,包括:算术编码; 所述算术编码包括: 获取图像数据的二元符号; 若所述二元符号为大概率符号MPS,则在对数域上对所述MPS对应的第一编码区间进行更新;若更新后的所述编码区间小于算术编码区间的预置范围时,则在对数域上对所述第一编码区间进行归一化处理;若所述二元符号为小概率符号LPS,则在原数域上对所述LPS对应的第二编码区间进行更新,并在原数域上对所述第二编码区间进行归一化处理。
【技术特征摘要】
2014.09.23 CN 20141049045221. 一种视频数据编码方法,其特征在于,包括:算术编码; 所述算术编码包括: 获取图像数据的二元符号; 若所述二元符号为大概率符号MPS,则在对数域上对所述MPS对应的第一编码区间进 行更新;若更新后的所述编码区间小于算术编码区间的预置范围时,则在对数域上对所述 第一编码区间进行归一化处理;若所述二元符号为小概率符号LPS,则在原数域上对所述 LPS对应的第二编码区间进行更新,并在原数域上对所述第二编码区间进行归一化处理。2. 根据所述权利要求1所述的方法,其特征在于,所述在对数域上对所述MPS对应的第 一编码区间进行更新之前,包括: 若当前的编码区间为原数域,则根据对数与原数间的近似换算法将所述编码区间由原 数域转换为对数域。3. 根据所述权利要求1所述的方法,其特征在于,所述在原数域上对所述LPS对应的第 二编码区间进行更新之前,包括: 若当前的编码区间为对数域,则根据对数与原数间的近似换算法将所述编码区间由对 数域转换为原数域。4. 根据所述权利要求3所述的方法,其特征在于,所述在原数域上对所述LPS对应的第 二编码区间进行更新,包括: 根据所述第一编码区间的概率,所述算术编码区间的区间信息以及第一编码区间的区 间信息,确定更新后的所述第二编码区间的区间值。5. 根据所述权利要求3所述的方法,其特征在于,所述在原数域上对所述LPS对应的第 二编码区间进行更新,还包括: 根据所述第一编码区间的区间值,确定更新后的所述第二编码区间的下限值。6. 根据所述权利要求3所述的方法,其特征在于,所述根据对数与原数间的近似换算 法将所述编码区间由对数域转换为原数域,包括:公式一: 公式二: 所述Rl和R2分别为在原数域中所述算术编码区间和所述第一编码区间的区间值,所 述si和tl为所述算术编码区间的区间信息,所述s2和t2为所述第一编码区间的区间信 息,所述si为不小于在对数域中所述算术编码区间的整数,所述s2为不小于在对数域中所 述第一编码区间的整数,所述tl和t2皆为小于1且大于或等于O的实数;所述R ujsi为在 原数域中更新前所述第二编码区间的区间值; 满足所述公式一,根据对数与原数间的近似换算法,所述算术编码区间的区间信息以 及第一编码区间的区间信息,分别确定在原数域中所述算术编码区间和所述第一编码区间 的区间值; 满足所述公式二,根据在原数域中所述算术编码区间和所述第一编码区间的区间值, 确定更新后前的所述第二编码区间的区间值。7. 根据所述权利要求6所述的方法,其特征在于,所述根据所述MPS的概率,所述算术 编码区间的区间信息以及第一编码区间的区间信息,确定更新后的所述第二编码区间的区 间值,包括: 公式三:LG_Pmps = LG_R1 - LG_R2 = si - tl - s2+t2 ; 公式四:所述LG_PpS为在对数域中所述第一编码区间的概率,所述LG_R1和LG_R2分别为在对 数域中所述算术编码区间和所述第一编码区间的区间值;所述Rujs为在原数域中更新后的 所述第二编码区间的区间值; 满足所述公式三,根据所述算术编码区间的区间信息以及第一编码区间的区间信息确 定所述LG_Pmps的算术表达式; 满足所述公式四,并结合所述公式二和所述公式三进行转换,得到更新后的所述第二 编码区间的区间值。8. 根据所述权利要求5所述的方法,其特征在于,所述根据所述第一编码区间的区间 值,确定更新后的所述第二编码区间的下限值,包括: 公式五:l〇w2 = lowl+R2 = low+2-s2+t2 ?Iowl+(l+t2) >> s2 ; 所述l〇w2为在原数域中更新后的所述第二编码区间的下限值,所述Iowl为在原数域 中更新前的所述第二编码区间的下限值,所述R2为在原数域中所述第一编码区间的区间 值; 满足所述公式五,根据对数与原数间的近似换算法,得到更新后的所述第二编码区间 的区间值。9. 根据所述权利要求1所述的方法,其特征在于,所述在对数域上对所述第一编码区 间进行归一化处理,包括: 公式六:LG_R2⑵=LG_R2⑴+1 ; 所述LG_R2(2)为在对数域中归一化后的所述第一编码区间的区间值,所述LG_R2(1)为 在对数域中归一化前的所述第一编码区间的区间值; 满足所述公式六,计算得到在对数域中归一化后的所述第一编码区间的区间值。10. 根据所述权利要求1所述的方法,其特征在于,所述在对数域上对所述MPS对应的 第一编码区间进行更新之后,包括: 公式七:所述si和tl为所述算术编码区间的区间信息,所述s2和t2为所述第一编码区间的 区间信息,所述si为不小于在对数域中所述算术编码区间的整数,所述s2为不小于在对数 域中所述第一编码区间的整数,所述tl和t2皆为小于1且大于或等于0的实数; 在完成所述第一编码区间的更新之后,满足所述公式七,将s2、t2的值赋值给si、tl。11. 根据所述权利要求10所述的方法,其特征在于,所述在对数域上对所述第一编码 区间进行归一化处理之前,包括: 根据更新后的所述si判断编码MPS完成后是否需要进行归一化操作,当所述si大于 O时,则对所述第一编码区间进行归一化操作。12. 根据所述权利要求7所述的方法,其特征在于,所述在原数域上对所述第二编码区 间进行归一化处理,包括: 对所述公式四中的^s2进行二进制计算的左移操作; 对所述公式四中的(tl_t2)或(l+tl〈〈l)-t2进行二进制计算的左移操作; 当Ts2左移s2位,且(tl_t2)或(l+tl〈〈l) _t2左移q位时,所述第二编码区间实现归 一化,所述q为所述编码区间的算术精度。13. 根据所述权利要求3所述的方法,其特征在于,所述根据对数与原数间的近似换算 法将所述编码区间由对数域转换为原数域,还包括: 公式八:所述Rl和R2分别为在原数域中所述算术编码区间和所述第一编码区间的值,所述si 为所述算术编码区间的区间信息,所述s2为所述第一编码区间的区间信息,所述si为不小 于在对数域中所述算术编码区间的整数,所述s2为不小于在对数域中所述第一编码区间 的整数; 当所述算术编码区间以9比特表示,所述tl和t2以Sbit精度表示时,满足所述公式 七,计算得到更新前的所述第二编码区间的值。14. 根据所述权利要求13所述的方法,其特征在于,根据所述第一编码区间的概率,所 述算术编码区间的区间信息以及第一编码区间的区间信息,确定更新后的所述第二编码区 间的值,还包括: 当LG_PpS的精度等于tl的精度时,若tl大于等于LG_PpS,贝U s2 = sl,t2 = tl-LG_ FVs ;若小于 LG_Pmps,则 s2 = sl+1,t2 = 256+tl - LG_Pmps ; 在旁路模式下,s2 = sl+1,t2 = tl ; 所述LG_Pmps为在对数域中所述第一编码区间的概率,所述tl为所述算术编码区间的 区间信息,所述t2为所述第一编码区间的区间信息,所述tl和t2皆为小于1且大于或等 于〇的实数。15. 根据所述权利要求13所述的方法,其特征在于,根据所述第一编码区间的概率,所 述算术编码区间的区间信息以及第一编码区间的区间信息,确定更新后的所述第二编码区 间的值,还包括: 当所述LG_PpS的精度高于tl的精度时,若tl大于等于LG_Pmps?LG_PMPS_SHIFTNO,则 s2 = si,t2 = tl-LG_PMPS ;若小于 IiuvsAIi^PMPS-SHIFTNO,则 s2 = sl+1,t2 = 256+tl -(LG_Pmps?LG_PMPS_SHIFTNO); 所述LG_Pmps为在对数域中所述第一编码区间的概率,所述tl为所述算术编码区间的 区间信息,所述t2为所述第一编码区间的区间信息,所述tl和t2皆为小于1且大于或等 于〇的实数,所述LG_PMPS_SHIFTNO为所述LG_Pp S与所述tl、t2的比特位数的差值。16. 根据权利要求15所述的方法,在旁路模式下,所述s2等于所述sl+Ι,所述t2等于 所述tl。17. 根据所述权利要求7所述的方法,其特征在于,所述在原数域上对所述第二编码区 间进行归一化处理,包括: 当所述算术编码区间以9比特表示,所述tl和t2以8bit精度表示,且所述LG_PpS的 精度高于tl的精度时,所述第二编码区间进行归一化满足公式八; 所述公式九:对所述公式四中的^s2进行二进制计算的左移操作; 对所述公式四中的(tl_t2)或(l+tl〈〈l)-t2进行二进制计算的左移操作; 当Ts2左移s2位,且(tl_t2)或(l+tl〈〈l) _t2左移q位时,所述第二编码区间实现归 一化,所述q为所述编码区间的算术精度,所述LG_PMPS_SHIFTNO为所述LG_Pmps与所述tl、 t2的比特位数的差值。18. -种视频数据解码方法,其特征在于,包括:算术编码; 所述算术编码包括: 获取图像数据的二元码流,并初始化所述二元码流的算术编码区间以及码流指针,所 述码流指针为所述算术编码区间的下限值的偏移量; 在对数域中,根据大概率符号MPS的概率以及所述算术编码区间确定所述MPS对应的 第一编码区间的区间值; 当所述码流指针大于或等于所述第一编码区间的值,则确定当前解码得到的二元符号 为小概率符号LPS,将所述算术编码区间的区间值更新为所述LPS对应的第二编码区间的 区间值,且将所述码流指针的值更新为原所述码流指针与所述第一编码区间的上限值的 差值; 当所述码流指针小于所述第一编码区间的值,则确定当前解码得到的二元符号为MPS, 并将所述算术编码区间的区间值更新为所述第一编码区的区间值,所述码流指针不变。19. 根据所述权利要求18所述的方法,其特征在于,若当前的编码区间在对数域中,则 所述确定当前解码得到的二元符号为小概率符号LPS之前,或所述确定当前解码得到的二 元符号为MPS之前,包括: 将所述编码区间由对数域转换至原数域中,所述码流指针的值和所述更新后码流指针 的值为原数域的值。20. 根据所述权利要求19所述的方法,其特征在于,所述将所述编码区间由对数域转 换至原数域中,包括: 公式十:R2 ^ (l+t2) >> s2 ; 所述R2为MPS对应的编码区间的区间值,s2和t2为所述第一编码区间的区间信息, 所述s2为不小于在对数域中所述第一编码区间的整数,所述t2皆为小于1且大于或等于 〇的实数; 满足所述公式十,计算得到所述第一编码区间的区间值。21. 根据所述权利要求19所述的方法,其特征在于,所述将所述编码区间由对数域转 换至原数域中,包括: 公式i^一 :R2 --(256+t2)?s2 所述R2为所述第一编码区间的值,所述s2为所述第一编码区间的区间信息,所述s2 为不小于在对数域中所述第一编码区间的整数; 当所述算术编码区间以9比特表示,所述tl和所述t2以Sbit精度表示时,满足所述 公式十一,计算得到更新后的所述第二编码区间的值。22. 根据所述权利要求20所述的方法,其特征在于,所述将所述码流指针的值更新为 原所述码流指针与所述第一编码区间的上限值的差值,包括: 公式^ :offsetnew = offset-R2 ; 所述的〇ffset_new为更新后码流指针的值,所述的offset为码流指针的值,所述的R2 为MPS对应的编码区间的区间值; 满足所述公式十一,计算得到更新后的码流指针的值。23. 根据所述权利要求20所述的方法,其特征在于,所述将所述码流指针的值更新为 原所述码流指针与所述第一编码区间的上限值的差值,包括: 公式十九:所述offset为所述码流指针,所述value_s和Valuet为所述码流指针的区间信息,所 述value_S为不小于在对数域中所述码流指针的整数,所述Valuet为小于1且大于或等于 〇的实数;所述s2为所述第一编码区间的区间信息,所述s2为不小于在对数域中所述第一 编码区间的整数,t2为小于1且大于或等于0的实数。 满足所述公式十九,计算得到更新后的码流指针的值。24. 根据所述权利要求23所述的方法,其特征在于,所述将所述码流指针的值更新为 原所述码流指针与所述第一编码区间的上限值的差值,包括: 当所述算术编码区间以9比特表示,所述tl和t2以Sbit精度表示,且所述LG_PpS的 精度高于tl的精度时,所述将所述码流指针的值更新为原所述码流指针与所述第一编码 区间的上限值的差值满足以下关系; 如果 s2 = value_s,则 Offset = value_t_t2 ; 如果 s2 = value_s+l,则 Offset = l+((value_t〈〈l) |readbit(l))_t2,其中符号 I 表示数学中或操作 对所述公式十九中的^s2进行二进制计算的左移操作。 对公式四中的^s2进行二进制计算的左移操作。25. 根据所述权利...
【专利技术属性】
技术研发人员:余全合,郑萧桢,郑建铧,何芸,
申请(专利权)人:清华大学,华为技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。