欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

圖象處理的方法和系統(tǒng)的制作方法

文檔序號:6408473閱讀:175來源:國知局
專利名稱:圖象處理的方法和系統(tǒng)的制作方法
本專利申請是序列號為08/085,534的美國專利申請的部分繼續(xù)申請,該專利申請于1993年6月30日以“圖象處理的方法和系統(tǒng)”的題目提出,所以這份專利申請的內(nèi)容用作為本專利申請的參考。本專利申請以及上述父專利申請要求法國專利申請No.93.03455的優(yōu)先權(quán),這份法國申請于1993年3月25日提出,其內(nèi)容也作為本申請的參考。
本發(fā)明一般地涉及圖象處理,并且更具體地涉及使用計算機系統(tǒng)以得到快速圖象處理能力的圖象處理方法和系統(tǒng)。
本發(fā)明是因為這一代的圖象修正系統(tǒng)的缺點而產(chǎn)生的。現(xiàn)有技術(shù)的修正系統(tǒng)通常使用兩種方法中的一種方法處理圖象(1)虛擬圖象法和(2)高分辨率/低分辨率法。此外,在現(xiàn)有技術(shù)中還能夠找到依靠用戶編程的以文本為基礎(chǔ)的修正方法。上述方法的每一種都能克服圖象修正系統(tǒng)所面臨的主要困難。但是先有技術(shù)的任一系統(tǒng)都不能滿足當(dāng)今計算機系統(tǒng)的要求,在系統(tǒng)用戶能支付的價格下當(dāng)今的計算機系統(tǒng)可對高質(zhì)量彩色圖象提供快速編輯。
臺式圖象編輯軟件包例如以Macintosh或Windows為基礎(chǔ)的程序,通常采用的虛擬圖象法處理保持在存儲器里的實際圖象的復(fù)制品。Macintosh是加州Cupertino城的Apple(蘋果)計算機公司的商標(biāo),而Windows是華盛頓州Redmond城的Microsoft(微軟)公司的商標(biāo)。通常,把原始圖象不經(jīng)編輯地存儲到存儲器里。在編輯的過程中,虛擬圖象法構(gòu)造一個或多個編輯后圖象的中間草圖的復(fù)制品。因此,如果在編輯期間產(chǎn)生錯誤,用戶或操作員可以回復(fù)到該圖象以前的復(fù)制品從而改正這個錯誤。采用虛擬圖象法時,隨著施加修正作用圖象本身受到變換。
虛擬圖象法具有兩個重要的缺點第一,為存儲不同的中間編輯圖象需要大量的存儲器,并且第二,因為各次作用是立即施加到整個圖象上的所以復(fù)雜的處理如大噴射、定標(biāo)和旋轉(zhuǎn)會導(dǎo)致長的處理延遲。
由于在處理大圖象(超過10M或1千萬字節(jié))時基于虛擬圖象方法的現(xiàn)有技術(shù)的圖象,修正系統(tǒng)不能提供可接收的性能,發(fā)展了采用高分辨率/低分辨率法的編輯系統(tǒng)。這些系統(tǒng)操作較小的,即低分辨率的圖象,從而為操作員建立改善的響應(yīng)時間。采用這個方法時,操作員對圖象的每次修正行為順序地存儲到一份底稿里。當(dāng)完成修正時,該底稿通常要通過一個更高效的和更貴的服務(wù)器并且“受到執(zhí)行”。作為對該底稿執(zhí)行的結(jié)果,把包含在該底稿里的修正行為施加到一個高分辨率的圖象,最初編輯系統(tǒng)是從這個高分辨率圖象上推導(dǎo)出該低分辨率圖象的。因此,高分辨率/低分辨率法產(chǎn)生一個高質(zhì)量最終圖象,該最終圖象包含著對低分辨率圖象進行的修正。這個方法的一個問題是操作員不修正和不處理實際的(高分辨率)圖象。因此,不是總有可能進行高度細致的如剪影和掩蔽的修正行為的。1992年8月25日授權(quán)給Kellas等的美國專利號5,142,616公開了在主計算機上執(zhí)行的高分辨率/低分辨率法的一個例子。
圖象處理中一種供選擇的方法是表達式樹方法,在該方法里圖象是由一組操作規(guī)定的,這些操作或者由計算機程序或者由數(shù)學(xué)公式實現(xiàn)。G、J、Holzmann在BEYOND PHOTOGRAPHYTHEDIGITAL DARKROOM 31—41(Prentice Hall,1988)書中揭示利用文本表達式來規(guī)定定義圖象修改的方程式。當(dāng)用可執(zhí)行的代碼寫出這些文本表達式時,程序建立表達式樹以簡化在計算機系統(tǒng)上對該表達式的計算。在現(xiàn)有技術(shù)中使用的這個方法的缺點在于用戶不僅必須在圖象生成及編輯的制作方面上而且必須在編程及數(shù)學(xué)上都是非常有經(jīng)驗的。這種技能對于初始生成表達式樹以及隨后為完成圖象修改而對樹進行修正都是必需的。
總而言之,目前的用于編輯高分辨率圖象的計算機化圖象處理為了實現(xiàn)圖象修正的全部要求需要太強的處理能力、太多的存儲器或者對操作員需要太高的編程和數(shù)學(xué)技能。此外,許多現(xiàn)有技術(shù)對于最終結(jié)果的質(zhì)量施加了不令人滿意的限制。因此,在技術(shù)上需要一種計算化的圖象處理方法和設(shè)備,其能使數(shù)學(xué)上或編程上不熟練的操作員迅速地完成高級圖形操作,并且允許在決不影響最終圖象的分辨率或精度的情況下變換圖象編輯決策。
本發(fā)明有益于克服與現(xiàn)有技術(shù)的圖象處理系統(tǒng)相關(guān)聯(lián)的缺點。具體地,本發(fā)明是一個利用臺式計算機迅速編輯圖象的圖象處理系統(tǒng)。利用圖形用戶接口,本發(fā)明采用表達式樹定義編輯操作。隨著改變圖象視圖或修改圖象,或者修改表達式樹或者把表達式樹合并到新的表達式樹里。最終地,表達式樹被計算并且顯示或打印包含著圖象修改的輸出圖象。通過利用表達式樹,本發(fā)明的操作和構(gòu)成本發(fā)明的輸入的原始圖象的分辨率無關(guān),而且本發(fā)明的操作和本發(fā)明產(chǎn)生的輸出圖象的分辨率無關(guān)。這樣,對于輸入圖象及輸出圖象的質(zhì)量和格式本發(fā)明具備很大的靈活性。
本發(fā)明有利地采用所謂的函數(shù)插入變換系統(tǒng)(FITS),以利用常規(guī)的臺式計算機大大提高圖象編輯速度。FITS把圖象處理分成三步,這三步由三個不同的計算機軟件程序來完成(1)預(yù)處理程序,(2)圖象編輯程序和(3)FITS光柵圖象處理(RIP)程序。該三步處理使得用戶的各次圖象操作及編輯瞬時地實際描繪到計算機顯示監(jiān)視器的屏幕上。
具體地,預(yù)處理程序建立圖象的特定格式化型式以允許迅速地改進圖象編輯。該特定的格式包括全分辨率圖象(輸入圖象)以及一系列從全分辨率圖象衍生出來的子圖象。系列中每個子圖象的分辨率低于系列中前一個子圖象的分辨率,即該序列構(gòu)成一個特定格式化子圖象的圖象塔狀結(jié)構(gòu)。從這個塔狀結(jié)構(gòu)中,本發(fā)明自動地選擇一個子圖象或子圖象的一部分,以在一個選定的圖象放大水平上對用戶準(zhǔn)確顯示含有適當(dāng)分辨率的圖象。這樣,如果放大水平連續(xù)地改變,可以從存儲器里迅速地調(diào)用最好地在屏幕上描繪該圖象的新子圖象并且顯示這個新子圖象。
圖象編輯程序向圖象(或子圖象)施加某一圖象編輯操作。本發(fā)明是按照用戶操作的圖象處理軟件程序包來實現(xiàn)的,或者是按照計算機控制的獨立程序來實現(xiàn)的。不論在哪一種情況下,本發(fā)明的圖象編輯程序向圖象作用圖象修改。典型的圖象編輯操作包括組合圖象,以及對目前顯示的圖象的顏色及其全部或一部分外形進行銳化、模糊化、亮化、暗化、變形和修改。對圖象的修改被作為表達式樹的一部分存儲在所謂的FITS文件里。表達式樹包括定義最終應(yīng)作用到圖象上的編輯操作的參數(shù)。光柵圖象處理程序利用FITS文件的內(nèi)容或利用尚未保存到FITS文件中的表達式樹產(chǎn)生輸出圖象,用于在計算機監(jiān)視器上進行顯示,用于在高分辨率打印機上打印,或者用于輸出到臺式出版系統(tǒng)。
在兩種情況下執(zhí)行FITS光柵圖象處理(RIP)程序(1)每當(dāng)產(chǎn)生一個在監(jiān)視器上顯示的新屏幕視圖時,即每次圖象修改或者圖象視圖改變之后,以及(2)當(dāng)產(chǎn)生輸出頁面以打印編輯后圖象或者把編輯后圖象輸出到如臺式出版系統(tǒng)的另一個系統(tǒng)時。FITSRIP程序把輸入圖象(子圖象)和圖象編輯期間產(chǎn)生的修改(FITS文件層)結(jié)合起來建立一個屏幕圖象或打印圖象。由FITSRIP程序產(chǎn)生的輸出圖象可以具有任何分辨率;從而稱為和分辨率無關(guān)的。
FITS RIP程序取出在圖象編輯進程期間執(zhí)行的圖象處理的集合體(由表達式樹代表),把該集合體和未編輯的圖象組合起來,并且計算用于打印或在監(jiān)視器上顯示的單一圖象。在圖象編輯期間完成的對圖象的修改是以和輸入圖象的分辨率或者最終輸出圖象的分辨率無關(guān)的表達式樹為特征的。在執(zhí)行FITS RIP程序期間,首先在數(shù)學(xué)上把表達式樹的節(jié)點組合起來。其結(jié)果映象到輸出圖象的象素位置上。從而,對于輸出圖象的各個象素產(chǎn)生單一的數(shù)學(xué)函數(shù),該數(shù)學(xué)函數(shù)描述在輸出圖象之內(nèi)的該點上一個任意顏色空間中的顏色。這個函數(shù)包括與原始輸入圖象有關(guān)的以及與包含在表達式樹中任何可施加的修改有關(guān)的信息。
通過研究下述詳細說明及附圖,可以很容易地理解本發(fā)明的原理。附圖是


圖1示意表示表達式樹的一般形式;圖2是圖1的表達式樹的一種特殊情況,其中各個節(jié)點表示零或者一個子節(jié)點;圖3是實現(xiàn)本發(fā)明的計算機系統(tǒng)的高層框圖;圖4是在圖1所描述的計算機系統(tǒng)中執(zhí)行的FITS主程序的流程圖圖5示意地描述根據(jù)本發(fā)明的預(yù)處理程序建立的拼塊式圖象金字塔狀結(jié)構(gòu);圖6是預(yù)處理程序的流程圖;圖7是圖象編輯程序的流程圖;圖8是象素更新程序的流程圖;圖9是FITS光柵圖象處理(FITS RIP)程序的流程圖;以及圖10概括地說明由FITS RIP程序使用的用于插入中間參數(shù)值的輸出網(wǎng)格。
為了便于理解,只要可能,采用相同的參考數(shù)字指示各圖中共同的相同部件。
本發(fā)明是一種圖象編輯方法和系統(tǒng),用于處理、改變及修正計算機化的即數(shù)字化的圖象,并且用于把這些圖象顯示在計算機監(jiān)視器上或者在打印機上。本發(fā)明利用函數(shù)插入變換系統(tǒng)(FITS),在這個系統(tǒng)里基礎(chǔ)圖象,即來自圖象掃描儀、作圖程序或某其它圖象源的輸入圖象作為表達式樹中的表達式被保留、被改變和被記錄。通過只處理當(dāng)前顯示屏幕上所顯示圖象的變化,F(xiàn)ITS只進行修改該圖象所需的計算和只進行為準(zhǔn)確顯示這些修改所需的計算。并且,所有修改是和分辨率無關(guān)的而且可用于產(chǎn)生任何分辨率級別的輸出圖象(分辨率通常用每英寸上的點數(shù)或dpi來測量)。這樣,一旦使用顯示分辨率相對低的計算機屏幕進行編輯之后,該系統(tǒng)可以利用高分辨率打印機打印高分辨率圖象。
具體地,在圖象是以表達式樹為特征的情況下本發(fā)明的圖象處理方法和系統(tǒng)用于建立和編輯與分辨率無關(guān)的圖象。在連續(xù)的二維空間的任一點(x,y)上根據(jù)需要可通過計算機子程序計算表達式樹,以顯示、打印或輸出圖象。
表達式樹是一種常規(guī)的樹數(shù)據(jù)結(jié)構(gòu),通曉計算機編程的技術(shù)人員對它是熟悉的。樹中的每個節(jié)點定義一個圖象(也可能是編輯操作期間的中間結(jié)果),該圖象可以從該節(jié)點本身存儲的數(shù)據(jù)計算出,可以從由該節(jié)點引用的任何子樹中存儲的數(shù)據(jù)計算出,以及可以從該節(jié)點或其子樹能夠引用的任何預(yù)處理圖象文件的數(shù)據(jù)計算出。在最佳實施方式里,每個節(jié)點是一個對象(在諸如C++的面向?qū)ο蟮某绦蛟O(shè)計語言里),這個對象含有對象方法(和該對象相關(guān)的子程序),以便計算給定座標(biāo)x和y的圖象點的顏色F(x,y)。F(x,y)表示在如RGB、HSV或CMYK的某顏色空間里帶有座標(biāo)向量的一個顏色。
在表達式樹中的各個節(jié)點(對象)包括下列數(shù)據(jù)一對零個或多個具有關(guān)聯(lián)函數(shù)Fi(x,y)的子節(jié)點Ci的指針。
一對表示外部輸入圖象Ii(x,y)的對象的零個或者多個指針。
一對定義位置相關(guān)項D1(x,y)的對象的零個或者多個指針。
一零個或者多個位置無關(guān)項Gk(x,y)。
通常,位置無關(guān)項是圖象內(nèi)修改位置無關(guān)的修改參數(shù)。另一方面,位置相關(guān)項是作為圖象內(nèi)修改位置的函數(shù)隨位置變化的修改參數(shù)。
計算F(x,y)的典型對象方法可表示為F(x,y)=H(F1(x,y),F(xiàn)2(x,y)…Fr(x,y)I1(x,y),I2(x,y)…Is(x,y)D1(x,y),D2(x,y)…Dt(x,y)G1,G2…Gu(x,y))其中H是一個函數(shù),定義在表達式樹的給定節(jié)點上所需的編輯操作。備擇地,函數(shù)H可以取決于(x,y)鄰域中點上的Fi、Ii和Di值即F(x,y)的值是非嚴(yán)格地定位在位置(x,y)上的參數(shù)的函數(shù)。圖1示意地描述表達式樹的一般形式。
圖2描述當(dāng)所有的節(jié)點只具有不超過一個子節(jié)點(子女)時這種特殊情況下的表達式樹結(jié)構(gòu)。在這種情況下,樹描述一序列“層”。根節(jié)點(層r)描述最頂層,它的子(女)描述下一層,并且一層一層地下降到?jīng)]有子(女)的底層(層1)。對于圖象修正,這是一種非常重要的特殊表達式樹結(jié)構(gòu)。修正藝術(shù)家所需的許多種類的修改可通過一系列的層來描述,不需要由如圖1所示的表達式樹提供附加的一般性。
為了促進快速處理,在最佳實施方式中,代表外部輸入圖象Ii(x,y)的對象通過訪問按預(yù)處理IVUE格式(下面說明)存儲的圖象計算它們的結(jié)果。但是,一般地說,外部輸入圖象可按任何格式存儲并且可通過這些對象得到訪問。
圖3是一個常規(guī)的計算機系統(tǒng)110的框圖,這個計算機系統(tǒng)110能夠執(zhí)行FITS計算機程序118,從而允許用戶對圖象實行修改并把編輯后的圖象顯示在打印機110和/或顯示監(jiān)視器108上。具體地,計算機系統(tǒng)100包括圖象輸入設(shè)備102、計算機104、用戶輸入設(shè)備106、顯示監(jiān)視器108和打印機110。在操作上,通過圖象輸入設(shè)備102如常規(guī)的圖象掃描儀建立一個原始圖象。通過掃描儀掃描后的圖象格式化為圖象文件120,該圖象文件存儲到計算機104里的存儲器116里。備擇地,原始圖象可由計算機104或另一計算機執(zhí)行作圖程序(廣義地表示為圖象處理程序122)所生成并且作為圖象文件120存儲到存儲器116里。計算機104包括至少一個中央處理機(CPU)112、存儲器116和各種眾所周知的CPU支持電路114。這種計算機的一個例子是由加州Cupertino城的Ap-ple計算機公司制造的Macintosh Quadra 900型。在存儲器116里存儲著FITS程序118、圖象編輯程序112以及一個或多個圖象。根據(jù)用戶的意思,由FITS程序改變的圖象可以顯示在顯示監(jiān)視器108和/或打印機110上。
在操作上,用戶通常操作諸如鼠標(biāo)器、跟蹤球、光筆和/或鍵盤的用戶命令輸入設(shè)備106,通過計算機104來控制如圖象掃描儀的圖象輸入設(shè)備102。圖象掃描儀按常規(guī)方式掃描圖象的硬拷貝并且把硬拷貝的數(shù)字化表示作為圖象文件120存儲到存儲器116里。接著,用戶可以指示CPU112執(zhí)行FITS程序118并且還可以從存儲器里調(diào)用圖象文件(原始圖象)。FITS程序118或者是一個和常規(guī)圖象處理程序122接口的獨立程序或者是圖象處理程序里的嵌入程序。為了簡便,這里把FITS程序描述為一個獨立程序。通過對用戶命令輸入設(shè)備的操作,用戶向FITS程序118發(fā)送指令以便利對原始圖象的處理、修正、改變及其它編輯,即采用一個圖形用戶接口(GUI)。一般地說,F(xiàn)ITS程序118向圖象施加各種修改并且把編輯后的圖象顯示在顯示監(jiān)視器上。一旦完成所需的圖象編輯之后,用戶可以把編輯后的圖象打印在打印機上。當(dāng)然,可以用任何形式的把圖象設(shè)置在例如膠片等的有形介質(zhì)上的設(shè)備來代替打印機。
熟練的技術(shù)人員從上面的討論中可以意識到,計算機系統(tǒng)當(dāng)然可以是計算機網(wǎng)絡(luò)中的一部分。如果這樣,存儲器116可以存在于和網(wǎng)絡(luò)總線連接的服務(wù)器計算機中。此外,打印機和圖象輸入設(shè)備可以連接到網(wǎng)絡(luò)總線的節(jié)點上,同時計算機、用戶輸入設(shè)備和顯示監(jiān)視器可以是和網(wǎng)絡(luò)總線連接的計算機工作站或微計算機,從而用戶的計算機通過總線可以訪問打印機,圖象輸入和存儲器設(shè)備。
應(yīng)該理解FITS程序的各個子程序可以在不同的計算機和/或外設(shè)上執(zhí)行。在這種情況下,由各子程序產(chǎn)生的不同的計算機文件可能存儲在硬盤或者某些其它的可傳送性存儲媒體上。從而,所存儲的文件能夠在不同的計算機和外設(shè)之間進行傳送和得到使用。
圖4是用來實現(xiàn)FITS進程的計算機軟件程序(FITS主程序118)的高層流程圖。FITS主程序200包括圖象預(yù)處理程序204、圖象編輯程序208和FITS光柵圖象處理(FITS RIP)程序212。包含在圖象文件202里的數(shù)字化圖象構(gòu)成FITS主程序的輸入。輸入圖象文件通常是由常規(guī)的圖象掃描儀或者常規(guī)的作圖程序產(chǎn)生的。在這兩種情況下,輸入圖象文件可格式化為任何一種周知的格式,Tagged Image File Format(TIFF),EncapsulatedPost ScriptFormat(EPSF)等。Post Script是加州Mountain View城的AdobeSystems公司的注冊商標(biāo)。其它的輸入包括圖象編輯信息,F(xiàn)ITS主程序把圖象編輯信息應(yīng)用到輸入圖象上。圖象編輯信息是由和FITS程序一起運行的圖象處理程序產(chǎn)生的。FITS主程序產(chǎn)生作為輸出的圖象文件216,其包含著作用到輸入圖象上的由圖象編輯信息定義的修改。FITS主程序產(chǎn)生任意所需分辨率的輸出圖象文件,以精確地在打印頁面上或顯示監(jiān)視器的屏幕上描述圖象(或者一部分圖象)。
通常,圖象預(yù)處理程序204執(zhí)行預(yù)處理功能以把輸入圖象文件格式變換成特別的文件格式,這種特別的文件格式可由FITS RIP程序迅速地顯示在顯示監(jiān)視器上并且可由圖象編輯程序交互式地編輯。這種特殊為圖象文件稱為“IVUE”文件。在下面將詳細討論IVUE文件格式的特殊性質(zhì)。
沿著路徑206把IVUE文件發(fā)送到圖象編輯程序208,而且沿著路徑214把IVUE文件發(fā)送到FITS RIP程序212。如下面將詳細解釋的那樣,路徑206上的IVUE文件可以是一個“全IVUE”文件或者是一個“壓縮IVUE”文件。此外,熟練的技術(shù)人員可以意識到預(yù)處理程序不一定必須存在于FITS程序里。備擇地,該程序可以存在于圖象輸入設(shè)備中。在這種情況下,圖象輸入設(shè)備,例如圖象掃描儀,應(yīng)該直接產(chǎn)生代表該設(shè)備所生成的圖象的IVUE文件。
圖象編輯程序208以一種交互的方式把任何修改作用到即由IVUE文件代表的圖象上。該程序把這些修改作為一層,或者一個圖象對象,施加到圖象上,并且存儲這些修改以及把這些修改表示為作為FITS文件存儲的表達式樹里的節(jié)點。因此,F(xiàn)ITS文件包括一個或多個相互連接的定義對原始圖象的修改的樹。因為僅用代表對圖象修改的方程式的參數(shù)來存儲修改的,而不是用修改后圖象的完整拷貝來存儲修改的,所以比起現(xiàn)有技術(shù)例如虛擬圖象法所需的存儲量,本發(fā)明大大減少了存儲器的使用。進而,通過只存儲說明圖象所需改變的信息,可以更快地更新圖象。沿著路徑210發(fā)送FITS文件以由FITS RIP程序212進行更多的處理。
最后,F(xiàn)ITS RIP程序212把表達式樹代表的所有修改和IVUE文件代表的原始圖象結(jié)合起來,以產(chǎn)生單一的輸出圖象216。該圖象包括由圖象編輯程序208進行的各次修改。此外,F(xiàn)ITS RIP程序把輸出圖象格式化為多個可獲得的標(biāo)準(zhǔn)圖象格式如TIFF、EPSE等等的任何一種格式。照此,該輸出圖象可被輸出到許多可得到的臺式出版系統(tǒng)中的任一系統(tǒng)。FITS RIP程序計算表達式樹以為輸出圖象產(chǎn)生象素值。
備擇地,F(xiàn)ITS RIP程序可存在于圖象顯示設(shè)備如打印機中。照此,打印機或其它用于在有形媒體上產(chǎn)生圖象的設(shè)備可設(shè)計成可利用FITS RIP程序的快速顯示生成性能。
重要的是,當(dāng)圖象是以一系列表達式樹上的節(jié)點為特征時,該FITS程序可設(shè)計為與分辨率無關(guān)的編輯圖象,表達式樹上的節(jié)點可被組合起來以產(chǎn)生任何分辨率的輸出圖象,供顯示或打印。
此外,不象許多高檔和中級的彩色圖象編輯系統(tǒng)強迫操作員修改低分辨率圖象,F(xiàn)ITS程序在高分辨率圖象上運行,即操作員在不受FITS處理法的限制下可以在任何時候訪問包含在原始的全分辨率圖象中的任何信息。并且,如下面將詳細討論的那樣,通過用FITS程序,操作員不限于在一個固定的圖象分辨率上工作。照此,可在任何放大級(圖象分辨率)上實施圖象編輯操作和把新的原始圖象插入到正在編輯的圖象上。
為使讀者深入地了解FITS程序,下面將分別討論各個程序,即預(yù)處理程序、圖象編輯程序和FITS SIP程序。
A.預(yù)處理程序204最初,按TIFF或其它標(biāo)準(zhǔn)格式的輸入圖象被預(yù)處理以建立一個特殊格式化的新文件,稱為IVUE。在圖象編輯期間以及在FITS RIP期間使用該IVUE文件。是按這樣的方式預(yù)處理的,即能夠快速地構(gòu)造充滿圖象數(shù)據(jù)的新屏幕。并且對于全圖象和特寫細節(jié)能夠利用屏幕的最好分辨率。
從一個抽樣圖象建立IVUE文件的第一步是根據(jù)現(xiàn)有技術(shù)中周知的技術(shù)構(gòu)造一個較小抽樣圖象的塔狀結(jié)構(gòu)。在本發(fā)明的最佳實施方式中,塔狀結(jié)構(gòu)里的最精細圖象是原始圖象,并且在各維上各個較粗糙的圖象的分辨率是下一個較精細的圖象的分辨率的一半??梢詮腖.Williams、“Pyramidal Parametrics”、Proceedings of Sig-graph’83,PP.1—11(1983)和在頒布給Anderson的美國專利號4,718,104中所描述的“Burt Pyramid”中找到產(chǎn)生這些塔狀結(jié)構(gòu)的計算方法的兩個例子。
在計算出塔狀結(jié)構(gòu)之后,按最粗糙的到最精細的順序把圖象的塔狀結(jié)構(gòu)寫入到存儲設(shè)備(存儲器)里。把各個圖象劃分成一系列的p×q象素的矩形塊,并按光柵掃描次序把各矩形塊寫入到存儲設(shè)備里。在各個矩形塊里,按光柵掃描次序把象素寫入到存儲設(shè)備里。在圖5中表示了一個塔塊式圖象塔狀結(jié)構(gòu)的簡單例子。
可以用圖6所示的步驟順序更準(zhǔn)確地說明用來建立IVUE文件的預(yù)處理程序204。該順序描述如下
1.在IVUE文件的開頭部分為文件標(biāo)題信息及偏移表的指針保留空間。(步驟402)2.輸入離散抽樣圖象I(i,j)。(步驟404)3.構(gòu)造一系列的圖象I1(i,j)、I2(i,j)、I3(i,j)…In(i,j),其中I1(i,j)=I(i,j)并且當(dāng)K>1時根據(jù)計算圖象塔狀結(jié)構(gòu)的現(xiàn)有技術(shù)通過低通濾波器和按2因子均分從Ik-1(i,j)導(dǎo)出Ik(i,j)。(步驟406)4.對1到n的k循環(huán)下述5至8的步驟,從而把各個圖象分塊為p×q象素塊。(步驟407、408、410、411、412、413)5.當(dāng)r小于或等于Ik(i,j)中的i的最大值時對i從1每次增加p循環(huán)步驟6和7。
6.當(dāng)s小于或等于Ik(i,j)中的j的最大值時對s從1每次增加q循環(huán)步驟7。當(dāng)i從r至r+p-1和q從s至s+q-1時p×q的矩形區(qū)域為一個塔塊。
7.把屬于該塔塊的圖象Ik的象素按光柵掃描順序?qū)懮氲酱鎯υO(shè)備上。(步驟410)8.把存儲設(shè)備內(nèi)各塔塊的起始地址和偏移表相加。(步驟411)9.把偏移表寫入到存儲設(shè)備。(步驟414)10.把偏移表的地址和所有標(biāo)題信息寫入到存儲設(shè)備中在步驟1里所保留的空間上。(步驟415)作為最常用的,標(biāo)題信息應(yīng)該包括原始圖象的尺寸、p及q的值和其它程序員認為有用的任何其它信息。
11.返回FITS主程序。(步驟416)很清楚,對于熟練的程序員有許多不同的方式實現(xiàn)偏移表。一般地講,偏移表是存儲設(shè)備上的一種數(shù)據(jù)結(jié)構(gòu),其允許一個程序利用IVUE文件來計算子圖象里的塔塊在存儲設(shè)備中的位置。因此,簡單的實施方式根據(jù)子圖象和塔塊的數(shù)量采用固定尺寸的指針表。較復(fù)雜的實施方式可采用變尺寸的數(shù)據(jù)結(jié)構(gòu)以促進在其寫入IVUE文件后對它的修改。
在最佳實施方式里p=q,但是在許多計算機系統(tǒng)里p和q的不相同值可能具有性能上的好處。塔塊的尺寸的選擇應(yīng)使得圖象修正系統(tǒng)具有最好可能的性能。在采用硬盤作為存儲設(shè)備而且屏幕修正面積約為700×700象素的Apple Macintosh Quadra 900上的經(jīng)驗表明塔塊尺寸的最佳值在100k字節(jié)至300k字節(jié)之間。Macintosh和Quadra是加州Cupertino城的Apple計算機公司的商標(biāo)。其它計算機或者其它存儲媒體的最佳塔塊尺寸可能完全不同。
為了構(gòu)造一個可能對網(wǎng)絡(luò)訪問更有效的較小的稱之為IVUE/C的文件,預(yù)處理IVUE文件方法中的步驟7可按如下修改當(dāng)i從r到r+p-1及q從s到s+q-1時p×q矩形區(qū)域是一個塔塊。壓縮屬于該塔塊的Ik的象素并把壓縮后的結(jié)果寫入到存儲設(shè)備里。把存儲設(shè)備上塔塊的起始位置和偏移表相加。
壓縮方法可以是JPEG、向量量化法或者任何其它的圖象壓縮方法。壓縮可能是有損耗的或者無損耗的。采用壓縮存在著兩個基本優(yōu)點(1)在圖象編輯期間只使用IVUE/C文件;這樣,采用壓縮文件可降低網(wǎng)絡(luò)中給定修正工作站的磁盤要求,并且(2)在圖象編輯期間如果圖象在網(wǎng)絡(luò)圖象服務(wù)器上,使用壓縮方案可以大大地減少由于從網(wǎng)絡(luò)服務(wù)器上檢索圖象而產(chǎn)生的網(wǎng)絡(luò)延遲而造成的操作員等待時間。
在屏幕編輯步驟期間可能采用壓縮圖象,此刻有損耗的壓縮圖象的質(zhì)量可能是完全可接受的。但是,為了得到最終輸出的最高質(zhì)量的圖象,用戶在FITS RIP期間可以選擇使用未壓縮IVUE格式的全圖象。從而,雖然為了提高處理速度和降低存儲要求在編輯操作期間可能采用了有損耗的壓縮,但它不會降低最終圖象的質(zhì)量。
技術(shù)上熟練的程序員可以理解,在IVUE或IVUE/C文件里可包括其它數(shù)據(jù),諸如創(chuàng)造者、壓縮方法的名字或者其它任何程序員認為有用的應(yīng)該包括的。最方便的是在文件的開端或者結(jié)尾完成這些工作,但是如果出于某種原因而需要時也可按常規(guī)方法把它們和圖象數(shù)據(jù)混雜在一起。技術(shù)上熟練的程序員還可以理解,相同的數(shù)據(jù)可以寫入到幾個文件中(例如,在塔狀結(jié)構(gòu)中一個圖象一個文件),其不會根本性地改變本發(fā)明。
B.圖象編輯程序208圖象編輯涉及圖象的修正、創(chuàng)造和合成過程。利用圖象編輯程序,操作員依次施加各種效果,諸如模糊、光滑和旋轉(zhuǎn)及定標(biāo)等的變換??稍谌魏螘r間插入其它的圖象,如果需要的話,可以帶有透明度和遮蔽。
在表達式樹中表示各次編輯行為,并把各次編輯行為記錄到名為FITS的文件里,F(xiàn)ITS文件可被認為是命令或修改的數(shù)據(jù)庫,并且是其一種緊致的表示法。
FITS提供一組操作類型,各個操作類型和表達式樹中的一特定函數(shù)相關(guān)。在交互式編輯期間,用戶具有一系列的行為能力以修改編輯操作中的與位置有關(guān)參數(shù)和與位置無關(guān)的參數(shù)。FITS操作包括圖象插入(插入掃描后的圖象)、上色、明暗效果和反射等等。
在圖象編輯期間,操作員利用本發(fā)明通過使用計算機指向器如鼠標(biāo)器或數(shù)字化板規(guī)定所需圖象修改的位置和程度。在圖象修正系統(tǒng)中采用這些指向器在現(xiàn)有技術(shù)中是標(biāo)準(zhǔn)的。但是,把操作員的意思變成FITS系統(tǒng)里的圖象修改的方法是創(chuàng)新的。
在現(xiàn)有技術(shù),指向器被用作把“涂刷”效果作用到抽樣圖象網(wǎng)格上。操作員選擇涂刷的大小和形狀(通常為圓形),而計算機程序反復(fù)地更新位于涂刷區(qū)域里的被修改圖象的所有象素。為了悅目并且為了建立用戶和涂刷在屏幕上造成的外觀之間的有效交互,必須每秒至少更新象素十次。因為被更新的象素的數(shù)量正比于圓形刷子的直徑的平方,更新顯示器所需要的計算量隨著涂刷直徑的增大迅速增加。因此,采用現(xiàn)有的技術(shù)時,可接收的更新速度的計算要求把實際的刷子限制在相對小的直徑上。相反,采用本發(fā)明可有效地改進圖象顯示的更新速度,在不需要過分昂貴的計算設(shè)備以加速計算的情況下修正操作員可以交互式地采用特別粗的涂刷進行修改。
圖7描述圖象編輯程序208的流程圖。具體地,該程序從步驟500開始,接著在步驟502詢問用戶是否希望從存儲器里調(diào)用含有以前編輯過的圖象的FITS文件。如果該詢問得到肯定的回答,在步驟504調(diào)用適當(dāng)?shù)腇ITS文件。如果該詢問的回答是否定的或者在FITS文件被調(diào)用之后,在步驟502該程序利用FITS RIP進程顯示現(xiàn)有圖象。該圖象顯示在顯示設(shè)備的指定區(qū)域或窗口里。如果現(xiàn)有的表達式樹是空的,例如沒有調(diào)用到以前的FITS文件或未編輯的IVUE圖象,F(xiàn)ITS RIP進程在顯示設(shè)備上產(chǎn)生黑色區(qū)域。因為該黑色區(qū)域被認為是一塊畫布,可以創(chuàng)造一個新圖象。為簡單起見,在本討論的剩余部分里假定調(diào)用了一個FITS文件。從而,F(xiàn)ITS RIP利用FITS文件里的表達式樹產(chǎn)生所需的象素(在下面的“FITS RIP”一節(jié)中描述該進程的細節(jié))。照此,在步驟506,在顯示設(shè)備上顯示指定的圖象區(qū)域。
接著,用戶可以或者選擇一個修改操作或者選擇一個當(dāng)前顯示圖象的新視圖。在判定框508里,用戶可以開始或不開始對當(dāng)前顯示圖象的修改。如果不開始,程序沿“NO”路徑510前進到判定框516,在那里用戶可以選擇圖象的一個新視圖。通過選擇周知的命令如上色(pan)和放大縮小(zoom),操作員可規(guī)定被編輯的圖象部分并且同時在顯示器上顯示這部分。這些命令可以被用于規(guī)定圖象坐標(biāo)系統(tǒng)和顯示設(shè)備上指定區(qū)域(窗口)的坐標(biāo)系統(tǒng)之間的仿射變換。采用仿射變換的目的在現(xiàn)有技術(shù)中是周知的,關(guān)于這一點可參考Foley、Van Dam、Feiner和Hughes,COMPUTERGRAPHICSPRINCIPLES AND PRACTICE,Addison Wesley(1990)。
如果在步驟516選擇新視圖,程序進入步驟518。在步驟518,根據(jù)屏幕陣列的數(shù)據(jù)為該層建立PDP組。但是,因為尚未選定編輯操作,屏幕陣列尚未分配。因此,在此時刻在這步驟上什么都沒有出現(xiàn)。在步驟520,利用FITS RIP程序(下面說明)在屏幕上產(chǎn)生一個新的圖象視圖。然后,該程序返回到步驟508,詢問是否選擇一個修改并且開始修改。利用上述進程步驟,在得到所需的視圖之前用戶可以在一個圖象內(nèi)動來動去并且放大或縮小圖象。然后。將在步驟516得到否定的回答,并且程序沿“NO”路徑前進到步驟522。
在步驟522,用戶通常從能進行的操作的菜單上選擇一個編輯操作(或者新的編輯操作)。在選擇了操作之后,在步驟523根據(jù)屏幕陣列組的現(xiàn)行值修改各PDP,并且在步驟524建立表達式樹里的一個新節(jié)點(對象),該新節(jié)點引用零個或者多個子節(jié)點。在最常見情況下,新的操作被看成為是在先前圖象的頂上的一層,這樣新的表達式樹具有把先前圖象表示為它的唯一子女的表達式樹,從而,它只參照該圖象。如果先前編輯操作已被使用,即屏幕陣列目前已被分配,則在分配新的屏幕陣列之前必須把屏幕陣列映射到表達式樹里。該映射是在步驟523中實現(xiàn)的。該映射的特殊性質(zhì)在下面說明。
每次編輯操作取決于一組零或多個位置相關(guān)參數(shù)(PDP),它們說明編輯效果。例如,“上一種顏色”是用單個PDP說明的,這規(guī)定了在各點該顏色的暗度。當(dāng)利用RGB彩色空間時該單色是由三個與位置無關(guān)的參數(shù)規(guī)定的?!吧隙喾N顏色”的操作是用四個PDP說明的三個規(guī)定各點的顏色和一個規(guī)定其暗度。
更具體地說,當(dāng)用戶選擇一種操作和一個視圖(例如通過掃視(pan)和縮放(zoom)并且試圖執(zhí)行圖象編輯操作時,在步驟508的詢問的回答是肯定的。從而,在步驟508,分配二維屏幕陣列并且用所選擇編輯操作的現(xiàn)有PDP或缺省的PDP填值。對和現(xiàn)行所選編輯操作相關(guān)的各個PDP分配一個屏幕陣列。該陣列稱之為屏幕陣列,因為它們代表在對于屏幕上的當(dāng)前視圖具有足夠分辨率的條件下的與位置有關(guān)的各參數(shù)。通常,現(xiàn)行屏幕陣列的網(wǎng)格外分辨率是和被顯示圖象的象素分辨率是一樣的。但是,在某些情況下屏幕陣列所具有的網(wǎng)格要比被顯示圖象粗糙。在這種情況下,通過對屏幕陣列進行插值從PDP值中計算最終的顯示象素值。該插值進程是FITS RIP程序的一種功能,下面將進一步予以說明。在步驟514,在圖象編輯操作期間修改這些陣列的。利用屏幕陣列的修改后內(nèi)容,F(xiàn)ITS RIP程序執(zhí)行所謂的“屏幕RIP”以迅速地再顯示該圖象。在屏幕RIP里,F(xiàn)ITS RIP程序只為經(jīng)編輯操作更改的象素計算新值。照此,如下面所說明的那樣,F(xiàn)ITS RIP程序只作用在那些由編輯操作更改的象素上,即那些在屏幕陣列上具有更改PDP值的象素上。這樣,隨著在圖象上執(zhí)行編輯,在所顯示的圖象上迅速出現(xiàn)修改。
當(dāng)用戶選擇新視圖時(步驟516),在步驟518利用屏幕陣列的內(nèi)容以修改各PDP的與分辨率無關(guān)的表示,即把屏幕陣列值映射到表達式樹里的PDP值。重要的是,只存儲現(xiàn)行屏幕陣列值和先前PDP數(shù)據(jù)結(jié)構(gòu)(在該編輯操作的任何編輯之前的)之間的差別。照此,如果一個屏幕陣列沒有被編輯操作改變,則對應(yīng)的PDP不改變。此后,可以建立新的屏幕陣列(步驟512)以存儲進一步的修改,一直到用戶終止編輯對話為止。
在編輯對話期間用戶可以通過步驟525和526周期性地保存前面的編輯結(jié)果到FITS文件。而且,通過步驟528和530,可由FITS RIP程序處理圖象以產(chǎn)生高分辨率輸出供打印或存儲到存儲器里。最后,在步驟532和534,用戶可以退出編輯對話并返回到主程序。
為了迅速地描述屏幕上的修改,屏幕陣列可以具有和RIP區(qū)域里相同的元素號。備擇地,對于已知為光滑的各個PDP,例如用高斯涂刷產(chǎn)生的PDP,屏幕陣列可按低分辨率存儲并根據(jù)需要插值產(chǎn)生顯示圖象。這個第二種方法減少存儲要求和提高處理速度。
此外,為了在用戶以涂刷的效果上色時提供快速更新,F(xiàn)ITS方法對于各種涂刷尺寸和對于受到限制的運動范圍之內(nèi)的可能的涂刷位移使用一個預(yù)先計算好的表。該思想是這樣的當(dāng)涂刷移動時,F(xiàn)ITS方法只重新計算涂刷在以前的位置上沒接觸過的而在新的位置上將接觸的象素,而不是重新計算涂刷下的顯示器上的所有象素。
更確切地說,令D為象素里一組允許的位移矢量,其描述兩次更新之間的涂刷的平移。在最佳實施方式里,D是一組其項為整數(shù)的矢量(i,j)。在其它的實施方式里,其可用分?jǐn)?shù)矢量或浮點矢量來代替,以在更多的計算代價下得到其它的靈活性。令A(yù)(0,0)為中心在某特定象素P1的受到涂刷作用的一組象素。令A(yù)(i,j)為以另一個圖象點P2為中心的受到相同涂刷作用的一組象素。象素中從P1到P2的位移為矢量(i,j)。在本發(fā)明的這種概念下,本發(fā)明對各個允許的(i,j)預(yù)先計算一個涂刷數(shù)據(jù)結(jié)構(gòu),該計算產(chǎn)生一個除A(0,0)之外的A(i,j)里的所有象素的表,也就是說,象素(di,dj)表為涂刷沿矢量(i,j)移動后所影響到的新象素。該涂刷數(shù)據(jù)結(jié)構(gòu)定義該涂刷的形狀,而且照此,該數(shù)據(jù)結(jié)構(gòu)定義包含在受影響的象素表里的象素。一般地講,涂刷可具有任何形狀;但是,通常涂刷具有圓的形狀。如果涂刷具有對稱的形狀,可以采用較小的數(shù)據(jù)結(jié)構(gòu)并且可按一種利用對稱性的方式訪問。例如,如果涂刷是圓形的,對于(i,j)、(-i,j)、(i,-j)、(-i,-j)、(j,i)、(-j,i)、(j,-i)、(-j,-i)的表可以相互很快地計算出來,從而只需顯式地存儲一個矢量。利用這種數(shù)據(jù)結(jié)構(gòu),本發(fā)明只重計算受到涂刷影響的新象素的值。具體地說,如果涂刷具有圓形、當(dāng)涂刷移動時受到影響的新象素通常位于新月形的區(qū)域里。
更具體而言,如圖8中所示,當(dāng)在圖象編輯操作中利用涂刷上色時指點器每移移一次本發(fā)明執(zhí)行一次涂刷程序800,該程序按下述步驟進行1.訪問涂刷數(shù)據(jù)結(jié)構(gòu)(步驟804)并且訪問新位置P2=(i2,s2),從舊位置P1=(r1,s1)減去新位置以產(chǎn)生矢量(i,j)(步驟806)。
2.如果矢量(i,j)太大不能在涂刷數(shù)據(jù)結(jié)構(gòu)中找到它,用所有在涂刷數(shù)據(jù)結(jié)構(gòu)中能找到的矢量(i1,j1)、(i2,j2)、…(in,jn)的和來近似它,并使i=i1+i2+…+in和j=j(luò)1+j2+…+jn。在相反情況下,如果在涂刷數(shù)據(jù)結(jié)構(gòu)中找到(i,j)本身,令n=1、i1=i、j1=j(luò)。
3.對k從1到n循環(huán)步驟4至7。(步驟812)4.對從涂刷數(shù)據(jù)結(jié)構(gòu)中訪問到的受影響象素表上的各個元素(di、dj)為偏移(ik、jk)循環(huán)步驟5至7。
5.在象素位置(di+r1,dj+s1)上更新顯示,即執(zhí)行屏幕RIP以更新受影響的象素的值。(步驟808)6.用這次修改更新屏幕陣列。(步驟810)7.把r1的新值置為r1+ir和把s1的新值置為s1+jk。
8.返回到圖象編輯程序。(步驟814)
我們現(xiàn)在轉(zhuǎn)向PDP的具體細節(jié)和在圖象編輯程序里它們的處理。一般地講,在表達式樹的一給定層(或節(jié)點)內(nèi)的各個PDP是由所謂的子PDP的聚集定義的。各個子PDP是從一特定的屏幕陣列中推導(dǎo)出來的,每當(dāng)修改了一個新的圖象視圖或者在現(xiàn)行圖象視圖上完成一次新的編輯操作后總是要生成屏幕陣列。照此,對于一給定的PDP D(X、Y),多個子PDP合起來構(gòu)成該PDP。從數(shù)學(xué)上該PDP結(jié)構(gòu)由下式表示D(x,y)=D1(T1(x,y))+D2(T2(x,y))+D3(T3(x,y))…+Dn(Tn(x,y))(1)其中T1、T2、T3…TN代表仿射變換;而D1、D2、D3…DN代表子PDP值。仿射變換利用下列方程把PDP從位置(X,Y)變換到位置(X′,Y′)(x′,y′)=Ti(x,y)=Mi(x,y,1)t(2)其中Mi是一個三列二行的矩陣;而上標(biāo)七代表矩陣的轉(zhuǎn)置。
在PDP中存在仿射變換使得編輯程序具有圖象編輯操作中的快速平移和快速仿射變換的能力。例如,如果操作員利用上色工具以建立表示一序列涂刷筆劃的一個PDP,通過修改矩陣Mi的項可以同時變換所有的涂刷筆劃。
此外、函數(shù)Di是按具有例如均勻網(wǎng)狀柵格的數(shù)值表存儲的,以構(gòu)成屏幕陣列。為了確定落在網(wǎng)格點之間的子PDP值,采用雙線性插值。備擇地,為了更精確地生成子PDP,可采用塔形表示法表示網(wǎng)狀柵格并且利用三線插值找出子PDP值。
在本發(fā)明的面向?qū)ο蟮膶崿F(xiàn)中,通過含有子PDP表的對象計算D(x,y),該子PDP對應(yīng)于編輯操作D1,D2,…Dn。計算D(x,y)的對象方法依次調(diào)用用于D1,D2,…Dn的對象方法并把結(jié)果相加起來。用于Di的對象可能存儲著矩形區(qū)域Ri,這些矩形區(qū)域Ri規(guī)定那些在它們的外面Di等于零的區(qū)域。利用這些區(qū)域,用于Di的對象方法首先檢驗(x,y)是否在矩形區(qū)域的里面。如果(x,y)在外面,該對象回送零。如果(x,y)在區(qū)域的里面,利用方程式2對象方法計算被變換的點(x′,y′)并且然后把內(nèi)部函數(shù)Di施加到該變換后的點上。
舉例來說,在某圖象區(qū)域里完成一次具體的編輯操作并且為該屏幕陣列編輯操作計算之后,從該陣列里的各點上的現(xiàn)行PDP值D(x,y)中減去一給定的屏幕陣列值。這樣產(chǎn)生所謂的差分更新陣列,其被施加到PDP D(x,y)上。為了生成一個新的子PDPDn+1,把該差分更新陣列作為子PDP的一個對象和作為代表當(dāng)前視圖的變換矩陣?yán)鏿an和zoom存儲起來。從該差分更新陣列,用產(chǎn)生圖象塔形結(jié)構(gòu)的同樣方法,產(chǎn)生一個陣列的塔形結(jié)構(gòu),例如反復(fù)地用低通濾波該陣列值并且按2因子均分該陣列。因此,如果必須在后續(xù)計算中利用該子PDP,可以進行三線插值以在任何(x,y)位置上產(chǎn)生子PDP值。C.FITS光柵圖象處理(FITS RIP)212本發(fā)明提供建立光柵圖象的計算機化過程。該過程用于在計算機監(jiān)視器上建立圖象的新視圖,用于建立供輸出的抽樣圖象,或者用于建立供打印高高分辨率輸出圖象。其目的是計算某特定象素位置上的顏色值,該特殊象素位置是由因施加了表達式樹中的所有操作所得。該顏色值位于一任意的顏色空間里。通常,它或者位于由三種基色紅,綠,藍定義的稱為RGB的顏色空間里,或者位于由三種顏色青,洋紅,黃及輔助的黑色值所定義的CMYK彩色空間里。請注意在下面的討論中,象素坐標(biāo)是用整數(shù)(i,j)定義的,而圖象空間是用連續(xù)值(x,y)定義的。通常,F(xiàn)ITS RIP程序用于確定一任意象素位置(i,j)上的用圖象空間的一個位置(x,y)上的顏色值定義的象素顏色值。
RIP的最簡單方法(稱之為全RIP)是直接為各個輸出象素計算由表達式樹描述的操作組合。該過程在圖9中描述并可說明如下1.對輸出圖象里的每個象素位置(i,j)利用常規(guī)的逆變換找出在已編輯圖象的對應(yīng)點(x,y)并且循環(huán)步驟2至5。(步驟902)2.計算對應(yīng)于所需輸出象素(i,j)的連續(xù)參數(shù)(x,y)。(步驟904)3.調(diào)用對象方法并提供步驟2中計算的參數(shù)(x,y)來計算表達式樹的根結(jié)點的象素顏色值F(x,y)。(步驟906)4.把步驟3所計算的象素值F(x,y)存儲到緩沖器里。(步驟908)5.如果緩沖器滿了,在顯示器上顯示被緩沖的象素或者把它們寫入到存儲設(shè)備里。(步驟910)
6.返回。(步驟912)對于屏幕RIP,各PDP值仍舊包含在一個屏幕陣列里,因此,一旦一個屏幕RIP被處理,即在編輯進程期間顯示圖象的改變,在步驟904期間,F(xiàn)ITS RIP程序必須首先把被改變象素上的屏幕陣列值轉(zhuǎn)換為上面所述的子PDP值。把該子PDP值和其它的適當(dāng)?shù)淖覲DP值結(jié)合起來以產(chǎn)生適當(dāng)?shù)南笏刂?。下面說明計算表達式樹以產(chǎn)生象素值的方法。
一種備擇的RIP過程利用插值來達到更快的速度。在輸出網(wǎng)格上選擇出點的子集以對其進行下面所述的精確計算,而其余的點則由插值處理。精確計算的子集可以方便地作為每4×4輸出象素的塊的一個象素。在這些點上,計算那點顏色值的通用表達式F(x,y)。在實際中,一般利用一個能夠描述大部分圖象編輯行為的通用表達式的簡化形式。該形式稱之為“基本操作”,其具有計算起來相對簡單的優(yōu)點。
如果表達式樹是這樣的以致各個節(jié)點不帶有多于一個的作為子女的子樹,則在表達式樹中的各個節(jié)點可以描述為層(見圖2及其有關(guān)的討論)。根節(jié)點稱之為最頂層,它的子(女)作為下面的一層,并依次類推。底層為不具有任何作為子女節(jié)點的節(jié)點。當(dāng)我們具有這種類型的表達式樹時,我們將令Li代表第i層而且層號從底節(jié)點開始至頂(根)節(jié)點。
基本操作本身又分解成三項,它們結(jié)合起來基于先前基本操作(層i-1)的結(jié)果產(chǎn)生新的結(jié)果(層i)。這三項是-第一,在點(x,y)上帶有范圍從-1到1的權(quán)αi(x,y)的先前層(i-1)的顏色。
—第二,在幾何變換點pi(x,y)上的外部圖象(Ii)的顏色并乘以值為-1至1的標(biāo)量β(x,y)。
—第三,作用在層(i)的點(x,y)上的輔助顏色項γ(x,y)。該項可考慮上色作用或其它的色彩作用。
α、β、γ的值取決于所需的特定修正操作。α和β的值控制它們的作用與本功能相結(jié)合的程度。例如,如果引入一個圖象以覆蓋它下面的所有層則βi=1、αi=0和γi=0。
從而,層(i)中的各次基本操作是由一個方程定義的,該方程考慮先前層或編輯操作(i-1)。該方程如下Fi(x,y)=αi(x,y)·Fi-1(x,y)+βi(x,y)·Ii(Pi(x,y))+γi(x,y)(3)其中αi(x,y)是(x,y)的標(biāo)量函數(shù),對應(yīng)于由先前的基本操作Fi-1(x,y)產(chǎn)生的圖象在該位置上的存在;Fi-1(x,y)是一個函數(shù),代表著由先前層Li-1定義的圖象;βi(x,y)是一個標(biāo)量函數(shù),對應(yīng)于在(x,y)上存在著輸入圖象Ii的顏色;Ii(x,y)代表按IVUE格式表示的輸入圖象;Pi(x,y)表示幾何變換,包括對輸入圖象Ii的旋轉(zhuǎn)、定標(biāo)和變形;以及γi(x,y)是一個輔助的與位置有關(guān)的項,它可影響象素(x,y)的顏色值。
由于基本操作的嵌套形式,即每個基本方程Fi(x,y)包括另一個直到底層的基本方程Fi-1(x,y),這些方程可以結(jié)合起來以產(chǎn)生代表整個表達式樹的全局函數(shù)。如下式定義的全局函數(shù)定義在由多層Li組成的圖象中任一點(x,y)上的顏色值F(x,y)=γ′(x,y)+Σj=1j=qα′j(x,y)·Ik(j)(PK(j)(x,y)]]>其中γ′和α′j的作用類似于它們在基本操作中的作用,但如下面所討論的那樣是從基本操作的βi、αi和γi中計算出來的。q是掃描輸入圖象數(shù),這些掃描輸入的圖象對(x,y)處的最終結(jié)果作出貢獻。
利用下述步驟可在任何所需點(x,y)上把各層結(jié)合到上述形式中1.設(shè)γ′=0,q=0。
2.對從1至該層號每層i循環(huán)步驟2至8。
3.設(shè)γ′=αi·γ′+γi。
4.對從1至q的j,設(shè)α′j=αiα′j。
5.如果βi不為零則執(zhí)行步驟6至8。
6.q=q+17.α′q=βi8.K(j)=i在本過程里,可為輸出網(wǎng)格里的點(Z)的子集(在圖10中描述)生成和計算全局函數(shù)。因為網(wǎng)格代表著RIP所需的象素子集,必須產(chǎn)生各網(wǎng)格里的剩余點(O)。如果在水平線上和垂直線上每隔3個象素計算一個象素的全局函數(shù),本發(fā)明利用四個其全局函數(shù)已被計算的周圍的象素對4×4塊中的15個剩余象素進行插值。令這四個周圍象素稱之為插值結(jié)點。
注意本發(fā)明不是從四個象素值進行插值來產(chǎn)生插值象素值的。這種插值不能產(chǎn)生高質(zhì)量的圖象。相反,本發(fā)明利用四個帶圓圈的點Z上的全局方程的已知各參數(shù)對點(0)上的各參數(shù)進行插值。這些插值后的參數(shù)然后再應(yīng)用到各個位置上的全局方程中以確定其對應(yīng)的象素值。因此,比起用象素值插值所產(chǎn)生的圖象,本發(fā)明產(chǎn)生質(zhì)量好得多的插值圖象。
更具體地,為了保證圖象質(zhì)量的前提下使速度為最高,可以根據(jù)四個周圍網(wǎng)格點上計算出的值雙線性地插值得到中間點上的參數(shù)γ′(x,y)、α′j(x,y)和PK(j)(x,y)。圖象項IK(j)(PK(j)(x,y))可以從下述步驟中得出1.通過雙線性插值計算(x′,y′)=PK(j)(x,y)。
2.利用標(biāo)準(zhǔn)的文本映射技術(shù)(Foley及Van Dam)從四個插值結(jié)點上的(x′,y′)的值識別IVUE塔狀結(jié)構(gòu)的適當(dāng)層次V。
3.輸出顏色為在(x′,y′)處和層V上的IVUE塔狀結(jié)構(gòu)的三線插值。
出于兩個原因本方法對于圖象處理特別有效全局函數(shù)具有相對簡單的形式從而很容易計算,并且為生成插值函數(shù)只需要很少的計算。利用泛函插值可提供很大的時間節(jié)約。例如,當(dāng)采用4×4網(wǎng)格的16個象素時,僅為總象素的1/16生成全局函數(shù)。這就是為什么可以利用相對不貴的硬件獲得高速圖象處理。
由操作員的動作而造成的圖象的變化是交互式地進行和顯示的。在任何時刻操作員可以返回和重新進行一次基本操作。這是因為不同的行為及它們的結(jié)果(即各層或表達式樹)是用簡單基本操作規(guī)定的。它們可被容易地修改。
以這種方式,本發(fā)明允許許多圖象效果,諸如噴射、變模糊、對比、漸隱效果和顏色修改。本發(fā)明還允許幾何變換或幾何修改,諸如旋轉(zhuǎn)、標(biāo)度改變等等。利用FITS,計算機系統(tǒng)能夠跟隨操作員使用諸如鼠標(biāo)器或數(shù)字筆等的輸入裝置按交互速度輸入的動作。
這種輸入(筆等)提供兩種類型的命令信號一種是給出所關(guān)心點的坐標(biāo)(x,y)以及必要時其環(huán)境(例如噴射動作的路徑)的位置信號,另一種利用筆在板上的壓力建立第二種類型的信號。在噴射例子里,第二種信號將決定被噴顏色的密度。
當(dāng)全局函數(shù)緩慢變化時,在一層中的圖象編輯期間在其上生成全局函數(shù)的點的數(shù)量是相對少的。相反,當(dāng)該函數(shù)迅速變化時,為獲得相同的誤差需要計算大量的全局函數(shù)。
即使最終圖象是不令人滿意的,例如進行了控制工作但打印出試樣的圖象,仍有可能返回并修改任何中間步驟以產(chǎn)生較好的結(jié)果。
本發(fā)明是按由人操作的一種建立和編輯圖象的方法和系統(tǒng)來說明的。但是,應(yīng)該理解,本發(fā)明包括著在另一個計算機程序的控制下運行該方法和系統(tǒng)的可能性。
此外,本發(fā)明的最佳實施方式被描述為是用面向?qū)ο蟮木幊虂韺崿F(xiàn)的,但是,熟練的技術(shù)人員可以意識到該程序也可以以一種更傳統(tǒng)的編程型式來體現(xiàn)。
D.基本操作的應(yīng)用例子下面討論各種圖象編輯效果,這些圖象編輯效果以快速簡化和快速插值所需要的形式如上面概括說明的基本函數(shù)來表達。
1)噴射噴射效果涉及形成帶顏色的直線或曲線。當(dāng)該線模仿是用噴槍造成時,它可被處理為是由噴槍噴射建立的帶色區(qū)域。噴射點中顏色密度的分布近似為高斯函數(shù)。這意味著顏色的強度在點的中心取最高值并向點的邊緣遞減,如同高斯函數(shù)。在實際的噴槍里,強度取決于作用在扳機上的壓力,扳機加寬或者改變空氣噴管里的墨水噴射。在一個計算機化的系統(tǒng)里可以用一個其密度在中心和邊緣之間按高斯函數(shù)變化的彩色圓來表示一個點以模仿這種壓力。中心處的飽和可在0和1(或0和100%)之間變化。
根據(jù)基本方程(3)和噴槍的特性,該方程變成下式Fi(x,y)=αi(x,y)Fi-1(x,y)+γi(x,y)(5)噴槍效果把新的顏色作用到現(xiàn)有部分的頂部上,所以它不引入新的輸入圖象。這樣在該層的所有點上代表外部圖象的系數(shù)βi為零。
噴槍的應(yīng)用包括通過利用噴槍噴射的顏色的色調(diào)部分地或者全部地取代一個點的先前的色調(diào)。根據(jù)這一點,函數(shù)γi(x,y)表示為顏色C的函數(shù)并且表示為先前圖象αi的存在系數(shù)的補數(shù),即γi(x,y)=[1-αi(x,y)]·C(6)在各點上對標(biāo)量αi(x,y)的選擇可變換噴槍留下的顏色的密度。
顏色存在函數(shù)αi(x,y)可用一種高斯函數(shù)表示,這種高斯函數(shù)以一個點為中心,在圓的邊緣上例如限制為10%。換句話說,在10%(或者任何其它可選的值)之外的高斯曲線的二條末端線被斷掉。這意味著在選定的圓半徑之外該高斯函數(shù)不起作用。
2)圖象插入該操作把一個外部圖象插入到現(xiàn)有的圖象上,根據(jù)基本方程,該輸入操作定義如下Fi(x,y)=αi(x,y)Fi-1(x,y)+βi(x,y)Ii(Pi(x,))(7)函數(shù)γi為零并且系數(shù)αi和βi為互補的系數(shù),即βi(x,y)=[1-αi(x,y)]。該操作的函數(shù)Pi(x,y)是雙參數(shù)恒等函數(shù),即,Ii(Pi(x,y))=Ii(x,y)。
如果αi為1,該輸入圖象完全地遮蔽著其下面的成分。如果αi小于1,結(jié)果將定界于輸入圖象和其下面成分的一種調(diào)和。
3)變亮/變暗為了把一個圖象變亮或變暗,我們可以利用函數(shù)γi(X,Y)。當(dāng)αi=1和βi=0時,通用方程變?yōu)镕i(x,y)=Fi-1(x,y)+γi(x,y)(8)如果γi(x,y)是正的,最終效果將是變亮。如果γi(x,y)是負的,效果將是變暗。如果在該效果中不需要色調(diào)偏移,顏色γi(x,y)應(yīng)該具有和Fi-1(x,y)相同的色調(diào)。
4)變形/失真該操作可以作用在插入的(輸入的)圖象上。對一個圖象的變形/失真包括把各個結(jié)點和一個變形矢量相連接,該變形矢量具有對應(yīng)于所需變形的方向和尺寸。為獲得這種變形,通過使用定義圖象輸入的方程把層i的通用函數(shù)變成下式Fi(x,y)=αi(x,y)Fi-1(x,y)+βi(x,y)Ii(Pi(x,y))(9)
形狀改變在于對輸入函數(shù)Pi(x,y)進行處理。
5)均色在圖象的一部分上均色,以肖象中為例,允許操作員取消局部的皮膚瑕疵,例如胎記。為達到這一點,在以顏色評定點為中心的一個圓上計算該顏色的平均強度。根據(jù)所選的半徑,該顏色將多多少少變得比較均勻。該操作把常態(tài)的圖象和平均后的另一個圖象結(jié)合起來。對于均色操作,βi(x,y)=0,因為不存在新的輸入圖象。令S為點(x,y)周圍的一個區(qū)域里的先前成分的平均顏色。則均色操作可由基本操作表示為Fi(x,y)=Fi-1(x,y)+γi(x,y)(10)其中γi(x,y)=[1-αi(x,y)]S(x,y)并且αi(x,y)在0和1之間。
6)對比和上面處理的類型相反,對比涉及加重圖紙或者照片中線條的細節(jié)。例如,在肖象中,它可以顯示發(fā)型中的各根頭發(fā)。
為達到這一點,需要相對于圖象的低頻成分提高圖象的高頻成分。要得到它可以利用和均色相同的基本操作,但是αi(x,y)在-1和0之間。
本發(fā)明是根據(jù)最佳實施方式說明的。在閱讀本公開之后,對于熟練的技術(shù)人員各種修改是明顯的。這些變更被認為是在本發(fā)明的范圍和精神之內(nèi)的,本發(fā)明的范圍和精神僅以下述權(quán)利要求及權(quán)利要求的等價物為限。
權(quán)利要求
1.在圖象處理系統(tǒng)中,用于編輯和顯示圖象的設(shè)備,包括產(chǎn)生第一圖象的裝置利用圖形用戶接口編輯所述第一圖象的裝置;產(chǎn)生一個表達式樹中的各參數(shù)的裝置,各參數(shù)定義通過所述編輯裝置施加到所述第一圖象的修改;存儲所述表達式樹的裝置;以及通過計算所述表達式樹產(chǎn)生第二圖象的裝置。
2.權(quán)利要求1的設(shè)備,其中所述第一圖象產(chǎn)生裝置還包括產(chǎn)生原始圖象的裝置;以及把所述原始圖象預(yù)處理為一個圖象塔狀結(jié)構(gòu)里的一系列子圖象的裝置,其中各子圖象的分辨率要比所述子圖象系列中的前一個子圖象的分辨率低,并且其中所述子圖象系列中的一個子圖象被選為所述第一圖象。
3.權(quán)利要求2的設(shè)備,其中所述選定的子圖象具有的分辨率對應(yīng)于一特定的顯示器分辨率并且對應(yīng)于所述第二圖象的一特定放大水平。
4.權(quán)利要求1的設(shè)備,其中所述存儲裝置按表達式樹中的節(jié)點存儲和各次修改相關(guān)的所述參數(shù)。
5.權(quán)利要求1的設(shè)備,其中參數(shù)為和位置有關(guān)的參數(shù)。
全文摘要
一種含有設(shè)備及伴生方法的圖象處理系統(tǒng),用于利用計算機系統(tǒng)迅速處理圖象。該系統(tǒng)產(chǎn)生包括多個子圖象的一種特殊圖象格式。當(dāng)編輯圖象時,該系統(tǒng)利用子圖象信息按由當(dāng)前的上色和圖象縮放所給定的分辨率計算顯示器圖象的適當(dāng)描繪。圖象修改作為表達式樹存儲在計算機文件里。表達式樹里的各節(jié)點定義導(dǎo)致修改圖象的特定編輯操作。為在計算機監(jiān)視器上顯示圖象,計算定義修改的表達式樹,以構(gòu)成一個合成輸出圖象。
文檔編號G06T3/00GK1124530SQ94192214
公開日1996年6月12日 申請日期1994年3月25日 優(yōu)先權(quán)日1993年3月25日
發(fā)明者布魯諾·德林 申請人:利福圖象公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
响水县| 富民县| 甘肃省| 饶平县| 班玛县| 洛浦县| 萨嘎县| 霍山县| 收藏| 彩票| 老河口市| 长葛市| 湟源县| 静安区| 威海市| 永济市| 湛江市| 清涧县| 米泉市| 论坛| 灵璧县| 长顺县| 锡林郭勒盟| 德钦县| 呼和浩特市| SHOW| 固阳县| 高陵县| 双流县| 清涧县| 福泉市| 深圳市| 兰西县| 仁布县| 岗巴县| 龙陵县| 内黄县| 托克逊县| 玉门市| 大丰市| 金堂县|