一种H.265/HEVC中8x8子宏块的并行帧内预测方法_3

文档序号:9755175阅读:来源:国知局
r>[0105](4.1.5)根据H.265/HEVC标准计算m = 0时8X8子宏块的预测值DC,并将该预测值DC拷贝至 Ref [17];
[0106](4.1.6)所有的2240个线程执行同步操作;
[0107](4.2)对8x8子宏块帧内预测执行预测,以生成35种模式的预测矩阵,如图9所示,本步骤具体包括以下子步骤;
[0108](4.2.1)线程序号为(x,y,m)的线程根据预测模式从参考位置表T2中依次读取2个偏移值1?1和1?2其中1?1 = 1'[111*168+8%+1],R2 = T[m*168+8*y+x+36]
[0109](4.2.2)根据预测模式,从参考值数组Ref中读取R1, R2以及Ro, 9和R9, ο分别对应的参考像素Ref [Ri]和Ref [R2]以及Ref [Ro,9]和Ref [R9,?];;
[0110](4.2.3)根据预测模式,从系数表Ti中读取相应的系数值a和b以及λ和μ ;
[0111](4.2.4)利用公式卩代(1(叉,:7,111) = (&.Ri+b.Ι?2+λ.Ro,9+y.R9,o+16)>>5计算得到待预测像素的预测值;
[0112](4.2.5)将所有预测像素的预测值写入内存,形成35种模式的8x8子宏块预测矩阵;
[0113](4.2.6)所有的2240个线程执行同步操作。
[0114](4.3)根据生成的35种模式的8x8子宏块预测矩阵并采用率失真优化策略决策出一种最优模式。
[0115]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种H.265/HEVC中8 X 8子宏块的并行帧内预测方法,其特征在于,所述方法包括以下步骤: (1)从已编码的视频帧中获取17个参考像素Ri,j,其中紅()、1?2,()、1?3,()、1?4,()、1^()、1?6,()、1?7,0和R8, O为从左到右排列的上方参考像素,1?9,0、1?1(),()、1?11,()、1?12,()、1?13,()、1?14,()、1?15,()和1?16,()为从左至1佑排列的右上方参考像素,办,1、办,2、办,3、办,4、办,5、办,6、办,7和办,8为从上到下排列的左侧参考像素,Ro, 9、Ro, ?ο、Ro, 11、Ro, 12、Ro, 13、Ro, 14、Ro, 15和Ro, 16为从上到下排列的左下方参考像素,办,0为左上方参考像素;其中待预测8\8子宏块中的像素为?^,16[1,8],_]_6[1,8],所有待预测像素Pu构成8X8子宏块,所述待预测像素在对应的子宏块内的坐标位置表示为(X,y); (2)根据获取的参考像素生成一个长度为36的空的参考值数组Ref,该参考值数组用于存储Ru的像素、两个随机生成的保留值和一个根据H.265/HEVC标准对17个参考像素进行计算生成的预测值DC; (3)根据H.265/HEVC中针对8 X 8子宏块的帧内预测计算公式和参考值数组Ref构造系数表T1和参考位置表T2; (4)根据步骤(3)构造的系数表T1和参考位置表TM8X 8子宏块执行基于CUDA的并行帧内预测,其共有2240个线程用于并行处理所有35种预测模式。2.根据权利要求1所述的并行帧内预测方法,其特征在于,步骤(3)包括以下子步骤: (3.1)将H.265/HEVC中针对8X8子宏块的帧内预测计算公式归纳成如下: 针对预测模式18-34,帧内预测公式如下: pred(x,y,m) = ((32-wy).Ri,o+wy.Ri+i,o+16)?5(I) cy=(y.d)?5(2) Wy= (y.d)&31(3) i = x+cy(4) 其中Ri,ο和Ri+i,ο是8 X8子宏块中的上方、右上方以及左上方参考像素,wy为权重因子,d为预测模式18-34中任一种预测模式相对于预测模式26的偏移量,X和y为待预测像素在对应的子宏块内的坐标位置,cy为与待预测像素纵坐标y有关的中间值,pred(X,y,m)是指坐标为(x,y)且预测模式为m的待预测像素的预测值,m表示8X8子宏块中帧内预测的18-34预测模式,(x,y,m)表示待预测像素对应的线程序号; 针对预测模式2-18,帧内预测公式如下: pred(x,y,m) = ((32-wx).Roj+wx.Ro,j+i+16)?5(5) Cx= (x.d)?5(6) Wx= (x.d)&31(7) j = y+cx(8) 其中Ro,j和Ro,j+i是8\8子宏块中的左侧、左下方以及左上方参考像素,¥\为权重因子,(1为预测模式2-18中任一种预测模式相对于预测模式10的偏移量,X和y为待预测像素在对应的子宏块内的坐标位置,Cx为与待预测像素横坐标X有关的中间值,pred(x,y,m)是指坐标为(x,y)且预测模式为m的像素的预测值,m表示8X8子宏块中帧内预测的2-18预测模式,(x,y,m)表示待预测像素对应的线程序号; 针对预测模式O,Plannar预测模式,帧内预测公式如下: predv(x,y,0) = (8-y).Rx,o+y.Ro,9(9) predH(x,y,0) = (8-x).Ro,y+y.Rg.0(10) pred(x,y,0) = (predv(x,y,m)+predH(x,y ,m)+8)>>4(11) 其中Rx,o是和待预测像素横坐标X位置所对应的上方参考像素,Ro,y是和待预测像素纵坐标y位置所对应的左侧参考像素,X和y为待预测像素在对应的子宏块内的坐标位置,pred(x,y,0)是指坐标为(x,y)且预测模式为O的像素的预测值,O表示8X8子宏块中帧内预测的预测模式0,(x,y,0)表示待预测像素对应的线程序号; 针对预测模式I,DC预测模式,帧内预测公式如下: pred(x,y,l)=DC(12) 其中,DC表示的是DC模式下的预测值,pred(X,y,l)是指坐标为(x,y)且预测模式为I的像素的预测值,I表示8X8子宏块中帧内预测的预测模式I,(x,y,l)表示待预测像素对应的线程序号; (3.2)进一步将公式(I)?公式(12)归纳成统一预测公式(13): pred(x,y,m) = (a.Ri+b.Ι?2+λ.Ro,9+y.R9,o+16)?5(13) 其中a,b,A,y是和(x,y,m)有关的系数值,且当预测模式m在0时,λ,μ均为O ;Ri和R2均为8x8子宏块中参考像素Ri, j或预测值DC,Ro, 9和R9, ο为对应位置的参考像素; (3.3)将得到的系数值a,b,λ和μ存储在系数表T1中,同时将得到的仏和1?2在参考值数组Ref中的偏移量存储至参考位置表T2中,其在参考位置表T2中的位置偏移分别为m*168+8*y+X和m*168+8*y+x+36。3.根据权利要求1或2所述的并行帧内预测方法,其特征在于,步骤(4)包括以下子步骤: (4.1)根据8X8子宏块中参考像素R1,」对参考值数组Ref进行初始化; (4.2)对8X 8子宏块帧内预测执行预测,以生成35种模式的预测矩阵; (4.3)根据生成的35种模式的预测矩阵并采用率失真优化策略决策出一种最优模式。4.根据权利要求3所述的并行帧内预测方法,其特征在于,步骤(4.1)包括以下子步骤: (4.1.1)判断当前像素对应的线程序号(1,7,!11)是否等于(0,0,0),若等于则转入步骤(4.1.2),否则转入步骤(4.1.5); (4.1.2)将左上方参考像素Ro,ο拷贝至Ref [O];(4.1.3)将左侧参考像素1?(),1、1?(),2、1?(),3、1?(),4、1?(),5、1?(),6、1?(),7、1?(),8和左下方参考像素1?0,9、Ro, ?ο、Ro, I1、Ro, 12、Ro, 13、Ro, 14、Ro, 15、Ro, 16 分别拷贝至 Ref[ I]、Ref[2]、Ref[3]、Ref[4]、Ref[5]、Ref[6]、Ref[7]、Ref[8]、Ref[9]、Ref[10]、Ref[ll]、Ref[12]、Ref[13]、Ref[14]、Ref[15]、Ref[16];(4.1.4)将上方参考像素1?1,()、1?2,()、1?3,()、1?4,()、1?5,()、1?6,()、1?7,()、1?8,()和右上方参考像素1?9,0、尺10,。、1?11,。、1?12,。、1?13,。、1?14,。、1?15,。、1?16,。分别拷贝至1^;1!'[20]、Ref[21 ]、Ref [22]、Ref [23]、Ref[24]、Ref[25]、Ref[26]、Ref[27]、Ref[28]、Ref[29]、Ref[30]、Ref[31]、Ref[32]、Ref[33]、Ref[34]^Ref[35]; (4.1.5)根据H.265/HEVC标准计算m = 0时8 X 8子宏块的预测值DC,并将该预测值DC拷贝至 Ref[17]; (4.1.6)所有的2240个线程执行同步操作。5.根据权利要求3所述的并行帧内预测方法,其特征在于,步骤(4.2)包括以下子步骤:(4.2.1)线程序号为(x,y,m)的线程根据预测模式从参考位置表T2中依次读取RjPR2,其中Ri = T2[m*168+8*y+x],R2 = T2[m*168+8*y+x+36]; (4.2.2)根据预测模式,从参考值数组Ref中读取R1,R2以及Ro,9和R9,ο分别对应的参考像素 Ref [R1^PRef [R2]以及 Ref [Ro,9]和 Ref [R9,ο]; (4.2.3)根据预测模式,从系数表T1中读取相应的系数值a和b以及λ和μ; (4.2.4)利用公式卩代(1(叉,7,111)= (&.Ri+b.Ι?2+λ.Ro,9+y.R9,o+16)>>5计算得到待预测像素的预测值; (4.2.5)将所有待预测像素的预测值写入内存,形成35种模式的8x8子宏块预测矩阵; (4.2.6)所有的2240个线程执行同步操作。
【专利摘要】本发明公开了一种H.265/HEVC中8x8子宏块的并行帧内预测方法,包括以下步骤:统一帧内预测公式形式、建立系数表和参考位置表以及并行帧内预测的具体执行步骤,统一帧内预测公式形式与建立系数表和参考位置表是根据CUDA和帧内预测计算公式的特性制定而成的,更加有利于一个8x8子宏块块中64个待预测像素和相应的35种预测模式通过统一的预测公式进行预测,满足了CUDA多线程单指令多数据流的需求,实现了帧内预测子宏块中细粒度并行,消除了影响并行算法性能的大量分支语句。本发明在帧内预测过程中实现了像素级并行,可以有效地利用GPU中众核资源加速帧内预测过程,缩短编码时间。
【IPC分类】H04N19/593, H04N19/436, H04N19/11, H04N19/147
【公开号】CN105516728
【申请号】CN201510933636
【发明人】蒋文斌, 金海 , 池也
【申请人】华中科技大学
【公开日】2016年4月20日
【申请日】2015年12月15日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1