CN103873952A - 一种高效的视频播放丢帧控制***及其方法 - Google Patents
一种高效的视频播放丢帧控制***及其方法 Download PDFInfo
- Publication number
- CN103873952A CN103873952A CN201210552949.3A CN201210552949A CN103873952A CN 103873952 A CN103873952 A CN 103873952A CN 201210552949 A CN201210552949 A CN 201210552949A CN 103873952 A CN103873952 A CN 103873952A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- frame losing
- timestamp
- current time
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种高效的视频播放丢帧控制***及其方法,其中该方法包括:步骤一,在视频帧解码完成后,将该视频帧的时间戳与视频解码时钟的当前时间做比较,获取比较结果;步骤二,根据该比较结果设置丢帧标志,进行解码处理并根据该丢帧标志对该视频帧进行丢帧控制。本发明方法在计算资源有限的嵌入式设备(如手机)上实现视频文件的音视频同步播放。
Description
技术领域
本发明涉及视频播放技术,特别是涉及一种高效的视频播放丢帧控制***及其方法。
背景技术
现有的视频播放器结构大体上如图1所示,音频和视频分别播放,具体地,音视频分离后,分别得到视频压缩数据、音频压缩数据,对视频压缩数据进行视频解码得到视频帧数据,对音频压缩数据进行音频解码得到音频采样数据,对视频帧数据进行视频显示,对音频采样数据进行音频播放。
如果音视频解码的速度足够快(硬件性能非常好,在显示完一帧、等待下一帧显示的间隔内,能完成解码)时,则这种没有播放控制的方案就可以满足要求。但对于性能一般的硬件设备,这种方案会造成音视频播放不同步的问题,如视频中人的口型和声音对不上,而且会相差的越来越远。
要实现音视频同步,则视频播放的进度要与视频播放时钟同步。视频播放时钟来源于音频播放时钟或***时钟。视频播放的控制模块接收到一个视频帧后,把视频帧的时间戳与视频播放时钟的当前时间进行对比,从而决定当前视频帧的显示时机。如果时间未到,则等待一段时间后再显示;如果时间已到或已经晚了少许时间,则马上显示;如果时间已经晚了很多,则一般会丢弃该帧、不再显示,以便给后续视频帧争取时间以保证音视频同步播放。
视频播放的控制问题基本包括如下几种情形:
1、需优先保证音频数据的解码和播放,音频数据不能丢;
2、视频的播放进度需要与音频一致(同步到音频)或与独立的时钟一致,总之视频要根据一个视频播放时钟的时间安排播放;
3、音频的解码和播放由于运算量较小,因而比较容易及时完成;
4、视频解码和显示的运算量较大,如果硬件设备的运算能力不足,就会出现视频帧的显示时间落后于相应音频的现象,这个现象就是音视频不同步。
5、要解决运算能力不足引起的音视频不同步,策略是在显示前或解码前丢掉部分视频帧,以降低***的平均负载,使视频播放能在一个较低的水平保持稳定。
显示前丢帧的实现难度很小,在现有的播放器中使用比较普遍,但其调控效果也很有限,这里不再关注。解码前丢帧效果比较明显,但实现难度较大,方法还不成熟,目前在部分播放器中有使用,但效果不是很理想,造成视频不连续、产生跳跃的效果。因此需要针对解码前丢帧提出新的技术方案,以改善丢帧控制的效果。
目前已有的解码前丢帧方法主要是基于播放延迟反馈的分级丢帧,如下图2所示:
在视频帧播放时,将视频帧时间戳与当前时间做比较,将差值反馈给视频解码器,视频解码器根据播放延迟的大小评估是否要进行丢帧处理。现有丢帧算法的核心是将播放延迟分为从轻到重的几个级别,将丢帧的力度也分为从少到多的几个级别,然后将丢帧级别与播放延迟级别相匹配,确定当前的丢帧级别,然后根据当前的丢帧级别决定是否丢弃下一帧。
现有丢帧控制方法的主要缺点是延迟大、控制量与反馈量之间的对应关系不严谨。
1)延迟大是因为视频帧从解码结束到显示之前还要在视频帧缓冲区中停留一段时间,这就导致反馈点与控制点之间的距离较长,时间延迟较大,反馈控制反应不灵敏。
2)控制量与反馈量之间的对应关系不严谨是指丢帧级别与播放延迟级别的匹配关系并没有严格的计算方法,往往是凭经验和试验确定的,在控制效果和适应性方面有很大的局限性。
发明内容
本发明的目的在于提供一种高效的视频播放丢帧控制***及其方法,用于在计算资源有限的嵌入式设备(如手机)上实现视频文件的音视频同步播放。
为了实现上述目的,本发明提供一种高效的视频播放丢帧控制***,包括视频播放模块,其特征在于,还包括:丢帧控制模块、视频解码模块;
所述视频解码模块,用于在视频帧解码完成后,将该视频帧的时间戳与视频解码时钟的当前时间做比较,获取比较结果并反馈给所述丢帧控制模块;
所述丢帧控制模块,用于根据该比较结果设置丢帧标志,由所述视频解码模块根据该丢帧标志对该视频帧进行丢帧控制。
所述的视频播放丢帧控制***,其中,所述视频解码模块当该时间戳早于或等于该视频解码时钟的当前时间时,不丢弃该视频帧,当该时间戳晚于该视频解码时钟的当前时间时,丢弃该视频帧。
所述的视频播放丢帧控制***,其中,所述丢帧控制模块当该时间戳晚于该视频解码时钟的当前时间时,设置该丢帧标志。
所述的视频播放丢帧控制***,其中,所述丢帧控制模块当该时间戳早于或等于该视频解码时钟的当前时间时,清除该丢帧标志。
为了实现上述目的,本发明提供一种高效的视频播放丢帧控制方法,其特征在于,包括:
步骤一,在视频帧解码完成后,将该视频帧的时间戳与视频解码时钟的当前时间做比较,获取比较结果;
步骤二,根据该比较结果设置丢帧标志,进行解码处理并根据该丢帧标志对该视频帧进行丢帧控制。
所述的视频播放丢帧控制方法,其中,所述步骤一中,包括:
当该时间戳早于或等于该视频解码时钟的当前时间时,不丢弃该视频帧,当该时间戳晚于该视频解码时钟的当前时间时,丢弃该视频帧。
所述的视频播放丢帧控制方法,其中,所述步骤二中,包括:
当该时间戳晚于该视频解码时钟的当前时间时,设置该丢帧标志。
所述的视频播放丢帧控制方法,其中,所述步骤二中,包括:
当该时间戳早于或等于该视频解码时钟的当前时间时,清除该丢帧标志。
与现有技术相比,本发明的有益技术效果在于:
1)在计算资源有限的嵌入式设备(如手机)上实现了视频文件的音视频同步播放;
2)取得了更好的控制效果和适应性,使得任意性能硬件设备上的视频播放更加连续、音视频同步效果更好;
3)通过在解码之后将已解码视频帧的时间戳与时钟时间比较,决定下一帧是否丢帧,通过解码前丢帧的方法,有效降低***负载,满足视频同步播放要求。
4)反馈控制的路径短,延迟小,控制精确,反应迅速;丢帧不分级,完全根据运行时的实际状况实时反馈,实时调节;控制量与反馈量之间有明确的对应关系和数学解释,算法实现有的放矢,不依赖经验数据;
5)控制逻辑简单,实现容易,效果可靠。
附图说明
图1是现有视频播放器结构图;
图2是现有基于播放延迟反馈的分级丢帧流程图;
图3是本发明的高效的视频播放丢帧控制***结构图;
图4是本发明的高效的视频播放丢帧控制方法流程图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
如图3所示,是本发明的高效的视频播放丢帧控制***结构图。该***300包括:丢帧控制模块10、视频解码模块20、视频播放模块30。
视频解码模块20,用于在视频帧解码完成后,将视频帧时间戳与视频解码时钟的当前时间做比较,将其比较结果反馈给视频解码前的丢帧控制模块10。
视频解码时钟与视频播放时钟类似,是视频解码时需要参照的时钟,视频解码模块20在对每个视频帧完成解码后,其时间戳应该早于或等于视频解码时钟的当前时间。
若解码后视频帧的时间戳早于或等于视频解码时钟的当前时间,则视频解码模块20进行视频帧解码的速度及时,解码状态良好,不需要干预,视频播放模块30播放解码后的视频帧;若解码后视频帧的时间戳晚于视频解码时钟的当前时间,则视频解码模块20进行视频帧解码的速度偏慢,赶不上视频播放模块30进行视频播放的需求,接下来需要丢帧。
由于压缩的视频帧分I帧、P帧、B帧等不同类型,不是所有的帧都能自由丢弃,所以丢帧控制模块10并不最后决定某一视频帧是否被丢弃,而是设定一个丢帧标志,由视频解码模块20决定是否丢弃该视频帧。当视频解码模块20解码后视频帧的时间戳早于或等于视频解码时钟的当前时间时,丢帧控制模块10清除该丢帧标志,完成一个反馈控制循环。
视频解码模块20接收丢帧控制模块10输出的丢帧标志。视频解码模块20当获知丢帧标志已设置并且视频帧是B帧时,则进行丢帧处理,对其他视频帧则拒绝丢帧。
视频解码模块20决定是否丢弃该视频帧是通过解码器实现的,属于解码器接口的一部分。如果解码器没有这样的接口,那必须在解码前确定一个视频帧的种类(I,B,P帧),由丢帧控制模块10来丢帧。B帧和最后一个P帧可以丢弃。
如图4所示,是本发明的高效的视频播放丢帧控制方法流程图。结合图3,该方法流程的具体步骤包括:
步骤401,视频解码模块20取得参考时间;
步骤402,视频解码模块20取得视频帧时间戳;
步骤403,视频解码模块20判断视频帧时间戳是否早于参考时间,若是,则不需要进行丢帧处理,进入下一步骤404,若否,则需要进行丢帧处理,由丢帧控制模块10设置丢帧标志,并进入下一步骤404;
步骤404,视频解码模块20进行解码处理;
步骤405,视频解码模块20保存视频时间戳;
步骤406,判断是否结束视频播放,若是,则播放结束,若否,则返回步骤401。
上述步骤401、403中,参考时间是为视频解码时钟的当前时间。
本发明提出的丢帧控制方法,是将视频帧时间戳与视频解码时钟的当前时间进行比较,根据比较结果决定是否丢帧,实现方法简单,并能达到相当好的技术效果。
本发明提出的丢帧控制方法,通过解码前进行丢帧处理,有效降低***负载,满足视频同步播放要求。
本发明提出的丢帧控制方法,取得了更好的控制效果和适应性,使得任意性能硬件设备上的视频播放更加连续、音视频同步效果更好。
本发明提出的丢帧控制方法,反馈控制的路径短,延迟小,控制精确,反应迅速;丢帧不分级,完全根据运行时的实际状况实时反馈,实时调节;控制量与反馈量之间有明确的对应关系和数学解释,算法实现有的放矢,不依赖经验数据。
本发明提出的丢帧控制方法,已经实际应用于手机视频播放中,播放高码率、大尺寸视频时的流畅程度和音视频同步性都明显优于同类技术。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种高效的视频播放丢帧控制***,包括视频播放模块,其特征在于,还包括:丢帧控制模块、视频解码模块;
所述视频解码模块,用于在视频帧解码完成后,将该视频帧的时间戳与视频解码时钟的当前时间做比较,获取比较结果并反馈给所述丢帧控制模块;
所述丢帧控制模块,用于根据该比较结果设置丢帧标志,由所述视频解码模块根据该丢帧标志对该视频帧进行丢帧控制。
2.根据权利要求1所述的视频播放丢帧控制***,其特征在于,所述视频解码模块当该时间戳早于或等于该视频解码时钟的当前时间时,不丢弃该视频帧,当该时间戳晚于该视频解码时钟的当前时间时,丢弃该视频帧。
3.根据权利要求1或2所述的视频播放丢帧控制***,其特征在于,所述丢帧控制模块当该时间戳晚于该视频解码时钟的当前时间时,设置该丢帧标志。
4.根据权利要求1或2所述的视频播放丢帧控制***,其特征在于,所述丢帧控制模块当该时间戳早于或等于该视频解码时钟的当前时间时,清除该丢帧标志。
5.根据权利要求3所述的视频播放丢帧控制***,其特征在于,所述丢帧控制模块当该时间戳早于或等于该视频解码时钟的当前时间时,清除该丢帧标志。
6.一种高效的视频播放丢帧控制方法,其特征在于,包括:
步骤一,在视频帧解码完成后,将该视频帧的时间戳与视频解码时钟的当前时间做比较,获取比较结果;
步骤二,根据该比较结果设置丢帧标志,进行解码处理并根据该丢帧标志对该视频帧进行丢帧控制。
7.根据权利要求6所述的视频播放丢帧控制方法,其特征在于,所述步骤一中,包括:
当该时间戳早于或等于该视频解码时钟的当前时间时,不丢弃该视频帧,当该时间戳晚于该视频解码时钟的当前时间时,丢弃该视频帧。
8.根据权利要求6或7所述的视频播放丢帧控制方法,其特征在于,所述步骤二中,包括:
当该时间戳晚于该视频解码时钟的当前时间时,设置该丢帧标志。
9.根据权利要求6或7所述的视频播放丢帧控制方法,其特征在于,所述步骤二中,包括:
当该时间戳早于或等于该视频解码时钟的当前时间时,清除该丢帧标志。
10.根据权利要求8所述的视频播放丢帧控制方法,其特征在于,所述步骤二中,包括:
当该时间戳早于或等于该视频解码时钟的当前时间时,清除该丢帧标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210552949.3A CN103873952B (zh) | 2012-12-18 | 2012-12-18 | 一种高效的视频播放丢帧控制***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210552949.3A CN103873952B (zh) | 2012-12-18 | 2012-12-18 | 一种高效的视频播放丢帧控制***及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873952A true CN103873952A (zh) | 2014-06-18 |
CN103873952B CN103873952B (zh) | 2017-10-20 |
Family
ID=50912015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210552949.3A Expired - Fee Related CN103873952B (zh) | 2012-12-18 | 2012-12-18 | 一种高效的视频播放丢帧控制***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103873952B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363257A (zh) * | 2014-10-11 | 2015-02-18 | 广州华多网络科技有限公司 | 一种用户界面数据刷新方法和设备 |
CN107483967A (zh) * | 2016-06-08 | 2017-12-15 | 晨星半导体股份有限公司 | 控制比特流解码的方法及相关的比特流解码电路 |
CN108495164A (zh) * | 2018-04-09 | 2018-09-04 | 珠海全志科技股份有限公司 | 音视频同步处理方法及装置、计算机装置及存储介质 |
CN108769815A (zh) * | 2018-06-21 | 2018-11-06 | 威盛电子股份有限公司 | 视频处理方法及其装置 |
CN109413469A (zh) * | 2018-08-31 | 2019-03-01 | 北京潘达互娱科技有限公司 | 一种直播连麦延迟控制方法、装置、电子设备及存储介质 |
CN109660805A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 解码播放中音视频同步优化方法、存储介质、设备及*** |
CN113453054A (zh) * | 2021-06-30 | 2021-09-28 | 深圳市斯博科技有限公司 | 音视频丢帧方法、装置、计算机设备及存储介质 |
CN113965786A (zh) * | 2021-09-29 | 2022-01-21 | 杭州当虹科技股份有限公司 | 精准控制视频输出播放的方法 |
WO2023088211A1 (zh) * | 2021-11-22 | 2023-05-25 | 华为技术有限公司 | 一种显示画面同步方法、***及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177257A (zh) * | 1996-09-05 | 1998-03-25 | 三星电子株式会社 | 图像同步电路和图像同步方法 |
US20040170162A1 (en) * | 2003-02-27 | 2004-09-02 | Sharp Laboratories Of America, Inc. | Robust MPEG-2 multiplexing system and method using an adjustable time stamp |
CN101394469A (zh) * | 2008-10-29 | 2009-03-25 | 北京创毅视讯科技有限公司 | 一种音视频同步方法、装置及一种数字电视芯片 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN102404650A (zh) * | 2011-11-30 | 2012-04-04 | 江苏奇异点网络有限公司 | 在线视频的音视频同步控制方法 |
-
2012
- 2012-12-18 CN CN201210552949.3A patent/CN103873952B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177257A (zh) * | 1996-09-05 | 1998-03-25 | 三星电子株式会社 | 图像同步电路和图像同步方法 |
US20040170162A1 (en) * | 2003-02-27 | 2004-09-02 | Sharp Laboratories Of America, Inc. | Robust MPEG-2 multiplexing system and method using an adjustable time stamp |
CN101394469A (zh) * | 2008-10-29 | 2009-03-25 | 北京创毅视讯科技有限公司 | 一种音视频同步方法、装置及一种数字电视芯片 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN102404650A (zh) * | 2011-11-30 | 2012-04-04 | 江苏奇异点网络有限公司 | 在线视频的音视频同步控制方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363257B (zh) * | 2014-10-11 | 2018-02-23 | 广州华多网络科技有限公司 | 一种用户界面数据刷新方法和设备 |
CN104363257A (zh) * | 2014-10-11 | 2015-02-18 | 广州华多网络科技有限公司 | 一种用户界面数据刷新方法和设备 |
CN107483967A (zh) * | 2016-06-08 | 2017-12-15 | 晨星半导体股份有限公司 | 控制比特流解码的方法及相关的比特流解码电路 |
CN109660805A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 解码播放中音视频同步优化方法、存储介质、设备及*** |
CN109660805B (zh) * | 2017-10-10 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 解码播放中音视频同步优化方法、存储介质、设备及*** |
CN108495164A (zh) * | 2018-04-09 | 2018-09-04 | 珠海全志科技股份有限公司 | 音视频同步处理方法及装置、计算机装置及存储介质 |
CN108495164B (zh) * | 2018-04-09 | 2021-01-29 | 珠海全志科技股份有限公司 | 音视频同步处理方法及装置、计算机装置及存储介质 |
CN108769815A (zh) * | 2018-06-21 | 2018-11-06 | 威盛电子股份有限公司 | 视频处理方法及其装置 |
CN109413469A (zh) * | 2018-08-31 | 2019-03-01 | 北京潘达互娱科技有限公司 | 一种直播连麦延迟控制方法、装置、电子设备及存储介质 |
CN113453054A (zh) * | 2021-06-30 | 2021-09-28 | 深圳市斯博科技有限公司 | 音视频丢帧方法、装置、计算机设备及存储介质 |
CN113965786A (zh) * | 2021-09-29 | 2022-01-21 | 杭州当虹科技股份有限公司 | 精准控制视频输出播放的方法 |
CN113965786B (zh) * | 2021-09-29 | 2024-03-26 | 杭州当虹科技股份有限公司 | 精准控制视频输出播放的方法 |
WO2023088211A1 (zh) * | 2021-11-22 | 2023-05-25 | 华为技术有限公司 | 一种显示画面同步方法、***及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103873952B (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873952A (zh) | 一种高效的视频播放丢帧控制***及其方法 | |
CN106612452B (zh) | 机顶盒音视频同步的方法及装置 | |
CN103475927B (zh) | 在线视频实时变速播放方法及*** | |
WO2017166497A1 (zh) | 一种多媒体数据的同步播放方法及装置 | |
CN103747317B (zh) | 一种播放库在不稳定网络下的流畅播放控制方法 | |
CN107509100A (zh) | 音视频同步方法、***、计算机装置及计算机可读存储介质 | |
US20150235668A1 (en) | Video/audio synchronization apparatus and video/audio synchronization method | |
US20130083859A1 (en) | Method to match input and output timestamps in a video encoder and advertisement inserter | |
CN105979347A (zh) | 一种视频的播放方法和装置 | |
CN106162293B (zh) | 一种视频声音与图像同步的方法及装置 | |
HK1116323A1 (en) | Video game system using pre-encoded macro-blocks | |
CN106385620A (zh) | 一种基于流媒体的数据平滑输出方法 | |
CN106658030B (zh) | 一种包含单路音频多路视频的复合视频的播放方法及设备 | |
US20110170613A1 (en) | Digital broadcast reproduction device and digital broadcast reproduction method | |
CN104822008A (zh) | 视频同步方法及装置 | |
CN105245976A (zh) | 音频和视频同步播放的方法及*** | |
CN102368823A (zh) | 一种基于分级机制的视频丢帧策略 | |
CN111372138A (zh) | 一种播放器端的直播低延迟技术方案 | |
CN106534879A (zh) | 一种基于关注度的直播切换方法及*** | |
CN102006319A (zh) | 一种多终端Flash同步播放的方法和*** | |
CN109275008A (zh) | 一种音视频同步的方法和装置 | |
CN104394450B (zh) | 一种多媒体帧的处理方法及装置 | |
CN103391467A (zh) | 网络机顶盒音视频解码与播放同步实现方法 | |
CN107295403A (zh) | 视频间无缝衔接播放的方法 | |
CN103581730A (zh) | 在数字机顶盒上实现音视频同步的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171020 Termination date: 20191218 |