一种利用长期参考帧的视频编码方法、电子设备和系统与流程

文档序号:12600974阅读:208来源:国知局
一种利用长期参考帧的视频编码方法、电子设备和系统与流程

本发明涉及视频编码领域,特别涉及一种利用长期参考帧的视频编码方法、电子设备及系统。



背景技术:

在标准H.264中,编码端每隔一段时间向解码端发送IDR(instant decoding refresh)帧。IDR帧是一个GOP(group of pictures)的首个I帧,即从IDR帧开始,重新开始一个新的序列编码,它的作用是使得解码器立即刷新,从而使预测错误不至于传播,并提供随机访问能力。I DR帧之后的帧可以参考IDR帧,或最近的帧,但是不会参考IDR帧之前的帧。但是,IDR帧的编码效率较低,因而比较大,发送IDR帧容易造成丢包和卡顿。



技术实现要素:

为了解决上述问题,本发明实施例提供了一种视频编码方法、电子设备及系统。

根据本发明的第一方面,提供了一种视频编码方法,该方法包括:

获取视频帧;

判断是否满足第一预设条件;

如果是,则将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧;

判断是否满足第二预设条件;

如果是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码, 生成编码数据;

如果否,则利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据;

判断所述视频帧是否被标记为待生效的长期参考帧;

如果是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;

向解码端发送所述编码数据;

接收来自所述解码端的长期参考帧反馈;以及

将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

结合第一方面,在第二种可能的实现方式中,所述第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。

结合第一方面或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。

结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,该方法还包括:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

结合第一方面,在第五种可能的实现方式中,所述利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据包括:

利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

根据本发明的第二方面,提供了一种视频编码设备,该视频编码设备包括:

获取模块,用于获取视频帧;

第一判断模块,用于判断是否满足第一预设条件;

参考帧管理模块,用于如果所述第一判断模块判定是,则将所述视频帧添 加到参考帧缓存中并标记为待生效的长期参考帧;

第二判断模块,用于判断是否满足第二预设条件;

编码模块,用于如果所述第二判断模块判定是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据;

所述编码模块,还用于如果所述第二判断模块判定否,则利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据;

第三判断模块,用于判断所述视频帧是否被标记为待生效的长期参考帧;

标示模块,用于如果所述第三判断模块判定是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;

发送模块,用于向视频解码设备发送所述编码数据;

接收模块,用于接收来自所述视频解码设备的长期参考帧反馈;以及

所述参考帧管理模块,还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

结合第二方面,在第二种可能的实现方式中,所述第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。

结合第二方面或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。

结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述设备还包括:

检测模块,用于检测来自所述视频解码设备的长期参考帧反馈的时延是否超过第三阈值,

周期定时延长模块,用于所述检测模块检测到来自所述视频解码设备的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

结合第二方面,在第五种可能的实现方式中,所述编码模块用于:

如果所述第二判断模块判定是,则利用参考帧缓存中的多个生效长期参考 帧对所述视频帧进行编码,生成编码数据。

根据本发明的第三方面,提供了一种视频编解码系统,该系统包括视频编码设备和视频解码设备,其中,

所述视频编码设备包括:

获取模块,用于获取视频帧;

第一判断模块,用于判断是否满足第一预设条件;

第一参考帧管理模块,用于如果所述第一判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧;

第二判断模块,用于判断是否满足第二预设条件;

编码模块,用于如果所述第二判断模块判定是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据;

所述编码模块,还用于如果所述第二判断模块判定否,则利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据;

第三判断模块,用于判断所述视频帧是否被标记为待生效的长期参考帧;

标示模块,用于如果所述第三判断模块判定是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;

发送模块,用于向所述视频解码设备发送所述编码数据;

第一接收模块,用于接收来自所述视频解码设备的长期参考帧反馈;以及

所述第一参考帧管理模块,还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧;

所述视频解码设备包括:

第二接收模块,用于接收所述编码数据;

解码模块,用于将所述编码数据解码,获取视频帧;

第四判断模块,用于判断所述编码数据中是否设置标示所述视频帧为长期参考帧的信息并且所述解码是否正确;

第二参考帧管理模块,用于如果所述第四判断模块判定是,则将所述视频 帧添加到参考帧缓存中并标记为长期参考帧;

反馈模块,用于在所述第二参考帧管理模块将所述视频帧添加到参考帧缓存中并标记为长期参考帧之后,向所述视频编码设备发送长期参考帧反馈。

结合第三方面,在第二种可能的实现方式中,所述第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。

结合第三方面或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。

结合第三方面的第二种可能的实现方式,在第四种可能的实现方式中,所述视频编码设备还包括:

检测模块,用于检测来自所述视频解码设备的长期参考帧反馈的时延是否超过第三阈值,

周期定时延长模块,用于所述检测模块检测到来自所述视频解码设备的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

结合第三方面,在第五种可能的实现方式中,所述编码模块用于:

如果所述第二判断模块判定是,则利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

根据本发明第四方面,提供了一种电子设备,该电子设备包括:存储器、发送/接收模块以及与存储器、发送/接收模块耦合的处理器,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

获取视频帧;

判断是否满足第一预设条件;

如果是,则将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧;

判断是否满足第二预设条件;

如果是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据;

如果否,则利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据;

判断所述视频帧是否被标记为待生效的长期参考帧;

如果是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;

向解码端发送所述编码数据;

接收来自所述解码端的长期参考帧反馈;以及

将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

结合第四方面,在第二种可能的实现方式中,所述第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。

结合第四方面或第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。

结合第四方面的第二种可能的实现方式,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

结合第四方面,在第五种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

本发明实施例提供一种利用长期参考帧的视频编码方法、电子设备和系统,通过在满足第一预设条件时将视频帧缓存并标记为待生效的长期参考帧,提供了一种确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考 帧的信息,使得解码端能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向解码端传送该信息。通过在接收到来自解码端的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在解码端正确接收的情况下才用于编码,确保了利用长期参考帧的编码数据在解码端的正确解码。通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免IDR帧数据过大而容易丢包和卡顿的问题。通过在长期参考帧反馈超过第三阈值时延长周期定时,可以避免参考帧缓存被快速填满。通过阅读以下描述,本领域普通技术人员还能够想到其他优点和益处。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种利用长期参考帧的视频编码方法流程图;

图2是本发明实施例提供的一种利用长期参考帧的视频编码方法流程图;

图3是本发明实施例提供的一种利用长期参考帧的视频编码方法流程图;

图4是本发明实施例提供的一种视频编码设备结构示意图;

图5是本发明实施例提供的一种电子设备结构示意图;

图6是本发明实施例提供的一种系统结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中 的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种利用长期参考帧的视频编解码方法,该方法可以应用于即时视频通信或视频流播放等场景,本发明实施例对场景不加以限定。用已经传送成功的长期参考帧代替IDR帧可以更好地压缩数据,相同码率画质会更好,同时避免IDR帧数据过大而容易丢包和卡顿的问题。在例如丢包严重时,用已经传送成功的长期参考帧来做参考,避免由于前面帧丢包不能正常解码而影响后续帧解码的问题。本发明实施例可以应用于例如H.264的协议。但是,本领域普通技术人员能够理解,本发明实施例还可以应用于其他协议。对本发明实施例的应用范围不作具体限制。

实施例一

本发明实施例提供了一种利用长期参考帧的视频编码方法,参照图1所示,该方法包括:

101、获取视频帧。

具体的,获取视频帧包括通过摄像头获取视频帧。可选的,获取视频帧包括获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。

102、判断是否满足第一预设条件;如果是,则执行步骤103。

具体的,第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。

103、将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧。

具体的,将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧包括将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。

104、判断是否满足第二预设条件;如果是,则执行步骤105,如果否,则执行步骤106。

可选的,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。

可选的,所述第二预设条件包括第二周期定时。

105、利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据。

可选的,利用参考帧缓存中标记为生效的长期参考帧对所述视频帧进行编码,生成编码数据包括:

利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

106、利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据。

要说明的是,上面描述的步骤102-103与步骤104-106之间的顺序仅是示例。也可以先执行步骤104-106,再执行步骤102-103。或者,步骤104-106与步骤102-103可以并行执行。本发明实施例对此不加以限定。

107、判断所述视频帧是否被标记为待生效的长期参考帧;如果是,则执行步骤108。

具体的,判断所述视频帧是否被标记为待生效的长期参考帧包括判断参考帧缓存中的长期参考帧缓存区是否存在所述视频帧,如果存在,则判定是。

108、在所述编码数据中设置标示所述视频帧为长期参考帧的信息。

具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。

109、向解码端发送所述编码数据。

110、接收来自所述解码端的长期参考帧反馈。

具体的,来自所述解码端的长期参考帧反馈包括长期参考帧的帧号。

111、将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

具体的,将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧包括:

获取长期参考帧反馈中包括的帧号;

确定该帧号在参考帧缓存中对应的长期参考帧;以及

将该对应的长期参考帧标记为生效。

可选的,该方法还包括:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

检测到长期参考帧反馈时延超过阈值表明网络延迟较长,如果维持原有的周期定时,那么缓存的长期参考帧将比较快速地填满参考帧缓存,通过延长周期定时,可以延缓长期参考帧的缓存速度,从而避免参考帧缓存被快速填满。

本发明实施例提供一种利用长期参考帧的视频编码方法,通过在满足第一预设条件时将视频帧缓存并标记为待生效的长期参考帧,提供了一种确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考帧的信息,使得解码端能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向解码端传送该信息。通过在接收到来自解码端的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在解码端正确接收的情况下才用于编码,确保了利用长期参考帧的编码数据在解码端的正确解码。通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免I DR帧数据过大而容易丢包和卡顿的问题。通过在长期参考帧反馈超过第三阈值时延长周期定时,可以避免参考帧缓存被快速填满。

实施例二

本发明实施例提供了一种利用长期参考帧的视频编码方法,参照图2所示,该方法包括:

201、获取视频帧。

具体的,获取视频帧包括通过摄像头获取视频帧。可选的,获取视频帧包括获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。

202、判断是否满足周期定时;如果是,则执行步骤203。

具体的,周期定时可以按照真实时间计算,例如每10秒,也可以按照帧间隔来计算,例如每5帧。本发明实施例对周期定时的具体形式和长度不加以限定。

203、将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧。

具体的,将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧包括将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。

具体的,该长期参考帧对应的指示符例如可以是1比特指示符,将该1比特指示符设置为0可以表示该长期参考帧为待生效,将该1比特指示符设置为1可以表示该长期参考帧为生效。当然也可以将0表示为生效,将1表示为待生效。此外,本领域普通技术人员还能够想到其他的指示符,本发明实施例对指示符的方式不加以限定。

204、判断是否满足第二预设条件;如果是,则执行步骤205,如果否,则执行步骤206。

具体的,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。第二预设条件可以包括仅一个网络参数,此时第二阈值涉及一个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率是否超过丢包率阈值,或者判断时延是否超过时延阈值,或者判断抖动率是否超过抖动率阈值。第二预设条件可以包括两个网络参数,此时第二阈值涉及两个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率和时延是否分别超过丢包率阈值和时延阈值,或者判断丢包率和抖动率是否分别超过丢包率阈值和抖动率阈值,或者判断时延和抖动率是否分别超过时延阈值和抖动率阈值。第二 预设条件可以包括三个网络参数,此时第二阈值涉及三个网络参数阈值,例如判断是否满足第二预设条件包括判断是否满足丢包率、时延和抖动率是否分别超过丢包率阈值、时延阈值和抖动率阈值。本发明实施例对丢包率阈值、时延阈值和抖动率阈值的具体数值不加以限定。

具体的,所述第二预设条件包括第二周期定时。第二周期定时可以按照真实时间计算,例如每30秒,也可以按照帧间隔来计算,例如每50帧。第二周期定时的周期可以长于步骤202中的周期定时。本发明实施例对第二周期定时的具体形式和长度不加以限定。

205、利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据。

可选的,利用参考帧缓存中标记为生效的长期参考帧对所述视频帧进行编码,生成编码数据包括:

利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

具体的,利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据包括:

从参考帧缓存中的长期参考帧缓存区获取所有生效的长期参考帧;

根据所有生效的长期参考帧和视频帧,确定视频帧的各个块对应的长期参考帧;以及

利用视频帧的各个块对应的长期参考帧编码视频帧的各个块,生成编码数据。

可选的,利用参考帧缓存中标记为生效的长期参考帧对所述视频帧进行编码,生成编码数据包括:

利用参考帧缓存中的一个生效长期参考帧对所述视频帧进行编码,生成编码数据。

206、利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数 据。

本发明实施例对于利用短期参考帧对视频帧进行编码不加以限定。

要说明的是,上面描述的步骤202-103与步骤204-206之间的顺序仅是示例。也可以先执行步骤204-206,再执行步骤202-203。或者,步骤204-206与步骤202-203可以并行执行。本发明实施例对此不加以限定。

207、判断所述视频帧是否被标记为待生效的长期参考帧;如果是,则执行步骤208。

具体的,判断所述视频帧是否被标记为待生效的长期参考帧包括判断参考帧缓存中的长期参考帧缓存区是否存在所述视频帧,如果存在,则判定是。

208、在所述编码数据中设置标示所述视频帧为长期参考帧的信息。

具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。在现有H.264标准中,编码数据中存在1比特的长期参考帧指示符,可以设置该1比特的长期参考帧指示符来向解码端表示该视频帧为长期参考帧。通过利用H.264标准中现有的长期参考帧指示符,可以兼容H.264标准。

209、向解码端发送所述编码数据。

210、接收来自所述解码端的长期参考帧反馈。

具体的,来自所述解码端的长期参考帧反馈包括长期参考帧的帧号。

211、将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

具体的,将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧包括:

获取长期参考帧反馈中包括的帧号;

确定该帧号在参考帧缓存的长期参考帧缓存区中对应的长期参考帧;以及

将该长期参考帧标记为生效。

具体的,将该长期参考帧标记为生效包括将该长期参考帧对应的指示符设 置为生效。例如,该长期参考帧对应的指示符可以是1比特指示符,将该1比特指示符设置为1以将该长期参考帧标记为生效。当然,也可以定义为将1比特指示符设置为0以表示该长期参考帧生效。本领域普通技术人员还能够想到其他的指示符。本发明实施例对指示符的具体形式不加以限定。

可选的,该方法还包括:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

具体的,将所述周期定时延长包括将所述周期定时延长1倍。当然,本发明实施例对周期定时的延长程度不加以限定。

检测到长期参考帧反馈时延超过阈值表明网络延迟较长,如果维持原有的周期定时,那么缓存的长期参考帧将比较快速地填满参考帧缓存,通过延长周期定时,可以延缓长期参考帧的缓存速度,从而避免参考帧缓存被快速填满。

可选的,该方法还包括:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将周期定时修改为周期定时加上所述视频帧与先前的长期参考帧之差超过第一阈值,详情例如可以参照实施例三。通过在将视频帧缓存为长期参考帧时选择更严格的标准,可以延缓长期参考帧的缓存速度,从而避免参考帧缓存被快速填满。上述更严格的标准只是示例,本领域技术人员还能够想到其他标准,本发明实施例对此不加以限定。

本发明实施例提供一种利用长期参考帧的视频编码方法,通过在满足周期定时时将视频帧缓存并标记为待生效的长期参考帧,提供了一种周期确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考帧的信息,使得解码端能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向解码端传送该信息。通过在接收到来自解码端的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在解码端正确接收的情况下才用于编码,确保了利用长期参考帧的编码数据在解码端的正确解码。另外, 通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免IDR帧数据过大而容易丢包和卡顿的问题。通过在长期参考帧反馈超过第三阈值时延长周期定时或者改为更严格的标准,可以避免参考帧缓存被快速填满。

实施例三

本发明实施例提供了一种利用长期参考帧的视频编码方法,参照图3所示,该方法包括:

301、获取视频帧。

具体的,获取视频帧包括通过摄像头获取视频帧。可选的,获取视频帧包括获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。

302、判断是否满足周期定时和所述视频帧与先前的长期参考帧之差超过第一阈值;如果是,则执行步骤303。

具体的,周期定时可以按照真实时间计算,例如每10秒,也可以按照帧间隔来计算,例如每5帧。本发明实施例对周期定时的具体形式和长度不加以限定。

具体的,所述视频帧与先前的长期参考帧之差超过第一阈值包括:

所述视频帧与先前的长期参考帧之间的峰值信噪比PSNR小于预设阈值。

具体的,峰值信噪比其中,矩阵I和K分别是视频帧和先前的长期参考帧,它们的大小为m×n,MAXI是图像像素点的最大数值,例如每个点采用8位表示,那么就是255。预设阈值例如可以是40。当然,本发明实施例对预设阈值的大小不加以限定。

本领域技术人员还可以想到所述视频帧与先前的长期参考帧之差超过第一阈值的其他方式。本发明实施例对此不加以限定。

303、将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧。

具体的,将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧包括将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。

具体的,该长期参考帧对应的指示符例如可以是1比特指示符,将该1比特指示符设置为0可以表示该长期参考帧为待生效,将该1比特指示符设置为1可以表示该长期参考帧为生效。当然也可以将0表示为生效,将1表示为待生效。此外,本领域普通技术人员还能够想到其他的指示符,本发明实施例对指示符的方式不加以限定。

304、判断是否满足第二预设条件;如果是,则执行步骤305,如果否,则执行步骤306。

具体的,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。第二预设条件可以包括仅一个网络参数,此时第二阈值涉及一个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率是否超过丢包率阈值,或者判断时延是否超过时延阈值,或者判断抖动率是否超过抖动率阈值。第二预设条件可以包括两个网络参数,此时第二阈值涉及两个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率和时延是否分别超过丢包率阈值和时延阈值,或者判断丢包率和抖动率是否分别超过丢包率阈值和抖动率阈值,或者判断时延和抖动率是否分别超过时延阈值和抖动率阈值。第二预设条件可以包括三个网络参数,此时第二阈值涉及三个网络参数阈值,例如判断是否满足第二预设条件包括判断是否满足丢包率、时延和抖动率是否分别超过丢包率阈值、时延阈值和抖动率阈值。本发明实施例对丢包率阈值、时延阈值和抖动率阈值的具体数值不加以限定。

具体的,所述第二预设条件包括第二周期定时。第二周期定时可以按照真实时间计算,例如每30秒,也可以按照帧间隔来计算,例如每50帧。第二周期定时的周期可以长于步骤302中的周期定时。本发明实施例对第二周期定时的具体形式和长度不加以限定。

305、利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据。

可选的,利用参考帧缓存中标记为生效的长期参考帧对所述视频帧进行编码,生成编码数据包括:

利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

具体的,利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据包括:

从参考帧缓存中的长期参考帧缓存区获取所有生效的长期参考帧;

根据所有生效的长期参考帧和视频帧,确定视频帧的各个块对应的长期参考帧;以及

利用视频帧的各个块对应的长期参考帧编码视频帧的各个块,生成编码数据。

可选的,利用参考帧缓存中标记为生效的长期参考帧对所述视频帧进行编码,生成编码数据包括:

利用参考帧缓存中的一个生效长期参考帧对所述视频帧进行编码,生成编码数据。

306、利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据。

本发明实施例对于利用短期参考帧对视频帧进行编码不加以限定。

要说明的是,上面描述的步骤302-303与步骤304-306之间的顺序仅是示例。也可以先执行步骤304-306,再执行步骤302-303。或者,步骤304-306与步骤302-303可以并行执行。本发明实施例对此不加以限定。

307、判断所述视频帧是否被标记为待生效的长期参考帧;如果是,则执行步骤308。

具体的,判断所述视频帧是否被标记为待生效的长期参考帧包括判断参考 帧缓存中的长期参考帧缓存区是否存在所述视频帧,如果存在,则判定是。

308、在所述编码数据中设置标示所述视频帧为长期参考帧的信息。

具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。在现有H.264标准中,编码数据中存在1比特的长期参考帧指示符,可以设置该1比特的长期参考帧指示符来向解码端表示该视频帧为长期参考帧。通过利用H.264标准中现有的长期参考帧指示符,可以兼容H.264标准。

309、向解码端发送所述编码数据。

310、接收来自所述解码端的长期参考帧反馈。

具体的,来自所述解码端的长期参考帧反馈包括长期参考帧的帧号。

311、将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

具体的,将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧包括:

获取长期参考帧反馈中包括的帧号;

确定该帧号在参考帧缓存的长期参考帧缓存区中对应的长期参考帧;以及

将该长期参考帧标记为生效。

具体的,将该长期参考帧标记为生效包括将该长期参考帧对应的指示符设置为生效。例如,该长期参考帧对应的指示符可以是1比特指示符,将该1比特指示符设置为1以将该长期参考帧标记为生效。当然,也可以定义为将1比特指示符设置为0以表示该长期参考帧生效。本领域普通技术人员还能够想到其他的指示符。本发明实施例对指示符的具体形式不加以限定。

可选的,该方法还包括:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

具体的,将所述周期定时延长包括将所述周期定时延长1倍。当然,本发 明实施例对周期定时的延长程度不加以限定。

检测到长期参考帧反馈时延超过阈值表明网络延迟较长,如果维持原有的周期定时,那么缓存的长期参考帧将比较快速地填满参考帧缓存,通过延长周期定时,可以延缓长期参考帧的缓存速度,从而避免参考帧缓存被快速填满。

本发明实施例提供一种利用长期参考帧的视频编码方法,通过在满足周期定时时将视频帧缓存并标记为待生效的长期参考帧,提供了一种周期确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考帧的信息,使得解码端能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向解码端传送该信息。通过在接收到来自解码端的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在解码端正确接收的情况下才用于编码,确保了利用长期参考帧的编码数据在解码端的正确解码。另外,通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免IDR帧数据过大而容易丢包和卡顿的问题。通过在长期参考帧反馈超过第三阈值时延长周期定时,可以避免参考帧缓存被快速填满。

实施例四

本发明实施例提供了一种视频编码设备,如图4所示,该视频编码设备包括:

获取模块401,用于获取视频帧;

第一判断模块402,用于判断是否满足第一预设条件;

参考帧管理模块403,用于如果所述第一判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧;

第二判断模块404,用于判断是否满足第二预设条件;

编码模块405,用于如果所述第二判断模块判定是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据;

所述编码模块405,还用于如果所述第二判断模块判定否,则利用参考帧缓 存中的短期参考帧对所述视频帧进行编码,生成编码数据;

第三判断模块406,用于判断所述视频帧是否被标记为待生效的长期参考帧;

标示模块407,用于如果所述第三判断模块判定是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;

发送模块408,用于向视频解码设备发送所述编码数据;

接收模块409,用于接收来自所述视频解码设备的长期参考帧反馈;以及

所述参考帧管理模块403,还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

具体的,获取模块401,用于通过摄像头获取视频帧。可选的,获取模块401,用于获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。

具体的,第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。周期定时可以按照真实时间计算,例如每10秒,也可以按照帧间隔来计算,例如每5帧。本发明实施例对周期定时的具体形式和长度不加以限定。所述视频帧与先前的长期参考帧之差超过第一阈值包括:所述视频帧与先前的长期参考帧之间的峰值信噪比PSNR小于预设阈值。具体的,峰值信噪比其中,矩阵I和K分别是视频帧和先前的长期参考帧,它们的大小为m×n,MAXI是图像像素点的最大数值,例如每个点采用8位表示,那么就是255。预设阈值例如可以是40。当然,本发明实施例对预设阈值的大小不加以限定。本领域技术人员还可以想到所述视频帧与先前的长期参考帧之差超过第一阈值的其他方式。本发明实施例对此不加以限定。

具体的,参考帧管理模块403用于将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。该长期参考 帧对应的指示符例如可以是1比特指示符,将该1比特指示符设置为0可以表示该长期参考帧为待生效,将该1比特指示符设置为1可以表示该长期参考帧为生效。当然也可以将0表示为生效,将1表示为待生效。此外,本领域普通技术人员还能够想到其他的指示符,本发明实施例对指示符的方式不加以限定。

可选的,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。第二预设条件可以包括仅一个网络参数,此时第二阈值涉及一个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率是否超过丢包率阈值,或者判断时延是否超过时延阈值,或者判断抖动率是否超过抖动率阈值。第二预设条件可以包括两个网络参数,此时第二阈值涉及两个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率和时延是否分别超过丢包率阈值和时延阈值,或者判断丢包率和抖动率是否分别超过丢包率阈值和抖动率阈值,或者判断时延和抖动率是否分别超过时延阈值和抖动率阈值。第二预设条件可以包括三个网络参数,此时第二阈值涉及三个网络参数阈值,例如判断是否满足第二预设条件包括判断是否满足丢包率、时延和抖动率是否分别超过丢包率阈值、时延阈值和抖动率阈值。本发明实施例对丢包率阈值、时延阈值和抖动率阈值的具体数值不加以限定。

可选的,所述第二预设条件包括第二周期定时。第二周期定时可以按照真实时间计算,例如每30秒,也可以按照帧间隔来计算,例如每50帧。第二周期定时的周期可以长于上述周期定时。本发明实施例对第二周期定时的具体形式和长度不加以限定。

可选的,编码模块405,用于如果所述第二判断模块判定是,则利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。具体的,编码模块405,用于如果所述第二判断模块判定是,则:从参考帧缓存中的长期参考帧缓存区获取所有生效的长期参考帧;根据所有生效的长期参考帧和视频帧,确定视频帧的各个块对应的长期参考帧;以及利用视频帧的各个块对应的长期参考帧编码视频帧的各个块,生成编码数据。

可选的,编码模块405,用于如果所述第二判断模块判定是,则利用参考帧缓存中的一个生效长期参考帧对所述视频帧进行编码,生成编码数据。

具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。在现有H.264标准中,编码数据中存在1比特的长期参考帧指示符,可以设置该1比特的长期参考帧指示符来向视频解码设备表示该视频帧为长期参考帧。通过利用H.264标准中现有的长期参考帧指示符,可以兼容H.264标准。

具体的,来自所述视频解码设备的长期参考帧反馈包括长期参考帧的帧号。

具体的,所述参考帧管理模块403用于:

获取长期参考帧反馈中包括的帧号;

确定该帧号在参考帧缓存的长期参考帧缓存区中对应的长期参考帧;以及

将该长期参考帧标记为生效。

具体的,所述参考帧管理模块403用于将该长期参考帧对应的指示符设置为生效。例如,该长期参考帧对应的指示符可以是1比特指示符,将该1比特指示符设置为1以将该长期参考帧标记为生效。当然,也可以定义为将1比特指示符设置为0以表示该长期参考帧生效。本领域普通技术人员还能够想到其他的指示符。本发明实施例对指示符的具体形式不加以限定。

可选的,该视频编码设备还包括:

检测模块,用于检测来自所述视频解码设备的长期参考帧反馈的时延是否超过第三阈值,

周期定时延长模块,用于所述检测模块检测到来自所述视频解码设备的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

具体的,周期定时延长模块用于将所述周期定时延长1倍。当然,本发明实施例对周期定时的延长程度不加以限定。

检测到长期参考帧反馈时延超过阈值表明网络延迟较长,如果维持原有的周期定时,那么缓存的长期参考帧将比较快速地填满参考帧缓存,通过延长周 期定时,可以延缓长期参考帧的缓存速度,从而避免参考帧缓存被快速填满。

本发明实施例提供一种视频编码设备,通过在满足周期定时时将视频帧缓存并标记为待生效的长期参考帧,提供了一种周期确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考帧的信息,使得视频解码设备能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向视频解码设备传送该信息。通过在接收到来自视频解码设备的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在视频解码设备正确接收的情况下才用于编码,确保了利用长期参考帧的编码数据在视频解码设备的正确解码。另外,通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免I DR帧数据过大而容易丢包和卡顿的问题。通过在长期参考帧反馈超过第三阈值时延长周期定时,可以避免参考帧缓存被快速填满。

实施例五

本发明实施例提供了一种电子设备,参照图5所示,该电子设备包括存储器501、发送/接收模块502以及与存储器501、发送/接收模块502耦合的处理器503。存储器501用于存储一组程序代码,处理器503调用存储器501所存储的程序代码用于执行以下操作:

获取视频帧;

判断是否满足第一预设条件;

如果是,则将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧;

判断是否满足第二预设条件;

如果是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据;

如果否,则利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据;

判断所述视频帧是否被标记为待生效的长期参考帧;

如果是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;

向解码端发送所述编码数据;

接收来自所述解码端的长期参考帧反馈;以及

将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。

可选的,处理器503调用存储器501所存储的程序代码用于执行以下操作:

通过摄像头获取视频帧。可选的,处理器503调用存储器501所存储的程序代码用于执行以下操作:获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。

可选的,所述第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。

可选的,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。

可选的,处理器503调用存储器501所存储的程序代码用于执行以下操作:

检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

可选的,处理器503调用存储器501所存储的程序代码用于执行以下操作:

利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。

本发明实施例提供一种电子设备,通过在满足第一预设条件时将视频帧缓存并标记为待生效的长期参考帧,提供了一种确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考帧的信息,使得解码端能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向解码端传送该信息。通过在接收到来自解码端的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在解码端正确接收的情况下才用于编码,确保了利用 长期参考帧的编码数据在解码端的正确解码。另外,通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免I DR帧数据过大而容易丢包和卡顿的问题。通过在检测到来自所述解码端的长期参考帧反馈的时延超过第三阈值时延长周期定时,避免了参考帧缓存被快速填满。

实施例六

本发明实施例提供了一种系统,参照图6所示,该系统包括视频编码设备61和视频解码设备62,其中,视频编码设备61包括:获取模块601,用于获取视频帧;第一判断模块602,用于判断是否满足第一预设条件;参考帧管理模块603,用于如果所述第一判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为待生效的长期参考帧;第二判断模块604,用于判断是否满足第二预设条件;编码模块605,用于如果所述第二判断模块判定是,则利用参考帧缓存中的生效长期参考帧对所述视频帧进行编码,生成编码数据;所述编码模块605,还用于如果所述第二判断模块判定否,则利用参考帧缓存中的短期参考帧对所述视频帧进行编码,生成编码数据;第三判断模块606,用于判断所述视频帧是否被标记为待生效的长期参考帧;标示模块607,用于如果所述第三判断模块判定是,则在所述编码数据中设置标示所述视频帧为长期参考帧的信息;发送模块608,用于向视频解码设备发送所述编码数据;第一接收模块609,用于接收来自所述视频解码设备的长期参考帧反馈;以及所述参考帧管理模块603,还用于将所述长期参考帧反馈针对的待生效的长期参考帧标记为生效的长期参考帧。视频解码设备62包括:第二接收模块610,用于接收所述编码数据;解码模块611,用于将所述编码数据解码,获取视频帧;第四判断模块612,用于判断所述编码数据中是否设置标示所述视频帧为长期参考帧的信息并且所述解码是否正确;第二参考帧管理模块613,用于如果所述第四判断模块判定是,则将所述视频帧添加到参考帧缓存中并标记为长期参考帧;反馈模块614,用于在所述第二参考帧管理模块将所述视频帧添加到参考帧缓存中并标记为长期参考帧 之后,向所述视频编码设备发送长期参考帧反馈。

具体的,获取模块601,用于通过摄像头获取视频帧。可选的,获取模块601,用于获取来自其他设备的视频帧或获取存储的视频帧。本发明实施例对此不加以限定。

具体的,第一预设条件包括周期定时和/或所述视频帧与先前的长期参考帧之差超过第一阈值。周期定时可以按照真实时间计算,例如每10秒,也可以按照帧间隔来计算,例如每5帧。本发明实施例对周期定时的具体形式和长度不加以限定。所述视频帧与先前的长期参考帧之差超过第一阈值包括:所述视频帧与先前的长期参考帧之间的峰值信噪比PSNR小于预设阈值。具体的,峰值信噪比其中,矩阵I和K分别是视频帧和先前的长期参考帧,它们的大小为m×n,MAXI是图像像素点的最大数值,例如每个点采用8位表示,那么就是255。预设阈值例如可以是40。当然,本发明实施例对预设阈值的大小不加以限定。本领域技术人员还可以想到所述视频帧与先前的长期参考帧之差超过第一阈值的其他方式。本发明实施例对此不加以限定。

具体的,第一参考帧管理模块603用于将所述视频帧添加到参考帧缓存中的长期参考帧缓存区并且将该长期参考帧对应的指示符设置为待生效。该长期参考帧对应的指示符例如可以是1比特指示符,将该1比特指示符设置为0可以表示该长期参考帧为待生效,将该1比特指示符设置为1可以表示该长期参考帧为生效。当然也可以将0表示为生效,将1表示为待生效。此外,本领域普通技术人员还能够想到其他的指示符,本发明实施例对指示符的方式不加以限定。

可选的,所述第二预设条件包括丢包率、时延和抖动率中的至少一个超过第二阈值。第二预设条件可以包括仅一个网络参数,此时第二阈值涉及一个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率是否超过丢包 率阈值,或者判断时延是否超过时延阈值,或者判断抖动率是否超过抖动率阈值。第二预设条件可以包括两个网络参数,此时第二阈值涉及两个网络参数阈值,例如,判断是否满足第二预设条件包括判断丢包率和时延是否分别超过丢包率阈值和时延阈值,或者判断丢包率和抖动率是否分别超过丢包率阈值和抖动率阈值,或者判断时延和抖动率是否分别超过时延阈值和抖动率阈值。第二预设条件可以包括三个网络参数,此时第二阈值涉及三个网络参数阈值,例如判断是否满足第二预设条件包括判断是否满足丢包率、时延和抖动率是否分别超过丢包率阈值、时延阈值和抖动率阈值。本发明实施例对丢包率阈值、时延阈值和抖动率阈值的具体数值不加以限定。

可选的,所述第二预设条件包括第二周期定时。第二周期定时可以按照真实时间计算,例如每30秒,也可以按照帧间隔来计算,例如每50帧。第二周期定时的周期可以长于上述周期定时。本发明实施例对第二周期定时的具体形式和长度不加以限定。

可选的,编码模块605,用于如果所述第二判断模块判定是,则利用参考帧缓存中的多个生效长期参考帧对所述视频帧进行编码,生成编码数据。具体的,编码模块605,用于如果所述第二判断模块判定是,则:从参考帧缓存中的长期参考帧缓存区获取所有生效的长期参考帧;根据所有生效的长期参考帧和视频帧,确定视频帧的各个块对应的长期参考帧;以及利用视频帧的各个块对应的长期参考帧编码视频帧的各个块,生成编码数据。

可选的,编码模块605,用于如果所述第二判断模块判定是,则利用参考帧缓存中的一个生效长期参考帧对所述视频帧进行编码,生成编码数据。

具体的,解码模块611用于根据所述编码数据中指示的参考帧,从参考帧缓存中获取该参考帧,利用该参考帧将所述编码数据解码,获取视频帧。所述编码数据中指示的参考帧可以是短期参考帧或者长期参考帧。如果指示的是短期参考帧,则从参考帧缓存中获取对应的短期参考帧,如果指示的是长期参考帧,则从参考帧缓存中获取对应的长期参考帧。所述编码数据中指示的参考帧 可以是多个长期参考帧,在此情况下,从参考帧缓存中获取对应的多个长期参考帧,并利用所述多个长期参考帧对编码数据进行解码,获取视频帧。

具体的,标示所述视频帧为长期参考帧的信息是编码数据中的1比特信息,例如二进制的1。在现有H.264标准中,编码数据中存在1比特的长期参考帧指示符,可以设置该1比特的长期参考帧指示符来向视频解码设备表示该视频帧为长期参考帧。通过利用H.264标准中现有的长期参考帧指示符,可以兼容H.264标准。

具体的,长期参考帧反馈包括长期参考帧的帧号。

具体的,所述第一参考帧管理模块603用于:

获取长期参考帧反馈中包括的帧号;

确定该帧号在参考帧缓存的长期参考帧缓存区中对应的长期参考帧;以及

将该长期参考帧标记为生效。

具体的,所述第一参考帧管理模块603用于将该长期参考帧对应的指示符设置为生效。例如,该长期参考帧对应的指示符可以是1比特指示符,将该1比特指示符设置为1以将该长期参考帧标记为生效。当然,也可以定义为将1比特指示符设置为0以表示该长期参考帧生效。本领域普通技术人员还能够想到其他的指示符。本发明实施例对指示符的具体形式不加以限定。

可选的,视频编码设备还包括:

检测模块,用于检测来自所述视频解码设备的长期参考帧反馈的时延是否超过第三阈值,

周期定时延长模块,用于所述检测模块检测到来自所述视频解码设备的长期参考帧反馈的时延超过第三阈值时,将所述周期定时延长。

具体的,周期定时延长模块用于将所述周期定时延长1倍。当然,本发明实施例对周期定时的延长程度不加以限定。

检测到长期参考帧反馈时延超过阈值表明网络延迟较长,如果维持原有的周期定时,那么缓存的长期参考帧将比较快速地填满参考帧缓存,通过延长周 期定时,可以延缓长期参考帧的缓存速度,从而避免参考帧缓存被快速填满。

本发明实施例提供一种视频编解码系统,通过在满足周期定时时将视频帧缓存并标记为待生效的长期参考帧,提供了一种周期确定长期参考帧的方式。通过在编码数据中设置标示视频帧为长期参考帧的信息,使得视频解码设备能够了解该视频帧为长期参考帧,同时节省了资源以免利用额外的资源来向视频解码设备传送该信息。通过在接收到来自视频解码设备的长期参考帧反馈时才将对应的长期参考帧标记为生效,使得长期参考帧只有在视频解码设备正确接收的情况下才用于编码,确保了利用长期参考帧的编码数据在视频解码设备的正确解码。另外,通过在满足第二预设条件时利用长期参考帧来编码视频帧,提供了利用长期参考帧来编码的方式,更好地压缩数据,相同码率画质会更好,同时避免IDR帧数据过大而容易丢包和卡顿的问题。通过在来自所述视频解码设备的长期参考帧反馈的时延超过第三阈值时,延长周期定时,可以避免参考帧缓存被快速填满。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的设备在执行利用长期参考帧的视频编码方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的设备与利用长期参考帧的视频编码方法属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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