CN117730535A - 视频编解码中用于仿射运动补偿预测的几何分割 - Google Patents

视频编解码中用于仿射运动补偿预测的几何分割 Download PDF

Info

Publication number
CN117730535A
CN117730535A CN202280048372.4A CN202280048372A CN117730535A CN 117730535 A CN117730535 A CN 117730535A CN 202280048372 A CN202280048372 A CN 202280048372A CN 117730535 A CN117730535 A CN 117730535A
Authority
CN
China
Prior art keywords
video
mode
affine
motion prediction
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280048372.4A
Other languages
English (en)
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN117730535A publication Critical patent/CN117730535A/zh
Pending legal-status Critical Current

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/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本公开内容的实施方式提供了用于运动补偿预测的系统和方法。该方法可以包括:由视频处理器对来自视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割。该方法还可以包括:由视频处理器将第一运动预测模式应用于第一分割,并且将第二运动预测模式应用于第二分割。第一运动预测模式或第二运动预测模式中的至少一个是仿射运动预测模式。

Description

视频编解码中用于仿射运动补偿预测的几何分割
相关申请的交叉引用
本申请基于2021年7月6日提交的美国临时申请No.63/218,532并要求享受其优先权,故以引用方式将其全部内容并入本文。
技术领域
本申请涉及视频编解码和压缩。具体地说,本申请涉及用于运动细化的视频编解码系统和方法。
背景技术
诸如数字电视、膝上型计算机或桌面型计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能手机、视频电话会议设备、视频流设备等等之类的各种电子设备支持数字视频。电子设备通过通信网络发送和接收或以其它方式传输数字视频数据,和/或将数字视频数据存储在存储设备上。由于通信网络的有限带宽容量和存储设备的有限存储器资源,在对视频数据进行传送或存储之前,可以使用视频编解码以根据一种或多种视频编解码标准来压缩视频数据。例如,视频编解码标准包括通用视频编码(VVC)、联合探索测试模型(JEM)、高效视频编码(HEVC/H.265)、高级视频编码(AVC/H.264)、运动图像专家组(MPEG)编码等等。视频编解码通常采用充分利用视频数据中的固有冗余的预测方法(例如,帧间预测、帧内预测等等)。视频编解码旨在将视频数据压缩为使用较低比特率的形式,同时避免或最小化视频质量的降低。
发明内容
本公开内容的实施方式提供了一种用于运动补偿预测的视频编解码方法。该视频编解码方法可以包括:由处理器对来自视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割。该方法还可以包括:由所述处理器将第一运动预测模式应用于所述第一分割,并且将第二运动预测模式应用于所述第二分割。所述第一运动预测模式或所述第二运动预测模式中的至少一个是仿射运动预测模式。
本公开内容的实施方式还提供了一种用于运动补偿预测的视频编解码装置。该视频编解码系统可以包括存储器和视频处理器。所述存储器可以被配置为存储视频的至少一个视频帧。所述视频帧包括至少一个视频块。所述视频处理器可以被配置为对来自所述视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割。所述视频处理器可以进一步被配置为将第一运动预测模式应用于所述第一分割,并且将第二运动预测模式应用于所述第二分割。所述第一运动预测模式或所述第二运动预测模式中的至少一个是仿射运动预测模式。
本公开内容的实施方式还提供了一种存储有指令的非临时性计算机可读存储介质,当所述指令由视频处理器执行时,使所述视频处理器执行用于运动补偿预测的视频编解码方法。该视频编解码方法可以包括:对来自视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割。该方法还可以包括:将第一运动预测模式应用于所述第一分割,并且将第二运动预测模式应用于所述第二分割以获得经编码的视频块。所述第一运动预测模式或所述第二运动预测模式中的至少一个是仿射运动预测模式。该方法还可以包括:生成包括所述经编码的视频块的比特流。将所述比特流存储在所述非临时性计算机可读存储介质中。
应当理解,以上概括描述和以下详细描述仅仅是示例性,并且不旨在限制本公开内容。
附图说明
并入本文并构成本说明书的一部分的附图说明与本公开内容一致的示例,并与说明书一起用于解释本公开内容的基本原理。
图1是根据本公开内容的一些实施方式,示出用于对视频块进行编码和解码的示例系统的框图。
图2是示出根据本公开内容的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开内容的一些实施方式的示例性视频解码器的框图。
图4A至4E是根据本公开内容的一些实施方式,示出如何将帧递归地划分为不同大小和形状的多个视频块的图形表示。
图5A示出了根据本公开内容的一些实施方式的示例性4参数仿射运动模型。
图5B示出了根据本公开内容的一些实施方式的示例性6参数仿射运动模型。
图6是示出根据本公开内容的一些实施方式的示例性几何分割的图形表示。
图7根据本公开内容的一些实施方式,示出了从用于几何分割模式的合并候选列表的运动矢量中的示例性单向预测运动矢量选择。
图8是根据本公开内容的一些实施方式,用于在视频中进行具有几何分割的运动补偿预测的示例性方法的流程图。
图9是根据本公开内容的一些实施方式,示出具有几何分割的示例性仿射运动补偿预测的图形表示。
图10是根据本公开内容的一些实施方式,示出与用户界面耦合的计算环境的图形表示。
具体实施方式
现在将详细地参考特定的实施方式,在附图中示出了其一些示例。在以下的详细描述中,阐述了许多非限制性的具体细节,以帮助理解本文所呈现的主题。但是对于本领域普通技术人员来说显而易见的是,可以在不脱离权利要求的保护范围的情况下使用各种替代方案,并且可以在没有这些具体细节的情况下实践本发明的主题。例如,对于本领域普通技术人员来说显而易见的是,可以在具有数字视频能力的许多类型的电子设备上实现本文所呈现的主题。
应当理解的是,在说明书、本公开内容的权利要求书和附图中使用的术语“第一”、“第二”等等用于区分对象,而不用于描述任何特定的顺序或序列。应当理解,以这种方式使用的数据可以在适当的条件下互换,使得除了附图中所示或本公开内容中所描述的那些实施例之外,可以按顺序来实现本文所描述的本公开内容的实施例。
在当前的VVC标准中,采用仿射运动补偿预测来处理高阶运动特性。在VVC中引入了各种工具来提高帧间预测的编码效率。例如,为了提高运动矢量的编码效率,引入了诸如基于历史的MVP(HMVP)和自适应运动矢量分辨率(AMVR)之类的编码工具。为了提高运动补偿的准确性,在VVC中引入了几种编码工具,如仿射运动补偿、几何分割、带编码单元(CU)级权重的双预测(BCW)等等。在目前的设计方案中,仿射运动补偿预测仅应用于矩形块。然而,在实践中,运动对象可能具有不规则的形状,这使得当前的仿射模式不太有效。例如,通常情况下,运动对象具有不规则的形状,并且使用矩形块分割来捕获它将花费大量的比特。
根据本公开内容,本文公开了一种视频编解码系统和方法,以提高VVC和AVS3标准中使用的仿射运动补偿预测的编码效率。所公开的系统和方法将几何分割模式(GPM)引入到仿射预测模式中。引入几何分割来处理具有不规则形状的运动对象。此外,对于具有高阶运动的目标,采用仿射运动补偿预测来处理。因此,本文所公开的系统和方法可以将仿射运动补偿预测和几何分割相结合,以捕获具有不规则形状的对象的高阶运动特征。
根据本公开内容,可以通过几何定位线将CU进一步划分为两个分割。CU中的每个分割可以使用不同的编码模式或具有不同参数的相同编码模式进行编码。本公开内容提供了结合仿射模式和几何分割的几个典型示例。
根据本公开内容,基于几何分割的仿射模式可以用作运动预测模式的示例性实现,以有助于本公开内容的描述。可以设想,本文所公开的系统和方法还可以应用仿射运动预测模式的不同设计或者具有相同或相似设计精神的其它编码工具。这样的技术方案也落入本申请的保护范围内。
图1是根据本公开内容的一些实施方式,示出用于并行地编码和解码视频块的示例系统10的框图。如图1中所示,系统10包括源设备12,源设备12生成视频数据并对其进行编码,以便稍后由目的地设备14进行解码。源设备12和目的地设备14可以包括各种电子设备中的任何一种,其包括桌面型或膝上型计算机、平板计算机、智能手机、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以通过链路16接收要解码的经编码视频数据。链路16可以包括能够将经编码视频数据从源设备12转发到目的地设备14的任何类型的通信介质或设备。在一个例子中,链路16可以包括通信介质,以使源设备12能够实时地将编码的视频数据直接发送到目的地设备14。可以根据通信标准(例如,无线通信协议)调制经编码的视频数据,并将其发送到目的地设备14。该通信介质可以包括任何无线或有线通信介质,例如射频(RF)频谱或者一个或多个物理传输线。通信介质可以形成基于分组的网络(例如,局域网、广域网或诸如互联网的全球网络)的一部分。该通信介质可以包括路由器、交换机、基站、或者有助于促进从源设备12到目的地设备14的通信的任何其它设备。
在一些其它实施方式中,可以将编码的视频数据从输出接口22传输到存储设备32。随后,目的地设备14可以经由输入接口28访问存储设备32中的编码的视频数据。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何一种,例如,硬盘、蓝光盘、数字通用光盘(DVD)、压缩光盘只读存储器(CD-ROM)、闪存、易失性或非易失性存储器、或者用于存储编码的视频数据的任何其它适当的数字存储介质。在另外的例子中,存储设备32可以对应于文件服务器或者另一个中间存储设备,其可以保存由源设备12生成的经编码视频数据。目的地设备14可以通过流传输或下载,从存储设备32访问存储的视频数据。文件服务器可以是能够存储编码的视频数据并将编码的视频数据传输到目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络连接存储(NAS)设备或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接来访问编码的视频数据,这些数据连接包括适合于访问存储在文件服务器上的编码的视频数据的无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字用户线(DSL)、有线调制解调器等)或它们的任意组合。来自存储设备32的编码的视频数据的传输可以是流传输、下载传输或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如视频捕获设备(例如,摄像机)之类的源、包含先前捕获的视频的视频归档、从视频内容提供商接收视频数据的视频馈送接口、和/或用于生成计算机图形数据作为源视频的计算机图形系统、或这些源的组合。举一个例子,如果视频源18是安全监控系统的摄像机,则源设备12和目的地设备14可以包括摄像机电话或视频电话。然而,在本公开内容中描述的实施方式通常可以应用于视频编解码,并且可以应用于无线和/或有线应用。
捕获的、预捕获的、或计算机生成的视频可以由视频编码器20进行编码。可以通过源设备12的输出接口22,将编码的视频数据直接传输到目的地设备14。经编码的视频数据也可以(或替代地)存储在存储设备32上,以供目的地设备14或其它设备稍后访问,以用于解码和/或回放。输出接口22还可以包括调制解调器和/或发射器。
目的地设备14包括输入接口28、视频解码器30和显示设备34。输入接口28可以包括接收器和/或调制解调器,并通过链路16接收编码的视频数据。通过链路16传送或者在存储设备32上提供的编码的视频数据,可以包括由视频编码器20生成的各种语法元素,以供视频解码器30在解码视频数据时使用。在通信介质上传输的、在存储介质上存储的、或者在文件服务器上存储的编码的视频数据内,可以包括这样的语法元素。
在一些实施方式中,目的地设备14可以包括显示设备34,其可以是集成显示设备和被配置为与目的地设备14通信的外部显示设备。显示设备34向用户显示解码的视频数据,并且可以包括各种显示设备中的任何一种,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(例如,VVC、HEVC、MPEG-4、第10部分、AVC或这些标准的扩展)进行操作。应当理解,本公开内容并不限于特定的视频编码/解码标准,并且可以适用于其它视频编码/解码标准。通常预期,源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任何标准,对视频数据进行编码。类似地,还通常预期,目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任何标准,对视频数据进行解码。
视频编码器20和视频解码器30可以实现为各种适当的编码器和/或解码器电路中的任何一种,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可以将软件的指令存储在适当的非临时性计算机可读介质中,并使用一个或多个处理器来执行硬件中的指令,以执行本公开内容中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以包括在一个或多个编码器或解码器中,其中任何一个可以集成为相应设备中的组合编码器/解码器(CODEC)的一部分。
图2是示出根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以对视频帧内的视频块执行帧内和帧间预测编码。帧内预测编码依赖于空间预测来减少或消除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测来减少或去除视频序列的相邻视频帧或图片内的视频数据中的时间冗余。应当注意,术语“帧”可以用作视频编解码领域中的术语“图像”或“图片”的同义词。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41还包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重构的逆量化单元58、逆变换处理单元60和加法器62。环路滤波器63(例如,去块滤波器)可以位于加法器62和DPB64之间,以过滤块边界,以便从重构的视频数据中去除块伪影。除了去块滤波器之外,还可以使用另一个环路滤波器(例如,SAO滤波器和/或自适应环路滤波器(ALF)),以对加法器62的输出进行滤波。在一些例子中,可以省略环路滤波器,加法器64可以将解码的视频块直接提供给DPB 64。视频编码器20可以采取固定或可编程硬件单元的形式,或者可以在所示的固定或可编程硬件单元中的一个或多个之间进行划分。
视频数据存储器40可以存储要由视频编码器20的组件进行编码的视频数据。可以例如从如图1所示的视频源18获得视频数据存储器40中的视频数据。DPB 64是存储参考视频数据(例如,参考帧或图片)的缓冲器,用于视频编码器20对视频数据进行编码(例如,在帧内或帧间预测编码模式中)。视频数据存储器40和DPB 64可以由各种存储设备中的任何一种形成。在各种例子中,视频数据存储器40可以与视频编码器20的其它组件在芯片上,或者相对于那些组件在片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割成视频块。这种分割还可以包括:根据预定义的分割结构(例如,与视频数据相关联的四叉树(QT)结构),将视频帧划分为条带、瓦片(例如,视频块的集合)或其它更大的编码单元(CU)。视频帧是或者可以视作为具有样点值的二维样点阵列或矩阵。该阵列中的样点也可以称为像素或图元。该阵列或图片的水平和垂直方向(或轴)上的样点的数量,定义了视频帧的大小和/或分辨率。可以通过例如使用QT划分,将视频帧划分为多个视频块。视频块同样是或者可以视作为具有样点值的二维样点阵列或矩阵,尽管其维度小于视频帧。视频块的水平和垂直方向(或轴)上的样点的数量定义了视频块的大小。还可以通过例如迭代地使用QT分割、二叉树(BT)分割、三叉树(TT)分割或者其任何组合,将视频块分割为一个或多个块分区或子块(其可以再次形成块)。应当注意,如本文所使用的术语“块”或“视频块”可以是帧或图片的一部分,特别是矩形(正方形或非正方形)部分。例如,参考HEVC和VVC,块或视频块可以是或者对应于编码树单元(CTU)、CU、预测单元(PU)或变换单元(TU),和/或可以是或对应于相应的块(例如,编码树块(CTB)、编码块(CB)、预测块(PB)或转换块(TB))。替代地或另外地,该块或视频块可以是或者对应于CTB、CB、PB、TB等等的子块。
预测处理单元41可以基于误差结果(例如,编码率和失真水平),为当前视频块选择多个可能的预测编码模式中的一个(例如,多个帧内预测编码模式之一或多个帧间预测编码模式之一)。预测处理单元41可以将所获得的帧内或帧间预测编码块(例如,预测块)提供给加法器50以生成残差块,并提供给加法器62以重构编码块以随后用作参考帧的一部分。预测处理单元41还向熵编码单元56提供诸如运动矢量、帧内模式指示符、分割信息之类的语法元素和其它这样的语法信息。
为了为当前视频块选择合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与要编码的当前块在同一帧中的一个或多个相邻块,执行当前视频块的帧内预测编码,以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块,执行当前视频块的帧间预测编码,以提供时间预测。视频编码器20可以执行多个编码过程,例如,为每个视频数据块选择适当的编码模式。
在一些实施方式中,运动估计单元42通过生成运动矢量来确定用于当前视频帧的帧间预测模式,该运动矢量根据视频帧序列内的预定模式,指示当前视频帧内的视频块相对于参考帧内的预测块的位移。由运动估计单元42执行的运动估计可以是生成运动矢量的过程,其中这些运动矢量可以估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块相对于参考帧内的预测块的位移。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于由运动估计单元42确定用于帧间预测的运动矢量的方式,来确定用于帧内BC编码的矢量(例如,块矢量),或者可以利用运动估计单元40来确定块矢量。
用于视频块的预测块可以是或者可以对应于参考帧的块或参考块,认为该参考帧的块或参考块在像素差方面与要编码的视频块紧密匹配,可以通过绝对差之和(SAD)、平方差之和(SSD)或其它差度量来确定像素差。在一些实施方式中,视频编码器20可以计算存储在DPB 64中的参考帧的亚整数像素位置的值。例如,视频编码器20可以插值参考帧的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过将视频块的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较,来计算帧间预测编码帧中的视频块的运动矢量,其中第一参考帧列表和第二参考帧列表中的每个参考帧列表标识存储在DPB 64中的一个或多个参考帧。运动估计单元42将计算出的运动矢量发送到运动补偿单元44,然后发送到熵编码单元56。
运动补偿单元44执行的运动补偿可以涉及:基于运动估计单元42确定的运动矢量来提取或生成预测块。在接收到当前视频块的运动矢量之后,运动补偿单元44可以在参考帧列表之一中定位运动矢量所指向的预测块,从DPB 64中取回预测块,并将预测块转发给加法器50。然后,加法器50通过从正在编码的当前视频块的像素值中减去运动补偿单元44提供的预测块的像素值,来形成像素差值的残差块。形成残差块的像素差值可以包括亮度或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素,以供视频解码器30在解码视频帧的视频块时使用。语法元素可以包括:例如,定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标志、或者本文描述的任何其它语法信息。应当注意,运动估计单元42和运动补偿单元44可以集成在一起,但出于概念说明目的而在图2中单独示出。
在一些实施方式中,帧内BC单元48可以以类似于上文结合运动估计单元42和运动补偿单元44所描述的方式来生成矢量并提取预测块,但是预测块与正在编码的当前块在同一帧中,并且这些矢量被称为块矢量而不是运动矢量。特别地,帧内BC单元48可以确定用于对当前块进行编码的帧内预测模式。在一些例子中,帧内BC单元48可以使用各种帧内预测模式(例如,在单独的编码过程期间)对当前块进行编码,并通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以从各种测试的帧内预测模式中选择适当的帧内预测模式,以使用并相应地生成帧内模式指示符。例如,帧内BC单元48可以针对各种测试的帧内预测模式使用率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模型作为要使用的适当帧内预测模式。率失真分析通常确定编码块和原始未编码块之间的失真量(或误差)、以及用于产生编码块的比特率(即,比特数量),其中对原始未编码的块进行编码以产生编码块。帧内BC单元48可以根据各种编码块的失真和速率来计算比率,以确定哪个帧内预测模式表现出该块的最佳率失真值。
在其它例子中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44,以根据本文所描述的实施方式来执行用于帧内BC预测的这些功能。在任一种情况下,对于帧内块复制,预测块可以是被认为在像素差方面与要编码的块紧密匹配的块,可以通过SAD、SSD或其它差度量来确定像素差,并且对预测块的识别可以包括计算亚整数像素位置的值。
无论预测块来自根据帧内预测的同一帧,还是来自根据帧间预测的不同帧,视频编码器20都可以通过从正在编码的当前视频块的像素值中减去预测块的像素值来形成残差块,从而形成像素差值。形成残差块的像素差值可以包括亮度和色度分量差。
如上所述,帧内预测处理单元46可以对当前视频块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测或者由帧内BC单元48执行的帧内块复制预测的替代。具体地说,帧内预测处理单元46可以确定用于对当前块进行编码的帧内预测模式。例如,帧内预测处理单元46可以使用各种帧内预测模式对当前块进行编码(例如,在单独的编码过程期间),并且帧内预测处理单元46(或者在一些例子中的模式选择单元)可以从测试的帧内预测模式中选择要使用的适当帧内预测模式。帧内预测处理单元46可以向熵编码单元56提供用于指示针对块所选择的帧内预测模式的信息。熵编码单元56可以将指示所选帧内预测模式的信息编码在比特流中。
根据本公开内容,可以采用各种工具来提高预测处理单元41的编码效率。例如,为了提高运动矢量的编码效率,可以使用诸如基于历史的MVP(HMVP)和自适应运动矢量分辨率(AMVR)之类的编码工具。为了提高运动补偿的准确性,可以结合几种编码工具,例如,仿射运动补偿、几何分割、具有CU级权重的双向预测(BCW)等。
在一些实施方式中,除了合并模式之外,具有运动矢量差的合并模式(MMVD)也可用于运动补偿预测。在发送常规合并标志后立即用信号发送MMVD标志,以指定是否将MMVD模式用于CU。在MMVD中,在选择合并候选之后,通过用信号发送的MVD信息对其进行进一步细化。进一步的信息包括合并候选标志、用于指定运动幅度的索引、以及用于指示运动方向的索引。在MMVD模式中,选择合并列表中的前两个候选中一个作为MV基础。用信号通知MMVD候选标志,以指定在第一合并候选和第二合并候选之间使用哪一个。
在一些实施方式中,可以使用仿射运动补偿预测模式。在HEVC中,只将平移运动模型应用于运动补偿预测。而在现实世界中,可能存在各种类型的运动(例如,放大、缩小、旋转、透视运动和其它不规则运动),在VVC和AVS3标准中,可以通过发信号通知针对每个帧间编码块的标志来应用仿射运动补偿预测,以指示是将平移运动模型还是仿射运动模型应用于帧间预测。稍后在本公开内容中参考图5A-5B来提供关于仿射模式的简要讨论。
在预测处理单元41通过帧间预测或帧内预测确定当前视频块的预测块之后,加法器50通过从当前视频块中减去预测块来形成残差块。残差块中的残差视频数据可以包括在一个或多个TU中,并提供给变换处理单元52。变换处理单元54使用诸如离散余弦变换(DCT)或概念上类似的变换之类的变换,将残差视频数据变换为变换系数。
变换处理单元52可以将获得的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减少与一些或所有系数相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些例子中,量化单元54然后可以执行包括量化变换系数的矩阵的扫描。替代地,熵编码单元56可以执行该扫描。
在量化之后,熵编码单元56可以使用例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算法编码(SBAC)、概率区间分割熵(PIPE)编码或另一种熵编码方法或技术,使用熵编码技术将经量化的变换系数熵编码成视频比特流。然后,可以将编码的比特流发送到视频解码器30(如图1中所示),或者存档在存储设备32中(如图1中所示)以便稍后发送到视频解码器30或由视频解码器30获取。熵编码单元56还可以使用熵编码技术,对正在编码的当前视频帧的运动矢量和其它语法元素进行编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换来重构像素域中的残差块,以生成用于预测其它视频块的参考块。可以生成重构的残差块。如上所述,运动补偿单元44可以根据存储在DPB 64中的帧的一个或多个参考块,来生成经运动补偿的预测块。运动补偿单元44还可以向预测块应用一个或多个插值滤波器,以计算在运动估计时使用的亚整数像素值。
加法器62将重构的残差块与运动补偿单元44产生的经运动补偿的预测块相加,以产生用于存储在DPB 64中的参考块。然后,帧内BC单元48、运动估计单元42和运动补偿单元44可以使用参考块作为预测块,对后续视频帧中的另一个视频块进行帧间预测。
图3是示出根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81还包括运动补偿单元82、帧内预测单元84和帧内BC单元85。视频解码器30可以执行与以上结合图2描述的视频编码器20的编码过程大致相反的解码过程。例如,运动补偿单元82可以基于从熵解码单元80接收的运动矢量来生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符来生成预测数据。
在一些例子中,可以将视频解码器30的一个单元指派为执行本申请的实现。此外,在一些例子中,可以在视频解码器30的一个或多个单元之间划分本公开内容的实现。例如,帧内BC单元85可以单独地或者与视频解码器30的其它单元(例如,运动补偿单元82、帧内预测单元84和熵解码单元80)组合来执行本申请的实现。在一些例子中,视频解码器30可以不包括帧内BC单元85,并且可以由预测处理单元81的其它组件(例如,运动补偿单元82)来执行帧内BC单元85的功能。
视频数据存储器79可以存储视频数据(例如,编码的视频比特流),以便由视频解码器30的其它组件进行解码。存储在视频数据存储器79中的视频数据可以通过视频数据的有线或无线网络通信,例如从存储设备32、本地视频源(如摄像机)获得,或者通过访问物理数据存储介质(例如,闪存驱动器或硬盘)来获得。视频数据存储器79可以包括编码图片缓冲器(CPB),其存储来自编码视频比特流的经编码视频数据。视频解码器30的DPB 92存储参考视频数据,以供视频解码器30(例如,在帧内或帧间预测编码模式下)解码视频数据时使用。视频数据存储器79和DPB 92可以由各种存储器设备中的任何一种形成,例如动态随机存取存储器(DRAM)(其包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM))或其它类型的存储器设备。为了便于说明起见,在图3中将视频数据存储器79和DPB 92描述为视频解码器30的两个不同组件。但是,对于本领域普通技术人员来说,可以由相同的存储器设备或单独的存储器设备来提供视频数据存储79和DPB 92。在一些例子中,视频数据存储器79可以与视频解码器30的其它组件在芯片上,或者相对于那些组件在片外。
在解码过程中,视频解码器30接收表示编码的视频帧的视频块和相关联语法元素的编码视频比特流。视频解码器30可以接收视频帧级和/或视频块级的语法元素。视频解码器30的熵解码单元80可以使用熵解码技术,对比特流进行解码以获得经量化的系数、运动矢量或帧内预测模式指示符以及其它语法元素。然后,熵解码单元80将运动矢量或帧内预测模式指示符和其它语法元素转发到预测处理单元81。
当视频帧被编码为帧内预测编码(例如,I)帧或其它类型帧中的帧内编码预测块时,预测处理单元81的帧内预测单元84可以基于发信号通知的帧内模式和来自当前帧的先前解码块的参考数据,来生成当前视频帧的视频块的预测数据。
当视频帧被编码为帧间预测编码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其它语法元素,为当前视频帧的视频块生成一个或多个预测块。预测块中的每一个可以是从参考帧列表之一内的参考帧产生的。视频解码器30可以使用基于存储在DPB 92中的参考帧的缺省构造技术,来构造参考帧列表(例如,列表0和列表1)。
在一些例子中,当根据本文描述的帧内BC模式对视频块进行编码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其它语法元素来生成当前视频块的预测块。这些预测块可以在与视频编码器20所处理的当前视频块相同的图片的重构区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其它语法元素,来确定当前视频帧的视频块的预测信息,然后使用预测信息来产生正在解码的当前视频块的预测块。例如,运动补偿单元82使用所接收的语法元素中的一些,来确定用于对视频帧的视频块进行编码的预测模式(例如,帧内或帧间预测)、帧间预测帧类型(例如,B或P)、针对该帧的一个或多个参考帧列表的构造信息、该帧的每个帧间预测编码视频块的运动矢量、该帧的各个帧间预测编码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其它信息。
类似地,帧内BC单元85可以使用所接收到的语法元素中的一些(例如,标志),来确定当前视频块是使用帧内BC模式预测的、该帧的哪些视频块在重构区域内并且应该存储在DPB 92中的构造信息、该帧的每个帧内BC预测视频块的块矢量、该帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其它信息。
运动补偿单元82还可以使用视频编码器20在视频块编码期间使用的插值滤波器来执行插值,以计算参考块的亚整数像素的插值。在这种情况下,运动补偿单元82可以根据接收到的语法元素来确定视频编码器20使用的插值滤波器,并使用插值滤波器来生成预测块。
逆量化单元86使用视频编码器20针对视频帧中的每个视频块计算的相同量化参数(用于确定量化程度),对比特流中提供并且由熵解码单元80解码的量化变换系数进行逆量化。逆变换处理单元88对变换系数应用逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),以便重构像素域中的残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其它语法元素生成当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与运动补偿单元82和帧内BC单元85生成的相应预测块进行相加,来重构当前视频块的经解码视频块。解码的视频块也可以称为当前视频块的重构块。诸如去块滤波器、SAO滤波器和/或ALF之类的环路滤波器91可以位于加法器90和DPB 92之间,以进一步处理经解码的视频块。在一些例子中,可以省略环路滤波器91,加法器90可以将解码的视频块直接提供给DPB 92。然后,将给定帧中的经解码视频块存储在DPB 92中,DPB 92存储用于下一个视频块的后续运动补偿的参考帧。DPB92或者与DPB 92分离的存储设备也可以存储解码的视频,以供稍后在显示设备(例如,图1的显示设备34)上呈现。
在典型的视频编解码过程(例如,包括视频编码过程和视频解码过程)中,视频序列通常包括有序的帧或图片集合。每个帧可以包括三个样点阵列,它们表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其它情况下,一帧可以是单色的,因此仅包括一个亮度样点的二维阵列。
如图4A中所示,视频编码器20(或更具体地,分割单元45)通过首先将帧划分为一组CTU来生成帧的编码表示。视频帧可以包括按光栅扫描顺序,从左到右和从上到下连续排列的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20在序列参数集中用信号通知CTU的宽度和高度,使得视频序列中的所有CTU具有相同的大小,即128×128、64×64、32×32和16×16中的一个。但是应当注意,本公开内容中的CTU不一定限于特定的大小。如图4B中所示,每个CTU可以包括亮度样点的一个CTB、色度样点的两个对应的编码树块、以及用于对编码树块的样点进行编码的语法元素。语法元素描述了像素的编码块的不同类型的单元的特性,以及如何在视频解码器30处重建视频序列(包括帧间或帧内预测、帧内预测模式、运动矢量和其它参数)。在单色图片或具有三个独立色平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编码的语法元素。一个编码树块可以是N×N样点块。
为了获得更好的性能,视频编码器20可以对CTU的编码树块递归地执行树划分(例如,二叉树划分、三叉树划分和四叉树划分或其组合),并将CTU划分为更小的CU。如图4C中所示,首先将64×64CTU 400划分为四个较小的CU,每个CU具有32×32的块大小。在这四个较小的CU中,CU 410和CU 420各自按块大小划分为16×16的四个CU。两个16×16CU 430和440各自按块大小进一步划分为4个8×8的CU。图4D示出了四叉树数据结构,其示出了如图4C所示的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于一个CU,其各自的大小范围从32×32到8×8。类似于图4B中所描绘的CTU,每个CU可以包括具有相同大小的帧的亮度样点的CB和色度样点的两个对应编码块,以及用于对编码块的样点进行编码的语法元素。在单色图片或具有三个独立色平面的图片中,一个CU可以包括单个编码块和用于对编码块的样点进行编码的语法结构。应当注意,图4C和4D中所描绘的四叉树分割仅用于说明目的,并且可以将一个CTU分割成CU以适应基于四叉/三叉/二叉树分割的变化的局部特性。在多类型树结构中,一个CTU由四叉树结构进行分割,并且每个四叉树叶CU可以进一步由二叉树和三叉树结构进行分割。如图4E中所示,具有宽度W和高度H的编码块存在多种可能的分割类型,即,四元分割、垂直二元分割、水平二元分割、垂直三元分割、垂直扩展三元分割、水平三元分割和水平扩展三元分割。
在一些实施方式中,视频编码器20可以进一步将CU的编码块划分为一个或多个M×N PB。一个PB可以包括矩形(正方形或非正方形)样点块,在该样点块上应用相同的预测(帧间或帧内)。CU的PU可以包括亮度样点的PB、色度样点的两个对应的PB、以及用于预测PB的语法元素。在单色图片或具有三个独立色平面的图片中,一个PU可以包括单个PB和用于预测PB的语法结构。视频编码器20可以生成CU的每个PU的亮度、Cb和Cr PB的预测亮度块、预测Cb块和预测Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的解码样点,来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除了与PU相关联的帧之外的一个或多个帧的解码样点,来生成PU的预测块。
在视频编码器20为CU的一个或多个PU生成预测亮度块、预测Cb块和预测Cr块之后,视频编码器20可以通过从CU的原始亮度编码块中减去CU的预测亮度块来生成CU的亮度残差块,使得CU的亮度残差块中的每一个样点指示CU的预测性亮度块之一中的亮度样点与CU的原始亮度编码块中的对应样点之间的差。类似地,视频编码器20可以为CU分别生成Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一中的Cb样点与CU的原始Cb编码块中的对应样点之间的差,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编码块中的对应样点之间的差。
此外,如图4C中所示,视频编码器20可以使用四叉树分割来将CU的亮度残差块、Cb残差块和Cr残差块分别分解为一个或多个亮度变换块、Cc变换块和Cr变换块。变换块可以包括应用了相同变换的矩形(正方形或非正方形)样点块。CU的TU可以包括亮度样点的变换块、色度样点的两个对应变换块、以及用于对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些例子中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个独立色平面的图片中,TU可以包括单个变换块和用于对变换块的样点进行变换的语法结构。
视频编码器20可以对TU的亮度变换块应用一个或多个变换,以生成TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用于TU的Cb变换块,以生成用于TU的Cb系数块。视频编码器20可以将一个或多个变换应用于TU的Cr变换块,以生成用于TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指对变换系数进行量化,以可能减少用于表示变换系数的数据量,从而提供进一步压缩的过程。在视频编码器20对系数块进行量化之后,视频编码器20可以应用熵编码技术,来对指示量化的变换系数的语法元素进行编码。例如,视频编码器20可以对指示量化的变换系数的语法元素执行CABAC。最后,视频编码器20可以输出比特流,该比特流包括形成编码帧和相关数据的表示的比特序列,该比特序列保存在存储设备32中或者发送到目的地设备14。
在接收到视频编码器20生成的比特流之后,视频解码器30可以对该比特流进行解析,以从该比特流中获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重构视频数据的帧。重构视频数据的过程通常与视频编码器20执行的编码过程是互易的。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换,以重构与当前CU的TU相关联的残差块。视频解码器30还通过将当前CU的PU的预测块的样点添加到当前CU的TU的变换块的对应样点,来重构当前CU的编码块。在重构帧的每个CU的编码块之后,视频解码器30可以重构该帧。
如上所述,视频编解码主要使用两种模式来实现视频压缩,即帧内预测(intra-frame prediction)(或帧内预测(intra-prediction))和帧间预测(inter-frameprediction)(或帧间预测(inter-prediction))。应当注意,帧内块复制(IBC)可以视作为帧内预测或第三模式。在这两种模式之间,帧间预测比帧内预测对编码效率的贡献更大,这是因为使用了运动矢量来根据参考视频块预测当前视频块。
但是,随着视频数据捕获技术的不断改进和使用更精细的视频块大小来保留视频数据中的细节,表示当前帧的运动矢量所需的数据量也大幅增加。克服这一挑战的一种方法是受益于以下的事实:即,不仅在空间域和时间域中的一组相邻CU具有用于预测目的的相似视频数据,而且这些相邻CU之间的运动矢量也是相似的。因此,通过探索它们的空间和时间相关性,可以使用空间上相邻的CU和/或时间上共处的CU的运动信息作为当前CU的运动信息(例如,运动矢量)的近似,这也称为当前CU的“运动矢量预测器(MVP)”。
不是将当前CU的实际运动矢量编码到视频比特流中(例如,如上文结合图2描述的运动估计单元42确定实际运动矢量),从当前CU的实际运动矢量中减去当前CU的运动矢量预测器以产生当前CU的运动矢量差(MVD)。这样就不需要将运动估计单元42针对帧的每个CU确定的运动矢量编码到视频比特流中,并且可以显著地减少用于表示视频比特流中的运动信息的数据量。
类似于在编码块的帧间预测期间在参考帧中选择预测块的过程,视频编码器20和视频解码器30都可以采用一组规则,以便使用与当前CU的空间上相邻的CU和/或时间上共处的CU相关联的那些潜在候选运动矢量来构建当前CU的运动矢量候选列表(也称为“合并列表”),然后从运动矢量候选列表中选择一个成员作为当前CU的运动矢量预测器。通过这样做,不需要将运动矢量候选列表本身从视频编码器20发送到视频解码器30,并且运动矢量候选列表内的所选运动矢量预测器的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内的相同运动矢量预测器来对当前CU进行编码和解码。因此,只需要将所选择的运动矢量预测器的索引从视频编码器20发送到视频解码器30。
图5A-5B根据本公开内容的一些实施方式,分别示出了示例性4参数仿射运动模型和示例性4参数仿射运动模型。在一些实施方式中,可以选择这两个仿射模式中的一个,并应用其来对视频块进行编码(例如,通过图2的预测处理单元41)。
图5A中所示的4参数仿射运动模型包括以下仿射参数:分别用于水平和垂直方向上的平移运动的两个参数、用于缩放运动的一个参数、以及用于水平和垂直方向上的旋转运动的一个参数。在该模型中,水平缩放参数可以等于垂直缩放参数,水平旋转参数可以等于垂直旋转参数。为了更好地适应运动矢量和仿射参数,可以用位于当前视频块的两个控制点(例如,左上角和右上角)的两个运动矢量(称为控制点运动矢量(CPMV)),对该模型的仿射参数进行编码。如图5A中所示,可以通过两个CPMV V0和V1来描述视频块的仿射运动场(例如,视频块的运动矢量)。基于控制点运动,可以使用以下表达式(1)来导出视频块内具有位置(x,y)的仿射编码子块的运动场:
在上面的表达式(1)中,vx和vy分别表示位置(x,y)处的仿射编码子块的运动矢量的x分量和y分量。w表示视频块的宽度。v0x和v0y分别表示CPMV V0的x分量和y分量。v1x和v1y分别表示CPMV V1的x分量和y分量。
如图5B中所示的6参数仿射运动模型包括以下仿射参数:分别用于水平和垂直方向上的平移运动的两个参数、分别用于水平方向上的缩放运动和旋转运动的两个参数、以及分别用于垂直方向上缩放运动和旋转运动的另外两个参数。可以使用三个控制点的三个CPMV,对6参数仿射运动模型进行编码。如图5B中所示,6参数仿射视频块的三个控制点位于视频块的左上角、右上角和左下角,并且分别与CPMV V0、V1和V2相关联。左上控制点处的运动与平移运动有关,右上控制点处的运动与水平方向的旋转和缩放运动有关,左下控制点的运动与垂直方向的旋转和缩放运动有关。与4参数仿射运动模型相比,6参数仿射运动模型的水平方向上的旋转和缩放运动可以与垂直方向上的旋转和缩放运动不同。可以使用三个控制点处的三个CPMV,通过以下方式导出位于视频块的位置(x,y)处的每个子块的运动矢量(vx,vy):
在上面的表达式(2)中,vx和vy分别表示位置(x,y)处的仿射编码子块的运动矢量的x分量和y分量。w和h分别表示视频块的宽度和高度。v0x和v0y分别表示CPMV V0的x分量和y分量。v1x和v1y分别表示CPMV V1的x分量和y分量。v2x和v2y分别表示CPMV V2的x分量和y分量。
在一些实施方式中,为了简化运动补偿预测,应用了基于块的仿射变换预测。为了导出每个4×4亮度子块的运动矢量,计算每个子块的中心样点的运动矢量,并四舍五入到1/16分数精度。然后应用运动补偿插值滤波器来生成具有导出的运动矢量的每个子块的预测。也将色度分量的子块大小设置为4×4。将4×4色度子块的MV计算为共位的8x8亮度区域中的左上和右下亮度子块的MV的平均值。
类似于平移运动帧间预测,可以使用几种仿射运动预测模式,例如仿射合并模式、仿射AMVP模式或仿射MMVD。此外,可以在ECM中使用仿射MMVD,其组合了仿射合并模式和MMVD模式。
在一些实施方式中,仿射合并模式可以应用于宽度和高度都大于或等于8的CU。在仿射合并模式中,基于空间相邻CU的运动信息来生成当前CU的CPMV。可以有多达五个CPMVP候选,并且用信号发送索引来指示要用于当前CU的那一个CPMVP候选。
在一些实施方式中,仿射AMVP模式可以应用于宽度和高度都大于或等于16的CU。在比特流中用信号通知CU级别的仿射标志,以指示是否使用仿射AMVP模式,然后用信号通知另一个标志,以指示是4参数仿射还是6参数仿射。在该模式中,在比特流中用信号通知当前CU的CPMV与其预测器CPMVP之间的差。
在一些实施方式中,可以应用仿射MMVD模式。仿射MMVD模式是仿射合并模式和MMVD模式的组合。除了指示PU的运动信息的仿射合并索引之外,还用信号通知MVD信息以细化运动信息。然后,按顺序用信号通知距离索引和方向索引以指示MVD。
根据本公开内容,仿射预测模式可以与几何分割模式一起使用,以提高仿射运动补偿预测的编码效率。特别地,仿射运动补偿预测通常应用于矩形块。然而,在实践中,运动对象可能具有不规则的形状。根据本公开内容,采用几何分割来处理形状不规则的运动对象。
在VVC中,帧间预测支持几何分割模式(GPM)。通过一个CU级标志,将几何分割模式发信号通知为一个特殊合并模式。在当前的GPM设计中,针对每个可能的CU大小(宽度和高度都不小于8且不大于64,不包括8x64和64x8),GPM模式总共支持64个分割。例如,图6是示出根据本公开内容的一些实施方式的示例性几何分割的图形表示。如图6所示,当使用GPM模式时,通过几何定位的直线将CU分成两部分。在一些实施方式中,可以根据特定分割的角度和偏移参数,数学地导出分割线的位置。
CU中的几何分割的每个部分可以使用其自身的运动进行帧间预测。在一些实施方式中,每个分割只允许单向预测,即每个部分有一个运动矢量和一个参考索引。应用单向预测运动约束,以确保与传统双向预测相同,每个CU只需要两个运动补偿预测。如果当前CU使用几何分割模式,则几何分割索引指示几何分割的划分模式(角度和偏移),并且进一步用信号通知两个合并索引(每个分割一个)。在序列级别,显式地发信号通知最大GPM候选大小的数量。
在一些实施方式中,为了导出一个几何分割的单向预测运动矢量,首先直接从常规合并候选列表生成过程中导出一个单向预测候选列表。例如,图7根据本公开内容的一些实施方式,示出了从用于几何分割模式的合并候选列表的运动矢量中的示例性单向预测运动矢量选择。如图7中所示,n表示几何单向预测候选列表中的单向预测运动的索引。将第n个合并候选的LX运动矢量(X等于n的奇偶性)用作几何分割模式的第n个单向预测运动矢量。在图7中用“x”标记这些运动矢量。如果第n个扩展合并候选的对应LX运动矢量不存在,则使用相同候选的L(1-X)运动矢量作为几何分割模式的单向预测运动矢量。
在一些实施方式中,在编码器侧(例如,由视频编码器20),在CU级发送一个标志来指示GPM的使用。仅在当前CU通过合并模式或跳过模式进行编码时,才发信号通知该标志。例如,当该标志等于1时,它指示通过GPM预测当前CU。否则(该标志等于零),通过另一种合并模式(例如,常规合并模式、具有运动矢量差的合并模式、组合的帧间和帧内预测等等),对CU进行编码。在为当前CU启用GPM时,进一步发信号通知一个语法元素(即,merge_gpm_partition_idx)以指示所应用的几何分割模式(其指定从CU中心的直线的方向和偏移,该直线将CU划分为两个分割,如图5中所示)。之后,用信号通知两个语法元素merge_gpm_idx0和merge_gpm_idx1,以指示用于第一和第二gpm分割的单向预测合并候选的索引。在一些实施方式中,使用这两个语法元素从单向预测合并列表中确定两个GPM分割的单向MV,如“单向预测合并列表构造”一节中所描述的。
在一些实施方式中,为了使两个单向MV更不同,两个索引不能相同。基于这样的先验知识,首先发信号通知第一GPM分割的单向预测合并索引,并将其用作预测器,以减少第二GPM分割的单向预测合并索引的信令开销。例如,如果第二单向预测合并索引小于第一单向预测合并索引,则直接用信号通知其原始值。否则(第二单向预测合并索引大于第一单向预测合并索引),将其值减去1,然后用信号发送到比特流。
在解码器(例如,视频解码器30)侧,首先对第一单向预测合并索引进行解码。在一些实施方式中,为了对第二单向预测合并索引进行解码,如果解析值小于第一单向预测合并索引,则将第二单向预测合并索引设置为等于解析值。否则(解析值等于或大于第一单向预测合并索引),将第二单向预测合并索引设置为等于解析的值加1。举一个例子,表1说明了当前VVC规范中用于GPM模式的现有语法元素。
表1
在一些实施方式中,截断的一元码可以用于两个单向预测合并索引(即,merge_GPM_idx0和merge_GPM_idx1)的二元化。此外,由于两个单向预测合并索引不能相同,因此使用不同的最大值来截断两个单向预测合并索引的码字,对于merge_gpm_idx0和merge_gpm_idx1,这两个最大值分别设置为MaxGPMMergeCand-1和MaxGPMMergeCand-2。MaxGPMMergeCand是单向预测合并列表中的候选数量。
根据本公开内容,使用几何分割来实现仿射运动补偿预测。在这些实现中,可以将CU划分为两个部分,并且每个部分可以用不同的模式进行编码,或者这两个部分使用相同的模式但用不同的参数进行编码。用于对这两个部分进行编码的至少一个模式是仿射模式,例如上面公开的那些模式之一。结合仿射模式,也可以使用帧间模式或帧内模式来对两个部分中的一个进行编码。通过将几何分割模式与仿射模式一起使用,所公开的运动补偿预测方法可以处理具有不规则形状的运动对象以及高阶运动。
图8是根据本公开内容的一些实施方式,用于在视频中进行具有几何分割的运动补偿预测的示例性方法800的流程图。方法800可以由与视频编码器20或视频解码器30相关联的视频处理器来实现,并且可以包括如下所述的步骤802-808。根据不同的技术实现方式,这些步骤中的一些步骤对于执行本文所提供的公开内容来说可以是可选的。此外,这些步骤中的一些步骤可以同时执行,或者以与图8所示不同的顺序来执行。实施例的所有这些变型都落入本申请的保护范围内。图9是根据本公开内容的一些实施方式,示出具有几何分割的示例性仿射运动补偿预测的图形表示。将一起描述图8-9。
在步骤802中,视频处理器可以对来自视频的视频帧的视频块执行几何分割。在一些实施方式中,该视频块可以是CU。如图9中所示,可以通过几何定位线将CU划分为两部分。例如,CU中由几何定位线分开的两个部分可以分别表示为分割PU0和PU1。如图9中所示,在几何分割的情况下,PU0和PU1不是矩形的。图9中所示的几何定位线的角度和偏移仅仅是示例性的。根据具体应用,例如,基于视频中的运动对象的形状,可以使用其它角度和偏移。
在步骤804中,视频处理器可以将第一运动预测模式应用于第一分割(例如,在每个分割示例中,图9中所示的PU0),并将第二运动预测模式应用于第二分割(例如,在每个分割示例中,图9中所示的PU1)。根据本公开内容,应用的至少一个模式是仿射模式。
在步骤806中,视频处理器可以用信号通知视频块的标志,以指示几何仿射模式。在一些实施方式中,可以用信号通知视频块的标志,该标志指示将向该视频块应用几何仿射模式。替代地,可以用信号通知视频块的标志,该标志指示针对该视频块启用几何仿射模式。在一些实施方式中,如果应用相同的模式(例如,仿射模式)对两个分割进行编码,则发信号通知CU级别的标志来指示几何仿射模式。否则,如果将不同的模式分别应用于两个分割,则发信号通知CU级别的标志来指示几何仿射模式,随后是指示使用哪个组合的索引。在一些实施方式中,将指示所选择的预测模式的信息编码在比特流中,例如,包括CU级别用信号通知的标志、指示用于CU中的分割的运动预测模式的组合的索引、以及用信号指示分割的运动信息或定义运动预测模式的参数的其它标志和索引。
参考图9描述了步骤804和806的各种实现方式。图9示出了应用于两个分割PU0和PU1的运动补偿预测模式的三种不同组合。
在图9(a)所示的第一例子中,使用包括仿射AMVP模式、仿射合并模式或具有运动矢量差的仿射合并(MMVD)模式的仿射模式,对两个分割进行编码。因此,根据每个分割的仿射模式类型,总共有六个不同的组合。应当注意,可以单独地使用或联合地使用以下每种情况。
在图9(a)的第一示例组合中,CU中的两个PU都用仿射AMVP模式进行编码。对于每个PU,如参考图5A-5B所述,用信号发送标志以指示4参数或6参数仿射模式。然后在比特流中用信号通知帧间预测方向、参考索引、以及CPMV和CPMV预测器的差。最后,用信号通知CMVP索引以指示CMVP。
在图9(a)的第二示例组合中,CU中的一个PU使用仿射AMVP模式进行编码,而另一个PU则使用仿射合并模式进行编码。根据每个PU的预测模式,这种组合具有以下两种可能的实现方式:·PU0用仿射AMVP模式进行编码,PU1用仿射合并模式进行编码
·PU0用仿射合并模式进行编码,PU1用仿射AMVP模式进行编码
如果针对当前CU选择了该组合,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于用仿射合并模式编码的PU,用信号通知仿射合并索引。
在图9(a)的第三示例组合中,CU中的一个PU使用仿射AMVP模式进行编码,而另一个PU则使用仿射MMVD模式进行编码。根据每个PU的预测模式,这种组合具有以下两种可能的实现方式:
·PU0用仿射AMVP模式进行编码,PU1用仿射MMVD模式进行编码
·PU0用仿射MMVD模式进行编码,PU1用仿射AMVP模式进行编码
如果针对当前CU选择了该组合,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。
在图9(a)的第四示例组合中,CU中的两个PU都使用仿射合并模式进行编码,但具有不同的仿射合并索引。如果针对当前CU选择了这种情况,则用信号通知两个仿射合并索引以分别指示两个PU的运动信息。
在图9(a)的第五示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用仿射MMVD模式进行编码。根据每个PU的预测模式,这种情况具有以下组合。
·PU0用仿射合并模式进行编码,PU1用仿射MMVD模式进行编码
·PU0用仿射MMVD模式进行编码,PU1用仿射合并模式进行编码
如果针对当前CU选择了这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式编码的PU,用信号通知仿射合并索引以指示PU的运动信息。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。
在图9(a)的第六示例组合中,CU中的两个PU都使用仿射MMVD模式进行编码,但具有不同的仿射合并索引。如果针对当前CU选择了这种情况,则用信号通知两个仿射MMVD候选标志以分别指示两个PU的运动信息,然后分别指示两个子PU的距离索引和方向索引。
在一些实施方式中,仿射AMVP候选的构造可以重用当前仿射AMVP模式的构造。规则仿射合并模式的CPMVP候选列表构造可以重复用于几何仿射合并模式。举一个例子,表2提供了组合两个仿射模式编码块的语法元素。
表2
/>
在一些场景中,CU的一部分可能遵循仿射运动,而其它部分可能遵循简单平移运动。为了有效地处理这种情况,如图9(b)的第二示例所示,使用仿射模式对一个分割进行编码,并且使用规则平移帧间模式对另一个分割进行编码。同样,可以从仿射AMVP模式、仿射合并模式或仿射MMVD模式中选择仿射模式。可以从常规AMVP模式、常规合并模式和常规MMVD模式中选择平移帧间模式。因此,在图9(b)的示例中总共存在十二种不同的组合。
在图9(b)的第一示例组合中,CU中的一个PU使用仿射AMVP进行编码,而另一个PU则使用帧间AMVP进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式:
·PU0用仿射AMVP模式进行编码,PU1用常规AMVP模式进行编码
·PU0用常规AMVP模式进行编码,PU1用仿射AMVP模式进行编码
对于第一组合,PU0应用仿射AMVP,PU1应用帧间AMVP,而对于第二组合,PU0应用帧间AMVP,PU1应用仿射AMVP。如果针对当前CU选择了这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP模式编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于使用帧间AMVP模式编码的PU,用信号通知帧间预测方向、参考索引、AMVP索引和MVD。
在图9(b)的第二示例组合中,CU中的一个PU使用仿射AMVP进行编码,而另一个PU则使用常规合并模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式:
·PU0用仿射AMVP模式进行编码,PU1用常规合并模式进行编码
·PU0用常规合并模式进行编码,PU1用仿射AMVP模式进行编码
对于第一组合,PU0应用仿射AMVP模式,PU1应用常规合并模式,而对于第二组合,PU0应用常规合并模式,PU1应用仿射AMVP模式。如果针对当前CU选择了这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP模式编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于用常规合并模式编码的PU,用信号发送合并索引。
在图9(b)的第三示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用常规AMVP模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式:·PU0用仿射合并模式进行编码,PU1用常规AMVP模式进行编码
·PU0用常规AMVP模式进行编码,PU1用仿射合并模式进行编码
对于第一组合,PU0应用仿射合并,PU1应用帧间AMVP,而对于第二组合,PU0应用帧间AMVP,PU1应用仿射合并。如果针对当前CU选择了这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式进行编码的PU,用信号通知仿射合并索引。对于使用常规AMVP模式编码的PU,用信号通知预测方向、参考索引、AMVP索引和MVD。
在图9(b)的第四示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用常规合并模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射合并模式进行编码,PU1用常规合并模式进行编码
·PU0用常规合并模式进行编码,PU1用仿射合并模式进行编码
对于第一组合,PU0应用仿射合并模式,PU1应用常规合并模式,而对于第二组合,PU0应用常规合并模式,PU1应用仿射合并模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式编码的PU,用信号通知仿射合并索引。对于使用常规合并模式编码的PU,用信号发送合并索引。
在图9(b)的第五示例组合中,CU中的一个PU使用仿射AMVP模式进行编码,而另一个PU则使用常规MMVD模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射AMVP模式进行编码,PU1用MMVD模式进行编码
·PU0用MMVD模式进行编码,PU1用仿射AMVP模式进行编码
对于第一组合,PU0应用仿射AMVP模式,PU1应用MMVD模式,而对于第二组合,PU0应用MMVD模式,PU1应用仿射AMVP模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP模式编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于使用MMVD模式编码的PU,用信号通知合并索引,然后是距离索引和方向索引。
在图9(b)的第六示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用MMVD模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射合并模式进行编码,PU1用MMVD模式进行编码
·PU0用MMVD模式进行编码,PU1用仿射合并模式进行编码
对于第一组合,PU0应用仿射合并模式,PU1应用MMVD模式,而对于第二组合,PU0应用MMVD模式,PU1应用仿射合并模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式编码的PU,用信号通知仿射合并索引。对于使用MMVD模式编码的PU,用信号通知MMVD候选标志,然后是距离索引和方向索引。
在图9(b)的第七示例组合中,CU中的一个PU使用仿射MMVD模式进行编码,而另一个PU则使用AMVP模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射MMVD模式进行编码,PU1用AMVP模式进行编码
·PU0用AMVP模式进行编码,PU1用仿射MMVD模式进行编码
对于第一组合,PU0应用仿射MMVD模式,PU1应用AMVP模式,而对于第二组合,PU0应用AMVP模式,PU1应用仿射MMVD模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用AMVP模式编码的PU,用信号通知预测方向、参考索引、AMVP索引和MVD。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。
在图9(b)的第八示例组合中,CU中的一个PU使用仿射MMVD模式进行编码,而另一个PU则使用常规合并模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射MMVD模式进行编码,PU1用常规合并模式进行编码
·PU0用常规合并模式进行编码,PU1用仿射MMVD模式进行编码
对于第一组合,PU0应用仿射MMVD模式,PU1应用帧间合并,而对于第二组合,PU0应用常规合并模式,PU1应用仿射MMVD。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。对于使用常规合并模式编码的PU,用信号发送合并索引。
在图9(b)的第九示例组合中,CU中的一个PU使用仿射MMVD模式进行编码,而另一个PU则使用常规MMVD模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射MMVD模式进行编码,PU1用常规MMVD模式进行编码
·PU0用常规MMVD模式进行编码,PU1用仿射MMVD模式进行编码
对于第一组合,PU0应用仿射MMVD模式,PU1应用常规MMVD模式,而对于第二组合,PU0应用常规MMVD模式,PU1应用仿射MMVD模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。对于使用常规帧间MMVD模式编码的PU,用信号通知MMVD候选标志,然后是距离索引和方向索引。
在图9(b)的第十示例组合中,CU中的一个PU使用仿射AMVP模式进行编码,而另一个PU则使用模板间匹配/双边匹配(TM/BM)合并模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射AMVP模式进行编码,PU1用TM间/BM合并模式进行编码
·PU0用TM间/BM合并模式进行编码,PU1用仿射AMVP模式进行编码
对于第一组合,PU0应用仿射AMVP模式,PU1应用TM间/BM合并模式,而对于第二组合,PU0应用TM间/BM合并模式,PU1应用仿射AMVP模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP模式编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于用TM间/BM合并模式编码的PU,用信号发送合并索引。
在图9(b)的第十一示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用TM间/BM合并模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射合并模式进行编码,PU1用TM间/BM合并模式进行编码
·PU0用TM间/BM合并模式进行编码,PU1用仿射合并模式进行编码
对于第一组合,PU0应用仿射合并模式,PU1应用TM间/BM合并模式,而对于第二组合,PU0应用TM间/BM合并模式,PU1应用仿射合并模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式编码的PU,用信号发送仿射合并索引。对于用TM间/BM合并模式编码的PU,用信号发送合并索引。
在图9(b)的第十二示例组合中,CU中的一个PU使用仿射MMVD模式进行编码,而另一个PU则使用TM间/BM合并模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射MMVD模式进行编码,PU1用TM间/BM合并模式进行编码
·PU0用TM间/BM合并模式进行编码,PU1用仿射MMVD模式进行编码
对于第一组合,PU0应用仿射MMVD模式,PU1应用TM间/BM合并模式,而对于第二组合,PU0应用TM间/BM合并模式,PU1应用仿射MMVD模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。对于用TM间/BM合并模式编码的PU,用信号发送合并索引。
在一些另外的实现中,作为图9(b)的进一步示例组合,具有TM/BM的仿射合并模式也可以以与上述情况类似的方式与其它帧间模式进行组合。可以设想,可以联合使用上述情况,并使用附加索引来指示针对CU使用哪种情况。举一个例子,表3提供了对仿射模式和平移帧间模式进行组合的情况4的语法元素,其中gpm_affine_type_idx表示两个PU的预测模式组合类型。
表3
/>
在一些场景中,CU的一部分可能遵循仿射运动,而其它部分可能被遮挡,这不能通过帧间预测很好地预测。为了有效地处理这种情况,如图9(b)的第二示例所示,使用仿射模式对一个分割进行编码,而使用帧内/IBC模式对另一个分割进行编码。同样,可以从仿射AMVP模式、仿射合并模式或仿射MMVD模式中选择仿射模式。可以从帧内模式、IBC模式和IBC合并模式中选择帧内/帧内块复制(IBC)模式。因此,在图9(c)的示例中总共存在六种不同的组合。
在图9(c)的第一示例组合中,CU中的一个PU使用仿射AMVP模式进行编码,而另一个PU则使用帧内模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射AMVP模式进行编码,PU1用帧内模式进行编码
·PU0用帧内模式进行编码,PU1用仿射AMVP模式进行编码
对于第一组合,PU0应用仿射AMVP模式,PU1应用帧内模式,而对于第二组合,PU0应用帧内模式,PU1应用仿射AMVP模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP模式编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。
在一些实施方式中,对于使用帧内模式编码的PU,存在几种可能的解决方案:
a)PU使用固定的帧内模式,例如DC、平面或其它帧内模式
b)在编码器处通过率失真优化来选择帧内模式,并且在比特流中用信号通知帧内方向,如同在当前VVC中所做的
c)在解码器处通过分割线的方向来推断帧内模式
在图9(c)的第二示例组合中,CU中的一个PU使用仿射AMVP模式进行编码,而另一个PU则使用IBC模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射AMVP模式进行编码,PU1用IBC模式进行编码
·PU0用IBC模式进行编码,PU1用仿射AMVP模式进行编码
对于第一组合,PU0应用仿射AMVP模式,PU1应用IBC模式,而对于第二组合,PU0应用IBC模式,PU1应用仿射AMVP模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射AMVP模式编码的PU,用信号发送标志以指示4参数或6参数仿射模式,随后是帧间预测方向、参考索引、CPMV差和CMVP索引。对于使用IBC模式编码的PU,则在比特流中用信号通知MVD和MVP索引。替代地,也可以使用IBC合并模式来对PU进行编码,并相应地用信号发送合并索引。
在图9(c)的第三示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用帧内模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:·PU0用仿射合并模式进行编码,PU1用帧内模式进行编码
·PU0用帧内模式进行编码,PU1用仿射合并模式进行编码
对于第一组合,PU0应用仿射合并模式,PU1应用帧内模式,而对于第二组合,PU0应用帧内模式,PU1应用仿射合并模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式编码的PU,用信号通知仿射合并索引。在一些实施方式中,对于使用帧内模式编码的PU,存在几种可能的解决方案。
a)PU使用固定的帧内模式,例如DC、平面或其它帧内模式
b)在编码器处通过率失真优化来选择帧内模式,并且在比特流中用信号通知帧内方向,如同在当前VVC中所做的
c)在解码器处通过分割线的方向来推断帧内模式
在图9(c)的第四示例组合中,CU中的一个PU使用仿射合并模式进行编码,而另一个PU则使用IBC模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:·PU0用仿射合并模式进行编码,PU1用IBC模式进行编码
·PU0用IBC模式进行编码,PU1用仿射合并模式进行编码
对于第一组合,PU0应用仿射合并模式,PU1应用IBC模式,而对于第二组合,PU0应用IBC模式,PU1应用仿射合并模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射合并模式编码的PU,用信号通知仿射合并索引。对于使用IBC模式编码的PU,则用信号通知MVD和MVP索引。替代地,PU也可以用IBC合并模式进行编码,并相应地用信号发送合并索引。
在图9(c)的第五示例组合中,CU中的一个PU使用仿射MMVD模式进行编码,而另一个PU则使用帧内模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射MMVD模式进行编码,PU1用帧内模式进行编码
·PU0用帧内模式进行编码,PU1用仿射MMVD模式进行编码
对于第一组合,PU0应用仿射MMVD模式,PU1应用帧内模式,而对于第二组合,PU0应用帧内模式,PU1应用仿射MMVD模式。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。对于使用帧内模式编码的PU,存在几种可能的解决方案。
a)PU使用固定的帧内模式,例如DC、平面或其它帧内模式
b)在编码器处通过率失真优化来选择帧内模式,并且在比特流中用信号通知帧内方向,如同在当前VVC中所做的
c)在解码器处通过分割线的方向来推断帧内模式
在图9(c)的第六示例组合中,CU中的一个PU使用仿射MMVD模式进行编码,而另一个PU则使用IBC模式进行编码。根据每个PU的预测模式,这种组合具有两种可能的实现方式,如下所示:
·PU0用仿射MMVD模式进行编码,PU1用IBC模式进行编码
·PU0用IBC模式进行编码,PU1用仿射MMVD模式进行编码
对于第一组合,PU0应用仿射MMVD模式,PU1应用IBC模式,而对于第二组合,PU0应用IBC模式,PU1应用仿射MMVD。如果针对当前CU选择这种情况,则用信号通知pred_mode_combination_idx以指示使用哪种组合。对于使用仿射MMVD模式编码的PU,用信号通知仿射MMVD候选标志,然后是距离索引和方向索引。对于使用IBC模式编码的PU,则用信号通知MVD和MVP索引。替代地,PU也可以用IBC合并模式进行编码,并相应地用信号发送合并索引。
例如,提供表4来描述对仿射模式和帧内模式进行组合的语法元素,其中一个PU使用仿射合并模式进行预测,而另一个PU则使用帧内模式进行预测。
表4
/>
/>
在一些实施方式中,将指示几何分割仿射运动预测模式的信息编码在比特流中。例如,在CU级别用信号通知以指示几何仿射模式的标志、指示用于CU中的分割的运动预测模式的特定组合的索引pred_mode_combination_idx、以及用信号通知来指示分割的运动信息或定义运动预测模式的参数的其它标志和索引。
在步骤808中,视频处理器可以沿着几何分割线,混合用第一运动预测模式编码的第一分割的样点和用第二运动预测模式编码的第二分割的样点。在一些实施方式中,在步骤804中,基于两个分割的运动信息,可以使用它们自己的运动补偿模式来获得两个预测块。然后,可以使用应用于这两个单向预测信号的混合操作以导出几何分割线周围的样点,来生成当前CU的最终预测块。可以基于分配给各个样点的权重来执行混合。基于从各个单独样点位置到相应分割线的距离,来导出用于CU的样点的混合权重。在一些实施方式中,基于GPM中使用的分割线的角度和偏移,来确定混合操作中的权重。
图10根据本公开内容的一些实施方式,示出了与用户界面1050耦合的计算环境1010。计算环境1010可以是数据处理服务器的一部分。计算环境1010包括处理器1020、存储器1030和输入/输出(I/O)接口1040。
处理器1020通常控制计算环境1010的整体操作,例如与显示器、数据采集、数据通信和图像处理相关联的操作。处理器1020可以包括一个或多个处理器,以执行指令来执行上面描述的方法中的所有步骤或一些步骤。此外,处理器1020可以包括有助于处理器1020与其它组件之间的交互的一个或多个模块。处理器1020可以是中央处理单元(CPU)、微处理器、单片机、图形处理单元(GPU)等。
存储器1030被配置为存储各种类型的数据以支持计算环境1010的操作。存储器1030可以包括预定软件1032。这种数据的例子包括用于在计算环境1010、视频数据集、图像数据等等上操作的任何应用或方法的指令。可以通过使用任何类型的易失性或非易失性存储器件或其组合(例如,静态随机存取存储器(SRAM)、电可擦可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘)来实现存储器1030。
I/O接口1040提供处理器1020和外围接口模块(例如,键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1040可以与编码器和解码器耦合。
在一些实施方式中,还提供了一种非临时性计算机可读存储介质,其包括可由计算环境1010中的处理器1020执行的多个程序(例如,包括在存储器1030中),以用于执行上面描述的方法。替代地,非临时性计算机可读存储介质可以在其中存储比特流或数据流,该比特流或者数据流包括由编码器(例如,图2中的视频编码器20)使用例如上述编码方法所生成的编码视频信息(例如,包括一个或多个语法元素的视频信息),其用于在解码视频数据时由解码器(例如,图3中的视频解码器30)来使用。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储设备等等。
在一些实现中,还提供了一种计算设备,其包括一个或多个处理器(例如,处理器1020);以及其中存储有可由所述一个或多个处理器执行的多个程序的非临时性计算机可读存储介质或存储器1030,其中,在执行所述多个程序时,所述一个或多个处理器被配置为执行上述方法。
在一些实现中,还提供了一种计算机程序产品,该计算机程序产品例如在存储器1030中包括多个程序,这些程序可由计算环境1010中的处理器1020执行,以用于执行上述方法。例如,计算机程序产品可以包括非临时性计算机可读存储介质。
在一些实现中,可以使用用于执行上述方法的一个或多个ASIC、DSP、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、FPGA、GPU、控制器、微控制器、微处理器或其它电子组件来实现计算环境1010。
本公开内容的描述是出于说明目的而提出的,其并不旨在是穷举的或者限制于本公开内容。受益于前述描述和相关附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
除非另外特别说明,否则根据本公开内容的方法的步骤顺序仅用于说明,并且根据本公开内容的方法步骤不限于上面具体描述的顺序,而是可以根据实际情况进行改变。此外,可以根据实际需要,调整、组合或删除根据本公开内容的方法的至少一个步骤。
选择和描述这些示例只是为了解释本公开内容的原理,并使本领域的其它技术人员能够理解本公开内容的各种实施方式,并最好地利用基础原理和具有各种修改的各种实施方案,这些修改适合于预期的特定用途。因此,应当理解,本公开内容的保护范围并不限于所公开的实现的具体示例,并且各种修改和其它实现也包括在本公开内容的保护范围内。

Claims (23)

1.一种用于运动补偿预测的视频编解码方法,包括:
由处理器对来自视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割;以及
由所述处理器将第一运动预测模式应用于所述第一分割,并且将第二运动预测模式应用于所述第二分割,其中所述第一运动预测模式或所述第二运动预测模式中的至少一个是仿射运动预测模式。
2.根据权利要求1所述的视频编解码方法,还包括:用信号通知所述视频块的标志以指示几何仿射模式。
3.根据权利要求1所述的视频编解码方法,其中,所述第一运动预测模式和所述第二运动预测模式是不同的编码模式。
4.根据权利要求3所述的视频编解码方法,其中,所述第一运动预测模式或所述第二运动预测模式是仿射AMVP模式、仿射合并模式和仿射MMVD模式之一,
其中,所述计算机实现的视频编解码方法进一步包括:
用信号通知预测模式组合索引,以指示应用于所述第一分割的所述第一运动预测模式和应用于所述第二分割的所述第二运动预测模式的组合。
5.根据权利要求3所述的视频编解码方法,其中,所述第一运动预测模式是所述仿射运动预测模式,而所述第二运动预测模式是平移运动预测模式或帧内/IBC模式,或者所述第一运动预测模式是所述平移运动预测模式或帧内/IBC模式,而所述第二运动预测模式是所述仿射运动预测模式,
其中,所述计算机实现的视频编解码方法进一步包括:
用信号通知预测模式组合索引,以指示应用于所述第一分割的所述仿射运动预测模式和应用于所述第二分割的所述平移运动预测模式或所述帧内/IBC模式的组合。
6.根据权利要求5所述的视频编解码方法,其中,所述第一运动预测模式是仿射AMVP模式、仿射合并模式和仿射MMVD模式之一。
7.根据权利要求5所述的视频编解码方法,其中,所述第二运动预测模式是常规AMVP模式、常规合并模式、常规MMVD模式和TM间/BM合并模式之一。
8.根据权利要求5所述的视频编解码方法,其中,所述第二运动预测模式是帧内模式、IBC模式和IBC合并模式之一。
9.根据权利要求1所述的视频编解码方法,其中,所述第一运动预测模式和所述第二运动预测模式是具有不同参数的相同编码模式。
10.根据权利要求9所述的视频编解码方法,其中,所述相同的编码模式是仿射AMVP模式、仿射合并模式和仿射MMVD模式之一。
11.根据权利要求9所述的视频编解码方法,其中,所述第一运动预测模式与第一组参数相关联,而所述第二运动预测模式与第二组参数相关联,
其中,所述计算机实现的视频编解码方法进一步包括:
用信号通知所述第一组参数和所述第二组参数,以分别指示所述第一分割和所述第二分割的运动信息。
12.根据权利要求1所述的视频编解码方法,其中,所述视频块是编码单元(CU)。
13.根据权利要求1所述的视频编解码方法,还包括:
通过沿着所述第一分割和所述第二分割之间的几何分割线,混合用所述第一运动预测模式编码的所述第一分割的样点和用所述第二运动预测模式编码的所述第二分割的样点,来生成所述视频块的最终预测块。
14.根据权利要求13所述的视频编解码方法,还包括:
基于所述几何分割线的角度和偏移以及所述样点与所述几何分割线之间的相应距离,来确定要混合的样点的相应混合权重。
15.一种用于运动补偿预测的视频编解码装置,包括:
存储器,所述存储器被配置为存储视频的至少一个视频帧,所述视频帧包括至少一个图像块;以及
视频处理器,所述视频处理器被配置为:
对来自所述视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割;以及
将第一运动预测模式应用于所述第一分割,并且将第二运动预测模式应用于所述第二分割,其中所述第一运动预测模式或所述第二运动预测模式中的至少一个是仿射运动预测模式。
16.根据权利要求15所述的视频编解码装置,其中,所述视频处理器进一步被配置为用信号通知所述视频块的标志以指示几何仿射模式。
17.根据权利要求15所述的视频编解码装置,其中,所述第一运动预测模式和所述第二运动预测模式是不同的编码模式。
18.根据权利要求17所述的视频编解码装置,其中,所述视频处理器进一步被配置为:
用信号通知预测模式组合索引,以指示应用于所述第一分割的所述第一运动预测模式和应用于所述第二分割的所述第二运动预测模式的组合。
19.根据权利要求17所述的视频编解码装置,其中,所述第一运动预测模式是所述仿射运动预测模式,而所述第二运动预测模式是平移运动预测模式或帧内/IBC模式,或者所述第一运动预测模式是所述平移运动预测模式或帧内/IBC模式,而所述第二运动预测模式是仿射运动预测模式,
其中,所述视频处理器进一步被配置为:
用信号通知预测模式组合索引,以指示应用于所述第一分割的所述仿射运动预测模式和应用于所述第二分割的所述平移运动预测模式或所述帧内/IBC模式的组合。
20.根据权利要求19所述的视频编解码装置,其中,所述第一运动预测模式是仿射AMVP模式、仿射合并模式和仿射MMVD模式之一。
21.根据权利要求15所述的视频编解码装置,其中,所述第一运动预测模式和所述第二运动预测模式是具有不同参数的相同编码模式。
22.一种存储有指令的非临时性计算机可读存储介质,当所述指令由视频处理器执行时,使得所述视频处理器执行用于运动补偿预测的视频编解码方法,所述视频编解码方法包括:
对来自视频的视频帧的视频块执行几何分割,以获得第一分割和第二分割;
将第一运动预测模式应用于所述第一分割,并且将第二运动预测模式应用于所述第二分割以获得经编码的视频块,其中所述第一运动预测模式或所述第二运动预测模式中的至少一个是仿射运动预测模式;以及
生成包括所述经编码的视频块的比特流,
其中,将所述比特流存储在所述非临时性计算机可读存储介质中。
23.根据权利要求22所述的非临时性计算机可读存储介质,其中,所述视频编解码方法还包括:
生成所述视频块的标志以指示几何仿射模式,并且将所述标志包括在所述比特流中。
CN202280048372.4A 2021-07-06 2022-06-15 视频编解码中用于仿射运动补偿预测的几何分割 Pending CN117730535A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163218532P 2021-07-06 2021-07-06
US63/218,532 2021-07-06
PCT/US2022/033549 WO2023283028A1 (en) 2021-07-06 2022-06-15 Geometry partitioning for affine motion compensated prediction in video coding

Publications (1)

Publication Number Publication Date
CN117730535A true CN117730535A (zh) 2024-03-19

Family

ID=84802045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280048372.4A Pending CN117730535A (zh) 2021-07-06 2022-06-15 视频编解码中用于仿射运动补偿预测的几何分割

Country Status (4)

Country Link
US (1) US20240171735A1 (zh)
EP (1) EP4367887A1 (zh)
CN (1) CN117730535A (zh)
WO (1) WO2023283028A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4307678A3 (en) * 2018-11-06 2024-05-22 Beijing Bytedance Network Technology Co., Ltd. Side information signaling for inter prediction with geometric partitioning
US11570434B2 (en) * 2019-08-23 2023-01-31 Qualcomm Incorporated Geometric partition mode with harmonized motion field storage and motion compensation

Also Published As

Publication number Publication date
EP4367887A1 (en) 2024-05-15
WO2023283028A1 (en) 2023-01-12
US20240171735A1 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
US20240163454A1 (en) Video coding using multi-direction intra prediction
WO2020247577A1 (en) Adaptive motion vector resolution for affine mode
US20240187624A1 (en) Methods and devices for decoder-side intra mode derivation
US20240129519A1 (en) Motion refinement with bilateral matching for affine motion compensation in video coding
WO2020214900A1 (en) Methods and apparatus of video coding using prediction refinement with optical flow
US20240171735A1 (en) Geometry partitioning for affine motion compensated prediction in video coding
US20240195957A1 (en) Methods and devices for decoder-side intra mode derivation
US20240146906A1 (en) On temporal motion vector prediction
US20240214561A1 (en) Methods and devices for decoder-side intra mode derivation
US20240214580A1 (en) Intra prediction modes signaling
US20230011286A1 (en) Spatial neighbor based affine motion derivation
CN116636218A (zh) 利用多方向帧内预测的视频编解码
WO2023034152A1 (en) Methods and devices for decoder-side intra mode derivation
EP4397036A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023154574A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
WO2023091775A1 (en) Decoder side motion information derivation
EP4397040A1 (en) Intra prediction modes signaling
WO2023141338A1 (en) Methods and devices for geometric partitioning mode with split modes reordering
WO2023158765A1 (en) Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order
WO2023114155A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023055968A1 (en) Methods and devices for decoder-side intra mode derivation
CN118235401A (zh) 帧内预测模式信令
CN118160303A (zh) 用于解码器侧帧内模式推导的方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication