CN106331722A - 图像预测方法和相关设备 - Google Patents

图像预测方法和相关设备 Download PDF

Info

Publication number
CN106331722A
CN106331722A CN201510391765.7A CN201510391765A CN106331722A CN 106331722 A CN106331722 A CN 106331722A CN 201510391765 A CN201510391765 A CN 201510391765A CN 106331722 A CN106331722 A CN 106331722A
Authority
CN
China
Prior art keywords
pixel
pixel cell
motion vector
unit
precision
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510391765.7A
Other languages
English (en)
Other versions
CN106331722B (zh
Inventor
林四新
黄若普
杨海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN201510391765.7A priority Critical patent/CN106331722B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP16820779.3A priority patent/EP3306934B1/en
Priority to KR1020187001663A priority patent/KR102073638B1/ko
Priority to RU2018143851A priority patent/RU2699258C2/ru
Priority to PCT/CN2016/087750 priority patent/WO2017005128A1/zh
Priority to MX2018000067A priority patent/MX2018000067A/es
Priority to AU2016290017A priority patent/AU2016290017B2/en
Priority to JP2017567671A priority patent/JP6776276B2/ja
Priority to RU2018103787A priority patent/RU2675092C1/ru
Priority to KR1020227013389A priority patent/KR102549824B1/ko
Priority to CN201680037454.3A priority patent/CN107710761B/zh
Priority to MYPI2017704989A priority patent/MY191714A/en
Priority to MX2021003800A priority patent/MX2021003800A/es
Priority to KR1020207002729A priority patent/KR102173475B1/ko
Priority to KR1020207031100A priority patent/KR102390695B1/ko
Priority to SG11201710800QA priority patent/SG11201710800QA/en
Priority to EP24150152.7A priority patent/EP4373087A3/en
Priority to BR112018000085-0A priority patent/BR112018000085B1/pt
Publication of CN106331722A publication Critical patent/CN106331722A/zh
Priority to US15/855,005 priority patent/US10560714B2/en
Priority to ZA2018/00017A priority patent/ZA201800017B/en
Priority to MX2023000807A priority patent/MX2023000807A/es
Application granted granted Critical
Publication of CN106331722B publication Critical patent/CN106331722B/zh
Priority to US16/734,586 priority patent/US10771809B2/en
Priority to US17/012,658 priority patent/US11240529B2/en
Priority to JP2020169052A priority patent/JP7004782B2/ja
Priority to US17/556,579 priority patent/US11831902B2/en
Priority to JP2021212785A priority patent/JP7335315B2/ja
Priority to JP2021212784A priority patent/JP7335314B2/ja
Priority to JP2023133095A priority patent/JP2023164435A/ja
Priority to JP2023133093A priority patent/JP2023164434A/ja
Priority to US18/494,259 priority patent/US20240187638A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开了图像预测方法和相关装置。图像预测方法包括确定当前图像块中的W个控制点的运动矢量;利用运动模型和W个控制点的运动矢量计算得到当前图像块的P个像素单元的运动矢量,确定的W个控制点的运动矢量的精度为1/n像素精度,计算得到的P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,P个像素单元为当前图像块的部分或全部像素单元,N大于n;利用相位数为Q的插值滤波器对P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到P个像素单元中的每个像素单元的像素预测值,Q大于n。本发明实施例提供技术方案有利于降低图像预测过程的计算复杂度。

Description

图像预测方法和相关设备
技术领域
本发明涉及视频编码和视频解码领域,具体涉及一种图像预测方法和相关设备。
背景技术
随着光电采集技术的发展及不断增长的高清数字视频需求,视频数据量越来越大,有限异构的传输带宽、多样化的视频应用不断地对视频编码效率提出了更高的需求,高性能视频编码(英文:high efficientvideo coding,缩写:HEVC)标准的制定工作因需启动。
视频编码压缩的基本原理是利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤实现视频编码压缩。这种编码框架,显示了很强的生命力,HEVC也仍沿用这种基于块的混合视频编码框架。
在各种视频编/解码方案中,运动估计/运动补偿是一种影响编/解码性能的关键技术。其中,现有很多视频编/解码方案中,一般假设物体的运动是满足平动运动,整个物体的各个部分有相同的运动。现有的运动估计/运动补偿算法基本都是建立在平动运动模型(英文:translational motion model)的基础上的块运动补偿算法。现有帧间预测主要采用基于平动运动模型的基于块的运动补偿预测(英文:motion compensation)。针对非平动运动设计的一些非平动运动模型(例如彷射运动模型)也在逐步提出。
在基于彷射运动模型进行预测的机制中,现有技术利用当前图像块的2个控制点的低精度运动矢量和彷射运动模型进行像素值预测可获得当前图像块的低精度的像素预测值,上述像素值预测的过程中需要利用插值滤波器执行插值滤波操作,这次获得的当前图像块的像素预测值的精度与2个控制点的运动矢量的精度相同。若需获得当前图像块的更高精度的像素预测值,还需要进一步的利用双线性插值滤波器来对已获得的当前图像块的较低精度像素预测值进行二次插值滤波。
由于现有技术中若利用2个控制点的低精度运动矢量和彷射运动模型来获得当前图像块的高精度像素预测值,那么其间就需要经过至少两步的插值滤波操作(每步插值滤波操作所需中间缓存和内存操作次数都比较多),这使得整体图像预测过程所需中间缓存和内存操作次数可能相对多,计算复杂度变得相对较高。
发明内容
本发明实施例提供应图像预测方法和相关设备,以期能够降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,降低图像预测过程的计算复杂度。
本发明实施例第一方面提供一种图像预测方法,包括:
确定当前图像块中的W个控制点的运动矢量;
利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元,其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,其中,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数;
利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值,所述Q为大于所述n的整数。
结合第一方面,在第一方面的第一种可能的实施方式中,所述N的取值为预设的固定大小的取值,所述Q小于或等于所述N。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,包括:
利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位包括:按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
结合第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述相位包括水平相位和竖直相位,其中,所述基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,包括:基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用的滤波器系数与所述水平相位对应,其中,所述竖直插值滤波器使用的滤波器系数与所述竖直相位对应。
结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波,包括:
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
结合第一方面或第一方面的第一种至六种可能的实施方式中的任意一种可能的实施方式,在第一方面的第七种可能的实施方式中,
所述运动模型为平动运动模型、仿射运动模型、旋转运动模型、抛物线运动模型、剪切运动模型、缩放运动模型、透视运动模型或双线性运动模型。
结合第一方面或第一方面的第一种至七种可能的实施方式中的任意一种可能的实施方式,在第一方面的第八种可能的实施方式中,在所述W等于2的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
结合第一方面或第一方面的第一种至七种可能的实施方式中的任意一种可能的实施方式,在第一方面的第九种可能的实施方式中,在所述W等于3的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
结合第一方面或第一方面的第一种至九种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十种可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
结合第一方面或第一方面的第一种至十种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十一种可能的实施方式中,所述图像预测方法应用于视频编码过程中或应用于视频解码过程中。
本发明实施例第二方面提供一种图像预测装置,包括:
第一确定单元,用于确定当前图像块中的W个控制点的运动矢量;
计算单元,用于利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元,其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数;
插值滤波单元,用于利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值,所述Q为大于所述n的整数。
结合第二方面,在第二方面的第一种可能的实施方式中,所述N的取值为预设的固定大小的取值,所述Q小于或等于所述N。
结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述插值滤波单元具体用于,利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器,对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,在利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位的方面,所述插值滤波单元具体用于按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
结合第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式中,所述相位包括水平相位和竖直相位,
其中,在基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器的方面,所述插值滤波单元具体用于,基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,所述水平插值滤波器使用的滤波器系数与所述水平相位对应,所述竖直插值滤波器使用的滤波器系数与所述竖直相位对应。
结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,在所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波的方面,所述插值滤波单元具体用于,
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
结合第二方面或第二方面的第一种至六种可能的实施方式中的任意一种可能的实施方式,在第二方面的第七种可能的实施方式中,
所述运动模型为平动运动模型、仿射运动模型、旋转运动模型、缩放运动模型、抛物线运动模型、剪切运动模型、透视运动模型或双线性运动模型。
结合第二方面或第二方面的第一种至七种可能的实施方式中的任意一种可能的实施方式,在第二方面的第八种可能的实施方式中,在所述W等于2的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
结合第二方面或第二方面的第一种至七种可能的实施方式中的任意一种可能的实施方式,在第二方面的第九种可能的实施方式中,在所述W等于3的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
结合第二方面或第二方面的第一种至九种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十种可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
结合第二方面或第二方面的第一种至十种可能的实施方式中的任意一种可能的实施方式,在第二方面的第十一种可能的实施方式中,所述图像预测装置应用于视频编码装置中或者所述图像预测装置应用于视频解码装置中。
可以看出,本发明实施例提供应图像预测方法中,利用运动模型和所述W个控制点的1/n像素精度的运动矢量,计算得到所述当前图像块的每个像素单元的1/N像素精度的运动矢量,N大于n,也就是说,计算得到的所述当前图像块的每个像素单元的运动矢量的精度,高于所述确定的所述W个控制点的运动矢量的精度。由于先得到了较高精度的运动矢量,当前图像块的每个像素单元的较高精度的运动矢量用于确定所述当前图像块的每个像素单元在参考图像中的对应参考像素单元,利用相位数为Q(Q大于n)的插值滤波器对所述当前图像块的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波以得到当前图像块的每个像素单元的像素预测值,可见通过上述方式有利于减少预测获得当前图像块较高精度的像素预测值所需插值滤波的次数(例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程),进而有利于降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,进而有利于图像预测过程的计算复杂度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1-a~图1-b为本发明实施例提供的几种图像块的划分示意图;
图2-a为本发明实施例提供的一种图像预测方法的流程示意图;
图2-b为本发明实施例提供的一种控制点的运动矢量预测示意图;
图3-a为本发明实施例提供的另一种图像预测方法的流程示意图;
图3-b为本发明实施例提供的一种整像素位置和亚像素位置的示意图;
图4为本发明实施例提供的另一种图像预测方法的流程示意图;
图5为本发明实施例提供的一种图像预测装置的示意图;
图6为本发明实施例提供的另一种图像预测装置的示意图;
具体实施方式
本发明实施例提供应图像预测方法和相关设备,以期能够降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,降低图像预测过程的计算复杂度。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明说明书、权利要求书和附图中出现的术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先对本发明实施例可能涉及的一些概念进行简单介绍。
在多数编码框架中,视频序列包括一系列图像(英文:picture),图像被进一步划分为切片(英文:slice),slice再被划分为块(英文:block)。视频编码以块为单位,可从picture的左上角位置开始从左到右从上到下一行一行进行编码处理。在一些新的视频编码标准中,block的概念被进一步扩展。在H.264标准中有宏块(英文:macroblock,缩写:MB),MB可进一步划分成多个可用于预测编码的预测块(英文:partition)。其中,在HEVC标准中,采用编码单元(英文:coding unit,缩写:CU),预测单元(英文:prediction unit,缩写:PU)和变换单元(英文:transform unit,缩写:TU)等基本概念,从功能上划分了多种Unit,并采用全新的基于树结构进行描述。比如CU可以按照四叉树进行划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构。对于PU和TU也有类似的树结构。无论CU,PU还是TU,本质上都属于块block的概念,CU类似于宏块MB或者编码块,是对编码图像进行划分和编码的基本单元。PU可以对应预测块,是预测编码的基本单元。对CU按照划分模式进一步划分成多个PU。TU可以对应变换块,是对预测残差进行变换的基本单元。高性能视频编码(英文:high efficiency video coding,缩写:HEVC)标准中则可以把它们统一称之为编码树块(英文:coding tree block,缩写:CTB)等等。
在HEVC标准中,编码单元的大小可包括64×64,32×32,16×16和8×8等四个级别,每个级别的编码单元按照帧内预测和帧间预测由可以划分为不同大小的预测单元。其中,例如图1-a和图1-b所示,图1-a举例示出了一种与帧内预测对应的预测单元划分方式,图1-b举例示出了几种与帧间预测对应的预测单元划分方式。
在视频编码技术发展演进过程中,视频编码专家们想了各种方法来利用相邻编解码块之间的时空相关性来努力提高编码效率。在H264/高级视频编码(英文:advanced video coding,缩写:AVC)标准中,跳过模式(skip mode)和直接模式(directmode)成为提高编码效率的有效工具,在低码率时使用这两种编码模式的块能占到整个编码序列的一半以上。当使用跳过模式时,只需要在码流中传递一个跳过模式标记,就可以利用周边运动矢量推导得到当前图像块的运动矢量,根据该运动矢量来直接的拷贝参考块的值作为当前图像块的重建值。此外,当使用直接模式时,编码器可以利用周边运动矢量推导得到当前图像块的运动矢量,根据该运动矢量直接拷贝参考块的值作为当前图像块的预测值,在编码端利用该预测值对当前图像块进行编码预测。目前最新的高性能视频编码(英文:high efficiency video coding,缩写:HEVC)标准中,通过引进一些新编码工具,进一步提高视频编码性能。融合编码(merge)模式和自适应运动矢量预测(英文:advanced motionvector prediction,缩写:AMVP)模式是两个重要的帧间预测工具。融合编码(merge)利用当前编码块周边已编码块的运动信息(包括运动矢量(英文:motionvector,缩写:MV)和预测方向和参考帧索引等)构造一个候选运动信息集合,通过比较,可选择出编码效率最高的候选运动信息作为当前编码块的运动信息,在参考帧中找到当前编码块的预测值,对当前编码块进行预测编码,同时,可以把表示选择来自哪个周边已编码块的运动信息的索引值写入码流。当使用自适应运动矢量预测模式时,利用周边已编码块的运动矢量作为当前编码块运动矢量的预测值,可以选定一个编码效率最高的运动矢量来预测当前编码块的运动矢量,并可把表示选定哪个周边运动矢量的索引值写入视频码流。
下面继续探讨本发明实施例的技术方案。
下面先介绍本发明实施例提供的图像预测方法,本发明实施例提供的图像预测方法的执行主体是视频编码装置或视频解码装置,其中,该视频编码装置或视频解码装置可以是任何需要输出或存储视频的装置,如笔记本电脑、平板电脑、个人电脑、手机或视频服务器等设备。
本发明图像预测方法的一个实施例,一种图像预测方法可以包括:确定当前图像块中的W个控制点的运动矢量;利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元,其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,其中,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数;利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值,所述Q为大于所述n的整数。
请参见图2-a,图2-a为本发明的一个实施例提供的一种图像预测方法的流程示意图。其中,图2-a举例所示,本发明的一个实施例提供的一种图像预测方法可以包括:
201、确定当前图像块中的W个控制点的运动矢量。
202、利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量。
其中,所述P个像素单元为所述当前图像块的部分或全部像素单元。
其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元。因此,可以利用所述P个像素单元中的每个像素单元的运动矢量,确定相应像素单元在参考图像中的对应参考像素单元。
其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度。
其中,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度。
其中,所述W、所述n和所述N为大于1的整数。
其中,所述N大于所述n。所述P为正整数。
其中,由于N大于n,即计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度高于所述确定的所述W个控制点的运动矢量的精度。即获得了所述当前图像块的P个像素单元的相对较高精度的运动矢量。
其中,在本发明一些可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
例如参见图2-b举例所示,所述W个控制点包括控制点LT、控制点RT和控制点LB。其中,控制点LT的运动矢量预测自可预测自图像块A、B和C的精度为1/n像素精度的运动矢量。控制点RT的运动矢量预测自可预测自图像块D和E的精度为1/n像素精度的运动矢量。控制点LB的运动矢量预测自可预测自图像块F和G的精度为1/n像素精度的运动矢量。
其中,在本发明的一些可能的实施方式中,当W个控制点的运动矢量来自于预测值时,该预测值的精度也是1/n像素精度,可把1/n像素精度的控制点的运动矢量和相应预测值的差值写到码流中。
其中,在本发明一些可能的实施方式中,所述运动模型例如可为平动运动模型、仿射运动模型、旋转运动模型、抛物线运动模型、剪切运动模型、缩放运动模型、透视运动模型或双线性运动模型等。
203、利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值。
其中,所述Q为大于所述n的整数。
在本发明一些可能的实施方式中,所述N的取值可以为预设的固定大小的取值,所述Q可大于或等于所述N。其中,当N的取值可以为预设的固定大小的取值,表示利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量的精度,与所述当前图像块的尺寸之间没有必然关系。也就是说,基于本实施例的方案,例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程,便可以获得的预设的固定精度的像素预测值。
例如所述W可等于2、3、4、5、6、8或者其他值。
例如所述P可等于1、2、3、4、5、6、8、10、15、16、21、32、64或者其他值。
例如所述Q可等于128、9、18、24、256、8、10、15、16、21、32、64或者其他值。
例如所述N可等于128、9、18、24、256、8、10、15、16、21、32、64或者其他值。
例如所述n可等于8、2、4或者其他值。
在本发明一些可能的实施方式中,所述N可为2的整数次幂,当然所述N也可为其它正整数。
其中,本发明各实施例中的像素单元可包括一个或多个像素,例如像素单元可以为2*2的像素块、2*1的像素块、2*1的像素块、4*4的像素块或者4*2的像素块等。
其中,本发明各实施例中的控制点可以包括一个或多个像素,例如控制点可以为2*2的像素块、2*1的像素块、2*1的像素块、4*4的像素块或者4*2的像素块等。
由上可见,本实施例提供应图像预测方法中,利用运动模型和所述W个控制点的1/n像素精度的运动矢量,计算得到所述当前图像块的每个像素单元的1/N像素精度的运动矢量,N大于n,也就是说,计算得到的所述当前图像块的每个像素单元的运动矢量的精度,高于所述确定的所述W个控制点的运动矢量的精度。由于先得到了较高精度的运动矢量,当前图像块的每个像素单元的较高精度的运动矢量用于确定所述当前图像块的每个像素单元在参考图像中的对应参考像素单元,利用相位数为Q(Q大于n)的插值滤波器对所述当前图像块的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波以得到当前图像块的每个像素单元的像素预测值,可见通过上述方式有利于减少预测获得当前图像块较高精度的像素预测值所需插值滤波的次数(例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程),进而有利于降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,进而有利于图像预测过程的计算复杂度。
其中,在本发明一些可能的实施方式中,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
举例来说,在本发明一些可能的实施方式中,在所述W等于2的情况下所述运动模型例如可表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
又举例来说,在本发明一些可能的实施方式中,在所述W等于3的情况下所述运动模型例如可表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
其中,上述举例中是以使用彷射运动模型为例来说明的,对于使用平动运动模型、旋转运动模型、剪切运动模型、缩放运动模型、透视运动模型、抛物线运动模型或双线性运动模型等的情况,可基于相应运动模型以此类推,此处不在赘述。
例如,运动模型的一种一般性表现形式可如下:
(vNx,vNy)=f({(vix,viy)|i=0,1,...,M},N,(x,y))。
其中,控制点的运动矢量(vix,viy)的精度是1/n像素精度,为了平衡效果和比特开销,可取n=4,N可表示预先设定的滤波器的相位数,(x,y)是图像块中任意像素单元的坐标值,
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明一些可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元,可包括:利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;利用所述P个像素单元中的每个像素单元的运动矢量,在参考图像中查找与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,为所述P个像素单元中的每个像素单元在参考图像中的参考像素单元。
具体例如,可以利用所述P个像素单元中的像素单元i的运动矢量计算得到像素单元i的整像素位置;利用像素单元i的运动矢量,在参考图像中查找与所述像素单元i的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与像素单元i的整像素位置对应的参考像素单元,为像素单元i在参考图像中的参考像素单元。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式,确定其在参考图像中相应的参考像素单元。
其中,在本发明一些可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置包括:
按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;
xInt=[vNx/N],或xInt=vNx>>M;
yInt=[vNy/N],或yInt=vNy>>M;
当N为2的整数次幂的情况下所述M=log2N,(xInt,yInt)表示当前图像块中坐标为(x,y)的像素单元的整像素位置坐标,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
在本发明一些可能的实施方式中,利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波包括:
利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元对应的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
具体例如,可利用所述P个像素单元中的像素单元i的运动矢量,计算得到像素单元i的相位,基于像素单元i的相位确定像素单元i对应的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的像素单元i对应的相位数为Q的插值滤波器对像素单元i在参考图像中的相应参考像素单元的像素进行插值滤波。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式进行插值滤波。
在本发明一些可能实施方式中,利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位包括:按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1)。
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1)。
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,所述相位包括水平相位和竖直相位,其中,所述基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,包括:基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用滤波器系数与所述水平相位对应,其中,所述竖直插值滤波器使用滤波器系数与所述竖直相位对应。
具体例如,可基于像素单元i的水平相位确定像素单元i的相位数为Q的水平插值滤波器,基于所述像素单元i的竖直相位确定像素单元i的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用的滤波器系数与所述像素单元i的水平相位对应,其中,所述竖直插值滤波器使用的滤波器系数与像素单元i的竖直相位对应。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式确定相位数为Q的插值滤波器。
可选的,在本发明的一些可能的实施方式中,利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波,包括:
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
此外,对于像素单元的相位为单相位(即只有水平相位或者竖直相位)的情况,则对像素单元的参考像素单元的像素执行一次插值滤波即可得到该像素单元的像素预测值。
可选的,在本发明一些可能实施方式中,所述确定当前图像块中的W个控制点的运动矢量包括:
确定当前图像块中的W个控制点,确定所述W个控制点之中的每个控制点所对应的候选运动信息单元集;其中,所述每个控制点所对应的候选运动信息单元包括候选的至少一个运动信息单元;
确定包括W个运动信息单元的合并运动信息单元集e,其中,所述合并运动信息单元集e中的每个运动信息单元分别选自所述W个控制点中的每个控制点所对应的候选运动信息单元集中的至少部分运动信息单元,所述合并运动信息单元集e中每个合并运动信息单元包含运动矢量;
对所述合并运动信息单元集e中的W个运动矢量进行预测或运动估计以得到所述W个控制点的运动矢量,或所述合并运动信息单元集e中包括的W个运动矢量为所述W个控制点的运动矢量。
其中,在本发明一些可能实施方式中,候选运动信息单元集中的各运动矢量的精度可为1/n像素精度。
其中,所述图像预测方法可应用于视频编码过程中或者所述图像预测方法可应用于视频解码过程中。
为便于更好的理解本发明实施例的技术方案,下面从编码端和解码端的角度进行举例介绍。
下面先从编码端的角度进行方案描述。
请参见图3-a,图3-a为本发明的另一个实施例提供的另一种图像预测方法的流程示意图。其中,图3-a举例所示,本发明的另一个实施例提供的另一种图像预测方法可以包括:
301、视频编码装置确定当前图像块中的W个控制点。
302、视频编码装置确定W个控制点的运动矢量。
其中,视频编码装置确定W个控制点的运动矢量,可包括:确定所述W个控制点之中的每个控制点所对应的候选运动信息单元集;其中,所述每个控制点所对应的候选运动信息单元包括候选的至少一个运动信息单元;确定包括W个运动信息单元的合并运动信息单元集e,其中,所述合并运动信息单元集e中的每个运动信息单元分别选自所述W个控制点中的每个控制点所对应的候选运动信息单元集中的至少部分运动信息单元,所述合并运动信息单元集e中每个合并运动信息单元包含运动矢量;对所述合并运动信息单元集e中的W个运动矢量进行预测或运动估计以得到所述W个控制点的运动矢量,或所述合并运动信息单元集e中包括的W个运动矢量为所述W个控制点的运动矢量。
其中,在本发明一些可能实施方式中,候选运动信息单元集中的各运动矢量的精度可为1/n像素精度。
303、视频编码装置利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量。
其中,所述P为正整数,所述W和所述N为大于1的整数。
其中,所述P个像素单元为所述当前图像块的部分或全部像素单元。
其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元。因此,可以利用所述P个像素单元中的每个像素单元的运动矢量,确定相应像素单元在参考图像中的对应参考像素单元。
其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度。
其中,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度。
其中,所述W、所述n和所述N为大于1的整数。
其中,所述N大于所述n。所述P为正整数。
其中,由于N大于n,即计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度高于所述确定的所述W个控制点的运动矢量的精度。即获得了所述当前图像块的P个像素单元的相对较高精度的运动矢量。
其中,在本发明一些可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
在本发明的一些可能的实施方式中,当W个控制点的运动矢量来自于预测值时,该预测值的精度也是1/n像素精度,可把1/n像素精度的控制点的运动矢量和相应预测值的差值写到码流中。相应的,在解码端可利用码流中得到的该W个运动矢量预测差值和当前图像块周边已解码图像块的精度为1/n像素精度的运动矢量预测得到这W个控制点的1/n像素精度的运动矢量。
其中,在本发明一些可能的实施方式中,所述运动模型例如可为平动运动模型、仿射运动模型、旋转运动模型、抛物线运动模型、剪切运动模型、缩放运动模型、透视运动模型或双线性运动模型等。
举例来说,在本发明一些可能的实施方式中,在所述W等于2的情况下所述运动模型例如可表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
又举例来说,在本发明一些可能的实施方式中,在所述W等于3的情况下所述运动模型例如可表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
其中,上述举例中是以使用彷射运动模型为例来说明的,对于使用平动运动模型、旋转运动模型、剪切运动模型、缩放运动模型、透视运动模型、抛物线运动模型或双线性运动模型等的情况,可基于相应运动模型以此类推,此处不在赘述。
304、视频编码装置利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元。
可选的,在本发明一些可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元,可包括:利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;利用所述P个像素单元中的每个像素单元的运动矢量,在参考图像中查找与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,为所述P个像素单元中的每个像素单元在参考图像中的参考像素单元。
具体例如,可以利用所述P个像素单元中的像素单元i的运动矢量计算得到像素单元i的整像素位置;利用像素单元i的运动矢量,在参考图像中查找与所述像素单元i的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与像素单元i的整像素位置对应的参考像素单元,为像素单元i在参考图像中的参考像素单元。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式,确定其在参考图像中相应的参考像素单元。
其中,在本发明一些可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置包括:
按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;
xInt=[vNx/N],或xInt=vNx>>M。
yInt=[vNy/N],或yInt=vNy>>M。
当N为2的整数次幂的情况下所述M=log2N,(xInt,yInt)表示当前图像块中坐标为(x,y)的像素单元的整像素位置坐标,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
如参见图3-b,图3-b中方块表示当前位置其相邻整像素位置的点,三角形表示亚像素点。
305、视频编码装置利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值。
其中,所述Q为大于所述n的整数。
在本发明一些可能的实施方式中,所述N的取值可以为预设的固定大小的取值,所述Q可大于或等于所述N。其中,当N的取值可以为预设的固定大小的取值,表示利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量的精度,与所述当前图像块的尺寸之间没有必然关系。也就是说,基于本实施例的方案,例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程,便可以获得的预设的固定精度的像素预测值。
例如所述W可等于2、3、4、5、6、8或者其他值。
例如所述P可等于1、2、3、4、5、6、8、10、15、16、21、32、64或者其他值。
例如所述Q可等于128、9、18、24、256、8、10、15、16、21、32、64或者其他值。
例如所述N可等于128、9、18、24、256、8、10、15、16、21、32、64或者其他值。
例如所述n可等于8、2、4或者其他值。
在本发明一些可能的实施方式中,所述N可为2的整数次幂,当然所述N也可为其它正整数。
在本发明一些可能的实施方式中,所述利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,包括:
利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元对应的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
具体例如,可利用所述P个像素单元中的像素单元i的运动矢量,计算得到像素单元i的相位,基于像素单元i的相位确定像素单元i对应的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的像素单元i对应的相位数为Q的插值滤波器对像素单元i在参考图像中的相应参考像素单元的像素进行插值滤波。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式进行插值滤波。
在本发明一些可能实施方式中,利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位包括:按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,所述相位包括水平相位和竖直相位,其中,所述基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,包括:基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用滤波器系数与所述水平相位对应,其中,所述竖直插值滤波器使用滤波器系数与所述竖直相位对应。
具体例如,可基于像素单元i的水平相位确定像素单元i的相位数为Q的水平插值滤波器,基于所述像素单元i的竖直相位确定像素单元i的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用的滤波器系数与所述像素单元i的水平相位对应,其中,所述竖直插值滤波器使用的滤波器系数与像素单元i的竖直相位对应。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式确定相位数为Q的插值滤波器。
可选的,在本发明的一些可能的实施方式中,所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波,包括:
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
此外,对于像素单元的相位为单相位(即只有水平相位或者竖直相位)的情况,则对像素单元的参考像素单元的像素执行一次插值滤波即可得到该像素单元的像素预测值。
306、视频编码装置可利用当前图像块的P个像素单元的原始像素值和P个像素单元的像素值预测得到当前图像块的预测残差。视频编码装置可将当前图像块的预测残差写入视频码流。
由上可见,在本实施例的方案中,视频编码装置利用运动模型和所述W个控制点的1/n像素精度的运动矢量,计算得到所述当前图像块的每个像素单元的1/N像素精度的运动矢量,N大于n,也就是说,计算得到的所述当前图像块的每个像素单元的运动矢量的精度,高于所述确定的所述W个控制点的运动矢量的精度。由于先得到了较高精度的运动矢量,当前图像块的每个像素单元的较高精度的运动矢量用于确定所述当前图像块的每个像素单元在参考图像中的对应参考像素单元,利用相位数为Q(Q大于n)的插值滤波器对所述当前图像块的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波以得到当前图像块的每个像素单元的像素预测值,可见通过上述方式有利于减少预测获得当前图像块较高精度的像素预测值所需插值滤波的次数(例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程),进而有利于降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,进而有利于图像预测过程的计算复杂度。
下面从解码端的角度进行方案描述。
请参见图4,图4为本发明的另一个实施例提供的另一种图像预测方法的流程示意图。其中,图4举例所示,本发明的另一个实施例提供的另一种图像预测方法可以包括:
401、视频解码装置确定当前图像块中的W个控制点。
402、视频解码装置确定W个控制点的运动矢量。
其中,视频解码装置确定W个控制点的运动矢量,可包括:确定所述W个控制点之中的每个控制点所对应的候选运动信息单元集;其中,所述每个控制点所对应的候选运动信息单元包括候选的至少一个运动信息单元;确定包括W个运动信息单元的合并运动信息单元集e,其中,所述合并运动信息单元集e中的每个运动信息单元分别选自所述W个控制点中的每个控制点所对应的候选运动信息单元集中的至少部分运动信息单元,所述合并运动信息单元集e中每个合并运动信息单元包含运动矢量;对所述合并运动信息单元集e中的W个运动矢量进行预测或运动估计以得到所述W个控制点的运动矢量,或所述合并运动信息单元集e中包括的W个运动矢量为所述W个控制点的运动矢量。
其中,在本发明一些可能实施方式中,候选运动信息单元集中的各运动矢量的精度可为1/n像素精度。
403、视频解码装置利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量。
其中,所述P为正整数,所述W和所述N为大于1的整数。
其中,所述P个像素单元为所述当前图像块的部分或全部像素单元。
其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元。因此,可以利用所述P个像素单元中的每个像素单元的运动矢量,确定相应像素单元在参考图像中的对应参考像素单元。
其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度。
其中,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度。
其中,所述W、所述n和所述N为大于1的整数。
其中,所述N大于所述n。所述P为正整数。
其中,由于N大于n,即计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度高于所述确定的所述W个控制点的运动矢量的精度。即获得了所述当前图像块的P个像素单元的相对较高精度的运动矢量。
其中,在本发明一些可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量,其中,所述n为正整数且所述n小于所述N。
在本发明的一些可能的实施方式中,当W个控制点的运动矢量来自于预测值时,该预测值的精度也是1/n像素精度,可把1/n像素精度的控制点的运动矢量和相应预测值的差值写到码流中。
其中,在本发明一些可能的实施方式中,所述运动模型例如可为平动运动模型、仿射运动模型、旋转运动模型、抛物线运动模型、剪切运动模型、缩放运动模型、透视运动模型或双线性运动模型等。
举例来说,在本发明一些可能的实施方式中,在所述W等于2的情况下所述运动模型例如可表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
又举例来说,在本发明一些可能的实施方式中,在所述W等于3的情况下所述运动模型例如可表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
其中,上述举例中是以使用彷射运动模型为例来说明的,对于使用平动运动模型、旋转运动模型、剪切运动模型、缩放运动模型、透视运动模型、抛物线运动模型或双线性运动模型等的情况,可基于相应运动模型以此类推,此处不在赘述。
404、视频解码装置利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元。
可选的,在本发明一些可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元,可包括:利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;利用所述P个像素单元中的每个像素单元的运动矢量,在参考图像中查找与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,为所述P个像素单元中的每个像素单元在参考图像中的参考像素单元。
具体例如,可以利用所述P个像素单元中的像素单元i的运动矢量计算得到像素单元i的整像素位置;利用像素单元i的运动矢量,在参考图像中查找与所述像素单元i的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与像素单元i的整像素位置对应的参考像素单元,为像素单元i在参考图像中的参考像素单元。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式,确定其在参考图像中相应的参考像素单元。
其中,在本发明一些可能的实施方式中,所述利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置包括:
按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;
xInt=[vNx/N],或xInt=vNx>>M;
yInt=[vNy/N],或yInt=vNy>>M;
当N为2的整数次幂的情况下所述M=log2N,(xInt,yInt)表示当前图像块中坐标为(x,y)的像素单元的整像素位置坐标,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
405、视频解码装置利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值。
其中,所述Q为大于所述n的整数。
在本发明一些可能的实施方式中,所述N的取值可以为预设的固定大小的取值,所述Q可大于或等于所述N。其中,当N的取值可以为预设的固定大小的取值,表示利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量的精度,与所述当前图像块的尺寸之间没有必然关系。也就是说,基于本实施例的方案,例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程,便可以获得的预设的固定精度的像素预测值。
例如所述W可等于2、3、4、5、6、8或者其他值。
例如所述P可等于1、2、3、4、5、6、8、10、15、16、21、32、64或者其他值。
例如所述Q可等于128、9、18、24、256、8、10、15、16、21、32、64或者其他值。
例如所述N可等于128、9、18、24、256、8、10、15、16、21、32、64或者其他值。
例如所述n可等于8、2、4或者其他值。
在本发明一些可能的实施方式中,所述N可为2的整数次幂,当然所述N也可为其它正整数。
在本发明一些可能的实施方式中,所述利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,包括:
利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元对应的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
具体例如,可利用所述P个像素单元中的像素单元i的运动矢量,计算得到像素单元i的相位,基于像素单元i的相位确定像素单元i对应的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的像素单元i对应的相位数为Q的插值滤波器对像素单元i在参考图像中的相应参考像素单元的像素进行插值滤波。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式进行插值滤波。
在本发明一些可能实施方式中,利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位包括:按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1)。
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1)。
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,所述相位包括水平相位和竖直相位,其中,所述基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,包括:基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用滤波器系数与所述水平相位对应,其中,所述竖直插值滤波器使用滤波器系数与所述竖直相位对应。
具体例如,可基于像素单元i的水平相位确定像素单元i的相位数为Q的水平插值滤波器,基于所述像素单元i的竖直相位确定像素单元i的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用的滤波器系数与所述像素单元i的水平相位对应,其中,所述竖直插值滤波器使用的滤波器系数与像素单元i的竖直相位对应。其中,上述像素单元i可为所述P个像素单元中的任意一个像素单元。例如,对于所述P个像素单元中的每个像素单元,均可按照与上述像素单元i类似的方式确定相位数为Q的插值滤波器。
可选的,在本发明的一些可能的实施方式中,所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波,包括:
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
此外,对于像素单元的相位为单相位(即只有水平相位或者竖直相位)的情况,则对像素单元的参考像素单元的像素执行一次插值滤波即可得到该像素单元的像素预测值。
406、视频解码装置利用当前图像块的预测像素值和视频码流中的当前图像块的预测残差对当前图像块进行重建。
由上可见,在本实施例的方案中,视频解码装置利用运动模型和所述W个控制点的1/n像素精度的运动矢量,计算得到所述当前图像块的每个像素单元的1/N像素精度的运动矢量,N大于n,也就是说,计算得到的所述当前图像块的每个像素单元的运动矢量的精度,高于所述确定的所述W个控制点的运动矢量的精度。由于先得到了较高精度的运动矢量,当前图像块的每个像素单元的较高精度的运动矢量用于确定所述当前图像块的每个像素单元在参考图像中的对应参考像素单元,利用相位数为Q(Q大于n)的插值滤波器对所述当前图像块的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波以得到当前图像块的每个像素单元的像素预测值,可见通过上述方式有利于减少预测获得当前图像块较高精度的像素预测值所需插值滤波的次数(例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程),进而有利于降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,进而有利于图像预测过程的计算复杂度。
下面针对上述实施例中涉及到的确定包括W个运动信息单元的合并运动信息单元集e的一些可能的具体实施方式进行举例。
其中,确定包括W个运动信息单元的合并运动信息单元集e可包括:从A个候选合并运动信息单元集之中确定出包含W个运动信息单元的合并运动信息单元集e;其中,所述A个候选合并运动信息单元集中的每个候选合并运动信息单元集所包含的每个运动信息单元,分别选自所述W个控制点中的每个控制点所对应的候选运动信息单元集中的符合约束条件的至少部分运动信息单元,所述A为正整数,其中,所述A个候选合并运动信息单元集互不相同,所述A个候选合并运动信息单元集中的每个候选合并运动信息单元集包括W个运动信息单元。
可选的,在本发明一些可能实施方式中,所述A个候选合并运动信息单元集满足第一条件、第二条件、第三条件、第四条件和第五条件之中的至少一个条件,
其中,所述第一条件包括所述A个候选合并运动信息单元集中的任意一个候选合并运动信息单元集中的运动信息单元所指示出的所述当前图像块的运动方式为非平动运动。
所述第二条件包括所述A个候选合并运动信息单元集中的任意一个候选合并运动信息单元集中的2个运动信息单元对应的预测方向相同。
所述第三条件包括所述A个候选合并运动信息单元集中的任意一个候选合并运动信息单元集中的2个运动信息单元对应的参考帧索引相同。
所述第四条件包括所述A个候选合并运动信息单元集中的任意一个候选合并运动信息单元集中的2个运动信息单元的运动矢量水平分量的差值的绝对值小于或等于水平分量阈值,或者,所述A个候选合并运动信息单元集中的任意一个候选合并运动信息单元集中的其中1个运动信息单元和控制点Z的运动矢量水平分量之间的差值的绝对值小于或等于水平分量阈值,所述当前图像块的所述控制点Z不同于所述W个控制点中的任意一个控制点。
所述第五条件包括所述A个候选合并运动信息单元集中的任意一个候选合并运动信息单元集中的2个运动信息单元的运动矢量竖直分量的差值的绝对值小于或等于竖直分量阈值,或者,所述A个候选合并运动信息单元集中的其中一个候选合并运动信息单元集中的任意1个运动信息单元和控制点Z的运动矢量竖直分量之间的差值的绝对值小于或等于水平分量阈值,所述当前图像块的所述控制点Z不同于所述W个控制点中的任意一个控制点。
可选的,在本发明一些可能的实施方式中,视频编码装置从A个候选合并运动信息单元集之中确定出包含W个运动信息单元的合并运动信息单元集e可以包括:基于失真或者率失真代价从A个候选合并运动信息单元集之中确定出包含W个运动矢量的合并运动信息单元集e。
可选的,合并运动信息单元集e对应的率失真代价,小于或等于上述A个候选合并运动信息单元集中除合并运动信息单元集e之外的任意一个合并运动信息单元集对应的率失真代价。
可选的,合并运动信息单元集e对应的失真,小于或者等于上述A个候选合并运动信息单元集中除合并运动信息单元集e之外的任意一个合并运动信息单元集对应的失真。
其中,上述A个候选合并运动信息单元集之中的某个候选合并运动信息单元集(例如上述A个候选合并运动信息单元集中的合并运动信息单元集e)对应的率失真代价例如可以为利用该某个候选合并运动信息单元集(例如合并运动信息单元集e)对图像块(例如当前图像块)进行像素值预测而得到的该图像块的预测像素值所对应的率失真代价。
其中,上述A个候选合并运动信息单元集之中的某个候选合并运动信息单元集(例如上述A个候选合并运动信息单元集中的合并运动信息单元集e)对应的失真,例如可为图像块(如当前图像块)的原始像素值与利用该某个候选合并运动信息单元集(如合并运动信息单元集e)对该图像块进行像素值预测而得到的该图像块的预测像素值之间的失真(即,图像块的原始像素值与预测像素值之间的失真)。
在本发明一些可能的实施方式中,图像块(如当前图像块)的原始像素值与利用该某个候选合并运动信息单元集(例如合并运动信息单元集e)对该图像块进行像素值预测而得到的该图像块的预测像素值之间的失真,具体例如可以为该图像块(例如当前图像块)的原始像素值与利用该某个候选合并运动信息单元集(例如合并运动信息单元集e)对该图像块进行像素值预测而得到的该图像块的预测像素值之间的平方误差和(SSD)或绝对误差和(SAD)或误差和或能够衡量失真的其他失真参量。
下面举例一些确定当前图像块的W个控制点的可能方式。
可选的,在本发明一些可能实施方式中,所述W个控制点包括所述当前图像块的左上控制点、右上控制点、左下控制点和中心控制点a1中的其中W个控制点。
其中,所述当前图像块的左上控制点为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块;所述当前图像块的左下控制点为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块;所述当前图像块的右上控制点为所述当前图像块的右上顶点或者所述当前图像块中的包含所述当前图像块的右上顶点的像素块;所述当前图像块的中心素样本a1为所述当前图像块的中心像素点或所述当前图像块中的包含所述当前图像块的中心像素点的像素块。
可选的,在本发明的一些可能实施方式中,所述当前图像块的左上控制点所对应的候选运动信息单元集包括x1个像素单元的运动信息单元,其中,所述x1个像素单元包括至少一个与所述当前图像块的左上控制点空域相邻的像素单元(例如图2-b中的图形块A、B和C)和/或至少一个与所述当前图像块的左上控制点时域相邻的像素单元,所述x1为正整数。
例如,所述x1个像素单元可包括与所述当前图像块所属的视频帧时域相邻的视频帧之中的与所述当前图像块的左上控制点位置相同的像素单元、所述当前图像块的左边的空域相邻像素单元、所述当前图像块的左上的空域相邻像素单元和所述当前图像块的上边的空域相邻像素单元中的至少一个。
可选的,在本发明的一些可能实施方式中,所述当前图像块的右上控制点所对应的候选运动信息单元集包括x2个像素单元的运动信息单元,其中,所述x2个像素单元包括至少一个与所述当前图像块的右上控制点空域相邻的像素单元(例如图2-b中的图形块E和D等)和/或至少一个与所述当前图像块的右上控制点时域相邻的像素单元,其中,所述x2为正整数。
例如,所述x2个像素单元可包括与所述当前图像块所属的视频帧时域相邻的视频帧之中的与所述当前图像块的右上控制点位置相同的像素单元、所述当前图像块的右边的空域相邻像素单元、所述当前图像块的右上的空域相邻像素单元和所述当前图像块的上边的空域相邻像素单元中的至少一个。
可选的,在本发明一些可能实施方式中,
所述当前图像块的左下控制点所对应的候选运动信息单元集包括x3个像素单元的运动信息单元,其中,所述x3个像素单元包括至少一个与所述当前图像块的左下控制点空域相邻的像素单元和/或至少一个与所述当前图像块的左下控制点时域相邻的像素单元,所述x3为正整数。
例如,所述x3个像素单元可包括与所述当前图像块所属的视频帧时域相邻的视频帧之中的与所述当前图像块的左下控制点位置相同的像素单元、所述当前图像块的左边的空域相邻像素单元、所述当前图像块的左下的空域相邻像素单元和所述当前图像块的下边的空域相邻像素单元中的至少一个。
可选的,在本发明一些可能实施方式中,所述当前图像块的中心控制点a1所对应的候选运动信息单元集包括x5个像素单元的运动信息单元,其中,所述x5个像素单元中的其中一个像素单元为像素单元a2。
其中,所述中心控制点a1在所述当前图像块所属视频帧中的位置,与所述像素单元a2在所述当前图像块所属视频帧的相邻视频帧中的位置相同,所述x5为正整数。
下面通过表举例像素单元相位和滤波器系数之间的一种对应关系。
其中,表1举例的是增益缩放因子是256的64相位的插值滤波器的滤波器系数和像素单元相位之间的对应关系。
表2举例的是增益缩放因子是64的64相位的插值滤波器的滤波器系数和像素单元相位之间的对应关系。
表1
相位 滤波器系数
0 {0,0,0,256,0,0,0,0}
1 {0,1,-3,256,4,-2,0,0}
2 {0,2,-7,255,8,-3,1,0}
3 {-1,3,-10,255,12,-4,1,0}
4 {-1,4,-13,254,16,-5,2,-1}
5 {-1,5,-16,253,20,-7,2,0}
6 {-1,6,-18,251,25,-9,3,-1}
7 {-2,7,-21,250,29,-10,4,-1}
8 {-2,8,-23,248,34,-12,4,-1}
9 {-2,8,-25,246,38,-13,5,-1}
10 {-2,9,-27,244,43,-15,5,-1}
11 {-2,10,-30,242,48,-16,6,-2}
12 {-2,10,-31,239,52,-17,5,0}
13 {-2,10,-32,237,57,-18,6,-2}
14 {-2,11,-34,234,63,-21,7,-2}
15 {-2,11,-35,231,68,-21,6,-2}
16 {-3,13,-38,228,74,-24,9,-3}
17 {-2,12,-38,224,78,-24,7,-1}
18 {-3,14,-40,221,84,-27,10,-3}
19 {-2,12,-39,217,88,-27,8,-1}
20 {-3,13,-40,213,94,-28,9,-2}
21 {-3,15,-43,210,100,-31,11,-3}
22 {-3,13,-41,205,104,-30,9,-1}
23 {-3,12,-41,201,110,-31,9,-1}
24 {-3,15,-43,197,116,-35,12,-3}
25 {-3,14,-43,192,121,-35,12,-2}
26 {-2,13,-42,187,126,-35,10,-1}
27 {-3,14,-43,183,132,-37,12,-2}
28 {-2,13,-42,178,137,-38,12,-2}
29 {-3,14,-42,173,143,-39,12,-2}
30 {-3,15,-43,169,148,-41,14,-3}
31 {-3,13,-41,163,153,-40,13,-2}
32 {-3,13,-40,158,158,-40,13,-3}
33 {-2,13,-40,153,163,-41,13,-3}
34 {-3,14,-41,148,169,-43,15,-3}
35 {-2,12,-39,143,173,-42,14,-3}
36 {-2,12,-38,137,178,-42,13,-2}
37 {-2,12,-37,132,183,-43,14,-3}
38 {-1,10,-35,126,187,-42,13,-2}
39 {-2,12,-35,121,192,-43,14,-3}
40 {-3,12,-35,116,197,-43,15,-3}
41 {-1,9,-31,110,201,-41,12,-3}
42 {-1,9,-30,104,205,-41,13,-3}
43 {-3,11,-31,100,210,-43,15,-3}
44 {-2,9,-28,94,213,-40,13,-3}
45 {-1,8,-27,88,217,-39,12,-2}
46 {-3,10,-27,84,221,-40,14,-3}
47 {-1,7,-24,78,224,-38,12,-2}
48 {-3,9,-24,74,228,-38,13,-3}
49 {-2,6,-21,68,231,-35,11,-2}
50 {-2,7,-21,63,234,-34,11,-2}
51 {-2,6,-18,57,237,-32,10,-2}
52 {0,5,-17,52,239,-31,10,-2}
53 {-2,6,-16,48,242,-30,10,-2}
54 {-1,5,-15,43,244,-27,9,-2}
55 {-1,5,-13,38,246,-25,8,-2}
56 {-1,4,-12,34,248,-23,8,-2}
57 {-1,4,-10,29,250,-21,7,-2}
58 {-1,3,-9,25,251,-18,6,-1}
59 {0,2,-7,20,253,-16,5,-1}
60 {-1,2,-5,16,254,-13,4,-1}
61 {0,1,-4,12,255,-10,3,-1}
62 {0,1,-3,8,255,-7,2,0}
63 {0,0,-2,4,256,-3,1,0}
表2
相位 滤波器系数
0 {0,0,0,64,0,0,0,0}
1 {0,0,-1,64,1,0,0,0}
2 {0,0,-2,64,3,-1,0,0}
3 {0,1,-2,64,3,-2,0,0}
4 {0,1,-3,63,4,-1,0,0}
5 {0,1,-4,63,5,-2,1,0}
6 {0,1,-4,63,6,-2,1,-1}
7 {0,1,-5,62,7,-2,1,0}
8 {0,2,-6,62,8,-3,1,0}
9 {0,1,-6,62,10,-3,1,-1}
10 {0,2,-7,61,11,-3,1,-1}
11 {-1,3,-7,60,12,-4,1,0}
12 {0,2,-8,60,13,-4,1,0}
13 {0,2,-8,59,14,-4,1,0}
14 {0,3,-8,58,16,-5,1,-1}
15 {0,3,-9,58,17,-5,1,-1}
16 {-1,3,-9,57,18,-6,2,0}
17 {-1,3,-9,56,19,-6,2,0}
18 {-1,3,-10,55,21,-6,2,0}
19 {-1,3,-10,54,22,-7,2,1}
20 {0,3,-10,53,23,-7,2,0}
21 {-1,3,-10,52,25,-7,2,0}
22 {-1,3,-10,51,26,-8,2,1}
23 {0,3,-10,50,27,-8,2,0}
24 {-1,3,-10,49,29,-8,2,0}
25 {-1,3,-10,48,30,-8,2,0}
26 {-1,3,-10,47,32,-9,2,0}
27 {-1,3,-11,46,33,-9,3,0}
28 {-1,3,-10,44,34,-9,3,0}
29 {-1,3,-10,43,36,-9,3,-1}
30 {-1,3,-10,42,37,-10,3,0}
31 {-1,4,-10,41,38,-10,3,-1}
32 {-1,4,-11,40,40,-11,4,-1}
33 {-1,3,-10,38,41,-10,4,-1}
34 {0,3,-10,37,42,-10,3,-1}
35 {-1,3,-9,36,43,-10,3,-1}
36 {0,3,-9,34,44,-10,3,-1}
37 {0,3,-9,33,46,-11,3,-1}
38 {0,2,-9,32,47,-10,3,-1}
39 {0,2,-8,30,48,-10,3,-1}
40 {0,2,-8,29,49,-10,3,-1}
41 {0,2,-8,27,50,-10,3,0}
42 {1,2,-8,26,51,-10,3,-1}
43 {0,2,-7,25,52,-10,3,-1}
44 {0,2,-7,23,53,-10,3,0}
45 {1,2,-7,22,54,-10,3,-1}
46 {0,2,-6,21,55,-10,3,-1}
47 {0,2,-6,19,56,-9,3,-1}
48 {0,2,-6,18,57,-9,3,-1}
49 {-1,1,-5,17,58,-9,3,0}
50 {-1,1,-5,16,58,-8,3,0}
51 {0,1,-4,14,59,-8,2,0}
52 {0,1,-4,13,60,-8,2,0}
53 {0,1,-4,12,60,-7,3,-1}
54 {-1,1,-3,11,61,-7,2,0}
55 {-1,1,-3,10,62,-6,1,0}
56 {0,1,-3,8,62,-6,2,0}
57 {0,1,-2,7,62,-5,1,0}
58 {-1,1,-2,6,63,-4,1,0}
59 {0,1,-2,5,63,-4,1,0}
60 {0,0,-1,4,63,-3,1,0}
61 {0,0,-2,3,64,-2,1,0}
62 {0,0,-1,3,64,-2,0,0}
63 {0,0,0,1,64,-1,0,0}
举例来说,当像素单元的水平相位x=12,如果使用增益缩放因子是256的64相位的插值滤波器,则水平插值滤波结果S可表示如下:
S=((-2)×x0+10×x1+(-31)×x2+239×x2+52×x4+(-17)×x5+5×x6+0×x7)+offset)/256
可插值滤波结果S来得到像素单元的预测像素值,其中,offset可以是任意整数。
下面通过一些测试数据来体现本发明实施例方案的技术效果。
其中,表3和表4给出了传统方案和本发明实施例方案的一些测试性能的对比。表3给出了传统方案测试性能,表4给出了本发明一些实施例方案的测试性能。
表3
表4
对比上面的两个表可以发现,本发明实施例的技术方案相对于现有技术在编解码性能上有较大的提高。
下面还提供用于实施上述方案的相关装置。
参见图5,本发明实施例提供一种图像预测装置500,可以包括:第一确定单元510、计算单元520和插值滤波单元540。
第一确定单元510,用于确定当前图像块中的W个控制点的运动矢量。
计算单元520,用于利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元。
其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,其中,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数。
插值滤波单元540,用于利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值。
其中,图像预测装置500还可包括:第二确定单元530,用于利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元。
可选的,在本发明的一些可能的实施方式中,所述N的取值为预设的固定大小的取值,所述Q小于或等于所述N。
可选的,在本发明的一些可能的实施方式中,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
可选的,在本发明的一些可能的实施方式中,
所述第二确定单元530具体用于:利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;利用所述P个像素单元中的每个像素单元的运动矢量,在参考图像中查找与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,为所述P个像素单元中的每个像素单元在参考图像中的参考像素单元。
可选的,在本发明的一些可能的实施方式中,在利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置的方面,所述第二确定单元530具体用于:
按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;
xInt=[vNx/N],或xInt=vNx>>M;
yInt=[vNy/N],或yInt=vNy>>M;
其中,当N为2的整数次幂的情况下所述M=log2N,(xInt,yInt)表示当前图像块中坐标为(x,y)的像素单元的整像素位置坐标,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,
所述插值滤波单元具体用于,利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,所述插值滤波器使用滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器,对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
可选的,在本发明的一些可能的实施方式中,在利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位的方面,所述插值滤波单元具体用于按照如下公式,所述利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,所述相位包括水平相位和竖直相位,
其中,在基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器的方面,所述插值滤波单元具体用于,基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,所述水平插值滤波器使用的滤波器系数与所述水平相位对应,所述竖直插值滤波器使用滤波器系数与所述竖直相位对应。
可选的,在本发明的一些可能的实施方式中,在所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波的方面,所述插值滤波单元具体用于,
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元;
可选的,在本发明的一些可能的实施方式中,所述运动模型为平动运动模型、仿射运动模型、旋转运动模型、缩放运动模型、抛物线运动模型、剪切运动模型、透视运动模型或双线性运动模型。
可选的,在本发明的一些可能的实施方式中,
在所述W等于2的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,
在所述W等于3的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
可选的,在本发明的一些可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
可选的,在本发明的一些可能的实施方式中,所述图像预测装置500应用于视频编码装置中或者所述图像预测装置500应用于视频解码装置中。
可以理解的是,本实施例的图像预测装置600的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。图像预测装置600可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机等设备。
可以看出,本实施例提供应图像预测方法中,图像预测装置500利用运动模型和所述W个控制点的1/n像素精度的运动矢量,计算得到所述当前图像块的每个像素单元的1/N像素精度的运动矢量,N大于n,也就是说,计算得到的所述当前图像块的每个像素单元的运动矢量的精度,高于所述确定的所述W个控制点的运动矢量的精度。由于先得到了较高精度的运动矢量,当前图像块的每个像素单元的较高精度的运动矢量用于确定所述当前图像块的每个像素单元在参考图像中的对应参考像素单元,利用相位数为Q(Q大于n)的插值滤波器对所述当前图像块的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波以得到当前图像块的每个像素单元的像素预测值,可见通过上述方式有利于减少预测获得当前图像块较高精度的像素预测值所需插值滤波的次数(例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程),进而有利于降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,进而有利于图像预测过程的计算复杂度。
参见图6,图6是本发明的另一实施例提供的图像预测装置600的结构框图。其中,图像预测装置600可包括:至少1个处理器601,存储器605和至少1个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。
其中,该图像预测装置600可选的可以包含至少1个网络接口604和/或用户接口603,用户接口603可以包括显示器(例如全息成像(Holographic)、阴极射线管或者投影(Projector)等)、点击设备(例如鼠标或轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器605可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器605中的一部分还可以包括非易失性随机存取存储器。
在一些实施方式中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***6051,包含各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块6052,包含各种应用程序,用于实现各种应用业务。
在本发明的实施例中,通过调用存储器605存储的程序或指令,处理器601用于,确定当前图像块中的W个控制点的运动矢量;利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,其中,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数;利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值,所述Q为大于所述n的整数。
可选的,在本发明的一些可能的实施方式中,所述N的取值为预设的固定大小的取值,所述Q小于或等于所述N。
可选的,在本发明的一些可能的实施方式中,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
可选的,在本发明的一些可能的实施方式中,处理器利用所述P个像素单元中的每个像素单元的运动矢量确定所述P个像素单元中的每个像素单元在参考图像中的参考像素单元包括:
利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;利用所述P个像素单元中的每个像素单元的运动矢量,在参考图像中查找与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,其中,在参考图像中查找到的与所述P个像素单元中的每个像素单元的整像素位置对应的参考像素单元,为所述P个像素单元中的每个像素单元在参考图像中的参考像素单元。
可选的,在本发明的一些可能的实施方式中,处理器利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置包括:
按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的整像素位置;
xInt=[vNx/N],或xInt=vNx>>M;
yInt=[vNy/N],或yInt=vNy>>M;
其中,当N为2的整数次幂的情况下所述M=log2N,(xInt,yInt)表示当前图像块中坐标为(x,y)的像素单元的整像素位置坐标,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,处理器利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的参考像素单元的像素进行插值滤波,包括:
利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
可选的,在本发明的一些可能的实施方式中,处理器利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位包括:按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,所述相位包括水平相位和竖直相位,其中,处理器基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,包括:基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用的滤波器系数与所述水平相位对应,其中,所述竖直插值滤波器使用的滤波器系数与所述竖直相位对应。
可选的,在本发明的一些可能的实施方式中,处理器利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波,包括:
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
可选的,在本发明的一些可能的实施方式中,所述运动模型为平动运动模型、仿射运动模型、旋转运动模型、抛物线运动模型、剪切运动模型、缩放运动模型、透视运动模型或双线性运动模型。
可选的,在本发明的一些可能的实施方式中,
在所述W等于2的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
可选的,在本发明的一些可能的实施方式中,
在所述W等于3的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
可选的,在本发明的一些可能的实施方式中,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
可选的,在本发明的一些可能的实施方式中,所述N的取值为预设的固定取值。
可选的,在本发明的一些可能的实施方式中,所述图像预测装置600应用于视频编码装置中或者所述图像预测装置600应用于视频解码装置中。
可以理解的是,本实施例的图像预测装置600的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。图像预测装置600可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机等设备。
可以看出,本实施例提供应图像预测方法中,图像预测装置600利用运动模型和所述W个控制点的1/n像素精度的运动矢量,计算得到所述当前图像块的每个像素单元的1/N像素精度的运动矢量,N大于n,也就是说,计算得到的所述当前图像块的每个像素单元的运动矢量的精度,高于所述确定的所述W个控制点的运动矢量的精度。由于先得到了较高精度的运动矢量,当前图像块的每个像素单元的较高精度的运动矢量用于确定所述当前图像块的每个像素单元在参考图像中的对应参考像素单元,利用相位数为Q(Q大于n)的插值滤波器对所述当前图像块的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波以得到当前图像块的每个像素单元的像素预测值,可见通过上述方式有利于减少预测获得当前图像块较高精度的像素预测值所需插值滤波的次数(例如可无需执行通过低精度插值滤波来得到低精度像素预测值的中间过程),进而有利于降低图像预测过程中插值滤波所需要的中间缓存和内存操作次数,进而有利于图像预测过程的计算复杂度。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,其中,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

1.一种图像预测方法,其特征在于,包括:
确定当前图像块中的W个控制点的运动矢量;
利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元,其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,其中,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数;
利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值,所述Q为大于所述n的整数。
2.根据权利要求1所述的方法,其特征在于,所述N的取值为预设的固定大小的取值,所述Q小于或等于所述N。
3.根据权利要求1或2所述的方法,其特征在于,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
4.根据权利要求1至3任一项所述的方法,其特征在于,利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,包括:
利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
5.根据权利要求4所述的方法,其特征在于,所述利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位包括:按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
6.根据权利要求4或5所述的方法,其特征在于,所述相位包括水平相位和竖直相位,其中,所述基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,包括:基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,其中,所述水平插值滤波器使用的滤波器系数与所述水平相位对应,其中,所述竖直插值滤波器使用的滤波器系数与所述竖直相位对应。
7.根据权利要求6所述的方法,其特征在于,所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波,包括:
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述运动模型为平动运动模型、仿射运动模型、旋转运动模型、抛物线运动模型、剪切运动模型、缩放运动模型、透视运动模型或双线性运动模型。
9.根据权利要求1至8任意一项所述的方法,其特征在于,在所述W等于2的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + Nv 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + Nv 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
10.根据权利要求1至8任一项所述的方法,其特征在于,在所述W等于3的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + N v 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + N v 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述图像预测方法应用于视频编码过程中或应用于视频解码过程中。
13.一种图像预测装置,其特征在于,包括:
第一确定单元,用于确定当前图像块中的W个控制点的运动矢量;
计算单元,用于利用运动模型和所述W个控制点的运动矢量计算得到所述当前图像块的P个像素单元的运动矢量,其中,所述确定的所述W个控制点的运动矢量的精度为1/n像素精度,所述计算得到的所述P个像素单元中的每个像素单元的运动矢量的精度为1/N像素精度,所述P个像素单元为所述当前图像块的部分或全部像素单元,其中,所述P个像素单元中的每个像素单元的运动矢量用于确定相应像素单元在参考图像中的对应参考像素单元,所述W、所述n和所述N为大于1的整数,所述N大于所述n,所述P为正整数;
插值滤波单元,用于利用相位数为Q的插值滤波器对所述P个像素单元中的每个像素单元在参考图像中的对应参考像素单元的像素进行插值滤波,以得到所述P个像素单元中的每个像素单元的像素预测值,其中,所述Q为大于所述n的整数。
14.根据权利要求13所述的图像预测装置,其特征在于,所述N的取值为预设的固定大小的取值,所述Q小于或等于所述N。
15.根据权利要求13或14所述的图像预测装置,其特征在于,在所述运动模型中利用所述N对所述W个控制点的运动矢量中的一个运动矢量的水平分量或者竖直分量放大N倍;或在所述运动模型中利用所述N对所述W个控制点中的任意两个控制点的运动矢量分量差值放大N倍。
16.根据权利要求13至15任一项所述的图像预测装置,其特征在于,
所述插值滤波单元具体用于,利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位,基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器,所述插值滤波器使用的滤波器系数与所述相位对应;利用确定的所述每个像素单元对应的相位数为Q的插值滤波器,对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波。
17.根据权利要求16所述的图像预测装置,其特征在于,
在利用所述P个像素单元中的每个像素单元的运动矢量,计算得到所述P个像素单元中的每个像素单元的相位的方面,所述插值滤波单元具体用于按照如下公式,利用所述P个像素单元中的每个像素单元的运动矢量计算得到所述P个像素单元中的每个像素单元的相位,
X’=abs(vNx)%N,或X’=vNx&((1<<M)-1);
Y’=abs(vNy)%N,或Y’=vNy&((1<<M)-1);
其中,当N为2的整数次幂的情况下所述M=log2N,其中,所述X’表示当前图像块中坐标为(x,y)的像素单元的水平相位,所述Y’表示当前图像块中坐标为(x,y)的像素单元的竖直相位,其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
18.根据权利要求16或17所述的图像预测装置,其特征在于,所述相位包括水平相位和竖直相位,
其中,在基于所述每个像素单元的相位确定相应像素单元的相位数为Q的插值滤波器的方面,所述插值滤波单元具体用于,基于所述每个像素单元的水平相位确定相应像素单元的相位数为Q的水平插值滤波器,基于所述每个像素单元的竖直相位确定相应像素单元的相位数为Q的竖直插值滤波器,所述水平插值滤波器使用的滤波器系数与所述水平相位对应,所述竖直插值滤波器使用的滤波器系数与所述竖直相位对应。
19.根据权利要求18所述的图像预测装置,其特征在于,在所述利用确定的所述每个像素单元对应的相位数为Q的插值滤波器对相应像素单元在参考图像中的相应参考像素单元的像素进行插值滤波的方面,所述插值滤波单元具体用于,
利用确定的像素单元i对应的相位数为Q的水平插值滤波器,对所述像素单元i在参考图像中的相应参考像素单元的像素进行水平插值滤波,以得到水平插值滤波结果;利用确定的所述像素单元i对应的相位数为Q的竖直插值滤波器对所述水平插值滤波结果进行竖直插值滤波,以得到所述像素单元i的像素预测值,其中,所述像素单元i为所述P像素单元中的任意1个像素单元;
或者,
利用确定的像素单元j对应的相位数为Q的竖直插值滤波器,对所述像素单元j在参考图像中的相应参考像素单元的像素进行竖直插值滤波,以得到竖直插值滤波结果;利用确定的所述像素单元j对应的相位数为Q的水平插值滤波器对所述水平插值滤波结果进行水平插值滤波,以得到所述像素单元j的像素预测值,其中,所述像素单元j为所述P个像素单元中的任意1个像素单元。
20.根据权利要求13至19任一项所述的图像预测装置,其特征在于,所述运动模型为平动运动模型、仿射运动模型、旋转运动模型、缩放运动模型、抛物线运动模型、剪切运动模型、透视运动模型或双线性运动模型。
21.根据权利要求13至20任一项所述的图像预测装置,其特征在于,在所述W等于2的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N L x - ( v 1 y - v 0 y ) × N L y + N v 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N L x + ( v 1 x - v 0 x ) × N L y + N v 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) L x - ( v 1 y - v 0 y ) × ( N / n ) L y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) L x + ( v 1 x - v 0 x ) × ( N / n ) L y + ( N / n ) v 0 y ;
其中,所述L表示所述当前图像块的宽或高,(v0x,v0y)和(v1x,v1y)表示2个控制点的1/n像素精度的运动矢量,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量。
22.根据权利要求13至20任一项所述的图像预测装置,其特征在于,在所述W等于3的情况下,所述运动模型表示为:
v N x = ( ( v 1 x - v 0 x ) × N w x + ( v 2 x - v 0 x ) × N h y + N v 0 x ) / n v N y = ( ( v 1 y - v 0 y ) × N w x + ( v 2 y - v 0 y ) × N h y + N v 0 y ) / n ;
或,
v N x = ( v 1 x - v 0 x ) × ( N / n ) w x + ( v 2 x - v 0 x ) × ( N / n ) h y + ( N / n ) v 0 x v N y = ( v 1 y - v 0 y ) × ( N / n ) w x + ( v 2 y - v 0 y ) × ( N / n ) h y + ( N / n ) v 0 y ;
其中,所述vNx表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量水平分量,所述vNy表示当前图像块中坐标为(x,y)的像素单元的1/N像素精度的运动矢量竖直平分量,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)表示3个控制点的1/n像素精度的运动矢量,所述w表示所述当前图像块的宽,所述h表示所述当前图像块的高。
23.根据权利要求13至22任一项所述的图像预测装置,其特征在于,所述W个控制点的运动矢量预测自所述当前图像块周边的已编码图像块或已解码图像块的精度为1/n像素精度的运动矢量。
24.根据权利要求13至23任一项所述的图像预测装置,其特征在于,所述图像预测装置应用于视频编码装置中或者所述图像预测装置应用于视频解码装置中。
CN201510391765.7A 2015-07-03 2015-07-03 图像预测方法和相关设备 Active CN106331722B (zh)

Priority Applications (30)

Application Number Priority Date Filing Date Title
CN201510391765.7A CN106331722B (zh) 2015-07-03 2015-07-03 图像预测方法和相关设备
KR1020187001663A KR102073638B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
RU2018143851A RU2699258C2 (ru) 2015-07-03 2016-06-29 Способ прогнозирования изображения и устройство прогнозирования изображения
PCT/CN2016/087750 WO2017005128A1 (zh) 2015-07-03 2016-06-29 图像预测方法和相关设备
BR112018000085-0A BR112018000085B1 (pt) 2015-07-03 2016-06-29 Método e aparelho de previsão de imagem e meio legível por computador
AU2016290017A AU2016290017B2 (en) 2015-07-03 2016-06-29 Picture prediction method and picture prediction apparatus
JP2017567671A JP6776276B2 (ja) 2015-07-03 2016-06-29 画像予測方法および画像予測装置
MX2018000067A MX2018000067A (es) 2015-07-03 2016-06-29 Metodo de prediccion de imagenes y aparato de prediccion de imagenes.
KR1020227013389A KR102549824B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
CN201680037454.3A CN107710761B (zh) 2015-07-03 2016-06-29 图像预测方法和相关设备
MYPI2017704989A MY191714A (en) 2015-07-03 2016-06-29 Picture prediction method and picture prediction apparatus
MX2021003800A MX2021003800A (es) 2015-07-03 2016-06-29 Método de predicción de imágenes y aparato de predicción de imágenes.
KR1020207002729A KR102173475B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
KR1020207031100A KR102390695B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
SG11201710800QA SG11201710800QA (en) 2015-07-03 2016-06-29 Picture prediction method and related device
EP24150152.7A EP4373087A3 (en) 2015-07-03 2016-06-29 Picture prediction method and related device
EP16820779.3A EP3306934B1 (en) 2015-07-03 2016-06-29 Image prediction method and related device
RU2018103787A RU2675092C1 (ru) 2015-07-03 2016-06-29 Способ прогнозирования изображения и устройство прогнозирования изображения
US15/855,005 US10560714B2 (en) 2015-07-03 2017-12-27 Picture prediction method and picture prediction apparatus
ZA2018/00017A ZA201800017B (en) 2015-07-03 2018-01-02 Picture prediction method and picture prediction apparatus
MX2023000807A MX2023000807A (es) 2015-07-03 2018-01-08 Metodo de prediccion de imagenes y aparato de prediccion de imagenes.
US16/734,586 US10771809B2 (en) 2015-07-03 2020-01-06 Picture prediction method and picture prediction apparatus
US17/012,658 US11240529B2 (en) 2015-07-03 2020-09-04 Picture prediction method and picture prediction apparatus
JP2020169052A JP7004782B2 (ja) 2015-07-03 2020-10-06 画像予測方法および関連装置
US17/556,579 US11831902B2 (en) 2015-07-03 2021-12-20 Picture prediction method and picture prediction apparatus
JP2021212785A JP7335315B2 (ja) 2015-07-03 2021-12-27 画像予測方法および関連装置
JP2021212784A JP7335314B2 (ja) 2015-07-03 2021-12-27 画像予測方法および関連装置
JP2023133093A JP2023164434A (ja) 2015-07-03 2023-08-17 画像予測方法および関連装置
JP2023133095A JP2023164435A (ja) 2015-07-03 2023-08-17 画像予測方法および関連装置
US18/494,259 US20240187638A1 (en) 2015-07-03 2023-10-25 Picture prediction method and picture prediction apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510391765.7A CN106331722B (zh) 2015-07-03 2015-07-03 图像预测方法和相关设备

Publications (2)

Publication Number Publication Date
CN106331722A true CN106331722A (zh) 2017-01-11
CN106331722B CN106331722B (zh) 2019-04-26

Family

ID=57684872

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510391765.7A Active CN106331722B (zh) 2015-07-03 2015-07-03 图像预测方法和相关设备
CN201680037454.3A Active CN107710761B (zh) 2015-07-03 2016-06-29 图像预测方法和相关设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680037454.3A Active CN107710761B (zh) 2015-07-03 2016-06-29 图像预测方法和相关设备

Country Status (12)

Country Link
US (5) US10560714B2 (zh)
EP (2) EP3306934B1 (zh)
JP (6) JP6776276B2 (zh)
KR (4) KR102549824B1 (zh)
CN (2) CN106331722B (zh)
AU (1) AU2016290017B2 (zh)
MX (3) MX2018000067A (zh)
MY (1) MY191714A (zh)
RU (2) RU2675092C1 (zh)
SG (1) SG11201710800QA (zh)
WO (1) WO2017005128A1 (zh)
ZA (1) ZA201800017B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109729352A (zh) * 2017-10-27 2019-05-07 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
CN109756737A (zh) * 2017-11-07 2019-05-14 华为技术有限公司 图像预测方法和装置
CN110166778A (zh) * 2018-02-12 2019-08-23 华为技术有限公司 视频解码方法、视频解码器以及电子设备
CN110178371A (zh) * 2017-01-16 2019-08-27 世宗大学校产学协力团 影像编码/解码方法及装置
US10560714B2 (en) 2015-07-03 2020-02-11 Huawei Technologies Co., Ltd. Picture prediction method and picture prediction apparatus
CN110868602A (zh) * 2018-08-27 2020-03-06 华为技术有限公司 视频编码器、视频解码器及相应方法
CN111316648A (zh) * 2017-11-14 2020-06-19 高通股份有限公司 视频译码中的仿射运动向量预测
WO2020200238A1 (en) * 2019-04-01 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Half-pel interpolation filter in inter coding mode
US11323736B2 (en) 2015-09-29 2022-05-03 Huawei Technologies Co., Ltd. Image prediction method and apparatus
US11503288B2 (en) 2019-08-20 2022-11-15 Beijing Bytedance Network Technology Co., Ltd. Selective use of alternative interpolation filters in video processing

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6768145B2 (ja) 2016-08-15 2020-10-14 ノキア テクノロジーズ オーユー ビデオの符号化および復号
JP7005854B2 (ja) * 2017-11-07 2022-01-24 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ符号化のためのインター予測装置の補間フィルタ及び方法
CN118042154A (zh) * 2018-01-25 2024-05-14 三星电子株式会社 使用基于子块的运动补偿进行视频信号处理的方法和装置
WO2019194506A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 어파인 인터 예측에 기반한 영상 코딩 방법 및 그 장치
WO2019244719A1 (en) * 2018-06-18 2019-12-26 Sharp Kabushiki Kaisha Systems and methods for performing affine motion compensation prediction for coding of video data
TWI706670B (zh) 2018-06-19 2020-10-01 大陸商北京字節跳動網絡技術有限公司 廣義運動向量差解析度
CN112385230A (zh) * 2018-07-02 2021-02-19 Lg电子株式会社 通过使用仿射预测处理视频信号的方法和设备
TWI752341B (zh) * 2018-08-04 2022-01-11 大陸商北京字節跳動網絡技術有限公司 不同解碼器側運動矢量推導模式之間的交互
CN110876065A (zh) * 2018-08-29 2020-03-10 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
BR112021003917A2 (pt) 2018-08-28 2021-05-18 Huawei Technologies Co., Ltd. método e aparelho para construir lista de informações de movimentos de candidatos, método de inter predição, e aparelho
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
WO2020070612A1 (en) 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Improvement for temporal gradient calculating in bio
CN111294601A (zh) * 2018-12-07 2020-06-16 华为技术有限公司 视频图像解码、编码方法及装置
CN118118659A (zh) 2019-01-31 2024-05-31 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
EP3700210A1 (en) 2019-02-21 2020-08-26 Ateme Method and apparatus for image encoding
CN111260693B (zh) * 2020-01-20 2023-07-28 北京中科晶上科技股份有限公司 一种高空抛物的检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1177259A (zh) * 1996-05-29 1998-03-25 三星电子株式会社 包含随机目标对象的活动图象的编码和解码***
CN101009841A (zh) * 2006-01-26 2007-08-01 深圳艾科创新微电子有限公司 视频快速运动估计方法
WO2007088793A1 (ja) * 2006-01-31 2007-08-09 Toyota Jidosha Kabushiki Kaisha 色再現方法
CN101902632A (zh) * 2009-05-25 2010-12-01 华为技术有限公司 像素插值滤波方法及装置,解码方法及***
CN102577388A (zh) * 2009-09-30 2012-07-11 索尼公司 图像处理装置和方法

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
JP2798035B2 (ja) * 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
JP4253881B2 (ja) * 1998-07-17 2009-04-15 ソニー株式会社 撮像装置
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
KR100945546B1 (ko) * 2002-01-14 2010-03-08 노키아 코포레이션 동적 필터 부호화
US8175159B2 (en) * 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP4102973B2 (ja) * 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
WO2006137253A1 (ja) * 2005-06-22 2006-12-28 Matsushita Electric Industrial Co., Ltd. 画像生成装置および画像生成方法
JP4877090B2 (ja) * 2007-06-18 2012-02-15 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
US8514939B2 (en) * 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
CN101540902B (zh) * 2008-03-20 2011-02-02 华为技术有限公司 运动矢量的缩放方法和装置、编解码方法和***
FR2933565A1 (fr) 2008-07-01 2010-01-08 France Telecom Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
US8374444B2 (en) * 2008-08-06 2013-02-12 Sony Corporation Method and apparatus for providing higher resolution images in an embedded device
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
EP2557792A4 (en) * 2010-04-09 2014-08-13 Mitsubishi Electric Corp VIDEO CODING DEVICE AND VIDEO CODING DEVICE
CN103039075B (zh) 2010-05-21 2015-11-25 Jvc建伍株式会社 图像编码装置、图像编码方法、以及图像解码装置、图像解码方法
JP5686018B2 (ja) * 2010-05-21 2015-03-18 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法および画像符号化プログラム
CN102316317B (zh) * 2010-07-10 2013-04-24 华为技术有限公司 一种生成图像预测值的方法和装置
JP5606625B2 (ja) * 2010-07-21 2014-10-15 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化のための高度な動きモデルを使った参照処理
US8736767B2 (en) * 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
JP2012104945A (ja) 2010-11-08 2012-05-31 Sony Corp 画像処理装置と画像処理方法およびプログラム
US8761245B2 (en) * 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
MX347117B (es) * 2011-06-24 2017-04-11 Mitsubishi Electric Corp Dispositivo de codificación de imagen, dispositivo de decodificación de imagen, método de codificacion de imagen, metodo de decodificación de imagen, y dispositivo de predicción de imagen.
RU2014107469A (ru) * 2011-10-17 2015-11-27 Кабусики Кайся Тосиба Устройство кодирования, устройство декодирования, способ кодирования и способ декодирования
WO2013076929A1 (ja) * 2011-11-24 2013-05-30 日本電気株式会社 映像符号化装置、映像符号化方法及びプログラム
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US20130329806A1 (en) * 2012-06-08 2013-12-12 Qualcomm Incorporated Bi-layer texture prediction for video coding
EP2903270B1 (en) * 2012-09-26 2022-04-27 Sun Patent Trust Image encoding method, image decoding method
US9959631B2 (en) * 2014-02-21 2018-05-01 Samsung Electronics Co., Ltd. Tomography apparatus and method for reconstructing tomography image thereof
CN104219520B (zh) * 2014-09-10 2018-11-20 华为技术有限公司 确定图像补偿模式的方法和装置
CN104539966B (zh) * 2014-09-30 2017-12-22 华为技术有限公司 图像预测方法及相关装置
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN107809642B (zh) 2015-02-16 2020-06-16 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
KR101775556B1 (ko) * 2015-04-06 2017-09-06 삼성전자주식회사 단층 촬영 장치 및 그에 따른 단층 영상 처리 방법
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
WO2017118411A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
SG11201806865YA (en) * 2016-03-15 2018-09-27 Mediatek Inc Method and apparatus of video coding with affine motion compensation
US20190191171A1 (en) * 2016-05-13 2019-06-20 Sharp Kabushiki Kaisha Prediction image generation device, video decoding device, and video coding device
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
WO2018128379A1 (ko) * 2017-01-03 2018-07-12 엘지전자(주) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US20190335170A1 (en) * 2017-01-03 2019-10-31 Lg Electronics Inc. Method and apparatus for processing video signal by means of affine prediction
CN116170583A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US10805630B2 (en) * 2017-04-28 2020-10-13 Qualcomm Incorporated Gradient based matching for motion search and derivation
US20190116376A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
US10757417B2 (en) * 2018-01-20 2020-08-25 Qualcomm Incorporated Affine motion compensation in video coding
US10652571B2 (en) * 2018-01-25 2020-05-12 Qualcomm Incorporated Advanced motion vector prediction speedups for video coding
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
US20200120335A1 (en) * 2018-10-12 2020-04-16 Qualcomm Incorporated Affine candidate derivation for video coding
JP7189069B2 (ja) 2019-04-05 2022-12-13 レンゴー株式会社 蓋体およびこれを備えた包装箱

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1177259A (zh) * 1996-05-29 1998-03-25 三星电子株式会社 包含随机目标对象的活动图象的编码和解码***
CN101009841A (zh) * 2006-01-26 2007-08-01 深圳艾科创新微电子有限公司 视频快速运动估计方法
WO2007088793A1 (ja) * 2006-01-31 2007-08-09 Toyota Jidosha Kabushiki Kaisha 色再現方法
CN101902632A (zh) * 2009-05-25 2010-12-01 华为技术有限公司 像素插值滤波方法及装置,解码方法及***
CN102577388A (zh) * 2009-09-30 2012-07-11 索尼公司 图像处理装置和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAO LV ET AL: "A comparison of fractional-pel interpolation filters in HEVC and H.264/AVC", 《VISUAL COMMUNICATIONS AND IMAGE PROCESSING(VCIP)》 *
HUANG HAN ET AL: "Control一Point Representation and Differential Coding", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560714B2 (en) 2015-07-03 2020-02-11 Huawei Technologies Co., Ltd. Picture prediction method and picture prediction apparatus
US11240529B2 (en) 2015-07-03 2022-02-01 Huawei Technologies Co., Ltd. Picture prediction method and picture prediction apparatus
US10771809B2 (en) 2015-07-03 2020-09-08 Huawei Technologies Co., Ltd. Picture prediction method and picture prediction apparatus
US11831902B2 (en) 2015-07-03 2023-11-28 Huawei Technologies Co., Ltd. Picture prediction method and picture prediction apparatus
US11323736B2 (en) 2015-09-29 2022-05-03 Huawei Technologies Co., Ltd. Image prediction method and apparatus
CN110178371A (zh) * 2017-01-16 2019-08-27 世宗大学校产学协力团 影像编码/解码方法及装置
CN109729352A (zh) * 2017-10-27 2019-05-07 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
CN109729352B (zh) * 2017-10-27 2020-07-21 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
US11310524B2 (en) 2017-10-27 2022-04-19 Huawei Technologies Co., Ltd. Method and apparatus for determining motion vector of affine code block
CN109756737B (zh) * 2017-11-07 2020-11-17 华为技术有限公司 图像预测方法和装置
WO2019091372A1 (zh) * 2017-11-07 2019-05-16 华为技术有限公司 图像预测方法和装置
CN109756737A (zh) * 2017-11-07 2019-05-14 华为技术有限公司 图像预测方法和装置
CN111316648A (zh) * 2017-11-14 2020-06-19 高通股份有限公司 视频译码中的仿射运动向量预测
CN111316648B (zh) * 2017-11-14 2024-06-11 高通股份有限公司 视频译码中的仿射运动向量预测
US11889100B2 (en) 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
CN110166778A (zh) * 2018-02-12 2019-08-23 华为技术有限公司 视频解码方法、视频解码器以及电子设备
CN110868602A (zh) * 2018-08-27 2020-03-06 华为技术有限公司 视频编码器、视频解码器及相应方法
CN110868602B (zh) * 2018-08-27 2024-04-12 华为技术有限公司 视频编码器、视频解码器及相应方法
US11595641B2 (en) 2019-04-01 2023-02-28 Beijing Bytedance Network Technology Co., Ltd. Alternative interpolation filters in video coding
US11483552B2 (en) 2019-04-01 2022-10-25 Beijing Bytedance Network Technology Co., Ltd. Half-pel interpolation filter in inter coding mode
US11323697B2 (en) 2019-04-01 2022-05-03 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction
US11936855B2 (en) 2019-04-01 2024-03-19 Beijing Bytedance Network Technology Co., Ltd. Alternative interpolation filters in video coding
WO2020200238A1 (en) * 2019-04-01 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Half-pel interpolation filter in inter coding mode
US11503288B2 (en) 2019-08-20 2022-11-15 Beijing Bytedance Network Technology Co., Ltd. Selective use of alternative interpolation filters in video processing

Also Published As

Publication number Publication date
JP2023164435A (ja) 2023-11-10
ZA201800017B (en) 2019-08-28
JP2022044613A (ja) 2022-03-17
JP7335315B2 (ja) 2023-08-29
MX2021003800A (es) 2023-02-01
US20240187638A1 (en) 2024-06-06
US20200145689A1 (en) 2020-05-07
CN107710761A (zh) 2018-02-16
RU2018143851A (ru) 2019-02-21
US11240529B2 (en) 2022-02-01
EP3306934A4 (en) 2018-05-23
JP6776276B2 (ja) 2020-10-28
EP4373087A2 (en) 2024-05-22
US20180139468A1 (en) 2018-05-17
JP7335314B2 (ja) 2023-08-29
RU2699258C2 (ru) 2019-09-04
WO2017005128A1 (zh) 2017-01-12
KR102390695B1 (ko) 2022-04-26
MX2023000807A (es) 2023-02-27
US11831902B2 (en) 2023-11-28
MY191714A (en) 2022-07-09
AU2016290017A1 (en) 2018-01-25
JP7004782B2 (ja) 2022-01-21
US20220116647A1 (en) 2022-04-14
KR20200125760A (ko) 2020-11-04
KR102073638B1 (ko) 2020-02-05
JP2018524918A (ja) 2018-08-30
KR102173475B1 (ko) 2020-11-03
KR102549824B1 (ko) 2023-06-30
JP2022044612A (ja) 2022-03-17
BR112018000085A2 (zh) 2018-08-28
US10560714B2 (en) 2020-02-11
EP4373087A3 (en) 2024-05-29
CN107710761B (zh) 2020-02-14
US20210058641A1 (en) 2021-02-25
SG11201710800QA (en) 2018-01-30
EP3306934B1 (en) 2024-03-06
JP2023164434A (ja) 2023-11-10
US10771809B2 (en) 2020-09-08
KR20200013266A (ko) 2020-02-06
AU2016290017B2 (en) 2019-07-11
RU2675092C1 (ru) 2018-12-14
MX2018000067A (es) 2018-03-16
RU2018143851A3 (zh) 2019-07-17
JP2021022936A (ja) 2021-02-18
KR20220057639A (ko) 2022-05-09
KR20180019688A (ko) 2018-02-26
EP3306934A1 (en) 2018-04-11
CN106331722B (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN106331722A (zh) 图像预测方法和相关设备
CN107534770B (zh) 图像预测方法和相关设备
CN104539966B (zh) 图像预测方法及相关装置
CN104885467B (zh) 用于下一代视频编码的内容自适应参数变换
CN102316317B (zh) 一种生成图像预测值的方法和装置
CN104363451B (zh) 图像预测方法及相关装置
CN109076234A (zh) 图像预测方法和相关设备
Wang et al. A fast algorithm and its VLSI architecture for fractional motion estimation for H. 264/MPEG-4 AVC video coding
CN104053005A (zh) 使用分级相平面相关性和块匹配的运动估计
EP3632109A1 (en) Method and apparatus for low-complexity bi-directional intra prediction in video encoding and decoding
Pakdaman et al. A low complexity and computationally scalable fast motion estimation algorithm for HEVC
US20170070747A1 (en) Image processing device for adjusting computational complexity of interpolation filter, image interpolation method, and image encoding method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant