一种用于视频编码的码率估计方法

文档序号:7782884阅读:533来源:国知局
一种用于视频编码的码率估计方法
【专利摘要】本发明公开一种用于视频编码的码率估计方法,包括:S1.将变换单元划分成多个4x4的系数子块,提取系数子块的特征参数;S2.根据特征参数,对系数子块进行分组;S3.根据分组,计算系数子块产生的编码长度Rcoeff;S4.根据采用哥伦布编码的系数个数,计算系数子块最优编码总长度Ropt;S5.根据采用哥伦布编码的最大系数,计算哥伦布编码补偿值Rc;S6.重复步骤S1~S5,计算所有系数子块的编码总长度Rtotal;S7.计算LastXY编码长度Rlastxy;S8.计算辅助信息编码总长度Rside;S9.根据Rtotal、Rlastxy和Rside,计算变换单元的码率估计值R。
【专利说明】一种用于视频编码的码率估计方法
【技术领域】
[0001]本发明涉及视频处理【技术领域】,特别涉及一种用于视频编码的码率的估计方法。【背景技术】
[0002]高效视频编码(High Efficiency Video Coding, HEVC)标准采用灵活的编码块划分方法,针对不同的目的,将待压缩图像划分成不同的像素单元,包括编码单元(CodingUnit, CU)、变换单兀(Transform Unit, TU)和预测单兀(Prediction Unit, PU)。在编码过程中,编码器必须尝试所有的⑶/PU/TU组合,来寻找最佳的编码方式,即具有最小的率失真代价(Rate-Distortion Cost, RD Cost)的编码方式,此过程称为率失真优化(Rate-Distortion Optimization, RDO)。RD Cost是同时考虑编码的码率和失真这两个对立事物之后得出的用来评估编码效率的指标。在HEVC的参考软件HM中,码率R是通过对残差进行变换、量化之后的系数以及辅助信息进行熵编码后获得的,失真D是通过将原始图像块与通过反量化、反变换重建出来的图像块求差获得的,RD Cost通过公式
[0003]RD Cost=D+入 R
[0004]求得。在HEVC标准中,为了提高编码效率,熵编码器采用自适应二元算数编码(CABAC)。CABAC虽然具有较高的压缩率,但编码过程较复杂,计算非常耗时。如果采用HEVC参考软件中的做法,直接使用CABAC熵编码器来计算码率R,由于RDO过程会搜索各种编码模式,反复进行复杂的CABAC熵编码过程使得编码速度非常慢。

【发明内容】

[0005](一)解决的技术问题
[0006]本发明解决的技术问题是目前熵编码器采用自适应二元算数编码(CABAC),直接使用CABAC熵编码器来计算码率R,由于RDO过程会搜索各种编码模式,反复进行复杂的CABAC熵编码过程使得编码速度非常慢。
[0007](二)技术方案
[0008]为了解决上述问题,本发明提出一种用于视频编码的码率估计方法,该方法包括:
[0009]S1.将变换单元TU划分成多个4x4的系数子块,提取系数子块的特征参数;
[0010]S2.根据特征参数,对系数子块进行分组;
[0011]S3.根据分组,计算系数子块产生的编码长度Rrarff ;
[0012]S4.根据采用哥伦布编码的系数个数,计算系数子块最优编码总长度Rtjpt ;
[0013]S5.根据采用哥伦布编码的最大系数,计算哥伦布编码补偿值R。;
[0014]S6.重复步骤SI?S5,计算所有系数子块的编码总长度Rtotal ;
[0015]S7.计算 LastXY 编码长度 Rlastxy ;
[0016]S8.计算辅助信息编码总长度Rside ;
[0017]S9.将Rtotal、Rlastxy和Rside求和,计算整个变换单元熵编码产生的码率估计值R。[0018]其中,在步骤S1中,所述特征参数包括:
[0019]ηnz:系数子块中非零系数的个数;
[0020]ηz:在第一个非零系数之后,零系数的个数;
[0021]ηlz:在第一个非零系数之前,零系数的个数;
[0022]ηzb零系数块”个数,所述零系数块为连续的若干个零系数;
[0023]ηo:在前8个非零系数中,非零系数为I的个数;
[0024]ηgl:在前8个非零系数中,非零系数大于I的个数。
[0025]其中,在步骤S2中,所述分组包括:
[0026]S21.设置参数CBFb和CBFp判断系数子块下方子块是否包含非0系数,若包含,则CBFb=I,否则CBFb=O ;判断系数子块右方子块是否包含非0系数,若包含,则CBF^l,否则,CBFr=O ;
[0027]S22.判断系数子块的属性,若系数子块为亮度子块,则执行步骤S23,若系数子块为色度子块,则执行步骤S24;
[0028]S23.按照图3所示流程进行分组;
[0029]S24.按照图4所示流程进行分组。
[0030]其中,在步骤S3中,所述RMeff的计算包括:
[0031]设HiJk为常数,其中0≤i≤1,1≤j≤13,0≤k≤5。
[0032]S31.判断系数子块的属性,若系数子块为亮度子块,则设i=0 ;若系数子块为色度子块,则设i=l ;
[0033]S32.判断系数子块所在组的组号,若组号为1,则判断11。=1是否成立,若成立,则^coeff-Hij (|,否则 Rcoeff-Hi, 1; 1 ;
[0034]若组号为3 =Rcoeff=Hi,3,0X;
[0035]若组号为j,其中j关I且j关3,则
[0036]Rcoeff-Hi,j,” …Hi,丄5] X [ nnz,rIz? rUz, nzb,n。,ngl]。
[0037]其中,在步骤S4中,所述R_的计算包括:
[0038]设X为被编码系数,定义最优编码长度函数f(x):
[0039]
【权利要求】
1.一种用于视频编码的码率估计方法,其特征在于,该方法包括: S1.将变换单元TU划分成多个4x4的系数子块,提取系数子块的特征参数; S2.根据特征参数,对系数子块进行分组; S3.根据分组,计算系数子块产生的编码长度Rc^ff; S4.根据采用哥伦 布编码的系数个数,计算系数子块最优编码总长度R_; S5.根据采用哥伦布编码的最大系数,计算哥伦布编码补偿值R。; S6.重复步骤SI~S5,计算所有系数子块的编码总长度Rttrtal; S7.计算LastXY编码长度Rlastxy; S8.计算辅助信息编码总长度Rside; S9.将Rt(rtal、Rlastxy和Rside求和,计算整个变换单元熵编码产生的码率估计值R。
2.根据权利要求1所述的方法,其特征在于,在步骤SI中,所述特征参数包括: nnz:系数子块中非零系数的个数; nz:在第一个非零系数之后,零系数的个数; nlz:在第一个非零系数之前,零系数的个数; nzb零系数块”个数,所述零系数块为连续的若干个零系数; n。:在前8个非零系数中,非零系数为I的个数; ngl:在前8个非零系数中,非零系数大于I的个数。
3.根据权利要求2所述的方法,其特征在于,在步骤S2中,所述分组包括: S21.设置参数CBFb和CBFp判断系数子块下方子块是否包含非O系数,若包含,则CBFb=I,否则CBFb=O ;判断系数子块右方子块是否包含非0系数,若包含,则CBF^l,否则,CBFr=O ; S22.判断系数子块的属性,若系数子块为亮度子块,则执行步骤S23,若系数子块为色度子块,则执行步骤S24; S23.按照图3所示流程进行分组; S24.按照图4所示流程进行分组。
4.根据权利要求1所述的方法,其特征在于,在步骤S3中,所述R_ff的计算包括: 设Huk为常数,其中0≤i≤1,1≤j≤13,0≤k≤5。 S31.判断系数子块的属性,若系数子块为亮度子块,则设i=0;若系数子块为色度子块,则设i=l ; S32.判断系数子块所在组的组号,若组号为1,则判断1=1是否成立,若成立,则^coeff-Hij (|,否则 Rcoeff-Hi, 1; 1 ; 若组号为3:

Rcoeff =Hij3j0X H Z+Hi, 3,1 ; 若组号为j,其中j古I且j古3,则
Rcoeff-[Hi,丄O,Hi,j,” …HiJ5] X [ r[nz, nz, rIizj rIzb, r10, rIg1]。
5.根据权利要求1所述的方法,其特征在于,在步骤S4中,所述R_的计算包括: 设X为被编码系数,定义最优编码长度函数f(x):
6.根据权利要求1所述的方法,其特征在于,在步骤S5中,所述R。的计算包括: 设系数子块中进行哥伦布编码的最大系数为x_,F1~F4为常数,其中F^F2JXF4,则
7.根据权利要求1所述的方法,其特征在于,在步骤S6中,所述Rtotal的计算包括: 设当前变换单元TU中共有m个4x4子块,其中第i个系数子块的1?。。@、1?_、艮、Hnz值分力1J 为 Rc()eff—1、R0pt_1、Re—1、nz_i,则

8.根据权利要求1所述的方法,其特征在于,在步骤S7中,所述Rlastxy的计算包括: 定义函数h(x):

9.根据权利要求1所述的方法,其特征在于,在步骤S8中,所述Rside的计算包括: 设量化参数为QP^ i种辅助信息的第j位值为v(i,j), Mi;Jj0j0,Mi;J,0;1,Mi;J,1;0,Mi;J,1;1为常数,则
【文档编号】H04N19/169GK103686176SQ201310744117
【公开日】2014年3月26日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】刘振宇, 郭三川, 汪东升 申请人:清华大学, 华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1