欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于在紋理映射引擎中執(zhí)行運(yùn)動補(bǔ)償?shù)姆椒ㄅc設(shè)備的制作方法

文檔序號:7504973閱讀:230來源:國知局
專利名稱:用于在紋理映射引擎中執(zhí)行運(yùn)動補(bǔ)償?shù)姆椒ㄅc設(shè)備的制作方法
發(fā)明的領(lǐng)域本發(fā)明涉及利用電子設(shè)備的圖形顯示。更具體地,本發(fā)明涉及利用電子設(shè)備顯示的圖形的運(yùn)動補(bǔ)償。
發(fā)明的背景目前存在幾種標(biāo)準(zhǔn)用于數(shù)據(jù)音頻和/或視頻數(shù)據(jù)的通信。例如,運(yùn)動圖象專家組(MPEG)已研制用于與音頻-視頻數(shù)據(jù)一起使用的幾種標(biāo)準(zhǔn)(例如,MPEG-1、MPEG-2、MPEG-4)。為了改善數(shù)據(jù)通信,音頻-視頻數(shù)據(jù)標(biāo)準(zhǔn)時常包括壓縮方案。具體地,MPEG-2將運(yùn)動矢量用作數(shù)字音頻壓縮方案的一部分。
一般地,將運(yùn)動矢量用于利用視頻幀之間的冗余來減少傳送整個運(yùn)動視頻所要求的數(shù)據(jù)量。能傳送幀之間的差異而不傳送具有冗余數(shù)據(jù)的連續(xù)的全幀。一般地,確定稱為“宏功能塊”的16×16象素(pel)的數(shù)據(jù)組的運(yùn)動矢量。
采用運(yùn)動補(bǔ)償?shù)臄?shù)字編碼將搜索窗口或比宏功能塊大的另一基準(zhǔn)用于生成指向最佳匹配當(dāng)前宏功能塊的宏功能塊的運(yùn)動矢量,此搜索窗口一般大于當(dāng)前宏功能塊。利用描述此宏功能塊的數(shù)據(jù)來編碼所得到的運(yùn)動矢量。
視頻數(shù)據(jù)的解碼一般利用軟件與硬件的組合來完成的。運(yùn)動補(bǔ)償一般利用對代表宏功能塊的視頻數(shù)據(jù)的緩沖操作的專用運(yùn)動補(bǔ)償電路來解碼。然而,此方案在利用紋理映射引擎處理視頻幀時導(dǎo)致運(yùn)動補(bǔ)償電路空閑并且在利用運(yùn)動補(bǔ)償電路處理視頻幀時導(dǎo)致紋理映射引擎空閑。視頻數(shù)據(jù)的此連續(xù)解碼導(dǎo)致解碼資源的無效使用。所需要的是一種改善的運(yùn)動補(bǔ)償解碼方案。
描述利用紋理映射引擎的圖形運(yùn)動補(bǔ)償?shù)姆椒ê驮O(shè)備。接收具有涉及宏功能塊的運(yùn)動補(bǔ)償數(shù)據(jù)的命令。對宏功能塊執(zhí)行解碼操作,生成校正數(shù)據(jù)。根據(jù)對應(yīng)于解碼操作輸出的第一順序?qū)⒃撔U龜?shù)據(jù)存儲在紋理調(diào)色板中。執(zhí)行幀預(yù)測操作以響應(yīng)此命令。根據(jù)第二順序從紋理調(diào)色板中讀出此校正數(shù)據(jù),將此校正數(shù)據(jù)與幀預(yù)測操作的結(jié)果組合以生成輸出視頻幀。
附圖的簡述利用示例但不限于附圖中的特征來說明本發(fā)明,在附圖中相同的標(biāo)號表示相同的單元。


圖1是用于與本發(fā)明一起使用的系統(tǒng)。
圖2是適于與本發(fā)明一起使用的MPEG-2解碼處理的方框圖。
圖3是幀傳送與MPEG-2幀顯示的典型時線。
圖4表示3個MPEG-2幀。
圖5表示適于與本發(fā)明一起使用的象素數(shù)據(jù)的概念表示。
圖6是根據(jù)本發(fā)明的一個實施例用于執(zhí)行運(yùn)動補(bǔ)償與紋理映射的組成部分的方框圖。
圖7表示用于16象素乘16象素宏功能塊的亮度校正數(shù)據(jù)。
圖8是根據(jù)本發(fā)明的一個實施例用于運(yùn)動補(bǔ)償解碼的硬件-軟件接口的方框圖。
詳細(xì)描述描述利用紋理映射引擎的圖形運(yùn)動補(bǔ)償?shù)姆椒ê驮O(shè)備。在下面的描述中,為了解釋目的,提出許多具體細(xì)節(jié)以提供本發(fā)明的全面了解。然而,對于本領(lǐng)域技術(shù)人員來說,顯然沒有這些具體細(xì)節(jié)也能實施本發(fā)明。在其他情況中,以方框圖形式表示結(jié)構(gòu)與設(shè)備,以避免使本發(fā)明模糊。
本說明書中的“一個實施例”或“實施例”的提法表示結(jié)合此實施例所述的具體特性、結(jié)構(gòu)或特征包括在本發(fā)明的至少一個實施例中。此說明書中不同地方中短語“在一個實施例中”的出現(xiàn)不一定都指同一實施例。
一般地,本發(fā)明通過從一個或多個基準(zhǔn)圖象中預(yù)測象素彩色重構(gòu)圖象來提供運(yùn)動補(bǔ)償,此預(yù)測能是前向、后向或雙向的。在此所述的結(jié)構(gòu)用于將紋理映射硬件組成部分重復(fù)用于完成數(shù)字視頻數(shù)據(jù)的運(yùn)動補(bǔ)償。修改邊框和邊緣測試,以便為了運(yùn)動補(bǔ)償而處理全部宏功能塊。另外,根據(jù)基于逆離散余弦變換(IDCT)結(jié)果的第一順序?qū)⑾笏財?shù)據(jù)寫入紋理調(diào)色板中并根據(jù)對于基準(zhǔn)的位置而優(yōu)化的第二順序讀出此數(shù)據(jù)。紋理調(diào)色板存儲器管理方案用于保持當(dāng)前數(shù)據(jù)并在傳送運(yùn)動補(bǔ)償命令時避免有效數(shù)據(jù)的重寫。
圖1是適于與本發(fā)明一起使用的系統(tǒng)的一個實施例。系統(tǒng)100包括總線101或用于傳送信息的另一通信設(shè)備和耦合到總線101用于處理信息的處理器102。系統(tǒng)100還包括耦合到總線101的隨機(jī)存取存儲器(RAM)或其他的動態(tài)存儲裝置104(稱為主存儲器),用于存儲處理器102執(zhí)行的信息與指令。主存儲器104在處理器102執(zhí)行指令期間也能用于存儲臨時變量或其他的中間信息。系統(tǒng)100也包括耦合到總線101的只讀存儲器(ROM)和/或其他的靜態(tài)存儲裝置106,用于存儲處理器102的靜態(tài)信息與指令。數(shù)據(jù)存儲裝置107耦合到總線101以存儲信息與指令。
諸如磁盤或光盤的數(shù)據(jù)存儲裝置107與相應(yīng)的驅(qū)動器能耦合到系統(tǒng)100。系統(tǒng)100也能通過總線101耦合到顯示裝置121,諸如陰極射線管(CRT)或液晶顯示器(LCD),用于對計算機(jī)用戶以及支持電路顯示信息。下面更詳細(xì)描述數(shù)字視頻解碼與處理電路。包括字母數(shù)字與其他鍵的字母數(shù)字輸入裝置122一般耦合到總線101,用于傳送信息與命令選擇給處理器102。另一類型的用戶輸入裝置是光標(biāo)控制123,諸如鼠標(biāo)、跟蹤球或光標(biāo)方向鍵,用于給處理器102傳送方向信息與命令選擇并用于控制顯示器121上的光標(biāo)移動。
網(wǎng)絡(luò)接口130在系統(tǒng)100與網(wǎng)絡(luò)(未在圖1中示出)之間提供接口。網(wǎng)絡(luò)接口130例如能用于提供至局域網(wǎng)或至互聯(lián)網(wǎng)的接入。網(wǎng)絡(luò)接口130能用于從遠(yuǎn)程源中接收數(shù)字視頻數(shù)據(jù)以便通過顯示裝置121進(jìn)行顯示。
本發(fā)明的一個實施例涉及系統(tǒng)100用于在圖形紋理映射引擎中執(zhí)行運(yùn)動補(bǔ)償。根據(jù)一個實施例,系統(tǒng)100執(zhí)行運(yùn)動補(bǔ)償以響應(yīng)處理器102執(zhí)行包含在主存儲器104中的一系列指令。
通過遠(yuǎn)程連接(例如,通過網(wǎng)絡(luò))等將指令從諸如磁盤、只讀存儲器(ROM)集成電路(IC)、CD-ROM、DVD的存儲裝置提供給主存儲器104,在可選擇實施例中,硬布線電路能用于代替或與軟件指令組合來實施本發(fā)明。因此,本發(fā)明不限于硬件電路與軟件指令的任何特定組合。
圖2是適用于與本發(fā)明一起使用的MPEG-2解碼處理的方框圖。獲得解碼的視頻數(shù)據(jù)200。解碼的視頻數(shù)據(jù)200能源于本地(例如,存儲器、DVD、CD-ROM)或遠(yuǎn)程(例如,網(wǎng)絡(luò)服務(wù)器、電視會議系統(tǒng))源。
在一個實施例中,利用可變長度碼對編碼視頻數(shù)據(jù)200進(jìn)行編碼。在這樣的實施例中,解碼輸入的比特流并利用可變長度解碼210將此輸入比特流變換為二維陣列??勺冮L度解碼210用于識別輸入數(shù)據(jù)流中例如因為改變數(shù)據(jù)量、改變指令大小等而具有可變長度的指令。
將可變長度解碼210的輸出輸入給逆量化230,這生成一組離散余弦變換(DCT)系數(shù)。DCT系數(shù)的二維陣列通過逆DCT(IDCT)240進(jìn)行處理,生成校正數(shù)據(jù)值的二維陣列。校正數(shù)據(jù)值包括視頻數(shù)據(jù)的運(yùn)動矢量。在一個實施例中,校正數(shù)據(jù)值包括亮度與色度以及運(yùn)動矢量。
將來自IDCT 240的校正數(shù)據(jù)值輸入給運(yùn)動補(bǔ)償方框250,這得到解碼的象素。解碼的象素和校正數(shù)據(jù)值用于存取存儲器260中存儲的象素值數(shù)據(jù)。存儲器260存儲預(yù)測象素和基準(zhǔn)象素。
圖3是幀傳送與MPEG-2幀顯示的典型時線。視頻數(shù)據(jù)流內(nèi)的幀能以不同于顯示順序的順序進(jìn)行解碼。另外,能與不同于圖3所示的順序傳送幀。能根據(jù)本領(lǐng)域公知的幾個因素來選擇幀傳送的順序。
視頻幀分類為內(nèi)部編碼(I)、預(yù)測編碼(P)、雙向預(yù)測編碼(B)。內(nèi)部編碼的幀是不從其他幀中重構(gòu)的幀。換句話說,傳送整個幀而不傳送前面和/或后面幀之間的差異。
根據(jù)幀之間的差異在前一幀和后一幀之間內(nèi)插雙向預(yù)測編碼幀,也能從前向或后向基準(zhǔn)幀中預(yù)測B幀,內(nèi)插從前向基準(zhǔn)圖象中預(yù)測的編碼幀。I、P與B幀的使用在本領(lǐng)域中是公知的并且除了本發(fā)明所涉及的之外不再進(jìn)行詳細(xì)描述。圖3中的下標(biāo)表示編碼器接收的幀的原始順序。下面將更具體描述利用本發(fā)明的I、P與B幀的使用。
圖4表示3個MPEG-2幀。重構(gòu)的圖象是當(dāng)前顯示的B或P幀。前向基準(zhǔn)圖象與重構(gòu)圖象相比在時間上是后向的幀。后向基準(zhǔn)圖象與重構(gòu)圖象相比在時間上是前向的幀。
利用“幀圖象結(jié)構(gòu)”或“場(Field)圖象結(jié)構(gòu)”來重構(gòu)幀。幀圖象包含圖象的每條掃描線,而場圖象只包含交替的掃描線?!绊攬觥卑紨?shù)標(biāo)號的掃描線,而“底場”包含奇數(shù)標(biāo)號的掃描線。下面將更詳細(xì)地描述與運(yùn)動矢量相關(guān)的幀圖象結(jié)構(gòu)和場圖象結(jié)構(gòu)。在一個實施例中,頂場與底場以交錯方式存儲在存儲器中。可選擇地,頭場(Top field)與底場能相互獨(dú)立地進(jìn)行存儲。
一般地,運(yùn)動補(bǔ)償包括通過從一個或多個基準(zhǔn)圖象中前向、后向或雙向預(yù)測得到的象素彩色來重構(gòu)圖象。圖4表示兩個基準(zhǔn)圖象和雙向預(yù)測的重構(gòu)圖象。在一個實施例中,將圖象分成16個象素乘16個象素的宏功能塊。然而,也能使用其他的宏功能塊大小(例如,16×8,8×8)。進(jìn)一步將宏功能塊分成8個象素乘8個象素塊。
在一個實施例中,運(yùn)動矢量在當(dāng)前宏功能塊的左上角上始發(fā)并指向最接近匹配基準(zhǔn)象素所在的偏移位置。運(yùn)動矢量能源于宏功能塊內(nèi)的其他位置并能用于宏功能塊的較小部分。位于運(yùn)動矢量所表示的位置上的象素用于預(yù)測重構(gòu)圖象。
在一個實施例中,重構(gòu)圖象中的每個象素根據(jù)基準(zhǔn)圖象中的象素進(jìn)行雙線性過濾。內(nèi)插從基準(zhǔn)圖象中過濾的彩色以形成新的彩色。能加上基于IDCT輸出的校正項以進(jìn)一步使所得到象素的預(yù)測精確。
圖5表示適用于與本發(fā)明一起使用的象素數(shù)據(jù)的概念表示。每個宏功能塊具有256字節(jié)的亮度(Y)數(shù)據(jù)用于宏功能塊的256個象素,宏功能塊象素的蘭色度(U)與紅色度(U)數(shù)據(jù)以1/4分辨度或宏功能塊的64字節(jié)的U數(shù)據(jù)與64字節(jié)的V數(shù)據(jù)進(jìn)行傳送,并且過濾用于混合象素彩色。也能使用其他的象素編碼方案。
圖6是用于根據(jù)本發(fā)明的一個實施例執(zhí)行運(yùn)動補(bǔ)償與紋理映射的組成部分的方框圖。圖6的組成部分能用于執(zhí)行紋理映射和運(yùn)動補(bǔ)償。在一個實施例中,執(zhí)行運(yùn)動補(bǔ)償解碼以響應(yīng)在此稱為GFXBLOCK命令的特殊命令;然而,也能使用其他的命令名稱與格式。下面參照圖9更詳細(xì)地描述GFXBLOCK命令的一種格式。
耦合命令數(shù)據(jù)流控制器600以便從外部源(例如,處理器或緩沖器)中接收命令。命令數(shù)據(jù)流控制器600對這些命令進(jìn)行語法分析并解碼這些命令以執(zhí)行合適的控制功能。如果收到的命令不是GFXBLOCK命令,則命令數(shù)據(jù)流控制器600將控制信號與數(shù)據(jù)傳送給建立引擎605。命令數(shù)據(jù)流控制器600也控制用于非GFXBLOCK命令的存儲器管理、狀態(tài)變量管理、二維操作等等。
在一個實施例中,在命令數(shù)據(jù)流控制器接收到GFXBLOCK命令時,將校正數(shù)據(jù)傳送給紋理調(diào)色板650并將此數(shù)據(jù)存儲在紋理調(diào)色板650中;然而,能將校正數(shù)據(jù)存儲在任何存儲器中。命令數(shù)據(jù)流控制器600也發(fā)送控制信息給寫地址生成器640。發(fā)送給寫地址生成器640的控制信息包括塊模式比特、預(yù)測類型(例如,I、B或P)等等。寫地址生成器640使用于宏功能塊的象素的校正數(shù)據(jù)以宏功能塊的IDCT操作輸出的順序?qū)懭爰y理調(diào)色板中。在一個實施例中,利用軟件執(zhí)行IDCT操作;然而,也能利用硬件來實施。
圖7表示16象素乘16象素宏功能塊的亮度校正數(shù)據(jù)。一般地,宏功能塊700包括四個標(biāo)記為710、720、730與740的8象素乘8象素塊。每個塊包括4個4象素乘4象素子塊。例如,塊710包括子塊712、714、716與718,而塊720包括子塊722、724、726與728。
寫地址生成器640使用于宏功能塊的象素的校正數(shù)據(jù)以行主順序(row major order)逐個塊被寫到紋理調(diào)色板650。換句話說,將第一行的塊710(象素0-7)在第二行的塊710(象素16-23)之前寫入紋理調(diào)色板650。將其余行的塊710以同一方式寫入紋理調(diào)色板650。
在將塊710的數(shù)據(jù)寫入紋理調(diào)色板650之后,將塊720的數(shù)據(jù)以同一方式寫入紋理調(diào)色板650。因此,將第一行的塊720(象素8-15)在第二行的塊720(象素24-31)之前寫入紋理調(diào)色板650。將其余行的塊720以同一方式寫入紋理調(diào)色板650。塊730與740以同一方式寫入紋理調(diào)色板650。
再參見圖6,命令數(shù)據(jù)流控制器600也發(fā)送控制信息給建立引擎605。在一個實施例中,命令數(shù)據(jù)流控制器600給建立引擎605提供對應(yīng)于正在處理的GFXBLOCK命令的宏功能塊的原點的坐標(biāo)。例如,將坐標(biāo)(0,0)用于幀的左上宏功能塊,或?qū)⒆鴺?biāo)(0,16)用于幀的頂行的第二宏功能塊。
命令數(shù)據(jù)流控制器600也給建立引擎605提供與此宏功能塊相關(guān)的高度與寬度信息。從所提供的信息中,建立引擎605確定包含在此宏功能塊的預(yù)定三角形內(nèi)的邊框。相反地,在執(zhí)行紋理映射時,建立引擎605確定包含此三角形的邊框。因此,在執(zhí)行運(yùn)動補(bǔ)償時,迭代整個宏功能塊而不只是迭代此三角形。
在一個實施例中,利用邊框的左上角與右下角定義此邊框。邊框的左上角是包括在GFXBLOCK命令中的宏功能塊的原點。通過將此區(qū)域高度與寬度加到此原點來計算邊框的右下角。
在一個實施例中,邊框計算根據(jù)下式確定的紋理地址偏移POPOu=Originx+MVx(等式1)和POv=Originy+MVy(等式2)其中Pov和Pou分別是v和u坐標(biāo)的偏移。Originx和Originy分別是邊框原點的x與y坐標(biāo),而MVx和MVy分別是運(yùn)動矢量的x與y分量。PO項以線性方式變換紋理地址。
在一個實施例中,通過根據(jù)下式將運(yùn)動矢量與區(qū)域原點相加來矢量計算Pov與Pou
其中在下面描述等式3與4中的變量。在一個實施例中,下面的值用于GFXBLOCK命令。對于非GFXBLOCK命令,這些值由建立引擎605來計算。利用下面的值,能簡化用于運(yùn)動補(bǔ)償計算的復(fù)雜紋理映射等式,從而允許為這兩個用途而使用硬件。
u、v紋理地址用于確定從基準(zhǔn)象素中提取哪些象素。
映射地址生成器615提供讀地址給提取單元620。由映射地址生成器615生成并提供給提取單元620的讀地址基于利用運(yùn)動矢量所描述的幀之間的象素移動,這允許存儲在存儲器中的象素通過重新安排提取的象素的地址重復(fù)用于后續(xù)幀。在一個實施例中,利用上面列出的值由映射地址生成器615生成的地址簡化為v(x,y)=y(tǒng)+Pov(等式5)和u(x,y)=x+Pou(等式6)建立引擎605給窗口610提供邊框信息。窗口610迭代此邊框內(nèi)的象素以生成利用GFXBLOCK命令寫入的數(shù)據(jù)的寫地址。換而言之,總是通過三角形邊緣等式,這允許窗口610處理整個宏功能塊而不是停在三角形邊界上。
窗口610生成象素寫地址以便將數(shù)據(jù)寫入未在圖6中示出的超高速緩沖存儲器。窗口610也給映射地址生成器615提供宏功能塊的原點并提供運(yùn)動矢量信息給映射地址生成器615。在一個實施例中,窗口610提供控制命令與象素時標(biāo)給映射地址生成器615,此生成器615根據(jù)窗口610與建立引擎605提供的信息確定基準(zhǔn)象素位置。
提取單元620將映射地址生成器615提供的讀地址變換為超高速緩存地址。將提取單元620生成的超高速緩存地址發(fā)送給超高速緩沖存儲器630。將存儲在超高速緩存地址上的象素數(shù)據(jù)發(fā)送給雙線性過濾器625。映射地址生成器615將部分象素位置數(shù)據(jù)與相鄰象素的超高速緩存地址發(fā)送給雙線性過濾器625。如果此運(yùn)動矢量定義小于全象素的移動,則雙線性過濾器625根據(jù)部分位置數(shù)據(jù)與相鄰象素過濾從超高速緩沖存儲器630返回的象素數(shù)據(jù)。雙線性過濾技術(shù)在本領(lǐng)域是公知的并在此不再進(jìn)一步進(jìn)行描述。
在一個實施例中,雙線性過濾器625生成發(fā)送給混合單元670的前向與后向過濾象素信息,能利用圖6所示的獨(dú)立信道發(fā)送此信息給混合單元670,或能在單個信道上時分多路復(fù)用此信息。雙線性過濾器625發(fā)送象素位置信息給讀地址生成器660。如上所述,定位和過濾此象素位置信息。
讀地址生成器660以不同于寫地址生成器640控制的寫入的順序從紋理調(diào)色板650中讀出象素信息。參見圖7,讀地址生成器660使象素數(shù)據(jù)以行主順序逐個子塊從紋理調(diào)色板650中讀出。此排順由于存儲在超高速緩沖存儲器630中的象素基準(zhǔn)的位置而優(yōu)化超高速緩沖存儲器630的性能。換句話說,在第2行的子塊710(象素16-19)之前讀出第1行的子塊712(象素0-3)。以同一方式讀出子塊712的其余象素。
在讀出子塊712的象素之后,以同一方式讀出子塊714的象素。在第二行的子塊714(象素20-23)之前讀出第一行的子塊714(象素4-7)。以同一方式讀出塊710(716與718)的其余子塊,以同一方式讀出塊720的子塊,之后讀出塊730的子塊并且最后讀出塊740的子塊。
將從紋理調(diào)色板650中讀出的象素輸入給混合單元670?;旌蠁卧?70組合來自雙線性調(diào)色板650的象素數(shù)據(jù)和來自紋理調(diào)色板的校正數(shù)據(jù),以生成新視頻幀的輸出象素。映射地址生成器615給雙線性過濾器625提供部分象素定位信息。
圖6的流水線中能同時存在多個GFXBLOCK命令。結(jié)果,校正數(shù)據(jù)流通過紋理調(diào)色板650。管理至紋理調(diào)色板650的讀與寫接入,以使校正數(shù)據(jù)流不復(fù)寫存儲在紋理調(diào)色板650中的有效數(shù)據(jù)。
在一個實施例中,在映射地址生成器615與雙線性過濾器625之間提供FIFO緩沖器(在圖6中未示出)。因為存儲器存取比其他的硬件操作慢,所以至存儲基準(zhǔn)象素的存儲器的存取能安裝流水線操作。FIFO緩沖器允許存儲器等待時間被隱藏,這允許流水線起作用而不必等待基準(zhǔn)象素從存儲器返回,從而改善流水線性能。
為了同時隱藏存儲等待時間并在紋理調(diào)色板650中存儲后續(xù)GFXBLOCK命令的校正數(shù)據(jù),阻止寫地址生成器640復(fù)寫紋理調(diào)色板650中的有效數(shù)據(jù)。在一個實施例中,讀地址生成器660將同步點傳送給寫地址生成器640。這些同步點對應(yīng)于讀地址生成器660將不接入的地址之外的地址。同樣地,寫地址生成器640將同步點傳送給讀地址生成器660來表示有效數(shù)據(jù)。
圖8是根據(jù)本發(fā)明一個實施例的運(yùn)動補(bǔ)償解碼的硬件-軟件接口的方框圖。圖8的方框圖對應(yīng)于運(yùn)動補(bǔ)償電路再現(xiàn)B幀和顯示I幀的時間。在處理視頻數(shù)據(jù)流時,某些輸入和/或輸出幀可以不同。
將壓縮的宏功能塊880存儲在存儲器830中。在一個實施例中,存儲器830包括在計算機(jī)系統(tǒng)或另一電子裝置內(nèi)。也能從諸如例如CD-ROM、DVD播放器等的源中獲得壓縮的宏功能塊880。
在一個實施例中,將壓縮的宏功能塊880存儲在超高速緩沖存儲器810中,將壓縮的宏功能塊存儲在超高速緩沖存儲器810中使處理器800更快地存取壓縮宏功能塊880中的數(shù)據(jù)。在可選擇實施例中,在存儲器830中由處理器800存取壓縮的宏功能塊880。
處理器800處理存儲在超高速緩沖存儲器810中的宏功能塊以便語法分析和解釋宏功能塊命令。在一個實施例中,處理器800也執(zhí)行一系列指令以便對存儲在超高速緩沖存儲器810中的宏功能塊數(shù)據(jù)執(zhí)行一個或多個IDCT操作。處理器800將IDCT操作的結(jié)果和命令數(shù)據(jù)存儲在存儲緩沖器820中。存儲緩沖器820分級存儲在存儲器830中的數(shù)據(jù)。
將來自存儲緩沖器820的數(shù)據(jù)存儲在運(yùn)動補(bǔ)償命令緩沖器890中。在一個實施例中,運(yùn)動補(bǔ)償命令緩沖器890是存儲諸如在運(yùn)動補(bǔ)償電路840處理之前的GFXBLOCK命令的運(yùn)動補(bǔ)償命令的FIFO隊列。運(yùn)動補(bǔ)償電路840如上面結(jié)合圖6所述對運(yùn)動補(bǔ)償命令進(jìn)行操作。
在圖8的示例中,運(yùn)動補(bǔ)償電路840從I幀852與P幀854中重構(gòu)B幀858。在一個實施例中,將各個幀存儲在視頻存儲器850中??蛇x擇地,能將幀存儲在存儲器830或某一其他存儲器中。如果例如運(yùn)動補(bǔ)償電路840在再現(xiàn)B幀,則從視頻存儲器850中讀出單個幀以便重構(gòu)。在圖8的示例中,將4個幀存儲在視頻存儲器850中;然而,能將任何數(shù)量的幀存儲在視頻存儲器850中。
顯示的幀(I幀852)由重疊電路860從視頻存儲器850中讀出。重疊電路860將YUV編碼的幀變換為紅-綠-蘭(RGB)編碼的幀,以致能利用顯示裝置870顯示這些幀。如果需要的話,重疊電路860能將顯示的幀變換為其他的格式。
在前面的說明中,結(jié)合其特定實施例描述了本發(fā)明。然而,能對其進(jìn)行各種修改與變化而不背離本發(fā)明的較寬的精神與范疇。因此,此說明書與附圖應(yīng)認(rèn)為是示意性而不是限制性的。
權(quán)利要求
1.數(shù)字視頻數(shù)據(jù)的運(yùn)動補(bǔ)償?shù)囊环N方法,此方法包括接收具有涉及宏功能塊的相關(guān)校正數(shù)據(jù)的運(yùn)動補(bǔ)償命令;根據(jù)對應(yīng)于此運(yùn)動補(bǔ)償命令的第一順序?qū)⒋诵U龜?shù)據(jù)存儲在存儲器中;根據(jù)此運(yùn)動補(bǔ)償命令執(zhí)行幀預(yù)測操作;根據(jù)第二順序從存儲器中讀出此校正數(shù)據(jù);和將此校正數(shù)據(jù)與幀預(yù)測操作的結(jié)果組合,以生成一個輸出視頻幀。
2.如權(quán)利要求1的方法,根據(jù)逆離散余弦變換(IDCT)操作的輸出確定第一順序。
3.如權(quán)利要求1的方法,執(zhí)行幀預(yù)測操作還包括生成包含此宏功能塊的邊框;和迭代此邊框;提取基準(zhǔn)象素;過濾這些基準(zhǔn)象素;在需要時,平均過濾的基準(zhǔn)象素;和將校正數(shù)據(jù)附加到這些基準(zhǔn)象素上。
4.如權(quán)利要求1的方法,其中此運(yùn)動補(bǔ)償數(shù)據(jù)包括至少一個運(yùn)動矢量。
5.如權(quán)利要求1的方法,還包括對此宏功能塊執(zhí)行紋理操作。
6.用于數(shù)字視頻數(shù)據(jù)的運(yùn)動補(bǔ)償?shù)囊环N設(shè)備,此設(shè)備包括用于接收具有涉及宏功能塊的相關(guān)校正數(shù)據(jù)的運(yùn)動補(bǔ)償命令的裝置;用于根據(jù)對應(yīng)于此運(yùn)動補(bǔ)償命令的第一順序?qū)⒋诵U龜?shù)據(jù)存儲在存儲器中的裝置;用于執(zhí)行幀預(yù)測操作以響應(yīng)此運(yùn)動補(bǔ)償命令的裝置;用于根據(jù)第二順序從存儲器中讀出此校正數(shù)據(jù)的裝置;和用于將此校正數(shù)據(jù)與幀預(yù)測操作的結(jié)果組合以生成輸出視頻幀的裝置。
7.如權(quán)利要求6的設(shè)備,第一順序基于逆離散余弦變換(IDCT)操作的輸出。
8.如權(quán)利要求6的設(shè)備,執(zhí)行幀預(yù)測操作還包括;用于生成包含此宏功能塊的邊框的裝置;和用于迭代此邊框的裝置;用于提取基準(zhǔn)象素的裝置;用于過濾這些基準(zhǔn)象素的裝置;用于在需要時平均過濾的基準(zhǔn)象素的裝置;和用于將校正數(shù)據(jù)附加到這些基準(zhǔn)象素上的裝置。
9.如權(quán)利要求6的設(shè)備,其中此運(yùn)動補(bǔ)償數(shù)據(jù)包括至少一個運(yùn)動矢量。
10.如權(quán)利要求6的設(shè)備,還包括用于對此宏功能塊執(zhí)行紋理操作的裝置。
11.用于生成運(yùn)動補(bǔ)償視頻的一種電路,此電路包括耦合以接收控制運(yùn)動補(bǔ)償視頻數(shù)據(jù)的指令的命令數(shù)據(jù)流控制器;寫地址生成器,耦合到此命令數(shù)據(jù)流控制器;存儲器,耦合到此命令數(shù)據(jù)流控制器并耦合到此寫地址生成器,紋理調(diào)色板以此寫地址生成器確定的第一順序存儲象素數(shù)據(jù);處理電路,耦合到寫地址生成器,以便從此命令數(shù)據(jù)流控制器中接收控制信息與數(shù)據(jù)來生成重構(gòu)視頻幀;讀地址生成器,耦合到此處理電路并耦合到此存儲器,此讀地址生成器使此存儲器以第二順序輸出象素數(shù)據(jù)。
12.如權(quán)利要求11的電路,其中第一順序是逐個塊行主順序。
13.如權(quán)利要求11的電路,其中第一順序?qū)?yīng)于逆離散余弦變換操作的輸出序列。
14.如權(quán)利要求11的電路,其中第二順序是逐個子塊行主順序。
15.如權(quán)利要求11的電路,其中此處理電路包括確定利用此指令控制的象素的邊框的建立引擎,其中此邊框包含宏功能塊的所有邊緣。
16.如權(quán)利要求11的電路,其中此處理電路包括具有其中處理邊框中的三角形內(nèi)的象素的第一模式和其中處理邊框內(nèi)的所有象素的第二模式的窗口。
全文摘要
描述用于利用紋理映射引擎進(jìn)行數(shù)字視頻數(shù)據(jù)的運(yùn)動補(bǔ)償?shù)姆椒ㄅc設(shè)備。一般地,本發(fā)明通過從一個或多個基準(zhǔn)圖象中預(yù)測象素彩色重構(gòu)圖象來提供運(yùn)動補(bǔ)償,此預(yù)測能是前向、后向或雙向的。在此所述的結(jié)構(gòu)將紋理映射硬件部分重復(fù)用于完成數(shù)字視頻數(shù)據(jù)的運(yùn)動補(bǔ)償。修改邊框和邊緣檢驗,以便為了運(yùn)動補(bǔ)償而處理宏功能塊。另外,根據(jù)基于逆離散余弦變換(IDCT)結(jié)果的第一順序?qū)⑾笏財?shù)據(jù)寫入紋理調(diào)色板并根據(jù)對于基準(zhǔn)的位置而優(yōu)化的第二順序讀出此象素數(shù)據(jù)。提供紋理調(diào)色板存儲器管理方案以保持當(dāng)前數(shù)據(jù)并在傳送運(yùn)動補(bǔ)償命令時避免有效數(shù)據(jù)的重寫。
文檔編號H03M7/36GK1346573SQ99816443
公開日2002年4月24日 申請日期1999年12月21日 優(yōu)先權(quán)日1999年1月7日
發(fā)明者T·A·皮亞扎, V·G·庫克 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
济源市| 霍州市| 华安县| 北碚区| 山西省| 任丘市| 左云县| 玛多县| 浪卡子县| 石景山区| 九江市| 密云县| 永修县| 新干县| 鄂托克前旗| 怀宁县| 永春县| 广宁县| 雅江县| 高雄县| 云南省| 安义县| 宝山区| 涞源县| 青龙| 寿宁县| 武山县| 封开县| 当雄县| 农安县| 石阡县| 交口县| 临汾市| 灵璧县| 民乐县| 天等县| 磐安县| 大宁县| 日照市| 报价| 通山县|