一种传输流ts媒体文件播放速度的控制方法及装置制造方法

文档序号:7819000阅读:394来源:国知局
一种传输流ts媒体文件播放速度的控制方法及装置制造方法
【专利摘要】本发明公开了一种传输流TS媒体文件播放速度的控制方法及装置,用以实现非正常播放速度下视频图像的均匀播放。该方法为:获取调整倍率;解析待播放的TS码流获得每帧视频图像数据的解码时间戳和显示时间戳;计算相邻两帧视频图像数据的解码时间戳的差值得到第一差值,以及计算相邻两帧视频图像数据的显示时间戳的差值得到第二差值,采用调整倍率调整第一差值,根据调整后的第一差值确定每帧视频图像数据的新的解码时间戳,以及采用调整倍率调整第二差值,根据调整后的第二差值确定每帧视频图像的新的显示时间戳;在系统时钟达到新的解码时间戳时解码对应的视频图像数据,以及在系统时钟达到新的显示时间戳时显示对应的视频图像数据。
【专利说明】一种传输流TS媒体文件播放速度的控制方法及装置

【技术领域】
[0001] 本发明涉及通信【技术领域】,尤其涉及一种传输流(TS)媒体文件播放速度的控制 方法及装置。

【背景技术】
[0002] 在采用传输流(Transport Stream, TS)的媒体节目播放过程中,为了满足用户快 速浏览节目内容的需要,播放器提供快进播放功能。
[0003] 现有技术中,本地媒体文件的快进播放功能通常采用选取播放媒体文件中的关键 帧的方式实现。对于有索引信息的媒体文件,例如AVI格式的媒体文件,可以通过索引信息 直接定位关键帧在媒体文件中的位置,从而快速获得关键帧的数据。
[0004] 但是,发明人发现,TS媒体文件中没有定位关键帧的索引信息,只有通过遍历整个 TS媒体文件来查找关键帧完成索引信息的建立,而对于数据量大的TS媒体文件,完成索引 信息的建立需要花费大量的时间,影响用户的体验。
[0005] 另外,TS媒体文件中关键帧(I帧)的分布是不均匀的,如果通过抽取关键帧的方 式实现快进功能,会导致快进播放出现时快时慢。


【发明内容】

[0006] 本发明实施例提供一种传输流TS媒体文件播放速度的控制方法,用以实现非正 常播放速度下视频图像的均匀播放。
[0007] 本发明实施例提供的具体技术方案如下:
[0008] -种传输流TS媒体文件播放速度的控制方法,包括:
[0009] 获取播放速度调整指令,所述播放速度调整指令中携带有调整倍率;
[0010] 解析待播放的TS码流获得每帧视频图像数据的解码时间戳和显示时间戳;
[0011] 计算相邻两帧视频图像数据的解码时间戳的差值得到第一差值,以及计算相邻两 帧视频图像数据的显示时间戳的差值得到第二差值,采用所述调整倍率调整所述第一差 值,根据调整后的所述第一差值确定每帧视频图像数据的新的解码时间戳,以及采用所述 调整倍率调整所述第二差值,根据调整后的所述第二差值确定每帧视频图像的新的显示时 间戳;
[0012] 在系统时钟达到所述新的解码时间戳时解码对应的视频图像数据,以及在系统时 钟达到所述新的显示时间戳时显示对应的视频图像数据。
[0013] 一种传输流TS媒体文件播放速度的控制装置,包括:
[0014] 获取模块,用于获取播放速度调整指令,所述播放速度调整指令中携带有调整倍 率;
[0015] 解析模块,用于解析待播放的TS码流获得每帧视频图像数据的解码时间戳和显 示时间戳;
[0016] 重构模块,用于计算相邻两帧视频图像数据的解码时间戳的差值得到第一差值, 以及计算相邻两帧视频图像数据的显示时间戳的差值得到第二差值,采用所述调整倍率调 整所述第一差值,根据调整后的所述第一差值确定每帧视频图像数据的新的解码时间戳, 以及采用所述调整倍率调整所述第二差值,根据调整后的所述第二差值确定每帧视频图像 的新的显示时间戳;
[0017] 解码显示模块,用于在系统时钟达到所述新的解码时间戳时解码对应的视频图像 数据,以及在系统时钟达到所述新的显示时间戳时显示对应的视频图像数据。
[0018] 基于上述技术方案,本发明实施例中,按照获取的调整倍率重构TS码流中每帧视 频图像数据的解码时间戳和显示时间戳,按照重构得到的新的解码时间戳解码视频图像数 据,以及按照重构得到的新的显示时间戳显示视频图像数据,通过对每帧视频图像数据的 解码时间和播放时间进行控制,达到控制整个TS码流的播放速度的目的,保证了 TS码流播 放速度的均匀性,避免了抽取关键帧的方式进行播放速率调整所导致的时快时慢的播放效 果。

【专利附图】

【附图说明】
[0019] 图1为本发明实施例TS码流的播放准备阶段示意图;
[0020] 图2为本发明实施例正常速度播放TS码流的音视频数据的过程示意图;
[0021] 图3为本发明实施例中播放速度控制的方法流程示意图;
[0022] 图4为本发明实施例中TS码流播放速度控制框图;
[0023] 图5为本发明实施例中TS媒体文件播放速度控制装置的结构示意图。

【具体实施方式】
[0024] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0025] 音频模拟信号或者视频模拟信号由编码器按照动态图像专家组(MPEG)_2的标 准,经过抽样、量化及压缩编码,形成基本码流(Elementary Stream, ES),该ES是不分 段的连续码流。将该ES分成段,加上相应的头文件并打包,形成分组基本码流(Packet Elementary Stream, PES)〇
[0026] TS码流中的每个PES包中的每个视频帧都有对应的解码时间戳(Decode Time Stamp,DTS)和显不时间戮(Presentation Time Stamp,PTS),其中,DTS表不对应的一中贞 视频图像数据被解码的时间,在解码阶段使用,PTS表示对应的一帧视频图像数据被显示的 时间,在显示阶段使用。其中,DTS和PTS都是相对于TS码流中的节目时钟参考(Program Clock Reference,PCR)的时间戮。
[0027] 本发明以下各实施例中,分为TS码流的播放准备阶段、以正常播放速度播放阶段 以及播放速度调整阶段对整个播放过程进行说明。
[0028] 如图1所示,TS码流的播放准备阶段,播放设备在读取TS码流文件后,解析该TS 码流文件获得节目关联(PAT)表,该PAT表中包含有每路视频节目的标识,从而根据该PAT 表确定该TS码流中有几路视频节目。
[0029] 其中,根据PAT表中的每路视频节目的标识可以获得每路视频节目对应的节目映 射表(PMT),PMT表中包含有相应的视频节目的视频标识、音频标识以及节目时钟参考标 识。其中视频节目的标识用于确定一路视频节目,视频节目的视频标识用于确定一路视频 节目中包含的视频图像数据,视频节目的音频标识用于确定一路视频节目中包含的音频数 据,PCR标识用于确定一路视频节目对应的PCR。
[0030] 根据PMT表中的视频标识、音频标识以及PCR标识设置过滤器(Filter),即可过滤 得到TS码流中该路视频节目的视频PES数据包、音频PES数据包和节目时钟参考(PCR)。 每个视频PES数据包的包头中包含有该PES数据包中的每帧视频图像的DTS和PTS,每个音 频PES数据包的包头中包含有该PES数据包中的每帧音频的DTS和PTS。
[0031] 以正常播放速度播放TS码流的音视频数据的过程如图2所示,解析TS码流,分别 对视频、音频以及PCR进行解复用,获得用户选择播放的一路视频节目的视频PES数据包、 音频PES数据包以及PCR,并采用解析获得的该路视频节目的PCR修正播放设备的本地系统 时钟。
[0032] 解析该路视频节目的待播放的视频PES数据包,获得待播放的每帧视频图像数据 的DTS和PTS,视频解码控制器在系统时钟达到DTS时指示视频解码器解码对应的视频图像 数据,视频显示控制器在系统时钟达到PTS时指示视频显示器显示对应的视频图像数据。
[0033] 解析该路视频节目的待播放的音频PES数据包,获得待播放的每帧音频的DTS和 PTS,音频解码控制器在系统时钟达到DTS时指示音频解码器解码对应的音频数据,音频输 出控制器在系统时钟达到PTS时指示音频输出器输出对应的音频数据。
[0034] 如图3所示,在以正常播放速度、非正常播放速度播放TS码流等播放过程中的任 意时刻,进行播放速度控制的详细方法流程如下:
[0035] 步骤301 :获取播放速度调整指令,该播放速度调整指令中携带有调整倍率。
[0036] 本发明实施例中,调整倍率R大于零值且不等于一。
[0037] 其中,播放速度调整指令为用户通过操作播放器的按钮输入,在播放器中预设不 同按钮对应的调整倍率,或者预设同一按钮的不同操作方式对应的调整倍率。本发明实施 例并不限定播放速度调整指令的获取方式,现有的获取播放速度调整指令的方式均可应用 于本发明。
[0038] 步骤302 :解析待播放的TS码流获得每帧视频图像数据的解码时间戳和显示时间 戳。
[0039] 步骤303 :计算相邻两帧视频图像数据的解码时间戳的差值得到第一差值,以及 计算相邻两帧视频图像数据的显示时间戳的差值得到第二差值,采用所述调整倍率调整所 述第一差值,根据调整后的所述第一差值确定每帧视频图像数据的新的解码时间戳,以及 采用所述调整倍率调整所述第二差值,根据调整后的所述第二差值确定每帧视频图像的新 的显示时间戳。
[0040] 其中,第一差值与第二差值基本相同,具体实施时,可视为第一差值等同于第二差 值,计算时仅计算第一差值或第二差值即可。
[0041] 优选地,将所述第一差值除以所述调整倍率后,与所述相邻两帧视频图像数据中 的前一帧视频图像数据的新的解码时间戳求和,将得到的和值作为所述相邻两帧视频图像 数据中的后一帧视频图像数据的新的解码时间戳;
[0042] 将所述第二差值除以所述调整倍率后,与所述相邻两帧视频图像数据中的前一帧 视频图像数据的新的显示时间戳求和,将得到的和值作为所述相邻两帧视频图像数据中的 后一帧视频图像数据的新的显示时间戳。
[0043] 该优选地实施方式中,假设在调整倍率指示为加快播放速度时(即R大于1),通过 将相邻两帧视频图像数据的解码时间戳之间的第一差值除以调整倍率,将相邻两帧视频图 像数据的解码时间戳之间的第一差值按照调整倍率缩小,以及将相邻两帧视频图像数据的 显示时间戳之间的第二差值除以调整倍率,将相邻两帧视频图像数据的显示时间戳之间的 第二差值按照调整倍率缩小,通过缩小相邻两帧视频图像数据的解码时间的差值以及显示 时间的差值,以达到提前解码并显示视频图像的目的,达到快进的效果。
[0044] 假设在调整倍率指示为放慢播放速度时(即R小于1),通过将相邻两帧视频图像 数据的解码时间戳之间的第一差值除以调整倍率,将相邻两帧视频图像数据的解码时间戳 之间的第一差值按照调整倍率增大,以及将相邻两帧视频图像数据的显示时间戳之间的第 二差值除以调整倍率,将相邻两帧视频图像数据的显示时间戳之间的第二差值按照调整倍 率增大,通过增大相邻两帧视频图像数据的解码时间的差值以及显示时间的差值,以达到 推迟解码并显示视频图像的目的,达到慢进的效果。
[0045] 一个具体实施中,假设解析待播放的TS码流,从PES数据包中获得的每帧视频 图像数据的解码时间戳以及显示时间戳,按照各解码时间戳的时间先后顺序表示为:dt Sl、 dts2··· dtsn,按照各显示时间戳的时间先后顺序表示为:ptSl、Ptyptsn,解析获得的各解 码时间戳和显示时间戳均为正常播放速度对应的时间戳。
[0046] 假设按照调整倍率R调整后得到的各待播放的视频图像数据的新的解码时间戳 按照时间先后顺序表示为:dt Sl、Clts2'…dtsn',按照调整倍率R调整后得到的各待播放的 视频图像数据的新的显示时间戳按照时间先后顺序表示为:pt Sl、Pts2'…ptsn',每相邻两 帧视频图像数据的解码时间戳的差值(即第一差值)可表示为:Λ t2、Λ t3…Λ tn,每相邻两 帧视频图像数据的显示时间戳的差值(即第二差值可表示为:Λ t2'、Λ t3'…Λ tn'。
[0047] 第一差值可按照以下公式(1)计算得到:
[0048]

【权利要求】
1. 一种传输流TS媒体文件播放速度的控制方法,其特征在于,包括: 获取播放速度调整指令,所述播放速度调整指令中携带有调整倍率; 解析待播放的TS码流获得每帧视频图像数据的解码时间戳和显示时间戳; 计算相邻两帧视频图像数据的解码时间戳的差值得到第一差值,以及计算相邻两帧视 频图像数据的显示时间戳的差值得到第二差值,采用所述调整倍率调整所述第一差值,根 据调整后的所述第一差值确定每帧视频图像数据的新的解码时间戳,以及采用所述调整倍 率调整所述第二差值,根据调整后的所述第二差值确定每帧视频图像的新的显示时间戳; 在系统时钟达到所述新的解码时间戳时解码对应的视频图像数据,以及在系统时钟达 到所述新的显示时间戳时显示对应的视频图像数据。
2. 如权利要求1所述的方法,其特征在于,采用所述调整倍率调整所述第一差值,根据 调整后的所述第一差值确定每帧视频图像数据的新的解码时间戳,以及采用所述调整倍率 调整所述第二差值,根据调整后的所述第二差值确定每帧视频图像的新的显示时间戳,包 括: 将所述第一差值除以所述调整倍率后,与所述相邻两帧视频图像数据中的前一帧视频 图像数据的新的解码时间戳求和,将得到的和值作为所述相邻两帧视频图像数据中的后一 帧视频图像数据的新的解码时间戳; 将所述第二差值除以所述调整倍率后,与所述相邻两帧视频图像数据中的前一帧视频 图像数据的新的显示时间戳求和,将得到的和值作为所述相邻两帧视频图像数据中的后一 帧视频图像数据的新的显示时间戳。
3. 如权利要求2所述的方法,其特征在于,在系统时钟达到所述新的解码时间戳时解 码对应的视频图像数据,以及在系统时钟达到所述新的显示时间戳时显示对应的视频图像 数据后,所述方法还包括: 获取切换至正常播放速度的指令,解析待播放的TS码流获得待播放的每帧视频图像 数据的解码时间戳和显示时间戳; 采用所述待播放的TS码流中的第一帧视频图像的解码时间戳或显示时间戳修正系统 时钟,在修正后的系统时钟达到所述解码时间戳时解码对应的视频图像数据,以及在修正 后的系统时钟达到所述显示时间戳时显示对应的视频图像数据。
4. 如权利要求3所述的方法,其特征在于,获取播放速度调整指令之前,所述方法还包 括: 在以正常播放速度解析并播放TS码流的过程中,解码待播放的TS码流,获得待播放的 第一帧视频图像数据的节目时钟参考,采用所述节目时钟参考修正系统时钟。
5. 如权利要求1-4任一项所述的方法,其特征在于,所述调整倍率大于零值且不等于 〇
6. -种传输流TS媒体文件播放速度的控制装置,其特征在于,包括: 获取模块,用于获取播放速度调整指令,所述播放速度调整指令中携带有调整倍率; 解析模块,用于解析待播放的TS码流获得每帧视频图像数据的解码时间戳和显示时 间戳; 重构模块,用于计算相邻两帧视频图像数据的解码时间戳的差值得到第一差值,以及 计算相邻两帧视频图像数据的显示时间戳的差值得到第二差值,采用所述调整倍率调整所 述第一差值,根据调整后的所述第一差值确定每帧视频图像数据的新的解码时间戳,以及 采用所述调整倍率调整所述第二差值,根据调整后的所述第二差值确定每帧视频图像的新 的显示时间戳; 解码显示模块,用于在系统时钟达到所述新的解码时间戳时解码对应的视频图像数 据,以及在系统时钟达到所述新的显示时间戳时显示对应的视频图像数据。
7. 如权利要求6所述的装置,其特征在于,所述重构模块具体用于: 将所述第一差值除以所述调整倍率后,与所述相邻两帧视频图像数据中的前一帧视频 图像数据的新的解码时间戳求和,将得到的和值作为所述相邻两帧视频图像数据中的后一 帧视频图像数据的新的解码时间戳; 将所述第二差值除以所述调整倍率后,与所述相邻两帧视频图像数据中的前一帧视频 图像数据的新的显示时间戳求和,将得到的和值作为所述相邻两帧视频图像数据中的后一 帧视频图像数据的新的显示时间戳。
8. 如权利要求7所述的装置,其特征在于,所述获取模块还用于: 获取切换至正常播放速度的指令; 所述解码显示模块具体用于: 采用所述解码模块解析所述待播放的TS码流获得的第一帧视频图像数据的解码时间 戳或显示时间戳修正系统时钟,在修正后的系统时钟达到所述解析模块获得的所述解码时 间戳时解码对应的视频图像数据,以及在修正后的系统时钟达到所述解析模块获得的所述 显示时间戳时显示对应的视频图像数据。
9. 如权利要求8所述的装置,其特征在于,还包括修正模块,用于: 在所述获取模块获取播放速度调整指令之前,以正常播放速度解析并播放TS码流的 过程中,解码待播放的TS码流,获得待播放的第一帧视频图像数据的节目时钟参考,采用 所述节目时钟参考修正系统时钟。
10. 如权利要求6-9任一项所述的装置,其特征在于,所述调整倍率大于零值且不等于 〇
【文档编号】H04N21/434GK104410930SQ201410625461
【公开日】2015年3月11日 申请日期:2014年11月7日 优先权日:2014年11月7日
【发明者】刘庆彬, 张丽萍 申请人:青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1