一种视频编码方法、设备及存储介质技术

技术编号:26653555 阅读:52 留言:0更新日期:2020-12-09 00:57
本申请实施例提供一种视频编码方法、设备及存储介质,其中,该方法包括:获取待编码源视频以及所述待编码源视频的硬编码码流;根据所述硬编码码流确定辅助信息;根据所述辅助信息,确定所述待编码源视频的软编码参数;基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。本申请实施例中,基于根据待编码源视频的硬编码码流确定出的辅助信息,可有效缩小软件编码参数的搜索范围,减小计算量,从而可更高效地确定出待编码源视频的软编码参数,进而加快编码速度和/或提高视频编码效率。

【技术实现步骤摘要】
一种视频编码方法、设备及存储介质
本申请涉及视频编码
,尤其涉及一种视频编码方法、设备及存储介质。
技术介绍
在视频应用或服务(如短视频录制、视频转码等)中,视频编码过程是基础处理过程,也即所需计算量最大的处理过程。目前,视频编码过程中,通常是根据当前编码单元之前的编码单元的编码信息,使用一些快速处理策略,比如提前跳过策略、运动矢量搜索提前终止策略等。但按照这些策略进行视频编码所节省的计算量非常有限,视频编码效率仍有待提高。
技术实现思路
本申请的多个方面提供一种视频编码方法、设备及存储介质,用以减少视频编码的计算量,进而加快编码速度和/或提高视频编码效率。本申请实施例提供一种视频编码方法,包括:获取待编码源视频以及所述待编码源视频的硬编码码流;根据所述硬编码码流确定辅助信息;根据所述辅助信息,确定所述待编码源视频的软编码参数;基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。本申请实施例还提供一种视频编码器,包括存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:获取待编码源视频以及所述待编码源视频的硬编码码流;根据所述硬编码码流确定辅助信息;根据所述辅助信息,确定所述待编码源视频的软编码参数;基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。本申请实施例还提供一种软硬混合视频编码器,包括硬件编码器、软件解码器和软件编码器;所述硬件编码器用于对待编码源视频进行硬件编码,以获得硬编码码流;将所述硬编码码流发送至所述软件解码器;所述软件解码器用于对所述硬编码码流进行软件解码,以从所述硬编码码流中确定出所述辅助信息;将所述辅助信息发送至所述软件编码器;所述软件编码器用于接收所述辅助信息并获取所述待编码源视频;根据所述辅助信息,确定所述待编码源视频的软编码参数;基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的视频编码方法。在本申请实施例中,在视频编码过程中,参考从待编码源视频的硬编码码流中确定出的辅助信息,以确定待编码源视频的软编码参数,并基于软编码参数,对待编码源视频进行软件编码,最终获得目标码流。据此,本申请实施例中,基于根据待编码源视频的硬编码码流确定出的辅助信息,可有效缩小软件编码参数的搜索范围,减小计算量,从而可更高效地确定出待编码源视频的软编码参数,进而加快编码速度和/或提高视频编码效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请一实施例提供的一种视频编码方法的流程示意图;图2为本申请另一实施例提供的一种视频编码器的结构示意图;图3为本申请又一实施例提供的一种软硬混合视频编码器的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,视频编码过程中,通常是根据当前编码单元之前的编码单元的编码信息,使用一些快速处理策略,但按照这些策略进行视频编码所节省的计算量非常有限,视频编码效率仍有待提高。在本申请的一些实施例中:在视频编码过程中,参考从待编码源视频的硬编码码流中确定出的辅助信息,以确定待编码源视频的软编码参数,并基于软编码参数,对待编码源视频进行软件编码,最终获得目标码流。据此,本申请实施例中,基于根据待编码源视频的硬编码码流确定出的辅助信息,可有效缩小软件编码参数的搜索范围,减小计算量,从而可更高效地确定出待编码源视频的软编码参数,进而加快编码速度和/或提高视频编码效率。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本申请一实施例提供的视频编码方法的流程示意图。如图1所示,该方法包括:100、获取待编码源视频以及待编码源视频的硬编码码流;101、根据硬编码码流确定辅助信息;102、根据辅助信息,确定待编码源视频的软编码参数;103、基于软编码参数,对待编码源视频进行软件编码,以获得目标码流。本申请实施例提供的视频编码方法可应用于各种需要进行视频编码的场景,例如,短视频录制场景、视频转码场景等等,本实施例对此不作限定。本实施例中,根据待编码源视频的硬编码码流确定出的辅助信息包括但不限于硬编码码流中的语法元素以及根据这些语法元素导出的其它信息。其中,本实施例中,待编码源视频可包含至少一个编码单元,根据实际场景,编码单元可以是宏块或其它规格的编码单元,本实施例对此不作限定。基于此,语法元素包括但不限于硬编码码流中各编码单元对应的硬编码模式及硬编运动矢量等。例如,当编码单元为宏块时,语法元素可至少包括各宏块对应的硬编码模式(H-mb-type)及硬编运动矢量(H-MV)等。本实施例中,待编码视频的硬编码码流的来源可以有多种。在一种实现方式中,该硬编码码流可来源于本实施例所提供方法的实施主体的外部。例如,当本实施例所提供方法的实施主体为一视频编码器时,该硬编码码流可来源于该视频编码器之外的其它设备。在本实现方式中,该硬编码码流由其它设备提供,据此,步骤100中,可从其它设备中获取到该硬编码码流。在另一种实现方式中,步骤100可具体包括:对待编码源视频进行硬件编码,以获得硬编码码流。在本实现方式中,该硬编码码流产生于本实施例所提供方法的实施主体的内部。其中,硬件编码是指使用专用的编码芯片(例如,专用集成电路ASIC)进行视频编码。基于获取到的硬编码码流,本实施例中,可对硬编码码流进行软件解码,以从硬编码码流中确定出辅助信息。在实际应用中,可使用软件解码器对硬编码码流进行软件解码,在软件解码过程中可从硬编码码流中提取出辅助信息。其中,软件解码是指使用通用处理器(例如,CPU、GPU等)运行编码程序(软件)进行视频解码。上述“提取”操作可以是直接从硬编码码流中获取某个语法元素的值,也可以是根据某个语法元素的值进行计算得到目标值。当然,以上仅是获取从待编码源视频的硬编码码流中确定出的辅助信息的示例性实现方式,本实施例并不限于此。本实施例中,辅助信息包括但不限于硬编码流中宏块模式或子宏块模式等编码模式、帧类型、量化参数或运动矢量等信息。基于获取到的辅助信息,本实施例中,可根据辅助信息,确定待编码源视频的软编码参数。本实施本文档来自技高网...

【技术保护点】
1.一种视频编码方法,其特征在于,包括:/n获取待编码源视频以及所述待编码源视频的硬编码码流;/n根据所述硬编码码流确定辅助信息;/n根据所述辅助信息,确定所述待编码源视频的软编码参数;/n基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。/n

【技术特征摘要】
1.一种视频编码方法,其特征在于,包括:
获取待编码源视频以及所述待编码源视频的硬编码码流;
根据所述硬编码码流确定辅助信息;
根据所述辅助信息,确定所述待编码源视频的软编码参数;
基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。


2.根据权利要求1所述的方法,其特征在于,所述获取所述待编码源视频的硬编码码流,包括:
对所述待编码源视频进行硬件编码,以获得硬编码码流;
所述根据所述硬编码码流确定辅助信息,包括
对所述硬编码码流进行软件解码,以从所述硬编码码流中确定出所述辅助信息。


3.根据权利要求1所述的方法,其特征在于,所述辅助信息中包含所述待编码源视频中的各编码单元对应的硬编码模式;所述根据所述辅助信息,确定所述待编码源视频的软编码参数,包括:
针对第一编码单元,若所述第一编码单元对应的硬编码模式为特定硬编码模式,则获取所述特定硬编码模式对应的至少一种候选软编码模式;
从所述至少一种候选软编码模式中,为所述第一编码单元选择目标软编码模式;
其中,所述第一编码单元是所述待编码源视频中的任一编码单元。


4.根据权利要求3所述的方法,其特征在于,所述从所述至少一种候选软编码模式中,为所述第一编码单元选择目标软编码模式,包括:
计算各候选软编码模式的第一类代价;
选择第一类代价最低的软编码模式作为所述第一编码单元的目标软编码模式。


5.根据权利要求4所述的方法,其特征在于,所述辅助信息中还包含各编码单元对应的硬编运动矢量;所述计算各候选软编码模式的第一类代价,包括:
基于所述第一编码单元对应的硬编运动矢量,确定每个软编码模式对应的至少一个候选软编运动矢量;
确定所述每个候选软编码运动矢量的第二类代价;
从所述候选软编运动矢量中选择对应所述第二类代价最小的一个作为当前软编码模式的目标软编运动矢量;
基于每个软编码模式对应的目标软编运动矢量,分别计算每个软编码模式的第一类代价。


6.根据权利要求5所述的方法,其特征在于,还包括:
获取产生所述第一编码单元的目标软编码模式对应的第一类代价所使用的候选软编运动矢量,作为所述第一编码单元的目标软编运动矢量。


7.根据权利要求3所述的方法,其特征在于,还包括:
若所述第一编码单元对应的硬编码模式不是特定编码模式,则将所述第一编码单元对应的硬编码模式,作为所述第一编码单元的目标软编码模式。


8.根据权利要求7所述的方法,其特征在于,所述辅助信息中还包含所述待编码源视频中各编码单元对应的硬编运动矢量,所述方法还包括:
若所述第一编码单元对应的硬编运动矢量超出预设运动矢量范围,则
将所述预设运动矢量范围中,与所述第一编码单元对应的硬编运动矢量最接近的运动矢量,作为所述第一编码单元的目标软编运动矢量。


9.根据权利要求8所述的方法,其特征在于,还包括:
若所述第一编码单元对应的硬编运动矢量未超出所述预设运动矢量范围,则
将所述第一编码单元对应的硬编运动矢量,作为所述第一编码单元的目标软编运动矢量。


10.根据权利要求6、8或9所述的方法,其特征在于,所述基于所述软编码参数,对所述待编码源视频进行软件编码,包括:
基于所述待编码源视频中各编码单元对应的目标软编码模式和目标软编运动矢量,对所述待编码源视频中各编码单元进行软件编码。


11.一种视频编码器,其特征在于,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
获取待编码源视频以及所述待编码源视频的硬编码码流;
根据所述硬编码码流确定辅助信息;
根据所述辅助信息,确定所述待编码源视频的软编码参数;
基于所述软编码参数,对所述待编码源视频进行软件编码,以获得目标码流。


12.根据权利要求11所述的视频编码器,其特征在于,所述辅助信息中包含所述待编码源视频中的各编码单元对应的硬编码模式;所述处理器在根据所述...

【专利技术属性】
技术研发人员:张峻
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1