專利名稱:視頻壓縮系統的制作方法
技術領域:
本發明涉及計算機數據處理,更具體來說,涉及計算機視頻壓縮。
背景技術:
現有的視頻壓縮系統可壓縮視頻數據流,因此它耗用較少帶寬通過通信信道進行 發送。這些系統利用預計在它們打算壓縮的視頻中出現的冗余度。例如,JPEG和MPEG利 用攝像圖像的相鄰像素的色彩中常見的相似性。另外,MPEG利用以下事實運動圖像中往 往有許多像素在視頻的許多幀中保持相同色彩,或者僅隨著攝像機移動而在屏幕上移動其 位置。根據視頻質量下降(或“視頻損失”)多少是觀看視頻的人(或“用戶”)可接受的, 還可進一步壓縮視頻,但不同類型的視頻損失的可接受性在很大程度上取決于用戶的活動 (或“應用”)。四種視頻損失為(1)分辨率損失(看起來模糊),(2)色深度損失(具有更 少色調),(3)幀速率損失(運動圖像的失速或振動),以及(4)時間損失或“視頻延遲”(從 視頻捕捉到其可供觀看的時間延遲)。為了實現更高的壓縮率,不同的壓縮系統利用它們要滿足的用戶最能接受的視頻 損失的類型。例如,采用MPEG,為通信信道產生過多數據的快速動作畫面利用分辨率損失來 發送,因為影片觀眾接受分辨率損失超過他們接受幀速率損失或色深度損失。視頻延遲在某些應用中不是一個問題,但在另外一些應用中卻是嚴重問題。不同 的壓縮系統在它們壓縮視頻時加入不同的延遲量。加入更多延遲的系統得到更高的壓縮 率,因為所有在延遲期間被捕捉、保存及檢驗的視頻幀提供決定如何對它們進行壓縮的更 好的可能性。一個實例可能是“攝像機正在移動還是只有畫面中的一個對象正在移動”。視頻延遲對于例如觀看影片的“單向”用戶活動不是一個問題;因此,用于這些應 用的壓縮系統(例如MPEG)在壓縮視頻并開始將它通過通信信道發送之前加入長延遲(多 秒或更長)。實際上,當通信信道是具有不確定帶寬可用性的網絡(如因特網)時,從該網 絡接收的視頻在被顯示之前往往被緩沖并且另外延遲多秒(以便消除網絡擁塞導致的失 速)。雖然時間延遲對于例如觀看影片的單向用戶活動不是一個問題,但對于實時“交互” 用戶、例如通過鼠標控制作為壓縮視頻圖像的一部分的光標的用戶卻是一個嚴重問題。實時交互用戶的這樣一種實例涉及通過通信信道的計算機KVM控制臺(鍵盤、視 頻顯示器和鼠標)的遠程控制。在這些“遠程控制臺”應用中,鍵盤和鼠標數據通過通信信 道從遠程控制臺發送,并“交換”到許多“目標”服務器計算機其中之一,就好象鍵盤和鼠標 直接連接到那個目標服務器上一樣。相應的視頻從目標服務器發送到遠程控制臺,就好象 目標服務器直接連接到遠程控制臺的視頻顯示器一樣。在授予Beasley等人的共同所有美 國專利第5721842以及授予Perholtz等人的第5732212號中描述了 KVM系統的實例,它們中每一個通過引用結合到本文中。一些KVM系統的通信信道提供足夠的帶寬來傳送未壓縮視頻,因為它們使用專用 本地電纜和專用電路交換。與基于專用本地電纜的KVM系統相比,適合在網絡上經由例如 因特網協議進行工作的KVM系統(為簡潔起見,本文中稱作“KVM/IP”系統)提供有限的 不確定帶寬可用性。從遠程控制臺向所選目標服務器及時地發送鍵盤和鼠標信息是KVM/ IP系統所關心的一個方面。更關心的方面是把較大量的視頻數據及時地送回遠程控制臺。 由于當今典型的計算機以每秒2千兆比特以上的速率連續輸出視頻,并且遠程因特網連接 (例如DSL)通常以每秒1兆比特進行工作,因此要求平均完全超過2000比1的視頻壓縮 比。利用撥號調制解調器以每秒50千比特進行工作的遠程因特網連接要求更高的平均壓 縮比。當遠程控制臺用戶移動其鼠標或者在其鍵盤上打字以便向服務器輸入新信息時, 那些動作必須被傳遞到服務器,并且由服務器按照它們采取行動,以便創建新的視頻圖像, 這些新的視頻圖像被送回到遠程控制臺用戶的屏幕。向遠程控制臺用戶回送視頻的延遲是 令人煩惱的,因為它們在鍵盤或鼠標信息由用戶輸入與用戶在其屏幕上感受到的視頻響應 之間建立暫時的延遲。伴隨鍵盤活動的延遲比伴隨鼠標移動的延遲較少令人煩惱,因此術 語“鼠標-光標響應”用來描述這個問題。遠程控制臺應用的這個問題(以上所述)不適用于某些類型的典型網絡瀏覽器應 用。對于網絡瀏覽器應用,視頻光標圖像在用戶的計算機上本機創建,因此鼠標-光標響應 始終很好,即使網絡在響應服務器產生的視頻圖像方面很慢。對于遠程控制臺應用,網絡延 遲影響鼠標-光標響應,因為光標被表示為來自服務器的視頻圖像的組成部分,并通過網 絡被發送到遠程控制臺。在遠程控制臺應用中,對于四種視頻損失的用戶可接受性與其它視頻應用完全相 反。如上所述,最小視頻時間延遲是遠程控制臺應用中的一個因素,但視頻延遲在其它應用 中是不太重要的一種視頻損失。遠程控制臺應用中的分辨率損失的重要性也與其它應用相 反,因為發送到遠程控制臺的計算機屏幕通常包括大量較小字體的字母數字文本、許多小 圖標以及許多高對比度清晰邊緣。加入分辨率損失的壓縮系統、如JPEG或MPEG對于其它許 多應用可能是符合要求的,但它們對于讀取小字體字母數字文本以及具有高對比度清楚邊 緣的圖像是不合要求的。用戶可接受性的相反順序還適用于色深度損失和幀速率損失。這 兩種視頻損失是遠程控制臺應用中的用戶最可接受的以及是其它視頻應用中最難接受的。雖然現有的視頻壓縮系統被廣泛應用以及極適合于各種各樣的應用,但需要為最 佳可能的交互計算機用戶體驗進行了優化的視頻壓縮系統。
發明內容
本發明是一種新的視頻壓縮系統,它被優化成利用通常出現在計算機屏幕上的冗 余,并且還被優化成利用實時交互計算機用戶可接受的視頻損失類型。在本發明的一個實 施例中,所捕捉的計算機視頻幀被“編碼”為五個不同的、唯一選取的“命令”的組合,這些 命令是根據它們最有效地壓縮所捕捉視頻的能力來選擇和排序的。這些命令通過網絡發送 到“客戶機”,在其中它們連續指示(或命令)“解碼器”關于如何對命令解壓縮或解碼,并 且在遠程視頻顯示器上重建所捕捉的視頻幀。以獨特的方式,本實施例可對計算機視頻進行壓縮和解壓縮而沒有分辨率損失或色深度損失,但具有根據可用網絡帶寬動態調整的幀 速率損失。它還在編碼和解碼過程中加入最小延遲。五個命令為⑴從較早的幀復制舊像素(有時稱作“較早的幀無變化”、“無變化” 或者簡稱“NC”),(2)從左側復制像素,(3)從上方復制像素,(4)利用2-色集制作一系列 像素,以及(5)利用指定色制作一個或多個像素。各個命令在用于分級結構時提供獨特的 效率。另外,這些命令包含在由8位或更多位的固定長度的數據包所組成的內容中,使得它 們可采用軟件或硬件來方便地發送、接收和解碼。本發明不限于任何命令或數據包長度,但 是優選實施例通常采用的長度是8位的倍數(例如16、32或64),使得它們與普遍使用且一 般可獲得的元件和處理器兼容。在本發明的更廣義實施例中,單獨地或以任何組合形式來使用上述一種、兩種、三 種或四種命令。例如,本發明人認為,單獨從2-色集制作一系列像素的命令的使用在壓縮 包含大量字母數字文本的視頻(例如通過字處理程序查看這個文檔)時是獨特的。當其它 命令以各種組合被添加到其中時,得到其它優點和效率。在其它實施例中,一個、兩個、三 個、四個或所有五個命令與任何種類的先有技術壓縮系統結合使用以增強已知系統的視頻 壓縮。例如,MPEG、JPEG及其它技術(及其所有變體(例如MPEG2等))可與本文所述的五 個命令中的一個或多個配合使用以增強先有壓縮技術的視頻壓縮。在稱作“灰度優先”色彩模式的本發明的其它實施例中,通過利用比起其它任何類 型的視頻損失、遠程控制臺用戶更能接受色深度損失的事實,可進一步壓縮所捕捉的視頻。 在這個模式中,所捕捉視頻的各像素被轉換為一組特別選取的顏色中匹配計算機屏幕上所 用的典型顏色的最接近顏色。灰色在此組顏色中是優先的,因為它們在典型計算機屏幕上 是優先的(白色和黑色包含在“灰度”的定義中)。本發明可通過采用硬件、采用軟件或者采用硬件和軟件的組合所實現的壓縮編碼 來體現。同樣,解碼也可采用硬件、采用軟件或者采用其組合來實現。“源”視頻可通過直接 連接到計算機內的視頻控制器芯片來捕捉。或者,視頻可從計算機的外部模擬視頻輸出、外 部數字視頻接口(DVI)或者其它外部接口來捕捉。在一個實施例中,視頻通過采用FPGA(現 場可編程門陣列)或ASIC(專用集成電路)的硬件來壓縮。在另一個實施例中,視頻在被 制成視頻輸出流之前完全采用軟件來壓縮。視頻壓縮命令通過網絡發送給遠程控制臺,在其中它們被解壓縮并向用戶顯示。 遠程控制臺可以是傳統PC (個人計算機),它利用PC軟件對命令解碼,或者它可以是采用 低性能微處理器構建的小型“瘦客戶機”裝置。在一個實施例中,這些命令全部被設計成由 一個或多個8位數據包組成,使得它們可通過在低性能微處理器上運行的軟件方便地解壓 縮。或者,硬件裝置(例如FPGA或ASIC)可在遠程控制臺中對命令完全解碼。在這種情況 下,遠程控制臺不要求計算裝置用于命令解碼,或者不要求視頻控制器芯片用于顯示用戶 的視頻。這種低成本硬件(或組合的硬件/軟件)遠程控制臺在以下稱作“微客戶機”。本發明還可應用于計算機“刀片”技術,其中,各個服務器計算機包含在單卡上,把 許多這樣的卡組裝到公共刀片架中,以便共用公共電源和中央控制功能。刀片上基于傳統 電纜的KVM交換技術可為本地電纜連接的用戶提供對各刀片計算機的訪問,但是,如果用 戶需要通過網絡對刀片的KVM訪問,則本發明可包含在刀片架中或者在各刀片上,而且視 頻壓縮命令可被提供給刀片架中的公共網絡接口,以便通過網絡發送給各種遠程控制臺。
因此,本發明可用于一般壓縮計算機視頻,以便通過LAN、WAN、撥號或者其它任何 網絡發送計算機視頻,用于在瘦客戶機、微客戶機中應用以及遠程控制臺應用(例如KVM/ IP系統)。
本專利申請文件包含至少一個彩色制圖。配有彩圖的本專利或者專利申請公開的 副本將在索取并支付必要費用之后由專利局提供。圖1是在具有采用PC軟件實現的客戶機的KVM/IP中的本發明的一個示例實施例 的示意表示;圖2是本發明的一個示例實施例的示意表示,說明硬件視頻壓縮器的內部操作;圖3-10是在具有8位包長度的本發明的一個示例實施例中的視頻壓縮命令的表 格;圖11是流程圖,描述在本發明的“7位灰度優先色彩模式”實施例中如何減少色深 度;圖12是在為24位色彩設置的計算機的視頻屏幕上的測試圖案(稱作0-255RGB+ 灰度測試圖案)的彩色打印;圖13是在采用本發明的“7位灰度優先色彩模式”實施例且源視頻是圖12所示的 測試圖案時的客戶機計算機屏幕的彩色打印;圖14是具有視頻創建軟件以及與視頻壓縮器結合在一起的視頻控制器芯片的本 發明的一個示例實施例的示意表示;圖15是沒有視頻控制器芯片但具有軟件視頻壓縮的本發明的一個示例實施例的 不意表不;圖16是稱作微客戶機的本發明的一個示例實施例的示意表示;圖17是本發明的一個示例實施例的示意表示,描述“共享模式”的概念;圖18是流程圖,描述在本發明的“5位灰度優先色彩模式”實施例中如何減少色深 度;以及圖19-24是與5位和12位色彩模式配合使用的本發明的一個備選實施例中的視 頻壓縮命令的表格。
具體實施例方式本發明可利用旨在通過通信信道、包括通過中介網絡發送計算機視頻的任何硬件 或軟件來實現。一種這樣的示例實施例如圖1所示,通過舉例而非限定的方式來描述。實 際上,一旦技術人員閱讀了以附圖體現并在本文中描述的本發明,將會理解其它實施例。在圖1中,KVM/IP系統10包括遠程控制臺客戶機11和服務器設備14。在所示實 施例中,遠程控制臺11通過網絡就緒PC(包括鍵盤、視頻顯示器和鼠標)中的PC軟件來實 現。客戶機11經由因特網協議網絡13、通過KVM/IP設備14向目標服務器15進行傳遞。 設備14和客戶機11包括標準網絡I/O硬件和軟件,從而允許它們經由任何形式的因特網 協議連通性進行通信,例如撥號、DSL、WAN、LAN、Tl、無線等等。在圖1中,所述設備用作目標服務器15與客戶機11之間的中介,允許客戶機11將其鍵盤、視頻顯示器和鼠標耦合到服務器15,就象客戶機11直接連接到它一樣。在該方 面,與IP網絡的尋址和交換能力結合的系統10的方式和操作代表KVM交換機,例如由本受 讓人、由 Huntsville, Alabama 的 Cybex Computer Products 以及由 Redmond, Washington 的Apex. Inc.出售的那些產品。客戶機11包括便于例如通過標準TCP/IP地址識別目標服務器15 (經由設備14) 的軟件。一旦在客戶機11與設備14之間建立了通信,則客戶機11采用軟件經由IP網絡 13向設備14發送在客戶機上輸入的鍵盤和鼠標數據。設備14接收交換或路由到它的數 據,并將該數據施加到服務器15的鍵盤和鼠標端口,就好象鍵盤和鼠標直接連接到服務器 15—樣。作為響應,服務器15 (經由正在服務器15上運行的無論任何應用程序)按照鍵盤 和鼠標數據來行動,從而產生新的視頻數據,此視頻數據經由服務器15的視頻輸出端被輸 出到設備14。一旦設備14接收到來自服務器15的視頻,則通過以下描述的發明算法之一對其 進行壓縮,并把所得視頻壓縮命令經由IP網絡13傳送到客戶機11。壓縮可通過設備14中 的FPGA、ASIC或其它任何硬件或軟件來進行。或者,設備14可以“嵌入”服務器15,或者如 果服務器15包括執行此壓縮并直接向IP網絡13發送所得命令的軟件,則可除去設備14。 在接收后,客戶機11采用PC軟件對這些命令解碼,并在客戶機PC的屏幕上再現目標服務 器的視頻,供用戶觀看。或者,命令解碼可采用客戶機11中的硬件來進行。在圖1的實施例中,用戶應當感覺到客戶機PC的鍵盤、視頻顯示器和鼠標直接連 接到服務器15,即使客戶機11和服務器15可能在物理上處于遠至地球兩端的位置。在獲 得經由設備14送往服務器15的鍵盤和鼠標數據時以及在回收視頻時加入過多延遲會妨礙 該目的。鍵盤和鼠標要求可快速且比較有效地傳輸的較少數據通信量,但是大量視頻數據 提出了更難處理的問題。為了有效率,視頻必須由設備14進行壓縮,經由IP網絡13傳送, 由客戶機11進行解壓縮,以及盡快呈現在用戶的屏幕上。過度延遲在鼠標-光標響應中最 明顯。甚至出現在屏幕上的鼠標移動與光標響應之間的微小延遲也會讓用戶煩惱。圖2說明本發明的一個示例實施例。存在許多在其中可設計本發明的不同硬件和 軟件實現,圖2的實施例不是唯一的這種方式。在閱讀本理論之后,技術人員會了解實現本 發明的、符合本發明的范圍的其它方式。在圖2的頂部,源視頻21可以采用任何形式,模擬的或數字的。大部分現行視頻 控制器芯片的視頻輸出可以數字方式與平板顯示器配合使用,例如用于膝上型計算機。視 頻壓縮器23可直接連接到視頻控制器芯片20的輸出引腳,或者可連接到目標服務器15上 的外部連接器。一種外部連接器是DVI (數字視頻接口),它是用于把數字視頻連接到外部 數字顯示裝置的一種標準。其它任何類型的源視頻也會滿足需要——本發明不限于此。作為選擇,色深度簡化器22可以包含在視頻壓縮器23中,以便減少定義各像素顏 色的位數。通過把像素的顏色分類為若干區來進行這個操作。當源視頻21為數字視頻時, 色深度減少的最簡單方法是忽略最低有效位。例如,通過忽略8位紅、綠和藍信號中每個的 3個最低有效位,24位色彩可轉換為15位色彩。忽略各個8位色彩信號的4個最低有效位 將產生12位色彩。稱作7位灰度優先色彩模式以及5位灰度優先色彩模式的更復雜色彩 減少方法在下面進一步描述并在圖11和18中說明。如果源視頻21為模擬視頻信號,則色深度簡化器22需要包括A-D (模數)轉換器。對于模擬視頻,各像素由三個模擬信號(紅、綠和藍)定義。A-D轉換器通過檢測各像素的 三個信號處于什么“區”,使其強度數字化(與以上所述的數字色深度簡化器所進行的操作 極為相似)。與模擬視頻的主要差異是噪聲。當模擬信號處于某個區的邊緣時,少量模擬 噪聲可能使數字化儀在后續幀中從一個區到另一個區來回跳動。在這種情況下,看起來好 象源視頻21正在變化,即使它沒有改變。因此,對于模擬輸入,需要用某種噪聲抑制方法來 減少這種“區跳動”。可采用任何噪聲抑制技術,但在一個實例中,當輸入信號處于某個區內 時,它必須離開那個區至少一個門限量,才被視作處于另一個區。對視頻幀中的每個像素進 行各像素的信號在前一幀中處于什么區的這種比較。雖然對于源視頻所述的若干實施例是在本發明之內考慮的,但圖2中的特定示例 實施例假定從目標服務器15中視頻控制器接收的數字視頻為源視頻。視頻芯片20的輸出 為源視頻21,它是連續的視頻數據流。視頻控制器芯片20不需要受到本發明的任何方面的 控制(但本發明無疑可與某種視頻芯片控制結合使用),也就是說,視頻芯片20將以符合其 本身內部定時的連續流來輸出視頻。源視頻21是視頻壓縮器23的輸入。當然,其它處理裝置、如通用或專用處理器可 取代硬件視頻壓縮器23。視頻壓縮器23包括至少兩個幀緩沖器24和25,而且為了附加的 運算復雜度和效率,還可包括許多附加的幀緩沖器或者幀緩沖器類型。在客戶機11通過網 絡29建立連接之前,在幀緩沖器24或25其中之一中(在圖2所示的時刻,幀緩沖器25是 活動的,表示它正在捕捉視頻)連續捕捉(以及連續蓋寫)源視頻21。當客戶機首先通過網絡29進行連接時,視頻捕捉停止,以及編碼器26開始讀取并 壓縮緩沖器25中所捕捉的視頻數據。它從幀緩沖器的開頭(為屏幕的左上像素)開始,逐 個像素地進行到幀緩沖器的結尾(為屏幕的右下像素),預作準備及構建最有效的命令序 列。當編碼器26構建這個命令序列(根據以下描述的算法實施例)之時,服務器CPU27經 由I/O 28和網絡29將它們發送給客戶機11。在編碼器26完成緩沖器25中的最后一個像 素之后,幀緩沖器交換以及源視頻開始在另一個幀緩沖器(本例中為緩沖器24)中被捕捉。 即使CPU 26還沒有完成向網絡29發送這些命令,這個交換也會發生。在交換之后,緩沖器 25中的幀成為“舊”幀,并表示在客戶機的屏幕上顯示(或者不久將被顯示)的幀。由于源視頻在沒有被捕捉時在繼續進行,因此當捕捉開始時,它可能處于屏幕的 中間或者屏幕中其它任何位置。不管到緩沖器24中的新捕捉開始的位置如何,它都繼續 完整的一圈,直至重新回到開始捕捉時的屏幕位置。結果是從源視頻21捕捉的一個完整 的“新”視頻幀。如果CPU 27在捕捉了新視頻幀之后還無法通過網絡從第一壓縮幀發送所 有命令(可能是由于網絡擁塞或慢網絡),則捕捉過程將繼續蓋寫緩沖器24中所捕捉的視 頻。當網絡為更多命令準備好(并且已經捕捉了至少一個視頻幀)時,捕捉將停止,并且對 于第一幀發生的相同過程將繼續進行。但是,由于客戶機11這時具有其第一幀,因此編碼 器26這時能夠把新幀中的各像素與舊幀中的各像素進行比較,如果像素沒有改變,則壓縮 會好得多。在新視頻的至少一幀已經被捕捉并且網絡為更多命令準備好之后,相同的過程 這時繼續進行。這個在等待網絡就緒時連續進行捕捉的過程根據網絡條件降低到客戶機的 有效幀速率,并且顯示“最新”視頻優先于顯示“所有”視頻。實際上,所捕捉的視頻變成到 期商品。比起在“所有”視頻運動被排隊并稍后發送的情況下必須容忍的視頻延遲,遠程控 制臺用戶更能接受幀速率損失。
8
因此,在本實例中,新的幀緩沖器(原來的舊幀緩沖器)捕捉最近的源視頻幀。然 后,舊幀(在舊幀緩沖器中)和新幀(在新幀緩沖器中)由編碼器26讀取,用于比較和壓 縮視頻。存在捕捉和比較視頻幀以便壓縮的備選方法,本文中不描述所有這些方法。在本發明的實施例的更狹義方面,采用本文中針對圖3所述的視頻編碼的所有方 面。本文中針對“本發明”所述的所有那些方面的詳細說明不應理解為表示本發明要求所 述示例算法的每個方面。提供這些實例是為了描述其中可實現本發明的效率的一個示例 方法。另外,更廣義或更狹義來說,本發明的若干方面可根據以下描述來實現。因此,在圖 3中,提供五個視頻壓縮命令用于壓縮從幀緩沖器24和25中讀取的視頻。按照分級次序, 它們是(1)從較早的幀復制舊像素,(2)從左側復制像素,(3)從上方復制像素,(4)利用 2_色集制作一系列像素,以及(5)利用指定色制作一個像素。本發明人發現,分級命令的這 種組合為計算機顯示提供了顯著的視頻壓縮。這些命令中前三個提供3維復制(水平、垂 直和時間),第四個命令為僅由兩種顏色組成的屏幕段(例如文本)提供獨特的效率。在圖3所示的實施例中,有五個不同的視頻壓縮命令。所有命令都由單個數據包 或多個數據包組成,其中各數據包由一個8位字節組成。各命令的第一數據包的前一到三 位為運算碼(或“操作碼”),它們確定命令的基本功能。“E”位是“擴展”位,其余位(R、C 和P)為“凈荷”位。五個命令的一般格式如圖3所示,它們的更詳細格式如圖4-10所示。 對于具有不同數據包長度的實施例,凈荷位的數量是不同的。例如,16位數據包通常具有8 個附加的凈荷位。最低分級命令、即MP (制作像素)命令在第一比特單元(比特位置七)中具有一, 之后跟隨定義色彩的凈荷位(“P”位)(其它命令中沒有一個是以一開始的)。如果所用色 彩位的數量為七,則MP命令為一字節長(如圖3所示)。如果所用色彩位的數量為十五,則 MP命令為兩個字節長,其中第一字節的第一位是一(如圖4所示)。同樣,如果所用色彩位 (P位)的數量為23,則MP命令為三字節長(如圖5所示),依此類推。MP命令是要理解的 最簡單命令,并且還提供最小壓縮。據說,主要“使一個像素為這種色彩”,其中凈荷標識該 色彩。計算機控制臺的一種普遍設定為15位色彩(5位用于紅色,5位用于綠色,以及5位 用于藍色)。15位色彩通過兩字節MP命令來支持。由于單字節MP命令具有七個凈荷位, 因此它們可提供27(或128)種不同顏色。下面進一步描述的7位灰度優先色彩模式描述 源視頻如何可被“簡化”到最接近計算機控制臺上廣泛采用的128色。本發明的操作的以 下論述描述通過一字節MP命令的操作,但本發明不限于具體數量的色彩位(P位)。在可壓縮性方面,其中每個像素為隨機色彩的幀在沒有分辨率損失的前提下是 不可壓縮的(其它壓縮系統、如JPEG、分形分析等可提供具有不同程度分辨率損失的壓 縮)。對于圖3的實施例,這種隨機幀中的每個單像素采用MP命令來編碼,如果這個幀具有 一百萬像素,則要采用一百萬個MP命令對它編碼。如果編碼器無法使用其它任何命令對像 素編碼,則采用MP命令。每個像素始終適合通過MP命令來編碼。因此,MP命令出現在圖 3的最低分級位置中。作為優先級列表,圖3表明,編碼器26嘗試進行最上面的命令、然后 是第二、第三、第四,然后到達MP命令作為最后的手段。現在來看圖3中的操作碼,比特位置七中的“一”唯一標識制作像素命令。如果比 特位置七中是“零”,則該命令為圖3所示的其它四個命令其中之一,其中隨后兩位(比特位 置五和六)標識應用其它四個命令中的哪一個。因此,比特位置五和六中的00表示CO(復制舊的或者無變化)命令,01表示CL(復制左側)命令,10表示CA(復制上方)命令,以及 11表示MS(制作序列)命令。此后,這四個命令類型中的每一個具有跟隨操作碼的凈荷位。 凈荷位為R、C和P位。下面將借助MS命令來論述E位。CO、CL和CA命令中的凈荷位(R位)表示命令操作重復的次數。CO命令通知客 戶機像素對當前顯示的像素來說沒有改變。因此,編碼器26把舊的和新的幀緩沖器進行比 較,以及在確定“新”幀中的當前像素與“舊”幀中的同樣位置的像素相同時,調用CO命令。 這樣,對于在源視頻中沒有改變的屏幕的若干部分,發送CO命令。隨后的兩個命令根據共同“新”幀內、而不是舊幀與新幀之間的位置來比較像素。 CL命令指示客戶機從最接近當前幀左側的位置的像素復制色彩。如果當前像素是視頻行上 的第一像素,則最接近左側的像素為前一行的最后一個像素。CA命令指示客戶機從最接近 當前幀上方的像素復制色彩。CL、CA和CO命令在以下稱作“復制”命令。可用其它命令代 替,它們為像素復制提供公共幀內或舊幀與新幀之間的關系。由于計算機視頻中存在的水 平和垂直矩形及線條的迅速擴大,當前所述的命令在計算機視頻中具有特別的優點。對于 水平線,例如,CL命令具有特別的實用性,對于垂直線,CA命令具有特別的實用性。最后的命令是MS或制作序列命令,其本身在現有視頻編碼類型中是獨特的。MS命 令利用計算機視頻的特殊方面,即,典型計算機屏幕的大部分僅由兩種顏色構成。在計算機 視頻中的典型實例是文本信息,其中屏幕大部分由固定背景色上的文本前景色組成。在這 些情況下,MS命令讓編碼器26創建大量視頻而沒有文本清晰度的損失,以及具有極大的壓 縮量。現在,在命令的凈荷結構的上下文中以及在實際應用的上下文中論述每個命令。 如上所述,CO命令(圖3、6和7)實質上標識當前像素對于位于前一幀的相同位置的像素 來說沒有改變。為了進一步壓縮,凈荷不僅標識了當前像素沒有改變,而且還標識了一定數 量的連續像素沒有改變。以下描述數量是多少。如圖3所示,對于CO命令,在三位操作碼 之后,有五位(RRRRR)表明該CO命令的重復計數。這五位可設置為0與31之間的任何二 進制值。由于為零的重復計數沒有意義,因此通常最初假定,這五位計數定義一行中相對 前一幀未改變的多達32個連續像素。但是,如果僅使用一字節MP命令(而不是兩個或兩 個以上字節長的MP命令),則為一的重復計數也沒有意義,因為一字節制作像素(MP)命令 具有與重復計數為一的CO命令相同的壓縮值。在該情況下,重復計數凈荷可從為二的計數 開始,使得00000的凈荷表示重復計數為二,11111的凈荷表示重復計數為三十三。這樣,提 供了小的附加效率,即,具有五位凈荷的CO命令標識以下事實在兩個像素與三十三個像 素之間的某個位置相對于已顯示的幀沒有改變。此優選實施例進一步增加了效率。假定超過三十三個像素沒有改變。如圖6所示, 具有000操作碼的第二個緊連的字節可跟隨具有000的第一字節,從而再提供第二個五位 來表示從二到三十三個像素。但是,解碼器30將檢測具有CO操作碼的兩個連續數據包,并 把兩個五位凈荷解釋為具有十位凈荷的單個CO命令。利用十位凈荷,連續CO像素的數量 從34擴展為1025。換言之,對于僅兩個八位字節,超過一千像素的幀可被發送給客戶機。 CO命令的效率逐漸提高。可以注意到,制作兩個具有CO操作碼的連續數據包的原因正是以 下事實要求超過33的重復計數。如果不要求超過33的重復計數,則編碼器26不制作兩個具有CO操作碼的連續數據包。 如果編碼器26要求35或36的重復計數,這就需要第二字節,則兩字節CO命令短 暫地成為無效的。但是,一旦重復計數多達一千像素(例如1024X768分辨率屏幕上的整 行),則只要兩個字節就可壓縮整行。此外,如果第三CO命令跟隨第二命令(如圖7所示), 則解碼器30檢測十五位凈荷。如果存在第四CO命令,則檢測二十位凈荷。四字節CO命令 可標識超過一百萬像素沒有改變,這超過了具有1024X768分辨率的一整幀所需的量。本 發明不限于任何特定數量的連續CO命令或任何視頻屏幕分辨率,但為了當前目的,五字節 命令(支持多達三千三百萬像素)提供對于當前預計的最高視頻屏幕分辨率的全幀足夠大 的重復計數。CL和CA命令與以上所述的CO命令相同地工作。它們復制不同的像素(左側像素 或上方像素),但它們具有相同結構,即三位操作碼之后是標識重復計數的5位RRRRR凈荷。 同樣,CL和CA命令中的每個可以排成序列,如圖8中針對CL命令所示,從而形成10位、15 位、20位或更長的凈荷。如果那些命令中的兩個或兩個以上同時適合于當前像素,則C0、CL和CA命令之間 的分級優先級才適用。如果編碼器26確定CO命令適合于當前像素,并且沒有其它復制命 令適合,則編碼器暫時忽略其它復制命令,以及繼續比較來自舊幀和新幀的像素,從而確定 一行中CO命令適合的像素數量。編碼器26在發現CA或CL命令單獨適合于當前像素時進 行相同的操作。在所標識(CO、CA或CL)條件不再為真的第一時刻,編碼器26發送圖3的 一個或多個連續命令,然后評估要編碼的下一個像素。換言之,一旦編碼器26確定一個重 復計數條件對于給定像素為真,以及只有一個重復計數條件對于給定像素為真,則忽略其 它所有命令評估,直到當前重復計數條件不再有效。當出現那種情況時,它創建命令(操作 碼和重復計數),并將其發送給客戶機。只要一個復制命令(CO、CL或CA)適合,則編碼器繼續進行它,直到它不再適用。 然后,編碼器結束該分析,并創建適當的字節。但是,如果多個重復計數條件(C0、CA或CL) 起初在同一像素上適用,則編碼器才開始對那些條件適用的連續像素進行計數。只要這些 命令之一適合,計數器繼續運行。最后,編碼器僅選擇申請完全重復計數的一個命令,因而 它僅對一個計數器進行計數。不需要運行每個復制命令使用一個的三個不同的計數器。然 后,當編碼器繼續計數時,它將發現某些命令不再合適。當那種情況出現足夠次數,使得沒 有命令類型“保持仍然有效”,編碼器26創建最后一個存活的命令的操作碼以及標識在最 后一個存活的命令無法適合之前適用的像素數量的重復計數。例如,假定對于當前像素,CL、CA和CO命令全部適合。編碼器記錄那種情況,并開 始計數。在下一個像素中,編碼器確定所有命令仍然適用,因而把計數器增加到二。該過程 完全同樣地進行,直到在第七像素中CL條件不再適用。編碼器26使CL退出運行,并且繼 續增加計數器。繼續進行,假定在第14像素中,CA條件變為假。CO命令是最后一個存活的 命令,但編碼器仍然不停止計數。繼續增加計數,直到假定在第51像素中,CO條件變為假。 在該時刻,編碼器26向客戶機11發送兩個連續字節00000001和00010000。第一字節表 明首先出現為三的重復計數(大家記得,“零”指定重復計數為二)的CO條件(操作碼= 000)。但是,當解碼器30為下一個字節預先作準備時,它看到連續的CO命令共同被讀取以 形成十位字。(注意,解碼器30在對字解碼之前還會注意超過00010000字節的下一個字節,以便確保第三CO字節沒有跟隨第二字節。)十位字0000110000相當于重復計數50。兩 個CO命令的這個系列指示解碼器不改變后50個像素的色彩,保持與先前發送幀中的色彩一樣。一旦某個復制命令變為最后一個仍然有效的命令,下一個命令的操作碼被確定。 當此最后一個仍然有效的命令不再適合,則那個命令的重復計數被確定。在該時刻,編碼器 還確定標識重復計數需要多少字節。如果可在五位中提供此計數,則編碼器產生一字節命 令。如果需要十位,則編碼器產生二字節命令,依此類推。優選實施例的這個方面是有利的, 因為它以最佳方式利用對可能的最長重復計數的標識。實際上,可以設想CA、CL和CO之外 的其它復制命令,它們根據其它相關方面來標識像素。如果那些命令中的兩個或兩個以上同樣一直保持有效,則C0、CL和CA命令之間的 分級優先級適用。在該情況下,編碼器首先采取復制舊命令。復制舊命令在客戶機上呈現 最小負擔,因為結果只是跳過像素。另一方面,客戶機必須工作以從上方復制或者從左側復 制。在這兩個復制命令之中,復制左側比從上方復制的優先級更高,同樣是因為它在客戶機 上呈現較小負擔。對于復制左側,客戶機只需要讀取緊靠前面的像素一次,并將它寫入多個 像素。但是,為了從上方復制,依靠從上方視頻行讀取多個像素,并寫到多個像素。另一方面,如果客戶機采用硬件而不是軟件來實現,則復制命令優先級可能沒有 關系,因為硬件可能專用于處理命令。優選實施例通過確定復制命令的優先順序,使軟件客 戶機上的負荷最小。第四命令類型(以及非復制命令的最高優先級)為圖3、9和10所示的MS(制作 序列)命令。根據對典型計算機屏幕的壓縮的分析,制作序列命令以大大促進壓縮效率而 結束。關于MS命令的理論在于,無論文本為什么顏色,它幾乎始終為二色模式。實際上,本 發明人調查了典型計算機屏幕并確定,文本的大部分以及屏幕的其它區域可采用長MS命 令來定義。MS命令提供壓縮圖標、文檔、標簽和工具條的文本部分的高效率。其它壓縮方案 要么不提供必要的壓縮效率,要么不提供需要閱讀屏幕上的文本資料的用戶所要求的清晰 度。例如,采用用戶正滾動文本使其從一幀到下一幀的示例,文本只是略微上移。從壓 縮器的觀點來看,各幀是需要被編碼的新像素組。壓縮器可通過為文本窗口周圍區域寫入 CO命令來得到一些重復計數效率,但當遇到已調整的文本,則重復計數壓縮變得無效,因為 沒有出現長重復計數。本發明人對于復制命令不適用的那些文本類型區域增加了效率。下 面將具體描述那些MS命令如何增加壓縮效率。首先,與前面相似,三位操作碼標識MS命令。第一操作碼位(0)表明該命令不是 制作像素命令。隨后的兩位(11)把該命令標識為制作序列命令。調用MS命令的時機通過 編碼器超前分析四個像素來識別。技術人員應當注意,復制命令不需要超前分析操作(但 為了提供附加功能,也可增加超前分析操作)。或者,通過MS命令,或多或少的像素可用于 這種超前分析操作。可以看到,超前分析中的像素數量應當在策略上被選擇為(1)大得足 以確保重復計數編碼不會更有效率,(2)短得足以使MS命令適當可用,以及(3)取值為適 應所用字長度的整數。本文中僅為了舉例,描述四個像素。當編碼器確定在隨后的四個像 素中出現以下兩種條件時調用MS命令(1)C0、CL或CA命令將不會適合,以及(2)在那后 四個像素中的所有像素被限制為兩種不同色。圖9和圖10中的實例所示的“擴展"MS命令擴展MS操作,但只有第一字節在位5、6、7中包含操作碼。下面進一步描述擴展MS命令。如前面所述,MS命令用于作為兩種不同色的組合的一系列像素。包含在可用色集 合中的兩種色彩是來自緊靠前面像素的色彩(色彩0)以及來自其之前的最近不同色像素 的色彩(色彩1)。當然也可從各種選項中采用為MS命令標識兩種像素色彩的其它方法,其 中包括色彩的嚴格標識、從當前幀或前一幀中所選位置標識、從2-色集的查找表標識等。 在優選實施例中,兩種色彩源自緊靠前面的兩種不同色彩像素,它們可能已采用制作像素、 復制上方、復制左側或復制舊命令進行了編碼。MS命令不關心這兩種像素是如何得到的,而 只是關心它們將成為即將出現的MS命令的一系列像素的兩種色彩。上述具有2-色集的MS命令是有利的,因為它不要求具有任何色彩標識位的字節。 也就是說,MS命令不包括標識使用哪些色彩的位,而只有標識先前標識的兩種色彩中哪一 個用于此序列中的位。因此,例如,當編碼器到達某個文本的開頭、例如白色背景上的黑色 字母“H”的左上角時,“H”的左上角的第一像素可通過黑色MP (制作像素)命令之后跟隨 幾個像素的CL(復制左側)命令來定義。當通過編碼器的超前分析找到H的頂部中心和右 上時,編碼器將創建制作序列命令,因為它僅檢測即將到來的像素的兩種色彩(文本和背 景)ο如圖9所示,第一 MS命令字節具有三位操作碼,之后跟隨表明這個命令被擴展到 下一字節的“擴展”位(在比特位置4中)。如果擴展位為零,則MS命令沒有擴展,它在第 一字節之后結束。在這種情況下,那個字節中的四個“C”位提供四個像素的二色圖案,然后 當前序列結束。但是,如果擴展位啟用,則MS數據的另一個完整字節將跟隨當前字節。因 此,在圖9中,第二字節為“擴展命令”字節。由于擴展位出現在前一字節中,因此,下一字 節不需要包含三位操作碼。因此,擴展命令的標識不是來自當前字節中的操作碼,而是來自 前一字節中的擴展位。此結果為第一字節之后的每個字節提供制作序列數據的七位。各擴 展命令字節包含其本身的擴展位(在比特位置7中),它標識下一字節是否為擴展字節。只 要E位啟用,則這個擴展可繼續。當E位取消時,當前序列停止。圖10的序列表示將定義 88個連續像素的序列的13字節長MS命令的一個實例。當解碼器接收制作序列字節時,它立即開始創建客戶機屏幕所用的像素,如下所 述。在讀取操作碼011之后,解碼器認識到,制作序列正在開始。它讀取在前像素的色彩,并 把該色彩定義為“色彩0”。然后,它讀取其之前的最近不同色像素,并把該色彩定義為“色 彩1”。然后,解碼器讀取E位,以便確定此序列是一個字節還是更多字節。最后,解碼器 按順序讀取位0-3,并根據各像素的二進制狀態從兩個可用色彩中創建像素。對于第一字 節,解碼器將創建四個像素。例如,如果第一MS字節為01110110,并且色彩0為黑色而色彩 1為白色,則解碼器將創建黑、白、白、黑四個像素(0110)。然后,由于E位設置為1,因此解 碼器將注意下一字節以創建另外七個黑色和白色像素。在優選實施例中,MS命令的第一字節創建四個像素(八位減去三個操作碼位減去 一個擴展位)。如果編碼器發現在序列中存在不到四個像素(即在后四個像素中存在兩種 以上色彩),則MS命令無法用于此優選實施例。此外,如果要使用MS命令的第一擴展字節 (第二累加字節),則編碼器必須預先分析而發現后七個連續像素適合于MS狀態(即全部 來自僅二色選擇,并且沒有復制命令適用)。然后,如圖9所示,第一字節中的四個C位標
13識11-像素序列的前四個像素,以及第二字節中的七個C位標識11-像素序列中的后七個 像素。此后,僅當七個像素的整倍數可添加到序列中時,才使用新的MS擴展字節。因此,如 前面所述,編碼器在對任何MS命令字節編碼之前“超前分析”,以便(1)確定前四個像素是 否適合于MS處理,以及(2)確定七個像素的附加字節是否適合。現在會理解,MS命令利用順序位來定義順序像素,使得每個位對應于為色彩0或 色彩1的各像素。實際上,MS命令的C位與像素列相似。如前面所述,MS模式中的編碼器始終進行超前分析,并且不設置E位,除非它發現 在即將到來的像素序列中具有足夠的像素來填充下一個擴展命令字節的后七位。如果編碼 器進行超前分析并且在后七個像素中遇到不同于2-色集的色彩,則對于當前字節結束制 作序列命令(把停止位寫入當前字節的E位)。在一個實施例中,編碼器在所有時間對所有像素針對全部命令類型進行比較。在 該情況下,這些比較始終并行地進行,并且始終針對所有命令進行。當命令類型之一識別其 自己的適用性時,編碼器對它加標記并(根據命令之間的其它比較和優先級)確定哪個命 令類型對當前情況來說是最佳的。例如,在圖2的實施例中,視頻壓縮器23對于每個單像 素查找五個命令類型中每一個的適用性,以及根據MS命令要求超前分析。上述實施例對于照片在屏幕上的第一次呈現不適用,因為照片要求較大數量的制 作像素MP命令。在靜止照片被發送一次之前,編碼器不創建許多復制命令,這會創建更好 的效率。當然,在靜止照片最初發送到客戶機之后,編碼器將對于后續幀的屏幕的那些部分 產生CO命令。當前實施例雖然不太適用于照片信息,但是在其中許多垂直和水平線常常適 合于復制命令且屏幕包含大量文本的計算機控制臺屏幕的應用中提供額外效率。稱作7位灰度優先色彩模式的本發明的實施例提供制作像素(MP)命令對色彩和 灰度強度表的新穎和創造性使用。這種模式旨在從一字節MP命令的7位凈荷得到最高性 能。如圖11中所示,每個輸入色彩(紅、綠和藍)的強度范圍處于從0(最暗)到255 (最 亮)的任何位置。一些現有計算機控制臺色深度減少方案采用總共六位來定義全部色彩 (兩位為紅色提供,兩位為藍色提供,兩位為綠色提供),產生四個不同的紅色調、四個不同 的藍色調以及四個不同的綠色調。43個組合為64種可能的色彩組合。灰色在計算機應用中也是重要的,并由其中R、G和B以相等強度存在的各組合構 成。上述六位色彩方案在缺省情況下提供四種可能的灰色調。雖然R、G和B的四個色調可 提供可以接受的色深度,但有限數量的灰色調證明對于灰度級深度是不夠的。在示例實施例中(但不是限制性的),色彩數量可增加到超過64,同時還把灰色 調數量增加比色彩增加量更大的比例。為此,所有色彩(包括灰色)的“使用普及度”根據 任意計算機控制臺屏幕的集合、預定色彩選集等來分配,由此,頻率表標識哪些色彩(和灰 度)被認為最普遍。在圖11中,二進制和十進制強度等級(0-255)表示在左欄,之后跟隨 “使用普及度”等級評定。在該欄中,線條越長,則那種色彩在典型計算機屏幕池中被標識越 多。如圖所示,常用零強度,常用63和64,常用127和128,常用191和193,常用255。本發明人發現,在典型計算機屏幕上,灰色比非灰色更普遍。例如,滾動條為灰色, 工具條為灰色,以及當按下“按鈕”時,按鈕的邊緣變為不同的灰色調。黑色和白色是灰色 調,并且極頻繁地使用。計算機屏幕使用許多不同的灰色調,色調種類對于對比度是重要 的。在為視頻壓縮目的而減去色深度時,視頻質量受到損害的第一位是在灰度上。當它產生時,實際色彩較為不重要。例如,紅色的程度或者綠色的程度較為不重要。但是,當灰度 深度通過色深度減少方案而消去時,例如在屏幕上“按下按鈕”時的重要對比度丟失。通過查看色彩的普及度,通過為各R、G和B提供五個色調,以及通過查找代碼位置 以添加更多灰度,本實施例提供良好色彩對比度所需的全部色彩,同時增加良好的灰度級 對比度。首先,選擇一組常用的紅、綠和藍強度。對于圖11中的實例,紅、綠和藍中每一個 可以五個最常用強度之一出現0、64、128、192和255。它們成為提供給各色彩的五個不同 色調,即五種紅色調、五種綠色調以及五種藍色調。利用那五種色調可得到的色彩總數為 53 = 125。在這125種色彩內將自動出現五種灰色調,具體為⑴R、G和B都等于0,⑵R、 G和B都等于64,等等。五種灰度優于四種,但仍然沒有達到預期效果。為此,附加灰度可編碼為像素編碼的“隱藏”區域。如圖4所示,MP命令通過七位 來定義紅、綠和藍強度。128狀態(27)可由這7位來定義,但是,利用上述五色調流行色方 案,僅標識125種色彩。本實例采用剩余三種狀態(128減125)用于三個附加灰度級。這 時,代替五個灰色調(RGB = 0、64、128、192和255),把三個附加灰色調(RGB = 96、160和 224)包括在內。圖11的最右欄中表示了八種灰度。圖12是在為24位色彩設置的計算機的視頻屏幕上的測試圖案(稱作0-255RGB+ 灰度測試圖案)的彩色打印件。測試圖案具有純紅、純綠和純藍的水平條,從零(最暗)增 加到255(最亮)。它還具有純灰色條(等量的紅、綠和藍),從零增加到255。圖13是在采 用本發明的“7位灰度優先色彩模式”實施例且源視頻為圖12所示的測試圖案時所得客戶 機屏幕的彩色打印件。最后,7位灰度優先色彩模式精確地顯示最流行的五種紅、綠和藍色 調,并提供比技術人員從7位所期望的更多的灰度等級。與先有技術的六位色彩方案相比,7位灰度優先色彩模式提供更好的色彩質量,其 中灰度數量變為兩倍(八對四)。7位灰度優先色彩模式在其中高色深度不是關鍵的計算 機領域中具有特殊應用,以及在網絡管理領域中具有更特殊應用。網絡管理員常常維護不 在管理員附近的服務器。管理員仍然需要訪問服務器,并與服務器實時交互。在鍵盤或鼠 標輸入之后讓視頻從服務器盡快到達網絡管理員是重要的。而且,以極差的色彩或灰度質 量返回視頻或者過于緩慢地跟上鍵盤和鼠標輸入的先有技術視頻方案是不可接受的。具有 7位灰度優先色彩模式的本壓縮系統為需要計算機界面(按鈕、條等)的功能方面的良好視 頻的網絡管理員提供優異的色彩質量和額外的灰度級質量。在本發明的另一個實施例中,色深度根據源視頻內容和/或網絡帶寬可用性來動 態增加或減少。視頻壓縮編碼器將通知客戶機,MP命令的長度被增加或減少,其它所有命 令將保持相同。由于MP命令為最低優先級并且較少出現,因此對于各MP命令,擴展到兩個 或兩個以上字節不會明顯增加使用大部分計算機屏幕所產生的網絡通信量。查看圖像、如 照片將增加MP命令的數量以及增加差異。測試表明,把MP命令從一字節增加到二字節僅 讓典型計算機屏幕上的通信量增加30%。在本發明的另一個實施例中,可通過在來自所發送的前一幀的源視頻沒有改變時 不發送數據,使網絡通信量減至最少。在這個實施例中,當編碼器26認識到沒有發生改變 時,不需要發送命令,因為當客戶機11沒有接收命令時,缺省情況下不對客戶機屏幕進行 改變。在另一個備選實施例中,在某個時段(例如一分鐘)之后,服務器軟件向客戶機發送 消息,讓客戶機11知道連接仍然有效且屏幕沒改變。
15
在圖1和圖2所述的實施例中,源視頻來自均位于目標服務器15中的視頻創建軟 件和視頻控制器芯片。另一個示例實施例是讓源視頻來自與視頻壓縮器集成在一起的視頻 創建軟件和視頻控制器芯片。圖14中說明了這種“嵌入式”全集成系統的一個實例。另一個備選實施例是完全采用直接與視頻創建軟件接口的軟件來壓縮視頻(利 用上述相同類型的視頻命令),消除了對視頻控制器芯片的需要。圖15中說明了這種純軟 件“無控制器”實施例的一個實例。在前面的示例實施例中,命令解碼器通過PC軟件來實現。一個備選實施例完全采 用硬件或者采用硬件和低成本低性能的小型微處理器的組合來實現解碼器。這種“嵌入式” 解碼器將直接向視頻顯示器輸出其視頻(沒有PC或視頻控制器芯片),如圖16所示。這種 “微客戶機”還可包含鍵盤和鼠標接口電路,并且還可集成到視頻顯示器中。微客戶機適用 于希望讓所有工作人員計算機離開主工作區并呆在機房中的應用。在工作區,只有鍵盤、監 視器和鼠標出現在桌面上。當工作人員從一個位置移動到另一個位置時,他們可從任何微 客戶機登錄其計算機(或者允許他們進入的其它任何計算機)。下面針對圖17描述本發明的另一個示例方面。如果添加了也具有相同客戶機軟 件并且也連接到IP網絡的第二客戶機16 (與客戶機11相同),則服務器設備14可向兩個 客戶機發送同樣的視頻壓縮命令,允許兩個客戶機同時“共享”對目標服務器15的訪問。通 常,在這種“共享模式”中,一個客戶機正訪問服務器15,而另一個客戶機正在觀看。當客戶 機11正使用服務器并且遇到客戶機用戶希望網絡管理員(處于另一位置)查看的某種操 作錯誤時,可發生該實例。這稱作“幫助臺”模式。在視頻為多播的情況下,對于在多個相 應客戶機遠程控制臺17和18就坐的一組受訓人員,更大程度地采用該共享模式。在通過因特網(尤其是具有大量同時用戶)的共享模式中,采用UDP通信而不是 TCP通信是有利的。技術人員會理解,UDP采用無確認數據報,而TCP數據報被確認。大量 同時共享模式用戶的確認涌入可能充斥服務器設備。TCP的優點在于,由于一切數據被發送 并回送直到被確認,因此沒有數據丟失。但是,對于視頻,用戶較少關心丟失的內容,而更多 關心連續視頻流。換言之,僅僅由于屏幕因丟失幀而閃爍,并不意味著用戶希望視頻返回到 所丟失的幀并重新開始。本發明可與TCP、UDP或其它任何確認或未確認協議配合使用。申請人:注意到,UDP協議的缺點在于,它們可有助于在因特網上惡意出現的業務攻 擊的拒絕。由于UDP是無確認的,因此通信量可能用UDP數據報充斥服務器。為了防止這 種情況,防火墻常常封鎖UDP。在采用UDP的示例實施例中使用本發明要求接受UDP數據 報,但是,教室環境以及用于大量共享模式用戶的其它應用通常處于防火墻之后的設備中。在又一個實施例中,數據加密應用于視頻壓縮命令,使得所傳送的壓縮計算機屏 幕沒有被監視的危險。可采用任何加密技術,但是,從實現的觀點來看,可在相同視頻壓縮 器23中與視頻壓縮編碼一起實現的加密技術、如AES加密比獨立的數據加密裝置更符合需 要。本發明人提出與7位灰度優先色彩方案結合的上述命令結構的組合作為優選實 施例,因為這個組合是極適合于在KVM類型服務器管理環境中工作的計算機管理員的折衷 的最佳方式。重新安排命令操作碼和改變色彩方案可降低網絡帶寬要求或者增加用于其它 環境的色深度。例如,如果只有五個色彩位用來實現如圖18所示的5位灰度優先色彩模式,則在MS命令與MP命令之間交換操作碼是有利的,如圖19所示,因為單一位操作碼在只具有五個 P位的MP命令上是“浪費的”。在該實施例中,單一位操作碼更好地用來增強MS命令的效 率。它還消除了對于MS命令擴展位(E位)的需要,因為僅發送后續MS命令可擴展MS命 令,如圖20和圖21所示。命令結構和5位色彩的這個備選組合對于具有大量文本的屏幕 提供了較少色深度,但改進了性能(由于更有效率的MS命令),但是,它提供了與上述7位 色彩模式相同的灰度數量(8)。對于要求更多色深度的應用進行了優化的另一個實施例采用圖19所示的操作碼 的相同備選排列,但MP命令為一或二字節長,如圖22、23和24所示。當它為二字節長時, 它提供12位色彩(4紅、4綠和4藍),如圖23所示。當它為一字節長時,它提供定義16個 灰色調(紅、綠和藍均相等)的4位凈荷,如圖24所示。圖22中的“A”位(或“所有”位) 表明,所有三種色彩均等于“P”位的值,以及命令限于一字節。事實上,變長MP命令為灰度 優先的,因為從一字節灰度命令中產生較少網絡通信量。在另一個實施例中,一字節MP命 令的4位凈荷表示16個最流行色而不是16個灰度。16個最流行色可通過MP命令的最近 使用統計數據或者通過16種流行色的預置列表來確定。另外,上述5位色彩模式中的更有 效MS命令的相同優點包括在這12位色彩模式中。這里所述的5位和12位色彩模式的密 切相似性允許一個實施例根據源視頻內容和/或可用網絡帶寬在5位與12位色彩之間動 態切換。對于在其它應用或其它環境中的改進性能,與那些表示為采用5位和12位色彩模 式相似的命令的其它重新安排也是有利的。雖然結合目前認為是最可行和優選的實施例對本發明進行了說明,但要理解,本 發明不限于所公開的實施例,相反,它意在涵蓋包含于所附權利要求的實質和范圍內的各 種修改和等效方案。
1權利要求
一種通過以下步驟對視頻信息編碼的方法提供具有5位的色彩數據包,產生32個字用于色彩標識;為總共27個可能的色彩組合預先確定3個紅色值、3個藍色值以及3個綠色值;把32個字與27個可能的色彩組合相關,產生5個剩余字;預先確定5個額外的灰度值;以及把所述剩余的5個字與所述5個額外的灰度值相關。
2.如權利要求1所述的方法,還包括 提供大于5位的色彩數據包;以及為較低色彩分辨率動態選擇所述5位數據包,以及為較高色彩分辨率選擇更高位數據
全文摘要
公開一種視頻壓縮系統(圖2),它經過優化,以便利用通常出現在計算機屏幕(11)上的冗余類型以及實時交互計算機用戶(11)可接受的視頻損失類型。它自動適應各種各樣的變化網絡(29)帶寬條件,以及可接受任何視頻分辨率和無限數量的色彩。視頻壓縮編碼器可采用硬件或軟件來實現,它把源視頻壓縮為8位或更多位的固定長度的一系列數據包。
文檔編號G06T9/00GK101977312SQ20091022319
公開日2011年2月16日 申請日期2003年4月7日 優先權日2002年10月1日
發明者W·A·丹布拉卡斯 申請人:阿沃森特公司