專利名稱:圖像生成的方法與設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種根據(jù)以壓縮的形式傳輸?shù)膱D象數(shù)據(jù)或計算機(jī)圖形的繪圖數(shù)據(jù)生成圖象的方法與設(shè)備。具體地講,本發(fā)明涉及適合于在試圖利用有限硬件資源實現(xiàn)高顯象性能的場合應(yīng)用的圖象生成方法與設(shè)備,例如在諸如電視游戲機(jī)或圖形計算機(jī)之類的利用計算機(jī)圖形的設(shè)備的場合。
在一種計算機(jī)圖形中一般稱為3D(三維)圖形系統(tǒng)的系統(tǒng)中,為了逼真地畫出一個物體(畫制物體),即重建一個立體圖象,將物體表面分解為多個多邊形(即,繪圖裝置處理的圖形的最小單元(三角形和四角形)),然后這些多邊形被順序地引入一個幀存儲器(視頻RAM),該存儲器對應(yīng)于監(jiān)視器的顯示屏。
在這種類型的圖象生成設(shè)備中,為快速處理,通常在CPU與幀存儲器之間設(shè)置一個專用的繪圖裝置。在進(jìn)行繪制一個圖象時,CPU產(chǎn)生一些用于繪制基本圖形,諸如三角形和四角形(多邊形)的指令(下文稱為繪圖指令)和發(fā)送這些指令到繪圖裝置,而不是直接訪問幀存儲器。繪圖裝置翻譯接收的指令和繪制在幀存儲器中的圖象。
圖19A和19B表示一種繪圖方法的具體例子。為了顯示如圖19A所示的具有A-G頂點的長方體的物體,首先該物體被分解為三個四邊形,即如圖19B所示的多邊體Pa、Pb和Pc。
而后,如圖20所示,CPU產(chǎn)生對應(yīng)于多邊形Pa、Pb和Pc的繪圖指令I(lǐng)Pa、IPb和IPc。每個繪圖指令I(lǐng)Pa、IPb和IPc包括多邊形Pa、Pb或Pc的頂點座標(biāo)(Ax,Ay)-(Dx,Dy),(Cx,Cy)-(Fx,F(xiàn)y)或(By,By)-(Gx,Gy),用于確定在顯示屏上的顯示位置;和指示多邊形Pa、Pb或Pc內(nèi)部顏色的信息0D。
繪圖裝置根據(jù)上述繪圖指令繪出在幀存儲器中的物體。通過各繪圖指令變換幀存儲器的繪圖數(shù)據(jù)為模擬信號和送該信號到一個顯示裝置(監(jiān)視器),使物體顯示在規(guī)定的顯示位置。
另外,轉(zhuǎn)移繪圖指令到繪圖裝置的公共方法是使用DMA(直接存儲器存取),以實現(xiàn)快速轉(zhuǎn)移。
然而,在這種類型的常規(guī)圖象生成設(shè)備中僅一部分存儲在幀存儲器中的數(shù)據(jù),諸如繪圖指令與圖象數(shù)據(jù)是DMA轉(zhuǎn)移的。例如在繪圖之前所必須的控制指令,諸如用于清屏幕和改變分辨率的指令不能是DMA轉(zhuǎn)移的,而是獨立于繪圖指令轉(zhuǎn)移的。因此,繪圖裝置需要具有分別的和獨立的用于繪圖指令的與控制指令的接收部分。
另外,繪圖指令與控制指令的分開轉(zhuǎn)移要求復(fù)雜的處理。例如,在繪制某一物體以后改變分辨率,常規(guī)的方法需要涉及復(fù)雜的處理。在始終監(jiān)視繪制該物體的操作時,CPU等待繪圖的完成。當(dāng)檢測到該物體的繪制完成時,CPU停止繪圖數(shù)據(jù)的DMA轉(zhuǎn)移,改變分辨率,和然后重新開始繪圖數(shù)據(jù)的DMA轉(zhuǎn)移。
為了簡化繪圖裝置的結(jié)構(gòu)和作為用于上述類型DMA轉(zhuǎn)移的轉(zhuǎn)移裝置的DMA控制器,一種方法是使諸如繪圖指令的DMA轉(zhuǎn)移數(shù)據(jù)具有固定長度的數(shù)據(jù)包(轉(zhuǎn)移單元)。在這種情況下,數(shù)據(jù)包應(yīng)當(dāng)不短于諸如繪圖指令之類的DMA轉(zhuǎn)移的最大長度。但是,如果經(jīng)常使用短于該數(shù)據(jù)包的繪圖指令,則出現(xiàn)許多低效轉(zhuǎn)移操作。
例如,在DMA轉(zhuǎn)移指令數(shù)據(jù)具有類似指令1-3的各種數(shù)據(jù)長度(圖21A-21C中的陰影部分),如圖21A-21C所示數(shù)據(jù)包的長度設(shè)置成等于最大數(shù)據(jù)長度。短于該數(shù)據(jù)包的指令數(shù)據(jù)的空閑部分被填充以例如非操作碼NOP。圖22表示在這種情況下的轉(zhuǎn)移與繪圖時間。不難理解,非操作碼NOP的轉(zhuǎn)移時間被無益的消耗了。
從上面觀點看,本發(fā)明的第一個目的是允許控制數(shù)據(jù)與繪圖數(shù)據(jù)一起傳送。本發(fā)明的第二個目的是能使DMA數(shù)據(jù)轉(zhuǎn)移的數(shù)據(jù)長度是不固定的。
美國專利5133025與本發(fā)明的DMA有關(guān)。另外,日本專利申請Hei.5-190764(1993年7月2日提交),Hei 5-258625(1993年10月15日提交)和Hei.6-27405(1994年1月31日提交)與本發(fā)明的繪圖裝置有關(guān)。這些日本申請的每一個都是由本發(fā)明的受讓人提出申請的并援引于此以資參考。與這些日本申請相對應(yīng)的美國專利申請目前正在審查之中。
為了解決上述問題,按照本發(fā)明,轉(zhuǎn)移繪圖指令和由CPU產(chǎn)生的控制指令到繪圖裝置部分和在該繪圖裝置部分中通過按照繪圖指令和控制指令順序執(zhí)行繪圖操作的圖象生成方法包括以下步驟構(gòu)成繪圖指令和控制指令,以便它們具有包括標(biāo)題部分和指令數(shù)據(jù)部分的數(shù)據(jù)結(jié)構(gòu),標(biāo)題部分具有表示指令種類的命令識別碼;和形成繪圖指令序列,其中以繪圖和控制步驟的次序安排繪圖指令和控制指令,和轉(zhuǎn)移該繪圖指令序列到不包括CPU的繪圖裝置部分。
另外,按照本發(fā)明,一種圖象生成設(shè)備包括(即下文描述的實施例所用的參考號碼)用于存儲繪圖指令與控制指令的存儲器43;用于產(chǎn)生繪圖指令與控制指令的CPU42,以便它們具有包括標(biāo)題部分和指令數(shù)據(jù)部分的數(shù)據(jù)結(jié)構(gòu),標(biāo)題部分具有用于表示指令的種類、并在存貯器42中產(chǎn)生繪圖指令序列的命令識別碼,其中繪圖指令和控制指令以繪圖和控制過程的次序排列。
按照繪圖指令和控制指令、用于在幀存貯器63中完成繪圖操作的繪圖裝置部分61。
轉(zhuǎn)移裝置45,用于從存儲器43中讀取繪圖指今序列,并將它轉(zhuǎn)移到繪圖裝置部分,而不關(guān)閉CPU。
另外按照本發(fā)明,繪圖指令如此構(gòu)成,使得它們有這種結(jié)構(gòu),即包括標(biāo)題部分和指令數(shù)據(jù)部分。標(biāo)題部分具有表示指令種類、整個可變繪圖指令的數(shù)據(jù)長度的命令識別碼;數(shù)據(jù)長度是由該命令識別碼判斷的,和繪圖指令以取決于該數(shù)據(jù)長度的轉(zhuǎn)移量被轉(zhuǎn)移到繪圖裝置。
控制指令也可以按與繪圖指令相同的數(shù)據(jù)結(jié)構(gòu)來構(gòu)成,和繪圖指令與控制指令可以以混合方式轉(zhuǎn)移到繪圖裝置部分。
在上述情況下,繪圖指令與控制指令具有相同數(shù)據(jù)結(jié)構(gòu),其中繪圖指令與控制指令被安排為以繪圖與控制步驟為序的繪圖指令序列被轉(zhuǎn)移到繪圖裝置部分。繪圖裝置部分以其在繪圖指令序列中的次序順序地執(zhí)行繪圖指令與控制指令。
因此,因為用于繪圖的控制指令可以以繪圖指令相同的方式轉(zhuǎn)移,不僅繪圖裝置部分,而且轉(zhuǎn)移和執(zhí)行都被簡化了。從而,增加了處理速度和改善了實時性能。
因為包含控制操作的繪圖序列可以以統(tǒng)一的方式管理,能夠容易地實現(xiàn)繪圖裝置部分的處理過程中的控制操作的定時控制,還有助于改善處理的效率。另外,與在DMA轉(zhuǎn)移情況一樣,當(dāng)CPU空出系統(tǒng)總線時,在各時間間隔期間繪圖指令序列可以以高速轉(zhuǎn)移。
由于整個繪圖指令序列包含在主存儲器中,CPU可以在任何時間控制它,從而,響應(yīng)于通過控制鍵盤等的外部輸入,可以立即執(zhí)行控制。因此,在屏上顯示的響應(yīng)速度可被改善,能夠容易實現(xiàn)優(yōu)良實時性能的游戲機(jī)。
在接下來要執(zhí)行的指令的主存儲器的地址值包括有一個繪圖指令或一個控制指令的場合,主要改變繪圖次序時,在各繪圖指令中重新安排地址值就足夠了,也就是說,不需要在主存儲器中重新安排繪圖指令本身使之位于已改變的地址。因此,系統(tǒng)總線的負(fù)載可以大大地減輕。
因為繪圖裝置部分單獨具有以優(yōu)選級直接從CPU接收控制指令的一個控制口,CPU可以控制繪圖裝置部分,以便中斷其繪圖或顯示操作。
因為每個指令的數(shù)據(jù)長度可以從命令識別數(shù)據(jù)來識別,取決于每個指令的數(shù)據(jù)長度,指令數(shù)據(jù)轉(zhuǎn)移包的長度可以成為可變的。結(jié)果,通過取消了沒有必要的時間,而縮短了處理時間。
圖1是按照本發(fā)明的一個實施例的圖象生成設(shè)備的框圖;圖2表示本發(fā)明的實施例的存儲器的區(qū)域;
圖3表示本發(fā)明的實施例的一種指令數(shù)據(jù)結(jié)構(gòu)的例子;圖4A-4D表示一種繪圖指令與控制指令的例子;圖5表示控制指令的例子的受控制指令的偏差影響的操作;圖6表示繪圖指令序列的例子;圖7表示在本發(fā)明的實施例中繪制和顯示一個多邊體的次序;圖8和9是在本發(fā)明的實施例中用于解釋繪圖指令序列和轉(zhuǎn)移的主要部分的框圖和時間圖;圖10表示本發(fā)明的實施例的處理時間;圖11是在本發(fā)明的實施例中在給圖過程中表示由CPU執(zhí)行的操做的流程圖;圖12A、12B和13表示在主存儲器中CPU的繪圖指令的設(shè)備處理和繪圖裝置部分的繪圖執(zhí)行處理,二者是以并行方式實現(xiàn)的;圖14表示結(jié)構(gòu)映射;圖15表示在本發(fā)明的實施例中在轉(zhuǎn)移圖象數(shù)據(jù)中使用的數(shù)據(jù)結(jié)構(gòu)的例子;圖16表示一幀圖象的例子;圖17表示在本發(fā)明的實施例中圖象數(shù)據(jù)的一個轉(zhuǎn)移單元;圖18表示在本發(fā)明的實施例中在轉(zhuǎn)移圖象數(shù)據(jù)中使用的一種數(shù)據(jù)結(jié)構(gòu)的例子;圖19A和19B表示一種繪圖方法的例子;圖20表示常規(guī)的繪圖指令;圖21表示用于轉(zhuǎn)移繪圖指令的常規(guī)數(shù)據(jù)結(jié)構(gòu)的例子;圖22表示常規(guī)的處理時間的例子。
下面參照各附圖將要描述本發(fā)明的實施例。圖1表示按照本發(fā)明的實施例的圖象生成設(shè)備的組成。這個實施例是具有3D圖形功能和運(yùn)動畫面再現(xiàn)功能的一種游戲機(jī)。
參照圖1,參考號41表示連接著CPU42,主存儲器43和分類控制器45的系統(tǒng)總線。
另外,圖象擴(kuò)散裝置部分51經(jīng)由輸入FIFO(先進(jìn)先出)緩沖存儲器54的輸出FIFO緩沖存儲器55連接到系統(tǒng)總線41.CD-ROM解碼器52和繪圖裝置部分61分別經(jīng)由FIFO緩沖器56和緩沖器62也連接到系統(tǒng)總線41。
還有,作為操作輸入裝置的控制鍵盤71經(jīng)由接口72連接到系統(tǒng)總線41,存儲用于建立游戲機(jī)的程序的引出ROM73(boot ROM73)也連接到系統(tǒng)總線41。
CD-ROM解碼器52連接到CD-ROM驅(qū)動器53,并解碼應(yīng)用程序(例如,游戲程序)和數(shù)據(jù),這些程序與數(shù)據(jù)還記錄在裝在CD-ROM驅(qū)動器53的一個CD-ROM光盤上。由例如離散余弦變換(DCT)進(jìn)行圖象壓縮的運(yùn)動畫面或靜止畫面圖象和用于裝飾多邊體結(jié)構(gòu)圖象的圖象數(shù)據(jù)被記錄在CD-ROM光盤上。在CD-ROM上的應(yīng)用程序包括多邊形繪圖指令。FIFO緩沖器56具有對應(yīng)于CD-ROM光盤上一個記錄數(shù)據(jù)扇區(qū)的容量。
CPU42管理整個系統(tǒng)。另外,CPU42執(zhí)行繪制作為許多多邊體的集合的物體的部分處理。更具體地講,CPU42在主存儲器43中不僅產(chǎn)生繪圖指令,而且產(chǎn)生控制指令(下面描述)。另外,CPU在主存儲器43中產(chǎn)生一個指令序列,該序列包括以混合形式的繪圖指令和控制指令(下面描述)。
因為CPU42具有超高速緩沖存儲器46,CPU的部分指令不要經(jīng)由系統(tǒng)總線41進(jìn)行取數(shù),而能夠被執(zhí)行。另外,CPU42具有做為內(nèi)部處理器的計算裝置44,用于為各多邊體和相關(guān)座標(biāo)計算執(zhí)行座標(biāo)變換計算,以便控制產(chǎn)生繪圖指令與控制指令。
包括指令高速緩沖存儲器46和座標(biāo)計算裝置44,CPU42可以在不利用系統(tǒng)總線41的情況下在某些范圍內(nèi)執(zhí)行其操作,這使CPU容易空閑系統(tǒng)總線41。
擴(kuò)展從CD-ROM光盤中再生的被壓縮的圖象數(shù)據(jù)的圖象擴(kuò)展裝置部分51具有包括Huffman碼解碼器、反量化變換電路,和反離散余弦變換電路的硬件。Huffman碼解碼器的功能可以由CPU42執(zhí)行的軟件來實現(xiàn)。
在這個實施例中,圖象擴(kuò)展裝置部分51將一幀圖象分為一些小塊(下面稱為微塊以后結(jié)合圖16予以描述),例如16×16象素,和對每個微塊執(zhí)行圖象擴(kuò)展解碼。因為利用主存儲器43的數(shù)據(jù)轉(zhuǎn)移是在微塊基礎(chǔ)上執(zhí)行的,每個FIFO緩沖器54與55具有一個微塊的容量。
幀存儲器63經(jīng)由一個局部總線11連接到繪圖裝置部分61。繪圖裝置部件61執(zhí)行經(jīng)FIFO緩沖器62從主存儲器43轉(zhuǎn)移來的包含在繪圖指令序列中的繪圖指令與控制指令,并將執(zhí)行的結(jié)果寫入幀存儲器63。FIFO緩沖器62具有一個指令的存儲容器。
繪圖裝置部分61以優(yōu)先級經(jīng)由控制器66從CPU42接收直接控制指令,即與從FIFO緩沖器62的指令接收無關(guān)。也就是說,繪圖裝置部分61的控制操作是按給予對應(yīng)于控制口66接收的各控制指令各操作的優(yōu)先級來執(zhí)行的,這種操作意味著出現(xiàn)中斷。這種控制操作的一個例子當(dāng)顯示操作在實時處理中跟不上給圖操作時,CPU42甚至在其中間產(chǎn)生一個用于復(fù)位繪圖操作的控制指令,強(qiáng)行顯示中間繪象。
幀存儲器63具有用于存儲繪象的圖象存儲區(qū);用于存儲構(gòu)造圖象的構(gòu)造圖象存儲區(qū),和用于存儲色彩查找表(色彩變換表CLUT)的表存儲器。
圖2表示幀存儲器63的存儲空間。幀存儲器63可以由行地址與列地址組成的兩位地址來尋址。該兩維地址空間的AT區(qū)是用做構(gòu)造存儲區(qū)。構(gòu)造區(qū)AT能夠存儲多種構(gòu)造圖形。AC區(qū)是用于存儲色彩變換表CLUT的表存儲區(qū)。
正如下文所述,色彩變換表CLUT的數(shù)據(jù)是在分類控制器45的控制下從CD-ROM光盤經(jīng)由CD-ROM解碼器52向幀存儲器63變換的數(shù)據(jù)。在CD-ROM光盤上的構(gòu)造數(shù)據(jù)由圖象擴(kuò)展裝置部分51擴(kuò)展和經(jīng)由主存儲器43轉(zhuǎn)移到幀存儲器63。
在圖2中,AD區(qū)是圖象存儲區(qū),和具有兩個用于顯示與繪圖的幀緩沖區(qū)。在這個實施例中,用于當(dāng)前顯示的幀緩沖區(qū)稱為顯示緩沖器和用于當(dāng)前繪圖的其他幀緩沖區(qū)稱為繪圖緩沖器。在一個幀緩沖器。在一個幀緩沖區(qū)用做繪圖操作的繪圖緩沖器時,其他幀緩沖區(qū)被用做顯示緩沖器。當(dāng)完成繪圖操作時,利用垂直同步信號將繪圖緩沖器與顯示緩沖器轉(zhuǎn)換。
從幀存儲器63的顯示緩沖器讀出的圖象數(shù)據(jù)經(jīng)由D/A變換器64送到圖象監(jiān)視裝置65和在其屏上予以顯示。
分類控制器45具有類似于稱為DMA控制器的功能,并構(gòu)成一種轉(zhuǎn)移裝置。更具體地講,分類控制器在主存儲器43與圖象擴(kuò)展裝置部分51之間執(zhí)行圖象數(shù)據(jù)的轉(zhuǎn)移和從主存儲器43轉(zhuǎn)移一個繪圖指令序列到繪圖裝置部分61。分類控制器45執(zhí)行上述不包括CPU42的轉(zhuǎn)移操作,同時系統(tǒng)總線41由其他裝置,諸如CPU42和控制鍵盤71釋放。為此目的,CPU42可以通知分類控制器45釋放系統(tǒng)總線41。另外一種方案,分類控制器45可以請求CPU42釋放系統(tǒng)總線41(強(qiáng)行釋放)。
對于運(yùn)動圖象或靜止圖象而言,主存儲器43具有用于被壓縮的圖象數(shù)據(jù)存儲區(qū)和用于被擴(kuò)張的圖象數(shù)據(jù)(已經(jīng)被擴(kuò)張解碼的圖象數(shù)據(jù))的存儲區(qū)。主存儲器43還具有一個用于諸如繪圖指令序列的圖象數(shù)據(jù)的存儲區(qū)(稱為數(shù)據(jù)包緩沖器)。
包緩沖器用于由CPU42設(shè)置繪圖指令序列和轉(zhuǎn)移繪圖指令序列到繪圖裝置部分61,由CPU42與繪圖裝置部分61所共享。在這個實施例中,為了能夠使CPU42與繪圖裝置部分61并行處理,共提供兩個包緩沖器一個用于設(shè)置繪圖指令序列的包緩沖器(下文稱為設(shè)置包緩沖器)和一個用于轉(zhuǎn)移的包緩沖器(下文稱為執(zhí)行包緩沖器)。在一個包緩沖器用作設(shè)置包緩沖器的同時,另一個用做執(zhí)行包緩沖器。當(dāng)利用執(zhí)行包緩沖器的執(zhí)行操作完成時,兩個包緩沖器的功能交換。
該設(shè)備的處理過程將逐個地詳細(xì)描述。從CD-ROM盤中取數(shù)據(jù)當(dāng)圖1實施例的設(shè)備(游戲機(jī))被加電和裝入CD-ROM盤時,由CPU42執(zhí)行實現(xiàn)一種游戲機(jī)所必須的稱為初始化的分類ROM(boot-ROM)73的程序。而后取出記錄在CD-ROM盤上的數(shù)據(jù)。在這種操作中,對應(yīng)的用戶數(shù)據(jù)根據(jù)在CD-ROM盤的相應(yīng)扇區(qū)中該用戶數(shù)據(jù)的識別信息ID被解碼,和執(zhí)行數(shù)據(jù)校驗。按照數(shù)據(jù)校驗的結(jié)果,CPU42按照由相應(yīng)識別信息ID指示的重現(xiàn)數(shù)據(jù)內(nèi)容進(jìn)行處理。
即,要由CPU42執(zhí)行的被壓縮的圖象數(shù)據(jù)、繪圖指令和一段程序經(jīng)由CD-ROM驅(qū)動器53和CD-ROM解碼器52從CD-ROM盤中讀出,和由分類控制器45裝入主存儲器43。在所裝入的數(shù)據(jù)中,色彩變換表CLUT的信息被轉(zhuǎn)移到幀存儲器63的AC區(qū)。被壓縮的圖象數(shù)據(jù)的擴(kuò)張和轉(zhuǎn)移在已被輸入到主存儲器43的數(shù)據(jù)之中,壓縮的圖象數(shù)據(jù)受到CPU42的Huffman碼解碼操作,然后由CPU42重寫入主存儲器43。分類控制器45轉(zhuǎn)移來自主存儲器43的已經(jīng)受Huffman碼解碼操作的圖象數(shù)據(jù)經(jīng)由FIFO緩沖器54到圖象擴(kuò)張裝置部分51。圖象擴(kuò)張裝置部分51通過執(zhí)行反向量化和反向DCT擴(kuò)張解碼該圖象數(shù)據(jù)。
分類控制器45經(jīng)由FIFO緩沖器55轉(zhuǎn)移被擴(kuò)張的圖象數(shù)據(jù)到主存儲器43。在上述操作中,圖象擴(kuò)張裝置部分51以微塊為基礎(chǔ)擴(kuò)張圖象數(shù)據(jù)。從而,分類控制器45以主存儲器43轉(zhuǎn)移被壓縮的一個微塊的數(shù)據(jù)到輸入FIFO緩沖器54。當(dāng)完成對一個微塊圖象數(shù)據(jù)的擴(kuò)張解碼操作時,圖象擴(kuò)張裝置部分51不僅提供產(chǎn)生的被擴(kuò)張的圖象數(shù)據(jù)到輸出FIFO緩沖器55,而且從輸入FIFO緩沖器54取下一個一微塊被壓縮的數(shù)據(jù)并對其擴(kuò)張解碼。
如果系統(tǒng)總線41是空閑的并且圖象擴(kuò)張裝置部分51的輸出FIFO緩沖器55不空閑,則分類控制器45轉(zhuǎn)移一個微塊被擴(kuò)張的圖象數(shù)據(jù)到主存儲器43和從主存儲器43轉(zhuǎn)移下一個一微塊被壓縮的圖象數(shù)據(jù)到圖象擴(kuò)張裝置部分51的輸入FIFO緩沖器54。
當(dāng)規(guī)定的被擴(kuò)張的圖象數(shù)據(jù)的各微塊已被累積在主存儲器43中的時間點,CPU42經(jīng)由繪圖裝置部分61轉(zhuǎn)移這些被擴(kuò)張的圖象數(shù)據(jù)到幀存儲器63。當(dāng)擴(kuò)張的圖象數(shù)據(jù)被轉(zhuǎn)移到幀存儲器63的圖象數(shù)據(jù)區(qū)AD時,則它們作為背景運(yùn)動圖象沒有任何修改地顯示在圖象監(jiān)視器裝置65上。擴(kuò)張的圖象數(shù)據(jù)可以被轉(zhuǎn)移到幀存儲器63的構(gòu)造存儲區(qū)AT。在構(gòu)造圖象區(qū)AT中的圖象數(shù)據(jù)被用作為用于裝飾多邊形的構(gòu)造圖象。繪圖指令序列的處理和轉(zhuǎn)移立體圖象通過順序繪制出各多邊形能夠顯示在兩維圖象顯示屏上,各多邊形基于表示其三維深度的Z數(shù)據(jù)以其深的次序(較深的多邊形先繪制)構(gòu)成一個物體的表面。CPU42在主存儲器43中產(chǎn)生一個繪圖指令序列,以便使繪圖裝置部分61以上述方式,即其深度次序,繪制出各多邊形。
另外,計算機(jī)圖形使用一種稱為Z緩沖器的方法,在該方法中各多邊形的顯示優(yōu)先級次序是利用為各個象素存儲在一個存儲器中的Z數(shù)據(jù)確定的。但是,X緩沖器方法要求一個大容量存儲器存儲Z數(shù)據(jù)。
為解決這個問題,在本實施例中,一個立體圖象通過以其深度的次序順序地繪出(重寫)各個多邊形。為此目的,需要將各繪圖指令從主存儲器43中以繪圖次序順序地轉(zhuǎn)移到繪圖裝置部分61。
如果從主存儲器43向繪圖裝置部分61的DMA轉(zhuǎn)移是通過常規(guī)DMA控制器實現(xiàn)的,則需要一個在主存儲器43中重新編排繪圖指令為一種執(zhí)行次序的過程,即改變繪圖指令的存儲地址。但是,對于重新編排所需的附加時間使實現(xiàn)實時處理是困難的。
在該實施例的上述參考中,通過使用下面的繪圖指令的數(shù)據(jù)結(jié)構(gòu),不需要改變主存儲器43的各繪圖指令的地址,CPU42給出確定繪制多邊形的顯示優(yōu)先級的可能性。
在繪圖操作中,通常在繪圖指令的執(zhí)行之前執(zhí)行規(guī)定的控制指令。例如,在繪圖操作之前,執(zhí)行諸如擦擊幀存儲器63中的圖象數(shù)據(jù),改變垂直和水平方向象素數(shù)目的分辨率改變指令,和控制從原點執(zhí)行的圖象繪制的開始位置的偏移的偏移改變指令的各個控制指令。
在該實施例中,控制指令具有與繪圖指令相同的數(shù)據(jù)結(jié)構(gòu)。控制指令插入規(guī)定的繪圖指令之前,構(gòu)成一個繪圖指令序列,以便控制指令與繪圖指令一起轉(zhuǎn)移。繪圖裝置部分按照該繪圖指令序列可以通過執(zhí)行控制與繪圖實現(xiàn)所要求的繪圖操作。
圖3示意性地表示本實施例中的指令數(shù)據(jù)結(jié)構(gòu)的例子。該數(shù)據(jù)結(jié)構(gòu)包括標(biāo)題部分和指令的數(shù)據(jù)部分。
標(biāo)題部分包括一個標(biāo)記TG和一個命令識別碼CODE。下一個繪圖或控制指令存儲在主存儲器43中的地址寫入標(biāo)記TG。命令識別碼CODE包括指令數(shù)據(jù)IDP,該數(shù)據(jù)表示是哪一種指令,和如果需要的話,是該指令需要的其他信息。
座標(biāo)值和其他參數(shù)寫入指令的數(shù)據(jù)部分。指令數(shù)據(jù)部分的各個參數(shù)是由各個指令確定的。雖然指令數(shù)據(jù)部分的數(shù)據(jù)長度不同指令是可變的,由于各個參數(shù)對于每個指令是確定的,所以對于每個指令而言數(shù)據(jù)長度是固定的。
圖4A為多邊形繪圖指令的例子。在這種情況下,命令識別碼CODE的識別數(shù)據(jù)表示該指令是多邊形繪圖指令。在該多邊形應(yīng)當(dāng)以一種單色映射的情況,命令識別碼CODE包括用于映射的三原色的包數(shù)據(jù)(G、B、R),作為其他需要的信息。圖4A的指令是一個四邊形的繪圖指令,和其指令數(shù)據(jù)部分描述了四個座標(biāo)(X0、Y0)、(X1、Y1)、(X2、Y2)和(X3、Y3)。
圖4B表示一個消除控制指令的例子。在這種情況下,命令識別碼CODE的識別數(shù)據(jù)IDP表示該指令是一個消除控制指令。該指令數(shù)據(jù)部分描述了要被消除的矩形范圍的左上角的座標(biāo)(Xs、Ys)和右下角的座標(biāo)(Xe、Ye)的座標(biāo)。
圖4C表示一個偏移控制指令的例子。在這種情況下,命令識別碼CODE的識別數(shù)據(jù)IDP表示該指令是一個偏移控制指令。例如,在繪制一個矩形圖象Va和將其顯示在屏上,該控制指令通過它的左上角的給定座標(biāo)(Xr、Yr)作為相對于屏(見圖5)的原點座標(biāo)(Xo、Yo)的偏移值。通過偏移控制指令,矩形圖象Va的顯示位置可以被控制,無需規(guī)定其四個角的位置座標(biāo)。如圖5所示利用偏移控制指令從PS1到PS2改變該矩形圖象Va的位置是十分方便的。
圖4D表分辨率控制指令的例子。命令識別碼CODE的識別數(shù)據(jù)IDP表示該指令是分辨率控制指令。該指令數(shù)據(jù)部分規(guī)定在垂直和水平方向的象素數(shù)目。在圖40的例子中,在水平方向的象素數(shù)目是320和在垂直方向的象數(shù)數(shù)目是240。
正如從上文所理解到的那樣,繪圖指令和控制指令的數(shù)據(jù)部分具有不同的長度。在某些情況下,命令識別碼CODE具有不同的數(shù)據(jù)長度。因此,作為一個整體,指令的數(shù)據(jù)長度是不固定的。但是,因為每個指令具有固定的數(shù)據(jù)長度,某個指令的總數(shù)據(jù)長度可以從命令識別碼CODE的識別數(shù)據(jù)IDP確定是什么指令來識別。因此,在該實施例中,包長度(轉(zhuǎn)移單元)是不固定的,而被轉(zhuǎn)移的各可變長度取決于相應(yīng)指令的數(shù)據(jù)長度。
響應(yīng)于通過控制鍵盤7的用戶操作輸入,CPU42計算物體的運(yùn)動和觀察點并在主存儲器43中產(chǎn)生繪圖指令和控制指令。而后CPU42將各繪圖指令與控制指令的標(biāo)記TG重寫為相應(yīng)于繪圖次序和控制次序的次序,和在主存儲器43中產(chǎn)生一個繪圖指令序列。即,CPU42重寫標(biāo)記TG的地址,以便控制指令被置于受控的繪圖指令序列的前面,和以便各繪圖指令被重新安排為繪圖的次序。在這種操作中,僅以標(biāo)記TG的地址被重寫和在主存儲器中相應(yīng)各個指令的地址沒有改變。
例如,在這樣一個繪圖指令序列的情況下,即,幀存儲器63的繪圖緩沖器被清零以后,繪制物體A和而后以改變分辨率繪制物體B。如圖6所示,開始地址被這樣設(shè)置,即清零控制指令被置于該序列的首端。然后,該清零控制指令的標(biāo)記TG被作為表示物體A的第一繪圖指令的在主存儲器43中的一個地址設(shè)置。然后,用于物體A的各相應(yīng)繪圖指令的各標(biāo)記TG按照繪圖的次序被設(shè)置。
接下來,用于物體A的最后一個繪圖指令的標(biāo)記TG作為表示分辨率改變控制指令的主存儲器地址被設(shè)置。然后,分辨率改變控制指令的標(biāo)記TG作為表示物體B的第一繪圖指令的主存儲器43的地址被設(shè)置。
當(dāng)完成繪圖指令序列的設(shè)置時,分類控制器45以指示TG1、TG2、TG3…,TGn表示的次序從主存儲器43向繪圖裝置部分61一個接一個地轉(zhuǎn)移控制指令和繪圖指令I(lǐng)P1、IP2、IP3…(見圖7)。從而,對于FIFO緩沖器62其有一個指令的容量足夠了。
因為被轉(zhuǎn)移的數(shù)據(jù)已經(jīng)處于分類狀態(tài)了,與Z緩沖器方法的情況相比,繪圖裝置部分61不再需要重新編排指令I(lǐng)P1、IP2、IP3…。即,繪圖裝置部分61以其到達(dá)的次序順序地執(zhí)行這些指令和在幀存儲器63的繪圖區(qū)AD中存儲執(zhí)行的結(jié)果。
圖8是說明從主存儲器43轉(zhuǎn)移繪圖指令序列到繪圖裝置部分61的控制操作的框圖。圖9表示用在圖8所示設(shè)備部分的原理性定時信號。
參照圖8,當(dāng)FIFO緩沖器62轉(zhuǎn)變?yōu)榭臻e時,繪圖裝置部分61產(chǎn)生一個轉(zhuǎn)移請求DREQ(見圖9的部分A)。響應(yīng)于該轉(zhuǎn)移請求DREQ,分類控制器45在當(dāng)系統(tǒng)總線41被CPU42置于空閑的定時轉(zhuǎn)移繪圖指令序列的下一個指令。
在轉(zhuǎn)移該指令之前,分類控制器45根據(jù)識別數(shù)據(jù)IDP判斷從主存儲器43要被轉(zhuǎn)移的數(shù)據(jù)長度。根據(jù)判斷結(jié)果,分類控制器45在對應(yīng)于轉(zhuǎn)移的數(shù)據(jù)長度周期期間產(chǎn)生一個例如高電平的信號DACK(見圖9的部分B),和將其轉(zhuǎn)移到繪圖裝置部分61。同時,分類控制器45向繪圖裝置部分61轉(zhuǎn)移轉(zhuǎn)移時鐘WR(見圖9的部分C),和與該轉(zhuǎn)移時鐘WR相同步地轉(zhuǎn)移轉(zhuǎn)移數(shù)據(jù)DATA(見圖9的部分P)到繪圖裝置部分61的FIFO緩沖器62。
在信號DACK處于高電平的同時,繪圖裝置部分61識別分類控制器45正在轉(zhuǎn)移數(shù)據(jù)DATA,即一個繪圖指令或控制指令。因此,即使正被轉(zhuǎn)移的繪圖指令或控制指令具有可變的數(shù)據(jù)長度,該繪圖裝置部分61也能根據(jù)信號DACK識別它的數(shù)據(jù)長度和也能在指令轉(zhuǎn)移完成以后立即執(zhí)行繪圖或控制。
也就是說,當(dāng)信號DACK轉(zhuǎn)至低電平時,繪圖裝置部分61對轉(zhuǎn)移到FIFO緩沖器62的指令轉(zhuǎn)移的識別完成。因此,當(dāng)完成前面的繪圖或控制以后,繪圖裝置部分61從FIFO緩沖器62取指令和執(zhí)行繪圖或控制。
如上所述,在圖1的設(shè)備中,根據(jù)它的數(shù)據(jù)長度一個指令被轉(zhuǎn)移,在該轉(zhuǎn)移完成以后,立即可以執(zhí)行繪圖或控制(見圖10)。因為不需要在轉(zhuǎn)移數(shù)據(jù)包中象在圖21和22的常規(guī)情況那樣插入非操作數(shù)據(jù)COP,處理的時間被大大地縮短了。
參照圖11的流程圖,將描述當(dāng)繪圖指令序列被轉(zhuǎn)移和其指令被執(zhí)行時由CPU42所進(jìn)行的操作。
首先,在步驟101,CPU42發(fā)送一個指令到繪圖裝置部分61,使部分61將存儲在幀緩沖器區(qū)之一,即幀緩沖器63的圖象存儲器區(qū)AD的幀緩沖區(qū)A(目前用做顯示緩沖器)的圖象數(shù)據(jù)饋送到圖象監(jiān)視器65。在步驟102,CPU42讀控制鍵盤71的操作輸入。在步驟103,根據(jù)該操作輸入,CPU42更新主存儲器43的包緩沖器之一(目前用做設(shè)置包緩沖器)中存儲的繪圖指令序列的繪圖指令和控制指令的座標(biāo)值等等,和重寫繪圖指令序列A的各個指令的標(biāo)記TG,以便它們符合繪圖次序和控制次序。
在步驟101-103執(zhí)行的同時,存儲在主存儲器43的另一包緩沖器(用做執(zhí)行緩沖器)的緩沖指令序列B由分類控制器45轉(zhuǎn)移到繪圖裝置部分61,和繪圖裝置部分61在實時的基礎(chǔ)上,執(zhí)行利用幀存儲器63的圖象存儲區(qū)AD的另一幀緩沖區(qū)B(作為繪圖緩沖器)的繪圖指令序列B的繪圖和控制。
而后,在步驟104中,CPU42等待繪圖指令序列B的繪圖和控制的完成。即,CPU42判斷是否所有繪圖指令序列B已被從主存儲器43轉(zhuǎn)移和繪圖與控制已經(jīng)完成。
當(dāng)完成繪圖指令序列B的執(zhí)行時,CPU42使幀存儲器63的幀緩沖區(qū)B為顯示緩沖器,和發(fā)送指令到繪圖裝置部分61,使其讀來自幀緩沖區(qū)B的繪象數(shù)據(jù)和饋送該數(shù)據(jù)到圖象監(jiān)視裝置65(步驟105)。與此同時,幀存儲器63的幀緩沖區(qū)A被轉(zhuǎn)換為繪圖緩沖器。
在步驟106,CPU42讀控制鍵盤71的操作輸入。在步驟107,按照該操作輸入,CPU42更新存儲在主存儲器43的另一包緩沖器(用做設(shè)置包緩沖器)中的繪圖指令序列的座標(biāo)值、控制指令數(shù)據(jù)等等和重寫繪圖指令序列B的各個指令的標(biāo)記TG,以便它們符合繪圖次序和控制次序。
在執(zhí)行步驟105-107的同時,主存儲器43的一個包緩沖器(作為執(zhí)行緩沖器)中存儲的繪圖指令序列A由分類控制器45轉(zhuǎn)移到繪圖裝置部分,和繪圖裝置部分61在實時的基礎(chǔ)上利用幀存儲器63的圖象存儲區(qū)AD的一個幀緩沖區(qū)A(作為繪圖緩沖區(qū))執(zhí)行繪圖指令序列A的繪圖和控制。
然后,在步驟108,CPU42等待繪圖指令序列A的繪圖和控制的完成。即,CPU42判斷是否所有繪圖指令序列A從主存儲器43已被轉(zhuǎn)移了和繪圖控制已經(jīng)完成了。
當(dāng)繪圖指令序列A完成時,CPU42使幀存儲器63的幀緩沖區(qū)A成為顯示緩沖器,和發(fā)送一個指令到繪圖裝置部分61,使部分61從幀緩沖區(qū)A讀繪象數(shù)據(jù)和饋送該數(shù)據(jù)到圖象監(jiān)視器65(步驟109)。在此同時,幀緩沖區(qū)B被轉(zhuǎn)換為繪圖緩沖器。而后CPU42返回步驟102,重復(fù)上述過程。通過每秒30-60次重復(fù)上述過程,可以顯示運(yùn)動圖象。
正如從上述描述所顯而易見地,CPU42和繪圖裝置部分61以并行方式操作。更具體地講,CPU42連續(xù)地將代表存儲在主存儲器43的設(shè)置包緩沖器中的繪圖指令序列的相應(yīng)各指今的標(biāo)記TG的地址值改寫為存儲下一個指令的主存儲器43的地址值(如圖12B箭頭所示)。在此同時,分類控制器45通過跟蹤各個指令的標(biāo)記TG從主存儲器43的執(zhí)行包緩沖器讀該繪圖指令序列(如圖12A箭頭所示),和將該序列轉(zhuǎn)移到繪圖裝置部分61,該部分61按照繪圖指令序列執(zhí)行繪圖操作。
如圖13所示,在CPU產(chǎn)生一個繪圖指令序列的同時,繪圖裝置部分61根據(jù)以前產(chǎn)生的繪圖指令序列處于執(zhí)行一個繪圖操作的狀態(tài)。該繪圖操作執(zhí)行完成以后,根據(jù)繪圖指令序列的一個繪圖操作剛剛產(chǎn)生。
為了給出一個多邊形,數(shù)據(jù)被發(fā)送到繪圖裝置部分61的梯度計算單元,該單元執(zhí)行一種梯度計算。梯度計算是當(dāng)多邊形的內(nèi)部在多邊形繪制操作被填充以映射數(shù)據(jù)時確定映射數(shù)據(jù)平面的梯度。在利用構(gòu)造的情況下,多邊形被填充以構(gòu)造圖象數(shù)據(jù)。在鮮明的陰影情況下,多邊形被填充以亮度值。
為了把構(gòu)造附加到構(gòu)成一個物體表面中的多邊形上,構(gòu)造區(qū)AT構(gòu)造數(shù)據(jù)被經(jīng)二維映射變換。例如,在圖14A部分所示的構(gòu)造圖形T1-T3被變換為二維屏的座標(biāo)上,以便適合于圖14B部分所示的物體相應(yīng)各表面的多邊形。已經(jīng)經(jīng)受這種映射變換的構(gòu)造圖形T1-T3被附加到圖14C部分所示的物體OB1的各表面。得到的數(shù)據(jù)被安排在圖象存儲器的AD區(qū)和顯示在圖象顯示監(jiān)視器65的顯示屏上。
在靜止圖象構(gòu)造情況下,主存儲43的構(gòu)造圖形經(jīng)由繪圖裝置部分61被轉(zhuǎn)移到幀存儲器63的構(gòu)造區(qū)AT,部分61附加該構(gòu)造圖形到各多邊形上。靜止圖象的構(gòu)造以這種方式應(yīng)用到一個物體上。靜止圖象的構(gòu)造圖形的數(shù)據(jù)可以記錄在CD-ROM盤上。
另外,運(yùn)動圖象構(gòu)造的應(yīng)用也是可能的。在運(yùn)動圖象構(gòu)造的情況下,來自CD-ROM盤的壓縮運(yùn)動圖象數(shù)據(jù)被暫時寫在主存儲器43中,和壓縮圖象數(shù)據(jù)而后被發(fā)送到圖象擴(kuò)張裝置部分51,部分51擴(kuò)張該圖象數(shù)據(jù)。
擴(kuò)張的運(yùn)動圖象數(shù)據(jù)被發(fā)送到幀存儲器63的構(gòu)造區(qū)AT。因為構(gòu)造區(qū)AT是設(shè)置在幀存儲器63中的,構(gòu)造圖形也可以一幀接一幀地重寫。在運(yùn)動圖象數(shù)據(jù)的這種方式被發(fā)送到構(gòu)造區(qū)的同時,構(gòu)造變化被動態(tài)地一幀接一幀地寫入。運(yùn)動圖象構(gòu)造的應(yīng)用可以通過利用構(gòu)造區(qū)AT的運(yùn)動圖象數(shù)據(jù)執(zhí)行對多邊形的構(gòu)造映射實現(xiàn)。
如上所述,背影移動圖象可以通過發(fā)送圖象數(shù)據(jù)顯示在圖象監(jiān)視裝置65的屏上,該圖象數(shù)據(jù)已被圖象擴(kuò)張裝置部分51擴(kuò)張送入幀存儲器63的圖象存儲區(qū)AD。僅根據(jù)由CPU42產(chǎn)生的繪圖指令和填充在圖象存儲區(qū)AD的提取圖象在圖象顯示監(jiān)視器的屏上繪圖還是可能的。也可能在圖象存儲區(qū)AD上繪圖,即,由CPU42從CD-ROM盤擴(kuò)張的圖象數(shù)據(jù)獲得的靜止圖象數(shù)據(jù)的多邊形繪圖產(chǎn)生的物體的繪圖數(shù)據(jù)。
如上所述,分類控制器45無須CPU42的參與當(dāng)系統(tǒng)總線41空閑的各時間間隔轉(zhuǎn)移繪圖指令與圖象數(shù)據(jù)。
為了由圖象擴(kuò)張裝置部分51從主存儲器43向幀存儲器63轉(zhuǎn)移被擴(kuò)張解碼的圖象數(shù)據(jù),在該實施例中利用了接著的擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令。這種類型的擴(kuò)張的圖象數(shù)據(jù)向轉(zhuǎn)移指令格式的變換是由CPU42實現(xiàn)的。
圖15表示上述的擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令的結(jié)構(gòu)具有與繪圖指令和控制指令近似相同的數(shù)據(jù)結(jié)構(gòu),擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令包括標(biāo)題部分與圖象數(shù)據(jù)部分。在標(biāo)題部分中,標(biāo)記TG放在首部,而識別數(shù)據(jù)IDP被接著標(biāo)記TG設(shè)置。正如在其他情況的指令,標(biāo)記TG含有主存儲器43的一個地址值,在該地址存有下一個繪圖指令、控制指令或轉(zhuǎn)移指令。表示該指令是一個擴(kuò)張的圖象數(shù)據(jù)轉(zhuǎn)移指令的數(shù)據(jù)被描述在識別數(shù)據(jù)IDP。
接著標(biāo)題部分的圖象數(shù)據(jù)部分包括擴(kuò)張的圖象數(shù)據(jù)PIX0、PIX1、PIX2,…PIXn。分類控制器45從主存儲器43轉(zhuǎn)移擴(kuò)張的圖象數(shù)據(jù)到繪圖裝置部分61的上述轉(zhuǎn)移指令的各單元中。
在圖15中,標(biāo)題部分的數(shù)據(jù)“H”和“W”表示要被轉(zhuǎn)移的擴(kuò)張的數(shù)據(jù)的范圍的高和寬,和對應(yīng)于一幀圖象的范圍。數(shù)據(jù)“X”和“Y”表示轉(zhuǎn)移目的的座標(biāo)。因為轉(zhuǎn)移范圍是一個矩形,這些座標(biāo)表示該矩形范圍的的左上角。如果移轉(zhuǎn)目的位于AD區(qū),這些座標(biāo)是在幀存儲器63的圖象存儲區(qū)AD的圖象存儲器的座標(biāo),和如果轉(zhuǎn)移目的位于AT區(qū),則是構(gòu)造區(qū)AT的座標(biāo)。
在轉(zhuǎn)移指令的擴(kuò)張圖象數(shù)據(jù)的情況下,從標(biāo)記TG到座標(biāo)X和Y構(gòu)成標(biāo)題部分的諸項目。標(biāo)題部分大小是從識別數(shù)據(jù)IDP識別的。圖象數(shù)據(jù)部分的數(shù)據(jù)長度是從高H和寬W識別的。總的擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令的數(shù)據(jù)長度是按上述大小和數(shù)據(jù)長度識別的。從識別數(shù)據(jù)IDP到座標(biāo)X和Y的諸項目對應(yīng)于圖3所示的繪圖指令的命令識別碼CODE。
另外,如上所述,圖象擴(kuò)張裝置部分51將一幀圖象分為多個微塊,每個由16×16象素組成(水平地與垂直地),和以一個微塊為基礎(chǔ)執(zhí)行擴(kuò)張解碼。例如,如果一個圖象其中一幀含有320×240個象素(水平地與垂直地),一幀被分為300個微塊,如圖16所示。
為了轉(zhuǎn)移300個微塊到繪圖裝置部分61,如轉(zhuǎn)移指令是對各個微塊產(chǎn)生的,標(biāo)題部分的頂部太大。因此,在該實施例中,如圖17所示,形成每個垂直列的多個微塊(圖17中為15個)互相連接起來和形成一個擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令的轉(zhuǎn)移單元。
圖18表示一幀的第一擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令的例子。在圖18中,座標(biāo)X和Y都是0。在下一個擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令中,座標(biāo)X和Y分別是16和0。
如上所述,因為擴(kuò)張圖象數(shù)據(jù)被變換為具有類似于繪圖指令與控制指令的數(shù)據(jù)結(jié)構(gòu)的指令格式,所以由分類控制器45的轉(zhuǎn)移和由繪圖裝置部分61的圖象在幀存儲器中的繪制與產(chǎn)生都可以執(zhí)行,以至于多邊形繪圖指令和控制指令以及擴(kuò)張數(shù)據(jù)轉(zhuǎn)移指令利用標(biāo)記TG彼此混合起來。
按照本實施例的裝置具有下述優(yōu)點。由于在主存儲器43中的繪圖指令序列、壓縮的圖象數(shù)據(jù)和擴(kuò)張的圖象數(shù)據(jù)在CPU釋放系統(tǒng)總線但并不關(guān)閉CPU42的時期內(nèi)被轉(zhuǎn)移,以時分的方式就可有效地使用系統(tǒng)總線。
因為整個繪圖指令序列被保護(hù)在主存儲器43中,所以CPU42能在任何時間直接控制它,因此,響應(yīng)于通過控制鍵盤71等的外部輸入控制可以立即執(zhí)行。這將對改善在屏上的顯示速度有所貢獻(xiàn)。
同樣,因為整個運(yùn)動圖象數(shù)據(jù)是暫時存儲在主存儲器43的,CPU可以在任何時間直接控制運(yùn)動圖象數(shù)據(jù),從而,響應(yīng)于通過控制鍵盤71等的外部輸入控制可以立即執(zhí)行。這將對改善屏上顯示響應(yīng)速度有所貢獻(xiàn)。
因為控制指令與繪圖指令可以一起轉(zhuǎn)移執(zhí)行繪圖,繪圖裝置部分61不要求分別接收這兩種指令的硬件。因此,不但其配置而且轉(zhuǎn)移與繪圖的操作都被簡化了。
因為繪圖裝置部分61單獨具有以優(yōu)先級從CPU42直接接收控制指令的控制口66,CPU42可以控制繪圖裝置部分61,以便中斷其繪圖或顯示操作。
因為每個指令的數(shù)據(jù)長度從命令識別數(shù)據(jù)IDP可以識別,一個指令的轉(zhuǎn)移長度取決于每個指令的數(shù)據(jù)長度,是可以變化的。結(jié)果,通過取消了沒必要的時間,可以縮短處理時間。
因為與繪圖裝置部分61相關(guān)的FIFO緩沖器62的級數(shù)可以僅對應(yīng)于一個繪圖指令的數(shù)目,繪圖裝置部分61的電路規(guī)??梢詼p小。
因為圖象擴(kuò)張裝置部分51利用主存儲器42作為緩沖器,從而不需要局部存儲器。另外,與圖象擴(kuò)張裝置部分51相關(guān)的每個FIFO緩沖器53的級數(shù)可以僅是對應(yīng)于一個微塊的數(shù),繪圖裝置部分61的電路規(guī)??梢詼p小。
下次要執(zhí)行的繪圖指令的主存儲器42的地址值包括在一個繪圖指令中。因此,當(dāng)繪圖次序改變時,是以重新編排在繪圖指令中的地址值;即不需要重新編排主存儲器43中各繪圖指令的本身,以便它們處在已改變了的地址之中。因此,系統(tǒng)總線41的負(fù)荷可以減輕許多。
總之,在連續(xù)地產(chǎn)生的運(yùn)動圖象中,很少有在主存儲器43中產(chǎn)生的繪圖指令序列的內(nèi)容在相鄰幀之間有很大變化。因此,很少有要求改變地址值的,即,在實際中,只要簡單地改變前一幀的繪圖指令序列的座標(biāo)值就足夠了。
雖然在上述實施例中,圖象數(shù)據(jù)和應(yīng)用程序是記錄在CD-ROM盤上的,但是包括磁盤在內(nèi)的其他記錄介質(zhì)和諸如存儲器卡的半導(dǎo)體存儲器也可以利用。
雖然在上述實施例中,DCT被用作圖象數(shù)據(jù)壓縮方法,但是其他各種圖象數(shù)據(jù)壓縮方法也可以利用。
權(quán)利要求
1.一種轉(zhuǎn)移由CPU產(chǎn)生的繪圖指令和控制指令到繪圖裝置部分以及按照繪圖指令和控制指令順序執(zhí)行繪圖操作以在繪圖裝置部分生成一個圖象的方法,該方法包括以下步驟構(gòu)成繪圖指令和控制指令,以使它們具有包括標(biāo)題部分和指令數(shù)據(jù)部分的數(shù)據(jù)結(jié)構(gòu),該標(biāo)題部分具有用于表示該指令的種類的命令識別碼,和形成一個繪圖指令序列,其中繪圖指令和控制指令被安排為繪圖和控制過程的次序,和轉(zhuǎn)移該繪圖指令序列到繪圖裝置部分。
2.一種圖象生成設(shè)備,該設(shè)備包括用于存儲繪圖指令和控制指令的主存儲器;用于產(chǎn)生繪圖指令和控制指令的CPU,以便它們具有包括標(biāo)題部分和指令數(shù)據(jù)部分的數(shù)據(jù)結(jié)構(gòu),該標(biāo)題部分具有命令識別碼,用于表示該指令的種類,和用于在主存儲器中產(chǎn)生一個繪圖指令序列,該序列中繪圖指令和控制指令被安排為繪圖與控制過程的次序;繪圖裝置部分,用于按照繪圖指令和控制指令在幀存儲器中執(zhí)行繪圖操作;和轉(zhuǎn)移裝置,用于從主存儲器中讀出繪圖指令序列,和將其轉(zhuǎn)移到繪圖裝置部分。
3.按照權(quán)利要求2的圖象生成設(shè)備,其中CPU、主存儲器、和繪圖裝置部分連接到系統(tǒng)總線上,和其中在CPU和其他裝置空閑該系統(tǒng)總線的各個時間間隔中,在沒有CPU參與下,轉(zhuǎn)移裝置將繪圖指令序列從主存儲器轉(zhuǎn)移到繪圖裝置部分。
4.按照權(quán)利要求3的圖象生成設(shè)備,其中繪圖指令和控制指令的標(biāo)題部分包括一個在主存儲器中下一次要執(zhí)行的指令的地址,其中CPU通過在主存儲器中以繪圖指令序列的安排次序設(shè)置繪圖指令和控制指令的標(biāo)題部分而在主存儲器中產(chǎn)生繪圖指令序列,和其中轉(zhuǎn)移裝置按照標(biāo)題部分的地址從主存儲器中讀繪圖指令和控制指令,并轉(zhuǎn)移這些指令到繪圖裝置部分作為繪圖指令序列。
5.按照權(quán)利要求4的圖象生成設(shè)備,還包括操作輸入裝置,其中該圖象生成設(shè)備具有游戲機(jī)的配置,其中CPU產(chǎn)生繪圖指令和控制指令和響應(yīng)于操作輸入裝置的操作輸入,設(shè)置繪圖指令序列的次序。
6.按照權(quán)利要求5的圖象生成設(shè)備,其中每個繪圖指令和控制指令的整個數(shù)據(jù)長度是可變的,和其中轉(zhuǎn)移裝置根據(jù)命令識別碼判斷數(shù)據(jù)長度,和以取決于數(shù)據(jù)長度的轉(zhuǎn)移數(shù)量轉(zhuǎn)移繪圖指令和控制指令到繪圖裝置部分。
7.按照權(quán)利要求6的圖象生成設(shè)備,其中繪圖裝置部分包括用于獨立地接收從CPU轉(zhuǎn)移的控制指令的裝置,此外還有用于接收包括在從轉(zhuǎn)移裝置轉(zhuǎn)移的繪圖指令序列中的控制指令裝置。
8.一種轉(zhuǎn)移由CPU產(chǎn)生的繪圖指令和控制指令到繪圖裝置部分,以及通過順序地按照繪圖指令和控制指令在繪圖裝置部分生成一個圖象的方法,該方法包括以下步驟構(gòu)成繪圖指令,以便它們具有包括標(biāo)題部分和指令數(shù)據(jù)部分的數(shù)據(jù)結(jié)構(gòu),標(biāo)題部分具有用于指示指令種類的命令識別碼,整個繪圖指令的數(shù)據(jù)長度是可變的;和從命令識別碼判斷數(shù)據(jù)長度,和以取決于數(shù)據(jù)長度的轉(zhuǎn)移量轉(zhuǎn)移繪圖指令到繪圖裝置部分。
9.按照權(quán)利要求8的方法,其中由CPU產(chǎn)生的控制指令是按照具有與繪圖指令相同的數(shù)據(jù)結(jié)構(gòu)構(gòu)成的,和繪圖指令與控制指令是以混合的方式轉(zhuǎn)移到繪圖裝置部分。
全文摘要
由CPU產(chǎn)生的繪圖指令和控制指令轉(zhuǎn)移到繪圖裝置部分,按照繪圖指令和控制指令順序執(zhí)行繪圖操作以產(chǎn)生圖像。每個繪圖指令和控制指令都有標(biāo)題部分和指令數(shù)據(jù)部分組成的數(shù)據(jù)結(jié)構(gòu)。標(biāo)題部分有指示該指令是哪種指令的命令識別碼。形成一種繪圖指令序列,序列中以繪圖和控制過程的次序安排繪圖指令和控制指令,由分類控制器以DMA方式轉(zhuǎn)移到繪圖裝置部分。繪圖裝置部分以該繪圖指令序列的次序執(zhí)行繪圖和控制操作。
文檔編號G06T11/00GK1117627SQ95104568
公開日1996年2月28日 申請日期1995年4月7日 優(yōu)先權(quán)日1994年4月7日
發(fā)明者豐禎治, 鈴置雅一, 古橋真, 田中正善 申請人:索尼公司