前言:
通过本系列译文希望能够对读者带来一定云桌面相关的科普知识,能够一定程度上了解云桌面背后的知识体系和国外一流厂商的技术与产品发展方向。同时由于中英文文化差异,翻译不当之处在所难免,请多谅解!
上海酷栈科技有限公司(简称“CStack”或“酷栈科技”),作为一家专注于高性能、智能化云桌面产品及解决方案提供商,从产品孵化阶段就不断学习和总结国外一流厂商优秀的产品设计理念和演进之路,而思杰(Citrix)是所有国内云桌面厂商必将面对的竞争对手,我们认为只有更好地了解对手,学习对手,做到知己知彼,方可百战不殆。通过本系列译文,您可以看到一流厂商优秀的技术点都已经在CStack xView产品中有所体现并超越。随着光纤网络和5G的普及,视频、3D和云游戏成为互联网流量消费大户,所以CStack成立之初就将其云桌面产品xView定位于中高端市场,可以很好地适用于2D/3D设计、视频播放、视频监控、云游戏和Win10等新兴云桌面使用场景,在技术路线上坚定不移地选择视频编解码技术(Video Codecs)作为核心桌面协议技术栈,引入H.264和H.265编码技术并配合专业GPU显卡加速桌面会话(session),提升用户使用体验;同时广泛支持多种GPU虚拟化和直通技术,提升产品核心竞争力;在产品不断落地商用和打磨的同时,近期我们又增加了智能混合编码技术,用于应对普通办公场景下的Office,OA,ERP等静态内容以及对于图像和画面有着极高要求的一些特殊使用场景。后续,我们会继续以匠心精神将CStack xView云桌面产品进行不断技术优化和产品升级,为用户提供焕然一新的云桌面使用体验!
“无损构建(Build-To-Lossless)”的优势
“无损构建”功能可在较低的带宽消耗和完美的像素质量情况下保证更好的交互性。 从Citrix 7.18开始,当用户将视觉质量策略设置为“无损构建”时,在用户进行交互体验后开始使用H.264或H.265而不是JPEG,因为后者构成了大量的响应。这之后会对屏幕进行更小的更新,从而“锐化”桌面图像。
使用案例
该特性在可用带宽受限的情况下提供了优秀的图像质量。当用户工作在过渡性的内容时,它可以得到最好的利用。正如我们在本博客系列的前几部分中所看到的,选择YUV420可能会导致文本以及内容带有细线的失真。选择YUV444可以显著提高图像质量,但代价是占用更多的带宽。然而,通过启用“无损构建”,用户可以在较低的带宽消耗下获得更好的图像质量。
它是如何工作的
我们可以通过在studio中设置以下策略来启用该功能:
·Optimize for 3D graphics workload ->Enabled
启用该策略能够使用NVFBC (NVIDIA直接FB访问)和NVENC (NVIDIA编码)。
·Use video codec for compression -> For the entire screen
·Visual Quality ->Build to Lossless
·Use hardware encoding ->Enabled
在用户会话期间,例如3D模型,视频或用户滚动电子表格这样简单的内容,最初以低质量显示以提高整体交互性。 一旦用户的输入停止,屏幕就会被更新成更小的瞬时图像,从而使图像锐化到无损的程度。
【译者】简单来说就是牺牲掉用户操作过程中的图像质量换来较好的交互体验,但是最后静止的一帧画面(The Last Frame)采用无损压缩,满足用户的视觉效果。Citrix的确是我们学习的友商,基本上将大部分的用户体验场景都考虑到了,在性能和代价上进行权衡。CStack从全屏内容编码,到动态内容探测,无损压缩,近期我们会进一步对CSDP协议进行优化,满足更多广域网场景下的使用案例。
图像质量(Image Quality)
我们开始测量由无损构建特性提供的图像质量。和之前一样,我们通过结构化相近指数SSIM来对比终端接收的图片与VDI桌面显示图像的色彩准确度。让我们来看看参考图像与设置了“无损构建”后的视觉效果对比。
从heatmap和SSIM数值可以看出,客户端上的图像与在VDI桌面渲染的图像是99.99%相同的。
如果我们比较H.264 YUV4:2:0、H.264 YUV 4:4:4和基于无损构建的H.264 YUV4:2:0的SSIM热图,将视觉质量设置为无损构建能给我们提供最好的图像质量。
我们还可以结合H.265编解码器将视觉质量设置为“无损构建”。为了启用H.265视频编解码器,需要设置额外的策略。有关H.265的详细信息,请参阅本系列博客的第3部分。与H.264类似,下面的heatmap图像和SSIM索引比较证明了从无损构建提供近乎完美的图像质量,而不管选择何种视频编解码器。
根据观察到的数据,我们可以得出这样的结论:在静态图像的情况下,“无损构建”特性确实使我们获得了接近无损的图像质量。
【译者】通过上面的对比可以看出同样采用YUV420,启用了“Build-To-Lossles”能够大幅提升静态图像的质量,这里需要强调的是静态图像,如果你仔细观察过程图像或者画面,依旧会看出差异。根据CStack众多项目经验来看,Citrix这个特性在很多2D、3D设计场景下并不是很适合,绝大多数的设计师不仅关心最后的画面,同样对于过程画面很在意,会影响使用者的心情,例如我们在一个船舶设计单位的项目,采用了两种方案:一种是按照质量去编码,整个使用过程都非常清晰,尤其是大量线条构成的设计物体进行旋转时候;另外一种是按照码率动态编码,虽然最后的画面也非常清晰,但是物体旋转过程中会产生画面质量有损,导致设计师的反感。反观普通办公场景,过程画面非常短,例如编辑excel,word翻页等等,用户视觉差异不明显,但是对延时非常敏感,这种情况下保证最后一帧的高质量输出,基本能够满足绝大部分的用户体验。
带宽消耗(Bandwidth consumption)
让我们转向另一个极端,在窗口模式下使用720p视频回放进行评估。这将告诉我们带宽消耗的影响。
CODEC | Visual Quality | Encoder CPU | Total FPS | MB transferred |
Bitmap JPG/RLE | Medium | 7% | 3693 | 355MB |
H.264 YUV420 | Medium | 2% | 3736 | 220MB |
H.264 YUV444 | Medium | 3% | 3728 | 655MB |
H.264 | Build To Lossless | 5% | 3642 | 195MB |
Bitmap JPG/RLE | High | 8% | 3633 | 610MB |
H.264 YUV420 | High | 2% | 3719 | 210MB |
H.264 YUV444 | High | 4% | 3716 | 690MB |
表1:位图编解码、H.264视频编解码和基于无损构建的H.264视频编解码的带宽比较
如上表所示,我们使用位图编解码产生的带宽消耗作为基线。使用基于无损构建的H.264视频编解码方式比位图编解码节省了大约45%的带宽。与H.264 YUV 4:2:0相比,将视觉质量设置为中等,带宽消耗略有降低,约为11%。最大的区别是使用H.264 YUV 444作为视频编解码。在这种情况下,无损构建在带宽消耗上节省了70%。
现在,考虑一下视觉质量是否设置为“高”而不是“中等”。位图编解码现在使用大约多72%的网络带宽。在这种情况下,无损构建的优势就更大了。H.264 YUV 4:2:0和H.264 YUV 4:4:4节省的带宽与视觉质量设置为“中等”时差不多。
使用基于无损构建的H.264作为视频编解码方式,这使我们能够最有效地利用可用的网络带宽。
CODEC | Visual Quality | Encoder CPU | Total FPS | MB transfered |
Bitmap JPG/RLE | Medium | 7% | 3693 | 355MB |
H.265 YUV420 | Medium | 2% | 3766 | 180MB |
H.265 | Build To Lossless | 5% | 3796 | 175MB |
Bitmap JPG/RLE | High | 8% | 3633 | 610MB |
H.265 YUV420 | High | 3% | 3780 | 185MB |
表2:位图编解码、H.265视频编解码和基于无损构建的H.265视频编解码的带宽比较
与将视觉质量设置为“中等”的位图编解码方式相比,基于无损构建的H.265编解码方式可使带宽消耗大约降低50%。当视觉质量设置为“高”,位图编解码器使用更多的网络带宽。因此,我们可以节省大约71%的带宽消耗。与H.265 YUV 4:2:0相比,无论视觉质量设置如何,带宽消耗都略有降低。
H.265与设置为“无损构建”的视觉质量相结合,为我们提供了网络带宽和图像质量的最佳利用。
虽然“无损构建”为用户提供了更低的带宽消耗和更好的图像质量,但用户可能需要习惯“锐化效果”。 当用户会话闲置并且屏幕上的图像通过临时性的更新达到最佳图像质量时,会发生这种情况。 这是视觉质量,性能和带宽消耗之间最好的折衷方案,最终可以实现最佳的用户体验。
如果你想了解如何选择正确的VDI协议,可以观看我们在GTC大会上的视频录像。请点击此处。
【译者】如我前几篇注释所解释的一样,没有一种方案可以达到完美的地步,如果有VDI厂商承诺可以做到带宽、质量、体验完全满足所有场景,基本上可以Pass掉了。桌面云项目成功的关键因素,除了成熟的产品以外,还需要进行场景化的用户使用习惯和需求分析,找到最合理的解决方案,达到一种平衡。CStack利用成熟稳定的xView高性能云桌面产品,结合多年的视频编码技术和桌面云项目经验,帮助用户合理地实现“最后一公里云化”。
关于作者
Simon Schaber: NVIDIA GRID 解决方案架构师
译文出处
推荐阅读
▶《VDI相关英文技术干货翻译系列之一》
▶《VDI相关英文技术干货翻译系列之二》
▶《VDI相关英文技术干货翻译系列之三》
CStack基于zstack的云桌面解决方案通过阿里云联合解决方案认证
上海酷栈科技有限公司(简称:“CStack”)是一家提供行业领先的云桌面产品及解决方案的高科技公司,其前身是上海思华科技股份有限公司云计算事业部,自2012年从事云计算及云桌面技术研究和标准化产品交付以来,已完成众多云桌面项目集成与实施。其产品和解决方案已广泛应用于运营商、公安、制造、教育、金融、医疗、保险等多个行业及领域。
公司愿景:成为全球领先的云桌面提供商
公司使命:以安全、极简的云桌面,实现人、设备和数据的智慧互联