CN116848844A - 编解码方法、编解码设备、编解码系统以及计算机可读存储介质 - Google Patents
编解码方法、编解码设备、编解码系统以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116848844A CN116848844A CN202180093908.XA CN202180093908A CN116848844A CN 116848844 A CN116848844 A CN 116848844A CN 202180093908 A CN202180093908 A CN 202180093908A CN 116848844 A CN116848844 A CN 116848844A
- Authority
- CN
- China
- Prior art keywords
- coefficient matrix
- quantization
- quantized
- transformation
- coefficient
- 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
- 238000000034 method Methods 0.000 title claims abstract description 107
- 239000011159 matrix material Substances 0.000 claims abstract description 261
- 238000013139 quantization Methods 0.000 claims abstract description 253
- 230000009466 transformation Effects 0.000 claims abstract description 162
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 59
- 230000001131 transforming effect Effects 0.000 claims abstract description 11
- 230000001419 dependent effect Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006835 compression Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000001914 filtration Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供一种编码方法、解码方法、编码设备、解码设备、编解码系统以及计算机可读存储介质,所述编码方法包括:对当前编码块进行预测,获取预测块;根据当前编码块和预测块,获取当前编码块的残差块;通过至少一个变换核,对残差块进行变换处理得到变换系数矩阵;对变换系数矩阵进行量化处理,得到第一量化系数矩阵;根据使用的变换核和第一量化系数矩阵,若需要对第一量化系数矩阵进行调整,则对第一量化系数矩阵进行调整,以得到第二量化系数矩阵,第一量化系数矩阵不同于第二量化系数矩阵;基于第一量化系数矩阵或第二量化系数矩阵,生成码流。通过本申请可提升编解码效率。
Description
本申请实施例涉及视频压缩领域,更为具体地,涉及一种编解码方法、编解码设备、编解码系统以及计算机可读存储介质。
视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的视频压缩标准能够节省不少视频数据,但目前仍然面临编码效率不高和编码复杂度高等问题。
发明内容
提供了一种编码方法、解码方法、编码设备、解码设备、编解码系统以及计算机可读存储介质,能够将隐式变换核和依赖量化结合,提升编码效率,并可减轻编码设备的复杂度。
第一方面,本申请提供一种编码方法,包括:
对当前编码块进行预测,获取预测块;
根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
第二方面,本申请提供一种解码方法,包括:
解析接收到的码流,获取当前编码块的量化系数矩阵;
根据所述当前编码块的量化系数矩阵的量化系数,确定使用的变换核;
对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
根据所述残差块和经预测得到的预测块,以获得解码图像。第三方面,提供一种编码设备,包括:
预测模块,用于对当前编码块进行预测,获取预测块;
残差获取模块,用于根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
变换模块,用于通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
量化模块,用于对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
调整模块,用于根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
码流生成模块,用于基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
第四方面,提供一种解码设备,包括:
解析模块,用于解析接收到的码流,获取当前编码块的量化系数矩阵;
变换核确定模块,用于根据所述当前编码块的量化系数矩阵的量化系数,确定使用的变换核;
反量化模块,用于对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
反变换模块,用于基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
预测模块,用于根据所述残差块和经预测得到的预测块,以获得解码图像。
第五方面,提供一种编解码系统,包括:上述的编码设备和解码设备。
第六方面,提供一种编码方法,所述方法包括:
对当前编码块进行预测,获取预测块;
根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
按照系数扫描顺序,依次对所述变换系数矩阵中的变换系数进行依赖量化处理,得到第三量化系数矩阵;
根据使用的变换核和所述第三量化系数矩阵,若需要对所述第三量化系数矩阵进行调整,则对所述第三量化系数矩阵进行调整,以得到第四量化系数矩阵,所述第三量化系数矩阵不同于所述第四量化系数矩阵;
基于所述第三量化系数矩阵或所述第四量化系数矩阵,生成码流。
第七方面,提供一种编码设备,包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行如上述的编码方法。
第八方面,提供一种解码设备,包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行 如上述的解码方法。
第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现上述的编码方法或上述的解码方法。
本申请实施例,通过将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,以实现两种技术的共存,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编解码设备的复杂度。
图1是本申请实施例提供的编码框架10的示意性框图。
图2是本申请实施例提供的解码框架20的示意性框图。
图3是本申请实施例的依赖量化的量化器Q0和量化器Q1与变换系数匹配的示意图。
图4是本申请实施例在系数扫描顺序上的转移方法示意图。
图5是本申请实施例的量化器与变换系数级别之间的依赖网格图。
图6是本申请实施例的网格结构表示状态与变换系数级别的依赖性示意图。
图7是本申请实施例的候选变换系数级别示意图。
图8是本申请一实施例的编码方法流程图。
图9是本申请实施例的编码单元经过变换量化后的示意图。
图10是本申请另一实施例的编码方法的流程示意图。
图11是本申请一实施例的解码方法的流程示意图。
图12是本申请一实施例的编码设备的框图。
图13是本申请一实施例的解码设备的框图。
为了对本申请的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本申请的具体实施方式。应理解,本申请实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下具体实施方式不应以限制性的意义来理解,且本申请的范围由所附权利要求书界定。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以互相组合。
本申请实施例所涉及的技术方案可应用于图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域。例如,本申请的方案可结合至音视频编码标准(Audio Video coding Standard,AVS)。例如,H.264/音视频编码(Audio Video coding,AVC)标准,H.265/高效视频编码(High Efficiency Video Coding,HEVC)标准以及H.266/多功能视频编码(Versatile Video Coding,VVC)标准。应理解,本申请实施例涉及的技术方案,还可能应用于未来的视频编码标准中。
本申请的实施例部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
视频压缩或视频编码是处理形成视频或视频序列的图片序列。图片序列包括一系列图像(picture),图像被进一步划分为切片(slice),切片再被划分为块(block)。视频编码是以块为单位进行编码处理。一个视频片,一帧图片或一系列图片会被划分成编码树单元CTU。CTU一般为亮度分量128*128大小的区域。CTU可进一步被划分成编码单元CU。CU为编码的基本单位。对于帧内块,可通过块周边像素作为参考进行预测。对于帧间块,可参考空间上的邻近块信息和其他帧里的参考信息进行预测。基于输入视频的原始值和预测值得到的残差信息,可以块为单位进行变换、量化和熵编码,以形成码流。这些技术被描述在标准里,并实施在各种与视频压缩相关的领域。
用于视频压缩的模块,可包括用于块划分的模块,用于减少或取出视频内在冗余的帧内预测和/或帧间预测模块,残差信息的变换量化和反变换反量化模块,提高主客观重建质量的环路滤波模块和熵编码模块等多个模块。
为了便于理解,先对本申请实施例提供的编解码框架进行简单介绍。
参见图1是本申请实施例提供的编码框架10的示意性框图。应理解,该编码框架10可用于对视频进行有损压缩(lossy compression),也可用于对视频进行无损压缩(lossless compression)。该无损压缩可以是视觉无损压缩(visually lossless compression),也可以是数学无损压缩(mathematically lossless compression)。
如图1所示,该编码框架10包括变换量化模块101、反变换反量化模块102、熵编码模块103、环路滤波模块104、解码图片缓存模块105和预测模块106。预测模块106可包括帧内预测模块107和运动估计/补偿模块108。预测模块106可参考待编码图像帧的相邻图像块对输入视频中的目标图像块进行预测。基于预测块与待编码的目标图像块可计算残差块,即预测块和待编码的目标图像块的差值,该残差块也可称为残差信息。
该残差块经由变换量化模块101的变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。在一些实施例中,经过变换量化模块101变换与量化之前的残差块可称为时域残差块,经过变换/量化模块101变换与量化之后的时域残差块可称为频率残差块或频域残差块。熵编码模块103接收到变换/量化模块101输出的量化后的变化系数后,可基于该量化后的变化系数和预测模块106输出的帧内预测数据或运动数据,输出码流。例如,熵编码模块103可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。例如,熵编码模块103可以用于基于上下文的自适应二进制算术熵编码(CABAC)。
解码设备接收并解析码流后,经过反变换与反量化等步骤得到时域残差块。将预测得到的预测块叠加时域残差块后,即可得到重建块。
在本申请实施例中,目标图像块也可称为原始图像块、待编码的图像块或当前编码块,预测块也可称为预测图像块或图像预测块,重建块也可称为重建图像 块或图像重建块。此外,针对编码设备,目标图像块也可称为目标编码块或目标编码图像块,针对解码设备,目标图像块也可称为目标解码块或目标解码图像块。
在本申请的实施例中,目标图像块可以是目标CTU或目标CU。
如图1所示,预测模块106可包括帧内预测模块107和运动估计/补偿模块108。帧内预测模块107用于进行帧内预测。帧内预测可只参考同一帧图像的信息,以预测目标图像块内的像素信息。帧内预测所使用的帧可以为I帧。进行帧内预测可消除空间冗余。
运动估计/补偿模块108用于进行帧间预测。帧间预测可以参考不同帧的图像信息,利用运动估计搜索最匹配目标图像块的运动矢量信息。帧间预测所使用的帧可以为P帧和/或B帧,其中,P帧指的是向前预测帧,B帧指的是双向预测帧。进行帧间预测可消除时间冗余。
以帧内预测过程为例,目标图像块不能参考不同图像帧的信息,只能借助同一图像帧的相邻图像块作为参考信息进行预测。例如,可根据从左至右、从上到下的编码顺序,目标图像块可以参考左上侧图像块,上侧图像块以及左侧图像块作为参考信息来预测目标图像块,而目标图像块又作为下一个图像块的参考信息,如此,可对整幅图像进行预测。若输入的数字视频为彩色格式,例如,YUV 4:2:0格式,则该数字视频的每一图像帧的每4个像素点由4个Y分量和2个UV分量组成,编码框架10可对Y分量和UV分量分别进行编码。类似的,解码设备也可根据格式进行相应的解码。
再如,可借助角度预测模式与非角度预测模式对目标编码块进行帧内预测,以得到预测块。根据预测块与目标图像块计算得到的率失真信息,筛选出目标图像块最优的预测模式,并将该预测模式经码流传输到解码设备。解码设备解析出预测模式,预测得到目标解码块的预测块并叠加经码流传输而获取的时域残差块,可得到重建块。可选的,该非角度预测模式可包括均值模式和平面模式。可选的,该角度预测模式可包括各种数字视频编码的规定的模式。
经变换量化模块101变换和量化的系数通过反变换反量化模块131的反扩展、反变换得到残差信号(残差块)。该近似残差信号加上预测块后,经环路滤波模块104的滤波,以平滑滤除由于基于块处理和量化产生的块效应等影响。
环路滤波模块104可包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的作用是去方块效应,SAO的作用是去除振铃效应。
解码图片缓存模块105用于存储经解码后的图片,以便用于后续图片的预测。
应理解,图1仅为本申请的示例,不应理解为对本申请的限制。
解码设备接收到编码设备发送的码流后,基于码流获取时域残差块和预测块,进而可基于时域残差块和预测块构建重建块,对该重建块滤波后,可生成解码图像。
如图2所示是本申请实施例提供的解码框架20的示意性框图。解码框架20包括:
熵解码模块201、反变换反量化模块202、帧内预测模块203、运动估计/补 偿模块204、滤波模块205和解码图片缓存模块206。
熵解码模块201接收并解析来自编码设备的码流,以获取预测块和频域残差块。针对频域残差块,通过反变换反量化模块202进行反变换与反量化等步骤,可获取时域残差块。将运动估计/补偿模块204或帧内预测模块203预测得到的预测块叠加至经过通过反变换反量化模块202进行反变换与反量化之后的时域残差块,可得到重建块。在一实施例中,运动估计/补偿模块204或帧内预测模块203可通过解码目标码流的头信息,获取预测块。
在上述图1和图2所示的编解码过程中,对编码块进行空间预测或时间预测得到的残差块中,仍然包含一定的空域冗余数据。预测完成后,CU内的像素值变为残差值,并且在变换前,将CU划分为变换单元TU。变换单元TU用于完成变换、量化的过程。通过变换量化可将图像能量集中在低频范围内,减少图像编码动态范围,节省码流。
对一个块作变换具体的运算过程为将这个块乘上变换矩阵(变换核)。变换核可包括离散余弦变换(Discrete Cosine Transform,DCT)核、离散正弦变换(Discrete Sine Transform,DST)核、傅里叶变换核等。
隐式选择变换(Implicit Selection of Transforms,IST)是一种多变换核的变换技术,通过将选择变换核的标志隐藏在量化系数里达到隐式选择变换的目的。由于不同的块在预测后的残差的特性可能不同,从2个或多个变换核中选择一个合适变换核能提升压缩性能。
在一实施例中,可在码流中,使用标志位来指示当前变换块(变换单元)使用哪一个或哪一组变换核。解码设备通过解码得到标志位,即可使用相应的变换核进行反变换。
在另一实施例中,可将指示当前变换块使用的变换核信息隐藏在量化系数中。解码设备在解码了量化系数后,从量化系数中获得变换核信息,以使用相应的变换核进行反变换。
可选的,可将变换核信息隐藏在量化系数的偶数系数的个数的奇偶性中。在一实施例中,如果量化系数中的偶数系数的个数为奇数,则使用第一变换核进行反变换;如果量化系数中的偶数系数的个数为偶数,则使用第二变换核进行反变换。其中,第一变换核和第二变换核相同,或者第一变换核和第二变换核不相同。
量化是将处于取值范围X的信号映射到一个较小的取值范围Y中,从而减少信号表示的比特数。变换后的变换系数值通常具有较大的动态范围。为了减小这些系数的取值空间,通常采用量化方法。量化过程把变换系数取值范围分为不同的区间,每个区间包含的全部数值只用一个标号来代表,实现变换系数取值多对一的映射。
依赖量化(Dependent Quantization,DQ)为一种量化方式,其共包含两个量化器,这两个量化器有相同的量化步长,但与变换系数的匹配却是交错的。
参见图3,是本申请实施例的依赖量化的量化器Q0和量化器Q1与变换系数匹配的示意图。
其中,量化器Q0匹配了偶数倍的量化步长Δ与变换系数级别(即A、B点对应的数字),量化器Q1匹配了奇数倍的量化步长Δ与变换系数级别(即C、D点对应的数字)。
依赖量化通过引入两个交错的量化器,以及量化器之间跳转的原则,使得大步长的量化器能够完成更精细的量化,可减小重建的变换系数与原始变换系数之间的损失,从而提高编码效率。
对于每个变换系数,可以使用图3中描述的两种量化器Q0和Q1进行量化。这两个量化器的量化的方式与传统的量化器(HEVC中的量化)相似。两个量化器的重建系数都可以用量化步长Δ表示,两个量化器的重建系数定义如下:
对于量化器Q0,该量化器的重建级别为偶数倍的量化步长Δ,当使用这个量化器时,重建的变换系数t′可根据如下公式(1)计算。
t′=2·k·Δ (1)
其中,k表示图3中变换系数级别。
对于量化器Q1,该量化器的重建级别为奇数或零倍的量化步长Δ,当使用这个量化器时,重建的变换系数t′可根据如下公式(2)计算。
t′=(2·k-sgn(k))·Δ (2)
其中,sgn(·)代表符号函数,如公式(3)所示。
使用Q0或Q1进行量化,不通过编码标志位来进行控制。而是根据系数扫描顺序上的上一个系数的变换系数级别(图3中所述的变换系数级别)的奇偶性来决定当前变换系数使用Q0或Q1。
参见图4,在系数扫描顺序上,可以通过图4所示的转移方法,通过当前系数决定下一个系数的状态。在一个实施例中,状态共有四种,分别由0、1、2和3这四个值来表示。例如,当前系数的状态为2且当前变换系数级别为5时,由于5是奇数,所以决定下一个系数的状态跳转为状态3。
每一个变换块在扫描顺序上的第一个系数的状态被设定为初始状态0。状态的0、1、2和3决定着当前的系数使用哪一个量化器,其中,状态0和1对应着使用量化器Q0,状态2和3对应着使用量化器Q1。
与率失真优化量化(Rate-Distortion Optimized Quantization,RDOQ)的实现方式相似,依赖量化的变换系数级别{q
k}的取值为最小化如下公式(4)的一个过程。
J=D+λ·R=∑
k(t
k-t′
k(q
k|q
k-1,q
k-2,...))
2+λ·R
k(q
k|q
k-1,q
k-2,...) (4)
其中,t
k和q
k分别代表原始的变换系数和变换系数级别,t′
k(q
k|...)代表在当前变换系数级别q
k下重建出的变换系数值,R
k(q
k|...)代表估计出的编码q
k需要消耗的比特数。
参见图4所示的状态机的转移,可以将量化器与变换系数级别之间的依赖性表示成如图5所示的网格图。
每一列的四个状态表示当前系数可能的四种状态,每个节点与编码顺序上下一个系数的可能的两个状态节点相连。对于一个给定的当前状态和当前变换系数t
k,可以使用当前量化器量化出对应的变换系数级别。编码设备可以选择使用奇数的变换系数级别,也可以选择使用偶数的变换系数级别。
参见图6为一实施例的网格结构表示状态与变换系数级别的依赖性图。其中,编码顺序为从左到右。奇数变换系数级别对应图6中B(Q0 with parity 1)和D(Q1 with parity 1)。偶数变换系数级别对应A(Q0 with parity 0)和C(Q1 with parity 0)。当根据公式(5)算出所有节点的代价后,变换系数级别q
k就可以通过找到一条代价总和最小的路线来决定。确定最小代价和可以通过维特比算法(Viterbi algorithm)来实现。
J
k(q
k)=(t
k-t′
k(q
k|...))
2+λ·R
k(q
k|...) (5)
具体的实现由两步组成:
S1、找到4个与原始变换系数对应的分别来自Q0和Q1的候选变换系数级别。参见图7,候选变换系数级别包括A、B、C和D。对于Q0和Q1,与原始变换系数最匹配的两个变换系数级别会被选中。
S2、使用维特比算法,基础估计出的率失真(rate-distortion)代价总和来确定一系列当前节点的变换系数级别q
k。
在编码过程中,若采用隐式选择变换进行变换,会通过率失真优化(Rate-Distortion Optimization,RDO)选择出较优的变换核。在量化的过程中,可结合率失真优化量化RDOQ修改其中的量化值的奇偶性以达到对应的隐式条件,从而确保编解码匹配。
而依赖量化的量化方式,由于当前变换系数的量化会受到前一变换系数的量化的影响,在量化过程中会对量化值进行重新修正。依赖量化的量化精确度相比于率失真优化量化的精确度更高。
但,由于隐式选择变换和依赖量化都需要对量化系数进行修改,目前两种技术存在实现上的冲突,在变换和量化时,无法同时采用隐式选择变换和依赖量化。
本申请实施例,通过将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,以实现两种技术的共存,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编码设备的复杂度。
参见图8为本申请一实施例的编码方法流程图。图8所示的方法可由上文中的编码设备执行,包括步骤S81至步骤S86。
S81、对当前编码块进行预测,获取预测块。
当前编码块为原始输入视频中的一个编码块,如前所述,当前编码块可为一个CU。对当前编码块可通过帧间预测或帧内预测等方式进行预测。
S82、根据当前编码块和预测块,获取当前编码块的残差块。
S83、通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵。
在本申请的实施例中,编码设备可有N个变换核(N为大于或等于1的自然数)。在确定变换核时,可依次遍历不同变换核对残差块进行变换,从而确定至少一个变换核用于对残差块进行变换处理。例如,先对当前残差块使用第一变换核进行变换,再对当前残差块使用第二种变换核进行变换。
在一个实施例中,可根据至少一个变换核中各个变换核对应的率失真代价,确定用于对残差块进行变换处理的变换核。可将率失真代价最小的变换核确定为用于对残差块进行变换的变换核。
S84、对变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对变换系数矩阵进行量化处理。
在本申请的实施例中,若当前编码设备使用依赖量化进行量化,则从指定位置开始使用依赖量化。该指定位置为按照系数扫描顺序,变换系数矩阵的第M个非零系数对应的位置,M为大于或等于1的正整数。
参见图9为一实施例中,一个编码单元经过变换量化后的示意图。其中,0表示零系数,1表示非零系数。图中的带箭头的线是系数扫描的顺序,是从右下角开始的一种zig-zag扫描方式。按照图9所示的扫描顺序,第二个非零系数对应的位置为第二个1对应的位置。
本申请实施例中,通过将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,以实现两种技术的共存,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编码设备的复杂度。而使用第二个非零系数对应的位置,可进一步降低编码复杂度,提升编码效率。
在一实施例中,在指定位置之前的变换系数可使用预设量化方式进行量化处理。预设量化方式为编码设备默认的量化方式。默认的量化方式可为RDOQ量化方式或恒定量化参数量化方式等。
在本申请的一实施例中,可根据上述图4和图5所描述的跳转方式,从指定位置,对变换系数进行依赖量化处理。此外,对变换系数矩阵进行量化处理,可包括:
对于一变换系数,根据该变换系数量化后得到的量化系数的奇偶性,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。即将图4中的k改为变换系数量化后得到的量化系数,根据量化系数的奇偶性,决定跳转状态。
在一些实施例中,对变换系数矩阵进行量化处理,还可包括:
对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
应理解,变换系数和量化系数是相对应的,如图4所示,确定跳转状态,即是确定变换系数的跳转状态,也可为确定量化系数的跳转状态。
S85、根据使用的变换核和第一量化系数矩阵,若需要对第一量化系数矩阵进行调整,则对第一量化系数矩阵进行调整,以得到第二量化系数矩阵,第一量 化系数矩阵不同于第二量化系数矩阵。
在本申请的实施例中,不同变换核,使用的隐式表示的方式不相同。例如,若使用第一种变换核,则以量化系数矩阵的偶数系数的个数为奇数来表示,若使用第二种变换核,则以量化系数矩阵的偶数系数的个数为偶数来表示。
如果有超过两种变换核,可对量化系数矩阵的偶数系数的个数进行取模运算,根据取模运算的结果确定所使用的变换核。例如,对于三种变换核的情况,对偶数系数的个数进行模3运算,余数为0对应第一种变换核,余数为1对应第二种变换核,余数为2对应第三种变换核。
在本申请实施例中,对第一量化系数矩阵进行调整,包括:对第一量化系数矩阵中,指定位置之前的量化系数进行调整。
在一实施例中,确定第一量化系数矩阵中偶数系数的个数。若第一量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,以得到第二量化系数矩阵。
在一实施例中,编码设备可使用的变换核包括第一变换核和第二变换核。第一变换核可以量化系数矩阵的偶数系数个数为奇数表示,第二变换核可以量化系数矩阵的偶数系数个数为偶数表示。或者,第一变换核可以量化系数矩阵的偶数系数个数为偶数表示,第二变换核可以量化系数矩阵的偶数系数个数为奇数表示。
可选的,第一变换核可为离散余弦变换核,第二变换核可为离散正弦变换核。
若使用第一种变换核需要以当前量化系数矩阵(第一量化系数矩阵)的偶数系数的个数为奇数来隐式表示,而当前量化系数矩阵的偶数系数的个数为偶数,则调整当前量化系数矩阵指定位置之前的系数的奇偶性来达到满足第一种变换核的奇偶表示。
若当前量化系数矩阵的偶数系数的个数的奇偶性满足第一种变换核的奇偶表示,则不需要调整当前量化系数矩阵的系数。可记录当前变换核下对应的率失真代价与对应的标识位。标识位中包括以下信息中的至少一种:变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
在本申请的一实施例中,调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,可包括:对第一量化系数矩阵中,指定位置之前的量化系数进行加1或减1。
S86、基于第一量化系数矩阵或第二量化系数矩阵,生成码流。
在本申请的一实施例中,若对第一量化系数矩阵中的量化系数进行了调整,则基于调整后得到的第二量化系数矩阵,生成码流。若未对第一量化系数矩阵进行调整,则基于第一量化系数矩阵,生成码流。
在本申请的一实施例中,码流中至少包括:标识位,以及第一量化系数矩阵或第二量化系数矩阵。标识位中包括以下信息中的至少一种:与第一量化系数矩阵或第二量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
应理解,在本申请的其它实施例中,量化系数矩阵中的偶数系数个数的奇偶性还可替换为量化系数矩阵中的奇数系数的奇偶性或非零偶数系数的个数的奇偶性。即若量化系数矩阵中的奇数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,以得到第二量化系数矩阵。或,若量化系数矩阵中的非零偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,以得到第二量化系数矩阵。
通过本申请的实施例,可实现隐式选择变换和依赖量化的共存,从指定位置开始进行依赖量化,无论指定位置之前的系数怎么调整都不会影响依赖量化。指定位置之前的系数只是用来调整隐式选择变换的条件。从而可将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编码设备的复杂度。
参见图10,为本申请另一实施例的编码方法的流程示意图,其包括步骤S101至步骤S106。
S101、对当前编码块进行预测,获取预测块。
S102、根据当前编码块和预测块,获取当前编码块的残差块。
S103、通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵。
S104、按照系数扫描顺序,依次对变换系数矩阵中的变换系数进行依赖量化处理,得到第三量化系数矩阵。
在本申请的该实施例中,为了保证量化系数的调整不影响依赖量化的状态跳转,又不影响隐式选择变换的奇偶表示,对变换系数矩阵中的变换系数进行依赖量化处理,包括:
对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对下一变换系数进行量化。
可选的,取模可为模3运算、模4运算等。例如,对于模4运算,运算结果有0、1、2和3,可把结果为0和1归为第一类,2和3归为第二类,每一类控制一个跳转方向。
S105、根据使用的变换核和第三量化系数矩阵,若需要对第三量化系数矩阵进行调整,则对第三量化系数矩阵进行调整,以得到第四量化系数矩阵,第三量化系数矩阵不同于第四量化系数矩阵。
在一个实施例中,确定第三量化系数矩阵中偶数系数的个数。若第三量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则在量化系数矩阵的预设非零系数之前调整一个指定零系数。
在一个实施例中,指定零系数为与预设非零系数相邻的零系数。预设非零系数可为第一个非零系数、第二个非零系数或其它预先设定的非零系数。
可选的,指定零系数被调整后得到的非零系数符合上一个系数决定的当前状态且不改变下一个非零系数的状态。
S106、基于第三量化系数矩阵或第四量化系数矩阵,生成码流。
应理解,本申请该实施例的步骤S101-S103及S106可按照图9所示的实施例的方式执行,其实现细节相似,在此不再赘述。
应理解,在本申请的其它实施例中,图10所示的实施例中的第三量化系数矩阵中的偶数系数个数的奇偶性还可替换为第三量化系数矩阵中的奇数系数的奇偶性或非零偶数系数的个数的奇偶性。
通过本申请的该实施例,从一开始的位置就使用依赖量化,通过调整系数实现隐式选择变换的修正,所调整的系数既不影响依赖量化的状态跳转又可修正隐式选择变换的奇偶表示。由此,通过调整量化系数矩阵的预设非零系数之前的指定系数,可实现隐式选择变换和依赖量化的共存,提高编码效率,减轻编码设备的复杂度。
参见图11为本申请一实施例的解码方法的流程示意图,其包括步骤S111至步骤S115。
S111、解析接收到的码流,获取当前解码块的量化系数矩阵。
S112、根据当前解码块的量化系数矩阵的量化系数,确定使用的变换核。
在本申请的实施例中,根据当前解码块的量化系数矩阵的偶数系数的个数的奇偶性,奇数系数的个数的奇偶性,或非零偶数系数的个数的奇偶性,确定量化系数矩阵使用的变换核。
可选的,与编码设备相对应,解码设备可使用的变换核可有N个,N为大于或等于1的自然数。解码设备可通过解析码流,并根据量化系数矩阵的确定所要使用的变换核。若变换核包括第一变换核和第二变换核,以根据量化系数矩阵的偶数系数的个数的奇偶性确定使用的变换核为例,若当前解码块的量化系数矩阵的偶数系数的个数为奇数,则确定使用的变换核为第一变换核;若当前解码块的量化系数的偶数系数的个数为偶数,则确定使用的变换核为第二变换核。
其中,第一变换核不同于所述第二变换核。在一个实施例中,第一变换核可为离散余弦变换核,第二变换核可为离散正弦变换核。
如果有超过两种变换核,可对量化系数矩阵的偶数系数的个数进行取模运算,根据取模运算的结果确定所使用的变换核。例如,对于三种变换核的情况,对偶数系数的个数进行模3运算,余数为0对应第一种变换核,余数为1对应第二种变换核,余数为2对应第三种变换核。
由此,本申请实施例通过量化系数矩阵,可以确定反变换要使用的变换核。
S113、对量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对量化系数矩阵进行反量化处理。
在本申请的实施例中,在指定位置之前,使用预设量化方式对量化系数矩阵进行反量化处理,其中,预设量化方式不同于依赖量化。指定位置为第M个非零变换系数对应的位置,M为大于或等于1的正整数。在一个实施例中,指定位置为第二个非零系数对应的位置。应理解,指定位置也可以为其他第非零自然数 个系数,例如,第三个非零系数。
可选的,预设量化方式为默认的量化方式。默认的量化方式可为RDOQ量化方式或恒定量化参数量化方式等。
在本申请的实施例中,通过解析接收到的码流,可获取标识位。标识位包括以下信息中的至少一种:与量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。由此,可以确定非零变换系数的位置,进而确定依赖量化的开始位置。
在本申请的实施例中,在进行反量化的过程中,对于一量化系数,根据该量化系数的奇偶性,确定下一量化系数的跳转状态,以使用相应的量化器对下一量化系数进行反量化。或者,对于一量化系数,根据该量化系数的取模的结果,确定下一量化系数的跳转状态,以使用相应的量化器对下一量化系数进行反量化。
由此,解码设备可对从指定位置,通过依赖量化进行反量化,而指定位置之前通过默认量化方式进行量化,从而对解码块实现高效的反量化。
S114、基于确定使用的变换核,对变换系数矩阵进行反变换得到残差块。
S115、根据残差块和经预测得到的预测块,以获得解码图像。
可参见图2所示,熵解码单元201可解析码流得到当前解码块的预测信息、量化系数矩阵等,运动估计/运动补偿模块204或帧内预测模块203基于预测信息,对当前解码块使用帧内预测或帧间预测产生当前解码块的预测块。反量化/变换单元202使用从码流得到的量化系数矩阵,对量化系数矩阵进行反量化、反变换得到残差块。将预测块和残差块相加得到重建块。依次类推,可以得到待解码图像中其他图像块的重建块,基于各重建块得到解码图像。
在本申请的一实施例中,对重建块可经由图2所示的滤波模块205进行滤波,例如,进行环路滤波得到最终重建块,得到解码图像。应理解,也可通过其它的滤波方式进行滤波,本申请实施例对此不进行限制。
应理解,本申请实施例的解码方法中与编码方法相同的特征,在编码方法中进行了详细描述,此处不再做详细阐述说明。
通过本申请的该实施例的解码方法,可实现隐式选择变换和依赖量化的共存,提高解码效率,且仅需较低幅度的改变量化系数,可减轻解码的复杂度。
本申请实施例的编解码方法,能够解决隐式选择变换与依赖量化的冲突,使两者的性能能够较好的耦合;通过指示隐式选择变换修改量化系数的位置,保证了依赖量化系数技术的有效性和变换核信息的正确传输。同时,能够有效提升编解码效率,较低幅度地改动量化系数,减轻编解码设备的复杂度。此外,本申请实施例的编解码方法,指定了依赖量化的开始位置,也可以将依赖量化应用于所有系数,增加了依赖量化的灵活性,使得编码设备有更多的选择。
应理解,若编码设备从一开始的位置就使用依赖量化,即编码设备采用如图10所述的编码方式,则解码设备采用的解码方法可参照如图2的解码框架。相比于图11所示的解码方法,在步骤S113中,从开始位置即采用依赖量化进行反量化,其它步骤可与图11所示的解码方法相同。
参见图12为本申请一实施例的编码设备的框图,编码设备12包括:
预测模块121,用于对当前编码块进行预测,获取预测块;
残差获取模块122,用于根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
变换模块123,用于通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
量化模块124,用于对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
调整模块125,用于根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
码流生成模块126,用于基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
该实施例中的各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处不再做详细说明阐述。
参见图13为本申请一实施例的解码设备的框图,解码设备13包括:
解析模块131,用于解析接收到的码流,获取当前解码块的量化系数矩阵;
变换核确定模块132,用于根据所述当前解码块的量化系数矩阵的量化系数,确定使用的变换核;
反量化模块133,用于对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
反变换模块134,用于基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
预测模块135,用于根据残差块和经预测得到的预测块,以获得解码图像。
该实施例中的各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处不再做详细说明阐述。
相应的本申请实施例,还提供一种编解码系统,其包括上述的编码设备,以及解码设备。
相应的本申请实施例,还提供一种编码设备,包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行前述图9或图10所述的编码方法。
相应的本申请实施例,还提供一种解码设备包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行前述图11所述的解码方法。
在本申请的一些实施例中,该处理器可以包括但不限于:通用处理器、数字 信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,存储器包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,指令可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器中,并由该处理器执行,以完成本申请提供的编解码的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在设备中的执行过程。
相应的本申请实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如前所述的编码方法或解码方法。
应理解,为了简洁,本申请实施例不再赘述前述已经描述过的实现原理和细节。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合附图从功能模块的角度描述了本申请实施例的装置和系统。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步 骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (30)
- 一种编码方法,其特征在于,所述方法包括:对当前编码块进行预测,获取预测块;根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
- 根据权利要求1所述的编码方法,其特征在于,所述方法还包括:在所述指定位置之前,使用预设量化方式对所述变换系数矩阵进行量化处理,其中,所述预设量化方式不同于所述依赖量化,所述指定位置为按照系数扫描顺序,所述变换系数矩阵的第M个非零变换系数对应的位置,所述M为大于或等于1的正整数。
- 根据权利要求1或2所述的编码方法,其特征在于,对所述第一量化系数矩阵进行调整,包括:对所述第一量化系数矩阵中,所述指定位置之前的量化系数进行调整。
- 根据权利要求3所述的编码方法,其特征在于,所述方法还包括:确定所述第一量化系数矩阵中偶数系数的个数;若所述第一量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,以得到所述第二量化系数矩阵。
- 根据权利要求4所述的编码方法,其特征在于,所述使用的变换核为第一变换核,所述第一变换核以量化系数矩阵的偶数系数的个数为奇数表示;若所述第一量化系数矩阵中偶数系数的个数为偶数,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,使得所述第二量化系数矩阵中偶数系数的个数为奇数。
- 根据权利要求4所述的编码方法,其特征在于,所述使用的变换核为第二变换核,所述第二变换核以量化系数矩阵的偶数系数的个数为偶数表示;若所述第一量化系数矩阵中偶数系数的个数为奇数,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,使得所述第二量化系数矩阵中偶数系数的个数为偶数。
- 根据权利要求4-6任一项所述的编码方法,其特征在于,所述调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,包括:对所述第一量化系数矩阵中,所述指定位置之前的量化系数进行加1或减1。
- 根据权利要求3所述的编码方法,其特征在于,所述方法还包括:确定所述第一量化系数矩阵中奇数系数的个数;若所述奇数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,以得到所述第二量化系数矩阵。
- 根据权利要求3所述的编码方法,其特征在于,所述方法还包括:确定所述第一量化系数矩阵中非零偶数系数的个数;若所述非零偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,以得到所述第二量化系数矩阵。
- 根据权利要求1所述的编码方法,其特征在于,对所述变换系数矩阵进行量化处理,包括:对于一变换系数,根据该变换系数量化后得到的量化系数的奇偶性,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
- 根据权利要求1所述的编码方法,其特征在于,对所述变换系数矩阵进行量化处理,包括:对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
- 根据权利要求1所述的编码方法,其特征在于,所述方法包括:根据所述至少一个变换核中各个变换核对应的率失真代价,确定用于对所述残差块进行变换处理的变换核。
- 根据权利要求1所述的编码方法,其特征在于,所述码流中至少包括:标识位,以及所述第一量化系数矩阵或所述第二量化系数矩阵,所述标识位中包括以下信息中的至少一种:与所述第一量化系数矩阵或所述第二量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
- 一种解码方法,其特征在于,包括:解析接收到的码流,获取当前解码块的量化系数矩阵;根据所述当前解码块的量化系数矩阵的量化系数,确定使用的变换核;对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;根据所述残差块和经预测得到的预测块,以获得解码图像。
- 根据权利要求14所述的解码方法,其特征在于,所述方法还包括:在所述指定位置之前,使用预设量化方式对所述量化系数矩阵进行反量化处理,其中,所述预设量化方式不同于所述依赖量化,所述指定位置为第M个非零变换系数对应的位置,所述M为大于或等于1的正整数。
- 根据权利要求14所述的解码方法,其特征在于,根据所述当前解码块的 量化系数矩阵的量化系数,确定所述量化系数矩阵使用的变换核包括:根据所述当前解码块的量化系数矩阵的偶数系数的个数的奇偶性,奇数系数的个数的奇偶性,或非零偶数系数的个数的奇偶性,确定所述量化系数矩阵使用的变换核。
- 根据权利要求16所述的解码方法,其特征在于,若所述当前解码块的量化系数矩阵的偶数系数的个数为奇数,则确定使用的变换核为第一变换核;若所述当前解码块的量化系数的偶数系数的个数为偶数,则确定使用的变换核为第二变换核;其中,所述第一变换核不同于所述第二变换核。
- 根据权利要求14所述的解码方法,其特征在于,对所述量化系数矩阵进行反量化得到变换系数矩阵,包括:对于一量化系数,根据该量化系数的奇偶性,确定下一量化系数的跳转状态,以使用相应的量化器对所述下一量化系数进行反量化。
- 根据权利要求14所述的解码方法,其特征在于,对所述量化系数矩阵进行反量化得到变换系数矩阵,包括:对于一量化系数,根据该量化系数的取模的结果,确定下一量化系数的跳转状态,以使用相应的量化器对所述下一量化系数进行反量化。
- 根据权利要求14所述的解码方法,其特征在于,所述方法还包括:解析所述码流,获取标识位,所述标识位包括以下信息中的至少一种:与所述量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
- 一种编码设备,其特征在于,包括:预测模块,用于对当前编码块进行预测,获取预测块;残差获取模块,用于根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;变换模块,用于通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;量化模块,用于对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;调整模块,用于根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;码流生成模块,用于基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
- 一种解码设备,其特征在于,包括:解析模块,用于解析接收到的码流,获取当前解码块的量化系数矩阵;变换核确定模块,用于根据所述当前解码块的量化系数矩阵的量化系数,确定使用的变换核;反量化模块,用于对所述量化系数矩阵进行反量化得到变换系数矩阵,其中, 从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;反变换模块,用于基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;预测模块,用于根据所述残差块和经预测得到的预测块,以获得解码图像。
- 一种编解码系统,其特征在于,包括:根据权利要求21所述的编码设备,以及根据权利要求22所述解码设备。
- 一种编码方法,其特征在于,所述方法包括:对当前编码块进行预测,获取预测块;根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;按照系数扫描顺序,依次对所述变换系数矩阵中的变换系数进行依赖量化处理,得到第三量化系数矩阵;根据使用的变换核和所述第三量化系数矩阵,若需要对所述第三量化系数矩阵进行调整,则对所述第三量化系数矩阵进行调整,以得到第四量化系数矩阵,所述第三量化系数矩阵不同于所述第四量化系数矩阵;基于所述第三量化系数矩阵或所述第四量化系数矩阵,生成码流。
- 根据权利要求24所述的编码方法,其特征在于,所述方法还包括:确定所述第三量化系数矩阵中偶数系数的个数;若所述第三量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则在所述第三量化系数矩阵的预设非零系数之前调整一个指定零系数,其中,所述指定零系数为与所述预设非零系数相邻的零系数。
- 根据权利要求25所述的编码方法,其特征在于,所述指定零系数被调整后得到的非零系数符合上一个系数决定的当前状态且不改变下一个非零系数的状态。
- 根据权利要求24所述的编码方法,其特征在于,对所述变换系数矩阵中的变换系数进行依赖量化处理,包括:对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
- 一种编码设备,其特征在于,包括:至少一个处理器;至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行如权利要求1-13或24-27任一项所述的方法。
- 一种解码设备,其特征在于,包括:至少一个处理器;至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行如权利要求14-20任一项所述的解码方法。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如权利要求1-13或24-27中任一项 所述的编码方法,或如权利要求14-20任一项所述的解码方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/077522 WO2022178686A1 (zh) | 2021-02-23 | 2021-02-23 | 编解码方法、编解码设备、编解码系统以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116848844A true CN116848844A (zh) | 2023-10-03 |
Family
ID=83048625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180093908.XA Pending CN116848844A (zh) | 2021-02-23 | 2021-02-23 | 编解码方法、编解码设备、编解码系统以及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116848844A (zh) |
WO (1) | WO2022178686A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886913B (zh) * | 2023-08-03 | 2024-03-08 | 镕铭微电子(济南)有限公司 | 率失真优化量化方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7085009B2 (ja) * | 2018-03-07 | 2022-06-15 | 華為技術有限公司 | マルチ符号ビット隠蔽及び残差符号予測を和合する方法及び装置 |
WO2019190098A1 (ko) * | 2018-03-28 | 2019-10-03 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
-
2021
- 2021-02-23 CN CN202180093908.XA patent/CN116848844A/zh active Pending
- 2021-02-23 WO PCT/CN2021/077522 patent/WO2022178686A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022178686A1 (zh) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677983B2 (en) | Methods and apparatus for improved entropy encoding and decoding | |
US10750177B2 (en) | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program | |
CN109997361B (zh) | 用于视频译码的低复杂度符号预测 | |
CN107211148B (zh) | 在视频译码中调色板块大小的限制 | |
KR102103967B1 (ko) | 복수의 이웃 양자화 파라미터들로부터 양자화 파라미터 예측 변수들을 결정하기 위한 방법들 및 장치 | |
US10743027B2 (en) | Methods and apparatus for adaptive template matching prediction for video encoding and decoding | |
JP2017184266A (ja) | 強化されたcabac復号を用いた画像復号装置 | |
CN112352429B (zh) | 对视频数据进行编解码的方法、设备和存储介质 | |
US20130003855A1 (en) | Processing method and device for video signals | |
US10284851B2 (en) | Method of determining binary codewords for transform coefficients | |
US8611687B2 (en) | Method and apparatus for encoding and decoding image using flexible orthogonal transform | |
US10003793B2 (en) | Processing of pulse code modulation (PCM) parameters | |
CN110536133B (zh) | 视频数据解码方法及装置 | |
KR20200000543A (ko) | 지도 학습을 이용한 영상 개선 방법 및 장치 | |
CN116848844A (zh) | 编解码方法、编解码设备、编解码系统以及计算机可读存储介质 | |
CN117063467A (zh) | 块划分方法、编码器、解码器以及计算机存储介质 | |
CN115086664A (zh) | 未匹配像素的解码方法、编码方法、解码器以及编码器 | |
WO2023197230A1 (zh) | 滤波方法、编码器、解码器以及存储介质 | |
WO2022193389A1 (zh) | 视频编解码方法与系统、及视频编解码器 | |
WO2022193390A1 (zh) | 视频编解码方法与系统、及视频编解码器 | |
WO2022174475A1 (zh) | 视频编解码方法与系统、及视频编码器与视频解码器 | |
CN117121485A (zh) | 视频编解码方法与系统、及视频编解码器 | |
CN116998151A (zh) | 一种编码方法、解码方法、编码器、解码器以及存储介质 | |
CN116405701A (zh) | 图像滤波方法、装置、设备及存储介质 | |
CN114979628A (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 |