CN105245915B - 云桌面高清视频传输方法 - Google Patents
云桌面高清视频传输方法 Download PDFInfo
- Publication number
- CN105245915B CN105245915B CN201510662178.7A CN201510662178A CN105245915B CN 105245915 B CN105245915 B CN 105245915B CN 201510662178 A CN201510662178 A CN 201510662178A CN 105245915 B CN105245915 B CN 105245915B
- Authority
- CN
- China
- Prior art keywords
- data
- cloud desktop
- transmission method
- video transmission
- client
- 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种云桌面高清视频传输方法,包括以下步骤:当前显示数据发生变化时,全部绘制到全屏显示的缓存中;根据绘制时间戳判断是否需要将缓存中数据发往客户端,若需要发送则从缓存中取出显示数据,并进行视频压缩编码;将编码好的视频流数据发送至客户端。其优点在于采用全屏模式(单一处理模块),不会因变动区域增多而增加显示处理压力;并采用时间戳过滤方式或周期性视频压缩处理方式,降低显示数据发送频率,从而降低瞬时传输数据对带宽的要求,使传输数据量趋于平稳,减少数据传输量的波动,有利于云桌面带宽的限制。
Description
技术领域
本发明公开了一种视频传输方法,特别涉及一种云桌面高清视频传输方法。
背景技术
在使用云桌面过程中,发现其对视频应用支持很差,在云桌面上播放一个windows的示例视频就很卡,播放效果十分差。经过测试发现,原有云桌面client在处理视频时,占用带宽很高!CPU使用率也很高!通过分析发现,对视频处理和浏览高清图云桌面之所以不好用,是因为对显示处理这块的设计上有缺陷。通过对原有设计处理流程的研究分析发现,原有设计在处理显示数据时,直接将每次的区域变动数据封装后发往客户端显示。而在系统使用过程当中,时常是多区域的显示数据更新,通过对程序的深入测试,发现每次区域变动数据量非常小,且变化非常之频繁,有时变化之间时间段到几十微妙!且显示数据采用无损压缩,这样一来就导致了,数据发送非常频繁!client端处理压力很大!瞬时带宽占用过高!
在云桌面技术的实现过程当中,区域性更新方式,如图1所示,spice使用的QXL显示驱动,可以直接获取到变动区域数据;vnc使用对前后两个显示图像进行对比,来区别那块区域有变动,然后发送变动区域数据到客户端。但是,采用区域性数据更新,区域变动过于频繁。瞬时带宽要求高,数据传输对带宽要求波动较大,不利于带宽要求的控制,也不利于带宽限制。在变动区域个数过多时,也会严重影响对显示数据的处理速度。经过对测试数据的研究分析发现,原先云桌面显示部分采用差异化区域更新显示处理,该处理方式有以下缺点:数据发往client端频率过高,增加I/O操作压力;差异化数据区域越多,云桌面显示压力越大,显示效果越差;云桌面对视频类应用支持不友好;云桌面对带宽要求高;云桌面瞬时流量过高,速率波动较大。
发明内容
本发明的提供的一种云桌面高清视频传输方法,对整体显示数据进行绘制、控制数据变化的时间设置稳定数据传输速率的波动,克服上述现有技术的缺陷。
本发明提供一种云桌面高清视频传输方法,包括以下步骤:
步骤A、当云桌面显示数据发生变化时,全部绘制到全屏显示的缓存中;
步骤B、针对绘制时间戳进行过滤判定,看是否需要发往客户端;需要发往客户端时,进入步骤D;不需要发往客户端时,进入步骤C;
步骤C、将数据覆盖性存入计时器缓存区;计时器开始计时;
步骤C1、当计时器完成计时后,执行步骤D;
步骤D、将全屏显示数据,进行帧间编码和帧内编码压缩,同时做加密处理;
步骤E、将步骤D处理好的数据,打包发往客户端进行显示。
进一步,本发明提供一种云桌面高清视频传输方法,还可以具有这样的特征:当绘制命令的时间戳超过设定的过滤时间,执行步骤D。
进一步,本发明提供一种云桌面高清视频传输方法,还可以具有这样的特征:当最近一次绘制20-40ms后,还无新的数据绘制,将执行步骤D。
进一步,本发明提供一种云桌面高清视频传输方法,还可以具有这样的特征:步骤D中的显示数据编码采用帧间编码压缩和帧内编码压缩,同时对编码数据进行加密处理。
进一步,本发明提供一种云桌面高清视频传输方法,还可以具有这样的特征:在客户端接收到显示数据后,对数据进行解密、解码和转码处理后,进行显示。
进一步,本发明提供一种云桌面高清视频传输方法,还可以具有这样的特征:对数据的解码和转码处理,可以采用软件解码和转码处理。
进一步,本发明提供一种云桌面高清视频传输方法,还可以具有这样的特征:对数据的解码和转码处理,可以采用硬件加速处理解码和转码操作。
发明的有益效果
本发明提供一种云桌面高清视频传输方法,采用全屏模式(单一处理模块),不会因变动区域增多而增加显示处理压力;并采用时间戳过滤方式或周期性视频压缩处理方式,降低显示数据发送频率,从而降低瞬时传输数据对带宽的要求,使传输数据量趋于平稳,减少数据传输量的波动,有利于云桌面带宽的限制。本方案还采取使用h264压缩方式,从根本上降低传输数据对带宽的要求,从根本上控制每台云桌面的带宽。从而解决播放高清视频的难点,实现高清视频的播放。
本发明提供一种云桌面高清视频传输方法,有以下优点:采用全屏数据传输,不会因差异区域过多影响显示效果;采用时间戳过滤,过滤掉人眼难以察觉的瞬时变动,减少数据发送频率,降低I/O操作的压力;采用优化的压缩处理,有效降低数据传输量;显著降低云桌面对带宽的要求;使云桌面数据传输速率趋于稳定,提高对带宽限制的可行性。
附图说明
图1是时间戳过滤和补发部分的详细流程图。
图2是现有的云桌面高清视频传输流程图。
图3是适合单核高频处理器终端的云桌面高清视频传输流程图
图4是适合多核处理器终端的云桌面高清视频传输流程图。
图5是适合可视频硬解和硬转终端的云桌面高清视频传输流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的描述。
实施例一
如图3所示,适合单核高频处理器终端的云桌面高清视频传输方法,包括以下步骤:
步骤A、当前显示数据发生变化时,全部绘制到全屏显示的缓存中,即将所有要显示的数据全部绘制到全屏显示的Buffer中,以保证每时每刻Buffer中都是云桌面当前实时的显示内容。
步骤B、针对每次的绘制命令的时间戳进行过滤,我们通过每次绘制的时间差来确认绘制命令是否需要发往客户端。所谓时间戳过滤也就是将前后两次绘制命令的时间间隔判断是否超过人眼可辨识的范畴。一般设置时间为20-40ms,优选30ms。
当绘制命令的时间超过设定过滤时间30ms时,将缓冲寄存器中取出显示数据,进行视频压缩编码。
步骤C、不需要发往客户端,将最后一次过滤掉的绘制内容暂放入计时缓存区,设定计时时间,并重启计时器;在计时过程中,如果有新的过滤掉的绘制内容,将覆盖上次保存的及时缓存数据,并重新设定计时时间,重新开始计时;当计时器计时完成后,将及时缓存中数据进行编码压缩,然后发往客户端进行显示。设定计时器计时时间可以设置为40ms。此处处理是为了保障,最后一帧显示数据能够及时送往客户端,不至于丢帧。
步骤D、将全屏显示数据,进行帧间编码和帧内编码压缩,同时做加密处理。
视频压缩编码采用H264压缩方式,H264具有帧内编码和帧间编码的功能,可以大幅度降低每个数据包的大小,从根本上控制每台云桌面的带宽。从而解决播放高清视频的难点,实现高清视频的播放。在视频压缩编码过程中,还进行加密处理,防止非客户端恶意盗取。
步骤E、将处理好的数据,打包发往客户端进行显示。
本实施例中,云桌面高清视频传输方法适合单核高频CPU客户端,当然也可通过将处理视频数据模块分为多线程处理,适用于多核低频CPU客户端。
实施例二
如图4所示,适合多核处理器终端的云桌面高清视频传输流程图,包括如下步骤:
步骤A、当前显示数据发生变化时,全部绘制到全屏显示的缓存中,即将所有要显示的数据全部绘制到全屏显示的Buffer中,以保证每时每刻Buffer中都是云桌面当前实时的显示内容。
步骤B、针对每次的绘制命令的时间戳进行过滤,我们通过每次绘制的时间差来确认绘制命令是否需要发往客户端。所谓时间戳过滤也就是将前后两次绘制命令的时间间隔判断是否超过人眼可辨识的范畴。一般设置时间为20-40ms,优选30ms。
当绘制命令的时间超过设定过滤时间30ms时,将缓冲寄存器中取出显示数据,进行视频压缩编码。
步骤C、不需要发往客户端,将最后一次过滤掉的绘制内容暂放入计时缓存区,设定计时时间,并重启计时器;在计时过程中,如果有新的过滤掉的绘制内容,将覆盖上次保存的及时缓存数据,并重新设定计时时间,重新开始计时;当计时器计时完成后,将及时缓存中数据进行编码压缩,然后发往客户端进行显示。设定计时器计时时间可以设置为40ms。此处处理是为了保障,最后一帧显示数据能够及时送往客户端,不至于丢帧。
步骤D、将全屏显示数据,进行帧间编码和帧内编码压缩,同时做加密处理。
视频压缩编码采用H264压缩方式,H264具有帧内编码和帧间编码的功能,可以大幅度降低每个数据包的大小,从根本上控制每台云桌面的带宽。从而解决播放高清视频的难点,实现高清视频的播放。在视频压缩编码过程中,还进行加密处理,防止非客户端恶意盗取。
步骤E、将处理好的数据,打包发往客户端进行显示。
步骤F、客户端数据接收后,视频硬解码,进行多线程转码,最后桌面显示。
本实施例中,云桌面高清视频传输方法适合能够实现硬解码的多核处理器客户端,也可以通过使用单线程转码,适用于单核高频处理器。
实施例三
如图5所示,适合可视频硬解和硬转终端的云桌面高清视频传输方法,客户端视频数据接收前的步骤与实施例一相同,不在详细描述。
不同在于步骤F:客户端数据接收后,对视频数据做解码和转码的硬件加速处理,并桌面显示。
本实施例中,云桌面高清视频传输方法适合能够实现视频硬解和硬转的客户终端。
Claims (7)
1.一种云桌面高清视频传输方法,包括以下步骤:
步骤A、当云桌面显示数据发生变化时,全部绘制到全屏显示的缓存中;
步骤B、针对绘制时间戳进行过滤判定,看是否需要发往客户端;需要发往客户端时,进入步骤D;不需要发往客户端时,进入步骤C;
步骤C、将数据覆盖性存入计时器缓存区;计时器开始计时;
步骤C1、当计时器完成计时后,执行步骤D;
步骤D、将全屏显示数据,进行帧间编码和帧内编码压缩,同时做加密处理;
步骤E、将步骤D处理好的数据,打包发往客户端进行显示。
2.如权利要求1所述的云桌面高清视频传输方法,其特征在于:
当绘制命令的时间戳超过设定的过滤时间,执行步骤D。
3.如权利要求1所述的云桌面高清视频传输方法,其特征在于:
当最近一次绘制20-40ms后,还无新的数据绘制,将执行步骤D。
4.如权利要求1所述的云桌面高清视频传输方法,其特征在于:
步骤D中的显示数据编码采用帧间编码压缩和帧内编码压缩,同时对编码数据进行加密处理。
5.如权利要求1所述的云桌面高清视频传输方法,其特征在于:
在客户端接收到显示数据后,对数据进行解密、解码和转码处理后,进行显示。
6.如权利要求5所述的云桌面高清视频传输方法,其特征在于:
对数据的解码和转码处理,可以采用软件解码和转码处理。
7.如权利要求5所述的云桌面高清视频传输方法,其特征在于:
对数据的解码和转码处理,可以采用硬件加速处理解码和转码操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510662178.7A CN105245915B (zh) | 2015-09-30 | 2015-09-30 | 云桌面高清视频传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510662178.7A CN105245915B (zh) | 2015-09-30 | 2015-09-30 | 云桌面高清视频传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105245915A CN105245915A (zh) | 2016-01-13 |
CN105245915B true CN105245915B (zh) | 2018-11-23 |
Family
ID=55043358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510662178.7A Active CN105245915B (zh) | 2015-09-30 | 2015-09-30 | 云桌面高清视频传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105245915B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596449B (zh) * | 2019-06-05 | 2023-11-03 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN113032413A (zh) * | 2021-03-10 | 2021-06-25 | 北京嘀嘀无限科技发展有限公司 | 数据采样方法、装置、电子设备、存储介质和程序产品 |
CN113050826A (zh) * | 2021-03-10 | 2021-06-29 | 深圳市绘王动漫科技有限公司 | 连接云端的数位屏 |
CN113423012B (zh) * | 2021-08-23 | 2021-12-03 | 中兴通讯股份有限公司 | 视频处理方法、服务器和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102566910A (zh) * | 2011-12-14 | 2012-07-11 | 广州杰赛科技股份有限公司 | 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统 |
CN103475953A (zh) * | 2013-09-13 | 2013-12-25 | 华为技术有限公司 | 一种基于桌面云的媒体控制方法和设备 |
CN104660687A (zh) * | 2015-02-02 | 2015-05-27 | 上海视聪网络信息技术有限公司 | 虚拟桌面显示的实现方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004335013A (ja) * | 2003-05-09 | 2004-11-25 | Matsushita Electric Ind Co Ltd | データ蓄積装置およびデータ蓄積方法 |
JP5471794B2 (ja) * | 2010-05-10 | 2014-04-16 | 富士通株式会社 | 情報処理装置、画像送信プログラム及び画像表示方法 |
JP2012095053A (ja) * | 2010-10-26 | 2012-05-17 | Toshiba Corp | ストリーム伝送システム、送信装置、受信装置、ストリーム伝送方法及びプログラム |
US9113125B2 (en) * | 2012-09-12 | 2015-08-18 | Intel Corporation | Techniques for indexing video files |
CN103618926A (zh) * | 2013-12-09 | 2014-03-05 | 乐视网信息技术(北京)股份有限公司 | 对智能电视的显示应用页面的控制方法和控制装置 |
-
2015
- 2015-09-30 CN CN201510662178.7A patent/CN105245915B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102566910A (zh) * | 2011-12-14 | 2012-07-11 | 广州杰赛科技股份有限公司 | 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统 |
CN103475953A (zh) * | 2013-09-13 | 2013-12-25 | 华为技术有限公司 | 一种基于桌面云的媒体控制方法和设备 |
CN104660687A (zh) * | 2015-02-02 | 2015-05-27 | 上海视聪网络信息技术有限公司 | 虚拟桌面显示的实现方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105245915A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105245915B (zh) | 云桌面高清视频传输方法 | |
CN104702909B (zh) | 视频数据的处理方法及装置 | |
CN107529069A (zh) | 一种视频流传输方法及装置 | |
CN105338323A (zh) | 一种视频监控方法及装置 | |
CN101707714B (zh) | 多画面视频会议的图像处理方法和设备 | |
CN110662100A (zh) | 一种信息处理方法、装置、系统和计算机可读存储介质 | |
CN105245914A (zh) | 云桌面高清视频传输协议及架构 | |
US10484446B1 (en) | VBR encoding of live content | |
CN104717509B (zh) | 一种视频解码方法及装置 | |
CN104253804B (zh) | 一种传输图像数据的方法及装置 | |
CN105025294B (zh) | 一种视频传输控制装置及方法 | |
CN105049949A (zh) | 一种即时视频的编码方法和电子设备 | |
CN109164776B (zh) | 一种面向工业设备的分布式数据采集方法 | |
CN109089126A (zh) | 一种视频分析方法、装置、设备及介质 | |
CN104967914A (zh) | 一种即时视频的编码方法和电子设备 | |
CN105791979A (zh) | 视频文件处理方法及显示装置 | |
CN109120995A (zh) | 一种视频缓存分析方法、装置、设备及介质 | |
CN102546803A (zh) | 基于能力集的远端桌面通信方法 | |
WO2016202285A1 (zh) | 一种即时视频的传输方法和电子设备 | |
CN107846605A (zh) | 主播端流媒体数据生成系统及方法、网络直播系统及方法 | |
CN106534889B (zh) | 一种基于环形缓冲的实时流媒体多路转发方法 | |
CN103347165A (zh) | 一种视频数据处理方法及终端 | |
CN204598182U (zh) | 自适用图像采集传输显示装置 | |
CN107666610A (zh) | 桌面视频内容分析方法 | |
CN103634603A (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 | ||
CB02 | Change of applicant information |
Address after: 200433 room 323, No. 1201-1, National Road, Shanghai, Yangpu District Applicant after: Shanghai Fu Network Inc Address before: 200433 room 323, No. 1201-1, National Road, Shanghai, Yangpu District Applicant before: SHANGHAI YOVOLE COMPUTER NETWORK CO., LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |