專利名稱:可編程視頻處理單元及視頻數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于處理視頻以及圖形數(shù)據(jù),更特定言之,本發(fā)明是關(guān)于提供一種具有可編程核心的視頻處理單元。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,對(duì)計(jì)算設(shè)備的需求亦隨之提升。更特定言之,許多計(jì)算機(jī)應(yīng)用程序及/或數(shù)據(jù)流需要對(duì)視頻數(shù)據(jù)進(jìn)行處理,隨著視頻數(shù)據(jù)變得愈加復(fù)雜,對(duì)視頻數(shù)據(jù)的處理要求亦隨之增加。
目前,許多計(jì)算架構(gòu)提供用于處理包括視頻以及圖形數(shù)據(jù)的中央處理單元(CPU),雖然CPU可提供用于一些視頻以及圖形的適當(dāng)處理能力,但CPU亦需處理其他數(shù)據(jù)。因此,在處理復(fù)雜視頻以及圖形中對(duì)CPU的需求可能會(huì)不利地影響整個(gè)系統(tǒng)的效能。
另外,許多計(jì)算架構(gòu)包括用于處理數(shù)據(jù)的一個(gè)或多個(gè)執(zhí)行單元(EU)。更特定言之,在至少一架構(gòu)中EU可用以處理多個(gè)不同類型的數(shù)據(jù)。如同CPU般,對(duì)EU的需求衍生自處理復(fù)雜視頻以及圖形數(shù)據(jù)可能會(huì)不利地影響整個(gè)計(jì)算系統(tǒng)的效能。另外,由EU處理復(fù)雜視頻以及圖形數(shù)據(jù)可能增加功率消耗以致超過可接受的臨限值。此外,數(shù)據(jù)的不同協(xié)議或規(guī)格更會(huì)限制EU處理視頻以及圖形數(shù)據(jù)的能力。另外,目前許多計(jì)算架構(gòu)提供32位命令,該情況可能降低效率,因而影響處理速度。此外,單一組件中利用多個(gè)操作亦是另一需求。
因此,工業(yè)領(lǐng)域中存在解決上述缺陷以及不足迄今仍未解決的需求。
發(fā)明內(nèi)容
本發(fā)明包括用于處理視頻數(shù)據(jù)的實(shí)施例。本發(fā)明的一實(shí)施例包括一種用以處理至少兩種格式的視頻數(shù)據(jù)的可編程視頻處理單元,包含濾波邏輯電路,用以根據(jù)視頻數(shù)據(jù)的格式濾波視頻數(shù)據(jù);轉(zhuǎn)換邏輯電路,用以根據(jù)視頻數(shù)據(jù)的格式轉(zhuǎn)換視頻數(shù)據(jù);以及用以輸出視頻數(shù)據(jù)以供后續(xù)處理的邏輯電路。其中濾波邏輯電路與轉(zhuǎn)換邏輯電路可并行運(yùn)作。上述視頻數(shù)據(jù)的格式可為MPEG-2格式、VC-1格式與H.264格式其中之一。
本發(fā)明亦包括用于處理視頻數(shù)據(jù)的方法的實(shí)施例。至少一實(shí)施例自一指令集接收一指令;接收選自至少兩種格式之一的視頻數(shù)據(jù);以及根據(jù)指令處理視頻數(shù)據(jù)。其中指令包含一識(shí)別欄位用以指示視頻數(shù)據(jù)的格式;以及其中處理視頻數(shù)據(jù)的步驟根據(jù)識(shí)別欄位利用多個(gè)演算法執(zhí)行處理。
本發(fā)明揭露的其他系統(tǒng)、方法、特征以及優(yōu)點(diǎn)在檢視了以下圖式以及詳細(xì)描述之后對(duì)于本領(lǐng)域技術(shù)人員將是明顯的或變得明顯。預(yù)期將所有此等額外系統(tǒng)、方法、特征以及優(yōu)點(diǎn)包括于此描述內(nèi)容內(nèi)及本揭露內(nèi)容的范疇內(nèi)。
本發(fā)明所提供的可編程視頻處理單元及視頻數(shù)據(jù)處理方法,可提高視頻數(shù)據(jù)的處理速度。
圖1為用于處理視頻數(shù)據(jù)的計(jì)算架構(gòu)的實(shí)施例。
圖2為類似于圖1的架構(gòu)的引入了視頻處理單元(VPU)的計(jì)算架構(gòu)的實(shí)施例。
圖3為諸如在圖2的計(jì)算架構(gòu)中用于處理視頻以及圖形數(shù)據(jù)的過程的流程圖實(shí)施例。
圖4A為在計(jì)算裝置(諸如具有圖2的計(jì)算架構(gòu)的計(jì)算裝置)中的數(shù)據(jù)流的功能流程圖實(shí)施例。
圖4B為圖4A的功能流程圖的延續(xù)。
圖4C為圖4A以及圖4B的功能流程圖的延續(xù)。
圖5A為諸如在圖2的計(jì)算架構(gòu)中可用于提供動(dòng)態(tài)壓縮(MC)及/或離散余弦轉(zhuǎn)換(DCT)操作的組件實(shí)施例的功能方塊圖。
圖5B為圖5A的圖的延續(xù)。
圖5C為圖5A以及圖5B的圖的延續(xù)。
圖5D為圖5A-圖5C的圖的延續(xù)。
圖5E為圖5A-圖5D的圖的延續(xù)。
圖5F為圖5A-圖5E的組件的總圖的實(shí)施例。
圖6為可用于計(jì)算架構(gòu)(諸如圖2的計(jì)算架構(gòu))的像素處理引擎的功能方塊圖。
圖7A為說明可用于VC-1回路內(nèi)濾波器(諸如在圖2的計(jì)算架構(gòu)中)的組件的功能方塊圖。
圖7B為圖7A的圖的延續(xù)。
圖7C為圖7A以及圖7B的圖的延續(xù)。
圖7D為圖7A-圖7C的圖的延續(xù)。
圖8為可用于在計(jì)算架構(gòu)(諸如圖2的計(jì)算架構(gòu))中執(zhí)行絕對(duì)差和計(jì)算的組件的方塊圖。
圖9為類似于圖8可用于執(zhí)行絕對(duì)差和計(jì)算的過程的實(shí)施例的流程圖。
圖10A為說明可用于解塊操作中(諸如可在圖2的計(jì)算機(jī)架構(gòu)中執(zhí)行)的多個(gè)組件的方塊圖。
圖10B為圖10A的圖的延續(xù)。
圖10C為圖10A以及圖10B的圖的延續(xù)。
圖10D為圖10A-圖10C的圖的延續(xù)。
圖10E為圖10A-圖10D的圖的延續(xù)。
圖11為可用于在計(jì)算架構(gòu)(諸如圖2的計(jì)算架構(gòu))中執(zhí)行數(shù)據(jù)的過程的實(shí)施例流程圖。
具體實(shí)施例方式
圖1為用于處理視頻數(shù)據(jù)的計(jì)算架構(gòu)的一實(shí)施例。如圖1所示,計(jì)算裝置可包括執(zhí)行單元(Execution Unit,EU)的集區(qū)(pool)146。執(zhí)行單元的集區(qū)146可包括用于在圖1的計(jì)算架構(gòu)中執(zhí)行數(shù)據(jù)的一個(gè)或多個(gè)執(zhí)行單元。執(zhí)行單元的集區(qū)146(本文中稱為“EUP146”)可耦接至數(shù)據(jù)流快取存儲(chǔ)器116,且自數(shù)據(jù)流快取存儲(chǔ)器116接收數(shù)據(jù)。EUP146亦可耦接至輸入端口142以及輸出端口144。輸入端口142可用以自具有快取存儲(chǔ)器子系統(tǒng)的EUP控制器118接收數(shù)據(jù)。輸入端口142亦可自L2快取存儲(chǔ)器114以及后封裝器160接收數(shù)據(jù)。EUP146可處理所接收的數(shù)據(jù),且將經(jīng)處理后的數(shù)據(jù)輸出至輸出端口144。
另外,具有快取存儲(chǔ)器子系統(tǒng)的EUP控制器118可將數(shù)據(jù)發(fā)送至存儲(chǔ)器存取單元(memory access unit,以下簡(jiǎn)稱MXU)A164a以及三角與屬性配置單元(triangle and attribute setup)134。L2快取存儲(chǔ)器114亦可將數(shù)據(jù)發(fā)送至MXU A 164a,且自MXU A164a接收數(shù)據(jù)。頂點(diǎn)快取存儲(chǔ)器(vertex cache)112以及數(shù)據(jù)流快取存儲(chǔ)器110亦可與MXU A 164a通信,存儲(chǔ)器存取端口108亦與MXU A 164a通信。存儲(chǔ)器存取端口108可與總線接口單元(bus interface unit,BIU)90、存儲(chǔ)器接口單元(memory interfaceunit,MIU)A 106a、MIU B 106b、MIU C 106c以及MIU D 106d通信數(shù)據(jù),存儲(chǔ)器存取端口108亦可耦接至MXU B 164b。
MXU A 164a亦耦接至命令流處理器(command streamprocessor,以下簡(jiǎn)稱CSP)前端120以及CSP后端128。CSP前端120耦接至3D與狀態(tài)組件122,3D與狀態(tài)組件122耦接至具有快取存儲(chǔ)器子系統(tǒng)的EUP控制器118。CSP前端120亦耦接至2D前置組件(pre component)124,2D前置組件124耦接至2D先進(jìn)先出(FIFO)組件126。CSP前端120亦與清晰度及型號(hào)紋理處理器(clear and type texture processor)130以及高級(jí)加密系統(tǒng)(advanced encryption system,AES)加密/解密組件132通信數(shù)據(jù)。CSP后端128耦接至跨距像磚產(chǎn)生器(span-tile generator)136。
三角與屬性配置單元134耦接至3D與狀態(tài)組件122、具有快取存儲(chǔ)器子系統(tǒng)的EUP控制器118以及跨距像磚產(chǎn)生器136。跨距像磚產(chǎn)生器136可用以將數(shù)據(jù)發(fā)送至ZL1快取存儲(chǔ)器123,跨距像磚產(chǎn)生器136亦可耦接至ZL1138,ZL1138可將數(shù)據(jù)發(fā)送至ZL1快取存儲(chǔ)器123。ZL2140可耦接至Z(例如,深度緩沖快取存儲(chǔ)器)及模板(stencil,ST)快取存儲(chǔ)器148。Z及ST快取存儲(chǔ)器148可透過寫回單元162來發(fā)送及接收數(shù)據(jù),且可耦接至頻寬(以下簡(jiǎn)稱BW)壓縮器146。BW壓縮器146亦可耦接至MXUB 164b,MXU B 164b可耦接至紋理快取存儲(chǔ)器與控制器166。紋理快取存儲(chǔ)器與控制器166可耦接至紋理濾波單元(texturefilter unit,以下簡(jiǎn)稱TFU)168,TFU168可將數(shù)據(jù)發(fā)送至后封裝器160。后封裝器160可耦接至內(nèi)插器158。前封裝器156可耦接至內(nèi)插器158以及紋理地址產(chǎn)生器150。寫回單元162可耦接至2D處理組件(pro component)154、D快取存儲(chǔ)器152、Z與ST快取存儲(chǔ)器148、輸入端口142以及CSP后端128。
圖1的實(shí)施例經(jīng)由利用EUP146來處理視頻數(shù)據(jù)。更特定言之,在至少一實(shí)施例中,執(zhí)行單元的一個(gè)或多個(gè)可用以處理視頻數(shù)據(jù)。雖然此架構(gòu)可適用于一些應(yīng)用,但此架構(gòu)可能消耗過量功率;另外,此架構(gòu)在處理H.264數(shù)據(jù)中可能頗具難度。
圖2為類似于圖1架構(gòu)且引入了視頻處理單元(videoprocessing unit,以下簡(jiǎn)稱VPU)的計(jì)算架構(gòu)的一實(shí)施例。更特定言之,在圖2的實(shí)施例中,可在圖1的計(jì)算架構(gòu)中提供具有可編程核心的VPU199。VPU199可耦接至CSP前端120以及TFU168。VPU199可作為用于視頻數(shù)據(jù)的專用處理器。另外,VPU199可用以處理以動(dòng)畫專家群(以下簡(jiǎn)稱MPEG)、VC-1以及H.264協(xié)議編碼的視頻數(shù)據(jù)。
更特定言之,在至少一實(shí)施例中,可在執(zhí)行單元(EU)146的一個(gè)或多個(gè)上執(zhí)行遮影器碼(shader code)。指令可經(jīng)譯碼及自暫存器提取,主要以及次要操作碼可用以判定運(yùn)算元被投送的EU以及可基于此運(yùn)算元執(zhí)行運(yùn)算的函數(shù)。若操作屬于SAMPLE類型(舉例而言,所有VPU指令皆為SAMPLE類型),則可自EUP146調(diào)度指令。盡管VPU199可用以減少使用TFU濾波硬件,但VPU199也可與TFU168一起駐存。
用于SAMPLE操作的EUP146構(gòu)建580位的數(shù)據(jù)結(jié)構(gòu)(見表1)。EUP146提取SAMPLE指令所指示的來源暫存器,此數(shù)據(jù)被置放于EUP-TAG接口結(jié)構(gòu)的最低有效512位中。EUP146插入于此結(jié)構(gòu)中的其他相關(guān)數(shù)據(jù)為REG_TYPE此應(yīng)為0ThreadID-用以將結(jié)果投送回正確的遮影器程序ShaderResID-ShaderType=PSCRFIndex-目的暫存器SAMPLE_MODE-此為待執(zhí)行的VPU濾波操作ExeMode=垂直此數(shù)據(jù)結(jié)構(gòu)隨后可被發(fā)送至紋理地址產(chǎn)生器(textureaddress generator,以下簡(jiǎn)稱TAG)150。TAG150可用以檢查SAMPLE_MODE位以判定數(shù)據(jù)欄位是否含有紋理樣本信息或?qū)嶋H數(shù)據(jù)。若含有實(shí)際數(shù)據(jù),則TAG150將數(shù)據(jù)直接轉(zhuǎn)發(fā)至VPU199,否則TAG150可啟始紋理提取。
表1用于視頻處理的EUP-TAG接口
若SAMPLE_MODE為MCF、SAD、IDF_VC-1、IDF_H264_0或IDF_H264_1中的一個(gè),則其需要提取紋理數(shù)據(jù),否則數(shù)據(jù)在Data欄位中。
TAG150用以產(chǎn)生地址所需且傳遞至紋理快取存儲(chǔ)器控制器(texture cache controller,以下簡(jiǎn)稱TCC)166的信息可在Data欄位的最低有效128位中找到位[31:0]-U、V坐標(biāo),此構(gòu)成紋理塊的地址(4×4×8位)位[102:96]-T#位[106:103]-S#T#、S#、U以及V為自特定表面提取的紋理所需的充分信息。U、V、T#、S#可在譯碼期間自INSTRUCTION的SRC1欄位提取,且可用于填充以上欄位。因此,可在執(zhí)行期間動(dòng)態(tài)地修改U、V、T#、S#。
隨后SAMPLE_MODE以及含有此信息的數(shù)據(jù)的最低有效128位可置放于VPU199的命令先進(jìn)先出存儲(chǔ)器(以下簡(jiǎn)稱COMMAND FIFO)中,相對(duì)應(yīng)的數(shù)據(jù)先進(jìn)先出存儲(chǔ)器(DATAFIFO)可填充以自紋理快取存儲(chǔ)器被轉(zhuǎn)發(fā)的數(shù)據(jù)(位[383:128])或256位(最大)。此數(shù)據(jù)將在VPU199中被操作運(yùn)算,該操作是由COMMAND FIFO的信息來判定的,其結(jié)果(最大256位)可使用ThreadID以及CRFIndex作為傳回地址傳回至EUP146以及EU暫存器。
另外,本發(fā)明包括由EUP146提供且可供VPU199使用的指令集,其指令可格式化成64位,然而此非必要。更特定言之,在至少一實(shí)施例中,VPU指令集可包括一或多個(gè)動(dòng)態(tài)補(bǔ)償濾波(motion compensation filter,以下簡(jiǎn)稱MCF)指令。在此實(shí)施例中可能存在以下MCF指令的一個(gè)或多個(gè)SAMPLE_MCF_BLRDST、S#、T#、SRC2、SRC1SAMPLE_MCF_VC1DST、S#、T#、SRC2、SRC1SAMPLE_MCF_H264 DST、S#、T#、SRC2、SRC1SRC1的第一組32位含有U、V坐標(biāo),其中最低有效16位為U。由于可不使用或可忽略SRC2,因此SRC2可為任何值,例如為含有4元素濾波核心的32位值,每一元素為如下揭示帶正負(fù)號(hào)的8位。
表2MCF濾波核心
另外,VPU199的指令集還包括關(guān)于回路內(nèi)解塊濾波(Inloop Deblocking Filtering,以下簡(jiǎn)稱IDF)的指令,如以下指令的一個(gè)或多個(gè)SAMPLE_IDF_VC1 DST、S#、T#、SRC2、SRC1
SAMPLE_IDF_H264_0 DST、S#、T#、SRC2、SRC1SAMPLE_IDF_H264_1 DST、S#、T#、SRC2、SRC1SAMPLE_IDF_H264_2 DST、S#、T#、SRC2、SRC1對(duì)于VC-1 IDF的操作,TFU168可將8×4×8位(或4×8×8位)數(shù)據(jù)提供至濾波緩沖器中。然而,對(duì)于H.264,由TFU168輸送的數(shù)據(jù)量可視H.264 IDF操作的類型加以控制。
對(duì)于SAMPLE_IDF_H264_0指令,TFU供應(yīng)8×4×8位(或4×8×8位)的數(shù)據(jù)塊。對(duì)于SAMPLE_IDF_H264_1指令,TFU168供應(yīng)一4×4×8位的數(shù)據(jù)塊,且另一4×4×8位數(shù)據(jù)由遮影器(EU)146(圖2)供應(yīng)。另外,通過SAMPLE_IDF_H264_2,兩個(gè)4×4×8位數(shù)據(jù)塊皆可由遮影器(位于EU)146供應(yīng),而非來自TFU168。
另外,VPU199的指令集還包括動(dòng)態(tài)估計(jì)(motionestimation,以下簡(jiǎn)稱ME)指令,其可包括諸如以下列出的指令SAMPLE_SADDST、S#、T#、SRC2、SRC1。
以上指令可映射至以下主要以及次要操作碼且采取以上所述的格式。以下在相關(guān)指令部分中論述SRC以及DST格式的細(xì)節(jié)。
表3動(dòng)態(tài)估計(jì)以及相應(yīng)操作碼
其中LCK指示在位集鎖定EU數(shù)據(jù)路徑且不允許另一線程進(jìn)入管道時(shí)的LOCK。NEG指示反轉(zhuǎn)述詞暫存器(predicateregister)。S#、T#欄位被VPU SAMPLE指令忽略。而替代地使用以SRC1編碼的T#、S#欄位。
表4動(dòng)態(tài)補(bǔ)償濾波以及相應(yīng)操作碼
表5轉(zhuǎn)換系數(shù)濾波(transform coefficient filtering,以下簡(jiǎn)稱TCF)以及相應(yīng)操作碼
SAMPLE指令依循圖3中所示的執(zhí)行路徑。另外,EUP-TAG接口如以下表6,其他接口亦會(huì)在稍后更詳細(xì)地描述。
表6用于視頻處理的EUP-TAG接口
應(yīng)注意紋理樣本濾波操作亦可映射至Sample Mode欄位,在此種狀況下值為00XXX。值11XXX目前保留以供未來使用。另外,在本文中所揭露的至少一實(shí)施例中,一些視頻功能可插入至紋理管線中以再利用L2快取存儲(chǔ)器邏輯電路以及一些L2以過濾載入MUX的數(shù)據(jù),如ME(動(dòng)態(tài)估計(jì))、MC(動(dòng)態(tài)補(bǔ)償)、TC(轉(zhuǎn)換編碼)以及ID(回路內(nèi)解塊)。
以下表格總結(jié)對(duì)于不同樣本指令的自TCC166及/或TFU168的數(shù)據(jù)載入準(zhǔn)則。應(yīng)注意視特殊架構(gòu)而定,Sample_MC_H264可僅用于Y平面,但對(duì)于CrCb平面并非為必需的。
表7用于視頻的數(shù)據(jù)載入
在本文中所揭露的至少一實(shí)施例中,Y平面可包括HSF_Y0Y1Y2Y3_32BPE_VIDEO2鋪磚格式。CrCb平面包括交錯(cuò)CrCb通道且被視為HSF_CrCb_16BPE_VIDEO鋪磚格式。若不要求CbCr交錯(cuò)平面,則對(duì)于Cb或Cr,均可利用與Y平面相同的格式。
另外,已將以下指令添加至遮影器指令集架構(gòu)(ISA)。
SAMPLE_MCF_BLR DST、S#、T#、SRC2、SRC1SAMPLE_MCF_VC1 DST、S#、T#、SRC2、SRC1SAMPLE_MCF_H264DST、S#、T#、SRC2、SRC1SAMPLE_IDF_VC1 DST、S#、T#、SRC2、SRC1SAMPLE_IDF_H264_0 DST、S#、T#、SRC2、SRC1SAMPLE_IDF_H264_1 DST、S#、T#、SRC2、SRC1SAMPLE_SAD DST、S#、T#、SRC2、SRC1SAMPLE_TCF_MPEG2 DST、#ctrl、SRC2、SRC1SAMPLE_TCF_I4×4 DST、#ctrl、SRC2、SRC1SAMPLE_TCF_M4×4 DST、#ctrl、SRC2、SRC1SAMPLE_MADDDST、#ctrl、SRC2、SRC1
SAMPLE_IDF_H264_2 DST、#ctrl、SRC2、SRC1用于SAMPLE_IDF_H264_2的#ctrl應(yīng)為零。
SRC1、SRC2以及#ctrl(可用時(shí))可用以形成如以下表8中所示在EU/TAG/TCC接口中的512位數(shù)據(jù)欄位。
表8用于多個(gè)控制信號(hào)的數(shù)據(jù)欄位
表9SRC1、SRC2以及#ctrl的格式
參看表8,TR=轉(zhuǎn)置;FD=濾波方向(垂直=1);bS=邊界強(qiáng)度(Boundary Strength);BR=BR控制,YC位(于CbCr平面YC=1;于Y平面則YC=0),以及CEF=色度邊緣標(biāo)志(Chroma Edge Flag)。另外,當(dāng)32位或(或更少位)使用于SRC1或SRC2(剩余未定義)時(shí),可規(guī)定巷(lane)選擇以減低暫存器的使用。
雖然以上描述了指令格式,但以下在表10中包括對(duì)指令操作的概述。
表10指令概述
另外,對(duì)于SAMPLE_MADD而言,#ctrl可為11位的立即值,此外還須執(zhí)行兩個(gè)4×4矩陣(SRC1以及SRC2)的加法。任一矩陣的一個(gè)或多個(gè)元素可為16位帶正負(fù)號(hào)的整數(shù),其結(jié)果(DST)為4×4(16位)矩陣。矩陣可如以下在表11中所示置放于來源/目的暫存器中,此可為VPU內(nèi)的個(gè)別單元。另外,SRC1以及#ctrl數(shù)據(jù)于周期1時(shí)可供存取,且SRC2于隨后的周期亦可存取,因此,可每?jī)芍芷诎l(fā)布一個(gè)操作。
#ctrl
指示是否執(zhí)行飽和(saturation,SAT)操作。
#ctrl[1]指示是否執(zhí)行舍入(rounding,R)操作。
#ctrl[2]指示是否執(zhí)行1位右移(shife,S)操作。
#ctrl[10:3]忽略。
表11用于來源矩陣以及目的矩陣的暫存器
另外,與此數(shù)據(jù)相關(guān)的邏輯準(zhǔn)則可包括以下#Lanes=16;#Lanewidth=16;
If(#ctrl[1])R=1;ELSE R=0;If(#ctrl[2])S=1;ELSE S=0;IF(#ctrl
)SAT=1;ELSE SAT=0;For(I=0;I<#Lanes;I+=1){Base=I*#Lanewidth;Top=Base+#Lanewidth-1;Source1[I]=SRC1[Top..Base];Source2[I]=SRC2[Top..Base];Destination[I]=(Source1[I]+Source2[I]+R)>>S;IF(SAT)Destination[I]=MIN(MAX(Destination[I],0),255);DST[Top..Base]=Destination[I];再次參看表9,其為執(zhí)行純量矩陣相乘。#ctrl為11位立即值,此值可為0(亦即,#ctrl信號(hào)將忽略)。此指令在與SAMPLE_TCF以及SAMPLE_IDF_H264_2相同的群中。與此指令相關(guān)的邏輯準(zhǔn)則可包括以下#Lanes=16;#Lanewidth=16;MMODE=Control_4[17:16];SM=Control_4[7:0];SP=Control_4[15:8];//僅使用最低有效5位For(I=0;I<#Lanes;I+=1){Base=I*#Lanewidth;Top=Base+#Lanewidth-1;Source2[I]=SRC2[Top..Base];Destination[I]=(SM*Source2[I])>>SP;DST[Top..Base]=Destination[I];}此是使用VPU中用于執(zhí)行MCF/TCF的FIR_FILTER_BLOCK單元來實(shí)施的。SM為施加至所有巷的加權(quán)(例如,W
=W[1]=W[2]=W[3]=SM),Pshife為SP。當(dāng)執(zhí)行此操作時(shí),F(xiàn)IR_FILTER_BLOCK中的總和加法器被越過,自16×8位乘法所得的四個(gè)結(jié)果可被移位,且每一結(jié)果的最低有效16位被收集在一起成為16個(gè)16位結(jié)果,以回傳遞至EU。
圖3為說明如圖2的計(jì)算架構(gòu)中用于處理視頻數(shù)據(jù)的過程的流程圖的實(shí)施例。更特定言之,如圖3的實(shí)施例所說明,命令流處理器可將數(shù)據(jù)以及指令發(fā)送至EUP146。EUP146相應(yīng)地可用以讀取指令且處理所接收的數(shù)據(jù)。EUP146隨后可將指令、經(jīng)處理的數(shù)據(jù)以及來自EUP紋理地址產(chǎn)生器(TAG)接口242的數(shù)據(jù)發(fā)送至紋理地址產(chǎn)生器(TAG)150。TAG150可用以產(chǎn)生已處理數(shù)據(jù)的地址。TAG150隨后可將數(shù)據(jù)以及指令發(fā)送至紋理快取存儲(chǔ)器控制器(texture cache controller,TCC)166。TCC166可用以快取用于紋理濾波單元(texture filter unit,TFU)168的數(shù)據(jù)。TFU168可根據(jù)所接收的指令來濾波所接收的數(shù)據(jù),且將經(jīng)濾波的數(shù)據(jù)發(fā)送至視頻可編程單元(VPU)199。VPU199可根據(jù)所接收的指令來處理所接收的數(shù)據(jù),且將經(jīng)處理數(shù)據(jù)發(fā)送至后封裝器(postpacker,PSP)160。PSP160可自諸如TFU168的各組件來收集像素包。若像磚是部分完整的,則PSP160可封裝多個(gè)像磚且使用被發(fā)送至管線的特定識(shí)別符號(hào)將像磚發(fā)回至EUP146。
圖4A為說明在計(jì)算裝置(諸如具有圖2的計(jì)算架構(gòu)的計(jì)算裝置)中數(shù)據(jù)流的功能流程圖的實(shí)施例。如圖4A的實(shí)施例所說明,可將加密的數(shù)據(jù)流發(fā)送至CSP120,128上的解密組件236。在至少一實(shí)施例中,加密位流可經(jīng)解密且寫回至視頻存儲(chǔ)器。隨后可使用可變長(zhǎng)度譯碼器(VLD)硬件來譯碼所解密的視頻。解密組件236可解密所接收的位流以形成編碼位流238。編碼位流238可發(fā)送至VLD、霍夫曼(Huffman)譯碼器、復(fù)雜適應(yīng)性可變長(zhǎng)度編碼器(complex adaptive variable length decoder,CAVLC)及/或二進(jìn)制算術(shù)編碼器(Context Based BinaryArithmetic Coder,CABAC)240(本文中稱為“譯碼器”)。譯碼器240將所接收的位流譯碼,且將所譯碼的位流發(fā)送至DirectX視頻加速(DirectX Video Acceleration,DXVA)數(shù)據(jù)結(jié)構(gòu)242。另外,在DXVA數(shù)據(jù)結(jié)構(gòu)242處接收到的數(shù)據(jù)為外部MPEG-2VLD反掃描、反量化與反DC預(yù)測(cè),以及外部VC-1 VLD反掃描、反量化與反DC/AC預(yù)測(cè)。隨后可經(jīng)由圖像標(biāo)頭244、存儲(chǔ)器緩沖器0(MB0)246a,MB1 246b,MB2 246c,...,MBN 246n等而將此數(shù)據(jù)擷取于DXVA數(shù)據(jù)結(jié)構(gòu)242中。數(shù)據(jù)隨后可進(jìn)入跳躍塊250、252以及254,以在圖4B以及圖4C中繼續(xù)。
圖4B為圖4A的功能流程圖的延續(xù)。如圖所示,自圖4A的跳躍塊250、252以及254,在反掃描反Q組件264以及反DC/AC預(yù)測(cè)組件262處接收數(shù)據(jù)。此數(shù)據(jù)經(jīng)處理且發(fā)送至交換器265。交換器265判定數(shù)據(jù)經(jīng)由Intra/Inter輸入端發(fā)送與否,將選定數(shù)據(jù)發(fā)送至跳躍塊270。另外,將來自跳躍塊260的數(shù)據(jù)發(fā)送至編碼圖案塊重建組件266。
圖4C為圖4A以及圖4B的功能流程圖的延續(xù)。如圖所示,來自跳躍塊272、274(圖4A)的數(shù)據(jù)于濾波器組件280處被接收。此數(shù)據(jù)根據(jù)多個(gè)協(xié)議的任一個(gè)由MC濾波器282濾波。更特定言之,若數(shù)據(jù)以MPEG-2格式被接收,則該數(shù)據(jù)以1/2像素偏差來構(gòu)造。若數(shù)據(jù)以VC-1格式被接收,則利用4抽頭(4-tap)濾波器。另一方面,若數(shù)據(jù)以H.264格式被接收,則可利用6抽頭濾波器。經(jīng)濾波的數(shù)據(jù)隨后發(fā)送至重建參考組件284,與濾波器組件280相關(guān)的數(shù)據(jù)發(fā)送至交換器組件288。交換器組件288亦接收零。交換器組件可基于所接收的Intra/Inter數(shù)據(jù)來判定哪些數(shù)據(jù)將發(fā)送至加法器298。
另外,反變換組件296自編碼圖案塊重建組件286接收數(shù)據(jù),以及經(jīng)由跳躍塊276自交換器265(圖4B)接收數(shù)據(jù)。反變換組件296執(zhí)行對(duì)于MPEG-2數(shù)據(jù)的8×8離散余弦反轉(zhuǎn)換(IDCT)、對(duì)于VC-1數(shù)據(jù)的8×8、8×4、4×8及/或4×4整數(shù)轉(zhuǎn)換以及對(duì)于H.264數(shù)據(jù)的4×4整數(shù)轉(zhuǎn)換,并根據(jù)所要執(zhí)行的轉(zhuǎn)換,將此數(shù)據(jù)發(fā)送至加法器298。
加法器298將反變換組件296以及交換器288的數(shù)據(jù)相加求和,且將求和所得的數(shù)據(jù)發(fā)送至回路內(nèi)濾波器297?;芈穬?nèi)濾波器297過濾所接收的數(shù)據(jù),且將經(jīng)過濾的數(shù)據(jù)發(fā)送至重建框架組件290。重建框架組件290將數(shù)據(jù)發(fā)送至重建參考組件284。重建框架組件290可將數(shù)據(jù)發(fā)送至解塊與去環(huán)(dering)濾波器292,濾波器292可將經(jīng)過濾的數(shù)據(jù)發(fā)送至用于解交錯(cuò)的解交錯(cuò)(de-interlacing)組件294,此數(shù)據(jù)隨后可供顯示。
圖5A為說明在VPU中(諸如在圖2的計(jì)算架構(gòu)中)可用于提供動(dòng)態(tài)壓縮(MC)及/或離散余弦轉(zhuǎn)換(DCT)操作的組件的實(shí)施例的功能方塊圖。更特定言之,如圖5A的實(shí)施例所說明,總線A可用以將16位數(shù)據(jù)發(fā)送至PE3 314d的輸入端口B,總線A亦將數(shù)據(jù)發(fā)送至Z-1延遲組件300,以將16位數(shù)據(jù)發(fā)送至PE 2314c的第二輸入端。總線A亦將此數(shù)據(jù)發(fā)送至Z-1延遲組件302以將16位數(shù)據(jù)發(fā)送至PE 1 314b,此數(shù)據(jù)亦發(fā)送至Z-1延遲組件304,其隨后進(jìn)入PE 0 314a以及Z-1延遲組件306。在穿過Z-1延遲組件306之后,將總線A的低位8位數(shù)據(jù)發(fā)送至PE 0 314a,此數(shù)據(jù)由Z-1308延遲且發(fā)送至PE 1 314b以及Z-1延遲組件310。在到達(dá)Z-1延遲組件310之后,此數(shù)據(jù)的低位8位發(fā)送至PE 2 314c以及Z-1延遲組件312;在到達(dá)Z-1延遲組件312之后,此數(shù)據(jù)的低位8位發(fā)送至PE 3 314d。另外,總線B將64位數(shù)據(jù)發(fā)送至PE 3314d、PE 2 314c、PE 1 314b以及PE 0 314a的每一個(gè)。
處理元件0(Processing Elelment,PE 0)314a可促進(jìn)過濾所接收數(shù)據(jù)。更特定言之,PE可為FIR濾波器的一元件。當(dāng)PE 0314a、PE 1 314b、PE 2 314c以及PE 3 314d與加法器330組合時(shí),此可形成4抽頭/8抽頭FIR濾波器。數(shù)據(jù)的一部分首先發(fā)送至Z-3延遲組件316。多工器318選擇數(shù)據(jù)以使輸入數(shù)據(jù)自欄位輸入回應(yīng)組件(Field Input Response,F(xiàn)IR)輸出至多工器318的選擇端口,此數(shù)據(jù)自多工器318發(fā)送至加法器330。
同樣地,來自PE 1 314b的數(shù)據(jù)發(fā)送至多工器322,其中一些數(shù)據(jù)首先在Z-2延遲組件320處被接收。多工器322經(jīng)由所接收的FIR輸入端而自所接收的數(shù)據(jù)進(jìn)行選擇,選定數(shù)據(jù)發(fā)送至加法器330。PE 2 314c的數(shù)據(jù)發(fā)送至多工器326,其中一些數(shù)據(jù)首先發(fā)送至Z-1延遲組件324。FIR輸入選擇待發(fā)送至加法器330的數(shù)據(jù),自PE 3 314d的數(shù)據(jù)發(fā)送至加法器330。
亦輸入至加法器330的是N移位器332的反饋回路。此數(shù)據(jù)經(jīng)由Z-1延遲組件326在多工器328處被接收。亦在多工器328處接收到的為舍入數(shù)據(jù)。多工器328在多工器328的選擇端口處經(jīng)由較寬輸入端而對(duì)所接收的數(shù)據(jù)進(jìn)行選擇。多工器328將選定數(shù)據(jù)發(fā)送至加法器330,加法器330加上所接收的數(shù)據(jù)且將所加的數(shù)據(jù)發(fā)送至N移位器332,此16位移位數(shù)據(jù)被發(fā)送至輸出端。
圖5B為圖5A的圖的延續(xù)。更特定言之,如圖5B的實(shí)施例所說明,來自存儲(chǔ)器緩沖器340a、340b、340c以及340d的數(shù)據(jù)被發(fā)送至多工器342a。多工器342a將16位數(shù)據(jù)發(fā)送至跳躍塊344a以及346a。同樣地,多工器342b自存儲(chǔ)器緩沖器340b、340c、340d以及340e接收數(shù)據(jù),且將數(shù)據(jù)發(fā)送至跳躍塊344b以及346b;多工器342c自340c、340d、340e以及340f接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至344c以及346c;多工器342d自340d、340e、340f以及340g接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至跳躍塊344d以及346d;多工器342e自340e、340f、340g以及340h接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至344e以及346e;多工器342f自340f、340g、340h以及340i接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至344f以及346f;多工器342g自340g、340h、340i以及340h接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至跳躍塊344g以及346g;多工器342h自340h、340i、340j以及340k接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至344h以及346h;多工器342i自340i、340j、340k以及340l接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至跳躍塊344i以及346i。
圖5C為圖5A以及圖5B的圖的延續(xù)。更特定言之,自多工器342a的數(shù)據(jù)(經(jīng)由跳躍塊348a)發(fā)送至存儲(chǔ)器緩沖器B、槽350a;自多工器342b的數(shù)據(jù)(經(jīng)由跳躍塊348b)發(fā)送至存儲(chǔ)器B、槽350b;自多工器342c的數(shù)據(jù)(經(jīng)由跳躍塊348c)發(fā)送至存儲(chǔ)器B、槽350c;自多工器342d的數(shù)據(jù)(經(jīng)由跳躍塊348d)發(fā)送至存儲(chǔ)器B、槽350d;自多工器342e的數(shù)據(jù)(經(jīng)由跳躍塊348e)發(fā)送至存儲(chǔ)器B、槽350e;自多工器342f的數(shù)據(jù)(經(jīng)由跳躍塊348f)發(fā)送至存儲(chǔ)器B、槽350f;自多工器342g的數(shù)據(jù)(經(jīng)由跳躍塊348g)發(fā)送至存儲(chǔ)器B、槽350g;自多工器342h的數(shù)據(jù)(經(jīng)由跳躍塊348h)發(fā)送至存儲(chǔ)器B、槽350h;自多工器342i的數(shù)據(jù)(經(jīng)由跳躍塊348i)發(fā)送至存儲(chǔ)器B、槽350i。
同樣地,自跳躍塊362j-362r的數(shù)據(jù)(自圖5D,以下論述)發(fā)送至轉(zhuǎn)置(Transpose)網(wǎng)絡(luò)360。轉(zhuǎn)置網(wǎng)絡(luò)360轉(zhuǎn)置所接收的數(shù)據(jù);且將其發(fā)送至存儲(chǔ)器緩沖器B,存儲(chǔ)器緩沖器B將數(shù)據(jù)發(fā)送至跳躍塊366j-366r。
圖5D為圖5A-圖5C的圖的延續(xù)。更特定言之,數(shù)據(jù)在多工器369a處自跳躍塊368a(圖5B,經(jīng)由多工器342a)以及跳躍塊368j(圖5C,經(jīng)由存儲(chǔ)器緩沖器B)被接收,此數(shù)據(jù)由vert信號(hào)選擇且經(jīng)由總線A(見圖5A)發(fā)送至FIR濾波器塊0 370a。同樣地,多工器369b-369i自跳躍塊368b-368i以及368k-368r接收數(shù)據(jù),此數(shù)據(jù)發(fā)送至FIR濾波器塊370b-370i且經(jīng)處理,就如關(guān)于圖5A所敘述。自FIR濾波器塊0 370a輸出的數(shù)據(jù)發(fā)送至跳躍塊372b以及372j;FIR濾波器塊370b輸出至跳躍塊372c以及372k;FIR濾波器塊370c輸出至跳躍塊372d以及372l;FIR濾波器塊370d輸出至跳躍塊372e以及372m;FIR濾波器塊370e輸出至跳躍塊372f以及372n;FIR濾波器塊370f輸出至跳躍塊372g以及372o;FIR濾波器塊370g輸出至跳躍塊372h以及372p;FIR濾波器塊370h輸出至跳躍塊372i以及372q;FIR濾波器塊370i輸出至跳躍塊372j以及372r。如上所論述,自跳躍塊372j-372r的數(shù)據(jù)由圖5C的轉(zhuǎn)置網(wǎng)絡(luò)360接收。跳躍塊372b-372j在圖5E中繼續(xù)。
圖5E為圖5A-圖5D的圖的延續(xù)。更特定言之,如圖5E的實(shí)施例中所說明,自跳躍塊376b的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370a)發(fā)送至存儲(chǔ)器緩沖器C、槽380b。同樣地,自跳躍塊376c的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370b)發(fā)送至存儲(chǔ)器緩沖器C、槽380c;自跳躍塊376d的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370c)發(fā)送至存儲(chǔ)器緩沖器C、槽380d;自跳躍塊376e的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370d)發(fā)送至存儲(chǔ)器緩沖器C、槽380e;自跳躍塊376f的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370e)發(fā)送至存儲(chǔ)器緩沖器C、槽380f;自跳躍塊376g的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370f)發(fā)送至存儲(chǔ)器緩沖器C、槽380g;自跳躍塊376h的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370g)發(fā)送至存儲(chǔ)器緩沖器C、槽380h;自跳躍塊376i的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370h)發(fā)送至存儲(chǔ)器緩沖器C、槽380i;自跳躍塊376j的數(shù)據(jù)(經(jīng)由圖5D的FIR濾波器塊370i)發(fā)送至存儲(chǔ)器緩沖器C、槽380j。
多工器382a自存儲(chǔ)器緩沖器C、槽380b、380c以及380d接收數(shù)據(jù);多工器382b自存儲(chǔ)器緩沖器C、槽380d、380e以及380f接收數(shù)據(jù);多工器382c自存儲(chǔ)器緩沖器C、槽380f、380g以及380h接收數(shù)據(jù);多工器382d自存儲(chǔ)器緩沖器C、槽380h、380i以及380j接收數(shù)據(jù)。一旦接收到數(shù)據(jù),多工器382a-382d便將數(shù)據(jù)發(fā)送至ALU 384a-384d。加法器384a-384d接收此數(shù)據(jù)以及值“1”以處理所接收的數(shù)據(jù)并將經(jīng)處理的數(shù)據(jù)分別發(fā)送至移位器386a-386d,移位器386a-386d將所接收的數(shù)據(jù)移位且將經(jīng)移位的數(shù)據(jù)發(fā)送至多工器390a-390d,接著將數(shù)據(jù)自Z塊388a-388d分別發(fā)送至多工器390a-390d。
另外,Z塊388a自跳躍塊376b接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至多工器390a;Z塊388b自跳躍塊376c接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至多工器390b;Z塊388c自跳躍塊376d接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至多工器390c;Z塊388d自跳躍塊376e接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至多工器390d;多工器390a-390d亦接收選擇輸入且將選定數(shù)據(jù)發(fā)送至輸出端。
圖5F為圖5A-圖5E的組件的總圖的實(shí)施例。更特定言之,如圖5F的實(shí)施例所說明,數(shù)據(jù)在存儲(chǔ)器緩沖器A340處被接收。此數(shù)據(jù)在多工器342處與存儲(chǔ)器緩沖器A340中的其他數(shù)據(jù)一起多工。多工器342選擇數(shù)據(jù),且將選定數(shù)據(jù)發(fā)送至存儲(chǔ)器緩沖器B350。存儲(chǔ)器緩沖器B350亦自傳送網(wǎng)絡(luò)360接收數(shù)據(jù)。存儲(chǔ)器緩沖器B350將數(shù)據(jù)發(fā)送至多工器369,多工器369亦自多工器342接收數(shù)據(jù)。多工器369選擇數(shù)據(jù),且將選定數(shù)據(jù)發(fā)送至FIR濾波器370。FIR濾波器將所接收的數(shù)據(jù)過濾,且將經(jīng)過濾的數(shù)據(jù)發(fā)送至存儲(chǔ)器緩沖器C380、Z組件388以及傳送網(wǎng)絡(luò)360。存儲(chǔ)器緩沖器C380將數(shù)據(jù)發(fā)送至多工器382,多工器382自從存儲(chǔ)器緩沖器C380接收的數(shù)據(jù)進(jìn)行選擇。被選定的數(shù)據(jù)發(fā)送至ALU384,ALU384自所接收數(shù)據(jù)計(jì)算結(jié)果,且將計(jì)算所得的數(shù)據(jù)發(fā)送至移位器386。接著經(jīng)移位的數(shù)據(jù)被發(fā)送至多工器390,多工器390亦自Z組件388接收數(shù)據(jù),多工器390選擇結(jié)果且將此結(jié)果發(fā)送至輸出端。
圖5A-圖5F中所示的組件可用以提供動(dòng)態(tài)壓縮(MC)及/或離散余弦轉(zhuǎn)換(DCT)。更特定言之,視特殊實(shí)施例及/或數(shù)據(jù)格式而定,數(shù)據(jù)可在遞回操作中通過圖5A-圖5F的組件多次以達(dá)成所要結(jié)果。另外,視特殊操作及特殊數(shù)據(jù)格式而定,數(shù)據(jù)可自EU146及/或TFU168接收。
如一非限制性實(shí)施例,在實(shí)際操作中,圖5A-圖5F的組件可用以接收關(guān)于待執(zhí)行的操作(例如,運(yùn)動(dòng)補(bǔ)償、離散余弦變換等)的指示。另外,還可接收關(guān)于數(shù)據(jù)格式(例如,H.264、VC-1、MPEG-2等)的指示。如一實(shí)施例,對(duì)于H.264格式而言,動(dòng)態(tài)補(bǔ)償(MC)數(shù)據(jù)可在多個(gè)周期中穿過FIR濾波器370,且隨后進(jìn)入的存儲(chǔ)器緩沖器C380以轉(zhuǎn)換為1/4像素格式。如下更詳細(xì)論述,在H.264格式下的其他操作或其他數(shù)據(jù)可利用圖5A-圖5F的組件的相同或不同用途。另外,乘法器陣列可用以作為乘法器的陣列以執(zhí)行16個(gè)16位相乘及/或用作向量或矩陣乘法器。此一實(shí)例為SMMUL指令。
圖6為可用于計(jì)算架構(gòu)(諸如圖2的計(jì)算架構(gòu))中的像素處理引擎的功能方塊圖。更特定言之,如圖6的實(shí)施例所說明,總線A(在移位暫存器前)以及總線B(見圖5A)將16位數(shù)據(jù)發(fā)送至多工器400。多工器400的選擇端口處接收來自FIR濾波器370的否定信號(hào),并選擇一筆16位數(shù)據(jù),將此數(shù)據(jù)發(fā)送至多工器406。另外,多工器402可用以接收總線A數(shù)據(jù)(在移位暫存器后)以及零數(shù)據(jù)。多工器402可在選擇端口處自6抽頭數(shù)據(jù)中選擇所要結(jié)果,此16位結(jié)果可發(fā)送至16位無正負(fù)號(hào)加法器404。16位無正負(fù)號(hào)加法器404亦可用以自總線A接收數(shù)據(jù)(在移位暫存器前)。
16位無正負(fù)號(hào)加法器404可加總所接收的數(shù)據(jù),且將結(jié)果發(fā)送至多工器406。多工器406可用以自選擇端口處的所接收的通路反相6抽頭數(shù)據(jù)中進(jìn)行選擇,選定的數(shù)據(jù)可發(fā)送至16×8乘法器410,乘法器410亦可接收模式數(shù)據(jù)。24位結(jié)果隨后可發(fā)送至移位器412以提供32位結(jié)果。
圖7A為可用于VC-1回路內(nèi)濾波器中(諸如在圖2的計(jì)算架構(gòu)中)的組件功能方塊圖。如圖7A的實(shí)施例所說明,多工器420可在輸入端口處接收“1”值以及“0”值,多工器420亦可接收A0絕對(duì)值<Pquant與否作為選擇輸入。同樣地,多工器422可接收“1”值以及“0”值,以及A3<A0 490c絕對(duì)值與否。多工器424可接收“1”值、“0”值作為輸入,以及clip(剪輯)值不等于0與否(自圖7C的移位器468)作為選擇輸入。另外,自多工器420輸出的數(shù)據(jù)可發(fā)送至邏輯或門426,邏輯或門426可將數(shù)據(jù)發(fā)送至多工器428。多工器428亦可接收filter_other_3數(shù)據(jù)作為輸入。更特定言之,如圖7A中所示可產(chǎn)生filter_other_3信號(hào),此信號(hào)若不為零,則指示需過濾其他三列像素;否則,可不過濾(修改)此4×4塊。多工器428根據(jù)在選擇輸入端所接收的處理像素?cái)?shù)據(jù)3而選擇輸出數(shù)據(jù)。
圖7B為圖7A的圖的延續(xù)。更特定言之,如圖7A的實(shí)施例所說明,絕對(duì)值組件430接收9位輸入A1 490a(自圖7D),絕對(duì)值組件432接收9位輸入A2 490b(自圖7D)。通過計(jì)算所接收數(shù)據(jù)的絕對(duì)值,最小值組件434判定所接收數(shù)據(jù)的最小值,且將此數(shù)據(jù)作為輸出A3并發(fā)送至2進(jìn)制補(bǔ)數(shù)組件(2′s complimentcomponent)436。2進(jìn)制補(bǔ)數(shù)組件436計(jì)算所接收數(shù)據(jù)的2進(jìn)制補(bǔ)數(shù),且將此數(shù)據(jù)發(fā)送至減法組件438。減法組件438自輸入數(shù)據(jù)A0 490c(自圖7D)減去此數(shù)據(jù),隨后發(fā)送至移位器440以將結(jié)果向左移位兩位并發(fā)送至加法器442。另外,減法組件438的輸出將輸入至加法器442中,因此允許電路不使用乘法器就可執(zhí)行乘以5的操作。
加法器442加總所接收的數(shù)據(jù),且將結(jié)果發(fā)送至移位器444。移位器444將所接收的數(shù)據(jù)向右移三位,且將數(shù)據(jù)發(fā)送至鉗字節(jié)件(clamp component)446。鉗字節(jié)件446亦接收剪輯值clip(自移位器468,圖7C),且將結(jié)果發(fā)送至輸出端。應(yīng)注意濾波器的結(jié)果可為負(fù)或大于255。因此此鉗字節(jié)件446可用以將結(jié)果鉗位至無正負(fù)號(hào)8位值。因此,若輸入d為負(fù)的,則d將被設(shè)定為0。若d>剪輯值clip,則d可被設(shè)定為剪輯值clip。
圖7C為圖7A以及圖7B的圖的延續(xù)。如圖7C的實(shí)施例,P1數(shù)據(jù)450a、P5數(shù)據(jù)450e以及P3數(shù)據(jù)450c被發(fā)送至多工器452。多工器452接收選擇輸入并選擇數(shù)據(jù)以發(fā)送至減法組件460。多工器亦將輸出數(shù)據(jù)發(fā)送至多工器454的選擇輸入端。
多工器454亦自P4 450d、P8 450h以及P6 450f接收輸入數(shù)據(jù)。多工器454將輸出數(shù)據(jù)發(fā)送至減法組件460。減法組件460對(duì)所接收的數(shù)據(jù)作減法,并將結(jié)果發(fā)送至移位器466。移位器466將所接收的數(shù)據(jù)向左移一位,且將此結(jié)果發(fā)送至跳躍塊474。
同樣地,多工器456接收輸入P2 450b、P3 450c以及P4 450d。多工器456自多工器454接收選擇輸入,且將所選定的數(shù)據(jù)發(fā)送至減法組件464。多工器458自多工器456接收選擇輸入,且自P3 450c、P7 450g以及P5 450e接收輸入數(shù)據(jù)。多工器將輸出數(shù)據(jù)發(fā)送至減法組件464,減法組件464對(duì)所接收的數(shù)據(jù)作減法,并將此數(shù)據(jù)發(fā)送至移位器470以及加法器472。移位器470將所接收的數(shù)據(jù)向左移兩位,且將經(jīng)移位的數(shù)據(jù)發(fā)送至加法器472,加法器472相加所接收的數(shù)據(jù)且將結(jié)果發(fā)送至跳躍塊480。
另外,減法組件462自P4 450d以及P5 450e接收數(shù)據(jù)、對(duì)所接收的數(shù)據(jù)作減法并將結(jié)果發(fā)送至移位器468。移位器468將所接收的數(shù)據(jù)向右移一位,且輸出此數(shù)據(jù)作為剪輯數(shù)據(jù)clip以輸入至鉗字節(jié)件446以及多工器424。另外,P4 450d被發(fā)送至跳躍塊476而P3 450e數(shù)據(jù)被發(fā)送至跳躍塊478。
圖7D為圖7A-圖7C的圖的延續(xù)。更特定言之,如圖7D的實(shí)施例,減法組件486自跳躍塊482以及跳躍塊484接收數(shù)據(jù)。減法組件486對(duì)所接收的數(shù)據(jù)作減法且將結(jié)果發(fā)送至移位器488。移位器488將所接收的數(shù)據(jù)向右移三位且將結(jié)果發(fā)送至A1490a、A2 490b以及A0 490c。
另外,多工器496接收輸入數(shù)據(jù)“0”以及“d”。此操作可包括If(Do_filter){P4[I]=P4[I]-D[I]P5[I]=P5[I]+D[I]}多工器496經(jīng)由do_filter選擇輸入而選擇所要結(jié)果。所述結(jié)果發(fā)送至減法組件500。減法組件500亦自跳躍塊492接收數(shù)據(jù)(經(jīng)由跳躍塊476,圖7C),對(duì)所接收的數(shù)據(jù)作減法并將結(jié)果發(fā)送至P4 450d。
多工器498亦接收“0”以及“d”作為輸入以及do_filter作為選擇輸入。多工器498多工此數(shù)據(jù)且將結(jié)果發(fā)送至加法器502。加法器502亦自跳躍塊494接收數(shù)據(jù)(經(jīng)由跳躍塊478,圖7C)、相加所接收的輸入且將結(jié)果發(fā)送至P5 450e。
圖8為可用于在計(jì)算架構(gòu)(諸如圖2的計(jì)算架構(gòu))中執(zhí)行絕對(duì)差和(sum of absolute difference,SAD)計(jì)算的邏輯區(qū)塊的方塊圖。更特定言之,如圖8的實(shí)施例,組件504接收32位數(shù)據(jù)A[31:0]的一部分以及32位數(shù)據(jù)B的一部分。組件504通過判定若(C)s=Not(S)+1則{C,S}←A-B與否,而將輸出提供至加法器512。同樣地,組件506接收A數(shù)據(jù)以及B數(shù)據(jù),且基于與組件504類似的判定將輸出發(fā)送至加法器512,除了組件506所接收的A數(shù)據(jù)以及B數(shù)據(jù)為[23:16]位的部分以外,相對(duì)于組件504所接收的數(shù)據(jù)為[31:24]位的部分。同樣地,組件508接收[15:8]位部分的數(shù)據(jù)、執(zhí)行與組件504以及506類似的計(jì)算且將結(jié)果發(fā)送至加法器512。組件510接收[7:0]位部分的數(shù)據(jù)、執(zhí)行與組件504、506以及508類似的計(jì)算且將結(jié)果發(fā)送至加法器512。
另外,組件514、516、518以及520接收數(shù)據(jù)A對(duì)應(yīng)于位[63:32]的32位的部分(與在組件504-510處所接收的[31:0]位部分的數(shù)據(jù)相對(duì))。更特定言之,組件514接收數(shù)據(jù)A以及數(shù)據(jù)B中[31:24]位部分的數(shù)據(jù)。組件514執(zhí)行如上所論述的類似計(jì)算,且將8位結(jié)果發(fā)送至加法器522。同樣地,組件516接收[23:16]位部分的數(shù)據(jù)、執(zhí)行類似計(jì)算,且將所得數(shù)據(jù)發(fā)送至加法器522。組件518如上所述接收數(shù)據(jù)A以及數(shù)據(jù)B中[15:8]位部分的數(shù)據(jù)、處理所接收的數(shù)據(jù),且將結(jié)果發(fā)送至加法器522。組件520如上所論述接收數(shù)據(jù)A以及數(shù)據(jù)B中[7:0]位部分的數(shù)據(jù)、處理所接收的數(shù)據(jù),且將結(jié)果發(fā)送至加法器522。
組件524-530接收A數(shù)據(jù)以及B數(shù)據(jù)中[95:64]位部分的32位。更特定言之,組件524接收[31:24]位,組件526接收[23:16]位,組件528接收[15:8]位,而組件530接收[7:0]位的數(shù)據(jù)。一旦接收到此數(shù)據(jù),組件524-530可用以處理所接收的數(shù)據(jù),如上所述,經(jīng)處理數(shù)據(jù)隨后可發(fā)送至加法器532。同樣地,組件534-540接收A數(shù)據(jù)以及B數(shù)據(jù)中[127:96]位部分的32位數(shù)據(jù)。更特定言之,組件534接收A數(shù)據(jù)以及B中[31:24]位部分的數(shù)據(jù),組件536接收[23:16]位部分的數(shù)據(jù),組件538接收[15:8]位部分的數(shù)據(jù),組件540接收[7:0]位部分的數(shù)據(jù)。所接收數(shù)據(jù)如上所論述經(jīng)處理且發(fā)送至加法器541。另外,加法器512、522、532以及542對(duì)所接收的數(shù)據(jù)作加法,且將10位結(jié)果發(fā)送至加法器544。加法器544相加所接收的數(shù)據(jù),且將12位數(shù)據(jù)發(fā)送至輸出端。
圖9為類似于圖8所示可用于執(zhí)行絕對(duì)差和(SAD)計(jì)算的過程的另一實(shí)施例的流程圖。更特定言之,如圖9的實(shí)施例,“i”的定義為塊尺寸BlkSize且suma初始化為“0”(區(qū)塊550)。首先判定i是否大于“0”(方塊552),若i大于“0”,則vecx[i]=Tabelx[i]、vecy[i]=Tabely[i]、vectx=mv_x+vecx[i]且vecty=mv_y+vecy[i](方塊554)。接著可利用vectx以及vecty計(jì)算地址,亦可自PredImage提取4×4存儲(chǔ)器數(shù)據(jù)(字節(jié)對(duì)準(zhǔn))(方塊556)。128位預(yù)測(cè)數(shù)據(jù)可發(fā)送至SAD44(見圖8),如方塊558中所說明。另外,方塊560可接收塊數(shù)據(jù)且計(jì)算地址。在方塊560,亦可自RefImage提取4×4存儲(chǔ)器數(shù)據(jù)并執(zhí)行字節(jié)對(duì)準(zhǔn)。128位Ref[i]數(shù)據(jù)隨后可發(fā)送至SAD44(方塊558)。和值可自SAD44發(fā)送至方塊562,其中總和值suma增加“1”而i減少“1”。接著可判定總和值suma是否大于臨限值(方塊564)。若是,則過程可停止;另一方面,若總和值suma不大于該臨限值,則過程可返回方塊552以判定i是否大于0。若i不大于0,則過程可結(jié)束。
圖10A為可用于解塊操作中(諸如可在圖2的計(jì)算機(jī)架構(gòu)中執(zhí)行)的多個(gè)組件的方塊圖。如圖10A的實(shí)施例,ALU580接收輸入數(shù)據(jù)p2以及p0,且將數(shù)據(jù)發(fā)送至絕對(duì)值組件586。絕對(duì)值組件586計(jì)算所接收數(shù)據(jù)的絕對(duì)值且輸出數(shù)據(jù)ap,判定組件590判定ap是否小于β且將數(shù)據(jù)發(fā)送至跳躍塊596。ALU580亦將數(shù)據(jù)發(fā)送至跳躍塊594。同樣地,ALU582自q0以及q2接收數(shù)據(jù)。在計(jì)算結(jié)果之后,ALU582將數(shù)據(jù)發(fā)送至絕對(duì)值組件588,絕對(duì)值組件588判定所接收數(shù)據(jù)的絕對(duì)值,并將ap發(fā)送至判定組件592。判定組件592判定aq是否小于β且將數(shù)據(jù)發(fā)送至跳躍塊598。
ALU600自q0以及p0接收數(shù)據(jù)、計(jì)算結(jié)果且將結(jié)果發(fā)送至絕對(duì)值組件606。絕對(duì)值組件606判定與所接收數(shù)據(jù)的絕對(duì)值,且將其發(fā)送至判定組件612。判定組件612判定所接收的值是否小于α,且將結(jié)果發(fā)送至與門620。ALU602自p0以及p1接收數(shù)據(jù)、計(jì)算結(jié)果且將結(jié)果發(fā)送至絕對(duì)值組件608。絕對(duì)值組件608判定所接收數(shù)據(jù)的絕對(duì)值,且將此值發(fā)送至判定組件614。判定組件614判定所接收數(shù)據(jù)是否小于β,且將結(jié)果發(fā)送至與門620。ALU604自q0以及q1接收數(shù)據(jù)、計(jì)算結(jié)果且將結(jié)果發(fā)送至絕對(duì)值組件610。絕對(duì)值組件610判定所接收數(shù)據(jù)的絕對(duì)值,且將結(jié)果發(fā)送至判定組件616。判定組件616判定所接收數(shù)據(jù)是否小于β,且將結(jié)果發(fā)送至與門620。另外,與門620自判定組件618接收數(shù)據(jù),判定組件618接收bS數(shù)據(jù)且判定此數(shù)據(jù)是否不等于零。
圖10B為圖10A的圖的延續(xù)。更特定言之,ALU622自p1以及q1接收數(shù)據(jù)、計(jì)算結(jié)果且將數(shù)據(jù)發(fā)送至ALU624。ALU624亦自跳躍塊646接收數(shù)據(jù)(經(jīng)由圖10A的ALU580)以及在進(jìn)位輸入端的4位數(shù)據(jù)。ALU624隨后計(jì)算結(jié)果且將結(jié)果發(fā)送至移位器626,移位器626將所接收的數(shù)據(jù)向右移三位。移位器626隨后將數(shù)據(jù)發(fā)送至剪輯3(clip3)組件628,clip3組件628亦自跳躍塊630接收數(shù)據(jù)(經(jīng)由圖10D的ALU744,以下更詳細(xì)描述)。clip3組件628將數(shù)據(jù)發(fā)送至多工器634且發(fā)送至”非(NOT)”門632。非門632反轉(zhuǎn)所接收數(shù)據(jù),且將反相數(shù)據(jù)發(fā)送至多工器634。多工器634亦在選擇輸入端接收tc0數(shù)據(jù),且將選定數(shù)據(jù)發(fā)送至ALU636。ALU636亦自多工器640接收數(shù)據(jù)。多工器640自q0以及p0接收數(shù)據(jù),且自!left_top接收選擇輸入。ALU636的進(jìn)位輸入端接收來自多工器642的數(shù)據(jù)。多工器642接收“1”以及“0”以及!left_top數(shù)據(jù)。ALU636將結(jié)果發(fā)送至SAT(0,255)638,SAT(0,255)638將數(shù)據(jù)發(fā)送至跳躍塊644(在多工器790處繼續(xù),圖10E)。
另外,ALU648自q0以及p0接收數(shù)據(jù)以及在選擇輸入端接收一位數(shù)據(jù),ALU 648計(jì)算結(jié)果且將此數(shù)據(jù)發(fā)送至移位器650。移位器650將所接收的數(shù)據(jù)向右移一位,且將所移位的數(shù)據(jù)發(fā)送至ALU652。同樣地,多工器656自p1以及q1接收數(shù)據(jù)以及!left_top作為選擇輸入,多工器656判定結(jié)果,且將結(jié)果發(fā)送至移位器658。移位器658將所接收的數(shù)據(jù)向左移一位,且將所移位的數(shù)據(jù)發(fā)送至ALU652,ALU652計(jì)算結(jié)果且將數(shù)據(jù)發(fā)送至ALU662。ALU662亦自多工器660接收數(shù)據(jù),多工器660接收q2以及p2以及來自跳躍塊680的數(shù)據(jù)(經(jīng)由圖10E的非門802)。
ALU662計(jì)算結(jié)果且將此數(shù)據(jù)發(fā)送至移位器664,移位器664將所接收的數(shù)據(jù)向右移一位,且將所移位的數(shù)據(jù)發(fā)送至剪輯3(clip3)組件668。clip3組件668亦接收tc0,且將數(shù)據(jù)發(fā)送至ALU670。ALU670亦自多工器656接收數(shù)據(jù),計(jì)算結(jié)果后將此數(shù)據(jù)發(fā)送至多工器672。多工器672亦自多工器656接收數(shù)據(jù)以及自跳躍塊678接收數(shù)據(jù)(經(jīng)由圖10E的多工器754),并將數(shù)據(jù)發(fā)送至跳躍塊674。
圖10C為圖10A以及圖10B的圖的延續(xù)。如圖10C的實(shí)施例,多工器682自p2、p1以及!left_top接收數(shù)據(jù),并將選定數(shù)據(jù)發(fā)送至加法器706。多工器684接收p1以及p0與!left_top并將結(jié)果發(fā)送至移位器700。移位器700將所接收的數(shù)據(jù)向左移一位,且將其發(fā)送至加法器706。多工器686自p0以及q1以及!left_top接收數(shù)據(jù)。多工器686將數(shù)據(jù)發(fā)送至移位器702,移位器702將所接收的數(shù)據(jù)向左移一位,且將所移位的數(shù)據(jù)發(fā)送至加法器706。多工器688自q0以及q1以及!left_top接收數(shù)據(jù),并將選定數(shù)據(jù)發(fā)送至移位器704,移位器704將所接收的數(shù)據(jù)向左移一位,且將其發(fā)送至加法器706。多工器690自q1以及q2以及!left_top接收數(shù)據(jù)且將數(shù)據(jù)發(fā)送至加法器706。加法器706亦接收進(jìn)位輸入端的4位,且將輸出發(fā)送至跳躍塊708。
同樣地,多工器691接收q2、p0以及!left_top,并選擇一結(jié)果將其發(fā)送至加法器698。多工器692接收p1、p0以及!left_top且將選定結(jié)果發(fā)送至加法器698。多工器694自q0、q1以及!left_top接收數(shù)據(jù),并選擇一結(jié)果將其發(fā)送至加法器698。多工器696接收q0、q2以及!left_top,并選擇所要結(jié)果將此數(shù)據(jù)發(fā)送至加法器698。加法器698亦接收進(jìn)位輸入端的2位且將輸出發(fā)送至跳躍塊710。
多工器712接收p3、q3以及!left_top且將結(jié)果發(fā)送至移位器722。移位器722將所接收的數(shù)據(jù)向左移一位,且將其發(fā)送至加法器726。多工器714接收p2、q2以及!left_top,且將選定結(jié)果發(fā)送至移位器724以及加法器726。移位器724將所接收的數(shù)據(jù)向左移一位,且將所移位的結(jié)果發(fā)送至加法器726。多工器716接收p1、q1以及!left_top且將選定結(jié)果發(fā)送至加法器726。多工器718接收p0、q0以及!left_top,且將選定結(jié)果發(fā)送至加法器726。多工器720接收p0、q0以及!left_top,且將選定結(jié)果發(fā)送至加法器726。加法器726在進(jìn)位輸入端接收四位與所接收的數(shù)據(jù)相加,加總后的數(shù)據(jù)發(fā)送至跳躍塊730。
圖10D為圖10A-圖10C的圖的延續(xù)。更特定言之,如圖10D的實(shí)施例,α表750接收IndexA以及輸出α。β表748接收IndexB且將數(shù)據(jù)輸出至零擴(kuò)展(Zero Extend)組件752,零擴(kuò)展組件752輸出β。
同樣地,多工器736接收“1”以及“0”以及來自跳躍塊732的數(shù)據(jù)(經(jīng)由圖10A的判定塊590),并選擇結(jié)果將其發(fā)送至ALU740。多工器738亦接收“1”以及“0”以及來自跳躍塊734的數(shù)據(jù)(經(jīng)由圖10A的判定塊592),并將選定結(jié)果發(fā)送至ALU740。ALU740計(jì)算結(jié)果且將數(shù)據(jù)發(fā)送至多工器742。多工器742亦接收“1”以及色度邊緣標(biāo)志(chroma edge flag)數(shù)據(jù),并選擇結(jié)果且將其發(fā)送至ALU744。ALU744亦接收tc0、計(jì)算結(jié)果tc且將結(jié)果發(fā)送至跳躍塊746。
圖10E為圖10A-圖10D的圖的延續(xù)。更特定言之,如圖10E實(shí)施例,多工器754接收與關(guān)系式“ChromaEdgeFlag==0)&&(ap<β)”相關(guān)的數(shù)據(jù),以及與關(guān)系式“ChromaEdgeFlag==0)&&(aq<β)”相關(guān)的數(shù)據(jù),并自非組件802接收數(shù)據(jù),且將選定數(shù)據(jù)發(fā)送至跳躍塊756(至圖10B的多工器672)。
另外,多工器780接收與關(guān)系式“ChromaEdgeFlag==0)&&(ap<β)&&(abs(p0-q0)<((α>>2)+2)”相關(guān)的數(shù)據(jù)以及與關(guān)系式“ChromaEdgeFlag==0)&&(aq<β)&&(abs(p0-q0)<((α>>2)+2))”相關(guān)的數(shù)據(jù),多工器780亦自非組件802接收選擇輸入,依此選擇所要結(jié)果且將其發(fā)送至多工器782、784以及786。
多工器757自p1、q1以及非組件802接收數(shù)據(jù),將選定數(shù)據(jù)發(fā)送至移位器763,移位器763將所接收的數(shù)據(jù)向左移一位,且將其發(fā)送至加法器774。多工器759自非組件802接收p0、q0以及數(shù)據(jù),且將選定數(shù)據(jù)發(fā)送至加法器774。多工器761自q1、p1以及非組件802接收數(shù)據(jù),且將數(shù)據(jù)發(fā)送至加法器774。加法器774亦在進(jìn)位輸入端接收兩位的數(shù)據(jù),且將輸出發(fā)送至多工器782。
移位器764自跳躍塊758接收數(shù)據(jù)(經(jīng)由圖10C的加法器706)且將所接收的數(shù)據(jù)向右移三位,接著將所移位的數(shù)據(jù)發(fā)送至多工器782。移位器766自跳躍塊760接收數(shù)據(jù)(經(jīng)由圖10C的加法器698)且將所接收的數(shù)據(jù)向右移兩位,接著將所移位的數(shù)據(jù)發(fā)送至多工器784。移位器768自跳躍塊762接收數(shù)據(jù)(自圖10C的加法器726)且將所接收的數(shù)據(jù)向右移三位,接著將所移位的數(shù)據(jù)發(fā)送至多工器786。
如以上所論述,多工器782自移位器764以及加法器782以及多工器780接收數(shù)據(jù),自此數(shù)據(jù)選擇結(jié)果且將其發(fā)送至多工器790。同樣地,多工器784自移位器766、數(shù)據(jù)多工器780與多工器776接收數(shù)據(jù)。多工器776接收p1、q1以及來自非組件802的數(shù)據(jù),接著將選定結(jié)果發(fā)送至多工器798。多工器786自移位器768、多工器780與多工器778接收數(shù)據(jù)。多工器778接收p2、q2以及來自非組件802的數(shù)據(jù)。多工器786將選定數(shù)據(jù)發(fā)送至多工器800。
如上所論述,多工器790自多工器782接收數(shù)據(jù)。另外,多工器790自跳躍塊772(經(jīng)由圖10B的SAT組件638)以及多工器794接收數(shù)據(jù)。多工器794接收p0、q0以及非組件802的數(shù)據(jù)。多工器790亦接收bSn & nfilterSampleFlag數(shù)據(jù)作為選擇輸入,并將選定數(shù)據(jù)發(fā)送至緩沖器808以及810。同樣地,多工器798自多工器784、跳躍塊755(經(jīng)由圖10B的多工器674)與多工器792接收數(shù)據(jù)以及選擇輸入的bSn & nfilterSampleFlag數(shù)據(jù)。多工器792接收p1、q1以及非組件802的數(shù)據(jù)。多工器798將數(shù)據(jù)發(fā)送至緩沖器806以及812。同樣地,多工器800自多工器786接收數(shù)據(jù)且接收bSn & nfilterSampleFlag數(shù)據(jù)作為選擇輸入。另外,多工器800自多工器788接收數(shù)據(jù)。多工器788接收p2、q2以及非組件802的數(shù)據(jù)。多工器800選擇所要數(shù)據(jù),且將數(shù)據(jù)發(fā)送至緩沖器806以及814。緩沖器804-814亦自非組件802接收數(shù)據(jù),且將數(shù)據(jù)分別發(fā)送至p2、p1、p0、q0、q1以及q2。
圖11為說明可用于在計(jì)算架構(gòu)(諸如圖2的計(jì)算架構(gòu))中執(zhí)行數(shù)據(jù)的過程的實(shí)施例流程圖。如圖11的實(shí)施例紋理地址產(chǎn)生器TAG的奇數(shù)方塊880以及偶數(shù)方塊882(亦見圖2的150)接收來自輸出端口144(圖2)的數(shù)據(jù)。接著產(chǎn)生用于所接收數(shù)據(jù)的地址,且此過程進(jìn)行至紋理快取存儲(chǔ)器與控制器(TCC)884、886(亦見圖2,166)。
數(shù)據(jù)隨后可發(fā)送至快取存儲(chǔ)器890以及紋理濾波先進(jìn)先出組件(Texture Cache First In First Out,TFF)888、892,其可用以充當(dāng)延遲佇列/緩沖器。數(shù)據(jù)隨后發(fā)送至紋理濾波單元894、896(Texture Filter Unit,TFU,亦見圖2,168)。一旦數(shù)據(jù)經(jīng)過濾波后,TFU894、896便將數(shù)據(jù)發(fā)送至VPU898、900(亦見圖2,199)。視指令是否要求動(dòng)態(tài)補(bǔ)償濾波、紋理快取存儲(chǔ)器濾波、互解塊濾波及/或絕對(duì)差和而定,數(shù)據(jù)可發(fā)送至不同VPU及/或相同VPU的不同部分。在處理了所接收的數(shù)據(jù)之后,VPU898、900可將數(shù)據(jù)發(fā)送至輸入端口902、904的輸出端(亦見圖2,142)。
本文中所揭露的實(shí)施例可在硬件、軟件、韌體或其組合中實(shí)施。本文中所揭露的至少一實(shí)施例在儲(chǔ)存于存儲(chǔ)器中,且由適當(dāng)指令執(zhí)行系統(tǒng)所執(zhí)行的軟件及/或韌體中實(shí)施。若在硬件中實(shí)施,如在替代實(shí)施例中,則本文中所揭露的實(shí)施例可以以下技術(shù)的任一種或組合來實(shí)施具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)施邏輯功能的邏輯門的離散邏輯電路、具有適當(dāng)組合邏輯門的專用集成電路(ASIC)、可編程門陣列(PGA)、現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
應(yīng)注意本文中所包括的流程圖展示軟件及/或硬件的可能實(shí)施例的架構(gòu)、功能以及操作。關(guān)于此,可將每一方塊解釋為表示模塊、區(qū)段或代碼的一部分,其包括用于實(shí)施規(guī)定邏輯功能的一個(gè)或多個(gè)可執(zhí)行指令。亦應(yīng)注意在一些替代實(shí)施例中,方塊中所注釋的功能可異乎尋常及/或根本不出現(xiàn)。舉例而言,視所包括的功能而定,連續(xù)展示的兩方塊實(shí)際上可實(shí)質(zhì)上同時(shí)執(zhí)行或方塊有時(shí)可以相反順序執(zhí)行。
應(yīng)注意本文中所列出程序的任一個(gè)(其可包括用于實(shí)施邏輯功能的可執(zhí)行指令的有序列表)可體現(xiàn)于由指令執(zhí)行系統(tǒng)、裝置或設(shè)備(諸如以計(jì)算機(jī)為基礎(chǔ)的系統(tǒng)、含有處理器的系統(tǒng)或可自指令執(zhí)行系統(tǒng)、裝置或設(shè)備提取指令且執(zhí)行指令的其他系統(tǒng))使用或結(jié)合所述各項(xiàng)使用的任何計(jì)算機(jī)可讀介質(zhì)中。在此文獻(xiàn)的上下文中,“計(jì)算機(jī)可讀介質(zhì)”可為可含有、儲(chǔ)存、傳送或輸送由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或結(jié)合其進(jìn)行使用的程序的任何構(gòu)件。計(jì)算機(jī)可讀介質(zhì)例如可為(但不限于)電子、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)、裝置或設(shè)備。計(jì)算機(jī)可讀介質(zhì)的更多特定實(shí)例(非詳盡清單)可包括具有一或多個(gè)導(dǎo)線的電連接(電子)、攜帶型計(jì)算機(jī)盤片(磁)、隨機(jī)存取存儲(chǔ)器(RAM)(電子)、只讀存儲(chǔ)器(ROM)(電子)、可擦除可編程只讀存儲(chǔ)器(EPROM或快閃存儲(chǔ)器)(電子)、光纖(光)以及攜帶型壓縮光盤只讀存儲(chǔ)器(CDROM)(光)。另外,此揭露內(nèi)容的某些實(shí)施例的范疇可包括體現(xiàn)以硬件或軟件架構(gòu)的介質(zhì)中所體現(xiàn)的邏輯中所述的功能。
亦應(yīng)注意條件性語言(諸如)尤其是“可(can、could、might或may)”,除非另外特別規(guī)定或在所使用的上下文內(nèi)另有理解,否則大體上旨在傳達(dá)某些實(shí)施例包括(而其他實(shí)施例不包括)某些特征、元件及/或步驟。因此,此等條件性語言一般并非旨在暗示特征、元件及/或步驟總是被一或多個(gè)特殊實(shí)施例所需,或暗示一或多個(gè)特殊實(shí)施例必定包括在采用或不采用使用者輸入或提示的情況下用于決策的邏輯,而不管任何特殊實(shí)施例中是否將包括或執(zhí)行此等特征、元件及/或步驟。
以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明的保護(hù)范圍當(dāng)以本申請(qǐng)的權(quán)利要求書所界定的范圍為準(zhǔn)。
附圖中符號(hào)的簡(jiǎn)單說明如下
88、102內(nèi)部邏輯分析器90、104總線接口單元BIU106a、106b、106c、106d存儲(chǔ)器接口單元MIU108存儲(chǔ)器存取端口110、116數(shù)據(jù)流快取存儲(chǔ)器112頂點(diǎn)快取存儲(chǔ)器114L2快取存儲(chǔ)器118具有快取存儲(chǔ)器子系統(tǒng)的EU集區(qū)控制器120命令流處理器(CSP)前端1223D與狀態(tài)組件1242D前置組件1262D先進(jìn)先出(FIFO)組件128CSP后端/ZL1快取存儲(chǔ)器130清晰度與型號(hào)紋理處理器132高級(jí)加密系統(tǒng)(AES)加密/解密組件134三角與屬性配置單元136跨距像磚產(chǎn)生器138ZL1140ZL2142、902、904輸入端口144輸出端口146執(zhí)行單元的集區(qū)EUP/BW壓縮器148Z與ST快取存儲(chǔ)器150紋理地址產(chǎn)生器TAG152D快取存儲(chǔ)器1542D處理組件156前封裝器158內(nèi)插器
160后封裝器162寫回單元164a、164b存儲(chǔ)器存取單元MXU166、884、886紋理快取存儲(chǔ)器與控制器TCC168、894、896紋理濾波單元TFU199、898、900視頻處理單元VPU234加密位流236解密組件238編碼位流240VLD、霍夫曼(Huffman)譯碼器、CAVLC、CABAC242EUP TAG接口244圖像標(biāo)頭246a、246b、246c、246n存儲(chǔ)器緩沖器MB250、252、254、256、258、260、270、272、274、276、344a~i、346a~i、348a~i、362j~r、366j~r、368a~r、372b~r、376b~j、474、476、478、480、482、484、492、494、594、596、598、630、644、646、674、678、680、708、710、730、732、734、746、755、756、758、760、762、770、772跳躍塊262反DC/AC預(yù)測(cè)組件264反掃描反Q組件265交換器266編碼圖案塊重建組件280濾波器組件282MC濾波器284重建參考組件286編碼圖案塊重建288交換器組件290重建框架組件
292解塊及去環(huán)濾波器294解交錯(cuò)組件296反變換組件/回路內(nèi)濾波器298、330、442、472、502、512、522、532、542、544、698、706、726、774加法器300、302、304、306、308、310、312、324Z-1延遲組件314a、314b、314c、314dPE316Z-3延遲組件320Z-2延遲組件318、322、326、328、342、342a~i、369、369a~i、382、382a~d、390、390a~d、400、402、404、406、408、420、422、424、428、452、454、456、458、496、498、634、640、642、656、660、672、682、684、686、690、691、692、694、696、712、714、716、718、720、736、738、742、754、757、759、761、776、778、780、782、784、786、788、790、792、794、796、798、800多工器332N移位器340、304a~1存儲(chǔ)器緩沖器350、350a~i存儲(chǔ)器B、槽360轉(zhuǎn)置網(wǎng)絡(luò)370、370a~iFIR濾波器塊380、380b~j存儲(chǔ)器緩沖器C、槽384、384a~d、580、582、600、602、604、622、624、636、648、652、662、670、740、744、ALU386、386a~d、412、440、444、466、468、470、488、626、650、658、664、700、702、704、722、724、763、764、766、768移位器388、388a~dZ塊
410乘法器426邏輯或門430、432、586、606、608、610絕對(duì)值組件434最小值組件4362進(jìn)制補(bǔ)數(shù)組件438、460、462、464、486、500減法組件446鉗字節(jié)件450a~hP1~8數(shù)據(jù)490aA1490bA2490cA0504、506、508、510、514、516、518、520、524、526、528、530、534、536、538、540組件590、592、612、614、616、618判定組件620與門628、668clip3組件632非門638SAT組件748β表格750α表格752零擴(kuò)展組件802非組件804、806、808、810、812、814緩沖器880、882紋理地址產(chǎn)生器-TAG方塊888、891紋理濾波先進(jìn)先出組件TFF890快取存儲(chǔ)器
權(quán)利要求
1.一種可編程視頻處理單元,用以處理至少兩種格式的視頻數(shù)據(jù),其特征在于,包含濾波邏輯電路,用以根據(jù)該視頻數(shù)據(jù)的格式濾波該視頻數(shù)據(jù);轉(zhuǎn)換邏輯電路,用以根據(jù)該視頻數(shù)據(jù)的格式轉(zhuǎn)換該視頻數(shù)據(jù);以及用以輸出該視頻數(shù)據(jù)以供后續(xù)處理的邏輯電路;其中該濾波邏輯電路與該轉(zhuǎn)換邏輯電路可并行運(yùn)作。
2.根據(jù)權(quán)利要求1所述的可編程視頻處理單元,其特征在于,該視頻數(shù)據(jù)的格式可選自下列至少其中之一H.264格式、VC-1格式與MPEG-2格式。
3.根據(jù)權(quán)利要求1所述的可編程視頻處理單元,其特征在于,該濾波邏輯電路執(zhí)行一動(dòng)態(tài)補(bǔ)償濾波。
4.根據(jù)權(quán)利要求1所述的可編程視頻處理單元,其特征在于,該轉(zhuǎn)換邏輯電路于格式為H.624格式與VC-1格式時(shí)執(zhí)行一整數(shù)轉(zhuǎn)換;該轉(zhuǎn)換邏輯電路于格式為MPEG-2格式時(shí)執(zhí)行一離散余弦反轉(zhuǎn)換。
5.根據(jù)權(quán)利要求1所述的可編程視頻處理單元,其特征在于,更包含一解塊邏輯電路用以對(duì)該視頻數(shù)據(jù)執(zhí)行一解塊操作,其中該解塊邏輯電路并行運(yùn)作于該濾波邏輯電路與該轉(zhuǎn)換邏輯電路。
6.一種視頻數(shù)據(jù)處理方法,其特征在于,包含自一指令集接收一指令;接收選自至少兩種格式之一的視頻數(shù)據(jù);以及根據(jù)該指令處理該視頻數(shù)據(jù);其中該指令包含一識(shí)別欄位用以指示該視頻數(shù)據(jù)的格式;以及其中處理該視頻數(shù)據(jù)的步驟根據(jù)該識(shí)別欄位利用多個(gè)演算法執(zhí)行處理。
7.根據(jù)權(quán)利要求6所述的視頻數(shù)據(jù)處理方法,其特征在于,該視頻數(shù)據(jù)的格式至少包含下列其中之一H.264格式、VC-1格式與MPEG-2格式。
8.根據(jù)權(quán)利要求6所述的視頻數(shù)據(jù)處理方法,其特征在于,處理該視頻數(shù)據(jù)的步驟包含利用下列演算法其中至少兩種動(dòng)態(tài)補(bǔ)償濾波、整數(shù)轉(zhuǎn)換、離散余弦反轉(zhuǎn)換與回路內(nèi)濾波。
9.根據(jù)權(quán)利要求8所述的視頻數(shù)據(jù)處理方法,其特征在于,該識(shí)別欄位為MPEG-2格式時(shí),處理該視頻數(shù)據(jù)的步驟包含動(dòng)態(tài)補(bǔ)償濾波與離散余弦反轉(zhuǎn)換;該識(shí)別欄位為VC-1格式與H.264格式其中之一時(shí),處理該視頻數(shù)據(jù)的步驟包含動(dòng)態(tài)補(bǔ)償濾波、整數(shù)轉(zhuǎn)換與回路內(nèi)濾波。
10.根據(jù)權(quán)利要求6所述的視頻數(shù)據(jù)處理方法,其特征在于,更包含下列項(xiàng)目的任意組合執(zhí)行一絕對(duì)差值和計(jì)算;執(zhí)行一紋理快取存儲(chǔ)器濾波;以及執(zhí)行一回路內(nèi)解塊濾波。
全文摘要
本發(fā)明提供一種可編程視頻處理單元及視頻數(shù)據(jù)處理方法,特別涉及一種用以處理至少兩種格式的視頻數(shù)據(jù)的可編程視頻處理單元,包含濾波邏輯電路,用以根據(jù)視頻數(shù)據(jù)的格式濾波視頻數(shù)據(jù);轉(zhuǎn)換邏輯電路,用以根據(jù)視頻數(shù)據(jù)的格式轉(zhuǎn)換視頻數(shù)據(jù);以及用以輸出視頻數(shù)據(jù)以供后續(xù)處理的邏輯電路。其中濾波邏輯電路與轉(zhuǎn)換邏輯電路可并行運(yùn)作。上述視頻數(shù)據(jù)的格式可為MPEG-2、VC-1與H.264其中之一。本發(fā)明所提供的可編程視頻處理單元及視頻數(shù)據(jù)處理方法,可提高視頻數(shù)據(jù)的處理速度。
文檔編號(hào)H04N7/26GK101083763SQ20071011195
公開日2007年12月5日 申請(qǐng)日期2007年6月18日 優(yōu)先權(quán)日2006年6月16日
發(fā)明者扎伊爾德·荷圣, 徐建明, 約翰·柏拉勒斯 申請(qǐng)人:威盛電子股份有限公司