CN115362685A - 用于视频编解码的无损编解码模式 - Google Patents
用于视频编解码的无损编解码模式 Download PDFInfo
- Publication number
- CN115362685A CN115362685A CN202180025006.2A CN202180025006A CN115362685A CN 115362685 A CN115362685 A CN 115362685A CN 202180025006 A CN202180025006 A CN 202180025006A CN 115362685 A CN115362685 A CN 115362685A
- Authority
- CN
- China
- Prior art keywords
- video
- current picture
- syntax element
- transform skip
- transform
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种电子装置执行对视频数据进行编码和解码的方法。该方法包括:从视频比特流接收当前图片的第一语法元素;根据确定第一语法元素指示针对当前图片禁用依赖量化:从视频比特流接收当前图片的第二语法元素,其中第二语法元素指示是否针对当前图片禁用变换跳过模式下的变换跳过残差编解码;根据确定第一语法元素指示针对当前图片启用依赖量化:将第二语法元素设置为针对当前图片启用变换跳过模式下的变换跳过残差编解码的默认值;并且根据第一语法元素和第二语法元素对当前图片执行变换跳过残差解码和依赖反量化。
Description
相关申请
本申请要求:(i)于2020年04月01日提交的题为“LOSSLESS CODING MODES FORVIDEO CODING(用于视频编解码的无损编解码模式)”的第63/003,859号美国临时专利申请的优先权、和(ii)于2020年04月03日提交的题为“LOSSLESS CODING MODES FOR VIDEOCODING(用于视频编解码的无损编解码模式)”的第63/004,731号美国临时专利申请的优先权,两者全部内容通过引用并入本文。
技术领域
本申请总体涉及视频数据编解码和压缩,并且更具体地,涉及用于视频编解码的无损编解码的改进和简化的方法和系统。
背景技术
各种电子设备(诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等)都支持数字视频。电子设备通过实施如由MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准定义的视频压缩/解压缩标准来发送、接收、编码、解码和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测来减少或移除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分割为一个或更多个条带,每个条带具有多个视频块,视频块也可被称为编码树单元(CTU)。每个CTU可包含一个编码单元(CU)或者递归地被拆分为更小的CU直到达到预定义的最小CU尺寸为止。每个CU(也称为叶CU)包含一个或多个变换单元(TU)并且每个CU还包含一个或多个预测单元(PU)。可以以帧内、帧间或IBC模式对每个CU进行编解码。视频帧的帧内编解码(I)条带中的视频块使用关于同一视频帧内的相邻块中的参考样点的空间预测来进行编码。视频帧的帧间编解码(P或B)条带中的视频块可使用关于同一视频帧内的相邻块中的参考样点的空间预测或关于其他先前参考视频帧和/或未来参考视频帧中的参考样点的时间预测。
基于先前已被编码的参考块(例如,相邻块)的空间预测或时间预测得出用于待编解码的当前视频块的预测块。找到参考块的过程可通过块匹配算法来完成。表示待编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据残差块和指向参考帧中的形成预测块的参考块的运动矢量来对帧间编码块进行编码。确定运动矢量的过程通常被称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而得出残差变换系数,残差变换系数然后可被量化。最初以二维阵列布置的量化的变换系数可被扫描以生成变换系数的一维向量,然后被熵编码为视频比特流以实现甚至更大的压缩。
然后,将经编码的视频比特流保存于计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问或者有线或无线地直接发送到电子设备。然后,电子设备执行视频解压缩(其为与上文描述的视频压缩相反的过程),例如,通过对经编码的视频比特流进行解析来从比特流获得语法元素,并且至少部分地基于从比特流获得的语法元素从经编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备在电子设备的显示器上呈现重建的数字视频数据。
随着数字视频质量从高清变为4K×2K或甚至8K×4K,待编码/解码的视频数据量呈指数增长。在如何在保持解码视频数据的图像质量的同时能够更有效率地对视频数据进行编码/解码方面,是一个长久挑战。
发明内容
本申请描述了与视频数据编码和解码相关的实施方式,并且更具体地,描述了与用于视频编解码的无损编解码的改进和简化的方法和系统相关的实施方式。
根据本申请的第一方面,一种对视频数据进行解码的方法包括:一种对视频数据进行解码的方法,包括:从视频比特流接收当前图片的第一语法元素;根据确定所述第一语法元素指示针对所述当前图片禁用依赖量化:从所述视频比特流接收所述当前图片的第二语法元素,其中所述第二语法元素指示是否针对所述当前图片禁用变换跳过模式下的变换跳过残差编解码;根据确定所述第一语法元素指示针对所述当前图片启用依赖量化:将所述第二语法元素设置为针对所述当前图片启用变换跳过模式下的变换跳过残差编解码的默认值;并且根据所述第一语法元素和所述第二语法元素对所述当前图片执行变换跳过残差解码和依赖反量化。
根据本申请的第二方面,一种电子装置包括一个或更多个处理单元、存储器和存储在存储器中的多个程序。程序在被一个或更多个处理单元执行时使电子装置执行如上文所描述的对视频数据进行解码的方法。
根据本申请的第三方面,一种非易失性计算机可读存储介质存储用于由具有一个或更多个处理单元的电子装置执行的多个程序。程序在被一个或更多个处理单元执行时使电子装置执行如上文所描述的对视频数据进行解码的方法。
附图说明
被包括以提供对实施方式的进一步理解并且被并入本文并构成说明书的一部分的附图示出了所描述的实施方式,并且与本说明书一起用于解释基本原理。相似的附图标记指代相应的部分。
图1是示出根据本公开的一些实施方式的示例性视频编码和解码系统的框图。
图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是示出根据本公开的一些实施方式的如何将帧递归地分割为不同尺寸和形状的多个视频块的框图。
图5A至图5B是示出根据本公开的一些实施方式的使用上下文编解码和旁路编解码的变换系数编解码的示例的框图。
图6是示出根据本公开的一些实施方式的依赖标量量化的示例性过程的框图。
图7是示出根据本公开的一些实施方式的用于在两个不同的标量量化器之间切换的示例性状态机的框图。
图8A至图8D是示出根据本公开的一些实施方式的视频解码器对视频比特流的当前图片进行解码的示例性过程的流程图。
图9是示出根据本公开的一些实施方式的示例上下文自适应二进制算术编解码(CABAC)引擎的框图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出具体实施方式的示例。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可使用各种替代方案,并且可在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
图1是示出根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码稍后将由目标设备14进行解码的视频数据。源设备12和目标设备14可包括各种各样的电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示器设备、数字媒体播放器、视频游戏机、视频流传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。
在一些实施方式中,目标设备14可经由链路16接收待解码的编码视频数据。链路16可包括能够将编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可包括使源设备12能够实时地将编码视频数据直接发送到目标设备14的通信介质。编码视频数据可根据通信标准(诸如无线通信协议)被调制,并且被发送到目标设备14。通信介质可包括任何无线或有线通信介质,诸如射频(RF)频谱或一个或更多个物理传输线。通信介质可形成基于分组的网络(例如,局域网、广域网或诸如互联网的全球网)的一部分。通信介质可包括路由器、交换机、基站或可有利于促进从源设备12到目标设备14的通信的任何其他装置。
在一些其他实施方式中,编码视频数据可从输出接口22被发送到存储设备32。随后,存储设备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,显示器设备34可以是集成显示器设备和被配置为与目标设备14通信的外部显示器设备。显示器设备34将解码视频数据显示给用户,并且可包括各种显示器设备中的任何显示器设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示器设备。
视频编码器20和视频解码器30可根据专有标准或行业标准(例如,VVC、HEVC、MPEG-4、Part 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。去块滤波器(未示出)可位于加法器62与DPB 64之间以对块边界进行滤波以从重建视频去除块效应。除了去块滤波器之外,还可使用环内滤波器(未示出)来对加法器62的输出进行滤波。视频编码器20可采取固定或可编程硬件单元的形式,或者可分散在所说明的固定或可编程硬件单元中的一个或更多个中。
视频数据存储器40可存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可例如从视频源18获得。DPB 64是存储供视频编码器20(例如,以帧内或帧间预测编解码模式)在对视频数据进行编码时使用的参考视频数据的缓冲器。视频数据存储器40和DPB 64可由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可与视频编码器20的其他组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割为视频块。此分割还可包括根据与视频数据相关联的预定义的拆分结构(诸如四叉树结构)将视频帧分割为条带、分区(tile)或其他更大编码单元(CU)。视频帧可被划分为多个视频块(或被称为分区的视频块集合)。预测处理单元41可基于误差结果(例如,编解码速率和失真等级)为当前视频块选择多个可行预测编解码模式中的一个,诸如多个帧内预测编解码模式中的一个或多个帧间预测编码模式中的一个。预测处理单元41可将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建编码块以用于随后作为参考帧的一部分使用。预测处理单元41还将语法元素(诸如运动矢量、帧内模式指示符、分割信息和其他此类语法信息)提供给熵编码单元56。
为了选择用于当前视频块的合适的帧内预测编解码模式,预测处理单元41内的帧内预测处理单元46可以与和待编码的当前块在同一帧中的一个或更多个相邻块相关地执行当前视频块的帧内预测编解码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44与一个或更多个参考帧中的一个或更多个预测块相关地执行当前视频块的帧间预测编解码以提供时间预测。视频编码器20可执行多个编码通道,例如,来为视频数据的每个块选择合适的编解码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成估计针对视频块的运动的运动矢量的过程。例如,运动矢量可指示当前视频帧或图片内的视频块的PU相对于与当前帧内正被编解码的当前块(或其他编码单元)相关的参考帧内的预测块(或其他编码单元)的位移。预定模式可将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定用于帧间预测的运动矢量类似的方式确定用于帧内BC编解码的矢量(例如,块矢量),或可利用运动估计单元42确定块矢量。
在像素差方面,预测块是被认为与待编码视频块的PU紧密匹配的参考帧的块,像素差可由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定。在一些实施方式中,视频编码器20可计算用于DPB 64中存储的参考帧的子整数像素位置的值。例如,视频编码器20可对参考帧的四分之一像素位置、八分之一像素位置或其他分数像素位置的值进行内插。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动矢量。
运动估计单元42通过以下来计算针对帧间预测编解码帧中的视频块的PU的运动矢量:将PU的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每一个标识存储在DPB 64中的一个或更多个参考帧。运动估计单元42将计算的运动矢量发送到运动补偿单元44,然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动矢量提取或生成预测块。在接收到针对当前视频块的PU的运动矢量后,运动补偿单元44可在参考帧列表中的一个参考帧列表中定位运动矢量所指向的预测块,从DPB 64取回预测块,并且将预测块转发到加法器50。然后,加法器50通过从正被编解码的当前视频块的像素值减去由运动补偿单元44提供的预测块的像素值来形成像素差值的残差视频块。形成残差视频块的像素差值可包括亮度差分量或色度差分量或两者。运动补偿单元44还可生成与视频帧的视频块相关联的语法元素以供视频解码器30在对视频帧的视频块进行解码时使用。语法元素可包括例如定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标记、或本文描述的任何其他语法信息。应注意,运动估计单元42和运动补偿单元44可高度集成,但出于概念目的而单独说明。
在一些实施方式中,帧内BC单元48可以以与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式生成矢量并提取预测块,但是这些预测块在与正被编码的当前块的同一帧中,并且这些矢量被称为块矢量而非运动矢量。具体地,帧内BC单元48可确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内BC单元48可例如在单独的编码通道期间使用各种帧内预测模式来对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可在各种测试的帧内预测模式中选择合适的帧内预测模式以使用并相应地生成帧内模式指示符。例如,帧内BC单元48可使用率失真分析针对各种测试的帧内预测模式计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析大体上确定编码块与被编码以生成编码块的原始未编码块之间的失真(或误差)量、以及用于生成编码块的比特率(即,比特数量)。帧内BC单元48可从针对各种编码块的失真和速率计算比率,以确定哪个帧内预测模式展现针对块的最佳率失真值。
在其他示例中,帧内BC单元48可全部或部分地使用运动估计单元42和运动补偿单元44来执行根据本文描述的实施方式的用于帧内BC预测的此类功能。在任一情况下,对于帧内块复制,在像素差方面,预测块可以是被认为与待编解码的块紧密匹配的块,像素差可由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定,并且预测块的识别可包括计算针对子整数像素位置的值。
无论预测块是来自根据帧内预测的同一帧还是来自根据帧间预测的不同帧,视频编码器20可通过从正被编解码的当前视频块的像素值减去预测块的像素值来形成像素差值,从而形成残差视频块。形成残差视频块的像素差值可包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方案,帧内预测处理单元46可对当前视频块进行帧内预测。具体地,帧内预测处理单元46可确定帧内预测模式以用于对当前块进行编码。为此,帧内预测处理单元46可例如在单独的编码通道期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测处理单元46(或在一些示例中,模式选择单元)可从测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可将指示选择的帧内预测模式的信息编码到比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可被包括在一个或更多个变换单元(TU)中并且提供给变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(DCT)或概念上类似的变换)将残差视频数据变换为残差变换系数。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可减小与系数中的一些或全部相关联的比特深度。可通过调整量化参数来修改量化程度。在一些示例中,量化单元54可随后执行对包括量化的变换系数的矩阵的扫描。可选地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分割熵(PIPE)编解码或另一熵编解码方法或技术,将量化的变换系数熵编码成视频比特流。然后,编码的比特流可被发送到视频解码器30,或存档于存储设备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可包括存储来自编码视频比特流的编码视频数据的编解码图片缓冲器(CPB)。视频解码器30的解码图片缓冲器(DPB)92存储参考视频数据以供视频解码器30(例如,以帧内或帧间预测编解码模式)在对视频数据进行解码时使用。视频数据存储器79和DPB 92可由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(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模式预测的、帧的哪些视频块在重建区域内且应被存储在DPB 92中的构建信息、用于帧的每个帧内BC预测视频块的块矢量、用于帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可使用如由视频编码器20在视频块的编码期间使用的内插滤波器执行内插,以计算针对参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可从接收到的语法元素确定由视频编码器20使用的内插滤波器,并且使用这些内插滤波器来生成预测块。
反量化单元86使用由视频编码器20针对视频帧中的每个视频块计算的用于确定量化程度的相同的量化参数,对在比特流中提供且由熵解码单元80熵解码的量化的变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重建残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内BC单元85生成的对应预测块相加,来重建针对当前视频块的解码视频块。环内滤波器(未示出)可位于加法器90与DPB 92之间以进一步处理解码视频块。然后,将给定帧中的解码视频块存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB92或与DPB 92分离的存储器设备还可存储解码视频以用于稍后呈现在显示器设备(例如,图1的显示器设备34)上。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每一帧可包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他情况下,帧可以是单色的,因此仅包括亮度样点的一个二维阵列。
如图4A中所示,视频编码器20(或更具体地,分割单元45)通过首先将帧分割为编码树单元(CTU)的集合来生成帧的编码表示。视频帧可包括以光栅扫描顺序从左到右和从上到下连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20以序列参数集用信号发送CTU的宽度和高度,使得视频序列中的所有CTU具有128×128、64×64、32×32和16×16之一的相同尺寸。但是应当注意,本申请不一定限于特定尺寸。如图4B中所示,每个CTU可包括亮度样点的一个编码树块(CTB)、色度样点的两个对应编码树块、以及用于对编码树块的样点进行编解码的语法元素。语法元素描述编码像素块的不同类型的单元的性质以及可如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个编码树块和用于对该编码树块的样点进行编解码的语法元素。编码树块可以是N×N样点块。
为实现更好的性能,视频编码器20可对CTU的编码树块递归地执行树分割,例如二叉树分割、三叉树分割、四叉树分割或两者的组合,并且将CTU划分为较小的编码单元(CU)。如图4C中所描绘的,首先将64×64 CTU 400划分为四个较小的CU,每个CU具有32×32的块尺寸。在四个较小的CU中,将CU 410和CU 420分别划分为块尺寸为16×16的四个CU。将两个16×16的CU 430和CU 440分别进一步划分为块尺寸为8×8的四个CU。图4D描绘了示出如图4C中所描绘的CTU 400的分割过程的最终结果的四叉树数据结构,四叉树的每个叶节点与范围从32×32到8×8的各个尺寸的一个CU对应。类似于图4B中描绘的CTU,每个CU可包括相同尺寸的帧的亮度样点的编码块(CB)和色度样点的两个对应编码块、和用于对编码块的样点进行编解码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个编码块和用于对编码块的样点进行编解码的语法结构。应注意,图4C和图4D中所描绘的四叉树分割仅出于说明性目的,并且一个CTU可基于四叉树/三叉树/二叉树分割被拆分为CU以适应于变化的局部特性。在多类型树结构中,一个CTU被四叉树结构分割,并且每个四叉树叶CU可被二叉和三叉树结构进一步分割。如图4E所示,存在五种分割类型,即四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。
在一些实施方式中,视频编码器20可进一步将CU的编码块分割为一个或更多个M×N预测块(PB)。预测块是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的预测单元(PU)可包括亮度样点的预测块、色度样点的两个对应预测块和用于对预测块进行预测的语法元素。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可生成针对CU的每个PU的亮度预测块、Cb预测块和Cr预测块的预测亮度块、预测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可重建帧。
如上所述,视频编解码主要使用两种模式(即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测))来实现视频压缩。基于调色板的编解码是已被许多视频编解码标准采用的另一编解码方案。在基于调色板的编解码(可能特别适合于屏幕生成的内容编解码)中,视频编解码器(例如,视频编码器20或视频解码器30)形成表示给定块的视频数据的颜色的调色板表。调色板表包括给定块中的最主要(例如,频繁使用的)像素值。在给定块的视频数据中不被频繁表示的像素值不包括在调色板表中或者作为逃逸颜色包括在调色板表中。
调色板表中的每个条目包括针对调色板表中的对应像素值的索引。针对块中的样点的调色板索引可被编码为指示来自调色板表的哪个条目将被用于预测或重建哪个样点。此调色板模式开始于生成针对图片、条带、瓦片或视频块的其他此类分组的第一块的调色板预测因子的过程。如下文将解释,通常通过更新先前使用的调色板预测因子来生成针对后续视频块的调色板预测因子。为了说明的目的,假设调色板预测因子在图片级被定义。换句话说,图片可包括多个编码块,每个编码块具有其自己的调色板表,但存在针对整个图片的一个调色板预测因子。
为了减少在视频比特流中用信号发送调色板条目所需的比特,视频解码器可利用调色板预测因子来确定用于重建视频块的调色板表中的新调色板条目。例如,调色板预测因子可包括来自先前使用的调色板表的调色板条目,或者甚至通过包括最近使用的调色板表的所有条目来利用最近使用的调色板表被初始化。在一些实施方式中,调色板预测因子可包括比来自最近使用的调色板表的所有条目更少的条目,然后并入来自其他先前使用的调色板表的一些条目。调色板预测因子可具有与用于编解码不同块的调色板表相同的大小,或者可大于或小于用于编解码不同块的调色板表。在一个示例中,调色板预测因子被实现为包括64个调色板条目的先进先出(FIFO)表。
为了从调色板预测因子生成针对视频数据的块的调色板表,视频解码器可从编码视频比特流接收针对调色板预测因子的每个条目的一比特标志。一比特标志可具有指示调色板预测因子的关联条目将被包括在调色板表中的第一值(例如,二进制一)或指示调色板预测因子的关联条目将不被包括在调色板表中的第二值(例如,二进制零)。如果调色板预测因子的大小大于用于视频数据的块的调色板表,则一旦达到针对调色板表的最大大小,视频解码器就可停止接收更多标志。
在一些实施方式中,调色板表中的一些条目可在编码视频比特流中直接用信号发送,而不使用调色板预测因子确定。对于此类条目,视频解码器可从编码视频比特流接收指示针对与条目相关联的亮度分量和两个色度分量的像素值的三个单独m比特值,其中m表示视频数据的比特深度。与直接用信号发送的调色板条目所需的多个m比特值相比,从调色板预测因子导出的那些调色板条目仅需要一比特标志。因此,使用调色板预测因子用信号发送一些或所有调色板条目可显著减少用信号发送新调色板表的条目所需的比特的数量,从而提高调色板模式编解码的整体编解码效率。
在许多情况下,针对一个块的调色板预测因子基于被用于对一个或多个先前编码的块进行编码的调色板表被确定。但是当对图片、条带或瓦片中的第一编码树单元进行编解码时,先前编解码的块的调色板表可能不可用。因此,不能使用先前使用的调色板表的条目来生成调色板预测因子。在这种情况下,可在序列参数集(SPS)和/或图片参数集(PPS)中用信号发送调色板预测因子初始化值的序列,调色板预测因子初始化值是用于在先前使用的调色板表不可用时生成调色板预测因子的值。SPS通常是指应用于被称为编码视频序列(CVS)的一系列连续的编码视频图片的语法元素的语法结构,其中该CVS是由每个条带片段头中找到的语法元素所提及的PPS中找到的语法元素的内容确定的。PPS通常是指应用于CVS内的一个或多个单独图片的语法元素的语法结构,其中该CVS是由在每个条带片段头中找到的语法元素确定的。因此,SPS通常被认为是比PPS更高等级的语法结构,这意味着与包括在PPS中的语法元素相比,包括在SPS中的语法元素通常改变频率低并且应用于更大部分的视频数据。
图5A至图5B是示出根据本公开的一些实施方式的使用上下文编解码和旁路编解码的变换系数编解码的示例的框图。
VVC中的变换系数编解码类似于HEVC中的变换系数编解码,因为它们都使用非重叠系数组(也称为CG或子块)。然而,这两种方案之间也存在一些差异。在HEVC中,系数的每个CG具有4×4的固定尺寸。在VVC草案6中,CG尺寸变得取决于TB尺寸。因此,各种CG尺寸(1×16、2×8、8×2、2×4、4×2和16×1)可用于VVC中。根据预定义扫描顺序对编码块内的CG和CG内的变换系数进行编解码。
为了限制每像素的经上下文编解码的二进制位(CCB)的最大数量,TB的面积和视频分量的类型(即,亮度分量与色度分量)被用于导出针对TB的经上下文编解码的二进制位(CCB)的最大数量。在一些实施例中,经上下文编解码的二进制位的最大数量等于TB_zosize×1.75。这里,TB_zosize表示系数归零之后TB内的样点数量。注意,作为指示CG是否包含非零系数的标志的coded_sub_block_flag不被考虑用于CCB计数。
系数归零是对变换块执行的操作,以使位于变换块的特定区域中的系数被设置为零。例如,在当前VVC中,64×64TB具有相关联的归零操作。因此,位于64×64TB的左上32×32区域之外的变换系数全部被强制为零。实际上,在当前VVC中,对于沿着特定维度的尺寸超过32的任何变换块,沿着该维度执行系数归零操作,以使位于左上32×32区域之外的系数为零。
在VVC中的变换系数编解码中,首先将变量remBinsPass1设置为所允许的经上下文编解码的二进制位的最大数量(MCCB)。在编解码过程期间,每当用信号发送经上下文编解码的二进制位时,该变量减一。在remBinsPass1大于或等于4时,利用包括sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的语法元素用信号发送系数,所述语法元素全部在第一通道中使用经上下文编解码的二进制位。系数的等级信息的其余部分在第二通道中使用哥伦布莱斯编解码和经旁路编解码的二进制位,利用语法元素abs_remainer被编解码。当在第一通道中进行编解码时remBinsPass1变得小于4时,当前系数不在第一通道中被编解码,而是在第二通道中使用哥伦布莱斯编解码和经旁路编解码的二进制位利用语法元素dec_abs_level被直接编解码。在所有上述等级编解码之后,针对sig_coeff_flag等于1的所有扫描位置的符号(sign_flag)最终被编解码为旁路二进制位。在图5A中描绘了这样的过程。针对每个TB重置remBinsPass1。每TB最多发生一次将经上下文编解码的二进制位用于sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag到将经旁路编解码的二进制位用于其余系数的转变。对于系数子块,如果在对其第一个系数进行编解码之前remBinsPass1小于4,则使用经旁路编解码的二进制位对整个系数子块进行编解码。
与单个残差编解码方案被设计用于对变换系数和变换跳过系数两者进行编解码的HEVC不同,在VVC中,两个单独的残差编解码方案分别被用于变换系数和变换跳过系数(即,残差)。
例如,观察到变换跳过模式中的残差的统计特性与变换系数的统计特性不同,并且在低频分量周围没有能量压缩。残差编解码被修改以考虑(空间)变换跳过残差的不同信号特性,其包括:
(1)不用信号发送最后x/y位置;
(2)当所有先前标志等于0时,针对除DC子块之外的每个子块对coded_sub_block_flag进行编解码;
(3)具有两个相邻系数的sig_coeff_flag上下文建模;
(4)仅使用一个上下文模型的par_level_flag;
(5)附加的大于5、7、9个标志;
(6)用于剩余部分二值化的修改的莱斯参数推导;
(7)基于左侧和上方相邻系数值确定针对符号标志的上下文建模,并且在sig_coeff_flag之后解析符号标志以将所有经上下文编解码的二进制位保留在一起;
如图5B中所示,在第一通道中逐个残差样点地以交错方式对语法元素sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag进行编解码,接着在第二通道中对abs_level_gtX_flag位面进行编解码,并且在第三通道中对abs_remainder进行编解码。
通道1:sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag
通道2:abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flag
通道3:abs_remainder
图6是示出根据本公开的一些实施方式的依赖标量量化的示例性过程的框图。
在当前VVC中,最大QP值从51扩展到63,并且初始QP的信令相应地被改变。当对slice_qp_delta的非零值进行编解码时,可在条带片段层修改SliceQpY的初始值。对于变换跳过块,因为当QP等于1时量化步长变为1,所以最小允许QP被定义为4。
另外,HEVC中使用的标量量化适应于称为“依赖标量量化”的新概念。依赖标量量化是指这样的方法:针对变换系数的可允许重建值的集合依赖于按重建顺序在当前变换系数级之前的变换系数级的值。当与HEVC中使用的常规独立标量量化相比时,可允许重建矢量在N维矢量空间中被更密集地打包(N表示变换块中的变换系数的数量)。也就是说,对于每N维单位体积的可允许重建矢量的给定平均数,输入矢量与最接近的重建矢量之间的平均失真被减小。依赖标量量化的方法通过以下步骤实现:(a)定义具有不同重建等级的两个标量量化器,以及(b)定义用于在两个标量量化器之间切换的过程。
在图6中示出了由Q0和Q1表示的所使用的两个标量量化器。可用重建等级的位置被量化步长Δ唯一地指定。所使用的标量量化器(Q0或Q1)不在比特流中被显式地用信号发送。相反,用于当前变换系数的量化器由按编解码顺序或重建顺序在当前变换系数之前的变换系数级的奇偶性确定。
图7是示出根据本公开的一些实施方式的用于在两个不同标量量化器之间切换的示例性状态机的框图。
如图7所示,两个标量量化器(Q0和Q1)之间的切换经由具有四个量化器状态(QState)的状态机来实现。QState可采用四个不同的值:0、1、2、3。它由按编解码顺序/重建顺序在当前变换系数之前的变换系数等级的奇偶性唯一地被确定。在针对变换块的反量化开始时,将状态设置为等于0。变换系数按扫描顺序(即,以它们被熵解码的相同顺序)被重建。在重建当前变换系数之后,如图7所示更新状态,其中k表示变换系数等级的值。
还支持用信号发送默认的缩放矩阵和用户定义的缩放矩阵。默认模式缩放矩阵都是平的,对于所有TB尺寸,元素等于16。IBC和帧内编解码模式当前共享相同的缩放矩阵。因此,对于用户定义(USER_DEFINED)的矩阵的情况,MatrixType和MatrixType_DC的数量更新如下:
MatrixType:30=2(对于帧内和IBC/帧间为2)×3(Y/Cb/Cr分量)×5(正方形TB尺寸:对于亮度从4×4到64×64,对于色度从2×2到32×32)
MatrixType_DC:14=2(对于帧内和IBC/帧间为2×对于Y分量为1)×3(TB尺寸:16×16、32×32、64×64)+4(对于帧内和IBC/帧间为2×对于Cb/Cr分量为2)×2(TB尺寸:16×16、32×32)
DC值分别针对以下缩放矩阵被编解码:16×16、32×32和64×64。对于尺寸小于8×8的TB,用信号发送一个缩放矩阵中的所有元素。如果TB的尺寸大于或等于8×8,则仅用信号发送一个8×8缩放矩阵中的64个元素作为基本缩放矩阵。为了获得大小大于8×8的正方形矩阵,将8×8基本缩放矩阵上采样(通过元素的复制)到对应的正方形大小(即16×16、32×32、64×64)。当用于64点变换的高频系数的归零被应用时,缩放矩阵的对应高频也被归零。也就是说,如果TB的宽度或高度大于或等于32,则仅保留系数的左半部或上半部,并且剩余系数被分配为零。此外,针对64×64缩放矩阵用信号发送的元素的数量也从8×8减少到三个4×4子矩阵,这是因为从未使用过右下4×4元素。
与针对变换系数等级的绝对值相关的语法元素的概率模型的选择取决于局部邻域中的绝对等级或部分重建的绝对等级的值。
所选择的概率模型取决于局部邻域中的绝对等级(或部分重建的绝对等级)的总和以及局部邻域中大于0的绝对等级的数量(由等于1的sig_coeff_flag的数量给定)。上下文建模和二值化取决于局部邻域的以下度量:
.numSig:局部邻域中非零等级的数量;
.sumAbs1:在局部邻域中在第一通道之后部分重建的绝对等级(absLevel1)的总和;
.sumAbs:局部邻域中的重建的绝对等级的总和
.对角线位置(d):变换块内的当前扫描位置的水平坐标和垂直坐标的总和
基于numSig、sumAbs1和d的值,选择用于对sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag进行编解码的概率模型。基于sumAbs和numSig的值来选择用于对abs_remainder和dec_abs_level进行二值化的莱斯参数。
在当前VVC中,减少的32点MTS(也称为RMTS32)基于跳过高频系数,并被用于降低32点DST-7/DCT-8的计算复杂度。并且,它伴随着包括所有类型的归零(即,RMTS32和DCT2中针对高频分量的现有归零)的系数编解码变化。具体地,最后一个非零系数位置编解码的二值化基于减小的TU尺寸被编解码,并且用于最后一个非零系数位置编解码的上下文模型选择由原始TU尺寸确定。另外,使用60个上下文模型对变换系数的sig_coeff_flag进行编解码。上下文模型索引的选择基于最多五个先前部分重建的绝对等级的总和(被称为locSumAbsPass1)和依赖量化的状态QState,如下:
如果cIdx等于0,则如下导出ctxInc:
ctxInc=12×Max(0,QState-1)+Min((locSumAbspass1+1)>>1,3)+(d<2?8:(d<5?4:0))
否则(cIdx大于0),如下导出ctxInc:
ctxInc=36+8×Max(0,QState-1)+Min((locSumAbspass1+1)>>1,3)+(d<2?4:0)
在当前VVC中,采用条带级语法元素“slice_ts_residual_coding_disabled_flag”来指示是否在条带级禁用用于变换跳过的残差编解码,即使当前TU处于变换跳过模式。例如,如果slice_ts_residual_coding_disabled_flag等于1,则针对当前TU,禁用针对变换跳过的残差编解码,而调用针对非变换跳过模式的残差编解码。此外,针对非变换跳过模式的残差编解码中的变换系数取决于量化器状态(QState)。但由于依赖标量量化专门应用于变换跳过模式,因此如果针对非变换跳过模式的残差编解码被应用于具有变换跳过模式的当前TU,则应禁用依赖标量量化。
在一些实施例中,采用语法元素“ph_dep_quant_enabled_flag”来限制另一语法元素“slice_ts_residual_coding_disabled_flag”的存在。具体来说,当标志“ph_dep_quant_enabled_flag”等于1(即,在当前图片处启用依赖量化)时,标志“slice_ts_residual_coding_disabled_flag”不被用信号发送,而是被推断为0。当标志“ph_dep_quant_enabled_flag”等于零时,标志“slice_ts_residual_coding_disabled_flag”在比特流中如下被用信号发送:
if(!ph_dep_quant_enabled_flag) | |
slice_ts_residual_coding_disabled_flag | u(1) |
在一些实施例中,采用图片头语法元素“ph_ts_residual_coding_disabled_flag”在图片级指示是否禁用针对变换跳过模式的残差编解码。如果ph_ts_residual_coding_disabled_flag等于1,则针对当前图片和当前图片的与图片头相关联的所有条带禁用针对变换跳过的残差编解码。因此,由于ph_ts_residual_coding_disabled_flag等于1,因此不需要在与图片头相关联的相应条带头中用信号发送对应的slice_ts_residual_coding_disabled_flag(其被推断为1);如果ph_ts_residual_coding_disabled_flag等于0,则仍可用信号发送语法元素slice_ts_residual_coding_disabled_flag以指示是否在当前条带中启用针对变换跳过的残差编解码。
在一些实施例中,如果禁用针对变换跳过模式的残差编解码,则禁用依赖标量量化(包括使用依赖量化状态来导出用于解析残差样点的上下文建模和莱斯参数,如介绍部分中所述)。换句话说,如果ph_ts_residual_coding_disabled_flag等于1,则ph_dep_quant_enabled_flag被设置为0。如果ph_dep_quant_enabled_flag等于1,则ph_ts_residual_coding_disabled_flag被设置为0。在另一示例中,如果ph_dep_quant_enabled_flag等于1,则slice_ts_residual_coding_disabled_flag被设置为0。在又一示例中,ph_dep_quant_enabled_flag和slice_ts_residual_coding_disabled_flag可都等于1;但对于变换跳过,忽略对于依赖量化、依赖状态的上下文模型和莱斯参数导出的应用,例如,检查当前TU是否为变换跳过模式,即,!transform_skip_flag[x0][y0][cIdx]。
在一些实施例中,语法元素ph_ts_residual_coding_disabled_flag等于1指示针对当前图片禁用针对变换跳过的残差编解码且仅调用针对非变换跳过的残差编解码,并且语法元素ph_ts_residual_coding_disabled_flag等于0指示针对当前图片应用用于变换跳过的残差编解码。如果语法元素ph_ts_residual_coding_disabled_flag不存在,则它被推断为0。语法元素ph_dep_quant_enabled_flag等于0指示针对当前图片禁用依赖量化,并且语法元素ph_dep_quant_enabled_flag等于1指示针对当前图片启用依赖量化。当语法元素ph_dep_quant_enabled_flag不存在时,它被推断为0。下表展示一个示例语法设计,其中语法元素ph_ts_residual_coding_disabled_flag用于确定语法元素ph_dep_quant_enabled_flag的存在。
在一些实施例中,针对变换跳过模式启用反量化方法(包括依赖量化以及依赖状态的上下文建模和状态相关莱斯参数导出两者)。通过这种设计,通过改变ph_dep_quant_enabled_flag和slice_ts_residual_coding_disabled_flag的值来支持以下组合:
.情况一:当两个标志均等于1时,将依赖量化应用于变换跳过模式。此外,将非变换跳过模式的残差编解码与依赖状态的上下文建模和依赖状态的莱斯参数导出一起应用于变换跳过TU
.情况二:当slice_ts_residual_coding_disabled_flag等于1而ph_dep_quant_enabled_flag等于0时。在这种情况下,将常规量化方法应用于变换跳过TU。同时,将非变换跳过模式的残差编解码应用于变换跳过模式,而不将依赖状态的上下文建模和依赖状态的莱斯参数推导应用于变换跳过模式
.情况三:当slice_ts_residual_coding_disabled_flag等于0而ph_dep_quant_enabled_flag等于1时。在这种情况下,将依赖量化应用于变换跳过模式,并且也将变换跳过模式的残差编解码应用于变换跳过TU,即,不将依赖状态的上下文建模和莱斯参数导出等应用于变换跳过TU。
在当前VVC中,如果禁用针对变换跳过模式的残差编解码,则即使当前TU处于变换跳过模式,也仅调用变换系数编解码。变量ZeroPos[n]由依赖标量量化器状态(QState)和与扫描位置n处的当前系数相关联的所选莱斯参数(cRiceParam)确定,如下所示:
ZeroPos[n]=(QState<2?1:2)<<cRiceParam
如图7中所描绘,如果当前TU处于变换跳过模式,但依赖标量量化器和变换系数编解码两者均被调用,则在根据标量量化器选择(Q0和Q1)以及k(其为重建顺序中的先前量化等级)的奇偶校验位对每个变换系数进行编解码之后,QState在4个状态(状态0、状态1、状态2和状态3)之间进行切换。
在一些实施例中,如果针对变换跳过TU调用变换系数编解码,则将依赖量化状态(QState)设置为等于恒定值,以便如下控制变量ZeroPos[n]:
ZeroPos[n]=1<<cRiceParam
在一个示例中,依赖量化(QState)的恒定值被设置为等于0。
在一些其他实施例中,变量ZeroPos[n]取决于transform_skip_flag、QState和cRiceParam,如下所示:
ZeroPos[n]=(QState<2||transform_skip_flag?1:2)<<cRiceParam。
在又一些其他实施例中,变量ZeroPos[n]取决于QState、cRiceParam和变换跳过残差编解码禁用标志ts_residual_coding_disabled_flag,ts_residual_coding_disabled_flag可在序列参数集(SPS)、图片级(例如,参数集(PPS)、图片头)、条带头、瓦片组头、瓦片或在CTU级、CU级或TU级被用信号发送。在一个示例中,变量ZeroPos[n]被如下确定:
ZeroPos[n]=(QState<2||ts_residual_coding_disabled_flag?1:2)<<cRiceParam。
在当前VVC中,如果ph_dep_quant_enabled_flag等于1,则slice_ts_residual_coding_disabled_flag可被设置为等于1。因此,在变换系数编解码中,如果ph_dep_quant_enabled_flag和slice_ts_redisual_coding_disabled_flag两者均等于1,则如下利用依赖量化QState修改变换系数级变量TransCoeffLevel。
由于上文方法会降低无损编解码效率,因此TransCoeffLevel[x0][y0][cIdx][xC][yC]的推导可取决于变换跳过标志。在一个示例中,对TransCoeffLevel[x0][y0][cIdx][xc][yc]的推导的改变如下:
在一些实施例中,TransCoeffLevel[x0][y0][cIdx][xC][yC]的推导取决于变换跳过残差编解码禁用标志ts_residual_coding_disabled_flag,ts_residual_coding_disabled_flag可在序列参数集(SPS)、图片级(例如,参数集(PPS)、图片头)、条带头、瓦片组头、瓦片或在CTU级、CU级或TU级被用信号发送。在一个示例中,对TransCoeffLevel[x0][y0][cIdx][xc][yc]的推导的改变如下:
图8A至图8D是分别示出根据本公开的一些实施方式的视频解码器对视频比特流的当前图片进行解码的示例性过程800和900的流程图。如上文所提及,因为依赖标量量化专门应用于变换跳过模式,所以如果针对非变换跳过模式的残差编解码应用于具有变换跳过模式的当前图片,则应禁用依赖标量量化。
如图8A中所描绘,视频解码器(例如,视频解码器30)从视频比特流接收当前图片的第一语法元素(例如,ph_dep_quant_enabled_flag)(810)。然后,视频解码器根据第一语法元素检查是否针对当前图片禁用依赖量化(820)。根据确定针对当前图片禁用依赖量化(820-是),视频解码器然后从视频比特流接收当前图片的第二语法元素(例如,slice_ts_residual_coding_disabled_flag)(830)。但是如果第一语法元素指示针对当前图片启用依赖量化(820-否),则视频解码器将第二语法元素设置为针对当前图片启用变换跳过模式下的变换跳过残差编解码的默认值(840)。然后,视频解码器根据第一语法元素和第二语法元素对当前图片执行残差解码和依赖反量化(850)。在一些实施例中,当第一语法元素为0时,第二语法元素为1;并且当第二语法元素为1时,第一语法元素为0。
在一些实施例中,当第一语法元素指示针对当前图片禁用依赖量化时,视频解码器针对当前图片禁用依赖量化(860);当第一语法元素指示针对当前图片启用依赖量化时,视频解码器针对当前图片启用依赖量化(870)。
在一些实施例中,当第二语法元素指示在变换跳过模式下针对当前图片启用变换跳过残差编解码时,视频解码器对当前图片执行变换跳过模式下的变换跳过残差编解码(880);并且当第二语法元素指示在变换跳过模式下针对当前图片禁用变换跳过残差编解码时,视频解码器对当前图片执行变换跳过模式下的常规残差编解码(890)。
在一些实施例中,如图8B中所描绘,当针对当前图片不禁用变换跳过模式下的变换跳过残差编解码时,视频解码器从视频比特流接收第三语法元素(例如,slice_ts_residual_coding_disabled_flag),其中,第三语法元素指示是否针对与当前图片相关联的当前条带启用变换跳过模式下的变换跳过残差编解码(892);当针对当前图片禁用变换跳过模式下的变换跳过残差编解码时,视频解码器将第三语法元素设置为针对与当前图片相关联的所有条带禁用变换跳过模式下的变换跳过残差编解码的默认值(894)。
在一些实施例中,如图8C中所描绘,当针对当前图片禁用变换跳过模式下的变换跳过残差编解码时,视频解码器独立于当前图片的残差样点的依赖量化状态,推导用于解析当前图片的残差样点的上下文建模和莱斯参数(896)。
在一些实施例中,视频解码器独立于当前图片的残差样点的依赖量化状态,推导用于解析当前图片的残差样点的上下文建模和莱斯参数。换句话说,上下文建模和莱斯参数的推导与依赖量化状态的使用之间不存在依赖性。
在一些实施例中,如图8D中所描绘,视频解码器从视频比特流接收当前图片的控制标志(910)。根据确定控制标志指示针对当前图片的变换跳过编码单元调用变换系数编解码(920),视频解码器将恒定值设置为变换跳过编码单元的依赖量化状态(930)。对于变换跳过编码单元的每个系数(940),视频解码器根据依赖量化状态和莱斯参数确定对应的零位置(950),然后根据对应的零位置和莱斯参数对系数进行解码(960)。
图9是示出根据本公开的一些实施方式的示例上下文自适应二进制算术编解码(CABAC)引擎的框图。
上下文自适应二进制算术编码(CABAC)是在许多视频编解码标准(例如,H.264/MPEG-4 AVC、高效视频编解码(HEVC)和VVC)中使用的熵编解码形式。CABAC基于算术编解码,具有一些创新和改变以使其适应视频编解码标准的需要。例如,CABAC对二进制符号进行编解码,这保持低复杂度并且允许对任何符号的更频繁使用的比特进行概率建模。因为编解码模式通常是局部良好相关,所以基于局部上下文自适应地选择概率模型,允许更好地建模概率。最后,CABAC通过使用量化的概率范围和概率状态来使用免乘法范围除法。
CABAC具有针对不同上下文的多个概率模式。它首先将所有非二进制符号转换为二进制。然后,对于每个二进制位(或称为比特),编解码器选择使用哪个概率模型,然后使用来自附近元素的信息来优化概率估计。最后应用算术编解码来压缩数据。
上下文建模提供对编解码符号的条件概率的估计。利用合适的上下文模型,可通过根据当前符号附近的已编解码的符号在不同概率模型之间进行切换来利用给定的符号间冗余进行编码。对数据符号进行编解码涉及以下阶段。
二值化:CABAC使用二进制算术编解码,这表示只有二进制决策(1或0)被编解码。非二进制值符号(例如变换系数或运动矢量)在算术编解码之前被“二值化”或转换为二进制代码。此过程类似于将数据符号转换为可变长度代码的过程,但二进制代码在传输之前(由算术编码器)进一步被编码。针对二值化符号的每个二进制位(或“比特”)重复这些阶段。
上下文模型选择:“上下文模型”是针对二值化符号的一个或多个二进制位的概率模型。该模型可根据最近编解码的数据符号的统计从可用模型的选择中被选择。上下文模型存储每个二进制位为“1”或“0”的概率。
算术编码:算术编码器根据选择的概率模型对每个二进制位进行编码。注意,对于每个二进制位(对应于“0”和“1”)只有两个子范围。
概率更新:基于实际编解码的值更新选择的上下文模型(例如,如果二进制位值是“1”,则增加频率计数“1”)。
通过将每个非二进制语法元素值分解为二进制位的序列,CABAC中每个二进制位值的进一步处理取决于相关联的编解码模式决策,其可被选择为常规模式或旁路模式。后者是针对二进制位选择的,这些二进制位假设是均匀分布,因此,对于这些二进制位,整个常规二进制算术编码(和解码)过程被简单地绕过。在常规编解码模式中,每个二进制位值通过使用常规二进制算术编解码引擎被编码,其中相关联的概率模型基于语法元素的类型和语法元素的二值化表示中的二进制位位置或二进制位索引(binIdx)通过固定选择被确定,或者相关联的概率模型根据相关的边信息(例如,空间邻近者、分量、CU/PU/TU的深度或尺寸,或TU内的位置)从两个或多个概率模型中被自适应地选择。概率模型的选择被称为上下文建模。作为一个重要的设计决策,后一种情况通常仅被应用于最频繁观察到的二进制位,而其他通常不太频繁观察到的二进制位将使用联合的、典型零阶概率模型来处理。通过这种方式,CABAC能够在子符号级上进行选择性的自适应概率建模,因此,为利用符号间冗余提供了一种有效的工具,显著降低了整体建模或学习成本。注意,对于固定情况和自适应情况,原则上,从一个概率模型到另一个概率模型的切换可发生在任何两个连续的常规编解码二进制位之间。一般来说,CABAC中上下文模型的设计反映了以下目的:在避免不必要的建模成本开销与在很大程度上利用统计相关性的冲突目标之间找到良好折衷。
CABAC中的概率模型的参数是自适应的,这意味着模型概率对二进制位的源的统计变化的自适应是在逐个二进制位的基础上按照后向自适应和同步的方式在编码器和解码器中执行;这个过程被称为概率估计。为此,CABAC中的每个概率模型都可利用相关联的模型概率值p从126个不同状态中取一个状态,相关模型概率值p的范围在[0:01875;0:98125]区间内。每个概率模型的两个参数以7比特条目的形式存储在上下文存储器中:6比特用于代表最不可能符号(LPS)的模型概率pLPS的63个概率状态中的每一个,并且1比特用于nMPS,即最可能符号(MPS)的值。
在一个或更多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合实施。如果以软件实施,则功能可作为一个或更多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并且由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或对应于包括促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何介质的通信介质。以此方式,计算机可读介质通常可对应于(1)非易失性的有形计算机可读存储介质、或(2)通信介质,诸如信号或载波。数据存储介质可以是可由一个或更多个计算机或一个或更多个处理器访问以取回用于实现本申请中描述的实现方式的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
在本文的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并不旨在限制权利要求的范围。如在实施方式的描述和所附权利要求中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,如本文使用的术语“和/或”是指并且涵盖相关联的所列项目中的一个或更多个的任何和所有可能的组合。将进一步理解,术语“包括”和/或“包括…的”当在本说明书中使用时,指定存在所陈述的特征、元件和/或组件,但不排除存在或添加一个或更多个其他特征、元件、组件和/或其群组。
还将被理解,尽管本文可使用术语第一、第二等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离实施方式的范围的情况下,第一电极可被称为第二电极,并且类似地,第二电极可被称为第一电极。第一电极和第二电极都是电极,但它们不是相同的电极。
本申请的描述已经出于说明和描述的目的被呈现,并且不旨在穷举或限于所公开的形式的发明。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域的其他技术人员能够理解本发明的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在所附权利要求的范围内。
Claims (11)
1.一种对视频数据进行解码的方法,包括:
从视频比特流接收当前图片的第一语法元素;
根据确定所述第一语法元素指示针对所述当前图片禁用依赖量化:
从所述视频比特流接收所述当前图片的第二语法元素,其中所述第二语法元素指示是否针对所述当前图片禁用变换跳过模式下的变换跳过残差编解码;
根据确定所述第一语法元素指示针对所述当前图片启用依赖量化:
将所述第二语法元素设置为针对所述当前图片启用变换跳过模式下的变换跳过残差编解码的默认值;并且
根据所述第一语法元素和所述第二语法元素对所述当前图片执行残差解码和依赖反量化。
2.根据权利要求1所述的方法,其中所述根据所述第一语法元素和所述第二语法元素对所述当前图片执行变换跳过残差解码还包括:
当所述第二语法元素指示在变换跳过模式下针对所述当前图片启用变换跳过残差编解码时,对所述当前图片执行变换跳过模式下的变换跳过残差编解码;并且
当所述第二语法元素指示在变换跳过模式下针对所述当前图片禁用变换跳过残差编解码时,对所述当前图片执行变换跳过模式下的常规残差编解码。
3.根据权利要求1所述的方法,其中所述根据所述第一语法元素和所述第二语法元素对所述当前图片执行反量化还包括:
当所述第一语法元素指示针对所述当前图片禁用依赖量化时,针对所述当前图片禁用依赖量化;并且
当所述第一语法元素指示针对所述当前图片启用依赖量化时,针对所述当前图片启用依赖量化。
4.根据权利要求1所述的方法,还包括:
当针对所述当前图片不禁用变换跳过模式下的变换跳过残差编解码时,从所述视频比特流接收第三语法元素,其中,所述第三语法元素指示是否针对与所述当前图片相关联的当前条带启用变换跳过模式下的变换跳过残差编解码。
5.根据权利要求4所述的方法,还包括:
当针对所述当前图片禁用在变换跳过模式下的变换跳过残差编解码时,将所述第三语法元素设置为针对与所述当前图片相关联的所有条带禁用变换跳过模式下的变换跳过残差编解码的默认值。
6.根据权利要求1所述的方法,还包括:
当针对所述当前图片禁用变换跳过模式下的变换跳过残差编解码时,独立于所述当前图片的残差样点的依赖量化状态,推导用于解析所述当前图片的所述残差样点的上下文建模和莱斯参数。
7.根据权利要求1所述的方法,其中当所述第一语法元素为0时,所述第二语法元素为1。
8.根据权利要求1所述的方法,其中当所述第二语法元素为1时,所述第一语法元素为0。
9.一种对视频数据进行解码的方法,包括:
从视频比特流接收当前图片的控制标志;
根据确定所述控制标志指示针对所述当前图片的变换跳过编码单元调用变换系数编解码:
将恒定值设置为所述变换跳过编码单元的依赖量化状态;
对于所述变换跳过编码单元的每个系数,
根据所述依赖量化状态和莱斯参数确定对应的零位置;并且
根据所述对应的零位置和所述莱斯参数对所述系数进行解码。
10.一种电子装置,包括:
一个或多个处理单元;
存储器,被耦接到所述一个或多个处理单元;以及
多个程序,被存储在所述存储器中,所述多个程序在由所述一个或多个处理单元执行时,使所述电子装置执行如权利要求1至9所述的方法。
11.一种非易失性计算机可读存储介质,存储用于由具有一个或多个处理单元的电子装置执行的多个程序,其中所述多个程序在由所述一个或多个处理单元执行时使所述电子装置执行如权利要求1至9所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063003859P | 2020-04-01 | 2020-04-01 | |
US63/003,859 | 2020-04-01 | ||
US202063004731P | 2020-04-03 | 2020-04-03 | |
US63/004,731 | 2020-04-03 | ||
PCT/US2021/024921 WO2021202556A1 (en) | 2020-04-01 | 2021-03-30 | Lossless coding modes for video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115362685A true CN115362685A (zh) | 2022-11-18 |
Family
ID=77929743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180025006.2A Pending CN115362685A (zh) | 2020-04-01 | 2021-03-30 | 用于视频编解码的无损编解码模式 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115362685A (zh) |
WO (1) | WO2021202556A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11991395B2 (en) * | 2021-09-29 | 2024-05-21 | Tencent America LLC | Techniques for constraint flag signaling for range extension with rice coding |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11483575B2 (en) * | 2018-08-24 | 2022-10-25 | Hfi Innovation Inc. | Coding transform coefficients with throughput constraints |
WO2020056354A1 (en) * | 2018-09-14 | 2020-03-19 | Futurewei Technologies, Inc. | Tile based addressing in video coding |
IL312227A (en) * | 2018-09-21 | 2024-06-01 | Interdigital Vc Holdings Inc | Scalar quantizer decision diagram for dependent scalar quantization |
-
2021
- 2021-03-30 WO PCT/US2021/024921 patent/WO2021202556A1/en active Application Filing
- 2021-03-30 CN CN202180025006.2A patent/CN115362685A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021202556A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115361561B (zh) | 残差和系数编解码的方法和装置 | |
CN116939220B (zh) | 残差和系数编解码的方法和装置 | |
CN114930833A (zh) | 使用调色板模式的视频编解码的方法和装置 | |
US20220329812A1 (en) | Residual and coefficients coding for video coding | |
US20240283977A1 (en) | Methods and apparatus on transform and coefficient signaling | |
CN115802061B (zh) | 对视频数据进行编码的方法、电子装置和存储介质 | |
US20220353540A1 (en) | Methods and apparatus of video coding using palette mode | |
CN115362685A (zh) | 用于视频编解码的无损编解码模式 | |
CN115136603A (zh) | 用于视频编解码的无损编解码模式 | |
CN114556932B (zh) | 用于视频编解码的无损编解码模式 | |
US20220256199A1 (en) | Methods and apparatus of residual and coefficients coding | |
US12108067B2 (en) | Methods and apparatus of video coding using palette mode | |
WO2021138432A1 (en) | Methods and apparatus of video coding using palette mode | |
WO2021055970A1 (en) | Methods and apparatus of video coding using palette mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |