專利名稱:存儲器組織和多變量數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及數(shù)據(jù)處理技術(shù),更具體涉及一種適合于彩色數(shù)據(jù)轉(zhuǎn)換的存儲器系統(tǒng)。
顏色學(xué)長期以來被認(rèn)為是一門復(fù)雜的科學(xué)。一般來說,在稱為三色激勵空間的三維空間中已經(jīng)找到可能的和方便的方法來代表激勵顏色矢量。實(shí)際上,1931年國際照明委員會(CIE)定義了三基色(X,Y,Z)可以組合起來定義用眼睛可感知的所有對光的感覺(即,通過指定與理想觀察者的顏色匹配函數(shù)一致的三個獨(dú)立的波長函數(shù)來定義一個理想的三基色觀察者的顏色匹配特性,形成指定顏色的一個國際標(biāo)準(zhǔn))。這種三維結(jié)構(gòu)的基本原理一在些出版物中得到討論,如由Billmeger和Saltzman合著的《色彩技術(shù)原理》,該書由John Wiley&Sons公司出版,1981年版(第二版),以及《色彩科學(xué)概念和方法,量化數(shù)據(jù)和公式》,Wyszecki和Stiles著,John Wiley&Sons公司1982年出版(第二版),在此做為參考引用了該書的一些內(nèi)容,特別是119頁到130頁。
三原色模型系統(tǒng)—如紅、綠、藍(lán)(RGB)、青、深紅、黃、黑(CMYK);色調(diào)、飽和度、數(shù)值(HSV);色調(diào)、亮度、飽和度(HLS);輝度、紅黃比例,綠藍(lán)比例(La*b*);應(yīng)用于商業(yè)彩色電視廣播的YIQ,等諸如此類—為系統(tǒng)的設(shè)計者提供了多種方法。參見以下著作Foley和Van Dam著、Addison-Wesley出版公司的《交互式計算機(jī)圖形學(xué)基礎(chǔ)》,該書在此做為參考引用了相關(guān)的章節(jié),特別是601頁到621頁,描述了各種三變量色彩模型。
在數(shù)字?jǐn)?shù)據(jù)處理中模型系統(tǒng)之間的顏色轉(zhuǎn)換給起初的設(shè)備制造商帶來了很多問題。由于系統(tǒng)之間的關(guān)系常常是非線性的,所以從一個系統(tǒng)到另一個系統(tǒng)的數(shù)據(jù)插值是很困難的。因此,一個關(guān)鍵的問題是保持輸入設(shè)備(例如彩色掃描器,CRT顯示,數(shù)字照相機(jī),計算機(jī)軟件/固件產(chǎn)生,以及諸如此類)來的原始圖象與輸出設(shè)備(例如CRT顯示,彩色激光打印機(jī)、彩色噴墨打印機(jī),以及諸如此類)產(chǎn)生的轉(zhuǎn)換過的復(fù)制件之間的色彩完整性。
例如,計算機(jī)技術(shù)人員需要在計算機(jī)的視頻設(shè)備上產(chǎn)生彩色圖象的能力,并且需要有在硬拷貝上提供相同顏色的打印機(jī)。或者,可以用掃描儀數(shù)字化一張原始的彩色照片,得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換可在視頻監(jiān)視器上顯示或由激光打印機(jī)、噴墨打印機(jī)或熱轉(zhuǎn)換打印機(jī)以硬拷貝的方式復(fù)制出來。正如上述的參考資料中所討論的,顏色可以構(gòu)造成加性原色紅、綠和藍(lán)(RGB)或減性原色青、深紅、黃和黑(CMYK)的體現(xiàn)??赡苄枰獜腞GB彩色空間,例如計算機(jī)的視頻監(jiān)視器到CMYK彩色空間,例如,激光打印機(jī)的硬拷貝之間的轉(zhuǎn)換。從一個彩色空間到另一個彩色空間的轉(zhuǎn)換需要在多維空間中進(jìn)行復(fù)雜的、非線性計算。因?yàn)闊o法進(jìn)行數(shù)字描述,所以通常需要使用一個龐大的查找表,即50兆字節(jié)的包含轉(zhuǎn)換數(shù)據(jù)表,以實(shí)現(xiàn)從RGB系統(tǒng)到CMYK系統(tǒng)的轉(zhuǎn)換。[注為了保證打印時黑色的純度,常常用一個分開的黑色墨水或調(diào)色劑,而不是打印所有的三個青、深紅、黃色;這樣一個分開的黑色復(fù)現(xiàn)機(jī)制的使用是為了揭示本發(fā)明的目的而采用的。]為實(shí)現(xiàn)從一個三色激勵系統(tǒng)到另一個之間的轉(zhuǎn)換,最好的辦法是使用三線性插值的方法,正如這方面的技術(shù)人員所熟知的。在使用三線性插值法時,對應(yīng)于三維空間的數(shù)據(jù)字節(jié)數(shù)用一個立方體的角來代表,全部的查找表就是由很多這樣立方體組成的。每個立方體與其相鄰的立方體共享信息。換句話說,考慮一個內(nèi)部立方塊的一個角時,如果存儲器結(jié)構(gòu)看作是一個立體的立方點(diǎn)陣,可以看到這樣的一個點(diǎn)(即,只讀存儲器的一個單元或一個可尋址的8單元字節(jié))是由八個塊所共享的。
為了得到表示,例如,構(gòu)造一個特定顏色的RGB三色激勵空間的三個變量的數(shù)據(jù)點(diǎn),或者需要對點(diǎn)陣尋址八次,使處理速度降低8倍,或者查找表必須在硬件存儲器中重復(fù)8次,這些產(chǎn)生使系統(tǒng)增加存貯量需求的明顯的缺陷。為了理解本發(fā)明的目的,由于已知存貯設(shè)備是二維的,三線性插值問題歸結(jié)為同時進(jìn)行三維存取數(shù)據(jù)的需求,而不需要上面提到的冗余的查找表。
一種算法插值的方案在1992年11月9日的《電子工程時代》的第35頁《轉(zhuǎn)換顏色的高速處理器》中做了簡短描述,作者為Junko Yoshida。但是,Yoshida的“新算法”本身并未在文中公開。
在RGB空間和CMYK空間使用插值進(jìn)行顏色數(shù)據(jù)轉(zhuǎn)換,需要有一種機(jī)制允許訪問8個相鄰的數(shù)據(jù)點(diǎn),即,查找表內(nèi)任一個立方結(jié)構(gòu)的所有頂點(diǎn),同時又不復(fù)制查找表。這里給出的普遍的方法和裝置可以擴(kuò)展到多維表示的任何類型數(shù)據(jù)的非線性插值。
從主要方面來說,本發(fā)明是一種利用與特別適于顏色空間變換的插值器相結(jié)合的查找表來進(jìn)行多維、非線性插值的方法。為進(jìn)行多變量、非線性輸入數(shù)據(jù)的轉(zhuǎn)換,這里的“n”是變量的個數(shù),并且為了提供插值后的輸出數(shù)據(jù),需要這樣一個設(shè)備,它包括一套2n個存儲器組,每個存儲器組有一個輸入和輸出,用于在其中離散的可尋址的位置上存貯與輸入數(shù)據(jù)有關(guān)的轉(zhuǎn)換數(shù)據(jù)并在每個輸出上提供轉(zhuǎn)換數(shù)據(jù);地址產(chǎn)生邏輯,與每個存儲器的輸入相連接,分別地接收輸入數(shù)據(jù)的第一組預(yù)定的比特,并根據(jù)輸入數(shù)據(jù)的第一組預(yù)定比特在每個輸入尋址周期中提供對每個存儲器組的一個位置進(jìn)行訪問的地址,和存儲器在其每個輸出端提供可訪問的轉(zhuǎn)換數(shù)據(jù);用于對轉(zhuǎn)換數(shù)據(jù)進(jìn)行排序的排序邏輯,其第一個輸入分別與存儲器組的每個輸出端相連接,從相應(yīng)的位置接收到訪問的轉(zhuǎn)換數(shù)據(jù),其第二個輸入為接收輸入數(shù)據(jù)的第一組預(yù)定比特的第一個預(yù)定子集而連接,使得轉(zhuǎn)換數(shù)據(jù)可以按照輸入數(shù)據(jù)的第一組預(yù)定比特的第一個預(yù)定子集來進(jìn)行排序,排序邏輯的輸出用于輸出排序后的轉(zhuǎn)換數(shù)據(jù);用輸入數(shù)據(jù)的第二組預(yù)定比特對排序后的轉(zhuǎn)換數(shù)據(jù)進(jìn)行插值的插值邏輯,其第一個輸入端與排序邏輯的輸出相連,用以接收排序后的轉(zhuǎn)換數(shù)據(jù),為接收輸入數(shù)據(jù)的第二組預(yù)定比特而連接第二個輸入端,其輸出端用于輸出插值后的輸出數(shù)據(jù),該數(shù)據(jù)是基于用輸入數(shù)據(jù)的第二組預(yù)定比特對排序轉(zhuǎn)換數(shù)據(jù)進(jìn)行插值而得到的。
本發(fā)明的優(yōu)點(diǎn)之一是能夠減少多維數(shù)據(jù)轉(zhuǎn)換處理器對存儲器量的需求,使集成電路設(shè)備達(dá)到較好的性能價格比。
本發(fā)明的優(yōu)點(diǎn)之一是能夠減少多維數(shù)據(jù)轉(zhuǎn)換運(yùn)算對時間的需求。
本發(fā)明的另一優(yōu)點(diǎn)是可以經(jīng)濟(jì)地通過應(yīng)用專用集成電路(ASIC)來實(shí)現(xiàn)。
本發(fā)明還有另一優(yōu)點(diǎn)是它提供了一種易受成本和數(shù)據(jù)處理速度影響的彩色數(shù)據(jù)轉(zhuǎn)換的方法和裝置。
通過考慮下面詳細(xì)的描述和有關(guān)的圖示會使本發(fā)明的其它目的,特性和優(yōu)點(diǎn)變得很清晰,在這些圖中類似的參考標(biāo)號代表類似的特性。
圖1是符合本發(fā)明的一個類點(diǎn)陣存儲器組織結(jié)構(gòu)的一部分的空間表示。
圖2是包括多個圖1中所示的結(jié)構(gòu)的一個點(diǎn)陣存儲器組織結(jié)構(gòu)的一個子部分的空間表示。
圖3是圖1和圖2所示的點(diǎn)陣存儲器組織結(jié)構(gòu)空間表示的剖面描述,為每個立方體的頂點(diǎn)都指定了一個節(jié)點(diǎn)號。
圖4是圖3所示的存儲器組織結(jié)構(gòu)的空間表示,這里所有的節(jié)點(diǎn)號都進(jìn)行鏡像。
圖5是包括多個圖2中所示結(jié)構(gòu)的一個點(diǎn)陣存儲器組織結(jié)構(gòu)的一個子部分的空間表示,形成了一個紅、綠、藍(lán)顏色空間。
圖6是圖1所示的點(diǎn)陣存儲器組織結(jié)構(gòu)的空間表示,這里每個頂點(diǎn)都賦予了一個字母和數(shù)字編號。
圖7是圖3中所示的點(diǎn)陣存儲器組織結(jié)構(gòu)空間表示的一個剖面描述,給出了可能的編址方案。
圖8是標(biāo)準(zhǔn)的三線性數(shù)據(jù)插值的表示,按照本發(fā)明它被用于圖5所示的紅、綠、藍(lán)顏色空間。
圖9(表1)是一個示范性的存儲器地址算法,用于圖4中所示的紅、綠、藍(lán)顏色空間的上層點(diǎn)陣結(jié)構(gòu)。
圖10(表2)是示于圖6和7的本發(fā)明的結(jié)構(gòu)的存貯地址計算的一個完整的列表。
圖11是用于圖10中所示的地址計算的一個示范性的數(shù)字相加器結(jié)構(gòu)的框圖。
圖12(表3)是一個排序序列的一個完整列表,這個列表是按照點(diǎn)陣存貯而使用的地址數(shù)據(jù)排序所需的,這個點(diǎn)陣存貯是按照圖1到11所示的本發(fā)明的要求而組織的。
圖13是按照圖12所示的排序序列而使用的一個多級交換網(wǎng)絡(luò)。
圖14是示于圖1到13的本發(fā)明的一個電路邏輯實(shí)現(xiàn)的框圖。
圖15是符合本發(fā)明的一個例子的描述。
在本描述中參考的這些圖除非特別說明,否則都不是按比例繪制的。
現(xiàn)在要詳細(xì)介紹的是本發(fā)明的一個具體的實(shí)施例,它闡述了由實(shí)現(xiàn)發(fā)明的發(fā)明者(們)詳細(xì)考慮的一個目前最好的模式。其它實(shí)施例也要做為應(yīng)用而做簡短的描述。
不采用內(nèi)存復(fù)制而進(jìn)行非線性、多變量數(shù)據(jù)插值問題的解決方法在于通過提供存儲器組織結(jié)構(gòu)、尋址方案和排序方法進(jìn)行多維空間的模擬,模擬對數(shù)據(jù)的空間表示的所有頂點(diǎn)的同時訪問。作為這里的一個示范實(shí)施例,在顏色變換時,從一個顏色空間到另一個的轉(zhuǎn)換要通過產(chǎn)生使用立方空間表示的三線性插值的方法和裝置來實(shí)現(xiàn)。[注可以看到這個概念可以擴(kuò)展到在n維空間訪問22鄰近的頂點(diǎn)。同樣,該示范實(shí)施例是用8比特字節(jié)的數(shù)據(jù)給出的,但該系統(tǒng)可擴(kuò)展到m比特字節(jié)的數(shù)據(jù)。因此,雖然在這個示范實(shí)施例中的基本概述是在三維空間中進(jìn)行說明的,但是可以看到,使用這些例子時,發(fā)明者并不想對本發(fā)明的范圍做任何限制或隱含的規(guī)定。]存儲器組織結(jié)構(gòu)首先,考慮一個一般的三維存儲器組織結(jié)構(gòu),它是使用必要的二維存儲器設(shè)備,例如集成電路存儲器而得到。參見圖1,三個矢量X、Y和Z,每一個都定義了一組數(shù)字?jǐn)?shù)據(jù)比特,“m”可以依據(jù)三維—立方體101-來定義,使得該空間中的任何一點(diǎn)都由下列序列確定其地址X(m-1,m-2,......,0),Y(m-1,m-2,.......0),以及Z(m-1,m-2,.......0)。
立方體中的每個角可如圖1所示的那樣定義。為了便于說明本發(fā)明,示范實(shí)施例中的X、Y、Z限定為8比特,這樣每個矢量就變?yōu)閄(7....0),Y(7....0),及X(7....0)。
本發(fā)明典型的存儲器組織是由圖2中所示的這樣的立方體的一個三維陣列組成的,每一個是完整的典型存儲器組織結(jié)構(gòu)的三維空間的一個子部分。典型立方體101,103,105可以被認(rèn)為是代表不同的、可尋址的存儲器單元,其中的每一個立方體頂點(diǎn)都指定了一個唯一的節(jié)點(diǎn)號,使得在三維立方體點(diǎn)陣中不存在兩個相鄰的相同的節(jié)點(diǎn)號。參看圖2和圖3,圖2中一個完整的4×4×4立方點(diǎn)陣的前平面201在圖3中用節(jié)點(diǎn)號表示,例如0=下—左—前頂點(diǎn)(LLF),立方體1011=上—左—前頂點(diǎn)(ULF),立方體1014=下—右—前頂點(diǎn)(LRF),立方體101;和0=上—右—前頂點(diǎn)(URF),立方體101考慮到相鄰的立方體共享節(jié)點(diǎn),下一個后平面203被賦予了一套不同的節(jié)點(diǎn)號,例如2=下—左—后頂點(diǎn)(LFB),立方體101及下—左—前頂點(diǎn)(LLF),立方體1033=上—左—后頂點(diǎn)(ULB),立方體101及上—左—前頂點(diǎn)(ULF),立方體1036=下—右—后頂點(diǎn)(LRB),立方體101及下—右—前頂點(diǎn)(LRF),立方體103;及7=上—右—后頂點(diǎn)(URB),立方體101及上—右—前頂點(diǎn)(URF),立方體103平面205重復(fù)分配給平面201的節(jié)點(diǎn)號,依次類推直至整個點(diǎn)陣。值得仔細(xì)注意的是共享頂點(diǎn)(代表存儲器節(jié)點(diǎn))都是水平和垂直的。因此,舉例來說,平面203的陣列中的一個節(jié)點(diǎn)例如節(jié)點(diǎn)7實(shí)際上是與8個立方體共享的。即,不與第一個立方體共用的節(jié)點(diǎn)號是通過從第一個立方體101的節(jié)點(diǎn)號鏡像到圖4中所示的當(dāng)前的立方體401的辦法來指定的。
特別需要注意的是,這里所示的節(jié)點(diǎn)號的分配是與每個矢量X、Y和Z的最小有效比特的序列相對應(yīng)的。用這種方法分配節(jié)點(diǎn)號的頂點(diǎn),每個節(jié)點(diǎn)數(shù)據(jù)集(例如,一種顏色用8比特數(shù)據(jù)字,三種顏色為24比特,或四種顏色32比特)可以保存在對應(yīng)于其節(jié)點(diǎn)號的存儲器組中。不管節(jié)點(diǎn)位于陣列的三維空間的何處,都可以無沖突地同時檢索到任何節(jié)點(diǎn)。
換句話說,立方點(diǎn)陣是一個可以從一組兩維的存儲器組進(jìn)行插值的三維查找表結(jié)構(gòu)。任意兩條或多條線的交點(diǎn)表示一個存儲器單元。例如,在每一方向上用8比特數(shù)據(jù)值的系統(tǒng)的存儲器組織需要8個512字節(jié)或4096字節(jié)的組。這樣大小的ROM、RAM、ASIC或其它集成電路相對來說是不太昂貴的器件。
現(xiàn)在,改變每個頂點(diǎn)用于表示顏色空間數(shù)據(jù)的變量,以便把上面描述的一般的存儲器組織結(jié)構(gòu)應(yīng)用于數(shù)字色彩模擬??紤]到本示范實(shí)施例,假定各變量X(水平)=紅(“R”)Y(反面正交)=紅(“G”)及Z(垂直)=藍(lán)(“B”)是具有8比特字節(jié)的數(shù)據(jù)??梢钥吹奖徊逯档淖兞恳部梢允乔唷⑸罴t、黃或以此為目的,任何一組需要關(guān)聯(lián)的變量。
變量分成高、低兩段,每段四比特(即,高有效比特(“H”為高)和低有效比特(“L”為低))R(7,6,5,4)或RH,R(3,2,1,0)或RL,
G(7,6,5,4)或GH,G(3,2,1,0)或GL,B(7,6,5,4)或BH,以及B(3,2,1,0)或BL。高有效比特(或段)-RH,GH及BH-用于存儲器尋址(分配頂點(diǎn)-節(jié)點(diǎn)的指示器)和隨后描述的數(shù)據(jù)排序。低有效比特-RL、GL和BL-用于三維顏色空間數(shù)據(jù)變量,稱為數(shù)據(jù)插值距離。即,在一個8比特的字節(jié)中,四位高有效比特(7...4)-RH,GH和BH-被映射到圖5所示的立方體表示中。四位低有效比特段(3...0)-RL,GL及BL-被用作在每一個定義為可尋址的顏色數(shù)據(jù)點(diǎn)的頂點(diǎn)—節(jié)點(diǎn)上進(jìn)行數(shù)據(jù)插值;例如,C IE1931年標(biāo)準(zhǔn)色度觀察者,例,380毫微米的波長值,這里X=0.001400,Y=0.000000及Z=0.006500。
回憶前面所述,為了能夠從任何立方體存貯結(jié)構(gòu)中同時得到所有的8個值,以便在一個存取周期中內(nèi)插,必須有8個分開的存儲器組。因此,立方體存貯陣列結(jié)構(gòu)要分成8個存儲器組,使得每個組中的信息在每次計算中不需要存取超過一次。
存儲器尋址如圖5所示,存儲器中存貯的數(shù)據(jù)點(diǎn)需要立方結(jié)構(gòu)中的地址,該結(jié)構(gòu)中RH為X方向,GH為Y方向,BH為Z方向(或者是系統(tǒng)設(shè)計者為了多維變量空間的考慮而選擇的其它結(jié)構(gòu))。
RH、GH和BH合起來形成一個12比特的地址,指向圖6所示的三維映射立方體。表示在圖6中的立方體上的地址是用于插值的相對地址。圖5則可以看作是代表一個可尋址的存貯系統(tǒng)這樣的立方結(jié)構(gòu)的三維陣列。也參見圖1到圖4。
圖7采用了圖3和4中的頂點(diǎn)命名,代表了圖5中所示的GH地址方向上4×4×4陣列的三個面201,203,205。這些頂點(diǎn)的命名是與每個位置有關(guān)的存儲器組。參看前面的圖6,相對地址000,a0,是由RH,GH,BH指向的位置;相對地址001,a1,是由RH,GH,BH+1指向的位置;以此類推(參見,圖1)。特別注意在這個例子中有兩個可能的地址,地址“A”和地址“B”,各代表相鄰的立方體共享的頂點(diǎn)。因此,在一個存取周期事件中,對于所指定的任意地址不會有存儲器組的沖突。按照上述的解釋,應(yīng)該可以理解每一個內(nèi)部頂點(diǎn)可以與八個相鄰的立方結(jié)構(gòu)相關(guān)聯(lián)。
采用的尋址機(jī)制需要在每個存儲器組中選擇合適的地址。即,必須在每個存儲器組中確定何處可以得到在RH、GH和BH的連接關(guān)系中與立方結(jié)構(gòu)相聯(lián)系的結(jié)果(RESULT)數(shù)值。參見圖1和圖4,所示的節(jié)點(diǎn)號的分配對應(yīng)于每個地址字節(jié)X(4),Y(4),Z(4)的最低有效比特的連接關(guān)系。—或者對于示范實(shí)施例即為RH(4),BH(4),GH(4)。因此,利用分配了這些節(jié)點(diǎn)號的頂點(diǎn),每個節(jié)點(diǎn)都對應(yīng)于它的節(jié)點(diǎn)號存貯在存儲器組中,并且不管該節(jié)點(diǎn)實(shí)際存在于三維顏色空間結(jié)構(gòu)的何處,都可以無沖突地同時檢索到它。
特別要注意的是,這樣的話,系統(tǒng)是利用存貯地址的最低有效比特做為手段,來同時從所要的任何連接關(guān)系中取得存儲器數(shù)據(jù)的。
在8比特系統(tǒng)的例子中,對于一個存儲器單元,“M”,這里M是由3比特的二進(jìn)制數(shù)定義的(例,對組6,M=110),具有比特“(2...0),”的連接關(guān)系地址可以表示為X(7,6,5)+X(4)&!M6(2),Y(7,6,5)+Y(4)&!M6(1),Z(7,6,5)+Z(4)&!(M6(0);讀作X比特7到5加上X比特4當(dāng)M6(比特2)為邏輯0,與Y和Z的運(yùn)算結(jié)果相連接。換句話說,若一個節(jié)點(diǎn)號從其缺省位置,即當(dāng)節(jié)點(diǎn)號0(或圖6中的000/a0)在下—左—前角,邏輯地向到給定的方向轉(zhuǎn)換,那么地址必須在那個方向上增加,這種情況自動地發(fā)生在圖9和11所描述的從X(4),Y(4)和Z(4)的轉(zhuǎn)換中。
地址需要在存儲器組內(nèi)找到合適的位置。由于使用的是8單元的存儲器,所以從每一段RH,GH和BH中只需三位最高有效比特。因此,總共只需要9比特,可給出任何存儲器組中的所有信息唯一的地址。所有的存貯器組使用不同的地址,如表1,圖9所示。根據(jù)圖3、4、6和7中頂點(diǎn)節(jié)點(diǎn)間分配,圖10即表2給出了用于地址計算的X(4),Y(4),Z(4)值的一個完整列表。表中的值表示了哪個3比特段需要隨著指示被尋址的立方體方向的頭而增加。
一個如何實(shí)施上述方程的范例在圖11中表示。加法器電路1101是一般技術(shù)所熟知的典型的二進(jìn)制加法器。
為了更好地理解尋址方案是怎樣工作的,下面給出了一個一維系統(tǒng)的例子,它需要同時從存儲器中檢索二個元素。一個8比特數(shù)據(jù)字的地址寫做X(7...4)。需要的值存貯在X(7...4)以及X(7...4)+1中?,F(xiàn)在將存儲器分成兩個組B0和B1。通過使所有的偶地址元素存貯在B0中,所有的奇地址元素存貯在B1中,一個元素就可以同時從每個組中存貯及檢索。當(dāng)一個尋址請求指向偶地址時,兩個組中的元素將被尋址為X(7,6,5)。但是,當(dāng)尋址請求指向一個奇地址時,從B1中取的元素將在地址X(7,6,5),從B0中取的元素將在地址X(7,6,5)+1。無論何時地址指向奇數(shù)值時,值X(4)為“1”,而無論何時地址指向偶數(shù)值時,值X(4)為“0”。所以,如果X(4)總是與X(7,6,5)相加,進(jìn)入B0并將地址X(7,6,5)直接帶入B1,那么就可以從存儲器中得到正確的值。在圖10和11中,將概念擴(kuò)展到使用8組存儲器的三維情況,每個對應(yīng)于一個頂點(diǎn)(注意該概念可類似的擴(kuò)展到n維)。
數(shù)據(jù)插值4個最低有效比特,如RL,GL,BL,是由系統(tǒng)中將被轉(zhuǎn)換的每個顏色分量得到的,用于按照如下的一維插值法在查找表值之間進(jìn)行插值(a1-a0)*RL16+a0]]>這里a1和a0是數(shù)據(jù)點(diǎn),且RL是它們之間的相對距離。
擴(kuò)展到三維情況,這個過程將圖8所示的三個數(shù)據(jù)點(diǎn)變量連接起來。插值過程對每個需要轉(zhuǎn)換的顏色進(jìn)行計算。所以,為了實(shí)現(xiàn)從RGB系統(tǒng)到CMY系統(tǒng)的插值,將需要三段存儲器,每段對應(yīng)一種顏色。
特別需要注意的是,這意味著對于一個給定的典型顏色,它由映射為RH,GH,BH的RGB標(biāo)度中的數(shù)據(jù)點(diǎn)值(即,CIE波長值)組成,相應(yīng)于CMY顏色的地址將按照圖8位于插值結(jié)果中。顏色轉(zhuǎn)換可以一次進(jìn)行一個顏色平面,或插值結(jié)果通過先對青插值、然后對深紅、然后對黃,這樣交叉得到,或者復(fù)制三個插值器平等進(jìn)行插值操作。
數(shù)據(jù)排序上面的討論表明,為了得到代表三維顏色空間的8個頂點(diǎn)的數(shù)據(jù),可以同時對8個存儲器組進(jìn)行存取。根據(jù)圖8中插值器輸入的需要對數(shù)據(jù)進(jìn)行排序,當(dāng)需要參考任何立方體時,將得到的數(shù)據(jù)以邏輯順序放置。
排列的順序?qū)⑷Q于哪一個節(jié)點(diǎn)號出現(xiàn)在被存取的立方體的下—左—前,LLF角上。按照圖3a和6,當(dāng)節(jié)點(diǎn)0處于LLF角時,所有的節(jié)點(diǎn)邏輯上都位于各自正確的位置。若在任何其它位置,如圖3B,那么所有節(jié)點(diǎn)都必須進(jìn)行排序,使之處于正確順序。圖12即表3表示了這種排列。每一個LLF不是零的立方體都被認(rèn)為是已經(jīng)經(jīng)過了在立方體空間結(jié)構(gòu)三維中的任一維上的邏輯轉(zhuǎn)換。位于LLF角的節(jié)點(diǎn)號表明了結(jié)構(gòu)的方向,它是由X(4),Y(4)和Z(4)共同指明的。
例如,如果節(jié)點(diǎn)a4為LLF,立方體已經(jīng)在X軸方向上進(jìn)行了邏輯轉(zhuǎn)換。所以,所有的節(jié)點(diǎn)都必然要被該轉(zhuǎn)換所交換和排序。在其它方向上或者各方向的任何組合上也是如此。當(dāng)節(jié)點(diǎn)a7為LLF,那么節(jié)點(diǎn)必須在全部方向上進(jìn)行交換,即映射為圖4所示。
排序可以用多種硬件設(shè)備實(shí)現(xiàn)。在所優(yōu)選的實(shí)施例中,采用的是一種多級交換網(wǎng)絡(luò),圖13中給出了其中一部分。每個框1301,1303等等,代表兩個2到1的復(fù)用器;當(dāng)該框的控制比特置位時,兩個輸入在輸出端交換位置,而當(dāng)控制比特沒有置位時,輸入與輸出位于相同的相對位置上。
例如,當(dāng)立方體在Z方向上轉(zhuǎn)換時(此時節(jié)點(diǎn)1在LLF),節(jié)點(diǎn)0和1被交換,將節(jié)點(diǎn)1放在a0位置,為LLF,且節(jié)點(diǎn)0放在a1位置,ULF,并通過控制比特Z(4)置位而被排序。所以,在圖4中的鏡像立方體401時,當(dāng)節(jié)點(diǎn)7處于a0位置,所有的控制比特都置位,使得所有的值在所有方向上都進(jìn)行交換,從輸入到輸出產(chǎn)生了完全相反的值(見圖12,邏輯立方體存儲器結(jié)構(gòu)的第一列對應(yīng)于鏡像立方體存儲器結(jié)構(gòu)的最后一列。)硬件實(shí)現(xiàn)參見圖14,給出了一個示范框圖,用于表示實(shí)施前面所定義的存儲器組織、尋址方案和排序機(jī)制的設(shè)備的框圖。所描述的模型為8比特實(shí)施方案而設(shè)計(同時見隨后描述的存儲器輸出1413)。
輸入總線1401有24條線,用于為每個待轉(zhuǎn)換的數(shù)據(jù)變量接收一個8比特的字節(jié)??梢曰貞浧鹱罡叩?位有效比特(7...4)是用于地址產(chǎn)生的。對RGB,圖11給出了產(chǎn)生地址的過程,這里X=R,Y=G,Z=B。而12條控制線被饋送到地址產(chǎn)生電路1405中。
4位最低有效比特(3...0)是用于插值的數(shù)據(jù),這是以算述邏輯單元(ALU)1407,三線性插值器做為依據(jù)的,在圖8中也做了表示。
8個存儲器組1409,按照圖3和4中所示的顏色空間結(jié)構(gòu)標(biāo)為0到7,并按照圖9、10和11通過控制線1411連接到地址產(chǎn)生器1405上。指明哪個變量將與X、Y、Z值復(fù)用的兩比特的轉(zhuǎn)換選擇信號,以便確定在存取周期內(nèi)哪個變量被插值。這兩比特指定所需的輸出顏色,并將由系統(tǒng),一個狀態(tài)機(jī)或計數(shù)器產(chǎn)生,這取決于專業(yè)上所熟知的實(shí)施方法以及插值是在平面上進(jìn)行還是交織進(jìn)行。
根據(jù)圖13,為了將插值器1407的選擇進(jìn)行排序,從每個存儲器組1409選來的值是到多級交換網(wǎng)絡(luò)1415的輸出1413。另一種方法,交換網(wǎng)絡(luò)可以擴(kuò)展到提供24比特或32比特實(shí)施設(shè)備,從而使所有四個變量在單個操作中就能確定,而不是分別進(jìn)行,省略了兩比特的轉(zhuǎn)換選擇字1409。
從輸入線1401,根據(jù)圖13,總線1417把比特4饋送到多級交換網(wǎng)絡(luò),通過總線1417對數(shù)據(jù)排序。代表插值距離的4位最低有效比特X(3...0),Y(3...0)以及Z(3...0),通過總線1417和1421選擇路徑,連到三線性插值器上,這是按照圖8用于與多級交換網(wǎng)絡(luò)1415輸出端a0到a7的輸出一同使用的。插值器1407的輸出—在圖中標(biāo)為X′Y′Z′-將是從RGB到CMY插值后得到的顏色值。每個顏色的8比特值輸出到總線1423(8...32)上。所以,8-,16-,24-或32-比特的總線寬度是比較合適的。
按照前面的示范實(shí)施例,很容易造出相當(dāng)小的這樣一個ASIC它使用大約3300個門組成插值器,600個門做為多級交換網(wǎng)絡(luò),30個門做為地址產(chǎn)生器1405,以及12,288個存儲器單元位置(8組×512字節(jié)×3種顏色),并采用標(biāo)準(zhǔn)的68腳的封裝。
因此,所得到的信息由所描述的系統(tǒng)完成,如圖14所示,每個上半段的最低有效比特RH(4),GH(4)和BH(4)在任意一次存取中,可以沒有冗余地產(chǎn)生只尋址8個存儲器組的地址,并且為產(chǎn)生排序在所述的一次存取中完成三線性插值而不必進(jìn)行存儲器的復(fù)制,即減少了8倍。也就是說,一個三維存儲器被分成8片,通過使用這些上段LSB控制線同時存取并排序。
范例參考圖15,這是一個RGB將被轉(zhuǎn)換為CMY的顏色空間的存儲器結(jié)構(gòu)1501。立方結(jié)構(gòu)的可尋址節(jié)點(diǎn)代表了CMY變換顏色空間的樣值。給定一個RGB顏色值的集合6C,32,E8(十六進(jìn)制),要解決的問題是將這些值轉(zhuǎn)換成CMY值的集合。所以,對于R=011011002,G=001100102,B=111010002,以及R(7...5)=3 R(4)=0 R(3...0)=C16[即12]G(7...5)=1 G(4)=1 G(3...0)=2。
B(7...5)=7 B(4)=0 B(3...0)=8地址發(fā)生器1405的輸出示于圖15B(即圖11加法器的輸出),這里R+,G+,B+是加法器1101的輸出。排序裝置(如圖12和13所示)按照本例繪于圖15C,這里最低有效比特-R(4),G(4),B(4)-對應(yīng)于圖12中的第三例。本例的數(shù)學(xué)插值(見圖8)用圖15C中的一部分表示。插值結(jié)果130則是立方體顏色空間中三個(或8216)CMY數(shù)據(jù)點(diǎn)值中的一個插值。
前面介紹的本發(fā)明優(yōu)選的實(shí)施例是為解釋和描述的目的而提出的。它并不是很嚴(yán)密的,也并不意味著本發(fā)明只局限于它所揭示的精確的形式上。顯然,對于行家來說,很多修改和變化都是顯而易見的。同樣,為了達(dá)到相同的結(jié)果,前述的任何處理步驟都存在與其它步驟相交換的可能。選擇這樣的實(shí)施例,并進(jìn)行描述,是為了更好地解釋本發(fā)明的原理和在具體應(yīng)用時的最佳模式,從而使得其它精于本專業(yè)的人可以了解本發(fā)明為了適合其它特殊應(yīng)用的各種實(shí)施例和各類修改。本發(fā)明的范圍將通過隨后的權(quán)利要求及其等同物而定義。
權(quán)利要求
1.一個用于由輸入數(shù)據(jù)字X(m-1,m-2,......,0),Y(m-1,m-2,.......0),和Z(m-1,m-2,.......0)(其中m=一個數(shù)據(jù)字的總比特數(shù))表示的顏色的第一三維顏色空間三激勵顏色交換到由輸出數(shù)據(jù)字X′(m-1,m-2,......,0),Y′(m-1,m-2,.......0),和Z′(m-1,m-2,.......0)表示的第二三維顏色空間三激勵顏色的設(shè)備,其特征在于地址發(fā)生器(1405),具有輸入裝置(1403)和輸出裝置(1411),用于通過上述輸入裝置(1403)接收第一三維顏色空間三激勵顏色字的第一組預(yù)定比特,并在上述輸出裝置(1411)上提供地址信號;一系列8存儲器組(1409),每一個都具有輸入裝置,有選擇地連接到上述地址發(fā)生器(1405)的上述輸出裝置(1411),用于接收地址信號,按照上述第一組預(yù)定比特每個訪問周期訪問上述每一個存儲器組(1409)的一個單元;可尋址存儲器單元,存貯對應(yīng)于上述第一三維顏色空間三激勵顏色字的第二三維顏色空間三激勵顏色變換字;輸出裝置用于從上述單元提供上述三維顏色空間三激勵顏色變換字;一個排序器(1415),用于排序被訪問的位置轉(zhuǎn)換字,包括第一輸入裝置,有選擇地連接到上述存儲器組(1409)的輸出裝置,用于接收上述變換字;第二輸入裝置,連接以接收上述第一組預(yù)定比特的第一預(yù)定子集,使得上述變換字按照上述第一預(yù)定子集的順序排序;以及八輸出裝置,用于輸出上述被排序的變換字;以及插值器,用于使用上述顏色字的第二組預(yù)定比特對上述排序的變換字插值,該插值器具有八個第一輸入裝置,連接到上述排序器輸出裝置,對應(yīng)地接收上述排序的變換字;第二輸入裝置(1421),連接以接收上述顏色字的第二組預(yù)定比特;以及輸出裝置(1423),用于提供上述第二三維顏色空間三激勵顏色;在插值中,由數(shù)據(jù)字X(m-1,m-2,......,0),Y(m-1,m-2,.......0),和Z(m-1,m-2,.......0)表示的顏色的第一三維顏色空間三激勵顏色被變換到由數(shù)據(jù)字X′(m-1,m-2,......,0),Y′(m-1,m-2,.......0),和Z′(m-1,m-2,.......0)表示的第二三維顏色空間三激勵顏色,它是與上述第一三維顏色空間三激勵顏色變換字相關(guān)的。上述存貯的第二三維顏色空間三激勵顏色變換字的插值。
2.權(quán)利要求1的裝置,其特征在于,每一個所述存儲器組(1409)的進(jìn)一步的特征是一個接收有決定作用的信號的輸入如確定在當(dāng)前的訪問周期中,變換哪一個三激勵顏色X、Y或Z。
3.權(quán)利要求1或2的裝置,其特征在于,所述的一系列八存儲器組(1409)的特征是用于仿真一個三維空間結(jié)構(gòu)的裝置,其特征在于存貯著上述變換字,使得上述變換數(shù)據(jù)的每一個字可以在一個訪問周期中訪問而不必復(fù)制上述一系列八存儲器組。
4.權(quán)利要求3的裝置,其特征在于,所述仿真一個三維空間結(jié)構(gòu)的裝置的更多的特征是所述的一系列八存儲器組(1409)具有代表一個立方體的八頂點(diǎn)的立方體結(jié)構(gòu)陣列的可尋址的位置,其中,存貯著上述變換字,使得任何立方體結(jié)構(gòu)的八個頂點(diǎn)可以在單一訪問周期內(nèi)通過訪問每一個存儲器組(1409)并行地訪問。
5.權(quán)利要求1,2,3或4的裝置,其特征在于,所述的排序器(1415)更多的特征是根據(jù)函數(shù)X(d,c,b)+X(a)&!bank(c),Y(d,c,b)+Y(a)&!bank(b),Z(d,c,b)+Z(a)&!bank(a),連結(jié)上述第一三維顏色空間三激勵顏色的上述第一組預(yù)定比特。其中“d,c,b,a”是連續(xù)比特,“a”是最低有效比特,并且上述輸入數(shù)據(jù)的上述第一組預(yù)定比特的上述第一預(yù)定子集和“bank(1)”是上述一系列八存儲器的存儲器組號。
6.權(quán)利要求5裝置,其特征在于,所述的插值器(1407)更多的特征是一個三線性插值器設(shè)備。
7.一種將多變量,非線性輸入數(shù)據(jù)(該數(shù)據(jù)由代表每一變量的第一字表示,其中“n”代表每一個上述被轉(zhuǎn)換的上述第一字的比特數(shù))變換到一個插值的輸出數(shù)據(jù)的方法,其特征在于用一種可檢索的方法對第二字排序,其中每一個上述第二字是一個相關(guān)于一個輸入數(shù)據(jù)點(diǎn)顏色的變換數(shù)據(jù)點(diǎn)。對每一個第一字提供一個預(yù)定的比特組,“a”,其中“a”小于“n”,定義為尋址和排序比特以及一個預(yù)定數(shù)據(jù)比特組,“d”定義為一個預(yù)定數(shù)據(jù)點(diǎn)顏色;使用上述第一預(yù)定比特組“a”從被上述預(yù)定比特組“a”指定的存儲位置中恢復(fù)預(yù)定的第二字,并將上述存儲的第二字排序?yàn)橐粋€邏輯次序;使用上述數(shù)據(jù)比特“d”和基于多個變量的非線性變換對上述預(yù)定的第二字插值;并且輸出插值的第二數(shù)據(jù)字。
8.權(quán)利要求7方法,其特征在于,所述的排序第二字的步驟的更多的特征是提供2x存儲器,其中X等于變量數(shù),每一個具有存貯在一個組織中的預(yù)定的第二字,使得不要求比一次訪問每輸入數(shù)據(jù)變換事件更多的存儲器去恢復(fù)關(guān)聯(lián)于一個輸入數(shù)據(jù)點(diǎn)的上述第二數(shù)據(jù)字。
9.權(quán)利要求7或8的方法,其特征在于,所述的使用上述第一預(yù)定比特組“a”從被上述預(yù)定比特組“a”指定的存儲位置中恢復(fù)預(yù)定的第二字,并將上述存儲的第二字排序?yàn)橐粋€邏輯次序的方法的更多的特征是將上述第一預(yù)定比特組“a”的剩余比特和上述第一預(yù)定比特組“a”的第一預(yù)定子集連在一起。
10.權(quán)利要求8方法,其特征在于,所述的使用上述第一預(yù)定比特組“a”從被上述預(yù)定比特組“a”指定的存儲位置中恢復(fù)預(yù)定的第二字,并將上述存儲的第二字排序?yàn)橐粋€邏輯次序的方法的更多的特征是選擇上述將被變換的多變量的第一變量,并恢復(fù)那些需要的第二字,以獲得關(guān)聯(lián)于上述第一變量的一個插值的第二數(shù)據(jù)字。
全文摘要
揭示了一種用于多準(zhǔn)數(shù)據(jù)變換的方法和設(shè)備。一個多維的,非線性數(shù)據(jù)存儲器存貯結(jié)構(gòu)(1409∶0,1,2,3,4,5,6,7),提供并行地訪問所有維的數(shù)據(jù)而不需要復(fù)制存儲器。對于n維,文檔編號G09G5/00GK1133995SQ9610065
公開日1996年10月23日 申請日期1996年1月15日 優(yōu)先權(quán)日1995年1月18日
發(fā)明者A·R·瓊斯 申請人:惠普公司