專(zhuān)利名稱(chēng):解碼視頻圖像的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及解碼視頻圖像的裝置和方法,特別是涉及將壓縮的(按照已知的適于發(fā)送和存儲(chǔ)的數(shù)據(jù)建模方法)視頻序列解碼為適于觀看的解壓縮幀,所述編碼數(shù)據(jù)方法包含若干稱(chēng)為亮度裝載(load)的空間亮度變化模式、若干稱(chēng)為地址裝載的空間變化模式以及若干稱(chēng)為計(jì)分(score)的數(shù)值,它定義了每幀內(nèi)所含裝載的數(shù)量。本發(fā)明進(jìn)一步涉及一種將源圖像(它由第一兩維坐標(biāo)系中給定了整數(shù)位置的圖像元素組成)變換為目標(biāo)圖像(它由第二兩維坐標(biāo)系中給定了整數(shù)位置的圖像元素組成)的方法。
背景技術(shù):
采用數(shù)字技術(shù)變換和存儲(chǔ)圖像正變得愈來(lái)愈普遍。但是以原始格式表示數(shù)字圖像需要大量的比特位,這經(jīng)常會(huì)帶來(lái)一個(gè)問(wèn)題,即要求較寬的發(fā)送帶寬或者大容量的存儲(chǔ)介質(zhì)。這是采用壓縮技術(shù)的出發(fā)點(diǎn),該技術(shù)的目的是在不過(guò)多損害圖像質(zhì)量的前提下減少表示圖像所需的比特?cái)?shù)。
早期的數(shù)字圖像發(fā)送和存儲(chǔ)采用脈沖編碼調(diào)制(PCM)方法?,F(xiàn)今的系統(tǒng)更多地采用數(shù)字壓縮技術(shù)。其中一種壓縮技術(shù)就是JPEG,在那里每一幀都被壓縮為一幅獨(dú)立于其他幀的靜止圖像。這樣的幀被數(shù)字化為稱(chēng)作像素的圖像元素,像素按照8×8的像素塊分組。每一塊采用DCT(離散余弦變換)進(jìn)行變換。變換系數(shù)被量化和執(zhí)行長(zhǎng)度編碼,并且由可變長(zhǎng)度編碼(例如Huffman編碼或運(yùn)算編碼)對(duì)其結(jié)果進(jìn)行編碼。隨后發(fā)送或存儲(chǔ)最終的比特流。
在TV信號(hào)中,由于同一物體可能在幾幀中出現(xiàn),只是其在對(duì)應(yīng)物體或照相機(jī)運(yùn)動(dòng)的幀內(nèi)的位置不同,所以后續(xù)的幀通常相互關(guān)聯(lián)。這樣就可以采用運(yùn)動(dòng)補(bǔ)償壓縮技術(shù)。其中一種技術(shù)就是MPEG。在MPEG中,有些幀采用類(lèi)似JPEG的靜止圖像編碼來(lái)壓縮。而其他幀則采用預(yù)測(cè)和運(yùn)動(dòng)補(bǔ)償來(lái)編碼對(duì)于每一塊,編碼器完成一次搜尋過(guò)程,將先前發(fā)送幀內(nèi)當(dāng)前塊位置附近較小搜尋區(qū)域內(nèi)的最相似塊搜索出來(lái)。只有尋找到的與當(dāng)前塊位置匹配最佳的位置(稱(chēng)為塊的運(yùn)動(dòng)矢量)才與DCT編碼余量一起傳送。解碼器隨后按照運(yùn)動(dòng)矢量收集像素來(lái)重建幀,完成編碼余量的逆DCT并隨后將結(jié)果疊加在一起。
對(duì)于基于模型的壓縮技術(shù)(例如線狀幀)或者基于物體的區(qū)域編碼的研究正在進(jìn)行當(dāng)中,但是還沒(méi)有取得商業(yè)上的突破。
數(shù)字壓縮和解壓縮技術(shù)一種可能的應(yīng)用是在CD-ROM上存儲(chǔ)影視資料。如果不采用壓縮技術(shù),一張光盤(pán)上只能存儲(chǔ)一分鐘都不到的數(shù)字影視資料。為了在光盤(pán)上完整地存儲(chǔ)一部影片,必須采用壓縮技術(shù)。這樣,當(dāng)觀看前或者觀看時(shí)就必須將最終的數(shù)據(jù)解壓縮。
另一種可能的應(yīng)用是視頻點(diǎn)播(Video On Demand),通過(guò)它可以使多個(gè)用戶與一個(gè)公共的發(fā)布中心(distribution central)連接。每個(gè)用戶都可以從大量的影片中挑選一部即時(shí)回放,而發(fā)布中心隨后必須將所需的影片發(fā)送給該用戶。用戶的數(shù)量要求盡可能的多,而且它們采用成本最低的有線網(wǎng)絡(luò)互相連接。因此發(fā)布中心經(jīng)常采用壓縮技術(shù),這樣就需要在觀看時(shí)解壓縮數(shù)據(jù)。
還有一組可能的應(yīng)用是模擬器、游戲和虛擬現(xiàn)實(shí)。這種系統(tǒng)產(chǎn)生的圖像部分基于已經(jīng)可得的圖像而部分基于交互用戶的輸入。一組規(guī)則決定了用戶輸入如何作用于將波顯示的圖像。
在作為參考文獻(xiàn)包含在這里的專(zhuān)利申請(qǐng)WO95/08240中,提出了一種數(shù)據(jù)分析方法和裝置。稱(chēng)為IDLE的該系統(tǒng)包含適于在其他數(shù)據(jù)集、視頻序列之間編碼的編碼器和適于解碼相同數(shù)據(jù)集的解碼器。
本發(fā)明的目標(biāo)是提供一種硬件結(jié)構(gòu),它作為一種完整的IDLE圖像解碼器能夠?qū)崟r(shí)運(yùn)行。
本發(fā)明的進(jìn)一步目標(biāo)是提供一種能夠?qū)崟r(shí)解碼視頻圖像的圖像解碼方法。
本發(fā)明的進(jìn)一步目標(biāo)是提供一種適用于一定范圍的圖像尺寸和復(fù)雜程度的結(jié)構(gòu)。因此本發(fā)明并不是針對(duì)某一特定的TV系統(tǒng)等提出,而是描述了如何適用于各種格式。
本發(fā)明的進(jìn)一步目標(biāo)是提供了優(yōu)化方法,從而降低了適合IDLE用解碼器的制造成本。
本發(fā)明的還有一個(gè)目標(biāo)是提供一種解碼器,它可以免受發(fā)送錯(cuò)誤的影響。
本發(fā)明的進(jìn)一步目標(biāo)是提供一種用于交互式模擬和游戲的解碼器。
發(fā)明內(nèi)容
按照IDEL建模原理,序列的內(nèi)容被劃分為場(chǎng)景(scene)。在每幅場(chǎng)景中,稱(chēng)為holon的每個(gè)物體分別采用稱(chēng)為臉色裝載(blush load)的空間亮度變化模式、稱(chēng)為微笑裝載(smile load)的空間地址變化模式和稱(chēng)為微笑與臉色計(jì)分的相應(yīng)數(shù)值(對(duì)于每幀它定義了重建holon應(yīng)當(dāng)采用每個(gè)裝載的多少部分)建模。holon最后被一起放入適合觀看的完成幀內(nèi)。
在本發(fā)明的第一較佳實(shí)施例中,提供了一種簡(jiǎn)單的解碼器,它由以下模塊組成接收經(jīng)過(guò)壓縮的IDLE模型的模塊、將模型解壓縮為過(guò)渡格式的模塊、按照時(shí)間相關(guān)順序存儲(chǔ)模型的模塊和從模型中重建序列幀的模塊。模塊采用流水線方式相互間正向傳遞結(jié)果。
在第二較佳實(shí)施例中,提出了一種經(jīng)過(guò)優(yōu)化的解碼器,它包括提高建模能力、優(yōu)化存儲(chǔ)器用法和優(yōu)化計(jì)算速度的機(jī)構(gòu)。
這些裝置適合于采用超大規(guī)模集成(VLSI)電路來(lái)實(shí)現(xiàn)。
本發(fā)明的優(yōu)點(diǎn)主要得益于充分利用了同步運(yùn)行的多個(gè)專(zhuān)用處理單元。數(shù)據(jù)以簡(jiǎn)單的流水線方式在處理單元之間正向傳遞。很少需要隨機(jī)訪問(wèn)大存儲(chǔ)器組;大多數(shù)的訪問(wèn)都是順序進(jìn)行的。系統(tǒng)設(shè)計(jì)成使大多數(shù)處理單元可以以低精度(4,8,12或16)完成數(shù)值運(yùn)算,而產(chǎn)生的圖像仍然具有極佳的質(zhì)量。大多數(shù)的運(yùn)算都是簡(jiǎn)單的加法、乘法和移位運(yùn)算。雖然需要一些除法模塊,但是可以采用查尋表的方式以較低的精度實(shí)現(xiàn)。
根據(jù)這些原理,這種解碼器硬件結(jié)構(gòu)的實(shí)現(xiàn)提供了100-10000倍于個(gè)人計(jì)算機(jī)運(yùn)行等價(jià)軟件的處理速度,然而批量制造的成本可能更低。采用現(xiàn)今的VLSI技術(shù)可以處理的圖像尺寸至少為PAL或NTSC格式,并且可以處理復(fù)雜程度較高的模型。由于本發(fā)明適合于上面提及的WO95/08240所描述的系統(tǒng),所以同樣也具備那里的優(yōu)點(diǎn)。這包括較高的壓縮率、較佳的圖像質(zhì)量和較好的模型解釋與控制能力。
本發(fā)明進(jìn)一步提供了一種將源圖像(它由第一兩維坐標(biāo)系中在整數(shù)位置上給出的圖像元素組成)變換為目標(biāo)圖像(它由第二兩維坐標(biāo)系中在整數(shù)位置上給出的圖像元素組成)的方法。
所揭示的圖像解碼器和解碼方法可以實(shí)時(shí)解碼按照IDLE建模方法壓縮的視頻序列。經(jīng)過(guò)壓縮的模型可以包含圖像的多因子亮度和多因子運(yùn)動(dòng)表示。在解碼期間可以選擇替換模型,這用于交互TV和TV質(zhì)量的游戲。
附圖的簡(jiǎn)要說(shuō)明
圖1給出了包含編碼器和解碼器的基于IDLE建模原理的發(fā)送系統(tǒng)的示意圖;圖2給出了包含解碼步驟的總體示意圖;圖3表示基本的IDLE解碼器;圖4表示包括一些選項(xiàng)的IDLE解碼器;圖5a表示S域的基本格式;圖5b表示S域的執(zhí)行長(zhǎng)度編碼格式;圖5c表示另一種單獨(dú)裝載組尋址下的S域執(zhí)行長(zhǎng)度編碼格式;圖5d和e一起表示另一種S域的執(zhí)行長(zhǎng)度編碼格式;圖6表示與乘法電路結(jié)合在一起的一種可能的計(jì)分存儲(chǔ)形式;圖7表示將YUV變換為RGB的顏色空間變換器;圖8表示用于仿射變換的點(diǎn)頭(nod)電路;圖9表示用于裝載存儲(chǔ)的廢物收集機(jī)構(gòu);圖10表示使輸出格式適合分辨率的模塊;
圖11示出了在運(yùn)動(dòng)模塊中進(jìn)行內(nèi)插的必要性;圖12a和b示出了運(yùn)動(dòng)模塊中的4個(gè)像素運(yùn)動(dòng)的細(xì)節(jié);圖13a和b示出了基于三角形的運(yùn)動(dòng)模塊的原理;圖14給出了逐級(jí)內(nèi)插下運(yùn)動(dòng)模塊的實(shí)現(xiàn);圖15示出了用作運(yùn)動(dòng)模塊一部分的環(huán)形電路;圖16a示出了運(yùn)動(dòng)模塊內(nèi)插電路的數(shù)值原理;圖16b給出了Interpol的實(shí)現(xiàn);圖17表示作為運(yùn)動(dòng)模塊最后一部分的放置電路;圖18a示出了兩路線性內(nèi)插的原理;圖18b給出了兩路線性內(nèi)插的實(shí)現(xiàn);圖19給出了基于反向映射的運(yùn)動(dòng)模塊的硬件實(shí)現(xiàn);圖20a和b示出了基于直角的運(yùn)動(dòng)模塊的原理;圖21a示出了處理反混淆現(xiàn)象的理想策略;圖21b示出了對(duì)理想策略的逼近;圖22給出了反混淆現(xiàn)象逼近的數(shù)據(jù)流程圖;圖23示出了對(duì)于幀的最后濾波余量校正;圖24表示在解碼期間改變圖像的例如用于游戲的系統(tǒng);圖25表示在解碼期間改變回放速度的系統(tǒng)。
實(shí)施發(fā)明的較佳方式第一較佳實(shí)施例圖1給出了按照WO95/08240的基于IDLE的發(fā)送或存儲(chǔ)系統(tǒng)的示意圖。一系列數(shù)字化的視頻幀110被送入IDLE建模器115。最終的模型120采用傳統(tǒng)的技術(shù)(例如執(zhí)行長(zhǎng)度編碼、可變長(zhǎng)度編碼、離散余弦變換DCT等)作進(jìn)一步的壓縮,如同在塊125中所示。最終的比特流130的比特?cái)?shù)較原始表示110要少得多,并且更加適合于例如通過(guò)廣播發(fā)布或者在磁帶或光盤(pán)上存儲(chǔ)。
在觀看發(fā)布或存儲(chǔ)的壓縮比特流之前,必須對(duì)其解碼。這經(jīng)過(guò)兩個(gè)步驟完成首先是IDLE模型解壓縮,如同在塊135中所示,接著采用解壓縮的IDLE模型參數(shù)145重建(塊145)單獨(dú)的每一幀150。本發(fā)明涉及這種從壓縮的比特流130到可視幀150的解碼。
專(zhuān)利申請(qǐng)WO95/08240提出了一般的建模方法。圖2通過(guò)一個(gè)實(shí)例示出了從IDLE模型重建幀的基本方法一原始視頻序列由一張臉組成,其上有以各種方式運(yùn)動(dòng)的嘴巴(用來(lái)表示微笑)和亮度變化的臉頰(用來(lái)表示臉色)。臉與背景作為分開(kāi)的物體(也稱(chēng)為holon)建模。從序列的其中一幀選取的“典型的”臉作為一個(gè)臉色裝載210存儲(chǔ)。臉色的變化趨勢(shì)進(jìn)一步用臉色裝載212表示。每個(gè)臉色裝載都具有相應(yīng)的計(jì)分。一個(gè)裝載和一個(gè)計(jì)分的集合(collection)稱(chēng)為因子。對(duì)于每個(gè)像素,首先將每個(gè)因子的計(jì)分與裝載相乘,隨后按照像素順序?qū)⒔Y(jié)果相加,從而形成帶臉色的圖像240。
該實(shí)例示出了單色臉色模型,但色它的原理可以用于彩色圖像。在一個(gè)較佳實(shí)施例中,每個(gè)臉色裝載都以單色表示并使它只作用于一個(gè)顏色通道(例如紅、綠、藍(lán)),從而當(dāng)調(diào)整相應(yīng)的計(jì)分時(shí),圖像只有一個(gè)顏色通道發(fā)生變化。這稱(chēng)為可分離的臉色。在另一個(gè)較佳實(shí)施例中,每個(gè)臉色裝載以完整的顏色表示并且相應(yīng)地作用于所有的顏色通道,從而在改變計(jì)分時(shí)影響所有的顏色通道。這稱(chēng)為不可分離的臉色。利用可分離的臉色進(jìn)行建模通常具有的優(yōu)點(diǎn)是能夠在裝載數(shù)目一定的前提下增加變化,或者表示同樣的變化可以采用較少的裝載,這節(jié)省了必需的存儲(chǔ)器容量。采用不可分離的臉色進(jìn)行建模通常具有的優(yōu)點(diǎn)是模型與物理現(xiàn)實(shí)更為接近,從而當(dāng)輸入的臉色由兩個(gè)或兩個(gè)以上的顏色通道顯示時(shí),仍然只用一個(gè)因子表示并可以只用一個(gè)計(jì)分來(lái)控制法該臉色出現(xiàn)的數(shù)量。
相應(yīng)地,兩種主要的嘴巴運(yùn)動(dòng)模式作為兩個(gè)微笑裝載220、222存儲(chǔ)下來(lái)。通過(guò)將微笑因子(每個(gè)微笑因子由計(jì)分與裝載之積組成)的貢獻(xiàn)相加起來(lái)得到了微笑域230。
該實(shí)例只示出了垂直方向的運(yùn)動(dòng),單色對(duì)于垂直和水平方向的運(yùn)動(dòng)組合同樣可以應(yīng)用該原理。在一個(gè)較佳實(shí)施例中,每個(gè)微笑裝載只作用于一個(gè)維度,不是垂直方向就是水平方向,因而改變一個(gè)計(jì)分只引起垂直或水平方向的運(yùn)動(dòng)。這稱(chēng)為可分離的微笑建模。在另一個(gè)實(shí)施例中,每個(gè)微笑裝載包含一個(gè)垂直分量和一個(gè)水平分量,因此一個(gè)計(jì)分同時(shí)作用于垂直和水平方向。這稱(chēng)為不可分離的微笑建模。與臉色建模一樣,可分離和不可分離的微笑建模各有其優(yōu)點(diǎn)。
臉色的圖像隨后按照微笑域運(yùn)動(dòng)。在《數(shù)字圖像歪曲》(G.Wolberg,IEEEComputer Society Press,1994,第三版)中描述了如何根據(jù)微笑域(常常稱(chēng)為運(yùn)動(dòng)域、歪曲域或非對(duì)稱(chēng)域)來(lái)移動(dòng)(也稱(chēng)歪曲或位移)一幅圖像,該書(shū)作為參考文獻(xiàn)包含在這里。結(jié)果250隨后放入幀260內(nèi)。對(duì)于其他的holon(在這里是背景)也重復(fù)整個(gè)過(guò)程。幀現(xiàn)在已經(jīng)就緒并且可以提供給觀眾。計(jì)分以及可能還有裝載隨后經(jīng)過(guò)更新,并且對(duì)于下一幀繼續(xù)進(jìn)行處理。
圖3示出了第一較佳實(shí)施例的總體示意圖。解碼器300包含控制處理器305。為簡(jiǎn)化起見(jiàn)省略了控制處理器與其他處理單元的連接,但是處理器的主要用途是通過(guò)啟動(dòng)、暫停和終止處理單元使各種單元在輸入比特流速度、其他處理單元速度和幀速率下同步。由于控制處理器不必處理單個(gè)像素,所以計(jì)算負(fù)擔(dān)相對(duì)較小。因此它可以采用專(zhuān)用處理器或者通用微處理器(例如Intel 386SX)實(shí)現(xiàn)。
經(jīng)過(guò)壓縮的比特流310包含解碼幀所需的所有模型信息。數(shù)據(jù)的各個(gè)部分按照通信協(xié)議做上標(biāo)記,因而解多路復(fù)用單元(簡(jiǎn)記為DEMUX)320可以改道發(fā)送數(shù)據(jù)以校正處理單元。
壓縮的比特流310可以由自動(dòng)編碼器產(chǎn)生。它也可以或多或少由操作者手動(dòng)產(chǎn)生,特別是對(duì)于模擬和游戲方面的應(yīng)用。
裝載具有傳統(tǒng)靜止圖像的特征,即它們是2維垂直與水平坐標(biāo)網(wǎng)格上的函數(shù),并且它們具有較高的空間冗余度。因此按照已知的圖像壓縮技術(shù)(例如DCT(參見(jiàn)《JPEG手冊(cè)》,W.Pennebaker & J.Mitchell,Van Nostrand Reinhold,1993或者子波或預(yù)測(cè)編碼)足以存儲(chǔ)或發(fā)送裝載。由此在譯碼器一側(cè),壓縮的裝載必需經(jīng)過(guò)靜止圖像解碼器324發(fā)送,在那里它被解碼為完整的表示。
每個(gè)因子都需要應(yīng)用于幾幀,所以解碼器必須能夠存儲(chǔ)在解碼這些幀的期間所需的相應(yīng)裝載。為此,解碼器300包含了若干裝載存儲(chǔ)326。開(kāi)關(guān)325控制著靜止圖像解碼器324的結(jié)果送往哪一個(gè)裝載存儲(chǔ)。該開(kāi)關(guān)受控制處理器305控制。在一個(gè)較佳實(shí)施例中,裝載被送至校正域的第一自由裝載存儲(chǔ)。在另一個(gè)較佳實(shí)施例中,壓縮的比特流310包含側(cè)面信息(side information),它決定了裝載在哪一個(gè)裝載存儲(chǔ)中存儲(chǔ)。
每個(gè)裝載存儲(chǔ)可以存儲(chǔ)幾個(gè)不同holon的數(shù)據(jù)。裝載存儲(chǔ)的哪一部分包含哪一holon的數(shù)據(jù)由段域(簡(jiǎn)記為S域,它保存在S域存儲(chǔ)322中)管理。這樣一種結(jié)構(gòu)將每個(gè)裝載存儲(chǔ)的每個(gè)單元映射至一個(gè)holon上。圖5a示出了一個(gè)較佳實(shí)施例,在那里,通過(guò)一個(gè)實(shí)例對(duì)圖3的S域存儲(chǔ)322作了更詳細(xì)的圖示。所有裝載存儲(chǔ)的大小相同并且每個(gè)holon的各個(gè)裝載在裝載存儲(chǔ)中占據(jù)同一位置。S域存儲(chǔ)500的大小也相同,并且在S的每個(gè)單元中存儲(chǔ)著該holon的號(hào)碼,即分配給它的裝載存儲(chǔ)中相應(yīng)的元素。該實(shí)例示出了用1表示的第一holon、用2表示的第二holon,它們被用0表示未用空間包圍。
S域的每個(gè)元素與垂直坐標(biāo)v和水平坐標(biāo)h相關(guān)聯(lián),并且該holon的每個(gè)裝載也可以包含對(duì)應(yīng)該位置的元素。選取坐標(biāo)軸使得v=0,h=0位于左上角,這里v表示掃描線沿向下的方向增加而h表示掃描線沿向右的方向增加。這種位置的集合稱(chēng)為參考坐標(biāo)系,它包含了參考位置上的物體。
每個(gè)參考位置元素(由臉色裝載值、微笑裝載值和元素的其他特定值組成)簡(jiǎn)記為RefEl(見(jiàn)圖5b)。
進(jìn)一步的處理按照流水線的方式進(jìn)行,流水線由一條具有幾個(gè)流水線通道的數(shù)據(jù)路徑和對(duì)到達(dá)流水線的數(shù)據(jù)施行各種操作的若干處理單元組成。流水線采用流水線時(shí)鐘達(dá)到同步。每個(gè)流水線時(shí)鐘脈沖對(duì)應(yīng)一個(gè)新的RefEl輸入流水線,并且同樣地,對(duì)已經(jīng)等候在流水線上的每個(gè)RefEl施加一次操作。
來(lái)自所有裝載存儲(chǔ)326和S域存儲(chǔ)322的數(shù)據(jù)都以并行方式讀入流水線330、334的起始端。在一個(gè)較佳實(shí)施例中,所有的RefEl都以穩(wěn)定的速度并按照裝載存儲(chǔ)的掃描次序讀出。
流水線中的下一站是相乘單元340,在那里計(jì)分與裝載相乘。圖6更為詳細(xì)地示出了計(jì)分存儲(chǔ)328和相乘單元340。計(jì)分610的的更新可以向下載入每幀的計(jì)分存儲(chǔ)630。計(jì)分存儲(chǔ)630被組織為行與列的形式,每一行對(duì)應(yīng)著holon的號(hào)碼而每一列對(duì)應(yīng)著一個(gè)因子。隨后來(lái)自裝載組的元素組620配合相應(yīng)的S值開(kāi)始到達(dá)。對(duì)于每組元素,S值640選擇計(jì)分存儲(chǔ)中的一行,而每列相應(yīng)的計(jì)分650被送至相乘器660,在那里計(jì)分與所有因子的裝載元素相乘。該結(jié)果以并行方式輸出至流水線670的下一段。
對(duì)于每組裝載元素,最終圖像的地址現(xiàn)在是當(dāng)前位置與各微笑因子貢獻(xiàn)之和。
在一個(gè)較佳實(shí)施例中,當(dāng)前位置的坐標(biāo)由環(huán)路機(jī)構(gòu)342產(chǎn)生,對(duì)于每幀它初始化為零并逐步增加每組裝載元素的垂直與水平當(dāng)前坐標(biāo)v和h。在另一個(gè)較佳實(shí)施例中,與裝載存儲(chǔ)326相關(guān)的地址邏輯產(chǎn)生當(dāng)前坐標(biāo)。
通過(guò)求和微笑模塊352將當(dāng)前坐標(biāo)與微笑因子的貢獻(xiàn)相加得到了該組裝載元素的新位置。它可以實(shí)現(xiàn)為一種樹(shù)狀結(jié)構(gòu)加法器,該加法器將垂直方向上所有的貢獻(xiàn)相加,對(duì)于水平方向也同樣可以采用這樣的加法器。
與此同時(shí),各種臉色因子的貢獻(xiàn)在求和臉色模塊354中相加。對(duì)于彩色系統(tǒng),可以在每個(gè)顏色通道上采用樹(shù)狀加法器。
著上臉色圖像的每個(gè)像素現(xiàn)在連同對(duì)應(yīng)的新位置一起送入移動(dòng)模塊360中。S域值330在延遲模塊中受到延遲以補(bǔ)償相乘、求和微笑和求和臉色模塊中的等待時(shí)間,它也被送至移動(dòng)模塊360中。
移動(dòng)模塊360產(chǎn)生了像素值,例如r,g,b和它們的地址。下面將揭示移動(dòng)模塊的內(nèi)部結(jié)構(gòu)。
由于按照參考位置掃描順序產(chǎn)生并且可能在最終的幀中運(yùn)動(dòng)到其他地址,所以它們通常不會(huì)按照移動(dòng)模塊360的掃描順序消失。由于大多數(shù)顯示器和其他輸出設(shè)備都是按照掃描順序工作的,所以像素在由視頻電路輸出之前必須臨時(shí)地存儲(chǔ)在幀緩沖器370內(nèi)。
由于運(yùn)動(dòng),幾個(gè)holon的像素可能會(huì)交疊。在一個(gè)較佳的實(shí)施例中,當(dāng)發(fā)生沖突時(shí),第一次出現(xiàn)在幀緩沖器單元位置上的像素獲勝,并且將經(jīng)過(guò)編碼的比特流排列為首先解碼最前面的holon。這稱(chēng)為首先--獲勝。在另一種較佳實(shí)施例中,最后出現(xiàn)的像素獲勝,并且將經(jīng)過(guò)編碼的比特流排列為最后解碼最前面的holon。這稱(chēng)為最后--獲勝。
第二較佳實(shí)施例在第一較佳實(shí)施例中,揭示了一種最簡(jiǎn)單的IDLE解碼器。現(xiàn)在,在第二較佳實(shí)施例中將揭示一種更為完整的IDLE解碼器。它能夠處理尺寸較大而就建模運(yùn)算符和因子數(shù)目來(lái)說(shuō)更為復(fù)雜的圖像,但是存儲(chǔ)器和芯片面積卻增加很少。
圖4給出了第二較佳實(shí)施例的總體示意圖。
壓縮的比特流403首先輸入誤差控制與校正模塊406,簡(jiǎn)記為ECC。該模塊采用由已有技術(shù)獲知的Reed-Solomon編碼方法同時(shí)檢測(cè)和校正發(fā)送誤差,或者采用循環(huán)冗余校驗(yàn)方法(簡(jiǎn)記為CRC)只檢測(cè)誤差。在《數(shù)字通信》(J.Proakis,McGraw Hill,1989)中描述了如何實(shí)現(xiàn)Reed-Solomon編碼。在利用雙向發(fā)送的應(yīng)用中,還可以請(qǐng)求重新發(fā)送出錯(cuò)的數(shù)據(jù)。
輸入比特流中經(jīng)過(guò)檢測(cè)但未經(jīng)校正的誤差可以啟動(dòng)誤差隱藏策略。選擇何種策略取決于哪個(gè)數(shù)據(jù)遭到了破壞。如果臉色或微笑裝載的一小部分包含誤差,則該部分可以設(shè)定為其周?chē)氐钠骄担瑥亩拱l(fā)送誤差只是引起特征的丟失而不是丟失一些其他模式。如果臉色或微笑裝載的大部分包含誤差,則可以強(qiáng)迫相應(yīng)的計(jì)分為零,因此完全消除了該因子的影響。如果一幀或數(shù)幀的計(jì)分包含誤差,則計(jì)分值可以由前面幀的值來(lái)替代,或者可以根據(jù)前面和后面的計(jì)分用內(nèi)插值替代。
DEMUX 408的工作方式于第一較佳實(shí)施例中的DEMUX 320相同,除了它必須具備識(shí)別范圍更廣的數(shù)據(jù)類(lèi)型和因此改道發(fā)送的能力以外。
裝載存儲(chǔ)414…416可以設(shè)計(jì)成為使它們?cè)趲獯a期間能夠?qū)懭?。?shí)現(xiàn)這種能力的一種方法是在裝載存儲(chǔ)中采用視頻隨機(jī)訪問(wèn)存儲(chǔ)器VRAM。VRAM的優(yōu)點(diǎn)是具有兩個(gè)端口,一個(gè)是用于寫(xiě)入的隨機(jī)訪問(wèn)端口和一個(gè)用于輸出的串行端口。為了避免因同時(shí)由裝載存儲(chǔ)讀取RefEl和向裝載存儲(chǔ)寫(xiě)入RefEl引起的不一致,相應(yīng)holon和因子的計(jì)分存儲(chǔ)442中的計(jì)分可以設(shè)定為零,從而使正在寫(xiě)入的裝載不起作用。另一種辦法是可以將下面將要解釋的路由器463設(shè)定為不向正在寫(xiě)入的裝載正向提供結(jié)果。
另一種解決方案是在裝載存儲(chǔ)中采用常用的成本略低的單端口RAM,它經(jīng)過(guò)切換使得在任意時(shí)刻不是向裝載存儲(chǔ)寫(xiě)入就是從裝載存儲(chǔ)讀取。
S域的每個(gè)單元都與垂直坐標(biāo)v和水平坐標(biāo)h相關(guān)。相應(yīng)holon的每個(gè)裝載也包含于同一v和h相關(guān)的單元。一個(gè)S域單元、對(duì)應(yīng)的裝載單元以及明確或隱含給定的v和h坐標(biāo)簡(jiǎn)稱(chēng)為RefEl。與holon相關(guān)聯(lián)的坐標(biāo)系被稱(chēng)為參考位置。對(duì)于圖5a示出的S域布局,所有的holon都在同一坐標(biāo)系中給定。
S域包含較高的冗余度。如果已知S域的一個(gè)單元,則下一個(gè)S域單元表示同一holon的概率較大。因此,如圖5b所示,S域可以具有緊湊的格式。與圖5a中在裝載存儲(chǔ)中存儲(chǔ)每個(gè)單元位置的一個(gè)號(hào)碼不同,這里保持了S域的執(zhí)行長(zhǎng)度編碼形式,參見(jiàn)William M.Newman和RobertF.Sproull的《交互式計(jì)算機(jī)圖形原理》(McGraw Hill國(guó)際圖書(shū)公司,第二版,1981)此書(shū)意也作為本文的參考。在一個(gè)較佳實(shí)施例中,每次執(zhí)行作為holon號(hào)碼存儲(chǔ),它可以取值為零(表示裝載存儲(chǔ)未占據(jù)的部分)或執(zhí)行長(zhǎng)度。在另一個(gè)實(shí)施例中,如圖5b所示,只對(duì)S域的非零單元進(jìn)行執(zhí)行長(zhǎng)度編碼,每次執(zhí)行表示為一行。由于假想?yún)⒖嘉恢弥邢袼氐拇怪焙退轿恢矛F(xiàn)在不再由執(zhí)行地址給定,所以每一行不僅包含holon號(hào)530和執(zhí)行536中單元的號(hào)碼,而且還包含執(zhí)行開(kāi)始時(shí)預(yù)定的垂直和水平位置532、534。
在S域存儲(chǔ)中包含預(yù)定的垂直和水平位置具有的優(yōu)點(diǎn)是可以補(bǔ)償固定位置的偏離。假設(shè)兩個(gè)holon趨向于交替占據(jù)若干幀的同一位置。由于它們無(wú)法存儲(chǔ)在如圖5a所示數(shù)據(jù)結(jié)構(gòu)中的同一位置上,所以至少有一個(gè)被存儲(chǔ)在其他坐標(biāo)上。如果沒(méi)有其他機(jī)構(gòu)來(lái)修正holon的位置,則必須利用分離的微笑裝載將holon移回正確的位置。圖5b所示的數(shù)據(jù)結(jié)構(gòu)通過(guò)對(duì)每個(gè)holon定義一個(gè)參考坐標(biāo),更加充分地達(dá)到了同一效果。
前一種方法要求所有的裝載存儲(chǔ)必須包含分配給所有裝載存儲(chǔ)中同一地址的每個(gè)holon。在另一個(gè)較佳實(shí)施例中,holon可以有裝載存儲(chǔ)中的不同地址。圖5c示出了基于此目的的S域的表示。對(duì)于每次執(zhí)行屬于同一holon的掃描次序的連續(xù)S域單元,有一行544。對(duì)于每次執(zhí)行,給出了它的holon號(hào)550、第一RefEl的垂直551和水平552坐標(biāo)、RefEl 553的號(hào)碼553和每個(gè)裝載組的第一單元554-556的地址。
如果確定每個(gè)holon占據(jù)每個(gè)裝載存儲(chǔ)中連續(xù)的存儲(chǔ)位置,則采用如圖5d和e所示的其他表示S域。圖5d示出了如何定義每個(gè)holon它們列在表560中,這里holon號(hào)定義了行562,并且對(duì)于RefEl的每個(gè)holon號(hào)和每個(gè)裝載存儲(chǔ),給出了該holon第一單元的地址572-576。此外每次執(zhí)行必須由圖5e中相應(yīng)的表定義,表580包含每次執(zhí)行的一行582和每次執(zhí)行的一行582、每次執(zhí)行的holon號(hào)數(shù)590、第一元素的垂直位置592和水平位置594以及該次執(zhí)行的RefEl 596。
第一列590給出了holon號(hào),接下來(lái)的兩行592、594給出了執(zhí)行的第一元素的參考坐標(biāo),而下一列592給出了該次執(zhí)行的像素個(gè)數(shù)。隨后明確給出每個(gè)裝載存儲(chǔ)中的地址。只要S域經(jīng)過(guò)相應(yīng)地組織,裝載存儲(chǔ)中的地址排序可以是任意的;S域存儲(chǔ)中存儲(chǔ)的數(shù)值定義了解碼次序。
對(duì)于裝載存儲(chǔ),圖5b、5c、5d和5e中給出的表示S域的每個(gè)執(zhí)行編碼長(zhǎng)度需要略微不同的地址產(chǎn)生邏輯。但是所有的這些方法都基于執(zhí)行中第一RefEl的地址初始化,并且隨后采用順序讀出的方式訪問(wèn)執(zhí)行中其余的RefEl。
每個(gè)執(zhí)行長(zhǎng)度編碼表示也可以僅僅借助幾個(gè)holon的同一存儲(chǔ)區(qū)域重復(fù)幾個(gè)holon的裝載。據(jù)信這主要對(duì)需要隨時(shí)進(jìn)行控制的編碼系統(tǒng)(例如游戲控制器,在那里操作者可以決定編碼器件幾個(gè)holon對(duì)裝載的共享)有用。
S域可以壓縮。S域的執(zhí)行長(zhǎng)度編碼可以作為充分利用水平方向的冗余度進(jìn)行壓縮的基礎(chǔ)。通過(guò)充分利用垂直方向上的冗余度可以獲得進(jìn)一步的壓縮,例如對(duì)于每一掃描線利用前面的掃描線作為預(yù)測(cè)器并且只對(duì)校正器編碼。在這種情況下必須有S域解碼器418。
另一種壓縮S域的方法是通過(guò)差分鏈編碼。首先識(shí)別holon輪廓上的點(diǎn)。隨后尋找輪廓附近的點(diǎn),并且傳送從第一點(diǎn)到第二點(diǎn)的方向。隨后尋找輪廓附近接下來(lái)的點(diǎn),發(fā)送該方向上的差異,并且不斷重復(fù)直到對(duì)整個(gè)輪廓完成編碼。在方向差異上可以采用執(zhí)行長(zhǎng)度編碼和可變編碼長(zhǎng)度編碼。輪廓隨后被填充上holon號(hào)。不斷重復(fù)該步驟直到發(fā)送完整個(gè)S域。
裝載存儲(chǔ)可以更新。根據(jù)編碼器尋找因子的次序,可以以任何次序發(fā)送新的裝載并更新S域。
解碼器的存儲(chǔ)容量是有限的。因此必須采用一種方法在新的因子需要空間時(shí)去除舊的裝載存儲(chǔ)的內(nèi)容。一種方法就是由編碼器發(fā)出重新初始化的命令以使其空出來(lái)。
另一種更為先進(jìn)的方法是有選擇地刪除裝載存儲(chǔ)的內(nèi)容。刪除部分可以由編碼器中的優(yōu)先權(quán)機(jī)構(gòu)選擇,并且這種優(yōu)先權(quán)機(jī)構(gòu)可以將降低的優(yōu)先權(quán)分配給不再看得見(jiàn)的holon或者相關(guān)度較小的裝載。
圖9示出了廢物收集電路。電路900由一個(gè)裝載存儲(chǔ)和相關(guān)的地址產(chǎn)生邏輯組成。它可以在正常模式下運(yùn)行,當(dāng)輸出裝載970時(shí)接收裝載存儲(chǔ)922中的裝載910和它們的地址912。如果采用圖5b、5c、5d和5e所示的S域執(zhí)行長(zhǎng)度編碼的表示,則流水線上的S域數(shù)值在正常模式運(yùn)行期間需要作為輸入914。它還可以通過(guò)輸入信號(hào)916切換于廢物收集模式下運(yùn)行。在收集廢物之前,收集列表存儲(chǔ)930中下載了需要去除的holon 918列表或者需要保存的holon的列表。在廢物收集模式中,普通用于尋址裝載存儲(chǔ)922的普通尋址產(chǎn)生模塊920的輸入和輸出地址由開(kāi)關(guān)940切換。特別用于廢物收集的地址產(chǎn)生器模塊932處于使能狀態(tài)。這首先將輸入和輸出地址初始化為零。隨后S域914循環(huán)。每次按照收集列表尋找到應(yīng)該保存的holon時(shí),執(zhí)行中的每個(gè)RefEl就循環(huán),每個(gè)RefEl的輸入和輸出地址就增加,輸出由開(kāi)關(guān)944接至反饋發(fā)送線路960和進(jìn)一步的開(kāi)關(guān)942并寫(xiě)回裝載存儲(chǔ)。其他holon被忽略而不再寫(xiě)回裝載存儲(chǔ),由此被刪除掉。
如果采用兩個(gè)端口RAM(它的速度使得裝載存儲(chǔ)所需的輸出率不會(huì)超過(guò)裝載存儲(chǔ)的最大寫(xiě)入速度)的裝載存儲(chǔ),則可以將普通運(yùn)行模式于廢物收集模式結(jié)合起來(lái),從而在普通運(yùn)行期間進(jìn)行廢物收集。
流水線的設(shè)計(jì)可以依解碼器所需特性改變。
如果允許將可能的時(shí)鐘速率、所需的輸出分辨率和幀速率組合起來(lái),則由于兩個(gè)或兩個(gè)以上的裝載存儲(chǔ)共享一條物理管線信道,所以流水線可以多路復(fù)用。
對(duì)于高輸出分辨率和高幀速的系統(tǒng),比較好的是超收縮形式。采用該設(shè)計(jì)時(shí)沒(méi)有公共的流水線時(shí)鐘,而是只要需要輸入,每個(gè)流水線部分就啟動(dòng)處理,只要輸出準(zhǔn)備好后信號(hào)就進(jìn)入下一部分。這種控制的設(shè)計(jì)更加復(fù)雜,但是吞吐量更大。
基于好幾個(gè)可能的原因需要在幾種分辨率下表示裝載。一個(gè)原因是數(shù)據(jù)本身是低分辨率的;如果照相機(jī)的分辨率較低,或者如果采用適于平滑運(yùn)動(dòng)域的運(yùn)動(dòng)估計(jì)技術(shù),則有些臉色或微笑因子將具有較低的固有分辨率。
在不同分辨率下表示裝載的另一個(gè)原因是同樣的比特流可以在性能不同的解碼器上解碼。裝載可以分離為只需低分辨率解碼的一組和可以增加高分辨率解碼的另一選項(xiàng)組。隨后低分辨率解碼器只解碼低分辨率裝載,而高分辨率解碼器既對(duì)低分辨率裝載也對(duì)高分辨率裝載進(jìn)行解碼。
另一個(gè)原因是肉眼對(duì)不同的域具有不同的分辨靈敏度。對(duì)于顏色序列,眾所周知,如果在一個(gè)顏色空間(例如PAL TV系統(tǒng)中所用的YUV或者NTSC TV系統(tǒng)中所用的YIQ)內(nèi)表示顏色,則色度分量U、V和I、Q與強(qiáng)度(也稱(chēng)亮度)Y分量相比對(duì)空間分辨率的要求較低。
還有一個(gè)原因是可以采用不同級(jí)別的誤差保護(hù)。如果因?yàn)橛邢薜膸挕⒂邢薜奶幚砟芰Φ榷鵁o(wú)法給整個(gè)比特流以足夠的誤差保護(hù),則應(yīng)該將低分辨率部分分開(kāi)并給予比高分辨率部分更高的保護(hù)。經(jīng)過(guò)合適的隱藏,與低分辨率部分出現(xiàn)的誤差相比,對(duì)高分辨率部分出現(xiàn)的誤差在視覺(jué)上要難以察覺(jué)得多。
由于實(shí)現(xiàn)裝載存儲(chǔ)所需的存儲(chǔ)器對(duì)系統(tǒng)成本有顯著的影響,所以當(dāng)存儲(chǔ)裝載時(shí)充分挖掘低分辨率的潛力比較有利。
參見(jiàn)圖4,來(lái)自裝載存儲(chǔ)414的裝載在送至相乘模塊446之前先通過(guò)空間擴(kuò)展步驟430。
為了保存從裝載存儲(chǔ)輸出的簡(jiǎn)單的收縮數(shù)據(jù)流,比較好的是對(duì)擴(kuò)展模塊進(jìn)行設(shè)計(jì),使得用于裝載存儲(chǔ)的讀出邏輯的功能獨(dú)立于后面的擴(kuò)展模塊。
為了追求最大程度的靈活性,擴(kuò)展步驟比較好的是裝備使能/旁路開(kāi)關(guān),該開(kāi)關(guān)允許裝載存儲(chǔ)的數(shù)據(jù)擴(kuò)展或者無(wú)變化地通過(guò)。
一個(gè)實(shí)現(xiàn)上述兩個(gè)設(shè)計(jì)目標(biāo)的較佳實(shí)施例就是使裝載存儲(chǔ)中的低分辨率裝載交錯(cuò)。對(duì)于這種工作方式下的一個(gè)例子,考慮一個(gè)通過(guò)備份數(shù)值實(shí)現(xiàn)的最簡(jiǎn)單的上采樣的例子和只在水平方向?qū)崿F(xiàn)這種方式的例子。隨后擴(kuò)展步驟可以被切換,從而使基于每?jī)蓚€(gè)連續(xù)輸入值的擴(kuò)展步驟在一條輸出線上輸出同樣的兩個(gè)連續(xù)值并使其他的輸出線路保持零狀態(tài),這對(duì)應(yīng)于旁路模式,或者在一條輸出線路上輸出第一輸入值的兩個(gè)連續(xù)的副本而在第二輸出線路上輸出第二數(shù)值的兩個(gè)連續(xù)副本,這對(duì)應(yīng)于使能模式。
擴(kuò)展也可以同時(shí)以沿垂直和水平方向的上采樣方式進(jìn)行,從而使得每組4個(gè)值的輸入于旁路模式下在一條輸出線上產(chǎn)生4個(gè)數(shù)值或者于使能模式下在4條輸出線路上產(chǎn)生4個(gè)數(shù)值。
在上面提及的《數(shù)字圖像歪曲》一書(shū)中可以找到給出了較為平滑的輸出并因此在圖像中引入較少的有害的人為痕跡(例如雙線性插值)的重復(fù)采樣方法。這些方法使每個(gè)輸出值基于不止一個(gè)的輸入值。這意味著擴(kuò)展模塊必須包含少量的存儲(chǔ)器,從用于基于水平上采樣的最簡(jiǎn)單的線性插值入的一個(gè)值到雙線性插入的一根掃描線。
擴(kuò)展模塊可以實(shí)現(xiàn)為使得擴(kuò)展只施加在選定的holon上。在這種情況下,一定有一個(gè)擴(kuò)展建立存儲(chǔ)426,對(duì)于每個(gè)擴(kuò)展模塊,它存儲(chǔ)在每幀之前更新的每個(gè)holon的一個(gè)比特?;谶@些比特和S域值,每個(gè)擴(kuò)展模塊隨后設(shè)定為使能或旁路模式。
為了使S域值與裝載值同步,必須根據(jù)采用了延遲模塊440的擴(kuò)展模塊中的等待時(shí)間來(lái)延遲S域。
沒(méi)有必要在所有的裝載存儲(chǔ)中實(shí)現(xiàn)擴(kuò)展模塊。為了保持流水線的同步,沒(méi)有通過(guò)擴(kuò)展模塊發(fā)送的數(shù)值必須通過(guò)延遲模塊432發(fā)送。
擴(kuò)展模塊可以是級(jí)聯(lián)方式;延遲模塊因此必須具有相應(yīng)的尺度。
編碼器可以壓縮擴(kuò)展建立。在解碼器一側(cè),必須相應(yīng)地在擴(kuò)展建立解碼器424中壓縮擴(kuò)展建立。一種可行的壓縮方法是發(fā)送與前面建立的差異并以執(zhí)行長(zhǎng)度和可變長(zhǎng)度編碼方式對(duì)差異編碼。
計(jì)分存儲(chǔ)442、相乘模塊446和相應(yīng)的延遲模塊450的操作與第一較佳實(shí)施例的相似。但是也可以作進(jìn)一步的優(yōu)化。如果是執(zhí)行長(zhǎng)度編碼的S域,則不必鎖定計(jì)分和在每個(gè)流水線時(shí)鐘脈沖內(nèi)從計(jì)分存儲(chǔ)442中提取計(jì)分。況且,由于S域值在整個(gè)執(zhí)行期間為常數(shù),所以可以鎖定計(jì)分并在每次執(zhí)行開(kāi)始時(shí)提取計(jì)分。這樣就可以允許采用更快的時(shí)鐘頻率,可能的微小代價(jià)是在每次初始化執(zhí)行時(shí)有短暫的停頓。同一原理可以應(yīng)用于流水線中大多數(shù)的后續(xù)步驟中。
編碼器可以壓縮計(jì)分。在解碼器一側(cè),必須在計(jì)分解碼器444內(nèi)相應(yīng)地解壓縮這些計(jì)分。已知的壓縮和解壓縮時(shí)間序列的方法可以用于每個(gè)計(jì)分上。這樣的方法包括差分編碼、預(yù)測(cè)編碼和子帶編碼。因此可以采用誤差隱藏方法對(duì)于差分編碼,一種隱藏方法是當(dāng)差異丟失時(shí)重復(fù)先前的計(jì)分。對(duì)于預(yù)測(cè)編碼,一種隱藏方法是當(dāng)相關(guān)器丟失時(shí)不用相關(guān)器而只用預(yù)測(cè)器。對(duì)于子帶編碼,一種方法是當(dāng)誤差系數(shù)丟失時(shí)不用誤差系數(shù)來(lái)重建數(shù)據(jù)。
一般來(lái)說(shuō)計(jì)分也可以被壓縮和解壓縮。一種方法是維持計(jì)分的雙線性模型。在H.Martens & T.Naess所著《多變量標(biāo)度》(John Wiley & Sons,Chicester 1990)一書(shū)中描述了如何形成和更新雙線性模型,它作為參考文獻(xiàn)包含在這里。代替外在地發(fā)送計(jì)分,計(jì)分作為元裝載、元計(jì)分和余量被再次建模。它們被量化,并采用執(zhí)行長(zhǎng)度編碼和可變比特長(zhǎng)度編碼之類(lèi)的方法來(lái)編碼。
另一種可能性是在誤差隱藏中采用計(jì)分的雙線性建模。在解碼器一側(cè),保持計(jì)分的雙線性模型。當(dāng)計(jì)分?jǐn)?shù)據(jù)是錯(cuò)誤的時(shí)候,它們被賦予權(quán)重零以更新模型。雙線性模型可以用來(lái)僅僅通過(guò)將元計(jì)分與元裝載相乘來(lái)重建丟失數(shù)據(jù)的數(shù)值。
對(duì)于有些應(yīng)用,例如以極高的壓縮率進(jìn)行壓縮,帶寬可能不夠,因而無(wú)法表示相機(jī)噪聲或其他表觀隨機(jī)模式。在其他需要利用計(jì)算機(jī)圖形方法產(chǎn)生模型的應(yīng)用場(chǎng)合下,如模擬器或游戲通過(guò)加入相機(jī)噪聲可以改善主觀的圖形質(zhì)量。而且,由于在裝載發(fā)送中或幀緩沖器之后進(jìn)行了量化,所以可能需要抖動(dòng)處理。在AnilK.Jain的《數(shù)值圖像處理基礎(chǔ)》(Prentice Hall,1989)一書(shū)中可以找到將隨機(jī)噪聲用于抖動(dòng)的方法,該書(shū)作為參考文獻(xiàn)包含在這里。
一個(gè)實(shí)現(xiàn)前面文章段內(nèi)給定目標(biāo)的較佳實(shí)施例是采用紋理產(chǎn)生器模塊455。它根據(jù)來(lái)自隨機(jī)發(fā)生器457的過(guò)濾隨機(jī)數(shù)產(chǎn)生紋理。在上面提及的《數(shù)值圖像處理基礎(chǔ)》中可以找到如何合成紋理的例子。隨機(jī)數(shù)可以以流水線的速率產(chǎn)生隨機(jī)數(shù)。濾波系數(shù)和紋理特征(例如亮度)可以由專(zhuān)用于每個(gè)holon并存儲(chǔ)在每幀前更新的紋理建立存儲(chǔ)452中的數(shù)值控制。
而且還可以在空間內(nèi)更細(xì)致地控制濾波系數(shù)。通過(guò)將流水線通道域紋理發(fā)生器連接,可以逐個(gè)像素地控制紋理。
與擴(kuò)展建立中所用的使能/旁路比特類(lèi)似,它也可以存儲(chǔ)在紋理建立計(jì)分內(nèi)并使每個(gè)holon的紋理處于使能或旁路狀態(tài)。因此流水線管道和裝載存儲(chǔ)對(duì)于紋理控制和其他信息類(lèi)型可以互換使用。
編碼器可以壓縮紋理建立。在編碼器一側(cè),必須在紋理建立解碼器454中相應(yīng)地解壓縮它們。一種可能的方法是發(fā)送域前面建立的差異并采用執(zhí)行長(zhǎng)度和可變比特長(zhǎng)度編碼的方式進(jìn)行編碼。
沒(méi)有通過(guò)紋理發(fā)生器的數(shù)據(jù)必須相應(yīng)地延遲,這里由延遲模塊456作用。
在總數(shù)有限的微笑和臉色因子內(nèi),因子在微笑和臉色域之間的優(yōu)化分配一般依賴(lài)于有待建模的視頻序列。有些序列包含了大量的臉色性質(zhì)的信息和少量的微笑性質(zhì)的信息,其中可以優(yōu)化為包含大量的臉色因子。其他的序列包含大量的運(yùn)動(dòng)。此時(shí)它可以優(yōu)化為包含大量的微笑因子。在存在快速而復(fù)雜的運(yùn)動(dòng)時(shí),肉眼的心理視覺(jué)空間分辨率較差,所以如果存在臉色因子,也可以以低分辨率存儲(chǔ)。
可以選取數(shù)量更少的裝載存儲(chǔ)。但是這需要改發(fā)裝載存儲(chǔ)的內(nèi)容,從而對(duì)于一移動(dòng)模塊492它們結(jié)束于校正域。為此采用了路由器。這可以像縱橫制交換機(jī)一樣來(lái)實(shí)現(xiàn),具有將任何實(shí)現(xiàn)為能夠?qū)⑷魏屋斎脒B接至任何輸出的能力。
在最簡(jiǎn)單的實(shí)施例中,路由器只相對(duì)每幀建立,從而使微笑和臉色因子數(shù)之間的分布對(duì)于所有的holon為常數(shù)。
在更為先進(jìn)的實(shí)施例中,路由器可以包含每個(gè)holon的建立。該建立存儲(chǔ)于在每幀前更新的路由器建立存儲(chǔ)462中。路由器建立存儲(chǔ)組織為每個(gè)holon一行和每個(gè)來(lái)自路由器的輸出通道一列。存儲(chǔ)在路由器建立存儲(chǔ)中的每個(gè)數(shù)定義了哪一根輸入流水線信道與輸出信道相連。例如,如果在第二行第三列中的數(shù)為4,這意味著每次處理屬于holon2的單元,輸出信道3的輸出應(yīng)該從輸入信道4取值。
一個(gè)較佳實(shí)施例是將路由器放在擴(kuò)展模塊430之后但相乘模塊446之前,并且還使路由器具備將任何輸入與不止一個(gè)輸出相連的能力。這樣的優(yōu)點(diǎn)是使一個(gè)裝載存儲(chǔ)能夠影響不止一個(gè)輸出圖像的域,其對(duì)每個(gè)域作用的大小是可以控制的。例如參見(jiàn)圖2,考慮到在RGB顏色空間內(nèi)創(chuàng)建彩色圖像的情形,并且還假定臉色因子212不僅影響紅色信道,從而使臉色變紅,而且使同一塊面積的綠色略微增加而藍(lán)色略微減少。在這種情況下,它可以表示為一個(gè)裝載,但是帶有紅、綠、藍(lán)顏色信道的計(jì)分。這種機(jī)構(gòu)可以通過(guò)使裝載存儲(chǔ)中的一個(gè)裝載路經(jīng)三條不同的流水線信道實(shí)現(xiàn),從而使后面不同的計(jì)分與各值相乘。
也可以在微笑與臉色之間包含類(lèi)似的鏈接。假定當(dāng)拍攝圖2序列時(shí)光源放于天花板。還假設(shè)人保持向前傾,對(duì)應(yīng)微笑因子朝下。由于光入射角度的變化和對(duì)應(yīng)變暗的臉色因子的陰影,臉色將變暗。因此一個(gè)裝載可以同時(shí)用于微笑和臉色。
另一個(gè)比較好的實(shí)施例是將路由器463放置在紋理模塊455之后而求和微笑模塊474與求和臉色模塊476之前。這樣的優(yōu)點(diǎn)是使紋理能在微笑域與臉色域之間切換。臉色域內(nèi)紋理的例子已經(jīng)給出。對(duì)于微笑域上的例子,假定已經(jīng)拍攝下了雪花。每片雪花都是可見(jiàn)的,并且移動(dòng)得很慢,所以至少在短時(shí)間內(nèi)可以跟隨每片雪花,但是它的路徑是那樣的復(fù)雜以致無(wú)法在給定的壓縮比限制內(nèi)用編碼比特流內(nèi)表示每片雪花的路徑。通過(guò)在運(yùn)動(dòng)域內(nèi)采用紋理成份可以重建飛舞的雪花的形象。
編碼器可以壓縮路由器建立。在解碼器一側(cè),它們必須在路由器建立解碼器464內(nèi)相應(yīng)地解壓縮。一種可能的方法是發(fā)送與前面建立的差異,并采用執(zhí)行長(zhǎng)度和可變比特長(zhǎng)度編碼對(duì)差異進(jìn)行編碼。
可以確定的是并不是所有的因子都需要選路由的能力。例如,可以有這樣一個(gè)系統(tǒng),對(duì)于顏色通道r,g,b至少有一個(gè)臉色因子。另一個(gè)例子是對(duì)于每個(gè)維度v和h總是包含至少一個(gè)微笑因子,如圖4所示,作為直接從相乘模塊446到求和微笑模塊474的信號(hào)459,在延遲模塊458內(nèi)被適當(dāng)延遲以處理路由器463的等待時(shí)間。
在第二較佳實(shí)施例中,與第一實(shí)施例相反,圖4表示了在環(huán)路v,h、模塊472與S域存儲(chǔ)420之間的連接。這針對(duì)S域和相應(yīng)的裝載并執(zhí)行長(zhǎng)度編碼的情況。參考位置地址不再由環(huán)繞v和h從每幀開(kāi)始時(shí)初始化為0的數(shù)值處開(kāi)始尋找。而且環(huán)路模塊必須在每次執(zhí)行開(kāi)始時(shí)將坐標(biāo)正確地初始化為圖5b的v=532,h=534,與圖5c的551、552或者圖5c的592、594相似。
發(fā)送的裝載在數(shù)值和分辨率上必須定量化,并且相乘446和求和474、476、478模塊具有有限的精度。為了使定量化的可能性最大(它給出了較好的壓縮),并且使可能的精度最小(這只需簡(jiǎn)單的硬件即可實(shí)現(xiàn)相乘和加法模塊),所有的操作必須在合適的顏色空間內(nèi)進(jìn)行。上面提及的C.I.E均勻顏色空間(在《圖像處理基礎(chǔ)》中定義)就各方面來(lái)說(shuō)都是較好的顏色空間,但是它需要非線性變換。其他的顏色空間,例如YUV,性能稍差但實(shí)現(xiàn)更為簡(jiǎn)單。
如果幀或域緩沖器497、498必須運(yùn)行于RGB內(nèi)并且在運(yùn)動(dòng)模塊492與幀或域緩沖器之間有雙向通信,則放置在流水線上運(yùn)動(dòng)模塊之后的顏色空間變換器必須能夠?qū)\(yùn)動(dòng)模塊492與幀或域緩沖器之間的路徑都進(jìn)行變換。為了避免這一點(diǎn),并且只用一路顏色空間變換器,一個(gè)較佳實(shí)施例是將顏色變換器緊接著流水線上的運(yùn)動(dòng)模塊放置。在圖4中,這是以YUV2RGB模塊487作為例子,它從YUV顏色空間轉(zhuǎn)換為RGB顏色空間。
圖7示出了YUV2RGB模塊700的內(nèi)部工作情況。模塊700接收由y710,u712和v714組成的彩色信號(hào)作為輸入。每個(gè)輸出r740,g742和b744由輸入的權(quán)重之和構(gòu)成。權(quán)重可以利用查尋表720(簡(jiǎn)寫(xiě)為L(zhǎng)UT)得到。利用加法器730和734可以求和,并且如果需要可以采用同步、延遲電路732。
在第一較佳實(shí)施例中,運(yùn)動(dòng)模塊360采用非常簡(jiǎn)單的策略來(lái)確定當(dāng)一個(gè)以上像素結(jié)束于幀緩沖器或域緩沖器的某個(gè)位置時(shí)占優(yōu)勢(shì)的像素,即,首先--獲得或最后--獲得。
為了根據(jù)自由地對(duì)holon排序,可以采用Z緩沖算法。上面提及的《交互計(jì)算機(jī)圖像原理》一書(shū)描述了如何采用名為“深度緩沖”來(lái)實(shí)現(xiàn)算法。在一個(gè)較佳實(shí)施例中,可以通過(guò)向每個(gè)holon分配深度或Z值來(lái)實(shí)現(xiàn)。深度的方向可以任意選擇從而使距離觀察者越近,則數(shù)值較大。Z存儲(chǔ)741在每幀前更新。這樣的組織形式使得可以利用holon號(hào)作為指數(shù)來(lái)讀出Z值。對(duì)于每個(gè)流水線時(shí)鐘脈沖,或者每次對(duì)執(zhí)行長(zhǎng)度編碼S域進(jìn)行執(zhí)行時(shí),將指數(shù)用作S域數(shù)值。由此找到的Z域值送往運(yùn)動(dòng)模塊492,在那里用來(lái)確定對(duì)應(yīng)的像素是否可見(jiàn)。
編碼器可以壓縮Z值。在解碼器一側(cè),它們必須在Z解碼器468內(nèi)相應(yīng)地解壓縮。一種可能的方法是發(fā)送與前面建立的差異,并采用執(zhí)行長(zhǎng)度和可變比特長(zhǎng)度編碼來(lái)對(duì)這種差異編碼。
代之以對(duì)整個(gè)holon將Z值取為常數(shù),可以對(duì)裝載存儲(chǔ)中每個(gè)像素的Z值單獨(dú)賦值。為此采用裝載存儲(chǔ)。利用相乘模塊446,可以對(duì)域進(jìn)行標(biāo)度。由于這對(duì)應(yīng)于地址分量的變化即深度地址分量,所以這作為微笑的Z分量定義。
與微笑的垂直和水平分量相同,深度分量Z也包含不止一個(gè)因子。在這種情況下求和微笑模塊474必須利用三個(gè)加法器予以設(shè)計(jì),每個(gè)維度一個(gè)。
對(duì)于多因子Z,可以使第一因子成為來(lái)自Z存儲(chǔ)471中的逐個(gè)holon常數(shù)值。
由于不同運(yùn)動(dòng)在很大范圍內(nèi)可以表示,所以利用微笑因子的運(yùn)動(dòng)補(bǔ)償是一個(gè)非常有力的機(jī)制。但是由于微笑裝載必須發(fā)送和存儲(chǔ),所以它也是非常昂貴的機(jī)制。許多運(yùn)動(dòng)具有簡(jiǎn)單得多的特性,因此可以更為緊湊地描述。表示運(yùn)動(dòng)的一種技術(shù)是采用仿射變換。在上面提及的《交互計(jì)算機(jī)圖像原理》一書(shū)中可以找到對(duì)兩維和三維仿射變換的描述。
由于仿射變換可以用于建模剛性物體,所以在本專(zhuān)利中它可以稱(chēng)為點(diǎn)頭變換。相應(yīng)的動(dòng)詞“點(diǎn)頭”表示應(yīng)用仿射變換。
一個(gè)較佳實(shí)施例是使點(diǎn)頭變換在兩維下進(jìn)行。在這種情況下,每個(gè)點(diǎn)頭坐標(biāo)等于經(jīng)過(guò)3×3矩陣變換后的舊坐標(biāo)的舊的v和h分量。
另一個(gè)較佳實(shí)施例是使點(diǎn)頭變換在三維下進(jìn)行。在這種情況下,還采用每個(gè)像素的Z值。
點(diǎn)頭機(jī)構(gòu)可以與微笑機(jī)構(gòu)結(jié)合起來(lái)。一個(gè)較佳實(shí)施例是形成進(jìn)入運(yùn)動(dòng)模塊492的坐標(biāo)作為微笑和點(diǎn)頭之和。這可以通過(guò)按照?qǐng)D3形成微笑位移而同時(shí)從環(huán)路器到線點(diǎn)頭模塊發(fā)送v,h坐標(biāo)來(lái)實(shí)現(xiàn)。新的坐標(biāo)等于微笑和點(diǎn)頭貢獻(xiàn)之和。
另一個(gè)較佳實(shí)施例是如圖4所示使微笑坐標(biāo)點(diǎn)頭。這里,來(lái)自環(huán)路模塊472的v,h坐標(biāo)和來(lái)自微笑因子的坐標(biāo)被求和微笑模塊474用來(lái)產(chǎn)生微笑坐標(biāo)。最終的坐標(biāo)由點(diǎn)頭模塊486進(jìn)一步點(diǎn)頭。施加的點(diǎn)頭矩陣逐個(gè)holon地給出并存儲(chǔ)在點(diǎn)頭存儲(chǔ)482中,并且對(duì)于每個(gè)流水線時(shí)鐘脈沖,或者對(duì)于每次執(zhí)行的開(kāi)始,S域值被用來(lái)使點(diǎn)頭存儲(chǔ)482指數(shù)化從而將所需的點(diǎn)頭矩陣發(fā)送給點(diǎn)頭模塊。
圖4還示出了三維點(diǎn)頭的應(yīng)用,其中不僅采用了坐標(biāo)分量v和h,而且還采用了深度分量Z。在圖8中可以找到點(diǎn)頭模塊486更為詳細(xì)的附圖。點(diǎn)頭模塊800將微笑坐標(biāo)vSmi810,hSmi812和zSmi814視為輸入,并且給出微笑和點(diǎn)頭坐標(biāo)vNod840,hNod842和zNod844。
該表達(dá)式為VNodHNodZNod=NvvNvhNvzNvtNhvNhhNhzNhtNzvNzhNzzNzt*VSmiHSmiZSmi+NvtNhtNhz]]>vNod840通過(guò)在相乘模塊830中將Nvv820與vSmi810相乘,在相乘模塊832中將Nv822與Smi812相乘和在相乘模塊84中將NvZ824與zSmi814相乘并借助Nvt826的合適延遲834對(duì)這三個(gè)中間結(jié)果在加法器836、838、840中求和。
可以使IDLE編碼器產(chǎn)生可以按照不同幀分辨率解碼的比特流,但是仍然采用一組裝載和計(jì)分。
這樣的應(yīng)用可以是產(chǎn)生為適合在歐洲使用的基于PAL的電視機(jī)所用的視頻信號(hào),在美國(guó)使用的基于NTSC的電視機(jī)所用的視頻信號(hào)以及個(gè)人計(jì)算機(jī)所用的視頻信號(hào)。
另一種用途是在解碼時(shí)取景和縮放圖像的選定部分。一個(gè)特殊的例子是當(dāng)發(fā)送或存儲(chǔ)寬/高之比為16∶9的電影而必須在4∶3的屏幕上收看時(shí)。傳統(tǒng)的做法不外乎只用4∶3屏幕的中央部分(從而使屏幕的頂部和底部留下黑邊)或者選取16∶9圖像的中央部分(這意味著邊上的內(nèi)容總是會(huì)被丟失)。一種更好的解決辦法是對(duì)16∶9圖像中最感興趣的內(nèi)容進(jìn)行跟蹤,將該信息嵌入發(fā)生的比特流,隨后選取這部分顯示在4∶3的屏幕上。
這可以利用點(diǎn)頭來(lái)做到。一種方法是對(duì)每種解碼格式在比特流內(nèi)嵌入一組點(diǎn)頭矩陣,并且使解碼器選擇并使用合適的點(diǎn)頭矩陣。另一種方法是按照規(guī)定的標(biāo)準(zhǔn)來(lái)編碼,隨后使解碼器在點(diǎn)頭矩陣施加到RefEl之前對(duì)它們進(jìn)行修改。這可以通過(guò)將每個(gè)點(diǎn)頭矩陣與包含的矩陣相乘來(lái)做到,參見(jiàn)《交互計(jì)算機(jī)圖像原理》一書(shū)。該方法的優(yōu)點(diǎn)是只需修改點(diǎn)頭矩陣。這是一個(gè)對(duì)每格holon每幀一次的操作,如果控制處理器404以通用微處理器實(shí)現(xiàn)并能夠有余暇完成這種轉(zhuǎn)換,則該方法除了在點(diǎn)頭存儲(chǔ)482與控制處理器之間需要通信路徑以外無(wú)需其他硬件。
這也可以作為分離的步驟完成。在圖4中,適應(yīng)格式模塊491被指示為作用在來(lái)自點(diǎn)頭模塊486的坐標(biāo)上。圖10示出了該模塊更為詳細(xì)的示意圖。RefEl的v1010,h1012和z1014每個(gè)流水線時(shí)鐘脈沖到達(dá)。垂直偏離vOffset1020在加法器1030內(nèi)與對(duì)應(yīng)圖像垂直平移的v坐標(biāo)相加。垂直刻度vScale1022隨后在相乘模塊1032中與對(duì)應(yīng)圖像縮放或尺度變換的先前操作的結(jié)果相乘。該結(jié)果給出了當(dāng)前RefEl最后的v坐標(biāo)1050。對(duì)于水平分量,采用加法器1034和相乘器1036處理水平偏離hOffset1024和水平刻度hScale1026,產(chǎn)生當(dāng)前RefEl的最終h坐標(biāo)1052,從而完成了顯示的操作。z分量1014必須相應(yīng)地在延遲模塊1038中延遲,從而使它的輸出1054的時(shí)序與其他分量一致。該方法的優(yōu)點(diǎn)是在控制處理器處理能力不足時(shí)能更為簡(jiǎn)單地實(shí)現(xiàn)。進(jìn)一步的優(yōu)點(diǎn)是所用系統(tǒng)可以不用圖4的點(diǎn)頭模塊486??梢钥吹?,雖然沒(méi)有實(shí)現(xiàn)所有自由度的仿射變換,但是適應(yīng)格式模塊491實(shí)現(xiàn)了仿射變換。
由于微笑、點(diǎn)頭和適應(yīng)格式模塊都只是運(yùn)行在代替作為中間結(jié)果的產(chǎn)生圖像或像素的地址上,所以因重新取樣引起的分辨率損失最小。
編碼器可以壓縮點(diǎn)頭矩陣。在解碼器一邊,它們必須相應(yīng)地在點(diǎn)頭矩陣解碼器481中解壓縮。一個(gè)可能的方法是計(jì)算單位矩陣的差異,予以定量化,隨后采用執(zhí)行長(zhǎng)度和可變比特長(zhǎng)度編碼對(duì)該差異進(jìn)行編碼。
用于3D點(diǎn)頭的解碼器可以向上兼容用于2D點(diǎn)頭的解碼器。這可以通過(guò)將零插入點(diǎn)頭矩陣因而忽略了Z值而完成。
在前面的段落中,假定當(dāng)像素放置在已經(jīng)計(jì)算的像素前面,新的像素完全覆蓋舊的像素。該假定可以放寬;另一種可能性是新的像素只是部分覆蓋舊的像素。在WO95/08240中,新像素對(duì)舊像素影響的程度稱(chēng)為Prob。其他的來(lái)源緊湊稱(chēng)為“alpha鑰匙”或“不透明”。Prob為1使得新像素的數(shù)值代替了舊像素,Prob為0使得舊像素占優(yōu),而中間的數(shù)值產(chǎn)生兩個(gè)數(shù)值的混合。
Prob值可以存儲(chǔ)在裝載存儲(chǔ)內(nèi)。這組數(shù)值稱(chēng)為Prob裝載。所以先前定義的操作可以應(yīng)用于Prob對(duì)于每個(gè)holon它可以單獨(dú)給出,它可以以低分辨率存儲(chǔ)并且隨后在擴(kuò)展模塊430內(nèi)擴(kuò)展,它可以包含一個(gè)與計(jì)分存儲(chǔ)442相關(guān)的計(jì)分,它可以包含由紋理模塊455施加的紋理,以及它可以由路由模塊463繞道訪問(wèn)。它還可以作為幾個(gè)Prob因子的貢獻(xiàn)被計(jì)算,其中需要求和Prob模塊478。
采用Prob的一種方式是使holon在邊緣混合。這有時(shí)被稱(chēng)為邊緣反混淆。以下的原理是,在兩個(gè)物體的邊界處,照相機(jī)一般無(wú)法將一個(gè)像素作為單單一個(gè)物體的亮度樣本捕捉和將鄰近的像素作為單單其他物體的亮度樣本捕捉。對(duì)于邊界上至少一個(gè)像素,可以產(chǎn)生混合。這可以采用Prob因子來(lái)模擬。由于S域被用來(lái)表示holon的邊界,所以它通常可以對(duì)物體的邊界作出較好的估計(jì)。因此可以產(chǎn)生表示S域過(guò)濾的holon的混合的Prob的較好估計(jì)。該結(jié)果隨后用作一個(gè)最終Prob因子。在圖4中,這表示為S2Prob模塊466,能夠從S域轉(zhuǎn)換到合成Prob裝載。
通過(guò)對(duì)S域?yàn)V波就這樣做了。作為濾波器參數(shù)的濾波系數(shù),稱(chēng)為S2Prob建立,由編碼器提供,存儲(chǔ)在S2Prob建立存儲(chǔ)465內(nèi)。S2Prob建立可以以壓縮的格式發(fā)送;一種可能的方法是對(duì)于每幀只發(fā)送與前面幀的差異。因此S2Prob建立必須在S2Prob建立解碼器484內(nèi)解壓縮。
圖11示出了運(yùn)動(dòng)模塊492的基本任務(wù)作為參考位置的本地坐標(biāo)1110中圖像給出的holon按照微笑和點(diǎn)頭參數(shù)運(yùn)動(dòng)到幀坐標(biāo)系1130的最終幀位置1120。參考位置中給出的RefEl 1140不必對(duì)應(yīng)最終幀內(nèi)任何特定的像素;如果放大,則可能部分或全部覆蓋許多像素,而如果是縮小,則有可能覆蓋一個(gè)像素的一部分。硬度模塊的基本任務(wù)是從參考位置坐標(biāo)系變換到幀坐標(biāo)系從而使參考位置圖像的內(nèi)容一樣在最終的幀內(nèi)表示出來(lái)。
圖12a示出了在兩條相繼掃描線1210、1214和兩列相繼列1212、1216上的四個(gè)相鄰RefEl1220、1222、1224、1226的詳細(xì)情況。根據(jù)微笑因子以及可能的點(diǎn)頭因子,已經(jīng)計(jì)算出這些RefEl的運(yùn)動(dòng)矢量1230、1232、1234、1236。運(yùn)動(dòng)矢量具有亞像素的精度。RefEl的亮度值從臉色因子的聚集貢獻(xiàn)中獲知。
圖12b示出了在該實(shí)施例中所用的原理。示出的是由掃描線1260和列1262組成的最終的幀坐標(biāo)系。RefEl的運(yùn)動(dòng)位置1280、1282、1284、1286處的亮度值是已知的,但是一般的運(yùn)動(dòng)位置通常并不精確地對(duì)應(yīng)于最終幀內(nèi)像素的位置。但是,它們可以用來(lái)在那些由四邊形1270定義的區(qū)域內(nèi)的像素位置1290、1292之間用已知的作為頂角的數(shù)值來(lái)插值。
圖13示出了一個(gè)較佳實(shí)施例。這里,圖12的四邊形1270被分隔為兩個(gè)三角形1326、1328??梢园凑展潭ǖ囊?guī)則來(lái)分隔;一種方法是使第一三角形1326由參考位置為四個(gè)相鄰RefEl中的左上1320、右上1322和左下1324的RefEl構(gòu)成,而使第二三角形由參考位置為四個(gè)相鄰RefEl中的右上1322、左下1324和右下1327的RefEl構(gòu)成。每個(gè)三角形可以分開(kāi)計(jì)算。每條通過(guò)三角形1326的掃描線1312、1314現(xiàn)在被分別處理。對(duì)于每條掃描線,根據(jù)掃描線1312的垂直指數(shù)上的已知數(shù)值對(duì)1320、1324、1322、1324之間的線性插值,計(jì)算了掃描線1312和三角形1326之間的兩個(gè)交點(diǎn)1332、1334的水平坐標(biāo)。根據(jù)通用的線性插值,可以計(jì)算交點(diǎn)1332、1334的亮度值。對(duì)于每個(gè)介于兩個(gè)亞像素精度的水平坐標(biāo)之間的像素,可以通過(guò)像素水平位置上的兩個(gè)交點(diǎn)1332、1334之間的線性插值找到亮度值。該亮度值是來(lái)自運(yùn)動(dòng)模塊的輸出。
圖14示出了運(yùn)動(dòng)模塊1400基于該原理的實(shí)現(xiàn)。為簡(jiǎn)化起見(jiàn),來(lái)自前面的流水線步驟的輸入r,g,b,Prob,v,h,z和S值表示為數(shù)值束1410。數(shù)值以參考位置掃描的次序準(zhǔn)備,所以為了在每個(gè)運(yùn)動(dòng)模塊時(shí)鐘脈沖處獲得圖12和13指示的4個(gè)相鄰像素,輸入的數(shù)值1410延遲1412、1414、1416。
對(duì)于圖5a所示S域的簡(jiǎn)單布局,延遲對(duì)應(yīng)于參考位置掃描線的長(zhǎng)度。對(duì)于圖5b,5c,5d和5e指示的S域執(zhí)行長(zhǎng)度編碼表示,必須考慮執(zhí)行長(zhǎng)度。
觸發(fā)脈沖1418被用來(lái)控制開(kāi)關(guān)1420從而產(chǎn)生由左上、右上和左下RefEl組成的第一三角形,以及由右上、左下和右下RefEl組成的三角形。
比較器1430被用來(lái)檢查三角形的三個(gè)RefEl的S域值。如果這些數(shù)值不相同,這意味著RefEl不再屬于同一holon。在這種情況下,像素之間不發(fā)生插值,并且設(shè)定信號(hào)1432指示對(duì)于當(dāng)前的三角形不必再作處理并進(jìn)入下一數(shù)值。
為了簡(jiǎn)化后面的處理,按照它們?cè)谂判蚰K1440中垂直位置存儲(chǔ)三個(gè)RefEl。這產(chǎn)生了上RefEl1442、中RefEl1444和下RefEl1446。在簡(jiǎn)并情況下,兩個(gè)以上的RefEl具有相同的垂直位置,它們之間不必排序。
通過(guò)使上RefEl的垂直坐標(biāo)向天花板模塊1460中較大數(shù)值靠攏,產(chǎn)生vUp,以及使低RefEl的垂直坐標(biāo)向地板模塊1462中較小數(shù)值靠攏,產(chǎn)生vLow,獲得了穿過(guò)三角形的所有以掃描線的范圍。由于運(yùn)動(dòng)域可以使得產(chǎn)生幀外的數(shù)值,所以vUp和vLow必須修剪1463。如果vUp為負(fù)則修剪模塊1463以零代替vUp而如果vLow大于nv-1則用該值代替。
循環(huán)v模塊1464現(xiàn)在可以通過(guò)幀掃描線從vUp到vLow循環(huán)。
圖15示出了循環(huán)模塊。它將從第一數(shù)值v0 1510向第二數(shù)值v1 1520循環(huán),在啟動(dòng)脈沖1530處開(kāi)始。數(shù)值在每個(gè)運(yùn)動(dòng)時(shí)鐘脈沖來(lái)到時(shí)在增量器1560中增加。數(shù)值將被反饋1570。這將持續(xù)到滿足最終的測(cè)試1580。隨后輸出完成的信號(hào)1590。
回到圖14,現(xiàn)在已知的是當(dāng)前的掃描線穿過(guò)上下RefEl之間的三角形端,所以可以由插值模塊interp1474在該交點(diǎn)處對(duì)h,z,r,g,b和Prob插值。通過(guò)檢查相對(duì)比較器1466中存入的h值的中RefEl的v坐標(biāo),可以發(fā)現(xiàn)余下的三角形交點(diǎn)是否在余下的三角形上下兩邊上。開(kāi)關(guān)1470采用比較器的輸出來(lái)提取上下RefEl的數(shù)值,它隨后由另一個(gè)intrp1472將其與中RefEl的數(shù)值一起使用以進(jìn)行插值。
圖16a示出了用于插值模塊1474的數(shù)值原理。在該實(shí)例中,幾個(gè)應(yīng)變量r,g,b依賴(lài)于獨(dú)立變量v而變化。根據(jù)獨(dú)立變量的中間值vi,對(duì)于每個(gè)獨(dú)立變量將找到插值。這由獨(dú)立變量v的坐標(biāo)系1610和每個(gè)應(yīng)變量r,g,b的坐標(biāo)系1620、1630、1640表示。中間的獨(dú)立值vi被用于應(yīng)變量值ri,gi,bi。
圖16b給出了硬件。插值模塊1650將端點(diǎn)v0和v1的獨(dú)立變量以及中間值vi視為輸入。利用兩個(gè)減法器1660、1662以及一個(gè)除法器1664實(shí)現(xiàn)的表達(dá)式權(quán)重=(vi-v0)/(v1-v0)給出了每個(gè)應(yīng)變量的第二端點(diǎn)的權(quán)重。對(duì)于每個(gè)應(yīng)變量,例如r,該權(quán)重被用于由減法器1672、乘法器1672和加法器1674實(shí)現(xiàn)的表達(dá)式ri=(r1-r0)*權(quán)重+r0以形成插值。
回過(guò)來(lái)參見(jiàn)圖14,對(duì)于隨后的處理,知道中間的RefEl偏向上RefEl和下RefEl之間的三角形邊的右邊還是左邊是有用的。這通過(guò)在interp1450中將h數(shù)值插入基于中間RefEl的v值的上RefEl和下RefEl之間的直線上,并將h值與RefEl的實(shí)際h值比較來(lái)進(jìn)行尋找。如果插值h大于由比較器1452確定的中間RefEl的h值,則中間值移向上RefEl和下RefEl之間直線的右側(cè),并且在這種情況下三角形兩個(gè)交點(diǎn)之間的數(shù)值在交換模塊1476中交換從而使得h值后面的循環(huán)可以以已知的次序發(fā)生,這里選擇的是增加數(shù)值,對(duì)應(yīng)于從左向右產(chǎn)生像素。
現(xiàn)在可以產(chǎn)生沿著掃描線的像素。首先由循環(huán)模塊1480、1482將最左邊的h值向右邊移動(dòng)一個(gè)像素位置而最右邊的h值向左邊移動(dòng)一個(gè)像素位置。這些數(shù)值隨后在修剪模塊1483中根據(jù)幀的尺寸進(jìn)行修剪,小于0的h值被0代替而大于最右邊像素的指數(shù)的右邊的h值被指數(shù)代替。
循環(huán)h模塊1484現(xiàn)在可以在這些h值上循環(huán)。根據(jù)這些h值,r,g,b,z,Prob的數(shù)值可以在插值模塊1486內(nèi)插值。
來(lái)自v和h循環(huán)器1464、1484的v和h數(shù)值現(xiàn)在可以在VH2Adr模塊1490中用來(lái)計(jì)算當(dāng)前像素的幀地址。對(duì)于兩者的幀緩沖器掃描線長(zhǎng)度,通過(guò)比特串聯(lián)可以做到這一點(diǎn);否則可以采用諸如v*nh+v的表達(dá)式。
隨后放置模塊1492利用產(chǎn)生的地址1495更新r,g,b值1497,將像素值放入圖像中。
圖17示出了標(biāo)號(hào)為1700的放置模塊1492更為詳細(xì)的示意圖。新像素的地址1710、Z1720、Prob1730、r1740、g1750和g1760的數(shù)值作為輸入給出。所需的動(dòng)作是查尋在該地址上任何前面像素的Z值,并且如果前面沒(méi)有像素或者如果該像素位于最前面,則像素只是按照Prob值進(jìn)行更新。
模塊的功能如下地址1710用來(lái)從Z緩沖器496內(nèi)讀取數(shù)值,并且返回舊的Z值z(mì)Old1722。zOld與新的Z值z(mì)New1720進(jìn)行比較,并且如果zNew大于zOld,則寫(xiě)脈沖1726送往Z緩沖器和幀緩沖器。zNew1728被寫(xiě)入Z緩沖器。
新的亮度值被寫(xiě)入,例如通過(guò)在將紅色1749的最終混合值寫(xiě)回之前,首先在減法模塊1742中計(jì)算舊的紅色數(shù)值rOld1741與新的紅色數(shù)值rNew1740紅色分量的差值,在乘法器1743中將該差值與Prob值1730相乘以尋找所需的變換量,以及在加法器1745中將這種變化加入rOld,在延遲模塊1744中適當(dāng)?shù)匮舆t以在減法模塊1742和乘法器1743中處理等待時(shí)間,從而尋找到紅色分量的數(shù)值。
在上面,所有的域都首先在掃描線與三角形之間的每個(gè)交點(diǎn)處插值并且在隨后沿該掃描線的每個(gè)像素位置上進(jìn)行。另一個(gè)較佳實(shí)施例是將幀內(nèi)的像素位置映射回參考位置,并且隨后根據(jù)參考位置的數(shù)值和距離進(jìn)行插值。圖13b示出了該原理。該實(shí)例與圖13a相同。圖13a中的移動(dòng)RefEl1320、1322、1324之間的運(yùn)動(dòng)三角形1326與圖13b中運(yùn)動(dòng)前同一RefEl1370、1372、1374之間的參考位置三角形對(duì)應(yīng)。三角形1326與掃描線1312之間最左邊的交點(diǎn)1332可以映射至對(duì)應(yīng)的點(diǎn)1380,而最右邊的交點(diǎn)1334同樣可以映射至對(duì)應(yīng)的點(diǎn)1382。根據(jù)這些點(diǎn),像素1330可以映射回對(duì)應(yīng)的點(diǎn)1390。一旦已知該點(diǎn)1390的坐標(biāo),它們可以用來(lái)對(duì)每個(gè)所需的域,例如r,g,b,Z,Prob進(jìn)行插值,并且這些插值將從運(yùn)動(dòng)模塊作為所需像素1330的數(shù)值輸出。
對(duì)于這種硬件的實(shí)現(xiàn),參見(jiàn)圖19,它示出了運(yùn)動(dòng)模塊1900的結(jié)構(gòu)。
控制處理器1905控制著電路的時(shí)序和坐標(biāo)。它與各個(gè)模塊的連接沒(méi)有示出。
RefEl的輸入值v,h,z,s,r,g,b,Prob作為總線1910示出。利用時(shí)間延遲,RefEl緩沖器1912產(chǎn)生了對(duì)應(yīng)四邊形的4個(gè)RefEl1920,1921,1922,1923。
對(duì)于每個(gè)RefEl提供了vFract和hFract1926的數(shù)值。
切換1930控制著開(kāi)關(guān)1932從而產(chǎn)生左上和右下三角形。
三角形中RefEl的S域值由比較器1940檢查,如果數(shù)值是不相同的,即如果它們不屬于一個(gè)holon,則發(fā)送下一個(gè)信號(hào)以指示處理下一個(gè)三角形。
在排序模塊1934中利用它們的v值對(duì)RefEl進(jìn)行排序。在排序結(jié)束后,就知道了哪一個(gè)是上1937,中1938和低1939RefEl,從而使得它們的次序不會(huì)與最終幀的掃描次序沖突。
上RefEl的v坐標(biāo)在天花板模塊1950中向下一掃描線循環(huán),并且下RefEl的v坐標(biāo)在地板模塊1952中向前一掃描線循環(huán)。這些數(shù)值都根據(jù)幀的實(shí)際大小在兩個(gè)修剪模塊1951、1953中修剪。循環(huán)模塊1954從兩個(gè)數(shù)值的第一個(gè)向第二個(gè)循環(huán),產(chǎn)生當(dāng)前的v值。
比較器1960檢查當(dāng)前的v值是否大于中點(diǎn)的v值。檢查結(jié)果結(jié)構(gòu)用來(lái)控制選擇上或下RefEl的開(kāi)關(guān)1962,從而使interp模塊1964可以將上或下RefEl與中間的RefEl連用,進(jìn)而在上或下短三角形的頂點(diǎn)操作以對(duì)h插值,對(duì)當(dāng)前的v值插入vFract和hFract。
interp模塊1966同樣也對(duì)長(zhǎng)三角形頂點(diǎn)的當(dāng)前v值插入h,vFract,hFract。
兩個(gè)數(shù)值在排序模塊中以h的次序排序,從而使得兩個(gè)像素在最終的幀內(nèi)以掃描次序出現(xiàn)。
天花板模塊1972使最左邊RefEl的h值進(jìn)入下一像素的位置,而地板模塊1974使最右邊RefEl的h值下降到前一像素的位置。最終的數(shù)值都根據(jù)幀的實(shí)際大小在兩個(gè)修剪模塊1973、1975中修剪。循環(huán)模塊1976從兩個(gè)h數(shù)值的最左邊向最右邊循環(huán),產(chǎn)生當(dāng)前的h值。
根據(jù)當(dāng)前的h值,在插值模塊1978中對(duì)vFract,hFract的值進(jìn)行插值?,F(xiàn)在vFract,hFract說(shuō)明了對(duì)應(yīng)最終幀的像素位置的參考位置坐標(biāo)系內(nèi)亞像素精度的位置。完成雙向線性插值1980的模塊利用該亞像素精度位置來(lái)對(duì)RefEl相應(yīng)值之間的r,g,b,z,Prob的數(shù)值進(jìn)行插值,在延遲模塊1981中它們經(jīng)過(guò)適當(dāng)?shù)难舆t以更新在計(jì)算亞像素精度位置時(shí)的等待時(shí)間。當(dāng)前的v,h數(shù)值在VH2Adr模塊1982中被轉(zhuǎn)換為地址,該地址被放置模塊1984用來(lái)將r,g,b放入幀緩沖器。放置模塊讀出舊的r,g,b,Z值1990,并根據(jù)新的插入像素的Z和Prob的數(shù)值,更新r,g,b和Z的數(shù)值。
可以采用高速緩沖存儲(chǔ)器1986來(lái)提高性能。
圖18a示出了雙向線性插值的數(shù)值基礎(chǔ)。在其他地方它通常稱(chēng)為雙線性插值。在這種情況下,只示出了一個(gè)應(yīng)變量的插值,但是對(duì)于幾個(gè)應(yīng)變量的情況原理是一樣的。所需值的位置vFract1822,hFract1820對(duì)于4個(gè)已知的數(shù)值r111810,r12 1812,r21 1814,r22 1816之間的亞像素精度來(lái)說(shuō)是已知的。隨后通過(guò)線性插入根據(jù)兩個(gè)上已知值1810、1812確定的中間值1830和根據(jù)兩個(gè)下已知值1814、1816確定的中間值1832并再次在它們之間插值找到所需的數(shù)值。
對(duì)于硬件實(shí)現(xiàn),參見(jiàn)圖18b。4個(gè)已知的數(shù)值r11 1860,r12 1861,r21 1862和r22 1863作為輸入與vFract 1866和hFract 1865限定的所需值的位置一起給出。上中間值1885、1830由表達(dá)式(r12-r11)*hFract+r11計(jì)算,通過(guò)減法器1870、乘法器1872、補(bǔ)償減法器1870和乘法器1872中等待時(shí)間的延遲模塊1875以及加法器1877實(shí)現(xiàn)。下中間值1886、1832由表達(dá)式(r22-r21)*hFract+r21計(jì)算,通過(guò)減法器1871、乘法器1873、延遲模塊1876以及加法器1878實(shí)現(xiàn)。最終的數(shù)值1890再次通過(guò)減法器1879、乘法器1881、延遲模塊1883以及加法器1882實(shí)現(xiàn),在延遲模塊1880中被延遲的vFract1865上操作以處理在計(jì)算上、下中間值時(shí)的等待時(shí)間。
在前面,采用三角形來(lái)進(jìn)行坐標(biāo)映射和插值。在另一個(gè)較佳實(shí)施例中,采用了直接基于4個(gè)RefEl的四邊形。參見(jiàn)圖20a。四邊形2026由按照其運(yùn)動(dòng)矢量運(yùn)動(dòng)的4個(gè)RefEl2020、2022、2024、2026構(gòu)成。對(duì)于穿過(guò)四邊形的每條掃描線2012、2014,在掃描線和四邊形之間找到了交點(diǎn)2032、2034、2036、2038。這些既可以用于四邊形和掃描線交點(diǎn)處所有域的逐漸插值或?qū)γ織l掃描線上四邊形內(nèi)部所有像素2030、2031之間再次插值,這與圖14所示的相似,也可以用來(lái)計(jì)算用于雙向線性插值的vFract,hFract數(shù)值,這與圖19相似。后者示于圖20b。穿過(guò)圖20四邊形2026的掃描線2012,2014通過(guò)計(jì)算每條掃描線的表示為vFract的左四邊形交點(diǎn)2080,2084和表示為vFract的右四邊形交點(diǎn)2082、2084,被映射回參考位置,并根據(jù)左右交點(diǎn),可以計(jì)算最終像素位置2090、2092的vFract和hFract數(shù)值。這可以作為雙工線性插值的基礎(chǔ)。
附錄A給出了該方法的偽編碼算法。
在一個(gè)較佳實(shí)施例中,運(yùn)動(dòng)模塊492具有內(nèi)建反混淆濾波器以避免圖像重復(fù)取樣混淆的問(wèn)題。
在另一個(gè)較佳實(shí)施例中,編碼器提供了預(yù)先濾波的臉色因子。如果序列期間發(fā)生了holon的放大或縮小,則編碼器提供了最低分辨率的預(yù)濾波臉色因子和另一個(gè)對(duì)應(yīng)必要的濾波臉色結(jié)構(gòu)的差異和已經(jīng)發(fā)送的臉色,從而使新的臉色因子可以用來(lái)模擬濾波。
圖21示出了理想低通濾波器的操作。參考位置中的圖像以不同分辨率再現(xiàn)出來(lái),從而產(chǎn)生幀。給出圖像區(qū)域內(nèi)垂直長(zhǎng)度的圖像特征,該圖像區(qū)域的垂直放大因子定義為運(yùn)動(dòng)圖像內(nèi)同一特征的相應(yīng)長(zhǎng)度與原始垂直長(zhǎng)度之間的比率。相同的定義用于水平放大。不同分辨率的再現(xiàn)隨后對(duì)應(yīng)于放大因子的不同數(shù)值。當(dāng)參考圖像經(jīng)過(guò)放大從而使分辨率是參考圖像固有分辨率的兩倍時(shí),再現(xiàn)的圖像具有參考圖像的全部細(xì)節(jié),對(duì)應(yīng)最大頻率容量。對(duì)于較小的放大因子,參考圖像必須在Nyquist頻率以下濾波。因此對(duì)于參考圖像通常有最大的頻率容量和最小的頻率容量,對(duì)于中間的放大因子有理想的截止頻率2106。
從壓縮率考慮,通常比較好的是不必發(fā)送參考圖像的多種形式。這通常意味著在解碼器內(nèi)無(wú)需進(jìn)行反混淆濾波。但是有圖21b所示的近似。代替最小2154與最大2152頻率容量之間的可變理想截止頻率,圖像可以分為低通和高通部分,并且可以根據(jù)放大因子改變所用高通2156的數(shù)量。
圖22示出了數(shù)據(jù)流示意圖。向反混淆處理器2200輸入?yún)⒖嘉恢?214中的微笑計(jì)分2210、微笑裝載2212和圖像。對(duì)于該實(shí)例,只采用了一個(gè)因子的微笑和臉色,但是同樣的原理可以用于多因子微笑和點(diǎn)頭輸入。
零微笑計(jì)分對(duì)應(yīng)于無(wú)運(yùn)動(dòng),而較大的正或負(fù)微笑計(jì)分對(duì)應(yīng)偏離參考位置較大的運(yùn)動(dòng)。后者通常會(huì)遇到反混淆的問(wèn)題。因此尋找最大絕對(duì)值2220的模塊在微笑計(jì)分之間搜尋,并且該計(jì)分用來(lái)形成偏離相乘單元2222內(nèi)微笑裝載的假定的最糟糕情況。該微笑域輸入對(duì)于圖像的每個(gè)區(qū)域沿著垂直和水平方向?qū)ふ曳糯笠蜃?224的模塊。這些區(qū)域可以是像素非交疊塊或者交疊塊。放大因子被輸入將放大因子變換為在參考位置圖像上工作的低通濾波器2230的濾波器系數(shù)的模塊2226。變換使得低通濾波器中較小的放大結(jié)果具有較小的截止頻率。最終的低通圖像作為第一臉色因子的臉色裝載2266輸出到解碼器2250內(nèi)。相應(yīng)的計(jì)分2264由合適的模塊2232鎖定。低通圖像與原始參考位置圖像之間的差異形成于減法器模塊2234中并作為第二臉色裝載2270輸出至解碼器。在模塊2240中計(jì)算了高通容量所需的數(shù)量。該計(jì)算使得解決最壞情況的計(jì)分導(dǎo)致數(shù)值接近于零,并且較小的計(jì)分導(dǎo)致數(shù)值接近于1。該結(jié)果作為用于第二臉色因子的臉色計(jì)分2268輸入解碼器。原始的微笑計(jì)分2210和微笑裝載2212以不變形式2260,2262輸入解碼器。
解碼器與前面討論的解碼器相似,其中在相乘模塊2280、2282中將臉色因子乘以臉色裝載,在加法器2284內(nèi)累計(jì)結(jié)果,并按照乘積將該圖像放入運(yùn)動(dòng)模塊2288內(nèi),在相乘模塊2286內(nèi)計(jì)算微笑計(jì)分和微笑裝載,從而在幀位置2290內(nèi)產(chǎn)生最終的圖像。
運(yùn)動(dòng)模塊492與幀或域緩沖器497、498之間像素的傳送可能會(huì)成為瓶頸。例如對(duì)于720*576采樣的25幀/秒的PAL,它對(duì)應(yīng)于10000000像素/秒以上。由于當(dāng)幀與執(zhí)行之間切換時(shí)時(shí)間的損失,運(yùn)動(dòng)模塊并不能總是產(chǎn)生一個(gè)像素輸出/時(shí)鐘脈沖,并且數(shù)值可以傳送到幀或域緩沖器內(nèi)一個(gè)位置上,所以運(yùn)動(dòng)模塊的峰值速度可以達(dá)到30000000像素/秒。由于對(duì)于每個(gè)像素,Z域值必須讀取和設(shè)定,所以R,G,B,Z每秒必須完成60000000存儲(chǔ)器的訪問(wèn),如果R,G,B和Z的每個(gè)數(shù)值必須一次傳送,它對(duì)應(yīng)16鈉秒/次的訪問(wèn)。在這樣的速度下,對(duì)于整個(gè)幀或域緩沖器都必須采用成本高的模塊,或者可以在運(yùn)動(dòng)模塊492與幀或域緩沖器497、498之間引入高速緩沖存儲(chǔ)器494。
運(yùn)動(dòng)模塊492輸出的像素按照系統(tǒng)S域定義的次序產(chǎn)生。這意味著輸出滿足高速緩沖存儲(chǔ)器的重要條件即空間局部性如果像素結(jié)束于幀或域緩沖器的某個(gè)位置,則可以使下一個(gè)像素輸出結(jié)束于臨近的位置。
怎樣設(shè)計(jì)高速緩沖存儲(chǔ)器的細(xì)節(jié)參見(jiàn)《計(jì)算機(jī)結(jié)構(gòu),一種定量方法》,J.Hennessy&D.Patterson,1990。
建立裝載存儲(chǔ)414…416的一般方法是發(fā)送壓縮形式和在靜止圖像解碼器410內(nèi)解壓縮。另一種方法是采用IDLE建模方法創(chuàng)建裝載。這可以通過(guò)包括反饋傳輸線415實(shí)現(xiàn),通過(guò)合適的開(kāi)關(guān)495,412可以使解碼器的輸出直接輸出至裝載計(jì)分414…416。這稱(chēng)為元解碼。
元解碼的一個(gè)應(yīng)用是當(dāng)解碼器經(jīng)?;蛭ㄒ坏赜糜谝阎?lèi)型的序列。一個(gè)例子是視頻電話解碼器,這里極有可能出現(xiàn)人臉。在這樣的情況下,可能已經(jīng)建立了標(biāo)準(zhǔn)的裝載并存儲(chǔ)在解碼器一側(cè)。這些標(biāo)準(zhǔn)裝載可以表示極有可能出現(xiàn)的運(yùn)動(dòng)或亮度,例如對(duì)應(yīng)講話的,用微笑裝載表示的嘴巴的運(yùn)動(dòng)。標(biāo)準(zhǔn)裝載403首先必須讀入解碼器并且隨后必須更新從而使得它們與輸入圖像的參考位置坐標(biāo)系統(tǒng)匹配。這種更新可以用來(lái)從解碼器一側(cè)的外部存儲(chǔ)介質(zhì)將標(biāo)準(zhǔn)的微笑裝載調(diào)入由編碼器制備的裝載存儲(chǔ)和點(diǎn)頭矩陣,將標(biāo)準(zhǔn)的裝載移入?yún)⒖嘉恢貌⒔Y(jié)果送回裝載計(jì)分。
在WO95/08284中示出了如何應(yīng)用元建模特征的例子。
運(yùn)動(dòng)器的輸出以復(fù)數(shù)地址次序輸出。當(dāng)最終的圖像傳送到最終的輸出介質(zhì)時(shí),在大多數(shù)情況中它必須以掃描次序出現(xiàn)。這意味著在運(yùn)動(dòng)和輸出裝置之間必須有緩沖器。
為了有效地利用時(shí)間,可以使用雙緩沖器。在這種情況下,一個(gè)緩沖器由解碼器寫(xiě)入而由視頻電路從另一個(gè)緩沖器讀出。每次緩沖器被填充而另一個(gè)不再需要查看,兩個(gè)緩沖器的作用象開(kāi)關(guān)。
另一個(gè)較佳實(shí)施例是不使圖像空,而新圖像最終覆蓋所有舊的圖像。如果不是,則保持前面幀的一部分通常是較好的誤差隱藏技術(shù)。
在上述兩種情況下,Z緩沖器必須復(fù)位到遠(yuǎn)離每幀之間。
上面的雙緩沖可以與交錯(cuò)相結(jié)合。對(duì)于奇數(shù)域,循環(huán)旋回模塊1464、1954只是在奇數(shù)上循環(huán),而對(duì)于偶數(shù)域,循環(huán)v模塊1464、1954只在偶數(shù)上循環(huán)。
幀或域緩沖器497、498一般可能在編碼器的命令下在每幀或域之間復(fù)位為空。但是在一些情況下,復(fù)位不再需要。理由是嚴(yán)重的發(fā)送錯(cuò)誤已經(jīng)檢測(cè)到,并且代替產(chǎn)生新的幀或域的凈誤差,保持當(dāng)前的域或幀。同樣的理由是當(dāng)場(chǎng)景移動(dòng)后解碼器內(nèi)模型沒(méi)有完全更新。另一個(gè)理由是解碼器忙于元解碼。跳過(guò)復(fù)位的決定可以由解碼器或編碼器作出。
在按照IDLE原理解碼幀后,可能會(huì)產(chǎn)生因IDLE模型無(wú)法重建整個(gè)幀引起的重建錯(cuò)誤。在最后的結(jié)構(gòu)被查看之前每幀剩余的部分可能被發(fā)送和加入。通過(guò)采用傳統(tǒng)的圖像壓縮技術(shù),剩余的壓縮增益由于大多數(shù)的結(jié)構(gòu)已經(jīng)被IDLE模型表示而有所提高。
這示于圖23中。輸入的壓縮比特流2310包含了壓縮的IDLE模型2324和幀剩余2322。demux2320將其一分為二,從而使得IDLE模型2330按照上述解碼方法解碼為每幀的r,g,b數(shù)值,并且采用傳統(tǒng)的圖像壓縮/解壓縮技術(shù)在編碼器2350中將剩余解壓縮為r,g,b數(shù)值。兩者在加法器2360中相加并且輸出2390作為最終的結(jié)果以備查看或作用。
在前面,已經(jīng)解釋了壓縮的比特流。為了換一種觀點(diǎn),這里是以符號(hào)和簡(jiǎn)化結(jié)構(gòu)表示的壓縮的比特流的簡(jiǎn)單結(jié)構(gòu)(1)時(shí)間編碼1-23-45-06-奇數(shù)(2)初始化為空的模型(3)將一個(gè)holon與等于整個(gè)幀的格式相加(4)將第一holon的一個(gè)臉色因子R,G,B相加[壓縮的裝載R,G,B](5)設(shè)定計(jì)分[壓縮的計(jì)分](6)解碼(7)時(shí)間編碼1-23-45-06-偶數(shù)(8)解碼(9)時(shí)間編碼1-23-45-06-奇數(shù)(10)加入一個(gè)holon[壓縮的S域](11)設(shè)定第二holon的點(diǎn)頭因子[壓縮的點(diǎn)頭矩陣](12)將第一holon的一個(gè)臉色因子R相加[壓縮的裝載,R](13)將第二holon的一個(gè)臉色因子R,G,B相加[壓縮的裝載,R,G,B](14)將第一holon的一個(gè)微笑因子V相加[壓縮的V裝載](15)解碼每行的注釋(1)以下的數(shù)據(jù)定義了幀的奇數(shù)域從序列的開(kāi)始起為1小時(shí)23分45秒。這樣的時(shí)間代碼用于快速搜尋和其他用途。
(2)包括所有裝載存儲(chǔ)、S域存儲(chǔ)和計(jì)分存儲(chǔ)的模型設(shè)定為空(3)當(dāng)相加holon時(shí),應(yīng)給出它們的S域。在這種情況下,holon的S域與幀的尺寸一致,并且這已經(jīng)給出了特殊的編碼。相應(yīng)的S域在S域存儲(chǔ)中建立。
(4)定義了第一臉色因子。控制處理器對(duì)3個(gè)裝載存儲(chǔ)作了分配,一個(gè)對(duì)應(yīng)一個(gè)顏色通道。裝載被解壓縮并裝入分配的裝載存儲(chǔ)中。地址與S域存儲(chǔ)同步??刂铺幚砥髟O(shè)定路由器建立存儲(chǔ)從而使得3個(gè)裝載存儲(chǔ)的輸出進(jìn)入求和臉色模塊。
(5)在只有holonl的臉色的情況下,存儲(chǔ)被解壓縮和裝入計(jì)分存儲(chǔ)中。
(6)采用當(dāng)前的裝載存儲(chǔ)、計(jì)分存儲(chǔ)、S域計(jì)分和路由器建立存儲(chǔ)對(duì)奇數(shù)域解碼。
(7)以下的數(shù)據(jù)定義了相應(yīng)的偶數(shù)域。
(8)偶數(shù)域被解碼。
(9)以下的數(shù)據(jù)定義了下一幀的奇數(shù)域。
(10)相加holon。在這種情況下,給出了明顯的S域。它被解碼并存儲(chǔ)在S域存儲(chǔ)內(nèi)。
(11)第一個(gè)沒(méi)有明顯的點(diǎn)頭,即只有按缺席規(guī)劃指定的單位矩陣。第二個(gè)holon包含明顯的點(diǎn)頭矩陣,它被解壓縮并存儲(chǔ)在點(diǎn)頭存儲(chǔ)內(nèi)。
(12)加入紅色分量的第二臉色因子。分配一個(gè)裝載存儲(chǔ),裝載被解壓縮和被裝載,更新路徑。
(13)給出第二holon的臉色并由普通的程序處理。
(14)引入垂直微笑因子;由普通程序處理裝載。
(15)域被解碼。
數(shù)據(jù)流包含小的命令部分,指示應(yīng)該初始化什么類(lèi)型的動(dòng)作,還有大的數(shù)據(jù)部分,包含了裝載等的壓縮表示。對(duì)于本發(fā)明基于存儲(chǔ)的應(yīng)用,它的優(yōu)點(diǎn)是一分為二,但是有橫向的參考,從而使得小分命令部分可以快速掃描和分析,例如搜尋模式,而數(shù)據(jù)部分根據(jù)需要讀取。
對(duì)于從存儲(chǔ)介質(zhì)(例如錄像帶或光盤(pán))操作的視頻回放系統(tǒng)和接收來(lái)自發(fā)布中心的壓縮比特流的視頻點(diǎn)播系統(tǒng)來(lái)說(shuō),極其需要可變的回放速度??勺兊幕胤潘俣劝ㄆ胀ɑ胤?、反向回放、快速前進(jìn)、慢速前進(jìn)、慢速后退以及靜止的圖像。
慢速前進(jìn)可以由普通幀的重復(fù)實(shí)現(xiàn)。例如半速,每幀放兩次。
另一種實(shí)現(xiàn)慢速前進(jìn)的方法是計(jì)分的插值。參見(jiàn)圖25,示出了視頻回放設(shè)備2500。用戶在速度選擇輸入設(shè)備2510中選擇回放的速度。這可以是遠(yuǎn)程控制的一個(gè)功能。存儲(chǔ)設(shè)備2520包含壓縮的比特流。該流讀取為兩部分即讀入控制處理器2530的計(jì)分和讀入解碼器2540的裝載。對(duì)于普通回放,計(jì)分直接放入解碼器2540部分的計(jì)分存儲(chǔ)內(nèi)。對(duì)于慢速前進(jìn)回放,在放入計(jì)分存儲(chǔ)之前插值計(jì)分。例如對(duì)于半速,輸入解碼器2540的每個(gè)第二組計(jì)分可以是從存儲(chǔ)設(shè)備2520讀出的計(jì)分,而余下的部分可以是在控制處理器2530中插值的值。對(duì)于慢速前進(jìn)插值的計(jì)分插值的優(yōu)點(diǎn)是產(chǎn)生了平滑沒(méi)有斷續(xù)的運(yùn)動(dòng)。缺點(diǎn)是建模的表示不再與物理現(xiàn)實(shí)很好地對(duì)應(yīng),可能會(huì)發(fā)生預(yù)期不到的結(jié)果。例如當(dāng)運(yùn)動(dòng)還未在編碼器識(shí)別但采用臉色因子建模時(shí),慢速回放由漸明漸暗的物體代替了運(yùn)動(dòng)。
還可以實(shí)現(xiàn)的是反向播放。與普通前放的主要差異是代替壓縮比特流中一系列的指令,以給定次序讀取裝載和S域,在回放期間解碼器必須分析壓縮的比特流,特別是命令部分,從而確定任意時(shí)刻激活哪些holon和哪些因子,進(jìn)而可以裝載正確的裝載和S域。
可以將慢速前向播放與后向播放的原理結(jié)合起來(lái)實(shí)現(xiàn)慢速的后向播放。
對(duì)于快速前進(jìn),通常出現(xiàn)的問(wèn)題是無(wú)法找到一組較好的計(jì)分。計(jì)算瓶頸通常是壓縮的比特流的讀取與相應(yīng)的靜止圖像解碼和裝載存儲(chǔ)的更新。為了補(bǔ)償這一點(diǎn),裝載可以指定優(yōu)先權(quán),當(dāng)沒(méi)有時(shí)間輸入所有裝載時(shí),只讀取最重要的。一個(gè)特殊的例子就是當(dāng)對(duì)每個(gè)場(chǎng)景移動(dòng)只允許有一個(gè)臉色裝載時(shí)。在這種情況下,快速前進(jìn)將對(duì)每一場(chǎng)景產(chǎn)生一靜止的圖像,它可以認(rèn)為比錄像機(jī)等的正??焖龠\(yùn)動(dòng)更好看。
可以將快速前向播放與后向播放的遠(yuǎn)離結(jié)合起來(lái)實(shí)現(xiàn)快速的后向播放。
靜止圖像可以在幾種方式下進(jìn)行,例如停止壓縮比特流的輸入。
解碼器還可以用于模擬、游戲或其他應(yīng)用,在那里需要圖像按用戶的輸入而變化。參見(jiàn)圖24,它示出了游戲控制器2400。接受用戶輸入的模塊2410例如可以是游戲桿,但是也可以是其他輸入裝置,例如小鍵盤(pán)、大鍵盤(pán)、游戲板等。游戲存儲(chǔ)在存儲(chǔ)介質(zhì)中,例如CD-ROM2420。游戲由如何解釋用戶輸入的規(guī)則和如何作用于圖像的規(guī)則以及裝載如何定義實(shí)際圖像和可能的圖像變化的規(guī)則組成??刂铺幚砥?430完成這樣的解釋?zhuān)瑥亩a(chǎn)生計(jì)分。裝載和計(jì)分輸入解碼器2440,產(chǎn)生可以在顯示器或監(jiān)視器上(例如在電視機(jī)2450上)觀看的幀。
對(duì)于模擬和游戲設(shè)計(jì),在產(chǎn)生規(guī)則以控制運(yùn)動(dòng)中有許多工作。許多工作是控制點(diǎn)頭。為了簡(jiǎn)化該工作,點(diǎn)頭機(jī)制可以下述方式表示運(yùn)動(dòng),它允許更為容易的物理解釋。例如當(dāng)沿軸轉(zhuǎn)動(dòng)物體時(shí),除了簡(jiǎn)并情形以外,需要改變相應(yīng)holon點(diǎn)頭矩陣的大多數(shù)系數(shù),如果軸定義一次,則最好,只有旋轉(zhuǎn)的角度可以對(duì)每幀定義。
做到這一點(diǎn)的一種方法是使點(diǎn)頭矩陣參數(shù)化和連鎖化。在《交互計(jì)算機(jī)圖形》中對(duì)此作了描述。參數(shù)化隨后與使參數(shù)控制平移度、尺度剪切或旋轉(zhuǎn)對(duì)應(yīng),而連鎖化對(duì)應(yīng)于圍繞任何軸與關(guān)的平移、尺度、剪切和旋轉(zhuǎn),并使得上述幾種效應(yīng)結(jié)合。
進(jìn)一步的擴(kuò)展是用坐標(biāo)確定幾個(gè)holon的行為。假設(shè)人體建模為軀干、腿和頭的幾個(gè)單獨(dú)的holon并使他行走。讓一個(gè)參數(shù)控制整個(gè)人體的速度或位置是有利的,而其他參數(shù)控制人體各部分相對(duì)運(yùn)動(dòng)。
通過(guò)點(diǎn)頭矩陣的樹(shù)狀結(jié)構(gòu)可以實(shí)現(xiàn)上面的情況。這可以采用4張表建模。第一張表列出了可用的輸入。典型的輸入可以是游戲桿或鍵盤(pán)的輸入,一個(gè)用時(shí)鐘或計(jì)數(shù)器指示時(shí)間的值,或者由其他游戲動(dòng)作產(chǎn)生的狀態(tài)指示器。第二張表列出了所用的參數(shù)化點(diǎn)頭矩陣并指示如何應(yīng)用參數(shù)。第三張表給出了三重點(diǎn)頭矩陣數(shù),定義了矩陣乘法。每個(gè)三重?cái)?shù)的第三個(gè)數(shù)定義了放置矩陣乘法結(jié)構(gòu)的地方,而前兩個(gè)數(shù)指示了將哪兩個(gè)矩陣相乘,并且可以是第二張表或者第三張表自己定義的矩陣。第四張表給出了每個(gè)holon的點(diǎn)頭矩陣號(hào)碼。它可以視為參數(shù)點(diǎn)頭矩陣的程序。該程序可以由采用更新輸入的解碼器執(zhí)行。上述計(jì)算典型地涉及足夠小的計(jì)算裝載,可以在解碼每幀之前在Intel386SX之類(lèi)的通用微處理器中實(shí)現(xiàn)。
微笑和計(jì)分可以根據(jù)上述幀內(nèi)的輸入定義。
附錄A按照運(yùn)動(dòng)域移動(dòng)圖像的方法利用掃描線相交三角形的漸進(jìn)插值輸入?yún)⒖嘉恢脠D像,由nv*nh RefEls組成,每個(gè)包含r,g,b紅色、綠色和藍(lán)色亮度v,h新的位置z深度值Prob透明輸出帶像素的幀緩沖器,每個(gè)包含r,g,b插入的紅色、綠色和藍(lán)色亮度算法對(duì)于參考圖像中相鄰的四像素組對(duì)于兩個(gè)三像素組中的每一個(gè)按照升序的運(yùn)動(dòng)v坐標(biāo)排序像素。用后綴Up,Middle,Low表示排序的像素。
尋找第二點(diǎn)是否在第一和第三點(diǎn)的左邊或右邊根據(jù)第一和第三像素的v和h坐標(biāo),并且給定的第二像素的v坐標(biāo),計(jì)算第一和第三像素的頂點(diǎn)之間連線和穿越第二像素的水平線之間的交叉點(diǎn)的h坐標(biāo)。
hCross=hUp+(vMiddle-vUp)/(vLow-vMiddle)*(hLow-hUp)SecondLeft=(hCross<hMiddle)通過(guò)幀位置的掃描線制備循環(huán)vUp=ceil(vUp)vLow=floor(vLow)在vCurrent處對(duì)于每個(gè)從vUp到vLow的vCurrent(即對(duì)于每條掃描線)
在第一和第三像素之間插入h,r,g,b,Prob,用后綴LeftScan表示結(jié)果確保計(jì)算當(dāng)前掃描線的極限所用的是正確的頂點(diǎn)如果vCurrent<=vMiddleEndPixel=第一個(gè)像素否則Endpixel=第三個(gè)像素在第二和Endpixel像素之間插入h,r,g,b,Prob,用后綴RightScan表示結(jié)果如果SecondLeft交換LeftScan和RightScan對(duì)于從ceil(hLeftScan)到floor(hRightScan)的每個(gè)hCurrent根據(jù)RigtScan和LeftScan處h,r,g,b,z,Prob在hCurrent插入r,g,b,z,Prob,用后綴Current表示結(jié)果讀取vCurrent,hCurrent處的r,g,b,z,用后綴Old表示結(jié)果如果zCurrent>zOldrNew=rOld+(rCurrent-rOld)*ProbCurrentgNew=gOld+(gCurrent-gOld)*ProbCurrentbNew=bOld+(bCurrent-bOld)*ProbCurrent將rNew,gNew,bNew放回vCurrent,hCurrent處的圖像附錄B按照運(yùn)動(dòng)域移動(dòng)圖像的方法具有雙向線性插值的背向映射四邊形輸入?yún)⒖嘉恢脠D像,由nv*nh RefEls組成,每個(gè)包含r,g,b紅色、綠色和藍(lán)色亮度v,h新的位置z深度值Prob透明輸出帶像素的幀緩沖器,每個(gè)包含r,g,b插入的紅色、綠色和藍(lán)色亮度所用的子程序
NextClockwise以順時(shí)鐘次序(2070,2072,2076,2074,2070)尋找四邊形的下一個(gè)RefElNextAntiClockwise以逆時(shí)鐘次序(2070,2074,2076,2072,2070)尋找四邊形的下一個(gè)RefEl算法初始化Z緩沖器為零對(duì)于[r,g,b]中每個(gè)域d初始化幀緩沖器為零對(duì)于參考位置圖像中的四個(gè)靠近RefEls的每個(gè)四邊形Augment左上RefEl,vFract=0,hFract=0Augment右上RefEl,vFract=0,hFract=1Augment左下RefEl,vFract=1,hFract=0Augment右下RefEl,vFract=1,hFract=l尋找最小的v坐標(biāo)的作為的RefEl Upper尋找最大的v坐標(biāo)的作為的RefEl Lower將邊緣初始化為帶掃描線的交點(diǎn)的候選者UpperClockwise=UpperLowerClockWise=NextClockWise(UpperClockwise)UpperAntiClockwise=UpperLowerAntiClockwise=Lower對(duì)掃過(guò)四邊形的所有掃描線掃描對(duì)于vScan=ceil(Upper.v)到floor(Lower.v)確保正確的邊緣用于交點(diǎn)插值當(dāng)LowerClockwise.v<vScanUpperClockwise=LowerClockwiseLowerClockwise=NextClockwise(LowerClockwise)當(dāng)LowerAntiClockwise.v<vScanUpperAntiClockwise=LowerAntiClockwiseLowerAntiClockwise=NextAntiClockwise(LowerAntiClockwise)沿兩條邊插值h,vFract和hFract,一組值用于AntiClockwise邊緣而另一組用于Clockwise邊緣;對(duì)于在[h,vFract,hFract]中的每個(gè)域AntiClockwise.d=UpperAntiClockwise.d+(LowerAntiClockwise.d-UpperAntiClockwise.d)*
(vScan-UpperAntiClockwise.v)/(LowerAntiClockwise.v-UpperAntiClockwise.v)ClockWise.d=UpperClockwise.d+(LowerClockwise.d-UpperClockwise.d)*(vScan-UpperClockwise.v)/(LowerClockwise.v-UpperClockwise.v)確保像素從左到右掃描如果(AntiClockwise.h<=ClockWiseLeft=AntiClockWise.h)Right=ClockWise否則Left=ClockWiseRight=AntiClockwise來(lái)回移動(dòng)掃描線上整個(gè)像素的位置對(duì)于hScan=ceil(Left.h)到floor(Right.h)在邊緣值之間插入?yún)⒖嘉恢米鴺?biāo)vFract,hFractvFract=Left.vFract+(hScan-Left.h)*(Right.vFract-Left.vFract)/(Right.h-Left.h)hFract=Left.hFract+(hScan-Left.h)*(Right.hFract-Left.hFract)/(Right.h-Left.h)采用vFract,hFract作為權(quán)重完成當(dāng)前四邊形中4個(gè)RefEl之間的雙線性插值對(duì)于[r,g,b,Prob,z]中每個(gè)域dUp=Upleft.d+(UpRight-UpLeft)*hFractLo=LoLeft.d+(LoRight-LoLeft)*hFractNew.d=Up+(Up-Lo)*vFract放置數(shù)值如果New.Z>Z[vScan,Scan]對(duì)于[r,g,b]中每個(gè)域dFrameBuffer.d[vScan,hScan]=FrameBuffer.d[vScan,hScan]+New.Prob*(New.d-d[vScan,hScan])ZBuffer[vScan,hScan]=New.Z
權(quán)利要求
1.一種用于對(duì)按照已知的適合于發(fā)送和存儲(chǔ)的數(shù)據(jù)建模方法壓縮的視頻序列解碼為適合于觀看的解壓縮幀的裝置,所述編碼數(shù)據(jù)模型包含多個(gè)稱(chēng)為亮度裝載的空間亮度變化模式、多個(gè)稱(chēng)為地址裝載的空間地址變化模式以及多個(gè)稱(chēng)為計(jì)分的數(shù)值,所述數(shù)值定義了每幀中每個(gè)裝載的含量,其特征在于所述裝置包含(a)用于接收(320;406,408)和存儲(chǔ)(326;414,416)多個(gè)亮度裝載和多個(gè)地址裝載的裝置;(b)用于接收和存儲(chǔ)(328;442)多個(gè)計(jì)分的裝置;(c)用于將各亮度變化模式和相應(yīng)計(jì)分的貢獻(xiàn)累計(jì)(340,354;446,476)人中間圖像的裝置;(d)用于將每個(gè)地址變化模式和相應(yīng)計(jì)分的貢獻(xiàn)累計(jì)(340,352;446,474)人運(yùn)動(dòng)域的裝置;(e)用于按照運(yùn)動(dòng)域位移(360)中間圖像內(nèi)容從而產(chǎn)生最終的幀(370)的裝置;其中裝置(a)-(e)的連接方式使得形成一條由并行同步數(shù)據(jù)路徑組成的流水線,通過(guò)所述流水線連續(xù)發(fā)送所述中間圖像和運(yùn)動(dòng)域。
2.如權(quán)利要求1所述的裝置,其特征在于所述裝置包含用于將每個(gè)亮度裝載的一部分與每個(gè)地址裝載的相應(yīng)部分組合為稱(chēng)為holon的組的裝置(322;420);其中用于接收和存儲(chǔ)(328;442)多個(gè)計(jì)分裝置包含每個(gè)holon的一組計(jì)分,以及;當(dāng)累計(jì)貢獻(xiàn)時(shí),用于累計(jì)(c)和(d)的裝置采用每個(gè)holon的計(jì)分。
3.如權(quán)利要求1或2所述的裝置,其特征在于用于存儲(chǔ)(326;414,416)亮度和地址裝載的裝置被更新為代表低空間分辨率的裝載,并且所述裝置進(jìn)一步包含從低空間分辨率轉(zhuǎn)換(430)為高空間分辨率的裝置。
4.如權(quán)利要求1或2所述的裝置,其特征在于用于存儲(chǔ)(326;414,416)亮度和地址的裝置被更新為壓縮狀態(tài)的裝載,并且所述裝置進(jìn)一步包含用于解壓縮裝載的裝置。
5.如權(quán)利要求1-4所述的裝置,其特征在于所述裝置包含多個(gè)產(chǎn)生參數(shù)化紋理的裝置。
6.如權(quán)利要求1-5所述的裝置,其特征在于所述裝置包含用于在流水線內(nèi)交換(463)數(shù)據(jù)路徑的裝置。
7.如權(quán)利要求6所述的裝置,其特征在于所述用于交換(463)數(shù)據(jù)路徑的裝置依賴(lài)于正被傳送的holon。
8.如權(quán)利要求1-7所述的裝置,其特征在于所述裝置包含將仿射變換施加(486)到每幀的運(yùn)動(dòng)域上的裝置。
9.如權(quán)利要求1-8所述的裝置,其特征在于所述裝置包含向裝置(a)發(fā)送(415)至少一部分裝置(e)的輸出的裝置。
10.一種產(chǎn)生部分依賴(lài)于交互用戶輸入的圖像的裝置,其特征在于所述裝置包含用于提供用戶輸入的裝置(2410);用于從存儲(chǔ)介質(zhì)讀取游戲規(guī)則和裝載的裝置(2420);用于按照所述游戲規(guī)則解釋所述用戶輸入從而產(chǎn)生計(jì)分的裝置(2430);用于將所述計(jì)分和裝載解碼為適合于在監(jiān)視器(2450)上觀看的幀的裝置(2440);其中所述用于解碼的裝置(2400)是如權(quán)利要求1-9所述的裝置。
11.一種用于以除了原設(shè)計(jì)速度以外的另一種速度播放編碼視頻序列的裝置,其特征在于所述裝置包含用于存儲(chǔ)編碼視頻序列的裝置(2520);用于接受來(lái)自用戶的速度選擇的裝置(2510);用于從編碼的視頻序列讀取計(jì)分并按照所述的另一種速度在選擇的時(shí)間點(diǎn)插入計(jì)分的裝置(2530);用于解碼圖像的裝置(2540);用于觀看所述解碼圖像的裝置(2550);其中用于解碼圖像的所述裝置(2540)是如權(quán)利要求1-9所述的一種裝置。
12.一種用于以除了原設(shè)計(jì)速度以外的另一種速度播放編碼視頻序列的裝置,其特征在于所述裝置包含用于存儲(chǔ)編碼視頻序列的裝置;用于接受來(lái)自用戶的速度選擇的裝置;用于選擇部分編碼視頻序列的裝置,選擇依賴(lài)于接受的速度選擇和作為編碼視頻序列一部分的編碼的優(yōu)先權(quán);用于解碼圖像的裝置;其中用于解碼圖像的所述裝置是如權(quán)利要求1-9所述的一種裝置。
13.一種包含數(shù)據(jù)模型的數(shù)據(jù)攜帶器,其特征在于所述數(shù)據(jù)模型包括多個(gè)稱(chēng)為亮度裝載的空間亮度變化模式、多個(gè)稱(chēng)為地址裝載的空間地址變化模式以及多個(gè)稱(chēng)為計(jì)分的數(shù)值,所述數(shù)值定義了每幀中每個(gè)裝載的含量。
14.如權(quán)利要求13所述的包含數(shù)據(jù)模型的數(shù)據(jù)攜帶器,其特征在于由如權(quán)利要求1-9所述的裝置記錄和更新數(shù)據(jù)模型以進(jìn)行編碼。
15.一種用于接收數(shù)據(jù)模型的裝置,其特征在于所述數(shù)據(jù)模型包括多個(gè)稱(chēng)為亮度裝載的空間亮度變化模式、多個(gè)稱(chēng)為地址裝載的空間地址變化模式以及多個(gè)稱(chēng)為計(jì)分的數(shù)值,所述數(shù)值定義了每幀中每個(gè)裝載的含量。
16.如權(quán)利要求15所述接收數(shù)據(jù)模型的裝置,其特征在于由如權(quán)利要求1-9所述的裝置記錄和更新數(shù)據(jù)模型以進(jìn)行編碼。
17.一種將由在第一兩維坐標(biāo)系統(tǒng)中在整數(shù)位置上給定的圖片元素組成的源圖像變換為由在第二兩維坐標(biāo)系統(tǒng)中在整數(shù)位置上給定的圖片元素組成的目標(biāo)圖像的方法,其特征在于每幅圖片元素由每個(gè)顏色通道的亮度值組成,變換由源圖像內(nèi)每幅圖片元素的空間映射矢量定義。所述方法包含以下步驟對(duì)于源圖像內(nèi)的每個(gè)圖片元素根據(jù)源圖像內(nèi)的位置和空間映射矢量計(jì)算目標(biāo)圖像內(nèi)相應(yīng)的位置,將三幅相鄰圖片元素組內(nèi)的源圖像的圖片元素組織起來(lái),對(duì)于每組按照目標(biāo)坐標(biāo)系兩維中稱(chēng)為主維數(shù)的第一個(gè)數(shù)值排序圖片元素,由此產(chǎn)生第一、中間和最后圖片元素,從而可以識(shí)別出第一與最后圖片元素之間最長(zhǎng)的頂點(diǎn)、第一和中間圖片元素之間第一短頂點(diǎn)和中間和最后圖片元素之間的第二短頂點(diǎn);對(duì)于用第一和最后圖片元素主維數(shù)數(shù)值定義的間隔內(nèi)部的主維數(shù)的每個(gè)整數(shù)值,沿著由主維數(shù)的整數(shù)值定義的位置處的最長(zhǎng)頂點(diǎn)插入第一中間圖片元素和第二維數(shù)的第一中間數(shù)值,選擇第一和第二短頂點(diǎn)從而使主維數(shù)的整數(shù)值位于由頂點(diǎn)的端點(diǎn)的主維數(shù)值定義的間隔內(nèi)部,沿主維數(shù)的整數(shù)值限定的位置處的選擇的短頂點(diǎn)插入第二中間圖片元素和第二維數(shù)的第二中間數(shù)值,對(duì)于由第二維數(shù)的第一和第二中間值限定的間隔內(nèi)部的第二維數(shù)的每個(gè)整數(shù)值,沿第二維數(shù)的整數(shù)值限定的位置處的第一中間圖片元素與第二中間圖片元素之間插入最后的目標(biāo)圖像圖片元素。
18.一種將由在第一兩維坐標(biāo)系統(tǒng)中給定整數(shù)位置的圖片元素組成的源圖像變換為由在第二兩維坐標(biāo)系統(tǒng)中給定整數(shù)位置的圖片元素組成的目標(biāo)圖像的方法,其特征在于每幅圖片元素由每個(gè)顏色通道的亮度值組成,變換由源圖像內(nèi)每幅圖片元素的空間映射矢量定義。所述方法包含以下步驟對(duì)于每個(gè)圖片元素根據(jù)源圖像內(nèi)的位置和空間映射矢量計(jì)算目標(biāo)圖像內(nèi)相應(yīng)的位置,將三幅相鄰圖片元素組內(nèi)的源圖像的圖片元素組織起來(lái),對(duì)于每組按照目標(biāo)坐標(biāo)系兩維中稱(chēng)為主維數(shù)的第一個(gè)數(shù)值排序圖片元素,由此產(chǎn)生第一、中間和最后圖片元素,從而可以識(shí)別出第一與最后圖片元素之間最長(zhǎng)的頂點(diǎn)、第一和中間圖片元素之間第一短頂點(diǎn)和中間和最后圖片元素之間的第二短頂點(diǎn);對(duì)于第一和最后圖片元素主維數(shù)數(shù)值定義的間隔內(nèi)部的主維數(shù)的每個(gè)整數(shù)值,沿著主維數(shù)整數(shù)值最長(zhǎng)的頂點(diǎn)計(jì)算相對(duì)位置,采用沿最長(zhǎng)頂點(diǎn)的相對(duì)位置在第二坐標(biāo)系中相應(yīng)位置插值,從而找到第一中間目標(biāo)位置,采用沿最長(zhǎng)頂點(diǎn)的相對(duì)位置在第一坐標(biāo)系中映射回相應(yīng)的位置,從而找到第一中間源位置,選擇第一或第二短頂點(diǎn)從而使組維數(shù)的整數(shù)值位于由頂點(diǎn)端點(diǎn)的主維數(shù)值限定的間隔內(nèi)部,沿著主維數(shù)整數(shù)值選擇的短頂點(diǎn)計(jì)算相對(duì)位置,采用沿選擇的短頂點(diǎn)的相對(duì)位置在第二坐標(biāo)系中相應(yīng)位置插值,從而找到第二中間目標(biāo)位置,采用沿選擇的短頂點(diǎn)的相對(duì)位置在第一坐標(biāo)系中映射回相應(yīng)的位置,從而找到第二中間源位置,對(duì)于由第一和第二中間目標(biāo)位置的第二坐標(biāo)系限定的間隔內(nèi)部的第二維數(shù)的每個(gè)整數(shù)值,沿著從第二維數(shù)的整數(shù)值的第一到第二中間目標(biāo)位置的直線計(jì)算相對(duì)位置,采用沿著直線的相對(duì)位置映射回第一坐標(biāo)系統(tǒng)中的相應(yīng)位置,從而找到最后的源位置,通過(guò)源圖像中圖片元素的權(quán)重平均值計(jì)算最終的目標(biāo)圖像圖片元素,采用最終的源位置以計(jì)算權(quán)重。
19.如權(quán)利要求17或18所述的方法,其特征在于采用4圖片元素組代替3圖片元素組。
20.用于產(chǎn)生由作為交錯(cuò)幀給出的圖像的偶數(shù)或奇數(shù)掃描行組成的域的方法,包含了如權(quán)利要求17-19所述方法中的任意一種,其特征在于目標(biāo)圖像的主維數(shù)或第二維數(shù)對(duì)應(yīng)于目標(biāo)圖像的掃描線,而對(duì)于偶數(shù)域只考慮該維數(shù)的偶整數(shù)值,而對(duì)于奇數(shù)域只考慮奇整數(shù)值。
21.一種將由在第一兩維坐標(biāo)系統(tǒng)中給定整數(shù)位置的圖片元素組成的源圖像變換為由在第二兩維坐標(biāo)系統(tǒng)中給定整數(shù)位置的圖片元素組成的目標(biāo)圖像的裝置,其特征在于每幅圖片元素由每個(gè)顏色通道的一個(gè)采樣值組成,變換由源圖像內(nèi)每幅圖片元素的位移矢量定義。所述裝置包括對(duì)于源圖像內(nèi)的每個(gè)圖片元素根據(jù)源圖像內(nèi)的位置和相應(yīng)的位移矢量計(jì)算目標(biāo)圖像內(nèi)相應(yīng)位置的裝置(352),將三幅相鄰圖片元素組內(nèi)的源圖像的圖片元素組織起來(lái)的裝置(1412,1414,1416,1418,1420),用于按照沿一個(gè)維數(shù)上的位置對(duì)圖片元素組排序的裝置(1440),用于產(chǎn)生給定間隔內(nèi)第一維數(shù)的整數(shù)值的裝置(1460,1462,1464),用于確定數(shù)值是否在給定間隔內(nèi)部的裝置(1466),用于選擇頂點(diǎn)的裝置(1470),用于在已知數(shù)值之間插入圖片元素的裝置(1474),用于在已知數(shù)值之間插入圖片元素的裝置(1472),用于產(chǎn)生給定間隔內(nèi)第二維數(shù)整數(shù)值的裝置(1480,1482,1484),用于插入像素值的裝置(1486),用于產(chǎn)生地址的裝置(1490),以及用于在產(chǎn)生的地址處放置像素值的裝置(1492)。
22.如權(quán)利要求21所述的裝置,其特征在于按照如權(quán)利要求18-20所述的方法進(jìn)行更新。
23.一種當(dāng)對(duì)第一圖像重新采樣以產(chǎn)生多幅最終圖像時(shí)減少混淆效應(yīng)的方法,所述對(duì)每幅最終圖像的重新采樣按照位移域進(jìn)行,其特征在于所述位移域是基本位移域的標(biāo)度形式,標(biāo)度因子稱(chēng)為位移計(jì)分,所述方法包括以下步驟使所述第一圖像低通濾波從而使得每個(gè)所述區(qū)域內(nèi)所述第一圖像的多個(gè)區(qū)域的濾波系數(shù)按照所述區(qū)域的頻率容量和所述位移域的相應(yīng)區(qū)域的特性更新,因此產(chǎn)生低通濾波圖像,形成所述第一圖像與所述低通濾波圖像之間的差異,因此產(chǎn)生差異圖像,對(duì)于每幅最終的圖像,根據(jù)所述低通濾波圖像和所述用稱(chēng)為高通計(jì)分標(biāo)度的所述差異圖像之和重新取樣,高通計(jì)分是位移計(jì)分的增函數(shù)。
24.如權(quán)利要求23所述的方法,其特征在于重新采樣由權(quán)利要求1-9所述的裝置完成。
全文摘要
一種用于對(duì)按照已知的適合于發(fā)送和存儲(chǔ)的數(shù)據(jù)建模方法壓縮的視頻序列解碼為適合于觀看的解壓縮幀的裝置,所述裝置包含用于接收和存儲(chǔ)多個(gè)亮度裝載和多個(gè)地址裝載的裝置;用于接收和存儲(chǔ)多個(gè)計(jì)分的裝置;用于將各亮度變化模式和相應(yīng)計(jì)分的貢獻(xiàn)累計(jì)入中間圖像的裝置;用于將每個(gè)地址變化模式和相應(yīng)計(jì)分的貢獻(xiàn)累計(jì)入運(yùn)動(dòng)域的裝置;用于按照運(yùn)動(dòng)域位移中間圖像內(nèi)容從而產(chǎn)生參數(shù)最終的幀的裝置。
文檔編號(hào)H04N7/26GK1149952SQ95193384
公開(kāi)日1997年5月14日 申請(qǐng)日期1995年6月2日 優(yōu)先權(quán)日1994年6月3日
發(fā)明者H·A·馬藤斯, J·O·瑞伯格 申請(qǐng)人:德國(guó)Idt國(guó)際數(shù)字技術(shù)有限公司