一种视频解码的方法及装置的制造方法_2

文档序号:9380973阅读:来源:国知局
残差值存储区域中提取每个待预测像素对应的残差值,将残差值与预测值相结合,获得待预测像素的重建值。
【附图说明】
[0047]图1为本发明实施例一提供的一种视频解码的方法流程图;
[0048]图2为本发明实施例横向扫描模式下处理待预测像素顺序的示意图;
[0049]图3为本发明实施例横向扫描模式下处理待预测像素顺序的示意图;
[0050]图4为本发明实施例纵向扫描模式下处理待预测像素顺序的示意图;
[0051]图5为本发明实施例纵向扫描模式下处理待预测像素顺序的示意图;
[0052]图6为本发明实施例待预测区域的参考像素序列示意图;
[0053]图7为本发明实施例按行读取残差存储区域中残差值的流程图;
[0054]图8为本发明实施例按列读取残差存储区域中残差值的流程图;
[0055]图9为本发明实施例二提供的一种视频解码的装置结构图。
【具体实施方式】
[0056]本发明实施例提供一种视频解码的方法及装置,以较低的运算复杂度实现高效率的视频解码。本发明实施例中根据帧内预测模式的扫描模式确定计算待预测像素的索引值和加权值时确定待预测像素的处理顺序,根据不同的处理顺序将所有待预测像素划分为不同集合,计算每个集合中任意一个待预测像素的索引值Hdx和加权值iFact,作为此集合中所有待预测像素的索引值iIdx和加权值iFact,通过待预测像素的索引值iIdx和加权值iFact计算出待预测像素的预测值,同时在残差存储区域中获取待预测像素对应的残差值,完成待预测像素的重建。
[0057]下面结合说明书附图对本发明实施例做进一步详细描述。
[0058]如图1所示,本发明实施例一提供的一种视频解码的方法流程图,该方法包括:
[0059]步骤101:针对一个待预测像素集合,确定该待预测像素集合中的一个待预测像素的加权值,并根据确定的该待预测像素集合中的一个待预测像素的加权值,确定该待预测像素集合中其他待预测像素的加权值,其中一个所述待预测像素集合包括待预测像素区域中处于同一行或同一列的所有待预测像素;
[0060]步骤102:针对一个待预测像素,根据该待预测像素的加权值,确定该待预测像素的预测值,并根据该待预测像素的残差值和确定的待预测像素的预测值,确定该待预测像素的重建值。
[0061]本发明实施例中帧内预测的Angular模式又划分为横向扫描模式和纵向扫描模式。Angular模式中通过预测模式号intraPredMode来区分各种预测模式,intraPredMode为正整数,取值范围为大于2,小于35。intraPredMode的数值大于等于18且小于等于34时,HEVC解码器会选择横向扫描模式,当intraPredMode大于I且小于18时,HEVC解码器会选择纵向扫描模式。在选择完扫描模式之后就需要对每个待预测像素的两个参数进行计算:待预测像素的索引值Hdx和加权值iFact。索引值ildx是为了在参考像素序列中确定待预测像素对应的参考像素。不同的参考像素对待预测像素具有不同的参考价值,加权值iFact是参考像素对待预测像素的影响因子。
[0062]不同的扫描模式下,计算待预测像素的索引值ildx和加权值iFact的公式是不同的,在横向扫描模式下索引值Hdx和加权值iFact的计算公式如下:
[0063]ildx = ((y+1)^intraPredAngle)>>5
[0064]iFact = ((y+1)^intraPredAngle)&3I
[0065]其中,intraPredAngle代表巾贞内预测方向的角度绝对值,intraPredAngle e {O,2,5,9,13,17,21,26,32},intraPredAngle是和预测模式号对应的,预测模式号确定之后就可以确定intraPredAngle的值,y代表待预测像素的纵坐标值,?代表比特位右移操作,&代表比特位按位与操作。
[0066]在纵向扫描模式下索引值ildx和加权值iFact的计算公式如下:
[0067]ildx = ((x+1)^intraPredAngle)>>5
[0068]iFact = ((x+1)^intraPredAngle)&3I
[0069]其中,intraPredAngle代表巾贞内预测方向的角度绝对值,intraPredAngle e {O,2,5,9,13,17,21,26,32},X代表待预测像素的横坐标值,》代表比特位右移操作,&代表比特位按位与操作。
[0070]根据上述不同扫描模式下的计算公式可以得出每个待预测像素的索引值ildx和加权值iFact,但是这种计算的效率非常低,因为每个待预测像素都要进行计算。
[0071]在HEVC中CTU(Coding Tree Unit,树形编码块)是最基本的编码单元。下面以16xl6CTU为例,介绍在横向扫描模式和纵向扫描模式下像素点预测顺序。
[0072]如图2所示,如果为横向扫描模式,当16xl6CTU划分为4个8x8CU(Coding Unit,编码单元)时,处理每个CU的顺序以及每个CU中待预测像素的处理顺序,其中CU是由CTU向下划分而来。201代表一个CTU内部⑶的处理顺序,202代表CTU中每个8X8⑶均作为一个TU(Transform Unit,变换单元)并且TU不继续向下划分时,TU内部处理待预测像素的顺序。CTU划分为其他大小⑶时,横向扫描处理的顺序也参照图2的方法,在此不再赘述。
[0073]一个⑶同样也可以划分为多个TU,当一个8x8⑶划分为4个4x4TU时,⑶中的TU处理顺序以及TU中待预测像素的处理顺序如图3所示。301代表一个⑶内部每个TU的处理顺序,302代表⑶中每个TU内部处理待预测像素的顺序。⑶划分为其他数量的TU时,横向扫描处理的顺序也参照图3的方法,在此不再赘述。
[0074]从图2和图3中可以看出,此时每次对一行的待预测像素按横向扫描顺序预测,每行预测结束之后转到下一行继续预测,直至预测结束。同样的,每次可以同时并行预测多行待预测像素,例如每次并行预测两行待预测像素时,从第一行和第二行分别开始预测,第一行预测结束之后转到第三行继续预测,第二行预测结束之后转到第四行继续预测,依次循环,直至结束。
[0075]在确定了待预测像素的处理顺序之后,根据上述公式可以看出在横向扫描模式下,intraPredAngle是一个定值,只有待预测像素的纵坐标值y是变量,因此每个待预测像素的索引值Hdx和加权值iFact都随着纵坐标值y的改变而改变,此时可以将具有相同纵坐标值y的待预测像素作为一个集合,也就是将同一行的待预测像素作为一个集合,这样在每个集合中只需计算一次索引值ildx和加权值iFact就可以得到整个集合中待预测像素的索引值ildx和加权值iFact。
[0076]如图4所示,如果为纵向扫描模式,处理顺序与横向扫描模式不同,以16xl6CTU为例。当16xl6CTU划分为4个8x8⑶时,401代表一个CTU内部⑶的处理顺序,402代表CTU中每个⑶均作为一个TU且TU不再继续划分时,TU内部处理待预测像素的顺序。CTU划分为其他大小的CU时,纵向扫描处理的顺序也参照图4的方法,在此不再赘述。
[0077]当一个8x8⑶划分为4个4x4TU时,⑶中的TU处理顺序以及TU中待预测像素的处理顺序如图5所示。501代表一个⑶内部每个TU的处理顺序,502代表⑶中每个TU内部处理待预测像素的顺序。CU划分为其他大小的TU时,纵向扫描处理的顺序也参照图5的方法,在此不再赘述。
[0078]从图4和图5中可以看出,此时每次对一列的待预测像素按纵向顺序预测,预测结束之后转到下一列继续预测。同样的,每次可以同时并行预测多列待预测像素,例如每次并行预测两列待预测像素时,从第一列和第二列分别开始预测,第一列预测结束之后转到第三列继续预测,第二列预测结束之后转到第四列继续预测,依次循环,直至结束。
[0079]在确定了待预测像素的处理顺序之后,在纵向扫描模式下可以将具有相同横坐标值X的待预测像素作为一个集合,也就是将同一列的待预测像素作为一个集合,这样在每个集合中只需计算一次索引值ildx和加权值iFact就可以得到整个集合中待预测像素的索引值ildx和加权值iFact。
[0080]其他大小的CTU,例如64x64CTU和32x32C
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1