CN102413382B - 一种提高实时视频平滑性的方法 - Google Patents
一种提高实时视频平滑性的方法 Download PDFInfo
- Publication number
- CN102413382B CN102413382B CN201110442134.5A CN201110442134A CN102413382B CN 102413382 B CN102413382 B CN 102413382B CN 201110442134 A CN201110442134 A CN 201110442134A CN 102413382 B CN102413382 B CN 102413382B
- Authority
- CN
- China
- Prior art keywords
- time
- frame
- timestamp
- local
- real
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及视频图像处理领域,本发明公开了一种提高实时视频平滑性的方法,其具体包含以下步骤:计算出收到第一帧时的时间戳为Tfirst,收到第一帧时的本地时间为Tlocal,后面每一帧的时间戳为Tsrc,每帧解码前时的本地时间为Tnow;判断Tnow-Tlocal〉=Tsrc-Tfirst是否成立,如果成立就进行解码渲染,如果不成立就进行sleep,直到条件成立为止。根据相邻两帧的时间戳差值的恒定性,采用了动态计算码流的相对时间戳和本地的绝对时间戳,通过其差值的大小,决定是否对当前帧进行解码,这样就能避免每收到一帧就解码和渲染的话有时候会出现显示过快或过慢的情况,从而提高实时视频渲染的平滑性。
Description
技术领域
本发明涉及视频图像处理领域,本发明公开了一种提高实时视频平滑性的方法。
背景技术
现有技术中前端设备中发过来的视频数据有时会出现显示不平滑的现象,原因是:在TCP模式下假定帧率是25的情况下,在复杂的实际运行环境中,并不是每一秒都是收到恒定的25帧,有时候一秒钟可能只收到15帧,而在下一秒有可能就会收到35帧,如果客户端在收到一帧就解码和渲染一帧的话有时候会出现显示过快或过慢的情况,从而导致了图像不平滑现象。
发明内容
本发明的目的是针对上述图像不平滑的问题,提供一种提高实时视频平滑性的方法。
本发明的目的通过下述技术方案来实现:
一种提高实时视频平滑性的方法,其具体包含以下步骤:计算出收到第一帧时的时间戳为Tfirst,收到第一帧时的本地时间为Tlocal,后面每一帧的时间戳为Tsrc,每帧解码前时的本地时间为Tnow;判断Tnow-Tlocal〉=Tsrc-Tfirst是否成立,如果成立就进行解码渲染,如果不成立就进行sleep,直到条件成立为止。
优选地,上述sleep的时间为(Tsrc–Tfirst)–(Tnow–Tlocal)。
优选地,上述时间戳为当前时间减去实时流初始时间得到的差值。
优选地,上述方法还包括:每次得到本地时间后进行存储,当本次得到的本地时间小于上一次存储的本地时间时,进行时间翻转。
优选地,上述方法还包括:当连续多帧的时间戳相同时,后续帧的时间依序做加1处理。
本发明的有益效果:根据相邻两帧的时间戳差值的恒定性,采用了动态计算码流的相对时间戳和本地的绝对时间戳,通过其差值的大小,决定是否对当前帧进行解码,这样就能避免每收到一帧就解码和渲染的话有时候会出现显示过快或过慢的情况,从而提高实时视频渲染的平滑性。
附图说明
附图1为本发明的提高实时视频平滑性方法的流程图。
具体实施方式
下面结合说明书附图,详细说明本发明的具体实施方式。
本发明公开了一种提高实时视频平滑性的方法,其具体包含以下步骤:计算出收到第一帧时的时间戳为Tfirst,收到第一帧时的本地时间为Tlocal,后面每一帧的时间戳为Tsrc,每帧解码前时的本地时间为Tnow;判断Tnow–Tlocal>=Tsrc-Tfirst是否成立,如果成立就进行解码渲染,如果不成立就进行sleep,直到条件成立为止。在TCP传输模式的基础上,通过对实时视频数据加上时间戳进行验证的机制,在每帧解码前,首先计算出本地绝对时间,将其与收到第一帧本地绝对时间进行求差,再计算出后面每帧的相对时间戳,并将其与收到第一帧的相对时间戳进行求差,比较两者的差值决定是否对当前帧进行解码渲染。根据相邻两帧的时间戳差值的恒定性,采用了动态计算码流的相对时间戳和本地的绝对时间戳,通过其差值的大小,决定是否对当前帧进行解码,这样就能避免每收到一帧就解码和渲染的话有时候会出现显示过快或过慢的情况,从而提高实时视频渲染的平滑性。针对实时视频不平滑现象,利用了对视频数据加相对时间戳机制,动态计算两帧的缓冲解码渲染时间,并且保证了只会缓冲一次,从根本上解决了实时视频渲染时不平滑问题,很大程度上提高了实时视频图像的流畅性。
优选地,sleep的时间为(Tsrc–Tfirst)–(Tnow–Tlocal)。sleep的最短时间为(Tsrc–Tfirst)–(Tnow–Tlocal),也就是说只要Tnow–Tlocal=Tsrc-Tfirst一成立,就开始进行解码和渲染,避免数据帧堆积,影响后续的解码和渲染。
优选地,时间戳为当前时间减去实时流初始时间得到的差值。如可以用GettickCount函数获取当前的时间,然后减去实时流初始时间得到的差值,得到时间戳。
优选地,每次得到本地时间后进行存储,当本次得到的本地时间小于上一次存储的本地时间时,进行时间翻转。如果采用GetTickcount函数时,它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORDGetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是2-1ms约为49.71天,因此若系统运行时间超过49.71天时,这个数就会归0。如果采用GetTickCount函数,GetTickCount函数计算时间时最大只能支持到49.71天,之后的时间就要进行翻转,因此为了保证长时间运行,所以当取得的当前时间小于之前保存的时间的时候,需要进行时间翻转。
优选地,当连续多帧的时间戳相同,后面帧的时间依序做加1处理。由于前端设备可能连续吐多个视频数据包出来,这样会导致这几个时间戳相同,不利于后续处理,所以当连续两个包的时间戳相同时,后面的时间戳须做加1处理。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用本发明的,本发明并不限定仅取前述公开的数值,在不脱离本发明的发明思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (2)
1.一种提高实时视频平滑性的方法,其具体包含以下步骤:计算出收到第一帧时的时间戳为Tfirst,收到第一帧时的本地时间为Tlocal,后面每一帧的时间戳为Tsrc,每帧解码前时的本地时间为Tnow;判断Tnow-Tlocal〉=Tsrc-Tfirst是否成立,如果成立就进行解码渲染,如果不成立就进行sleep,直到条件成立为止;当连续多帧的时间戳相同时,后续帧的时间依序加1处理;所述sleep的时间为(Tsrc–Tfirst)–(Tnow–Tlocal);所述时间戳为当前时间减去实时流初始时间得到的差值。
2.如权利要求1所述的提高实时视频平滑性的方法,其特征在于所述方法还包括:每次得到本地时间后进行存储,当本次得到的本地时间小于上一次存储的本地时间时,进行时间翻转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110442134.5A CN102413382B (zh) | 2011-12-27 | 2011-12-27 | 一种提高实时视频平滑性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110442134.5A CN102413382B (zh) | 2011-12-27 | 2011-12-27 | 一种提高实时视频平滑性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102413382A CN102413382A (zh) | 2012-04-11 |
CN102413382B true CN102413382B (zh) | 2014-06-11 |
Family
ID=45915178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110442134.5A Active CN102413382B (zh) | 2011-12-27 | 2011-12-27 | 一种提高实时视频平滑性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102413382B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002354A (zh) * | 2012-12-14 | 2013-03-27 | 四川九洲电器集团有限责任公司 | 一种消除视频数据传输网络抖动的方法及系统 |
CN103747332B (zh) * | 2013-12-25 | 2018-08-10 | 乐视致新电子科技(天津)有限公司 | 一种视频的平滑处理方法和装置 |
CN105812962B (zh) * | 2016-02-24 | 2018-10-26 | 清德智体(北京)科技有限公司 | 一种流媒体视频帧时间偏移消除方法 |
CN107203960B (zh) * | 2016-06-30 | 2021-03-09 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN114040247A (zh) * | 2021-11-09 | 2022-02-11 | 新智认知数据服务有限公司 | 网络视频流的处理方法、电子设备及计算机可读存储介质 |
CN115550713B (zh) * | 2022-11-29 | 2023-04-28 | 杭州星犀科技有限公司 | 音视频直播渲染方法、装置、设备及介质 |
CN115941914B (zh) * | 2023-01-06 | 2023-05-23 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于视频帧分析的视频渲染系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878273A (en) * | 1993-06-24 | 1999-03-02 | Discovision Associates | System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data |
WO2004052021A1 (en) * | 2002-12-04 | 2004-06-17 | Koninklijke Philips Electronics N.V. | Method of automatically testing audio/video synchronization |
CN101271720B (zh) * | 2008-04-22 | 2011-06-22 | 中兴通讯股份有限公司 | 一种手机流媒体音视频的同步方法 |
-
2011
- 2011-12-27 CN CN201110442134.5A patent/CN102413382B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102413382A (zh) | 2012-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413382B (zh) | 一种提高实时视频平滑性的方法 | |
WO2022100522A1 (zh) | 一种视频编码方法、视频解码方法、装置、电子设备、存储介质及计算机程序产品 | |
US10469820B2 (en) | Streaming volumetric video for six degrees of freedom virtual reality | |
US20140187331A1 (en) | Latency reduction by sub-frame encoding and transmission | |
US10362323B2 (en) | Methods and apparatus of encoding real time media content | |
US20150208079A1 (en) | Adaptive frame type detection for real-time low-latency streaming servers | |
CN111010582B (zh) | 一种云桌面图像处理方法、装置、设备及可读存储介质 | |
Shi et al. | Freedom: Fast recovery enhanced vr delivery over mobile networks | |
US20140292751A1 (en) | Rate control bit allocation for video streaming based on an attention area of a gamer | |
WO2017066346A1 (en) | Method and apparatus for optimizing video streaming for virtual reality | |
CN110115042B (zh) | 在网络中输送视频序列的方法、数据发送器 | |
TW200943078A (en) | Method for acceleration of web page delivery | |
Tan et al. | A remote thin client system for real time multimedia streaming over VNC | |
CN108337246B (zh) | 防止重放延迟的媒体重放设备和媒体服务设备 | |
US10116943B2 (en) | Adaptive video compression for latency control | |
CN110740380A (zh) | 视频处理方法和装置、存储介质及电子装置 | |
US9232249B1 (en) | Video presentation using repeated video frames | |
CN103686203A (zh) | 视频转码方法及装置 | |
CN113286146A (zh) | 媒体数据处理方法、装置、设备以及存储介质 | |
CN108027717A (zh) | 切换无线显示模式并刷新处于不稳定状态的图形处理单元 | |
CN104469400A (zh) | 一种基于rfb协议的图像数据压缩方法 | |
CN115460458B (zh) | 视频丢帧方法和设备 | |
US20230318980A1 (en) | Congestion control for low-latency interactive video streaming | |
JP2007150755A5 (zh) | ||
CN104185084A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210518 Address after: No. 6, Jiuhua Road, khuchuang Park, Mianyang, Sichuan Patentee after: Sichuan Jiuzhou Investment Holding Group Co.,Ltd. Address before: 621000 No. 16 Yuejin Road, Fucheng District, Sichuan, Mianyang Patentee before: SICHUAN JIUZHOU ELECTRIC GROUP Co.,Ltd. |