專利名稱:利用子波的視頻壓縮方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻壓縮裝置和方法,特別涉及用于以數(shù)字格式大幅度壓縮視頻圖像信息而不大幅度降低圖像品質(zhì)并同時(shí)提供實(shí)際恒定的數(shù)據(jù)輸出率的一種裝置和方法。
背景技術(shù):
視頻圖像由多個(gè)一般稱為像素的獨(dú)立圖像元素構(gòu)成,視頻圖像的像素是微小的彩色和/或黑白點(diǎn),它們緊密地位于電子顯示器上以便當(dāng)從遠(yuǎn)處觀看像素集合時(shí)它們實(shí)際難以區(qū)分而是顯現(xiàn)為一幅圖像。例如,高分辨率NTSC(全國(guó)電視系統(tǒng)委員會(huì))幀由成千上萬的像素構(gòu)成。形成一個(gè)NTSC視頻幀的像素可以由二進(jìn)制數(shù)據(jù)值來表示,這些二進(jìn)制數(shù)據(jù)值以數(shù)字形式規(guī)定了圖像的亮度(luma)(Y)、紅色度(Cr)和藍(lán)色度(Cb)的含量。高分辨率NTSC視頻幀對(duì)于這樣的圖像的亮度含量一般包括720×480字節(jié)的數(shù)字?jǐn)?shù)據(jù)。每個(gè)NTSC幀的紅色度和藍(lán)色度含量包含360×480字節(jié)的數(shù)據(jù)。以30幀/每秒(fps)的幀頻無線發(fā)送的實(shí)時(shí)NTSC視頻信號(hào)要求大量(約166兆比特/秒)的數(shù)據(jù)在發(fā)射機(jī)和接收機(jī)之間傳輸。
眾所周知,最好壓縮視頻數(shù)據(jù)以便使發(fā)送視頻數(shù)據(jù)所需要的帶寬最小。這一般通過處理具有極少或沒有被傳輸?shù)囊环蚨喾鶊D像的可感知內(nèi)容的數(shù)據(jù)來實(shí)現(xiàn)。有一類用于壓縮視頻數(shù)據(jù)的方法包含使用子波變換。例如,授予Shapiro的美國(guó)專利第5,315,670、5,412,741、5,321,776、5,315,670和5,563,960號(hào)說明了基于子波變換的視頻壓縮的各種技術(shù)。簡(jiǎn)而言之,表現(xiàn)為子波系數(shù)的視頻數(shù)據(jù)的子波變換提供了用于基于從視頻像素信息向保持頻率和空間特性的子波域的變換而編碼和解碼視頻圖像的方法。另外,Shapiro認(rèn)識(shí)到提供了嵌入流作為輸出的壓縮方案的益處。嵌入流在流的開始處包含所有的低數(shù)據(jù)率。即,在壓縮方案壓縮數(shù)據(jù)時(shí),首先輸出包含最主要和最重要信息內(nèi)容的數(shù)據(jù)。在壓縮繼續(xù)時(shí),另外的信息內(nèi)容被添加到輸出流,進(jìn)一步優(yōu)化了被壓縮的視頻數(shù)據(jù)的整體品質(zhì)。這使得當(dāng)達(dá)到用于輸出流的任何目標(biāo)數(shù)據(jù)率的時(shí)候壓縮編碼器停止編碼,因此使得可以得到恒定的輸出數(shù)據(jù)率。類似地,解壓縮輸出流的壓縮解碼器可以在任何點(diǎn)停止解碼,導(dǎo)致產(chǎn)生具有本應(yīng)以被截短的流的數(shù)據(jù)率產(chǎn)生的品質(zhì)的一幅圖像。嵌入流的這些性質(zhì)可以簡(jiǎn)化整個(gè)系統(tǒng)設(shè)計(jì)。
雖然Shapiro(見上)等已經(jīng)公開了用于壓縮視頻數(shù)據(jù)的子波變換技術(shù),許多這些現(xiàn)有技術(shù)未著重于視頻傳輸速度。而是,許多現(xiàn)有技術(shù)著重于再現(xiàn)的精確性,并且所有的這些現(xiàn)有技術(shù)因計(jì)算復(fù)雜而要求大量的處理能力。作為結(jié)果,這些現(xiàn)有技術(shù)壓縮方案一般不適用于用在消費(fèi)品上,消費(fèi)品的成本必須盡可能地低。能夠經(jīng)濟(jì)地用在消費(fèi)方面的計(jì)算效率高的視頻壓縮技術(shù)將是對(duì)現(xiàn)有技術(shù)的一個(gè)改進(jìn)。而且,這樣的技術(shù)應(yīng)當(dāng)提供嵌入流的輸出。
發(fā)明內(nèi)容
一般來說,本發(fā)明提供了一種計(jì)算簡(jiǎn)單的技術(shù),用于提供壓縮的視頻數(shù)據(jù)作為嵌入流。這是通過分級(jí)地識(shí)別可以邏輯地減小到高度緊密的(highlycompact)表示形式的數(shù)據(jù)塊來實(shí)現(xiàn)的。在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)元素被邏輯地分到塊中。每個(gè)塊以按位的方式被檢查以判定是否該塊的數(shù)據(jù)元素可以以高度緊密的形式來表示。如果肯定,那么在給定的位位置輸出整個(gè)塊的單比特表示。如果給定塊不可以以這種方式表示,則將其再分為更小尺寸的塊。這一識(shí)別合適的塊和再分的處理根據(jù)需要遞歸地重復(fù)直到達(dá)到最小的塊尺寸。
在本發(fā)明的另一個(gè)實(shí)施例中,經(jīng)由通過重復(fù)對(duì)來自低級(jí)的表的單獨(dú)的數(shù)據(jù)元素進(jìn)行邏輯“或”運(yùn)算而形成縮小的數(shù)據(jù)元素的表來構(gòu)建多個(gè)升序表。以這種方式,連續(xù)的高級(jí)的表是大數(shù)據(jù)元素塊的表示。遞歸地從最高級(jí)的表遞減并以按位的方式,遍歷多個(gè)升序表;基于縮小的數(shù)據(jù)元素,可以接受高度緊密形式的數(shù)據(jù)塊被識(shí)別。
本發(fā)明有益地利用了子波變換來提供可以按照本發(fā)明有利地壓縮的視頻數(shù)據(jù)。在初始像素調(diào)整后,計(jì)算子波系數(shù)并將其表示為多位二進(jìn)制值。在本發(fā)明的一個(gè)實(shí)施例中,子波系數(shù)被表示為符號(hào)量值形式。子波系數(shù)被存儲(chǔ)在兩維的矩陣中并由它們表示的圖像的頻率分量來分級(jí)地集中在一起。如此處所公開的,子波系數(shù)隨后被作為輸入提供到壓縮處理。
與其他現(xiàn)有技術(shù)系統(tǒng)形成對(duì)比,這里公開的和要求權(quán)利的本發(fā)明提供了計(jì)算效率高的手段,通過它視頻數(shù)據(jù)可以被高度壓縮而沒有不可接受的圖像降級(jí),同時(shí)提供了嵌入的輸出流的益處。而且,雖然本發(fā)明針對(duì)其在視頻數(shù)據(jù)上的應(yīng)用而特別說明,這里教授的原理可以有益地應(yīng)用到多種形式的數(shù)據(jù)。
圖1是按照本發(fā)明的無線視頻傳輸系統(tǒng)的框圖;圖2是按照本發(fā)明的用于壓縮視頻數(shù)據(jù)的裝置的框圖;圖3是按照本發(fā)明的用于解壓視頻數(shù)據(jù)的裝置的框圖;圖4圖解了按照本發(fā)明的多級(jí)子帶分解;圖5圖解了按照本發(fā)明的數(shù)據(jù)表示格式;圖6是圖解按照本發(fā)明的用于提供壓縮的視頻數(shù)據(jù)的第一方法的流程圖;圖7圖解了按照?qǐng)D6的方法分析的示意性視頻數(shù)據(jù);圖8是圖解按照本發(fā)明的用于提供解壓的視頻數(shù)據(jù)的第一方法的流程圖;圖9是圖解按照本發(fā)明的用于構(gòu)建升序表的方法的流程圖;圖10A-10C圖解了按照?qǐng)D9的方法構(gòu)建的升序表;圖11是圖解按照本發(fā)明的用于提供壓縮的視頻數(shù)據(jù)的第二方法的流程圖;圖12是圖解按照本發(fā)明的用于提供解壓縮的視頻數(shù)據(jù)的第二方法的流程圖。
具體實(shí)施例方式
本發(fā)明可以參照?qǐng)D1-12更全面地說明。
圖1示出了包括視頻發(fā)送機(jī)101和視頻接收機(jī)103的無線視頻系統(tǒng)100的框圖。視頻發(fā)送機(jī)101包括一個(gè)攝像機(jī)或其他圖像傳感器104,它提供代表由圖像傳感器104捕獲的圖像——例如由標(biāo)號(hào)102所示的目標(biāo)——的視頻信號(hào)106。視頻信號(hào)106可以包括數(shù)字或模擬信號(hào),這是設(shè)計(jì)的選擇問題。在一個(gè)優(yōu)選實(shí)施例中,視頻信號(hào)106包括以每秒30幀產(chǎn)生的NTSC視頻信號(hào),但是也可以采用其他的幀頻。而且,如果其他視頻信號(hào)格式能夠被轉(zhuǎn)換為基于幀的、基于像素的格式,則可以使用其他視頻信號(hào)格式。
視頻圖像傳感器104向視頻處理器200傳輸視頻信號(hào)106,它隨后利用下面說明的技術(shù)變換和壓縮視頻信號(hào)106。所變換和壓縮的信息(被壓縮的視頻)110被提供給無線發(fā)送機(jī)112,它將被壓縮的視頻110調(diào)制到無線載波115上以通過天線114發(fā)送。所使用的無線載波或調(diào)制的具體形式對(duì)本發(fā)明來說并不重要。也要看到本發(fā)明不限定于無線系統(tǒng)。實(shí)際上,由載波115和相關(guān)的無線發(fā)送機(jī)112和無線接收機(jī)118產(chǎn)生的無線路徑可以被有線路徑或甚至無線和有線傳輸元件的組合來替換,如現(xiàn)有技術(shù)所公知。
視頻接收機(jī)103包括檢測(cè)和解調(diào)從天線116接收的無線載波115的無線接收機(jī)118。該無線接收機(jī)118解調(diào)無線載波115并由此產(chǎn)生接收的壓縮視頻120。接收的壓縮視頻120被視頻解壓器300處理以產(chǎn)生接收的視頻信號(hào)124。所接收的視頻信號(hào)124隨后被用來提供視頻圖像128用于在諸如電視或計(jì)算機(jī)監(jiān)視器的顯示器126上顯示。所顯示的圖像128是由攝像傳感元件104檢測(cè)的目標(biāo)102的的圖像的復(fù)制品。下面特別參照?qǐng)D2和3進(jìn)一步詳細(xì)討論視頻壓縮器200和視頻解壓器300。
圖2是圖1所示的視頻壓縮器200的框圖。雖然實(shí)際上任何適當(dāng)快的微處理器可以作為視頻壓縮器200而起作用,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解大多數(shù)數(shù)字信號(hào)處理器(DSP)在諸如子波變換計(jì)算的復(fù)雜運(yùn)算中固有地優(yōu)于通用微處理器。而且,可以期望利用可編程邏輯陣列或其他類似的硬件實(shí)施例來實(shí)現(xiàn)視頻壓縮器200。
最好是YCrCb像素形式的視頻信號(hào)202被作為輸入施加到離散子波變換204塊。在一個(gè)優(yōu)選實(shí)施例中,視頻信號(hào)在施加到子波變換204之前被調(diào)整(未在圖2中示出)。例如,為了減少在視頻圖像中要處理的數(shù)據(jù)量,在抗混淆(anti-alias)濾波(被稱為抽取的處理)后,視頻圖像的每隔一個(gè)像素被丟棄。在接收機(jī),在重建每隔一個(gè)像素時(shí),被丟棄的插入像素通過利用保留的像素內(nèi)插被丟棄像素的值而重建。一旦在水平和垂直平面上原始圖像的像素被抽取,來自保留像素的圖像信息內(nèi)容被劃分成亮度、紅色度和藍(lán)色度分量,產(chǎn)生不同的三套像素。在這樣的實(shí)施例中,到子波變換204的輸入包括360×240字節(jié)的亮度信息和針對(duì)所述每個(gè)色度圖像的180×120字節(jié)。
子波變換204針對(duì)所有三種信號(hào)圖像而計(jì)算,即,亮度和紅色度和藍(lán)色度,導(dǎo)致三套子波系數(shù)的計(jì)算。離散子波變換的計(jì)算在本領(lǐng)域內(nèi)是一般公知的。在一個(gè)優(yōu)選實(shí)施例中,子波變換204執(zhí)行下面的步驟
1.視頻信號(hào)數(shù)據(jù)被“像素?cái)U(kuò)展”以提高圖像數(shù)據(jù)的大小以便簡(jiǎn)化在子波變換過程中發(fā)生的數(shù)據(jù)劃分。例如,360×240字節(jié)的亮度數(shù)據(jù)被擴(kuò)展成384×256字節(jié)。
2.每個(gè)圖像在Y維上通過子波濾波器,分割圖像為低通區(qū)域和高通區(qū)域。
3.這些區(qū)域隨后在X維上通過子波濾波器,進(jìn)一步分割這些區(qū)域?yàn)榈屯ê透咄▍^(qū)域,有效地產(chǎn)生四個(gè)區(qū)域。
4.在X和Y維上被低通濾波的那個(gè)區(qū)域再次按照(1)至(3)被處理,因此將此區(qū)域劃分成四個(gè)新的區(qū)域。
5.此處理被重復(fù)直到已經(jīng)產(chǎn)生6級(jí)亮度信息和產(chǎn)生各自5級(jí)的紅色度和藍(lán)色度信息。當(dāng)然,對(duì)亮度和/或色度信息也可能產(chǎn)生更大或更小的數(shù)量的級(jí)。
上述子波變換的整體效果是如圖4所示的多級(jí)子帶分解。存儲(chǔ)在輸入存儲(chǔ)區(qū)206中的數(shù)據(jù)包括子波濾波的亮度塊404、子波濾波的藍(lán)色度塊406和子波濾波的紅色度塊408。沿著圖4的垂直軸和水平軸顯示的尺寸僅僅是示意性的,其他的尺寸也可以被使用,這是設(shè)計(jì)選擇的問題。而且,雖然輸入存儲(chǔ)區(qū)206以兩維來表示以幫助理解,但是在實(shí)際中它包括一個(gè)存儲(chǔ)在存儲(chǔ)器中的表,此為現(xiàn)有技術(shù)所公知。每個(gè)塊404、406、408包括原始圖像的各種分量的空間頻率內(nèi)容的多級(jí)的子帶分解。表示最低頻率的子帶被存儲(chǔ)在每個(gè)塊的左上角中,表示最高頻率的子帶被存儲(chǔ)在每個(gè)塊的右下角塊中。如現(xiàn)有技術(shù)所公知的,給出的圖像的大多數(shù)信息內(nèi)容被包含在低頻(如平滑過渡區(qū)和/或連續(xù)顏色區(qū))中,但是高頻數(shù)據(jù)(在目標(biāo)之間的分界的銳邊)有助于在圖像中找到的更精細(xì)的細(xì)節(jié)。作為結(jié)果,那些存儲(chǔ)在低頻塊中的系數(shù)趨向于具有最高的值。例如,在亮度塊404最左上角的由標(biāo)號(hào)412表示的子帶表示被變換圖像的最低頻率內(nèi)容。相反地,在亮度塊404最右下角的由標(biāo)號(hào)410表示的子帶表示被變換圖像的最高頻率內(nèi)容。在本發(fā)明中所示的多級(jí)子帶分解的分級(jí)特性被支持使用,因?yàn)樗鼘?duì)于產(chǎn)生嵌入流很有用。
再次參見圖2,子波變換204產(chǎn)生子波系數(shù)并如上所述將它們存儲(chǔ)在輸入存儲(chǔ)區(qū)206中。一旦存儲(chǔ)了子波系數(shù),升序/降序鍵(ascending/descending key,ADK)壓縮器208可以開始?jí)嚎s處理以便提供被壓縮的數(shù)據(jù)212。在實(shí)際中,由收發(fā)帶有各自功能的控制信號(hào)216、218的控制功能214來監(jiān)控子波變換204和ADK壓縮器208處理的排序。在一個(gè)優(yōu)選實(shí)施例中,控制功能214保持在逐幀的基礎(chǔ)上處理。例如,當(dāng)子波濾波器204已經(jīng)完成了視頻數(shù)據(jù)202(一幀)的處理并在輸入存儲(chǔ)區(qū)206中產(chǎn)生了新的子波系數(shù)的時(shí)候,它通知控制功能214。作為響應(yīng),控制功能214通知ADK壓縮器208它能夠開始處理新存儲(chǔ)的子波系數(shù)。期望控制功能214也可以向ADK壓縮器208提供用于通知ADK壓縮器208它應(yīng)當(dāng)在逐幀的基礎(chǔ)上輸出多少數(shù)據(jù)的幀大小數(shù)據(jù),下面將進(jìn)一步詳細(xì)說明。一旦ADK壓縮器208已經(jīng)完成了其處理,它通知控制功能214,控制功能214隨后通知子波濾波器204它可以開始處理一個(gè)新的視頻數(shù)據(jù)幀。
視頻壓縮器200也包括符號(hào)量值轉(zhuǎn)換器210。在實(shí)際中,利用最有助于簡(jiǎn)單的算術(shù)運(yùn)算的數(shù)據(jù)表示,如二進(jìn)制反碼或二進(jìn)制補(bǔ)碼的數(shù)據(jù)表示,子波系數(shù)被存儲(chǔ)在輸入存儲(chǔ)區(qū)206中。然而,在下面的說明中將變得更清楚,當(dāng)在要壓縮的數(shù)據(jù)中的二進(jìn)制“1”位的出現(xiàn)數(shù)量被最小化的時(shí)候,ADK壓縮器208運(yùn)行得最為高效。為此,符號(hào)量值轉(zhuǎn)換器210與ADK壓縮器208相結(jié)合將存儲(chǔ)在輸入存儲(chǔ)區(qū)206的數(shù)據(jù)轉(zhuǎn)換為符號(hào)量值格式,如圖5所示。圖5圖解了一個(gè)優(yōu)選數(shù)據(jù)表示,包括N位量值表示502、符號(hào)位504和標(biāo)記位506。在所示的示例中,N=14。因?yàn)閷?shí)際的數(shù)據(jù)被表示為量值,最高有效位將是二進(jìn)制“0”數(shù)字的可能性最大。如現(xiàn)有技術(shù)所公知的,符號(hào)位504表示是否整個(gè)值是正或負(fù)。雖然符號(hào)位504被示出在最低有效位的位置,符號(hào)位504可以占用任何位的位置,這由設(shè)計(jì)的考慮來決定。同樣,標(biāo)記位506也可以占用任何位的位置,這是設(shè)計(jì)的選擇問題。下面特別參照?qǐng)D6和11更詳細(xì)地說明標(biāo)記位506的使用。
圖3是圖1所示的視頻解壓器300的框圖。雖然實(shí)際上任何適當(dāng)快的微處理器都可以作為視頻解壓器300來起作用,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解大多數(shù)數(shù)字信號(hào)處理器(DSP)在諸如反子波變換計(jì)算的復(fù)雜運(yùn)算中固有地優(yōu)于通用微處理器。而且,可以期望利用可編程邏輯陣列或其他類似的硬件實(shí)施例來實(shí)現(xiàn)視頻壓縮器300。一般而言,視頻解壓器300執(zhí)行與視頻解壓器200互補(bǔ)的運(yùn)算以提供原始輸入的視頻信號(hào)的再現(xiàn)。
視頻解壓器300接收由按照本發(fā)明的一個(gè)視頻壓縮器提供的壓縮數(shù)據(jù)302。壓縮數(shù)據(jù)302被發(fā)送到ADK解壓器304。如下面將詳細(xì)說明的,ADK解壓器304首先再創(chuàng)建符號(hào)量值格式的子波系數(shù)并將它們存儲(chǔ)在輸出存儲(chǔ)區(qū)306中。而且,與符號(hào)量值轉(zhuǎn)換器308相結(jié)合,ADK解壓器304使得接收到的子波系數(shù)轉(zhuǎn)換為更適合于在反子波變換處理中使用的數(shù)據(jù)表示,如二進(jìn)制補(bǔ)碼或二進(jìn)制反碼數(shù)據(jù)表示。在此結(jié)束后,反子波變換310在接收的子波系數(shù)上操作以提供未壓縮的數(shù)據(jù)312。用于反子波變換的技術(shù)是本領(lǐng)域內(nèi)公知的。與視頻壓縮器200的方式類似,視頻解壓器300包括控制功能314,它收發(fā)控制信號(hào)316、318以對(duì)ADK解壓器304和反子波變換310之間的操作排序。即,當(dāng)ADK解壓器304完成解壓一幀數(shù)據(jù)時(shí),它通知控制功能314,作為響應(yīng),控制功能314通知反子波變換310它可以開始處理了。當(dāng)反子波變換310結(jié)束其操作時(shí),它通知控制功能314,其隨后通知ADK解壓器它可以再次提供更為壓縮的數(shù)據(jù)。下面參照?qǐng)D6-12說明ADK壓縮器和解壓器的各種實(shí)施例。
圖6是圖解用于提供壓縮的數(shù)據(jù)的第一方法的流程圖。圖6所圖解的步驟可以通過上述的視頻壓縮器200特別是ADK壓縮器208來實(shí)現(xiàn)。在步驟601,包含多個(gè)元素的視頻數(shù)據(jù)被提供作為輸入數(shù)據(jù)。在一個(gè)優(yōu)選實(shí)施例中,視頻數(shù)據(jù)包括通過上述的多級(jí)子帶分解產(chǎn)生的子波系數(shù)(針對(duì)一個(gè)視頻幀的亮度、紅色度和藍(lán)色度分量的每個(gè));每個(gè)子波系數(shù)被作為輸入數(shù)據(jù)的一個(gè)分立的元素。當(dāng)然,輸入數(shù)據(jù)可以包括除了子波系數(shù)之外的數(shù)據(jù)類型。在步驟602,與分量的任何一個(gè)相對(duì)應(yīng)的數(shù)據(jù)元素被作為要分析的初始分量而訪問。在一個(gè)優(yōu)選實(shí)施例中,亮度分量是初始分量。
在步驟603,記錄位位置對(duì)于每個(gè)Y、Cr和Cb分量被可選地識(shí)別。再次參見圖5,N位量值數(shù)據(jù)502可以被認(rèn)為占用了多個(gè)位位置(不包括符號(hào)位504和標(biāo)記位506)。如圖5所圖解的,數(shù)據(jù)502包括14個(gè)不同的位位置,從最高有效位位置(標(biāo)為“數(shù)據(jù)位13”)到最低有效位位置(標(biāo)為“數(shù)據(jù)位0”)。在本發(fā)明的上下文中,對(duì)于給定的分量的記錄位的位置是與具有最大量值的元素的最高有效位(即具有二進(jìn)制“1”值)相對(duì)應(yīng)的位位置。因此,為了確定如亮度數(shù)據(jù)的記錄位的位置,搜索亮度數(shù)據(jù)以找到最大的量值。假定例如所有亮度數(shù)據(jù)的最大量值(進(jìn)一步假設(shè)N位的量值,其中N=14)為“00110111010010”。在此示例中,亮度數(shù)據(jù)的記錄位位置是標(biāo)為“數(shù)據(jù)位11”的位位置,如圖5箭頭標(biāo)出的“LBP”所示。此處理隨后對(duì)于紅色度和藍(lán)色度將被重復(fù)以提供三個(gè)記錄位位置。雖然這三個(gè)記錄位位置的值的每個(gè)都可以被提供作為輸出,在本優(yōu)選實(shí)施例中,這三個(gè)記錄位位置的最大值隨后被提供作為壓縮處理的輸出。
如下面詳細(xì)說明的,本發(fā)明通過在給定的位位置定位具有二進(jìn)制“0”值的數(shù)據(jù)元素的最大的可能塊而提供壓縮。在給定的位位置的這樣的數(shù)據(jù)塊隨后被在輸出數(shù)據(jù)流中的單個(gè)比特緊密地表示。在數(shù)據(jù)中給定的位位置找到的二進(jìn)制“1”值必須被分離地發(fā)送。因此,記錄位位置表示在要壓縮的數(shù)據(jù)中搜索二進(jìn)制“1”值的起始點(diǎn);對(duì)于所有的數(shù)據(jù)元素,我們知道大于記錄位位置的在位位置的所有位值由二進(jìn)制“0”值構(gòu)成,因此沒有必要發(fā)送它們。這可以通過示例而更好地理解。
參見圖7,圖中有一個(gè)圖解的塊704A,包含標(biāo)為“AAx”的數(shù)據(jù)元素,其中x可以是“A”、“B”、“C”和“D”。為了簡(jiǎn)單起見,假設(shè)每個(gè)數(shù)據(jù)元素包含一個(gè)3位的量值,最高有效位的位置在最左面的位位置(位位置2),最低有效位的位置在最右面的位位置(位位置0),其間只有一位(位位置1)。還假設(shè)每個(gè)數(shù)據(jù)元素的值如下“AAA”是“010”、“AAB”是“001”、“AAC”是“011”、“AAD”是“000”。顯然,這些數(shù)值的最大量值為“011”,此數(shù)值的具有二進(jìn)制“1”值的最高有效位位于位位置1。因此,位位置1被識(shí)別為記錄位位置。因?yàn)楦呶晃恢玫乃形?即位位置2)具有二進(jìn)制“0”值,因而沒有必要發(fā)送它們。當(dāng)接收機(jī)接收到記錄位位置時(shí),它將自動(dòng)假設(shè),對(duì)于所有的數(shù)據(jù)元素(本例中限于“AAx”元素),高于記錄位的位位置的位值是“0”。在此示例中,對(duì)記錄位位置的使用消除了發(fā)送四位數(shù)值的必要。當(dāng)然,這一相同的思想可以被應(yīng)用到包含更多位位置的數(shù)據(jù)表示并因此在可能的情況下提供更大的發(fā)送效率。
再次返回圖6,在步驟604初始化一個(gè)分析位位置。雖然該分析位位置可以被初始化為任何位位置,當(dāng)記錄位位置已經(jīng)被確定時(shí),分析位位置最好被初始化為記錄位位置的值。無論如何,本領(lǐng)域的一般技術(shù)人員會(huì)認(rèn)識(shí)到,通過將分析位位置初始化為更高有效位的位位置并且在分析過程繼續(xù)的時(shí)候?qū)⒎治鑫晃恢眠f減到更低有效位位置,便利了嵌入流的產(chǎn)生。而且在步驟604中也示出,一個(gè)遞歸指示符j被初始化為其最大值J。這里說明的遞歸指示符僅僅被用于圖解的目的;本領(lǐng)域的一般技術(shù)人員會(huì)認(rèn)識(shí)到,對(duì)于實(shí)現(xiàn)遞歸步驟存在很多技術(shù)。在圖6的實(shí)現(xiàn)方式中,在任何時(shí)間的遞歸指示符的數(shù)值指示目前考慮的大小塊,最大值J指示最大的可能塊正被考慮,同時(shí)逐漸變小的值與逐漸變小的塊尺寸相對(duì)應(yīng)。
在步驟605,輸入數(shù)據(jù)(此處是所有的視頻數(shù)據(jù))被邏輯地再分成多個(gè)塊。雖然在優(yōu)選實(shí)施例中輸入數(shù)據(jù)被再分成4個(gè)相同大小的塊,輸入數(shù)據(jù)被邏輯再分的方法是設(shè)計(jì)選擇的問題。例如,再次參見圖7,圖中示出了已經(jīng)被分成分離的塊702A-D的視頻數(shù)據(jù)700。在所示的示例中,第一塊702A包含16個(gè)標(biāo)為“Axy”的數(shù)據(jù)元素,其中x和y都可以是“A”、“B”、“C”和“D”中的任何一個(gè)。類似的規(guī)則應(yīng)用于塊702B-D。在步驟606,判定是否有任何塊剩余需要處理。此處在圖7中圖解的示例中,存在多個(gè)塊剩余需要處理,在步驟607選擇下一個(gè)可以獲得的要處理的塊,如第一塊702A。
在步驟608,判定是否目前考慮的塊有最小的塊尺寸。在一個(gè)優(yōu)選實(shí)施例中,最小塊尺寸對(duì)應(yīng)于12×8塊,即包含96個(gè)數(shù)據(jù)元素的塊。一旦得到了最小塊尺寸,就不再進(jìn)一步細(xì)分塊以獲得緊密的表示。實(shí)際上,最小塊尺寸指示可獲得的“最深”遞歸水平,這從下面的討論中將會(huì)明顯。如果當(dāng)前考慮的塊不具有最小塊尺寸,則處理在步驟612繼續(xù)。
在步驟612,當(dāng)前考慮的最小大小的塊最好再分為多個(gè)M×M不重疊塊,其中M=2。在最小塊尺寸是12×8的時(shí)候,這將導(dǎo)致24個(gè)2×2的塊。其他M的值也可以使用,而且進(jìn)一步可以了解在步驟612建立的塊不必是方的。無論如何,在最小大小的塊中的每個(gè)子塊隨后被分析。即,對(duì)于每個(gè)子塊,按照下面的步驟確定和處理在每個(gè)數(shù)據(jù)元素的分析位位置的位值1)當(dāng)遇到“0”位值時(shí),輸出“0”并到下一個(gè)數(shù)據(jù)元素;2)當(dāng)遇到“1”位值時(shí),輸出“1”并查驗(yàn)與此數(shù)據(jù)元素相關(guān)的標(biāo)記位。如果此數(shù)據(jù)元素的標(biāo)記位被置1,那么該數(shù)據(jù)元素的符號(hào)位已經(jīng)被輸出并且處理可以在下一個(gè)數(shù)據(jù)元素繼續(xù)。如果未置1標(biāo)記位,輸出該數(shù)據(jù)元素的符號(hào)位,置1標(biāo)記位并移到下一個(gè)元素。(此處理假設(shè)標(biāo)記位被初始化清零。標(biāo)記位的極性可以容易地被反轉(zhuǎn)以獲得相同的功能,在此情況下該標(biāo)記位將初始化為1)此處理被重復(fù)直到在各個(gè)子塊中的每個(gè)數(shù)據(jù)元素的位位置的位值已經(jīng)被輸出。對(duì)于給定的數(shù)據(jù)元素的標(biāo)記位保證當(dāng)該數(shù)據(jù)元素的第一個(gè)“1”位值被輸出時(shí),對(duì)于該元素的符號(hào)位被輸出,并且它保證該元素的符號(hào)位僅僅被發(fā)送一次。用來遍歷在每個(gè)子塊中的元素的具體方式是設(shè)計(jì)選擇的問題。圖7圖解了一個(gè)示例。假設(shè)第一塊702A包含最小的塊尺寸。在此情況下,子塊704A-D通過“z”方式在子塊之間和在子塊本身內(nèi)(由箭頭所示)被分析(如上所述)。因此,單獨(dú)的數(shù)據(jù)元素的處理將進(jìn)行如下“AAA”、“AAB”、“AAC”、“AAD”、“ABA”、“ABB”、“ABC”、“ABD”、“ACA”、“ACB”、“ACC”、“ACD”、“ADA”、“ADB”、“ADC”和“ADD”。當(dāng)然,也可以容易地采用在子塊之間和/或子塊內(nèi)的其他方式。然后,處理在步驟613繼續(xù),在此判定是否已經(jīng)到了當(dāng)前視頻幀的位界限。因?yàn)樗峁┑妮敵鍪且粋€(gè)嵌入流(根據(jù)遞減分析位位置和結(jié)構(gòu)中的元素的遍歷順序),處理可以在任何點(diǎn)停止,即當(dāng)達(dá)到分配給壓縮的視頻數(shù)據(jù)輸出的預(yù)定數(shù)量的位時(shí)。如果還未達(dá)到位界限,則在步驟606繼續(xù)在第j級(jí)的另外塊的處理。
如果在步驟608,所考慮的塊不具有最小塊尺寸,處理在步驟609繼續(xù)。在步驟609,判定是否當(dāng)前塊的每個(gè)數(shù)據(jù)元素在分析位位置包含第一位值。(在一個(gè)優(yōu)選實(shí)施例中,如圖6所示,第一位值是“0”位值,而第二位值是“1”位值)。如果肯定,則在步驟614輸出該第一位值(即一個(gè)“0”位),作為在當(dāng)前考慮的塊的分析位位置的所有數(shù)據(jù)元素的代表。例如,假設(shè)在第一塊702A內(nèi)的每個(gè)數(shù)據(jù)元素(即元素“Axy”,其中x和y可以是“A”、“B”、“C”和“D”中的任何一個(gè))在當(dāng)前分析位位置包含一個(gè)“0”比特。一個(gè)單獨(dú)的“0”比特隨后被提供作為在該分析位位置的所有數(shù)據(jù)元素的輸出代表。在步驟613繼續(xù)處理,在此再次判定是否已經(jīng)達(dá)到當(dāng)前視頻幀的位界限。如果否定,處理在步驟606繼續(xù)。
然而,如果在步驟609確定了當(dāng)前塊的任何數(shù)據(jù)元素在分析位位置包含第二位值(即一個(gè)“1”位),那么在步驟610輸出第二位值。此處的第二位值輸出將向接收方指示已經(jīng)發(fā)生遞歸和處理將在更小的塊尺寸基礎(chǔ)上繼續(xù)。所以,也是在步驟610,當(dāng)前塊(如第一塊702A)被指定為輸入塊(預(yù)備在步驟605進(jìn)一步細(xì)分),并且遞歸指示符j被減一,指示發(fā)生了至少一級(jí)的遞歸。如果在步驟611,還沒有超出正在被分析的當(dāng)前幀的輸出位界限,則處理在步驟605繼續(xù)。在步驟605,輸入數(shù)據(jù)(現(xiàn)在是第一塊702A)再次被邏輯分成例如圖7所示的多個(gè)塊,產(chǎn)生標(biāo)為704A-D的多個(gè)塊。注意在此處,最高級(jí)的更大的塊(即塊702B-D)還未被處理。在新一級(jí)的處理隨后按照上述的步驟606-614而進(jìn)行。
步驟606和615相結(jié)合判定何時(shí)給定級(jí)的遞歸已經(jīng)完成,指示下面兩者之一(i)對(duì)于整個(gè)幀的處理已經(jīng)完成,或者,(ii)處理必須返回下一個(gè)最高遞歸級(jí)(即下一個(gè)最大塊尺寸)來繼續(xù)處理。例如,假設(shè)當(dāng)前j<J,標(biāo)為704A-D的塊當(dāng)前正在被處理,并且標(biāo)為704D的塊按照步驟612或步驟614才完成了處理。在步驟606,在此級(jí)沒有更多個(gè)塊剩余要處理,因此步驟615將確定處理還沒有完成最高遞歸級(jí),因?yàn)閖≠J。在步驟616,遞歸指示符被加一,并且在步驟606判定是否存在任何另外的在新的第j級(jí)的塊剩余要被處理。因此,當(dāng)完成了標(biāo)為704D的塊時(shí),遞歸指示符將加一而達(dá)到下一個(gè)最高級(jí)。在此級(jí),標(biāo)為702B-D的塊將仍需要被處理,整個(gè)步驟將重復(fù)。
當(dāng)對(duì)于當(dāng)前被分析的分量而言在當(dāng)前分析位位置的所有數(shù)據(jù)元素的壓縮已經(jīng)被執(zhí)行的時(shí)候(即步驟615的“是”分支),處理將在步驟617繼續(xù)。在步驟617,判定是否在當(dāng)前的分析位位置更多的分量剩余要被分析。在一個(gè)優(yōu)選實(shí)施例中,亮度分量被首先在第一分析位位置分析,其后每個(gè)色度分量在第一位位置被分析。這個(gè)順序?qū)τ陔S后的位位置重復(fù)直到位界限被達(dá)到或所有的分量在所有的位位置被處理。如果在當(dāng)前的分析位位置還有分量剩余要被分析,那么與下一個(gè)分量相對(duì)應(yīng)的數(shù)據(jù)元素在步驟618被訪問,并且處理返回步驟605以在當(dāng)前分析位位置分析新分量。
然而,如果在當(dāng)前分析位位置沒有分量剩余要被分析,處理在步驟619繼續(xù),在此判定是否還有位位置剩余要被分析。如果否定,那么所有的分量已經(jīng)在所有可能的位位置被分析,并且對(duì)于幀的處理結(jié)束。(注意如果在達(dá)到位界限之前,所有的分量已經(jīng)在所有的位位置被分析,則到達(dá)位界限的剩余的位預(yù)算可以填充以假數(shù)據(jù)比特以便保持位邊界。)但是如果還有另外的位位置剩余要被分析,則與初始分量(即與在步驟602選擇的分量相同的分量)相對(duì)應(yīng)的數(shù)據(jù)元素在步驟620被訪問。在步驟621,下一個(gè)位位置被指定為分析位位置。在一個(gè)優(yōu)選實(shí)施例中,步驟621包含將分析位位置減一以達(dá)到下一個(gè)最高有效位位置的步驟。處理可以隨后在步驟605恢復(fù)。
圖8是圖解用于提供解壓縮的視頻數(shù)據(jù)的第一方法的流程圖。圖8中圖解的步驟可以通過上述的視頻解壓器300特別是ADK解壓器304來實(shí)現(xiàn)。圖8中圖解的方法與上述的與圖6相關(guān)的方法互補(bǔ)。在步驟801,適合于存儲(chǔ)至少一幀的解壓視頻數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)區(qū)被指定為一個(gè)輸出存儲(chǔ)區(qū)。在一個(gè)優(yōu)選實(shí)施例中,解壓的視頻數(shù)據(jù)包含由亮度、紅色度和藍(lán)色度視頻分量的多級(jí)子帶分解產(chǎn)生的子波系數(shù),每個(gè)子波系數(shù)被當(dāng)作一個(gè)獨(dú)立的數(shù)據(jù)元素。在步驟802,接收到壓縮數(shù)據(jù),如通過圖6圖解的方法而提供的壓縮數(shù)據(jù)。在一個(gè)優(yōu)選實(shí)施例中,被壓縮的數(shù)據(jù)包含被壓縮的視頻數(shù)據(jù)和包括上述的記錄位位置的數(shù)據(jù)表示。在步驟803,用于存儲(chǔ)與各分量(Y,Cr,Cb)中的任一個(gè)相對(duì)應(yīng)的解壓數(shù)據(jù)的輸出存儲(chǔ)區(qū)的那個(gè)部分被訪問作為要被合成的初始分量。在一個(gè)優(yōu)選實(shí)施例中,亮度分量是初始分量。
在步驟804,一個(gè)合成位位置被初始化。在記錄位位置已經(jīng)被提供的時(shí)候,合成位位置被初始化為與記錄位位置相同的值,但是可以使用任何位位置值,只要它同樣地跟蹤上述與圖6相關(guān)的分析位位置的進(jìn)展。也是在步驟804,一個(gè)遞歸指示符j被初始化為其最大值J。與上述與圖6相關(guān)的遞歸指示符類似,圖8的遞歸指示符僅僅是許多可獲得的用于實(shí)現(xiàn)遞歸步驟的方法之一,在此描述僅僅用于說明的目的。
在步驟805,輸出存儲(chǔ)區(qū)被邏輯地細(xì)分成多個(gè)塊。具體而言,在此步驟創(chuàng)建的塊結(jié)構(gòu)最好在空間定向和尺寸上與上述的步驟605的第一個(gè)重復(fù)操作產(chǎn)生的塊結(jié)構(gòu)相同。以這種方式,由圖8的處理產(chǎn)生的解壓的視頻數(shù)據(jù)應(yīng)當(dāng)與原始?jí)嚎s的視頻數(shù)據(jù)相同(假設(shè)在發(fā)送期間在被壓縮的視頻數(shù)據(jù)中沒有發(fā)生不可改正的錯(cuò)誤)。在解壓視頻數(shù)據(jù)的處理中,當(dāng)解壓被壓縮的數(shù)據(jù)的時(shí)候,遵循與用來分析視頻數(shù)據(jù)的相同的空間形式。
在步驟806,判定是否在當(dāng)前級(jí)上有任何塊剩余要被處理(即要接收重新構(gòu)建/解壓的視頻數(shù)據(jù))。由于通過圖8的處理的第一路徑是在第J級(jí),要被處理的塊將對(duì)應(yīng)于最大可能的塊尺寸。在步驟807,選擇下一個(gè)可獲得的塊(對(duì)于第一個(gè)重復(fù)操作,這將是第一個(gè)可獲得的塊),在步驟808,判定是否所選擇的塊包含最小尺寸的塊。如上所述,最小尺寸的塊對(duì)應(yīng)于最深的遞歸級(jí)。如果當(dāng)前選擇的塊不是最小尺寸的塊,處理在步驟809繼續(xù)。
在步驟809,對(duì)應(yīng)于所考慮的塊的所接收的壓縮數(shù)據(jù)的一位被分析以確定其位值。如果該位包含一個(gè)第一位值(最好是一個(gè)“0”位值),則處理在步驟814繼續(xù),在此具有第一位值的位被存儲(chǔ)在形成當(dāng)前選擇的塊的每個(gè)數(shù)據(jù)元素中的合成位位置。以這種方式,本發(fā)明可以提供大量數(shù)據(jù)的非常緊密的表示,尤其是當(dāng)塊尺寸較大時(shí)。隨后,在步驟813,可選地判定是否已經(jīng)達(dá)到當(dāng)前視頻幀的位界限。如上所述,壓縮處理可以在當(dāng)已經(jīng)達(dá)到分配給被壓縮的視頻數(shù)據(jù)輸出的預(yù)定數(shù)量時(shí)的任一點(diǎn)停止。同樣,解壓處理可以在已經(jīng)處理了預(yù)定數(shù)量的接收的壓縮視頻比特后停止。這又是被壓縮的視頻數(shù)據(jù)的嵌入流特性導(dǎo)致的結(jié)果。如果還沒有達(dá)到所述位界限,則在步驟806繼續(xù)進(jìn)行在第j級(jí)另外的塊的處理。
但是,如果在步驟809分析的位包含第二位值(最好是一個(gè)“1”位值),則處理在步驟810繼續(xù),在此當(dāng)前選擇的塊被指定為輸出存儲(chǔ)區(qū),遞歸指示符j減一。實(shí)質(zhì)上,對(duì)應(yīng)于當(dāng)前所選擇的塊和具有第二位值的所接收的比特作為一個(gè)標(biāo)志指示至少一個(gè)數(shù)據(jù)元素包含第二位值(在合成位位置),并指示進(jìn)一步的合成將在當(dāng)前所選的塊內(nèi)基于更小的塊而進(jìn)行。如果在步驟811,還沒有超過正在被合成的當(dāng)前幀的位界限,則處理在步驟805繼續(xù)。在步驟805,輸出存儲(chǔ)區(qū)(現(xiàn)在是在通過步驟806以及后面步驟的前一個(gè)路徑中所考慮的塊)被再次邏輯細(xì)分為多個(gè)塊。注意在此,在最高級(jí)(即前一個(gè)級(jí))的更大的塊還沒有完全處理。隨后在新一級(jí)的處理按照步驟806及其后面的步驟進(jìn)行。
隨著遞歸處理的繼續(xù),將會(huì)達(dá)到一個(gè)點(diǎn),在此,所考慮的結(jié)果發(fā)生的塊將具有最小的塊尺寸,如步驟808所確定的。當(dāng)此發(fā)生時(shí),在步驟812的處理實(shí)際上是上述與步驟612相關(guān)的處理的相反處理。在步驟812,當(dāng)前考慮的最小尺寸的塊最好被再分成多個(gè)M×M塊,其中M=2。又是如此,在最小塊尺寸是12×8之處,這將導(dǎo)致24個(gè)2×2塊。M的其他值也可以被使用,進(jìn)一步會(huì)明白在步驟612建立的塊不需要是方的。無論如何,在最小尺寸的塊中的每個(gè)子塊的每個(gè)數(shù)據(jù)元素在合成位位置的位值被隨后合成。即,對(duì)于每個(gè)子塊,在每個(gè)數(shù)據(jù)元素的合成位位置的位值按照下面的步驟基于從壓縮的視頻數(shù)據(jù)所接收的比特而確定1)當(dāng)遇到“0”位值時(shí),存儲(chǔ)一個(gè)“0”并移向下一個(gè)數(shù)據(jù)元素;2)當(dāng)遇到“1”時(shí),存儲(chǔ)一個(gè)“1”并查驗(yàn)與該數(shù)據(jù)元素相關(guān)的標(biāo)記位。如果該數(shù)據(jù)元素的標(biāo)記位被置位,那么該數(shù)據(jù)元素的符號(hào)位已經(jīng)被存儲(chǔ),處理可以在下一個(gè)數(shù)據(jù)元素繼續(xù)。如果標(biāo)記位未置位,則存儲(chǔ)下一個(gè)接收的比特作為該數(shù)據(jù)元素的符號(hào)位,對(duì)標(biāo)記位置位并移向下一個(gè)元素。(此處理假設(shè)標(biāo)記位被初始清除。標(biāo)記位的極性可以容易地反轉(zhuǎn)以獲得相同的功能,此時(shí)標(biāo)記位可以被初始置位)此處理被重復(fù)直到已經(jīng)存儲(chǔ)了在各個(gè)子塊中的每個(gè)數(shù)據(jù)元素的位位置的位值。給定數(shù)據(jù)元素的標(biāo)記位保證當(dāng)存儲(chǔ)了該數(shù)據(jù)元素的第一“1”位值的時(shí)候該元素的符號(hào)位被存儲(chǔ),并且它保證該元素的符號(hào)位僅僅被存儲(chǔ)一次。用于在每個(gè)子塊中遍歷多個(gè)元素的具體方式是設(shè)計(jì)選擇的問題,但是在任何情況下應(yīng)當(dāng)與分析/壓縮處理中使用的方式相同。
步驟806和815相結(jié)合判定何時(shí)已經(jīng)完成了給定級(jí)的遞歸,這表示下面兩者之一(i)整個(gè)幀的處理已經(jīng)完成,或(ii)處理必須返回下一個(gè)最高遞歸級(jí)(即下一個(gè)最大塊尺寸)來繼續(xù)處理。例如,假設(shè)當(dāng)前j<J,并且在(j)級(jí)的最后塊才完成處理(例如按照步驟812或步驟814)。在步驟806,將不再有(j)級(jí)的塊剩下要處理,因此步驟815將確定因?yàn)閖≠J,所以還沒有完成最高遞歸級(jí)。在步驟816,遞歸指示符加一,在步驟806,判定是否在新的第j級(jí)有任何另外的塊被剩余要處理。如果在新的第j級(jí)有塊被剩余要處理,步驟806-814按上述執(zhí)行。
當(dāng)對(duì)于當(dāng)前正在合成的分量來說在當(dāng)前合成位位置的所有數(shù)據(jù)元素的重建已經(jīng)執(zhí)行的時(shí)候(即步驟815的“是”分支),處理將在步驟817繼續(xù)。在步驟817,判定是否在當(dāng)前合成位位置還有分量剩余要被合成。在一個(gè)優(yōu)選實(shí)施例中,在第一合成位位置亮度分量被首先合成,其后是在第一位位置每個(gè)色度分量合成。此順序?qū)τ诤罄m(xù)的位位置重復(fù)直到達(dá)到位界限或所有的分量已經(jīng)在所有的位位置被處理。如果在當(dāng)前合成位位置還有分量剩余要被合成,那么在步驟818訪問用于存儲(chǔ)與下一個(gè)分量相對(duì)應(yīng)的數(shù)據(jù)元素的輸出存儲(chǔ)區(qū)的那個(gè)部分。然后,處理返回步驟805以在當(dāng)前合成位位置重建新的分量。
但是,如果在當(dāng)前合成位位置沒有分量剩余要被合成,則處理在步驟819繼續(xù),在此確定是否還有任何位位置剩余要被合成。如果否定,那么所有分量已經(jīng)在所有可能的位位置被合成,對(duì)該幀的處理結(jié)束。(注意如果在達(dá)到位界限之前,在所有位位置所有的分量已經(jīng)被合成,則剩余的從被壓縮的數(shù)據(jù)接收的比特最好是被提供假數(shù)據(jù)比特以便保持位邊界,并且可以被忽略)但是,如果有另外的位位置剩余要被合成,則在步驟820訪問用于存儲(chǔ)與初始分量(即與在步驟803所選擇的相同的分量)相對(duì)應(yīng)的數(shù)據(jù)元素的存儲(chǔ)區(qū)的那部分。其后,在步驟821,下一個(gè)位位置被指定為合成位位置。在一個(gè)優(yōu)選實(shí)施例中,步驟821包含使合成位位置減一達(dá)到下一個(gè)最高有效位的步驟。隨后步驟可以在步驟805恢復(fù)。
與圖6和8相關(guān)的所說明的方法一起提供了用于數(shù)據(jù)壓縮和解壓的一種有效技術(shù),該數(shù)據(jù)尤其是從分級(jí)的、多級(jí)子帶分解產(chǎn)生的子波系數(shù)。通過識(shí)別可以被緊密地表示的數(shù)據(jù)的最大可能的塊,本發(fā)明提供好的壓縮率與相對(duì)小的計(jì)算復(fù)雜程度。下面參照?qǐng)D9-12說明了本發(fā)明的另一個(gè)實(shí)施例。圖9-12特別圖解了一種用于基于多個(gè)升序表的ADK壓縮/解壓的方法。升序表提供了子波系數(shù)的更加抽象的表示以使得最容易接受高度緊密表示方法的那些數(shù)據(jù)部分可以容易地被識(shí)別。
圖9圖解了用于構(gòu)建升序表的方法。圖9所示的該方法可以通過視頻壓縮器200來實(shí)現(xiàn),最好是在子波系數(shù)已經(jīng)被計(jì)算后通過子波變換204,或者在子波數(shù)據(jù)實(shí)際壓縮之前通過ADK壓縮器208。無論如何實(shí)現(xiàn),該方法在步驟901開始,在此子波系數(shù)被作為輸入而提供。最好,子波系數(shù)以與上述子波變換204相關(guān)的方式類似的方式而提供。從下面的討論中可以明顯看出,當(dāng)亮度、紅色度和藍(lán)色度分量的每個(gè)被作為輸入提供時(shí),對(duì)于這每個(gè)分量創(chuàng)建各自的升序表。隨后在步驟902,結(jié)果發(fā)生的子波系數(shù)(對(duì)應(yīng)于Y、Cr或Cb之一)被存儲(chǔ)作為0級(jí)表,最好是按照上述的與圖4相關(guān)的安排而存儲(chǔ)。另外,在步驟903,級(jí)指數(shù)k被初始化為一(1)。級(jí)指數(shù)k僅僅是那些本領(lǐng)域的一般技術(shù)人員將認(rèn)可為對(duì)于構(gòu)建多個(gè)升序表有用的多個(gè)方法之一,如下所述。
在步驟904,(k-1)級(jí)表被再分為多個(gè)塊。對(duì)于通過步驟902的第一路徑,(k-1)級(jí)表對(duì)應(yīng)于0級(jí)表。(k-1)級(jí)表被邏輯再分的方式是設(shè)計(jì)選擇的問題。在一個(gè)優(yōu)選實(shí)施例中,(k-1)級(jí)表被再分成多個(gè)M×M不重疊塊,其中M=2。當(dāng)然可以使用其他塊尺寸;進(jìn)一步可以期望也可以使用非方的塊尺寸。在步驟905,判定是否有任何(k-1)級(jí)表中的塊剩余要被處理。如果肯定,在步驟906選擇下一個(gè)可獲得的塊。在步驟907,當(dāng)前選擇的塊的多個(gè)數(shù)據(jù)元素被一起進(jìn)行逐位或邏輯運(yùn)算以提供縮小的數(shù)據(jù)元素。(為了解釋的目的,或運(yùn)算以“·”符號(hào)表示。)在圖10A和10B中進(jìn)一步圖解了此處理。
圖10A描述了多個(gè)2×2塊,每個(gè)包含多個(gè)數(shù)據(jù)元素。為了簡(jiǎn)化的目的,每個(gè)數(shù)據(jù)元素包含一個(gè)單一比特的數(shù)據(jù),數(shù)值如圖10A所示。四個(gè)2×2塊由標(biāo)記1002所示。按照步驟907,第一塊的多個(gè)元素(包含標(biāo)為“AAx”的數(shù)據(jù)元素,其中x為“A”、“B”、“C”和“D”中的任何一個(gè))一起進(jìn)行或運(yùn)算,產(chǎn)生具有位值“1”的縮小的數(shù)據(jù)元素“AA”(“AAA”·“AAB”·“AAC”·“AAD”=0·1·1·0=1)。數(shù)據(jù)元素“AAA”、“AAB”、“AAC”和“AAD”被稱為縮小的數(shù)據(jù)元素“AA”的“孩子”。相同的步驟在第二、三和四塊的數(shù)據(jù)元素(分別包含標(biāo)為“ABx”、“ACx”和“ADx”的數(shù)據(jù)元素,其中x為“A”、“B”、“C”和“D”中的任何一個(gè))執(zhí)行,產(chǎn)生標(biāo)為“AB”、“AC”和“AD”的縮小的數(shù)據(jù)元素。實(shí)際上,每個(gè)縮小的數(shù)據(jù)元素的值指示在任一個(gè)其相關(guān)的孩子中一個(gè)“1”位值存在與否。在實(shí)際中,每個(gè)數(shù)據(jù)元素不是包含單一的位值,而是按照例如圖5所示的數(shù)據(jù)表示包含預(yù)定數(shù)量的位。在該情況下,在每個(gè)相對(duì)應(yīng)的位位置的數(shù)據(jù)元素的位值被一起進(jìn)行或運(yùn)算(逐位或),導(dǎo)致產(chǎn)生與其對(duì)應(yīng)的孩子具有相同長(zhǎng)度的縮小的數(shù)據(jù)元素。在步驟908,在(k)級(jí)表中的對(duì)應(yīng)位置存儲(chǔ)每個(gè)縮小的數(shù)據(jù)元素。只要在當(dāng)前級(jí)(k)還有塊要處理,就重復(fù)步驟905-908。當(dāng)在創(chuàng)建減小的數(shù)據(jù)元素過程中使用2×2塊時(shí),所產(chǎn)生的(k)級(jí)表是(k-1)級(jí)表的一半(在每維上),如圖10A和10B所示。
當(dāng)在步驟905確定在(k-1)級(jí)表中沒有更多的塊要處理的時(shí)候,處理在步驟909繼續(xù),在此判定是否才完成的縮小的元素的表對(duì)應(yīng)于最大級(jí)(K)的表。即圖9所示的處理將導(dǎo)致產(chǎn)生所處理的每個(gè)分量(Y,Cr,Cb)的K+1個(gè)表。表1圖解了按照?qǐng)D9構(gòu)建的升序表的優(yōu)選參數(shù)。如表1所示,優(yōu)選數(shù)值為,亮度分量K=5,每個(gè)色度分量K=4。當(dāng)然,根據(jù)需要可以使用K的其他值。
表1
如果還沒有產(chǎn)生最大級(jí)(K)表,則級(jí)指數(shù)k在步驟910加一,處理在步驟904繼續(xù)。隨后,執(zhí)行步驟904-908直到已經(jīng)產(chǎn)生新的第k級(jí)的縮小的數(shù)據(jù)元素的表。例如,參見圖10B和10C,在由標(biāo)號(hào)1004識(shí)別的2×2塊中的數(shù)據(jù)元素如上所述被縮小以提供縮小的數(shù)據(jù)元素1006(“A”)。注意在由標(biāo)號(hào)1004識(shí)別的塊中的數(shù)據(jù)元素是縮小的數(shù)據(jù)元素1006的孩子;由標(biāo)號(hào)1002識(shí)別的數(shù)據(jù)元素是縮小的數(shù)據(jù)元素1006的子孫。那些包括標(biāo)為“Bx”、“Cx”和“Dx”的數(shù)據(jù)元素的塊被類似地處理以分別提供縮小的數(shù)據(jù)元素“B”、“C”和“D”,每個(gè)數(shù)據(jù)元素具有如上所述的類似的孩子/子孫關(guān)系,其中x是“A”、“B”、“C”和“D”之中的任一個(gè)。
最后,在步驟909確定,對(duì)于任何給定的分量(Y,Cr,Cb),完成了縮小的系數(shù)的(K)級(jí)表。當(dāng)此發(fā)生時(shí),在步驟911進(jìn)一步判定是否剩余任何分量要處理。如果肯定,如上所述處理在步驟901繼續(xù)。如果否定,處理在步驟912繼續(xù),在此遍歷升序表以便提供壓縮的數(shù)據(jù),如下面特別參照?qǐng)D11所述。如下面更詳細(xì)討論的,所述升序表提供了子波系數(shù)的緊密的表示并因此便利了壓縮的分析。
圖11圖解了用于特別基于如上所述參照?qǐng)D9的升序表的使用而提供壓縮的數(shù)據(jù)的另一種方法。圖11圖解的方法可以通過上述的視頻壓縮器200特別是ADK壓縮器208來實(shí)現(xiàn)。假設(shè)在實(shí)施圖11的方法之前,如上所述的升序表已經(jīng)針對(duì)要被壓縮的視頻幀的每個(gè)分量(Y,Cr,Cb)而被創(chuàng)建。在步驟1101,以與上述步驟602相同的方式針對(duì)每個(gè)Y,Cr,Cb分量而可選地識(shí)別記錄位位置。再一次,雖然三個(gè)記錄位位置的每個(gè)都可能被分別提供作為輸出,但是這三個(gè)記錄位位置的最大者最好被提供作為壓縮處理的輸出。在步驟1102,針對(duì)任一個(gè)分量的升序表被訪問作為要分析的初始分量,但是亮度分量的升序表被優(yōu)選為初始分量。
在步驟1103,一個(gè)分析位位置被初始化。雖然該分析位位置可以被初始化為任一位位置,該分析位位置最好被初始化為記錄位位置的數(shù)值(當(dāng)已經(jīng)提供了一個(gè)記錄位位置的時(shí)候)并在其余的壓縮處理中遞減。而且,在步驟1103,遞歸指示符j被初始化為其最大值J。此處所述的遞歸指示符僅用于說明的目的;本領(lǐng)域的一般技術(shù)人員將認(rèn)識(shí)到,實(shí)現(xiàn)遞歸步驟有很多技術(shù)。在圖11圖解的實(shí)現(xiàn)方式中,任何給定的時(shí)間的遞歸指示符的值指示當(dāng)前考慮的是哪一級(jí)的升序表;最大值J表示當(dāng)前考慮的是最高級(jí)表,同時(shí)逐漸變小的數(shù)值對(duì)應(yīng)于逐漸變低的表級(jí)。
在步驟1104,訪問(j)級(jí)的表。當(dāng)j=J時(shí),所訪問的表是當(dāng)前分析的分量的最高級(jí)的表。參見圖10所示的示例,圖10C中的縮小的系數(shù)的表是最高級(jí)的表。在步驟1105,判定是否當(dāng)前遍歷的表是0級(jí)的表。如果否定,那么在步驟1106判定是否剩余(j)級(jí)表中的任何數(shù)據(jù)元素要分析。如果肯定,在步驟1107訪問下一個(gè)數(shù)據(jù)元素,并且在步驟1108判定是否該縮小的數(shù)據(jù)元素在分析位位置包括一個(gè)第一位值,其中在一個(gè)優(yōu)選實(shí)施例中,該第一位值是“0”位值。(注意在步驟1108分析的任何數(shù)據(jù)元素是根據(jù)步驟1105的縮小的數(shù)據(jù)元素)如果在步驟1108檢測(cè)到第一位值,那么在步驟1110,第一位值被提供作為在分析位位置的數(shù)據(jù)元素的所有子孫的輸出代表。再次參見圖10,假設(shè)所示的所有位值對(duì)應(yīng)于第P個(gè)位位置以及分析位位置當(dāng)前也被設(shè)置為第P個(gè)位位置。進(jìn)一步假定當(dāng)前考慮的數(shù)據(jù)元素是圖10B中標(biāo)為“AB”的數(shù)據(jù)元素。在確定該“AB”數(shù)據(jù)元素在第P位位置包含一個(gè)“0”位值的時(shí)候,輸出一個(gè)“0”位值以便表示“AB”的每個(gè)子孫。以另一種方式來說,因?yàn)闃?biāo)為“ABx”的數(shù)據(jù)元素(其中x是“A”、“B”、“C”和“D”中的任一個(gè))都在第P位位置包括“0”位值,輸出一個(gè)單一的“0”位值表示所有的四個(gè)數(shù)據(jù)元素是足夠充分的。壓縮因此而被提供,因?yàn)橐粋€(gè)接收方將明白此“0”位值輸出代表所有的四個(gè)標(biāo)為“ABx”的數(shù)據(jù)元素。當(dāng)最高級(jí)表(J級(jí))的一個(gè)數(shù)據(jù)元素在分析位位置包含一個(gè)“0”位值的時(shí)候,最大的壓縮被提供,因?yàn)樗试S一個(gè)單一的輸出比特來代表在分析位位置的最大可能數(shù)量的子孫。在步驟1111,判定是否已經(jīng)達(dá)到當(dāng)前幀的位界限,如果否定,則如果有其他數(shù)據(jù)元素的話,在步驟1106繼續(xù)其他數(shù)據(jù)元素的處理。
如果在步驟1108檢測(cè)到任何數(shù)據(jù)縮小的數(shù)據(jù)元素的第二位值,那么在步驟1109第二位值被提供作為輸出。此處的第二位值輸出將向接收方指示已經(jīng)發(fā)生了遞歸以及處理將在下一個(gè)最低表級(jí)繼續(xù)。為此,遞歸指示符j減一。如果在步驟1112,被分析的當(dāng)前幀的輸出位界限還沒有超過,則處理在步驟1104繼續(xù),在此在步驟1108考慮的數(shù)據(jù)元素的孩子以上述的與步驟1104-1111相關(guān)的方式被分析。
對(duì)于0級(jí)表中的數(shù)據(jù)元素提供特殊的處理。再次參見圖10,標(biāo)為“A”的數(shù)據(jù)元素將使得處理向下遞歸到標(biāo)為“AA”的數(shù)據(jù)元素。同樣,處理將再次向下遞歸到“AA”的子孫,即數(shù)據(jù)元素“AAx”。因此在步驟1105,對(duì)j=0的測(cè)試將為真,處理將在步驟1113繼續(xù)。在步驟1113,每個(gè)元素被以預(yù)定的順序分別地處理,該順序如上述的相關(guān)于圖7的“z”形式,但是也可以使用任何這樣的形式。對(duì)于每個(gè)數(shù)據(jù)元素,按照下面的步驟確定和處理在分析位位置的位值1)當(dāng)遇到“0”位值時(shí),輸出一個(gè)“0”并移向下一個(gè)數(shù)據(jù)元素;2)當(dāng)遇到“1”時(shí),輸出一個(gè)“1”并查驗(yàn)與該數(shù)據(jù)元素相關(guān)的標(biāo)記位。如果該數(shù)據(jù)元素的標(biāo)記位被置位,那么該數(shù)據(jù)元素的符號(hào)位已經(jīng)被輸出,處理可以在下一個(gè)數(shù)據(jù)元素繼續(xù)。如果標(biāo)記位未置位,輸出該數(shù)據(jù)元素的符號(hào)位,置位標(biāo)記位并移向下一個(gè)元素。(該處理假定這些標(biāo)記位被初始清除。標(biāo)記位的極性可以容易地被反轉(zhuǎn)以獲得相同的功能,在此情況下,將初始置位)一旦0級(jí)數(shù)據(jù)元素已經(jīng)以這種方式被處理,在步驟1114進(jìn)行查驗(yàn)以保證當(dāng)前幀的位界限還沒有被超出。如果否定,遞歸指示符j在步驟1115加一,于是將處理返回下一個(gè)最高級(jí)(1級(jí))用于那一級(jí)的另外元素——如果有的話——的處理。
當(dāng)在步驟1106確定在給定的級(jí)(除了0級(jí))沒有更多的元素剩余要處理的時(shí)候,處理在步驟1116繼續(xù)以判定是否才結(jié)束的當(dāng)前級(jí)是最高的級(jí)(J)。如果否定,遞歸指示符j在步驟1115加一,于是處理返回到下一個(gè)最高級(jí)用于處理該級(jí)的另外的元素——如果有的話。例如,參見圖10,當(dāng)圖10A所示的標(biāo)為“ADx”的數(shù)據(jù)元素已經(jīng)根據(jù)步驟1113完成了處理的時(shí)候,處理將通過步驟1116和1115向上遞歸回到圖10B所示的表。由于在此級(jí)沒有更多的元素剩余要處理(數(shù)據(jù)元素“AD”是此級(jí)要處理的最后的孩子數(shù)據(jù)元素),因此處理將再次向上遞歸回到圖10A所示的表。在此級(jí)上,在步驟1116的測(cè)試將為真(數(shù)據(jù)元素“D”是在此級(jí)上要處理的最后的數(shù)據(jù)元素),處理將在步驟1117繼續(xù)。
實(shí)質(zhì)上,圖11的方法,在至今已經(jīng)描述的位置,檢查在升序表的最高級(jí)表中發(fā)現(xiàn)的每個(gè)數(shù)據(jù)元素,并且在必要的地方向下遍歷樹結(jié)構(gòu)(即每個(gè)數(shù)據(jù)元素的子孫)來識(shí)別那些可以最緊密地表示的數(shù)據(jù)元素。再次參見圖10,對(duì)于對(duì)應(yīng)于標(biāo)為“A”的縮小的數(shù)據(jù)元素的樹的遍歷將進(jìn)行如下(假定還沒有符號(hào)位被輸出)。從“A”縮小的數(shù)據(jù)元素開始,遇到位值“1”,因此輸出一個(gè)“1”并考慮“A”的子孫(“AA”、“AB”、“AC”、“AD”)?!癆A”縮小的數(shù)據(jù)元素也具有一個(gè)“1”值,因此輸出一個(gè)“1”并考慮“AA”的子孫(“AAA”、“AAB”、“AAC”、“AAD”)。注意在此例中,“AA”的子孫全是“0”級(jí)的數(shù)據(jù)元素?!癆AA”數(shù)據(jù)元素是一個(gè)“0”,因此輸出一個(gè)“0”。“AAB”數(shù)據(jù)元素是一個(gè)“1”并且相應(yīng)的標(biāo)記位還沒有被置位(按照示例的規(guī)則),因此輸出一個(gè)“1”,隨后跟隨著“AAB”的符號(hào)位,相應(yīng)的標(biāo)記位被置位?!癆AC”數(shù)據(jù)元素是一個(gè)“1”,因此輸出一個(gè)“1”,隨后跟隨著“AAC”的符號(hào)位,相應(yīng)的標(biāo)記位被置位?!癆AD”數(shù)據(jù)元素是一個(gè)“0”,因此輸出一個(gè)“0”。這就完成了“AA”的子孫的處理,因此處理繼續(xù)針對(duì)“A”的又一個(gè)子孫“AB”數(shù)據(jù)元素進(jìn)行。“AB”數(shù)據(jù)元素是一個(gè)“0”,因此輸出一個(gè)“0”?!癆C”元素也是一個(gè)“0”,因此輸出另一個(gè)“0”?!癆D”數(shù)據(jù)元素是一個(gè)“1”,因此輸出一個(gè)“1”并且處理在0級(jí)繼續(xù)以考慮“AD”的子孫(“ADA”、“ADB”、“ADC”、“ADD”)?!癆DA”數(shù)據(jù)元素是一個(gè)“1”,因此輸出一個(gè)“1”,隨后跟隨著“ADA”的符號(hào)位,相應(yīng)的標(biāo)記位被置位。“ADB”數(shù)據(jù)元素是一個(gè)“0”,因此輸出一個(gè)“0”。“ADC”數(shù)據(jù)元素是一個(gè)“1”,因此輸出一個(gè)“1”,隨后跟隨著“ADC”的符號(hào)位,相應(yīng)的標(biāo)記位被置位。最后,“ADD”數(shù)據(jù)元素是一個(gè)“0”,因此輸出一個(gè)“0”。這就完成了對(duì)于“A”數(shù)據(jù)元素和所有其子孫的處理。如果符號(hào)位由符號(hào)“s”表示,則通過遍歷“A”數(shù)據(jù)元素和其子孫產(chǎn)生的輸出結(jié)果為下列的位流1,1,0,1,s,1,s,0,0,0,1,1,s,0,1,s,0。遍歷“B”數(shù)據(jù)元素和其子孫產(chǎn)生的結(jié)果為下列的位流1,1,1,s,0,0,0,0,0,1,0,1,s,0,0。遍歷“C”數(shù)據(jù)元素和其子孫產(chǎn)生的結(jié)果為下列的位流1,0,1,1,s,0,0,0,0,1,1,s,0,1,s,0。最后,遍歷“D”數(shù)據(jù)元素和其子孫產(chǎn)生的結(jié)果為下列的位流1,1,0,0,1,s,0,0,1,1,s,0,1,s,0,0。
因此,在本例中,用于表示“A”、“B”、“C”和“D”數(shù)據(jù)元素的子孫的位的總數(shù)量是64位,包括符號(hào)位。相反,如果所有的“A”、“B”、“C”和“D”數(shù)據(jù)元素的子孫(和相對(duì)應(yīng)的符號(hào)位,根據(jù)相同的規(guī)則)被輸出而未利用本發(fā)明,則需要總共76位。這對(duì)應(yīng)于本例中所需要的數(shù)據(jù)數(shù)量的超過15%的無損縮小。當(dāng)然,在更高表級(jí)的“0”值的出現(xiàn)提供了數(shù)據(jù)壓縮更大的機(jī)會(huì)。實(shí)際上,已經(jīng)發(fā)現(xiàn)更高空間頻率的子波系數(shù)經(jīng)常包括相當(dāng)多個(gè)“0”位值(根據(jù)在圖像中的大多的信息在較低的空間頻率上發(fā)現(xiàn)的事實(shí))。作為結(jié)果,可以利用較為普通的計(jì)算源來獲得子波系數(shù)數(shù)據(jù)的充分的壓縮率。例如,可以實(shí)時(shí)地獲得100∶1的壓縮率并具有可以接受的視頻質(zhì)量。
再次返回圖11,當(dāng)對(duì)于當(dāng)前被分析的分量在當(dāng)前分析位位置的所有數(shù)據(jù)元素的壓縮已經(jīng)被執(zhí)行的時(shí)候(即步驟1116的“是”分支),處理將在步驟1117繼續(xù)。在步驟1117,判定是否在當(dāng)前的分析位位置有更多的分量剩余要被分析。在一個(gè)優(yōu)選實(shí)施例中,亮度分量被首先在第一分析位位置分析,隨后是每個(gè)色度分量在第一位位置被分析。此順序?qū)τ诤罄m(xù)位位置重復(fù)直到達(dá)到位界限或所有的分量在所有的位位置已經(jīng)被處理。如果在當(dāng)前分析位位置剩余更多的分量要被分析,那么針對(duì)下一個(gè)分量的升序表在步驟1118被訪問,處理返回步驟1104以在當(dāng)前分析位位置分析新的分量。
但是,如果在當(dāng)前分析位位置沒有剩余更多的分量要被分析,處理在步驟1119繼續(xù),在此判定是否剩余任何更多個(gè)位位置要分析。如果否定,那么所有的分量在所有可能的位位置已經(jīng)被分析,對(duì)于該幀的處理結(jié)束。(注意如果在位界限被達(dá)到之前,所有的分量在所有的位位置已經(jīng)被分析,則到達(dá)位界限的剩余的位預(yù)算可以被填充假數(shù)據(jù)比特以便保持位邊界)但是,如果剩余另外的位位置要被分析,則在步驟1120訪問針對(duì)初始分量的升序表(即與在步驟1102選擇的相同的分量),并在步驟1121,下一個(gè)位位置被指定為分析位位置。在一個(gè)優(yōu)選實(shí)施例中,步驟1121包括將分析位位置減一到達(dá)下一個(gè)最高有效位位置的步驟。處理隨后可以在步驟1104恢復(fù)。
圖12是一個(gè)流程圖,圖解了用于提供解壓的視頻數(shù)據(jù)的另一種方法。圖12圖解的步驟可以通過上述的視頻解壓器200特別是ADK解壓器304來實(shí)現(xiàn)。圖12圖解的該方法與上述與圖11相關(guān)的方法互補(bǔ)。在步驟1201,接收到壓縮數(shù)據(jù),如利用圖11的方法提供的壓縮數(shù)據(jù)。在一個(gè)優(yōu)選實(shí)施例中,壓縮的數(shù)據(jù)包含壓縮的視頻數(shù)據(jù)并包括如上所述的記錄位位置的數(shù)據(jù)表示。
在步驟1202,對(duì)應(yīng)于任一分量(Y,Cr,Cb)的升序表的儲(chǔ)存區(qū)被訪問作為要合成的初始分量。在一個(gè)優(yōu)選實(shí)施例中,亮度分量是初始分量。
在步驟1203初始化一個(gè)合成位位置。雖然該合成位位置可以被初始化到任何位位置,最好該合成位位置被初始化到記錄位位置值(當(dāng)已經(jīng)提供一個(gè)記錄位位置的時(shí)候)并且在余下的解壓處理中遞減。而且,在步驟1203,遞歸指示符j被初始化為其最大值J。這里所述的遞歸指示符僅僅用于說明的目的;因?yàn)楸绢I(lǐng)域的一般技術(shù)人員會(huì)認(rèn)識(shí)到,實(shí)現(xiàn)遞歸步驟有很多技術(shù)。在圖12所示的實(shí)現(xiàn)方式中,在任何給定時(shí)間的遞歸指示符的值表示當(dāng)前考慮的是哪一級(jí)的升序表;最大值J表示最高級(jí)的表當(dāng)前正在被合成,同時(shí)逐漸變小的值對(duì)應(yīng)于逐漸變小的表級(jí)。
在步驟1204,訪問(j)級(jí)升序表的存儲(chǔ)區(qū)。當(dāng)j=J的時(shí)候,存儲(chǔ)區(qū)對(duì)應(yīng)于當(dāng)前重建的分量的最高級(jí)表。在步驟1206,判定在當(dāng)前合成位位置是否在(j)級(jí)表中剩余任何數(shù)據(jù)元素要被合成。如果肯定,在步驟1207訪問下一個(gè)數(shù)據(jù)元素,在步驟1208,判定是否當(dāng)前重建的表是一個(gè)0級(jí)的表。如果否定,處理在步驟1208繼續(xù),在此分析來自所接收的壓縮數(shù)據(jù)的下一個(gè)接收的比特。假定在傳輸過程中在所接收的壓縮數(shù)據(jù)中沒有發(fā)生不可糾正的錯(cuò)誤,在步驟1208分析的接收的比特應(yīng)當(dāng)對(duì)應(yīng)于當(dāng)前考慮的數(shù)據(jù)元素。在步驟1209,判定是否所接收的比特包含一個(gè)第一位值,其中該第一位值是在一個(gè)優(yōu)選實(shí)施例中的一個(gè)“0”位值。(注意在步驟1209考慮的任何數(shù)據(jù)元素是按照步驟1207的縮小的數(shù)據(jù)元素。)如果該第一位值在步驟1208被檢測(cè)到,那么在步驟1212,該第一位值被存儲(chǔ)在當(dāng)前縮小的數(shù)據(jù)元素的所有子孫中的合成位位置。例如,參見圖10,假定當(dāng)前考慮的數(shù)據(jù)元素是圖10B中標(biāo)為“AB”的數(shù)據(jù)元素。在確定對(duì)應(yīng)于“AB”數(shù)據(jù)元素的接收的比特包含一個(gè)“0”位值的時(shí)候,一個(gè)“0”位值被存儲(chǔ)在每個(gè)“AB”的子孫(“ABA”、“ABB”、“ABC”和“ABD”)中的合成位位置。在實(shí)際中,所有的數(shù)據(jù)元素被初始化為全“0”位值,因此免除了實(shí)際向存儲(chǔ)器中寫入“0”位值的必要。在步驟1213,判定是否已經(jīng)達(dá)到當(dāng)前幀的位界限,如果否定,如果存在另外的數(shù)據(jù)元素,則在步驟1205繼續(xù)另外數(shù)據(jù)元素的處理。
如果在步驟1209檢測(cè)到第二位值,則表示必須發(fā)生到下一個(gè)最低表級(jí)的遞歸。為此,遞歸指示符j在步驟1210減一。應(yīng)當(dāng)注意圖12圖解的處理的整體目標(biāo)是再建原被壓縮以提供壓縮的數(shù)據(jù)的數(shù)據(jù)元素,即0級(jí)表。作為結(jié)果,不嚴(yán)格要求更高級(jí)升序表(1級(jí)到J級(jí))也被重建,雖然它們也可以被重建。如果更高級(jí)升序表被重建,那么在步驟1210,第二位值也可以被存儲(chǔ)在(j)級(jí)表中的相應(yīng)的數(shù)據(jù)元素中(在將遞歸指數(shù)減一之前)。如果在步驟1211,當(dāng)前幀的位界限還沒有超過,處理在步驟1204繼續(xù),在此在步驟1209考慮的數(shù)據(jù)元素的孩子以上述與步驟1204-1213相關(guān)的方式被分析。
當(dāng)重建0級(jí)表中的那些數(shù)據(jù)元素的時(shí)候,提供特殊的處理。當(dāng)在步驟1207判定所考慮的當(dāng)前級(jí)滿足測(cè)試j=0,處理在步驟1214繼續(xù)。在步驟1214,每個(gè)要涉及的數(shù)據(jù)元素以預(yù)定順序被分別處理,如上面與圖7相關(guān)所討論的“z”形式,雖然也可以使用任何這樣的形式。對(duì)于每個(gè)數(shù)據(jù)元素,在合成位位置的位值被基于從壓縮數(shù)據(jù)接收的比特而按照下面的步驟確定1)當(dāng)遇到一個(gè)“0”位值時(shí),存儲(chǔ)一個(gè)“0”,并移向下一個(gè)數(shù)據(jù)元素;2)當(dāng)遇到一個(gè)“1”時(shí),存儲(chǔ)一個(gè)“1”并查看與那個(gè)數(shù)據(jù)元素相關(guān)的標(biāo)記位。如果那個(gè)數(shù)據(jù)元素的標(biāo)記位被置位,那么該數(shù)據(jù)元素的符號(hào)位已經(jīng)被存儲(chǔ),處理可以在下一個(gè)數(shù)據(jù)元素繼續(xù)。如果該標(biāo)記位未置位,存儲(chǔ)下一個(gè)接收的比特作為該數(shù)據(jù)元素的符號(hào)位,對(duì)標(biāo)記位置位并移向下一個(gè)元素。(此處理假定標(biāo)記位被初始清除。標(biāo)記位的極性可以容易地反轉(zhuǎn)以獲得相同的功能,在此情況下標(biāo)記位將被初始置位。)此處理重復(fù)直到在各個(gè)子塊中的每個(gè)數(shù)據(jù)元素的位位置的位值已經(jīng)被存儲(chǔ)。給定的數(shù)據(jù)元素的標(biāo)記位保證當(dāng)該數(shù)據(jù)元素的第一個(gè)“1”位值被存儲(chǔ)的時(shí)候存儲(chǔ)該元素的符號(hào)位,并且它保證該元素的符號(hào)位僅僅發(fā)送一次。遍歷數(shù)據(jù)元素使用的具體形式是設(shè)計(jì)選擇的問題,但是無論在何情況下,都應(yīng)當(dāng)與分析/壓縮處理中使用的形式相同。遞歸指示符j在步驟1215加一,于是使處理返回下一個(gè)最高級(jí)(1級(jí))以處理該極的另外的元素——如果有的話。但是在此之前,在步驟1211進(jìn)行查看以保證當(dāng)前幀的位界限還沒有被超過。如果否定,則處理在步驟1204繼續(xù)。
當(dāng)在步驟1205確定在給定級(jí)(除了0級(jí))沒有剩余更多的元素要處理,則處理在步驟1216繼續(xù)以判定是否才完成的當(dāng)前級(jí)是最高級(jí)(J)。如果否定,遞歸指示符j在步驟1217加一,于是使處理返回下一個(gè)最高級(jí)以處理該極的另外的元素——如果有的話。當(dāng)對(duì)于當(dāng)前被合成的分量而言在當(dāng)前合成位位置的所有數(shù)據(jù)元素的重建已經(jīng)執(zhí)行時(shí)(即步驟1216的“是”分支),處理將在步驟1217繼續(xù)。在步驟1217,判定是否在當(dāng)前合成位位置剩余更多的分量要被合成。在一個(gè)優(yōu)選實(shí)施例中,亮度分量被首先在第一合成位位置合成其后每個(gè)色度分量在第一位位置被合成。此順序?qū)τ诤罄m(xù)位位置重復(fù)直到達(dá)到位界限或所有的分量在所有的位位置已經(jīng)被處理。如果剩余更多的分量在當(dāng)前合成位位置要合成,那么在步驟1218訪問對(duì)應(yīng)于下一個(gè)分量的升序表的存儲(chǔ)區(qū),處理返回步驟1204以在當(dāng)前合成位位置重建新分量。
但是,如果在當(dāng)前合成位位置沒有剩余更多的分量要被合成,則處理在步驟1219繼續(xù),在此判定是否剩余任何更多的位位置要合成。如果否定,那么所有的分量已經(jīng)在所有可能的位位置被合成,對(duì)該幀的處理結(jié)束。(注意如果在達(dá)到位界限之前,所有的分量已經(jīng)在所有的位位置被合成,則最好剩余的來自壓縮數(shù)據(jù)的接收的比特是提供的假數(shù)據(jù)比特以便保持位邊界,這些接收的比特可以被忽略。)但是,如果剩余另外的位位置要被合成,則在步驟1220訪問對(duì)應(yīng)于初始分量的升序表的存儲(chǔ)區(qū)(即與在步驟1202選擇的相同的分量),在步驟1221,下一個(gè)位位置被指定為合成位位置。在一個(gè)優(yōu)選實(shí)施例中,步驟1221包含將合成位位置減一以達(dá)到下一個(gè)最高有效位位置的步驟。處理可以隨后在步驟1204恢復(fù)。
以上所述的僅僅是用來說明本發(fā)明的原理的應(yīng)用。本領(lǐng)域的技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下實(shí)現(xiàn)其他的方案和方法。
權(quán)利要求
1.一種處理要壓縮的視頻數(shù)據(jù)的方法,該方法包括步驟(A)提供視頻數(shù)據(jù)作為輸入數(shù)據(jù),輸入數(shù)據(jù)的每個(gè)數(shù)據(jù)元素以預(yù)定數(shù)量的比特表示;和(B)對(duì)于表示預(yù)定數(shù)量比特的多個(gè)位位置的至少一個(gè)位位置(i)對(duì)輸入數(shù)據(jù)的數(shù)據(jù)元素分組以提供多個(gè)數(shù)據(jù)塊,每個(gè)具有小于輸入數(shù)據(jù)的塊尺寸;(ii)當(dāng)數(shù)據(jù)塊的所有數(shù)據(jù)元素在位位置包含一個(gè)第一位值的時(shí)候,輸出該第一位值作為在位位置的數(shù)據(jù)塊的所有數(shù)據(jù)元素的表示;和(iii)當(dāng)數(shù)據(jù)塊的任何數(shù)據(jù)元素在位位置包含一個(gè)第二位值的時(shí)候,輸出該第二位值,并按照步驟(i)至(iii)遞歸地處理作為輸入數(shù)據(jù)的多個(gè)數(shù)據(jù)塊的每個(gè)數(shù)據(jù)塊,直到達(dá)到最小的塊尺寸。
2.如權(quán)利要求1的方法,其中步驟(B)還包含步驟(iv)當(dāng)達(dá)到最小塊尺寸時(shí),對(duì)于多個(gè)數(shù)據(jù)塊的每個(gè)數(shù)據(jù)塊,輸出一個(gè)數(shù)據(jù)比特代表在位位置的數(shù)據(jù)塊的每個(gè)數(shù)據(jù)元素。
3.如權(quán)利要求2的方法,其中步驟(B)(iv)還包含步驟(a)當(dāng)代表數(shù)據(jù)元素的數(shù)據(jù)比特包含第二位值并當(dāng)對(duì)應(yīng)于數(shù)據(jù)元素的標(biāo)記位未置位時(shí),對(duì)于數(shù)據(jù)塊的每個(gè)數(shù)據(jù)元素,輸出對(duì)應(yīng)于數(shù)據(jù)元素的一個(gè)符號(hào)位;和(b)將對(duì)應(yīng)于數(shù)據(jù)元素的標(biāo)記位置位。
4.如權(quán)利要求1的方法,還包含步驟(C)識(shí)別在視頻數(shù)據(jù)中具有最大量值的最大數(shù)據(jù)元素;(D)確定被設(shè)置為第二位值的最大數(shù)據(jù)元素的最高有效位以識(shí)別記錄位位置;和(E)輸出記錄位位置的數(shù)據(jù)表示。
5.如權(quán)利要求4的方法,其中多個(gè)位位置按照從記錄位位置到最低有效位位置的順序被處理。
6.如權(quán)利要求1的方法,其中最小塊尺寸對(duì)應(yīng)于2×2塊。
7.如權(quán)利要求1的方法,其中視頻數(shù)據(jù)包括通過亮度數(shù)據(jù)、紅色度數(shù)據(jù)和藍(lán)色度數(shù)據(jù)中的任一個(gè)的子波變換而產(chǎn)生的子波系數(shù)。
8.如權(quán)利要求1的方法,其中以符號(hào)量值形式表示數(shù)據(jù)元素。
9.如權(quán)利要求1的方法,其中第一位值是一個(gè)二進(jìn)制零值,第二位值是一個(gè)二進(jìn)制一值。
10.一種處理要解壓的數(shù)據(jù)以提供解壓的視頻數(shù)據(jù)的方法,該方法包括步驟(A)提供數(shù)據(jù)存儲(chǔ)區(qū)作為輸出存儲(chǔ)區(qū),該數(shù)據(jù)存儲(chǔ)區(qū)的每個(gè)數(shù)據(jù)元素由預(yù)定數(shù)量的比特表示;(B)接收壓縮的視頻數(shù)據(jù)以提供接收的比特;(C)對(duì)于代表預(yù)定數(shù)量的比特的多個(gè)位位置的至少一個(gè)位位置(i)對(duì)輸出存儲(chǔ)區(qū)的數(shù)據(jù)元素分組以提供多個(gè)數(shù)據(jù)塊,每個(gè)具有小于輸出存儲(chǔ)區(qū)的塊尺寸;(ii)當(dāng)對(duì)應(yīng)于多個(gè)數(shù)據(jù)塊的一個(gè)數(shù)據(jù)塊的接收的比特之一包含一個(gè)第一位值的時(shí)候,在位位置的數(shù)據(jù)塊的每個(gè)數(shù)據(jù)元素中存儲(chǔ)該第一位值;和(iii)當(dāng)對(duì)應(yīng)于多個(gè)數(shù)據(jù)塊的一個(gè)數(shù)據(jù)塊的接收的比特之一包含一個(gè)第二位值的時(shí)候,按照步驟(i)至(iii)遞歸地處理作為輸出存儲(chǔ)區(qū)的數(shù)據(jù)塊,直到達(dá)到最小的塊尺寸。
11.如權(quán)利要求10的方法,其中步驟(C)還包含步驟(iv)當(dāng)多個(gè)數(shù)據(jù)塊的一個(gè)數(shù)據(jù)塊具有最小塊尺寸時(shí),在數(shù)據(jù)塊的每個(gè)數(shù)據(jù)元素中存儲(chǔ)在位位置的接收比特的對(duì)應(yīng)的一個(gè)。
12.如權(quán)利要求11的方法,其中步驟(C)(iv)還包含步驟(a)對(duì)于數(shù)據(jù)塊的每個(gè)數(shù)據(jù)元素,當(dāng)接收的比特的對(duì)應(yīng)的一個(gè)包含第二位值并當(dāng)對(duì)應(yīng)于數(shù)據(jù)元素的一個(gè)標(biāo)記位未置位的時(shí)候,存儲(chǔ)接收的比特中后續(xù)接收的一個(gè)作為對(duì)應(yīng)于數(shù)據(jù)元素的一個(gè)符號(hào)位;和(b)將對(duì)應(yīng)于數(shù)據(jù)元素的標(biāo)記位置位。
13.如權(quán)利要求10的方法,其中所接收的比特包含記錄位位置的數(shù)據(jù)表示,該記錄位位置表示被設(shè)置為第二位值的數(shù)據(jù)存儲(chǔ)區(qū)的數(shù)據(jù)元素的最高有效位。
14.如權(quán)利要求13的方法,其中多個(gè)位位置按照從記錄位位置到最低有效位位置的順序被處理。
15.如權(quán)利要求10的方法,其中最小塊尺寸對(duì)應(yīng)于2×2塊。
16.如權(quán)利要求10的方法,其中解壓的視頻數(shù)據(jù)包括通過亮度數(shù)據(jù)、紅色度數(shù)據(jù)和藍(lán)色度數(shù)據(jù)中的任何一個(gè)的子波變換產(chǎn)生的子波系數(shù)。
17.如權(quán)利要求10的方法,其中數(shù)據(jù)元素以符號(hào)量值形式表示。
18.如權(quán)利要求10的方法,其中第一位值是一個(gè)二進(jìn)制零值,第二位值是一個(gè)二進(jìn)制一值。
19.一種處理要壓縮的視頻數(shù)據(jù)的方法,其中視頻數(shù)據(jù)已經(jīng)通過離散的子波變換處理以提供子波系數(shù),該方法包括步驟(A)在一個(gè)0級(jí)表中存儲(chǔ)作為數(shù)據(jù)元素的子波系數(shù),每個(gè)子波系數(shù)由預(yù)定數(shù)量的比特表示,0級(jí)表構(gòu)成多個(gè)升序表的一部分;(B)從J=1到K,通過執(zhí)行下面的步驟構(gòu)建多個(gè)升序表的其他表(i)將來自(J-1)級(jí)表的數(shù)據(jù)元素分組以提供多個(gè)數(shù)據(jù)元素塊;(ii)對(duì)于多個(gè)數(shù)據(jù)元素塊的每個(gè)數(shù)據(jù)元素塊,通過對(duì)構(gòu)成數(shù)據(jù)元素塊的數(shù)據(jù)元素進(jìn)行逐位邏輯或運(yùn)算而形成一個(gè)縮小的數(shù)據(jù)元素,其中數(shù)據(jù)元素塊的數(shù)據(jù)元素是該縮小的數(shù)據(jù)元素的孩子;和(iii)在多個(gè)升序表的(J)級(jí)表中存儲(chǔ)縮小的數(shù)據(jù)元素。
20.如權(quán)利要求19的方法,其中多個(gè)數(shù)據(jù)元素塊的每個(gè)數(shù)據(jù)元素塊包含一個(gè)2×2塊。
21.如權(quán)利要求19的方法,其中視頻數(shù)據(jù)包含亮度數(shù)據(jù)、紅色度數(shù)據(jù)和藍(lán)色度數(shù)據(jù)中的至少一個(gè)。
22.如權(quán)利要求19的方法,其中子波系數(shù)以符號(hào)量值的形式表示。
23.如權(quán)利要求19的方法,其中子波系數(shù)包含一個(gè)標(biāo)記位。
24.如權(quán)利要求19的方法,還包含步驟(C)識(shí)別在0級(jí)表中的具有最大量值的一個(gè)最大子波系數(shù);(D)確定被設(shè)置為二進(jìn)制一值的最大子波系數(shù)的最高有效位以識(shí)別一個(gè)記錄位位置;和(E)輸出記錄位位置的數(shù)據(jù)表示。
25.如權(quán)利要求24的方法,還包括步驟(F)在多個(gè)升序表上執(zhí)行至少一個(gè)降序樹搜索,其中每個(gè)降序樹搜索唯一地對(duì)應(yīng)于在記錄位位置和一個(gè)最低有效位位置之間并包括這兩者的多個(gè)位位置的一個(gè)位位置。
26.如權(quán)利要求25的方法,其中每個(gè)降序樹搜索還包括步驟(i)遍歷多個(gè)升序表并識(shí)別在位位置的多個(gè)升序表的每個(gè)數(shù)據(jù)元素的二進(jìn)制值,并按照下列步驟輸出壓縮的數(shù)據(jù)(a)當(dāng)對(duì)于在0級(jí)表中的一個(gè)數(shù)據(jù)元素,一個(gè)二進(jìn)制零值被識(shí)別的時(shí)候,輸出一個(gè)二進(jìn)制零值來代表在位位置的數(shù)據(jù)元素;(b)當(dāng)對(duì)于在0級(jí)表中的一個(gè)數(shù)據(jù)元素,一個(gè)二進(jìn)制一值被識(shí)別的時(shí)候,輸出一個(gè)二進(jìn)制一值來代表在位位置的數(shù)據(jù)元素;(c)當(dāng)針對(duì)J=1到K中的任一個(gè),對(duì)于在(J)級(jí)表中的一個(gè)數(shù)據(jù)元素,一個(gè)二進(jìn)制零值被識(shí)別的時(shí)候,輸出一個(gè)二進(jìn)制零值來代表在位位置的數(shù)據(jù)元素的所有子孫,其后跳過對(duì)于在位位置的數(shù)據(jù)元素的所有子孫的識(shí)別步驟;和(d)當(dāng)針對(duì)J=1到K中的任一個(gè),對(duì)于在(J)級(jí)表中的一個(gè)數(shù)據(jù)元素,一個(gè)二進(jìn)制一值被識(shí)別的時(shí)候,輸出一個(gè)二進(jìn)制一值,并按照步驟(a)至(d)遞歸地處理數(shù)據(jù)元素的孩子。
27.如權(quán)利要求26的方法,其中步驟(i)(b)還包括步驟(1)當(dāng)對(duì)應(yīng)于數(shù)據(jù)元素的標(biāo)記位未置位的時(shí)候,輸出對(duì)應(yīng)于該數(shù)據(jù)元素的一個(gè)符號(hào)位;和(2)對(duì)對(duì)應(yīng)于數(shù)據(jù)元素的標(biāo)記位置位。
28.如權(quán)利要求25的方法,其中位位置初始為記錄位位置并對(duì)于每次逐次的降序樹搜索減一。
29.如權(quán)利要求27的方法,還包括步驟(G)從J=0到K,提供包含解碼的(J)級(jí)的表的多個(gè)解碼的升序表,該多個(gè)解碼的升序表的每個(gè)數(shù)據(jù)元素由預(yù)定數(shù)量的比特表示;(H)接收壓縮的數(shù)據(jù)和記錄位的數(shù)據(jù)表示;和(I)通過基于壓縮的數(shù)據(jù)來執(zhí)行至少一個(gè)降序樹解碼而增加多個(gè)解碼的升序表,其中每個(gè)降序樹解碼唯一地對(duì)應(yīng)于在記錄位位置和一個(gè)最低有效位位置之間并包括這兩者的多個(gè)位位置的一個(gè)解碼位位置。
30.如權(quán)利要求29的方法,其中每個(gè)降序樹解碼還包括步驟(J)遍歷多個(gè)解碼的升序表,并按照下面步驟在該多個(gè)解碼的升序表的每個(gè)數(shù)據(jù)元素中在解碼的位位置存儲(chǔ)壓縮數(shù)據(jù)的一個(gè)二進(jìn)制值(i)當(dāng)從壓縮數(shù)據(jù)識(shí)別一個(gè)二進(jìn)制零值并且來自0級(jí)表的一個(gè)數(shù)據(jù)元素要被增加時(shí),在該數(shù)據(jù)元素中在解碼的位位置存儲(chǔ)一個(gè)二進(jìn)制零值;(ii)當(dāng)從壓縮數(shù)據(jù)識(shí)別一個(gè)二進(jìn)制一值并且來自解碼的0級(jí)表的一個(gè)數(shù)據(jù)元素要被增加時(shí),在該數(shù)據(jù)元素中在解碼的位位置存儲(chǔ)一個(gè)二進(jìn)制一值;(iii)當(dāng)從壓縮數(shù)據(jù)識(shí)別一個(gè)二進(jìn)制零值并且對(duì)于J=1至K在解碼的(J)級(jí)表中的一個(gè)數(shù)據(jù)元素要被增加時(shí),在該數(shù)據(jù)元素的解碼的0級(jí)表中的所有子孫內(nèi)在解碼的位位置存儲(chǔ)一個(gè)二進(jìn)制零值,并且其后跳過對(duì)于該數(shù)據(jù)元素的所有子孫在解碼的位位置存儲(chǔ)的步驟;和(iv)當(dāng)從壓縮數(shù)據(jù)識(shí)別一個(gè)二進(jìn)制一值并且對(duì)于J=1至K在解碼的(J)級(jí)表中的一個(gè)數(shù)據(jù)元素要被增加時(shí),在該數(shù)據(jù)元素在解碼的位位置存儲(chǔ)一個(gè)二進(jìn)制一值,并且按照步驟(i)至(iv)遞歸地處理該數(shù)據(jù)元素的孩子。
全文摘要
表示視頻數(shù)據(jù)的數(shù)據(jù)元素最好被邏輯地劃分為多個(gè)塊。以逐位的方式查看每個(gè)塊以判定是否該塊的數(shù)據(jù)元素可以以高度緊密的形式表示。如果一個(gè)給定的塊不能以這種方式表示,則將其細(xì)分為多個(gè)具有更小尺寸的塊。這種識(shí)別合適的塊和細(xì)分的處理被遞歸地重復(fù)直到達(dá)到最小的塊尺寸。通過使用多個(gè)升序表(206)可以獲得同樣的結(jié)果,這些表是通過重復(fù)地形成縮小的數(shù)據(jù)元素的表而構(gòu)建的。這多個(gè)升序表被遍歷,并且基于縮小的數(shù)據(jù)元素,識(shí)別能夠接受高度緊密形式的數(shù)據(jù)塊。子波變換(204)最好被用于提供要壓縮的視頻數(shù)據(jù)。
文檔編號(hào)H03M7/30GK1373968SQ00812675
公開日2002年10月9日 申請(qǐng)日期2000年7月20日 優(yōu)先權(quán)日1999年7月23日
發(fā)明者德里克·R·克拉克, 特迪·P·羅伯茨, 露辛達(dá)·E·謝弗, 肯尼思·A·斯托克 申請(qǐng)人:記憶鏈公司