專利名稱:用于旋轉(zhuǎn)面向肖像顯示的圖象的硬件的制作方法
技術(shù)領(lǐng)域:
計(jì)算機(jī)系統(tǒng)以位圖的形式存儲信息。位圖被這樣組織,使得顯示控制器可以讀相應(yīng)于圖象元素(象素)的位序列,并把位序列傳遞給顯示器,用于象素再現(xiàn)。顯示控制器對相繼的象素重復(fù)這一過程,直到顯示完整的圖象。
位圖的組織確定圖象尺寸和圖象定向,即肖象或風(fēng)景。如果圖象的高度比寬度大,則圖象是面向肖象的,如果其寬度比高度大,則是面向風(fēng)景的。
圖1(b)說明面向風(fēng)景的位圖,圖象的寬度W1大于其高度H1。圖2(a)說明面向肖象的圖象的位圖。H1大于W1。在相應(yīng)的圖(a)和圖2(a)中的箭頭說明軟件尋址方式,以此方式象素被存儲在位圖存儲器中。
為了使顯示的負(fù)載周期最大,即使給定的掃描行的相繼的刷新周期最小,顯示裝置例如陰極射線管CRT或液晶顯示LCD一般是風(fēng)景配置的。即顯示裝置具有使象素以面向風(fēng)景形式被刷新的物理地址方案。如圖1(b)中的箭頭所示,一般的面向風(fēng)景的顯示在左上角開始刷新,并且跨過第一行繼續(xù)向右,并通過箭頭向下。
對于一些計(jì)算機(jī)系統(tǒng)或應(yīng)用,希望具有面向肖象顯示。在這種情況下,CRT或LCD應(yīng)當(dāng)在物理上旋轉(zhuǎn)90度。圖2(b)的箭頭說明,對于物理上旋轉(zhuǎn)的顯示,刷新地址方法仍舊是面向風(fēng)景型的,在原始象素位置(現(xiàn)在對左下角逆時(shí)針旋轉(zhuǎn)90度)開始,并以相同的次序繼續(xù)。
圖1(a)說明的軟件尋址方式和圖1(b)說明的物理地址方式相同,因此面向風(fēng)景的軟件地址到面向風(fēng)景的物理地址不需要轉(zhuǎn)換。不過,圖2(a)說明的軟件尋址方式和圖2(b)說明的物理地址方式不同。這樣,面向肖象的圖象地址需要轉(zhuǎn)換成用于面向肖象的風(fēng)景型配置顯示的物理地址。
現(xiàn)有技術(shù)使用程序或特殊的驅(qū)動器把圖象旋轉(zhuǎn)90度,以便把軟件地址變?yōu)槲锢淼刂?。?dāng)用一般的旋轉(zhuǎn)程序畫位圖序列時(shí),程序首先進(jìn)行軟件轉(zhuǎn)換操作,確定旋轉(zhuǎn)90度時(shí)的新的象素坐標(biāo),然后使用這些轉(zhuǎn)換的坐標(biāo)進(jìn)行畫操作。在某些特定的畫操作中,需要附加的軟件,以便作為“特殊情況”處理旋轉(zhuǎn)的畫。例如,為了在旋轉(zhuǎn)的圖中畫文本字符,顯示將需要以旋轉(zhuǎn)的定向從字體存儲中檢索位圖字體象素,而不是以用于存儲字體數(shù)據(jù)的正常的字節(jié)方式的未旋轉(zhuǎn)的定向進(jìn)行檢索。這可能需要若干附加的存儲周期,以對僅僅一行的給定字符檢索該旋轉(zhuǎn)的位圖字體數(shù)據(jù)。一般的說,對于任何畫操作為旋轉(zhuǎn)圖象所需的附加的大量讀操作和轉(zhuǎn)換操作將消耗相當(dāng)?shù)挠?jì)算機(jī)處理資源和時(shí)間。當(dāng)旋轉(zhuǎn)更大的或更復(fù)雜的圖象時(shí),這些問題就更突出。因此,需要一種系統(tǒng),用于旋轉(zhuǎn)用于面向肖象顯示的圖象,而不使用無效的軟件編程或妨礙刷新操作。
發(fā)明的公開通過提供一種用于將面向肖象的軟件地址轉(zhuǎn)換成一用于面向肖象的風(fēng)景型結(jié)構(gòu)顯示設(shè)備的物理地址的系統(tǒng)和方法。本發(fā)明克服了現(xiàn)有系統(tǒng)的限制和缺點(diǎn)。該系統(tǒng)包括中央處理單元(CPU),它和處理器總線相連,用于執(zhí)行程序指令和存儲器管理例行程序。該系統(tǒng)還包括存儲器、外圍設(shè)備、操作系統(tǒng)、以及和處理器總線相連的圖形系統(tǒng),還有和圖形系統(tǒng)相連的顯示裝置。
顯示裝置是風(fēng)景配置的,因而不管顯示器的物理定向如何,以風(fēng)景方式刷新。圖形系統(tǒng)控制顯示刷新和圖象再現(xiàn),并且包括圖象緩沖存儲器、地址轉(zhuǎn)換系統(tǒng)和圖形控制器。地址轉(zhuǎn)換系統(tǒng)接收軟件地址和相應(yīng)的來自CPU的象素信息,并根據(jù)顯示裝置的定向,把象素信息送到圖象緩沖存儲器單元,該單元或者由本來的地址確定,或者由被轉(zhuǎn)換過的用于表示物理地址面向肖象單元的地址確定。此外,CPU可以進(jìn)行讀操作,因而不傳送數(shù)據(jù)。圖象緩沖存儲器存儲定義顯示圖象的轉(zhuǎn)換的位圖矩陣。然后,圖形控制器把由存儲在圖象緩沖存儲器中的轉(zhuǎn)換的位圖定義的象素信息傳送給顯示裝置。
地址轉(zhuǎn)換系統(tǒng)包括多路轉(zhuǎn)換器、地址轉(zhuǎn)換電路和配置寄存器。配置寄存器存儲表示顯示裝置的物理定向是風(fēng)景的或是肖象的物理定向的信號。地址轉(zhuǎn)換電路根據(jù)函數(shù)L=ln(Hd)/ln2和M=ln(Wd)/ln2設(shè)計(jì),其中Hd是顯示裝置的象素高度,Wd是顯示裝置的象素寬度。L代表轉(zhuǎn)換為最高有效物理地址位的最低有效軟件地址位的位數(shù),M代表轉(zhuǎn)換為相反的最低有效物理地址位的最高有效軟件地址位的位數(shù)。結(jié)果地址代表在顯示裝置上被反時(shí)針旋轉(zhuǎn)90度的圖象的物理地址。多路轉(zhuǎn)換器在第一輸入接收由CPU產(chǎn)生的軟件地址并在第二輸入接收由地址轉(zhuǎn)換電路轉(zhuǎn)換的圖象地址。根據(jù)在配置寄存器中存儲的定向信號,多路轉(zhuǎn)換器把軟件地址或轉(zhuǎn)換的地址送到圖象緩沖存儲器。
圖形控制器包括第二多路轉(zhuǎn)換器、刷新邏輯和存貯器地址仲裁器。第二多路轉(zhuǎn)換器接收來自刷新邏輯的刷新地址和來自地址轉(zhuǎn)換系統(tǒng)的邏輯地址。根據(jù)從存儲地址仲裁器接收的仲裁信號,第二多路轉(zhuǎn)換器把刷新地址或邏輯地址送到顯示裝置用于產(chǎn)生象素。因?yàn)楸景l(fā)明使用的軟件程序不需要面向肖象的軟件到面向肖象物理地址轉(zhuǎn)換,所以改善了系統(tǒng)性能。此外,為面向肖象顯示而旋轉(zhuǎn)圖象的系統(tǒng)不需要研制特殊的或附加的用于旋轉(zhuǎn)情況的軟件。利用這種系統(tǒng),相同的常規(guī)軟件程序或驅(qū)動器可被用于在肖象和風(fēng)景兩種定向方式下進(jìn)行畫操作。
本發(fā)明還提供了用于進(jìn)行圖象旋轉(zhuǎn)的方法。該方法包括下述步驟檢索配置信息,產(chǎn)生用于執(zhí)行寫操作的軟件地址和可能相應(yīng)的象素?cái)?shù)據(jù),并向圖象緩沖存儲器輸出數(shù)據(jù)以及向轉(zhuǎn)換系統(tǒng)輸出地址。轉(zhuǎn)換系統(tǒng)確定是否需要地址轉(zhuǎn)換,并在需要時(shí)轉(zhuǎn)換地址。轉(zhuǎn)換通過使用上述的函數(shù)進(jìn)行。然后把地址送到在特定地址存儲象素?cái)?shù)據(jù)的圖象緩沖存儲器。
另一種方法包括下述步驟產(chǎn)生刷新地址,把刷新地址送到圖象緩沖存儲器,圖象緩沖存儲器驅(qū)動輸出在由刷新位置指定的單元內(nèi)存儲的象素?cái)?shù)據(jù),以及把刷新地址和象素?cái)?shù)據(jù)送到顯示器用于象素刷新。
附圖簡要說明圖1(a)是說明面向風(fēng)景的軟件尋址方式的方塊圖;圖1(b)是說明面向風(fēng)景的和風(fēng)景配置的顯示地址方法的方塊圖;圖2(a)是說明面向肖象的軟件尋址方式的方塊圖;圖2(b)是說明面向肖象的但是風(fēng)景配置顯示地址方法的方塊圖;圖3是按照本發(fā)明旋轉(zhuǎn)圖象用于面向肖象顯示的計(jì)算機(jī)系統(tǒng)的方塊圖;圖4是圖3的圖形系統(tǒng)的方塊圖;圖5是圖4的轉(zhuǎn)換系統(tǒng)的方塊圖;圖6是圖4的圖形控制器的方塊圖;圖7(a)是說明面向風(fēng)景的4乘8的軟件地址矩陣的表;
圖7(b)是說明當(dāng)顯示裝置反時(shí)針旋轉(zhuǎn)90度時(shí)物理地址矩陣的表;圖7(c)是說明二進(jìn)制的圖7(b)的表;圖7(d)是說明面向肖象的軟件地址矩陣的表;圖7(e)是說明用于比較圖7(c)的物理的二進(jìn)制地址和圖7d的面向肖象軟件地址矩陣的表;圖8是圖5的一般情況地址轉(zhuǎn)換電路的6原理圖;圖9是說明用于把軟件地址轉(zhuǎn)換為物理顯示裝置地址的最佳方法的流程圖;以及圖10是說明用于在顯示裝置上刷新象素的最佳方法的流程圖。
實(shí)現(xiàn)本發(fā)明以及工業(yè)可應(yīng)用性的最佳方式圖3是按照本發(fā)明用于旋轉(zhuǎn)面向肖象的軟件矩陣從而產(chǎn)生面向肖象的顯示矩陣的計(jì)算機(jī)系統(tǒng)的方塊圖。系統(tǒng)300包括中央處理單元(CPU)310,它和處理器總線320相連,用于處理程序指令和諸如地址發(fā)行等存儲器管理例行程序。系統(tǒng)300還包括存儲器330、外圍設(shè)備340、操作系統(tǒng)350、和處理器總線320相連的圖形系統(tǒng)370、以及和圖形系統(tǒng)370相連的顯示裝置360。
存儲器330包括隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)或輔助磁盤存儲器,一般存儲雜項(xiàng)數(shù)據(jù),由CPU310執(zhí)行的程序和執(zhí)行程序的中間結(jié)果。外圍設(shè)備340可以包括打印機(jī)、軟盤驅(qū)動器、鍵盤之類。操作系統(tǒng)350是存儲在存儲器中的程序,用于控制并推進(jìn)由CPU310進(jìn)行的處理。顯示裝置360,例如CRT或LCD,一般是風(fēng)景配置的,并對用戶顯示計(jì)算機(jī)產(chǎn)生的信息。風(fēng)景配置的顯示裝置以風(fēng)景型式被刷新,如圖1(b)和圖2(b)所示。
圖形系統(tǒng)370控制顯示裝置360的屏幕刷新和圖象再現(xiàn)例行程序。當(dāng)收到指令時(shí),圖形系統(tǒng)370把面向肖象的軟件地址轉(zhuǎn)換為面向肖象的風(fēng)景配置顯示裝置360的物理地址。
軟件地址確定在顯示裝置360上要顯示圖象的位置,并可由任何軟件應(yīng)用程序產(chǎn)生,例如Microsoft公司的Microsoft Word或Aldus公司的SuperPaint。軟件地址方法取決于顯示裝置360的定向。即如果顯示裝置360要用于面向風(fēng)景,則軟件地址方法如圖7(a)所示的形式。如果顯示裝置360要用于面向肖象,則軟件地址方法如圖7d所示的形式。物理地址確定在顯示裝置360上的象素位置。物理地址方法是固定的,與顯示裝置360的定向無關(guān),如圖7(a)和圖7(b)所示。因?yàn)閷τ趫D7(b)所示的旋轉(zhuǎn)情況,物理地址方法和圖7d所示的軟件地址方法不同,對于旋轉(zhuǎn)的情況,軟件地址和物理地址之間的地址轉(zhuǎn)換是不需要的。下面更詳細(xì)地討論圖7(a),7(b)和7d之間的關(guān)系。
圖4是圖形系統(tǒng)370的方塊圖,其中包括圖象緩沖存儲器410,地址轉(zhuǎn)換系統(tǒng)420和圖形控制器430。
圖象緩沖存儲器410存儲定義要在顯示裝置360上顯示的圖象的位圖矩陣。位圖矩陣包括位的序列,每個(gè)序列定義象素信息,包括象素位置、顏色、分辨率對比度等。根據(jù)位圖矩陣的結(jié)構(gòu),可以把圖象排列成面向風(fēng)景或面向肖象顯示。
圖象緩沖存儲器410接收來自CPU310的總線320的數(shù)據(jù)線440上的象素信息數(shù)據(jù)和來自圖形控制器430的地址線470上的存儲器地址。接收的存儲器地址確定在圖象緩沖存儲器410中的單元,該單元要寫入線440上的數(shù)據(jù)或在線440上的數(shù)據(jù)要被讀出。圖象緩沖存儲器410最好是固態(tài)的RAM(SRAM)器件,因?yàn)镾RAM由統(tǒng)一的地址訪問,因此避免可能的如使用快頁(FP)動態(tài)RAM(DRAM)時(shí)發(fā)現(xiàn)的頁斷開無效。不過,只要DRAM頁斷開被管理,則可以選擇地使用FP型或其它類似型的DRAM。
地址轉(zhuǎn)換系統(tǒng)420接收來自CPU310的總線320的地址線450上的地址(由軟件應(yīng)用程序產(chǎn)生),用于進(jìn)行讀寫操作。當(dāng)進(jìn)行寫操作時(shí),根據(jù)顯示器360的定向,地址轉(zhuǎn)換系統(tǒng)420或者通過接收的“原樣的”地址相應(yīng)于面向風(fēng)景的顯示裝置360的地址,或者通過該地址轉(zhuǎn)換為相應(yīng)于面向肖象的顯示裝置360上的象素位置的地址。該地址在線460上被送到圖形控制器430。該地址被稱為“邏輯地址”,并確定用于存儲在數(shù)據(jù)線440上被驅(qū)動的象素?cái)?shù)據(jù)的圖象緩沖存儲器410的單元。
圖形控制器430控制圖象緩沖存儲器410和顯示裝置360。更詳細(xì)地說,圖形控制器430接收線460上的來自地址轉(zhuǎn)換系統(tǒng)420的邏輯地址,并在線470上向圖象緩沖存儲器410發(fā)出邏輯地址。根據(jù)收到的寫操作地址,圖象緩沖存儲器410儲存在從CPU310到由該接收邏輯地址指定的單元的線440上傳送的數(shù)據(jù)。根據(jù)收到的讀操作地址,圖象緩沖存儲器410在線440上向CPU310輸出數(shù)據(jù)。
因?yàn)樵趫D象信息或數(shù)據(jù)被在圖象緩沖存儲器410內(nèi)存儲之前進(jìn)行地址轉(zhuǎn)換,圖象緩沖存儲器410位圖矩陣確定圖象在顯示裝置360上將被顯示的方向。如果數(shù)據(jù)未經(jīng)轉(zhuǎn)換便被存儲在圖象緩沖存儲器410中,則面向風(fēng)景的顯示裝置360將顯示面向風(fēng)景的圖象。然而,如果使用轉(zhuǎn)換的地址把數(shù)據(jù)存儲在圖象緩沖存儲器410中,則面向肖象但風(fēng)景配置的顯示裝置360將顯示面向肖象的圖象。
圖形控制器430也進(jìn)行顯示裝置360的刷新地址產(chǎn)生,這可按常規(guī)方式實(shí)現(xiàn)。圖形控制器430向圖象緩沖存儲器410在線470上輸出刷新地址,以便檢索線480上的相應(yīng)的象素信息,并在信號總線490上把刷新地址和象素信息送到顯示裝置360。因而,顯示裝置360刷新象素。
圖5是地址轉(zhuǎn)換系統(tǒng)420的方塊圖,它包括多路轉(zhuǎn)換器510、地址轉(zhuǎn)換電路520、和配置寄存器530。
配置寄存器530存儲顯示裝置360的配置信息,例如屏幕尺寸和顯示器定向。屏幕尺寸用象素指定顯示寬度(Wd)和顯示高度(Hd)。顯示定向指定顯示裝置360是否處于面向風(fēng)景,如圖1(b)所示,或處于面向肖象,如圖2(b)所示。CPU310檢索配置信息,其中包括來自由原始設(shè)備制造者(OEMS)設(shè)定的雙列直插組件(DIP)開關(guān)、撥動式開關(guān)或其它裝置的顯示定向的信息,并把它們存儲在配置寄存器530中。另外,CPU310可以使尺寸的順序反向,以便存儲每行240個(gè)象素每列320個(gè)象素。顯示裝置360仍然是風(fēng)景配置的,但是顯示定向信號可由存儲的尺寸的順序確定。
例如,顯示裝置360可以配置成每行320個(gè)象素,每列240個(gè)象素,用于面向肖象。這信息可被存儲在顯示裝置360上的常規(guī)的DIP開關(guān)中。這樣,CPU310檢索來自DIP開關(guān)的信息并在配置寄存器530中存儲表示每行320個(gè)象素每列240個(gè)象素的尺寸和表示面向肖象的信號的信息。
地址轉(zhuǎn)換電路520把面向肖象的軟件地址轉(zhuǎn)換成面向肖象但風(fēng)景配置顯示裝置360的物理地址。即地址轉(zhuǎn)換電路520接收來自CPU310的在線450上的軟件地址并重排地址位,從而確定逆時(shí)針旋轉(zhuǎn)90度時(shí)在面向肖象顯示裝置360上象素位置的新地址。雖然顯示裝置360可以順時(shí)針旋轉(zhuǎn)90度,但是逆時(shí)針旋轉(zhuǎn)提供比較容易的一般情況的轉(zhuǎn)換函數(shù)。
從面向肖象的軟件地址空間向面向肖象的而風(fēng)景配置的顯示裝置地址空間的轉(zhuǎn)換根據(jù)以下函數(shù)
2L=Hd;或L=ln(Hd)/ln2,其中Hd是如圖1(b)所示的面向風(fēng)景的顯示裝置360的象素的高度,L代表要被重排為最高有效物理地址位的最低有效軟件地址位的位數(shù)。該轉(zhuǎn)換還根據(jù)函數(shù)2M=Wd;或M=ln(Wd)/ln2其中Wd是用象素表示的面向風(fēng)景的顯示裝置360的寬度。M代表被重排并反向(補(bǔ)碼)為最低有效物理地址位的最高有效軟件地址位的數(shù)量。L+M是確定軟件和物理地址的地址位的總數(shù)。
地址轉(zhuǎn)換電路520把在線540上新轉(zhuǎn)換的地址送到MUX510的一個(gè)輸入,并且來自CPU310的在線450上的軟件地址在MUX510的第二輸入端被接收。根據(jù)在線550上接收的來自配置寄存器530的確定顯示裝置360的定向的控制信號,MUX510選擇其兩個(gè)輸入地址中的一個(gè),并作為邏輯地址在地址線460上將其送到圖形控制器430(圖4)。
圖6是圖形控制器430的方塊圖,其中包括MUX610、刷新邏輯620、和存儲器地址仲裁器630。MUX610接收來自刷新邏輯620的線640上的刷新地址信號和來自轉(zhuǎn)換系統(tǒng)420的線460上的邏輯地址。刷新邏輯620可以使用常規(guī)的刷新地址產(chǎn)生技術(shù)產(chǎn)生相應(yīng)于在顯示裝置360上的象素位置的刷新地址。
根據(jù)從存儲器地址仲裁器630收到的控制信號,MUX610選擇來自線640的刷新信號或來自線460的邏輯地址,并在線470上把其傳遞到圖象緩沖存儲器410。仲裁器630使用優(yōu)先權(quán)和時(shí)間管理方法確定送出哪一個(gè)控制信號。例如,仲裁器630可以給刷新地址優(yōu)先權(quán),并啟動流水線刷新地址用于多個(gè)象素刷新。當(dāng)一邏輯地址被選擇并作為存儲器地址在線470上被送到圖象緩沖存儲器410(圖4)時(shí),來自CPU310的在線440上的數(shù)據(jù)被寫入由邏輯地址確定的圖象緩沖存儲器410的單元。當(dāng)一個(gè)刷新地址被選擇并作為存儲器地址在線470上被送到圖象緩沖存儲器410時(shí),圖象緩沖存儲器410在線480上向圖形控制器430輸出相應(yīng)的象素信息或數(shù)據(jù),圖形控制器430在線490上向顯示裝置360傳遞刷新地址和象素信息。
這樣,CPU310以相同的方式從圖象緩沖存儲器410讀信息和向它寫入象素信息或數(shù)據(jù),而不管顯示器360的定向。不需要軟件轉(zhuǎn)換程序。
圖7(a)…7(e)說明面向肖象軟件地址向面向肖象物理地址的轉(zhuǎn)換功能。更詳細(xì)地說,圖7(a)是一個(gè)表,說明代表面向風(fēng)景圖象的軟件地址并且還代表面向風(fēng)景顯示裝置360的物理地址的面向風(fēng)景的4乘8地址矩陣。面向風(fēng)景的軟件和物理地址方法最好在左上角地址“0”處開始,并跨過第一行8個(gè)地址而繼續(xù),并向下連續(xù)掃描4行。因?yàn)檐浖刂泛臀锢淼刂废嗤恍枰浖刂废蛭锢淼刂返霓D(zhuǎn)換。
然而,如果顯示裝置360被反時(shí)針旋轉(zhuǎn)90度,并且在配置寄存器530(圖5)中存儲有合適的配置信息,則用于顯示裝置的物理地址矩陣如圖7(b)所示?,F(xiàn)在,用于圖7(b)中的旋轉(zhuǎn)的顯示裝置360的物理地址矩陣在左下角地址“0”處開始,并通過第一列的8個(gè)地址繼續(xù)向上,并連續(xù)向右掃描4列。圖7(c)是圖7(b)的二進(jìn)制形式的等效說明的表。因?yàn)樵趫D7(a)中有32個(gè)地址,因此在圖7(c)中每個(gè)地址由5個(gè)二進(jìn)制位確定。
因?yàn)槲锢盹@示裝置360已經(jīng)被反時(shí)針旋轉(zhuǎn)了90度,CPU310使用如圖7d所示的確定面向肖象的地址方法的新的軟件地址矩陣。因而,新的軟件地址方法在左上角的地址“0”處開始,并跨過4列地址的第一行繼續(xù),并連續(xù)向下掃描8行。然而,圖7d所示的新的軟件地址矩陣和圖7(b)所示的物理地址矩陣不同,因而需要轉(zhuǎn)換。
圖7(e)是用于比較圖7d的面向肖象軟件地址矩陣和圖7(c)所示的物理二進(jìn)制地址的表。把上述圖5的地址轉(zhuǎn)換函數(shù)應(yīng)用于圖7(a)--圖7e的例子給出,L=ln4/ln2=2,和M=ln8/ln2=3.這樣,本發(fā)明把軟件地址中的兩個(gè)最低有效位A1和A0轉(zhuǎn)換為物理地址中的兩個(gè)最高有效位。本發(fā)明還使3個(gè)最高有效地址位A4,A3和A2反向,然后傳遞到3個(gè)最低有效物理地址位。轉(zhuǎn)換函數(shù)把軟件地址重排為A1,A0,A4,A3,A2,從而產(chǎn)生邏輯的并且因而也是物理的地址。
當(dāng)顯示裝置360的尺寸不是2N個(gè)象素的的數(shù)量級時(shí),因?yàn)檫@時(shí)顯示裝置360將沒有可被M+L個(gè)地址行訪問的所有存儲器空間的相應(yīng)位置,系統(tǒng)300將進(jìn)行位置修正。為了保證產(chǎn)生的所有邏輯地址都可以被映射到顯示裝置360上的位置,位置修正可以用常規(guī)方式由軟件或驅(qū)動程序進(jìn)行處理。這些位置修正可被存儲在配置寄存器530(圖5)中,由OEM設(shè)置的開關(guān)中或另外的存儲裝置中。
例如,一般面向風(fēng)景的顯示裝置被設(shè)計(jì)成每行320個(gè)象素,每列240個(gè)象素。不論320或240都不等于2的整數(shù)冪,因此需要位置修正。首先地址轉(zhuǎn)換電路520根據(jù)最接近的使用2的整數(shù)冪的數(shù)量級的較大的地址空間例如512乘以256進(jìn)行設(shè)計(jì)。根據(jù)這一較大的地址空間確定位置修正。即可利用的存儲器空間的192個(gè)面向風(fēng)景的最右列和16個(gè)面向風(fēng)景的最低行不能被映射到顯示裝置360上的位置。這些位置修正被存儲并被用于禁止對這些區(qū)域映射邏輯地址。當(dāng)顯示裝置360逆時(shí)針旋轉(zhuǎn)90度成為面向肖象時(shí),可利用的存儲器空間的最上的192行和最右的16列是不能映射的。
為避免位置修正計(jì)算,顯示裝置360可被設(shè)計(jì)成具有等于2的整數(shù)冪的象素尺度。
圖8說明被設(shè)計(jì)用于一般情況的地址矩陣的轉(zhuǎn)換電路520。按照參照圖5所述的轉(zhuǎn)換函數(shù),L是要重排成最高有效物理地址位的最低有效軟件地址位的位數(shù),M是要反向并重排為最低有效物理地址位的最高有效軟件地址位的位數(shù),M+L是確定軟件地址或物理地址的地址位的總數(shù)。因此,最高有效軟件地址A(M+L-1)到A(L)被求反并映射為存儲器地址位置MA(M-1)到MA0。最低有效軟件地址A(L- 1)到A0被映射為存儲器地址位置MA(M+L-1)到MA(M)。此外,圖8說明用于基于軟件地址的物理地址的函數(shù),即后面跟著A(M+ L-1)……A(L)的A(L-1)……A0。
圖9是說明用于映射軟件地址成為物理顯示裝置360地址的最佳方法900的流程圖。方法900在步驟910開始,CPU310檢索顯示裝置360的配置信息,包括顯示裝置360的尺寸和定向。在步驟920,軟件應(yīng)用程序根據(jù)象素?cái)?shù)據(jù)和檢索的配置信息產(chǎn)生軟件地址。如果配置信息確定面向風(fēng)景的顯示裝置360,則軟件應(yīng)用程序采用如圖7(a)所示的面向風(fēng)景軟件地址方法。如果配置信息確定面向肖象的顯示裝置360,則軟件應(yīng)用程序采用如圖7d所示的面向肖象軟件地址方法。
在步驟930,CPU310在數(shù)據(jù)總線440上輸出象素?cái)?shù)據(jù),在地址總線450上輸出軟件地址。軟件地址被地址轉(zhuǎn)換系統(tǒng)420接收,在步驟940確定是否需要變換。如果配置信息表示顯示裝置360是面向風(fēng)景的,則不需要地址轉(zhuǎn)換。否則,則需要地址轉(zhuǎn)換,在這種情況下,按照上面參照圖5所述的函數(shù)進(jìn)行地址轉(zhuǎn)換。如果顯示已被逆時(shí)針旋轉(zhuǎn)90度,地址轉(zhuǎn)換系統(tǒng)420產(chǎn)生邏輯地址,它或者是“原樣的”軟件地址,或者是被轉(zhuǎn)換以確定象素位置的地址。
在步驟940中,邏輯地址在線460上被送到圖形控制器430,它在步驟950把邏輯地址作為存儲器地址在線470上送到圖象緩沖存儲器410。收到緩沖器地址后,在步驟960,圖象緩沖存儲器410在確定的存儲單元中存儲數(shù)據(jù)線440上的象素?cái)?shù)據(jù)。方法900到此結(jié)束。
圖10是說明在顯示器360上刷新象素的最佳方法1000的流程圖。方法1000在步驟1010開始,圖形控制器430用常規(guī)方法產(chǎn)生刷新地址。在步1020,MUX610選擇刷新地址,并把它作為存儲器地址在線470上送到圖象緩沖存儲器410。在步驟1030收到存儲器地址后,圖象緩沖存儲器410從其確定的單元中在線480上向圖形控制器430輸出象素?cái)?shù)據(jù)。在步1040,圖形控制器430通過總線490向顯示裝置360送出刷新地址和檢索的象素?cái)?shù)據(jù),對該單元進(jìn)行刷新。方法1000到此結(jié)束。
系統(tǒng)300方便地把面向肖象的軟件地址轉(zhuǎn)換為用于面向肖象的但風(fēng)景結(jié)構(gòu)的顯示裝置360的物理地址。首先因?yàn)檗D(zhuǎn)換以硬件進(jìn)行,不需要效率低的軟件轉(zhuǎn)換應(yīng)用程序。其次,轉(zhuǎn)換在象素?cái)?shù)據(jù)被存儲進(jìn)圖象緩沖存儲器410之前進(jìn)行,所以不需要為刷新而進(jìn)行連續(xù)地轉(zhuǎn)換。第三,因?yàn)檗D(zhuǎn)換在硬件CPU310中進(jìn)行,所以可以以相同的方式訪問存儲器而不管顯示裝置360的方向。
本發(fā)明的上述的最佳實(shí)施例只是作為例子而已,可以由本發(fā)明提供系統(tǒng)300的各種變形。例如,雖然顯示裝置360以按風(fēng)景配置進(jìn)行說明,但是顯示裝置360可以是另一種肖象配置的但變換函數(shù)相反。第二,雖然顯示裝置360被逆時(shí)針旋轉(zhuǎn),但是也可以順時(shí)針旋轉(zhuǎn)并實(shí)現(xiàn)互補(bǔ)的地址轉(zhuǎn)換函數(shù)功能。第三,系統(tǒng)300以微處理器或多線程環(huán)境實(shí)現(xiàn),第四,雖然圖象緩沖存儲器410以和存儲器330分開的存儲器方塊進(jìn)行說明,但是系統(tǒng)300可以用一個(gè)存儲器結(jié)構(gòu)實(shí)現(xiàn)。第五,本發(fā)明可以利用掃描輸出裝置而不利用顯示裝置,例如利用激光打印機(jī)。
這里說明的實(shí)施例只是為了說明的目的,而不是用于限制本發(fā)明,根據(jù)上面的教導(dǎo)可以有許多改型。系統(tǒng)300只被下述的權(quán)利要求限制。
權(quán)利要求
1.一種圖形系統(tǒng),包括第一輸入端,用于連續(xù)地接收代表在屏幕上呈行列形式的圖象元素的圖象數(shù)據(jù)信號;第二輸入端,用于連續(xù)地接收識別相應(yīng)的圖象數(shù)據(jù)信號的行和列的圖象象素地址信號;地址轉(zhuǎn)換系統(tǒng),用于接收所述圖象象素地址信號,并把其轉(zhuǎn)換成連續(xù)地識別代表在屏幕上呈行列形式的圖象元素的圖象數(shù)據(jù)信號的相應(yīng)的象素?cái)?shù)據(jù)信號的列和行的邏輯地址信號;圖象緩沖存儲器,用于接收所述的圖象象素?cái)?shù)據(jù)信號,并將其存儲在由相應(yīng)的邏輯地址信號識別的列和行中;以及顯示裝置,用于接收來自圖象緩沖存儲器的所述圖象象素?cái)?shù)據(jù)信號,并按由相應(yīng)的邏輯地址信號識別的列和行顯示所述圖象象素?cái)?shù)據(jù)。
2.如權(quán)利要求1所述的圖形系統(tǒng),還包括連接在地址轉(zhuǎn)換系統(tǒng)和圖象緩沖存儲器之間的圖形控制器,用于控制圖象緩沖存儲器的尋址。
3.如權(quán)利要求2所述的圖形系統(tǒng),其中所述的圖形控制器還包括刷新邏輯裝置,用于產(chǎn)生屏幕刷新地址信號。
4.如權(quán)利要求3所述的圖形系統(tǒng),其中圖形控制器還包括多路轉(zhuǎn)換器,用于接收所述的邏輯地址信號和所述的刷新地址信號,并響應(yīng)一個(gè)選擇信號選擇所述地址信號的其中之一,并將其作為存儲器地址信號送到所述緩沖存儲器,以及存儲地址仲裁器,用于產(chǎn)生所述選擇信號;以及其中所述緩沖存儲器在由相應(yīng)的存儲器地址信號識別的列和行中存儲所述圖象象素?cái)?shù)據(jù)信號。
5.如權(quán)利要求1所述的圖形系統(tǒng),還包括地址轉(zhuǎn)換電路,用于接收所述圖象象素地址信號,并將其轉(zhuǎn)換成轉(zhuǎn)換的地址信號;以及邏輯地址選擇器,其中包括多路轉(zhuǎn)換器,用于接收所述圖象象素地址信號和所述轉(zhuǎn)換的地址信號。
6.如權(quán)利要求5所述的圖形系統(tǒng),其中邏輯地址選擇器還接收一個(gè)選擇信號,并且其中邏輯地址選擇器響應(yīng)所述選擇信號,選擇一個(gè)所述地址信號并將其送到圖象緩沖存儲器中。
7.一種圖形系統(tǒng),具有面向風(fēng)景的風(fēng)景配置的顯示器,其以象素行表示的高度為(Hd),寬度為(Wd),用于旋轉(zhuǎn)圖象,所述圖形系統(tǒng)包括輸入端,用于接收軟件地址和相應(yīng)的象素?cái)?shù)據(jù);一個(gè)地址轉(zhuǎn)換系統(tǒng),它包括(i)配置寄存器,用于存儲代表顯示器定向的標(biāo)記;(ii)信號線,用于當(dāng)所述標(biāo)記表示面向風(fēng)景時(shí)把軟件地址轉(zhuǎn)換為邏輯地址;以及(iii)轉(zhuǎn)換電路,用于當(dāng)所述標(biāo)記表示面向肖象時(shí),按照函數(shù)L=ln(Hd)/ln2和M=ln(Wd)/ln2把軟件地址轉(zhuǎn)換成邏輯地址,其中L確定在軟件地址中要被復(fù)制為轉(zhuǎn)換的邏輯地址中的最高有效位的最低有效位數(shù),M確定在軟件地址中要被反向的并被復(fù)制為在轉(zhuǎn)換邏輯地址中的最低有效位的最高有效位數(shù);刷新地址產(chǎn)生電路,用于產(chǎn)生刷新地址;仲裁電路,用于選擇刷新地址和邏輯地址的其中之一作為選擇的地址;以及圖象存儲器,用于在相應(yīng)的選擇地址存儲象素?cái)?shù)據(jù)。
8.一種用于轉(zhuǎn)換地址以便重排圖象進(jìn)行顯示的系統(tǒng),包括中央處理單元,用于產(chǎn)生象素?cái)?shù)據(jù)信號,所述象素?cái)?shù)據(jù)信號隱含有各自的軟件地址,包括軟件行地址部分和軟件列地址部分;地址轉(zhuǎn)換電路,用于產(chǎn)生轉(zhuǎn)換的地址,該地址具有相應(yīng)于軟件列地址部分的轉(zhuǎn)換的行地址部分,并具有相應(yīng)于軟件行地址部分的轉(zhuǎn)換的列地址部分;以及輸出裝置,用于顯示在該轉(zhuǎn)換的地址中的圖象象素。
9.如權(quán)利要求8所述的系統(tǒng),其中所述軟件地址以肖象配置方式排列所述數(shù)據(jù)信號,所述轉(zhuǎn)換的地址以風(fēng)景配置方式排列所述數(shù)據(jù)信號,從而形成所述圖象。
10.如權(quán)利要求8所述的系統(tǒng),其中所述輸出裝置具有以象素表示的第一定向高度(Hd)和寬度(Wd),并且所述地址轉(zhuǎn)換電路按照函數(shù)L=ln(Hd)/ln2和M=ln(Wd)/ln2轉(zhuǎn)換軟件地址,其中L確定在軟件地址中要被復(fù)制為轉(zhuǎn)換的地址中的最高有效位的最低有效位數(shù),M確定在軟件地址中要被反向的并被復(fù)制為在轉(zhuǎn)換地址中的最低有效位的最高有效位數(shù)。
11.如權(quán)利要求8所述的系統(tǒng),其中所述的輸出裝置包括LCD顯示器。
12.如權(quán)利要求8所述的系統(tǒng),其中所述的輸出裝置包括打印機(jī)。
13.一種系統(tǒng),具有第一定向配置的顯示器,其以象素行表示的高度為(Hd),寬度為(Wd),用于旋轉(zhuǎn)第二定向的圖象成為所述第一定向的圖象,所述系統(tǒng)包括中央處理單元,用于產(chǎn)生要在顯示器上顯示的連續(xù)的象素?cái)?shù)據(jù)信號,該信號隱含有各自的軟件地址;地址轉(zhuǎn)換電路,用于復(fù)制軟件地址的L個(gè)最低有效地址位成為轉(zhuǎn)換的邏輯地址的L個(gè)最高有效地址位,其中L=ln(Hd.)/ln2,并把軟件地址的M個(gè)最高有效地址位反向,然后將其復(fù)制成邏輯地址的M個(gè)最低有效地址位,其中M=ln(Wd)/ln2;以及存儲器,用于在由顯示裝置使用的各個(gè)邏輯地址中存儲象素?cái)?shù)據(jù)信號。
14.如權(quán)利要求13所述的系統(tǒng),其中顯示裝置是液晶顯示器。
15.如權(quán)利要求13所述的系統(tǒng),其中地址轉(zhuǎn)換系統(tǒng)還包括旁路線,用于把未經(jīng)轉(zhuǎn)換的第一定向軟件地址作為邏輯地址送到存儲器。
16.如權(quán)利要求15所述的系統(tǒng),還包括配置寄存器,用于存儲代表顯示器定向的值;以及其中旁路線包括多路轉(zhuǎn)換器,用于接收軟件地址和轉(zhuǎn)換的邏輯地址,并且當(dāng)顯示的定向是第一定向時(shí),把軟件地址作為邏輯地址送到存儲器中,當(dāng)顯示的定向是第二定向時(shí),把轉(zhuǎn)換的地址作為邏輯地址送到存儲器中。
17.如權(quán)利要求13所述的系統(tǒng),還包括和存儲器相連的圖形控制器,用于刷新顯示器。
18.如權(quán)利要求17所述的系統(tǒng),其中圖形控制器產(chǎn)生刷新地址,檢索來自由刷新地址確定的存儲器單元中的象素信息,并把象素信息和刷新地址送到顯示器。
19.一種系統(tǒng),具有第一定向配置的顯示器,其以象素行表示的高度為(Hd),寬度為(Wd),用于旋轉(zhuǎn)第二定向的圖象成為所述第一定向的圖象,所述系統(tǒng)包括中央處理單元,用于產(chǎn)生軟件地址信號和相應(yīng)的象素?cái)?shù)據(jù)信號;寄存器,用于存儲表示顯示定向是第一定向或第二定向的值;地址轉(zhuǎn)換系統(tǒng),它還包括用于當(dāng)定向信號表示第一定向時(shí),把軟件地址信號作為邏輯地址信號傳送的線;以及轉(zhuǎn)換電路,用于當(dāng)定向信號表示第二定向時(shí)按照函數(shù)L=ln(Hd)/ln2和M=ln(Wd)/ln2轉(zhuǎn)換軟件地址作為邏輯地址,其中L確定在軟件地址中要被轉(zhuǎn)換為轉(zhuǎn)換的邏輯地址中的最高有效位的最低有效位數(shù),M確定在軟件地址中要被反向的并被轉(zhuǎn)換為在轉(zhuǎn)換的邏輯地址中的最低有效位的最高有效位數(shù);以及存儲器,用于在由邏輯地址確定的單元中存儲象素?cái)?shù)據(jù)。
20.一種用于控制由象素?cái)?shù)據(jù)信號表示的圖象定向的方法,包括下列步驟接收構(gòu)成具有第一定向的圖象的象素?cái)?shù)據(jù)信號的輸入流;接收表示圖象的定向是否要被旋轉(zhuǎn)的方向選擇數(shù)據(jù);如果定向選擇數(shù)據(jù)表示圖象不被旋轉(zhuǎn),則以連續(xù)的順序把象素?cái)?shù)據(jù)信號寫在緩沖器的地址單元中;如果定向選擇數(shù)據(jù)表示圖象要被旋轉(zhuǎn),則以旋轉(zhuǎn)的順序把圖象數(shù)據(jù)信號寫在所述存儲器的地址單元中;以及把來自所述存儲器的連續(xù)順序地址單元的象素?cái)?shù)據(jù)信號復(fù)制到掃描輸出裝置。
21.如權(quán)利要求20所述的方法,其中所述在所述緩沖存儲器的單元以行和列被組織,所述連續(xù)順序的地址是在所述存儲器的列的單元的地址,在所述旋轉(zhuǎn)順序的地址是在所述存儲器中的行中的單元的地址。
22.一種用于把具有象素高度(Hd)和象素寬度(Wd)第一定向的圖形顯示旋轉(zhuǎn)為第二定向的方法,包括下列步驟檢索表示顯示定向的配置信息;產(chǎn)生代表在顯示器上的圖象位置的軟件地址并產(chǎn)生相應(yīng)的圖象數(shù)據(jù);當(dāng)顯示定向表示第一定向時(shí),傳送作為邏輯地址的軟件地址;當(dāng)顯示定向表示第二定向時(shí),按照函數(shù)L=ln(Hd)/ln2和M=ln(Wd)/ln2轉(zhuǎn)換軟件地址,其中L代表要被復(fù)制為最高有效位邏輯地址的最低有效軟件地址位數(shù),M確定要被反向的并被復(fù)制為最低有效邏輯地址位的最高有效軟件地址位數(shù);并傳遞轉(zhuǎn)換地址為邏輯地址;在由邏輯地址確定的存儲器單元中存儲象素?cái)?shù)據(jù);以及顯示存儲的數(shù)據(jù)。
23.如權(quán)利要求22所述的用于旋轉(zhuǎn)圖形顯示的方法,其中所述第一定向是面向風(fēng)景,第二定向是面向肖象。
24.一種用于控制由象素?cái)?shù)據(jù)信號表示的圖象定向的系統(tǒng),包括用于接收構(gòu)成具有第一定向的圖象的圖象數(shù)據(jù)信號的輸入流的裝置;用于接收表示圖象的定向是否要被旋轉(zhuǎn)的定向選擇數(shù)據(jù)的裝置;用于如果定向選擇數(shù)據(jù)表示圖象不被旋轉(zhuǎn),則以連續(xù)的順序把象素?cái)?shù)據(jù)信號寫在緩沖器的地址單元中的裝置;如果定向選擇數(shù)據(jù)表示圖象要被旋轉(zhuǎn),則以旋轉(zhuǎn)的順序把圖象數(shù)據(jù)信號寫在所述存儲器的地址單元中的裝置;以及用于把來自所述存儲器的連續(xù)順序地址單元的象素?cái)?shù)據(jù)信號復(fù)制到掃描輸出裝置的裝置。
25.如權(quán)利要求24所述的系統(tǒng),其中所述在所述緩沖存儲器的單元以行和列被組織,所述連續(xù)順序的地址是在所述存儲器的列中的單元的地址,在所述旋轉(zhuǎn)順序中的地址是在所述存儲器中的行中的單元的地址。
全文摘要
一種用于把面向肖像的軟件地址轉(zhuǎn)換為面向肖像但風(fēng)景結(jié)構(gòu)顯示的地址的系統(tǒng)。該系統(tǒng)包括中央處理單元(CPU),顯示裝置和地址轉(zhuǎn)換系統(tǒng)。CPU產(chǎn)生軟件地址。根據(jù)顯示裝置的定向,地址轉(zhuǎn)換系統(tǒng)或者把軟件地址原樣輸出,或者轉(zhuǎn)換所述地址以便表示面向肖象的顯示地址。地址轉(zhuǎn)換系統(tǒng)按照函數(shù)L=ln(Hd)/ln2和M=ln(Wd)/ln2轉(zhuǎn)換,其中Hd是面向風(fēng)景顯示裝置的象素高度,Wd是面向風(fēng)景顯示裝置的象素寬度。L代表要被轉(zhuǎn)換為最高有效物理地址位的最低有效軟件地址位數(shù),M表示被反向的并被轉(zhuǎn)換為最低有效物理地址位的最高有效軟件地址數(shù)。結(jié)果地址代表對于面向肖象已被逆時(shí)針旋轉(zhuǎn)90度的在顯示裝置上的象素位置。
文檔編號G09G5/00GK1178591SQ97190056
公開日1998年4月8日 申請日期1997年1月17日 優(yōu)先權(quán)日1996年2月5日
發(fā)明者C·布雷特 申請人:精工愛普生株式會社