CN114286095A - 视频解码方法、装置及设备 - Google Patents
视频解码方法、装置及设备 Download PDFInfo
- Publication number
- CN114286095A CN114286095A CN202011032892.5A CN202011032892A CN114286095A CN 114286095 A CN114286095 A CN 114286095A CN 202011032892 A CN202011032892 A CN 202011032892A CN 114286095 A CN114286095 A CN 114286095A
- Authority
- CN
- China
- Prior art keywords
- value
- quantization coefficient
- quantization
- coefficient matrix
- quantized
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频解码方法、装置及设备,属于音视频技术领域。所述方法包括:对目标编码单元进行解码,得到目标编码单元对应的量化系数矩阵;根据量化系数矩阵中的量化系数,确定第一参考信息;获取第一参考信息对应的变换跳过标志位的取值,变换跳过标志位是指变换跳过子块位置的标志位,变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置;根据获取到的变换跳过标志位的取值,确定目标编码单元的变换跳过子块位置。本申请通过编码单元对应的量化系数矩阵中的量化系数,隐含指示目标编码单元中变换跳过子块位置的标志位,减少了视频码流占用的比特数,提升了视频编码效率。
Description
技术领域
本申请实施例涉及音视频技术领域,特别涉及一种视频解码方法、装置及设备。
背景技术
视频信号是指包括多个帧的图像序列。由于视频信号数字化后数据带宽很高,计算机设备难以直接对之进行存储、传输等处理,因而需要采用视频压缩技术来降低视频信号的数据带宽。
视频压缩技术是通过视频编码来实现的,在一些主流的视频编码技术中,采用了混合编码框架,对输入的原始视频信号进行一系列的操作和处理。在编码端,编码器对输入的原始视频信号(视频序列)进行块划分得到若干不重叠的编码单元;然后对编码单元进行预测编码,得到残差数据;再对残差数据进行变换跳过和量化,得到量化系数矩阵;之后,对量化系数矩阵以及其他信息(如选择的编码模式、编码单元的运动矢量等)进行熵编码或统计编码,得到压缩后的视频码流。在解码端,解码器对获取到的视频码流执行上述编码端执行的操作的反操作,也即,解码器先对视频码流进行解码得到量化系数矩阵以及各种编码模式信息等;之后,一方面对量化系数矩阵进行反量化得到编码单元对应的残差数据,另一方面根据各种编码模式信息等获取编码单元对应的预测信号;再根据残差数据和预测信号,即可得到重建信号,最后对重建信号进行环路滤波等处理,得到最终的视频输出信号。
其中,针对编码单元对应的残差信号的变换跳过和量化,相关技术中对编码单元进行子块划分,并对划分得到的部分子块进行残差数据的变换跳过和量化,而强行清零其它子块。对于需要对残差数据进行变换跳过和量化的子块,相关技术中通过标志位来指示这些子块的位置(本申请中称为“变换跳过子块位置”)。在视频编码过程中,编码器对标志位进行显示的编码,以写入视频码流,后续解码器对视频码流解码得到标志位,进而根据标志位导出变换跳过子块位置。
然而,通过对变换跳过子块位置的标志位进行编码,会导致码流比特数的增加,不利于视频编码效率的提升。
发明内容
本申请实施例提供了一种视频解码方法、装置及设备,可用于减少码流比特数,提升视频编码效率。所述技术方案如下:
一方面,本申请实施例提供了一种视频解码方法,所述方法包括:
对目标编码单元进行解码,得到所述目标编码单元对应的量化系数矩阵;
根据所述量化系数矩阵中的量化系数,确定第一参考信息;
获取所述第一参考信息对应的变换跳过标志位的取值,所述变换跳过标志位是指变换跳过子块位置的标志位,所述变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置;
根据获取到的所述变换跳过标志位的取值,确定所述目标编码单元的变换跳过子块位置。
另一方面,本申请实施例提供了一种视频编码方法,所述方法包括:
获取目标编码单元对应的量化系数矩阵;
确定需要根据所述量化系数矩阵指示取值的变换跳过标志位的值,所述变换跳过标志位是指所述目标编码单元的变换跳过子块位置的标志位,所述变换跳过子块位置是指所述目标编码单元中需要对残差数据进行变换跳过和量化的子块的位置;
按照所述变换跳过标志位的值,调整所述量化系数矩阵中的量化系数,得到调整后的量化系数矩阵;
对所述调整后的量化系数矩阵进行编码。
在一个示例中,所述按照所述变换跳过标志位的值,调整所述量化系数矩阵中的量化系数,得到调整后的量化系数矩阵,包括:将所述变换跳过标志位的值对应的参考信息,确定为第一参考信息;获取所述量化系数矩阵中的至少一个量化系数;对所述至少一个量化系数进行统计求和处理,得到统计求和结果;根据所述统计求和结果、所述第一参考信息以及第一计算因子,对所述至少一个量化系数进行调整,得到调整后的至少一个量化系数;其中,所述第一参考信息是通过所述第一计算因子对所述调整后的至少一个量化系数的统计求和结果进行求余处理得到的。
在一个示例中,所述获取所述量化系数矩阵中的至少一个量化系数,包括以下至少一种方式:获取所述量化系数矩阵中的所有量化系数;获取所述量化系数矩阵中至少一个指定位置上的量化系数;获取所述量化系数矩阵中至少一行上的量化系数;获取所述量化系数矩阵中至少一列上的量化系数;获取所述量化系数矩阵中至少一行和至少一列上的量化系数;获取所述量化系数矩阵中至少一个斜线上的量化系数;获取所述量化系数矩阵中扫描顺序位于前n位的量化系数,所述n为正整数;获取所述量化系数矩阵中扫描顺序位于中间m位的量化系数,所述m为正整数;获取所述量化系数矩阵的扫描区域系数编码SRCC区域中的所有量化系数;获取所述量化系数矩阵的SRCC区域中至少一个指定位置上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一行上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一列上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一行和至少一列上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一个斜线上的量化系数;获取所述量化系数矩阵的SRCC区域中扫描顺序位于前s位的量化系数,所述s为正整数;获取所述量化系数矩阵的SRCC区域中扫描顺序位于中间t位的量化系数,所述t为正整数。
在一个示例中,所述对所述至少一个量化系数进行统计求和处理,得到统计求和结果,包括:对所述至少一个量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为奇数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为奇数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为偶数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为非零偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为非零偶数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数;对所述至少一个映射后的量化系数进行统计求和处理,得到所述统计求和结果。
在一个示例中,所述对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数,包括:将所述至少一个量化系数中原值为奇数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为偶数的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,将所述至少一个量化系数中原值为零的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值非零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,将所述至少一个量化系数中原值为非零偶数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为奇数或零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,对所述至少一个量化系数进行计算映射处理,得到所述至少一个映射后的量化系数;其中,所述计算映射处理包括以下至少一项:取反映射、加值映射、减值映射、乘值映射、除值映射。
在一个示例中,所述变换跳过标志位包括以下至少一项:第一标志位,用于指示所述目标编码单元的变换跳过子块位置的划分方向,所述划分方向包括横向划分和纵向划分;第二标志位,用于在所述第一标志位指示的划分方向的基础上,指示所述目标编码单元的变换跳过子块位置。
在一个示例中,所述方法还包括:根据编码数据中的目标索引,指示所述编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;其中,所述编码数据中的编码单元包括以下任意一项:所述编码数据中的所有编码单元、所述编码数据中采用帧内预测模式的编码单元、所述编码数据中采用帧间预测模式的编码单元。
在一个示例中,所述根据编码数据中的目标索引,指示所述编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,包括以下至少一项:根据所述编码数据包含的序列头中编码的第一索引,指示第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第一索引;根据所述编码数据包含的图像头中编码的第二索引,指示第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第二索引;根据所述编码数据包含的条带头中编码的第三索引,指示第一条带中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第三索引;根据所述编码数据包含的最大编码单元头部信息中编码的第四索引,指示第一最大编码单元中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第四索引;在第一图像中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值的情况下,根据所述编码数据包含的序列头中编码的第一索引以及所述编码数据包含的图像中编码的第二索引,指示所述第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第一索引和所述第二索引。
在一个示例中,所述获取目标编码单元对应的量化系数矩阵,包括:对所述目标编码单元进行预测编码,得到所述目标编码单元对应的残差数据;确定所述目标编码单元的变换跳过子块位置;按照所述变换跳过子块位置,对所述残差数据进行变换跳过和量化,得到所述量化系数矩阵。
在一个示例中,所述方法还包括:根据所述变换跳过子块位置的标志位的值,确定是否需要对所述量化系数矩阵进行旋转;在确定需要对所述量化系数矩阵进行旋转的情况下,将所述量化系数矩阵的方向从第二方向旋转为第一方向,得到旋转后的量化系数矩阵,所述旋转后的量化系数矩阵用于进行编码。
再一方面,本申请实施例提供了一种视频解码装置,所述装置包括:
解码模块,用于对目标编码单元进行解码,得到所述目标编码单元对应的量化系数矩阵;
信息确定模块,用于根据所述量化系数矩阵中的量化系数,确定第一参考信息;
取值获取模块,用于获取所述第一参考信息对应的变换跳过标志位的取值,所述变换跳过标志位是指变换跳过子块位置的标志位,所述变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置;
位置确定模块,用于根据获取到的所述变换跳过标志位的取值,确定所述目标编码单元的变换跳过子块位置。
又一方面,本申请实施例提供了一种视频编码装置,所述装置包括:
矩阵获取模块,用于获取目标编码单元对应的量化系数矩阵;
取值确定模块,用于确定需要根据所述量化系数矩阵指示取值的变换跳过标志位的值,所述变换跳过标志位是指所述目标编码单元的变换跳过子块位置的标志位,所述变换跳过子块位置是指所述目标编码单元中需要对残差数据进行变换跳过和量化的子块的位置;
系数调整模块,用于按照所述变换跳过标志位的值,调整所述量化系数矩阵中的量化系数,得到调整后的量化系数矩阵;
编码模块,用于对所述调整后的量化系数矩阵进行编码。
还一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述视频解码方法,或实现如上述视频编码方法。
还一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述视频解码方法,或实现如上述视频编码方法。
还一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如上述视频解码方法,或实现如上述视频编码方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过编码单元对应的量化系数矩阵中的量化系数,隐含指示目标编码单元中变换跳过子块位置的标志位,进而确定目标编码单元中的变换跳过子块位置,从而避免对变换跳过子块位置的显示编码,减少了视频码流占用的比特数,提升了视频编码效率。并且,本申请实施例提供的技术方案中,由于无需对变换跳过子块位置的每个标志位都进行显示地编码和解码,从而可以降低视频编码器和视频解码器的处理开销,有助于视频编码器编码效率以及视频解码器解码效率的提升。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的视频编码过程的示意图;
图2是本申请一个实施例提供的SRCC扫描区域的示意图;
图3是本申请一个实施例提供的SRCC扫描顺序的示意图;
图4是本申请一个实施例提供的子块划分的示意图;
图5是本申请一个实施例提供的子块变换的示意图;
图6是本申请一个实施例提供的通信系统的框图;
图7是本申请一个实施例提供的流式传输系统的框图;
图8是本申请一个实施例提供的视频解码方法的流程图;
图9是本申请一个实施例提供的旋转量化系数矩阵的示意图;
图10是本申请一个实施例提供的获取量化系数的示意图;
图11是本申请一个实施例提供的视频编码方法的流程图;
图12是本申请一个实施例提供的视频编解码过程的示意图;
图13是本申请一个实施例提供的视频解码装置的框图;
图14是本申请另一个实施例提供的视频解码装置的框图;
图15是本申请一个实施例提供的视频编码装置的框图;
图16是本申请另一个实施例提供的视频编码装置的框图;
图17是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先结合图1对视频编码技术进行简单介绍。请参考图1,其示出了本申请一个实施例提供的视频编码过程的示意图。
视频信号是指包括一个或多个帧的图像序列。帧(frame)是视频信号空间信息的表示。以YUV模式为例,一个帧包括一个亮度样本矩阵(Y)和两个色度样本矩阵(Cb和Cr)。从视频信号的获取方式来看,可以分为摄像机拍摄到的以及计算机生成的两种方式。由于统计特性的不同,其对应的压缩编码方式也可能有所区别。
在一些主流的视频编码技术中,如H.265/HEVC(High Efficient VideoCoding,高效率视频压缩编码)、H.266/VVC(Versatile Video Coding,通用视频编码)标准、AVS(Audio Video coding Standard,音视频编码标准)(如AVS3)中,采用了混合编码框架,对输入的原始视频信号进行如下一系列的操作和处理:
1、块划分结构(Block Partition Structure):输入图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding TreeUnit,编码树单元),或者LCU(Large Coding Unit,最大编码单元)。CTU再往下,可以继续进行更加精细的划分,得到一个或多个基本编码的单元,称之为CU(Coding Unit,编码单元)。每个CU是一个编码环节中最基本的元素,当进行预测时,CU还需要进一步划分为不同的PU(Predict Unit,预测单元)。以下描述的是对每一个CU可能采用的各种编码方式。
2、预测编码(Predictive Coding):包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前CU决定在众多可能的预测编码模式中,选择最适合的一种,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域。帧间预测是指预测的信号来自已经编码过的,不同于当前图像的其他图像(称之为参考图像)。
3、变换编码及量化(Transform&Quantization):残差视频信号经过DFT(DiscreteFourier Transform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)等变换操作,将信号转换到变换域中,称之为变换系数。在变换域中的信号,进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前CU选择其中的一种变换,并告知解码端。量化的精细程度通常由量化参数来决定。QP(Quantization Parameter,量化参数)取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
4、熵编码(Entropy Coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流(或称为“视频码流”,为描述方便,以下统称为“视频码流”)。同时,编码产生其他信息,例如选择的模式、运动矢量等,也需要进行熵编码以降低码率。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(Variable Length Coding,简称VLC)或者基于上下文的二值化算术编码(Content Adaptive Binary ArithmeticCoding,简称CABAC)。
5、环路滤波(Loop Filtering):已经编码过的图像,经过反量化、反变换及预测补偿的操作(上述2~4的反向操作),可获得重建的解码图像。重建图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(distortion)。对重建图像进行滤波操作,例如去块效应滤波(deblocking),SAO(Sample Adaptive Offset,样本自适应偏移量)或者ALF(Adaptive Lattice Filter,自适应格型滤波器)等滤波器,可以有效的降低量化所产生的失真程度。由于这些经过滤波后的重建图像,将作为后续编码图像的参考,用于对将来的信号进行预测,所以上述的滤波操作也被称为环路滤波,及在编码环路内的滤波操作。
在解码端,解码器对获取到的视频码流执行上述编码端执行的操作的反操作。由上述介绍说明可知,在解码端,对于每一个CU,解码器先对视频码流进行解码得到量化系数矩阵以及各种编码模式信息等。之后,一方面对量化系数矩阵进行反量化得到编码单元对应的残差数据,另一方面根据各种编码模式信息等获取编码单元对应的预测信号;再根据残差数据和预测信息(残差数据加上预测信号),即可得到重建信号,最后对重建信号进行环路滤波等处理,得到最终的视频输出信号。
需要说明的一点是,本申请实施例中,量化系数矩阵包含量化后的系数(或称为“量化系数”),又可以称为“变换量化系数矩阵”等,随着视频压缩技术的演进以及不同的命名习惯,量化系数矩阵可能出现其它的名称,应理解,“量化系数矩阵”这一名称并不构成对本申请的限定,后续与“量化系数矩阵”具有相同含义的名称等也应当属于本申请的保护范围之内。
由上述介绍说明可知,由于预测编码过程可能存在较大的预测误差,因此,需要对残差进行传输,以对预测信号进行补偿,从而提高重建信号的质量。如图1所示,在混合编码框架中,残差数据为原始视频信号(原始图像)与预测信号(预测图像)之间的差值:
在一个示例中,可以利用残差数据的相关性,通过变换对残差数据进行能量集中,使得能量集中在较少的低频系数,使得多数系数值较小。再经过后续的量化处理,较小的系数值将变为零值。通过对残差数据的变换跳过和量化处理,极大降低了编码残差数据的代价,提升了视频编码效率。
由于残差信号在经过变换跳过和量化处理后,量化系数矩阵中非零系数较大概率会集中在矩阵的左边和上方区域,而矩阵的右边和下方区域往往为0,因此引入了SRCC(Scan Region Coefficient Coding,扫描区域系数编码)技术,通过SRCC技术可以标记出每个量化系数矩阵(尺寸为W×H)中包含的非零系数的左上区域的大小SRx×SRy,其中SRx是量化系数块中最右面的非零系数的横坐标,SRy是量化系数块中最下面的非零系数的纵坐标,且1≤SRx≤W,1≤SRy≤H,而该区域外的系数均为0。SRCC技术利用(SRx,SRy)来确定一个量化系数矩阵中需要扫描的量化系数区域,如图2所示,只有(SRx,SRy)标记的扫描区域内的量化系数需要编码,编码的扫描顺序如图3所示,可以是从右下角到左上角的反向Z字型扫描。
以传统的DCT(Discrete Cosine Transform,离散余弦变换)为例,变换如下所示:
通过两个分离的一维离散变换(水平变换、竖直变换)实现了二维离散变换。可选地,由于残差分布的多样性,单一的DCT无法适应所有的残差特性。因此,诸如DST(DiscreteSine Transform,离散正弦变换)7和DCT8等变换核被引入到变换模块,并且水平变换和竖直变换可以采用不同的变换核。以AMT(Adaptive multiple core transform,自适应多核变换)技术为例,对于一个残差块可能选择的变换组合包括以下任意一项:(DCT2,DCT2)、(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8)、(DST7,DST7)。对于一个残差块,具体选择哪种变换组合,需要在编码端使用RDO(Rate-Distortion Optimization,率失真优化)进行决策。
在一个示例中,针对编码单元对应的残差信号的变换跳过和量化,需要对编码单元进行子块划分,并对划分得到的部分子块进行残差数据的变换跳过和量化,而强行清零其它子块。本申请实施例中,可以通过标志位来指示变换跳过子块位置。在一个示例中,SBT(Sub-Block Transform,子块变换)的文本如下所示。
表一 SBT的文本
通过对上述表一所示的SBT文本导出得到如图4所示的解析图。图4中的quad、dir和pos分别与上述表一所示的文本中的sbt_quad_flag、sbt_dir_flag和sbt_pos_flag对应。其中,quad可视为子块的尺寸控制语法,dir和pos均可视为控制子块位置的语法。也即,quad决定子块的尺寸(面积),而dir和pos可决定子块的位置。
如图4所示,SBT存在8种划分结果,也即,8种可能的变换跳过子块位置。如图4所示,阴影部分410即为子块变换位置,也即,需要进行变换跳过和量化的子块的位置;空白部分420则强行清零。关于子块的变换组合选择,当非零残差子块的宽或高为64时,该非零残差子块的水平和竖直变换均为DCT2;其它情况下,水平和竖直变换的选择如图5所示。另外,图5中的阴影部分510为非零残差子块,空白部分520为零残差子块。
由上述介绍说明可知,变换跳过子块位置可以通过sbt_quad_flag、sbt_dir_flag和sbt_pos_flag这三个标志位来指示。在一个示例中,编码器对变换跳过子块位置的标志位进行显示的编码,以写入视频码流,后续解码器对视频码流解码得到标志位,进而根据标志位导出变换跳过子块位置。然而,通过对变换跳过子块位置的标志位进行编码,会导致码流比特数的增加,不利于视频编码效率的提升。
基于此,本申请实施例提供了一种视频编解码方法,可用于根据量化系数矩阵隐含指示变换跳过子块位置的标志位,从而避免对变换跳过子块位置的标志位的显示编码,减少了码流比特数,提升了视频编码效率。下面,结合几个实施例对本申请的技术方案进行介绍说明。
请参考图6,其示出了本申请一个实施例提供的通信系统的简化框图。通信系统200包括多个设备,所述设备可通过例如网络250彼此通信。举例来说,通信系统200包括通过网络250互连的第一设备210和第二设备220。在图6的实施例中,第一设备210和第二设备220执行单向数据传输。举例来说,第一设备210可对视频数据例如由第一设备210采集的视频图片流进行编码以通过网络250传输到第二设备220。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备220可从网络250接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
在另一实施例中,通信系统200包括执行已编码视频数据的双向传输的第三设备230和第四设备240,所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三设备230和第四设备240中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络250传输到第三设备230和第四设备240中的另一设备。第三设备230和第四设备240中的每个设备还可接收由第三设备230和第四设备240中的另一设备传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图6的实施例中,第一设备210、第二设备220、第三设备230和第四设备240可为服务器、个人计算机和智能电话等计算机设备,但本申请公开的原理可不限于此。本申请实施例适用于PC(Personal Computer,个人计算机)、手机、平板电脑、媒体播放器和/或专用视频会议设备。网络250表示在第一设备210、第二设备220、第三设备230和第四设备240之间传送已编码视频数据的任何数目的网络,包括例如有线连线的和/或无线通信网络。通信网络250可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络250的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
作为实施例,图7示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV(电视)、在包括CD(Compact Disc,光盘)、DVD(Digital Versatile Disc,数字通用光盘)、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统313,所述采集子系统可包括数码相机等视频源301,所述视频源创建未压缩的视频图片流302。在实施例中,视频图片流302包括由数码相机拍摄的样本。相较于已编码的视频数据304(或已编码的视频码流),视频图片流302被描绘为粗线以强调高数据量的视频图片流,视频图片流302可由电子装置320处理,所述电子装置320包括耦接到视频源301的视频编码器303。视频编码器303可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。视频编码器303可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如PC、手机、平板电脑、媒体播放器、专用视频会议设备、服务器等等。基于本申请所提供方法的视频编码器303,可以由1个或多个处理器或是1个或多个集成电路来实现。
相较于视频图片流302,已编码的视频数据304(或已编码的视频码流304)被描绘为细线以强调较低数据量的已编码的视频数据304(或已编码的视频码流304),其可存储在流式传输服务器305上以供将来使用。一个或多个流式传输客户端子系统,例如图7中的客户端子系统306和客户端子系统308,可访问流式传输服务器305以检索已编码的视频数据304的副本307和副本309。客户端子系统306可包括例如电子装置330中的视频解码器310。视频解码器310对已编码的视频数据的传入副本307进行解码,且产生可在显示器312(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流311。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据304、副本307和副本309(例如视频码流)进行编码。
应注意,电子装置320和电子装置330可包括其它组件(未示出)。举例来说,电子装置320可包括视频解码器(未示出),且电子装置330还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图8,其示出了本申请一个实施例提供的视频解码方法的流程图。该方法可应用于视频解码器中,如图6所示的通信系统中的第二设备220中。该方法可以包括如下几个步骤(步骤810~840):
步骤810,对目标编码单元进行解码,得到目标编码单元对应的量化系数矩阵。
由上述介绍说明可知,视频解码器在获取到视频码流后,执行视频编码器执行的操作的反操作,从而,视频解码器需要先对视频码流中各个编码单元进行解码。可选地,视频解码器采用熵解码的方式对视频码流进行解码。本申请实施例中,视频解码器对目标编码单元进行解码,可以得到目标编码单元对应的量化系数矩阵,该量化系数矩阵中包括至少一个量化后的系数(以下称为“量化系数”)。
其中,目标编码单元是指视频解码过程中待处理的编码单元,可选地,目标编码单元为当前待处理的编码单元,或者为当前待处理的编码单元之后待处理的编码单元。本申请实施例对目标编码单元的形状不作限定,可选地,目标编码单元为正方形,也即,目标编码单元的宽和高相等;或者,目标编码单元为长方形,也即,目标编码单元的宽和高不相等。本申请实施例对目标编码单元的块尺寸大小不作限定,可选地,目标编码单元的尺寸为64×64或128×128或128×64,实际应用中,目标编码单元的尺寸可以结合视频编解码过程中所允许的最大编码单元的块尺寸确定,例如,视频编解码过程中所允许的最大编码单元的块尺寸为128×128,则目标编码单元的块尺寸小于或等于128×128。
步骤820,根据量化系数矩阵中的量化系数,确定第一参考信息。
视频解码器在得到量化系数矩阵后,根据量化系数矩阵中的量化系数,确定第一参考信息,该第一参考信息用于确定目标编码单元的变换跳过子块位置的标志位(以下称为“变换跳过标志位”)的值。可选地,第一参考信息为数值,例如,第一参考信息为量化系数矩阵中的某一个量化系数,或者,第一参考信息为量化系数矩阵中多个量化系数的统计求和结果,或者,第一参考信息为量化系数矩阵中多个量化系数的统计求和结果除以一个计算因子得到的余数。有关第一参考信息的确定过程的介绍说明,请参见下述方法实施例,此处不多赘述。
需要说明的一点是,此处所述的“量化系数矩阵中的量化系数”,仅用于指示第一参考信息的确定依据“量化系数”为目标编码单元的量化系数矩阵中的量化系数,而不用于限定量化系数的具体数量。应理解,此处所述的“量化系数矩阵中的量化系数”,既可以为量化系数矩阵中的一个量化系数,也可以为量化系数矩阵中的多个量化系数,还可以为量化系数矩阵中的所有量化系数,本申请实施例对此不作限定。
步骤830,获取第一参考信息对应的变换跳过标志位的取值,变换跳过标志位是指变换跳过子块位置的标志位,变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置。
由上述介绍说明可知,针对编码单元对应的残差信号的变换跳过和量化的过程,需要对编码单元进行子块划分,并对划分得到的部分子块进行残差数据的变换跳过和量化,而强行清零其它子块,其中,编码单元中需要对残差数据进行变换跳过和量化的子块的位置可以称为变换跳过子块位置。而变换跳过标志位为变换跳过子块位置的标志位,也即,根据变换跳过标志位的值即可确定变换跳过子块位置。
应理解,本申请实施例中“变换跳过子块位置”和“变换跳过标志位”仅为示例性地名称,随着视频标准的演进和不同的命名习惯,“变换跳过子块位置”和“变换跳过标志位”可以被称为其它的名称,例如,“变换跳过子块位置”可以称为“子块变换跳过位置”等,这些具备与“变换跳过子块位置”相同含义的名称,以及具备与“变换跳过标志位”相同含义的名称均应属于本申请的保护范围之内。
本申请实施例中,用于确定变换跳过标志位的值的参考信息,与变换跳过标志位的取值之间存在对应关系(或称为“映射关系”等),也即,通过参考信息,即可获取变换跳过标志位的取值。基于此,视频解码器在根据量化系数矩阵中的量化系数确定出第一参考信息后,可以进一步获取第一参考信息对应的变换跳过标志位的取值。本申请实施例对参考信息和变换跳过标志位的取值之间的对应方式不作限定,可选地,参考信息和变换跳过标志位的取值之间一一对应;或者,参考信息和变换跳过标志位的取值之间为多对一的对应;或者,参考信息本身不与变换跳过标志位的取值之间存在对应关系,而是参考信息的性质与变换跳过标志位的取值之间存在对应关系,例如,参考信息的奇偶性与变换跳过标志位的取值之间存在对应关系。本申请实施例对参考信息与变换跳过标志位的取值之间的对应关系的确定方式不作限定,可选地,其可以由视频标准预定义;或者,由视频编码器和视频解码器协商确定;或者,由视频编码器确定并写入视频码流以通知视频解码器;或者,预置(预存储)在视频解码器中。
在一个示例中,变换跳过标志位包括以下至少一项:第一标志位,用于指示目标编码单元的变换跳过子块位置的划分方向,划分方向包括横向划分和纵向划分;第二标志位,用于在第一标志位指示的划分方向的基础上,指示目标编码单元的变换跳过子块位置。其中,第一标志位可以为上述实施例中的“sbt_dir_flag”;第二标志位可以为上述实施例中的“sbt_pos_flag”。基于此,本申请实施例中,根据第一参考信息既可以只确定一个标志位(如sbt_dir_flag或sbt_pos_flag)的取值,也可以确定多个标志位(如sbt_dir_flag和sbt_pos_flag)的取值。有关获取第一参考信息对应的变换跳过标志位的取值的其它介绍说明,请参见下述方法实施例,此处不多赘述。
步骤840,根据获取到的变换跳过标志位的取值,确定目标编码单元的变换跳过子块位置。
视频解码器根据获取到的变换跳过标志位的取值,即可导出目标编码单元的变换跳过子块位置,并根据变换跳过子块位置进行后续的处理。
在一个示例中,由于视频编码器可能会对量化系数矩阵进行旋转,然后对旋转后的量化系数矩阵进行编码,此时,为了确保视频编码器的编码过程与视频解码器的解码过程相对应,视频解码器在解码得到量化系数矩阵后,也应该对量化系数矩阵进行旋转。可选地,如图9所示,视频编解码过程中的量化系数矩阵的方向包括水平方向和垂直方向,在需要将量化系数矩阵的方向统一至水平方向的情况下,需要将竖直方向的量化系数矩阵旋转为水平方向,而不需要旋转原本即为水平方向的量化系数矩阵;在需要将量化系数矩阵的方向统一至竖直方向的情况下,需要将水平方向的量化系数矩阵旋转为竖直方向,而不需要旋转原本即为竖直方向的量化系数矩阵。
可选地,视频解码器根据变换跳过标志位的取值确定是否对量化系数矩阵进行旋转,基于此,上述获取第一参考信息对应的变换跳过标志位的取值之后,还包括:根据获取到的变换跳过标志位的取值,确定是否需要对量化系数矩阵进行旋转;在确定需要对量化系数矩阵进行旋转的情况下,将量化系数矩阵的方向从第一方向旋转为第二方向,得到旋转后的量化系数矩阵;对旋转后的量化系数矩阵进行反量化处理,得到残差数据。其中,视频解码器在确定是否对量化系数矩阵进行旋转时依据的可以是变换跳过标志位中的第一标志位,该第一标志位用于指示目标编码单元的变换跳过子块位置的划分方向,如上述“sbt_dir_flag”。
例如,如图9所示,假设水平方向的变换跳过子块位置的“sbt_dir_flag”为1,竖直方向的变换跳过子块位置的“sbt_dir_flag”为0,那么,并且,编解码过程中需要将量化系数矩阵的方向统一旋转为水平方向,那么,针对“sbt_dir_flag”为0的变换跳过子块位置对应的量化系数矩阵就需要进行旋转,以旋转至水平方向,而“sbt_dir_flag”为1的变换跳过子块位置对应的量化系数矩阵不需要进行旋转。
综上所述,本申请实施例提供的技术方案,通过编码单元对应的量化系数矩阵中的量化系数,隐含指示目标编码单元中变换跳过子块位置的标志位,进而确定目标编码单元中的变换跳过子块位置,从而避免对变换跳过子块位置的显示编码,减少了视频码流占用的比特数,提升了视频编码效率。并且,本申请实施例提供的技术方案中,由于无需对变换跳过子块位置的每个标志位都进行显示地编码和解码,从而可以降低视频编码器和视频解码器的处理开销,有助于视频编码器编码效率以及视频解码器解码效率的提升。
下面,针对本申请实施例提供的通过量化系数矩阵隐含指示变换跳过标志位的取值的方式进行介绍说明。
在一个示例中,上述步骤820,包括如下几个步骤:
步骤822,获取量化系数矩阵中的至少一个量化系数。
若直接建立量化系数与变换跳过标志位的取值之间的对应关系,可能会由于量化系数的取值范围过大,而变换跳过标志位的取值只有0和1,从而导致过多的量化系数需要对应于变换跳过标志位的同一个取值,导致量化系数与变换跳过标志位的取值之间的对应关系过于复杂。本申请实施例中,对量化系数统计求和之后再取余,利用余数与变换跳过标志位的取值之间建立对应关系,由于余数的取值范围小于量化系数的取值范围,从而可以在一定程度上降低对应关系的复杂度。因此,需要先获取量化系数矩阵中的至少一个量化系数,也即,确定量化系数矩阵中的统计区域。
本申请实施例对至少一个量化系数的获取方式不作限定,下面示例性地示出了几种可能的获取方式。可选地,上述步骤822,包括以下至少一种实施方式:
(1)获取量化系数矩阵中的所有量化系数。
也即,将量化系数矩阵整体均作为隐含指示变换跳过标志位的取值的依据。
(2)获取量化系数矩阵中至少一个指定位置上的量化系数。
该指定位置可以是由视频标准预定义,也可以由视频编码器指定并告知视频解码器,还可以是由视频编码器和视频解码器通过相同的确定方式确定,本申请实施例对此不作限定。
(3)获取量化系数矩阵中至少一行上的量化系数。
例如,如图10所示,以方块来表示量化系数矩阵中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵为4×4的系数矩阵,那么,可以如图10(a)所示,获取量化系数矩阵中阴影部分所示的一行上的量化系数;或者,如图10(a)所示,获取量化系数矩阵中阴影部分所示的两行上的量化系数。
本申请实施例对获取的量化系数所在区域在量化系数矩阵中的相对位置不作限定,可选地,获取的量化系数所在区域(也即,至少一行)位于量化系数矩阵的边缘(如上边缘、下边缘、上边缘和下边缘),或者,位于量化系数矩阵的中间。
(4)获取量化系数矩阵中至少一列上的量化系数。
例如,如图10所示,以方块来表示量化系数矩阵中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵为4×4的系数矩阵,那么,可以如图10(b)所示,获取量化系数矩阵中阴影部分所示的一列上的量化系数;或者,如图10(b)所示,获取量化系数矩阵中阴影部分所示的两列上的量化系数。
本申请实施例对获取的量化系数所在区域在量化系数矩阵中的相对位置不作限定,可选地,获取的量化系数所在区域(也即,至少一列)位于量化系数矩阵的边缘(如左边缘、右边缘、左边缘和右边缘),或者,位于量化系数矩阵的中间。
(5)获取量化系数矩阵中至少一个斜线上的量化系数。
例如,如图10所示,以方块来表示量化系数矩阵中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵为4×4的系数矩阵,那么,可以如图10(c)所示,获取量化系数矩阵中阴影部分所示的一个斜线上的量化系数;或者,如图10(c)所示,获取量化系数矩阵中阴影部分所示的两个斜线上的量化系数。可选地,获取的量化系数所在的斜线与上述实施例中对量化系数矩阵采取的反向Z字型扫描的顺序对应。
(6)获取量化系数矩阵中扫描顺序位于前n位的量化系数,n为正整数。
也即,获取量化系数矩阵中最先扫描的n个量化系数。
(7)获取量化系数矩阵中扫描顺序位于中间m位的量化系数,m为正整数。
也即,获取对量化系数矩阵的扫描过程中,扫描顺序位于中间的m个量化系数。
可选的,本申请实施例中,还可以获取量化系数矩阵中扫描顺序位于后w位的量化系数,w为正整数。也即,获取量化系数矩阵中最后扫描的w个量化系数。
由上述介绍说明可知,在视频编解码过程中,可能会对量化系数矩阵进行SRCC扫描,之后,只有标记的扫描区域内的量化系数需要编码。因此,在量化系数矩阵进行了SRCC扫描的情况下,也可以根据SRCC区域(扫描区域)中的量化系数来隐含指示变换跳过标志位的取值。基于此,至少一个量化系数的获取还包括以下几种获取方式:
(8)获取量化系数矩阵的SRCC区域中的所有量化系数。
也即,将SRCC区域整体均作为隐含指示变换跳过标志位的取值的依据。
(9)获取量化系数矩阵的SRCC区域中至少一个指定位置上的量化系数。
可选地,SRCC区域中至少一个指定位置上的量化系数可以是SRCC区域中最先扫描的至少一个量化系数,也可以是最后扫描的至少一个量化系数,还可以是扫描过程中间的至少一个量化系数。参考上述介绍说明,SRCC区域中的至少一个指定位置可以是由视频标准预定义,也可以由视频编码器指定并告知视频解码器,还可以是由视频编码器和视频解码器通过相同的确定方式确定,本申请实施例对此不作限定。
(10)获取量化系数矩阵的SRCC区域中至少一行上的量化系数。
例如,如图10所示,以方块来表示量化系数矩阵的SRCC区域中的量化系数,且每个方块表示SRCC区域中的一个量化系数为例。假设SRCC区域为4×4的系数矩阵,那么,可以如图10(a)所示,获取SRCC区域中阴影部分所示的一行上的量化系数;或者,如图10(a)所示,获取SRCC区域中阴影部分所示的两行上的量化系数。
本申请实施例对获取的量化系数所在区域在量化系数矩阵的SRCC区域中的相对位置不作限定,可选地,获取的量化系数所在区域(也即,至少一行)位于SRCC区域的边缘(如上边缘、下边缘、上边缘和下边缘),或者,位于SRCC区域的中间。
(11)获取量化系数矩阵的SRCC区域中至少一列上的量化系数。
例如,如图10所示,以方块来表示量化系数矩阵的SRCC区域中的量化系数,且每个方块表示SRCC区域中的一个量化系数为例。假设SRCC区域为4×4的系数矩阵,那么,可以如图10(b)所示,获取SRCC区域中阴影部分所示的一列上的量化系数;或者,如图10(b)所示,获取SRCC区域中阴影部分所示的两列上的量化系数。
本申请实施例对获取的量化系数所在区域在量化系数矩阵的SRCC区域中的相对位置不作限定,可选地,获取的量化系数所在区域(也即,至少一列)位于SRCC区域的边缘(如左边缘、右边缘、左边缘和右边缘),或者,位于SRCC区域的中间。
(12)获取量化系数矩阵的SRCC区域中至少一个斜线上的量化系数。
例如,如图10所示,以方块来表示量化系数矩阵的SRCC区域中的量化系数,且每个方块表示SRCC区域中的一个量化系数为例。假设SRCC区域为4×4的系数矩阵,那么,可以如图10(c)所示,获取SRCC区域中阴影部分所示的一个斜线上的量化系数;或者,如图10(c)所示,获取SRCC区域中阴影部分所示的两个斜线上的量化系数。可选地,获取的量化系数所在的斜线与上述实施例中对量化系数矩阵采取的反向Z字型扫描的顺序对应。
(13)获取量化系数矩阵的SRCC区域中扫描顺序位于前s位的量化系数,s为正整数。
也即,获取量化系数矩阵的SRCC区域中最先扫描的s个量化系数。
(14)获取量化系数矩阵的SRCC区域中扫描顺序位于中间t位的量化系数,t为正整数。
也即,获取对量化系数矩阵的SRCC区域扫描过程中,扫描顺序位于中间的m个量化系数。
可选的,本申请实施例中,还可以获取量化系数矩阵的SRCC区域中扫描顺序位于后x位的量化系数,x为正整数。也即,获取量化系数矩阵中最后扫描的x个量化系数。
需要说明的一点是,上述仅是为了便于描述,而将各种获取至少一个量化系数的方式分别进行介绍说明,实际应用中,可以结合上述多种获取方式来获取至少一个量化系数,这些结合方式均应属于本申请的保护范围之内。例如:
(15)获取量化系数矩阵中至少一行和至少一列上的量化系数。如图10所示,以方块来表示量化系数矩阵中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵为4×4的系数矩阵,那么,可以如图10(d)所示,获取量化系数矩阵中阴影部分所示的一行和一列上的量化系数;或者,如图10(d)所示,获取量化系数矩阵中阴影部分所示的两行和两列上的量化系数。本申请实施例对获取的量化系数所在区域在量化系数矩阵中的相对位置不作限定,可选地,获取的量化系数所在区域(也即,至少一行和至少一列)位于量化系数矩阵的边缘(如上边缘和左边缘、下边缘和右边缘、上边缘和右边缘、下边缘和左边缘等);或者,位于量化系数矩阵的中间;或者,位于量化系数矩阵中任意指定的位置。
(16)获取量化系数矩阵的SRCC区域中至少一行和至少一列上的量化系数。如图10所示,以方块来表示量化系数矩阵的SRCC区域中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵的SRCC区域为4×4的系数矩阵,那么,可以如图10(d)所示,获取量化系数矩阵的SRCC区域中阴影部分所示的一行和一列上的量化系数;或者,如图10(d)所示,获取量化系数矩阵的SRCC区域中阴影部分所示的两行和两列上的量化系数。本申请实施例对获取的量化系数所在区域在SRCC区域中的相对位置不作限定,可选地,获取的量化系数所在区域(也即,至少一行和至少一列)位于SRCC区域的边缘(如上边缘和左边缘、下边缘和右边缘、上边缘和右边缘、下边缘和左边缘等);或者,位于SRCC区域的中间;或者,位于SRCC区域中任意指定的位置。
(17)获取量化系数矩阵中至少一个斜线和至少一个指定位置上的量化系数。如图10所示,以方块来表示量化系数矩阵中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵为4×4的系数矩阵,那么,可以如图10(c)所示,获取量化系数矩阵中阴影部分所示的一个斜线和一个指定位置上的量化系数;或者,如图10(c)所示,获取量化系数矩阵中阴影部分所示的两个斜线和一个指定位置上的量化系数。
(18)获取量化系数矩阵的SRCC区域中至少一个斜线和至少一个指定位置上的量化系数。如图10所示,以方块来表示量化系数矩阵的SRCC区域中的量化系数,且每个方块表示一个量化系数为例。假设量化系数矩阵的SRCC区域为4×4的系数矩阵,那么,可以如图10(c)所示,获取量化系数矩阵的SRCC区域中阴影部分所示的一个斜线和一个指定位置上的量化系数;或者,如图10(c)所示,获取量化系数矩阵的SRCC区域中阴影部分所示的两个斜线和一个指定位置上的量化系数。
需要说明的另一点是,在本申请实施例中,视频解码器和视频编码器应当采用相同的隐含指示变换跳过标志位的取值的方式,并且选取量化系数矩阵中相同区域的量化系数来隐含指示变换跳过标志位的取值,以确保视频编码和视频解码过程的一致。
步骤824,对至少一个量化系数进行统计求和处理,得到统计求和结果。
在获取到至少一个量化系数后,可以对至少一个量化系数进行统计求和处理,以得到统计求和结果。
本申请实施例对至少一个量化系数的统计求和方式不作限定,下面示例性地示出了几种可能的统计求和方式。可选地,上述步骤824,包括以下任意一种实施方式:
(1)对至少一个量化系数的原值进行统计求和处理,得到统计求和结果。
也即,直接对至少一个量化系数进行统计求和处理,以得到统计求和结果。
(2)对至少一个量化系数的绝对值进行统计求和处理,得到统计求和结果。
也即,对至少一个量化系数先分别取绝对值,然后对至少一个量化系数的绝对值进行统计求和处理,以得到统计求和结果。
(3)对至少一个量化系数中原值为奇数的量化系数的原值进行统计求和处理,得到统计求和结果。
(4)对至少一个量化系数中原值为偶数的量化系数的原值进行统计求和处理,得到统计求和结果。
(5)对至少一个量化系数中原值为奇数的量化系数的绝对值进行统计求和处理,得到统计求和结果。
(6)对至少一个量化系数中原值为偶数的量化系数的绝对值进行统计求和处理,得到统计求和结果。
(7)对至少一个量化系数中原值为非零偶数的量化系数的原值进行统计求和处理,得到统计求和结果。
(8)对至少一个量化系数中原值为非零偶数的量化系数的绝对值进行统计求和处理,得到统计求和结果。
(9)对至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数;对至少一个映射后的量化系数进行统计求和处理,得到统计求和结果。
也即,将至少一个量化系数分别映射处理,然后对至少一个映射后的量化系数进行统计求和处理,以得到统计求和结果。
本申请实施例对映射处理的方式不作限定,下面示例性地示出了本申请实施例提供的几种映射处理的方式。可选地,上述对至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数,包括以下任意一种实施方式:
(1)将至少一个量化系数中原值为奇数的量化系数映射为第一数值,得到至少一个第一量化系数;将至少一个量化系数中原值为偶数的量化系数映射为第二数值,得到至少一个第二量化系数;其中,至少一个映射后的量化系数包括至少一个第一量化系数和/或至少一个第二量化系数。
第一数值和第二数值可以是不同的数值。可选地,第一数值的奇偶性和第二数值的奇偶性相同,或者,第一数值的奇偶性与第二数值的奇偶性不相同。本申请实施例对第一数值和第二数值的具体取值均不作限定,可选地,第一数值和第二数值包括以下几种可能的取值方式。
示例性地,第一数值为0,第二数值为1,那么,上述映射即为将至少一个量化系数中原值为奇数的量化系数分别映射为0,原值为偶数的量化系数分别映射为1,也即,将至少一个量化系数中原值为偶数的量化系数分别映射后求和,而忽略至少一个量化系数中原值为奇数的量化系数。
示例性地,第一数值为1,第二数值为0,那么,上述映射即为将至少一个量化系数中原值为奇数的量化系数分别映射为1,原值为偶数的量化系数分别映射为0,也即,将至少一个量化系数中原值为奇数的量化系数分别映射后求和,而忽略至少一个量化系数中原值为偶数的量化系数。
示例性地,第一数值为3,第二数值为2,那么,上述映射即为将至少一个量化系数中原值为奇数的量化系数分别映射为3,原值为偶数的量化系数分别映射为2。
示例性地,第一数值为2,第二数值为3,那么,上述映射即为将至少一个量化系数中原值为奇数的量化系数分别映射为2,原值为偶数的量化系数分别映射为3。
(2)将至少一个量化系数中原值为零的量化系数映射为第一数值,得到至少一个第一量化系数;将至少一个量化系数中原值非零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,至少一个映射后的量化系数包括至少一个第一量化系数和/或至少一个第二量化系数。
第一数值和第二数值可以是不同的数值。可选地,第一数值的奇偶性和第二数值的奇偶性相同,或者,第一数值的奇偶性与第二数值的奇偶性不相同。本申请实施例对第一数值和第二数值的具体取值均不作限定,可选地,第一数值和第二数值包括以下几种可能的取值方式。
示例性地,第一数值为0,第二数值为1,那么,上述映射即为将至少一个量化系数中原值为零的量化系数分别映射为0,原值非零的量化系数分别映射为1,也即,将至少一个量化系数中原值非零的量化系数分别映射后求和,而忽略至少一个量化系数中原值为零的量化系数。
示例性地,第一数值为1,第二数值为0,那么,上述映射即为将至少一个量化系数中原值为零的量化系数分别映射为1,原值非零的量化系数分别映射为0,也即,将至少一个量化系数中原值为零的量化系数分别映射后求和,而忽略至少一个量化系数中原值非零的量化系数。
示例性地,第一数值为3,第二数值为2,那么,上述映射即为将至少一个量化系数中原值为零的量化系数分别映射为3,原值非零的量化系数分别映射为2。
示例性地,第一数值为2,第二数值为3,那么,上述映射即为将至少一个量化系数中原值为零的量化系数分别映射为2,原值非零的量化系数分别映射为3。
(3)将至少一个量化系数中原值为非零偶数的量化系数映射为第一数值,得到至少一个第一量化系数;将至少一个量化系数中原值为奇数或零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,至少一个映射后的量化系数包括至少一个第一量化系数和/或至少一个第二量化系数。
第一数值和第二数值可以是不同的数值。可选地,第一数值的奇偶性和第二数值的奇偶性相同,或者,第一数值的奇偶性与第二数值的奇偶性不相同。本申请实施例对第一数值和第二数值的具体取值均不作限定,可选地,第一数值和第二数值包括以下几种可能的取值方式。
示例性地,第一数值为0,第二数值为1,那么,上述映射即为将至少一个量化系数中原值为非零偶数的量化系数分别映射为0,原值为奇数或零的量化系数分别映射为1,也即,将至少一个量化系数中原值为奇数或零的量化系数分别映射后求和,而忽略至少一个量化系数中原值为非零偶数的量化系数。
示例性地,第一数值为1,第二数值为0,那么,上述映射即为将至少一个量化系数中原值为非零偶数的量化系数分别映射为1,原值为奇数或零的量化系数分别映射为0,也即,将至少一个量化系数中原值为非零偶数的量化系数分别映射后求和,而忽略至少一个量化系数中原值为奇数或零的量化系数。
示例性地,第一数值为3,第二数值为2,那么,上述映射即为将至少一个量化系数中原值为非零偶数的量化系数分别映射为3,原值为奇数或零的量化系数分别映射为2。
示例性地,第一数值为2,第二数值为3,那么,上述映射即为将至少一个量化系数中原值为非零偶数的量化系数分别映射为2,原值为奇数或零的量化系数分别映射为3。
(4)对至少一个量化系数进行计算映射处理,得到至少一个映射后的量化系数;其中,计算映射处理包括以下至少一项:取反映射、加值映射、减值映射、乘值映射、除值映射。
除了按照至少一个量化系数的不同性质,对不同性质的量化系数分别进行映射处理,还可以对至少一个量化系数进行统一的映射处理。本申请实施例中,可以对至少一个量化系数进行计算映射处理,以对至少一个计算映射处理后的量化系数进行统计求和处理,得到统计求和结果。
可选地,计算映射处理包括以下至少一项:取反映射(也即,将至少一个量化系数中的各个量化系数分别映射为相反数)、加值映射(也即,将至少一个量化系数中的各个量化系数加上某一数值,如加1、加2等)、减值映射(也即,将至少一个量化系数中的各个量化系数减去某一数值,如减1、减2等)、乘值映射(也即,将至少一个量化系数中的各个量化系数乘以某一数值,如乘2、乘4等)、除值映射(也即,将至少一个量化系数中的各个量化系数除以某一数值,如除2、除4等)。
需要说明的一点是,本申请实施例中,出于计算量等的考虑,对至少一个量化系数的映射处理采用的是线性映射,实际应用中,若不考虑计算量等的约束,也可以对至少一个量化系数采用非线性映射,如指数映射等。
需要说明的另一点是,本申请实施例提供的映射处理方式既可以单独实施,也可以组合实施,例如,先对至少一个量化系数中的各个量化系数进行加值映射,得到映射后的至少一个量化系数,然后将映射后的至少一个量化系数中的奇数映射为第一数值,得到至少一个第一量化系数,偶数映射为第二数值,得到至少一个第二量化系数。应理解,这些均应属于本申请的保护范围之内。
步骤826,根据第一计算因子对统计求和结果进行求余处理,得到第一参考信息。
其中,第一计算因子为非零整数。针对视频解码器而言,第一计算因子是用于对统计求和结果取余的计算因子,也即,第一计算因子为除数。可选地,第一计算因子为预定义的计算因子,或指定的计算因子,或视频编码器和视频解码器采用相同的确定方式确定出的计算因子。根据统计求和结果以及第一计算因子,即可得到第一参考信息,可选地,第一参考信息为统计求和结果除以第一计算因子得到的余数。
由于第一参考信息为通过第一计算因子对统计求和结果进行取余的结果,因此,第一参考信息的取值的可能情况等于第一计算因子,例如,第一计算因子为N,N为正整数,那么第一参考信息的取值可能为0至N-1中的任意一个。
基于此,上述步骤830,包括:按照参考信息与变换跳过标志位的取值之间的对应关系,确定第一参考信息对应的变换跳过标志位的取值。
本申请实施例中,可以建立参考信息与变换跳过标志位的取值之间的对应关系。可选地,变换跳过标志位包括第一标志位和/或第二标志位,也即,变换跳过标志位可能有三种情况:第一标志位(如sbt_dir_flag)、第二标志位(如sbt_pos_flag)、第一标志位和第二标志位。下面,分别针对变换跳过标志位的这三种情况,对参考信息与变换跳过标志位的取值之间的对应关系进行介绍说明。
针对变换跳过标志位包括第一标志位或第二标志位,也即,变换跳过标志位的数量为1的情况下,可选地,参考信息包括第一部分余数和第二部分余数,变换跳过标志位的取值包括0和1;参考信息与变换跳过标志位的取值之间的对应关系包括:第一部分余数对应于变换跳过标志位的取值为0;第二部分余数对应于变换跳过标志位的取值为1。可选地,第一计算因子为2,第一部分余数为0,第二部分余数为1。
在变换跳过标志位包括第一标志位(如sbt_dir_flag)的情况下,由于第一标志位的取值可能包括0和1,那么参考信息至少需要包括两种可能的取值,也即,通过第一计算因子对第一参考信息进行取余的余数至少需要包括两种可能,基于此,第一计算因子需要大于或等于2。在第一计算因子等于2的情况下,取余得到的余数刚好包括两种可能,分别对应于0和1,例如余数为0对应于第一标志位为0,余数为1对应于第一标志位为1;或者,余数为0对应于第一标志位为1,余数为1对应于第一标志位为0。在第一计算因子大于2的情况下,取余得到的余数大于两种可能,那么需要有多种可能的余数对应于第一标志位的同一个取值,例如,第一计算因子为5,那么取余得到的余数可能为0、1、2、3、4,可以设置余数为0、1、2时对应于第一标志位为1,余数为3、4时对应于第一标志位为0;或者,设置余数为0、1时对应于第一标志位1,余数为2、3、4时对应于第一标志位为0。
在变换跳过标志位包括第二标志位(如sbt_pos_flag)的情况下,由于第二标志位的取值可能包括0和1,那么参考信息至少需要包括两种可能的取值,也即,通过第一计算因子对第一参考信息进行取余的余数至少需要包括两种可能,基于此,第一计算因子需要大于或等于2。在第一计算因子等于2的情况下,取余得到的余数刚好包括两种可能,分别对应于0和1,例如余数为0对应于第二标志位为0,余数为1对应于第二标志位为1;或者,余数为0对应于第二标志位为1,余数为1对应于第二标志位为0。在第一计算因子大于2的情况下,取余得到的余数大于两种可能,那么需要有多种可能的余数对应于第二标志位的同一个取值,例如,第一计算因子为5,那么取余得到的余数可能为0、1、2、3、4,可以设置余数为0、1、2时对应于第二标志位为1,余数为3、4时对应于第二标志位为0;或者,设置余数为0、1时对应于第二标志位1,余数为2、3、4时对应于第二标志位为0。
针对变换跳过标志位包括第一标志位和第二标志位,也即,变换跳过标志位的数量为2的情况下,可选地,参考信息包括第一部分余数、第二部分余数、第三部分余数和第四部分余数,第一标志位的取值包括0和1,第二标志位的取值包括0和1;参考信息与变换跳过标志位的取值之间的对应关系包括:第一部分余数对应于第一标志位的取值为0且第二标志位的取值为0;第二部分余数对应于第一标志位的取值为0且第二标志位的取值为1;第三部分余数对应于第一标志位的取值为1且第二标志位的取值为0;第四部分余数对应于第一标志位的取值为1且第二标志位的取值为1。可选地,第一计算因子为4,第一部分余数为0,第二部分余数为1,第三部分余数为2,第四部分余数为3。
在变换跳过标志位既包括第一标志位(如sbt_dir_flag),也包括第二标志位(如sbt_pos_flag)的情况下,由于第一标志位的取值可能包括0和1,第二标志位的取值可能包括0和1,那么,第一标志位和第二标志位的组合取值可能包括四种可能:(0,0)、(0,1)、(1,0)、(1,1),为了同时指示这两个标志位的取值,参考信息至少需要包括四种可能的取值,也即,通过第一计算因子对第一参考信息进行取余的余数至少需要包括四种可能,基于此,第一计算因子需要大于或等于4。在第一计算因子等于4的情况下,取余得到的余数刚好包括四种可能,分别对应于(0,0)、(0,1)、(1,0)、(1,1),例如余数为0对应于(0,0),余数为1对应于(0,1),余数为2对应于(1,0),余数为3对应于(1,1)。在第一计算因子大于4的情况下,取余得到的余数大于四种可能,那么需要有多种可能的余数对应于同一种组合取值,例如,第一计算因子为5,那么取余得到的余数可能为0、1、2、3、4,可以设置余数为0、1时对应于(0,0),余数为1对应于(0,1),余数为2对应于(1,0),余数为3对应于(1,1)。
针对变换跳过标志位同时包括第一标志位和第二标志位的情况,上述介绍说明的是通过对统计求和结果取余的余数同时指示第一标志位的取值和第二标志位的取值,需要说明的一点是,第一标志位的取值和第二标志位的取值也可以分别指示或联合指示,例如,分别采用上述至少一个量化系数的获取方式以及统计求和处理、取余的方式,分别得到一个余数,其中一个余数对应于第一标志位的取值,另一个余数对应于第二标志位的取值。应理解,这些均应属于本申请的保护范围之内。
示例性地,通过上述获取至少一个量化系数的方式,获取量化系数矩阵中第一区域内的量化系数;然后,对第一区域内的量化系数进行上述统计求和处理,得到第一统计求和结果;之后,根据第二计算因子对第一统计求和结果进行求余处理,得到第一余数。通过上述获取至少一个量化系数的方式,获取量化系数矩阵中第二区域内的量化系数;然后,对第二区域内的量化系数进行上述统计求和处理,得到第二统计求和结果;之后,根据第三计算因子对第二统计求和结果进行求余处理,得到第二余数。第二计算因子和第三计算因子可以为相同的计算因子,例如,第二计算因子和第三计算因子均为2;也可以为不同的计算因子,例如,第二计算因子为4,第三计算因子为3。
其中,第一余数和第二余数可以分别指示一个标志位的取值,例如,第一余数指示上述第一标志位的取值,第二余数指示上述第二标志位的取值;也可以联合指示上述两个标志位的取值。以第二计算因子和第三计算因子均为2、第一余数指示第一标志位的取值、第二余数指示第二标志位的取值为例,那么第一余数可能为0或1,第一余数为1指示第一标志位的取值为1,第一余数为0指示第一标志位的取值为0;第二余数可能为0或1,第二余数为1指示第二标志位的取值为1,第二余数为0指示第二标志位的取值为0;第一余数和第二余数的取值分别可能为0或1,那么第一余数和第二余数的组合可能为(0,0)、(0,1)、(1,0)、(1,1),从而组合(0,0)指示第一标志位的取值为0且第二标志位的取值为0,组合(0,1)指示第一标志位的取值为0且第二标志位的取值为1,组合(1,0)指示第一标志位的取值为1且第二标志位的取值为0,组合(1,1)指示第一标志位的取值为1且第二标志位的取值为1。
需要说明的一点是,根据量化系数的统计求和结果取余后的余数来隐含指示变换跳过标志位的取值的方式中的部分步骤可以与其它隐含指示的方式组合起来使用。例如,以统计求和结果取余后的余数的奇偶性来隐含指示变换跳过标志位的取值;或者,以统计求和结果的奇偶性来隐含指示变换跳过标志位的取值。应理解,这些均应属于本申请的保护范围之内。下面,针对根据统计求和结果的奇偶性来隐含指示变换跳过标志位的取值的情况进行简单说明。
在一个示例中,上述根据量化系数矩阵中的量化系数,确定第一参考信息,包括:获取量化系数矩阵中的至少一个量化系数;对至少一个量化系数进行统计求和处理,得到第一参考信息。可选地,上述获取第一参考信息对应的变换跳过标志位的取值,包括:确定第一参考信息的奇偶性;按照奇偶性与变换跳过标志位的取值之间的对应关系,确定第一参考信息对应的变换跳过标志位的取值。有关至少一个量化系数的获取过程、统计求和结果的计算过程等,请参见上述方法实施例,此处不多赘述。
综上所述,本申请实施例提供的技术方案,通过对量化系数矩阵中的至少一个量化系数进行求和,并对求和结果取余得到余数,然后根据余数与变换跳过子块位置的标志位的取值之间的对应关系,来确定待处理编码单元的变换跳过子块位置的标志位的值,由于余数的取值范围小于量化系数的取值范围,从而采用余数与变换跳过子块位置的标志位的取值之间建立对应关系,可以避免对应关系的数量过多,降低对应关系的复杂度,提升变换跳过子块位置的标志位的取值的获取速度。
本申请实施例中,视频编码器在编码过程中可以通过编码数据中的索引来指示是否根据量化系数矩阵中的量化系数来隐含指示变换跳过子块位置的标志位的取值。从而,视频解码器在解码过程中,可以先根据编码数据中的索引来确定是否根据量化系数来确定变换跳过标志位的取值,若是,则采用本申请实施例提供的视频解码方法进行解码。
基于此,在一个示例中,上述方法还包括:根据编码数据中的目标索引,确定编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
编码数据中的目标索引可以在编码数据中新增的一个索引位,以用于指示编码数据中的编码单元是否需要根据量化系数矩阵来确定变换跳过标志位的值。应理解,本申请实施例中的“编码数据中的编码单元”仅用于指示编码单元属于这个编码数据,而不用于限定编码单元的数量,即不用于限定是编码数据中的所有编码单元。可选地,编码数据中的编码单元包括以下任意一项:编码数据中的所有编码单元、编码数据中采用帧内预测模式的编码单元、编码数据中采用帧间预测模式的编码单元。
可选地,编码数据中包括至少一个序列,每个序列中包括至少一个图像,每个图像中包括至少一个片(Slice,或称为“条带”),每个条带中包括至少一个最大编码单元(LCU)。基于此,上述根据编码数据中目标索引,确定编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,包括以下至少一项:
(1)从编码数据包含的序列头中,解码得到第一索引,目标索引包括第一索引;根据第一索引,确定第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
例如,在第一索引的值为1的情况下,确定第一序列中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值;在第一索引的值为0的情况下,确定第一序列中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的值。可选地,第一序列中的编码单元包括以下任意一项:第一序列中的所有编码单元、第一序列中采用帧内预测模式的编码单元、第一序列中采用帧间预测模式的编码单元。
(2)从编码数据包含的图像头中,解码得到第二索引,目标索引包括第二索引;根据第二索引,确定第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
例如,在第二索引的值为1的情况下,确定第一图像中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值;在第二索引的值为0的情况下,确定第一图像中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的值。可选地,第一图像中的编码单元包括以下任意一项:第一图像中的所有编码单元、第一图像中采用帧内预测模式的编码单元、第一图像中采用帧间预测模式的编码单元。
(3)从编码数据包含的条带头中,解码得到第三索引,目标索引包括第三索引;根据第三索引,确定第一条带中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
例如,在第三索引的值为1的情况下,确定第一条带中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值;在第三索引的值为0的情况下,确定第一条带中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的值。可选地,第一条带中的编码单元包括以下任意一项:第一条带中的所有编码单元、第一条带中采用帧内预测模式的编码单元、第一条带中采用帧间预测模式的编码单元。
(4)从编码数据包含的最大编码单元头部信息中,解码得到第四索引,目标索引包括所述第四索引;根据第四索引,确定第一最大编码单元中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
例如,在第四索引的值为1的情况下,确定第一最大编码单元中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值;在第四索引的值为0的情况下,确定第一最大编码单元中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的值。可选地,第一最大编码单元中的编码单元包括以下任意一项:第一最大编码单元中的所有编码单元、第一最大编码单元中采用帧内预测模式的编码单元、第一最大编码单元中采用帧间预测模式的编码单元。
本申请实施例中,可以结合使用上述第一索引、第二索引、第三索引、第四索引中的至少两个索引来确定编码数据中的编码单元是否需要根据量化系数矩阵来确定变换跳过标志位的值。可选地,结合上述第一索引和第二索引来确定是否需要根据量化系数确定变换跳过标志位的值,上述根据编码数据中目标索引,确定编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,包括:从编码数据包含的序列头中,解码得到第一索引,目标索引包括第一索引;根据第一索引,确定第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;在第一索引指示所述第一序列中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值的情况下,从编码数据包含的图像头中,解码得到第二索引,目标索引包括第二索引;根据第二索引,确定第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
假设索引的值为1指示该索引对应的编码数据中的编码单元需要根据量化系数矩阵来确定变换跳过标志位的取值,索引的值为0指示该索引对应的编码数据中的编码单元不需要根据量化系数矩阵来确定变换跳过标志位的取值。以下示例性地示出了本申请实施例提供的组合指示编码数据中的编码单元是否需要根据量化系数矩阵来确定变换跳过标志位的取值的方式。
在第一索引为0的情况下,确定第一序列中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的取值,此时,不再需要继续判断第二索引、第三索引、第四索引的值。可选地,视频编码器可以仅对第一索引进行编码,而不需要对第二索引、第三索引、第四索引进行编码。
在第一索引为1的情况下,进一步确定第二索引的值,在第二索引为0情况下,确定第一图像中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的取值,此时,不再需要继续判断第三索引、第四索引的值。可选地,视频编码器可以对第一索引和第二索引进行编码,而不需要对第三索引和第四索引进行编码。
在第一索引为1且第二索引为1的情况下,进一步确定第三索引的值,在第三索引为0的情况下,确定第一条带中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的取值,此时,不再需要继续判断第四索引的值。可选地,视频编码器可以对第一索引、第二索引和第三索引进行编码,而不需要对第四索引进行编码。
在第一索引为1、第二索引为1、且第三索引为1的情况下,进一步确定第四索引的值,在第四索引为0的情况下,确定第一最大编码单元中的编码单元不需要根据量化系数矩阵确定变换跳过标志位的取值,在第四索引为1的情况下,确定第一最大编码单元中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值。可选地,视频编码器需要对第一索引、第二索引、第三索引和第四索引均进行编码。
在另一个示例中,上述方法还包括:根据编码单元的块尺寸和目标块尺寸之间的大小关系,确定编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
目标块尺寸可以是预定义的块尺寸,也可以是视频编码器确定的块尺寸并告知视频解码器,还可以是视频编码器和视频解码器采用相同的确定方式确定出的块尺寸,本申请实施例对目标块尺寸的确定方式和大小均不作限定。在视频编解码过程中,根据编码单元的块尺寸和目标块尺寸之间的大小关系,可以确定编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。例如,在编码单元的块尺寸小于目标块尺寸时,确定编码单元需要根据量化系数矩阵确定变换跳过标志位的值;在编码单元的块尺寸大于或等于目标块尺寸时,确定编码单元不需要根据量化系数矩阵确定变换跳过标志位的值。
在又一个示例中,上述方法还包括:根据编码单元对应的量化系数矩阵中原值非零的量化系数的数量,确定编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
可选地,在获取到量化系数矩阵后,可以确定量化系数矩阵中原值非零的量化系数的数量,然后将原值非零的量化系数的数量与目标数量进行比较,以确定编码单元是否需要根据量化系数矩阵隐含指示变换跳过标志位的值。例如,在原值非零的量化系数的数量大于目标数量的情况下,确定需要根据量化系数矩阵隐含指示变换跳过标志位的值;在原值非零的量化系数的数量小于或等于目标数量的情况下,确定不需要根据量化系数矩阵隐含指示变换跳过标志位的值。其中,目标数量可以是预定义的数量,也可以是视频编码器确定的数量并告知视频解码器,还可以是视频编码器和视频解码器采用相同的确定方式确定出的数量,本申请实施例对目标数量的确定方式和大小均不作限定。
在还一个示例中,上述方法还包括:根据编码单元对应的量化系数矩阵的SRCC区域中顶点坐标的位置,确定编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
可选地,在获取到量化系数矩阵后,可以确定量化系数矩阵的SRCC区域中顶点坐标的位置,并根据顶点坐标的位置,确定是否需要根据量化系数矩阵确定变换跳过标志位的值。例如,假设顶点坐标以二维坐标系中的坐标(x,y)表示,在x大于第一参考数值,且y大于第二参考数值的情况下,确定需要根据量化系数矩阵隐含指示变换跳过标志位的值;在x小于或等于第一参考数值,或y小于或等于第二参考数值的情况下,确定不需要根据量化系数矩阵隐含指示变换跳过标志位的值。又例如,假设顶点坐标以二维坐标系中的坐标(x,y)表示,在x大于第一参考数值,或y大于第二参考数值的情况下,确定需要根据量化系数矩阵隐含指示变换跳过标志位的值;在x小于或等于第一参考数值,且y小于或等于第二参考数值的情况下,确定不需要根据量化系数矩阵隐含指示变换跳过标志位的值。其中,目标位置可以是预定义的位置,也可以是视频编码器确定的位置并告知视频解码器,还可以是视频编码器和视频解码器采用相同的确定方式确定出的位置,本申请实施例对目标位置的确定方式和大小均不作限定。
综上所述,本申请实施例提供的技术方案,通过编码数据中的索引、编码单元的尺寸、量化系数矩阵中原值非零的量化系数的个数、SRCC区域中顶点坐标的位置等方式中任意一种,来确定是否需要根据量化系数矩阵来确定变换跳过子块位置的标志位的取值,从而避免在视频编码器显示编码标志位的情况下,视频解码器还采用隐式指示标志位时确定标志位的取值的方式来进行解码,避免计算资源的浪费,有助于解码效率的提升。
请参考图11,其示出了本申请一个实施例提供的视频编码方法的流程图。该方法可应用于视频编码器中,如图6所示的通信系统中的第一设备210中。该方法可以包括如下几个步骤(步骤1110~1140):
步骤1110,获取目标编码单元对应的量化系数矩阵。
由上述介绍说明可知,视频编码器在对目标编码单元进行预测编码后,可以得到目标编码单元对应的残差数据,之后需要对残差数据进行残差处理,以获取目标编码单元的量化系数矩阵。可选地,本申请实施例中,对残差数据的残差处理,包括变换跳过和量化,通过对残差数据进行变换跳过,而直接进行量化,可以得到量化后的系数,也即量化系数,其中,至少一个量化系数即可以组成量化系数矩阵。
本申请实施例,针对目标编码单元对应的残差信号的变换跳过和量化,需要对目标编码单元进行子块划分,并对划分得到的部分子块进行残差数据的变换跳过和量化,而强行清零其它子块,也即,对其它子块既不进行变换也不进行量化。基于此,在一个示例中,上述步骤1110,包括:对目标编码单元进行预测编码,得到目标编码单元对应的残差数据;确定目标编码单元的变换跳过子块位置;按照变换跳过子块位置,对残差数据进行变换跳过和量化,得到量化系数矩阵。
步骤1120,确定需要根据量化系数矩阵指示取值的变换跳过标志位的值,变换跳过标志位是指目标编码单元的变换跳过子块位置的标志位,变换跳过子块位置是指目标编码单元中需要对残差数据进行变换跳过和量化的子块的位置。
变换跳过子块位置的标志位(变换跳过标志位)可以包含多个标志位,在一个示例中,变换跳过标志位包括以下至少一项:第一标志位,用于指示目标编码单元的变换跳过子块位置的划分方向,划分方向包括横向划分和纵向划分;第二标志位,用于在第一标志位指示的划分方向的基础上,指示目标编码单元的变换跳过子块位置。视频编码器可以确定这些标志位中需要隐含指示的标志位,以及需要隐含指示的标志位的值。可选地,视频编码器在确定变换跳过子块位置的情况下,即可确定需要隐含指示的标志位的值。
步骤1130,按照变换跳过标志位的值,调整量化系数矩阵中的量化系数,得到调整后的量化系数矩阵。
为了确保视频解码器通过量化系数矩阵中的量化系数,能够准确确定出隐含指示的标志位的值,本申请实施例中,视频编码器在编码过程中按照隐含指示的标志位的值对量化系数矩阵中的量化系数进行调整,以得到调整后的量化系数矩阵。
在一个示例中,上述步骤1130,包括:将变换跳过标志位的值对应的参考信息,确定为第一参考信息;获取量化系数矩阵中的至少一个量化系数;对至少一个量化系数进行统计求和处理,得到统计求和结果;根据统计求和结果、第一参考信息以及第一计算因子,对至少一个量化系数进行调整,得到调整后的至少一个量化系数;其中,第一参考信息是通过第一计算因子对调整后的至少一个量化系数的统计求和结果进行求余处理得到的,第一计算因子为非零整数。
可选地,上述获取量化系数矩阵中的至少一个量化系数,包括以下至少一种实施方式:
(1)获取量化系数矩阵中的所有量化系数。
(2)获取量化系数矩阵中至少一个指定位置上的量化系数。
(3)获取量化系数矩阵中至少一行上的量化系数。
(4)获取量化系数矩阵中至少一列上的量化系数。
(5)获取量化系数矩阵中至少一个斜线上的量化系数。
(6)获取量化系数矩阵中扫描顺序位于前n位的量化系数,n为正整数。
(7)获取量化系数矩阵中扫描顺序位于中间m位的量化系数,m为正整数。
(8)获取量化系数矩阵的SRCC区域中的所有量化系数。
(9)获取量化系数矩阵的SRCC区域中至少一个指定位置上的量化系数。
(10)获取量化系数矩阵的SRCC区域中至少一行上的量化系数。
(11)获取量化系数矩阵的SRCC区域中至少一列上的量化系数。
(12)获取量化系数矩阵的SRCC区域中至少一个斜线上的量化系数。
(13)获取量化系数矩阵的SRCC区域中扫描顺序位于前s位的量化系数,s为正整数。
(14)获取量化系数矩阵的SRCC区域中扫描顺序位于中间t位的量化系数,t为正整数。
(15)获取量化系数矩阵中至少一行和至少一列上的量化系数。
(16)获取量化系数矩阵的SRCC区域中至少一行和至少一列上的量化系数。
(17)获取量化系数矩阵中至少一个斜线和至少一个指定位置上的量化系数。
(18)获取量化系数矩阵的SRCC区域中至少一个斜线和至少一个指定位置上的量化系数。
可选地,上述对至少一个量化系数进行统计求和处理,得到统计求和结果,包括以下任意一种实施方式:
(1)对至少一个量化系数的原值进行统计求和处理,得到统计求和结果。
(2)对至少一个量化系数的绝对值进行统计求和处理,得到统计求和结果。
(3)对至少一个量化系数中原值为奇数的量化系数的原值进行统计求和处理,得到统计求和结果。
(4)对至少一个量化系数中原值为奇数的量化系数的绝对值进行统计求和处理,得到统计求和结果。
(5)对至少一个量化系数中原值为偶数的量化系数的原值进行统计求和处理,得到统计求和结果。
(6)对至少一个量化系数中原值为偶数的量化系数的绝对值进行统计求和处理,得到统计求和结果。
(7)对至少一个量化系数中原值为非零偶数的量化系数的原值进行统计求和处理,得到统计求和结果。
(8)对至少一个量化系数中原值为非零偶数的量化系数的绝对值进行统计求和处理,得到统计求和结果。
(9)对至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数;对至少一个映射后的量化系数进行统计求和处理,得到统计求和结果。
可选地,上述对至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数,包括以下任意一种实施方式:
(1)将至少一个量化系数中原值为奇数的量化系数映射为第一数值,得到至少一个第一量化系数;将至少一个量化系数中原值为偶数的量化系数映射为第二数值,得到至少一个第二量化系数;其中,至少一个映射后的量化系数包括至少一个第一量化系数和/或至少一个第二量化系数。
(2)将至少一个量化系数中原值为零的量化系数映射为第一数值,得到至少一个第一量化系数;将至少一个量化系数中原值非零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,至少一个映射后的量化系数包括至少一个第一量化系数和/或至少一个第二量化系数。
(3)将至少一个量化系数中原值为非零偶数的量化系数映射为第一数值,得到至少一个第一量化系数;将至少一个量化系数中原值为奇数或零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,至少一个映射后的量化系数包括至少一个第一量化系数和/或至少一个第二量化系数。
(4)对至少一个量化系数进行计算映射处理,得到至少一个映射后的量化系数;其中,计算映射处理包括以下至少一项:取反映射、加值映射、减值映射、乘值映射、除值映射。
有关上述量化系数的获取、量化系数矩阵的调整、参考信息与变换跳过标志位的取值之间的对应关系等的介绍说明,请参见上述视频解码侧的方法示例的介绍说明。应理解,本领域技术人员从视频解码侧根据量化系数确定变换跳过标志位的取值的过程,可以得知根据变换跳过标志位的取值调整量化系数的过程。
需要说明的一点是,本申请实施例中,视频解码侧在确定变换跳过标志位的取值时,获取的至少一个量化系数在量化系数矩阵中的区域,应该与视频编码器在编码过程中调整的量化系数在量化系数矩阵中的区域保持一致,这样才能确保视频解码过程和视频编码过程的一致性。
步骤1140,对调整后的量化系数矩阵进行编码。
视频编码器在调整过量化系数后,即可对调整后的量化系数矩阵进行编码,可选地,视频编码器还可以对其他的信息进行编码(如模式信息、运动矢量等),进而通过对调整后的量化系数矩阵和其他的信息进行编码,可以得到目标编码单元对应的编码数据。
本申请实施例中,视频编码器在编码过程中可以通过编码数据中的索引来指示是否根据量化系数矩阵中的量化系数来隐含指示变换跳过子块位置的标志位的取值。也即,在一个示例中,上述方法还包括:根据编码数据中的目标索引,指示编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;其中,编码数据中的编码单元包括以下任意一项:编码数据中的所有编码单元、编码数据中采用帧内预测模式的编码单元、编码数据中采用帧间预测模式的编码单元。
可选地,上述根据编码数据中的目标索引,指示编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,包括以下至少一项:
(1)根据编码数据包含的序列头中编码的第一索引,指示第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,目标索引包括第一索引。
(2)根据编码数据包含的图像头中编码的第二索引,指示第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,目标索引包括第二索引。
(3)根据编码数据包含的条带中编码的第三索引,指示第一条带中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,目标索引包括第三索引。
(4)根据编码数据包含的最大编码单元头部信息中编码的第四索引,指示第一最大编码单元中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,目标索引包括第四索引。
(5)在第一图像中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值的情况下,根据所述编码数据包含的序列头中编码的第一索引以及所述编码数据包含的图像中编码的第二索引,指示所述第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第一索引和所述第二索引。
有关上述通过索引来指示是否需要根据量化系数矩阵来确定变换跳过子块位置的标志位的取值的介绍说明,请参见上述实施例,此处不多赘述。
在一个示例中,上述方法还包括:根据变换跳过子块位置的标志位的值,确定是否需要对量化系数矩阵进行旋转;在确定需要对量化系数矩阵进行旋转的情况下,将量化系数矩阵的方向从第二方向旋转为第一方向,得到旋转后的量化系数矩阵,旋转后的量化系数矩阵用于进行编码。有关上述对量化系数矩阵的旋转过程的介绍说明,请参见上述方法实施例,此处不多赘述。
综上所述,本申请实施例提供的技术方案,通过在视频编码过程中,根据编码单元的变换跳过子块位置的标志位的取值,调整量化系数矩阵中的量化系数,以使得视频解码器根据调整后的量化系数矩阵中的量化系数确定变换跳过子块位置的标志位的取值,从而达到根据编码单元对应的量化系数矩阵中的量化系数,隐含指示目标编码单元中变换跳过子块位置的标志位的目的,避免对变换跳过子块位置的显示编码,减少了视频码流占用的比特数,提升了视频编码效率。并且,本申请实施例提供的技术方案中,由于无需对变换跳过子块位置的每个标志位都进行显示地编码和解码,从而可以降低视频编码器和视频解码器的处理开销,有助于视频编码器编码效率以及视频解码器解码效率的提升。
请参考图12,其示出了本申请一个实施例提供的视频编码过程和视频解码过程的示意图。该方法可应用于视频编码器和视频解码器中,如图7所示的通信系统中的第一设备210和第二设备220中。
针对视频编码端:
如图12所示,视频编码器在编码过程中,可以确定目标编码单元中需要对残差数据进行变换跳过和量化的子块的位置(变换跳过子块位置),并通过变换跳过标志位的取值来指示变换跳过子块位置。之后,视频编码器根据变换跳过标志位的取值调整量化系数矩阵1210中指定区域内的量化系数,得到调整后的量化系数矩阵1220。然后对调整后的量化系数矩阵以及其它的信息(如模式信息、运动矢量等)进行编码,以得到目标编码单元对应的编码数据。
针对视频解码端:
如图12所示,视频解码器在获取到编码数据后,对编码数据进行解码,以得到目标编码单元对应的量化系数矩阵。然后根据量化系数矩阵中指定区域内的量化系数,得到变换跳过子块位置的标志位的取值,以确定目标编码单元中的变换跳过子块位置。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图13,其示出了本申请一个实施例提供的视频解码装置的框图。该装置具有实现上述视频解码方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是视频解码器,也可以设置在视频解码器中。该装置1300可以包括:解码模块1310、信息确定模块1320、取值获取模块1330和位置确定模块1340。
解码模块1310,用于对目标编码单元进行解码,得到所述目标编码单元对应的量化系数矩阵。
信息确定模块1320,用于根据所述量化系数矩阵中的量化系数,确定第一参考信息。
取值获取模块1330,用于获取所述第一参考信息对应的变换跳过标志位的取值,所述变换跳过标志位是指变换跳过子块位置的标志位,所述变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置。
位置确定模块1340,用于根据获取到的所述变换跳过标志位的取值,确定所述目标编码单元的变换跳过子块位置。
在一个示例中,如图14所示,上述信息确定模块1320,包括:系数获取子模块1322,用于获取所述量化系数矩阵中的至少一个量化系数;求和处理子模块1324,用于对所述至少一个量化系数进行统计求和处理,得到统计求和结果;信息确定子模块1326,用于根据第一计算因子对所述统计求和结果进行求余处理,得到所述第一参考信息,所述第一计算因子为非零整数。
在一个示例中,系数获取子模块1322,用于实现以下至少一种方式:获取所述量化系数矩阵中的所有量化系数;获取所述量化系数矩阵中至少一个指定位置上的量化系数;获取所述量化系数矩阵中至少一行上的量化系数;获取所述量化系数矩阵中至少一列上的量化系数;获取所述量化系数矩阵中至少一行和至少一列上的量化系数;获取所述量化系数矩阵中至少一个斜线上的量化系数;获取所述量化系数矩阵中扫描顺序位于前n位的量化系数,所述n为正整数;获取所述量化系数矩阵中扫描顺序位于中间m位的量化系数,所述m为正整数;获取所述量化系数矩阵的SRCC区域中的所有量化系数;获取所述量化系数矩阵的SRCC区域中至少一个指定位置上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一行上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一列上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一行和至少一列上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一个斜线上的量化系数;获取所述量化系数矩阵的SRCC区域中扫描顺序位于前s位的量化系数,所述s为正整数;获取所述量化系数矩阵的SRCC区域中扫描顺序位于中间t位的量化系数,所述t为正整数。
在一个示例中,上述求和处理子模块1324,用于实现以下至少一种方式:对所述至少一个量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为奇数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为奇数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为偶数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为非零偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为非零偶数的量化系数的绝对值进行统计求和处理的,得到所述统计求和结果;或者,对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数;对所述至少一个映射后的量化系数进行统计求和处理,得到所述统计求和结果。
在一个示例中,上述对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数,包括:将所述至少一个量化系数中原值为奇数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为偶数的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,将所述至少一个量化系数中原值为零的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值非零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,将所述至少一个量化系数中原值为非零偶数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为奇数或零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,对所述至少一个量化系数进行计算映射处理,得到所述至少一个映射后的量化系数;其中,所述计算映射处理包括以下至少一项:取反映射、加值映射、减值映射、乘值映射、除值映射。
在一个示例中,上述取值获取模块1330,用于:按照参考信息与所述变换跳过标志位的取值之间的对应关系,确定所述第一参考信息对应的所述变换跳过标志位的取值。
在一个示例中,所述参考信息包括第一部分余数和第二部分余数,所述变换跳过标志位的取值包括0和1;所述参考信息与所述变换跳过标志位的取值之间的对应关系包括:所述第一部分余数对应于所述变换跳过标志位的取值为0;所述第二部分余数对应于所述变换跳过标志位的取值为1。
在一个示例中,所述第一计算因子为2,所述第一部分余数为0,所述第二部分余数为1。
在一个示例中,变换跳过标志位包括以下至少一项:第一标志位,用于指示所述目标编码单元的变换跳过子块位置的划分方向,所述划分方向包括横向划分和纵向划分;第二标志位,用于在所述第一标志位指示的划分方向的基础上,指示所述目标编码单元的变换跳过子块位置。
在一个示例中,如图14所示,上述装置1300还包括:隐含指示确定模块1350,用于根据编码数据中的目标索引,确定所述编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;其中,所述编码数据中的编码单元包括以下任意一项:所述编码数据中的所有编码单元、所述编码数据中采用帧内预测模式的编码单元、所述编码数据中采用帧间预测模式的编码单元。
在一个示例中,如图14所示,上述隐含指示确定模块1350,用于实现以下至少一项:从所述编码数据包含的序列头中,解码得到第一索引,所述目标索引包括所述第一索引;根据所述第一索引,确定第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;从所述编码数据包含的图像头中,解码得到第二索引,所述目标索引包括所述第二索引;根据所述第二索引,确定第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;从所述编码数据包含的条带头中,解码得到第三索引,所述目标索引包括所述第三索引;根据所述第三索引,确定第一条带中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;从所述编码数据包含的最大编码单元头部信息中,解码得到第四索引,所述目标索引包括所述第四索引;根据所述第四索引,确定第一最大编码单元中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;从所述编码数据包含的序列头中,解码得到第一索引,所述目标索引包括所述第一索引;根据所述第一索引,确定第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;在所述第一索引指示所述第一序列中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值的情况下,从所述编码数据包含的图像头中,解码得到第二索引,所述目标索引包括所述第二索引;根据所述第二索引,确定第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
在一个示例中,如图14所示,上述装置1300还包括:隐含指示确定模块1350,用于根据编码单元的块尺寸和目标块尺寸之间的大小关系,确定所述编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;或者,根据编码单元对应的量化系数矩阵中原值非零的量化系数的数量,确定所述编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;或者,根据编码单元对应的量化系数矩阵的扫描区域系数编码SRCC区域中顶点坐标的位置,确定所述编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
在一个示例中,如图14所示,上述装置1300还包括:旋转确定模块1360,用于根据获取到的所述变换跳过标志位的取值,确定是否需要对所述量化系数矩阵进行旋转;矩阵旋转模块1370,用于在确定需要对所述量化系数矩阵进行旋转的情况下,将所述量化系数矩阵的方向从第一方向旋转为第二方向,得到旋转后的量化系数矩阵;系数处理模块1380,用于对所述旋转后的量化系数矩阵进行反量化处理,得到所述残差数据。
综上所述,本申请实施例提供的技术方案,通过编码单元对应的量化系数矩阵中的量化系数,隐含指示目标编码单元中变换跳过子块位置的标志位,进而确定目标编码单元中的变换跳过子块位置,从而避免对变换跳过子块位置的显示编码,减少了视频码流占用的比特数,提升了视频编码效率。并且,本申请实施例提供的技术方案中,由于无需对变换跳过子块位置的每个标志位都进行显示地编码和解码,从而可以降低视频编码器和视频解码器的处理开销,有助于视频编码器编码效率以及视频解码器解码效率的提升。
请参考图15,其示出了本申请一个实施例提供的视频解码装置的框图。该装置具有实现上述视频解码方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是视频解码器,也可以设置在视频解码器中。该装置1500可以包括:矩阵获取模块1510、取值确定模块1520、系数调整模块1530和编码模块1540。
矩阵获取模块1510,用于获取目标编码单元对应的量化系数矩阵。
取值确定模块1520,用于确定需要根据所述量化系数矩阵指示取值的变换跳过标志位的值,所述变换跳过标志位是指所述目标编码单元的变换跳过子块位置的标志位,所述变换跳过子块位置是指所述目标编码单元中需要对残差数据进行变换跳过和量化的子块的位置。
系数调整模块1530,用于按照所述变换跳过标志位的值,调整所述量化系数矩阵中的量化系数,得到调整后的量化系数矩阵。
编码模块1540,用于对所述调整后的量化系数矩阵进行编码。
在一个示例中,如图16所示,上述系数调整模块1530,包括:信息确定子模块1532,用于将所述变换跳过标志位的值对应的参考信息,确定为第一参考信息;系数获取子模块1534,用于获取所述量化系数矩阵中的至少一个量化系数;求和处理子模块1536,用于对所述至少一个量化系数进行统计求和处理,得到统计求和结果;系数调整子模块1538,用于根据所述统计求和结果、所述第一参考信息以及第一计算因子,对所述至少一个量化系数进行调整,得到调整后的至少一个量化系数;其中,所述第一参考信息是通过所述第一计算因子对所述调整后的至少一个量化系数的统计求和结果进行求余处理得到的,所述第一计算因子为非零整数。
在一个示例中,如图16所示,上述系数获取子模块1534,用于实现以下至少一种方式:获取所述量化系数矩阵中的所有量化系数;获取所述量化系数矩阵中至少一个指定位置上的量化系数;获取所述量化系数矩阵中至少一行上的量化系数;获取所述量化系数矩阵中至少一列上的量化系数;获取所述量化系数矩阵中至少一行和至少一列上的量化系数;获取所述量化系数矩阵中至少一个斜线上的量化系数;获取所述量化系数矩阵中扫描顺序位于前n位的量化系数,所述n为正整数;获取所述量化系数矩阵中扫描顺序位于中间m位的量化系数,所述m为正整数;获取所述量化系数矩阵的SRCC区域中的所有量化系数;获取所述量化系数矩阵的SRCC区域中至少一个指定位置上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一行上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一列上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一行和至少一列上的量化系数;获取所述量化系数矩阵的SRCC区域中至少一个斜线上的量化系数;获取所述量化系数矩阵的SRCC区域中扫描顺序位于前s位的量化系数,所述s为正整数;获取所述量化系数矩阵的SRCC区域中扫描顺序位于中间t位的量化系数,所述t为正整数。
在一个示例中,如图16所示,上述求和处理子模块1536,用于:对所述至少一个量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为奇数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为奇数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为偶数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为非零偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中原值为非零偶数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;或者,对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数;对所述至少一个映射后的量化系数进行统计求和处理,得到所述统计求和结果。
在一个示例中,所述对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数,包括:将所述至少一个量化系数中原值为奇数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为偶数的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,将所述至少一个量化系数中原值为零的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值非零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,将所述至少一个量化系数中原值为非零偶数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为奇数或零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;或者,对所述至少一个量化系数进行计算映射处理,得到所述至少一个映射后的量化系数;其中,所述计算映射处理包括以下至少一项:取反映射、加值映射、减值映射、乘值映射、除值映射。
在一个示例中,所述变换跳过标志位包括以下至少一项:第一标志位,用于指示所述目标编码单元的变换跳过子块位置的划分方向,所述划分方向包括横向划分和纵向划分;第二标志位,用于在所述第一标志位指示的划分方向的基础上,指示所述目标编码单元的变换跳过子块位置。
在一个示例中,如图16所示,上述装置1500还包括:隐含指示模块1550,用于:根据编码数据中的目标索引,指示所述编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;其中,所述编码数据中的编码单元包括以下任意一项:所述编码数据中的所有编码单元、所述编码数据中采用帧内预测模式的编码单元、所述编码数据中采用帧间预测模式的编码单元。
在一个示例中,如图16所示,上述隐含指示模块1550用于实现以下至少一种方式:根据所述编码数据包含的序列头中编码的第一索引,指示第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第一索引;根据所述编码数据包含的图像头中编码的第二索引,指示第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第二索引;根据所述编码数据包含的条带头中编码的第三索引,指示第一条带中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第三索引;根据所述编码数据包含的最大编码单元头部信息中编码的第四索引,指示第一最大编码单元中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第四索引;在第一图像中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值的情况下,根据所述编码数据包含的序列头中编码的第一索引以及所述编码数据包含的图像中编码的第二索引,指示所述第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,所述目标索引包括所述第一索引和所述第二索引。
在一个示例中,上述矩阵获取模块1510,用于:对所述目标编码单元进行预测编码,得到所述目标编码单元对应的残差数据;确定所述目标编码单元的变换跳过子块位置;按照所述变换跳过子块位置,对所述残差数据进行变换跳过和量化,得到所述量化系数矩阵。
在一个示例中,如图16所示,上述装置1500,包括:旋转确定模块1560,用于根据所述变换跳过子块位置的标志位的值,确定是否需要对所述量化系数矩阵进行旋转;矩阵旋转模块1570,用于在确定需要对所述量化系数矩阵进行旋转的情况下,将所述量化系数矩阵的方向从第二方向旋转为第一方向,得到旋转后的量化系数矩阵,所述旋转后的量化系数矩阵用于进行编码。
综上所述,本申请实施例提供的技术方案,通过在视频编码过程中,根据编码单元的变换跳过子块位置的标志位的取值,调整量化系数矩阵中的量化系数,以使得视频解码器根据调整后的量化系数矩阵中的量化系数确定变换跳过子块位置的标志位的取值,从而达到根据编码单元对应的量化系数矩阵中的量化系数,隐含指示目标编码单元中变换跳过子块位置的标志位的目的,避免对变换跳过子块位置的显示编码,减少了视频码流占用的比特数,提升了视频编码效率。并且,本申请实施例提供的技术方案中,由于无需对变换跳过子块位置的每个标志位都进行显示地编码和解码,从而可以降低视频编码器和视频解码器的处理开销,有助于视频编码器编码效率以及视频解码器解码效率的提升。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图17,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是上文介绍的视频解码器,如图6所示的通信系统中的第二设备220;也可以是上文介绍的视频编码器,如图6所示的通信系统中的第一设备210。在该计算机设备为视频解码器的情况下,该计算机设备用于实现上述视频解码方法;在该计算机设备为视频编码器的情况下,该计算机设备用于实现上述视频编码方法。该计算机设备170可以包括:处理器171、存储器172、通信接口173、编码器/解码器174和总线175。
处理器171包括一个或者一个以上处理核心,处理器171通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
存储器172可用于存储计算机程序,处理器171用于执行该计算机程序,以实现上述视频解码方法,或者实现上述视频编码方法。
通信接口173可用于与其它设备进行通信,如收发音视频数据。
编码器/解码器174可用于实现编码和解码功能,如对音视频数据进行编码和解码。
存储器172通过总线175与处理器171相连。
此外,存储器172可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器),SRAM(StaticRandom-Access Memory,静态随时存取存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable read-only memory,可编程只读存储器)。
本领域技术人员可以理解,图17中示出的结构并不构成对计算机设备170的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时以实现上述视频解码方法,或者实现上述视频编码方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视频解码方法,或者实现上述视频编码方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种视频解码方法,其特征在于,所述方法包括:
对目标编码单元进行解码,得到所述目标编码单元对应的量化系数矩阵;
根据所述量化系数矩阵中的量化系数,确定第一参考信息;
获取所述第一参考信息对应的变换跳过标志位的取值,所述变换跳过标志位是指变换跳过子块位置的标志位,所述变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置;
根据获取到的所述变换跳过标志位的取值,确定所述目标编码单元的变换跳过子块位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述量化系数矩阵中的量化系数,确定第一参考信息,包括:
获取所述量化系数矩阵中的至少一个量化系数;
对所述至少一个量化系数进行统计求和处理,得到统计求和结果;
根据第一计算因子对所述统计求和结果进行求余处理,得到所述第一参考信息,所述第一计算因子为非零整数。
3.根据权利要求2所述的方法,其特征在于,所述获取所述量化系数矩阵中的至少一个量化系数,包括以下至少一种方式:
获取所述量化系数矩阵中的所有量化系数;
获取所述量化系数矩阵中至少一个指定位置上的量化系数;
获取所述量化系数矩阵中至少一行上的量化系数;
获取所述量化系数矩阵中至少一列上的量化系数;
获取所述量化系数矩阵中至少一行和至少一列上的量化系数;
获取所述量化系数矩阵中至少一个斜线上的量化系数;
获取所述量化系数矩阵中扫描顺序位于前n位的量化系数,所述n为正整数;
获取所述量化系数矩阵中扫描顺序位于中间m位的量化系数,所述m为正整数;
获取所述量化系数矩阵的扫描区域系数编码SRCC区域中的所有量化系数;
获取所述量化系数矩阵的SRCC区域中至少一个指定位置上的量化系数;
获取所述量化系数矩阵的SRCC区域中至少一行上的量化系数;
获取所述量化系数矩阵的SRCC区域中至少一列上的量化系数;
获取所述量化系数矩阵的SRCC区域中至少一行和至少一列上的量化系数;
获取所述量化系数矩阵的SRCC区域中至少一个斜线上的量化系数;
获取所述量化系数矩阵的SRCC区域中扫描顺序位于前s位的量化系数,所述s为正整数;
获取所述量化系数矩阵的SRCC区域中扫描顺序位于中间t位的量化系数,所述t为正整数。
4.根据权利要求2所述的方法,其特征在于,所述对所述至少一个量化系数进行统计求和处理,得到统计求和结果,包括:
对所述至少一个量化系数的原值进行统计求和处理,得到所述统计求和结果;
或者,
对所述至少一个量化系数的绝对值进行统计求和处理,得到所述统计求和结果;
或者,
对所述至少一个量化系数中原值为奇数的量化系数的原值进行统计求和处理,得到所述统计求和结果;
或者,
对所述至少一个量化系数中原值为奇数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;
或者,
对所述至少一个量化系数中原值为偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;
或者,
对所述至少一个量化系数中原值为偶数的量化系数的绝对值进行统计求和处理,得到所述统计求和结果;
或者,
对所述至少一个量化系数中原值为非零偶数的量化系数的原值进行统计求和处理,得到所述统计求和结果;
或者,对所述至少一个量化系数中原值为非零偶数的量化系数的绝对值进行统计求和处理的,得到所述统计求和结果;
或者,
对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数;对所述至少一个映射后的量化系数进行统计求和处理,得到所述统计求和结果。
5.根据权利要求4所述的方法,其特征在于,所述对所述至少一个量化系数中的各个量化系数进行映射处理,得到至少一个映射后的量化系数,包括:
将所述至少一个量化系数中原值为奇数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为偶数的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;
或者,
将所述至少一个量化系数中原值为非零偶数的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值为奇数或零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;
或者,
将所述至少一个量化系数中原值为零的量化系数映射为第一数值,得到至少一个第一量化系数;将所述至少一个量化系数中原值非零的量化系数映射为第二数值,得到至少一个第二量化系数;其中,所述至少一个映射后的量化系数包括所述至少一个第一量化系数和/或所述至少一个第二量化系数;
或者,
对所述至少一个量化系数进行计算映射处理,得到所述至少一个映射后的量化系数;其中,所述计算映射处理包括以下至少一项:取反映射、加值映射、减值映射、乘值映射、除值映射。
6.根据权利要求2所述的方法,其特征在于,所述获取所述第一参考信息对应的变换跳过标志位的取值,包括:
按照参考信息与所述变换跳过标志位的取值之间的对应关系,确定所述第一参考信息对应的所述变换跳过标志位的取值。
7.根据权利要求6所述的方法,其特征在于,所述参考信息包括第一部分余数和第二部分余数,所述变换跳过标志位的取值包括0和1;所述参考信息与所述变换跳过标志位的取值之间的对应关系包括:
所述第一部分余数对应于所述变换跳过标志位的取值为0;
所述第二部分余数对应于所述变换跳过标志位的取值为1。
8.根据权利要求7所述的方法,其特征在于,所述第一计算因子为2,所述第一部分余数为0,所述第二部分余数为1。
9.根据权利要求1所述的方法,其特征在于,所述变换跳过标志位包括以下至少一项:
第一标志位,用于指示所述目标编码单元的变换跳过子块位置的划分方向,所述划分方向横向划分和纵向划分;
第二标志位,用于在所述第一标志位指示的划分方向的基础上,指示所述目标编码单元的变换跳过子块位置。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据编码数据中的目标索引,确定所述编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
其中,所述编码数据中的编码单元包括以下任意一项:所述编码数据中的所有编码单元、所述编码数据中采用帧内预测模式的编码单元、所述编码数据中采用帧间预测模式的编码单元。
11.根据权利要求10所述的方法,其特征在于,所述根据编码数据中目标索引,确定所述编码数据中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值,包括以下至少一项:
从所述编码数据包含的序列头中,解码得到第一索引,所述目标索引包括所述第一索引;根据所述第一索引,确定第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
从所述编码数据包含的图像头中,解码得到第二索引,所述目标索引包括所述第二索引;根据所述第二索引,确定第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
从所述编码数据包含的条带头中,解码得到第三索引,所述目标索引包括所述第三索引;根据所述第三索引,确定第一条带中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
从所述编码数据包含的最大编码单元头部信息中,解码得到第四索引,所述目标索引包括所述第四索引;根据所述第四索引,确定第一最大编码单元中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
从所述编码数据包含的序列头中,解码得到第一索引,所述目标索引包括所述第一索引;根据所述第一索引,确定第一序列中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;在所述第一索引指示所述第一序列中的编码单元需要根据量化系数矩阵确定变换跳过标志位的值的情况下,从所述编码数据包含的图像头中,解码得到第二索引,所述目标索引包括所述第二索引;根据所述第二索引,确定第一图像中的编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据编码单元的块尺寸和目标块尺寸之间的大小关系,确定所述编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
或者,
根据编码单元对应的量化系数矩阵中原值非零的量化系数的数量,确定所述编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值;
或者,
根据编码单元对应的量化系数矩阵的扫描区域系数编码SRCC区域中顶点坐标的位置,确定所述编码单元是否需要根据量化系数矩阵确定变换跳过标志位的值。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述获取所述第一参考信息对应的变换跳过标志位的取值之后,还包括:
根据获取到的所述变换跳过标志位的取值,确定是否需要对所述量化系数矩阵进行旋转;
在确定需要对所述量化系数矩阵进行旋转的情况下,将所述量化系数矩阵的方向从第一方向旋转为第二方向,得到旋转后的量化系数矩阵;
对所述旋转后的量化系数矩阵进行反量化处理,得到所述残差数据。
14.一种视频解码装置,其特征在于,所述装置包括:
解码模块,用于对目标编码单元进行解码,得到所述目标编码单元对应的量化系数矩阵;
信息确定模块,用于根据所述量化系数矩阵中的量化系数,确定第一参考信息;
取值获取模块,用于获取所述第一参考信息对应的变换跳过标志位的取值,所述变换跳过标志位是指变换跳过子块位置的标志位,所述变换跳过子块位置是指编码单元中需要对残差数据进行变换跳过和量化的子块的位置;
位置确定模块,用于根据获取到的所述变换跳过标志位的取值,确定所述目标编码单元的变换跳过子块位置。
15.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至13任一项所述的视频解码方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011032892.5A CN114286095B (zh) | 2020-09-27 | 2020-09-27 | 视频解码方法、装置及设备 |
PCT/CN2021/118872 WO2022063040A1 (zh) | 2020-09-27 | 2021-09-16 | 视频编解码方法、装置及设备 |
EP21871410.3A EP4124036A4 (en) | 2020-09-27 | 2021-09-16 | METHOD, APPARATUS AND DEVICE FOR VIDEO ENCODING/DECODING |
US17/969,624 US20230050468A1 (en) | 2020-09-27 | 2022-10-19 | Video encoding method and apparatus, video decoding method and apparatus, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011032892.5A CN114286095B (zh) | 2020-09-27 | 2020-09-27 | 视频解码方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114286095A true CN114286095A (zh) | 2022-04-05 |
CN114286095B CN114286095B (zh) | 2023-02-07 |
Family
ID=80867695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011032892.5A Active CN114286095B (zh) | 2020-09-27 | 2020-09-27 | 视频解码方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114286095B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105264891A (zh) * | 2013-06-05 | 2016-01-20 | 高通股份有限公司 | 具有变换跳过、旋转和扫描的残余差分脉码调制(dpcm)扩展和协调 |
CN105612744A (zh) * | 2013-10-01 | 2016-05-25 | 索尼公司 | 视频数据编码和解码 |
JP2018064194A (ja) * | 2016-10-13 | 2018-04-19 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
WO2020172668A1 (en) * | 2019-02-24 | 2020-08-27 | Tencent America LLC | Improved residual coding for transform skip mode and block differential pulse-code modulation |
WO2020182213A1 (en) * | 2019-03-13 | 2020-09-17 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block transform in transform skip mode |
-
2020
- 2020-09-27 CN CN202011032892.5A patent/CN114286095B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105264891A (zh) * | 2013-06-05 | 2016-01-20 | 高通股份有限公司 | 具有变换跳过、旋转和扫描的残余差分脉码调制(dpcm)扩展和协调 |
CN105612744A (zh) * | 2013-10-01 | 2016-05-25 | 索尼公司 | 视频数据编码和解码 |
JP2018064194A (ja) * | 2016-10-13 | 2018-04-19 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
WO2020172668A1 (en) * | 2019-02-24 | 2020-08-27 | Tencent America LLC | Improved residual coding for transform skip mode and block differential pulse-code modulation |
WO2020182213A1 (en) * | 2019-03-13 | 2020-09-17 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block transform in transform skip mode |
Non-Patent Citations (2)
Title |
---|
KYOHEI UNNO 等: "《AHG9: On signalling of the maximum transform skip size》", 《JVET会议草案:JVET-S0204》 * |
王宁等: "高效视频编码中变换跳过模式的快速选择", 《中国图象图形学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114286095B (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111866512B (zh) | 视频解码方法、视频编码方法、装置、设备及存储介质 | |
EP2755388A1 (en) | Method, device, and program for encoding and decoding image | |
CN112533000B (zh) | 视频解码方法、装置、计算机可读介质及电子设备 | |
CN111741299B (zh) | 帧内预测模式的选择方法、装置、设备及存储介质 | |
CN113824957B (zh) | 视频编解码方法、装置及电子设备 | |
WO2022063033A1 (zh) | 视频解码方法、视频编码方法、装置、计算机可读介质及电子设备 | |
CN115668915A (zh) | 图像编码方法、图像解码方法及相关装置 | |
CN111770345A (zh) | 编码单元的运动估计方法、装置、设备及存储介质 | |
CN113207002B (zh) | 视频编解码方法、装置、计算机可读介质及电子设备 | |
CN114257810B (zh) | 上下文模型的选择方法、装置、设备及存储介质 | |
CN114286095B (zh) | 视频解码方法、装置及设备 | |
CN114286096B (zh) | 视频解码方法、装置及设备 | |
WO2021135856A1 (zh) | 视频编解码方法、装置、设备及存储介质 | |
WO2022063040A1 (zh) | 视频编解码方法、装置及设备 | |
CN117278752A (zh) | 基于变换的图像编译方法及其装置 | |
CN111770338B (zh) | 编码单元的索引值确定方法、装置、设备及存储介质 | |
CN114079772B (zh) | 视频解码方法、装置、计算机可读介质及电子设备 | |
CN114079773B (zh) | 视频解码方法、装置、计算机可读介质及电子设备 | |
CN116456086A (zh) | 环路滤波方法、视频编解码方法、装置、介质及电子设备 | |
KR20240074789A (ko) | 루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체, 및 전자 디바이스 | |
CN114071148A (zh) | 视频编码方法、装置、设备及产品 | |
CN114079788A (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
CN115209146A (zh) | 视频编解码方法、装置、计算机可读介质及电子设备 | |
CN114079782A (zh) | 视频图像重建方法、装置、计算机设备及存储介质 | |
CN114979655A (zh) | 视频编解码方法、装置、计算机可读介质及电子设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40067095 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |