控制视频播放的方法及装置的制作方法

文档序号:7861489阅读:144来源:国知局
专利名称:控制视频播放的方法及装置的制作方法
技术领域
本发明涉及视频监控领域,尤其涉及一种控制视频播放的方法及装置。
背景技术
在视频监控领域中,对视频码流进行解码播放时,需要经常用到快进快退的播放控制来实现观看一段特定视频或搜寻一幅特定画面。视频码流是由关键帧和普通帧组成的,相邻关键帧的间隔通常是30个普通帧或者更多。目前视频码流解码播放过程中的快进快退的播放控制是通过检测码流的关键帧实现的。具体的,当视频监控系统接收到快进或快退的请求信息时,通过分析请求信息,按视频码流顺序依次获取目标关键帧,相邻目标关键帧的间隔为数倍相邻关键帧的间隔,并依次对获取的目标关键帧进行解码并播放。在实现本发明实施例的过程中,发明人发现现有技术中至少存在如下问题对视频进行快退或快进的播放控制是通过播放目标关键帧实现的,由于相邻目标关键帧的间隔为数倍相邻关键帧的间隔,而相邻关键帧的间隔为30个普通帧或者更多,故对视频进行快退或快进的播放控制是以相邻关键帧的间隔为单位实现的,不能按照任意帧间隔为单位对视频进行快进或快退的播放控制,无法从视频码流中准确搜寻到特定的视频或画面。

发明内容
有鉴于此,本发明的实施例提供一种控制视频播放的方法及装置,能按照任意帧间隔为单位对视频进行快进或快退的播放控制。为达到上述目的,本发明的实施例采用如下技术方案第一方面,本发明实施例提供了一种控制视频播放的方法,包括接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率;根据显示帧率及所述控制信号生成跨度值,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔;根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧;若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。结合第一方面,在第一种可能的实现方式中,所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,包括根据上一次解码得到的目标播放帧的时间戳和所述跨度值得到刻度值;若当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内,所述当前解码得到的播放帧是目标播放帧。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,还包括若当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内并且当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值小于预先设置的第一阈值,所述当前解码得到的播放帧是目标播放帧。结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括根据缓存的目标播放帧进行视频播放。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括在所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧之后,若所述当前解码得到的播放帧是目标播放帧,根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数;所述根据缓存的目标播放帧进行视频播放,包括根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值,所述缓存的 目标播放帧的总显示次数为缓存的每一目标播放帧的显示次数之和;所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存,包括若缓存的目标播放帧的总显示次数小于预先设置的第二阈值,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存;若缓存的目标播放帧的总显示次数大于或等于所述预先设置的第二阈值,则暂不接收所述目标播放帧并停止对视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的第二阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。第二方面,本发明实施例提供了一种控制视频播放的装置,包括接收单元,用于接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,并将所述控制信号传输给第一获取单元;第一获取单元,用于根据显示帧率及所述接收单元传输的所述控制信号生成跨度值,并将所述跨度值传输给第一判断单元,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔;第一判断单元,用于根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述第一获取单元传输的所述跨度值判断当前解码得到的播放帧是否为目标播放帧;缓存单元,用于当所述当前解码得到的播放帧是目标播放帧时,将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。结合第二方面,在第六种可能的实现方式中,所述第一判断单元具体包括第一获取模块,用于根据上一次解码得到的目标播放帧的时间戳和所述跨度值得到刻度值;第一判断模块,用于当当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内时,所述当前解码得到的播放帧是目标播放帧。结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述第一判断单元还包括第二判断模块,用于当当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内并且当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值小于预先设置的第一阈值时,所述当前解码得到的播放帧是目标播放帧。结合第二方面或第二方面的第六种可能的实现方式,在第八种可能的实现方式中,所述装置还包括播放单元,用于根据缓存的目标播放帧进行视频播放。结合第二发面的第八种可能的实现方式,在第九种可能的实现方式中,所述装置还包括第二获取单元,用于在所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧之后,若所述当前解码得到的播放帧是目标播放帧,根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数;所述播放单元,具体包括播放模块,用于根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。结合第二发面的第九种可能的实现方式,在第十种可能的实现方式中,所述装置还包括第二判断单元,用于在所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存之前,判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值,所述缓存的目标播放帧的总显示次数为缓存的每一目标播放帧的显示次数之和;所述缓存单元,具体包括第三判断模块,用于当缓存的目标播放帧的总显示次数小于预先设置的第二阈值时,将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存;第四判断模块,用 于当缓存的目标播放帧的总显示次数大于或等于所述预先设置的第二阈值,则暂不接收所述目标播放帧并停止对视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的第二阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。本发明实施例提供的控制视频播放的方法及装置,通过接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,根据显示帧率及所述控制信号生成跨度值,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是相邻显示帧之间的时间间隔,所述显示帧为播放的一帧画面,根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存,与现有技术通过以相邻关键帧的间隔为单位对视频进行快退或快进的播放控制相比,通过获取播放帧率,能按照任意帧间隔为单位对视频进行快进或快退的播放控制。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例一中的一种控制视频播放的流程图;图2为本发明实施例一中的另一种控制视频播放的流程图;图3为本发明实施例二中的一种控制视频播放的流程图;图4为本发明实施例二中的一种控制视频播放的方法示意图;图5为本发明实施例二中的另一种控制视频播放的方法示意图;图6为本发明实施例三中的一种控制视频播放的装置组成示意图7为本发明实施例三中的另一种控制视频播放的装置组成示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

发明内容
实施例一本发明实施例提供一种控制视频播放的方法,如图I所示,包括101、接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率。 其中,所述控制信号携带的视频播放状态对应的播放帧率可以由用户设定,也可以是系统提供一种默认值。所述播放帧率可以以数值的形式表现,并且播放帧率可以是大于0,小于O或是等于O的任意数。所述播放帧率对应视频播放时的画面播放速度。播放帧率的绝对值越大,视频播放时画面播放速度越快。当播放帧率大于O时,表示视频是正序播放的;当播放帧率小于O时,表示视频是倒序播放的;当播放帧率等于O时,表示视频是暂停状态。102、根据显示帧率及所述控制信号生成跨度值。其中,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔。103、根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧。其中,所述播放帧是对视频码流解码后得到的画面,每一帧解码后的画面都携带有时间戳,所述时间戳用于指示其对应的画面在视频码流中的播放时刻;所述目标播放帧是从所述播放帧中选取得到的待播放的画面。104、若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。其中,通过步骤103判断出所述当前解码得到的播放帧是目标播放帧时,接收并缓存所述目标播放帧。通过步骤103判断出所述当前解码得到的播放帧不是目标播放帧时,则丢弃所述当前解码得到的目标播放帧。值得说明的是,在进行步骤101-104的同时,还进行以下步骤根据缓存的目标播放帧进行视频播放,通过该步骤,实现了视频播放的快进或快退播放。如图2所示,进一步的,在实现对视频进行快进或快退的播放控制的同时,还实现对视频进行慢近或慢退的播放控制,在所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧之后,包括105、若所述当前解码得到的播放帧是目标播放帧,根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数。所述根据缓存的目标播放帧进行视频播放,包括106、根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。如图2所示,进一步的,由于视频码流解码速度快于视频播放速度,在进行当前目标播放帧播放的同时,缓存由多个待播放的目标播放帧,当接收到新的控制信号时,会进行播放控制切换。但在播放控制切换之前需要将缓存的多个待播放的目标播放帧播放完毕,才能实现根据新的控制信号进行的视频播放,为了解决播放控制切换延时的问题,在所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存之前,还包括107、判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值。若缓存的目标播放帧的总显示次数是小于预先设置的第二阈值,则执行步骤108 ;若缓存的目标播放帧的总显示次数大于或等于预先设置的第二阈值,则执行步骤109。
其中,所述总显示次数是缓存的多个目标播放帧的显示次数的总和。若当前视频播放的状态为快进或快退,缓存的每个目标播放帧为的显示次数均为1,所述总显示次数亦为缓存的目标播放帧的帧数;若当前视频播放状态慢进或慢退,缓存的每个目标播放帧均需要多次显示,所述总显示次数为每个缓存的目标播放帧的显示次数之和。在本实施例中,所述第二阈值可以根据所述视频码流解码速度以及当前视频播放速度预先设置的,也可以根据经验值进行预先设置,此处不作限定。相应的,所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存包括108、将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。109、暂不接收所述目标播放帧并停止对视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。本发明实施例提供的控制视频播放的方法,通过接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,根据显示帧率及所述控制信号生成跨度值,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是相邻显示帧之间的时间间隔,所述显示帧为播放的一帧画面,根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存,与现有技术通过以相邻关键帧的间隔为单位对视频进行快退或快进的播放控制相比,通过获取播放帧率,能按照任意帧间隔为单位对视频进行快进或快退的播放控制。实施例二本发明实施例提供一种播放控制的方法,如图3所示,包括201、接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率。其中,步骤201与实施例一中步骤101所述相同,此处不再赘述。202、根据显示帧率及所述控制信号生成跨度值。其中,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔。跨度值的计算公式为跨度值=播放帧率/显示帧率X I/显示帧率。所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔。显示帧率一般是大于O的数。当控制信号携带的播放帧率的绝对值大于显示帧率时,视频播放为快进或快退状态;当控制信号携带的播放帧率的绝对值小于显示帧率时,视频播放为慢进或慢退状态;当控制信号携带的播放帧率的绝对值等于显示帧率时,视频播放为正常速度的前进或倒换播放。视频正常速度的正向或逆向播放是以帧为单位进行播放的,每一帧代表一幅画面。由于控制信号携带的播放帧率是一个可以大于O或是小于O或是等于O的任意数,所以由跨度值的计算公式可知跨度值也是一个可以大于O或是小于O或是等于O的任意数,所述跨度值的具体值可以由播放帧率及显示帧率共同确定。视频播放的速度与跨度值的绝对值成反比关系,视频播放的速度越快,跨度值的绝对值越小,视频播放的速度越慢,跨度值的绝对值越大。当视频快进或快退播放时,由于不是将每一帧画面都进行显示,所以快进或快退时,显示的每相邻两帧画面的时间戳之间的时间间隔大于正常速度播放下显示的每相邻两帧画面的时间戳之间的时间间隔,此时跨度值的绝对值大于正常速度播放的跨度值的绝对值。所述时间戳用于指示其对应的画面在视频码流中的播放时刻,在视频正常播放的状态下,时间戳大的画面帧在时间戳小的画面帧显示之后才会显示。当视频是慢放或慢退的状态时,对每一帧画面都进行显示,并且显示的每相邻两帧画面 的时间戳之间的时间间隔小于正常速度播放的显示的每相邻两帧画面帧的时间戳之间的时间间隔,所以跨度值的绝对值小于正常速度播放时的跨度值的绝对值。需要说明的是,对于不同的播放状态,每一画面帧的显示次数可能是不同的。对于慢退或慢进的播放状态,一帧画面需要多此显示。所以,显示的相邻两帧画面可能是同一帧画面的两次或多次显示。例如,播放帧率为30帧/秒,显示帧率为30帧/秒,则视频播放状态为正常速度的正向播放,跨度值为30/30 X 1/30 = 33毫秒;当播放帧率为_30帧/秒,显示帧率为30帧/秒,则视频播放状态为正常速度的逆向播放,跨度值为-30/30 X 1/30 = -33毫秒;当播放帧率为60帧/秒,显示帧率为30帧/秒,则视频播放状态为快进状态,跨度值为60/30 X 1/30=66毫秒;当播放帧率为-60帧/秒,显示帧率为30帧/秒,则视频播放状态为快退状态,跨度值为-60/30 X 1/30 = -66毫秒;当播放帧率为15帧/秒,显示帧率为30帧/秒,则视频播放状态为慢进状态,跨度值为-15/30 X 1/30 = -16. 5毫秒;当播放帧率为-150帧/秒,显示帧率为30帧/秒,则视频播放状态为慢退状态,跨度值为-15/30X1/30 = -16. 5毫秒。203、根据上一次解码得到的目标播放帧的时间戳和所述跨度值得到刻度值。其中,刻度值可以是目标播放帧的时间戳与所述跨度值的和。目标播放帧为准备要播放的画面帧。刻度值为预期的下一次目标播放帧的时间戳。每一帧解码后的画面都携带有时间戳,正常速度的正向播放时,先播放的一帧画面的时间戳小于后播放的一帧画面的时间戳,对每一帧解码的画面依次按照时间戳进行显示。当播放状态为快进或慢进状态时,则所述刻度值大于上一次解码得到的目标播放帧的时间戳;当播放状态为快退或慢退状态时,则所述刻度值小于上一次解码得到的目标播放帧的时间戳。 例如,如图4所示,上一次解码的目标播放帧的时间戳为40毫秒,播放帧率为60帧/秒,显示帧率为30帧/秒,视频播放状态为快进状态,跨度值为60/30X1/30 = 66毫秒,刻度值即为66毫秒+40毫秒=106毫秒,即预期的下次需要播放的目标帧的是时间戳为106毫秒,说明下一次播放的帧的时间戳在上一次播放的帧之后。也可以上一次解码的目标播放帧的时间戳为40毫秒,播放帧率为-15帧/秒,显示帧率为30帧/秒,视频播放状态为慢退状态,跨度值为-15/30X 1/30 = -16. 5毫秒,刻度值即为-16. 5毫秒+40毫秒=23. 5毫秒,即预期的下次需要播放的目标帧的时间戳为23. 5毫秒,说明下一次播放的帧的时间戳在上一次播放的帧之前。204、判断所述当前解码得到的播放帧的时间戳是否落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内。若当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内,则执行步骤210 ;若当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内,则执行步骤206。其中,当播放状态为快进或快退时,当前解码得到的播放帧的时间戳大于或等于所述刻度值,则所述当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内;当前解码得到的播放帧的时间戳小于所述刻度 值,则所述当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内。当播放状态为慢进或慢退时,当前解码得到的播放帧的时间戳小于或等于所述刻度值,则所述当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内;当前解码得到的播放帧的时间戳大于所述刻度值,则所述当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内。进一步的,考虑到解码得到的帧的时间戳存在波动,为了允许一定的容错,在所述若当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围外之后并且在丢弃所述当前解码得到的播放帧之前,本发明实施例还包括205、判断当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值是否小于预先设置的第一阈值。若当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值小于预先设置的第一阈值,则执行步骤206 ;若当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值大于或等于预先设置的第一阈值,则执行步骤209。其中,所述第一阈值是一个定值,可以将其设置为一个小于跨度值的绝对值的数,第一阈值的具体大小可以根据精度需要进行设置。例如,跨度值为30毫秒,可以设置精度值为跨度值的十分之一,即3毫秒。本发明实施例对此不做限定。通过步骤205,对于目标播放帧的判断实现了一定的容错功能,避免由于解码得到的帧的时间戳存在波动导致目标播放帧的流失。需要说明的是,步骤205为可选步骤。206、根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数。需要说明的是,如果不考虑对视频进行慢进或慢退的播放控制,可以不执行步骤206,不需要计算所述上一次接收的目标播放帧的显示次数,对视频进行快进或快退或正常速度的正向或逆向的播放,默认每一个待播放的目标播放帧的显示次数都是I次。
207、判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值。若缓存的目标播放帧的总显示次数小于预先设置的第二阈值,则执行步骤208 ;若缓存的目标播放帧的总显示次数大于或等于所述预先设置的第二阈值,则执行步骤209。其中,所述预先设置的第二阈值可以是一个正整数,所述缓存的目标播放帧的总显示次数可以通过正在显示的目标播放帧的显示次数与待播放的目标播放帧的显示次数之和得到。正常速度的正向或逆向及快进或快退的视频播放,每帧画面的显示次数都为一次;慢进或慢退时,每帧画面的显示次数大于一次,即相邻显示帧可能是同一画面帧的多次显示。所述预先设置的第二阈值可以是一个正整数。第二阈值具体的值可以根据用户对切换时延的要求选择。若对切换时延要求不高,则所述第二阈值可以是一个较大的正整数,若对切换时延要求高,则所述第二阈值可以是一个较小的正整数。本发明实施例对此不做限定。208、将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。其中,当所述目标播放帧的总显示次数小于预先设置的第二阈值时,说明缓存还有空间,可以将当前解码得到的播放帧作为目标播放帧接收并存储,并通知解码模块继续 解码。209、暂不接收所述目标播放帧并停止对视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的第二阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。其中,当所述目标播放帧的总显示次数大于或等于预先设置的第二阈值时,说明缓存没有空间,暂不接收所述目标播放帧,并通知解码模块暂不解码,稍后重新发送所述暂不接收的目标播放帧。例如,如图5所示,第二阈值为3,表示缓存里可以存放总显示次数为3的目标播放帧,缓存已经缓存了 I帧目标播放帧1,该目标播放帧的I显示次数是2次,此时,假设缓存的目标播放帧的总显示次数已经为I次,当另一目标播放帧2要进入缓存时,经过判断,总显示次数I次小于第二阈值3,故接收另一目标播放帧2,并计算得到上次目标播放帧的显示次数为2,此时,总显示次数为2+1 = 3,故当再有其他目标播放帧3在进入缓存时,暂不接收,直到缓存里目标播放帧显示后使总显示次数减I变成2,再判断总显示次数与第二阈值的大小关系,得到总显示次数2小于第二阈值3,故接收之前暂未接收的目标播放帧3。需要说明的是,目标播放帧每显示一次,所显示的目标播放帧的显示次数减少一次。总的目标播放帧为当前播放的目标播放帧的显示次数与缓存里待播放的目标播放帧的显示次数之和。所以当目标播放帧每显示一次,缓存里的目标播放帧的总显示次数减少一次。还需要说明的是,由于播放速度小于解码速度,在播放控状态切换之后存在过多以切换前的状态解码但还未播放的帧按播放控制状态切换之前的状态播放,导致播放控制切换速度慢,所以引入所述第二阈值,通过第二阈值与缓存的目标播放帧的总显示次数的比较,控制解码的速度,提高播放控制切换的速度。210、所述当前解码得到的播放帧不是目标播放帧,丢弃所述当前解码得到的播放帧。其中,当所述当前解码得到的播放帧不是目标播放帧是,丢弃所述当前解码得到的播放帧,并通知解码模块继续解码并传送下一帧。211、根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。其中,缓存里存储的所述目标播放帧会按照目标播放帧的存储顺序及目标播放帧的时间戳依次进行显示,对与显示次数为一次以上的目标播放帧,会按照跨度值的绝对值对应的时间间隔及所述目标播放帧的显示次数显示所述目标播放帧。并且,每显示一次目标播放帧时,目标播放帧对应的显示次数减少一次。本发明实施例提供的控制视频播放的方法,通过接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,根据显示帧率及所述控制信号生成跨度值,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是相邻显示帧之间的时间间隔,所述显示帧为播放的一帧画面,根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存,与现有技术通过以相邻关键帧的间隔为单位对视频进行快退或快进的播放 控制相比,通过获取播放帧率,能按照任意帧间隔为单位对视频进行快进或快退的播放控制。并且,通过引入第二阈值,控制解码速度,使在播放控状态切换之后只有少数的以切换前的状态解码但还未播放的帧按播放控制状态切换之前的状态播放,加快了播放控制切换的速度。还需要说明的是,通过引入第一阈值,允许解码后的帧的时间戳在一定范围内的容错,使本发明实施例的方法更贴近实际情况。实施例三本发明实施例提供一种控制视频播放的装置,如图6所示,包括接收单元31、第一获取单元32、第一判断单元33、缓存单元34。接收单元31,用于接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,并将所述控制信号传输给第一获取单元32。第一获取单元32,用于根据显示帧率及所述接收单元31传输的所述控制信号生成跨度值,并将所述跨度值传输给第一判断单元,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔。第一判断单元33,用于根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述第一获取单元32传输的所述跨度值判断当前解码得到的播放帧是否为目标播放帧。缓存单元34,用于当所述当前解码得到的播放帧是目标播放帧时,将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。进一步的,如图7所示,所述第一判断单元33具体包括第一获取模块331、第一判断模块332。第一获取模块331,用于根据上一次解码得到的目标播放帧的时间戳和所述跨度值得到刻度值。第一判断模块332,用于当当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内时,所述当前解码得到的播放帧是目标播放帧。进一步的,如图7所示,所述第一判断单元33还包括第二判断模块333。第二判断模块333,用于当当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内并且当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值小于预先设置的第一阈值时,所述当前解码得到的播放帧是目标播放帧。进一步的,如图7所示,所述装置还包括播放单元35。 播放单元35,用于根据缓存的目标播放帧进行视频播放。进一步的,如图7所示,所述装置还包括第二获取单元36。第二获取单元36,用于在根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧之后,若所述当前解码得到的播放帧是目标播放帧,根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数。相应的,所述播放单元35具体包括播放模块351。播放模块351,用于根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。进一步的,如图7所示,所述装置还包括第二判断单元37。第二判断单元37,用于在所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存之前,判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值,所述缓存的目标播放帧的总显示次数为缓存的每一目标播放帧的显示次数之和。相应的,所述缓存单元34,具体包括第三判断模块341,用于当缓存的目标播放帧的总显示次数小于预先设置的第二阈值时,将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。第四判断模块342,用于当缓存的目标播放帧的总显示次数大于或等于所述预先设置的第二阈值,则暂不接收所述目标播放帧并暂停对是视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的第二阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。需要说明的是,本发明实施例中部分步骤的具体描述可以参考实施例一或实施例二中对应的内容,本发明实施例这里将不在一一赘述。本发明实施例提供的控制视频播放的装置,通过接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,根据显示帧率及所述控制信号生成跨度值,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是相邻显示帧之间的时间间隔,所述显示帧为播放的一帧画面,根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存,与现有技术通过以相邻关键帧的间隔为单位对视频进行快退或快进的播放控制相比,通过获取播放帧率,能按照任意帧间隔为单位对视频进行快进或快退的播放控制。并且,通过引入第二阈值,控制解码速度,使在播放控状态切换之后只有少数的以切换前的状态解码但还未播放的帧按播放控制状态切换之前的状态播放,加快了播放控制切换的速度。可以理解的是,通过引入第一阈值,允许解码后的帧的时间戳在一定范围内的容错,使本发明实施例的方法更贴近实际情况。通过以上的实施方式的描述 ,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种控制视频播放的方法,其特征在于,包括 接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率; 根据显示帧率及所述控制信号生成跨度值,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔; 根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧; 若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。
2.根据权利要求I所述的方法,其特征在于,所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是 否为目标播放帧,包括 根据上一次解码得到的目标播放帧的时间戳和所述跨度值得到刻度值; 若当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内,则所述当前解码得到的播放帧是目标播放帧。
3.根据权利要求2所述的方法,其特征在于,所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧,还包括 若当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内并且当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值小于预先设置的第一阈值,则所述当前解码得到的播放帧是目标播放帧。
4.根据权利要求I或2所述的方法,其特征在于,还包括 根据缓存的目标播放帧进行视频播放。
5.根据权利要求4所述的方法,其特征在于,在所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧之后,还包括 若所述当前解码得到的播放帧是目标播放帧,根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数; 所述根据缓存的目标播放帧进行视频播放,包括 根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。
6.根据权利要求5所述的方法,其特征在于,在所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存之前,还包括 判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值,所述缓存的目标播放帧的总显示次数为缓存的每一目标播放帧的显示次数之和; 所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存,包括 若缓存的目标播放帧的总显示次数小于预先设置的第二阈值,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存; 若缓存的目标播放帧的总显示次数大于或等于所述预先设置的第二阈值,则暂不接收所述目标播放帧并停止对视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的第二阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。
7.—种控制视频播放的装置,其特征在于,包括 接收单元,用于接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率,并将所述控制信号传输给第一获取单元; 第一获取单元,用于根据显示帧率及所述接收单元传输的所述控制信号生成跨度值,并将所述跨度值传输给第一判断单元,所述显示帧率为视频正常播放状态对应的播放帧率,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔; 第一判断单元,用于根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述第一获取单元传输的所述跨度值判断当前解码得到的播放帧是否为目标播放帧; 缓存单元,用于当所述当前解码得到的播放帧是目标播放帧时,将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。
8.根据权利要求7所述的装置,其特征在于,所述第一判断单元具体包括 第一获取模块,用于根据上一次解码得到的目标播放帧的时间戳和所述跨度值得到刻度值; 第一判断模块,用于当当前解码得到的播放帧的时间戳未落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内时,所述当前解码得到的播放帧是目标播放帧。
9.根据权利要求8所述的装置,其特征在于,所述第一判断单元,还包括 第二判断模块,用于当当前解码得到的播放帧的时间戳落入所述上一次解码得到的目标播放帧的时间戳与所述刻度值之间的范围内并且当前解码得到的播放帧的时间戳与刻度值之间的时间间隔的绝对值小于预先设置的第一阈值时,所述当前解码得到的播放帧是目标播放帧。
10.根据权利要求7或8所述的装置,其特征在于,还包括 播放单元,用于根据缓存的目标播放帧进行视频播放。
11.根据权利要求10所述的装置,其特征在于,还包括 第二获取单元,用于在所述根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧之后,若所述当前解码得到的播放帧是目标播放帧,根据当前解码得到的播放帧的时间戳、上一次接收的目标播放帧的时间戳及所述跨度值获取所述上一次接收的目标播放帧的显示次数; 所述播放单元,具体包括 播放模块,用于根据缓存的目标播放帧以及每一目标播放帧对应的显示次数进行视频播放。
12.根据权利要求11所述的装置,其特征在于,还包括 第二判断单元,用于在所述将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存之前,判断缓存的目标播放帧的总显示次数是否小于预先设置的第二阈值,所述缓存的目标播放帧的总显示次数为缓存的每一目标播放帧的显示次数之和; 所述缓存单元,具体包括 第三判断模块,用于当缓存的目标播放帧的总显示次数小于预先设置的第二阈值时,将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存; 第四判断模块,用于当缓存的目标播放帧的总显示次数大于或等于所述预先设置的第二阈值,则暂不接收所述目标播放帧并停止对视频码流的解码,直到缓存的目标播放帧的总显示次数递减到小于所述预先设置的第二阈值时再将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。
全文摘要
本发明的实施例公开了一种控制视频播放的方法及装置,涉及视频监控领域,能照任意帧间隔为单位对视频进行快进或快退播放控制。本发明的实施方法包括接收控制信号,所述控制信号携带有视频播放状态对应的播放帧率;根据显示帧率及所述控制信号生成跨度值,所述跨度值是根据所述控制信号进行播放的视频中每帧画面的时间戳之间的时间间隔;根据当前解码得到的播放帧的时间戳、上一次解码得到的目标播放帧的时间戳以及所述跨度值判断当前解码得到的播放帧是否为目标播放帧;若所述当前解码得到的播放帧是目标播放帧,则将所述当前解码得到的播放帧作为目标播放帧进行接收并缓存。本发明实施例主要应用于控制视频播放的过程中。
文档编号H04N21/8547GK102883217SQ20121036364
公开日2013年1月16日 申请日期2012年9月26日 优先权日2012年9月26日
发明者聂嘉栋, 许吉林, 吕竹清, 刘书广 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1