两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

文檔序號:7663557閱讀:207來源:國知局
專利名稱:視頻壓縮系統(tǒng)的制作方法
技術領域
本發(fā)明涉及計算機數據處理,更具體來說,涉及計算機視頻壓縮。
背景技術
現(xiàn)有的視頻壓縮系統(tǒng)可壓縮視頻數據流,因此它耗用較少帶寬通 過通信信道進行發(fā)送。這些系統(tǒng)利用預計在它們打算壓縮的視頻中出 現(xiàn)的冗余度。例如,JPEG和MPEG利用攝像圖像的相鄰像素的色彩 中常見的相似性。另外,MPEG利用以下事實運動圖像中往往有許 多像素在視頻的許多幀中保持相同色彩,或者僅隨著攝像機移動而在 屏幕上移動其位置。
根據視頻質量下降(或"視頻損失")多少是觀看視頻的人(或"用 戶")可接受的,還可進一步壓縮視頻,但不同類型的視頻損失的可接 受性在很大程度上取決于用戶的活動(或"應用,,)。四種視頻損失為 (l)分辨率損失(看起來;f莫糊),(2)色深度損失(具有更少色調),(3)幀速 率損失(運動圖像的失速或振動),以及(4)時間損失或"視頻延遲"(從 視頻捕捉到其可供觀看的時間延遲)。
為了實現(xiàn)更高的壓縮率,不同的壓縮系統(tǒng)利用它們要滿足的用戶 最能接受的視頻損失的類型。例如,采用MPEG,為通信信道產生過 多數據的快速動作畫面利用分辨率損失來發(fā)送,因為影片觀眾接受分 辨率損失超過他們接受幀速率損失或色深度損失。
視頻延遲在某些應用中不是一個問題,但在另外一些應用中卻是
嚴重問題。不同的壓縮系統(tǒng)在它們壓縮視頻時加入不同的延遲量。加 入更多延遲的系統(tǒng)得到更高的壓縮率,因為所有在延遲期間^皮捕捉、 保存及檢驗的視頻幀提供決定如何對它們進行壓縮的更好的可能性。 一個實例可能是"攝像機正在移動還是只有畫面中的一個對象正在 移動,,。
視頻延遲對于例如觀看影片的"單向"用戶活動不是一個問題; 因此,用于這些應用的壓縮系統(tǒng)(例如MPEG)在壓縮視頻并開始將它 通過通信信道發(fā)送之前加入長延遲(多秒或更長)。實際上,當通信信 道是具有不確定帶寬可用性的網絡(如因特網)時,從該網絡接收的視 頻在被顯示之前往往被緩沖并且另外延遲多秒(以便消除網絡擁塞導 致的失速)。雖然時間延遲對于例如觀看影片的單向用戶活動不是一個 問題,但對于實時"交互"用戶、例如通過鼠標控制作為壓縮視頻圖 像的 一部分的光標的用戶卻是一個嚴重問題。
實時交互用戶的這樣一種實例涉及通過通信信道的計算機KVM 控制臺(^t盤、視頻顯示器和鼠標)的遠程控制。在這些"遠程控制臺" 應用中,^t盤和鼠標數據通過通信信道從遠程控制臺發(fā)送,并"交換" 到許多"目標,,服務器計算機其中之一,就好象鍵盤和鼠標直接連接 到那個目標服務器上一樣。相應的視頻從目標服務器發(fā)送到遠程控制 臺,就好象目標服務器直接連接到遠程控制臺的視頻顯示器一樣。在 授予Beasley等人的共同所有美國專利第5721842以及授予Perholtz等 人的第5732212號中描述了 KVM系統(tǒng)的實例,它們中每一個通過引 用結合到本文中。
一些KVM系統(tǒng)的通信信道提供足夠的帶寬來傳送未壓縮視頻, 因為它們使用專用本地電纜和專用電路交換。與基于專用本地電纜的 KVM系統(tǒng)相比,適合在網絡上經由例如因特網協(xié)議進行工作的KVM 系統(tǒng)(為簡潔起見,本文中稱作"KVM/IP"系統(tǒng))提供有限的不確定帶 寬可用性。從遠程控制臺向所選目標服務器及時地發(fā)送^:盤和鼠標信 息是KVM/IP系統(tǒng)所關心的一個方面。更關心的方面是把較大量的禍L
頻數據及時地送回遠程控制臺。由于當今典型的計算機以每秒2千兆 比特以上的速率連續(xù)輸出視頻,并且遠程因特網連接(例如DSL)通常
以每秒1兆比特進行工作,因此要求平均完全超過2000比1的視頻壓 縮比。利用撥號調制解調器以每秒50千比特進行工作的遠程因特網連 接要求更高的平均壓縮比。
當遠程控制臺用戶移動其鼠標或者在其鍵盤上打字以便向服務器 輸入新信息時,那些動作必須被傳遞到服務器,并且由服務器按照它 們采取行動,以便創(chuàng)建新的視頻圖像,這些新的視頻圖像被送回到遠 程控制臺用戶的屏幕。向遠程控制臺用戶回送視頻的延遲是令人煩惱 的,因為它們在鍵盤或鼠標信息由用戶輸入與用戶在其屏幕上感受到 的視頻響應之間建立暫時的延遲。伴隨鍵盤活動的延遲比伴隨鼠標移 動的延遲較少令人煩惱,因此術語"鼠標-光標響應"用來描述這個問 題。
遠程控制臺應用的這個問題(以上所述)不適用于某些類型的典型 網絡瀏覽器應用。對于網絡瀏覽器應用,視頻光標圖像在用戶的計算 機上本機創(chuàng)建,因此鼠標-光標響應始終很好,即使網絡在響應服務器 產生的視頻圖像方面很f曼。對于遠程控制臺應用,網絡延遲影響鼠標-光標響應,因為光標被表示為來自服務器的視頻圖像的組成部分,并 通過網絡^^送到遠程控制臺。
在遠程控制臺應用中,對于四種視頻損失的用戶可接受性與其它 視頻應用完全相反。如上所述,最小視頻時間延遲是遠程控制臺應用 中的一個因素,但視頻延遲在其它應用中是不太重要的一種視頻損 失。遠程控制臺應用中的分辨率損失的重要性也與其它應用相反,因 為發(fā)送到遠程控制臺的計算機屏幕通常包括大量4交小字體的字母數字 文本、許多小圖標以及許多高對比度清晰邊緣。加入分辨率損失的壓 縮系統(tǒng)、如JPEG或MPEG對于其它許多應用可能是符合要求的,但 它們對于讀取小字體字母數字文本以及具有高對比度清楚邊緣的圖像 是不合要求的。用戶可接受性的相反順序還適用于色深度損失和幀速
率損失。這兩種視頻損失是遠程控制臺應用中的用戶最可接受的以及 是其它視頻應用中最難接受的。
雖然現(xiàn)有的視頻壓縮系統(tǒng)被廣泛應用以及極適合于各種各樣的應 用,但需要為最佳可能的交互計算機用戶體驗進行了優(yōu)化的視頻壓縮 系統(tǒng)。

發(fā)明內容
本發(fā)明是一種新的視頻壓縮系統(tǒng),它 一皮優(yōu)化成利用通常出現(xiàn)在計 算機屏幕上的冗余,并且還^皮優(yōu)化成利用實時交互計算機用戶可接受 的視頻損失類型。在本發(fā)明的一個實施例中,所捕捉的計算機視頻幀 被"編碼"為五個不同的、唯一選取的"命令"的組合,這些命令是 根據它們最有效地壓縮所捕捉視頻的能力來選擇和排序的。這些命令 通過網絡發(fā)送到"客戶機",在其中它們連續(xù)指示(或命令)"解碼器" 關于如何對命令解壓縮或解碼,并且在遠程視頻顯示器上重建所捕捉 的一見頻幀。以獨特的方式,本實施例可對計算枳3見頻進行壓縮和解壓 縮而沒有分辨率損失或色深度損失,但具有根據可用網絡帶寬動態(tài)調 整的幀速率損失。它還在編碼和解碼過程中加入最小延遲。
五個命令為(l)從較早的幀復制舊像素(有時稱作"較早的幀無變 化"、"無變化,,或者簡稱"NC" ), (2)從左側復制像素,(3)從上方 復制像素,(4)利用2-色集制作一系列像素,以及(5)利用指定色制作一 個或多個像素。各個命令在用于分級結構時提供獨特的效率。另外, 這些命令包含在由8位或更多位的固定長度的數據包所組成的內容 中,使得它們可采用軟件或硬件來方便地發(fā)送、接收和解碼。本發(fā)明 不限于任何命令或數據包長度,但是優(yōu)選實施例通常釆用的長度是8 位的倍數(例如16、 32或64),使得它們與普遍使用且一般可獲得的元 件和處理器兼容。
在本發(fā)明的更廣義實施例中,單獨地或以任何組合形式來使用上 述一種、兩種、三種或四種命令。例如,本發(fā)明人認為,單獨從2-色
集制作一系列像素的命令的使用在壓縮包含大量字母數字文本的視頻 (例如通過字處理程序查看這個文檔)時是獨特的。當其它命令以各種 組合被添加到其中時,得到其它優(yōu)點和效率。在其它實施例中, 一個、 兩個、三個、四個或所有五個命令與任何種類的先有技術壓縮系統(tǒng)結
合使用以增強已知系統(tǒng)的視頻壓縮。例如,MPEG、 JPEG及其它技術 (及其所有變體(例如MPEG2等))可與本文所述的五個命令中的一個或 多個配合使用以增強先有壓縮技術的視頻壓縮。
在稱作"灰度優(yōu)先"色彩模式的本發(fā)明的其它實施例中,通過利 用比起其它任何類型的視頻損失、遠程控制臺用戶更能接受色深度損 失的事實,可進一步壓縮所捕捉的視頻。在這個才莫式中,所捕捉視頻 的各像素一皮轉換為一組特別選取的顏色中匹配計算機屏幕上所用的典 型顏色的最"^秦近顏色?;疑诖私M顏色中是優(yōu)先的,因為它們在典型 計算機屏幕上是優(yōu)先的(白色和黑色包含在"灰度"的定義中)。
本發(fā)明可通過采用硬件、采用軟件或者采用硬件和軟件的組合所 實現(xiàn)的壓縮編碼來體現(xiàn)。同樣,解碼也可采用硬件、采用軟件或者采 用其組合來實現(xiàn)。"源"視頻可通過直接連接到計算機內的視頻控制 器芯片來捕捉?;蛘?,視頻可從計算機的外部模擬視頻輸出、外部數 字視頻接口(DVI)或者其它外部接口來捕捉。在一個實施例中,視頻通 過采用FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)的硬件來壓 縮。在另一個實施例中,視頻在被制成視頻輸出流之前完全采用軟件 來壓縮。
視頻壓縮命令通過網絡發(fā)送給遠程控制臺,在其中它們—皮解壓縮 并向用戶顯示。遠程控制臺可以是傳統(tǒng)PC(個人計算機),它利用PC 軟件對命令解碼,或者它可以是采用低性能微處理器構建的小型"瘦 客戶機"裝置。在一個實施例中,這些命令全部^皮設計成由一個或多 個8位數據包組成,使得它們可通過在低性能微處理器上運行的軟件 方便地解壓縮。或者,硬件裝置(例如FPGA或ASIC)可在遠程控制臺 中對命令完全解碼。在這種情況下,遠程控制臺不要求計算裝置用于
命令解碼,或者不要求視頻控制器芯片用于顯示用戶的視頻。這種低 成本硬件(或組合的硬件/軟件)遠程控制臺在以下稱作"微客戶機"。
本發(fā)明還可應用于計算機"刀片"技術,其中,各個服務器計算 機包含在單卡上,把許多這樣的卡組裝到公共刀片架中,以便共用公 共電源和中央控制功能。刀片上基于傳統(tǒng)電纜的KVM交換技術可為 本地電纜連接的用戶提供對各刀片計算機的訪問,但是,如果用戶需
要通過網絡對刀片的KVM訪問,則本發(fā)明可包含在刀片架中或者在 各刀片上,而且視頻壓縮命令可被提供給刀片架中的公共網絡接口 , 以便通過網絡發(fā)送給各種遠程控制臺。
因此,本發(fā)明可用于一般壓縮計算機視頻,以便通過LAN、 WAN、 撥號或者其它任何網絡發(fā)送計算機視頻,用于在痩客戶機、微客戶機 中應用以及遠程控制臺應用(例如KVM/EP系統(tǒng))。


本專利申請文件包含至少一個彩色制圖。配有彩圖的本專利或者 專利申請公開的副本將在索取并支付必要費用之后由專利局提供。
圖1是在具有采用PC軟件實現(xiàn)的客戶機的KVM/IP中的本發(fā)明 的 一個示例實施例的示意表示;
圖2是本發(fā)明的一個示例實施例的示意表示,說明硬件視頻壓縮 器的內部操作;
圖3-10是在具有8位包長度的本發(fā)明的一個示例實施例中的視頻 壓縮命令的表格;
圖ll是流程圖,描述在本發(fā)明的"7位灰度優(yōu)先色彩模式"實施 例中如何減少色深度;
圖12是在為24位色彩設置的計算機的視頻屏幕上的測試圖案(稱 作0-255 RGB+灰度測試圖案)的彩色打印;
圖13是在采用本發(fā)明的"7位灰度優(yōu)先色彩模式"實施例且源視 頻是圖12所示的測試圖案時的客戶機計算機屏幕的彩色打?。?br> 圖14是具有視頻創(chuàng)建軟件以及與視頻壓縮器結合在一起的視頻
控制器芯片的本發(fā)明的一個示例實施例的示意表示;
圖15是沒有視頻控制器芯片但具有軟件視頻壓縮的本發(fā)明的一
個示例實施例的示意表示;
圖16是稱作微客戶機的本發(fā)明的一個示例實施例的示意表示; 圖17是本發(fā)明的一個示例實施例的示意表示,描述"共享模式"
的概念;
圖18是流程圖,描述在本發(fā)明的"5位灰度優(yōu)先色彩模式"實施 例中如何減少色深度;以及
圖19-24是與5位和12位色彩模式配合使用的本發(fā)明的一個備選 實施例中的視頻壓縮命令的表格。
具體實施例方式
本發(fā)明可利用旨在通過通信信道、包括通過中介網絡發(fā)送計算機 視頻的l壬何硬件或軟件來實現(xiàn)。 一種這樣的示例實施例如圖1所示, 通過舉例而非限定的方式來描述。實際上, 一旦技術人員閱讀了以附 圖體現(xiàn)并在本文中描述的本發(fā)明,將會理解其它實施例。
在圖1中,KVM/IP系統(tǒng)10包括遠程控制臺客戶機11和服務器 設備14。在所示實施例中,遠程控制臺11通過網絡就緒PC(包括鍵盤、 視頻顯示器和鼠標)中的PC軟件來實現(xiàn)??蛻魴C11經由因特網協(xié)議網 絡13、通過KVM/IP設備14向目標服務器15進行傳遞。設備14和 客戶機11包括標準網絡I/O硬件和軟件,從而允許它們經由任何形式 的因特網協(xié)議連通性進行通信,例如撥號、DSL、 WAN、 LAN、 Tl、 無線等等。
在圖1中,所述設備用作目標服務器15與客戶機11之間的中介, 允許客戶機11將其鍵盤、視頻顯示器和鼠標耦合到服務器15,就象 客戶機11直接連接到它一樣。在該方面,與IP網絡的尋址和交換能 力結合的系統(tǒng)10的方式和操作代表KVM交換機,例如由本受讓人、
由Huntsville, Alabama的Cybex Computer Products以及由Redmond, Washington的Apex. Inc.出售的那些產品。
客戶機11包括便于例如通過標準TCP/IP地址識別目標服務器 15(經由設備14)的軟件。 一旦在客戶機ll與設備14之間建立了通信, 則客戶機11采用軟件經由IP網絡13向設備14發(fā)送在客戶機上輸入 的鍵盤和鼠標數據。設備14接收交換或路由到它的數據,并將該數據 施加到服務器15的鍵盤和鼠標端口 ,就好象鍵盤和鼠標直接連接到服 務器15 —樣。作為響應,服務器15(經由正在服務器15上運行的無論 任何應用程序)按照4定盤和鼠標數據來行動,從而產生新的視頻數據, 此視頻數據經由服務器15的視頻輸出端—皮輸出到設備14。
一旦設備14接收到來自服務器15的視頻,則通過以下描述的發(fā) 明算法之一對其進行壓縮,并把所得視頻壓縮命令經由IP網絡13傳 送到客戶機11。壓縮可通過設備14中的FPGA、 ASIC或其它任何硬 件或軟件來進行?;蛘撸O備14可以"嵌入"服務器15,或者如果 服務器15包括執(zhí)行此壓縮并直接向IP網絡13發(fā)送所得命令的軟件, 則可除去設備14。在接收后,客戶機11釆用PC軟件對這些命令解碼, 并在客戶機PC的屏幕上再現(xiàn)目標服務器的視頻,供用戶觀看?;蛘撸?命令解碼可采用客戶機ll中的硬件來進行。
在圖1的實施例中,用戶應當感覺到客戶機PC的鍵盤、視頻顯 示器和鼠標直接連接到服務器15,即使客戶機11和服務器15可能在 物理上處于遠至地球兩端的位置。在獲得經由設備14送往服務器15 的鍵盤和鼠標數據時以及在回收視頻時加入過多延遲會妨礙該目的。 鍵盤和鼠標要求可快速且比較有效地傳輸的較少數據通信量,但是大 量視頻數據提出了更難處理的問題。為了有效率,視頻必須由設備14 進行壓縮,經由IP網絡13傳送,由客戶機11進行解壓縮,以及盡快 呈現(xiàn)在用戶的屏幕上。過度延遲在鼠標-光標響應中最明顯。甚至出現(xiàn) 在屏幕上的鼠標移動與光標響應之間的微小延遲也會讓用戶煩惱。
圖2說明本發(fā)明的一個示例實施例。存在許多在其中可設計本發(fā)
明的不同硬件和軟件實現(xiàn),圖2的實施例不是唯一的這種方式。在閱 讀本理論之后,技術人員會了解實現(xiàn)本發(fā)明的、符合本發(fā)明的范圍的 其它方式。
在圖2的頂部,源視頻21可以采用任何形式,模擬的或數字的。
大部分現(xiàn)行視頻控制器芯片的視頻輸出可以數字方式與平板顯示器配
合使用,例如用于膝上型計算機。視頻壓縮器23可直接連接到視頻控 制器芯片20的輸出引腳,或者可連接到目標服務器15上的外部連接 器。 一種外部連接器是DVI(數字視頻接口),它是用于把數字視頻連 接到外部數字顯示裝置的一種標準。其它任何類型的源視頻也會滿足 需要——本發(fā)明不限于此。
作為選擇,色深度筒化器22可以包含在視頻壓縮器23中,以便 減少定義各像素顏色的位數。通過把像素的顏色分類為若干區(qū)來進行 這個操作。當源視頻21為數字視頻時,色深度減少的最簡單方法是忽 略最低有效位。例如,通過忽略8位紅、綠和藍信號中每個的3個最 低有效位,24位色彩可轉換為15位色彩。忽略各個8位色彩信號的4 個最低有效位將產生12位色彩。稱作7位灰度優(yōu)先色彩模式以及5位 灰度優(yōu)先色彩才莫式的更復雜色彩減少方法在下面進一步描述并在圖11 和18中說明。
如果源視頻21為模擬視頻信號,則色深度簡化器22需要包括 A-D(模數)轉換器。對于模擬視頻,各像素由三個模擬信號(紅、綠和 藍)定義。A-D轉換器通過檢測各像素的三個信號處于什么"區(qū)",使 其強度數字化(與以上所述的數字色深度簡化器所進行的操作極為相 似)。與模擬視頻的主要差異是噪聲。當模擬信號處于某個區(qū)的邊緣 時,少量^t擬噪聲可能使數字化儀在后續(xù)幀中從一個區(qū)到另 一個區(qū)來 回跳動。在這種情況下,看起來好象源視頻21正在變化,即使它沒有 改變。因此,對于模擬輸入,需要用某種噪聲抑制方法來減少這種"區(qū) 跳動"??刹捎萌魏卧肼曇种萍夹g,但在一個實例中,當輸入信號處 于某個區(qū)內時,它必須離開那個區(qū)至少一個門限量,才—皮視作處于另
一個區(qū)。對視頻幀中的每個像素進行各像素的信號在前一幀中處于什 么區(qū)的這種比專支。
雖然對于源視頻所述的若干實施例是在本發(fā)明之內考慮的,但圖2 中的特定示例實施例假定從目標服務器15中視頻控制器接收的數字 視頻為源視頻。視頻芯片20的輸出為源視頻21,它是連續(xù)的視頻數 據流。視頻控制器芯片20不需要受到本發(fā)明的任何方面的控制(但本 發(fā)明無疑可與某種視頻芯片控制結合使用),也就是說,視頻芯片20 將以符合其本身內部定時的連續(xù)流來輸出視頻。
源視頻21是一見頻壓縮器23的輸入。當然,其它處理裝置、如通 用或專用處理器可取代硬件視頻壓縮器23。視頻壓縮器23包括至少 兩個幀緩沖器24和25,而且為了附加的運算復雜度和效率,還可包 括許多附加的幀緩沖器或者幀緩沖器類型。在客戶機11通過網絡29 建立連接之前,在幀緩沖器24或25其中之一中(在圖2所示的時刻, 幀緩沖器25是活動的,表示它正在捕捉視頻)連續(xù)捕捉(以及連續(xù)蓋寫) 源視頻21。
當客戶機首先通過網絡29進行連接時,視頻捕捉停止,以及編碼 器26開始讀取并壓縮緩沖器25中所捕捉的視頻數據。它從幀緩沖器 的開頭(為屏幕的左上像素)開始,逐個像素地進行到幀緩沖器的結尾 (為屏幕的右下像素),預作準備及構建最有效的命令序列。當編碼器 26構建這個命令序列(根據以下描述的算法實施例)之時,服務器CPU 27經由I/O 28和網絡29將它們發(fā)送給客戶機11 。在編碼器26完成緩 沖器25中的最后一個像素之后,幀緩沖器交換以及源視頻開始在另一 個幀緩沖器(本例中為緩沖器24)中被捕捉。即使CPU 26還沒有完成向 網絡29發(fā)送這些命令,這個交換也會發(fā)生。在交換之后,緩沖器25 中的幀成為"舊"幀,并表示在客戶機的屏幕上顯示(或者不久將一皮顯 示)的幀。
由于源視頻在沒有被捕捉時在繼續(xù)進行,因此當捕捉開始時,它 可能處于屏幕的中間或者屏幕中其它任何位置。不管到緩沖器24中的 新捕捉開始的位置如何,它都繼續(xù)完整的一圈,直至重新回到開始捕 捉時的屏幕位置。結果是從源視頻21捕捉的一個完整的"新"視頻幀。 如果CPU 27在捕捉了新視頻幀之后還無法通過網絡從第一壓縮幀發(fā) 送所有命令(可能是由于網絡擁塞或慢網絡),則捕捉過程將繼續(xù)蓋寫
緩沖器24中所捕捉的視頻。當網絡為更多命令準備好(并且已經捕捉
了至少一個視頻幀)時,捕捉將停止,并且對于第一幀發(fā)生的相同過程
將繼續(xù)進行。但是,由于客戶機ll這時具有其第一幀,因此編碼器26 這時能夠把新幀中的各像素與舊幀中的各像素進行比較,如果像素沒 有改變,則壓縮會好得多。在新視頻的至少一幀已經被捕捉并且網絡 為更多命令準備好之后,相同的過程這時繼續(xù)進行。這個在等待網絡 就緒時連續(xù)進行捕捉的過程根據網絡條件降低到客戶機的有效幀速 率,并且顯示"最新"視頻優(yōu)先于顯示"所有"視頻。實際上,所捕 捉的視頻變成到期商品。比起在"所有"視頻運動被排隊并稍后發(fā)送 的情況下必須容忍的視頻延遲,遠程控制臺用戶更能接受幀速率損 失。
因此,在本實例中,新的幀緩沖器(原來的舊幀緩沖器)捕捉最近 的源視頻幀。然后,舊幀(在舊幀緩沖器中)和新幀(在新幀緩沖器中) 由編碼器26讀取,用于比較和壓縮視頻。存在捕才足和比較視頻幀以便 壓縮的備選方法,本文中不描述所有這些方法。
在本發(fā)明的實施例的更狹義方面,采用本文中針對圖3所述的視 頻編碼的所有方面。本文中針對"本發(fā)明"所述的所有那些方面的詳 細說明不應理解為表示本發(fā)明要求所述示例算法的每個方面。提供這 些實例是為了描述其中可實現(xiàn)本發(fā)明的效率的一個示例方法。另外, 更廣義或更狹義來說,本發(fā)明的若干方面可根據以下描述來實現(xiàn)。因 此,在圖3中,提供五個視頻壓縮命令用于壓縮從幀緩沖器24和25 中讀取的視頻。按照分級次序,它們是(l)從較早的幀復制舊像素, (2)從左側復制像素,(3)從上方復制像素,(4)利用2-色集制作一系列像 素,以及(5)利用指定色制作一個像素。本發(fā)明人發(fā)現(xiàn),分級命令的這
種組合為計算機顯示提供了顯著的視頻壓縮。這些命令中前三個提供3 維復制(水平、垂直和時間),第四個命令為僅由兩種顏色組成的屏幕 段(例如文本)提供獨特的效率。
在圖3所示的實施例中,有五個不同的視頻壓縮命令。所有命令 都由單個數據包或多個數據包組成,其中各數據包由一個8位字節(jié)組 成。各命令的第一數據包的前一到三位為運算碼(或"操作碼"),它
們確定命令的基本功能。"E"位是"擴展"位,其余位(R、 C和P) 為"凈荷"位。五個命令的一般格式如圖3所示,它們的更詳細格式 如圖4-10所示。對于具有不同數據包長度的實施例,凈荷位的數量是 不同的。例如,16位數據包通常具有8個附加的凈荷位。
最低分級命令、即MP(制作像素)命令在第一比特單元(比特位置 七)中具有一,之后跟隨定義色彩的凈荷位("P"位)(其它命令中沒有 一個是以一開始的)。如果所用色彩位的數量為七,則MP命令為一字 節(jié)長(如圖3所示)。如果所用色彩位的數量為十五,則MP命令為兩個 字節(jié)長,其中第一字節(jié)的第一位是一(如圖4所示)。同樣,如果所用色 彩位(P位)的數量為23,則MP命令為三字節(jié)長(如圖5所示),依此類 推。MP命令是要理解的最筒單命令,并且還提供最小壓縮。據說, 主要"使一個像素為這種色彩",其中凈荷標識該色彩。計算機控制 臺的一種普遍設定為15位色彩(5位用于紅色,5位用于綠色,以及5 位用于藍色)。15位色彩通過兩字節(jié)MP命令來支持。由于單字節(jié)MP 命令具有七個凈荷位,因此它們可提供27(或128)種不同顏色。下面進 一步描述的7位灰度優(yōu)先色彩模式描述源視頻如何可被"簡化"到最 接近計算機控制臺上廣泛采用的128色。本發(fā)明的操作的以下論述描 述通過一字節(jié)MP命令的操作,但本發(fā)明不限于具體數量的色彩位(P 位)。
在可壓縮性方面,其中每個像素為隨機色彩的幀在沒有分辨率損 失的前提下是不可壓縮的(其它壓縮系統(tǒng)、如JPEG、分形分析等可提 供具有不同程度分辨率損失的壓縮)。對于圖3的實施例,這種隨機幀
中的每個單像素采用MP命令來編碼,如果這個幀具有一百萬像素, 則要采用一百萬個MP命令對它編碼。如杲編碼器無法使用其它任何
命令對像素編碼,則采用MP命令。每個像素始終適合通過MP命令 來編碼。因此,MP命令出現(xiàn)在圖3的最低分級位置中。作為優(yōu)先級 列表,圖3表明,編碼器26嘗試進行最上面的命令、然后是第二、第 三、第四,然后到達MP命令作為最后的手段。
現(xiàn)在來看圖3中的才喿作碼,比特位置七中的"一"唯一標識制作 像素命令。如果比特位置七中是"零,,,則該命令為圖3所示的其它 四個命令其中之一,其中隨后兩位(比特位置五和六)標識應用其它四 個命令中的哪一個。因此,比特位置五和六中的00表示CO(復制舊的 或者無變化)命令,01表示CL(復制左側)命令,10表示CA(復制上方) 命令,以及11表示MS(制作序列)命令。此后,這四個命令類型中的 每一個具有跟隨操作碼的凈荷位。凈荷位為R、 C和P位。下面將借 助MS命令來論述E位。
CO、 CL和CA命令中的凈荷位(R位)表示命令操作重復的次數。 CO命令通知客戶機像素對當前顯示的像素來說沒有改變。因此,編碼 器26把舊的和新的幀緩沖器進行比較,以及在確定"新"幀中的當前 像素與"舊"幀中的同樣位置的像素相同時,調用CO命令。這樣, 對于在源視頻中沒有改變的屏幕的若干部分,發(fā)送CO命令。
隨后的兩個命令才艮據共同"新"幀內、而不是舊幀與新幀之間的 位置來比較像素。CL命令指示客戶機從最接近當前幀左側的位置的像 素復制色彩。如果當前像素是視頻行上的第一像素,則最接近左側的 像素為前一行的最后一個像素。CA命令指示客戶機從最接近當前幀上 方的像素復制色彩。CL、 CA和CO命令在以下稱作"復制"命令。 可用其它命令代替,它們?yōu)橄袼貜椭铺峁┕矌瑑然蚺f幀與新幀之間 的關系。由于計算機視頻中存在的水平和垂直矩形及線條的迅速擴 大,當前所述的命令在計算機視頻中具有特別的優(yōu)點。對于水平線, 例如,CL命令具有特別的實用性,對于垂直線,CA命令具有特別的
實用性。
最后的命令是MS或制作序列命令,其本身在現(xiàn)有視頻編碼類型
中是獨特的。MS命令利用計算機視頻的特殊方面,即,典型計算機 屏幕的大部分僅由兩種顏色構成。在計算機視頻中的典型實例是文本 信息,其中屏幕大部分由固定背景色上的文本前景色組成。在這些情 況下,MS命令讓編碼器26創(chuàng)建大量視頻而沒有文本清晰度的損失, 以及具有極大的壓縮量。
現(xiàn)在,在命令的凈荷結構的上下文中以及在實際應用的上下文中 ^侖述每個命令。如上所述,CO命令(圖3、 6和7)實質上標識當前像素 對于位于前一幀的相同位置的像素來說沒有改變。為了進一步壓縮, 凈荷不僅標識了當前像素沒有改變,而且還標識了一定數量的連續(xù)像 素沒有改變。以下描述數量是多少。如圖3所示,對于CO命令,在 三位操作碼之后,有五位(RRRRR)表明該CO命令的重復計數。這五 位可設置為0與31之間的任何二進制值。
由于為零的重復計數沒有意義,因此通常最初^^定,這五位計數 定義一行中相對前一幀未改變的多達32個連續(xù)像素。但是,如果僅使 用一字節(jié)MP命令(而不是兩個或兩個以上字節(jié)長的MP命令),則為一 的重復計數也沒有意義,因為 一字節(jié)制作像素(MP)命令具有與重復計 數為一的CO命令相同的壓縮值。在該情況下,重復計數凈荷可從為 二的計數開始,使得00000的凈荷表示重復計數為二, 11111的凈荷 表示重復計數為三十三。這樣,提供了小的附加效率,即,具有五位 凈荷的CO命令標識以下事實在兩個像素與三十三個像素之間的某 個位置相對于已顯示的幀沒有改變。
此優(yōu)選實施例進一步增加了效率。假定超過三十三個像素沒有改 變。如圖6所示,具有OOO才喿作碼的第二個緊連的字節(jié)可跟隨具有000 的第一字節(jié),從而再提供第二個五位來表示從二到三十三個像素。但 是,解碼器30將檢測具有CO操作碼的兩個連續(xù)數據包,并把兩個五 位凈荷解釋為具有十位凈荷的單個CO命令。利用十位凈荷,連續(xù)CO
像素的數量從34擴展為1025。換言之,對于僅兩個八位字節(jié),超過 一千像素的幀可被發(fā)送給客戶機。CO命令的效率逐漸提高。可以注意 到,制作兩個具有CO操作碼的連續(xù)數據包的原因正是以下事實要 求超過33的重復計數。如果不要求超過33的重復計數,則編碼器26 不制作兩個具有CO操作碼的連續(xù)數據包。
如果編碼器26要求35或36的重復計數,這就需要第二字節(jié),則 兩字節(jié)CO命令短暫地成為無效的。但是, 一旦重復計數多達一千像 素(例如1024x768分辨率屏幕上的整行),則只要兩個字節(jié)就可壓縮整 行。此外,如果第三CO命令跟隨第二命令(如圖7所示),則解碼器30 才全測十五位凈荷。如果存在第四CO命令,則檢測二十位凈荷。四字 節(jié)CO命令可標識超過一百萬像素沒有改變,這超過了具有1024x768 分辨率的一整幀所需的量。本發(fā)明不限于任何特定數量的連續(xù)CO命
令或任何視頻屏幕分辨率,但為了當前目的,五字節(jié)命令(支持多達三 千三百萬像素)提供對于當前預計的最高視頻屏幕分辨率的全幀足夠
大的重復計數。
CL和CA命令與以上所述的CO命令相同地工作。它們復制不同 的像素(左側像素或上方像素),但它們具有相同結構,即三位操作碼 之后是標識重復計數的5位RJRRRR凈荷。同樣,CL和CA命令中的 每個可以排成序列,如圖8中針對CL命令所示,從而形成10位、15 位、20位或更長的凈荷。
CL和CA命令之間的分級優(yōu)先級才適用。如果編碼器26確定CO命 令適合于當前像素,并且沒有其它復制命令適合,則編碼器暫時忽略 其它復制命令,以及繼續(xù)比較來自舊幀和新幀的像素,從而確定一行 中CO命令適合的像素數量。編碼器26在發(fā)現(xiàn)CA或CL命令單獨適 合于當前像素時進行相同的操作。在所標識(CO、 CA或CL)條件不再 為真的第一時刻,編碼器26發(fā)送圖3的一個或多個連續(xù)命令,然后評 估要編碼的下一個像素。換言之, 一旦編碼器26確定一個重復計數條
件對于給定像素為真,以及只有一個重復計數條件對于給定像素為 真,則忽略其它所有命令評估,直到當前重復計數條件不再有效。當 出現(xiàn)那種情況時,它創(chuàng)建命令(操作碼和重復計數),并將其發(fā)送給客 戶機。
只要一個復制命令(CO、 CL或CA)適合,則編碼器繼續(xù)進行它, 直到它不再適用。然后,編碼器結束該分析,并創(chuàng)建適當的字節(jié)。但 是,如果多個重復計數條件(CO、 CA或CL)起初在同一像素上適用, 則編碼器才開始對那些條件適用的連續(xù)像素進行計數。只要這些命令 之一適合,計數器繼續(xù)運行。最后,編碼器僅選擇申請完全重復計數 的一個命令,因而它僅對一個計數器進行計數。不需要運行每個復制
命令使用一個的三個不同的計數器。然后,當編碼器繼續(xù)計數時,它 將發(fā)現(xiàn)某些命令不再合適。當那種情況出現(xiàn)足夠次數,使得沒有命令 類型"保持仍然有效",編碼器26創(chuàng)建最后一個存活的命令的操作碼 以及標識在最后一個存活的命令無法適合之前適用的像素數量的重復 計數。
例如,假定對于當前像素,CL、 CA和CO命令全部適合。編碼 器記錄那種情況,并開始計數。在下一個像素中,編碼器確定所有命 令仍然適用,因而把計數器增加到二。該過程完全同樣地進行,直到 在第七像素中CL條件不再適用。編碼器26使CL退出運行,并且繼 續(xù)增加計數器。繼續(xù)進行,假定在第14像素中,CA條件變?yōu)榧佟O 命令是最后一個存活的命令,但編碼器仍然不停止計數。繼續(xù)增加計 數,直到假定在第51像素中,CO條件變?yōu)榧?。在該時刻,編碼器26 向客戶機11發(fā)送兩個連續(xù)字節(jié)00000001和00010000。第一字節(jié)表 明首先出現(xiàn)為三的重復計數(大家記得,"零"指定重復計數為二)的 03條件(操作碼=000)。但是,當解碼器30為下一個字節(jié)預先作準備 時,它看到連續(xù)的CO命令共同被讀取以形成十位字。(注意,解碼器 30在對字解碼之前還會注意超過00010000字節(jié)的下一個字節(jié),以使_ 確保第三CO字節(jié)沒有跟隨第二字節(jié)。)十位字0000110000相當于重
復計數50。兩個CO命令的這個系列指示解碼器不改變后50個像素的 色彩,保持與先前發(fā)送幀中的色彩一樣。
一旦某個復制命令變?yōu)樽詈笠粋€仍然有效的命令,下一個命令的 操作碼-波確定。當此最后一個仍然有效的命令不再適合,則那個命令 的重復計數被確定。在該時刻,編碼器還確定標識重復計數需要多少 字節(jié)。如果可在五位中提供此計數,則編碼器產生一字節(jié)命令。如果 需要十位,則編碼器產生二字節(jié)命令,依此類推。優(yōu)選實施例的這個 方面是有利的,因為它以最佳方式利用對可能的最長重復計數的標 識。實際上,可以設想CA、 CL和CO之外的其它復制命令,它們根 才居其它相關方面來標識像素。
如果那些命令中的兩個或兩個以上同樣一直保持有效,則CO、 CL和CA命令之間的分級優(yōu)先級適用。在該情況下,編碼器首先采取 復制舊命令。復制舊命令在客戶機上呈現(xiàn)最小負擔,因為結果只是跳 過像素。另一方面,客戶機必須工作以從上方復制或者從左側復制。 在這兩個復制命令之中,復制左側比從上方復制的優(yōu)先級更高,同樣 是因為它在客戶機上呈現(xiàn)較小負擔。對于復制左側,客戶機只需要讀 取緊靠前面的像素一次,并將它寫入多個像素。但是,為了從上方復 制,依靠從上方視頻行讀取多個像素,并寫到多個像素。
另一方面,如果客戶機采用硬件而不是軟件來實現(xiàn),則復制命令 優(yōu)先級可能沒有關系,因為硬件可能專用于處理命令。優(yōu)選實施例通 過確定復制命令的優(yōu)先順序,使軟件客戶機上的負荷最小。
第四命令類型(以及非復制命令的最高優(yōu)先級)為圖3、9和10所示
的MS(制作序列)命令。根據對典型計算機屏幕的壓縮的分析,制作序 列命令以大大促進壓縮效率而結束。關于MS命令的理論在于,無論 文本為什么顏色,它幾乎始終為二色才莫式。實際上,本發(fā)明人調查了 典型計算機屏幕并確定,文本的大部分以及屏幕的其它區(qū)域可采用長 MS命令來定義。MS命令提供壓縮圖標、文檔、標簽和工具條的文本 部分的高效率。其它壓縮方案要么不提供必要的壓縮效率,要么不提
供需要閱讀屏幕上的文本資料的用戶所要求的清晰度。
例如,釆用用戶正滾動文本使其從一幀到下一幀的示例,文本只 是略微上移。從壓縮器的觀點來看,各幀是需要被編碼的新像素組。 壓縮器可通過為文本窗口周圍區(qū)域寫入CO命令來得到一些重復計數 效率,但當遇到已調整的文本,則重復計數壓縮變得無效,因為沒有 出現(xiàn)長重復計數。本發(fā)明人對于復制命令不適用的那些文本類型區(qū)域 增加了效率。下面將具體描述那些MS命令如何增加壓縮效率。
首先,與前面相似,三位操作碼標識MS命令。第一操作碼位(O)
表明該命令不是制作像素命令。隨后的兩位(ll)把該命令標識為制作
序列命令。調用MS命令的時機通過編碼器超前分析四個像素來識 別。技術人員應當注意,復制命令不需要超前分析操作(但為了提供附 加功能,也可增加超前分析操作)?;蛘撸ㄟ^MS命令,或多或少的 像素可用于這種超前分析操作??梢钥吹剑胺治鲋械南袼財盗繎?當在策略上被選擇為(l)大得足以確保重復計數編碼不會更有效率, (2)短得足以使MS命令適當可用,以及(3)取值為適應所用字長度的整 數。本文中僅為了舉例,描述四個像素。當編碼器確定在隨后的四個 像素中出現(xiàn)以下兩種條件時調用MS命令(l)CO、 CL或CA命令將 不會適合,以及(2)在那后四個像素中的所有像素被限制為兩種不同 色。圖9和圖10中的實例所示的"擴展"MS命令擴展MS操作,但 只有第一字節(jié)在位5、 6、 7中包含操作碼。下面進一步描述擴展MS 命令。
如前面所述,M S命令用于作為兩種不同色的組合的 一 系列像素。 包含在可用色集合中的兩種色彩是來自緊靠前面像素的色彩(色彩0) 以及來自其之前的最近不同色像素的色彩(色彩1)。當然也可從各種選 項中采用為MS命令標識兩種像素色彩的其它方法,其中包括色彩的 嚴格標識、從當前幀或前一幀中所選位置標識、從2-色集的查找表標 識等。在優(yōu)選實施例中,兩種色彩源自緊靠前面的兩種不同色彩像素, 它們可能已采用制作像素、復制上方、復制左側或復制舊命令進行了
編碼。MS命令不關心這兩種像素是如何得到的,而只是關心它們將
成為即將出現(xiàn)的MS命令的一系列像素的兩種色彩。
上述具有2-色集的MS命令是有利的,因為它不要求具有任何色 彩標識位的字節(jié)。也就是說,MS命令不包括標識使用哪些色彩的位, 而只有標識先前標識的兩種色彩中哪一個用于此序列中的位。因此, 例如,當編碼器到達某個文本的開頭、例如白色背景上的黑色字母 "H"的左上角時,"H"的左上角的第一像素可通過黑色MP(制作像 素)命令之后跟隨幾個像素的CL(復制左側)命令來定義。當通過編碼器 的超前分析找到H的頂部中心和右上時,編碼器將創(chuàng)建制作序列命 令,因為它僅檢測即將到來的像素的兩種色彩(文本和背景)。
如圖9所示,第一MS命令字節(jié)具有三位操作碼,之后跟隨表明 這個命令被擴展到下一字節(jié)的"擴展"位(在比特位置4中)。如果擴展 位為零,則MS命令沒有擴展,它在第一字節(jié)之后結束。在這種情況 下,那個字節(jié)中的四個"C"位提供四個像素的二色圖案,然后當前 序列結束。但是,如果擴展位啟用,則MS數據的另一個完整字節(jié)將 跟隨當前字節(jié)。因此,在圖9中,第二字節(jié)為"擴展命令"字節(jié)。由 于擴展位出現(xiàn)在前一字節(jié)中,因此,下一字節(jié)不需要包含三位操作碼。 因此,擴展命令的標識不是來自當前字節(jié)中的操作碼,而是來自前一 字節(jié)中的擴展位。此結果為第一字節(jié)之后的每個字節(jié)提供制作序列數 據的七位。各擴展命令字節(jié)包含其本身的擴展位(在比特位置7中),它 標識下一字節(jié)是否為擴展字節(jié)。只要E位啟用,則這個擴展可繼續(xù)。 當E位取消時,當前序列停止。圖10的序列表示將定義88個連續(xù)像 素的序列的13字節(jié)長MS命令的一個實例。
當解碼器^t妄收制作序列字節(jié)時,它立即開始創(chuàng)建客戶機屏幕所用 的像素,如下所述。在讀取操作碼011之后,解碼器認識到,制作序 列正在開始。它讀取在前像素的色彩,并把該色彩定義為"色彩0"。 然后,它讀取其之前的最近不同色像素,并把該色彩定義為"色彩1"。
然后,解碼器讀取E位,以便確定此序列是一個字節(jié)還是更多字
節(jié)。最后,解碼器按順序讀取位0-3,并根據各像素的二進制狀態(tài)從兩 個可用色彩中創(chuàng)建像素。對于第一字節(jié),解碼器將創(chuàng)建四個像素。例
如,如果第一MS字節(jié)為01110110,并且色彩O為黑色而色彩1為白 色,則解碼器將創(chuàng)建黑、白、白、黑四個像素(0110)。然后,由于E 位設置為1,因此解碼器將注意下一字節(jié)以創(chuàng)建另外七個黑色和白色 像素。
在優(yōu)選實施例中,MS命令的第一字節(jié)創(chuàng)建四個像素(八位減去三 個操作碼位減去一個擴展位)。如果編碼器發(fā)現(xiàn)在序列中存在不到四個 像素(即在后四個像素中存在兩種以上色彩),則MS命令無法用于此優(yōu) 選實施例。此外,如果要使用MS命令的第一擴展字節(jié)(第二累加字 節(jié)),則編碼器必須預先分析而發(fā)現(xiàn)后七個連續(xù)像素適合于MS狀態(tài)(即 全部來自僅二色選擇,并且沒有復制命令適用)。然后,如圖9所示, 第一字節(jié)中的四個C位標識11-像素序列的前四個像素,以及第二字 節(jié)中的七個C位標識11-像素序列中的后七個像素。此后,僅當七個 像素的整倍數可添加到序列中時,才使用新的MS擴展字節(jié)。因此, 如前面所述,編碼器在對任何MS命令字節(jié)編碼之前"超前分析,,, 以便(l)確定前四個像素是否適合于MS處理,以及(2)確定七個像素 的附加字節(jié)是否適合。
現(xiàn)在會理解,MS命令利用順序位來定義順序像素,使得每個位 對應于為色彩0或色彩1的各像素。實際上,MS命令的C位與像素 列相似。
如前面所述,MS才莫式中的編碼器始終進行超前分析,并且不設 置E位,除非它發(fā)現(xiàn)在即將到來的像素序列中具有足夠的像素來填充 下一個擴展命令字節(jié)的后七位。如果編碼器進行超前分析并且在后七 個像素中遇到不同于2-色集的色彩,則對于當前字節(jié)結束制作序列命 令(把停止位寫入當前字節(jié)的E位)。
在一個實施例中,編碼器在所有時間對所有像素針對全部命令類 型進行比4交。在該情況下,這些比^^始終并行地進行,并且始終針對
所有命令進行。當命令類型之一識別其自己的適用性時,編碼器對它 前情況來說是最佳的。例如,在圖2的實施例中,視頻壓縮器23對于
每個單像素查找五個命令類型中每一個的適用性,以及根據MS命令
要求超前分析。
上述實施例對于照片在屏幕上的第一次呈現(xiàn)不適用,因為照片要
求較大數量的制作像素MP命令。在靜止照片被發(fā)送一次之前,編碼 器不創(chuàng)建許多復制命令,這會創(chuàng)建更好的效率。當然,在靜止照片最 初發(fā)送到客戶機之后,編碼器將對于后續(xù)幀的屏幕的那些部分產生CO 命令。當前實施例雖然不太適用于照片信息,但是在其中許多垂直和 水平線常常適合于復制命令且屏幕包含大量文本的計算機控制臺屏幕 的應用中提供額外效率。
稱作7位灰度優(yōu)先色彩才莫式的本發(fā)明的實施例提供制作像素(MP) 命令對色彩和灰度強度表的新穎和創(chuàng)造性使用。這種模式旨在從一字 節(jié)MP命令的7位凈荷得到最高性能。如圖11中所示,每個輸入色彩 (紅、綠和藍)的強度范圍處于從0(最暗)到255(最亮)的任何位置。 一些 現(xiàn)有計算機控制臺色深度減少方案采用總共六位來定義全部色彩(兩 位為紅色提供,兩位為藍色提供,兩位為綠色提供),產生四個不同的 紅色調、四個不同的藍色調以及四個不同的綠色調。43個組合為64種 可能的色彩組合。
灰色在計算機應用中也是重要的,并由其中R、 G和B以相等強 度存在的各組合構成。上述六位色彩方案在缺省情況下提供四種可能 的灰色調。雖然R、 G和B的四個色調可提供可以接受的色深度,但 有限數量的灰色調證明對于灰度級深度是不夠的。
在示例實施例中(但不是限制性的),色彩數量可增加到超過64, 同時還把灰色調數量增加比色彩增加量更大的比例。為此,所有色彩 (包括灰色)的"使用普及度"根據任意計算機控制臺屏幕的集合、預 定色彩選集等來分配,由此,頻率表標識哪些色彩(和灰度)^皮認為最 普遍。在圖11中,二進制和十進制強度等級(0-255)表示在左欄,之后
跟隨"使用普及度"等級評定。在該欄中,線條越長,則那種色彩在
典型計算機屏幕池中被標識越多。如圖所示,常用零強度,常用63和 64,常用127和128,常用191和193,常用255。
本發(fā)明人發(fā)現(xiàn),在典型計算機屏幕上,灰色比非灰色更普遍。例 如,滾動條為灰色,工具條為灰色,以及當按下"按鈕"時,按鈕的 邊緣變?yōu)椴煌幕疑{。黑色和白色是灰色調,并且極頻繁地使用。 計算機屏幕使用許多不同的灰色調,色調種類對于對比度是重要的。 在為視頻壓縮目的而減去色深度時,視頻質量受到損害的第一位是在 灰度上。當它產生時,實際色彩較為不重要。例如,紅色的程度或者 綠色的程度較為不重要。但是,當灰度深度通過色深度減少方案而消 去時,例如在屏幕上"按下按鈕"時的重要對比度丟失。
通過查看色彩的普及度,通過為各R、 G和B提供五個色調,以 及通過查找代碼位置以添加更多灰度,本實施例提供良好色彩對比度 所需的全部色彩,同時增加良好的灰度級對比度。首先,選擇一組常 用的紅、綠和藍強度。對于圖11中的實例,紅、綠和藍中每一個可以 五個最常用強度之一出現(xiàn)0、 64、 128、 192和255。它們成為提供給 各色彩的五個不同色調,即五種紅色調、五種綠色調以及五種藍色調。 利用那五種色調可得到的色彩總數為53 = 125。在這125種色彩內將 自動出現(xiàn)五種灰色調,具體為(l)R、 G和B都等于O, (2)R、 G和 B都等于64,等等。五種灰度優(yōu)于四種,但仍然沒有達到預期效果。
為此,附加灰度可編碼為像素編碼的"隱藏"區(qū)域。如圖4所示, MP命令通過七位來定義紅、綠和藍強度。128狀態(tài)(27)可由這7位來 定義,但是,利用上述五色調流行色方案,僅標識125種色彩。本實 例采用剩余三種狀態(tài)(128減125)用于三個附加灰度級。這時,代替五 個灰色調(RGB^、 64、 128、 192和255),把三個附加灰色調(RGB二96、 160和224)包括在內。圖11的最右欄中表示了八種灰度。
圖12是在為24位色彩設置的計算機的視頻屏幕上的測試圖案(稱
作0-255 RGB+灰度測試圖案)的彩色打印件。測試圖案具有純紅、純 綠和純藍的水平條,從零(最暗)增加到255(最亮)。它還具有純灰色條 (等量的紅、綠和藍),從零增加到255。圖13是在采用本發(fā)明的"7 位灰度優(yōu)先色彩 f莫式"實施例且源視頻為圖12所示的測試圖案時所得 客戶機屏幕的彩色打印件。最后,7位灰度優(yōu)先色彩才莫式精確地顯示 最流行的五種紅、綠和藍色調,并提供比技術人員從7位所期望的更 多的灰度等級。
與先有技術的六位色彩方案相比,7位灰度優(yōu)先色彩模式提供更 好的色彩質量,其中灰度數量變?yōu)閮杀?八對四)。7位灰度優(yōu)先色彩模 式在其中高色深度不是關鍵的計算機領域中具有特殊應用,以及在網 絡管理領域中具有更特殊應用。網絡管理員常常維護不在管理員附近 的服務器。管理員仍然需要訪問服務器,并與服務器實時交互。在鍵 盤或鼠標輸入之后讓視頻從服務器盡快到達網絡管理員是重要的。而 且,以極差的色彩或灰度質量返回視頻或者過于緩慢地跟上鍵盤和鼠 標輸入的先有技術視頻方案是不可接受的。具有7位灰度優(yōu)先色彩模 式的本壓縮系統(tǒng)為需要計算機界面(按鈕、條等)的功能方面的良好視 頻的網絡管理員提供優(yōu)異的色彩質量和額外的灰度級質量。
在本發(fā)明的另 一個實施例中,色深度根據源視頻內容和/或網絡帶 寬可用性來動態(tài)增加或減少。視頻壓縮編碼器將通知客戶機,MP命 令的長度被增加或減少,其它所有命令將保持相同。由于MP命令為 最低優(yōu)先級并且較少出現(xiàn),因此對于各MP命令,擴展到兩個或兩個 以上字節(jié)不會明顯增加使用大部分計算機屏幕所產生的網絡通信量。 查看圖像、如照片將增加MP命令的數量以及增加差異。測試表明, 把MP命令從一字節(jié)增加到二字節(jié)僅讓典型計算機屏幕上的通信量增 力口 30 % 。
在本發(fā)明的另 一個實施例中,可通過在來自所發(fā)送的前一幀的源 視頻沒有改變時不發(fā)送數據,使網絡通信量減至最少。在這個實施例 中,當編碼器26認識到沒有發(fā)生改變時,不需要發(fā)送命令,因為當客
戶機ll沒有接收命令時,缺省情況下不對客戶機屏幕進行改變。在另 一個備選實施例中,在某個時段(例如一分鐘)之后,服務器軟件向客 戶機發(fā)送消息,讓客戶機11知道連接仍然有效且屏幕沒改變。
在圖l和圖2所述的實施例中,源視頻來自均位于目標服務器15
中的視頻創(chuàng)建軟件和視頻控制器芯片。另一個示例實施例是讓源視頻 來自與視頻壓縮器集成在一起的視頻創(chuàng)建軟件和視頻控制器芯片。圖
14中說明了這種"嵌入式"全集成系統(tǒng)的一個實例。
另一個備選實施例是完全釆用直接與視頻創(chuàng)建軟件接口的軟件來 壓縮視頻(利用上述相同類型的視頻命令),消除了對視頻控制器芯片 的需要。圖15中說明了這種純軟件"無控制器"實施例的一個實例。 在前面的示例實施例中,命令解碼器通過PC軟件來實現(xiàn)。 一個 備選實施例完全采用硬件或者采用硬件和低成本低性能的小型微處理 器的組合來實現(xiàn)解碼器。這種"嵌入式"解碼器將直接向視頻顯示器 輸出其視頻(沒有PC或視頻控制器芯片),如圖16所示。這種"微客 戶機"還可包含鍵盤和鼠標接口電路,并且還可集成到視頻顯示器中。 微客戶機適用于希望讓所有工作人員計算機離開主工作區(qū)并呆在機房 中的應用。在工作區(qū),只有鍵盤、監(jiān)視器和鼠標出現(xiàn)在桌面上。當工 作人員從一個位置移動到另一個位置時,他們可從任何微客戶機登錄 其計算機(或者允許他們進入的其它任何計算機)。
下面針對圖17描述本發(fā)明的另一個示例方面。如果添加了也具有 相同客戶機軟件并且也連接到IP網絡的第二客戶機16(與客戶機11相 同),則服務器設備14可向兩個客戶機發(fā)送同樣的視頻壓縮命令,允 許兩個客戶機同時"共享"對目標服務器15的訪問。通常,在這種"共 享才莫式"中, 一個客戶機正訪問服務器15,而另一個客戶機正在觀看。 當客戶機11正使用服務器并且遇到客戶機用戶希望網絡管理員(處于 另一位置)查看的某種操作錯誤時,可發(fā)生該實例。這稱作"幫助臺" 模式。在視頻為多播的情況下,對于在多個相應客戶機遠程控制臺17 和18就坐的一組受訓人員,更大程度地采用該共享才莫式。
在通過因特網(尤其是具有大量同時用戶)的共享模式中,采用
UDP通信而不是TCP通信是有利的。技術人員會理解,UDP采用無 確認數據才良,而TCP數據報被確認。大量同時共享才莫式用戶的確認涌 入可能充斥服務器設備。TCP的優(yōu)點在于,由于一切數據一支發(fā)送并回 送直到^皮確認,因此沒有數據丟失。但是,對于視頻,用戶較少關心 丟失的內容,而更多關心連續(xù)視頻流。換言之,僅僅由于屏幕因丟失 幀而閃爍,并不意味著用戶希望視頻返回到所丟失的幀并重新開始。 本發(fā)明可與TCP、 UDP或其它任何確認或未確認協(xié)議配合使用。
申請人注意到,UDP協(xié)議的缺點在于,它們可有助于在因特網上 惡意出現(xiàn)的業(yè)務攻擊的拒絕。由于UDP是無確認的,因此通信量可能 用UDP數據報充斥服務器。為了防止這種情況,防火墻常常封鎖 UDP。在采用UDP的示例實施例中使用本發(fā)明要求接受UDP數據報, 但是,教室環(huán)境以及用于大量共享模式用戶的其它應用通常處于防火 墻之后的設備中。
在又一個實施例中,數據加密應用于視頻壓縮命令,使得所傳送 的壓縮計算機屏幕沒有被監(jiān)視的危險??刹捎萌魏渭用芗夹g,但是, 從實現(xiàn)的觀點來看,可在相同4見頻壓縮器23中與^L頻壓縮編碼一起實 現(xiàn)的加密技術、如AES加密比獨立的數據加密裝置更符合需要。
本發(fā)明人提出與7位灰度優(yōu)先色彩方案結合的上述命令結構的組 合作為優(yōu)選實施例,因為這個組合是極適合于在KVM類型服務器管 理環(huán)境中工作的計算機管理員的折衷的最佳方式。重新安排命令操作 碼和改變色彩方案可降低網絡帶寬要求或者增加用于其它環(huán)境的色深 度。
例如,如果只有五個色彩位用來實現(xiàn)如圖18所示的5位灰度優(yōu)先 色彩才莫式,則在MS命令與MP命令之間交換操作碼是有利的,如圖 19所示,因為單一位操作碼在只具有五個P位的MP命令上是"浪費 的"。在該實施例中,單一位操作碼更好地用來增強MS命令的效率。 它還消除了對于MS命令擴展位(E位)的需要,因為僅發(fā)送后續(xù)MS命
令可擴展MS命令,如圖20和圖21所示。命令結構和5位色彩的這 個備選組合對于具有大量文本的屏幕提供了較少色深度,但改進了性 負g(由于更有效率的MS命令),但是,它提供了與上述7位色彩模式相 同的灰度數量(8)。
對于要求更多色深度的應用進行了優(yōu)化的另一個實施例采用圖19 所示的操作碼的相同備選排列,但MP命令為一或二字節(jié)長,如圖22、 23和24所示。當它為二字節(jié)長時,它提供12位色彩(4紅、4綠和4 藍),如圖23所示。當它為一字節(jié)長時,它提供定義16個灰色調(紅、 綠和藍均相等)的4位凈荷,如圖24所示。圖22中的"A"位(或"所 有"位)表明,所有三種色彩均等于"P"位的值,以及命令限于一字 節(jié)。事實上,變長MP命令為灰度優(yōu)先的,因為從一字節(jié)灰度命令中 產生較少網絡通信量。在另一個實施例中, 一字節(jié)MP命令的4位凈 荷表示16個最流行色而不是16個灰度。16個最流行色可通過MP命 令的最近使用統(tǒng)計數據或者通過16種流行色的預置列表來確定。另 外,上述5位色彩模式中的更有效MS命令的相同優(yōu)點包括在這12位 色彩模式中。這里所述的5位和12位色彩模式的密切相似性允許一個 實施例根據源視頻內容和/或可用網絡帶寬在5位與12位色彩之間動 態(tài)切換。對于在其它應用或其它環(huán)境中的改進性能,與那些表示為采 用5位和12位色彩模式相似的命令的其它重新安排也是有利的。
雖然結合目前認為是最可行和優(yōu)選的實施例對本發(fā)明進行了說 明,但要理解,本發(fā)明不限于所公開的實施例,相反,它意在涵蓋包 含于所附權利要求的實質和范圍內的各種修改和等效方案。
權利要求
1.一種壓縮固定位RGB視頻的方法,包括通過以下步驟來減少不同像素色彩的可用數量把各像素色彩的紅、綠和藍分量的預定強度分組到各強度區(qū),以及;添加比所述紅、綠和藍分量都處于彼此相同的所述強度區(qū)時自然創(chuàng)建的數量更多的灰度強度。
2. —種通過以下步驟對視頻信息編碼的方法 提供具有5位的色彩數據包,產生32個字用于色彩標識; 為總共27個可能的色彩組合預先確定3個紅色值、3個藍色值以及3個綠色值;把32個字與27個可能的色彩組合相關,產生5個剩余字;預先確定5個額外的灰度值;以及把所述剩余的5個字與所述5個額外的灰度值相關。
3. 如權利要求2所述的方法,還包括 提供大于5位的色彩數據包;以及為較低色彩分辨率動態(tài)選擇所述5位數據包,以及為較高色彩 分辨率選擇更高位數據包。
全文摘要
公開一種視頻壓縮系統(tǒng)(圖2),它經過優(yōu)化,以便利用通常出現(xiàn)在計算機屏幕(11)上的冗余類型以及實時交互計算機用戶(11)可接受的視頻損失類型。它自動適應各種各樣的變化網絡(29)帶寬條件,以及可接受任何視頻分辨率和無限數量的色彩。視頻壓縮編碼器可采用硬件或軟件來實現(xiàn),它把源視頻壓縮為8位或更多位的固定長度的一系列數據包。
文檔編號H04N7/26GK101184236SQ20071016708
公開日2008年5月21日 申請日期2003年4月7日 優(yōu)先權日2002年10月1日
發(fā)明者W·A·丹布拉卡斯 申請人:阿沃森特公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
锡林浩特市| 舟山市| 锡林郭勒盟| 通化县| 昌黎县| 岱山县| 额尔古纳市| 城固县| 宿松县| 巴马| 临夏县| 明水县| 沙坪坝区| 响水县| 山丹县| 紫阳县| 普兰县| 敦煌市| 巩留县| 新竹县| 武威市| 内乡县| 佛山市| 泰顺县| 阳城县| 巩留县| 滦平县| 洛川县| 宁德市| 宝应县| 西贡区| 克山县| 兴山县| 油尖旺区| 宝鸡市| 广东省| 泾阳县| 白玉县| 苍溪县| 格尔木市| 唐海县|