專利名稱:旋轉(zhuǎn)圖像的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計算機(jī)圖形,更具體地說,涉及用于旋轉(zhuǎn)顯示屏上圖像的方法和裝置。
背景技術(shù):
在計算機(jī)圖形中,子畫面是一個較大圖形圖像或圖像集合中分別加以動畫處理的元素。子畫面是游戲技術(shù)中較常見的部分,許多游戲基本上由子畫面和用于在圖形背景內(nèi)移動這些子畫面的程序指令構(gòu)成。
一種類型的動畫涉及到旋轉(zhuǎn)這些子畫面,而旋轉(zhuǎn)這些子畫面的計算通常由軟件來完成。但是,旋轉(zhuǎn)子畫面的這種軟件計算方法在計算方式上較為復(fù)雜,因此涉及大量使用中央處理單元(CPU)處理。例如,一個典型的游戲可能有二十七個子畫面要同時進(jìn)行顯示和進(jìn)行動畫處理。因此,許多小型便攜式設(shè)備在對子畫面進(jìn)行動畫處理時會有問題,因為這些設(shè)備通常具有有限的電力、存儲容量和計算能力。由于這些設(shè)備受其計算能力限制,因此處理子畫面可能占用了這些設(shè)備的大部分CPU時鐘周期,結(jié)果使所執(zhí)行的應(yīng)用的速度大大降低。
鑒于以上所述,需要提供降低計算復(fù)雜性和對子畫面進(jìn)行動畫處理所需CPU處理能力的裝置和方法。
發(fā)明內(nèi)容
一般地說,本發(fā)明通過提供一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的方法和裝置而滿足了這些要求。應(yīng)該明確的是,本發(fā)明可以多種方式實施,包括方法、系統(tǒng)或設(shè)備。下文將描述本發(fā)明的幾個根據(jù)本發(fā)明的第一方面,提供一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的硬件實現(xiàn)的方法。在此方法中,接收用戶定義參考點,該用戶定義參考點可以在圖像之外定義。然后計算圖像的這樣一個位置,該位置定義了圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的位置。接著計算從存儲器讀取一個或多個圖像像素的順序。該順序定義圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的旋轉(zhuǎn)。此后,根據(jù)計算的順序從存儲器讀取圖像像素。
根據(jù)本發(fā)明的第二方面,提供一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的顯示控制器。該顯示控制器包括配置為存儲圖像像素的存儲器以及配置為從該存儲器讀取存儲的圖像像素的主顯示管道(maindisplay pipe)。此外,還將與所述主顯示管道耦合的旋轉(zhuǎn)鏡像電路配置為計算圍繞用戶定義參考點的圖像旋轉(zhuǎn)。所述旋轉(zhuǎn)鏡像電路包括用于接收用戶定義參考點的邏輯、用于計算圖像位置的邏輯以及用于計算從所述存儲器讀取圖像像素的順序的邏輯。計算得到的位置定義了圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的位置。此外,計算得到的順序還定義了圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的旋轉(zhuǎn)。
根據(jù)本發(fā)明的第三方面,提供一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的裝置。該裝置包括顯示控制器和配置為存儲圖像像素的存儲器。此外,該裝置包括中央處理單元,中央處理單元含有處理所述用戶定義參考點并將所述用戶定義參考點傳送到所述顯示控制器的指令。該顯示控制器包括用于計算圖像位置的電路、用于計算從所述存儲器讀取圖像像素的順序的電路以及用于根據(jù)計算得到的順序從所述存儲器讀取圖像像素的電路。計算得到的位置定義圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的位置。此外,計算得到的順序還定義圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的旋轉(zhuǎn)。該裝置還包括與所述顯示控制器耦合以顯示旋轉(zhuǎn)的圖像的顯示器。
結(jié)合通過示例說明本發(fā)明原理的附圖來理解如下詳細(xì)說明,可清楚本發(fā)明的其它方面和優(yōu)點。
通過結(jié)合附圖所作的如下詳細(xì)說明會容易理解本發(fā)明,其中相似的標(biāo)記表示類似的結(jié)構(gòu)元素圖1A和1B是說明根據(jù)本發(fā)明一實施例,圍繞用戶定義參考點旋轉(zhuǎn)的圖像的示意圖。
圖2是說明根據(jù)本發(fā)明一實施例,用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的一種硬件實現(xiàn)的方法的高級流程圖。
圖3A、3B、3C、3D、3E、3F、3G和3H是說明根據(jù)本發(fā)明一實施例,用于計算圍繞用戶定義參考點旋轉(zhuǎn)之后圖像位置的尺寸的簡化示意圖。
圖4是說明根據(jù)本發(fā)明一實施例,當(dāng)圖像圍繞用戶定義參考點旋轉(zhuǎn)90度時要讀的存儲器地址的順序的簡化示意圖。
圖5A、5B、5C、5D、5E、5F、5G和5H是說明根據(jù)本發(fā)明一實施例,用于計算為旋轉(zhuǎn)圖像而提取與特定像素位置相應(yīng)的像素所需存儲器地址的尺寸的簡化示意圖。
圖6是說明根據(jù)本發(fā)明一實施例,用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的裝置的簡化示意圖。
圖7是說明根據(jù)本發(fā)明一實施例的圖6所示顯示控制器的更為詳細(xì)的示意圖。
優(yōu)選實施例的詳細(xì)說明所述發(fā)明為用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的方法和裝置。但對本領(lǐng)域技術(shù)人員而言,本發(fā)明顯然可以在缺少一些或所有這些具體細(xì)節(jié)的情況下加以實施。在其它情況下,未就一些熟知的處理操作進(jìn)行詳細(xì)描述,以免不必要地使本發(fā)明不夠清楚。
本文所述的實施例提供了用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的硬件實現(xiàn)方法和顯示控制器。為了旋轉(zhuǎn)圖像,須計算圖像的位置和從存儲器提取圖像像素的順序,下文將對此予以詳細(xì)說明。然后,在計算的位置上顯示圖像,并根據(jù)計算的順序從存儲器提取圖像像素。提取圖像像素的順序定義了圖像的旋轉(zhuǎn)。
圖1A和1B是說明根據(jù)本發(fā)明一實施例,圍繞用戶定義參考點旋轉(zhuǎn)圖像的示意圖。如圖1A所示,顯示區(qū)102顯示圖像區(qū)域104。圖像區(qū)域104是更大圖像的一部分(例如顯示區(qū)102)。在一個實施例中,圖像區(qū)域104是一個子畫面。子畫面可能是更大圖像中的一個動畫圖形圖像。如本文所述,或者圖像區(qū)域104可以定義為一個圖像,因此,這些術(shù)語是可以互換的。這里,圖像區(qū)域104是向上指的箭頭,并且用戶希望圍繞參考點106順時針旋轉(zhuǎn)圖像區(qū)域90度。參考點106位于圖像區(qū)域104的中央。因此,圍繞參考點106順時針旋轉(zhuǎn)90度便得到向右指的箭頭。下文提供執(zhí)行旋轉(zhuǎn)的具體細(xì)節(jié)。
應(yīng)該明確的是,參考點106可以定義在顯示區(qū)102內(nèi)的任何位置。在一個實施例中,如圖1A所示,參考點106位于圖像區(qū)域104內(nèi)。在另一個實施例中,如圖1B所示,參考點106位于圖像區(qū)域104外。圖1B顯示圖像區(qū)域104包括在顯示區(qū)102內(nèi)的向上指的箭頭,且圖像區(qū)域104位于該顯示區(qū)的右下角。用戶希望圍繞參考點108使該圖像區(qū)域按順時針旋轉(zhuǎn)90度。在本例中,參考點108位于圖像區(qū)域104之外。具體地說,參考點108位于圖像區(qū)域104上方。圍繞參考點108順時針旋轉(zhuǎn)90度得到圖像區(qū)域104以及向右指的箭頭。此外,圖像區(qū)域104的位置從顯示區(qū)102的右下角變更到該顯示區(qū)左上角。
如圖1A和1B所示,可以通過(1)旋轉(zhuǎn)圖像區(qū)域并(2)改變圖像區(qū)域的位置來定義圖像區(qū)域104的旋轉(zhuǎn)。圖2是說明根據(jù)本發(fā)明一實施例,用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的一種硬件實現(xiàn)方法的高級流程圖。該流程從接收用戶定義參考點的操作210開始。如上所述,用戶定義參考點可以定義在該圖像之外。然后,在操作212,計算該圖像的位置。該位置定義圍繞用戶定義參考點旋轉(zhuǎn)之后圖像的位置。之后,在操作214,計算從存儲器提取圖像像素的順序。該順序定義圍繞用戶定義參考點旋轉(zhuǎn)該圖像之后圖像的旋轉(zhuǎn)。在一個實施例中,所述順序是計算出的該圖像內(nèi)像素位置與存儲器中存儲的圖像像素的存儲器地址的關(guān)聯(lián),下文將對此予以詳細(xì)描述。此后,在操作216,根據(jù)計算的順序從存儲器提取圖像像素。
圖3A-3H是說明根據(jù)本發(fā)明一實施例,用于計算圍繞用戶定義參考點旋轉(zhuǎn)之后圖像位置的尺寸的簡化示意圖。如上所述,在用戶定義參考點之后,首先計算該圖像的位置。如圖3A-3H所示,顯示區(qū)102包括半個箭頭的圖像區(qū)域304。用戶定義參考點302位于圖像區(qū)域304內(nèi)。圖3A顯示向上指的半個箭頭的圖像304,且該圖像既未執(zhí)行旋轉(zhuǎn)又未執(zhí)行鏡像。在本文中,鏡像指繞任何軸翻轉(zhuǎn)該圖像。例如,鏡像的圖像被從左邊翻轉(zhuǎn)到右邊,或從右邊翻轉(zhuǎn)到左邊。在一個實施例中,按如下公式計算在未執(zhí)行旋轉(zhuǎn)和鏡像的情況下圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-A;Y-起始坐標(biāo)(F)=D-B;X-終點坐標(biāo)(I)=C+G;以及Y-終點坐標(biāo)(J)=D+H。
如圖3A所示A表示用戶定義參考點302相對于圖像304的左上角308的X偏移量。
B表示用戶定義參考點302相對于圖像304的左上角308的Y偏移量。
C表示圖像位置相對于顯示區(qū)102的左上角306的X偏移量。
D表示圖像位置相對于顯示區(qū)102的左上角306的Y偏移量。
G表示從圖像304的寬度減去A(即用戶定義參考點302與圖像304右邊之間的距離)。
H表示從圖像304的高度減去B(即用戶定義參考點302與圖像304底邊之間的距離)。
上述尺寸(即,A、B、C等)參照的是圖像304的左上角308和顯示區(qū)102的左上角306。但是,這些尺寸也可以參照圖像304和顯示區(qū)102內(nèi)任何適合的點。參考點的其它示范實施例還可以包括顯示區(qū)102的右上角、該顯示區(qū)的左下角、該顯示區(qū)的右下角、圖像304的右上角、該圖像的左下角以及該圖像的右下角。
圖3B顯示圍繞用戶定義參考點302旋轉(zhuǎn)90度但未執(zhí)行鏡像之后圖像304的位置。如圖3B所示,旋轉(zhuǎn)之后半個箭頭指向右方。在一個實施例中,按如下公式計算旋轉(zhuǎn)90度之后圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-H;Y-起始坐標(biāo)(F)=D-A;X-終點坐標(biāo)(I)=C+B;以及Y-終點坐標(biāo)(J)=D+G。
圖3C顯示圍繞用戶定義參考點302旋轉(zhuǎn)180度但未執(zhí)行鏡像之后圖像304的位置。如圖3C所示,旋轉(zhuǎn)之后半個箭頭指向下方。在一個實施例中,按如下公式計算旋轉(zhuǎn)180度之后圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-G;Y-起始坐標(biāo)(F)=D-H;X-終點坐標(biāo)(I)=C+A;以及Y-終點坐標(biāo)(J)=D+B。
圖3D顯示圍繞用戶定義參考點302旋轉(zhuǎn)270度但未執(zhí)行鏡像之后圖像304的位置。如圖3D所示,旋轉(zhuǎn)之后半個箭頭指向左方。在一個實施例中,按如下公式計算旋轉(zhuǎn)270度之后圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-B;Y-起始坐標(biāo)(F)=D-G;
X-終點坐標(biāo)(I)=C+H;以及Y-終點坐標(biāo)(J)=D+A。
圖3E顯示未旋轉(zhuǎn)但執(zhí)行鏡像的圖像304的位置。如圖3E所示,半個箭頭指向上方,但該半個箭頭的圖像304從右邊翻轉(zhuǎn)到左邊。在一個實施例中,按如下公式計算圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-G;Y-起始坐標(biāo)(F)=D-B;X-終點坐標(biāo)(I)=C+A;以及Y-終點坐標(biāo)(J)=D+H。
圖3F顯示圍繞用戶定義參考點302旋轉(zhuǎn)90度且執(zhí)行鏡像之后圖像304的位置。如圖3F所示,旋轉(zhuǎn)之后半個箭頭指向左方。在一個實施例中,按如下公式計算旋轉(zhuǎn)90度之后圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-B;Y-起始坐標(biāo)(F)=D-A;X-終點坐標(biāo)(I)=C+H;以及Y-終點坐標(biāo)(J)=D+G。
圖3G顯示圍繞用戶定義參考點302旋轉(zhuǎn)180度且執(zhí)行鏡像之后圖像304的位置。如圖3G所示,旋轉(zhuǎn)之后半個箭頭指向下方。在一個實施例中,按如下公式計算旋轉(zhuǎn)180度之后圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-A;Y-起始坐標(biāo)(F)=D-H;X-終點坐標(biāo)(I)=C+G;以及Y-終點坐標(biāo)(J)=D+B。
最后,圖3H顯示圍繞用戶定義參考點302旋轉(zhuǎn)270度且執(zhí)行鏡像之后圖像304的位置。如圖3H所示,旋轉(zhuǎn)之后半個箭頭指向右方。在一個實施例中,按如下公式計算旋轉(zhuǎn)270度之后圖像304相對于顯示區(qū)102的位置X-起始坐標(biāo)(E)=C-H;Y-起始坐標(biāo)(F)=D-G;X-終點坐標(biāo)(I)=C+B;以及Y-終點坐標(biāo)(J)=D+A。
在計算位置之后,計算從存儲器提取圖像像素的順序。圖4是說明根據(jù)本發(fā)明一實施例,當(dāng)圖像圍繞用戶定義參考點旋轉(zhuǎn)90度時要讀的存儲器地址的順序的簡化示意圖。出于說明的目的,圖像402內(nèi)的每個方塊表示一個像素。方塊內(nèi)的每個編號(例如1、2、3、4等)表示與該像素相關(guān)聯(lián)的存儲器地址。存儲器地址是指配給每個像素的編號,用于跟蹤每個像素在存儲器中的存儲位置。存儲器地址可以具有任何適當(dāng)?shù)奈粚?。例如,在一個實施例中,存儲器地址長度為8位。在另一個實施例中,存儲器地址長度為16位。
如圖4所示,25個方塊(即5×5的像素陣列)構(gòu)成圖像402。每個像素與一個存儲器地址編號相關(guān)聯(lián)。例如,在零度旋轉(zhuǎn)時,位于圖像402的左上角的像素具有用零表示的存儲器地址,而位于圖像402的右上角的像素具有用4表示的存儲器地址。
在本例中,從存儲器提取像素的特定順序定義了圖像402的旋轉(zhuǎn)。換言之,通過將像素位置與不同的存儲器地址相關(guān)聯(lián)來旋轉(zhuǎn)圖像402。例如,如圖4所示,圖像402圍繞位于圖像中央的用戶定義參考點旋轉(zhuǎn)90度。在零度旋轉(zhuǎn)時,位于圖像402的左上角的像素與編號為零的存儲器地址相關(guān)聯(lián)。在逆時針旋轉(zhuǎn)90度時,位于圖像402的左上角的同一像素與編號為4的存儲器地址相關(guān)聯(lián)。因此,在零度旋轉(zhuǎn)時,按0、1、2、3及4的存儲器地址順序從左到右提取構(gòu)成圖像402的一條頂部水平線的像素。而為了使圖像402逆時針旋轉(zhuǎn)90度,則要按4、9、14、19及24的存儲器地址順序從左到右提取構(gòu)成圖像402的該頂部水平線的像素。應(yīng)理解,存儲器中的數(shù)據(jù)沒有改變,但從存儲器提取數(shù)據(jù)的順序改變了。
圖5A-5H是說明根據(jù)本發(fā)明一實施例,用于計算為旋轉(zhuǎn)圖像而提取與特定像素位置相應(yīng)的像素所需存儲器地址的尺寸的簡化示意圖。圖5A-5H顯示顯示區(qū)102內(nèi)的圖像304。一個像素位于圖像304內(nèi)的像素位置504處。這些附圖還顯示起始地址502的位置和存儲器地址遞增方向506。在一個實施例中,按如下公式計算各種旋轉(zhuǎn)的起始地址502零度旋轉(zhuǎn)的起始地址=起始地址;90度旋轉(zhuǎn)的起始地址=起始地址+(圖像寬度-1);180度旋轉(zhuǎn)的起始地址=起始地址+[(圖像寬度*圖像高度)-1];以及270度旋轉(zhuǎn)的起始地址=起始地址+[圖像寬度*(圖像高度-1)]。
例如,如圖4所示,零度旋轉(zhuǎn)的起始地址是0。另一方面,90度的起始位置是4。再次參照圖5A-5H,存儲器地址遞增方向506的顯示旋轉(zhuǎn)和鏡像之后顯示管道讀取的存儲器地址順序。實際上,存儲器地址遞增方向506顯示旋轉(zhuǎn)之前最初存儲器地址的映射。例如,在圖4旋轉(zhuǎn)90度的情況中,存儲器地址遞增方向從左向右,對于頂部水平線,顯示管道按4、9、14和24的順序讀存儲器地址。
如圖5A所示,圖像304既未執(zhí)行旋轉(zhuǎn)且未執(zhí)行鏡像。在一個實施例中,按如下公式計算在未執(zhí)行旋轉(zhuǎn)和鏡像的情況下,像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(B′-D′)*E′+(A′-C′)]*2。如圖5A所示,A′表示相對于顯示區(qū)102的左上角306的X像素位置。
B′表示相對于顯示區(qū)102的左上角306的Y像素位置。
C′表示計算得到的相對于顯示區(qū)102的左上角306的X起始坐標(biāo)。
D′表示計算得到的相對于顯示區(qū)102的左上角306的Y起始坐標(biāo)。
E′表示圖像304的寬度。上述尺寸(即A′、B′、C′等)參照的是顯示區(qū)102的左上角306。但是,這些尺寸也可以參照顯示區(qū)102內(nèi)任何適合的點。參考點的其它示范實施例還可以包括顯示區(qū)102的右上角、該顯示區(qū)的左下角以及該顯示區(qū)的右下角。
圖5B顯示旋轉(zhuǎn)90度但未執(zhí)行鏡像的圖像304。在一個實施例中,按如下公式計算在旋轉(zhuǎn)90度但未執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(F′+C′-A′-1)*E′+(B′-D′)]*2。
如圖5B所示,F(xiàn)′表示圖像304的高度。
圖5C顯示旋轉(zhuǎn)180度但未執(zhí)行鏡像的圖像304。如圖5C所示,在一個實施例中,按如下公式計算在旋轉(zhuǎn)180度但未執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(F′+D′-B′-1)*E′+(E′+C′-A′-1)]*2圖5D顯示旋轉(zhuǎn)270度但未執(zhí)行鏡像的圖像304。如圖5D所示,在一個實施例中,按如下公式計算在旋轉(zhuǎn)270度但未執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(D′-C′)*E′+(E′+D′-B′-1)]*2圖5E顯示未旋轉(zhuǎn)但執(zhí)行鏡像的圖像304。如圖5E所示,在一個實施例中,按如下公式計算在未旋轉(zhuǎn)但執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(B′-D′)*E′+(E′+C′-A′-1)]*2圖5F顯示旋轉(zhuǎn)90度且執(zhí)行鏡像的圖像304。如圖5F所示,在一個實施例中,按如下公式計算在旋轉(zhuǎn)90度且執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(A′-C′)*E′+(B′-D′)]*2
圖5G顯示旋轉(zhuǎn)180度且執(zhí)行鏡像的圖像304。如圖5G所示,在一個實施例中,按如下公式計算在旋轉(zhuǎn)180度且執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(F′+D′-B′-1)*E′+(A′-C′)]*2最后,圖5H顯示旋轉(zhuǎn)270度且執(zhí)行鏡像的圖像304。如圖5H所示,在一個實施例中,按如下公式計算在旋轉(zhuǎn)270度且執(zhí)行鏡像的情況下圖像304的像素位置504所對應(yīng)的存儲器地址存儲器地址=起始地址+[(F′+C′-A′-1)*E′+(E′+D′-B′-1)]*2圖6是說明根據(jù)本發(fā)明一實施例,用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的裝置的簡化示意圖。裝置602包括任何適合類型的計算設(shè)備。例如,裝置602可以是個人數(shù)字助理、蜂窩電話、Web圖形輸入板、分組個人計算機(jī)等。如圖6所示,裝置602包括中央處理單元(CPU)604、存儲器606、顯示控制器608和顯示器610。顯示器610可以包括液晶(LCD)顯示器、薄膜晶體管(TFT)顯示器、陰極射線管(CRT)監(jiān)視器、電視機(jī)等。存儲器606的實例包括靜態(tài)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)等。
顯示控制器608耦合到CPU 604、存儲器606和顯示器610。在一個實施例中,CPU 604包含用于處理用戶定義參考點的指令以及將該用戶定義參考點傳送到顯示控制器608的指令。存儲器606存儲圖像像素。但在另一個實施例中,圖像像素則存儲在顯示控制器608中所含的存儲器中。本領(lǐng)域技術(shù)人員會理解,雖然CPU 604、存儲器606和顯示控制器608圖示為互連的,但這些組件中的每一個都可以與通用總線通信以實現(xiàn)組件之間的通信。
所述的圍繞用戶定義參考點旋轉(zhuǎn)圖像的功能被結(jié)合到顯示控制器608中。在一個實施例中,顯示控制器608包括用于計算圖像位置的電路、用于計算從存儲器提取圖像像素的順序的電路以及用于根據(jù)計算得到的順序從所述存儲器提取圖像像素的電路。耦合到顯示控制器608的顯示器610然后顯示旋轉(zhuǎn)的圖像。對本領(lǐng)域技術(shù)人員而言,這里所述的功能顯然可以通過適合的硬件描述語言(HDL)綜合成固件。例如,可以采用HDL(如VERILOG)來綜合用于提供所述必需功能的固件與邏輯門布局,以提供所述圖像旋轉(zhuǎn)技術(shù)和相關(guān)功能的硬件實現(xiàn)。因此,這里所述的實施例可以任何適合的形式或格式來輸入,所述形式或格式完成所述功能且不局限于某種特定形式或格式。
圖7是說明根據(jù)本發(fā)明一實施例,圖6所示顯示控制器的更為詳細(xì)的示意圖。如圖7所示,顯示控制器608包括存儲器702、主顯示管道706、定時電路708、顯示器接口710和旋轉(zhuǎn)鏡像電路704。顯示控制器608所包括的存儲器702存儲圖像像素,而主顯示管道706從該存儲器提取存儲的圖像像素。此外,定時電路708還與主顯示管道706通信并生成水平顯示使能(Hde)信號和垂直顯示使能(Vde)信號,它主要是為所述主顯示管道提供定時控制信號。與主顯示管道706耦合的顯示器接口710提供至顯示器的接口。
旋轉(zhuǎn)鏡像電路704包括用于計算圖像位置且提供從存儲器702提取圖像像素的順序的邏輯。例如,在一個實施例中,旋轉(zhuǎn)鏡像電路704包括用于執(zhí)行如下功能的硬件實現(xiàn)的邏輯接收用戶定義參考點、計算圖像位置并且計算從所述存儲器702提取圖像像素的順序。所述的用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的功能不局限于旋轉(zhuǎn)鏡像電路704,而是可以集成到顯示控制器608的任何適合的部件中。例如,在另一個實施例中,上述硬件實現(xiàn)的邏輯可以集成到主顯示管道706中。
概而言之,上述發(fā)明提供了一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的裝置、顯示控制器和硬件實現(xiàn)方法。較之用于旋轉(zhuǎn)圖像的常規(guī)軟件計算方法,為旋轉(zhuǎn)圖像而計算從存儲器提取圖像像素的順序的計算不但快得多,而且較簡單,只需要較少的處理能力。因此,結(jié)合了上述發(fā)明的具有有限電力、存儲器及計算能力的小型便攜式設(shè)備結(jié)合上述發(fā)明可以令人滿意地處理圖像且將其作動畫處理。
根據(jù)上述實施例,應(yīng)理解,本發(fā)明可采用涉及存儲在計算機(jī)系統(tǒng)中的數(shù)據(jù)的各種計算機(jī)實現(xiàn)的操作。這些操作是需要對物理量進(jìn)行物理操縱的操作。一般但非必需,這些物理量采取可存儲、傳遞、組合、比較及可進(jìn)行其它操作的電信號或磁信號的形式。此外,所執(zhí)行的操作通常在術(shù)語上是指例如產(chǎn)生、識別、確定或比較。
所述的構(gòu)成本發(fā)明一部分的任何操作均為有用的機(jī)器操作。本發(fā)明還涉及執(zhí)行這些操作的設(shè)備或裝置。這些裝置可以是專門針對所需目的構(gòu)造的,也可以是由存儲在通用計算機(jī)中的計算機(jī)程序選擇性地激活或配置的該計算機(jī)。具體來說,可以采用利用根據(jù)本文所述發(fā)明原理編寫的計算機(jī)程序的各種通用機(jī)器,或者,更方便的是構(gòu)造更為專用的裝置來執(zhí)行所需操作。
本發(fā)明可以采用其它計算機(jī)系統(tǒng)結(jié)構(gòu)來實施,這些結(jié)構(gòu)包括手持設(shè)備、微處理器系統(tǒng)、基于微處理器或可編程的消費電子產(chǎn)品、迷你型計算機(jī)、主機(jī)計算機(jī)等。雖然為便于理解在一定程度上詳細(xì)地介紹了本發(fā)明,但顯然可以在所附權(quán)利要求的范圍內(nèi)對本發(fā)明作某些修改和變化。因此,上述實施例應(yīng)視為說明性而非限制性的,本發(fā)明不應(yīng)局限于所給出的具體細(xì)節(jié),而是可以在所附權(quán)利要求的范圍內(nèi)進(jìn)行修改。在所附權(quán)利要求書中,除非權(quán)利要求中明確指出,否則各部件和/或步驟并不暗示任何特定的操作順序。
權(quán)利要求
1.一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的硬件實現(xiàn)的方法,包括如下方法操作接收所述用戶定義參考點,所述用戶定義參考點可以定義在所述圖像之外;計算所述圖像的位置,所述位置定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后圖像的位置;計算從存儲器提取一個或多個圖像像素的順序,所述順序定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后圖像的旋轉(zhuǎn);以及根據(jù)所述計算的順序從存儲器提取圖像像素。
2.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于它還包括在所述計算的位置處顯示所述提取的圖像像素。
3.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于所述圖像是更大圖像的一部分。
4.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于所述圖像是子畫面。
5.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于計算所述圖像位置的所述方法操作包括計算X-起始坐標(biāo),所述X-起始坐標(biāo)通過將圖像位置相對于顯示區(qū)左上角的X偏移量減去所述用戶定義參考點相對于所述圖像左上角的X偏移量來定義;計算Y-起始坐標(biāo),所述Y-起始坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量減去所述用戶定義參考點相對于所述圖像左上角的Y偏移量來定義;計算X-終點坐標(biāo),所述X-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的X偏移量加上所述用戶定義參考點與所述圖像右邊之間的距離來定義;以及計算Y-終點坐標(biāo),所述Y-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量加上所述用戶定義參考點與所述圖像底邊之間的距離來定義,其中所述圖像不圍繞所述用戶定義參考點旋轉(zhuǎn)且未執(zhí)行鏡像。
6.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于計算所述圖像位置的所述方法操作包括計算X-起始坐標(biāo),所述X-起始坐標(biāo)通過將所述圖像位置相對于顯示區(qū)左上角的X偏移量減去所述用戶定義參考點與所述圖像底邊之間的距離來定義;計算Y-起始坐標(biāo),所述Y-起始坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量減去所述用戶定義參考點相對于所述圖像左上角的X偏移量來定義;計算X-終點坐標(biāo),所述X-終點坐標(biāo)通過將所述圖像位置相對于顯示區(qū)左上角的X偏移量加上所述用戶定義參考點相對于所述圖像左上角的Y偏移量來定義;以及計算Y-終點坐標(biāo),所述Y-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量加上所述用戶定義參考點與所述圖像右邊之間的距離來定義,其中所述圖像圍繞所述用戶定義參考點旋轉(zhuǎn)90度且未執(zhí)行鏡像。
7.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于計算所述圖像位置的所述方法操作包括計算X-起始坐標(biāo),所述X-起始坐標(biāo)通過將所述圖像位置相對于顯示區(qū)左上角的X偏移量減去所述用戶定義參考點相對于所述圖像左上角的X偏移量來定義;計算Y-起始坐標(biāo),所述Y-起始坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量減去所述用戶定義參考點與所述圖像底邊之間的距離來定義;計算X-終點坐標(biāo),所述X-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的X偏移量加上所述用戶定義參考點與所述圖像右邊之間的距離來定義;以及計算Y-終點坐標(biāo),所述Y-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量加上所述用戶定義參考點相對于所述圖像左上角的Y偏移量來定義,其中所述圖像圍繞所述用戶定義參考點旋轉(zhuǎn)180度且執(zhí)行鏡像。
8.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于計算所述圖像位置的所述方法操作包括計算X-起始坐標(biāo),所述X-起始坐標(biāo)通過將所述圖像位置相對于顯示區(qū)左上角的X偏移量減去所述用戶定義參考點與所述圖像底邊之間的距離來定義;計算Y-起始坐標(biāo),所述Y-起始坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量減去所述用戶定義參考點與所述圖像右邊之間的距離來定義;計算X-終點坐標(biāo),所述X-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的X偏移量加上所述用戶定義參考點相對于所述圖像左上角的Y偏移量來定義;計算Y-終點坐標(biāo),所述Y-終點坐標(biāo)通過將所述圖像位置相對于所述顯示區(qū)左上角的Y偏移量加上所述用戶定義參考點相對于所述圖像左上角的X偏移量來定義,其中所述圖像圍繞所述用戶定義參考點旋轉(zhuǎn)270度且執(zhí)行鏡像。
9.如權(quán)利要求1所述的硬件實現(xiàn)的方法,其特征在于計算從所述存儲器提取圖像像素的順序的所述方法操作包括將所述圖像的像素位置與存儲在所述存儲器中的所述圖像像素的存儲器地址相關(guān)聯(lián);所述關(guān)聯(lián)定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后所述圖像的旋轉(zhuǎn)。
10.如權(quán)利要求9所述的硬件實現(xiàn)的方法,其特征在于將所述圖像的像素位置與存儲在所述存儲器中的所述圖像像素的存儲器地址相關(guān)聯(lián)的所述方法操作包括計算在所述像素位置要讀的存儲器地址,所述存儲器地址通過下式定義起始地址+[(F′+D′-B′-1)*E′+(E′+C′-A′-1)]*2,其中所述圖像圍繞所述用戶定義參考點旋轉(zhuǎn)180度且未執(zhí)行鏡像。
11.如權(quán)利要求10所述的硬件實現(xiàn)的方法,其特征在于A′表示相對于顯示區(qū)左上角的X像素位置;B′表示相對于所述顯示區(qū)左上角的Y像素位置;C′表示計算得到的相對于所述顯示區(qū)左上角的X起始坐標(biāo);D′表示計算得到的相對于所述顯示區(qū)左上角的Y起始坐標(biāo);E′表示所述圖像的寬度;以及F′表示所述圖像的高度。
12.如權(quán)利要求9所述的硬件實現(xiàn)的方法,其特征在于將所述圖像的像素位置與存儲在所述存儲器中的所述圖像像素的存儲器地址相關(guān)聯(lián)的所述方法操作包括計算在所述像素位置要讀的存儲器地址,所述存儲器地址通過下式定義起始地址+[(D′-C′)*E′+(E′+D′-B′-1)]*2,其中所述圖像圍繞所述用戶定義參考點旋轉(zhuǎn)270度且未執(zhí)行鏡像。
13.如權(quán)利要求9所述的硬件實現(xiàn)的方法,其特征在于將所述圖像的像素位置與存儲在所述存儲器中的所述圖像像素的存儲器地址相關(guān)聯(lián)的所述方法操作包括計算在所述像素位置要讀的存儲器地址,所述存儲器地址通過下式定義起始地址+[(B′-D′)*E′+(E′+C′-A′-1)]*2,其中所述圖像不圍繞所述用戶定義參考點旋轉(zhuǎn)但執(zhí)行鏡像。
14.如權(quán)利要求9所述的硬件實現(xiàn)的方法,其特征在于將所述圖像的像素位置與存儲在所述存儲器中的所述圖像像素的存儲器地址相關(guān)聯(lián)的所述方法操作包括計算在所述像素位置要讀的存儲器地址,所述存儲器地址通過下式定義起始地址+[(A′-C′)*E′+(B′-D′)]*2,其中所述圖像圍繞所述用戶定義參考點旋轉(zhuǎn)90度且執(zhí)行鏡像。
15.一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的顯示控制器,包括配置為存儲圖像像素的存儲器;配置為從所述存儲器提取所述存儲的圖像像素的主顯示管道;以及與所述主顯示管道耦合的旋轉(zhuǎn)鏡像電路,它配置為計算圍繞所述用戶定義參考點的所述圖像旋轉(zhuǎn);所述旋轉(zhuǎn)鏡像電路包括用于接收所述用戶定義參考點的邏輯;用于計算所述圖像位置的邏輯,所述位置定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后所述圖像的位置;以及用于計算從所述存儲器提取所述圖像像素的順序的邏輯,所述順序定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后所述圖像的旋轉(zhuǎn)。
16.如權(quán)利要求15所述的顯示控制器,其特征在于還包括與所述主顯示管道耦合的顯示器接口,所述顯示器接口配置為與顯示器接口;以及與所述主顯示管道耦合的定時電路,所述定時電路配置為向所述主顯示管道提供定時控制信號。
17.如權(quán)利要求15所述的顯示控制器,其特征在于所述用戶定義參考點可以定義在所述圖像之外。
18.如權(quán)利要求15所述的顯示控制器,其特征在于所述存儲器是靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)之一。
19.如權(quán)利要求15所述的顯示控制器,其特征在于所述圖像是更大圖像的一部分。
20.如權(quán)利要求15所述的顯示控制器,其特征在于所述圖像是子畫面。
21.如權(quán)利要求20所述的顯示控制器,其特征在于所述子畫面是更大圖形圖像中的動畫圖形圖像。
22.如權(quán)利要求15所述的顯示控制器,其特征在于所述邏輯是以硬件方式實現(xiàn)的。
23.一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的裝置,包括顯示控制器,其又包括用于計算所述圖像位置的電路,所述位置定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后所述圖像的位置;用于計算從配置為存儲圖像像素的存儲器中提取圖像像素的順序的電路,所述順序定義圍繞所述用戶定義參考點旋轉(zhuǎn)之后所述圖像的旋轉(zhuǎn);用于根據(jù)所述計算的順序從所述存儲器提取圖像像素的電路;中央處理單元(CPU),所述CPU含有處理所述用戶定義參考點并將所述用戶定義參考點傳送到所述顯示控制器的指令;以及與所述顯示控制器耦合的顯示器,該顯示器能夠顯示所述動畫圖像。
24.如權(quán)利要求23所述的裝置,其特征在于所述用戶定義參考點可以定義在所述圖像之外。
25.如權(quán)利要求23所述的裝置,其特征在于所述圖像是所述顯示區(qū)的一部分。
26.如權(quán)利要求23所述的裝置,其特征在于所述圖像是子畫面。
27.如權(quán)利要求26所述的裝置,其特征在于所述子畫面是所述顯示區(qū)中的動畫圖形圖像。
28.如權(quán)利要求23所述的裝置,其特征在于所述顯示器是從液晶顯示器(LCD)、薄膜晶體管(TFT)顯示器、陰極射線管(CRT)監(jiān)視器和電視機(jī)構(gòu)成的集合中選擇的。
29.如權(quán)利要求23所述的裝置,其特征在于所述存儲器是從靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)構(gòu)成的集合中選擇的。
全文摘要
提供了一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的硬件實現(xiàn)的方法。在此方法中,接收用戶定義參考點,該用戶定義參考點可以在圖像之外定義。然后,計算圖像的一個位置,由此該位置定義了圍繞用戶定義參考點旋轉(zhuǎn)之后所述圖像的位置。然后計算從存儲器提取一個或多個圖像像素的順序。該順序定義圍繞用戶定義參考點旋轉(zhuǎn)之后所述圖像的旋轉(zhuǎn)。此后,根據(jù)計算的順序從存儲器提取圖像像素。還描述了一種用于圍繞用戶定義參考點旋轉(zhuǎn)圖像的裝置和顯示控制器。
文檔編號G09G5/36GK1694157SQ200510070138
公開日2005年11月9日 申請日期2005年4月30日 優(yōu)先權(quán)日2004年5月6日
發(fā)明者B·S·賴, G·萊昂斯, 黎國立 申請人:精工愛普生株式會社