CN118160303A - 用于解码器侧帧内模式推导的方法和设备 - Google Patents

用于解码器侧帧内模式推导的方法和设备 Download PDF

Info

Publication number
CN118160303A
CN118160303A CN202280072227.XA CN202280072227A CN118160303A CN 118160303 A CN118160303 A CN 118160303A CN 202280072227 A CN202280072227 A CN 202280072227A CN 118160303 A CN118160303 A CN 118160303A
Authority
CN
China
Prior art keywords
mode
video
prediction
intra
block
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
CN202280072227.XA
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 CN118160303A publication Critical patent/CN118160303A/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial 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/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/182Methods 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 a pixel
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

提供了用于视频编解码的方法、装置和非暂态计算机可读存储介质。在一种方法中,解码器接收用信号传输的标志,所述用信号传输的标志指示基于模板的帧内模式推导(TIMD)模式是否被应用于当前视频块;并且响应于基于所述用信号传输的标志确定所述TIMD模式被应用于所述当前视频块,所述解码器基于所述当前视频块的重建区域中的不同参考行来从所述TIMD模式推导帧内预测模式,其中,所述重建区域包括用于所述当前视频块的重建的相邻块。

Description

用于解码器侧帧内模式推导的方法和设备
相关申请的交叉引用
本申请基于2021年11月19日提交的临时申请号63/281,606并要求其优先权,所述临时申请的全部内容出于所有目的通过引用并入本文。
技术领域
本公开涉及视频编解码和压缩。更具体地,本公开涉及解码器侧帧内模式推导(decoder-side intra mode derivation,DIMD)。
背景技术
如数字电视、膝上型计算机或台式计算机、平板计算机、数字相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流式传输设备等各种电子设备都支持数字视频。电子设备通过通信网络发射和接收或以其他方式传送数字视频数据和/或将数字视频数据存储在存储设备上。由于通信网络的带宽容量有限并且存储设备的存储器资源有限,在将视频数据传送或存储之前,可以使用视频编解码以根据一种或多种视频编解码标准来压缩视频数据。例如,视频编解码标准包括通用视频编解码(Versatile Video Coding,VVC)、联合探索测试模型(Joint Exploration test Model,JEM)、高效视频编解码(High-Efficiency Video Coding,HEVC/H.265)、高级视频编解码(Advanced Video Coding,AVC/H.264)、运动图片专家组(Moving Picture Expert Group,MPEG)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等)进行,所述预测方法利用视频数据中固有的冗余。视频编解码旨在将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
发明内容
本公开的示例提供了用于利用帧内预测编解码模式进行视频解码的方法和装置。
根据本公开的第一方面,提供了一种用于视频解码的方法。所述方法可以包括:由解码器接收用信号传输的标志,所述用信号传输的标志指示基于模板的帧内模式推导(template-based intra mode derivation,TIMD)模式是否被应用于当前视频块;以及响应于基于所述用信号传输的标志确定所述TIMD模式被应用于所述当前视频块,由所述解码器基于所述当前视频块的重建区域中的不同参考行来从所述TIMD模式推导帧内预测模式,其中,所述重建区域包括用于所述当前视频块的重建的相邻块。
根据本公开的第二方面,提供了一种用于视频编码的方法。所述方法可以包括:由编码器用信号传输标志,所述标志指示基于模板的帧内模式推导(TIMD)模式是否被应用于当前视频块;以及响应于基于所述用信号传输的标志确定所述TIMD模式被应用于所述当前视频块,由所述编码器基于所述当前视频块的重建区域中的不同参考行来从所述TIMD模式推导帧内预测模式,其中,所述重建区域包括用于所述当前视频块的重建的相邻块。
应理解,上面的大体描述和下面的详细描述仅是示例性的和解释性的,而不旨在限制本公开。
附图说明
结合在说明书中并构成本说明书的一部分的附图图示了与本公开一致的示例,并与所述描述一起用于解释本公开的原理。
图1是图示了根据本公开的一些实施方式的用于对视频块进行编码和解码的示例性***的框图。
图2是图示了根据本公开的一些实施方式的示例性视频编码器的框图。
图3是图示了根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是图示了根据本公开的一些实施方式的如何将帧递归地分区成具有不同大小和形状的多个视频块的框图。
图5A图示了根据本公开的一些实施方式的由应用于预测模式的PDPC所使用的样点的定义。
图5B图示了根据本公开的一些实施方式的由应用于预测模式的PDPC所使用的样点的定义。
图5C图示了根据本公开的一些实施方式的由应用于预测模式的PDPC所使用的样点的定义。
图5D图示了根据本公开的一些实施方式的由应用于预测模式的PDPC所使用的样点的定义。
图6图示了根据本公开的一些实施方式的允许的GPM分区的示例。
图7图示了根据本公开的一些实施方式的被执行梯度分析的所选像素的示例。
图8图示了根据本公开的一些实施方式的卷积过程。
图9图示了根据本公开的一些实施方式的通过两个HoG模式和一个平面模式的加权平均进行的预测融合。
图10图示了根据本公开的一些实施方式的在TIMD中使用的模板和其参考样点。
图11A是示出了根据本公开的一些实施方式的利用TIMD的视频解码过程的框图。
图11B是示出了根据本公开的一些实施方式的利用TIMD的视频解码过程的框图。
图11C是示出了根据本公开的一些实施方式的利用TIMD的视频解码过程的框图。
图11D是示出了根据本公开的一些实施方式的利用TIMD的视频解码过程的框图。
图12A是示出了根据本公开的一些实施方式的利用DIMD的视频解码过程的框图。
图12B是示出了根据本公开的一些实施方式的利用DIMD的视频解码过程的框图。
图12C是示出了根据本公开的一些实施方式的利用DIMD的视频解码过程的框图。
图13图示了根据本公开的一些实施方式的在所提出的整数化方案中使用的分数位。
图14是图示了根据本公开的一些实施方式的与用户界面耦接的计算环境的框图。
图15是示出了根据本公开的一些实施方式的视频解码的框图。
图16是示出了根据本公开的一些实施方式的视频解码的框图。
图17是示出了根据本公开的一些实施方式的视频解码的框图。
图18图示了根据本公开的一些实施方式的与预测块相邻的四个参考行的示例。
图19图示了根据本公开的一些实施方式的扩展MRL候选列表的示例。
图20是示出了根据本公开的一些实施方式的视频解码的框图。
具体实施方式
现在将详细参考示例实施例,附图中图示了这些实施例的示例。以下描述均参考附图,在附图中,除非另有说明,否则不同附图中的相同参考标记表示相同或相似的要素。以下示例实施例描述中阐述的实施方式并不表示与本公开一致的所有实施方式。而是,它们仅仅是与所附权利要求中叙述的与本公开相关的方面一致的装置和方法的示例。
本公开中使用的术语仅出于描述特定实施例的目的,而不旨在限制本公开。如在本公开和所附权利要求中使用的,单数形式“一个(a)”、“一种(an)”和“所述(the)”旨在也包括复数形式,除非上下文另有明确指示。还应当理解,本文中使用的术语“和/或”旨在表示并包括相关联列举项目中的一个或多个项目的任何或所有可能组合。
应当理解,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是这些信息不应受这些术语的限制。这些术语仅仅是用来将一类信息与另一类信息进行区分。例如,在不脱离本公开的范围的情况下,第一信息也可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当……时”或“在……时”或“响应于判断”。
可以使用各种视频编解码技术来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,如今,一些众所周知的视频编解码标准包括通用视频编解码(Versatile Video Coding,VVC)、高效视频编解码(High Efficiency Video Coding,HEVC,也被称为H.265或MPEG-H第2部分)和高级视频编解码(Advanced Video Coding,AVC,也被称为H.264或MPEG-4第10部分),所述视频编解码标准由ISO/IEC MPEG和ITU-T VECG联合开发。AO媒体视频1(AOMedia Video 1,AV1)由开放媒体联盟(Alliance for OpenMedia,AOM)开发作为其先前标准VP9的后续标准。音视频编解码(Audio Video Coding,AVS)(其是指数字音频和数字视频压缩标准)是中国数字音视频编解码技术标准工作组(Audio and Video Coding Standard Workgroup of China)开发的另一个视频压缩系列标准。大多数现有视频编解码标准建立在著名的混合视频编解码框架上,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编解码来压缩预测误差的能量。视频编解码技术的一个重要目标在于将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
第一代AVS标准包括中国国家标准“信息技术先进音视频编码第2部分:视频”(称为AVS1)和“信息技术先进音视频编码第16部分:广播电视视频”(称为AVS+)。与MPEG-2标准相比,第一代AVS标准可以在相同的感知质量下提供大约50%的比特率节省。AVS1标准视频部分于2006年2月作为中国国家标准颁布。第二代AVS标准包括中国国家标准“信息技术高效多媒体编码”(称为AVS2)系列,其主要针对额外HD TV节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。2016年5月,AVS2被颁布为中国国家标准。同时,AVS2标准视频部分由电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)作为一项国际应用标准提交。AVS3标准是针对UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率。2019年3月,在第68届AVS会议上,AVS3-P2基线已经完成,其提供了超过HEVC标准大约30%的比特率节省。目前,存在一种被称为高性能模型(high performance model,HPM)的参考软件,由AVS工作组维护以展示AVS3标准的参考实施方式。
图1是图示了根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性***10的框图。如图1所示,***10包括源设备12,所述源设备生成并编码要由目的地设备14在稍后时间解码的视频数据。源设备12和目的地设备14可以包括多种电子设备中的任一种,所述多种电子设备包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收要解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12移到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括用于使源设备12能够实时地将已编码视频数据直接传输到目的地设备14的通信介质。已编码视频数据可以根据如无线通信协议等通信标准来调制并传输到目的地设备14。通信媒体可以包括任何无线或有线通信媒体,如射频(Radio Frequency,RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络(如局域网、广域网、或全球网(如互联网))的一部分。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备12到目的地设备14的通信的任何其他装置。
在一些其他实施方式中,已编码视频数据可以从输出接口22传输到存储设备32。随后,存储设备32中的已编码视频数据可以由目的地设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任一种,如硬盘驱动器、蓝光光盘、数字通用盘(Digital Versatile Disk,DVD)、光碟只读存储器(Compact Disc Read-Only Memory,CD-ROM)、闪速存储器、易失性存储器或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于可以保持由源设备12生成的已编码视频数据的文件服务器或另一个中间存储设备。目的地设备14可以经由流传输或下载从存储设备32访问所存储的视频数据。文件服务器可以是能够存储已编码视频数据并且将已编码视频数据传输到目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(File TransferProtocol,FTP)服务器、网络附加存储(Network Attached Storage,NAS)设备、或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接来访问已编码视频数据,所述连接包括适于访问存储在文件服务器上的已编码视频数据的无线信道(例如,无线保真(WirelessFidelity,Wi-Fi)连接)、有线连接(例如,数字用户线(Digital Subscriber Line,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向用户显示已解码视频数据并且可以包括各种显示设备中的任一种,如液晶显示器(Liquid CrystalDisplay,LCD)、等离子显示器、有机发光二极管(Organic Light Emitting Diode,OLED)显示器、或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(如VVC、HEVC、MPEG-4第10部分、AVC、或这些标准的扩展)进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常设想,源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行编码。类似地,通常还设想,目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行解码。
视频编码器20和视频解码器30各自可以实施为各种合适的编码器和/或解码器电路中的任一种,如一个或多个微处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Programmable Gate Array,FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地在软件中实施时,电子设备可以将用于软件的指令存储在合适的非暂态计算机可读介质中并且使用一个或多个处理器在硬件中执行指令以执行本公开中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以包括在一个或多个编码器或解码器中,所述一个或多个编码器或解码器中的任一个可以集成为相应设备中的组合编码器/解码器(encoder/decoder,CODEC)的一部分。
图2是图示了根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行对视频帧内的视频块的帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测来减少或去除给定视频帧或图片内的视频数据的空间冗余。帧间预测编码依赖于时间预测以减少或去除视频序列的邻近视频帧或图片内的视频数据的时间冗余。应该注意的是,在视频编解码领域,术语“帧”可以用作术语“图像”或“图片”的同义词。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、已解码图片缓冲器(Decoded Picture Buffer,DPB)64、加法器50、变换处理单元52、量化单元54、以及熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分区单元45、帧内预测处理单元46和帧内块复制(Block Copy,BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重建的逆量化单元58、逆变换处理单元60、以及加法器62。环路滤波器63如去块滤波器可以位于加法器62与DPB 64之间,以对块边界进行滤波,以从重建的视频中去除块效应伪像。除了去块滤波器之外,还可以使用另一个环路滤波器(如样点自适应偏移(Sample Adaptive Offset,SAO)滤波器和/或自适应环路滤波器(Adaptive in-Loop Filter,ALF))对加法器62的输出进行滤波。在一些示例中,可以省略环路滤波器,并且已解码视频块可以由加法器62直接提供给DPB 64。视频编码器20可以采用固定或可编程硬件单元的形式,或者可以在所图示的固定或可编程硬件单元中的一个或多个之中进行划分。
视频数据存储器40可以存储要由视频编码器20的部件编码的视频数据。例如,可以从如图1所示的视频源18获得视频数据存储器40中的视频数据。DPB 64是存储参考视频数据(例如,参考帧或图片)以用于由视频编码器20对视频数据进行编码(例如,在帧内预测编码模式或帧间预测编码模式下)的缓冲器。视频数据存储器40和DPB 64可以由多种存储器设备中的任何一种形成。在各个示例中,视频数据存储器40可以与视频编码器20的其他部件一起在片上,或者相对于那些部件在片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分区单元45将视频数据分区为视频块。该分区还可以包括根据预定义的分割结构(如与视频数据相关联的四叉树(Quad-Tree,QT)结构)将视频帧分区为条带、瓦片(例如,视频块集)、或其他更大的编码单元(Coding Unit,CU)。视频帧是或可以被看作是具有样点值的二维样点阵列或矩阵。阵列中的样点也可以称为像素(pixel或pel)。阵列或图片的水平和垂直方向(或轴)上的样点的数量定义了视频帧的尺寸和/或分辨率。例如,可以通过使用QT分区将视频帧划分为多个视频块。视频块再次是或可以被看作是具有样点值的二维样点阵列或矩阵,但是其维度小于视频帧。视频块的水平和垂直方向(或轴)上的样点的数量定义了视频块的尺寸。可以通过例如迭代地使用QT分区、二叉树(Binary-Tree,BT)分区或三叉树(Triple-Tree,TT)分区或其任何组合将视频块进一步划分为一个或多个块分区或子块(这些子块可以再次形成块)。应该注意的是,本文使用的术语“块”或“视频块”可以是帧或图片的一部分,特别是矩形(正方形或非正方形)部分。例如,参照HEVC和VVC,块或视频块可以是或对应于编码树单元(Coding Tree Unit,CTU)、CU、预测单元(Prediction Unit,PU)或变换单元(TransformUnit,TU),和/或可以是或对应于对应的块(例如,编码树块(Coding Tree Block,CTB)、编码块(Coding Block,CB)、预测块(Prediction Block,PB)或变换块(Transform Block,TB))和/或对应于子块。
预测处理单元41可以基于误差结果(例如,编码率和失真水平)为当前视频块选择多个可能的预测编码模式之一,如多个帧内预测编码模式之一或多个帧间预测编码模式之一。预测处理单元41可以将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建已编码块以随后用作参考帧的一部分。预测处理单元41还将如运动向量、帧内模式指示符、分区信息、以及其他这种语法信息等语法元素提供给熵编码单元56。
为了为当前视频块选择适当的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与要编码的当前块相同的帧中的一个或多个相邻块执行对当前视频块的帧内预测编码,以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块执行对当前视频块的帧间预测编码,以提供时间预测。视频编码器20可以执行多个编码通道,例如,以便为视频数据的每个块选择适当的编码模式。
在一些实施方式中,运动估计单元42根据视频帧序列内的预定模式通过生成运动矢量来确定当前视频帧的帧间预测模式,所述运动矢量指示当前视频帧内的视频块相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动向量的过程,所述过程估计了视频块的运动。运动矢量例如可以指示当前视频帧或图片内的视频块相对于参考帧内的预测块的位移,所述预测块相对于在当前帧内编码的当前块。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定运动向量以进行帧间预测的方式类似的方式确定用于进行帧内BC编码的向量(例如,块向量),或者可以利用运动估计单元42来确定块向量。
视频块的预测块可以是或可以对应于参考帧的块或参考块,所述参考帧被认为在像素差方面与要编码的视频块紧密匹配,所述像素差可以由绝对差和(Sum of AbsoluteDifference,SAD)、平方差和(Sum of Square Difference,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可以是高度集成的,但是出于概念性目的而分别图示。
在一些实施方式中,帧内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经由帧间预测或帧内预测确定当前视频块的预测块之后,加法器50通过从当前视频块中减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个TU中,并且被提供给变换处理单元52。变换处理单元52使用如离散余弦变换(Discrete Cosine Transform,DCT)或概念上类似的变换等变换将残差视频数据变换为残差变换系数。
变换处理单元52可以将所得的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减小与系数中的一些或所有系数相关联的比特深度。量化程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括经量化的变换系数的矩阵的扫描。替代性地,熵编码单元56可以执行扫描。
量化之后,熵编码单元56使用例如上下文自适应可变长度编码(ContextAdaptive Variable Length Coding,CAVLC)、上下文自适应二进制算术编码(ContextAdaptive Binary Arithmetic Coding,CABAC)、基于语法的上下文自适应二进制算术编码(Syntax-based context-adaptive Binary Arithmetic Coding,SBAC)、概率区间分区熵(Probability Interval Partitioning Entropy,PIPE)编码或其他熵编码方法或技术将经量化的变换系数熵编码为视频比特流。然后可以将已编码比特流传输到如图1所示的视频解码器30,或将其存档到如图1所示的存储设备32中,以供以后传输到视频解码器30或由所述视频解码器取得。熵编码单元56还可以对被编码的当前视频帧的运动向量和其他语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以在像素域中重建残差视频块,以生成用于预测其他视频块的参考块。如上所述,运动补偿单元44可以从DPB64中存储的帧的一个或多个参考块中生成经运动补偿的预测块。运动补偿单元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,并且帧内BC单元85的功能可以由预测处理单元81的其他部件(如运动补偿单元82)执行。
视频数据存储器79可以存储要由视频解码器30的其他部件解码的视频数据,如已编码视频比特流。例如,可以经由对视频数据进行有线或无线网络传送或者通过访问物理数据存储介质(例如,闪速驱动器或硬盘)从存储设备32、本地视频源(如相机)获得存储在视频数据存储器79中的视频数据。视频数据存储器79可以包括存储来自已编码视频比特流的已编码视频数据的已编码图片缓冲器(Coded Picture Buffer,CPB)。视频解码器30的DPB 92存储参考视频数据,以用于由视频解码器30对视频数据进行解码(例如,在帧内预测编码模式或帧间预测编码模式下)。视频数据存储器79和DPB 92可以由多种存储器设备中的任一种形成,如动态随机存取存储器(dynamic random access memory,DRAM),包括同步DRAM(Synchronous DRAM,SDRAM)、磁阻式RAM(Magneto-resistive RAM,MRAM)、电阻式RAM(Resistive 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生成的对应预测块求和来重建当前视频块的已解码视频块。环路滤波器91(如去块滤波器、SAO滤波器和/或ALF)可以定位于加法器90与DPB 92之间,以进一步处理已解码视频块。在一些示例中,可以省略环路滤波器91,已解码视频块可以由加法器90直接提供给DPB 92。然后将给定帧中的已解码视频块存储在DPB 92中,所述DPB存储用于对接下来的视频块进行后续运动补偿的参考帧。DPB 92或与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中的一个。但是应当注意,本申请不必限于特定的大小。如图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按块大小各自进一步划分为四个8×8的CU。图4D描绘了图示了如图4C中所描绘的CTU 400的分区过程的最终结果的四叉树数据结构,四叉树的每个叶节点对应于相应大小在32×32至8×8范围内的一个CU。类似于图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残差块分别分解为一个或多个亮度、Cb和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可以重建帧。
如上所述,视频编解码主要使用两种模式,即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测)来实现视频压缩。应注意的是,IBC可以被认为是帧内预测或第三模式。在这两种模式之间,由于使用用于从参考视频块中预测当前视频块的运动矢量,因此帧间预测比帧内预测对编解码效率的贡献更大。
但是随着不断改进的视频数据捕获技术和用于保留视频数据中的细节的更精细的视频块尺寸,表示当前帧的运动矢量所需的数据量也大幅度增加。克服这个挑战的一种方式是受益于以下事实:不仅空间域和时间域中的一组相邻CU具有用于预测目的的类似视频数据,而且这些相邻CU之间的运动矢量也类似。因此,可以通过探索CU的空间和时间相关性,将空间上相邻的CU和/或时间上同位的CU的运动信息用作当前CU的运动信息(例如,运动矢量)的近似值,所述近似值也被称为当前CU的“运动矢量预测值”(Motion VectorPredictor,MVP)。
代替将由如上文结合图2描述的运动估计单元42确定的当前CU的实际运动矢量编码至视频比特流,从当前CU的实际运动矢量中减去当前CU的运动矢量预测值,以产生当前CU的运动矢量差(Motion Vector Difference,MVD)。这样做,不需要将由运动估计单元42针对帧的每个CU确定的运动矢量编码至视频比特流,并且可以显著减少用于表示视频比特流中的运动信息的数据量。
像在编码块的帧间预测期间在参考帧中选择预测块的过程一样,需要由视频编码器20和视频解码器30两者采用一组规则以用于使用与当前CU的在空间上相邻的CU和/或在时间上同位的CU相关联的那些潜在候选运动矢量来构造当前CU的运动矢量候选列表(也称为“合并列表”),并且然后从运动矢量候选列表中选择一个成员作为当前CU的运动矢量预测值。这样做,不需要将运动矢量候选列表本身从视频编码器20传输到视频解码器30,并且运动矢量候选列表内的所选运动矢量预测值的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内相同的运动矢量预测值来对当前CU进行编码和解码。
位置相关帧内预测组合
在VVC中,通过位置相关帧内预测组合(position dependent intra predictioncombination,PDPC)方法进一步修改DC、平面和几个角度模式的帧内预测结果。PDPC是一种帧内预测方法,其调用边界参考样点和具有经滤波的边界参考样点的HEVC风格帧内预测的组合。PDPC应用于以下帧内模式,而无需信令:平面、DC、小于或等于水平的帧内角度以及大于或等于垂直且小于或等于80的帧内角度。如果当前块是Bdpcm模式或者MRL索引大于0,则不应用PDPC。
预测样点pred(x’,y’)是使用帧内预测模式(DC,平面,角度)、和参考样点的线性组合根据如下等式进行预测的:
pred(x’,y’)=Clip(0,(1<<BitDepth)–1,(wL×R-1,y’+wT×Rx’,-1+(64-wL-wT)×pred(x’,y’)+32)>>6)
其中,Rx,-1、R-1,y分别表示位于当前样点(x,y)的上边界和左边界处的参考样点。
如果PDPC应用于DC、平面、水平和垂直帧内模式,则不需要如在HEVC DC模式边界滤波器或水平/垂直模式边缘滤波器的情况所需的附加边界滤波器。DC和平面模式的PDPC过程是相同的。对于角度模式,如果当前角度模式为HOR_IDX或VER_IDX,则分别不使用左参考样点或上参考样点。PDPC权重和比例因子取决于预测模式和块尺寸。PDPC应用于宽度和高度均大于或等于4的块。
图5A至图5D图示了在各种预测模式下应用的PDPC的参考样点(Rx,-1和R-1,y)的定义。图5A示出了对角线右上模式的示例。图5B示出了对角线左下模式的示例。图5C示出了相邻对角线右上模式的示例。图5D示出了相邻对角线左下模式的示例。预测样点pred(x’,y’)位于预测块内的(x’,y’)处。作为示例,对于对角线模式,参考样点Rx,-1的坐标x由:x=x’+y’+1给出,并且参考样点R-1,y的坐标y类似地由:y=x’+y’+1给出。对于其他角度模式,参考样点Rx,-1和R-1,y可以位于分数样点位置。在这种情况下,使用最近整数样点位置的样点值。
如前所述,帧内预测样点是从一组未滤波的或已滤波的相邻参考样点生成的,这可能会沿当前编码块与其相邻块之间的块边界引入不连续性。为了解决这种问题,通过利用2抽头滤波器(对于DC模式)或基于梯度的平滑滤波器(对于水平预测模式和垂直预测模式)将DC预测模式、水平预测模式(即,模式18)以及垂直预测模式(即,模式50)的预测样点的第一行/列与未滤波的参考样点组合,在HEVC中应用边界滤波。
梯度PDPC
在VVC中,对于少数情况,由于二级参考样点不可用,PDPC可能不适用。从水平/垂直模式扩展而来的基于梯度的PDPC被应用。将PDPC权重(wT/wL)和用于确定PDPC权重相对于距左/上边界的距离的衰减的nScale参数设置为分别等于水平/垂直模式中的对应参数。当二级参考样点位于分数样点位置处时,应用双线性插值。
几何分区模式(Geometric partition mode,GPM)
在VVC中,帧间预测支持几何分区模式。几何分区模式由一个CU级别标志作为一种特殊的合并模式来用信号传输。在当前的GPM设计中,对于宽度和高度都不小于8且不大于64的每个可能的CU尺寸(不包括8×64和64×8),GPM模式总共支持64个分区。
当使用该模式时,通过几何定位的直线将CU分割成两个部分,如图6所示。分割线的位置在数学上是从特定分区的角度和偏移参数推导的。使用CU中的几何分区的每个部分自身的运动对其进行帧间预测;每个分区仅允许单向预测,即,每个部分具有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测一样,每个CU仅需要两种运动补偿预测。如果针对当前CU使用几何分区模式,则进一步用信号传输指示几何分区的分区模式(角度和偏移)的几何分区索引和两个合并索引(每个分区一个)。在序列级别下明确地用信号传输最大GPM候选尺寸的数值。
沿几何分区边缘混合
在使用每个几何分区自身的运动获得每个几何分区之后,对两个单向预测信号应用混合以得到几何分区边缘周围的样点。CU的每个位置的混合权重是基于从每个单独的样点位置到对应的分区边缘的距离来得到的。
GPM信令设计
根据当前的GPM设计,GPM的使用通过在CU级别下用信号传输一个标志来指示。所述标志仅在当前CU由合并模式或跳过模式进行编码时才用信号传输。具体地,当标志等于一时,其指示当前CU由GPM预测。否则(标志等于零),CU通过另一种合并模式被编码,如常规合并模式、具有运动矢量差的合并模式、组合帧间和帧内预测等。当针对当前CU启用GPM时,进一步用信号传输一个语法元素(即merge_gpm_partition_idx)以指示所应用的几何分区模式(其指定将CU分割成两个分区的直线的方向和相对于CU中心的偏移,如图6所示)。之后,用信号传输两个语法元素merge_gpm_idx0和merge_gpm_idx1,以指示用于第一GPM分区和第二GPM分区的单向预测合并候选的索引。更具体地,这两个语法元素用于根据“单向预测合并列表构造”一节中所述的单向预测合并列表来确定两个GPM分区的单向MV。根据当前的GPM设计,为了让两个单向MV更加不同,两个索引不能相同。基于这样的先验知识,首先用信号传输第一GPM分区的单向预测合并索引并将其用作预测值,以减少第二GPM分区的单向预测合并索引的信令开销。详细地说,如果第二单向预测合并索引小于第一单向预测合并索引,则直接用信号传输其初始值。否则(第二单向预测合并索引大于第一单向预测合并索引),其值在用信号传输到比特流之前被减去一。在解码器侧,第一单向预测合并索引首先是解码器。然后,对于第二单向预测合并索引的解码,如果解析值小于第一单向预测合并索引,则将第二单向预测合并索引设置为等于解析值;否则(解析值等于或大于第一单向预测合并索引),将第二单向预测合并索引设置为等于解析值加一。表1说明了在当前VVC规范中用于GPM模式的现有语法元素。
表1VVC规范的合并数据语法表中的现有GPM语法元素
另一方面,在当前的GPM设计中,将截断的一元码用于两个单向预测合并索引(即merge_gpm_idx0和merge_gpm_idx1)的二值化。附加地,由于两个单向预测合并索引不可能相同,因此使用不同的最大值来截断两个单向预测合并索引的码字,对于merge_gpm_idx0和merge_gpm_idx1,所述不同的最大值分别设置为等于MaxGPMMergeCand–1和MaxGPMMergeCand-2。MaxGPMMergeCand是单向预测合并列表中的候选的数量。
当应用GPM/AWP模式时,应用两种不同的二值化方法来将语法merge_gpm_partition_idx转换成二进制位串。具体地,语法元素分别由VVC标准和AVS3标准中的固定长度码和截断二进制码来二值化。同时,对于AVS3中的AWP模式,将不同的最大值用于二值化
空间角度加权预测(Spatial angular weighted prediction,SAWP)
在AVS中,空间角度加权预测(SAWP)模式将GPM模式扩展到帧内块。代替对两个帧间预测块进行加权,在SAWP模式中,对两个帧内预测块进行加权。使用从帧内预测模式中选择的两个不同的帧内预测模式来预测两个帧内预测块。帧内预测模式是从角度模式5至30中选择的。最大尺寸为32×32。常规帧内模式的2个最可能模式(most probable mode,MPM)用于SAWP模式的MPM推导。
遵循SAWP的相同设计精神、但在某些设计细节上存在一些细微差异的多向帧内预测设计(Multi-direction intra prediction design,MDIP)。
解码器侧帧内模式推导(Decoder-side Intra Mode Derivation,DIMD)
DIMD是一种帧内编解码工具,其中,亮度帧内预测模式(luma intra predictionmode,IPM)不通过比特流传输。相反,它是使用先前已编码/已解码的像素在编码器和解码器处以相同的方式推导的。DIMD方法执行纹理梯度处理以得到2种最佳模式。然后将这两种模式和平面模式应用于块,并对它们的预测值进行加权平均。使用标志在用于帧内编码块的比特流中用信号传输DIMD的选择。在解码器处,如果DIMD标志为真,则在重建过程中使用相同的先前已编码的相邻像素来推导帧内预测模式。如果不为真,则如在经典帧内编码模式中那样从比特流解析帧内预测模式。
为了推导用于块的帧内预测模式,我们必须首先选择将被执行梯度分析的一组相邻像素。出于规范性的目的,这些像素应该在已解码/已重建的像素池中。如图7所示,我们选择以左侧T个像素和上方T个像素围绕当前块的模板。接下来,我们对模板的像素执行梯度分析。这允许确定模板的主要角度方向,我们假设(并且这是我们方法的核心前提)所述模板很可能与当前块之一相同。因此,我们使用了简单的3×3Sobel梯度滤波器,所述滤波器由以下将与模板进行卷积的矩阵定义:
和/>
对于模板的每个像素,我们将这两个矩阵中的每个矩阵与以当前像素为中心并且由其8个直接邻居构成的3×3窗口逐点相乘,并且对结果求和。因此,我们分别在水平方向和垂直方向上获得与当前像素处的梯度相对应的两个值Gx(来自与Mx的乘积)和Gy(来自与My的乘积)。
图8示出了卷积过程。蓝色像素是当前像素。红色像素(包括所述蓝色像素)是可进行梯度分析的像素。灰色像素是由于缺乏一些邻居而无法进行梯度分析的像素。紫色像素是用于红色像素的梯度分析的所考虑模板之外的可用(已重建的)像素。如果紫色像素不可用(例如,由于块太靠近于图片边界),则不执行使用该紫色像素的所有红色像素的梯度分析。对于每个红色像素,我们如下使用Gx和Gy计算梯度的强度(G)和取向(O):
G=|Gx|+|Gy|和
然后将梯度的取向转换为帧内角度预测模式,所述帧内角度预测模式用于索引直方图(首先初始化为零)。该帧内角度模式下的直方图值增加G。对于每个帧内角度模式,一旦已经处理了模板中的所有红色像素,直方图就将包含梯度强度的累积值。为当前块选择与两个最高直方图条相对应的IPM。如果直方图中的最大值是0(意味着不能进行梯度分析,或者构成模板的区域是平坦的),则选择DC模式作为用于当前块的帧内预测模式。
将对应于两个最高HoG条的两个IPM与平面模式组合。在一个或多个示例中,预测融合被应用为上述三个预测值的加权平均值。为此,将平面的权重固定为21/64(~1/3)。然后,将43/64(~2/3)的剩余权重在两个HoG IPM之间以与它们的HoG条的幅度成比例的方式共享。图9将该过程可视化。
将推导的帧内模式包括在帧内最可能模式(most probable mode,MPM)的主列表中,因此在构建MPM列表之前执行DIMD过程。DIMD块的主要推导的帧内模式与块一起存储并用于相邻块的MPM列表构建。
基于模板的帧内模式推导(Template-based intra mode derivation,TIMD)
对于MPM中的每个帧内模式,计算图10中所示的模板区域的预测样点和重建样点之间的绝对变换差之和(sum of absolute transformed differences,SATD),并且选择前两个模式具有最小SATD成本的帧内模式,并且然后将它们与权重融合,并且将这种加权的帧内预测用于对当前CU进行编解码。
将两种所选模式的成本与阈值进行比较,在测试中,成本系数2应用如下:
costMode2<2*costMode1。
如果该条件为真,则应用融合,否则仅使用模式1。
模式的权重根据其SATD成本计算如下:
权重1=costMode2/(costMode1+costMode2)
权重2=1-权重1。
多参考行(Multiple reference line,MRL)帧内预测
多参考行(MRL)帧内预测使用更多的参考行用于帧内预测。在图18中,描绘了4个参考行的示例,其中,分段A和F的样点不是从已重建的相邻样点中获取的,而是分别用来自分段B和E的最接近的样点填充的。HEVC图片内预测使用最近的参考行(即,参考行0)。在MRL中,使用2个附加行(参考行1和参考行3)。
将所选参考行的索引(mrl_idx)用信号传输并用于生成帧内预测值。对于大于0的参考行idx,仅在MPM列表中包括附加参考行模式并且仅用信号传输mpm索引,而不包括剩余模式。在帧内预测模式之前用信号传输参考行索引,并且在用信号传输非零参考行索引的情况下将平面模式从帧内预测模式中排除。
针对CTU内的块的第一行禁用MRL,以防止使用当前CTU行外的扩展参考样点。同样,当使用附加行时,禁用PDPC。对于MRL模式,将非零参考行索引的DC帧内预测模式中的DC值的推导与参考行索引0的推导对齐。MRL需要存储具有CTU的3个相邻亮度参考行来生成预测。跨分量线性模型(Cross-Component Linear Model,CCLM)工具还需要3个相邻的亮度参考行以用于其下采样滤波器。将使用相同3个行的MRL的定义与CCLM对齐,以减少解码器的存储要求。
尽管DIMD模式可以提高帧内预测效率,但仍有进一步提高其性能的空间。同时,现有DIMD模式的一些部分也需要简化以实现高效的编解码器硬件实施方式,或者需要改进以提高编解码效率。此外,其实施方式复杂性与其编解码效率益处之间的权衡需要进一步改进。
在VVC的终结后,JVET小组继续探索超过VVC的压缩效率。JVET通过在VVC测试模型(VVC test model,VTM)之上集成几个附加编解码工具来维护一个称为增强压缩模型(enhanced compression model,ECM)的参考软件。在当前ECM中,PDPC的使用取决于帧内模式。对于DIMD模式,PDPC的使用取决于每个帧内模式。PDPC方案的两个不同位置被使用并应用于DIMD模式中的每个帧内模式,如图11D所示。对于在DIMD模式中使用角度模式的帧内预测,在预测融合之前应用PDPC。对于在DIMD模式中使用DC或平面模式的帧内预测,在预测融合之后应用PDPC。从标准化的角度来看,这种非统一的设计可能不是最优的。
类似地,融合方案的两种不同设计是可用的并分别应用于DIMD和TIMD。每种不同的融合设计都与不同的候选和权重计算相关联。对于应用DIMD的块,选择与两个最高HoG条相对应的两个IPM、和平面模式进行融合。并且将平面的权重固定为21/64(~1/3)。然后,将43/64(~2/3)的剩余权重在两个HoG IPM之间以与它们的HoG条的幅度成比例的方式共享。对于应用TIMD的块,选择前两个模式具有最小SATD成本的帧内模式,并且所述模式的权重根据它们的SATD成本来计算。从标准化的角度来看,这种非统一的设计可能不是最佳的。除了上述方面之外,通过不同的融合方案还有进一步提高其性能的空间。
在当前ECM设计中,将从DIMD推导的帧内模式包括在帧内最可能模式(mostprobable mode,MPM)的主列表中,而无论所推导的帧内模式是否已在DIMD中使用。其性能还有进一步提高的空间。
在DIMD和TIMD的现有设计中,涉及多个浮点运算(包括加法、乘法和除法)来计算用于推导最优帧内预测模式和生成一个当前DIMD/TIMD编码块的对应预测样点的参数。具体地,将以下浮点运算应用于ECM中的现有DIMD和TIMD设计中:
1)DIMD中梯度取向的推导:如前所述,在DIMD模式下,基于对当前块上方和左侧的相邻重建的样点(即,模板)的梯度直方图(histogram of the gradient,HoG)的分析来选择两个最优帧内预测模式。在这样的分析期间,需要计算每个模板样点的梯度取向,所述梯度取向被进一步转换为现有的角度帧内预测方向之一。在ECM中,在每个模板样点处应用一对浮点除法和乘法,以基于其水平和垂直梯度来计算这种取向,即,
2)DIMD中预测样点的混合:在现有的DIMD设计中,将使用具有最大和第二大梯度直方图幅度的两个角度帧内预测模式生成的预测样点与平面模式的预测样点混合,以形成当前块的最终预测样点。此外,两个角度帧内预测的权重是基于其梯度的直方图幅度来确定的,其中,引入了一组浮点加法、乘法和除法,如以下各项所述:
3)TIMD中预测样点的混合:在现有的TIMD设计中,当两个所选帧内模式的SATD足够接近时,将从两个帧内模式生成的预测样点混合在一起,以生成当前块的最终预测样点。根据当前设计,应用于两个帧内模式的权重是根据其相应的SATD值计算的,其中,涉及一对浮点乘法和除法,如以下各项所描绘:
w2=1-w1
上述所有浮点运算对于硬件和软件中的实际编解码器实施方式来说都是非常昂贵的。
在本公开中,为了解决前面指出的问题,提供了用于简化和/或进一步改进DIMD模式的现有设计的方法。通常,本公开中提出的技术的主要特征总结如下。
1).通过在预测融合之前对所有帧内预测应用PDPC,在DIMD模式中统一在角度模式和DC/平面模式下使用的PDPC。这种方法的一个示例在如图12A中的框图中示出。
2).通过在预测融合之后对所有帧内预测应用PDPC,在DIMD模式中统一在角度模式和DC/平面模式下使用的PDPC。这种方法的一个示例在如图12B中的框图中示出。
3).通过在DIMD模式中对所有帧内预测禁用PDPC,在DIMD模式中统一在角度模式和DC/平面模式下使用的PDPC。这种方法的一个示例在如图12C中的框图中示出。
4).通过在DIMD模式中对DC/平面帧内预测禁用PDPC,在DIMD模式中统一在角度模式和DC/平面模式下使用的PDPC。
5).通过在DIMD模式中对角度帧内预测禁用PDPC,在DIMD模式中统一在角度模式和DC/平面模式下使用的PDPC。
6).通过将在DIMD模式下使用的融合方案应用于TIMD模式来统一在DIMD模式和TIMD模式下使用的融合方案。
7).通过将在TIMD模式下使用的融合方案应用于DIMD模式来统一在DIMD模式和TIMD模式下使用的融合方案。
8).通过用信号传输对融合方案的选择来统一在DIMD模式和TIMD模式下使用的融合方案。
9).根据所推导的帧内模式是否已在DIMD中使用,将帧内模式从DIMD导出到帧内最可能模式(MPM)列表中。
10).将帧内模式从TIMD导出到帧内最可能模式(MPM)列表中。
应当注意,所提出的方法也可以应用于其他帧内预测编解码模式,如TIMD/MDIP。在图11A至图11C的框图中图示了应用于TIMD模式的另一组示例。图11A图示了在TIMD的融合过程之前应用所有PDPC过程的示例。图11B图示了在TIMD的融合过程之后应用所有PDPC过程的示例。图11C图示了在TIMD中禁用所有PDPC过程的示例。
应当注意,所提出的方法也可以应用于其他组合帧内和帧间预测编解码模式,如组合帧间和帧内预测(combined inter and intra prediction,CIIP)。
应当注意,所公开的方法可以独立地或联合地应用。
DIMD中用于角度模式和DC/平面模式的PDPC的协调
根据本公开的一个或多个实施例,在DIMD模式下,将相同的PDPC位置应用于角度模式和DC/平面模式两者。可以使用不同的方法来实现这一目标。
在本公开的一个示例中,提出了在DIMD模式中在预测融合之前应用PDPC操作,如图12A所示。换言之,在DIMD模式中,在预测融合之前,基于每个帧内预测模式的帧内模式来对所述每个帧内预测模式应用PDPC。所提出的方法也可以应用于其他帧内预测编解码模式,如TIMD。
在本公开的另一个示例中,提出了在DIMD模式中在预测融合之后应用PDPC操作,如图12B所示。换言之,基于特定模式(例如,DC、平面)来对三个预测值的加权组合应用PDPC。在一个示例中,特定模式是平面模式,然后在DIMD模式中在预测融合之后应用针对平面模式的PDPC。在另一个示例中,选择与最高直方图条相对应的IPM作为特定模式,然后在DIMD模式中在预测融合之后应用针对该特定模式的PDPC。在又另一个示例中,选择与第二高直方图条相对应的IPM作为特定模式,然后在DIMD模式中在预测融合之后应用针对该特定模式的PDPC。
在本公开的另一个示例中,提出了在DIMD模式中禁用PDPC操作。换言之,在DIMD模式中不使用PDPC操作,如图12C所示。
在本公开的另一个示例中,提出了在DIMD模式中对DC/平面帧内预测禁用PDPC操作。换言之,PDPC操作不用于DIMD模式中的DC/平面帧内预测。在如图15所示的一个示例中,在步骤1502中,解码器可以基于针对一个或多个视频块的一个或多个帧内预测的位置相关帧内预测组合(position-dependent intra prediction combination,PDPC)操作来确定所述一个或多个视频块的预测样点值,以在帧内预测编解码模式中统一PDPC操作,其中,PDPC操作基于边界参考样点的组合来修改所述一个或多个帧内预测的结果。在步骤1504中,响应于确定在所述一个或多个视频块的一个或多个帧内预测中应用直流(directcurrent,DC)模式或平面模式,解码器可以对DC模式或平面模式禁用PDPC操作,以在帧内预测编解码模式中统一PDPC操作。
在本公开的又另一个示例中,提出了在DIMD模式中对角度帧内预测禁用PDPC操作。换言之,PDPC操作不用于DIMD模式中的角度帧内预测。在如图16所示的一个示例中,在步骤1602中,解码器可以基于针对一个或多个视频块的一个或多个帧内预测的位置相关帧内预测组合(PDPC)操作来确定所述一个或多个视频块的预测样点值,以在帧内预测编解码模式中统一PDPC操作,其中,PDPC操作基于边界参考样点的组合来修改所述一个或多个帧内预测的结果。在步骤1604中,响应于确定在所述一个或多个视频块的一个或多个帧内预测中应用角度模式,解码器可以对角度模式禁用PDPC操作,以在帧内预测编解码模式中统一PDPC操作。
应当注意,所提出的方法也可以应用于其他帧内预测编解码模式,如TIMD/MDIP。
用于DIMD模式和TIMD模式的融合方案的协调
根据本公开的一个或多个实施例,将相同的融合方案应用于DIMD模式和TIMD模式两者。可以使用不同的方法来实现这一目标。融合方案在DIMD模式和TIMD模式中是作为预测值的加权平均值应用的。
在本公开的一个示例中,提出了将在DIMD模式下使用的融合方案应用于TIMD模式。换言之,对于TIMD模式,选择具有最小SATD成本的前两个模式和平面模式作为用于融合的预测值,并且计算预测值的加权平均值。并且将平面的权重固定为21/64(~1/3)。然后,将43/64(~2/3)的剩余权重在其他两个模式之间以与它们的SATD成本的幅度成比例的方式共享。
在本公开的另一个示例中,提出了将在TIMD模式下使用的融合方案应用于DIMD模式。换言之,对于DIMD模式,选择具有最高HoG条的前两个模式作为用于融合的预测值,并且所述模式的权重以与它们的HoG条的幅度成比例的方式根据HoG IPM计算。如果直方图中的最大值是0(意味着不能进行梯度分析,或者构成模板的区域是平坦的),则选择一个默认模式作为用于当前块的帧内预测模式,例如,DC、平面。
在本公开的又另一个示例中,提出了用信号传输对TIMD和/或DIMD模式中的融合方案的选择。在一个示例中,对于给定CU,将标志用信号传输到解码器以指示块是否使用DIMD模式。如果其是使用DIMD模式被编码的,则进一步将一个标志用信号传输到解码器,以指示使用哪种融合方案例如上述第一融合方法或第二融合方法。
修改MPM列表中使用的DIMD模式
在本公开的另一方面,提出了根据所推导的帧内模式是否已在DIMD中使用,将帧内模式从DIMD导出到帧内最可能模式(MPM)列表中。根据本公开的一个或多个实施例,如果在DIMD模式中使用融合方案,则从DIMD推导的帧内模式可以用作MPM列表的候选。换言之,如果不在DIMD模式中使用融合方案,则从DIMD推导的帧内模式不能用作MPM列表的候选。
在本公开的另一个方面中,与DIMD的可用定向模式具有附加偏移的定向模式可以用作MPM列表的候选。在一个特定示例中,偏移可以是1、-1、2、-2、3、-3、4、-4。
如图17所示,在一个示例中,在步骤1702中,解码器可以确定在DIMD模式中是否应用了融合方案,其中,融合方案在DIMD模式中是作为预测值的加权平均值应用的。在步骤1704中,解码器可以将偏移应用于DIMD模式中的可用定向模式,以获得偏移定向模式。在步骤1706中,解码器可以基于在DIMD模式中是否应用了融合方案来确定是否将偏移定向模式添加到最可能模式(MPM)的列表中。
作为一个示例,首先构建具有22个条目的通用MPM列表,并且然后将该通用MPM表中的前6个条目包括在主MPM(primary MPM,PMPM)列表中,并且其余条目形成辅助MPM(secondary MPM,SMPM)列表。通用MPM列表中的第一个条目是平面模式。其余条目由左(L)、上(A)、左下(BL)、右上(AR)和左上(AL)相邻块的帧内模式、DIMD模式(蓝色部分)、与相邻块的前两个可用定向模式和DIMD模式具有附加偏移的定向模式(红色部分)、以及默认模式{DC_IDX(1),VER_IDX(50),HOR_IDX(18),VER_IDX–4(46),VER_IDX+4(54),14,22,42,58,10,26,38,62,6,30,34,66,2,48,52,16}构成。
如果CU块垂直取向,则相邻块的顺序为A、L、BL、AR、AL;否则,所述顺序是L、A、BL、AR、AL。
在该示例中,首先将无偏移的DIMD模式(蓝色部分)添加到MPM列表中。如果列表未满,则将具有偏移的DIMD模式(红色部分)添加到MPM列表中。
MPM列表中使用的TIMD模式
在本公开的另一方面,提出了将帧内模式从TIMD导出到帧内最可能模式(MPM)列表中。通常,VVC中有67个帧内预测模式,包括非定向模式(平面、DC)和65个角度模式,所述帧内预测模式可高效地对视频和图像内容中通常存在的不同定向结构进行建模。在本公开的一个或多个实施例中,从TIMD推导的帧内模式可以用作MPM列表的候选。在一个示例中,从DIMD推导的帧内模式不能用作MPM列表的候选,从TIMD推导的帧内模式可以用作MPM列表的候选。
在本公开的另一方面,提出了根据所推导的帧内模式是否已在TIMD中使用,将帧内模式从TIMD导出到帧内最可能模式(MPM)列表中。根据本公开的一个或多个实施例,如果在TIMD模式中使用融合方案,则从TIMD推导的帧内模式可以用作MPM列表的候选。换言之,如果不在TIMD模式中使用融合方案,则从TIMD推导的帧内模式不能用作MPM列表的候选。
可以使用包括一个或多个电路的装置来实施上述方法,该一个或多个电路包括专用集成电路(application specific integrated circuit,ASIC)、数字信号处理器(digital signal processor,DSP)、数字信号处理设备(digital signal processingdevice,DSPD)、可编程逻辑设备(programmable logic device,PLD)、现场可编程门阵列(field programmable gate array,FPGA)、控制器、微控制器、微处理器或其他电子部件。所述装置可以将这些电路与用于执行上述方法的其他硬件或软件部件结合使用。上文公开的每个模块、子模块、单元、或子单元都可以使用这一个或多个电路来至少部分地实施。
利用整数运算的简化的DIMD和TIMD
如先前所指出的,在DIMD和TIMD的现有设计中,涉及许多浮点运算(即,加法、乘法和除法)来推导DIMD/TIMD参数,这对于软件和硬件中的实际编解码器实施方式是不可接受的。在本节中,提出了一种基于查找表(look-up-table,LUT)的方案,以通过用整数加法和乘法代替所有浮点运算来简化DIMD和TIMD的实施方式。在一个示例中,解码器识别要执行以推导DIMD模式或TIMD模式中的参数的浮点除法运算;并且解码器通过基于查找表(LUT)用整数加法和乘法代替浮点除法运算来获得DIMD或TIMD中的参数。
具体地,如图13所示,提出了用一个指数和K位有效部分(其在指数之后包含K个最高有效位(most significant bit,MSB))来近似一个整数L,如示出为:
其中,normMSB是MSB的在0至2K-1的范围内的值。对应地,整数L的除法可以写成:
如果以M位精度量化1/L的小数部分,则上述等式变为
其中,<·>是舍入运算。进一步地,上述等式的舍入部分可以由一个LUT表示,所述LUT包含2K个元素,并且每个元素以M位精度表示。另一方面,因为normMSB的值在[0,2K-1]的范围内,所以舍入部分总是不小于2M-1。考虑到这样的先验知识,可以通过忽略每个元素的第一MSB(其总是等于1)并且仅存储其剩余的(M-1)位最低有效位(least significantbit,LSB)来减小LUT大小,即,每个元素只需要(M-1)位。基于这样的设计,LUT的元素可以被计算为:
其中,
对应地,可以实现所提出的整数化方案,其中,任意两个整数之间的除法(例如,)可以用一个基于LUT的整数乘法加一个右移来代替,如以下各项所描绘的:
exponent=Floor(Log2(denom))
normMSB=((denom<<K)>>exponent)&((1<<K)-1)
s=exponent+shift
add=(1<<(s-1))
比率=(num·(divLut[normMSB]|(1<<(M-1)))+add)>>s
其中,num表示分子的值,并且denom表示分母的值。在本公开的示例中,分母为整数值L,并且分子为1。
在实践中,可以应用LUT大小(即,K)和参数精度(即,M)的不同组合,以实现推导的参数的准确度与实施复杂性之间的变化折衷。例如,使用大的LUT大小和更高的参数精度有利于保持高的参数准确度,然而,这伴随着用于维持LUT的扩大的存储大小和用于进行对应整数运算(例如,整数乘法、加法和逐位移位)的增加的比特深度的开销。基于这样的考虑,在一个具体示例中,提出了将K和M的值设置为4。基于这样的设置,将对应的LUT推导为
divLut[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,0}
以DIMD推导为例,在上述整数化方案的情况下(当将K和M都设置为4时),每个模板样点处的梯度取向的推导可以被实施为
exponent=Floor(Log2(Gx))
normMSB=((Gx<<4)>>exponent)&15
v=Gy·(divLut[normMSB]|8)
s=exponent+(normMSB≠0?4:3)-16
应注意,上述示例中使用的K和M的值仅用于说明目的。在实践中,在其他未来编解码技术的过程中,可以应用所提出的使用K和M的不同值的基于LUT的方案来将任何浮点除法转换为整数运算。
利用多参考行选择的TIMD
在本公开的另一个方面,提出了利用多参考行选择来从TIMD推导帧内模式。根据本公开的一个或多个实施例,重建区域中的不同参考行可以用于推导TIMD中的帧内模式。在一个示例中,对于给定CU,将标志用信号传输到解码器以指示块是否使用TIMD模式。如果使用TIMD模式对块进行编码,则将参考行的索引进一步用信号传输到解码器,以指示在TIMD模式中使用哪个参考行。附加地,可以以与现有MRL设计类似的方式用信号传输参考行的索引。
根据本公开的一个或多个实施例,可以通过不同的方法对参考行的索引进行二值化。可以使用不同的方法来推导二进制码字的变量集,下面列出了一些示例性方法。
1.定长二值化
2.截断莱斯二值化
3.截断一元二值化过程
4.截断二进制(Truncated Binary,TB)二值化过程
5.k阶指数哥伦布二值化过程(k-th order Exp-Golomb,EGk)
6.有限的k阶指数哥伦布二值化
根据本公开的一个或多个实施例,可以将参考行的索引预定义成组并用于TIMD。可以使用不同的参考行来形成组,下面列出了一些示例性方法。
1.{0,1,2,…,N},其中,N是预定义整数。
2.{0,2,4,…,2*N},其中,N是预定义整数。
3.{0,1,3,5,7,12}
4.{0,1,2}
5.{0,1,3}
6.{0,1,3,5,7}
7.{0,1,3,5}
在一个示例中,如图19所示,使用MRL候选列表{1,3,5,7,12}。
根据本公开的一个或多个实施例,针对CTU内的块的第一行禁用利用多参考行选择的TIMD,以防止使用当前CTU行外的扩展参考样点。
图20是图示了根据本公开的一个示例的视频编码/解码过程的框图。在步骤2002中,解码器接收用信号传输的标志,所述用信号传输的标志指示基于模板的帧内模式推导(template-based intra mode derivation,TIMD)模式是否被应用于当前视频块。在步骤2004中,响应于基于用信号传输的标志确定TIMD模式被应用于当前视频块,解码器基于当前视频块的重建区域中的不同参考行来从TIMD模式推导帧内预测模式,其中,重建区域包括用于当前视频块的重建的相邻块。
在本公开的另一个示例中,提供了一种视频编码方法。编码器可以用信号传输标志,所述标志用于指示TIMD模式是否被应用于当前视频块。然后,当编码器确定TIMD模式被应用于当前视频块时,编码器可以基于当前视频块的重建区域中的不同参考行来从TIMD模式推导帧内预测模式。响应于确定TIMD模式被应用于当前视频块,编码器可以进一步确定参考行的索引以指示在TIMD模式中使用的参考行,并且用信号传输参考行的索引以推导用于当前视频块的帧内预测模式。在一个或多个示例中,参考行的索引用二进制码字的变量集中的一个二进制码字集来二值化。二进制码字的变量集中的每个二进制码字集可以是通过以下二值化过程之一来推导的:定长二值化过程、截断莱斯二值化过程、截断一元二值化过程、截断二进制(Truncated Binary,TB)二值化过程、k阶指数哥伦布(k-th order Exp-Golomb,EGk)二值化过程、有限的k阶指数哥伦布(EGk)二值化过程。
这里,可以将参考行的索引预定义成用于TIMD模式的组,并且参考行的索引的每个组可以包括所述不同参考行。在一个或多个示例中,参考行的索引的组可以包括{0,1,2,…,N}、{0,2,4,…,2*N}、{0,1,3,5,7,12}、{0,1,2}、{0,1,3}、{0,1,3,5,7}、{0,1,3,5},其中,N是预定义整数。
图14示出了与用户界面1650耦接的计算环境1610。计算环境1610可以是数据处理服务器的一部分。计算环境1610包括处理器1620、存储器1630和输入/输出(Input/Output,I/O)接口1640。
处理器1620通常控制计算环境1610的整体操作,如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器1620可以包括执行指令的一个或多个处理器,以执行上文描述的方法中的所有或一些步骤。此外,处理器1620可以包括促进处理器1620与其他部件之间的交互的一个或多个模块。处理器可以是中央处理单元(Central ProcessingUnit,CPU)、微处理器、单片机、图形处理单元(Graphical Processing Unit,GPU)等。
存储器1630被配置为存储各种类型的数据,以支持计算环境1610的操作。存储器1630可以包括预定软件1632。这种数据的示例包括用于在计算环境1610上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器1630可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,如静态随机存取存储器(Static Random AccessMemory,SRAM)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口1640提供处理器1620与***接口模块(如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1640可以与编码器和解码器耦接。
在实施例中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质例如在存储器1630中包括多个程序,所述多个程序可由计算环境1610中的处理器1620执行,用于执行上述方法。在一个示例中,所述多个程序可以由计算环境1610中的处理器1620执行以接收(例如,从图2中的视频编码器20)包括已编码视频信息(例如,表示已编码视频帧的视频块和/或相关联的一个或多个语法元素等)的比特流或数据流,并且还可以由计算环境1610中的处理器1620执行以根据接收到的比特流或数据流执行上述解码方法。在另一个示例中,所述多个程序可以由计算环境1610中的处理器1620执行以执行上述编码方法来将视频信息(例如,表示视频帧的视频块和/或相关联的一个或多个语法元素等)编码成比特流或数据流,并且还可以由计算环境1610中的处理器1620执行以传输比特流或数据流(例如,传输到图3中的视频解码器30)。替代性地,非暂态计算机可读存储介质可以在其中存储有比特流或数据流,所述比特流或数据流包括由编码器(例如,图2中的视频编码器20)使用例如上文描述的编码方法生成的已编码视频信息(例如,表示已编码视频帧的视频块和/或相关联的一个或多个语法元素等),以供解码器(例如,图3中的视频解码器30)对视频数据进行解码。非暂态计算机可读存储介质可以是例如ROM、随机存取存储器(RandomAccess Memory,RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
在实施例中,还提供了一种计算设备,所述计算设备包括:一个或多个处理器(例如,处理器1620);以及非暂态计算机可读存储介质或存储器1630,所述非暂态计算机可读存储介质或存储器中存储有可由所述一个或多个处理器执行的多个程序,其中,所述一个或多个处理器被配置为在执行所述多个程序时执行上述方法。
在实施例中,还提供了一种计算机程序产品,所述计算机程序产品包括例如在存储器1630中的多个程序,所述多个程序可由计算环境1610中的处理器1620执行以用于执行上述方法。例如,计算机程序产品可以包括非暂态计算机可读存储介质。
在实施例中,计算环境1610可以用一个或多个ASIC、DSP、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、FPGA、GPU、控制器、微控制器、微处理器或其他电子部件实施,以用于执行上述方法。
已经出于说明目的呈现了对本公开的描述,并且所述描述不旨在是穷举的、或限于本公开。受益于前述描述和相关联附图中呈现的教导,许多修改、变体和替代性实施方式对于本领域普通技术人员将是显而易见的。
除非另有特别说明,否则根据本公开的方法的步骤顺序仅旨在是说明性的,并且根据本公开的方法的步骤不限于上述具体描述的顺序,而是可以根据实际条件进行改变。另外,根据本公开的方法的至少一个步骤可以根据实际需要进行调整、组合或删除。
选择并描述示例以便解释本公开的原理,并且使本领域其他技术人员能够理解本公开的各种实施方式并且最好地利用基本原理以及具有适合于预期的特定用途的各种修改的各种实施方式。因此,应当理解,本公开的范围不应受限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在本公开的范围内。

Claims (15)

1.一种用于视频解码的方法,包括:
由解码器获得用信号传输的标志,所述用信号传输的标志指示基于模板的帧内模式推导(TIMD)模式是否被应用于当前视频块;以及
响应于基于所述用信号传输的标志确定所述TIMD模式被应用于所述当前视频块,由所述解码器基于所述当前视频块的重建区域中的不同参考行来从所述TIMD模式推导帧内预测模式,其中,所述重建区域包括用于所述当前视频块的重建的相邻块。
2.如权利要求1所述的用于视频解码的方法,进一步包括:
响应于确定所述TIMD模式被应用于所述当前视频块,由所述解码器获得参考行的索引以指示在所述TIMD模式中使用的所述参考行,其中,所述参考行的所述索引被用信号传输以推导用于所述当前视频块的所述帧内预测模式。
3.如权利要求2所述的用于视频解码的方法,其中,所述参考行的所述索引用二进制码字的变量集中的一个二进制码字集来二值化。
4.如权利要求3所述的用于视频解码的方法,其中,所述二进制码字的所述变量集中的每个二进制码字集是通过以下二值化过程之一来推导的:定长二值化过程、截断莱斯二值化过程、截断一元二值化过程、截断二进制(TB)二值化过程、k阶指数哥伦布(EGk)二值化过程、有限的k阶指数哥伦布(EGk)二值化过程。
5.如权利要求2所述的用于视频解码的方法,其中,所述参考行的所述索引被预定义成用于所述TIMD模式的组,并且所述参考行的所述索引的每个组包括所述不同参考行。
6.如权利要求5所述的用于视频解码的方法,其中,所述参考行的所述索引的所述组包括{0,1,2,…,N}、{0,2,4,…,2*N}、{0,1,3,5,7,12}、{0,1,2}、{0,1,3}、{0,1,3,5,7}、{0,1,3,5},其中,N是预定义整数。
7.一种用于视频编码的方法,包括:
由编码器用信号传输标志,所述标志指示基于模板的帧内模式推导(TIMD)模式是否被应用于当前视频块;以及
响应于确定所述TIMD模式被应用于所述当前视频块,由所述编码器基于所述当前视频块的重建区域中的不同参考行来从所述TIMD模式推导帧内预测模式,其中,所述重建区域包括用于所述当前视频块的重建的相邻块。
8.如权利要求7所述的用于视频编码的方法,进一步包括:
响应于确定所述TIMD模式被应用于所述当前视频块,由所述编码器确定参考行的索引以指示在所述TIMD模式中使用的所述参考行,其中,所述参考行的所述索引被用信号传输以推导用于所述当前视频块的所述帧内预测模式。
9.如权利要求8所述的用于视频编码的方法,其中,所述参考行的所述索引用二进制码字的变量集中的一个二进制码字集来二值化。
10.如权利要求9所述的用于视频编码的方法,其中,所述二进制码字的所述变量集中的每个二进制码字集是通过以下二值化过程之一来推导的:定长二值化过程、截断莱斯二值化过程、截断一元二值化过程、截断二进制(TB)二值化过程、k阶指数哥伦布(EGk)二值化过程、有限的k阶指数哥伦布(EGk)二值化过程。
11.如权利要求8所述的用于视频编码的方法,其中,所述参考行的所述索引被预定义成用于所述TIMD模式的组,并且所述参考行的所述索引的每个组包括所述不同参考行。
12.如权利要求11所述的用于视频编码的方法,其中,所述参考行的所述索引的所述组包括{0,1,2,…,N}、{0,2,4,…,2*N}、{0,1,3,5,7,12}、{0,1,2}、{0,1,3}、{0,1,3,5,7}、{0,1,3,5},其中,N是预定义整数。
13.一种装置,包括:
一个或多个处理器;以及
存储器,所述存储器被配置为存储能够由所述一个或多个处理器执行的指令;其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求1至12中任一项所述的方法。
14.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器接收比特流并基于所述比特流执行如权利要求1至6中任一项所述的方法。
15.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行如权利要求7至12中任一项所述的方法,以将所述当前视频块编码成比特流并传输所述比特流。
CN202280072227.XA 2021-11-19 2022-11-18 用于解码器侧帧内模式推导的方法和设备 Pending CN118160303A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163281606P 2021-11-19 2021-11-19
US63/281,606 2021-11-19
PCT/US2022/050441 WO2023091688A1 (en) 2021-11-19 2022-11-18 Methods and devices for decoder-side intra mode derivation

Publications (1)

Publication Number Publication Date
CN118160303A true CN118160303A (zh) 2024-06-07

Family

ID=86397766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280072227.XA Pending CN118160303A (zh) 2021-11-19 2022-11-18 用于解码器侧帧内模式推导的方法和设备

Country Status (2)

Country Link
CN (1) CN118160303A (zh)
WO (1) WO2023091688A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
WO2018054269A1 (en) * 2016-09-22 2018-03-29 Mediatek Inc. Method and apparatus for video coding using decoder side intra prediction derivation
EP3528497A4 (en) * 2016-10-14 2020-07-22 Industry-Academia Cooperation Foundation of Sejong University IMAGE CODING AND DECODING PROCESS AND DEVICE

Also Published As

Publication number Publication date
WO2023091688A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
CN110463202B (zh) 一种用于解码视频数据的方法、装置和设备
CN116418993A (zh) 视频编码的方法、装置和介质
CN114710679A (zh) 视频编解码中的小色度块大小限制
CN116389756A (zh) 视频编码方法、电子装置和存储介质
CN114223201A (zh) 在跨分量相关中的色度编解码增强
CN116783889A (zh) 跨分量样本自适应偏移中的编解码增强
CN117597927A (zh) 使用多方向帧内预测的视频编解码
US20240187624A1 (en) Methods and devices for decoder-side intra mode derivation
JP2022159392A (ja) ビデオ符号化のための位置依存の空間変化変換
WO2020247577A1 (en) Adaptive motion vector resolution for affine mode
US20240214561A1 (en) Methods and devices for decoder-side intra mode derivation
US20240195957A1 (en) Methods and devices for decoder-side intra mode derivation
CN118160303A (zh) 用于解码器侧帧内模式推导的方法和设备
CN116614625B (zh) 一种视频编码的方法、装置和介质
CN118044187A (zh) 用于解码器侧帧内模式推导的方法和设备
US20240214580A1 (en) Intra prediction modes signaling
WO2023114155A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023129744A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023164245A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023141238A1 (en) Methods and devices for decoder-side intra mode derivation
EP4397036A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023034152A1 (en) Methods and devices for decoder-side intra mode derivation
KR20240100398A (ko) 디코더 측 인트라 모드 도출을 위한 방법 및 장치
WO2023081322A1 (en) Intra prediction modes signaling
CN116636218A (zh) 利用多方向帧内预测的视频编解码

Legal Events

Date Code Title Description
PB01 Publication