1.一种视频编解码方法,其特征在于,包括:
获取视频信号;
将所述视频信号划分成多个编码块;
根据每个编码块生成残差编码块;
将所述残差编码块分割成多个子块,并且每个子块包括多个像素;
在所述残差编码块中的每个像素处,对残差符号级别进行熵编码;以及
输出包含熵编码残差符号级别的比特流;
其中,所述在所述残差编码块中的每个像素处,对残差符号级别进行熵编码包括:
基于所述像素的至少三个相邻像素的上下文信息,在变换跳过模式下对所述像素的残差符号级别进行上下文建模,所述像素的至少三个相邻像素包括:在所述残差编码块中,所述像素左侧的第一像素、上方的第二像素和左上对角线的第三像素。
2.根据权利要求1所述的方法,其特征在于,所述基于所述像素的至少三个相邻像素的上下文信息,在变换跳过模式下对所述像素的残差符号级别进行上下文建模包括:
扫描当前变换块中每个子块中的每个像素,并使用所述像素的三个相邻像素的上下文信息,在每个扫描位置处以所述变换跳过模式对第一扫描过程标志进行编码;
扫描所述当前变换块中每个子块中的每个像素,并使用在前一扫描过程中已编码的所述第一扫描过程标志,在每个扫描位置处对第二扫描过程标志进行编码;以及
扫描所述当前变换块中每个子块中的每个像素,并使用在前一扫描过程中已编码的所述第一扫描过程标志和所述第二扫描过程标志,在每个扫描位置处用哥伦布-莱斯golomb-rice码对所述变换系数的剩余绝对值进行编码。
3.根据权利要求2所述的方法,其特征在于,
所述第一扫描过程标志包括变换系数有效标志sig_coeff_flag、变换系数符号标志coeff_sign_flag、变换系数奇偶性标志par_level_flag和绝对级别大于1标志abs_level_gtx_flag[0];以及
所述第二扫描过程标志包括绝对级别大于x标志阵列abs_level_gtx_flag[i],其中对于i=1,2,3,4,x=(i<<1)+1;
所述以所述变换跳过模式对第一扫描过程标志进行编码包括:
以所述变换跳过模式对变换系数有效标志sig_coeff_flag、变换系数符号标志coeff_sign_flag、变换系数奇偶性标志par_level_flag和绝对级别大于1标志abs_level_gtx_flag[0]中的一个或多个进行编码。
4.根据权利要求3所述的方法,其特征在于,
所述变换系数有效标志sig_coeff_flag为位于所述当前变换块内一位置处的变换系数指示所述位置处的所述变换系数的值是否为非零,其中,当所述变换系数的值为非零,则所述变换系数有效标志的值为1,否则,所述变换系数有效标志的值为0;
所述变换系数符号标志coeff_sign_flag指示在所述扫描位置处具有非零值的所述变换系数的符号是否为负,其中,当所述符号为负,则所述变换系数符号标志的值为1,否则,所述变换系数符号标志的值为0;
所述变换系数级别奇偶性标志par_level_flag指示在所述扫描位置处所述变换系数的值的奇偶性;
所述绝对级别大于1标志abs_level_gtx_flag[0]指示在所述扫描位置处所述变换系数的绝对值是否大于1,其中,当所述绝对值大于1,则所述绝对级别大于1标志的值为1,否则,所述绝对级别大于1标志的值为0;以及
所述绝对级别大于x标志阵列abs_level_gtx_flag[i]指示在所述扫描位置处所述变换系数的绝对值是否大于x,其中,对于i=1,2,3,4,x=(i<<1)+1,当所述绝对值大于x,则所述绝对级别大于x标志的值为1,否则,所述绝对级别大于x标志的值为0。
5.根据权利要求4所述的方法,其特征在于,所述以所述变换跳过模式对所述变换系数有效标志sig_coeff_flag进行编码包括:
获取所述第一像素的变换系数有效标志leftsigflag、所述第二像素的变换系数有效标志abovesigflag和所述第三像素的变换系数有效标志diagonalsigflag,其中,当所述第一像素、所述第二像素和所述第三像素中的任意一个不在当前变换单元中,则将不在所述当前变换单元中的像素的变换系数有效标志的值设置为默认值零;
将(leftsigflag,abovesigflag,diagonalsigflag)的所有可能值分类为p个类,其中3<p≤8,并为每个类分配唯一的上下文增量偏移数ctxincoffset,使得0≤ctxincoffset≤p;
计算上下文索引增量ctxinc,其中ctxinc=k+ctxincoffset,k是所述变换跳过模式下所述变换系数有效标志的上下文的数量;
计算上下文模型索引ctxidx,其中ctxidx=ctxinc+ctxidxoffset;以及
使用所述上下文模型索引ctxidx,对所述变换系数有效标志sig_coeff_flag进行编码。
6.根据权利要求4所述的方法,其特征在于,所述以所述变换跳过模式对所述变换系数有效标志sig_coeff_flag进行编码包括:
获取所述第一像素的变换系数有效标志leftsigflag、所述第二像素的变换系数有效标志abovesigflag和所述第三像素的变换系数有效标志diagonalsigflag,其中,当所述第一像素、所述第二像素和所述第三像素中的任意一个不在所述当前变换单元中,则将不在所述当前变换单元中的像素的变换系数有效标志的值设置为默认值零;
将(leftsigflag,abovesigflag,diagonalsigflag)的所有可能值分类为4类,并为每个类分配唯一的上下文增量偏移数ctxincoffset,如下所示:
计算所述leftsigflag和所述abovesigflag的总和locnumsig,其中locnumsig=leftsigglag+abovesigflag;
计算上下文索引增量ctxinc,其中ctxinc=60+((locnumsig==1)?2*diagnoalsigflag+locnumsig:locnumsig);
计算上下文模型索引ctxidx,其中ctxidx=ctxinc+ctxidxoffset;以及
使用所述上下文模型索引对所述变换系数有效标志sig_coeff_flag进行编码。
7.根据权利要求4所述的方法,其特征在于,
将所述方法应用于变换单元的一个亮度变换单元,或者应用于所述变换单元的一个亮度变换单元和至少一个色度变换单元。
8.根据权利要求4所述的方法,其特征在于,所述以所述变换跳过模式对所述变换系数符号标志coeff_sign_flag进行编码包括:
获取所述第一像素的变换系数的符号leftsigflag、所述第二像素的变换系数的符号abovesigflag和所述第三像素的变换系数的符号diagonalsigflag,其中,当所述第一像素、所述第二像素和所述第三像素中的任意一个不在所述当前变换单元中,则将不在所述当前变换单元中的像素的变换系数的符号的值设置为默认值零;
将(leftsigflag,abovesigflag,diagonalsigflag)的所有可能值分类为q个类,其中3<q≤27,并为每个类分配唯一的上下文增量偏移数ctxincoffset,使得0≤ctxincoffset≤q;
计算上下文索引增量ctxinc,其中ctxinc=ctxincoffset+(intra_bdpcm_flag==0?0:n),其中,intra_bdpcm_flag是指示是否将模糊差分脉冲编码调制bdpcm应用于位置(x0,y0)处的当前亮度编码块的标志;在所述变换跳过模式下,当intra_bdpcm_flag不存在时,推断其等于0;
计算上下文模型索引ctxidx,其中ctxidx=ctxinc+ctxidxoffset;以及
使用所述上下文模型索引对所述变换系数符号标志coeff_sign_flag进行编码。
9.根据权利要求4所述的方法,其特征在于,所述以所述变换跳过模式对所述变换系数符号标志coeff_sign_flag进行编码包括:
获取所述第一像素的变换系数的符号leftsigflag、所述第二像素的变换系数的符号abovesigflag和所述第三像素的变换系数的符号diagonalsigflag,其中,当所述第一像素、所述第二像素和所述第三像素中的任意一个不在所述当前变换单元中,则将不在所述当前变换单元中的像素的变换系数的符号的值设置为默认值零;
将(leftsigflag,abovesigflag,diagonalsigflag)的所有可能值分类为5类,并为每个类分配唯一的上下文增量偏移数ctxincoffset,如下所示:
计算上下文索引增量ctxinc,其中ctxinc=ctxincoffset+(intra_bdpcm_flag==0?0:5:n),其中,intra_bdpcm_flag是指示是否将bdpcm应用于位置(x0,y0)处的当前亮度编码块的标志;在所述变换跳过模式下,当intra_bdpcm_flag不存在时,推断其等于0;
计算上下文模型索引ctxidx,其中ctxidx=ctxinc+ctxidxoffset;以及
使用所述上下文模型索引对所述变换系数符号标志coeff_sign_flag进行编码。
10.根据权利要求4所述的方法,其特征在于,所述以所述变换跳过模式对所述变换系数符号标志coeff_sign_flag进行编码包括:
获取所述第一像素的变换系数的符号leftsigflag、所述第二像素的变换系数的符号abovesigflag和所述第三像素的变换系数的符号diagonalsigflag,其中,当所述第一像素、所述第二像素和所述第三像素中的任意一个不在所述当前变换单元中,则将不在所述当前变换单元中的像素的变换系数的符号的值设置为默认值零;
将(leftsigflag,abovesigflag,diagonalsigflag)的所有可能值分类为5类,并为每个类分配唯一的上下文增量偏移数ctxincoffset,如下所示:
计算上下文索引增量ctxinc,其中ctxinc=ctxincoffset+(intra_bdpcm_flag==0?0:5:n),其中,intra_bdpcm_flag是指示是否将bdpcm应用于位置(x0,y0)处的当前亮度编码块的标志;在所述变换跳过模式下,当intra_bdpcm_flag不存在时,推断其等于0;
计算上下文模型索引ctxidx,其中ctxidx=ctxinc+ctxidxoffset;以及
使用所述上下文模型索引对所述变换系数符号标志sig_coeff_flag进行编码。
11.根据权利要求4所述的方法,其特征在于,所述对所述变换系数符号标志coeff_sign_flag进行编码包括:
获取所述第一像素的变换系数的符号leftsigflag、所述第二像素的变换系数的符号abovesigflag和所述第三像素的变换系数的符号diagonalsigflag,其中,当所述第一像素、所述第二像素和所述第三像素中的任意一个不在所述当前变换单元中,则将不在所述当前变换单元中的像素的变换系数的符号的值设置为默认值零;
将(leftsigflag,abovesigflag,diagonalsigflag)的所有可能值分类为5类,并为每个类分配唯一的上下文增量偏移数ctxincoffset,如下所示:
计算上下文索引增量ctxinc,其中ctxinc=ctxincoffset+(intra_bdpcm_flag==0?0:5:n),其中,intra_bdpcm_flag是指示是否将bdpcm应用于位置(x0,y0)处的当前亮度编码块的标志;在所述变换跳过模式下,当intra_bdpcm_flag不存在时,推断其等于0;
计算上下文模型索引(ctxidx),其中ctxidx=ctxinc+ctxidxoffset;以及
使用所述上下文模型索引对所述变换系数符号标志进行编码。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述多个子块为4x4or2x2子块。
13.一种视频编解码装置,其特征在于,包括:
获取模块,用于获取视频信号;
划分模块,用于将所述视频信号划分成多个编码块;
生成模块,用于根据每个编码块生成残差编码块;
分割模块,用于将所述残差编码块分割成多个子块,并且每个子块包括多个像素;
熵编码模块,用于在所述残差编码块中的每个像素处,对残差符号级别进行熵编码;以及
输出模块,用于输出包含熵编码残差符号级别的比特流;
其中,所述熵编码模块用于:
基于所述像素的至少三个相邻像素的上下文信息,在变换跳过模式下对所述像素的残差符号级别进行上下文建模,所述像素的至少三个相邻像素包括:在所述残差编码块中,所述像素左侧的第一像素、上方的第二像素和左上对角线的第三像素。
14.根据权利要求13所述的装置,其特征在于,所述熵编码模块用于:
扫描当前变换块中每个子块中的每个像素,并使用所述像素的三个相邻像素的上下文信息,在每个扫描位置处以所述变换跳过模式对第一扫描过程标志进行编码;
扫描所述当前变换块中每个子块中的每个像素,并使用在前一扫描过程中已编码的所述第一扫描过程标志,在每个扫描位置处对第二扫描过程标志进行编码;以及
扫描所述当前变换块中每个子块中的每个像素,并使用在前一扫描过程中已编码的所述第一扫描过程标志和所述第二扫描过程标志,在每个扫描位置处用哥伦布-莱斯golomb-rice码对所述变换系数的剩余绝对值进行编码。
15.根据权利要求14所述的装置,其特征在于,
所述第一扫描过程标志包括变换系数有效标志sig_coeff_flag、变换系数符号标志coeff_sign_flag、变换系数奇偶性标志par_level_flag和绝对级别大于1标志abs_level_gtx_flag[0];以及
所述第二扫描过程标志包括绝对级别大于x标志阵列abs_level_gtx_flag[i],其中对于i=1,2,3,4,x=(i<<1)+1。
16.根据权利要求15所述的系统,其特征在于,
所述变换系数有效标志sig_coeff_flag为位于所述当前变换块内一位置处的变换系数指示所述位置处的所述变换系数的值是否为非零,其中,当所述变换系数的值为非零,则所述变换系数有效标志的值为1,否则,所述变换系数有效标志的值为0;
所述变换系数符号标志coeff_sign_flag指示在所述扫描位置处具有非零值的所述变换系数的符号是否为负,其中,当所述符号为负,则所述变换系数符号标志的值为1,否则,所述变换系数符号标志的值为0;
所述变换系数级别奇偶性标志par_level_flag指示在所述扫描位置处所述变换系数的值的奇偶性;
所述绝对级别大于1标志abs_level_gtx_flag[0]指示在所述扫描位置处所述变换系数的绝对值是否大于1,其中,当所述绝对值大于1,则所述绝对级别大于1标志的值为1,否则,所述绝对级别大于1标志的值为0;以及
所述绝对级别大于x标志阵列abs_level_gtx_flag[i]指示在所述扫描位置处所述变换系数的绝对值是否大于x,其中,对于i=1,2,3,4,x=(i<<1)+1,当所述绝对值大于x,则所述绝对级别大于x标志的值为1,否则,所述绝对级别大于x标志的值为0。
17.一种计算机设备,其特征在于,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序指令,所述至少一条程序指令由所述一个或多个处理器加载并执行,以实现所述权利要求1-12任一项所述的视频编解码方法。