專利名稱:能夠將圖象旋轉180度的顯示設備和方法
本申請是共同未決美國專利申請No.09/036,482的后續申請,該專利申請是1998年3月6日提交的,是美國專利申請No.08/596,953的分案申請,美國專利申請No.08/596,953是1996年2月5日申請的,已作為美國專利No.5,734,857授權給“旋轉肖像取向顯示器的圖象的硬件”,在此援引作為參考。
本發明總的來說涉及圖象處理,尤其涉及旋轉圖象的硬件系統和方法。
計算機系統按照位映象格式存儲圖象。位映象的排列應使顯示控制器能夠讀出對應于圖象象素的位序列,并將該序列傳送給顯示器進行象素再現。顯示控制器對后續象素重復這一過程,直到整個圖象被顯示為止。
位映象的排列確定了圖象的尺寸和圖象的取向,即肖像還是風景。如果一圖象的高大于寬,它就是肖像取向的,而如果其寬大于高,就是風景取向的。
圖1(a)表示風景取向的圖象位映象。該圖象的寬(W1)大于高(H1)。圖2(a)表示肖像取向的圖象位映象,H1大于W1。圖1(a)和圖2(a)中的箭頭表示通常把象素值存儲到位映象存儲器的軟件尋址模式。
為了使顯示的占空因素最大,即使某一掃描行的相繼刷新周期之間的時間最短,顯示設備、例如陰極射線管(CRT)或液晶顯示器(LCD)通常都是按風景模式構造的。就是說,這些顯示設備具有按照風景取向的模式刷新象素的物理地址構造。由圖1(b)的箭頭可見,普通風景取向顯示器的刷新操作從左上角開始,向右刷新第一行和向下刷新余下各行。
對于某些計算機系統或應用,需要肖像取向的顯示。在這樣的系統中,CRT或LCD將在物理上被旋轉90度。圖2(b)的箭頭表示出,對于物理上被旋轉的顯示器,刷新地址構造仍然是風景取向的從原始象素位置開始(被逆時針旋轉90度至現在的左下角),按同樣順序繼續下去。
圖1(a)所示的軟件尋址模式與圖1(b)所示的物理地址模式相同,所以不需要執行風景取向軟件地址至風景取向物理地址的變換。然而,圖2(a)所示軟件尋址模式與圖2(b)所示物理地址模式不同。于是需要把肖像取向的圖象地址變換為肖像取向按風景模式構造的顯示器的物理地址。
已有顯示系統利用程序或專用驅動器將軟件地址變換為物理地址來將圖象旋轉90度。當命令普通旋轉程序描繪位映象序列時,程序將首先執行軟件變換操作來確定旋轉90度后新的象素坐標,然后利用這些被變換坐標執行描繪操作。在某些具體描繪操作中,可能需要附加的軟件來把旋轉描繪作為“特殊情況”進行處理。例如,在旋轉圖形顯示器上描繪文本字符將需要按照旋轉取向方式而不是按照存儲字體數據的正常字節未旋轉取向方式從字體存儲器中檢索位映象字體象素。這樣一來,對于僅一行的一給定字符就可能需要若干個額外存儲器周期來檢索這種旋轉位映象字體數據。一般來說,任何旋轉圖象的繪圖操作中大量的額外讀和變換操作將花費大量計算機處理資源和時間。這些問題隨著旋轉更大或更復雜的圖象而更加復雜。
在輸入信號變成表示預期圖象的鏡像形式時會引發外加的復雜性。這種外加的復雜性會在例如攝象機在電視會議環境中以普通水平方向的取向拍攝與會者并且還具有把視野向下偏轉至文件的透鏡的情形中出現。某些系統通過采用能夠顛倒其掃描的攝象機來解決這種反向。但是,這種做法顯著增大了成本。
我們提出了以低成本方式解決鏡像圖象問題、同時提高肖像-風景變換的靈活性的方法。上述父專利申請通過對用來指示由伴隨的象素數據表示的圖象象素的位置的輸入地址值進行變換來解決在肖像和風景取向之間進行變換的問題。地址值變換把肖像取向圖象的象素位置變換為刷新存儲單元的地址,該刷新存儲單元保持在風景刷新顯示設備上相應位置的數據。于是,如果該顯示設備雖然以風景模式掃描但以正確的肖像取向放置,則按照相應于該顯示設備掃描結構的順序掃描刷新存儲器來產生供顯示用的刷新數據將產生預期的圖象。
我們已認識到在取出存儲器的內容用于顯示時,通過顛倒提供給刷新存儲器的刷新地址的增進能夠增大這種取向調整的效果。具體來說,我們提供兩種行尋址模式和兩種列尋址模式。在一種列尋址模式中,一行內列地址的增進導致列地址的增大,而在另一列尋址模式中導致列地址的減小。同樣地,如果刷新地址產生器處于行向前模式,則行地址隨著相應顯示設備在其屏幕上逐行向前顯示而增大,但如果處于行向后模式,則地址就減小。
通過這樣有選擇地反向刷新地址的產生,顯示系統在攝象機處于肖像取向和處于風景取向時都能夠補償鏡像攝象機圖象。此外,通過顛倒刷新地址產生的行掃描及其列掃描,可將刷新地址變換電路所執行的從肖像至一種風景取向的沿某一方向的90度變換改變相反的90度來變換至其它風景取向。在刷新地址產生提供如此簡單的列和行掃描的顛倒能夠極大提高沿固定方向執行90度旋轉的更新地址變換電路的靈活性。還有,這兩種反轉都可在沒有90度旋轉電路時使用,由此提供例如某些已有攝象機所具有的通過旋轉180度來對在旋轉前難于進行取景的地方進行取景的效果。
以下參看附圖描述本發明,其中圖1(a)是說明風景取向軟件尋址模式的方框圖;圖1(b)是說明風景取向和風景模式構造的顯示器尋址方式的方框圖;圖2(a)是說明肖像取向軟件尋址模式的方框圖;圖2(b)是說明肖像取向但仍是風景式構造的顯示器尋址方式的方框圖;圖3是本發明旋轉肖像取向顯示器的圖象的計算機系統的方框圖;圖4是圖3的圖形系統的方框圖;圖5是圖4的變換系統的方框圖;圖6是圖4的圖形控制器的方框圖;圖7(a)是表示風景取向的4×8軟件地址矩陣的表;圖7(b)是表示顯示設備被逆時針旋轉90度時的物理地址矩陣的表;圖7(c)是表示圖7(b)表的二進制等同物的表;
圖7(d)是表示肖像取向軟件尋址矩陣的表;圖7(e)是比較圖7(c)的物理二進制地址和圖7(d)的肖像取向軟件地址矩陣的表;圖8是圖5的通用地址變換電路的示意圖;圖9是說明映射軟件地址為物理顯示設備地址的最佳方法的流程圖;圖10是說明刷新顯示設備上的象素的最佳方法的流程圖;圖11是說明在刷新存儲塊的刷新存儲器中分配給一給定顯示設備的位置的圖示;圖12是在實現本發明的思想的顯示系統中使用的刷新地址產生器的方框圖;圖13是當刷新地址產生器以列反向模式操作時由圖11的存儲器內容形成的顯示設備圖象的示意圖;圖14是當刷新地址產生器以行反向模式操作時由圖11的存儲器內容形成的顯示設備圖象的示意圖;圖15是當刷新地址產生器以行反向模式和列反向模式操作時由圖11的存儲器內容形成的顯示設備圖象的示意圖。
圖3中,本發明的旋轉及重新定向圖象的典型計算機系統300包括一中央處理單元(CPU)310,與處理器總線320連接,執行程序指令和諸如地址產生這樣的存儲器管理例程。系統300還包括存儲器330、外部設備340、操作系統350、與處理器總線320連接的圖形系統370以及與圖形系統370連接、實現本發明的思想的顯示設備360。
存儲器330包括隨機存取存儲器(RAM)、只讀存儲器(ROM)和輔助磁盤存儲器。它通常存儲各種數據、操作系統和供CPU 310執行的其它程序,還存儲執行這些程序的中間結果。外部設備340可包括打印機、軟盤驅動器、鍵盤等。顯示設備360、例如CRT或LCD通常按風景模式構造,向用戶顯示計算機產生的信息。本發明還可與其它類型的掃描輸出設備、例如激光打印機一起使用。風景模式構造的顯示設備按圖1(b)和圖2(b)所示的風景模式進行刷新。
圖形系統370控制顯示設備360的屏幕刷新和圖象再現例程。一旦接收到命令,圖形系統370就把肖像取向軟件地址變換為肖像取向但為風景模式構造的顯示設備360的物理地址。雖然顯示設備360被描述為是風景模式構造的,但顯示設備360也可以是肖像模式構造的,變換功能正好相反。根據本發明,系統370還對物理地址的產生排序,以便能垂直和/或水平地顛倒圖象。
軟件地址指定打算在顯示設備360上顯示的圖象上的位置。它可由任何軟件應用程序、例如Microsoft公司的Microsoft Word和A1dus公司的SuperPait產生。軟件地址方案依賴于顯示設備360的取向。就是說,如果顯示設備打算以風景取向方式使用,軟件地址方案就如圖7(a)所示。如果顯示設備360打算以肖像取向方式使用,軟件地址方案就如圖7(d)所示。物理地址規定從中取數據來刷新顯示的緩沖存儲器的存儲單元。物理地址方案與取向是肖像還是風景無關。因為在圖7(b)所示旋轉情況下的物理地址方案與圖7(d)所示的軟件地址方案不同,所以在旋轉情況下需要在軟件地址和物理地址之間進行地址映射。以下更詳細討論圖7(a)、7(b)和7(d)之間的關系。
此外,根據本發明,還可翻轉圖象來在顯示器上產生緩沖存儲器內容的鏡像圖象。將在討論了取向改變電路之后描述實現這種變換的電路。
圖4是圖形系統370的方框圖,它包括圖象緩沖存儲器410、地址變換系統420和圖形控制器430。
圖象緩沖存儲器410存儲確定將要在顯示設備360上被顯示的圖象的位映象矩陣。該位映象矩陣包括象素值序列。在位映象矩陣的結構的基礎上,可以對圖象進行風景取向或肖像取向的顯示。雖然圖象緩沖存儲器410被示為與存儲器330分開的一單獨存儲器方框,但系統300可利用統一的存儲器體系結構來實現。
圖象緩沖存儲器410通過總線320的數據線440從CPU 310接收象素數據和通過地址線470從圖形控制器430接收存儲器地址。接收的存儲器地址指定了圖象緩沖存儲器410中通過數據線440寫入或讀出數據的位置。由于SRAM用統一的地址進行存取,由此避免了使用快速頁面(FP)動態RAM(DRAM)可能遇到的低效率的分頁符,所以圖象緩沖存儲器410最好是靜態RAM(SRAM)設備。但是,只要對DRAM分頁符進行管理,也可以使用FP類型或其它類似類型的DRAM。
地址變換系統420通過總線320的地址線450從CPU 310接收(軟件應用程序產生的)地址,用于執行讀或寫操作。在執行寫操作時,在顯示設備360取向的基礎上,地址變換系統420或者傳送“原樣”接收地址以對應于風景取向的顯示設備360,或者傳送已被進行了變換的地址以對應于肖像取向顯示設備360上的象素位置。地址通過導線460傳送給圖形控制器430。該地址被稱為“邏輯”地址,指定了圖象緩沖器410中用來存儲在數據線440上被驅動的象素數據的存儲單元。
圖形控制器430控制圖象緩沖存儲器410和顯示設備360。具體來說,圖形控制器430通過導線460從地址變換系統420接收邏輯地址,通過導線470把該邏輯地址傳送給圖象緩沖存儲器410。一旦接收到用于寫操作的地址,圖象緩沖存儲器410就把來自CPU 310的通過導線440傳送的數據存儲在由該接收的邏輯地址指定的存儲單元內。一旦接收到用于讀操作的地址,圖象緩沖存儲器410就通過導線440把數據驅動至CPU 310。
由于在把圖象信息或數據存入圖象緩沖存儲器410之前執行了地址變換,所以圖象緩沖存儲器410內的位映象矩陣確定了圖象將在顯示設備360上進行顯示時的取向(進行了如下所述的反向操作之后)。如果數據未經變換存入圖象緩沖存儲器410,風景取向顯示設備360將顯示風景取向的圖象。但是,如果數據按照變換地址存入圖象緩沖存儲器410,則肖像取向但為風景模式構造的顯示設備360將顯示肖像取向圖象。
圖形控制器430還產生當其從存儲器410取數據來刷新顯示設備360的刷新地址產生時提供給該存儲器410的地址,這種地址的產生可用常規方式來實現。圖形控制器430通過導線470把該刷新地址傳送給圖象緩沖存儲器410,以通過導線480檢索相應的象素信息,通過信號總線490把該刷新地址和該象素信息傳送給顯示設備360。這樣一來,顯示設備360就刷新了顯示。如下所述,圖形控制器能夠根據本發明的思想以使被顯示圖象是存儲圖象的反向形式的方式產生那些地址。
圖5是地址變換系統420的方框圖,它包括多路復用器510、地址變換電路520和配置寄存器530。
配置寄存器530存儲顯示設備360的配置信息,例如屏幕尺寸和顯示取向。屏幕尺寸規定以象素為單位的顯示寬度(WD)和顯示高度(HD)。顯示取向規定顯示設備360是放置成圖1(b)所示的風景取向還是放置成圖2(b)所示的肖像取向。CPU 310從原始設備生產廠家(OEM)設置的雙列直插式封裝(DIP)開關、撥動開關或其它裝置中檢索包括顯示取向的配置信息,把該信息存儲在配置寄存器530內。或者,CPU 310可顛倒顯示屏幕的長寬,以便每行存儲240個象素而每列存儲320個象素。顯示設備360仍然是風景模式的構造,但可根據所存儲的顯示屏幕的長寬確定顯示取向信號。
例如,可把顯示設備360構造成每行顯示320個象素而每列顯示240個象素,并按照肖像取向放置。這種信息可存放在顯示設備360的普通DIP開關內。于是,CPU 310從該DIP開關檢索該信息,把表示每行320象素×每列240象素的尺寸和表示肖像取向的信號存儲在配置寄存器530內。
地址變換電路520把肖像取向軟件地址變換為肖像取向但為風景模式構造的顯示設備360的物理地址。就是說,地址變換電路520通過導線450從CPU 310接收軟件地址,重新排列這些地址位,以指定肖像取向顯示設備360被逆時針旋轉了90度之后其上的象素位置的新的象素地址。雖然也可順時針旋轉顯示設備360九十度并實現互補的地址變換功能,但逆時針旋轉是一種更一般的變換功能。
從肖像取向軟件地址空間到肖像取向但為風景模式構造的顯示設備360的地址空間的變換基于以下函數2L=HD或L=ln(HD)/ln2其中HD是圖1(b)所示風景取向顯示設備360的象素的高度。L表示要被重新排列成為最高有效物理地址位的最低有效軟件地址位的個數。
變換基于函數2M=WD或M=ln(WD)/ln2其中WD是風景取向顯示設備360的象素的寬度。M表示要被重新排列和反相(互補)成為最低有效物理地址位的最高有效軟件地址位的個數。M+L是規定軟件和物理地址的地址位的總個數。
地址變換電路520通過導線540把新的變換地址傳送給MUX 510的一個輸入端,來自CPU 310的在導線450上的軟件地址被MUX 510的第二個輸入端接收。在通過導線550從配置寄存器530接收的規定顯示設備360的取向的控制信號的基礎上,多路復用器510選擇其兩個輸入地址之一,并通過地址線460將該輸入地址作為邏輯地址傳送給圖形控制器430(圖4)。
圖6是圖形控制器430的方框圖,它包括MUX 610、刷新邏輯620和存儲器地址仲裁器630。MUX 610通過導線640從刷新邏輯620接收刷新地址信號,通過導線460從變換系統420接收邏輯地址。如下所述,刷新邏輯620可以采用本發明的思想來產生對應于顯示設備360上的象素位置的刷新地址。
在從存儲器地址仲裁器630接收的控制信號的基礎上,MUX 610選擇來自導線640的刷新信號或選擇來自導線460的邏輯地址,并通過導線470傳送給圖象緩沖存儲器410。仲裁器630使用優先級和時間管理方案來確定傳送哪一個控制信號。例如,仲裁器630可以給予刷新地址優先級,并為多象素刷新啟動流水線式的刷新地址。當邏輯地址被選定并被作為存儲器地址經由導線470傳送給圖象緩沖存儲器410(圖4)時,導線440上來自CPU 310的數據就被寫入由該邏輯地址指定的圖象緩沖存儲器410的存儲單元內。當刷新地址被選定并被作為存儲器地址經由導線470傳送給圖象緩沖存儲器410時,圖象緩沖存儲器410就通過導線480把相應的象素信息或數據傳送給圖形控制器430,圖形控制器430通過導線490把刷新地址和象素信息傳送給顯示設備360。
于是,不管顯示設備360的取向如何,CPU 310都按照相同的方式把象素信息或數據寫入圖象緩沖存儲器410和從圖象緩沖存儲器410讀出信息。不需要軟件變換程序。
圖7(a)-7(e)表示肖像取向軟件地址至肖像取向物理地址的變換功能。具體來說,圖7(a)是表示風景取向4×8地址矩陣的表,該地址矩陣表示風景取向圖象的軟件地址,還表示風景取向顯示設備360的物理地址。風景取向軟件和物理地址最好在左上角以地址“0”開始,連續地掃過第一行的8個地址,再向下掃描后續各行,共掃描4行。由于軟件地址與物理地址相同,所以不需要進行軟件-物理地址變換。
但是,如果顯示設備360被逆時針旋轉了90度并在配置寄存器530(圖5)內存儲了恰當的配置信息,則該顯示設備的物理地址矩陣就如圖7(b)所示。圖7(b)所示被旋轉顯示設備360的物理地址矩陣現在在左下腳以地址“0”開始,向上連續地掃過第一列的8個地址,再向右掃描后續各列,共掃描4列。圖7(c)是表示圖7(b)表中的數字的二進制等同數字的表。由于表7(a)中有32個地址,所以每一地址在圖7(c)中用5個二進制位來確定。
由于實際的顯示設備360已被逆時針旋轉了90度,所以CPU 310使用如圖7(d)所示確定肖像取向地址方案的新的軟件地址矩陣。于是新的軟件地址方案在左上角以地址“0”開始,連續地掃過第一行的4個列地址,再向下掃描后續各行,共掃描8行。但是,圖7(d)所示新的軟件地址矩陣與圖7(b)所示物理地址矩陣不同,于是需要進行變換。
圖7(e)是比較圖7(d)的肖像取向軟件地址矩陣和圖7(c)的物理二進制地址的表。把上述圖5的地址變換函數應用于圖7(a)-7(e)的例子,假設L=ln4/ln2=2,M=ln8/ln2=3。于是本發明就把軟件地址的兩個最低有效位A1和A0調換為物理地址的兩個最高有效位。本發明還反轉三個最高有效軟件地址位A4、A3和A2,然后將它們調換為三個最低有效物理地址位。該變換函數把軟件地址重新排列成為A1、A0、A4、A3、A2以產生邏輯地址,從而產生物理地址。
當顯示設備360的尺寸的數量級不是2N個象素時,由于對于可被M+L條地址線尋址的所有存儲空間,顯示設備360沒有相應的位置,所以系統300執行偏移。為了保證產生的所有邏輯地址可被映射到顯示設備360的位置,可利用軟件或驅動器按通常方式執行偏移。這些偏移可存儲在配置寄存器530(圖5)、OEM設置的DIP開關或其它地方。
例如,一般的肖像取向顯示設備構造成每行再現320個象素,每列再現240個象素。320或240都不等于2的整數次冪。因此需要執行偏移。首先,根據最接近的采用2的整數次冪數量級的尺寸的較大地址空間、即512×256構造地址變換電路520。根據該接近的較大地址空間確定偏移。就是說,可用存儲空間最右的192個風景取向列和最下的16個風景取向行不能被映射到顯示設備360上的位置。存儲這些偏移并用來禁止把邏輯地址映射到這些區域。當顯示設備360被逆時針旋轉90度成為肖像取向時,可用存儲空間現在最上的192行和最右的16列是不可映射的。
為了避免偏移的計算,可把顯示設備360構造成具有等于2的整數次冪的象素尺寸。
圖8表示為通用地址矩陣構造的變換電路520。根據參看圖5描述的變換函數,L是被重新排列為最高有效物理地址位的最低有效軟件地址位的個數,M是被反相和重新排列為最低有效物理地址位的最高有效軟件地址位的個數,M+L是規定軟件或物理地址的地址位的總個數。因此,最高有效軟件地址A(M+L-1)至A(L)被求補和被映射至存儲器地址單元MA(M-1)至MA0。最低有效軟件地址A(L-1)至A0被映射至存儲器地址單元MA(M+L-1)至MA(M)。此外,圖8還表示基于軟件地址的物理地址的功能,即A(L-1)...A0后跟有A(M+L-1)…A(L)。
圖9是說明把軟件地址映射為物理顯示設備360的地址的最佳方法900的流程圖。方法900開始于步驟910,CPU 310檢索關于顯示設備360的配置信息,這種配置信息包括顯示設備360的尺寸和取向。在步驟920,軟件應用程序根據象素數據和接收的配置信息產生軟件地址。如果該配置信息規定風景取向顯示設備360,該軟件應用程序就使用圖7(a)所示的風景取向軟件地址方案。如果該配置信息規定肖像取向顯示設備360,該軟件應用程序就使用圖7(d)所示的肖像取向軟件地址方案。
在步驟930,CPU 310把象素數據輸入給數據總線440,把軟件地址輸入給地址總線450。該軟件地址被地址變換系統420接收,地址變換系統420在步驟940確定是否需要進行地址變換。如果配置信息表明顯示設備360是風景取向的,就不需要進行地址變換。否則,就需要進行地址變換,在這種情況下按照以上參看圖5描述的函數變換地址。地址變換系統420產生邏輯地址,它不是“原樣”的軟件地址就是在顯示設備已被逆時針旋轉了90度時被進行了變換來規定象素位置的地址。
在步驟950,邏輯地址通過導線460傳送給圖形控制器430,該圖形控制器430在步驟960通過導線470把邏輯地址作為存儲器地址傳送給圖象緩沖存儲器410。一旦接收到存儲器地址,圖象緩沖存儲器410就在步驟960把數據線440上的象素數據存儲在規定的存儲單元內。方法900然后結束。
圖10是說明刷新顯示設備360上的象素的最佳方法1000的流程圖。方法1000開始于步驟1010,圖形控制器430以現在就將要描述的方式產生刷新地址。在步驟1020,MUX610選擇刷新地址,并通過導線470將其作為存儲器地址傳送給圖象緩沖存儲器410。一旦在步驟1030接收到存儲器地址,圖象緩沖存儲器410就通過導線480把象素數據從圖象緩沖存儲器410的規定存儲單元驅動至圖形控制器430。在步驟1040,圖象控制器430通過總線490把刷新地址和檢索的象素數據傳送給顯示設備360,顯示設備360刷新該存儲單元。方法1000然后結束。
為了說明在步驟1010中產生刷新地址的方式,考慮圖11,該圖表示一小的圖象緩沖存儲器。圖11的存儲器是12×12的圖象緩沖存儲器。就是說,它有足夠的存儲單元來容納12行、每行12個象素的象素值。但為便于說明,我們假設以6行、每行8列的方式進行顯示。斜線區域1102表示對應于顯示象素的存儲單元。較黑的陰影部分表示其內容包含較黑的象素值的那些存儲單元。它們將起到在后續圖象中作為取向基準的作用。
圖12表示其輸出規定黑色區域1102的存儲單元的地址的刷新地址產生器620的細節。圖12的配置寄存器1202把它們自CPU作為配置信息的一部分而接收的開始地址傳送給行開始多路復用器1204。在新幀的開頭,定時電路1205暫時使行開始多路復用器1204選擇該開始地址作為被時鐘電路1207的行時鐘信號定時的第一列鎖存器1206的輸入。在每一掃描行的開頭,定時電路暫時使下一地址多路復用器1208選擇鎖存器1206的輸出值作為輸出鎖存器1210的輸入,輸出鎖存器1210的輸出就是圖6的多路復用器610在刷新操作期間提供給圖象緩沖存儲器410的刷新地址。
由于配置寄存器1202提供給多路復用器1204和如剛才所述那樣傳送給圖象緩沖存儲器410作為其第一地址的開始地址是存儲器掃描開始的地址,所以為了不反向地顯示圖11的內容,該開始地址的值是0。在裝載了當前行的該第一個值之后,多路復用器1208切換狀態,以選擇下一列多路復用器1212的輸出作為鎖存器1210的輸入。配置寄存器1202使多路復用器1212選擇遞增電路1214的輸出作為多路復用器1208的輸入。多路復用器1208的輸出比多路復用器1210的輸出大1,即比當前提供給圖象緩沖器作為正在刷新顯示的存儲單元的地址大1。于是在時鐘電路1207向鎖存器1210輸出定時脈沖時,鎖存器1210的輸出遞增了1。后續時鐘信號導致進一步的遞增,于是就沿圖11所示水平方向掃描了圖象存儲器。
在鎖存器1206裝入了幀開頭處的幀開始地址之后,多路復用器1204的選擇輸入改變成選擇來自下一行多路復用器1216的輸入作為其輸出這樣的狀態。當顯示設備不反向而簡單地顯示圖象緩沖存儲器410的內容時,配置寄存器1202使多路復用器1216進入把加法電路1218的輸出提供給多路復用器1204的輸入端的狀態。加法電路1218把鎖存器1206的輸出與配置寄存器接收自CPU、作為配置信息的一部分的行偏移值相加。如果系統采用圖11所示尺寸的圖象緩沖器,該行偏移值就是12。因此,當行時鐘信號在一新行的開頭處向第一列鎖存器1206輸出定時脈沖時,該鎖存器的行地址輸出就增大了12。得到的輸出就是多路復用器1208提供給鎖存器1210的輸出。于是,在第一行中的地址增大到7之后,刷新地址產生器產生的下一個值就是12,即包含下一顯示行的開頭處的象素值的圖象緩沖器存儲單元的地址。
這一操作繼續下去,由于鎖存器1206被選通,所以多路復用器1208在每一行的開頭處改變狀態一個象素時間,以裝入新的第一列地址,直到顯示已完全被刷新為止。此時,多路復用器1204再次暫時選擇配置寄存器的開始地址輸出,地址序列重復出現。
根據本發明,刷新邏輯620也可采取列反向模式,在這一模式中,圖象被水平反向,以產生圖13所示的顯示。為此,圖12的電路如上所述地進行操作,區別在于配置寄存器把7而不是0的開始地址提供給多路復用器1204,而多路復用器1212傳送遞減電路1220而不是遞增電路1214的輸出。因此后續象素時鐘使鎖存器1210的輸出以數值7開始一幀,在第一行的末尾減至0。該輸出然后在第二行的開頭增大到19,在該行的末尾減至12。這一過程繼續下去,在各行內地址遞減,而在各行之間遞增,直到整個圖象被顯示為止。
刷新邏輯620也可采取行反向模式,在這一模式中,刷新邏輯620使圖象緩沖存儲器的內容如圖14所示地被顛倒顯示。為此,配置寄存器1202將產生60作為開始地址,并使多路復用器1216把減法電路1222的輸出傳送給多路復用器1203。減法電路從鎖存器1206的輸出中減去而不是加上行偏移。所以鎖存器1206在第二行開始時裝入的地址是48。如圖14所示,存儲器地址在一行內在每一個象素時鐘的作用下應增大,所以多路復用器1212選擇其遞增的輸出。
可把圖13所示的顯示看作是沿一等分垂直軸翻轉圖象緩沖存儲器的內容的結果,而圖14的顯示可被看作是沿一等分水平軸翻動圖象緩沖存儲器的內容的結果。如上所述,可用這些反向操作來校正鏡像圖象。此外,通過同時以行反向和列反向模式進行操作,圖12的電路就能夠產生逐漸沿每一個軸翻動這些內容的結果,以便產生圖15所示的顯示。
如上所述,因為逆時針旋轉便于實現,所以地址變換電路520執行逆時針旋轉。會存在最好是執行順時針旋轉的情形。如果圖12的刷新地址產生器同時以行反向和列反向模式進行操作,則不改變逆時針旋轉電路就能夠實現順時針旋轉。使用67的開始地址值、使多路復用器1216傳送其減法輸入和使多路復用器1212傳送其遞減輸入就能夠獲得這一結果。
顯然,本發明的思想使顯示系統具有很大的靈活性。因此對已有技術有很大貢獻。
權利要求
1.圖形系統,包括A) 第一輸入端,用于接收表示按象素列和行排列的象素的值的圖象象素數據信號;B) 第二輸入端,用于接收標識其值被象素數據信號所表示的象素的行和列的圖象象素地址信號;C) 地址變換系統,用于接收所述圖象象素地址信號,并將它們變換為標識分別對應于圖象象素地址信號所表示的象素列和行的存儲單元行和列的邏輯地址信號;D) 圖象緩沖存儲器,用于包括按存儲單元行和列組織的存儲單元,用于接收所述圖象象素數據信號,并將其所表示的值存儲在由對應邏輯地址信號標識的存儲單元列和行內,以及從由提供給它的刷新地址信號指定的存儲單元列和行中檢索它們;E) 刷新地址產生器,用于交替地以列正向和列反向方式產生并向圖象緩沖存儲器提供刷新地址信號,這些刷新地址信號順序地規定與多個相繼的存儲單元行的每一行中的存儲單元列相關的存儲器地址,其中,刷新地址信號規定的存儲器地址在刷新地址產生器工作于列正向模式時在存儲單元行內增大,而在刷新地址產生器工作于列反向模式時在存儲單元行內減小;F) 多路復用器,用于接收所述邏輯地址信號和所述刷新地址信號,響應一選擇信號選擇所述地址信號之一并將其傳送至所述圖象緩沖存儲器;G) 存儲器地址仲裁器,用于產生所述選擇信號;以及H) 顯示設備,用于接收從圖象緩沖存儲器的存儲單元行和列中取出的圖象象素數據信號,并以沿著多個順序掃描行每一行的相繼列位置的方式顯示這些信號所表示的象素值。
2.權利要求1的圖形系統,其中的刷新地址產生器包括A) 輸出鎖存器,用于接收輸出鎖存輸入,并產生表示由在一系列時鐘時刻末尾處的輸出鎖存輸入的值確定的值的信號作為刷新地址輸出;以及B) 下一地址多路復用器,用于交替將第一列信號和下一列信號作為其輸出鎖存輸入耦合至輸出鎖存器。
3.權利要求2的圖形系統,其中的刷新地址產生器包括A) 遞增電路,產生表示比刷新地址輸出所表示的值大1的地址的遞增輸出;B) 遞減電路,產生表示比刷新地址輸出所表示的值小1的地址的遞減輸出;以及C) 下一列多路復用器,通過在刷新地址產生器工作于列正向模式時傳送遞增輸出和在刷新地址產生器工作于列反向模式時傳送遞減輸出來產生下一列信號。
4.權利要求3的圖形系統,其中的刷新地址產生器還交替地工作于行正向和行反向模式,當刷新地址產生器工作在行正向模式時,刷新地址信號所表示的存儲器地址在存儲單元行之間增大,而當刷新地址產生器工作在行反向模式時,該地址在存儲單元行之間減小。
5.權利要求2的圖形系統,其中的刷新地址產生器還交替地工作于行正向和行反向模式,當刷新地址產生器工作在行正向模式時,刷新地址信號指定的存儲器地址在存儲單元行之間增大,而當刷新地址產生器工作在行反向模式時,該地址在存儲單元行之間減小。
6.權利要求5的圖形系統,其中的刷新地址產生器包括A) 第一列鎖存器,接收第一列鎖存輸入,產生表示由在一系列行時鐘時刻末尾處的第一列鎖存輸入的值確定的值的信號作為第一列信號;B) 加法電路,產生表示比第一列信號所表示的值大一個行偏移的地址的和輸出;C) 減法電路,產生表示比第一列信號所表示的值小一個行偏移的地址的差輸出;D) 下一行多路復用器,通過在刷新地址產生器工作于行正向模式時傳送和輸出和在刷新地址產生器工作于行反向模式時傳送差輸出來產生下一行信號;以及E) 行信號耦合電路,把下一行信號作為第一列鎖存輸入傳送給第一列鎖存器。
7.權利要求6的圖形系統,其中的行信號耦合電路包括交替地把開始地址信號和下一行信號作為第一列鎖存輸入耦合給第一列鎖存器的行開始多路復用器。
8.權利要求1的圖形系統,其中的刷新地址產生器還交替地工作于行正向和行反向模式,當刷新地址產生器工作在行正向模式時,刷新地址信號指定的存儲器地址在存儲單元行之間增大,而當刷新地址產生器工作在行反向模式時,該地址在存儲單元行之間減小。
9.圖形系統,包括A)第一輸入端,接收表示按象素列和行排列的象素的值的圖象象素數據信號;B)第二輸入端,接收標識其值被象素數據信號所表示的象素的行和列的圖象象素地址信號;C)地址變換系統,接收所述圖象象素地址信號,并將它們變換為標識分別對應于圖象象素地址信號所表示的象素列和行的存儲單元行和列的邏輯地址信號;D) 圖象緩沖存儲器,包括按存儲單元行和列組織的存儲單元,用于接收所述圖象象素數據信號,并將其所表示的值存儲在由對應邏輯地址信號標識的存儲單元列和行內,以及從由提供給它的刷新地址信號指定的存儲單元列和行中檢索它們;E) 刷新地址產生器,交替地以行正向和行反向方式產生并向圖象緩沖存儲器提供刷新地址信號,這些刷新地址信號順序地規定與多個相繼的存儲單元行的每一行中的存儲單元列相關的存儲器地址,刷新地址信號規定的存儲器地址在刷新地址產生器工作于行正向模式時在存儲單元行內增大,而在刷新地址產生器工作于行反向模式時在存儲單元行內減小;F) 多路復用器,接收所述邏輯地址信號和所述刷新地址信號,響應一選擇信號選擇所述地址信號之一并將其傳送至所述圖象緩沖存儲器;G) 存儲器地址仲裁器,產生所述選擇信號;以及H) 顯示設備,接收從圖象緩沖存儲器的存儲單元行和列中取出的圖象象素數據信號,并以沿著多個順序掃描行每一行的相繼列位置的方式顯示這些信號所表示的象素值。
10.權利要求9的圖形系統,其中的刷新地址產生器包括A) 輸出鎖存器,接收輸出鎖存輸入,并產生表示由在一系列時鐘時刻末尾處的輸出鎖存輸入的值確定的值的信號作為刷新地址輸出;以及B) 下一地址多路復用器,交替將第一列信號和下一列信號作為其輸出鎖存輸入耦合至輸出鎖存器。
11.權利要求10的圖形系統,其中的刷新地址產生器包括A) 第一列鎖存器,接收第一列鎖存輸入,產生表示由在一系列行時鐘時刻末尾處的第一列鎖存輸入的值確定的值的信號,作為第一列信號;B) 加法電路,產生表示比第一列信號所表示的值大一個行偏移的地址的和輸出;C) 減法電路,產生表示比第一列信號所表示的值小一個行偏移的地址的差輸出;D) 下一行多路復用器,通過在刷新地址產生器工作于行正向模式時傳送和輸出和在刷新地址產生器工作于行反向模式時傳送差輸出來產生下一行信號;以及E) 行信號耦合電路,把下一行信號作為第一列鎖存輸入傳送給第一列鎖存器。
12.權利要求11的圖形系統,其中的行信號耦合電路包括交替地把開始地址信號和下一行信號作為第一列鎖存輸入耦合給第一列鎖存器的行開始多路復用器。
13.計算機系統,包括A) 第一輸入端,接收表示按象素列和行排列的象素的值的圖象象素數據信號;B) 第二輸入端,接收標識其值被象素數據信號所表示的象素的行和列的圖象象素地址信號;C) 地址變換系統,接收所述圖象象素地址信號,并將它們變換為標識分別對應于圖象象素地址信號所表示的象素列和行的存儲單元行和列的邏輯地址信號;D) 圖象緩沖存儲器,包括按存儲單元行和列組織的存儲單元,用于接收所述圖象象素數據信號,并將其所表示的值存儲在由對應邏輯地址信號標識的存儲單元列和行內,以及從由提供給它的刷新地址信號指定的存儲單元列和行中檢索它們;E) 刷新地址產生器,交替地以列正向和列反向方式產生并向圖象緩沖存儲器提供刷新地址信號,這些刷新地址信號順序地規定與多個相繼的存儲單元行的每一行中的存儲單元列相關的存儲器地址,刷新地址信號規定的存儲器地址在刷新地址產生器工作于列正向模式時在存儲單元行內增大,而在刷新地址產生器工作于列反向模式時在存儲單元行內減小;F) 多路復用器,接收所述邏輯地址信號和所述刷新地址信號,響應一選擇信號選擇所述地址信號之一并將其傳送至所述圖象緩沖存儲器;G) 存儲器地址仲裁器,產生所述選擇信號;以及H) 顯示設備,接收從圖象緩沖存儲器的存儲單元行和列中取出的圖象象素數據信號,并以沿著多個順序掃描行每一行的相繼列位置的方式顯示這些信號所表示的象素值;I) 中央處理單元,分別把圖象象素數據信號施加于第一和第二輸入象素。
14.權利要求13的計算機系統,其中的刷新地址產生器包括A)輸出鎖存器,接收輸出鎖存輸入,并產生表示由在一系列時鐘時刻末尾處的輸出鎖存輸入的值確定的值的信號,作為刷新地址輸出;以及B)下一地址多路復用器,交替將第一列信號和下一列信號作為其輸出鎖存輸入耦合至輸出鎖存器。
15.權利要求14的計算機系統,其中的刷新地址產生器包括A) 遞增電路,產生表示比刷新地址輸出所表示的值大1的地址的遞增輸出;B) 遞減電路,產生表示比刷新地址輸出所表示的值小1的地址的遞減輸出;以及C) 下一列多路復用器,通過在刷新地址產生器工作于列正向模式時傳送遞增輸出和在刷新地址產生器工作于列反向模式時傳送遞減輸出來產生下一列信號。
16.權利要求15的計算機系統,其中的刷新地址產生器還交替地工作于行正向和行反向模式,當刷新地址產生器工作在行正向模式時,刷新地址信號所表示的存儲器地址在存儲單元行之間增大,而當刷新地址產生器工作在行反向模式時,該地址在存儲單元行之間減小。
17.權利要求14的計算機系統,其中的刷新地址產生器還交替地工作于行正向和行反向模式,當刷新地址產生器工作在行正向模式時,刷新地址信號所表示的存儲器地址在存儲單元行之間增大,而當刷新地址產生器工作在行反向模式時,該地址在存儲單元行之間減小。
18.權利要求17的計算機系統,其中的刷新地址產生器包括A) 第一列鎖存器,接收第一列鎖存輸入,產生表示由在一系列行時鐘時刻末尾處的第一列鎖存輸入的值確定的值的信號作為第一列信號;B) 加法電路,產生表示比第一列信號所表示的值大一行偏移的地址的和輸出;C) 減法電路,產生表示比第一列信號所表示的值小一行偏移的地址的差輸出;D) 下一行多路復用器,通過在刷新地址產生器工作于行正向模式時傳送和輸出和在刷新地址產生器工作于行反向模式時傳送差輸出來產生下一行信號;以及E) 行信號耦合電路,把下一行信號作為第一列鎖存輸入傳送給第一列鎖存器。
19.權利要求18的計算機系統,其中的行信號耦合電路包括交替地把開始地址信號和下一行信號作為第一列鎖存輸入耦合給第一列鎖存器的行開始多路復用器。
20.權利要求13的計算機系統,其中的刷新地址產生器還交替地工作于行正向和行反向模式,當刷新地址產生器工作在行正向模式時,刷新地址信號所表示的存儲器地址在存儲單元行之間增大,而當刷新地址產生器工作在行反向模式時,該地址在存儲單元行之間減小。
21.計算機系統,包括A)第一輸入端,接收表示按象素列和行排列的象素的值的圖象象素數據信號;B)第二輸入端,接收標識其值被象素數據信號所表示的象素的行和列的圖象象素地址信號;C)地址變換系統,接收所述圖象象素地址信號,并將它們變換為標識分別對應于圖象象素地址信號所表示的象素列和行的存儲單元行和列的邏輯地址信號;D) 圖象緩沖存儲器,包括按存儲單元行和列組織的存儲單元,用于接收所述圖象象素數據信號,并將其所表示的值存儲在由對應邏輯地址信號標識的存儲單元列和行內,以及從由提供給它的刷新地址信號指定的存儲單元列和行中檢索它們;E) 刷新地址產生器,交替地以行正向和行反向方式產生并向圖象緩沖存儲器提供刷新地址信號,這些刷新地址信號順序地規定與多個相繼的存儲單元行的每一行中的存儲單元列相關的存儲器地址,刷新地址信號規定的存儲器地址在刷新地址產生器工作于行正向模式時在存儲單元行內增大,而在刷新地址產生器工作于行反向模式時在存儲單元行內減小;F) 多路復用器,接收所述邏輯地址信號和所述刷新地址信號,響應一選擇信號選擇所述地址信號之一并將其傳送至所述圖象緩沖存儲器;G) 存儲器地址仲裁器,產生所述選擇信號;以及H) 顯示設備,接收從圖象緩沖存儲器的存儲單元行和列中取出的圖象象素數據信號,并以沿著多個順序掃描行每一行的相繼列位置的方式顯示這些信號所表示的象素值;I) 中央處理單元,分別把圖象象素數據信號施加于第一和第二輸入象素。
22.權利要求21的計算機系統,其中的刷新地址產生器包括A)輸出鎖存器,接收輸出鎖存輸入,并產生表示由在一系列時鐘時刻末尾處的輸出鎖存輸入的值確定的值的信號作為刷新地址輸出;以及B)下一地址多路復用器,交替將第一列信號和下一列信號作為其輸出鎖存輸入耦合至輸出鎖存器。
23.權利要求22的計算機系統,其中的刷新地址產生器包括A) 第一列鎖存器,接收第一列鎖存輸入,產生表示由在一系列行時鐘時刻末尾處的第一列鎖存輸入的值確定的值的信號,作為第一列信號;B) 加法電路,產生表示比第一列信號所表示的值大一行偏移的地址的和輸出;C) 減法電路,產生表示比第一列信號所表示的值小一行偏移的地址的差輸出;D) 下一行多路復用器,通過在刷新地址產生器工作于行正向模式時傳送和輸出和在刷新地址產生器工作于行反向模式時傳送差輸出來產生下一行信號;以及E) 行信號耦合電路,把下一行信號作為第一列鎖存輸入傳送給第一列鎖存器。
24.權利要求23的計算機系統,其中的行信號耦合電路包括交替地把開始地址信號和下一行信號作為第一列鎖存輸入耦合給第一列鎖存器的行開始多路復用器。
25.顯示圖象的方法,包括以下步驟A) 在第一輸入端接收表示按象素列和行排列的象素的值的圖象象素數據信號;B) 在第二輸入端接收標識其值被象素數據信號所表示的象素的行和列的圖象象素地址信號;C) 接收所述圖象象素地址信號,并將它們變換為標識分別對應于圖象象素地址信號所表示的象素列和行的存儲單元行和列的邏輯地址信號;D) 提供包括按存儲單元行和列組織的存儲單元的圖象緩沖存儲器,用于接收所述圖象象素數據信號,并將其所表示的值存儲在由對應邏輯地址信號標識的存儲單元列和行內,以及從由提供給它的刷新地址信號指定的存儲單元列和行中檢索它們;E) 刷新地址產生器,交替地以列正向和列反向方式產生并向圖象緩沖存儲器提供刷新地址信號,這些刷新地址信號順序地規定與多個相繼的存儲單元行的每一行中的存儲單元列相關的存儲器地址,刷新地址信號規定的存儲器地址在刷新地址產生器工作于列正向模式時在存儲單元行內增大,而在刷新地址產生器工作于列反向模式時在存儲單元行內減小;F) 接收所述邏輯地址信號和所述刷新地址信號,響應一選擇信號選擇所述地址信號之一并將其傳送至所述圖象緩沖存儲器;G) 以及把從圖象緩沖存儲器的存儲單元行和列中取出的圖象象素數據信號提供給一顯示器,以便以沿著多個順序掃描行每一行的相繼列位置的方式顯示這些信號所表示的象素值。
26.權利要求25的方法,在該方法中A) 產生并向圖象緩沖存儲器提供刷新地址信號的步驟包括以列正向和列反向交替的方式來執行;B) 刷新地址信號規定的存儲器地址在刷新地址產生器工作于行正向模式時在存儲單元行之間增大,而在刷新地址產生器工作于行反向模式時在存儲單元行之間減小。
27.顯示圖象的方法,包括以下步驟A) 在第一輸入端接收表示按象素列和行排列的象素的值的圖象象素數據信號;B) 在第二輸入端接收標識其值被象素數據信號所表示的象素的行和列的圖象象素地址信號;C) 接收所述圖象象素地址信號,并將它們變換為標識分別對應于圖象象素地址信號所表示的象素列和行的存儲單元行和列的邏輯地址信號;D) 提供包括按存儲單元行和列組織的存儲單元的圖象緩沖存儲器,用于接收所述圖象象素數據信號,并將其所表示的值存儲在由對應邏輯地址信號標識的存儲單元列和行內,以及從由提供給它的刷新地址信號指定的存儲單元列和行中檢索它們;E) 刷新地址產生器,交替地以行正向和行反向方式產生并向圖象緩沖存儲器提供刷新地址信號,這些刷新地址信號順序地規定與多個相繼的存儲單元行的每一行中的存儲單元列相關的存儲器地址,刷新地址信號規定的存儲器地址在刷新地址產生器工作于行正向模式時在存儲單元行內增大,而在刷新地址產生器工作于行反向模式時在存儲單元行內減小;F) 接收所述邏輯地址信號和所述刷新地址信號,響應一選擇信號選擇所述地址信號之一并將其傳送至所述圖象緩沖存儲器;以及G) 把從圖象緩沖存儲器的存儲單元行和列中取出的圖象象素數據信號提供給一顯示器,以便以沿著多個順序掃描行每一行的相繼列位置的方式顯示這些信號所表示的象素值。
全文摘要
顯示系統中的中央處理單元傳送象素值信號和軟件地址信號。地址變換電路把軟件地址變換為提供給圖象緩存的邏輯地址,以規定要存儲象素值的存儲單元。刷新地址電路產生在從圖象緩存中取出以提供給顯示設備的值時使用的地址信號。這些地址表示與一些行交叉的列序列和圖象中的一些行,列地址在列正向模式下在一行內增大,當在列反向模式下減小。不同模式的作用是補償諸如鏡像圖象這樣的反向掃描和在順時針和逆時針之間進行90度的變換。
文檔編號G06T3/60GK1261696SQ9912389
公開日2000年8月2日 申請日期1999年9月14日 優先權日1998年9月15日
發明者L·祁, B·S·賴, B·程 申請人:精工愛普生株式會社