一种视频编码、解码方法、装置、电子设备及系统与流程

文档序号:16467338发布日期:2019-01-02 22:51阅读:106来源:国知局
一种视频编码、解码方法、装置、电子设备及系统与流程

本申请涉及视频处理领域,尤其涉及一种视频编码、解码方法、装置、电子设备及系统。



背景技术:

数字视频技术被广泛应用于通信、计算机、广播电视等领域,因视频是由一系列视频帧组成,每一视频帧通常是一幅完整的图像,同一图像中或相邻图像中存在相同或相似的内容,促使了视频编码技术的产生。

目前,视频编码包括针对于视频的块级编码,所谓块级编码的原理为:将待编码的目标帧分成一个个数据块,然后从左到右,从上到下依次进行编码。

相关技术中,在对视频进行块级编码过程中,针对于每一帧均进行块级编码。但是,由于某些连续的视频帧可能完全一致,对每一帧均进行块级编码无疑导致编码效率较低。



技术实现要素:

为克服相关技术中存在的问题,本申请提供一种视频编码、解码方法、装置、电子设备及系统,以在保证编码质量的前提下,提高编码过程的编码效率,同时,提高解码过程的解码速率。具体技术方案为:

根据本申请实施例的第一方面,提供一种视频编码方法,包括:

在对视频进行编码的过程中,针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧和连续n帧进行预设的帧级编码;其中,所述n大于等于1,所述帧级编码为:对所述目标帧和连续n帧中的一帧进行块级编码,且对所述目标帧对应的重复帧进行帧级的数量声明;

在执行完毕所述帧级编码后,将所述目标帧之后且不同于所述目标帧的第一个视频帧,作为下一待编码的目标帧。

可选地,所述一种视频编码方法还包括:

针对待编码的目标帧,如果检测到所述目标帧的下一帧与所述目标帧不同,对所述目标帧进行块级编码;

在执行完毕对所述目标帧的块级编码后,将所述目标帧的下一帧,作为下一待编码的目标帧。

可选地,对所述目标帧对应的重复帧进行帧级的数量声明的方式,包括:

将所述目标帧对应的重复帧的数量声明在帧头中的方式。

可选地,对所述目标帧和连续n帧进行预设的帧级编码的步骤,包括:

针对所述目标帧和连续n帧中的一帧,在该帧的帧头中添加第一声明信息,并对添加所述第一声明信息后的该帧进行块级编码;

其中,所述第一声明信息用于声明:关于添加有所述第一声明信息的视频帧,存在n个重复帧。

可选地,针对所述目标帧和连续n帧中的一帧,在该帧的帧头中添加第一声明信息,包括:

在所述目标帧的帧头中添加第一声明信息;

或者,

在所述连续n帧的最后一帧中添加第一声明信息。

可选地,对所述目标帧和连续n帧进行预设的帧级编码的步骤,包括:

对所述目标帧进行块级编码;

在所述目标帧之后且不同于所述目标帧的第一个视频帧的帧头中,添加第二声明信息;

其中,所述第二声明信息用于声明:关于添加有所述第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

根据本申请实施例的第二方面,提供一种视频解码方法,包括:

在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原所述目标帧;其中,所述视频按照本申请所提供的一种视频编码方法进行编码;

如果检测到所述目标帧中声明有重复帧的数量,恢复所述重复帧。

可选地,如果检测到所述目标帧中声明有重复帧的数量,恢复所述重复帧,包括:

如果检测到所述目标帧的帧头中声明有重复帧的数量,恢复所述重复帧。

可选地,如果检测到所述目标帧的帧头中声明有重复帧的数量,恢复所述重复帧,包括:

如果检测到所述目标帧的帧头中存在第一声明信息,在所述目标帧之后/之前增加n个所述目标帧;

所述第一声明信息用于声明:关于添加有所述第一声明信息的视频帧,存在n个重复帧。

可选地,如果检测到所述目标帧的帧头中声明有重复帧的数量,恢复所述重复帧,包括:

如果检测到所述目标帧的帧头中存在第二声明信息,在所述目标帧和所述目标帧的上一个视频帧之间,添加n个所述目标帧的上一个视频帧;

所述第二声明信息用于声明:关于添加有所述第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

根据本申请实施例的第三方面,提供一种视频编码装置,包括:

第一编码单元,被配置为在对视频进行编码的过程中,针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧和连续n帧进行预设的帧级编码;其中,所述n大于等于1,所述帧级编码为:对所述目标帧和连续n帧中的一帧进行块级编码,且对所述目标帧对应的重复帧进行帧级的数量声明;

确定单元,被配置为在执行完毕所述帧级编码后,将所述目标帧之后且不同于所述目标帧的第一个视频帧,作为下一待编码的目标帧。

可选地,所述一种视频编码装置还包括:

第二编码单元,被配置为针对待编码的目标帧,如果检测到所述目标帧的下一帧与所述目标帧不同,对所述目标帧进行块级编码;

所述确定单元,还被配置为在执行完毕对所述目标帧的块级编码后,将所述目标帧的下一帧,作为下一待编码的目标帧。

可选地,所述第一编码单元对所述目标帧对应的重复帧进行帧级的数量声明的方式,包括:

将所述目标帧对应的重复帧的数量声明在帧头中的方式。

可选地,所述第一编码单元包括:

第一添加模块,被配置为针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,针对所述目标帧和连续n帧中的一帧,在该帧的帧头中添加第一声明信息;

第一编码模块,被配置为对添加所述第一声明信息后的该帧进行块级编码;

其中,所述第一声明信息用于声明:关于添加有所述第一声明信息的视频帧,存在n个重复帧。

可选地,所述第一添加模块具体被配置为:

针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,在所述目标帧的帧头中添加第一声明信息,或者,在所述连续n帧的最后一帧中添加第一声明信息。

可选地,所述第一编码单元包括:

第二编码模块,被配置为针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧进行块级编码;

第二添加模块,被配置为在所述目标帧之后且不同于所述目标帧的第一个视频帧的帧头中,添加第二声明信息;

其中,所述第二声明信息用于声明:关于添加有所述第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

根据本申请实施例的第四方面,提供一种视频解码装置,包括:

解码单元,被配置为在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原所述目标帧;其中,所述视频按照一种视频编码方法进行编码;

恢复单元,被配置为如果检测到所述目标帧中声明有重复帧的数量,恢复所述重复帧。

可选地,所述恢复单元包括:

恢复模块,被配置为如果检测到所述目标帧的帧头中声明有重复帧的数量,恢复所述重复帧。

可选地,所述恢复模块具体被配置为:

如果检测到所述目标帧的帧头中存在第一声明信息,在所述目标帧之后/之前增加n个所述目标帧;

所述第一声明信息用于声明:关于添加有所述第一声明信息的视频帧,存在n个重复帧。

可选地,所述恢复模块具体被配置为:

如果检测到所述目标帧的帧头中存在第二声明信息,在所述目标帧和所述目标帧的上一个视频帧之间,添加n个所述目标帧的上一个视频帧;

所述第二声明信息用于声明:关于添加有所述第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

根据本申请实施例的第五方面,提供一种视频编解码系统,包括:

第一电子设备,用于在对视频进行编码的过程中,针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧和连续n帧进行预设的帧级编码;其中,所述n大于等于1,所述帧级编码为:对所述目标帧和连续n帧中的一帧进行块级编码,且对所述目标帧对应的重复帧进行帧级的数量声明;在执行完毕所述帧级编码后,将所述目标帧之后且不同于所述目标帧的第一个视频帧,作为下一待编码的目标帧;

第二电子设备,用于在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原所述目标帧;如果检测到所述目标帧中声明有重复帧的数量,恢复所述重复帧。

根据本申请实施例的第六方面,提供一种电子设备,包括:

处理器;

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

其中,所述处理器被配置为:执行所述存储器上所存放的可执行指令时,实现本申请所提供的一种视频编码方法的步骤。

根据本申请实施例的第七方面,提供一种电子设备,包括:

处理器;

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

其中,所述处理器被配置为:执行所述存储器上所存放的可执行指令时,实现本申请所提供的一种视频解码方法的步骤。

根据本申请实施例的第八方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请所提供的一种视频编码方法的步骤。

根据本申请实施例的第九方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请所提供的一种视频解码方法的步骤。

根据本申请实施例的第十方面,提供一种计算机程序,所述计算机程序用于被运行以执行本申请所提供的一种视频编码方法的步骤。

根据本申请实施例的第十一方面,提供一种计算机程序,所述计算机程序用于被运行以执行本申请所提供的一种视频解码方法的步骤。

本申请所提供的一种视频编码方法,在对视频进行编码的过程中,针对待编码的目标帧,如果检测到待编码的目标帧之后连续n帧与目标帧相同,则对该目标帧和连续n帧进行预设的帧级编码,即对该目标帧和连续n帧中的一帧进行块级编码,且对该目标帧对应的重复帧进行帧级的数量声明;在执行完毕该帧级编码后,将该目标帧之后且不同于该目标帧的第一个视频帧,作为下一待编码的目标帧。可见,通过本方案,对于内容一致的连续的至少两帧,仅仅对该至少两帧中的一帧进行块级编码,同时对重复帧的数量进行帧级声明,避免了对于重复帧的块级编码,因此,在保证编码质量的前提下,可以提高编码过程中的编码效率。

本申请基于上述的一种视频编码方法所提供的一种视频解码方法,在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原该目标帧;如果检测到该目标帧中声明有重复帧的数量,恢复该重复帧。可见,通过该视频解码方法,避免了对重复帧进行与块级编码对应的解码,因此,可以提高解码过程的解码效率。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种视频编码方法的流程图;

图2是根据一示例性实施例示出的一种视频解码方法的流程图;

图3是本申请所示出的连续多个视频帧的示意图;

图4是根据一示例性实施例示出的一种视频编码装置的框图;

图5是根据一示例性实施例示出的一种视频解码装置的框图;

图6是根据一示例性实施例示出的一种视频编解码系统的框图

图7是根据一示例性实施例示出的一种电子设备的框图;

图8是根据一示例性实施例示出的另一电子设备的框图;

图9是根据一示例性实施例示出的一种用于视频编码/解码的装置的框图;

图10是根据一示例性实施例示出的另一种用于视频编码/解码的装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

为了解决现有技术问题,本申请实施例提供了一种视频编码方法、视频解码方法、装置、电子设备及系统。

下面首先对本申请实施例所提供的一种视频编码方法进行介绍。

需要说明的是,本申请所提供的一种视频编码方法可以应用于电子设备中。在具体应用中,该电子设备可以为终端设备或服务器。另外,本申请所提供的一种视频编码方法所针对的视频可以为任一个待编码的视频,本申请对待编码的视频的来源、内容等不作限定。

图1是根据一示例性实施例示出的一种视频编码方法的流程图。如图1所示,本申请一示例性实施例所提供的一种视频编码方法,可以包括如下步骤:

s101,在对视频进行编码的过程中,针对待编码的目标帧,如果检测到该目标帧之后连续n帧与该目标帧相同,对该目标帧和连续n帧进行预设的帧级编码;

其中,n大于等于1,该帧级编码为:对该目标帧和连续n帧中的一帧进行块级编码,且对该目标帧对应的重复帧的数量进行帧级的数量声明。

在对视频进行编码的过程中,可以按照视频帧的排列顺序,依次对各个视频帧进行编码。可以理解的是,利用本实施例所提供编码方法进行编码的第一个待编码的目标帧,可以为该视频的第一帧。当然,利用本实施例所提供编码方法进行编码的第一个待编码的目标帧,并不局限于视频的第一帧,举例而言:根据预定的编码需求,可以将该视频的某一时段的多个视频帧中的第一帧,作为利用本实施例所提供编码方法进行编码的第一个待编码的视频帧。

本实施例中,针对待编码的目标帧,并不是直接对该目标帧进行块级编码,而是检测该目标之后是否存在连续n帧与该目标帧相同,该连续n帧包括该目标帧的下一帧。进而,如果检测到该目标帧之后连续n帧与该目标帧相同,则对该目标帧和连续n帧进行预设的帧级编码。举例而言:如图3所示,假设存在f1-f5这5个视频帧,如果该目标帧为f1,f2-f4与该目标帧相同,而f5不同该目标帧,则该连续n帧为:f2-f4,f5为该目标帧之后第一个与该目标帧不同的视频帧,那么,则对该f1和f2-f4执行预设的帧级编码。

具体的,为了检测该目标帧是否与连续n帧相同,可以判断该目标帧与该目标帧的下一帧是否相同,如果相同,则可以继续判断该下一帧之后的下一帧是否与该目标帧相同,直至查找到第一个与该目标帧的不同的视频帧,此时,可以获得该目标帧对应的重复帧的数量,即连续n帧的数量。可以理解的是,如果该目标帧与该目标帧的下一帧不相同,则停止检测,并判定该目标帧的下一帧与该目标帧不同,不符合该目标帧之后连续n帧与该目标帧相同的条件。举例而言:参见图3,假设存在f1-f5这5个视频帧,f1-f4为相同的视频帧,如果该目标帧为f1,为了检测该目标帧是否与连续n帧相同,则首先判断f1是否与f2相同,判断结果为相同时,继续判断f1是否与f3相同,在判断结果为相同时,可以判断f1是否与f4相同,而判断结果仍为相同,则继续判断该f1与f5是否相同,判断结果为不同,此时,得到f1与f2-f4这连续3帧相同,f5为第一个与f1不同的视频帧。

可以理解的是,对于任意两帧是否相同的判断方式存在多种,举例而言:可以计算两帧的相似度,基于相似度来判断两帧是否相同;或者,可以将两帧进行相减,基于相减结果来判断两帧是否相同。任何一种能够判断两帧是否相同的方式均可以应用于本申请,具体采用何种,可以根据实际情况进行设定,本申请对此不做限定。

另外,可选地,对该目标帧对应的重复帧进行帧级的数量声明的方式,可以包括:将该目标帧对应的重复帧的数量声明在帧头中的方式,当然并不局限于此。并且,所谓的在帧头中声明数量,即在帧头中增加新的语义,该新的语义用于表征声明信息,且该新的语义可以采用二进制的编码内容。

需要说明的是,基于将该目标帧对应的重复帧的数量声明在帧头中的方式,关于对该目标帧和连续n帧进行预设的帧级编码的具体实现方式存在多种,为了布局清晰以及方案清楚,关于对该目标帧和连续n帧进行预设的帧级编码的具体实现方式,后续进行详细介绍。

s102,在执行完毕该帧级编码后,将该目标帧之后且不同于该目标帧的第一个视频帧,作为下一待编码的目标帧。

由于通过仅编码一帧同时对重复帧进行数量声明的方式,保证了该目标帧和连续n帧的编码质量,即等同于该目标帧和连续n帧的每帧均被编码,因此,在执行完毕该帧级编码后,可以将该目标帧之后且不同于该目标帧的第一个视频帧,作为下一待编码的目标帧,进而返回执行s101的步骤。这样,视频中内容相同的各组视频帧均可以进行帧级编码,从而大大降低了编码数据量,提高了编码效率。

另外,需要说明的是,针对待编码的目标帧,如果检测到该目标帧的下一帧与该目标帧不同,则可以对该目标帧进行块级编码;在执行完毕对该目标帧的块级编码后,将该目标帧的下一帧,作为下一待编码的目标帧,进而返回执行s101。

需要强调的是,本实施例中所提及的块级编码的具体实现方式与现有技术中的块级编码的方式相同,本申请不做限定。示例性的,块级编码的过程可以为:针对任一待编码的数据块,从参考帧中获取待编码数据块对应的预测块,然后,将待编码数据块与预测块相减得到残差,对残差执行dct(discretecosinetransform,离散余弦变换)变换后得到的dct系数矩阵进行一次性量化,最后,将量化得到的dct系数矩阵、待编码数据块与预测块之间的运动矢量等输入到熵编码器中进行编码。

本申请所提供的一种视频编码方法,在对视频进行编码的过程中,针对待编码的目标帧,如果检测到待编码的目标帧之后连续n帧与目标帧相同,则对该目标帧和连续n帧进行预设的帧级编码,即对该目标帧和连续n帧中的一帧进行块级编码,且对该目标帧对应的重复帧进行帧级的数量声明;在执行完毕该帧级编码后,将该目标帧之后且不同于该目标帧的第一个视频帧,作为下一待编码的目标帧。可见,通过本方案,对于内容一致的连续至少两帧,仅仅对该至少两帧中的一帧进行块级编码,同时对重复帧的数量进行帧级声明,避免了对于重复帧的块级编码,因此,在保证编码质量的前提下,可以提高编码过程中的编码效率。

基于将该目标帧对应的重复帧的数量声明在帧头中的方式,关于对该目标帧和连续n帧进行预设的帧级编码的具体实现方式存在多种,下面结合两种具体实现方式进行举例说明。

可选地,在一种实现方式中,对该目标帧和连续n帧进行预设的帧级编码的步骤,可以包括:

针对该目标帧和连续n帧中的一帧,在该帧的帧头中添加第一声明信息,并对添加该第一声明信息后的该帧进行块级编码;

其中,该第一声明信息用于声明:关于添加有该第一声明信息的视频帧,存在n个重复帧。

在该种实现方式中,该第一声明信息可以添加在该目标帧和连续n帧中的任一帧的帧头中。可以理解的是,该第一声明信息可以为二进制的编码内容,该二进制的编码内容所表示的含义为:关于添加有该第一声明信息的视频帧,存在n个重复帧。对于第一声明信息对应的具体的二进制的编码内容,并申请不做限定。

在具体应用中,为了添加便捷,针对该目标帧和连续n帧中的一帧,在该帧的帧头中添加第一声明信息,可以包括:

在该目标帧的帧头中添加第一声明信息;或者,在该连续n帧的最后一帧中添加第一声明信息。

例如,参见图3,假设存在f1-f5这5个视频帧,f1-f4为相同的视频帧,如果该目标帧为f1,该目标帧与连续3帧相同,此时,可以在f1的帧头中增加第一声明信息,从而完成针对于f1和f2-f4的帧级编码,该第一声明信息表明f1存在3个重复帧;后续对重复帧进行恢复时,在解码出f1后,可以在f1之后增加3个f1。又如,参见图3,假设存在f1-f5这5个视频帧,f1-f4为相同的视频帧,如果该目标帧为f1,该目标帧与连续3帧相同,此时,可以在f4的帧头中增加第一声明信息,从而完成针对于f1和f2-f4的帧级编码,该第一声明信息表明该f4存在3个重复帧;后续对重复帧进行恢复时,在解码得到f4后,在f4之前添加3个f4。

可选地,在另一种实现方式中,所述对该目标帧和连续n帧进行预设的帧级编码的步骤,可以包括:

对该目标帧进行块级编码;

在该目标帧之后且不同于该目标帧的第一个视频帧的帧头中,添加第二声明信息;

其中,该第二声明信息用于声明:关于添加有该第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

可以理解的是,该第二声明信息可以为二进制的编码内容,该二进制的编码内容所表示的含义为:关于添加有该第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。对于第二声明信息对应的具体的二进制的编码内容,并申请不做限定。

例如,参见图3,假设存在f1-f5这5个视频帧,f1-f4为相同的视频帧,f5不同于f1,如果该目标帧为f1,该目标帧与连续3帧相同,此时,可以在f5的帧头中增加第二声明信息,从而完成针对于f1和f2-f4的帧级编码,该第二声明信息表明f5之前的f1,存在3个重复帧;后续重复帧进行恢复时,在解码得到f1和f5后,在f5之前添加3个f1。

需要强调的是,上述所给出的关于对该目标帧和连续n帧进行预设的帧级编码的具体实现方式仅仅作为示例,并不应该构成对本申请的限定。

相应于上述的一种视频编码方法,本申请实施例还提供了一种视频解码方法。

需要说明的是,本申请所提供的一种视频解码方法可以应用于电子设备中。在具体应用中,该电子设备可以为终端设备或服务器。另外,本申请所提供的一种视频解码方法所针对的视频可以为任一个待编码的视频,本申请对待编码的视频的来源、内容等不作限定。

图2是根据一示例性实施例示出的一种视频解码方法的流程图,该视频解码方法为上述的一种视频编码方法对应的解码方法。如图2所示,本申请一示例性实施例所提供的一种视频解码方法,可以包括如下步骤:

s201,在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原该目标帧;

其中,所述视频按照上述实施例中所提供的一种视频编码方法进行编码的。

对于已编码的目标帧,可以基于已编码的目标帧的编码信息,还原该目标帧。需要说明的是,所述基于编码信息,还原目标帧的具体实现方式,与现有技术中块级编码所对应的还原方式相同,在此不做赘述。

s202,如果检测到该目标帧中声明有重复帧的数量,恢复该重复帧。

在还原该目标帧后,可以检测该目标帧中是否声明有重复帧的数量,如果检测到该目标帧中声明有重复帧的数量,则可以恢复该重复帧。需要说明的是,每还原出一个目标帧时,可以执行数量声明的检测及重复帧的恢复;当然,在还原出多个目标帧后,可以分别针对每一目标帧进行数量声明的检测及重复帧的恢复。

其中,相应于上述的将重复帧的数量声明在帧头中的方式,所述如果检测到该目标帧中声明有重复帧的数量,恢复所述重复帧,可以包括:

如果检测到该目标帧的帧头中声明有重复帧的数量,恢复该重复帧。

可选地,相应于上述的在目标帧和连续n帧中的一帧中进行数量声明的方式,如果检测到所述目标帧的帧头中声明有重复帧的数量,恢复所述重复帧,可以包括:

如果检测到该目标帧的帧头中存在第一声明信息,在该目标帧之后/之前增加n个该目标帧;

该第一声明信息用于声明:关于添加有该第一声明信息的视频帧,存在n个重复帧。

举例而言:仍以图3为例,假设在f1的帧头中添加有第一声明信息,则恢复所述重复帧为:在f1之后增加3个f1;假设在f4的帧头中添加有第一声明信息,则恢复所述重复帧为:在f4之前增加3个f4。

可选地,相应于上述的在目标帧之后第一个不同的视频帧中进行数量声明的方式,如果检测到该目标帧的帧头中声明有重复帧的数量,恢复该重复帧,可以包括:

如果检测到该目标帧的帧头中存在第二声明信息,在该目标帧和所述目标帧的上一个视频帧之间,添加n个该目标帧的上一个视频帧;

该第二声明信息用于声明:关于添加有该第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

举例而言:仍以图3为例,假设在f5的帧头中添加有第二声明信息,则恢复所述重复帧为:在解码得到f1和f5后,在f1和f5之间添加3个f1。

本申请基于上述的一种视频编码方法所提供的一种视频解码方法,在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原该目标帧;如果检测到该目标帧中声明有重复帧的数量,恢复该重复帧。可见,通过该视频解码方法,避免了对重复帧进行与块级编码对应的解码,因此,可以提高解码过程的解码效率。

相应于上述的一种视频编码方法,本申请实施例还提供了一种视频编码装置。图4是根据一示例性实施例示出的一种视频编码装置的框图。参照图4,本申请一示例性实施例所提供的一种视频编码装置包括:第一编码单元410和第二确定单元420。

其中,所述第一编码单元410,被配置为在对视频进行编码的过程中,针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧和连续n帧进行预设的帧级编码;其中,所述n大于等于1,所述帧级编码为:对所述目标帧和连续n帧中的一帧进行块级编码,且对所述目标帧对应的重复帧进行帧级的数量声明。

所述确定单元420,被配置为在执行完毕所述帧级编码后,将所述目标帧之后且不同于所述目标帧的第一个视频帧,作为下一待编码的目标帧。

本申请所提供的一种视频编码装置,在对视频进行编码的过程中,针对待编码的目标帧,如果检测到待编码的目标帧之后连续n帧与目标帧相同,则对该目标帧和连续n帧进行预设的帧级编码,即对该目标帧和连续n帧中的一帧进行块级编码,且对该目标帧对应的重复帧进行帧级的数量声明;在执行完毕该帧级编码后,将该目标帧之后且不同于该目标帧的第一个视频帧,作为下一待编码的目标帧。可见,通过本方案,对于内容一致的连续至少两帧,仅仅对该至少两帧中的一帧进行块级编码,同时对重复帧的数量进行帧级声明,避免了对于重复帧的块级编码,因此,在保证编码质量的前提下,可以提高编码过程中的编码效率。

可选地,在包含第一编码单元410和确定单元420的基础上,该视频编码装置还包括:

第二编码单元,被配置为针对待编码的目标帧,如果检测到所述目标帧的下一帧与所述目标帧不同,对所述目标帧进行块级编码;

所述确定单元420,还被配置为在执行完毕对所述目标帧的块级编码后,将所述目标帧的下一帧,作为下一待编码的目标帧。

可选地,在一种实现方式中,所述第一编码单元410对所述目标帧对应的重复帧进行帧级的数量声明的方式,包括:

将所述目标帧对应的重复帧的数量声明在帧头中的方式。

可选地,在一种实现方式中,所述第一编码单元410包括:

第一添加模块,被配置为针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,针对所述目标帧和连续n帧中的一帧,在该帧的帧头中添加第一声明信息;

第一编码模块,被配置为对添加所述第一声明信息后的该帧进行块级编码;

其中,所述第一声明信息用于声明:关于添加有所述第一声明信息的视频帧,存在n个重复帧。

可选地,所述第一添加模块具体被配置为:

针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,在所述目标帧的帧头中添加第一声明信息,或者,在所述连续n帧的最后一帧中添加第一声明信息。

可选地,在另一种实现方式中,所述第一编码单元410包括:

第二编码模块,被配置为针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧进行块级编码;

第二添加模块,被配置为在所述目标帧之后且不同于所述目标帧的第一个视频帧的帧头中,添加第二声明信息;

其中,所述第二声明信息用于声明:关于添加有所述第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

关于上述实施例中的装置,其中各个单元/模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

相应于上述的一种视频解码方法,本申请实施例还提供了一种视频解码装置。图5是根据一示例性实施例示出的一种视频解码装置的框图。参照图5,本申请一示例性实施例所提供的一种视频解码装置包括:解码单元510和恢复单元520。

其中,解码单元510,被配置为在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原所述目标帧;其中,所述视频按照本申请所提供的视频编码方法进行编码。

恢复单元520,被配置为如果检测到所述目标帧中声明有重复帧的数量,恢复所述重复帧。

本申请所提供的一种视频解码装置,在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原该目标帧;如果检测到该目标帧中声明有重复帧的数量,恢复该重复帧。可见,通过该视频解码方法,避免了对重复帧进行与块级编码对应的解码,因此,可以提高解码过程的解码效率。

可选地,所述恢复单元520包括:

恢复模块,被配置为如果检测到所述目标帧的帧头中声明有重复帧的数量,恢复所述重复帧。

可选地,在一种实现方式中,所述恢复模块具体被配置为:

如果检测到所述目标帧的帧头中存在第一声明信息,在所述目标帧之后/之前增加n个所述目标帧;

所述第一声明信息用于声明:关于添加有所述第一声明信息的视频帧,存在n个重复帧。

可选地,在一种实现方式中,所述恢复模块具体被配置为:

如果检测到所述目标帧的帧头中存在第二声明信息,在所述目标帧和所述目标帧的上一个视频帧之间,添加n个所述目标帧的上一个视频帧;

所述第二声明信息用于声明:关于添加有所述第二声明信息的视频帧的上一个已编码视频帧,存在n个重复帧。

关于上述实施例中的装置,其中各个单元/模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

相应于上述方法实施例,本申请实施例还提供了一种视频编解码系统,如图6所示,该视频编解码系统可以包括:

第一电子设备610,用于在对视频进行编码的过程中,针对待编码的目标帧,如果检测到所述目标帧之后连续n帧与所述目标帧相同,对所述目标帧和连续n帧进行预设的帧级编码;其中,所述n大于等于1,所述帧级编码为:对所述目标帧和连续n帧中的一帧进行块级编码,且对所述目标帧对应的重复帧进行帧级的数量声明;在执行完毕所述帧级编码后,将所述目标帧之后且不同于所述目标帧的第一个视频帧,作为下一待编码的目标帧;

第二电子设备620,用于在对视频进行解码的过程中,基于已编码的目标帧的编码信息,还原所述目标帧;如果检测到所述目标帧中声明有重复帧的数量,恢复所述重复帧。

其中,关于第一电子设备执行的各个步骤的具体实现方式和相关解释内容,可以参见上述的一种视频编码方法的相关内容,在此不做赘述。类似的,关于第二电子设备执行的各个步骤的具体实现方式和相关解释内容,可以参见上述的一种视频解码方法的相关内容,在此不做赘述。并且,该第一电子设备可以终端设备或服务器,而该第二电子设备也可以为终端设备或服务器,这都是合理的。

另外,相应于上述实施例所提供的一种视频编码方法,本申请实施例还提供了一种电子设备,如图7所示,该电子设备可以包括:

处理器710;

用于存储处理器可执行指令的存储器720;

其中,所述处理器710被配置为:执行所述存储器720上所存放的可执行指令时,实现本申请实施例所提供的一种视频编码方法的步骤。

可以理解的是,该电子设备可以是服务器或是终端设备,在具体应用中,该终端设备可以为移动电话、计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

相应于上述的一种视频解码方法,本申请实施例还提供了一种电子设备。如图8所示,该电子设备包括:

处理器810;

用于存储处理器可执行指令的存储器820;

其中,所述处理器810被配置为:执行所述存储器820上所存放的可执行指令时,实现本申请实施例所提供的一种视频解码方法的步骤。

可以理解的是,该电子设备可以是服务器或是终端设备,在具体应用中,该终端设备可以为移动电话、计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

图9是根据一示例性实施例示出的一种用于视频编码/解码的装置900的框图。例如,装置900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图9,装置900可以包括以下一个或多个组件:处理组件902,存储器904,电力组件906,多媒体组件908,音频组件910,输入/输出(i/o)的接口912,传感器组件914,以及通信组件916。

处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。

存储器904被配置为存储各种类型的数据以支持在装置900的操作。这些数据的示例包括用于在装置900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eefrom),可擦除可编程只读存储器(efrom),可编程只读存储器(from),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件906为装置900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为装置900生成、管理和分配电力相关联的组件。

多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tf)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当装置900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(mic),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。

i/o接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件914包括一个或多个传感器,用于为装置900提供各个方面的状态评估。例如,传感器组件914可以检测到设备900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置900可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsf)、数字信号处理设备(dsfd)、可编程逻辑器件(fld)、现场可编程门阵列(ffga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

图10是根据一示例性实施例示出的一种用于视频编码/解码的装置1000的框图。例如,装置1000可以被提供为一服务器。参照图10,装置1000包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理组件1022的执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述的视频编码方法/视频解码方法。

装置1000还可以包括一个电源组件1026被配置为执行装置1000的电源管理,一个有线或无线网络接口1050被配置为将装置1000连接到网络,和一个输入输出(i/o)接口1058。装置1000可以操作基于存储在存储器1032的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

另外,本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请实施例所提供的一种视频编码方法的步骤。

另外,本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请实施例所提供的一种视频解码方法的步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述视频编码/解码方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

另外,本申请实施例还提供了一种计算机程序,所述计算机程序用于被运行以执行上述视频编码方法的步骤。

另外,本申请实施例还提供了一种计算机程序,所述计算机程序用于被运行以执行上述视频解码方法的步骤。

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1