视频编码方法、装置、计算机可读介质及电子设备与流程

专利2022-06-29  89


本公开涉及信号处理技术领域,具体而言,涉及一种视频编码方法、视频编码装置、计算机可读介质及电子设备。



背景技术:

视频编码是指通过特定的压缩技术,将原始视频格式的文件转换成另一种视频格式的文件的方式。常见的视频编码标准有h.264、h.265、avs等。不同的编码标准的定义不同,但都有一个共同的目标,将图像信息压缩到一个特定的分辨率和码率。

目前的视频编码通常是根据编码的目标码率选择一个固定的分辨率,然后再结合不同的编码标准与编码器进行调整。然而,视频的内容千差万别,同一个视频中会包含丰富的场景,例如,一部电影中经常包含有信息量较丰富的打斗场景,信息量较少的静态场景和室内场景,由固定的分辨率并不能完全贴合视频的需求,不能达到最优的效果。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种视频编码方法、视频编码装置、计算机可读介质及电子设备,进而在一定程度上视频编码的效果较差的问题,提升编码视频的视频质量。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种视频编码方法,包括:

对待编码视频进行切分,以获得多个视频片段;

根据转码需求确定各所述视频片段分别对应的目标分辨率;

按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频;

按照所述多个视频片段的序列对所述编码视频进行拼接,获得目标视频。

在本公开的一种示例性实施例中,所述对待编码视频进行切分,包括:

确定所述待编码视频的相邻帧之间的差异度;

根据所述差异度对所述待编码视频进行切分。

在本公开的一种示例性实施例中,所述根据所述差异度对所述待编码视频进行切分,包括:

如果所述相邻帧之间的差异度超过预设阈值,则将所述待编码视频从所述相邻帧之间切分,以获取所述视频片段;

如果所述待编码视频的固定时长内不存在差异度超过预设阈值的相邻帧,则按照所述固定时长对所述待编码视频进行切分。

在本公开的一种示例性实施例中,所述根据转码需求确定各所述视频片段分别对应的目标分辨率,包括:

根据所述转码需求确定目标码率,以获取所述目标码率对应的分辨率集合;

从所述分辨率集合中确定出各所述视频片段分别对应的目标分辨率。

在本公开的一种示例性实施例中,所述从所述分辨率集合中确定出各所述视频片段分别对应的目标分辨率,包括:

针对每一视频片段,按照所述分辨率集合中的各分辨率对所述视频片段进行编码,以获取所述视频片段的多个编码后的候选视频;

根据各所述候选视频的评分值,确定所述视频片段对应的目标分辨率。

在本公开的一种示例性实施例中,根据转码需求确定各所述视频片段分别对应的目标分辨率之后,还包括:

利用所述目标分辨率对所述分辨率集合进行更新。

在本公开的一种示例性实施例中,所述根据转码需求确定各所述视频片段分别对应的目标分辨率,包括:

根据所述转码需求确定所述待编码视频的视频类型,以通过所述视频类型对应的分辨率集合确定各所述视频片段分别对应的目标分辨率。

根据本公开的第二方面,提供一种视频编码装置,可以包括视频切分模块、分辨率确定模块、视频编码模块以及视频拼接模块,其中:

视频切分模块,用于对待编码视频进行切分,以获得多个视频片段。

分辨率确定模块,用于根据转码需求确定各所述视频片段分别对应的目标分辨率。

视频编码模块,用于按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频。

视频拼接模块,用于按照所述多个视频片段的序列对所述编码视频进行拼接,获得目标视频。

在本公开的一种示例性实施例中,视频切分模块具体包括差异度确定单元以及切分单元,其中:

差异度确定单元,用于确定所述待编码视频的相邻帧之间的差异度。

切分单元,用于根据所述差异度对所述待编码视频进行切分。

在本公开的一种示例性实施例中,切分单元可以具体包括差异度切分单元以及时长切分单元,其中:

差异度切分单元,用于如果所述相邻帧之间的差异度超过预设阈值,则将所述待编码视频从所述相邻帧之间切分,以获取所述视频片段。

时长切分单元,用于如果所述待编码视频的固定时长内不存在差异度超过预设阈值的相邻帧,则按照所述固定时长对所述待编码视频进行切分。

在本公开的一种示例性实施例中,分辨率确定模块可以具体包括码率确定单元以及分辨率集合确定单元,其中:

码率确定单元,用于根据所述转码需求确定目标码率,以获取所述目标码率对应的分辨率集合。

分辨率集合确定单元,用于从所述分辨率集合中确定出各所述视频片段分别对应的目标分辨率。

在本公开的一种示例性实施例中,分辨率集合确定单元可以具体包括视频获取单元以及视频评分单元,其中:

视频获取单元,用于针对每一视频片段,按照所述分辨率集合中的各分辨率对所述视频片段进行编码,以获取所述视频片段的多个编码后的候选视频。

视频评分单元,用于根据各所述候选视频的评分值,确定所述视频片段对应的目标分辨率。

在本公开的一种示例性实施例中,该装置还包括分辨率更新单元,用于利用所述目标分辨率对所述分辨率集合进行更新。

在本公开的一种示例性实施例中,分辨率确定模块可以具体用于:根据所述转码需求确定所述待编码视频的视频类型,以通过所述视频类型对应的分辨率集合确定各所述视频片段分别对应的目标分辨率。

根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。

根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。

本公开示例性实施例可以具有以下部分或全部有益效果:

在本公开的一示例实施方式所提供的视频编码方法中,通过对待编码视频进行切分,对每个视频片段确定不同的目标分辨率,可以根据不同的视频内容确定编码分辨率,以在不同的视频场景下能够采用不同的分辨率,使得分辨率更加贴合视频的变化特点,从而使编码后的视频能够达到最优的视频质量;同时,能够提高视频画质的稳定性,提高用户体验;并且,采用不同的分辨率对待编码视频进行编码有利用节省计算资源、提高编码效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性示出了根据本公开的一个实施例的视频编码方法的流程图;

图2示意性示出了根据本公开的一个实施例中对待编码视频进行切分的步骤的流程图;

图3示意性示出了根据本公开的另一个实施例中对待编码视频进行切分的步骤的流程图;

图4示意性示出了根据本公开的一个实施例中确定目标分辨率的步骤的流程图;

图5示意性示出了根据本公开的另一个实施例中确定目标分辨率的步骤的流程图;

图6示意性示出了根据本公开的一个实施例的视频编码装置的框图;

图7示意性示出了根据本公开的一个实施例的用于实现视频编码方法的系统架构图;

图8示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

以下对本公开实施例的技术方案进行详细阐述:

本示例实施方式首先提供了一种视频编码方法。参考图1所示,该方法可以包括以下步骤:

步骤s110:对待编码视频进行切分,以获得多个视频片段。

步骤s120:根据转码需求确定各所述视频片段分别对应的目标分辨率。

步骤s130:按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频。

步骤s140:将所述编码视频进行拼接,获得目标视频。

在本公开的一示例实施方式所提供的视频编码方法中,通过对待编码视频进行切分,对每个视频片段确定不同的目标分辨率,可以根据不同的视频内容确定编码分辨率,以在不同的视频场景下能够采用不同的分辨率,使得分辨率更加贴合视频的变化特点,从而使编码后的视频能够达到最优的视频质量;同时,能够提高视频画质的稳定性,提高用户体验;并且,采用不同的分辨率对待编码视频进行编码有利用节省计算资源、提高编码效率。

下面,对于本示例实施方式的上述步骤进行更加详细的说明。

在步骤s110中,对待编码视频进行切分,以获得多个视频片段。

待编码视频为视频制作方制作的原始视频文件,其中可以包括多帧图像。并且,待编码视频可以是各种类型的视频文件,例如电影、动画、游戏视频等。对待编码视频进行切分可以将多帧图像分为多个组,每组为一个视频片段。视频片段为待编码视频中一定时长的片段,包含一定数量帧图像,例如,待编码视频为60分钟,1800帧图像,每一视频片段可以为6秒、180帧图像。并且,在得到视频片段之后,可以为每一视频片段生成一标识信息,用于对各个视频片段进行唯一标识,该标识信息可以按照待编码视频中的播放时间的顺序生成,例如第一个视频片段的标识信息为001、第二个视频片段的标识信息为002等,依次递增,得到各个视频片段的标识信息。此外,也可以通过其他方式生成视频片段的标识信息,例如,生成互不重复的随机数作为标识信息、将各个视频片段中第一帧图像对应的播放时刻作为标识信息等,本实施方式对此不做特殊限定。

示例性实施方式中,可以通过多种方式对待编码视频进行切分,例如,通过图2所示的步骤s201和步骤s202对待编码视频进行切分,具体的:

在步骤s201中,确定待编码视频的相邻帧之间的差异度。其中,相邻帧可以包括时间上连续的两帧图像,也可以包括间隔一定时长的两帧图像,例如,间隔10秒的图像、间隔60秒的图像等;还可以包括以其他方式相邻的图像,例如将连续的关键帧作为相邻帧,将包含特定标识的图像作为相邻帧等,本实施方式对此不做特殊限定。通过多种方式可以计算相邻帧间的差异度,示例性的,可以将连续的两帧图像对应像素点的灰度值相减,然后对得到的结果取绝对值相加后可以得到差异度;或者,计算连续的两帧图像对应的像素点的灰度值之差的均值作为差异度;计算连续的两帧图像对应的像素点的灰度值之差的方差作为差异度等。并且,为了减少计算量,可以将待编码视频对应的完整图像序列中每隔一定数量帧提取出来作为目标序列,例如,每隔10帧提取一帧,如第1帧、第11帧、第21帧等;或者,从待编码视频对应的完整图像序列中每隔一定时长提取出一帧图像组成目标序列,例如,每隔1秒提取出一帧,如第1秒对应的图像、第2秒对应的图像、第3秒对应的图像等,然后计算目标序列中的相邻帧之间的差异度,可以节省计算资源,提高计算效率。

在步骤s202中,根据差异度对待编码视频进行切分。具体的,确定相邻帧之间的差异度超过一定限度时,可以从该相邻帧之间进行划分,例如,第1秒的图像与第2秒的图像之间的差异度超过0.5,则将待编码视频从第1秒与第2秒之间进行划分。示例性的,该方法可以包括步骤s301和步骤s302,如图3所示,其中:

在步骤s301中,如果相邻帧之间的差异度超过预设阈值,则将待编码视频从该相邻帧之间切分,从而获得视频片段。预设阈值可以根据实际需求设定,例如0.3、0.6、0.8等等,也可以为其他值,例如,1、0.5等,本实施方式对此不做特殊限定。当帧间差异较大时可以认为发生场景切换,则可以从差异度较大的相邻帧之间进行切分,从而将待编码视频分为多个视频片段。

在步骤s302中,如果待编码视频的固定时长内不存在差异度超过预设阈值的相邻帧,则按照固定时长对待编码视频进行切分。固定时长可以为10秒、60秒、90秒等,也可以为其他值,例如,120秒、200秒、5分钟、10分钟等,本实施方式对此不做特殊限定。具体的,可以对待编码视频的相邻帧之间差异度进行计算,例如,第1帧与第2帧之间的差异度、第2帧与第3帧之间的差异度等等,如果固定时长内差异度持续不超过预设阈值,则按照固定时长对待编码视频进行划分。示例性的,若固定时长为5分钟,将总时长为1小时的待编码视频连续的每两帧之间的差异度进行计算,如果在0~5分钟内没有差异度超过预设阈值的相邻帧,则将这5分钟内的图像划分为一视频片段,然后计算从5分钟开始到10分钟结束的图像序列之间的相邻帧的差异度,如果存在差异度超过预设阈值的相邻帧,则从该相邻帧之间进行划分,得到新的一视频片段,然后计算从划分处开始到下一个5分钟之内的相邻帧之间的差异度,再划分得到下一个视频片段,以此类推,得到所有的视频片段。

在本公开的其他实施方式中,还可以通过其他方式对待编码视频进行切分,例如,将待编码视频平均切分为一定数量的视频片段、通过自定义方式进行切分等等,这些均属于本公开的保护范围。

示例性实施方式中,在对待编码视频进行切分之前,还需要获取待编码视频。由于对视频文件进行编码后才能对其进行传输和处理,因此获取到的视频文件往往是编码后视频文件,可以在获取到原始的视频文件后,对原始视频文件进行解码得到完整的图像序列,将该图像序列作为待编码视频,然后再将待编码视频转换为目标视频。并且,获取待编码视频可以通过多种方式,例如获取摄像头采集的视频文件、从服务器上下载视频文件等,然后将视频文件进行解析得到待编码视频等,本实施方式对此不做特殊限定。

在步骤s120中,根据转码需求确定各视频片段分别对应的目标分辨率。

转码需求可以包括编码得到目标视频所需的参数,例如,清晰度、视频大小等;或者,可以包括编码所需的参数,例如,编码格式等,也可以包括其他参数,例如,目标视频的码率、帧率等,本实施方式对此不做特殊限定。预先可以根据不同的转码需求确定一分辨率取值范围,从而得到不同的转码需求分别对应的一取值范围,从而在该取值范围中确定每一视频片段对应的目标分辨率。具体的,对于第一个视频片段,可以从转码需求对应的取值范围内提取出多个分辨率,按照多个分辨率分别对该第一个视频片段进行编码,得到编码结果,然后选择最优的编码结果对应的分辨率作为该第一个视频片段对应的目标分辨率,依次类推,可以得到每个视频片段分别对应的目标分辨率。

示例性实施方式中,该方法可以包括步骤s401和步骤s402,如图4所示,其中:

在步骤s401中,根据转码需求确定目标码率,以获取目标码率对应的分辨率集合。码率指的是在编码压缩视频时给视频指定的一个参数,用来表示压缩后的视频的期望大小,又称为比特率,码率越大则压缩的比例越小,在同一分辨率情况下,视频失真越少。示例性的,根据不同的码率可以预先确定多个不同的分辨率,从而得到每一码率对应的分辨率集合,然后从转码需求中提取出目标码率,进而获取目标码率对应的分辨率集合。

在步骤s402中,从目标码率对应的分辨率集合中确定各视频片段对应的目标分辨率。示例性的,可以利用该分辨率集合中的每一分辨率分别对各个视频片段进行编码,从而选择编码效果最好的分辨率作为目标分辨率。此外,还可以通过多种方式从分辨率集合中选择出各个视频片段分别对应的目标分辨率,示例性的,可以通过步骤s501和步骤s502确定目标分辨率,如图5所示,具体地:

在步骤s501中,针对每一视频片段,按照分辨率集合中的各分辨率对视频片段进行编码,得到该视频片段的多个编码后的候选视频。举例而言,如果分辨率集合中包含5个分辨率,则对于每一个视频片段分别按照5个分辨率进行5次编码,得到每一视频片段的5个候选视频。

在步骤s502中,根据各候选视频的评分值,确定各视频片段对应的目标分辨率。本实施方式中,可以通过多种方式对每一视频片段的候选视频进行评分,得到评分值。示例性的,在得到各个视频片段对应的候选视频时,可以利用vmaf(videomulti-methodassessmentfusion)工具对候选视频进行评价。vmaf是用于对视频质量进行打分的评价模型,可以对视频从多个维度进行打分,得分较高的视频质量较好。通过vmaf可以对各个视频片段的候选视频进行打分,得到各候选视频的评分值,从而从候选视频中选择评分值最高的候选视频对应的分辨率作为该视频片段的目标分辨率。例如,对于第一个视频片段对应的3个候选视频的评分值分别为30、60、90,则可以选择评分值为90的候选视频对应的分辨率作为第一个视频片段的目标分辨率。

示例性实施方式中,可以根据转码需求确定待编码视频的视频类型,然后通过视频类型对应的分辨率集合确定各视频片段分别对应的目标分辨率。其中,视频类型可以包括科幻、动作、励志,也可以包括文艺、恐怖等;或者,可以根据自定义的分类标准确定视频类型,例如,高清、超清等,本实施方式对此不做特殊限定。预先可以按照不同的视频类型,确定对应的不同的分辨率集合,然后从分辨率集合中确定各视频片段分别对应的目标分辨率。举例而言,对于游戏类视频来说,玩家控制的角色之间无交互时,可以确定较低的分辨率,产生交互时可以确定较高的分辨率,从而得到游戏类视频对应的分辨率范围,将该分辨率范围内的多个分辨率作为游戏类视频对应的分辨率集合。

并且,在确定各视频片段分别对应的目标分辨率之后,还可以利用目标分辨率对分辨率集合进行更新。示例性的,如果待编码视频的视频类型为a,该视频类型对应的分辨率集合为c,根据待编码视频中各个视频片段的目标分辨率可以确定待编码视频对应的分辨率范围,然后利用该范围对分辨率集合c中的分辨率进行过滤,将不在该分辨率范围的分辨率取值进行删除,从而减少了分辨率集合c中的分辨率的数量,以便于对下一待编码视频进行编码时可以缩小目标分辨率的选取范围,节省计算资源。在经过多个待编码视频的目标分辨率确定过程之后,可以对各个视频类型对应的分辨率集合进行优化,确定出对于各个视频类型更具有针对性的分辨率,从而能够更快地确定出目标分辨率,有助于编码效率的提升。

继续参考图1,在步骤s130中,按照各视频片段分别对应的目标分辨率对各视频片段进行编码,获取各视频片段分别对应的编码视频。

具体地,对于第一个视频片段,可以按照该视频片段对应的目标分辨率对该视频片段进行编码,获取该视频片段对应的编码视频,然后对剩下的视频片段依次进行处理,并且,得到的编码视频可以按照各个视频片段之间的序列进行排列,即,编码视频可以与视频片段之间的序列保持一致,以便于按照该序列对编码视频进行拼接。利用视频编码器可以对各个视频片段进行编码,例如,将视频编码器的分辨率定义为目标分辨率,然后将视频片段输入该视频编码器中,得到对应的编码视频。此外,在本实施方式中,可以对待编码视频利用多种编码格式进行编码,例如,avi、mpg等,再例如,h264、rm、h265、vp8、vp9等,有利于扩大适用范围。

在步骤s140中,按照多个视频片段的序列对编码视频进行拼接,获得目标视频。目标视频即为待编码视频编码后的视频文件,可以包括各种格式,例如,avi、dat、mpeg等,本实施方式对此不做特殊限定。具体的,可以按照待编码视频的时间轴确定切分后的各个视频片段的序列,并按照该序列对各个视频片段进行标识,或者将该序列与各个视频片段的标识进行绑定,然后根据视频片段的标识确定视频片段在原待编码视频中的序列,从而确定视频片段对应的编码视频的序列,按照该序列将编码视频进行拼接,得到完整的目标视频。通过本实施方式,可以在转码需求下确定待编码视频的不同片段对应的分辨率,按照不同的分辨率对待编码视频进行编码,可以将编码效果最优化,使得编码效果更好地适应视频场景多变的特点,实现无论在什么场景下均能取得较好的视频质量,可以提高用户对视频的观看体验。

进一步地,本实施方式还提供一种视频编码装置,用于执行本公开上述的视频编码方法。该装置可以应用于一服务器或终端设备。

参考图6所示,该视频编码装置600可以包括视频切分模块610、分辨率确定模块620、视频编码模块630以及视频拼接模块640,其中:

视频切分模块610,用于对待编码视频进行切分,以获得多个视频片段。

分辨率确定模块620,用于根据转码需求确定各所述视频片段分别对应的目标分辨率。

视频编码模块630,用于按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频。

视频拼接模块640,用于按照所述多个视频片段的序列对所述编码视频进行拼接,获得目标视频。

在本公开的一种示例性实施例中,视频切分模块610具体包括差异度确定单元以及切分单元,其中:

差异度确定单元,用于确定所述待编码视频的相邻帧之间的差异度。

切分单元,用于根据所述差异度对所述待编码视频进行切分。

在本公开的一种示例性实施例中,切分单元可以具体包括差异度切分单元以及时长切分单元,其中:

差异度切分单元,用于如果所述相邻帧之间的差异度超过预设阈值,则将所述待编码视频从所述相邻帧之间切分,以获取所述视频片段。

时长切分单元,用于如果所述待编码视频的固定时长内不存在差异度超过预设阈值的相邻帧,则按照所述固定时长对所述待编码视频进行切分。

在本公开的一种示例性实施例中,分辨率确定模块620可以具体包括码率确定单元以及分辨率集合确定单元,其中:

码率确定单元,用于根据所述转码需求确定目标码率,以获取所述目标码率对应的分辨率集合。

分辨率集合确定单元,用于从所述分辨率集合中确定出各所述视频片段分别对应的目标分辨率。

在本公开的一种示例性实施例中,分辨率集合确定单元可以具体包括视频获取单元以及视频评分单元,其中:

视频获取单元,用于针对每一视频片段,按照所述分辨率集合中的各分辨率对所述视频片段进行编码,以获取所述视频片段的多个编码后的候选视频。

视频评分单元,用于根据各所述候选视频的评分值,确定所述视频片段对应的目标分辨率。

在本公开的一种示例性实施例中,该装置还包括分辨率更新单元,用于利用所述目标分辨率对所述分辨率集合进行更新。

在本公开的一种示例性实施例中,分辨率确定模块620可以具体用于:根据所述转码需求确定所述待编码视频的视频类型,以通过所述视频类型对应的分辨率集合确定各所述视频片段分别对应的目标分辨率。

由于本公开的示例实施例的视频编码装置的各个功能模块与上述视频编码方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的视频编码方法的实施例。

参阅图7,图7示出了可以应用本公开实施例的一种视频编码方法及视频编码装置的示例性应用环境的系统架构示意图。

如图7所示,系统架构700可以包括终端设备701、702、703中的一个或多个,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

终端设备701、702、703可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器705可以是多个服务器组成的服务器集群等。

本公开实施例所提供的视频编码方法一般由服务器705执行,相应地,视频编码装置一般设置于服务器705中。但本领域技术人员容易理解的是,本公开实施例所提供的视频编码方法也可以由终端设备701、702、703执行,相应的,视频编码装置也可以设置于终端设备701、702、703中,本示例性实施例中对此不做特殊限定。

举例而言,在一种示例性实施例中,服务器705可以接收待编码视频,对待编码视频进行切分得到多个视频片段;并获取转码需求,根据转码需求确定各视频片段对应的目标分辨率;进而,根据各视频片段对应的目标分辨率对各视频片段进行编码;然后按照视频片段的序列对编码后的编码视频进行拼接,获得目标视频;能够针对不同的视频内容确定最优的分辨率,从而达到特定码率下最优的视频质量。

图8示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有系统操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的方法和装置中限定的各种功能。

需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图1和图2所示的各个步骤等。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。


技术特征:

1.一种视频编码方法,其特征在于,包括:

对待编码视频进行切分,以获得多个视频片段;

根据转码需求确定各所述视频片段分别对应的目标分辨率;

按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频;

按照所述多个视频片段的序列对所述编码视频进行拼接,获得目标视频。

2.根据权利要求1所述的方法,其特征在于,所述对待编码视频进行切分,包括:

确定所述待编码视频的相邻帧之间的差异度;

根据所述差异度对所述待编码视频进行切分。

3.根据权利要求2所述的方法,其特征在于,所述根据所述差异度对所述待编码视频进行切分,包括:

如果所述相邻帧之间的差异度超过预设阈值,则将所述待编码视频从所述相邻帧之间切分,以获取所述视频片段;

如果所述待编码视频的固定时长内不存在差异度超过预设阈值的相邻帧,则按照所述固定时长对所述待编码视频进行切分。

4.根据权利要求1所述的方法,其特征在于,所述根据转码需求确定各所述视频片段分别对应的目标分辨率,包括:

根据所述转码需求确定目标码率,以获取所述目标码率对应的分辨率集合;

从所述分辨率集合中确定出各所述视频片段分别对应的目标分辨率。

5.根据权利要求4所述的方法,其特征在于,所述从所述分辨率集合中确定出各所述视频片段分别对应的目标分辨率,包括:

针对每一视频片段,按照所述分辨率集合中的各分辨率对所述视频片段进行编码,以获取所述视频片段的多个编码后的候选视频;

根据各所述候选视频的评分值,确定所述视频片段对应的目标分辨率。

6.根据权利要求4所述的方法,其特征在于,根据转码需求确定各所述视频片段分别对应的目标分辨率之后,还包括:

利用所述目标分辨率对所述分辨率集合进行更新。

7.根据权利要求1所述的方法,其特征在于,所述根据转码需求确定各所述视频片段分别对应的目标分辨率,包括:

根据所述转码需求确定所述待编码视频的视频类型,以通过所述视频类型对应的分辨率集合确定各所述视频片段分别对应的目标分辨率。

8.一种视频编码装置,其特征在于,包括:

视频切分模块,用于对待编码视频进行切分,以获得多个视频片段;

分辨率确定模块,用于根据转码需求确定各所述视频片段分别对应的目标分辨率;

视频编码模块,用于按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频;

视频拼接模块,用于按照所述多个视频片段的序列对所述编码视频进行拼接,获得目标视频。

9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。

10.一种电子设备,其特征在于,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。

技术总结
本公开提供一种视频编码方法、视频编码装置、计算机可读介质及电子设备;涉及信号处理技术领域。该视频编码方法包括:对待编码视频进行切分,以获得多个视频片段;根据转码需求确定各所述视频片段分别对应的目标分辨率;按照各所述视频片段对应的目标分辨率对各所述视频片段进行编码,以获取各所述视频片段分别对应的编码视频;按照所述多个视频片段的序列对所述编码视频进行拼接,获得目标视频。本公开中的视频编码方法能够在一定程度上优化视频编码的质量,提升编码效果,进而提升视频的观看体验。

技术研发人员:王轲
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2020.02.17
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-15626.html

最新回复(0)