CN118476228A - 用于基于块的视频编解码的符号预测 - Google Patents

用于基于块的视频编解码的符号预测 Download PDF

Info

Publication number
CN118476228A
CN118476228A CN202280083626.6A CN202280083626A CN118476228A CN 118476228 A CN118476228 A CN 118476228A CN 202280083626 A CN202280083626 A CN 202280083626A CN 118476228 A CN118476228 A CN 118476228A
Authority
CN
China
Prior art keywords
transform coefficients
candidate
video
transform
symbol
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
CN202280083626.6A
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
Priority claimed from PCT/US2022/049264 external-priority patent/WO2023086330A1/en
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority claimed from PCT/US2022/053150 external-priority patent/WO2023114468A1/en
Publication of CN118476228A publication Critical patent/CN118476228A/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/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/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/18Methods 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 set of transform coefficients
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation

Landscapes

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

Abstract

本公开的实施方式提供了一种用于视频解码器侧上的变换系数符号预测的视频解码装置和方法。所述方法可包括接收包括针对候选变换系数集合的符号信令比特序列的比特流。所述方法还可包括由解码器的处理器生成与来自视频的视频帧的变换块相关联的候选变换系数集合的预测符号集合。所述方法还可包括由处理器基于用于对符号信令比特序列进行熵编码的一个或多个上下文来对符号信令比特序列进行解码,以获得对各候选变换系数的预测符号的正确性的指示。所述方法还可包括由处理器基于预测符号集合和解码的符号信令比特序列来估计针对候选变换系数集合的原始符号。

Description

用于基于块的视频编解码的符号预测
相关申请的交叉引用
本申请基于并要求于2021年12月16日提交的申请号为63/290,307的美国临时申请的优先权。本申请还基于并要求于2022年11月08日提交的申请号为PCT/US22/49264的PCT申请的优先权,其进一步要求于2021年11月10日提交的申请号为63/277,705的美国临时申请的优先权。本申请还基于并要求于2022年9月15日提交的申请号为PCT/US22/43607的PCT申请的优先权,其进一步要求于2021年9月15日提交的申请号为63/244,317的美国临时申请和于2021年9月30日提交的申请号为63/250,797的美国临时申请的优先权。本申请还基于并要求于2022年8月16日提交的申请号为PCT/US22/40442的PCT申请的优先权,其进一步要求于2021年8月17日提交的申请号为63/233,940的美国临时申请的优先权。所有上述申请的内容通过引用整体并入本文。
技术领域
本申请涉及视频编解码和压缩。更具体地,本申请案涉及用于基于块的视频编解码中的符号预测的视频处理系统和方法。
背景技术
数字视频被各种电子设备支持,诸如数字电视、膝上型或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流传输设备等。电子设备跨通信网络发送和接收或以其他方式通信传送数字视频数据,和/或将数字视频数据存储在存储设备上。由于通信网络的有限带宽容量和存储设备的有限存储资源,视频编解码可用于在通信传送或存储视频数据之前根据一个或多个视频编解码标准来压缩视频数据。例如,视频编解码标准包括通用视频编解码(VersatileVideo Coding,VVC)、联合探索测试模型(Joint Exploration test Model,JEM)、高效视频编解码(High-Efficiency Video Coding,HEVC/H.265)、高级视频编解码(Advanced VideoCoding,AVC/H.264)、运动图片专家组(Moving Picture Expert Group,MPEG)编解码等。视频编解码通常使用利用视频数据中固有的冗余的预测方法(例如,帧间预测、帧内预测等)。视频编解码旨在将视频数据压缩为使用更低比特率的形式,同时避免或最小化视频质量的降级。
发明内容
本公开的实施方式提供了一种用于变换系数的符号预测的视频解码方法。所述视频解码方法可包括接收比特流,所述比特流包括针对候选变换系数集合的符号信令比特序列。所述视频解码方法还可包括由解码器的处理器生成与来自视频的视频帧的变换块相关联的候选变换系数集合的预测符号集合。所述视频解码方法还可包括由处理器基于用于对符号信令比特序列进行熵编码的一个或多个上下文来对符号信令比特序列进行解码,以获得对各候选变换系数的预测符号的正确性的指示。所述视频解码方法还可包括由处理器基于预测符号集合和解码的符号信令比特序列来估计针对候选变换系数集合的原始符号。
本公开的实施方式还提供一种视频解码装置。所述视频解码装置可包括存储器,所述存储器被配置为执行如上所述的用于变换系数的符号预测的视频解码方法。
本公开的实施方式还提供了一种存储有指令的非暂态计算机可读存储介质,所述指令在由处理器执行时使处理器执行如上所述的用于变换系数的符号预测的视频解码方法。本公开的实施方式还提供了一种非暂态计算机可读存储介质,其中存储有比特流,所述比特流包括针对候选变换系数集合的符号信令比特序列。所述比特流可通过如上所述的用于变换系数的符号预测的视频解码方法来解码。
本公开的实施方式还提供了一种用于变换系数的符号预测的视频编码方法。所述视频编码方法可包括由编码器的处理器生成针对与来自视频的视频帧的变换块相关联的候选变换系数集合的预测符号集合。所述视频编码方法还可包括由处理器确定用于对针对候选变换系数集合的符号信令比特序列进行熵编码的一个或多个上下文。所述视频编码方法还可包括由处理器根据一个或多个上下文确定符号信令比特序列。使用一个或多个上下文对符号信令比特进行熵编码,以指示各候选变换系数的预测符号与针对候选变换系数集合的原始符号相比的正确性。所述视频编码方法可另外包括将候选变换系数的量化等级的编码数据和针对候选变换系数的编码的符号信令比特序列存储于比特流中。
本公开的实施方式还提供一种视频编码装置。所述视频解码装置可包括存储器,所述存储器被配置为执行如上所述的用于变换系数的符号预测的视频编码方法。
本公开的实施方式还提供了一种存储有指令的非暂态计算机可读存储介质,所述指令在由处理器执行时使处理器执行如上所述的用于变换系数的符号预测的视频编码方法。本公开的实施方式还提供了一种非暂态计算机可读存储介质,其中存储有比特流,所述比特流包括针对候选变换系数集合的符号信令比特序列。所述比特流可通过如上所述的用于变换系数的符号预测的视频编码方法来解码。
应当理解,前面的一般性描述和下面的详细描述都仅是示例,并不限制本公开。
附图说明
并入本说明书中并构成本说明书的一部分的附示图出了与本公开一致的示例,并且与说明书一起用于解释本公开的原理。
图1是示出根据本公开的一些实施方式的用于对视频块进行编码和解码的示例性系统的框图。
图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是示出根据本公开的一些实施方式的如何将帧递归地划分为不同尺寸和形状的多个视频块的图形表示。
图5是示出根据一些示例的系数组中的变换系数的左上扫描顺序的图形表示。
图6是示出根据一些示例的低频不可分离变换(LFNST)过程的图形表示。
图7是示出根据一些示例的输入到正LFNST的主变换系数的左上区域的图形表示。
图8是示出根据一些示例的帧内模板匹配的搜索区域的图形表示。
图9是示出根据一些示例的符号预测的示例性过程的图形表示。
图10是示出根据一些示例的用于符号预测的代价函数的计算的图形表示。
图11是示出根据一些示例的用于依赖标量量化中的两个示例性标量量化器的图形表示。
图12A是示出根据一些示例的使用具有用于依赖标量量化中的四个状态的状态机的状态转换的图形表示。
图12B是示出根据一些示例的根据图12A的状态转换的示例性量化器选择的表。
图13是示出根据本公开的一些实施方式的基于块的视频编解码中的示例性符号预测过程的框图。
图14是示出根据本公开的一些实施方式的基于模板的线性组合的示例性假设生成的图形表示。
图15A是示出根据一些示例的现有符号预测方案的示例性实施方式的图形表示。
图15B是示出根据本公开的一些实施方式的基于向量的符号预测方案的示例性实施方式的图形表示。
图16A是示出根据本公开的一些实施方式的沿左对角线方向的左对角线代价函数的示例性计算的图形表示。
图16B是示出根据本公开的一些实施方式的沿右对角线方向的右对角线代价函数的示例性计算的图形表示。
图17是根据本公开的一些实施方式的用于捕获当前块的相邻重建样点内的主要梯度方向的方法的流程图。
图18A是示出根据本公开的一些实施方式的用于代价函数的样点推导方向的基于梯度的选择中的示例性模板样点和梯度滤波器窗口的图形表示。
图18B是示出根据本公开的一些实施方式的用于代价函数的样点推导方向的基于梯度的选择中的示例性梯度直方图(HoG)的图形表示。
图19是示出根据一些示例的用于预测变换系数的符号的符号预测区域的图形表示。
图20A是示出根据本公开的一些实施方式的用于变换系数符号预测的示例性上下文建模的图形表示。
图20B是示出根据本公开的一些实施方式的用于变换系数符号预测的另一示例性上下文建模的图形表示。
图21是根据本公开的一些实施方式的用于基于块的视频编解码中的符号预测的示例性方法的流程图。
图22是根据本公开的一些实施方式的由视频编码器执行的用于变换系数符号预测的示例性视频编码方法的流程图。
图23是根据本公开的一些实施方式的由视频解码器执行的用于变换系数符号预测的示例性视频解码方法的流程图。
图24是示出根据本公开的一些实施方式的与用户界面耦接的计算环境的框图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出具体实施方式的示例。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可使用各种替代方案,并且可在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
应当说明,在本公开的说明书、权利要求书和附图中使用的术语“第一”、“第二”等用于区分对象,而不是用于描述任何特定的顺序或次序。应当理解,以这种方式使用的数据可在适当的条件下互换,使得本文描述的本公开的实施例可按照除了附图中所示或本公开中描述的那些顺序之外的顺序来实现。
图1是示出根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1中所示,系统10包括源设备12,源设备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 DiscRead-Only Memory,CD-ROM)、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备32可对应于文件服务器或可存储由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可从存储设备2经由流传输或下载来访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(File Transfer Protocol,FTP)服务器、网络附属存储(Network Attached Storage,NAS)设备或本地磁盘驱动器。目标设备14可通过适合于访问存储在文件服务器上的编码视频数据的任何标准数据连接来访问编码视频数据,标准数据连接包括无线信道(例如,无线保真(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,显示器设备34可以是集成显示器设备和被配置为与目标设备14通信的外部显示器设备。显示器设备34为用户显示解码视频数据,并且可包括各种显示器设备中的任何显示器设备,诸如液晶显示器(LiquidCrystal Display,LCD)、等离子显示器、有机发光二极管(Organic Light EmittingDiode,OLED)显示器或另一类型的显示器设备。
视频编码器20和视频解码器30可根据专有标准或行业标准(例如,VVC、HEVC、MPEG-4、Part 10、AVC)或此类标准的扩展进行操作。应当理解,本公开不限于特定的视频编码/解码标准,并且可适用于其他视频编码/解码标准。通常认为源设备12的视频编码器20可被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行编码。类似地,还通常认为目标设备14的视频解码器30可被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行解码。
视频编码器20和视频解码器30可分别被实现为各种合适的编码器和/或解码器电路中的任何电路,诸如一个或多个微处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可将用于软件的指令存储于合适的非易失性计算机可读介质中,并且使用一个或多个处理器执行硬件中的指令以执行本公开中所公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可被包括在一个或多个编码器或解码器中,编码器或解码器中的任一者可被集成为相应设备中的组合式编码器/解码器(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之间来对块边界进行滤波以从重建视频数据去除块伪影。除了可使用去块滤波器之外,还可使用另外的环路滤波器(诸如SAO)滤波器和/或自适应环路滤波器(Adaptive in-Loop Filter,ALF))来对加法器62的输出进行滤波。在一些示例中,可省略环路滤波器,并且可由加法器62直接将解码的视频块提供给DPB 64。视频编码器20可采取固定或可编程硬件单元的形式,或者可分散在所说明的固定或可编程硬件单元中的一个或多个中。
视频数据存储器40可存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可例如从如图1所示的视频源18获得。DPB 64是存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据(参考帧或图片)的缓冲器。视频数据存储器40和DPB 64可由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可与视频编码器20的其他组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的划分单元45将视频数据划分为视频块。此划分操作还可包括根据与视频数据相关联的预定义的拆分结构(例如四叉树(Quad-Tree,QT)结构)将视频帧划分为条带、瓦片(例如,视频块的集合)或其他更大的编码单元(Coding Unit,CU)。视频帧是或可被认为是具有样点值的样点的二维阵列或矩阵。阵列中的样点也可被称作像素或pel。阵列或图片的水平和垂直方向(或轴)上的样点的数量定义视频帧的尺寸和/或分辨率。可通过(例如)使用QT划分将视频帧分割为多个视频块。视频块也是或可被认为是具有样点值的样点的二维阵列或矩阵,但是视频块的尺寸小于视频帧。视频块的水平和垂直方向(或轴)上的样点的数量定义视频块的尺寸。可通过例如迭代地使用QT划分、二叉树(Binary-Tree,BT)划分、三叉树(Triple-Tree,TT)划分或其任意组合进一步将视频块划分为一个或多个块分区或子块(其可再次形成块)。应当注意,如本文所使用的术语“块”或“视频块”可以是帧或图片的一部分,特别是矩形(正方形或非正方形)部分。参考例如HEVC和VVC,块或视频块可以是或对应于编码树单元(Coding TreeUnit,CTU)、CU、预测单元(Prediction Unit,PU)或变换单元(Transform Unit,TU)和/或可以是或对应于相应块,例如编码树块(Coding Tree Block,CTB)、编码块(Coding Block,CB)、预测块(Prediction Block,PB)或变换块(Transform Block,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编码的矢量(例如,块矢量),或可利用运动估计单元42确定块矢量。
在像素差方面,视频块的预测块可以是或可对应于与待编码的视频块紧密匹配的参考帧的块或参考块,像素差可由绝对差总和(Sum of Absolute Difference,SAD)、平方差总和(Sum ofSquare 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可集成在一起,但出于概念目的在图2中单独示出。
在一些实施方式中,帧内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使用变换(诸如离散余弦变换(Discrete Cosine Transform,DCT)或概念上类似的变换)将残差视频数据变换为变换系数。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可减小与系数中的一些或全部相关联的比特深度。可通过调整量化参数来修改量化程度。在一些示例中,量化单元54可随后对包括量化变换系数的矩阵执行扫描。可选地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56可以使用熵编码技术将量化变换系数编码为视频比特流,例如,使用上下文自适应可变长度编码(Context Adaptive Variable Length Coding,CAVLC)、上下文自适应二进制算术编码(Context Adaptive Binary Arithmetic Coding,CABAC)、基于语法的上下文自适应二进制算术编码(Syntax-based context-adaptiveBinary Arithmetic Coding,SBAC)、概率区间划分熵(Probability IntervalPartitioning Entropy,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的其他组件进行解码的视频数据,诸如编码视频比特流。存储在视频数据存储器79中的视频数据可例如从存储设备32、从本地视频源(诸如相机)、经由视频数据的有线或无线网络通信,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可包括存储来自编码视频比特流的编码视频数据的编码图片缓冲器(Coded Picture Buffer,CPB)。视频解码器30的DPB 92存储参考视频数据以供视频解码器30(例如,以帧内或帧间预测解码模式)在对视频数据进行解码时使用。视频数据存储器79和DPB 92可由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其他类型的存储器设备。出于说明性目的,视频数据存储器79和DPB 92在图3中描绘为视频解码器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模式预测的标志、帧的哪些视频块在重建区域内且应被存储在DPB92中的构建信息、用于帧的每个帧内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或与DPB92分离的存储器设备还可存储解码视频以用于稍后呈现在显示器设备(例如,图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×16的CU430和CU 440进一步分割为块尺寸为8×8的四个CU。图4D描绘了示出如图4C中所描绘的CTU400的划分过程的最终结果的四叉树数据结构,四叉树的每个叶节点与范围从32×32到8×8的各个尺寸的一个CU对应。类似于图4B中描绘的CTU,每个CU可包括相同尺寸的帧的亮度样点的CB和色度样点的两个对应编码块、和用于对编码块的样点进行编解码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个编码块和用于对编码块的样点进行编解码的语法结构。应注意,图4C和图4D中所描绘的四叉树划分仅出于说明性目的,并且一个CTU可基于四叉树/三叉树/二叉树划分被拆分为CU以适应于变化的局部特性。在多类型树结构中,一个CTU被四叉树结构划分,并且每个四叉树叶CU可被二叉树结构和三叉树结构进一步划分。如图4E所示,宽度为W且高度为H的编码块存在多种可能的划分类型,即四元划分、垂直二元划分、水平二元划分、垂直三元划分、垂直扩展三元划分、水平三元划分和水平扩展三元划分。
在一些实施方式中,视频编码器20可进一步将CU的编码块划分为一个或多个M×NPB。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可重建帧。
如上所述,视频编解码主要使用两种模式(即,帧之内预测(或帧内预测)和帧之间预测(或帧间预测))来实现视频压缩。应注意,帧内块复制(intra block copy,IBC)可被视为帧内预测或第三模式。在两种模式之间,帧间预测比帧内预测对编解码效率的贡献更大,这是因为使用运动矢量来从参考视频块预测当前视频块。
但是随着不断改进的视频数据捕获技术和用于保留视频数据中的细节的更细化的视频块尺寸,表示当前帧的运动矢量所需的数据量也显著增加。克服此挑战的一种方式是受益于以下事实:不仅空间域和时间域两者中的一组相邻CU具有用于预测目的的相似视频数据,而且这些相邻CU之间的运动矢量也是相似的。因此,可通过探索空间相邻CU和/或时间同位CU的空间和时间相关性来使用空间相邻CU和/或时间同位CU的运动信息作为当前CU的运动信息(例如,运动矢量)的近似,这也被称为当前CU的“运动矢量预测因子(MotionVector Predictor,MVP)”。
代替将当前CU的实际运动矢量编码到视频比特流中(例如,实际运动矢量由如上文结合图2所描述由运动估计单元42确定),从当前CU的实际运动矢量减去当前CU的运动矢量预测因子以生成当前CU的运动矢量差(Motion Vector Difference,MVD)。通过这样做,不需要将由运动估计单元42针对帧的每个CU确定的运动矢量编码到视频比特流中,并且可显著减少视频比特流中用于表示运动信息的数据量。
如在编码块的帧间预测期间选择参考帧中的预测块的过程,视频编码器20和视频解码器30两者可采用一组规则以用于使用与当前CU的空间相邻CU和/或时间同位CU相关联的那些潜在候选运动矢量来构建当前CU的运动矢量候选列表(也称为“合并列表”),然后从运动矢量候选列表选择一个成员作为当前CU的运动矢量预测因子。通过这样做,不需要将运动矢量候选列表本身从视频编码器20发送到视频解码器30,并且运动矢量候选列表内所选择的运动矢量预测因子的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内相同的运动矢量预测因子来对当前CU进行编码和解码。因此,仅需要将选择的运动矢量预测因子的索引从视频编码器20发送到视频解码器30。
本文中提供关于基于块的视频编解码过程中(例如,增强型压缩模型(ECM)中)的变换系数编解码的简要论述。具体来说,首先将每个变换块划分为多个系数组(CG),其中每个系数组包括亮度分量的4×4子块和色度分量的2×2子块的变换系数。以系数组为单位对变换块中的变换系数执行编解码。例如,基于第一预定扫描顺序对变换块内的系数组进行扫描和编码。当对每个系数组进行编码时,在每个子块内基于第二预定扫描顺序扫描系数组的变换系数。在ECM中,应用相同的左上扫描顺序来扫描变换块内的系数组和每个系数组中的不同变换系数(例如,第一预定扫描顺序和第二预定扫描顺序都是左上扫描顺序)。图5是示出根据一些示例的系数组中的变换系数的左上扫描顺序的图形表示。图5中的数字0-15指示系数组中的每个变换系数的对应扫描顺序。
根据ECM中的变换系数编解码方案,首先针对每个变换块用信号发送标志,以指示变换块是否包括任何非零变换系数。在变换块中存在至少一个非零变换系数的情况下,将根据左上扫描顺序扫描的最后一个非零变换系数的位置从视频编码器20显式地用信号发送到视频解码器30。在用信号发送最后一个非零变换系数的位置的情况下,针对在最后一个系数组(即,包括最后一个非零系数的系数组)之前编解码的所有系数组进一步用信号发送标志。相应地,标志的数量指示相应系数组是否包括非零变换系数。如果系数组的标志等于零(指示系数组中的所有变换系数为零),则不需要为该系数组发送进一步的信息。否则(例如,系数组的标志等于1),根据扫描顺序在比特流中用信号发送系数组中的每个变换系数的绝对值和符号。然而,在现有设计中,变换系数的符号被旁路编解码(例如,不应用上下文模型),从而导致当前设计中的低效变换编解码。与本公开一致,下面更详细地描述具有变换系数的符号预测的改进的LFNST过程,使得可提高变换编解码效率。
图6是示出根据一些示例的LFNST过程的图形表示。在VVC中,在主变换之后,应用二次变换工具(例如,LFNST)来压缩帧内编码块的变换系数的能量。如图6中所示,在视频编码器20处在正主变换603与量化605之间应用正LFNST 604,并且在视频解码器30处在反量化607与逆主变换609之间应用逆LFNST 608。例如,LFNST过程可包括正LFNST 604和逆LFNST 608。作为一些示例,对于4×4正LFNST 604,可存在16个输入系数;对于8×8正LFNST604,可存在64个输入系数;对于4×4逆LFNST 608,可存在8个输入系数;并且对于8×8逆LFNST 608,可存在16个输入系数。
在正LFNST 604中,基于编码块的尺寸来应用具有变化变换尺寸的不可分离变换,这可使用矩阵乘法过程来描绘。例如,假设正LFNST 604应用于4×4块。4×4块中的样点可使用矩阵X来表示,如以下表达式(1)所示:
矩阵X可被序列化为向量如以下表达式(2)所示:
在上述表达式(1)或(2)中,X表示通过正主变换603获得的系数矩阵,并且Xij表示矩阵X中的主变换系数。然后,根据表达式(3),如下应用正LFNST 604:
在以上表达式(3)中,表示正LFNST 604之后的变换系数,并且T表示变换核(例如,变换矩阵)。在以上示例中,因为X是4×4矩阵,所以T是16×16矩阵。随后根据预定扫描顺序将16×1向量重组为4×4块(例如,大小为4×4的系数矩阵)。位于向量中的第二变换系数之前的第一变换系数可与比4×4块中的第二变换系数更小的扫描索引相关联。
在一些实施方式中,可在LFNST过程中应用简化的不可分离变换核。例如,基于上述表达式(3),正LFNST 604基于直接矩阵乘法,其在计算操作和存储变换系数的存储器源方面是昂贵的。因此,通过将N维向量映射到不同空间中的R维向量,其中R<N,可在LFNST设计中使用简化的不可分离变换核来减少LFNST过程的实现成本。例如,代替将N×N矩阵用于变换核,如表达式(4)所示,将R×N矩阵用作正LFNST 604中的变换核:
在上述表达式(4)中,通过选择原始N维变换核(即,N×N)的前R个基来生成TR×N中的R个基向量。另外,假设TR×N是正交的,则逆LFNST 608的逆变换矩阵是正变换矩阵的转置。
对于8×8LFNST,如果应用因子N/R=4,则对于正LFNST 604,将64×64变换矩阵简化为16×48变换矩阵,并且对于逆LFNST 608,将64×64逆变换矩阵简化为48×16逆变换矩阵。这是通过将LFNST过程应用于主变换系数的左上区域中的8×8子块来实现的。具体地,当应用16×48正LFNST时,其采用来自左上8×8子块中的三个4×4子块(不包括其右下4×4子块)的48个变换系数作为输入。在一些示例中,LFNST过程限于仅在左上4×4子块之外的所有变换系数为零时适用,这指示当应用LFNST时,所有仅主变换系数必须为零。此外,为了控制最坏情况下的复杂度(就每像素的乘法而言),4×4编码块和8×8编码块的LFNST矩阵分别被迫进行8×16变换和8×48变换。对于4×M编码块和M×4编码块(M≥4),LFNST的不可分离变换矩阵是16×16。
在LFNST变换信令中,总共存在四个变换集,并且在LFNST设计中启用每变换集两个不可分离变换核。根据帧内块的帧内预测模式从四个变换集中选择变换集。从帧内预测模式到变换集的映射是预定的,如下表1所示。如果三个跨分量线性模型(CCLM)模式(例如INTRA_LT_CCLM、INTRA_T_CCLM或INTRA_L_CCLM)中的一个用于当前块(81<=predModeIntra<=83),则选择变换集“0”用于当前色度块。对于每个变换集,通过在比特流中用信号发送LFNST索引来指示选择的不可分离二次变换候选。
表1
IntraPredMode
IntraPredMode<0 1
0<=IntraPredMode<=1 0
2<=IntraPredMode<=12 1
13<=IntraPredMode<=23 2
24<=IntraPredMode<=44 3
45<=IntraPredMode<=55 2
56<=IntraPredMode<=80 1
81<=IntraPredMode<=83 0
在一些示例中,因为在第一16×16子块之外的所有变换系数为零的情况下,LFNST限于应用于帧内块,所以LFNST索引信令取决于最后有效(即,非零)变换系数的位置。例如,对于4×4编码块和8×8编码块,仅在最后有效变换系数的位置小于8时用信号发送LFNST索引。对于其他编码块尺寸,仅在最后有效变换系数的位置小于16时用信号发送LFNST索引。否则(即,不用信号发送LFNST索引),推断LFNST索引为零,即,禁用LFNST。
此外,为了减小用于缓存变换系数的缓冲器的大小,当当前编码块的宽度或高度大于在序列参数集(SPS)中用信号发送的最大变换尺寸(即,64)时,不允许LFNST。此外,仅当主变换是DCT2时才应用LFNST。此外,LFNST被应用于帧内条带和帧间条带两者中的帧内编码块以及亮度分量和色度分量两者。如果启用双树或局部树(其中亮度分量和色度分量的分区未对齐),则针对亮度分量和色度分量单独地用信号发送LFNST索引(即,亮度分量和色度分量可应用不同的LFNST变换)。否则,当应用单树时(其中亮度分量和色度分量的分区对齐),LFSNT仅被应用于具有被用信号发送的单个LFNST索引的亮度分量。
ECM中的LFNST设计类似于VVC中的LFNST设计,除了引入附加的LFNST核以提供大块尺寸的残差样点的更好的能量压缩。具体地,当变换块的宽度或高度不小于16时,将新的LFNST变换引入到从主变换生成的低频变换系数的左上区域。在当前ECM中,如图7中所示,低频区域包括主变换系数的左上角中的六个4×4子块(例如,图7A中以灰色展示的六个4×4子块)。在这种情况下,到正LFNST 604的系数输入的数量是96。另外,为了控制最坏情况的计算复杂度,正LFNST 604的系数输出的数量被设置为32。
具体地,对于W×H变换块,其中W>=16且H>=16,应用32×96正LFNST,其采用来自左上区域中的六个4×4子块的96个变换系数作为输入并输出32个变换系数。另一方面,ECM中的8×8LFNST利用所有四个4×4子块中的变换系数作为输入并输出32个变换系数(即,用于正LFNST 604的32×64矩阵和用于逆LFNST 608的64×32矩阵)。这不同于VVC,其中8×8LFNST仅被应用于左上区域中的三个4×4子块,并且仅生成16个变换系数(即,用于正LFNST 604的16×48矩阵和用于逆LFNST 608的48×16矩阵)。另外,LFNST集的总数从VVC中的4增加到ECM中的35。类似于VVC,LFNST集的选择取决于当前编码单元的帧内预测模式,并且每个LFNST集包括三个不同的变换核。
在一些示例中,除了HEVC中使用的DCT2变换之外,还应用多变换选择(MTS)方案来对帧间编码块和帧内编码块两者的残差进行变换。MTS方案使用从DCT8和DST7变换中选择的多个变换。
例如,在序列级指定两个控制标志,以分别启用用于帧内模式和帧间模式的MTS方案。当在序列级启用MTS方案时,进一步用信号发送另一CU级标志以指示是否应用MTS方案。在一些实施方式中,MTS方案仅被应用于亮度分量。此外,仅当满足以下条件时才用信号发送MTS方案:(a)宽度和高度都小于或等于32;(b)编码块标志(CBF)等于一。如果MTS CU标志(MTS_CU_flag)等于零,则在水平方向和垂直方向上都应用DCT2。如果MTS CU标志等于一,则另外用信号发送两个其他标志以分别指示水平方向和垂直方向的变换类型。MTS水平控制标志(MTS_Hor_flag)和MTS垂直控制标志(MTS_Ver_flag)与应用的变换之间的映射在下表2中示出。
表2
关于变换矩阵的精度,所有MTS变换系数都是6位精度,这与DCT2核变换相同。假定VVC支持HEVC中使用的所有变换尺寸,则HEVC中使用的所有变换核保持与VVC相同,包括4点、8点、16点和32点DCT-2变换以及4点DST-7变换。此外,在VVC变换设计中另外支持包括64点DCT-2、4点DCT-8、8点、16点、32点DST-7和DCT-8的其他变换核。此外,为了降低大尺寸DST-7和DCT-8的复杂度,当宽度或高度等于32时,对于DST-7变换块和DCT-8变换块,位于16×16低频区域之外的高频变换系数被设置为零(也称为零输出)。
在VVC中,除了DCT2之外,仅DST7变换核和DCT8变换核用于帧内编解码和帧间编解码。对于帧内编解码,通常残差信号的统计特性取决于帧内预测模式。附加主变换可有益于处理残差特性的多样性。
在ECM中采用包括DCT5、DST4、DST1和恒等变换(IDT)的附加主变换。此外,根据TU尺寸和帧内模式信息来设置MTS集。可考虑16个不同TU尺寸,并且取决于帧内模式信息,可针对每个TU尺寸考虑5个不同类别。对于每个类别,考虑4个不同变换对(与VVC的变换对相同)。尽管可考虑总共80个不同类别,但那些不同类别中的一些类别通常共享同一变换集。因此,在得到的查找表(LUT)中存在58个(少于80个)唯一条目。
对于角度模式,考虑TU形状和帧内预测上的联合对称性。因此,具有TU形状A×B的模式i(i>34)可被映射到与具有TU形状B×A的模式j=(68-i)对应的同一类别。然而,对于每个变换对,水平变换核和垂直变换核的顺序被交换。例如,具有模式18(水平预测)的16×4块和具有模式50(垂直预测)的4×16块被映射到同一类别,其中垂直变换核和水平变换核被交换。对于广角模式,最接近的常规角度模式用于变换集确定。例如,模式2用于-2与-14之间的所有模式。类似地,模式66用于模式67至模式80。
帧内模板匹配预测是从当前帧的重建部分复制预测块的帧内预测模式的示例,其中重建部分的L形模板与当前模板匹配。对于预定搜索范围,视频编码器20在当前帧的重建部分中搜索与当前模板最相似的模板(例如,基于SAD代价),并且使用相应块作为预测块。然后视频编码器20用信号发送此模式的使用,并且在解码器侧处执行相同的预测操作。通过将当前块的L形因果相邻者与预定搜索区域中的另一块匹配来生成预测信号,预定搜索区域如图8所示,包括:(a)当前CTU(R1);(b)左上CTU(R2);(c)上方CTU(R3);以及(d)左侧CTU(R4)。针对具有宽度和高度小于或等于64的尺寸的CU启用帧内模板匹配。此外,通过在CU级用信号发送标志来指示帧内模板匹配预测模式。当将帧内模板匹配应用于宽度或高度在4与16之间(包括4和16)的编码块时,将被应用于对应维度的主变换设置为DST-VII。否则(即,宽度或高度小于4或大于16),在该维度上应用DCT-II。
图9是示出根据一些示例的符号预测的示例性过程的图形表示。在一些实施方式中,可执行符号预测以从变换块的相邻块的样点来估计变换块中的变换系数的符号。可根据上下文模型对估计的符号的正确性进行编码,以指示符号预测是否正确。例如,在一个上下文模型中,每个估计的符号之间的差可被编码,并且对应的真实符号具有“0”(或“1”)以指示估计的符号与真实符号相同(或不同)。在可高百分比准确地估计符号(例如,90%或95%的符号被正确地估计)的情况下,估计的符号与真实符号之间的差趋向于为0,当与VVC中的变换系数的旁路编码符号相比时,这可被CABAC有效地熵编码。与本公开的一致,可使用其他上下文模型对符号预测的正确性进行熵编码,以进一步提高编解码效率。这些其他示例性上下文模型将在下面更详细地描述。
通常,在当前块与其相邻块之间的边界处的样点之间存在高相关性,符号预测方案可利用该高相关性来预测当前块的变换系数的符号。如图9所示,假设当前块中存在M个非零变换系数(M个符号各自为+或-)。然后,可能的符号组合的总数是2M。符号预测方案使用每个符号组合生成对应假设(例如,当前块的顶部边界和左侧界处的重建样点),并且将对应假设中的重建样点与从相邻块推断的样点进行比较以获得重建样点与推断的样点之间的样点差异(例如,SSD或SAD)。(在2M个可能的符号组合中)选择使样点差异最小化的符号组合作为当前块中的预测符号。
在如图9所示的一些实施方式中,为了针对M个符号的每个组合生成对应的假设,可通过反量化操作和逆变换来处理M个对应的变换系数以获得残差样点。残差样点可与预测样点相加以获得重建样点,其包括当前块的顶部边界和左侧边界处的重建样点(在L形灰色区域902中示出)。
在一些实施方式中,度量当前块与其相邻块的边界处的样点之间的空间不连续性的代价函数被用于选择符号组合。代替使用L2范数(SSD),代价函数可基于L1范数(SAD),如下面在表达式(5)中所示:
在以上表达式(5)中,Bi,n(其中i=-2,-1)表示来自当前块的顶部相邻块的当前块的相邻样点。Cm,j(其中j=-2,-1)表示来自当前块的左侧相邻块的当前块的相邻样点。P0,n和Pm,0分别表示当前块的顶部边界和左侧边界上的对应重建样点。N和M分别表示当前块的宽度和高度。图10示出用于计算符号预测的代价函数的当前块的对应样点P0,n和Pm,0以及相邻块的对应样点Bi,n和Cm,j
在一些实施方式中,可在符号预测方案中应用基于模板的假设重建方法,以避免进行多次逆变换的复杂性。每个模板可以是当前块的顶部边界和左侧边界上的一组重建样点,并且可通过将逆变换应用于系数矩阵来获取,其中特定系数被设置为1,而所有其他系数等于0。假设逆变换(例如,DCT、DST)是线性的,则可通过一组预先计算的模板的线性组合来生成对应的假设。
在一些实施方式中,将预测符号分类为两个集合且每个集合被单个CABAC上下文编码。例如,第一集合包括变换块的左上角处的变换系数的预测符号,并且第二集合包括变换块的所有其他位置处的变换系数的预测符号。
与HEVC一样,在VVC中使用标量量化。在一些实施方式中,VVC中的标量量化可被实施为依赖标量量化。依赖标量量化是指变换系数的容许重建值集合取决于在重建顺序中在当前变换系数等级之前的变换系数等级的值的方法。该方法的主要效果是,与HEVC中使用的常规独立标量量化相比,容许重建向量在N维向量空间中被更密集地打包(N表示变换块中的变换系数的数量)。这表示,对于每N维单位体积的给定平均数量的容许重建向量,输入向量与其最接近的重建向量之间的平均失真被减小。
依赖标量量化可通过以下方式实现:(a)定义具有不同重建等级的两个标量量化器,以及(b)定义用于在两个标量量化器之间切换的过程。图11示出了根据本公开的一些实施方式的在VVC的依赖标量量化中使用的两个示例性标量量化器。如图11所示,在VVC的量化设计中应用由Q0和Q1表示的两个标量量化器。可用重建等级的位置由量化步长Δ唯一地指定。在该实施方式中,两个标量量化器Q0和Q1之间的选择不在比特流中被显式地用信号发送。替代地,用于当前变换系数的量化器由视频编码器20按编码顺序或视频解码器30按重建顺序在当前变换系数之前的变换系数等级的奇偶性确定。
在一些实施方式中,两个标量量化器之间的切换经由状态机完成。例如,图12A是示出根据一些示例的使用具有用于依赖标量量化中的四个状态的状态机的状态转换的图形表示。如图12所示,状态可采用四个不同的值0、1、2、3。它由按编码顺序/重建顺序在当前变换系数之前的变换系数等级的奇偶性唯一地确定。
在一些实施方式中,在变换块的反量化开始时,状态被设置为等于0。变换系数按扫描顺序(即,以它们被熵解码的相同顺序)重建。
在重建当前变换系数之后,根据状态机来更新状态。例如,在图12A中,k表示变换系数等级的值。在每个状态下,基于变换系数等级k(即(k&1))的奇偶性来确定下一状态。(k&1)==1时的下一状态不同于(k&1)==0时的下一状态。如图12A所示,状态机包括指向来自四个状态中的每一个的两个不同状态的两个箭头。图12B是示出根据一些示例的根据图12A的状态转换的示例性量化器选择的表。例如,根据图12A和图12B,在状态1,如果(k&1)==0,则下一状态将是2,如果(k&1)==1,则下一状态将是0。
相应地,在解码器处,可根据表达式(6)计算一个变换系数的重建量化索引:
quantIdx=(abs(k)<<1)-(state&1) (6)。
其中abs()是计算输入的绝对值的函数,并且state是在解析当前变换系数的等级时状态转换器的当前状态。此外,在解码器侧,可根据表达式(7)获得反量化之后的重建变换系数:
transCoeff=quantIdx·Δ (7)。
本文认识到符号预测方案的当前设计中存在的若干示例性缺陷。在第一示例中,当前ECM中的符号预测仅适用于仅应用主变换(例如,DCT和DST变换)的变换块中的变换系数的符号的预测。如上所述,LFNST可被应用于来自主变换的变换系数,以提供帧内编码块的残差样点的更好的能量压缩。然而,对于在当前ECM设计中应用LFNST的变换块,绕过了符号预测。
在第二示例中,针对变换块确定预测符号的预定最大数量(表示为“Lmax”)以控制符号预测的复杂度。在当前ECM中,视频编码器基于复杂度与编码效率之间的权衡来确定最大数量的值(例如,Lmax=8),并且将该值发送到视频解码器。此外,对于每个变换块,视频编码器或解码器可按光栅扫描顺序来扫描所有变换系数,并且选择前Lmax个非零变换系数作为用于符号预测的候选变换系数。变换块中的不同变换系数的这种等同处理在符号预测的准确度方面可能不是最佳的。例如,对于具有相对较大幅值的变换系数,对其符号的预测更可能实现正确的预测。这是因为对那些变换系数使用不正确的符号倾向于对块边界上的重建样点产生比通过使用具有相对小幅值的变换系数生成的影响更大的影响。
在第三示例中,代替直接对显式符号值进行编解码,视频编码器或解码器可对预测符号的正确性进行编解吗。例如,对于具有正号的变换系数,如果其预测符号也是正的,则仅需要在从视频编码器到视频解码器的比特流中指示二进制位“0”。在这种情况下,预测符号与变换系数的真实符号(或原始符号)相同,指示该变换系数的符号预测是正确的。否则(例如,如果预测符号为负,而真实符号为正),则可在从视频编码器到视频解码器的比特流中包括二进制位“1”。如果所有符号都被正确预测,则比特流中指示的相应二进制位为零,这可被CABAC有效地熵编码。如果一些符号被不正确地预测,则在比特流中指示的对应二进制位是1。尽管算术编解码加上适当上下文模型可有效地根据其对应概率对二进制位进行编解码,但在比特流中仍会生成用于指示符号值的不可忽略比特。
在第四示例中,当前块与其相邻块之间的边界处的样点之间的空间不连续性用于选择ECM中符号预测的当前设计中的最佳符号预测组合。利用沿垂直方向和水平方向的梯度差的L1范数来捕获空间不连续性。然而,由于图像信号的分布通常是不均匀的,因此仅使用垂直方向和水平方向可能无法准确地捕获空间不连续性。
与本公开一致,本文提供了一种用于基于块的视频编解码中的符号预测的视频处理方法和系统,以解决上述示例性缺陷中的一个或多个。本文中所公开的方法和系统可提高符号预测的编解码效率,同时考虑硬件编解码器实施方式的友好性。本文公开的方法和系统可提高变换块的编解码效率,其将符号预测技术应用于块的变换系数。
例如,如上文所提及,符号预测可基于位于变换块与其空间相邻块的边界处或接近该边界的边界样点(也称为边样点)之间的相关性来预测变换块中的变换系数的符号。假定相关性的存在独立于应用哪个特定变换,两个编码工具(即,LFNST和符号预测)不会彼此干扰且可联合应用。另外,因为LFNST进一步压缩主变换的变换系数的能量,所以LFNST的变换系数的符号预测应比主变换的符号预测更准确。这是因为来自LFNST的变换系数的不正确符号预测可能在边界样点的平滑度上生成更大的差异。因此,与本公开一致,本文公开了协调方案以使得LFNST和符号预测的组合能够增强变换系数编解码的编解码效率。此外,本文还公开了基于模板的假设生成方案,以重建用于不同预测符号组合的边界样点,以便减少逆变换的数量。
在另一示例中,不是如上所述对变换块中的不同变换系数给予同等处理以选择用于符号预测的候选变换系数,而是考虑到可能导致相邻块的边界样点之间的差异的变换系数的符号更容易预测,可对这些变换系数给予更高的权重。与本公开一致,本文公开的方法和系统可基于一个或多个选择标准来选择用于符号预测的候选变换系数(例如,要为变换块预测其符号的变换系数),以提高符号预测的准确性。例如,选择对重建边界样点具有更大影响的变换系数(而不是对重建边界样点具有较小影响的变换系数)作为用于符号预测的候选变换系数,使得可提高符号预测的准确性。
在又一示例中,当以高准确度预测变换块中的变换系数的符号(例如,预测符号的正确性高于诸如80%或90%的阈值)时,在变换块与其相邻块的边界样点之间存在强相关性。在这种情况下,通常发生的是,可能存在连续的变换系数(例如,特别是对于变换块开始时的几个非零变换系数),其可对于大多数场景被正确预测。在此类场景中,可使用单个二进制位(而非多个二进制位)来指示是否正确预测了所有连续变换系数的符号,以节省符号预测的信令开销。与本公开一致,本文中揭示基于向量的符号预测方案以减少符号预测的信令开销。与单独预测每个非零变换系数的符号的现有符号预测不同,所公开的基于向量的符号预测方案将一组连续的非零候选变换系数进行分组并一起预测它们的相应符号,使得可有效地减少用于指示预测符号的正确性的二进制位(或比特)的平均数量。
在又一示例中,仅使用垂直方向和水平方向可能无法准确地捕获当前块与其相邻块之间的边界处的样点之间的空间不连续性。因此,可引入更多方向以更准确地捕获空间不连续性。与本公开一致,本文公开了一种改进的代价函数,其考虑垂直方向和水平方向的梯度以及对角线方向的梯度两者以更准确地捕获空间不连续性。
图13是示出根据本公开的一些实施方式的基于块的视频编解码中的示例性符号预测过程1100的框图。在一些实施方式中,符号预测过程1300可由变换处理单元52执行。在一些实施方式中,符号预测过程1300可由视频编码器20或视频解码器30的一个或多个处理器(例如,一个或多个视频处理器)执行。在整个本公开中,不失一般性地,LFNST用作二次变换的示例。可设想,本文也可应用二次变换的其他示例。
在ECM的现有设计中,对应用LFNST的变换块禁用符号预测。然而,符号预测的原理是基于变换块与其空间相邻块的边界样点之间的相关性来预测变换系数的符号,这不取决于应用于变换块的特定变换类型(例如,它是主变换还是二次变换)或变换核(例如,它是DCT还是DST)。因此,可一起应用符号预测和LFNST以进一步提高本文的变换编解码的效率。与本公开一致,符号预测过程1300可应用于预测主变换和二次变换被联合应用的变换块中的变换系数的符号。
本文提供符号预测过程1300的示例性概述。首先,符号预测过程1300可执行系数生成操作1302,即,将主变换和二次变换应用于来自视频的视频帧的变换块来以生成变换块的变换系数。接下来,符号预测过程1300可执行系数选择操作1304,即,从变换系数中选择用于符号预测的候选变换系数集合。随后,符号预测过程1300可执行假设生成操作1306,即,应用基于模板的假设生成方案来从针对候选变换系数集合的多个候选假设中选择假设。另外,符号预测过程1300可执行符号生成操作1108,即,将与选择的假设相关联的符号候选组合确定为针对候选变换系数集合的预测符号集合。下面分别更详细地描述操作1302、1304、1306和1308。
例如,视频编码器20的变换处理单元52可通过联合地应用主变换和二次变换(例如,如图6中所示,其中正主变换603和正LFNST 604一起应用)而将残差视频数据变换成变换块的变换系数。可基于如下所述的一个或多个选择标准从变换块的变换系数中选择预定数量(例如,L)的非零变换系数作为候选变换系数,其中1≤L≤可预测的最大符号数量。接下来,通过应用基于模板的假设生成方案,可分别使用针对L个候选变换系数的不同符号候选组合来生成多个候选假设,这可生成总共2L个候选假设。每个候选假设可包括变换块的顶部边界和左侧边界上的重建样点。然后,可使用包含沿水平方向、垂直方向和对角线方向的组合梯度的代价函数来计算关于每个候选假设重建的代价。与多个候选假设中的最小代价相关联的候选假设可被确定为用于预测L个候选变换系数的符号的假设。例如,用于生成与最小代价相关联的候选假设的符号候选组合被用作L个候选变换系数的预测符号。
首先,符号预测过程1300可执行系数生成操作1302,其中可将主变换(例如,DCT、DST等)和二次变换(例如,LFNST)联合地应用于变换块以生成变换块的变换系数。例如,可将主变换应用于变换块以生成变换块的主变换系数。然后,可将LFNST应用于变换块,以基于主变换系数生成LFNST变换系数。
符号预测过程1300可继续执行系数选择操作1304,其中可基于一个或多个选择标准从变换块的变换系数中选择用于符号预测的候选变换系数集合。通过选择候选变换系数,可最大化可正确预测的候选变换系数的数量,并且可提高符号预测的准确性。
在一些实施方式中,可基于变换系数的幅值从变换块的变换系数中选择候选变换系数集合。例如,候选变换系数集合可包括一个或多个变换系数,所述一个或多个变换系数具有比变换块中的剩余变换系数更大的幅值。
通常,对于具有较大幅值的变换系数,这些变换系数的预测符号更可能是正确的。这是因为具有较大幅值的这些变换系数倾向于对重建样点的质量具有更多影响,并且对这些变换系数使用不正确的符号更可能在变换块与其空间相邻块的边界样点之间生成不连续性。基于该基本原理,可基于变换块中的非零变换系数的幅值从变换块的变换系数中选择用于符号预测的候选变换系数集合。
可存在多种方式来实现用于符号预测的基于变换系数幅值的重排序方案。在第一实施方式中,该方案可直接使用在反量化之后重建的变换系数(即,反量化变换系数)进行排序,使得具有较大幅值的反量化变换系数将被放置在具有较小幅值的变换系数之前以用于符号预测。例如,可对变换块中的所有非零变换系数进行扫描和排序,以根据其幅值的降序形成系数列表。可从系数列表中选择具有最大幅值的变换系数并将其作为第一候选变换系数放置在候选变换系数集合中,可从系数列表中选择具有第二大幅值的变换系数并将其作为第二候选变换系数放置在候选变换系数集合中,依此类推,直到所选择的候选变换系数的数量达到预定数量L。
在第二实施方式中,代替直接使用反量化变换系数,每个变换系数的量化索引(例如,根据表达式(6)获得的quantIdx)可用于表示变换系数的幅值并用于这种排序。如表达式(7)所示,因为一个反量化变换系数的值等于其量化索引quantIdx和对应步长Δ的乘积,并且步长对于一个变换块中的所有变换系数的反量化是相同的,所以两个实施方式实际上在数学上是相同的。然而,假设可在解析阶段(其早于对反量化变换系数的获取)获得量化索引quantIdx,则当由一些特定硬件实现时,第二实施方式可提供某些益处。
在一些实施方式中,可基于在视频编解码中应用的熵编解码的系数扫描顺序从变换块的变换系数中选择候选变换系数集合。由于自然视频内容可能具有丰富的低频信息,因此从视频内容的处理获得的非零变换系数的幅值倾向于在低频位置处较大,并且越朝向高频位置越小。因此,系数扫描顺序(例如锯齿形扫描、左上扫描、水平扫描或垂直扫描等)可被用于现代视频编解码器中来扫描变换块中的变换系数,以用于熵编解码。通过使用该系数扫描顺序,在具有较小幅值(通常对应于较高频率)的变换系数之前扫描具有较大幅值(通常对应于较低频率)的变换系数。基于该基本原理,可基于用于熵编解码的系数扫描顺序从变换块的变换系数中选择用于本文公开的用于符号预测的候选变换系数集合。例如,可通过使用系数扫描顺序扫描变换块中的所有变换系数来获得系数列表。然后,可自动选择系数列表中的前L个非零变换系数作为用于符号预测的候选变换系数集合。
在一些实施方式中,对于帧内编码块,可基于块的帧内预测方向从块的变换系数中选择用于符号预测的候选变换系数集合。例如,与帧内预测方向(例如,VVC和ECM中的67个帧内预测方向)一致的多个扫描顺序可被确定且存储为视频编码器20和视频解码器30两者处的查找表。当对帧内块的变换系数进行编解码时,视频编码器20或视频解码器30可从扫描顺序中识别最接近帧内块的帧内预测的扫描顺序。视频编码器20或视频解码器30可使用识别的扫描顺序来扫描帧内块的所有非零变换系数以获得系数列表,并且从系数列表选择前L个非零变换系数作为候选变换系数集合。
在一些实施方式中,视频编码器20可确定用于变换块的变换系数的扫描顺序且将确定的扫描顺序用信号发送到视频解码器30。指示确定的扫描顺序的一个或多个新语法元素可通过比特流被用信号发送。例如,多个固定扫描顺序(例如,用于不同变换块尺寸和编解码模式)可由视频编码器20预定且与视频解码器30预共享。然后,在从固定扫描顺序中选择扫描顺序之后,视频编码器20仅需要用信号发送单个索引以向视频解码器30指示所选择的扫描顺序。在另一示例中,一个或多个新语法元素可被用于实现用信号发送变换系数的任何选择的扫描顺序。在一些实施方式中,可在各种编码级(例如,序列参数集(SPS)、图片参数集(PPS)、图片(或条带)级、CTU(或CU)级等)用信号发送一个或多个语法元素。
在一些实施方式中,可基于变换系数对变换块的重建边界样点的影响分数从变换块的变换系数中选择候选变换系数集合。具体地,如以上表达式(5)所示,基于代价函数来选择符号(即,预测符号或符号预测因子)组合,以最小化当前变换块与其空间相邻块之间的样点的梯度的不连续性。因此,对当前变换块的顶部边界和左侧边界上的重建样点具有相对大影响的变换系数的符号倾向于更可能被准确地预测,因为这些符号的翻转可能导致如(5)中计算的边界样点之间的平滑度的大变化。为了使准确符号预测的百分比最大化,可在其他变换系数(即,对重建边界样点具有较小影响的变换系数)之前预测这些变换系数(即,对重建边界样点具有较大影响的变换系数)的符号。基于该基本原理,可基于它们对当前变换块的顶部边界和左侧边界上的重建样点的影响分数来选择本文公开的用于符号预测的候选变换系数集合。
例如,视频编码器20或解码器30可基于所有变换系数对变换块的重建边界样点的对应影响分数的度幅值,对所有变换系数进行排序。如果变换系数对重建边界样点具有较大的影响分数,则可在符号预测候选列表中为其分配较小的索引,因为它更容易被正确预测。本文公开的候选变换系数集合可以是符号预测候选列表中具有L个最小索引的L个变换系数。
在一些实施方式中,可应用不同的标准来量化变换系数对重建边界样点的影响分数。例如,度量由变换系数引起的重建边界样点上的变化的能量的值可用作影响分数,其可如下获得(在L1范数中):
在上述表达式(6)中,Ci,j表示变换块中位置(i,j)处的变换系数。Ti,j(l,k)表示与变换系数Ci,j相关联的模板的位置(l,k)处的对应边界样点。N和M分别表示变换块的宽度和高度。V表示变换系数在位置(i,j)处的影响分数。
在另一示例中,上述表达式(8)中的L1范数可由L2范数代替,使得可使用L2范数如下计算影响分数(例如,对由变换系数引起的重建边界样点上的变化的能量的度量):
与本公开一致,尽管仅顶部边界样点和左侧边界样点(例如,如由Ti,j(0,n)和Ti,j(m,0)所指示的)用于上述表达式(8)和(9)中的计算,但是本文公开的变换系数选择方案也可通过改变在相应代价函数中使用的当前变换块的重建样点来应用于任何符号预测方案。
类似于基于变换系数幅值的方案,可能存在不同的方式来实现基于影响分数的方案。在第一实施方式中,方案可直接使用反量化变换系数Ci,j的幅值,如表达式(8)和(9)所示。在第二实施方式中,可替代地应用量化索引值quantIdx来代替反量化变换系数Ci,j,以计算对应的代价度量。具体地,当应用量化索引值quantIdx时,表达式(8)和(9)变为下面的表达式(10)和(11):
其中quantIdxi,j表示变换块中位置(i,j)处的变换系数的量化索引。
因为一个反量化变换系数的值等于其量化索引quantIdx和对应步长Δ的乘积,并且步长对于一个变换块中的所有变换系数的反量化是相同的,所以这两种方法实际上在数学上是相同的。
符号预测过程1300可继续执行假设生成操作1106,其中可应用基于模板的假设生成方案来从多个候选假设中选择针对候选变换系数集合的假设。首先,可基于候选变换系数集合中包括的系数的总数,确定针对候选变换系数集合的多个符号候选组合。例如,如果总共存在L个候选变换系数,则针对候选变换系数集合的多个符号候选组合可以是2L个符号候选组合。每个符号候选可以是负号(-)或正号(+)。每个符号候选组合可包括总共L个负号或正号。例如,如果L=2,则多个符号候选组合可包括22=4个符号候选组合,其分别是(+,+)、(+,-)、(-,-)和(-,-)。
接下来,可应用基于模板的假设生成方案来分别针对多个符号候选组合生成多个候选假设。为了降低需要执行的逆主变换和逆二次变换的复杂度,可使用本文公开的基于模板的假设生成方案来优化变换块的重建边界样点的生成。本文公开了用于实现基于模板的假设生成方案的两种示例性方法。预期用于实现基于模板的假设生成方案的其他示例性方法是可能的,其不限于此。
在第一示例性方法中,可基于模板的线性组合生成针对每个符号候选组合的对应候选假设,使得可针对多个符号候选组合分别生成多个候选假设。每个模板可对应于来自候选变换系数集合的候选变换系数。每个模板可表示变换块的顶部边界和左侧边界上的重建样点组。可通过对变换块应用逆二次变换和逆主变换来生成每个模板,其中除了与模板对应的候选变换系数被设置为1之外,候选变换系数集合中的每个候选变换系数被设置为零(例如,与模板对应的候选变换系数被设置为1,而剩余的候选变换系数中的每一个被设置为0)。
例如,针对每个符号候选组合的对应候选假设可被设置为模板的线性组合。对于与相应候选变换系数对应的模板,该模板的相应权重可被设置为与相应候选变换系数对应的反量化变换系数的幅值。基于模板的线性组合的假设生成的示例在图14中示出,其在下面更详细地描述。
为了预测候选变换系数的符号,视频编码器20或解码器30可在识别与符号候选组合相关联的可使从代价函数计算的代价值最小化的假设之前经历所有候选假设。在上述第一示例性方法中,可基于多个模板的组合来生成每个候选假设,当考虑这种组合中涉及的每样点计算(例如,加法、乘法和移位)时,这是相对复杂的。为了降低与使从代价函数计算的代价值最小化的假设的识别相关联的计算复杂度,本文引入了第二示例性方法。
在第二示例性方法中,与多个候选假设相关联的多个符号候选组合可分别被视为关于多个候选假设的多个假设索引。例如,数字0和1可被配置为分别表示正号(+)和负号(-)。与候选假设对应的符号候选组合可用作关于候选假设的唯一表示(即,假设索引)。例如,假设存在将被预测的三个符号(例如,L=3)。假设索引000可表示通过将所有三个符号候选设置为正(例如,三个符号候选为(+,+,+))而生成的候选假设。类似地,假设索引010可表示通过将第一符号候选和第三符号候选设置为正而将第二符号候选设置为负(例如,三个符号候选为(+,-,+))而生成的候选假设。
然后,可基于多个假设索引的加里码顺序来生成多个候选假设,使得具有先前假设索引的先前候选假设的重建样点可用于生成具有当前假设索引的当前候选假设。在多个假设索引的加里码顺序中,当前候选假设的当前假设索引可紧接在先前候选假设的先前假设索引之后。可通过将与先前假设索引相关联的符号候选从正(或负)改变为负(或正)来生成当前假设索引。例如,可通过将先前假设索引中的单个“0”(或“1”)改变为“1”(或“0”)来获得当前假设索引。
例如,可基于多个假设索引的加里码顺序对多个假设索引进行重新排序,以生成重新排序的假设索引序列。对于重新排序的假设索引序列中的第一假设索引,可通过对候选变换系数集合中的每个候选变换系数被设置为1的变换块应用逆二次变换和逆主变换来生成与第一假设索引对应的第一候选假设。对于重新排序的假设索引序列中紧接在第一假设索引之后的第二假设索引,可基于(a)与第一假设索引对应的第一候选假设和(b)关于第二候选假设的调整项来生成与第二假设索引对应的第二候选假设。下表3示出了当候选变换系数的数量为3(例如,L=3)时生成用于LFNST的所有候选假设的示例性过程。
表3
在上表3中,第一列分别示出了23=8个符号候选组合。第二列示出了通过使用数字0和1分别表示正号(+)和负号(-)而分别与符号候选组合对应的假设索引。第二列中的假设索引根据加里码顺序(例如,以000、001、011、010、110、111、101、100的顺序)排序。第三列示出了分别与符号候选组合和假设索引对应的候选假设。第四列分别示出了候选假设的计算。
在表3中,第四列中的TXYZ表示对应模板(即,变换块的顶部边界和左边界上的重建建样点),其可通过将逆变换应用于变换块的系数矩阵而生成,在该变换块中特定变换系数被设定为一而所有其他变换系数等于零。例如,T100表示通过将逆变换应用于系数矩阵而生成的对应模板,在该系数矩阵中仅与第一符号候选对应的变换系数被设置为一而该系数矩阵中的所有变换系数被设置为零。C0、C1和C2分别表示与第一符号候选、第二符号候选和第三符号候选相关联的反量化变换系数的绝对值。
参考表3,对于第一假设索引000,通过将逆二次变换和逆主变换应用于与变换块相关联的系数矩阵来生成第一候选假设H000,在该变换块中每个候选变换系数被设置为1。对于紧接在第一假设索引000之后的第二假设索引001,可基于(a)第一候选假设H000和(b)用于第二候选假设的调整项(例如,-C2*T001)来生成第二候选假设H001。类似地,对于紧接在第二假设索引001之后的第三假设索引011,可基于(a)第二候选假设H001和(b)用于第三候选假设的调整项(例如,-C1*T010)来生成第三候选假设H011。对于紧接在第三假设索引011之后的第四假设索引010,可基于(a)第三候选假设H011和(b)用于第四候选假设的调整项(例如,C2*T001)来生成第四候选假设H010。
随后,可基于包含沿水平方向、垂直方向和对角线方向的组合梯度的代价函数从多个候选假设中确定与最小代价相关联的假设。如上所述,如果代价函数仅利用水平方向和垂直方向的梯度(例如,如上面在表达式(5)中所示),则它可能不能很好地用于很不均匀的图像信号。与本公开一致,还利用沿一个或多个对角线方向的梯度来提高代价函数的准确度。例如,包括左对角线方向和右对角线方向的两个对角线方向也可并入代价函数中。例如,可根据以下表达式(12)和(13)来描述两个对角线方向的代价函数:
在上面表达式(8)或(9)中,B-1,n-1、B-2,n-2、B-1,n+1和B-2,n+2表示来自变换块的顶部相邻块的变换块的相邻样点。Cm-1,-1、Cm-2,-2、Cm+1,-1和Cm+2,-2表示来自变换块的左侧相邻块的变换块的相邻样点。P0,n和Pm,0分别表示变换块的顶部边界和左侧边界上的重建样点。N和M分别表示变换块的宽度和高度。costD1和costD1分别表示关于左对角线方向的左对角线代价函数和关于右对角线方向的右对角线代价函数。
对角线方向的两个代价函数(例如,costD1和costD2)可与水平-垂直代价函数的代价函数(例如,上述表达式(5)中所示的costHV)联合使用。然后,可基于包含沿水平方向和垂直方向的梯度的水平-垂直代价函数、包含沿左对角线方向的梯度的左对角线代价函数以及包含沿右对角线方向的梯度的右对角线代价函数来确定符号预测的代价函数。例如,代价函数可以是如表达式(14)中所描述的水平-垂直代价函数、左对角线代价函数和右对角线代价函数的加权和:
cost=costHV+ω(costD1+costD2) (14)。
在上述表达式(14)中,ω表示关于左对角线代价函数和右对角线代价函数的权重。
在另一示例中,代价函数可以是如表达式(15)中所描述的水平-垂直代价函数、左对角线代价函数和右对角线代价函数中的最小值:
cost=min{costHV,costD1,costD2} (15)。
与上面所示的表达式(5)相比,本文公开的表达式(14)或(15)中的代价函数可能需要更多的相邻像素来支持沿对角线方向的代价函数costD1、costD2,这将在下面参考图16A至图16B更详细地描述。
在一些实施方式中,可使用上述表达式(14)或(15)来确定每个候选假设的对应代价。然后,可分别针对多个候选假设计算多个代价。可确定多个代价中的最小代价。可从多个候选假设中确定与最小代价相关联的候选假设,并将其选择为用于符号预测的假设。
符号预测过程1300可继续执行符号生成操作1108,其中与选择的假设相关联的符号候选组合被确定为针对候选变换系数集合的预测符号集合。例如,用于生成选择的假设的符号候选组合(例如,L个符号候选)可用作L个候选变换系数的预测符号。
在一些实施方式中,符号生成操作1308还可包括将基于向量的符号预测方案应用于预测符号集合,以生成关于候选变换系数集合的符号信令比特序列。包括符号信令比特序列的比特流可由视频编码器20生成并且存储在图1的存储设备32中。替代地或另外地,比特流可通过图1的链路16发送到视频解码器30。
如上所述,当变换块中的变换系数的符号被良好地预测时,表示多个连续变换系数的符号可被正确地预测的可能性很高。在这种情况下,由于现有符号预测设计中的信令方案需要用信号发送多个二进制位“0”以单独地指示可被正确预测的每个变换系数的对应符号,因此在用于用信号发送变换块的符号值的开销方面显然是低效的。下文参考图15A更详细地描述现有符号预测方案的示例性实施方式。
与本公开一致,可通过应用本文中所公开的基于向量量的符号预测方案来提高符号信令的效率。具体地,可将变换块的候选变换系数划分为多个组,并且可一起预测每个组中的候选变换系数的符号。在这种情况下,当一组中的候选变换系数的原始符号(或真实符号)分别与其预测符号相同时,仅需要在比特流中发送值为“0”的二进制位以指示该组中的所有符号都被正确预测。否则(即,在该组中至少存在原始符号不同于预测符号的候选变换系数),可首先在比特流中用信号发送值为“1”的二进制位,以指示并非该组中的候选变换系数的所有符号都被正确预测。然后,还可在比特流中将附加二进制位从视频编码器20用信号发送到视频解码器30,以单独地通知该组中的每个预测符号的对应正确性。下文参考图15B更详细地描述本文中所公开的基于向量的符号预测方案的示例性实施方式。
在一些实施方式中,候选变换系数集合可被划分为多个候选变换系数组。对于每个候选变换系数组,可针对该候选变换系数组生成一个或多个符号信令比特,以指示预测符号的正确性。
在一个示例中,可基于候选变换系数组的原始符号是否与该候选变换系数组的预测符号相同,来生成符号信令比特。响应于候选变换系数组的原始符号与该候选变换系数组的预测符号相同,可生成值为零(“0”)的二进制位,并将其作为符号信令比特添加到比特流。例如,比特流可包括“0”以指示候选变换系数组的预测符号被正确预测。
另一方面,响应于候选变换系数组的原始符号与该候选变换系数组的预测符号不同,可生成值为一(“1”)的二进制位。还可生成用于通知该候选变换系数组的预测符号的相应正确性的一组附加二进制位。然后,可将值为1的二进制位和该组附加二进制位作为符号信令比特添加到比特流。例如,该组附加二进制位可以是该候选变换系数组的原始符号和预测符号的XOR结果。值为“0”的附加二进制位可指示与该附加二进制位对应的候选变换系数的预测符号被正确预测,而值为“1”的附加二进制位可指示与该附加二进制位对应的候选变换系数的预测符号被错误预测。比特流可包括:(a)“1”,用于指示候选变换系数组的预测符号未被正确预测;以及(b)一组附加二进制位,用于指示哪些预测符号被正确预测以及哪些预测符号被错误预测。
符号信令比特可使用其他上下文模型类似地生成。例如,符号信令比特可包括“0”以指示候选变换系数组的预测符号被正确预测,以及具有值一(“1”)的二进制位以指示预测符号不正确。还可生成用于通知具有不正确符号预测的候选变换系数组的预测符号的相应正确性的一组附加二进制位。
在一些实施方式中,可基于一个或多个预定标准自适应地改变每个候选变换系数组的大小。一个或多个预定标准可包括变换块的宽度或高度、变换块的编码模式(例如,帧内或帧间编码)以及变换块内的非零变换系数的数量等。在一些实施方式中,每个候选变换系数组的大小可在比特流中在各种编码级(诸如SPS、PPS、条带或图片级别、CTU或CU级别或变换块级别)被用信号发送。
在一些实施方式中,可应用一个或多个约束来限制本文中所公开的基于向量的符号预测方案的应用情境。例如,本文中所公开的基于向量的符号预测方案可被应用于处理针对变换块中的第一部分变换系数的符号,而变换块中的第二部分变换系数的符号可使用现有符号预测方案来处理。在另一示例中,本文中所公开的基于向量的符号预测方案可适用于来自变换块的前N个(例如,N=2、3、4、5、6、7或8等)非零候选变换系数,而形成变换块的其他候选变换系数的符号可使用图15A中所示的现有符号预测方案来处理,这将在本公开中稍后描述。
与本公开一致,本文中所公开的符号预测过程1100可在一些场景下禁用。例如,当LFNST被应用于通过帧内模板匹配模式编码的编码块时,主变换可以是DST-VII。假定ECM中的LFNST核变换主要在主变换是DCT-II时被训练,帧内模板匹配块的对应LFNST变换系数在与其他LFNST块的LFNST变换系数相比时可展示不同特性。基于此原理,当当前编码块是帧内模板匹配块且使用LFNST被编码时,可禁用符号预测过程1300。
与本公开一致,LFNST块的预测符号的最大数量和非LFNST块的预测符号的最大数量可不同,以控制符号预测的计算复杂度。例如,LFNST块的预测符号的最大数量可被设置为6(或4),而非LFNST块的预测符号的最大数量可具有不同于6(或4)的值。另外,预测符号的最大数量的不同值可被应用于应用LFNST的视频块和不应用LFNST的视频块。在一些实施方式中,视频编码器20可基于编码器的对应复杂度或性能偏好确定LFNST块的预测符号的最大数量,并且可将最大数量用信号发送到视频解码器30。当LFNST块的预测符号的最大数量被用信号发送到视频解码器30时,其可在各种编码级(例如,序列参数集(SPS)、图片参数集(PPS)、图片或条带级或CTU或CU级)处被用信号发送。在一些实施方式中,视频编码器20可确定针对应用LFNST视频块和不应用LFNST的视频块的预测符号的最大数量的不同值,并且将最大数量的值从视频编码器20用信号发送到视频解码器30。
与本公开一致,假定主变换和二次变换两者的变换系数是固定的,则视频编码器20或视频解码器30可针对不同变换块尺寸以及主变换和二次变换组合的不同组合预先计算模板(例如,模板的样点)。视频编码器20或视频解码器30可将模板(例如,模板的样点)存储在内部存储器或外部存储器中以避免为了优化的实施方式而即时产生模板的样点的复杂性。模板的样点可以以不同的分数精度存储,以实现存储大小和样点精度之间的不同权衡。例如,视频编码器20或视频解码器30可用固定因子(例如,64、128或256)来缩放模板的浮点数样点并且将缩放后的样点舍入到其最接近整数。舍入后的样点可存储于存储器中。然后,当模板被用于重建候选假设时,其对应的样点可首先被去缩放到原始精度,以确保候选假设中生成的样点在正确的动态范围内。
图14是示出根据本公开的一些实施方式的基于模板的线性组合的示例性假设生成的图形表示。在图14中,四个图案块0-3表示其符号将被预测的候选变换系数。因子C0、C1、C2和C3表示四个候选变换系数的反量化变换系数的对应值。模板0-3可分别对应于四个候选变换系数0-3。例如,可通过对变换块应用逆二次变换和逆主变换来生成与候选变换系数0对应的模板0,其中候选变换系数0被设置为1,并且变换块中的剩余候选变换系数被设置为零。类似地,可分别生成模板1-3。可通过将模板0-1分别与权重C0-C3相加来生成候选假设。
图15A是示出根据一些示例的现有符号预测方案的示例性实施方式的图形表示。图15B是示出根据本公开的一些实施方式的基于向量的符号预测方案的示例性实施方式的图形表示。本文中参考图15A-图15B说明现有符号预测方案与本文中所公开的基于向量的符号预测方案之间的示例性比较。
在图15A-图15B中,在变换块中存在六个非零变换系数,其被选择作为用于符号预测的候选变换系数。使用光栅扫描顺序从变换块的系数矩阵来扫描候选变换系数。候选变换系数的原始符号和预测符号也在图15A-图15B中示出。例如,值为“-2”的第一候选变换系数的原始符号和预测符号都是“-”(在图15A-图15B中表示为“1”)。值为“3”的第二候选变换系数的原始符号和预测符号都是“+”(在图13A-图13B中表示为“0”)。值为“1”的第三候选变换系数的原始符号和预测符号分别为“+”和“-”(在图13A-图13B中分别表示为“0”和“1”)。第三候选变换系数的原始符号被不正确地预测。如图15A-图15B所示,除了第三变换系数之外,所有其他候选变换系数的原始符号与其对应的预测符号相同(即,被正确预测)。
参考图15A,总共生成6个二进制位(即,0,0,1,0,0和0),其中每个二进制位对应于一候选变换系数。可通过在6个候选变换系数的原始符号与预测符号之间执行XOR运算来生成6个二进制位。6个二进制位可用于指示6个预测符号的相应正确性。例如,值均为“0”的第一二进制位和第二二进制位指示第一候选变换系数和第二候选变换系数的预测符号是正确的。值为“1”的第三二进制位指示第三变换系数的预测符号不正确。可将6个二进制位发送到CABAC以用于熵编解码。
参考图15B,本文公开的基于向量的符号预测方案将6个候选变换系数划分为3个组,并且每个组包括2个连续的候选变换系数。因为可正确地预测组#0和组#2中的候选变换系数的符号,所以针对这两个组仅生成值均为“0”的两个二进制位。对于组#1,由于它包括符号不能被正确预测的第三候选变换系数,因此生成值为“1”的二进制位(在图15B中加下划线),并在比特流中用信号发送该二进制位,以指示该组至少包括原始符号与其预测符号不同的候选变换系数。随后,针对组#1中的第三系数和第四系数生成值为“1”和“0”的两个附加二进制位,以指示它们的符号是否可被正确地预测。对应地,当应用本文中所公开的基于向矢量的符号预测方案时,总共存在针对CABAC生成的5个二进制位,这具有比由图15A中所示的现有符号预测方案生成的二进制位更少的二进制位。因此,通过应用本文中所公开的基于向量的符号预测方案,可减少信令开销,并且可提高变换块的编解码效率。
与本公开一致,尽管光栅扫描顺序用于从变换块的系数矩阵获得候选变换系数,如图15B所示,但是也可使用任何其他扫描顺序来选择用于符号预测的候选变换系数。例如,可基于上述一个或多个选择标准来选择候选变换系数。本文不再重复类似的描述。
图16A是示出根据本公开的一些实施方式的沿左对角线方向的左对角线代价函数的示例性计算的图形表示。图16B是示出根据本公开的一些实施方式的沿右对角线方向的右对角线代价函数的示例性计算的图形表示。与用于计算costHV的上述表达式(8)相比,上述表达式(14)或(15)中所示的左对角线代价函数costD1或右对角线代价函数costD2可能需要更多相邻像素来支持计算沿对角线方向的代价函数costD1、costD2(如在图16A-图16B中的区域1602、1604和1606内标记的像素所示)。当区域1602、1604和1606中的这些像素不可用时,则可采用最近的填充方法来填充这些不可用位置。例如,如果区域1606中的B-1,4不可用,则作为最接近B-1,4的可用像素B-1,3用于填充B-1,4的位置(例如,B-1,4=B-1,3)。如果区域1602中的B-1,-1(也表示为C-1,-1)、B-1,-2(C-1,-1)、B-2,-1(C-1,-1)和B-2,-2(C-1,-1)不可用,则本文公开了几种示例性方法来填充不可用位置。
在第一示例性方法中,每个不可用位置可通过对其最近的可用像素进行加权来填充,如下面在表达式(16)-(19)中所示:
B-2,-2=(B-2,0+C0,-2)*0.5 (16)
B-2,-1=(2*B-2,0+C0,-1)/3 (17)
B-1,-2=(B-1,0+2*C0,-2)/3 (18)
B-1,-1=(B-1,0+C0,-1)*0.5 (19)。
在第二示例性方法中,一些不可用位置可分别用它们最近的可用像素填充。例如,如果区域1602中的B-1,-2不可用,则用C0,-2填充。如果B-2,-1不可用,则用B-2,0填充。然而,如果B-2,-2和B-1,-1不可用,则可用根据上述表达式(16)和(17)计算的它们的两个最近相邻像素的平均值来填充它们。
在第三示例性方法中,仅使用可用相邻重建样点来计算代价函数。在沿当前块的上边界/左边界的一个边界样点的代价计算涉及任何不可用的重建样点的情况下,它们将不用于计算相应方向上的代价。例如,在图16B中,假定边界样点的代价计算涉及至少一个不可用的参考样点,仅边界样点P0,0、P0,1和P1,0被用于计算右上方向上的代价函数的值,而P0,2、P0,3、P2,0和P3,0将不被使用。
与本公开一致,尽管左对角线和右对角线(即,图16A-图16B中所示的135°和45°)在上述表达式(14)或(15)中所示的代价函数的计算中用于说明目的,但是可预期任何其他度量分量(例如,沿一个或多个任意方向的连续性度量)可并入到用于符号预测的代价函数的计算中。
在第四实施方式中,可实施基于对一个当前块的相邻样点中的纹理信息的梯度分析的样点推导方法,以提高用于符号预测的代价函数的精度。代替总是使用固定推导方向(例如,用于上方相邻样点的垂直推导和用于水平相邻样点的水平推导),可在编码器和解码器两者处执行对当前块的顶部相邻重建样点和左侧相邻重建样点的纹理分析,并且可选择相邻样点的梯度的最主要方向以沿当前块的顶部边界和左侧边界推导边界样点。
例如,图17是根据本公开的一些实施方式的用于捕获当前块的相邻重建样点内的主要梯度方向的方法1700的流程图。方法1700可由与视频编码器20或视频解码器30相关联的视频处理器实施,并且可包括如下文所描述的步骤1702-1712。一些步骤是执行本文提供的公开内容的可选步骤。此外,一些步骤可同时执行,或者以与图17中所示的顺序不同的顺序执行。
在步骤1702中,针对当前块选择参考样点以用于梯度推导。在一些实施方式中,参考样点形成模板。例如,图18A是示出根据本公开的一些实施方式的用于代价函数的样点推导方向的基于梯度的选择中的示例性模板样点和梯度滤波器窗口的图形表示。如图18A所示,当前块上方和左侧的相邻重建样点的N行和N列的模板用作梯度推导的参考样点。在图18A的示例中,模板尺寸等于3。
在步骤1704中,初始化梯度直方图(HoG)。例如,可生成具有多个条目的HoG,其中梯度直方图的每个条目对应于在预定角度方向上的梯度的累积幅值。每个条目可被初始化为零。例如,图18B是示出根据本公开的一些实施方式的用于代价函数的样点推导方向的基于梯度的选择中的示例性梯度直方图(HoG)的图形表示。在实践中,可在公开的梯度分析方案中使用不同的预定义方向。在一个实施方式中,使用与针对VVC/ECM中的常规帧内预测的65个角度方向定义的方向相同的方向。
在步骤1706中,将梯度滤波器窗口应用于参考样点以计算相应的梯度。如图18A所示,将一个N×N梯度滤波器窗口应用于位于模板的中间行/列处的每个模板样点(即,滤波器窗口以样点位置为中心),以分别计算其对应的水平梯度Gh和垂直梯度Gv。
在步骤1708中,计算每个参考样点的梯度的角度(Angle)和幅值(Amp)。例如,可根据表达式(20)和(21)计算样点的梯度:
Amp=|Gh|+|Gv| (21)。
在步骤1710中,可将梯度的角度转换为预定义方向中的一个方向,并且更新HoG中的对应条目。例如,如图18所示,通过增加每个角度的样点梯度的幅值(Amp)来更新每个角度的HoG中的幅值。结果,幅值是累积幅值。
在步骤1712中,将选择具有最大累积幅值的HoG的条目作为用于推导用于当前块的代价函数的相邻样点的方向。例如,如图18所示,最大条目被圈出。
在上述方法中,选择具有最大幅值的方向作为样点推导的方向。当存在一些噪声(例如,由其他编码模块引起的量化误差和/或编码噪声)时,这种方法可能不一定可靠。为了解决这样的问题,可在采用主要梯度方向作为推导方向之前应用某些条件。
例如,在一个实施方式中,可仅在存在属于选择的梯度方向的足够多的模板样点(例如,属于选择的方向的样点的百分比足够大,例如超过预定阈值)时启用选择的主要梯度方向以用于代价函数计算的样点推导。否则(例如,属于选择的方向的模板样点的数量不够多),仍应用默认推导(例如,用于上方相邻者的垂直推导及用于左侧相邻者的水平推导)。
在另一实施方式中,仅当与主要梯度方向相关联的梯度幅值足够大(例如,选择的梯度方向的幅值与所有梯度方向的幅值之和的比率大于另一预定阈值)时,可启用选择的主要梯度方向以用于代价函数计算的样点推导。否则(例如,选择的方向的梯度幅值不大),仍然应用默认推导。
在又一实施方式中,上述约束被一起应用。也就是说,仅当与选择的方向相关联的模板样点的数量足够多并且梯度幅值足够大时,才启用选择的方向用于当前块的样点推导。否则,仍然应用默认推导。
在又一实施方式中,当启用选择的主要梯度方向时,当预测一个块内的符号时,与选择的方向正交的方向被用于代价函数的计算中的样点推导。例如,当选择的方向为45度时,则135度将用作沿当前块的顶部边界和左侧边界推导样点的方向。类似地,当选择的方向为135度时,则45度将用作沿当前块的顶部边界和左侧边界推导样点的方向。
在上面所公开的实施方式中,符号预测仅适用于预测位于一个变换块的左上4×4子块(例如,如图7中所示)中的系数的符号。通常,因为公共变换块的大部分能量通常集中在低频的几个变换系数中,所以这种方法是合理的。相应地,左上角处的变换系数的符号在统计时比其他位置处的变换系数更容易。然而,该假设可能并不总是正确的。例如,对于具有复杂运动场的帧间块(例如,子块帧间模式,其中一个帧间块被划分为多个子块且每个子块可具有其自己的MV),可能沿不同运动的预测信号中的不同运动之间的边界产生许多边缘。在这种情况下,在应用DCT/DST变换之后,将生成不可忽略的高频变换系数,并且这些系数可会在左上4×4角突显。这些高频系数的符号不能根据上面公开的符号预测设计来预测。
在一些替代实施方式中,输入到正LFNST且因此稍后用于符号预测的变换系数的区域可从几个左上4×4子块(例如,如图7中所示)延伸以进一步提高编解码性能。例如,图19是示出根据一些示例的用于预测变换系数的符号的符号预测区域的图形表示。
具体地,可选择当前变换块的左上A×B区域的符号进行预测,其中M和N根据表达式(22)计算:
A=min(width,TH)
B=min(height,TH) (22)
其中width和height是变换块的宽度和高度,并且TH为用于符号预测的最大区域尺寸(也被称作区域尺寸阈值)。操纵TH的值可为符号预测技术提供不同的性能和复杂度权衡。扩大符号预测的区域会增加符号将被预测的变换系数的数量,但是由于需要在编码器和解码器两者处测试的符号组合的数量增加,因此这可能以增加的计算复杂度为代价。
在一些实施方式中,可使用不同的方法来确定TH的值。在一个实施方式中,在所有序列和编解码场景中,对于TH,可使用固定值(例如,8、16、32等)。假设区域尺寸阈值TH是固定的,编码器和解码器将在定位用于符号预测的变换系数时使用相同值(即,不用信号发送)来确定对应区域。在另一实施方式中,编码器可被给予根据视频序列的特定特性以及其优选的性能/复杂度权衡来决定最佳区域尺寸阈值的灵活性,并且从编码器向解码器用信号发送对应的值。
在一个示例性方法中,可从一组固定数字中选择区域尺寸阈值,使得仅需要在比特流中将固定数量的比特用信号发送到解码器以指示选择哪个尺寸。例如,假设存在四个允许的区域尺寸阈值{4,8,16,32},则仅需要用信号发送两个比特来指示从该组中选择的特定值。在另一示例性方法中,可在编码器侧针对变换块自适应地确定区域尺寸阈值。因此,区域尺寸阈值的值可以是任意数字。在这种情况下,由于其未知值,不能使用固定长度码字;替代地,可应用某一可变长度码字(例如,指数哥伦布码、一元码等)以在比特流中指示所确定的区域尺寸阈值的值。
另外,当TH的值在比特流中被发送时,其可在不同级用信号发送,例如,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头和编码块级中。当它在序列级(例如,在VPS或SPS中)用信号发送时,这意味着针对视频序列中的所有变换块将共享一个相同的区域尺寸阈值。当它在图片级/条带级(即,在PPS或条带头中)用信号发送时,其允许区域尺寸阈值分别从一图片到另一图片或一条带到另一条带而变化。类似地,当在编码块处用信号发送该值时,其提供符号预测区域的最大适应能力,然而由于针对每个单独的编码块必须分别用信号发送该值,因此需要消耗更多的编码比特。
在解码器侧,解码器可基于变换块的尺寸和区域尺寸阈值TH确定符号预测区域。当TH为固定值时,其可不在比特流中用信号发送,而是在解码器中被预编程。解码器可将该预编程的固定值用于所有序列和场景。否则,当TH不是固定值而是由编码器确定的值时,其将在比特流中用信号发送到解码器。因此,解码器基于变换块的尺寸和用信号发送的区域尺寸阈值TH来确定符号预测区域。
在一些实施方式中,解码器可首先确定区域尺寸阈值在哪一级用信号发送。如上所述,可在不同级(例如VPS、SPS、PPS、条带头和编码块级等)用信号发送TH。基于它被用信号发送的级,解码器可确定出用信号发送的TH应被应用的范围。例如,当在VPS或SPS级用信号发送TH时,解码器将其应用于视频序列中的所有变换块。当在PPS或条带头级用信号发送TH时,解码器将其应用于当前图片/条带中的所有变换块,并且将针对每个不同图片/条带读取不同的TH。当在编码块级用信号发送TH时,解码器将从比特流读取的不同TH应用于每个不同的编码块。
当区域尺寸阈值是针对变换块自适应确定的值时,解码器可基于在比特流中用信号发送的码字来确定TH的值。如上所述,当TH是从一组预定值中选择的时,可使用固定长度码字来用信号发送TH,或者当TH是针对变换块自适应确定的任意数时,可使用可变长度码字来用信号发送TH。
在一些实施方式中,在确定对当前变换块应用的TH值之后,解码器可基于变换块的尺寸和区域尺寸阈值TH(例如,根据表达式(22))确定符号预测区域。例如,如图19中所示,符号预测区域的宽度A被确定为变换块的宽度(width)与区域尺寸阈值TH中的较小者,并且符号预测区域的高度B被确定为变换块的高度(height)与区域尺寸阈值TH中的较小者。
预期扩展的符号预测区域方案不干扰上面公开的符号预测技术中的任一个,所述符号预测技术可容易地适应且与扩展的符号预测区域组合以提供提高的编解码性能。仅作为一个特定示例,扩展的符号预测区域可与符号预测重新排序和LFNST符号预测进行组合。
在前面的描述中,以一个上下文模型对符号信令比特中的预测符号的正确性进行编码作为示例进行了描述。具体地,每个预测符号之间的差可被编码,并且对应的真实符号具有“0”(或“1”)以指示估计符号与真实符号相同(或不同)。与本公开的一些实施方式一致,可使用其他上下文模型对符号预测的正确性进行熵编解码,以进一步提高编解码效率。
在第一示例性方法中,变换系数的等级值(即,幅值)的上下文可被用于对符号预测的正确性进行熵编解码。这是因为一个较大的幅值倾向于具有较高概率做出正确预测。例如,当应用这种方法时,可将可能的幅度值的范围划分为若干段,并且可将不同的上下文分配给不同段中的系数的符号预测熵编解码。
在一些实施方式中,将变换系数的幅值的范围划分为多个幅值段,并且可将上下文分配给每个幅值段以用于对针对属于该幅值段的变换系数的符号信令比特进行熵编码。多个幅值段中每两个连续幅值段可由阈值分隔开,使得幅值段不重叠。
在一个特定示例中,阈值thres可被用于将变换系数幅值的范围划分为两个段,即(1,thres)和[thres,+∞]。通过这种划分,如果一个变换系数属于第一段,则分配一个第一上下文以对该变换系数的符号进行编解码。否则,如果变换系数落入第二段,则分配一个第二上下文以对该变换系数的符号进行编解码。
在各种实施方式中,可以以不同的方式确定和指定阈值的值(或多个阈值的多个值)。在一个示例性方法中,值可以是固定的(例如,2、3、…等)并且在编码器和解码器两者中被预编程。因此,在编码器侧和解码器侧都使用固定值,而不需要用信号发送它。在另一示例性方法中,编码器可被给予选择最佳阈值的自由并将对应值用信号发送给解码器。
如上所述,每个变换系数的幅值被用于确定用于在编码器侧对变换系数的符号值进行编解码的上下文。因此,在解码器侧,每个变换系数的幅值被相应地用于确定上下文,以便对变换系数的符号值进行解码。假定变换系数只能在解码器侧进行反量化之后获得,由于需要在解析阶段进行反量化的事实,这种方案可能显著增加解析比特流的复杂度。为了解决这种复杂度问题,在一个实施方式中,解码器可直接使用变换系数的等级k(即,在不应用反量化的情况下从比特流直接解析的变换系数的量化值)来确定对一个变换系数的符号进行编解码的上下文。
在另一实施方式中,代替直接使用从比特流解析的等级k,解码器可使用量化索引(即,quantIdx)来确定对一个变换系数的符号进行编码的上下文。如所描述,在VVC/ECM中,两个标量量化器可被应用于量化/反量化。用于一个变换系数的实际量化器由在当前变换系数之前的变换系数的奇偶性确定。因此,变换系数的量化索引可被用于确定用于对符号进行编码的上下文。如前所述,可例如根据表达式(6)基于当前变换系数的转换状态(即,state)从等级k的值来计算量化索引。
在各种实施方式中,所有上述基于幅值/等级的上下文建模方法可与结合图13描述所公开的变换系数选择方案组合。例如,这种组合可以以两种不同的方式实现。在一种方法中,变换系数可被重新排序,并且重新排序的变换系数(即,变换系数被重新排序之后的变换系数)的幅值/等级可确定被应用于对一个变换块中的变换系数的符号进行编解码的对应上下文。在另一种方法中,变换系数不被重新排序,并且在不重新排序的情况下使用变换系数的幅值/等级(即,变换系数被重新排序之前的变换系数)来确定被应用于对变换块中的变换系数的符号进行编解码的上下文。
图20A和图20B示出了用于变换系数符号预测的上下文建模的两个示例,分别实现上述两种方案。如图20A所示,当应用第一方案时,变换系数根据它们的幅值/等级被重新排序,例如,以6、3、2、2、1、1、1和1的顺序。重新排序的变换系数的幅值/等级被用于选择包括在比特流中的符号信令比特的上下文。这个第一方案的益处是用于上下文建模的对应幅值/等级与其符号被编解码的变换系数匹配。当应用这个第一方案时,编码器/解码器需要在符号被编码/解码之前对变换系数进行重新排序,这可能增加比特流解析的复杂度并因此降低解析吞吐量。图20B示出了可避免该解析问题的第二方案的实施方式。在这个第二方案中,变换系数的幅值/等级在不被重新排序的情况下被用于对符号进行编码的上下文确定。因此,不需要在解析阶段应用重新排序。也就是说,用于上下文建模的幅值/等级可能与符号不对齐。
在第二种方法中,变换系数的扫描位置的上下文可被用于对符号预测进行熵编解码。例如,一个单个上下文可被应用于对位于一个变换块的前L个位置处的变换系数的编解码,而另一个上下文可被应用于对其他位置处的系数的符号进行编解码。在一个特定示例中,L的值可被设置为等于1。因此,一个上下文被分配用于对一个变换系数的第一变换系数(即,DC系数)的符号进行编解码,并且另一上下文被分配用于对所有其他变换系数(即,AC系数)的符号进行编解码。可替代地,一个变换块中的所有符号预测位置可根据它们各自的重要性(或正确预测的概率)被分类为不同的组,并且可分别向每个组分配不同的上下文。
在第三种方法中,编码相关信息(诸如编码模式的上下文、块尺寸和分量通道信息)可被用于符号预测编解码。例如,不同上下文可被用于帧间模式和帧内模式。在另一示例中,不同的上下文模型可被用于不同的块。在又一示例中,不同的上下文可被用于亮度分量和色度分量。
在第四种方法中,用于确定变换系数的变换类型可被用作用于符号预测的上下文。如上文所描述,存在被应用于压缩一个变换块中的系数的能量的多个变换核,例如MTS和LFNST。假定由不同变换核产生的变换系数可呈现不同统计特性,则可使用不同上下文对不同变换的变换系数的符号进行熵编码。
尽管上述上下文建模方案是单独描述的,但是预期它们中的任何一个可以一起使用。在实践中,每种方法可与其他方法自由组合以实现不同的上下文设计。
图21是根据本公开的一些实施方式的用于基于块的视频编解码中的符号预测的示例性方法2100的流程图。方法2100可由与视频编码器20或视频解码器30相关联的视频处理器实施,并且可包括如下文所描述的步骤2102到2108。一些步骤是执行本文提供的公开内容的可选步骤。此外,一些步骤可同时执行,或者以与图21中所示的顺序不同的顺序执行。
在步骤2102中,视频处理器可将主变换和二次变换应用于来自视频的视频帧的变换块,以生成变换块的变换系数。
在步骤2104中,视频处理器可从变换系数中选择用于符号预测的候选变换系数集合。
在步骤2106中,视频处理器可应用基于模板的假设生成方案来从针对候选变换系数集合的多个候选假设中选择假设。
在步骤2108中,视频处理器可将与选择的假设相关联的符号候选组合确定为针对候选变换系数集合的预测符号集合。
与本公开一致,方法2100和图21可在视频编码器侧或视频解码器侧上执行。当在视频编码器侧执行方法2100时,可将其视为用于视频编码器侧的变换系数符号预测的编码方法。然后生成指示符号预测的正确性的符号信令比特,并对其进行编码,以将其包括在发送给解码器的比特流中。当在视频解码器侧执行方法2100时,可将其视为用于视频解码器侧的变换系数符号预测的解码方法。符号信令比特在比特流中用信号发送到解码器,该比特流还包含变换系数的量化等级的编码数据。解码器可使用信号信令比特来校正其信号预测,以估计接收到的变换系数的原始符号。下面参考图22和图23分别提供示例性编码方法和用于视频解码器侧的变换系数符号预测的示例性解码方法。
图22是根据本公开的一些实施方式的由视频编码器执行的用于变换系数符号预测的示例性视频编码方法2200的流程图。方法2200可由与视频编码器20相关联的视频处理器实施,且可包括如下文所描述的步骤2202到2122。其中一些步骤可以是执行本文所提供的公开内容的可选步骤。此外,一些步骤可同时执行,或以不同于图22所示的顺序执行。
在步骤2202中,视频处理器可将主变换应用于来自视频的视频帧的变换块,以生成针对变换块的系数。
在步骤2104中,视频处理器可将二次变换应用于变换块中的子块,以生成针对变换块的变换系数。在一些实施方式中,二次变换可以是正LFNST。在一些实施方式中,视频处理器可确定用于执行变换系数符号预测的符号预测区域。
在步骤2206中,视频处理器可从变换系数中选择用于符号预测的候选变换系数集合。在一些实施方式中,候选变换系数可从变换块的基于幅值重新排序的变换系数中选择。例如,变换系数可从最大幅值到最小幅值重新排序,然后选择具有最大幅值的系数进行符号预测。
在步骤2208中,视频处理器可基于候选变换系数集合中的候选变换系数的总数来确定针对候选变换系数集合的多个符号候选组合。
在步骤2210中,视频处理器可应用基于模板的假设生成方案来分别针对多个符号候选组合生成多个候选假设。
在步骤2212中,视频处理器可基于代价函数从多个候选假设中选择与最小代价相关联的假设。在一些实施方式中,代价函数可通过基于主要梯度方向来推导相邻样点来计算。在一些实施方式中,如上所述,在为了计算代价函数的目的而采用主要梯度方向作为推导方向之前,主要梯度方向必须满足某些条件。视频处理器可确定是否满足这些条件。如果是,则在计算代价函数时沿主要梯度方向执行相邻样点推导。否则,可使用默认推导方向(例如,用于上方相邻者的垂直推导和用于左相邻者的水平推导)。
在步骤2214中,视频处理器可将与选择的假设相关联的符号候选组合确定为针对候选变换系数集合的预测符号集合。
在步骤2216中,视频处理器可确定用于对针对候选变换系数集合的符号信号比特序列进行熵编码的一个或多个上下文。在一些实施方式中,可针对变换块确定一个上下文模型。在一些其他实施方式中,可针对变换块的不同变换系数确定不同的上下文模型。不同的上下文可基于变换系数的不同特征对符号信令比特序列进行熵编码。在第一示例中,上下文是基于与符号信令比特对应的候选变换系数集合的幅值确定的。在第二示例中,上下文是基于候选变换系数的扫描位置确定的。在第三示例中,上下文是基于编码模式、块尺寸或每个候选变换系数的分量通道信息确定的。在第四示例中,上下文是基于被应用于生成候选变换系数的变换核确定的。
在步骤2218中,视频处理器可根据一个或多个上下文生成针对候选变换系数集合的符号信令比特序列。如上所述,可使用各种上下文模型及其组合来对预测符号的正确性进行编码。在一些实施方式中,可通过应用基于矢量的符号预测方案来生成符号信令比特序列。
在步骤2220中,视频处理器可对候选变换系数进行量化,以获得候选变换系数的量化等级。
在步骤2222中,视频处理器可生成包括符号信令比特序列和候选变换系数的量化等级的编码数据的比特流。
图23是根据本公开的一些实施方式的由视频解码器执行的用于变换系数符号预测的示例性视频解码方法2300的流程图。方法2300可由与视频解码器30相关联的视频处理器实施,且可包括如下文所描述的步骤2302到2318。一些步骤可以是执行本文提供的公开内容的可选步骤。此外,一些步骤可同时执行,或者以与图23中所示的顺序不同的顺序执行。
在步骤2302中,视频处理器可对候选变换系数集合进行反量化。在一些实施方式中,视频处理器可接收包括符号信令比特序列和与变换块相关联的量化变换系数的比特流。视频处理器可通过图3中的反量化单元86从量化变换系数来生成反量化变换系数。
候选变换系数集合被用于变换系数符号预测。反量化变换系数与变换块相关联。视频解码器30中变换块的反量化变换系数可等同于视频编码器20中变换块的变换系数。在一些实施方式中,如果候选变换系数集合是从变换块的在编码器侧根据幅值重新排序的变换系数中选择的,则解码器的视频处理器可对从比特流中解析出的候选变换系数集合进行重新排序。
在步骤2304中,视频处理器可基于候选变换系数集合中的候选变换系数的总数来确定针对候选变换系数集合的多个符号候选组合。
在步骤2306中,视频处理器可应用基于模板的假设生成方案来分别针对多个符号候选组合生成多个候选假设。
在步骤2308中,视频处理器可基于代价函数从多个候选假设中选择与最小代价相关联的假设。在一些实施方式中,代价函数通过基于主要梯度方向来推导相邻样点进行计算,如上所述。
在步骤2310中,视频处理器可将与选择的假设相关联的符号候选组合确定为针对候选变换系数集合的预测符号集合。
在步骤2312中,视频处理器可确定被用于对从编码器接收到的符号信令比特序列进行熵编码的一个或多个上下文。符号信令比特序列在比特流中被发送到解码器。如上所述,编码器可使用单个上下文模型或多个上下文模型对符号信令比特进行熵编码。解码器可确定这些上下文,以便对符号信令比特进行解码,从而获得针对候选变换系数的符号预测的正确性指示。
在第一示例中,上下文基于与符号信令比特对应的候选变换系数集合的幅值来确定。例如,变换系数的幅值落入多个幅值段,其中上下文被分配用于对针对属于各幅值段的变换系数的符号信令比特进行熵编码。视频处理器可确定每个候选变换系数的幅值所属的幅值段,并确定分配给该幅值段的上下文作为用于对符号信令比特进行熵编码的上下文。在多个幅值段中,每两个连续的幅值段之间由阈值分隔开,该阈值可以是解码器中预先编程的固定值,也可以是编码器确定并用信号发送到解码器的值。在一些实施方式中,候选变换系数的幅值是在没有进行反量化的情况下直接从比特流中解析出的候选变换系数的量化等级。在一些实施方式中,候选变换系数的幅值是候选变换系数的量化指标。
在第二示例中,上下文基于候选变换系数的扫描位置来确定。例如,将变换系数的扫描位置分类为多个组,并上下文被分配用于对针对属于各组的变换系数的符号信令比特进行熵编码。视频处理器可在多个组中确定与符号信号比特对应的候选变换系数的扫描位置所属的组,并确定分配给该组的上下文作为用于对符号信令比特进行熵编码的上下文。
在第三示例中,上下文基于编码模式、块尺寸或每个候选变换系数的分量通道信息来确定。在第四示例中,上下文基于被应用于生成候选变换系数的变换核来确定。
在步骤2314中,视频处理器可基于一个或多个上下文对符号信令比特序列进行解码。
在步骤2316中,视频处理器可基于预测符号集合和从视频编码器接收且解码后的符号信令比特序列来估计针对候选变换系数集合的原始符号。
例如,参考图15B,预测符号集合可包括具有值(1,0)的组#0、具有值(1,0)的组#2和具有值(1,0)的组#3,其中1指示负号,0指示正号。符号信令比特序列可包括针对组#0的比特“0”、针对组#2的比特“1,1,0”、以及针对组#3的比特“0”。由于针对组#0的比特的值为“0”,指示具有值(1,0)的该组的预测符号是正确的(例如,预测符号与原始符号相同),因此针对组#0的估计的原始符号被确定为(1,0)。由于针对组#1的比特中的第一比特的值为“1”,指示该组(1,0)的预测符号是不正确的(例如,预测符号与原始符号不同),因此针对组#1的估计的原始符号(1,0)被确定为该组(1,0)的预测符号与针对组#1的第二比特和第三比特“1,0”的XOR结果(例如,估计的原始符号=XOR((1,0),(1,0))=(0,0))。由于针对组#2的比特的值为“0”,指示具有值(1,0)的该组的预测符号是正确的(例如,预测符号与原始符号相同),因此针对组#2的估计的原始符号被确定为(1,0)。然后,通过分别级联组#0、组#1和组#2的估计的原始符号来形成针对候选变换系数集合的估计的原始符号,包括(1,0,0,0,1,0)。如上文所述,视频编码器可使用不同上下文模型来对预测符号的正确性进行编码,并且预测符号的正确性根据这些上下文模型而进行调整。
在步骤2318中,视频处理器可基于估计的针对候选变换系数集合的原始符号来更新反量化变换系数。例如,视频处理器可使用估计的原始符号作为变换块中与候选变换系数集合对应的反量化变换系数的真实符号。
在一些实施方式中,在更新反量化变换系数之后,视频处理器还可将逆主变换和逆二次变换应用于反量化变换系数,以在与变换块对应的残差块中生成残差样点。逆二次变换对应于包括LFNST的二次变换。逆主变换对应于包括DCT-II、DCT-V、DCT-VIII、DST-I、DST-IV、DST-VII或恒等变换的主变换。
在一些实施方式中,针对候选变换系数集合的符号信令比特序列由视频编码器通过以下方式生成:由视频编码器将基于向量的符号预测方案应用于针对在视频编码器侧选择的另一候选变换系数集合的另一预测符号集合;以及生成包括符号信令比特序列的比特流。该另一候选变换系数集合是视频编码器侧上的变换系数,其对应于视频解码器侧上的候选变换系数集合。
在一些实施方式中,将基于向量的符号预测方案应用于针对另一候选变换系数集合的另一预测符号集合还包括:将该另一候选变换系数集合划分为多个候选变换系数组;以及针对每个候选变换系数组,基于该候选变换系数组的原始符号是否与该候选变换系数组的预测符号相同,针对该候选变换系数组生成一个或多个符号信令比特。
在一些实施方式中,针对该候选变换系数组生成一个或多个符号信令比特包括:响应于该候选变换系数组的原始符号与该候选变换系数组的预测符号相同,生成值为零的二进制位;以及将该二进制作为符号信令比特添加到比特流。在一些实施方式中,针对该候选变换系数组生成一个或多个符号信令比特包括:响应于该候选变换系数组的原始符号与该候选变换系数组的预测符号不同,生成值为1的二进制位;生成用于通知该候选变换系数组的预测符号的相应正确性的一组附加二进制位;以及将该二进制位和该一组附加二进制位作为符号信令比特添加到比特流。
图24示出了根据本公开的一些实施方式的与用户接口2450耦接的计算环境2410。计算环境2410可以是数据处理服务器的一部分。例如,上面所公开的视频编码器20或视频解码器30中的视频处理器可使用计算环境2410实现。计算环境2410包括处理器2420、存储器2430和输入/输出(I/O)接口2440。
处理器2420通常控制计算环境2410的整体操作,诸如与显示、数据采集、数据通信和图像处理相关联的操作。处理器2420可包括一个或多个处理器来执行指令以执行上述方法中的所有或一些步骤。此外,处理器2420可包括促使处理器2420与其他组件之间的交互的一个或多个模块。处理器2420可以是中央处理单元(Central Processing Unit,CPU)、微处理器、单片机、图形处理单元(Graphical Processing Unit,GPU)等。
存储器2430被配置为存储各种类型的数据以支持计算环境2410的操作。存储器2430可包括预定软件2432。这类数据的示例包括用于在计算环境2410上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器2430可通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,诸如静态随机存取存储器(Static Random AccessMemory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、闪存、磁盘或光盘。
I/O接口2440提供处理器2420与外围接口模块(诸如键盘、点击轮、按钮等)之间的接口。按钮可包括但不限于主页按钮、启动扫描按钮和停止扫描按钮。I/O接口2440可与编码器和解码器耦接。
在一些实施例中,还提供了一种非暂态计算机可读存储介质,其包括多个程序,例如被包括在存储器2430中,可由计算环境2410中的处理器2420执行,用于执行上述方法。在一个示例中,多个程序可由计算环境2410中的处理器2420执行,以接收(例如,从图2中的视频编码器20接收)包括编码的视频信息(例如,表示编码视频帧的视频块和/或相关联的一个或多个语法元素等)的比特流或数据流,还可由计算环境2410中的处理器2420执行,以根据接收到的比特流或数据流执行上述解码方法。在另一个示例中,多个程序可由计算环境2410中的处理器2420执行,以执行上述编码方法,将视频信息(例如,表示视频帧的视频块和/或相关联的一个或多个语法元素等)编码到比特流或数据流中,还可由计算环境2410中的处理器2420执行,以发送比特流或数据流(例如,发送到图3中的视频解码器30)。可选地,非暂态计算机可读存储介质可在其中存储包括比特流或数据流,比特流或数据流包括由编码器(例如,图2中的视频编码器20)使用(例如)上文所描述的编码方法生成的以供解码器(例如,图3中的视频解码器30)在对视频数据进行解码时使用的编码视频信息(例如,表示编码的视频帧的视频块和/或相关联的一个或多个语法元素等)。非暂态计算机可读存储介质可以是例如ROM、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
在一些实施例中,还提供了一种计算设备,其包括:一个或多个处理器(例如,处理器2420);以及存储有可由一个或多个处理器执行的多个程序的非暂态计算机可读存储介质或存储器2430,其中一个或多个处理器在执行多个程序时被配置为执行上述方法。
在一些实施例中,还提供了一种计算机程序产品,其包括例如在存储器2430中的多个程序,多个程序可由计算环境2410中的处理器2420执行,用于执行上述方法。例如,计算机程序产品可包括非暂态计算机可读存储介质。
在一些实施例中,计算环境2410可用一个或多个ASIC、DSP、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、FPGA、GPU、控制器、微控制器、微处理器或用于执行上述方法的其他电子组件来实现。
已经出于说明的目的呈现了本公开的描述,并且不旨在穷举或限于本公开。受益于前面的描述和相关附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
除非另有特别说明,否则根据本公开的方法的步骤的顺序仅旨在是说明性的,并且根据本公开的方法的步骤不限于上面具体描述的顺序,而是可根据实际条件改变。此外,可根据实际要求调整、组合或删除根据本公开的方法的至少一个步骤。
选择和描述示例是为了解释本公开的原理,并且使本领域其他技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,应当理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开的范围内。

Claims (41)

1.一种用于变换系数的符号预测的视频解码方法,包括:
接收比特流,所述比特流包括针对候选变换系数集合的符号信令比特序列;
由解码器的处理器生成针对与来自视频的视频帧的变换块相关联的候选变换系数集合的预测符号集合;
由所述处理器基于用于对所述符号信令比特序列进行熵编码的一个或多个上下文来对所述符号信令比特序列进行解码,以获得对各候选变换系数的预测符号的正确性的指示;以及
由所述处理器基于所述预测符号集合和解码的所述符号信令比特序列来估计针对所述候选变换系数集合的原始符号。
2.根据权利要求1所述的视频解码方法,其中基于所述预测符号集合和所述符号信令比特序列来估计针对所述候选变换系数集合的原始符号还包括:
根据由各符号信令比特指示的正确性来更新候选变换系数的预测符号,以确定候选变换系数的原始符号。
3.根据权利要求1所述的视频解码方法,其中对每个符号信令比特进行解码还包括:
基于与该符号信令比特对应的候选变换系数的幅值来确定用于对该符号信令比特进行熵编码的上下文。
4.根据权利要求3所述的视频解码方法,其中候选变换系数的幅值落入多个幅值段内,其中多个上下文被分配用于对针对属于各幅值段的变换系数的符号信令比特进行熵编码,
其中确定用于对该符号信令比特进行熵编码的上下文还包括:
在所述多个幅值段中确定与该符号信令比特对应的候选变换系数的幅值所属的幅值段;以及
将分配给该幅值段的上下文确定为用于对该符号信令比特进行熵编码的上下文。
5.根据权利要求4所述的视频解码方法,其中所述多个幅值段中每两个连续幅值段被阈值分隔开。
6.根据权利要求5所述的视频解码方法,其中所述阈值是在所述解码器中预编程的固定值。
7.根据权利要求5所述的视频解码方法,其中所述阈值由编码器确定并且在所述比特流中用信号发送到所述解码器。
8.根据权利要求3所述的视频解码方法,其中所述比特流还包括所述候选变换系数集合的量化等级的编码数据,
其中所述视频解码方法还包括:
通过直接从所述比特流解析候选变换系数的量化等级而不进行反量化来确定候选变换系数的幅值。
9.根据权利要求3所述的视频解码方法,其中所述比特流还包括所述候选变换系数集合的量化等级的编码数据,
其中所述视频解码方法还包括:
从所述比特流解析候选变换系数的量化等级;
基于候选变换系数的量化等级和候选变换系数的转换状态来确定候选变换系数的量化索引;以及
基于候选变换系数的量化索引来确定候选变换系数的幅值。
10.根据权利要求1所述的视频解码方法,其中所述候选变换系数集合是从所述变换块的根据幅值重新排序的变换系数中选择的,
其中所述视频解码方法还包括:
对从所述比特流解析的所述候选变换系数集合进行重新排序。
11.根据权利要求10所述的视频解码方法,其中用于对符号信令比特进行熵编码的上下文是基于重新排序之后的变换系数的幅值确定的。
12.根据权利要求10所述的视频解码方法,其中用于对符号信令比特进行熵编码的上下文是基于重新排序之前的变换系数的幅值确定的。
13.根据权利要求1所述的视频解码方法,其中对每个符号信令比特进行解码还包括:
基于与该符号信令比特对应的候选变换系数的扫描位置来确定用于对该符号信令比特进行熵编码的上下文。
14.根据权利要求13所述的视频解码方法,其中变换系数的扫描位置被分类为多个组,其中多个上下文被分配用于对针对属于各组的变换系数的符号信令比特进行熵编码,
其中确定用于对该符号信令比特进行熵编码的上下文还包括:
在所述多个组中确定与该符号信令比特对应的候选变换系数的扫描位置所属的组;以及
将分配给该组的上下文确定为用于对该符号信令比特进行熵编码的上下文。
15.根据权利要求1所述的视频解码方法,其中对每个符号信令比特进行解码还包括:
基于编码模式、块尺寸或与该符号信令比特对应的候选变换系数的分量通道信息来确定用于对该符号信令比特进行熵编码的上下文。
16.根据权利要求1所述的视频解码方法,其中通过应用多个不同的变换核来生成所述比特流中的所述变换系数集合,
其中对每个符号信令比特进行解码还包括:
基于被应用于生成与该符号信令比特对应的候选变换系数的变换核来确定用于对该符号信令比特进行熵编码的上下文。
17.根据权利要求16所述的视频解码方法,其中所述变换核包括多变换选择MTS和低频不可分离变换LFNST。
18.根据权利要求1所述的视频解码方法,其中生成针对所述候选变换系数集合的预测符号集合还包括:
生成针对所述候选变换系数集合的多个候选假设;以及
从所述多个候选假设中选择假设作为针对所述候选变换系数集合的预测符号集合。
19.一种视频解码装置,包括:
存储器,被配置为存储比特流,所述比特流包括候选变换系数集合和针对所述候选变换系数集合的符号信令比特序列;以及
处理器,耦接到所述存储器并且被配置为执行根据权利要求1至18中任一项所述的用于变换系数的符号预测的视频解码方法。
20.一种非暂态计算机可读存储介质,其中存储有指令,所述指令在由处理器执行时使所述处理器执行根据权利要求1至18中任一项所述的用于变换系数的符号预测的视频解码方法,
其中所述比特流被存储在在所述计算机可读存储介质中。
21.一种非暂态计算机可读存储介质,其中存储有比特流,所述比特流包括针对候选变换系数集合的符号信令比特序列,其中所述比特流能够通过根据权利要求1至18中任一项所述的用于变换系数的符号预测的视频解码方法来解码。
22.一种用于变换系数的符号预测的视频编码方法,包括:
由编码器的处理器生成与来自视频的视频帧的变换块相关联的候选变换系数集合的预测符号集合;
由所述处理器确定用于对针对所述候选变换系数集合的符号信令比特序列进行熵编码的一个或多个上下文;
由所述处理器根据所述一个或多个上下文对所述符号信令比特序列进行熵编码,其中所述符号信令比特被用于指示各候选变换系数的预测符号与针对所述候选变换系数集合的原始符号相比的正确性;以及
将候选变换系数的量化等级的编码数据和针对候选变换系数的编码的符号信令比特序列存储在比特流中。
23.根据权利要求22所述的视频编码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是基于与符号信令比特对应的所述候选变换系数集合的幅值确定的。
24.根据权利要求23所述的视频编码方法,其中确定用于对针对所述候选变换系数集合的所述符号信令比特序列进行熵编码的所述一个或多个上下文还包括:
将变换系数的幅值范围划分为多个幅值段;以及
向每个幅值段分配上下文以用于对针对属于每个幅值段的变换系数的符号信令比特进行熵编码。
25.根据权利要求24所述的视频编码方法,其中所述多个幅值段中每两个连续幅值段被阈值分隔开。
26.根据权利要求25所述的视频编码方法,其中所述阈值是在所述编码器中预编程的固定值。
27.根据权利要求25所述的视频编码方法,还包括:
确定所述阈值;以及
在所述比特流中将所述阈值用信号发送到解码器。
28.根据权利要求23所述的视频编码方法,还包括:
根据所述变换块的变换系数各自的幅值对所述变换块的变换系数进行重新排序;以及
从重新排序之后的变换系数中选择所述候选变换系数集合。
29.根据权利要求28所述的视频解码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是基于所述重新排序之后的变换系数的幅值确定的。
30.根据权利要求28所述的视频解码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是基于重新排序之前的变换系数的幅值确定的。
31.根据权利要求23所述的视频编码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是使用候选变换系数的量化等级确定的。
32.根据权利要求23所述的视频编码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是使用候选变换系数的量化索引确定的,每个量化索引是基于候选变换系数的量化等级和转换状态确定的。
33.根据权利要求22所述的视频编码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是基于候选变换系数的扫描位置确定的。
34.根据权利要求33所述的视频编码方法,其中确定用于对针对所述候选变换系数集合的所述符号信令比特序列进行熵编码的所述一个或多个上下文还包括:
将候选变换系数的扫描位置分类为多个组;以及
向每个组分配上下文发用于对针对属于每个组的变换系数的符号信令比特进行熵编码。
35.根据权利要求22所述的视频编码方法,其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是基于编码模式、块尺寸或每个候选变换系数的分量通道信息确定的。
36.根据权利要求22所述的视频编码方法,其中通过应用多个不同的变换核来生成所述变换系数集合的量化等级,
其中用于对所述符号信令比特序列进行熵编码的所述一个或多个上下文是基于被应用于生成候选变换系数的变换核确定的。
37.根据权利要求36所述的视频编码方法,其中所述变换核包括多变换选择MTS和低频不可分离变换LFNST。
38.根据权利要求22所述的视频编码方法,其中生成针对所述候选变换系数集合的所述预测符号集合还包括:
生成针对所述候选变换系数集合的多个候选假设;以及
从所述多个候选假设中选择假设作为针对所述候选变换系数集合的预测符号集合。
39.一种视频编码装置,包括:
处理器,被配置为执行根据权利要求22至38中任一项所述的用于变换系数的符号预测的视频解码方法;以及
存储器,耦接到所述处理器并且被配置为存储所述比特流。
40.一种非暂态计算机可读存储介质,其中存储有指令,所述指令在由处理器执行时使所述处理器执行根据权利要求22至38中任一项所述的用于变换系数的符号预测的视频编码方法,
其中所述比特流被存储在所述计算机可读存储介质中。
41.一种非暂态计算机可读存储介质,其中存储有通过根据权利要求22至38中任一项所述的用于变换系数的符号预测的视频编码方法编码的比特流。
CN202280083626.6A 2021-12-16 2022-12-16 用于基于块的视频编解码的符号预测 Pending CN118476228A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US63/290,307 2021-12-16
US202263300187P 2022-01-17 2022-01-17
USPCT/US2022/040442 2022-08-16
USPCT/US2022/043607 2022-09-15
USPCT/US2022/049264 2022-11-08
PCT/US2022/049264 WO2023086330A1 (en) 2021-11-10 2022-11-08 Sign prediction for block-based video coding
PCT/US2022/053150 WO2023114468A1 (en) 2021-12-16 2022-12-16 Sign prediction for block-based video coding

Publications (1)

Publication Number Publication Date
CN118476228A true CN118476228A (zh) 2024-08-09

Family

ID=87279730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280083626.6A Pending CN118476228A (zh) 2021-12-16 2022-12-16 用于基于块的视频编解码的符号预测

Country Status (2)

Country Link
CN (1) CN118476228A (zh)
WO (1) WO2023137217A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3023112A1 (fr) * 2014-06-27 2016-01-01 Bcom Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US20190208225A1 (en) * 2018-01-02 2019-07-04 Qualcomm Incorporated Sign prediction in video coding
JP7047119B2 (ja) * 2018-03-07 2022-04-04 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 変換領域における残差符号予測のための方法および装置
WO2019185980A1 (en) * 2018-03-27 2019-10-03 Nokia Technologies Oy Transform sign compression in video encoding and decoding

Also Published As

Publication number Publication date
WO2023137217A1 (en) 2023-07-20

Similar Documents

Publication Publication Date Title
CN112204969B (zh) 用于视频编解码的编解码自适应多重变换信息
CN112425164B (zh) 多个可分离变换选择的变换变体
WO2020186042A1 (en) Implicit transform selection in video coding
JP7455840B2 (ja) ビデオコーディングのためのツリーベース変換ユニット(tu)区分
JP2022538747A (ja) ルマ及びクロマ信号を処理するための方法及びシステム
EP3827590A1 (en) Rounding of motion vectors for adaptive motion vector difference resolution and increased motion vector storage precision in video coding
CN116868571A (zh) 对于帧间预测的改进的局部光照补偿
CN118476228A (zh) 用于基于块的视频编解码的符号预测
CN118556402A (zh) 用于基于块的视频编解码的符号预测
CN118235412A (zh) 基于块的视频编解码的符号预测
CN117981319A (zh) 用于基于块的视频编解码的符号预测
US20240223811A1 (en) Sign prediction for block-based video coding
US20240179348A1 (en) Sign prediction for block-based video coding
WO2023114468A1 (en) Sign prediction for block-based video coding
KR20240125959A (ko) 블록 기반 비디오 코딩을 위한 부호 예측
JP2024531144A (ja) ブロックベースのビデオ符号化のための符号予測
WO2024097377A1 (en) Methods and apparatus for transform training and coding
WO2023154574A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
EP4406223A1 (en) Methods and devices for decoder-side intra mode derivation
WO2023081322A1 (en) Intra prediction modes signaling
KR20220083709A (ko) 비디오 코딩을 위한 파라메트릭 그래프-기반 분리형 변환
KR20240087720A (ko) 비디오 코딩을 위한 다수의 변환 후보들의 적응적 결정
WO2023091688A1 (en) Methods and devices for decoder-side intra mode derivation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination