[发明专利]一种基于视频流调帧率的桌面共享系统及其桌面共享方法有效
申请号: | 201810599090.9 | 申请日: | 2018-06-12 |
公开(公告)号: | CN108769600B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 金国庆;陈尚武 | 申请(专利权)人: | 杭州叙简科技股份有限公司 |
主分类号: | H04N7/18 | 分类号: | H04N7/18;H04N21/8547;H04N21/44;H04N21/4402;H04N19/177 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 310012 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 视频 流调帧率 桌面 共享 系统 及其 方法 | ||
1.一种基于视频流调帧率的桌面共享系统,其特征在于,包括视频解码模块(1)、桌面渲染模块(2)、桌面抓取模块(3)、拼接模块(4)、调帧模块(5)、视频编码模块(6),其中:
所述视频解码模块(1),用于将网络视频流或本地视频文件进行解码得到高帧率的视频图像A的YUV视频数据,并把解码后YUV视频数据发送给桌面渲染模块(2)与拼接模块(4);
所述桌面渲染模块(2),用于负责把解码后YUV视频数据渲染显示到电脑桌面上,并为桌面抓取模块(3)提供解码后YUV视频数据的位置与大小;
所述桌面抓取模块(3),用于抓取电脑桌面获取低帧率的桌面图像,并把桌面图像与视频图像A的位置与大小发给拼接模块(4);
所述拼接模块(4),用于把低帧率桌面图像与高帧率视频图像A拼接合并;
其中,拼接模块(4)拼接桌面图像Z与视频图像A的方法如下:
(7.1)、拼接模块(4)获取桌面图像Z的YUV视频数据d1带上与视频图像A位置p1与大小s1与时间戳t1’;
(7.2)、拼接模块(4)按照时间戳小于视频图像A时间戳t1’条件从缓存h1获取视频图像A的视频数据队列;
(7.3)、拼接模块(4)从视频图像A的视频数据队列中取第一个YUV视频数据;
(7.4)、拼接模块(4)根据视频图像A的大小s1对视频图像A的YUV视频数据进缩放,得到视频图像A的叠加YUV视频数据;
(7.5)、拼接模块(4)根据视频图像A的位置p1使用视频图像A的叠加YUV视频数据对桌面图像Z的YUV视频数据进行替换,得到桌面图像Z的YUV视频数据d1的编号为1合并图像的YUV视频数据;拼接模块(4)按照当前时间生成合并时间戳,拼接模块(4)把合并图像的YUV视频数据与合并时间戳发送给视频编码模块(6),拼接模块(4)把合并图像的合并时间戳与编号发送给调帧模块(5);
(7.6)、拼接模块(4)依次取视频图像A的视频数据队列的YUV视频数据,重复步骤(7.3)~步骤(7.5),生成以桌面图像Z的YUV视频数据d1为底图的其他图像,即合并图像的编号为2,3,4...;
(7.7)、拼接模块(4)获取桌面图像Z的YUV视频数据d2带上与视频图像A位置p2与大小s2与时间戳t2’,则重复步骤(7.1)~步骤(7.6);生成以桌面图像Z的YUV视频数据d2为底图的所有图像;
所述调帧模块(5),用于控制视频编码GOP与I帧生成时间,去除复制桌面图像而带来数据冗余,减少传输所需的带宽;
所述视频编码模块(6),用于负责拼接模块(4)输出视频进行压缩编码,最终输出标准视频压缩数据流,并将帧率提高为高帧率。
2.一种基于视频流调帧率的桌面共享方法,其特征在于,包括如下步骤:
步骤(1)、视频解码模块(1)解码网络视频流或本地视频文件得到高帧率的视频图像A的YUV视频数据;
步骤(2)、视频解码模块(1)把解码视频图像A的YUV视频数据带上时间戳t1分别复制分发给桌面渲染模块(2)与拼接模块(4);
步骤(3)、桌面渲染模块(2)接收视频图像A的YUV视频数据,按照视频图像A在电脑桌面图像中的位置与大小在电脑桌面图像中渲染显示,桌面渲染模块(2)保存时间戳t1为当前渲染时间戳t1’;
步骤(4)、桌面抓取模块(3)通过抓取桌面获取低帧率的桌面图像Z的YUV视频数据带;桌面抓取模块(3)从桌面渲染模块(2)获取视频图像A的位置与大小与当前渲染时间戳t1’;
步骤(5)、桌面抓取模块(3)把桌面图像Z的YUV视频数据带上与视频图像A位置与大小与时间戳t1’发送给拼接模块(4);
步骤(6)、拼接模块(4)接收到视频图像A的YUV视频数据与时间戳t’,保存到拼接模块(4)的缓存h1;
步骤(7)、拼接模块(4)拼接桌面图像Z与视频图像A的方法
(7.1)、拼接模块(4)获取桌面图像Z的YUV视频数据d1带上与视频图像A位置p1与大小s1与时间戳t1’;
(7.2)、拼接模块(4)按照时间戳小于视频图像A时间戳t1’条件从缓存h1获取视频图像A的视频数据队列;
(7.3)、拼接模块(4)从视频图像A的视频数据队列中取第一个YUV视频数据;
(7.4)、拼接模块(4)根据视频图像A的大小s1对视频图像A的YUV视频数据进缩放,得到视频图像A的叠加YUV视频数据;
(7.5)、拼接模块(4)根据视频图像A的位置p1使用视频图像A的叠加YUV视频数据对桌面图像Z的YUV视频数据进行替换,得到桌面图像Z的YUV视频数据d1的编号为1合并图像的YUV视频数据;拼接模块(4)按照当前时间生成合并时间戳,拼接模块(4)把合并图像的YUV视频数据与合并时间戳发送给视频编码模块(6),拼接模块(4)把合并图像的合并时间戳与编号发送给调帧模块(5);
(7.6)、拼接模块(4)依次取视频图像A的视频数据队列的YUV视频数据,重复步骤(7.3)~步骤(7.5),生成以桌面图像Z的YUV视频数据d1为底图的其他图像,即合并图像的编号为2,3,4...;
(7.7)、拼接模块(4)获取桌面图像Z的YUV视频数据d2带上与视频图像A位置p2与大小s2与时间戳t2’,则重复步骤(7.1)~步骤(7.6);生成以桌面图像Z的YUV视频数据d2为底图的所有图像;
步骤(8)、调帧模块(5)的调帧方法
(8.1)、调帧模块(5)根据统计得到桌面图像Z的帧率A与视频图像A的帧率B,计算帧率A与帧率B的最小公倍数C,最小公倍数C为桌面图像Z与视频图像A不同帧率拼接重复周期,设置最小公倍数C为GOP值;
(8.2)、调帧模块(5)设置视频编码模块(6)GOP为最小公倍数C,设置视频编码模块(6)起始时间戳;起始时间戳对应视频编码帧类型为I帧,起始时间戳取值合并图像的编号为1的时间戳;这样I帧为桌面图像Z在步骤(7.4)生成第一张合并图像,桌面图像Z复制而生成其他合并图像为P帧,所以桌面图像Z复制而带来数据冗余也被消除,从而减少传输所需的带宽;
(8.3)、调帧模块(5)发现桌面图像Z的帧率或视频图像A的帧率发生变化,则重新进行步骤(8.1)~步骤(8.2);
步骤(9)、视频编码模块(6)接收到拼接模块(4)的合并图像的YUV视频数据与合并时间戳,保存到本身缓存h2中;
步骤(10)、视频编码模块(6)接到调帧模块(5)的GOP值与起始时间戳;视频编码模块(6)把GOP值设置到视频编码中;视频编码模块(6)根据起始时间戳在缓存h2找到合并图像对应的YUV视频数据,开始视频编码;
步骤(11)、视频编码模块(6)最终编码输出标准视频压缩数据流,但帧率提高为高帧率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州叙简科技股份有限公司,未经杭州叙简科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810599090.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有防暴晒性能的智能安防监控装置
- 下一篇:一种智能建筑管理系统