專利名稱:用于使用圖像條和循環(huán)尋址排列進(jìn)行圖像數(shù)據(jù)處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)器管理,并且特別地,本發(fā)明涉及提高圖形處理系統(tǒng)內(nèi)的存儲(chǔ)器效率。
背景技術(shù):
在現(xiàn)代計(jì)算機(jī)系統(tǒng)眾多的優(yōu)點(diǎn)當(dāng)中,其之一就是其制造逼真的圖表顯示的能力。因此,計(jì)算機(jī)系統(tǒng)已成為多種圖形領(lǐng)域中廣泛應(yīng)用的工具,如攝影和圖形設(shè)計(jì)。然而,為此目的而增強(qiáng)的計(jì)算機(jī)應(yīng)用具有提高了設(shè)計(jì)復(fù)雜程度并且相應(yīng)地也提高了制造圖像軟件復(fù)雜程度的效果。
現(xiàn)有技術(shù)通過(guò)計(jì)算機(jī)系統(tǒng)增加更多處理能力來(lái)響應(yīng)于該需求。例如,許多計(jì)算機(jī)系統(tǒng)有專用圖形處理器,該專用圖形處理器被專門設(shè)計(jì)用于減少主處理器上的計(jì)算負(fù)荷。因此,許多這種計(jì)算機(jī)具有超過(guò)其他計(jì)算機(jī)元件(如主存儲(chǔ)器(即RAM)或高速緩沖存儲(chǔ)器)速度的處理速度。實(shí)際上,許多傳統(tǒng)的個(gè)人計(jì)算機(jī)具有其獨(dú)自超過(guò)主存儲(chǔ)器和高速緩沖存儲(chǔ)器速度的主處理器。相應(yīng)地,盡管處理器的速度提高了,但主存儲(chǔ)器和高速緩沖存儲(chǔ)器會(huì)在計(jì)算機(jī)系統(tǒng)內(nèi)制造處理瓶頸,不合需要地阻礙圖像光柵化過(guò)程。
發(fā)明內(nèi)容
根據(jù)本發(fā)明一方面,一種相對(duì)高速循環(huán)存儲(chǔ)設(shè)備,其結(jié)合其他的過(guò)程,提高圖像處理效率。為達(dá)到此目的,一種處理存儲(chǔ)在初始存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)的方法和裝置將圖像邏輯分成多個(gè)相鄰的條。第一多條存儲(chǔ)在具有循環(huán)尋址布置的工作存儲(chǔ)器內(nèi),其中該工作存儲(chǔ)器快于初始存儲(chǔ)器速度并且有多個(gè)順序的地址位置。該第一多條是相鄰的,并具有起始地址。此外,該第一多條以相鄰方式存儲(chǔ)在工作存儲(chǔ)器內(nèi),并通過(guò)工作存儲(chǔ)器相對(duì)于起始地址進(jìn)行處理。
在一些實(shí)施例中,當(dāng)不同條的相鄰部分(在多條內(nèi))存儲(chǔ)在工作存儲(chǔ)器的相鄰地址位置時(shí),該第一多條被認(rèn)為是以相鄰方式存儲(chǔ)的。為維持循環(huán)性,工作存儲(chǔ)器可具有第一存儲(chǔ)位置和最新存儲(chǔ)位置,其中第一存儲(chǔ)位置邏輯上與最新存儲(chǔ)位置相鄰。而且,在處理過(guò)程中,可計(jì)算從起始地址開(kāi)始的偏移量。
在其他一些實(shí)施例中,當(dāng)該第一多條被處理時(shí)新的條被存儲(chǔ)在工作存儲(chǔ)器內(nèi)。該新的條與第一多條相鄰。因此,來(lái)自該第一多條的至少一個(gè)條與新的條一起處理。工作存儲(chǔ)器可劃分為給定數(shù)量的條區(qū)域,并且每個(gè)條中的圖像數(shù)據(jù)包括多個(gè)圖像數(shù)據(jù)行。在這些實(shí)施例中,根據(jù)條區(qū)域的給定數(shù)量,可通過(guò)移位用于存儲(chǔ)在工作存儲(chǔ)器內(nèi)的多個(gè)行來(lái)存儲(chǔ)條。
根據(jù)本發(fā)明的其他方面,一種用于處理存儲(chǔ)在被邏輯地分成多個(gè)相鄰條的初始存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)的裝置包括用于以循環(huán)方式訪問(wèn)工作存儲(chǔ)器的地址管理器。工作存儲(chǔ)器快于初始存儲(chǔ)器并有多個(gè)順序的地址位置。該裝置還包括數(shù)據(jù)傳輸設(shè)備,其將第一多條存儲(chǔ)于工作存儲(chǔ)器,其中該第一多條是相鄰的并有起始地址。該第一多條以相鄰方式存儲(chǔ)在工作存儲(chǔ)器內(nèi)。該裝置還包括處理器,用于通過(guò)工作存儲(chǔ)器相對(duì)于起始地址處理第一多條。
本發(fā)明的說(shuō)明性實(shí)施例實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品,該產(chǎn)品具有在其上帶有計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可用介質(zhì)。根據(jù)傳統(tǒng)的過(guò)程,計(jì)算機(jī)系統(tǒng)可以讀取和使用該計(jì)算機(jī)可讀編碼。
通過(guò)下面結(jié)合附圖進(jìn)行更詳細(xì)的說(shuō)明,將會(huì)更加全面地理解本發(fā)明的上述內(nèi)容和優(yōu)勢(shì),在附圖中 圖1示意性地示出了能實(shí)現(xiàn)說(shuō)明性實(shí)施例的示例計(jì)算機(jī)系統(tǒng)。
圖2示意性地示出了根據(jù)本發(fā)明說(shuō)明性實(shí)施例可進(jìn)行處理的圖形圖像幀。
圖3顯示可用來(lái)處理圖像的兩個(gè)存儲(chǔ)設(shè)備 圖4A顯示圖3中所示的第二存儲(chǔ)器(高速緩沖存儲(chǔ)器)配置的附加細(xì)節(jié)。
圖4B是圖4A中所示的第二存儲(chǔ)器另一個(gè)邏輯視圖。
圖5顯示圖2中所示的處理圖像的說(shuō)明性方法。
圖6顯示圖3、4A和4B所示的跨越通過(guò)第二存儲(chǔ)器的說(shuō)明性方法。
具體實(shí)施例方式 在本發(fā)明的說(shuō)明性實(shí)施例中,計(jì)算機(jī)系統(tǒng)內(nèi)的圖像數(shù)據(jù)從較慢存儲(chǔ)器向較快、循環(huán)配置的存儲(chǔ)器傳輸以進(jìn)行處理。下面將討論示例性 實(shí)施例的細(xì)節(jié)。
圖1是在其上能實(shí)現(xiàn)說(shuō)明性實(shí)施例的示例計(jì)算機(jī)系統(tǒng)的示意圖。圖1中的示例計(jì)算機(jī)系統(tǒng)100僅用于說(shuō)明的目的,不應(yīng)被認(rèn)為是對(duì)本發(fā)明的限制。盡管下面的說(shuō)明會(huì)參考常用來(lái)描述特定計(jì)算機(jī)系統(tǒng)的術(shù)語(yǔ),但所描述的概念同樣可應(yīng)用于其他的計(jì)算機(jī)系統(tǒng),包括具有與圖1所示結(jié)構(gòu)不相似構(gòu)造的系統(tǒng)。
計(jì)算機(jī)100包括具有傳統(tǒng)微處理器的中央處理單元(CPU)105,用于暫時(shí)存儲(chǔ)信息的主存儲(chǔ)器110(例如隨機(jī)訪問(wèn)存儲(chǔ)器,本領(lǐng)域通常被叫做“RAM”),和用于永久存儲(chǔ)只讀信息的只讀存儲(chǔ)器(ROM)115。此外,計(jì)算機(jī)100還具有用于控制系統(tǒng)RAM110的存儲(chǔ)器控制器120,和用于控制至系統(tǒng)RAM110直接存儲(chǔ)器訪問(wèn)的直接存儲(chǔ)器訪問(wèn)(DMA)控制器160。計(jì)算機(jī)100還包括用于聯(lián)接多種內(nèi)部元件的主總線130。
可由眾所周知的非易失性存儲(chǔ)介質(zhì)提供大容量存儲(chǔ),例如磁盤142,數(shù)字通用磁盤(在本領(lǐng)域通常叫做“DVD”,圖中未顯示),CD-ROM147,和硬盤152。而且,數(shù)據(jù)和軟件可通過(guò)諸如磁盤142和CD-ROM147的可移除介質(zhì)或通過(guò)網(wǎng)絡(luò)連接與計(jì)算機(jī)系統(tǒng)100進(jìn)行交換。
至計(jì)算機(jī)100的用戶輸入可由若干設(shè)備提供。例如,鍵盤156和鼠標(biāo)157可通過(guò)鍵盤和鼠標(biāo)控制器155連接至總線130。對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其他輸入設(shè)備如數(shù)碼相機(jī)、筆和/或?qū)懽职逡约罢Z(yǔ)音輸入的麥克風(fēng),可通過(guò)總線130和合適的控制器連接至計(jì)算機(jī)100,這是顯而易見(jiàn)的。
計(jì)算機(jī)系統(tǒng)100優(yōu)選地由諸如WINDOWS NT操作系統(tǒng)(由Microsoft Corp.,of Redmond,Washington發(fā)行)的操作系統(tǒng)軟件控制和協(xié)調(diào)。在其他計(jì)算機(jī)系統(tǒng)控制功能中,操作系統(tǒng)控制系統(tǒng)資源的分配,并執(zhí)行系統(tǒng)任務(wù),如過(guò)程調(diào)度、存儲(chǔ)器管理、聯(lián)網(wǎng)以及I/O業(yè)務(wù)。除此之外,說(shuō)明性實(shí)施例(其與存儲(chǔ)器管理相關(guān))可實(shí)現(xiàn)為為操作系統(tǒng)的一部分或作為獨(dú)立的程序。
圖2是根據(jù)本發(fā)明的說(shuō)明性實(shí)施例可進(jìn)行處理的圖形圖像162的幀示意圖。圖形圖像162可以是從諸如數(shù)碼相機(jī)或視頻輸入的任何已知源產(chǎn)生的數(shù)字化圖像。例如,圖像162可要求一些處理,如符合傳統(tǒng)的MPEG標(biāo)準(zhǔn)的壓縮操作的應(yīng)用。
為達(dá)到上述目的,圖形圖像162被邏輯分成多個(gè)相鄰的數(shù)據(jù)條(以下簡(jiǎn)稱“條”),這些條在邏輯上被視為形成多個(gè)相鄰的數(shù)據(jù)單元(以下簡(jiǎn)稱“單元”)。每個(gè)條由像素的二維陣列組成,該陣列構(gòu)成圖像162的其各自部分。在圖2所示的例子中,圖像162被分成七條的兩行。該每個(gè)七條的行形成六個(gè)單元。這些條被標(biāo)識(shí)成條A-N,而這些單元被標(biāo)識(shí)成單元1-12。一個(gè)單元由兩個(gè)相鄰的條組成。例如,條A和B形成單元1。下表表示圖2中單元和其相應(yīng)的條 單元條 1 A,B 2 B,C 3 C,D 4 D,E 5 E,F(xiàn) 6 F,G 7 H,I 8 I,J 9 J,K 10 K,L 11 L,M 12 M,N 單元形成于每行中,從而每個(gè)中間的單元(即每行中既不是第一個(gè)單元也不是最后一個(gè)單元)與前一個(gè)和其后的單元重疊。例如,單元2由條B和條C形成,而單元3由條C和條D形成。因此,單元2和單元3共享?xiàng)lC。同樣,單元1和單元2共享?xiàng)lB。如下面所進(jìn)行的更詳細(xì)的描述,該重疊通過(guò)在計(jì)算機(jī)100內(nèi)部存儲(chǔ)器系統(tǒng)內(nèi)允許流水線操作,促進(jìn)了并行處理。對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),條的邏輯分配的優(yōu)勢(shì),如提高處理速度,是顯而易見(jiàn)的。
不過(guò)應(yīng)當(dāng)注意到,圖2中所示的邏輯條和單元僅作為示例,并非建議只有該數(shù)量的條和單元才足夠。在一些實(shí)施例中,例如,單元可以由三個(gè)條或一個(gè)條組成。相應(yīng)地,對(duì)于特定的條和單元的大小/數(shù)量的闡述并不限制本發(fā)明各種實(shí)施例的范圍。
圖2所示的圖像162的條和單元說(shuō)明性地在圖像162在快速存儲(chǔ)器內(nèi)被處理之前邏輯地形成。圖3顯示兩個(gè)可用來(lái)處理這種邏輯劃分的圖像162的存儲(chǔ)設(shè)備。在高級(jí),圖像162最初被存儲(chǔ)在初始存儲(chǔ)設(shè)備中(初始存儲(chǔ)器164),然后以逐條方式傳輸至工作存儲(chǔ)設(shè)備(工作存儲(chǔ)器166)。工作存儲(chǔ)器166具有快于初始存儲(chǔ)器164的速度的速度。當(dāng)圖像162在工作存儲(chǔ)器166中時(shí),CPU處理該圖像162。
更為具體地,參考圖3,初始存儲(chǔ)器164可以是外部SDRAM(同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器),其儲(chǔ)存全部圖像162。DMA控制器將圖像162的條傳輸至工作存儲(chǔ)器166,在本例中,該工作存儲(chǔ)器166是內(nèi)部高速緩沖存儲(chǔ)器。下面參照?qǐng)D5和圖6對(duì)傳輸和處理圖像162的方法作更詳細(xì)的說(shuō)明。不過(guò)應(yīng)當(dāng)注意到,盡管已經(jīng)討論了SDRAM和高速緩沖存儲(chǔ)器,但也可以使用能達(dá)到此相對(duì)速度的其他類型的存儲(chǔ)器。相應(yīng)地,在許多實(shí)施例中,任何將數(shù)據(jù)傳輸給較快存儲(chǔ)器用于處理的較慢存儲(chǔ)器應(yīng)是足夠的。
圖4A顯示圖3中所示的第二存儲(chǔ)器(高速緩沖存儲(chǔ)器)配置的附加細(xì)節(jié)。工作存儲(chǔ)器166配置為具有地址位置(也叫做“存儲(chǔ)位置”)集編號(hào),該每個(gè)地址位置存儲(chǔ)用于圖像162內(nèi)一個(gè)像素的數(shù)據(jù)。例如,圖4A所示的工作存儲(chǔ)器166具有用于96個(gè)像素?cái)?shù)據(jù)的地址位置。每個(gè)地址位置的大小適當(dāng),以用來(lái)存儲(chǔ)從初始存儲(chǔ)器164接收到的未處理的圖像數(shù)據(jù)。相應(yīng)地,每個(gè)地址位置應(yīng)有足夠的空間存儲(chǔ)色彩(如紅、綠和藍(lán))、透明度、深度以及其他給定像素所需的數(shù)據(jù)。
在處理過(guò)程中,每個(gè)地址位置可被連續(xù)地跨越。例如,如果要讀取的第一個(gè)地址位置為0,則要讀取的第二個(gè)地址位置為1,并且其后讀取的地址位置為2等等…。在替代的實(shí)施例中,地址位置不是被連續(xù)處理。但是,在上述任一個(gè)實(shí)施例中,選擇一個(gè)基地址(下面將進(jìn)行討論,通常叫做“起始地址”),并且處理是相應(yīng)于該基地址進(jìn)行。更具體地,處理是以相對(duì)于該基地址的偏移來(lái)進(jìn)行。例如,如果基地址是地址位置4,然后到處理地址位置6-8,則邏輯規(guī)定處理距離基地址的地址位置偏移2-4。
根據(jù)說(shuō)明性實(shí)施例,工作存儲(chǔ)器166配置為循環(huán)存儲(chǔ)器。相應(yīng)地,當(dāng)?shù)刂肺恢?5被讀取、跳過(guò)或另外被跨越之后,處理回到地址位置0。而且,工作存儲(chǔ)器166被邏輯分成兩個(gè)或更多的對(duì)應(yīng)于圖像162中的條的組。更具體地,如圖4A所示的工作存儲(chǔ)器166被劃分成三個(gè)相等大小的塊。這些塊以下簡(jiǎn)稱為第一塊166A,第二塊166B和第三塊166C。每個(gè)存儲(chǔ)塊配置為具有與圖像數(shù)據(jù)條的地址位置相同總數(shù)量的地址位置。在說(shuō)明性實(shí)施例中,每個(gè)存儲(chǔ)塊因此被配置成具有與圖像162的條完全相同的二維大小。
圖4B是圖4A所示的工作存儲(chǔ)器166的另一個(gè)邏輯視圖。具體地說(shuō),對(duì)于指針或其他存儲(chǔ)器跨越裝置,工作存儲(chǔ)器166出現(xiàn)作為地址位置的一維陣列。在所示的例子中,當(dāng)跨越地址位置95之后,就讀取/跳過(guò)或跨越地址位置0。然而相鄰的圖像數(shù)據(jù)存儲(chǔ)在該地址位置內(nèi),如圖4A所示。
按照與本發(fā)明其他要素類似的方式,圖4A和圖4B所示的地址位置的總數(shù)量?jī)H作示例。可相應(yīng)地使用不同數(shù)量的地址位置和分區(qū),并可使用不同大小的存儲(chǔ)器。對(duì)于特定大小的討論并不限制本發(fā)明的范圍。
圖5是圖2所示的處理圖像162的方法。該方法從步驟500開(kāi)始,其中,圖像162被邏輯劃分成多個(gè)條。例如,可按圖2所示劃分圖像162。根據(jù)圖像162的大小,該圖像162可被劃分成一行或更多行的條,如上所述,每行形成多個(gè)重疊單元。對(duì)于在圖像162內(nèi)的每行執(zhí)行剩余步驟。
具體地,然后將相鄰條的第一多集從初始存儲(chǔ)器164(即較慢存儲(chǔ)器,如2級(jí)存儲(chǔ)器)傳輸至工作存儲(chǔ)器166(即較快存儲(chǔ)器,如1級(jí)存儲(chǔ)器)。在說(shuō)明性實(shí)施例中,條A和條B(即單元1)可首先裝載進(jìn)工作存儲(chǔ)器166的第一和第二塊166A和166B。如圖所示,這些條被連續(xù)地裝載進(jìn)工作存儲(chǔ)器166。更具體地,在兩個(gè)相鄰條之間的相鄰像素被存儲(chǔ)在工作存儲(chǔ)器166內(nèi)相鄰的地址位置中。在所示的例子中,該兩個(gè)相鄰的條在相同的行內(nèi)有相同的像素。
為實(shí)現(xiàn)此目的,DMA控制器被配置成2D-DMA。除此之外,它說(shuō)明性地執(zhí)行兩個(gè)操作即1)“裝載”操作,用于將單元(即條集)裝載到FIFO(先入先出)管上;以及2)“存儲(chǔ)”操作,用于將圖像數(shù)據(jù)陣列從FIFO管作為像素二維陣列(即作為條或單元)存儲(chǔ)在工作存儲(chǔ)器166中。注意如上所述,每個(gè)條是形成圖像162一部分的像素?cái)?shù)據(jù)的二維陣列。相應(yīng)地,這些操作確保當(dāng)被存儲(chǔ)到初始存儲(chǔ)器164內(nèi)時(shí)維持該條數(shù)據(jù)格式。
在說(shuō)明性實(shí)施例中,用于兩個(gè)所述DMA操作的軟件語(yǔ)義如下 //The DMA_LOAD semantics movtofifo(short *in,int xc,int xs,int ye,int ys) { while(yc){ for(x=0;x<xc;x++){ *fifo_write++=*in; in+=XS; } in+=y(tǒng)s; yc--; } } //The DMLA_STORE semantics; movfromfifo(short *out,int xc,int xs,int yc,int ys) { while(yc){ for(x=0;x<xc;x++){ *out=*fifo_read++; out+=xs; } out+=y(tǒng)s; yc--; }<!-- SIPO <DP n="8"> --><dp n="d8"/> } //Parameters xs-the x stride xc-the x count ys-the y stride yc-the y count sz-the element size 8bit,16bit,32bit 當(dāng)?shù)谝粭l集裝載之后,然后在步驟504設(shè)置一對(duì)指針。更具體地,該系統(tǒng)配置成具有指向給定單元第一地址位置(在工作存儲(chǔ)器166內(nèi))的基指針和指向相對(duì)于該基指針的偏移的地址位置(也在工作存儲(chǔ)器166內(nèi))的讀取指針。最初,該兩個(gè)指針都指向相同的地址位置。例如,該指針最初設(shè)置成指向條A內(nèi)的第一地址位置。如圖6所示(如下所述),每當(dāng)處理一個(gè)新的單元,基指針就遞增地址位置集編號(hào),而當(dāng)每個(gè)單元被跨越后讀取指針在該單元內(nèi)連續(xù)遞增一次(用于每個(gè)地址位置)。
相應(yīng)地,該方法進(jìn)行到步驟506,其中,根據(jù)如下參考圖6所述的方法,處理當(dāng)前的條集(即,當(dāng)前被處理的單元)。然后在步驟508確定被處理的行是否有附加的條用于處理。如果該行的附加條不需要處理,則過(guò)程結(jié)束(針對(duì)該行)。
相反,如果附加的條需要處理,則過(guò)程繼續(xù)到步驟510,其中,下一個(gè)條集存儲(chǔ)在工作存儲(chǔ)器166內(nèi)。在圖2所示的例子中,單個(gè)數(shù)據(jù)條(如條C)存儲(chǔ)在工作存儲(chǔ)器166的下一個(gè)隨后塊,在此情形下,該下一個(gè)隨后塊就是工作存儲(chǔ)器166的第三塊166C。過(guò)程循環(huán)回到步驟504,指針被重新設(shè)置。為達(dá)到此目的,基指針和讀取指針設(shè)置成指向下一個(gè)單元的第一地址位置(如條B的第一存儲(chǔ)位置)。相應(yīng)地,處理下一個(gè)單元(由條B和條C組成),因此允許重新使用數(shù)據(jù)(即條B)。迭代此方法,直到整行被處理。如果圖像162有附加行,則對(duì)下一行重復(fù)該方法。
在說(shuō)明性實(shí)施例中,圖5所示方法的多個(gè)步驟可以不同的順序或基本同時(shí)進(jìn)行。例如,處理當(dāng)前條集時(shí)(步驟506),CPU105可確定是否要處理附加的條(步驟508),并且如果是,它將這些條存儲(chǔ)在工作存儲(chǔ)器166的下一個(gè)塊中(步驟510)。相應(yīng)地,一些實(shí)施例將這些步驟組合進(jìn)一個(gè)基本并行的操作中。
圖6顯示了步驟506所引用的處理當(dāng)前條集的方法。該方法從步驟600開(kāi)始,其中,基指針和讀取指針被定位。該步驟可以隱含在過(guò)程中,因而它在多種實(shí)施例中不是必需的步驟。該過(guò)程然后繼續(xù)到步驟602,其中,讀取地址位置集用于處理。為達(dá)到此目的,讀取指針遞增,以從基指針讀取地址位置集編號(hào)。在本文討論的示例中,讀取指針遞增八次,以讀取在其當(dāng)前單元內(nèi)的第一八個(gè)地址位置中的每一個(gè)。相應(yīng)地,該步驟允許讀取具有單元數(shù)據(jù)的工作存儲(chǔ)器166的兩個(gè)相鄰塊的一部分。
當(dāng)?shù)刂肺恢眉蛔x取后,然后讀取指針跳過(guò)下一個(gè)隨后的地址位置集(步驟604)。在所示的例子中,讀取指針跳過(guò)隨后的四個(gè)地址位置。該步驟允許該方法跳過(guò)沒(méi)有單元數(shù)據(jù)的工作存儲(chǔ)器166的那一個(gè)塊。然后在步驟606確定讀取指針是否指向與由基指針?biāo)赶虻牡刂废嗤牡刂?即基地址)。如果是,則該方法結(jié)束,因?yàn)檎麄€(gè)單元已經(jīng)存儲(chǔ)在工作存儲(chǔ)器166內(nèi)。相反,如果讀取指針指向不同的地址位置,則過(guò)程循環(huán)回到步驟602,其中,讀取下一個(gè)地址位置集編號(hào)。相應(yīng)地,迭代此方法直到整個(gè)單元存儲(chǔ)在工作存儲(chǔ)器166內(nèi)。如上所述,在讀取地址位置后,CPU105會(huì)執(zhí)行一些處理功能,如壓縮圖像數(shù)據(jù)。
相應(yīng)地,圖5和圖6中所描述的方法允許將像素?cái)?shù)據(jù)的二維陣列存儲(chǔ)在工作存儲(chǔ)器166內(nèi)。從基指針讀取/存儲(chǔ)過(guò)程開(kāi)始和配置工作存儲(chǔ)器作為循環(huán)存儲(chǔ)器,使得該方法能有效地完成。
下面例子說(shuō)明圖4A所示的工作存儲(chǔ)器166內(nèi)的所述方法的九個(gè)迭代。更具體地,該例子從圖像處理的九個(gè)迭代來(lái)顯示工作存儲(chǔ)器166的內(nèi)容。圖像162像素可按行順序地尋址。換句話說(shuō),每行有64個(gè)可順序?qū)ぶ返南袼匚恢?。該例子的參?shù)如下 圖像大小64×64 條大小4×8 條數(shù)每行16條,8個(gè)條行,總共128條 單元大小8×8(2條) 循環(huán)尋址大小3*4*8 在下面的例子中,圖像162內(nèi)的每個(gè)像素以下列格式標(biāo)識(shí)“a(行,列)”。因此,如標(biāo)記“a(0,1)”表示用于位于圖像162的0行和列1中的像素的像素?cái)?shù)據(jù)。此外,工作存儲(chǔ)器166第一列內(nèi)的每個(gè)存儲(chǔ)位置的地址編號(hào)在緊挨工作存儲(chǔ)器166第一列的左端列出。當(dāng)然,參照?qǐng)D4A,可確定所有在示例工作存儲(chǔ)器166內(nèi)的地址。最后,每個(gè)迭代的基地址大寫并加下劃線,而接收?qǐng)D像數(shù)據(jù)的存儲(chǔ)部分用加粗。
模擬輸出 迭代(1),基地址=0。A
a
a
a
a
a
a
a
N/A N/A N/A N/Aa[1,0]a[1,1]a[1,2]a[1,3]a[1,4]a[1,5]a[1,6]a[1,7] N/A N/A N/A N/Aa[2,0]a[2,1]a[2,2]a[2,3]a[2,4]a[2,5]a[2,6]a[2,7] N/A N/A N/A N/Aa[3,0]a[3,1]a[3,2]a[3,3]a[3,4]a[3,5]a[3,6]a[3,7] N/A N/A N/A N/Aa[4,0]a[4,1]a[4,2]a[4,3]a[4,4]a[4,5]a[4,6]a[4,7] N/A N/A N/A N/Aa[5,0]a[5,1]a[5,2]a[5,3]a[5,4]a[5,5]a[5,6]a[5,7] N/A N/A N/A N/Aa[6,0]a[6,1]a[6,2]a[6,3]a[6,4]a[6,5]a[6,6]a[6,7] N/A N/A N/A N/Aa[7,0]a[7,1]a[7,2]a[7,3]a[7,4]a[7,5]a[7,6]a[7,7] N/A N/A N/A N/A00000012002400360048006000720084 迭代(2),基地址=4。
a
a
a
a
A
a
a
a
a
a
a
a
a[1,0]a[1,1]a[1,2]a[1,3]a[1,4]a[1,5]a[1,6]a[1,7]a[1,8]a[1,9]a[1,10]a[1,11]a[2,0]a[2,1]a[2,2]a[2,3]a[2,4]a[2,5]a[2,6]a[2,7]a[2,8]a[2,9]a[2,10]a[2,11]a[3,0]a[3,1]a[3,2]a[3,3]a[3,4]a[3,5]a[3,6]a[3,7]a[3,8]a[3,9]a[3,10]a[3,11]a[4,0]a[4,1]a[4,2]a[4,3]a[4,4]a[4,5]a[4,6]a[4,7]a[4,8]a[4,9]a[4,10]a[4,11]a[5,0]a[5,1]a[5,2]a[5,3]a[5,4]a[5,5]a[5,6]a[5,7]a[5,8]a[5,9]a[5,10]a[5,11]a[6,0]a[6,1]a[6,2]a[6,3]a[6,4]a[6,5]a[6,6]a[6,7]a[6,8]a[6,9]a[6,10]a[6,11]a[7,0]a[7,1]a[7,2]a[7,3]a[7,4]a[7,5]a[7,6]a[7,7]a[7,8]a[7,9]a[7,10]a[7,11]00000012002400360048006000720084 迭代(3),基地址=8。a[7,12]a[7,13]a[7,14]a[7,15]a
a
a
a
A
a
a
a
a
a
a
a
a[1,4]a[1,5]a[1,6]a[1,7]a[1,8]a[1,9]a[1,10]a[1,11]a[1,12]a[1,13]a[1,14]a[1,15]a[2,4]a[2,5]a[2,6]a[2,7]a[2,8]a[2,9]a[2,10]a[2,11]a[2,12]a[2,13]a[2,14]a[2,15]a[3,4]a[3,5]a[3,6]a[3,7]a[3,8]a[3,9]a[3,10]a[3,11]a[3,12]a[3,13]a[3,14]a[3,15]a[4,4]a[4,5]a[4,6]a[4,7]a[4,8]a[4,9]a[4,10]a[4,11]a[4,12]a[4,13]a[4,14]a[4,15]a[5,4]a[5,5]a[5,6]a[5,7]a[5,8]a[5,9]a[5,10]a[5,11]a[5,12]a[5,13]a[5,14]a[5,15]a[6,4]a[6,5]a[6,6]a[6,7]a[6,8]a[6,9]a[6,10]a[6,11]a[6,12]a[6,13]a[6,14]a[6,15]a[7,4]a[7,5]a[7,6]a[7,7]a[7,8]a[7,9]a[7,10]a[7,11]00000012002400360048006000720084 迭代(4),基地址=12。a[7,12]a[7,13]a[7,14]a[7,15]a[7,16]8[7,17]a[7,18]a[7,19]a
a
a
a
A
a
a
a
a
a
a
a
a[1,8]a[1,9]a[1,10]a[1,11]a[1,12]a[1,13]a[1,14]a[1,15]a[1,16]a[1,17]a[1,18]a[1,19]a[2,8]a[2,9]a[2,10]a[2,11]a[2,12]a[2,13]a[2,14]a[2,15]a[2,16]a[2,17]a[2,18]a[2,19]a[3,8]a[3,9]a[3,10]a[3,11]a[3,12]a[3,13]a[3,14]a[3,15]a[3,16]a[3,17]a[3,18]a[3,19]a[4,8]a[4,9]a[4,10]a[4,11]a[4,12]a[4,13]a[4,14]a[4,15]a[4,16]a[4,17]a[4,18]a[4,19]a[5,8]a[5,9]a[5,10]a[5,11]a[5,12]a[5,13]a[5,14]a[5,15]a[5,16]a[5,17]a[5,18]a[5,19]a[6,8]a[6,9]a[6,10]a[6,11]a[6,12]a[6,13]a[6,14]a[6,15]a[6,16]a[6,17]a[6,18]a[6,19]a[7,8]a[7,9]a[7,10]a[7,11]00000012002400360048006000720084 迭代(5),基地址=16。a[7,12]a[7,13]a[7,14]a[7,15]a[7,16]a[7,17]a[7,18]a[7,19]a[7,20]a[7,21]a[7,22]a[7,23]a
a
a
a
A
a
a
a
a
a
a
a
a[1,12]a[1,13]a[1,14]a[1,15]a[1,16]a[1,17]a[1,18]a[1,19]a[1,20]a[1,21]a[1,22]a[1,23]a[2,12]a[2,13]a[2,14]a[2,15]a[2,16]a[2,17]a[2,18]a[2,19]a[2,20]a[2,21]a[2,22]a[2,23]a[3,12]a[3,13]a[3,14]a[3,15]a[3,16]a[3,17]a[3,18]a[3,19]a[3,20]a[3,21]a[3,22]a[3,23]a[4,12]a[4,13]a[4,14]a[4,15]a[4,16]a[4,17]a[4,18]a[4,19]a[4,20]a[4,21]a[4,22]a[4,23]a[5,12]a[5,13]a[5,14]a[5,15]a[5,16]a[5,17]a[5,18]a[5,19]a[5,20]a[5,21]a[5,22]a[5,23]a[6,12]a[6,13]a[6,14]a[6,15]a[6,16]a[6,17]a[6,18]a[6,19]a[6,20]a[6,21]a[6,22]a[6,23]00000012002400360048006000720084 迭代(6),基地址=20。a[6,24]a[6,25]a[6,26]a[6,27]a[7,16]a[7,17]a[7,18]a[7,19]a[7,20]a[7,21]a[7,22]a[7,23]a[7,24]a[7,25]a[7,26]a[7,27]a
a
a
a
A
a
a
a
a
a
a
a
a[1,16]a[1,17]a[1,18]a[1,19]a[1,20]a[1,21]a[1,22]a[1,23]a[1,24]a[1,25]a[1,26]a[1,27]a[2,16]a[2,17]a[2,18]a[2,19]a[2,20]a[2,21]a[2,22]a[2,23]a[2,24]a[2,25]a[2,26]a[2,27]a[3,16]a[3,17]a[3,18]a[3,19]a[3,20]a[3,21]a[3,22]a[3,23]a[3,24]a[3,25]a[3,26]a[3,27]a[4,16]a[4,17]a[4,18]a[4,19]a[4,20]a[4,21]a[4,22]a[4,23]a[4,24]a[4,25]a[4,26]a[4,27]a[5,16]a[5,17]a[5,18]a[5,19]a[5,20]a[5,21]a[5,22]a[5,23]a[5,24]a[5,25]a[5,26]a[5,27]a[6,16]a[6,17]a[6,18]a[6,19]a[6,20]a[6,21]a[6,22]a[6,23]00000012002400360048006000720084 迭代(7),基地址=24。a[6,24]a[6,25]a[6,26]a[6,27]a[6,28]a[6,29]a[6,30]a[6,31]a[7,20]a[7,21]a[7,22]a[7,23]a[7,24]a[7,25]a[7,26]a[7,27]a[7,28]a[7,29]a[7,30]a[7,31]a
a
a
a
A
a
a
a
a
a
a
a
a[1,20]a[1,21]a[1,22]a[1,23]a[1,24]a[1,25]a[1,26]a[1,27]a[1,28]a[1,29]a[1,30]a[1,31]a[2,20]a[2,21]a[2,22]a[2,23]a[2,24]a[2,25]a[2,26]a[2,27]a[2,28]a[2,29]a[2,30]a[2,31]a[3,20]a[3,21]a[3,22]a[3,23]a[3,24]a[3,25]a[3,26]a[3,27]a[3,28]a[3,29]a[3,30]a[3,31]a[4,20]a[4,21]a[4,22]a[4,23]a[4,24]a[4,25]a[4,26]a[4,27]a[4,28]a[4,29]a[4,30]a[4,31]a[5,20]a[5,21]a[5,22]a[5,23]a[5,24]a[5,25]a[5,26]a[5,27]a[5,28]a[5,29]a[5,30]a[5,31]a[6,20]a[6,21]a[6,22]a[6,23]00000012002400360048008000720084 迭代(8),基地址=28。a[6,24]a[6,25]a[6,26]a[6,27]a[6,28]a[6,29]a[6,30]a[6,31]a[6,32]a[6,33]a[6,34]a[6,35]a[7,24]a[7,25]a[7,26]a[7,27]a[7,28]a[7,29]a[7,30]a[7,31]a[7,32]a[7,33]a[7,34]a[7,35]a
a
a
a
A
a
a
a
a
a
a
a
a[1,24]a[1,25]a[1,26]a[1,27]a[1,28]a[1,29]a[1,30]a[1,31]a[1,32]a[1,33]a[1,34]a[1,35]a[2,24]a[2,25]a[2,26]a[2,27]a[2,28]a[2,29]a[2,30]a[2,31]a[2,32]a[2,33]a[2,34]a[2,35]a[3,24]a[3,25]a[3,26]a[3,27]a[3,28]a[3,29]a[3,30]a[3,31]a[3,32]a[3,33]a[3,34]a[3,35]a[4,24]a[4,25]a[4,26]a[4,27]a[4,28]a[4,29]a[4,30]a[4,31]a[4,32]a[4,33]a[4,34]a[4,35]a[5,24]a[5,25]a[5,26]a[5,27]a[5,28]a[5,29]a[5,30]a[5,31]a[5,32]a[5,33]a[5,34]a[5,35]00000012002400360048006000720084 迭代(9),基地址=32。a[5,36]a[5,37]a[5,38]a[5,39]a[6,28]a[6,29]a[6,30]a[6,31]a[6,32]a[6,33]a[6,34]a[6,35]a[6,36]a[6,37]a[6,38]a[6,39]a[7,28]a[7,29]a[7,30]a[7,31]a[7,32]a[7,33]a[7,34]a[7,35]a[7,36]a[7,37]a[7,38]a[7,39]a
a
a
a
A
a
a
a
a
a
a
a
a[1,28]a[1,29]a[1,30]a[1,31]a[1,32]a[1,33]a[1,34]a[1,35]a[1,36]a[1,37]a[1,38]a[1,39]a[2,28]a[2,29]a[2,30]a[2,31]a[2,32]a[2,33]a[2,34]a[2,35]a[2,36]a[2,37]a[2,38]a[2,39]a[3,28]a[3,29]a[3,30]a[3,31]a[3,32]a[3,33]a[3,34]a[3,35]a[3,36]a[3,37]a[3,38]a[3,39]a[4,28]a[4,29]a[4,30]a[4,31]a[4,32]a[4,33]a[4,34]a[4,35]a[4,36]a[4,37]a[4,38]a[4,39]a[5,28]a[5,29]a[5,30]a[5,31]a[5,32]a[5,33]a[5,34]a[5,35]00000012002400360048006000720084 如上所示,該過(guò)程以及相關(guān)過(guò)程有這樣一種效果以預(yù)選的次數(shù)在條內(nèi)邏輯移位行。具體地,該移位是根據(jù)工作存儲(chǔ)器166內(nèi)的塊的數(shù)量而執(zhí)行的。在上述例子中,當(dāng)存儲(chǔ)第一三個(gè)條集后,在被存儲(chǔ)在工作存儲(chǔ)器中時(shí),第二條集向下移位一行。當(dāng)下面三個(gè)隨后的條集存儲(chǔ)在工作存儲(chǔ)器166中時(shí),然后它們往下移位兩行。通過(guò)每三個(gè)集一行的方式(在所討論的例子中)迭代此過(guò)程,直至在圖像的行中的所有單元被處理。
本領(lǐng)域的技術(shù)人員應(yīng)該明白根據(jù)單元行對(duì)說(shuō)明性實(shí)施例進(jìn)行討論僅作范例。也可使用單元的其他配置。例如,相似的原理可應(yīng)用于單元列。相應(yīng)地,多種實(shí)施例限于單元行。
除了上述的優(yōu)勢(shì),說(shuō)明性的實(shí)施例并不要求CPU105保留指針的跟蹤。相反,可使用簡(jiǎn)單的模命令和計(jì)數(shù)器來(lái)遞增指針直到滿足一定的條件(例如,讀取指針指向與由基指針?biāo)赶虻牡刂肺恢孟嗤牡刂肺恢?。相應(yīng)地,優(yōu)化了CPU的使用。此外,當(dāng)裝載其他條時(shí)處理一個(gè)圖像數(shù)據(jù)單元(即流水線作業(yè))也改善了系統(tǒng)的性能。
本發(fā)明的多種實(shí)施例可以至少部分實(shí)現(xiàn)在任何傳統(tǒng)的計(jì)算機(jī)程序語(yǔ)言內(nèi)。例如,一些實(shí)施例可在過(guò)程程序語(yǔ)言(如“C”語(yǔ)言)或面向目標(biāo)程序語(yǔ)言(如“C++”語(yǔ)言)內(nèi)實(shí)現(xiàn)。本發(fā)明的其他實(shí)施例可以實(shí)現(xiàn)為編程的硬件元件(如專用集成電路、FPGA以及數(shù)字信號(hào)處理器)或其他相關(guān)的元件。
在替代的實(shí)施例中,所公開(kāi)的裝置和方法可實(shí)現(xiàn)為用于與計(jì)算機(jī)系統(tǒng)結(jié)合使用的計(jì)算機(jī)程序產(chǎn)品。這種實(shí)現(xiàn)可包括一系列的計(jì)算機(jī)指令,這些指令可固定在有形介質(zhì)上,如計(jì)算機(jī)可讀介質(zhì)(如磁盤,CD-ROM,ROM或硬盤),或通過(guò)調(diào)制解調(diào)器或其他接口設(shè)備(如通過(guò)介質(zhì)連接至網(wǎng)絡(luò)的通信適配器)可向計(jì)算機(jī)系統(tǒng)傳送。該介質(zhì)既可以是有形介質(zhì)(如光纜或模擬通信線路)也可以是使用無(wú)線技術(shù)實(shí)現(xiàn)的介質(zhì)(如微波、紅外線或其他傳輸技術(shù))。
該一系列的計(jì)算機(jī)指令包含本文前面所描述的所有或部分關(guān)于系統(tǒng)的功能。本領(lǐng)域的技術(shù)人員會(huì)理解,這種計(jì)算機(jī)指令可被寫入到許多程序語(yǔ)言中,用于與許多計(jì)算機(jī)構(gòu)造或操作系統(tǒng)結(jié)合使用。而且,這種指令可存儲(chǔ)在任何存儲(chǔ)設(shè)備內(nèi),如半導(dǎo)體、磁性的、光學(xué)的或其他的存儲(chǔ)設(shè)備,并可使用任何通信技術(shù)進(jìn)行傳輸,如光纜、紅外線、微波或其他傳輸技術(shù)。
期望這種計(jì)算機(jī)程序產(chǎn)品可作為帶附屬打印或電子文檔(如緊縮套裝軟件)的可移除介質(zhì)銷售,預(yù)裝載進(jìn)計(jì)算機(jī)系統(tǒng)(如在系統(tǒng)ROM上或硬盤上),或通過(guò)網(wǎng)絡(luò)從服務(wù)器或電子公告板(如,因特網(wǎng)或萬(wàn)維網(wǎng))進(jìn)行銷售。當(dāng)然,可執(zhí)行本發(fā)明的一些實(shí)施例可實(shí)現(xiàn)為為軟件和硬件的組合(如計(jì)算機(jī)程序產(chǎn)品)。本發(fā)明的其他實(shí)施例可實(shí)現(xiàn)為完全的硬件或完全的軟件(如計(jì)算機(jī)程序產(chǎn)品)。
盡管已公開(kāi)了本發(fā)明各種示例實(shí)施例,但對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),作各種修改以實(shí)現(xiàn)本發(fā)明的優(yōu)勢(shì)而不超出本發(fā)明的范圍,這是顯而易見(jiàn)的。這些和其他明顯的修改將包括在所附的權(quán)利要求內(nèi)。
權(quán)利要求
1.一種處理存儲(chǔ)在初始存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)的方法,該方法包括
將圖像邏輯地劃分成多個(gè)相鄰的條;
將第一多條存儲(chǔ)在具有循環(huán)尋址布置的工作存儲(chǔ)器中,該工作存儲(chǔ)器快于初始存儲(chǔ)器速度并具有多個(gè)順序的地址位置,
該第一多條是相鄰的并具有起始地址,該第一多條以相鄰方式存儲(chǔ)在工作存儲(chǔ)器內(nèi);以及
通過(guò)工作存儲(chǔ)器相對(duì)于起始地址處理該第一多條。
2.如權(quán)利要求1所述的方法,其中以相鄰方式存儲(chǔ)第一多條包括將該多條中不同條的相鄰部分存儲(chǔ)在工作存儲(chǔ)器相鄰的地址位置中。
3.如權(quán)利要求1所述的方法,其中工作存儲(chǔ)器有第一存儲(chǔ)位置和最新存儲(chǔ)位置,該第一存儲(chǔ)位置邏輯上與該最新存儲(chǔ)位置相鄰。
4.如權(quán)利要求1所述的方法,其中該處理計(jì)算距離起始地址的偏移。
5.如權(quán)利要求1的所述方法,進(jìn)一步包括當(dāng)該第一多條被處理時(shí),在工作存儲(chǔ)器內(nèi)存儲(chǔ)新的條,該新的條與該第一多條相鄰。
6.如權(quán)利要求5所述的方法,進(jìn)一步包括將來(lái)自該第一多條的至少一個(gè)條與該新的條一起處理。
7.如權(quán)利要求1所述的方法,其中工作存儲(chǔ)器被劃分成給定數(shù)量的條區(qū)域,每個(gè)條中的圖像數(shù)據(jù)包括多個(gè)圖像數(shù)據(jù)行,所述存儲(chǔ)進(jìn)一步包括根據(jù)條區(qū)域的給定數(shù)量移位用于工作存儲(chǔ)器內(nèi)存儲(chǔ)的多個(gè)行。
8.一種用于用在計(jì)算機(jī)系統(tǒng)上用于處理存儲(chǔ)在初始存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括在其上具有計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可用介質(zhì),計(jì)算機(jī)可讀程序代碼包括
用于將圖像邏輯劃劃分成多個(gè)相鄰條的程序代碼;
用于將第一多條存儲(chǔ)在具有循環(huán)尋址布置的工作存儲(chǔ)器中的程序代碼,該工作存儲(chǔ)器快于初始存儲(chǔ)器并具有多個(gè)順序的地址位置,
該第一多條是相鄰的并有起始地址,該第一多條以相鄰方式存儲(chǔ)在工作存儲(chǔ)器內(nèi);
用于通過(guò)工作存儲(chǔ)器相對(duì)于起始地址處理該第一多條的程序代碼。
9.如權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中以相鄰方式存儲(chǔ)第一多條的程序代碼包括用于將該多條中不同條的相鄰部分存儲(chǔ)在工作存儲(chǔ)器的相鄰地址位置中的程序代碼。
10.如權(quán)利請(qǐng)求8所述的計(jì)算機(jī)程序產(chǎn)品,其中工作存儲(chǔ)器具有第一存儲(chǔ)位置和最新存儲(chǔ)位置,該第一存儲(chǔ)位置邏輯上與該最新存儲(chǔ)位置相鄰。
11.如權(quán)利請(qǐng)求8所述的計(jì)算機(jī)程序產(chǎn)品,其中用于處理的程序代碼包括用于計(jì)算距離起始地址的偏移的程序代碼。
12.如權(quán)利請(qǐng)求8所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于當(dāng)該第一多條被處理時(shí)在工作存儲(chǔ)器內(nèi)存儲(chǔ)新的條的程序代碼,該新的條與該第一多條相鄰。
13.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括將來(lái)自該第一多條的至少一個(gè)條與該新的條一起處理。
14.如權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中工作存儲(chǔ)器被劃分成給定數(shù)量的條區(qū)域,每個(gè)條中的圖像數(shù)據(jù)包括多個(gè)圖像數(shù)據(jù)行,所述用于存儲(chǔ)的程序代碼進(jìn)一步包括根據(jù)條區(qū)域的給定數(shù)量移位用于工作存儲(chǔ)器內(nèi)存儲(chǔ)的多個(gè)行的程序代碼。
15.一種用于處理存儲(chǔ)在初始存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)的裝置,該數(shù)據(jù)圖像被邏輯劃分成多個(gè)相鄰的條,該裝置包括
用于以循環(huán)方式訪問(wèn)工作存儲(chǔ)器的地址管理器,工作存儲(chǔ)器快于初始存儲(chǔ)器并有多個(gè)順序的地址位置;
用來(lái)將第一多條存儲(chǔ)在工作存儲(chǔ)器中的數(shù)據(jù)傳輸設(shè)備,該第一多條是相鄰的并具有起始地址,該第一多條以相鄰方式存儲(chǔ)在工作存儲(chǔ)器內(nèi);以及
處理器,用于通過(guò)工作存儲(chǔ)器相對(duì)于起始地址處理該第一多條。
16.如權(quán)利要求15所述的裝置,其中數(shù)據(jù)傳輸設(shè)備將該多條中不同條的相鄰部分存儲(chǔ)在工作存儲(chǔ)器的相鄰地址位置中。
17.如權(quán)利要求15所述的裝置,其中工作存儲(chǔ)器具有第一存儲(chǔ)位置和最新存儲(chǔ)位置,該第一存儲(chǔ)位置邏輯上與該最新存儲(chǔ)位置相鄰。
18.如權(quán)利要求15所述的裝置,其中處理器計(jì)算距離起始地址的偏移。
19.如權(quán)利要求15所述的裝置,進(jìn)一步包括當(dāng)該第一多條被處理時(shí),在工作存儲(chǔ)器內(nèi)存儲(chǔ)新的條,該新的條與該第一多條相鄰。
20.如權(quán)利要求19所述的裝置,進(jìn)一步其中處理器將來(lái)自該第一多條的至少一個(gè)條與該新的條一起處理。
21.如權(quán)利要求15所述的裝置,其中工作存儲(chǔ)器被劃分成給定數(shù)量的條區(qū)域,每個(gè)條中的圖像數(shù)據(jù)包括多個(gè)圖像數(shù)據(jù)行,該數(shù)據(jù)傳輸設(shè)備根據(jù)條區(qū)域的給定數(shù)量移位用于工作存儲(chǔ)器內(nèi)存儲(chǔ)的多個(gè)行。
全文摘要
一種相對(duì)高速循環(huán)存儲(chǔ)設(shè)備,其結(jié)合其他的過(guò)程,提高圖像處理效率。為達(dá)到此目的,一種處理存儲(chǔ)在初始存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)的方法和裝置將圖像邏輯分成多個(gè)相鄰的條。第一多條存儲(chǔ)在具有循環(huán)尋址布置的工作存儲(chǔ)器內(nèi),其中該工作存儲(chǔ)器快于初始存儲(chǔ)器速度并且有多個(gè)順序的地址位置。該第一多條是相鄰的并具有起始地址。此外,該第一多條以相鄰方式存儲(chǔ)在工作存儲(chǔ)器內(nèi),并通過(guò)工作存儲(chǔ)器相對(duì)于起始地址進(jìn)行處理。
文檔編號(hào)G06T1/60GK1669051SQ03816690
公開(kāi)日2005年9月14日 申請(qǐng)日期2003年4月23日 優(yōu)先權(quán)日2002年6月13日
發(fā)明者寧可, 馬爾卡·霍夫曼, 加比·伊 申請(qǐng)人:模擬設(shè)備公司