Bitmap Remoting (位圖遠(yuǎn)程控制)

Citrix Bitmap remoting 是基于JPG 壓縮和RLE(Rung Length Encoding)技術(shù),該技術(shù)(這里指RLE)是Citrix特別發(fā)明的。你可以查詢這個(gè)網(wǎng)站(https://www.citrix.com/blogs/2016/09/28/lossless-compression-lowering-the-cost-of-pixel-perfection/)獲得更多的關(guān)于RLE的細(xì)節(jié)。位圖遠(yuǎn)程(Bitmap Remoting),也叫做“Thinwire”是一種針對(duì)靜態(tài)內(nèi)容“Static Content”可以高效利用帶寬的遠(yuǎn)程控制協(xié)議。另外,其視覺(jué)質(zhì)量“Visual Quality”非常接近原有圖像,我們甚至可以通過(guò)無(wú)損“l(fā)ossless”策略提升圖像質(zhì)量獲得更加完美的質(zhì)量“Pixel perfect”,用于某些必須的行業(yè),例如醫(yī)院影像處理。

所以,這對(duì)于Office相關(guān)的VDI或者XenApp使用場(chǎng)景是一個(gè)不錯(cuò)的選擇。

[譯者]:Citrix最早發(fā)明了遠(yuǎn)程桌面協(xié)議RDP并賣(mài)給了微軟,其廣泛用于Windows遠(yuǎn)程桌面連接,類似于Bitmap Remoting,但由于主要是針對(duì)文本等靜態(tài)內(nèi)容的會(huì)話交付,其無(wú)法適用于當(dāng)前視頻為王的新一代云桌面場(chǎng)景,包括3D CAD/CAE,云游戲。CStack xView產(chǎn)品也支持類似Bitmap的無(wú)損壓縮技術(shù),并可以進(jìn)行智能動(dòng)態(tài)切換。

為什么?

在大部分的時(shí)間里,用于Office或者ERP應(yīng)用的用戶并沒(méi)有看到太多的屏幕變化,因此位圖(bitmap)遠(yuǎn)程協(xié)議非常高效。但是這里有更多的細(xì)節(jié)需要考慮:

圖像質(zhì)量(Image Quality)

我們不打算僅僅用肉眼來(lái)區(qū)分不同的圖片以便發(fā)現(xiàn)其圖像質(zhì)量與原有圖片有多接近。因此我們將使用更加客觀的方法用來(lái)進(jìn)行測(cè)量:
結(jié)構(gòu)化相近指數(shù)(Structural Similarity Index: SSIM)是一個(gè)用于量化由于數(shù)據(jù)壓縮或者傳輸丟失所造成的的圖像質(zhì)量退化的指標(biāo)。它是一個(gè)由兩張相同圖片不同來(lái)源:一個(gè)是參考圖像,一個(gè)是處理過(guò)的圖像所構(gòu)成的全參考指標(biāo)。

Reference Image (參考圖像)

捕獲的圖片(VDI Session)

終端(Endpoint)

大部分的客戶會(huì)為他們的用戶采用瘦終端(ThinClient)而不是胖終端(FatClient)。這些瘦終端很多都已經(jīng)很舊了,甚至一些還不支持硬件解碼(hardware decoding)(我們后面會(huì)討論這些)。位圖遠(yuǎn)程控制(Bitmap Remoting)不需要特別的終端硬件配置,同時(shí)對(duì)資源消耗非常低,所以基本上可以用于全部的瘦終端上。

[譯者]:CStack xView CSDP(CStack Desktop Protocol)中的無(wú)損壓縮技術(shù)同樣支持廣泛的CStack已有或者在研終端類型,包括軟終端,ARM A2000,A3000,X86 X1000等,最大限度的保護(hù)了用戶現(xiàn)有投資。

使用CPU資源編碼(Encoding CPU Load)

如前面所描述的終端情況,只需要適當(dāng)?shù)腃PU資源就可以進(jìn)行位圖(Bitmap)壓縮。但是它不能實(shí)現(xiàn)將編碼(encoding)工作卸載到GPU上(NVENC:這里指的是NVIDIA Encoding)

Citrix 策略設(shè)置

我建議下列策略設(shè)置從而強(qiáng)行啟用Bitmap Remoting:

Optimize for 3D graphics workload ->Disabled

這個(gè)策略在這里其實(shí)是不相關(guān)的,所以可以被禁用

Use video codec for compression ->Do not use video codec

為了強(qiáng)制使用位圖(Bitmap Remoting),所以我們需要禁用視頻編解碼(Video Codec)

Visual Quality ->High

這個(gè)策略的配置需要根據(jù)你對(duì)圖像質(zhì)量的要求來(lái)定。高“High”是個(gè)好的選擇,并且你可以選擇“嘗試無(wú)損”或者“總是無(wú)損” 用于我們前面提到過(guò)的需要完美圖像質(zhì)量的使用場(chǎng)景。

[譯者]:CStack xView從兩個(gè)維度提供了有關(guān)協(xié)議方面的控制:管理平臺(tái)可以集中配置協(xié)議參數(shù),并下發(fā)到各個(gè)終端上;終端側(cè)可以獨(dú)立配置協(xié)議控制,如果和管理平臺(tái)配置參數(shù)沖突,那么優(yōu)先選擇本地,同時(shí)我們可以做到更為細(xì)顆粒的協(xié)議參數(shù)控制(請(qǐng)參考下圖)。目前計(jì)劃引入網(wǎng)絡(luò)質(zhì)量實(shí)時(shí)監(jiān)測(cè)功能實(shí)現(xiàn)智能化、動(dòng)態(tài)化的協(xié)議適配,簡(jiǎn)化用戶配置。

管理平臺(tái)中的協(xié)議配置

Android A2000 協(xié)議配置

視頻編解碼(Video Codecs)

Citrix目前支持H.264和H.265編解碼。另外,這里有不同的H.264類型:YUV420和YUV444. 目前我們(Citrix)僅支持H.265 YUV420類型。這兩之間更多的對(duì)比和差異會(huì)在后續(xù)的博客文章中進(jìn)行講解。這里我先聚焦在什么時(shí)候需要選擇視頻編解碼(Video Codec)和…

[譯者]:CStack xView是國(guó)內(nèi)第一家也是目前唯一一家支持云桌面H.265編碼傳輸?shù)脑谱烂娈a(chǎn)品。

…為什么?

如我們前面所看到的,位圖(Bitmap Remoting)對(duì)于靜態(tài)圖像支持的非常好,但是當(dāng)涉及到移動(dòng)圖像和視頻播放時(shí),情況則有所不同了。當(dāng)幀率越高(30fps,60fps),就有越多的圖像需要被位圖遠(yuǎn)程控制(Bitmap Remoting)所傳輸,這將嚴(yán)重影響帶寬需求和總體的使用體驗(yàn)。所以,這種情況下視頻編解碼正好有所作用。

[譯者]:所以微軟后期對(duì)于RDP的發(fā)展也停滯不前了,推出了RemoteFX以便適應(yīng)高幀率的視頻等場(chǎng)景。國(guó)內(nèi)一些低端廠商通過(guò)包裝RDP實(shí)現(xiàn)所謂自研的云桌面產(chǎn)品,其技術(shù)能力和產(chǎn)品支持可想而知。

帶寬

視頻編解碼(H.264,H.265)進(jìn)行圖像編碼時(shí),對(duì)于色彩信息(相對(duì)于亮度信息)會(huì)采用相對(duì)更低的分辨率,這是因?yàn)槿祟愐曈X(jué)系統(tǒng)對(duì)于色彩的敏銳度相對(duì)于亮度較低。這種技術(shù)使得可以在低帶寬需求下進(jìn)行視頻播放或者3D建模,甚至是高幀率的使用場(chǎng)景。也使得用戶可以在家或者遠(yuǎn)程帶寬較低的WAN情況下進(jìn)行辦公和使用。

[譯者]:根據(jù)CStack和某省電信公司天翼云合作開(kāi)展的云桌面帶寬對(duì)比測(cè)試結(jié)果可以看出,廣域網(wǎng)環(huán)境下采用H.265在不降低甚至提升用戶使用體驗(yàn)的同時(shí),可以有效地降低帶寬使用量,大約節(jié)省40%的帶寬。請(qǐng)?jiān)斠?jiàn)CStack文章。。。。?!舵溄印?/p>

圖像質(zhì)量(Image Quality)

視頻編解碼中YUV420(Citrix 缺省)由于采用了色彩二次采用效應(yīng)“chroma subsampling effect”導(dǎo)致了圖像模糊,尤其是在一些特殊布局的文本顯示下。這種情況對(duì)于對(duì)象移動(dòng)的視頻播放來(lái)說(shuō)不是問(wèn)題,但是會(huì)對(duì)于Office應(yīng)用的使用帶來(lái)不便。我們會(huì)利用之前位圖遠(yuǎn)程協(xié)議中所采用的相同參考圖像和SSIM測(cè)量方法向你展示這種行為:

參考圖片(Reference Image)

捕獲的圖片 H.264 YUV420

SSIM heatmap result H.264 YUV420

通過(guò)對(duì)比參考圖片和捕獲的圖片,你應(yīng)該通過(guò)肉眼已經(jīng)看出了巨大的區(qū)別了。另外,在SSIM熱圖中先了83%的準(zhǔn)確率。你現(xiàn)在應(yīng)該能夠更好地理解了,為什么用戶會(huì)在YUV420的情況抱怨了。

[譯者]:對(duì)于顏色非常敏感的設(shè)計(jì)師來(lái)說(shuō),剛開(kāi)始使用云桌面時(shí)候一定會(huì)有所抱怨的,包括Citrix一流云桌面廠家同樣會(huì)遇到此類問(wèn)題,通過(guò)選擇靜態(tài)無(wú)損壓縮或者YUV444可以解決此問(wèn)題,但是同樣會(huì)帶來(lái)一定的負(fù)面影響,包括帶寬消耗,延時(shí)增加,瘦終端適配等。所以,我們?cè)趯?shí)施此類項(xiàng)目時(shí),一定需要先清楚地了解客戶真實(shí)需求和原有環(huán)境配置,然后適當(dāng)?shù)倪M(jìn)行調(diào)整。坦白地講,并不是所有的設(shè)計(jì)場(chǎng)景都適合云桌面。CStack能夠從創(chuàng)立之初就挑戰(zhàn)設(shè)計(jì)類場(chǎng)景,也是基于多年來(lái)的技術(shù)積累和前瞻性投入。

延時(shí)(Latency)

一旦我們利用了諸如H.264編解碼技術(shù)我們就需要在服務(wù)器端對(duì)捕獲的圖像進(jìn)行編碼,然后在終端上進(jìn)行解碼。這是一個(gè)非常耗時(shí)耗力的任務(wù),如果不能使用硬件編碼方式,那么H.264需要1個(gè)vCPU。好的情況是,Citrix利用Tesla GPU支持硬件編碼方式,這樣就可以將這些任務(wù)卸載到專用的GPU上的ASIC芯片上去完成。相對(duì)于基于CPU的編碼方式,硬件編碼總是要快的,并且可以很好的降低編碼延時(shí)。舉例來(lái)說(shuō),你可以認(rèn)為GPU編碼只需要4ms,而CPU編碼則需要約30ms。

[譯者]:國(guó)內(nèi)大部分通過(guò)在Guest OS(虛擬機(jī))里面安裝agent進(jìn)行云桌面交付的產(chǎn)品,由于能力有限無(wú)法利用硬件加速技術(shù),使得其無(wú)法高效地支持高端云桌面場(chǎng)景,包括多路2K/4K超高清視頻播放,云游戲,3D渲染等,某些廠家通過(guò)視頻重定向技術(shù)將視頻重定向到瘦終端上進(jìn)行解碼和playback,這樣將帶來(lái)視頻文件格式兼容性,播放器兼容性,播放路數(shù)受限,終端要求等多種問(wèn)題。CStack xView產(chǎn)品通過(guò)硬件加速技術(shù),無(wú)需消耗云桌面vCPU資源,極大的提升了單機(jī)并發(fā)量和用戶使用體驗(yàn)。

終端(Endpoint)

我們的終端需要具備解碼的能力。所以,它需要是一個(gè)硬件的解碼器或者裝備有性能足夠的CPU用于對(duì)視頻流進(jìn)行解碼。同樣延時(shí)也需要同樣的硬件特性。硬件解碼是優(yōu)先選擇的,因?yàn)樗軌蚪档涂傮w的延時(shí)。所以,如果我們用一個(gè)過(guò)時(shí)的瘦終端,它很可能會(huì)無(wú)法進(jìn)行解碼,最終導(dǎo)致用戶使用體驗(yàn)的降級(jí)。

[譯者]:CStack提供多種類型的終端,包括軟終端,ARM終端和X86終端,可以最大限度地利用終端的有限資源進(jìn)行視頻解碼

使用CPU資源編碼(Encoding CPU Load)

Citrix 支持在硬件上使用NVENC(NVIDIA Encoding)進(jìn)行編碼。通過(guò)將任務(wù)卸載到GPU上,從而能夠獲得更多的好處,例如更低的CPU資源消耗,甚至為位圖協(xié)議還要低

Citrix 策略設(shè)置

你應(yīng)該按照以下內(nèi)容進(jìn)行策略設(shè)置

Optimize for 3D graphics workload ->Enabled

啟用這個(gè)策略以便使用NVFBC(NVIDIA Direct FB Access)和NVENC(NVDIA Encoding)

Use video codec for compression ->For the entire screen

對(duì)于較老的XenDesktop版本(7.12 ~ 7.16),需要啟用“全屏幕策略”以便使用NVENC功能

Visual Quality ->High

雖然這個(gè)選項(xiàng)無(wú)法避免色彩二次采用效應(yīng),但是設(shè)置為“高”依舊可以在很多場(chǎng)景下帶來(lái)較高的圖像質(zhì)量。另外,因?yàn)椤爸械取焙汀案摺睂?duì)于帶寬的消耗并沒(méi)有太多差異,所以我建議設(shè)置為“高”作為一個(gè)好的開(kāi)始

Use hardware encoding ? Enabled (這是Citrix默認(rèn)的配置,所以我沒(méi)有為它單獨(dú)創(chuàng)建一個(gè)截圖)

[譯者]:只要購(gòu)買(mǎi)我們的一體機(jī),或者軟件+CSDP硬件加速套裝,那么CStack xView對(duì)于硬件加速技術(shù)缺省就是啟用的,無(wú)需用戶進(jìn)行配置和調(diào)整,也不存在版本兼容性問(wèn)題。目前我們?cè)谠黾痈油晟频闹悄軇?dòng)態(tài)檢測(cè)技術(shù),針對(duì)屏幕熱點(diǎn)圖像的特性進(jìn)行智能化地動(dòng)態(tài)協(xié)議調(diào)整,以便應(yīng)對(duì)不同的應(yīng)用軟件,諸如Office,視頻播放,云游戲和3D設(shè)計(jì)等。

使用場(chǎng)景(Use Case)

同時(shí),僅僅使用“H.264 YUV420 only”的場(chǎng)景在減少,這里有幾個(gè)原因,最主要的是由于“色彩二次采用效應(yīng)”以及有其他替代方案。從Citrix 7.17及以后版本,我們支持混合編碼 “mixed codecs” (Bitmap和Video),這種技術(shù)可以將H.264全屏幕方式編碼縮小到“3D VDI使用模式”,后者對(duì)于色彩的高準(zhǔn)確度并不是必須的。我會(huì)在另外一篇博客文章中詳細(xì)講解混合編碼模式“mixed codecs”

如果你想了解如何選擇正確的VDI協(xié)議,可以觀看我們?cè)贕TC大會(huì)上的視頻錄像。

關(guān)于作者

Simon Schaber: NVIDIA GRID 解決方案架構(gòu)師

譯文出處

[1 of 6] Comparison between Bitmap and Video Codec (Citrix)

上海酷??萍加邢薰?簡(jiǎn)稱:“CStack”)是一家提供行業(yè)領(lǐng)先的云桌面產(chǎn)品及解決方案的高科技公司,其前身是上海思華科技股份有限公司云計(jì)算事業(yè)部,自2012年從事云計(jì)算及云桌面技術(shù)研究和標(biāo)準(zhǔn)化產(chǎn)品交付以來(lái),已完成眾多云桌面項(xiàng)目集成與實(shí)施。其產(chǎn)品和解決方案已廣泛應(yīng)用于運(yùn)營(yíng)商、公安、制造、教育、金融、醫(yī)療、保險(xiǎn)等多個(gè)行業(yè)及領(lǐng)域。

公司愿景:成為全球領(lǐng)先的云桌面提供商

公司使命:以安全、極簡(jiǎn)的云桌面,實(shí)現(xiàn)人、設(shè)備和數(shù)據(jù)的智慧互聯(lián)

分享到

songjy

相關(guān)推薦