專利名稱:用于視頻壓縮的數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型一般涉及視頻壓縮,并且更具體地涉及塊視頻壓縮和Dambrackas視頻壓縮系統(tǒng)。
背景技術(shù):
視頻由按空間和時(shí)間維度而被布置的像素陣列組成。視頻包含單個(gè)幀內(nèi)的空間冗余,以及幀之間的時(shí)間冗余。例如,當(dāng)相鄰的像素具有相同或相似的顏色時(shí)空間冗余經(jīng)常發(fā)生。當(dāng)像素在多個(gè)視頻的幀中保持相同的顏色,或當(dāng)攝像機(jī)移動(dòng)時(shí)像素僅偏移(shift)其位置時(shí),時(shí)間冗余經(jīng)常發(fā)生。通過(guò)在傳送期間去除這些冗余,被用于表示數(shù)字視頻圖像的數(shù)據(jù)量經(jīng)過(guò)視頻壓縮而被減少,有效地減少在通信信道上傳送所述視頻所需的帶寬。視頻壓縮是磁盤(pán)空間、視頻質(zhì)量和解壓縮硬件的成本之間的折衷(tradeoff),其中最終目標(biāo)是視頻數(shù)據(jù)的快速和準(zhǔn)確的傳送。 存在許多用于執(zhí)行更有效率的視頻壓縮的方案。這些解決方案中的一個(gè)是Dambrackas視頻壓縮(DVC)。DVC減少了從客戶端傳送到服務(wù)器以逐幀表示視頻數(shù)據(jù)的數(shù)據(jù)的量。在標(biāo)題為“視頻壓縮系統(tǒng)(Video Compression System) ”的美國(guó)專利No. 7321623中更詳細(xì)地論述了 DVC,其以引用的方式被合并于此處。DVC是面向行和像素的視頻壓縮的方法,其通常具有五個(gè)命令,用于逐巾貞(from frame to frame)表示視頻數(shù)據(jù)。通常,這些命令涉及表示是否應(yīng)從先前巾貞的相鄰像素(上方或到左邊)復(fù)制新巾貞中的像素或連續(xù)像素系列,留下與所述先前幀中的相同像素相同的,構(gòu)造成兩個(gè)像素顏色系列,或構(gòu)造成單個(gè)像素(made to be series of two pixel colors, or made to be an individual pixel)。該方法提供了傳送變化視頻數(shù)據(jù)的幀的有效方法,而不需要傳送所述幀中的所有視頻數(shù)據(jù)并由此極大地增加了所需帶寬。用于視頻壓縮的另外的常規(guī)系統(tǒng)包括塊壓縮系統(tǒng)。這些系統(tǒng)識(shí)別幀中已改變的塊,并僅僅傳送已改變的塊。塊可以是所述幀的一部分,例如是16X16像素或任何其他合適的尺寸。同樣地,取決于塊和幀尺寸,所述幀將由許多塊組成。一些硬件系統(tǒng)具有引擎,例如偵聽(tīng)引擎,所述引擎檢測(cè)幀中的哪些塊已從幀到幀而改變。這些塊壓縮方案可以利用該信息僅發(fā)送針對(duì)已改變的塊的視頻信息。然而,這些塊方案沒(méi)有實(shí)現(xiàn)所述DVC壓縮系統(tǒng)的一些壓縮益處。然而,DVC是不應(yīng)用到塊的面向幀、行和像素的壓縮方案,并且沒(méi)有利用引擎的優(yōu)勢(shì),所述引擎逐幀檢測(cè)塊中的變化。無(wú)論何時(shí)視頻屏幕的任何部分改變,DVC編碼和壓縮整個(gè)視頻屏幕用于傳送到客戶端。由于DVC編碼和壓縮整個(gè)屏幕,所述視頻屏幕上的小的變化經(jīng)常導(dǎo)致比絕對(duì)必要的數(shù)據(jù)字節(jié)更大量的數(shù)據(jù)字節(jié)被發(fā)送到所述客戶端。常規(guī)的系統(tǒng)沒(méi)有實(shí)現(xiàn)塊系統(tǒng)和DVC壓縮兩者的優(yōu)勢(shì)。因此,存在對(duì)實(shí)現(xiàn)DVC壓縮以及塊壓縮的優(yōu)勢(shì)的視頻壓縮系統(tǒng)的需求。
發(fā)明內(nèi)容[0007]根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng),提供了在數(shù)據(jù)處理系統(tǒng)中用于視頻壓縮的方法,所述方法包括檢查當(dāng)前視頻幀和先前的視頻幀,并確定所述當(dāng)前視頻幀中哪些像素從所述先前的視頻幀改變。所述方法進(jìn)一步包括確定所述當(dāng)前視頻幀中具有若干(anumber of)像素的塊尺寸,并確定所述當(dāng)前視頻幀中哪些像素塊從所述先前的視頻幀改變。所述方法還包括以DVC協(xié)議格式編碼已改變的所述塊的所述像素,以及以所述DVC協(xié)議格式傳送所述已改變的塊的編碼,而不傳送沒(méi)有改變的所述當(dāng)前視頻幀的所述塊。在一個(gè)實(shí)施方式中,提供了在數(shù)據(jù)處理系統(tǒng)中用于視頻壓縮的方法,包括確定所述當(dāng)前視頻幀中具有若干像素的塊尺寸,并且接收已從先前的視頻幀改變的當(dāng)前視頻幀的塊的編碼,而不接收沒(méi)有改變的塊。所述方法進(jìn)一步包括以DVC協(xié)議格式解碼所述塊的所述像素。在另一實(shí)施方式中,提供了用于視頻壓縮的數(shù)據(jù)處理系統(tǒng),包括處理器,所述處理器被配置為檢查當(dāng)前視頻幀和先前的視頻幀,確定所述當(dāng)前視頻幀中的哪些像素從所述先前的視頻幀改變,并確定所述當(dāng)前視頻幀中具有若干像素的塊尺寸。所述數(shù)據(jù)處理系統(tǒng)進(jìn) 一步包括塊改變檢測(cè)器,所述塊改變檢測(cè)器被配置為確定所述當(dāng)前視頻幀中哪些像素的塊從所述先前的視頻幀改變。所述數(shù)據(jù)處理系統(tǒng)還包括編碼器,所述編碼器被配置為以DVC協(xié)議格式編碼已改變的所述塊的所述像素,并以所述DVC協(xié)議格式傳送所述已改變的塊的所述編碼,而不傳送沒(méi)有改變的所述當(dāng)前視頻幀的所述塊。
圖I描繪了根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng)的示例性KVM計(jì)算機(jī)系統(tǒng);圖2示出了與與本實(shí)用新型相一致的系統(tǒng)和方法相一致的示例性客戶端計(jì)算機(jī)系統(tǒng);圖3描繪了示出根據(jù)與本實(shí)用新型相一致的方法的示例性步驟的流程圖;圖4描繪了根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng)具有已改變的4個(gè)塊的幀。在該例子中,顯示了視頻的幀;圖5描繪了根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng)具有矩形形狀的4個(gè)塊的示例性幀。
具體實(shí)施方式
根據(jù)本實(shí)用新型的方法和系統(tǒng)將DVC壓縮與塊壓縮相結(jié)合。當(dāng)傳送正在改變的視頻幀時(shí),它們確定哪些塊從塊到塊已改變并傳送關(guān)于所述已改變的塊的信息。在這樣做時(shí),它們將DVC壓縮應(yīng)用于所述已改變的塊,進(jìn)一步實(shí)現(xiàn)附加的壓縮效率并減少要被從幀到幀傳送的數(shù)據(jù)量。因而,關(guān)于所述已改變的塊的信息可以是被傳送的唯一的信息,并且使用DVC命令壓縮所述改變的塊中被傳送的信息,以及結(jié)果,所述被傳送的信息被進(jìn)一步減少并更有效率地被構(gòu)造(made more efficient)。這些方法和系統(tǒng)可以實(shí)現(xiàn)塊壓縮系統(tǒng)和DVC系統(tǒng)的結(jié)合的益處。這些系統(tǒng)提供了提高DVC的方式,以便僅編碼和壓縮已改變的視頻數(shù)據(jù)的塊,并且因此更少字節(jié)的數(shù)據(jù)將被發(fā)送到所述客戶端。這些系統(tǒng)也可以利用檢測(cè)從幀到幀的塊改變的引擎以及所述DVC壓縮協(xié)議。如果所述引擎指示塊或塊系列被改變,則不需要評(píng)估整個(gè)幀也不需要傳送整個(gè)幀。也不需要傳送所述DVC命令和關(guān)于整個(gè)幀的相關(guān)信息。例如,如果在幀的中間的四個(gè)塊的集合已經(jīng)改變,則根據(jù)本實(shí)用新型的方法和系統(tǒng)可以傳送僅關(guān)于這四個(gè)塊的數(shù)據(jù)。常規(guī)的DVC典型地傳送用于所述整個(gè)屏幕的無(wú)變化命令直到第一塊的開(kāi)始,并且隨后其傳送關(guān)于所述塊的第一行的改變,接著傳送從所述塊的末端到所述幀中的行的結(jié)束的無(wú)變化命令。隨后對(duì)于下一行,所述DVC協(xié)議傳送從該行的開(kāi)始到第一塊的開(kāi)始的無(wú)變化命令,并且隨后傳送在所述塊中相同行上已發(fā)生的改變,接著傳送從所述塊的末端到所述幀中該行的末端的無(wú)變化命令。其可以對(duì)所述塊中的每行這樣做,并且隨后傳送從所述塊的末端到所述屏幕的末端的無(wú)變化命令。在該場(chǎng)景下,根據(jù)本實(shí)用新型的方法和系統(tǒng)識(shí)別哪些塊已改變并使用所述DVC命令識(shí)別在那些改變的塊中所述信息如何已改變以進(jìn)一步減少被傳送以識(shí)別如何顯示所述新幀的總信息。對(duì)于視頻幀中的少量的改變,或?qū)τ谝曨l幀中的多個(gè)非連接的改變,所述塊方法能夠?qū)е卤话l(fā)送到所述客戶端的數(shù)據(jù)字節(jié)的數(shù)目的相當(dāng)大的減少。減少被從所述視頻編碼器發(fā)送到所述視頻客戶端的數(shù)據(jù)的字節(jié)數(shù)目減少了網(wǎng)絡(luò)帶寬并使所述解決方案更有效率。來(lái)自制造商(諸如Nuvoton和ServerEngines)的一些視頻控制器包括在塊基礎(chǔ)上工作的視頻改變引擎。因?yàn)樗鰠f(xié)議是面向行的,現(xiàn)有的DVC沒(méi)有完全利用這些改變引擎。通過(guò)集成塊方法,DVC可以利用這些改變引擎并通過(guò)減少DVC命令的數(shù)量而減少檢測(cè)和確定對(duì)所述視頻的改變所需的CPU周期并減少網(wǎng)絡(luò)帶寬使用率,所述DVC命令被發(fā)送以指示對(duì)所述視頻顯示的改變。DVC相當(dāng)大的推進(jìn)了減少?gòu)乃鲆曨l編碼器被發(fā)送到所述視頻客戶端的數(shù)據(jù)量。根據(jù)本實(shí)用新型的方法和系統(tǒng)進(jìn)一步減少了被處理和發(fā)送的視頻數(shù)據(jù)字節(jié)的數(shù)量。DVC典型地包括五種不同類型的單或多字節(jié)命令構(gòu)造像素(Make Pixel) (MP);構(gòu)造系列(MS);無(wú)變化(NC);復(fù)制左邊(CL)和復(fù)制上方(CA)。這些DVC命令和DVC的其他方面在美國(guó)專利No. 7321623中被詳細(xì)地論述。DVC也在美國(guó)專利申請(qǐng)公開(kāi)No. 2007/0253492中被論述,其以引用的方式被合并入此處。在一個(gè)實(shí)施方式中,這些命令被使用并且不被修改。在一個(gè)實(shí)施方式中,根據(jù)本實(shí)用新型的方法和系統(tǒng)向DVC增加三個(gè)新命令。它們也可以實(shí)施對(duì)用于DVC的傳輸協(xié)議的改變,典型地是Avocent視頻會(huì)話協(xié)議(AVSP)。AVSP可以被修改以便其指示其正在傳輸?shù)腄VC數(shù)據(jù)的幀是否是以像素塊格式。如果所述DVC數(shù)據(jù)是以常規(guī)的幀格式,則不需要對(duì)AVSP進(jìn)行改變。一旦幀的改變的塊被識(shí)別,用所述三個(gè)新命令編碼所述塊。可以使用其他合適的命令,并且所述命令不被限于這三個(gè)。通常,通過(guò)單個(gè)塊、鄰接的塊的行、或形成矩形的塊的區(qū)域,所述塊在所述命令中被識(shí)別。第一新DVC命令,Block Number Singular(BNS)指示正在對(duì)于哪個(gè)特定塊發(fā)送接下來(lái)的DVC數(shù)據(jù)。第二新DVC命令,Block Number Multiple (BNM)指示其應(yīng)用于的起始?jí)K和鄰接的塊(第一塊之后)的數(shù)量,對(duì)于這些塊DVC數(shù)據(jù)正被發(fā)送(indicates the starting block and the number of contiguous blocks(after thefirst block) it applies to for which DVC data is being sent)。在一個(gè)實(shí)施方式中,在左上方中的O處開(kāi)始并且從左向右以及隨后從上到下進(jìn)行而對(duì)所述塊進(jìn)行編號(hào)。每個(gè)塊的尺寸可以在DVC傳送的開(kāi)始之前被確定并且可以是諸如AVSP的包圍協(xié)議(encompassingprotocol)的一部分,在所述包圍協(xié)議上DVC數(shù)據(jù)被發(fā)送。第三新命令,Block NumberRectangular (BNR)指示形成矩形塊的起始?jí)K和水平維度以及垂直維度上的塊的數(shù)目。典型地,塊的大小可以是16 X 16像素或32 X 32像素,但也可以使用任何其他大小。圖I描繪了根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng)的示例性KVM計(jì)算機(jī)系統(tǒng)。這些系統(tǒng)可以在客戶端和目標(biāo)計(jì)算機(jī)系統(tǒng)之間的網(wǎng)絡(luò)上實(shí)現(xiàn)DVC視頻壓縮。KVM系統(tǒng)100在圖I中被示出,其中一個(gè)或多個(gè)目標(biāo)系統(tǒng)114-1. . . 114-k由一個(gè)或多個(gè)客戶站(clientstations) 124-1,124-2,. . . 124-r (統(tǒng)稱124)控制或訪問(wèn)。每個(gè)目標(biāo)系統(tǒng)114包括目標(biāo)計(jì)算機(jī)102以及相關(guān)聯(lián)的和附加的本地單元116。雖然一些客戶站可以僅包括視頻顯示器108和客戶單元,每個(gè)客戶站124通常包括客戶單元126、鍵盤(pán)106、視頻監(jiān)視器108和鼠標(biāo)(或類似的點(diǎn)擊式設(shè)備)110。特定目標(biāo)計(jì)算機(jī)102-i的操作可以在任何客戶站124的所述視頻監(jiān)視器108上被遠(yuǎn)程地查看,并且所述客戶站124的所述鍵盤(pán)106和鼠標(biāo)110可以被用于向所述目標(biāo)計(jì)算機(jī)102-i提供鍵盤(pán)和鼠標(biāo)輸入。如在圖I中所示的,在KVM系統(tǒng)100中,客戶站124能夠控制或訪問(wèn)多于一個(gè)的目標(biāo)計(jì)算機(jī)。注意圖I中的目標(biāo)系統(tǒng)和客戶站之間所畫(huà)的線表示那些方(those sides)之間潛在的(并且不是必然實(shí)際存在的)有線或無(wú)線(例如RF)鏈接。因此,每個(gè)目標(biāo)計(jì)算機(jī)102可以由多于一個(gè)的客戶站124控制或訪問(wèn),并且每個(gè)客戶站124可以控制多于一個(gè)的目標(biāo)計(jì)算機(jī)102。在一個(gè)實(shí)施方式中,所述客戶站可·以被置于所述目標(biāo)系統(tǒng)的幾百英尺內(nèi)。此外,在一定的環(huán)境下(in certain contexts),所述目標(biāo)系統(tǒng)被認(rèn)為是視頻傳送器或發(fā)送單元,并且所述客戶系統(tǒng)是視頻接收單元或接收器,盡管兩個(gè)單元傳送和接收。通常,視頻從目標(biāo)系統(tǒng)行進(jìn)到客戶站,而鍵盤(pán)和鼠標(biāo)數(shù)據(jù)從客戶站移動(dòng)到目標(biāo)系統(tǒng)。如在圖I中所示的,本地或目標(biāo)系統(tǒng)114包括目標(biāo)計(jì)算機(jī)102和相關(guān)聯(lián)的本地單元116。所述本地系統(tǒng)114也可以包括鍵盤(pán)118、鼠標(biāo)(或其他點(diǎn)擊類型的設(shè)備)120和本地監(jiān)視器122,每個(gè)均被直接連接到所述本地單元116。所述客戶站124包括客戶單元126。所述本地或目標(biāo)計(jì)算機(jī)102可以是計(jì)算機(jī)、服務(wù)器、處理器、或處理器或邏輯元件的其他集合。通常,目標(biāo)計(jì)算機(jī)可以包括任何處理器或處理器的集合。舉例來(lái)說(shuō),目標(biāo)計(jì)算機(jī)可以是在制造或加工生產(chǎn)線上被置于(或被嵌入)服務(wù)器、臺(tái)式計(jì)算機(jī)(諸如PC、蘋(píng)果Macintosh或類似物)、自助式服務(wù)設(shè)備(kiosk)、ATM、交換機(jī)、機(jī)頂盒、器具(諸如電視、DVR、DVD播放器以及類似物)、車(chē)輛、升降機(jī)中的處理器或處理器的集合或邏輯元件。目標(biāo)計(jì)算機(jī)的集合可以是機(jī)架中的服務(wù)器的集合或一些其他集合,并且它們可以是彼此獨(dú)立的或在網(wǎng)絡(luò)中被彼此連接或由一些其他結(jié)構(gòu)彼此連接。所述本地和客戶監(jiān)視器122、108可以是數(shù)字的或模擬的。所述本地單元116是例如印刷電路板(“PCB” )的設(shè)備或機(jī)構(gòu),所述設(shè)備或機(jī)構(gòu)被本地安裝到所述目標(biāo)/本地計(jì)算機(jī)102。該設(shè)備可以是接近于所述計(jì)算機(jī)但在所述計(jì)算機(jī)的外部,或者可以被安裝在所述計(jì)算機(jī)的外殼內(nèi)。在一個(gè)實(shí)施方式中,不管所述本地單元116的定位,在所述目標(biāo)計(jì)算機(jī)102和所述本地單元116之間存在直接的電連接。通過(guò)無(wú)線連接鏈路134,所述本地/目標(biāo)系統(tǒng)114上的各種組件無(wú)線地或通過(guò)有線連接與所述客戶站124上的組件通信。在一個(gè)實(shí)施方式中,所述無(wú)線連接或鏈路134遵循IEEE802. Ila標(biāo)準(zhǔn)協(xié)議,盡管本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到其他協(xié)議和通信的方法是可能的。所述本地單元116接收本地鼠標(biāo)和鍵盤(pán)信號(hào)(例如做為PS2信號(hào))。這些信號(hào)由所述本地單元116提供給所述目標(biāo)計(jì)算機(jī)102。所述目標(biāo)計(jì)算機(jī)102產(chǎn)生視頻輸出信號(hào),例如RGB (紅、綠、藍(lán))信號(hào),所述信號(hào)被提供給所述本地單元116,所述本地單元116而又提供所述信號(hào)以驅(qū)動(dòng)所述本地監(jiān)視器122。所述目標(biāo)計(jì)算機(jī)102也可以產(chǎn)生被提供到所述本地單元116的音頻輸出信號(hào)。如所述的,所述目標(biāo)計(jì)算機(jī)102不需要具有鍵盤(pán)、鼠標(biāo)或監(jiān)視器,并且可以完全由客戶站124控制。本地單元116傳送圖像數(shù)據(jù),用于傳送到客戶站(例如通過(guò)客戶單元126)。在被傳送之前,所述數(shù)據(jù)中的一些或所有可以被壓縮。另外,本地單元116可以(從客戶站124)接收鼠標(biāo)和鍵盤(pán)數(shù)據(jù),所述鼠標(biāo)和鍵盤(pán)數(shù)據(jù)隨后被提供給所述本地/目標(biāo)計(jì)算機(jī)102。所述目標(biāo)計(jì)算機(jī)102可以執(zhí)行所述接收的數(shù)據(jù)并可以在其本地監(jiān)視器122上顯示輸出。所述客戶站124通過(guò)有線或無(wú)線連接(例如802. Ila無(wú)線連接134)從所述目標(biāo)計(jì)算機(jī)102的所述本地單元116接收視頻數(shù)據(jù)。所述客戶單元126接收來(lái)自所述本地單元116的(可能壓縮的)視頻數(shù)據(jù)(不是所有所述數(shù)據(jù)需要被壓縮)。所述客戶單元126解壓縮(當(dāng)需要時(shí))來(lái)自所述本地單元116的所述視頻數(shù)據(jù)并將其提供給合適的再現(xiàn) (rendering)單元,例如提供給所述客戶監(jiān)視器108,所述再現(xiàn)單元顯示所述視頻數(shù)據(jù)。另夕卜,客戶鼠標(biāo)110和鍵盤(pán)106可以被用于產(chǎn)生合適的信號(hào)(例如PS2信號(hào)),所述合適的信號(hào)可以通過(guò)客戶單元126而被傳送到本地單元116,用于在目標(biāo)計(jì)算機(jī)102上執(zhí)行。圖2示出了和與本實(shí)用新型相一致的系統(tǒng)和方法相一致的示例性客戶計(jì)算機(jī)系統(tǒng)??蛻粲?jì)算機(jī)124包括總線203或用于通信信息的其他通信機(jī)制,以及與總線203相耦合用于處理所述信息的處理器205。處理器205或另一視頻處理組件可以實(shí)現(xiàn)本文所述的塊和DVC編碼和解碼??蛻粽?24也可以包括與客戶計(jì)算機(jī)124相似的組件,包括所提到的所述組件中的一些或所有。客戶計(jì)算機(jī)124也包括被耦合到總線203用于存儲(chǔ)要由處理器205執(zhí)行的信息和指令的主存儲(chǔ)器207,諸如隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)或其他動(dòng)態(tài)存儲(chǔ)設(shè)備。此外,主存儲(chǔ)器207可以被用于存儲(chǔ)在要由處理器205執(zhí)行的指令的執(zhí)行期間的臨時(shí)變量或其他中間信息。主存儲(chǔ)器207包括程序213,用于實(shí)現(xiàn)與根據(jù)本實(shí)用新型的方法和系統(tǒng)相一致的處理??蛻粲?jì)算機(jī)124進(jìn)一步包括被耦合到總線203的只讀存儲(chǔ)器(ROM) 209或其他靜態(tài)存儲(chǔ)設(shè)備,用于存儲(chǔ)用于處理器205的靜態(tài)信息和指令。存儲(chǔ)設(shè)備211 (諸如磁盤(pán)或光盤(pán))被提供并被耦合到總線203,用于存儲(chǔ)信息和指令。根據(jù)一個(gè)實(shí)施例,處理器205執(zhí)行包含在主存儲(chǔ)器207中的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列。這樣的指令可以被從另一個(gè)計(jì)算機(jī)可讀介質(zhì)(諸如存儲(chǔ)設(shè)備211)讀入主存儲(chǔ)器207中。主存儲(chǔ)器207中的指令序列的執(zhí)行導(dǎo)致處理器205執(zhí)行本文所述的處理。多處理布置中的一個(gè)或多個(gè)處理器也可以被用于執(zhí)行包含在主存儲(chǔ)器207中的指令序列。在可替代的實(shí)施例中,硬線電路可以被用于代替軟件指令或與軟件指令相結(jié)合。因此,實(shí)施例不限于硬件電路和軟件的任何特定組合。盡管相對(duì)于主存儲(chǔ)器207和存儲(chǔ)設(shè)備211進(jìn)行描述,與本實(shí)用新型相一致的方法和系統(tǒng)的指令和其他方面可以駐留(reside)在現(xiàn)在已知的或以后被發(fā)現(xiàn)的另一計(jì)算機(jī)可讀介質(zhì)上,諸如軟盤(pán)、軟磁盤(pán)、硬盤(pán)、磁帶、CD-ROM、磁性物、光學(xué)或物理介質(zhì),RAM、PR0M、以及EPROM、FLASH-EPR0M、任何其他存儲(chǔ)芯片或存儲(chǔ)盒(cartridge)、或計(jì)算機(jī)能夠從其中讀取的任何其他介質(zhì)。此外,在美國(guó)專利7321623中描述的任何系統(tǒng)可以與根據(jù)本實(shí)用新型的方法和系統(tǒng)一起使用,和/或適宜于與根據(jù)本實(shí)用新型的方法和系統(tǒng)一起使用。[0034]圖3描繪了示出根據(jù)與本實(shí)用新型相一致的方法的示例性步驟的流程圖。下面將結(jié)合圖4和圖5論述圖3的步驟。圖4描繪了根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng)具有已改變的4個(gè)塊的幀。在該例子中,視頻的幀被顯示。所述幀被分成許多相等大小的塊,例如16X16像素。在該圖中,僅顯示了已從先前的視頻幀改變的塊并且所述塊可以不是按所示的比例??梢源嬖诒人镜膲K更多的已改變或未改變的塊。例如,所述先前的幀被發(fā)送,并且隨后新的幀僅在塊402-408中改變。為了編碼所述用于傳送的視頻幀,偵聽(tīng)引擎檢測(cè)所述已改變的塊402-408(步驟302)。隨后,所述系統(tǒng)確定哪個(gè)命令適合于每個(gè)已改變的塊或塊的集合(步驟 304)。特別地,圖4描繪了根據(jù)與本實(shí)用新型相一致的方法和系統(tǒng)具有矩形形狀的4個(gè)塊的示例性幀。在該例子中,所述偵聽(tīng)引擎檢測(cè)到所述塊402-408已從視頻幀400之前的視頻幀改變(步驟302)。所述系統(tǒng)可以檢查以查看已改變的塊是否是矩形的已改變的塊的 集合的開(kāi)始(步驟306)。在檢測(cè)到矩形格式的塊(例如塊402-408)之后,其以所述DVC協(xié)議編碼塊的所述矩形盒中的像素。其這樣做好像所述矩形盒中的各個(gè)塊是一個(gè)單個(gè)的更大的塊。在該情況下,所述Block Rectangular命令被使用并且識(shí)別所述盒402-408中的所述塊(步驟308)。應(yīng)該注意的是盡管圖4中所示的塊形成正方形,任何矩形可以被檢測(cè)。在一個(gè)實(shí)施方式中,通過(guò)指示開(kāi)始的塊號(hào)(例如塊402),接著水平方向上的塊的數(shù)量(例如2),以及垂直方向上的塊的數(shù)量(例如2),所述偵聽(tīng)引擎識(shí)別所述塊。例如,所述命令可以包括用于水平方向上具有2塊和垂直方向上具有2塊的塊402的Block Rectangular的402-408,其中所述塊是形成具有在所述幀中被檢測(cè)到的變化的矩形塊的402-408。使用所述DVC協(xié)議,所述塊中的像素(例如32X32像素)被編碼(步驟310)。該編碼產(chǎn)生一系列各種合適的DVC命令,所述DVC命令描述了要被再現(xiàn)的所述視頻數(shù)據(jù),并且在一個(gè)實(shí)施方式中,恰是由塊402-408形成的該矩形塊中的所述像素。這些DVC命令可以被附加到所述Block Rectangular命令(步驟312),所述Block Rectangular命令指示哪些塊正在改變。這傳送所述信息以通過(guò)所述接收組件再現(xiàn)所述塊。在一個(gè)實(shí)施方式中,所述系統(tǒng)為所述幀中已改變的所有矩形塊的集合重復(fù)該編碼(步驟306)。當(dāng)所述編碼完成或當(dāng)所述編碼進(jìn)行時(shí)所述系統(tǒng)可以將所述編碼發(fā)送到所述接收組件(步驟314)。所述系統(tǒng)檢查更多改變的塊(步驟316),并且如果存在更多改變的塊,則其確定要用于那些塊的命令(步驟304)。圖5描繪了具有4個(gè)改變的塊的示例性幀,所述4個(gè)改變的塊包括一個(gè)單個(gè)的改變的塊和排成行的三個(gè)改變的塊。在該例子中,通過(guò)檢測(cè)改變的塊在改變的塊的行中是第一塊,所述系統(tǒng)檢測(cè)一行已改變的塊504-508 (步驟318)。在檢測(cè)一行塊之后,其以所述DVC協(xié)議編碼所述行的塊中的像素。其這樣做好像所述行中的各個(gè)塊是一個(gè)單個(gè)的更大的矩形塊。在該情況下,所述Block Multiple命令被使用并且識(shí)別所述行中的塊404-408(步驟320)。在一個(gè)實(shí)施方式中,通過(guò)指示開(kāi)始的塊號(hào)(例如塊504),接著在所述順序行中塊的數(shù)量(例如3),其這樣做。例如,所述命令可以包括用于具有全部3塊的塊號(hào)60的BlockMultiple,其中所述塊是504-508,是所述幀中第60、第61和第62塊。使用所述DVC協(xié)議,所述塊中的所述像素(例如16X48像素)被編碼(步驟322)。該編碼產(chǎn)生一系列各種合適的DVC命令,所述各種合適的DVC命令描述了要被再現(xiàn)的視頻數(shù)據(jù),并且在一個(gè)實(shí)施方式中,恰是由塊504-508形成的該矩形塊中的所述像素。這些DVC命令可以被附加到所述Block Multiple命令(步驟324),所述Block Multiple命令指示哪些塊正在改變。這編碼并傳送所述信息以通過(guò)所述接收組件再現(xiàn)所述塊。在一個(gè)實(shí)施方式中,所述系統(tǒng)為所述幀中已變化的所有鄰接的塊重復(fù)該編碼(步驟318)。當(dāng)所述編碼完成或當(dāng)所述編碼進(jìn)行時(shí)所述系統(tǒng)可以將所述編碼發(fā)送到所述接收組件(步驟314)。所述系統(tǒng)檢查更多的已改變的塊(步驟316),并且如果存在更多的已改變的塊,則其確定要用于那些塊的命令(步驟304)。對(duì)于所述單個(gè)的已改變的塊502,所述系統(tǒng)用Block Single命令編碼所述改變(步驟326),所述Block Single命令指示哪個(gè)單個(gè)的塊已改變。例如,該命令可以包括用于于塊號(hào)45的Block Single (當(dāng)塊502是所述幀中的塊號(hào)45時(shí))。使用所述DVC協(xié)議,所述塊中的像素(例如16 X 16像素)被編碼(步驟328)。這產(chǎn)生一系列各種合適的DVC命令(例如,構(gòu)造像素(MP)、構(gòu)造系列(MS)、無(wú)變化(NC)、復(fù)制左邊(CL)、以及復(fù)制上方(CA)),所述各種合適的DVC命令描述了要被再現(xiàn)的視頻數(shù)據(jù),并且在一個(gè)實(shí)施方式中,恰是該塊502中的像素。(可替代地,特定的塊之外的像素可以被用作用于DVC復(fù)制命令的參考。例如,如果恰在所述塊的左上角中的像素的左邊的像素與所述塊的第一行中的第一個(gè)像素相 同,則可以對(duì)所述塊中第一個(gè)像素執(zhí)行拷貝左邊命令)。這些DVC命令可以被附加到BlockSingle命令(步驟330),所述Block Single命令指示哪個(gè)塊正在改變。這編碼并傳送所述信息以通過(guò)所述接收組件再現(xiàn)所述塊。在一個(gè)實(shí)施方式中,所述系統(tǒng)為所述幀中已改變的所有單個(gè)的塊重復(fù)該編碼。當(dāng)所述編碼完成或當(dāng)所述編碼進(jìn)行時(shí)所述系統(tǒng)可以將所述編碼發(fā)送到所述接收組件(步驟314)。所述系統(tǒng)檢查更多的已改變的塊(步驟316),并且如果存在更多的已改變的塊,則其確定要用于那些塊的命令(步驟304)。所述接收組件可以接收所述命令(例如Block Single、Block Multiple、BlockRectangular),并且相應(yīng)地解碼它們以再現(xiàn)所述視頻用于顯示。所述塊命令之后的指示符被解釋以確定哪些塊正在被接收,并且隨后所述解碼器可以使用所述DVC命令,其跟隨解碼這些已改變的塊中的像素。各個(gè)實(shí)施例的先前的描述提供了例示(illustration)和說(shuō)明,但并不意在是窮舉的或?qū)⒈緦?shí)用新型限制在所公開(kāi)的精確形式。根據(jù)上面的教導(dǎo),修改和變化是可能的,或者依照本實(shí)用新型,根據(jù)實(shí)踐,修改和變化可以被獲得。將會(huì)被理解的是本實(shí)用新型意在覆蓋包括在隨附的權(quán)利要求的精神和范圍內(nèi)的各種修改和相等同的配置。
權(quán)利要求1. 一種用于視頻壓縮的數(shù)據(jù)處理系統(tǒng),包括 處理器,所述處理器包括 用于檢查當(dāng)前視頻幀和先前的視頻幀的單元; 用于確定所述當(dāng)前視頻幀中哪些像素從所述先前的視頻幀改變的單元; 用于確定所述當(dāng)前視頻幀中具有若干像素的塊尺寸的單元; 塊改變檢測(cè)器,所述塊改變檢測(cè)器確定所述當(dāng)前視頻幀中哪些像素塊從所述先前的視頻幀改變;以及 編碼器,所述編碼器以DVC協(xié)議格式編碼已改變的所述塊的所述像素,并且以所述DVC協(xié)議格式傳送所述已改變的塊的所述編碼,而不傳送所述當(dāng)前視頻幀的未改變的塊。
專利摘要提供了用于視頻壓縮的數(shù)據(jù)處理系統(tǒng)。所述系統(tǒng)包括處理器,所述處理器包括用于檢查當(dāng)前視頻幀和先前的視頻幀的單元;用于確定所述當(dāng)前視頻幀中哪些像素從所述先前的視頻幀改變的單元;用于確定所述當(dāng)前視頻幀中具有若干像素的塊尺寸的單元;塊改變檢測(cè)器,所述塊改變檢測(cè)器確定所述當(dāng)前視頻幀中哪些像素塊從所述先前的視頻幀改變;以及編碼器,所述編碼器以DVC協(xié)議格式編碼已改變的所述塊的所述像素,并且以所述DVC協(xié)議格式傳送所述已改變的塊的所述編碼,而不傳送所述當(dāng)前視頻幀的未改變的塊。
文檔編號(hào)H04N7/26GK202713525SQ20112033220
公開(kāi)日2013年1月30日 申請(qǐng)日期2011年8月24日 優(yōu)先權(quán)日2010年8月24日
發(fā)明者C·S·西格曼, D·惠勒 申請(qǐng)人:阿沃森特公司