亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

視頻壓縮系統(tǒng)的制作方法

文檔序號(hào):6412688閱讀:224來源:國知局
專利名稱:視頻壓縮系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理,更具體來說,涉及計(jì)算機(jī)視頻壓縮。
背景技術(shù)
現(xiàn)有的視頻壓縮系統(tǒng)可壓縮視頻數(shù)據(jù)流,因此它耗用較少帶寬通過通信信道進(jìn)行發(fā)送。這些系統(tǒng)利用預(yù)計(jì)在它們打算壓縮的視頻中出現(xiàn)的冗余度。例如,JPEG和MPEG利用攝像圖像的相鄰像素的色彩中常見的相似性。另外,MPEG利用以下事實(shí)運(yùn)動(dòng)圖像中往往有許多像素在視頻的許多幀中保持相同色彩,或者僅隨著攝像機(jī)移動(dòng)而在屏幕上移動(dòng)其位置。
根據(jù)視頻質(zhì)量下降(或“視頻損失”)多少是觀看視頻的人(或“用戶”)可接受的,還可進(jìn)一步壓縮視頻,但不同類型的視頻損失的可接受性在很大程度上取決于用戶的活動(dòng)(或“應(yīng)用”)。四種視頻損失為(1)分辨率損失(看起來模糊),(2)色深度損失(具有更少色調(diào)),(3)幀速率損失(運(yùn)動(dòng)圖像的失速或振動(dòng)),以及(4)時(shí)間損失或“視頻延遲”(從視頻捕捉到其可供觀看的時(shí)間延遲)。
為了實(shí)現(xiàn)更高的壓縮率,不同的壓縮系統(tǒng)利用它們要滿足的用戶最能接受的視頻損失的類型。例如,采用MPEG,為通信信道產(chǎn)生過多數(shù)據(jù)的快速動(dòng)作畫面利用分辨率損失來發(fā)送,因?yàn)橛捌^眾接受分辨率損失超過他們接受幀速率損失或色深度損失。
視頻延遲在某些應(yīng)用中不是一個(gè)問題,但在另外一些應(yīng)用中卻是嚴(yán)重問題。不同的壓縮系統(tǒng)在它們壓縮視頻時(shí)加入不同的延遲量。加入更多延遲的系統(tǒng)得到更高的壓縮率,因?yàn)樗性谘舆t期間被捕捉、保存及檢驗(yàn)的視頻幀提供決定如何對(duì)它們進(jìn)行壓縮的更好的可能性。一個(gè)實(shí)例可能是“攝像機(jī)正在移動(dòng)還是只有畫面中的一個(gè)對(duì)象正在移動(dòng)”。
視頻延遲對(duì)于例如觀看影片的“單向”用戶活動(dòng)不是一個(gè)問題;因此,用于這些應(yīng)用的壓縮系統(tǒng)(例如MPEG)在壓縮視頻并開始將它通過通信信道發(fā)送之前加入長延遲(多秒或更長)。實(shí)際上,當(dāng)通信信道是具有不確定帶寬可用性的網(wǎng)絡(luò)(如因特網(wǎng))時(shí),從該網(wǎng)絡(luò)接收的視頻在被顯示之前往往被緩沖并且另外延遲多秒(以便消除網(wǎng)絡(luò)擁塞導(dǎo)致的失速)。雖然時(shí)間延遲對(duì)于例如觀看影片的單向用戶活動(dòng)不是一個(gè)問題,但對(duì)于實(shí)時(shí)“交互”用戶、例如通過鼠標(biāo)控制作為壓縮視頻圖像的一部分的光標(biāo)的用戶卻是一個(gè)嚴(yán)重問題。
實(shí)時(shí)交互用戶的這樣一種實(shí)例涉及通過通信信道的計(jì)算機(jī)KVM控制臺(tái)(鍵盤、視頻顯示器和鼠標(biāo))的遠(yuǎn)程控制。在這些“遠(yuǎn)程控制臺(tái)”應(yīng)用中,鍵盤和鼠標(biāo)數(shù)據(jù)通過通信信道從遠(yuǎn)程控制臺(tái)發(fā)送,并“交換”到許多“目標(biāo)”服務(wù)器計(jì)算機(jī)其中之一,就好象鍵盤和鼠標(biāo)直接連接到那個(gè)目標(biāo)服務(wù)器上一樣。相應(yīng)的視頻從目標(biāo)服務(wù)器發(fā)送到遠(yuǎn)程控制臺(tái),就好象目標(biāo)服務(wù)器直接連接到遠(yuǎn)程控制臺(tái)的視頻顯示器一樣。在授予Beasley等人的共同所有美國專利第5721842以及授予Perholtz等人的第5732212號(hào)中描述了KVM系統(tǒng)的實(shí)例,它們中每一個(gè)通過引用結(jié)合到本文中。
一些KVM系統(tǒng)的通信信道提供足夠的帶寬來傳送未壓縮視頻,因?yàn)樗鼈兪褂脤S帽镜仉娎|和專用電路交換。與基于專用本地電纜的KVM系統(tǒng)相比,適合在網(wǎng)絡(luò)上經(jīng)由例如因特網(wǎng)協(xié)議進(jìn)行工作的KVM系統(tǒng)(為簡潔起見,本文中稱作“KVM/IP”系統(tǒng))提供有限的不確定帶寬可用性。從遠(yuǎn)程控制臺(tái)向所選目標(biāo)服務(wù)器及時(shí)地發(fā)送鍵盤和鼠標(biāo)信息是KVM/IP系統(tǒng)所關(guān)心的一個(gè)方面。更關(guān)心的方面是把較大量的視頻數(shù)據(jù)及時(shí)地送回遠(yuǎn)程控制臺(tái)。由于當(dāng)今典型的計(jì)算機(jī)以每秒2千兆比特以上的速率連續(xù)輸出視頻,并且遠(yuǎn)程因特網(wǎng)連接(例如DSL)通常以每秒1兆比特進(jìn)行工作,因此要求平均完全超過2000比1的視頻壓縮比。利用撥號(hào)調(diào)制解調(diào)器以每秒50千比特進(jìn)行工作的遠(yuǎn)程因特網(wǎng)連接要求更高的平均壓縮比。
當(dāng)遠(yuǎn)程控制臺(tái)用戶移動(dòng)其鼠標(biāo)或者在其鍵盤上打字以便向服務(wù)器輸入新信息時(shí),那些動(dòng)作必須被傳遞到服務(wù)器,并且由服務(wù)器按照它們采取行動(dòng),以便創(chuàng)建新的視頻圖像,這些新的視頻圖像被送回到遠(yuǎn)程控制臺(tái)用戶的屏幕。向遠(yuǎn)程控制臺(tái)用戶回送視頻的延遲是令人煩惱的,因?yàn)樗鼈冊(cè)阪I盤或鼠標(biāo)信息由用戶輸入與用戶在其屏幕上感受到的視頻響應(yīng)之間建立暫時(shí)的延遲。伴隨鍵盤活動(dòng)的延遲比伴隨鼠標(biāo)移動(dòng)的延遲較少令人煩惱,因此術(shù)語“鼠標(biāo)-光標(biāo)響應(yīng)”用來描述這個(gè)問題。
遠(yuǎn)程控制臺(tái)應(yīng)用的這個(gè)問題(以上所述)不適用于某些類型的典型網(wǎng)絡(luò)瀏覽器應(yīng)用。對(duì)于網(wǎng)絡(luò)瀏覽器應(yīng)用,視頻光標(biāo)圖像在用戶的計(jì)算機(jī)上本機(jī)創(chuàng)建,因此鼠標(biāo)-光標(biāo)響應(yīng)始終很好,即使網(wǎng)絡(luò)在響應(yīng)服務(wù)器產(chǎn)生的視頻圖像方面很慢。對(duì)于遠(yuǎn)程控制臺(tái)應(yīng)用,網(wǎng)絡(luò)延遲影響鼠標(biāo)-光標(biāo)響應(yīng),因?yàn)楣鈽?biāo)被表示為來自服務(wù)器的視頻圖像的組成部分,并通過網(wǎng)絡(luò)被發(fā)送到遠(yuǎn)程控制臺(tái)。
在遠(yuǎn)程控制臺(tái)應(yīng)用中,對(duì)于四種視頻損失的用戶可接受性與其它視頻應(yīng)用完全相反。如上所述,最小視頻時(shí)間延遲是遠(yuǎn)程控制臺(tái)應(yīng)用中的一個(gè)因素,但視頻延遲在其它應(yīng)用中是不太重要的一種視頻損失。遠(yuǎn)程控制臺(tái)應(yīng)用中的分辨率損失的重要性也與其它應(yīng)用相反,因?yàn)榘l(fā)送到遠(yuǎn)程控制臺(tái)的計(jì)算機(jī)屏幕通常包括大量較小字體的字母數(shù)字文本、許多小圖標(biāo)以及許多高對(duì)比度清晰邊緣。加入分辨率損失的壓縮系統(tǒng)、如JPEG或MPEG對(duì)于其它許多應(yīng)用可能是符合要求的,但它們對(duì)于讀取小字體字母數(shù)字文本以及具有高對(duì)比度清楚邊緣的圖像是不合要求的。用戶可接受性的相反順序還適用于色深度損失和幀速率損失。這兩種視頻損失是遠(yuǎn)程控制臺(tái)應(yīng)用中的用戶最可接受的以及是其它視頻應(yīng)用中最難接受的。
雖然現(xiàn)有的視頻壓縮系統(tǒng)被廣泛應(yīng)用以及極適合于各種各樣的應(yīng)用,但需要為最佳可能的交互計(jì)算機(jī)用戶體驗(yàn)進(jìn)行了優(yōu)化的視頻壓縮系統(tǒng)。
發(fā)明概述本發(fā)明是一種新的視頻壓縮系統(tǒng),它被優(yōu)化成利用通常出現(xiàn)在計(jì)算機(jī)屏幕上的冗余,并且還被優(yōu)化成利用實(shí)時(shí)交互計(jì)算機(jī)用戶可接受的視頻損失類型。在本發(fā)明的一個(gè)實(shí)施例中,所捕捉的計(jì)算機(jī)視頻幀被“編碼”為五個(gè)不同的、唯一選取的“命令”的組合,這些命令是根據(jù)它們最有效地壓縮所捕捉視頻的能力來選擇和排序的。這些命令通過網(wǎng)絡(luò)發(fā)送到“客戶機(jī)”,在其中它們連續(xù)指示(或命令)“解碼器”關(guān)于如何對(duì)命令解壓縮或解碼,并且在遠(yuǎn)程視頻顯示器上重建所捕捉的視頻幀。以獨(dú)特的方式,本實(shí)施例可對(duì)計(jì)算機(jī)視頻進(jìn)行壓縮和解壓縮而沒有分辨率損失或色深度損失,但具有根據(jù)可用網(wǎng)絡(luò)帶寬動(dòng)態(tài)調(diào)整的幀速率損失。它還在編碼和解碼過程中加入最小延遲。
五個(gè)命令為(1)從較早的幀復(fù)制舊像素(有時(shí)稱作“較早的幀無變化”、“無變化”或者簡稱“NC”),(2)從左側(cè)復(fù)制像素,(3)從上方復(fù)制像素,(4)利用2-色集制作一系列像素,以及(5)利用指定色制作一個(gè)或多個(gè)像素。各個(gè)命令在用于分級(jí)結(jié)構(gòu)時(shí)提供獨(dú)特的效率。另外,這些命令包含在由8位或更多位的固定長度的數(shù)據(jù)包所組成的內(nèi)容中,使得它們可采用軟件或硬件來方便地發(fā)送、接收和解碼。本發(fā)明不限于任何命令或數(shù)據(jù)包長度,但是優(yōu)選實(shí)施例通常采用的長度是8位的倍數(shù)(例如16、32或64),使得它們與普遍使用且一般可獲得的元件和處理器兼容。
在本發(fā)明的更廣義實(shí)施例中,單獨(dú)地或以任何組合形式來使用上述一種、兩種、三種或四種命令。例如,本發(fā)明人認(rèn)為,單獨(dú)從2-色集制作一系列像素的命令的使用在壓縮包含大量字母數(shù)字文本的視頻(例如通過字處理程序查看這個(gè)文檔)時(shí)是獨(dú)特的。當(dāng)其它命令以各種組合被添加到其中時(shí),得到其它優(yōu)點(diǎn)和效率。在其它實(shí)施例中,一個(gè)、兩個(gè)、三個(gè)、四個(gè)或所有五個(gè)命令與任何種類的先有技術(shù)壓縮系統(tǒng)結(jié)合使用以增強(qiáng)已知系統(tǒng)的視頻壓縮。例如,MPEG、JPEG及其它技術(shù)(及其所有變體(例如MPEG2等))可與本文所述的五個(gè)命令中的一個(gè)或多個(gè)配合使用以增強(qiáng)先有壓縮技術(shù)的視頻壓縮。
在稱作“灰度優(yōu)先”色彩模式的本發(fā)明的其它實(shí)施例中,通過利用比起其它任何類型的視頻損失、遠(yuǎn)程控制臺(tái)用戶更能接受色深度損失的事實(shí),可進(jìn)一步壓縮所捕捉的視頻。在這個(gè)模式中,所捕捉視頻的各像素被轉(zhuǎn)換為一組特別選取的顏色中匹配計(jì)算機(jī)屏幕上所用的典型顏色的最接近顏色。灰色在此組顏色中是優(yōu)先的,因?yàn)樗鼈冊(cè)诘湫陀?jì)算機(jī)屏幕上是優(yōu)先的(白色和黑色包含在“灰度”的定義中)。
本發(fā)明可通過采用硬件、采用軟件或者采用硬件和軟件的組合所實(shí)現(xiàn)的壓縮編碼來體現(xiàn)。同樣,解碼也可采用硬件、采用軟件或者采用其組合來實(shí)現(xiàn)?!霸础币曨l可通過直接連接到計(jì)算機(jī)內(nèi)的視頻控制器芯片來捕捉?;蛘?,視頻可從計(jì)算機(jī)的外部模擬視頻輸出、外部數(shù)字視頻接口(DVI)或者其它外部接口來捕捉。在一個(gè)實(shí)施例中,視頻通過采用FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)的硬件來壓縮。在另一個(gè)實(shí)施例中,視頻在被制成視頻輸出流之前完全采用軟件來壓縮。
視頻壓縮命令通過網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程控制臺(tái),在其中它們被解壓縮并向用戶顯示。遠(yuǎn)程控制臺(tái)可以是傳統(tǒng)PC(個(gè)人計(jì)算機(jī)),它利用PC軟件對(duì)命令解碼,或者它可以是采用低性能微處理器構(gòu)建的小型“瘦客戶機(jī)”裝置。在一個(gè)實(shí)施例中,這些命令全部被設(shè)計(jì)成由一個(gè)或多個(gè)8位數(shù)據(jù)包組成,使得它們可通過在低性能微處理器上運(yùn)行的軟件方便地解壓縮?;蛘?,硬件裝置(例如FPGA或ASIC)可在遠(yuǎn)程控制臺(tái)中對(duì)命令完全解碼。在這種情況下,遠(yuǎn)程控制臺(tái)不要求計(jì)算裝置用于命令解碼,或者不要求視頻控制器芯片用于顯示用戶的視頻。這種低成本硬件(或組合的硬件/軟件)遠(yuǎn)程控制臺(tái)在以下稱作“微客戶機(jī)”。
本發(fā)明還可應(yīng)用于計(jì)算機(jī)“刀片”技術(shù),其中,各個(gè)服務(wù)器計(jì)算機(jī)包含在單卡上,把許多這樣的卡組裝到公共刀片架中,以便共用公共電源和中央控制功能。刀片上基于傳統(tǒng)電纜的KVM交換技術(shù)可為本地電纜連接的用戶提供對(duì)各刀片計(jì)算機(jī)的訪問,但是,如果用戶需要通過網(wǎng)絡(luò)對(duì)刀片的KVM訪問,則本發(fā)明可包含在刀片架中或者在各刀片上,而且視頻壓縮命令可被提供給刀片架中的公共網(wǎng)絡(luò)接口,以便通過網(wǎng)絡(luò)發(fā)送給各種遠(yuǎn)程控制臺(tái)。
因此,本發(fā)明可用于一般壓縮計(jì)算機(jī)視頻,以便通過LAN、WAN、撥號(hào)或者其它任何網(wǎng)絡(luò)發(fā)送計(jì)算機(jī)視頻,用于在瘦客戶機(jī)、微客戶機(jī)中應(yīng)用以及遠(yuǎn)程控制臺(tái)應(yīng)用(例如KVM/IP系統(tǒng))。
附圖簡介本專利申請(qǐng)文件包含至少一個(gè)彩色制圖。配有彩圖的本專利或者專利申請(qǐng)公開的副本將在索取并支付必要費(fèi)用之后由專利局提供。


圖1是在具有采用PC軟件實(shí)現(xiàn)的客戶機(jī)的KVM/IP中的本發(fā)明的一個(gè)示例實(shí)施例的示意表示;圖2是本發(fā)明的一個(gè)示例實(shí)施例的示意表示,說明硬件視頻壓縮器的內(nèi)部操作;圖3-10是在具有8位包長度的本發(fā)明的一個(gè)示例實(shí)施例中的視頻壓縮命令的表格;圖11是流程圖,描述在本發(fā)明的“7位灰度優(yōu)先色彩模式”實(shí)施例中如何減少色深度;圖12是在為24位色彩設(shè)置的計(jì)算機(jī)的視頻屏幕上的測試圖案(稱作0-255 RGB+灰度測試圖案)的彩色打印;圖13是在采用本發(fā)明的“7位灰度優(yōu)先色彩模式”實(shí)施例且源視頻是圖12所示的測試圖案時(shí)的客戶機(jī)計(jì)算機(jī)屏幕的彩色打印;圖14是具有視頻創(chuàng)建軟件以及與視頻壓縮器結(jié)合在一起的視頻控制器芯片的本發(fā)明的一個(gè)示例實(shí)施例的示意表示;圖15是沒有視頻控制器芯片但具有軟件視頻壓縮的本發(fā)明的一個(gè)示例實(shí)施例的示意表示;圖16是稱作微客戶機(jī)的本發(fā)明的一個(gè)示例實(shí)施例的示意表示;圖17是本發(fā)明的一個(gè)示例實(shí)施例的示意表示,描述“共享模式”的概念;圖18是流程圖,描述在本發(fā)明的“5位灰度優(yōu)先色彩模式”實(shí)施例中如何減少色深度;以及圖19-24是與5位和12位色彩模式配合使用的本發(fā)明的一個(gè)備選實(shí)施例中的視頻壓縮命令的表格。
發(fā)明詳細(xì)說明本發(fā)明可利用旨在通過通信信道、包括通過中介網(wǎng)絡(luò)發(fā)送計(jì)算機(jī)視頻的任何硬件或軟件來實(shí)現(xiàn)。一種這樣的示例實(shí)施例如圖1所示,通過舉例而非限定的方式來描述。實(shí)際上,一旦技術(shù)人員閱讀了以附圖體現(xiàn)并在本文中描述的本發(fā)明,將會(huì)理解其它實(shí)施例。
在圖1中,KVM/IP系統(tǒng)10包括遠(yuǎn)程控制臺(tái)客戶機(jī)11和服務(wù)器設(shè)備14。在所示實(shí)施例中,遠(yuǎn)程控制臺(tái)11通過網(wǎng)絡(luò)就緒PC(包括鍵盤、視頻顯示器和鼠標(biāo))中的PC軟件來實(shí)現(xiàn)。客戶機(jī)11經(jīng)由因特網(wǎng)協(xié)議網(wǎng)絡(luò)13、通過KVM/IP設(shè)備14向目標(biāo)服務(wù)器15進(jìn)行傳遞。設(shè)備14和客戶機(jī)11包括標(biāo)準(zhǔn)網(wǎng)絡(luò)I/O硬件和軟件,從而允許它們經(jīng)由任何形式的因特網(wǎng)協(xié)議連通性進(jìn)行通信,例如撥號(hào)、DSL、WAN、LAN、T1、無線等等。
在圖1中,所述設(shè)備用作目標(biāo)服務(wù)器15與客戶機(jī)11之間的中介,允許客戶機(jī)11將其鍵盤、視頻顯示器和鼠標(biāo)耦合到服務(wù)器15,就象客戶機(jī)11直接連接到它一樣。在該方面,與IP網(wǎng)絡(luò)的尋址和交換能力結(jié)合的系統(tǒng)10的方式和操作代表KVM交換機(jī),例如由本受讓人、由Huntsville,Alabama的Cybex Computer Products以及由Redmond,Washington的Apex.Inc.出售的那些產(chǎn)品。
客戶機(jī)11包括便于例如通過標(biāo)準(zhǔn)TCP/IP地址識(shí)別目標(biāo)服務(wù)器15(經(jīng)由設(shè)備14)的軟件。一旦在客戶機(jī)11與設(shè)備14之間建立了通信,則客戶機(jī)11采用軟件經(jīng)由IP網(wǎng)絡(luò)13向設(shè)備14發(fā)送在客戶機(jī)上輸入的鍵盤和鼠標(biāo)數(shù)據(jù)。設(shè)備14接收交換或路由到它的數(shù)據(jù),并將該數(shù)據(jù)施加到服務(wù)器15的鍵盤和鼠標(biāo)端口,就好象鍵盤和鼠標(biāo)直接連接到服務(wù)器15一樣。作為響應(yīng),服務(wù)器15(經(jīng)由正在服務(wù)器15上運(yùn)行的無論任何應(yīng)用程序)按照鍵盤和鼠標(biāo)數(shù)據(jù)來行動(dòng),從而產(chǎn)生新的視頻數(shù)據(jù),此視頻數(shù)據(jù)經(jīng)由服務(wù)器15的視頻輸出端被輸出到設(shè)備14。
一旦設(shè)備14接收到來自服務(wù)器15的視頻,則通過以下描述的發(fā)明算法之一對(duì)其進(jìn)行壓縮,并把所得視頻壓縮命令經(jīng)由IP網(wǎng)絡(luò)13傳送到客戶機(jī)11。壓縮可通過設(shè)備14中的FPGA、ASIC或其它任何硬件或軟件來進(jìn)行?;蛘?,設(shè)備14可以“嵌入”服務(wù)器15,或者如果服務(wù)器15包括執(zhí)行此壓縮并直接向IP網(wǎng)絡(luò)13發(fā)送所得命令的軟件,則可除去設(shè)備14。在接收后,客戶機(jī)11采用PC軟件對(duì)這些命令解碼,并在客戶機(jī)PC的屏幕上再現(xiàn)目標(biāo)服務(wù)器的視頻,供用戶觀看?;蛘?,命令解碼可采用客戶機(jī)11中的硬件來進(jìn)行。
在圖1的實(shí)施例中,用戶應(yīng)當(dāng)感覺到客戶機(jī)PC的鍵盤、視頻顯示器和鼠標(biāo)直接連接到服務(wù)器15,即使客戶機(jī)11和服務(wù)器15可能在物理上處于遠(yuǎn)至地球兩端的位置。在獲得經(jīng)由設(shè)備14送往服務(wù)器15的鍵盤和鼠標(biāo)數(shù)據(jù)時(shí)以及在回收視頻時(shí)加入過多延遲會(huì)妨礙該目的。鍵盤和鼠標(biāo)要求可快速且比較有效地傳輸?shù)妮^少數(shù)據(jù)通信量,但是大量視頻數(shù)據(jù)提出了更難處理的問題。為了有效率,視頻必須由設(shè)備14進(jìn)行壓縮,經(jīng)由IP網(wǎng)絡(luò)13傳送,由客戶機(jī)11進(jìn)行解壓縮,以及盡快呈現(xiàn)在用戶的屏幕上。過度延遲在鼠標(biāo)-光標(biāo)響應(yīng)中最明顯。甚至出現(xiàn)在屏幕上的鼠標(biāo)移動(dòng)與光標(biāo)響應(yīng)之間的微小延遲也會(huì)讓用戶煩惱。
圖2說明本發(fā)明的一個(gè)示例實(shí)施例。存在許多在其中可設(shè)計(jì)本發(fā)明的不同硬件和軟件實(shí)現(xiàn),圖2的實(shí)施例不是唯一的這種方式。在閱讀本理論之后,技術(shù)人員會(huì)了解實(shí)現(xiàn)本發(fā)明的、符合本發(fā)明的范圍的其它方式。
在圖2的頂部,源視頻21可以采用任何形式,模擬的或數(shù)字的。大部分現(xiàn)行視頻控制器芯片的視頻輸出可以數(shù)字方式與平板顯示器配合使用,例如用于膝上型計(jì)算機(jī)。視頻壓縮器23可直接連接到視頻控制器芯片20的輸出引腳,或者可連接到目標(biāo)服務(wù)器15上的外部連接器。一種外部連接器是DVI(數(shù)字視頻接口),它是用于把數(shù)字視頻連接到外部數(shù)字顯示裝置的一種標(biāo)準(zhǔn)。其它任何類型的源視頻也會(huì)滿足需要——本發(fā)明不限于此。
作為選擇,色深度簡化器22可以包含在視頻壓縮器23中,以便減少定義各像素顏色的位數(shù)。通過把像素的顏色分類為若干區(qū)來進(jìn)行這個(gè)操作。當(dāng)源視頻21為數(shù)字視頻時(shí),色深度減少的最簡單方法是忽略最低有效位。例如,通過忽略8位紅、綠和藍(lán)信號(hào)中每個(gè)的3個(gè)最低有效位,24位色彩可轉(zhuǎn)換為15位色彩。忽略各個(gè)8位色彩信號(hào)的4個(gè)最低有效位將產(chǎn)生12位色彩。稱作7位灰度優(yōu)先色彩模式以及5位灰度優(yōu)先色彩模式的更復(fù)雜色彩減少方法在下面進(jìn)一步描述并在圖11和18中說明。
如果源視頻21為模擬視頻信號(hào),則色深度簡化器22需要包括A-D(模數(shù))轉(zhuǎn)換器。對(duì)于模擬視頻,各像素由三個(gè)模擬信號(hào)(紅、綠和藍(lán))定義。A-D轉(zhuǎn)換器通過檢測各像素的三個(gè)信號(hào)處于什么“區(qū)”,使其強(qiáng)度數(shù)字化(與以上所述的數(shù)字色深度簡化器所進(jìn)行的操作極為相似)。與模擬視頻的主要差異是噪聲。當(dāng)模擬信號(hào)處于某個(gè)區(qū)的邊緣時(shí),少量模擬噪聲可能使數(shù)字化儀在后續(xù)幀中從一個(gè)區(qū)到另一個(gè)區(qū)來回跳動(dòng)。在這種情況下,看起來好象源視頻21正在變化,即使它沒有改變。因此,對(duì)于模擬輸入,需要用某種噪聲抑制方法來減少這種“區(qū)跳動(dòng)”??刹捎萌魏卧肼曇种萍夹g(shù),但在一個(gè)實(shí)例中,當(dāng)輸入信號(hào)處于某個(gè)區(qū)內(nèi)時(shí),它必須離開那個(gè)區(qū)至少一個(gè)門限量,才被視作處于另一個(gè)區(qū)。對(duì)視頻幀中的每個(gè)像素進(jìn)行各像素的信號(hào)在前一幀中處于什么區(qū)的這種比較。
雖然對(duì)于源視頻所述的若干實(shí)施例是在本發(fā)明之內(nèi)考慮的,但圖2中的特定示例實(shí)施例假定從目標(biāo)服務(wù)器15中視頻控制器接收的數(shù)字視頻為源視頻。視頻芯片20的輸出為源視頻21,它是連續(xù)的視頻數(shù)據(jù)流。視頻控制器芯片20不需要受到本發(fā)明的任何方面的控制(但本發(fā)明無疑可與某種視頻芯片控制結(jié)合使用),也就是說,視頻芯片20將以符合其本身內(nèi)部定時(shí)的連續(xù)流來輸出視頻。
源視頻21是視頻壓縮器23的輸入。當(dāng)然,其它處理裝置、如通用或?qū)S锰幚砥骺扇〈布曨l壓縮器23。視頻壓縮器23包括至少兩個(gè)幀緩沖器24和25,而且為了附加的運(yùn)算復(fù)雜度和效率,還可包括許多附加的幀緩沖器或者幀緩沖器類型。在客戶機(jī)11通過網(wǎng)絡(luò)29建立連接之前,在幀緩沖器24或25其中之一中(在圖2所示的時(shí)刻,幀緩沖器25是活動(dòng)的,表示它正在捕捉視頻)連續(xù)捕捉(以及連續(xù)蓋寫)源視頻21。
當(dāng)客戶機(jī)首先通過網(wǎng)絡(luò)29進(jìn)行連接時(shí),視頻捕捉停止,以及編碼器26開始讀取并壓縮緩沖器25中所捕捉的視頻數(shù)據(jù)。它從幀緩沖器的開頭(為屏幕的左上像素)開始,逐個(gè)像素地進(jìn)行到幀緩沖器的結(jié)尾(為屏幕的右下像素),預(yù)作準(zhǔn)備及構(gòu)建最有效的命令序列。當(dāng)編碼器26構(gòu)建這個(gè)命令序列(根據(jù)以下描述的算法實(shí)施例)之時(shí),服務(wù)器CPU27經(jīng)由I/O28和網(wǎng)絡(luò)29將它們發(fā)送給客戶機(jī)11。在編碼器26完成緩沖器25中的最后一個(gè)像素之后,幀緩沖器交換以及源視頻開始在另一個(gè)幀緩沖器(本例中為緩沖器24)中被捕捉。即使CPU26還沒有完成向網(wǎng)絡(luò)29發(fā)送這些命令,這個(gè)交換也會(huì)發(fā)生。在交換之后,緩沖器25中的幀成為“舊”幀,并表示在客戶機(jī)的屏幕上顯示(或者不久將被顯示)的幀。
由于源視頻在沒有被捕捉時(shí)在繼續(xù)進(jìn)行,因此當(dāng)捕捉開始時(shí),它可能處于屏幕的中間或者屏幕中其它任何位置。不管到緩沖器24中的新捕捉開始的位置如何,它都繼續(xù)完整的一圈,直至重新回到開始捕捉時(shí)的屏幕位置。結(jié)果是從源視頻21捕捉的一個(gè)完整的“新”視頻幀。如果CPU27在捕捉了新視頻幀之后還無法通過網(wǎng)絡(luò)從第一壓縮幀發(fā)送所有命令(可能是由于網(wǎng)絡(luò)擁塞或慢網(wǎng)絡(luò)),則捕捉過程將繼續(xù)蓋寫緩沖器24中所捕捉的視頻。當(dāng)網(wǎng)絡(luò)為更多命令準(zhǔn)備好(并且已經(jīng)捕捉了至少一個(gè)視頻幀)時(shí),捕捉將停止,并且對(duì)于第一幀發(fā)生的相同過程將繼續(xù)進(jìn)行。但是,由于客戶機(jī)11這時(shí)具有其第一幀,因此編碼器26這時(shí)能夠把新幀中的各像素與舊幀中的各像素進(jìn)行比較,如果像素沒有改變,則壓縮會(huì)好得多。在新視頻的至少一幀已經(jīng)被捕捉并且網(wǎng)絡(luò)為更多命令準(zhǔn)備好之后,相同的過程這時(shí)繼續(xù)進(jìn)行。這個(gè)在等待網(wǎng)絡(luò)就緒時(shí)連續(xù)進(jìn)行捕捉的過程根據(jù)網(wǎng)絡(luò)條件降低到客戶機(jī)的有效幀速率,并且顯示“最新”視頻優(yōu)先于顯示“所有”視頻。實(shí)際上,所捕捉的視頻變成到期商品。比起在“所有”視頻運(yùn)動(dòng)被排隊(duì)并稍后發(fā)送的情況下必須容忍的視頻延遲,遠(yuǎn)程控制臺(tái)用戶更能接受幀速率損失。
因此,在本實(shí)例中,新的幀緩沖器(原來的舊幀緩沖器)捕捉最近的源視頻幀。然后,舊幀(在舊幀緩沖器中)和新幀(在新幀緩沖器中)由編碼器26讀取,用于比較和壓縮視頻。存在捕捉和比較視頻幀以便壓縮的備選方法,本文中不描述所有這些方法。
在本發(fā)明的實(shí)施例的更狹義方面,采用本文中針對(duì)圖3所述的視頻編碼的所有方面。本文中針對(duì)“本發(fā)明”所述的所有那些方面的詳細(xì)說明不應(yīng)理解為表示本發(fā)明要求所述示例算法的每個(gè)方面。提供這些實(shí)例是為了描述其中可實(shí)現(xiàn)本發(fā)明的效率的一個(gè)示例方法。另外,更廣義或更狹義來說,本發(fā)明的若干方面可根據(jù)以下描述來實(shí)現(xiàn)。因此,在圖3中,提供五個(gè)視頻壓縮命令用于壓縮從幀緩沖器24和25中讀取的視頻。按照分級(jí)次序,它們是(1)從較早的幀復(fù)制舊像素,(2)從左側(cè)復(fù)制像素,(3)從上方復(fù)制像素,(4)利用2-色集制作一系列像素,以及(5)利用指定色制作一個(gè)像素。本發(fā)明人發(fā)現(xiàn),分級(jí)命令的這種組合為計(jì)算機(jī)顯示提供了顯著的視頻壓縮。這些命令中前三個(gè)提供3維復(fù)制(水平、垂直和時(shí)間),第四個(gè)命令為僅由兩種顏色組成的屏幕段(例如文本)提供獨(dú)特的效率。
在圖3所示的實(shí)施例中,有五個(gè)不同的視頻壓縮命令。所有命令都由單個(gè)數(shù)據(jù)包或多個(gè)數(shù)據(jù)包組成,其中各數(shù)據(jù)包由一個(gè)8位字節(jié)組成。各命令的第一數(shù)據(jù)包的前一到三位為運(yùn)算碼(或“操作碼”),它們確定命令的基本功能。“E”位是“擴(kuò)展”位,其余位(R、C和P)為“凈荷”位。五個(gè)命令的一般格式如圖3所示,它們的更詳細(xì)格式如圖4-10所示。對(duì)于具有不同數(shù)據(jù)包長度的實(shí)施例,凈荷位的數(shù)量是不同的。例如,16位數(shù)據(jù)包通常具有8個(gè)附加的凈荷位。
最低分級(jí)命令、即MP(制作像素)命令在第一比特單元(比特位置七)中具有一,之后跟隨定義色彩的凈荷位(“P”位)(其它命令中沒有一個(gè)是以一開始的)。如果所用色彩位的數(shù)量為七,則MP命令為一字節(jié)長(如圖3所示)。如果所用色彩位的數(shù)量為十五,則MP命令為兩個(gè)字節(jié)長,其中第一字節(jié)的第一位是一(如圖4所示)。同樣,如果所用色彩位(P位)的數(shù)量為23,則MP命令為三字節(jié)長(如圖5所示),依此類推。MP命令是要理解的最簡單命令,并且還提供最小壓縮。據(jù)說,主要“使一個(gè)像素為這種色彩”,其中凈荷標(biāo)識(shí)該色彩。計(jì)算機(jī)控制臺(tái)的一種普遍設(shè)定為15位色彩(5位用于紅色,5位用于綠色,以及5位用于藍(lán)色)。15位色彩通過兩字節(jié)MP命令來支持。由于單字節(jié)MP命令具有七個(gè)凈荷位,因此它們可提供27(或128)種不同顏色。下面進(jìn)一步描述的7位灰度優(yōu)先色彩模式描述源視頻如何可被“簡化”到最接近計(jì)算機(jī)控制臺(tái)上廣泛采用的128色。本發(fā)明的操作的以下論述描述通過一字節(jié)MP命令的操作,但本發(fā)明不限于具體數(shù)量的色彩位(P位)。
在可壓縮性方面,其中每個(gè)像素為隨機(jī)色彩的幀在沒有分辨率損失的前提下是不可壓縮的(其它壓縮系統(tǒng)、如JPEG、分形分析等可提供具有不同程度分辨率損失的壓縮)。對(duì)于圖3的實(shí)施例,這種隨機(jī)幀中的每個(gè)單像素采用MP命令來編碼,如果這個(gè)幀具有一百萬像素,則要采用一百萬個(gè)MP命令對(duì)它編碼。如果編碼器無法使用其它任何命令對(duì)像素編碼,則采用MP命令。每個(gè)像素始終適合通過MP命令來編碼。因此,MP命令出現(xiàn)在圖3的最低分級(jí)位置中。作為優(yōu)先級(jí)列表,圖3表明,編碼器26嘗試進(jìn)行最上面的命令、然后是第二、第三、第四,然后到達(dá)MP命令作為最后的手段。
現(xiàn)在來看圖3中的操作碼,比特位置七中的“一”唯一標(biāo)識(shí)制作像素命令。如果比特位置七中是“零”,則該命令為圖3所示的其它四個(gè)命令其中之一,其中隨后兩位(比特位置五和六)標(biāo)識(shí)應(yīng)用其它四個(gè)命令中的哪一個(gè)。因此,比特位置五和六中的00表示CO(復(fù)制舊的或者無變化)命令,01表示CL(復(fù)制左側(cè))命令,10表示CA(復(fù)制上方)命令,以及11表示MS(制作序列)命令。此后,這四個(gè)命令類型中的每一個(gè)具有跟隨操作碼的凈荷位。凈荷位為R、C和P位。下面將借助MS命令來論述E位。
CO、CL和CA命令中的凈荷位(R位)表示命令操作重復(fù)的次數(shù)。CO命令通知客戶機(jī)像素對(duì)當(dāng)前顯示的像素來說沒有改變。因此,編碼器26把舊的和新的幀緩沖器進(jìn)行比較,以及在確定“新”幀中的當(dāng)前像素與“舊”幀中的同樣位置的像素相同時(shí),調(diào)用CO命令。這樣,對(duì)于在源視頻中沒有改變的屏幕的若干部分,發(fā)送CO命令。
隨后的兩個(gè)命令根據(jù)共同“新”幀內(nèi)、而不是舊幀與新幀之間的位置來比較像素。CL命令指示客戶機(jī)從最接近當(dāng)前幀左側(cè)的位置的像素復(fù)制色彩。如果當(dāng)前像素是視頻行上的第一像素,則最接近左側(cè)的像素為前一行的最后一個(gè)像素。CA命令指示客戶機(jī)從最接近當(dāng)前幀上方的像素復(fù)制色彩。CL、CA和CO命令在以下稱作“復(fù)制”命令??捎闷渌畲?,它們?yōu)橄袼貜?fù)制提供公共幀內(nèi)或舊幀與新幀之間的關(guān)系。由于計(jì)算機(jī)視頻中存在的水平和垂直矩形及線條的迅速擴(kuò)大,當(dāng)前所述的命令在計(jì)算機(jī)視頻中具有特別的優(yōu)點(diǎn)。對(duì)于水平線,例如,CL命令具有特別的實(shí)用性,對(duì)于垂直線,CA命令具有特別的實(shí)用性。
最后的命令是MS或制作序列命令,其本身在現(xiàn)有視頻編碼類型中是獨(dú)特的。MS命令利用計(jì)算機(jī)視頻的特殊方面,即,典型計(jì)算機(jī)屏幕的大部分僅由兩種顏色構(gòu)成。在計(jì)算機(jī)視頻中的典型實(shí)例是文本信息,其中屏幕大部分由固定背景色上的文本前景色組成。在這些情況下,MS命令讓編碼器26創(chuàng)建大量視頻而沒有文本清晰度的損失,以及具有極大的壓縮量。
現(xiàn)在,在命令的凈荷結(jié)構(gòu)的上下文中以及在實(shí)際應(yīng)用的上下文中論述每個(gè)命令。如上所述,CO命令(圖3、6和7)實(shí)質(zhì)上標(biāo)識(shí)當(dāng)前像素對(duì)于位于前一幀的相同位置的像素來說沒有改變。為了進(jìn)一步壓縮,凈荷不僅標(biāo)識(shí)了當(dāng)前像素沒有改變,而且還標(biāo)識(shí)了一定數(shù)量的連續(xù)像素沒有改變。以下描述數(shù)量是多少。如圖3所示,對(duì)于CO命令,在三位操作碼之后,有五位(RRRRR)表明該CO命令的重復(fù)計(jì)數(shù)。這五位可設(shè)置為0與31之間的任何二進(jìn)制值。
由于為零的重復(fù)計(jì)數(shù)沒有意義,因此通常最初假定,這五位計(jì)數(shù)定義一行中相對(duì)前一幀未改變的多達(dá)32個(gè)連續(xù)像素。但是,如果僅使用一字節(jié)MP命令(而不是兩個(gè)或兩個(gè)以上字節(jié)長的MP命令),則為一的重復(fù)計(jì)數(shù)也沒有意義,因?yàn)橐蛔止?jié)制作像素(MP)命令具有與重復(fù)計(jì)數(shù)為一的CO命令相同的壓縮值。在該情況下,重復(fù)計(jì)數(shù)凈荷可從為二的計(jì)數(shù)開始,使得00000的凈荷表示重復(fù)計(jì)數(shù)為二,11111的凈荷表示重復(fù)計(jì)數(shù)為三十三。這樣,提供了小的附加效率,即,具有五位凈荷的CO命令標(biāo)識(shí)以下事實(shí)在兩個(gè)像素與三十三個(gè)像素之間的某個(gè)位置相對(duì)于已顯示的幀沒有改變。
此優(yōu)選實(shí)施例進(jìn)一步增加了效率。假定超過三十三個(gè)像素沒有改變。如圖6所示,具有000操作碼的第二個(gè)緊連的字節(jié)可跟隨具有000的第一字節(jié),從而再提供第二個(gè)五位來表示從二到三十三個(gè)像素。但是,解碼器30將檢測具有CO操作碼的兩個(gè)連續(xù)數(shù)據(jù)包,并把兩個(gè)五位凈荷解釋為具有十位凈荷的單個(gè)CO命令。利用十位凈荷,連續(xù)CO像素的數(shù)量從34擴(kuò)展為1025。換言之,對(duì)于僅兩個(gè)八位字節(jié),超過一千像素的幀可被發(fā)送給客戶機(jī)。CO命令的效率逐漸提高。可以注意到,制作兩個(gè)具有CO操作碼的連續(xù)數(shù)據(jù)包的原因正是以下事實(shí)要求超過33的重復(fù)計(jì)數(shù)。如果不要求超過33的重復(fù)計(jì)數(shù),則編碼器26不制作兩個(gè)具有CO操作碼的連續(xù)數(shù)據(jù)包。
如果編碼器26要求35或36的重復(fù)計(jì)數(shù),這就需要第二字節(jié),則兩字節(jié)CO命令短暫地成為無效的。但是,一旦重復(fù)計(jì)數(shù)多達(dá)一千像素(例如1024×768分辨率屏幕上的整行),則只要兩個(gè)字節(jié)就可壓縮整行。此外,如果第三CO命令跟隨第二命令(如圖7所示),則解碼器30檢測十五位凈荷。如果存在第四CO命令,則檢測二十位凈荷。四字節(jié)CO命令可標(biāo)識(shí)超過一百萬像素沒有改變,這超過了具有1024×768分辨率的一整幀所需的量。本發(fā)明不限于任何特定數(shù)量的連續(xù)CO命令或任何視頻屏幕分辨率,但為了當(dāng)前目的,五字節(jié)命令(支持多達(dá)三千三百萬像素)提供對(duì)于當(dāng)前預(yù)計(jì)的最高視頻屏幕分辨率的全幀足夠大的重復(fù)計(jì)數(shù)。
CL和CA命令與以上所述的CO命令相同地工作。它們復(fù)制不同的像素(左側(cè)像素或上方像素),但它們具有相同結(jié)構(gòu),即三位操作碼之后是標(biāo)識(shí)重復(fù)計(jì)數(shù)的5位RRRRR凈荷。同樣,CL和CA命令中的每個(gè)可以排成序列,如圖8中針對(duì)CL命令所示,從而形成10位、15位、20位或更長的凈荷。
如果那些命令中的兩個(gè)或兩個(gè)以上同時(shí)適合于當(dāng)前像素,則CO、CL和CA命令之間的分級(jí)優(yōu)先級(jí)才適用。如果編碼器26確定CO命令適合于當(dāng)前像素,并且沒有其它復(fù)制命令適合,則編碼器暫時(shí)忽略其它復(fù)制命令,以及繼續(xù)比較來自舊幀和新幀的像素,從而確定一行中CO命令適合的像素?cái)?shù)量。編碼器26在發(fā)現(xiàn)CA或CL命令單獨(dú)適合于當(dāng)前像素時(shí)進(jìn)行相同的操作。在所標(biāo)識(shí)(CO、CA或CL)條件不再為真的第一時(shí)刻,編碼器26發(fā)送圖3的一個(gè)或多個(gè)連續(xù)命令,然后評(píng)估要編碼的下一個(gè)像素。換言之,一旦編碼器26確定一個(gè)重復(fù)計(jì)數(shù)條件對(duì)于給定像素為真,以及只有一個(gè)重復(fù)計(jì)數(shù)條件對(duì)于給定像素為真,則忽略其它所有命令評(píng)估,直到當(dāng)前重復(fù)計(jì)數(shù)條件不再有效。當(dāng)出現(xiàn)那種情況時(shí),它創(chuàng)建命令(操作碼和重復(fù)計(jì)數(shù)),并將其發(fā)送給客戶機(jī)。
只要一個(gè)復(fù)制命令(CO、CL或CA)適合,則編碼器繼續(xù)進(jìn)行它,直到它不再適用。然后,編碼器結(jié)束該分析,并創(chuàng)建適當(dāng)?shù)淖止?jié)。但是,如果多個(gè)重復(fù)計(jì)數(shù)條件(CO、CA或CL)起初在同一像素上適用,則編碼器才開始對(duì)那些條件適用的連續(xù)像素進(jìn)行計(jì)數(shù)。只要這些命令之一適合,計(jì)數(shù)器繼續(xù)運(yùn)行。最后,編碼器僅選擇申請(qǐng)完全重復(fù)計(jì)數(shù)的一個(gè)命令,因而它僅對(duì)一個(gè)計(jì)數(shù)器進(jìn)行計(jì)數(shù)。不需要運(yùn)行每個(gè)復(fù)制命令使用一個(gè)的三個(gè)不同的計(jì)數(shù)器。然后,當(dāng)編碼器繼續(xù)計(jì)數(shù)時(shí),它將發(fā)現(xiàn)某些命令不再合適。當(dāng)那種情況出現(xiàn)足夠次數(shù),使得沒有命令類型“保持仍然有效”,編碼器26創(chuàng)建最后一個(gè)存活的命令的操作碼以及標(biāo)識(shí)在最后一個(gè)存活的命令無法適合之前適用的像素?cái)?shù)量的重復(fù)計(jì)數(shù)。
例如,假定對(duì)于當(dāng)前像素,CL、CA和CO命令全部適合。編碼器記錄那種情況,并開始計(jì)數(shù)。在下一個(gè)像素中,編碼器確定所有命令仍然適用,因而把計(jì)數(shù)器增加到二。該過程完全同樣地進(jìn)行,直到在第七像素中CL條件不再適用。編碼器26使CL退出運(yùn)行,并且繼續(xù)增加計(jì)數(shù)器。繼續(xù)進(jìn)行,假定在第14像素中,CA條件變?yōu)榧佟O命令是最后一個(gè)存活的命令,但編碼器仍然不停止計(jì)數(shù)。繼續(xù)增加計(jì)數(shù),直到假定在第51像素中,CO條件變?yōu)榧佟T谠摃r(shí)刻,編碼器26向客戶機(jī)11發(fā)送兩個(gè)連續(xù)字節(jié)00000001和00010000。第一字節(jié)表明首先出現(xiàn)為三的重復(fù)計(jì)數(shù)(大家記得,“零”指定重復(fù)計(jì)數(shù)為二)的CO條件(操作碼=000)。但是,當(dāng)解碼器30為下一個(gè)字節(jié)預(yù)先作準(zhǔn)備時(shí),它看到連續(xù)的CO命令共同被讀取以形成十位字。(注意,解碼器30在對(duì)字解碼之前還會(huì)注意超過00010000字節(jié)的下一個(gè)字節(jié),以便確保第三CO字節(jié)沒有跟隨第二字節(jié)。)十位字0000110000相當(dāng)于重復(fù)計(jì)數(shù)50。兩個(gè)CO命令的這個(gè)系列指示解碼器不改變后50個(gè)像素的色彩,保持與先前發(fā)送幀中的色彩一樣。
一旦某個(gè)復(fù)制命令變?yōu)樽詈笠粋€(gè)仍然有效的命令,下一個(gè)命令的操作碼被確定。當(dāng)此最后一個(gè)仍然有效的命令不再適合,則那個(gè)命令的重復(fù)計(jì)數(shù)被確定。在該時(shí)刻,編碼器還確定標(biāo)識(shí)重復(fù)計(jì)數(shù)需要多少字節(jié)。如果可在五位中提供此計(jì)數(shù),則編碼器產(chǎn)生一字節(jié)命令。如果需要十位,則編碼器產(chǎn)生二字節(jié)命令,依此類推。優(yōu)選實(shí)施例的這個(gè)方面是有利的,因?yàn)樗宰罴逊绞嚼脤?duì)可能的最長重復(fù)計(jì)數(shù)的標(biāo)識(shí)。實(shí)際上,可以設(shè)想CA、CL和CO之外的其它復(fù)制命令,它們根據(jù)其它相關(guān)方面來標(biāo)識(shí)像素。
如果那些命令中的兩個(gè)或兩個(gè)以上同樣一直保持有效,則CO、CL和CA命令之間的分級(jí)優(yōu)先級(jí)適用。在該情況下,編碼器首先采取復(fù)制舊命令。復(fù)制舊命令在客戶機(jī)上呈現(xiàn)最小負(fù)擔(dān),因?yàn)榻Y(jié)果只是跳過像素。另一方面,客戶機(jī)必須工作以從上方復(fù)制或者從左側(cè)復(fù)制。在這兩個(gè)復(fù)制命令之中,復(fù)制左側(cè)比從上方復(fù)制的優(yōu)先級(jí)更高,同樣是因?yàn)樗诳蛻魴C(jī)上呈現(xiàn)較小負(fù)擔(dān)。對(duì)于復(fù)制左側(cè),客戶機(jī)只需要讀取緊靠前面的像素一次,并將它寫入多個(gè)像素。但是,為了從上方復(fù)制,依靠從上方視頻行讀取多個(gè)像素,并寫到多個(gè)像素。
另一方面,如果客戶機(jī)采用硬件而不是軟件來實(shí)現(xiàn),則復(fù)制命令優(yōu)先級(jí)可能沒有關(guān)系,因?yàn)橛布赡軐S糜谔幚砻?。?yōu)選實(shí)施例通過確定復(fù)制命令的優(yōu)先順序,使軟件客戶機(jī)上的負(fù)荷最小。
第四命令類型(以及非復(fù)制命令的最高優(yōu)先級(jí))為圖3、9和10所示的MS(制作序列)命令。根據(jù)對(duì)典型計(jì)算機(jī)屏幕的壓縮的分析,制作序列命令以大大促進(jìn)壓縮效率而結(jié)束。關(guān)于MS命令的理論在于,無論文本為什么顏色,它幾乎始終為二色模式。實(shí)際上,本發(fā)明人調(diào)查了典型計(jì)算機(jī)屏幕并確定,文本的大部分以及屏幕的其它區(qū)域可采用長MS命令來定義。MS命令提供壓縮圖標(biāo)、文檔、標(biāo)簽和工具條的文本部分的高效率。其它壓縮方案要么不提供必要的壓縮效率,要么不提供需要閱讀屏幕上的文本資料的用戶所要求的清晰度。
例如,采用用戶正滾動(dòng)文本使其從一幀到下一幀的示例,文本只是略微上移。從壓縮器的觀點(diǎn)來看,各幀是需要被編碼的新像素組。壓縮器可通過為文本窗口周圍區(qū)域?qū)懭隒O命令來得到一些重復(fù)計(jì)數(shù)效率,但當(dāng)遇到已調(diào)整的文本,則重復(fù)計(jì)數(shù)壓縮變得無效,因?yàn)闆]有出現(xiàn)長重復(fù)計(jì)數(shù)。本發(fā)明人對(duì)于復(fù)制命令不適用的那些文本類型區(qū)域增加了效率。下面將具體描述那些MS命令如何增加壓縮效率。
首先,與前面相似,三位操作碼標(biāo)識(shí)MS命令。第一操作碼位(0)表明該命令不是制作像素命令。隨后的兩位(11)把該命令標(biāo)識(shí)為制作序列命令。調(diào)用MS命令的時(shí)機(jī)通過編碼器超前分析四個(gè)像素來識(shí)別。技術(shù)人員應(yīng)當(dāng)注意,復(fù)制命令不需要超前分析操作(但為了提供附加功能,也可增加超前分析操作)?;蛘?,通過MS命令,或多或少的像素可用于這種超前分析操作。可以看到,超前分析中的像素?cái)?shù)量應(yīng)當(dāng)在策略上被選擇為(1)大得足以確保重復(fù)計(jì)數(shù)編碼不會(huì)更有效率,(2)短得足以使MS命令適當(dāng)可用,以及(3)取值為適應(yīng)所用字長度的整數(shù)。本文中僅為了舉例,描述四個(gè)像素。當(dāng)編碼器確定在隨后的四個(gè)像素中出現(xiàn)以下兩種條件時(shí)調(diào)用MS命令(1)CO、CL或CA命令將不會(huì)適合,以及(2)在那后四個(gè)像素中的所有像素被限制為兩種不同色。圖9和圖10中的實(shí)例所示的“擴(kuò)展”MS命令擴(kuò)展MS操作,但只有第一字節(jié)在位5、6、7中包含操作碼。下面進(jìn)一步描述擴(kuò)展MS命令。
如前面所述,MS命令用于作為兩種不同色的組合的一系列像素。包含在可用色集合中的兩種色彩是來自緊靠前面像素的色彩(色彩0)以及來自其之前的最近不同色像素的色彩(色彩1)。當(dāng)然也可從各種選項(xiàng)中采用為MS命令標(biāo)識(shí)兩種像素色彩的其它方法,其中包括色彩的嚴(yán)格標(biāo)識(shí)、從當(dāng)前幀或前一幀中所選位置標(biāo)識(shí)、從2-色集的查找表標(biāo)識(shí)等。在優(yōu)選實(shí)施例中,兩種色彩源自緊靠前面的兩種不同色彩像素,它們可能已采用制作像素、復(fù)制上方、復(fù)制左側(cè)或復(fù)制舊命令進(jìn)行了編碼。MS命令不關(guān)心這兩種像素是如何得到的,而只是關(guān)心它們將成為即將出現(xiàn)的MS命令的一系列像素的兩種色彩。
上述具有2-色集的MS命令是有利的,因?yàn)樗灰缶哂腥魏紊蕵?biāo)識(shí)位的字節(jié)。也就是說,MS命令不包括標(biāo)識(shí)使用哪些色彩的位,而只有標(biāo)識(shí)先前標(biāo)識(shí)的兩種色彩中哪一個(gè)用于此序列中的位。因此,例如,當(dāng)編碼器到達(dá)某個(gè)文本的開頭、例如白色背景上的黑色字母“H”的左上角時(shí),“H”的左上角的第一像素可通過黑色MP(制作像素)命令之后跟隨幾個(gè)像素的CL(復(fù)制左側(cè))命令來定義。當(dāng)通過編碼器的超前分析找到H的頂部中心和右上時(shí),編碼器將創(chuàng)建制作序列命令,因?yàn)樗鼉H檢測即將到來的像素的兩種色彩(文本和背景)。
如圖9所示,第一MS命令字節(jié)具有三位操作碼,之后跟隨表明這個(gè)命令被擴(kuò)展到下一字節(jié)的“擴(kuò)展”位(在比特位置4中)。如果擴(kuò)展位為零,則MS命令沒有擴(kuò)展,它在第一字節(jié)之后結(jié)束。在這種情況下,那個(gè)字節(jié)中的四個(gè)“C”位提供四個(gè)像素的二色圖案,然后當(dāng)前序列結(jié)束。但是,如果擴(kuò)展位啟用,則MS數(shù)據(jù)的另一個(gè)完整字節(jié)將跟隨當(dāng)前字節(jié)。因此,在圖9中,第二字節(jié)為“擴(kuò)展命令”字節(jié)。由于擴(kuò)展位出現(xiàn)在前一字節(jié)中,因此,下一字節(jié)不需要包含三位操作碼。因此,擴(kuò)展命令的標(biāo)識(shí)不是來自當(dāng)前字節(jié)中的操作碼,而是來自前一字節(jié)中的擴(kuò)展位。此結(jié)果為第一字節(jié)之后的每個(gè)字節(jié)提供制作序列數(shù)據(jù)的七位。各擴(kuò)展命令字節(jié)包含其本身的擴(kuò)展位(在比特位置7中),它標(biāo)識(shí)下一字節(jié)是否為擴(kuò)展字節(jié)。只要E位啟用,則這個(gè)擴(kuò)展可繼續(xù)。當(dāng)E位取消時(shí),當(dāng)前序列停止。圖10的序列表示將定義88個(gè)連續(xù)像素的序列的13字節(jié)長MS命令的一個(gè)實(shí)例。
當(dāng)解碼器接收制作序列字節(jié)時(shí),它立即開始創(chuàng)建客戶機(jī)屏幕所用的像素,如下所述。在讀取操作碼011之后,解碼器認(rèn)識(shí)到,制作序列正在開始。它讀取在前像素的色彩,并把該色彩定義為“色彩0”。然后,它讀取其之前的最近不同色像素,并把該色彩定義為“色彩1”。
然后,解碼器讀取E位,以便確定此序列是一個(gè)字節(jié)還是更多字節(jié)。最后,解碼器按順序讀取位0-3,并根據(jù)各像素的二進(jìn)制狀態(tài)從兩個(gè)可用色彩中創(chuàng)建像素。對(duì)于第一字節(jié),解碼器將創(chuàng)建四個(gè)像素。例如,如果第一MS字節(jié)為01110110,并且色彩0為黑色而色彩1為白色,則解碼器將創(chuàng)建黑、白、白、黑四個(gè)像素(0110)。然后,由于E位設(shè)置為1,因此解碼器將注意下一字節(jié)以創(chuàng)建另外七個(gè)黑色和白色像素。
在優(yōu)選實(shí)施例中,MS命令的第一字節(jié)創(chuàng)建四個(gè)像素(八位減去三個(gè)操作碼位減去一個(gè)擴(kuò)展位)。如果編碼器發(fā)現(xiàn)在序列中存在不到四個(gè)像素(即在后四個(gè)像素中存在兩種以上色彩),則MS命令無法用于此優(yōu)選實(shí)施例。此外,如果要使用MS命令的第一擴(kuò)展字節(jié)(第二累加字節(jié)),則編碼器必須預(yù)先分析而發(fā)現(xiàn)后七個(gè)連續(xù)像素適合于MS狀態(tài)(即全部來自僅二色選擇,并且沒有復(fù)制命令適用)。然后,如圖9所示,第一字節(jié)中的四個(gè)C位標(biāo)識(shí)11-像素序列的前四個(gè)像素,以及第二字節(jié)中的七個(gè)C位標(biāo)識(shí)11-像素序列中的后七個(gè)像素。此后,僅當(dāng)七個(gè)像素的整倍數(shù)可添加到序列中時(shí),才使用新的MS擴(kuò)展字節(jié)。因此,如前面所述,編碼器在對(duì)任何MS命令字節(jié)編碼之前“超前分析”,以便(1)確定前四個(gè)像素是否適合于MS處理,以及(2)確定七個(gè)像素的附加字節(jié)是否適合。
現(xiàn)在會(huì)理解,MS命令利用順序位來定義順序像素,使得每個(gè)位對(duì)應(yīng)于為色彩0或色彩1的各像素。實(shí)際上,MS命令的C位與像素列相似。
如前面所述,MS模式中的編碼器始終進(jìn)行超前分析,并且不設(shè)置E位,除非它發(fā)現(xiàn)在即將到來的像素序列中具有足夠的像素來填充下一個(gè)擴(kuò)展命令字節(jié)的后七位。如果編碼器進(jìn)行超前分析并且在后七個(gè)像素中遇到不同于2-色集的色彩,則對(duì)于當(dāng)前字節(jié)結(jié)束制作序列命令(把停止位寫入當(dāng)前字節(jié)的E位)。
在一個(gè)實(shí)施例中,編碼器在所有時(shí)間對(duì)所有像素針對(duì)全部命令類型進(jìn)行比較。在該情況下,這些比較始終并行地進(jìn)行,并且始終針對(duì)所有命令進(jìn)行。當(dāng)命令類型之一識(shí)別其自己的適用性時(shí),編碼器對(duì)它加標(biāo)記并(根據(jù)命令之間的其它比較和優(yōu)先級(jí))確定哪個(gè)命令類型對(duì)當(dāng)前情況來說是最佳的。例如,在圖2的實(shí)施例中,視頻壓縮器23對(duì)于每個(gè)單像素查找五個(gè)命令類型中每一個(gè)的適用性,以及根據(jù)MS命令要求超前分析。
上述實(shí)施例對(duì)于照片在屏幕上的第一次呈現(xiàn)不適用,因?yàn)檎掌筝^大數(shù)量的制作像素MP命令。在靜止照片被發(fā)送一次之前,編碼器不創(chuàng)建許多復(fù)制命令,這會(huì)創(chuàng)建更好的效率。當(dāng)然,在靜止照片最初發(fā)送到客戶機(jī)之后,編碼器將對(duì)于后續(xù)幀的屏幕的那些部分產(chǎn)生CO命令。當(dāng)前實(shí)施例雖然不太適用于照片信息,但是在其中許多垂直和水平線常常適合于復(fù)制命令且屏幕包含大量文本的計(jì)算機(jī)控制臺(tái)屏幕的應(yīng)用中提供額外效率。
稱作7位灰度優(yōu)先色彩模式的本發(fā)明的實(shí)施例提供制作像素(MP)命令對(duì)色彩和灰度強(qiáng)度表的新穎和創(chuàng)造性使用。這種模式旨在從一字節(jié)MP命令的7位凈荷得到最高性能。如圖11中所示,每個(gè)輸入色彩(紅、綠和藍(lán))的強(qiáng)度范圍處于從0(最暗)到255(最亮)的任何位置。一些現(xiàn)有計(jì)算機(jī)控制臺(tái)色深度減少方案采用總共六位來定義全部色彩(兩位為紅色提供,兩位為藍(lán)色提供,兩位為綠色提供),產(chǎn)生四個(gè)不同的紅色調(diào)、四個(gè)不同的藍(lán)色調(diào)以及四個(gè)不同的綠色調(diào)。43個(gè)組合為64種可能的色彩組合。
灰色在計(jì)算機(jī)應(yīng)用中也是重要的,并由其中R、G和B以相等強(qiáng)度存在的各組合構(gòu)成。上述六位色彩方案在缺省情況下提供四種可能的灰色調(diào)。雖然R、G和B的四個(gè)色調(diào)可提供可以接受的色深度,但有限數(shù)量的灰色調(diào)證明對(duì)于灰度級(jí)深度是不夠的。
在示例實(shí)施例中(但不是限制性的),色彩數(shù)量可增加到超過64,同時(shí)還把灰色調(diào)數(shù)量增加比色彩增加量更大的比例。為此,所有色彩(包括灰色)的“使用普及度”根據(jù)任意計(jì)算機(jī)控制臺(tái)屏幕的集合、預(yù)定色彩選集等來分配,由此,頻率表標(biāo)識(shí)哪些色彩(和灰度)被認(rèn)為最普遍。在圖11中,二進(jìn)制和十進(jìn)制強(qiáng)度等級(jí)(0-255)表示在左欄,之后跟隨“使用普及度”等級(jí)評(píng)定。在該欄中,線條越長,則那種色彩在典型計(jì)算機(jī)屏幕池中被標(biāo)識(shí)越多。如圖所示,常用零強(qiáng)度,常用63和64,常用127和128,常用191和193,常用255。
本發(fā)明人發(fā)現(xiàn),在典型計(jì)算機(jī)屏幕上,灰色比非灰色更普遍。例如,滾動(dòng)條為灰色,工具條為灰色,以及當(dāng)按下“按鈕”時(shí),按鈕的邊緣變?yōu)椴煌幕疑{(diào)。黑色和白色是灰色調(diào),并且極頻繁地使用。計(jì)算機(jī)屏幕使用許多不同的灰色調(diào),色調(diào)種類對(duì)于對(duì)比度是重要的。在為視頻壓縮目的而減去色深度時(shí),視頻質(zhì)量受到損害的第一位是在灰度上。當(dāng)它產(chǎn)生時(shí),實(shí)際色彩較為不重要。例如,紅色的程度或者綠色的程度較為不重要。但是,當(dāng)灰度深度通過色深度減少方案而消去時(shí),例如在屏幕上“按下按鈕”時(shí)的重要對(duì)比度丟失。
通過查看色彩的普及度,通過為各R、G和B提供五個(gè)色調(diào),以及通過查找代碼位置以添加更多灰度,本實(shí)施例提供良好色彩對(duì)比度所需的全部色彩,同時(shí)增加良好的灰度級(jí)對(duì)比度。首先,選擇一組常用的紅、綠和藍(lán)強(qiáng)度。對(duì)于圖11中的實(shí)例,紅、綠和藍(lán)中每一個(gè)可以五個(gè)最常用強(qiáng)度之一出現(xiàn)0、64、128、192和255。它們成為提供給各色彩的五個(gè)不同色調(diào),即五種紅色調(diào)、五種綠色調(diào)以及五種藍(lán)色調(diào)。利用那五種色調(diào)可得到的色彩總數(shù)為53=125。在這125種色彩內(nèi)將自動(dòng)出現(xiàn)五種灰色調(diào),具體為(1)R、G和B都等于0,(2)R、G和B都等于64,等等。五種灰度優(yōu)于四種,但仍然沒有達(dá)到預(yù)期效果。
為此,附加灰度可編碼為像素編碼的“隱藏”區(qū)域。如圖4所示,MP命令通過七位來定義紅、綠和藍(lán)強(qiáng)度。128狀態(tài)(27)可由這7位來定義,但是,利用上述五色調(diào)流行色方案,僅標(biāo)識(shí)125種色彩。本實(shí)例采用剩余三種狀態(tài)(128減125)用于三個(gè)附加灰度級(jí)。這時(shí),代替五個(gè)灰色調(diào)(RGB=0、64、128、192和255),把三個(gè)附加灰色調(diào)(RGB=96、160和224)包括在內(nèi)。圖11的最右欄中表示了八種灰度。
圖12是在為24位色彩設(shè)置的計(jì)算機(jī)的視頻屏幕上的測試圖案(稱作0-255 RGB+灰度測試圖案)的彩色打印件。測試圖案具有純紅、純綠和純藍(lán)的水平條,從零(最暗)增加到255(最亮)。它還具有純灰色條(等量的紅、綠和藍(lán)),從零增加到255。圖13是在采用本發(fā)明的“7位灰度優(yōu)先色彩模式”實(shí)施例且源視頻為圖12所示的測試圖案時(shí)所得客戶機(jī)屏幕的彩色打印件。最后,7位灰度優(yōu)先色彩模式精確地顯示最流行的五種紅、綠和藍(lán)色調(diào),并提供比技術(shù)人員從7位所期望的更多的灰度等級(jí)。
與先有技術(shù)的六位色彩方案相比,7位灰度優(yōu)先色彩模式提供更好的色彩質(zhì)量,其中灰度數(shù)量變?yōu)閮杀?八對(duì)四)。7位灰度優(yōu)先色彩模式在其中高色深度不是關(guān)鍵的計(jì)算機(jī)領(lǐng)域中具有特殊應(yīng)用,以及在網(wǎng)絡(luò)管理領(lǐng)域中具有更特殊應(yīng)用。網(wǎng)絡(luò)管理員常常維護(hù)不在管理員附近的服務(wù)器。管理員仍然需要訪問服務(wù)器,并與服務(wù)器實(shí)時(shí)交互。在鍵盤或鼠標(biāo)輸入之后讓視頻從服務(wù)器盡快到達(dá)網(wǎng)絡(luò)管理員是重要的。而且,以極差的色彩或灰度質(zhì)量返回視頻或者過于緩慢地跟上鍵盤和鼠標(biāo)輸入的先有技術(shù)視頻方案是不可接受的。具有7位灰度優(yōu)先色彩模式的本壓縮系統(tǒng)為需要計(jì)算機(jī)界面(按鈕、條等)的功能方面的良好視頻的網(wǎng)絡(luò)管理員提供優(yōu)異的色彩質(zhì)量和額外的灰度級(jí)質(zhì)量。
在本發(fā)明的另一個(gè)實(shí)施例中,色深度根據(jù)源視頻內(nèi)容和/或網(wǎng)絡(luò)帶寬可用性來動(dòng)態(tài)增加或減少。視頻壓縮編碼器將通知客戶機(jī),MP命令的長度被增加或減少,其它所有命令將保持相同。由于MP命令為最低優(yōu)先級(jí)并且較少出現(xiàn),因此對(duì)于各MP命令,擴(kuò)展到兩個(gè)或兩個(gè)以上字節(jié)不會(huì)明顯增加使用大部分計(jì)算機(jī)屏幕所產(chǎn)生的網(wǎng)絡(luò)通信量。查看圖像、如照片將增加MP命令的數(shù)量以及增加差異。測試表明,把MP命令從一字節(jié)增加到二字節(jié)僅讓典型計(jì)算機(jī)屏幕上的通信量增加30%。
在本發(fā)明的另一個(gè)實(shí)施例中,可通過在來自所發(fā)送的前一幀的源視頻沒有改變時(shí)不發(fā)送數(shù)據(jù),使網(wǎng)絡(luò)通信量減至最少。在這個(gè)實(shí)施例中,當(dāng)編碼器26認(rèn)識(shí)到?jīng)]有發(fā)生改變時(shí),不需要發(fā)送命令,因?yàn)楫?dāng)客戶機(jī)11沒有接收命令時(shí),缺省情況下不對(duì)客戶機(jī)屏幕進(jìn)行改變。在另一個(gè)備選實(shí)施例中,在某個(gè)時(shí)段(例如一分鐘)之后,服務(wù)器軟件向客戶機(jī)發(fā)送消息,讓客戶機(jī)11知道連接仍然有效且屏幕沒改變。
在圖1和圖2所述的實(shí)施例中,源視頻來自均位于目標(biāo)服務(wù)器15中的視頻創(chuàng)建軟件和視頻控制器芯片。另一個(gè)示例實(shí)施例是讓源視頻來自與視頻壓縮器集成在一起的視頻創(chuàng)建軟件和視頻控制器芯片。圖14中說明了這種“嵌入式”全集成系統(tǒng)的一個(gè)實(shí)例。
另一個(gè)備選實(shí)施例是完全采用直接與視頻創(chuàng)建軟件接口的軟件來壓縮視頻(利用上述相同類型的視頻命令),消除了對(duì)視頻控制器芯片的需要。圖15中說明了這種純軟件“無控制器”實(shí)施例的一個(gè)實(shí)例。
在前面的示例實(shí)施例中,命令解碼器通過PC軟件來實(shí)現(xiàn)。一個(gè)備選實(shí)施例完全采用硬件或者采用硬件和低成本低性能的小型微處理器的組合來實(shí)現(xiàn)解碼器。這種“嵌入式”解碼器將直接向視頻顯示器輸出其視頻(沒有PC或視頻控制器芯片),如圖16所示。這種“微客戶機(jī)”還可包含鍵盤和鼠標(biāo)接口電路,并且還可集成到視頻顯示器中。微客戶機(jī)適用于希望讓所有工作人員計(jì)算機(jī)離開主工作區(qū)并呆在機(jī)房中的應(yīng)用。在工作區(qū),只有鍵盤、監(jiān)視器和鼠標(biāo)出現(xiàn)在桌面上。當(dāng)工作人員從一個(gè)位置移動(dòng)到另一個(gè)位置時(shí),他們可從任何微客戶機(jī)登錄其計(jì)算機(jī)(或者允許他們進(jìn)入的其它任何計(jì)算機(jī))。
下面針對(duì)圖17描述本發(fā)明的另一個(gè)示例方面。如果添加了也具有相同客戶機(jī)軟件并且也連接到IP網(wǎng)絡(luò)的第二客戶機(jī)16(與客戶機(jī)11相同),則服務(wù)器設(shè)備14可向兩個(gè)客戶機(jī)發(fā)送同樣的視頻壓縮命令,允許兩個(gè)客戶機(jī)同時(shí)“共享”對(duì)目標(biāo)服務(wù)器15的訪問。通常,在這種“共享模式”中,一個(gè)客戶機(jī)正訪問服務(wù)器15,而另一個(gè)客戶機(jī)正在觀看。當(dāng)客戶機(jī)11正使用服務(wù)器并且遇到客戶機(jī)用戶希望網(wǎng)絡(luò)管理員(處于另一位置)查看的某種操作錯(cuò)誤時(shí),可發(fā)生該實(shí)例。這稱作“幫助臺(tái)”模式。在視頻為多播的情況下,對(duì)于在多個(gè)相應(yīng)客戶機(jī)遠(yuǎn)程控制臺(tái)17和18就坐的一組受訓(xùn)人員,更大程度地采用該共享模式。
在通過因特網(wǎng)(尤其是具有大量同時(shí)用戶)的共享模式中,采用UDP通信而不是TCP通信是有利的。技術(shù)人員會(huì)理解,UDP采用無確認(rèn)數(shù)據(jù)報(bào),而TCP數(shù)據(jù)報(bào)被確認(rèn)。大量同時(shí)共享模式用戶的確認(rèn)涌入可能充斥服務(wù)器設(shè)備。TCP的優(yōu)點(diǎn)在于,由于一切數(shù)據(jù)被發(fā)送并回送直到被確認(rèn),因此沒有數(shù)據(jù)丟失。但是,對(duì)于視頻,用戶較少關(guān)心丟失的內(nèi)容,而更多關(guān)心連續(xù)視頻流。換言之,僅僅由于屏幕因丟失幀而閃爍,并不意味著用戶希望視頻返回到所丟失的幀并重新開始。本發(fā)明可與TCP、UDP或其它任何確認(rèn)或未確認(rèn)協(xié)議配合使用。
申請(qǐng)人注意到,UDP協(xié)議的缺點(diǎn)在于,它們可有助于在因特網(wǎng)上惡意出現(xiàn)的業(yè)務(wù)攻擊的拒絕。由于UDP是無確認(rèn)的,因此通信量可能用UDP數(shù)據(jù)報(bào)充斥服務(wù)器。為了防止這種情況,防火墻常常封鎖UDP。在采用UDP的示例實(shí)施例中使用本發(fā)明要求接受UDP數(shù)據(jù)報(bào),但是,教室環(huán)境以及用于大量共享模式用戶的其它應(yīng)用通常處于防火墻之后的設(shè)備中。
在又一個(gè)實(shí)施例中,數(shù)據(jù)加密應(yīng)用于視頻壓縮命令,使得所傳送的壓縮計(jì)算機(jī)屏幕沒有被監(jiān)視的危險(xiǎn)??刹捎萌魏渭用芗夹g(shù),但是,從實(shí)現(xiàn)的觀點(diǎn)來看,可在相同視頻壓縮器23中與視頻壓縮編碼一起實(shí)現(xiàn)的加密技術(shù)、如AES加密比獨(dú)立的數(shù)據(jù)加密裝置更符合需要。
本發(fā)明人提出與7位灰度優(yōu)先色彩方案結(jié)合的上述命令結(jié)構(gòu)的組合作為優(yōu)選實(shí)施例,因?yàn)檫@個(gè)組合是極適合于在KVM類型服務(wù)器管理環(huán)境中工作的計(jì)算機(jī)管理員的折衷的最佳方式。重新安排命令操作碼和改變色彩方案可降低網(wǎng)絡(luò)帶寬要求或者增加用于其它環(huán)境的色深度。
例如,如果只有五個(gè)色彩位用來實(shí)現(xiàn)如圖18所示的5位灰度優(yōu)先色彩模式,則在MS命令與MP命令之間交換操作碼是有利的,如圖19所示,因?yàn)閱我晃徊僮鞔a在只具有五個(gè)P位的MP命令上是“浪費(fèi)的”。在該實(shí)施例中,單一位操作碼更好地用來增強(qiáng)MS命令的效率。它還消除了對(duì)于MS命令擴(kuò)展位(E位)的需要,因?yàn)閮H發(fā)送后續(xù)MS命令可擴(kuò)展MS命令,如圖20和圖21所示。命令結(jié)構(gòu)和5位色彩的這個(gè)備選組合對(duì)于具有大量文本的屏幕提供了較少色深度,但改進(jìn)了性能(由于更有效率的MS命令),但是,它提供了與上述7位色彩模式相同的灰度數(shù)量(8)。
對(duì)于要求更多色深度的應(yīng)用進(jìn)行了優(yōu)化的另一個(gè)實(shí)施例采用圖19所示的操作碼的相同備選排列,但MP命令為一或二字節(jié)長,如圖22、23和24所示。當(dāng)它為二字節(jié)長時(shí),它提供12位色彩(4紅、4綠和4藍(lán)),如圖23所示。當(dāng)它為一字節(jié)長時(shí),它提供定義16個(gè)灰色調(diào)(紅、綠和藍(lán)均相等)的4位凈荷,如圖24所示。圖22中的“A”位(或“所有”位)表明,所有三種色彩均等于“P”位的值,以及命令限于一字節(jié)。事實(shí)上,變長MP命令為灰度優(yōu)先的,因?yàn)閺囊蛔止?jié)灰度命令中產(chǎn)生較少網(wǎng)絡(luò)通信量。在另一個(gè)實(shí)施例中,一字節(jié)MP命令的4位凈荷表示16個(gè)最流行色而不是16個(gè)灰度。16個(gè)最流行色可通過MP命令的最近使用統(tǒng)計(jì)數(shù)據(jù)或者通過16種流行色的預(yù)置列表來確定。另外,上述5位色彩模式中的更有效MS命令的相同優(yōu)點(diǎn)包括在這12位色彩模式中。這里所述的5位和12位色彩模式的密切相似性允許一個(gè)實(shí)施例根據(jù)源視頻內(nèi)容和/或可用網(wǎng)絡(luò)帶寬在5位與12位色彩之間動(dòng)態(tài)切換。對(duì)于在其它應(yīng)用或其它環(huán)境中的改進(jìn)性能,與那些表示為采用5位和12位色彩模式相似的命令的其它重新安排也是有利的。
雖然結(jié)合目前認(rèn)為是最可行和優(yōu)選的實(shí)施例對(duì)本發(fā)明進(jìn)行了說明,但要理解,本發(fā)明不限于所公開的實(shí)施例,相反,它意在涵蓋包含于所附權(quán)利要求的實(shí)質(zhì)和范圍內(nèi)的各種修改和等效方案。
權(quán)利要求
1.一種把計(jì)算機(jī)視頻壓縮為n位數(shù)據(jù)包的方法,包括檢查所選視頻幀內(nèi)的各視頻像素的色彩;確定以下條件中哪一個(gè)適用于各所選幀中的各像素第一條件,其中當(dāng)前像素相對(duì)于先前所選幀中的相同屏幕位置的像素沒有改變;第二條件,其中所述當(dāng)前像素相對(duì)于所述當(dāng)前幀中的所述當(dāng)前像素左側(cè)最近的像素沒有改變;第三條件,其中所述當(dāng)前像素相對(duì)于所述當(dāng)前幀中的所述當(dāng)前像素上方最近的像素沒有改變;第四條件,其中以所述當(dāng)前像素開始的x個(gè)像素的順序序列僅由來自2-色集的色彩組成,且x至少為(n-4);以及第五條件,其中所述第一、第二、第三和第四條件中的每一個(gè)均不適用;(a)如果所述第一、第二或第三條件中的任一個(gè)適用,則確定所述條件中的哪一個(gè)適用于以所述當(dāng)前像素開始的順序像素的最長數(shù)量,以及(i)如果所述已確定條件為所述第一條件,則對(duì)數(shù)據(jù)包編碼包括一位表示所述第五條件不適用,第二和第三位共同表示所述第一條件適用,以及(n-3)個(gè)凈荷位表示以所述當(dāng)前像素開始的、相對(duì)于所述先前所選幀中的相同屏幕位置的像素未改變的順序像素的數(shù)量;(ii)如果所述已確定條件為所述第二條件,則對(duì)數(shù)據(jù)包編碼包括一位表示所述第五條件不適用,第二和第三位共同表示所述第二條件適用,以及(n-3)個(gè)凈荷位表示以所述當(dāng)前像素開始的、可從所述當(dāng)前像素的左側(cè)最近的當(dāng)前幀中像素復(fù)制的順序像素的數(shù)量;(iii)如果所述已確定條件為所述第三條件,則對(duì)數(shù)據(jù)包編碼包括一位表示所述第五條件不適用,第二和第三位共同表示所述第三條件適用,以及(n-3)個(gè)凈荷位表示以所述當(dāng)前像素開始的順序像素的數(shù)量,它們可從其中每個(gè)上方最近的當(dāng)前幀中的所述數(shù)量的像素來復(fù)制;(b)如果所述第一、第二和第三條件均不適用而所述第四條件適用,則一個(gè)或多個(gè)n位數(shù)據(jù)包的編碼包括(i)第一數(shù)據(jù)包,包括一位表示所述第五條件不適用,第二和第三位共同表示所述第四條件適用,第四位表示所述第一數(shù)據(jù)包后面是否跟隨對(duì)應(yīng)于所述x個(gè)像素的序列的另一個(gè)數(shù)據(jù)包;(n-4)位表示所述2-色集中哪些色彩適用于所述x個(gè)像素的序列中的前(n-4)個(gè)像素中的每一個(gè);以及(ii)如果x大于(2n-5),則一個(gè)或多個(gè)后續(xù)數(shù)據(jù)包各包括一位表示對(duì)應(yīng)于所述x個(gè)像素的序列的另一個(gè)數(shù)據(jù)包是否跟隨其后;以及(n-1)位表示所述2-色集中的哪些色彩適用于所述x個(gè)像素的序列中的隨后(n-1)個(gè)像素中的每一個(gè);以及(c)如果所述第五條件適用,則n位數(shù)據(jù)包的編碼包括一位表示所述第五條件適用;以及(n-1)位定義所述當(dāng)前像素的色彩。
2.如權(quán)利要求1所述的方法,還包括確定需要超過(n-1)位來定義像素色彩,以及其中附加數(shù)據(jù)包被編碼在步驟(c)中編碼的數(shù)據(jù)包之后,它包括n位附加色彩定義位,從而創(chuàng)建總共(2n-1)位來定義所述當(dāng)前像素的色彩。
3.如權(quán)利要求2所述的方法,還包括確定需要超過(2n-1)位來定義像素色彩,以及其中一個(gè)或多個(gè)另外的數(shù)據(jù)包被編碼在所述附加數(shù)據(jù)包之后,每個(gè)另外的數(shù)據(jù)包包括n位附加色彩定義位,從而創(chuàng)建總共(Yn-1)位來定義所述當(dāng)前像素的色彩,其中Y是已編碼數(shù)據(jù)包的總數(shù)。
4.如權(quán)利要求1所述的方法,其中所述編碼步驟(a)(i)包括編碼具有定義從2到2(n-3)+1的重復(fù)計(jì)數(shù)的(n-3)個(gè)凈荷位的數(shù)據(jù)包。
5.如權(quán)利要求4所述的方法,其中n=8以及(n-3)個(gè)凈荷位定義從2到33的重復(fù)計(jì)數(shù)。
6.如權(quán)利要求1所述的方法,還包括以下步驟在編碼步驟(a)(i)、(a)(ii)或(a)(iii)中,當(dāng)所需重復(fù)計(jì)數(shù)超過一個(gè)數(shù)據(jù)包的凈荷容量時(shí),編碼y個(gè)分別有(n-3)個(gè)凈荷的數(shù)據(jù)包,共同提供等于y乘以(n-3)位的總組合凈荷。
7.如權(quán)利要求6所述的方法,其中每個(gè)單數(shù)據(jù)包凈荷具有定義多達(dá)2(n-3)的重復(fù)計(jì)數(shù)的容量;當(dāng)所需重復(fù)計(jì)數(shù)超過2(n-3)時(shí),第二數(shù)據(jù)包被編碼以提供2*(n-3)總組合凈荷,以及所述第一和第二數(shù)據(jù)包提供2(2*(n3))的重復(fù)計(jì)數(shù);以及當(dāng)所需重復(fù)計(jì)數(shù)超過單數(shù)據(jù)包可提供的2(n-3)以及兩個(gè)數(shù)據(jù)包可提供的2(2*(n-3))時(shí),第三數(shù)據(jù)包被編碼以提供3*(n-3)總組合凈荷,以及這些第一、第二和第三數(shù)據(jù)包提供多達(dá)2(3*(n-3))的重復(fù)計(jì)數(shù)。
8.如權(quán)利要求1所述的方法,其中所述編碼步驟(c)包括通過所述(n-1)個(gè)凈荷位為所述當(dāng)前像素定義少于2(n-1)個(gè)色彩,以及通過所述2(n-1)個(gè)色彩組合中未使用的其余部分定義附加的灰度強(qiáng)度。
9.如權(quán)利要求1所述的方法,其中所述編碼步驟(c)包括利用七位來定義紅、綠和藍(lán)的各五個(gè)不同強(qiáng)度,從而紅、綠和藍(lán)的相等強(qiáng)度的組合定義五個(gè)灰度強(qiáng)度;以及不同于紅、綠和藍(lán)的相等強(qiáng)度所定義的五個(gè)灰度強(qiáng)度的三個(gè)附加的灰度強(qiáng)度。
10.如權(quán)利要求1所述的方法,還包括以下步驟通過駐留在個(gè)人計(jì)算機(jī)中的軟件對(duì)所述數(shù)據(jù)包解碼。
11.如權(quán)利要求1所述的方法,其中檢查各視頻像素的色彩并確定所述條件中哪一個(gè)適用于各像素的所述步驟還包括在所述當(dāng)前像素之前讀取后續(xù)像素以確定所述第四條件是否適用;以及確定一個(gè)以上所述優(yōu)先化條件是否適用于所述當(dāng)前像素,如果是,則對(duì)于所述適用優(yōu)先化條件子集(i)讀取下一個(gè)后續(xù)像素以確定所述優(yōu)先化條件子集是否也適用于所述下一個(gè)后續(xù)像素;(ii)如果所述優(yōu)先化條件子集中的一個(gè)或多個(gè)不適用于所述下一個(gè)后續(xù)像素,則從所述適用優(yōu)先化條件子集中刪除不適用的一個(gè)或多個(gè)優(yōu)先化條件;以及(iii)重復(fù)步驟(i)和(ii),直到?jīng)]有優(yōu)先化條件仍適用,此后(a)根據(jù)最后保持有效的最高等級(jí)優(yōu)先化條件把所述重復(fù)計(jì)數(shù)編碼為一個(gè)或多個(gè)數(shù)據(jù)包。
12.一種把計(jì)算機(jī)視頻壓縮為n位數(shù)據(jù)包的設(shè)備,包括執(zhí)行以下步驟的編碼器(1)檢查所選視頻幀中各像素的色彩;(2)確定以下條件中哪一個(gè)適用于所述所選幀中的當(dāng)前像素第一條件,其中當(dāng)前像素相對(duì)于所述先前所選幀中的相同屏幕位置的像素沒有改變;第二條件,其中所述當(dāng)前像素相對(duì)于所述當(dāng)前幀中的所述當(dāng)前像素左側(cè)最近的像素沒有改變;第三條件,其中所述當(dāng)前像素相對(duì)于所述當(dāng)前幀中的所述當(dāng)前像素上方最近的像素沒有改變;第四條件,其中以所述當(dāng)前像素開始的x個(gè)像素的順序序列僅由來自2-色集的色彩組成,且x至少為(n-4);以及第五條件,其中所述第一、第二、第三和第四條件中的每一個(gè)均不適用;以及(3)編碼數(shù)據(jù)包,其中包括(a)如果確定所述第一條件適用一位表示所述第五條件不適用;第二和第三位共同表示所述第一條件適用,以及(n-3)個(gè)凈荷位表示以所述當(dāng)前像素開始的、相對(duì)于所述先前所選幀中的相同屏幕位置的像素沒有改變的順序像素的數(shù)量;(b)如果確定所述第二條件而不是所述第一條件適用一位表示所述第五條件不適用,第二和第三位共同表示所述第二條件適用,以及(n-3)個(gè)凈荷位表示以所述當(dāng)前像素開始的、可從所述當(dāng)前像素的左側(cè)最近的當(dāng)前幀中像素復(fù)制的順序像素的數(shù)量;(c)如果確定所述第三條件而不是所述第一或第二條件適用一位表示所述第五條件不適用;第二和第三位共同表示所述第三條件適用,以及(n-3)個(gè)凈荷位表示以所述當(dāng)前像素開始的順序像素的數(shù)量,它們可從其中每個(gè)上方最近的當(dāng)前幀中所述數(shù)量的像素復(fù)制;(d)如果確定所述第四條件而不是所述第一、第二或第三條件適用(i)第一數(shù)據(jù)包,包括一位表示所述第五條件不適用;第二和第三位共同表示所述第四條件適用,第四位表示所述第一數(shù)據(jù)包后面是否跟隨對(duì)應(yīng)于x個(gè)像素的所述同樣序列的另一個(gè)數(shù)據(jù)包;以及(n-4)位表示所述2-色集中哪個(gè)色彩適用于所述x個(gè)像素的序列中的(n-4)個(gè)像素中的每一個(gè);以及(ii)如果x>(n-4),則一個(gè)或多個(gè)后續(xù)數(shù)據(jù)包,各包括一位表示對(duì)應(yīng)于x個(gè)像素的所述同樣序列的另一個(gè)數(shù)據(jù)包是否跟隨其后;以及(n-1)位表示所述2-色集中哪個(gè)色彩適用于所述x個(gè)像素的序列中的(n-1)個(gè)附加像素中的每一個(gè);以及(e)如果確定所述第五條件適用一位表示所述第五條件適用;以及(n-1)位定義所述當(dāng)前像素的色彩。
13.如權(quán)利要求12所述的設(shè)備,所述編碼器還確定是否需要超過(n-1)位來定義像素色彩,以及其中一個(gè)或多個(gè)另外的數(shù)據(jù)包被編碼在步驟(e)中編碼的所述數(shù)據(jù)包之后,每個(gè)另外的數(shù)據(jù)包包括n位附加色彩定義位,從而創(chuàng)建總共(Yn-1)位來定義所述當(dāng)前像素的色彩,其中Y為已編碼數(shù)據(jù)包的總數(shù)。
14.一種壓縮視頻的方法,包括把所選視頻幀的一些部分與其它部分進(jìn)行比較,以及根據(jù)所述一些部分與所述其它部分的位置關(guān)系對(duì)所述一些部分進(jìn)行編碼,以及;把所述相同所選視頻幀的又一些部分標(biāo)識(shí)為僅由來自2-色集的色彩組成的像素,以及把所述又一些部分標(biāo)識(shí)為具有與所述2-色集中的兩種色彩對(duì)應(yīng)的二進(jìn)制狀態(tài)的位序列。
15.一種壓縮固定位RGB視頻的方法,包括通過以下步驟來減少不同像素色彩的可用數(shù)量把各像素色彩的紅、綠和藍(lán)分量的預(yù)定強(qiáng)度分組到各強(qiáng)度區(qū),以及;添加比所述紅、綠和藍(lán)分量都處于彼此相同的所述強(qiáng)度區(qū)時(shí)自然創(chuàng)建的數(shù)量更多的灰度強(qiáng)度。
16.一種設(shè)備,包括編碼器,通過復(fù)制根據(jù)相對(duì)所述當(dāng)前重復(fù)的像素序列的幀位置關(guān)系選取的另一個(gè)像素的色彩來創(chuàng)建定義當(dāng)前重復(fù)的像素序列的數(shù)據(jù)包,以及對(duì)于所述當(dāng)前重復(fù)的像素序列,從一組幀位置關(guān)系類型中選取所述所選幀位置關(guān)系,使得所述所選幀位置關(guān)系將產(chǎn)生所有所述幀位置關(guān)系類型的最長重復(fù)序列。
17.如權(quán)利要求16所述的設(shè)備,其中當(dāng)所述編碼器發(fā)現(xiàn)兩個(gè)或兩個(gè)以上幀位置關(guān)系類型的所述重復(fù)序列的長度相等時(shí),根據(jù)所述兩個(gè)或兩個(gè)以上幀位置關(guān)系類型之間的預(yù)定分級(jí)選取所述所選幀位置關(guān)系。
18.如權(quán)利要求16所述的設(shè)備,其中所述幀位置關(guān)系類型組包括位于所述相同幀中的所述當(dāng)前像素左側(cè)的像素;位于所述相同幀中的所述當(dāng)前像素上方的像素;以及位于前一幀中與所述當(dāng)前像素相同的位置的像素。
19.如權(quán)利要求16所述的設(shè)備,其中所述編碼器還從特定2-色集制作定義所述當(dāng)前像素的色彩的數(shù)據(jù)包。
20.如權(quán)利要求16所述的設(shè)備,其中所述編碼器還從可用色彩的測試圖案制作定義所述當(dāng)前像素的色彩的數(shù)據(jù)包。
21.一種視頻壓縮例程,包括檢查所選的先前及當(dāng)前視頻幀中的像素;對(duì)于給定的所述當(dāng)前幀以及對(duì)于其當(dāng)前像素,制作至少定義所述當(dāng)前像素的固定位長度數(shù)據(jù)包,所述數(shù)據(jù)包包括(1)像素復(fù)制數(shù)據(jù)包,具有至少一個(gè)包類型標(biāo)識(shí)符位以及至少一個(gè)重復(fù)計(jì)數(shù)標(biāo)識(shí)位;(2)定義具有至少一個(gè)包類型標(biāo)識(shí)符位以及至少一個(gè)色彩標(biāo)識(shí)符位的數(shù)據(jù)包的色彩。
22.如權(quán)利要求21所述的視頻數(shù)據(jù)壓縮例程,其中所述算法還包括對(duì)于所述給定當(dāng)前幀和當(dāng)前像素制作二色序列編碼數(shù)據(jù)包,其中具有至少一個(gè)包類型標(biāo)識(shí)符位以及僅與二色對(duì)應(yīng)并與所述當(dāng)前像素以及緊接所述當(dāng)前像素的多個(gè)像素的色彩一致的一系列二進(jìn)制色彩標(biāo)識(shí)符位。
23.一種視頻傳送系統(tǒng),包括視頻編碼例程,根據(jù)一種算法在第一處理器上對(duì)順序像素?cái)?shù)據(jù)編碼,所述算法包括對(duì)于給定像素集選擇以下方式中較有效的一種(1)復(fù)制像素編碼;(2)單獨(dú)著色像素編碼;以及(3)二色序列像素編碼。
24.如權(quán)利要求23所述的視頻傳送系統(tǒng),其中所述復(fù)制像素編碼包括根據(jù)所述當(dāng)前幀中的所述當(dāng)前像素與所述當(dāng)前幀中的另一個(gè)像素之間的幀位置關(guān)系進(jìn)行編碼。
25.如權(quán)利要求23所述的視頻傳送系統(tǒng),其中復(fù)制像素編碼包括根據(jù)以下各項(xiàng)的選擇進(jìn)行編碼所述當(dāng)前幀中的所述當(dāng)前像素與所述當(dāng)前幀中的所述當(dāng)前像素左側(cè)的另一個(gè)像素之間的關(guān)系;所述當(dāng)前幀中的所述當(dāng)前像素與所述當(dāng)前幀中的所述當(dāng)前像素上方的另一個(gè)像素之間的關(guān)系;以及所述當(dāng)前幀中的所述當(dāng)前像素與所述相同位置上但在前一幀的另一個(gè)像素之間的關(guān)系。
26.如權(quán)利要求23所述的視頻傳送系統(tǒng),其中二色序列像素編碼包括其中以所述當(dāng)前像素開始的x個(gè)像素的順序序列僅由來自2-色集的色彩組成的編碼。
27.一種對(duì)視頻編碼的方法,包括以下步驟根據(jù)所述當(dāng)前像素與其它像素之間的幀位置關(guān)系預(yù)定義像素復(fù)制命令集;對(duì)于所述當(dāng)前像素,根據(jù)來自下列項(xiàng)之一的分級(jí)選擇進(jìn)行編碼與所述像素復(fù)制命令中的至少一個(gè)相關(guān)的已標(biāo)識(shí)重復(fù)計(jì)數(shù);僅取自兩種色彩的已標(biāo)識(shí)像素序列;以及已標(biāo)識(shí)的特定單個(gè)像素色彩。
28.如權(quán)利要求27所述的方法,其中所述編碼包括制作包含操作碼部分和凈荷部分的固定大小的數(shù)據(jù)包。
29.如權(quán)利要求28所述的方法,其中至少部分所述固定大小的數(shù)據(jù)包包括標(biāo)識(shí)與單獨(dú)著色像素相關(guān)的分級(jí)選擇的一位;標(biāo)識(shí)與三個(gè)不同像素復(fù)制命令以及二色序列像素命令相關(guān)的分級(jí)選擇的兩個(gè)附加位;以及至少n位的凈荷。
30.如權(quán)利要求29所述的方法,其中其它所述固定大小的數(shù)據(jù)包包括把所述當(dāng)前數(shù)據(jù)包與前一個(gè)數(shù)據(jù)包鏈接并且包含大于n位的凈荷的擴(kuò)展位。
31.如權(quán)利要求29所述的方法,其中其它所述固定大小的數(shù)據(jù)包包括把所述當(dāng)前數(shù)據(jù)包與所述下一個(gè)數(shù)據(jù)包鏈接的擴(kuò)展位,所述下一個(gè)數(shù)據(jù)包則包含大于n位的凈荷。
32.壓縮待顯示在屏幕上的像素位置的視頻流的方法,包括(a)從包含各像素標(biāo)識(shí)符的順序序列的所述視頻流依次接收信息幀;(b)對(duì)于首先接收的像素標(biāo)識(shí)符,把所述第一像素標(biāo)識(shí)符與以下項(xiàng)目進(jìn)行比較;(i)與屏幕上的所述首先接收的像素相鄰的相鄰像素標(biāo)識(shí)符;(ii)屏幕上的所述首先接收的像素標(biāo)識(shí)符上方的上方像素標(biāo)識(shí)符;以及(iii)在與所述首先接收的像素標(biāo)識(shí)符相同的屏幕位置但在前一個(gè)屏幕上的舊像素標(biāo)識(shí)符;以及(c)從所述條件(i)、(ii)和(iii)中至少一個(gè)為其產(chǎn)生標(biāo)識(shí)條件的連續(xù)流的所述首先接收的像素標(biāo)識(shí)符對(duì)多個(gè)像素進(jìn)行計(jì)數(shù);(d)對(duì)具有以下項(xiàng)目的數(shù)據(jù)包編碼標(biāo)識(shí)所述三個(gè)條件(i)、(ii)、(iii)中提供最長所述連續(xù)流的一個(gè)條件的代碼,以及標(biāo)識(shí)所述最長連續(xù)流的長度的信息。
33.一種系統(tǒng),包括輸入端,按照所述像素視頻值寫入視頻監(jiān)視器的順序,接收指定像素視頻值的順序序列的信息的順序流;編碼器,連續(xù)讀取信息順序流以及確定是否出現(xiàn)其中所述像素視頻值中預(yù)定數(shù)量的連續(xù)像素視頻值從僅兩種色值的組構(gòu)成的條件,以及當(dāng)所述條件出現(xiàn)時(shí),通過采用在順序上對(duì)應(yīng)于所述像素視頻值中的所述連續(xù)像素視頻值的一系列二進(jìn)制狀態(tài)值創(chuàng)建序列命令,對(duì)所述像素視頻值中所述預(yù)定數(shù)量的連續(xù)像素視頻值進(jìn)行編碼,以及其中所述二進(jìn)制狀態(tài)值之一對(duì)應(yīng)于所述兩個(gè)像素視頻值之一,所述二進(jìn)制狀態(tài)值中的另一個(gè)對(duì)應(yīng)于所述兩個(gè)像素視頻值中的另一個(gè);以及當(dāng)所述編碼器確定沒有出現(xiàn)所述條件時(shí),所述編碼器利用所述像素視頻值的備選標(biāo)識(shí)對(duì)所述信息順序流進(jìn)行編碼。
34.如權(quán)利要求33所述的系統(tǒng),其中所述編碼器創(chuàng)建關(guān)于所述兩個(gè)色彩值的標(biāo)識(shí)的指令,之后跟隨在順序上對(duì)應(yīng)于所述像素視頻值中的所述連續(xù)像素視頻值的所述二進(jìn)制狀態(tài)序列。
35.如權(quán)利要求34所述的系統(tǒng),其中與所述標(biāo)識(shí)有關(guān)的所述指令為引用所述信息的順序流中的先前像素視頻值的指令。
36.如權(quán)利要求33所述的系統(tǒng),其中所述編碼器與解碼器對(duì)應(yīng),以及所述編碼器不向所述解碼器提供與所述二色值的標(biāo)識(shí)有關(guān)的指令當(dāng)所述條件出現(xiàn)時(shí),所述編碼器提供標(biāo)識(shí)被傳遞的所述命令類型為對(duì)應(yīng)于二色序列的命令的指令;以及所述解碼器根據(jù)所述信息順序流中的所述二色值的預(yù)先建立的先前位置來識(shí)別所述二色值。
37.如權(quán)利要求33所述的系統(tǒng),其中所述像素視頻值的備選標(biāo)識(shí)包括數(shù)字標(biāo)識(shí)所述像素視頻值的連續(xù)對(duì)應(yīng)部分的一系列對(duì)應(yīng)命令數(shù)據(jù)包。
38.一種系統(tǒng),包括輸入端,按照所述像素視頻值寫入視頻監(jiān)視器的順序,接收指定像素視頻值的順序序列的信息的順序流;編碼器,連續(xù)讀取所述信息順序流并確定是否出現(xiàn)像素視頻值的所述順序序列中的當(dāng)前像素視頻值與相對(duì)它們?cè)谟?jì)算機(jī)監(jiān)視器上的顯示位于所述當(dāng)前像素視頻值上方的先前像素視頻值相同的條件,以及當(dāng)所述條件出現(xiàn)時(shí),發(fā)出命令以復(fù)制所述先前像素視頻值,從而確定所述當(dāng)前像素視頻值;以及當(dāng)所述編碼器確定沒有出現(xiàn)所述條件時(shí),所述編碼器利用所述像素視頻值的備選標(biāo)識(shí)對(duì)所述信息順序流進(jìn)行編碼。
39.如權(quán)利要求38所述的系統(tǒng),其中所述像素視頻值的所述備選標(biāo)識(shí)包括數(shù)字標(biāo)識(shí)所述像素視頻值的連續(xù)對(duì)應(yīng)部分的一系列對(duì)應(yīng)命令數(shù)據(jù)包。
40.一種傳送視頻信息幀的方法,包括以下步驟接收順序視頻信息;通過分析所述順序視頻信息的當(dāng)前值與所述順序視頻信息的先前值之間的變化關(guān)系,創(chuàng)建把所述順序視頻信息編碼為一系列視頻命令功能的命令;以及根據(jù)所述變化關(guān)系的程度自動(dòng)地動(dòng)態(tài)調(diào)整幀傳輸速率。
41.如權(quán)利要求40所述的方法,其中所述先前值被編碼,以便通過對(duì)于給定像素選取以下命令中更有效的命令來優(yōu)化編碼(1)復(fù)制先前像素值的命令,以及(2)根據(jù)色彩定義標(biāo)識(shí)當(dāng)前像素值的命令。
42.如權(quán)利要求40所述的方法,其中根據(jù)所述變化關(guān)系的程度自動(dòng)地動(dòng)態(tài)調(diào)整所述幀傳輸速率的步驟包括當(dāng)可用傳輸容量減少時(shí),穩(wěn)定地保持所述視頻信息的分辨率質(zhì)量,同時(shí)調(diào)整所述幀傳輸速率以適應(yīng)可用容量的所述減少。
43.一種通過以下步驟對(duì)視頻信息編碼的方法提供具有5位的色彩數(shù)據(jù)包,產(chǎn)生32個(gè)字用于色彩標(biāo)識(shí);為總共27個(gè)可能的色彩組合預(yù)先確定3個(gè)紅色值、3個(gè)藍(lán)色值以及3個(gè)綠色值;把32個(gè)字與27個(gè)可能的色彩組合相關(guān),產(chǎn)生5個(gè)剩余字;預(yù)先確定5個(gè)額外的灰度值;以及把所述剩余的5個(gè)字與所述5個(gè)額外的灰度值相關(guān)。
44.如權(quán)利要求43所述的方法,還包括提供大于5位的色彩數(shù)據(jù)包;以及為較低色彩分辨率動(dòng)態(tài)選擇所述5位數(shù)據(jù)包,以及為較高色彩分辨率選擇更高位數(shù)據(jù)包。
全文摘要
公開一種視頻壓縮系統(tǒng)(圖2),它經(jīng)過優(yōu)化,以便利用通常出現(xiàn)在計(jì)算機(jī)屏幕(11)上的冗余類型以及實(shí)時(shí)交互計(jì)算機(jī)用戶(11)可接受的視頻損失類型。它自動(dòng)適應(yīng)各種各樣的變化網(wǎng)絡(luò)(29)帶寬條件,以及可接受任何視頻分辨率和無限數(shù)量的色彩。視頻壓縮編碼器可采用硬件或軟件來實(shí)現(xiàn),它把源視頻壓縮為8位或更多位的固定長度的一系列數(shù)據(jù)包。
文檔編號(hào)G06T9/00GK1669233SQ03816346
公開日2005年9月14日 申請(qǐng)日期2003年4月7日 優(yōu)先權(quán)日2002年10月1日
發(fā)明者W·A·丹布拉卡斯 申請(qǐng)人:阿沃森特公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1