通过关键帧进行视频定位和播放的方法

文档序号:7858683阅读:319来源:国知局
专利名称:通过关键帧进行视频定位和播放的方法
技术领域
本发明涉及视频处理领域,更具体地,涉及一种通过关键帧进行视频定位和播放的方法。
背景技术
视频文件中每一个画面叫一帧,但因为一帧画面的数据量很大,所以一般都采用了压缩算法。现有的压缩方法各不相同,因此导致压缩后帧类型的不一样。在视频压缩的方法中,把每帧当做一幅静止的图像来压缩。在实际压缩时,会采取各种算法减少数据的容量,其中,I帧、P帧、B帧是最常见的。I帧,表示关键帧,影片跳转的时候必须找到关键帧才可以继续播放。可以理解为这一帧画面的完整保留,解码时因为包含完整的画面,所以只需要本帧数据就可以完成。P帧表示的是这一帧与之前的一个关 键帧或P帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生产最终画面,P帧也就是差别帧,P帧没有完整画面数据,只有与之前一帧的画面差别的数据。B帧是双向差别帧,即B帧纪录的是本帧与前后帧的差别,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。可见,关键帧和P帧的解码算法简单,占用的系统资源比较少,关键帧只要自己完成就可以了,P帧也只需要解码器把前一个画面缓存一些,遇到P帧时就使用之前缓存的画面就好了,如果视频流采用P帧和关键帧,解码器可以不管后面的数据,边读取边解码,线性前进。目前很多视频文件采用了 B帧,因为B帧纪录的是前后帧的差别,比P帧能节约更多的空间,这样一来,虽然文件大小减少了,解码器的效率就要下降,因为在解码时,不仅要用之前缓存的画面,还要知道下一个关键帧或者P帧的画面,即预读预解码,而且B帧不能简单地丢掉,因为B帧也包含了画面信息,如果简单地丢掉,并用之前的画面简单重复,就会造成丢中贞。两个关键帧的中间可以没有过渡帧,但是过渡帧前后肯定有关键帧,因为过渡帧附属于关键帧。关键帧可以修改该帧的内容,但是过渡帧无法修改该帧的内容。关键帧中可以包含形状、剪辑、组等多种类型的元素或诸多元素,但是过渡帧中的对象只能是剪辑或独立形状。目前影片跳转的方法一般采用软件算法定位方法,这种方法的缺点在于第一要丢弃非关键帧的数据,例如,要丢弃已下载的b帧或P帧数据,造成浪费。第二通过算法定位的时间准确性不高,例如,首次播放的过程中,如果要进行跳转,通过算法估算跳转的位置,但所估算的位置有可能不准确,甚至与实际的跳转位置差别较大,有可能引起播放失败或播放错误的问题。

发明内容
本发明提供通过关键帧进行视频定位和播放的方法,包括如下步骤生成关键帧信息文件从视频文件中提取关键帧信息,根据提取到的所述关键帧信息生成所述关键帧信息文件;生成关键帧信息表根据所述生成的关键帧信息文件,生成关键帧信息表,并加入所示视频文件中;定位播放利用上述生成的关键帧信息表,在视频播放过程中进行定位并播放。优选地,所述关键帧信息包括所述关键帧在所述视频文件中的偏移量和所述关键帧在所述视频文件中对应的时间戳。优选地,所述关键帧在所述视频文件 中的偏移量表示所述关键帧相对于所述视频文件中的起始关键帧的偏移位置。优选地,所述关键帧在所述视频文件中对应的时间戳表示所述关键帧对应的播放时间信息,其中,所述播放的时间信息包括所述关键帧的播放时刻和所述关键帧的码率。优选地,根据所有关键帧的位置按次序生成播放次序、关键帧偏移量、时间戳的三者对应关系,根据所述三者的对应关系生成所述关键帧信息表。优选地,所述定位播放包括根据关键帧信息表进行跳转播放。优选地,所述定位播放包括根据关键帧信息表进行快进播放。优选地,所述关键帧信息表还包括快退播放信息表。优选地,所述定位播放包括根据快退播放信息表进行快退播放。与现有技术相比,本发明利用I帧关键帧进行跳转定位,实现快进和快退播放,并且避免了下载的浪费。


为了使本发明便于理解,现在结合附图描述本发明的具体实施例。图I为本发明的通过关键帧进行视频定位和播放的方法的流程 图2为本发明通过关键帧进行视频定位和播放的方法中形成的关键帧信息表的示意
图3为本发明通过关键帧进行视频定位和播放的方法进行快进和快退播放时的关键帧信息表的示意图。
具体实施例方式下面结合附图和优选的实施方式对本发明作进一步详细描述。权利要求中构成要件和实施例中具体实例之间的对应关系可以如下例证。这里的描述意图在于确认在实施例中描述了用来支持在权利要求中陈述的主题的具体实例,由于在实施例中描述了实例,不意味着该具体实例不表示构成要件。相反地,即使在此包含了具体实例作为对应一个构成要件的要素特征,也不意味着该具体实例不表示任何其它构成要件。此外,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。换句话说,这里的描述不否认这种实体,即对应实施例包含的具体实例,但不包含在其任何一项权利要求中,即,能够在以后的修正被分案并申请、或增加的可能发明的实体。应当注意的是,“系统”在此意味着由两个或更多设备构成的处理。显而易见地,用户终端可以由个人计算机构成。此外,所述用户终端还可以由例如蜂窝电话、任何其它PDA (个人数字助理)工具、AV (音频视频)装置、诸如家用电气(家庭用电气化)设备的CE (消费电子设备)等构成。“网络”意味着至少连接了两个设备的机构,并且在其中,一条信息能够从一个设备发送到另一个设备。经由网络建立通信的设备可以是彼此分离的,也可以是构成一个机器的内部模块。“通信”可表示无线通信和有线通信。然而,还可以是混合无线和有线通信的通信,更具体地,在某个区段采取无线通信而在另一个区段采取有线通信的通信。同样,它也可以是这样的通信从一个设备向另一设备的通信是有线的,且相反方向的通信是无线的。如图I所示,本发明提供的一优选的视频定位和播放的方法如下
步骤一生成关键帧信息文件从视频文件中提取关键帧信息,根据提取到的所述关键帧信息生成所述关键帧信息文件。 生成的所述关键帧信息文件用于记录所述视频文件中的每个关键帧的信息。每个所述关键帧的信息包括所述关键帧在视频文件中的偏移量和所述关键帧对应的时间戳。其中,所述关键巾贞在视频文件中的偏移量表不了当如所述关键巾贞相对于起始关键巾贞的偏移位置。例如,当所述起始关键帧为第一关键帧,当前的关键帧相对于起始关键帧为第10关键帧时,则当前的关键帧的所述偏移量为10。所述关键帧对应的所述时间戳表示当前关键帧对应的播放时间信息,所述播放的时间信息包括当前关键帧的播放时刻和当前关键帧的码率等。步骤二 生成关键帧信息表根据所述生成的关键帧信息文件,生成关键帧信息表,并加入所示视频文件中。利用步骤一中生成的关键帧信息文件生成关键帧信息表,即根据所有关键帧的位置按次序生成播放次序、关键帧偏移量、时间戳的三者对应关系,根据所述三者的对应关系生成关键帧信息表。例如,如图2所示,一个视频文件的关键帧分别为Ip I1, 12、13、-In,则所述关键巾贞信息表可以表示为 I_Info。、IJnfo1、I_Info2、I_Info3、... I_Infon。步骤三定位播放利用上述生成的关键帧信息表,在视频播放过程中进行定位并播放。定位播放包括三种类型跳转播放、快进播放和快退播放。在直播或点播视频的过程中进行跳转播放时,在不采用关键帧定位的方法的情况下,例如某段视频文件为IX1PPPPPPX1PPPPPPPPIX2PPPPX2PPPIX3PPPP,若需要跳转到Pxi位置,则需要将Ixi与Pxi之间的非关键帧全部下载完并进行解码之后,才能继续播放该段视频文件,而Ixi至Pxi之间的非关键帧却要丢弃,会造成下载浪费;或者需要将Pxi至Ix2之间的非关键帧全部下载完并寻找到Ix2之后才能继续播放,而Pxi至Ix2之间的非关键帧却要丢弃,也会造成下载浪费。采用本发明所述的视频定位和播放方法,例如采用同样的视频文件为IxiPPPPPPxiPPPPPPPPIX2PPPPX2PPPIX3PPPP,只需要根据关键帧信息表进行跳转。例如,只根据IX1、IX2、Ix3这三个关键帧进行跳转,则上述三个关键帧之间的非关键帧P无需全部下载。如同样跳转到Pxi,则直接根据关键帧信息表跳转至IX2,则Ixi和Ix2之间的非关键帧P不需要进行下载,因此,不会造成下载浪费。本发明的又一优选实施例为根据关键帧信息表还可以实现点播或直播视频文件的快进快退。例如一个视频文件的关键帧分别为Ιο、I1^ 12、I3、…Ιη。则关键帧信息表可以对应表示为 I_Info0、IJnfo1、I_Info2> I_Info3> ... I_Infon。在进行快进播放时,可以直接按照关键帧信息表进行顺序跳转;若要进行快退播放,还需要在步骤二中,将关键帧信息表进行逆序排列,形成快退播放信息表,并加入视频文件中。例如,如图3所不,将快进播放信息表与关键巾贞信息表设置相同,可以为I_InfoQ、!.Info1、I_Info2、I_Info3、…I_Infon,在进行快进播放时,从当前播放时刻的下一关键帧开始,按照该快进播放信息表进行快进播放,例如,当前播放时刻为OO: 10:28,根据该时刻判断出下一关键帧为1135,则根据快进播放信息表进行顺序跳转。若要进行快退播放,则形成如图3所示的快退播放信息表,例如,可以为I_Info n、I_Info n_i、I_Info n_2、... I_Info 3、I_Info 2、I_Info ^ I_Info 0,并且将上述快退播放文件加入视频文件中,在进行快退播放时,按照该播放信息表进行播放,即可实现快退播放。例 如,例如,当前播放时刻为00:10:28,根据该时刻判断出上一关键帧为I134,则根据快进播放信息表进行逆序跳转,即可实现快退播放。上述详细描述通过实施例和/或示意图阐明了系统和/或过程的各种实施例。就这些示意图和/或包含一个或多个功能和/或操作而言,本领域技术人员将理解,这些示意图或实施例中的每一个功能和/或操作都可由各种各样的硬件、软件、固件、或实际上其任意组合来单独地和/或共同地实现。应该理解,本文描述的方法可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,本发明的方法,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用API,可重用控件等来实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。需要说明的是,本发明的一种通过关键帧进行视频定位和播放的方法的方案的范畴包括但不限于上述各部分之间的任意组合。 尽管具体地参考其优选实施例来示出并描述了本发明,但本领域的技术人员可以理解,可以做出形式和细节上的各种改变而不脱离所附权利要求书中所述的本发明的范围。以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。
权利要求
1.通过关键帧进行视频定位和播放的方法,其特征在于,所述方法包括如下步骤 生成关键帧信息文件从视频文件中提取关键帧信息,根据提取到的所述关键帧信息生成所述关键帧信息文件; 生成关键帧信息表根据所述生成的关键帧信息文件,生成关键帧信息表,并加入所示视频文件中; 定位播放利用上述生成的关键帧信息表,在视频播放过程中进行定位并播放。
2.一种如权利要求I所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述关键帧信息包括所述关键帧在所述视频文件中的偏移量和所述关键帧在所述视频文件中对应的时间戳。
3.—种如权利要求2所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述关键帧在所述视频文件中的偏移量表示所述关键帧相对于所述视频文件中的起始关键帧的偏移位置。
4.一种如权利要求2所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述关键帧在所述视频文件中对应的时间戳表示所述关键帧对应的播放时间信息,其中,所述播放的时间信息包括所述关键帧的播放时刻和所述关键帧的码率。
5.一种如权利要求I所述的通过关键帧进行视频定位和播放的方法,其特征在于,根据所有关键帧的位置按次序生成播放次序、关键帧偏移量、时间戳的三者对应关系,根据所述三者的对应关系生成所述关键帧信息表。
6.一种如权利要求I所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述定位播放包括根据关键帧信息表进行跳转播放。
7.—种如权利要求I所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述定位播放包括根据关键帧信息表进行快进播放。
8.—种如权利要求I所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述关键帧信息表还包括快退播放信息表。
9.一种如权利要求8所述的通过关键帧进行视频定位和播放的方法,其特征在于,所述定位播放包括根据快退播放信息表进行快退播放。
全文摘要
本发明提供通过关键帧进行视频定位和播放的方法,其特征在于,所述方法包括如下步骤生成关键帧信息文件从视频文件中提取关键帧信息,根据提取到的所述关键帧信息生成所述关键帧信息文件;生成关键帧信息表根据所述生成的关键帧信息文件,生成关键帧信息表,并加入所示视频文件中;定位播放利用上述生成的关键帧信息表,在视频播放过程中进行定位并播放。与现有技术相比,本发明利用I帧关键帧进行跳转定位,实现快进和快退播放,并且避免了下载的浪费。
文档编号H04N21/2387GK102780919SQ201210303248
公开日2012年11月14日 申请日期2012年8月24日 优先权日2012年8月24日
发明者丁学爽, 唐江杰, 李茗 申请人:乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1