视频编码、视频解码方法、装置、电子设备和存储介质
文献发布时间:2023-06-19 18:32:25
技术领域
本发明涉及图像处理技术领域,尤其涉及一种视频编码、视频解码方法、装置、电子设备和存储介质。
背景技术
随着数字媒体技术的快速发展,视频成为重要的传播载体,视频形式的交流、娱乐和学习逐渐融入大众的日常生活,越来越贴近并深入普通用户。目前常见的视频形式中往往会在一段主题内容的开始部分或者结束部分加入渐变特效,通过画面渐入渐出效果给观众更自然和更舒适的观看感受。
为了减少数据传输对网络带宽的压力,视频编解码技术成为多媒体领域重要的研究内容。在进行视频编码时,帧间预测技术能够有效消除时间域数据冗余,大大降低视频传输码率。然而,当视频序列中出现亮度变化场景时,比如淡入淡出、镜头光圈调制、整体或局部光源改变等,常规的帧间运动估计域运动补偿将难以达到理想的数据压缩效果,甚至于实际编码中在遇到亮度变化的局部内容块时,优化模型的决策结果通常都是采用帧内预测编码,大大降低视频编码效率。因此,为了改善内容亮度变化场景中的编码效果,可以在视频编码中使用加权预测技术,在检测到亮度发生变化时,编码端需要确定当前图像相对参考图像的亮度变化权重和偏移量,并由亮度补偿操作生成对应的加权预测帧。
目前在H.264/AVC标准中,加权预测技术已经被提出,并且加权预测在应用时存在两种模式,分别是显式加权预测与隐式加权预测。对于隐式加权预测,模型参数都是固定的,即编解码端约定好采用相同的加权预测参数,不需要由编码端传输参数,减少了码流传输的压力,提高了传输效率。然而,由于隐式模式下的加权预测参数是固定的,当它应用于帧间单向预测时,当前帧与参考帧之间变化的距离将导致固定权重的预测效果不理想。也就是说,显式模式适用于帧间单向预测和双向预测,而隐式模式仅适用于帧间双向预测。对于显式模式,编码端需要确定加权预测参数,并将其标识于数据头信息中;解码端需要从码流中读取到相应的加权预测参数,以顺利解码图像。加权预测共涉及三个预测参数,分别是weight(权重)、offset(偏移量)、log weight denominator(对数权重分母)。其中,为了避免浮点运算,编码端需要将权重放大,即引入了对数权重分母,而解码端则需要缩小相应的倍数。
以H.266/VVC标准为例,加权预测的一系列参数信息可以包含在图像头(Pictureheader)或者分片头(Slice header)里面。值得注意的是,参考图像的每个亮度或色度分量都有独立的加权预测参数。当视频内容中出现复杂的亮度变化场景时,虽然可以为图像内不同的分片区域配置不同的加权预测参数,但由于编码时的分片划分会影响网络抽象层数据传输等,分片划分方式存在诸多限制,分片层自适应的加权预测技术难以灵活地满足多样化的亮度变化情形。另一方面,现有标准化技术中每个参考图像仅配备了一套加权预测参数(即一套相互配合的权重和偏移量),在当前整幅图像具有完整一致的亮度变化形式时,只需要选用前向最近的一个参考图像及其加权预测参数就能达到很好的预测效果。然而,为了适当兼顾其他形式的内容亮度变化场景,当进行视频帧间编码时,可以遵循现有标准选用多个不同的参考图像,并人为地针对当前图像中不同区域内容配置适应参考图像的权重和偏移量,如图1所示。考虑到解码端的缓冲区往往仅能存放少量解码后的参考图像,尤其是针对超高清视频、全景视频等大数据量媒体内容,故而在实际应用中图1所示方案也只能适用部分亮度变化场景。
总而言之,现有视频编码标准化技术中的视频编码方案在针对视频中复杂的图形亮度变化场景进行编码时,其可行性和灵活度存在较大的限制。
发明内容
本申请实施例的主要目的在于提出一种视频编码方法、装置、电子设备和存储介质,旨在复杂的图形亮度变化场景中实现视频灵活编码,提高视频编码效率,降低图形亮度变化对编码效率的影响。
本申请实施例提供了一种视频编码方法,其中,该方法包括以下步骤:
获取视频图像,其中,所述视频图像为视频的至少一帧图像;
对所述视频图像进行加权预测编码以生成图像码流,其中,所述加权预测编码使用至少一套加权预测标识信息和参数。
本申请实施例提供了一种视频解码方法,其中,该方法包括以下步骤:
获取图像码流,并解析所述图像码流中的加权预测标识信息和参数;
根据所述加权预测标识信息和参数解码所述图像码流以生成重建图像。
本申请实施例还提供了一种视频编码装置,其中,该装置包括以下模块:
图像获取模块,用于获取视频图像,其中,所述视频图像为视频的至少一帧图像;
视频编码模块,用于对所述视频图像进行加权预测编码以生成图像码流,其中,所述加权预测编码使用至少一套加权预测标识信息和参数。
本申请实施例还提供了一种视频解码装置,其中,该装置包括以下模块:
码流获取模块,用于获取图像码流,并解析所述图像码流中的加权预测标识信息和参数;
图像重建模块,用于根据所述加权预测标识信息和参数解码所述图像码流以生成重建图像。
本申请实施例还提供了一种电子设备,其中,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请实施例中任一所述的方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例中任一所述的方法。
本申请实施例,通过获取视频图像,该视频图像为视频中至少一帧图像,对视频图像进行加权预测编码以生成图像码流,其中,加权预测编码过程中使用了至少一套加权预测标识信息和参数,实现了视频图像的灵活编码,可提高视频编码效率,降低视频图像亮度变化对编码效率的影响。
附图说明
图1是现有技术中面向多参考图像的区域自适应加权预测的示例图;
图2是本申请实施例提供的一种视频编码方法的流程图;
图3是本申请实施例提供的另一种视频编码方法的流程图;
图4是本申请实施例提供的另一种视频编码方法的流程图;
图5是本申请实施例提供的一种视频编码方法的示例图;
图6是本申请实施例提供的另一种视频编码方法的示例图;
图7是本申请实施例提供的一种视频解码方法的流程图;
图8是本申请实施例提供的另一种视频解码方法的流程图;
图9是本申请实施例提供的一种视频解码方法的示例图;
图10是本申请实施例提供的另一种视频解码方法的示例图;
图11是本申请实施例提供的一种视频编码装置的结构示意图;
图12是本申请实施例提供的一种视频解码装置的结构示意图;
图13是本申请实施例提供的一种编码器的结构示意图;
图14是本申请实施例提供的一种解码器的结构示意图;
图15是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
图2是本申请实施例提供的一种视频编码方法的流程图,本申请实施例可适用于亮度变化场景中的视频编码,该方法可以由视频编码装置来执行,该装置可通过软件和/或硬件方式实现,并一般集成在终端设备,参见图2,本申请实施例提供的方法具体包括如下步骤:
步骤110、获取视频图像,其中,视频图像为视频的至少一帧图像。
其中,视频图像可以需要进行传输的视频数据,视频图像可以是视频数据序列中的某一帧数据或者某一时刻对应的一帧数据。
在本申请实施例中,可以对视频数据进行处理,提取其中的一帧或多帧图像数据作为进行视频编码的视频数据。
步骤120、对视频图像进行加权预测编码以生成图像码流,其中,加权预测编码使用至少一套加权预测标识信息和参数。
其中,由于视频中场景会随着时间光线强弱渐变,或者,相同场景的视频出现阴影效应,虽然帧与帧间背景的相似度可能很高,明暗差别较大,相邻帧图像存在亮度变化,当前帧可以相当于前序帧整体乘了一种权重(weight),再加上一个偏移量的方式基于前序帧进行视频编码,这种通过权重和偏移量进行视频编码的过程可以被称为加权预测编码,在加权预测编码过程中主要涉及三个预测参数,分别为权重(weight)、偏移量(offset)、对数权重分母(log weight denominator),其中,对数权重分母可以避免编码过程中的浮点运算,将权重放大。加权预测标识信息可以是进行加权预测使用的参数的标识信息,参数可以是加权预测标识信息具体参数,可以包括权、偏移量和对数权重分母中至少之一。图像码流可以是视频图像编码后生成的数据,图像码流可以用于终端设备之间的传输。
在本申请实施例中,可以对视频图像进行加权预测编码,在加权预测编码的过程中可以使用一套或多套加权预测标识信息和参数,例如,可以针对不同帧的视频图像使用不同的加权预测标识信息和参数,或者,可以针对相同帧内不同区域的视频图像使用不同的加权预测标识信息和参数。可以理解的是,在对视频图像进行加权预测编码的过程中,可以按照视频图像的亮度变化选择不同的加权预测标识信息和参数进行视频编码。
本申请实施例,通过获取视频图像,该视频图像为视频中至少一帧图像,对视频图像进行加权预测编码以生成图像码流,其中,加权预测编码过程中使用了至少一套加权预测标识信息和参数,实现了视频图像的灵活编码,可提高视频编码效率,降低视频图像亮度变化对编码效率的影响。
图3是本申请实施例提供的另一种视频编码方法的流程图,本申请实施例是在上述申请实施例的基础上的具体化,参见图3,本申请实施例提供的方法具体包括如下步骤:
步骤210、获取视频图像,其中,所述视频图像为视频的至少一帧图像。
步骤220、根据视频图像与参考图像的比较结果确定亮度变化情况。
其中,参考图像可以是视频数据序列中位于当前处理的视频图像之前或者之后的图书数据,参考图像可以用于对当前处理的视频图像的运动估计操作,参考图像的数量可以为一帧或者多帧。亮度变化情况可以是视频图像相较于参考图像的亮度变化情况,亮度变化情况具体可以由视频图像与参考图像的像素值变化确定。
在本申请实施例中,可以将视频图像与参考图像进行比较,比较的方式可以包括计算相应位置的像素值的差值或者,计算视频图像与参考图像的像素均值的差值等,可以将视频图像与参考图像的比较结果确定亮度变化情况,亮度变化情况可以包括逐渐变亮、逐渐变暗、无变化、随机变化等。
进一步的,在上述申请实施例的基础上,所述亮度变化情况包括以下至少之一:图像亮度变化均值、像素点亮度变化值。
具体的,视频图像与参考图像的亮度变化情况可以通过图像亮度变化均值和/或像素点亮度变化值确定,其中,图像亮度变化均值可以指当前图像和参考图像的亮度值的均值变化,像素点亮度变化值可以是视频图像中每一个像素点的亮度值和参考图像对应位置像素点亮度值的变化。可以理解的是,亮度变化情况还可以是其他亮度值统计特性的变化,例如,亮度方差、亮度均方差等。
步骤230、根据视频图像的亮度变化情况对视频图像进行加权预测编码,其中,加权预测编码使用至少一套加权预测标识信息和参数。
在本申请实施例中,可以预设多套加权预测标识信息和参数,可以根据亮度变化情况选择对应的预测标识信息和参数对视频图像进行加权预测编码。可以理解的是,可以针对亮度变化情况的具体内容对视频图像进行预测加权编码,例如,可以针对不同帧的视频图像的亮度变化选择不同的加权预测标识信息和参数进行加权预测编码,还可以针对视频图像中的不同区域选择不同的加权预测标识信息和参数进行加权预测编码。
步骤240、将加权预测标识信息和参数写入图像码流。
具体的,视频图像经过加权预测编码后生成图像码流,可以将编码过程中使用的加权预测标识信息和参数写入到图像码流,以便后续过程中的视频解码过程。
本申请实施例,通过获取视频图像,按照视频图像与参考图像的比较结果确定亮度变化情况,按照亮度变化情况对视频图像进行加权预测编码,将加权预测编码使用的加权预测标识信息和参数写入图像码流,实现了视频图像的灵活编码,可提高视频编码效率,降低视频图像亮度变化对编码效率的影响。
进一步的,在上述申请实施例的基础上,所述根据所述亮度变化情况对所述视频图像进行加权预测编码,包括以下至少之一:
若亮度变化情况为整帧图像亮度一致,则对视频图像进行加权预测编码;
若亮度变化情况为分区图像亮度一致,则确定分别对视频图像内各分区图像进行加权预测编码。
其中,整帧图像亮度一致可以是视频图像整帧图像帧的亮度变化是相同的。分区图像亮度一致可以是视频图像中存在多个区域,每个区域的亮度变化不相同。
在本申请实施例中,当亮度变化情况为整帧图像亮度一致时,可对整帧视频图像进行加权预测编码,当亮度变化情况为分区图像亮度一致时,视频图像中的亮度变化情况时多种多样的,可以针对各图像区域执行加权预测编码,可以理解的是,当各图像区域的亮度变化不相同时,加权预测编码过程中使用的加权预测标识信息和参数可以不同。
进一步的,在上述申请实施例的基础上,所述视频图像针对所述参考图像或所述参考图像的分区图像存在至少一套所述加权预测标识信息和参数。
本申请实施例中,视频图像在加权预测编码过程中使用的加权预测标识信息和参数是相当于参考图像确定的信息,视频图像以参考图像为基准存在一套或者多套加权预测标识信息和参数,当视频图像的参考图像为多帧时,视频图像可以分别针对每帧参考图像存在一套或多个加权预测标识信息和参数,各套加权预测标识信息和参数可以与对应的视频图像和/或参考图像存在关联关系。
图4是本申请实施例提供的另一种视频编码方法的流程图,本申请实施例是在上述申请实施例基础上的具体化,参见图4,本申请实施例提供的方法具体包括如下步骤:
步骤310、获取视频图像,其中,所述视频图像为视频的至少一帧图像。
步骤320、根据预先训练的神经网络模型对视频图像进行加权预测编码。
其中,神经网络模型可以对视频图像进行加权预测编码处理,可以确定视频图像使用的加权预测标识信息和参数,神经网络模型可以使用标识有加权预测标识信息和参数的图像样本训练生成。神经网络模型可以是确定出视频图像的加权预测标识信息和参数或者直接确定出视频图像的图像码流。
在本申请实施例中,可以将视频图像直接或间接的输入到神经网络模型中,通过神经网络模型实现对视频图像的加权预测编码。可以理解的是,神经网络模型的输入层可以接受视频图像或者视频图像的特征,神经网络模型可以生成视频图像的加权预测编码使用的加权预测标识信息和参数,或者,直接对视频图像进行加权预测编码。
步骤330、将加权预测标识信息和参数写入图像码流。
本申请实施例,通过获取视频图像,使用预先训练的神经网络模型对视频图像进行加权预测编码,将加权预测编码使用的加权预测标识信息和参数写入图像视频编码生成的图像码流,实现视频图像的灵活编码,可提高视频编码效率,降低视频图像亮度变化对编码效率的影响。
进一步的,在上述申请实施例的基础上,所述加权预测标识信息还包括神经网络模型结构和神经网络模型参数。
具体的,加权预测标识信息中还可以包括神经网络模型结构和神经网络模型参数,其中,神经网络模型结果可以是反映神经网络结果的信息,例如,全连接层使用的函数、激活函数、损失函数等,神经网络模型参数可以是神经网络模型的参数的具体取值,例如,网络权重值、隐含层数量等。
进一步的,在上述申请实施例的基础上,所述加权预测编码使用的一套所述加权预测标识信息和参数对应一帧所述视频图像或者所述视频图像的至少一个分区图像。
在本申请实施例中,加权预测编码过程中可以使用一套或者多套加权预测标识信息和参数,每套机器预测标识信息和参数在加权预测编码过程中对应一帧视频图像或者视频图像中的一个分区图像,该分区图像可以是视频图像中的一部分,例如,分片图像或者子图像等。
进一步的,在上述申请实施例的基础上,所述分区图像的规格包括以下至少之一:分片Slice、瓦片Tile、子图像Subpicture、编码树单元Coding Tree Unit、编码单元CodingUnit。
具体的,当对视频图像以分区图像的形式进行加权预测编码时,分区图像可以为分片Slice、瓦片Tile、子图像Subpicture、编码树单元Coding TreeUnit、编码单元CodingUnit中的一种或者多种。
进一步的,在上述申请实施例的基础上,所述加权预测标识信息和所述参数包含在下述至少一种参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息、编码树单元、编码单元。
具体的,可以将加权预测标识信息及参数写入图像码流,标识信息及参数包含在下列全部或部分参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息,或者作为一种新的信息单元,也可以包含在编码树单元或编码单元中。
进一步的,在上述申请实施例的基础上,所述加权预测标识信息和所述参数包括以下信息中至少之一:参考图像索引信息、加权预测启用控制信息、区域自适应的加权预测启用控制信息、加权预测参数。
在本申请实施例中,加权预测标识信息可以为参考图像索引信息,该信息用于确定亮度变化使用的参考图像,加权预测启用控制信息,该信息用于确定是否进行加权预测编码,区域自适应加权预测启用控制信息,该信息用于确定是否对图像视频进行区域加权预测编码,加权预测参数可以是加权预测编码过程使用的参数,可以包括权重、偏移量、对数权重分母等。
进一步的,在上述申请实施例的基础上,所述图像码流包括传输流或媒体文件。
具体的,图像码流可以为传输流或者媒体文件。
在一个示例性的实施方式中,图5是本申请实施例提供的一种视频编码方法的示例图,参见图5,编码处理的输入是视频所包含的图像,输出是图像码流或包含图像码流的传输数据流或媒体文件,视频编码的过程可以包括如下步骤:
步骤101:读取图像,其中,该图像可以是视频序列中的某一帧数据,也可以是某一时刻对应的一帧数据。
步骤102:检测该图像相对于某一参考图像的亮度变化。
其中,参考图像可以是指视频序列中在时间线上图像之前的图像,也可以是时间线上当前图像之后的图像,参考图像是用来对当前图像进行运动估计操作。参考图像可以有一帧也可以有多帧;
亮度变化可以是指当前图像和参考图像的亮度值的均值变化,也可以是当前图像每一个像素点的亮度值和参考图像对应位置像素点亮度值变化,也可以是其它亮度值统计特性的变化;
若参考图像是多帧的话,当前图像需要针对每一帧参考图像检测亮度变化。
步骤103:根据步骤102中的亮度变化检测结果,判断是否需要采用加权预测操作。其中判断依据包括面向特定的亮度变化情形,加权预测操作在提升编码效率和增加编码复杂度之间的权衡。
步骤104:当需要采用加权预测操作时,则执行加权预测编码,并记录前述参考图像的索引信息、一套或多套加权预测参数、和/或加权预测参数索引信息。
根据步骤102中的亮度变化统计信息,编码器记录亮度变化的区域特性。其中亮度变化的区域特性包括亮度变化在整帧图像区域保持变化一致,或者亮度变化在图像的部分区域保持变化一致。所述部分区域可以是一个或者多个分片(Slice),也可以一个或者多个瓦片(Tile),也可以是一个或者多个子图像(Subpicture),也可以是一个或者多个编码树单元(Coding Tree Unit,CTU),也可以是一个或者多个编码单元(Coding Unit,CU);
如果亮度变化是在整帧图像区域保持一致的话,可以认为当前图像对应参考图像是亮度变化统一的,否则是不统一的;
若当前图像的亮度变化情形是统一的,则执行加权预测编码,并记录前述参考图像索引信息与一套加权预测参数,其中加权预测参数包括权重和偏移量;
若当前图像各区域的亮度变化情形是多样的,则按图像区域执行加权预测编码,并记录前述参考图像索引信息与多套加权预测参数,以及各图像区域使用的特定加权预测参数索引信息。其中,可以是一个图像区域对应一套加权预测参数,也可以多个图像区域对应一套加权预测参数。
步骤105:将加权预测标识信息及参数写入码流,所述标识信息及参数包含在下列全部或部分参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息,或者作为一种新的信息单元,也可以包含在编码树单元或编码单元中。
步骤106:当不需要采用加权预测操作时,直接基于传统方法进行图像编码;
步骤107:输出图像码流或包含图像码流的传输流或媒体文件。
在另一个示例性的实施方式中,图6是本申请实施例提供的一种视频编码方法的示例图,参见图6,本实施例将深度学习技术应用于区域自适应的加权预测操作,视频编码的过程可以包括如下步骤:
步骤201:读取图像,其中,该图像可以是视频序列中的某一帧数据,也可以是某一时刻对应的一帧数据。
步骤202:确定是否使用基于深度学习技术的加权预测方案。
步骤203:使用深度学习技术时,使用训练生成的神经网络模型和参数进行图像加权预测编码。
可选地,为了降低运算复杂度,可以基于神经网络学习与训练,简化为固定加权预测参数。应用中,面向图像中不同区域内容,选择合适的加权预测参数进行加权预测编码。所述加权预测参数可以包括权重和偏移量;其中,单幅图像可以使用一组数值中的全部或部分权重和偏移量。
步骤204:基于神经网络模型进行图像加权预测编码时,记录深度学习方案必要的加权预测参数,包括但不限于神经网络模型结构和参数、提取的一组加权预测参数数值与各个图像区域使用的参数索引信息。
步骤205:不使用深度学习技术时,基于传统运算方案执行区域自适应的加权预测编码,例如基于实施例一中的操作过程。
步骤206:将加权预测标识信息及参数写入码流,所述标识信息及参数包含在下列全部或部分参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息,或者作为一种新的信息单元,也可以包含在编码树单元或编码单元中。
步骤207:输出图像码流或包含图像码流的传输流或媒体文件。
图7是本申请实施例提供的一种视频解码方法的流程图,本申请实施例可适用于亮度变化场景中的视频解码,该方法可以由视频解码装置来执行,该装置可通过软件和/或硬件方式实现,并一般集成在终端设备,参见图7,本申请实施例提供的方法具体包括如下步骤:
步骤410、获取图像码流,并解析图像码流中的加权预测标识信息和参数。
在本申请实施例中,可以接收传输的图像码流,并在图像码流中提取到加权预测标识信息和参数,其中,图像码流可以包括一套或者多套加权预测标识信息和参数。
步骤420、根据加权预测标识信息和参数解码图像码流以生成重建图像。
具体的,可以使用获取到的加权预测标识信息和参数对图像码流进行加权预测解码,将图像码流处理为重建图像,其中,重建图像可以根据传输码流生成的图像。
本申请实施例,通过获取图像码流,并获取图像码流中的加权预测标识信息和参数,按照获取到的加权预测标识信息和参数对图像码流进行处理以生成重新图像,实现了图像码流的动态解码,可提高视频解码效率,降低图像亮度变化对视频解码效率的影响。
图8是本申请实施例提供的另一种视频解码方法的流程图,本申请实施例是在上述申请实施例基础上的具体化,参见图8,本申请实施例提供的方法具体包括如下步骤:
步骤510、获取图像码流,并解析图像码流中的加权预测标识信息和参数。
步骤520、根据预先训练的神经网络模型使用加权预测标识信息和参数对图像码流进行加权预测解码以生成重建图像。
其中,神经网络模型可以是用于图像码流解码的深度学习模型,该深度网络模型可以由样本码流和样本图像训练生成,神经网络模型可以对图像码流进行加权预测解码。
在本申请实施例中,可以将图像码流和加权预测标识信息和参数输入到预先训练的神经网络模型,由神经网络模型对图像码流进行加权预测解码处理,将图像码流处理为重建图像。
本申请实施例,通过获取图像码流,并获取图像码流中的加权预测标识信息和参数,使用预先训练的神经网络模型基于加权预测标识信息和参数将图像码流处理为重建图像,实现了图像码流的动态解码,可提高视频解码效率,降低图像亮度变化对视频解码效率的影响。
进一步的,在上述申请实施例的基础上,所述图像码流中的加权预测标识信息和参数的数量为至少一套。
具体的,图像码流可以是对视频图像进行加权预测编码生成的信息,基于进行加权预测编码的方式的不同,图像码流中可以存在一套或多套加权预测标识信息和参数,例如,编码端对视频图像中的不同区域分别进行加权预测编码,则图像码流中可以存在多套加权预测标识信息和参数。
进一步的,在上述申请实施例的基础上,所述加权预测标识信息和所述参数包含在下述至少一种参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息、编码树单元、编码单元。
进一步的,在上述申请实施例的基础上,所述加权预测标识信息和所述参数包括以下信息中至少之一:参考图像索引信息、加权预测启用控制信息、区域自适应的加权预测启用控制信息、加权预测参数。
进一步的,在上述申请实施例的基础上,所述图像码流包括传输流或媒体文件。
进一步的,在上述申请实施例的基础上,所述加权预测标识信息和参数还包括神经网络模型结构和神经网络模型参数。
在一个示例性的实施方式中,图9是本申请实施例提供的一种视频解码方法的示例图,参见图9,解码处理的输入是图像码流或包含图像码流的传输数据流或媒体文件,输出是构成视频的图像,视频图像的解码过程可以包括:
步骤301:读取码流。
步骤302:解析码流,获取加权预测标识信息。
解码器解析序列层参数集、图像层参数集和/或分片层参数集,获取加权预测标识信息。其中,序列层参数集包括序列参数集(Sequence Parameter Set,SPS),图像层参数集包括图像参数集(Picture Parameter Set,PPS)、适配参数集(Adaptation ParameterSet,APS),分片层参数集包括APS。序列层参数集中的加权预测标识信息可以被图像层参数集和分片层参数集引用,图像层参数集中的加权预测标识信息可以被分片层参数集引用。所述加权预测标识信息包括但不限于当前参数集指示的序列和/或图像是否采用单向加权预测、双向加权预测、和/或区域自适应的多权重加权预测;
其中,区分是否采用区域自适应的多权重加权预测的方式,包括但不限于解析二进制标识符、或者加权预测参数套数(是否等于或大于1)。
步骤303:依据加权预测标识信息,判断当前图像是否采用加权预测解码。
步骤304:当确定当前图像采用加权预测解码时,获取加权预测参数信息。
解码器根据标识信息指示,从参数集和/或数据头信息中获取加权预测参数信息。其中,参数集包括SPS、PPS、APS,数据头信息包括图像头PH、分片头(Slice Header,SH)。所述加权预测参数信息包括但不限于参考图像列表中的各参考图像是否配置了加权预测参数(权重和偏移量)、各参考图像配置的加权预测参数套数、以及各套加权预测参数具体取值等。
步骤305:依据加权预测标识信息与参数,对当前图像进行加权预测解码。
依据加权预测标识信息,解码器可以对当前完整图像进行统一形式的加权预测解码,或者对图像中各局部内容进行差异化的加权预测解码。
步骤306:当确定当前图像不采用加权预测解码时,直接基于传统方法进行图像解码。
步骤307:生成重建图像。其中重建图像可以用于显示,也可以直接保存。
在另一个示例性的实施方式中,图10是本申请实施例提供的另一种视频解码方法的示例图,参见图10,本实施例将深度学习技术应用于区域自适应的加权预测操作,视频解码方法具体包括如下步骤:
步骤401:读取码流。
步骤402:解析码流,获取基于深度学习的加权预测的标识信息。
解码器解析序列层参数集、图像层参数集和/或分片层参数集,获取基于深度学习的加权预测的标识信息。其中,序列层参数集包括序列参数集(Sequence Parameter Set,SPS),图像层参数集包括图像参数集(Picture Parameter Set,PPS)、适配参数集(Adaptation Parameter Set,APS),分片层参数集包括APS。序列层参数集中的加权预测标识信息可以被图像层参数集和分片层参数集引用,图像层参数集中的加权预测标识信息可以被分片层参数集引用。所述基于深度学习的加权预测的标识信息包括但不限于当前参数集指示的序列和/或图像是否采用基于深度学习的加权预测。
步骤403:依据基于深度学习的加权预测的标识信息,判断当前图像是否采用基于深度学习的加权预测解码。
步骤404:当确定当前图像采用基于深度学习的加权预测解码时,获取深度学习方案必要的加权预测参数。
解码器根据标识信息指示,从参数集和/或数据头信息中获取加权预测参数信息。其中,参数集包括SPS、PPS、APS,数据头信息包括图像头PH、分片头(Slice Header,SH)。所述加权预测参数信息包括但不限于参考图像索引信息、神经网络模型结构和参数、全部或部分加权预测参数数值、当前图像各区域内容使用的加权预测参数索引信息。
步骤405:依据加权预测标识信息与参数,对当前图像进行基于深度学习的加权预测解码。
步骤406:当确定当前图像不采用基于深度学习的加权预测解码时,直接基于传统方法进行图像解码。
步骤407:生成重建图像。其中重建图像可以用于显示,也可以直接保存。
在一个示例性的实施方式中,实施例给出了码流中序列层参数集SPS所包含区域自适应的加权预测参数的标识信息。SPS中的标识信息可以被PPS、APS引用。表1中语法和语义定义如下:
sps_weighted_pred_flag是序列层将加权预测技术应用于单向预测分片(Pslices)的启用控制信息。当sps_weighted_pred_flag等于1时,表明该SPS指示的P slices可能应用了加权预测;反之,当sps_weighted_pred_flag等于0时,表明该SPS指示的Pslices没有应用加权预测。
sps_weighted_bipred_flag是序列层将加权预测技术应用于双向预测分片(Bslices)的启用控制信息。当sps_weighted_bipred_flag等于1时,表明该SPS指示的Bslices可能应用了显式加权预测;反之,当sps_weighted_pred_flag等于0时,表明该SPS指示的B slices没有应用显式加权预测。
sps_wp_multi_weights_flag是序列层关于单个参考图像具有多套加权预测参数的启用控制信息。当sps_wp_multi_weights_flag等于1时,表明该SPS指示的图像的单个参考图像可以具有多套加权预测参数;反之,当sps_wp_multi_weights_flag等于0时,表明该SPS指示的图像的单个参考图像只具有单套加权预测参数。
表1
在一个示例性的实施方式中,本实施例给出码流中图像层参数集PPS所包含区域自适应的加权预测参数的标识信息,PPS中的标识信息可以被APS引用。
表2中语法和语义定义如下:
pps_weighted_pred_flag是图像层将加权预测技术应用于单向预测分片(Pslices)的启用控制信息。当pps_weighted_pred_flag等于1时,表明该PPS指示的P slices应用了加权预测;反之,当pps_weighted_pred_flag等于0时,表明该PPS指示的P slices没有应用加权预测。当sps_weighted_pred_flag等于0时,pps_weighted_pred_flag的取值应当等于0。
pps_weighted_bipred_flag是图像层将加权预测技术应用于双向预测分片(Bslices)的启用控制信息。当pps_weighted_bipred_flag等于1时,表明该PPS指示的Bslices应用了显式加权预测;反之,当pps_weighted_pred_flag等于0时,表明该PPS指示的Bslices没有应用显式加权预测。当sps_weighted_bipred_flag等于0时,pps_weighted_bipred_flag的取值应当等于0。
pps_wp_multi_weights_flag是图像层关于单个参考图像具有多套加权预测参数的启用控制信息。当pps_wp_multi_weights_flag等于1时,表明该PPS指示的图像的单个参考图像具有多套加权预测参数;反之,当pps_wp_multi_weights_flag等于0时,表明该PPS指示的图像的单个参考图像只具有一套加权预测参数。当sps_wp_multi_weights_flag等于0时,pps_wp_multi_weights_flag的取值应当等于0。
pps_no_pic_partition_flag等于1时,表明该PPS指示的每幅图像都不应用图像分割;pps_no_pic_partition_flag等于0时,表明该PPS指示的每幅图像都可能被分割成多个瓦片Tile或分片Slice。
pps_rpl_info_in_ph_flag等于1时,表明参考图像列表(ReferencePictureList,RPL)信息存在于图像头(PictureHeader,PH)语法结构中,且不存在于该PPS指示的不包含PH语法结构的分片头中。pps_rpl_info_in_ph_flag等于0时,表明RPL信息不存在于PH语法结构中,且可能存在于该PPS指示的分片头中。
pps_wp_info_in_ph_flag等于1时,表明加权预测信息可能存在于PH语法结构中,且不存在于该PPS指示的不包含PH语法结构的分片头中。pps_wp_info_in_ph_flag等于0时,表明加权预测信息不存在于PH语法结构中,且可能存在于该PPS指示的分片头中。
表2
在另一个示例性的实施方式中,实施例给出了码流中图像头(PH)所包含区域自适应的加权预测参数的标识信息。PH中包含的加权预测参数可以被当前图片、当前图片中的分片、和/或当前图片中的CTU或CU引用。
表3中语法和语义定义如下:
ph_inter_slice_allowed_flag等于0时,表明该图像所有的编码分片皆为帧内预测类型(Islice)。ph_inter_slice_allowed_flag等于1时,表明该图像允许包含一个或多个单向或双向帧间预测类型的分片(P slice或Bslice)。
multi_pred_weights_table()是包含加权预测参数的数值表,其中单个参考图像可以具有多套加权预测参数(权重+偏移量)。在确定应用帧间加权预测技术且加权预测信息可能存在于PH中时,若pps_wp_multi_weights_flag等于1,则加权预测参数可以从该表中获取。
pred_weight_table()是包含加权预测参数的数值表,其中单个参考图像只具有单套加权预测参数(权重+偏移量)。在确定应用帧间加权预测技术且加权预测信息可能存在于PH中时,若pps_wp_multi_weights_flag等于0,则加权预测参数可以从该表中获取。
表3
在另一个示例性的实施方式中,实施例给出了码流中分片头SH所包含区域自适应的加权预测参数的标识信息。SH中包含的加权预测参数可以被当前分片和/或当前分片中的CTU或CU引用。
表4中语法和语义定义如下:
sh_picture_header_in_slice_header_flag等于1,表明PH语法结构存在于分片头中。sh_picture_header_in_slice_header_flag等于0,PH语法结构不存在于分片头中,即分片层可以不完全继承图像层的标识信息,可以灵活选用编码工具。
sh_slice_type表明了分片的编码类型,可以是帧内编码类型(Islice)、单向帧间编码类型(P slice)、双向帧间编码类型(Bslice)。
sh_wp_multi_weights_flag是分片层关于单个参考图像具有多套加权预测参数的启用控制信息。当sh_wp_multi_weights_flag等于1时,表明该分片头SH指示的图像分片的单个参考图像具有多套加权预测参数;反之,当sh_wp_multi_weights_flag等于0时,表明该SH指示的图像分片的单个参考图像只具有一套加权预测参数。当pps_wp_multi_weights_flag等于0时,sh_wp_multi_weights_flag的取值应当等于0。
在确定应用帧间加权预测技术且加权预测信息可能存在于SH中时,若pps_wp_multi_weights_flag等于1,则加权预测参数可以从数值表multi_pred_weights_table()中获取;若pps_wp_multi_weights_flag等于0,则加权预测参数可以从数值表pred_weight_table()中获取。
表4
在另一个示例性的实施方式中,实施例给出了加权预测参数的数值表的语法和语义,pred_weight_table()和multi_pred_weights_table()皆是包含加权预测参数的数值表,其区别在于前者定义了单个参考图像只具有单套加权预测参数,而后者定义了单个参考图像可以具有多套加权预测参数。具体地,pred_weight_table()的语法和语义可以参见国际标准H.266/VVCversion1的文档描述;multi_pred_weights_table()的语法和语义在表5及其描述中给出。其中,
luma_log2_weight_denom和delta_chroma_log2_weight_denom分别是面向亮度和色度的加权因子的放大系数,以避免编码端浮点运算。
num_l0_weights表明了在pps_wp_info_in_ph_flag等于1时,需要为参考图像列表0(RPL0)中众多条目(参考图像)指示的加权因子个数。num_l0_weights的取值范围是[0,Min(15,num_ref_entries[0][RplsIdx[0]])],其中num_ref_entries[listIdx][rplsIdx]表明了参考图像列表语法结构ref_pic_list_struct(listIdx,rplsIdx)中的条目个数。当pps_wp_info_in_ph_flag等于1时,变量NumWeightsL0设置为num_l0_weights;反之,当pps_wp_info_in_ph_flag等于0时,变量NumWeightsL0设置为NumRefIdxActive[0]。其中,NumRefIdxActive[i]-1的取值指示了参考图像列表i(RPL i)中可能被用于解码分片的最大参考索引。当NumRefIdxActive[i]的取值为0时,表明RPL i中没有参考索引用于解码分片。
luma_weight_l0_flag[i]等于1时,表明使用参考列表0中第i个条目(RefPicList[0][i])进行单向预测的亮度分量具有加权因子(权重+偏移量)。当luma_weight_l0_flag[i]等于0时,表明上述加权因子不存在。
chroma_weight_l0_flag[i]等于1时,表明使用参考列表0中第i个条目(RefPicList[0][i])进行单向预测的色度预测值具有加权因子(权重+偏移量)。当chroma_weight_l0_flag[i]等于0时,表明上述加权因子不存在(默认情况)。
num_l0_luma_pred_weights[i]表明了在luma_weight_l0_flag[i]等于1时,需要为参考图像列表0(RPL0)中条目i(参考图像i)亮度分量指示的加权因子个数,即列表0中单个参考图像i亮度分量可以携带的加权预测参数数目。
delta_luma_weight_l0[i][k]和luma_offset_l0[i][k]分别指示了参考图像列表0中第i个参考图像亮度分量的第k个权重因子和偏移量数值。
num_l0_chroma_pred_weights[i][j]表明了在chroma_weight_l0_flag[i]等于1时,需要为参考图像列表0(RPL0)中条目i(参考图像i)的第j个色度分量指示的加权因子个数,即列表0中单个参考图像i的第j个色度分量可以携带的加权预测参数数目。
delta_chroma_weight_l0[i][j][k]和delta_chroma_offset_l0[i][j][k]分别指示了参考图像列表0中第i个参考图像的第j个色度分量的第k个权重因子和偏移量数值。
当涉及双向预测时,除了上述针对参考图像列表0的加权预测参数标识,还需要为参考图像列表1(RPL1)进行类似的信息标识,如表5所示。
表5
在另一个示例性的实施方式中,本实施例给出了另一种加权预测参数的数值表的语法和语义。pred_weight_table()和multi_pred_weights_table()皆是包含加权预测参数的数值表,其区别在于前者定义了单个参考图像只具有单套加权预测参数,而后者定义了单个参考图像可以具有多套加权预测参数。具体地,pred_weight_table()的语法和语义可以参见国际标准H.266/VVCversion1的文档描述;multi_pred_weights_table()的语法和语义在表6及其描述中给出。在实施例十一中,multi_pred_weights_table()涉及参考图像列表中的众多条目,即指定的多个参考图像都需要判断是否存在加权因子,且存在加权因子的单个参考图像还可能具有多套加权预测参数(包括权重和偏移量)。相对地,本实施例是实施例十一的一种特例,其中仅考虑每个参考图像列表中的一个参考图像,即在确定应用加权预测技术时,直接指定该参考图像具有的多套加权预测参数。表6中各字段的含义与表5中各字段对应的语义解释相同。
表6
在另一个示例性的实施方式中,区域自适应的加权预测的标识信息和参数在编码树单元CTU中给出。
在CTU中的加权预测参数信息可以是独立标识的,也可以是引用其它参数集(例如序列层参数集SPS、图像层参数集PPS)或者头信息(例如图像头PH、分片头SH)中的,也可以记录加权预测参数差值,或者记录加权预测参数索引信息与差值。当CTU中的加权预测参数信息是记录差值,或者是记录索引信息和差值时,指代从其它参数集或头信息中获取一个加权数值,再加上CTU中的一个差值,如此就可以得到最终应用于该CTU或者CU的加权预测参数。当以CTU为单位包含加权预测参数信息时,可以实现以CTU为单位的精细化亮度渐变效果,比如圆圈渐变、辐射渐变。
在CTU中标识加权预测参数信息时,具体的码流组织方法可以如表7所示。
表7中,当参考图像列表RPL中单个参考图像仅具有一套加权预测参数时,例如当指示信息sh_wp_multi_weights_flag等于0时,CTU中可以直接设定加权预测参数差值;当参考图像列表中单个参考图像具有多套加权预测参数时,例如当指示信息sh_wp_multi_weights_flag等于1时,CTU中需要标识自身索引的某套加权预测参数,以及加权预测参数差值。
最终应用于当前CTU的加权预测参数是参考图像的特定加权预测参数加上coding_tree_unit()中定义的加权预测参数差值。
所述的加权预测参数差值,包括但不限于面向RPL0中亮度分量的加权预测参数差值(ctu_delta_luma_weight_l0和ctu_delta_luma_offset_l0)、面向RPL0中色度分量的加权预测参数差值(ctu_delta_chroma_weight_l0[i]和ctu_delta_chroma_offset_l0[i])、面向RPL1中亮度分量的加权预测参数差值(ctu_delta_luma_weight_l1和ctu_delta_luma_offset_l1)、面向RPL1中色度分量的加权预测参数差值(ctu_delta_chroma_weight_l1[i]和ctu_delta_chroma_offset_l1[i])。
所述的加权预测参数索引信息,包括但不限于面向RPL0中亮度分量的加权预测参数索引号(ctu_index_l0_luma_pred_weights)、面向RPL0中色度分量的加权预测参数索引号(ctu_index_l0_chroma_pred_weights[i])、面向RPL1中亮度分量的加权预测参数索引号(ctu_index_l1_luma_pred_weights)、面向RPL1中色度分量的加权预测参数索引号(ctu_index_l1_chroma_pred_weights[i])。
总之,最终应用于当前CTU的加权预测参数是参考图像的特定加权预测参数加上coding_tree_unit()中定义的加权预测参数差值。
表7
在另一个示例性的实施方式中,区域自适应的加权预测的标识信息和参数在编码单元CU中给出。
在CU中的加权预测参数信息可以是独立标识的,也可以是引用其它参数集(例如序列层参数集SPS、图像层参数集PPS)或者头信息(例如图像头PH、分片头SH)或者编码树单元CTU中的,也可以记录加权预测参数差值,或者记录加权预测参数索引信息与差值。当CU中的加权预测参数信息是记录差值,或者是记录索引信息和差值时,指代从其它参数集或头信息中获取一个加权数值,再加上CU中的一个差值,如此就可以得到最终应用于该CU的加权预测参数。当以CU为单位包含加权预测参数信息时,可以实现以CU为单位的精细化亮度渐变效果,比如圆圈渐变、辐射渐变。
在CU中标识加权预测参数信息时,具体的码流组织方法可以如表8所示。
其中,cu_pred_weights_adjust_flag指示是否需要对当前CU索引到的加权预测参数值进行调整。当cu_pred_weights_adjust_flag等于1时,指示当前CU需要调整加权预测参数值,即最终应用于当前CU的加权预测参数值为CTU层级的加权预测参数值与CU层级标识的差值之和;当cu_pred_weights_adjust_flag等于1时,指示当前CU直接使用CTU层级决定的加权预测参数值。
表8中,所述的CU层级标识的加权预测参数差值,包括面向RPL0中亮度分量的加权预测参数差值(cu_delta_luma_weight_l0和cu_delta_luma_offset_l0)。
若当前CU包含色度分量,则CU层级标识的加权预测参数差值还包括面向各个色度分量的加权预测参数差值;若当前CU是双向预测的,则CU层级标识的加权预测参数差值还包括面向RPL1中亮度分量和/或各个色度分量的加权预测参数差值。
总之,最终应用于当前CU的加权预测参数是编解码结构中上层数据(例如CTU层级、Slice层级、Subpicture层级)携带的特定加权预测参数加上coding_unit()中定义的加权预测参数差值。
表8
在另一个示例性的实施方式中,区域自适应的加权预测的标识信息和参数在补充增强信息(Supplemental Enhancement Information,SEI)中给出。
网络抽象层单元头信息nal_unit_header()中的NAL unit type设置为23,表示前置的SEI信息。sei_rbsp()包含相关码流sei_message(),sei_message()中包含有效数据信息。设置payloadType取值与当前H.266/VVC version1中的其他SEI信息不同即可(例如,可取值为100),则payload_size_byte中包含了与区域自适应的加权预测相关的码流信息。具体的码流组织方法如表7所示。
multi_pred_weights_cancel_flag为1则取消之前图像相关的SEI信息,且该图像不使用相关SEI功能;multi_pred_weights_cancel_flag为0,则沿用之前的SEI信息(在解码过程,如果当前图像未携带SEI信息,则内存中保留的前一图像的SEI信息会沿用到当前图像的解码过程),且该图像启用相关SEI功能;multi_pred_weights_persistence_flag为1,则SEI信息应用于当前图像和当前层之后图像;multi_pred_weights_persistence_flag为0,则SEI信息只应用于当前图像。表9中其他字段的含义与表5中各字段对应的语义解释相同。
表9
在另一个示例性的实施方式中,区域自适应的加权预测的标识信息和参数在媒体描述信息中给出。其中,媒体描述信息包括但不限于基于HTTP的动态自适应流(DynamicAdaptive Streaming over HTTP,DASH)协议中的媒体呈现描述(Media PresentationDescription,MPD)信息、MPEG媒体传输(MPEG Media Transport,MMT)协议中的媒体资源描述子(Asset Descriptor)信息。以MMT中的媒体资源描述子为例,其面向区域自适应的加权预测信息的码流组织方法如表10所示。表10中的语法及字段含义与表5中各字段对应的语义解释相同。
表10
图11是本申请实施例提供的一种视频编码装置的结构示意图;可执行本申请任意实施例提供的视频编码方法,具备执行方法相应的功能模块和有益效果,该装置可以由软件和/或硬件实现,具体包括:图像获取模块610和视频编码模块620。
图像获取模块610,用于获取视频图像,其中,所述视频图像为视频的至少一帧图像。
视频编码模块620,用于对所述视频图像进行加权预测编码以生成图像码流,其中,所述加权预测编码使用至少一套加权预测标识信息和参数。
本申请实施例,通过图像获取模块获取视频图像,该视频图像为视频中至少一帧图像,视频编码模块对视频图像进行加权预测编码以生成图像码流,其中,加权预测编码过程中使用了至少一套加权预测标识信息和参数,实现了视频图像的灵活编码,可提高视频编码效率,降低视频图像亮度变化对编码效率的影响。
进一步的,在上述申请实施例的基础上,所述装置还包括:
变化确定模块,用于根据所述视频图像与参考图像的比较结果确定亮度变化情况。
进一步的,在上述申请实施例的基础上,所述亮度变化情况包括以下至少之一:图像亮度变化均值、像素点亮度变化值。
进一步的,在上述申请实施例的基础上,所述视频编码模块620包括:
编码处理单元,用于根据所述视频图像的亮度变化情况对所述视频图像进行加权预测编码。
进一步的,在上述申请实施例的基础上,所述编码处理单元具体用于:若所述亮度变化情况为整帧图像亮度一致,则对所述视频图像进行加权预测编码;若所述亮度变化情况为分区图像亮度一致,则确定分别对所述视频图像内各所述分区图像进行加权预测编码。
进一步的,在上述申请实施例的基础上,所述装置中加权预测编码使用的一套所述加权预测标识信息和参数对应一帧所述视频图像或者所述视频图像的至少一个分区图像。
进一步的,在上述申请实施例的基础上,所述装置中分区图像的规格包括以下至少之一:分片Slice、瓦片Tile、子图像Subpicture、编码树单元Coding Tree Unit、编码单元Coding Unit。
进一步的,在上述申请实施例的基础上,所述装置还包括:
码流写入模块,用于将所述加权预测标识信息和参数写入所述图像码流。
进一步的,在上述申请实施例的基础上,所述装置中加权预测标识信息和所述参数包含在下述至少一种参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息、编码树单元、编码单元。
进一步的,在上述申请实施例的基础上,所述装置中加权预测标识信息和所述参数包括以下信息中至少之一:参考图像索引信息、加权预测启用控制信息、区域自适应的加权预测启用控制信息、加权预测参数。
进一步的,在上述申请实施例的基础上,所述装置中图像码流包括传输流或媒体文件。
进一步的,在上述申请实施例的基础上,所述视频编码模块620还包括:
深度学习单元,用于根据预先训练的神经网络模型对所述视频图像进行加权预测编码。
进一步的,在上述申请实施例的基础上,所述装置中加权预测标识信息还包括神经网络模型结构和神经网络模型参数。
图12是本申请实施例提供的一种视频解码装置的结构示意图,可执行本申请任意实施例提供的视频解码方法,具备执行方法相应的功能模块和有益效果,该装置可以由软件和/或硬件实现,具体包括:码流获取模块710和图像重建模块720。
码流获取模块710,用于获取图像码流,并解析所述图像码流中的加权预测标识信息和参数。
图像重建模块720,用于根据所述加权预测标识信息和参数解码所述图像码流以生成重建图像。
本申请实施例,通过码流获取模块获取图像码流,并获取图像码流中的加权预测标识信息和参数,图像重建模块按照获取到的加权预测标识信息和参数对图像码流进行处理以生成重新图像,实现了图像码流的动态解码,可提高视频解码效率,降低图像亮度变化对视频解码效率的影响。
进一步的,在上述申请实施例的基础上,所述装置中图像码流中的加权预测标识信息和参数的数量为至少一套。
进一步的,在上述申请实施例的基础上,所述装置中加权预测标识信息和所述参数包含在下述至少一种参数集合中:序列层参数集、图像层参数集、分片层参数集、补充增强信息、视频可用性信息、图像头信息、分片头信息、网络抽象层单元头信息、编码树单元、编码单元。
进一步的,在上述申请实施例的基础上,所述装置中加权预测标识信息和所述参数包括以下信息中至少之一:参考图像索引信息、加权预测启用控制信息、区域自适应的加权预测启用控制信息、加权预测参数。
进一步的,在上述申请实施例的基础上,所述装置中图像码流包括传输流或媒体文件。
进一步的,在上述申请实施例的基础上,所述图像重建模块720包括:
深度学习解码单元,用于根据预先训练的神经网络模型使用所述加权预测标识信息和参数对所述图像码流进行加权预测解码以生成重建图像。
进一步的,在上述申请实施例的基础上,所述装置中加权预测标识信息和参数还包括神经网络模型结构和神经网络模型参数。
示例性的,图13是本申请实施例提供的一种编码器的结构示意图,图13示出的编码器,应用于对视频进行编码处理的装置。所述装置的输入是视频所包含的图像,输出是图像码流或包含图像码流的传输流或媒体文件。该编码器用于:步骤501:输入图像。步骤502:编码器处理图像,并进行编码。具体操作过程可以如上述任意实施例提供的视频编码方法。步骤503:输出码流。
示例性的,图14是本申请实施例提供的一种解码器的结构示意图,图14示出的解码器,应用于对视频进行解码处理的装置。所述装置的输入是图像码流或包含图像码流的传输流或媒体文件,输出是构成视频的图像。该解码器用于:步骤601:输入图像。步骤602:解码器解析码流获得图像,并对图像进行解码。具体操作过程示例如上述任意实施例提供的视频解码方法。步骤603,输出图像。步骤604,播放器播放图像。
图15是本申请实施例提供的一种电子设备的结构示意图,该电子设备包括处理器70、存储器71、输入装置72和输出装置73;电子设备中处理器70的数量可以是一个或多个,图15中以一个处理器70为例;电子设备中处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图15中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的视频编码装置或视频解码装置对应的模块(图像获取模块610和视频编码模块620,或,码流获取模块710和图像重建模块720)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的方法。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种视频编码方法,该方法包括:
获取视频图像,其中,所述视频图像为视频的至少一帧图像;
对所述视频图像进行加权预测编码以生成图像码流,其中,所述加权预测编码使用至少一套加权预测标识信息和参数。
或者,所述计算机可执行指令在由计算机处理器执行时用于执行一种视频解码方法,该方法包括:
获取图像码流,并解析所述图像码流中的加权预测标识信息和参数;
根据所述加权预测标识信息和参数解码所述图像码流以生成重建图像。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
- 电子设备的显示控制方法、装置、电子设备和存储介质
- 电子设备控制方法及装置、电子设备及存储介质
- 数据存储方法、装置、电子设备及存储介质
- 数据分布存储方法、装置、存储介质及电子设备
- 存储清理方法、装置、电子设备及存储介质
- 视频编码、视频解码方法及装置、电子设备、存储介质
- 视频编码、视频解码方法和装置、电子设备及存储介质