CN102065320A - 用于处理关于ts码流的特技播放命令的方法和设备 - Google Patents
用于处理关于ts码流的特技播放命令的方法和设备 Download PDFInfo
- Publication number
- CN102065320A CN102065320A CN 200910208371 CN200910208371A CN102065320A CN 102065320 A CN102065320 A CN 102065320A CN 200910208371 CN200910208371 CN 200910208371 CN 200910208371 A CN200910208371 A CN 200910208371A CN 102065320 A CN102065320 A CN 102065320A
- Authority
- CN
- China
- Prior art keywords
- characteristic information
- index file
- code stream
- access unit
- play
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
提供一种用于处理关于TS码流的特技播放命令的方法和设备。所述方法和设备将TS码流中包括至少一个帧内编码帧的视频序列作为接入单元。通过实时解析原始TS码流文件,能够对不同的码流文件进行即时的特技播放;在等待用户输入的空闲、常速或慢速播放时后台解析TS码流文件,生成索引文件,一旦索引文件生成,之后的特技播放就可根据这个索引文件实现;将最近播放接入单元的特征信息存储到缓存区,从而在特技模式切换需要重定位接入位置时,无需再次解析码流或搜索索引文件,可直接从缓存区中快速的搜索到接入单元的信息,实现了各种特技模式无缝的切换,切换后接入的响应时间快,位置准确。
Description
技术领域
本发明涉及一种用于处理关于TS码流的特技播放命令的方法和设备,尤其涉及一种可实现不同码流之间和不同特技播放命令之间的无缝切换的用于处理关于TS码流的特技播放命令的方法和设备。
背景技术
特技(Trick)播放是多媒体回放系统中一项极具吸引力的特色。它可以使用户对录制好的节目进行后退、慢放、快进等操作,随心所欲地观看节目,彻底改变过去看电视的被动和无奈。同时,如果不同码流的特技播放以及不同特技播放命令之间能够无缝(Seamless)切换,则更能够提供出色的用户体验。
为实现视频/音频服务与应用互操作的可能性,运动图像专家组(MPEG)于1994年推出MPEG-2(ISO/IEC 13818-1)标准,针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的作了详细规定。传送流(TransportStream,简称TS流)是标准中定义的两种数据流之一。它由一道或多道节目组成,每道节目由一个或多个原始流和一些其他流复合在一起,包括视频流、音频流、节目特殊信息流(PSI)和其他数据包。TS流在数字电视系统中得到了广泛的应用,如视音频资料的录制保存、电视节目的编辑等。
现有技术中,用于处理关于TS码流的特技播放命令的方法有:
1)在码流生成/录制的时候选定特技播放时需要的帧,进行转换,消除帧之间的依赖性,比如B帧(双向预测帧)和P帧(单向预测帧)解码都需要参考帧。转码后生成独立的供特技播放时使用的附加码流。但该方法需要转码支持,而转码需要额外的软硬件资源,生成附加码流也需要额外的存储空间;
2)采用索引文件,记录码流的一些特征信息,以帮助从码流中选择特定的媒体数据内容用于快进快退等特技播放。但该方法需要对码流进行预处理来生成索引文件。预处理生成索引文件的特点是:录制的时候生成索引(Index)文件:不同平台上生成的索引文件不一致,无法通用;在播放前预处理生成索引文件:需要额外的等待时间,导致用户无法接受;当对码流进行编辑时,比如切割/合并,需要同步处理码流文件和附加的索引文件,增加了实现的复杂度。
3)在码流中插入填充包(stuffing packets)记录正常播放的时间值,并在生成索引文件的过程中记录这个播放时间,以此来帮助播放器在特技模式发生切换时定位新模式开始播放的接入位置。但该方法需要在码流中增加额外的附加信息,通用性欠佳。
发明内容
本发明的目的在于提供一种可实现不同码流之间和不同特技播放命令之间的无缝切换的用于处理关于TS码流的特技播放命令的方法和设备。
根据本发明示例性实施例,提供一种用于处理关于TS码流的特技播放命令的方法,包括:将TS码流中包括至少一个帧内编码帧的视频序列作为接入单元;当接收到特技播放命令时,如果存在已存储的包括所述TS码流中所有接入单元的特征信息的索引文件,则搜索索引文件,获得与当前显示帧的显示时间戳PTS相应的接入单元的特征信息;否则,实时解析所述TS码流,获得与所述PTS相应的接入单元的特征信息。
获得所述特征信息后,如果存在所述索引文件,则根据获得的所述特征信息,搜索索引文件,将索引文件中所述特技播放命令所需的后续接入单元的特征信息存储到缓存;否则,根据获得的所述特征信息,在实时解析所述TS码流的同时,将所述TS码流中所述特技播放命令所需的后续接入单元的特征信息存储到缓存;当接收到新的特技播放命令时,首先搜索缓存,如果缓存中存在与当前显示帧的PTS相应的接入单元的特征信息,则从缓存中获得与所述PTS相应的接入单元的特征信息;否则,如果存在已存储的包括所述TS码流中所有接入单元的特征信息的索引文件,则搜索索引文件,从索引文件中获得与所述PTS相应的接入单元的特征信息;否则,实时解析所述TS码流,从TS码流中获得与所述PTS相应的接入单元的特征信息。
当接收到新的特技播放命令时,如果从缓存中获得与所述PTS相应的接入单元的特征信息,并且存在索引文件,则根据获得的所述接入单元的特征信息,从索引文件获得新的特技播放命令所需的后续接入单元的特征信息。
当接收到新的特技播放命令时,如果通过搜索索引文件获得与所述PTS相应的接入单元的特征信息,则获得所述新的特技播放命令所需的后续接入单元的特征信息。
所述索引文件包括TS码流的接入单元的特征信息。
所述索引文件包括完整性标志,用于指示索引文件中是否包括TS码流的所有接入单元的特征信息。
当所述索引文件中包括TS码流中所有接入单元的特征信息时,完整性标志为1;否则,完整性标志为0。
所述索引文件还包括版本信息和视频编码格式中的至少一个。
当等待用户输入的空闲、进行常速播放或进行慢速播放时,在后台生成并存储所述TS码流的索引文件。
生成所述索引文件的步骤包括:检查当前路径下存在的所有TS码流文件,如果存在未生成索引文件的TS码流,或存在索引文件中的完整性标志为0的TS码流,则在后台生成所述TS码流的索引文件,如果生成了包括所述TS码流中所有接入单元的特征信息的索引文件,则将所述索引文件中的完整性标志设为1。
当接收到特技播放命令时,如果后台正在生成索引文件,则停止所述索引文件的生成。
当接收到新的特技播放命令,获得与当前显示帧的PTS相应的接入单元的特征信息时,允许预定范围内的PTS误差。
所述特技播放命令包括:快进、快退、慢进、慢退和单帧播放。
所述缓存是先入先出FIFO结构的循环队列,所述队列中的每个单元存储一个接入单元的特征信息,当所述队列满时,丢弃最早的一个单元,写入新的接入单元的特征信息,并且当搜索时,从最后写入的单元开始搜索。
根据本发明示例性实施例,提供一种用于处理关于TS码流的特技播放命令的设备,包括:存储器,用于存储包括所述TS码流中所有接入单元的特征信息的索引文件,所述接入单元是所述TS码流中包括至少一个帧内编码帧的视频序列;码流实时解析器,用于实时解析所述TS码流;以及特技播放控制器,用于处理关于所述TS码流的特技播放命令,当特技播放控制器接收到特技播放命令时,检查存储器中是否存在包括所述TS码流中所有接入单元的特征信息的索引文件,如果存在,则搜索索引文件,获得与当前显示的接入单元中的第一个帧内编码帧的显示时间戳PTS相应的接入单元的特征信息;否则,特技播放控制器控制码流实时解析器实时解析所述TS码流,获得与所述PTS相应的接入单元的特征信息。
所述设备还包括:缓存器,当获得所述特征信息后,特技播放控制器检查存储器中是否存在索引文件,如果存在,则根据获得的所述特征信息,搜索索引文件,将索引文件中所述特技播放命令所需的后续接入单元的特征信息存储到缓存器;否则,特技播放控制器控制码流实时解析器,根据获得的所述特征信息,实时解析所述TS码流,在实时解析所述TS码流的同时,将所述TS码流中所述特技播放命令所需的后续接入单元的特征信息存储到所述缓存器。如果缓存器溢出,则丢弃最先存放的单元,把最近的特征信息存储到所述缓存器。
当所述特技播放控制器接收到新的特技播放命令时,首先搜索缓存器,如果缓存器中存在与当前显示帧的PTS相应的接入单元的特征信息,则特技播放控制器从缓存器中获得与所述PTS相应的接入单元的特征信息;否则,特技播放控制器检查存储器中是否存在包括所述TS码流中所有接入单元的特征信息的索引文件,如果存在,则搜索索引文件,从索引文件中获得与所述PTS相应的接入单元的特征信息;否则,特技播放控制器控制码流实时解析器,实时解析所述TS码流,从TS码流中获得与所述PTS相应的接入单元的特征信息。
当所述特技播放控制器接收到新的特技播放命令时,如果从缓存器中获得与所述PTS相应的接入单元的特征信息,并且存储器中存在索引文件,则特技播放控制器根据获得的所述接入单元的特征信息,从存储器中的索引文件获得新的特技播放命令所需的后续接入单元的特征信息。
当所述特技播放控制器接收到新的特技播放命令时,如果从存储器的索引文件中获得与所述PTS相应的接入单元的特征信息,则特技播放控制器获得所述新的特技播放命令所需的后续接入单元的特征信息。
所述设备还包括:索引管理模块,当等待用户输入的空闲、进行常速播放或进行慢速播放时,索引管理模块在后台生成并存储包括所述TS码流中所有接入单元的特征信息的索引文件。
所述索引管理模块检查当前路径下存在的所有TS码流文件,如果对于任意一个TS码流未生成包括所述TS码流中所有接入单元的特征信息的索引文件,则在后台生成所述TS码流的索引文件。
当所述特技播放控制器接收到特技播放命令时,则检查索引管理模块是否正在后台生成索引文件,如果正在生成,则控制索引管理模块停止所述索引文件的生成。
当所述特技播放控制器接收到新的特技播放命令,获得与当前显示帧的PTS相应的接入单元的特征信息时,允许预定范围内的PTS误差。
所述缓存器中存在先入先出FIFO结构的循环队列,所述队列中的每个单元存储一个接入单元的特征信息,当所述队列满时,丢弃最早的一个单元,写入新的接入单元的特征信息,并且当搜索时,从最晚写入的单元开始搜索。
附图说明
通过下面结合附图进行的对实施例的描述,本发明的上述和/或其他目的和优点将会变得更加清楚,其中:
图1是根据本发明示例性实施例的处理关于TS码流的特技播放命令的设备的框图;
图2是根据本发明另一示例性实施例的处理关于TS码流的特技播放命令的设备的框图;
图3是根据本发明另一示例性实施例的处理关于TS码流的特技播放命令的设备的框图;
图4是根据本发明示例性实施例的处理关于TS码流的特技播放命令的方法的流程图;
图5是根据本发明示例性实施例的收到新的特技播放命令时的处理的示例的示图;以及
图6是根据本发明另一示例性实施例的收到新的特技播放命令时处理关于TS码流的特技播放命令的方法的流程图。
具体实施方式
通过参照下述示例性实施例和附图的详细描述,本发明的示例性实施例将更容易理解。然而,本发明的构思可以以许多不同的形式被实施,并且不应被解释为限于在此阐述的示例性实施例。更恰当地,提供这些示例性实施例以使本公开将会彻底和完整,并将本发明的构思完全地传达给本领域的技术人员,并且本发明将仅由权利要求进行限定。贯穿说明书的始终,相同的标号指示相同的部件。
以下,将参照附图详细地描述本发明的示例性实施例。
TS码流包括视频流、音频流、节目特殊信息流(PSI)和其他数据包。在MPEG-2视频编码标准中,当在TS码流中检测到序列起始码后,即认为新的视频序列开始。在H.264/AVC视频编码标准中,当在TS码流中检测到视频序列参数集(sequence parameter sets,简称SPS),即认为新的视频序列开始。而在实时码流中,为随机接入,TS码流中的视频序列的时间长度较短,一般小于1秒(以30fps,1个视频序列1个GOP,且GOP长度=15为例,视频序列间隔仅为500毫秒)。所述视频序列不限于此,还可基于MPEG-2,H.264/AVC以外的其他编码标准。
本发明中,将TS码流中包括至少一个帧内编码帧(I帧)的视频序列作为接入单元,当接收到特技播放命令时,用于在TS码流中定位特技播放所需的位置。
特技播放命令可以是快进,即,正向快速(例如,2倍速、4倍速或16倍速)播放;快退,即反向快速(例如,2倍速、4倍速或16倍速)播放;慢进,即,正向慢速(例如,1/2倍速、1/4倍速或1/8倍速)播放;慢退,即反向慢速(例如,1/2倍速、1/4倍速或1/8倍速)播放;以及单帧播放,即,以固定的视频序列间隔来播放。
在不播放TS码流时(即,等待用户输入的空闲)或对TS码流进行常速播放或慢速播放时,可在后台检查当前路径下存在的所有TS码流文件。如果存在未生成索引文件的TS码流,则在后台解析所述TS码流,在索引文件中加入TS码流中的接入单元的特征信息和完整性标志。其中,通过获得TS码流中所有接入单元的每一个的序列头在所述TS码流中的起始偏移位置、接入单元中第一个帧内编码帧的显示时间戳PTS和接入单元中第一个帧内编码帧在所述TS码流中的结束偏移位置,并将上述特征信息存储在索引文件中来生成该TS码流的索引文件。完整性标志指示索引文件中是否包括了相应TS码流文件中的所有接入单元的特征信息。当将TS码流文件中所有接入单元的特征信息都加入索引文件后,可将完整性标志设置为1;否则,如果在此之前,由于接收到特技播放命令而中断了对索引文件的生成,使得索引文件未包括所有接入单元的特征信息,则将完整性标志设置为0。另一种情况是,当在后台检查当前路径下存在的所有TS码流文件时,发现存在索引文件的完整性标志为0的TS码流,即,该索引文件只包括与其相应的TS码流中的一部分接入单元的特征信息,则继续生成该索引文件,直到该索引文件包括与其相应的TS码流中的所有接入单元的特征信息,并将该索引文件的完整性标志设置为1;或者,若由于接收到特技播放命令而中断对索引文件的生成,则保持该索引文件的完整性标志为0。索引文件中还可以包括版本信息(如,1.0、2.0等)和/或TS码流的视频编码格式。当然,索引文件的格式不限于此,可以根据具体应用加入TS码流的其它信息。
通过逐个检查当前路径下存在的所有TS码流文件,生成所有TS码流的索引文件。
另外,在进行后台解析以生成索引文件的时候,如果接收到特技播放命令,则停止后台解析,开始处理特技播放命令。
图1是根据本发明示例性实施例的处理关于TS码流的特技播放命令的设备的框图。
参照图1,处理关于TS码流的特技播放命令的设备400包括存储器110、码流实时解析器120和特技播放控制器130。
当特技播放控制器130接收到特技播放命令时,检查存储器110中是否存在包括当前播放的TS码流中所有接入单元的特征信息的索引文件,所述接入单元是所述TS码流中包括至少一个帧内编码帧的视频序列。接入单元的特征信息中可包括接入单元的序列头在当前TS码流中的起始偏移位置、接入单元中第一个I帧的显示时间戳(PTS)和接入单元中第一个I帧在当前TS码流中的结束偏移位置。如果存在完整的索引文件,则特技播放控制器130搜索索引文件中的接入单元的特征信息,将每个接入单元的特征信息中的PTS(PTS_index)与当前TS码流中当前正在显示帧的PTS(PTS_current)进行比较,如果找到与PTS_current匹配的PTS_index,则获得包括所述PTS_index的特征信息。根据该特征信息中包括的接入单元的序列头在当前TS码流中的起始偏移位置和接入单元中第一个I帧在当前TS码流中的结束偏移位置,可快速定位到特技播放命令所需的接入单元,从而快速准确地开始特技播放。
如果不存在完整的索引文件,则特技播放控制器130控制码流实时解析器120实时解析当前TS码流,根据PTS_current,获得与PTS_current相应的接入单元的特征信息,从而直接定位到TS码流中特技播放所需的接入单元的起始和结束位置。通过实时解析码流,特技播放可以在不同的TS码流之间进行无缝切换。
图2是根据本发明另一示例性实施例的处理关于TS码流的特技播放命令的设备的框图。
参照图2,处理关于TS码流的特技播放命令的设备100还可包括缓存器140,当在进行特技播放时,特技播放控制器130在获得所述特征信息后,检查存储器110中是否存在包括当前播放的TS码流中所有接入单元的特征信息的索引文件。如果存在,则特技播放控制器130根据获得的特征信息搜索索引文件,将索引文件中特技播放命令所需的后续接入单元的特征信息存储到缓存器440中。如果存储器110中不存在完整的索引文件,则特技播放控制器130控制码流实时解析器120,根据获得的特征信息实时解析TS码流。并且在实时解析TS码流的同时,特技播放控制器130将TS码流中所述特技播放命令所需后续的接入单元的特征信息存储到所述缓存器140中。
因为缓存器140可以是先入先出FIFO结构的循环队列,因此队列中的每个单元存储一个接入单元的特征信息。当将特技播放控制器130将特征信息发送到缓存器140时,因为缓存器140的容量有限,所以当队列满时,则缓存器140丢弃最早的一个单元,写入新的接入单元的特征信息。这样,缓存器140中就存储有最近播放的接入单元的特征信息。同时,特技播放控制器130根据获得的特征信息,直接定位到特技播放命令所需的接入单元的起始和结束位置,进行特技播放。
当特技播放控制器130接收到新的特技播放命令时,首先搜索缓存器140,如果缓存器140中存在与当前显示帧的PTS相应的接入单元的特征信息,则特技播放控制器130从缓存器140中获得与所述PTS相应的接入单元的特征信息。随后,特技播放控制器130检查存储器110中是否存在索引文件,如果存在,则特技播放控制器130根据获得的接入单元的特征信息,从存储器110中的索引文件获得新的特技播放命令所需的后续接入单元的特征信息。
如果缓存器140中不存在与当前显示帧的PTS相应的接入单元的特征信息,则特技播放控制器130检查存储器110中是否存在完整的索引文件,如果存在,则搜索索引文件,获得新的特技播放命令所需的后续接入单元的特征信息。
如果存储器110中不存在完整的索引文件,则特技播放控制器130控制码流实时解析器120,实时解析TS码流,从TS码流中获得与所述PTS相应的接入单元的特征信息。
图3是根据本发明另一示例性实施例的处理关于TS码流的特技播放命令的设备的框图。
参照图3,处理关于TS码流的特技播放命令的设备100还可包括索引管理模块150。当等待用户输入的空闲、进行常速播放或进行慢速播放时,索引管理模块150检查当前路径下存在的所有TS码流文件,如果发现所有TS码流文件中,存在未生成完整索引文件的TS码流,则索引管理模块150在后台生成包括所述TS码流中所有接入单元的特征信息的索引文件,并将索引文件存储在存储器110中。
当特技播放控制器130接收到特技播放命令时,则检查索引管理模块150是否正在后台生成索引文件,如果正在生成,则控制索引管理模块150停止生成索引文件。
图4是根据本发明示例性实施例的处理关于TS码流的特技播放命令的方法的流程图。
参照图4,如果接收到特技播放命令(步骤S410),则检查是否存在存储的索引文件(步骤S420),所述索引文件包括当前播放的TS码流中所有接入单元的特征信息,即,所述索引文件是关于当前TS码流的完整的索引,如果仅包括当前TS码流中的一部分接入单元的特征信息,则也认为不存在所述索引文件。接入单元的特征信息中可包括接入单元的序列头在当前TS码流中的起始偏移位置、接入单元中第一个I帧的显示时间戳(PTS)和接入单元中第一个I帧在当前TS码流中的结束偏移位置。如果存在完整的索引文件,则搜索索引文件中的接入单元的特征信息(步骤S430),将每个接入单元的特征信息中的PTS(称作PTS_index)与当前TS码流中当前正在显示帧的PTS(称作PTS_current)进行比较,如果找到与PTS_current匹配的PTS_index,则获得包括所述PTS_index的特征信息(步骤S450)。根据该特征信息中包括的接入单元的序列头在当前TS码流中的起始偏移位置和接入单元中第一个I帧在当前TS码流中的结束偏移位置,可快速定位到特技播放命令所需的接入单元,从而快速准确地开始特技播放。
如果在步骤S120中判断不存在完整的索引文件,则也无需停止播放,等待生成索引文件,而是实时解析当前TS码流(步骤S440),根据PTS_current,获得与PTS_current相应的接入单元的特征信息(步骤S450),从而直接定位到TS码流中特技播放所需的接入单元的起始和结束位置。通过实时解析码流,在不存在索引文件的时候也可以立即进行特技播放,不需要等待。也不会因为不同平台产生的TS码流的索引文件不一致,导致无法进行特技播放的情况,即,特技播放可以在不同的TS码流之间进行无缝切换。
图5是根据本发明示例性实施例的收到新的特技播放命令时的处理的示例的示图。参照图5,例如,正在进行快进的特技播放,当前显示的是TS码流中第In+1个接入单元中的帧,而对TS码流进行的解复用/解码/显示等的处理已经进行到TS码流中第In+m+1个接入单元。如果接收到新的特技播放命令(例如,快退),将TS码流中当前显示的第In+1个接入单元中的帧作为新的特技播放命令的开始位置。因此需要快速,准确的找到这个开始位置,否则造成响应时间长,或者位置偏移,也就不能实现无缝切换。
因此,在本发明中,为了实现不同特技播放命令的无缝切换,可在进行特技播放的同时,如果存在完整的索引文件,则搜索索引文件;如果不存在完整的索引文件,则实时解析TS码流,从而获得第In+1个接入单元的特征信息。随后,将特技播放命令所需的后续接入单元的特征信息存储到缓存。例如,当收到8倍速的快进的特技播放命令时,如果存在完整的索引文件,则根据PTS_current,搜索索引文件,找到与PTS_current匹配的PTS_index。又因为当前特技播放命令是8倍速快进(每隔一个接入单元播放),则从索引文件中的存储的当前TS码流中所有接入单元的特征信息中,从与PTS_current相应的接入单元开始,每隔一个接入单元获得当前TS码流的接入单元的特征信息。接下来,将从索引文件获得的8倍速快进特技播放命令所需的接入单元的特征信息发送到缓存。如果不存在完整的索引文件,则实时解析当前TS码流,每隔一个接入单元获得当前TS码流的接入单元的特征信息,并将获得的8倍速快进特技播放命令所需的接入单元的特征信息发送到缓存。因为缓存可以是先入先出FIFO结构的循环队列,队列中的每个单元存储一个接入单元的特征信息。当将特征信息发送到缓存时,因为缓存的容量有限,所以当队列满时,则丢弃最早的一个单元,写入新的接入单元的特征信息。这样缓存中就存储有最近播放的接入单元的特征信息。同时根据获得的特征信息,直接定位到TS码流中8倍速快进特技播放命令所需的接入单元的起始和结束位置,进行特技播放。
图6是根据本发明另一示例性实施例的收到新的特技播放命令时处理关于TS码流的特技播放命令的方法的流程图。
参照图6,例如,当前正在进行8倍速快进特技播放,收到16倍速快退(每隔3个接入单元播放,并且只播放接入单元中的第一个I帧)的新的特技播放命令(步骤S610),则停止播放,根据PTS_current,从缓存中最晚写入的单元开始搜索缓存,看缓存中是否存在与PTS_current相应的接入单元的特征信息(步骤S620)。因为缓存中存储有最近播放的接入单元的特征信息,所以有可能获得与PTS_current匹配的PTS_index(步骤S660),这样就可迅速定位到16倍速快退特技播放命令所需的接入单元的起始和结束位置。匹配时,也可允许匹配的PTS_index与PTS_current在预定的误差范围内。例如,可根据想要获得的播放的精确性,允许获得的作为特技播放命令所需的定位的接入单元的PTS_index与PTS_current之间的误差为与一个或多个图像组(GOP)的持续时间相应的PTS偏移量。应该理解的是,此处的描述仅是示例性的,不应被理解为对本发明的限制。
但是也有可能因为缓存容量有限,当写入新的特征信息时,与PTS_current匹配的PTS_index已经被丢弃,因此缓存中不存在与PTS_current匹配的PTS_index。则此时,查看是否如果存在完整的索引文件(步骤S630),如果存在,则搜索索引文件中的接入单元的特征信息(步骤S640),如果找到与PTS_current匹配的PTS_index,则获得包括所述PTS_index的特征信息(步骤S660)。进一步,获得与PTS_current相应的接入单元的特征信息之后,还可以从索引文件中的存储的当前TS码流中所有接入单元的特征信息中,从与PTS_current相应的接入单元开始,每隔3个接入单元获得当前TS码流的接入单元的特征信息,从而获得16倍速快退特技播放命令所需的所有接入单元的特征信息,使得播放时可直接定位到每个接入单元,实现特技播放。
如果不存在完整的索引文件,则实时解析当前TS码流(步骤S650),根据PTS_current,获得与PTS_current相应的接入单元的特征信息(步骤S660),从而直接定位到16倍速快退的新的特技播放命令所需的接入单元的起始和结束位置。从而在接收到新的特技播放命令时,响应快,可实现无缝切换,切换后接入点位置准确,无漂移现象。
此外,如果在步骤S620中,判断缓存存在与PTS_current相应的接入单元的特征信息(即,16倍速快退的新的特技播放命令所需的接入单元的特征信息),则也可继续查看是否存在完整的索引文件。如果存在,则根据与PTS_current相应的接入单元的特征信息,从索引文件中存储的当前TS码流中所有接入单元的特征信息中,从与PTS_current相应的接入单元开始,每隔3个接入单元获得当前TS码流的接入单元的特征信息,从而获得16倍速快退特技播放命令所需的后续接入单元的特征信息,使得播放时可直接定位到每个接入单元,实现特技播放。
Claims (30)
1.一种用于处理关于TS码流的特技播放命令的方法,其中,将TS码流中包括至少一个帧内编码帧的视频序列作为接入单元,所述方法包括步骤:
(a)接收特技播放命令;
(b1)如果存在已存储的包括所述TS码流中所有接入单元的特征信息的索引文件,则搜索索引文件以获得与当前显示帧的显示时间戳PTS相应的接入单元的特征信息;
(b2)如果不存在所述索引文件,则实时解析所述TS码流以获得与所述PTS相应的接入单元的特征信息。
2.如权利要求1所述的方法,还包括:
(c1)获得所述特征信息后,如果存在所述索引文件,则根据获得的所述特征信息搜索索引文件,将索引文件中所述特技播放命令所需的后续接入单元的特征信息存储到缓存;
(c2)如果不存在所述索引文件,则根据获得的所述特征信息,在实时解析所述TS码流的同时,将所述TS码流中所述特技播放命令所需的后续接入单元的特征信息存储到缓存;
(d1)当接收到新的特技播放命令时,搜索缓存,如果缓存中存在与当前显示帧的PTS相应的接入单元的特征信息,则从缓存中获得与所述PTS相应的接入单元的特征信息;
(d2)如果缓存中不存在与当前显示帧的PTS相应的接入单元的特征信息,但存在已存储的包括所述TS码流中所有接入单元的特征信息的索引文件,则搜索索引文件,从索引文件中获得与所述PTS相应的接入单元的特征信息;
(d3)如果缓存中不存在与当前显示帧的PTS相应的接入单元的特征信息,且不存在已存储的包括所述TS码流中所有接入单元的特征信息的索引文件,则实时解析所述TS码流,从TS码流中获得与所述PTS相应的接入单元的特征信息。
3.如权利要求2所述的方法,其中,步骤(d1)还包括:如果从缓存中获得与所述PTS相应的接入单元的特征信息,并且存在索引文件,则根据获得的所述接入单元的特征信息,从索引文件获得新的特技播放命令所需的后续接入单元的特征信息。
4.如权利要求2所述的方法,其中,步骤(d2)还包括:如果通过搜索索引文件获得与所述PTS相应的接入单元的特征信息,则获得所述新的特技播放命令所需的后续接入单元的特征信息。
5.如权利要求1所述的方法,其中,所述索引文件包括TS码流的接入单元的特征信息。
6.如权利要求5所述的方法,其中,所述索引文件包括完整性标志,用于指示索引文件中是否包括TS码流的所有接入单元的特征信息。
7.如权利要求5所述的方法,其中,当所述索引文件中包括TS码流中所有接入单元的特征信息时,完整性标志为1;否则,完整性标志为0。
8.如权利要求5所述的方法,其中,所述索引文件还包括版本信息和视频编码格式中的至少一个。
9.如权利要求1所述的方法,还包括:当等待用户输入的空闲、进行常速播放或进行慢速播放时,在后台生成并存储所述TS码流的索引文件。
10.如权利要求9所述的方法,其中,生成所述索引文件的步骤包括:检查当前路径下存在的所有TS码流文件,如果存在未生成索引文件的TS码流,或存在索引文件中的完整性标志为0的TS码流,则在后台生成所述TS码流的索引文件,如果生成了包括所述TS码流中所有接入单元的特征信息的索引文件,则将所述索引文件中的完整性标志设为1。
11.如权利要求9所述的方法,还包括:当接收到特技播放命令时,如果后台正在生成索引文件,则停止所述索引文件的生成。
12.如权利要求1所述的方法,其中,所述特征信息包括接入单元的序列头在所述TS码流中的起始偏移位置、接入单元中第一个帧内编码帧的显示时间戳PTS和接入单元中第一个帧内编码帧在所述TS码流中的结束偏移位置。
13.如权利要求2所述的方法,其中,当接收到新的特技播放命令,获得与当前显示帧的PTS相应的接入单元的特征信息时,允许预定范围内的PTS误差。
14.如权利要求1所述的方法,其中,所述特技播放命令包括:快进、快退、慢进、慢退和单帧播放。
15.如权利要求2所述的方法,其中,所述缓存是先入先出FIFO结构的循环队列,所述队列中的每个单元存储一个接入单元的特征信息,当所述队列满时,丢弃最先的一个单元,写入新的接入单元的特征信息,并且当搜索时,从最后写入的单元开始搜索。
16.一种用于处理关于TS码流的特技播放命令的设备,包括:
存储器,用于存储包括所述TS码流中所有接入单元的特征信息的索引文件,所述接入单元是所述TS码流中包括至少一个帧内编码帧的视频序列;
码流实时解析器,用于实时解析所述TS码流;以及
特技播放控制器,用于处理关于所述TS码流的特技播放命令,当特技播放控制器接收到特技播放命令时,检查存储器中是否存在包括所述TS码流中所有接入单元的特征信息的索引文件,如果存在,则搜索索引文件,获得与当前显示帧的显示时间戳PTS相应的接入单元的特征信息;否则,特技播放控制器控制码流实时解析器实时解析所述TS码流,获得与所述PTS相应的接入单元的特征信息。
17.如权利要求16所述的设备,还包括:
缓存器,当获得所述特征信息后,特技播放控制器检查存储器中是否存在索引文件,如果存在,则根据获得的所述特征信息,搜索索引文件,将索引文件中所述特技播放命令所需的接入单元的特征信息存储到缓存器;否则,特技播放控制器控制码流实时解析器,根据获得的所述特征信息,实时解析所述TS码流,在实时解析所述TS码流的同时,将所述TS码流中所述特技播放命令所需的接入单元的特征信息存储到所述缓存器。如果缓存器溢出,则丢弃最先存放的单元,把最近的特征信息存储到所述缓存器。
18.如权利要求17所述的设备,其中,当特技播放控制器接收到新的特技播放命令时,首先搜索缓存器,如果缓存器中存在与当前显示帧的PTS相应的接入单元的特征信息,则特技播放控制器从缓存器中获得与所述PTS相应的接入单元的特征信息;否则,特技播放控制器检查存储器中是否存在包括所述TS码流中所有接入单元的特征信息的索引文件,如果存在,则搜索索引文件,从索引文件中获得与所述PTS相应的接入单元的特征信息;否则,特技播放控制器控制码流实时解析器,实时解析所述TS码流,从TS码流中获得与所述PTS相应的接入单元的特征信息。
19.如权利要求18所述的设备,其中,当特技播放控制器接收到新的特技播放命令时,如果从缓存器中获得与所述PTS相应的接入单元的特征信息,并且存储器中存在索引文件,则特技播放控制器根据获得的所述接入单元的特征信息,从存储器中的索引文件获得新的特技播放命令所需的后续接入单元的特征信息。
20.如权利要求18所述的设备,其中,当特技播放控制器接收到新的特技播放命令时,如果从存储器的索引文件中获得与所述PTS相应的接入单元的特征信息,则特技播放控制器获得所述新的特技播放命令所需的后续接入单元的特征信息。
21.如权利要求16所述的设备,其中,所述索引文件包括TS码流的接入单元的特征信息。
22.如权利要求21所述的设备,其中,所述索引文件包括完整性标志,用于指示索引文件中是否包括TS码流的所有接入单元的特征信息。
23.如权利要求21所述的设备,其中,当所述索引文件中包括TS码流中所有接入单元的特征信息时,完整性标志为1;否则,完整性标志为0。
24.如权利要求21所述的设备,其中,所述索引文件还包括版本信息和视频编码格式中的至少一个。
25.如权利要求16所述的设备,还包括:
索引管理模块,当等待用户输入的空闲、进行常速播放或进行慢速播放时,索引管理模块在后台生成并存储所述TS码流的索引文件。
26.如权利要求25所述的设备,其中,索引管理模块检查当前路径下存在的所有TS码流文件,如果存在未生成索引文件的TS码流,或存在索引文件中的完整性标志为0的TS码流,则在后台生成所述TS码流的索引文件,如果生成了包括所述TS码流中所有接入单元的特征信息的索引文件,则将所述索引文件中的完整性标志设为1。
27.如权利要求25所述的设备,还包括:当特技播放控制器接收到特技播放命令时,则检查索引管理模块是否正在后台生成索引文件,如果正在生成,则控制索引管理模块停止所述索引文件的生成。
28.如权利要求16所述的设备,其中,所述特征信息包括接入单元的序列头在所述TS码流中的起始偏移位置、接入单元中第一个帧内编码帧的显示时间戳PTS和接入单元中第一个帧内编码帧在所述TS码流中的结束偏移位置。所述索引文件包括版本信息,对应TS码流特征信息完整性标志,视频编码格式,各个接入单元的特征信息等等。
29.如权利要求16所述的设备,其中,当特技播放控制器接收到新的特技播放命令,获得与当前显示帧的PTS相应的接入单元的特征信息时,允许预定范围内的PTS误差。
30.如权利要求17所述的设备,其中,所述缓存器中存在先入先出FIFO结构的循环队列,所述队列中的每个单元存储一个接入单元的特征信息,当所述队列满时,丢弃最先的一个单元,写入新的接入单元的特征信息,并且当搜索时,从最后写入的单元开始搜索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910208371 CN102065320B (zh) | 2009-11-12 | 2009-11-12 | 用于处理关于ts码流的特技播放命令的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910208371 CN102065320B (zh) | 2009-11-12 | 2009-11-12 | 用于处理关于ts码流的特技播放命令的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102065320A true CN102065320A (zh) | 2011-05-18 |
CN102065320B CN102065320B (zh) | 2012-12-19 |
Family
ID=44000381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910208371 Active CN102065320B (zh) | 2009-11-12 | 2009-11-12 | 用于处理关于ts码流的特技播放命令的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102065320B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067696A (zh) * | 2013-01-31 | 2013-04-24 | 东方网力科技股份有限公司 | 面向视频监控的流媒体缓存方法、装置、控制器和系统 |
CN103544977A (zh) * | 2012-07-16 | 2014-01-29 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
CN103702213A (zh) * | 2013-12-10 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种视频文件的播放方法及电子设备 |
CN104702978A (zh) * | 2015-03-18 | 2015-06-10 | 青岛海信宽带多媒体技术有限公司 | 一种视频数据定位的方法及网络播放设备 |
WO2017036038A1 (zh) * | 2015-08-28 | 2017-03-09 | 小米科技有限责任公司 | 视频特效处理方法、装置及终端设备 |
CN111083573A (zh) * | 2018-10-22 | 2020-04-28 | 杭州海康威视系统技术有限公司 | 一种视频文件处理方法、装置和存储节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100551043C (zh) * | 2007-02-08 | 2009-10-14 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN100591112C (zh) * | 2008-11-07 | 2010-02-17 | 武汉烽火网络有限责任公司 | 一种多媒体数据的存储方法及精确定位回放位置的方法 |
-
2009
- 2009-11-12 CN CN 200910208371 patent/CN102065320B/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544977A (zh) * | 2012-07-16 | 2014-01-29 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
CN103544977B (zh) * | 2012-07-16 | 2016-07-20 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
CN103067696A (zh) * | 2013-01-31 | 2013-04-24 | 东方网力科技股份有限公司 | 面向视频监控的流媒体缓存方法、装置、控制器和系统 |
CN103702213A (zh) * | 2013-12-10 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种视频文件的播放方法及电子设备 |
CN104702978A (zh) * | 2015-03-18 | 2015-06-10 | 青岛海信宽带多媒体技术有限公司 | 一种视频数据定位的方法及网络播放设备 |
CN104702978B (zh) * | 2015-03-18 | 2018-11-02 | 青岛海信宽带多媒体技术有限公司 | 一种视频数据定位的方法及网络播放设备 |
WO2017036038A1 (zh) * | 2015-08-28 | 2017-03-09 | 小米科技有限责任公司 | 视频特效处理方法、装置及终端设备 |
US10212386B2 (en) | 2015-08-28 | 2019-02-19 | Xiaomi Inc. | Method, device, terminal device, and storage medium for video effect processing |
CN111083573A (zh) * | 2018-10-22 | 2020-04-28 | 杭州海康威视系统技术有限公司 | 一种视频文件处理方法、装置和存储节点 |
Also Published As
Publication number | Publication date |
---|---|
CN102065320B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0781490B1 (en) | Method and apparatus for frame accurate access of digital audio-visual information | |
CA2660725C (en) | Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage | |
EP1239674B1 (en) | Recording broadcast data | |
KR100455497B1 (ko) | 압축된텔레비전신호,압축된텔리비전신호전송방법및장치,압축된텔레비전신호수신방법및장치 | |
CN100455004C (zh) | 记录数字广播节目并基于时间重放该节目的方法及其设备 | |
CN102065320B (zh) | 用于处理关于ts码流的特技播放命令的方法和设备 | |
CN1311955A (zh) | 多媒体时间偏移系统 | |
JPH10269706A (ja) | 情報再生装置及び情報再生方法 | |
US20090136204A1 (en) | System and method for remote live pause | |
CN103139641A (zh) | 在实时数字电视时移播放中实现音视频无缝切换的方法及装置 | |
JP3072971B2 (ja) | ビデオ・オン・デマンドシステムとそれを構成するビデオサーバ装置及び端末装置 | |
CN101340570B (zh) | 一种流媒体播放时实现跳转的方法 | |
JP4763589B2 (ja) | 再生装置、および、その再生方法 | |
JP2005197839A (ja) | トランスポートストリームの特殊再生方法及びトランスポートストリームの記録再生装置 | |
JP2013012265A (ja) | 再生装置および再生方法 | |
KR100631783B1 (ko) | 멀티미디어 데이터와 메타데이터를 동기화하는 시스템 및방법 | |
CN101466023A (zh) | 远程时移方法及系统 | |
US20170206933A1 (en) | Systems and methods for indexing media streams for navigation and trick play control | |
EP1534005A2 (en) | Method and apparatus for recording broadcast data | |
US20060093314A1 (en) | Editing of data frames |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 5-12 / F, building 6, 57 Andemen street, Yuhuatai District, Nanjing City, Jiangsu Province Patentee after: Samsung Electronics (China) R&D Center Patentee after: SAMSUNG ELECTRONICS Co.,Ltd. Address before: No. 268 Nanjing Huijie square Zhongshan Road city in Jiangsu province 210009 8 floor Patentee before: Samsung Electronics (China) R&D Center Patentee before: SAMSUNG ELECTRONICS Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |