CN118235401A - 帧内预测模式信令 - Google Patents

帧内预测模式信令 Download PDF

Info

Publication number
CN118235401A
CN118235401A CN202280073344.8A CN202280073344A CN118235401A CN 118235401 A CN118235401 A CN 118235401A CN 202280073344 A CN202280073344 A CN 202280073344A CN 118235401 A CN118235401 A CN 118235401A
Authority
CN
China
Prior art keywords
intra
prediction
video
mode
mpm list
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
CN202280073344.8A
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 CN118235401A publication Critical patent/CN118235401A/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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

提供了用于视频编解码的方法、装置和非暂时性计算机可读存储介质。在一种方法中,解码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的帧内预测模式列表;并且解码器可以基于当前视频块的编码信息或当前视频块的导出信息对帧内预测模式列表中的帧内预测模式进行重新排序。

Description

帧内预测模式信令
相关申请的交叉引用
本申请基于并且要求享受于2021年11月3日提交的临时申请No.63/275,438的优先权,该临时申请的全部内容通过引用的方式被并入本文,用于所有的目的。
技术领域
本公开内容涉及视频编解码和压缩。更具体地,本公开内容涉及有关提高编解码效率或简化帧内预测模式信令的方法和装置。
背景技术
各种电子设备(诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流式传输设备等)支持数字视频。电子设备跨通信网络来发送和接收或以其它方式传送数字视频数据,和/或将数字视频数据存储在存储设备上。由于通信网络的有限带宽容量和存储设备的有限存储资源,因此在视频数据被传送或存储之前,可以根据一种或多种视频编解码标准使用视频编解码来压缩视频数据。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编解码(HEVC/H.265)、高级视频编解码(AVC/H.264)、移动图像专家组(MPEG)编解码等。视频编解码通常采用利用视频数据中固有的冗余的预测方法(例如,帧间预测、帧内预测等)。视频编解码旨在将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。
发明内容
本公开内容的示例提供了用于使用帧内预测的视频编解码的方法和装置。
根据本公开内容的第一方面,提供了一种用于视频编解码的方法。该方法可以包括:由解码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的帧内预测模式列表;以及由解码器基于当前视频块的编码信息或当前视频块的导出信息对帧内预测模式列表中的帧内预测模式进行重新排序。
根据本公开内容的第二方面,提供了一种用于视频编解码的方法。该方法可以包括:由解码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的非最可能模式(非MPM)列表;以及由解码器导出用于非MPM列表中的帧内预测模式的二进制码字的变量集合。
根据本公开内容的第三方面,提供了一种用于视频编解码的方法。该方法可以包括:由编码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的帧内预测模式列表;以及由编码器基于当前视频块的编码信息或当前视频块的导出信息对帧内预测模式列表中的帧内预测模式进行重新排序。
根据本公开内容的第四方面,提供了一种用于视频编解码的方法。该方法可以包括:由编码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的非最可能模式(非MPM)列表;以及由编码器导出用于非MPM列表中的帧内预测模式的二进制码字的变量集合。
应当理解的是,上文的一般描述和下文的详细描述仅是示例性的和解释性的,并且不旨在限制本公开内容。
附图说明
被并入本说明书中并且构成本说明书的一部分的附图示出了与本公开内容一致的示例,并且与本描述一起用于解释本公开内容的原理。
图1是示出根据本公开内容的一些实现方式的用于对视频块进行编码和解码的示例性系统的框图。
图2是示出根据本公开内容的一些实现方式的示例性视频编码器的框图。
图3是示出根据本公开内容的一些实现方式的示例性视频解码器的框图。
图4A至图4E是示出根据本公开内容的一些实现方式的如何将帧递归地分割成不同尺寸和形状的多个视频块的框图。
图5A示出根据本公开内容的一些实现方式的由被应用于预测模式的PDPC使用的样点的定义。
图5B示出根据本公开内容的一些实现方式的由被应用于预测模式的PDPC使用的样点的定义。
图5C示出根据本公开内容的一些实现方式的由被应用于预测模式的PDPC使用的样点的定义。
图5D示出根据本公开内容的一些实现方式的由被应用于预测模式的PDPC使用的样点的定义。
图6示出根据本公开内容的一些实现方式的VVC中的帧内模式的示例。
图7示出根据本公开内容的一些实现方式的对其执行梯度分析的挑选的像素的示例。
图8示出根据本公开内容的一些实现方式的卷积过程。
图9示出根据本公开内容的一些实现方式的通过对两种HoG模式和一种平面模式进行加权平均的预测融合。
图10示出根据本公开内容的一些实现方式的在TIMD中使用的模板及其参考样点。
图11是示出根据本公开内容的一些实现方式的视频解码过程的框图。
图12是示出根据本公开内容的一些实现方式的与用户接口耦合的计算环境的框图。
图13是示出根据本公开内容的一些实现方式的视频编解码过程的框图。
图14是示出根据本公开内容的一些实现方式的视频编解码过程的框图。
图15是示出根据本公开内容的一些实现方式的视频编解码过程的框图。
图16是示出根据本公开内容的一些实现方式的视频编解码过程的框图。
具体实施方式
现在将详细参照示例实施例,在附图中示出了实施例的示例。以下描述参考附图,其中,除非另有声明,否则不同附图中的相同的数字表示相同或相似的元素。在示例实施例的以下描述中阐述的实现方式不代表与本公开内容一致的所有实现方式。相反,它们仅仅是与如所附权利要求中记载的与本公开内容相关的各方面一致的装置和方法的示例。
本公开内容中使用的术语仅用于描述特定实施例的目的,并且不旨在限制本公开内容。如在本公开内容和所附权利要求中使用的,除非上下文另有明确指示,否则单数形式“一(a)”、“一个(an)”和“所述(the)”旨在也包括复数形式。还应理解的是,本文使用的术语“和/或”旨在表示并且包括所列出的相关联的项目中的一个或多个项目的任何或所有可能的组合。
应当理解的是,尽管在本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是该信息不应当受这些术语的限制。这些术语仅被用于将一类信息与另一类信息区分开。例如,在不脱离本公开内容的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文使用的,根据上下文,术语“如果”可以被理解为表示“当……时(when)”、或“在……时(upon)”、或“响应于判断”。
各种视频编解码技术可以被用于压缩视频数据。视频编解码是根据一个或多个视频编解码标准执行的。例如,如今,一些公知的视频编解码标准包括通用视频编解码(VVC)、高效视频编解码(HEVC,也被称为H.265或MPEG-H第2部分)和高级视频编解码(AVC,也被称为H.264或MPEG-4第10部分),它们是由ISO/IEC MPEG和ITU-T VECG联合开发的。AOMedia视频1(AV1)是由开放媒体联盟(AOM)开发的,作为其先前标准VP9的后继标准。音视频编解码(AVS)(其是指数字音频和数字视频压缩标准)是由中国音频和视频编解码标准工作组开发的另一视频压缩标准系列。现有视频编解码标准中的大多数视频编解码标准是建立在著名的混合视频编解码框架之上的,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编码来压缩预测误差的能量。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。
第一代AVS标准包括中国国家标准“信息技术,高级音视频编解码第2部分:视频”(被称为AVS1)和“信息技术,高级音视频编解码第16部分:广播电视视频”(被称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下提供大约50%的比特率节省。AVS1标准视频部分于2006年2月颁布,作为中国国家标准。第二代AVS标准包括中国国家标准“信息技术,高效多媒体编解码”的系列(被称为AVS2),其主要针对于额外的HD TV节目的传输。AVS2的编解码效率是AVS+的两倍。在2016年5月,AVS2被发布作为中国国家标准。同时,电气和电子工程师协会(IEEE)将AVS2标准视频部分提交作为一项国际标准予以应用。AVS3标准是针对UHD视频应用的新一代视频编解码标准,其旨在超越最新国际标准HEVC的编解码效率。2019年3月,在第68次AVS会议上,完成了AVS3-P2基线,与HEVC标准相比,它提供了大约30%的比特率节省。目前,存在一个被称为高性能模型(HPM)的参考软件,其由AVS小组维护,以用于演示AVS3标准的参考实现。
图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的任何类型的计算机。示例性文件服务器包括网络服务器(例如,用于网站)、文件传输协议(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,显示器设备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与DPB 64之间以对块边界进行滤波以从重建视频去除块效应伪像。除了去块滤波器之外,还可以使用另一环路滤波器(诸如样点自适应偏移(SAO)滤波器和/或自适应环路滤波器(ALF))来对加法器62的输出进行滤波。在一些示例中,可以省略环路滤波器,并且经解码视频块可以直接由加法器62提供给DPB 64。视频编码器20可以采取固定或可编程硬件单元的形式,或者可以被划分在所示出的固定或可编程硬件单元中的一个或多个中。
视频数据存储器40可以存储将由视频编码器20的各组件编码的视频数据。可以例如从如图1中所示的视频源18获得视频数据存储器40中的视频数据。DPB 64是存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据(例如,参考帧或图片)的缓冲器。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割成视频块。该分割还可以包括根据与视频数据相关联的预定义的拆分结构(诸如四叉树(QT)结构)将视频帧分割成条带、瓦片(例如,视频块的集合)或其它更大的编码单元(CU)。视频帧是或可以被视为具有样点值的二维样点阵列或矩阵。阵列中的样点也可以被称为像素或图像元素(pel)。阵列或图片的水平和垂直方向(或轴)上的样点的数量定义了视频帧的尺寸和/或分辨率。例如,可以通过使用QT分割将视频帧划分成多个视频块。视频块再次是或可以被视为具有样点值的二维样点阵列或矩阵,但是其维度小于视频帧的维度。视频块的水平和垂直方向(或轴)上的样点的数量定义了视频块的尺寸。通过例如迭代地使用QT分割、二叉树(BT)分割或三叉树(TT)分割或其任何组合,可以将视频块进一步分割成一个或多个块分区或子块(其可以再次形成块)。应当注意的是,如本文使用的术语“块”或“视频块”可以是帧或图片的一部分,尤其是矩形(正方形或非正方形)部分。参考例如HEVC和VVC,块或视频块可以是或对应于编码树单元(CTU)、CU、预测单元(PU)或变换单元(TU)和/或可以是或对应于对应块(例如,编码树块(CTB)、编码块(CB)、预测块(PB)或变换块(TB))和/或子块。
预测处理单元41可以基于误差结果(例如,编码速率和失真等级)为当前视频块选择多个可能预测编码模式中的一个,诸如多个帧内预测编码模式中的一个或多个帧间预测编码模式中的一个。预测处理单元41可以将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建经编码块以用于随后作为参考帧的一部分使用。预测处理单元41还将语法元素(诸如运动矢量、帧内模式指示符、分割信息和其它这样的语法信息)提供给熵编码单元56。
为了选择用于当前视频块的合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以与和将被编码的当前块在同一帧中的一个或多个邻近块相关地执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44与一个或多个参考帧中的一个或多个预测块相关地执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可以执行多个编码通道,例如,以为视频数据的每个块选择合适的编码模式。
在一些实现方式中,运动估计单元42通过根据视频帧序列内的预先确定的模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,该运动矢量估计针对视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块相对于与当前帧内正被编码的当前块相关的参考帧内的预测块的位移。预先确定的模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定用于帧间预测的运动矢量类似的方式确定用于帧内BC编码的矢量(例如,块矢量),或可以利用运动估计单元42确定块矢量。
在像素差方面,针对视频块的预测块可以是或可以对应于被认为与将被编码的视频块紧密匹配的参考帧的块或参考块,像素差可以由绝对差之和(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可以高度集成,但出于概念的目的而单独示出。
在一些实现方式中,帧内BC单元48可以以与上文结合运动估计单元42和运动补偿单元44描述的方式类似的方式生成矢量并提取预测块,但是这些预测块在与正被编码的当前块相同的帧中,并且这些矢量被称为块矢量而非运动矢量。具体地,帧内BC单元48可以确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内BC单元48可以例如在单独的编码通道期间使用各种帧内预测模式来对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种测试的帧内预测模式中选择合适的帧内预测模式来使用并相应地生成帧内模式指示符。例如,帧内BC单元48可以使用率失真分析针对各种测试的帧内预测模式计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析大体上确定经编码块与被编码以产生经编码块的原始未编码块之间的失真(或误差)量、以及用于产生经编码块的比特率(即,比特数量)。帧内BC单元48可以根据针对各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式展现针对块的最佳率失真值。
在其它示例中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44来执行根据本文描述的实现方式的用于帧内BC预测的这样的功能。在任一情况下,对于帧内块复制,在像素差方面,预测块可以是被认为与将被编码的块紧密匹配的块,像素差可以由SAD、SSD或其它差度量确定,并且对预测块的识别可以包括计算针对子整数像素位置的值。
无论预测块是来自根据帧内预测的同一帧还是来自根据帧间预测的不同帧,视频编码器20都可以通过从正被编码的当前视频块的像素值减去预测块的像素值来形成像素差值,从而形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上文描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方案,帧内预测处理单元46可以对当前视频块进行帧内预测。具体地,帧内预测处理单元46可以确定帧内预测模式以用于对当前块进行编码。为此,帧内预测处理单元46可以例如在单独的编码通道期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测处理单元46(或在一些示例中,模式选择单元)可以从测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可以将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以将指示选择的帧内预测模式的信息编码到比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个TU中并且被提供给变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(DCT)或概念上类似的变换)将残差视频数据变换为残差变换系数。
变换处理单元52可以将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可以减小与系数中的一些或全部相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54可以随后对包括量化的变换系数的矩阵执行扫描。替代地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术,将经量化的变换系数熵编码成视频比特流。然后,可以将经编码比特流发送到如图1中所示的视频解码器30,或存档于如图1中所示的存储设备32中以供稍后发送到视频解码器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,并且帧内BC单元85的功能可以由预测处理单元81的其它组件(诸如运动补偿单元82)执行。
视频数据存储器79可以存储将由视频解码器30的其它组件解码的视频数据,诸如经编码视频比特流。可以例如从存储设备32、从本地视频源(诸如相机)、经由视频数据的有线或无线网络通信、或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得存储在视频数据存储器79中的视频数据。视频数据存储器79可以包括存储来自经编码视频比特流的经编码视频数据的编码图片缓冲器(CPB)。视频解码器30的DPB 92存储参考视频数据以供视频解码器30(例如,以帧内或帧间预测编码模式)在对视频数据进行解码时使用。视频数据存储器79和DPB 92可以由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器设备。出于说明性目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域的技术人员将显而易见的是,视频数据存储器79和DPB92可以由同一存储器设备或单独存储器设备提供。在一些示例中,视频数据存储器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 92存储用于接下来的视频块的后续运动补偿的参考帧。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×64的CTU 400划分成四个较小的CU,每个CU具有32×32的块尺寸。在四个较小的CU中,将CU 410和CU 420各自划分成块尺寸为16×16的四个CU。将两个16×16的CU430和CU 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的亮度PB、Cb PB和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的“运动矢量预测因子(MVP)”):探索它们的空间和时间相关性。
代替如上文结合图2描述的将由运动估计单元42确定的当前CU的实际运动矢量编码到视频比特流中,从当前CU的实际运动矢量减去当前CU的运动矢量预测值以产生针对当前CU的运动矢量差(MVD)。通过这样做,不需要将由运动估计单元42针对帧的每个CU确定的运动矢量编码到视频比特流中,并且可以显著减少用于表示视频比特流中的运动信息的数据量。
类似于在编码块的帧间预测期间选择参考帧中的预测块的过程,视频编码器20和视频解码器30两者需要采用一组规则,以用于使用与当前CU的空间相邻CU和/或时间同位CU相关联的那些潜在候选运动矢量来构建针对当前CU的运动矢量候选列表(也被称为“合并列表”),并且然后从运动矢量候选列表中选择一个成员作为针对当前CU的运动矢量预测值。通过这样做,不需要从视频编码器20向视频解码器30发送运动矢量候选列表本身,并且运动矢量候选列表内的所选择的运动矢量预测值的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内的相同运动矢量预测值来对当前CU进行编码和解码。
VVC中的帧内模式编码
在视频编解码中使用最可能模式(MPM)来基于相邻块的模式高效地对预测模式进行编码。由于帧内模式的数量的增加以及输入序列的分辨率的增加,有必要高效地对当前块的帧内模式进行编码。MPM列表可以包括是MPM的帧内预测模式的列表,并且非MPM的列表可以包括不是MPM的帧内预测模式。
图6示出了67种帧内预测模式。为了保持较低的最可能模式(MPM)列表生成的复杂度,通过考虑两种可用的相邻帧内模式,使用具有6种MPM的帧内模式编码方法。考虑以下三个方面来构建MPM列表:
■默认帧内模式
■相邻帧内模式
■导出帧内模式
不论是否应用MRL和ISP编码工具,都将统一的6-MPM列表用于帧内块。MPM列表是基于左侧和上方相邻块的帧内模式来构建的。假设将左侧相邻块的模式表示为Left,并且将上方相邻块的模式表示为Above,则统一MPM列表被构建如下:
■当相邻块不可用时,默认将其帧内模式设置为平面。
○如果模式Left和Above均为非角度模式,则:
■MPM列表→{平面,DC,V,H,V-4,V+4}
○如果模式Left和Above中的一个是角度模式,并且另一个是非角度模式,则:
■将模式Max设置为Left和Above中的较大模式
■MPM列表→{平面,Max,Max-1,Max+1,Max-2,Max+2}
○如果Left和Above均为角度模式,并且它们是不同的,则:
■将模式Max设置为Left和Above中的较大模式
■将模式Min设置为Left和Above中的较小模式
■如果Max-Min等于1,则:
●MPM列表→{平面,Left,Above,Min-1,Max+1,Min-2}
■否则,如果Max-Min大于或等于62,则:
●MPM列表→{平面,Left,Above,Min+1,Max-1,Min+2}
○否则,如果Max-Min等于2,则:
●MPM列表→{平面,Left,Above,Min+1,Min-1,Max+1}
■否则:
●MPM列表→{平面,Left,Above,Min-1,-Min+1,Max-1}
○如果Left和Above均为角度模式并且它们是相同的,则:
■MPM列表→{平面,Left,Left-1,Left+1,Left-2,Left+2}
此外,mpm索引码字的第一二进制数是CABAC上下文编码的。使用总共三个上下文,对应于当前帧内块是启用MRL,启用ISP还是正常帧内块。
在6MPM列表生成过程期间,使用修剪来去除重复的模式,使得仅唯一的模式可以被包括在MPM列表中。对于61种非MPM模式的熵编码,使用截断二进制编码(TBC)。
位置相关帧内预测组合
在VVC中,DC、平面和若干角度模式的帧内预测的结果通过位置相关帧内预测组合(PDPC)方法进一步修改。PDPC是一种帧内预测方法,其调用边界参考样点和具有经滤波的边界参考样点的HEVC样式的帧内预测的组合。PDPC被应用于以下帧内模式而无需信令:平面、DC、小于或等于水平的帧内角度以及大于或等于垂直且小于或等于80的帧内角度。如果当前块是Bdpcm模式或MRL索引大于0,则不应用PDPC。
预测样点pred(x’,y’)使用帧内预测模式(DC、平面、角度)和参考样点的线性组合根据以下等式进行预测:
pred(x’,y’)=Clip(0,(1<<比特深度)–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可以位于分数样点位置中。在这种情况下,使用最靠近的整数样点位置的样点值。
如较前提及的,帧内预测样点从未被滤波或被滤波的相邻参考样点的集合中生成,这可能沿当前编码块与其邻居之间的块边界引入不连续性。为了解决这样的问题,在HEVC中,通过将DC、水平(即,模式18)和垂直(即,模式50)预测模式的预测样点的第一行/列预测样点与未被滤波的参考样点进行组合,利用2抽头滤波器(用于DC模式)或基于梯度的平滑滤波器(用于水平和垂直预测模式)来应用边界滤波。
梯度PDPC
在VVC中,对于少数场景,由于辅助参考样点不可用,可能不应用PDPC。应用从水平/垂直模式扩展的基于梯度的PDPC。用于确定PDPC权重相对于左/上边界的距离的衰减的PDPC权重(wT/wL)和nScale参数分别设置为等于水平/垂直模式中的对应参数。当辅助参考样点在分数样点位置时,应用双线性插值。
解码器侧帧内模式导出(DIMD)
DIMD是一种帧内编码工具,其中,亮度帧内预测模式(IPM)不经由比特流发送。相反,其是在编码器处和在解码器处以相同的方式使用先前经编码/经解码的像素导出的。DIMD方法执行纹理梯度处理以导出2种最佳模式。然后将这两种模式和平面模式应用于块,并对其预测值进行加权平均。DIMD的选择使用标志在帧内编码块的比特流中用信号发送。在解码器处,响应于确定DIMD标志为真,在重建过程中使用相同的先前编码的相邻像素来导出帧内预测模式。响应于确定DIMD标志不为真,帧内预测模式将像在经典帧内编码模式中一样从比特流中解析。
为了导出块的帧内预测模式,诸如编码器或解码器的装置首先选择相邻像素的集合来执行梯度分析。出于规范性的目的,这些像素应该在解码/重构的像素池中。如图6中所示,该装置可以选择由左侧的T个像素和上方的T个像素包围当前块的模板。接下来,该装置可以对模板的像素执行梯度分析。这允许确定模板的主要角度方向,假设模板的主要角度方向很有可能与当前块的一个角度方向相同。因此,该装置可以使用简单的3×3Sobel梯度滤波器,该滤波器由将与模板卷积的以下矩阵定义:
对于模板的每个像素,该装置可以将这两个矩阵中的每个矩阵与3×3窗口逐点相乘并将结果求和,其中3×3窗口以当前像素为中心并由其8个直接邻居组成。因此,该装置可以在水平方向和垂直方向上分别获得与当前像素处的梯度相对应的两个值Gx(来自与Mx的乘积)和Gy(来自与My的乘积)。
图8示出了卷积过程。蓝色像素是当前像素。红色像素(包括蓝色)是可能对其进行梯度分析的像素。灰色像素是由于缺乏一些邻居而无法对其进行梯度分析的像素。紫色像素是在所考虑的模板之外的可用(经重建的)像素,其被用在红色像素的梯度分析中。如果紫色像素不可用(例如,由于块离图片边界太近),则不执行使用该紫色像素的所有红色像素的梯度分析。对于每个红色像素,该装置可以使用Gx和Gy计算梯度的强度(G)和定向(O),如下所示:
然后将梯度的定向转换成帧内角度预测模式,其被用于对直方图进行索引(首先被初始化为零)。在该帧内角度模式下的直方图值被增加G。一旦已经处理了模板中的所有红色像素,直方图就将包含针对每个帧内角度模式的梯度强度的累积值。为当前块选择对应于两个最高直方图条的IPM。如果直方图中的最大值是0(意味着不能进行梯度分析,或者组成模板的区域是平的),则DC模式被选择作为用于当前块的帧内预测模式。
对应于两个最高HoG条的两种IPM与平面模式组合。在一个或多个示例中,预测融合被应用作为上述三个预测值的加权平均。为此,平面的权重被固定为21/64(~1/3)。然后剩余的43/64(~2/3)权重在两种HoG IPM之间按其HoG条的幅度成比例地共享。图9示出了该过程的示例。
导出的帧内模式被包括在帧内最可能模式(MPM)的主列表中,因此在构建MPM列表之前执行DIMD过程。DIMD块的主导出帧内模式与块一起被存储,并且被用于相邻块的MPM列表构建。
基于模板的帧内模式导出(TIMD)
对于MPM中的每个帧内模式,计算图10中所示的模板区域的预测与重建样点之间的绝对变换差之和(SATD),并且挑选具有最小SATD成本的前两种模式的帧内模式,并且然后将它们与权重融合,并且这样的加权帧内预测被用于对当前CU进行编码。
将所选择的两种模式的成本与门限进行比较,在测试中,成本因子2被应用如下:
costMode2<2*costMode1。
如果该条件为真,则应用融合,否则仅使用模式1。
模式的权重是根据其SATD成本计算的,如下所示:
weight1=costMode2/(costMode1+costMode2)
weight2=1-weight1。
DIMD和TIMD模式可以导出解码器侧的帧内预测模式,并且导出的模式在某种程度上可以提供良好的帧内预测样点(在预测精度方面)。另一方面,用于导出解码器侧的帧内预测模式的方案(例如,DIMD和TIMD)并不总是在预测精度方面导出最佳的帧内预测模式。这里,预测精度被定义为通过应用导出的预测模式来生成帧内预测样点的预测误差的绝对差之和。在本公开内容中,提出了一些用于提高用于导出解码器处的帧内模式的方案的预测效率的方案。应当注意的是,所公开的方法可以被单独地或联合地应用。
在根据本公开内容的一个实施例中,提出将帧内预测模式分成若干组,其被称为帧内预测模式组(IPMG)。每个IPMG组包含多个帧内预测模式。当一个IPMG被指示用于生成当前块的帧内预测时,解码器侧处的帧内模式导出的方案(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式(可能是一种或多于一种),以生成当前块的帧内预测样点。当挑选多个模式时,由不同模式生成的所有预测样点的加权平均被用于当前块。如图11中所示,在本公开内容的一个示例中,解码器可以在步骤1102中构建多个IPMG,并且在每个IPMG中有多个帧内预测模式。在步骤1104中,在当前IPMG被指示为生成用于当前块的帧内预测模式时,解码器可以导出帧内预测模式的方案,以确定当前IPMG内的最佳模式以生成当前块的帧内预测样点,并且帧内预测模式的方案包括DIMD和TIMD。
在一个示例中,IPMG列表是通过基于预定义的顺序将IPMG插入到IPMG列表中来构建的。在编码器和解码器侧两者处执行相同的IPMG列表构建过程。
在编码器侧,在解码器侧的帧内模式导出的方案(例如,DIMD、TIMD或任何其它方案)被用于确定在每个IPMG内的最佳模式。在确定了IPMG列表中的每个IPMG内的所有最佳模式之后,编码器可以基于率-失真成本(或任何其它标准)在每个IPMG内的所有最佳模式中选择最佳的一个模式,并将索引用信号发送到比特流中,以指示哪个IPMG可以导出用于当前块的最佳帧内预测模式。
在解码器侧处,相同的IPMG列表也是通过基于预定义的顺序将IPMG插入到列表中来构建的。索引是从比特流中解析出来的,然后解码器使用索引来指示使用哪个IPMG来导出当前块的帧内预测模式。在通过索引选择IPMG之后,在解码器侧的帧内模式导出的方案(例如,DIMD、TIMD或任何其它方案)被用于确定当前块在所指示的IPMG内的所有模式中的最终最佳模式。
IPMG的构建
在另一实施例中,IPMG是基于相邻块的帧内模式来构建的。假设相邻块的模式被表示为M_Neig,则IPMG可以被导出为包含M_Neig的模式集合,(M_Neig+K)%L、(M_Neig+2K)%L、(M_Neig+3K)%L、……(M_Neig+N*K)%L,其中,N是IPMG的大小,K是预定义的整数,并且L是另一预定义的整数。
在一个示例中,L被设置为可用的角度帧内预测模式的数量。K被设置为L除以N。当帧内预测模式与任何其它IPMG中的一个模式相同时,冗余的模式不被放入IPMG中,而是使用替代的帧内预测模式。替代的模式可以是冗余模式+1、-1、+2、-2等等。
在又一实施例中,IPMG可以是基于可用的帧内预测模式预定义的。例如,IPMG可以被定义为{(I+C)%L、(I+C+D*1)%L、(I+C+D*2)%L、(I+C+D*3)%L、……(I+C+D*(N-1))%L},其中,N是IPMG的大小,I是起始帧内预测模式,D是用于指示每个IPMG内的各模式之间的差异的预定义的常数,L是可用的角度帧内预测模式,并且C是从0到(L/N)-1的IPMG索引。
在一个示例中,I被设置为0;N为4;L为67;D为16。所有的IPMG列举如下:
{0,16,32,48}
{1,17,33,49}
{2,18,34,50}
{3,19,35,51}
{4,20,36,52}
{5,21,37,53}
{6,22,38,54}
{7,23,39,55}
{8,24,40,56}
{9,25,41,57}
{10,26,42,58}
{11,27,43,59}
{12,28,44,60}
{13,29,45,61}
{14,30,46,62}
{15,31,47,63}
应当注意的是,剩余的模式可以形成另一IPMG。在该示例中,剩余的IPMG是{64,65,66}。在又一方法中,剩余的模式可以被放入其它的IPMG中,如下所示:
{0,16,32,48,64}
{1,17,33,49,65}
{2,18,34,50,66}
在另一实施例中,DC(0)和Planar(1)被放入一个IPMG中。其它的IPMG从其它的帧内预测模式导出为{(I+C)%L、(I+C+D*1)%L、(I+C+D*2)%L、(I+C+D*3)%L、…(I+C+D*(N-1))%L},其中,N是IPMG的尺寸,I是起始帧内预测模式,D是用于指示每个IPMG内的各模式之间的差的预定义的常数,L是可用的角度帧内预测模式,并且C是从0到(L/N)-1的IPMG索引。
在一个示例中,I被设置为2;N为4;L为65,其是从67(所有可用的帧内模式的数量)减去2(DC和平面)导出的;D为16。所有的IPMG列举如下:
{2,18,34,50}
{3,19,35,51}
{4,20,36,52}
{5,21,37,53}
{6,22,38,54}
{7,23,39,55}
{8,24,40,56}
{9,25,41,57}
{10,26,42,58}
{11,27,43,59}
{12,28,44,60}
{13,29,45,61}
{14,30,46,62}
{15,31,47,63}
{16,32,48,64}
{17,33,49,65}
应当注意的是,剩余的模式可以形成另一IPMG,在该示例中,剩余的IPMG是{66}。在又一方法中,剩余的模式可以被放入其它的IPMG中,如下所示:
{2,18,34,50,66}
应当注意的是,IPMG的构建不限于本公开内容中介绍的方案,并且可以在第一实施例中所示的方法中使用构建IPMG的任何其它方式。
IPMG列表的构建
在另一实施例中,IPMG列表是通过以下步骤构建的。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到达到IPMG列表的最大值为止。
a.当相邻块不可用时,默认将其帧内模式设置为平面。
b.使用相邻块的模式导出使用第二实施例中介绍的方案的IPMG。
c.如果导出的IPMG对被插入到IPMG列表中的任何一个都不冗余,则将该IPMG插入到IPMG列表中的最后的位置处。
在另一实施例中,IPMG列表是通过以下步骤构建的。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到达到IPMG列表的最大值为止。
a.当相邻块不可用时,默认将其帧内模式设置为平面。
b.基于使用第三实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG插入到IPMG列表中。
c.如果导出的IPMG对被插入到IPMG列表中的任何一个都不冗余,则将该IPMG插入到IPMG列表中的最后位置处。
在另一实施例中,IPMG列表是通过以下步骤构建的。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到达到IPMG列表的最大值为止。
a.当相邻块不可用时,默认将其帧内模式设置为平面。
b.基于使用第四实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG插入到IPMG列表中。
c.如果导出的IPMG对被插入到IPMG列表中的任何一个都不冗余,则将该IPMG插入到IPMG列表中的最后位置处。
在本公开内容的另一示例中,当通过以下步骤在MPM列表中检查相邻的帧内模式时,在MPM列表内使用IPMG列表。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到从IPMG导出一个帧内模式为止。
3、当相邻块不可用时,默认将其帧内模式设置为平面。
a.基于使用第二实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG选入到IPMG列表中。
b.在解码器侧的帧内模式导出的成本(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式。并且选择该IPMG内的帧内模式的最小成本。
c.如果所选择的帧内模式不等于被插入到MPM列表中的任何一个时,则将该帧内模式插入到MPM列表中的最后位置处。
在本公开内容的另一示例中,当通过以下步骤在MPM列表中检查相邻的帧内模式时,在MPM列表内使用IPMG列表。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到从IPMG导出一个帧内模式为止。
3、当相邻块不可用时,默认将其帧内模式设置为平面。
a.基于使用第二实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG选入到IPMG列表中。
b.在解码器侧的帧内模式导出的成本(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式。并且该IPMG内的相邻块的帧内模式利用预定义的值(例如,1/3)进行加权。选择该IPMG内的帧内模式的最小成本。
c.如果所选择的帧内模式不等于被插入到MPM列表中的任何一个时,则将该帧内模式插入到MPM列表中的最后位置处。
在本公开内容的另一示例中,当通过以下步骤在MPM列表中检查相邻的帧内模式时,在MPM列表内使用IPMG列表。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到从IPMG导出一个帧内模式为止。
3、当相邻块不可用时,默认将其帧内模式设置为平面。
a.基于使用第三实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG选入到IPMG列表中。
b.在解码器侧的帧内模式导出的成本(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式。并且选择该IPMG内的帧内模式的最小成本。
c.如果所选择的帧内模式不等于被插入到MPM列表中的任何一个时,则将该帧内模式插入到MPM列表中的最后位置处。
在本公开内容的另一示例中,当通过以下步骤在MPM列表中检查相邻的帧内模式时,在MPM列表内使用IPMG列表。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到从IPMG导出一个帧内模式为止。
3、当相邻块不可用时,默认将其帧内模式设置为平面。
a.基于使用第三实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG选入到IPMG列表中。
b.在解码器侧的帧内模式导出的成本(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式。并且该IPMG内的相邻块的帧内模式利用预定义的值(例如,1/3)进行加权。选择该IPMG内的帧内模式的最小成本。
c.如果所选择的帧内模式不等于被插入到MPM列表中的任何一个时,则将该帧内模式插入到MPM列表中的最后位置处。
在本公开内容的另一示例中,当通过以下步骤在MPM列表中检查相邻的帧内模式时,在MPM列表内使用IPMG列表。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到从IPMG导出一个帧内模式为止。
3、当相邻块不可用时,默认将其帧内模式设置为平面。
a.基于使用第四实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG选入到IPMG列表中。
b.在解码器侧的帧内模式导出的成本(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式。并且选择该IPMG内的帧内模式的最小成本。
c.如果所选择的帧内模式不等于被插入到MPM列表中的任何一个时,则将该帧内模式插入到MPM列表中的最后位置处。
在本公开内容的另一示例中,当通过以下步骤在MPM列表中检查相邻的帧内模式时,在MPM列表内使用IPMG列表。
1、基于预定义的顺序检查相邻块的帧内预测模式。
2、对于每个相邻块,执行以下步骤,直到从IPMG导出一个帧内模式为止。
3、当相邻块不可用时,默认将其帧内模式设置为平面。
a.基于使用第四实施例中所示的方案的预定义的IPMG,将相邻块的模式所属的IPMG选入到IPMG列表中。
b.在解码器侧的帧内模式导出的成本(例如,DIMD、TIMD或任何其它方案)被用于确定该IPMG内的最佳模式。并且该IPMG内的相邻块的帧内模式利用预定义的值(例如,1/3)进行加权。选择该IPMG内的帧内模式的最小成本。
c.如果所选择的帧内模式不等于被插入到MPM列表中的任何一个时,则将该帧内模式插入到MPM列表中的最后位置处。
应当注意的是,IPMG列表的构建不限于本公开内容中介绍的方案,并且可以在第一实施例中所示的方法中使用构建IPMG列表的任何其它方式。
基于TIMD/DIMD信息的MPM列表重新排序
在本公开内容的又一方面中,提出根据当前块的某些编码信息或导出信息(例如,DIMD、TIMD或任何其它方案)对MPM列表中的帧内预测模式进行重新排序。
根据本公开内容的一个或多个实施例,MPM列表是基于预定义的门限按TIMD中的帧内模式的成本排序的。在编码器和解码器侧均执行相同的MPM列表构建过程。在MPM列表被构建之后,TIMD被用于确定MPM列表中的帧内模式的成本,并且根据成本和预定义的门限对MPM列表中的元素进行重新排序。在一个示例中,当列表中的在前位置的成本大于下一位置的成本超过门限的倍数(例如,1、2、3)时,交换两个帧内模式位置。并且重复该步骤,直到没有符合条件和需要被交换的位置为止。
在另一示例中,在MPM列表被构建之后,DIMD被用于确定MPM列表中的帧内模式的成本,并且根据成本和预定义的门限对MPM列表中的元素进行重新排序。当列表中的在前位置的帧内预测模式的定向梯度直方图(HoG)小于下一位置的HoG超过门限的倍数(例如,1、2、3)时,交换两个帧内模式位置。并且重复该步骤,直到没有符合条件和需要被交换的位置为止。
如图13中所示,在步骤1302中,编码器或解码器可以基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的最可能模式(MPM)列表。在步骤1304中,编码器或解码器可以基于当前视频块的编码信息或当前视频块的导出信息对MPM列表中的帧内预测模式进行重新排序。
基于TIMD/DIMD信息的非MPM列表重新排序
在本公开内容的又一方面中,提出根据当前块的某些编码信息或导出信息(例如,DIMD、TIMD或任何其它方案)对非MPM列表中的帧内预测模式进行重新排序。
根据本公开内容的一个或多个实施例,非MPM列表是基于预定义的门限按TIMD中的帧内模式的成本排序的。在编码器和解码器侧均执行相同的非MPM列表构建过程。在非MPM列表被构建之后,TIMD被用于确定非MPM列表中的帧内模式的成本,并且根据成本和预定义的门限对非MPM列表中的元素进行重新排序。在一个示例中,当列表中的在前位置的成本大于下一位置的成本超过门限的倍数(例如,1、2、3)时,交换两个帧内模式位置。并且重复该步骤,直到没有符合条件和需要被交换的位置为止。
在另一示例中,在非MPM列表被构建之后,DIMD被用于确定非MPM列表中的帧内模式的成本,并且根据成本和预定义的门限对非MPM列表中的元素进行重新排序。当列表中的在前位置的帧内预测模式的定向梯度直方图(HoG)小于下一位置的HoG超过门限的倍数(例如,1、2、3)时,交换两个帧内模式位置。并且重复该步骤,直到没有符合条件和需要被交换的位置为止。
如图14中所示,在步骤1402中,编码器或解码器可以基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的非最可能模式(非MPM)列表。在步骤1404中,编码器或解码器可以基于当前视频块的编码信息或当前视频块的导出信息对非MPM列表中的帧内预测模式进行重新排序。
基于TIMD/DIMD信息的MPM和非MPM列表重新排序
应当注意的是,第十四实施例和第十五实施例中所示的公开方法可以单独地或联合地被应用。根据本公开内容的一个或多个实施例,在MPM和非MPM列表的重新排序中使用的门限可以是不同的。在一个示例中,在MPM列表的重新排序中使用的门限被设置为2,而在非MPM列表的重新排序中使用的门限被设置为1。
在本公开内容的又一方面中,重新排序过程可以被应用于MPM和非MPM列表之间。换句话说,当满足在第十四实施例和第十五实施例中所示的预定义的条件时,在MPM列表中的帧内模式和在非MPM列表中的帧内模式可以被互换。
如图15中所示,在步骤1502中,编码器或解码器可以基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的最可能模式(MPM)列表。在步骤1504中,编码器或解码器可以基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的非最可能模式(非MPM)列表。在步骤1506中,编码器或解码器可以基于当前视频块的编码信息或当前视频块的导出信息对MPM列表和非MPM列表中的帧内预测模式进行重新排序。
非MPM模式编码
在本公开内容的又一方面中,提出针对非MPM模式使用二进制码字的变量集合。可以使用不同的方法来导出二进制码字的变量集合,下面列举了一些示例性方法。
1、非MPM的列表被划分成N(N是常数)组,组的索引通过截断一元二值化进行编码,并且组内的元素的索引通过截断二元二值化进行编码。例如,基于使用第十五实施例中所示的方案的预定义的门限(例如,1),均匀地划分成N(N是常数,例如,4)组。
2、固定长度二值化
3、截断莱斯(Rice)二值化
4、截断一元二值化过程
5、截断二元(TB)二值化过程
6、k阶指数哥伦布二值化过程(EGk)
7、有限的k阶指数哥伦布二值化
如图16中所示,在步骤1602中,编码器或解码器可以基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于当前视频块的非最可能模式(非MPM)列表。在步骤1604中,编码器或解码器可以导出用于非MPM列表中的帧内预测模式的二进制码字的变量集合。
上述方法可以使用包括一个或多个电路系统的装置来实现,该电路系统包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子组件。该装置可以将电路系统与其它硬件或软件组件组合使用,以执行上述方法。上文公开的每个模块、子模块、单元或子单元可以至少部分地使用一个或多个电路系统来实现。
图12示出与用户接口1650耦合的计算环境1610。计算环境1610可以是数据处理服务器的一部分。计算环境1610包括处理器1620、存储器1630和输入/输出(I/O)接口1640。
处理器1620通常控制计算环境1610的整体操作,诸如与显示、数据采集、数据通信和图像处理相关联的操作。处理器1620可以包括用于执行指令以执行上述方法中的全部或一些步骤的一个或多个处理器。此外,处理器1620可以包括促进处理器1620与其它组件之间的交互的一个或多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、图形处理单元(GPU)等。
存储器1630被配置为存储各种类型的数据以支持计算环境1610的操作。存储器1630可以包括预先确定的软件1632。这样的数据的示例包括用于在计算环境1610上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器1630可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,诸如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存存储器、磁盘或光盘。
I/O接口1640提供处理器1620与外围接口模块(诸如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1640可以与编码器和解码器耦合。
在实施例中,还提供了一种包括例如存储器1630中的多个程序的非暂时性计算机可读存储介质,所述多个程序可由计算环境1610中的处理器1620执行以用于执行上述方法。替代地,非暂时性计算机可读存储介质可以在其中存储有由编码器(例如,图2中的视频编码器20)使用例如上述编码方法产生以由解码器(例如,图3中的视频解码器30)在解码视频数据时使用的包括编码的视频信息(例如,包括一个或多个语法元素的视频信息)的比特流或数据流。非暂时性计算机可读存储介质可以是例如ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
在实施例中,还提供了一种计算设备,该计算设备包括:一个或多个处理器(例如,处理器1620);以及在其中存储有可由一个或多个处理器执行的多个程序的非暂时性计算机可读存储介质或存储器1630,其中,一个或多个处理器在执行多个程序时被配置为执行上述方法。
在实施例中,还提供了一种包括例如存储器1630中的多个程序的计算机程序产品,所述多个程序可由计算环境1610中的处理器1620执行以用于执行上述方法。例如,计算机程序产品可以包括非暂时性计算机可读存储介质。
在实施例中,计算环境1610可以利用用于执行上述方法的一个或多个ASIC、DSP、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、FPGA、GPU、控制器、微控制器、微处理器或其它电子组件来实现。
本公开内容的描述已经出于说明的目的被呈现,并且不旨在是穷举的或限于本公开内容。受益于在以上描述和相关联的附图中呈现的教导,许多修改、变型和替代实现方式对于本领域普通技术人员将是显而易见的。
除非另有具体说明,否则根据本公开内容的方法的步骤的顺序仅旨在是说明性的,并且根据本公开内容的方法的步骤不限于上述具体描述的顺序,而是可以根据实际情况而改变。此外,根据本公开内容的方法的步骤中的至少一个步骤可以根据实际需要进行调整、合并或删减。
挑选和描述示例是为了解释本公开内容的原理,并且使本领域的其它技术人员能够理解本公开内容用于各种实现方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实现方式。因此,将理解的是,本公开内容的范围不限于所公开的实现方式的具体示例,并且修改和其它实现方式旨在被包括在本公开内容的范围内。

Claims (28)

1.一种用于视频编解码的方法,包括:
由解码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于所述当前视频块的帧内预测模式列表;以及
由所述解码器基于所述当前视频块的编码信息或所述当前视频块的导出信息对所述帧内预测模式列表中的帧内预测模式进行重新排序。
2.根据权利要求1所述的用于视频编解码的方法,其中,所述帧内预测模式列表包括最可能模式(MPM)列表和非最可能模式(非MPM)列表,其中,MPM被用于基于相邻块的模式对帧内预测模式进行编码。
3.根据权利要求2所述的用于视频编解码的方法,还包括:
利用基于模板的帧内模式导出(TIMD)来确定所述MPM列表中的所述帧内预测模式的成本;以及
基于所述帧内预测模式的所述成本和预定义的门限对所述MPM列表中的所述帧内预测模式进行重新排序。
4.根据权利要求3所述的用于视频编解码的方法,还包括:
响应于确定所述MPM列表中的第一帧内预测模式的成本大于所述MPM列表中的第二帧内预测模式的成本超过所述预定义的门限的倍数,交换所述第一帧内预测模式和所述第二帧内预测模式的位置,其中,所述第一帧内预测模式和所述第二帧内预测模式在交换所述位置之前彼此相邻。
5.根据权利要求2所述的用于视频编解码的方法,还包括:
利用解码器侧帧内模式导出(DIMD)来确定所述MPM列表中的所述帧内预测模式的定向梯度直方图(HoG);以及
基于所述帧内预测模式的所述HoG和预定义的门限对所述MPM列表中的所述帧内预测模式进行重新排序。
6.根据权利要求2所述的用于视频编解码的方法,还包括:
利用基于模板的帧内模式导出(TIMD)来确定所述非MPM列表中的所述帧内预测模式的成本;以及
基于所述帧内预测模式的所述成本和预定义的门限对所述非MPM列表中的所述帧内预测模式进行重新排序。
7.根据权利要求6所述的用于视频编解码的方法,还包括:
响应于确定所述非MPM列表中的第一帧内预测模式的成本大于所述MPM列表中的第二帧内预测模式的成本超过所述预定义的门限的倍数,交换所述第一帧内预测模式和所述第二帧内预测模式的位置,其中,所述第一帧内预测模式和所述第二帧内预测模式在交换所述位置之前彼此相邻。
8.根据权利要求2所述的用于视频编解码的方法,还包括:
利用解码器侧帧内模式导出(DIMD)来确定所述非MPM列表中的所述帧内预测模式的定向梯度直方图(HoG);以及
基于所述帧内预测模式的所述HoG和预定义的门限对所述非MPM列表中的所述帧内预测模式进行重新排序。
9.根据权利要求2所述的用于视频编解码的方法,还包括:
由所述解码器基于所述当前视频块的编码信息或所述当前视频块的导出信息对所述MPM列表和所述非MPM列表中的帧内预测模式进行重新排序。
10.根据权利要求9所述的用于视频编解码的方法,还包括:
基于所述MPM列表中的所述帧内预测模式的成本和第一预定义的门限对所述MPM列表中的所述帧内预测模式进行重新排序;以及
基于所述非MPM列表中的所述帧内预测模式的成本和第二预定义的门限对所述非MPM列表中的所述帧内预测模式进行重新排序,其中,所述第一预定义的门限不同于所述第二预定义的门限。
11.一种用于视频编解码的方法,包括:
由解码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于所述当前视频块的非最可能模式(非MPM)列表;以及
由所述解码器导出用于所述非MPM列表中的帧内预测模式的二进制码字的变量集合。
12.根据权利要求11所述的用于视频编解码的方法,其中,导出用于所述非MPM列表中的所述帧内预测模式的所述二进制码字的变量集合还包括:
将所述非MPM列表划分成多个组;
通过截断一元二值化对每组的缩进进行编码;以及
通过截断二元二值化对每组内的元素的索引进行编码。
13.根据权利要求11所述的用于视频编解码的方法,其中,导出用于所述非MPM列表中的所述帧内预测模式的所述二进制码字的变量集合还包括:
基于以下二值化过程中的一个导出用于所述非MPM列表中的所述帧内预测模式的所述二进制码字的变量集合:
固定长度二值化过程、截断莱斯二值化过程、截断一元二值化过程、截断二元(TB)二值化过程、k阶指数哥伦布(EGk)二值化过程或有限的k阶指数哥伦布(EGk)二值化过程。
14.一种用于视频编解码的方法,包括:
由编码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于所述当前视频块的帧内预测模式列表;以及
由所述编码器基于所述当前视频块的编码信息或所述当前视频块的导出信息对所述帧内预测模式列表中的帧内预测模式进行重新排序。
15.根据权利要求14所述的用于视频编解码的方法,其中,所述帧内预测模式列表包括最可能模式(MPM)列表和非最可能模式(非MPM)列表,其中,MPM被用于基于相邻块的模式对帧内预测模式进行编码。
16.根据权利要求15所述的用于视频编解码的方法,还包括:
利用基于模板的帧内模式导出(TIMD)来确定所述MPM列表中的所述帧内预测模式的成本;以及
基于所述帧内预测模式的所述成本和预定义的门限对所述MPM列表中的所述帧内预测模式进行重新排序。
17.根据权利要求16所述的用于视频编解码的方法,还包括:
响应于确定所述MPM列表中的第一帧内预测模式的成本大于所述MPM列表中的第二帧内预测模式的成本超过所述预定义的门限的倍数,交换所述第一帧内预测模式和所述第二帧内预测模式的位置,其中,所述第一帧内预测模式和所述第二帧内预测模式在交换所述位置之前彼此相邻。
18.根据权利要求15所述的用于视频编解码的方法,还包括:
利用解码器侧帧内模式导出(DIMD)来确定所述MPM列表中的所述帧内预测模式的定向梯度直方图(HoG);以及
基于所述帧内预测模式的所述HoG和预定义的门限对所述MPM列表中的所述帧内预测模式进行重新排序。
19.根据权利要求15所述的用于视频编解码的方法,还包括:
利用基于模板的帧内模式导出(TIMD)来确定所述非MPM列表中的所述帧内预测模式的成本;以及
基于所述帧内预测模式的所述成本和预定义的门限对所述非MPM列表中的所述帧内预测模式进行重新排序。
20.根据权利要求19所述的用于视频编解码的方法,还包括:
响应于确定所述非MPM列表中的第一帧内预测模式的成本大于所述MPM列表中的第二帧内预测模式的成本超过所述预定义的门限的倍数,交换所述第一帧内预测模式和所述第二帧内预测模式的位置,其中,所述第一帧内预测模式和所述第二帧内预测模式在交换所述位置之前彼此相邻。
21.根据权利要求15所述的用于视频编解码的方法,还包括:
利用解码器侧帧内模式导出(DIMD)来确定所述非MPM列表中的所述帧内预测模式的定向梯度直方图(HoG);以及
基于所述帧内预测模式的所述HoG和预定义的门限对所述非MPM列表中的所述帧内预测模式进行重新排序。
22.根据权利要求15所述的用于视频编解码的方法,还包括:
由所述编码器基于所述当前视频块的编码信息或所述当前视频块的导出信息对所述MPM列表和所述非MPM列表中的帧内预测模式进行重新排序。
23.根据权利要求22所述的用于视频编解码的方法,还包括:
基于所述MPM列表中的所述帧内预测模式的成本和第一预定义的门限对所述MPM列表中的所述帧内预测模式进行重新排序;以及
基于所述非MPM列表中的所述帧内预测模式的成本和第二预定义的门限对所述非MPM列表中的所述帧内预测模式进行重新排序,其中,所述第一预定义的门限不同于所述第二预定义的门限。
24.一种用于视频编解码的方法,包括:
由编码器基于在当前视频块和相邻视频块中应用的帧内预测模式构建用于所述当前视频块的非最可能模式(非MPM)列表;以及
由所述编码器导出用于所述非MPM列表中的帧内预测模式的二进制码字的变量集合。
25.根据权利要求24所述的用于视频编解码的方法,其中,导出用于所述非MPM列表中的所述帧内预测模式的所述二进制码字的变量集合还包括:
将所述非MPM列表划分成多个组;
通过截断一元二值化对每组的缩进进行编码;以及
通过截断二元二值化对每组内的元素的索引进行编码。
26.根据权利要求24所述的用于视频编解码的方法,其中,导出用于所述非MPM列表中的所述帧内预测模式的所述二进制码字的变量集合还包括:
基于以下二值化过程中的一个导出用于所述非MPM列表中的所述帧内预测模式的所述二进制码字的变量集合:
固定长度二值化过程、截断莱斯二值化过程、截断一元二值化过程、截断二元(TB)二值化过程、k阶指数哥伦布(EGk)二值化过程或有限的k阶指数哥伦布(EGk)二值化过程。
27.一种用于视频编解码的装置,包括:
一个或多个处理器;以及
存储器,其被配置为存储由所述一个或多个处理器可执行的指令;其中,所述一个或多个处理器在执行所述指令时被配置为执行根据权利要求1-26中的任一项所述的方法。
28.一种用于视频解码的非暂时性计算机可读存储介质,其存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时,使所述一个或多个计算机处理器执行根据权利要求1-26中的任一项所述的方法。
CN202280073344.8A 2021-11-03 2022-11-03 帧内预测模式信令 Pending CN118235401A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163275438P 2021-11-03 2021-11-03
US63/275,438 2021-11-03
PCT/US2022/048898 WO2023081322A1 (en) 2021-11-03 2022-11-03 Intra prediction modes signaling

Publications (1)

Publication Number Publication Date
CN118235401A true CN118235401A (zh) 2024-06-21

Family

ID=86242068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280073344.8A Pending CN118235401A (zh) 2021-11-03 2022-11-03 帧内预测模式信令

Country Status (2)

Country Link
CN (1) CN118235401A (zh)
WO (1) WO2023081322A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112385215A (zh) * 2018-07-06 2021-02-19 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
US20200099927A1 (en) * 2018-09-24 2020-03-26 Qualcomm Incorporated Most probable modes (mpms) construction
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same

Also Published As

Publication number Publication date
WO2023081322A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
CN114710679A (zh) 视频编解码中的小色度块大小限制
JP2022159392A (ja) ビデオ符号化のための位置依存の空間変化変換
CN117597927A (zh) 使用多方向帧内预测的视频编解码
US20240187624A1 (en) Methods and devices for decoder-side intra mode derivation
CN118235401A (zh) 帧内预测模式信令
US20240214580A1 (en) Intra prediction modes signaling
US20240195957A1 (en) Methods and devices for decoder-side intra mode derivation
US20240214561A1 (en) Methods and devices for decoder-side intra mode derivation
US20230011286A1 (en) Spatial neighbor based affine motion derivation
EP4397040A1 (en) Intra prediction modes signaling
WO2023114155A1 (en) Methods and devices for decoder-side intra mode derivation
CN118044187A (zh) 用于解码器侧帧内模式推导的方法和设备
WO2023154359A1 (en) Methods and devices for multi-hypothesis-based prediction
WO2023154574A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
WO2023091688A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023129744A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023158765A1 (en) Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order
WO2023164245A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023034152A1 (en) Methods and devices for decoder-side intra mode derivation
EP4397036A1 (en) Methods and devices for decoder-side intra mode derivation
CN116636218A (zh) 利用多方向帧内预测的视频编解码
WO2023141238A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023141338A1 (en) Methods and devices for geometric partitioning mode with split modes reordering
WO2023212254A1 (en) Methods and devices for high precision intra prediction
WO2023177810A1 (en) Intra prediction for video coding

Legal Events

Date Code Title Description
PB01 Publication