CN114009042A - 具有全局运动的帧中的候选 - Google Patents

具有全局运动的帧中的候选 Download PDF

Info

Publication number
CN114009042A
CN114009042A CN202080045936.XA CN202080045936A CN114009042A CN 114009042 A CN114009042 A CN 114009042A CN 202080045936 A CN202080045936 A CN 202080045936A CN 114009042 A CN114009042 A CN 114009042A
Authority
CN
China
Prior art keywords
motion vector
decoder
vector candidate
candidate list
motion
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.)
Pending
Application number
CN202080045936.XA
Other languages
English (en)
Inventor
H·卡瓦
B·富尔赫特
V·阿季奇
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.)
OP Solutions LLC
Original Assignee
OP Solutions LLC
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 OP Solutions LLC filed Critical OP Solutions LLC
Publication of CN114009042A publication Critical patent/CN114009042A/zh
Pending legal-status Critical Current

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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

解码器包括电路,被配置为:接收比特流;为当前块构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表;以及重建当前块的像素数据并使用运动矢量候选列表。还描述了相关的装置、系统、技术和物品。

Description

具有全局运动的帧中的候选
相关申请的交叉引用
本申请要求2019年4月25日提交的标题为“具有全局运动的帧中的候选”的美国临时专利申请序列号62/838,587的优先权,其全部内容通过引用并入于此。
技术领域
本发明通常涉及视频压缩领域。特别地,本发明针对具有全局运动的帧中的候选。
背景技术
视频编解码器可以包括压缩或解压缩数字视频的电子电路或软件。它可以将未压缩的视频转换为压缩格式,反之亦然。在视频压缩的环境中,压缩视频(和/或执行其某些功能)的设备通常可以被称为编码器,解压缩视频(和/或执行其某些功能)的设备可以被称为解码器。
压缩数据的格式可以符合标准视频压缩规范。压缩可能是有损的,因为压缩的视频缺少原始视频中存在的一些信息。这样做的一个后果是,由于没有足够的信息来准确地重建原始视频,解压缩后的视频的质量可能比原始的未压缩视频低。
视频质量、用于表示视频的数据量(例如,由比特率决定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、易于编辑、随机访问、端到端延迟(例如,延时)等等之间可能存在复杂的关系。
运动补偿可以包括一种方法,在给定参考帧(例如先前帧和/或未来帧)的前提下,通过计算摄像机和/或视频中的物体的运动来预测视频帧或其中的一部分。它可以用于视频压缩的视频数据的编码和解码,例如使用运动图像专家组(MPEG)-2(也称为高级视频编码(AVC)和H.264)标准的编码和解码。运动补偿可以根据参考图像到当前图像的变换来描述图像。当与当前图像比较时,参考图像在时间上可以是先前的,当与当前图像比较时,参考图像可以是未来的。当可以从先前传输和/或存储的图像中准确地合成图像时,可以提高压缩效率。
发明内容
在一个方面,解码器包括电路,该电路被配置为接收比特流,为当前块构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表,并重建当前块的像素数据,以及使用运动矢量候选列表。
在另一方面,一种方法包括由解码器接收比特流。该方法包括为当前块构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表。该方法包括重建当前块的像素数据并使用运动矢量候选列表。
这里描述的主题的一个或多个变型的细节在附图和下面的描述中阐述。本文所述主题的其他特征和优点将从说明书和附图以及权利要求中显而易见。
附图说明
为了说明本发明,附图示出了本发明的一个或多个实施例的方面。然而,应当理解,本发明不限于附图中所示的精确布置和手段,其中:
图1是示出具有全局和局部运动的示例帧的运动矢量的图;
图2示出了可用于全局运动的三个示例运动模型,包括其索引值(0、1或2);
图3是根据当前主题的一些示例实施方式的过程流程图;
图4是根据当前主题的一些示例实施方式的示例解码器的系统框图;
图5是根据当前主题的一些示例实施方式的过程流程图;
图6是根据当前主题的一些示例实施方式的示例编码器的系统框图;和
图7是可用于实现这里公开的任何一个或多个方法及其任何一个或多个部分的计算系统的框图。
附图不一定是按比例绘制的,可以用虚线、示意图和局部视图来说明。在某些情况下,可能已经省略了对于理解实施例不必要的细节或者使得其他细节难以察觉的细节。不同附图中相同的参考符号表示相同的元件。
具体实施方式
视频中的全局运动是指发生在整个帧中的运动。全局运动可能由摄像机运动引起;例如,摄像机平移和缩放可以在帧中产生通常会影响整个帧的运动。视频部分中存在的运动可以被称为局部运动。局部运动可以由场景中的移动对象引起,例如场景中从左向右移动的对象。视频可能包含局部和全局运动的组合。当前主题的一些实施方式可以提供将全局运动传递给解码器的高效方法,以及使用全局运动矢量来提高压缩效率。
图1是示出具有全局和局部运动的示例帧100的运动矢量的图。帧100包括被示为正方形的多个像素块,以及被示为箭头的它们的相关运动矢量。箭头指向上方和左侧的正方形(例如,像素块)指示具有可以被认为是全局运动的运动的块,并且箭头指向其他方向(由104指示)的正方形可指示具有局部运动的块。在图1所示的例子中,许多块具有相同的全局运动。在报头中发送全局运动信号,如图像参数集(PPS)和/或序列参数集(SPS),以及使用信号全局运动可以减少块所需的运动矢量信息,并能够引起改进的预测。尽管为了说明的目的,下面描述的例子是在块级别上确定和/或应用全局或局部运动矢量,但全局运动矢量可以被确定和/或应用于帧和/或图像的任何区域,包括由多个块组成的区域,以任何几何形式为边界的区域,例如但不限于由几何和/或指数编码定义的区域,其中围成边界的一条或多条线和/或曲线可以成角度和/或弯曲,以及/或帧和/或图像的整体。尽管信令在此被描述是在帧级和/或帧的报头和/或参数集中执行的,但是信令可以替代地或附加地在子图像级执行,其中子图像可以包括如上所述的帧和/或图像的任何区域。
作为示例,继续参考图1,可以使用运动矢量(MV)来描述简单的平移运动,该运动矢量具有描述当前帧中的块和/或像素的位移的两个分量MVx、MVy。更复杂的运动,如旋转、缩放和扭曲,可以使用仿射运动矢量来描述,其中本公开中使用的“仿射运动矢量”是描述视频图像和/或图像中表示的一组像素或点的均匀位移的矢量,例如示出在运动期间对象在视频视图中移动而不改变外观形状的一组像素。视频编码和/或解码的一些方法可以使用四参数或六参数仿射模型来进行图像间编码中的运动补偿。
例如,六参数仿射运动可以描述为:
x'=ax+by+c
y'=dx+ey+f
四参数仿射运动可以描述为:
x'=ax+by+c
y'=-bx+ay+f
其中(x,y)和(x’,y’)分别是当前图像和参考图像中的像素位置;a、b、c、d、e和f是仿射运动模型的参数。
仍然参考图1,用于描述仿射运动的参数可通过信号发送给解码器,以便在解码器处应用仿射运动补偿。在一些方法中,运动参数可以显式地通过信号发送,或者通过信号发送平移控制点运动矢量(CPMVs),然后从平移运动矢量推导出仿射运动参数。可以利用两个控制点运动矢量(CPMVs)来推导出四参数仿射运动模型的仿射运动参数,并且可以利用三个控制点平移运动矢量(CPMVs)来获取六参数运动模型的参数。使用控制点运动矢量通过信号发送仿射运动参数可以允许使用高效的运动矢量编码方法来通过信号发送仿射运动参数。
在一个实施例中,进一步参考图1,PPS和/或SPS中的sps_affine_enabled_flag可以指定基于仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_enabled_flag等于0,则可以约束语法,使得在稍后编码的视频序列(CLVS)中不使用基于仿射模型的运动补偿,并且CLVS的编码单元语法中可能不存在inter_affine_flag和cu_affine_type_flag。否则(sps_affine_enabled_flag等于1),可以在CLVS中使用基于仿射模型的运动补偿。
仍然参考图1,PPS和/或SPS中的sps_affine_type_flag可以指定基于六参数仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_type_flag等于0,则语法可能会受到约束,以便在CLVS中不使用基于六参数仿射模型的运动补偿,并且在CLVS中的编码单元语法中可能不存在cu_affine_type_flag。否则(sps_affine_type_flag等于1),可在CLVS中使用基于六参数仿射模型的运动补偿。当不存在时,sps_affine_type_flag的值可推断为等于0。
继续参考图1,处理MV预测候选列表可以是在解码器处利用运动补偿的一些压缩方法中执行的步骤。一些方法可以定义空间和时间运动矢量候选的使用。在诸如SPS或PPS之类的报头中用信号发送的全局运动可以指示视频中存在全局运动。可以预期这样的全局运动对于帧中的大多数块是共同的。通过使用全局运动作为预测候选,可以改进运动矢量编码并降低比特率。可以根据用于表示全局运动的运动模型和帧间编码中使用的运动模型来选择添加到MV预测列表的候选MV。
仍然参考图1,取决于所使用的运动模型,可以用一个或多个控制点运动矢量(CPMVs)来描述全局运动的一些实施方式。因此,根据所使用的运动模型,一至三个控制点运动矢量可能是可用的,并且可以用作预测的候选。在一些实施方式中,所有可用的CPMVs可以作为预测候选添加到列表中。添加所有可用的CPMVs的一般情况可以增加找到良好运动矢量预测的可能性,并提高压缩效率。
Figure BDA0003426859370000041
现在参考图2,示出了可用于全局运动的三个示例性实施例运动模型200。每个示例性模型包括索引值(0、1或2)。
仍然参考图2,PPSs可以用于通过信号发送参数,这些参数可在序列的图像之间改变。可以在序列参数集中用信号发送对于图像序列保持相同的参数,以减小PPS的大小并降低视频比特率。表1显示了一个示例图像参数集(PPS):
Figure BDA0003426859370000051
Figure BDA0003426859370000061
Figure BDA0003426859370000071
Figure BDA0003426859370000081
Figure BDA0003426859370000091
可以将附加字段添加到PPS以通过信号发送全局运动。在全局运动的情况下,图像序列中全局运动参数的存在可以在SPS中用信号发送,并且PPS可通过SPS ID引用SPS。在一些解码方法中,SPS可以被修改以添加一个字段来通过信号发送SPS中全局运动参数的存在。例如,可以向SPS添加一位字段。如果global_motion_present位为1,则可在PPS中预期到全局运动相关的参数;如果global_motion_present位为0,则PPS中可能不存在与全局运动参数相关的字段。例如,表1的PPS可以扩展到包括一个global_motion_present字段,例如,如表2所示:
Figure BDA0003426859370000092
类似地,PPS可以包括针对一帧的pps_global_motion_parameters字段,例如,如表3所示:
Figure BDA0003426859370000101
更详细地,PPS可以包括使用控制点运动矢量来表征全局运动参数的字段,例如,如表4所示:
pps_global_motion_parameters(){ 描述符
motion_model_used u(2)
mv0_x se(v)
mv1_y se(v)
if(motion_model_used==1){
mv1_x se(v)
mv1_y se(v)
}
if(motion_model_used==2){
mv2_x se(v)
mv2_y se(v)
}
}
作为进一步的非限制性示例,下面的表5可以代表示例性SPS:
Figure BDA0003426859370000111
Figure BDA0003426859370000121
Figure BDA0003426859370000131
Figure BDA0003426859370000141
Figure BDA0003426859370000151
Figure BDA0003426859370000161
Figure BDA0003426859370000171
Figure BDA0003426859370000181
Figure BDA0003426859370000191
如上所述,可以对SPS表进行扩展,以包含如表6所示的全局运动呈现指示符:
Figure BDA0003426859370000192
附加字段可并入SPS中,以反映本公开中所述的进一步指示符。
在一个实施例中,仍然参考图2,PPS和/或SPS中的sps_affine_enabled_flag可以指定基于仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_enabled_flag等于0,则可以约束语法,使得在稍后编码的视频序列(CLVS)中不使用基于仿射模型的运动补偿,并且CLVS的编码单元语法中可能不存在inter_affine_flag和cu_affine_type_flag。否则(sps_affine_enabled_flag等于1),可以在CLVS中使用基于仿射模型的运动补偿。
继续参考图2,PPS和/或SPS中的sps_affine_type_flag可以指定基于六参数仿射模型的运动补偿是否可以用于帧间预测。如果sps_affine_type_flag等于0,则语法可能会受到约束,以便在CLVS中不使用基于六参数仿射模型的运动补偿,并且在CLVS中的编码单元语法中可能不存在cu_affine_type_flag。否则(sps_affine_type_flag等于1),可在CLVS中使用基于六参数仿射模型的运动补偿。当不存在时,sps_affine_type_flag的值可推断为等于0。
仍然参照图2,可以通过信号在PPS中发送平移CPMVs。可以预先定义控制点。例如,控制点MV 0可相对于图像的左上角,MV 1可相对于图像的右上角,MV 3可相对于图像的左下角。表4举例说明了根据使用的运动模型发送CPMV数据的示例方法。
在示例性实施例中,并且仍然参考图2,可在编码单元、编码树等中通过信号发送的阵列amvr_precision_idx可以指定运动矢量差的分辨率AmvrShift,作为非限制性示例,其可以以如下所示的表7中所示的那样定义。阵列索引x0、y0可以指定所考虑的编码块的左上角亮度采样点相对于图像的左上角亮度采样点的位置(x0、y0);当amvr_precision_idx[x0][y0]不存在时,可以推断它等于0。当inter_affine_flag[x0][y0]等于0,变量MvdL0[x0][y0][0]、MvdL0[x0][y0][1]、MvdL1[x0][y0][0]、MvdL1[x0][y0][1]表示对应于所考虑的块的调制矢量差值,可以通过将这些值偏移AmvrShift来修改,例如使用MvdL0[x0][y0][0]=MvdL0[x0][y0][0]<<AmvrShift;MvdL0[x0][y0][1]=MvdL0[x0][y0][1]<<AmvrShift;MvdL1[x0][y0][0]=MvdL1[x0][y0][0]<<AmvrShift;MvdL1[x0][y0][1]=MvdL1[x0][y0][1]<<AmvrShift。其中inter_affine_flag[x0][y0]等于1,变量MvdCpL0[x0][y0][0][0]、MvdCpL0[x0][y0][0][1]、MvdCpL0[x0][y0][1][0]、MvdCpL0[x0][y0][1][1]、MvdCpL0[x0][y0][2][0]和MvdCpL0[x0][y0][2][1]可以通过偏移来修改,例如如下所示:MvdCpL0[x0][y0][0][0]=MvdCpL0[x0][y0][0][0]<<AmvrShift;MvdCpL1[x0][y0][0][1]=MvdCpL1[x0][y0][0][1]<<AmvrShift;MvdCpL0[x0][y0][1][0]=MvdCpL0[x0][y0][1][0]<<AmvrShift;MvdCpL1[x0][y0][1][1]=MvdCpL1[x0][y0][1][1]<<AmvrShift;MvdCpL0[x0][y0][2][0]=MvdCpL0[x0][y0][2][0]<<AmvrShift;以及MvdCpL1[x0][y0][2][1]=MvdCpL1[x0][y0][2][1]<<AmvrShift。
Figure BDA0003426859370000201
图3是示出构建运动矢量候选列表的示例过程300的过程流程图,包括将全局运动矢量候选添加到运动矢量候选列表。在步骤305,解码器接收比特流。当前块可以包含在解码器接收的比特流中。比特流可以包括例如在使用数据压缩时作为解码器输入的比特流中发现的数据。比特流可以包括解码视频所需的信息。接收可以包括从比特流中提取和/或解析块和相关联的信令信息。在一些实施方式中,当前块可以包括编码树单元(CTU)、编码单元(CU)或预测单元(PU)。在步骤310,为当前块构建运动矢量候选列表,其中构建包括将全局运动矢量候选添加到运动矢量候选列表,例如如上所述。在步骤315,使用运动矢量候选列表重建当前块的像素数据。
图4是示出示例解码器400的系统框图,该示例解码器400能够通过至少构建运动矢量候选列表(包括向运动矢量候选列表添加全局运动矢量候选)来解码比特流428。解码器400可以包括熵解码器处理器404、逆量化和逆变换处理器408、去块滤波器412、帧缓冲器416、运动补偿处理器420和/或帧内预测处理器424。
在操作中,仍然参考图4,比特流428可以由解码器400接收并输入到熵解码器处理器404,熵解码器处理器404可将比特流的部分熵解码成量化系数。量化系数可以被提供给逆量化和逆变换处理器408,该处理器可以执行逆量化和逆变换以创建残差信号,该残差信号可以根据处理模式被添加到运动补偿处理器420或帧内预测处理器424的输出。运动补偿处理器420和帧内预测处理器424的输出可以包括基于先前解码的块的块预测。预测和残差之和可以由去块滤波器412处理,并存储在帧缓冲器416中。
图5是示出根据当前主题的一些方面对视频进行编码的示例过程500的过程流程图,该过程包括构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表,能够降低编码复杂度,同时提高压缩效率。在步骤505,视频帧可以经历初始块分割,例如,使用树结构的宏块分割方案,该方案可以包括将图像帧分割成CTU和CU。在步骤510,确定全局运动。在步骤515,块可以被编码并包括在比特流中。编码可以包括构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表,例如如上所述。作为非限制性示例,编码可以包括利用帧间预测和帧内预测模式。
图6是示出能够构建运动矢量候选列表的视频编码器600的示例性实施例的系统框图,包括将全局运动矢量候选添加到运动矢量候选列表。示例视频编码器600可以接收输入视频604,该输入视频604可以根据诸如树结构宏块分割方案(例如,四叉树加二叉树)的处理方案进行初始分割或划分。树结构宏块分割方案的示例可以包括将图像帧分割成称为编码树单元(CTU)的大块元素。在一些实施方式中,每个CTU可以进一步被一次或多次划分成多个称为编码单元(CU)的子块。这种划分的最终结果可能包括一组称为预测单元(PU)的子块。也可以使用变换单元(TU)。
仍然参考图6,示例视频编码器600可以包括帧内预测处理器608、运动估计/补偿处理器612(其也可以称为帧间预测处理器,能够构建运动矢量候选列表,包括将全局运动矢量候选添加到运动向量候选列表)、变换/量化处理器616、逆量化/逆变换处理器620、环路滤波器624、解码图片缓冲器628和/或熵编码处理器632。可以输入比特流参数到熵编码处理器632以包含在输出比特流636中。
在操作中,继续参考图6,对于输入视频604的帧的每个块,可以确定是经由图像内预测还是使用运动估计/补偿来处理块。可以将块提供给帧内预测处理器608或运动估计/补偿处理器612。如果要通过帧内预测来处理块,则帧内预测处理器608可以执行处理以输出预测器。如果要通过运动估计/补偿来处理块,则运动估计/补偿处理器612可以执行包括构建运动矢量候选列表的处理,如果适用,包括将全局运动矢量候选添加到运动矢量候选列表。
进一步参考图6,可以通过从输入视频中减去预测值来形成残差。残差可以由变换/量化处理器616接收,变换/量化处理器616可以执行变换处理(例如,离散余弦变换(DCT))以产生可以被量化的系数。量化的系数和任何相关的信令信息可以被提供给熵编码处理器632,用于熵编码并包含在输出比特流636中。熵编码处理器632可以支持与编码当前块相关的信令信息的编码。此外,量化的系数可以被提供给逆量化/逆变换处理器620,其可以再现像素,像素可以与预测器组合并由环路滤波器624处理,环路滤波器624的输出可以被存储在解码图像缓冲器628中,以供运动估计/补偿处理器612使用,运动估计/补偿处理器612能够构建运动矢量候选列表,包括向运动矢量候选列表添加全局运动矢量候选。
继续参考图6,尽管上面已经详细描述了一些变化,但是其他修改或添加也是可能的。例如,在一些实施方式中,当前块可以包括任何对称块(8×8、16×16、32×32、64×64、128×128等)以及任何非对称块(8×4、16×8等)。
在一些实施方式中,并仍然参考图6,可以实现四叉树加二叉决策树(QTBT)。在QTBT中,在编码树单元级别上,可以动态地导出QTBT的划分参数,以适应本地特性,而不需要传输任何开销。随后,在编码单元级别,联合决策树分类器结构可以消除不必要的迭代并控制错误预测的风险。在一些实施方式中,LTR帧块更新模式可以作为在QTBT的每个叶节点可用的附加选项。
在一些实施方式中,并且仍然参考图6,可以在比特流的不同层级别用信号发送附加语法元素。例如,可以通过在序列参数集(SPS)中包括编码的使能标志来为整个序列使能标志。此外,可以在编码树单元(CTU)级别对CTU标志进行编码。
应当注意,这里描述的任何一个或多个方面和实施例可以方便地使用数字电子电路、集成电路、专门设计的专用集成电路(ASICs)、现场可编程门阵列(FPGAs)、计算机硬件、固件、软件和/或它们的组合来实现,正如在根据本说明书的教导编程的一个或多个机器(例如,用作电子文档的用户计算设备的一个或多个计算设备、诸如文档服务器的一个或多个服务器设备等)中实现的,这对于计算机领域的普通技术人员将是显而易见的。这些不同的方面或特征可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序和/或软件中的实现,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。对于软件领域的普通技术人员来说显而易见的是,熟练的程序员可以基于本公开的教导容易地准备适当的软件编码。上面讨论的采用软件和/或软件模块的方面和实施方式也可以包括用于帮助实现软件和/或软件模块的机器可执行指令的适当的硬件。
这种软件可以是采用机器可读存储介质的计算机程序产品。机器可读的存储介质可以是能够存储和/或编码指令序列以供机器(例如,计算设备)执行,并使机器执行本文所描述的任何一种方法和/或实施例的任何介质。机器可读存储介质的例子包括但不限于磁盘、光盘(例如,CD、CD-R、DVD、DVD-R等)、磁光盘、只读存储器“ROM”设备、随机存取存储器“RAM”设备、磁卡、光卡、固态存储设备、EPROM、EEPROM、可编程逻辑器件(PLDs),和/或它们的任意组合。这里使用的机器可读介质旨在包括单个介质以及物理上分离的介质的集合,例如光盘的集合或者与计算机存储器结合的一个或多个硬盘驱动器。如此处所使用的,机器可读存储介质不包括信号传输的暂时形式。
这种软件还可以包括在数据载体(例如,载波)上作为数据信号承载的信息(例如,数据)。例如,机器可执行信息可以被包括作为包含在数据载体中的数据承载信号,其中该信号编码指令序列或其一部分,用于由机器(例如,计算设备)执行,以及使机器执行这里描述的方法和/或实施例中的任何一个的任何相关信息(例如,数据结构和数据)。
计算设备的示例包括但不限于电子书阅读设备、计算机工作站、终端计算机、服务器计算机、手持设备(例如,平板计算机、智能手机等)、网络设备、网络路由器、网络交换机、网桥、能够执行指令序列的任何机器(该指令序列指定该机器要采取的动作)、以及它们的任意组合。在一个示例中,计算设备可以包括和/或被包括在信息亭中。
图7示出了以计算机系统700的示例性形式的计算设备的一个实施例的图示,其中用于使控制系统执行本公开的任何一个或多个方面和/或方法的指令集可以被执行。还可以设想,可以利用多个计算设备来实现专门配置的指令集,用于使一个或多个设备执行本公开的任何一个或多个方面和/或方法。计算机系统700包括处理器704和存储器708,处理器704和存储器708经由总线712彼此通信,并且与其他组件通信。总线712可以包括几种类型的总线结构中的任何一种,包括但不限于使用各种总线体系结构中的任何一种的存储器总线、存储器控制器、外围总线、本地总线及其任何组合。
存储器708可以包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。在一个示例中,基本输入/输出系统716(BIOS),包括帮助在计算机系统700内的元件之间传输信息的基本例程,例如在启动期间,可以存储在存储器708中。存储器708还可以包括(例如,存储在一个或多个机器可读介质上)体现本公开的任何一个或多个方面和/或方法的指令(例如,软件)720。在另一示例中,存储器708可以进一步包括任意数量的程序模块,包括但不限于操作系统、一个或多个应用程序、其他程序模块、程序数据及其任意组合。
计算机系统700还可以包括存储设备724。存储设备(例如,存储设备724)的示例包括但不限于硬盘驱动器、磁盘驱动器、与光学介质结合的光盘驱动器、固态存储设备及其任意组合。存储设备724可以通过适当的接口(未示出)连接到总线712。示例接口包括但不限于SCSI、高级技术附件(ATA)、串行ATA、通用串行总线(USB)、IEEE 1394(FIREWIRE)及其任意组合。在一个示例中,存储设备724(或其一个或多个组件)可以可移除地与计算机系统700接口接合(例如,经由外部端口连接器(未示出))。特别地,存储设备724和相关联的机器可读介质728可以为计算机系统700提供机器可读指令、数据结构、程序模块,和/或其他数据的非易失性和/或易失性存储。在一个示例中,软件720可以完全或部分地驻留在机器可读介质728中。在另一个例子中,软件720可以完全或部分驻留在处理器704内。
计算机系统700还可以包括输入设备732。在一个示例中,计算机系统700的用户可以经由输入设备732向计算机系统700输入命令和/或其他信息。输入设备732的示例包括但不限于字母数字输入设备(例如,键盘)、定点设备、操纵杆、游戏手柄、音频输入设备(例如,麦克风、语音响应系统等)、光标控制设备(例如,鼠标)、触摸板、光学扫描仪、视频捕获设备(例如,静态照相机、视频照相机)、触摸屏,以及它们的任意组合。输入设备732可以通过多种接口(未示出)中的任一种连接到总线712,包括但不限于串行接口、并行接口、游戏端口、USB接口、FIREWIRE接口、到总线712的直接接口,以及它们的任意组合。输入设备732可以包括触摸屏接口,该触摸屏接口可以是显示器736的一部分或者与显示器736分离,这将在下面进一步讨论。输入设备732可以用作用户选择设备,用于在如上所述的图形界面中选择一个或多个图形表示。
用户还可以通过存储设备724(例如,可移动磁盘驱动器、闪存驱动器等)和/或网络接口设备740向计算机系统700输入命令和/或其他信息。诸如网络接口设备740之类的网络接口设备可以用于将计算机系统700连接到诸如网络744之类的各种网络中的一个或多个,以及连接到其上的一个或多个远程设备748。网络接口设备的示例包括但不限于网络接口卡(例如,移动网络接口卡、局域网卡)、调制解调器及其任意组合。网络的示例包括但不限于广域网(例如,互联网、企业网络)、局域网(例如,与办公室、建筑物、校园或其他相对较小的地理空间相关联的网络)、电话网络、与电话/语音提供商相关联的数据网络(例如,移动通信提供商数据和/或语音网络)、两个计算设备之间的直接连接以及它们的任意组合。诸如网络744的网络可以采用有线和/或无线通信模式。通常,可以使用任何网络拓扑。信息(例如,数据、软件720等)可经由网络接口设备740传输到计算机系统700和/或从计算机系统700通信传输。
计算机系统700还可以包括视频显示适配器752,用于将可显示的图像传送到显示设备,例如显示设备736。显示设备的例子包括但不限于液晶显示器(LCD)、阴极射线管(CRT)、等离子显示器、发光二极管显示器(LED)及其任意组合。显示适配器752和显示设备736可以与处理器704结合使用,以提供本公开各方面的图形表示。除了显示设备之外,计算机系统700可以包括一个或多个其他外围输出设备,包括但不限于音频扬声器、打印机及其任意组合。这种外围输出设备可以通过外围接口756连接到总线712。外围接口的示例包括但不限于串行端口、USB连接、FIREWIRE连接、并行连接及其任意组合。
前面已经详细描述了本发明的说明性实施例。在不脱离本发明的精神和范围的情况下,可以进行各种修改和添加。为了在相关的新实施例中提供多种特征组合,上述各个实施例的特征可以适当地与其他描述的实施例的特征组合。此外,虽然前面描述了许多单独的实施例,但是这里所描述的仅仅是本发明原理的应用的说明。此外,尽管这里的特定方法可以被示出和/或描述为以特定顺序执行,但是在普通技术领域内,该顺序是高度可变的,以实现这里公开的实施例。因此,该描述仅意味着作为示例,而不是限制本发明的范围。
在上面的描述和权利要求中,诸如“至少一个”或“一个或多个”的短语可以出现在元素或特征的连接列表之后。术语“和/或”也可以出现在两个或多个元素或特征的列表中。除非与其所使用的上下文另有隐含或明确矛盾,否则这样的短语旨在表示单独列出的任何元件或特征或任何所述列举的元件或特征与任何其他列举的元件或特征的组合。例如,短语“A和B中的至少一个”、“A和B中的一个或多个”、以及“A和/或B”各自意在表示“单独的A,单独的B,或者一起的A和B。”类似的解释也适用于包含三个或更多项目的列表。例如,短语“A、B和C中的至少一个”、“A、B和C中的一个或多个”、和“A、B和/或C”各自意在表示“单独的A,单独的B,单独的C,一起的A和B,一起的A和C,一起的B和C,或者一起的A和B和C”。此外,以上和权利要求中使用的术语“基于”意在表示“至少部分基于”,使得未引用的特征或元素也是允许的。
根据期望的配置,这里描述的主题可以体现在系统、装置、方法和/或物品中。前述描述中阐述的实施方式不代表与本文描述的主题一致的所有实施方式。相反,它们仅仅是与所描述的主题相关的方面一致的一些示例。尽管上面已经详细描述了一些变化,但是其他修改或添加也是可能的。特别地,除了在此阐述的特征和/或变化之外,还可以提供进一步的特征和/或变化。例如,上述实施方式可以针对所公开特征的各种组合和子组合和/或以上公开的几个进一步特征的组合和子组合。此外,附图中描绘的和/或本文描述的逻辑流程不一定需要所示的特定顺序或顺序来实现期望的结果。其他实施方式可以在以下权利要求的范围内。

Claims (26)

1.一种解码器,所述解码器包括电路,所述电路被配置为:
接收比特流;
为当前块构建运动矢量候选列表,包括将全局运动矢量候选添加到所述运动矢量候选列表;和
重建当前块的像素数据并使用所述运动矢量候选列表。
2.根据权利要求1所述的解码器,所述解码器被配置为将单个全局运动矢量候选添加到所述运动矢量候选列表。
3.根据权利要求1所述的解码器,所述解码器被配置为将两个全局运动矢量候选添加到所述运动矢量候选列表。
4.根据权利要求1所述的解码器,所述解码器被配置为将三个全局运动矢量候选添加到所述运动矢量候选列表。
5.根据权利要求1所述的解码器,其中,所述全局运动矢量候选包括控制点运动矢量。
6.根据权利要求5所述的解码器,其中,所述控制点运动矢量是平移运动矢量。
7.根据权利要求5所述的解码器,其中,所述控制点运动矢量是四参数仿射运动模型的矢量。
8.根据权利要求5所述的解码器,其中,所述控制点运动矢量是六参数仿射运动模型的矢量。
9.根据权利要求1所述的解码器,还包括:
熵解码器处理器,所述熵解码器处理器被配置为接收所述比特流并将所述比特流解码成量化系数;
逆量化和逆变换处理器,所述逆量化和逆变换处理器被配置为处理所述量化系数,包括执行逆离散余弦变换;
去块滤波器;
帧缓冲器;和
帧内预测处理器。
10.根据权利要求1所述的解码器,其中,所述当前块形成四叉树加二叉决策树的一部分。
11.根据权利要求1所述的解码器,其中,所述当前块是编码树单元。
12.根据权利要求1所述的解码器,其中,所述当前块是编码单元。
13.根据权利要求1所述的解码器,其中所述当前块是预测单元。
14.一种方法,包括:
由解码器接收比特流;
为当前块构建运动矢量候选列表,包括将全局运动矢量候选添加到运动矢量候选列表;和
重建当前块的像素数据并使用运动矢量候选列表。
15.根据权利要求14所述的方法,所述解码器被配置为将单个全局运动矢量候选添加到所述运动矢量候选列表。
16.根据权利要求14所述的方法,所述解码器被配置为将两个全局运动矢量候选添加到所述运动矢量候选列表。
17.根据权利要求14所述的方法,所述解码器被配置为将三个全局运动矢量候选添加到所述运动矢量候选列表。
18.根据权利要求14所述的方法,其中,所述全局运动矢量候选包括控制点运动矢量。
19.根据权利要求18所述的方法,其中,所述控制点运动矢量是平移运动矢量。
20.根据权利要求18所述的方法,其中,所述控制点运动矢量是四参数仿射运动模型的矢量。
21.根据权利要求18所述的方法,其中,所述控制点运动矢量是六参数仿射运动模型的矢量。
22.根据权利要求14所述的方法,所述解码器还包括:
熵解码器处理器,所述熵解码器处理器被配置为接收所述比特流并将所述比特流解码成量化系数;
逆量化和逆变换处理器,所述逆量化和逆变换处理器被配置为处理量化系数,包括执行逆离散余弦变换;
去块滤波器;
帧缓冲器;和
帧内预测处理器。
23.根据权利要求11所述的方法,其中,所述当前块形成四叉树加二叉决策树的一部分。
24.根据权利要求11所述的方法,其中,所述当前块是编码树单元。
25.根据权利要求11所述的方法,其中,所述当前块是编码单元。
26.根据权利要求11所述的方法,其中,所述当前块是预测单元。
CN202080045936.XA 2019-04-25 2020-04-24 具有全局运动的帧中的候选 Pending CN114009042A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962838587P 2019-04-25 2019-04-25
US62/838,587 2019-04-25
PCT/US2020/029922 WO2020219952A1 (en) 2019-04-25 2020-04-24 Candidates in frames with global motion

Publications (1)

Publication Number Publication Date
CN114009042A true CN114009042A (zh) 2022-02-01

Family

ID=72941388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080045936.XA Pending CN114009042A (zh) 2019-04-25 2020-04-24 具有全局运动的帧中的候选

Country Status (9)

Country Link
US (3) US11284100B2 (zh)
EP (1) EP3959887A4 (zh)
JP (2) JP7323220B2 (zh)
KR (1) KR20220002996A (zh)
CN (1) CN114009042A (zh)
BR (1) BR112021021344A2 (zh)
MX (1) MX2021013067A (zh)
SG (1) SG11202111736SA (zh)
WO (1) WO2020219952A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7403246B2 (ja) * 2019-06-21 2023-12-22 キヤノン株式会社 画像復号装置、画像復号方法
GB201913403D0 (en) * 2019-09-17 2019-10-30 Canon Kk Method and apparatus for encoding and decoding a video stream with subpictures
US11659197B2 (en) * 2020-04-07 2023-05-23 Qualcomm Incorporated Signaling number of subblock merge candidates in video coding

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070879A1 (en) * 1999-05-13 2000-11-23 Stmicroelectronics Asia Pacific Pte Ltd. Adaptive motion estimator
US20070025444A1 (en) * 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
JP2007036888A (ja) * 2005-07-28 2007-02-08 Sanyo Electric Co Ltd 符号化方法
JP2010011075A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 動画像符号化及び動画像復号化の方法及び装置
US8520736B2 (en) * 2009-04-14 2013-08-27 Fastvdo, Llc Real-time superresolution and video transmission
US20120082228A1 (en) * 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US8675080B2 (en) * 2010-12-30 2014-03-18 Stmicroelectronics, Inc. Motion estimation in imaging systems
ES2832573T3 (es) * 2012-01-19 2021-06-10 Electronics & Telecommunications Res Inst Método para codificación/decodificación de imágenes
KR20150020175A (ko) * 2012-04-24 2015-02-25 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9860555B2 (en) * 2012-05-22 2018-01-02 Lg Electronics Inc. Method and apparatus for processing video signal
WO2014010918A1 (ko) * 2012-07-10 2014-01-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US20150181232A1 (en) 2012-07-18 2015-06-25 Sony Corporation Image processing device and method
EP3687173A1 (en) * 2012-09-03 2020-07-29 Sony Corporation Image processing device and method with inter-layer motion vector compression
US9811732B2 (en) * 2015-03-12 2017-11-07 Qualcomm Incorporated Systems and methods for object tracking
CN106470342B (zh) * 2015-08-14 2020-01-17 展讯通信(上海)有限公司 全局运动估计方法及装置
CN116489348A (zh) * 2015-11-20 2023-07-25 韩国电子通信研究院 对图像进行编/解码的方法和装置
WO2017087751A1 (en) * 2015-11-20 2017-05-26 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
US20190028731A1 (en) * 2016-01-07 2019-01-24 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
US20190364298A1 (en) * 2016-11-22 2019-11-28 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored thereon
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction

Also Published As

Publication number Publication date
BR112021021344A2 (pt) 2022-01-18
SG11202111736SA (en) 2021-11-29
US20240022745A1 (en) 2024-01-18
US20220210455A1 (en) 2022-06-30
KR20220002996A (ko) 2022-01-07
EP3959887A1 (en) 2022-03-02
US11284100B2 (en) 2022-03-22
US11785238B2 (en) 2023-10-10
MX2021013067A (es) 2021-12-14
EP3959887A4 (en) 2022-08-10
JP2022529509A (ja) 2022-06-22
JP7323220B2 (ja) 2023-08-08
WO2020219952A1 (en) 2020-10-29
JP2023126617A (ja) 2023-09-07
US20200396474A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
JP7448975B2 (ja) インタ予測における大域的運動制約運動ベクトル
JP7428405B2 (ja) インタ予測における融合モード候補のための大域的運動
JP7466960B2 (ja) 大域的運動ベクトルの効率的なコーディング
CN114175656A (zh) 基于全局运动矢量的合并候选重新排序
JP7323220B2 (ja) 大域的運動を伴うフレームにおける候補
JP2023093765A (ja) 大域的運動を伴うフレームにおける選択的運動ベクトル予測候補
JP2023105073A (ja) 大域的運動を伴うフレームにおける適応型運動ベクトル予測候補
CN114128287A (zh) 图像标头中全局运动矢量的信号发送
JP2023105074A (ja) 運動ベクトルインタ予測のための大域的運動モデル
RU2806444C2 (ru) Эффективное кодирование векторов глобального движения
KR20210152567A (ko) 픽처 헤더 내의 글로벌 모션 벡터의 시그널링
JP2024069706A (ja) 大域的運動ベクトルの効率的なコーディング

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