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

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

Info

Publication number
CN117859329A
CN117859329A CN202280055172.1A CN202280055172A CN117859329A CN 117859329 A CN117859329 A CN 117859329A CN 202280055172 A CN202280055172 A CN 202280055172A CN 117859329 A CN117859329 A CN 117859329A
Authority
CN
China
Prior art keywords
candidate
transform coefficients
transform
video
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
CN202280055172.1A
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 CN117859329A publication Critical patent/CN117859329A/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开的实施方式提供了一种用于在视频解码器侧进行变换系数符号预测的视频解码装置和方法。所述方法可以包括从去量化变换系数中选择候选变换系数集合。所述方法可以包括应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设。所述方法可以包括将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合。所述方法可以包括基于所述预测符号集合和从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号。所述方法可以包括基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。

Description

用于基于块的视频编解码的符号预测
相关申请的交叉引用
本申请基于2021年8月17日提交的美国临时申请号63/233,940并要求其优先权,所述美国临时申请的内容通过引用以其全文并入本文。
技术领域
本申请涉及视频编解码和压缩。更具体地,本申请涉及用于基于块的视频编解码中的符号预测的视频处理系统和方法。
背景技术
如数字电视、膝上型计算机或台式计算机、平板计算机、数字相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流式传输设备等各种电子设备都支持数字视频。电子设备通过通信网络发射和接收或以其他方式传送数字视频数据和/或将数字视频数据存储在存储设备上。由于通信网络的带宽容量有限并且存储设备的存储器资源有限,在将视频数据传送或存储之前,可以使用视频编解码以根据一种或多种视频编解码标准来压缩视频数据。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编解码(HEVC/H.265)、高级视频编解码(AVC/H.264)、运动图片专家组(MPEG)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等)进行,所述预测方法利用视频数据中固有的冗余。视频编解码旨在将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
发明内容
本公开的实施方式提供了一种用于在视频解码器侧进行变换系数符号预测的视频解码方法。所述视频解码方法可以包括由一个或多个处理器从去量化变换系数中选择候选变换系数集合以用于变换系数符号预测。所述去量化变换系数与来自视频的视频帧的变换块相关联。所述视频解码方法可以进一步包括由所述一个或多个处理器应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设。所述视频解码方法可以附加地包括由所述一个或多个处理器将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合。所述视频解码方法可以附加地包括由所述一个或多个处理器基于所述预测符号集合和从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号。所述视频解码方法可以附加地包括由所述一个或多个处理器基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。
本公开的实施方式还提供了一种用于在视频解码器侧进行变换系数符号预测的视频解码装置。所述视频解码装置可以包括被配置为存储包括多个视频帧的视频的存储器以及耦接到所述存储器的一个或多个处理器。所述一个或多个处理器可以被配置为从去量化变换系数中选择候选变换系数集合以用于所述变换系数符号预测。所述去量化变换系数与来自所述视频的视频帧的变换块相关联。所述一个或多个处理器可以被进一步配置为应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设。所述一个或多个处理器可以附加地被配置为将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合。所述一个或多个处理器可以附加地被配置为基于所述预测符号集合和从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号。所述一个或多个处理器可以附加地被配置为基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。
本公开的实施方式还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质中存储有指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行用于在视频解码器侧进行变换系数符号预测的视频解码方法。所述视频解码方法可以包括从去量化变换系数中选择候选变换系数集合以用于所述符号预测。所述去量化变换系数与来自视频的视频帧的变换块相关联。所述视频解码方法可以进一步包括应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设。所述视频解码方法可以进一步包括将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合。所述视频解码方法可以附加地包括基于所述预测符号集合和通过比特流从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号。所述视频解码方法可以附加地包括基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。所述比特流被存储在所述非暂态计算机可读存储介质中。
本公开的实施方式还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质中存储有可通过视频方法解码的比特流。所述视频方法包括从去量化变换系数中选择候选变换系数集合以用于变换系数符号预测。所述去量化变换系数与来自视频的视频帧的变换块相关联。所述视频方法包括应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设。所述视频方法包括将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合。所述视频方法包括基于所述预测符号集合和通过比特流从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号。所述视频方法包括基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。
应当理解的是,前述概括描述和以下详细描述均仅是示例而不是对本公开的限制。
附图说明
结合在本说明书中并构成本说明书的一部分的附图图示了与本公开一致的示例,并与该描述一起用于解释本公开的原理。
图1是图示了根据本公开的一些实施方式的用于对视频块进行编码和解码的示例性系统的框图。
图2是图示了根据本公开的一些实施方式的示例性视频编码器的框图。
图3是图示了根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是图示了根据本公开的一些实施方式的如何将帧递归地分区成具有不同尺寸和形状的多个视频块的图形表示。
图5是图示了根据一些示例的系数组中的变换系数的左上扫描顺序的图形表示。
图6是图示了根据一些示例的低频不可分离变换(LFNST)过程的图形表示。
图7是图示了根据一些示例的输入到前向LFNST的初级变换系数的左上区域的图形表示。
图8是图示了根据一些示例的帧内模板匹配的搜索区域的图形表示。
图9是图示了根据一些示例的符号预测的示例性过程的图形表示。
图10是图示了根据一些示例的用于符号预测的成本函数的计算的图形表示。
图11是图示了根据本公开的一些实施方式的基于块的视频编解码中的示例性符号预测过程的框图。
图12是图示了根据本公开的一些实施方式的基于模板的线性组合的示例性假设生成的图形表示。
图13A是图示了根据一些示例的现有符号预测方案的示例性实施方式的图形表示。
图13B是图示了根据本公开的一些实施方式的基于矢量的符号预测方案的示例性实施方式的图形表示。
图14A是图示了根据本公开的一些实施方式的沿着左对角线方向的左对角线成本函数的示例性计算的图形表示。
图14B是图示了根据本公开的一些实施方式的沿着右对角线方向的右对角线成本函数的示例性计算的图形表示。
图15是根据本公开的一些实施方式的用于基于块的视频编解码中的符号预测的示例性方法的流程图。
图16是根据本公开的一些实施方式的用于基于块的视频编解码中的符号预测的另一示例性方法的流程图。
图17是图示了根据本公开的一些实施方式的与用户界面耦接的计算环境的框图。
图18是根据本公开的一些实施方式的用于在视频解码器侧进行变换系数符号预测的示例性视频解码方法的流程图。
具体实施方式
现在将详细参考具体实施方式,附图中图示了这些实施方式的示例。在以下详细描述中,阐述了许多非限制性的具体细节,以便帮助理解本文提出的主题。但是对于本领域的普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可以使用各种替代性方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文提出的主题可以在具有数字视频能力的许多类型的电子设备上实施。
应该说明的是,在本公开的说明书、权利要求和附图中使用的术语“第一”、“第二”等用于区分对象,而不是用于描述任何特定的顺序或序列。应当理解,以这种方式使用的数据可以在适当的条件下互换,使得本文所描述的本公开的实施例可以以除了附图中所示或本公开中所描述的那些顺序之外的顺序来实施。
图1是图示了根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1所示,系统10包括源设备12,所述源设备生成并编码要由目的地设备14在稍后时间解码的视频数据。源设备12和目的地设备14可以包括多种电子设备中的任一种,所述多种电子设备包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收要解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12转发到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括用于使源设备12能够实时地将已编码视频数据直接传输到目的地设备14的通信介质。已编码视频数据可以根据如无线通信协议等通信标准来调制并传输到目的地设备14。通信媒体可以包括任何无线或有线通信媒体,如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络(如局域网、广域网、或全球网(如因特网))的一部分。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备12到目的地设备14的通信的任何其他装置。
在一些其他实施方式中,已编码视频数据可以从输出接口22传输到存储设备32。随后,存储设备32中的已编码视频数据可以由目的地设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任一种,如硬盘驱动器、蓝光光盘、数字通用盘(DVD)、光碟只读存储器(CD-ROM)、闪速存储器、易失性存储器或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于可以存储由源设备12生成的已编码视频数据的文件服务器或另一个中间存储设备。目的地设备14可以经由流式传输或下载从存储设备32访问所存储的视频数据。文件服务器可以是能够存储已编码视频数据并且将已编码视频数据传输到目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附加存储(NAS)设备、或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接访问已编码视频数据,所述连接包括适于访问存储在文件服务器上的已编码视频数据的无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)、或其任何组合。从存储设备32传输已编码视频数据可以是流式传输、下载传输、或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括如视频捕获设备等源,例如摄像机、包含先前捕获的视频的视频档案、用于从视频内容提供方接收视频数据的视频馈送接口和/或用于生成计算机图形数据作为源视频的计算机图形系统或这些源的组合。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目的地设备14可以包括拍照电话或视频电话。然而,本公开中描述的实施方式通常可以适用于视频编解码并且可以应用于无线和/或有线应用。
捕获的、预先捕获的、或计算机生成的视频可以由视频编码器20进行编码。已编码视频数据可以经由源设备12的输出接口22直接传输到目的地设备14。已编码视频数据也可以(或替代性地)存储到存储设备32上,以供目的地设备14或其他设备以后访问,以进行解码和/或回放。输出接口22可以进一步包括调制解调器和/或发射器。
目的地设备14包括输入接口28、视频解码器30、以及显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收已编码视频数据。通过链路16传送的或提供在存储设备32上的已编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30用于解码视频数据。这种语法元素可以被包括于在通信介质上传输的、存储在存储介质上的、或存储在文件服务器上的已编码视频数据内。
在一些实施方式中,目的地设备14可以包括显示设备34,所述显示设备可以是集成显示设备和被配置为与目的地设备14通信的外部显示设备。显示设备34为用户显示已解码视频数据并且可以包括各种显示设备中的任一种,如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(如VVC、HEVC、MPEG-4第10部分、AVC、或这种标准的扩展)进行操作。应当理解,本公开不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常设想,源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行编码。类似地,通常还设想,目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行解码。
视频编码器20和视频解码器30各自可以实施为各种合适的编码器和/或解码器电路中的任一种,如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地在软件中实施时,电子设备可以将用于软件的指令存储在合适的非暂态计算机可读介质中并且使用一个或多个处理器在硬件中执行指令以执行本公开中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以包括在一个或多个编码器或解码器中,所述一个或多个编码器或解码器中的任一个可以集成为相应设备中的组合编码器/解码器(CODEC)的一部分。
图2是图示了根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行对视频帧内的视频块的帧内预测编解码和帧间预测编解码。帧内预测编解码依赖于空间预测来减少或去除给定视频帧或图片内的视频数据的空间冗余。帧间预测编解码依赖于时间预测以减少或去除视频序列的邻近视频帧或图片内的视频数据的时间冗余。应该注意的是,在视频编解码领域,术语“帧”可以用作术语“图像”或“图片”的同义词。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、已解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54、以及熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分区单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重建的逆量化单元58、逆变换处理单元60、以及加法器62。如去块滤波器等环路滤波器63可以位于加法器62与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)。视频帧是或可以被看作是具有样点值的二维样点阵列或矩阵。阵列中的样点也可以称为像素(pixel或pel)。阵列或图片的水平和垂直方向(或轴)上的许多样点定义了视频帧的尺寸和/或分辨率。例如,可以通过使用QT分区将视频帧划分为多个视频块。视频块再次是或可以被看作是具有样点值的二维样点阵列或矩阵,但是其维度小于视频帧。视频块的水平和垂直方向(或轴)上的许多样点定义了视频块的尺寸。可以通过例如迭代地使用QT分区、二叉树(BT)分区、三叉树(TT)分区或其任何组合将视频块进一步分区为一个或多个块分区或子块(这些子块可以再次形成块)。应该注意的是,本文使用的术语“块”或“视频块”可以是帧或图片的一部分,特别是矩形(正方形或非正方形)部分。例如,参照HEVC和VVC,块或视频块可以是或对应于编码树单元(CTU)、CU、预测单元(PU)或变换单元(TU),和/或可以是或对应于对应的块(例如,编码树块(CTB)、编码块(CB)、预测块(PB)或变换块(TB))。替代性地或附加地,块或视频块可以是或对应于CTB、CB、PB、TB等的子块。
预测处理单元41可以基于误差结果(例如,编码率和失真水平)为当前视频块选择多个可能的预测编码模式之一,如多个帧内预测编码模式之一或多个帧间预测编码模式之一。预测处理单元41可以将所得的帧内预测编码块或帧间预测编码块(例如,预测块)提供给加法器50以生成残差块,并且提供给加法器62以重建已编码块以随后用作参考帧的一部分。预测处理单元41还将如运动矢量、帧内模式指示符、分区信息、以及其他这种语法信息等语法元素提供给熵编码单元56。
为了为当前视频块选择适当的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与要编码的当前块相同的帧中的一个或多个相邻块执行对当前视频块的帧内预测编码,以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块执行对当前视频块的帧间预测编码,以提供时间预测。视频编码器20可以执行多个编解码通道,例如,以便为视频数据的每个块选择适当的编解码模式。
在一些实施方式中,运动估计单元42根据视频帧序列内的预定模式通过生成运动矢量来确定当前视频帧的帧间预测模式,所述运动矢量指示当前视频帧内的视频块相对于参考帧内的预测块的位移。由运动估计单元42执行的运动估计可以是生成运动矢量的过程,所述过程可以估计视频块的运动。运动矢量例如可以指示当前视频帧或图片内的视频块相对于参考帧内的预测块的位移。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定运动矢量以进行帧间预测的方式类似的方式确定用于进行帧内BC编码的矢量(例如,块矢量),或者可以利用运动估计单元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可以集成在一起,所述运动估计单元和运动补偿单元出于概念性目的而在图2中分别图示。
在一些实施方式中,帧内BC单元48可以以与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式来生成矢量并且获取预测块,但是其中预测块与被编码的当前块处于同一帧中,并且其中相对于运动矢量,所述矢量被称为块矢量。具体地,帧内BC单元48可以确定帧内预测模式以用于对当前块进行编码。在一些示例中,帧内BC单元48可以例如在单独的编码通道期间使用各种帧内预测模式对当前块进行编码,并且通过率失真分析来测试其性能。接下来,帧内BC单元48可以在各种经测试帧内预测模式中选择适当的帧内预测模式来使用并相应地生成帧内模式指示符。例如,帧内BC单元48可以使用针对各种测试的帧内预测模式的率失真分析来计算率失真值并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为要使用的适当的帧内预测模式。率失真分析通常确定已编码块与原始的未编码块(被编码以产生已编码块)之间的失真(或误差)量以及用于产生已编码块的比特率(即,比特数)。帧内BC单元48可以根据各个已编码块的失真和速率来计算比值,以确定哪个帧内预测模式展现出块的最佳率失真值。
在其他示例中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44,以根据本文描述的实施方式执行用于帧内BC预测的这种功能。在任一种情况下,对于帧内块复制,预测块可以是就像素差而言被认为与要编码的块紧密匹配的块,所述像素差可以由SAD、SSD或其他差值度量来确定,并且预测块的识别可以包括计算子整数像素位置的值。
无论预测块是根据帧内预测来自同一帧还是根据帧间预测来自不同帧,视频编码器20都可以通过从被编解码的当前视频块的像素值中减去预测块的像素值从而形成像素差值来形成残差块。形成残差块的像素差值可以包括亮度分量差值和色度分量差值。
如上文描述的,帧内预测处理单元46可以对当前视频块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测、或者由帧内BC单元48执行的帧内块复制预测的替代方案。具体地,帧内预测处理单元46可以确定帧内预测模式以用于对当前块进行编码。例如,帧内预测处理单元46可以例如在单独的编码通道期间使用各种帧内预测模式对当前块进行编码,并且帧内预测处理单元46(或在一些示例中为模式选择单元)可以从经测试帧内预测模式中选择适当的帧内预测模式来使用。帧内预测处理单元46可以将指示块的所选帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以对指示比特流中的所选帧内预测模式的信息进行编码。
在预测处理单元41经由帧间预测或帧内预测确定当前视频块的预测块之后,加法器50通过从当前视频块中减去预测块来形成残差块。残差块中的残差视频数据可以被包括在一个或多个TU中,并且被提供给变换处理单元52。变换处理单元52使用如离散余弦变换(DCT)或概念上类似的变换等变换将残差视频数据变换为变换系数。
变换处理单元52可以将所得的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减小与系数中的一些或所有系数相关联的位深度。量化程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括经量化的变换系数的矩阵的扫描。替代性地,熵编码单元56可以执行扫描。
量化之后,熵编码单元56可以使用熵编码技术将量化变换系数编码为视频比特流,例如使用上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分区熵(PIPE)编解码或其他熵编码方法或技术。然后可以将已编码比特流传输到如图1所示的视频解码器30,或将其存档到如图1所示的存储设备32中,以供以后传输到视频解码器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)、或其他类型的存储器设备。为了说明目的,在图3中将视频数据存储器79和DPB 92描绘为视频解码器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存储用于对接下来的视频块进行后续运动补偿的参考帧。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中的一个。但是应当注意,本公开中的CTU不必限于特定的尺寸。如图4B所示,每个CTU可以包括亮度样点的一个CTB、色度样点的两个对应的编码树块以及用于对编码树块的样点进行编解码的语法元素。语法元素描述像素的编解码块的不同类型的单元的属性以及可以如何在视频解码器30处重建视频序列,所述语法元素包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独的色彩平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编解码的语法元素。编解码树块可以是N×N样点块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分区(如二叉树分区、三叉树分区、四叉树分区或其组合),并且将CTU划分为较小的CU。如图4C描绘的,首先将64×64CTU 400划分为四个较小的CU,每个CU的块尺寸为32×32。在四个较小的CU中,CU 410和CU 420按块尺寸各自划分为四个16×16的CU。两个16×16CU 430和440按块尺寸各自进一步划分为四个8×8的CU。图4D描绘了图示了如图4C中所描绘的CTU 400的分区过程的最终结果的四叉树数据结构,四叉树的每个叶节点对应于相应尺寸在32×32至8×8范围内的一个CU。类似于图4B描绘的CTU,每个CU可以包括亮度样点的CB和相同尺寸的帧的色度样点的两个对应的编码块,以及用于对编码块的样点进行编解码的语法元素。在单色图片或具有三个单独的色彩平面的图片中,CU可以包括单个编码块和用于对编码块的样点进行编解码的语法结构。应当注意,图4C和图4D中描绘的四叉树分区仅用于说明目的,并且可以将一个CTU分割成多个CU以适应基于四叉树/三叉树/二叉树分区的不同的局部特性。在多类型树结构中,一个CTU被四叉树结构分区,并且每个四叉树叶CU可以进一步被二叉树结构或三叉树结构分区。如图4E所示,具有宽度W和高度H的编码块存在多种可能的分区类型,即,四叉分区、垂直二叉分区、水平二叉分区、垂直三叉分区、垂直扩展三叉分区、水平三叉分区和水平扩展三叉分区。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分区为一个或多个M×N PB。PB可以包括应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的PU可以包括亮度样点的PB、色度样点的两个对应的PB以及用于对PB进行预测的语法元素。在单色图片或具有三个单独的色彩平面的图片中,PU可以包括单个PB和用于对PB进行预测的语法结构。视频编码器20可以生成CU的每个PU的亮度、Cb和Cr PB的预测亮度、Cb和Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除与PU相关联的帧之外的一个或多个帧的已解码样点来生成PU的预测块。
在视频编码器20生成CU的一个或多个PU的预测亮度、Cb和Cr块之后,视频编码器20可以通过从其原始亮度编码块中减去CU的预测亮度块来生成CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编码块中的对应样点之间的差。类似地,视频编码器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-frameprediction)(或帧内预测(intra-prediction))和帧间预测(inter-frame prediction)(或帧间预测(inter-prediction))来实现视频压缩。应注意的是,帧内块复制(IBC)可以被认为是帧内预测或第三模式。在这两种模式之间,由于使用用于从参考视频块中预测当前视频块的运动矢量,因此帧间预测比帧内预测对编码效率的贡献更大。
但是随着不断改进的视频数据捕获技术和用于保留视频数据中的细节的更精细的视频块大小,表示当前帧的运动矢量所需的数据量也大幅度增加。克服这个挑战的一种方式是受益于以下事实:不仅空间域和时间域中的一组相邻CU具有用于预测目的的类似视频数据,而且这些相邻CU之间的运动矢量也类似。因此,可以通过探索CU的空间和时间相关性,将空间上相邻的CU和/或时间上并置的CU的运动信息用作当前CU的运动信息(例如,运动矢量)的近似值,所述近似值也被称为当前CU的“运动矢量预测值”(MVP)。
代替将当前CU的实际运动矢量编码为视频比特流(例如,由如上文结合图2描述的运动估计单元42确定的实际运动矢量),从当前CU的实际运动矢量中减去当前CU的运动矢量预测值,以产生当前CU的运动矢量差(MVD)。这样做,不需要将由运动估计单元42针对帧的每个CU确定的运动矢量编码为视频比特流,并且可以显著减少用于表示视频比特流中的运动信息的数据量。
像在编码块的帧间预测期间在参考帧中选择预测块的过程一样,可以由视频编码器20和视频解码器30两者采用一组规则以用于使用与当前CU的在空间上相邻的CU和/或在时间上并置的CU相关联的那些潜在候选运动矢量来构造当前CU的运动矢量候选列表(也称为“合并列表”),并且然后从运动矢量候选列表中选择一个成员作为当前CU的运动矢量预测值。这样做,不需要将运动矢量候选列表本身从视频编码器20传输到视频解码器30,并且运动矢量候选列表内的所选运动矢量预测值的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内相同的运动矢量预测值来对当前CU进行编码和解码。因此,只有所选运动矢量预测值的索引需要从视频编码器20发送到视频解码器30。
本文提供了关于基于块的视频编解码过程中(例如,在增强压缩模型(ECM)中)的变换系数编解码的简要讨论。具体地,首先将每个变换块划分为多个系数组(CG),其中,每个系数组包括用于亮度分量的4×4子块和用于色度分量的2×2子块的变换系数。变换块中的变换系数的编解码是以系数组为单位执行的。例如,基于第一预定扫描顺序来扫描和编解码变换块内部的系数组。当对每个系数组进行编解码时,基于每个子块内的第二预定扫描顺序来扫描所述系数组的变换系数。在ECM中,应用相同的左上扫描顺序以扫描变换块内的系数组和每个系数组中的不同变换系数(例如,第一预定扫描顺序和第二预定扫描顺序都是左上扫描顺序)。图5是图示了根据一些示例的系数组中的变换系数的左上扫描顺序的图形表示。图5中的数字0-15指示系数组中每个变换系数的对应扫描顺序。
根据ECM中的变换系数编解码方案,首先针对每个变换块用信号传输标志,以指示变换块是否包括任何非零变换系数。在变换块中至少存在非零变换系数的情况下,根据左上扫描顺序扫描的最后一个非零变换系数的位置被明确地从视频编码器20用信号传输到视频解码器30。在用信号传输最后一个非零变换系数的位置的情况下,进一步针对在最后一个系数组(即,包括最后一个非零系数的系数组)之前编解码的所有系数组用信号传输标志。对应地,标志的数目指示相应系数组是否包括非零变换系数。如果系数组的标志等于零(指示系数组中的所有变换系数都是零),则不需要为系数组发送进一步的信息。否则(例如,系数组的标志等于一),根据扫描顺序在比特流中用信号传输系数组中每个变换系数的绝对值和符号。然而,在现有设计中,变换系数的符号被旁路编解码(例如,不应用上下文模型),导致当前设计中的变换编解码效率低下。与本公开一致,下面更详细地描述具有变换系数的符号预测的改进的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前向LFNST 604,可以存在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基于直接矩阵乘法,所述直接矩阵乘法在计算操作和存储变换系数的存储器源方面是昂贵的。因此,可以在LFNST设计中使用减小的不可分离变换核,以通过将N维矢量映射到不同空间中的R维矢量来降低LFNST过程的实施成本,其中,R<N。例如,在前向LFNST 604中使用R×N矩阵作为变换核,而不是将N×N矩阵用于变换核,如表达式(4)所示:
在上述表达式(4)中,通过选择原始N维变换核(即,N×N)的前R个基来生成TR×N中的R个基矢量。附加地,假定TR×N是正交的,则逆LFNST 608的逆变换矩阵是前向变换矩阵TR×N的转置。
对于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
在一些示例中,因为如果第一个16×16子块之外的所有变换系数都为零,则LFNST被限制为应用于帧内块,所以LFNST索引信令取决于最后一个有效(即,非零)变换系数的位置。例如,对于4×4和8×8编码块,仅当最后一个有效变换系数的位置小于8时才用信号传输LFNST索引。对于其他编码块尺寸,仅当最后一个有效变换系数的位置小于16时才用信号传输LFNST索引。否则(即,未用信号传输LFNST索引),则LFNST索引被推断为零,即LFNST被禁用。
此外,为了减小用于缓存变换系数的缓冲器的尺寸,当当前编码块的宽度或高度大于序列参数集(SPS)中用信号传输的最大变换尺寸(即,64)时,不允许LFNST。同时,LFNST仅在初级变换为DCT2时应用。此外,LFNST应用于帧内和帧间条带中的帧内编码块以及亮度和色度分量。如果启用了双树或局部树(其中,亮度分量和色度分量的分区未对准),则分别针对亮度分量和色度分量用信号传输LFNST索引(即,亮度分量和色度分量可以应用不同LFNST变换)。否则,当应用单个树时(其中,亮度分量和色度分量的分区对准),LFSNT仅应用于具有用信号传输的单个LFNST索引的亮度分量。
ECM中的LFNST设计与VVC中的LFNST设计类似,不同之处在于引入了附加LFNST核,以对大块尺寸的残差样点提供更好的能量压缩。具体地,当变换块的宽度或高度不小于16时,将新的LFNST变换引入到从初级变换生成的低频变换系数的左上区域。在当前ECM中,如图7所示,低频区域包括初级变换系数的左上角中的六个4×4子块(例如,图7中用灰色示出的六个4×4子块)。在这种情况下,前向LFNST 604的系数输入的数量是96。附加地,为了控制最坏情况下的计算复杂度,将前向LFNST 604的系数输出的数量设置为32。具体地,对于W>=16和H>=16的W×H变换块,应用32×96前向LFNST,所述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标志等于零,则在水平和垂直方向上应用DCT2。如果MTS CU标志等于一,则附加地用信号传输另外两个标志,以分别指示水平方向和垂直方向的变换类型。MTS水平和垂直控制标志与所应用变换之间的映射如下表2所示。
表2
关于变换矩阵的精度,所有MTS变换系数都是6位精度,这与DCT2核心变换相同。假定VVC支持HEVC中使用的所有变换尺寸,则HEVC中所用的所有变换核保持与WC相同,包括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)。此外,MTS设置取决于TU尺寸和帧内模式信息。可以考虑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随后用信号传输该模式的使用,并且在解码器侧执行相同的预测操作。如图8所示,通过将当前块的L形因果邻居与预定搜索区域中的另一块匹配来生成预测信号,所述预定搜索区域包括:(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,当与WC中的变换系数的旁路编码符号相比时,其可以由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,而所有其他系数都等于零。假定逆变换(例如,DCT、DST)是线性的,则可以通过预先计算的模板集合的线性组合来生成对应的假设。
在一些实施方式中,将预测符号分类为两个集合,并且每个集合由单个CABAC上下文编解码。例如,第一集合包括在变换块的左上角处的变换系数的预测符号,而第二集合包括在变换块的所有其他位置处的变换系数的预测符号。
本文指出了符号预测方案当前设计中存在的几个示例性缺陷。在第一示例中,当前ECM中的符号预测仅适用于仅应用初级变换(例如,DCT和DST变换)的变换块中的变换系数的符号预测。如上所述,LFNST可以应用于来自初级变换的变换系数,以提供对帧内编码块的残差样点更好的能量压缩。然而,对于在当前ECM设计中应用LFNST的变换块,符号预测被绕过。
在第二个示例中,为变换块确定预测符号的预定最大数量(表示为“Lmax”),以控制符号预测的复杂性。在当前ECM中,视频编码器基于复杂度和编解码效率之间的折衷来确定最大数目的值(例如,Lmax=8),并将所述值发送到视频解码器。此外,对于每个变换块,视频编码器或解码器可以按栅格扫描顺序扫描所有变换系数,并且第一Lmax非零变换系数被选择为符号预测的候选变换系数。就符号预测的精度而言,对变换块中的不同变换系数的这种相等处理可能不是最佳的。例如,对于具有相对较大幅值的变换系数,对其符号的预测可能具有实现正确预测的更好机会。这是因为针对那些变换系数使用不正确的符号对块边界上的重建的样点产生的影响往往比通过使用具有相对较小幅值的变换系数所产生的影响更大。
在第三个示例中,视频编码器或解码器可以对预测符号的正确性进行编解码,而不是直接对显式符号值进行编解码。例如,对于具有正符号的变换系数,如果其预测符号也是正的,则在从视频编码器到视频解码器的比特流中只需要指示二进制位“0”。在这种情况下,预测符号与变换系数的真符号(或原始符号)相同,表明该变换系数的符号预测是正确的。否则(例如,如果预测符号为负,而真符号为正),则可以在从视频编码器到视频解码器的比特流中包括二进制位“1”。如果所有符号都被正确预测,则比特流中指示的对应二进制位是零,这可以通过CABAC高效地进行熵编码。如果一些符号被不正确地预测,则比特流中指示的对应二进制位是一。尽管算术编码加上适当的上下文模型可以高效地根据它们的对应概率来对二进制位进行编解码,但是在比特流中仍然存在不可忽略的比特来指示符号值。
在第四个示例中,在ECM中符号预测的当前设计中,使用当前块与其相邻块之间边界处的样点之间的空间不连续性来选择最佳符号预测组合。利用沿垂直方向和水平方向的梯度差的L1范数来捕获空间不连续性。然而,由于图像信号的分布通常是不均匀的,因此仅使用垂直和水平方向可能无法准确地捕获空间不连续性。
与本公开一致,本文提供了一种用于基于块的视频编解码中的符号预测的视频处理方法和系统,以解决上述示例性缺陷中的一个或多个。本文公开的方法和系统可以提高符号预测的编解码效率,同时考虑了硬件编解码器实施方式的友好性。本文公开的方法和系统可以提高将符号预测技术应用于变换块的变换系数的变换块的编解码效率。
例如,如上所述,符号预测可以基于位于变换块和其空间相邻块的边界处或靠近所述边界的边界(boundary)样点(也称为边界(border)样点)之间的相关性来预测变换块中变换系数的符号。假设相关性的存在与应用哪种特定变换无关,则两种编解码工具(即,LFNST和符号预测)不会相互干扰,并且可以联合应用。附加地,因为LFNST进一步压缩了初级变换的变换系数的能量,所以LFNST的变换系数符号预测可以比初级变换的符号预测更准确。这是因为来自LFNST的变换系数的不正确符号预测可能在边界样点的平滑度上产生更多差异。因此,与本公开一致,本文公开了一种协调方案,以使得LFNST和符号预测的组合能够增强变换系数编解码的编解码效率。此外,本文还公开了一种基于模板的假设生成方案,用于重建预测符号的不同组合的边界样点,以减少逆变换的数量。
在另一个示例中,不是如上所述在选择符号预测的候选变换系数时对变换块中的不同变换系数给予同等处理,而是可以对可能导致相邻块的边界样点之间的差异的变换系数给予更高的权重,假定更容易预测那些变换系数的符号。与本公开一致,本文公开的方法和系统可以基于一个或多个选择标准来选择符号预测的候选变换系数(例如,针对变换块被预测符号的变换系数),以提高符号预测的准确性。例如,选择对重建的边界样点影响较大的变换系数(而不是对重建的边界样点影响较小的变换系数)作为符号预测的候选变换系数,从而可以提高符号预测的精度。
在又另一个示例中,当以高准确率预测变换块中变换系数的符号时(例如,预测符号的正确性高于阈值,如80%或90%),变换块和其相邻块的边界样点之间存在强相关性。在这种情况下,通常会出现对于大多数场景可以正确预测的连续变换系数(例如,特别是对于变换块开始处的少数非零变换系数)。在这样的场景中,可以使用单个二进制位(而不是多个二进制位)来指示是否正确地预测了所有连续变换系数的符号,以节省符号预测的信令开销。与本公开一致,本文公开了一种基于矢量的符号预测方案,以减少符号预测的信令开销。与单独预测每个非零变换系数的符号的现有符号预测不同,所公开的基于矢量的符号预测方案将连续的非零候选变换系数集合分组,并一起预测它们的对应符号,从而可以高效地减少用于指示预测符号的正确性的二进制位(或比特)的平均数量。
在仍又另一个示例中,仅使用垂直和水平方向可能无法准确捕获当前块与其相邻块之间边界处样点之间的空间不连续性。因此,可以引入更多的方向来更准确地捕获空间不连续性。与本公开一致,本文公开了一种改进的成本函数,其考虑了垂直和水平方向的梯度以及对角线方向的梯度,以更准确地捕获空间不连续性。
图11是图示了根据本公开的一些实施方式的基于块的视频编解码中的示例性符号预测过程1100的框图。在一些实施方式中,符号预测过程1100可以由变换处理单元52执行。在一些实施方式中,符号预测过程110可以由视频编码器20或解码器30的一个或多个处理器(例如,一个或多个视频处理器)执行。在整个本公开中,LFNST用作次级变换的示例而不失一般性。可以设想,次级变换的其他示例也可以应用于本文。
在ECM的现有设计中,对应用LFNST的变换块禁用符号预测。然而,符号预测的原理是基于变换块和其空间相邻块的边界样点之间的相关性来预测变换系数的符号,这不取决于应用于变换块的特定变换类型(例如,它是初级变换还是次变换)或变换核(例如,它是DCT还是DST)。因此,符号预测和LFNST可以一起应用,以进一步提高本文的变换编解码的效率。与本公开一致,符号预测过程1100可以应用于预测联合应用初级变换和次级变换的变换块中的变换系数的符号。
本文提供了符号预测过程1100的示例性概述。最初,符号预测过程1100可以通过将初级变换和次级变换应用于来自视频的视频帧的变换块以生成用于变换块的变换系数来执行系数生成操作1102。接下来,符号预测过程1100可以通过从变换系数中选择候选变换系数集合以用于符号预测来执行系数选择操作1104。随后,符号预测过程1100可以通过应用基于模板的假设生成方案以为候选变换系数集合从多个候选假设中选择假设来执行假设生成操作1106。附加地,符号预测过程1100可以通过将与所选假设相关联的符号候选组合确定为用于候选变换系数集合的预测符号集合来执行符号生成操作1108。下面分别更详细地描述操作1102、操作1104、操作1106和操作1108。
例如,视频编码器20的变换处理单元52可以通过联合应用初级变换和次级变换来将残差视频数据变换为变换块的变换系数(例如,如图6所示,其中,一起应用前向初级变换603和前向LFNST 604)。基于如下所述的一个或多个选择标准,可以从变换块的变换系数中选择预定数量(例如,L个)的非零变换系数作为候选变换系数,其中,1≤L≤可以预测的符号的最大数量。接下来,通过应用基于模板的假设生成方案,可以分别使用L个候选变换系数的不同符号候选组合来生成多个候选假设,这可以产生总共2L个候选假设。每个候选假设可以包括在变换块的上边界和左边界上的重建的样点。然后,可以使用成本函数来计算每个候选假设重建的成本,所述成本函数包含沿水平、垂直和对角线方向的组合梯度。来自多个候选假设的与最小成本相关联的候选假设可以被确定为用于预测L个候选变换系数的符号的假设。例如,用于生成与最小成本相关联的候选假设的符号候选组合被用作L个候选变换系数的预测符号。
首先,符号预测过程1100可以执行系数生成操作1102,其中,可以将初级/变换(例如,DCT、DST等)和次级变换(例如,LFNST)联合应用于变换块,以生成变换块的变换系数。例如,初级变换可以应用于变换块以生成变换块的初级变换系数。然后,LFNST可以应用于变换块,以基于初级变换系数生成LFNST变换系数。
符号预测过程1100可以继续执行系数选择操作1104,其中,可以基于一个或多个选择标准从变换块的变换系数中选择用于符号预测的候选变换系数集合。通过选择候选变换系数,可以最大化可以正确预测的候选变换系数的数量,并且可以提高符号预测的精度。
在一些实施方式中,可以基于变换系数的幅值从变换块的变换系数中选择候选变换系数集合。例如,候选变换系数集合可以包括一个或多个变换系数,所述一个或多个变换系数的幅值比变换块中的剩余变换系数的幅值更大。
通常,对于幅值较大的变换系数,这些变换系数的预测符号更有可能是正确的。这是因为这些具有较大幅值的变换系数往往对重建的样点的质量具有更大的影响,并且对这些变换系数使用不正确的符号可能更有可能在变换块与其空间相邻块的边界样点之间产生不连续性。基于该原理,可以基于变换块中的非零变换系数的幅值从变换块的变换系数中选择候选变换系数集合以用于符号预测。例如,可以对变换块中的所有非零变换系数进行扫描和排序,以根据其幅值的降序形成系数列表。可以从系数列表中选择幅值最大的变换系数并将其作为第一候选变换系数放置在候选变换系数集合中,可以从系数表中选择幅值第二大的变换系数并且将其作为第二候选变换系数放置在候选变换系数集合中,以此类推,直到所选候选变换系数的数目达到预定数目L为止。在一些实施方式中,当选择候选变换系数集合时,变换系数的量化索引可以用于表示变换系数的幅值。
在一些实施方式中,可以基于视频编解码中应用的熵编码的系数扫描顺序来从变换块的变换系数中选择候选变换系数集合。由于自然视频内容可能具有丰富的低频信息,因此从视频内容的处理中获得的非零变换系数的幅值在低频位置处趋于较大,而在高频位置处趋于较小。因此,系数扫描顺序(如Z字形扫描、左上扫描、水平扫描或垂直扫描等)可以在现代视频编解码器中用于扫描变换块中的变换系数以进行熵编码。通过使用该系数扫描顺序,在具有较小幅值(通常对应于较高频率)的变换系数之前扫描具有较大幅值(通常对应于较低频率)的变换系数。基于该原理,可以基于用于熵编码的系数扫描顺序从变换块的变换系数中选择用于本文公开的符号预测的候选变换系数集合。例如,可以通过使用系数扫描顺序扫描变换块中的所有变换系数来获得系数列表。然后,可以自动选择系数列表中的前L个非零变换系数作为用于符号预测的候选变换系数集合。
在一些实施方式中,对于帧内编码块,可以基于块的帧内预测方向从块的变换系数中选择用于符号预测的候选变换系数集合。例如,可以在视频编码器20和视频解码器30处确定与帧内预测方向(例如,VVC和ECM中的67个帧内预测方向)相干的多个扫描顺序并将其存储为查找表。当对帧内块的变换系数进行编解码时,视频编码器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)处的变换系数的影响评分。
在另一个示例中,可以用L2范数代替上述表达式(6)中的L1范数,从而可以使用L2范数如下计算影响评分(例如,对由变换系数引起的重建的边界样点上的变化的能量的测量):
与本公开一致,尽管在上述表达式(6)和(7)中,仅使用上和左边界样点(例如,如Ti,j(0,n)和Ti,j(m,0)所示)进行计算,但是本文公开的变换系数选择方案还可以通过改变在对应的成本函数中使用的当前变换块的重建的样点来应用于任何符号预测方案。
符号预测过程1100可以继续执行假设生成操作1106,其中,可以应用基于模板的假设生成方案来为候选变换系数集合从多个候选假设中选择假设。最初,可以基于包括在候选变换系数集合中的系数的总数来为候选变换系数集合确定多个符号候选组合。例如,如果总共有L个候选变换系数,则候选变换系数集合的多个符号候选组合可以是2L个符号候选组合。每个符号候选可以是负符号(-)或正符号(+)。每个符号候选组合可以包括总共L个负符号或正符号。例如,如果L=2,则多个符号候选组合可以包括22=4个符号候选组合,它们分别是(+,+)、(+,-)、(-,-)和(-,-)。
接下来,可以应用基于模板的假设生成方案以分别为多个符号候选组合生成多个候选假设。为了降低需要执行的逆初级和次级变换的复杂性,可以将本文公开的基于模板的假设生成方案用于优化变换块的重建的边界样点的生成。本文公开了用于实施基于模板的假设生成方案的两种示例性方法。可以设想,用于实施基于模板的假设生成方案的其他示例性方法是可能的,其不限于此。
在第一示例性方法中,可以基于模板的线性组合生成每个符号候选组合的对应候选假设,从而可以分别为多个符号候选组合生成多个候选假设。每个模板可以对应于候选变换系数集合中的候选变换系数。每个模板可以表示变换块的上边界和左边界上的重建的样点组。可以通过将逆次级变换和逆初级变换应用于所述变换块来生成每个模板,其中,除了与所述模板相对应的候选变换系数被设置为1之外,所述候选变换系数集合中的每个候选变换系数被设置为零(例如,与所述模板相对应的候选变换系数被设置为1,而其余每个候选变换系数被设置为0)。
例如,每个符号候选组合的对应候选假设可以设置为模板的线性组合。对于对应于相应候选变换系数的模板,可以将所述模板的相应权重设置为对应于相应候选变换系数的去量化变换系数的幅值。图12中图示了基于模板的线性组合的假设生成的示例,下文将更详细地描述所述示例。
为了预测候选变换系数的符号,视频编码器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表示对应的模板(即,变换块的上边界和左边界上的重建的样点),其可以通过对变换块的系数矩阵应用逆变换来生成,其中,特定变换系数被设置为1,而所有其他变换系数都等于零。例如,T100表示通过对系数矩阵应用逆变换而生成的对应模板,其中,只有与第一符号候选相对应的变换系数被设置为1,而系数矩阵中的所有变换系数都被设置为零。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)中所示),则它可能不适用于高度不均匀的图像信号。与本公开一致,还利用沿着一个或多个对角线方向的梯度来提高成本函数的精度。例如,包括左对角线方向和右对角线方向的两个对角线方向也可以被包含到成本函数中。例如,可以根据以下表达式(8)和(9)来描述两个对角线方向的成本函数:
/>
在上述表达式(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)联合使用。然后,可以基于包含沿水平和垂直方向的梯度的水平-垂直成本函数、包含沿左对角线方向的梯度的左对角线成本函数和包含沿右对角线方向的梯度的右对角线成本函数来确定用于符号预测的成本函数。例如,成本函数可以是水平-垂直成本函数、左对角线成本函数和右对角线成本函数的加权和,如表达(10)所述:
cost=costHV+ω(costD1+costD2) (10)。
在上述表达式(10)中,ω表示左对角线成本函数和右对角线成本函数的权重。
在另一个示例中,成本函数可以是水平-垂直成本函数、左对角线成本函数和右对角线成本函数的最小值,如表达式(11)所述:
cost=min{costHV,costD1,costD2} (11)。
与上述表达式(5)相比,本文公开的表达式(10)或(11)中的成本函数可能需要更多的相邻像素来支持沿对角线方向的成本函数costD1、costD2,这将在下文中参考图14A至图14B进行更详细的描述。
在一些实施方式中,可以使用上述表达式(10)或(11)来确定每个候选假设的对应成本。然后,可以分别为多个候选假设计算多个成本。可以确定多个成本中的最小成本。可以从多个候选假设中确定与最小成本相关联的候选假设,并将其选择为用于符号预测的假设。
符号预测过程1100可以继续执行符号生成操作1108,其中,与所选假设相关联的符号候选组合被确定为用于候选变换系数集合的预测符号集合。例如,用于生成所选假设的符号候选组合(例如,L个符号候选)可以用作L个候选变换系数的预测符号。
在一些实施方式中,符号生成操作1108还可以包括将基于矢量的符号预测方案应用于预测符号集合,以生成用于候选变换系数集合的符号信令比特序列。包括符号信令比特序列的比特流可以由视频编码器20生成并存储在图1的存储设备32中。可替代地或附加地,比特流可以通过图1的链路16传输到视频解码器30。
如上所述,当变换块中的变换系数的符号被很好地预测时,很可能可以正确地预测多个连续变换系数的符号。在这种情况下,由于现有符号预测设计中的信令方案需要用信号传输“0”的多个二进制位,以分别指示每个变换系数的对应符号可以被正确预测,因此就用信号传输变换块的符号值的开销而言,这显然是低效的。下面参照图13A更详细地描述现有符号预测方案的示例性实施方式。
与本公开一致,可以通过应用本文公开的基于矢量的符号预测方案来提高符号信令的效率。具体地,可以将变换块的候选变换系数划分为多个组,并且可以一起预测每个组中的候选变换系数组的符号。在这种情况下,当组中的候选变换系数的原始符号(或真符号)分别与它们的预测符号相同时,只需要在比特流中发送值为“0”的二进制位,以指示所述组中的所有符号都被正确预测。否则(即,在所述组中至少有一个候选变换系数的原始符号与预测符号不同),可以首先在比特流中用信号传输值为“1”的二进制位,以指示并非所述组中的所有候选变换系数的符号都被正确预测。然后,还可以在从视频编码器20到视频解码器30的比特流中用信号传输附加二进制位,以分别通知组中每个预测符号的对应正确性。下面参照图13B更详细地描述本文公开的基于矢量的符号预测方案的示例性实施方式。
在一些实施方式中,可以将候选变换系数集合划分为多个候选变换系数组。对于每个候选变换系数组,可以基于候选变换系数组的原始符号是否与候选变换系数组的预测符号相同来生成用于候选变换系数组的一个或多个符号信令比特。响应于候选变换系数组的原始符号与候选变换系数组的预测符号相同,可以生成值为零(“0”)的二进制位,并将其作为符号信令比特添加到比特流中。例如,比特流可以包括“0”以指示候选变换系数组的预测符号被正确预测。
另一方面,响应于候选变换系数组的原始符号与候选变换系数的预测符号不相同,可以生成值为一(“1”)的二进制位。还可以生成用于通知候选变换系数组的预测符号的对应正确性的附加二进制位集合。然后,可以将值为一的二进制位和附加二进制位集合作为符号信令比特添加到比特流。例如,附加二进制位集合可以是候选变换系数组的原始符号和预测符号的XOR结果。具有值“0”的附加二进制位可以指示与所述附加二进制位相对应的候选变换系数的预测符号被正确地预测,而具有值“1”的附加二进制位可以指示与所述附加二进制位相对应的候选变换系数的预测符号未被正确地预测。比特流可以包括:(a)“1”,以指示候选变换系数组的预测符号未被正确预测;以及(b)附加二进制位集合,以指示哪些预测符号被正确地预测以及哪些预测符号未被正确地预测。
在一些实施方式中,可以基于一个或多个预定标准自适应地改变每个候选变换系数组的尺寸。一个或多个预定标准可以包括变换块的宽度或高度、变换块的编码模式(例如,帧内或帧间编码)以及变换块内的非零变换系数的数目等。在一些实施方式中,可以在比特流中以各种编码级(如SPS、PPS、条带或图片级、CTU或CU级或变换块级)用信号传输每个候选变换系数组的尺寸。
在一些实施方式中,可以应用一个或多个约束条件来限制本文公开的基于矢量的符号预测方案的应用场景。例如,本文公开的基于矢量的符号预测方案可以应用于处理变换块中变换系数的第一部分的符号,而变换块中的变换系数的第二部分的符号可以使用现有符号预测方案来处理。在另一示例中,本文公开的基于矢量的符号预测方案可以应用于来自变换块的前N个(例如,N=2、3、4、5、6、7或8等)非零候选变换系数,而来自变换块中的其他候选变换系数的符号可以使用图13A中所示的现有符号预测方案来处理,这将在本公开的后面描述。
与本公开一致,本文公开的符号预测过程1100在一些情况下可能被禁用。例如,当LFNST被应用于通过帧内模板匹配模式编解码的编码块时,初级变换可以是DST-VII。假设ECM中的LFNST核心变换主要在初级变换是DCT-II时进行训练,则与其他LFNST块相比,帧内模板匹配块的对应LFNST变换系数可能表现出不同的特性。基于该原理,在当前编码块是帧内模板匹配块并且使用LFNST进行编解码时,可以禁用符号预测过程1100。
与本公开一致,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)缩放模板的浮动样点,并将经缩放的样点舍入到其最接近的整数。可以将经舍入的样点存储在存储器中。然后,当使用模板重建候选假设时,可以首先将其对应的样点缩放到原始精度,以确保候选假设中生成的样点处于正确的动态范围内。
图12是图示了根据本公开的一些实施方式的基于模板的线性组合的示例性假设生成的图形表示。在图12中,四个图案化块0-3表示其符号将被预测的候选变换系数。因子C0、C1、C2和C3表示四个候选变换系数的去量化变换系数的对应值。模板0-3可以分别对应于四个候选变换系数0-3。例如,可以通过对变换块应用逆次级变换和逆初级变换来生成与候选变换系数0相对应的模板0,其中,候选变换系数0被设置为1,并且变换块中的剩余候选变换系数被设置为零。类似地,可以分别生成模板1-3。候选假设可以通过分别将模板0-1与权重C0-C3相加来生成。
图13A是图示了根据一些示例的现有符号预测方案的示例性实施方式的图形表示。图13B是图示了根据本公开的一些实施方式的基于矢量的符号预测方案的示例性实施方式的图形表示。本文参考图13A至图13B说明了现有符号预测方案与本文所公开的基于矢量的符号预测方案之间的示例性比较。
在图13A至图13B中,变换块中有六个非零变换系数,它们被选择为用于符号预测的候选变换系数。使用栅格扫描顺序从变换块的系数矩阵扫描候选变换系数。候选变换系数的原始符号和预测符号也在图13A至图13B中示出。例如,值为“-2”的第一候选变换系数的原始符号和预测符号都是“-”(在图13A至图13B中表示为“1”)。值为“3”的第二候选变换系数的原始符号和预测符号都是“+”(在图13A至图13B中表示为“0”)。值为“1”的第三候选变换系数的原始符号和预测符号分别为“+”和“-”(在图13A至图13B中分别表示为“0”和“1”)。第三候选变换系数的原始符号未被正确地预测。如图13A至图13B所示,除了第三变换系数之外,所有其他候选变换系数的原始符号与其对应的预测符号相同(即,被正确预测)。
参考图13A,总共生成6个二进制位(即,0、0、1、0、0和0),其中,每个二进制位对应于候选变换系数。可以通过在6个候选变换系数的原始符号和预测符号之间执行XOR运算来生成6个二进制位。6个二进制位可以用于指示6个预测符号的对应正确性。例如,各自具有值“0”的第一二进制位和第二二进制位指示第一候选变换系数和第二候选变换系数的预测符号是正确的。值为“1”的第三二进制位表示第三变换系数的预测符号不正确。这6个二进制位可以被发送到CABAC用于熵编码。
参考图13B,本文公开的基于矢量的符号预测方案将6个候选变换系数划分为3组,并且每组包括2个连续的候选变换系数。因为组#0和#2中的候选变换系数的符号可以被正确地预测,所以对于这两个组仅生成各自具有值“0”的两个二进制位。对于组#1,由于它包括符号不能被正确预测的第三候选变换系数,所以生成值为“1”的二进制位(其在图13B中加下划线)并在比特流中用信号传输,以指示所述组至少包括原始符号与其预测符号不同的候选变换系数。随后,为组#1中的第三系数和第四系数生成具有值“1”和“0”的两个附加二进制位,以指示它们的符号是否可以被正确预测。对应地,当应用本文公开的基于矢量的符号预测方案时,总共为CABAC生成5个二进制位,其具有比图13A中所示的现有符号预测方案生成的二进制位更少的比特。因此,通过应用本文公开的基于矢量的符号预测方案,可以减少信令开销,并且可以提高变换块的编解码效率。
与本公开一致,尽管如图13B所示,栅格扫描顺序用于从变换块的系数矩阵中获得候选变换系数,但任何其他扫描顺序也可以用于选择用于符号预测的候选变换系数。例如,可以基于上述一个或多个选择标准来选择候选变换系数。类似的描述在本文中不再重复。
图14A是图示了根据本公开的一些实施方式的沿着左对角线方向的左对角线成本函数的示例性计算的图形表示。图14B是图示了根据本公开的一些实施方式的沿着右对角线方向的右对角线成本函数的示例性计算的图形表示。与用于计算costHV的上述表达式(6)相比,上述表达式(10)或(11)中所示的左对角线成本函数costD1或右对角线成本函数costD2可能需要更多的相邻像素来支持沿对角线方向的成本函数costD1、costD2的计算(在图14A至图14B中被示为标记在区域1402、1404和1406内的像素)。当区域1402、1404和1406中的这些像素不可用时,可以采用最近的填充方法来填充这些不可用的位置。例如,如果区域1406中的B-1,4不可用,则使用作为最接近B-1,4的可用像素的B-1,3来填充B-1,4(例如,B-1,4=B-1,3)的位置。如果区域1402中的B-1,-1(也表示为C-1,-1)、B-1,-2(C-1,-1)、B-2,-1(C-1,-1)和B-2,-2(C-1,-1)不可用,则本文公开了两种示例性方法来填充不可用的位置。
在第一示例性方法中,每个不可用位置可以通过对其最近的可用像素进行加权来填充,如表达式(12)-(15)所示:
B-2,-2=(B-2,0+C0,-2)*0.5 (12)
B-2,-1=(2*B-2,0+C0,-1)/3 (13)
B-1,-2=(B-1,0+2*C0,-2)/3 (14)
B-1,-1=(B-1,0+C0,-1)*0.5 (15)。
在第二示例性方法中,一些不可用位置可以分别用其最近的可用像素填充。例如,如果区域1402中的B-1,-2不可用,则用C0,-2对其进行填充。如果B-2,-1不可用,则用B-2,0对其进行填充。然而,如果B-2,-2和B-1,-1不可用,则可以用根据上述表达式(12)和(15)计算的它们的两个最近相邻像素的平均值来填充它们。
与本公开一致,尽管左对角线和右对角线(即,图14A至图14B中所示的135°和45°)用于计算上述表达式(10)或(11)中所示成本函数的说明目的,但可以设想的是,任何其他测量分量(例如沿着一个或多个任意方向的连续性测量)都可以被包含到符号预测的成本函数的计算中。
图15是根据本公开的一些实施方式的用于基于块的视频编解码中的符号预测的示例性方法1500的流程图。方法1500可以由与视频编码器20或视频解码器30相关联的视频处理器来实施并且可以包括如下所述的步骤1502-1508。一些步骤对于执行本文所提供的公开内容而言可以是可选的。进一步地,一些步骤可以同时执行或以与图15所示的顺序不同的顺序执行。
在步骤1502中,视频处理器可以将初级变换和次级变换应用于来自视频的视频帧的变换块以生成用于变换块的变换系数。
在步骤1504中,视频处理器可以从变换系数中选择候选变换系数集合以用于符号预测。
在步骤1506中,视频处理器可以应用基于模板的假设生成方案以为候选变换系数集合从多个候选假设中选择假设。
在步骤1508中,视频处理器可以将与所选假设相关联的符号候选组合确定为用于候选变换系数集合的预测符号集合。
图16是根据本公开的一些实施方式的用于基于块的视频编解码中的符号预测的另一示例性方法1600的流程图。方法1600可以由与视频编码器20或视频解码器30相关联的视频处理器来实施并且可以包括如下所述的步骤1602-1616。具体地,方法1600的步骤1606-1610可以作为方法1500的步骤1506的示例性实施方式来执行。一些步骤对于执行本文所提供的公开内容而言可以是可选的。进一步地,一些步骤可以同时执行或以与图16所示的顺序不同的顺序执行。
在步骤1602中,视频处理器可以通过将初级变换和次级变换应用于来自视频的视频帧的变换块以生成用于变换块的变换系数。
在步骤1604中,视频处理器可以从变换系数中选择候选变换系数集合以用于符号预测。
在步骤1606中,视频处理器可以基于候选变换系数集合中的候选变换系数的总数来确定用于候选变换系数集合的多个符号候选组合。
在步骤1608中,视频处理器可以应用基于模板的假设生成方案以分别为多个符号候选组合生成多个候选假设。
在步骤1610中,视频处理器可以基于成本函数从多个候选假设中选择与最小成本相关联的假设,所述成本函数包含沿水平、垂直和对角线方向的组合梯度。
在步骤1612中,视频处理器可以将与所选假设相关联的符号候选组合确定为用于候选变换系数集合的预测符号集合。
在步骤1614中,视频处理器可以将基于矢量的符号预测方案应用于预测符号集合,以生成用于候选变换系数集合的符号信令比特序列。
在步骤1614中,视频处理器可以生成包括符号信令比特序列的比特流。
与本公开一致,图15和图16的方法1500和方法1600可以在视频编码器侧或视频解码器侧执行。当在视频编码器侧执行图15和图16的方法1500和方法1600时,它们可以被认为是用于在视频编码器侧进行变换系数符号预测的编码方法。当在视频解码器侧执行图15和图16的方法1500和方法1600时,它们可以被认为是用于在视频解码器侧进行变换系数符号预测的解码方法。下面参照图18提供用于在视频解码器侧进行变换系数符号预测的示例性解码方法。
图17示出了根据本公开的一些实施方式的与用户界面1750耦接的计算环境1710。计算环境1710可以是数据处理服务器的一部分。计算环境1710包括处理器1720、存储器1730和输入/输出(I/O)接口1740。
处理器1720通常控制计算环境1710的整体操作,如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器1720可以包括执行指令的一个或多个处理器,以执行上文描述的方法中的所有或一些步骤。此外,处理器1720可以包括促进处理器1720与其他部件之间的交互的一个或多个模块。处理器1720可以是中央处理单元(CPU)、微处理器、单片机、图形处理单元(GPU)等。
存储器1730被配置为存储各种类型的数据,以支持计算环境1710的操作。存储器1730可以包括预定软件1732。这种数据的示例包括用于在计算环境1710上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器1730可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,如静态随机存取存储器(SRAM)、电可擦可编程只读存储器(EEPROM)、可擦可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口1740提供处理器1720与外围接口模块(如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1740可以与编码器和解码器耦接。
在一些实施方式中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质例如在存储器1730中包括多个程序,所述多个程序可由计算环境1710中的处理器1720执行,用于执行上述方法。替代性地,非暂态计算机可读存储介质可以在其中存储有比特流或数据流,所述比特流或数据流包括由编码器(例如,图2中的视频编码器20)使用例如上文描述的编码方法生成的已编码视频信息(例如,包括一个或多个语法元素的视频信息),以供解码器(例如,图3中的视频解码器30)对视频数据进行解码。非暂态计算机可读存储介质可以是例如ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
在一些实施方式中,还提供了一种计算设备,所述计算设备包括:一个或多个处理器(例如,处理器1720);以及非暂态计算机可读存储介质或存储器1730,所述非暂态计算机可读存储介质或存储器中存储有可由所述一个或多个处理器执行的多个程序,其中,所述一个或多个处理器被配置为在执行所述多个程序时执行上述方法。
在一些实施方式中,还提供了一种计算机程序产品,所述计算机程序产品例如在存储器1730中包括多个程序,所述多个程序可由计算环境1710中的处理器1720执行,用于执行上述方法。例如,计算机程序产品可以包括非暂态计算机可读存储介质。
在一些实施方式中,计算环境1710可以用一个或多个ASIC、DSP、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、FPGA、GPU、控制器、微控制器、微处理器或其他电子部件实施,用于执行上述方法。
图18是根据本公开的一些实施方式的用于在视频解码器侧进行变换系数符号预测的视频解码方法1800的流程图。方法1800可以由与视频解码器30相关联的视频处理器来实施并且可以包括如下所述的步骤1802-1810。一些步骤对于执行本文所提供的公开内容而言可以是可选的。进一步地,一些步骤可以同时执行或以与图18所示的顺序不同的顺序执行。
在步骤1802中,视频处理器可以从去量化变换系数中选择候选变换系数集合以用于变换系数符号预测。所述去量化变换系数与来自视频的视频帧的变换块相关联。视频解码器30中的变换块的去量化变换系数可以等效于视频编码器20中的变换块的变换系数。
在一些实施方式中,视频处理器可以接收比特流,所述比特流包括符号信令比特序列和与变换块相关联的量化变换系数。视频处理器可以通过图3的逆量化单元86从量化变换系数生成去量化变换系数。
在一些实施方式中,视频处理器可以基于去量化变换系数的幅值从去量化变换系数中选择候选变换系数集合。在一些实施方式中,视频处理器可以基于去量化变换系数的量化索引的幅值来从去量化变换系数中选择候选变换系数集合。在一些实施方式中,视频处理器可以基于在视频编解码中应用的熵编码的系数扫描顺序来从去量化变换系数中选择候选变换系数集合。
在一些实施方式中,视频处理器可以基于去量化变换系数对变换块的重建的边界样点的影响评分来从去量化变换系数中选择候选变换系数集合。例如,去量化变换系数对重建的边界样点的影响评分被测量为重建的边界样点上的每个去量化变换系数的变化的L1范数。在另一示例中,去量化变换系数对重建的边界样点的影响评分被测量为重建的边界样点上的每个去量化变换系数的变化的L2范数。
在一些实施方式中,视频处理器可以执行与上面参考图11的系数选择操作1104描述的操作类似的操作,以从去量化变换系数中选择候选变换系数集合。此外,视频处理器可以执行与上面针对图15的步骤1504所描述的操作类似的操作,以从去量化变换系数中选择候选变换系数集合。类似的描述在本文中不再重复。
在步骤1804中,视频处理器可以应用基于模板的假设生成方案以为候选变换系数集合从多个候选假设中选择假设。
在一些实施方式中,视频处理器可以执行与上面参考图11的假设生成操作1106描述的操作类似的操作。此外,视频处理器可以执行与上面针对图15的步骤1506所描述的操作类似的操作,以从多个候选假设中选择假设。类似的描述在本文中不再重复。
在步骤1806中,视频处理器可以将与所选假设相关联的符号候选组合确定为用于候选变换系数集合的预测符号集合。
在一些实施方式中,视频处理器可以执行与上面参考图11的符号生成操作1108描述的操作类似的操作。此外,视频处理器可以执行与上面针对图15的步骤1508描述的操作类似的操作,以确定用于候选变换系数集合的预测符号集合。类似的描述在本文中不再重复。
在步骤1808中,视频处理器可以基于预测符号集合和从视频编码器接收的符号信令比特序列来估计用于候选变换系数集合的原始符号。
例如,参考图13B,预测符号集合可以包括值为(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)的预测符号的XOR结果,并且组#1的第二和第三比特“1,0”(例如,所估计原始符号=XOR((1,0),(1,0))=(0,0))。由于组#2的比特的值为“0”,表示值为(1,0)的该组的预测符号与原始符号相同,因此组#2的所估计原始符号被确定为(1,0)。然后,通过将组#0、#1和#2的所估计原始符号分别级联来形成候选变换系数集合的所估计原始符号,其包括(1,0,0,0,1,0)。
在步骤1810中,视频处理器可以基于用于候选变换系数集合的所估计原始符号来更新去量化变换系数。例如,视频处理器可以使用所估计原始符号作为对应于候选变换系数集合的变换块中的去量化变换系数的真符号。
在一些实施方式中,在更新去量化变换系数之后,视频处理器可以进一步将逆初级变换和逆次级变换应用于去量化变换系数,以在与变换块相对应的残差块中生成残差样点。逆次级变换对应于包括LFNST的次级变换。逆初级变换对应于包括DCT-II、DCT-V、DCT-VIII、DST-I、DST-IV、DST-VII或和恒等变换的初级变换。
在一些实施方式中,由视频编码器通过以下操作来生成用于候选变换系数集合的符号信令比特序列:由所述视频编码器将基于矢量的符号预测方案应用于在视频编码器侧选择的另一个候选变换系数集合的另一个预测符号集合;以及生成包括所述符号信令比特序列的比特流。所述另一个候选变换系数集合是所述视频编码器侧的变换系数,对应于所述视频解码器侧的候选变换系数集合。
在一些实施方式中,将所述基于矢量的符号预测方案应用于所述另一个候选变换系数集合的另一个预测符号集合进一步包括:将所述另一个候选变换系数集合划分为多个候选变换系数组;以及对于每个候选变换系数组,基于所述候选变换系数组的原始符号是否与所述候选变换系数组的预测符号相同来生成用于所述候选变换系数组的一个或多个符号信令比特。
在一些实施方式中,生成用于所述候选变换系数组的一个或多个符号信令比特包括:响应于所述候选变换系数组的原始符号与所述候选变换系数组的预测符号相同,生成值为零的二进制位;以及将所述二进制位作为符号信令比特添加到比特流。
在一些实施方式中,生成用于所述候选变换系数组的一个或多个符号信令比特包括:响应于所述候选变换系数组的原始符号与所述候选变换系数组的预测符号不相同,生成值为一的二进制位;生成用于通知所述候选变换系数组的预测符号的对应正确性的附加二进制位集合;以及将所述二进制位和所述附加二进制位集合作为符号信令比特添加到比特流。
已经出于说明目的呈现了对本公开的描述,并且所述描述不旨在是穷举的或限于本公开。受益于前述描述和相关联附图中呈现的教导,许多修改、变形和替代性实施方式对于本领域普通技术人员将是显而易见的。
除非另有特别说明,否则根据本公开的方法的步骤顺序仅旨在是说明性的,并且根据本公开的方法的步骤不限于上述具体描述的顺序,而是可以根据实际条件进行改变。另外,根据本公开的方法的至少一个步骤可以根据实际需要进行调整、组合或删除。
选择并描述示例以便解释本公开的原理,并且使本领域其他技术人员能够理解本公开的各种实施方式并且最好地利用基本原理以及具有适合于设想的特定用途的各种修改的各种实施方式。因此,应当理解,本公开的范围不应受限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在本公开的范围内。

Claims (27)

1.一种用于变换系数符号预测的视频解码方法,所述视频解码方法包括:
由一个或多个处理器从去量化变换系数中选择候选变换系数集合以用于所述变换系数符号预测,其中,所述去量化变换系数与来自视频的视频帧的变换块相关联;
由所述一个或多个处理器应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设;
由所述一个或多个处理器将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合;
由所述一个或多个处理器基于所述预测符号集合和从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号;以及
由所述一个或多个处理器基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。
2.根据权利要求1所述的视频解码方法,进一步包括:
接收比特流,所述比特流包括所述符号信令比特序列和与所述变换块相关联的量化变换系数;以及
从所述量化变换系数生成所述去量化变换系数。
3.根据权利要求1所述的视频解码方法,进一步包括:
将逆初级变换和逆次级变换应用于所述去量化变换系数,以生成与所述变换块相对应的残差块中的残差样点。
4.根据权利要求3所述的视频解码方法,其中,所述逆次级变换对应于包括低频不可分离变换(LFNST)的次级变换。
5.根据权利要求3所述的视频解码方法,其中,所述逆初级变换对应于包括DCT-II、DCT-V、DCT-VIII、DST-I、DST-IV、DST-VII或恒等变换的初级变换。
6.根据权利要求1所述的视频解码方法,其中,选择所述候选变换系数集合包括:
基于所述去量化变换系数的幅值从所述去量化变换系数中选择所述候选变换系数集合。
7.根据权利要求1所述的视频解码方法,其中,选择所述候选变换系数集合包括:
基于所述去量化变换系数的量化索引的幅值来从所述去量化变换系数中选择所述候选变换系数集合。
8.根据权利要求1所述的视频解码方法,其中,选择所述候选变换系数集合包括:
基于在视频编解码中应用的熵编码的系数扫描顺序来从所述去量化变换系数中选择所述候选变换系数集合。
9.根据权利要求1所述的视频解码方法,其中,选择所述候选变换系数集合包括:
基于所述去量化变换系数对所述变换块的重建的边界样点的影响评分来从所述去量化变换系数中选择所述候选变换系数集合。
10.根据权利要求9所述的视频解码方法,其中,所述去量化变换系数对所述重建的边界样点的影响评分被测量为所述重建的边界样点上的每个去量化变换系数的变化的L1范数。
11.根据权利要求9所述的视频解码方法,其中,所述去量化变换系数对所述重建的边界样点的影响评分被测量为所述重建的边界样点上的每个去量化变换系数的变化的L2范数。
12.根据权利要求1所述的视频解码方法,其中,应用所述基于模板的假设生成方案以选择所述假设包括:
基于所述候选变换系数集合中的候选变换系数的总数来确定用于所述候选变换系数集合的多个符号候选组合;
应用所述基于模板的假设生成方案以分别为所述多个符号候选组合生成所述多个候选假设;以及
基于成本函数从所述多个候选假设中确定与最小成本相关联的假设,所述成本函数包含沿水平、垂直和对角线方向的组合梯度。
13.根据权利要求12所述的视频解码方法,其中,应用所述基于模板的假设生成方案以分别为所述多个符号候选组合生成所述多个候选假设包括:
基于模板的线性组合为每个符号候选组合生成对应的候选假设。
14.根据权利要求13所述的视频解码方法,其中,
每个模板对应于所述候选变换系数集合中的候选变换系数;以及
通过将逆次级变换和逆初级变换应用于所述变换块来生成每个模板,其中除了与所述模板对应的候选变换系数被设置为1之外,所述候选变换系数集合中的每个候选变换系数被设置为零。
15.根据权利要求12所述的视频解码方法,其中,应用所述基于模板的假设生成方案以分别为所述多个符号候选组合生成所述多个候选假设包括:
将所述多个符号候选组合分别确定为用于所述多个候选假设的多个假设索引;
基于所述多个假设索引的格雷码顺序对所述多个假设索引进行排序,以生成重排序的假设索引序列;
对于所述重排序的假设索引序列中的第一假设索引,通过将逆次级变换和逆初级变换应用于所述变换块来生成与所述第一假设索引相对应的第一候选假设,其中所述候选变换系数集合中的每个候选变换系数被设置为1;以及
对于所述重排序的假设索引序列中紧接在所述第一假设索引之后的第二假设索引,基于与所述第一假设索引相对应的所述第一候选假设和用于与所述第二假设索引相对应的第二候选假设的调整项来生成所述第二候选假设。
16.根据权利要求12所述的视频解码方法,其中,所述成本函数是基于包含沿所述垂直和水平方向的梯度的水平-垂直成本函数、包含沿左对角线方向的梯度的左对角线成本函数和包含沿右对角线方向的梯度的右对角线成本函数来确定的。
17.根据权利要求1所述的视频解码方法,其中,由所述视频编码器通过以下操作来生成用于所述候选变换系数集合的符号信令比特序列:
由所述视频编码器将基于矢量的符号预测方案应用于在视频编码器侧选择的另一个候选变换系数集合的另一个预测符号集合,
其中,所述另一个候选变换系数集合是所述视频编码器侧的变换系数,所述变换系数对应于所述视频解码器侧的候选变换系数集合。
18.根据权利要求17所述的视频解码方法,其中,将所述基于矢量的符号预测方案应用于所述另一个候选变换系数集合的所述另一个预测符号集合以生成所述符号信令比特序列进一步包括:
将所述另一个候选变换系数集合划分为多个候选变换系数组;以及
对于每个候选变换系数组,基于所述候选变换系数组的原始符号是否与所述候选变换系数组的预测符号相同来生成用于所述候选变换系数组的一个或多个符号信令比特。
19.根据权利要求18所述的视频解码方法,其中,生成用于所述候选变换系数组的一个或多个符号信令比特包括:
响应于所述候选变换系数组的原始符号与所述候选变换系数组的预测符号相同,
生成值为零的二进制位;以及
将所述二进制位作为符号信令比特添加到比特流。
20.根据权利要求18所述的视频解码方法,其中,生成用于所述候选变换系数组的一个或多个符号信令比特包括:
响应于所述候选变换系数组的原始符号与所述候选变换系数组的预测符号不相同,
生成值为一的二进制位;
生成用于通知所述候选变换系数组的预测符号的对应正确性的附加二进制位集合;以及
将所述二进制位和所述附加二进制位集合作为符号信令比特添加到比特流。
21.一种用于变换系数符号预测的视频解码装置,所述视频解码装置包括:
存储器,所述存储器被配置为存储包括多个视频帧的视频;以及
一个或多个处理器,所述一个或多个处理器耦接到所述存储器并且被配置为:
从去量化变换系数中选择候选变换系数集合以用于所述变换系数符号预测,其中,所述去量化变换系数与来自所述视频的视频帧的变换块相关联;
应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设;
将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合;
基于所述预测符号集合和从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号;以及
基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。
22.根据权利要求21所述的视频解码装置,其中,为了选择所述候选变换系数集合,所述一个或多个处理器被配置为:
基于所述去量化变换系数的幅值、所述去量化变换系数的量化索引的幅值、在视频编解码中应用的熵编码的系数扫描顺序或所述去量化变换系数对所述变换块的重建的边界样点的影响评分来从所述去量化变换系数中选择所述候选变换系数集合。
23.根据权利要求21所述的视频解码装置,其中,为了应用所述基于模板的假设生成方案以选择所述假设,所述一个或多个处理器被配置为:
基于所述候选变换系数集合中的候选变换系数的总数来确定用于所述候选变换系数集合的多个符号候选组合;
应用所述基于模板的假设生成方案以分别为所述多个符号候选组合生成所述多个候选假设;以及
基于成本函数从所述多个候选假设中确定与最小成本相关联的假设,所述成本函数包含沿水平、垂直和对角线方向的组合梯度。
24.根据权利要求23所述的视频解码装置,其中,所述成本函数是基于包含沿所述垂直和水平方向的梯度的水平-垂直成本函数、包含沿左对角线方向的梯度的左对角线成本函数和包含沿右对角线方向的梯度的右对角线成本函数来确定的。
25.根据权利要求21所述的视频解码装置,其中,由所述视频编码器通过以下操作来生成用于所述候选变换系数集合的符号信令比特序列:
将基于矢量的符号预测方案应用于在视频编码器侧选择的另一个候选变换系数集合的另一个预测符号集合,
其中,所述另一个候选变换系数集合是所述视频编码器侧的变换系数,所述变换系数对应于所述视频解码器侧的候选变换系数集合。
26.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质中存储有指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行用于变换系数符号预测的视频解码方法,所述视频解码方法包括:
从去量化变换系数中选择候选变换系数集合以用于所述变换系数符号预测,其中,所述去量化变换系数与来自视频的视频帧的变换块相关联;
应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设;
将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合;
基于所述预测符号集合和通过比特流从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号;以及
基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数,
其中,所述比特流被存储在所述非暂态计算机可读存储介质中。
27.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质中存储有能够通过视频方法解码的比特流,所述视频方法包括:
从去量化变换系数中选择候选变换系数集合以用于变换系数符号预测,其中,所述去量化变换系数与来自视频的视频帧的变换块相关联;
应用基于模板的假设生成方案以为所述候选变换系数集合从多个候选假设中选择假设;
将与所选假设相关联的符号候选组合确定为用于所述候选变换系数集合的预测符号集合;
基于所述预测符号集合和通过比特流从视频编码器接收的符号信令比特序列来估计用于所述候选变换系数集合的原始符号;以及
基于用于所述候选变换系数集合的所估计原始符号来更新所述去量化变换系数。
CN202280055172.1A 2021-08-17 2022-08-16 用于基于块的视频编解码的符号预测 Pending CN117859329A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163233940P 2021-08-17 2021-08-17
US63/233,940 2021-08-17
PCT/US2022/040442 WO2023023039A1 (en) 2021-08-17 2022-08-16 Sign prediction for block-based video coding

Publications (1)

Publication Number Publication Date
CN117859329A true CN117859329A (zh) 2024-04-09

Family

ID=85240984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280055172.1A Pending CN117859329A (zh) 2021-08-17 2022-08-16 用于基于块的视频编解码的符号预测

Country Status (5)

Country Link
US (1) US20240179348A1 (zh)
EP (1) EP4385209A1 (zh)
KR (1) KR20240044497A (zh)
CN (1) CN117859329A (zh)
WO (1) WO2023023039A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101336204B1 (ko) * 2006-08-18 2013-12-03 주식회사 케이티 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법
CN107529708B (zh) * 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质

Also Published As

Publication number Publication date
US20240179348A1 (en) 2024-05-30
KR20240044497A (ko) 2024-04-04
WO2023023039A1 (en) 2023-02-23
EP4385209A1 (en) 2024-06-19

Similar Documents

Publication Publication Date Title
KR20200064153A (ko) 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
CN114501000B (zh) 用于视频编码的方法和电子装置
WO2020056143A1 (en) Modifications of the construction of the merge candidate list
WO2020247577A1 (en) Adaptive motion vector resolution for affine mode
CN114080815A (zh) 用于视频编解码的子块变换的方法和系统
CN116868571A (zh) 对于帧间预测的改进的局部光照补偿
WO2020076838A1 (en) Motion vector storage for video coding
EP3957072A1 (en) Methods and apparatus of video coding using prediction refinement with optical flow
WO2022266328A1 (en) Motion refinement with bilateral matching for affine motion compensation in video coding
CN114363610B (zh) 视频编码的方法、计算设备和存储介质
CN115004706A (zh) 关于变换和系数信令的方法和装置
CN117859329A (zh) 用于基于块的视频编解码的符号预测
US20240223811A1 (en) Sign prediction for block-based video coding
CN118235412A (zh) 基于块的视频编解码的符号预测
CN117981319A (zh) 用于基于块的视频编解码的符号预测
KR20240110023A (ko) 블록 기반 비디오 코딩을 위한 부호 예측
US20240214561A1 (en) Methods and devices for decoder-side intra mode derivation
WO2024097377A1 (en) Methods and apparatus for transform training and coding
WO2023114468A1 (en) Sign prediction for block-based video coding
WO2023137217A1 (en) Sign prediction for block-based video coding
WO2023154574A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
WO2023091780A1 (en) Planar mode improvement for intra prediction
WO2023141338A1 (en) Methods and devices for geometric partitioning mode with split modes reordering
WO2022271756A1 (en) Video coding using multi-direction intra prediction
CN114466185A (zh) 使用调色板模式进行视频编解码的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication