CN114339238A - 视频编码的方法、视频解码的方法及其装置 - Google Patents

视频编码的方法、视频解码的方法及其装置 Download PDF

Info

Publication number
CN114339238A
CN114339238A CN202011051975.9A CN202011051975A CN114339238A CN 114339238 A CN114339238 A CN 114339238A CN 202011051975 A CN202011051975 A CN 202011051975A CN 114339238 A CN114339238 A CN 114339238A
Authority
CN
China
Prior art keywords
frame
video
encoded
coding
image
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
Application number
CN202011051975.9A
Other languages
English (en)
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 CN202011051975.9A priority Critical patent/CN114339238A/zh
Publication of CN114339238A publication Critical patent/CN114339238A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供了视频编码的方法、视频解码的方法及其装置,其中,所述视频编码的方法包括:获取编码帧的图像语义信息;获取所述编码帧的残差;根据所述图像语义信息确定所述编码帧中的多个区域;对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;对所述图像语义信息及所述编码帧的候选残差进行编码。本申请实施例中的方法,能够降低视频压缩的码率。

Description

视频编码的方法、视频解码的方法及其装置
技术领域
本申请涉及视频编解码领域,并且更具体地,涉及一种视频编码的方法、视频解码的方法及其装置。
背景技术
数字视频能力可并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置可以实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频编码(AVC)定义的标准、视频编码标准H.265/高效视频编码(HEVC)标准以及此类标准的扩展中所描述的视频压缩技术。数字视频装置可通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。视频压缩技术可以执行时间(图像间)预测以减少或去除视频序列中固有的冗余。其中,图像可被称作帧。
目前,人们对于视频质量的要求越来越高,视频从高清向超高清(4Kx2K,8Kx4K)不断发展,而清晰度的不断提高使得视频压缩的码率不断增大,同时,也会不断增加带宽、传输时延和存储等方面的成本。因此,如何降低视频压缩的码率成为一个亟需解决的技术问题。
发明内容
本申请提供一种视频编码的方法、视频解码的方法及其装置,能够降低视频压缩的码率。
第一方面,提供了一种视频编码的方法,该方法包括:
获取编码帧的图像语义信息;获取所述编码帧的残差;根据所述图像语义信息确定所述编码帧中的多个区域;对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;对所述图像语义信息及所述编码帧的候选残差进行编码。
在本申请实施例中,根据所述图像语义信息确定所述编码帧中的多个区域,对所述编码帧中的多个区域对应的残差进行简化处理,以使得所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率,此时,对所述图像语义信息及所述编码帧的候选残差进行编码,能够降低视频压缩的码率。
其中,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
其中,所述多个区域可以包括所述编码帧中的感兴趣区域(region of interest,ROI)。所述感兴趣区域可以是根据所述待编码视频的用途确定的。
例如,若所述待编码视频用于检测驾驶员的驾驶行为,那么,所述感兴趣区域可以是指所述编码帧中的驾驶员区域或车辆区域(驾驶员区域位于车辆区域中);或者,若所述待编码视频用于检测车辆违章,那么,所述感兴趣区域可以是指所述编码帧中的车辆区域及路面区域。
可选地,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
所述简化处理有助于减小残差块编码后的码率。
例如,可以对所述多个区域中除ROI以外的其他区域进行简化处理,以使得所述其他区域对应的候选残差编码后的码率小于所述其他区域对应的残差编码后的码率,此时,可以不对所述ROI进行简化处理,也就是说,实际上,所述ROI的候选残差与所述ROI的残差相同。
可选地,所述简化处理可以为量化处理(quantization)。量化处理可以减小图像中的像素点取值(即像素值)的候选集合。
结合第一方面,在第一方面的某些实现方式中,所述对所述编码帧中的多个区域对应的残差进行简化处理,包括:以多种不同的简化策略,对所述多个区域对应的残差进行简化处理。
在本申请实施例中,根据所述多个区域各个区域的重要性不同,采用多种不同的简化策略,对所述多个区域对应的残差进行不同的简化处理,可以更加灵活地降低视频压缩的码率。
这里的重要性可以是根据所述待编码视频的用途确定的。
结合第一方面,在第一方面的某些实现方式中,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;其中,所述方法还包括:获取所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
结合第一方面,在第一方面的某些实现方式中,所述获取所述编码帧的残差,包括:使用第一神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差。
在本申请实施例中,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,可以使得生成的预测图像之间的变化更加流畅或连贯。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述编码帧的残差及所述编码帧的预测图像,调整所述第一神经网络模型的参数。
结合第一方面,在第一方面的某些实现方式中,所述基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差,包括:使用第二神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;将所述编码帧的原始图像与所述编码帧的候选预测图像作差,得到所述编码帧的残差。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述编码帧的原始图像与所述编码帧的候选预测图像,调整所述第二神经网络模型的参数。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:将满足下述至少一项的视频帧确定为所述待编码视频的关键帧:所述视频帧包含预设画面、所述视频帧与其前一帧图像之间的差异大于或等于第一预设值以及所述视频帧的残差大于或等于第二预设值。
在本申请实施例中,根据待编码视频的需求灵活地通过上述方法确定所述待编码视频的关键帧,从而可以提高视频编码的效果。
结合第一方面,在第一方面的某些实现方式中,所述对所述图像语义信息及所述编码帧的候选残差进行编码,包括:对所述参考帧、所述参考帧的图像语义信息、所述图像语义信息及所述编码帧的候选残差进行编码。
第二方面,提供了一种视频解码的方法,该方法包括:
解析码流得到编码帧的图像语义信息及所述编码帧的候选残差,其中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;根据所述图像语义信息及所述编码帧的候选残差,确定所述编码帧的目标图像。
在本申请实施例中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率,此时,根据所述图像语义信息及所述编码帧的候选残差确定所述编码帧的目标图像,能够降低视频压缩的码率。
其中,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
其中,所述多个区域可以包括所述编码帧中的感兴趣区域(region of interest,ROI)。所述感兴趣区域可以是根据所述待编码视频的用途确定的。
例如,若所述待编码视频用于检测驾驶员的驾驶行为,那么,所述感兴趣区域可以是指所述编码帧中的驾驶员区域或车辆区域(驾驶员区域位于车辆区域中);或者,若所述待编码视频用于检测车辆违章,那么,所述感兴趣区域可以是指所述编码帧中的车辆区域及路面区域。
可选地,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
所述简化处理有助于减小残差块编码后的码率。
例如,可以对所述多个区域中除ROI以外的其他区域进行简化处理,以使得所述其他区域对应的候选残差编码后的码率小于所述其他区域对应的残差编码后的码率,此时,可以不对所述ROI进行简化处理,也就是说,实际上,所述ROI的候选残差与所述ROI的残差相同。
可选地,所述简化处理可以为量化处理(quantization)。量化处理可以减小图像中的像素点取值(即像素值)的候选集合。
结合第二方面,在第二方面的某些实现方式中,所述候选残差是以多种不同的简化策略,对所述编码帧中的多个区域对应的残差进行简化处理后得到的。
在本申请实施例中,根据所述多个区域各个区域的重要性不同,采用多种不同的简化策略,对所述多个区域对应的残差进行不同的简化处理,可以更加灵活地降低视频压缩的码率。
这里的重要性可以是根据所述待编码视频的用途确定的。
结合第二方面,在第二方面的某些实现方式中,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;其中,所述方法还包括:解析码流得到所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
结合第二方面,在第二方面的某些实现方式中,所述根据所述图像语义信息及所述候选残差,确定所述编码帧的目标图像,包括:使用第三神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的预测图像及所述编码帧的候选残差,得到所述编码帧的目标图像。
在本申请实施例中,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,可以使得生成的预测图像之间的变化更加流畅或连贯。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:根据所述编码帧的目标图像及所述编码帧的预测图像,调整所述第三神经网络模型的参数。
结合第二方面,在第二方面的某些实现方式中,所述基于所述编码帧的预测图像及所述候选残差,得到所述编码帧的目标图像,包括:使用第四神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;将所述编码帧的候选预测图像与所述编码帧的候选残差相加,得到所述编码帧的目标图像。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:根据所述编码帧的目标图像及所述编码帧的候选预测图像,调整所述第四神经网络模型的参数。
第三方面,提供了一种视频编码的装置,包括:
第一获取单元,用于获取编码帧的图像语义信息;第二获取单元,用于获取所述编码帧的残差;第一确定单元,用于根据所述图像语义信息确定所述编码帧中的多个区域;简化处理单元,用于对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;编码单元,用于对所述图像语义信息及所述编码帧的候选残差进行编码。
在本申请实施例中,根据所述图像语义信息确定所述编码帧中的多个区域,对所述编码帧中的多个区域对应的残差进行简化处理,以使得所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率,此时,对所述图像语义信息及所述编码帧的候选残差进行编码,能够降低视频压缩的码率。
其中,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
其中,所述多个区域可以包括所述编码帧中的感兴趣区域(region of interest,ROI)。所述感兴趣区域可以是根据所述待编码视频的用途确定的。
例如,若所述待编码视频用于检测驾驶员的驾驶行为,那么,所述感兴趣区域可以是指所述编码帧中的驾驶员区域或车辆区域(驾驶员区域位于车辆区域中);或者,若所述待编码视频用于检测车辆违章,那么,所述感兴趣区域可以是指所述编码帧中的车辆区域及路面区域。
可选地,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
所述简化处理有助于减小残差块编码后的码率。
例如,可以对所述多个区域中除ROI以外的其他区域进行简化处理,以使得所述其他区域对应的候选残差编码后的码率小于所述其他区域对应的残差编码后的码率,此时,可以不对所述ROI进行简化处理,也就是说,实际上,所述ROI的候选残差与所述ROI的残差相同。
可选地,所述简化处理可以为量化处理(quantization)。量化处理可以减小图像中的像素点取值(即像素值)的候选集合。
结合第三方面,在第三方面的某些实现方式中,所述简化处理单元具体用于:以多种不同的简化策略,对所述多个区域对应的残差进行简化处理。
在本申请实施例中,根据所述多个区域各个区域的重要性不同,采用多种不同的简化策略,对所述多个区域对应的残差进行不同的简化处理,可以更加灵活地降低视频压缩的码率。
这里的重要性可以是根据所述待编码视频的用途确定的。
结合第三方面,在第三方面的某些实现方式中,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;其中,所述装置还包括第三获取单元,用于:获取所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
结合第三方面,在第三方面的某些实现方式中,所述第二获取单元具体用于:使用第一神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差。
在本申请实施例中,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,可以使得生成的预测图像之间的变化更加流畅或连贯。
结合第三方面,在第三方面的某些实现方式中,所述装置还包括调整单元,用于:根据所述编码帧的残差及所述编码帧的预测图像,调整所述第一神经网络模型的参数。
结合第三方面,在第三方面的某些实现方式中,所述第二获取单元具体用于:使用第二神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;将所述编码帧的原始图像与所述编码帧的候选预测图像作差,得到所述编码帧的残差。
结合第三方面,在第三方面的某些实现方式中,所述装置还包括调整单元,用于:根据所述编码帧的原始图像与所述编码帧的候选预测图像,调整所述第二神经网络模型的参数。
结合第三方面,在第三方面的某些实现方式中,所述装置还包括第二确定单元,用于:将满足下述至少一项的视频帧确定为所述待编码视频的关键帧:所述视频帧包含预设画面、所述视频帧与其前一帧图像之间的差异大于或等于第一预设值以及所述视频帧的残差大于或等于第二预设值。
在本申请实施例中,根据待编码视频的需求灵活地通过上述方法确定所述待编码视频的关键帧,从而可以提高视频编码的效果。
结合第三方面,在第三方面的某些实现方式中,所述编码单元具体用于:对所述参考帧、所述参考帧的图像语义信息、所述图像语义信息及所述编码帧的候选残差进行编码。
第四方面,提供了一种视频解码的装置,包括:
解码单元,用于解析码流得到编码帧的图像语义信息及所述编码帧的候选残差,其中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;确定单元,用于根据所述图像语义信息及所述编码帧的候选残差,确定所述编码帧的目标图像。
在本申请实施例中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率,此时,根据所述图像语义信息及所述编码帧的候选残差确定所述编码帧的目标图像,能够降低视频压缩的码率。
其中,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
其中,所述多个区域可以包括所述编码帧中的感兴趣区域(region of interest,ROI)。所述感兴趣区域可以是根据所述待编码视频的用途确定的。
例如,若所述待编码视频用于检测驾驶员的驾驶行为,那么,所述感兴趣区域可以是指所述编码帧中的驾驶员区域或车辆区域(驾驶员区域位于车辆区域中);或者,若所述待编码视频用于检测车辆违章,那么,所述感兴趣区域可以是指所述编码帧中的车辆区域及路面区域。
可选地,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
所述简化处理有助于减小残差块编码后的码率。
例如,可以对所述多个区域中除ROI以外的其他区域进行简化处理,以使得所述其他区域对应的候选残差编码后的码率小于所述其他区域对应的残差编码后的码率,此时,可以不对所述ROI进行简化处理,也就是说,实际上,所述ROI的候选残差与所述ROI的残差相同。
可选地,所述简化处理可以为量化处理(quantization)。量化处理可以减小图像中的像素点取值(即像素值)的候选集合。
结合第四方面,在第四方面的某些实现方式中,所述候选残差是以多种不同的简化策略,对所述编码帧中的多个区域对应的残差进行简化处理后得到的。
在本申请实施例中,根据所述多个区域各个区域的重要性不同,采用多种不同的简化策略,对所述多个区域对应的残差进行不同的简化处理,可以更加灵活地降低视频压缩的码率。
这里的重要性可以是根据所述待编码视频的用途确定的。
结合第四方面,在第四方面的某些实现方式中,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;其中,所述解码单元还用于:解析码流得到所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
结合第四方面,在第四方面的某些实现方式中,所述确定单元还用于:使用第三神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的预测图像及所述编码帧的候选残差,得到所述编码帧的目标图像。
在本申请实施例中,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,可以使得生成的预测图像之间的变化更加流畅或连贯。
结合第四方面,在第四方面的某些实现方式中,所述装置还包括调整单元,用于:根据所述编码帧的目标图像及所述编码帧的预测图像,调整所述第三神经网络模型的参数。
结合第四方面,在第四方面的某些实现方式中,所述确定单元还用于:使用第四神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;将所述编码帧的候选预测图像与所述编码帧的候选残差相加,得到所述编码帧的目标图像。
结合第四方面,在第四方面的某些实现方式中,所述装置还包括调整单元,用于:根据所述编码帧的目标图像及所述编码帧的候选预测图像,调整所述第四神经网络模型的参数。
第五方面,提供了一种视频编码的装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者第一方面的任一可能的实现方式中的方法。
第六方面,提供了一种视频解码的装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第二方面或者第二方面的任一可能的实现方式中的方法。
第七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的任一可能的实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
第八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第二方面或第二方面的任一可能的实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面或第二方面的任一可能的实现方式中的方法。
第九方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
第十方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第二方面或者第二方面的任一可能的实现方式中的方法的指令。
在本申请实施例中,根据所述图像语义信息确定所述编码帧中的多个区域,对所述编码帧中的多个区域对应的残差进行简化处理,以使得所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率,此时,对所述图像语义信息及所述编码帧的候选残差进行编码,能够降低视频压缩的码率。
附图说明
图1是用于实现本申请实施例的视频编码系统实例的示意性框图。
图2是用于实现本申请实施例的视频译码设备实例的示意性结构框图。
图3是用于实现本申请实施例的编码装置或者解码装置实例的示意性框图。
图4是用于实现本申请实施例的视频通信系统的示意性框图。
图5是本申请实施例的视频编码的方法的示意性流程图。
图6是本申请实施例的视频解码的方法的示意性流程图。
图7是本申请实施例的视频编解码的方法的示意性流程图。
图8是本申请一个实施例中确定视频片段中的I帧的示意性框图。
图9是本申请一个实施例中提取视频片段的语义信息的示意性框图。
图10是本申请一个实施例中生成预测图像的示意性框图。
图11是本申请另一个实施例中生成预测图像的示意性框图。
图12是本申请另一个实施例中生成预测图像的示意性框图。
图13是本申请一个实施例中对视频片段进行后处理的示意性框图。
图14是本申请一个实施例的视频编码的装置的示意性框图。
图15是本申请一个实施例的视频解码的装置的示意性框图。
图16是本申请一个实施例的视频编解码的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在以下描述中,将会参考形成本申请一部分并以说明之方式示出本申请实施例的具体方面或可使用本申请实施例的具体方面的附图。应理解,本申请实施例还可以在其它方面中使用,并且可以包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,本申请的范围应由所附权利要求书界定。
例如,应理解,结合所描述方法的揭示内容可以同样适用于执行所述方法的对应设备或系统,反之亦然。
再如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。
此外,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤,其中每个执行多个单元中一个或多个单元的功能),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
本申请实施例所涉及的技术方案可以应用于H.266标准以及未来的视频编码标准中。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。下面先对本申请实施例可能涉及的一些概念进行简单介绍。
视频编码通常是指处理形成视频或视频序列的图片序列。在视频编码领域,术语“图片(picture)”、“帧(frame)”或“图像(image)”可以用作同义词。本文中使用的视频编码表示视频编码或视频解码。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图片以减少表示该视频图片所需的数据量,从而更高效地存储和/或传输。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重构视频图片。实施例涉及的视频图片“编码”应理解为涉及视频序列的“编码”或“解码”。编码部分和解码部分的组合也称为编解码(编码和解码)。
视频编解码的基本单元可以称为画面组(group of pictures,GOP),每个GOP由一个I帧、以及若干个P帧或B帧组成,其中,I帧是内部编码帧,也可以称为关键帧,P帧是前向预测编码帧,B帧是双向预测编码帧。
其中,I帧是一个完整的图像,可以直接对I帧进行编解码,P帧(或B帧)表示该P帧(或该B帧)相对于该帧的参考帧的运动变化,P帧(或B帧)需要依靠该帧的参考帧进行编解码后得到。
视频编解器可以按照视频序列中的顺序对(该视频序列中的)多个GOP进行编解码直至视频结束。视频编解器在编码端将多张图片进行编码,编码后生成多段GOP。这些GOP通过网络传输到解码端或者保存在硬盘供解码器访问。视频解码器读取这些GOP,进行解码生成连续的视频。
视频序列包括一系列图像(picture),图像被进一步划分为切片(slice),切片再被划分为块(block)。视频编码以块为单位进行编码处理,在一些新的视频编码标准中,块的概念被进一步扩展。比如,在H.264标准中有宏块(macroblock,MB),宏块可进一步划分成多个可用于预测编码的预测块(partition)。在高性能视频编码(high efficiency videocoding,HEVC)标准中,采用编码单元(coding unit,CU),预测单元(prediction unit,PU)和变换单元(transform unit,TU)等基本概念,从功能上划分了多种块单元,并采用全新的基于树结构进行描述。比如CU可以按照四叉树进行划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构,CU是对编码图像进行划分和编码的基本单元。对于PU和TU也有类似的树结构,PU可以对应预测块,是预测编码的基本单元。对CU按照划分模式进一步划分成多个PU。TU可以对应变换块,是对预测残差进行变换的基本单元。然而,无论CU,PU还是TU,本质上都属于块(或称图像块)的概念。
例如,在HEVC中,通过使用表示为编码树的四叉树结构将CTU拆分为多个CU。在CU层级处作出是否使用图片间(时间)或图片内(空间)预测对图片区域进行编码的决策。每个CU可以根据PU拆分类型进一步拆分为一个、两个或四个PU。一个PU内应用相同的预测过程,并在PU基础上将相关信息传输到解码器。在通过基于PU拆分类型应用预测过程获取残差块之后,可以根据类似于用于CU的编码树的其它四叉树结构将CU分割成变换单元(transformunit,TU)。在视频压缩技术最新的发展中,使用四叉树和二叉树(quad-tree and binarytree,QTBT)分割帧来分割编码块。在QTBT块结构中,CU可以为正方形或矩形形状。
本文中,为了便于描述和理解,可将当前编码图像中待编码的图像块称为当前图像块,例如在编码中,指当前正在编码的块;在解码中,指当前正在解码的块。将参考图像中用于对当前图像块进行预测的已解码的图像块称为参考块,即参考块是为当前图像块提供参考信号的块,其中,参考信号表示图像块内的像素值。可将参考图像中为当前图像块提供预测信号的块为预测块,其中,预测信号表示预测块内的像素值或者采样值或者采样信号。例如,在遍历多个参考块以后,找到了最佳参考块,此最佳参考块将为当前图像块提供预测,此块称为预测块。
无损视频编码情况下,可以重构原始视频图片,即经重构视频图片具有与原始视频图片相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在有损视频编码情况下,通过例如量化执行进一步压缩,来减少表示视频图片所需的数据量,而解码器侧无法完全重构视频图片,即经重构视频图片的质量相比原始视频图片的质量较低或较差。
H.261的几个视频编码标准属于“有损混合型视频编解码”(即,将样本域中的空间和时间预测与变换域中用于应用量化的2D变换编码结合)。视频序列的每个图片通常分割成不重叠的块集合,通常在块层级上进行编码。换句话说,编码器侧通常在块(视频块)层级处理亦即编码视频,例如,通过空间(图片内)预测和时间(图片间)预测来产生预测块,从当前图像块(当前处理或待处理的块)减去预测块以获取残差块,在变换域变换残差块并量化残差块,以减少待传输(压缩)的数据量,而解码器侧将相对于编码器的逆处理部分应用于经编码或经压缩块,以重构用于表示的当前图像块。另外,编码器复制解码器处理循环,使得编码器和解码器生成相同的预测(例如帧内预测和帧间预测)和/或重构,用于处理亦即编码后续块。
下面描述本申请实施例所应用的系统架构。参见图1,图1示例性地给出了本申请实施例所应用的视频编码及解码系统10的示意性框图。如图1所示,视频编码及解码系统10可包括源设备12和目的地设备14,源设备12产生经编码视频数据,因此,源设备12可被称为视频编码装置。目的地设备14可对由源设备12所产生的经编码的视频数据进行解码,因此,目的地设备14可被称为视频解码装置。源设备12、目的地设备14或两个的各种实施方案可包含一个或多个处理器以及耦合到所述一个或多个处理器的存储器。所述存储器可包含但不限于只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。源设备12和目的地设备14可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
虽然图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能,即源设备12或对应的功能以及目的地设备14或对应的功能。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
源设备12和目的地设备14之间可通过链路13进行通信连接,目的地设备14可经由链路13从源设备12接收经编码视频数据。链路13可包括能够将经编码视频数据从源设备12移动到目的地设备14的一个或多个媒体或装置。在一个实例中,链路13可包括使得源设备12能够实时将经编码视频数据直接发射到目的地设备14的一个或多个通信媒体。在此实例中,源设备12可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的地设备14。所述一个或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一个或多个物理传输线。所述一个或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一个或多个通信媒体可包含路由器、交换器、基站或促进从源设备12到目的地设备14的通信的其它设备。
源设备12包括编码器20,另外可选地,源设备12还可以包括图片源16、图片预处理器18、以及通信接口22。具体实现形态中,所述编码器20、图片源16、图片预处理器18、以及通信接口22可能是源设备12中的硬件部件,也可能是源设备12中的软件程序。
分别描述如下:
图片源16,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmentedreality,AR)图片)。图片源16可以为用于捕获图片的相机或者用于存储图片的存储器,图片源16还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部或外部)接口。当图片源16为相机时,图片源16可例如为本地的或集成在源设备中的集成相机;当图片源16为存储器时,图片源16可为本地的或例如集成在源设备中的集成存储器。当所述图片源16包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
其中,图片可以视为像素点(picture element)的二维阵列或矩阵。阵列中的像素点也可以称为采样点。阵列或图片在水平和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图片可以表示为或包含三个采样阵列。例如在RBG格式或颜色空间中,图片包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如对于YUV格式的图片,包括Y指示的亮度分量(有时也可以用L指示)以及U和V指示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图片中两者相同),而两个色度(chroma)分量U和V表示色度或颜色信息分量。相应地,YUV格式的图片包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色度采样阵列。RGB格式的图片可以转换或变换为YUV格式,反之亦然,该过程也称为色彩变换或转换。如果图片是黑白的,该图片可以只包括亮度采样阵列。本申请实施例中,由图片源16传输至图片处理器的图片也可称为原始图片数据17。
图片预处理器18,用于接收原始图片数据17并对原始图片数据17执行预处理,以获取经预处理的图片19或经预处理的图片数据19。例如,图片预处理器18执行的预处理可以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪。
编码器20(或称视频编码器20),用于接收经预处理的图片数据19,采用相关预测模式(如本文各个实施例中的预测模式)对经预处理的图片数据19进行处理,从而提供经编码图片数据21(下文将进一步基于图2描述编码器20的结构细节)。在一些实施例中,编码器20可以用于执行后文所描述的各个实施例,以实现本申请所描述的视频编码的方法在编码侧的应用。
通信接口22,可用于接收经编码图片数据21,并可通过链路13将经编码图片数据21传输至目的地设备14或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于解码或存储的设备。通信接口22可例如用于将经编码图片数据21封装成合适的格式,例如数据包,以在链路13上传输。
目的地设备14包括解码器30,另外可选地,目的地设备14还可以包括通信接口28、图片后处理器32和显示设备34。分别描述如下:
通信接口28,可用于从源设备12或任何其它源接收经编码图片数据21,所述任何其它源例如为存储设备,存储设备例如为经编码图片数据存储设备。通信接口28可以用于藉由源设备12和目的地设备14之间的链路13或藉由任何类别的网络传输或接收经编码图片数据21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通信接口22所传输的数据包以获取经编码图片数据21。
通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编码图片数据传输的数据传输有关的信息。
解码器30(或称为解码器30),用于接收经编码图片数据21并提供经解码图片数据31或经解码图片31(下文将进一步基于图2描述解码器30的结构细节)。在一些实施例中,解码器30可以用于执行后文所描述的各个实施例,以实现本申请所描述的视频解码的方法在解码侧的应用。
图片后处理器32,用于对经解码图片数据31(也称为经重构图片数据)执行后处理,以获得经后处理图片数据33。图片后处理器32执行的后处理可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经后处理图片数据33传输至显示设备34。
显示设备34,用于接收经后处理图片数据33以向例如用户或观看者显示图片。显示设备34可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digitallight processor,DLP)或任何类别的其它显示器。
虽然,图1中将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
本领域技术人员基于描述明显可知,不同单元的功能性或图1所示的源设备12和/或目的地设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备12和目的地设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一个或多个处理器以硬件执行指令从而执行本申请的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一个或多个处理器。
在一些情况下,图1中所示视频编码及解码系统10仅为示例,本申请的技术可以适用于不必包含编码和解码设备之间的任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。视频编码设备可以对数据进行编码并且将数据存储到存储器,和/或视频解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
参见图2,图2是本申请实施例提供的视频译码设备400(例如视频编码设备400或视频解码设备400)的结构示意图。视频译码设备400适于实施本文所描述的实施例。在一个实施例中,视频译码设备400可以是视频解码器或视频编码器。
视频译码设备400包括:用于接收数据的入口端口410和接收单元(Rx)420,用于处理数据的处理器、逻辑单元或中央处理器(CPU)430,用于传输数据的发射器单元(Tx)440和出口端口450,以及,用于存储数据的存储器460。视频译码设备400还可以包括与入口端口410、接收器单元420、发射器单元440和出口端口450耦合的光电转换组件和电光(EO)组件,用于光信号或电信号的出口或入口。
处理器430通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入口端口410、接收器单元420、发射器单元440、出口端口450和存储器460通信。处理器430包括译码模块470(例如编码模块470或解码模块470)。编码/解码模块470实现本文中所公开的实施例,以实现本申请实施例所提供的视频编码的方法或视频解码的方法。例如,编码/解码模块470实现、处理或提供各种编码操作。因此,通过编码/解码模块470为视频译码设备400的功能提供了实质性的改进,并影响了视频译码设备400到不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现编码/解码模块470。
存储器460包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备,用于在选择性地执行这些程序时存储程序,并存储在程序执行过程中读取的指令和数据。存储器460可以是易失性和/或非易失性的,可以是只读存储器(ROM)、随机存取存储器(RAM)、随机存取存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(SRAM)。
参见图3,图3是根据一示例性实施例的可用作图1中的源设备12和目的地设备14中的任一个或两个的装置500的简化框图。装置500可以实现本申请实施例的视频编码的方法或视频解码的方法。换言之,图3为本申请实施例的编码设备或解码设备(简称为译码设备500)的一种实现方式的示意性框图。其中,译码设备500可以包括处理器510、存储器530和总线系统550。其中,处理器和存储器通过总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令。译码设备的存储器存储程序代码,且处理器可以调用存储器中存储的程序代码执行本申请描述的各种视频编码的方法或视频解码的方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器510可以是中央处理单元(central processingunit,CPU),该处理器510还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器530可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器530。存储器530可以包括由处理器510使用总线550访问的代码和数据531。存储器530可以进一步包括操作系统533和应用程序535,该应用程序535包括允许处理器510执行本申请描述的视频编码或解码方法的至少一个程序。例如,应用程序535可以包括应用1至N,其进一步包括执行在本申请描述的视频编码或解码方法的视频编码或解码应用(简称视频译码应用)。
该总线系统550除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统550。
可选的,译码设备500还可以包括一个或多个输出设备,诸如显示器570。在一个示例中,显示器570可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器570可以经由总线550连接到处理器510。
图4是本申请实施例的视频通信系统的示意性框图。
图4所示的视频通信系统500包括源装置600和目的地装置700,其中,源装置600能够对获取到的视频进行编码,并将编码后的视频码流传输给接收装置700,目的地装置700能够对接收到的视频码流进行解析,得到视频图像,并通过显示装置显示该视频。
如图4所示,本申请实施例的视频编码的方法可以由源装置600来执行,本申请实施例的视频解码的方法可以由目的地装置700来执行。具体地,本申请实施例的视频编码的方法可以由视频编码器603来执行,本申请实施例的视频解码的方法可以由视频解码器702来执行。
上述视频通信系统500还可以称为视频编解码系统,源装置600也可以被称为视频编码装置或视频编码设备,目的地装置700也可以被称为视频解码装置或视频解码设备。
在图4中,源装置600包含视频俘获装置601、视频存储器602、视频编码器603以及发射器604。视频存储器602可以存储视频俘获装置601获得的视频,视频编码器603可以编码来自视频存储器602和视频俘获装置601的视频数据。在一些实例中,源装置600经由发射器604将编码后的视频数据直接发射到目的地装置700。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置700稍后提取以用于解码及/或播放。
在图4中,目的地装置700包含接收器701、视频解码器702及显示装置703。在一些实例中,接收器701可经由信道800接收编码后的视频数据。显示装置703可与目的地装置700整合或可在目的地装置7000外部。一般来说,显示装置700显示解码后的视频数据。显示装置700可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。
源装置600和目的地装置700的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。
目的地装置700可以经由信道800接收来自源装置600编码后的视频数据。信道800可包括能够将编码后的视频数据从源装置600移动到目的地装置700的一个或多个媒体及/或装置。在一个实例中,信道800可以包括使源装置600能够实时地将编码后的视频数据直接发射到目的地装置700的一个或多个通信媒体,在此实例中,源装置600可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的地装置700。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(radio frequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置600到目的地装置700的通信的其它设备。
在另一实例中,信道800可包含存储由源装置600产生的编码后的视频数据的存储媒体。在此实例中,目的地装置700可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(digital videodisc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道800可包含文件服务器或存储由源装置600产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置700可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置700的服务器类型。例如,文件服务器可以包含全球广域网(world wide web,Web)服务器(例如,用于网站)、文件传送协议(file transfer protocol,FTP)服务器、网络附加存储(network attachedstorage,NAS)装置以及本地磁盘驱动器。
目的地装置700可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
目前,人们对于视频质量的要求越来越高,视频从高清向超高清(4Kx2K,8Kx4K)不断发展,而清晰度的不断提高使得视频压缩的码率不断增大,同时,也会不断增加带宽、传输时延和存储等方面的成本。因此,如何降低视频压缩的码率成为一个亟需解决的技术问题。
针对上述问题,本申请提出一种视频编码的方法、视频解码的方法及其装置,能够降低视频压缩的码率。
下面结合具体附图对本申请实施例的视频编码的方法、视频解码的方法及其装置进行详细的介绍。
图5是本申请实施例的视频编码的方法的示意性流程图。图5所示的视频编码的方法可以由视频编码装置(系统)执行。例如,图5所示的方法可以图1中的编码器20、图2中的视频编码器20、图3中的处理器510或图4中的视频编码器603来执行。图5所示的方法500包括步骤510、步骤520、步骤530、步骤540及步骤550,下面对这些步骤进行详细的介绍。
S510,获取编码帧的图像语义信息。
其中,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
本申请实施例中对获取所述编码帧的图像语义信息的方法并不限定。例如,可以使用预设的神经网络模型(即图像语义提取器)提取所述编码帧的图像语义信息,具体方法可以参照现有技术,这里不再赘述。
可选地,待编码视频可以为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧。
例如,所述待编码视频可以为视频序列中的一个画面组(group of pictures,GOP),该视频序列可以理解为需要进行视频编解码的完整视频,该GOP可以包括一个I帧(例如,I帧可以为关键帧)、以及多个P帧或B帧。
可选地,所述方法500还可以包括步骤512。
S512,获取所述待编码视频的视频语义信息。
其中,所述视频语义信息可以表示所述待编码视频包括的多个视频帧之间的变化。
例如,所述视频语义信息可以包括所述多个视频帧中的目标物体在所述多个视频帧之间的方向变化、所述多个视频帧中的目标物体在所述多个视频帧之间的速度变化、所述多个视频帧之间的背景变化及所述多个视频帧之间的光线变化等。
本申请实施例中对获取所述视频语义信息的方法并不限定。例如,可以使用预设的神经网络模型(即视频语义提取器)提取所述视频语义信息,具体方法可以参照现有技术,这里不再赘述。
可选地,所述方法500还可以包括步骤514。
S514,将满足下述至少一项的视频帧确定为所述待编码视频的关键帧:
所述视频帧包含预设画面、所述视频帧与其前一帧图像之间的差异大于或等于第一预设值、所述视频帧的残差大于或等于第二预设值以及所述视频帧与上一个关键帧之间的时间大于或等于第三预设值。
其中,在所述待编码视频为视频序列中的一个GOP的情况下,所述关键帧可以为该GOP中的I帧。
可选地,可以根据待编码视频的用途确定所述预设画面,并将包含预设画面的视频帧确定为所述待编码视频的关键帧。
其中,所述待编码视频的用途可以是指:使用待编码视频进行的业务(或任务)的需求。
例如,若所述待编码视频用于检测驾驶员的驾驶行为,那么,所述预设画面可以包括驾驶员的视线方向、驾驶员是否打电话、驾驶员是否抽烟等;或者,若所述待编码视频用于检测车辆违章,那么,所述预设画面可以包括车辆是否闯红灯、车辆是否压双黄线及车辆未按照规定路线行驶等。
可选地,可以在所述视频帧与其前一帧图像之间的差异大于或等于所述第一预设值的情况下,将所述视频帧确定为所述待编码视频的关键帧。
例如,所述视频帧与其前一帧图像之间的差异大于或等于所述第一预设值可以认为是,在所述视频帧与前一帧(或所述视频帧之前的其他帧)相比,出现环境突变、画面切换、物体突然出现或物体突然消失等画面内容突变的情况时,将所述视频帧确定为所述待编码视频的关键帧。
可选地,可以将残差过大的视频帧确定为所述待编码视频的关键帧。例如,可以预先设定所述第二预设值,将残差大于或等于第二预设值的视频帧确定为所述待编码视频的关键帧。
需要说明的是,所述述视频帧与所述待编码视频均属于同一个视频序列,该视频序列可以理解为需要进行视频编解码的完整视频。
S520,获取所述编码帧的残差。
可选地,可以基于所述编码帧的参考帧进行运动估计和运动补偿,预测所述编码帧,即生成所述编码帧的预测图像,将所述编码帧的原始图像(也可以说是,所述编码帧的真实图像)与所述编码帧的预测图像作差,可以得到所述编码帧的残差。
可以看出,S520中获取到的所述编码帧的残差其实就是所述编码帧的原始残差。
其中,所述编码帧的参考帧可以指生成所述编码帧的预测图像时需要参考的其他视频帧。
例如,在所述编码帧为P帧的情况下,参考帧是该P帧之前的视频帧,该参考帧可以为I帧或P帧;在所述编码帧为B帧的情况下,参考帧是该B帧前后两个方向的视频帧,该B帧之前的视频帧可以为I帧或B帧。
上述生成所述预测图像和计算所述编码帧的残差的具体方法可以参照现有技术,这里不再赘述。
可选地,所述获取编码帧的残差,可以包括:
使用第一神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差。
其中,所述第一神经网络网络模型可以为长短期记忆模型(long-short termmemory,LSTM),或者,所述第一神经网络模型也可以为其他深度学习模型(deep learning,DL),本申请实施例中对此并不限定。
可选地,所述方法500还可以包括步骤522。
S522,根据所述编码帧的残差及所述编码帧的预测图像,调整所述第一神经网络模型的参数。
需要说明的是,在S522中,通过调整所述第一神经网络模型的参数,可以使得调整后的所述第一神经网络模型(根据所述编码帧的参考帧及所述视频语义信息)生成的所述编码帧的预测图像与所述编码帧的原始图像更接近(或者说更相似)。
进一步地,所述基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差,可以包括:
使用第二神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像;将所述编码帧的原始图像与所述编码帧的候选预测图像作差,得到所述编码帧的残差。
其中,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅,或者,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化接近所述多个视频帧的原始图像之间的变化。
其中,所述第二神经网络网络模型可以为长短期记忆模型(long-short termmemory,LSTM),或者,所述第二神经网络模型也可以为其他深度学习模型(deep learning,DL),本申请实施例中对此并不限定。
可选地,所述方法500还可以包括步骤524。
S524,根据所述编码帧的原始图像与所述编码帧的候选预测图像,调整所述第二神经网络模型的参数。
需要说明的是,在S524中,通过调整所述第二神经网络模型的参数,可以使得调整后的所述第二神经网络模型(基于所述视频语义信息对所述待编码视频的多个视频帧的预测图像进行所述后处理)得到的所述多个视频帧的候选预测图像之间的变化更流畅。
或者,通过调整所述第二神经网络模型的参数,可以使得调整后的所述第二神经网络模型(基于所述视频语义信息对所述待编码视频的多个视频帧的预测图像进行所述后处理)得到的所述多个视频帧的候选预测图像之间的变化更接近所述多个视频帧的原始图像之间的变化。
S530,根据所述图像语义信息确定所述编码帧中的多个区域。
其中,所述多个区域可以包括所述编码帧中的感兴趣区域(region of interest,ROI)。所述感兴趣区域可以是根据所述待编码视频的用途确定的。
例如,若所述待编码视频用于检测驾驶员的驾驶行为,那么,所述感兴趣区域可以是指所述编码帧中的驾驶员区域或车辆区域(驾驶员区域位于车辆区域中);或者,若所述待编码视频用于检测车辆违章,那么,所述感兴趣区域可以是指所述编码帧中的车辆区域及路面区域。
可选地,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
作为示例而非限定,下面以所述图像语义信息为所述编码帧的语义分割图(即指示所述编码帧中的语义分割)为例,对S530进行说明。
通常,按照某种规则(例如,光照或类别)将图像中的像素点分成多个区域,就可以得到该图像的语义分割图。
可选地,可以按照类别,将所述编码帧在像素级别划分成多个区域,比如,可以使用不同的颜色区分所述编码帧中的不同的区域。
例如,可以按照类别,将所述编码帧中的车辆所在区域标记为灰色、将所述编码帧中的驾驶员所在区域标记为红色、将所述编码帧中的建筑物所在区域标记为蓝色、将所述编码帧中的天空所在区域标记为绿色、将所述编码帧中的植物所在区域标记为黄色。
此时,得到的这种用不同颜色标记所述编码帧中不同类别的图像就可以称为语义分割图。
进一步地,若所述待编码视频用于检测驾驶员的驾驶行为,则可以将所述编码帧中的红色区域(例如,所述编码帧中的驾驶员区域)确定为第一区域,将所述编码帧中除红色区域以外的区域确定为第二区域。
若所述待编码视频用于检测车辆违章,则可以将所述编码帧中的灰色区域(例如,所述编码帧中的车辆区域)确定为第一区域,将所述编码帧中除灰色区域以外的区域确定为第二区域。
S540,对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差。
其中,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率。
所述简化处理有助于减小残差块编码后的码率。
例如,可以对所述多个区域中除ROI以外的其他区域进行简化处理,以使得所述其他区域对应的候选残差编码后的码率小于所述其他区域对应的残差编码后的码率,此时,可以不对所述ROI进行简化处理,也就是说,实际上,所述ROI的候选残差与所述ROI的残差相同。
可选地,所述简化处理可以为量化处理(quantization)。
图像的像素值可以是一个红绿蓝(RGB)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*Red+100*Green+76Blue,其中,*表示乘法运算,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。
量化处理可以减小图像中的像素点取值(即像素值)的候选集合。
例如,图像包括a*b个像素点,这a*b像素点包括N个不同的像素值,(a*b)>N,该图像经过量化处理后,这a*b像素点包括M个不同的像素值,N>M,其中,a、b、N、M均为正整数。此时,与量化处理前的图像相比,量化处理后的图像进行编码后的码率会减小。
可以看出,量化处理可以使得图像中的像素点的取值更加集中,也就是,减小图像中的像素点取值(即像素值)的候选集合。
可选地,所述对所述编码帧中的多个区域对应的残差进行简化处理,可以包括:以多种不同的简化策略,对所述多个区域对应的残差进行简化处理。
例如,可以针对所述多个区域中各个区域的重要性不同,采用多种不同的量化策略,对所述多个区域对应的残差进行不同的量化处理,以使得所述多个区域对应的残差得到不同程度的简化。
这里的重要性可以是根据所述待编码视频的用途确定的。
需要说明的是,上述实施例仅为示例而非限定,本申请实施例中并不限定所述简化处理为量化处理。
S550,对所述图像语义信息及所述编码帧的候选残差进行编码。
可选地,所述对所述图像语义信息、所述第一区域的残差及所述第二区域的候选残差进行编码,可以包括:
对所述参考帧、所述参考帧的图像语义信息、所述图像语义信息及所述编码帧的候选残差进行编码。
图6是本申请实施例的视频解码的方法的示意性流程图。图6所示的视频编码的方法可以由视频编码装置(系统)执行。例如,图6所示的方法可以图1中的解码器30、图2中的视频解码器30、图3中的处理器510或图4中的视频解码器702来执行。图6所示的方法600包括步骤610及步骤620,下面对这些步骤进行详细的介绍。
S610,解析码流得到编码帧的图像语义信息及所述编码帧的候选残差。
其中,所述图像语义信息可以包括所述编码帧的图像语义、所述编码帧的实例分割、所述编码帧的语义分割、所述编码帧的边缘信息及所述编码帧中的关键点信息等。
关于所述图像语义信息的详细描述可以参见上述方法500中的实施例,这里不再赘述。
需要说明的是,S610中的解析码流的具体方法可以参照现有技术,这里不再赘述。
可选地,待编码视频可以为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧。
例如,所述待编码视频可以为视频序列中的一个画面组(group of pictures,GOP),该视频序列可以理解为需要进行视频编解码的完整视频,该GOP可以包括一个I帧(例如,I帧可以为关键帧)、以及多个P帧或B帧。
其中,所述编码帧可以包括多个区域,所述多个区域可以包括所述编码帧中的感兴趣区域(region of interest,ROI)。
可选地,所述感兴趣区域可以是根据所述待编码视频的用途确定的。关于所述感兴趣区域的详细描述可以参见上述方法500中的实施例,这里不再赘述。
其中,所述候选残差可以是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率。
例如,所述候选残差可以是采用多种不同的简化策略,对所述编码帧中的多个区域对应的残差进行简化处理后得到的。
可选地,所述简化处理可以为量化处理(quantization)。关于所述简化处理的详细描述可以参见上述方法500中的实施例,这里不再赘述。
其中,所述方法600还可以包括步骤612。
S612,解析码流得到所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
关于所述视频语义信息的详细描述可以参见上述方法500中的实施例,这里不再赘述。
S620,根据所述图像语义信息及所述候选残差,确定所述编码帧的目标图像。
可选地,所述根据所述图像语义信息及所述候选残差,确定所述编码帧的目标图像,可以包括:
使用第三神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的预测图像及所述编码帧的候选残差,得到所述编码帧的目标图像。
其中,所述第三神经网络网络模型可以为长短期记忆模型(long-short termmemory,LSTM),或者,所述第三神经网络模型也可以为其他深度学习模型(deep learning,DL),本申请实施例中对此并不限定。
可选地,所述方法600还可以包括步骤622。
S622,根据所述编码帧的目标图像及所述编码帧的预测图像,调整所述第三神经网络模型的参数。
需要说明的是,在S622中,通过调整所述第三神经网络模型的参数,可以使得调整后的所述第三神经网络模型(根据所述图像语义信息及所述候选残差)生成的所述编码帧的目标图像与所述编码帧的原始图像更接近(或者说更相似)。
可选地,所述基于所述编码帧的预测图像及所述候选残差,得到所述编码帧的目标图像,可以包括:
使用第四神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像;将所述编码帧的候选预测图像与所述编码帧的候选残差相加,得到所述编码帧的目标图像。
其中,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅,或者,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化接近所述多个视频帧的原始图像之间的变化。
其中,所述第四神经网络网络模型可以为长短期记忆模型(long-short termmemory,LSTM),或者,所述第四神经网络模型也可以为其他深度学习模型(deep learning,DL),本申请实施例中对此并不限定。
可选地,所述方法600还可以包括步骤624。
S624,根据所述编码帧的目标图像及所述编码帧的候选预测图像,调整所述第四神经网络模型的参数。
需要说明的是,在S624中,通过调整所述第四神经网络模型的参数,可以使得调整后的所述第四神经网络模型(基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理)得到的所述多个视频帧的候选预测图像之间的变化更流畅。
或者,通过调整所述第四神经网络模型的参数,可以使得调整后的所述第四神经网络模型(基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理)得到的所述多个视频帧的候选预测图像之间的变化更接近所述多个视频帧的原始图像之间的变化。
图7是本申请实施例的视频编解码的方法的示意性流程图。
图7所示的方法700由视频编码装置及视频解码装置共同执行,其中,视频编码装置执行步骤701至步骤714,视频解码装置执行步骤721至步骤726,下面对这些步骤进行详细的介绍。
下述步骤701至步骤714可以由视频编码装置执行:
S701,识别出视频片段中的目标帧。
可选地,可以根据业务需求识别出视频片段中的目标帧,目标帧可以是指:包括预设画面的视频帧及画面内容突变的视频帧。
如图8所示,可以利用检测、跟踪、分割、行为识别、属性识别等技术识别出视频片段中的目标帧。具体方法可以参考现有技术,这里不再赘述。
其中,所述业务需求可以是指所述视频片段的用途,这里所说的视频片段可以是指上述图5中方法500中的需要进行视频编解码的视频序列。
例如,若所述视频片段用于检测驾驶员的驾驶行为,那么,所述预设画面可以包括驾驶员的视线方向、驾驶员是否打电话、驾驶员是否抽烟等;或者,若所述视频片段用于检测车辆违章,那么,所述预设画面可以包括车辆是否闯红灯、车辆是否压双黄线及车辆未按照规定路线行驶等。
所述画面内容突变可以是指:该视频帧与其前一帧图像之间的差异大于或等于第一预设值。
例如,该视频帧与其前一帧图像之间的差异大于或等于所述第一预设值可以认为是,在所述视频帧与前一帧(或所述视频帧之前的其他帧)相比,出现环境突变、画面切换、物体突然出现或物体突然消失等画面内容突变的情况。
S702,确定所述视频片段中的I帧(即关键帧)。
例如,如图8所示,可以将所述视频片段中的包括预设画面的视频帧、画面内容突变的视频帧、残差
Figure BDA0002709842160000221
大于第二预设值的帧(残差分析)、与上一个关键帧之间的时间大于或等于第三预设值的帧(时间间隔分析)确定为I帧。
为了便于描述,可以将I帧(或者说I帧的值)可以记为x0
S703,利用图像编码的方式,对I帧x0进行图像编码。
例如,S703可以由图像编码模块执行,具体可以通过下式表示:
y0=Encoder1(x0)
其中,Encoder1()表示图像解码模块进行图像编码,x0表示I帧,y0表示对x0进行图像编码后的值。
S704,对图像编码后得到的码流y0进行图像解码,得到解码后的I帧
Figure BDA0002709842160000222
例如,S704可以由图像解码模块执行,具体可以通过下式表示:
Figure BDA0002709842160000223
其中,Decoder1()表示图像编码模块进行图像解码,y0表示对x0进行图像编码后的值,
Figure BDA0002709842160000224
表示对y0进行图像解码后得到的解码后的I帧。
S705,提取视频片段的语义信息。
例如,S705可以由语义提取(semantic)模块执行,为了便于描述,可以将语义信息记为Li
其中,语义信息可以包括图像语义信息和视频语义信息。
如图9所示,图像语义信息可以包括所述视频片段中各个视频帧的图像语义、各个视频帧的实例分割、各个视频帧的语义分割、各个视频帧的边缘信息及各个视频帧中的关键点信息等。
视频语义信息可以用于表示所述视频片段中的多个视频帧之间的变化。如图9所示,所述视频语义信息可以包括视频片段中的运动语义和行为语义。
例如,所述视频语义信息可以包括视频片段中的多个视频帧中的目标物体在所述多个视频帧之间的方向变化、所述多个视频帧中的目标物体在所述多个视频帧之间的速度变化、所述多个视频帧之间的背景变化及所述多个视频帧之间的光线变化等。
S706,对语义信息Li进行编码得到语义编码Fi
例如,S706可以由语义编码模块执行,具体可以通过下式表示:
Fi=Encoder2(Li)
其中,Encoder2()表示语义编码模块进行编码,Li表示语义信息,Fi表示对Li进行编码后的值。
S707,对语义编码后的值Fi进行解码得到目标语义信息
Figure BDA0002709842160000225
例如,S707可以由语义解码模块执行,具体可以通过下式表示:
Figure BDA0002709842160000231
其中,Decoder2()表示语义解码模块进行解码,Fi表示对Li进行编码后的值,
Figure BDA0002709842160000232
表示对Fi进行解码后得到的解码后的目标语义信息。
S708,根据参考帧、参考帧的语义信息及当前编码帧的语义信息Fi进行图像预测,得到当前编码帧的预测图像
Figure BDA0002709842160000233
其中,S708可以由B/P帧生成模块执行,具体可以由B/P帧生成模块中的第一神经网络模型执行。
由B/P帧生成模块生成的预测图像
Figure BDA0002709842160000234
可以为B帧或P帧。
例如,在预测图像
Figure BDA0002709842160000235
为B帧的情况下,如图10所示,可以将视频片段中的相邻两个I帧x0、x1以及这两个I帧之间的帧作为一个GOP。
可以将x0、x1、x0-1、…、x0-k、Li作为B/P帧生成模块的输入。
用第一神经网络模型对x0、x1进行运动估计,提取Li中的高层语义信息,并对运动估计的结果及高层语义信息进行叠加,生成该GOP中的每一个B帧(即x0-1、…、x0-k)的特征,从而生成GOP中的多个B帧。
例如,在预测图像
Figure BDA0002709842160000236
为P帧的情况下,如图11所示,可以使用LSTM模型(即第一神经网络模型),对x0进行运动估计,生成GOP中的多个P帧。
再例如,在预测图像
Figure BDA0002709842160000237
为P帧的情况下,如图12所示,可以使用基于行为的视频生成模型(即第一神经网络模型),对x0进行运动估计,生成GOP中的多个P帧。
上述进行图像预测生成B帧或P帧的具体方法可以参考现有技术,这里不再赘述。
S709,对
Figure BDA0002709842160000238
Figure BDA0002709842160000239
进行后处理得到候选预测图像frame`
例如,S709可以由后处理模块执行,具体可以由所述后处理模块中的第二神经网络模型执行。
其中,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅,或者,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化接近所述多个视频帧的原始图像之间的变化。
例如,如图13所示,可以使用LSTM模型(即第二神经网络模型),对视频片段中的各个GOP进行后处理。
S710,计算所述后处理后的预测图像
Figure BDA00027098421600002310
与其对应的原始视频帧xi的残差ri
例如,S710可以由残差模块执行。
S711,根据语义信息Fi,确定视频帧xi中的感兴趣区域(region of interest,ROI)。
S712,基于视频帧xi中的ROI确定语义残差
Figure BDA00027098421600002311
例如,S712可以由语义残差模块执行。
其中,所述语义残差
Figure BDA00027098421600002312
可以包括视频帧xi中的ROI的残差、及视频帧xi中的ROI以外区域的候选残差。
这里的候选残差可以为方法500中的候选残差,即对视频帧xi中的ROI以外区域的残差进行简化处理后得到的。所述候选残差编码后的码率可以小于该区域的残差编码后的码率,也就是说,所述简化处理能够减小残差块编码后的码率。
可选地,所述简化处理可以为量化处理(quantization)。关于候选残差及简化处理的详细描述可以参见方法500中的描述,这里不再赘述。
S713,通过AC模块,将图像编码后的y0、语义编码后的Fi及语义残差
Figure BDA00027098421600002313
编码后形成的码流进行传输。
S714,对B/P帧生成模块的参数及后处理模块的参数进行调整。
例如,可以基于视频片段的原始图像及I帧
Figure BDA0002709842160000241
对B/P帧生成模块的参数及后处理模块的参数进行调整。
下述步骤721至步骤726可以由视频解码装置执行:
首先,AC模块解析码流可以得到图像编码后的y0、语义编码后的Fi及语义残差
Figure BDA0002709842160000242
S721,将图像编码后的值y0解码为近似I帧的目标图像
Figure BDA0002709842160000243
Figure BDA0002709842160000244
其中,Decoder1()表示图像解码模块进行图像解码,y0表示对x0进行图像编码后的值,
Figure BDA0002709842160000245
表示对y0进行图像解码后得到的I帧的目标图像。
S722,将语义编码后的值Fi解码为目标语义信息
Figure BDA0002709842160000246
Figure BDA0002709842160000247
其中,Decoder2()表示语义解码模块进行解码,Fi表示对Li进行编码后的值,
Figure BDA0002709842160000248
表示对Fi进行解码后得到的解码后的目标语义信息。
S723,根据参考帧、参考帧的语义信息及当前编码帧的语义信息Fi进行图像预测,得到当前编码帧的目标预测图像
Figure BDA0002709842160000249
例如,S723可以由B/P帧生成模块执行,具体可以由B/P帧生成模块中的第三神经网络模型执行。
S724,对
Figure BDA00027098421600002410
Figure BDA00027098421600002411
进行后处理得到候选预测图像frame`。
例如,S709可以由后处理模块执行,具体可以由所述后处理模块中的第四神经网络模型执行。
S725,解码语义残差
Figure BDA00027098421600002412
S726,将语义残差
Figure BDA00027098421600002413
叠加到生成后的帧
Figure BDA00027098421600002414
上,得到重建后的目标视频帧
Figure BDA00027098421600002415
Figure BDA00027098421600002416
例如,S726可以由重建视频帧模块执行。
S727,对B/P帧生成模块的参数及后处理模块的参数进行调整。
例如,可以基于目标图像
Figure BDA00027098421600002417
目标语义信息
Figure BDA00027098421600002418
及目标视频帧
Figure BDA00027098421600002419
对B/P帧生成模块的参数及后处理模块的参数进行调整。
需要说明的是,上述方法700中的各个步骤的编号并不会对方法700中的各个步骤的执行顺序造成限定,也就是说,本申请实施例中对方法700中的各个步骤的执行顺序并不限定。
图14是本申请一个实施例提供的视频编码的装置1400的示意性框图。应理解,图14示出的视频编码的装置1400仅是示例,本申请实施例的装置1400还可包括其他模块或单元。应理解,装置1400能够执行图5或图7的方法中的各个步骤,为了避免重复,此处不再详述。
在本申请实施例的一种可能的实现方式中,所述视频编码的装置1400可以包括:
第一获取单元1410,用于获取编码帧的图像语义信息;
第二获取单元1420,用于获取所述编码帧的残差;
第一确定单元1430,用于根据所述图像语义信息确定所述编码帧中的多个区域;
简化处理单元1440,用于对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;
编码单元1450,用于对所述图像语义信息及所述编码帧的候选残差进行编码。
其中,所述第一获取单元和所述第二获取单元可以为同一个单元或模块,本申请实施例中对此并不限定。
可选地,所述简化处理单元1440具体用于:以多种不同的简化策略,对所述多个区域对应的残差进行简化处理。
可选地,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;其中,所述装置还包括第三获取单元1460,用于:
获取所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
其中,所述第三获取单元和所述第一获取单元可以为同一个单元或模块,或者,所述第三获取单元和所述第二获取单元也可以为同一个单元或模块,本申请实施例中对此并不限定。
可选地,所述第二获取单元1420具体用于:使用第一神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差。
可选地,所述装置还包括调整单元1460,用于:根据所述编码帧的残差及所述编码帧的预测图像,调整所述第一神经网络模型的参数。
可选地,所述第二获取单元1420具体用于:使用第二神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;将所述编码帧的原始图像与所述编码帧的候选预测图像作差,得到所述编码帧的残差。
可选地,所述装置还包括调整单元1460,用于:根据所述编码帧的原始图像与所述编码帧的候选预测图像,调整所述第二神经网络模型的参数。
可选地,所述装置还包括第二确定单元1470,用于:将满足下述至少一项的视频帧确定为所述待编码视频的关键帧:
所述视频帧包含预设画面、所述视频帧与其前一帧图像之间的差异大于或等于第一预设值以及所述视频帧的残差大于或等于第二预设值。
其中,所述第一确定单元和所述第二确定单元可以为同一个单元或模块,本申请实施例中对此并不限定。
可选地,所述编码单元1450具体用于:
对所述参考帧、所述参考帧的图像语义信息、所述图像语义信息及所述编码帧的候选残差进行编码。
应理解,这里的视频编码的装置1400以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
作为一个示例,本申请实施例提供的视频编码的装置1400可以是图1中的编码器20、图2中的视频编码器20、图3中的处理器510或图4中的视频编码器603,以用于执行本申请实施例所述的方法。
图15是本申请一个实施例提供的视频解码的装置1500的示意性框图。应理解,图15示出的视频解码的装置1500仅是示例,本申请实施例的装置1500还可包括其他模块或单元。应理解,装置1500能够执行图6或图7的方法中的各个步骤,为了避免重复,此处不再详述。
在本申请实施例的一种可能的实现方式中,所述视频解码的装置1500可以包括:
解码单元1510,用于解析码流得到编码帧的图像语义信息及所述编码帧的候选残差,其中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;
确定单元1520,用于根据所述图像语义信息及所述编码帧的候选残差,确定所述编码帧的目标图像。
可选地,所述候选残差是以多种不同的简化策略,对所述编码帧中的多个区域对应的残差进行简化处理后得到的。
可选地,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;其中,所述解码单元1510还用于:解析码流得到所述待编码视频的视频语义信息,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化。
可选地,所述确定单元1520还用于:使用第三神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像;基于所述编码帧的预测图像及所述编码帧的候选残差,得到所述编码帧的目标图像。
可选地,所述装置还包括调整单元1530,用于:根据所述编码帧的目标图像及所述编码帧的预测图像,调整所述第三神经网络模型的参数。
可选地,所述确定单元1520还用于:使用第四神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;将所述编码帧的候选预测图像与所述编码帧的候选残差相加,得到所述编码帧的目标图像。
可选地,所述装置还包括调整单元1530,用于:根据所述编码帧的目标图像及所述编码帧的候选预测图像,调整所述第四神经网络模型的参数。
应理解,这里的视频解码的装置1500以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
作为一个示例,本申请实施例提供的视频解码的装置1500可以是图1中的解码器30、图2中的视频解码器30、图3中的处理器510或图4中的视频解码器702,以用于执行本申请实施例所述的方法。
图16是本申请一个实施例的视频编解码的装置900的示意性框图。图16所示的装置900包括存储器901、处理器902、通信接口903以及总线904。其中,存储器901、处理器902、通信接口903通过总线904实现彼此之间的通信连接。
存储器901可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器901可以存储程序,当存储器901中存储的程序被处理器902执行时,处理器902用于执行本申请实施例的视频编码的方法或视频解码的方法的各个步骤,例如,可以执行图5、图6或图7所示实施例的各个步骤。
处理器902可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的视频编解码的方法。
处理器902还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的视频编码的方法或视频解码的方法的各个步骤可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器902还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器901,处理器902读取存储器901中的信息,结合其硬件完成本申请实施例中视频编码的装置或视频解码的装置包括的单元所需执行的功能,或者,执行本申请方法实施例的视频编码的方法或视频解码的方法,例如,可以执行图5、图6或图7所示实施例的各个步骤/功能。
通信接口903可以使用但不限于收发器一类的收发装置,来实现装置900与其他设备或通信网络之间的通信。
总线904可以包括在装置900各个部件(例如,存储器901、处理器902、通信接口903)之间传送信息的通路。
应理解,本申请实施例所示的装置900可以是图1中的编码器20、图2中的视频编码器20、图3中的处理器510或图4中的视频编码器603,以用于执行本申请实施例所述的视频编码的方法。
或者,本申请实施例所示的装置900也可以是图1中的解码器30、图2中的视频解码器30、图3中的处理器510或图4中的视频解码器702,以用于执行本申请实施例所述的视频解码的方法。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种视频编码的方法,其特征在于,包括:
获取编码帧的图像语义信息;
获取所述编码帧的残差;
根据所述图像语义信息确定所述编码帧中的多个区域;
对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;
对所述图像语义信息及所述编码帧的候选残差进行编码。
2.根据权利要求1所述的方法,其特征在于,所述对所述编码帧中的多个区域对应的残差进行简化处理,包括:
以多种不同的简化策略,对所述多个区域对应的残差进行简化处理。
3.根据权利要求1或2所述的方法,其特征在于,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;
其中,所述获取所述编码帧的残差,包括:
使用第一神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化;
基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述编码帧的残差及所述编码帧的预测图像,调整所述第一神经网络模型的参数。
5.根据权利要求4所述的方法,其特征在于,所述基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差,包括:
使用第二神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;
将所述编码帧的原始图像与所述编码帧的候选预测图像作差,得到所述编码帧的残差。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述编码帧的原始图像与所述编码帧的候选预测图像,调整所述第二神经网络模型的参数。
7.根据权利要求3至6中任一项所述的方法,其特征在于,所述方法还包括:
将满足下述至少一项的视频帧确定为所述待编码视频的关键帧:
所述视频帧包含预设画面、所述视频帧与其前一帧图像之间的差异大于或等于第一预设值以及所述视频帧的残差大于或等于第二预设值。
8.一种视频解码的方法,其特征在于,包括:
解析码流得到编码帧的图像语义信息及所述编码帧的候选残差,其中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;
根据所述图像语义信息及所述编码帧的候选残差,确定所述编码帧的目标图像。
9.根据权利要求8所述的方法,其特征在于,所述候选残差是以多种不同的简化策略,对所述编码帧中的多个区域对应的残差进行简化处理后得到的。
10.根据权利要求8或9所述的方法,其特征在于,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;
其中,所述根据所述图像语义信息及所述候选残差,确定所述编码帧的目标图像,包括:
使用第三神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化;
基于所述编码帧的预测图像及所述编码帧的候选残差,得到所述编码帧的目标图像。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
根据所述编码帧的目标图像及所述编码帧的预测图像,调整所述第三神经网络模型的参数。
12.根据权利要求11所述的方法,其特征在于,所述基于所述编码帧的预测图像及所述候选残差,得到所述编码帧的目标图像,包括:
使用第四神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;
将所述编码帧的候选预测图像与所述编码帧的候选残差相加,得到所述编码帧的目标图像。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
根据所述编码帧的目标图像及所述编码帧的候选预测图像,调整所述第四神经网络模型的参数。
14.一种视频编码的装置,其特征在于,包括:
第一获取单元,用于获取编码帧的图像语义信息;
第二获取单元,用于获取所述编码帧的残差;
第一确定单元,用于根据所述图像语义信息确定所述编码帧中的多个区域;
简化处理单元,用于对所述编码帧中的多个区域对应的残差进行简化处理,得到所述编码帧的候选残差,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;
编码单元,用于对所述图像语义信息及所述编码帧的候选残差进行编码。
15.根据权利要求14所述的装置,其特征在于,所述简化处理单元具体用于:
以多种不同的简化策略,对所述多个区域对应的残差进行简化处理。
16.根据权利要求14或15所述的装置,其特征在于,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;
其中,所述第二获取单元具体用于:
使用第一神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化;
基于所述编码帧的原始图像与所述编码帧的预测图像得到所述编码帧的残差。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括调整单元,用于:
根据所述编码帧的残差及所述编码帧的预测图像,调整所述第一神经网络模型的参数。
18.根据权利要求17所述的装置,其特征在于,所述第二获取单元具体用于:
使用第二神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;
将所述编码帧的原始图像与所述编码帧的候选预测图像作差,得到所述编码帧的残差。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括调整单元,用于:
根据所述编码帧的原始图像与所述编码帧的候选预测图像,调整所述第二神经网络模型的参数。
20.根据权利要求16至19中任一项所述的装置,其特征在于,所述装置还包括第二确定单元,用于:
将满足下述至少一项的视频帧确定为所述待编码视频的关键帧:
所述视频帧包含预设画面、所述视频帧与其前一帧图像之间的差异大于或等于第一预设值以及所述视频帧的残差大于或等于第二预设值。
21.一种视频解码的装置,其特征在于,包括:
解码单元,用于解析码流得到编码帧的图像语义信息及所述编码帧的候选残差,其中,所述候选残差是对所述编码帧中的多个区域对应的残差进行简化处理后得到的,所述多个区域中的至少一个区域对应的候选残差编码后的码率小于所述至少一个区域对应的残差编码后的码率;
确定单元,用于根据所述图像语义信息及所述编码帧的候选残差,确定所述编码帧的目标图像。
22.根据权利要求21所述的装置,其特征在于,所述候选残差是以多种不同的简化策略,对所述编码帧中的多个区域对应的残差进行简化处理后得到的。
23.根据权利要求21或22所述的装置,其特征在于,所述编码帧为待编码视频包括的多个视频帧中的一个,所述待编码视频中还包括至少一个关键帧;
其中,所述确定单元还用于:
使用第三神经网络模型,根据所述编码帧的参考帧及所述视频语义信息生成所述编码帧的预测图像,所述视频语义信息表示所述待编码视频包括的多个视频帧之间的变化;
基于所述编码帧的预测图像及所述编码帧的候选残差,得到所述编码帧的目标图像。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括调整单元,用于:
根据所述编码帧的目标图像及所述编码帧的预测图像,调整所述第三神经网络模型的参数。
25.根据权利要求24所述的装置,其特征在于,所述确定单元还用于:
使用第四神经网络模型,基于所述视频语义信息对所述待编码视频包括的多个视频帧的预测图像进行后处理,得到所述多个视频帧的候选预测图像,所述后处理能够使得所述多个视频帧的候选预测图像之间的变化流畅;
将所述编码帧的候选预测图像与所述编码帧的候选残差相加,得到所述编码帧的目标图像。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括调整单元,用于:
根据所述编码帧的目标图像及所述编码帧的候选预测图像,调整所述第四神经网络模型的参数。
27.一种视频编码的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至7中任一项所述的方法。
28.一种视频解码的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求8至13中任一项所述的方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令由处理器运行时,实现权利要求1至7或8至13中任一项所述的方法。
30.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至7或8至13中任一项所述的方法。
CN202011051975.9A 2020-09-29 2020-09-29 视频编码的方法、视频解码的方法及其装置 Pending CN114339238A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011051975.9A CN114339238A (zh) 2020-09-29 2020-09-29 视频编码的方法、视频解码的方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011051975.9A CN114339238A (zh) 2020-09-29 2020-09-29 视频编码的方法、视频解码的方法及其装置

Publications (1)

Publication Number Publication Date
CN114339238A true CN114339238A (zh) 2022-04-12

Family

ID=81011569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011051975.9A Pending CN114339238A (zh) 2020-09-29 2020-09-29 视频编码的方法、视频解码的方法及其装置

Country Status (1)

Country Link
CN (1) CN114339238A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037933A (zh) * 2022-08-09 2022-09-09 浙江大华技术股份有限公司 一种帧间预测的方法及设备
CN116233445A (zh) * 2023-05-10 2023-06-06 腾讯科技(深圳)有限公司 视频的编解码处理方法、装置、计算机设备和存储介质
CN116708843A (zh) * 2023-08-03 2023-09-05 清华大学 一种语义通信过程中的用户体验质量反馈调节系统
CN116743609A (zh) * 2023-08-14 2023-09-12 清华大学 一种基于语义通信的视频流媒体的QoE评估方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037933A (zh) * 2022-08-09 2022-09-09 浙江大华技术股份有限公司 一种帧间预测的方法及设备
CN115037933B (zh) * 2022-08-09 2022-11-18 浙江大华技术股份有限公司 一种帧间预测的方法及设备
CN116233445A (zh) * 2023-05-10 2023-06-06 腾讯科技(深圳)有限公司 视频的编解码处理方法、装置、计算机设备和存储介质
CN116708843A (zh) * 2023-08-03 2023-09-05 清华大学 一种语义通信过程中的用户体验质量反馈调节系统
CN116708843B (zh) * 2023-08-03 2023-10-31 清华大学 一种语义通信过程中的用户体验质量反馈调节系统
CN116743609A (zh) * 2023-08-14 2023-09-12 清华大学 一种基于语义通信的视频流媒体的QoE评估方法及装置
CN116743609B (zh) * 2023-08-14 2023-10-17 清华大学 一种基于语义通信的视频流媒体的QoE评估方法及装置

Similar Documents

Publication Publication Date Title
CN112005551B (zh) 一种视频图像预测方法及装置
CN113840143A (zh) 编码器、解码器以及使用ibc专用缓冲区的对应方法
CN114339238A (zh) 视频编码的方法、视频解码的方法及其装置
JP7279154B2 (ja) アフィン動きモデルに基づく動きベクトル予測方法および装置
CN112954367B (zh) 使用调色板译码的编码器、解码器和相应方法
WO2021042957A1 (zh) 一种图像处理方法和装置
AU2020261145B2 (en) Picture prediction method and apparatus, and computer-readable storage medium
US20220295071A1 (en) Video encoding method, video decoding method, and corresponding apparatus
CN111277828B (zh) 视频编解码方法、视频编码器和视频解码器
CN111416981B (zh) 视频图像解码、编码方法及装置
CN114026864A (zh) 用于几何分割模式的色度样本权重推导
CN112055200A (zh) Mpm列表构建方法、色度块的帧内预测模式获取方法及装置
AU2024201357A1 (en) Picture prediction method and apparatus, and computer-readable storage medium
CN112235568B (zh) 图像编码方法、解码方法、装置和存储介质
WO2021008524A1 (zh) 图像编码方法、解码方法、装置和存储介质
US20230388490A1 (en) Encoding method, decoding method, and device
CN111432219B (zh) 一种帧间预测方法及装置
CN114270847A (zh) 融合候选运动信息列表的构建方法、装置及编解码器
WO2023011420A1 (zh) 编解码方法和装置
CN118216148A (zh) 一种视频编码方法及其相关装置
CN111327894B (zh) 块划分方法、视频编解码方法、视频编解码器
CN111277840B (zh) 变换方法、反变换方法以及视频编码器和视频解码器
CN113316939A (zh) 一种标志位的上下文建模方法及装置
CN113366850A (zh) 视频编码器、视频解码器及相应方法
CN112135128A (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