The embodiment of the specification provides a motion vector derivation method, device and electronic device. The method includes: acquiring the spatial motion vector and time domain motion vector prediction of the adjacent blocks in the predetermined direction of the encoding unit; performing filtering operation on the spatial motion vector and time domain motion vector prediction to obtain the spatial motion vector and time domain motion vector prediction of the adjacent blocks after filtering; using the filtered adjacent blocks according to the predetermined inter frame prediction mode According to the prediction of spatial and temporal motion vectors and the coordinate position of the current block in the encoding unit, the reference motion vectors of the current block in its four side directions are determined; according to the reference motion vectors and the coordinate position of the current block in the encoding unit, the motion vectors of the current block are derived. The technical scheme of the application can improve the accuracy of inter frame prediction and further improve the coding efficiency.
【技术实现步骤摘要】
一种运动矢量导出方法、装置及电子设备
本说明书涉及视频编解码
,尤其涉及一种运动矢量导出方法、装置及电子设备。
技术介绍
由于视频中连续的若干帧图像之间存在较强时间相关性,所以在进行视频编码时,可以采用帧间预测技术,利用各个视频帧之间的时间相关性来减少视频帧间的冗余,以达到有效去除视频时域冗余的目的。在现有的帧间预测技术中,以Skip/Direct模式为例,Skip/Direct模式是通过借用空域上已编码邻块的运动信息和时域上已编码图像内的运动信息直接导出当前编码单元的运动信息。因此,Skip/Direct模式虽然在一定程度上提高了编码效率,但是这种仅仅利用已编码邻块或图像内的运动信息来导出运动信息的方式,降低了帧间预测的准确度,另外,Skip/Direct模式最终导出的是整个当前编码单元的运动信息,从而进一步降低了帧间预测的准确度,进而影响编码效率。基于现有技术,需要提供一种能提高帧间预测的准确度,进一步提升编码效率的运动矢量导出方案。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种 ...
【技术保护点】
1.一种运动矢量导出方法,所述方法包括:/n获取编码单元在预定方向上的相邻块的空域运动矢量和时域运动矢量预测;/n对所述空域运动矢量和时域运动矢量预测执行滤波操作,得到滤波后的所述相邻块的空域运动矢量和时域运动矢量预测;/n根据预定的帧间预测模式,利用所述滤波后的相邻块的空域运动矢量和时域运动矢量预测以及当前块在所述编码单元内的坐标位置,确定所述当前块在其四个侧边方向上的参考运动矢量;/n根据所述参考运动矢量以及所述当前块在所述编码单元内的坐标位置,导出所述当前块的运动矢量。/n
【技术特征摘要】
1.一种运动矢量导出方法,所述方法包括:
获取编码单元在预定方向上的相邻块的空域运动矢量和时域运动矢量预测;
对所述空域运动矢量和时域运动矢量预测执行滤波操作,得到滤波后的所述相邻块的空域运动矢量和时域运动矢量预测;
根据预定的帧间预测模式,利用所述滤波后的相邻块的空域运动矢量和时域运动矢量预测以及当前块在所述编码单元内的坐标位置,确定所述当前块在其四个侧边方向上的参考运动矢量;
根据所述参考运动矢量以及所述当前块在所述编码单元内的坐标位置,导出所述当前块的运动矢量。
2.如权利要求1所述的方法,所述获取编码单元在预定方向上的相邻块的空域运动矢量,包括:
对位于所述编码单元左侧和上侧的相邻块的运动矢量进行缩放得到所述相邻块的空域运动矢量;具体地,
将所述相邻块的前向运动矢量缩放到前向参考帧列表的第一帧,将所述相邻块的后向运动矢量缩放到后向参考帧列表的第一帧,将缩放后的运动矢量作为所述相邻块的空域运动矢量。
3.如权利要求1所述的方法,所述获取编码单元在预定方向上的相邻块的时域运动矢量预测,包括:
获取位于所述编码单元右侧和下侧的相邻块的时域运动矢量预测;具体地,
从前向参考帧列表的第一帧或后向参考帧列表的第一帧中获取与所述相邻块具有相同坐标位置的编码块的运动矢量,对所述编码块的运动矢量进行缩放得到所述相邻块的时域运动矢量预测。
4.如权利要求1所述的方法,所述对所述空域运动矢量和时域运动矢量预测执行滤波操作,具体包括,对所述空域运动矢量和时域运动矢量预测的两端进行填充,并根据以下公式对所述空域运动矢量和时域运动矢量预测进行滤波:
Mvt[x]=(3*MvT[i0]+8*MvT[i1]+10*MvT[i2]+8*MvT[i3]+3*MvT[i4])>>5
Mvl[y]=(3*MvL[j0]+8*MvL[j1]+10*MvL[j2]+8*MvL[j3]+3*MvL[j4])>>5
Mvb[x]=(3*MvB[i0]+8*MvB[i1]+10*MvB[i2]+8*MvB[i3]+3*MvB[i4])>>5
Mvr[y]=(3*MvR[j0]+8*MvR[j1]+10*MvR[j2]+8*MvR[j3]+3*MvR[j4])>>5
0≤x<M
0≤y<N
其中,MvR,MvB分别表示滤波前右侧和下侧相邻块的时域运动矢量预测;Mvr,Mvb分别表示滤波后右侧和下侧相邻块的时域运动矢量预测;MvL,MvT分别表示滤波前左侧和上侧相邻块的空域运动矢量;Mvl,Mvt分别表示滤波后左侧和上侧相邻块的空域运动矢量;x、y表示当前块在编码单元内的以子块为单位的坐标;i和j表示以子块为单位的列坐标;M、N表示编码单元以子块为单位的宽、高。
5.如权利要求1所述的方法,所述帧间预测模式包括:
第一帧间预测模式、第二帧间预测模式、第三帧间预测模式、第四帧间预测模式以及第五帧间预测模式。
6.如权利要求5所述的方法,所述根据预定的帧间预测模式,利用所述滤波后的相邻块的空域运动矢量和时域运动矢量预测以及当前块在所述编码单元内的坐标位置,确定所述当前块在其四个侧边方向上的参考运动矢量,具体包括:
当采用第一帧间预测模式时,选取所述当前块的横坐标方向上的左侧相邻块和右侧相邻块,并选取所述当前块的纵坐标方向上的上侧相邻块和下侧相邻块,将滤波后的所述左侧相邻块和上侧相邻块的空域运动矢量以及滤波后的所述右侧相邻块和下侧相邻块的时域运动矢量预测分别作为所述当前块在其四个侧边方向上的参考运动矢量;
当采用第二帧间预测模式时,选取所述当前块的横坐标方向上的左侧相邻块以及纵坐标方向上的下侧相邻块,将滤波后的所述左侧相邻块的空域运动矢量和滤波后的所述下侧相邻块的时域运动矢量预测分别作为所述当前块在左侧和下侧方向上的参考运动矢量;并将滤波后的所述编码单元下侧最右边相邻块的时域运动矢量预测以及滤波后的所述编码单元左侧最上方相邻块的空域运动矢量,分别作为所述当前块在右侧和上侧方向上的参考运动矢量;
当采用第三帧间预测模式时,选取所述当前块的横坐标方向上的右侧相邻块以及纵坐标方向上的上侧相邻块,将滤波后的所述右侧相邻块的时域运动矢量预测和滤波后的所述上侧相邻块的空域运动矢量分别作为所述当前块在右侧和上侧方向上的参考运动矢量;并将滤波后的所述编码单元上侧最左边相邻块的空域运动矢量以及滤波后的所述编码单元右侧最下方相邻块的时域运动矢量预测,分别作为所述当前块在左侧和下侧方向上的参考运动矢量;
当采用第四帧间预测模式时,选取所述当前块的横坐标方向上的左侧相邻块以及纵坐标方向上的上侧相邻块,将滤波后的所述左侧相邻块的空域运动矢量和上侧相邻块的空域运动矢量分别作为所述当前块在左侧和上侧方向上的参考运动矢量;并将滤波后的所述编码单元上侧最右边相邻块的空域运动矢量以及滤波后的所述编码单元左侧最下方相邻块的空域运动矢量,分别作为所述当前块在右侧和下侧方向上的参考运动矢量;
当采用第五帧间预测模式时,选取所述当前块的横坐标方向上的右侧相邻块以及纵坐标方向上的下侧相邻块,将滤波后的所述右侧相邻块的时域运动矢量预测和下侧相邻块的时域运动矢量预测分别作为所述当前块在右侧和下侧方向上的参考运动矢量;并将滤波后的所述编码单元下侧最左边相邻块的时域运动矢量预测以及滤波后的所述编码单元右侧最上方相邻块的时域运动矢量预测,分别作为所述当前块在左侧和上侧方向上的参考运动矢量。
7.如权利要求1所述的方法,所述根据所述参考运动矢量以及所述当前块在所述编码单元内的坐标位置,导出所述当前块的运动矢量,具体包括,根据以下公式导出所述当前块的运动矢量:
vh=((M-x)*vl+x*vr)/M
vv=((N-y)*vt+y*vb)/N
v[x][y]=(vh+vv)/2
其中,vl、vr、vt和vb分别表示当前块在左、右、上、下四个方向上的参考运动矢量;x、y表示当前块在编码单元内的以子块为单位的坐标;M、N表示编码单元以子块为单位的宽、高;vh表示当前块的横向运...
【专利技术属性】
技术研发人员:王荣刚,谢熙,范逵,高文,
申请(专利权)人:北京大学深圳研究生院,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。