CN116156168A - 一种图像编解码方法及装置 - Google Patents
一种图像编解码方法及装置 Download PDFInfo
- Publication number
- CN116156168A CN116156168A CN202210520733.2A CN202210520733A CN116156168A CN 116156168 A CN116156168 A CN 116156168A CN 202210520733 A CN202210520733 A CN 202210520733A CN 116156168 A CN116156168 A CN 116156168A
- Authority
- CN
- China
- Prior art keywords
- quantization step
- target
- block
- quantization
- value
- 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 211
- 238000013139 quantization Methods 0.000 claims abstract description 539
- 230000008859 change Effects 0.000 claims abstract description 75
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007906 compression Methods 0.000 abstract description 35
- 230000006835 compression Effects 0.000 abstract description 34
- 230000008569 process Effects 0.000 description 46
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 40
- 230000006870 function Effects 0.000 description 23
- 230000033001 locomotion Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 18
- 230000009286 beneficial effect Effects 0.000 description 11
- 230000003139 buffering effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012885 constant function Methods 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
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
本申请提供一种图像编解码方法及装置,涉及视频编解码领域,可以用于提升该编码器的压缩性能。该方法应用于解码端,该方法包括:获取待解码块的量化参数QP值;根据获取到的QP值,在多个对应关系中确定目标对应关系;该对应关系用于指示不同的QP值和量化步长之间的对应关系,多个对应关系中的每两个对应关系指示的对应关系不同,其中,在多个对应关系中,目标对应关系在包括QP值的预设区间内的量化步长的变化率最小;根据获取到的QP值和目标对应关系,确定目标量化步长;根据目标量化步长对待解码块进行反量化;对反量化后的待解码块进行重建,得到重建的图像块。
Description
技术领域
本申请实施例涉及视频编解码领域,尤其涉及一种图像编解码方法及装置。
背景技术
视频编码技术也称为视频压缩技术,视频压缩技术用于降低视频信号的数据带宽。其中,视频是连续的图像序列,由连续的图像帧构成,一帧图像即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,人眼可见的就是连续的视频。对视频进行编解码即对视频中的每一帧图像进行编解码。以一帧图像为例,在编码端,图像编码器对图像编码,得到图像对应的码流并传输码流至解码端;在解码端,图像解码器解析码流,从而重建图像。
在图像编解码过程中,量化可以实现信号取值多对一的映射,从而有效减少信号取值空间,获得更好的压缩效率。编码端和解码端根据量化参数(quantizationparameter,QP)确定量化步长(quantization step,记为Qstep),以执行量化和反量化过程。量化是图像有损压缩的一个步骤,量化步长可用于控制图像质量与压缩率之间的平衡。较大的量化步长可保证高压缩率但会令图像质量下降,较低的量化步长则导致低压缩率但会保持较好的图像质量。
目前,在量化过程中,大小相近的量化参数对应的量化步长的差别较大,如此,会导致该编码器输出的码流,码率波动明显,图像质量与压缩率之间的平衡较差,影响该编码器的压缩性能。
发明内容
本申请实施例提供一种图像编解码方法及装置,可以用于提升该编码器的压缩性能。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种图像解码方法,该方法由解码端执行,该方法包括:获取待解码块的量化参数QP值;根据获取到的QP值,在多个对应关系中确定目标对应关系;该对应关系用于指示不同的QP值和量化步长之间的对应关系,多个对应关系中的每两个对应关系指示的对应关系不同,其中,在多个对应关系中,目标对应关系在包括QP值的预设区间内的量化步长的变化率最小;根据获取到的QP值和目标对应关系,确定目标量化步长;根据目标量化步长对待解码块进行反量化;对反量化后的待解码块进行重建,得到重建的图像块。
本申请实施例提供的图像解码方法至少具有以下有益效果:该方法预设不同的量化参数和量化步长之间的多种对应关系,在反量化过程中,可以基于各个对应关系中,包括QP值的预设区间内的量化步长的变化率,首先选择合适的对应关系,并以此来根据获取到的待解码块的量化参数来确定量化步长,进而进行反量化操作。由于较大的量化步长可保证高压缩率但会令图像质量下降,较低的量化步长则导致低压缩率但会保持较好的图像质量。通过选择合适的对应关系,可以调控量化步长的可取值的范围,还可以控制大小相近的量化参数对应的量化步长的变化率的大小。如此,该方法通过选择合适的对应关系,可以控制图像质量与压缩率之间的平衡,还可以通过控制控制量化步长之间的变化速度,来控制视频码流的码率波动,提升该编码器的压缩性能。
在一种可能的实现方式中,上述在多个对应关系中确定目标对应关系,包括:获取待解码块的第一参数,第一参数可以包括上述QP值、预测量化步长、或预测量化步长的索引值中的任一个,其中,预测量化步长的索引值用于指示预测量化步长的取值区间。进而根据所述第一参数,在所述多个对应关系中确定所述目标对应关系。
在另一种可能的实现方式中,若第一参数包括所述QP值,则上述根据第一参数,在多个对应关系中确定目标对应关系,具体包括:若QP值在第一QP区间内,则将多个对应关系中的第一对应关系确定为目标对应关系,其中,多个对应关系中基于第一对应关系和第一QP区间中的QP值确定的量化步长的变化率最小;第一QP区间是多个QP区间中的其中一个QP区间,多个QP区间是基于QP的可取值范围划分得到多个QP取值区间。
可以理解,若量化步长的分布比较集中,则大小相近的QP对应的量化步长的差别较小,如此,会使得该编码器输出的码流,码率波动较小。反之,若量化步长的分布比较稀疏,则大小相近的QP对应的量化步长的差别较大,如此,会导致该编码器输出的码流,码率波动较大,影响该编码器的压缩性能。并且,在量化步长较大时,若量化步长增大较多,则量化更加粗糙,量化失真也突然增大,影响解码图像的质量。若量化步长随QP变化的的变化率最小,则说明量化步长的分布最为集中,则大小相近的QP对应的量化步长的差别最小,如此,会使得该编码器输出的码流,码率波动最小。
在又一种可能的实现方式中,若第一参数包括预测量化步长或预测量化步长的索引值,则上述根据第一参数,在多个对应关系中确定目标对应关系,包括:若预测量化步长值在第一量化步长区间内,或者,预测量化步长的索引值指示第一量化步长区间,则将多个对应关系中的第二对应关系确定为目标对应关系,其中,在多个对应关系中,第二对应关系中第一量化步长区间内的量化步长的变化率最小;其中,第一量化步长区间是多个量化步长区间中的其中一个量化步长区间,多个量化步长区间是基于量化步长的可取值范围划分得到多个量化步长取值区间。
在又一种可能的实现方式中,上述获取所述待解码块的第一参数,包括:获取待解码块周围一个或多个已重建图像块的第一历史参数,第一历史参数包括所述待解码块周围一个或多个已重建图像块的历史量化步长、QP值、比特深度、模式信息、目标像素深度(bitsper pixel,BPP)以及纹理复杂度中的一项或多项;根据第一历史参数,确定第一参数。
可以理解,在该实现方式中,可以基于待解码块周围一个或多个已重建图像块的相关信息,确定出待解码块的第一参数。
在又一种可能的实现方式中,若第一参数包括预测量化步长,则上述根据第一历史参数,确定第一参数,包括:将所述一个或多个重建图像块的历史量化步长的均值、中位数或者众数确定为所述预测量化步长。
在又一种可能的实现方式中,若第一参数包括预测量化步长的索引值,则上述根据第一历史参数,确定第一参数,包括:确定一个或多个重建图像块的历史量化步长所在的量化步长取值区间的索引值,该量化步长区间是多个量化步长区间中的其中一个量化步长区间,多个量化步长区间是基于量化步长的可取值范围划分得到多个量化步长取值区间;根据得到的一个或多个索引值,确定预测量化步长的索引值。
在又一种可能的实现方式中,上述在多个对应关系中确定目标对应关系,包括:解析待解码块的码流,得到目标对应关系的标识;并根据目标对应关系的标识,在多个对应关系中确定目标对应关系,目标对应关系用于确定待解码块在反量化时的目标量化步长。
在又一种可能的实现方式中,待解码块为当前图像帧的解码顺序的第一个图像块,则在多个对应关系中确定目标对应关系,包括:解析当前图像帧的码流,得到目标对应关系的标识;根据目标对应关系的标识,在所述多个对应关系中确定目标对应关系,目标对应关系用于确定当前图像帧中全部待解码的图像块在反量化时的目标量化步长。
在又一种可能的实现方式中,待解码块为当前图像帧的解码顺序的第一个图像块,则在多个对应关系中确定目标对应关系,包括:获取已解码图像帧的第二历史参数,第二历史参数包括已解码图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;根据第二历史参数,在多个对应关系中确定所述目标对应关系;或者,获取当前图像帧的图像参数,该图像参数包括所述当前图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;根据图像参数,在多个对应关系中确定所述目标对应关系。
可以理解,在该实现方式中,解码端通过解析码流即可直接得到目标对应关系的标识,确定过程简单直接,可以节省计算成本。
在又一种可能的实现方式中,待解码块非当前图像帧的解码顺序的第一个图像块,上述确定目标对应关系包括:将当前图像帧中的已重建图像块采用的对应关系确定为目标对应关系。
在又一种可能的实现方式中,上述多个对应关系包括多个量化曲线,量化曲线为量化步长-QP变化曲线。
可以理解,可通过量化步长-QP变化曲线来表示多个量化步长与多个QP值之间的对应关系。
在又一种可能的实现方式中,量化曲线包括分段曲线和光滑曲线。
在又一种可能的实现方式中,上述光滑曲线中的量化步长随QP值变化而均匀变化,或者,光滑曲线中量化步长小于第一阈值时量化步长随QP变化的变化率,小于或大于量化步长大于第二阈值时量化步长随QP变化的变化率;其中,所述第二阈值大于或等于所述第一阈值。
在又一种可能的实现方式中,量化步长满足以下关系:
Qstep=p×2n
其中,Qstep为上述量化步长,p为正奇数,n为整数。
可以理解,在该实现方式中,可以通过预设公式来控制量化步长的可取值的数量与可取值的大小。进而,根据上述公式,可以通过较少的p的取值个数,来降低所需的硬件成本。
第二方面,本申请实施例提供一种图像解码方法,该方法应用于解码端,该方法包括:获取待解码块的量化参数QP值;根据QP值确定目标量化步长,目标量化步长满足属于预设集合,该预设集合中包括至少一个预设的量化步长可取值;根据目标量化步长对所述待解码块进行反量化;对反量化后的待解码块进行重建,得到重建的图像块。
在一种可能的实现方式中,上述至少一个预设的量化步长可取值满足以下关系:
Qstep=p×2n
其中,Qstep为目标量化步长,p为正奇数,n为整数。
第三方式,本申请实施例提供一种图像编码方法,该方法应用于编码端,该方法包括:获取待编码块的量化参数QP值;在多个对应关系中确定目标对应关系;对应关系用于指示不同的QP值和量化步长之间的对应关系,多个对应关系中的每两个对应关系指示的对应关系不同,其中,在多个对应关系中,目标对应关系在包括QP值的预设区间内的量化步长的变化率最小;根据QP值和目标对应关系,确定目标量化步长;根据目标量化步长对待编码块进行量化;对量化后的待编码块进行编码,得到待编码块的码流。
在一种可能的实现方式中,上述在多个对应关系中确定目标对应关系,包括:获取待编码块的第一参数,第一参数包括QP值、预测量化步长、或预测量化步长的索引值中的任一个,预测量化步长的索引值用于指示预测量化步长的取值区间;根据第一参数,在多个对应关系中确定目标对应关系。
在另一种可能的实现方式中,若第一参数包括QP值,则上述根据第一参数,在多个对应关系中确定目标对应关系,具体包括:若QP值在第一QP区间内,则将多个对应关系中的第一对应关系确定为目标对应关系,其中,基于多个对应关系中的第一对应关系和第一QP区间中的QP值确定的量化步长的变化率最小;其中,第一QP区间是多个QP区间中的其中一个QP区间,多个QP区间是基于QP的可取值范围划分得到多个QP取值区间。
在又一种可能的实现方式中,若第一参数包括预测量化步长或预测量化步长的索引值,则上述根据第一参数,在多个对应关系中确定目标对应关系,具体包括:若预测量化步长值在第一量化步长区间内,或者,预测量化步长的索引值指示第一量化步长区间,则将多个对应关系中的第二对应关系确定为目标对应关系,其中,在多个对应关系中,第二对应关系中第一量化步长区间内的量化步长的变化率最小;其中,第一量化步长区间是多个量化步长区间中的其中一个量化步长区间,多个量化步长区间是基于量化步长的可取值范围划分得到多个量化步长取值区间。
在又一种可能的实现方式中,上述获取待编码块的第一参数,具体包括:获取待编码块周围一个或多个已编码图像块的第一历史参数,第一历史参数包括待解码块周围一个或多个已编码图像块的历史量化步长、QP值、比特深度、模式信息、目标像素深度以及纹理复杂度中的一项或多项;根据第一历史参数,确定第一参数。
在又一种可能的实现方式中,若第一参数包括预测量化步长,则上述根据第一历史参数,确定第一参数,具体包括:将一个或多个已编码图像块的历史量化步长的均值、中位数或者众数确定为预测量化步长。
在又一种可能的实现方式中,若第一参数包括预测量化步长的索引值,则上述根据第一历史参数,确定第一参数,具体包括:确定一个或多个已编码图像块的历史量化步长所在的量化步长取值区间的索引值,量化步长区间是多个量化步长区间中的其中一个量化步长区间,多个量化步长区间是基于量化步长的可取值范围划分得到多个量化步长取值区间;根据得到的一个或多个索引值,确定预测量化步长的索引值。
在又一种可能的实现方式中,该方法还包括:获取目标对应关系的标识;对目标对应关系的标识进行编码,待编码块的码流中包括目标对应关系的标识,目标对应关系用于确定待编码块在量化时的目标量化步长。
在又一种可能的实现方式中,若待编码块为当前图像帧的编码顺序的第一个图像块,则该方法还包括:获取目标对应关系的标识;对目标对应关系的标识进行编码,当前图像帧的码流中包括目标对应关系的标识,目标对应关系用于确定当前图像帧中全部待编码的图像块在量化时的目标量化步长。
在又一种可能的实现方式中,若待编码块为当前图像帧的编码顺序的第一个图像块,则上述在多个对应关系中确定目标对应关系,具体包括:获取已编码图像帧的第二历史参数,第二历史参数包括已编码图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;根据第二历史参数,在多个对应关系中确定目标对应关系;或者,获取当前图像帧的图像参数,图像参数包括当前图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;根据图像参数,在多个对应关系中确定目标对应关系。
在又一种可能的实现方式中,若待编码块非当前图像帧的编码顺序的第一个图像块,则上述确定目标对应关系具体包括:将当前图像帧中的已编码图像块采用的对应关系确定为目标对应关系。
在又一种可能的实现方式中,上述多个对应关系包括多个量化曲线,量化曲线为量化步长-QP变化曲线量化曲线包括分段曲线或光滑曲线。
在又一种可能的实现方式中,连续曲线中的量化步长随QP值变化而均匀变化,或者,连续曲线中量化步长小于第一阈值时量化步长随QP变化的变化率,小于或大于量化步长大于第二阈值时量化步长随QP变化的的变化率;其中,第二阈值大于或等于第一阈值。
在又一种可能的实现方式中,量化步长满足以下关系:
Qstep=p×2n
其中,Qstep为量化步长,p为正奇数,n为整数。
第三方面及其任一种可能的是实现方式提供的图像解码方法与第一方面及其任一种可能的是实现方式提供的图像编码方法是对应的,因此,第三方面及其任一种可能的实现方式提供的技术方案的有益效果,均可以参考第一方面中对应的方法的有益效果的描述,不再赘述。
第四方面,本申请实施例还提供一种图像编码方法,该方法应用于解码端,该方法包括:获取待编码块的量化参数QP值;根据QP值确定目标量化步长,目标量化步长属于预设集合,预设集合中包括至少一个预设的量化步长可取值;根据QP值和目标对应关系,确定目标量化步长;根据目标量化步长对待编码块进行量化;对量化后的待编码块进行编码,得到待编码块的码流。
在一种可能的实现方式中,上述至少一个预设的量化步长可取值满足以下关系:
Qstep=p×2n
其中,Qstep为目标量化步长,p为正奇数,n为整数。
第四方面及其任一种可能的是实现方式提供的图像解码方法与第二方面及其任一种可能的是实现方式提供的图像编码方法是对应的,因此,第四方面及其任一种可能的实现方式提供的技术方案的有益效果,均可以参考第二方面中对应的方法的有益效果的描述,不再赘述。
第五方面,本申请提供了一种图像解码装置。该解码装置可以是视频解码器或包含视频解码器的设备。该解码装置包括用于实现第一方面或第二方面中任一种可能实现方式中提供的方法的各个模块。所述解码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第六方面,本申请提供了一种图像编码装置。该编码装置可以是视频编码器或包含视频编码器的设备。该编码装置包括用于实现第三方面或第四方面中任一种可能实现方式中方法的各个模块。所述编码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第七方面,本申请提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,以实现第一方面至第四方面中任一种实现方式的方法。
例如,该电子设备可以是指视频编码器,或包括视频编码器的设备。
又如,该电子设备可以是指视频解码器,或包括视频解码器的设备。
第八方面,本申请提供一种计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备或计算设备所在的存储系统执行时,以实现第一方面至第四方面中任一种实现方式的方法。
第九方面,本申请提供一种计算机程序产品,该计算程序产品包括指令,当计算机程序产品在计算设备或处理器上运行时,使得计算设备或处理器执行该指令,以实现第一方面至第四方面中任一种实现方式的方法。
第十方面,本申请提供一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以实现第一方面至第四方面中任一种实现方式的方法。
第十一方面,本申请实施例提供一种编解码系统,该视频译码系统包括编码端和解码端,解码端用于实现第一方面或第二方面及其可能的实现方式中任意之一所述的方法,编码端用于实现第三方面或第四方面及其可能的实现方式中任意之一所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。或者说,上述任意一个方面的任意一种可能的实现方式,在不冲突的情况下,均可以应用于其他方面,从而得到新的实施例。例如,上述第一、第二方面提供的任意一种图像解码方法,可以在不冲突的情况下两两组合、或三个方面进行组合,从而可以得到新的图像解码方法。
附图说明
图1为本申请实施例所应用的编解码系统1的架构示意图;
图2为用于实现本申请实施例方法的编码器100的实例的示意性框图;
图3为本申请实施例提供的一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图;
图4为用于实现本申请实施例方法的解码器200的实例的示意性框图;
图5为本申请实施例提供的一种图像解码方法的流程示意图;
图6为本申请实施例提供的一种当前QG与块A、块B关系的示意图;
图7为本申请实施例提供的量化曲线示意图一;
图8为本申请实施例提供的量化曲线示意图二;
图9为本申请实施例提供的另一种图像解码方法的流程示意图;
图10为本申请实施例提供的另一种图像解码方法的流程示意图;
图11为本申请实施例提供的另一种图像解码方法的流程示意图;
图12为本申请实施例提供的一种图像编码方法的流程示意图;
图13为本申请实施例提供的另一种图像编码方法的流程示意图
图14为本申请实施例提供的一种解码装置1400的结构示意图;
图15为本申请实施例提供的另一种解码装置1500的结构示意图;
图16为本申请实施例提供的一种编码装置1600的结构示意图;
图17为本申请实施例提供的另一种编码装置1700的结构示意图;
图18为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面描述本申请实施例所应用的系统架构。
参见图1,图1示出了本申请实施例所应用的编解码系统1的架构示意图。如图1所示,编解码系统1可以包括含编码端10和解码端20。其中,编码端10产生经编码视频数据。因此,编码端10可被称为视频编码装置。解码端20可对由编码端10所产生的经编码的视频数据进行解码。因此,解码端20可被称为视频解码装置。
编码端10和解码端20的具体形态可以为各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
可选的,图1中的编码端10和解码端20可以是两个单独的设备。或者,编码端10和解码端20可以为同一设备,即编码端10或对应的功能以及解码端20或对应的功能可以集成在同一个设备上。
编码端10和解码端20之间可以进行通信。例如,解码端20可经由链路30从编码端10接收经编码视频数据。链路30可包括能够将经编码视频数据从编码端10移动到解码端20的一或多个媒体或装置。在一个实例中,链路30可包括使得编码端10能够实时将经编码视频数据直接发射到解码端20的一或多个通信媒体。在此实例中,编码端10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到解码端20。所述一或多个通信媒体可包含无线和/或有通线信媒体,例如射频(radio frequency,RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从编码端10到解码端20的通信的其它设备。
可选的,编码端10可以将经编码数据从输出接口140输出到内置或外接的存储装置中。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、数字通用光盘(digital video disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
如图1所示,编码端10包括视频源120、编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。编码器100可对来自视频源120的视频数据进行编码。在一些示例中,编码端10经由输出接口140将经编码视频数据直接发射到解码端20。在其它实例中,经编码视频数据还可存储到存储装置上,供解码端20以后存取来用于解码和/或播放。
如图1所示,解码端20包括输入接口240、解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置接收经编码视频数据。显示装置220可与解码端20集成或可在解码端20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。
尽管图1中未图示,但在一些方面,编码器100和解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
应理解,图1所示出的编解码系统1仅为一种示例,并且本申请的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
下面结合说明书附图,对图1中的编码器100和解码器200的具体结构进行简单介绍。
参见图2,图2示出用于实现本申请实施例方法的编码器100的实例的示意性框图。如图2所示,编码器100包括预测处理单元101、残差计算单元102、残差变换单元103、量化单元104、编码单元105、反量化单元(也可以称为逆量化单元)106、残差逆变换单元107、重构单元(或者称为重建单元)108以及滤波器单元109。可选地,编码器100还可以包括缓冲器、经解码图像缓冲器。其中,缓冲器用于缓存重构单元108输出的重构块(或成为重建块),经解码图像缓冲器用于缓存滤波器单元109输出的滤波后的图像块。
一种示例中,编码器100的输入为待编码图像的图像块(即待编码块或编码单元)。
另一种示例中,编码器100的输入为待编码图像,则编码器100中还可以包括分割单元(图2中未示出),该分割单元用于将待编码图像分割成多个图像块。编码器100用于待编码图像的多个图像块逐块编码,从而完成对待编码图像的编码。例如,编码器100对每个图像块执行编码过程,从而完成对待编码图像的编码。
示例性的,一种将待编码图像划分成多个图像块的方法可以包括:
步骤11:将一帧图像分成一个或多个互相不重叠的并行编码单元,各个并行编码单元间无依赖关系,可并行/独立编解码。
步骤12:对于每个并行编码单元,编码端可将其分成一个或多个互相不重叠的独立编码单元,各个独立编码单元间可相互不依赖,但可以共用该并行编码单元的一些信息。
步骤13:对于每个独立编码单元,编码端可再将其分成一个或多个互相不重叠的编码单元。其中,若将独立编码单元划分成多个互相不重叠的编码单元,则划分方式可以为水平等分法、垂直等分法或水平垂直等分法。当然具体实现时不限于此。独立编码单元内的各个编码单元可相互依赖,即在执行预测步骤的过程中可以相互参考。
编码单元的宽为w_cu,高为h_cu,可选的,其宽大于高(除非是边缘区域)。通常的,编码单元可为固定的w_cu×h_cu,w_cu和h_cu均为2个N次方(N大于等于0),如16×4,8×4,16×2,8×2,4×2,8×1,4×1等。
编码单元既可以包括亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量),也可以仅包含其中的某一个分量。若包含三个分量,几个分量的尺寸可以完全一样,也可以不一样,具体与图像输入格式相关。
如图3所示,为一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图。其中,图3中是以按照3:1将一个图像划分为并行编码单元1和并行编码单元2,以及一个独立编码单元包含4个编码单元为例进行说明的。
可选的,分割单元将待编码图像划分成多个图像块,这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。此外,此分割还可包含分割成条带(slice)、片(tile)或其它较大单元。该条带可分成多个图像块(或者可能分成被称作片的图像块集合)。
预测处理单元101,用于接收或获取待编码块的真实值和已重构图像数据,基于已重构图像数据中的相关数据对待编码块进行预测,得到待编码块的预测块。
可选的,预测处理单元101可以包括帧间预测器和帧内预测器。其中,帧间预测器可以用于确定用于编码该待编码块的帧间预测模式,并基于确定的帧间预测模式,预测当前图像块中一个或多个子块的运动信息,例如运动矢量(motion vector,MV),并利用当前图像块中一个或多个子块的运动信息(例如运动矢量)获取或产生当前图像块的预测块。帧内预测器可确定用于编码该待编码块的帧内预测模式。
其中,帧内预测是指,利用视频空间域的相关性,使用当前块的已编码块(codingblock,CB)进行预测,以达到去除视频空域冗余的目的。示例性的,帧内预测规定了多种预测模式,每种预测模式对应一种纹理方向(DC模式除外),例如,若图像纹理呈现水平状排布,则水平预测模式可以更好的预测图像信息。
帧间预测是指,基于视频时域的相关性,由于视频序列包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。视频编码标准的帧间预测部分都采用了基于块的运动补偿技术,主要原理是为当前图像的每一个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(MotionEstimation,ME)。
此外,在帧间预测模式下,可以使用运动矢量表示当前编码块与其参考图像中的最佳匹配块之间的相对位移。每个划分的块都有相应的运动矢量传输到解码端,如果对每个块的运动矢量进行独立编码和传输,特别是划分成小尺寸的块时,需要消耗相当多的比特。为了降低用于编码运动矢量的比特数,则利用相邻图像块之间的空间相关性,根据相邻已编码块的运动矢量对当前待编码块的运动矢量进行预测,然后对预测差进行编码。这样,可以有效地降低表示运动矢量的比特数。在对当前块的运动矢量编码过程中,首先使用相邻已编码块的运动矢量预测当前块的运动矢量,然后对运动矢量的预测值(motion vectorprediction,MVP)与运动矢量的真正估值之间的差值(motion vector difference,MVD)进行编码,从而有效降低MV的编码比特数。
残差计算单元102用于计算待编码块的真实值和待编码块的预测块之间的残差值,得到残差块。例如,通过逐像素将待编码块的真实像素值减去预测块的像素值。
在一个示例中,残差变换单元103用于基于残差块确定残差系数。可选的,在该过程中,可以包括:对残差块进行例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST)的变换,以在变换域中获取变换系数,变换系数也可以称为变换残差系数或残差系数,该残差系数可以在变换域中表示残差块。当然,编码器100在对待编码块进行编码的过程中也可以不包含残差变换的步骤。
量化单元104用于通过应用标量量化或向量量化来量化变换系数或残差值,以获取经量化残差系数(或经量化残差值)。量化过程可以减少与部分或全部残差系数有关的位深度(bitdepth)。例如,可在量化期间将p位变换系数向下舍入到q位变换系数,其中p大于q。可通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过QP指示合适的量化步长。
其中,在图像编码过程中,为实现对图像的压缩,通常会对待编码块的残差块进行量化,或者对该残差块经一定处理后得到的残差系数块进行量化,从而使得量化后的残差块或残差系数块可以以更少的比特进行编码。可以理解,残差块为基于待编码块的原始像素块和预测块得到的残差值块,残差系数块为对残差块进行一定处理变换后得到的系数块。
作为示例,以编码器100对残差块进行量化为例,编码器100可以为待编码块的残差块中的每个残差值除以量化系数,以缩小该残差块中的残差值。这样,相比未进行量化的残差值,量化后被缩小的残差值即可通过更少的比特来编码,这样即实现了图像的压缩编码。
编码单元105用于对上述经量化残差系数(或经量化残差值)进行编码,以经编码比特流(或称为码流)的形式输出的经编码的图像数据(即当前待编码块的编码结果),然后可以将经编码比特流传输到解码器,或将其存储起来,后续传输至解码器或用于检索。编码单元105还可用于对待编码块的语法元素进行编码,例如将待编码块采用的预测模式编码至码流等。
在一个示例中,编码单元105对残差系数编码,一种可行方法为:半定长编码方式。首先将一个残差小块(residual block,RB)内残差绝对值的最大值定义为modifiedmaximum(mm)。确定该RB内残差系数的编码比特数(同一个RB内残差系数的编码比特数一致)。例如,若当前RB的CL为2,当前残差系数为1,则编码残差系数1需要2个比特,表示为01。若前RB的CL为7,则表示编码8-bit的残差系数和1-bit的符号位。CL的确定是去找满足当前子块所有残差都在[-2^(M-1),2^(M-1)]范围之内的最小M值。若同时存在-2^(M-1)和2^(M-1)两个边界值,则M应增加1,即需要M+1个比特编码当前RB的所有残差;若仅存在-2^(M-1)和2^(M-1)两个边界值中的一个,则需要编码一个Trailing位来确定该边界值是-2^(M-1)还是2^(M-1);若所有残差均不存在-2^(M-1)和2^(M-1)中的任何一个,则无需编码该Trailing位。
当然,也可以采用其他残差系数编码方法,如指数Golomb编码方法,Golomb-Rice编码方法,截断一元码编码方法,游程编码方法,直接编码原始残差值等。
另外,对于某些特殊的情况,也可以直接编码原始值,而不是残差值。
反量化单元106用于对上述经量化残差系数(或经量化残差值)进行反量化,以获取经反量化残差系数(经反量化残差值),该反量化是上述量化单元104的反向应用,例如,基于或使用与量化单元104相同的量化步长,应用量化单元104应用的量化方案的逆量化方案。
残差逆变换单元107用于对上述反量化残差系数逆变换(或反变换),以得到重建的残差块。可选的,反变换可以包括逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sine transform,DST)。这样,对上述反量化残差系数逆变换(或反变换)后得到的逆变换值,即为在像素域(或者称为样本域)中重建的残差值。也即,经反量化的残差系数块在经残差逆变换单元107逆变换后,得到的块为重建的残差块。当然,在编码器100中不包括上述的残差变化单元103时,编码器100也可以不包含反变换的步骤。
重构单元108用于重建的残差块添加至预测块,以在样本域中获取经重构块,重构单元108可以为求和器。例如,重构单元108将重建的残差块中的残差值与预测块中对应像素的预测值相加,以得到对应像素的重建值。该重构单元108输出的重构块可以后续用于预测其他待编码的图像块。
滤波器单元109(或简称“滤波器”)用于对经重构块进行滤波以获取经滤波块,从而顺利进行像素转变或提高图像质量。
在一个示例中,编码器100实现的一种编码过程可以包括以下步骤:
步骤21:预测处理单元101确定预测模式,并基于确定的预测模式和已编码图像块的重构块对待编码块进行预测,得到待编码块的预测块。
其中,已编码图像块的重构块是反量化单元106、残差逆变换单元107以及重构单元108依次对该已编码图像块的经量化残差系数块处理后得到的。
步骤22:残差计算单元102基于预测块和待编码块的原始像素值,得到待编码块的残差块;
步骤23:残差变换单元103对残差块进行变换,得到残差系数块。
步骤24:量化单元104对残差系数块进行量化,得到经量化残差系数块。
步骤25:编码单元105对经量化残差系数块进行编码,以及对相关语法元素(例如预测模式,编码模式)进行编码,得到待编码块的码流。
参见图4,图4示出用于实现本申请实施例方法的解码器200的实例的示意性框图。解码器200用于接收例如由编码器200编码的图像数据(即经编码比特流,例如,包括图像块的经编码比特流及相关联的语法元素),以获取经解码图像块。
如图4所示,解码器200包括码流解析单元201、反量化单元202、残差逆变换单元203、预测处理单元204、重构单元205、滤波器单元206。在一些实例中,解码器200可执行大体上与图2的编码器100描述的编码过程互逆的解码过程。可选地,解码器200还可以包括缓冲器、经滤波图像缓冲器,其中,缓冲器用于缓存重构单元205输出的重构图像块,经滤波图像缓冲器用于缓存滤波器单元206输出的滤波后的图像块。
码流解析单元201用于对经编码比特流执行解码,以获取经量化残差系数(或经量化残差值)和/或解码参数(例如,解码参数可以包括编码侧执行的帧间第一参数、帧内第一参数、滤波器参数和/或其它语法元素中的任意一个或全部)。码流解析单元201还用于将上述解码参数转发至预测处理单元204,以供预测处理单元204根据解码参数执行预测过程。
反量化单元202的功能可与编码器100的反量化单元106的功能相同,用于反量化(即逆量化)经码流解析单元201解码输出的经量化残差系数。
其中,反量化是量化的反过程,反量化指的是将量化后的系数映射为输入信号空间中的重建信号,重建信号是输入信号的一个近似。为从压缩编码后的码流中重建图像块,解码器200的反量化单元202可以对从码流中解析到的残差块或残差系数块进行反量化,从而可以重建图像块对应的未被量化的残差块或残差系数块,进而,解码器200根据重建的残差块或残差系数块对图像块进行重建,从而得到图像的重建块。
作为示例,以解码器200从码流中解析到待解码块经量化后的残差块为例,解码器200可以通过反量化单元202对该残差块进行反量化。具体的,编码端可以为解析到的残差块中的每个残差值乘以量化系数,以重建待解码块对应的未被量化的残差块中的残差值,从而得到重建的残差块。其中,量化系数为编码装置在编码待解码块时,对待解码块的残差块进行量化时的量化系数。这样,解码器200基于反量化后重建的残差块,即可实现对待解码块的重建,并得到待解码块的重建块。
残差逆变换单元203的功能可与编码器100的残差逆变换单元107的功能相同,用于对上述经反量化残差系数进行逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),得到重建的残差值。逆变换得到块即为重建的待解码块在像素域中的残差块。
重构单元205(例如求和器)的功能可与编码器100的重构单元108的功能相同。
预测处理单元204,用于接收或获取经编码图像数据(例如当前图像块的经编码比特流)和已重构图像数据,预测处理单元204还可以从例如码流解析单元202接收或获取预测模式的相关参数和/或关于所选择的预测模式的信息(即上述的解码参数),并且基于已重构图像数据中的相关数据和解码参数对当前图像块进行预测,得到当前图像块的预测块。
重构单元205用于将重建的残差块添加到预测块,以在样本域中获取待解码图像的重构块,例如将重建的残差块中的残差值与预测块中的预测值相加。
滤波器单元206用于对经重构块进行滤波以获取经滤波块,该经滤波块即为经解码图像块。
具体的,在本申请实施例中,解码器200用于实现后文实施例中描述的解码方法。
应当理解的是,在本申请实施例的编码器100和解码器200中,针对某个环节的处理结果也可以经过进一步处理后,输出到下一个环节,例如,在插值滤波、运动矢量推导或滤波等环节之后,对相应环节的处理结果进一步进行Clip或移位shift等操作。
在一个示例中,解码器200实现的一种解码过程可以包括以下步骤:
步骤31:码流解析单元201解析预测模式和残差编码模式;
步骤32:码流解析单元201基于预测模式和残差编码模式解析量化相关值(如near值,或QP值等);
步骤33:反量化单元202基于预测模式和量化相关值解析残差系数;
步骤34:预测处理单元204基于预测模式,获得当前图像块各个像素的预测值;
步骤35:残差值解码单元203对残差系数逆变换,以重建当前图像块各个像素的残差值;
步骤36:重构单元205基于当前编码单元各个像素的预测值和残差值,获得其重建值。
图1~图4仅为本申请实施例提供的示例,在一些示例中,编码器100、解码器200以及编解码系统1可以包括更多或更少的部件或单元,本申请对此不予限定。
以下,结合附图,对本申请实施例提供的如下图像编解码方法进行说明。
图5为本申请提供的一种图像解码方法的流程示意图。可选的,该图像解码方法可应用于图1所示出的编解码系统1,该图像解码方法可以由解码端20执行,具体的,该解码方法可以由解码端20包括的解码器200执行,如图5所示,本申请实施例提供的图像解码方法包括以下步骤:
S101、解码端获取待解码块的QP值。
可选的,解码端可以基于待解码视频的码流,获取待解码块对应的QP值。其中,待解码块可以称为解码单元。通常,对待解码视频中的图像帧进行解码时,是以解码单元为单位进行解码的。
可以理解,待解码的视频流可以是解码端从编码端接收到的码流,或者是从其他设备获取的码流,例如从存储设备获取的码流,本申请实施例对此不作限定。
在一种可能的实现方式中,解码端基于待解码视频的码流,通过与编码端对应的解码方式,可以从待解码块的码流中解析得到待解码块的QP值。
可选的,编码器可以采用截断一元码、截断莱斯码或者指数哥伦布码直接编码一个图像块的QP值。相应的,解码端的解码器可以通过与编码端所采用的编码方式对应的解码方式从码流中解析出该图像块(待解码块)的QP值。
在另一种可能的实现方式中,解码端基于待解码视频的码流,通过与编码端对应的解码方式,还可以从待解码块的码流中解析得到待解码块的QP偏移量。这种情况下,QP值的编码采用预测编码方式,即:编码端对实际QP与预测QP的差值,也即QP偏移量,进行编码。从而,解码端可以确定预测QP值,并根据预测QP值和解析码流获取到的实际QP与预测QP偏移量,确定QP值。
可选的,在解码端从待解码块的码流中解析得到待解码块的QP偏移量的情况下,解码端获取待解码块的QP值的具体过程可以实现为以下步骤S1至S3:
S1、解码端获取待解码块的预测QP值。
可选的,解码端可以获取当前量化组(quantization group,QG)的预测QP值。
其中,解码单元与QG没有固定的大小关系。在同一帧图像中,QG可以为固定大小,而解码单元可以为根据图像内容自适应划分出来的。从而,一个QG可以比一个解码单元对应的图像块大,即解码单元是该QG中的一个图像块。或者,一个QG可以比一个解码单元对应的图像块小,即一个解码单元可以包括多个QG。
在编码端的分割单元将一帧图像分割成多个slice、tile或其它较大单元的情况下,一个slice或tile可以包括多个QG,或者,一个slice或tile可以包括多个解码单元对应的图像块,解码单元可以为该多个解码单元对应的图像块中的任一个。
可选的,由于同一个QG内的所有含有非零系数的图像块的QP相同,不同QG中的图像块的QP不同。因此,当解码单元是当前QG中的一个图像块时,解码端获取到的当前QG的预测QP值即为该解码单元的预测QP值。其中,当前QG的预测QP值可以根据当前QG周围已重建的图像块所在QG的QP值计算得到。
示例性的,如图6所示,块A为当前QG左侧的已重建图像块,块B为当前QG上侧的已重建图像块。
一种示例中,当前QG的预测QP值可以满足以下公式(1):
predQP=(QPA+QPB+1)>>1 公式(1)
其中,QPA是包含块A或包含块A中一个或多个像素点的图像块的量化参数,QPB是包含块B或包含块B中一个或多个像素点的图像块的量化参数,>>1表示右移一位,即除2运算。
另一种示例中,对于当前Slice或Tile的第一个QG,上述块A,块B块均不存在,则可以将当前Slice或Tile的实际QP作为当前QG的预测QP。
需要说明的是,在解码过程中,对于每一个Slice或Tile,解码端可以通过解析该Slice或Tile的码流,得到Slice或Tile的预设参数,该预设参数包括上述每一个Slice或Tile的实际QP。
再一种示例中,对于位于当前Slice或Tile的上边界的QG(非第一个),块B不存在,块A存在,则上述QPB可以被替换为解码顺序上前一个QG中最后一个解码单元的量化参数。
又一种示例中,对于位于当前Slice或Tile的左边界的QG(非第一个),块A不存在,块B存在,则上述QPA可以被替换为解码顺序上前一个QG中最后一个解码单元的量化参数。
需要说明的是,若当前QG中包含多个解码单元,则该QG中的所有解码单元共用当前QG的predQP。如果一个解码单元包含多个QG,则将该CU内第一个QG的predQP作为当前CU的predQP。
S2、解码端解析待处理视频码流以获得待解码块的QP偏移量。
可以理解的,在视频编码过程中,编码器确定出该当前编码的图像块的预测QP,再确定该图像块的实际QP值与该预测QP值得差值,也即当该图像块的QP相对于预测QP的QP偏移量(deltaQP),然后采用变长或定长码编码QP偏移量,并通过码流传输QP偏移量至解码器,从而解码器获取到待处理视频码流之后,可以解析获取到的码流以得到该图像块(也即待解码块)的QP偏移量。
S3、解码端根据该待解码块的预测QP值与QP偏移量,确定待解码块的QP值。
即QP=predQP+deltaQP,其中,QP表示当前编码的QP值,predQP表示当前待解码块的预测QP值,deltaQP表示当前待解码块的QP偏移量。
在一些实施例中,解码端还可以根据待解码块的推导信息,确定待解码块的QP偏移值。进而,解码端根据该待解码块的预测QP值与QP偏移量,确定待解码块的QP值。其中,推导信息可以包括待解码块的平坦度信息、码流缓冲区的剩余空间或失真约束信息中的至少一种。
应理解,在视频编码过程中,编码器采用码控算法,根据待编码的图像块的推导信息推导得到待编码的图像块的QP偏移量,编码器并可以不在码流中传输该QP偏移量,如此,在视频解码过程中,解码器采用与编码器相同的方法推导待解码块的QP偏移量。
S102、解码端在多个对应关系中确定目标对应关系。
其中,上述对应关系用于指示不同的QP值和Qstep之间的对应关系,多个对应关系中的每两个对应关系指示的对应关系不同。并且,在多个对应关系中,目标对应关系在包括QP值的预设区间内的量化步长的变化率最小。
可选的,上述多种对应关系可以具体为指示QP和Qstep之间的对应关系的多种量化曲线、量化公式、对应关系表等可能的表示形式。
需要说明的是,在解码过程中,上述多个对应关系可以实现为多个量化曲线、多个量化公式、多个对应关系表,或者量化曲线、量化公式以及对应关系表的组合。
在一些实施例中,解码端可以在码流中解析出或预存有QP与Qstep的多个对应关系,进而可以在这多个对应关系中确定出上述目标对应关系。
以下对上述对应关系进行具体说明:
例如,上述对应关系可以为根据H.265编码标准中的传统标量量化方法确定的量化公式。示例性的,Qstep与QP的关系可以近似为下述公式(2),也即上述量化公式具体为:
Qstep=2(QP-4)/6 公式(2)
或者,量化公式还可以为VDCM(VESA Display Compression-M Standard)编码标准的均匀标量量化方法确定的量化公式,例如下述公式(3)或者公式(4):
Qstep=2QP/8 公式(3)
Qstep=2stepSize 公式(4)
其中,stepSize取0或正整数。在实际实现过程中,stepSize可根据具体QP值确定。
又例如,上述对应关系可以为如表1所示的对应关系表,示例性的,QP为1时,其对应的Qstep为0.6875。
表1
又例如,上述对应关系可以为量化曲线,也即Qstep-QP变化曲线。
为便于描述,下文中以横轴(x轴)为QP,纵轴(y轴)Qstep的坐标系中的Qstep-QP变化曲线为本申请所述的量化曲线为例进行说明。
可选的,上述量化曲线包括分段曲线和光滑曲线。
其中,光滑连续曲线是指连续曲线上的每一点处都有切线,并且切线随切点的移动而连续转动的曲线。
一种示例中,上述光滑曲线中的Qstep随QP均匀变化。如图7中的(a)所示,该量化曲线可以为线性函数曲线。在该曲线中,Qstep随QP均匀变化,Qstep的取值均匀分布。
另一种示例中,上述光滑曲线为非均匀变化曲线。
可选的,上述光滑曲线中Qstep小于第一阈值时Qstep随QP变化的变化率,小于Qstep大于第二阈值时Qstep随QP变化的的变化率。或者,上述光滑曲线中Qstep小于第一阈值时Qstep随QP变化的变化率,大于Qstep大于第二阈值时Qstep随QP变化的的变化率。其中,第二阈值大于或等于第一阈值。
可选的,上述光滑曲线中Qstep小于或等于第一阈值时Qstep随QP变化的变化率,小于Qstep大于等于第二阈值时Qstep随QP变化的的变化率。或者,上述光滑曲线中Qstep小于等于第一阈值时Qstep随QP变化的变化率,大于Qstep大于等于第二阈值时Qstep随QP变化的的变化率。其中,第二阈值大于或等于第一阈值。
可选的,上述光滑曲线中Qstep小于第一阈值时Qstep随QP变化的变化率,小于Qstep大于等于第二阈值时Qstep随QP变化的的变化率。或者,上述光滑曲线中Qstep小于第一阈值时Qstep随QP变化的变化率,大于Qstep大于等于第二阈值时Qstep随QP变化的的变化率。其中,第二阈值大于或等于第一阈值。
可选的,上述光滑曲线中Qstep小于或等于第一阈值时Qstep随QP变化的变化率,小于Qstep大于第二阈值时Qstep随QP变化的的变化率。或者,上述光滑曲线中Qstep小于等于第一阈值时Qstep随QP变化的变化率,大于Qstep大于第二阈值时Qstep随QP变化的的变化率。其中,第二阈值大于或等于第一阈值。
作为一个例子,根据两个Qstep阈值将曲线划分成大Qstep段,中Qstep段,小Qstep段三个段。Qstep阈值作为端点属于哪个段可以有多种方式,以下如图7中的(b)~图7中的(e)所示出的仅为其中一种分段举例,其他按照两个Qstep阈值将曲线分成三段的方式也适用于本申请。
例如,如图7中的(b)所示,该量化曲线可以为指数型函数曲线。假设上述第一阈值为a,第二阈值为b。在该量化曲线中,Qstep的变化率是随着QP的增大而逐渐增大的。并且,在该曲线中Qstep小于第一阈值a对应的一段曲线(也即该曲线的小Qstep段)较为平缓,在该段曲线中,Qstep随QP的变化较缓。相较于在该曲线中Qstep大于第二阈值b对应的一段曲线(也即该曲线的大Qstep段),在该曲线的小Qstep段中,Qstep随QP变化的的变化率较小。换言之,相比该曲线的大Qstep段,在该曲线的小Qstep段中,相同△QP下Qstep的可取值范围较小,即该曲线的小Qstep段中Qstep的取值较集中,也即Qstep的分布较密集。相应的,在该曲线的大Qstep段则与之相反。
其中,△QP可以该曲线中两点的QP值之间的差值。可以理解,量化曲线中的小Qstep段是指Qstep的可取值小于第一阈值时的一段曲线。量化曲线中的大Qstep段是指Qstep的可取值大于第二阈值时的一段曲线。此外,在第二阈值大于第一阈值时,中Qstep段为量化曲线中Qstep的可取值大于或等于第一阈值,且小于或等于第二阈值时的一段曲线。
或者,如图7中的(c)所示,该量化曲线可以为对数型函数曲线。在该量化曲线中,Qstep的变化率是随着QP的增大而逐渐减小的。在该曲线中Qstep小于第一阈值a对应的一段曲线(也即该曲线的小Qstep段)较为陡峭,在该段曲线中,Qstep随QP的变化较急。相较于在该曲线中Qstep大于第二阈值b对应的一段曲线(也即该曲线的大Qstep段),在该曲线的小Qstep段中,Qstep随QP变化的的变化率较大。换言之,相比该曲线的大Qstep段,在该曲线的小Qstep段中,相同△QP下,Qstep的可取值范围较大,该曲线的小Qstep段中Qstep的取值较分散(也即Qstep的分布较稀疏)。相应的,在该曲线的大Qstep段则与之相反。
或者,如图7中的(d)所示,该量化曲线可以为立方型函数曲线。在该曲线的中Qstep段,该段曲线较为平缓,Qstep随QP的变化较缓,相较于该曲线的大Qstep段和小Qstep段,在该曲线的中Qstep段中,Qstep的取值较集中。相应的,在该曲线的大Qstep段和小Qstep段则均与之相反。
或者,如图7中的(e)所示,该量化曲线可以为Sigmoid型函数曲线。在该曲线的大Qstep段和小Qstep段,这两段曲线较为平缓,Qstep随QP的变化较缓,相较于该曲线的中Qstep段,即该曲线的小Qstep段和大Qstep段中Qstep的取值较集中。相应的,在该曲线的中Qstep段与之相反。
需要说明的是,若量化曲线中量化步长的分布比较集中,则大小相近的量化参数对应的量化步长的差别较小,如此,会使得该编码器输出的码流,码率波动较小,图像质量与压缩率之间的平衡更好。反之,若量化曲线中量化步长的分布比较稀疏,则大小相近的量化参数对应的量化步长的差别较大,如此,会导致该编码器输出的码流,码率波动较大,影响该编码器的压缩性能。然而,以图7中的量化曲线为例,一条量化曲线可能在小Qstep段分布比较集中,而在大Qstep段分布比较稀疏。若基于确定出的QP值,需要根据量化曲线的大Qstep段确定反量化过程中的采用的Qstep,可能会影响图像质量与压缩率之间的平衡。并且,在大Qstep段,若量化步长增大较多,则量化更加粗糙,量化失真也突然增大,影响解码图像的质量。因此,可以基于在Qstep的各个取值段(例如大Qstep段、小Qstep段等)的分布情况,组合选择图7中光滑曲线中的多条量化曲线作为上述多个对应关系,以使得在Qstep的各个取值段,均具有Qstep分布比较集中的量化曲线。从而在解码过程中,以便于基于Qstep的任意一个取值段,从多条量化曲线中选择出该取值段Qstep变化率更合适的量化曲线来确定Qstep。
示例性的,基于如图7中的(b)所示的小Qstep段的Qstep的分布较密集、如图7中的(c)所示的大Qstep段的Qstep的分布较密集以及如图7中的(d)所示的中Qstep段的Qstep的分布较密集的分布情况,上述多个对应关系可以为图7中的(b)、如图7中的(c)以及图7中的(d)所示的量化曲线,如此,在解码过程中,基于小Qstep段、中Qstep段或大Qstep段中的任意一个取值段,都可以在预设的这三条量化曲线中选择出该取值段Qstep变化率更合适的量化曲线来确定Qstep。
又例如,基于如图7中的(d)所示的中Qstep段的Qstep的分布较密集的分布情况,可选择其他Qstep段的Qstep分布较密集的量化曲线与其组合,例如为图7中的(d)和图7中的(e)所示的量化曲线,也可以为图7中的(a)和图7中的(d)所示的量化曲线,不再一一列举,如此,在解码过程中,基于小Qstep段、中Qstep段或大Qstep段中的任意一个取值段,都可以在预设的多条量化曲线中选择出该取值段Qstep变化率更合适的量化曲线来确定Qstep。
另一种示例中,上述量化曲线为分段曲线。
例如,如图8中的(a)所示,该量化曲线可以为分段常数函数曲线,在该量化曲线中,Qstep的取值可以为c、d、e、f。其中,多个QP值对应的Qstep的取值相同。又例如,量化曲线还可以如图8中的(b)所示,该量化曲线也可以为分段线性函数曲线。
需要说明的是,上述多个对应关系还可以实现为图7所示的光滑曲线和图8所示的分段曲线的任意一种或几种的组合。
应理解,图7与图8中所示出的量化曲线仅作为示例,解码端具有的量化曲线还可以包括其他可能的曲线。
在一些实施例中,上述对应关系中的Qstep可取值满足以下公式(5):
Qstep=p×2n 公式(5)
其中,Qstep为上述Qstep,p为正奇数,n为整数。
可选的,上述目标对应关系中Qstep的取值可以根据公式(5)限定。例如,图8中的(a)所示的量化曲线中的c、d、e、f满足上述公式(5)。
可选的,可以通过设置p和n的具体数值来调整目标Qstep的可取值大小。例如,n的取值可以为0,p的取值可以为5,从而图8中的(a)所示的量化曲线中的c可以为5。
可选的,可以通过设置p和n的具体个数来调整目标Qstep的可取值的个数。
需要说明的是,量化过程中,编码器可以先将输入信号空间划分为一系列互不相交的区间,并且每个区间选取一个代表信号;然后对于每个输入信号,将该输入信号标量量化为该输入信号所在区间的代表信号。其中,区间长度称为Qstep,编码器可以基于Qstep,划分输入信号空间。在编码器具体划分的计算过程中,可以通过移位和乘法电路来实现。具体的,可以通过乘再右移n位来实现。从而,实现量化过程中所需要的乘法电路的个数即为的取值个数,也即p的取值个数。同样的,反量化为量化的逆过程,解码端实现反量化过程中所需要的乘法电路的个数也为p的取值个数。其中,乘法电路(multiplying circuit)是一种完成两个互不相关的模拟信号相乘作用的电子器件,它可以将两个二进制数相乘。量化与反量化的过程中,使用的乘法电路越多,对实现量化与反量化的硬件要求就越高。从而,基于上述公式(5),可以通过设置较少的p的取值个数,来降低所需的硬件成本。
在一些实施例中,解码端可以通过以下几种可能的方式,在多个对应关系中确定目标对应关系。
方式1、解码端解析待解码块的码流,得到目标对应关系的标识,并根据目标对应关系的标识,在所述多个对应关系中确定所述目标对应关系。
其中,上述目标对应关系的标识用于指示目标对应关系。可选的,每个对应关系均可以预设有对应的标识,该标识可以为序号、字符等可以用于指示一种对应关系的标识。例如,目标对应关系的标识可以为1、对应关系1、①等。
需要说明的是,编码端在对待解码块对应的图像块进行编码时,可以对该图像块采用的对应关系也即目标对应关系的标识进行编码,从而,待编码块的码流中包括目标对应关系的标识。相应的,解码端解析待解码块的码流,即可得到目标对应关系的标识。
方式2、解码端获取待解码块的第一参数,并根据第一参数,在所述多个对应关系中确定目标对应关系。
其中,第一参数包括QP值、预测Qstep、或预测Qstep的索引值中的任一个。预测Qstep的索引值用于指示预测Qstep的取值区间。
其中,方式2的详细说明可以参考下文图9所示的实施例的详细描述,不再赘述。
方式3,解码端还可以获取已解码图像帧的第二历史参数或者当前图像帧的图像参数,并根据已解码图像帧的第二历史参数或者当前图像帧的图像参数,在多个对应关系中确定所述目标对应关系。
其中,上述方式3的详细说明可以参考下文图10所示的实施例的详细描述,不再赘述。
可选的,解码端在多个对应关系中确定目标对应关系的时机可能并不相同,具有以下几种可能的实现方式:
在一种可能的实现方式中,解码端在对图像帧中的每一个待解码块进行解码时,在多个对应关系中重新确定上述目标对应关系。示例性的,解码端在对图像帧中的每一个待解码块进行解码时,可以采用上述方式1和方式2,在多个对应关系中重新确定上述目标对应关系。
在另一种可能的实现方式中,解码端开始对任一个图像帧进行解码时,在多个对应关系中重新确定上述目标对应关系,也即同一图像帧的所有图像块采用同一个对应关系。如此,解码端可以节省计算资源。示例性的,若待解码块为当前图像帧的解码顺序的第一个图像块,解码端可以采用上述方式1、方式2以及方式3,在多个对应关系中确定上述目标对应关系。并将该目标对应关系作为当前图像帧中除前述待解码块之外的图像块的解码时的目标对应关系。或者,若待解码块非当前图像帧的解码顺序的第一个图像块,则解码端可以将当前图像帧中的已重建图像块采用的对应关系确定为目标对应关系。在又一种可能的实现方式中,对应关系组合可在块级切换,对于不同的待解码块,多个对应关系是可切换的,选择出来的目标对应关系也可以是不同的。例如,对于第一待解码块和第二待解码块,可以配置不同的对应关系组合,第一待解码块的目标对应关系可以与第二待解码块的目标对应关系不同。
这里的块级,可以是最大编码单元(largest coding unit,LCU)、最大编码块(largest coding block,LCB)、编码树单元(coding tree unit,CTU)、树形编码块(codingtree block,CTB)、编码单元(coding unit,CU)、转换单元(transform unit,TU)、变换块(transform block,TB)或者QG中的其中任意一种。
解码端对不同LCU、LCB、CTU、CTB、CU、CB、TU、TB或者QG进行解码时,再重新在多个对应关系中重新确定上述目标对应关系,也即同一LCU、LCB、CTU、CTB、CU、CB、TU、TB或者QG的所有图像块采用同一个对应关系。
同样的,若待解码块为当前LCU、LCB、CTU、CTB、CU、CB、TU、TB或者QG的解码顺序的第一个图像块,解码端可以采用上述方式1、方式2,在多个对应关系中确定上述目标对应关系。或者,若待解码块非第一个图像块,解码端可以将当前LCU、LCB、CTU、CTB、CU、CB、TU、TB或者QG中的已重建图像块采用的对应关系确定为目标对应关系。
在又一种可能的实现方式中,对应关系组合可在帧级切换。对于第一图像和第二图像,可以配置不同的对应关系组合,第一图像中的待解码块的目标对应关系可以与第二图像中的待解码块的目标对应关系不同。
上述目标对应关系的确定,可以是解码端通过码流携带的指示信息确定,也可以解码端通过推导方式导出。
S103、解码端根据待解码块的QP值和目标对应关系,确定目标Qstep。
解码端可以根据确定出的目标对应关系,基于该待解码块的QP值,在该目标对应关系中查找出该待解码块的目标Qstep。
示例性的,在上述解码端中的对应关系包括图7中的(a)、图7中的(b)以及图7中的(c)所示的量化曲线的情况下,若在步骤S102中解码端确定的目标对应关系为图7中的(a)所示的量化曲线,则解码端可以基于待解码块的QP值,在如图7中的(a)所示的量化曲线中确定该QP值对应的目标Qstep。或者,若在步骤S102中解码端确定的目标对应关系为图7中的(b)所示的量化曲线,则解码端可以基于待解码块的QP值,在如图7中的(b)所示的量化曲线中确定该QP值对应的目标Qstep。又或者,若在步骤S102中解码端确定的目标对应关系为图7中的(c)所示的量化曲线,则解码端可以基于待解码块的QP值,在如图7中的(c)所示的量化曲线中确定该QP值对应的目标Qstep。
S104、解码端根据目标Qstep对待解码块进行反量化。
其中,反量化指的是将经量化的系数映射为输入信号空间中的重建信号,重建信号是输入信号的一个近似。
可选的,解码端可以对待处理视频的视频码流解析得到该待解码块各个像素点的水平值。进而根据该水平值和获取到的目标Qstep,进行反量化,得到待解码块的残差系数。其中,若对待解码块中的所有像素点都采用相同的QP值,则该待解码块中的各个像素点的量化步长Qstep是相同的。
可选的,解码端基于量化过程中所选择的量化器组合,根据解码该待解码块的Qstep对该待解码块中的各个像素点对应的水平值进行反量化。
可选地,量化器为均匀量化器或非均匀量化器,量化器组合是通过码流携带的标记信息确定的。
示例性的,量化器可以采用H.265编码标准中的均匀量化器。
具体的,可以采用下述公式(6)所示的H.265编码标准中的传统标量量化方法实现量化和反量化。
其中,l是量化后得到的水平值,c是待量化的残差系数(该残差系数可以是变换域的残差系数,即经变换的残差系数;或者该残差系数可以是像素域的残差系数,即残差值),Qstep是量化步长,f是控制舍入的参数,f∈[0,1),sign表示符号函数,floor表示向下取整函数;c'是反量化后的值。
可以理解的是,QP值越大,Qstep值越大,则量化越粗糙,量化带来的图像失真越大,系数编码的码率越小。
[0,1-f)表示量化死区,参数f与量化死区的长度有关,f越小,量化死区越长,量化后的水平值越靠近零点。当f=0.5时,上述量化和反量化公式相当于四舍五入,量化失真最小。当f<0.5时,f越小,量化失真越大,系数编码的码率越小。H.265编码标准中,对于I帧,选取f=1/3,对于B/P帧,选取f=1/6。
示例性的,均匀量化器的量化或反量化公式可以参考上述量化和反量化公式,参数f有以下取法:
取法一:f取为0.5或其他固定值。
取法二:f可根据QP值、预测模式以及是否做变换来自适应确定。
需要说明的是,基于上述公式(6)可以得出,f取值越小,压缩的码率会越低,失真会越大,不同的待解码块可以采取不同的f取值,或者,不同的图像帧可以采取不同的f取值。
S105、解码端对反量化后的待解码块进行重建,得到重建的图像块。
解码端可以基于反量化后得到的待解码块的残差系数,对待解码块进行重建,以得到重建的图像块。
可选的,解码端还可以执行逆变换(或反变换)过程。具体的,解码端可以对上述反量化后得到的残差系数逆变换,以得到逆变换值,即为在像素域(或者称为样本域)中重建的残差值。也即,经反量化的残差系数块在经逆变换后,得到的块为重建的残差块。
可选的,除反量化过程外,解码端还需要接收或获取待解码块的预测模式的相关参数和/或关于所选择的预测模式的信息,对待解码块进行预测,得到待解码块的预测块。
进而,将重建的残差块中的残差值与预测块中对应像素的预测值相加,以得到对应像素的重建值,也即得到重建的图像块。
本申请实施例提供的图像解码方法至少具有以下有益效果:该方法预设不同的量化参数和量化步长之间的多种对应关系,在反量化过程中,可以基于各个对应关系中,包括QP值的预设区间内的量化步长的变化率,首先选择合适的对应关系,并以此来根据获取到的待解码块的量化参数来确定量化步长,进而进行反量化操作。由于较大的量化步长可保证高压缩率但会令图像质量下降,较低的量化步长则导致低压缩率但会保持较好的图像质量。通过选择合适的对应关系,可以调控量化步长的可取值的范围,还可以控制大小相近的量化参数对应的量化步长的变化率的大小。如此,该方法通过选择合适的对应关系,可以控制图像质量与压缩率之间的平衡,还可以通过控制控制量化步长之间的变化速度,来控制视频码流的码率波动,提升该编码器的压缩性能。
在一些实施例中,基于图5所示的解码方法,若解码端采用方式2在多个对应关系中确定目标对应关系,如图9所示,上述步骤S102可以具体实现为以下步骤:
S102 A1、解码端获取待解码块的第一参数。
其中,上述第一参数包括QP值、预测Qstep、或预测Qstep的索引值中的任一个。应理解,解码端在步骤S101中已经确定出待解码块的QP值。
在一些实施例中,解码端获取待解码块周围一个或多个已重建图像块的第一历史参数,并根据第一历史参数,确定第一参数。其中,第一历史参数包括所述待解码块周围已一个或多个重建图像块的历史Qstep、QP值、比特深度(bitdepth)、模式信息、目标像素深度(bits per pixel,BPP)以及纹理复杂度中的一项或多项。其中,一个或多个已重建图像块的数量不固定。解码端可以选取待解码块周围已重建的X个图像块,获取该X个已重建图像块的第一历史参数,X为正整数。示例性的,X可以取10、5或其他合理的数值。
一种可能的情况中,若第一参数为预测Qstep,可选的,解码端可以将一个或多个已重建块的历史Qstep的均值、中位数或者众数确定为待解码块的预测Qstep。
另一种可能的情况中,解码端可以根据已重建图像块的目标像素深度和比特深度等信息,确定已重建图像块的目标压缩率,进而,根据该目标压缩率,确定待解码块的预测Qstep。
示例性的,预测Qstep与目标压缩率满足以下公式(7):
预测Qstep=2比特深度*(1-目标压缩率) 公式(7)
此外,上述预测Qstep的索引值用于指示预测Qstep的取值区间。其中,Qstep的取值区间可以为根据Qstep的可取值范围确定的区间。
可选的,解码端可以根据Qstep的可取值范围,预先设置Qstep的多个取值区间。示例性的,解码端将Qstep的可取值范围均等地划分为多个区间。例如,解码端可以将Qstep可取值范围均等地划分为3个区间,例如区间[0,MaxQstep/3]、[MaxQstep/3,2MaxQstep/3]或者[2MaxQstep/3,MaxQstep]等,其中MaxQstep为最大量化步长。这种情况下,预测Qstep的取值区间可以为上述三个取值区间的任意一个。或者,解码端将Qstep的可取值范围不均等地划分为多个区间。例如,解码端可以将Qstep可取值范围不均等地划分为2个区间,例如区间[0,m]、[m,MaxQstep],其中,0<m<MaxQstep。
其中,Qstep的取值范围还可划分为更多或更少的取值区间,本申请对Qstep的取值区间的具体设置数量不做限定。需要说明,解码端的Qstep的取值区间的划分方式与编码端Qstep的取值区间的划分方式相同。
可选的,预测Qstep的索引值可以为用于指示预测Qstep的取值区间的标识,该标识例如可以是字符和/或数值。例如,区间[0,MaxQstep/3]的索引值可以为0,区间[MaxQstep/3,2MaxQstep/3]的索引值可以为1以及区间[2MaxQstep/3,MaxQstep]的索引值可以为2。又例如,区间[0,MaxQstep/3]的索引值可以为区间1、QJ1等标识。
可选的,预测Qstep的索引值还可以为Qstep的取值区间本身。例如,预测Qstep的索引值可以为[0,MaxQstep/3]、[MaxQstep/3,2MaxQstep/3]、[2MaxQstep/3,MaxQstep]等。
一些实施例中,解码端解析待解码块的码流,即可得到预测Qstep的索引值。
一些实施例中,解码端可以确定上述一个或多个重建图像块的历史Qstep所在的Qstep取值区间的索引值,并根据得到的一个或多个索引值,确定预测Qstep的索引值。
可选的,解码端可以将一个或多个索引值中出现次数最多的索引值,确定为预测Qstep的索引值。
可选的,在上述索引值为指示预测Qstep的取值区间的数值的情况下,解码端可以根据得到的一个或多个索引值,将一个或多个索引值的均值、中位数、众数、最大值、最小值或其他可能的数值确定为上述预测Qstep的索引值。示例性的,若Qstep的取值区间包括[0,MaxQstep/3]、[MaxQstep/3,2MaxQstep/3]、[2MaxQstep/3,MaxQstep],区间[0,MaxQstep/3]的索引值可以为0,区间[MaxQstep/3,2MaxQstep/3]的索引值可以为1以及区间[2MaxQstep/3,MaxQstep]的索引值可以为2。若已重建块的数量X取值为5,且解码端获取的5个已重建图像块的历史Qstep中,有2个历史Qstep在区间[0,MaxQstep/3]中,3个在区间[MaxQstep/3,2MaxQstep/3],则解码端确定的5个索引值分别为0、0、1、1、1。进而,解码端确定5个索引值的均值为0.6,取0.6的近似值为1,则解码端可以确定待解码块的索引值为1。
S102A2、解码端根据第一参数,在多个对应关系中确定目标对应关系。
在一些实施例中,在第一参数为待解码块的QP值的情况下,解码端可以确定待解码块的QP值所在的QP的取值区间,并根据该取值区间,在多个对应关系中确定目标对应关系。
可选的,解码端可以根据QP的可取值范围,预先设置QP的多个取值区间。示例性的,解码端将QP的可取值范围均等地划分为多个区间,可以是2个、3个或4个,也可以更多。例如,解码端可以设置区间[0,MaxQP/3]、[MaxQP/3,2MaxQP/3]或者[2MaxQP/3,MaxQP]等,MaxQP为最大量化参数。应理解,解码端也可以将QP的可取值范围不均等地划分为多个区间,可以是2个、3个或4个,也可以更多。
其中,QP的取值范围还可划分为更多或更少的取值区间,本申请对QP的取值区间的具体设置数量不做限定。需要说明的是,解码端的QP的取值区间的划分方式与编码端QP的取值区间的划分方式相同。
可选的,若QP值在第一QP区间内,则解码端将多个对应关系中的第一对应关系确定为目标对应关系,其中,多个对应关系中基于第一对应关系和第一QP区间中的QP值确定的Qstep的变化率最小。
其中,第一QP区间是上述设置的多个QP区间中的任一个QP区间,该多个QP区间是基于QP的可取值范围划分得到多个QP取值区间。
示例性的,上述多个对应关系包括图7中的(b)、图7中的(c)以及图7中的(d)所示的量化参数的情况下,且解码端将QP的可取值范围划分为区间[0,MaxQP/3]、[MaxQP/3,2MaxQP/3]以及[2MaxQP/3,MaxQP]。
若待解码块的QP值在区间[0,MaxQP/3]中,也即上述第一QP区间为区间[0,MaxQP/3]。如图7中的(b)、图7中的(c)以及图7中的(d)所示的量化曲线,在QP取值为[0,MaxQP/3]时,在图7中的(b)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小,从而,解码端可以将图7中的(b)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
相应的,若待解码块的QP值在区间[MaxQP/3,2MaxQP/3]中,也即上述第一QP区间为区间[MaxQP/3,2MaxQP/3]。在图7中的(d)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小,从而,解码端可以将图7中的(d)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
或者,在上述第一QP区间为区间[2MaxQP/3,MaxQP]时,图7中的(c)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小,解码端可以将图7中的(c)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
在一些实施例中,在第一参数为预测Qstep值或预测Qstep的索引值的情况下,解码端可以确定待解码块的预测Qstep值或预测Qstep的索引值,确定预测的Qstep取值区间,并根据该取值区间,在多个对应关系中确定目标对应关系。
可选的,若预测Qstep值在第一Qstep区间内,或者,预测Qstep的索引值指示第一Qstep区间,则解码端可以将多个对应关系中的第二对应关系确定为目标对应关系。其中,在所多个对应关系中,第二对应关系中第一Qstep区间内的Qstep的变化率最小。
其中,第一Qstep区间是上文所述的多个Qstep区间中的任一个Qstep区间,该多个Qstep区间是基于Qstep的可取值范围划分得到多个Qstep取值区间。
需要说明的是,若Qstep随QP变化的的变化率最小,则说明量化步长的分布最为集中,则大小相近的量化参数对应的量化步长的差别最小,如此,会使得该编码器输出的码流,码率波动最小。因此,可以根据Qstep随QP变化的的变化率,在多个对应关系中选择合适的对应关系作为目标对应曲线。
一种示例中,在解码端将Qstep的可取值范围划分为区间[0,a]、[a,b]以及[b,MaxQstep]的情况下,以上述多个对应关系包括图7中的(b)、图7中的(c)以及图7中的(d)所示的量化参数为例,若预测Qstep值在[0,a]内,或者,预测Qstep的索引值指示[0,a],也即上述步骤S102中所述的小Qstep段。从而,第一Qstep区间为上述小Qstep段,其中,在小Qstep段,图7中的(b)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小。则解码端可以将图7中的(b)所示的量化曲线(也即第一对应关系)确定为目标对应关系。相应的,若预测Qstep值在[a,b]内,或者,预测Qstep的索引值指示[a,b],第一Qstep区间为上述中Qstep段。其中,在中Qstep段,图7中的(d)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小。从而,解码端可以将图7中的(d)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
若预测Qstep值在[b,MaxQstep]内,或者,预测Qstep的索引值指示[b,MaxQstep],第一Qstep区间为上述大Qstep段。其中,在大Qstep段,图7中的(c)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小。从而,解码端可以将图7中的(c)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
另一种示例中,在解码端将Qstep的可取值范围划分为区间[0,a]、[a,b]以及[b,MaxQstep]的情况下,以上述多个对应关系包括图7中的(d)和图7中的(e)所示的量化曲线为例,若预测Qstep值在[0,a]内,或者,预测Qstep的索引值指示[0,a],也即上述步骤S102中所述的小Qstep段。从而,第一Qstep区间为上述小Qstep段,其中,在小Qstep段,图7中的(e)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小。则解码端可以将图7中的(e)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
相应的,若预测Qstep值在[a,b]内,或者,预测Qstep的索引值指示[a,b],第一Qstep区间为上述中Qstep段。其中,在中Qstep段,图7中的(d)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小。从而,解码端可以将图7中的(d)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
若预测Qstep值在[b,MaxQstep]内,或者,预测Qstep的索引值指示[b,MaxQstep],第一Qstep区间为上述大Qstep段。其中,在大Qstep段,图7中的(e)所示的量化曲线最平缓,也即Qstep随QP变化的的变化率最小。从而,解码端可以将图7中的(e)所示的量化曲线(也即第一对应关系)确定为目标对应关系。
在一些实施例中,基于图5所示的解码方法,若解码端采用方式3在多个对应关系中确定目标对应关系,如图10所示,上述步骤S102可以具体实现为以下步骤:
S102B1、解码端获取已解码图像帧的第二历史参数或者当前图像帧的图像参数。
其中,第二历史参数可以包括已解码图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项。
图像参数包括当前图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项。
需要说明的是,在解码过程中,对于每一个图像帧,解码端可以通过解析该图像帧的码流,得到该图像帧的帧头。其中,帧头为在每一个图像帧的最前端的具有一定长度的数据,该数据可以用于指示当前图像帧的图像参数。示例性的,该图像参数包括当前图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项。
S102B2、解码端根据已解码图像帧的第二历史参数或者当前图像帧的图像参数,在多个对应关系中确定所述目标对应关系。
可选的,解码端可以根据已解码图像帧的比特深度和目标像素深度等信息,或者当前图像帧的比特深度和目标像素深度等信息,确定已重建图像块的目标压缩率,进而,根据该目标压缩率,确定待解码块的预测Qstep。
其中,根据目标压缩率,确定待解码块的预测Qstep的具体过程可以参考上述步骤S102A1中的相关描述,在此不再赘述。
从而,解码端可以根据待解码块的预测Qstep,在多个对应关系中确定所述目标对应关系,可以参考上述步骤S102A2,不再赘述。
在一些实施例中,解码端还可以将纹理复杂度或其他可能的参数的取值划分为多个区间。其中,该区间与Qstep的划分的区间数量相同,且纹理复杂度的多个区间与Qstep的多个区间具有一一对应关系。
可选的,设置纹理复杂度的预设范围1、预设范围2和预设范围3,其中,预设范围1与[0,MaxQstep/3]对应,预设范围2与[MaxQstep/3,2MaxQstep/3]对应,预设范围3与[2MaxQstep/3,MaxQstep]对应。
因此,解码端可以确定已解码图像帧的纹理复杂度,或当前图像帧的纹理复杂度所在的预设范围,并确定该预设范围对应的Qstep的取值区间。
从而,解码端根据Qstep的取值区间,在多个对应关系中确定所述目标对应关系,具体过程可以参考上述步骤S102A2,不再赘述。
基于上述实施例,同一图像帧的所有图像块可以采用同一个对应关系,如此,解码端可以节省计算资源。
本申请还提供一种图像解码方法,如图11所示,该方法应用于解码端,该方法包括:
S201、解码端获取待解码块的量化参数QP值。
其中,步骤S201的详细说明可以参考上文步骤S101的描述,不再赘述。
S202、解码端根据QP值确定目标Qstep,目标Qstep属于预设集合,预设集合中包括至少一个预设的量化步长可取值。
在一些实施例中,至少一个预设的量化步长可取值可以满足上述公式(5)。
解码端可以根据QP值以及预设对应关系,确定目标Qstep。其中,预设对应关系可以为上述步骤S102中的任意一种对应关系,此处不再赘述。
可选的,预设对应关系也可以具有多种,从而解码端也可以在多种预设对应关系中选择目标对应关系。
S203、解码端根据目标Qstep对待解码块进行反量化,并对反量化后的待解码块进行重建,得到重建的图像块。
其中,步骤S203的详细说明可以参考上文步骤S103至S104的描述,不再赘述。
基于图11所示的图像解码方法,可以通过预设公式来控制量化步长的可取值的数量与可取值的大小。进而,根据上述公式(5),可以通过较少的p的取值个数,来降低所需的硬件成本。
在一些实施例中,本申请还提供一种图像编码方法,如图12所示,图12为本申请提供的一种图像编码方法的流程示意图,该图像编码方法可以由编码器100执行,也可以由支持编码器100的功能的编码端(如图1所示出的编码端10)执行,这里以编码器100实现编码方法为例进行说明,该图像编码方法包括以下步骤:
S301、编码端获取待编码块的量化参数QP值。
编码端可以获取将待编码的视频中所包含的一帧或多帧图像,一帧图像包括一个或多个图像块。
其中,上述待编码块对应待处理图像(待处理图像为一帧或多帧图像中的任意一帧图像)的一个图像块,待编码块可以称为编码单元(coding unit,CU)。
编码端可以基于预设策略确定QP,本申请实施例对编码端确定待编码块的QP值的具体过程不作限定。
S302、编码端在多个对应关系中确定目标对应关系。
可选的,编码端中预置有多个对应关系,在多个对应关系中确定目标对应关系。其中,在多个对应关系中,目标对应关系在包括QP值的预设区间内的量化步长的变化率最小。
其中,编码端确定目标对应关系的过程可以参考S102,此处不再赘述。
可选的,编码端可以在确定目标对应关系之后,获取目标对应关系的标识,以使得在对待编码块对应的图像块进行编码时,可以对该图像块采用的对应关系也即目标对应关系的标识进行编码。
S303、编码端根据QP值和目标对应关系,确定目标Qstep。
其中,步骤S303的详细说明可以参考上文步骤S103的描述,不再赘述。
S304、编码端根据目标Qstep对待编码块进行量化。
可以理解的,在编码过程中,编码器对当前待编码块进行预测,从而得到该当前编码块的残差值(该残差值为当前待编码块的真实值与当前待编码块的预测值之差),然后对当前待编码块的残差值进行变换后得到残差系数,进而再对残差系数进行量化,得到当前待编码块对应的经量化系数。
或者,编码器对当前待编码块的残差值不进行变换,而是对该残差值直接进行量化,得到当前待编码块的经量化系数,该经量化系数可以还可以称为水平值或者经量化残差系数。
可选的,编码端可以采用上述H.265编码标准中的均匀量化器或其他可能的量化器进行量化过程。
S305、编码端对量化后的待编码块进行编码,得到待编码块的码流。
解码端可以对上述经量化残差系数进行编码,得到经编码的码流(即当前待编码块的编码结果)。
可选的,解码端可以采用半定长编码方式、指数Golomb编码方法,Golomb-Rice编码方法,截断一元码编码方法,游程编码方法,直接编码原始残差值等。
在一些实施例中,在确定待编码块的量化参数QP值之后,编码端可以采用截断一元码、截断莱斯码或者指数哥伦布码直接编码待编码块的QP值。从而可以使得,以使得解码器解析码流即可直接获得该待编码块的QP值。
在一些实施例中,在确定待编码块的量化参数QP值之后,编码端可以采用预测编码方式编码QP值。具体的,编码端可以对实际QP与预测QP的差值进行编码。从而,以使得解码端可以确定预测QP值,并根据预测QP值和解析码流获取到的实际QP与预测QP的差值,确定QP值。
在一些实施例中,编码端还可以对目标对应关系的标识进行编码,从而,可以使得解码端可以确定基于目标对应关系的标识,在多个对应关系中确定出目标对应关系,目标对应关系用于确定该待编码块在量化时的目标量化步长。
在一些实施例中,若待编码块为当前图像帧的编码顺序的第一个图像块,编码端还可以对目标对应关系的标识进行编码,从而,可以使得解码端可以确定基于目标对应关系的标识,在多个对应关系中确定出目标对应关系,目标对应关系用于确定当前图像帧中全部待编码的图像块在量化时的目标量化步长。
基于上述图像编码方法,可以预设不同的量化参数和量化步长之间的多种对应关系,在量化过程中,可以首先选择合适的对应关系,并以此来根据获取到的待解码块的量化参数来确定量化步长,进而进行反量化操作。由于量化是图像有损压缩的过程,较大的量化步长可保证高压缩率但会令图像质量下降,较低的量化步长则导致低压缩率但会保持较好的图像质量。通过选择合适的对应关系,可以调控量化步长的可取值的范围,还可以控制大小相近的量化参数对应的量化步长的变化速度。如此,该方法通过选择合适的对应关系,可以控制图像质量与压缩率之间的平衡,还可以通过控制控制量化步长之间的变化速度,来控制视频码流的码率波动,提升该编码器的压缩性能。
在一些实施例中,本申请还提供一种图像编码方法,如图13所示,该方法应用于编码端,方法包括以下步骤:
S401、编码端获取待编码块的QP值。
其中,步骤S401的详细说明可以参考上文步骤S301的描述,不再赘述。
S402、编码端根据QP值确定目标Qstep,其中,目标Qstep属于预设集合,预设集合中包括至少一个预设的Qstep可取值。
在一些实施例中,至少一个预设的Qstep可取值可以为上述公式(5)。
进而,编码端根据QP值确定目标Qstep的具体过程可以参考上文步骤S302的描述,不再赘述。
S403、编码端根据QP值和目标对应关系,确定目标Qstep。
其中,步骤S403的详细说明可以参考上文步骤S303的描述,不再赘述。
S404、编码端根据目标Qstep对待编码块进行量化。
其中,步骤S404的详细说明可以参考上文步骤S304的描述,不再赘述。
S405、编码端对量化后的所述待编码块进行编码,得到所述待编码块的码流。
其中,步骤S405的详细说明可以参考上文步骤S305的描述,不再赘述。
基于图13所示的图像编码方法,可以通过预设公式来控制Qstep的可取值的数量与可取值的大小。进而,根据上述公式(5),可以通过较少的p的取值个数,来降低所需的硬件成本。
可以理解的是,为了实现上述实施例中功能,编码端/解码端包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
以下,说明本申请实施例提供的解码装置和编码装置。
在一个示例中,本申请实施例提供的任一种解码装置均可以是图1中的解码端10或解码器100。在另一个示例中,以下提供的任一种编码装置均可以是图1中的编码端20或编码器200。此处统一说明,下文不再赘述。
图14为本申请提供的一种解码装置1400的结构示意图,上述任一种解码方法实施例都可以由该解码装置1400执行。该解码装置1400包括获取单元1401、确定单元1402、反量化单元1403以及重建单元1404。其中,获取单元1401,用于获取待解码块的量化参数QP值。确定单元1402,用于在多个对应关系中确定目标对应关系,其中,对应关系用于指示不同的QP值和Qstep之间的对应关系,并且,多个对应关系中的每两个对应关系指示的对应关系不同。确定单元1402,还用于根据QP值和目标对应关系,确定目标Qstep。反量化单元1403,用于根据目标Qstep对待解码块进行反量化。重建单元1404,用于对反量化后的待解码块进行重建,得到重建的图像块。
其中,该装置1400的获取单元1401、确定单元1402、反量化单元1403以及重建单元1404,用于实现图5~图10中任一实施例提供的解码方法。有关上述获取单元1401、确定单元1402、反量化单元1403以及重建单元1404的详细的描述可以直接参考图5~图10所示的方法实施例中相关描述直接得到。
图15为本申请提供的一种解码装置1500的结构示意图,上述任一种解码方法实施例都可以由该解码装置1500执行。该解码装置1500包括获取单元1501、确定单元1502、反量化单元1503以及重建单元1504。其中,获取单元1501,用于获取待解码块的量化参数QP值。确定单元1502,用于根据QP值确定目标量化步长Qstep,目标Qstep属于预设集合,所述预设集合中包括至少一个预设的量化步长可取值。反量化单元1503,用于根据目标Qstep对待解码块进行反量化。重建单元1504,用于对反量化后的待解码块进行重建,得到重建的图像块。
有关上述获取单元1501、确定单元1502、反量化单元1503以及重建单元1504更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图16为本申请提供的一种编码装置1600的结构示意图,上述任一种编码方法实施例都可以由该编码装置1600执行。该编码装置1600包括获取单元1601、确定单元1602、量化单元1603以及编码单元1604。其中,获取单元1601,用于获取待编码块的量化参数QP值。确定单元1602,用于在多个对应关系中确定目标对应关系,其中,对应关系用于指示不同的QP值和量化步长Qstep之间的对应关系,多个对应关系中的每两个对应关系指示的对应关系不同。确定单元1602,还用于根据QP值和目标对应关系,确定目标Qstep。量化单元1603,用于根据目标Qstep对待编码块进行量化。编码单元1604,用于对量化后的待编码块进行编码,得到待编码块的码流。
有关上述获取单元1601、确定单元1602、量化单元1603以及编码单元1604更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图17为本申请提供的一种编码装置1700的结构示意图,上述任一种编码方法实施例都可以由该编码装置1700执行。该编码装置1700包括获取单元1701、确定单元1702、量化单元1703以及编码单元1704。其中,获取单元1701,用于获取待编码块的量化参数QP值。确定单元1702,用于根据QP值确定目标量化步长Qstep,目标Qstep属于预设集合,预设集合中包括至少一个预设的量化步长可取值。确定单元1702,还用于根据QP值和目标对应关系,确定目标Qstep。量化单元1703,用于根据目标Qstep对待编码块进行量化。编码单元1704,用于对量化后的待编码块进行编码,得到待编码块的码流。
有关上述获取单元1701、确定单元1702、量化单元1703以及编码单元1704更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
本申请还提供一种电子设备,用于执行上述任意图像编码/解码方法的实施例。如图18所示,图18为本申请提供的一种电子设备的结构示意图,电子设备1800包括处理器1801和通信接口1802。处理器1801和通信接口1802之间相互耦合。可以理解的是,通信接口1802可以为收发器或输入输出接口。
在一个示例中,电子设备1800还可以包括存储器1803,用于存储处理器1801执行的指令或存储处理器1801运行指令所需要的输入数据或存储处理器1801运行指令后产生的数据。
本申请实施例中不限定上述通信接口1802、处理器1801以及存储器1803之间的具体连接介质。本申请实施例在图18中以通信接口1802、处理器1801以及存储器1803之间通过总线1804连接,总线在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1803可用于存储软件程序及模块,如本申请实施例所提供的图像解码方法或图像编码方法对应的程序指令/模块,处理器1801通过执行存储在存储器1803内的软件程序及模块,从而执行各种功能应用以及数据处理,以实现上文提供的任一种图像解码方法或图像编码方法。该通信接口1802可用于与其他设备进行信令或数据的通信。在本申请中该电子设备1800可以具有多个通信接口1802。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing Unit,CPU)、神经处理器(neural processing unit,NPU)或图形处理器(graphic processing unit,GPU),还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请实施例还提供一种编解码系统,包括编码端和解码端,该编码端可以用于执行上文提供的任意一种图像编码方法,解码端用于执行对应的图像解码方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (36)
1.一种图像解码方法,其特征在于,所述方法应用于解码端,所述方法包括:
获取待解码块的量化参数QP值;
在多个对应关系中确定目标对应关系;所述对应关系用于指示不同的QP值和量化步长之间的对应关系,所述多个对应关系中的每两个对应关系指示的对应关系不同,其中,在所述多个对应关系中,所述目标对应关系在包括所述QP值的预设区间内的量化步长的变化率最小;
根据所述QP值和所述目标对应关系,确定目标量化步长;
根据所述目标量化步长对所述待解码块进行反量化;
对反量化后的所述待解码块进行重建,得到重建的图像块。
2.根据权利要求1所述的方法,其特征在于,所述在多个对应关系中确定目标对应关系,包括:
获取所述待解码块的第一参数,所述第一参数包括所述QP值、预测量化步长、或预测量化步长的索引值中的任一个,所述预测量化步长的索引值用于指示所述预测量化步长的取值区间;
根据所述第一参数,在所述多个对应关系中确定所述目标对应关系。
3.根据权利要求2所述的方法,其特征在于,若所述第一参数包括所述QP值,所述根据所述第一参数,在所述多个对应关系中确定所述目标对应关系,包括:
若所述QP值在第一QP区间内,则将所述多个对应关系中的第一对应关系确定为所述目标对应关系,其中,基于所述多个对应关系中的所述第一对应关系和所述第一QP区间中的QP值确定的量化步长的变化率最小;
其中,所述第一QP区间是多个QP区间中的其中一个QP区间,所述多个QP区间是基于QP的可取值范围划分得到多个QP取值区间。
4.根据权利要求2所述的方法,其特征在于,若所述第一参数包括所述预测量化步长或所述预测量化步长的索引值,所述根据所述第一参数,在所述多个对应关系中确定所述目标对应关系,包括:
若所述预测量化步长值在第一量化步长区间内,或者,所述预测量化步长的索引值指示所述第一量化步长区间,则将所述多个对应关系中的第二对应关系确定为所述目标对应关系,其中,在所述多个对应关系中,所述第二对应关系中所述第一量化步长区间内的量化步长的变化率最小;
其中,所述第一量化步长区间是多个量化步长区间中的其中一个量化步长区间,所述多个量化步长区间是基于量化步长的可取值范围划分得到多个量化步长取值区间。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述获取所述待解码块的第一参数,包括:
获取所述待解码块周围一个或多个已重建图像块的第一历史参数,所述第一历史参数包括所述待解码块周围一个或多个已重建图像块的历史量化步长、QP值、比特深度、模式信息、目标像素深度以及纹理复杂度中的一项或多项;
根据所述第一历史参数,确定所述第一参数。
6.根据权利要求5所述的方法,其特征在于,若所述第一参数包括所述预测量化步长,则所述根据所述第一历史参数,确定所述第一参数,包括:
将所述一个或多个已重建图像块的历史量化步长的均值、中位数或者众数确定为所述预测量化步长。
7.根据权利要求5所述的方法,其特征在于,所述第一参数包括所述预测量化步长的索引值,则所述根据所述第一历史参数,确定所述第一参数,包括:
确定所述一个或多个已重建图像块的历史量化步长所在的量化步长取值区间的索引值,所述量化步长区间是多个量化步长区间中的其中一个量化步长区间,所述多个量化步长区间是基于所述量化步长的可取值范围划分得到多个量化步长取值区间;
根据确定的一个或多个索引值,确定所述预测量化步长的索引值。
8.根据权利要求1所述的方法,其特征在于,所述在多个对应关系中确定目标对应关系,包括:
解析所述待解码块的码流,得到所述目标对应关系的标识;
根据所述目标对应关系的标识,在所述多个对应关系中确定所述目标对应关系,所述目标对应关系用于确定所述待解码块在反量化时的目标量化步长。
9.根据权利要求1所述的方法,其特征在于,所述待解码块为当前图像帧的解码顺序的第一个图像块,所述在多个对应关系中确定目标对应关系包括:
解析所述当前图像帧的码流,得到所述目标对应关系的标识;
根据所述目标对应关系的标识,在所述多个对应关系中确定所述目标对应关系,所述目标对应关系用于确定所述当前图像帧中全部待解码的图像块在反量化时的目标量化步长。
10.根据权利要求1所述的方法,其特征在于,所述待解码块为当前图像帧的解码顺序的第一个图像块,则所述在多个对应关系中确定目标对应关系,包括:
获取已解码图像帧的第二历史参数,所述第二历史参数包括所述已解码图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;
根据所述第二历史参数,在所述多个对应关系中确定所述目标对应关系;或者,
获取当前图像帧的图像参数,所述图像参数包括所述当前图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;
根据所述图像参数,在所述多个对应关系中确定所述目标对应关系。
11.根据权利要求1所述的方法,其特征在于,所述待解码块非当前图像帧的解码顺序的第一个图像块,所述确定目标对应关系包括:
将当前图像帧中的已重建图像块采用的对应关系确定为所述目标对应关系。
12.根据权利要求1-4、6-11任一项所述的方法,其特征在于,所述多个对应关系包括多个量化曲线,所述量化曲线为量化步长-QP变化曲线,所述量化曲线包括分段曲线或光滑曲线。
13.根据权利要求12所述的方法,其特征在于,所述光滑曲线中的量化步长随QP值变化而均匀变化,或者,所述光滑曲线中量化步长小于第一阈值时量化步长随QP变化的变化率,小于或大于量化步长大于第二阈值时量化步长随QP变化的变化率;其中,所述第二阈值大于或等于所述第一阈值。
14.根据权利要求1-4、6-11、13任一项所述的方法,其特征在于,所述量化步长满足以下关系:
Qstep=p×2n
其中,Qstep为所述量化步长,p为正奇数,n为整数。
15.一种图像解码方法,其特征在于,所述方法应用于解码端,所述方法包括:
获取待解码块的量化参数QP值;
根据所述QP值确定目标量化步长,所述目标量化步长属于预设集合,所述预设集合中包括至少一个预设的量化步长可取值;
根据所述目标量化步长对所述待解码块进行反量化;
对反量化后的所述待解码块进行重建,得到重建的图像块;
其中,所述至少一个预设的量化步长可取值满足以下关系:
Qstep=p×2n
其中,Qstep为所述目标量化步长,p为正奇数,n为整数。
16.一种图像编码方法,其特征在于,所述方法应用于编码端,所述方法包括:
获取待编码块的量化参数QP值;
在多个对应关系中确定目标对应关系;所述对应关系用于指示不同的QP值和量化步长之间的对应关系,所述多个对应关系中的每两个对应关系指示的对应关系不同,其中,在所述多个对应关系中,所述目标对应关系在包括所述QP值的预设区间内的量化步长的变化率最小;
根据所述QP值和所述目标对应关系,确定目标量化步长;
根据所述目标量化步长对所述待编码块进行量化;
对量化后的所述待编码块进行编码,得到所述待编码块的码流。
17.根据权利要求16所述的方法,其特征在于,所述在多个对应关系中确定目标对应关系,包括:
获取所述待编码块的第一参数,所述第一参数包括所述QP值、预测量化步长、或所述预测量化步长的索引值中的任一个,所述预测量化步长的索引值用于指示所述预测量化步长的取值区间;
根据所述第一参数,在所述多个对应关系中确定所述目标对应关系。
18.根据权利要求17所述的方法,其特征在于,若所述第一参数包括所述QP值,所述根据所述第一参数,在所述多个对应关系中确定所述目标对应关系,包括:
若所述QP值在第一QP区间内,则将所述多个对应关系中的第一对应关系确定为所述目标对应关系,其中,基于所述多个对应关系中的所述第一对应关系和所述第一QP区间中的QP值确定的量化步长的变化率最小;
其中,所述第一QP区间是多个QP区间中的其中一个QP区间,所述多个QP区间是基于QP的可取值范围划分得到多个QP取值区间。
19.根据权利要求17所述的方法,其特征在于,若所述第一参数包括所述预测量化步长或所述预测量化步长的索引值,所述根据所述第一参数,在所述多个对应关系中确定所述目标对应关系,包括:
若所述预测量化步长值在第一量化步长区间内,或者,所述预测量化步长的索引值指示第一量化步长区间,则将所述多个对应关系中的第二对应关系确定为所述目标对应关系,其中,在所述多个对应关系中,所述第二对应关系中所述第一量化步长区间内的量化步长的变化率最小;其中,所述第一量化步长区间是多个量化步长区间中的其中一个量化步长区间,所述多个量化步长区间是基于量化步长的可取值范围划分得到多个量化步长取值区间。
20.根据权利要求17-19任一项所述的方法,其特征在于,所述获取所述待编码块的第一参数,包括:
获取所述待编码块周围一个或多个已编码图像块的第一历史参数,所述第一历史参数包括所述待编码块周围一个或多个已编码图像块的历史量化步长、QP值、比特深度、模式信息、目标像素深度以及纹理复杂度中的一项或多项;
根据所述第一历史参数,确定所述第一参数。
21.根据权利要求20所述的方法,其特征在于,若所述第一参数包括所述预测量化步长,则所述根据所述第一历史参数,确定所述第一参数,包括:
将所述一个或多个已编码图像块的历史量化步长的均值、中位数或者众数确定为所述预测量化步长。
22.根据权利要求20所述的方法,其特征在于,所述第一参数包括所述预测量化步长的索引值,则所述根据所述第一历史参数,确定所述第一参数,包括:
确定所述一个或多个已编码图像块的历史量化步长所在的量化步长取值区间的索引值,所述量化步长区间是多个量化步长区间中的其中一个量化步长区间,所述多个量化步长区间是基于所述量化步长的可取值范围划分得到多个量化步长取值区间;
根据得到的一个或多个索引值,确定所述预测量化步长的索引值。
23.根据权利要求16所述的方法,其特征在于,所述方法还包括:
获取所述目标对应关系的标识;
对所述目标对应关系的标识进行编码,所述待编码块的码流中包括所述目标对应关系的标识,所述目标对应关系用于确定所述待编码块在量化时的目标量化步长。
24.根据权利要求16所述的方法,其特征在于,若所述待编码块为当前图像帧的编码顺序的第一个图像块,则所述方法还包括:
获取所述目标对应关系的标识;
对所述目标对应关系的标识进行编码,所述当前图像帧的码流中包括所述目标对应关系的标识,所述目标对应关系用于确定所述当前图像帧中全部待编码的图像块在量化时的目标量化步长。
25.根据权利要求16任一项所述的方法,其特征在于,所述待编码块为当前图像帧的编码顺序的第一个图像块,则所述在多个对应关系中确定目标对应关系,包括:
获取已编码图像帧的第二历史参数,所述第二历史参数包括所述已编码图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;
根据所述第二历史参数,在所述多个对应关系中确定所述目标对应关系;或者,
获取当前图像帧的图像参数,所述图像参数包括所述当前图像帧的比特深度、目标像素深度以及纹理复杂度中的一项或多项;
根据所述图像参数,在所述多个对应关系中确定所述目标对应关系。
26.根据权利要求16任一项所述的方法,其特征在于,所述待编码块非当前图像帧的编码顺序的第一个图像块,所述确定目标对应关系包括:
将当前图像帧中的已编码图像块采用的对应关系确定为所述目标对应关系。
27.根据权利要求16-19、21-26任一项所述的方法,其特征在于,所述多个对应关系包括多个量化曲线,所述量化曲线为量化步长-QP变化曲线,所述量化曲线包括分段曲线或光滑曲线。
28.根据权利要求27所述的方法,其特征在于,所述光滑曲线中的量化步长随QP值变化而均匀变化,或者,所述光滑曲线中量化步长小于第一阈值时量化步长随QP变化的变化率,小于或大于量化步长大于第二阈值时量化步长随QP变化的的变化率;其中,所述第二阈值大于或等于所述第一阈值。
29.根据权利要求16-19、21-26、28任一项所述的方法,其特征在于,所述量化步长满足以下关系:
Qstep=p×2n
其中,Qstep为所述量化步长,p为正奇数,n为整数。
30.一种图像编码方法,其特征在于,所述方法应用于解码端,所述方法包括:
获取待编码块的量化参数QP值;
根据所述QP值确定目标量化步长,所述目标量化步长属于预设集合,所述预设集合中包括至少一个预设的量化步长可取值;
根据所述QP值和所述目标对应关系,确定目标量化步长;
根据所述目标量化步长对所述待编码块进行量化;
对量化后的所述待编码块进行编码,得到所述待编码块的码流
其中,所述至少一个预设的量化步长可取值满足以下关系:
Qstep=p×2n
其中,Qstep为所述目标量化步长,p为正奇数,n为整数。
31.一种图像解码装置,其特征在于,包括:
获取单元,用于获取待解码块的量化参数QP值;
确定单元,用于在多个对应关系中确定目标对应关系;所述对应关系用于指示不同的QP值和量化步长之间的对应关系,所述多个对应关系中的每两个对应关系指示的对应关系不同,其中,在所述多个对应关系中,所述目标对应关系在包括所述QP值的预设区间内的量化步长的变化率最小;
确定单元,还用于根据所述QP值和所述目标对应关系,确定目标量化步长;
反量化单元,用于根据所述目标量化步长对所述待解码块进行反量化;
重建单元,用于对反量化后的所述待解码块进行重建,得到重建的图像块。
32.一种图像解码装置,其特征在于,所述装置包括:
获取单元,用于获取待解码块的量化参数QP值;
确定单元,用于根据所述QP值确定目标量化步长,所述目标量化步长属于预设集合,所述预设集合中包括至少一个预设的量化步长可取值;
反量化单元,用于根据所述目标量化步长对所述待解码块进行反量化;
重建单元,用于对反量化后的所述待解码块进行重建,得到重建的图像块;
其中,所述至少一个预设的量化步长可取值满足以下关系:
Qstep=p×2n
其中,Qstep为所述目标量化步长,p为正奇数,n为整数。
33.一种图像编码装置,其特征在于,所述装置包括:
获取单元,用于获取待编码块的量化参数QP值;
确定单元,用于在多个对应关系中确定目标对应关系;所述对应关系用于指示不同的QP值和量化步长之间的对应关系,所述多个对应关系中的每两个对应关系指示的对应关系不同,其中,在所述多个对应关系中,所述目标对应关系在包括所述QP值的预设区间内的量化步长的变化率最小;
确定单元,还用于根据所述QP值和所述目标对应关系,确定目标量化步长;
量化单元,用于根据所述目标量化步长对所述待编码块进行量化;
编码单元,用于对量化后的所述待编码块进行编码,得到所述待编码块的码流。
34.一种图像编码装置,其特征在于,所述装置包括:
获取单元,用于获取待编码块的量化参数QP值;
确定单元,用于根据所述QP值确定目标量化步长,所述目标量化步长属于预设集合,所述预设集合中包括至少一个预设的量化步长可取值;
确定单元,还用于根据所述QP值和所述目标对应关系,确定目标量化步长;
量化单元,用于根据所述目标量化步长对所述待编码块进行量化;
编码单元,用于对量化后的所述待编码块进行编码,得到所述待编码块的码流;
其中,所述至少一个预设的量化步长可取值满足以下关系:
Qstep=p×2n
其中,Qstep为所述目标量化步长,p为正奇数,n为整数。
35.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,实现权利要求1-30中任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被电子设备执行时,实现权利要求1-30中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210520733.2A CN116156168A (zh) | 2022-05-13 | 2022-05-13 | 一种图像编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210520733.2A CN116156168A (zh) | 2022-05-13 | 2022-05-13 | 一种图像编解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116156168A true CN116156168A (zh) | 2023-05-23 |
Family
ID=86339460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210520733.2A Pending CN116156168A (zh) | 2022-05-13 | 2022-05-13 | 一种图像编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116156168A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527903A (zh) * | 2023-06-30 | 2023-08-01 | 鹏城实验室 | 图像浅压缩方法及解码方法 |
-
2022
- 2022-05-13 CN CN202210520733.2A patent/CN116156168A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527903A (zh) * | 2023-06-30 | 2023-08-01 | 鹏城实验室 | 图像浅压缩方法及解码方法 |
CN116527903B (zh) * | 2023-06-30 | 2023-09-12 | 鹏城实验室 | 图像浅压缩方法及解码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609375B2 (en) | Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus | |
US9167269B2 (en) | Determining boundary strength values for deblocking filtering for video coding | |
KR102229045B1 (ko) | 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들 | |
JP6710755B2 (ja) | 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 | |
US10757428B2 (en) | Luma and chroma reshaping of HDR video encoding | |
JP2018531556A6 (ja) | 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 | |
TW201639363A (zh) | 用於顯示串流壓縮之速率受限回退模式 | |
CN116389755B (zh) | 一种图像解码方法、编码方法及装置 | |
CN114514748A (zh) | 图像编码方法、图像解码方法及相关装置 | |
CN116489360B (zh) | 一种图像编解码方法及装置 | |
WO2024022359A1 (zh) | 一种图像编解码方法及装置 | |
CN116156168A (zh) | 一种图像编解码方法及装置 | |
CN116668705B (zh) | 一种图像解码方法、编码方法及装置 | |
JP2018525901A (ja) | ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更 | |
EP4432654A1 (en) | Decoding method, encoding method and apparatuses | |
TWI858835B (zh) | 一種圖像編解碼方法及裝置 | |
TWI855720B (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 |