亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

圖形處理中的像素格式轉(zhuǎn)換方法和裝置的制作方法

文檔序號:2567448閱讀:317來源:國知局
專利名稱:圖形處理中的像素格式轉(zhuǎn)換方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖像顯示系統(tǒng)中的圖形處理單元(Graphics Processing Unit ;GPU), 具體涉及圖形處理單元中的像素格式轉(zhuǎn)換方法和裝置。
背景技術(shù)
在圖像顯示系統(tǒng)中通常在顯示播放之前通過圖形處理單元來進行視頻圖像的后 期處理。圖形處理單元最典型的應(yīng)用是根據(jù)某種規(guī)則對多路輸入圖像進行運算處理,并把 運算結(jié)果按照一定的方式存放到輸出圖像中去。圖1為二輸入一輸出的圖形處理單元示意 圖。輸入圖像ι和輸入圖像2分別作為圖形處理單元100的兩個輸入,在由圖形處理單元 100進行具體的運算處理操作后成為輸出圖像3,由圖形處理單元進行輸出。作為圖形處理單元輸入的輸入圖像可以有很多路,而且各路圖像在存儲時所可能 采用的格式有很多,彼此可能互不相同,因此為了便于圖形處理單元內(nèi)部運算引擎統(tǒng)一的 進行計算,一般圖形處理單元會在圖像輸入輸出時進行格式轉(zhuǎn)換,即像素格式的轉(zhuǎn)換。由于圖像存儲時可能采用的像素格式有很多,例如,A1R6G6B6,B5G5R5, Al,A4LUT4 等等。因此,圖形處理單元在進行像素格式轉(zhuǎn)換時,往往需要同時對多種不同像素格式的數(shù) 據(jù)進行轉(zhuǎn)換。現(xiàn)有技術(shù)的像素格式轉(zhuǎn)換往往難以同時滿足多種不同像素格式的數(shù)據(jù)轉(zhuǎn)換, 而需要對每一種像素格式設(shè)計相應(yīng)的像素格式的數(shù)據(jù)轉(zhuǎn)換電路,常常顯得通用性很差。圖2給出一種現(xiàn)有技術(shù)中像素格式轉(zhuǎn)換模塊的示意圖。如圖2所示,該像素格式轉(zhuǎn) 換模塊包括第一像素格式轉(zhuǎn)換單元201,第二像素格式轉(zhuǎn)換單元202,第三像素格式轉(zhuǎn)換單
元203,......第η像素格式轉(zhuǎn)換單元2η。其中,第一像素格式轉(zhuǎn)換單元用來將A1R6G6B6
轉(zhuǎn)換成需要的像素格式,第二像素格式轉(zhuǎn)換單元用來將B5G5R5轉(zhuǎn)換成需要的像素格式,第 三像素格式轉(zhuǎn)換單元用來將Al轉(zhuǎn)換成需要的像素格式,……第η像素格式轉(zhuǎn)換單元用 來將A4LUT4轉(zhuǎn)換成需要的像素格式。輸入數(shù)據(jù)同時從各個像素格式轉(zhuǎn)換單元的輸入端口 進入,在進行相應(yīng)的像素格式轉(zhuǎn)換之后,在輸入像素格式配置寄存器205的控制下,從多路 復(fù)用器206中輸出具有統(tǒng)一像素格式的輸出數(shù)據(jù)。在圖2這樣一個需要支持η種像素格式的轉(zhuǎn)換模塊中,需要設(shè)置η路像素格式轉(zhuǎn) 換單元,最后再通過軟件對像素格式的配置,從這η路轉(zhuǎn)換結(jié)果中選出對應(yīng)的一路作為像 素格式轉(zhuǎn)換模塊的輸出。這種結(jié)構(gòu)的最大問題在于,每當需要增加一種支持的像素格式時, 就需要針對這種新增加的像素格式,額外的再添加一路像素格式轉(zhuǎn)換單元。同時,由于像素 格式轉(zhuǎn)換單元的數(shù)量增加了,還需要把η選1的多路復(fù)用器修改為η+1選1的多路復(fù)用器。 因此,僅僅一些針對已有像素格式的簡單變化而生成的新的像素格式,就會造成原有圖形 處理單元電路的不可復(fù)用,而需要重新設(shè)計圖形處理單元的邏輯電路,導(dǎo)致資源和時間上 的浪費。因此,業(yè)界需要一種更為靈活統(tǒng)一的結(jié)構(gòu)來描述圖形處理單元中的像素格式轉(zhuǎn)換 模塊,使得在需要圖形處理單元支持更多的像素格式時,僅需要通過更改軟件對圖形處理 單元的配置即可完成,使得邏輯電路的復(fù)用性更好。

發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種用于圖形處理的像素格式轉(zhuǎn)換裝置,具有通用性的 結(jié)構(gòu),可適用于不同類型的多種像素格式轉(zhuǎn)換,而無須更改硬件電路。本發(fā)明的另一目的是提供一種用于圖形處理的像素格式轉(zhuǎn)換方法,可以進行不同 類型的多種像素格式轉(zhuǎn)換,而無須更改硬件電路。本發(fā)明的另一目的是提供一種結(jié)構(gòu)靈活的圖形處理單元。根據(jù)本發(fā)明的第一方面,提供一種像素格式轉(zhuǎn)換裝置,包括位寬拆分單元,用于讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格 式;查表單元,用于檢查輸入數(shù)據(jù)是否包含查表指數(shù),若包含查表指數(shù),表示輸入數(shù)據(jù) 為真實色彩型的像素格式數(shù)據(jù)在存儲器中的存放地址,從存儲器的相應(yīng)存放地址中讀取出 真實色彩型的像素格式數(shù)據(jù),若不包含查表指數(shù),表示輸入數(shù)據(jù)為真實色彩型的像素格式 數(shù)據(jù);至少一路通道轉(zhuǎn)換單元,每路通道轉(zhuǎn)換單元分別對讀取的具有統(tǒng)一位寬格式的像 素格式數(shù)據(jù)按分量進行像素格式轉(zhuǎn)換,輸出轉(zhuǎn)換后的像素格式分量數(shù)據(jù);拼接邏輯單元,用于對每路通道轉(zhuǎn)換單元輸出的像素格式分量數(shù)據(jù)進行拼接,形 成完整的像素格式數(shù)據(jù)。根據(jù)本發(fā)明的另一方面,提供一種像素格式轉(zhuǎn)換方法,其特征在于,包括以下步 驟(1)讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格式;(2)判斷輸入數(shù)據(jù)是否為查找表型,如果輸入數(shù)據(jù)為查找表型,則輸入數(shù)據(jù)為真實 色彩型的像素格式數(shù)據(jù)在存儲器中的存放地址,按照該地址從存儲器中讀取真實色彩型的 像素格式數(shù)據(jù),如果輸入數(shù)據(jù)不是查找表型,則表示輸入數(shù)據(jù)為真實色彩型的像素格式數(shù) 據(jù);(3)對讀取的具有統(tǒng)一位寬格式的像素格式數(shù)據(jù)按像素格式分量分成多路分別抽 取有效數(shù)據(jù);(4)把每路像素格式分量數(shù)據(jù)的有效數(shù)據(jù)進行位擴展,得到擴展后統(tǒng)一位寬的像 素格式分量數(shù)據(jù);(5)對每路擴展后統(tǒng)一位寬的像素格式分量數(shù)據(jù)進行拼接,形成完整的像素格式 數(shù)據(jù)。根據(jù)本發(fā)明的另一方面,提供一種圖形處理單元,包括像素格式轉(zhuǎn)換裝置,用于將接收的圖像的像素格式轉(zhuǎn)換成圖形處理單元內(nèi)部邏輯 運算所需要的像素格式以及像素格式反轉(zhuǎn)換裝置,用于將已完成圖形處理單元內(nèi)部邏輯運算的圖像數(shù)據(jù)轉(zhuǎn)換 成圖像輸出所需要的像素格式,所述像素格式反轉(zhuǎn)換裝置包括至少一路通道反轉(zhuǎn)換單元,每路通道反轉(zhuǎn)換單元分別對已完成圖形處理單元內(nèi)部 邏輯運算的圖像數(shù)據(jù)的像素格式分量進行像素格式反向轉(zhuǎn)換,得到輸出所需的像素格式分 量;以及
6
拼接邏輯單元,用于對各路通道反轉(zhuǎn)換單元輸出的像素格式分量數(shù)據(jù)進行拼接, 形成完整的像素格式數(shù)據(jù)。根據(jù)本發(fā)明的另一方面,提供一種圖形處理單元,它包括如本發(fā)明第一方面所述 的像素格式轉(zhuǎn)換裝置。


以下附圖為對本發(fā)明示例性實施例的輔助說明,結(jié)合以下附圖對本發(fā)明實施例的 闡述,是為進一步揭示本發(fā)明的特征所在,但并不限制本發(fā)明,圖中相同符號代表實施例中 相應(yīng)元件或步驟,其中圖1為二輸入一輸出的圖形處理單元示意圖。圖2為現(xiàn)有技術(shù)中像素格式轉(zhuǎn)換模塊的示意圖。圖3為本發(fā)明的一種像素格式轉(zhuǎn)換方法流程示意圖。圖4A-4C示意性地表示像素格式數(shù)據(jù)中的有效數(shù)據(jù)的位寬及其在總線位寬中的 分布位置。圖5為本發(fā)明的像素格式轉(zhuǎn)換裝置結(jié)構(gòu)示意圖。圖6為根據(jù)本發(fā)明的一個實施例的位寬拆分單元電路結(jié)構(gòu)框圖。圖7A為24bpp拆分邏輯電路結(jié)構(gòu)示意圖;圖7B為Sbpp拆分邏輯電路結(jié)構(gòu)示意 圖。圖8為根據(jù)本發(fā)明的一個實施例的一路通道轉(zhuǎn)換單元結(jié)構(gòu)示意圖。圖9為根據(jù)本發(fā)明的一個實施例的位寬抽取模塊電路結(jié)構(gòu)框圖。圖10為根據(jù)本發(fā)明的一個實施例的位寬擴展模塊示例性電路結(jié)構(gòu)框圖。圖11為本發(fā)明的像素格式反轉(zhuǎn)換裝置結(jié)構(gòu)示意圖。圖12為根據(jù)本發(fā)明的一個實施例的通道反轉(zhuǎn)換單元電路結(jié)構(gòu)框圖。圖13為根據(jù)本發(fā)明的一個實施例的一種包含所述像素格式轉(zhuǎn)換裝置和所述像素 格式反轉(zhuǎn)換裝置的圖形處理單元結(jié)構(gòu)示意圖。
具體實施例方式圖形處理中像素格式有很多種類型,對其中絕大多數(shù)像素格式可以按不同標準進 行分類。例如,按照是否需要查詢存儲器地址來獲取像素格式數(shù)據(jù),可分為查找表型(LUT) 數(shù)據(jù)和非查找表型(LUT)數(shù)據(jù);按照顏色編碼方式,可分為RGB類型和YUV類型;按照像素 位寬,又可分為 lbpp/2bpp/4bpp/8bpp/16bpp/24bpp/32bpp(bpp 表示 bit per pixel,S口每 像素的位寬)等多種類型。此外,按照各顏色通道的位置,又可區(qū)別不同的像素格式。為了采用一種更為靈活統(tǒng)一的結(jié)構(gòu)來描述圖形處理單元中的像素格式轉(zhuǎn)換模塊, 可以根據(jù)像素格式不同類型的分類標準將不同類型的像素格式調(diào)整成大致統(tǒng)一的格式,以 便能夠使不同類型的像素格式通過一致的結(jié)構(gòu)進行轉(zhuǎn)換。這樣,在需要圖形處理單元支持 更多類型的像素格式時,僅需要通過更改軟件對圖形處理單元的配置即可完成,使得邏輯 電路的復(fù)用性更好。參見圖3,本發(fā)明提出一種像素格式轉(zhuǎn)換方法,其包括以下步驟(1)步驟301,讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格式。例如,把lbpp/2bpp/4bpp/8bpp/16bpp/24bpp/32bpp等多種類型位寬格式的像素格式數(shù)據(jù)統(tǒng)一 拆分成32bpp位寬格式。對于4bpp的像素格式來說,拆分后的32位數(shù)據(jù)中可以定義低4 位值為有效像素格式數(shù)據(jù),高28位值忽略。其他像素格式類似。(2)步驟302,判斷輸入數(shù)據(jù)是否為查找表型(LUT)。如果輸入數(shù)據(jù)為查找表型,表 示輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù)在存儲器中的存放地址,則按照步驟303,可以根 據(jù)數(shù)據(jù)地址從存儲器中讀取真實色彩型的像素格式數(shù)據(jù),再進入下一步驟304。存放在存儲 器中的真實色彩型的像素格式數(shù)據(jù)的像素格式可以設(shè)置成與內(nèi)部運算邏輯需要的像素格 式相同。如果輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù),則直接進入下一步驟304。(3)步驟304,將具有統(tǒng)一位寬格式的像素格式數(shù)據(jù)按分量分成多路分別抽取出 有效數(shù)據(jù)。不但有位寬不同的像素格式,而且像素格式數(shù)據(jù)在顏色通道中的位置也會有所 不同。例如圖4A所示的像素格式數(shù)據(jù)中有效數(shù)據(jù)位寬是4位,位置在32位位寬總線的第 21-24位;圖4B所示的像素格式數(shù)據(jù)中有效數(shù)據(jù)位寬是8位,位置在32位位寬總線的第0-7 位。像素格式數(shù)據(jù)的每一分量分別作為一路數(shù)據(jù)單獨處理,多路分量數(shù)據(jù)的處理并行進行。(4)步驟305,把每一路像素格式分量的有效數(shù)據(jù)進行位擴展,得到統(tǒng)一位寬的像 素格式數(shù)據(jù)。例如,雖然有效數(shù)據(jù)的位寬可以是3位、5位、6位、8位等值,但可以使其位寬 統(tǒng)一擴展成8位。(5)步驟306,對各路像素格式分量轉(zhuǎn)換得到的統(tǒng)一位寬的像素格式數(shù)據(jù)進行拼 接。如果輸入數(shù)據(jù)的像素格式分量的數(shù)量少于圖形處理單元內(nèi)部運算所需要的像素格式的 分量數(shù),可以從軟件配置讀取分量。例如,對于ARGB像素格式數(shù)據(jù),在前面的步驟302-305 中,通常是針對各個分量,如A分量、R分量、G分量、B分量分別設(shè)置轉(zhuǎn)換通道進行處理,在 該步驟306中,把四個分量數(shù)據(jù)拼接在一起,獲得完整的像素格式數(shù)據(jù)。如果輸入數(shù)據(jù)缺少 A分量,可以對從軟件配置讀取A分量,給A分量分配一個值。(6)根據(jù)圖像處理的附加要求,例如可以增加步驟307,將拼接完成后的像素格式 數(shù)據(jù)再進行附加的邏輯轉(zhuǎn)換。例如,進行色彩空間YUV到RGB的轉(zhuǎn)換等。相應(yīng)地,本發(fā)明提出一種像素格式轉(zhuǎn)換裝置,參見圖5,該像素格式轉(zhuǎn)換裝置包括 位寬拆分單元501、查表單元502、通道轉(zhuǎn)換單元503、拼接邏輯單元506以及根據(jù)圖像處理 的附加要求可以增加的轉(zhuǎn)換邏輯單元507。位寬拆分單元501讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格式。 圖6為位寬拆分單元電路結(jié)構(gòu)示意圖。位寬拆分單元501具有Ibpp拆分邏輯605、2bpp 拆分邏輯606、4bpp拆分邏輯607、8bpp拆分邏輯608、16bpp拆分邏輯609、24bpp拆分邏 輯610,分別可以對lbpp/2bpp/4bpp/8bpp/16bpp/24bpp等多種類型位寬格式的像素格式 數(shù)據(jù)進行位寬拆分,其輸出分別連接到多路復(fù)用器604的輸入端,作為多路復(fù)用器604的 輸入。32bpp位寬格式的像素格式數(shù)據(jù)可以直接作為多路復(fù)用器604的輸入。位寬寄存器 603根據(jù)當前輸入數(shù)據(jù)的位寬格式,控制多路復(fù)用器604從多路輸入中選擇一路進行輸出。 根據(jù)本發(fā)明的其他實施例,在出現(xiàn)其他類型的位寬格式時,可以增加相應(yīng)類型位寬格式的 拆分邏輯。各拆分邏輯在收到輸出使能信號時輸出一次數(shù)據(jù)。輸出使能信號的次數(shù)同時記 錄在計數(shù)器602中。以Sbpp拆分邏輯為例來說明,對于Sbpp位寬格式的數(shù)據(jù),一個總線位 寬為32位的數(shù)據(jù)將分4次輸出,當輸出使能信號第一次發(fā)出時,輸出低8位數(shù)據(jù),即第0-7 位;當計數(shù)器602顯示輸出使能信號第二次發(fā)出時,輸出第8-15位數(shù)據(jù);當計數(shù)器602顯示
8輸出使能信號第三次發(fā)出時,輸出第16-23位數(shù)據(jù);當計數(shù)器602顯示輸出使能信號第四次 發(fā)出時,輸出第24-31位數(shù)據(jù)。數(shù)據(jù)鎖存寄存器601鎖存輸入的24bpp位寬格式的數(shù)據(jù)。圖7A為24bpp拆分邏輯電路結(jié)構(gòu)示意圖。24bpp位寬格式的輸入數(shù)據(jù)分為4種 情況處理,分別為多路復(fù)用器的四路輸入。根據(jù)本發(fā)明的一個實施例,總線位寬為32位, 24bpp位寬格式的輸入數(shù)據(jù)將會出現(xiàn)4種形式。第一種情況,數(shù)據(jù)鎖存寄存器沒有鎖存的 24bpp數(shù)據(jù),則第一個32位輸入數(shù)據(jù)直接作為多路復(fù)用器的第一路輸入,可直接輸出第一 個24bpp數(shù)據(jù),此時數(shù)據(jù)鎖存寄存器中鎖存的第一個32位輸入數(shù)據(jù)的高8位,即第二個 24bpp數(shù)據(jù)的低8位。第二種情況,數(shù)據(jù)鎖存寄存器鎖存的第一個32位輸入數(shù)據(jù)的高8位 是第二個24bpp數(shù)據(jù)的低8位,則需要把數(shù)據(jù)鎖存寄存器中鎖存的第一個32位輸入數(shù)據(jù)右 移24位,使其置于32位總線的低8位,并把新輸入的第二個32位輸入數(shù)據(jù)的左移8位,再 通過或門701拼接在一起,得到第二個24bpp數(shù)據(jù),作為多路復(fù)用器的第二路輸入,此時數(shù) 據(jù)鎖存寄存器中鎖存的第二個32位輸入數(shù)據(jù)的高16位,即第三個24bpp數(shù)據(jù)的低16位。 第三種情況,鎖存寄存器鎖存的第二個32位輸入數(shù)據(jù)的高16位是第三個24bpp數(shù)據(jù)的低 16位,則需要把數(shù)據(jù)鎖存寄存器中鎖存的第二個32位輸入數(shù)據(jù)右移16位,并把新輸入的第 三個32位輸入數(shù)據(jù)左移16位,再通過或門702拼接在一起,得到第三個24bpp數(shù)據(jù),作為 多路復(fù)用器的第三路輸入,此時數(shù)據(jù)鎖存寄存器中鎖存的第三個32位輸入數(shù)據(jù)的高24位, 即第四個24bpp數(shù)據(jù)。第四種情況,數(shù)據(jù)鎖存寄存器鎖存的第三個32位輸入數(shù)據(jù)的高24 位是第四個24bpp數(shù)據(jù),則直接把數(shù)據(jù)鎖存寄存器的第三個32位輸入數(shù)據(jù)右移8位,使其 置于32位總線的低24位,作為多路復(fù)用器的第四路輸入。多路復(fù)用器以上述四種情況作 為一個循環(huán),計數(shù)器控制多路復(fù)用器依次對第一、二、三、四路輸入進行輸出。圖7B為Sbpp拆分邏輯電路結(jié)構(gòu)示意圖。由于32位總線每次可輸入的數(shù)據(jù)為32 位,包含4個Sbpp數(shù)據(jù)。第一種情況,總線低8位即有效數(shù)據(jù),輸入數(shù)據(jù)直接作為多路復(fù)用 器的第一路輸入。第二種情況,32位總線的第8-15位右移8位后才能得到低8位的有效數(shù) 據(jù),作為多路復(fù)用器第二路輸入。第三種情況,32位總線的第16-23位右移16位后才能得 到低8位的有效數(shù)據(jù),作為多路復(fù)用器第三路輸入。第四種情況,32位總線的第24-31位右 移24位后才能得到低8位的有效數(shù)據(jù),作為多路復(fù)用器第四路輸入。多路復(fù)用器在計數(shù)器 的控制下依次選擇第一、二、三、四路輸入。其他拆分邏輯,如Ibpp拆分邏輯、2bpp拆分邏 輯、4bpp拆分邏輯、16bpp拆分邏輯與Sbpp拆分邏輯電路結(jié)構(gòu)類似,一般技術(shù)人員根據(jù)Sbpp 拆分邏輯電路結(jié)構(gòu)可以設(shè)計出其他幾類位寬格式相應(yīng)的拆分邏輯,在此不再詳加說明。查表單元502檢查輸入數(shù)據(jù)是否包含查表指數(shù)(LUT index)。若包含查表指數(shù), 表示輸入數(shù)據(jù)為查找表型,需要指出查表指數(shù)的位域區(qū)間。此時輸入數(shù)據(jù)為真實色彩型的 像素格式數(shù)據(jù)在存儲器中的存放地址,可以從存儲器的相應(yīng)存放地址中讀取出真實色彩型 的像素格式數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,存放在存儲器中的真實色彩型的像素格式數(shù) 據(jù)的像素格式可以設(shè)置成與內(nèi)部運算邏輯所需的像素格式相同。例如,內(nèi)部運算邏輯所需 的像素格式為A8R8G8B8,則存放在存儲器中的真實色彩型的像素格式數(shù)據(jù)也相應(yīng)設(shè)置成 A8R8G8B8像素格式。像素格式轉(zhuǎn)換裝置具有多路通道轉(zhuǎn)換單元,如圖5中第一通道轉(zhuǎn)換單元5031、第
二通道轉(zhuǎn)換單元5032......第η通道轉(zhuǎn)換單元503η。但通道轉(zhuǎn)換單元的數(shù)量只是針對需
要轉(zhuǎn)換的像素格式分量而設(shè)置,即按照內(nèi)部運算邏輯需要的像素格式分量數(shù)而設(shè)置,而并非針對像素格式的類型來設(shè)置,因此,當增加新類型的像素格式時,并不需要重新設(shè)計硬件 電路,如增加通道轉(zhuǎn)換單元的數(shù)量,改變多路復(fù)用器結(jié)構(gòu)等。例如,在本發(fā)明的一個實施例 中,像素格式轉(zhuǎn)換裝置包含4路通道轉(zhuǎn)換單元,可分別將具有A、R、G、B四個分量的像素格 式AxlRylGzlBwl統(tǒng)一轉(zhuǎn)換成像素格式A8R8G8B8,也可分別將具有A、Y、U、V四個分量的像 素格式AX2Yy2Uz2Vw2統(tǒng)一轉(zhuǎn)換成像素格式A8Y8U8V8。第一、二、三、四通道轉(zhuǎn)換單元分別完 成A、R、G、B四個分量中的一個分量或A、Y、U、V四個分量中的一個分量的像素格式轉(zhuǎn)換。 AxlRylGzlBwl中的xl、y UzUwl表示A、R、G、B四個分量的位寬,可以改變xl、yl、zl、wl 四個值,以獲得不同類型的像素格式。類似地Ax2Yy2UZ2Vw2中的x2、y2、z2、w2表示A、Y、 U、V四個分量的位寬,可以改變x2、y2、z2、q2四個值,以獲得不同類型的像素格式。
每一路通道轉(zhuǎn)換單元具有相同的硬件結(jié)構(gòu),包含位寬抽取模塊801和位寬擴展模 塊802,如圖8所示。其中,位寬抽取模塊801中設(shè)有通道位寬寄存器901,可以寫入抽取位 寬值,根據(jù)抽取位寬值從輸入的數(shù)據(jù)中抽取相應(yīng)位寬的像素格式數(shù)據(jù)。例如,可以把抽取位 寬值設(shè)為3,則從總線上抽取位寬為3位的數(shù)據(jù)。圖9給出了一種示例性的位寬抽取模塊電 路結(jié)構(gòu)。位寬抽取模塊801從第一桶形移位器903的第一輸入端輸入數(shù)據(jù),從與門906的 輸出端輸出數(shù)據(jù)。第一桶形移位器903的第二輸入端連接通道低位邊界寄存器905,第三 輸入端為右移控制信號,輸出端連接到與門906的第一輸入端。通道位寬寄存器901的輸 出端連接第二桶形移位器902的第一輸入端。第二桶形移位器902的第二輸入端為左移控 制信號,第三輸入端為移位值“1”,輸出端連接到減法器904的第一輸入端。減法器904的 第二輸入端為值“1”,輸出端連接到與門906的第二輸入端。通道低位邊界寄存器905中 設(shè)置輸入數(shù)據(jù)的通道最低邊界位,第一桶形移位器903根據(jù)通道最低邊界位對輸入數(shù)據(jù)右 移相應(yīng)的位數(shù),使有效數(shù)據(jù)移到總線的最低位。其工作原理可舉例說明。如圖4A所示,分 量的3位有效數(shù)據(jù)在32位總線中的第21-24位,通道最低邊界位即為第21位。將輸入數(shù) 據(jù)右移21位,使有效數(shù)據(jù)移到總線最低位,即第0-3位,見圖4C。圖4A中分量的有效數(shù)據(jù) 為3,則相應(yīng)地把抽取位寬值設(shè)為3,第二桶形移位器902將“ 1 ”左移3位,得到“ 1000”,減 法器904減“1”,得到“0111”。與門906對第一桶形移位器903的輸出和減法器904的輸 出進行“與”處理,就可把像素格式數(shù)據(jù)的有效數(shù)據(jù)抽取出來,并置于總線通道的最低位,其 高位均填零。這樣,輸入數(shù)據(jù)的有效數(shù)據(jù)位寬長度或在總線通道的位置雖然不相同,但從位 寬抽取模塊801總是能得抽取并輸出像素格式數(shù)據(jù)的有效數(shù)據(jù),并將其置于總線通道的最 低位,其高位均填零。位寬抽取模塊801輸出的像素格式分量數(shù)據(jù)送入位寬擴展模塊802 進行擴展。位寬擴展模塊802統(tǒng)一對位寬抽取模塊801輸出的像素格式分量數(shù)據(jù)進行位擴 展,得到具有統(tǒng)一位寬的像素格式分量數(shù)據(jù)。按照本發(fā)明的一個實施例,位寬擴展模塊802 統(tǒng)一把位寬抽取模塊801輸出的像素格式分量數(shù)據(jù)擴展成8位數(shù)據(jù)。圖10為位寬擴展模 塊一個示例性結(jié)構(gòu)示意圖。例如,輸入顏色分量A3位寬為3位,相應(yīng)地,位寬抽取模塊802 輸出值的位寬為3位,且有效數(shù)據(jù)位于低3位,需要將其擴展成8位數(shù)據(jù)。輸入顏色分量位 寬寄存器1001作為減法器1002的第一輸入端,其中設(shè)置3位的輸入顏色分量位寬。減法 器1002的第二輸入端為“8”,即需要擴展的位寬。減法器1002的輸出端連接桶形移位器 1003的第一輸入端,位寬抽取模塊輸出值作為桶形移位器1003的第二輸入端,左移控制信 號作為桶形移位器1003的第三輸入端。左移控制信號控制桶形移位器1003對位寬抽取模 塊輸出值左移5位,即可將分量數(shù)據(jù)A3擴展成A8輸出,其中有效數(shù)據(jù)位于高3位,低5位填零。多個通道轉(zhuǎn)換單元同時進行工作,把轉(zhuǎn)換后的分量數(shù)據(jù)送入拼接邏輯506。拼接 邏輯506對各路路通道轉(zhuǎn)換單元送出的各路分量數(shù)據(jù)進行拼接。如果輸入數(shù)據(jù)的分量數(shù)少 于內(nèi)部運算邏輯需要的像素格式分量數(shù),可以從軟件配置讀取相應(yīng)數(shù)量的分量,給這些分 量分配值。根據(jù)本發(fā)明的一個實施例,如果輸入數(shù)據(jù)的分量為3,而內(nèi)部運算邏輯需要的像 素格式分量數(shù)為4,則一路分量從軟件配置讀取。例如,根據(jù)本發(fā)明的一個實施例,位寬擴 展模塊802輸出的分量像素格式數(shù)據(jù)均為8位,則拼接邏輯506把A、R、G、B四個分量數(shù)據(jù) 拼接成為完整的A8R8G8B8類型的像素格式,或把A、Y、U、V四個分量數(shù)據(jù)拼接成為完整的 A8Y8U8V8類型的像素格式。其他轉(zhuǎn)換邏輯507按照圖像處理要求對拼接邏輯506獲得的 A8R8G8B8類型或A8Y8U8V8類型的像素格式進行轉(zhuǎn)換。例如,圖像輸出要求的統(tǒng)一數(shù)據(jù)格式 是A8R8G8B8類型的像素格式時,如果當前拼接邏輯506輸出的像素格式是A8Y8U8V8類型, 則由其他轉(zhuǎn)換邏輯507將其轉(zhuǎn)換成為A8R8G8B8類型的像素格式。拼接邏輯506和其他轉(zhuǎn) 換邏輯507的結(jié)構(gòu)都是現(xiàn)有技術(shù),在此不再贅述。圖13示例性的提出一種包含所述像素格式轉(zhuǎn)換裝置的圖形處理單元。該圖形處 理單元可同時接收兩路輸入數(shù)據(jù),如圖中所示的“輸入圖像1”和“輸入圖像2”,并利用兩路 像素格式轉(zhuǎn)換裝置,即第一像素格式轉(zhuǎn)換裝置1301和第二像素格式轉(zhuǎn)換裝置1302,分別對 這兩路輸入數(shù)據(jù)進行像素格式轉(zhuǎn)換,完成像素格式轉(zhuǎn)換的數(shù)據(jù)在內(nèi)部運算引擎1305中進 行各類圖像運算處理后,再由像素格式反轉(zhuǎn)換裝置1308進行像素格式反轉(zhuǎn)換,以獲得圖像 顯示所需要的像素格式。第一像素格式轉(zhuǎn)換裝置和第二像素格式轉(zhuǎn)換裝置均可采用前文所 述的電路結(jié)構(gòu)。為便于內(nèi)部運算引擎的圖像運算處理,所有圖像數(shù)據(jù)通過像素格式轉(zhuǎn)換裝置轉(zhuǎn)換 成統(tǒng)一的像素格式,例如統(tǒng)一轉(zhuǎn)換成A8R8G8B8像素格式。而圖像輸出時需要將原統(tǒng)一的像 素格式按照需求分別轉(zhuǎn)換為不同的像素格式。因此,像素格式反轉(zhuǎn)換裝置的原理和結(jié)構(gòu)與 像素格式轉(zhuǎn)換裝置相對應(yīng)。參見圖11,像素格式反轉(zhuǎn)換裝置包括通道反轉(zhuǎn)換單元110、拼接 邏輯1104以及按需要增加的例如轉(zhuǎn)換邏輯1105。類似于通道轉(zhuǎn)換單元,通道反轉(zhuǎn)換單元數(shù)
量也可有多路,如圖11中第一通道反轉(zhuǎn)換單元1101、第二通道反轉(zhuǎn)換單元1102,......第
η通道反轉(zhuǎn)換單元11η。但通道反轉(zhuǎn)換單元的數(shù)量只是針對需要轉(zhuǎn)換的像素格式分量而設(shè) 置,即按照內(nèi)部運算邏輯需要的像素格式分量數(shù)而設(shè)置,而并非針對像素格式的類型來設(shè) 置,因此,當增加新類型的像素格式時,也不需要重新設(shè)計硬件電路,如不需增加通道反轉(zhuǎn) 換單元的數(shù)量,也不需改變多路復(fù)用器結(jié)構(gòu)等。例如,在本發(fā)明的一個實施例中,像素格式 反轉(zhuǎn)換裝置包含4路通道反轉(zhuǎn)換單元,可將具有A、R、G、B四個分量的像素格式A8R8G8B8轉(zhuǎn) 換成需要的像素格式AxlRylGzlBwl,也可將具有A、Y、U、V四個分量的像素格式A8Y8U8V8 統(tǒng)一轉(zhuǎn)換成像素格式Ax2Yy2UZ2Vw2。第一、二、三、四通道反轉(zhuǎn)換單元分別完成A、R、G、B四 個分量中的一個分量或A、Y、U、V四個分量中的一個分量的像素格式反轉(zhuǎn)換。AxlRylGzlBwl 中的Xl、yl、zl、wl表示A、R、G、B四個分量的位寬,改變xl、yl、zl、wl四個值就可獲得不 同類型的像素格式。類似地,Ax2Yy2Uz2Vw2中的x2、y2、z2、w2表示A、Y、U、V四個分量的 位寬,改變x2、y2、z2、q2四個值可以獲得不同類型的像素格式。圖12給出了一種示例性的通道反轉(zhuǎn)換單元電路結(jié)構(gòu)。每一路通道反轉(zhuǎn)換單元具 有輸出顏色分量位寬寄存器1201,輸出顏色分量位寬寄存器1201的值根據(jù)輸出圖像所需要的分量像素格式來設(shè)置。根據(jù)本發(fā)明的一個實施例,圖形處理單元的內(nèi)部運算時將圖像 的像素格式轉(zhuǎn)換為統(tǒng)一的8位。輸出顏色分量位寬寄存器1201和數(shù)值“8”輸入減法器1202 進行減法操作后得到待抽取位寬值,作為第一桶形移位器1203的第一輸入,內(nèi)部8位顏色 分量值作為第一桶形移位器1203的第二輸入,在右移控制信號的控制下,內(nèi)部8位顏色分 量值向右移位待抽取位寬值,得到輸出顏色分量值。例如,輸出圖像的所需要的分量像素格 式為G3,輸出顏色分量位寬寄存器1201設(shè)為“3”,第一桶形移位器所輸出的輸出顏色分量 值的低3位為有效數(shù)據(jù)。再把輸出顏色分量值作為第二桶形移位器1204的第一輸入,輸出 顏色分量低位邊界值作為第二桶形移位器1204的第二輸入,在左移控制信號的控制下,輸 出顏色分量值向左移位的大小為輸出顏色分量低位邊界值,從而得到輸出數(shù)據(jù)。拼接邏輯 1104把各個通道反轉(zhuǎn)換單元所輸出的各分量數(shù)據(jù)進行拼接,就可得到完整的像素格式。例 如,將A2、R4、G3、B5四個分量的像素格式進行拼接,可得到完整的像素格式A2R4G3B5。像 素格式反轉(zhuǎn)換裝置的其他轉(zhuǎn)換邏輯1105可以按照圖像輸出要求對拼接邏輯1104拼接獲得 的像素格式進行轉(zhuǎn)換。本發(fā)明采用了一種更為靈活統(tǒng)一的結(jié)構(gòu)來描述圖形處理單元中的像素格式轉(zhuǎn)換 模塊,使得在需要圖形處理單元支持更多的像素格式時,僅需要通過更改軟件對圖形處理 單元的配置即可完成,而無須重新設(shè)計GPU的邏輯電路,使得邏輯電路的復(fù)用性更好,也節(jié) 省了資源和設(shè)計時間。根據(jù)本發(fā)明的其他實施例,圖形處理單元可以僅包含所述像素格式 轉(zhuǎn)換裝置或僅包含所述像素格式反轉(zhuǎn)換裝置。當圖形處理單元同時包含所述像素格式轉(zhuǎn)換 裝置與所述像素格式反轉(zhuǎn)換裝置,將使硬件邏輯電路具有更好的復(fù)用性。本發(fā)明并不限于實施例所做的闡述,任何基于本發(fā)明的修改和本發(fā)明的等同物都 應(yīng)涵蓋在本發(fā)明的權(quán)利要求的精神和范圍之內(nèi)。
權(quán)利要求
一種像素格式轉(zhuǎn)換裝置,包括位寬拆分單元,用于讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格式;查表單元,用于檢查輸入數(shù)據(jù)是否包含查表指數(shù),若包含查表指數(shù),表示輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù)在存儲器中的存放地址,從存儲器的相應(yīng)存放地址中讀取出真實色彩型的像素格式數(shù)據(jù),若不包含查表指數(shù),表示輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù);至少一路通道轉(zhuǎn)換單元,每路通道轉(zhuǎn)換單元分別對讀取的具有統(tǒng)一位寬格式的像素格式數(shù)據(jù)按分量進行像素格式轉(zhuǎn)換,輸出轉(zhuǎn)換后的像素格式分量數(shù)據(jù);拼接邏輯單元,用于對每路通道轉(zhuǎn)換單元輸出的像素格式分量數(shù)據(jù)進行拼接,形成完整的像素格式數(shù)據(jù)。
2.如權(quán)利要求1所述的像素格式轉(zhuǎn)換裝置,其特征在于還包括按照圖像處理的附加要 求對拼接邏輯單元獲得的像素格式數(shù)據(jù)進行附加的像素格式轉(zhuǎn)換的轉(zhuǎn)換邏輯單元。
3.如權(quán)利要求1或2所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述位寬拆分單元包括 Ibpp拆分邏輯、2bpp拆分邏輯、4bpp拆分邏輯、8bpp拆分邏輯、16bpp拆分邏輯、24bpp拆分 邏輯,可分別用于對lbpp/2bpp/4bpp/8bpp/16bpp/24bpp等多種類型位寬格式的輸入數(shù)據(jù) 進行位寬拆分。
4.如權(quán)利要求3所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述24bpp拆分邏輯包含具 四路輸入的多路復(fù)用器,所述多路復(fù)用器的第一路輸入包括所述位寬拆分單元直接輸入的 32位輸入數(shù)據(jù)作為第一個24bpp數(shù)據(jù);所述多路復(fù)用器的第二路輸入包括把數(shù)據(jù)鎖存寄存 器鎖存的第一個32位數(shù)據(jù)右移24位,并把新輸入的第二個32位輸入數(shù)據(jù)左移8位,再通 過或門拼接在一起得到的第二個24bpp數(shù)據(jù);所述多路復(fù)用器的第三路輸入包括把數(shù)據(jù)鎖 存寄存器中鎖存的第二個32位輸入數(shù)據(jù)右移16位,并把新輸入的第三個32位輸入數(shù)據(jù)左 移16位,再通過或門拼接在一起得到的第三個24bpp數(shù)據(jù);所述多路復(fù)用器的第四路輸入 包括把數(shù)據(jù)鎖存寄存器鎖存的第三個32位輸入數(shù)據(jù)右移8位后得到的有效數(shù)據(jù),所述多路 復(fù)用器以上述四路輸入作為一個循環(huán),計數(shù)器控制所述多路復(fù)用器依次對第一、二、三、四 路輸入進行輸出。
5.如權(quán)利要求3所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述Sbpp拆分邏輯包含具四 路輸入的多路復(fù)用器,所述多路復(fù)用器的第一路輸入包括所述位寬拆分單元直接輸入的32 位輸入數(shù)據(jù)作為第一個24bpp數(shù)據(jù);所述多路復(fù)用器的第二路輸入包括輸入數(shù)據(jù)右移8位 后得到的有效數(shù)據(jù);所述多路復(fù)用器的第三路輸入包括輸入數(shù)據(jù)右移16位后得到的有效 數(shù)據(jù);所述多路復(fù)用器的第四路輸入包括輸入數(shù)據(jù)右移24位后得到的有效數(shù)據(jù),所述多路 復(fù)用器在計數(shù)器的控制下依次選擇第一、二、三、四路輸入。
6.如權(quán)利要求1或2所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述存放在存儲器中的真 實色彩型的像素格式數(shù)據(jù)的像素格式設(shè)置成與內(nèi)部運算邏輯所需的像素格式相同。
7.如權(quán)利要求1或2所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述通道轉(zhuǎn)換單元的數(shù)量 按照內(nèi)部運算邏輯需要的像素格式分量數(shù)而設(shè)置。
8.如權(quán)利要求7所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述通道轉(zhuǎn)換單元為4路,每 一路通道轉(zhuǎn)換單元分別對A、R、G、B四個像素格式分量中的一個分量或A、Y、U、V四個像素 格式分量中的一個分量進行轉(zhuǎn)換。
9.如權(quán)利要求7所述的像素格式轉(zhuǎn)換裝置,其特征在于,當輸入數(shù)據(jù)的像素格式分量 數(shù)少于內(nèi)部運算邏輯需要的像素格式分量數(shù),從軟件配置讀取相應(yīng)數(shù)量的分量,給這些分 量分配值。
10.如權(quán)利要求1或2所述的像素格式轉(zhuǎn)換裝置,其特征在于,所述每路通道轉(zhuǎn)換單元 包含位寬抽取模塊和位寬擴展模塊,所述位寬抽取模塊根據(jù)設(shè)置的抽取位寬值,從輸入的 數(shù)據(jù)中抽取相應(yīng)位寬的像素格式分量數(shù)據(jù),所述位寬擴展模塊統(tǒng)一把位寬抽取模塊輸出的 像素格式分量數(shù)據(jù)擴展成預(yù)設(shè)位寬的像素格式分量數(shù)據(jù)。
11.一種像素格式轉(zhuǎn)換方法,其特征在于,包括以下步驟(1)讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格式;(2)判斷輸入數(shù)據(jù)是否為查找表型,如果輸入數(shù)據(jù)為查找表型,則輸入數(shù)據(jù)為真實色彩 型的像素格式數(shù)據(jù)在存儲器中的存放地址,按照該地址從存儲器中讀取真實色彩型的像素 格式數(shù)據(jù),如果輸入數(shù)據(jù)不是查找表型,則表示輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù);(3)對讀取的具有統(tǒng)一位寬格式的像素格式數(shù)據(jù)按像素格式分量分成多路分別抽取有 效數(shù)據(jù);(4)把每路像素格式分量數(shù)據(jù)的有效數(shù)據(jù)進行位擴展,得到擴展后統(tǒng)一位寬的像素格 式分量數(shù)據(jù);(5)對每路擴展后統(tǒng)一位寬的像素格式分量數(shù)據(jù)進行拼接,形成完整的像素格式數(shù)據(jù)。
12.如權(quán)利要求11所述的像素格式轉(zhuǎn)換方法,其特征在于還包括按照圖像處理的附加 要求對步驟(5)形成的完整的像素格式數(shù)據(jù)進行附加的像素格式轉(zhuǎn)換。
13.如權(quán)利要求11所述的像素格式轉(zhuǎn)換方法,其特征在于,步驟(2)中,存放在存儲器 中的真實色彩型的像素格式數(shù)據(jù)設(shè)置成具有與步驟(1)的統(tǒng)一位寬格式的像素格式數(shù)據(jù) 相同的位寬格式。
14.如權(quán)利要求11所述的像素格式轉(zhuǎn)換方法,其特征在于,步驟(3)中,當輸入數(shù)據(jù)的 像素格式分量數(shù)少于內(nèi)部運算邏輯需要的像素格式分量數(shù),從軟件配置讀取相應(yīng)數(shù)量的分 量,給這些分量分配值。
15.一種圖形處理單元,包括像素格式轉(zhuǎn)換裝置,用于將接收的圖像的像素格式轉(zhuǎn)換成圖形處理單元內(nèi)部邏輯運算 所需要的像素格式以及像素格式反轉(zhuǎn)換裝置,用于將已完成圖形處理單元內(nèi)部邏輯運算的圖像數(shù)據(jù)轉(zhuǎn)換成圖 像輸出所需要的像素格式,所述像素格式反轉(zhuǎn)換裝置包括至少一路通道反轉(zhuǎn)換單元,每路通道反轉(zhuǎn)換單元分別對已完成圖形處理單元內(nèi)部邏輯 運算的圖像數(shù)據(jù)的像素格式分量進行像素格式反向轉(zhuǎn)換,得到輸出所需的像素格式分量; 以及拼接邏輯單元,用于對各路通道反轉(zhuǎn)換單元輸出的像素格式分量數(shù)據(jù)進行拼接,形成 完整的像素格式數(shù)據(jù)。
16.如權(quán)利要求15所述的圖形處理單元,其特征在于還包括按照圖像處理的附加要求 對拼接邏輯單元獲得的像素格式數(shù)據(jù)進行附加的像素格式轉(zhuǎn)換的轉(zhuǎn)換邏輯單元。
17.如權(quán)利要求15或16所述的圖形處理單元,其特征在于,所述通道反轉(zhuǎn)換單元的數(shù) 量按照內(nèi)部運算邏輯需要的像素格式分量數(shù)而設(shè)置。
18.如權(quán)利要求17所述的圖形處理單元,其特征在于,所述通道反轉(zhuǎn)換單元為4路,每 一路通道轉(zhuǎn)換單元分別對A、R、G、B四個像素格式分量中的一個分量或A、Y、U、V四個像素 格式分量中的一個分量進行轉(zhuǎn)換。
19.如權(quán)利要求15或16所述的圖形處理單元,其特征在于,每一路通道反轉(zhuǎn)換單元具 有輸出顏色分量位寬寄存器,所述輸出顏色分量位寬寄存器的值根據(jù)輸出圖像所需要的分 量像素格式來設(shè)置。
20.一種圖形處理單元,其特征在于包括如權(quán)利要求1所述的像素格式轉(zhuǎn)換裝置。
全文摘要
用于圖形處理的像素格式轉(zhuǎn)換方法和裝置,其中的方法包括(1)讀取輸入數(shù)據(jù),并把讀取的輸入數(shù)據(jù)拆分成統(tǒng)一的位寬格式;(2)判斷輸入數(shù)據(jù)是否為查找表型,如果輸入數(shù)據(jù)為查找表型,則輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù)在存儲器中的存放地址,按照該地址從存儲器中讀取真實色彩型的像素格式數(shù)據(jù),如果輸入數(shù)據(jù)不是查找表型,則表示輸入數(shù)據(jù)為真實色彩型的像素格式數(shù)據(jù);(3)對讀取的具有統(tǒng)一位寬格式的像素格式數(shù)據(jù)按分量分成多路分別抽取有效數(shù)據(jù);(4)把每路像素格式分量數(shù)據(jù)的有效數(shù)據(jù)進行位擴展,得到擴展后統(tǒng)一位寬的像素格式分量數(shù)據(jù);(5)對每路擴展后統(tǒng)一位寬的像素格式分量數(shù)據(jù)進行拼接,形成完整的像素格式數(shù)據(jù)。
文檔編號G09G5/00GK101996609SQ20091005631
公開日2011年3月30日 申請日期2009年8月13日 優(yōu)先權(quán)日2009年8月13日
發(fā)明者周振亞, 孫煒, 祝葉華 申請人:上海奇碼數(shù)字信息有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1