專利名稱:用于打印圖象的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及根據(jù)拜爾圖象生成打印的方法和裝置。
本發(fā)明主要用于數(shù)字照相機(jī),包括用于在相紙上打印照相機(jī)拍攝的圖象的整體打印機(jī),并且以下將參照該應(yīng)用描述本發(fā)明。然而,應(yīng)該理解,本發(fā)明并不限于特定應(yīng)用領(lǐng)域。
交叉引用的申請(qǐng)參考文獻(xiàn)為澳大利亞臨時(shí)專利申請(qǐng)?zhí)朠Q2890(申請(qǐng)日期為1999年9月16日)的共同未決申請(qǐng)優(yōu)先權(quán)要求。共同未決申請(qǐng)描述用于實(shí)現(xiàn)小型打印系統(tǒng)的有關(guān)模塊和方法。與本發(fā)明同時(shí)申請(qǐng)的共同未決申請(qǐng)為
本發(fā)明的概述根據(jù)本發(fā)明的第一方面,提供一種用于提供圖象的方法,以便以預(yù)定的二值點(diǎn)分辨率進(jìn)行打印,二值點(diǎn)分辨率相當(dāng)于預(yù)定的連續(xù)色調(diào)分辨率,該方法包括以下步驟接收表示圖象的第一數(shù)據(jù)集,即預(yù)定的連續(xù)色調(diào)分辨率的數(shù)據(jù)集;將第一數(shù)據(jù)集轉(zhuǎn)換為預(yù)定的連續(xù)色調(diào)分辨率的第二數(shù)據(jù)集;將第二數(shù)據(jù)集轉(zhuǎn)換為預(yù)定的二值點(diǎn)分辨率的第三數(shù)據(jù)集;以及使打印機(jī)以預(yù)定的二值點(diǎn)分辨率獲得第三數(shù)據(jù)集。
第一分辨率最好與預(yù)定的二值點(diǎn)分辨率匹配。然而,在其他實(shí)施方式中,第一分辨率大于預(yù)定的二值點(diǎn)分辨率。在更進(jìn)一步的實(shí)施方式中,第一分辨率小于預(yù)定的二值點(diǎn)分辨率。
同時(shí),第一數(shù)據(jù)集最好為紅、綠和藍(lán)(RGB)格式,而打印機(jī)與青、品紅和黃(CMY)格式相對(duì)應(yīng),并且該方法還包括附加步驟,即將第三數(shù)據(jù)集從RGB格式轉(zhuǎn)換為CMY格式。
在一種最佳形式中,該方法包括以下步驟,即對(duì)第二數(shù)據(jù)集進(jìn)行銳化處理。作為選擇,該方法最好包括對(duì)第一數(shù)據(jù)集進(jìn)行銳化處理的步驟。
最好從曝光裝置中獲得第一數(shù)據(jù)集,并且該方法包括以下步驟,即補(bǔ)償?shù)谝粩?shù)據(jù)集,以抵消曝光裝置中的非線性。補(bǔ)償步驟最好包括將第一數(shù)據(jù)集從眾多x比特采樣轉(zhuǎn)換為眾多y比特采樣,其中x>y。并且最好x=10,y=8。
同時(shí),該方法還包括以下步驟,即將第一數(shù)據(jù)集平面化為一個(gè)紅色平面、一個(gè)綠色平面和一個(gè)藍(lán)色平面。
在最佳形式中,該方法還包括以下步驟為第一數(shù)據(jù)集定義m%的最暗象素和n%的最亮象素;調(diào)整第一數(shù)據(jù)集以使m%的最暗象素相等;以及調(diào)整第一數(shù)據(jù)集以使n%的最亮象素相等。
該方法最好包括附加步驟,即調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的白平衡。該方法最好包括以下附加步驟,即調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的范圍擴(kuò)展。最好增加第一數(shù)據(jù)集的彩色分辨率,同時(shí)保持相同的空間分辨率。
在一種最佳形式中,選擇調(diào)整第一數(shù)據(jù)集,以便沿預(yù)定的旋轉(zhuǎn)方向提供圖象。
根據(jù)本發(fā)明的第二方面,提供用于提供圖象的裝置,以便以預(yù)定的二值點(diǎn)分辨率進(jìn)行打印,二值點(diǎn)分辨率相當(dāng)于預(yù)定的連續(xù)色調(diào)分辨率,該裝置包括輸入裝置,用于接收表示圖象的第一數(shù)據(jù)集,該數(shù)據(jù)集的格式為第一分辨率的拜爾格式;采樣裝置,用于將第一數(shù)據(jù)集轉(zhuǎn)換為預(yù)定的連續(xù)色調(diào)分辨率的第二數(shù)據(jù)集;處理裝置,用于將第二數(shù)據(jù)集轉(zhuǎn)換為預(yù)定的二值點(diǎn)分辨率的第三數(shù)據(jù)集;以及使打印機(jī)獲得第三數(shù)據(jù)集,以便以預(yù)定的二值點(diǎn)分辨率進(jìn)行打印。
第一分辨率最好與預(yù)定的二值點(diǎn)分辨率匹配。作為選擇,第一分辨率大于預(yù)定的二值點(diǎn)分辨率。在其他實(shí)施方式中,第一分辨率小于預(yù)定的二值點(diǎn)分辨率。
同時(shí),第一數(shù)據(jù)集最好為紅、綠和藍(lán)(RGB)格式,而打印機(jī)與青、品紅和黃(CMY)格式相對(duì)應(yīng),其中處理裝置將第三數(shù)據(jù)集從RGB格式轉(zhuǎn)換為CMY格式。
同時(shí),該裝置最好對(duì)第二數(shù)據(jù)集進(jìn)行銳化處理。然而,在其他實(shí)施方式中,該裝置對(duì)第一數(shù)據(jù)集進(jìn)行銳化處理。
在一種最佳形式中,最好從曝光裝置中獲得第一數(shù)據(jù)集,并且輸入裝置補(bǔ)償?shù)谝粩?shù)據(jù)集,以抵消曝光裝置中的非線性。補(bǔ)償非線性最好包括將第一數(shù)據(jù)集從眾多x比特采樣轉(zhuǎn)換為眾多y比特采樣,其中x>y。并且最好x=10,y=8。
輸入裝置將第一數(shù)據(jù)集平面化為一個(gè)紅色平面、一個(gè)綠色平面和一個(gè)藍(lán)色平面。
輸入裝置最好為第一數(shù)據(jù)集定義m%的最暗象素和n%的最亮象素;調(diào)整第一數(shù)據(jù)集以使m%的最暗象素相等;以及調(diào)整第一數(shù)據(jù)集以使n%的最亮象素相等。
在最佳形式中,輸入裝置調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的白平衡。輸入裝置最好調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的范圍擴(kuò)展。輸入裝置最好增加第一數(shù)據(jù)集的彩色分辨率,同時(shí)保持相同的空間分辨率。
輸入裝置最好選擇調(diào)整第一數(shù)據(jù)集,以便沿預(yù)定的旋轉(zhuǎn)方向提供圖象。
根據(jù)本發(fā)明的第三方面,提供一種照相機(jī),包括一個(gè)CCD陣列,用于提供拜爾圖象;一臺(tái)打印機(jī),用于選擇提供打印的圖象;以及一種用于接收拜爾圖象,然后向打印機(jī)提供第三數(shù)據(jù)集以便生成打印圖象的裝置。
附圖的簡(jiǎn)要描述通過(guò)參照以下說(shuō)明書(shū)和附圖,舉例說(shuō)明本發(fā)明的最佳實(shí)施方式。
圖1表示PCP的高級(jí)圖象流程。
圖2以分離形式表示PCP框圖。
圖3表示與Printcam硬件相連的PCP的框圖。
圖4表示長(zhǎng)為4英寸的Memjet打印頭。
圖5表示4英寸打印頭中各段的結(jié)構(gòu)。
圖6表示容器中噴嘴的結(jié)構(gòu),序號(hào)表示定位順序。
圖7表示容器中噴嘴的結(jié)構(gòu),序號(hào)表示加載順序。
圖8表示色品容器(chrompod)。
圖9表示容器群(podgroup)。
圖10表示相群(phasegroup)。
圖11表示段、噴射群(firegroup)、相群、容器群和色品容器之間的關(guān)系。
圖12表示打印奇數(shù)和偶數(shù)點(diǎn)時(shí)AEnable和BEnable脈沖的輪廓。
圖13表示基于CFA圖象打印格式的方向。
圖14表示圖象獲取鏈的框圖。
圖15表示拜爾CFA 2G鑲嵌面中各象素的結(jié)構(gòu)。
圖16表示線性化RGB過(guò)程。
圖17表示平面化RGB過(guò)程。
圖18表示圖象打印鏈的框圖。
圖19表示單色平面的采樣顏色范圍。
圖20表示白平衡和范圍擴(kuò)展涉及的步驟。
圖21表示能夠執(zhí)行白平衡和范圍擴(kuò)展的裝置的框圖。
圖22表示與CFA分辨率有關(guān)的各種顏色平面象素。
圖23表示將綠色平面旋轉(zhuǎn)45度的結(jié)果。
圖24表示綠色平面的旋轉(zhuǎn)象素之間的距離。
圖25表示將不旋轉(zhuǎn)CFA空間中的運(yùn)動(dòng)映射到旋轉(zhuǎn)CFA空間的過(guò)程。
圖26表示銳化過(guò)程的框圖。
圖27表示利用3×3內(nèi)核對(duì)單亮度象素進(jìn)行高通濾波的過(guò)程。
圖28表示從RGB轉(zhuǎn)換到CMY的變換。
圖29表示利用三線內(nèi)插將RGB轉(zhuǎn)換到CMY。
圖30表示將單個(gè)象素復(fù)制為一個(gè)5×5塊的象素復(fù)制。
圖31表示半色調(diào)過(guò)程的框圖。
圖32表示為打印機(jī)重新格式化所有點(diǎn)的過(guò)程。
圖33表示圖象獲取裝置的框圖。
圖34表示圖象存取裝置的框圖。
圖35表示圖象直方圖裝置的框圖。
圖36表示打印接口的框圖。
圖37表示Memjet接口的框圖。
圖38表示AEnable和BEnable脈沖寬度的生成過(guò)程。
圖39表示點(diǎn)數(shù)計(jì)數(shù)邏輯的框圖。
圖40表示打印生成裝置的接口。
圖41表示打印生成裝置的框圖。
圖42表示測(cè)試模式存取裝置的框圖。
圖43表示緩沖器5的框圖。
圖44表示緩沖器4的框圖。
圖45表示向上內(nèi)插、半色調(diào)和重新格式化過(guò)程的框圖。
圖46表示將標(biāo)準(zhǔn)抖動(dòng)單元映射為交錯(cuò)抖動(dòng)單元的方式。
圖47表示將RGB轉(zhuǎn)換為CMY過(guò)程的框圖。
圖48表示緩沖器2的框圖。
圖49表示使用3×3內(nèi)核的基本高通空間濾波器。
圖50表示銳化裝置的框圖。
圖51表示緩沖器1的結(jié)構(gòu)。
圖52表示重新采樣和創(chuàng)建亮度信道過(guò)程的框圖。
圖53表示卷積裝置的框圖。
圖54表示從接收器生成的象素的順序。
圖55表示在旋轉(zhuǎn)和不旋轉(zhuǎn)空間中沿x和y方向的運(yùn)動(dòng)。
圖56表示緩沖器1的綠色子緩沖器中的條目的地址。
圖57表示依賴于旋轉(zhuǎn)的綠色條目之間的關(guān)系。
圖58表示綠色信道的4×4采樣。
圖59表示4×4綠色采樣類型1。
圖60表示4×4綠色采樣類型2。
圖61表示用于綠色的兩類行尋址。
圖62表示緩沖器1的紅色和綠色子緩沖器中的條目的尋址。
圖63表示為計(jì)算第一象素而讀取的前16個(gè)采樣。
圖64表示從藍(lán)色和紅色緩沖器中讀取的4×4重疊塊的最壞情況。
圖65表示旋轉(zhuǎn)、白平衡和范圍擴(kuò)展裝置的框圖。
圖66表示所生成的坐標(biāo)空間內(nèi)的有效圖象區(qū)域。
1 PCP概述1.1 高級(jí)功能概述Printcam中央處理器(PCP)擁有用于Printcam的所有處理能力,并且是專為Printcam數(shù)碼照相機(jī)系統(tǒng)而設(shè)計(jì)的。PCP 3連接圖象傳感器1(用于圖象獲取),和Memjet打印機(jī)2(用于圖象輸出)。如圖1所示,在圖象處理方面,可以將PCP看作獲取圖象到輸出圖象的變換器·圖象傳感器1是一個(gè)CMOS圖象傳感器,用于獲取1500×1000的RGB圖象。圖象傳感器是圖象輸入設(shè)備。
·打印頭2是一個(gè)4英寸長(zhǎng)的1600dpi的Memjet打印頭,能夠打印三種顏色青、品紅和黃。打印頭為圖象輸出設(shè)備。
·PCP 3記錄圖象傳感器1的圖象,處理該圖象,然后將該圖象的最終形式發(fā)送到打印頭2進(jìn)行打印。由于圖象傳感器1獲取的圖象為RGB格式,而打印頭2按照CMY格式打印,所以PCP 3必須從RGB顏色空間轉(zhuǎn)換到CMY顏色空間。PCP 3包含中間圖象處理需要的所有裝置,其中中間圖象處理包括白平衡、顏色校正、色彩轉(zhuǎn)換、圖象銳化和半色調(diào)處理。另外,PCP 3控制用戶界面和整個(gè)打印過(guò)程,以支持各種圖象格式。PCP 3還包含導(dǎo)入、導(dǎo)出相片的接口,其中相片符合DPOF(數(shù)碼打印指令格式)標(biāo)準(zhǔn)。
1.2 高級(jí)內(nèi)部概述PCP 3是為使用0.25微米CMOS工藝進(jìn)行生產(chǎn)而設(shè)計(jì)的,大約有10,000,000個(gè)晶體管,其中大部分為快閃存儲(chǔ)器或靜態(tài)RAM。其估計(jì)面積為16mm2。其估計(jì)制造成本為4$(2001年)。PCP 3是一個(gè)比較直接的設(shè)計(jì),通過(guò)使用數(shù)據(jù)通路編譯技術(shù)、宏單元和IP core,可以簡(jiǎn)化其設(shè)計(jì)。PCP 3包括·一個(gè)低速CPU/微型控制器核心10·1.5MB的多級(jí)快閃存儲(chǔ)器(每單元2比特)11·圖象獲取單元12內(nèi)的CMOS圖象傳感器接口98·16KB快閃存儲(chǔ)器13,用于程序存儲(chǔ)·4KB RAM 14,用于程序變量存儲(chǔ)PCP 3用于以約100MHz的時(shí)鐘速度運(yùn)行,其外部電壓為3V,內(nèi)部電壓為1.5V,以將功耗降到最底程度。實(shí)際操作頻率為打印頭操作頻率的整數(shù)倍。CPU 10是一個(gè)微型控制器類型的CPU,運(yùn)行頻率約為1MHz。CPU 10和CMOS傳感器接口12是可以為廠商提供的核心。
圖2以分離形式表示PCP 3的框圖。
PCP 3是為Printcam系統(tǒng)設(shè)計(jì)的。圖3表示與Printcam硬件的其他部分相連的PCP 3的框圖。
2 打印頭背景PCP 3是專為連接4英寸(10cm)的Memjet打印頭2設(shè)計(jì)的。打印頭2作為一個(gè)頁(yè)寬打印機(jī),用于在不移動(dòng)打印頭2的情況下生成4英寸寬的打印圖象。如圖4所示,當(dāng)紙張20移動(dòng)通過(guò)打印頭2時(shí),在紙張20上進(jìn)行打印。
2.1 4英寸打印頭的組成4英寸長(zhǎng)的打印頭2包括8段,每段的長(zhǎng)度為1/2英寸。段21的每一段在紙張的不同部分上打印二值青、品紅和黃點(diǎn),以生成最終圖象。各段的位置如圖5所示。
由于打印頭2以1600dpi的精度打印圓點(diǎn),所以每個(gè)圓點(diǎn)的直徑為22.5μm,間隔為15,875μm。因此,每段(長(zhǎng)為1/2英寸)打印800點(diǎn),其中8段的對(duì)應(yīng)位置為表1.每段訪問(wèn)的最終圖象點(diǎn)
盡管每段生成最終圖象的800點(diǎn),但是利用二值青、品紅和黃墨的組合表示每一點(diǎn)。由于打印是二值的,所以應(yīng)對(duì)輸入圖象進(jìn)行抖動(dòng)或誤差擴(kuò)散以獲得最佳結(jié)果。
每段21包括2400個(gè)噴嘴青、品紅和黃各800個(gè)。一個(gè)4英寸的打印頭2包含8段21,總計(jì)19,200個(gè)噴嘴。
2.1.1 對(duì)各段內(nèi)的噴嘴進(jìn)行分組對(duì)各段21內(nèi)的噴嘴22進(jìn)行分組,目的是為了物理穩(wěn)定性,并且將打印期間的功耗降到最底程度。在物理穩(wěn)定性方面,10個(gè)噴嘴共享同一墨池。在功耗方面,分組的目的是啟用低速和高速打印模式。
打印頭2支持兩種打印速度,以便能在不同產(chǎn)品配置中提供不同的速度/功率的權(quán)衡。
在低速打印模式中,同時(shí)加熱4英寸打印頭2的96個(gè)噴嘴22。應(yīng)使被加熱噴嘴22的間距最大,因此對(duì)每段的12個(gè)噴嘴22進(jìn)行加熱。要加熱所有的19,200個(gè)噴嘴,必須加熱200組不同噴嘴,每組包括96個(gè)噴嘴。
在高速打印模式中,同時(shí)加熱4英寸打印頭2的192個(gè)噴嘴22。應(yīng)使被加熱噴嘴22的間距最大,因此對(duì)每段的24個(gè)噴嘴進(jìn)行加熱。要加熱所有的19,200個(gè)噴嘴,必須加熱100組不同噴嘴,每組包括192個(gè)噴嘴。
低速模式的功耗為高速模式的一半。然而,請(qǐng)注意,在兩種情況中,打印每一行、每一頁(yè)所消耗的功率是相同的。
在諸如電池供電的Printcam情況中,功耗需求規(guī)定使用低速打印。
2.1.1.1 10個(gè)噴嘴構(gòu)成一個(gè)容器一個(gè)容器23包括10個(gè)噴嘴22,10個(gè)噴嘴22共享同一墨池。5個(gè)噴嘴22在一行上,5個(gè)在另一行上。每個(gè)噴嘴22生成一個(gè)直徑為22.5μm、間隔15.875μm的圓點(diǎn)。圖6表示單個(gè)容器的結(jié)構(gòu),噴嘴22的序號(hào)表示加熱順序。
盡管按照以上順序?qū)娮?2進(jìn)行加熱,但是噴嘴22的關(guān)系以及打印頁(yè)上的點(diǎn)的物理位置是不同的。其中一行上的噴嘴22代表該頁(yè)上某一行中的偶數(shù)點(diǎn),而另一行上的噴嘴代表該頁(yè)上相鄰行中的奇數(shù)點(diǎn)。圖7表示具有噴嘴22的同一容器23,序號(hào)表示其加載順序。
因此,容器23內(nèi)的噴嘴22的邏輯間隔為1個(gè)點(diǎn)的寬度。噴嘴22之間的精確距離依賴于Memjet加熱機(jī)制的性質(zhì)。打印頭2設(shè)計(jì)有交錯(cuò)噴嘴,交錯(cuò)噴嘴的目的是與紙張20的移動(dòng)匹配。
2.1.1.2 3個(gè)容器構(gòu)成一個(gè)色品容器將每種顏色(青、品紅和黃)的一個(gè)容器23分組為一個(gè)色品容器24。一個(gè)色品容器24代表由10個(gè)點(diǎn)組成的同一水平集合在不同行上的不同顏色分量。不同顏色容器23之間的精確距離取決于Memjet操作參數(shù),并且隨Memjet設(shè)計(jì)的不同而不同。該距離被認(rèn)為是固定數(shù)目的點(diǎn)寬度,因此,在打印時(shí)必須考慮該距離青色噴嘴打印的圓點(diǎn)與品紅或黃色噴嘴打印的圓點(diǎn)在不同行上。打印算法必須考慮顏色之間多達(dá)8個(gè)點(diǎn)寬度的可變距離(有關(guān)細(xì)節(jié)見(jiàn)表3)。圖8表示單個(gè)色品容器24。
2.1.1.3 5個(gè)色品容器構(gòu)成一個(gè)色品群將5個(gè)色品容器24組織為一個(gè)色品群25。由于每個(gè)色品容器包含30個(gè)噴嘴22,所以每個(gè)色品群包含150個(gè)噴嘴22青、品紅和黃色噴嘴各50個(gè)。圖9表示其結(jié)構(gòu),其中色品容器序號(hào)為0-4。請(qǐng)注意,為了清晰而夸大了相鄰色品容器之間的距離。
2.1.1.4 2個(gè)容器群構(gòu)成一個(gè)相群將2個(gè)容器群25組織為一個(gè)相群26。由于在指定的加熱相位(階段)中同時(shí)加熱某個(gè)相群內(nèi)的噴嘴組23(以下詳細(xì)說(shuō)明),所以稱其為相群26。利用2個(gè)容器群組成一個(gè)相群的目的在于,通過(guò)2條PodgroupEnable(啟用容器群)線進(jìn)行低速和高速打印。
在低速打印中,在指定的加熱脈沖中,只設(shè)置兩條PodgroupEnable線中的一條,因此兩個(gè)容器群中只有一個(gè)容器群加熱噴嘴。在高速打印中,同時(shí)設(shè)置兩條PodgroupEnable線,因此兩個(gè)容器群加熱噴嘴。所以,低速打印需要的時(shí)間是高速打印所需時(shí)間的兩倍,原因在于高速打印同時(shí)加熱的噴嘴數(shù)是低速打印的兩倍。
圖10表示相群的組成。為了清晰而夸大了相鄰容器群之間的距離。
2.1.1.5 2個(gè)相群構(gòu)成一個(gè)加熱群將2個(gè)相群(相群A和相群B)組織為一個(gè)加熱群27,每段4個(gè)相群。由于它們同時(shí)加熱同一噴嘴27,所以將其稱為加熱群27。兩條啟用線(AEnable和BEnable)允許在不同加熱相位中獨(dú)立加熱相群A的噴嘴和相群B的噴嘴。圖11表示其結(jié)構(gòu)。為了清晰而夸大了相鄰分組之間的距離。
2.1.1.6 噴嘴分組概要表2為打印頭中噴嘴分組的概要。
表2.4英寸打印頭的噴嘴分組
2.2 加載和打印周期一個(gè)4英寸的打印頭2總共包含19,200個(gè)噴嘴22。一個(gè)打印周期包括根據(jù)打印信息加熱所有噴嘴。一個(gè)加載周期包括向打印頭加載需要在隨后的打印周期中打印的信息。
各噴嘴22具有一個(gè)相關(guān)的NozzleEnable位,后者確定該噴嘴是否在打印周期中加熱。通過(guò)一組移位寄存器加載NozzleEnable位(每噴嘴一個(gè))。
邏輯上,每段有3個(gè)移位寄存器(每種顏色一個(gè)),每個(gè)寄存器的長(zhǎng)度為800(比特)。當(dāng)將NozzleEnable位移動(dòng)到指定顏色的移位寄存器時(shí),將其引向交錯(cuò)脈沖上的上下噴嘴。在內(nèi)部,每個(gè)800深度的移位寄存器由兩個(gè)400深度的移位寄存器組成一個(gè)用于上噴嘴,一個(gè)用于下噴嘴。將交錯(cuò)位移動(dòng)到內(nèi)部交錯(cuò)寄存器中。然而,至于有關(guān)的外部接口,只有一個(gè)800深度的移位寄存器。
在全部加載所有移位寄存器后(800個(gè)加載脈沖),以并行方式將所有位傳送到適當(dāng)?shù)腘ozzleEnable位中。這等同于并行傳送19,200比特。當(dāng)傳送發(fā)生時(shí),打印周期開(kāi)始。只要在打印周期結(jié)束時(shí)并行加載所有的NozzleEnable位,打印周期和加載周期就可以同時(shí)出現(xiàn)。
2.2.1 加載周期加載周期牽涉到向打印頭的移位寄存器加載下一個(gè)打印周期的NozzleEnable位。
每段21具有3個(gè)與青、品紅和黃色移位寄存器有直接關(guān)系的輸入。這些輸入稱為CDataIn、MDataIn和YDataIn。由于有8段,所以每個(gè)4英寸打印頭共有24條彩色輸入線。SRClock線路上的一個(gè)脈沖(由8段共享)將24位傳送到適當(dāng)?shù)囊莆患拇嫫髦小=诲e(cuò)脈沖分別將這些位傳送到上下噴嘴中。由于有19,200個(gè)噴嘴,所以該傳送操作共需800個(gè)脈沖。在傳送全部19,200位之后,共享PTransfer線路上的一個(gè)脈沖將移位寄存器中的數(shù)據(jù)并行傳送到適當(dāng)?shù)腘ozzleEnable位。
通過(guò)PTransfer上的脈沖的并行傳送必須在打印周期結(jié)束后發(fā)生。否則,正在打印的行的NozzleEnable位將是錯(cuò)誤的。
由于利用單一SRClock脈沖加載全部8段21,所以打印過(guò)程必須按照正確順序生成打印頭的數(shù)據(jù)。例如,第一SRClock脈沖將傳送下一打印周期的點(diǎn)0、800、1600、2400、3200、4000、4800和5600的CMY位。第二SRClock脈沖將傳送下一打印周期的點(diǎn)1、801、1601、2401、3201、4001、4801和5601的CMY位。在800個(gè)SRClock脈沖后,提供PTransfer脈沖。
重要的是,在同一打印周期中打印的奇數(shù)和偶數(shù)CMY輸出并不出現(xiàn)在同一物理輸入線上。打印頭內(nèi)奇偶噴頭之間的物理間隔以及不同顏色的噴嘴之間的間隔,確保它們?cè)谠擁?yè)的不同行上生成圓點(diǎn)。當(dāng)向打印頭加載數(shù)據(jù)時(shí),必須解決有關(guān)差異。各行中的實(shí)際差異取決于打印頭適用噴墨機(jī)制的特性。利用變量D1和D2定義其差異,其中D1是不同顏色的噴嘴之間的距離,D2是相同顏色的噴嘴之間的距離。表3表示在前4個(gè)脈沖上向打印頭的段n傳送的所有點(diǎn)。
表3.向4英寸打印頭傳送的點(diǎn)的順序
a.S=段號(hào)(0-7)b.D1=某種顏色的噴嘴和下一種顏色的噴嘴之間的線數(shù)(可能=4-8)c.D2=同一顏色的兩行噴嘴之間的線數(shù)(可能=1)等等,直至全部800個(gè)脈沖。
可以以20MHz的最高速度,將數(shù)據(jù)輸入到打印頭中,20MHz的速度將在40μs內(nèi)加載下一行的所有數(shù)據(jù)。
2.2.2 打印周期一個(gè)4英寸打印頭2包含19,200個(gè)噴嘴22。要同時(shí)加熱所有噴嘴將消耗大量功率,并且會(huì)引起墨回補(bǔ)問(wèn)題和噴嘴干擾。因此,定義兩種加熱模式高速打印模式和低速打印模式·在低速打印模式中,有200個(gè)相位,每個(gè)相位加熱96個(gè)噴嘴。
這等同于每段12個(gè)噴嘴,即每個(gè)加熱群3個(gè)噴嘴。
·在高速打印模式中,有100個(gè)相位,每個(gè)相位加熱192個(gè)噴嘴。
這等同于每段24個(gè)噴嘴,即每個(gè)加熱群6個(gè)噴嘴。
根據(jù)以下信號(hào)確定在指定加熱脈沖中加熱的噴嘴·3比特ChromapodSelect(從加熱群27中選擇5個(gè)色品容器24中的一個(gè)色品容器)·4比特NozzleSelect(從容器23的10個(gè)噴嘴22中選擇一個(gè)噴嘴)·2比特的PodgroupEnable線路(選擇要加熱的0、1或2容器群25)當(dāng)設(shè)置一條PodgroupEnable線路時(shí),只有指定的容器群的4個(gè)噴嘴加熱,作為ChromapodSelect和NozzleSelect確定的噴嘴。當(dāng)設(shè)置兩條PodgroupEnable線路時(shí),兩個(gè)容器群同時(shí)加熱其噴嘴。對(duì)于低速模式,需要兩個(gè)加熱脈沖,即PodgroupEnable=01和10。對(duì)于高速模式,只需要一個(gè)加熱脈沖,即PodgroupEnable=11。
由AEnable和BEnable線路指定加熱脈沖的持續(xù)時(shí)間,AEnable和BEnable分別加熱所有加熱群中的相群A和相群B噴嘴。加熱脈沖的典型持續(xù)時(shí)間為1.3-1.8μs。脈沖的持續(xù)時(shí)間取決于墨的粘性(取決于溫度和墨特性)以及打印頭使用的功率。有關(guān)為補(bǔ)償溫度變化而利用打印頭之反饋的詳細(xì)信息,請(qǐng)參見(jiàn)第18頁(yè)上的2.3一節(jié)。
AEnable和BEnable是獨(dú)立線路,目的是加熱脈沖能夠重疊。因此,200個(gè)相位的低速打印周期包括100個(gè)A相位和100個(gè)B相位,從而能夠有效提供100組相位A和相位B。同樣,100個(gè)相位的高速打印周期包括50個(gè)A相位和50個(gè)B相位,從而能夠有效提供50組相位A和相位B。
圖12表示典型打印周期中的AEnable和BEnable線路。在高速打印中有50個(gè)2μs的周期,而在低速打印中有100個(gè)2μs的周期。
對(duì)于高速打印模式,加熱順序?yàn)椤hromapodSelect 0,NozzleSelect 0,PodgroupEnable 11(相位A和B)·ChromapodSelect 1,NozzleSelect 0,PodgroupEnable 11(相位A和B)·ChromapodSelect 2,NozzleSelect 0,PodgroupEnable 11(相位A和B)·ChromapodSelect 3,NozzleSelect 0,PodgroupEnable 11(相位A和B)·ChromapodSelect 4,NozzleSelect 0,PodgroupEnable 11(相位A和B)·ChromapodSelect 0,NozzleSelect 1,PodgroupEnable 11(相位A和B)·…·ChromapodSelect 3,NozzleSelect 9,PodgroupEnable 11(相位A和B)·ChromapodSelect 4,NozzleSelect 9,PodgroupEnable 11(相位A和B)對(duì)于低速打印模式,加熱順序類似。對(duì)于PodgroupEnable為11的高速模式的每個(gè)相位,替換為以下兩個(gè)相位PodgroupEnable=01和10·ChromapodSelect 0,NozzleSelect 0,PodgroupEnable 01(相位A和B)·ChromapodSelect 0,NozzleSelect 0,PodgroupEnable 10(相位A和B)·ChromapodSelect 1,NozzleSelect 0,PodgroupEnable 01(相位A和B)·ChromapodSelect 1,NozzleSelect 0,PodgroupEnable 10(相位A和B)·…·ChromapodSelect 3,NozzleSelect 9,PodgroupEnable 01(相位A和B)·ChromapodSelect 3,NozzleSelect 9,PodgroupEnable 10(相位A和B)·ChromapodSelect 4,NozzleSelect 9,PodgroupEnable 01(相位A和B)·ChromapodSelect 4,NozzleSelect 9,PodgroupEnable 10(相位A和B)當(dāng)噴嘴22加熱時(shí),大約需要100μs進(jìn)行回補(bǔ)。不能在回補(bǔ)時(shí)間過(guò)去前加熱噴嘴22。從而每行的最高打印速度為100μs。在高速打印模式中,打印一行的時(shí)間是100μs,因此從加熱某一行中的噴嘴到加熱下一行中的噴嘴的時(shí)間與回補(bǔ)時(shí)間匹配,所以高速打印模式是可接受的。低速打印模式比高速打印模式慢,因此也是可接受的。
加熱噴嘴22會(huì)在有限時(shí)間內(nèi)在該噴嘴之容器23的公用墨池內(nèi)造成聲學(xué)擾動(dòng)。該擾動(dòng)干擾同一容器23內(nèi)的其他噴嘴的加熱。所以,容器內(nèi)的噴嘴的加熱應(yīng)盡量偏移。因此,我們加熱色品容器24內(nèi)的3個(gè)噴嘴(每種顏色一個(gè)噴嘴22),然后移動(dòng)到容器群25內(nèi)的下一個(gè)色品容器24。
·在低速打印模式中,獨(dú)立加熱容器群25。因此,在第一色品容器再次加熱前,兩個(gè)容器群中的5個(gè)色品容器24必須全部加熱,共計(jì)10×2μs周期。所以,每20μs加熱容器23一次。
·在高速打印模式中,同時(shí)加熱容器群25。因此,在第一色品容器再次加熱前,一個(gè)容器群中的5個(gè)色品容器24必須全部加熱,共計(jì)5×2μs周期。所以,每10μs加熱容器23一次。
由于墨通道的長(zhǎng)度為300μm,并且聲音在墨中的速度約為1500m/s,所以墨通道的諧振頻率為2.5MHz,從而低速模式允許50個(gè)諧振周期供聲學(xué)脈沖衰減,而高速模式允許25個(gè)諧振周期。因此在兩種情況中都能將聲學(xué)干擾降到最底程度。
2.2.3 采樣定時(shí)例如,正如Printcam要求的那樣,考慮在2秒內(nèi)打印一張4″×6″相片的定時(shí)。為了在2秒內(nèi)打印一張相片,4英寸打印頭必須打印9600行(6×1600)。在2秒內(nèi)完成10,000行,相當(dāng)于每行200μs。必須在該時(shí)間內(nèi)完成一個(gè)打印周期和一個(gè)加載周期。另外,打印頭外部的物理處理必須適當(dāng)?shù)匾苿?dòng)相紙。
從打印觀點(diǎn)看,低速打印模式允許4英寸打印頭在200μs內(nèi)打印一整行。在低速打印模式中,每加熱脈沖中有96個(gè)噴嘴22加熱,從而能夠在特定時(shí)間內(nèi)打印一整行。
打印頭2的800個(gè)SRClock脈沖(每個(gè)時(shí)鐘脈沖傳送24位)必須在200μs的行時(shí)間內(nèi)發(fā)生。SRClock脈沖的長(zhǎng)度不能超過(guò)200μs/800=250ns,這表示打印頭的時(shí)鐘周期為4MHz。另外,計(jì)算各比特值(19,200個(gè)噴嘴的每個(gè)噴嘴)的平均時(shí)間不能超過(guò)200μs/19,200=10ns。從而需要按如下速度運(yùn)行的點(diǎn)生成器·100MHz,生成1位(點(diǎn))/周期·50MHz,生成2位(點(diǎn))/周期·25MHz,生成4位(點(diǎn))/周期2.3 打印頭的反饋打印頭2生成幾行反饋(累計(jì)8段的反饋)。反饋線用于調(diào)整加熱脈沖的定時(shí)。盡管各段生成相同反饋,但是所有段的反饋共享相同的三態(tài)總線。所以,每次只有一段21能夠提供反饋。
SenseSegSelect線路上的脈沖與有關(guān)青色數(shù)據(jù)的邏輯與啟用該段的傳感線路。反饋傳感線路將來(lái)自所選段,直至下一個(gè)SenseSegSelect脈沖。反饋傳感線路如下·Tsense通知控制器打印頭有多熱。這允許控制器調(diào)整加熱脈沖的定時(shí),因?yàn)闇囟扔绊懩恼承浴?br>
·Vsense通知控制器致動(dòng)器能使用的電壓。從而控制器能夠通過(guò)調(diào)整脈沖寬度來(lái)補(bǔ)償其電壓下降的電池或高壓電源。
·Rsense通知控制器致動(dòng)加熱器的電阻率(每方歐姆)。從而控制器能夠調(diào)整脈沖寬度以便維持在恒定功率,而不考慮加熱器的電阻率。
·Wsense通知控制器加熱器的關(guān)鍵部分的寬度,由于平板印刷和蝕刻,其寬度會(huì)有±5%的變化。從而控制器能夠適當(dāng)?shù)卣{(diào)整脈沖寬度。
2.4 特殊周期2.4.1 預(yù)熱周期打印過(guò)程的一個(gè)顯著趨勢(shì)是保持在平衡溫度。為了確保第一次選擇的打印相片具有一致的圓點(diǎn)尺寸,必須在打印任何圓點(diǎn)前滿足平衡溫度。這是通過(guò)預(yù)熱周期實(shí)現(xiàn)的。
預(yù)熱周期包含應(yīng)用于所有噴嘴的一個(gè)加載周期(即,設(shè)置所有要加熱的噴嘴),該周期為1秒,以及應(yīng)用于各噴嘴的許多短暫加熱脈沖。脈沖的持續(xù)時(shí)間必須不足以噴射墨滴,但足以加熱墨。每個(gè)噴嘴總共需要200個(gè)脈沖,按照標(biāo)準(zhǔn)打印周期的相同次序發(fā)出脈沖。
在預(yù)熱模式期間,由Tsense提供反饋,直至達(dá)到平衡溫度(約高于環(huán)境30℃)。預(yù)熱模式的持續(xù)時(shí)間約為50毫秒,并且取決于墨的成分。
在每個(gè)打印作業(yè)前執(zhí)行預(yù)熱。因?yàn)樵谙虼蛴C(jī)傳送頁(yè)面數(shù)據(jù)時(shí)執(zhí)行預(yù)熱,所以這并不影響打印機(jī)的性能。
2.4.2 清潔周期為了降低噴嘴堵塞的可能性,可以在每個(gè)打印作業(yè)前執(zhí)行清潔周期。每個(gè)噴嘴向吸收海綿噴射幾次。
清潔周期包含應(yīng)用于所有噴嘴的一個(gè)加載周期(即,設(shè)置所有要加熱的噴嘴),該周期為1秒,以及應(yīng)用于各噴嘴的許多加熱脈沖。通過(guò)與標(biāo)準(zhǔn)打印周期相同的噴嘴加熱次序,清潔各噴嘴。各噴嘴22的加熱次數(shù)取決于墨的成分,以及打印機(jī)的閑置時(shí)間,如同預(yù)熱一樣,清潔周期并不影響打印機(jī)的性能。
2.5 打印頭接口概要一個(gè)4英寸的打印頭2具有以下連接表4.4英寸打印頭連接
在4英寸打印頭的內(nèi)部,每段到連接容器的電路為表5.4英寸打印頭內(nèi)部段的連接
3 圖象處理鏈以上各節(jié)只設(shè)計(jì)PCP功能性的最高級(jí)概要,將CFA圖象映射為各種輸出打印格式。實(shí)際上,從圖象傳感器中取得圖象,然后生成高質(zhì)量的輸出打印涉及許多步驟??梢詫⒏呒?jí)處理劃分為兩個(gè)圖象處理鏈,每個(gè)處理鏈具有許多步驟·圖象獲取鏈·打印鏈圖象獲取鏈涉及從圖象傳感器中獲取圖象,并且在Printcam內(nèi)本地存儲(chǔ)。打印鏈涉及取得存儲(chǔ)的圖象,然后打印。以上兩個(gè)處理鏈按以下方式映射到基礎(chǔ)Printcam功能性·取象并打?。綀D象獲取鏈,然后是打印鏈·重新打?。酱蛴℃溊纾脩艨梢源蛴∫粡埿D(取象并打印),并且如果對(duì)結(jié)果滿意的話,打印幾份標(biāo)準(zhǔn)副本(重新打印)。
本章描述滿足Printcam質(zhì)量要求的獨(dú)立圖象處理鏈的實(shí)現(xiàn)。在此階段中,我們并不精確考慮如何以硬件方式實(shí)現(xiàn)該處理,而是考慮必須進(jìn)行哪些處理。必須將這些功能映射到PCP內(nèi)的各種裝置。
不管PCP的實(shí)現(xiàn),有許多約束·輸入圖象是基于連續(xù)色調(diào)RGB圖象的CFA。
·輸出圖象用于CMY顏色空間中的Memjet打印頭(二值點(diǎn),分辨率為1600dpi),并且輸出寬度相同(4英寸寬)。
3.0.1 支持的打印格式如表6所示,PCP 3支持各種輸出打印格式。在所有情況中,圖象的寬度總是4英寸(與打印頭的寬度匹配)。只有打印輸出的長(zhǎng)度改變。
表6.支持的圖象格式
圖象傳感器并不提供方向信息。所有圖象都是以相同分辨率(1500×1000)獲取的,并且可能需要在打印輸出前旋轉(zhuǎn)90度。圖13表示獲取的CFA圖象和支持的各種打印格式之間的映射。請(qǐng)注意,盡管將該圖表示為逆時(shí)針旋轉(zhuǎn)90度,也可以順時(shí)針或逆時(shí)針旋轉(zhuǎn)該圖象。
3.1 圖象獲取鏈圖象獲取鏈負(fù)責(zé)從圖象傳感器中取得圖象,并在Printcam內(nèi)本地存儲(chǔ)。圖象獲取鏈涉及許多只在圖象獲取期間執(zhí)行的處理。圖14表示圖象獲取鏈,以下幾部分詳細(xì)說(shuō)明其子部件。
3.1.1 圖象傳感器1輸入圖象來(lái)自圖象傳感器1。盡管可以使用各種圖象傳感器,但是我們只考慮拜爾彩色濾鏡陣列(CFA)。拜爾CFA具有許多本文定義的屬性。
假設(shè)已經(jīng)充分過(guò)濾了CMOS傳感器1(通過(guò)取象透鏡)獲取的圖象,以消除鋸齒現(xiàn)象。傳感器本身的長(zhǎng)寬比為3∶2,具有1500×1000分辨率的采樣。最可能的象素結(jié)構(gòu)為拜爾彩色濾鏡陣列(CFA),其中圖15表示在2G鑲嵌面中排列的各2×2象素塊。
R、G、B(分別對(duì)應(yīng)于紅、綠、藍(lán))的各連續(xù)色調(diào)采樣是10比特。請(qǐng)注意,鑲嵌面的每個(gè)象素僅包含有關(guān)R、G、B之一的信息。必須在打印輸出前估計(jì)丟失的彩色信息。
認(rèn)為CFA執(zhí)行適當(dāng)?shù)墓潭J皆肼?PFN)抑制。
3.1.2 線性化RGB40·圖象傳感器40未必有完整的線性響應(yīng)。因此,必須認(rèn)為來(lái)自CFA的10比特RGB采樣是非線性的。通過(guò)查找表(每種顏色一個(gè))將這些非線性采樣轉(zhuǎn)換為8比特的線性采樣。
來(lái)自CFA 0行、2行、4行等的象素編入R和G表,而來(lái)自CFA1行、3行、5行等的象素編入G和B表。該處理完全獨(dú)立于照相機(jī)的方向。圖16表示該處理。每個(gè)查找表需要的總存儲(chǔ)量為210×8比特。因此,3個(gè)查找表45共需3KB(3×210字節(jié))。
3.1.3 平面化RGB41由于象素的拜爾鑲嵌面的性質(zhì),所以從CFA獲得的象素使其顏色平面交錯(cuò)。這意味著在偶數(shù)水平線上,一個(gè)紅色象素后跟一個(gè)綠色象素,然后是另一個(gè)紅色象素,不同顏色平面互相交錯(cuò)。在某些圖象處理系統(tǒng)中,交錯(cuò)格式非常有用。然而,在Printcam處理系統(tǒng)中,該算法在平面RGB上更有效。
平面化的圖象是已經(jīng)分成其組成色的圖象。在CFA RGB的情況中,有3個(gè)獨(dú)立圖象一個(gè)僅包含紅色象素的圖象,一個(gè)僅包含藍(lán)色象素的圖象,以及一個(gè)僅包含綠色象素的圖象。請(qǐng)注意,每個(gè)平面僅代表實(shí)際采樣顏色的象素。在平面化處理中不進(jìn)行重新采樣。因此,不互相登記R、G、B平面,并且G平面為R平面或B平面的兩倍。圖17表示該處理。
實(shí)際處理非常簡(jiǎn)單—取決于讀取的象素的顏色,將輸出象素發(fā)送到適當(dāng)顏色平面的圖象中的下一位置(因此,與CFA中的方向相同)。
紅色45和藍(lán)色47平面圖象為原始CFA圖象的四分之一。它們是每個(gè)維數(shù)的分辨率的一半。因此,紅色和藍(lán)色圖象是750×500象素,在CFA空間(1500×1000)中,紅色圖象在x和y維數(shù)上偏離藍(lán)色圖象一個(gè)象素。
盡管綠色平面圖象46的大小是原始CFA圖象的一半,但是其布局設(shè)計(jì)并不象紅色和藍(lán)色那樣簡(jiǎn)單。原因在于綠色平面的交錯(cuò)排列布局。在綠色平面的一行上是奇數(shù)象素,在綠色平面的下一行上是偶數(shù)象素。因此,綠色平面的交錯(cuò)行代表CFA圖象內(nèi)的奇數(shù)象素和偶數(shù)象素。所以綠色平面圖象是750×1000象素。從而具有重新采樣處理分支(參見(jiàn)28頁(yè)上的“重新采樣64”)。
3.1.4 存儲(chǔ)的圖象42將線性化的RGB圖象的各顏色平面寫(xiě)入存儲(chǔ)器中,以便臨時(shí)存儲(chǔ)。存儲(chǔ)器應(yīng)為快閃存儲(chǔ)器11,以便在關(guān)閉電源后繼續(xù)保存圖象。
平面化的線性RGB圖象需要的總存儲(chǔ)量是1,500,000字節(jié)(約為1.5MB),其排列為·R750×500=375,000字節(jié)·G750×500=375,000字節(jié)·B750×1000=750,000字節(jié)
3.2 打印鏈打印鏈包括從存儲(chǔ)器中取得現(xiàn)有圖象42,然后打印到Memjet打印機(jī)2。通常獲取圖象后就打印該圖象,盡管也可以重新打印(即,無(wú)需重新獲取)。
為了從獲取的CFA圖象中生成高質(zhì)量的打印,圖象處理鏈包括許多步驟。圖18表示打印鏈。將打印鏈劃分為三個(gè)工作分辨率。第一分辨率是原始圖象獲取空間50(與CFA的圖象空間相同),第二分辨率是中分辨率51(每行有1280個(gè)連續(xù)色調(diào)象素),第三分辨率是打印機(jī)分辨率52,每行有6400個(gè)二值點(diǎn)。
3.2.1 輸入圖象正如3.1.4部分中說(shuō)明的圖象獲取鏈的存儲(chǔ)方式一樣,輸入圖象是以平面形式存儲(chǔ)的線性化的RGB圖象42。
3.2.2 收集統(tǒng)計(jì)數(shù)字在執(zhí)行諸如白平衡和范圍擴(kuò)展之類的處理前,需要收集整個(gè)圖象的許多統(tǒng)計(jì)數(shù)字。對(duì)于特定的獲取圖象42的所有打印,只需收集一次統(tǒng)計(jì)數(shù)字,并且可以分別收集紅、綠、藍(lán)色平面圖象的統(tǒng)計(jì)數(shù)字。
3.2.2.1 構(gòu)建直方圖第一步是構(gòu)建各顏色平面的8比特值的直方圖。每個(gè)1500×1000CFA圖象總共包含·375,000個(gè)紅色象素(至少需要一個(gè)19比特的計(jì)數(shù)器)·375,000個(gè)藍(lán)色象素(至少需要一個(gè)19比特的計(jì)數(shù)器)·750,000個(gè)綠色象素(至少需要一個(gè)20比特的計(jì)數(shù)器)因此,存儲(chǔ)直方圖需要一個(gè)256×20比特的表。
正如以下偽碼所示,構(gòu)建直方圖的過(guò)程非常簡(jiǎn)單
For I=0 to 255Entry[I]=0EndForFor Pixel=ImageStart to ImageEndp=Image[Pixel]Entry[p]=Entry[p]+1EndFor3.2.2.2 確定高低閾值在構(gòu)造顏色平面的直方圖后,可以使用直方圖來(lái)確定高低閾值。在打印期間,白平衡和范圍擴(kuò)展的自動(dòng)化處理需要以上閾值。
根據(jù)直方圖中象素?cái)?shù)的閾值,我們認(rèn)為可以“犧牲”n%的最暗象素,從而使這些象素相等。同樣,我們認(rèn)為可以“犧牲”n%的最亮象素,從而使這些象素相等。期望n的準(zhǔn)確值為5%,這取決于CFA的響應(yīng)特性。
確定n%的最暗值很簡(jiǎn)單。包括從0計(jì)數(shù)開(kāi)始向上(即,0,1,2,3等)遍歷該顏色平面的直方圖,直至到達(dá)總數(shù)的n%,即從零開(kāi)始遍歷到某個(gè)總數(shù)。我們認(rèn)為這些值中的最大值為該顏色平面的低閾值。盡管這些最暗值之間有差異,但是為了范圍擴(kuò)展和顏色平衡可以犧牲這些差異。
確定n%的最亮值的過(guò)程類似。包括從255計(jì)數(shù)開(kāi)始向下(即,255,254,253等)遍歷該顏色平面的直方圖,直至到達(dá)總數(shù)的n%,即從255開(kāi)始遍歷到某個(gè)總數(shù)。我們認(rèn)為這些值中的最小值為該顏色平面的高閾值。盡管這些最亮值之間有差異,但是為了范圍擴(kuò)展和顏色平衡可以犧牲這些差異。
在離開(kāi)0或255一定距離后停止的原因在于補(bǔ)償以下兩類圖象·原始動(dòng)態(tài)范圍低的圖象,或·圖象中沒(méi)有白色或黑色的圖象在以上兩種情況中,我們不希望犧牲n%的高低值,因?yàn)殚_(kāi)始范圍較小。我們可以將高73和低72閾值設(shè)置為實(shí)際采樣的象素值的范圍外。精確距離取決于CFA,但是將是兩個(gè)常數(shù)。
圖19表示顏色平面的采樣顏色范圍。請(qǐng)注意,盡管圖象顏色平面的象素范圍有可能是0-255,但是該特定圖象的范圍較小。同時(shí),n%的直方圖范圍70、71表示的低端范圍70大于高端范圍71。原因在于與低端相比,該直方圖包含的高值象素更接近。
必須分別確定各顏色平面的高73和低72閾值。該信息用于計(jì)算白平衡和范圍擴(kuò)展中使用的范圍比例和偏移因子。
以下偽碼表示確定兩個(gè)閾值的過(guò)程(為了查找低閾值,StartPosition=255,Delta=1。為了查找高閾值,StartPosition=0,Delta=-1)。該偽碼假設(shè)Threshold是一個(gè)8比特值,其中在進(jìn)行加法時(shí)回繞。
Threshold=StartPositionTotal=0TotalDelta=0While((TotalDelta<MaxDelta)AND(Total<MaxPixels))Threshold=Threshold+DeltaTotal=Total+Entry[Threshold]TotalDelta=TotalDelta+1EndWhileReturn Threshold3.2.3 旋轉(zhuǎn)圖象61在獲取、打印和重新打印過(guò)程中,旋轉(zhuǎn)圖象61是一個(gè)可選步驟。
正如圖13所示,不同打印格式需要相對(duì)與CFA方向?qū)⒃搱D象旋轉(zhuǎn)0度或90度。旋轉(zhuǎn)量取決于當(dāng)前選擇的打印格式。盡管旋轉(zhuǎn)方向并不重要(由于新方向僅僅是為了方便打印頭的寬度,所以可以順時(shí)針或逆時(shí)針旋轉(zhuǎn)),旋轉(zhuǎn)方向影響3個(gè)顏色平面的相關(guān)讀數(shù)。表7概要說(shuō)明各種打印格式需要從原始CFA方向旋轉(zhuǎn)的角度。
表7.各種打印格式需要從CFA方向旋轉(zhuǎn)的角度
由于只需旋轉(zhuǎn)0度或90度,所以在旋轉(zhuǎn)處理中不丟失信息。如果旋轉(zhuǎn)0度,則可以逐行讀取圖象,如果旋轉(zhuǎn)90度,可以逐列讀取圖象。讀取3個(gè)顏色平面必須考慮旋轉(zhuǎn)方向。
3.2.4 白平衡62和范圍擴(kuò)展63相片很少是在理想照明條件下拍攝的。即使非常“完美的照明條件”也是充滿主觀性的,包括照相師方面的主觀性和主體方面的主觀性。然而,在所有情況中,利用來(lái)自光源(如日光或室內(nèi)照明)或相片主體特有發(fā)光體(如霓虹燈)的光線,照射相片主體。
在大部分照明條件中,照相師看作“白”光的光源通常并不是白色的。例如,室內(nèi)光通常具有黃色光線,該黃色光線將出現(xiàn)在未修正的相片上。對(duì)大部分人而言,最終未修正相片上出現(xiàn)黃色光線是不正常的。盡管與拍攝相片時(shí)的觀察條件一致,但它與物體的感覺(jué)色彩不一致。因此,在打印輸出前對(duì)相片進(jìn)行白平衡是很關(guān)鍵的。
同樣,如果擴(kuò)展顏色的動(dòng)態(tài)范圍以便與各顏色平面的滿標(biāo)度一致,則會(huì)感覺(jué)到圖象的質(zhì)量較高。在以更高的分辨率對(duì)圖象重新采樣前,以上處理非常有用。如果動(dòng)態(tài)范圍較高,則在內(nèi)插的象素位置中可使用中間值,從而避免出現(xiàn)分級(jí)或塊狀圖象。范圍擴(kuò)展的目的是向?qū)嶋H采樣值提供全部256個(gè)值范圍。在最佳情況中,將最小值映射為0,將最大值映射為255。將所有中間值按比例映射為0到255之間的值。
數(shù)學(xué)上,所執(zhí)行的操作是將LowThreshold 72變化為0,然后乘以某個(gè)比例。公式為Pixel′=(Pixel-LowThreshold)×RangeScaleFactor其中RangeScaleFactor=256(HighThreshold-LowThreshold)]]>將RangeScaleFactor限制在最大值,以免將范圍擴(kuò)得太大。;有關(guān)計(jì)算LowThreshold 72的細(xì)節(jié),請(qǐng)參見(jiàn)3.2.2一節(jié)中的“收集統(tǒng)計(jì)數(shù)字”。每種顏色的LowThreshold和RangeScaleFactor各不相同,并且每個(gè)圖象只需計(jì)算一次。
如圖20所示,可以同時(shí)進(jìn)行以上兩項(xiàng)工作。
由于此步驟涉及縮放處理,因此在映射值中可以保留分?jǐn)?shù)部分,如,值12映射到5.25。將一個(gè)10比特的結(jié)果(8比特整數(shù),2比特分?jǐn)?shù))傳送到圖象處理鏈的下一階段,而不是丟棄分?jǐn)?shù)部分。雖然提供的存儲(chǔ)器不能以高于8比特的分辨率存儲(chǔ)整幅圖象,但是可以在重新采樣階段中使用更高分辨率。因此,輸入圖象是8比特,輸出圖象的每種顏色分量是10比特。圖21表示其邏輯處理。
在進(jìn)行減法運(yùn)算時(shí),重要的是具有最低限度0,從而將低于LowThreshold 72的所有值映射為0。同樣,乘法運(yùn)算結(jié)果的整數(shù)部分必須具有最高限度255,從而將高于HighThreshold 73的輸入值映射為255。
3.2.5 重新采樣64CFA圖象只提供每個(gè)象素(x,y)坐標(biāo)單一顏色分量。為了生成最終打印圖象,需要獲得各象素的其他顏色分量。最后,我們需要各象素的青、品紅和黃色分量,但是,要獲得青、品紅和黃色,我們需要紅、綠、藍(lán)。如果有某個(gè)特定位置的紅色分量,則需要估計(jì)藍(lán)和綠?;騽t如果有綠色分量,則需要估計(jì)紅和藍(lán)。
即使擁有各CFA分辨率象素的紅、綠、藍(lán)分量,該CFA分辨率圖象也不是最終輸出分辨率。另外,盡管輸出格式不同,但是打印圖象的物理寬度不變(4英寸,分辨率為1600dpi)。因此,打印頭的固定寬度為6400點(diǎn)。
需要考慮兩種極端情況·內(nèi)插到CFA分辨率(最小內(nèi)插),然后執(zhí)行銳化、顏色轉(zhuǎn)換。最后按比例提高到打印分辨率。其優(yōu)點(diǎn)在于,銳化內(nèi)核固定,并且以低分辨率進(jìn)行顏色轉(zhuǎn)換。然而,其缺點(diǎn)是,為內(nèi)插圖象存儲(chǔ)的各顏色分量高于8比特,否則在最終按比例提高到打印分辨率時(shí),將不能正確內(nèi)插中間值。另一個(gè)缺點(diǎn)是,需要一個(gè)按比例提高部件,該部件能夠在每個(gè)周期內(nèi)生成1個(gè)打印分辨率內(nèi)插值。
·內(nèi)插到打印分辨率,然后執(zhí)行銳化和顏色轉(zhuǎn)換。其優(yōu)點(diǎn)在于,只有一個(gè)重新采樣處理,從而提供最高準(zhǔn)確度。然而,其缺點(diǎn)是,需要一個(gè)按比例提高部件,該部件能夠在每個(gè)周期內(nèi)生成1個(gè)雙三次內(nèi)插值,同時(shí)平均在每個(gè)周期內(nèi)執(zhí)行銳化和顏色轉(zhuǎn)換。銳化內(nèi)核必須足夠大,以便將CFA分辨率內(nèi)核應(yīng)用于高分辨率圖象。更糟的是,對(duì)銳化處理,至少必須在輸出圖象上保持3個(gè)窗口(每個(gè)窗口包含6400行),這是因?yàn)樵谝粋€(gè)打印周期中,青、品紅和黃點(diǎn)表示互不相同的6行中的點(diǎn)。
以上兩種情況都沒(méi)有考慮以下事實(shí),即最終打印輸出是二值圖象而不是連續(xù)色調(diào)圖象。因此,可以對(duì)重新采樣進(jìn)行折衷,并且獲得最佳結(jié)果。
解決方案是內(nèi)插到中分辨率。以中分辨率進(jìn)行銳化和顏色變換,然后按比例提高到打印分辨率。中分辨率必須足夠低,以采用較小的銳化內(nèi)核和顏色變換定時(shí)。但是,中分辨率必須足夠高,從而在按比例提高到打印分辨率的二值圖象時(shí)不損失質(zhì)量。其效果必須與一次(而不是二次)內(nèi)插到打印分辨率的效果相同。
由于打印圖象是以1600dpi抖動(dòng)二值點(diǎn)的方式打印的,所以能夠利用320dpi的連續(xù)色調(diào)圖象無(wú)損表示。因此,1280連續(xù)色調(diào)象素的中分辨率提供6400二值點(diǎn)上的無(wú)損質(zhì)量。從1280提高到6400的縮放比率為1∶5。
為了確定重新采樣的最佳方法,最好考慮與CFA分辨率有關(guān)的各顏色平面。圖22表示旋轉(zhuǎn)0度的顏色平面。
3.2.5.1 紅色45和藍(lán)色47考慮紅色45和藍(lán)色47平面,通過(guò)將每個(gè)維數(shù)的采樣象素?cái)?shù)放大2倍,可以創(chuàng)建該顏色平面的全CFA分辨率圖象。借助重建過(guò)濾器(如Lanczos或指數(shù)過(guò)濾器),可以生成中間象素。因?yàn)閮?nèi)核是對(duì)稱的,所以只需一維內(nèi)核。由于紅色和藍(lán)色在CFA采樣空間內(nèi)的初始表示的偏移不同,所以內(nèi)核中的初始位置不同。
將輸出坐標(biāo)(在1280空間中)映射到輸入坐標(biāo)依靠圖象的當(dāng)前旋轉(zhuǎn),原因在于登記旋轉(zhuǎn)象素變化的緣故(0度或90度,取決于打印格式)。因此,對(duì)于紅色和藍(lán)色,以下關(guān)系成立x′=(xmps)+k1y′=(ymps)+k2}]]>其中x,y=中分辨率空間中的坐標(biāo)x′,y′=輸入空間中的坐標(biāo)mps=每個(gè)輸入空間采樣的中分辨率象素k1,2={0,-0.5)取決于旋轉(zhuǎn)這意味著給定輸入空間中的起始位置,通過(guò)將1/mps的Δx和Δy以及0分別增加1279次,可以生成一行新的中分辨率象素??梢灾苯邮褂幂斎肟臻g中x和y的分?jǐn)?shù)部分查找用于圖象重建和重新采樣的內(nèi)核系數(shù)。
請(qǐng)注意,k1和k2為0和-0.5,取決于將該圖象旋轉(zhuǎn)0度還是旋轉(zhuǎn)90度。表8表示紅色和藍(lán)色平面中k1和k2的值,其中旋轉(zhuǎn)90度是逆時(shí)針旋轉(zhuǎn)。
表8.k1和k2的旋轉(zhuǎn)結(jié)果(旋轉(zhuǎn)是逆時(shí)針旋轉(zhuǎn))
每個(gè)采樣的中分辨率象素?cái)?shù)(mps)取決于打印格式。假設(shè)不旋轉(zhuǎn)時(shí),平面化的RGB圖象的紅色和藍(lán)色平面分辨率為R750×500,B750×500,則不同輸出格式(見(jiàn)第17頁(yè)上的圖13)的比例系數(shù)如表9所示。請(qǐng)注意,對(duì)于護(hù)照?qǐng)D象格式,將整個(gè)圖象重新采樣為輸出空間的1/4。
表9.圖象格式的紅色和藍(lán)色比例系數(shù)
正如從表9中看到的那樣,所有圖象都需要按比例放大紅色和藍(lán)色圖象。因此,重新采樣處理不會(huì)引入鋸齒現(xiàn)象。
3.2.5.2 綠色46不能按照紅色和藍(lán)色平面的方法,簡(jiǎn)單地按比例放大綠色平面46,原因在于綠色平面的每一行表示不同象素,即交錯(cuò)行上的奇數(shù)和偶數(shù)象素。盡管就象素?cái)?shù)而言,表示綠色圖象為750×1000,但是可以將該圖象說(shuō)成是1500×500。上述混淆是由綠色象素的交錯(cuò)排列性質(zhì)造成的,其中沿x和y維數(shù)方向的象素之間的距離不相等,并且不能準(zhǔn)確映射到圖象重建和重新采樣。其他系統(tǒng)為綠色平面重建所使用的內(nèi)插方法的數(shù)目就是一個(gè)證明—從最近鄰域復(fù)制到線性內(nèi)插到雙線性內(nèi)插和啟發(fā)式重建。
對(duì)綠色平面而言,將輸出坐標(biāo)(在1280空間中)映射到輸入坐標(biāo)與用于紅色和綠色映射的概念相同。該映射依靠圖象的當(dāng)前旋轉(zhuǎn),原因在于登記旋轉(zhuǎn)象素變化的緣故(0度或90度,取決于打印格式)。因此,對(duì)于綠色平面以下關(guān)系成立x′=(xmps)+k1y′=(ymps)+k2}]]>其中x,y=中分辨率空間中的坐標(biāo)x′,y′=輸入空間中的坐標(biāo)mps=每個(gè)輸入空間采樣的中分辨率象素k1,2={0,-0.5}取決于旋轉(zhuǎn)對(duì)于紅色45和藍(lán)色47平面,每個(gè)采樣的中分辨率象素?cái)?shù)(mps)取決于打印格式。假設(shè)不旋轉(zhuǎn)時(shí),平面化的RGB圖象的平面分辨率為R750×500,B750×500,G750×1000,則不同輸出格式(見(jiàn)圖13)的比例系數(shù)如表10所示。請(qǐng)注意,對(duì)于護(hù)照?qǐng)D象格式,將整個(gè)圖象重新采樣為輸出空間的1/4。
表10.圖象格式的綠色平面比例系數(shù)
以上比例系數(shù)允許CFA分辨率輸入空間和中分辨率空間之間的坐標(biāo)映射。然而,如果擁有CFA分辨率輸入空間中的坐標(biāo),則不能象紅色和藍(lán)色那樣,在采樣上執(zhí)行圖象重建和重新采樣,原因在于綠色平面的交錯(cuò)排列性質(zhì)。
為了高質(zhì)量的圖象重建和重新采樣,可以認(rèn)為綠色信道是一個(gè)旋轉(zhuǎn)45度的圖象。如圖23所示,當(dāng)按此種方式考慮象素時(shí),高質(zhì)量圖象重建和重新采樣方法是清楚的。
考慮圖23,現(xiàn)在沿x和y方向的采樣象素之間的距離相等。正如圖24所示,采樣象素之間的距離為√2。
因此,綠色信道的解決方案是在旋轉(zhuǎn)空間中執(zhí)行圖象重建和重新采樣。盡管使用用于紅色和藍(lán)色重新采樣的重建過(guò)濾器,但其內(nèi)核不同。因?yàn)榫G色采樣率和該信號(hào)中最高頻率之間的關(guān)系,與紅色和藍(lán)色平面的關(guān)系不同。另外,就內(nèi)核坐標(biāo)而論,應(yīng)正規(guī)化內(nèi)核,以便采樣之間的√2距離成為1(然而,仍然使用重新采樣坐標(biāo)之間的非正規(guī)化距離來(lái)確定是否出現(xiàn)鋸齒)。因此,需要兩種變換·第一種變換是將不旋轉(zhuǎn)的CFA空間映射到旋轉(zhuǎn)的CFA空間。通過(guò)將各縱坐標(biāo)乘以1/√2實(shí)現(xiàn)該變換,因?yàn)樾D(zhuǎn)45度(cos45=sin45=1/√2)。
·第二種變化是縮放坐標(biāo)以匹配正規(guī)化內(nèi)核,通過(guò)將各縱坐標(biāo)乘以1/√2實(shí)現(xiàn)。
以上兩種變換聯(lián)合得到放大系數(shù)1/2。因此,在不旋轉(zhuǎn)的CFA空間中,當(dāng)將x增加k時(shí),將內(nèi)核x增加k/2,將內(nèi)核y減少k/2。同樣,當(dāng)將y增加k時(shí),將內(nèi)核x增加k/2,將內(nèi)核y增加k/2。
通過(guò)考慮根據(jù)CFA空間輸入圖象生成一行中分辨率象素時(shí)發(fā)生的事情,可以說(shuō)明不同坐標(biāo)系之間的關(guān)系。給定CFA輸入空間中的y縱坐標(biāo),我們從x=0開(kāi)始,每次增加1/mps,共計(jì)1280次,從而在每個(gè)新位置生成一個(gè)新象素。可以將在不旋轉(zhuǎn)的CFA空間中移動(dòng)1/mps,分解為在旋轉(zhuǎn)CFA空間中沿x和y方向的移動(dòng)。圖25表示該過(guò)程。
由于cos45=sin45=1/√2,所以在不旋轉(zhuǎn)的CFA空間中移動(dòng)1/mps等價(jià)于沿x和y移動(dòng)1/(mps/√2)。必須對(duì)該數(shù)值進(jìn)行縮放,以匹配正規(guī)化內(nèi)核??s放等價(jià)于再乘以1/√2。因此,在不旋轉(zhuǎn)的CFA空間中移動(dòng)1/mps等價(jià)于在內(nèi)核x和內(nèi)核y中移動(dòng)1/2mps。表11列出不同格式的三種坐標(biāo)系之間的關(guān)系表11.不同圖象格式的綠色平面內(nèi)核Δ值
表11表示內(nèi)核空間中的移動(dòng)總是乘以一個(gè)小于1的數(shù),而在旋轉(zhuǎn)的CFA空間中,只有護(hù)照?qǐng)D象的Δ值大于1。因此,護(hù)照打印格式出現(xiàn)鋸齒,而其他格式不會(huì)出現(xiàn)鋸齒。然而,假設(shè)Δ近似等于1,并且四種圖象的大小僅為1/4,不會(huì)出現(xiàn)明顯鋸齒,特別是在圖象獲取期間對(duì)綠色采取低通濾波時(shí)。
3.2.5.3 紅、綠、藍(lán)的重建過(guò)濾器要使用的精確重建過(guò)濾器取決于許多問(wèn)題。通常在構(gòu)造原始信號(hào)中使用的采樣數(shù)、信號(hào)重建所需的時(shí)間和重新采樣圖象的質(zhì)量之間進(jìn)行折衷。在該情況中,一個(gè)令人滿意的折衷是正在重建的維數(shù)中的5個(gè)象素采樣,以估計(jì)位置X為中心,即X-2,X-1,X,X+1,X+2。由于利用5個(gè)采樣點(diǎn)進(jìn)行重建,因此,卷積內(nèi)核中的條目只需要4個(gè)系數(shù)。
對(duì)于每種顏色分量,創(chuàng)建一個(gè)具有n個(gè)條目的內(nèi)核系數(shù)查找表。每個(gè)條目具有4個(gè)系數(shù)。當(dāng)我們?cè)谳敵隹臻g中前進(jìn)時(shí),將輸出空間中的變化映射為輸入空間和內(nèi)核空間中的變化。當(dāng)前內(nèi)核空間中的分?jǐn)?shù)部分的最高有效位用于編寫(xiě)內(nèi)核系數(shù)表的索引。如果內(nèi)核表中有64項(xiàng),則利用分?jǐn)?shù)的前6位查找系數(shù)。64項(xiàng)足夠Printcam中的重新采樣。
3.2.6 銳化65在打印前,必須對(duì)CFA獲取的圖象進(jìn)行銳化處理。理論上,應(yīng)該在CFA分辨率范圍內(nèi)應(yīng)用銳化過(guò)濾器。然而,在該圖象的獲取分辨率,我們沒(méi)有各象素的彩色信息。我們僅有指定象素位置的紅、藍(lán)或綠色信息。獨(dú)立銳化每個(gè)顏色平面會(huì)引起顏色偏移。應(yīng)該對(duì)圖象的亮度信道應(yīng)用銳化,從而指定象素的色度和飽和度不變。
銳化包括將RGB圖象變換為顏色空間,在顏色空間中,分離亮度與其他顏色信息(如HLS或Lab)80。然后對(duì)亮度信道81進(jìn)行銳化82(通過(guò)按比例添加亮度的高通過(guò)濾模型)。最后,將整幅圖象轉(zhuǎn)換為RGB 83(或轉(zhuǎn)換為CMY,由于我們要以CMY格式進(jìn)行打印)。圖26表示該過(guò)程。
然而,如果考慮向該圖象添加高通過(guò)濾的L的結(jié)果,即改變圖象的亮度,則可以避免許多顏色轉(zhuǎn)換步驟。利用線性R、G、B中的相同改變,可以很好地逼近給定象素的亮度改變。因此,只需生成L(高通過(guò)濾器L),然后將部分結(jié)果平等地應(yīng)用于R、G、B。
3.2.6.1 將RGB轉(zhuǎn)換為L(zhǎng) 80考慮CIE 1976 L*a*b*顏色平面,其中感覺(jué)上L是一致的。為了從RGB轉(zhuǎn)換到L(亮度信道),按下式計(jì)算R、G、B的最大值和最小值的平均值L=MIN(R,G,B)+MAX(R,G,B)2]]>3.2.6.2 高通過(guò)濾器L 84然后,將高通過(guò)濾器84應(yīng)用于亮度信息。由于在中分辨率空間而不是在CFA分辨率空間中進(jìn)行過(guò)濾,所以可以按比例放大銳化內(nèi)核的大小,或適當(dāng)縮放高通結(jié)果。銳化的準(zhǔn)確數(shù)量取決于CFA,但是一個(gè)3×3卷積內(nèi)核85足以生成一個(gè)好結(jié)果。
如果要增加內(nèi)核的大小,則表12表示應(yīng)用于1280分辨率空間時(shí)CFA空間中的3×3卷積需要的有效縮放比例86,其中使用綠色信道作為內(nèi)核縮放的基礎(chǔ)。可以從該表中看到,應(yīng)用于中分辨率空間的7×7大小的內(nèi)核適合所有銳化。
表12.卷積過(guò)濾器的比例系數(shù)
如果在中分辨率圖象上應(yīng)用3×3過(guò)濾器85,則根據(jù)普通圖象縮放操作中使用的比例系數(shù),對(duì)結(jié)果進(jìn)行縮放86。給定表2中的數(shù)量(特別是標(biāo)準(zhǔn)打印格式),可以使用3×3過(guò)濾器85,然后對(duì)結(jié)果進(jìn)行縮放。圖27表示生成單個(gè)過(guò)濾L象素的過(guò)程。
使用的實(shí)際內(nèi)核可以為一組標(biāo)準(zhǔn)高通過(guò)濾器內(nèi)核中的任意內(nèi)核。圖50表示實(shí)現(xiàn)PCP時(shí)使用的令人滿意的基本高通過(guò)濾器。
3.2.6.3 向RGB添加過(guò)濾器L下一項(xiàng)工作是,向亮度信道添加部分作為結(jié)果的高通過(guò)濾亮度值。然后將圖象轉(zhuǎn)換為RGB(或者,轉(zhuǎn)換為CMY)。然而,可以利用RGB中的相同改變合理逼近亮度改變(只要顏色空間是線性的即可)。因此,通過(guò)向R、G、B添加相同比例的高通過(guò)濾亮度值,就可以避免顏色轉(zhuǎn)換??梢岳帽壤禂?shù)定義高通過(guò)濾圖象的準(zhǔn)確比例。
如果L是高通過(guò)濾亮度象素,k是固定比例系數(shù),則可以按下式R′=R+kLG′=G+kLB′=B+kL]]>(最大值255)定義銳化R、G、B的變換當(dāng)然,可以把應(yīng)用于L的比例系數(shù)和高通過(guò)濾處理(見(jiàn)3.2.3.6一節(jié))中的比例系數(shù)結(jié)合起來(lái),作為一個(gè)比例系數(shù)。
在向RGB象素應(yīng)用銳化處理后,可以將圖象轉(zhuǎn)換為CMY 83,以便打印輸出。
3.2.7 轉(zhuǎn)換為CMY 83理論上,從RGB到CMY的轉(zhuǎn)換很簡(jiǎn)單C=1-RM=1-GY=1-B上述轉(zhuǎn)換假設(shè)CMY空間具有線性響應(yīng),然而,對(duì)于有顏色的墨,該假設(shè)并不成立,并且對(duì)于基于著色的墨,也只有部分成立。特定設(shè)備(輸入和輸出)的不同顏色輪廓大不相同。因此,考慮到準(zhǔn)確轉(zhuǎn)換以及未來(lái)的傳感器、墨和打印機(jī),Printcam需要更精確的模型。
圖28表示需要的變換。選擇Lab的原因在于感覺(jué)上它是一致的(不同于XYZ)。關(guān)于從圖象傳感器色彩轉(zhuǎn)換為打印機(jī)色彩,打印機(jī)色彩通常完全包含在傳感器色彩內(nèi)。
通過(guò)基于3組3D查找表的三線性轉(zhuǎn)換,可以得到非常好的結(jié)果,而不用窮盡上述變換。查找表包含利用RGB作為索引的特定條目的合成變換。需要三個(gè)表一個(gè)將RGB映射為C的表90,一個(gè)將RGB映射為M的表91,以及一個(gè)將RGB映射為Y的表92。對(duì)于表中未包含的條目,通過(guò)使用三線性內(nèi)插得到最終結(jié)果。圖29表示該過(guò)程。
三線性內(nèi)插需要從查找表中讀取8個(gè)值,然后執(zhí)行7次線性內(nèi)插(第一維數(shù)需要4次,第二維數(shù)需要2次,第三維數(shù)需要1次)??梢詫?duì)中間值使用高精度,盡管輸出值只有8位。
需要的查找表的大小取決于變換的線性性。在本申請(qǐng)中每個(gè)表的推薦大小是17×17×17注1,每條目8位。一個(gè)17×17×17的表為4913字節(jié)(小于5KB)。
為了編入每維17個(gè)數(shù)值的查找表,將8位輸入顏色分量看作定點(diǎn)數(shù)(4∶4)。4比特整數(shù)作為索引,4比特分?jǐn)?shù)用于內(nèi)插。
注1盡管一個(gè)17×17×17的查找表能夠提供非常好的結(jié)果,但是也可以僅僅使用一個(gè)9×9×9的轉(zhuǎn)換表(729字節(jié))??梢酝ㄟ^(guò)模擬確定表的大小。本文選擇保守但結(jié)果明確的5K方法。
3.2.8 向上內(nèi)插現(xiàn)在,必須對(duì)中分辨率(1280寬度)CMY圖象進(jìn)行向上內(nèi)插,以得到最終打印分辨率(6400寬度)。兩個(gè)維數(shù)的精確比例都是1∶5。
盡管可以對(duì)25個(gè)值(X和Y維數(shù)均為1∶5)進(jìn)行雙線性內(nèi)括,但是不能以連續(xù)色調(diào)打印合成值。需要對(duì)結(jié)果進(jìn)行抖動(dòng),并以二值方式打印。假設(shè)將連續(xù)色調(diào)1600dpi結(jié)果變?yōu)槎秳?dòng)二值點(diǎn),則從320dpi到1600dpi的雙線性內(nèi)插的準(zhǔn)確性并不明顯(這正是選擇中分辨率的原因)。因此,象素復(fù)制生成良好結(jié)果。
象素復(fù)制僅僅包括取得一個(gè)象素,并使用該象素作為更大區(qū)域的值。此時(shí),將一個(gè)象素復(fù)制為25個(gè)象素(一個(gè)5×5塊)。如果每個(gè)象素是連續(xù)色調(diào),則結(jié)果將是塊狀的,但是由于已經(jīng)對(duì)象素進(jìn)行了抖動(dòng),所以25個(gè)合成二值點(diǎn)不具有連續(xù)色調(diào)值。圖30表示該過(guò)程。
3.2.9 半色調(diào)68打印頭2只能以二值形式打印圓點(diǎn)。因此,必須從連續(xù)色調(diào)CMY轉(zhuǎn)換為抖動(dòng)CMY圖象。更確切地說(shuō),通過(guò)使用一個(gè)隨機(jī)抖動(dòng)單元,生成一個(gè)分散的圓點(diǎn)級(jí)的抖動(dòng),其中隨機(jī)抖動(dòng)單元將連續(xù)色調(diào)CMY圖象轉(zhuǎn)換為抖動(dòng)二值CMY圖象。
比較8比特1600dpi連續(xù)色調(diào)值與抖動(dòng)單元93中的當(dāng)前位置的值。如果80比特連續(xù)色調(diào)值大于抖動(dòng)單元值,則生成一個(gè)輸出比特1。否則,生成一個(gè)輸出比特0。最終將輸出比特發(fā)送到打印頭,并控制單個(gè)噴嘴生成單個(gè)C、M、Y圓點(diǎn)。輸出比特表示是否加熱給定顏色和位置的特定噴嘴。
抖動(dòng)單元93中的相同位置可用于C、M、Y。因?yàn)閷?shí)際打印頭2在同一打印周期中生成不同行的C、M、Y圓點(diǎn)。不同顏色點(diǎn)的交錯(cuò)排列生成抖動(dòng)單元中的交錯(cuò)排列。
圖31表示半色調(diào)處理。
抖動(dòng)單元93的大小取決于輸出圓點(diǎn)的分辨率。由于我們生成1600dpi的圓點(diǎn),所以單元的大小應(yīng)大于32×32。另外,為了使處理順序與打印頭區(qū)段匹配,抖動(dòng)單元的大小最好均勻分成800(由于打印頭的每段有800點(diǎn))。
50×50的抖動(dòng)單元足以生成高質(zhì)量結(jié)果,并均勻分成800(16倍)。抖動(dòng)單元的每個(gè)條目為8比特,總共2500字節(jié)(約1.5KB)。
3.2.10 為打印機(jī)重新格式化69在發(fā)送到打印機(jī)之前,需要將所有圓點(diǎn)格式化為發(fā)送到打印頭的正確順序。必須以正確順序,如2.2.1中定義的每次24點(diǎn)的順序,將這些圓點(diǎn)發(fā)送到打印頭。
如果能夠以正確的打印順序生成這些圓點(diǎn)(即,向上內(nèi)插和抖動(dòng)功能生成正確順序的數(shù)據(jù)),則只需收集這些點(diǎn)值(每個(gè)值為1),然后以24個(gè)值為一組發(fā)送。圖32表示該過(guò)程。
通過(guò)Memjet接口15,將24比特組發(fā)送到打印頭2。
4 CPU內(nèi)核與存儲(chǔ)器4.1 CPU內(nèi)核10PCP 3安裝了一個(gè)微型控制器CPU內(nèi)核10,用于同步圖象獲取和打印圖象處理鏈,以及執(zhí)行Printcam的通用操作系統(tǒng)任務(wù),包括用戶接口??梢允褂酶鞣NCPU內(nèi)核只要具有足以執(zhí)行所需計(jì)算的處理能力,并且具有能夠快速滿足消費(fèi)者期望的控制功能的處理器即可。
由于利用專用硬件進(jìn)行圖象處理,所以CPU不需要處理象素。因此,CPU可以非常簡(jiǎn)單。然而,CPU的速度必須能夠在打印期間驅(qū)動(dòng)步進(jìn)電機(jī)(步進(jìn)電機(jī)需要5KHz處理)。例如,可以使用1MHz的飛利浦8051微型控制器。
無(wú)需保持不同Printcam型號(hào)之間的指令集的連續(xù)性。由不同廠商制造不同的PCP芯片設(shè)計(jì),而不需要許可或移植CPU核心。設(shè)備獨(dú)立性避免芯片廠商封鎖,如Intel對(duì)PC市場(chǎng)的封鎖。
與CPU內(nèi)核關(guān)聯(lián)的是程序ROM 13和小型程序擦除存儲(chǔ)器RAM14。
CPU 10通過(guò)存儲(chǔ)器映象I/O,與PCP 3內(nèi)的其他部件通信。特定地址范圍映射到特定裝置,并且在每個(gè)范圍內(nèi),映射到特定裝置內(nèi)的特定寄存器。包括并行和串行接口。
4.2 程序ROM 13將小型程序快閃ROM 13安裝到PCP 3內(nèi)。ROM的大小取決于選擇的CPU,但是應(yīng)不大于16-32KB。
4.3 程序RAM 14
同樣,將一個(gè)小型擦除RAM區(qū)域14安裝到PCP 3內(nèi)。由于程序代碼不需要處理圖象,所以不需要一個(gè)很大的擦除區(qū)域。RAM的大小取決于選擇的CPU(如,堆棧機(jī)制,子程序調(diào)用約定,寄存器大小等),但是應(yīng)不大于4KB。
4.4 CPU存儲(chǔ)器譯碼器16CPU存儲(chǔ)器譯碼器16是一個(gè)滿足CPU數(shù)據(jù)存取的簡(jiǎn)單譯碼器。該譯碼器將數(shù)據(jù)地址翻譯成內(nèi)部低速總線上的內(nèi)部PCP寄存器存取,因此,支持PCP寄存器的存儲(chǔ)器映象I/O。
5 通信接口5.1 USB串行端口接口17該接口是一個(gè)標(biāo)準(zhǔn)USB串行端口,連接到內(nèi)部芯片低速總線18。由CPU 10控制USB串行端口。串行端口向/從Printcam傳送圖象,并且在外部控制下,以DPOF(數(shù)碼打印指令格式)打印傳送的相片。
5.2 QA芯片串行接口19該接口是兩個(gè)標(biāo)準(zhǔn)低速串行端口,連接到內(nèi)部芯片低速總線18。使用兩個(gè)端口之間的CPU仲裁協(xié)議認(rèn)證打印滾筒[1,2],并執(zhí)行以下功能·獲取墨特性·獲得推薦的墨滴量·記錄打印的相紙數(shù)量,并且當(dāng)相紙不足以打印請(qǐng)求的打印格式時(shí),請(qǐng)求新的打印滾筒。
具有兩個(gè)端口的原因在于,連接到使用獨(dú)立線路的照相機(jī)上的QA芯片4和打印滾筒的QA芯片5以認(rèn)證芯片[2]的方式實(shí)現(xiàn)兩個(gè)QA芯片。如果只使用一條線路,則克隆打印滾筒廠商能夠盜用認(rèn)證機(jī)制[1]。
5.2.1 打印滾筒的QA芯片5每個(gè)打印滾筒消耗品包括其特有的QA芯片5。QA芯片包含維持最佳打印質(zhì)量所需要的信息,并且使用認(rèn)證機(jī)制[2]實(shí)現(xiàn)該芯片。按以下方式分配256位數(shù)據(jù)表13.打印滾筒的256位(16
a.只讀b.只能減少在每次打印前,由CPU檢測(cè)相紙余量,以確保足夠當(dāng)前指定的打印格式使用。在打印開(kāi)始后,由CPU減少打印滾筒的QA芯片中的相紙余量。
5.3 并行接口6并行接口6將PCP 3連接到各靜電信號(hào)。通過(guò)低速總線,CPU能夠控制作為存儲(chǔ)器映象I/O的各連接(有關(guān)存儲(chǔ)器映象I/O的細(xì)節(jié),請(qǐng)參見(jiàn)4.4一節(jié))。
表14.并行接口的連接
5.4 JTAG接口7為了進(jìn)行測(cè)試,PCP 3包括一個(gè)標(biāo)準(zhǔn)JTAG(聯(lián)合測(cè)試行動(dòng)組)接口7。由于芯片的復(fù)雜性,需要各種測(cè)試技術(shù),包括BIST(內(nèi)置的自檢測(cè))和功能塊隔離。芯片區(qū)域中10%的總開(kāi)銷用于全部芯片測(cè)試電路。
6 圖象RAM 11圖象RAM 11用于存儲(chǔ)獲取的圖象42。圖象RAM是多級(jí)快閃存儲(chǔ)器(2為/單元),以便在關(guān)閉電源后繼續(xù)保存圖象。
平面化的線性RGB圖象需要的總存儲(chǔ)量是1,500,000字節(jié)(約為1.5MB),其排列為·R750×500=375,000字節(jié)·G750×500=375,000字節(jié)·B750×1000=750,000字節(jié)由圖象獲取裝置寫(xiě)入圖象,由圖象直方圖單元8和打印生成單元99讀取該圖象。CPU 10不對(duì)圖象存儲(chǔ)器進(jìn)行直接隨機(jī)存取。它通過(guò)圖象訪問(wèn)裝置訪問(wèn)圖象象素。
7 圖象獲取單元12圖象獲取裝置包含3.1所述的圖象獲取鏈需要的所有功能性。圖象獲取裝置通過(guò)圖象傳感器接口98接受象素?cái)?shù)據(jù),通過(guò)查找表96線性化RGB數(shù)據(jù),最后,以平面格式將線性化的RGB圖象寫(xiě)到RAM中。圖33表示該過(guò)程。
7.1 圖象傳感器接口98圖象傳感器接口(ISI)98是一個(gè)狀態(tài)機(jī),為了讀取圖象,狀態(tài)機(jī)向CMOS圖象傳感器發(fā)送控制信息,包括幀同步脈沖和象素時(shí)鐘脈沖。大部分ISI可能是來(lái)自圖象傳感器廠商的源單元。由圖象獲取裝置的狀態(tài)機(jī)本身控制ISI。
7.1.1 圖象傳感器格式盡管可以使用各種圖象傳感器格式,但是我們只考慮拜爾彩色濾鏡陣列(CFA)。拜爾CFA具有許多本文定義的屬性。
假設(shè)已經(jīng)充分過(guò)濾了CMOS傳感器(通過(guò)取象透鏡)獲取的圖象,以消除鋸齒現(xiàn)象。傳感器本身的長(zhǎng)寬比為3∶2,具有1500×1000分辨率的采樣。最可能的象素結(jié)構(gòu)為拜爾彩色濾鏡陣列(CFA),其中圖15表示在2G鑲嵌面中排列的各2×2象素塊。
R、G、B(分別對(duì)應(yīng)于紅、綠、藍(lán))的各連續(xù)色調(diào)采樣是10比特。請(qǐng)注意,鑲嵌面的每個(gè)象素僅包含有關(guān)R、G、B之一的信息。必須在打印輸出前估計(jì)丟失的彩色信息。
認(rèn)為CFA執(zhí)行部分固定模式噪聲(PFN)抑制。需要附加的FPN抑制。
7.2 查找表96查找表96為ROM,后者將傳感器的RGB映射為線性RGB。它匹配3.1.2中描述的線性化RGB過(guò)程40。同樣,ROM為3KB(3×1024×8-比特)。10位地址來(lái)自ISI,而2位TableSelect是由圖象獲取裝置的狀態(tài)機(jī)97生成的。
7.3 狀態(tài)機(jī)97圖象獲取裝置的狀態(tài)機(jī)97生成圖象傳感器接口1的控制信號(hào),并且生成用于線性化RGB40和用于平面化圖象數(shù)據(jù)41的地址。
發(fā)送到ISI 98的控制信號(hào)通知ISI開(kāi)始獲取象素,停止獲取象素等。
發(fā)送到查找表96的2位地址匹配正從ISI讀取的當(dāng)前行。對(duì)于偶數(shù)行(0,2,4等),2位地址是紅、綠、紅、綠等。對(duì)于奇數(shù)行(1,3,5等),2位地址是綠、藍(lán)、綠、藍(lán)。不管照相機(jī)的方向如何,以上總是正確的。
發(fā)送到圖象RAM的21位地址是該圖象的寫(xiě)地址。三個(gè)寄存器保存紅、綠、藍(lán)平面的當(dāng)前地址。將地址增量作為象素寫(xiě)入各平面。
7.3.1 寄存器圖象獲取裝置包含許多寄存器表15.圖象獲取裝置中的寄存器
另外,圖象傳感器接口98包含許多寄存器。確切寄存器取決于選擇的圖象傳感器1。
8 圖象訪問(wèn)單元9圖象訪問(wèn)單元9生成供CPU 10訪問(wèn)ImageRAM 11中的圖象的方法。CPU 10能夠讀取ImageRAM 11中的圖象的象素,并將象素寫(xiě)入ImageRAM 11。
為了圖象存儲(chǔ)(如,通過(guò)USB)17或簡(jiǎn)單圖象處理而讀取象素。在圖象處理后,將象素寫(xiě)入ImageRAM 11,作為先前保存的圖象(通過(guò)USB加載),或者作為測(cè)試圖形的圖象。測(cè)試圖形可以是合成圖象,特定測(cè)試圖象(通過(guò)USB加載),或者是通過(guò)打印生成單元99直接加載到打印頭的24比特噴嘴加熱值。
圖象訪問(wèn)單元9是ImageRAM 11的直接訪問(wèn)機(jī)構(gòu),并且根據(jù)圖16所示的3個(gè)寄存器,其操作相當(dāng)簡(jiǎn)單。
表16.IAU寄存器
正如圖35所示,圖象訪問(wèn)裝置的結(jié)構(gòu)非常簡(jiǎn)單。
每當(dāng)CPU 10寫(xiě)入Mode寄存器時(shí),狀態(tài)機(jī)101就讀取/寫(xiě)入ImageRAM 11。
9 圖象直方圖單元8圖象直方圖單元(IHU)8的目的是生成3.2.2描述的打印圖象處理鏈需要的圖象的直方圖。IHU只生成8比特采樣的平面格式圖象的直方圖。
每個(gè)打印通常使用圖象直方圖單元8三次。生成三個(gè)不同的直方圖,每個(gè)顏色平面一個(gè)。每次收集直方圖時(shí),都要分析結(jié)果,以便確定高低閾值,比例系數(shù)等,供其他打印處理使用。有關(guān)使用直方圖的詳細(xì)信息,請(qǐng)參見(jiàn)3.2.2.2和3.2.4。
9.1 直方圖RAM 102在一個(gè)有256項(xiàng)的RAM 102中存儲(chǔ)直方圖本身,每一項(xiàng)為20位。只從IHU內(nèi)訪問(wèn)直方圖RAM。作為20位數(shù)值讀寫(xiě)每一項(xiàng)。
9.2 狀態(tài)機(jī)和寄存器103狀態(tài)機(jī)103遵循3.2.2.1中描述的偽碼。由表17所示的寄存器控制狀態(tài)機(jī)。
表17.圖象直方圖單元中的寄存器
寄存器的典型用途是,向TotalPixels提供計(jì)數(shù)中包括的總象素?cái)?shù)(如,紅色375,000),向StartAddress提供紅色平面的地址,向ClearCount提供1,并將1寫(xiě)入Go寄存器。在完成計(jì)數(shù)后,通過(guò)將0-255寫(xiě)入PixelValue然后讀取相應(yīng)的PixelCount,確定直方圖中的每個(gè)值。
10 打印頭接口105PCP 3利用打印頭接口(PHI)105向Memjet打印頭2加載需要打印的點(diǎn),并控制實(shí)際的點(diǎn)打印過(guò)程。PHI是許多裝置的邏輯封裝·Memjet接口(MJI)15,該裝置向Memjet打印頭傳送數(shù)據(jù),并且在打印期間控制噴嘴加熱順序。
·打印生成單元(PGU)99,該單元實(shí)現(xiàn)第24頁(yè)上3.2中描述的大部分打印鏈,并提供生成測(cè)試圖形的裝置。PGU從ImageRAM 11取出平面化的線性RGB,并且實(shí)時(shí)生成Memjet接口15需要的1600dpi的抖動(dòng)CMY圖象,其中平面化的線性RGB是從CFA格式獲取的圖象得到的。另外,PGU具有測(cè)試圖形模式,該模式允許CPU 10精確確定需要在打印期間加熱的噴嘴。
由CPU編程的許多寄存器控制PHI內(nèi)的單元。
圖37表示打印頭接口的內(nèi)部結(jié)構(gòu)。
10.1 Memjet接口15Memjet接口(MJI)15將PCP連接到外部Memjet打印頭,用于提供數(shù)據(jù)和適當(dāng)信號(hào),以便控制打印期間噴嘴的加載和加熱順序。
Memjet接口15只是一個(gè)狀態(tài)機(jī)106(見(jiàn)圖38),該狀態(tài)機(jī)遵循2.2中描述的打印頭加載和加熱次序,并且包括2.4.1和2.4.2中描述的預(yù)熱周期和清潔周期的功能性。
MJI 15向從以下兩個(gè)數(shù)據(jù)源中選擇的打印頭加載數(shù)據(jù)·全1。意味著在隨后的打印周期中所有噴嘴將加熱,這是為預(yù)熱或清潔周期加載打印頭的標(biāo)準(zhǔn)機(jī)制。
·PGU 99的Transfer(傳送)寄存器中保存的24位輸入。這是打印圖象的標(biāo)準(zhǔn)方法,無(wú)論是拍攝的相片還是測(cè)試圖形。將PGU中的24位值直接發(fā)送到打印頭,然后向PGU發(fā)送1位“Advance(前進(jìn))”控制脈沖。在每行的結(jié)尾,向PGU發(fā)送1位“AdvanceLine(前進(jìn)一行)”脈沖。
必須在PGU 99準(zhǔn)備好第一個(gè)24位傳送值后,啟動(dòng)MJI 15。只有這樣,第一次傳送到打印頭的24位數(shù)據(jù)輸入才有效。
因此,直接將MJI 15連接到打印生成單元99和外部打印頭2。圖38表示其基本結(jié)構(gòu)。
101.1 打印頭的連接MJI 15到打印頭2的連接如下表所示,連接用于讀取有關(guān)MJI 15的輸入和輸出。名稱匹配打印頭上的引線連接(見(jiàn)第2節(jié))。
圖18.打印頭連接
10.1.2 加熱脈沖持續(xù)時(shí)間AEnable和BEnable上的加熱脈沖的持續(xù)時(shí)間取決于墨的粘性(取決于溫度和墨特性)以及打印頭使用的功率。典型脈沖持續(xù)時(shí)間為1.3到1.8μs。因此,MJI包含一個(gè)可編程脈沖持續(xù)時(shí)間表,利用打印頭的反饋?zhàn)鳛樗饕?。脈沖持續(xù)時(shí)間表允許使用低成本電源,并且有助于保持更精確的墨滴噴射。
脈沖持續(xù)時(shí)間表有256項(xiàng),利用當(dāng)前的Vsense和Tsense設(shè)置作為索引。地址的前4位來(lái)自Vsense,地址的低4位來(lái)自Tsense。每一項(xiàng)為8位,并且表示0-4μs范圍內(nèi)的定點(diǎn)值。圖39表示生成AEnable和BEnable線路的過(guò)程。
在打印相片前,由CPU 10寫(xiě)入256字節(jié)的脈沖持續(xù)時(shí)間表。表中的每個(gè)8位脈沖持續(xù)時(shí)間項(xiàng)組合·亮度設(shè)置·墨的粘性曲線(來(lái)自QA芯片)5·Rsense·Wsense·Tsense·Vsense10.1.3 點(diǎn)數(shù)MJI 15保持從打印頭2噴射的每種顏色的點(diǎn)數(shù)。每種顏色的點(diǎn)數(shù)是一個(gè)32位值,在處理器的控制下單獨(dú)清除。每個(gè)點(diǎn)數(shù)可以保持69個(gè)6英寸打印的最大平均點(diǎn)數(shù),盡管在典型使用中,在每次打印后讀取并清除點(diǎn)數(shù)。
在最初的Printcam產(chǎn)品中,消耗品包括相紙和墨,可以想象,不同Printcam型號(hào)只有可更換墨的消耗品。最初的Printcam產(chǎn)品遞減以毫米為單位的相紙的余量(在QA芯片5中存儲(chǔ),見(jiàn)5.2),以確定相紙是否足夠打印所需格式。墨足以覆蓋提供的所有相紙。在其他Printcam產(chǎn)品中,CPU 10使用點(diǎn)數(shù)更新QA芯片5,以便預(yù)測(cè)墨盒何時(shí)用完墨。處理器從QA芯片5中了解墨盒中C、M、Y的墨量。通過(guò)計(jì)算墨滴數(shù),無(wú)需使用墨傳感器,并且防止墨通道變干。在每次打印后,將更新的墨滴數(shù)寫(xiě)入QA芯片5。如果墨不足,則不打印新相片,并允許用戶更換墨,從而用戶不會(huì)得到一張需要重新打印的無(wú)用相片。
圖40表示青色點(diǎn)數(shù)計(jì)數(shù)器的布局。其他兩個(gè)點(diǎn)數(shù)計(jì)數(shù)器(用于品紅的MdotCount和用于黃色的YDotCount)具有相同結(jié)構(gòu)。
10.1.4 寄存器CPU 10通過(guò)寄存器組與MJI 15通信。寄存器允許CPU用參數(shù)表示打印機(jī),并接收有關(guān)打印進(jìn)展的反饋。
MJI包含以下寄存器表19.Memjet接口寄存器
MJI的Status寄存器是一個(gè)帶位翻譯的16位寄存器。
表20.MJI狀態(tài)寄存器
10.1.5 預(yù)熱和清潔周期通過(guò)設(shè)置適當(dāng)?shù)募拇嫫?,完成清潔和預(yù)熱周期。
·SetAllNozzles=1·將PulseDuration寄存器設(shè)置為低持續(xù)時(shí)間(在預(yù)熱模式中),或設(shè)置為合適的墨滴噴射持續(xù)時(shí)間(對(duì)于清潔模式)。
·將NumberLines設(shè)置為噴嘴的加熱次數(shù)。
·設(shè)置Go位,然后等待打印周期結(jié)束時(shí)清除Go位。
10.2 打印生成單元99打印生成單元(PGU)99實(shí)現(xiàn)3.2中描述的打印鏈的大部分功能,并提供生成測(cè)試圖形的裝置。
從最簡(jiǎn)單的觀點(diǎn)看,PGU提供圖象RAM 11和Memjet接口15之間的接口,如圖41所示。PGU從ImageRAM中取出平面化的線性RGB,并且實(shí)時(shí)生成Memjet接口需要的1600dpi的抖動(dòng)CMY圖象,其中平面化的線性RGB是從CFA格式獲取的圖象得到的。另外,PGU99具有測(cè)試圖形模式,該模式允許CPU 10精確確定需要在打印期間加熱的噴嘴。在使用24位值后,MJI 15向PGU 99提供一個(gè)Advance脈沖,并且在行結(jié)束時(shí)提供一個(gè)AdvanceLine脈沖。
PGU 99具有兩個(gè)圖象處理鏈。第一個(gè)處理鏈?zhǔn)菧y(cè)試圖形模式,直接讀取圖象RAM 11中的數(shù)據(jù),然后在緩沖器中格式化該數(shù)據(jù)以輸出到MJI。第二個(gè)處理鏈包括大部分打印鏈功能(見(jiàn)3.2)。圖18所示的打印鏈包括以下功能·收集統(tǒng)計(jì)數(shù)字60·旋轉(zhuǎn)圖象61·白平衡62·范圍擴(kuò)展63·重新采樣64·銳化65·轉(zhuǎn)換為CMY 66·向上內(nèi)插67·半色調(diào)68·為打印機(jī)重新格式化69PGU 99包含除收集統(tǒng)計(jì)數(shù)字60之外的所有功能。為了執(zhí)行收集統(tǒng)計(jì)數(shù)字步驟,CPU 10調(diào)用圖象直方圖單元8三次(每個(gè)顏色信道一次),并應(yīng)用某些簡(jiǎn)單算法。其余功能屬于PGU 99,原因在于精度和速度關(guān)于精度,以高精度保存整幅圖象需要太多存儲(chǔ)器,關(guān)于速度,一個(gè)簡(jiǎn)單CPU不能滿足Memjet打印頭2的實(shí)時(shí)高速要求。
PGU 99將許多參數(shù)作為輸入,參數(shù)包括RGB到CMY的轉(zhuǎn)換表,執(zhí)行白平衡和范圍擴(kuò)展的常數(shù),重新采樣的比例系數(shù),以及用于旋轉(zhuǎn)的圖象訪問(wèn)參數(shù)。
圖20表示兩個(gè)處理鏈。最直接的處理鏈通過(guò)測(cè)試圖形訪問(wèn)處理110從圖象RAM 11到緩沖器5。另一個(gè)處理鏈包括5個(gè)并行運(yùn)行處理。第一處理111執(zhí)行圖象旋轉(zhuǎn)、白平衡和范圍擴(kuò)展。第二處理112執(zhí)行重新采樣。第三處理65執(zhí)行銳化,第四處理66執(zhí)行顏色轉(zhuǎn)換。最后一個(gè)處理113執(zhí)行向上內(nèi)插、半色調(diào)處理,并且為打印機(jī)重新格式化。通過(guò)緩沖器連接上述處理,某些處理之間只需幾個(gè)字節(jié),而其他處理需要幾K字節(jié)。
由于打印頭的定時(shí)驅(qū)動(dòng)所有處理,所以主要以逆序考慮上述處理。特定處理的定時(shí)和緩沖器大小需求比較明顯。總之,表21表示緩沖器大小。
表21.打印生成單元的緩沖器大小
除許多寄存器之外,某些處理還需要大量查找表或存儲(chǔ)元件。表22概括說(shuō)明這些需求。
表22.PGU處理內(nèi)的存儲(chǔ)器需求
10.2.1 測(cè)試圖形訪問(wèn)測(cè)試圖形訪問(wèn)處理110是生成測(cè)試圖形的裝置。在正常用戶環(huán)境中,不使用該處理。該處理主要用于診斷。
測(cè)試圖形訪問(wèn)110讀取圖象RAM 11,然后將8位值直接傳送到緩沖器5 118,以輸出到Memjet接口。它不對(duì)8位值做任何修改。CPU10通過(guò)使用圖象訪問(wèn)單元9生成圖象RAM 11中的數(shù)據(jù)。
以環(huán)繞方式讀取圖象RAM 11中的數(shù)據(jù)。使用兩個(gè)寄存器來(lái)描述測(cè)試數(shù)據(jù)第一字節(jié)的起始地址和字節(jié)數(shù)。當(dāng)達(dá)到數(shù)據(jù)結(jié)束時(shí),再次從頭開(kāi)始讀取數(shù)據(jù)。
圖43表示測(cè)試圖形訪問(wèn)裝置110的結(jié)構(gòu)。
正如從圖43中看到的那樣,測(cè)試圖形訪問(wèn)裝置110與地址生成器119沒(méi)有區(qū)別。啟動(dòng)時(shí),對(duì)于每個(gè)AdvanceLine信號(hào),生成器讀取3個(gè)字節(jié),生成一個(gè)TransferWriteEnable脈沖,讀取下3個(gè)字節(jié),然后等待Advance脈沖。在Advance脈沖中,提供TransferWriteEnable脈沖,讀取下3個(gè)字節(jié),然后再次等待。繼續(xù)上述處理直至AdvanceLine脈沖,其中在該脈沖上,處理再次從當(dāng)前地址開(kāi)始。
關(guān)于讀取3個(gè)字節(jié),地址生成器119只需從圖象RAM 11中讀取三個(gè)8位值,然后將其寫(xiě)入緩沖器5 118中。將第一個(gè)8位值寫(xiě)入緩沖器5的8位地址0,將第二個(gè)寫(xiě)入緩沖器5的8位地址1,將第三個(gè)寫(xiě)入緩沖器5的8位地址2。然后,地址生成器119等待Advance脈沖,以便再次進(jìn)行相同處理。
為圖象RAM 11生成的地址基于表23所示的起始地址和字節(jié)數(shù)。
表23.測(cè)試圖形訪問(wèn)寄存器
以下偽碼表示地址生成。未示出AdvanceLine和Advance脈沖。
<pre listing-type="program-listing"><![CDATA[Do Forever Adr=DataStart Remaining=DataLength Read Adr into Buffer 5(0),Adr=Adr+1 Read Adr into Buffer 5(1),Adr=Adr+1 Read Adr into Buffer 5(2),Adr=Adr+1 Remaining=Remaining-1 if(Remaining=0) Remaining=DataLenghtEndDo]]></pre>由CPU 10確保該數(shù)據(jù)對(duì)打印頭2有意義。字節(jié)0是8個(gè)青色段的噴嘴加熱數(shù)據(jù)(位0=段0等),字節(jié)1用于品紅,字節(jié)2用于黃色。另一組24位數(shù)據(jù)用于用水平線分割的奇數(shù)/偶數(shù)象素。
10.2.2 緩沖器5 118緩沖器5 118保持整個(gè)打印生成處理生成的圓點(diǎn)。緩沖器5包括一個(gè)24位移位寄存器,用于保持每次從UHRU 113(向上內(nèi)插、半色調(diào)和重新格式化裝置)生成的圓點(diǎn);3個(gè)8位寄存器,用于保持從TPAU(測(cè)試圖形訪問(wèn)裝置)生成的數(shù)據(jù);和一個(gè)24位寄存器,作為傳送到MJI(Memjet接口)的數(shù)據(jù)的緩沖器。來(lái)自MJI的Advance脈沖向24位Transfer(傳送)寄存器加載全部24位數(shù)據(jù),或者從3個(gè)8位寄存器或從一個(gè)24位移位寄存器。
因此,緩沖器5作為所生成的圓點(diǎn)的雙重緩沖機(jī)制,并且具有圖44所示的結(jié)構(gòu)。
10.2.3 緩沖器4 117緩沖器4 117保持計(jì)算的CMY中分辨率(1280分辨率)連續(xù)色調(diào)圖象。緩沖器4是由顏色轉(zhuǎn)換處理66生成的,由向上內(nèi)插、半色調(diào)和重新格式化處理113訪問(wèn),以生成打印機(jī)的輸出點(diǎn)。
連續(xù)色調(diào)緩沖器的大小取決于打印頭上的噴嘴之間的物理距離。在生成某一物理行的一種顏色的圓點(diǎn)時(shí),生成不同行上不同顏色的圓點(diǎn)。實(shí)際結(jié)果是打印機(jī)一次打印6行不同的物理行—不同輸出行的奇偶點(diǎn),以及每種顏色的不同行。2.1.1解釋此概念并定義以上距離。
實(shí)際結(jié)果是,在高分辨率圓點(diǎn)中,從偶數(shù)青色圓點(diǎn)通過(guò)品紅色圓點(diǎn)到黃色圓點(diǎn)是已知距離。為了最小化RGB的生成,從而最小化CMY的生成,在緩沖器4中緩沖生成高分辨率圓點(diǎn)的中分辨率連續(xù)色調(diào)象素。
由于中分辨率行與高分辨率行的比例是1∶5,所以在每個(gè)維數(shù)上對(duì)各中分辨率采樣5次。對(duì)緩沖器行而言,我們僅關(guān)心1個(gè)維數(shù),因此,僅考慮來(lái)自一個(gè)象素行的5行圓點(diǎn)。不同顏色的噴嘴之間的距離是4-8點(diǎn)(取決于Memjet參數(shù))。因此,假設(shè)為8點(diǎn),則內(nèi)含距離為16點(diǎn)或17點(diǎn)間距。最壞情況是,17行圓點(diǎn)包括給定象素行的上一行圓點(diǎn)。這意味著5行象素,生成的圓點(diǎn)行為1,5,5,5,1,并且允許將噴嘴間隔增加到10。
為了保證緩沖器的連續(xù)色調(diào)生成處理寫(xiě)入過(guò)程不干擾緩沖器的點(diǎn)生成處理讀取過(guò)程,額外添加每種顏色的中分辨率行,每種顏色共計(jì)6行。
因此,連續(xù)色調(diào)緩沖器為6行3色,每行包含1280個(gè)8比特連續(xù)色調(diào)值。需要的總存儲(chǔ)量為3×6×1280=23040字節(jié)(22.5KB)。存儲(chǔ)器只需要每周期讀出一個(gè)8比特值,每25個(gè)周期寫(xiě)入一個(gè)8比特值(每個(gè)連續(xù)色調(diào)象素讀25次)。圖45表示緩沖器4的結(jié)構(gòu)。
可以將緩沖器4實(shí)現(xiàn)為以打印頭點(diǎn)生成處理的額定速度運(yùn)行的單周期雙存取(讀和寫(xiě))RAM,或者實(shí)現(xiàn)為比每周期一次讀/寫(xiě)快4%的RAM。
在開(kāi)始打印處理前,將緩沖器4設(shè)置為空白(全0)。
10.2.4 向上內(nèi)插、半色調(diào)和為打印機(jī)重新格式化盡管3.2.8、3.2.9和3.2.10分別將向上內(nèi)插、半色調(diào)和為打印任務(wù)重新格式化任務(wù)113定義為獨(dú)立任務(wù),但是在PCP 3的硬件實(shí)現(xiàn)中,作為單一處理實(shí)現(xiàn)。
向上內(nèi)插、半色調(diào)和重新格式化裝置(UHRU)113的輸入為連續(xù)色調(diào)緩沖器(緩沖器4)117,包括預(yù)先計(jì)算的CMY 1280分辨率(中分辨率)圖象。輸出是一組需要發(fā)送到Memjet接口15的具有正確順序的24位值,以便通過(guò)緩沖器5 118輸出到打印頭。以每次一位的方式生成24位輸出,并發(fā)送到緩沖器5 118中的24位移位寄存器。
利用來(lái)自MJI 15的Advance和AdvanceLine信號(hào)控制以上處理。當(dāng)UHRU 113啟動(dòng)時(shí),并且在各AdvanceLine脈沖后,生成24位值,然后利用ShiftWriteEnable信號(hào)按照時(shí)鐘信號(hào)寫(xiě)入緩沖器5的24位移位寄存器。在寫(xiě)入第24位后,提供TransferWriteEnable脈沖,然后生成下24位。此后,UHRU 113等待來(lái)自MJI的Advance脈沖。當(dāng)Advance脈沖到達(dá)時(shí),向緩沖器5 118提供TransferWriteEnable脈沖,并且在再次等待前計(jì)算下24位。實(shí)際上,在提供第一個(gè)Advance脈沖后,開(kāi)始同步,此后每24個(gè)周期出現(xiàn)一個(gè)Advance脈沖。
圖46表示向上內(nèi)插、半色調(diào)和重新格式化處理。
利用簡(jiǎn)單的8位無(wú)符號(hào)比較器120執(zhí)行半色調(diào)任務(wù)。比較器的兩個(gè)輸入來(lái)自交錯(cuò)抖動(dòng)單元121和緩沖器4 117。由地址生成狀態(tài)機(jī)122確定向無(wú)符號(hào)比較器120提供上述值的順序,狀態(tài)機(jī)122確保進(jìn)入1280分辨率圖象的地址與打印頭需要的面向段的順序匹配。因此,地址生成狀態(tài)機(jī)122執(zhí)行向上內(nèi)插和為打印機(jī)重新格式化任務(wù)。通過(guò)正確尋址連續(xù)色調(diào)緩沖器(緩沖器4)117,并確保比較器120使用來(lái)自抖動(dòng)單元121的正確查找表匹配交錯(cuò)地址,實(shí)現(xiàn)重新格式化,而不僅僅是每次以高分辨率訪問(wèn)一整行,然后根據(jù)打印機(jī)查找需求重新格式化該行(見(jiàn)3.2.10中的說(shuō)明)。
半色調(diào)任務(wù)與3.2.9說(shuō)明的處理相同。然而,由于點(diǎn)輸出是按照打印頭的正確順序生成的,所以選擇抖動(dòng)單元121的大小,以便平均分成800。因此,某一段的抖動(dòng)單元中的給定位置與剩余7段(的抖動(dòng)單元中的給定位置)相同。一個(gè)50×50的抖動(dòng)單元能夠提供令人滿意的結(jié)果。正如3.2.9中所述,由于同時(shí)生成各種顏色的不同行,所以不同顏色可以使用抖動(dòng)單元中的相同位置。因此,抖動(dòng)單元的尋址很簡(jiǎn)單。我們從交錯(cuò)排列的抖動(dòng)單元中的特定行(如,0行)開(kāi)始。使用的第一個(gè)抖動(dòng)單元條目是條目0。使用該條目24次(24個(gè)周期)以生成全部8段的3種顏色,然后前進(jìn)到0行的條目1。在條目49后,返回到條目0。對(duì)全部19,200個(gè)周期繼續(xù)上述處理,以生成19,200個(gè)點(diǎn)。然后,半色調(diào)裝置停止并等待AdvanceLine脈沖,該脈沖使地址生成器前進(jìn)到抖動(dòng)單元中的下一行。
稱為交錯(cuò)抖動(dòng)單元121的原因在于,它與正常抖動(dòng)單元的區(qū)別在于交錯(cuò)奇數(shù)行和偶數(shù)行。這是因?yàn)槲覀兩刹煌猩系钠鏀?shù)和偶數(shù)象素(從象素0開(kāi)始),并且使地址生成器122免于在24個(gè)象素的交替集合上前進(jìn)到下一行,然后再返回。圖25表示一個(gè)簡(jiǎn)單抖動(dòng)單元93,以及將其映射到相同大小的交錯(cuò)抖動(dòng)單元121的方法。請(qǐng)注意,為了確定給定位置的“奇數(shù)性”,我們給指定行0、1、2等中的象素編號(hào)。
比較(無(wú)符號(hào))來(lái)自緩沖器4 117的8位值與來(lái)自交錯(cuò)抖動(dòng)單元121的8位值。如果緩沖器4的象素值大于等于抖動(dòng)單元值,則將“1”比特輸出到緩沖器5 118的移位寄存器。否則,將“0”比特輸出到緩沖器5的移位寄存器。
為了對(duì)19,200個(gè)連續(xù)色調(diào)象素進(jìn)行半色調(diào)處理,必須讀入19,200個(gè)連續(xù)色調(diào)象素。地址生成單元122執(zhí)行此項(xiàng)任務(wù),生成進(jìn)入緩沖器4 117的地址,有效實(shí)現(xiàn)向上內(nèi)插任務(wù)。為讀取緩沖器4而生成地址的過(guò)程比生成抖動(dòng)單元的地址的過(guò)程稍微復(fù)雜一些,但并不很復(fù)雜。
在寫(xiě)入緩沖器的第一行后,為讀取緩沖器4的地址生成才開(kāi)始。緩沖器4的剩余行為0,因此,實(shí)際上是白色(沒(méi)有打印點(diǎn))。
6行輸出的每一行具有一個(gè)存儲(chǔ)整數(shù)和分?jǐn)?shù)部分的寄存器。使用寄存器的整數(shù)部分選擇要讀取哪個(gè)寄存器,以便有效地向上內(nèi)插特定顏色的奇數(shù)和偶數(shù)象素的顏色。使用3個(gè)象素計(jì)數(shù)器保存段0內(nèi)的當(dāng)前位置,使用一個(gè)臨時(shí)計(jì)數(shù)器P_ADR(象素地址)來(lái)偏移剩余7段。
總而言之,讀取緩沖器4的地址生成需要表24所示的寄存器。
表24.讀取緩沖器4需要的寄存器
6個(gè)緩沖器行寄存器的初值是噴嘴之間的物理點(diǎn)距離(切記分?jǐn)?shù)部分除以5的余數(shù))。例如,如果利用1點(diǎn)隔離某種顏色的奇數(shù)和偶數(shù)輸出點(diǎn),并且利用8點(diǎn)隔離一種顏色的噴嘴與下一種顏色的噴嘴,則初值如表25中“第一行”一欄所示。在生成每組19,200個(gè)圓點(diǎn)后,這些計(jì)數(shù)器必須增加1分?jǐn)?shù)部分,表示我們沿垂直維數(shù)對(duì)各象素采樣5次。表25的“第二行”一欄表示結(jié)果值。請(qǐng)注意,5:4+1=0:0,因?yàn)橹挥?個(gè)緩沖器行數(shù)。
表25.6個(gè)緩沖器行寄存器的初始設(shè)置和第二行的值
接著,6個(gè)緩沖器行寄存器確定讀取哪個(gè)緩沖器行用于指定顏色的奇數(shù)和偶數(shù)象素。為了確定從緩沖器4的特定行中讀取哪些1280中分辨率的象素,我們使用3個(gè)象素地址計(jì)數(shù)器(每種顏色一個(gè)),和一個(gè)臨時(shí)計(jì)數(shù)器(P_ADR),后者作為各段的索引。每一段與下一段的間隔是800點(diǎn)。在中分辨率象素中,該距離為160。由于800能夠被5整除,所以只需使用3個(gè)象素地址計(jì)數(shù)器的整數(shù)部分。我們生成偶數(shù)青色象素的8個(gè)地址,然后生成偶數(shù)品紅色象素的8個(gè)地址,最后生成黃色偶數(shù)象素的8個(gè)地址。接著,對(duì)奇數(shù)青、品紅和黃色象素進(jìn)行相同處理。將兩組24位值(24個(gè)偶數(shù)和24個(gè)奇數(shù))的處理執(zhí)行400次。然后,將象素地址計(jì)數(shù)器(X_P_ADR)復(fù)位到0,并使6個(gè)緩沖器行寄存器前進(jìn)。每前進(jìn)5行,下一個(gè)緩沖器行立即變?yōu)榭臻e,并且可以更新(通過(guò)轉(zhuǎn)換為CMY)。表示26以簡(jiǎn)單形式列出上述步驟。
表26.讀取緩沖器4的地址生成處理
以下列出用于生成緩沖器4 117的地址的偽碼。請(qǐng)注意,以步驟的順序集合方式列出偽碼。表26能夠更好地表示地址生成操作的并行性質(zhì)。
<pre listing-type="program-listing"><![CDATA[ %Calculate start positions CyanEven=0:0 CyanOdd=CyanEven+0:1 MagentaEven=CyanOdd+1:3 MagentaOdd=MagentaEven+0:1 YellowEven=MagentaOdd+1:3 YellowOdd=Y(jié)ellowEven+0:1 Do N times(depend on print size) Cyan_P_ADR=0 Magenta_P_ADR=0 Yellow_P_ADR=0 Do 400 times %generate the even pixels for the first set of 24 bits P_ADR=Integer portion of Cyan_P_ADR Cyan_P_ADR+=0:1 Do 8 times ReadBuffer4(line=CyanEven,pixel=P_ADR)P_ADR+=160 EndDo P_ADR=Integer portion of Magenta_P_ADR Magenta_P_ADR+=0:1 Do 8 times ReadBuffer4(line=MagentaEven,pixel=P_ADR) P_ADR+=160 EndDo P_ADR=Integer portion of Yellow_P_ADR Yellow_P_ADR+=0:1 Do 8 times ReadBuffer4(line=Y(jié)ellowEven,pixel=P_ADR) P_ADR+=160 EndDo ?。enerate the odd pixels for the first set of 24 bits P_ADR=Integer portion of Cyan_P_ADR Cyan_P_ADR+=0:1 Do 8 times ReadBuffer4(line=CyanOdd,pixel=P_ADR) P_ADR+=160 EndDo P_ADR=Integer portion of Magenta_P_ADR Magenta_P_ADR+=0:1 Do 8 times ReadBuffer4(line=MagentaOdd,pixel=P_ADR) P_ADR+=160 EndDo P_ADR=Integer portion of Yellow_P_ADRYellow_P_ADR+=0:1 Do 8 times ReadBuffer4(line=Y(jié)ellowOdd,pixel=P_ADR) P_ADR+=160 EndDo %Now can advance to next″line″ CyanEven+=0:1 CyanOdd+=0:1 MagentaEven+=0:1 MagentaOdd+=0:1 YellowEven+=0:1 YellowOdd+=0:1 EndDoEndDo]]></pre>10.2.5 緩沖器3 116緩沖器3是8比特R、G、B值的簡(jiǎn)單集合。這些RGB值為銳化處理65生成的銳化后的中分辨率(1280分辨率)象素,轉(zhuǎn)換為CMY處理66讀取這些值。
不需要使緩沖器3 116加倍。原因在于讀(轉(zhuǎn)換為CMY)處理66只需要前39個(gè)周期的RGB值,而寫(xiě)(銳化)處理65使用實(shí)際更新RGB值前的49個(gè)周期。
10.2.6 轉(zhuǎn)換為CMY 66正如3.2.7所述,在中分辨率空間(1280分辨率)中執(zhí)行從RGB到CMY的轉(zhuǎn)換。
轉(zhuǎn)換處理66必須以足以跟上向上內(nèi)插-半色調(diào)-重新格式化處理113的速度,生成連續(xù)色調(diào)緩沖器象素(緩沖器4)117。由于每個(gè)連續(xù)色調(diào)值用于25個(gè)周期(沿x和y維數(shù)各5次)所以轉(zhuǎn)換處理占用25個(gè)周期。三個(gè)顏色分量共需75個(gè)周期。
此處說(shuō)明的處理每顏色分量只需14個(gè)周期,并且在39個(gè)周期后釋放輸入的RGB值。如果實(shí)現(xiàn)該處理的邏輯訪問(wèn)輸入RGB值的周期多余49個(gè)周期,則必須使緩沖器3 116加倍,因?yàn)殇J化處理65需要的該時(shí)刻后更新緩沖器。
以三線性內(nèi)插方式實(shí)現(xiàn)轉(zhuǎn)換。轉(zhuǎn)換處理使用三個(gè)17×17×17查找表RGB到青色90,RGB到品紅91,以及RGB到黃色92。然而,由于需要25個(gè)周期執(zhí)行個(gè)三線性內(nèi)插,因此,不需要快速三線性內(nèi)插裝置。而調(diào)用線性內(nèi)插處理130 8次就足夠了。
用于查找表索引的地址生成很簡(jiǎn)單。我們使用8位顏色分量的4個(gè)最高有效位作為地址生成,8位顏色分量的4個(gè)最低有效位用于從轉(zhuǎn)換表檢索的數(shù)值之間的內(nèi)插。由于查找表的維數(shù)是17而不是16,所以查找表的尋址需要一個(gè)加法器。幸運(yùn)的是,將一個(gè)4比特?cái)?shù)X乘以17得到一個(gè)8比特?cái)?shù)XX,因此,不需要加法器或乘法器,將一個(gè)4比特?cái)?shù)乘以172(289)稍微復(fù)雜一些,需要一次加法。
盡管可以更快地執(zhí)行內(nèi)插,但是我們使用一個(gè)加法器生成地址,并且有一個(gè)單周期內(nèi)插裝置。因此,正如表27所示,我們能夠計(jì)算在14個(gè)周期內(nèi)根據(jù)RGB生成單一顏色分量的內(nèi)插。為了生成青、品紅和黃色分量,需要將該處理重復(fù)3次。更快的方法也是可行的,但沒(méi)有必要。
表27.用于顏色轉(zhuǎn)換的三線性內(nèi)插
正如表27所示,使用一個(gè)ADR寄存器和加法器生成查找表的地址??梢允褂?組8位寄存器保存中間結(jié)果—2個(gè)寄存器保存從查找表中加載的值,4個(gè)寄存器用于內(nèi)插裝置的輸出。請(qǐng)注意,線性內(nèi)插裝置的輸入總是一對(duì)8位寄存器P1/P2,P3/P4和P5/P6。目的是簡(jiǎn)化寄存器選擇邏輯。在周期14中,“V”寄存器131保存最后計(jì)算的8位值??梢栽谙乱粋€(gè)周期中,將8位結(jié)果寫(xiě)入緩沖器4 117中的適當(dāng)位置。
圖48表示轉(zhuǎn)換為CMY處理66的框圖。
假設(shè)第一次運(yùn)行該處理生成青色,將合成的青色連續(xù)色調(diào)象素存儲(chǔ)到青色1280中分辨率連續(xù)色調(diào)緩沖器中。然后在相同RGB輸入上再次進(jìn)行處理以生成品紅色象素。將品紅色連續(xù)色調(diào)象素存儲(chǔ)到品紅色1280中分辨率連續(xù)色調(diào)緩沖器中。最后,根據(jù)相同的RGB輸入生成黃色連續(xù)色調(diào)象素。將生成的黃色象素存儲(chǔ)到黃色1280中分辨率連續(xù)色調(diào)緩沖器中。
用于寫(xiě)入連續(xù)色調(diào)緩沖器(緩沖器4)117的地址生成很簡(jiǎn)單。使用一個(gè)地址(和附隨的ColorSelect位)寫(xiě)入三個(gè)顏色緩沖器的每個(gè)緩沖器中。在周期15上寫(xiě)入青色緩沖器,在周期30上寫(xiě)入品紅色緩沖器,在周期45上寫(xiě)入黃色緩沖器。每75個(gè)周期(在寫(xiě)入三種顏色后)將象素地址加1。每5個(gè)AdvanceLine脈沖,正在寫(xiě)入的行加1(環(huán)繞)。正在寫(xiě)入的行的順序?yàn)?-1-2-3-4-5-0-1-2-3等。因此,寫(xiě)入(25×1280×3)與讀取(19200×5)衡消。
10.2.7 緩沖器2 115緩沖器2接受重新采樣-創(chuàng)建亮度(CreateLuminance)處理112的輸出,其中在處理112中生成給定象素坐標(biāo)的全部RGB和L象素。緩沖器2 115的輸出進(jìn)入銳化處理65,該處理需要一個(gè)3×3的亮度值135,后者以正在銳化的象素為中心。
因此,在銳化處理65中,需要訪問(wèn)3×3的亮度值,以及中心亮度象素的對(duì)應(yīng)RGB值136。同時(shí),重新采樣-創(chuàng)建亮度處理112必須計(jì)算下三個(gè)亮度值以及對(duì)應(yīng)的RGB中心值。圖49表示訪問(wèn)緩沖器1 115的邏輯視圖。
緩沖器2 115的實(shí)際實(shí)現(xiàn)只是一個(gè)4×6(24項(xiàng))的8位RAM,有關(guān)讀寫(xiě)的尋址提供這些值的有效移位??梢詫?比特的列計(jì)數(shù)器加1(環(huán)繞)以提供循環(huán)緩沖器,這等價(jià)于將整個(gè)緩沖器的數(shù)據(jù)移動(dòng)1列。我們不需要第四列RGB數(shù)據(jù)這一事實(shí)沒(méi)有什么意義,并且只使用3個(gè)字節(jié),因此無(wú)需實(shí)現(xiàn)復(fù)雜的移位和讀/寫(xiě)邏輯。在給定周期中,可以讀寫(xiě)RAM。讀寫(xiě)處理具有75個(gè)周期,在75個(gè)周期內(nèi)實(shí)現(xiàn)讀寫(xiě)以便跟上打印頭。
10.2.8 銳化銳化裝置65執(zhí)行3.2.5說(shuō)明的銳化任務(wù)。由于在緩沖器3 116中存儲(chǔ)銳化后的RGB象素,所以銳化裝置65必須跟上轉(zhuǎn)換為CMY處理66,這意味著必須在75個(gè)周期內(nèi)銳化全部RGB象素。
正如第35頁(yè)上3.2.6.2部分表12說(shuō)明的那樣,銳化處理包括L(根據(jù)RGB數(shù)據(jù)生成的信道并存儲(chǔ)在緩沖器2中)的一個(gè)高通過(guò)濾器,并且將過(guò)濾后的L添加到RGB分量中。如圖50所示,使用的高通過(guò)濾器是一個(gè)使用3×3卷積內(nèi)核的基礎(chǔ)高通過(guò)濾器。
在10個(gè)周期上計(jì)算高通過(guò)濾器。第一周期向臨時(shí)寄存器140加載8×中心象素值(中心象素左移3位)。下8個(gè)周期用基數(shù)0減去剩余的8個(gè)象素值。因此可以用一個(gè)加法器完成整個(gè)過(guò)程。周期10包括將結(jié)果乘以常數(shù)141。以上常數(shù)表示1/9,但是是一個(gè)寄存器,可以利用軟件按一定比例系數(shù)修改以上常數(shù)。
然后,將總量加到R、G、B值(上限為255),并且在周期72、73和74內(nèi),寫(xiě)入緩沖器3。在75個(gè)周期的最后3個(gè)周期內(nèi)計(jì)算/寫(xiě)入銳化后的RGB值,從而無(wú)需使緩沖器3加倍。
圖51表示銳化裝置的結(jié)構(gòu)。
與緩沖器2 115相連的加法器142是一個(gè)以0為基數(shù)的減法器。在周期0(共75個(gè))期間,向TMP 140加載8×第一L值,然后從中減去下8個(gè)L值。其結(jié)果沒(méi)有符號(hào),因?yàn)闇p法具有基數(shù)0。
在第10個(gè)周期(周期9)期間,將TMP 140中的11比特總數(shù)乘以一個(gè)比例系數(shù)(通常為1/9,但是受軟件控制,因此可以調(diào)整系數(shù)),然后寫(xiě)回到TMP 140。只將結(jié)果的8整數(shù)比特寫(xiě)到TMP中(截去分?jǐn)?shù)),因此乘法器的限制為255。如果使用比例系數(shù)1/9,則寫(xiě)入的最大值將是226(255×8/9)。比例系數(shù)為8比特分?jǐn)?shù),其最高位表示1/8??勺儽壤禂?shù)考慮了以下事實(shí),即不同打印格式是利用不同數(shù)量縮放CFA圖象的結(jié)果(因此,3×3卷積將生成適當(dāng)比例的結(jié)果)。
在周期72、73和74期間,計(jì)算紅、綠、藍(lán)的銳化值,然后寫(xiě)入緩沖器3 116的R、G、B寄存器,每周期寫(xiě)一次。在上述3個(gè)周期內(nèi)執(zhí)行的計(jì)算為,將TMP加到與中心象素對(duì)應(yīng)的緩沖器2中的R、G、B。
地址生成很簡(jiǎn)單。寫(xiě)入緩沖器3 116分別是周期72、73和74中的R、G、B。緩沖器2 115的讀取操作使用緩沖器2的周期性質(zhì)。地址包括一個(gè)2比特的列分量(表示讀取4列中的哪一列),和一個(gè)3比特值(表示L1、L2、L3、R、G、B)。各行的列號(hào)從1開(kāi)始,并且每75個(gè)周期加1(環(huán)繞)。表28表示讀取緩沖器2的順序。C寄存器為地址的2比特列分量。C上的所有加法均以4作為模數(shù)(在2比特內(nèi)環(huán)繞)。
表28.75個(gè)周期內(nèi)緩沖器2的讀訪問(wèn)
在周期74后,C寄存器保持下一個(gè)計(jì)算集合的列數(shù),因此,使得下一個(gè)周期0中的取數(shù)有效。
當(dāng)在緩沖器2中寫(xiě)入足夠的L和RGB象素后(從而高通過(guò)濾器有效),銳化處理才開(kāi)始。只有緩沖器2的寫(xiě)入處理前進(jìn)3列后,銳化處理才開(kāi)始。
10.2.9 緩沖器1 114緩沖器1以原始獲取空間分辨率保持白平衡和范圍擴(kuò)展的象素。以10比特的顏色分辨率保存各象素,而圖象RAM的圖象存儲(chǔ)顏色分辨率為每象素8比特。
緩沖器1的排列為3個(gè)可獨(dú)立尋址的緩沖器—每個(gè)顏色平面一個(gè),紅145,綠146,藍(lán)147。圖52表示緩沖器的簡(jiǎn)單概述。
在75個(gè)周期期間,重新采樣處理112從3個(gè)緩沖器的各緩沖器中讀出16項(xiàng),共讀取3次,并且最多向3個(gè)緩沖器寫(xiě)入29個(gè)新值(實(shí)際數(shù)目取決于比例系數(shù),以及重新采樣期間當(dāng)前次象素的位置)。
緩沖器必須足夠?qū)?,從而讀取和寫(xiě)入操作不會(huì)彼此干擾。在讀取過(guò)程中,從6行中的每一行中讀取4個(gè)象素。如果比例系數(shù)很大(如,按比例放大為全景),則可以多次讀取同一象素(使用不同內(nèi)核位置進(jìn)行重新采樣)。最后,需要下一個(gè)象素。如果放大系數(shù)不是很大,則在下一個(gè)象素生成周期之前需要新象素(即,在75個(gè)時(shí)鐘周期內(nèi))。
考慮表9和表11中的比例系數(shù),縮放的最壞情況是護(hù)照格式31·綠色平面具有的護(hù)照的Δ值為1.5625,表示6個(gè)CFA象素位置內(nèi)可以包含4個(gè)位置。然而,每一行綠色采樣僅包含各交替象素。這意味著每行只需要4個(gè)采樣(最壞情況為4而不是3,原因在于最壞情況為初始位置)。Y方向上的移動(dòng)表示需要一個(gè)附加的采樣列,從而需要5個(gè)采樣。最后,寫(xiě)入操作需要一個(gè)附加的采樣列。因此,每行共需6個(gè)采樣。一個(gè)采樣需要7行。為了生成每個(gè)x位置的3組RGB象素,沿y方向的最大移動(dòng)將為4行(3.125=2×1.5625)。移動(dòng)X添加上一行采樣和下一行采樣。因此,共需13行。有關(guān)細(xì)節(jié)請(qǐng)參見(jiàn)10.2.10。
·紅色和藍(lán)色平面具有的護(hù)照的Δ值為0.78125,表示在4個(gè)采樣內(nèi)可以包含4個(gè)位置。當(dāng)正在讀取剩余4個(gè)采樣時(shí),寫(xiě)入操作需要一個(gè)附加采樣。每行共需5個(gè)采樣,將采樣數(shù)增加到6個(gè)采樣以匹配綠色平面(用于啟動(dòng))。為了適合y方向的移動(dòng)需要6行。有關(guān)細(xì)節(jié)請(qǐng)參見(jiàn)10.2.10。
每個(gè)子緩沖器是一個(gè)帶有譯碼功能的RAM,以便在每個(gè)周期內(nèi)讀寫(xiě)一個(gè)10比特的采樣。表29概要表示子緩沖器,其消耗小于200字節(jié)。
表29.子緩沖器概要
10.2.10 重新采樣和創(chuàng)建亮度信道正如3.2.5中說(shuō)明的那樣,重新采樣和創(chuàng)建亮度信道處理112通過(guò)對(duì)白平衡和范圍擴(kuò)展后的R、G、B平面圖象重新采樣,生成中分辨率空間中的RGB象素值。另外,必須生成給定RGB象素的亮度值,以及該RGB象素前后的象素的亮度值,以供稍后的銳化處理使用。
生成RGB值和3個(gè)L值的允許時(shí)間是75個(gè)周期。假設(shè)L是給定象素位置的R、G、B的最大值和最小值的平均值(參見(jiàn)3.2.6.1),必須有效生成3個(gè)象素(正在考慮的象素,以及上一個(gè)象素和下一個(gè)象素)坐標(biāo)的RGB值。因此,我們?cè)?5個(gè)周期內(nèi)計(jì)算3個(gè)中分辨率RGB采樣及其對(duì)應(yīng)的L值。
緩沖L值(因而緩沖RGB值)以避免重新計(jì)算需要大量存儲(chǔ)器,總之,我們有足夠時(shí)間生成RGB值。緩沖器4 117包含中分辨率象素,但是不能使用緩沖器4,因?yàn)樗3咒J化后的CMY象素(而不是未經(jīng)銳化的RGB象素)。
10.2.10.1 重新采樣可以將重新采樣處理視為3組RGB生成,必須在25個(gè)周期內(nèi)完成每組生成(共需75個(gè)周期)。可以將生成一個(gè)RGB值的過(guò)程視為3個(gè)并行執(zhí)行的過(guò)程對(duì)于給定的中分辨率象素坐標(biāo),計(jì)算R,計(jì)算G,計(jì)算B??梢栽?.2.5中找到生成上述值的理論依據(jù),但結(jié)果是在圖象的信道上有效運(yùn)行3個(gè)圖象重建過(guò)濾器,每個(gè)信道上一個(gè)。在PCP的情況中,利用5個(gè)采樣點(diǎn)執(zhí)行圖象重建,從而卷積內(nèi)核需要4個(gè)系數(shù)(由于一個(gè)系數(shù)總是0,所以不需要該采樣點(diǎn))。
因此,通過(guò)在R數(shù)據(jù)上運(yùn)行圖象重建過(guò)濾器計(jì)算中分辨率的R象素。通過(guò)在G數(shù)據(jù)上運(yùn)行圖象重建過(guò)濾器計(jì)算中分辨率的G象素,通過(guò)在B數(shù)據(jù)上運(yùn)行圖象重建過(guò)濾器計(jì)算中分辨率的B象素。盡管內(nèi)核在x和y方向上是對(duì)稱的,但是每種顏色平面的內(nèi)核并不相同。由于R和B的圖象特征相似,所以其內(nèi)核相同,但是對(duì)于G平面,由于其圖象重建需要旋轉(zhuǎn)操作,所以具有不同內(nèi)核。圖53表示該處理的高級(jí)視圖。未示出地址生成。
只有正在生成的當(dāng)前象素行的緩沖器1中具有足夠象素,重新采樣處理才能開(kāi)始。即將4列數(shù)據(jù)寫(xiě)入緩沖器1 114中的各顏色平面后才開(kāi)始處理。此前重新采樣處理112必須停止。
為了計(jì)算給定顏色平面的中分辨率象素值,需要25個(gè)周期。為了將內(nèi)核應(yīng)用于4×4采樣區(qū)域,在4行采樣(每行4個(gè)輸入采樣)的每一行上應(yīng)用一維內(nèi)核(用x作索引)。然后在生成的4象素值上應(yīng)用一維內(nèi)核(用y作索引)。最終結(jié)果是輸出重新采樣后的象素。在每個(gè)周期內(nèi)應(yīng)用一個(gè)系數(shù)共需16個(gè)周期才能生成4個(gè)中間值,并且生成最終象素值需要4個(gè)周期,從而共需20個(gè)周期。
關(guān)于精度,輸入象素為10比特(8:2),內(nèi)核系數(shù)為12比特。在應(yīng)用內(nèi)核的4個(gè)步驟中,保持14比特的精度(8:6),但是結(jié)果只保存10比特(8:2)。因此,當(dāng)沿x和y方向進(jìn)行卷積運(yùn)算時(shí),可以使用相同的卷積引擎。最終輸出(即R、G、B)為8比特。
重新采樣處理的核心是圖54所示的卷積裝置150。
如圖30所示,重新采樣處理占用20個(gè)周期。請(qǐng)注意,“行1,象素1”指緩沖器1 114中的輸入,并且采用以下尋址機(jī)制。
表30.20個(gè)周期重新采樣
10.2.10.2 生成L8正如3.2.6.1所述,必須從RGB轉(zhuǎn)換80為L(zhǎng),以便隨后的銳化處理。考慮CIE 1976 L*a*b*顏色平面,其中感覺(jué)上L是一致的。為了從RGB轉(zhuǎn)換到L(亮度信道),按下式計(jì)算R、G、B的最大值和最小值的平均值L=MIN(R,G,B)+MAX(R,G,B)2]]>并行生成給定象素的R、G、B值,該處理需要20個(gè)周期。此處說(shuō)明的生成L的總時(shí)間是4個(gè)周期。因此生成RGBL的總時(shí)間是24個(gè)周期,有一個(gè)周期空閑(因?yàn)楸仨氃?5個(gè)周期內(nèi)完成處理)。
因此,可以在第25個(gè)周期內(nèi)將L的值安全寫(xiě)到緩沖器2 115內(nèi)。以下說(shuō)明地址生成。
如表31所示,一個(gè)8位比較器能夠在3個(gè)周期內(nèi)生成3個(gè)比特,隨后使用這3個(gè)比特選擇加法器的2個(gè)輸入。可以在加法器內(nèi)實(shí)現(xiàn)以2為除數(shù)的除法運(yùn)算。
表31.根據(jù)三次比較選擇Min和Max
a.不關(guān)心狀態(tài)由于只將最小值加到最大值中,所以順序并不重要。因此,對(duì)于加法器的兩個(gè)輸入,輸入1選擇R和G,輸入2選擇G和B。該邏輯是表31的位組合模式的最小化。
10.2.10.3 緩沖器2的地址生成重新采樣裝置的輸出是一個(gè)RGB象素,和以RGB的垂直方向?yàn)橹行牡?個(gè)亮度(L)象素。將3個(gè)L值寫(xiě)到緩沖器2中,每25個(gè)周期一個(gè)。必須在周期45和周期50之前寫(xiě)入R、G、B值,因?yàn)樯傻牡诙笏貫楸仨毐3制銻GB值的中心象素。緩沖器2的地址包括一個(gè)2比特的列部分(表示寫(xiě)到4列中的哪一列),和一個(gè)表示L1、L2、L3、R、G、B的3比特值。每行的列號(hào)均從0開(kāi)始,并且每75個(gè)周期(即,寫(xiě)出L3后)加1(環(huán)繞)。
10.2.10.4 內(nèi)核查找表的地址生成內(nèi)核地址的計(jì)算方法與3.2.5的結(jié)尾部分說(shuō)明的方法相同。內(nèi)核的維數(shù)為1,查找表內(nèi)有64項(xiàng)。使用當(dāng)前內(nèi)核空間中分?jǐn)?shù)部分的6個(gè)最高有效位(截尾)作為內(nèi)核系數(shù)表的索引。對(duì)于前16個(gè)周期,使用X坐標(biāo)作為內(nèi)核索引,而在下4個(gè)周期中,使用Y坐標(biāo)。由于內(nèi)核是對(duì)稱的,所以X和Y可以使用相同的內(nèi)核。
對(duì)于1280個(gè)重新采樣值的每個(gè)值,需要生成3個(gè)象素—正在考慮的象素161,該象素之前的象素160和該象素之后的象素162。我們生成象素160,然后生成兩個(gè)象素161和162,而不是生成中心象素,然后從中心象素向上、向下移動(dòng)。接著,返回到原始行,生成下一個(gè)輸出位值的下3個(gè)象素。這樣,如圖55所示,生成1280個(gè)位置的每個(gè)位置的象素。
因此,我們?cè)趦?nèi)核空間中有一個(gè)當(dāng)前位置。當(dāng)在原始輸入空間中沿x或y前進(jìn)到下一象素時(shí),向內(nèi)核坐標(biāo)添加適當(dāng)?shù)摩ぶ???紤]圖56,可以看到旋轉(zhuǎn)和不旋轉(zhuǎn)輸入空間兩種情況。
考慮沿X方向的移動(dòng)ΔX和沿Y方向的移動(dòng)ΔY,其值取決于打印格式,因此mps(見(jiàn)3.2.5)也取決于打印格式。對(duì)于綠色信道,ΔX=ΔY=1/2mps。對(duì)于紅色和藍(lán)色信道,ΔX=1/mps,ΔY=0。有關(guān)ΔX和ΔY的適當(dāng)值參見(jiàn)表9和表11。
現(xiàn)在,將ΔX和ΔY應(yīng)用于內(nèi)核內(nèi)的移動(dòng)。當(dāng)沿X方向前進(jìn)時(shí),將ΔX加到X中,并從Y中減去ΔY。在不旋轉(zhuǎn)情況中,只需要從Y中減去0。同樣,當(dāng)沿Y方向前進(jìn)時(shí),將ΔY加到X中,并將ΔX加到Y(jié)中。這么做是因?yàn)檠豖和Y方向的移動(dòng)相差90度。
內(nèi)核查找表的地址生成假定由軟件設(shè)置開(kāi)始位置,以及相對(duì)于內(nèi)核空間中沿Y方向移動(dòng)的兩個(gè)Δ值ΔX和ΔY。以下偽碼表示地址生成邏輯。
<pre listing-type="program-listing"><![CDATA[ ColumnKernelY=StartKernelYColumnKernelX=StartKernelX Do NLines times(however many output lines there are to process) KernelX=ColumnKernelX KernelY=ColumnKernelY Do 1280 times GeneratePixel KernelX=KernelX+DeltaY(movement in Y) KernelY=KernelY+DeltaX(movement in Y) Generate Pixel KernelX=KernelX+DeltaY(movement in Y) KernelY=KernelY+DeltaX(movement in Y) GeneratePixel KernelX=ColumnKernelX+DeltaX(movement in X) KernelY=ColumnKernelY-DeltaY(novement in X) EndDo ColumnKernelY=ColumnKernelY+DeltaX(movement in Y) ColumnKernelX=ColumnKernelX+DeltaY(movement in Y) EndDo]]></pre>正如該偽碼所示,3個(gè)象素的生成出現(xiàn)1280次。與每個(gè)象素生成關(guān)聯(lián)的是兩次加法,在GeneratePixel的25個(gè)周期任務(wù)中執(zhí)行加法。每個(gè)GeneratePixel任務(wù)為25個(gè)周期,包括4組通過(guò)KernelX(系數(shù)0、1、2、3)對(duì)內(nèi)核進(jìn)行索引的4個(gè)周期,然后是通過(guò)KernelY(系數(shù)0、1、2、3)對(duì)內(nèi)核進(jìn)行索引的4個(gè)周期,最后是9個(gè)等待周期。
請(qǐng)注意,所有值全是正的,并且僅為分?jǐn)?shù)。將更新的X和Y內(nèi)核值的兩個(gè)進(jìn)位輸出到緩沖器1的地址生成(見(jiàn)10.2.10.5)。進(jìn)位標(biāo)志僅僅表示算術(shù)運(yùn)算期間內(nèi)核的特定坐標(biāo)是否環(huán)繞。環(huán)繞可大于1或小于0,但是結(jié)果總是正的。
將兩個(gè)進(jìn)位發(fā)送到旋轉(zhuǎn)/白平衡/范圍擴(kuò)展裝置,用于確定圖象的有關(guān)輸入行。
10.2.10.5 緩沖器1的地址生成重新采樣裝置112從緩沖器1 114中讀取數(shù)據(jù),后者包括3個(gè)可獨(dú)立尋址的緩沖器145、146和147,每個(gè)顏色平面一個(gè)??梢栽诿總€(gè)周期中讀寫(xiě)各緩沖器。
L=MIN(R,G,B)+MAX(R,G,B)2]]>將75個(gè)周期的讀取處理分成3組,每組25個(gè)周期,25個(gè)周期用于生成各象素。每25個(gè)周期包括讀取緩沖器1的16個(gè)周期和沒(méi)有訪問(wèn)操作的9個(gè)周期。在這9個(gè)周期中將數(shù)據(jù)寫(xiě)入緩沖器1。將緩沖器1114的16個(gè)讀周期分成4組,每組4個(gè)讀周期,從而與各顏色平面的每組4個(gè)讀周期的4個(gè)分組一致。
地址生成包括生成計(jì)算第一象素的16個(gè)地址(然后是9個(gè)等待周期),生成計(jì)算第二象素的16個(gè)地址(然后是9個(gè)等待周期),和最終生成計(jì)算第三象素的16個(gè)地址(然后是9個(gè)等待周期)。
每個(gè)顏色平面具有其特有的啟動(dòng)緩沖器1的地址參數(shù)。在生成每行的1280個(gè)象素的每個(gè)象素的3組16個(gè)地址,并且當(dāng)采樣裝置從每行1280個(gè)采樣前進(jìn)到下一行時(shí),使用內(nèi)核地址生成裝置的兩個(gè)進(jìn)位來(lái)更新緩沖器1的地址參數(shù)。
10.2.10.6 綠色緩沖器146緩沖器1 114內(nèi)的綠色子緩沖器146比紅色子緩沖器145和藍(lán)色子緩沖器147復(fù)雜,兩個(gè)主要原因是·綠色信道表示CFA中的交錯(cuò)排列格式。交錯(cuò)行僅包括奇數(shù)或偶數(shù)象素。為了對(duì)綠色信道進(jìn)行重新采樣,必須將其信道旋轉(zhuǎn)45度。
·綠色象素的數(shù)目為紅色或藍(lán)色象素的兩倍。重新采樣意味著要在相同時(shí)間內(nèi)讀取更多采樣—盡管生成中分辨率空間中的每個(gè)象素仍然讀取16個(gè)采樣,但是每次提前緩沖器的可能性更大??赡苄匀Q于使用的比例系數(shù)。
然而,綠色信道仍然采用使用RAM作為循環(huán)緩沖器的相同概念。綠色子緩沖器是一個(gè)78項(xiàng)的RAM,邏輯排列為13行,每行6項(xiàng)。圖57表示RAM地址和邏輯位置之間的關(guān)系。
緩沖器1 146中的采樣表示CFA中的交錯(cuò)排列模式。因此,一行(如,0,13,26,39,52,65)中的采樣可以表示奇數(shù)或偶數(shù)象素,這取決于整個(gè)圖象內(nèi)的當(dāng)前行,以及是否將該圖象旋轉(zhuǎn)了90度。圖58表示此種情況。
因而,當(dāng)我們將一個(gè)4×4采樣區(qū)域映射到緩沖器上時(shí),采樣的解釋有兩種可能性。因此,有兩類尋址,取決于當(dāng)前行是用奇數(shù)象素還是用偶數(shù)象素表示的。這意味著圖象旋轉(zhuǎn)0度的偶數(shù)行與圖象旋轉(zhuǎn)90度的奇數(shù)行的尋址相同,由于它們都保持奇數(shù)象素的緣故。同樣,圖象旋轉(zhuǎn)0度的奇數(shù)行與圖象旋轉(zhuǎn)90度的偶數(shù)行的尋址相同,由于它們都保持偶數(shù)象素的緣故。表32概要表示此判定。
表32.確定采樣類型
實(shí)際上,我們采用4×4采樣窗口將緩沖器旋轉(zhuǎn)45度。正如3.2.5說(shuō)明的那樣,實(shí)際的重新采樣需要45度旋轉(zhuǎn)。
假設(shè)目前我們只需要生成單個(gè)重新采樣,通過(guò)檢查圖59所示的兩類4×4采樣窗口實(shí)現(xiàn)緩沖器尋址。
盡管兩類4×4采樣窗口看起來(lái)很相似,其差別在于在平面圖象中表示4×4映射的方式。圖60表示將類型1的4×4采樣映射到綠色子緩沖器。僅僅顯示了前7行以及最右邊的4列,因?yàn)樵搮^(qū)域完全包含4×4采樣區(qū)域。
正如在圖61中看到的那樣,對(duì)于類型2的采樣處理,從緩沖器象素到采樣行的映射是非常相似的。
在16個(gè)象素的類型1和類型2尋址中,處理一行采樣的方式有兩種。處理類型1的第1行和第3行與處理類型2的第2行和第3行相同(相對(duì)而言)。同樣,處理類型1的第2行和第4行與處理類型2的第1行和第3行相同(相對(duì)而言)。如圖62所示,將上述行尋址方法稱為類型A 170和類型B 171。
給定4×4窗口的起始位置(WindowStartAdr)和起始類型(WindowStartType),借助于一個(gè)8項(xiàng)查找表(用于遍歷兩組4個(gè)采樣)生成16個(gè)采樣的地址。當(dāng)我們讀取第一個(gè)采樣值時(shí),添加該表中的一個(gè)偏移以便到達(dá)下一個(gè)采樣位置。該偏移取決于類型(A,B=0,1)。第四個(gè)采樣的偏移值為到達(dá)下一行的第一個(gè)采樣點(diǎn)需要的數(shù)量(必須考慮采樣的列數(shù))。在生成每行4個(gè)采樣后,交換TypeA和TypeB。以下偽碼表示生成一組16個(gè)采樣的地址的邏輯。以78為模數(shù)的加法適合循環(huán)緩沖器。
Adr=WindowStartAdrTypeAB=WindowStartTypeDo 4 timesFor N=0 to 4Fetch AdrAdr=(Adr+Table[TypeAB,N])mod 78EndForTypeAB=NOT TypeABEndDo
查找表包括8項(xiàng)—4項(xiàng)用于類型A 170的地址偏移生成,4項(xiàng)用于類型B 171的地址偏移生成。偏移為相對(duì)于當(dāng)前采樣位置(Adr)的偏移。
表33.16個(gè)采樣地址生成的偏移值
在16個(gè)讀取操作結(jié)束時(shí),TypeAB位與原始值相同(從WindowStartType加載)。
僅讀取一組16個(gè)采樣是不夠的。必須讀取3組16個(gè)采樣(表示不旋轉(zhuǎn)的輸入空間中沿Y方向的3個(gè)不同位置)。在第一組和第二組16個(gè)采樣結(jié)束時(shí),利用內(nèi)核地址生成器更新內(nèi)核位置。使用上述更新的進(jìn)位來(lái)設(shè)置下一組16個(gè)采樣的窗口。兩個(gè)進(jìn)位作為包含一個(gè)偏移和1位標(biāo)志的查找表的索引。將偏移添加到WindowStartAdr中,使用該標(biāo)志確定是否倒置WindowStartType。表34表示該查找表的值。
表34.更新WindowStartAdr和WindowStartType
在第三組16個(gè)采樣結(jié)束時(shí),更新內(nèi)核位置以補(bǔ)償不旋轉(zhuǎn)的輸入空間中沿X方向的前進(jìn)。此時(shí),生成不同的運(yùn)動(dòng)方向,從而使用不同的偏移/TypeAB修改表。不能將這些偏移添加到當(dāng)前的WindowStartAdr值中,因?yàn)樗鼈儽硎灸硞€(gè)位置沿Y方向上的遠(yuǎn)離開(kāi)始運(yùn)動(dòng)的兩個(gè)運(yùn)動(dòng)。因此,我們從另一組變量中加載WindowStartAdr和WindowStartTypeTopStartAdr,TopStartAdr表示當(dāng)前行的1280個(gè)象素的第一項(xiàng)。將內(nèi)核地址生成器的兩個(gè)進(jìn)位應(yīng)用于查找表35,以確定添加到TopStartAdr的偏移,以及是否倒置TopStartType。如前所述,加法的模數(shù)是78(綠色RAM的大小)。將結(jié)果復(fù)制到WindowStartAdr和WindowStartType中,以便在生成下3組16個(gè)采樣時(shí)使用。
表35.更新TopStartAdr和TopStartType
在處理1280個(gè)3組16個(gè)采樣后,下一行的1280個(gè)象素開(kāi)始。然而,必須確定下一行內(nèi)位置0的第一個(gè)采樣的地址。由于總是將象素加載到緩沖器1中的正確位置,所以總能從緩沖器1內(nèi)的正確位置開(kāi)始(即,可以從固定的Position0Adr中加載TopStartAdr)。然而,我們擔(dān)心處理哪種類型,因?yàn)轭愋腿Q于我們前進(jìn)的了多少。所以,我們具有一個(gè)初始Position0Type,必須根據(jù)內(nèi)核地址生成器的進(jìn)位標(biāo)志更新后者。由于我們?cè)诓恍D(zhuǎn)的Y輸入空間中前進(jìn),所以使用的邏輯與更新WindowStartType的邏輯相同。只是在Position0Type上執(zhí)行。將Position0Type的新值復(fù)制到TopStartType中,并且WindowStartAdr開(kāi)始新行的第一位置的采樣。
只有旋轉(zhuǎn)/白平衡/范圍擴(kuò)展裝置在緩沖器1中放置了足夠項(xiàng)目后,指定的1280個(gè)位置的采樣處理才能開(kāi)始。在開(kāi)始各新行后,以上處理將存在128個(gè)周期(見(jiàn)10.2.11)。
10.2.10.7 紅色和藍(lán)色緩沖器緩沖器1的紅色子緩沖器145和藍(lán)色子緩沖器147只是兩個(gè)作為循環(huán)緩沖器的RAM。每個(gè)緩沖器為30字節(jié),邏輯排列為6行,每行包含6項(xiàng)。圖63表示RAM地址和邏輯位置之間的關(guān)系。
對(duì)于紅色和藍(lán)色,需要讀取的前16項(xiàng)總是前4×4項(xiàng)。讀取算法在本階段并不訪問(wèn)采樣的剩余兩列。
前16項(xiàng)的地址生成只是一個(gè)起始位置(此時(shí)為0),然后是16個(gè)模數(shù)為36的加法,如以下偽碼所示ADR=StartADRDo 4 timesDo 4 timesADR=ADR+6 MOD 36EndDoADR=ADR+13 MOD 36EndDo然而,以上地址生成機(jī)制與綠色信道的不同。可以將綠色尋址機(jī)制應(yīng)用于紅色和藍(lán)色信道,并且只需在表中使用不同值,而不是設(shè)計(jì)兩種尋址機(jī)制。從而降低了設(shè)計(jì)復(fù)雜性。其唯一區(qū)別在于,采用模數(shù)為36的加法,而不是模數(shù)為78的加法??梢圆捎煤?jiǎn)單乘法器。
考慮綠色信道的各種地址生成表,并認(rèn)為將其應(yīng)用于紅色和藍(lán)色,顯然不需要類型,因?yàn)椴恍枰獙⒓t色和藍(lán)色信道旋轉(zhuǎn)45度。因此確實(shí)可以忽略類型值,表36所示的表33的紅色/藍(lán)色等價(jià)表具有兩組完全相同的4項(xiàng)。
表36.16個(gè)采樣地址生成的偏移值(紅/藍(lán))
關(guān)于綠色地址生成,在前進(jìn)到1280項(xiàng)的下一項(xiàng)前,沿Y方向移動(dòng)兩次。對(duì)于紅色和藍(lán)色,內(nèi)核空間中的移動(dòng)和輸入空間中的移動(dòng)之間沒(méi)有縮放。也沒(méi)有旋轉(zhuǎn)。當(dāng)沿Y方向移動(dòng)時(shí),將ΔY=0添加到KernelX中(見(jiàn)10.2.10.4中的地址生成)。因此,從不設(shè)置KernelX的進(jìn)位。考慮表34,唯一可能發(fā)生的是KernelX/KernelY=00或01。關(guān)于00,綠色解決方法是不改變WindowStartAdr或WindowStartType,這同樣適用于紅色和藍(lán)色。關(guān)于01,將1添加到WindowStartAdr中,而不關(guān)心WindowStartType。因此,確實(shí)可以對(duì)紅色和藍(lán)色使用綠色值。最壞情況是兩次地址都前進(jìn)1,從而導(dǎo)致圖65所示的最壞的重疊情況。
在第三組16個(gè)采樣結(jié)束時(shí),必須更新TopStartAdr和TopStartType。由于正沿X方向移動(dòng)(并且將ΔY=0添加到KernelY中),所以KernelY的進(jìn)位總是0。表37表示表35的紅色/藍(lán)色等價(jià)表。請(qǐng)注意,沒(méi)有類型列,由于類型對(duì)紅色和藍(lán)色不重要。
表37.更新TopStartAdr和TopStartType(紅/藍(lán))
從1280組3象素組成的一行前進(jìn)到下一行的處理與用于綠色的處理相同。Position0Adr與給定行(對(duì)于紅色和藍(lán)色,Position0Adr=0)的第一組16個(gè)采樣的Position0Adr相同,而與類型無(wú)關(guān)。只有緩沖器1中具有足夠采樣,下一行的生成才能開(kāi)始。紅色和藍(lán)色生成必須與綠色生成同時(shí)開(kāi)始,因此,只有在新行開(kāi)始128個(gè)周期后才能開(kāi)始(見(jiàn)10.2.11)。
10.2.11 旋轉(zhuǎn)、白平衡和范圍擴(kuò)展111正如3.2.3和3.2.4中說(shuō)明的那樣,從圖象RAM 11中加載緩沖器1 114的實(shí)際任務(wù)包括以下步驟旋轉(zhuǎn)、白平衡和范圍擴(kuò)展111。必須快速生成緩沖器1的象素,以供重新采樣處理112使用。這意味著在75個(gè)周期中,該裝置必須能夠讀取、處理、并存儲(chǔ)6個(gè)紅色象素、6個(gè)藍(lán)色象素和13個(gè)綠色象素。
通過(guò)以適當(dāng)順序讀取象素實(shí)現(xiàn)作為選擇步驟的旋轉(zhuǎn)處理。在讀出圖象存儲(chǔ)器中適當(dāng)平面的給定象素后,必須進(jìn)行白平衡,并且根據(jù)3.2.4中定義的范圍擴(kuò)展計(jì)算調(diào)整其值。該處理僅包括一次減法(基數(shù)0)和一次乘法(最大值255),其中相對(duì)于顏色特有的常數(shù)進(jìn)行減法和乘法。圖68表示此裝置的結(jié)構(gòu)。
在利用圖象直方圖單元8(見(jiàn)第9節(jié))生成各顏色平面的直方圖后,由CPU 10確定紅、綠、藍(lán)低閾值72,以及紅、綠、藍(lán)比例系數(shù)73。
根據(jù)當(dāng)前流水線中處理的象素是紅色,還是綠色,抑或是藍(lán)色,在加法器和乘法器中復(fù)用正確的低閾值和比例系數(shù),其中將輸出寫(xiě)到緩沖器1中的適當(dāng)顏色平面。
加法器172從8比特圖象RAM象素值中減去8比特低閾值,并具有基數(shù)0。將8比特結(jié)果傳送到專用8×8乘法器上,后者將8比特值乘以8比特的比例系數(shù)(8比特的分?jǐn)?shù),整數(shù)=1)。只保存結(jié)果的前10比特,并提供8比特的整數(shù)和2比特的分?jǐn)?shù)。乘法器174的結(jié)果的最大值為255,因此,如果作為乘法結(jié)果設(shè)置了比特7之前的任何比特,則將整個(gè)8比特整數(shù)結(jié)果設(shè)置為0,將分?jǐn)?shù)部分設(shè)置為0。
除減法器172和乘法器174之外,由地址生成器175執(zhí)行此裝置內(nèi)的大部分工作,實(shí)際上,地址生成器175是該裝置的狀態(tài)機(jī)。地址生成受兩個(gè)因素控制在一個(gè)給定周期內(nèi),只能對(duì)圖象RAM 11進(jìn)行一次存取,并且在一個(gè)給定周期內(nèi),只能對(duì)緩沖器1 114進(jìn)行一次存取。在75個(gè)可用周期中,使用3組16個(gè)周期讀取緩沖器1。實(shí)際使用3組25個(gè)周期,其中16個(gè)讀周期,然后是9個(gè)等待周期。總共提供27個(gè)可用周期用于25個(gè)寫(xiě)操作(6個(gè)紅色,6個(gè)蘭色,6個(gè)綠色)。這意味著如果寫(xiě)入緩沖器1的定時(shí)與重新采樣裝置112的等待周期一致,則滿足兩個(gè)約束條件。
10.2.11.1 緩沖器1的地址生成當(dāng)重新采樣處理運(yùn)行時(shí),我們只關(guān)心在重新采樣裝置112不讀取緩沖器1時(shí),寫(xiě)入緩沖器1。由于重新采樣裝置在每75個(gè)周期中有3組16個(gè)讀操作,所以有27個(gè)寫(xiě)入周期。當(dāng)重新采樣裝置未運(yùn)行時(shí),我們希望盡快加載緩沖器1,這意味著每個(gè)周期內(nèi)緩沖器1 114的一次寫(xiě)操作。因此,緩沖器1的地址生成迅速寫(xiě)出狀態(tài)機(jī),后者考慮以上兩種情況。每當(dāng)從圖象RAM 11中加載數(shù)值時(shí),總是在隨后的一個(gè)周期內(nèi)將調(diào)整值寫(xiě)到緩沖器1內(nèi)的適當(dāng)顏色平面中。
因此,緩沖器1的地址生成包括分別用于紅色、藍(lán)色、綠色子緩沖器的地址計(jì)數(shù)器。在各行開(kāi)始時(shí),RedAdr、BlueAdr、GreenAdr的初值為0,在寫(xiě)入緩沖器1后,地址加1,其中以36或78作為模數(shù),模數(shù)取決于正在寫(xiě)入的緩沖器是紅色、還是綠色抑或是藍(lán)色。并不是在每75個(gè)周期內(nèi)寫(xiě)入所有顏色。通常綠色需要的填充速度是紅色或藍(lán)色的兩倍。
以下偽碼表示其邏輯<pre listing-type="program-listing"><![CDATA[ If the color to write is Red Write to Red Buffer1 at RedAdr RedAdr=RedAdr+1 mod 36 Else If the color to write is Blue Write to Blue Buffer1 at BlueAdr BlueAdr=BlueAdr+1 mod 36 Else If the color to write is Green Write to Green Buffer1 at GreenAdr GreenAdr=GreenAdr+1 mod 78 EndIf]]></pre>10.2.11.2 圖象RAM的地址生成可以沿兩個(gè)方向(逆時(shí)針旋轉(zhuǎn)0度或90度)中的一個(gè)方向讀取各平面。從而能夠在按行或按列讀取平面圖象時(shí)進(jìn)行有效轉(zhuǎn)換。另外,對(duì)于圖象邊界之外的讀取允許邊緣圖象復(fù)制或固定顏色,并且對(duì)于護(hù)照31之類的打印格式,允許圖象環(huán)繞。
在每個(gè)打印行的開(kāi)始,必須盡快讀取圖象RAM 11以加載緩沖器1 114。這等價(jià)于每個(gè)周期訪問(wèn)一個(gè)采樣。只有在加載5列后重新采樣才能出現(xiàn),這意味著5列的6、6和13個(gè)采樣,總共125個(gè)周期。外加一個(gè)額外周期,用于從圖象RAM 11加載后,將終值寫(xiě)出到緩沖器1 114中。為了簡(jiǎn)化計(jì)數(shù),上舍入為128個(gè)周期。
在前128個(gè)周期之后,每75個(gè)周期檢查一次是否需要加載3種顏色的下一列采樣,并且在隨后的75個(gè)周期中加載適當(dāng)采樣。然而,對(duì)于每種顏色,是否在第一組75個(gè)周期期間加載采樣的初始設(shè)置總是1。從而填充緩沖器1內(nèi)每種顏色的第6列采樣。
在75個(gè)周期結(jié)束后,檢查重新采樣裝置112中內(nèi)核地址生成器的每個(gè)顏色平面的KernelXCarryout標(biāo)志,以確定是否讀取下一列采樣。同樣,如果設(shè)置了KernelYCarryout標(biāo)志,則AdvanceLine脈沖重新啟動(dòng)下一行的處理。
由于填充緩沖器1中一列的每個(gè)“讀操作”實(shí)際上為6個(gè)或13個(gè)讀操作,所以我們保存一個(gè)起始位置以便前進(jìn)到下一個(gè)“讀操作”。同時(shí),我們保存一個(gè)坐標(biāo)值,以允許生成越界坐標(biāo),從而支持邊緣象素復(fù)制、固定顏色和圖象環(huán)繞。
我們認(rèn)為有效圖象180在特定邊界內(nèi),并且當(dāng)坐標(biāo)在實(shí)際區(qū)域之外時(shí)采取某些操作。按照行或象素,坐標(biāo)可以在圖象之前,在圖象內(nèi),或者在圖象后。圖67表示此種情況,盡管為了清晰性而夸大了有效區(qū)域之外的空間。
請(qǐng)注意,由于我們使用(0,0)作為坐標(biāo)生成的起點(diǎn),所以MaxPixel和MaxLine為象素計(jì)數(shù)和行計(jì)數(shù)。然而,由于根據(jù)內(nèi)核進(jìn)位和MJI 15的AdvanceLine脈沖進(jìn)行地址生成,所以不需要外限。象素行的地址生成繼續(xù)直至收到AdvanceLine脈沖,并且可以包括邊緣復(fù)制、越界地址的固定顏色,或圖象象素環(huán)繞。
如果具有當(dāng)前采樣的地址(Adr),并且希望移動(dòng)到下一行或同一行上的下一采樣,則采樣的坐標(biāo)將改變,但是地址改變方式取決于是否圍繞實(shí)際圖象環(huán)繞,并且在需要時(shí)必須進(jìn)行邊緣象素復(fù)制。
如果圖象沒(méi)有環(huán)繞(即,除護(hù)照31之外的所有打印格式),則在行或象素中前進(jìn)時(shí)執(zhí)行表38中的操作。為了將圖象旋轉(zhuǎn)90度,CPU 10只需交換ΔLine和ΔPixel值。
考慮表38,當(dāng)PixelSense=0時(shí),ADR改變?chǔ)ixel,并且當(dāng)LineSense=0時(shí),ADR改變?chǔ)ine。根據(jù)上述原則,Adr對(duì)邊緣象素復(fù)制有效。當(dāng)然,如果固定顏色對(duì)越界坐標(biāo)合適,則可以選擇該值代替適當(dāng)?shù)刂分写鎯?chǔ)的值。
表38.在象素或行中前進(jìn)時(shí)執(zhí)行的操作
a.比較當(dāng)前Line坐標(biāo)與ActiveStartLine和ActiveEndLine。
如果Line<ActiveStartLine,稱該值為“-。
如果ActiveStartLine≤Line<ActiveEndLine,稱該值為“0”。
如果ActiveEndLine≤Line,稱該值為“+”。
b.比較當(dāng)前Pixel坐標(biāo)與ActiveStartPixel和ActiveEndPixel。
如果Pixel<ActiveStartPixel,稱該值為“-。
如果ActiveStartPixel≤Pixel<ActiveEndPixel,稱該值為“0”。
如果ActiveEndPixel≤Pixel,稱該值為“+”。
為了允許環(huán)繞,只需比較Line和Pixel的前一個(gè)讀數(shù)(-,0,+)與新讀數(shù)。當(dāng)讀數(shù)為“-”時(shí),使用表38所示的增量,但是當(dāng)坐標(biāo)越界(即,從0移動(dòng)到+)時(shí),利用新值更新Adr,而不是基于Δ。假設(shè)我們保存當(dāng)前行的起始地址,從而在生成當(dāng)前行后前進(jìn)到下一行的起始地址,則我們能夠進(jìn)行以下處理·如果Pixel改變,并且Pixel讀數(shù)從0變?yōu)?(表示我們?cè)竭^(guò)圖象的邊界),則利用LineStartAdr代替Adr,并利用ActiveStartPixel代替Pixel。Line保持不變。
·如果Line改變,并且Line讀數(shù)從0變?yōu)?(表示我們?cè)竭^(guò)圖象的邊界),則從Adr中減去DeltaColumn,并利用ActiveStartLine代替Line。Pixel保持不變。DeltaColumn為地址偏移,用于根據(jù)(Pixel,ActiveEndLine-1)生成(Pixel,ActiveStartLine)的地址。
以下偽碼表示加載采樣數(shù)目(或者為6,或者為13,取決于顏色)的邏輯<pre listing-type="program-listing"><![CDATA[ line=FirstSampleLine pixel=FirstSamplePixel adr=FirstSampleAdr Do N times(6 or 13) oldPixelSense=PixelSense(pixel) oldLineSense=LineSense(gLine) inActive=((oldLineSense==InActive)AND(oldPixelSense==InActive)) If((NOT inActive)AND UseConstant) sample=ConstantColor else sample=Fetch(adr) EndIf line=line+1If((LineSense(line)==″+″)AND wrapImage) adr=adr-DeltaColumn line=ActiveStartLine ElseIf((LineSense(line)==″0″)AND((oldLineSense==″0″)) adr=adr+DeltaLine EndIf EndDo]]></pre>諸如FirstSampleLine、FirstSamplePixel和FirstSampleAdr之類的變量的設(shè)置在地址生成器部分,地址生成器響應(yīng)內(nèi)核地址生成器的進(jìn)位標(biāo)志和MJI的AdvanceLine脈沖。以下偽碼表示此部分地址生成的邏輯<pre listing-type="program-listing"><![CDATA[ FirstSamplePixel=0 FirstSampleLine=0 FirstSampleAdr=FirstSampleAdr=ActiveStartAddress count=0 Do Forever If((KernelXCarryOut)OR(AdvanceLine AND KernelYCarryOut)OR(count<5)) Do N Samples for this color plane(見(jiàn)以上偽碼) EndIf oldPixelSense=PixelSense(FirstSamplePixel) oldLineSense=LineSerse(FirstSampleLine) If(AdvanceLine AND KernelYCarryout) count=0 FirstSampleLine=FirstSampleLine+1 FirstSamplePixel=0If((LineSense(FirstSampleLine)==″+″)AND wrapImage)FirstLineSampleAdr=StartAddressFirstSampleLine=ActiveStartLineElseIf((LineSense(FirstSampleLine)==″0″)AND(oldLineSense==″0″))FirstSampleLineAdr=FirstSampleLineAdr+DeltaLineEndIfFirstSampleAdr=FirstLineSampleAdrElseIf(KernelXCarryout OR(count<5))FirstSamplePixel=FirstSamplePixel+1count=count+1If((PixelSense(FirstSamplePixel)==″+″)AND wrapImage)FirstSampleAdr=FirstLineSampleAdrFirstSamplePixel=ActiveStartPixelElseIf((PixelSense(FirstSamplePixel)==″0″)AND(oldPixelSense==″0″))FirstSampleAdr=FirstSampleAdr+DeltaPixelEndIfEndIfEndDo]]></pre>10.2.11.3 寄存器概述在打印圖象前,必須設(shè)置許多寄存器。表39概括總結(jié)這些寄存器。為了將圖象旋轉(zhuǎn)90度,只需交換DeltaLine和DeltaPixel值,并提供新的DeltaColumn值。
表39.在打印前需要由調(diào)用程序設(shè)置的寄存器
11.參考文獻(xiàn)[1]Silverbrook Research,1998,Authentication of Consumables.Silverbrook Research,1998,Authentication chip.
盡管參照特定示例說(shuō)明本發(fā)明,但是熟練技術(shù)人員可以理解,能夠以各種其他形式體現(xiàn)本發(fā)明。以下帶有編號(hào)的段落向收件人提供本發(fā)明之范圍的進(jìn)一步說(shuō)明,不過(guò)根據(jù)本文中的公開(kāi),其他創(chuàng)新和發(fā)明特征以及特征之組合也是顯然的。
權(quán)利要求
1.一種接收表示圖象的圖象數(shù)據(jù),并向打印機(jī)提供相應(yīng)于所述圖象數(shù)據(jù)的打印數(shù)據(jù)的方法,所述打印數(shù)據(jù)為預(yù)定的打印格式且具有預(yù)定的打印分辨率,該方法包括步驟接收?qǐng)D象數(shù)據(jù);將圖象數(shù)據(jù)轉(zhuǎn)換為具有第一預(yù)定分辨率的第一格式數(shù)據(jù);將第一格式數(shù)據(jù)轉(zhuǎn)換為打印數(shù)據(jù);以及使打印數(shù)據(jù)可用于打印機(jī)打印。
2.如權(quán)利要求1的方法,其中第一格式不同于打印格式。
3.如權(quán)利要求1或2的方法,其中圖象數(shù)據(jù)為拜爾格式且具有預(yù)定的圖象分辨率。
4.如權(quán)利要求1至3的任何一項(xiàng)的方法,其中第一數(shù)據(jù)具有預(yù)定的連續(xù)色調(diào)分辨率。
5.如前述權(quán)利要求任何一項(xiàng)的方法,其中打印數(shù)據(jù)具有預(yù)定的二值點(diǎn)分辨率。
6.如前述權(quán)利要求任何一項(xiàng)的方法,其中圖象數(shù)據(jù)為紅、綠和藍(lán)(RGB)格式并且打印機(jī)對(duì)青、品紅和黃(CMY)格式響應(yīng),該方法還包括將打印數(shù)據(jù)從RGB格式轉(zhuǎn)換為CMY格式的附加步驟。
7.如前述權(quán)利要求任何一項(xiàng)的方法,該方法還包括處理圖象數(shù)據(jù)、第一格式數(shù)據(jù)和打印數(shù)據(jù)中至少一個(gè)的步驟。
8.如權(quán)利要求7的方法,其中圖象數(shù)據(jù)被選擇性地調(diào)整,用于以預(yù)定的旋轉(zhuǎn)方向提供圖象。
9.一種接收表示圖象的圖象數(shù)據(jù),并向打印機(jī)提供相應(yīng)于所述圖象數(shù)據(jù)的打印數(shù)據(jù)的裝置,所述打印數(shù)據(jù)為預(yù)定的打印格式且具有預(yù)定的打印分辨率,該裝置包括用于接收?qǐng)D象數(shù)據(jù)的輸入裝置;用于將圖象數(shù)據(jù)轉(zhuǎn)換為具有第一預(yù)定分辨率的第一格式數(shù)據(jù)的采樣裝置;用于將第一格式數(shù)據(jù)轉(zhuǎn)換為打印數(shù)據(jù)的處理裝置;以及使打印數(shù)據(jù)可用于打印機(jī)打印的輸出裝置。
10.如權(quán)利要求9的裝置,其中第一格式不同于打印格式。
11.如權(quán)利要求9或10的裝置,其中圖象數(shù)據(jù)為拜爾格式且具有預(yù)定的圖象分辨率。
12.如權(quán)利要求9至11的任何一項(xiàng)的裝置,其中第一數(shù)據(jù)具有預(yù)定的連續(xù)色調(diào)分辨率。
13.如權(quán)利要求9至12的任何一項(xiàng)的裝置,其中打印數(shù)據(jù)具有預(yù)定的二值點(diǎn)分辨率。
14.如權(quán)利要求9至13的任何一項(xiàng)的裝置,其中圖象數(shù)據(jù)為紅、綠和藍(lán)(RGB)格式并且打印機(jī)對(duì)青、品紅和黃(CMY)格式響應(yīng),該裝置還包括將打印數(shù)據(jù)從RGB格式轉(zhuǎn)換為CMY格式的附加裝置。
15.如權(quán)利要求9至14的任何一項(xiàng)的裝置,該方法還包括處理圖象數(shù)據(jù)、第一格式數(shù)據(jù)和打印數(shù)據(jù)中至少一個(gè)的裝置。
16.如權(quán)利要求15的裝置,其中用于選擇性地調(diào)整圖象數(shù)據(jù)的裝置用于以預(yù)定的旋轉(zhuǎn)方向提供圖象。
17.一種包括權(quán)利要求9至16的任何一項(xiàng)的裝置的光電照相機(jī)。
全文摘要
一種接收表示圖象的圖象數(shù)據(jù),并向打印機(jī)提供相應(yīng)于所述圖象數(shù)據(jù)的打印數(shù)據(jù)的方法,所述打印數(shù)據(jù)為預(yù)定的打印格式且具有預(yù)定的打印分辨率,該方法包括步驟接收?qǐng)D象數(shù)據(jù);將圖象數(shù)據(jù)轉(zhuǎn)換為具有第一預(yù)定分辨率的第一格式數(shù)據(jù);將第一格式數(shù)據(jù)轉(zhuǎn)換為打印數(shù)據(jù);以及使打印數(shù)據(jù)可用于打印機(jī)打印。一種接收表示圖象的圖象數(shù)據(jù),并向打印機(jī)提供相應(yīng)于所述圖象數(shù)據(jù)的打印數(shù)據(jù)的裝置,所述打印數(shù)據(jù)為預(yù)定的打印格式且具有預(yù)定的打印分辨率,該裝置包括用于接收?qǐng)D象數(shù)據(jù)的輸入裝置;用于將圖象數(shù)據(jù)轉(zhuǎn)換為具有第一預(yù)定分辨率的第一格式數(shù)據(jù)的采樣裝置;用于將第一格式數(shù)據(jù)轉(zhuǎn)換為打印數(shù)據(jù)的處理裝置;以及使打印數(shù)據(jù)可用于打印機(jī)打印的輸出裝置。一種包括這里所述裝置的光電照相機(jī)。
文檔編號(hào)B41J29/393GK1670765SQ2005100003
公開(kāi)日2005年9月21日 申請(qǐng)日期2000年9月8日 優(yōu)先權(quán)日1999年9月16日
發(fā)明者保羅·拉普斯頓, 西蒙·R·沃姆斯利 申請(qǐng)人:西爾弗布魯克研究股份有限公司