亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于多媒體處理器的圖形處理方法

文檔序號(hào):6378190閱讀:233來(lái)源:國(guó)知局
專利名稱:一種基于多媒體處理器的圖形處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)圖形處理,具體的講是一種基于多媒體(Trimedia)處理器的圖形處理方法。
背景技術(shù)
當(dāng)前,許多視頻會(huì)議終端均采用Trimedia核心的數(shù)字信號(hào)處理CPU(DSPCPU)作為其中央控制器。Trimedia處理器為超長(zhǎng)指令字(VLIWvery-long instruction word)內(nèi)核,其支持單指令多數(shù)據(jù)(SIMDSingleInstruction Multiple Data)多媒體操作,非常適合做多媒體數(shù)據(jù),如音頻、視頻數(shù)據(jù)的處理。Trimedia處理器內(nèi)置了增強(qiáng)型視頻輸出單元,可以完成疊加視頻/主視頻的混合顯示及色鍵控制。一般地,疊加視頻為計(jì)算機(jī)圖形,而不是活動(dòng)視頻。但與一般的計(jì)算機(jī)圖形幀緩沖區(qū)格式不同,Trimedia處理器圖形緩沖區(qū)像素格式為YUV422(如圖1所示),而一般的計(jì)算機(jī)圖形緩沖區(qū)像素格式為RGB。
在目前使用的采用Trimedia處理器的視頻會(huì)議終端中存在以下兩種情況1)圖形由Trimedia CPU本身生成,Trimedia處理器完成點(diǎn)、線、塊、字體的渲染。系統(tǒng)可以由一個(gè)Trimedia CPU構(gòu)成,無(wú)需其他輔助CPU(如圖2所示,其中標(biāo)號(hào)1表示圖形輸出方向);2)多CPU,但主CPU上有自己的顯示卡(如圖3所示,其中標(biāo)號(hào)1表示圖形輸出方向)。在第2)中情況下,主CPU也不會(huì)往Trimedia處理器上寫(xiě)圖形數(shù)據(jù),相反地,Trimedia處理器往往向主CPU的顯示卡輸出圖形/圖像數(shù)據(jù)。采用這兩種結(jié)構(gòu)和圖形生成方法存在以下弊端1)Trimedia處理器會(huì)消耗相當(dāng)?shù)奶幚砟芰τ糜趫D形處理,從而影響對(duì)音頻/視頻的處理;2)Trimedia處理器目前采用pSOS操作系統(tǒng),做一些簡(jiǎn)單的圖形比較容易,但如果做瀏覽器,或功能強(qiáng)大的窗口系統(tǒng),需要開(kāi)發(fā)的工作量比較大;3)其他操作系統(tǒng),如Linux,WinCE等,圖形功能強(qiáng)大,但不能在Trimedia處理器上運(yùn)行,如果將相應(yīng)的圖形系統(tǒng)移植到Trimedia上,又需要大量的再開(kāi)發(fā)工作。
因此,在只有多媒體處理器CPU(Trimedia CPU)的情況下,要開(kāi)發(fā)完善的圖形系統(tǒng),需要較大的開(kāi)發(fā)工作量,或者購(gòu)買昂貴的第三方開(kāi)發(fā)的專用圖形系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種基于多媒體處理器的圖形處理方法,這種方法能直接利用已有的窗口系統(tǒng)軟件,使載有多媒體處理器的終端具有完善的圖形處理功能。
本發(fā)明的技術(shù)方案為一種基于多媒體處理器的圖形處理方法,其將具有內(nèi)存管理單元(MMUMemory Management Unit)的CPU與多媒體處理器CPU相耦合,并通過(guò)所述的具有內(nèi)存管理單元的CPU讀寫(xiě)所述的多媒體處理器CPU的視頻緩沖區(qū);所述的具有內(nèi)存管理單元的CPU將自身生成的圖形數(shù)據(jù)寫(xiě)到所述的多媒體處理器CPU的內(nèi)存;所述的多媒體處理器CPU的視頻渲染單元將所述的圖形數(shù)據(jù)轉(zhuǎn)成模擬信號(hào)輸出。
將具有內(nèi)存管理單元的CPU與多媒體處理器CPU相耦合是指在載有多媒體處理器的多媒體系統(tǒng)的PCI總線上,連接一具有內(nèi)存管理單元和PCI總線的嵌入式CPU;其中所述的嵌入式CPU為主控制器,所述的多媒體處理器CPU為數(shù)字信號(hào)處理器(DSPDigital Signal Processor)。
在所述的具有內(nèi)存管理單元的CPU上運(yùn)行嵌入式操作系統(tǒng),在所述的多媒體處理器CPU上運(yùn)行pSOS系統(tǒng);其中所述的多媒體處理器CPU在自身的內(nèi)存空間申請(qǐng)一塊疊加視頻(Overlay)幀存,并將此幀存信息傳給自身的視頻渲染單元;所述的多媒體處理器CPU將幀存信息通過(guò)所述的PCI總線傳送給所述的具有內(nèi)存管理單元的CPU;所述的具有內(nèi)存管理單元的CPU獲得所述的幀存信息,并將所述的多媒體處理器CPU作為顯示卡使用,該顯示卡具有線性的幀存空間,像素格式為YUV422序列,也即YUYV格式。
所述的幀存信息至少包括幀存物理地址。
所述的多媒體處理器CPU將幀存信息通過(guò)所述的PCI總線傳送給所述的具有內(nèi)存管理單元的CPU包括以下具體步驟步驟一、所述的具有內(nèi)存管理單元的CPU和所述的多媒體處理器之間通過(guò)通信接口進(jìn)行通信;步驟二、所述的具有內(nèi)存管理單元的CPU在自身的內(nèi)存中創(chuàng)建事件,以接收所述的多媒體處理器的事件通知;步驟三、所述的具有內(nèi)存管理單元的CPU在自身的內(nèi)存中設(shè)置共享緩沖區(qū),以接收所述的多媒體處理器的數(shù)據(jù);步驟四、所述的具有內(nèi)存管理單元的CPU重新啟動(dòng)所述的多媒體處理器,并等待所述的多媒體處理器的事件通知;步驟五、所述的多媒體處理器開(kāi)始運(yùn)行,打開(kāi)所述的事件和共享緩沖區(qū);步驟六、所述的多媒體處理器為自身的視頻渲染單元開(kāi)辟圖形存儲(chǔ)空間,并記下該圖形存儲(chǔ)空間的起始地址;步驟七、所述的多媒體處理器初始化自身的視頻渲染單元,并啟動(dòng)渲染;步驟八、所述的多媒體處理器將所述的起始地址、圖形區(qū)的高度/寬度信息放入所述的共享緩沖區(qū);步驟九、所述的多媒體處理器通過(guò)所述的事件,通知所述的具有內(nèi)存管理單元的CPU;步驟十、所述的具有內(nèi)存管理單元的CPU接到通知后,取出圖形緩沖區(qū)的起始地址、及高度/寬度信息;步驟十一、所述的具有內(nèi)存管理單元的CPU將起始地址通過(guò)MMAP系統(tǒng)調(diào)用轉(zhuǎn)化為自己的內(nèi)存地址;步驟十二、所述的具有內(nèi)存管理單元的CPU將所述的內(nèi)存地址、圖形緩沖區(qū)高度/寬度信息傳給圖形操作軟件;步驟十二、所述的圖形操作軟件響應(yīng)用戶操作,生成相應(yīng)的圖形,該圖形直接寫(xiě)在所述的多媒體處理器的內(nèi)存上,并由顯示裝置進(jìn)行顯示。
所述的圖形操作軟件在生成圖形時(shí),需進(jìn)行RGB格式到Y(jié)UYV格式的轉(zhuǎn)換。
由所述的具有內(nèi)存管理單元的CPU采用查表法進(jìn)行RGB格式到Y(jié)UYV格式的轉(zhuǎn)換計(jì)算。
本發(fā)明的有益效果在于采用主CPU來(lái)進(jìn)行圖形生成,可以最大限度地利用自由軟件領(lǐng)域的軟件,可以加快系統(tǒng)的開(kāi)發(fā),特別地,在網(wǎng)絡(luò)部分/圖形顯示部分,可以不用考慮向Trimedia移植問(wèn)題,直接使用x86,PowerPC等平臺(tái)上的軟件。
此種圖形生成方式,可以減少Trimedia CPU在這方面的開(kāi)銷,保證有更多的處理能力用于音頻/視頻的編解碼。
通過(guò)其他CPU讀寫(xiě)Trimedia 1300 CPU的視頻緩沖區(qū),并采用MMU CPU,(如486/586/Pentium等x86 CPU,IBM 405EP、Motorola MPC8241/8245等PowerPC CPU)上常用的圖形生成軟件,從而使整個(gè)終端具有完善的圖形系統(tǒng)。


圖1為Trimedia CPU的圖形幀存格式;
圖2為單Trimedia CPU的系統(tǒng)結(jié)構(gòu)框圖;圖3為PC平臺(tái)加Trimedia CPU的系統(tǒng)結(jié)構(gòu)框圖;圖4為嵌入CPU加Trimedia CPU的系統(tǒng)結(jié)構(gòu)框圖。
具體實(shí)施例方式
下面結(jié)合

本發(fā)明的具體實(shí)施方式
,本發(fā)明提供了一種基于多媒體處理器的圖形處理方法。將具有內(nèi)存管理單元(MMUMemory Management Unit)的CPU與多媒體處理器CPU相耦合,并通過(guò)所述的具有內(nèi)存管理單元的CPU讀寫(xiě)所述的多媒體處理器CPU的視頻緩沖區(qū);所述的具有內(nèi)存管理單元的CPU將自身生成的圖形數(shù)據(jù)傳送給所述的多媒體處理器CPU;所述的多媒體處理器CPU將所述的圖形數(shù)據(jù)輸出。
在一般的Trimedia系統(tǒng),在PCI總線上,格外連接上一顆帶MMU和PCI總線的嵌入式CPU,如AMD ElanSC520,Motorola MPC8245,IBM PowerPC 405EP等,此MMU CPU為主控制器,Trimedia CPU當(dāng)作DSP使用,主控制器沒(méi)有自己的顯示卡(如圖4所示,其中標(biāo)號(hào)1表示圖形輸出方向)。
MMU CPU上可以運(yùn)行主流嵌入式操作系統(tǒng),如Linux,VxWorks,WinCE等。Trimedia上運(yùn)行pSOS。Trimedia先在自己的內(nèi)存空間申請(qǐng)一塊疊加視頻(Overlay)幀存,并將此幀存信息傳給CPU上的視頻輸出單元。然后,Trimedia通過(guò)某種機(jī)制,將幀存信息(主要是幀存物理地址)通過(guò)PCI總線通知MMU CPU。MMU CPU獲得此信息后,便可以將Trimedia當(dāng)作一塊特殊顯示卡使用,此顯示卡具有線性的幀存空間,但像素格式為YUV422序列,也即YUYV格式。
上文所說(shuō)的某種機(jī)制,可以是但不局限于下列這種方式1)MMU CPU運(yùn)行Linux,MMU CPU和Trimedia之間通過(guò)tmman接口進(jìn)行通信。
2)MMU CPU在自己的內(nèi)存中創(chuàng)建事件A,用于接受Trimedia的事件通知;
3)MMU CPU在自己的內(nèi)存中共享緩沖區(qū)MA,用于接收Trimedia的數(shù)據(jù)。
4)MMU CPU重新啟動(dòng)Trimedia,并等待Trimedia的事件通知。
5)Trimedia開(kāi)始運(yùn)行,打開(kāi)事件A和共享緩沖區(qū)MA。
6)Trimedia為自己的視頻渲染單元開(kāi)辟圖形存儲(chǔ)空間,假設(shè)此空間起始地址為ADDR。
7)Trimedia初始化視頻渲染單元并啟動(dòng)渲染。
8)Trimedia將ADDR、圖形區(qū)的高度/寬度信息放入共享緩沖區(qū)MA。
9)Trimedia通過(guò)事件A通知MMU CPU。
10)MMU CPU接到通知后,取出圖形緩沖區(qū)的起始地址ADDR及高度/寬度信息。
11)MMU CPU將ADDR通過(guò)MMAP系統(tǒng)調(diào)用轉(zhuǎn)化為自己的內(nèi)存地址。假設(shè)此地址為M_ADDR。
12)MMU CPU將M_ADDR、圖形緩沖區(qū)高度/寬度信息傳給圖形操作軟件MiniGUI。
13)MiniGUI響應(yīng)用戶操作,生成相應(yīng)的圖形,此圖形直接寫(xiě)在Trimedia的內(nèi)存上并由Trimedia進(jìn)行顯示。
通過(guò)以上這種機(jī)制,MiniGUI就將Trimedia子系統(tǒng)當(dāng)作一塊特殊的顯示卡來(lái)使用。與一般顯示卡不同的是,此顯卡幀存像素格式為YUYV,而圖形操作系統(tǒng)一般采用RGB的像素格式。因此,MiniGUI在生成圖形時(shí),存在RGB到Y(jié)UYV的轉(zhuǎn)化問(wèn)題。由MMU CPU進(jìn)行RGB到Y(jié)UYV的計(jì)算,計(jì)算量很大,一種折衷的方式是查表法。
查表法就是預(yù)先計(jì)算好RGB和YUYV的對(duì)應(yīng)表,在實(shí)際轉(zhuǎn)化時(shí),利用此對(duì)應(yīng)表來(lái)避免計(jì)算。由于RGB888的取值范圍為0~(224-1),所以此表非常龐大,但可作以下簡(jiǎn)化首先,將像素格式RGB888轉(zhuǎn)化為RGB555,此轉(zhuǎn)化會(huì)使顏色數(shù)從1600多萬(wàn)種將為32768種,但對(duì)于圖形來(lái)說(shuō),32768種顏色已經(jīng)足夠。RGB555的取值范圍為0~32767,每個(gè)YUYV值為4字節(jié),整個(gè)表格大小為128K字節(jié)(見(jiàn)表1)。對(duì)于任意一個(gè)RGB888值,每個(gè)顏色值右移3位,降為5個(gè)bit,再重組為15bit,轉(zhuǎn)化為RGB555。我們以RGB555作索引,就可以查出原來(lái)RGB888對(duì)應(yīng)的YUYV的近似值。
RGB到Y(jié)UYV的轉(zhuǎn)化查找表 表1

且計(jì)算公式如下Y=(unsigned char)(0.299*(R&0xf8)+0.587*(G&0xf8)+0.114*(B&0xf8)+0.5);U=(unsigned char)(-0.1687*(R&0xf8)-0.3313*(G&0xf8)+0.5*(B&0xf8)+128.5);V=(unsigned char)(0.5*(R&0xf8)-0.4197*(G&0xf8)-0.0813*(B&0xf8)+128.5);本申請(qǐng)相對(duì)現(xiàn)有技術(shù)而言所具有的優(yōu)點(diǎn)和效果為采用主CPU來(lái)進(jìn)行圖形生成,可以最大限度地利用自由軟件領(lǐng)域的軟件,可以加快系統(tǒng)的開(kāi)發(fā),特別地,在網(wǎng)絡(luò)部分/圖形顯示部分,可以不用考慮向Trimedia移植問(wèn)題,直接使用x86,PowerPC等平臺(tái)上的軟件。
此種圖形生成方式,可以減少Trimedia CPU在這方面的開(kāi)銷,保證有更多的處理能力用于音頻/視頻的編解碼。
以上具體實(shí)施方式
僅用于說(shuō)明本發(fā)明,而非用于限定本發(fā)明。
權(quán)利要求
1.一種基于多媒體處理器的圖形處理方法,其特征在于,將具有內(nèi)存管理單元的CPU與多媒體處理器CPU相耦合,并通過(guò)所述的具有內(nèi)存管理單元的CPU讀寫(xiě)所述的多媒體處理器CPU的視頻緩沖區(qū);所述的具有內(nèi)存管理單元的CPU將自身生成的圖形數(shù)據(jù)寫(xiě)到所述的多媒體處理器CPU的內(nèi)存;所述的多媒體處理器CPU的視頻渲染單元將所述的圖形數(shù)據(jù)轉(zhuǎn)成模擬信號(hào)輸出。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將具有內(nèi)存管理單元的CPU與多媒體處理器CPU相耦合是指在載有多媒體處理器的多媒體系統(tǒng)的PCI總線上,連接一具有內(nèi)存管理單元和PCI總線的嵌入式CPU;其中所述的嵌入式CPU為主控制器,所述的多媒體處理器CPU為數(shù)字信號(hào)處理器。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述的具有內(nèi)存管理單元的CPU上運(yùn)行嵌入式操作系統(tǒng),在所述的多媒體處理器CPU上運(yùn)行pSOS系統(tǒng);其中所述的多媒體處理器CPU在自身的內(nèi)存空間申請(qǐng)一塊疊加視頻幀存,并將此幀存信息傳給自身的視頻渲染單元;所述的多媒體處理器CPU將幀存信息通過(guò)所述的PCI總線傳送給所述的具有內(nèi)存管理單元的CPU;所述的具有內(nèi)存管理單元的CPU獲得所述的幀存信息,并將所述的多媒體處理器CPU作為顯示卡使用,該顯示卡具有線性的幀存空間,像素格式為YUV422序列,也即YUYV格式。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的幀存信息至少包括幀存物理地址。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的多媒體處理器CPU將幀存信息通過(guò)所述的PCI總線傳送給所述的具有內(nèi)存管理單元的CPU包括以下具體步驟步驟一、所述的具有內(nèi)存管理單元的CPU和所述的多媒體處理器之間通過(guò)通信接口進(jìn)行通信;步驟二、所述的具有內(nèi)存管理單元的CPU在自身的內(nèi)存中創(chuàng)建事件,以接收所述的多媒體處理器的事件通知;步驟三、所述的具有內(nèi)存管理單元的CPU在自身的內(nèi)存中設(shè)置共享緩沖區(qū),以接收所述的多媒體處理器的數(shù)據(jù);步驟四、所述的具有內(nèi)存管理單元的CPU重新啟動(dòng)所述的多媒體處理器,并等待所述的多媒體處理器的事件通知;步驟五、所述的多媒體處理器開(kāi)始運(yùn)行,打開(kāi)所述的事件和共享緩沖區(qū);步驟六、所述的多媒體處理器為自身的視頻渲染單元開(kāi)辟圖形存儲(chǔ)空間,并記下該圖形存儲(chǔ)空間的起始地址;步驟七、所述的多媒體處理器初始化自身的視頻渲染單元,并啟動(dòng)渲染;步驟八、所述的多媒體處理器將所述的起始地址、圖形區(qū)的高度/寬度信息放入所述的共享緩沖區(qū);步驟九、所述的多媒體處理器通過(guò)所述的事件,通知所述的具有內(nèi)存管理單元的CPU;步驟十、所述的具有內(nèi)存管理單元的CPU接到通知后,取出圖形緩沖區(qū)的起始地址、及高度/寬度信息;步驟十一、所述的具有內(nèi)存管理單元的CPU將起始地址通過(guò)MMAP系統(tǒng)調(diào)用轉(zhuǎn)化為自己的內(nèi)存地址;步驟十二、所述的具有內(nèi)存管理單元的CPU將所述的內(nèi)存地址、圖形緩沖區(qū)高度/寬度信息傳給圖形操作軟件;步驟十三、所述的圖形操作軟件響應(yīng)用戶操作,生成相應(yīng)的圖形,該圖形直接寫(xiě)在所述的多媒體處理器的內(nèi)存上,并由顯示裝置進(jìn)行顯示。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述的圖形操作軟件在生成圖形時(shí),需進(jìn)行RGB格式到Y(jié)UYV格式的轉(zhuǎn)換。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,由所述的具有內(nèi)存管理單元的CPU采用查表法進(jìn)行RGB格式到Y(jié)UYV格式的轉(zhuǎn)換計(jì)算。
全文摘要
本發(fā)明提供一種基于多媒體處理器的圖形處理方法,其將具有內(nèi)存管理單元的CPU與多媒體處理器CPU相耦合,并通過(guò)所述的具有內(nèi)存管理單元的CPU讀寫(xiě)所述的多媒體處理器CPU的視頻緩沖區(qū);所述的具有內(nèi)存管理單元的CPU將自身生成的圖形數(shù)據(jù)直接寫(xiě)到所述的多媒體處理器CPU的視頻緩沖區(qū);所述的多媒體處理器CPU的視頻渲染單元將所述的圖形數(shù)據(jù)轉(zhuǎn)化成模擬信號(hào)輸出。從而能利用具有內(nèi)存管理單元CPU上的現(xiàn)有軟件,不用移植,使載有多媒體處理器的終端具有完善的圖形處理功能。
文檔編號(hào)G06F13/14GK1591372SQ0315646
公開(kāi)日2005年3月9日 申請(qǐng)日期2003年8月28日 優(yōu)先權(quán)日2003年8月28日
發(fā)明者林朝旸 申請(qǐng)人:北京鼎視通軟件技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1