CN110291790B - 视频编码中的运动矢量(mv)约束和变换约束 - Google Patents

视频编码中的运动矢量(mv)约束和变换约束 Download PDF

Info

Publication number
CN110291790B
CN110291790B CN201880011296.3A CN201880011296A CN110291790B CN 110291790 B CN110291790 B CN 110291790B CN 201880011296 A CN201880011296 A CN 201880011296A CN 110291790 B CN110291790 B CN 110291790B
Authority
CN
China
Prior art keywords
current block
final
threshold
width
constraint
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.)
Active
Application number
CN201880011296.3A
Other languages
English (en)
Other versions
CN110291790A (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 CN110291790A publication Critical patent/CN110291790A/zh
Application granted granted Critical
Publication of CN110291790B publication Critical patent/CN110291790B/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/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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/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/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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

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

Abstract

一种装置包括:存储器;以及处理器,耦合到所述存储器并用于:获取与视频帧中的当前块相邻的相邻块对应的候选MV,生成所述候选MV的候选列表,从所述候选列表中选择最终MV,以及对所述最终MV或变换施加约束以获得约束MV。一种装置包括:存储器;以及处理器,耦合到所述存储器并用于:获取与视频帧中的当前块相邻的相邻块对应的候选MV,生成所述候选MV的候选列表,对所述候选MV或变换施加约束以获得约束MV,以及从所述约束MV中选择最终MV。

Description

视频编码中的运动矢量(MV)约束和变换约束
相关申请案交叉申请
本发明要求2018年4月3日递交的发明名称为“视频编码中的运动矢量(MV)约束和变换约束”的第15/944,501号美国非临时专利申请案的在先申请优先权,该专利申请案又要求2017年4月7日由Futurewei Technologies,Inc.递交的发明名称为“仿射运动矢量的约束”的第62/483,196号美国临时专利申请案以及2018年1月11日由FutureweiTechnologies,Inc.递交的发明名称为“仿射内存访问的限制”的第62/616,263号美国临时专利申请案的在先申请优先权,这些在先申请案的内容以引入的方式并入本文本中。
关于由联邦政府赞助研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
背景技术
视频使用的数据量相对较大,因此视频传送使用的带宽量相对较大。然而,许多网络按照其带宽容量或带宽容量附近的带宽运行。此外,客户要求高的视频质量,这需要使用更多的数据。因此,需要既能减少视频使用的数据量又可以提高视频质量。一种方案是在编码过程中压缩视频,并且在解码过程中解压缩视频。改进压缩和解压缩技术是研究和开发的重点。
发明内容
在一个实施例中,本发明包括一种装置,所述装置包括:存储器;以及处理器,耦合到所述存储器并用于:获取与视频帧中当前块相邻的相邻块对应的候选MV,生成所述候选MV的候选列表,从所述候选列表中选择最终MV,以及对所述最终MV或变换施加约束以获得约束MV。在一些实施例中,所述约束规定:基于阈值和所述当前块的宽度,第一最终MV与第二最终MV之间的第一差值的第一绝对值小于或等于第一数量;所述约束还规定:基于所述阈值和所述当前块的高度,第三最终MV与第四最终MV之间的第二差值的第二绝对值小于或等于第二数量;所述约束规定:第一数量的第一平方根小于或等于第二数量,其中所述第一数量基于第一最终MV、第二最终MV、第三最终MV、第四最终MV和所述当前块的宽度,并且所述第二数量基于所述宽度和阈值;所述约束还规定:第三数量的第二平方根小于或等于第四数量,其中所述第三数量基于第五最终MV、第六最终MV、第七最终MV、第八最终MV和所述当前块的高度,并且所述第四数量基于所述高度和所述阈值;所述约束规定:第一数量小于或等于第二数量,其中所述第一数量基于已变换块的第一宽度、插值滤波器的长度和所述已变换块的第一高度,并且所述第二数量基于阈值、所述当前块的第二宽度和所述当前块的第二高度;所述阈值针对单预测或双预测;所述约束规定:数量小于或等于阈值,其中所述数量与第一存储器带宽和第二存储器带宽直接成正比,并且所述数量与所述当前块的宽度和所述当前块的高度间接成正比;所述约束规定:已变换块的第一宽度与所述当前块的第二宽度之间的第一差值小于或等于阈值,并且所述约束还规定:已变换块的第一高度和所述当前块的第二高度之间的第二差小于或等于所述阈值;所述处理器还用于:基于所述约束MV计算MVF;基于所述MVF执行MCP,以生成所述当前块的预测块;以及对MV索引进行编码;所述处理器还用于:对MV索引进行解码;基于所述约束MV计算MVF;以及基于所述MVF执行MCP,以生成所述当前块的预测块。
在另一实施例中,本发明包括一种方法,所述方法包括:获取与视频帧中的当前块相邻的相邻块对应的候选MV,生成所述候选MV的候选列表,从所述候选列表中选择最终MV,以及对所述最终MV或变换施加约束以获得约束MV。
在又一实施例中,本发明包括一种装置,所述装置包括:存储器;以及处理器,其耦合到所述存储器并用于:获取与视频帧中的当前块相邻的相邻块对应的候选MV,生成所述候选MV的候选列表,对所述候选MV或变换施加约束以获得约束MV,以及从所述约束MV中选择最终MV。在一些实施例中,所述约束规定:基于阈值和所述当前块的宽度,第一最终MV与第二最终MV之间第一差值的第一绝对值小于或等于第一数量,并且所述约束还规定:基于所述阈值和所述当前块的高度,第三最终MV与第四最终MV之间的第二差值的第二绝对值小于或等于第二数量;所述约束规定:第一数量的第一平方根小于或等于第二数量,其中所述第一数量基于第一最终MV、第二最终MV、第三最终MV、第四最终MV和所述当前块的宽度,并且所述第二数量基于所述宽度和阈值;所述约束还规定:第三数量的第二平方根小于或等于第四数量,其中所述第三数量基于第五最终MV、第六最终MV、第七最终MV、第八最终MV和所述当前块的高度,并且所述第四数量基于所述高度和所述阈值;所述约束规定:第一数量小于或等于第二数量,其中所述第一数量基于已变换块的第一宽度、插值滤波器的长度和所述变换块的第一高度,并且所述第二数量基于阈值、所述当前块的第二宽度和所述当前块的第二高度;所述约束规定:数量小于或等于阈值,其中所述数量与第一存储器带宽和第二存储器带宽直接成正比,并且所述数量与所述当前块的宽度和所述当前块的高度间接成正比;所述约束规定:已变换块的第一宽度与所述当前块的第二宽度之间的第一差值小于或等于阈值,并且所述约束还规定,已变换块的第一高度与所述当前块的第二高度之间的第二差值小于或等于所述阈值;所述处理器还用于:基于所述约束MV计算MVF;基于所述MVF执行MCP,以生成所述当前块的预测块;以及对MV索引进行编码;所述处理器还用于:对MV索引进行解码;基于所述约束MV计算MVF;以及基于所述MVF执行MCP,以生成所述当前块的预测块。
上述任意实施例可与上述任意其它实施例组合以创建一个新实施例。结合附图和权利要求,可以在下文的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1为编码系统的示意图。
图2为当前块的MV的示意图。
图3为当前块进行变换的示意图。
图4为根据本发明一实施例的编码方法的流程图。
图5为根据本发明一实施例的解码方法的流程图。
图6为根据本发明另一实施例的编码方法的流程图。
图7为根据本发明另一实施例的解码方法的流程图。
图8为根据本发明一实施例的装置的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
以下缩略语和首字母缩略词适用:
AF_inter:仿射插值(affine inter)
AF_merge:仿射合并(affine merge)
ASIC:专用集成电路(application-specific integrated circuit)
CPU:中央处理器(central processing unit)
CTU:编码树单元(coding tree unit)
DSP:数字信号处理器(digital signal processor)
EO:电到光(electrical-to-optical)
FPGA:现场可编程门阵列(field-programmable gate array)
ITU:国际电信联盟(International Telecommunication Union)
ITU-T:ITU电信标准化部门(ITU Telecommunication Standardization Sector)
LCD:液晶显示器(liquid crystal display)
MB:内存带宽(memory bandwidth)
MCP:运动补偿预测(motion compensation prediction)
MV:运动矢量(motion vector)
MVF:运动矢量场(motion vector field)
NB:相邻块(neighboring block)
OE:光到电(optical-to-electrical)
PPS:图像参数集(picture parameter set)
RAM:随机存取存储器(random-access memory)
RF:射频(radio frequency)
ROM:只读存储器(read-only memory)
RX:接收单元(receiver unit)
SPS:序列参数集(sequence parameter set)
SRAM:静态RAM(static RAM)
TCAM:三重内容寻址内存(ternary content-addressable memory)
TH:阈值(threshold)
TX:发射单元(transmitter unit)。
图1为编码系统100的示意图。编码系统100包括源设备110、介质150和目标设备160。源设备110和目标设备160为移动电话、平板电脑、台式电脑、笔记本电脑或其他合适的设备。介质150为本地网络、无线网络、互联网或其他合适的介质。
源设备110包括视频发生器120、编码器130和输出接口140。视频发生器120为摄像机或其它适合生成视频的设备。编码器130可称为编解码器。编码器根据如2016年12月发布的ITU-T H.265(“H.265”)中“高效视频编码(High Efficiency Video Coding)”等所描述的一组规则执行编码,这些规则以引入的方式并入。输出接口140为天线或其它适合于向目标设备160传输数据的组件。或者,视频发生器120、编码器130和输出接口140可以在设备的任何合适组合中。
目标设备160包括输入接口170、解码器180和显示器190。输入接口170为天线或其它适合于从源设备110接收数据的组件。解码器180也可称为编解码器。解码器180根据如H.265等所描述的一组规则执行解码。显示器190为LCD屏幕或其它适合于显示视频的组件。或者,输入接口170、解码器180和显示器190可以在设备的任何合适组合中。
在操作中,源设备110中的视频发生器120捕获视频,编码器130对视频进行编码以创建已编码视频,输出接口140通过介质150向目标设备160传输该已编码视频。源设备110在本地存储该视频或已编码视频,或者源设备110指示将该视频或已编码视频存储在另一设备上。编码视频包括在分片和块等不同级别上定义的数据。分片是视频帧中的一个空间上明显不同的区域,编码器130对该区域与视频帧中的任何其它区域进行单独编码。块是一组像素,这些像素排列成矩形,例如一个8像素×8像素的正方形。块也称为单元或编码单元。其它级别包括区域、CTU和编码区块。在目标设备160中,输入接口170接收来自源设备110的已编码视频,解码器180对已编码视频进行解码以获得已解码视频,而显示器190显示已解码视频。解码器180可采用与编码器130对视频进行编码的相反的方式对已编码视频进行解码。目标设备160在本地存储已编码视频或已解码视频,或者目标设备160指示将已编码视频或已解码视频存储在另一设备上。
编码和解码统称为编码。编码分为帧内编码和帧间编码,其又分别称为帧内预测和帧间预测。帧内预测实现空间预测,以减少视频帧中的空间冗余。帧间预测实现时间预测,以减少连续视频帧之间的时间冗余。MCP是其中一种帧间预测类型。
2015年10月华为技术有限公司提出的“下一代视频编码的仿射变换预测(Affinetransform prediction for next generation video coding)”,其以引入的方式并入,描述了模拟仿射变换的两种MCP编码模式:AF_inter和AF_merge。在这种情况下,仿射变换是一种在某种程度上保持线条和并行性而将第一视频块或其它单元变换为第二视频块或其它单元的方式。因此,AF_inter和AF_merge模拟了平移、旋转、缩放、剪切映射和其它特征。但是,AF_inter和AF_merge都增加了所需内存带宽。内存带宽是从存储器中读取或存储数据的速率,通常以字节/秒为单位。在这种情况下,内存带宽是指在MCP编码过程中从存储器中读取样本的速率。由于AF_inter和AF_merge增加了所需内存带宽,因此需要减少该内存带宽。
本发明公开了视频编码中MV约束和变换约束的实施例。这些实施例对MV或变换进行了约束,以减少执行AF_inter和AF_merge所需的内存带宽量。这些实施例适用于具有两个、三个、四个或更多控制点的变换。为实现约束,编码器和解码器使用了阈值。编码器和解码器将阈值存储为静态默认值,或者,编码器以SPS、PPS、分片头或其它适当的形式动态地向解码器指示阈值。
图2为示出当前块的MV的示意图200。示意图200包括当前块210和NB 220、NB 230、NB 240、NB 250、NB 260、NB 270、NB 280。当前块210之所以被称为当前块是因为编码器130当前正在对其进行编码。当前块210包括宽度w、高度h,以及用黑点表示的左上控制点和右上控制点。例如,w和h为8个像素。左上控制点具有MV v0,表示为(v0x,v0y),其中v0x是v0的水平分量,v0y是v0的垂直分量。右上控制点具有MV v1,表示为(v1x,v1y),其中v1x是v1的水平分量,v1y是v1的垂直分量。当前块210可包括其它控制点,例如位于当前块210中心的控制点。NB 220至NB 280之所以被称为NB是因为它们与当前块210相邻。
对于具有两个控制点和四个参数的仿射模型,当前块210的MVF表示如下:
Figure GDA0003363670790000051
vx是整个当前块210的一个MV的水平分量;v1x、v0x、w,v1y和v0y如上所述;x为从当前块210的中心开始测量的水平位置;y为从当前块210的中心开始测量的垂直位置;vy为整个当前块210的一个MV的垂直分量。对于具有三个控制点和六个参数的仿射模型,当前块210的MVF表示如下:
Figure GDA0003363670790000052
vx、v1x、v0x、w、x、h、y、vy、v1y和v0y如上所述;v2x是左下控制点MV的水平分量;v2y是左下控制点MV的垂直分量。对于具有四个控制点和八个参数的仿射模型,当前块210的MVF表示如下:
Figure GDA0003363670790000053
vx、v1x、v0x、w、x、v2x、h、y、vx、v1y、v0y和v2y如上所述;v3x是右下控制点MV的水平分量;v3y是右下控制点MV的垂直分量。
图3为示出当前块的变换的示意图300。示意图300包括当前块310和已变换块320。当前块310位于当前视频帧中,而已变换块320是紧接当前视频帧之后的视频帧中经过变换的当前块310。如图所示,为了从当前块310变换为已变换块320,当前块310同时进行旋转和缩放。
在当前块310中,当前块310中的左上控制点、右上控制点、左下控制点和右下控制点的位置分别表示为坐标集(x0,y0)、(x1,y1)、(x2,y2)和(x3,y3);w为宽度;h为高度。在已变换块320中,已变换块320中的左上控制点、右上控制点、左下控制点和右下控制点的位置分别表示为坐标集(x0’,y0’)、(x1’,y1’)、(x2’,y2’)和(x3’,y3’);w’为宽度;h’为高度。运动矢量v表示为坐标集(v0,v1 v2,v3),并描述当前块310到已变换块320的运动。因此,已变换块320的控制点可以通过运动矢量v和当前块310的控制点表示如下:
(x0’,y0’)=(x0+vx0,y0+vy0)
(x1’,y1’)=(x1+vx1,y1+vy1)
(x2’,y2’)=(x2+vx2,y2+vy2)
(x3’,y3’)=(x3+vx3,y3+vy3)。 (4)
已变换块320的尺寸可表示为:
w’=max(x0’,x1’,x2’,x3’)–min(x0’,x1’,x2’,x3’)+1
h’=max(y0’,y1’,y2’,y3’)–min(y0’,y1’,y2’,y3’,)+1. (5)
函数max()从其操作数中选择最大值,函数min()从其操作数中选择最小值。由于当前块310的控制点的位置已知,因此v描述了已变换块320的控制点的位置。如果v是分数,则v指向参考帧中不存在的子样本位置。在这种情况下,编码器130使用以整数样本为输入的插值滤波器来生成子样本位置,T’为仿射模式下的插值滤波器的长度,等于整数样本的数量。例如,T’为2、4或8。最后,对当前块310进行编码所需的内存带宽MB可表示为:
MB=(w’+T’–1)*(h’+T’–1). (6)
w’、T’和h’如上所述。
图4为示出根据本发明实施例的编码方法400的流程图。编码器130可在执行AF_inter或AF_merge时执行方法400。在步骤410处,获取候选MV。在帧间预测中,编码器130从NB 220至NB 280的MV中获取候选MV,NB 220至NB 280的MV在编码器130对当前块210进行编码时已经获知。具体来说,对于AF_inter,编码器130将NB 250、NB 260、NB 240中的MV按该顺序视为v0的候选MV,并且编码器130将NB 270、NB 280中的MV按该顺序视为v1的候选MV。对于AF_merge,编码器130将NB 230、NB 270、NB 280、NB 220、NB 250中的MV按该顺序视为v0和v1的候选MV。
在步骤420处,生成候选MV的候选列表。为此,编码器130采用已知规则。例如,编码器130去除重复的候选MV,并用零MV来填充未使用的候选列表空隙。
在步骤430处,从候选列表中选择最终MV。编码器130为具有两个控制点和四个参数的仿射模型中的v0和v1选择最终MV;为具有三个控制点和六个参数的仿射模型中的v0、v1和v2选择最终MV;或者为具有四个控制点和八个参数的仿射模型中的v0、v1、v2和v3选择最终MV。为此,编码器130采用已知规则。例如,编码器采用速率失真成本检查。对于AF_inter,编码器130还可执行运动估计以获得最终MV。
在步骤440处,对最终MV或变换施加约束以获得约束MV。编码器130使用下面描述的一组MV约束直接约束最终MV,或者编码器130使用下面描述的一组变换约束来约束变换,从而间接约束最终MV。通过应用约束,编码器130在约束最终MV时根据其使用的仿射模型来计算v0x、v0y、v1x、v1y、v2x、v2y、v3x和v3y的组合,或者编码器130在约束变换时计算w’、h’和T’。与最终MV相比,约束MV减少了内存带宽。如果编码器130无法约束最终MV,则编码器130可使用两个备选方案之一。在第一个备选方案中,编码器130跳过方法400的其余步骤,实现除AF_inter或AF_merge之外的编码模式。在第二个备选方案中,编码器130修改最终MV,直到编码器130能够约束最终MV。或者,步骤410、420、430可替换为确定MV的单个步骤,并且步骤440可替换为对MV或变换施加约束以获得约束MV的步骤。
在步骤450处,基于约束MV计算出MVF。编码器130根据方程式集(1)、(2)或(3)计算MVF。在步骤460处,基于MVF执行MCP,以生成当前块的预测块。预测块包括当前块210中的每个像素的预测值。
最后,在步骤470中,对MV索引进行编码。编码器130将MV索引编码为上述已编码视频的一部分。MV索引表示候选MV在候选列表中的顺序。对于AF_inter,编码器130还可对MV差进行编码,该MV差指示最终MV和候选MV之间的差。
图5为示出根据本发明实施例的解码方法500的流程图。解码器180可在执行AF_inter或AF_merge时执行方法500。在步骤510处,对MV索引进行解码。该MV索引可以是图4中步骤470处所编码的同一个索引。对于AF_inter,编码器130也可以对MV差进行解码。步骤520、步骤530、步骤540、步骤550、步骤560、步骤570分别与图4中的步骤410、步骤420、步骤430、步骤440、步骤450、步骤460类似。对于AF_inter,编码器130可获得最终MV,并将MV差加到候选MV中。或者,步骤520、步骤530、步骤540可替换为确定MV的单个步骤,步骤550可替换为将对MV或变换施加约束以获得约束MV的步骤。
图6为示出根据本发明另一实施例的编码方法600的流程图。编码器130可在执行AF_merge时执行方法600。方法600与图4中的方法400类似。具体而言,图6中的步骤610、步骤620、步骤650、步骤660、步骤670分别与图4中的步骤410、步骤420、步骤450、步骤460、步骤470类似。然而,与步骤430和步骤440相比,步骤630和步骤640是相反的。此外,与同时适用于AF-inter和AF-merge的方法400不同,方法600适用于AF-merge。
图7为示出根据本发明另一实施例的解码方法700的流程图。解码器180可在执行AF_merge合并时执行方法700。在步骤710处,对MV索引进行解码。该MV索引可以是图6中步骤670处所编码的同一个索引。步骤720、步骤730、步骤740、步骤750、步骤760、步骤770分别与图6中的步骤610、步骤620、步骤630、步骤640、步骤650、步骤660类似。
MV约束
在MV约束的第一个实施例中,编码器130使用两个控制点对初始MV施加以下MV约束:
|v1x–v0x|≤w*TH
|v1y–v0y|≤h*TH. (7)
v1x、v0x、w、v1y和v0y如上所述;TH为阈值;h为当前块210的高度,以像素数量为单位,例如8个像素。TH是一个适合提供足够MCP但也适合减少内存带宽的任意数。例如,如果仅使用缩放变换来把当前块310变换为已变换块320,并且如果最大缩放因子为2,则|v1x–v0x|+w,即已变换块320的宽度,应不大于2*w,并且TH应设置为1。编码器130和解码器180将TH存储为静态默认值。或者,编码器130以SPS、PPS、分片头或其它适当的形式向解码器180动态指示TH。
在MV约束的第二个实施例中,编码器130使用三个控制点对初始MV施加以下MV约束:
|v1x–v0x|≤w*TH
|v1y–v0y|≤h*TH
|v2x–v0x|≤w*TH
|v2y–v0y|≤h*TH. (8)
v1x、v0x、w、TH、v1y、v0y和h如上所述;v2x是第三控制点MV的水平分量;v2y是第三控制点MV的垂直分量。第三控制点位于当前块210的任何适当位置,例如位于当前块210的中心。
在MV约束的第三个实施例中,编码器130使用两个控制点对初始MV施加以下MV约束:
Figure GDA0003363670790000071
v1x、v0x、w、v1y、v0y和TH如上所述。
在MV约束的第四个实施例中,编码器130使用三个控制点将对初始MV施加以下MV约束:
Figure GDA0003363670790000081
v1x、v0x、w、v1y、v0y、TH、v2y、h和v2x如上所述。
变换约束
在变换约束的第一个实施例中,编码器130应用以下变换约束:
(w’+T’–1)*(h’+T’–1)≤TH*w*h. (11)
w’、T’、h’、w和h如上所述。TH是一个适合提供足够MCP但也适合减少内存带宽的任意数。例如,如果样本的最大内存带宽定义为一个4×4块的内存访问消耗,则TH如下:
Figure GDA0003363670790000082
T为转换模式下的插值滤波器的长度。编码器130和解码器180将TH存储为静态默认值,或者,编码器130以SPS、PPS、分片头或其它适当的形式向解码器180动态指示TH。
在变换约束的第二个实施例中,编码器130在使用单预测时应用以下变换约束:
(w’+T’–1)*(h’+T’–1)≤THUNI*w*h. (13)
单预测是指编码器130使用一个参考块来确定当前块210的预测值。w’、T’、h’、w和h如上所述。THUNI是一个适合提供足够MCP但也适合减少单预测的内存带宽的任意数。例如,如果单预测的样本的最大内存带宽定义为一个4×4块的内存访问消耗,则THUNI如下:
Figure GDA0003363670790000083
类似地,编码器130在使用双预测时应用以下变换约束:
(w’+T’–1)*(h’+T’–1)≤THBI*w*h. (15)
双预测是指编码器130使用两个参考块来确定当前块210的预测值。w’、T’、h’、w和h如上所述。THBI是一个适合提供足够MCP但也适合减少双预测的内存带宽的任意数。THUNI小于或等于THBI。例如,如果双预测的样本的最大内存带宽定义为一个8×4块的内存访问消耗,则THBI如下:
Figure GDA0003363670790000084
与方程式(11)不同,方程式(13)和(15)中的阈值分别针对单预测和双预测。
在变换约束的第三个实施例中,编码器130使用双预测,因此存在两个内存带宽,如下所示:
MB0=(w0’+T’–1)*(h0’+T’–1)
MB1=(w1’+T’–1)*(h1’+T’–1). (17)
MB0是使用第一宽度w0’和第一高度h0’进行第一变换的内存带宽,而MB1是使用第二宽度w1’和第二高度h1’进行第二变换的内存带宽。编码器130使用这两个内存带宽来应用以下变换约束:
Figure GDA0003363670790000091
MB0、MB1、w、h和TH如上所述。
在变换约束的第四个实施例中,编码器130应用以下变换约束:
w’–w≤TH
h’–h≤TH. (19)
w’、w、h’、h和TH如上所述。
在变换约束的第五个实施例中,编码器130如下确定已变换块420的位置:
(x0’,y0’)=(x0+vx0,y0+vy0)
(x1’,y1’)=(x0+w+vx1,y0+vy1)
(x2’,y2’)=(x0+vx2,y0+h+vy2)
(x3’,y3’)=(x0+w+vx3,y0+h+vy3). (20)
x0’、y0’、x0、v、y0、x1’、y1’、w、x1、y1、x2’、y2’、x2、h、y2、x3’、y3’、x3和y3如上所述。编码器130使用方程式集(17)和方程式集(7)来确定w’和h’。
在变换约束的第六个实施例中,不受约束的候选MV被丢弃。不受约束的候选MV是指不受上述或其它约束的候选MV。因此,不受约束的候选MV是以其原始形式保留的候选MV。
图8为根据本发明一实施例的装置800的示意图。装置800可实施所公开的实施例。装置800包括:用于接收数据的入端口810和RX 820;用于处理数据的处理器、逻辑单元、基带单元或CPU 830;用于传输数据的TX 840和出端口850;以及用于存储数据的存储器860。装置800还可包括OE组件、EO组件或RF组件,它们耦合到用于光信号、电信号或RF信号的出入的入端口810、RX 820、TX 840和出端口850。
处理器830是硬件、中间件、固件或软件的任意组合。处理器830包括一个或多个CPU芯片、内核、FPGA、ASIC或DSP的任意组合。处理器830与入端口810、RX 820、TX 840、出端口850和存储器860通信。处理器830包括实现所公开实施例的编码组件870。因此,包括编码组件870明显改进了装置800的功能并使装置800向不同状态变换。或者,存储器860将编码组件870存储为指令,处理器830执行这些指令。
存储器860包括磁盘、磁带机或固态硬盘的任意组合。装置800可将存储器860用作溢流数据存储设备,用于在装置800选择程序来执行时存储这些程序,以及存储装置800在这些程序的执行期间读取的指令和数据。存储器860可以是易失性的或非易失性的,并且可以是ROM、RAM、TCAM或SRAM的任意组合。
在一个示例实施例中,装置包括:存储元件;以及处理器,其耦合到存储元件并用于:获取与视频帧中的当前块相邻的相邻块对应的候选MV,生成候选MV的候选列表,从候选列表中选择最终MV,以及对最终MV或变换施加约束以获得约束MV。
虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文中所给出的细节。例如,各种元件或组件可以在另一系统中组合或整合,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或合并。展示或论述为耦合的其他项可以直接耦合或者可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

Claims (16)

1.一种视频编码装置,其特征在于,包括:
存储器;以及
处理器,耦合到所述存储器并用于:
获取与视频帧中的当前块相邻的相邻块对应的候选运动矢量(motion vector,MV),
生成所述候选MV的候选列表,
从所述候选列表中选择最终MV,以及
对所述最终MV施加约束以获得约束MV;
其中,所述约束包含一个表达式,所述表达式包括以下参数中的至少一项:阈值、当前块的宽度以及当前块的高度;所述阈值是静态存储或动态发出信号的任意数字;
所述约束包括:第一数量的第一平方根小于或等于第二数量,其中所述第一数量由第一最终MV、第二最终MV、第三最终MV、第四最终MV和所述当前块的宽度决定,并且所述第二数量由所述当前块的宽度和所述阈值决定。
2.根据权利要求1所述的装置,其特征在于,所述约束规定包括:第一最终MV与第二最终MV之间的第一差值的第一绝对值小于或等于第一数量,所述第一数量由阈值以及所述当前块的宽度决定;所述约束还规定:第三最终MV与第四最终MV之间的第二差值的第二绝对值小于或等于第二数量,所述第二数量由所述阈值以及所述当前块的高度决定。
3.根据权利要求1所述的装置,其特征在于,所述约束规定还包括:第一数量小于或等于第二数量,其中所述第一数量由已变换块的第一宽度、插值滤波器的长度和所述已变换块的第一高度决定,并且所述第二数量由阈值、所述当前块的第二宽度和所述当前块的第二高度决定。
4.根据权利要求3所述的装置,其特征在于,所述阈值特定于单预测或双预测。
5.根据权利要求1所述的装置,其特征在于,所述约束规定还包括:数量小于或等于阈值,其中所述数量与第一存储器带宽和第二存储器带宽直接成正比,并且所述数量与所述当前块的宽度和所述当前块的高度间接成正比。
6.根据权利要求1所述的装置,其特征在于,所述约束规定还包括:已变换块的第一宽度与所述当前块的第二宽度之间的第一差值小于或等于阈值,并且所述约束还规定:已变换块的第一高度与所述当前块的第二高度之间的第二差值小于或等于所述阈值。
7.根据权利要求1所述的装置,其特征在于,所述处理器还用于:
基于所述约束MV计算运动矢量场(motion vector field,MVF);
基于所述MVF执行运动补偿预测(motion compensation prediction,MCP),以生成所述当前块的预测块;以及
对MV索引进行编码。
8.根据权利要求1所述的装置,其特征在于,所述处理器还用于:
对MV索引进行解码;
基于所述约束MV计算运动矢量场(motion vector field,MVF);以及
基于所述MVF执行运动补偿预测(motion compensation prediction,MCP),以生成所述当前块的预测块。
9.一种视频编码方法,其特征在于,包括:
获取与视频帧中的当前块相邻的相邻块对应的候选运动矢量(motion vector,MV);
生成所述候选MV的候选列表;
从所述候选列表中选择最终MV;以及
对所述最终MV施加约束以获得约束MV;
其中,所述约束包含一个表达式,所述表达式包括以下参数中的至少一项:阈值、当前块的宽度以及当前块的高度;所述阈值是静态存储或动态发出信号的任意数字;
所述约束包括:第一数量的第一平方根小于或等于第二数量,其中所述第一数量由第一最终MV、第二最终MV、第三最终MV、第四最终MV和所述当前块的宽度决定,并且所述第二数量由所述当前块的宽度和所述阈值决定。
10.一种视频编码装置,其特征在于,包括:
存储器;以及
处理器,耦合到所述存储器并用于:
获取与视频帧中的当前块相邻的相邻块对应的候选运动矢量(motion vector,MV),
生成所述候选MV的候选列表,
对所述候选MV施加约束以获得约束MV,以及
从所述约束MV中选择最终MV;
其中,所述约束包含一个表达式,所述表达式包括以下参数中的至少一项:阈值、当前块的宽度以及当前块的高度;所述阈值是静态存储或动态发出信号的任意数字;
所述约束包括:第一数量的第一平方根小于或等于第二数量,其中所述第一数量由第一最终MV、第二最终MV、第三最终MV、第四最终MV和所述当前块的宽度决定,并且所述第二数量由所述当前块的宽度和所述阈值决定。
11.根据权利要求10所述的装置,其特征在于,所述约束规定包括:第一最终MV与第二最终MV之间的第一差值的第一绝对值小于或等于第一数量,所述第一数量由阈值以及所述当前块的宽度决定并且所述约束还规定:基于所述阈值和所述当前块的高度,第三最终MV与第四最终MV之间的第二差值的第二绝对值小于或等于第二数量,所述第二数量由所述阈值以及所述当前块的高度决定。
12.根据权利要求10所述的装置,其特征在于,所述约束规定还包括:第一数量小于或等于第二数量,其中所述第一数量由已变换块的第一宽度、插值滤波器的长度和所述变换块的第一高度决定,并且所述第二数量由阈值、所述当前块的第二宽度和所述当前块的第二高度决定。
13.根据权利要求10所述的装置,其特征在于,所述约束规定还包括:数量小于或等于阈值,其中所述数量与第一存储器带宽和第二存储器带宽直接成正比,并且所述数量与所述当前块的宽度和所述当前块的高度间接成正比。
14.根据权利要求10所述的装置,其特征在于,所述约束规定还包括:已变换块的第一宽度与所述当前块的第二宽度之间的第一差值小于或等于阈值,并且所述约束还规定,已变换块的第一高度与所述当前块的第二高度之间的第二差值小于或等于所述阈值。
15.根据权利要求10所述的装置,其特征在于,所述处理器还用于:
基于所述约束MV计算运动矢量场(motion vector field,MVF);
基于所述MVF执行运动补偿预测(motion compensation prediction,MCP),以生成所述当前块的预测块;以及
对MV索引进行编码。
16.根据权利要求10所述的装置,其特征在于,所述处理器还用于:
对MV索引进行解码;
基于所述约束MV计算运动矢量场(motion vector field,MVF);以及
基于所述MVF执行运动补偿预测(motion compensation prediction,MCP),以生成所述当前块的预测块。
CN201880011296.3A 2017-04-07 2018-04-08 视频编码中的运动矢量(mv)约束和变换约束 Active CN110291790B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762483196P 2017-04-07 2017-04-07
US62/483,196 2017-04-07
US201862616263P 2018-01-11 2018-01-11
US62/616,263 2018-01-11
US15/944,501 2018-04-03
US15/944,501 US10873760B2 (en) 2017-04-07 2018-04-03 Motion vector (MV) constraints and transformation constraints in video coding
PCT/CN2018/082114 WO2018184589A1 (en) 2017-04-07 2018-04-08 Motion vector (mv) constraints and transformation constraints in video coding

Publications (2)

Publication Number Publication Date
CN110291790A CN110291790A (zh) 2019-09-27
CN110291790B true CN110291790B (zh) 2022-03-11

Family

ID=63709977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880011296.3A Active CN110291790B (zh) 2017-04-07 2018-04-08 视频编码中的运动矢量(mv)约束和变换约束

Country Status (6)

Country Link
US (1) US10873760B2 (zh)
EP (1) EP3566442A4 (zh)
JP (1) JP6903149B2 (zh)
KR (1) KR102255665B1 (zh)
CN (1) CN110291790B (zh)
WO (1) WO2018184589A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996669A (zh) * 2017-09-28 2023-11-03 三星电子株式会社 编码方法和装置以及解码方法和装置
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
WO2020065520A2 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Extended merge prediction
WO2019234598A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
KR20210022617A (ko) 2018-06-21 2021-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 칼라 컴포넌트 간의 서브 블록 mv 상속
KR20210038846A (ko) * 2018-06-29 2021-04-08 브이아이디 스케일, 인크. Affine motion 모델 기반 비디오 코딩을 위한 적응형 제어 포인트 선택
US10944984B2 (en) 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
US11184635B2 (en) 2018-08-31 2021-11-23 Tencent America LLC Method and apparatus for video coding with motion vector constraints
WO2020050695A1 (ko) * 2018-09-06 2020-03-12 엘지전자 주식회사 영상 코딩 시스템에서 머지 후보 리스트를 사용하는 움직임 예측에 기반한 영상 디코딩 방법 및 장치
CN116033150A (zh) 2018-09-08 2023-04-28 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
WO2020094149A1 (en) * 2018-11-10 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Rounding in triangular prediction mode
US11736713B2 (en) * 2018-11-14 2023-08-22 Tencent America LLC Constraint on affine model motion vector
CN114979627A (zh) * 2021-02-24 2022-08-30 华为技术有限公司 视频编码中的运动矢量(mv)约束和变换约束

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917197A (zh) * 2011-08-04 2013-02-06 想象技术有限公司 运动估计系统中的外部矢量
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US8665958B2 (en) * 2008-01-29 2014-03-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation
EP2559243B1 (en) 2010-04-13 2014-08-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A video decoder and a video encoder using motion-compensated prediction
US9762904B2 (en) * 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US20140086328A1 (en) 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
KR102070719B1 (ko) * 2013-01-23 2020-01-30 한국전자통신연구원 인터 예측 방법 및 그 장치
CA2958254A1 (en) * 2015-01-29 2016-08-04 Ecole De Technologie Superieure Methods and systems for determining motion vectors in a motion estimation process of a video encoder
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
CN102917197A (zh) * 2011-08-04 2013-02-06 想象技术有限公司 运动估计系统中的外部矢量

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AHG07: A restriction of motion vector for small PU size;Takeshi Chujoh;《Document: JCTVC-I0075》;20120416;全文 *
Control-Point Representation and Differential Coding Affine-Motion Compensation;Han Huang等;《IEEE Transactions on Circuits and Systems for Video Technology》;20130327;全文 *

Also Published As

Publication number Publication date
US10873760B2 (en) 2020-12-22
US20180295381A1 (en) 2018-10-11
JP6903149B2 (ja) 2021-07-14
WO2018184589A1 (en) 2018-10-11
JP2020509711A (ja) 2020-03-26
EP3566442A1 (en) 2019-11-13
EP3566442A4 (en) 2020-02-05
CN110291790A (zh) 2019-09-27
KR20190112082A (ko) 2019-10-02
KR102255665B1 (ko) 2021-05-24

Similar Documents

Publication Publication Date Title
CN110291790B (zh) 视频编码中的运动矢量(mv)约束和变换约束
JP7331095B2 (ja) 補間フィルタトレーニング方法及び装置、ビデオピクチャエンコーディング及びデコーディング方法、並びに、エンコーダ及びデコーダ
BR112019027821A2 (pt) emparelhamento de gabarito com base em reconstrução parcial para derivação de vetor de movimento
CA3066961C (en) Selection and signaling of motion vector (mv) precisions
US20220295071A1 (en) Video encoding method, video decoding method, and corresponding apparatus
CN114424567A (zh) 使用基于矩阵的帧内预测进行组合的帧间-帧内预测的方法和装置
WO2020143585A1 (zh) 视频编码器、视频解码器及相应方法
US12028527B2 (en) Video encoder, video decoder, and corresponding method
US20210306644A1 (en) Inter prediction method and apparatus
WO2022179221A1 (zh) 视频编码中的运动矢量(mv)约束和变换约束
US11770522B2 (en) Picture display order determining method and apparatus, and video coding device

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