CN109076236A - 用于视频译码的运动矢量预测的合并候选项 - Google Patents

用于视频译码的运动矢量预测的合并候选项 Download PDF

Info

Publication number
CN109076236A
CN109076236A CN201780028602.XA CN201780028602A CN109076236A CN 109076236 A CN109076236 A CN 109076236A CN 201780028602 A CN201780028602 A CN 201780028602A CN 109076236 A CN109076236 A CN 109076236A
Authority
CN
China
Prior art keywords
motion vector
block
vector candidates
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.)
Granted
Application number
CN201780028602.XA
Other languages
English (en)
Other versions
CN109076236B (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN202211074793.2A priority Critical patent/CN115633167A/zh
Publication of CN109076236A publication Critical patent/CN109076236A/zh
Application granted granted Critical
Publication of CN109076236B publication Critical patent/CN109076236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • 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

Landscapes

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

Abstract

一种对视频数据进行解码的方法,所述方法包括:基于来自相对于当前视频数据块的一定数目的相邻块的运动信息建构所述当前块的合并候选项的运动矢量候选项列表,其中针对所述运动矢量候选项列表考虑的所述相邻块的数目是基于所述当前块的大小,并且其中所述相邻块的数目多于5。在一些实例中,所述方法包含导出所述相邻块的运动矢量信息的直方图,以及基于所述导出的直方图建构所述运动矢量候选项列表。

Description

用于视频译码的运动矢量预测的合并候选项
本申请要求2016年5月13日申请的第62/336,449号美国临时申请的权益,所述美国临时申请的整个内容以引用的方式并入本文中。
技术领域
本公开涉及视频译码。
背景技术
数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等。数字视频装置实施视频译码技术,例如描述于以下标准中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、也被称作高效视频译码(HEVC)标准的ITU-T H.265定义的标准,以及此类标准的扩展。视频装置可以通过实施这些视频译码技术而更有效地传输、接收、编码、解码和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码来说,视频切片(例如,视频帧或视频帧的一部分)可以被分割成视频块,对于一些技术来说,视频块也可以被称作树块、译码单元(CU)和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的帧间译码(P或B)切片中的视频块可以使用关于同一图片中的相邻块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可以被称作帧,且参考图片可以被称作参考帧。
空间或时间预测产生用于待译码块的预测块。残余数据表示待译码原始块与预测块之间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动矢量以及指示经译码块与预测块之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式和残余数据来编码。为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余变换系数,可以接着量化所述残余变换系数。可以扫描最初布置成二维阵列的经量化变换系数,以便产生变换系数的一维矢量,且可以应用熵译码以实现甚至更多压缩。
发明内容
大体来说,本公开描述与视频数据块的运动信息的译码(例如,编码或解码)相关的技术。在本公开的各种实例中,可以使用来自多个相邻块的运动信息建构运动矢量候选项列表(也被称作合并候选项列表,或简单地,候选项列表)。可以导出且接着使用运动信息的直方图来确定运动矢量候选项列表的空间合并候选项的顺序和/或位置。
在一个实例中,本公开描述一种对视频数据进行解码的方法,所述方法包括:接收以合并模式编码的当前视频数据块;基于来自相对于当前视频数据块的一定数目的相邻块的运动信息建构当前块的合并候选项的运动矢量候选项列表,其中针对运动矢量候选项列表考虑的相邻块的数目是基于当前块的大小,并且其中相邻块的数目多于5;从运动矢量候选项列表确定当前运动矢量;以及使用当前运动矢量对当前视频数据块进行解码。
在另一实例中,本公开描述一种经配置以对视频数据进行解码的设备,所述设备包括经配置以存储当前视频数据块的存储器以及一或多个处理器,所述一或多个处理器经配置以:接收以合并模式编码的当前视频数据块;基于来自相对于当前视频数据块的一定数目的相邻块的运动信息建构当前块的合并候选项的运动矢量候选项列表,其中针对运动矢量候选项列表考虑的相邻块的数目是基于当前块的大小,并且其中相邻块的数目多于5;从运动矢量候选项列表确定当前运动矢量;以及使用当前运动矢量对当前视频数据块进行解码。
在另一实例中,本公开描述一种存储指令的计算机可读存储媒体,所述指令当执行时使经配置以对视频数据进行解码的一或多个处理器:接收以合并模式编码的当前视频数据块;基于来自相对于当前视频数据块的一定数目的相邻块的运动信息建构当前块的合并候选项的运动矢量候选项列表,其中针对运动矢量候选项列表考虑的相邻块的数目是基于当前块的大小,并且其中相邻块的数目多于5;从运动矢量候选项列表确定当前运动矢量;以及使用当前运动矢量对当前视频数据块进行解码。
在另一实例中,本公开描述一种经配置以对视频数据进行编码的设备,所述设备包括经配置以存储当前视频数据块的存储器以及一或多个处理器,所述一或多个处理器经配置以接收当前视频数据块;基于来自相对于当前视频数据块的一定数目的相邻块的运动信息建构当前块的合并候选项的运动矢量候选项列表,其中针对运动矢量候选项列表考虑的相邻块的数目是基于当前块的大小,并且其中相邻块的数目多于5;从运动矢量候选项列表确定当前运动矢量;以及使用当前运动矢量对当前视频数据块进行解码。
在附图和以下描述中阐明一或多个实例的细节。其它特征、目标和优势将从所述描述和图式以及从权利要求书而显而易见。
附图说明
图1是示出可经配置以执行本公开的技术的实例视频编码和解码***的框图。
图2是示出可经配置以执行本公开的技术的视频编码器的实例的框图。
图3是示出可经配置以执行本公开的技术的视频解码器的实例的框图。
图4示出高效视频译码(HEVC)中的译码单元(CU)结构的概念图。
图5是示出用于帧间预测模式的实例分割类型的概念图。
图6A是示出使用四叉树-二叉树(QTBT)结构进行块分割的实例的概念图。
图6B是示出对应于图6A的使用QTBT结构进行块分割的实例树结构的概念图。
图7是示出HEVC中的空间相邻候选项的概念图。
图8是示出HEVC中的时间运动矢量预测(TMVP)的概念图。
图9是示出用于3D-HEVC的实例预测结构的概念图。
图10是示出3D-HEVC中的基于子PU的视图间运动预测的概念图。
图11是示出来自参考图片的子PU运动预测的概念图。
图12是示出ATMVP中的相关图片的概念图。
图13是示出根据本公开的技术的实例方法的流程图。
图14是示出PU和相邻块的一个实例的概念图。
图15是示出PU和相邻块的另一实例的概念图。
图16是示出PU和相邻块的另一实例的概念图。
图17是示出PU和相邻块的另一实例的概念图。
图18是示出本公开的实例编码方法的流程图
图19是示出本公开的实例解码方法的流程图。
具体实施方式
本公开描述提高基于合并的运动矢量预测的效率的技术。本公开描述用于确定用于运动矢量预测的合并候选项的技术。本公开的实例技术可以包含合并候选项的自适应排序和精简。本公开的实例自适应排序技术可以包含空间子预测单元(PU)和经组合运动矢量(combi-mv)候选项的自适应排序。在一些实例中,所提出的本公开的自适应精简技术可以应用于所有合并候选项,包含时间运动矢量预测(TMVP)候选项、零运动矢量(zero-mv)候选项以及上述候选项。
本公开的技术可以提供以下优势中的一或多者:(1)更高效率;(2)简单性(例如,较低解码器实施复杂性),以及(3)灵活性。本文中所描述的技术可以通过向值更接近(或值可能更接近)实际运动矢量的合并候选项分配更高优先级来提供更高的位节省。另外,视频编码器和视频解码器的复杂性以及存储器要求相对更小。最后,所提出的技术可以应用于各种编解码器,例如基于H.266和四叉树加二叉树(QTBT)的视频编解码器。另外,所提出的技术提供了灵活性,这是因为本文中所描述的技术可以独立使用或一起使用,因此可以任何方式组合技术。
图1是示出可经配置以执行针对运动矢量预测的本公开的技术的实例视频编码和解码***10的框图。如图1所示,***10包含源装置12,所述源装置提供将在稍后由目的地装置14解码的经编码视频数据。具体地,源装置12经由计算机可读媒体16将视频数据提供给目的地装置14。源装置12和目的地装置14可以包括各种装置中的任何一种,包含台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话之类的电话手机、所谓的“智能”垫、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。
目的地装置14可以经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可以包括能够将经编码视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一个实例中,计算机可读媒体16可以包括通信媒体以使源装置12能够实时地将经编码视频数据直接传输到目的地装置14。经编码视频数据可以根据通信标准(例如,无线通信协议)来调制,且被传输到目的地装置14。通信媒体可以包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可以包含路由器、交换机、基站或可以用于促进从源装置12到目的地装置14的通信的任何其它设备。
在一些实例中,可以将经编码数据从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可以包含各种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它适合的数字存储媒体。在其它实例中,存储装置可以对应于文件服务器或可存储由源装置12生成的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取存储的视频数据。文件服务器可以是能够存储经编码视频数据且将经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含Web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置和本地磁盘驱动器。目的地装置14可以通过包含因特网连接的任何标准数据连接来存取经编码视频数据。这可以包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的传输可以是流式传输、下载传输或其组合。
本公开的技术未必限于无线应用或设置。所述技术可以应用于支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视传输、***传输、因特网流视频传输(例如,HTTP动态自适应流式传输(DASH))、被编码到数据存储媒体上的数字视频,存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,***10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频重放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本公开,源装置12的视频编码器20可经配置以将本公开的技术应用于运动矢量预测。在其它实例中,源装置和目的地装置可以包含其它组件或布置。例如,源装置12可以从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成的显示装置。
图1所示的***10仅仅是一个实例。本公开针对运动矢量预测的技术可以通过任何数字视频编码和/或解码装置执行。尽管本公开的技术通常由视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本公开的技术还可由视频预处理器执行。源装置12和目的地装置14仅为此类译码装置的实例,其中源装置12生成经译码视频数据以用于传输到目的地装置14。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一者包含视频编码和解码组件。因此,***10可以支持视频装置12、14之间的单向或双向视频传输,以(例如)用于视频流式传输、视频重放、视频广播或视频电话。
源装置12的视频源18可以包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可以生成基于计算机图形的数据作为源视频,或直播视频、存档视频与计算机生成的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12和目的地装置14可以形成所谓的摄像机电话或视频电话。然而,如上文所提及,本公开中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,俘获、预先俘获或计算机生成的视频可以由视频编码器20编码。经编码视频信息可接着由输出接口22输出到计算机可读媒体16上。
计算机可读媒体16可以包含瞬时媒体,例如无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可以从源装置12接收经编码视频数据,并且例如通过网络传输将经编码视频数据提供给目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可以从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可以包含由视频编码器20定义的语法信息,所述语法信息还由视频解码器30使用,包含描述块和其它经译码单元(例如,GOP)的特性和/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可以包括多种显示装置中的任一个,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可以根据视频译码标准来操作,例如,高效视频译码(HEVC)标准、HEVC标准的扩展或后续标准,例如ITU-T H.266。替代或另外地,视频编码器20和视频解码器30还可以根据其它专有或业界标准(例如ITU-T H.264标准,替代地被称作MPEG-4第10部分,高级视频译码(AVC))或此类标准的扩展来操作。然而,本公开的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。虽然图1中未示出,但在一些方面中,视频编码器20和视频解码器30可以各自与音频编码器和解码器集成,且可以包含适当多路复用器-多路分用器单元或其它硬件和软件以处理共同数据流或单独数据流中的音频和视频两者的编码。如果适用,多路复用器-多路分用器单元可以符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器或解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一或多个处理器以硬件执行所述指令以执行本公开的技术。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。
如将在下文更详细地阐释,视频编码器20和视频解码器30可经配置以接收当前视频数据块;基于来自相对于当前视频数据块的一定数目的相邻块的运动信息建构当前块的合并候选项的运动矢量候选项列表,其中针对运动矢量候选项列表考虑的相邻块的数目是基于当前块的大小,并且其中相邻块的数目多于5;从运动矢量候选项列表确定当前运动矢量;以及使用当前运动矢量对当前视频数据块进行译码(例如,进行编码或进行解码)。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual和ITU-T H.264(又被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。MVC的一个联合草案描述于2010年3月的“用于通用视听服务的高级视频译码(Advanced videocoding for generic audiovisual services)”(ITU-T建议H.264)中。
另外,存在一种最新开发的视频译码标准,即HEVC,其由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。HEVC的最新草案可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip获得。HEVC标准也在建议ITU-T H.265和国际标准ISO/IEC23008-2中联合呈现,两者的标题都是“高效视频译码(高效视频译码)”,并且都发布于2014年10月。
JCT-VC开发了HEVC标准。HEVC标准化工作是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM假设视频译码装置根据例如ITU-T H.264/AVC相对于现有裝置的几个另外的能力。例如,虽然H.264提供了九种帧内预测编码模式,但是HEVC HM可提供多达三十三种帧内预测编码模式。虽然本公开出于解释的目的可能使用一些HEVC术语,但是本公开的技术不限于HEVC,并且实际上明确地预期本公开的技术可以在HEVC的后继标准中实现。
一般来说,HM的工作模型描述了视频帧或图片可以被分成包含亮度和色度样本两者的树块序列或最大译码单元(LCU)。位流内的语法数据可以定义LCU(就像素数目来说,其为最大译码单位)的大小。切片包含按译码顺序的若干连续树块。视频帧或图片可以被分割成一或多个切片。每一树块可以根据四叉树***成译码单元(CU)。一般来说,四叉树数据结构包含每一CU一个节点,其中根节点对应于树块。如果CU***成四个子CU,那么对应于CU的节点包含四个叶节点,其中叶节点中的每一者对应于所述子CU中的一者。
四叉树数据结构的每一节点可提供对应的CU的语法数据。例如,四叉树中的节点可以包含***标志,从而指示对应于节点的CU是否***成子CU。CU的语法元素可以递归地定义,且可以取决于所述CU是否分成若干子CU。如果CU未进一步***,那么将其称作叶CU。在本公开中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确***时也是如此。例如,如果16×16大小的CU不进一步***,那么尽管16×16CU从未***,四个8×8子CU也将被称作叶CU。
CU具有与H.264标准的宏块类似的目的,除了CU不具有大小区别之外。例如,树块可***成四个子节点(还被称作子CU),并且每一子节点又可为父节点并且可***成另外四个子节点。最后未***的子节点(被称作四叉树的叶节点)包括译码节点,也被称作叶CU。与经译码位流相关联的语法数据可以定义树块可被***的最大次数,被称作最大CU深度,且还可以定义译码节点的最小大小。因此,位流还可以定义最小译码单元(SCU)。本公开使用术语“块”来指代HEVC的上下文中的CU、PU或TU中的任一者,或其它标准的上下文中的类似数据结构(例如,H.264/AVC中的宏块和子块)。
CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小范围可从8×8像素到具有最大64×64像素或更大的树块的大小。每一CU可含有一或多个PU和一或多个TU。例如,与CU相关联的语法数据可以描述将CU分割成一或多个PU。分割模式可在CU被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有所不同。PU可被分割成非正方形形状。例如,与CU相关联的语法数据还可以描述根据四叉树将CU分割成一或多个TU。TU的形状可为正方形或非正方形(例如,矩形)。
HEVC标准允许根据TU进行变换,TU可针对不同CU而有所不同。TU通常是基于针对经分割LCU定义的给定CU内的PU的大小而定大小,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU的残余样本可以使用被称为“残余四叉树”(RQT)的四叉树结构来细分成较小单元。RQT的叶节点可被称作变换单元(TU)。可变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
叶CU可以包含一或多个预测单元(PU)。一般来说,PU表示对应于相应CU的全部或一部分的空间区域,并且可以包含用于检索PU的参考样本的数据。此外,PU包含与预测相关的数据。例如,当PU经帧内模式编码时,用于PU的数据可以包含在残余四叉树(RQT)中,残余四叉树可以包含描述与PU相对应的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可以包含定义PU的一或多个运动矢量的数据。定义PU的运动矢量的数据可以描述(例如)运动矢量的水平分量、运动矢量的竖直分量、运动矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动矢量所指向的参考图片,和/或运动矢量的参考图片列表(例如,列表0、列表1或列表C)。
具有一或多个PU的叶CU还可以包含一或多个变换单元(TU)。变换单元可以使用RQT(也被称作TU四叉树结构)来指定,如上文所论述。例如,***标志可以指示叶CU是否被***成四个变换单元。接着,每一变换单元可以进一步***成更多子TU。当TU未经进一步***时,其可被称作叶TU。通常,对于帧内译码,所有属于叶CU的叶TU共享相同的帧内预测模式。即,一般应用相同的帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可以使用帧内预测模式针对每一叶TU计算残余值,作为CU的对应于TU的部分与原始块之间的差。TU未必限于PU的大小。因而,TU可比PU大或小。对于帧内译码,PU可以与相同CU的对应叶TU并置。在一些实例中,叶TU的最大大小可以对应于相应叶CU的大小。
此外,叶CU的TU还可与相应的四叉树数据结构(被称作残余四叉树(RQT))相关联。即,叶CU可以包含指示叶CU如何被分割成TU的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。RQT的未***的TU被称作叶TU。一般来说,本公开分别使用术语CU和TU指代叶CU和叶TU,除非另有指出。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)大体上包括一系列的一或多个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头,或描述GOP中包含的多个图片的其它地方中的语法数据。图片的每一切片可以包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且可以根据指定译码标准而有不同大小。
作为实例,HM支持各种PU大小的预测。假设特定CU的大小是2N×2N,那么HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM还支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小中的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是将另一方向分割成25%和75%。CU的对应于25%分割区的部分通过“n”后接续“上(U)”、“下(D)”、“左(L)”或“右(R)”的指示来指示。因此,例如,“2N×nU”是指水平地分割的2N×2N CU,其中顶部为2N×0.5N PU,且底部为2N×1.5N PU。
在本公开中,“N×N”与“N乘N”可互换使用来指代视频块在竖直和水平尺寸方面的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块将在竖直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,N×N块总体上在竖直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行和列布置。此外,块未必需要在水平方向与竖直方向上具有相同数目的像素。例如,块可以包括N×M个像素,其中M未必等于N。
在使用CU的PU进行帧内预测或帧间预测译码之后,视频编码器20可以计算CU的TU的残余数据。PU可以包括描述在空间域(也被称作像素域)中生成预测像素数据的方法或模式的语法数据,且TU可以包括在对残余视频数据应用变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似变换)之后变换域中的系数。残余数据可以对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且随后变换TU以产生用于CU的变换系数。
在任何用以产生变换系数的变换之后,视频编码器20可以执行变换系数的量化。量化总体上是指对变换系数进行量化以可能减少用于表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可以减小与系数中的一些或全部相关联的位深度。例如,可以在量化期间将n位值向下舍入到m位值,其中n大于m。
在量化之后,视频编码器可以扫描变换系数,从包含经量化变换系数的二维矩阵产生一维矢量。所述扫描可经设计以将较高能量(并且因此较低频率)的系数放置在阵列的前面,并且将较低能量(并且因此较高频率)的系数放置在阵列的后面。在一些实例中,视频编码器20可以利用预定义扫描顺序来扫描经量化变换系数以产生可被熵编码的串行化矢量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维矢量之后,视频编码器20可以对一维矢量进行熵编码,例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或其它另一熵编码方法。视频编码器还20还可以对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。
为了执行CABAC,视频编码器20可以向待传输的符号指派上下文模型内的上下文。例如,所述上下文可以与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可以选择用于待传输的符号的可变长度码。VLC中的码字可经建构使得相对较短码对应于更有可能符号,而较长码对应于不太可能符号。以此方式,使用VLC可较之于例如对待传输的每一符号使用等长码字而实现位节省。概率判定可以基于指派给符号的上下文。
图2是示出可经配置以执行针对如将在下文更详细地阐释的运动矢量预测的本公开技术的视频编码器20的实例的框图。视频编码器20可以执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减小或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一种。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的译码模式中的任一个。
如图2所示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包含视频数据存储器41、模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54以及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46以及分割单元48。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60以及求和器62。还可以包含解块滤波器(图2中未示出)以对块边界进行滤波以从经重构视频去除成块效应假象。在需要时,解块滤波器通常将对求和器62的输出进行滤波。除了解块滤波器外,还可以使用额外滤波器(回路中或回路后)。为简洁起见未图示这些滤波器,但是必要时,这些滤波器可对求和器50的输出进行滤波(作为环路内滤波器)。
视频数据存储器41可经配置以存储待由视频编码器20的组件编码的视频数据。可以例如从视频源18获得视频数据存储器41中存储的视频数据。参考图片存储器64(有时称为经解码图片缓冲器)可以是存储参考视频数据供视频编码器20用于例如以帧内或帧间译码模式对视频数据进行编码的参考图片存储器。视频数据存储器41和参考图片存储器64可以由多种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器41和参考图片存储器64可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器41可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划分成多个视频块。运动估计单元42和运动补偿单元44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测译码以提供时间预测。帧内预测单元46可以替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收视频块的帧内预测译码以提供空间预测。视频编码器20可以执行例如多个译码遍次,以针对每一视频数据块选择适当的译码模式。
此外,分割单元48可以基于前述译码遍次中的前述分割方案的评估将视频数据块分割成子块。例如,分割单元48可以起初将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可以进一步产生指示将LCU分割成若干子CU的四叉树数据结构。四叉树的叶节点CU可以包含一或多个PU和一或多个TU。
模式选择单元40可以例如基于误差结果选择编码模式之一,帧内或帧间,并且将所得经帧内译码块或经帧间译码块提供到求和器50以生成残余块数据并提供到求和器62以重构经编码块用作参考帧。模式选择单元40还将语法元素(例如,运动矢量、帧内模式指示符、分割信息和其它此类语法信息)提供给熵编码单元56。
运动估计单元42及运动补偿单元44可以高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是生成运动矢量的过程,所述过程估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测块是被发现就像素差而言与待译码块紧密匹配的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,视频编码器20可以计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。例如,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动矢量。
运动估计单元42通过比较帧间译码切片中的视频块的PU的位置与参考图片的预测块的位置来计算所述PU的运动矢量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动矢量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量来撷取或生成预测块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动矢量后,运动补偿单元44可以在参考图片列表中的一者中定位所述运动矢量指向的预测块。求和器50通过从正被译码的当前视频块的像素值减去预测块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42相对于亮度分量执行运动估计,并且运动补偿单元44对于色度分量及亮度分量两者使用基于亮度分量计算的运动矢量。模式选择单元40也可生成与视频块和视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块进行解码时使用。
包含运动估计单元42和运动补偿单元44的视频编码器20可经配置以执行上文关于图1所论述并且如将在下文更详细地描述的任何各种本公开的技术。例如,运动补偿单元44可经配置以根据本公开的技术使用AMVP或合并模式对视频数据块的运动信息进行译码。另外,包含运动估计单元42和运动补偿单元44的视频编码器20可经配置以执行下文更详细描述的本公开的运动矢量候选项列表建构技术的任何组合。在本公开的上下文中,术语运动矢量候选项列表、合并候选项列表和候选项列表可互换使用。
假设运动补偿单元44选择执行合并模式,运动补偿单元44可以形成包含合并候选项集合的候选项列表。运动补偿单元44可以基于特定的预定顺序将候选项添加到候选项列表。在本公开的其它实例中,运动补偿单元44可经配置以基于来自相邻块的运动矢量的直方图信息以动态不同的顺序将候选项添加到候选项列表。运动补偿单元44还可以添加另外的候选项并且执行候选项列表的精简,如下文更详细地论述。最终,模式选择单元40可以确定将使用哪些候选项来对当前块的运动信息进行编码,并且对表示所选候选项的合并索引进行编码。
作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。具体地,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可以例如在分开的编码遍次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元46(或在一些实例中为模式选择单元40)可以从测试模式中选择适当帧内预测模式来使用。
例如,帧内预测单元46可以使用速率失真分析计算针对各种经测试帧内预测模式的速率失真值,且从所述所述测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据各种经编码块的失真和速率计算比率,以确定哪种帧内预测模式对于所述块展现最佳速率失真值。
在选择用于块的帧内预测模式后,帧内预测单元46可以将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可以对指示选定帧内预测模式的信息进行编码。视频编码器20可以在所传输的位流中包含配置数据,所述配置数据可以包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(还被称作码字映射表)、对各种块的上下文进行编码的定义,以及用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。
视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可以使用小波变换、整数变换、子带变换或其它类型的变换。
在任何状况下,变换处理单元52向残余块应用所述变换,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。变换处理单元52可以将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位率。量化过程可以减小与系数中的一些或全部相关联的位深度。可以通过调节量化参数来修改量化程度。在一些实例中,量化单元54可接着对包含经量化变换系数的矩阵执行扫描。替代地,熵编码单元56可以执行扫描。
在量化后,熵编码单元56对经量化变换系数进行熵译码。例如,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在熵编码单元56进行熵译码之后,可以将经编码位流传输到另一装置(例如,视频解码器30)或存档用于稍后传输或获取。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块,例如以供稍后用作参考块。运动补偿单元44可以通过将残余块添加到参考图片存储器64的一个帧的预测块来计算参考块。运动补偿单元44还可以将一或多个内插滤波器应用于经重构残余块来计算用于运动估计的子整数像素值。求和器62将经重构残余块添加到由运动补偿单元44产生的经运动补偿预测块,以产生经重构视频块以用于存储于参考图片存储器64中。经重构视频块可以由运动估计单元42和运动补偿单元44用作参考块以对后续视频帧中的块进行帧间译码。
以这种方式,图2的视频编码器20表示视频译码器的实例,其经配置以从相对于当前块的相邻块导出运动矢量信息的直方图,基于导出的直方图确定用于当前块的运动矢量预测的运动矢量候选项列表的合并候选项,基于导出的直方图对运动矢量候选项列表进行排序,以及使用运动矢量候选项列表执行合并矢量预测。
图3是示出可经配置以执行本公开的运动矢量预测技术的视频解码器30的实例的框图在图3的实例中,视频解码器30包含视频数据存储器71、熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82以及求和器80。在一些实例中,视频解码器30可以执行大体上与关于视频编码器20(图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可以基于从熵解码单元70接收的运动矢量生成预测数据,而帧内预测单元74可以基于从熵解码单元70接收的帧内预测模式指示符生成预测数据。
视频数据存储器71可以存储待由视频解码器30的组件解码的经编码视频数据,例如经编码视频位流。可以例如从计算机可读媒体16、例如从本地视频源(例如相机)、经由视频数据的有线或无线网络通信、或通过存取物理数据存储媒体获得存储于视频数据存储器71中的视频数据。视频数据存储器71可以形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。参考图片存储器82(也被称为经解码图片缓冲器(DPB))可以是存储参考视频数据供视频解码器30用于例如以帧内或帧间译码模式对视频数据进行解码或用于输出的参考图片存储器。视频数据存储器71和参考图片存储器82可以由各种存储器装置的任一者形成,例如DRAM、SDRAM、MRAM、RRAM或其它类型的存储器装置。视频数据存储器71和参考图片存储器82可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器71可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频块的视频块及相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵解码以生成经量化系数、运动矢量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动矢量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可以基于用信号表示的帧内预测模式和来自当前帧或图片的先前经解码块的数据而生成当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(例如,BB或P)切片时,运动补偿单元72基于从熵解码单元70接收的运动矢量和其它语法元素产生用于当前视频切片的视频块的预测块。可以从参考图片列表之一内的参考图片之一产生预测块。视频解码器30可以基于存储在参考图片存储器82中的参考图片使用默认建构技术建构参考帧列表,即列表0和列表1。
运动补偿单元72通过剖析运动矢量和其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息来产生用于正被解码的当前视频块的预测块。例如,运动补偿单元72使用所接收语法元素中的一些来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于切片的参考图片列表中的一或多个的建构信息、切片的每一经帧间编码视频块的运动矢量、切片的每一经帧间译码视频块的帧间预测状态,以及对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元72也可以基于内插滤波器执行内插。运动补偿单元72可以使用由视频编码器20在对视频块进行编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可以根据所接收语法元素来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测块。
包含运动补偿单元72的视频解码器30可经配置以执行上文关于图1所论述以及如将在下文更详细论述的本公开的各种技术中的任一者。例如,运动补偿单元72可经配置以根据本公开的技术使用AMVP或合并模式执行运动矢量预测。另外,包含运动补偿单元72的视频解码器30可经配置以执行下文更详细地描述的本公开的运动矢量候选项列表建构技术的任何组合。熵解码单元70可以对表示如何针对当前块对运动信息进行译码的一或多个语法元素进行解码。
假设语法元素指示执行合并模式,运动补偿单元72可以形成包含合并候选项集合的候选项列表。运动补偿单元72可以基于特定的预定顺序将候选项添加到候选项列表。在本公开的其它实例中,运动补偿单元72可经配置以基于来自相邻块的运动矢量的直方图信息以动态不同的顺序将候选项添加到候选项列表。运动补偿单元72还可以添加另外的候选项并且执行候选项列表的精简,如下文更详细地论述。最终,模式选择单元72可以对表示使用哪些候选项对针对当前块的运动信息进行译码的合并索引进行解码。
逆量化单元76对提供于位流中且由熵解码单元70解码的经量化变换系数进行逆量化,即反量化。逆量化过程可以包含使用由视频解码器30针对视频切片中的每一视频块计算以确定应该应用的量化程度及同样的逆量化程度的量化参数QPY
逆变换单元78将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数以便产生像素域中的残余块。
在运动补偿单元72基于运动矢量和其它语法元素生成当前视频块的预测块后,视频解码器30通过对来自逆变换单元78的残余块与由运动补偿单元72生成的对应预测块求和而形成经解码视频块。求和器80表示执行此求和运算的一或多个组件。必要时,解块滤波器还可应用于对经解码块进行滤波以便去除成块效应假象。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来平滑像素转变或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,所述参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。
以这种方式,视频解码器30表示视频译码器的实例,其经配置以从相对于当前块的相邻块导出运动矢量信息的直方图,基于导出的直方图确定用于当前块的运动矢量预测的运动矢量候选项列表的合并候选项,基于导出的直方图对运动矢量候选项列表进行排序,以及使用运动矢量候选项列表执行合并矢量预测。
以下部分描述视频译码技术和标准的某些方面,尤其是关于运动矢量预测和相关技术。一开始,论述运动信息。对于使用帧间预测模式译码的每一视频数据块,可以获得运动信息集合。运动信息集合含有用于前向和后向预测方向的运动信息。此处,前向和后向预测方向是对应于当前图片或切片的参考图片列表0(RefPicList0)和参考图片列表1(RefPicList1)的两个预测方向。“前向”和“后向”这些术语未必具有几何含义。替代地,它们用于区分运动矢量所基于的参考图片列表。前向预测意味着基于参考列表0形成的预测,而后向预测意味着基于参考列表1形成的预测。在参考列表0和参考列表1都用于形成给定块的预测的情况下,其被称为双向预测。
对于给定图片或切片,如果仅使用一个参考图片列表,那么在图片或切片内部的每一块都是前向预测的。如果参考图片列表都用于给定图片或切片,那么在图片或切片内部的块可以是前向预测的、后向预测的,或双向预测的。
对于每一预测方向,运动信息还包含参考索引和运动矢量。参考索引用于识别对应的参考图片列表(例如,RefPicList0或RefPicList1)中的参考图片。运动矢量具有水平分量和竖直分量两者,其中每一分量分别指示沿着水平和竖直方向的偏移值。运动矢量指示预测器块的位置相对于当前正经译码块的位置。参考索引指示含有预测器块的图片。在一些描述中,为了简单起见,术语“运动矢量”可与运动信息互换使用,以指示所述运动矢量及其相关联的参考索引两者。
图片顺序计数(POC)广泛用于视频译码标准以识别图片的显示顺序。虽然存在一个经译码视频序列内的两个图片可具有相同POC值的情况,但是其通常不在经译码视频序列内发生。当位流中存在多个经译码视频序列时,具有相同POC值的图片可能在解码顺序方面彼此更接近。图片的POC值通常用于参考图片列表建构、参考图片集的导出,就像HEVC和运动矢量按比例缩放中一样。
下一节描述高级视频译码(AVC)(H.264)中的宏块(MB)结构。在H.264/AVC中,每一帧间宏块(MB)(例如使用帧间预测译码的MB)可以通过四种不同的方式分割:
·一个16×16MB分区
·两个16×8MB分区
·两个8×16MB分区
·四个8×8MB分区
一个MB中的不同MB分区可以具有用于每一预测方向的不同参考索引值(RefPicList0或RefPicList1)。当MB未被分割成四个8×8MB分区时,MB在每一预测方向上对于每一MB分区仅具有一个运动矢量。
当MB被分割成四个8×8MB分区时,每一8×8MB分区可以进一步被分割成子块,所述子块中的每一者可以在每一预测方向上具有不同运动矢量。将8×8MB分区划分成子块有四种不同的方法:
·一个8×8子块
·两个8×4子块
·两个4×8子块
·四个4×4子块
每一子块可以在每一预测方向上具有不同运动矢量。因此,在等于或高于所述子块的层级存在运动矢量。
AVC中的时间直接模式将不再描述。在AVC中,可以在MB层级或MB分区层级启用时间直接模式以用于B切片中的跳过或直接模式。对于每一MB分区,使用与当前块的RefPicList1[0]中的当前MB分区位于同一位置的块的运动矢量来导出运动矢量。位于同一位置块中的每一运动矢量是基于POC距离按比例缩放的。在AVC中,直接模式还可以从空间相邻项预测运动信息。
现将描述HEVC中的译码单元(CU)结构。在HEVC中,切片中的最大译码单元被称为译码树块(CTB)或译码树单元(CTU)。CTB含有其节点为译码单元的四叉树。CTB可以四叉树方式递归地***成CU,如W.J.Han等人的“通过译码工具的灵活单元表示和对应扩展改进视频压缩效率(Improved Video Compression Efficiency Through Flexible UnitRepresentation and Corresponding Extension of Coding Tools)”(IEEE视频技术电路和***学报,第20卷,第12期,第1709-1720页,2010年12月)中所描述,且在图4中示出。如图4所示,每一分区层级是***成四个子块的四叉树。黑色块是叶节点(即,不进一步***的块)的实例。
CTB的大小在HEVC主规范中可在16×16到64×64的范围内(尽管技术上可支持8×8CTB大小)。但是CU的大小可以与CTB相同,并且小至8×8。每一CU以一种模式(例如,帧内预测模式或帧间预测模式译码。当CU经帧间译码时,CU可以进一步被分割成2或4个预测单元(PU),或在未应用进一步分割时变为仅一个PU。当在一个CU中存在两个PU时,所述PU可以是半尺寸矩形,或大小为CU的1/43/4的两个矩形。
当CU是经帧间译码时,针对每一PU存在一个运动信息集合(例如,运动矢量、预测方向和参考图片)。另外,每一PU是以唯一帧间预测模式译码以导出所述运动信息集合。然而,应理解,即便两个PU经过唯一译码,它们在一些情况下也仍然可具有相同的运动信息。
在HEVC中,对于以帧间预测模式译码的CU存在八种分割模式,即,PART_2N×2N,PART_2N×N,PART_N×2N,PART_N×N、PART_2N×nU、PART_2N×nD、PART_nL×2N和PART_nR×2N,如图5所示。不进一步***用分割模式PART_2N×2N译码的CU。也就是说,整个CU被处理为单个PU(PU0)。以分割模式PART_2N×N译码的CU被水平对称地***成两个PU(PU0和PU1)。以分割模式PART_N×2N译码的CU被竖直对称地***成两个PU。以分割模式PART_N×N译码的CU被对称地***成四个均等大小的PU(PU0、PU1、PU2、PU3)。
以分割模式PART_2N×nU译码的CU被非对称地水平***成大小为CU的1/4的一个PU0(上部PU)和大小为CU的3/4的一个PU1(下部PU)。以分割模式PART_2N×nD译码的CU被非对称地水平***成大小为CU的3/4的一个PU0(上部PU)和大小为CU的1/4的一个PU1(下部PU)。以分割模式PART_nL×2N译码的CU被非对称地竖直***成大小为CU的1/4的一个PU0(左侧PU)和大小为CU的3/4的一个PU1(右侧PU)。以分割模式PART_nR×2N译码的CU被非对称地竖直***成大小为CU的3/4的一个PU0(左侧PU)和大小为CU的1/4的一个PU1(右侧PU)。
虽然HEVC使用四叉树分割结构,但正在针对未来视频译码标准研究其它分割结构。例如,在J.An等人的“用于下一代视频译码的块分割结构(Block partitioningstructure for next generation video coding)”,国际电信联盟(InternationalTelecommunication Union),COM16-C966,2015年9月(以下称“VCEG提案COM16-C966”)中,提出了针对HEVC之外的未来视频译码标准(例如,H.266)的四叉树-二叉树(QTBT)分割技术。模拟显示,对于某些视频序列,所提出的QTBT结构比HEVC中使用的四叉树结构更有效。
在所提出的VCEG提议COM16-C966的QTBT结构中,首先使用四叉树分割技术对CTB进行分割,其中可以迭代一个节点的四叉树***,直到所述节点达到最小所允许四叉树叶节点大小。可以通过语法元素MinQTSize的值向视频解码器指示最小所允许四叉树叶节点大小。如果四叉树叶节点大小不大于最大所允许二叉树根节点大小(例如,如语法元素MaxBTSize所指示),则可以使用二叉树分割来进一步分割四叉树叶节点。可以迭代一个节点的二叉树分割直到所述节点达到最小所允许二叉树叶节点大小(例如,如由语法元素MinBTSize指示)或最大所允许二叉树深度(例如,由语法元素MaxBTDepth指示)。VCEG提议COM16-C966使用术语“CU”来指代二叉树叶节点。在VCEG提议COM16-C966中,CU用于预测(例如,帧内预测、帧间预测等)和变换而不进行任何进一步分割。通常,根据QTBT技术,二叉树***有两种***类型:对称水平***和对称竖直***。在每种情况下,通过从中部水平地或竖直地划分块来分割节点。
在QTBT分割结构的一个实例中,CTU大小被设置为128×128(例如,128×128亮度块和两个对应的64×64色度块),MinQTSize被设置为16×16,MaxBTSize被设置为64×64,MinBTSize(用于宽度和高度两者)被设置为4,并且MaxBTDepth被设置为4。四叉树分割首先应用于CTU以生成四叉树叶节点。四叉树叶节点可以具有从16×16(即MinQTSize为16×16)到128×128(即,CTU大小)的大小。根据QTBT分割的一个实例,如果四叉树叶节点是128×128,则四叉树叶节点不能被二叉树进一步分割,因为四叉树叶节点的大小超过MaxBTSize(即,64×64)。否则,四叉树叶节点被二叉树进一步分割。因此,四叉树叶节点也是二叉树的根节点,并且二叉树深度为0。达到MaxBTDepth(例如,4)的二叉树深度意味着没有进一步的***。宽度等于MinBTSize(例如,4)的二叉树节点意味着不存在进一步的水平分割。类似地,高度等于MinBTSize的二叉树节点意味着没有进一步的竖直分割。二叉树的叶节点(CU)可在无任何进一步分割的情况下(例如,通过执行预测处理和变换处理)进行进一步处理。
图6A示出使用QTBT分割技术进行分割的块150(例如,CTB)的实例。如图6A所示,使用QTBT分割技术,通过每一块的中心对称地***每一所得块。图6B示出与图6A的块分割相对应的树结构。图6B中的实线指示四叉树***,而虚线指示二叉树***。在一个实例中,在二叉树的每一***(即,非叶)节点中,用信号表示语法元素(例如,标志)以指示执行的***的类型(例如,水平或竖直),其中0表示水平***,且1表示竖直***。对于四叉树***,不需要指示***类型,因为四叉树***总是将块水平和竖直地分成具有相同大小的4个子块。
如图6B所示,在节点170处,使用QT分割将块150***成四个块151、152、153和154,如图6A所示。块154不进一步***,因此是叶节点。在节点172处,使用BT分割将块151进一步***成两个块。如图6B所示,节点172用1标记,表示竖直***。这样,节点172处的***形成块157,并且所述块包括块155和156。块155和156通过节点174处的进一步竖直***来创建。在节点176处,使用BT分割将块152进一步***成两个块158和159。如图6B所示,节点176用1标记,表示水平***。
在节点178处,使用QT分割将块153***成4个均等大小的块。块163和166由此QT分割产生,且不再进一步***。在节点180处,首先使用竖直二叉树***来***左上方块,从而产生块160和右竖直块。接着使用水平二叉树***将右竖直块***成块161和162。在节点178处通过四叉树***产生的右下方块在节点184处使用水平二叉树***而***成块164和165。
下文更详细地描述的运动矢量候选项列表建构技术可以与任何视频块分割技术结合使用,包含H.264/AVC的MB分割结构、HEVC的四叉树分割结构或QTBT分割结构,例如针对H.266提出的QTBT结构。
现将描述HEVC中的运动预测。在HEVC标准中,存在用于PU的两个帧间预测模式,分别称为合并模式(跳过被认为是合并的特殊情况)和高级运动矢量预测(AMVP)模式。在AMVP或合并模式中,视频编码器20和视频解码器30经配置以建构多个运动矢量预测器的运动矢量(MV)候选项列表。运动矢量预测器可以是来自相邻块的运动矢量,或者是人工生成的运动矢量,其可以用于预测当前经译码的视频数据块的运动矢量。对于合并模式,视频编码器20不是对当前块本身的运动矢量进行编码,而是从运动矢量候选项列表中选择一个运动矢量以及与所述候选项相关联的参考索引,并且使用所述候选运动矢量进行帧间预测。视频编码器20可以将所选运动矢量候选项的索引(例如,合并索引)用信号通知到视频解码器30。视频解码器30可以按与视频编码器20相同的方式建构用于合并模式的运动矢量候选项列表。视频解码器30可以将用信号通知的索引用于运动矢量候选项列表中以识别所选候选项,且接着检索与候选项相关联的运动矢量和参考索引以用作当前块的运动矢量。
MV候选项列表含有用于合并模式的多达5个候选项和用于AMVP模式的两个候选项。合并候选项可以含有运动信息集合,例如对应于两个参考图片列表(列表0和列表1)的运动矢量和参考索引。如果通过合并索引来识别合并候选项,那么参考图片用于当前块的预测,并且确定相关联的运动矢量。然而,在AMVP模式下,对于从列表0或列表1中的任一者开始的每一潜在预测方向,由于AMVP候选项仅含有运动矢量,因此连同运动矢量预测器(MVP)索引一起将参考索引明确地用信号通知到MV候选项列表。在AMVP模式中,可进一步优化经预测运动矢量。在AMVP的一些实例中,视频编码器20还可以用信号通知运动矢量差(MVD)。MVD是所选MVP与当前块的实际所确定运动矢量之间的差。如可从上文看出,合并候选项对应于整个运动信息集合,而AMVP候选项仅含有用于特定预测方向的一个运动矢量以及参考索引。
图7是示出HEVC中的空间相邻候选项的概念图。虽然图7示出对于特定PU(PU0)从相邻块导出空间MV候选项,但是从块生成候选项的方法对于合并模式和AMVP模式有所不同。
在合并模式中,可以图7(a)所示的顺序导出多达四个空间MV候选项。顺序如下:左侧(0,A1)、上方(1,B1)、右上方(2,B0)、左下方(3,A0)和左上方(4,B2),如图7(a)所示。也就是说,在图7(a)中,块200包含PU0 204A和PU1 204B。当视频译码器(例如,视频编码器20和/或视频解码器30)使用合并模式对用于PU0 204A的运动信息进行译码时,视频译码器将来自空间相邻块208A、208B、208C、208D、和208E的运动信息按所述顺序添加到候选项列表。块208A、208B、208C、208D、和208E也可以分别被称为HEVC中的块A1、B1、B0、A0和B2。
在AVMP模式中,相邻块被分成两个群组:包含块0和1的左群组,以及包含块2、3和4的上群组,如图7(b)所示。这些块在图7(b)中分别标记为块210A、210B、210C、210D和210E。块202包含PU0 206A和PU1 206B,并且块210A、210B、210C、210D、和210E表示PU0 206A的空间相邻项。对于每一群组,如用信号通知的参考索引所指示的参考同一参考图片的相邻块中的潜在候选项具有选为形成所述群组的最终候选项的最高优先级。有可能所有相邻块均不含指向同一参考图片的运动矢量。因此,如果无法找到此类候选项,那么可按比例缩放第一可用候选项以形成最终候选项;因此可以补偿时间距离差。
图8是示出HEVC中的时间运动矢量预测(TMVP)的概念图。具体地,图8(a)示出包含PU0 222A和PU1 222B的实例CU 220。PU0 222A包含用于PU 222A的中心块226和PU0 122A的右下块224。图8(a)还示出可以从PU0 222A的运动信息预测运动信息的外部块228,如下文所论述。图8(b)示出包含运动信息待预测的当前块238的当前图片230。具体地,图8(b)示出当前图片230的并置图片234(包含相对于当前块238的并置块240)、当前参考图片232和并置参考图片236。使用运动矢量244预测并置块240,运动矢量244用作用于块238的运动信息的时间运动矢量预测器(TMVP)242。
如果TMVP启用并且TMVP候选项可用,则视频译码器(例如,视频编码器20和/或视频解码器30)可以将TMVP候选项(例如,TMVP候选项242)在MV候选项列表中添加到任何空间运动矢量候选项之后。TMVP候选项的运动矢量导出过程对于合并模式和AMVP模式都一样。然而,根据HEVC,合并模式中TMVP候选项的目标参考索引被设置成0。
TMVP候选项导出的主块位置是并置PU外部的右下块,如图8(a)所示为PU0 222A的块224,其用于补偿对用于生成空间相邻候选项的左上方块的偏置。然而,如果块224定位于当前CTB行的外部或运动信息对于块224不可用,则如图8(a)所示所述块被PU的中心块226取代。TMVP候选项242的运动矢量从并置图片234的并置块240导出,如切片级信息所指示。
类似于AVC中的时间直接模式,TMVP候选项的运动矢量可以经历运动矢量缩放,执行运动矢量缩放以补偿当前图片230与当前参考图片232之间、以及并置图片234与并置参考图片236之间的POC距离差。也就是说,可以基于这些POC差来缩放运动矢量244以产生TMVP候选项242。下文描述HEVC中的运动预测的其它方面。
可以在HEVC中进行运动矢量缩放。假设运动矢量的值与按呈现时间的图片的距离成比例。运动矢量将两个图片,即参考图片和包含运动矢量的图片(即包含图片)相关联。当运动矢量被用来预测另一运动矢量时,基于图片顺序计数(POC)值来计算包含图片和参考图片的距离。
对于要预测的运动矢量,其相关的包含图片和参考图片都可以是不同的。因此,计算新距离(基于POC)。并且基于这两个POC距离按比例缩放运动矢量。对于空间相邻候选项,两个运动矢量的包含图片是相同的,而参考图片是不同的。在HEVC中,运动矢量缩放适用于空间和时间相邻候选项的TMVP和AMVP两者。
还可以在HEVC中执行人工运动矢量候选项生成。如果运动矢量候选项列表未完成(例如,包括少于规定数目的候选项),则视频编码器20和/或视频解码器30可以生成人工运动矢量候选项。视频编码器20和/或视频解码器30在运动矢量候选项列表的末尾处产生并***人工运动矢量候选项,直到运动矢量候选项列表具有规定数目的候选项。
在合并模式中,可能存在两种类型的人工MV候选项:针对B切片导出的双向组合人工运动矢量候选项,以及在第一类型(即,经组合人工运动矢量候选项)没有提供足够的人工候选项来填补候选项列表的情况下仅使用AMVP的零运动矢量候选项。
对于已经在候选项列表中并且具有必要的运动信息的每一对候选项,通过组合参考列表0中的图片的第一候选项的运动矢量和参考列表1中的图片的第二候选项的运动矢量来导出双向组合运动矢量候选项。零运动矢量候选项简单地指向另一图片中的并置块(例如,零运动矢量候选项是(0,0))。
根据HEVC配置的视频译码器还可以执行候选项***的精简过程。来自不同块的运动矢量候选项可能恰好相同,这降低了合并/AMVP候选项列表的效率。即具有相同值的多个运动矢量候选项减少了要测试和选择的运动矢量的实际数目。精简过程可适用于解决这一问题。精简过程将一个运动矢量候选项与当前候选项列表中的其它运动矢量候选项进行比较,以避免在某些情况下***相同的候选项。为了降低复杂度,仅应用有限数目的精简过程,而不是将每一潜在的精简过程与所有其它现有精简过程进行比较。
图9示出3D-HEVC的实例预测结构。3D-HEVC是由JCT-3V开发的HEVC的3D视频扩展。下文关于图9和10描述与本公开的技术相关的某些技术。图9示出了用于三视图情况的多视图预测结构。V3表示基础视图,并且非基础视图(V1或V5)中的图片可从同一时间实例的从属(基础)视图中的图片中预测。在多视图HEVC(MV-HEVC)中支持视图间样本预测(来自经重构样本),其典型预测结构在图10中示出。
MV-HEVC和3D-HEVC都以HEVC(版本1)解码器可解码基础(纹理)视图的方式与HEVC兼容。在Zhang等人的“3D-HEVC和MV-HEVC的测试模型6(Test Model 6 of 3D-HEVC andMV-HEVC)”(JCT-3V文档ISO/IEC JTC1/SC29/WG11N13940,可在网站mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/test-model-6-3d-hevc-and-mv-hevc获得,2015年1月26日)中描述了用于MV-HEVC和3D-HEVC的测试模型。
在MV-HEVC中,通过将所有这些图片放在图片的参考图片列表中,可以通过同一视图中的两个图片和同一时间实例的参考视图中的图片来预测非基础视图中的当前图片。因此,当前图片的参考图片列表含有时间参考图片和视图间参考图片两者。与对应于时间参考图片的参考索引相关联的运动矢量被表示为时间运动矢量。与对应于视图间参考图片的参考索引相关联的运动矢量被表示为视差运动矢量。3D-HEVC支持MV-HEVC中的所有功能。因此,能够实现如上所述的视图间样本预测。
另外,在3D-HEVC中支持更高级的仅纹理译码工具和深度相关/依赖译码工具。仅纹理译码工具通常使用可属于同一对象的对应块(在视图之间)的识别。因此,视差矢量导出是在3D-HEVC中使用的一项技术。
图10是示出3D-HEVC中的基于子PU的视图间运动预测的概念图。图10示出当前视图(V1)的当前图片360和参考视图(V0)中的并置图片362。当前图片360包含当前PU 364,所述当前PU包含四个子PU 366A-366D(子PU 366)。各个视差矢量374A-374D(视差矢量374)将相应的子PU 368A-368D识别到并置图片362中的子PU 366。在3D-HEVC中,子PU级视图间运动预测方法用于视图间合并候选项,即,从参考视图中的参考块导出的候选项。
当启用这种模式时,当前PU 364可以对应于参考视图中的参考区域(具有与视差矢量识别的当前PU相同的大小),并且参考区域可以具有比生成PU的运动信息集合所需的更丰富的运动信息(例如,许多不同的相关运动矢量)。因此,可以使用子PU级视图间运动预测(SPIVMP)方法,如图10所示。此模式也可以作为特殊合并候选项发信号通知。子PU中的每一者含有完整的运动信息集合。因此,PU可以含有多个运动信息集合。
基于子PU的运动参数继承(MPI)也可以用在3D-HEVC中。在3D-HEVC的深度译码中,从纹理视图导出的MPI候选项也可以用类似于子PU级视图间运动预测的方式扩展。例如,如果当前深度PU具有包含多个PU的并置区域,那么当前深度PU可分离成子PU,每一子PU可以具有不同的运动信息集合。此方法被称作子PU MPI。
2014年9月25日提交的第14/497,128号美国申请中描述了用于2D视频译码的实例子PU相关技术,所述美国申请的全部内容以引用的方式并入本文中。第14/497,128号美国申请中已经提出了基于子PU的高级TMVP(ATMVP)设计。
在单层译码中,可以使用两级高级时间运动矢量预测设计。第一级用于导出识别参考图片中的当前预测单元(PU)的对应块的矢量,并且第二级用于从对应块提取多个运动信息集合并将它们分配给PU的子PU。因此,PU的每一子PU分别进行运动补偿。ATMVP的概念总结如下:(1)第一级中的矢量可以从当前PU的空间和时间相邻块导出。(2)此过程可以在所有其它合并候选项之中激活一个合并候选项来实现。适用于单层译码和子PU时间运动矢量预测,PU或CU可以具有在预测器之上传送的运动细化数据。
如下突出显示第14/497,128号美国申请的若干方面:
1.矢量导出的第一级也可通过仅零矢量来简化。
2.矢量导出的第一级可以包含联合地识别运动矢量及其相关联的图片。已经提出选择相关联的图片并且进一步决定作为第一级矢量的运动矢量的各种方式。
3.如果在以上过程期间的运动信息是不可用的,那么使用“第一级矢量”进行替代。
4.从时间相邻项中识别的运动矢量必须按比例缩放以用于当前子PU,其方式类似于TMVP中的运动矢量缩放。然而,可以使用以下方式之一来设计这种运动矢量可以缩放到的参考图片:
a.通过当前图片的固定参考索引识别图片。
b.如果在当前图片的参考图片列表中也可用,则将图片识别为对应的时间相邻项的参考图片。
c.图片被设置为在第一级中识别的并置图片并且从中获取运动矢量的位置。
为了解决第14/497,128号美国申请中的一些设计问题,2016年1月25日提交的第15/005,564号美国申请中提出了以下技术,所述美国申请的全部内容以引用的方式并入本文中。
1.ATMVP候选项的位置(如果***),例如作为合并候选项列表
a.假设空间候选项和TMVP候选项以特定顺序***到合并候选项列表中。ATMVP候选项可以***在那些候选项的任何相对固定的位置中。
i.在一个替代方案中,例如,ATMVP候选项可以在前两个空间候选项之后***合并候选项列表中,例如A1和B1;
ii.在一个替代方案中,例如,ATMVP候选项可以***前三个空间候选项之后,例如A1和B1和B0;
iii.在一个替代方案中,例如,ATMVP候选项可以***前四个候选项之后,例如A1、B1、B0和A0。
iv.在一个替代方案中,例如,ATMVP候选项可以刚好插在TMVP候选项之前。
v.在一个替代方案中,例如,ATMVP候选项可以刚好插在TMVP候选项之后。
b.替代地,ATMVP候选项在候选项列表中的位置可以在位流中用信号通知。可以另外用信号通知其它候选项的位置,包含TMVP候选项。
2.ATMVP候选项的可用性检查可通过存取运动信息的仅一个集合来应用。当信息的此集合不可用时,例如,一个块经帧内译码,整个ATMVP候选项被认为是不可用的。在这种情况下,ATMVP将不会被***到合并列表中。
a.中心位置或中心子PU可用于检查ATMVP候选项的可用性。当使用中心子PU时,中心子PU被选择为覆盖中心位置(例如,中心3位置,其到PU的左上方样本的相对坐标为(W/2,H/2),其中WxH是PU的大小)的一个。此类位置或中心子PU可与时间矢量一起使用以识别运动源图片中的相对应块。识别出来自覆盖对应块的中心位置的块的运动信息集合。
3.用于ATMVP的代表性运动信息集合对来自子PU的PU进行译码。
a.为了形成ATMVP候选项,首先形成代表性运动信息集合。
b.此类代表性运动信息集合可以从固定位置或固定子PU导出。可以用与使用运动信息集合以确定ATMVP候选项的可用性相同的方式选择此类代表性运动信息集合,如项目编号#2所描述。
c.当子PU已经识别其自身的运动信息集合并且不可用时,其被设置成等于代表性运动信息集合。
d.如果代表性运动信息集合被设置成子PU的代表性集合运动信息,则在最坏情况的情境下在解码器侧不需要用于当前CTU或切片的另外的运动存储装置。
e.当解码过程要求整个PU由运动信息集合表示时,此类代表性运动信息集合用于所有场景,包含精简,使得使用所述过程生成组合式双向预测合并候选项。
4.ATMVP候选项与TMVP候选项一起精简,并且可以考虑TMVP与ATMVP之间的交互;下面列出详细技术:
a.基于子PU的候选项(例如,ATMVP候选项)与普通候选项一起的精简可通过使用此类基于子PU的候选项的代表性运动信息集合(如项目编号#3中)来进行。如果此类运动信息集合与普通合并候选项相同,则这两个候选项被视为相同。
b.替代地,另外,执行检查以确定ATMVP是否含有多个不同的用于多个子PU的运动信息集合;如果识别至少两个不同集合,则基于子PU的候选项不用于精简,即,被视为不同于任何其它候选项;否则,其可以用于精简(例如,可以在精简过程期间精简)。
c.替代地,另外,ATMVP候选项可以与空间候选项一起精简,例如仅左侧和顶部的空间候选项,位置标示为A1和B1。
d.替代地,仅一个候选项是从时间参考中形成的,所述候选项为ATMVP候选项或TMVP候选项。当ATMVP可用时,候选项是ATMVP;否则,候选项是TMVP。一种候选项在合并候选项列表中***与TMVP的位置相似的位置中。在此情况下,候选项的最大数目可保持不变。
i.替代地,甚至当ATMVP不可用时TMVP总是停用的。
ii.替代地,仅当ATMVP不可用时使用TMVP。
e.替代地,当ATMVP可用并且TMVP不可用时,使用一个子PU的运动信息集合作为TMVP候选项。此外,在这种情况下,不应用ATMVP与TMVP之间的精简过程。
f.替代地或另外,用于ATMVP的时间矢量还可以用于TMVP,使得用于HEVC中的当前TMVP的右下位置或中心3位置不需要使用。
i.替代地,通过时间矢量以及右下和中心3位置识别的位置被共同视为提供可用TMVP候选项。
5.支持ATMVP的多个可用性检查以使ATMVP候选项更精确和高效的机会更高。当通过第一时间矢量识别的来自运动源图片的当前ATMVP候选项(例如,如图9所示)不可用时,可以将其它图片视为运动源图片。当考虑另一图片时,其可以与不同的第二时间矢量相关联,或可以简单地与从第一时间矢量按比例缩放的指向不可用ATMVP候选项的第二时间矢量相关联。
a.第二时间矢量可以识别第二运动源图片中的ATMVP候选项,并且可以应用相同可用性检查。如果如从第二运动源图片中导出的ATMVP候选项可用,那么导出ATMVP候选项并且不需要检查其它图片;否则,可以检查如同运动源图片的其它图片。
b.待检查的图片可以是在当前图片的参考图片列表中的那些,它们具有给定顺序。对于每一列表,按照参考索引的升序检查图片。首先检查列表X并且随后检查列表Y(是1-X)中的图片。
i.选择列表X使得列表X是含有用于TMVP的并置图片的列表。
ii.替代地,X被简单地设置成1或0。
c.待检查的图片是通过空间相邻项的运动矢量识别的那些,它们具有给定顺序。
6.当前ATMVP应用于的PU的分割可以是2N×2N、N×N、2N×N、N×2N,或不对称运动分割(AMP)分区,例如2N×N/2。
a.替代地,另外,如果可以允许其它分区大小,则也可以支持ATMVP,并且此类大小可以包含例如64×8。
b.替代地,所述模式可仅适用于某些分区,例如,2N×2N。
7.ATMVP候选项标记为不同类型的合并候选项。
8.当从相邻项识别矢量(作为第一级中的时间矢量)时,可以按顺序检查多个相邻位置,例如在合并候选项列表建构中使用的那些。对于相邻项中的每一者,可以按顺序检查对应于参考图片列表0(列表0)或参考图片列表1(列表1)的运动矢量。当两个运动矢量可用时,可以首先检查列表X中的运动矢量并且随后检查列表Y(其中Y等于1-X),使得列表X是含有用于TMVP的并置图片的列表。在ATMVP中,使用时间矢量作为子PU的任何中心位置的偏移添加,其中时间矢量的分量可能需要移位为整数数目。使用此类经移位中心位置以识别可以为运动矢量分配的最小单元,例如,覆盖当前中心位置的4×4大小。
a.替代地,对应于列表1的运动矢量可以在对应于列表0的那些之前被检查。
b.替代地,对应于列表1的运动矢量可以在对应于列表0的那些之前被检查。
c.替代地,按顺序检查所有空间相邻项中与列表X相对应的所有运动矢量,随后是与列表Y(其中Y等于1-X)相对应的运动矢量。这里,列表“X”可以是指示并置图片所属的位置的列表,或仅简单地设置为0或1。
d.空间相邻项的顺序可以与HEVC合并模式中使用的顺序相同。
9.当处于第一级识别时,时间矢量不包含识别参考图片的信息,如图9所示的运动源图片可以简单地设置为固定图片,例如用于TMVP的并置图片。
a.在这种情况下,可以仅从指向此类固定图片的运动矢量识别矢量。
b.在这种情况下,可仅从指向任何图片但是进一步朝向固定图片按比例缩放的运动矢量中识别矢量。
10.当处于第一级识别时,矢量由识别参考图片组成,如图9所示的运动源图片,可以对候选运动矢量应用一或多个以下另外的检查。
a.如果运动矢量与经帧内译码的图片或切片相关联,那么此类运动矢量被视为不可用并且不可用于被转换成矢量。
b.如果运动矢量识别相关联图片中的块内(通过例如用运动矢量添加当前中心坐标),则此类运动矢量被视为不可用并且不可用于被转换为矢量。
11.当处于第一级识别矢量时,矢量的分量可以设置为(当前PU的半宽度,当前PU的半高度),使得其识别运动源图片中的右下像素位置。这里(x,y)指示一个运动矢量的水平和竖直分量。
a.替代地,矢量分量可以设置为(总和(当前PU的半宽度,M),总和(当前PU的半高度,n)),其中总和函数(a,b)返回a和b的总和。在一个实例中,当运动信息存储在4×4单元中时,M和N均被设置为等于2。在另一实例中,当运动信息存储在8×8单元中时,M和N均被设置为等于4。
12.当ATMVP适用时在参数集(例如,图片参数集的序列参数集)中用信号通知子块/子PU大小。所述大小的范围从最小PU大小到CTU大小。所述大小也可是预定义的或用信号通知的。所述大小可以是例如小至4×4。替代地,子块/子PU大小可基于PU或CU的大小导出。例如,子块/子PU可以设置成等于最大(4×4,(CU的宽度)>>M)。M的所述值可以在位流中预定义或用信号通知。
13.由于ATMVP可被视为新合并候选项的事实,合并候选项的最大数目可以增加1。例如,与在精简之后占用合并候选项列表中的5个候选项的HEVC相比,合并候选项的最大数目可增加到6。
a.替代地,可以针对ATMVP执行常规的TMVP候选项的精简或与常规的TMVP候选项的统一,使得合并候选项的最大数目可保持不变。
b.替代地,当ATMVP识别为可用时从合并候选项列表排除空间相邻候选项,例如不包括提取顺序中的最后一个空间相邻候选项。
14.当考虑多个空间相邻运动矢量来导出时间矢量时,可以基于当前PU的相邻运动矢量以及通过设置成等于运动矢量的特定时间矢量识别的相邻运动矢量来计算运动矢量相似性。产生最高运动类似性的一个可被选为最终时间矢量。
a.在一个替代方案中,对于来自相邻位置N的每一运动矢量,运动矢量识别运动源图片中的块(与当前PU相同大小),其中它的相邻位置N含有运动信息集合。将此运动矢量集合与当前块的相邻位置N中的运动信息集合相比较。
b.在另一替代方案中,对于来自相邻位置N的每一运动矢量,运动矢量识别运动源图片中的块,其中其相邻位置含有多个运动信息集合。将这些多个运动矢量集合与来自相同相对位置中当前PU的相邻位置的多个运动信息集合相比较。计算运动信息类似性。例如,当前PU具有来自A1、B1、A0和B0的以下运动信息集合,标示为MIA1、MIB1、MIA0和MIB0。对于时间矢量TV,其识别与运动源图片中的PU相对应的块。此类块具有来自相同的相对A1、B1、A0和B0位置并且标示为TMIA1、TMIB1、TMIA0和TMIB0的运动信息。由TV确定的运动相似性被计算为 其中MVSim限定两个运动信息集合之间的相似性。
c.在上述两种情形中,可以使用运动相似性MVSim,其中所述两个输入参数是运动信息的两个集合,每一集合含有至多两个运动矢量和两个参考索引。由此列表X中的每一对运动矢量与不同图片的不同列表X中的参考图片、当前图片和运动源图片相关联。对于两个运动矢量MVXN和TMVXN(其中X等于0或1)中的每一者,运动矢量差MVDXN可以计算为MVXN-TMVXN。之后,差值MVSimX被计算为例如abs(〖MVDX〗_N[0])+abs(〖MVDX〗_N[1]),or(〖MVDX〗_N[0]*〖MVDX〗_N[0]+〖MVDX〗_N[1]*〖MVDX〗_N[1])。如果这两个运动信息集合含有可用运动矢量,则MVSim设置成等于MVSim0+MVSim1。
i.为了统一计算运动差值,这两个运动矢量均需要朝向同一固定图片按比例缩放,所述同一固定图片可以是例如当前图片的列表X的第一参考图片RefPicListX[0]。
ii.如果来自第一集合的列表X中的运动矢量的可用性和来自第二集合的列表X中的运动矢量的可用性不同,即,一个参考索引是-1而另一个参考索引不是-1,则这两个运动信息集合被视为在方向X上不类似。如果两个集合在设置上不类似,则最终MVSim功能可以返回大值T,所述值可以例如被视为无穷大。
iii.替代地,对于一对运动信息集合,如果一个是从列表X(X等于0或1)而不是列表Y(Y等于1-X)预测且另一个具有相同状态,则可以使用1与2之间的加权(例如,MVSim等于MVSimX*1.5)。当一个集合仅从列表X预测且另一个仅从列表Y预测时,MVSim被设置成大值T。
iv.替代地,对于运动信息的任何集合,只要有一个运动矢量是可用的,则两个运动矢量都会被生成。在仅一个运动矢量可用(与列表X相对应)的情况下,所述运动矢量经缩放以形成与另一个列表Y相对应的运动矢量。
d.替代地,可以基于当前PU的相邻像素与通过运动矢量识别的块(与当前PU相同大小)的相邻像素之间的差测量运动矢量。可以将产生最小差的运动矢量选为最终时间矢量。
15.当导出当前块的时间矢量时,来自通过ATMVP译码的相邻块的运动矢量和/或时间矢量可具有与来自其它相邻块的运动矢量相比较高的优先级。
a.在一个实例中,首先只检查相邻块的时间矢量,并且第一可用的时间矢量可以被设置为当前块的时间矢量。仅当此类时间矢量不存在时,进一步检查普通运动矢量。在这种情况下,需要存储ATMVP经译码块的时间矢量。
b.在另一实例中,首先只检查来自经ATMVP译码相邻块的运动矢量,并且第一可用的可以被设置为当前块的时间矢量。仅当此类时间矢量不存在时,进一步检查普通运动矢量。
c.在另一实例中,首先只检查来自经ATMVP译码相邻块的运动矢量,并且第一可用的可以被设置为当前块的时间矢量。如果此类运动矢量不可用,则与项目编号15a类似地继续时间矢量的检查。
d.在另一实例中,首先检查来自相邻块的时间矢量,并且第一可用的时间矢量可以被设置为当前块的时间矢量。如果此类运动矢量不可用,则与项目编号15b类似地继续时间矢量的检查。
e.在另一实例中,首先检查经ATMVP译码相邻块的时间矢量和运动矢量,并且第一可用的可以被设置为当前块的时间矢量。仅当此类时间矢量和运动矢量不存在时,进一步检查普通运动矢量。
16.当考虑多个空间相邻运动矢量来导出时间矢量时,运动矢量可经选择使得其将从像素域中计算出的失真减到最少,例如,模板匹配可用于导出时间矢量,使得产生最小匹配开销的一个被选为最终时间矢量。
17.来自对应块(在运动源图片中)的运动信息的集合的导出可以完成的方式为当运动矢量在用于任何列表X的对应块中可用时(指示运动矢量将为MVX),对于ATMVP候选项的当前子PU,运动矢量被视为可供用于列表X(通过按比例调整MVX)。如果运动矢量在用于任何列表X的对应块中不可用,那么运动矢量被视为不可用于列表X。
a.替代地,当对应块中的运动矢量不可用于列表X但是可供用于列表1-X(通过Y指示1-X并且将运动矢量指示为MVY)时,运动矢量仍然被视为可用于列表X(通过朝向列表X中的目标参考图片按比例缩放MVY)。
b.替代地或另外,当列表X和列表Y(等于1-X)的对应块中的运动矢量均可用时,不必使用来自列表X和列表Y的运动矢量来直接安比例缩放并通过缩放生成当前子PU的两个运动矢量。
i.在一个实例中,当编制ATMVP候选项时,如在TMVP中所进行的低延迟检查可应用于每一个子PU。如果对于当前切片的每一个参考图片列表中的每一个图片(由refPic指示),则refPic的图片顺序计数(POC)值小于当前切片的POC,考虑当前切片具有低延迟模式。在此低延迟模式中,按比例缩放来自列表X和列表Y的运动矢量以相应地产生列表X和列表Y的当前子PU的运动矢量。当不处于低延迟模式时,仅选择和按比例缩放来自MVX或MVY的一个运动矢量MVZ以产生当前子PU的两个运动矢量。类似于TMVP,在这种情况下,Z设置成等于collocated_from_l0_flag,意味着其取决于TMVP中的并置图片是处于的列表X还是列表Y。替代地,Z设置如下:如果识别运动源图片是来自列表X,则Z被设置成X。替代地,另外,当运动源图片属于两个参考图片列表,并且RefPicList0[idx0]是首先存在于列表0中的运动源图片且RefPicList(1)[idx1]是首先存在于列表1中的运动源图片时,Z被设置成0,如果idx0小于或等于idx1,则设置为1。
18.运动源图片可以用信号通知,例如由视频编码器20在编码码流中生成。详细地说,对于B切片来说,用信号通知指示运动源图片是来自列表0还是列表1的标志。替代地,另外,可以用信号通知当前图片的列表0或列表1的参考索引以识别运动源图片。
当识别时间矢量时,如果矢量指向相关联的运动源图片中的经帧内译码块,则所述矢量被认为是不可用的(因此可以考虑其它矢量)。
图11是示出来自参考图片的子PU运动预测的概念图。在这个实例中,当前图片380包含当前PU 384(例如,PU)。在这个实例中,运动矢量392相对于PU 384识别参考图片382的PU 386。PU 386被分割成子PU 388A-388D,每一子PU具有相应的运动矢量390A-390D。因此,尽管当前PU 384实际上未被划分为单独的子PU,但在这个实例中,可以使用来自子PU388A-388D的运动信息来预测当前PU 384。具体地,视频译码器可以使用相应运动矢量390A-390D对当前PU 384的子PU进行译码。然而,视频译码器不必对指示当前PU 384被***成子PU的语法元素进行译码。以此方式,可使用从相应子PU 388A-388D继承的多个运动矢量390A-390D来有效地预测当前PU 384,而无需用于将当前PU 384***成多个子PU的语法元素的信令开销。
图12是示出ATMVP(类似于TMVP)中的相关图片的概念图。具体地,图12示出了当前图片404、运动源图片406和参考图片400和402。更具体地,当前图片404包含当前块408。时间运动矢量412识别相对于当前块408的运动源图片406的对应块410。对应块410又包含运动矢量414,其参考参考图片402并且充当当前块408的至少一部分(例如,当前块408的子PU)的高级时间运动矢量预测器。也就是说,可以添加运动矢量414作为当前块408的候选运动矢量预测器。如果选择,则可以使用参考参考图片400的对应运动矢量(即运动矢量416)来预测当前块408的至少一部分。
用于HEVC的子PU相关技术也在2016年7月9日提交的第15/176,790号美国申请中进行了描述,其全部内容以引用的方式并入本文中。为了使用子PU运动预测来增强性能,利用相邻子PU(ATMVP_EXT)的空间-时间运动信息。在这个实例中,每一子PU的运动矢量是从三维域中的相邻块的信息导出的。这意味着相邻块可以是当前图片中的空间相邻项或先前译码图片中的时间相邻项。图13示出了空间-时间运动矢量预测器(STMVP)导出过程的流程图。除下文描述的之外,上文所描述的用于ATMVP的方法(例如,项目编号#1、#2、#3、#4、#6、#7、#12、#13)可以直接扩展到STMVP。
如图13中所示,视频编码器20和/或视频解码器30可经配置以从当前子PU的空间或时间相邻块获得可用运动场(430)。在此上下文中,运动场是被选择为空间/时间上相邻块的最佳运动矢量的集合。例如,位于当前块的左侧或上方的块已经过译码,并且在对当前子PU进行译码之前可获得最佳运动矢量。来自相邻块的可用运动信息在视频编码器20和视频解码器30中是相同的。运动信息包含一个或两个三维矢量(MVx、Mvy、时间方向):用于单向预测的一个矢量和用于双向预测的两个矢量。然后,视频编码器20和/或视频解码器30可从所获得的相邻运动场导出运动信息(432)。然后,视频编码器20和/或视频解码器30确定是否已处理所有子PU(434)。如果不是,则视频编码器20和/或视频解码器30移到下一个子PU。如果是,则视频编码器20和/或视频解码器30可以确定空间-时间子PU运动预测器的可用性(436)。如果可用,则视频编码器20和/或视频解码器30将空间-时间子PU运动预测器***合并列表中。
在以下描述中,术语“块”用于指代用于存储例如帧间或帧内预测、帧内预测模式、运动信息等预测相关信息的块单元。此类预测信息被保存并且可以用于对未来块进行译码,例如,预测未来块的预测模式信息。在AVC和HEVC中,这种块的大小是4×4。应注意,在以下描述中,我们使用“PU”来指示经帧间译码块单元和子PU以指示从相邻块导出运动信息的单元。可应用以下技术的任何组合。
在一个实例中,视频编码器20和/或视频解码器30可经配置以从相邻块获得运动信息。子PU和相邻块可以具有不同大小。考虑具有多个子PU的PU。子PU的大小通常等于或大于相邻块大小。在一个实例中,如图14所示,散列方块表示在当前PU之外的相邻块(a、b、...i),并且剩余的非散列方块(A、B、...P)表示当前PU中的子PU。如图14所示,子PU的大小和其相邻块相同。在一个实例中,子PU的大小等于4×4,但是可以使用不同大小的子PU。图15示出其中子PU大于相邻块的另一实例。在其它实例中,子PU可以采用非正方形形状,例如矩形或三角形。在一些实例中,可在切片标头中用信号通知子PU的大小。
在其它实例中,以上关于ATMPV的讨论的项目编号#12中的过程可以扩展到STMVP。例如,当ATMVP适用时在参数集(例如,图片参数集的序列参数集)中用信号通知子块/子PU大小。所述大小的范围从最小PU大小到CTU大小。所述大小也可是预定义的或用信号通知的。所述大小可以是例如小至4×4。替代地,子块/子PU大小可基于PU或CU的大小导出。例如,子块/子PU可以设置成等于最大(4×4,(CU的宽度)>>M)。M的所述值可以在位流中预定义或用信号通知。
可以在STMVP中使用子PU的不同检查顺序。在图14的实例中,假设在以下描述中将光栅扫描顺序(A、B、C、D、E...)应用于子PU以用于其运动预测推导。然而,还可以应用其它的扫描顺序,并且应注意本文中所描述的技术并不仅限于光栅扫描顺序。
在STMVP中,相邻块可以分类成两个不同的类型:空间和时间。空间相邻块是在当前图片或切片中且与当前子PU相邻的已经译码块或已经扫描的子PU。时间相邻块是在先前经译码的图片中且与当前子PU的并置块相邻的块。在一个实例中,使用所有与当前PU相关联的参考图片来获得时间相邻块。在另一实例中,使用参考图片的子集进行STMVP导出。例如,仅使用每一参考图片列表的第一个条目。
遵循此定义,参考图14,对于子PU(A),先前经译码图片中的所有相邻块(a、b、...i)及其并置块是被视为可用的空间和时间相邻块。根据光栅扫描顺序,块B、C、D、E……P在空间上不可用。但是,所有子PU(从A到P)都是PU(A)的时间上可用的相邻块,因为它们的运动信息可以在它们在先前经译码图片中的并置块中找到。将子PU(G)作为另一实例,可用的其空间相邻块包含从a、b……到i的那些,并且还包含从A到F的那些。在一些实例中,某些限制可应用于空间相邻块,例如,空间相邻块(即,从a、b……到i)将在相同LCU/切片/图块中。
视频编码器20和/或视频解码器30选择所有可用相邻块的子集以导出每一子PU的运动信息或运动场。可以预定义用于推导每一PU的子集。在其它实例中,可以将用于推导的子集用信号通知为在切片报头、图片参数集(PPS)和/或序列参数集(SPS)中的高级语法。为了最优化译码性能,对于每一子PU子集可以是不同的。实际上,为了简单起见,子集的位置的固定图案是优选的。例如,每一子PU可以使用其正上方空间相邻项、其直接左侧空间相邻项和其直接右下方时间相邻项作为子集。如图14所示,当考虑子PU(J)时,上方块(F)和左侧块(I)是在空间上可用的相邻块,并且右下块(O)是在时间上可用的相邻块。通过此子集,由于处理相关性,要连续地处理当前PU中的子PU。
为了允许并行处理当前PU中的每一子PU,可以定义和使用相邻块的不同子集。在一个实例中,子集仅包含不属于当前PU的空间相邻块,例如,块a、b、...i。在这种情况下,可以进行并行处理。在另一实例中,对于给定子PU来说,如果其空间相邻块在当前PU内,那么所述空间相邻块的并置块可放在子集中并且用于导出当前子PU的运动信息。例如,当考虑子PU(j)时,选择上方块(F)和左侧块(I)以及右下块(O)的时间并置块作为子集以导出子PU(J)的运动。在这种情况下,子PU(J)的子集含有三个时间相邻块。在另一实例中,可启用部分并行处理,其中一个PU被***成若干个区并且可独立地处理每一区(覆盖几个子PU)。
有时,相邻块经帧内译码,其中期望具有确定那些块的替换运动信息的规则,以获得更好的运动预测和编码效率。例如,考虑到子PU(A),可能存在块b、c、f经帧内译码,并且a、d、e、g、h、i经帧间译码的情况。
对于空间相邻项,可以使用预定义的顺序来填充经帧内译码块的运动信息和第一个找到的经帧间译码块的运动信息。例如,可以将上述相邻项的搜索顺序设置为从正上方相邻项开始向右直到最右边相邻项,即b、c、d和e的顺序。左侧相邻项的搜索顺序可以设置为从正左侧相邻项开始向下直到最底相邻项。在这个实例中,顺序是f、g、h、且接着i。如果通过搜索过程未发现经帧间译码块,则考虑上方或左侧空间相邻项不可用。
对于时间相邻项,可使用如在TMVP导出中所规定的相同规则。但是,应注意,也可以使用其它规则,例如,基于运动方向、时间距离(在不同参考图片中搜索)和空间位置等的规则。
视频编码器20和/或视频解码器30接着可导出给定子PU的运动信息。作为此过程的一部分,视频编码器20和/或视频解码器30可执行目标参考图片确定和运动矢量缩放。对于相邻块,可以基于每一参考图片列表将运动矢量缩放应用于与相邻块相关联的运动矢量,以便将所有相邻块的运动矢量映射到每一列表中的相同参考图片。实例中可能有两个步骤:首先,确定我们用于缩放的源运动矢量;第二,确定源运动矢量投影到的目标参考图片。
对于第一步骤,可以使用几种方法。
(a)对于每一参考列表,运动矢量缩放独立于另一参考列表中的运动矢量。对于给定块的运动信息,如果参考列表中没有运动矢量(例如,单向预测模式而不是双向预测模式),则不对所述列表执行运动矢量缩放。
(b)运动矢量缩放不与另一参考列表中的运动矢量无关。对于给定块的运动信息,如果参考列表中没有运动矢量不可用,则可以根据另一参考列表中的运动矢量缩放运动矢量。
(c)两个运动矢量从一个预定义的参考列表中缩放(如上面提到的TMVP)。
作为一个实例,方法(a)用于缩放空间相邻块的运动矢量,方法(c)用于缩放时间相邻块的运动矢量。
对于第二步骤,视频编码器20和/或视频解码器30可以基于可用空间相邻块的运动信息(例如,参考图片)根据特定规则来选择目标参考图片。这种规则的一个实例是多数规则,即选择由大多数块共享的参考图片。在这种情况下,从编码器到解码器的目标参考图片不需要信令,因为也可以使用相同的规则在解码器侧推断出相同的信息。替代地,此类参考图片也可以在切片标头中明确地指定或以一些其它方法用信号通知到解码器。目标参考图片确定为每一参考列表的第一参考图片(refidx=0)。
视频编码器20和/或视频解码器30可经配置以导出给定子PU的运动信息。在如前一部分所示从相邻块检索运动信息并且执行运动缩放处理(如果需要)之后,导出当前子PU的运动信息。假设存在N个可用相邻块,其具有针对一个给定子PU的运动信息。首先,确定预测方向(InterDir)。实例方法如下:
a.将InterDir初始化为零,然后循环遍历N个可用相邻块的运动信息;
b.如果在列表0中存在至少一个运动矢量,那么InterDir=(InterDir bitwiseOR1)。
c.如果在列表1中存在至少一个运动矢量,那么InterDir=(InterDir bitwiseOR2)。
此处“bitwiseOR”表示逐位或运算。InterDir的值定义为:0(无帧间预测)、1(基于列表0的帧间预测)、2(基于列表1的帧间预测)以及3(基于列表0和列表1两者的帧间预测)。
在另一实例中,类似于对用于上述运动矢量缩放的目标参考图片的确定,大部分规则可以用于基于所有可用相邻块的运动信息来确定给定子PU的InterDir的值。
在确定InterDir之后,可以导出运动矢量。对于基于导出的InterDir的每个参考列表,可存在通过运动矢量缩放到目标参考图片可用的M个运动矢量(M<=N),如上所述。参考列表的运动矢量可导出为:
其中wi和wj是相应地水平和竖直运动分量的加权因子,并且Oi和Oj是取决于加权因子的偏移值。
加权因子可基于各种因数来确定。在一个实例中,相同规则可适用于一个PU内的所有子PU。规则可以定义如下。例如,可以基于当前子PU和对应的相邻块的位置距离来确定加权因子。在另一实例中,还可以基于在缩放之前目标参考图片与相关联于对应相邻块的运动矢量的参考图片之间的POC距离来确定加权因子。在又一实例中,可以基于运动矢量差或一致性来确定加权因子。为了简单起见,所有加权因子也可设置成1。
在另一实例中,可将不同规则应用于一个PU内的子PU。例如,上述规则可适用,此外,对于位于第一行/第一列的子PU来说,从时间相邻块导出的运动矢量的加权因子被设置成0,而对于其余的块来说,从空间相邻块导出的运动矢量的加权因子被设置成0。
应注意,在实践中,上述等式可以按原样实现,或者为了易于实现而简化。例如,为了避免除法或浮点运算,可以使用定点运算来粗略估计上述等式。一个例子是为了避免除以3,可替代地选择为乘以43/128以用乘法和位偏移替代除法运算。应在与本公开的技术相同的精神下考虑实施方案中的那些变化。替代地,还可以应用非线性的运算来导出运动矢量,例如,中值滤波器。
视频编码器20和/或视频解码器30还可经配置以在STMVP的候选项列表建构过程期间执行可用性检查。提出即使每一子PU的运动矢量预测器可用,也可以将STMVP模式重置为对于一个PU不可用。例如,一旦针对给定PU导出每一子PU的运动矢量预测器,则执行一些可用性检查以确定是否应使得STMVP模式可用于给定PU。使用这种运算以消除其中对于给定PU来说最终选择STMVP模式是极不可能的情况。当STMVP模式不可用时,模式信令不包含STMVP。在STMVP模式通过在合并列表中***SMTVP来实施的情况下,当STMVP模式确定为不可用时,合并列表并不包含此STMVP候选项。因此,可以减少信令开销。
考虑将一个PU分割为M个子PU。在一个实例中,如果M个子PU之中的N1(N1<=M)个子PU具有相同的运动矢量预测器(即,相同运动矢量和相同参考图片索引),则只有当N1小于阈值或预测器不同于合并列表中的其它运动矢量预测器(具有较小的合并索引)时STMVP才可用。在另一实例中,如果N2(N2<=M)个处于STMVP模式下的子PU共享与处于ATMVP模式下的对应子PU相同的运动矢量预测器,则只有当N2小于另一阈值时STMVP才可用。在本公开的一个实例中,N1和N2的两个阈值设置成等于M。
如果STMVP可用,则视频编码器20和/或视频解码器30将STMPV候选项***到合并列表中。可以扩展上述ATMVP的项目编号#1中的过程,并且可以在ATMVP候选项之前或之后***STMVP候选项。在一个实例中,紧接在合并列表中的ATMVP候选项之后***STMVP候选项。
2017年2月13日提交的第15/431,321号美国申请中描述了基于POC的MV精简技术,所述美国申请的全部内容以引用的方式并入本文中。为了最大化MV预测的效率,可以检查可用MV的唯一性。否则,冗余MV将导致低效的资源利用,例如浪费一点预算或目标装置的资源。因此,消除MV候选项的冗余(所谓的精简)可能是使MV尽可能独特和多样化以在MV预测中提供更有意义的MV候选项的重要步骤。
本公开描述基于POC的精简,其具有三个主要优点:(1)更高的准确度,(2)简单性,以及(3)普遍性。所提出的技术具有更高的精简准确度,因为它可以检测现有精简方法未捕获的冗余MV。另外,由于不需要另外的复杂性,因此简单。最后,基于POC的精简因为其可以应用于多种情况而具有通用性,例如,用于ATMVP/合并候选项的空间MV、子PU(ATMVP和STMVP)MV、TMVP、经组合MV以及甚至零MV。
表1.基于POC的精简适用的可能的MV对
表1总结了使用基于POC的方法可以精简的MV对的类型。在类别C1中,比较来自常规PU(不是子PU)的MV。可以在两个单向MV(例如,用于单向预测的运动矢量)或两个双向MV(例如,用于双向预测的运动矢量)之间进行比较。从类别C2到C4,在比较中包含子PU MV。在C2中,使用基于POC的精简来确定PU内的子PU MV是否全部相同。这可以通过将C1中的相同技术应用于来自子PU的MV来处理。当所有子PU MV相等时的情况落入C3,其中MV表示来自子PU的所有MV,因此适用与C1中相同的比较。但是,如果候选项的所有子PU MV不相等,并且存在具有子PU MV的另一候选项C4,则将基于POC的精简应用于来自在PU内位于相同位置的子PU的每一对MV。C5和C6都通过组合两个单向MV而与双向MV构造相关:一个来自L0而另一个来自L1。如果两个单向MV是相同的(例如,来自相同参考图片的相同MV),则不需要双向MV构造,因为所得到的双向MV将与单向MV相同。因此,基于POC的精简可以通过更精确地检测相同的MV来帮助节省资源,尤其是当L0和L1具有相同的参考图片时。
对于给定的候选项列表,可以确定合并候选项列表的效率的两个因素是(1)候选项列表的排序(例如,如何分配列表中候选项的顺序)和(2)精简(例如,消除那些候选项之间的冗余)。通常,优选使最可能选择的候选项在候选项列表中排在第一,因为可以用更少的信号通知第一候选项的索引。另外,使列表中具有更多变化的候选项(例如,更少的冗余)增加了列表中的候选项之间存在更准确的运动矢量的可能性。
本公开的技术包含用于从更大的可能候选项群组中确定一组合并候选项的技术。另外,本公开描述用于合并候选项的自适应选择、排序和精简以实现运动矢量候选项列表的更高效率的技术。对于自适应排序,所提出的技术利用另外的MV信息来向更可能具有更精确运动信息的候选项分配更高优先级(例如,形成列表中的更小索引)。对于自适应精简,可以使用运动矢量差(MVD)而通过将MVD与自适应阈值进行比较来确定两个MV是否相同(或非常接近)。
由于所提出的技术的灵活性,本公开的技术可以应用于大多数现有的目前先进技术编解码器,例如H.264、HEVC或H.266,并且可以容易地扩展到不同的分区框架,例如上述QTBT结构。另外,所提出的技术的不同组合可以组合成用于特定应用的期望解决方案。也就是说,以下技术可以独立地应用或以任何非互斥的组合形式应用。
另外,除了HEVC或H.266参考软件中的合并索引之外,还可以在没有另外的信令的情况下执行下面提出的技术。也就是说,在一些实例中,视频编码器20和视频解码器30可经配置以基于一组预定规则而不使用显式信令执行以下技术。视频编码器20可经配置以用信号通知当前块的合并索引,且视频解码器30可经配置以像视频编码器20一样执行同一程序以导出合并候选项。因此,利用所接收的合并索引,视频解码器30可经配置以确定相同的MV信息而没有任何不匹配。
图16示出当前块450的实例相邻块集合。如图16所示,加阴影的相邻块a、e、f、j、和k与作为HEVC中的空间合并候选项使用的那些相邻块相同。本公开提出使用来自在当前块450之前译码的另外的相邻块的运动信息。此类另外的相邻块可以包含相邻块b、c、d、g、h和i。通过从更多相邻块导出最终运动矢量候选项列表,增加了在运动矢量候选项列表之中存在更准确运动矢量的可能性。
在图16的实例中,当前块450是16×16,并且相邻块中的每一者是4×4块。然而,应注意,基于当前块的大小,相邻块可以具有不同的大小。通常,视频编码器20和视频解码器30可经配置以建构当前块450的候选项的运动矢量候选项列表,其中运动矢量候选项列表包含来自相对于当前块的若干相邻块的运动矢量信息,其中相邻块的数目大于5。
在本公开的另一实例中,视频编码器20和视频解码器30可经配置以使用来自相邻块的运动信息的基于运动矢量直方图的排序来建构运动矢量候选项列表。基于运动在空间上是同质的假设(例如,在图片中的给定空间位置中可能相同或接近相同),相邻块的主要运动信息更可能是为当前块选择的运动信息。因此,视频编码器20和视频解码器30可经配置以从相邻块的运动矢量分布导出运动矢量直方图。如上所述,运动矢量信息包含三维矢量(MVx、MVy、方向),其中MVx是运动矢量的水平分量,MVy是运动矢量的竖直分量,并且方向指的是过去(参考列表L0)或未来(参考列表L1)预测方向任一者。参考图13,视频编码器20和视频解码器30可以确定特定运动矢量对于相邻块a-k中的每一者相同的频率。
视频编码器20和视频解码器30可以多种不同方式使用直方图信息。在一个实例中,视频编码器20和视频解码器30可以使用直方图信息来确定哪些运动矢量以及因此哪些相邻块可用作候选项列表中的空间合并候选项。在另一实例中,视频编码器20和视频解码器30可以使用直方图来确定将某些空间合并候选项添加到列表的顺序。
通常,视频编码器20和视频解码器30可经配置以从相邻像素或块导出运动矢量直方图。如上所述,图16示出了要用于16×16当前块450的运动矢量直方图的4×4相邻块(ak)的实例。突出显示的块(a、e、f、j和k)是HEVC中的空间合并候选项的位置。
在一些实例中,视频编码器20和视频解码器30从具有特定大小的相邻块的运动矢量分布导出运动矢量直方图。图16示出了将使用什么相邻块(a-k)来建构MV直方图。相邻块的单元大小可以是特定大小,例如4×4或用于运动补偿的一些预定义的最小大小。如果块不具有相关联的运动信息(例如,经帧内预测块),则忽略它们或者可以用来自其它相邻块的运动信息填充它们。例如,如果相邻块h是经帧内预测块,那么视频编码器20和视频解码器30可以简单地不使用所述相邻块。在其它实例中,如果相邻块h是经帧内预测块,则视频编码器20和视频解码器30可以使用来自相邻块h左侧的块的运动信息。
如图16中的实例所示,为了建构16×16当前块的MV直方图,视频编码器20和视频解码器30可以检查具有4×4大小的11个相邻块(从块a到块k)。应注意,可以如图16中那样预定义相邻块(包含顶行/左列),或取决于当前块的大小和/或形状。
在另一实例中,可以用与相邻块的大小成比例的一定权重建构直方图。例如,属于相邻块的像素数目(或单元块,即4×4块)可以用作直方图的权重。也就是说,来自更大块(具体地,包含更多像素的块)的运动矢量具有与那些块内的像素数目成比例的更高权重。在另一实例中,直方图的权重可以通过上述两个因素的组合来确定:相邻块内的像素(或单位块)的数目和与当前块相邻的像素(或单位块)的数目。
注意,视频编码器20和视频解码器30都应遵循相同的规则来建构直方图以避免不匹配。给定视频编码器20和视频解码器30中的相同直方图,用于合并候选项的所有以下自适应方案将产生等效合并列表。
在确定运动矢量直方图之后,视频编码器20和视频解码器30可接着使用直方图来确定运动矢量候选项列表中的空间合并候选项的顺序。在一些实例中,建构的直方图可以用于确定给定(固定)Nf空间合并候选项的顺序,其中Nf是固定空间候选项的数目。作为一个实例,固定Nf空间候选项可以是相邻块a、e、f、j和k,如在HEVC中使用的那样。当然,可以使用候选项总数目的任何子集。例如,参考图16,相邻块a-k的任何固定子集可以用作空间合并候选项。
取决于可用相邻块的每一运动矢量的频率,来自直方图的最频繁运动矢量首先被***到合并列表中,并且来自直方图的最不频繁运动矢量是要***列表的空间合并候选项中的最后一个。例如,图16示出了HEVC中使用的5个空间合并候选项(a、e、f、j、k)。视频编码器20和视频解码器30都可经配置以自适应地确定来自MV直方图的顺序,而不是遵循那些候选项的固定顺序(在HEVC中为j-e-f-k-a的顺序)。在另一实例中,替代检查每一相邻块(例如,4×4空间合并候选项),空间合并候选项的重排序是基于预测块(例如,HEVC中的PU)的大小,预测块包含用于导出空间合并候选项的块。
考虑图17的实例。如图17所示,三个相邻块(e、g和h)具有运动矢量0(MV0),四个不同的相邻块(a、b、c和d)具有运动矢量1(MV1),一个相邻块(f)具有运动矢量2(MV2),两个不同的相邻块(i和j)具有运动矢量3(MV3),并且一个相邻块(k)具有运动矢量4(MV4)。因此,视频编码器20和视频解码器30将经配置以使用固定候选项a、e、f、j和k对运动矢量候选项列表进行排序,如下:MV1-候选项a(索引0)、MV0-候选项e(索引0)、MV3候选项j(索引0)、MV2候选项f(索引0)、MV4-候选项k(索引0)。图17的实例假设所有相邻块具有相同的权重。在一些实例中,如果两个或更多个固定候选项具有在直方图中具有相同出现次数的相同关联运动矢量(例如,图17中的MV2和MV4),则可以对那些检查候选项使用预定顺序。在图17的实例中,候选项f在列表中放置在候选项k之前。当然,可以使用任何预定顺序。
在本公开的另一实例中,在确定运动矢量直方图之后,视频编码器20和视频解码器30接着可使用直方图来确定将哪些相邻块用作运动矢量候选项列表中的空间合并候选项,而不管顺序如何。也就是说,视频编码器20和视频解码器30可以确定将所有可能的相邻块中的哪一个用作列表中的空间合并候选项,而不是使用固定的Nf个数目的空间合并候选项。在这个实例中,参考图16,可以考虑将所有相邻块a-k包含在运动矢量候选项列表中作为空间合并候选项。
视频编码器20和视频解码器30可以使用运动矢量直方图来确定总数目的可用相邻块中的哪些相邻块将构成运动矢量候选项列表中的预定数目(Nh)的候选项。如上所述,代替仅改变给定候选项列表的顺序,可以从所确定的直方图中的相邻运动矢量分布自适应地导出两个位置(例如,实际相邻块)和所确定的空间合并候选项的顺序。例如,如果Nh=2,则来自相邻块的两个最频繁的运动矢量按照合并列表中的频率的顺序放置。如果不止一个相邻块与直方图中的最频繁运动矢量相关联,则视频编码器20和视频解码器30可以使用预定规则来确定将哪些相邻块放置在候选项列表中。然而,应注意,无论使用何种规则,与直方图中最频繁出现的运动矢量相关联的相邻块都将被添加到运动矢量候选项列表中。根据此实例,参考图17,将与MV0相关联的相邻块和与MV1相关联的相邻块添加到运动矢量候选项列表。
在一些实例中,视频编码器20和视频解码器30可经配置以使用所确定的直方图将上述两种技术用于合并列表建构。也就是说,视频编码器20和视频解码器30可以使用直方图对固定候选项集合进行排序,以及基于直方图添加多个非固定候选项(Nh)。如上所述,Nf个空间合并候选项的位置在所有块中是固定的,例如,图16中的块a、e、f、j和k。另外,将来自相邻块的Nh个最频繁出现的运动信息作为空间合并候选项添加到列表,然后基于相关联运动矢量在所确定的直方图中出现的频率来确定(Nf+Nh)个候选项的顺序。
在另一实例中,Nf个空间合并候选项的位置在所有块中是固定的,例如,图16中的块a、e、f、j和k,并且视频编码器20和视频解码器30使用所确定的直方图确定固定候选项的顺序。另外,将来自相邻块的Nh个最频繁出现的运动信息添加到列表,但是另外的Nh个候选项***到某个预定位置(例如,在来自图16中的块e的运动矢量之前或之后)。
在另一实例中,本公开描述子PU合并候选项的自适应排序,例如,上文描述的ATMVP和ATMVP_EXT候选项。在JEM2.0软件的一个实例中,ATMVP和ATMVP_EXT总是位于候选项k与候选项a之间(例如,如图16所示)。视频编码器20和视频解码器30可经配置以取决于与其它可用合并候选项相关的条件、ATMVP/ATMVP_EXT或其组合自适应地放置ATMVP/ATMVP_EXT候选项,而不是将ATMVP/ATMVP_EXT放置在合并列表中的固定位置处。
在一些实例中,可以利用两个空间合并候选项之间的运动矢量差(MVD)来确定ATMVP/ATMVP_EXT候选项的位置。视频编码器20和视频解码器30可经配置以计算MVD作为运动矢量的函数。在一个实例中,两个MV之间的绝对差总和:MVD=abs(MVx[1]-MVx[0])+abs(MVy[1]-MVy[0])。在另一实例中,函数定义为MVD=(MVx[1]-MVx[0])*(MVx[1]-MVx[0])+(MVy[1]-MVy[0])*(MVy[1]-MVy[0])。应注意,用于计算MVD的函数可以基于运动矢量精度而不同,例如整数、一半、四分之一、八分之一或十六分之一像素精度。
例如,与总是将ATMVP/ATMVP_EXT放置在图16中的候选k与a之间的最新JEM软件不同,视频编码器20和视频解码器30可经配置以将ATMVP/ATMVP_EXT候选项定位在候选项k之前,取决于候选项j与候选项k之间的MVD(MVDjk)。如果MVDjk小于阈值TH1或大于另一阈值TH2,即,MVDjk<TH1或MVDjk>TH2,则将ATMVPATMVP_EXT定位在候选项k之前。例如,通过采用所有或(一些)空间相邻运动矢量之中的最小MVD计算TH1,并且采用最大MVD计算TH2,可以使用自适应阈值,其中所述计算不包括相同MV对和一对(MVj和MVk)。由于视频编码器20和视频解码器30都具有相同的相邻运动矢量,因此计算将产生相同的TH1和TH2。或者,TH1和TH2都可以通过实验确定,例如,在十六分之一像素MV精度中TH1=2且TH2=8。否则,候选项k在列表中处于ATMVP/ATMVP_EXT之前。类似地,视频编码器20和视频解码器30可经配置以通过检查候选项e与候选项f之间的MVD(MVDef)来确定ATMVP/ATMVP_EXT候选项和候选项f的顺序。如果用于MVD计算的候选项中的一者或两者,即上述实例中的候选项k或候选项a在合并列表中不可用,则可以默认顺序将ATMVP/ATMVP_EXT候选项放置在运动矢量候选项列表中。
在另一实例中,视频编码器20和视频解码器30可经配置以分析ATMVP/ATMVP_EXT候选项的特性(例如,子块MV的方差或子块MV的空间分布)以确定那些候选项将位于运动矢量候选项列表中的位置。如果方差在[TH1,TH2]范围内,则分配更高的优先级,即列表中的更小索引。范围[TH1,TH2]可以通过选择ATMVP或ATMVP_EXT作为最佳合并候选项的先前经译码块的子块MV的平均方差来确定:TH1=C1*Var1且TH2=C2*Var2,其中根据先前经译码块计算Var1和Var2并存储Var1和Var2。系数C1和C2可以固定为常数或取决于当前块的大小和/或形状。范围可以取决于当前块的大小和/或形状。对于更大的块,TH1和TH2都会增大,并且范围变宽。范围可以取决于运动矢量精度。
在另一实例中,视频编码器20和视频解码器30可经配置以分析空间合并候选项和ATMVP/ATMVP_EXT候选项的状态以确定那些候选项之间的顺序。例如,来自ATMVP或ATMVP_EXT候选项的平均运动矢量或最频繁的子块运动矢量被认为是子块的代表MV。代表性运动矢量可用于计算针对空间候选项的MVD,例如,图16中的块f。如果MVD大于TH1但小于TH2,则视频编码器20和视频解码器30可经配置以将ATMVP/ATMVP_EXT候选项放在空间候选项之前。
在HEVC中,使用两个可用的双向合并候选项(即,C1和C2)来导出经组合运动矢量(combi-mv)候选项,其包含用于两个预测方向的两个运动矢量:参考列表L0和参考列表L1。假设C1和C2都具有双向MV:候选项C1的MVL0C1和MVL1C1,候选项C2的MVL0C2和MVL1C2。视频编码器20和视频解码器30可经配置以通过从C1获取L0MV且从C2获取L1MV来导出新的combi-mv(MV0,MV1):(MV0,MV1)=(MVL0C1,MVL1C2)。类似地,视频编码器20和视频解码器30可经配置以通过采用剩余的MV来导出另一combi-mv:(MV0',MV1')=(MVL0C2,MVL1C1)。
在一些实例中,combi-mv候选项的最大数目是固定的。在HEVC中,如果可用合并候选项的数目小于合并候选项的最大数目,例如在HEVC中的5个,并且列表中有不止一个双向合并候选项,则最多12个combi-mv候选项可被视为合并候选项。在HEVC的扩展中,添加了更多的合并候选项,例如ATMVP和ATMVP_EXT候选项,因此将combi-mv候选项的最大数目从12增加到某个大数(例如30)是可能的扩展。
在本公开的另一实例中,视频编码器20和视频解码器30可经配置以在必要时考虑更多combi-mv(例如,如果尚未达到合并候选项的最大数目)。例如,如果可用合并候选项之间的相似性高于某个阈值,则combi-mv候选项也将类似于现有候选项,因此限制了combi-mv的最大数目。可以通过绝对差总和(SAD)、SATD、平均亮度或色度值、像素的方差和/或MV轨迹来测量相似性。
如果考虑更多combi-mv,则可以考虑自适应排序以使备用combi-mv候选项的益处最大化。给定combi-mv候选项的顺序,以下技术针对特定标准重新布置候选项。不符合标准的候选项遵循默认顺序。
在一些实例中,视频编码器20和视频解码器30可经配置以针对导出combi-mv与来自可用候选项的现有mv之间的相似性对combi-mv候选项重新排序。假设C1和C2都具有双向MV,MVC1=(MVL0C1,MVL1C1)且MVC2=(MVL0C2,MVL1C2),并且可以将两个combi-mv导出为MVcombi-1=(MVL0C1,MVL1C2)且MVcombi-2=(MVL0C2,MVL1C1)。如果MVL0C1和MVL0C2(和/或MVL1C2和MVL1C1)引用同一图片,则计算MVL0C1与MVL0C2(和/或MVL1C2与MVL1C1)之间的MVD。然后,视频编码器20和视频解码器30可经配置以在满足以下条件之一的情况下在精简之后将导出的combi-mv添加到运动矢量候选项列表:(1)如果MVD在两个阈值之间,TH1<MVD<TH2,或(2)如果MVL0C1和MVL0C2引用不同的图片。否则,留下combi-mv。在针对十六分之一像素运动矢量精度的一个实例中,在当前块的宽度和高度都小于8时,TH1=2且TH2=8。如果当前块的宽度和高度大于8且小于32,则TH1=8且TH2=32。如果宽度和高度大于32,则TH1=16并且TH2=64。一旦满足那些条件的所有combi-mv候选项首先被添加到合并列表,视频编码器20和视频解码器30就可可经配置以在精简之后将其余的combi-mv添加到列表。阈值TH1和TH2可以通过当前块的大小或形状自适应地选择,例如,最大(宽度,高度)。
在又一实例中,视频编码器20和视频解码器30可经配置以针对上述MVD对combi-mv候选项进行排序。为简单起见,将MVL0C1和MVL0C2(或MVL1C1和MVL1C2)引用不同图片的combi-mv候选项的MVD设置为0。如果combi-mv候选项具有相等的MVD值,则它们遵循默认顺序。一旦经分类,视频编码器20和视频解码器30可经配置以在精简之后将候选项添加到运动矢量候选项列表。
除了基于POC的精简之外,如上所述,视频编码器20和视频解码器30可经配置以使用由除运动矢量本身之外的额外信息(例如,当前块的大小和/或形状、目标合并候选项的类型,和/或在空间候选项的情况下的合并候选项的位置)确定的自适应标准来进一步精简合并候选项。
在一些实例中,视频编码器20和视频解码器30可经配置以将具有小于自适应阈值的MVD的一对MV视为相同,且因此精简以进一步使运动矢量候选项列表多样化。可以通过当前块的大小和/或形状自适应地选择阈值。
在一些实例中,例如具有上述自适应阈值的基于MVD的精简的精简方法可以应用于所有类型的合并候选项:空间、时间、子块或combi-mv候选项。在又一实例中,对于不同类型的候选项,可以考虑不同的标准。作为空间候选项的实例,可以使用导出的那些候选项的位置之间的距离作为度量来确定自适应阈值。例如,如果从相邻块(例如图16中的块e和f)导出两个运动矢量,则通过比从远处的块(例如,图16中的块f和k)导出运动矢量的阈值小的阈值精简运动矢量。
在一些实例中,对于双向合并候选项,两个单向预测块(一个来自L0而另一个来自L1方向)的相似性可以指示合并候选项的可靠程度。基于此观察,视频编码器20和视频解码器30可经配置以使用测量来通过使用两个单向预测块的相似性区分双向合并候选项,且相应地对双向合并候选项重新排序。例如,视频编码器20和视频解码器30可经配置以使用绝对差总和(SAD)、SSE、SATD、平均亮度或色度值、像素的方差和/或MV轨迹来确定相似性。更复杂的度量可以提供更高的准确度来测量预测性能。度量的决定可取决于目标应用的要求。
如果使用SAD,则对于给定的两个双向合并候选项C1和C2,针对每一双向候选项在L0与L1方向之间计算两个SAD:SADC1和SADC2。视频编码器20和视频解码器30可经配置以在合并列表中将具有较小的最终SAD(即SADC1或SADC2)的候选项置于另一个之前。
在一些实例中,可以组合上述所有提出的技术以建构运动矢量候选项列表。在又一实例中,可以合并所提出的技术的某个集合或子集。
图18是示出本公开的实例编码方法的流程图。图18的实施例可以由视频编码器20的一或多个硬件单元执行,包括运动估计单元42和运动补偿单元44。
在本公开的一个实例中,视频编码器20可经配置以接收当前视频数据块(500)。视频编码器20可以相对于当前块导出相邻块的运动矢量信息的直方图(502)。在本公开的一个实例中,考虑用于运动矢量候选项列表的相邻块的数目是基于当前块的大小,并且相邻块的数目大于5。在此上下文中,术语“考虑”可以包括视频编码器20分析相邻块、确定相邻块是否具有相关联的运动信息,并且如果相邻块具有相关联的运动信息,则使用所述运动信息来建构运动矢量候选项列表。如上所述,运动信息可以直接添加到运动矢量候选项列表,或者可以用于建构直方图,所述直方图可以用于确定相邻块用作运动矢量候选项列表中的空间合并候选项的顺序和/或位置。视频编码器20可进一步经配置以基于来自相对于当前视频数据块的一定数目的相邻块的运动信息来建构当前块的合并候选项的运动矢量候选项列表。在一些实例中,考虑的运动信息是导出的直方图(504)。然后,视频编码器20可从运动矢量候选项列表确定当前运动矢量(506),且使用当前运动矢量对当前视频数据块进行编码(508)。
在本公开的另一实例中,视频编码器20可经配置以基于导出的直方图对运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序。
在本公开的另一实例中,视频编码器20可经配置以基于导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到运动矢量候选项列表。
在本公开的另一实例中,视频编码器20可经配置以基于导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到运动矢量候选项列表,并且基于导出的直方图对运动矢量候选项列表中的预定固定子集的空间合并候选项和所确定固定数目的空间合并候选项进行排序。
在本公开的另一实例中,视频编码器20可经配置以基于导出的直方图对运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序,基于导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到运动矢量候选项列表,并在运动矢量候选项列表中的预定位置***所确定固定数目的空间合并候选项。
在本公开的另一实例中,视频编码器20可经配置以基于一或多个高级时间运动矢量预测(ATMVP)候选项的运动矢量函数将ATMVP候选项添加到运动矢量候选项列表。在本公开的另一实例中,视频编码器20可经配置以基于一或多个ATMVP候选项的运动矢量函数确定运动矢量候选项列表中用于添加ATMVP候选项的位置。
在本公开的另一实例中,视频编码器20可经配置以通过组合来自两个双向运动矢量候选项的运动矢量信息来确定经组合运动矢量候选项,并将所述经组合运动矢量候选项添加到运动矢量候选项列表。
在本公开的另一实例中,视频编码器20可经配置以基于一或多个经组合运动矢量候选项的运动矢量函数确定运动矢量候选项列表中用于添加经组合运动矢量候选项的位置。
在本公开的另一实例中,视频编码器20可经配置以基于运动矢量候选项列表中的运动矢量候选项的运动矢量差信息来精简运动矢量候选项列表。
在本公开的另一实例中,视频编码器20可经配置以基于双向候选项的运动矢量差信息对运动矢量候选项列表中的双向候选项进行排序。
图19是示出本公开的实例解码方法的流程图。图19的技术可以由视频解码器30的一或多个硬件单元执行,包括运动补偿单元72。
在本公开的一个实例中,视频解码器30可经配置以接收使用合并模式编码的当前视频数据块(550)。视频解码器30可以导出相对于当前块的相邻块的运动矢量信息的直方图(552)。在本公开的一个实例中,考虑用于运动矢量候选项列表的相邻块的数目是基于当前块的大小,并且相邻块的数目大于5。在此上下文中,术语“考虑”可以包括视频解码器30分析相邻块、确定相邻块是否具有相关联的运动信息,并且如果相邻块具有相关联的运动信息,则使用所述运动信息来建构运动矢量候选项列表。如上所述,运动信息可以直接添加到运动矢量候选项列表,或者可以用于建构直方图,所述直方图可以用于确定相邻块用作运动矢量候选项列表中的空间合并候选项的顺序和/或位置。视频解码器30可进一步经配置以基于来自相对于当前视频数据块的一定数目的相邻块的运动信息来建构当前块的合并候选项的运动矢量候选项列表。在一些实例中,考虑的运动信息是导出的直方图(554)。然后,视频解码器30可从运动矢量候选项列表确定当前运动矢量(556),且使用当前运动矢量对当前视频数据块进行解码(558)。
在本公开的另一实例中,视频解码器30可经配置以基于导出的直方图对运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序。
在本公开的另一实例中,视频解码器30可经配置以基于导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到运动矢量候选项列表。
在本公开的另一实例中,视频解码器30可经配置以基于导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到运动矢量候选项列表,并且基于导出的直方图对运动矢量候选项列表中的预定固定子集的空间合并候选项和所确定固定数目的空间合并候选项进行排序。
在本公开的另一实例中,视频解码器30可经配置以基于导出的直方图对运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序,基于导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到运动矢量候选项列表,并在运动矢量候选项列表中的预定位置***所确定固定数目的空间合并候选项。
在本公开的另一实例中,视频解码器30可经配置以基于一或多个高级时间运动矢量预测(ATMVP)候选项的运动矢量函数将ATMVP候选项添加到运动矢量候选项列表。在本公开的另一实例中,视频编码器20可经配置以基于一或多个ATMVP候选项的运动矢量函数确定运动矢量候选项列表中用于添加ATMVP候选项的位置。
在本公开的另一实例中,视频解码器30可经配置以通过组合来自两个双向运动矢量候选项的运动矢量信息来确定经组合运动矢量候选项,并将所述经组合运动矢量候选项添加到运动矢量候选项列表。
在本公开的另一实例中,视频解码器30可经配置以基于一或多个经组合运动矢量候选项的运动矢量函数确定运动矢量候选项列表中用于添加经组合运动矢量候选项的位置。
在本公开的另一实例中,视频解码器30可经配置以基于运动矢量候选项列表中的运动矢量候选项的运动矢量差信息来精简运动矢量候选项列表。
在本公开的另一实例中,视频解码器30可经配置以基于双向候选项的运动矢量差信息对运动矢量候选项列表中的双向候选项进行排序。
例如,所提出的技术的组合在JEM2.0软件上的随机访问配置中显示0.4%BD速率改进,如下表中所示。以下实例中的增益来自工具的组合:(1)基于直方图的空间合并候选项排序;(2)基于MVD的经组合合并候选排序和精简;(3)对于ATMVP、经组合的zero-mv候选项的精简;以及(4)增加数目的合并候选项和组合合并候选项。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可以例如通过多线程处理、中断处理或多个处理器同时而非循序地执行动作或事件。
在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果在软件中实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可以包含计算机可读存储媒体,其对应于例如数据存储媒体或通信媒体的有形媒体,通信媒体(例如)根据通信协议包含有助于将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体及数据存储媒体并不包括连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置以用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。
本公开的技术可以实施于多种多样的装置或设备中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。本公开中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要通过不同硬件单元实现。确切地,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

Claims (30)

1.一种对视频数据进行解码的方法,所述方法包括:
接收以合并模式编码的当前视频数据块;
基于来自相对于所述当前视频数据块的一定数目的相邻块的运动信息建构所述当前块的合并候选项的运动矢量候选项列表,其中针对所述运动矢量候选项列表考虑的相邻块的数目是基于所述当前块的大小,并且其中所述相邻块的数目多于5;
从所述运动矢量候选项列表确定当前运动矢量;以及
使用所述当前运动矢量对所述当前视频数据块进行解码。
2.根据权利要求1所述的方法,其进一步包括:
导出所述相邻块的运动矢量信息的直方图;以及
基于所述导出的直方图建构所述运动矢量候选项列表。
3.根据权利要求2所述的方法,其进一步包括:
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序。
4.根据权利要求2所述的方法,其进一步包括:
基于所述导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表。
5.根据权利要求2所述的方法,其进一步包括:
基于所述导出的直方图从所述总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表;以及
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项和所述所确定固定数目的空间合并候选项进行排序。
6.根据权利要求2所述的方法,其进一步包括:
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序;
基于所述导出的直方图从所述总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表;以及
在所述运动矢量候选项列表中的预定位置***所述所确定固定数目的空间合并候选项。
7.根据权利要求2所述的方法,其进一步包括:
基于一或多个高级时间运动矢量预测ATMVP候选项的运动矢量函数将ATMVP候选项添加到所述运动矢量候选项列表。
8.根据权利要求7所述的方法,其进一步包括:
基于一或多个ATMVP候选项的所述运动矢量函数确定所述运动矢量候选项列表中用于添加所述ATMVP候选项的位置。
9.根据权利要求2所述的方法,其进一步包括:
通过组合来自两个双向运动矢量候选项的运动矢量信息来确定经组合运动矢量候选项;以及
将所述经组合运动矢量候选项添加到所述运动矢量候选项列表。
10.根据权利要求9所述的方法,其进一步包括:
基于一或多个经组合运动矢量候选项的所述运动矢量函数确定所述运动矢量候选项列表中用于添加所述经组合运动矢量候选项的位置。
11.根据权利要求2所述的方法,其进一步包括:
基于所述运动矢量候选项列表中的所述运动矢量候选项的运动矢量差信息来精简所述运动矢量候选项列表。
12.根据权利要求2所述的方法,其进一步包括:
基于双向候选项的运动矢量差信息对所述运动矢量候选项列表中的所述双向候选项进行排序。
13.一种经配置以对视频数据进行解码的设备,所述设备包括:
存储器,其经配置以存储当前视频数据块;以及
一或多个处理器,其经配置以:
接收以合并模式编码的当前视频数据块;
基于来自相对于所述当前视频数据块的一定数目的相邻块的运动信息建构所述当前块的合并候选项的运动矢量候选项列表,其中针对所述运动矢量候选项列表考虑的相邻块的数目是基于所述当前块的大小,并且其中所述相邻块的数目多于5;
从所述运动矢量候选项列表确定当前运动矢量;以及
使用所述当前运动矢量对所述当前视频数据块进行解码。
14.根据权利要求13所述的设备,其中所述一或多个处理器进一步经配置以:
导出所述相邻块的运动矢量信息的直方图;以及
基于所述导出的直方图建构所述运动矢量候选项列表。
15.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序。
16.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表。
17.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图从所述总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表;以及
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项和所述所确定固定数目的空间合并候选项进行排序。
18.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序;
基于所述导出的直方图从所述总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表;以及
在所述运动矢量候选项列表中的预定位置***所述所确定固定数目的空间合并候选项。
19.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于一或多个高级时间运动矢量预测ATMVP候选项的运动矢量函数将ATMVP候选项添加到所述运动矢量候选项列表。
20.根据权利要求19所述的设备,其中所述一或多个处理器进一步经配置以:
基于一或多个ATMVP候选项的所述运动矢量函数确定所述运动矢量候选项列表中用于添加所述ATMVP候选项的位置。
21.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
通过组合来自两个双向运动矢量候选项的运动矢量信息来确定经组合运动矢量候选项;以及
将所述经组合运动矢量候选项添加到所述运动矢量候选项列表。
22.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于一或多个经组合运动矢量候选项的所述运动矢量函数确定所述运动矢量候选项列表中用于添加所述经组合运动矢量候选项的位置。
23.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述运动矢量候选项列表中的所述运动矢量候选项的运动矢量差信息来精简所述运动矢量候选项列表。
24.根据权利要求14所述的设备,其中所述一或多个处理器进一步经配置以:
基于双向候选项的运动矢量差信息对所述运动矢量候选项列表中的所述双向候选项进行排序。
25.一种存储指令的计算机可读存储媒体,所述指令当执行时使经配置以对视频数据进行解码的一或多个处理器进行以下操作:
接收以合并模式编码的当前视频数据块;
基于来自相对于所述当前视频数据块的一定数目的相邻块的运动信息建构所述当前块的合并候选项的运动矢量候选项列表,其中针对所述运动矢量候选项列表考虑的相邻块的数目是基于所述当前块的大小,并且其中所述相邻块的数目多于5;
从所述运动矢量候选项列表确定当前运动矢量;以及
使用所述当前运动矢量对所述当前视频数据块进行解码。
26.一种经配置以对视频数据进行编码的设备,所述设备包括:
存储器,其经配置以存储当前视频数据块;以及
一或多个处理器,其经配置以:
接收所述当前视频数据块;
基于来自相对于所述当前视频数据块的一定数目的相邻块的运动信息建构所述当前块的合并候选项的运动矢量候选项列表,其中针对所述运动矢量候选项列表考虑的相邻块的数目是基于所述当前块的大小,并且其中所述相邻块的数目多于5;
从所述运动矢量候选项列表确定当前运动矢量;以及
使用所述当前运动矢量对所述当前视频数据块进行编码。
27.根据权利要求26所述的设备,其中所述一或多个处理器进一步经配置以:
导出所述相邻块的运动矢量信息的直方图;以及
基于所述导出的直方图建构所述运动矢量候选项列表。
28.根据权利要求27所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项进行排序。
29.根据权利要求27所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图从总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表。
30.根据权利要求27所述的设备,其中所述一或多个处理器进一步经配置以:
基于所述导出的直方图从所述总数目的相邻块确定固定数目的空间合并候选项以添加到所述运动矢量候选项列表;以及
基于所述导出的直方图对所述运动矢量候选项列表中的预定固定子集的空间合并候选项和所述所确定固定数目的空间合并候选项进行排序。
CN201780028602.XA 2016-05-13 2017-05-11 用于视频译码的运动矢量预测的合并候选项 Active CN109076236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211074793.2A CN115633167A (zh) 2016-05-13 2017-05-11 用于视频译码的运动矢量预测的合并候选项

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662336449P 2016-05-13 2016-05-13
US62/336,449 2016-05-13
US15/591,813 US10560718B2 (en) 2016-05-13 2017-05-10 Merge candidates for motion vector prediction for video coding
US15/591,813 2017-05-10
PCT/US2017/032177 WO2017197126A1 (en) 2016-05-13 2017-05-11 Merge candidates for motion vector prediction for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211074793.2A Division CN115633167A (zh) 2016-05-13 2017-05-11 用于视频译码的运动矢量预测的合并候选项

Publications (2)

Publication Number Publication Date
CN109076236A true CN109076236A (zh) 2018-12-21
CN109076236B CN109076236B (zh) 2022-09-02

Family

ID=58745459

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780028602.XA Active CN109076236B (zh) 2016-05-13 2017-05-11 用于视频译码的运动矢量预测的合并候选项
CN202211074793.2A Pending CN115633167A (zh) 2016-05-13 2017-05-11 用于视频译码的运动矢量预测的合并候选项

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211074793.2A Pending CN115633167A (zh) 2016-05-13 2017-05-11 用于视频译码的运动矢量预测的合并候选项

Country Status (8)

Country Link
US (2) US10560718B2 (zh)
EP (2) EP4102839A1 (zh)
JP (3) JP7229774B2 (zh)
KR (2) KR102404598B1 (zh)
CN (2) CN109076236B (zh)
BR (1) BR112018073324A2 (zh)
CA (1) CA3020265A1 (zh)
WO (1) WO2017197126A1 (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246216A (zh) * 2019-01-17 2020-06-05 北京达佳互联信息技术有限公司 一种基于三角预测的视频编解码方法及设备
CN111357288A (zh) * 2019-01-03 2020-06-30 深圳市大疆创新科技有限公司 视频图像处理方法与装置
CN111357290A (zh) * 2019-01-03 2020-06-30 北京大学 视频图像处理方法与装置
CN111670578A (zh) * 2019-03-13 2020-09-15 北京大学 一种视频编码或解码方法、装置、设备及存储介质
CN111726617A (zh) * 2019-03-18 2020-09-29 华为技术有限公司 用于融合运动矢量差技术的优化方法、装置及编解码器
WO2020244569A1 (en) * 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Conditional implementation of motion candidate list construction process
CN113141507A (zh) * 2020-01-17 2021-07-20 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
CN113170139A (zh) * 2019-01-10 2021-07-23 北京字节跳动网络技术有限公司 上下文自适应二进制算数编码的简化上下文建模
CN113261292A (zh) * 2018-12-29 2021-08-13 北京字节跳动网络技术有限公司 基于子块的帧间预测中默认运动候选的构造方法
CN113273216A (zh) * 2019-01-12 2021-08-17 北京字节跳动网络技术有限公司 Mmvd改进
CN113557735A (zh) * 2019-03-11 2021-10-26 北京字节跳动网络技术有限公司 运动候选列表构造的改进
CN113709498A (zh) * 2020-05-20 2021-11-26 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN113924771A (zh) * 2019-05-21 2022-01-11 北京字节跳动网络技术有限公司 子块Merge模式中的语法信令
CN113994699A (zh) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
CN114041291A (zh) * 2019-06-21 2022-02-11 北京达佳互联信息技术有限公司 用于视频编解码的基于历史的运动矢量预测
CN114342405A (zh) * 2019-06-24 2022-04-12 Lg电子株式会社 图像解码方法和用于该图像解码方法的装置
CN114467308A (zh) * 2019-09-22 2022-05-10 北京字节跳动网络技术有限公司 视频处理中的参考图片重采样
CN115065828A (zh) * 2019-06-13 2022-09-16 北京达佳互联信息技术有限公司 用于视频编解码的运动矢量预测
US11509893B2 (en) 2019-07-14 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Indication of adaptive loop filtering in adaptation parameter set
CN115643400A (zh) * 2019-03-12 2023-01-24 北京达佳互联信息技术有限公司 用于视频解码的方法、装置和存储介质
US11575911B2 (en) 2019-06-04 2023-02-07 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
US11722667B2 (en) 2019-09-28 2023-08-08 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
US11871025B2 (en) 2019-08-13 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Motion precision in sub-block based inter prediction
WO2024022145A1 (en) * 2022-07-28 2024-02-01 Mediatek Inc. Method and apparatus of amvp with merge mode for video coding
US11956431B2 (en) 2018-12-30 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Conditional application of inter prediction with geometric partitioning in video processing

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3352830B1 (en) 2015-09-23 2021-04-28 ResMed Pty Ltd Vent adaptor for a respiratory therapy system
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
CN116582679A (zh) 2016-05-24 2023-08-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
KR20190028372A (ko) 2016-07-12 2019-03-18 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 데이터 전송 방법, 단말 기기 및 네트워크 기기
US10609423B2 (en) 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
EP3518548B1 (en) * 2016-09-20 2021-12-15 KT Corporation Method and apparatus for processing video signal
CN116866570A (zh) * 2016-10-04 2023-10-10 株式会社Kt 用于处理视频信号的方法和装置
US11240526B2 (en) * 2017-01-02 2022-02-01 Industry-University Cooperation Foundation Hanyang University Method and apparatus for decoding image using interpicture prediction
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
US10484703B2 (en) * 2017-02-07 2019-11-19 Mediatek Inc. Adapting merge candidate positions and numbers according to size and/or shape of prediction block
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
CN109089119B (zh) * 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
US20200014918A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application accelerator
US20200014945A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application acceleration
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
CA3067528A1 (en) * 2017-10-20 2019-04-25 Kt Corporation Video signal processing method and device
KR20200095463A (ko) * 2017-11-01 2020-08-10 브이아이디 스케일, 인크. 병합 모드를 위한 서브-블록 모션 도출 및 디코더측 모션 벡터 정교화
US11070797B2 (en) * 2017-11-27 2021-07-20 Lg Electronics Inc. Image decoding method and apparatus based on inter prediction in image coding system
WO2019107927A1 (ko) * 2017-11-28 2019-06-06 한국전자통신연구원 양방향 인트라 예측 방법 및 장치
US10735758B2 (en) * 2017-12-07 2020-08-04 Tencent America LLC Method and apparatus for video coding
CN108126596A (zh) * 2018-01-04 2018-06-08 安徽艾迪文新材料有限公司 一种错位搅拌的粉体混合机
US10812810B2 (en) * 2018-02-06 2020-10-20 Tencent America LLC Method and apparatus for video coding in merge mode
CN111869214A (zh) * 2018-03-19 2020-10-30 高通股份有限公司 对高级时间运动矢量预测的改进
US11343489B2 (en) * 2018-03-19 2022-05-24 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image using geometrically modified reference picture
WO2019194499A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
EP3780608A4 (en) 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
US11343541B2 (en) * 2018-04-30 2022-05-24 Hfi Innovation Inc. Signaling for illumination compensation
US10506251B2 (en) * 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
CN112166612A (zh) * 2018-05-23 2021-01-01 株式会社Kt 用于处理视频信号的方法和设备
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
US10616574B2 (en) * 2018-06-04 2020-04-07 Tencent America LLC Methods and apparatus for extended merge mode with adaptive grid size in video coding
CN110557641B (zh) 2018-06-04 2024-01-16 华为技术有限公司 获取运动矢量的方法和装置
JP7104186B2 (ja) * 2018-06-05 2022-07-20 北京字節跳動網絡技術有限公司 Ibcとatmvpとの間でのインタラクション
CA3100980A1 (en) 2018-06-08 2019-12-12 Kt Corporation Method and apparatus for processing a video signal
US20190387247A1 (en) * 2018-06-19 2019-12-19 Qualcomm Incorporated Signaling sub-prediction unit motion vector predictor
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
EP3788782A1 (en) 2018-06-21 2021-03-10 Beijing Bytedance Network Technology Co. Ltd. Sub-block mv inheritance between color components
WO2019244115A2 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Automatic partition for cross blocks
JP7141463B2 (ja) * 2018-06-27 2022-09-22 エルジー エレクトロニクス インコーポレイティド インター予測モードに基づいた映像処理方法およびそのための装置
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
TWI731360B (zh) * 2018-06-29 2021-06-21 大陸商北京字節跳動網絡技術有限公司 查找表的使用條件
CN110933414B (zh) * 2018-06-29 2022-07-29 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、装置及可读存储介质
CN110662030B (zh) * 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 一种视频处理方法和装置
CN110662063B (zh) * 2018-06-29 2020-12-15 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读存储介质
SG11202012293RA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Update of look up table: fifo, constrained fifo
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
CN110662043B (zh) * 2018-06-29 2021-12-21 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
EP3791585A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
GB2587984B (en) 2018-06-29 2022-12-14 Kt Corp Method and apparatus for processing a video signal
EP3791586A1 (en) * 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
WO2020003259A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Improved tmvp derivation
TWI728390B (zh) * 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
WO2020008349A1 (en) * 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Merge index coding
JP7223111B2 (ja) * 2018-07-02 2023-02-15 華為技術有限公司 動きベクトル予測方法および装置、エンコーダ、ならびにデコーダ
WO2020009390A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 처리 방법 및 장치
US10531090B1 (en) * 2018-07-02 2020-01-07 Tencent America LLC Method and apparatus for video coding
US10743016B2 (en) 2018-07-06 2020-08-11 Mediatek Inc. Inherited motion information for decoding a current coding unit in a video coding system
US11606575B2 (en) 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
US11006143B2 (en) 2018-07-11 2021-05-11 Apple Inc. Motion vector candidate pruning systems and methods
CN112514394A (zh) 2018-07-17 2021-03-16 松下电器(美国)知识产权公司 用于视频编码的***和方法
US11381833B2 (en) * 2018-07-19 2022-07-05 Tencent America LLC Method and apparatus for video coding
WO2020035827A1 (en) 2018-08-16 2020-02-20 Beijing Bytedance Network Technology Co., Ltd. Implicit coding for transform matrix selection
AU2018217336A1 (en) * 2018-08-17 2020-03-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
CN117336483A (zh) * 2018-08-28 2024-01-02 华为技术有限公司 编码方法、解码方法以及编码装置、解码装置
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
WO2020056143A1 (en) * 2018-09-12 2020-03-19 Beijing Dajia Internet Information Technology Co., Ltd. Modifications of the construction of the merge candidate list
EP3854095A1 (en) * 2018-09-21 2021-07-28 InterDigital VC Holdings, Inc. Motion vector prediction in video encoding and decoding
EP3836545B1 (en) 2018-09-22 2023-11-15 Lg Electronics Inc. Method for processing video signals using inter prediction
CN110944182B (zh) * 2018-09-23 2023-06-09 北京字节跳动网络技术有限公司 仿射模式中的子块的运动矢量推导
CN110944170B (zh) 2018-09-24 2023-05-02 北京字节跳动网络技术有限公司 扩展Merge预测
US11589031B2 (en) * 2018-09-26 2023-02-21 Google Llc Active stereo depth prediction based on coarse matching
WO2020067679A1 (ko) * 2018-09-29 2020-04-02 엘지전자 주식회사 머지 후보 리스트를 구성하는 방법 및 장치
CN113056913A (zh) * 2018-10-05 2021-06-29 Op方案有限责任公司 包括添加非相邻对角空间合并候选的构造合并候选列表的方法和***
WO2020075053A1 (en) 2018-10-08 2020-04-16 Beijing Bytedance Network Technology Co., Ltd. Generation and usage of combined affine merge candidate
KR102448403B1 (ko) * 2018-10-08 2022-09-28 엘지전자 주식회사 Atmvp 후보를 기반으로 영상 코딩을 수행하는 장치
US11051034B2 (en) * 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
WO2020084502A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Video processing using local illumination compensation
CN112868239B (zh) * 2018-10-23 2023-05-30 北京字节跳动网络技术有限公司 并置的局部照明补偿和帧内块复制编解码
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
CN111093080B (zh) * 2018-10-24 2024-06-04 北京字节跳动网络技术有限公司 视频编码中的子块运动候选
KR20230155014A (ko) * 2018-11-02 2023-11-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보 저장을 위한 표 유지
CN111418205B (zh) 2018-11-06 2024-06-21 北京字节跳动网络技术有限公司 用于帧间预测的运动候选
SG11202104749RA (en) * 2018-11-08 2021-06-29 Guangdong Oppo Mobile Telecommunications Corp Ltd Image signal encoding/decoding method and apparatus therefor
BR112021008298A2 (pt) 2018-11-08 2021-08-03 Guangdong Oppo Mobile Telecommunications Corp., Ltd. método de decodificação de vídeo, método de codificação de vídeo, aparelho de decodificação de vídeo e codificador de vídeo
EP3861723A4 (en) 2018-11-10 2022-04-20 Beijing Bytedance Network Technology Co., Ltd. ROUNDS IN PAIRS OF MEDIUM CANDIDATE BILLS
CN111436230A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 仿射预测的带宽控制方法
KR20210089153A (ko) * 2018-11-13 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 화면 내 블록 복사를 위한 히스토리 기반 움직임 후보 리스트 구성
CN112970258B (zh) * 2018-11-13 2023-08-18 北京字节跳动网络技术有限公司 用于子块预测块的多假设
WO2020098752A1 (en) * 2018-11-14 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Improvements of affine prediction mode
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
US11381807B2 (en) 2018-11-21 2022-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods of video picture coding with sub-block merge simplification and related apparatuses
EP4325849A3 (en) 2018-11-22 2024-04-17 Beijing Bytedance Network Technology Co., Ltd. Coordination method for sub-block based inter prediction
US10917636B2 (en) 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
WO2020114404A1 (en) * 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Pruning method in different prediction mode
EP4236320A3 (en) 2018-12-06 2023-10-11 LG Electronics Inc. Method and device for processing video signal on basis of inter prediction
US10893298B2 (en) 2018-12-12 2021-01-12 Tencent America LLC Method and apparatus for video coding
JP7073501B2 (ja) * 2018-12-12 2022-05-23 エルジー エレクトロニクス インコーポレイティド 履歴ベース動きベクトル予測に基づいてビデオ信号を処理するための方法及び装置
WO2020130520A1 (ko) * 2018-12-16 2020-06-25 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
BR112021011807A2 (pt) 2018-12-21 2021-09-28 Samsung Electronics Co., Ltd. Método de decodificação de imagem realizado por um aparelho de decodificação de imagem, meio legível por computador, aparelho de decodificação de imagem, e método de codificação de imagem realizado por um aparelho de codificação de imagem
TWI720753B (zh) * 2018-12-21 2021-03-01 聯發科技股份有限公司 簡化的三角形合併模式候選列表導出的方法以及裝置
CN112913236B (zh) * 2018-12-29 2022-05-31 华为技术有限公司 编码器,解码器和使用压缩mv存储的对应方法
US11032574B2 (en) 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
WO2020141915A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
KR102443965B1 (ko) 2019-01-01 2022-09-19 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
CN113597760A (zh) 2019-01-02 2021-11-02 北京字节跳动网络技术有限公司 视频处理的方法
CN113545050B (zh) * 2019-01-03 2023-05-30 北京达佳互联信息技术有限公司 利用三角形预测的视频编解码方法及装置
US11962756B2 (en) 2019-01-05 2024-04-16 Lg Electronics Inc. Method and apparatus for processing video data
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
WO2020145855A1 (en) * 2019-01-12 2020-07-16 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods of processing mmvd distance
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147747A1 (en) 2019-01-15 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Weighted prediction in video coding
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
US11032560B2 (en) 2019-01-17 2021-06-08 Tencent America LLC Method and apparatus for video coding without updating the HMVP table
CN113316933A (zh) 2019-01-17 2021-08-27 北京字节跳动网络技术有限公司 使用运动预测进行去方块滤波
US11095915B2 (en) * 2019-01-31 2021-08-17 Qualcomm Incorporated Shared motion vector predictor list for intra block copy mode in video coding
US11122260B2 (en) * 2019-02-22 2021-09-14 Mediatek Inc. Method and apparatus of Merge list generation for Intra Block Copy mode
US11166015B2 (en) * 2019-03-06 2021-11-02 Tencent America LLC Method and apparatus for video coding
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
EP3918804A4 (en) 2019-03-14 2023-02-08 HFI Innovation Inc. METHODS AND APPARATUS FOR VIDEO PROCESSING USING MOTION DECOMPOSITION AND SUB-PARTITION BASE FILLING
CN113826397A (zh) * 2019-03-15 2021-12-21 交互数字Vc控股公司 用于图像编码和解码的方法和设备
US10979716B2 (en) * 2019-03-15 2021-04-13 Tencent America LLC Methods of accessing affine history-based motion vector predictor buffer
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN110139099B (zh) * 2019-04-08 2023-01-06 中南大学 基于预编码和编码satd值加权的帧间预测模式选择方法
SG11202111758WA (en) * 2019-04-25 2021-11-29 Op Solutions Llc Global motion for merge mode candidates in inter prediction
US11445174B2 (en) * 2019-05-06 2022-09-13 Tencent America LLC Method and apparatus for video coding
WO2020236038A1 (en) * 2019-05-21 2020-11-26 Huawei Technologies Co., Ltd. Method and apparatus of cross-component prediction
CA3143538A1 (en) 2019-06-14 2020-12-17 Lg Electronics Inc. Image decoding method and device for deriving weight index information for generation of prediction sample
KR20210158402A (ko) * 2019-06-19 2021-12-30 엘지전자 주식회사 현재 블록에 대하여 최종적으로 예측 모드를 선택하지 못하는 경우 인터 예측을 수행하는 영상 디코딩 방법 및 그 장치
EP3973708A4 (en) * 2019-06-25 2023-02-22 Zhejiang Dahua Technology Co., Ltd. INTRA-FRAME PREDICTION SYSTEMS AND METHODS
US20220279163A1 (en) * 2019-08-21 2022-09-01 Lg Electronics Inc. Image encoding/decoding method and device for performing prediction on basis of hmvp candidate, and method for transmitting bitstream
US11496755B2 (en) 2019-12-28 2022-11-08 Tencent America LLC Method and apparatus for video coding
US11405628B2 (en) * 2020-04-06 2022-08-02 Tencent America LLC Method and apparatus for video coding
KR102378713B1 (ko) * 2020-06-23 2022-03-24 주식회사 에스원 동영상 부호화 방법, 복호화 방법 및 그 장치
US11330296B2 (en) 2020-09-14 2022-05-10 Apple Inc. Systems and methods for encoding image data
US11924408B2 (en) * 2021-01-14 2024-03-05 Tencent America LLC Method and apparatus for video coding
KR20240072202A (ko) * 2021-09-29 2024-05-23 캐논 가부시끼가이샤 비디오 코딩 및 디코딩
WO2023194603A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Motion information candidates re-ordering
US20230379452A1 (en) * 2022-05-17 2023-11-23 Tencent America LLC Adjacent spatial motion vector predictor candidates improvement
US20240031595A1 (en) * 2022-07-18 2024-01-25 Tencent America LLC Method for diversified merge candidate reordering

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014502481A (ja) * 2010-12-13 2014-01-30 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 参照ユニット決定方法及び装置
US20140205014A1 (en) * 2011-09-28 2014-07-24 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, transmitting device, transmission method and transmission program, and moving picture decoding device, moving picture decoding method, moving picture decoding program, receiving device, reception method and reception program
CN104170381A (zh) * 2012-03-16 2014-11-26 高通股份有限公司 在高效率视频译码及其扩展中的运动矢量译码及双向预测
US20150078450A1 (en) * 2013-09-13 2015-03-19 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101878148B1 (ko) * 2010-05-04 2018-07-13 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
WO2011146451A1 (en) * 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
US9066104B2 (en) 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
US9066110B2 (en) 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
CN103430547B (zh) 2011-03-08 2017-03-29 Jvc建伍株式会社 动图像解码装置、动图像解码方法
EP2717579B1 (en) * 2011-05-31 2020-01-22 Sun Patent Trust Video decoding method and video decoding device
CN103733625B (zh) * 2011-06-14 2017-04-05 三星电子株式会社 用于对运动矢量进行解码的方法
JP5644701B2 (ja) * 2011-06-30 2014-12-24 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
CN110446037B (zh) 2011-11-08 2022-01-04 韩国电子通信研究院 用于共享候选者列表的方法和装置
EP4274227A3 (en) * 2012-02-04 2023-11-29 LG Electronics Inc. Video encoding method, video decoding method, and device using same
WO2014044908A1 (en) * 2012-09-21 2014-03-27 Nokia Corporation Method and apparatus for video coding
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US9521389B2 (en) 2013-03-06 2016-12-13 Qualcomm Incorporated Derived disparity vector in 3D video coding
US9800895B2 (en) * 2013-06-27 2017-10-24 Qualcomm Incorporated Depth oriented inter-view motion vector prediction
US9554150B2 (en) 2013-09-20 2017-01-24 Qualcomm Incorporated Combined bi-predictive merging candidates for 3D video coding
US9432685B2 (en) * 2013-12-06 2016-08-30 Qualcomm Incorporated Scalable implementation for parallel motion estimation regions
JP6574976B2 (ja) 2014-03-18 2019-09-18 パナソニックIpマネジメント株式会社 動画像符号化装置および動画像符号化方法
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014502481A (ja) * 2010-12-13 2014-01-30 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 参照ユニット決定方法及び装置
US20140205014A1 (en) * 2011-09-28 2014-07-24 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, transmitting device, transmission method and transmission program, and moving picture decoding device, moving picture decoding method, moving picture decoding program, receiving device, reception method and reception program
CN104170381A (zh) * 2012-03-16 2014-11-26 高通股份有限公司 在高效率视频译码及其扩展中的运动矢量译码及双向预测
US20150078450A1 (en) * 2013-09-13 2015-03-19 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
THOMAS GUIONNET等: ""CE5.h: Reducing the coding cost of merge index by dynamic merge index re-allocation"", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 2ND MEETING: SHANGHAI, CN, 13–19 OCT. 2012》 *

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113261292A (zh) * 2018-12-29 2021-08-13 北京字节跳动网络技术有限公司 基于子块的帧间预测中默认运动候选的构造方法
CN113261292B (zh) * 2018-12-29 2023-12-05 北京字节跳动网络技术有限公司 基于子块的帧间预测中默认运动候选的构造方法
US11956431B2 (en) 2018-12-30 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Conditional application of inter prediction with geometric partitioning in video processing
CN111357290B (zh) * 2019-01-03 2023-08-22 北京大学 视频图像处理方法与装置
US11206422B2 (en) 2019-01-03 2021-12-21 SZ DJI Technology Co., Ltd. Video image processing method and device
US11689736B2 (en) 2019-01-03 2023-06-27 SZ DJI Technology Co., Ltd. Video image processing method and device
US11743482B2 (en) 2019-01-03 2023-08-29 SZ DJI Technology Co., Ltd. Video image processing method and device
CN111357290A (zh) * 2019-01-03 2020-06-30 北京大学 视频图像处理方法与装置
CN111357288A (zh) * 2019-01-03 2020-06-30 深圳市大疆创新科技有限公司 视频图像处理方法与装置
WO2020140331A1 (zh) * 2019-01-03 2020-07-09 深圳市大疆创新科技有限公司 视频图像处理方法与装置
US11178420B2 (en) 2019-01-03 2021-11-16 SZ DJI Technology Co., Ltd. Video image processing method and device
CN113170139B (zh) * 2019-01-10 2023-12-05 北京字节跳动网络技术有限公司 上下文自适应二进制算数编码的简化上下文建模
CN113170139A (zh) * 2019-01-10 2021-07-23 北京字节跳动网络技术有限公司 上下文自适应二进制算数编码的简化上下文建模
CN113273216A (zh) * 2019-01-12 2021-08-17 北京字节跳动网络技术有限公司 Mmvd改进
CN113273216B (zh) * 2019-01-12 2022-09-13 北京字节跳动网络技术有限公司 Mmvd改进
CN111246216A (zh) * 2019-01-17 2020-06-05 北京达佳互联信息技术有限公司 一种基于三角预测的视频编解码方法及设备
CN111246216B (zh) * 2019-01-17 2022-05-06 北京达佳互联信息技术有限公司 一种基于三角预测的视频编解码方法及设备
CN113557735B (zh) * 2019-03-11 2024-05-10 北京字节跳动网络技术有限公司 运动候选列表构造的改进
CN113557735A (zh) * 2019-03-11 2021-10-26 北京字节跳动网络技术有限公司 运动候选列表构造的改进
CN115643400A (zh) * 2019-03-12 2023-01-24 北京达佳互联信息技术有限公司 用于视频解码的方法、装置和存储介质
CN115643400B (zh) * 2019-03-12 2023-06-20 北京达佳互联信息技术有限公司 用于视频解码的方法、装置和存储介质
CN111670578A (zh) * 2019-03-13 2020-09-15 北京大学 一种视频编码或解码方法、装置、设备及存储介质
CN111670578B (zh) * 2019-03-13 2023-02-21 北京大学 一种视频编码或解码方法、装置、设备及存储介质
CN111726617B (zh) * 2019-03-18 2024-03-15 华为技术有限公司 用于融合运动矢量差技术的优化方法、装置及编解码器
CN111726617A (zh) * 2019-03-18 2020-09-29 华为技术有限公司 用于融合运动矢量差技术的优化方法、装置及编解码器
CN113924771A (zh) * 2019-05-21 2022-01-11 北京字节跳动网络技术有限公司 子块Merge模式中的语法信令
CN113924771B (zh) * 2019-05-21 2024-01-12 北京字节跳动网络技术有限公司 子块Merge模式中的语法信令
US11575911B2 (en) 2019-06-04 2023-02-07 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
US11463687B2 (en) 2019-06-04 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list with geometric partition mode coding
US11611743B2 (en) 2019-06-04 2023-03-21 Beijing Bytedance Network Technology Co., Ltd. Conditional implementation of motion candidate list construction process
WO2020244569A1 (en) * 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Conditional implementation of motion candidate list construction process
CN113994699A (zh) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
CN113994699B (zh) * 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
CN115065828B (zh) * 2019-06-13 2024-05-03 北京达佳互联信息技术有限公司 用于视频编解码的运动矢量预测
CN115065828A (zh) * 2019-06-13 2022-09-16 北京达佳互联信息技术有限公司 用于视频编解码的运动矢量预测
CN114041291B (zh) * 2019-06-21 2023-03-24 北京达佳互联信息技术有限公司 视频编解码中的运动矢量预测的方法、设备和存储介质
CN114041291A (zh) * 2019-06-21 2022-02-11 北京达佳互联信息技术有限公司 用于视频编解码的基于历史的运动矢量预测
CN114342405A (zh) * 2019-06-24 2022-04-12 Lg电子株式会社 图像解码方法和用于该图像解码方法的装置
US11647186B2 (en) 2019-07-14 2023-05-09 Beijing Bytedance Network Technology Co., Ltd. Transform block size restriction in video coding
US11509893B2 (en) 2019-07-14 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Indication of adaptive loop filtering in adaptation parameter set
US11871025B2 (en) 2019-08-13 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Motion precision in sub-block based inter prediction
CN114467308A (zh) * 2019-09-22 2022-05-10 北京字节跳动网络技术有限公司 视频处理中的参考图片重采样
CN114467308B (zh) * 2019-09-22 2024-04-12 北京字节跳动网络技术有限公司 视频处理中的参考图片重采样
US11722667B2 (en) 2019-09-28 2023-08-08 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
CN113141507B (zh) * 2020-01-17 2022-07-15 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
CN113141507A (zh) * 2020-01-17 2021-07-20 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
CN113709498A (zh) * 2020-05-20 2021-11-26 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN113709498B (zh) * 2020-05-20 2023-06-02 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
WO2024022145A1 (en) * 2022-07-28 2024-02-01 Mediatek Inc. Method and apparatus of amvp with merge mode for video coding

Also Published As

Publication number Publication date
KR20210122887A (ko) 2021-10-12
BR112018073324A2 (pt) 2019-02-26
US10560718B2 (en) 2020-02-11
US20170332099A1 (en) 2017-11-16
JP7229774B2 (ja) 2023-02-28
KR20190008214A (ko) 2019-01-23
CN109076236B (zh) 2022-09-02
EP3456050B1 (en) 2022-09-07
WO2017197126A1 (en) 2017-11-16
EP3456050A1 (en) 2019-03-20
JP2023145503A (ja) 2023-10-11
JP2022058517A (ja) 2022-04-12
EP4102839A1 (en) 2022-12-14
JP2019515587A (ja) 2019-06-06
CA3020265A1 (en) 2017-11-16
KR102404598B1 (ko) 2022-06-02
US10951913B2 (en) 2021-03-16
US20200077116A1 (en) 2020-03-05
CN115633167A (zh) 2023-01-20
KR102374495B1 (ko) 2022-03-14

Similar Documents

Publication Publication Date Title
CN109076236A (zh) 用于视频译码的运动矢量预测的合并候选项
CN107211156B (zh) 一种译码视频数据的方法、装置及计算机可读存储媒体
CN108605136A (zh) 基于图片次序计数的运动矢量精简
CN109691106A (zh) 时间运动向量预测符的偏移向量识别
CN109644272A (zh) 用于建构候选列表的几何型优先级
CN105359530B (zh) 面向深度的视图间运动向量预测
CN104521237B (zh) 用于可缩放视频译码及3d视频译码的多假设运动补偿
CN105637870B (zh) 使用不对称运动分割的视频译码技术
CN106471806B (zh) 3d-hevc中的简化移位合并候选者及合并列表导出
CN104170380B (zh) 视频译码中的视差矢量预测
CN104170381B (zh) 在高效率视频译码及其扩展中的运动矢量译码及双向预测
CN105580365B (zh) 处理视频数据的方法、装置及存储媒体
CN105580364B (zh) 一种处理视频数据的方法,装置及计算机可读存储媒体
CN105379288B (zh) 处理对视频译码的照明补偿
CN105556969B (zh) 视频译码中使用视差向量的块识别
CN104322070B (zh) 用于高效率视频译码的高级别语法扩展
CN105379282B (zh) 用于纹理译码的先进残余预测(arp)的方法和设备
CN103650505B (zh) 视频译码中的运动向量预测
CN104303502B (zh) 对多视图视频数据进行编码、解码和译码的方法、装置及计算机可读存储介质
CN105144715B (zh) 后向视图合成预测
CN110301135A (zh) 在视频解码器处导出运动向量信息
CN110431845A (zh) 约束通过解码器侧运动向量推导导出的运动向量信息
CN109076218A (zh) 在视频译码中自适应环路滤波中的多个滤波器的混淆
CN109891890A (zh) 视频译码中基于子pu的双向运动补偿
CN110024403A (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