CN110536133B - 视频数据解码方法及装置 - Google Patents

视频数据解码方法及装置 Download PDF

Info

Publication number
CN110536133B
CN110536133B CN201810508090.3A CN201810508090A CN110536133B CN 110536133 B CN110536133 B CN 110536133B CN 201810508090 A CN201810508090 A CN 201810508090A CN 110536133 B CN110536133 B CN 110536133B
Authority
CN
China
Prior art keywords
block
residual
processed
pixels
adjusting
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.)
Active
Application number
CN201810508090.3A
Other languages
English (en)
Other versions
CN110536133A (zh
Inventor
赵寅
杨海涛
陈建乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810508090.3A priority Critical patent/CN110536133B/zh
Priority to PCT/CN2019/083848 priority patent/WO2019223480A1/zh
Publication of CN110536133A publication Critical patent/CN110536133A/zh
Application granted granted Critical
Publication of CN110536133B publication Critical patent/CN110536133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种视频解码中残差的获取方法和设备,包括:解析码流,以获取待处理块的变换系数;将所述变换系数转换为所述待处理块的第一残差;根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子;基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差,实现了在视频解码过程中,在稳定条带码率的同时灵活地调节残差处理,使得残差更符合人眼视觉感知,从而提高了编解码性能。

Description

视频数据解码方法及装置
技术领域
本申请涉及视频编解码技术领域,尤其涉及残差的获取方法及装置。
背景技术
当前视频编码技术包括多种,例如H.264/AVC、H.265/HEVC、音视频编码标准(Audio Video coding Standard,AVS)等视频编码标准,上述视频编码标准通常都采用混合编码框架,该混合编码框架可包括预测(prediction)、变换(transform)、量化(quantization)、熵编码(entropy coding)等环节。预测环节利用已编码区域的重建像素(reconstructed pixel)产生当前编码图像块(coding block)对应的原始像素(originalpixel)的预测像素(predicted pixel)。原始像素和预测像素之间的像素值差异称为残差(residual)。为了提高残差的编码效率,通常先对残差进行变换,将其转化为变换系数(transform coefficient),再对变换系数作量化处理。然后,将量化后的变换系数以及语法元素(例如编码图像块大小、预测模式、运动矢量等指示信息)通过熵编码处理转换成码流。
视频解码是将码流转换为视频图像的过程,可包括熵解码(entropy decoding)、预测、反量化(dequantization)、反变换(inverse transform)等环节。首先,将码流通过熵解码处理解析出语法元素和经量化的变换系数。然后,一方面基于语法元素和在先已解码的重建像素得到预测像素;另一方面将经量化的变换系数通过反量化处理得到反量化后的变换系数,并对反量化后的变换系数进行反变换,以得到重建的残差。以及,累加重建的残差和预测像素,以得到重建像素,从而恢复出视频图像。
对于有损编码,重建像素与原始像素可能是不同的,两者之间的数值差异称为失真(distortion)。由于多种视觉掩蔽效应的存在,例如亮度掩蔽效应和对比度掩蔽效应,人眼观察到失真的强度与失真所在背景的特性有密切的联系。
发明内容
本申请实施例利用当前待处理块(即待解码块、变换块)的空间邻域像素信息模拟当前待处理块对应的原始像素信息。根据空间邻域像素信息,自适应地推导用于当前待处理块(即变换块)的调节因子,并基于自适应推导的调节因子来调节当前待处理块对应的残差块,实现了在视频编码或解码过程中,降低了视觉掩蔽效应较强的处理块的残差比特,提高了视觉掩蔽效应较弱的处理块的残差比特,使得实际残差的编码更符合人眼视觉感知,从而提高了编解码性能。
本申请实施例的第一方面提供了一种视频解码中残差的获取方法,包括:解析码流,以获取待处理块的变换系数;将所述变换系数转换为所述待处理块的第一残差;根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子;基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差。
利用当前待处理块的空间邻域像素信息模拟当前待处理块对应的原始像素信息,自适应地推导用于当前待处理块的调节因子,并基于自适应推导的调节因子来调节当前待处理块对应的残差块,使得实际残差更符合人眼视觉感知,从而提高了编解码性能。
在第一方面的一种可行的实施方式中,在所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子之前,还包括:基于所述待处理块的预设空间邻域内的像素值,计算所述待处理块的预设空间邻域内的像素信息。
在第一方面的一种可行的实施方式中,所述计算所述待处理块的预设空间邻域内的像素信息,包括:获取所述预设空间邻域内的一个或多个像素集合;计算所述一个或多个像素集合内像素的均值和/或离散度,以获得所述预设空间邻域内的像素信息。
采用待处理块周边像素的像素信息来代替待处理块的像素信息,使解码端能够自适应地进行像素信息的推导,节省了传输像素信息的比特数,提高了编码效率。
在第一方面的一种可行的实施方式中,所述离散度包括:均方误差和,平均绝对误差和,方差或标准差。
可以基于不同的场景和实现复杂度的要求,选择不同的指标作为离散度的表征量,实现了性能和复杂度的平衡。
在第一方面的一种可行的实施方式中,所述离散度包括:在所述获取所述预设空间邻域内的一个或多个像素集合之前,还包括:确定所述一个或多个像素集合中的每个像素集合中的全部像素已完成重构。
选择重构后的像素来计算像素信息保证了用于调节因子计算的像素信息的准确性。
在第一方面的一种可行的实施方式中,所述像素信息为所述均值,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:根据所述均值以及所述均值和所述调节因子的第一映射关系,确定所述调节因子,其中,所述第一映射关系满足如下一个或多个条件:当所述均值小于第一阈值时,所述调节因子随所述均值的增大而减小;当所述均值大于第二阈值时,所述调节因子随所述均值的增大而增大,其中,所述第一阈值小于或等于所述第二阈值;当所述均值大于或等于所述第一阈值,且小于或等于所述第二阈值时,所述调节因子为第一预设常数。
在第一方面的一种可行的实施方式中,所述像素信息为所述离散度,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:
根据所述离散度以及所述离散度和所述调节因子的第二映射关系,确定所述调节因子,其中,所述第二映射关系满足如下一个或多个条件:
当所述离散度大于第三阈值时,所述调节因子随所述离散度的增大而增大;
当所述离散度小于或等于所述第三阈值时,所述调节因子为第二预设常数。
在第一方面的一种可行的实施方式中,所述像素信息为所述均值和所述离散度,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:
根据所述均值和所述第一映射关系确定第一参数;
根据所述离散度和所述第二映射关系确定第二参数;
将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子。
可以基于不同的场景和实现复杂度的要求,选择不同的指标实现调节因子的确定,实现了性能和复杂度的平衡。
在第一方面的一种可行的实施方式中,在所述将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子之后,还包括:将所述调节因子进行加权调整,以获得调整后的调节因子;对应的,所述确定所述待处理块的调节,包括:将所述调整后的调节因子作为所述待处理块的调节因子。
通过对调节因子的进一步加权计算,使调节因子更加优化,进一步提高编码效率。
在第一方面的一种可行的实施方式中,在所述确定所述待处理块的调节因子之后,还包括:根据所述待处理块的量化参数,对所述调节因子进行更新;对应的,所述基于所述调节因子调整所述第一残差,以得到所述待处理块的第二残差,包括:基于所述更新后的调节因子调整所述第一残差,以得到所述待处理块的第二残差。
在第一方面的一种可行的实施方式中,所述调节因子通过如下方式进行调节:
Figure BDA0001671681490000031
其中,QC表示所述调节因子,QP表示所述量化参数,N,M,X为预设常数。
引入量化参数来对调节因子进行将进一步的优化,进一步提高编码效率。
在第一方面的一种可行的实施方式中,获取的所述待处理块的变换系数的个数与所述待处理块的像素点的个数相同,在所述获取待处理块的变换系数之后,还包括:将所述待处理块的变换系数按照预设位置关系排列为变换系数块;对应的,所述将所述变换系数转换为所述待处理块的第一残差包括:将所述变换系数块转换为所述待处理块的第一残差块;对应的,所述基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差,包括:基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块。
在第一方面的一种可行的实施方式中,所述第一残差块包括所述待处理块的亮度分量的第一亮度残差块,所述第一亮度残差块中的亮度残差像素与所述待处理块的亮度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的亮度分量的第二亮度残差块,所述基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块,包括:基于所述调节因子调整所述第一亮度残差块中的亮度残差像素,以获得所述待处理块的第二亮度残差块中的亮度残差像素。
在第一方面的一种可行的实施方式中,所述第二亮度残差块中的亮度残差像素通过如下方式获得:
Res2_Y(i)=(Res1_Y(i)×QC+offset_Y)>>shift_Y
其中,QC表示所述调节因子,Res1_Y(i)表示所述第一亮度残差块中的第i个亮度残差像素,Res2_Y(i)表示所述第二亮度残差块中的第i个亮度残差像素,offset_Y和shift_Y为预设常数,i为自然数。
在第一方面的一种可行的实施方式中,所述第一残差块包括所述待处理块的色度分量的第一色度残差块,所述第一色度残差块中的色度残差像素与所述待处理块的色度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的色度分量的第二色度残差块,所述基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块,包括:基于所述调节因子调整所述第一色度残差块中的色度残差像素,以获得所述待处理块的第二色度残差块中的色度残差像素。
在第一方面的一种可行的实施方式中,所述第二色度残差块中的色度残差像素通过如下方式获得:
Res_C(i)=(Res1_C(i)×QC+offset_C)>>shift_C
其中,QC表示所述调节因子,Res1_C(i)表示所述第一色度残差块中的第i个色度残差像素,Res2_C(i)表示所述第二色度残差块中的第i个色度残差像素,offset_C和shift_C为预设常数,i为自然数。
将亮度残差和色度残差分开处理,进一步平衡了性能和复杂度的关系。
在第一方面的一种可行的实施方式中,所述第一亮度残差块中的亮度残差像素的比特位宽精度高于所述第二亮度残差块中的亮度残差像素的比特位宽精度。
在第一方面的一种可行的实施方式中,所述第一色度残差块中的色度残差像素的比特位宽精度高于所述第二色度残差块中的色度残差像素的比特位宽精度。
对于中间过程产生的第一残差采用高精度的比特位宽精度,可以提高运算的精度,提高编码效率。
在第一方面的一种可行的实施方式中,所述将所述变换系数块转换为所述待处理块的第一残差块,包括:对所述变换系数块中的每一个变换系数进行反量化,以获得反量化后的变换系数块;对所述反量化后的变换系数块进行反变换,以获得所述待处理块的第一残差块。
在第一方面的一种可行的实施方式中,在所述基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差之后,还包括:将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加,以获得所述待处理块中所述对应位置的重构像素。
上述两个步骤是获取残差的前序步骤和后续步骤,使对残差进行调节的有益效果,可以和其他预测、变换、量化等技术进行叠加。
本申请实施例的第二方面公开了一种视频解码中残差的获取装置,包括:解析模块,用于解析码流,以获取待处理块的变换系数;转换模块,用于将所述变换系数转换为所述待处理块的第一残差;计算模块,用于根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子;调节模块,用于基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差。
在第二方面的一种可行的实施方式中,所述计算模块还用于:基于所述待处理块的预设空间邻域内的像素值,计算所述待处理块的预设空间邻域内的像素信息。
在第二方面的一种可行的实施方式中,所述计算模块具体用于:获取所述预设空间邻域内的一个或多个像素集合;计算所述一个或多个像素集合内像素的均值和/或离散度,以获得所述预设空间邻域内的像素信息。
在第二方面的一种可行的实施方式中,所述离散度包括:均方误差和,平均绝对误差和,方差或标准差。
在第二方面的一种可行的实施方式中,所述计算模块还用于:确定所述一个或多个像素集合中的每个像素集合中的全部像素已完成重构。
在第二方面的一种可行的实施方式中,所述像素信息为所述均值,所述计算模块具体用于:根据所述均值以及所述均值和所述调节因子的第一映射关系,确定所述调节因子,其中,所述第一映射关系满足如下一个或多个条件:当所述均值小于第一阈值时,所述调节因子随所述均值的增大而减小;当所述均值大于第二阈值时,所述调节因子随所述均值的增大而增大,其中,所述第一阈值小于或等于所述第二阈值;当所述均值大于或等于所述第一阈值,且小于或等于所述第二阈值时,所述调节因子为第一预设常数。
在第二方面的一种可行的实施方式中,所述计算模块具体用于:根据所述离散度以及所述离散度和所述调节因子的第二映射关系,确定所述调节因子,其中,所述第二映射关系满足如下一个或多个条件:当所述离散度大于第三阈值时,所述调节因子随所述离散度的增大而增大;当所述离散度小于或等于所述第三阈值时,所述调节因子为第二预设常数。
在第二方面的一种可行的实施方式中,所述像素信息为所述均值和所述离散度,所述计算模块具体用于:根据所述均值和所述第一映射关系确定第一参数;根据所述离散度和所述第二映射关系确定第二参数;将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子。
在第二方面的一种可行的实施方式中,所述计算模块还用于:将所述调节因子进行加权调整,以获得调整后的调节因子;将所述调整后的调节因子作为所述待处理块的调节因子。
在第二方面的一种可行的实施方式中,所述计算模块还用于:根据所述待处理块的量化参数,对所述调节因子进行更新;对应的,所述调节模块具体用于:基于所述更新后的调节因子调整所述第一残差,以得到所述待处理块的第二残差。
在第二方面的一种可行的实施方式中,所述调节因子通过如下方式进行调节:
Figure BDA0001671681490000051
其中,QC表示所述调节因子,QP表示所述量化参数,N,M,X为预设常数。
在第二方面的一种可行的实施方式中,获取的所述待处理块的变换系数的个数与所述待处理块的像素点的个数相同,所述转换模块还用于:将所述待处理块的变换系数按照预设位置关系排列为变换系数块;将所述变换系数块转换为所述待处理块的第一残差块;对应的,所述调节模块具体用于:基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块。
在第二方面的一种可行的实施方式中,所述第一残差块包括所述待处理块的亮度分量的第一亮度残差块,所述第一亮度残差块中的亮度残差像素与所述待处理块的亮度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的亮度分量的第二亮度残差块,所述调节模块具体用于:基于所述调节因子调整所述第一亮度残差块中的亮度残差像素,以获得所述待处理块的第二亮度残差块中的亮度残差像素。
在第二方面的一种可行的实施方式中,所述第二亮度残差块中的亮度残差像素通过如下方式获得:
Res2_Y(i)=(Res1_Y(i)×QC+offset_Y>>shift_Y
其中,QC表示所述调节因子,Res1_Y(i)表示所述第一亮度残差块中的第i个亮度残差像素,Res2_Y(i)表示所述第二亮度残差块中的第i个亮度残差像素,offset_Y和shift_Y为预设常数,i为自然数。
在第二方面的一种可行的实施方式中,所述第一残差块包括所述待处理块的色度分量的第一色度残差块,所述第一色度残差块中的色度残差像素与所述待处理块的色度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的色度分量的第二色度残差块,所述调节模块具体用于:基于所述调节因子调整所述第一色度残差块中的色度残差像素,以获得所述待处理块的第二色度残差块中的色度残差像素。
在第二方面的一种可行的实施方式中,所述第二色度残差块中的色度残差像素通过如下方式获得:
Res2_C(i)=(Res1_C(i)×QC+offset_C)>>shift_C
其中,QC表示所述调节因子,Res1_C(i)表示所述第一色度残差块中的第i个色度残差像素,Res2_C(i)表示所述第二色度残差块中的第i个色度残差像素,offset_C和shift_C为预设常数,i为自然数。
在第二方面的一种可行的实施方式中,所述第一亮度残差块中的亮度残差像素的比特位宽精度高于所述第二亮度残差块中的亮度残差像素的比特位宽精度。
在第二方面的一种可行的实施方式中,所述第一色度残差块中的色度残差像素的比特位宽精度高于所述第二色度残差块中的色度残差像素的比特位宽精度。
在第二方面的一种可行的实施方式中,所述转换模块具体用于:对所述变换系数块中的每一个变换系数进行反量化,以获得反量化后的变换系数块;对所述反量化后的变换系数块进行反变换,以获得所述待处理块的第一残差块。
在第二方面的一种可行的实施方式中,所述装置还包括:重构单元,用于将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加,以获得所述待处理块中所述对应位置的重构像素。
本申请的第三方面提供一种获取残差的设备,该设备包括:设备可以是应用于编码侧,也可以是应用于解码侧。该设备包括处理器、存储器,所述处理器和存储器相连接(如通过总线相互连接),在可能的实施方式中,该设备还可包括收发器,收发器连接处理器和存储器,用于接收/发送数据。存储器用于存储程序代码和视频数据。处理器可用于读取所存储器中存储的程序代码,执行第一方面所描述的方法。
本申请的第四方面提供一种视频编解码系统,该视频编解码系统包括源装置及目的地装置。源装置与目的地装置可进行通信连接。源装置产生经编码视频数据。因此,源装置可被称作视频编码装置或视频编码设备。目的地装置可解码由源装置产生的经编码视频数据。因此,目的地装置可被称作视频解码装置或视频解码设备。源装置及目的地装置可为视频编解码装置或视频编解码设备的实例。第一方面所描述的方法会应用在该视频编解码装置或视频编解码设备。
本申请的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请的第六方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
应理解,本申请第二至六方面与本申请第一方面对应的实施例发明目的相同,技术特征相似,获得的有益技术效果也相同,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为示例性的可通过配置以用于本申请实施例的一种视频编码及解码的系统框图;
图2为示例性的可通过配置以用于本申请实施例的一种视频编码器的系统框图;
图3为示例性的可通过配置以用于本申请实施例的一种视频解码器的系统框图;
图4为示例性的本申请实施例中一种用于视频数据解码的残差获取方法的流程示意图;
图5为示例性的本申请实施例中待处理块的空间邻域像素的示意图;
图6为示例性的本申请实施例中硬件流水线设计的系统框图;
图7为示例性的本申请实施例中一种用于视频数据解码的残差获取装置的系统框图;
图8为示例性的本申请实施例中一种用于视频数据解码的残差获取设备的系统框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1为本申请实施例中视频编码及解码系统10的一种示意性框图。如图1中所展示,系统10包含源装置12,源装置12产生将在稍后时间由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、所谓的“智能”触控板、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些应用中,源装置12及目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个可行的实施方式中,链路16可包括使源装置12能够实时将经编码视频数据直接传输到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据且将其传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频频谱或一个或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站或可有用于促进从源装置12到目的地装置14的通信的任何其它装备。
替代地,可将经编码数据从输出接口22输出到存储装置24。类似地,可由输入接口从存储装置24存取经编码数据。存储装置24可包含多种分散式或本地存取的数据存储媒体中的任一者,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一可行的实施方式中,存储装置24可对应于文件服务器或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置24存取所存储视频数据。文件服务器可为能够存储经编码视频数据且将此经编码视频数据传输到目的地装置14的任何类型的服务器。可行的实施方式文件服务器包含网站服务器、文件传送协议服务器、网络附接存储装置或本地磁盘机。目的地装置14可经由包含因特网连接的任何标准数据连接存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,缆线调制解调器等)或两者的组合。经编码视频数据从存储装置24的传输可为流式传输、下载传输或两者的组合。
本申请的技术不必限于无线应用或设定。技术可应用于视频解码以支持多种多媒体应用中的任一者,例如,空中电视广播、有线电视传输、卫星电视传输、流式传输视频传输(例如,经由因特网)、编码数字视频以用于存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些可行的实施方式中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
在图1的可行的实施方式中,源装置12包含视频源18、视频编码器20及输出接口22。在一些应用中,输出接口22可包含调制器/解调制器(调制解调器)和/或传输器。在源装置12中,视频源18可包含例如以下各者的源:视频捕获装置(例如,摄像机)、含有先前捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一种可行的实施方式,如果视频源18为摄像机,那么源装置12及目的装置14可形成所谓的摄影机电话或视频电话。本申请中所描述的技术可示例性地适用于视频解码,且可适用于无线和/或有线应用。
可由视频编码器20来编码所捕获、预捕获或计算机产生的视频。经编码视频数据可经由源装置12的输出接口22直接传输到目的地装置14。经编码视频数据也可(或替代地)存储到存储装置24上以供稍后由目的地装置14或其它装置存取以用于解码和/或播放。
目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些应用中,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或提供于存储装置24上的经编码视频数据可包含由视频编码器20产生以供视频解码器30的视频解码器使用以解码视频数据的多种语法元素。这些语法元素可与在通信媒体上传输、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些可行的实施方式中,目的地装置14可包含集成显示装置且也经配置以与外部显示装置接口连接。在其它可行的实施方式中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器、等离子显示器、有机发光二极管显示器或另一类型的显示装置。
视频编码器20及视频解码器30可根据例如目前在开发中的下一代视频编解码压缩标准(H.266)操作且可遵照H.266测试模型(JEM)。替代地,视频编码器20及视频解码器30可根据例如ITU-TH.265标准,也称为高效率视频解码标准,或者,ITU-TH.264标准的其它专属或工业标准或这些标准的扩展而操作,ITU-TH.264标准替代地被称为MPEG-4第10部分,也称高级视频编码(advanced video coding,AVC)。然而,本申请的技术不限于任何特定解码标准。视频压缩标准的其它可行的实施方式包含MPEG-2和ITU-TH.263。
尽管未在图1中展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。如果适用,那么在一些可行的实施方式中,MUX-DEMUX单元可遵照ITUH.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器20及视频解码器30各自可实施为多种合适编码器电路中的任一者,例如,一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。在技术部分地以软件实施时,装置可将软件的指令存储于合适的非暂时性计算机可读媒体中且使用一个或多个处理器以硬件执行指令,以执行本申请的技术。视频编码器20及视频解码器30中的每一者可包含于一个或多个编码器或解码器中,其中的任一者可在相应装置中集成为组合式编码器/解码器(CODEC)的部分。
本申请示例性地可涉及视频编码器20将特定信息“用信号发送”到例如视频解码器30的另一装置。然而,应理解,视频编码器20可通过将特定语法元素与视频数据的各种经编码部分相关联来用信号发送信息。即,视频编码器20可通过将特定语法元素存储到视频数据的各种经编码部分的头信息来“用信号发送”数据。在一些应用中,这些语法元素可在通过视频解码器30接收及解码之前经编码及存储(例如,存储到存储系统34或文件服务器36)。因此,术语“用信号发送”示例性地可指语法或用于解码经压缩视频数据的其它数据的传达,而不管此传达是实时或近实时地发生或在时间跨度内发生,例如可在编码时将语法元素存储到媒体时发生,语法元素接着可在存储到此媒体之后的任何时间通过解码装置检索。
JCT-VC开发了H.265(HEVC)标准。HEVC标准化基于称作HEVC测试模型(HM)的视频解码装置的演进模型。H.265的最新标准文档可从http://www.itu.int/rec/T-REC-H.265获得,最新版本的标准文档为H.265(12/16),该标准文档以全文引用的方式并入本文中。HM假设视频解码装置相对于ITU-TH.264/AVC的现有算法具有若干额外能力。例如,H.264提供9种帧内预测编码模式,而HM可提供多达35种帧内预测编码模式。
JVET致力于开发H.266标准。H.266标准化的过程基于称作H.266测试模型的视频解码装置的演进模型进行。H.266的算法描述可从http://phenix.int-evry.fr/jvet获得,其中最新的算法描述包含于JVET-G1001-v1中,该算法描述文档以全文引用的方式并入本文中。同时,可从https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/获得JEM测试模型的参考软件,同样以全文引用的方式并入本文中。
一般来说,HM的工作模型描述可将视频帧或图像划分成包含亮度及色度样本两者的树块或最大编码单元(largest coding unit,LCU)的序列,LCU也被称为CTU。树块具有与H.264标准的宏块类似的目的。条带包含按解码次序的数个连续树块。可将视频帧或图像分割成一个或多个条带。可根据四叉树将每一树块分裂成编码单元。例如,可将作为四叉树的根节点的树块分裂成四个子节点,且每一子节点可又为母节点且被分裂成另外四个子节点。作为四叉树的叶节点的最终不可分裂的子节点包括解码节点,例如,经解码视频块。与经解码码流相关联的语法数据可定义树块可分裂的最大次数,且也可定义解码节点的最小大小。
编码单元包含解码节点及预测单元(prediction unit,PU)以及与解码节点相关联的变换单元(transform unit,TU)。CU的大小对应于解码节点的大小且形状必须为正方形。CU的大小的范围可为8×8像素直到最大64×64像素或更大的树块的大小。每一CU可含有一个或多个PU及一个或多个TU。例如,与CU相关联的语法数据可描述将CU分割成一个或多个PU的情形。分割模式在CU是被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码的情形之间可为不同的。PU可经分割成形状为非正方形。例如,与CU相关联的语法数据也可描述根据四叉树将CU分割成一个或多个TU的情形。TU的形状可为正方形或非正方形。
HEVC标准允许根据TU进行变换,TU对于不同CU来说可为不同的。TU通常基于针对经分割LCU定义的给定CU内的PU的大小而设定大小,但情况可能并非总是如此。TU的大小通常与PU相同或小于PU。在一些可行的实施方式中,可使用称作“残差四叉树”(residualqualtree,RQT)的四叉树结构将对应于CU的残差样本再分成较小单元。RQT的叶节点可被称作TU。可变换与TU相关联的像素差值以产生变换系数,变换系数可被量化。
一般来说,PU包含与预测过程有关的数据。例如,在PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一可行的实施方式,在PU经帧间模式编码时,PU可包含界定PU的运动矢量的数据。例如,界定PU的运动矢量的数据可描述运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动矢量所指向的参考图像,和/或运动矢量的参考图像列表(例如,列表0、列表1或列表C)。
一般来说,TU使用变换及量化过程。具有一个或多个PU的给定CU也可包含一个或多个TU。在预测之后,视频编码器20可计算对应于PU的残差值。残差值包括像素差值,像素差值可变换成变换系数、经量化且使用TU扫描以产生串行化变换系数以用于熵解码。本申请通常使用术语“视频块”来指CU的解码节点。在一些特定应用中,本申请也可使用术语“视频块”来指包含解码节点以及PU及TU的树块,例如,LCU或CU。
视频序列通常包含一系列视频帧或图像。图像群组(group of picture,GOP)示例性地包括一系列、一个或多个视频图像。GOP可在GOP的头信息中、图像中的一者或多者的头信息中或在别处包含语法数据,语法数据描述包含于GOP中的图像的数目。图像的每一条带可包含描述相应图像的编码模式的条带语法数据。视频编码器20通常对个别视频条带内的视频块进行操作以便编码视频数据。视频块可对应于CU内的解码节点。视频块可具有固定或变化的大小,且可根据指定解码标准而在大小上不同。
作为一种可行的实施方式,HM支持各种PU大小的预测。假定特定CU的大小为2N×2N,HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM也支持2N×nU、2N×nD、nL×2N及nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向分割成25%及75%。对应于25%区段的CU的部分由“n”后跟着“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU”指水平分割的2N×2NCU,其中2N×0.5NPU在上部且2N×1.5NPU在底部。
在本申请中,“N×N”与“N乘N”可互换使用以指依照垂直维度及水平维度的视频块的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样地,N×N块一股在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。可将块中的像素排列成行及列。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。例如,块可包括N×M个像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性解码之后,视频编码器20可计算CU的TU的残差数据。PU可包括空间域(也称作像素域)中的像素数据,且TU可包括在将变换(例如,离散余弦变换(discrete cosine transform,DCT)、整数变换、小波变换或概念上类似的变换)应用于残差视频数据之后变换域中的系数。残差数据可对应于未经编码图像的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残差数据的TU,且接着变换TU以产生CU的变换系数。
在任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化示例性地指对系数进行量化以可能减少用以表示系数的数据的量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。例如,可在量化期间将n位值降值舍位到m位值,其中n大于m。
JEM模型对视频图像的编码结构进行了进一步的改进,具体的,被称为“四叉树结合二叉树”(QTBT)的块编码结构被引入进来。QTBT结构摒弃了HEVC中的CU,PU,TU等概念,支持更灵活的CU划分形状,一个CU可以正方形,也可以是长方形。一个CTU首先进行四叉树划分,该四叉树的叶节点进一步进行二叉树划分。同时,在二叉树划分中存在两种划分模式,对称水平分割和对称竖直分割。二叉树的叶节点被称为CU,JEM的CU在预测和变换的过程中都不可以被进一步划分,也就是说JEM的CU,PU,TU具有相同的块大小。在现阶段的JEM中,CTU的最大尺寸为256×256亮度像素。
在一些可行的实施方式中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的串行化向量。在其它可行的实施方式中,视频编码器20可执行自适应性扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可根据上下文自适应性可变长度解码(CAVLC)、上下文自适应性二进制算术解码(CABAC)、基于语法的上下文自适应性二进制算术解码(SBAC)、概率区间分割熵(PIPE)解码或其他熵解码方法来熵解码一维向量。视频编码器20也可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待传输的符号。上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可选择待传输的符号的可变长度码。可变长度解码(VLC)中的码字可经构建以使得相对较短码对应于可能性较大的符号,而较长码对应于可能性较小的符号。以这个方式,VLC的使用可相对于针对待传输的每一符号使用相等长度码字达成节省码率的目的。基于指派给符号的上下文可以确定CABAC中的概率。
图2为本申请实施例中视频编码器20的一种示意性框图。视频编码器20可执行视频条带内的视频块的帧内解码和帧间解码。帧内解码依赖于空间预测来减少或去除给定视频帧或图像内的视频的空间冗余。帧间解码依赖于时间预测来减少或去除视频序列的邻近帧或图像内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的压缩模式中的任一者。
在图2的可行的实施方式中,视频编码器20包含分割单元35、预测单元41、参考图像存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测单元41包含运动估计单元42、运动补偿单元44和帧内预测模块46。对于视频块重构建,视频编码器20也包含反量化单元58、反变换单元60和求和器62。也可包含解块滤波器(图2中未展示)以对块边界进行滤波从而从经重构建视频中去除块效应伪影。在需要时,解块滤波器将通常对求和器62的输出进行滤波。除了解块滤波器之外,也可使用额外环路滤波器(环路内或环路后)。
如图2中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割也可包含分割成条带、图像块或其它较大单元,以及(例如)根据LCU及CU的四叉树结构进行视频块分割。视频编码器20示例性地说明编码在待编码的视频条带内的视频块的组件。一般来说,条带可划分成多个视频块(且可能划分成称作图像块的视频块的集合)。
预测单元41可基于编码质量与代价计算结果(例如,码率-失真代价,RDcost,也称率失真代价)选择当前视频块的多个可能解码模式中的一者,例如多个帧内解码模式中的一者或多个帧间解码模式中的一者。预测单元41可将所得经帧内解码或经帧间解码块提供到求和器50以产生残差块数据且将所得经帧内解码或经帧间解码块提供到求和器62以重构建经编码块从而用作参考图像。
预测单元41内的运动估计单元42及运动补偿单元44执行相对于一个或多个参考图像中的一个或多个预测性块的当前视频块的帧间预测性解码以提供时间压缩。运动估计单元42可经配置以根据视频序列的预定模式确定视频条带的帧间预测模式。预定模式可将序列中的视频条带指定为P条带、B条带或GPB条带。运动估计单元42及运动补偿单元44可高度集成,但为概念目的而分别说明。通过运动估计单元42所执行的运动估计为产生估计视频块的运动矢量的过程。例如,运动矢量可指示当前视频帧或图像内的视频块的PU相对于参考图像内的预测性块的位移。
预测性块为依据像素差而被发现为紧密匹配待解码的视频块的PU的块,像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些可行的实施方式中,视频编码器20可计算存储于参考图像存储器64中的参考图像的子整数(sub-integer)像素位置的值。例如,视频编码器20可内插参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动矢量。
运动估计单元42通过比较PU的位置与参考图像的预测性块的位置而计算经帧间解码条带中的视频块的PU的运动矢量。可从第一参考图像列表(列表0)或第二参考图像列表(列表1)选择参考图像,列表中的每一者识别存储于参考图像存储器64中的一个或多个参考图像。运动估计单元42将经计算运动矢量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计所确定的运动矢量提取或产生预测性块,可能执行到子像素精确度的内插。在接收当前视频块的PU的运动矢量后,运动补偿单元44即可在参考图像列表中的一者中定位运动矢量所指向的预测性块。视频编码器20通过从正经解码的当前视频块的像素值减去预测性块的像素值来形成残差视频块,从而形成像素差值。像素差值形成块的残差数据,且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一个或多个组件。运动补偿单元44也可产生与视频块及视频条带相关联的语法元素以供视频解码器30用于解码视频条带的视频块。
如果PU位于B条带中,则含有PU的图像可与称作“列表0”和“列表1”的两个参考图像列表相关联。在一些可行的实施方式中,含有B条带的图像可与为列表0和列表1的组合的列表组合相关联。
此外,如果PU位于B条带中,则运动估计单元42可针对PU执行单向预测或双向预测,其中,在一些可行的实施方式中,双向预测为分别基于列表0和列表1的参考图像列表的图像进行的预测,在另一些可行的实施方式中,双向预测为分别基于当前帧在显示顺序上的已重建的未来帧和已重建的过去帧进行的预测。当运动估计单元42针对PU执行单向预测时,运动估计单元42可在列表0或列表1的参考图像中搜索用于PU的参考块。运动估计单元42可接着产生指示列表0或列表1中的含有参考块的参考图像的参考索引和指示PU与参考块之间的空间位移的运动矢量。运动估计单元42可输出参考索引、预测方向标识和运动矢量作为PU的运动信息。预测方向标识可指示参考索引指示列表0或列表1中的参考图像。运动补偿单元44可基于由PU的运动信息指示的参考块产生PU的预测性图像块。
当运动估计单元42针对PU执行双向预测时,运动估计单元42可在列表0中的参考图像中搜索用于PU的参考块且还可在列表1中的参考图像中搜索用于PU的另一参考块。运动估计单元42可接着产生指示列表0和列表1中的含有参考块的参考图像的参考索引和指示参考块与PU之间的空间位移的运动矢量。运动估计单元42可输出PU的参考索引和运动矢量作为PU的运动信息。运动补偿单元44可基于由PU的运动信息指示的参考块产生PU的预测性图像块。
在一些可行的实施方式中,运动估计单元42不向熵编码模块56输出用于PU的运动信息的完整集合。而是,运动估计单元42可参考另一PU的运动信息来用信号通知PU的运动信息。举例来说,运动估计单元42可确定PU的运动信息充分类似于相邻PU的运动信息。在此实施方式中,运动估计单元42可在与PU相关联的语法结构中指示一个指示值,所述指示值向视频解码器30指示PU具有与相邻PU相同的运动信息或具有可从相邻PU导出的运动信息。在另一实施方式中,运动估计单元42可在与PU相关联的语法结构中识别与相邻PU相关联的候选预测运动矢量和运动矢量差(MVD)。MVD指示PU的运动矢量和与相邻PU相关联的所指示候选预测运动矢量之间的差。视频解码器30可使用所指示候选预测运动矢量和MVD来确定PU的运动矢量。
如前文所描述,预测模块41可产生用于CU的每一PU的候选预测运动矢量列表。候选预测运动矢量列表中的一或多者可包括一或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一或多个额外候选预测运动矢量。
预测单元41内的帧内预测单元46可执行相对于在与待解码的当前块相同的图像或条带中的一个或多个相邻块的当前视频块的帧内预测性解码以提供空间压缩。因此,作为通过运动估计单元42及运动补偿单元44执行的帧间预测(如前文所描述)的替代,帧内预测单元46可帧内预测当前块。明确地说,帧内预测单元46可确定用以编码当前块的帧内预测模式。在一些可行的实施方式中,帧内预测单元46可(例如)在单独编码遍历期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些可行的实施方式中,模式选择单元40)可从经测试模式选择使用的适当帧内预测模式。
在预测单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残差视频块。残差块中的残差视频数据可包含于一个或多个TU中且应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换的变换(例如,离散正弦变换DST)将残差视频数据变换成残差变换系数。变换处理单元52可将残差视频数据从像素域转换到变换域(例如,频域)。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小码率。量化过程可减少与系数中的一些或全部相关联的比特深度。可通过调整量化参数来修改量化的程度。在一些可行的实施方式中,量化单元54可接着执行包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56可熵编码经量化变换系数。例如,熵编码单元56可执行上下文自适应性可变长度解码(CAVLC)、上下文自适应性二进制算术解码(CABAC)、基于语法的上下文自适应性二进制算术解码(SBAC)、概率区间分割熵(PIPE)解码或另一熵编码方法或技术。熵编码单元56也可熵编码正经解码的当前视频条带的运动矢量及其它语法元素。在通过熵编码单元56进行熵编码之后,可将经编码码流传输到视频解码器30或存档以供稍后传输或由视频解码器30检索。
熵编码单元56可编码根据本申请的技术指示选定帧内预测模式的信息。视频编码器20可在可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也称作码字映射表)的所传输码流配置数据中包含各种块的编码上下文的定义及用于上下文中的每一者的MPM、帧内预测模式索引表和经修改帧内预测模式索引表的指示。
反量化单元58及反变换单元60分别应用反量化及反变换,以在像素域中重构建残差块以供稍后用作参考图像的参考块。运动补偿单元44可通过将残差块与参考图像列表中的一者内的参考图像中的一者的预测性块相加来计算参考块。运动补偿单元44也可将一个或多个内插滤波器应用于经重构建残差块以计算子整数像素值以用于运动估计。求和器62将经重构建残差块与通过运动补偿单元44所产生的经运动补偿的预测块相加以产生参考块以供存储于参考图像存储器64中。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图像中的块。
在本申请实施例中,经反变换单元60处理,得到残差数据以后,可以根据当前待编码块周围已重建的空间邻域像素信息计算缩放因子,并使用缩放因子对得到的残差进行缩放处理,以得到用于后续重构参考块或者参考像素的残差数据。
图3为本申请实施例中视频解码器30的一种示意性框图。在图3的可行的实施方式中,视频解码器30包含熵编码单元80、预测单元81、反量化单元86、反变换单元88、求和器90和参考图像存储器92。预测单元81包含运动补偿单元82和帧内预测单元84。在一些可行的实施方式中,视频解码器30可执行与关于来自图4的视频编码器20描述的编码流程的示例性地互逆的解码流程。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频条带的视频块及相关联的语法元素的经编码视频码流。视频解码器30的熵编码单元80熵解码码流以产生经量化系数、运动矢量及其它语法元素。熵编码单元80将运动矢量及其它语法元素转递到预测单元81。视频解码器30可在视频条带层级和/或视频块层级处接收语法元素。
在视频条带经解码为经帧内解码(I)条带时,预测单元81的帧内预测单元84可基于用信号发送的帧内预测模式及来自当前帧或图像的先前经解码块的数据而产生当前视频条带的视频块的预测数据。
在视频图像经解码为经帧间解码(例如,B、P或GPB)条带时,预测单元81的运动补偿单元82基于从熵编码单元80所接收的运动矢量及其它语法元素而产生当前视频图像的视频块的预测性块。预测性块可从参考图像列表中的一者内的参考图像中的一者产生。视频解码器30可基于存储于参考图像存储器92中的参考图像使用默认构建技术来构建参考图像列表(列表0及列表1)。
运动补偿单元82通过解析运动矢量及其它语法元素来确定当前视频条带的视频块的预测信息,且使用预测信息来产生正经解码的当前视频块的预测性块。例如,运动补偿单元82使用所接收的语法元素中的一些来确定用以解码视频条带的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、条带的参考图像列表中的一者或多者的构建信息、条带的每一经帧间编码视频块的运动矢量、条带的每一经帧间解码视频块的帧间预测状态及用以解码当前视频条带中的视频块的其它信息。
运动补偿单元82也可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此应用中,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤波器且使用内插滤波器来产生预测性块。
如果PU是使用帧间预测而编码,则运动补偿单元82可产生用于PU的候选预测运动矢量列表。码流中可包括识别选定候选预测运动矢量在PU的候选预测运动矢量列表中的位置的数据。在产生用于PU的候选预测运动矢量列表之后,运动补偿单元82可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性图像块。PU的参考块可在与所述PU不同的时间图像中。运动补偿单元82可基于由PU的候选预测运动矢量列表中的选定的运动信息确定PU的运动信息。
反量化单元86对码流中所提供且通过熵编码单元80所解码的经量化变换系数进行反量化(例如,解量化)。反量化过程可包含使用通过视频编码器20针对视频条带中的每一视频块所计算的量化参数确定量化的程度,且同样地确定应应用的反量化的程度。反变换单元88将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数以便在像素域中产生残差块。和编码端对应的,在本申请实施例中,经反变换单元88处理,得到残差数据以后,可以根据当前待解码块周围已重建的空间邻域像素信息计算缩放因子,并使用缩放因子对得到的残差进行缩放处理,以得到用于后续重构待解码块的残差数据。
在运动补偿单元82基于运动矢量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过将来自反变换单元88的残差块与通过运动补偿单元82产生的对应预测性块求和来形成经解码视频块。求和器90表示执行此求和运算的一个或多个组件。在需要时,也可应用解块滤波器来对经解码块进行滤波以便去除块效应伪影。其它环路滤波器(在解码环路中或在解码环路之后)也可用以使像素转变平滑,或以其它方式改进视频质量。给定帧或图像中的经解码视频块接着存储于参考图像存储器92中,参考图像存储器92存储供后续运动补偿所使用的参考图像。参考图像存储器92也存储供稍后呈现于例如图1的显示装置32的显示装置上的经解码视频。
应理解,本申请的技术可通过本申请中所描述的视频解码器中的任一者进行,视频解码器包含(例如)如关于图1到3所展示及描述的视频编码器20及视频解码器30。即,在一种可行的实施方式中,关于图2所描述的反变换单元60可在视频数据的块的编码期间在执行反变换之后,反变换单元60或者其他新增功能性单元执行下文中所描述的特定技术。在另一可行的实施方式中,关于图3所描述的反变换单元88或者其他新增功能性单元可在视频数据的块的解码期间执行下文中所描述的特定技术。因此,对一般性“视频编码器”或“视频解码器”的引用可包含视频编码器20、视频解码器30或另一视频编码或编码单元。
图4示意性的给出了本申请实施例的一种残差获取方法的流程图。示例性的,该方法可以由视频解码器30所执行。视频解码方法描述为一系列的步骤或操作,应理解,该方法可以以各种顺序执行和/或同时发生,不限于图4所示的执行顺序。假设具有多个视频帧的视频数据流正在使用视频解码器,执行包括如下步骤来解码当前视频帧的当前待处理图像块。还应理解,在本申请实施例中,调节因子的获取和当前待处理块的预设空间邻域内的像素信息相关,而对于编码端和解码端来说,当前待处理块的预设空间邻域内的像素信息是相同的,因此调节因子是相同的,对残差数据的调整也是对应的。本领域技术人员可以理解一般情况下,编码是与解码对应的逆过程,因此本申请实施例所体现的技术方案也可以由视频编码器20在编码端执行,不再重复描述。
S401、解析码流,以获取待处理块的变换系数。
该步骤属于熵解码技术,具体的,按照预设的解析规则,将码流中以比特形式(二进制数值)表示的语法元素,解析为该语法元素对应的实际数值。涉及到变换系数的解析,具体的,将码流中表示变换系数的二进制表示,通过变换系数的解析规则,解析为变换系数的具体数值。应理解,所述待处理块的多个变换系数被依次解析出来。一般的,获取的所述待处理块的变换系数的个数与所述待处理块的像素点的个数相同,被解析出来的待处理块的变换系数会被按照预设的位置关系排列为变换系数块,这一过程通常被称为反扫描或扫描的过程。其中,预设的位置关系包括预设的变换系数的固定映射位置,也包括根据预设规则确定的变换系数的映射位置,比如根据帧内预测模式确定的变换系数的映射位置(也称为基于帧内预测模式的变换系数的扫描方式)。
典型的熵解码技术,包括前文所提到的CABAC,可以参考H.265标准(Rec.ITU-TH.265v4)中,第201页到第243页,第9.3节的介绍。JEM同样对CABAC技术进行了改进,具体的可以参见JVET-G1001-v1中,第41页到第43页,第2.6节的介绍,不再赘述。本申请实施例中对使用何种熵解码技术不做限定。
S402、将所述变换系数转换为所述待处理块的第一残差。
应理解,当待处理块的变换系数被排列成变换系数块时,对应的,所述将所述变换系数转换为所述待处理块的第一残差包括:将所述变换系数块转换为所述待处理块的第一残差块;对应的,所述基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差,包括:基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块。
一般的,该步骤可以分成两个子步骤:
S4021、对所述变换系数块中的每一个变换系数进行反量化,以获得反量化后的变换系数块。
在一种示例下,对量化后的变换系数A(i)进行反量化,以得到重建的变换系数R(i),可以描述为:
R(i)=sign{A(i)}·round{A(i)·Qs(i)+o2(i)}
其中量化步长Qs(i)可以为浮点数,o2(i)为舍入偏置。在一些可行的实施方式下,为了避免使用浮点数运算,采用整数加法和移位的方式来近似替代浮点数乘法,例如H.265/HEVC将上式表述的反量化过程近似为:
R(i)=sign{A(i)}·(A(i)·Qs'(i)+(1<<(bdshift-1)))>>bdshift
其中,bdshift为移位参数,Qs'(i)为整数,Qs'(i)/2bdshift近似于上式中的量化步长Qs(i),此时o2(i)=0.5,取整方式为向下取整。
在一种示例下,Qs'(i)由电平尺度(levelScale)l(i)和缩放因子(scalingfactor)m(i)共同决定,
Qs'(i)=m(i)·l(i)
而l(i)为量化参数(Quantization Parameter,QP)的函数,即有
Figure BDA0001671681490000171
其中,电平尺度表levelScale[k]={40,45,51,57,64,72},k=0,1,...,5;
Figure BDA0001671681490000172
表示对QP(i)除6取整,%为取余操作。
特别的,当一个变换块(transform block)的长和宽的乘积等于2的奇数次幂时,R(i)还可以通过如下公式获得:
R(i)=sign{A(i)}·(A(i)·Qs'(i)·a+(1<<(bdshift-1+s)))>>(bdshift+s)
其中,a和s为预设常数,且
Figure BDA0001671681490000173
例如a=181,s=8。
应理解,在本文中,符号<<表示左移位操作,符号>>表示右移位操作,不再赘述。
该步骤一般被称为反量化或者缩放(scaling),在H.265标准中采用标量量化的方式进行反量化,具体的可以参见JCTVC-M1002-v1(可以从http://phenix.int-evry.fr/jct/获取)中第20页,第3.5.5节的介绍,或者H.265标准中第173页到177页,第8.6节的介绍,不在赘述。同时,也应理解,还可以采用矢量量化的方式进行反量化。本申请实施例中对使用何种反量化技术不做限定。
S4022、对所述反量化后的变换系数块进行反变换,以获得所述待处理块的第一残差块。
该步骤一般被称为反变换,典型的反变换技术包括H.265中的反离散余弦变换(Inverse Discrete Cosine Transform,IDCT)或反离散正弦变换(Inverse DiscreteSine Transform,IDST),更具体的,如DCT-II型反变换或DST-VII型反变换,还可以为DCT-VIII型反变换或DST-I型反变换;又例如,由变换块的变换模式信息确定一种反变换,使用上述确定的反变换进行反变换处理,如JEM中的自适应多核心变换(Adaptive Multiplecore Transform,AMT)。反变换处理还可以包括先对部分反量化后的变换系数进行不可分离的第二重变换得到一组新的变换系数,如JEM中的NSST(Non-Separable SecondaryTransform)处理,再使用基于离散余弦变换或离散正弦变换的反变换对这组新的变换系数进行反变换。具体的,可以参见JCTVC-M1002-v1中第18页到第20页,第3.5节中关于变换技术的介绍。JEM同样对变换、反变换技术进行了改进,具体的可以参见JVET-G1001-v1中,第28页到第35页,第2.4节的介绍,不再赘述。本申请实施例中对使用何种反变换技术不做限定。
应理解,在一些可行的实施方式中,和编码端处理相对应的,在将所述变换系数转换为所述待处理块的第一残差的过程中,只存在反量化(此时,变换系数实际为量化后残差值)或只存在反变换,本申请实施例对此不做限定。
S403、基于所述待处理块的预设空间邻域内的像素值,计算所述待处理块的预设空间邻域内的像素信息。
应理解,该步骤只需要利用待处理块的预设空间邻域内的像素信息即可进行,不需要等待步骤S401和S402的完成,同理,步骤S401和S402也不需要等待步骤S403的完成,即没有时序上的先后关系。
具体的,该步骤可以分为两个子步骤:
S4031、获取所述预设空间邻域内的一个或多个像素集合。
首先介绍空间邻域的概念:当前待处理(待解码)图像块的空间邻域像素是指与当前待处理图像块在同一帧解码图像上的像素。结合图5所示,当前待处理图像块的空间邻域像素可以包括:图像块X(亦称为图像区域X)的空间邻域Y中至少一个像素的重建值,具体地,空间邻域像素可以包括M个像素,M为正整数,其中空间邻域Y的几种可选示例包括:
如图5(a)-5(d)所示,图像块X(由实线指示)对应于一个w×h编码单元(即编码单元的宽为w个像素,高为h个像素,在解码端也可称为解码单元,解码块等),空间邻域Y(由虚线指示)的构成方式例如以下4种之一:
1)方式一:X上方的w×n个像素、X左方的m×h个像素、X左上方的m×n个像素,如图5(a)所示,此时M=w×n+m×h+m×n。
2)方式二:X上方的w×n个像素、X左方的m×h个像素,如图5(b)所示。
3)方式三:X上方的w×n个像素、X左方的m×h个像素、X右方的m×h个像素,如图5(c)所示。
4)方式四:X上方的w×n个像素、X下方的w×n个像素、X左方的m×h个像素、X右方的m×h个像素,如图5(d)所示。
如图5(e)-5(f)所示,图像块X对应于一个wc×hc编码单元C(由点线指示)中的一个w×h区域,空间邻域Y的构成方式例如以下2种之一:
1)方式一:X所属编码单元C上方的wc×n个像素、C左方的m×hc个像素,如图5(e)所示。
2)方式二:X所属编码单元C上方的wc×n个像素、C左方的m×hc个像素、C右方的m×hc个像素,如图5(f)所示。
其中,m和n为预设常数,例如m=n=1,或m=n=2,或m=2、n=1,或m=1,n=2。m和n还可以与图像块X的大小有关,例如当图像块X的宽小于或等于第一阈值(例如8)时,n=2;当图像块X的宽大于第一阈值(例如8)时,n=1。空间邻域像素可以为空间邻域Y中的所有像素,也可以是从空间邻域Y中抽样的一部分像素,本发明对此不作限定。
在一些可行的实施方式中,在所述获取所述预设空间邻域内的一个或多个像素集合之前,还包括:确定所述一个或多个像素集合中的每个像素集合中的全部像素已完成重构。
具体的,检查空间邻域中像素是否已经重建,并获取空间邻域中已重建像素的亮度值。例如,对于图5(b)所示的空间邻域构成方式,分别检查图像区域X的左侧、上侧的像素是否已经重建,以获取这些区域中已经重建的像素的亮度值。又例如,对于图5(c)所示的空间邻域构成方式,分别检查图像区域X的左侧、上侧、右侧的像素是否已经重建,以获取这些区域中已经重建的像素的亮度值。又例如,对于图5(c)所示的空间邻域构成方式,分别检查图像区域X的左侧、上侧、右侧的像素是否已经重建,如果左侧和右侧的像素均已重建,但上侧的像素没有重建,则获取左右两侧的像素的亮度值;如果三侧像素均已重建,则获取左侧和上侧的像素的亮度值;如果左侧和上侧的像素均已重建,但右侧的像素没有重建,则获取左侧和上侧的像素的亮度值。
对于获取所述预设空间邻域内的一个或多个像素集合,可以将整个Y区域理解为预设空间邻域,X的左侧、上侧、右侧的像素分别构成一个像素集合,也可以将X的左侧、上侧、右侧各自作为一个预设空间领域。应理解,一个像素集合可以只包含一个像素,也可以包含预设空间邻域内的全部像素。
可选的,如果空间邻域Y中已重建像素的个数小于阈值,则调节因子可设置为预设常数,不需要执行S4032和S404。所述阈值例如为16,又例如为空间邻域Y包含像素数目的1/4。
S4032、计算所述一个或多个像素集合内像素的均值和/或离散度,以获得所述预设空间邻域内的像素信息。
在本发明实施例中,为了实现自适应地调节残差的效果,利用当前待处理块(即变换块)的空间邻域像素信息来模拟当前待处理块对应的原始像素信息。空间邻域像素信息的统计特性是指对空间邻域像素信息中多个像素的像素值经过统计分析得到的数值结果,空间邻域像素信息的统计特性至少可以包括像素均值Pavg和/或像素离散度Pcon。空间邻域像素信息的统计特性一定程度上反映了当前图像块所处背景区域的特征(例如背景亮度和背景对比度)。
其中,空间邻域像素信息中K1个像素的亮度值(即亮度分量)的均值Pavg,简称像素均值,即:
Figure BDA0001671681490000191
其中P(k)为空间邻域中一个像素的亮度值(即亮度分量),其中K1均为小于或等于M的正整数,例如K1=M/2或M,其中空间邻域像素包括M个像素。
空间邻域像素信息中K2个像素的亮度值与像素均值Pavg的平均绝对误差和(MeanAbsolute Difference,MAD),可以作为离散度Pcon的一种表示方式,即;
Figure BDA0001671681490000192
其中K1,K2均为小于等于M的正整数,K1可与K2相等,也可以K1>K2,例如K1=M/2或M,K2=M/4或M。
应理解,离散度还可以通过均方误差和,方差或标准差以及像素间的相关性等其它方式来表示,不做限定。同时,预设空间邻域内的像素信息也可以通过除均值和离散度以外的其它和空间邻域像素值有关的物理量来表示,不做限定。
S404、根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子。
应理解,步骤S403中所计算的像素信息的具体表征方式是和步骤S404保持一致的。示例性的,当仅采用像素均值来确定待处理块的调节因子时,在步骤S403中则仅需要计算像素均值,而不需要计算像素的离散度。
在一种可行的实施方式中,所述像素信息为所述均值,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:根据所述均值以及所述均值和所述调节因子的第一映射关系,确定所述调节因子,其中,所述第一映射关系满足如下一个或多个条件:当所述均值小于第一阈值时,所述调节因子随所述均值的增大而减小;当所述均值大于第二阈值时,所述调节因子随所述均值的增大而增大,其中,所述第一阈值小于或等于所述第二阈值;当所述均值大于或等于所述第一阈值,且小于或等于所述第二阈值时,所述调节因子为第一预设常数。
具体的,根据像素均值Pavg的第一分段函数f1(Pavg)计算所述调节因子;其中,所述像素均值Pavg由步骤S403获得。
调节因子QC由关于所述像素均值Pavg的第一分段函数f1(Pavg)决定,即QC=f1(Pavg)β,其中β>0,例如β=1或0.5。f1(Pavg)为关于Pavg的U形函数,f1(Pavg)满足当Pavg小于阈值T1时f1(Pavg)的一阶导数小于0,当Pavg大于阈值T2时f1(Pavg)的一阶导数大于0,Pavg在阈值T1和T2之间时f1(Pavg)等于常数C0;其中,T1≥0,T2≥0,T2≥T1,T1例如为0、60、64或128,T2例如为0、80、128或170;C0为正实数例如为0.5、0.75、1、1.5、8、16、256或1024。更具体的,f1(Pavg)函数例如
Figure BDA0001671681490000201
其中η1为正实数,例如η1=150或200.8;η2为正实数,例如η2=425或485.5。f1(Pavg)函数又例如
Figure BDA0001671681490000202
其中η3为正实数,例如η3=425或256或135.1。
应理解,所述第一映射关系可以为如上文所述以所述均值为自变量,所述调节因子为因变量的第一分段函数f1(Pavg),也可以为所述均值和所述调节因子的预设的对应关系,具体的,可以将所述均值和所述调节因子的预设的对应关系固化与编解码两端,当所述均值获得时,可以通过查表的方法,确定对应的所述调节因子。查表的方法降低了计算复杂度,更有利于硬件的实现。而通过计算获得所述调节因子的方法能得到更加精确的结果,并且不需要存储上述对应关系表。
在一种可行的实施方式中,所述像素信息为所述离散度,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:根据所述离散度以及所述离散度和所述调节因子的第二映射关系,确定所述调节因子,其中,所述第二映射关系满足如下一个或多个条件:当所述离散度大于第三阈值时,所述调节因子随所述离散度的增大而增大;当所述离散度小于或等于所述第三阈值时,所述调节因子为第二预设常数。
具体的,根据离散度Pcon的第二分段函数f2(Pcon)计算所述调节因子;其中,所述离散度Pcon由步骤S403获得。
调节因子QC由关于所述离散度Pcon的第二分段函数f2(Pcon)决定,即QC=f2(Pcon)γ,其中γ>0,例如γ=1或者0.8。f2(Pcon)为关于Pcon的单调函数,f2(Pcon)满足当(Pcon)α小于阈值T3时,f2(Pcon)为常数C3,当(Pcon)α大于等于阈值T3时,f2(Pcon)的一阶导数大于0。其中,T3≥0,T3例如为0、3、5或10;α>0,例如α=1/2或1;C3为正实数,例如0.5、0.8、1、16、32或256。更具体的,f2(Pcon)函数例如
Figure BDA0001671681490000211
其中η4为正实数,例如η4=10、20、35.5、80或100。
应理解,所述第二映射关系可以为如上文所述以所述离散度为自变量,所述调节因子为因变量的第二分段函数f2(Pcon),也可以为所述离散度和所述调节因子的预设的对应关系,具体的,可以将所述离散度和所述调节因子的预设的对应关系固化与编解码两端,当所述离散度获得时,可以通过查表的方法,确定对应的所述调节因子。
在一种可行的实施方式中,所述像素信息为所述均值和所述离散度,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:根据所述均值和所述第一映射关系确定第一参数;根据所述离散度和所述第二映射关系确定第二参数;将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子。
具体的,调节因子QC由关于所述像素均值Pavg的第一分段函数f1(Pavg)和关于所述离散度Pcon的第二分段函数f2(Pcon)联合决定,例如QC=f1(Pavg)β·f2(Pcon)γ,其中β,γ>0,例如β=1,γ=1,或者β=0.5,γ=1.5,或者β=2,γ=1;或者,例如QC=f1(Pavg)·k1+f2(Pcon)·k2,其中k1和k2为正实数,例如k1=k2=0.5,或者k1=0.25,k2=0.75,或者k1=0.2,k2=0.7。
需要说明的是,上述参数T1、T2、T3、C0、C3、C4、η1、η2、η3、η4可以为预先设定的常数,也可以根据视频图像的统计特性自适应计算得到,也可以从视频码流中提取得到。
在一种可行的实施方式中,在所述将所述第一参数和所述第二参数的乘积作为所述调节因子之后,还包括:将所述调节因子进行加权调整,以获得调整后的调节因子;对应的,所述确定所述待处理块的调节,包括:将所述调整后的调节因子作为所述待处理块的调节因子。
具体的,调节因子QC由关于所述像素均值Pavg的第一分段函数f1(Pavg)和关于所述离散度Pcon的第二分段函数f2(Pcon)以及加权系数s联合决定,例如
QC=(f1(Pavg)β·f2(Pvar)γ·s+offset)>>shift,其中offset和shift为预设常数,如offset=1<<(shift-1),shift=8或12或16。所述加权系数s可以通过解析序列参数集(Sequence Parameter Set,SPS)得到,或者也可以通过解析条带头(slice header)得到。
在一种可行的实施方式中,在所述确定所述待处理块的调节因子之后,还包括:根据所述待处理块的量化参数,对所述调节因子进行更新;对应的,所述基于所述调节因子调整所述第一残差,以得到所述待处理块的第二残差,包括:基于所述更新后的调节因子调整所述第一残差,以得到所述待处理块的第二残差。
具体的,所述调节因子通过如下方式进行调节:
Figure BDA0001671681490000221
其中,QC表示所述调节因子,QP表示所述量化参数,N,M,X为预设常数,例如N=256或128、M=30或32、X=32或24。
S405、基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差。
应理解,一般的,视频图像包括亮度分量(Y)和色度分量(Cb、Cr,或者U、V)。对应的,待处理块包括待处理块的亮度分量和色度分量,第一残差块包括第一亮度残差块和第一色度残差块,第二残差块包括第二亮度残差块和第二色度残差块,其中,在一些实施例中,色度残差块又可以分为Cb分量的残差块和Cr分量的残差块,或者分为U分量的残差块和V分量的残差块。
在一种可行的实施方式中,该步骤包括:仅基于所述调节因子调整所述第一亮度残差,以获得所述待处理块的第二亮度残差。在此情况下,不对色度残差做调整,即对于待处理块的色度分量,第二残差即为第一残差。
在另一种可行的实施方式中,该步骤包括:仅基于所述调节因子调整所述第一色度残差,以获得所述待处理块的第二色度残差。在此情况下,不对亮度残差做调整,即对于待处理块的亮度分量,第二残差即为第一残差。
在另一种可行的实施方式中,该步骤包括:基于所述调节因子调整所述第一亮度残差,以获得所述待处理块的第二亮度残差,同时,基于所述调节因子调整所述第一色度残差,以获得所述待处理块的第二色度残差。应理解,调整亮度残差的调节因子和调整色度残差的调节因子可以相同,也可以不同。调整色度残差的调节因子可以通过计算所述待处理块的预设空间邻域的亮度像素信息获得,也可以通过类似的方法通过计算所述待处理块的预设空间邻域的色度像素信息获得,或者综合考虑所述待处理块的预设空间邻域的亮度和色度像素信息获得,不做限定。
下面对亮度残差和色度残差的情况分别进行描述:
所述第一残差块包括所述待处理块的亮度分量的第一亮度残差块,所述第一亮度残差块中的亮度残差像素与所述待处理块的亮度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的亮度分量的第二亮度残差块,所述基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块,包括:基于所述调节因子调整所述第一亮度残差块中的亮度残差像素,以获得所述待处理块的第二亮度残差块中的亮度残差像素。其中,所述第二亮度残差块中的亮度残差像素通过如下方式获得:
Res2_Y(i)=(Res1_Y(i)×QC+offset_Y)>>shift_Y
其中,QC表示所述调节因子,Res1_Y(i)表示所述第一亮度残差块中的第i个亮度残差像素,Res2_Y(i)表示所述第二亮度残差块中的第i个亮度残差像素,offset_Y和shift_Y为预设常数,i为自然数。示例性的,shift=8或10或12,offset=1<<(shift-1)。
所述第一残差块包括所述待处理块的色度分量的第一色度残差块,所述第一色度残差块中的色度残差像素与所述待处理块的色度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的色度分量的第二色度残差块,所述基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块,包括:基于所述调节因子调整所述第一色度残差块中的色度残差像素,以获得所述待处理块的第二色度残差块中的色度残差像素。其中,所述第二色度残差块中的色度残差像素通过如下方式获得:
Res2_C(i)=(Res1_C(i)×QC+offset_C)>>shift_C
其中,QC表示所述调节因子,Res1_C(i)表示所述第一色度残差块中的第i个色度残差像素,Res2_C(i)表示所述第二色度残差块中的第i个色度残差像素,offset_C和shift_C为预设常数,i为自然数。示例性的,shift=8或10或12,offset=1<<(shift-1)。
应理解,在本步骤中,第一残差经过了缩放处理,得到了第二残差。为了提高处理过程中的运算精度,第一残差作为中间处理结果,可以采用较高精度的比特位宽(也称为比特深度,bitdepth)的数值形式,以及采用较高精度的比特位宽存储第一残差的数值,例如待处理块的像素的比特位宽为D位时,第一残差可保存为D+E位,示例性的,D可以为8、10或12,E可以为1、2、3或4。一般的,第二残差的比特位宽被处理为和待处理块的像素的比特位宽相同。在本步骤中,当获取第二残差时,会将比特位宽的精度降低,结合本段中的例子,即上述右移shift_Y或shift_C中,示例性的,包含右移E位的操作。所述第一残差块中的残差像素的比特位宽精度高于所述第二残差块中的残差像素的比特位宽精度。对于亮度和色度分量,则可以分别描述为:所述第一亮度残差块中的亮度残差像素的比特位宽精度高于所述第二亮度残差块中的亮度残差像素的比特位宽精度,以及所述第一色度残差块中的色度残差像素的比特位宽精度高于所述第二色度残差块中的色度残差像素的比特位宽精度。显然,当不对色度分量进行调节时,一般的,不采用较高精度的比特位宽存储第一色度残差的数值,也不存在获取第二色度残差时降低比特位宽的步骤。
S406、将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加,以获得所述待处理块中所述对应位置的重构像素。
预测像素一般通过帧内预测技术或者帧间预测技术产生。典型的帧内预测技术和帧间预测技术,可以参考H.265标准(Rec.ITU-T H.265v4)中,第125页到第172页,第8.4节帧内预测以及第8.5节帧间预测的介绍。JEM同样对帧内预测和帧间预测技术进行了大量改进,具体的可以参见JVET-G1001-v1中,第6页到第28页,第2.2节帧内预测技术的改进以及第2.3节帧间预测技术的改进的介绍,不再赘述。本申请实施例中对使用何种预测技术不做限定。
另外,在一些可行的实施方式中,在将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加之后,还会将相加值限制在一个区间之内,比如限制在待处理块的像素的可允许的取值范围之内,对应的,将限值后的相加值作为所述待处理块中所述对应位置的重构像素。
在一些可行的实施方式中,在获得所述待处理块中所述对应位置的重构像素之后,还可以包括对重构像素进行滤波处理,比如JEM中提出的双边滤波处理。在一些可行的实施方式中,待处理块是否需要进行滤波处理通过解码获得的语法元素来确定。
本发明对应的编码处理例如:对一个待编码块,按照空间邻域像素计算得到的调节因子,使用调节因子的倒数对这个编码块的预测残差进行缩放,将缩放后的预测残差进行变换和量化,得到量化后的变换系数,量化后的变换系数被熵编码单元编码成码流。应理解,如前文所述,一般的,编码和解码是可逆的过程,因此当解码端使用调节因子进行残差处理时,对应的,编码端使用调节因子的倒数进行残差处理。
本发明对应的另一种编码处理,对一个待编码块,按照空间邻域像素计算得到的调节因子,使用调节因子对这个编码块的量化步长进行缩放,对预测残差进行变换,并使用缩放后的量化步长对变换系数进行量化,得到量化后的变换系数,量化后的变换系数被熵编码单元编码成码流。
本申请实施例所提供的方案,在解码端利用当前待处理块(即待解码块、变换块)的空间邻域像素信息模拟当前待处理块对应的原始像素信息。根据空间邻域像素信息,自适应地推导用于当前待处理块(即变换块)的调节因子,其反映了当前块背景区域产生的视觉掩蔽效应的强度,并基于自适应推导的调节因子来调节当前待处理块对应的残差块,实现了在视频编码或解码过程中,降低了视觉掩蔽效应较强的处理块的残差比特,提高了视觉掩蔽效应较弱的处理块的残差比特,使得实际残差的编码更符合人眼视觉感知,从而提高了编解码性能。
同时,本申请实施例在流水设计方面也体现了显著的有益效果。
首先对流水设计或流水线(pipeline)设计做一个简单介绍。流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。一般的,每一个小操作被称为一个流水级。
在一种典型的硬件解码器的流水设计中,步骤S402和步骤S406分属于不同的流水级,示例性的,可以称为“反量化反变换流水级”和“重建流水级”。这两个流水级中间设有缓存。“反量化反变换流水级”不依赖于“重建流水级”产生的数据。
在本申请实施例中,由于对残差块的调节处理可以放到重建流水级中完成,如图6所示,没有破环原有的流水线设计,并且由于调节因子的计算以及对残差的缩放处理复杂度都比较低,不会显著增加重建流水级的复杂度,提高了解码器模块间的并行度,有利于高性能解码器的实现。
图7示意性的给出了本申请实施例的一种残差获取装置的框图,包括:
一种视频解码中残差的获取装置700,包括:解析模块701,用于解析码流,以获取待处理块的变换系数;转换模块702,用于将所述变换系数转换为所述待处理块的第一残差;计算模块703,用于根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子;调节模块704,用于基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差。
在一种可行的实施方式中,所述计算模块703还用于:基于所述待处理块的预设空间邻域内的像素值,计算所述待处理块的预设空间邻域内的像素信息。
在一种可行的实施方式中,所述计算模块703具体用于:获取所述预设空间邻域内的一个或多个像素集合;计算所述一个或多个像素集合内像素的均值和/或离散度,以获得所述预设空间邻域内的像素信息。
在一种可行的实施方式中,所述离散度包括:均方误差和,平均绝对误差和,方差或标准差。
在一种可行的实施方式中,所述计算模块703还用于:确定所述一个或多个像素集合中的每个像素集合中的全部像素已完成重构。
在一种可行的实施方式中,所述像素信息为所述均值,所述计算模块703具体用于:根据所述均值以及所述均值和所述调节因子的第一映射关系,确定所述调节因子,其中,所述第一映射关系满足如下一个或多个条件:当所述均值小于第一阈值时,所述调节因子随所述均值的增大而减小;当所述均值大于第二阈值时,所述调节因子随所述均值的增大而增大,其中,所述第一阈值小于或等于所述第二阈值;当所述均值大于或等于所述第一阈值,且小于或等于所述第二阈值时,所述调节因子为第一预设常数。
在一种可行的实施方式中,所述计算模块703具体用于:根据所述离散度以及所述离散度和所述调节因子的第二映射关系,确定所述调节因子,其中,所述第二映射关系满足如下一个或多个条件:当所述离散度大于第三阈值时,所述调节因子随所述离散度的增大而增大;当所述离散度小于或等于所述第三阈值时,所述调节因子为第二预设常数。
在一种可行的实施方式中,所述像素信息为所述均值和所述离散度,所述计算模块703具体用于:根据所述均值和所述第一映射关系确定第一参数;根据所述离散度和所述第二映射关系确定第二参数;将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子。
在一种可行的实施方式中,所述计算模块703还用于:将所述调节因子进行加权调整,以获得调整后的调节因子;将所述调整后的调节因子作为所述待处理块的调节因子。
在一种可行的实施方式中,所述计算模块703还用于:根据所述待处理块的量化参数,对所述调节因子进行更新;对应的,所述调节模块704具体用于:基于所述更新后的调节因子调整所述第一残差,以得到所述待处理块的第二残差。
在一种可行的实施方式中,所述调节因子通过如下方式进行调节:
Figure BDA0001671681490000251
其中,QC表示所述调节因子,QP表示所述量化参数,N,M,X为预设常数。
在一种可行的实施方式中,获取的所述待处理块的变换系数的个数与所述待处理块的像素点的个数相同,所述转换模块702还用于:将所述待处理块的变换系数按照预设位置关系排列为变换系数块;将所述变换系数块转换为所述待处理块的第一残差块;对应的,所述调节模块704具体用于:基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块。
在一种可行的实施方式中,所述第一残差块包括所述待处理块的亮度分量的第一亮度残差块,所述第一亮度残差块中的亮度残差像素与所述待处理块的亮度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的亮度分量的第二亮度残差块,所述调节模块704具体用于:基于所述调节因子调整所述第一亮度残差块中的亮度残差像素,以获得所述待处理块的第二亮度残差块中的亮度残差像素。
在一种可行的实施方式中,所述第二亮度残差块中的亮度残差像素通过如下方式获得:
Res2_Y(i)=(Res1_Y(i)×QC+offset_Y)>>shift_Y
其中,QC表示所述调节因子,Res1_Y(i)表示所述第一亮度残差块中的第i个亮度残差像素,Res2_Y(i)表示所述第二亮度残差块中的第i个亮度残差像素,offset_Y和shift_Y为预设常数,i为自然数。
在一种可行的实施方式中,所述第一残差块包括所述待处理块的色度分量的第一色度残差块,所述第一色度残差块中的色度残差像素与所述待处理块的色度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的色度分量的第二色度残差块,所述调节模块704具体用于:基于所述调节因子调整所述第一色度残差块中的色度残差像素,以获得所述待处理块的第二色度残差块中的色度残差像素。
在一种可行的实施方式中,所述第二色度残差块中的色度残差像素通过如下方式获得:
Res2_C(i)=(Res1_C(i)×QC+offset_C)>>shift_C
其中,QC表示所述调节因子,Res1_C(i)表示所述第一色度残差块中的第i个色度残差像素,Res2_C(i)表示所述第二色度残差块中的第i个色度残差像素,offset_C和shift_C为预设常数,i为自然数。
在一种可行的实施方式中,所述第一亮度残差块中的亮度残差像素的比特位宽精度高于所述第二亮度残差块中的亮度残差像素的比特位宽精度。
在一种可行的实施方式中,所述第一色度残差块中的色度残差像素的比特位宽精度高于所述第二色度残差块中的色度残差像素的比特位宽精度。
在一种可行的实施方式中,所述转换模块702具体用于:对所述变换系数块中的每一个变换系数进行反量化,以获得反量化后的变换系数块;对所述反量化后的变换系数块进行反变换,以获得所述待处理块的第一残差块。
在一种可行的实施方式中,所述装置700还包括:重构单元705,用于将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加,以获得所述待处理块中所述对应位置的重构像素。
本申请实施例所提供的方案,在解码端利用当前待处理块(即待解码块、变换块)的空间邻域像素信息模拟当前待处理块对应的原始像素信息。根据空间邻域像素信息,自适应地推导用于当前待处理块(即变换块)的调节因子,其反映了当前块背景区域产生的视觉掩蔽效应的强度,并基于自适应推导的调节因子来调节当前待处理块对应的残差块,实现了在视频编码或解码过程中,降低了视觉掩蔽效应较强的处理块的残差比特,提高了视觉掩蔽效应较弱的处理块的残差比特,使得实际残差的编码更符合人眼视觉感知,从而提高了编解码性能。
同时,在本申请实施例中,由于对残差块的调节处理可以放到重建流水级中完成,没有破环原有的流水线设计,并且由于调节因子的计算以及对残差的缩放处理复杂度都比较低,不会显著增加重建流水级的复杂度,提高了解码器模块间的并行度,有利于高性能解码器的实现。
图8为本申请实施例的视频解码设备的一种示意性框图,该设备800可以是应用于编码侧,也可以是应用于解码侧。设备800包括处理器801、存储器802,所述处理器801、存储器802相连接(如通过总线804相互连接),在可能的实施方式中,设备800还可包括收发器803,收发器803连接处理器801和存储器802,用于接收/发送数据。
存储器802包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器802用于存储相关程序代码及视频数据。
处理器801可以是一个或多个中央处理器(central processing unit,CPU),在处理器801是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。该处理器801用于读取所存储器802中存储的程序代码,执行图4所对应的实施方案及其各种可行的实施方式的操作。
示例性的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行图4所对应的实施方案及其各种可行的实施方式的操作。
示例性的,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图4所对应的实施方案及其各种可行的实施方式的操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (32)

1.一种视频解码中残差的获取方法,其特征在于,包括:
解析码流,以获取待处理块的变换系数;
将所述变换系数转换为所述待处理块的第一残差;
获取所述待处理块的预设空间邻域内的一个或多个像素集合;
计算所述一个或多个像素集合内像素的均值和/或离散度,以获得所述待处理块的预设空间邻域内的像素信息;
根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子;
基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差;
当所述像素信息包括所述均值时,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:根据所述均值以及所述均值和所述调节因子的第一映射关系,确定所述调节因子,其中,所述第一映射关系满足如下一个或多个条件:当所述均值小于第一阈值时,所述调节因子随所述均值的增大而减小;当所述均值大于第二阈值时,所述调节因子随所述均值的增大而增大,其中,所述第一阈值小于或等于所述第二阈值;当所述均值大于或等于所述第一阈值,且小于或等于所述第二阈值时,所述调节因子为第一预设常数;
当所述像素信息包括所述离散度时,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:根据所述离散度以及所述离散度和所述调节因子的第二映射关系,确定所述调节因子,其中,所述第二映射关系满足如下一个或多个条件:当所述离散度大于第三阈值时,所述调节因子随所述离散度的增大而增大;当所述离散度小于或等于所述第三阈值时,所述调节因子为第二预设常数。
2.根据权利要求1所述的方法,其特征在于,所述离散度包括:均方误差和,平均绝对误差和,方差或标准差。
3.根据权利要求1所述的方法,其特征在于,在所述获取所述预设空间邻域内的一个或多个像素集合之前,还包括:
确定所述一个或多个像素集合中的每个像素集合中的全部像素已完成重构。
4.根据权利要求1所述的方法,其特征在于,所述像素信息为所述均值和所述离散度,所述根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子,包括:
根据所述均值和所述第一映射关系确定第一参数;
根据所述离散度和所述第二映射关系确定第二参数;
将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子。
5.根据权利要求4所述的方法,其特征在于,在所述将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子之后,还包括:
将所述调节因子进行加权调整,以获得调整后的调节因子;
对应的,所述确定所述待处理块的调节因子,包括:
将所述调整后的调节因子作为所述待处理块的调节因子。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述确定所述待处理块的调节因子之后,还包括:
根据所述待处理块的量化参数,对所述调节因子进行更新;
对应的,所述基于所述调节因子调整所述第一残差,以得到所述待处理块的第二残差,包括:
基于所述更新后的调节因子调整所述第一残差,以得到所述待处理块的第二残差。
7.根据权利要求6所述的方法,其特征在于,所述调节因子通过如下方式进行调节:
Figure FDA0003194589150000021
其中,QC表示所述调节因子,QP表示所述量化参数,N,M,X为预设常数。
8.根据权利要求1至5任一项所述的方法,其特征在于,获取的所述待处理块的变换系数的个数与所述待处理块的像素点的个数相同,在所述获取待处理块的变换系数之后,还包括:将所述待处理块的变换系数按照预设位置关系排列为变换系数块;
对应的,所述将所述变换系数转换为所述待处理块的第一残差包括:将所述变换系数块转换为所述待处理块的第一残差块;
对应的,所述基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差,包括:基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块。
9.根据权利要求8所述的方法,其特征在于,所述第一残差块包括所述待处理块的亮度分量的第一亮度残差块,所述第一亮度残差块中的亮度残差像素与所述待处理块的亮度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的亮度分量的第二亮度残差块,所述基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块,包括:
基于所述调节因子调整所述第一亮度残差块中的亮度残差像素,以获得所述待处理块的第二亮度残差块中的亮度残差像素。
10.根据权利要求9所述的方法,其特征在于,所述第二亮度残差块中的亮度残差像素通过如下方式获得:
Res2_Y(i)=(Res1_Y(i)×QC+offset_Y)>>shift_Y
其中,QC表示所述调节因子,Res1_Y(i)表示所述第一亮度残差块中的第i个亮度残差像素,Res2_Y(i)表示所述第二亮度残差块中的第i个亮度残差像素,offset_Y和shift_Y为预设常数,i为自然数。
11.根据权利要求8所述的方法,其特征在于,所述第一残差块包括所述待处理块的色度分量的第一色度残差块,所述第一色度残差块中的色度残差像素与所述待处理块的色度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的色度分量的第二色度残差块,所述基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块,包括:
基于所述调节因子调整所述第一色度残差块中的色度残差像素,以获得所述待处理块的第二色度残差块中的色度残差像素。
12.根据权利要求11所述的方法,其特征在于,所述第二色度残差块中的色度残差像素通过如下方式获得:
Res2_C(i)=(Res1_C(i)×QC+offset_C)>>shift_C
其中,QC表示所述调节因子,Res1_C(i)表示所述第一色度残差块中的第i个色度残差像素,Res2_C(i)表示所述第二色度残差块中的第i个色度残差像素,offset_C和shift_C为预设常数,i为自然数。
13.根据权利要求9所述的方法,其特征在于,所述第一亮度残差块中的亮度残差像素的比特位宽精度高于所述第二亮度残差块中的亮度残差像素的比特位宽精度。
14.根据权利要求11所述的方法,其特征在于,所述第一色度残差块中的色度残差像素的比特位宽精度高于所述第二色度残差块中的色度残差像素的比特位宽精度。
15.根据权利要求8所述的方法,其特征在于,所述将所述变换系数块转换为所述待处理块的第一残差块,包括:
对所述变换系数块中的每一个变换系数进行反量化,以获得反量化后的变换系数块;
对所述反量化后的变换系数块进行反变换,以获得所述待处理块的第一残差块。
16.根据权利要求1至5任一项所述的方法,其特征在于,在所述基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差之后,还包括:
将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加,以获得所述待处理块中所述对应位置的重构像素。
17.一种视频解码中残差的获取装置,其特征在于,包括:
解析模块,用于解析码流,以获取待处理块的变换系数;
转换模块,用于将所述变换系数转换为所述待处理块的第一残差;
计算模块,用于获取所述待处理块的预设空间邻域内的一个或多个像素集合;计算所述一个或多个像素集合内像素的均值和/或离散度,以获得所述待处理块的预设空间邻域内的像素信息;根据所述待处理块的预设空间邻域内的像素信息,确定所述待处理块的调节因子;调节模块,用于基于所述调节因子调整所述第一残差,以获得所述待处理块的第二残差;当所述像素信息包括所述均值时,所述计算模块具体用于:根据所述均值以及所述均值和所述调节因子的第一映射关系,确定所述调节因子,其中,所述第一映射关系满足如下一个或多个条件:当所述均值小于第一阈值时,所述调节因子随所述均值的增大而减小;当所述均值大于第二阈值时,所述调节因子随所述均值的增大而增大,其中,所述第一阈值小于或等于所述第二阈值;当所述均值大于或等于所述第一阈值,且小于或等于所述第二阈值时,所述调节因子为第一预设常数;
当所述像素信息包括所述离散度时,所述计算模块具体用于:根据所述离散度以及所述离散度和所述调节因子的第二映射关系,确定所述调节因子,其中,所述第二映射关系满足如下一个或多个条件:当所述离散度大于第三阈值时,所述调节因子随所述离散度的增大而增大;当所述离散度小于或等于所述第三阈值时,所述调节因子为第二预设常数。
18.根据权利要求17所述的装置,其特征在于,所述离散度包括:均方误差和,平均绝对误差和,方差或标准差。
19.根据权利要求17所述的装置,其特征在于,所述计算模块还用于:
确定所述一个或多个像素集合中的每个像素集合中的全部像素已完成重构。
20.根据权利要求17所述的装置,其特征在于,所述像素信息为所述均值和所述离散度,所述计算模块具体用于:
根据所述均值和所述第一映射关系确定第一参数;
根据所述离散度和所述第二映射关系确定第二参数;
将所述第一参数和所述第二参数的乘积或加权和作为所述调节因子。
21.根据权利要求20所述的装置,其特征在于,所述计算模块还用于:
将所述调节因子进行加权调整,以获得调整后的调节因子;
将所述调整后的调节因子作为所述待处理块的调节因子。
22.根据权利要求17至21任一项所述的装置,其特征在于,所述计算模块还用于:
根据所述待处理块的量化参数,对所述调节因子进行更新;
对应的,所述调节模块具体用于:
基于所述更新后的调节因子调整所述第一残差,以得到所述待处理块的第二残差。
23.根据权利要求22所述的装置,其特征在于,所述调节因子通过如下方式进行调节:
Figure FDA0003194589150000041
其中,QC表示所述调节因子,QP表示所述量化参数,N,M,X为预设常数。
24.根据权利要求17至21任一项所述的装置,其特征在于,获取的所述待处理块的变换系数的个数与所述待处理块的像素点的个数相同,所述转换模块还用于:将所述待处理块的变换系数按照预设位置关系排列为变换系数块;
将所述变换系数块转换为所述待处理块的第一残差块;
对应的,所述调节模块具体用于:基于所述调节因子调整所述第一残差块,以获得所述待处理块的第二残差块。
25.根据权利要求24所述的装置,其特征在于,所述第一残差块包括所述待处理块的亮度分量的第一亮度残差块,所述第一亮度残差块中的亮度残差像素与所述待处理块的亮度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的亮度分量的第二亮度残差块,所述调节模块具体用于:
基于所述调节因子调整所述第一亮度残差块中的亮度残差像素,以获得所述待处理块的第二亮度残差块中的亮度残差像素。
26.根据权利要求25所述的装置,其特征在于,所述第二亮度残差块中的亮度残差像素通过如下方式获得:
Res2_Y(i)=(Res1_Y(i)×QC+offset_Y)>>shift_Y
其中,QC表示所述调节因子,Res1_Y(i)表示所述第一亮度残差块中的第i个亮度残差像素,Res2_Y(i)表示所述第二亮度残差块中的第i个亮度残差像素,offset_Y和shift_Y为预设常数,i为自然数。
27.根据权利要求24所述的装置,其特征在于,所述第一残差块包括所述待处理块的色度分量的第一色度残差块,所述第一色度残差块中的色度残差像素与所述待处理块的色度分量的像素一一对应,对应的,所述第二残差块包括所述待处理块的色度分量的第二色度残差块,所述调节模块具体用于:
基于所述调节因子调整所述第一色度残差块中的色度残差像素,以获得所述待处理块的第二色度残差块中的色度残差像素。
28.根据权利要求27所述的装置,其特征在于,所述第二色度残差块中的色度残差像素通过如下方式获得:
Res2_C(i)=(Res1_C(i)×QC+offset_C)>>shift_C
其中,QC表示所述调节因子,Res1_C(i)表示所述第一色度残差块中的第i个色度残差像素,Res2_C(i)表示所述第二色度残差块中的第i个色度残差像素,offset_C和shift_C为预设常数,i为自然数。
29.根据权利要求25所述的装置,其特征在于,所述第一亮度残差块中的亮度残差像素的比特位宽精度高于所述第二亮度残差块中的亮度残差像素的比特位宽精度。
30.根据权利要求27所述的装置,其特征在于,所述第一色度残差块中的色度残差像素的比特位宽精度高于所述第二色度残差块中的色度残差像素的比特位宽精度。
31.根据权利要求24所述的装置,其特征在于,所述转换模块具体用于:
对所述变换系数块中的每一个变换系数进行反量化,以获得反量化后的变换系数块;
对所述反量化后的变换系数块进行反变换,以获得所述待处理块的第一残差块。
32.根据权利要求17至21任一项所述的装置,其特征在于,还包括:
重构单元,用于将所述第二残差中的残差像素和所述待处理块中对应位置的预测像素相加,以获得所述待处理块中所述对应位置的重构像素。
CN201810508090.3A 2018-05-24 2018-05-24 视频数据解码方法及装置 Active CN110536133B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810508090.3A CN110536133B (zh) 2018-05-24 2018-05-24 视频数据解码方法及装置
PCT/CN2019/083848 WO2019223480A1 (zh) 2018-05-24 2019-04-23 视频数据解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810508090.3A CN110536133B (zh) 2018-05-24 2018-05-24 视频数据解码方法及装置

Publications (2)

Publication Number Publication Date
CN110536133A CN110536133A (zh) 2019-12-03
CN110536133B true CN110536133B (zh) 2021-11-19

Family

ID=68616560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810508090.3A Active CN110536133B (zh) 2018-05-24 2018-05-24 视频数据解码方法及装置

Country Status (2)

Country Link
CN (1) CN110536133B (zh)
WO (1) WO2019223480A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738701B (zh) * 2021-01-07 2022-02-25 湖南芯海聆半导体有限公司 助听器芯片用全数字pwm音频输出方法及助听器芯片
CN113992915B (zh) * 2021-12-28 2022-05-17 康达洲际医疗器械有限公司 一种可适用于vvc帧内预测的编码单元划分方法与系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547272A (zh) * 2010-12-30 2012-07-04 中国移动通信集团公司 一种解码方法、装置及终端
CN105338352A (zh) * 2014-07-24 2016-02-17 华为技术有限公司 一种视频编码中自适应反量化方法及装置
WO2017138352A1 (en) * 2016-02-08 2017-08-17 Sharp Kabushiki Kaisha Systems and methods for transform coefficient coding
CN107211133A (zh) * 2015-11-06 2017-09-26 华为技术有限公司 反量化变换系数的方法、装置及解码设备
CN107205153A (zh) * 2017-04-13 2017-09-26 深圳市安健科技股份有限公司 视频编码方法及其系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160277767A1 (en) * 2015-03-16 2016-09-22 Thomson Licensing Methods, systems and apparatus for determining prediction adjustment factors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547272A (zh) * 2010-12-30 2012-07-04 中国移动通信集团公司 一种解码方法、装置及终端
CN105338352A (zh) * 2014-07-24 2016-02-17 华为技术有限公司 一种视频编码中自适应反量化方法及装置
CN107211133A (zh) * 2015-11-06 2017-09-26 华为技术有限公司 反量化变换系数的方法、装置及解码设备
WO2017138352A1 (en) * 2016-02-08 2017-08-17 Sharp Kabushiki Kaisha Systems and methods for transform coefficient coding
CN107205153A (zh) * 2017-04-13 2017-09-26 深圳市安健科技股份有限公司 视频编码方法及其系统

Also Published As

Publication number Publication date
WO2019223480A1 (zh) 2019-11-28
CN110536133A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
JP6284954B2 (ja) イントラ予測のためのモード決定の簡略化
KR101640973B1 (ko) 매핑된 변환들 및 스캐닝 모드들을 이용한 비디오 코딩
CN109996081B (zh) 图像预测方法、装置以及编解码器
KR101708540B1 (ko) 변환 계수 코딩을 위한 컨텍스트 도출에서의 스캔 기반 슬라이딩 윈도우
JP5869108B2 (ja) メモリ効率的コンテキストモデリング
KR101590237B1 (ko) 변환 계수들에 대한 함수-기반의 스캐닝 순서를 이용한 비디오 코딩
US20150071357A1 (en) Partial intra block copying for video coding
JP6151434B2 (ja) 絶対値変換差分和に基づくビデオ符号化のためのイントラレート制御
CN112352429B (zh) 对视频数据进行编解码的方法、设备和存储介质
TW201352004A (zh) 轉換係數寫碼
KR101650636B1 (ko) 루마 및 크로마 블록을 위한 vlc 계수 코딩
JP2013543315A (ja) ビデオコード化のためのイントラ平滑化フィルタ
JP2018507613A (ja) ビデオコーディングにおけるパレットエントリのコーディング
CN109756733B (zh) 视频数据解码方法及装置
WO2020103593A1 (zh) 一种帧间预测的方法及装置
CN110868587A (zh) 一种视频图像预测方法及装置
US11601667B2 (en) Inter prediction method and related apparatus
CN110546957A (zh) 一种帧内预测的方法及装置
CN110536133B (zh) 视频数据解码方法及装置
JP2021530909A (ja) ルマ・イントラ・モード・シグナリング
EP3369250A1 (en) Parallel arithmetic coding techniques
WO2020042758A1 (zh) 一种帧间预测的方法及装置
KR102585317B1 (ko) 비디오 코딩을 위한 인-루프 필터

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
GR01 Patent grant
GR01 Patent grant