CN111149358A - 仿射帧间预测中子块尺寸推导的限制 - Google Patents

仿射帧间预测中子块尺寸推导的限制 Download PDF

Info

Publication number
CN111149358A
CN111149358A CN201880061761.4A CN201880061761A CN111149358A CN 111149358 A CN111149358 A CN 111149358A CN 201880061761 A CN201880061761 A CN 201880061761A CN 111149358 A CN111149358 A CN 111149358A
Authority
CN
China
Prior art keywords
block
sub
value
motion vector
twu
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
CN201880061761.4A
Other languages
English (en)
Other versions
CN111149358B (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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111149358A publication Critical patent/CN111149358A/zh
Application granted granted Critical
Publication of CN111149358B publication Critical patent/CN111149358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

视频编码设备选择当前块进行基于子块的仿射帧间预测,并推导出所述当前块的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度。所述设备确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和。所述设备确定所述仿射帧间预测为单向帧间预测或双向帧间预测。根据上述确定结果,所述设备将所述TwU或所述TwB应用于所述子块宽度,将所述ThU或所述ThB应用于所述子块高度。然后,所述设备根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量。

Description

仿射帧间预测中子块尺寸推导的限制
相关申请案交叉申请
本专利申请要求于2018年7月11日提交的发明名称为“仿射帧间预测中子块尺寸推导的限制”编号为16/032979美国非临时专利申请案的在先申请优先权,其后于2017年9月21日由Huanbang Chen等人提交的发明名称为“仿射帧间预测中子块尺寸推导的限制”编号为62/561603美国临时专利申请案的在先申请优先权,其全部内容通过引用结合在本申请中。
关于由联邦政府赞助的研究或开发声明
不适用
参考缩微胶片附录
不适用
背景技术
即便是描述相对较短的视频所需的视频数据量也可能很大,这可能导致当所述数据通过带宽容量有限的通信网络进行流化或以其他方式传送时产生困难。因此,视频数据通常在通过现代电信网络传送之前进行压缩。当视频存储在存储设备上时,所述视频的大小也是一个问题,因为内存资源可能是有限的。视频压缩设备通常从源头上使用软件和/或硬件在进行所述视频数据的传输或存储之前对所述视频数据进行编码,从而减少了表示数字视频图像所需的数据量。然后,由解码视频数据的视频解压缩设备在目的地接收压缩数据。对于有限的网络资源和日益增长的对更高视频质量的需求,改进的压缩和解压缩技术是受欢迎的,其可以在不牺牲图像质量的情况下提高压缩比。
发明内容
本公开的实施例中的一种方法,包括:编码器中的处理器选择当前块进行基于子块的仿射帧间预测,其中,所述当前块包括多个运动矢量;所述处理器推导出所述当前块的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度;所述处理器确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;所述处理器确定所述仿射帧间预测为单向帧间预测或双向帧间预测;所述处理器根据所述确定结果,将所述TwU或所述TwB应用于所述子块宽度;所述处理器根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;所述处理器根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;所述处理器将所述子块的预测信息编码入比特流,其中,所述预测信息基于所述子块的运动矢量得到;以及耦合到所述处理器的发射器将所述比特流传输到解码器,以进行解码和显示。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述TwB和ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保双向帧间预测的最小子块尺寸大于单向帧间预测的最小子块尺寸。
可选地,在上述任一方面中,该方面的另一实现方式,包括:在耦合到所述处理器的存储器中预定义所述TwB的值、所述ThB的值、所述TwU的值和所述ThU的值。
可选地,在上述任一方面中,该方面的另一实现方式,还包括:对所述比特流的参数集中的所述TwB的值、所述ThB的值、所述TwU的值、所述ThU的值或其组合进行编码。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述参数集是序列参数集(SPS)、图像参数集(PPS)、条带头或其组合。
可选地,在上述任一方面中,该方面的另一实现方式,还包括:将所述子块的所述运动矢量取整到十六分之一的精度。
可选地,在上述任一方面中,该方面的另一实现方式,包括:根据以下公式推导出所述当前块中所述子块的所述子块尺寸:
Figure BDA0002421995550000021
其中,M为所述子块宽度,N为所述子块高度,clip3为包括三个参数的函数,其中,第一个参数为用于计算的下限阈值,第二个参数为用于计算的上限阈值,第三个参数为用于计算的值,Tw为TwU或TwB,Th为ThU或ThB,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为运动矢量场中的运动矢量分量,这些运动矢量分量根据所述当前块的运动矢量所推导得到。
本公开的实施例中的一种装置,包括:接收器,用于接收比特流;处理器,与所述接收器耦合,用于:从所述比特流中选择当前块,以通过基于子块的仿射帧间预测进行解码;从所述比特流中获取所述当前块的多个运动矢量;推导出所述当前块中的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度;确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;根据所述比特流,确定所述仿射帧间预测为单向帧间预测或双向帧间预测;根据所述确定结果,将所述TwU或所述TwB应用于所述子块宽度;根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;采用所述子块的所述运动矢量,基于参考帧,重构所述子块;以及转发用于显示的视频序列,其中,所述视频序列包括当前帧中的所述子块。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述TwB和所述ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保双向帧间预测的最小子块尺寸大于单向帧间预测的最小子块尺寸。
可选地,在上述任一方面中,该方面的另一实现方式,还包括耦合到所述处理器的存储器,其中,所述存储器用于存储预定义值,包括所述TwB的值、所述ThB的值、所述TwU的值和所述ThU的值。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述处理器还用于从所述比特流中的参数集中获取所述TwB的值、所述ThB的值、所述TwU的值、所述ThU的值或其细合。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述参数集是序列参数集(SPS)、图像参数集(PPS)、条带头或其组合。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述处理器还用于将所述子块的所述运动矢量取整到十六分之一的精度。
可选地,在上述任一方面中,该方面的另一实现方式,包括:根据以下公式推导出所述当前块中所述子块的所述子块尺寸:
Figure BDA0002421995550000031
其中,M为所述子块宽度,N为所述子块高度,clip3为包括三个参数的函数,其中,第一个参数为用于计算的下限阈值,第二个参数为用于计算的上限阈值,第三个参数为用于计算的值,Tw为TwU或TwB,Th为ThU或ThB,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为运动矢量场中的运动矢量分量,这些运动矢量分量根据所述当前块的运动矢量所推导得到。
本公开的实施例中的一种方法,包括:接收器接收比特流;处理器从所述比特流中选择当前块以通过基于子块的仿射帧间预测进行解码;所述处理器从所述比特流中获取所述当前块的多个运动矢量;所述处理器推导出所述当前块中的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度;所述处理器确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;所述处理器根据所述比特流确定所述仿射帧间预测为单向帧间预测或双向帧间预测;根据所述确定结果,所述处理器将所述TwU或所述TwB应用于所述子块宽度;根据所述确定结果,所述处理器将所述ThU或所述ThB应用于所述子块高度;所述处理器根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;所述处理器采用所述子块的所述运动矢量,基于参考帧,重构所述子块;以及所述处理器转发用于显示的视频序列,其中,所述视频序列包括当前帧中的所述子块。
可选地,在上述任一方面中,该方面的另一实现方式,包括:所述TwB和所述ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保所述双向帧间预测的最小子块尺寸大于单向帧间预测的最小子块尺寸。
可选地,在上述任一方面中,该方面的另一实现方式,包括:将所述TwB的值、所述ThB的值、所述TwU的值和所述ThU的值存储为预定义值。
可选地,在上述任一方面中,该方面的另一实现方式,还包括:从所述比特流中的参数集中获取所述TwB的值、所述ThB的值、所述TwU的值、所述ThU的值或其组合。
可选地,在上述任一方面中,该方面的另一实现方式,还包括:将所述子块的所述运动矢量取整到十六分之一的精度。
可选地,在上述任一方面中,该方面的另一实现方式包括:根据以下公式推导出所述当前块中所述子块的所述子块尺寸:
Figure BDA0002421995550000041
其中,M为所述子块宽度,N为所述子块高度,clip3为包括三个参数的函数,其中,第一个参数为用于计算的下限阈值,第二个参数为用于计算的上限阈值,第三个参数为用于计算的值,Tw为TwU或TwB,Th为ThU或ThB,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为运动矢量场中的运动矢量分量,这些运动矢量分量根据所述当前块的运动矢量所推导得到。
为了清楚起见,上述任一实施例可以与上述其他实施例中的任意一个或多个实施例结合,在本公开的范围内创建新的实施例。
下面结合附图和权利要求书详细说明这些特性和其他特性。
附图说明
为了更透彻地理解本发明,现参考结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是视频信号编码的示例性方法的流程图;
图2是用于视频编码的一个示例性编解码(codec)系统的示意图;
图3是示出了可实现仿射帧间预测的一个示例性视频编码器的示意图;
图4是示出了可实现仿射帧间预测的一个示例性视频解码器的示意图;
图5是示出了一个示例性单向帧间预测的示意图;
图6是示出了一个示例性双向帧间预测的示意图;
图7是示出了仿射帧间预测的一个示例性仿射运动模型的示意图;
图8是推导子块尺寸以用于仿射帧间预测的一个示例性方法的流程图;
图9是一个示例性视频编码设备的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
视频编码涉及通过帧间预测和帧内预测进行压缩的组合。本发明侧重于提高帧间预测的编码效率,所述帧间预测是一种基于对象在不同帧中的位置来对所述对象在帧中的位置进行编码的机制。例如,运动矢量可以指示所述对象随时间移动的方向,如视频序列的多个帧中所描述的。因此,可以对参考帧中的对象和运动矢量进行编码,然后由解码器对在时序上与所述参考帧相邻的一个或多个帧进行部分重构。所述帧间预测可采用单向帧间预测和/或双向帧间预测。所述单向帧间预测使用单个参考帧中的单个运动矢量来预测所述目标在当前帧中的位置。双向帧间预测使用指向前向参考帧的前向运动矢量和指向后向参考帧的后向运动矢量。
仿射帧间预测是一种当对象在帧间视觉上改变形状时所应用的帧间预测。例如,摄像机的放大和/或缩小、旋转、透视运动和/或其他不规则运动可能导致对象在帧间出现形状变化。所述仿射帧间预测使参考帧失真,使所述运动矢量为所述对象不同的子部分指向正确的方向。在形式上,仿射变换可以保留点、直线、平面和/或线之间的平行关系,同时使线之间的角度和点之间的距离失真。所述仿射帧间预测可涉及为当前块使用的运动矢量以生成运动矢量场,基于所述运动矢量场中的运动矢量将所述当前块分割为多个子块,然后基于所述运动矢量场为每个子块确定运动矢量。可以预定义最小子块尺寸,以防止大量子块生成。即便如此,所述仿射帧间预测的计算量可能很大。进一步的,在采用所述仿射变换时所采用的所述双向帧间预测的计算量可能很大,例如在考虑和/或采用小子块时。
本文公开了用于降低双向仿射帧间预测的复杂性的机制。采用子块尺寸阈值来限制子块的大小,因此选择此类阈值使得所述双向仿射帧间预测的阈值大于单向仿射帧间预测的阈值。这减少了用于所述双向子块的仿射帧间预测的数量,从而通过连接所述双向仿射帧间预测的复杂性和单向仿射帧间预测的复杂性,来减少编码器和/或编码器或解码器中所对应的运动矢量的数量以及降低所对应的计算的复杂性。例如,可以将所述子块分割为不小于双向阈值宽度(TwB)的宽度以进行双向计算,和不小于单向阈值宽度(TwU)的宽度以进行单向计算。进一步的,可以将所述子块分割为不小于双向阈值高度(ThB)的高度以进行双向计算,和不小于单向阈值高度(ThU)的高度以进行单向计算。阈值可以按此关系设置:ThB大于ThU和/或TwB大于TwU。从而保证双向仿射帧间预测中的子块大于单向仿射帧间预测中的子块,因此,相对于所述单向仿射帧间预测的复杂性来说,所述双向仿射帧间预测的复杂性降低了。所述阈值TwB、TwU、ThB和/或ThU可以在比特流中的参数集中进行预定义和/或进行指示,例如在序列参数集(SPS)、图像参数集(PPS)和/或条带头中。进一步的,在一些示例中,所述子块的运动矢量可以取整到十六分之一的精度,以进一步降低复杂性。
图1是视频信号编码的示例性方法100的流程图。具体地,编码器对视频信号进行编码。编码过程通过采用各种机制来压缩所述视频信号以减少视频文件的大小。较小的文件大小使得压缩的视频文件可以传输给用户,同时减少相关带宽的开销。然后,解码器对所述压缩的视频文件进行解码,以重构原始视频信号,并提供给最终用户进行显示。解码过程通常是编码过程的镜像过程,以允许所述解码器一致地重构所述视频信号。
步骤101,将所述视频信号输入到所述编码器。例如,所述视频信号可以是存储在存储器中未压缩的视频文件。又例如,所述视频文件可以由视频采集设备采集,比如视频摄像机,并且对所述视频文件进行编码以支持视频的直播流。所述视频文件可以同时包括音频组件和视频组件。所述视频组件包含一系列图像帧,当按顺序观看时,所述图像帧在视觉上是运动的。所述帧包含以光表示的像素,在本文中称为亮度分量,和以颜色表示的像素,称为色度分量。在一些示例中,所述帧还可以包含深度值以支持三维查看。
步骤103,将视频分割成块。分割步骤包括将每个帧中的像素细分为用于压缩的正方形块和/或矩形块。例如,可以使用编码树来进行分割,然后递归地细分所述块,直到实现支持进一步编码的配置。因此,所述块可以称为高效视频编码(HEVC)(也称为H.265和MPEG-H Part2)中的编码树单元。例如,可以细分所述帧的所述亮度分量,直到各个块都包含相对均匀的照明值。进一步的,可以细分所述帧的所述色度分量,直到各个块都包含相对均匀的颜色值。相应地,分割机制根据所述视频帧的内容而变化。
步骤105,采用各种压缩机制来压缩在步骤103中所分割的图像块。例如,可以采用帧间预测和/或帧内预测。帧间预测旨在利用一个事实,即在一个相同场景里的对象,往往会在连续的帧中出现。相应地,在参考帧中所描述对象的块无需在相邻帧中重复描述。具体地,一个对象,例如一张桌子,可以在多个帧中保持恒定的位置。因此,这张桌子只被描述一次,所述相邻帧可以参考所述参考帧。模式匹配机制可用于在多个帧上匹配对象。进一步的,移动的对象可以跨多个帧来表示,例如,由于对象移动或相机移动。一个具体的例子,一个视频可以显示汽车在屏幕上移动的多个帧。运动矢量能够用来描述这种移动。所述运动矢量是一个二维矢量,它提供从所述帧中对象的坐标到所述参考帧中对象的坐标所产生的偏移。因此,所述帧间预测可在将当前帧中的图像块编码为运动矢量集合,该集合指示所述参考帧中对应块的偏移。
帧内预测在普通帧中对块进行编码。帧内预测利用了一个事实,即所述亮度组件和所述色度组件易于聚集在同一帧中。例如,一棵树上的一部分绿色易与类似的一部分绿色相邻。所述帧内预测采用多种定向性预测模式(例如,HEVC中的33种),平面模式和直流(DC)模式。所述定向模式显示当前块与相邻块在对应方向上的样本相似或相同。所述平面模式表示沿着行或列的一系列块(例如,平面)可以基于所述行的边缘中的相邻块进行内插。实际上,所述平面模式通过在改变值中采用相对恒定的斜率来指示光或颜色在行或列之间的平滑过渡。所述DC模式用于边界平滑,指示所述块与所述定向性预测模式的角度偏移相关联的所有相邻块的样本所相关联的平均值相似/相同。相应地,帧内预测块可以将图像块表示为各种关系预测模式值而不是实际值。进一步的,帧间预测块可以将所述图像块表示为运动矢量值而不是所述实际值。在这两种情况下,预测块在某些情况下可能无法精确地表示出所述图像块。任何差异都存储在残差块中。可以对所述残差块进行变换以进一步压缩文件。
步骤107,可以应用各种滤波技术。在HEVC中,根据环路滤波方案应用滤波器。以上讨论的基于所述块的预测可以使得块状图像在所述解码器中创建。进一步的,基于所述块的预测方案可以对所述块进行编码,然后重构已编码块,以供以后用作参考块。所述环路滤波方案将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和样本自适应偏移(SAO)滤波器迭代应用到所述块或所述帧中。这些滤波器减轻了此类块效应,因此可以精确地重构编码文件。进一步的,这些滤波器减轻了重构参考块中的所述块效应,使得效应不太可能在基于所述重构参考块所编码的后向块中创建额外的效应。
步骤109,一旦视频信号被分割、压缩和滤波,则将结果数据编码入比特流中。所述比特流包括上述数据,以及任何支持在所述解码器中将适当的视频信号重构的信令数据。例如,此类数据可以包括分割数据、预测数据、残差块和向所述解码器提供编码指令的各种变量。所述比特流可以存储在所述存储器中,以便根据请求向所述解码器进行传输。所述比特流还可以向多个解码器进行广播和/或组播。所述比特流的创建是一个迭代过程。相应地,步骤101、103、105、107和109可以在多个帧和块上连续和/或同时发生。图1所示的顺序是为了清晰性和讨论的便利性而提出的,并非旨在将视频编码过程限制于特定的顺序。
步骤111,所述解码器接收所述比特流并开始解码过程。具体地,所述解码器采用熵解码方案将所述比特流转换为相应的语法和视频数据。步骤111中,所述解码器使用来自所述比特流的语法数据来确定对所述帧的分割。所述分割结果应与所述步骤103中的块分割的结果相匹配。现在描述步骤111中所采用的熵编码或熵解码。所述编码器在所述压缩过程中做出许多选择,例如从基于输入图像中值的空间位置的多个可能选择中选择块分割方案。发出确切的选择可能会占用大量的二进制位。如本文所使用的二进制位是被视为变量(例如,一个可能随上下文而变化的比特值)的二进制值。所述熵编码允许所述编码器舍弃任何明显不适合特定情况的选项,留下一组容许选项。然后,为每个容许选项分配码字。码字的长度基于容许选项的数量(例如,两个选项一个二进制位,三至四个选项两个二进制位等)。然后,所述编码器对所选选项的码字进行编码。此方案减小了所述码字的大小,因为所述码字的大小与期望的一样大。此方案仅指示从容许选项的小子集中进行选择,而不是仅指示从所有可能选项的潜在大集中进行选择。然后,所述解码器通过与所述编码器类似的方式来确定容许选项集,以解码所述选择。通过确定一组容许选项,所述解码器可以读取所述码字并确定所述编码器做出的所述选择。
步骤113,所述解码器执行块解码。具体地,所述解码器采用反向变换来生成所述残差块。然后,根据分割结果,所述解码器利用所述残差块和相应的预测块来重构所述图像块。所述预测块可包括在由步骤105中的所述编码器中所生成的所述帧内预测块和所述帧间预测块。然后,根据在步骤111中确定的分割数据将重构图像块定位到重构视频信号的帧中。步骤113的所述语法还可以通过上文讨论的所述熵编码在所述比特流中进行指示。
步骤115,以类似于步骤107的方式在所述编码器中对所述重构视频信号的所述帧进行滤波。例如,所述噪声抑制滤波器、去块效应滤波器、所述自适应环路滤波器和所述SAO滤波器可以应用在所述帧中以消除所述块效应。一旦所述帧被滤波处理,能够在步骤117中将所述视频信号输出到显示器以供最终用户查看。
本发明涉及用于降低所述仿射帧间预测的所述计算复杂性的修改。具体地,本发明引入了所述子块尺寸阈值,以关联所述双向仿射帧间预测的所述复杂性和所述单向仿射帧间预测的所述复杂性。因此,下图中所描述的仿射帧间预测机制,影响了步骤105中的块压缩和步骤113中的块解码的操作。
图2是用于视频编码的一个示例性编解码(codec)系统200的示意图。具体地,所述编解码系统200提供功能以支持所述方法100的实施。所述编解码系统200被广义地用于描述编码器中的组件和解码器中的组件。所述编解码系统200接收视频信号并对视频信号进行分割,如所述方法100中的步骤101和103所讨论的,这产生了分割的视频信号201。然后,当作为编码器时,所述编解码系统200将所述分割的视频信号201压缩到编码的比特流中,如所述方法100中的步骤105、107和109所讨论的。当作为解码器时,所述编解码系统200将从所述比特流中生成输出视频信号,如所述方法100中的步骤111、113、115和117所讨论的。所述编解码系统200包括通用编码器控制组件211、变换缩放和量化组件213、帧内估计组件215、帧内预测组件217、运动补偿组件219、运动估计组件221。缩放和逆变换组件229、滤波器控制分析组件227、环路滤波器组件225、解码图像缓存组件223、报头格式化和上下文自适应二进制算术编码(CABAC)组件231。此类组件如图所示进行耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件的操作的控制数据的移动。所述编解码系统200的组件都可以出现在所述编码器中。所述解码器可包括所述编解码系统200的组件子集。例如,所述解码器可以包括所述帧内预测组件217、所述运动补偿组件219、所述缩放和逆变换组件229、所述环路滤波器组件225和所述解码图像缓存组件223。现对这些组件加以说明。
所述分割的视频信号201是已通过编码树所分割成像素块的采集到的视频序列。所述编码树使用各种划分模式将所述像素块细分为较小的像素块。然后,可以将这些块进一步细分为更小的块。所述块可以称为所述编码树上的节点。较大的父节点被拆分成较小的子节点。所述节点被细分的次数称为所述节点或所述编码树的深度。在某些情况下,划分的块称为编码单元(CUs)。所述划分模式可以包括二叉树(BT)、三叉树(TT)和四叉树(QT),它们用于将所述节点划分为形状不同的两个、三个或四个子节点,这具体取决于所使用的所述划分模式。将所述分割的视频信号201转发到所述通用编码器控制组件211、所述变换缩放和量化组件213、所述帧内估计组件215、所述滤波器控制分析组件227和所述运动估计组件221以进行压缩。
所述通用编码器控制组件211用于根据应用约束做出与将所述视频序列的图像编码到所述比特流中的相关决策。例如,所述通用编码器控制组件211管理比特率大小或比特流大小相对于重构质量的优化。可以基于存储空间或带宽可用性和图像分辨率请求做出该决策。所述通用编码器控制组件211还根据传输速度管理缓存区的利用率,以缓解缓存区欠载运行问题和超载问题。为了管理这些问题,所述通用编码器控制组件211管理由其它组件进行的分割、预测和滤波。例如,所述通用编码器控制组件211可以动态增加压缩复杂性以增加分辨率和增加带宽利用率,或者降低所述压缩复杂性以降低所述分辨率和降低所述带宽利用率。因此,所述通用编码器控制组件211控制所述编解码系统200的其它组件从比特率的角度来平衡视频信号的重构质量。所述通用编码器控制组件211创建用于控制所述其它组件操作的控制数据。还将所述控制数据转发到所述报头格式化和CABAC组件231,以在比特流中进行编码,从而发出参数,以供在解码器中进行解码。
所述分割的视频信号201还发送到所述运动估计组件221和所述运动补偿组件219来进行帧间预测。可以将所述分割的视频信号201的帧或片分割为多个视频块。所述运动估计组件221和所述运动补偿组件219相对于一个或多个参考帧中的一个或多个块执行所接收视频块的帧间预测编码以提供时间预测。所述编解码系统200可以执行多个编码通道,例如,为每一视频数据块选择合适的编码方式。
所述运动估计组件221和所述运动补偿组件219可以高度集成,但出于概念目的,进行单独说明。由所述运动估计组件221执行的运动估计是生成运动矢量的过程,所述运动矢量用于估计所述视频块的运动。例如,所述运动矢量可以指示编码对象相对于预测块的位移。所述预测块是在像素差方面,与待编码块紧密匹配的块。所述预测块也可以称为参考块。此类像素差异可以通过绝对差异和(SAD)、平方差异和(SSD)或其它度量差来确定。HEVC使用多个编码对象,包括编码树单元(CTU)、编码树块(CTB)和CU。例如,可以将CTU划分为CTB,然后可以将所述CTB划分为CU,所述CU可以根据需要再进一步细分。所述CU可以编码为包含预测数据的预测单元(PU)和/或包含所述CU的已转换残差数据的变换单元(TU)。所述运动估计组件221使用率失真分析来生成所述运动矢量、所述PU和所述TU。例如,所述运动估计组件221可以确定用于当前块或帧中的多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。所述最佳率失真特性用编码效率(例如,最终编码大小)来平衡视频重构的质量(例如,通过压缩所丢失的数据量)。
在一些示例中,所述编解码系统200可以计算存储在所述解码图像缓存组件223中的参考图像的亚整数像素位置的值。例如,所述视频编解码系统200可内插所述参考图像的四分之一像素位置的值、八分之一像素位置的值或其它分数像素位置的值。因此,所述运动估计组件221可执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。所述运动估计组件221通过比较所述PU的位置与所述参考图像的预测块的位置来计算所述视频块中帧间编码片的PU运动矢量。所述运动估计组件221将计算出的运动矢量作为运动数据输出至用于编码的所述报头格式化和CABAC组件231,将运动输出至所述运动补偿组件219。
由所述运动补偿组件219执行的运动补偿可涉及基于由所述运动估计组件221所确定的所述运动矢量来获取或生成所述预测块。同样,在一些示例中,所述运动估计组件221和所述运动补偿组件219可以在功能上集成。在接收当前视频块的所述PU运动矢量之后,所述运动补偿组件219可以定位所述运动矢量指向的所述预测块。然后,通过从正在进行编码的所述当前视频块的像素值中减去所述预测块的像素值,形成残差视频块,从而形成像素差值。一般情况下,所述运动估计组件221相对于所述亮度分量执行所述运动估计,所述运动补偿组件219使用基于所述亮度分量所计算的所述运动矢量作为色度分量和亮度分量。将所述预测块和所述残差块转发到所述变换缩放和量化组件213。
所述分割的视频信号201也被发送给所述帧内估计组件215和帧内预测组件217。与所述运动估计组件221和所述运动补偿组件219一样,所述帧内估计组件215和所述帧内预测组件217可以高度集成,但出于概念目的,进行单独说明。所述帧内估计组件215和所述帧内预测组件217相对于所述当前帧中的所述块对所述当前块进行帧内预测,以替代如上所述的由所述运动估计组件221和所述运动补偿组件219在所述帧之间执行的所述帧间预测。具体地,所述帧内估计组件215确定使用帧内预测模式来对所述当前块进行编码。在一些示例中,所述帧内估计组件215从多个测试的帧内预测模式中选择适当的帧内预测模式来对所述当前块进行编码。然后,将所选择的帧内预测模式转发到所述报头格式化和CABAC组件231进行编码。
例如,所述帧内估计组件215使用各种测试的帧内预测模式的率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模式。所述率失真分析通常确定所述已编码块和原始未编码块之间的失真(或误差)量,所述原始未编码块通过编码来产生所述已编码块,以及所述比特率(例如,许多比特),用于产生所述已编码块。所述帧内估计组件215根据各种已编码块的失真和速率计算比率,以确定哪种帧内预测模式呈现所述块的最佳率失真值。此外,所述帧内估计组件215可用于基于率失真优化(RDO)使用深度建模模式(DMM)的深度图像的深度块进行编码。
当在所述编码器上实施时,所述帧内预测组件217可基于由所述帧内估计组件215所确定的选定的预测模式中的所述预测块生成所述残差块,或者当在所述解码器上实施时,从所述比特流读取所述残差块。所述残差块包括所述预测块和所述原始块之间的差异值,以矩阵示出。然后,将所述残差块转发到所述变换缩放和量化组件213。所述帧内估计组件215和所述帧内预测组件217可以在所述亮度分量和所述色度分量上进行操作。
所述变换缩放和量化组件213用于进一步压缩所述残差块。所述变换缩放和量化组件213将变换,例如离散余弦变换(DCT)、离散正弦变换(DST)或概念上类似的变换,应用于所述残差块,并产生包括残差变换系数值的视频块。还可以使用小波变换、整数变换、子带变换或其他类型的变换。所述变换可将残差信息从像素值域变换到变换域,例如频域。所述变换缩放和量化组件213还用于缩放变换的残差信息,例如基于频率缩放。这种缩放涉及对所述残差信息应用缩放因子,以便在不同的粒度上量化不同的频率信息,这可能会影响重构视频的最终视觉质量。所述变换缩放和量化组件213还用于量化变换系数以进一步降低所述比特率。量化过程可以减少与部分或全部系数相关联的位深度。可以通过调整量化参数来修改量化程度。在一些示例中,所述变换缩放和量化组件213随后可对包括所述量化后的变换系数的矩阵进行扫描。将所述量化后的变换系数转发到所述报头格式化和CABAC组件231,以在所述比特流中进行编码。
所述缩放和逆变换组件229应用所述变换缩放和量化组件213的反向操作以支持所述运动估计。所述缩放和逆变换组件229应用逆缩放、变换和/或量化来重构像素域中的残差块,例如,以供以后用作参考块,该参考块可成为另一当前块的预测块。所述运动估计组件221和/或所述运动补偿组件219可以通过将所述残差块添加回相应的预测块来计算所述参考块,以用于后续块或帧的运动估计。将滤波器应用于重构的参考块,以减轻在缩放、量化和变换期间产生的伪像。在预测后向块时,这些伪像可能会导致不准确的预测(并产生额外的人伪像)。
所述滤波器控制分析组件227和所述环路内滤波器组件225将所述滤波器应用于所述残差块和/或所述重构图像块。例如,来自所述缩放和逆变换组件229的变换残差块可以与来自所述帧内预测组件217和/或所述运动补偿组件219的相应预测块组合以重构原始图像块。然后,所述滤波器可以应用于所述重构图像块。在一些示例中,所述滤波器可以应用于所述残差块。与图2中的其它组件一样,所述滤波器控制分析组件227和所述环路内滤波器组件225高度集成,可以一起实现,但出于概念目的,进行单独描述。应用于所述重构的参考块的所述滤波器应用于特定空间区域,包括多个参数以调整如何应用此类滤波器。所述滤波器控制分析组件227分析所述重构的参考块,以确定应在哪里应用此类滤波器并设置相应的参数。将此类数据作为用于编码的滤波控制数据转发到所述报头格式化和CABAC组件231。所述环路滤波器组件225基于所述滤波控制数据应用此类滤波器。所述滤波器可以包括去块效应滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。此类滤波器可应用于空间域或像素域(例如,在重构像素块上)或在所述频域上,具体取决于示例。
当作为编码器操作时,将滤波后的重构图像块、残差块和/或预测块存储在所述解码图像缓存组件223中,以供以后用于如上所讨论的运动估计中。当作为解码器操作时,所述解码图像缓存组件223存储并向显示器转发重构和滤波块,该重构和滤波块是输出视频信号的一部分。所述解码图像缓存组件223可以是能够存储所述预测块、所述残差块和/或所述重构图像块的任何存储器设备。
所述报头格式化和CABAC组件231从所述编解码系统200的各种组件中接收数据并将这些数据编码到编码的比特流中以便向所述解码器传输。具体地,所述报头格式化和CABAC组件231生成各种报头以对控制数据进行编码,例如一般控制数据和所述滤波控制数据。进一步地,所述预测数据均在所述比特流中进行编码,这些数据包括所述帧内预测和所述运动数据,以及量化的变换系数数据形式的残差数据。最终比特流包括所述解码器期望重构的原始的分割的视频信号201中的所有信息。此类信息还可以包括帧内预测模式索引表(也称为码字映射表)、各种块的编码上下文的定义、最可能的帧内预测模式的指示、分割信息的指示等。这类数据可以使用熵编码来进行编码。例如,可以通过采用上下文自适应可变长度编码(CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或其它熵编码技术来对所述信息进行编码。在所述熵编码之后,可以将所述编码的比特流传输到另一设备(例如,视频解码器)或存档,以供以后进行传输或检索。
本发明涉及用于降低所述仿射帧间预测的所述计算复杂性的修改。具体地,本发明引入了所述子块尺寸阈值,以关联所述双向仿射帧间预测的所述复杂性和所述单向仿射帧间预测的所述复杂性。因此,下图中所描述的仿射帧间预测机制,影响所述运动估计组件221和/或所述运动补偿组件219的操作。
图3是示出了可实现仿射帧间预测的一个示例性视频编码器300的示意图。所述视频编码器300可用于实施所述编解码系统200的编码功能和/或实施所述方法100的步骤101、103、105、107和/或109。所述编码器300对输入视频信号进行分割,产生分割的视频信号301,其基本上类似于所述分割的视频信号201。然后,通过所述编码器300的组件将所述分割的视频信号301压缩和编码到比特流中。
具体地,将所述分割的视频信号301转发到帧内预测组件317进行帧内预测。所述帧内预测组件317可基本上类似于所述帧内估计组件215和所述帧内预测组件217。还将所述分割的视频信号301转发到运动补偿组件321,用于基于解码图像缓存组件323中的参考块进行帧间预测。所述运动补偿组件321可基本上类似于所述运动估计组件221和所述运动补偿组件219。将来自所述帧内预测组件317和所述运动补偿组件321的预测块和残差块转发到变换和量化组件313以对所述残差块进行变换和量化。所述变换和量化组件313可基本上类似于所述变换缩放和量化组件213。将变换和量化的残差块和对应的预测块(连同相关控制数据)转发到熵编码组件331以将其编码到所述比特流中。所述熵编码组件331可基本上类似于所述报头格式化和CABAC组件231。
还将所述变换和量化的残差块和/或所述对应的预测块从所述变换和量化组件313转发到逆变换和量化组件329以将其重构为参考块以供所述运动补偿组件321使用。所述逆变换和量化组件329可基本上类似于所述缩放和逆变换组件229。取决于示例,环路滤波器组件325中的环路滤波器也应用于所述残差块和/或重构的参考块。所述环路滤波器组件325可基本上类似于所述滤波器控制分析组件227和所述环路滤波器组件225。所述环路滤波器组件325可以包括多个滤波器,如关于所讨论的所述环路滤波器组件225。然后,将滤波块存储在所述解码图像缓存组件323中,以供所述运动补偿组件321作为参考块使用。所述解码图像缓存组件323可以基本上类似于所述解码图像缓存组件223。
下面通过应用关于所述方法100和所述编解码系统200所描述的功能,对所述编码器300采用的所述仿射帧间预测进行更详细的解释。所述仿射帧间预测是通过步骤105、步骤113、所述运动补偿组件219、所述运动估计组件221和/或所述运动补偿组件321在编码和解码中使用的特定类型的帧间预测。所述帧间预测使用参考帧中的运动矢量和参考块来对与所述参考帧在时序上相邻的一个或多个帧的块进行编码。如上所述,这允许所述参考帧对对象进行编码,而无需对所述对象的每一帧进行重复编码。当所述对象在帧间视觉上改变形状时,由于相机变焦、相机旋转、透视运动和/或其他不规则运动可能发生,则采用所述仿射帧间预测。当采用所述仿射帧间预测时,所述运动补偿组件321使所述参考帧失真,以便在相邻帧中投影所述对象的形状和位置。
当所述仿射帧间预测过程使所述参考帧失真时,对应的运动矢量在正在进行编码的块中变化。所述当前块的所述运动矢量可以通过基于当前块的控制点运动矢量所生成的运动矢量场(MVF)来进行描述。将所述当前块细分为基于所述MVF所选择的大小的子块,然后基于所述MVF可以确定所述子块的运动矢量。所述子块的所产生的所述运动矢量可以通过所述运动补偿组件321和/或所述环路内滤波器组件325进行滤波和加权以生成预测信息(例如,PU)和残差信息,其可分别由所述变换和量化组件313和所述熵编码组件331进行变换和/或编码。
例如,所述运动补偿组件321可首先确定所述当前块的控制点矢量,例如作为率失真优化过程的一部分。所述运动补偿组件321也可以基于所述控制点矢量确定所述MVF。然后,所述运动补偿组件321可以基于所述MVF中的所述运动矢量确定各种子块的大小。然后,所述运动补偿组件321可以为每个子块确定相关运动矢量。所述运动补偿组件321可以采用这样的过程作为单向帧间预测和双向帧间预测的一部分。例如,所述运动补偿组件321可以在率失真优化期间尝试所述单向帧间预测和所述双向帧间预测,然后选择使得编码大小和视频质量达到最佳平衡的方法。在所述单向预测中,所述当前块由单个参考帧预测,而在所述双向预测中,所述当前块由时序的前向参考帧和时序上的后向参考帧预测。
如上所述,所述双向仿射帧间预测比所述单向仿射帧间预测的计算量会大得多。然而,许多系统对所述双向仿射帧间预测和所述单向仿射帧间预测都采用相同的下限。相反,修改所述运动补偿组件321以对子块尺寸采用下限阈值,使得所述双向情况下所述子块尺寸的下限阈值大于所述单向情况下所述子块尺寸的下限阈值。这导致基于所述单向情况下的所述运动矢量的计算量来说,所述双向情况下的所述运动矢量的计算量减少了,从而以可控制的方式降低了复杂性和/或减少了编码运动矢量的数量。例如,可以基于所述编码器中的可用计算资源和/或基于包括所述子块的各种运动矢量在内的预测块的编码大小,随需按顺序提高或降低所述下限阈值。这反过来通过减少子块运动矢量的数量来减少编码时间、降低了计算资源需求和/或减少所述编码大小。在一些示例中,预定义所述子块尺寸的所述下限阈值,在一些示例中,所述子块尺寸的所述下限阈值在所述比特流中转发以供所述解码器使用。
图4是示出了可实现仿射帧间预测的一个示例性视频编码器400的示意图。所述视频解码器400可用于实施所述编解码系统200的解码功能和/或实施所述方法100的步骤111、113、115和/或117。例如,所述解码器400从所述编码器300接收比特流,并基于所述比特流生成重构输出视频信号以提供给最终用户进行显示。
所述比特流由熵解码组件433接收。所述熵解码组件433用于实现熵解码方案,例如CAVLC、CABAC、SBAC、PIPE编码或其它熵编码技术。例如,所述熵解码组件433可以采用报头信息来提供上下文以解释作为所述比特流中的码字编码的附加数据。解码的信息包括解码所述视频信号所需的任何信息,例如一般控制数据、滤波控制数据、分割信息、运动数据、预测数据和残差块的量化变换系数。将所述量化后的变换系数转发到逆变换和量化组件429以将其重构到所述残差块中。所述逆变换和量化组件429可类似于所述逆变换和量化组件329。
将重构的残差块和/或预测块转发到帧内预测组件417以基于帧内预测操作将其重构为图像块。所述帧内预测组件417可类似于所述帧内估计组件215和所述帧内预测组件217。具体地,所述帧内预测组件417使用预测模式来定位帧中的参考块,并将所述残差块采用于结果以重构帧内预测的图像块。重构的帧内预测图像块和/或所述残差块以及对应的帧间预测数据通过环路滤波器组件425转发到解码图像缓存组件423,其分别可以与所述解码图像缓存组件223和所述环路内滤波器组件225基本相似。所述环路内滤波器组件425对所述重构的图像块、所述残差块和/或所述预测块进行滤波,并且将此类信息存储在所述解码图像缓存组件423中。将来自所述解码图像缓存组件423的重构的图像块转发到运动补偿组件421进行帧间预测。所述运动补偿组件421可基本上类似于所述运动估计组件221和/或所述运动补偿组件219。具体地,所述运动补偿组件421使用来自参考块的运动矢量来生成所述预测块,并将所述残差块应用于结果以重构图像块。所得重构的块还可以通过所述环路内滤波器组件425转发到所述解码图像缓存组件423。所述解码图像缓存组件423继续存储附加重构的图像块,这些图像块可以通过所述分割信息重构成帧。这些帧也可以按顺序放置,该顺序作为重构的输出视频信号向显示屏输出。
下面通过应用关于所述方法100和所述编解码系统200所描述的功能,对所述解码器400应用的所述仿射帧间预测进行更详细的解释。所述运动补偿组件421应用所述仿射帧间预测,作为执行所述帧间预测的一部分。例如,所述运动补偿组件421用于采用比特流中的预测信息来重构当前块。在一些示例中,子块的下限阈值大小在所述比特流中进行指示。在其它情况下,所述下限阈值大小是预定义的并且解码器是已知的。所述运动补偿组件421可以基于在所述比特流中进行编码的当前块的控制点运动矢量来确定MVF。所述运动补偿组件421还可以基于所述MVF和所述子块的所述下限阈值大小来确定所述子块尺寸。然后,所述运动补偿组件421可以确定所述子块的运动矢量。然后,可以采用所述子块的所述运动矢量来解释所述比特流中的所述预测信息,以生成用于存储在所述解码图像缓存组件423中的重构的帧中进行显示。
与所述编码器300一样,修改所述运动补偿组件421以对所述子块尺寸采用下限阈值,使得双向情况下所述子块尺寸的下限阈值大于单向情况下所述子块尺寸的下限阈值。这反过来减少了所述双向情况下的子块数量,从而减少了运动矢量计算的数量。相应地,双向仿射帧间预测的下限阈值与单向仿射帧间预测的下限阈值之间的关系减少了解码时间,降低了计算资源需求和/或,通过减少子块运动矢量的数量来减少所述解码器所接收的文件的编码大小。
图5是示出了一个示例性单向帧间预测500的示意图,例如,在块压缩步骤105、块解码步骤113、所述运动估计组件221、所述运动补偿组件219、所述运动补偿组件321,和/或所述运动补偿组件421中执行所述单向帧间预测500以确定运动向量(MVs)。例如,可以采用所述单向帧间预测500在帧间预测模式下确定块的运动矢量和/或在仿射帧间预测模式下确定子块的运动矢量。
所述单向帧间预测500使用具有参考块531的参考帧530来预测当前帧510中的当前块511。所述参考帧530可如示出一样,在时序上定位在所述当前帧510之后,但在某些示例中也可在时序上定位在所述当前帧510之前。所述当前帧510是在特定时间进行编码或解码的示例帧或示例图像。所述当前帧510包含所述当前块511中的对象,该对象与所述参考帧530的参考块531中的对象匹配。所述参考帧530是用作对当前帧510进行编码的参考帧,所述参考块531是所述参考帧530中的块,该块包含所述当前帧510的所述当前块511中也包含的对象。
所述当前块511是编码过程中在指定点处正在进行编码或解码的任意编码单元。所述当前块511可以是整个分割块,也可以是仿射帧间预测情况中的子块。所述当前帧510与所述参考帧530之间间隔一定的时间距离(TD)533。所述TD 533指示视频序列中所述当前帧510和所述参考帧530之间的时间量。在由所述TD 533表示的时间段内,所述当前块511中的所述对象从所述当前帧510中的位置移动到所述参考帧530中的另一位置(例如,所述参考块531的位置)。例如,所属对象可以沿着运动轨迹513移动,该运动轨迹513是所述对象随时间移动的方向。运动矢量535描述物体沿所述运动轨迹513在所述TD 533上的运动方向和运动大小。相应地,编码的MV 535和所述参考块531提供充足的信息以重构所述当前块511并将所述当前块511定位在所述当前帧510中。在所述仿射帧间预测情况下,所述对象在所述当前帧510和所述参考帧530之间改变形状。因此,将所述当前块511细分为子块,其中每个子块包括相应的MV 535,例如由MVF来定义。
图6是示出了一个示例性双向帧间预测600的示意图,例如,在所述块压缩步骤105、所述块解码步骤113、所述运动估计组件221、所述运动补偿组件219、所述运动补偿组件321,和/或所述运动补偿组件421中执行所述双向帧间预测600以确定所述MV。例如,可以采用所述双向帧间预测600在帧间预测模式下确定块的运动矢量和/或在仿射帧间预测模式下确定子块的运动矢量。
所述双向帧间预测600类似于所述单向帧间预测500,但所述双向帧间预测600使用一对参考帧在当前帧610中预测当前块611。因此,所述当前帧610和所述当前块611分别与所述当前帧510和所述当前块511基本相似。所示当前帧610在时序上位于视频序列中所述当前帧610之前的前向参考帧620和位于所述视频序列中所述当前帧610之后的后向参考帧630之间。所述前向参考帧620和所述后向参考帧630在其他方面基本上类似于所述参考帧530。
所述当前块611与所述前向参考帧620中的前向参考块621以及所述后向参考帧630中的后向参考块631匹配。这种匹配指示在所述视频序列的过程中,对象沿着运动轨迹613并通过所述当前块611从所述前向参考块621的位置移动到所述后向参考块631的位置。所述当前帧610与所述前向参考帧620之间间隔一些前向时间距离(TD0)623,与所述后向参考帧630之间间隔一些后向时间距离(TD1)633。所述TD0623指示所述视频序列中的所述前向参考帧620与所述当前帧610之间的时间量。所述TD1 633指示所述视频序列中所述当前帧610和所述后向参考帧630之间的时间量。因此,所述对象在所述TD0623指示的时间段内沿着所述运动轨迹613从所述前向参考块621移动到所述当前块611。所述对象还在所述TD1633指示的时间段内沿着所述运动轨迹613从所述当前块611移动到所述后向参考块631。
前向运动矢量(MV0)625描述所述物体沿着所述运动轨迹613在所述TD0623(例如,在所述前向参考帧620和所述当前帧610之间)上移动的方向和大小。后向运动矢量(MV1)635描述所述物体沿着所述运动轨迹613在所述TD1 633(例如,在所述当前帧610和所述后向参考帧630之间)上移动的方向和大小。因此,在所述双向帧间预测600中,可以通过采用所述前向参考块621和/或所述后向参考块631、所述MV0625和所述MV1 635来对所述当前块611进行编码和重构。
如上所述,所述双向帧间预测600所计算的运动矢量的数量是每个块的单向帧间预测500所计算的运动矢量的数量的两倍。在仿射帧间预测的上下文中,将所述当前块分割为子块,并为每个子块确定对应的运动矢量。相应地,所述双向帧间预测600所确定的每个子块的所述运动矢量的数量是所述单向帧间预测500所确定的每个子块的所述运动矢量的数量的两倍。因此,随着所述子块尺寸减小和所述子块总数增加,所述双向帧间预测600的计算逐渐变得比所述单向帧间预测500的计算更加复杂。可以通过为所述单向帧间预测500和所述双向帧间预测600提供不同的子块尺寸下限来解决这一问题。例如,在所述双向帧间预测600中,可以设置比所述单向帧间预测500更高的子块尺寸下限阈值。这导致在双向帧间预测600情况下的总子块(例如,所述当前块611)少于在单向帧间预测500情况下的相应数量的子块(例如,所述当前块511)。通过这种方式对所述子块尺寸采用不同的下限阈值,相对于仿射单向帧间预测500来说,降低了仿射双向帧间预测600的复杂性。下面结合附图讨论了在所述子块尺寸上实现此类阈值的机制。
图7是示出了仿射帧间预测的一个示例性仿射运动模型700的示意图。所述仿射运动模型700可用于所述单向帧间预测500和所述双向帧间预测600。因此,所述仿射运动模型700可用于在所述块压缩步骤105、所述块解码步骤113、所述运动估计组件221、所述运动补偿组件219、所述运动补偿组件321和/或所述运动补偿组件421中以确定运动矢量。
如上所述,所述仿射帧间预测会使所述参考帧失真,使得尽管当对应对象在对应帧之间移动时某些形状发生变化,但仍然可以预测当前块701。相应地,所述当前块701的运动矢量在所述当前块701上发生变化。所述当前块701的所述运动矢量根据位于所述当前块701的左上角的控制点运动矢量v0 702和位于所述当前块701的右上角的控制点运动矢量v1 703以进行描述。所述v0 702和所述v1 703包含水平(x)分量和垂直(y)分量,它们指示所述矢量的大小。因此,所述v0 702可以分别描述为(v0x,v0y),所述v1 703可以分别描述为(v1x,v1y),相应地,可以采用所述v0 702和所述v1 703来确定整个当前块701的MVF741。所述MVF 741是基于位置变化的矢量场。所述MVF 741的简化示例是通过从所述v0 702和所述v1 703计算的虚线箭头所描述的。
作为特定示例,可以根据以下等式1来确定所述MVF 741。
Figure BDA0002421995550000151
等式1
其中,vx是像素的矢量的水平大小,vy是所述像素的矢量的垂直大小,x和y描述所述像素的水平和垂直位置,w是所述当前块701的宽度,其中,v0x为所述v0 702的水平大小,v0y为所述v0 702的垂直大小,v1x为所述v1 703的水平大小,v1y为所述v1 703的垂直大小。
通过采用等式1,可以确定所述当前块中任何位置的运动矢量。由于所述当前块701包括不同位置上的不同运动矢量,因此所述当前块701被划分为子块740。所述子块740包括由子块宽度M 742和子块高度N 743所描述的大小。可以根据所述MVF 741中的矢量来确定子块740的大小。例如,所述当前块701的所述子块740的子块尺寸(例如,所述子块宽度M 742和所述子块高度N 743)可以根据以下等式2进行推导。
Figure BDA0002421995550000152
等式2
其中,M为所述子块宽度742,N为所述子块高度743,clip3为包括三个参数的函数,其中,所述包括三个参数的函数将第一个参数设置为用于计算的下限阈值,第二个参数设置为用于计算的上限阈值,第三个参数为用于计算的值,Tw为子块宽度阈值,Th为子块高度阈值,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为在所述MVF741中,根据所述当前块的所述控制点运动矢量所推导出的运动矢量分量。例如,(v0x、v0y)为所述当前块701的左上控制点运动矢量,(v1x、v1y)为所述当前块701的右上控制点运动矢量,(v2x,、v2y)是根据等式1从所述MVF 741所确定的所述当前块701的左下控制点运动矢量。
作为特定示例,可以设置所述MvPre以将所述子块740的运动矢量取整到十六分之一的精度。此外,可以使用所述Tw和所述Th在所述子块740宽度M 742和高度N 743上设置所述下限阈值。例如,当采用所述单向帧间预测时,所述Tw可以设置为TwU;当采用所述双向帧间预测时,所述Tw可以设置为TwB。进一步的,当采用所述单向帧间预测时,所述Th可以设置为ThU;当采用所述双向帧间预测时,所述Th可以设置为ThB。因此,可以采用等式2为双向仿射帧间预测和单向仿射帧间预测设置不同的子块尺寸阈值。进一步的,可以将所述TwB和所述ThB的总和设置为大于所述TwU和所述ThU的总和的值,以确保所述双向帧间预测的最小子块尺寸大于所述单向帧间预测的最小子块尺寸。在另一示例中,所述TwB的值大于所述TwU的值,所述ThB的值大于所述ThU的值。与使用所述单向仿射帧间预测相比,在使用所述双向仿射帧间预测时,将所述TwU、所述ThU、所述TwB和所述ThB设置为所描述的结果,会导致所述子块740的数量更少。在一些示例中,所述TwB的所述值、所述ThB的所述值、所述TwU的所述值和/或所述ThU的所述值可以在编码器和解码器中的存储器进行预定义。在其他示例中,所述TwB的所述值、所述ThB的所述值、所述TwU的所述值和/或所述ThU的所述值可以由所述编码器确定并在比特流中,例如在SPS、PPS,和/或条带头等参数集中进行指示。例如,所述TwU、所述ThU、所述TwB和/或所述ThB可以设置为16、8、4、2、1等。
所述M 742和所述N 743可以调整到较低值,以使所述M 742和所述N 743分别为所述当前块701的宽度和高度的除数。一旦确定了所述子块740的大小,可以基于所述MVF 741以确定每个子块740的运动矢量。例如,可以针对位于每个子块740中心处的所述当前块701的样本对所述MVF 741进行求解。由此产生位于每个子块的中心样本处的每个子块740的所述运动矢量。这种运动矢量可以取整到指定的精度(例如,十六分之一的精度)。然后,可以应用内插滤波器来为推导出的运动矢量(例如,在所述编码器中实现时)内的每个子块生成预测信息。进一步的,当在所述解码器中推导出此类运动矢量时,可以采用所述子块740的大小和运动矢量来解释其他所指示的预测信息,例如基于参考块和所指示的控制点运动矢量等来重构所述当前块701。
图8是导子块尺寸以用于仿射帧间预测的一个示例性方法800的流程图,例如所述单向帧间预测500和/或所述双向帧间预测600使用所述仿射运动模型700。因此,所述方法800可用于在所述块压缩步骤105、所述块解码步骤113、所述运动估计组件221、所述运动补偿组件219、所述运动补偿组件321和/或所述运动补偿组件421中以确定运动矢量。
所述方法800可以在编码器或解码器中实施,这取决于示例。当在所述编码器上操作时,可以在所述编码器开始基于一个或多个参考帧以对当前块进行编码时,启动所述方法800。当在所述解码器上操作时,可以在所述解码器开始基于所述当前块的控制点运动矢量(例如,从比特流中省略子块运动矢量以减少编码大小)解码所述当前块时,启动所述方法800。
步骤801,选择所述当前块以进行基于所述子块的仿射帧间预测。如上所述,当在参考块和所述当前块之间移动的对象改变形状(例如,由于某些类型的相机运动)时,使用所述仿射帧间预测。使所述参考块失真以预测所述当前块。因此,所述当前块包括多个控制点运动矢量,所述控制点运动矢量可用于描述MVF,所述MVF包括在所述当前块的不同位置中引起此类失真的运动矢量。
步骤803,推导出所述当前块中子块的子块尺寸。所述子块尺寸包括子块宽度M和子块高度N,如图7所示。所述子块尺寸可通过采用如上文所讨论的等式2推导出。
步骤805,确定TwU、TwB、ThU和ThB。当所述方法800在所述编码器上操作时,这些值可以是在存储器中的预定义值,或者可以基于率失真优化过程以进行选择。当在运行时选择此类值时,可以对所述TwU、所述TwB、所述ThU和/或所述ThB进行编码,并在所述比特流的参数集中指示给所述解码器。相应地,当所述值是预定义的,所述解码器可以从所述存储器中获取此类值。否则,所述解码器可以从所述比特流的相应参数集合中获取所述TwU、所述TwB、所述ThU和/或所述ThB。不论如何获取/传播,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和。在一些示例中,所述TwB的值大于所述TwU的值,所述ThB的值大于所述ThU的值。一旦获得阈值,所述方法800确定所述仿射帧间预测是单向帧间预测还是双向帧间预测,并将相关阈值应用于所述子块尺寸。
例如,当所述仿射帧间预测为所述单向帧间预测时,所述子块宽度M应用所述TwU,所述子块高度N应用所述ThU。相应地,当计算出N小于所述ThU时,将所述N设置为ThU。另外,当计算出M小于所述TwU时,将所述M设置为所述TwU。进一步的,当所述仿射帧间预测为所述双向帧间预测时,所述子块宽度M应用所述TwB,所述子块高度N应用所述ThB。相应地,当计算出N小于所述ThB时,将所述N设置为ThB。另外,当计算出M小于所述TwB时,将所述M设置为所述TwB。在等式2中,可以通过将Tw的所述TwU或所述TwB和Th的所述ThU或所述ThB分别包括进来,来应用这些阈值。由于单向阈值和双向阈值之间的关系,双向情况下使用比单向情况下更大的子块。这减少了所述子块的数量以及在所述单向情况的计算复杂性的基础上减少了所述双向情况的计算复杂性。因此,所述TwB和所述ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保所述双向帧间预测的最小子块尺寸大于所述单向帧间预测的最小子块尺寸。
步骤807,基于所述当前块的所述控制点运动矢量、所述子块宽度和所述子块高度,推导出每个子块的各个运动矢量。例如,使用所述子块宽度和所述子块高度将所述当前块分割为一组子块。可以采用等式1基于所述当前块的所述控制点运动矢量来确定所述MVF。每个子块的中心样本可以插入到等式1中,以确定对应子块的运动矢量。在一些示例中,所述子块的所述运动矢量可以取整到十六分之一的精度。
步骤809,基于所述子块的所述运动矢量,并根据示例对所述子块进行编码或解码。例如,在编码器情况下,可以基于在步骤807中所确定的所述子块的所述运动矢量来确定每个子块的预测信息。在某些情况下,这涉及将运动补偿插值滤波器应用于每个子块的推导出的运动矢量,以生成所述当前块的预测信息。然后,可以在所述比特流中对这些预测信息进行编码,并且随后在所述比特流中向所述解码器传输以进行解码和显示。作为另一示例,在解码器情况下,所述子块的所述运动矢量可以用于基于参考帧中的参考块以重构所述当前块中的每个子块。这也可以涉及将所述运动补偿插值滤波器应用于每个子块的所述推导出的运动矢量。然后,可以结合其它预测信息和/或残差信息以使用此类推导出的运动矢量来重构所述当前块。然后,可以将包括所述子块的所述当前块定位在当前帧中,所述当前帧反过来定位在视频序列中。然后,可以将所述视频序列转发到显示单元以进行显示。
图9是本发明实施例中的一个示例性视频编码设备900的示意图。所述视频编码设备900适合实现上述公开的示例或实施例。所述视频编码设备900包括下行端口920、上行端口950和/或收发单元(Tx/Rx)910。该收发单元包括发射器和/或接收器,用于通过网络进行上行和/或下行数据传输。所述视频编码设备900还包括处理器930,该处理器930包括用于处理数据的逻辑单元和/或中央处理单元(CPU),以及用于存储数据的存储器932。所述视频编码设备900还可包括耦合到所述上行端口950和/或所述下行端口920的光电(OE)组件、电光(EO)组件和/或无线通信组件,用于通过光通信或无线通信网络进行通信。所述视频编码设备900还可以包括输入和/或输出(I/O)设备960,用于与用户进行数据传输。所述I/O设备960可以包括用于显示视频数据的显示器、用于输出音频数据的扬声器等输出设备。所述I/O设备960还可以包括键盘、鼠标、轨迹球等输入设备,和/或用于与类似输出设备进行交互的对应接口。
所述处理器930通过硬件和软件实现。所述处理器930可实现为一个或多个CPU芯片、内核(例如,多核处理器),现场可编程门阵列(FPGA),专用集成电路(ASIC),数字信号处理器(DSP)。所述处理器930与所述下行端口920、所述Tx/Rx 910、所述上行端口950以及所述存储器932进行通信。所述处理器930包括编码模块914。所述编码模块914实现上述公开的实施例,例如方法100和/或方法800、单向帧间预测500、双向帧间预测600、仿射运动模型700和/或本文描述的任何其它方法/机制。进一步地,所述编码模块914可以实现所述编解码系统200、编码器300和/或解码器400。相应地,所述编码模块914可以用于确定双向仿射帧间预测和单向仿射帧间预测中的子块尺寸,并在确定所述子块的运动矢量之前应用子块尺寸阈值。所述编码模块914还可以用于确保双向仿射帧间预测中所述子块的最小阈值大于单向仿射帧间预测中所述子块的最小阈值。因此,通过减少用于双向仿射帧间预测中的所述子块的数量,所述编码模块914的存在极大提升了所述视频编码设备900的功能。从而基于所述单向仿射帧间预测的复杂性,降低了双向仿射帧间预测的复杂性。进一步地,所述编码模块914将所述视频编码设备900的变换为不同的状态。或者,所述编码模块914可以实现为存储在所述存储器932中并由所述处理器930(例如,作为计算机程序产品存储在非瞬时性介质中)所执行的指令。
所述存储器932包括一种或多种类型的存储器,例如磁盘、磁带机、固态驱动器、只读存储器(ROM)、随机存取存储器(RAM)、闪存、三态内容寻址存储器(TCAM)、静态随机存取存储器(SRAM)等。所述存储器932可用作溢出数据存储设备,以在选择执行程序时存储该程序,以及在程序执行时读取所存储的指令和数据。
本公开包括一种视频编码器。该编码器包括:一种处理装置,用于选择当前块进行基于子块的仿射帧间预测,其中,所述当前块包括多个运动矢量;为所述当前块中的所述子块推导出子块尺寸,所述子块尺寸包括子块宽度和子块高度;确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;确定所述仿射帧间预测为单向帧间预测或双向帧间预测;根据确定结果,处理器将所述TwU或所述TwB应用于所述子块宽度;根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;根据所述当前块的所述运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;在比特流中对所述子块的预测信息进行编码,其中,所述预测信息来自于所述子块的所述运动矢量;以及一种传输装置,用于将所述比特流传输到解码器以进行解码和显示。
本公开还包括一种视频解码器。该解码器包括:一种用于接收比特流的接收器;一种用于从所述比特流中选择当前块以通过基于子块的仿射帧间预测进行解码的处理器;从所述比特流中获取当前块的多个运动矢量;为所述当前块中的子块推导出子块尺寸,所述子块尺寸包括子块宽度和子块高度;确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;根据所述比特流确定所述仿射帧间预测为单向帧间预测或双向帧间预测;根据确定结果,将所述TwU或所述TwB应用于所述子块宽度;根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;根据所述当前块的所述运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;采用所述子块的所述运动矢量,以基于参考帧,重构所述子块;以及转发用于显示的视频序列,所述视频序列包括当前帧中的所述子块。
如果第一组件和第二组件之间是通过线路、轨迹或其他介质而不是其他中间组件连接,那么所述第一组件直接耦合到所述第二组件。如果第一组件和第二组件之间不是通过线路、轨迹或其他介质而是通过其他中间组件连接,那么所述第一组件间接耦合到所述第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”是指描述数值的±10%。
虽然本发明提供多个具体实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法也可通过其它多种具体形式体现。本发明的实例旨在举例说明而非限制性,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或合并。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

Claims (20)

1.一种方法,其特征在于,包括:
编码器中的处理器选择当前块进行基于子块的仿射帧间预测,其中,所述当前块关联多个运动矢量;
所述处理器推导出所述当前块的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度;
所述处理器确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;
所述处理器确定所述仿射帧间预测为单向帧间预测或双向帧间预测;
所述处理器根据所述确定结果,将所述TwU或所述TwB应用于所述子块宽度;
所述处理器根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;
所述处理器根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;
所述处理器将所述子块的预测信息编码入比特流,其中,所述预测信息基于所述子块的运动矢量得到;以及
耦合到所述处理器的发射器将所述比特流传输到解码器,以进行解码和显示。
2.根据权利要求1所述的方法,其特征在于,所述TwB和所述ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保所述双向帧间预测的最小子块尺寸大于所述单向帧间预测的最小子块尺寸。
3.根据权利要求1所述的方法,其特征在于,在耦合到所述处理器的存储器中预定义所述TwB的值、所述ThB的值、所述TwU的值和所述ThU的值。
4.根据权利要求1所述的方法,其特征在于,还包括:对所述比特流的参数集中的所述TwB的值、所述ThB的值、所述TwU的值、所述ThU的值或其组合进行编码。
5.根据权利要求4所述的方法,其特征在于,所述参数集是序列参数集(SPS)、图像参数集(PPS)、条带头或其组合。
6.根据权利要求1所述的方法,其特征在于,还包括:将所述子块的所述运动矢量取整到十六分之一的精度。
7.根据权利要求1所述的方法,其特征在于,根据以下公式推导出所述当前块中所述子块的所述子块尺寸:
Figure FDA0002421995540000011
其中,M为所述子块宽度,N为所述子块高度,clip3为包括三个参数的函数,其中,第一个参数为用于计算的下限阈值,第二个参数为用于计算的上限阈值,第三个参数为用于计算的值,Tw为TwU或TwB,Th为ThU或ThB,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为运动矢量场中的运动矢量分量,这些运动矢量分量根据所述当前块的运动矢量所推导得到。
8.一种装置,其特征在于,包括:
接收器,用于接收比特流;
处理器,与所述接收器耦合,用于:
从所述比特流中选择当前块,以通过基于子块的仿射帧间预测进行解码;
从所述比特流中获取所述当前块的多个运动矢量;
推导出所述当前块中的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度;
确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;
根据所述比特流,确定所述仿射帧间预测为单向帧间预测或双向帧间预测;
根据所述确定结果,将所述TwU或所述TwB应用于所述子块宽度;
根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;
根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;
采用所述子块的所述运动矢量,基于参考帧,重构所述子块;以及
转发用于显示的视频序列,其中,所述视频序列包括当前帧中的所述子块。
9.根据权利要求8所述的装置,其特征在于,所述TwB和所述ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保所述双向帧间预测的最小子块尺寸大于所述单向帧间预测的最小子块尺寸。
10.根据权利要求8所述的装置,其特征在于,还包括耦合到所述处理器的存储器,其中,所述存储器用于存储预定义值,包括所述TwB的值、所述ThB的值、所述TwU的值和所述ThU的值。
11.根据权利要求8所述的装置,其特征在于,所述处理器还用于从所述比特流的参数集中获取所述TwB的值、所述ThB的值、所述TwU的值、所述ThU的值或其组合。
12.根据权利要求11所述的装置,其特征在于,所述参数集是序列参数集(SPS)、图像参数集(PPS)、条带头或其组合。
13.根据权利要求8所述的装置,其特征在于,所述处理器还用于将所述子块的所述运动矢量取整到十六分之一的精度。
14.根据权利要求8所述的装置,其特征在于,根据以下公式推导出所述当前块中所述子块的所述子块尺寸:
Figure FDA0002421995540000021
其中,M为所述子块宽度,N为所述子块高度,clip3为包括三个参数的函数,其中,第一个参数为用于计算的下限阈值,第二个参数为用于计算的上限阈值,第三个参数为用于计算的值,Tw为TwU或TwB,Th为ThU或ThB,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为运动矢量场中的运动矢量分量,这些运动矢量分量根据所述当前块的运动矢量所推导得到。
15.一种方法,其特征在于,包括:
接收器接收比特流;
处理器从所述比特流中选择当前块以通过基于子块的仿射帧间预测进行解码;
所述处理器从所述比特流中获取所述当前块的多个运动矢量;
所述处理器推导出所述当前块中的子块的子块尺寸,其中,所述子块尺寸包括子块宽度和子块高度;
所述处理器确定单向宽度阈值(TwU)、双向宽度阈值(TwB)、单向高度阈值(ThU)和双向高度阈值(ThB),其中,所述TwB和所述ThB的总和大于所述TwU和所述ThU的总和;
所述处理器根据所述比特流确定所述仿射帧间预测为单向帧间预测或双向帧间预测;
所述处理器根据所述确定结果,将所述TwU或所述TwB应用于所述子块宽度;
所述处理器根据所述确定结果,将所述ThU或所述ThB应用于所述子块高度;
所述处理器根据所述当前块的运动矢量、所述子块宽度和所述子块高度推导出所述子块的运动矢量;
所述处理器采用所述子块的所述运动矢量,基于参考帧,重构所述子块;以及
所述处理器转发用于显示的视频序列,其中,所述视频序列包括当前帧中的所述子块。
16.根据权利要求15所述的方法,其特征在于,所述TwB和所述ThB的所述总和大于所述TwU和所述ThU的所述总和,以确保所述双向帧间预测的最小子块尺寸大于所述单向帧间预测的最小子块尺寸。
17.根据权利要求15所述的方法,其特征在于,将所述TwB的值、所述ThB的值、所述TwU的值和所述ThU的值存储为预定义值。
18.根据权利要求15所述的方法,其特征在于,还包括:从所述比特流的参数集中获取所述TwB的值、所述ThB的值、所述TwU的值、所述ThU的值或其组合。
19.根据权利要求15所述的方法,其特征在于,还包括:将所述子块的所述运动矢量取整到十六分之一的精度。
20.根据权利要求15所述的方法,其特征在于,根据以下公式推导出所述当前块中所述子块的所述子块尺寸:
Figure FDA0002421995540000031
其中,M为所述子块宽度,N为所述子块高度,clip3为包括三个参数的函数,其中,第一个参数为用于计算的下限阈值,第二个参数为用于计算的上限阈值,第三个参数为用于计算的值,Tw为TwU或TwB,Th为ThU或ThB,w为所述当前块的宽度,h为所述当前块的高度,MvPre为所述子块的所述运动矢量的精度,max表示求最大值函数,abs表示求绝对值函数,v0x、v1x、v2x、v0y、v1y和v2y为运动矢量场中的运动矢量分量,这些运动矢量分量根据所述当前块的运动矢量所推导得到。
CN201880061761.4A 2017-09-21 2018-07-17 仿射帧间预测中子块尺寸推导的限制 Active CN111149358B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762561603P 2017-09-21 2017-09-21
US62/561,603 2017-09-21
US16/032,979 US10609384B2 (en) 2017-09-21 2018-07-11 Restriction on sub-block size derivation for affine inter prediction
US16/032,979 2018-07-11
PCT/CN2018/095910 WO2019056839A1 (en) 2017-09-21 2018-07-17 RESTRICTION ON SUB-BLOCK SIZE DERIVATION FOR AFFINE INTER-IMAGE PREDICTION

Publications (2)

Publication Number Publication Date
CN111149358A true CN111149358A (zh) 2020-05-12
CN111149358B CN111149358B (zh) 2022-06-14

Family

ID=65720842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880061761.4A Active CN111149358B (zh) 2017-09-21 2018-07-17 仿射帧间预测中子块尺寸推导的限制

Country Status (3)

Country Link
US (1) US10609384B2 (zh)
CN (1) CN111149358B (zh)
WO (1) WO2019056839A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102638991B1 (ko) * 2016-03-24 2024-02-21 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
EP3741121B1 (en) * 2018-02-14 2024-09-25 Huawei Technologies Co., Ltd. Adaptive interpolation filter
US11012703B2 (en) * 2018-06-13 2021-05-18 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
WO2020058888A1 (en) 2018-09-19 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Mode dependent adaptive motion vector resolution for affine mode coding
US11277628B2 (en) * 2018-09-24 2022-03-15 Qualcomm Incorporated Restrictions for the worst-case bandwidth reduction in video coding
JP2022028089A (ja) * 2018-12-17 2022-02-15 ソニーグループ株式会社 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
BR112021009596A2 (pt) 2018-12-31 2021-08-10 Panasonic Intellectual Property Corporation Of America codificador, decodificador, método de codificação, e método de decodificação
US10904550B2 (en) * 2019-01-12 2021-01-26 Tencent America LLC Method and apparatus for video coding
CN118118659A (zh) * 2019-01-31 2024-05-31 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
CN118433380A (zh) * 2019-03-11 2024-08-02 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和非暂时性存储介质
KR20230165888A (ko) 2019-04-02 2023-12-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 양방향 광학 흐름 기반 비디오 코딩 및 디코딩
WO2020207475A1 (en) 2019-04-12 2020-10-15 Mediatek Inc. Method and apparatus of simplified affine subblock process for video coding system
CN113711609B (zh) * 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
EP3922015A4 (en) 2019-04-19 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. GRADIENT CALCULATION IN VARIOUS MOTION VECTOR REFINEMENTS
US11394990B2 (en) 2019-05-09 2022-07-19 Tencent America LLC Method and apparatus for signaling predictor candidate list size
US11134275B2 (en) 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
US11153598B2 (en) 2019-06-04 2021-10-19 Tencent America LLC Method and apparatus for video coding using a subblock-based affine motion model
US11212545B2 (en) 2019-06-07 2021-12-28 Tencent America LLC Method and apparatus for improved implicit transform selection
US11330287B2 (en) 2019-06-28 2022-05-10 Tencent America LLC Method and apparatus for video coding
EP3997870A4 (en) 2019-07-11 2023-06-14 Tencent America LLC METHOD AND DEVICE FOR VIDEO CODING
US11616962B2 (en) 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
KR102448518B1 (ko) 2019-08-15 2022-09-27 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩의 작은 크로마 블록 크기 제한
WO2020251417A2 (en) * 2019-09-30 2020-12-17 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter and enhanced bilinear interpolation filter in affine motion compensation
BR112022005406A2 (pt) * 2019-09-30 2022-11-29 Huawei Tech Co Ltd Restrições de modelo de movimento afim para redução de largura de banda de memória de filtro de interpolação aprimorado
WO2020242350A2 (en) * 2019-09-30 2020-12-03 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter and enhanced bilinear interpolation filter in affine motion compensation
US11310511B2 (en) 2019-10-09 2022-04-19 Tencent America LLC Method and apparatus for video coding
WO2021045657A2 (en) 2020-01-07 2021-03-11 Huawei Technologies Co., Ltd. Motion vector range derivation for enhanced interpolation filter
US11432018B2 (en) 2020-05-11 2022-08-30 Tencent America LLC Semi-decoupled partitioning for video coding
CN113727103B (zh) * 2020-05-25 2022-08-12 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、电子设备及存储介质
US11259055B2 (en) 2020-07-10 2022-02-22 Tencent America LLC Extended maximum coding unit size
US11206428B1 (en) 2020-07-14 2021-12-21 Tencent America LLC Method and apparatus for frequency-dependent joint component secondary transform
US11575937B2 (en) 2020-07-24 2023-02-07 Tencent America LLC Methods for efficient application of LGT
US11310504B2 (en) 2020-07-30 2022-04-19 Tencent America LLC Complexity reduction for 32-p and 64-p LGT
US11954775B2 (en) * 2022-02-23 2024-04-09 International Business Machines Corporation Artboard element positioning in a series of computer-based artboards

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258868A (ja) * 2008-04-15 2009-11-05 Sony Corp 画像処理装置および画像処理方法
CN103931184A (zh) * 2011-09-14 2014-07-16 三星电子株式会社 用于对视频进行编码和解码的方法和装置
CN104737537A (zh) * 2012-09-07 2015-06-24 高通股份有限公司 用于可缩放视频译码的加权预测模式
CN105556964A (zh) * 2013-01-30 2016-05-04 英特尔公司 用于高效下一代视频编码的内容自适应双向或功能预测多遍图片
CN106303543A (zh) * 2015-05-15 2017-01-04 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
CN106416245A (zh) * 2014-06-19 2017-02-15 高通股份有限公司 用于块内复制的系统和方法
CN106559669A (zh) * 2015-09-29 2017-04-05 华为技术有限公司 图像预测的方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526495B2 (en) * 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
US9049452B2 (en) * 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
US9788019B2 (en) 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
WO2012171463A1 (en) * 2011-06-17 2012-12-20 Mediatek Inc. Method and apparatus for coding of intra prediction mode
WO2013023518A1 (en) * 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
DK3139596T3 (da) * 2011-09-13 2020-01-06 Hfi Innovation Inc Fremgangsmåde og apparat til intra-modus-kodning i hevc
WO2013106986A1 (en) 2012-01-16 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of intra mode coding
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9491460B2 (en) 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
WO2014166381A1 (en) 2013-04-09 2014-10-16 Mediatek Singapore Pte. Ltd. Method and apparatus for non-square intra mode coding
JPWO2016009587A1 (ja) * 2014-07-18 2017-05-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びコンテンツ配信方法
FR3029055B1 (fr) * 2014-11-24 2017-01-13 Ateme Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
US10448011B2 (en) * 2016-03-18 2019-10-15 Mediatek Inc. Method and apparatus of intra prediction in image and video processing
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10230961B2 (en) * 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
US20170374369A1 (en) 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
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
KR20190105572A (ko) * 2017-01-12 2019-09-17 소니 주식회사 화상 처리 장치 및 화상 처리 방법
JPWO2018131515A1 (ja) * 2017-01-13 2019-11-07 ソニー株式会社 画像処理装置及び画像処理方法
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
US10856003B2 (en) * 2017-10-03 2020-12-01 Qualcomm Incorporated Coding affine prediction motion information for video coding
US20190208211A1 (en) * 2018-01-04 2019-07-04 Qualcomm Incorporated Generated affine motion vectors
US10506251B2 (en) * 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
US10873748B2 (en) * 2018-05-12 2020-12-22 Qualcomm Incorporated Storage of high precision motion vectors in video coding
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258868A (ja) * 2008-04-15 2009-11-05 Sony Corp 画像処理装置および画像処理方法
CN103931184A (zh) * 2011-09-14 2014-07-16 三星电子株式会社 用于对视频进行编码和解码的方法和装置
CN104737537A (zh) * 2012-09-07 2015-06-24 高通股份有限公司 用于可缩放视频译码的加权预测模式
CN105556964A (zh) * 2013-01-30 2016-05-04 英特尔公司 用于高效下一代视频编码的内容自适应双向或功能预测多遍图片
CN106416245A (zh) * 2014-06-19 2017-02-15 高通股份有限公司 用于块内复制的系统和方法
CN106303543A (zh) * 2015-05-15 2017-01-04 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
CN106559669A (zh) * 2015-09-29 2017-04-05 华为技术有限公司 图像预测的方法及装置

Also Published As

Publication number Publication date
US20190089960A1 (en) 2019-03-21
US10609384B2 (en) 2020-03-31
CN111149358B (zh) 2022-06-14
WO2019056839A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
CN111149358B (zh) 仿射帧间预测中子块尺寸推导的限制
KR102424189B1 (ko) 적응형 보간 필터
KR102458641B1 (ko) 다중 레퍼런스 라인을 이용한 인트라 예측
CN112425166B (zh) 视频译码中使用交叉分量线性模型进行帧内预测
US20190007699A1 (en) Decoder Side Motion Vector Derivation in Video Coding
US10841794B2 (en) Adaptive motion vector resolution
JP7150861B2 (ja) ビデオコーディングのための空間変動変換
WO2019079611A1 (en) GENERATION OF MOVEMENT VECTOR CANDIDATES LIST DEPENDING ON THE AVAILABILITY OF A NEIGHBORING BLOCK
WO2019072187A1 (en) PRUNING A MOVEMENT MODEL CANDIDATE LIST FOR AN INTERPRETING
CN112470471A (zh) 用于视频译码的受约束编码树
CN111971958B (zh) 视频编码中的块分割方法和设备

Legal Events

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