專利名稱::根據(jù)拜爾圖象生成打印的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及根據(jù)拜爾圖象生成打印的方法和裝置。本發(fā)明主要用于數(shù)字照相機(jī),包括用于在相紙上打印照相機(jī)拍攝的圖象的整體打印機(jī),并且以下將參照該應(yīng)用描述本發(fā)明。然而,應(yīng)該理解,本發(fā)明并不限于特定應(yīng)用領(lǐng)域。共同未決申請參考文獻(xiàn)為澳大利亞臨時專利申請?zhí)朠Q2890(申請日期為1999年9月16日)的共同未決申請優(yōu)先權(quán)要求。共同未決申請描述用于實(shí)現(xiàn)小型打印系統(tǒng)的有關(guān)模塊和方法。與本發(fā)明同時申請的共同未決申請為本發(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ù)據(jù)集最好為紅、綠和藍(lán)(RGB)格式,而打印機(jī)與青、品紅和黃(CMY)格式相對應(yīng),并且該方法還包括附加步驟,即將第三數(shù)據(jù)集從RGB格式轉(zhuǎn)換為CMY格式。在一種最佳形式中,該方法包括以下步驟,即對第二數(shù)據(jù)集進(jìn)行銳化處理。作為選擇,該方法最好包括對第一數(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ù)集平面化為一個紅色平面、一個綠色平面和一個藍(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ù)集的彩色分辨率,同時保持相同的空間分辨率。在一種最佳形式中,選擇調(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ù)據(jù)集最好為紅、綠和藍(lán)(RGB)格式,而打印機(jī)與青、品紅和黃(CMY)格式相對應(yīng),其中處理裝置將第三數(shù)據(jù)集從RGB格式轉(zhuǎn)換為CMY格式。同時,該裝置最好對第二數(shù)據(jù)集進(jìn)行銳化處理。然而,在其他實(shí)施方式中,該裝置對第一數(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ù)集平面化為一個紅色平面、一個綠色平面和一個藍(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ù)集的彩色分辨率,同時保持相同的空間分辨率。輸入裝置最好選擇調(diào)整第一數(shù)據(jù)集,以便沿預(yù)定的旋轉(zhuǎn)方向提供圖象。根據(jù)本發(fā)明的第三方面,提供一種照相機(jī),包括一個CCD陣列,用于提供拜爾圖象;一臺打印機(jī),用于選擇提供打印的圖象;以及一種用于接收拜爾圖象,然后向打印機(jī)提供第三數(shù)據(jù)集以便生成打印圖象的裝置。附圖的簡要描述通過參照以下說明書和附圖,舉例說明本發(fā)明的最佳實(shí)施方式。圖1表示PCP的高級圖象流程。圖2以分離形式表示PCP框圖。圖3表示與Printcam硬件相連的PCP的框圖。圖4表示長為4英寸的Memjet打印頭。圖5表示4英寸打印頭中各段的結(jié)構(gòu)。圖6表示容器中噴嘴的結(jié)構(gòu),序號表示定位順序。圖7表示容器中噴嘴的結(jié)構(gòu),序號表示加載順序。圖8表示色品容器(chrompod)。圖9表示容器群(podgroup)。圖10表示相群(phasegroup)。圖11表示段、噴射群(firegroup)、相群、容器群和色品容器之間的關(guān)系。圖12表示打印奇數(shù)和偶數(shù)點(diǎn)時AEnable和BEnable脈沖的輪廓。圖13表示基于CFA圖象打印格式的方向。圖14表示圖象獲取鏈的框圖。圖15表示拜爾CFA2G鑲嵌面中各象素的結(jié)構(gòu)。圖16表示線性化RGB過程。圖17表示平面化RGB過程。圖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)動映射到旋轉(zhuǎn)CFA空間的過程。圖26表示銳化過程的框圖。圖27表示利用3×3內(nèi)核對單亮度象素進(jìn)行高通濾波的過程。圖28表示從RGB轉(zhuǎn)換到CMY的變換。圖29表示利用三線內(nèi)插將RGB轉(zhuǎn)換到CMY。圖30表示將單個象素復(fù)制為一個5×5塊的象素復(fù)制。圖31表示半色調(diào)過程的框圖。圖32表示為打印機(jī)重新格式化所有點(diǎn)的過程。圖33表示圖象獲取裝置的框圖。圖35表示圖象存取裝置的框圖。圖36表示圖象直方圖裝置的框圖。圖37表示打印接口的框圖。圖38表示Memjet接口的框圖。圖39表示AEnable和BEnable脈沖寬度的生成過程。圖40表示點(diǎn)數(shù)計數(shù)邏輯的框圖。圖41表示打印生成裝置的接口。圖42表示打印生成裝置的框圖。圖43表示測試模式存取裝置的框圖。圖44表示緩沖器5的框圖。圖45表示緩沖器4的框圖。圖46表示向上內(nèi)插、半色調(diào)和重新格式化過程的框圖。圖47表示將標(biāo)準(zhǔn)抖動單元映射為交錯抖動單元的方式。圖48表示將RGB轉(zhuǎn)換為CMY過程的框圖。圖49表示緩沖器2的框圖。圖50表示使用3×3內(nèi)核的基本高通空間濾波器。圖51表示銳化裝置的框圖。圖52表示緩沖器1的結(jié)構(gòu)。圖53表示重新采樣和創(chuàng)建亮度信道過程的框圖。圖54表示卷積裝置的框圖。圖55表示從接收器生成的象素的順序。圖56表示在旋轉(zhuǎn)和不旋轉(zhuǎn)空間中沿x和y方向的運(yùn)動。圖57表示緩沖器1的綠色子緩沖器中的條目的地址。圖58表示依賴于旋轉(zhuǎn)的綠色條目之間的關(guān)系。圖59表示綠色信道的4×4采樣。圖60表示4×4綠色采樣類型1。圖61表示4×4綠色采樣類型2。圖62表示用于綠色的兩類行尋址。圖63表示緩沖器1的紅色和綠色子緩沖器中的條目的尋址。圖64表示為計算第一象素而讀取的前16個采樣。圖65表示從藍(lán)色和紅色緩沖器中讀取的4×4重疊塊的最壞情況。圖66表示旋轉(zhuǎn)、白平衡和范圍擴(kuò)展裝置的框圖。圖67表示所生成的坐標(biāo)空間內(nèi)的有效圖象區(qū)域。1PCP概述1.1高級功能概述Printcam中央處理器(PCP)擁有用于Printcam的所有處理能力,并且是專為Printcam數(shù)碼照相機(jī)系統(tǒng)而設(shè)計的。PCP3連接圖象傳感器1(用于圖象獲取),和Memjet打印機(jī)2(用于圖象輸出)。如圖1所示,在圖象處理方面,可以將PCP看作獲取圖象到輸出圖象的變換器·圖象傳感器1是一個CMOS圖象傳感器,用于獲取1500×1000的RGB圖象。圖象傳感器是圖象輸入設(shè)備。·打印頭2是一個4英寸長的1600dpi的Memjet打印頭,能夠打印三種顏色青、品紅和黃。打印頭為圖象輸出設(shè)備?!CP3記錄圖象傳感器1的圖象,處理該圖象,然后將該圖象的最終形式發(fā)送到打印頭2進(jìn)行打印。由于圖象傳感器1獲取的圖象為RGB格式,而打印頭2按照CMY格式打印,所以PCP3必須從RGB顏色空間轉(zhuǎn)換到CMY顏色空間。PCP3包含中間圖象處理需要的所有裝置,其中中間圖象處理包括白平衡、顏色校正、色彩轉(zhuǎn)換、圖象銳化和半色調(diào)處理。另外,PCP3控制用戶界面和整個打印過程,以支持各種圖象格式。PCP3還包含導(dǎo)入、導(dǎo)出相片的接口,其中相片符合DPOF(數(shù)碼打印指令格式)標(biāo)準(zhǔn)。1.2高級內(nèi)部概述PCP3是為使用0.25微米CMOS工藝進(jìn)行生產(chǎn)而設(shè)計的,大約有10,000,000個晶體管,其中大部分為快閃存儲器或靜態(tài)RAM。其估計面積為16mm2。其估計制造成本為4$(2001年)。PCP3是一個比較直接的設(shè)計,通過使用數(shù)據(jù)通路編譯技術(shù)、宏單元和IPcore,可以簡化其設(shè)計。PCP3包括·一個低速CPU/微型控制器核心10·1.5MB的多級快閃存儲器(每單元2比特)11·圖象獲取單元12內(nèi)的CMOS圖象傳感器接口98·16KB快閃存儲器13,用于程序存儲·4KBRAM14,用于程序變量存儲PCP3用于以約100MHz的時鐘速度運(yùn)行,其外部電壓為3V,內(nèi)部電壓為1.5V,以將功耗降到最底程度。實(shí)際操作頻率為打印頭操作頻率的整數(shù)倍。CPU10是一個微型控制器類型的CPU,運(yùn)行頻率約為1MHz。CPU10和CMOS傳感器接口12是可以為廠商提供的核心。圖2以分離形式表示PCP3的框圖。PCP3是為Printcam系統(tǒng)設(shè)計的。圖3表示與Printcam硬件的其他部分相連的PCP3的框圖。2打印頭背景PCP3是專為連接4英寸(10cm)的Memjet打印頭2設(shè)計的。打印頭2作為一個頁寬打印機(jī),用于在不移動打印頭2的情況下生成4英寸寬的打印圖象。如圖4所示,當(dāng)紙張20移動通過打印頭2時,在紙張20上進(jìn)行打印。2.14英寸打印頭的組成4英寸長的打印頭2包括8段,每段的長度為1/2英寸。段21的每一段在紙張的不同部分上打印二值青、品紅和黃點(diǎn),以生成最終圖象。各段的位置如圖5所示。由于打印頭2以1600dpi的精度打印圓點(diǎn),所以每個圓點(diǎn)的直徑為22.5μm,間隔為15,875μm。因此,每段(長為1/2英寸)打印800點(diǎn),其中8段的對應(yīng)位置為表1.每段訪問的最終圖象點(diǎn)盡管每段生成最終圖象的800點(diǎn),但是利用二值青、品紅和黃墨的組合表示每一點(diǎn)。由于打印是二值的,所以應(yīng)對輸入圖象進(jìn)行抖動或誤差擴(kuò)散以獲得最佳結(jié)果。每段21包括2400個噴嘴青、品紅和黃各800個。一個4英寸的打印頭2包含8段21,總計19,200個噴嘴。2.1.1對各段內(nèi)的噴嘴進(jìn)行分組對各段21內(nèi)的噴嘴22進(jìn)行分組,目的是為了物理穩(wěn)定性,并且將打印期間的功耗降到最底程度。在物理穩(wěn)定性方面,10個噴嘴共享同一墨池。在功耗方面,分組的目的是啟用低速和高速打印模式。打印頭2支持兩種打印速度,以便能在不同產(chǎn)品配置中提供不同的速度/功率的權(quán)衡。在低速打印模式中,同時加熱4英寸打印頭2的96個噴嘴22。應(yīng)使被加熱噴嘴22的間距最大,因此對每段的12個噴嘴22進(jìn)行加熱。要加熱所有的19,200個噴嘴,必須加熱200組不同噴嘴,每組包括96個噴嘴。在高速打印模式中,同時加熱4英寸打印頭2的192個噴嘴22。應(yīng)使被加熱噴嘴22的間距最大,因此對每段的24個噴嘴進(jìn)行加熱。要加熱所有的19,200個噴嘴,必須加熱100組不同噴嘴,每組包括192個噴嘴。低速模式的功耗為高速模式的一半。然而,請注意,在兩種情況中,打印每一行、每一頁所消耗的功率是相同的。在諸如電池供電的Printcam情況中,功耗需求規(guī)定使用低速打印。2.1.1.110個噴嘴構(gòu)成一個容器一個容器23包括10個噴嘴22,10個噴嘴22共享同一墨池。5個噴嘴22在一行上,5個在另一行上。每個噴嘴22生成一個直徑為22.5μm、間隔15.875μm的圓點(diǎn)。圖6表示單個容器的結(jié)構(gòu),噴嘴22的序號表示加熱順序。盡管按照以上順序?qū)娮?2進(jìn)行加熱,但是噴嘴22的關(guān)系以及打印頁上的點(diǎn)的物理位置是不同的。其中一行上的噴嘴22代表該頁上某一行中的偶數(shù)點(diǎn),而另一行上的噴嘴代表該頁上相鄰行中的奇數(shù)點(diǎn)。圖7表示具有噴嘴22的同一容器23,序號表示其加載順序。因此,容器23內(nèi)的噴嘴22的邏輯間隔為1個點(diǎn)的寬度。噴嘴22之間的精確距離依賴于Memjet加熱機(jī)制的性質(zhì)。打印頭2設(shè)計有交錯噴嘴,交錯噴嘴的目的是與紙張20的移動匹配。2.1.1.23個容器構(gòu)成一個色品容器將每種顏色(青、品紅和黃)的一個容器23分組為一個色品容器24。一個色品容器24代表由10個點(diǎn)組成的同一水平集合在不同行上的不同顏色分量。不同顏色容器23之間的精確距離取決于Memjet操作參數(shù),并且隨Memjet設(shè)計的不同而不同。該距離被認(rèn)為是固定數(shù)目的點(diǎn)寬度,因此,在打印時必須考慮該距離青色噴嘴打印的圓點(diǎn)與品紅或黃色噴嘴打印的圓點(diǎn)在不同行上。打印算法必須考慮顏色之間多達(dá)8個點(diǎn)寬度的可變距離(有關(guān)細(xì)節(jié)見表3)。圖8表示單個色品容器24。2.1.1.35個色品容器構(gòu)成一個色品群將5個色品容器24組織為一個色品群25。由于每個色品容器包含30個噴嘴22,所以每個色品群包含150個噴嘴22青、品紅和黃色噴嘴各50個。圖9表示其結(jié)構(gòu),其中色品容器序號為0-4。請注意,為了清晰而夸大了相鄰色品容器之間的距離。2.1.1.42個容器群構(gòu)成一個相群將2個容器群25組織為一個相群26。由于在指定的加熱相位(階段)中同時加熱某個相群內(nèi)的噴嘴組23(以下詳細(xì)說明),所以稱其為相群26。利用2個容器群組成一個相群的目的在于,通過2條PodgroupEnable(啟用容器群)線進(jìn)行低速和高速打印。在低速打印中,在指定的加熱脈沖中,只設(shè)置兩條PodgroupEnable線中的一條,因此兩個容器群中只有一個容器群加熱噴嘴。在高速打印中,同時設(shè)置兩條PodgroupEnable線,因此兩個容器群加熱噴嘴。所以,低速打印需要的時間是高速打印所需時間的兩倍,原因在于高速打印同時加熱的噴嘴數(shù)是低速打印的兩倍。圖10表示相群的組成。為了清晰而夸大了相鄰容器群之間的距離。2.1.1.52個相群構(gòu)成一個加熱群將2個相群(相群A和相群B)組織為一個加熱群27,每段4個相群。由于它們同時加熱同一噴嘴27,所以將其稱為加熱群27。兩條啟用線(AEnable和BEnable)允許在不同加熱相位中獨(dú)立加熱相群A的噴嘴和相群B的噴嘴。圖11表示其結(jié)構(gòu)。為了清晰而夸大了相鄰分組之間的距離。2.1.1.6噴嘴分組概要表2為打印頭中噴嘴分組的概要。表2.4英寸打印頭的噴嘴分組2.2加載和打印周期一個4英寸的打印頭2總共包含19,200個噴嘴22。一個打印周期包括根據(jù)打印信息加熱所有噴嘴。一個加載周期包括向打印頭加載需要在隨后的打印周期中打印的信息。各噴嘴22具有一個相關(guān)的NozzleEnable位,后者確定該噴嘴是否在打印周期中加熱。通過一組移位寄存器加載NozzleEnable位(每噴嘴一個)。邏輯上,每段有3個移位寄存器(每種顏色一個),每個寄存器的長度為800(比特)。當(dāng)將NozzleEnable位移動到指定顏色的移位寄存器時,將其引向交錯脈沖上的上下噴嘴。在內(nèi)部,每個800深度的移位寄存器由兩個400深度的移位寄存器組成一個用于上噴嘴,一個用于下噴嘴。將交錯位移動到內(nèi)部交錯寄存器中。然而,至于有關(guān)的外部接口,只有一個800深度的移位寄存器。在全部加載所有移位寄存器后(800個加載脈沖),以并行方式將所有位傳送到適當(dāng)?shù)腘ozzleEnable位中。這等同于并行傳送19,200比特。當(dāng)傳送發(fā)生時,打印周期開始。只要在打印周期結(jié)束時并行加載所有的NozzleEnable位,打印周期和加載周期就可以同時出現(xiàn)。2.2.1加載周期加載周期牽涉到向打印頭的移位寄存器加載下一個打印周期的NozzleEnable位。每段21具有3個與青、品紅和黃色移位寄存器有直接關(guān)系的輸入。這些輸入稱為CDataIn、MDataIn和YDataIn。由于有8段,所以每個4英寸打印頭共有24條彩色輸入線。SRClock線路上的一個脈沖(由8段共享)將24位傳送到適當(dāng)?shù)囊莆患拇嫫髦?。交錯脈沖分別將這些位傳送到上下噴嘴中。由于有19,200個噴嘴,所以該傳送操作共需800個脈沖。在傳送全部19,200位之后,共享PTransfer線路上的一個脈沖將移位寄存器中的數(shù)據(jù)并行傳送到適當(dāng)?shù)腘ozzleEnable位。通過PTransfer上的脈沖的并行傳送必須在打印周期結(jié)束后發(fā)生。否則,正在打印的行的NozzleEnable位將是錯誤的。由于利用單一SRClock脈沖加載全部8段21,所以打印過程必須按照正確順序生成打印頭的數(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個SRClock脈沖后,提供PTransfer脈沖。重要的是,在同一打印周期中打印的奇數(shù)和偶數(shù)CMY輸出并不出現(xiàn)在同一物理輸入線上。打印頭內(nèi)奇偶噴頭之間的物理間隔以及不同顏色的噴嘴之間的間隔,確保它們在該頁的不同行上生成圓點(diǎn)。當(dāng)向打印頭加載數(shù)據(jù)時,必須解決有關(guān)差異。各行中的實(shí)際差異取決于打印頭適用噴墨機(jī)制的特性。利用變量D1和D2定義其差異,其中D1是不同顏色的噴嘴之間的距離,D2是相同顏色的噴嘴之間的距離。表3表示在前4個脈沖上向打印頭的段n傳送的所有點(diǎn)。表3.向4英寸打印頭傳送的點(diǎn)的順序a.S=段號(0-7)b.D1=某種顏色的噴嘴和下一種顏色的噴嘴之間的線數(shù)(可能=4-8)c.D2=同一顏色的兩行噴嘴之間的線數(shù)(可能=1)等等,直至全部800個脈沖??梢砸?0MHz的最高速度,將數(shù)據(jù)輸入到打印頭中,20MHz的速度將在40μs內(nèi)加載下一行的所有數(shù)據(jù)。2.2.2打印周期一個4英寸打印頭2包含19,200個噴嘴22。要同時加熱所有噴嘴將消耗大量功率,并且會引起墨回補(bǔ)問題和噴嘴干擾。因此,定義兩種加熱模式高速打印模式和低速打印模式·在低速打印模式中,有200個相位,每個相位加熱96個噴嘴。這等同于每段12個噴嘴,即每個加熱群3個噴嘴。·在高速打印模式中,有100個相位,每個相位加熱192個噴嘴。這等同于每段24個噴嘴,即每個加熱群6個噴嘴。根據(jù)以下信號確定在指定加熱脈沖中加熱的噴嘴·3比特ChromapodSelect(從加熱群27中選擇5個色品容器24中的一個色品容器)·4比特NozzleSelect(從容器23的10個噴嘴22中選擇一個噴嘴)·2比特的PodgroupEnable線路(選擇要加熱的0、1或2容器群25)當(dāng)設(shè)置一條PodgroupEnable線路時,只有指定的容器群的4個噴嘴加熱,作為ChromapodSelect和NozzleSelect確定的噴嘴。當(dāng)設(shè)置兩條PodgroupEnable線路時,兩個容器群同時加熱其噴嘴。對于低速模式,需要兩個加熱脈沖,即PodgroupEnable=01和10。對于高速模式,只需要一個加熱脈沖,即PodgroupEnable=11。由AEnable和BEnable線路指定加熱脈沖的持續(xù)時間,AEnable和BEnable分別加熱所有加熱群中的相群A和相群B噴嘴。加熱脈沖的典型持續(xù)時間為1.3-1.8μs。脈沖的持續(xù)時間取決于墨的粘性(取決于溫度和墨特性)以及打印頭使用的功率。有關(guān)為補(bǔ)償溫度變化而利用打印頭之反饋的詳細(xì)信息,請參見第18頁上的2.3一節(jié)。AEnable和BEnable是獨(dú)立線路,目的是加熱脈沖能夠重疊。因此,200個相位的低速打印周期包括100個A相位和100個B相位,從而能夠有效提供100組相位A和相位B。同樣,100個相位的高速打印周期包括50個A相位和50個B相位,從而能夠有效提供50組相位A和相位B。圖12表示典型打印周期中的AEnable和BEnable線路。在高速打印中有50個2μs的周期,而在低速打印中有100個2μs的周期。對于高速打印模式,加熱順序?yàn)椤hromapodSelect0,NozzleSelect0,PodgroupEnable11(相位A和B)·ChromapodSelect1,NozzleSelect0,PodgroupEnable11(相位A和B)·ChromapodSelect2,NozzleSelect0,PodgroupEnable11(相位A和B)·ChromapodSelect3,NozzleSelect0,PodgroupEnable11(相位A和B)·ChromapodSelect4,NozzleSelect0,PodgroupEnable11(相位A和B)·ChromapodSelect0,NozzleSelect1,PodgroupEnable11(相位A和B)·…·ChromapodSelect3,NozzleSelect9,PodgroupEnable11(相位A和B)·ChromapodSelect4,NozzleSelect9,PodgroupEnable11(相位A和B)對于低速打印模式,加熱順序類似。對于PodgroupEnable為11的高速模式的每個相位,替換為以下兩個相位PodgroupEnable=01和10·ChromapodSelect0,NozzleSelect0,PodgroupEnable01(相位A和B)·ChromapodSelect0,NozzleSelect0,PodgroupEnablc10(相位A和B)·ChromapodSelect1,NozzleSelect0,PodgroupEnable01(相位A和B)·ChromapodSelect1,NozzleSelect0,PodgroupEnable10(相位A和B)·…·ChromapodSelect3,NozzleSelect9,PodgroupEnable01(相位A和B)·ChromapodSelect3,NozzleSelect9,PodgroupEnable10(相位A和B)·ChromapodSelect4,NozzleSelect9,PodgroupEnable01(相位A和B)·ChromapodSelect4,NozzleSelect9,PodgroupEnable10(相位A和B)當(dāng)噴嘴22加熱時,大約需要100μs進(jìn)行回補(bǔ)。不能在回補(bǔ)時間過去前加熱噴嘴22。從而每行的最高打印速度為100μs。在高速打印模式中,打印一行的時間是100μs,因此從加熱某一行中的噴嘴到加熱下一行中的噴嘴的時間與回補(bǔ)時間匹配,所以高速打印模式是可接受的。低速打印模式比高速打印模式慢,因此也是可接受的。加熱噴嘴22會在有限時間內(nèi)在該噴嘴之容器23的公用墨池內(nèi)造成聲學(xué)擾動。該擾動干擾同一容器23內(nèi)的其他噴嘴的加熱。所以,容器內(nèi)的噴嘴的加熱應(yīng)盡量偏移。因此,我們加熱色品容器24內(nèi)的3個噴嘴(每種顏色一個噴嘴22),然后移動到容器群25內(nèi)的下一個色品容器24?!ぴ诘退俅蛴∧J街?,獨(dú)立加熱容器群25。因此,在第一色品容器再次加熱前,兩個容器群中的5個色品容器24必須全部加熱,共計10×2μs周期。所以,每20μs加熱容器23一次?!ぴ诟咚俅蛴∧J街?,同時加熱容器群25。因此,在第一色品容器再次加熱前,一個容器群中的5個色品容器24必須全部加熱,共計5×2μs周期。所以,每10μs加熱容器23一次。由于墨通道的長度為300μm,并且聲音在墨中的速度約為1500m/s,所以墨通道的諧振頻率為2.5MHz,從而低速模式允許50個諧振周期供聲學(xué)脈沖衰減,而高速模式允許25個諧振周期。因此在兩種情況中都能將聲學(xué)干擾降到最底程度。2.2.3采樣定時例如,正如Printcam要求的那樣,考慮在2秒內(nèi)打印一張4″×6″相片的定時。為了在2秒內(nèi)打印一張相片,4英寸打印頭必須打印9600行(6×1600)。在2秒內(nèi)完成10,000行,相當(dāng)于每行200μs。必須在該時間內(nèi)完成一個打印周期和一個加載周期。另外,打印頭外部的物理處理必須適當(dāng)?shù)匾苿酉嗉?。從打印觀點(diǎn)看,低速打印模式允許4英寸打印頭在200μs內(nèi)打印一整行。在低速打印模式中,每加熱脈沖中有96個噴嘴22加熱,從而能夠在特定時間內(nèi)打印一整行。打印頭2的800個SRClock脈沖(每個時鐘脈沖傳送24位)必須在200μs的行時間內(nèi)發(fā)生。SRClock脈沖的長度不能超過200μs/800=250ns,這表示打印頭的時鐘周期為4MHz。另外,計算各比特值(19,200個噴嘴的每個噴嘴)的平均時間不能超過200μs/19,200=10ns。從而需要按如下速度運(yùn)行的點(diǎn)生成器·100MHz,生成1位(點(diǎn))/周期·50MHz,生成2位(點(diǎn))/周期·25MHz,生成4位(點(diǎn))/周期2.3打印頭的反饋打印頭2生成幾行反饋(累計8段的反饋)。反饋線用于調(diào)整加熱脈沖的定時。盡管各段生成相同反饋,但是所有段的反饋共享相同的三態(tài)總線。所以,每次只有一段21能夠提供反饋。SenseSegSelect線路上的脈沖與有關(guān)青色數(shù)據(jù)的邏輯與啟用該段的傳感線路。反饋傳感線路將來自所選段,直至下一個SenseSegSelect脈沖。反饋傳感線路如下·Tsense通知控制器打印頭有多熱。這允許控制器調(diào)整加熱脈沖的定時,因?yàn)闇囟扔绊懩恼承??!sense通知控制器致動器能使用的電壓。從而控制器能夠通過調(diào)整脈沖寬度來補(bǔ)償其電壓下降的電池或高壓電源?!sense通知控制器致動加熱器的電阻率(每方歐姆)。從而控制器能夠調(diào)整脈沖寬度以便維持在恒定功率,而不考慮加熱器的電阻率?!sense通知控制器加熱器的關(guān)鍵部分的寬度,由于平板印刷和蝕刻,其寬度會有±5%的變化。從而控制器能夠適當(dāng)?shù)卣{(diào)整脈沖寬度。2.4特殊周期2.4.1預(yù)熱周期打印過程的一個顯著趨勢是保持在平衡溫度。為了確保第一次選擇的打印相片具有一致的圓點(diǎn)尺寸,必須在打印任何圓點(diǎn)前滿足平衡溫度。這是通過預(yù)熱周期實(shí)現(xiàn)的。預(yù)熱周期包含應(yīng)用于所有噴嘴的一個加載周期(即,設(shè)置所有要加熱的噴嘴),該周期為1秒,以及應(yīng)用于各噴嘴的許多短暫加熱脈沖。脈沖的持續(xù)時間必須不足以噴射墨滴,但足以加熱墨。每個噴嘴總共需要200個脈沖,按照標(biāo)準(zhǔn)打印周期的相同次序發(fā)出脈沖。在預(yù)熱模式期間,由Tsense提供反饋,直至達(dá)到平衡溫度(約高于環(huán)境30℃)。預(yù)熱模式的持續(xù)時間約為50毫秒,并且取決于墨的成分。在每個打印作業(yè)前執(zhí)行預(yù)熱。因?yàn)樵谙虼蛴C(jī)傳送頁面數(shù)據(jù)時執(zhí)行預(yù)熱,所以這并不影響打印機(jī)的性能。2.4.2清潔周期為了降低噴嘴堵塞的可能性,可以在每個打印作業(yè)前執(zhí)行清潔周期。每個噴嘴向吸收海綿噴射幾次。清潔周期包含應(yīng)用于所有噴嘴的一個加載周期(即,設(shè)置所有要加熱的噴嘴),該周期為1秒,以及應(yīng)用于各噴嘴的許多加熱脈沖。通過與標(biāo)準(zhǔn)打印周期相同的噴嘴加熱次序,清潔各噴嘴。各噴嘴22的加熱次數(shù)取決于墨的成分,以及打印機(jī)的閑置時間,如同預(yù)熱一樣,清潔周期并不影響打印機(jī)的性能。2.5打印頭接口概要一個4英寸的打印頭2具有以下連接表4.4英寸打印頭連接在4英寸打印頭的內(nèi)部,每段到連接容器的電路為表5.4英寸打印頭內(nèi)部段的連接3圖象處理鏈以上各節(jié)只設(shè)計PCP功能性的最高級概要,將CFA圖象映射為各種輸出打印格式。實(shí)際上,從圖象傳感器中取得圖象,然后生成高質(zhì)量的輸出打印涉及許多步驟??梢詫⒏呒壧幚韯澐譃閮蓚€圖象處理鏈,每個處理鏈具有許多步驟·圖象獲取鏈·打印鏈圖象獲取鏈涉及從圖象傳感器中獲取圖象,并且在Printcam內(nèi)本地存儲。打印鏈涉及取得存儲的圖象,然后打印。以上兩個處理鏈按以下方式映射到基礎(chǔ)Printcam功能性·取象并打印=圖象獲取鏈,然后是打印鏈·重新打?。酱蛴℃溊纾脩艨梢源蛴∫粡埿D(取象并打印),并且如果對結(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?!ぽ敵鰣D象用于CMY顏色空間中的Memjet打印頭(二值點(diǎn),分辨率為1600dpi),并且輸出寬度相同(4英寸寬)。3.0.1支持的打印格式如表6所示,PCP3支持各種輸出打印格式。在所有情況中,圖象的寬度總是4英寸(與打印頭的寬度匹配)。只有打印輸出的長度改變。表6.支持的圖象格式圖象傳感器并不提供方向信息。所有圖象都是以相同分辨率(1500×1000)獲取的,并且可能需要在打印輸出前旋轉(zhuǎn)90度。圖13表示獲取的CFA圖象和支持的各種打印格式之間的映射。請注意,盡管將該圖表示為逆時針旋轉(zhuǎn)90度,也可以順時針或逆時針旋轉(zhuǎn)該圖象。3.1圖象獲取鏈圖象獲取鏈負(fù)責(zé)從圖象傳感器中取得圖象,并在Printcam內(nèi)本地存儲。圖象獲取鏈涉及許多只在圖象獲取期間執(zhí)行的處理。圖14表示圖象獲取鏈,以下幾部分詳細(xì)說明其子部件。3.1.1圖象傳感器1輸入圖象來自圖象傳感器1。盡管可以使用各種圖象傳感器,但是我們只考慮拜爾彩色濾鏡陣列(CFA)。拜爾CFA具有許多本文定義的屬性。假設(shè)已經(jīng)充分過濾了CMOS傳感器1(通過取象透鏡)獲取的圖象,以消除鋸齒現(xiàn)象。傳感器本身的長寬比為3∶2,具有1500×1000分辨率的采樣。最可能的象素結(jié)構(gòu)為拜爾彩色濾鏡陣列(CFA),其中圖15表示在2G鑲嵌面中排列的各2×2象素塊。R、G、B(分別對應(yīng)于紅、綠、藍(lán))的各連續(xù)色調(diào)采樣是10比特。請注意,鑲嵌面的每個象素僅包含有關(guān)R、G、B之一的信息。必須在打印輸出前估計丟失的彩色信息。認(rèn)為CFA執(zhí)行適當(dāng)?shù)墓潭J皆肼?PFN)抑制。3.1.2線性化RGB40·圖象傳感器40未必有完整的線性響應(yīng)。因此,必須認(rèn)為來自CFA的10比特RGB采樣是非線性的。通過查找表(每種顏色一個)將這些非線性采樣轉(zhuǎn)換為8比特的線性采樣。來自CFA0行、2行、4行等的象素編入R和G表,而來自CFA1行、3行、5行等的象素編入G和B表。該處理完全獨(dú)立于照相機(jī)的方向。圖16表示該處理。每個查找表需要的總存儲量為210×8比特。因此,3個查找表45共需3KB(3×210字節(jié))。3.1.3平面化RGB41由于象素的拜爾鑲嵌面的性質(zhì),所以從CFA獲得的象素使其顏色平面交錯。這意味著在偶數(shù)水平線上,一個紅色象素后跟一個綠色象素,然后是另一個紅色象素,不同顏色平面互相交錯。在某些圖象處理系統(tǒng)中,交錯格式非常有用。然而,在Printcam處理系統(tǒng)中,該算法在平面RGB上更有效。平面化的圖象是已經(jīng)分成其組成色的圖象。在CFARGB的情況中,有3個獨(dú)立圖象一個僅包含紅色象素的圖象,一個僅包含藍(lán)色象素的圖象,以及一個僅包含綠色象素的圖象。請注意,每個平面僅代表實(shí)際采樣顏色的象素。在平面化處理中不進(jìn)行重新采樣。因此,不互相登記R、G、B平面,并且G平面為R平面或B平面的兩倍。圖17表示該處理。實(shí)際處理非常簡單—取決于讀取的象素的顏色,將輸出象素發(fā)送到適當(dāng)顏色平面的圖象中的下一位置(因此,與CFA中的方向相同)。紅色45和藍(lán)色47平面圖象為原始CFA圖象的四分之一。它們是每個維數(shù)的分辨率的一半。因此,紅色和藍(lán)色圖象是750×500象素,在CFA空間(1500×1000)中,紅色圖象在x和y維數(shù)上偏離藍(lán)色圖象一個象素。盡管綠色平面圖象46的大小是原始CFA圖象的一半,但是其布局設(shè)計并不象紅色和藍(lán)色那樣簡單。原因在于綠色平面的交錯排列布局。在綠色平面的一行上是奇數(shù)象素,在綠色平面的下一行上是偶數(shù)象素。因此,綠色平面的交錯行代表CFA圖象內(nèi)的奇數(shù)象素和偶數(shù)象素。所以綠色平面圖象是750×1000象素。從而具有重新采樣處理分支(參見28頁上的“重新采樣64”)。3.1.4存儲的圖象42將線性化的RGB圖象的各顏色平面寫入存儲器中,以便臨時存儲。存儲器應(yīng)為快閃存儲器11,以便在關(guān)閉電源后繼續(xù)保存圖象。平面化的線性RGB圖象需要的總存儲量是1,500,000字節(jié)(約為1.5MB),其排列為·R750×500=375,000字節(jié)·G750×500=375,000字節(jié)·B750×1000=750,000字節(jié)3.2打印鏈打印鏈包括從存儲器中取得現(xiàn)有圖象42,然后打印到Memjet打印機(jī)2。通常獲取圖象后就打印該圖象,盡管也可以重新打印(即,無需重新獲取)。為了從獲取的CFA圖象中生成高質(zhì)量的打印,圖象處理鏈包括許多步驟。圖18表示打印鏈。將打印鏈劃分為三個工作分辨率。第一分辨率是原始圖象獲取空間50(與CFA的圖象空間相同),第二分辨率是中分辨率51(每行有1280個連續(xù)色調(diào)象素),第三分辨率是打印機(jī)分辨率52,每行有6400個二值點(diǎn)。3.2.1輸入圖象正如3.1.4部分中說明的圖象獲取鏈的存儲方式一樣,輸入圖象是以平面形式存儲的線性化的RGB圖象42。3.2.2收集統(tǒng)計數(shù)字在執(zhí)行諸如白平衡和范圍擴(kuò)展之類的處理前,需要收集整個圖象的許多統(tǒng)計數(shù)字。對于特定的獲取圖象42的所有打印,只需收集一次統(tǒng)計數(shù)字,并且可以分別收集紅、綠、藍(lán)色平面圖象的統(tǒng)計數(shù)字。3.2.2.1構(gòu)建直方圖第一步是構(gòu)建各顏色平面的8比特值的直方圖。每個1500×1000CFA圖象總共包含·375,000個紅色象素(至少需要一個19比特的計數(shù)器)·375,000個藍(lán)色象素(至少需要一個19比特的計數(shù)器)·750,000個綠色象素(至少需要一個20比特的計數(shù)器)因此,存儲直方圖需要一個256×20比特的表。正如以下偽碼所示,構(gòu)建直方圖的過程非常簡單ForI=0to255Entry[I]=0EndForForPixel=ImageStarttoImageEndp=Image[Pixel]Entry[p]=Entry[p]+1EndFor3.2.2.2確定高低閾值在構(gòu)造顏色平面的直方圖后,可以使用直方圖來確定高低閾值。在打印期間,白平衡和范圍擴(kuò)展的自動化處理需要以上閾值。根據(jù)直方圖中象素數(shù)的閾值,我們認(rèn)為可以“犧牲”n%的最暗象素,從而使這些象素相等。同樣,我們認(rèn)為可以“犧牲”n%的最亮象素,從而使這些象素相等。期望n的準(zhǔn)確值為5%,這取決于CFA的響應(yīng)特性。確定n%的最暗值很簡單。包括從0計數(shù)開始向上(即,0,1,2,3等)遍歷該顏色平面的直方圖,直至到達(dá)總數(shù)的n%,即從零開始遍歷到某個總數(shù)。我們認(rèn)為這些值中的最大值為該顏色平面的低閾值。盡管這些最暗值之間有差異,但是為了范圍擴(kuò)展和顏色平衡可以犧牲這些差異。確定n%的最亮值的過程類似。包括從255計數(shù)開始向下(即,255,254,253等)遍歷該顏色平面的直方圖,直至到達(dá)總數(shù)的n%,即從255開始遍歷到某個總數(shù)。我們認(rèn)為這些值中的最小值為該顏色平面的高閾值。盡管這些最亮值之間有差異,但是為了范圍擴(kuò)展和顏色平衡可以犧牲這些差異。在離開0或255一定距離后停止的原因在于補(bǔ)償以下兩類圖象·原始動態(tài)范圍低的圖象,或·圖象中沒有白色或黑色的圖象在以上兩種情況中,我們不希望犧牲n%的高低值,因?yàn)殚_始范圍較小。我們可以將高73和低72閾值設(shè)置為實(shí)際采樣的象素值的范圍外。精確距離取決于CFA,但是將是兩個常數(shù)。圖19表示顏色平面的采樣顏色范圍。請注意,盡管圖象顏色平面的象素范圍有可能是0-255,但是該特定圖象的范圍較小。同時,n%的直方圖范圍70、71表示的低端范圍70大于高端范圍71。原因在于與低端相比,該直方圖包含的高值象素更接近。必須分別確定各顏色平面的高73和低72閾值。該信息用于計算白平衡和范圍擴(kuò)展中使用的范圍比例和偏移因子。以下偽碼表示確定兩個閾值的過程(為了查找低閾值,StartPosition=255,Delta=1。為了查找高閾值,StartPosition=0,Delta=-1)。該偽碼假設(shè)Threshold是一個8比特值,其中在進(jìn)行加法時回繞。Threshold=StartPositionTotal=0TotalDelta=0While((TotalDelta<MaxDelta)AND(Total<MaxPixels))Threshold=Threshold+DeltaTotal=Total+Entry[Threshold]TotalDelta=TotalDelta+1EndWhileReturnThreshold3.2.3旋轉(zhuǎn)圖象61在獲取、打印和重新打印過程中,旋轉(zhuǎn)圖象61是一個可選步驟。正如圖13所示,不同打印格式需要相對與CFA方向?qū)⒃搱D象旋轉(zhuǎn)0度或90度。旋轉(zhuǎn)量取決于當(dāng)前選擇的打印格式。盡管旋轉(zhuǎn)方向并不重要(由于新方向僅僅是為了方便打印頭的寬度,所以可以順時針或逆時針旋轉(zhuǎn)),旋轉(zhuǎn)方向影響3個顏色平面的相關(guān)讀數(shù)。表7概要說明各種打印格式需要從原始CFA方向旋轉(zhuǎn)的角度。表7.各種打印格式需要從CFA方向旋轉(zhuǎn)的角度由于只需旋轉(zhuǎn)0度或90度,所以在旋轉(zhuǎn)處理中不丟失信息。如果旋轉(zhuǎn)0度,則可以逐行讀取圖象,如果旋轉(zhuǎn)90度,可以逐列讀取圖象。讀取3個顏色平面必須考慮旋轉(zhuǎn)方向。3.2.4白平衡62和范圍擴(kuò)展63相片很少是在理想照明條件下拍攝的。即使非?!巴昝赖恼彰鳁l件”也是充滿主觀性的,包括照相師方面的主觀性和主體方面的主觀性。然而,在所有情況中,利用來自光源(如日光或室內(nèi)照明)或相片主體特有發(fā)光體(如霓虹燈)的光線,照射相片主體。在大部分照明條件中,照相師看作“白”光的光源通常并不是白色的。例如,室內(nèi)光通常具有黃色光線,該黃色光線將出現(xiàn)在未修正的相片上。對大部分人而言,最終未修正相片上出現(xiàn)黃色光線是不正常的。盡管與拍攝相片時的觀察條件一致,但它與物體的感覺色彩不一致。因此,在打印輸出前對相片進(jìn)行白平衡是很關(guān)鍵的。同樣,如果擴(kuò)展顏色的動態(tài)范圍以便與各顏色平面的滿標(biāo)度一致,則會感覺到圖象的質(zhì)量較高。在以更高的分辨率對圖象重新采樣前,以上處理非常有用。如果動態(tài)范圍較高,則在內(nèi)插的象素位置中可使用中間值,從而避免出現(xiàn)分級或塊狀圖象。范圍擴(kuò)展的目的是向?qū)嶋H采樣值提供全部256個值范圍。在最佳情況中,將最小值映射為0,將最大值映射為255。將所有中間值按比例映射為0到255之間的值。數(shù)學(xué)上,所執(zhí)行的操作是將LowThreshold72變化為0,然后乘以某個比例。公式為Pixel′=(Pixel-LowThreshold)×RangeScaleFactor其中RangeScaleFactor=256(HighThreshold-LowThreshold)]]>將RangeScaleFactor限制在最大值,以免將范圍擴(kuò)得太大。;有關(guān)計算LowThreshold72的細(xì)節(jié),請參見3.2.2一節(jié)中的“收集統(tǒng)計數(shù)字”。每種顏色的LowThreshold和RangeScaleFactor各不相同,并且每個圖象只需計算一次。如圖20所示,可以同時進(jìn)行以上兩項(xiàng)工作。由于此步驟涉及縮放處理,因此在映射值中可以保留分?jǐn)?shù)部分,如,值12映射到5.25。將一個10比特的結(jié)果(8比特整數(shù),2比特分?jǐn)?shù))傳送到圖象處理鏈的下一階段,而不是丟棄分?jǐn)?shù)部分。雖然提供的存儲器不能以高于8比特的分辨率存儲整幅圖象,但是可以在重新采樣階段中使用更高分辨率。因此,輸入圖象是8比特,輸出圖象的每種顏色分量是10比特。圖21表示其邏輯處理。在進(jìn)行減法運(yùn)算時,重要的是具有最低限度0,從而將低于LowThreshold72的所有值映射為0。同樣,乘法運(yùn)算結(jié)果的整數(shù)部分必須具有最高限度255,從而將高于HighThreshold73的輸入值映射為255。3.2.5重新采樣64CFA圖象只提供每個象素(x,y)坐標(biāo)單一顏色分量。為了生成最終打印圖象,需要獲得各象素的其他顏色分量。最后,我們需要各象素的青、品紅和黃色分量,但是,要獲得青、品紅和黃色,我們需要紅、綠、藍(lán)。如果有某個特定位置的紅色分量,則需要估計藍(lán)和綠?;騽t如果有綠色分量,則需要估計紅和藍(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)插圖象存儲的各顏色分量高于8比特,否則在最終按比例提高到打印分辨率時,將不能正確內(nèi)插中間值。另一個缺點(diǎn)是,需要一個按比例提高部件,該部件能夠在每個周期內(nèi)生成1個打印分辨率內(nèi)插值?!?nèi)插到打印分辨率,然后執(zhí)行銳化和顏色轉(zhuǎn)換。其優(yōu)點(diǎn)在于,只有一個重新采樣處理,從而提供最高準(zhǔn)確度。然而,其缺點(diǎn)是,需要一個按比例提高部件,該部件能夠在每個周期內(nèi)生成1個雙三次內(nèi)插值,同時平均在每個周期內(nèi)執(zhí)行銳化和顏色轉(zhuǎn)換。銳化內(nèi)核必須足夠大,以便將CFA分辨率內(nèi)核應(yīng)用于高分辨率圖象。更糟的是,對銳化處理,至少必須在輸出圖象上保持3個窗口(每個窗口包含6400行),這是因?yàn)樵谝粋€打印周期中,青、品紅和黃點(diǎn)表示互不相同的6行中的點(diǎn)。以上兩種情況都沒有考慮以下事實(shí),即最終打印輸出是二值圖象而不是連續(xù)色調(diào)圖象。因此,可以對重新采樣進(jìn)行折衷,并且獲得最佳結(jié)果。解決方案是內(nèi)插到中分辨率。以中分辨率進(jìn)行銳化和顏色變換,然后按比例提高到打印分辨率。中分辨率必須足夠低,以采用較小的銳化內(nèi)核和顏色變換定時。但是,中分辨率必須足夠高,從而在按比例提高到打印分辨率的二值圖象時不損失質(zhì)量。其效果必須與一次(而不是二次)內(nèi)插到打印分辨率的效果相同。由于打印圖象是以1600dpi抖動二值點(diǎn)的方式打印的,所以能夠利用320dpi的連續(xù)色調(diào)圖象無損表示。因此,1280連續(xù)色調(diào)象素的中分辨率提供6400二值點(diǎn)上的無損質(zhì)量。從1280提高到6400的縮放比率為1∶5。為了確定重新采樣的最佳方法,最好考慮與CFA分辨率有關(guān)的各顏色平面。圖22表示旋轉(zhuǎn)0度的顏色平面。3.2.5.1紅色45和藍(lán)色47考慮紅色45和藍(lán)色47平面,通過將每個維數(shù)的采樣象素數(shù)放大2倍,可以創(chuàng)建該顏色平面的全CFA分辨率圖象。借助重建過濾器(如Lanczos或指數(shù)過濾器),可以生成中間象素。因?yàn)閮?nèi)核是對稱的,所以只需一維內(nèi)核。由于紅色和藍(lán)色在CFA采樣空間內(nèi)的初始表示的偏移不同,所以內(nèi)核中的初始位置不同。將輸出坐標(biāo)(在1280空間中)映射到輸入坐標(biāo)依靠圖象的當(dāng)前旋轉(zhuǎn),原因在于登記旋轉(zhuǎn)象素變化的緣故(0度或90度,取決于打印格式)。因此,對于紅色和藍(lán)色,以下關(guān)系成立其中x,y=中分辨率空間中的坐標(biāo)x′,y′=輸入空間中的坐標(biāo)mps=每個輸入空間采樣的中分辨率象素k1,2={0,-0.5}取決于旋轉(zhuǎn)這意味著給定輸入空間中的起始位置,通過將1/mps的Δx和Δy以及0分別增加1279次,可以生成一行新的中分辨率象素??梢灾苯邮褂幂斎肟臻g中x和y的分?jǐn)?shù)部分查找用于圖象重建和重新采樣的內(nèi)核系數(shù)。請注意,k1和k2為0和-0.5,取決于將該圖象旋轉(zhuǎn)0度還是旋轉(zhuǎn)90度。表8表示紅色和藍(lán)色平面中k1和k2的值,其中旋轉(zhuǎn)90度是逆時針旋轉(zhuǎn)。表8.k1和k2的旋轉(zhuǎn)結(jié)果(旋轉(zhuǎn)是逆時針旋轉(zhuǎn))每個采樣的中分辨率象素數(shù)(mps)取決于打印格式。假設(shè)不旋轉(zhuǎn)時,平面化的RGB圖象的紅色和藍(lán)色平面分辨率為R750×500,B750×500,則不同輸出格式(見第17頁上的圖13)的比例系數(shù)如表9所示。請注意,對于護(hù)照圖象格式,將整個圖象重新采樣為輸出空間的1/4。表9.圖象格式的紅色和藍(lán)色比例系數(shù)正如從表9中看到的那樣,所有圖象都需要按比例放大紅色和藍(lán)色圖象。因此,重新采樣處理不會引入鋸齒現(xiàn)象。3.2.5.2綠色46不能按照紅色和藍(lán)色平面的方法,簡單地按比例放大綠色平面46,原因在于綠色平面的每一行表示不同象素,即交錯行上的奇數(shù)和偶數(shù)象素。盡管就象素數(shù)而言,表示綠色圖象為750×1000,但是可以將該圖象說成是1500×500。上述混淆是由綠色象素的交錯排列性質(zhì)造成的,其中沿x和y維數(shù)方向的象素之間的距離不相等,并且不能準(zhǔn)確映射到圖象重建和重新采樣。其他系統(tǒng)為綠色平面重建所使用的內(nèi)插方法的數(shù)目就是一個證明—從最近鄰域復(fù)制到線性內(nèi)插到雙線性內(nèi)插和啟發(fā)式重建。對綠色平面而言,將輸出坐標(biāo)(在1280空間中)映射到輸入坐標(biāo)與用于紅色和綠色映射的概念相同。該映射依靠圖象的當(dāng)前旋轉(zhuǎn),原因在于登記旋轉(zhuǎn)象素變化的緣故(0度或90度,取決于打印格式)。因此,對于綠色平面以下關(guān)系成立其中x,y=中分辨率空間中的坐標(biāo)x′,y′=輸入空間中的坐標(biāo)mps=每個輸入空間采樣的中分辨率象素k1,2={0,-0.5}取決于旋轉(zhuǎn)對于紅色45和藍(lán)色47平面,每個采樣的中分辨率象素數(shù)(mps)取決于打印格式。假設(shè)不旋轉(zhuǎn)時,平面化的RGB圖象的平面分辨率為R750×500,B750×500,G750×1000,則不同輸出格式(見圖13)的比例系數(shù)如表10所示。請注意,對于護(hù)照圖象格式,將整個圖象重新采樣為輸出空間的1/4。表10.圖象格式的綠色平面比例系數(shù)以上比例系數(shù)允許CFA分辨率輸入空間和中分辨率空間之間的坐標(biāo)映射。然而,如果擁有CFA分辨率輸入空間中的坐標(biāo),則不能象紅色和藍(lán)色那樣,在采樣上執(zhí)行圖象重建和重新采樣,原因在于綠色平面的交錯排列性質(zhì)。為了高質(zhì)量的圖象重建和重新采樣,可以認(rèn)為綠色信道是一個旋轉(zhuǎn)45度的圖象。如圖23所示,當(dāng)按此種方式考慮象素時,高質(zhì)量圖象重建和重新采樣方法是清楚的??紤]圖23,現(xiàn)在沿x和y方向的采樣象素之間的距離相等。正如圖24所示,采樣象素之間的距離為√2。因此,綠色信道的解決方案是在旋轉(zhuǎn)空間中執(zhí)行圖象重建和重新采樣。盡管使用用于紅色和藍(lán)色重新采樣的重建過濾器,但其內(nèi)核不同。因?yàn)榫G色采樣率和該信號中最高頻率之間的關(guān)系,與紅色和藍(lán)色平面的關(guān)系不同。另外,就內(nèi)核坐標(biāo)而論,應(yīng)正規(guī)化內(nèi)核,以便采樣之間的√2距離成為1(然而,仍然使用重新采樣坐標(biāo)之間的非正規(guī)化距離來確定是否出現(xiàn)鋸齒)。因此,需要兩種變換·第一種變換是將不旋轉(zhuǎn)的CFA空間映射到旋轉(zhuǎn)的CFA空間。通過將各縱坐標(biāo)乘以1/√2實(shí)現(xiàn)該變換,因?yàn)樾D(zhuǎn)45度(cos45=sin45=1/√2)。·第二種變化是縮放坐標(biāo)以匹配正規(guī)化內(nèi)核,通過將各縱坐標(biāo)乘以1/√2實(shí)現(xiàn)。以上兩種變換聯(lián)合得到放大系數(shù)1/2。因此,在不旋轉(zhuǎn)的CFA空間中,當(dāng)將x增加k時,將內(nèi)核x增加k/2,將內(nèi)核y減少k/2。同樣,當(dāng)將y增加k時,將內(nèi)核x增加k/2,將內(nèi)核y增加k/2。通過考慮根據(jù)CFA空間輸入圖象生成一行中分辨率象素時發(fā)生的事情,可以說明不同坐標(biāo)系之間的關(guān)系。給定CFA輸入空間中的y縱坐標(biāo),我們從x=0開始,每次增加1/mps,共計1280次,從而在每個新位置生成一個新象素??梢詫⒃诓恍D(zhuǎn)的CFA空間中移動1/mps,分解為在旋轉(zhuǎn)CFA空間中沿x和y方向的移動。圖25表示該過程。由于cos45=sin45=1/√2,所以在不旋轉(zhuǎn)的CFA空間中移動1/mps等價于沿x和y移動1/(mps/√2)。必須對該數(shù)值進(jìn)行縮放,以匹配正規(guī)化內(nèi)核??s放等價于再乘以1/√2。因此,在不旋轉(zhuǎn)的CFA空間中移動1/mps等價于在內(nèi)核x和內(nèi)核y中移動1/2mps。表11列出不同格式的三種坐標(biāo)系之間的關(guān)系表11.不同圖象格式的綠色平面內(nèi)核Δ值表11表示內(nèi)核空間中的移動總是乘以一個小于1的數(shù),而在旋轉(zhuǎn)的CFA空間中,只有護(hù)照圖象的Δ值大于1。因此,護(hù)照打印格式出現(xiàn)鋸齒,而其他格式不會出現(xiàn)鋸齒。然而,假設(shè)Δ近似等于1,并且四種圖象的大小僅為1/4,不會出現(xiàn)明顯鋸齒,特別是在圖象獲取期間對綠色采取低通濾波時。3.2.5.3紅、綠、藍(lán)的重建過濾器要使用的精確重建過濾器取決于許多問題。通常在構(gòu)造原始信號中使用的采樣數(shù)、信號重建所需的時間和重新采樣圖象的質(zhì)量之間進(jìn)行折衷。在該情況中,一個令人滿意的折衷是正在重建的維數(shù)中的5個象素采樣,以估計位置X為中心,即X-2,X-1,X,X+1,X+2。由于利用5個采樣點(diǎn)進(jìn)行重建,因此,卷積內(nèi)核中的條目只需要4個系數(shù)。對于每種顏色分量,創(chuàng)建一個具有n個條目的內(nèi)核系數(shù)查找表。每個條目具有4個系數(shù)。當(dāng)我們在輸出空間中前進(jìn)時,將輸出空間中的變化映射為輸入空間和內(nèi)核空間中的變化。當(dāng)前內(nèi)核空間中的分?jǐn)?shù)部分的最高有效位用于編寫內(nèi)核系數(shù)表的索引。如果內(nèi)核表中有64項(xiàng),則利用分?jǐn)?shù)的前6位查找系數(shù)。64項(xiàng)足夠Printcam中的重新采樣。3.2.6銳化65在打印前,必須對CFA獲取的圖象進(jìn)行銳化處理。理論上,應(yīng)該在CFA分辨率范圍內(nèi)應(yīng)用銳化過濾器。然而,在該圖象的獲取分辨率,我們沒有各象素的彩色信息。我們僅有指定象素位置的紅、藍(lán)或綠色信息。獨(dú)立銳化每個顏色平面會引起顏色偏移。應(yīng)該對圖象的亮度信道應(yīng)用銳化,從而指定象素的色度和飽和度不變。銳化包括將RGB圖象變換為顏色空間,在顏色空間中,分離亮度與其他顏色信息(如HLS或Lab)80。然后對亮度信道81進(jìn)行銳化82(通過按比例添加亮度的高通過濾模型)。最后,將整幅圖象轉(zhuǎn)換為RGB83(或轉(zhuǎn)換為CMY,由于我們要以CMY格式進(jìn)行打印)。圖26表示該過程。然而,如果考慮向該圖象添加高通過濾的L的結(jié)果,即改變圖象的亮度,則可以避免許多顏色轉(zhuǎn)換步驟。利用線性R、G、B中的相同改變,可以很好地逼近給定象素的亮度改變。因此,只需生成L(高通過濾器L),然后將部分結(jié)果平等地應(yīng)用于R、G、B。3.2.6.1將RGB轉(zhuǎn)換為L80考慮CIE1976L*a*b*顏色平面,其中感覺上L是一致的。為了從RGB轉(zhuǎn)換到L(亮度信道),按下式計算R、G、B的最大值和最小值的平均值L=MIN(R,G,B)+MAX(R,G,B)2]]>3.2.6.2高通過濾器L84然后,將高通過濾器84應(yīng)用于亮度信息。由于在中分辨率空間而不是在CFA分辨率空間中進(jìn)行過濾,所以可以按比例放大銳化內(nèi)核的大小,或適當(dāng)縮放高通結(jié)果。銳化的準(zhǔn)確數(shù)量取決于CFA,但是一個3×3卷積內(nèi)核85足以生成一個好結(jié)果。如果要增加內(nèi)核的大小,則表12表示應(yīng)用于1280分辨率空間時CFA空間中的3×3卷積需要的有效縮放比例86,其中使用綠色信道作為內(nèi)核縮放的基礎(chǔ)。可以從該表中看到,應(yīng)用于中分辨率空間的7×7大小的內(nèi)核適合所有銳化。表12.卷積過濾器的比例系數(shù)如果在中分辨率圖象上應(yīng)用3×3過濾器85,則根據(jù)普通圖象縮放操作中使用的比例系數(shù),對結(jié)果進(jìn)行縮放86。給定表2中的數(shù)量(特別是標(biāo)準(zhǔn)打印格式),可以使用3×3過濾器85,然后對結(jié)果進(jìn)行縮放。圖27表示生成單個過濾L象素的過程。使用的實(shí)際內(nèi)核可以為一組標(biāo)準(zhǔn)高通過濾器內(nèi)核中的任意內(nèi)核。圖50表示實(shí)現(xiàn)PCP時使用的令人滿意的基本高通過濾器。3.2.6.3向RGB添加過濾器L下一項(xiàng)工作是,向亮度信道添加部分作為結(jié)果的高通過濾亮度值。然后將圖象轉(zhuǎn)換為RGB(或者,轉(zhuǎn)換為CMY)。然而,可以利用RGB中的相同改變合理逼近亮度改變(只要顏色空間是線性的即可)。因此,通過向R、G、B添加相同比例的高通過濾亮度值,就可以避免顏色轉(zhuǎn)換??梢岳帽壤禂?shù)定義高通過濾圖象的準(zhǔn)確比例。如果L是高通過濾亮度象素,k是固定比例系數(shù),則可以按下式定義銳化R、G、B的變換當(dāng)然,可以把應(yīng)用于L的比例系數(shù)和高通過濾處理(見3.2.3.6一節(jié))中的比例系數(shù)結(jié)合起來,作為一個比例系數(shù)。在向RGB象素應(yīng)用銳化處理后,可以將圖象轉(zhuǎn)換為CMY83,以便打印輸出。3.2.7轉(zhuǎn)換為CMY83理論上,從RGB到CMY的轉(zhuǎn)換很簡單C=1-RM=1-GY=1-B上述轉(zhuǎn)換假設(shè)CMY空間具有線性響應(yīng),然而,對于有顏色的墨,該假設(shè)并不成立,并且對于基于著色的墨,也只有部分成立。特定設(shè)備(輸入和輸出)的不同顏色輪廓大不相同。因此,考慮到準(zhǔn)確轉(zhuǎn)換以及未來的傳感器、墨和打印機(jī),Printcam需要更精確的模型。圖28表示需要的變換。選擇Lab的原因在于感覺上它是一致的(不同于XYZ)。關(guān)于從圖象傳感器色彩轉(zhuǎn)換為打印機(jī)色彩,打印機(jī)色彩通常完全包含在傳感器色彩內(nèi)。通過基于3組3D查找表的三線性轉(zhuǎn)換,可以得到非常好的結(jié)果,而不用窮盡上述變換。查找表包含利用RGB作為索引的特定條目的合成變換。需要三個表一個將RGB映射為C的表90,一個將RGB映射為M的表91,以及一個將RGB映射為Y的表92。對于表中未包含的條目,通過使用三線性內(nèi)插得到最終結(jié)果。圖29表示該過程。三線性內(nèi)插需要從查找表中讀取8個值,然后執(zhí)行7次線性內(nèi)插(第一維數(shù)需要4次,第二維數(shù)需要2次,第三維數(shù)需要1次)??梢詫χ虚g值使用高精度,盡管輸出值只有8位。需要的查找表的大小取決于變換的線性性。在本申請中每個表的推薦大小是17×17×17注1,每條目8位。一個17×17×17的表為4913字節(jié)(小于5KB)。為了編入每維17個數(shù)值的查找表,將8位輸入顏色分量看作定點(diǎn)數(shù)(4∶4)。4比特整數(shù)作為索引,4比特分?jǐn)?shù)用于內(nèi)插。注1盡管一個17×17×17的查找表能夠提供非常好的結(jié)果,但是也可以僅僅使用一個9×9×9的轉(zhuǎn)換表(729字節(jié))。可以通過模擬確定表的大小。本文選擇保守但結(jié)果明確的5K方法。3.2.8向上內(nèi)插現(xiàn)在,必須對中分辨率(1280寬度)CMY圖象進(jìn)行向上內(nèi)插,以得到最終打印分辨率(6400寬度)。兩個維數(shù)的精確比例都是1∶5。盡管可以對25個值(X和Y維數(shù)均為1∶5)進(jìn)行雙線性內(nèi)插,但是不能以連續(xù)色調(diào)打印合成值。需要對結(jié)果進(jìn)行抖動,并以二值方式打印。假設(shè)將連續(xù)色調(diào)1600dpi結(jié)果變?yōu)槎秳佣迭c(diǎn),則從320dpi到1600dpi的雙線性內(nèi)插的準(zhǔn)確性并不明顯(這正是選擇中分辨率的原因)。因此,象素復(fù)制生成良好結(jié)果。象素復(fù)制僅僅包括取得一個象素,并使用該象素作為更大區(qū)域的值。此時,將一個象素復(fù)制為25個象素(一個5×5塊)。如果每個象素是連續(xù)色調(diào),則結(jié)果將是塊狀的,但是由于已經(jīng)對象素進(jìn)行了抖動,所以25個合成二值點(diǎn)不具有連續(xù)色調(diào)值。圖30表示該過程。3.2.9半色調(diào)68打印頭2只能以二值形式打印圓點(diǎn)。因此,必須從連續(xù)色調(diào)CMY轉(zhuǎn)換為抖動CMY圖象。更確切地說,通過使用一個隨機(jī)抖動單元,生成一個分散的圓點(diǎn)級的抖動,其中隨機(jī)抖動單元將連續(xù)色調(diào)CMY圖象轉(zhuǎn)換為抖動二值CMY圖象。比較8比特1600dpi連續(xù)色調(diào)值與抖動單元93中的當(dāng)前位置的值。如果80比特連續(xù)色調(diào)值大于抖動單元值,則生成一個輸出比特1。否則,生成一個輸出比特0。最終將輸出比特發(fā)送到打印頭,并控制單個噴嘴生成單個C、M、Y圓點(diǎn)。輸出比特表示是否加熱給定顏色和位置的特定噴嘴。抖動單元93中的相同位置可用于C、M、Y。因?yàn)閷?shí)際打印頭2在同一打印周期中生成不同行的C、M、Y圓點(diǎn)。不同顏色點(diǎn)的交錯排列生成抖動單元中的交錯排列。圖31表示半色調(diào)處理。抖動單元93的大小取決于輸出圓點(diǎn)的分辨率。由于我們生成1600dpi的圓點(diǎn),所以單元的大小應(yīng)大于32×32。另外,為了使處理順序與打印頭區(qū)段匹配,抖動單元的大小最好均勻分成800(由于打印頭的每段有800點(diǎn))。50×50的抖動單元足以生成高質(zhì)量結(jié)果,并均勻分成800(16倍)。抖動單元的每個條目為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)插和抖動功能生成正確順序的數(shù)據(jù)),則只需收集這些點(diǎn)值(每個值為1),然后以24個值為一組發(fā)送。圖32表示該過程。通過Memjet接口15,將24比特組發(fā)送到打印頭2。4CPU內(nèi)核與存儲器4.1CPU內(nèi)核10PCP3安裝了一個微型控制器CPU內(nèi)核10,用于同步圖象獲取和打印圖象處理鏈,以及執(zhí)行Printcam的通用操作系統(tǒng)任務(wù),包括用戶接口。可以使用各種CPU內(nèi)核只要具有足以執(zhí)行所需計算的處理能力,并且具有能夠快速滿足消費(fèi)者期望的控制功能的處理器即可。由于利用專用硬件進(jìn)行圖象處理,所以CPU不需要處理象素。因此,CPU可以非常簡單。然而,CPU的速度必須能夠在打印期間驅(qū)動步進(jìn)電機(jī)(步進(jìn)電機(jī)需要5KHz處理)。例如,可以使用1MHz的飛利浦8051微型控制器。無需保持不同Printcam型號之間的指令集的連續(xù)性。由不同廠商制造不同的PCP芯片設(shè)計,而不需要許可或移植CPU核心。設(shè)備獨(dú)立性避免芯片廠商封鎖,如Intel對PC市場的封鎖。與CPU內(nèi)核關(guān)聯(lián)的是程序ROM13和小型程序擦除存儲器RAM14。CPU10通過存儲器映象I/O,與PCP3內(nèi)的其他部件通信。特定地址范圍映射到特定裝置,并且在每個范圍內(nèi),映射到特定裝置內(nèi)的特定寄存器。包括并行和串行接口。4.2程序ROM13將小型程序快閃ROM13安裝到PCP3內(nèi)。ROM的大小取決于選擇的CPU,但是應(yīng)不大于16-32KB。4.3程序RAM14同樣,將一個小型擦除RAM區(qū)域14安裝到PCP3內(nèi)。由于程序代碼不需要處理圖象,所以不需要一個很大的擦除區(qū)域。RAM的大小取決于選擇的CPU(如,堆棧機(jī)制,子程序調(diào)用約定,寄存器大小等),但是應(yīng)不大于4KB。4.4CPU存儲器譯碼器16CPU存儲器譯碼器16是一個滿足CPU數(shù)據(jù)存取的簡單譯碼器。該譯碼器將數(shù)據(jù)地址翻譯成內(nèi)部低速總線上的內(nèi)部PCP寄存器存取,因此,支持PCP寄存器的存儲器映象I/O。5通信接口5.1USB串行端口接口17該接口是一個標(biāo)準(zhǔn)USB串行端口,連接到內(nèi)部芯片低速總線18。由CPU10控制USB串行端口。串行端口向/從Printcam傳送圖象,并且在外部控制下,以DPOF(數(shù)碼打印指令格式)打印傳送的相片。5.2QA芯片串行接口19該接口是兩個標(biāo)準(zhǔn)低速串行端口,連接到內(nèi)部芯片低速總線18。使用兩個端口之間的CPU仲裁協(xié)議認(rèn)證打印滾筒[1,2],并執(zhí)行以下功能·獲取墨特性·獲得推薦的墨滴量·記錄打印的相紙數(shù)量,并且當(dāng)相紙不足以打印請求的打印格式時,請求新的打印滾筒。具有兩個端口的原因在于,連接到使用獨(dú)立線路的照相機(jī)上的QA芯片4和打印滾筒的QA芯片5以認(rèn)證芯片[2]的方式實(shí)現(xiàn)兩個QA芯片。如果只使用一條線路,則克隆打印滾筒廠商能夠盜用認(rèn)證機(jī)制[1]。5.2.1打印滾筒的QA芯片5每個打印滾筒消耗品包括其特有的QA芯片5。QA芯片包含維持最佳打印質(zhì)量所需要的信息,并且使用認(rèn)證機(jī)制[2]實(shí)現(xiàn)該芯片。按以下方式分配256位數(shù)據(jù)表13.打印滾筒的256位(16a.只讀b.只能減少在每次打印前,由CPU檢測相紙余量,以確保足夠當(dāng)前指定的打印格式使用。在打印開始后,由CPU減少打印滾筒的QA芯片中的相紙余量。5.3并行接口6并行接口6將PCP3連接到各靜電信號。通過低速總線,CPU能夠控制作為存儲器映象I/O的各連接(有關(guān)存儲器映象I/O的細(xì)節(jié),請參見4.4一節(jié))。表14.并行接口的連接5.4JTAG接口7為了進(jìn)行測試,PCP3包括一個標(biāo)準(zhǔn)JTAG(聯(lián)合測試行動組)接口7。由于芯片的復(fù)雜性,需要各種測試技術(shù),包括BIST(內(nèi)置的自檢測)和功能塊隔離。芯片區(qū)域中10%的總開銷用于全部芯片測試電路。6圖象RAM11圖象RAM11用于存儲獲取的圖象42。圖象RAM是多級快閃存儲器(2為/單元),以便在關(guān)閉電源后繼續(xù)保存圖象。平面化的線性RGB圖象需要的總存儲量是1,500,000字節(jié)(約為1.5MB),其排列為·R750×500=375,000字節(jié)·G750×500=375,000字節(jié)·B750×1000=750,000字節(jié)由圖象獲取裝置寫入圖象,由圖象直方圖單元8和打印生成單元99讀取該圖象。CPU10不對圖象存儲器進(jìn)行直接隨機(jī)存取。它通過圖象訪問裝置訪問圖象象素。7圖象獲取單元12圖象獲取裝置包含3.1所述的圖象獲取鏈需要的所有功能性。圖象獲取裝置通過圖象傳感器接口98接受象素數(shù)據(jù),通過查找表96線性化RGB數(shù)據(jù),最后,以平面格式將線性化的RGB圖象寫到RAM中。圖33表示該過程。7.1圖象傳感器接口98圖象傳感器接口(ISI)98是一個狀態(tài)機(jī),為了讀取圖象,狀態(tài)機(jī)向CMOS圖象傳感器發(fā)送控制信息,包括幀同步脈沖和象素時鐘脈沖。大部分ISI可能是來自圖象傳感器廠商的源單元。由圖象獲取裝置的狀態(tài)機(jī)本身控制ISI。7.1.1圖象傳感器格式盡管可以使用各種圖象傳感器格式,但是我們只考慮拜爾彩色濾鏡陣列(CFA)。拜爾CFA具有許多本文定義的屬性。假設(shè)已經(jīng)充分過濾了CMOS傳感器(通過取象透鏡)獲取的圖象,以消除鋸齒現(xiàn)象。傳感器本身的長寬比為3∶2,具有1500×1000分辨率的采樣。最可能的象素結(jié)構(gòu)為拜爾彩色濾鏡陣列(CFA),其中圖15表示在2G鑲嵌面中排列的各2×2象素塊。R、G、B(分別對應(yīng)于紅、綠、藍(lán))的各連續(xù)色調(diào)采樣是10比特。請注意,鑲嵌面的每個象素僅包含有關(guān)R、G、B之一的信息。必須在打印輸出前估計丟失的彩色信息。認(rèn)為CFA執(zhí)行部分固定模式噪聲(PFN)抑制。需要附加的FPN抑制。7.2查找表96查找表96為ROM,后者將傳感器的RGB映射為線性RGB。它匹配3.1.2中描述的線性化RGB過程40。同樣,ROM為3KB(3×1024×8-比特)。10位地址來自ISI,而2位TableSelect是由圖象獲取裝置的狀態(tài)機(jī)97生成的。7.3狀態(tài)機(jī)97圖象獲取裝置的狀態(tài)機(jī)97生成圖象傳感器接口1的控制信號,并且生成用于線性化RGB40和用于平面化圖象數(shù)據(jù)41的地址。發(fā)送到ISI98的控制信號通知ISI開始獲取象素,停止獲取象素等。發(fā)送到查找表96的2位地址匹配正從ISI讀取的當(dāng)前行。對于偶數(shù)行(0,2,4等),2位地址是紅、綠、紅、綠等。對于奇數(shù)行(1,3,5等),2位地址是綠、藍(lán)、綠、藍(lán)。不管照相機(jī)的方向如何,以上總是正確的。發(fā)送到圖象RAM的21位地址是該圖象的寫地址。三個寄存器保存紅、綠、藍(lán)平面的當(dāng)前地址。將地址增量作為象素寫入各平面。7.3.1寄存器圖象獲取裝置包含許多寄存器表15.圖象獲取裝置中的寄存器另外,圖象傳感器接口98包含許多寄存器。確切寄存器取決于選擇的圖象傳感器1。8圖象訪問單元9圖象訪問單元9生成供CPU10訪問ImageRAM11中的圖象的方法。CPU10能夠讀取ImageRAM11中的圖象的象素,并將象素寫入ImageRAM11。為了圖象存儲(如,通過USB)17或簡單圖象處理而讀取象素。在圖象處理后,將象素寫入ImageRAM11,作為先前保存的圖象(通過USB加載),或者作為測試圖形的圖象。測試圖形可以是合成圖象,特定測試圖象(通過USB加載),或者是通過打印生成單元99直接加載到打印頭的24比特噴嘴加熱值。圖象訪問單元9是ImageRAM11的直接訪問機(jī)構(gòu),并且根據(jù)圖16所示的3個寄存器,其操作相當(dāng)簡單。表16.IAU寄存器正如圖35所示,圖象訪問裝置的結(jié)構(gòu)非常簡單。每當(dāng)CPU10寫入Mode寄存器時,狀態(tài)機(jī)101就讀取/寫入ImageRAM11。9圖象直方圖單元8圖象直方圖單元(IHU)8的目的是生成3.2.2描述的打印圖象處理鏈需要的圖象的直方圖。IHU只生成8比特采樣的平面格式圖象的直方圖。每個打印通常使用圖象直方圖單元8三次。生成三個不同的直方圖,每個顏色平面一個。每次收集直方圖時,都要分析結(jié)果,以便確定高低閾值,比例系數(shù)等,供其他打印處理使用。有關(guān)使用直方圖的詳細(xì)信息,請參見3.2.2.2和3.2.4。9.1直方圖RAM102在一個有256項(xiàng)的RAM102中存儲直方圖本身,每一項(xiàng)為20位。只從IHU內(nèi)訪問直方圖RAM。作為20位數(shù)值讀寫每一項(xiàng)。9.2狀態(tài)機(jī)和寄存器103狀態(tài)機(jī)103遵循3.2.2.1中描述的偽碼。由表17所示的寄存器控制狀態(tài)機(jī)。表17.圖象直方圖單元中的寄存器寄存器的典型用途是,向TotalPixels提供計數(shù)中包括的總象素數(shù)(如,紅色375,000),向StartAddress提供紅色平面的地址,向ClearCount提供1,并將1寫入Go寄存器。在完成計數(shù)后,通過將0-255寫入PixelValue然后讀取相應(yīng)的PixelCouBt,確定直方圖中的每個值。10打印頭接口105PCP3利用打印頭接口(PHI)105向Memjet打印頭2加載需要打印的點(diǎn),并控制實(shí)際的點(diǎn)打印過程。PHI是許多裝置的邏輯封裝·Memjet接口(MJI)15,該裝置向Memjet打印頭傳送數(shù)據(jù),并且在打印期間控制噴嘴加熱順序?!ご蛴∩蓡卧?PGU)99,該單元實(shí)現(xiàn)第24頁上3.2中描述的大部分打印鏈,并提供生成測試圖形的裝置。PGU從ImageRAM11取出平面化的線性RGB,并且實(shí)時生成Memjet接口15需要的1600dpi的抖動CMY圖象,其中平面化的線性RGB是從CFA格式獲取的圖象得到的。另外,PGU具有測試圖形模式,該模式允許CPU10精確確定需要在打印期間加熱的噴嘴。由CPU編程的許多寄存器控制PHI內(nèi)的單元。圖37表示打印頭接口的內(nèi)部結(jié)構(gòu)。10.1Memjet接口15Memjet接口(MJI)15將PCP連接到外部Memjet打印頭,用于提供數(shù)據(jù)和適當(dāng)信號,以便控制打印期間噴嘴的加載和加熱順序。Memjet接口15只是一個狀態(tài)機(jī)106(見圖38),該狀態(tài)機(jī)遵循2.2中描述的打印頭加載和加熱次序,并且包括2.4.1和2.4.2中描述的預(yù)熱周期和清潔周期的功能性。MJI15向從以下兩個數(shù)據(jù)源中選擇的打印頭加載數(shù)據(jù)·全1。意味著在隨后的打印周期中所有噴嘴將加熱,這是為預(yù)熱或清潔周期加載打印頭的標(biāo)準(zhǔn)機(jī)制?!GU99的Transfer(傳送)寄存器中保存的24位輸入。這是打印圖象的標(biāo)準(zhǔn)方法,無論是拍攝的相片還是測試圖形。將PGU中的24位值直接發(fā)送到打印頭,然后向PGU發(fā)送1位“Advance(前進(jìn))”控制脈沖。在每行的結(jié)尾,向PGU發(fā)送1位“AdvanceLine(前進(jìn)一行)”脈沖。必須在PGU99準(zhǔn)備好第一個24位傳送值后,啟動MJI15。只有這樣,第一次傳送到打印頭的24位數(shù)據(jù)輸入才有效。因此,直接將MJI15連接到打印生成單元99和外部打印頭2。圖38表示其基本結(jié)構(gòu)。101.1打印頭的連接MJI15到打印頭2的連接如下表所示,連接用于讀取有關(guān)MJI15的輸入和輸出。名稱匹配打印頭上的引線連接(見第2節(jié))。圖18.打印頭連接<tablesid="table22"num="022"><tablewidth="723">名稱引線數(shù)I/O描述ChromapodSelect4O選擇要加熱的色品容器(0-9)NozzleSelect4O從容器中選擇要加熱的噴嘴(0-9)AEnable1O相群A的加熱脈沖BEnable1O相群B的加熱脈沖CDataIn8O段0-7的青色移位寄存器的青色輸入MDataIn8O段0-7的品紅色移位寄存器的品紅色輸入YDataIn8O段0-7的黃色移位寄存器的黃色輸入SRClock1OSRClock上的一個脈沖(ShiftRegisterClock)將CDataIn、MDataIn和YDataIn的當(dāng)前值加載到24個移位寄存器中。PTransfer1O將移位寄存器中的數(shù)據(jù)并行傳送到打印頭的內(nèi)部NozzleEnable位(每個噴嘴一位)。SenseSegEnable1OSenseSegEnablet上的一個脈沖與CDataIn[n]上的數(shù)據(jù)的邏輯與選擇段n的傳感線路。Tsense1I溫度檢測Vsense1I電壓檢測Rsense1I電阻率檢測Wsense1I寬度檢測總計41</table></tables>10.1.2加熱脈沖持續(xù)時間AEnable和BEnable上的加熱脈沖的持續(xù)時間取決于墨的粘性(取決于溫度和墨特性)以及打印頭使用的功率。典型脈沖持續(xù)時間為1.3到1.8μs。因此,MJI包含一個可編程脈沖持續(xù)時間表,利用打印頭的反饋?zhàn)鳛樗饕?。脈沖持續(xù)時間表允許使用低成本電源,并且有助于保持更精確的墨滴噴射。脈沖持續(xù)時間表有256項(xiàng),利用當(dāng)前的Vsense和Tsense設(shè)置作為索引。地址的前4位來自Vsense,地址的低4位來自Tsense。每一項(xiàng)為8位,并且表示0-4μs范圍內(nèi)的定點(diǎn)值。圖39表示生成AEnable和BEnable線路的過程。在打印相片前,由CPU10寫入256字節(jié)的脈沖持續(xù)時間表。表中的每個8位脈沖持續(xù)時間項(xiàng)組合·亮度設(shè)置·墨的粘性曲線(來自QA芯片)5·Rsense·Wsense·Tsense·Vsense10.1.3點(diǎn)數(shù)MJI15保持從打印頭2噴射的每種顏色的點(diǎn)數(shù)。每種顏色的點(diǎn)數(shù)是一個32位值,在處理器的控制下單獨(dú)清除。每個點(diǎn)數(shù)可以保持69個6英寸打印的最大平均點(diǎn)數(shù),盡管在典型使用中,在每次打印后讀取并清除點(diǎn)數(shù)。在最初的Printcam產(chǎn)品中,消耗品包括相紙和墨,可以想象,不同Printcam型號只有可更換墨的消耗品。最初的Printcam產(chǎn)品遞減以毫米為單位的相紙的余量(在QA芯片5中存儲,見5.2),以確定相紙是否足夠打印所需格式。墨足以覆蓋提供的所有相紙。在其他Printcam產(chǎn)品中,CPU10使用點(diǎn)數(shù)更新QA芯片5,以便預(yù)測墨盒何時用完墨。處理器從QA芯片5中了解墨盒中C、M、Y的墨量。通過計算墨滴數(shù),無需使用墨傳感器,并且防止墨通道變干。在每次打印后,將更新的墨滴數(shù)寫入QA芯片5。如果墨不足,則不打印新相片,并允許用戶更換墨,從而用戶不會得到一張需要重新打印的無用相片。圖40表示青色點(diǎn)數(shù)計數(shù)器的布局。其他兩個點(diǎn)數(shù)計數(shù)器(用于品紅的MdotCount和用于黃色的YDotCount)具有相同結(jié)構(gòu)。10.1.4寄存器CPU10通過寄存器組與MJI15通信。寄存器允許CPU用參數(shù)表示打印機(jī),并接收有關(guān)打印進(jìn)展的反饋。MJI包含以下寄存器表19.Memjet接口寄存器在4英寸打印頭的內(nèi)部,每段到連接容器的電路為表5.4英寸打印頭內(nèi)部段的連接10.1.5預(yù)熱和清潔周期通過設(shè)置適當(dāng)?shù)募拇嫫?,完成清潔和預(yù)熱周期?!etAllNozzles=1·將PulseDuration寄存器設(shè)置為低持續(xù)時間(在預(yù)熱模式中),或設(shè)置為合適的墨滴噴射持續(xù)時間(對于清潔模式)?!umberLines設(shè)置為噴嘴的加熱次數(shù)?!ぴO(shè)置Go位,然后等待打印周期結(jié)束時清除Go位。10.2打印生成單元99打印生成單元(PGU)99實(shí)現(xiàn)3.2中描述的打印鏈的大部分功能,并提供生成測試圖形的裝置。從最簡單的觀點(diǎn)看,PGU提供圖象RAM11和Memjet接口15之間的接口,如圖41所示。PGU從ImageRAM中取出平面化的線性RGB,并且實(shí)時生成Memjet接口需要的1600dpi的抖動CMY圖象,其中平面化的線性RGB是從CFA格式獲取的圖象得到的。另外,PGU99具有測試圖形模式,該模式允許CPU10精確確定需要在打印期間加熱的噴嘴。在使用24位值后,MJI15向PGU99提供一個Advance脈沖,并且在行結(jié)束時提供一個AdvanceLine脈沖。PGU99具有兩個圖象處理鏈。第一個處理鏈?zhǔn)菧y試圖形模式,直接讀取圖象RAM11中的數(shù)據(jù),然后在緩沖器中格式化該數(shù)據(jù)以輸出到MJI。第二個處理鏈包括大部分打印鏈功能(見3.2)。圖18所示的打印鏈包括以下功能·收集統(tǒng)計數(shù)字60·旋轉(zhuǎn)圖象61·白平衡62·范圍擴(kuò)展63·重新采樣64·銳化65·轉(zhuǎn)換為CMY66·向上內(nèi)插67·半色調(diào)68·為打印機(jī)重新格式化69PGU99包含除收集統(tǒng)計數(shù)字60之外的所有功能。為了執(zhí)行收集統(tǒng)計數(shù)字步驟,CPU10調(diào)用圖象直方圖單元8三次(每個顏色信道一次),并應(yīng)用某些簡單算法。其余功能屬于PGU99,原因在于精度和速度關(guān)于精度,以高精度保存整幅圖象需要太多存儲器,關(guān)于速度,一個簡單CPU不能滿足Memjet打印頭2的實(shí)時高速要求。PGU99將許多參數(shù)作為輸入,參數(shù)包括RGB到CMY的轉(zhuǎn)換表,執(zhí)行白平衡和范圍擴(kuò)展的常數(shù),重新采樣的比例系數(shù),以及用于旋轉(zhuǎn)的圖象訪問參數(shù)。圖20表示兩個處理鏈。最直接的處理鏈通過測試圖形訪問處理110從圖象RAM11到緩沖器5。另一個處理鏈包括5個并行運(yùn)行處理。第一處理111執(zhí)行圖象旋轉(zhuǎn)、白平衡和范圍擴(kuò)展。第二處理112執(zhí)行重新采樣。第三處理65執(zhí)行銳化,第四處理66執(zhí)行顏色轉(zhuǎn)換。最后一個處理113執(zhí)行向上內(nèi)插、半色調(diào)處理,并且為打印機(jī)重新格式化。通過緩沖器連接上述處理,某些處理之間只需幾個字節(jié),而其他處理需要幾K字節(jié)。由于打印頭的定時驅(qū)動所有處理,所以主要以逆序考慮上述處理。特定處理的定時和緩沖器大小需求比較明顯??傊?1表示緩沖器大小。表21.打印生成單元的緩沖器大小除許多寄存器之外,某些處理還需要大量查找表或存儲元件。表22概括說明這些需求。表22.PGU處理內(nèi)的存儲器需求10.2.1測試圖形訪問測試圖形訪問處理110是生成測試圖形的裝置。在正常用戶環(huán)境中,不使用該處理。該處理主要用于診斷。測試圖形訪問110讀取圖象RAM11,然后將8位值直接傳送到緩沖器5118,以輸出到Memjet接口。它不對8位值做任何修改。CPU10通過使用圖象訪問單元9生成圖象RAM11中的數(shù)據(jù)。以環(huán)繞方式讀取圖象RAM11中的數(shù)據(jù)。使用兩個寄存器來描述測試數(shù)據(jù)第一字節(jié)的起始地址和字節(jié)數(shù)。當(dāng)達(dá)到數(shù)據(jù)結(jié)束時,再次從頭開始讀取數(shù)據(jù)。圖43表示測試圖形訪問裝置110的結(jié)構(gòu)。正如從圖43中看到的那樣,測試圖形訪問裝置110與地址生成器119沒有區(qū)別。啟動時,對于每個AdvanceLine信號,生成器讀取3個字節(jié),生成一個TransferWriteEnable脈沖,讀取下3個字節(jié),然后等待Advance脈沖。在Advance脈沖中,提供TransferWriteEnable脈沖,讀取下3個字節(jié),然后再次等待。繼續(xù)上述處理直至AdvanceLine脈沖,其中在該脈沖上,處理再次從當(dāng)前地址開始。關(guān)于讀取3個字節(jié),地址生成器119只需從圖象RAM11中讀取三個8位值,然后將其寫入緩沖器5118中。將第一個8位值寫入緩沖器5的8位地址0,將第二個寫入緩沖器5的8位地址1,將第三個寫入緩沖器5的8位地址2。然后,地址生成器119等待Advance脈沖,以便再次進(jìn)行相同處理。為圖象RAM11生成的地址基于表23所示的起始地址和字節(jié)數(shù)。表23.測試圖形訪問寄存器以下偽碼表示地址生成。未示出AdvanceLine和Advance脈沖。<prelisting-type="program-listing"><![CDATA[DoForeverAdr=DataStartRemaining=DataLengthReadAdrintoBuffer5(0),Adr=Adr+1ReadAdrintoBuffer5(1),Adr=Adr+1ReadAdrintoBuffer5(2),Adr=Adr+1Remaining=Remaining-1if(Remaining=0)Remaining=DataLenghtEndDo]]></pre>由CPU10確保該數(shù)據(jù)對打印頭2有意義。字節(jié)0是8個青色段的噴嘴加熱數(shù)據(jù)(位0=段0等),字節(jié)1用于品紅,字節(jié)2用于黃色。另一組24位數(shù)據(jù)用于用水平線分割的奇數(shù)/偶數(shù)象素。10.2.2緩沖器5118緩沖器5118保持整個打印生成處理生成的圓點(diǎn)。緩沖器5包括一個24位移位寄存器,用于保持每次從UHRU113(向上內(nèi)插、半色調(diào)和重新格式化裝置)生成的圓點(diǎn);3個8位寄存器,用于保持從TPAU(測試圖形訪問裝置)生成的數(shù)據(jù);和一個24位寄存器,作為傳送到MJI(Memjet接口)的數(shù)據(jù)的緩沖器。來自MJI的Advance脈沖向24位Transfer(傳送)寄存器加載全部24位數(shù)據(jù),或者從3個8位寄存器或從一個24位移位寄存器。因此,緩沖器5作為所生成的圓點(diǎn)的雙重緩沖機(jī)制,并且具有圖44所示的結(jié)構(gòu)。10.2.3緩沖器4117緩沖器4117保持計算的CMY中分辨率(1280分辨率)連續(xù)色調(diào)圖象。緩沖器4是由顏色轉(zhuǎn)換處理66生成的,由向上內(nèi)插、半色調(diào)和重新格式化處理113訪問,以生成打印機(jī)的輸出點(diǎn)。連續(xù)色調(diào)緩沖器的大小取決于打印頭上的噴嘴之間的物理距離。在生成某一物理行的一種顏色的圓點(diǎn)時,生成不同行上不同顏色的圓點(diǎn)。實(shí)際結(jié)果是打印機(jī)一次打印6行不同的物理行—不同輸出行的奇偶點(diǎn),以及每種顏色的不同行。2.1.1解釋此概念并定義以上距離。實(shí)際結(jié)果是,在高分辨率圓點(diǎn)中,從偶數(shù)青色圓點(diǎn)通過品紅色圓點(diǎn)到黃色圓點(diǎn)是已知距離。為了最小化RGB的生成,從而最小化CMY的生成,在緩沖器4中緩沖生成高分辨率圓點(diǎn)的中分辨率連續(xù)色調(diào)象素。由于中分辨率行與高分辨率行的比例是1∶5,所以在每個維數(shù)上對各中分辨率采樣5次。對緩沖器行而言,我們僅關(guān)心1個維數(shù),因此,僅考慮來自一個象素行的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)生成處理寫入過程不干擾緩沖器的點(diǎn)生成處理讀取過程,額外添加每種顏色的中分辨率行,每種顏色共計6行。因此,連續(xù)色調(diào)緩沖器為6行3色,每行包含1280個8比特連續(xù)色調(diào)值。需要的總存儲量為3×6×1280=23040字節(jié)(22.5KB)。存儲器只需要每周期讀出一個8比特值,每25個周期寫入一個8比特值(每個連續(xù)色調(diào)象素讀25次)。圖45表示緩沖器4的結(jié)構(gòu)??梢詫⒕彌_器4實(shí)現(xiàn)為以打印頭點(diǎn)生成處理的額定速度運(yùn)行的單周期雙存取(讀和寫)RAM,或者實(shí)現(xiàn)為比每周期一次讀/寫快4%的RAM。在開始打印處理前,將緩沖器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ù),但是在PCP3的硬件實(shí)現(xiàn)中,作為單一處理實(shí)現(xiàn)。向上內(nèi)插、半色調(diào)和重新格式化裝置(UHRU)113的輸入為連續(xù)色調(diào)緩沖器(緩沖器4)117,包括預(yù)先計算的CMY1280分辨率(中分辨率)圖象。輸出是一組需要發(fā)送到Memjet接口15的具有正確順序的24位值,以便通過緩沖器5118輸出到打印頭。以每次一位的方式生成24位輸出,并發(fā)送到緩沖器5118中的24位移位寄存器。利用來自MJI15的Advance和AdvanceLine信號控制以上處理。當(dāng)UHRU113啟動時,并且在各AdvanceLine脈沖后,生成24位值,然后利用ShiftWriteEnable信號按照時鐘信號寫入緩沖器5的24位移位寄存器。在寫入第24位后,提供TransferWriteEnable脈沖,然后生成下24位。此后,UHRU113等待來自MJI的Advance脈沖。當(dāng)Advance脈沖到達(dá)時,向緩沖器5118提供TransferWriteEnable脈沖,并且在再次等待前計算下24位。實(shí)際上,在提供第一個Advance脈沖后,開始同步,此后每24個周期出現(xiàn)一個Advance脈沖。圖46表示向上內(nèi)插、半色調(diào)和重新格式化處理。利用簡單的8位無符號比較器120執(zhí)行半色調(diào)任務(wù)。比較器的兩個輸入來自交錯抖動單元121和緩沖器4117。由地址生成狀態(tài)機(jī)122確定向無符號比較器120提供上述值的順序,狀態(tài)機(jī)122確保進(jìn)入1280分辨率圖象的地址與打印頭需要的面向段的順序匹配。因此,地址生成狀態(tài)機(jī)122執(zhí)行向上內(nèi)插和為打印機(jī)重新格式化任務(wù)。通過正確尋址連續(xù)色調(diào)緩沖器(緩沖器4)117,并確保比較器120使用來自抖動單元121的正確查找表匹配交錯地址,實(shí)現(xiàn)重新格式化,而不僅僅是每次以高分辨率訪問一整行,然后根據(jù)打印機(jī)查找需求重新格式化該行(見3.2.10中的說明)。半色調(diào)任務(wù)與3.2.9說明的處理相同。然而,由于點(diǎn)輸出是按照打印頭的正確順序生成的,所以選擇抖動單元121的大小,以便平均分成800。因此,某一段的抖動單元中的給定位置與剩余7段(的抖動單元中的給定位置)相同。一個50×50的抖動單元能夠提供令人滿意的結(jié)果。正如3.2.9中所述,由于同時生成各種顏色的不同行,所以不同顏色可以使用抖動單元中的相同位置。因此,抖動單元的尋址很簡單。我們從交錯排列的抖動單元中的特定行(如,0行)開始。使用的第一個抖動單元條目是條目0。使用該條目24次(24個周期)以生成全部8段的3種顏色,然后前進(jìn)到0行的條目1。在條目49后,返回到條目0。對全部19,200個周期繼續(xù)上述處理,以生成19,200個點(diǎn)。然后,半色調(diào)裝置停止并等待AdvanceLine脈沖,該脈沖使地址生成器前進(jìn)到抖動單元中的下一行。稱為交錯抖動單元121的原因在于,它與正常抖動單元的區(qū)別在于交錯奇數(shù)行和偶數(shù)行。這是因?yàn)槲覀兩刹煌猩系钠鏀?shù)和偶數(shù)象素(從象素0開始),并且使地址生成器122免于在24個象素的交替集合上前進(jìn)到下一行,然后再返回。圖25表示一個簡單抖動單元93,以及將其映射到相同大小的交錯抖動單元121的方法。請注意,為了確定給定位置的“奇數(shù)性”,我們給指定行0、1、2等中的象素編號。比較(無符號)來自緩沖器4117的8位值與來自交錯抖動單元121的8位值。如果緩沖器4的象素值大于等于抖動單元值,則將“1”比特輸出到緩沖器5118的移位寄存器。否則,將“0”比特輸出到緩沖器5的移位寄存器。為了對19,200個連續(xù)色調(diào)象素進(jìn)行半色調(diào)處理,必須讀入19,200個連續(xù)色調(diào)象素。地址生成單元122執(zhí)行此項(xiàng)任務(wù),生成進(jìn)入緩沖器4117的地址,有效實(shí)現(xiàn)向上內(nèi)插任務(wù)。為讀取緩沖器4而生成地址的過程比生成抖動單元的地址的過程稍微復(fù)雜一些,但并不很復(fù)雜。在寫入緩沖器的第一行后,為讀取緩沖器4的地址生成才開始。緩沖器4的剩余行為0,因此,實(shí)際上是白色(沒有打印點(diǎn))。6行輸出的每一行具有一個存儲整數(shù)和分?jǐn)?shù)部分的寄存器。使用寄存器的整數(shù)部分選擇要讀取哪個寄存器,以便有效地向上內(nèi)插特定顏色的奇數(shù)和偶數(shù)象素的顏色。使用3個象素計數(shù)器保存段0內(nèi)的當(dāng)前位置,使用一個臨時計數(shù)器PADR(象素地址)來偏移剩余7段??偠灾?,讀取緩沖器4的地址生成需要表24所示的寄存器。表24.讀取緩沖器4需要的寄存器6個緩沖器行寄存器的初值是噴嘴之間的物理點(diǎn)距離(切記分?jǐn)?shù)部分除以5的余數(shù))。例如,如果利用1點(diǎn)隔離某種顏色的奇數(shù)和偶數(shù)輸出點(diǎn),并且利用8點(diǎn)隔離一種顏色的噴嘴與下一種顏色的噴嘴,則初值如表25中“第一行”一欄所示。在生成每組19,200個圓點(diǎn)后,這些計數(shù)器必須增加1分?jǐn)?shù)部分,表示我們沿垂直維數(shù)對各象素采樣5次。表25的“第二行”一欄表示結(jié)果值。請注意,5∶4+1=0∶0,因?yàn)橹挥?個緩沖器行數(shù)。表25.6個緩沖器行寄存器的初始設(shè)置和第二行的值接著,6個緩沖器行寄存器確定讀取哪個緩沖器行用于指定顏色的奇數(shù)和偶數(shù)象素。為了確定從緩沖器4的特定行中讀取哪些1280中分辨率的象素,我們使用3個象素地址計數(shù)器(每種顏色一個),和一個臨時計數(shù)器(P_ADR),后者作為各段的索引。每一段與下一段的間隔是800點(diǎn)。在中分辨率象素中,該距離為160。由于800能夠被5整除,所以只需使用3個象素地址計數(shù)器的整數(shù)部分。我們生成偶數(shù)青色象素的8個地址,然后生成偶數(shù)品紅色象素的8個地址,最后生成黃色偶數(shù)象素的8個地址。接著,對奇數(shù)青、品紅和黃色象素進(jìn)行相同處理。將兩組24位值(24個偶數(shù)和24個奇數(shù))的處理執(zhí)行400次。然后,將象素地址計數(shù)器(X_P_ADR)復(fù)位到0,并使6個緩沖器行寄存器前進(jìn)。每前進(jìn)5行,下一個緩沖器行立即變?yōu)榭臻e,并且可以更新(通過轉(zhuǎn)換為CMY)。表示26以簡單形式列出上述步驟。表26.讀取緩沖器4的地址生成處理以下列出用于生成緩沖器4117的地址的偽碼。請注意,以步驟的順序集合方式列出偽碼。表26能夠更好地表示地址生成操作的并行性質(zhì)。<prelisting-type="program-listing"><![CDATA[%CalculatestartpositionsCyanEven=0∶0CyanOdd=CyanEven+0∶1MagentaEven=CyanOdd+1∶3MagentaOdd=MagentaEven+0∶1YellowEven=MagentaOdd+1∶3YellowOdd=Y(jié)ellowEven+0∶1DoNtimes(dependonprintsize)Cyan_P_ADR=0Magenta_P_ADR=0Yellow_P_ADR=0Do400times%generatetheevenpixelsforthefirstsetof24bitsP_ADR=IntegerportionofCyan_P_ADRCyan_P_ADR+=0∶1Do8timesReadBuffer4(line=CyanEven,pixel=P_ADR)P_ADR+=160EndDoP_ADR=IntegerportionofMagenta_P_ADRMagenta_P_ADR+=0∶1Do8timesReadBuffer4(line=MagentaEven,pixel=P_ADR)P_ADR+=160EndDoP_ADR=IntegerportionofYellow_P_ADRYellow_P_ADR+=0∶1Do8timesReadBuffer4(line=Y(jié)ellowEven,pixel=P_ADR)P_ADR+=160EndDo%generatetheoddpixelsforthefirstsetof24bitsP_ADR=IntegerportionofCyan_P_ADRCyan_P_ADR+=0∶1Do8timesReadBuffer4(line=CyanOdd,pixel=P_ADR)P_ADR+=160EndDoP_ADR=IntegerportionofMagenta_P_ADRMagenta_P_ADR+=0∶1Do8timesReadBuffer4(line=MagentaOdd,pixel=P_ADR)P_ADR+=160EndDoP_ADR=IntegerportionofYellow_P_ADRYellow_P_ADR+=0∶1Do8timesReadBuffer4(line=Y(jié)ellowOdd,pixel=P_ADR)P_ADR+=160EndDo%Nowcanadvancetonext″line″CyanEven+=0∶1CyanOdd+=0∶1MagentaEven+=0∶1MagentaOdd+=0∶1YellowEven+=0∶1YellowOdd+=0∶1EndDoEndDo]]></pre>10.2.5緩沖器3116緩沖器3是8比特R、G、B值的簡單集合。這些RGB值為銳化處理65生成的銳化后的中分辨率(1280分辨率)象素,轉(zhuǎn)換為CMY處理66讀取這些值。不需要使緩沖器3116加倍。原因在于讀(轉(zhuǎn)換為CMY)處理66只需要前39個周期的RGB值,而寫(銳化)處理65使用實(shí)際更新RGB值前的49個周期。10.2.6轉(zhuǎn)換為CMY66正如3.2.7所述,在中分辨率空間(1280分辨率)中執(zhí)行從RGB到CMY的轉(zhuǎn)換。轉(zhuǎn)換處理66必須以足以跟上向上內(nèi)插-半色調(diào)-重新格式化處理113的速度,生成連續(xù)色調(diào)緩沖器象素(緩沖器4)117。由于每個連續(xù)色調(diào)值用于25個周期(沿x和y維數(shù)各5次)所以轉(zhuǎn)換處理占用25個周期。三個顏色分量共需75個周期。此處說明的處理每顏色分量只需14個周期,并且在39個周期后釋放輸入的RGB值。如果實(shí)現(xiàn)該處理的邏輯訪問輸入RGB值的周期多余49個周期,則必須使緩沖器3116加倍,因?yàn)殇J化處理65需要的該時刻后更新緩沖器。以三線性內(nèi)插方式實(shí)現(xiàn)轉(zhuǎn)換。轉(zhuǎn)換處理使用三個17×17×17查找表RGB到青色90,RGB到品紅91,以及RGB到黃色92。然而,由于需要25個周期執(zhí)行個三線性內(nèi)插,因此,不需要快速三線性內(nèi)插裝置。而調(diào)用線性內(nèi)插處理1308次就足夠了。用于查找表索引的地址生成很簡單。我們使用8位顏色分量的4個最高有效位作為地址生成,8位顏色分量的4個最低有效位用于從轉(zhuǎn)換表檢索的數(shù)值之間的內(nèi)插。由于查找表的維數(shù)是17而不是16,所以查找表的尋址需要一個加法器。幸運(yùn)的是,將一個4比特數(shù)X乘以17得到一個8比特數(shù)XX,因此,不需要加法器或乘法器,將一個4比特數(shù)乘以172(289)稍微復(fù)雜一些,需要一次加法。盡管可以更快地執(zhí)行內(nèi)插,但是我們使用一個加法器生成地址,并且有一個單周期內(nèi)插裝置。因此,正如表27所示,我們能夠計算在14個周期內(nèi)根據(jù)RGB生成單一顏色分量的內(nèi)插。為了生成青、品紅和黃色分量,需要將該處理重復(fù)3次。更快的方法也是可行的,但沒有必要。表27.用于顏色轉(zhuǎn)換的三線性內(nèi)插正如表27所示,使用一個ADR寄存器和加法器生成查找表的地址??梢允褂?組8位寄存器保存中間結(jié)果-2個寄存器保存從查找表中加載的值,4個寄存器用于內(nèi)插裝置的輸出。請注意,線性內(nèi)插裝置的輸入總是一對8位寄存器P1/P2,P3/P4和P5/P6。目的是簡化寄存器選擇邏輯。在周期14中,“V”寄存器131保存最后計算的8位值??梢栽谙乱粋€周期中,將8位結(jié)果寫入緩沖器4117中的適當(dāng)位置。圖48表示轉(zhuǎn)換為CMY處理66的框圖。假設(shè)第一次運(yùn)行該處理生成青色,將合成的青色連續(xù)色調(diào)象素存儲到青色1280中分辨率連續(xù)色調(diào)緩沖器中。然后在相同RGB輸入上再次進(jìn)行處理以生成品紅色象素。將品紅色連續(xù)色調(diào)象素存儲到品紅色1280中分辨率連續(xù)色調(diào)緩沖器中。最后,根據(jù)相同的RGB輸入生成黃色連續(xù)色調(diào)象素。將生成的黃色象素存儲到黃色1280中分辨率連續(xù)色調(diào)緩沖器中。用于寫入連續(xù)色調(diào)緩沖器(緩沖器4)117的地址生成很簡單。使用一個地址(和附隨的ColorSelect位)寫入三個顏色緩沖器的每個緩沖器中。在周期15上寫入青色緩沖器,在周期30上寫入品紅色緩沖器,在周期45上寫入黃色緩沖器。每75個周期(在寫入三種顏色后)將象素地址加1。每5個AdvanceLine脈沖,正在寫入的行加1(環(huán)繞)。正在寫入的行的順序?yàn)?-1-2-3-4-5-0-1-2-3等。因此,寫入(25×1280×3)與讀取(19200×5)衡消。10.2.7緩沖器2115緩沖器2接受重新采樣-創(chuàng)建亮度(CreateLuminance)處理112的輸出,其中在處理112中生成給定象素坐標(biāo)的全部RGB和L象素。緩沖器2115的輸出進(jìn)入銳化處理65,該處理需要一個3×3的亮度值135,后者以正在銳化的象素為中心。因此,在銳化處理65中,需要訪問3×3的亮度值,以及中心亮度象素的對應(yīng)RGB值136。同時,重新采樣-創(chuàng)建亮度處理112必須計算下三個亮度值以及對應(yīng)的RGB中心值。圖49表示訪問緩沖器1115的邏輯視圖。緩沖器2115的實(shí)際實(shí)現(xiàn)只是一個4×6(24項(xiàng))的8位RAM,有關(guān)讀寫的尋址提供這些值的有效移位。可以將2比特的列計數(shù)器加1(環(huán)繞)以提供循環(huán)緩沖器,這等價于將整個緩沖器的數(shù)據(jù)移動1列。我們不需要第四列RGB數(shù)據(jù)這一事實(shí)沒有什么意義,并且只使用3個字節(jié),因此無需實(shí)現(xiàn)復(fù)雜的移位和讀/寫邏輯。在給定周期中,可以讀寫RAM。讀寫處理具有75個周期,在75個周期內(nèi)實(shí)現(xiàn)讀寫以便跟上打印頭。10.2.8銳化銳化裝置65執(zhí)行3.2.5說明的銳化任務(wù)。由于在緩沖器3116中存儲銳化后的RGB象素,所以銳化裝置65必須跟上轉(zhuǎn)換為CMY處理66,這意味著必須在75個周期內(nèi)銳化全部RGB象素。正如第35頁上3.2.6.2部分表12說明的那樣,銳化處理包括L(根據(jù)RGB數(shù)據(jù)生成的信道并存儲在緩沖器2中)的一個高通過濾器,并且將過濾后的L添加到RGB分量中。如圖50所示,使用的高通過濾器是一個使用3×3卷積內(nèi)核的基礎(chǔ)高通過濾器。在10個周期上計算高通過濾器。第一周期向臨時寄存器140加載8×中心象素值(中心象素左移3位)。下8個周期用基數(shù)0減去剩余的8個象素值。因此可以用一個加法器完成整個過程。周期10包括將結(jié)果乘以常數(shù)141。以上常數(shù)表示1/9,但是是一個寄存器,可以利用軟件按一定比例系數(shù)修改以上常數(shù)。然后,將總量加到R、G、B值(上限為255),并且在周期72、73和74內(nèi),寫入緩沖器3。在75個周期的最后3個周期內(nèi)計算/寫入銳化后的RGB值,從而無需使緩沖器3加倍。圖51表示銳化裝置的結(jié)構(gòu)。與緩沖器2115相連的加法器142是一個以0為基數(shù)的減法器。在周期0(共75個)期間,向TMP140加載8×第一L值,然后從中減去下8個L值。其結(jié)果沒有符號,因?yàn)闇p法具有基數(shù)0。在第10個周期(周期9)期間,將TMP140中的11比特總數(shù)乘以一個比例系數(shù)(通常為1/9,但是受軟件控制,因此可以調(diào)整系數(shù)),然后寫回到TMP140。只將結(jié)果的8整數(shù)比特寫到TMP中(截去分?jǐn)?shù)),因此乘法器的限制為255。如果使用比例系數(shù)1/9,則寫入的最大值將是226(255×8/9)。比例系數(shù)為8比特分?jǐn)?shù),其最高位表示1/8??勺儽壤禂?shù)考慮了以下事實(shí),即不同打印格式是利用不同數(shù)量縮放CFA圖象的結(jié)果(因此,3×3卷積將生成適當(dāng)比例的結(jié)果)。在周期72、73和74期間,計算紅、綠、藍(lán)的銳化值,然后寫入緩沖器3116的R、G、B寄存器,每周期寫一次。在上述3個周期內(nèi)執(zhí)行的計算為,將TMP加到與中心象素對應(yīng)的緩沖器2中的R、G、B。地址生成很簡單。寫入緩沖器3116分別是周期72、73和74中的R、G、B。緩沖器2115的讀取操作使用緩沖器2的周期性質(zhì)。地址包括一個2比特的列分量(表示讀取4列中的哪一列),和一個3比特值(表示L1、L2、L3、R、G、B)。各行的列號從1開始,并且每75個周期加1(環(huán)繞)。表28表示讀取緩沖器2的順序。C寄存器為地址的2比特列分量。C上的所有加法均以4作為模數(shù)(在2比特內(nèi)環(huán)繞)。表28.75個周期內(nèi)緩沖器2的讀訪問在周期74后,C寄存器保持下一個計算集合的列數(shù),因此,使得下一個周期0中的取數(shù)有效。當(dāng)在緩沖器2中寫入足夠的L和RGB象素后(從而高通過濾器有效),銳化處理才開始。只有緩沖器2的寫入處理前進(jìn)3列后,銳化處理才開始。10.2.9緩沖器1114緩沖器1以原始獲取空間分辨率保持白平衡和范圍擴(kuò)展的象素。以10比特的顏色分辨率保存各象素,而圖象RAM的圖象存儲顏色分辨率為每象素8比特。緩沖器1的排列為3個可獨(dú)立尋址的緩沖器—每個顏色平面一個,紅145,綠146,藍(lán)147。圖52表示緩沖器的簡單概述。在75個周期期間,重新采樣處理112從3個緩沖器的各緩沖器中讀出16項(xiàng),共讀取3次,并且最多向3個緩沖器寫入29個新值(實(shí)際數(shù)目取決于比例系數(shù),以及重新采樣期間當(dāng)前次象素的位置)。緩沖器必須足夠?qū)?,從而讀取和寫入操作不會彼此干擾。在讀取過程中,從6行中的每一行中讀取4個象素。如果比例系數(shù)很大(如,按比例放大為全景),則可以多次讀取同一象素(使用不同內(nèi)核位置進(jìn)行重新采樣)。最后,需要下一個象素。如果放大系數(shù)不是很大,則在下一個象素生成周期之前需要新象素(即,在75個時鐘周期內(nèi))??紤]表9和表11中的比例系數(shù),縮放的最壞情況是護(hù)照格式31·綠色平面具有的護(hù)照的Δ值為1.5625,表示6個CFA象素位置內(nèi)可以包含4個位置。然而,每一行綠色采樣僅包含各交替象素。這意味著每行只需要4個采樣(最壞情況為4而不是3,原因在于最壞情況為初始位置)。Y方向上的移動表示需要一個附加的采樣列,從而需要5個采樣。最后,寫入操作需要一個附加的采樣列。因此,每行共需6個采樣。一個采樣需要7行。為了生成每個x位置的3組RGB象素,沿y方向的最大移動將為4行(3.125=2×1.5625)。移動X添加上一行采樣和下一行采樣。因此,共需13行。有關(guān)細(xì)節(jié)請參見10.2.10。·紅色和藍(lán)色平面具有的護(hù)照的Δ值為0.78125,表示在4個采樣內(nèi)可以包含4個位置。當(dāng)正在讀取剩余4個采樣時,寫入操作需要一個附加采樣。每行共需5個采樣,將采樣數(shù)增加到6個采樣以匹配綠色平面(用于啟動)。為了適合y方向的移動需要6行。有關(guān)細(xì)節(jié)請參見10.2.10。每個子緩沖器是一個帶有譯碼功能的RAM,以便在每個周期內(nèi)讀寫一個10比特的采樣。表29概要表示子緩沖器,其消耗小于200字節(jié)。表29.子緩沖器概要10.2.10重新采樣和創(chuàng)建亮度信道正如3.2.5中說明的那樣,重新采樣和創(chuàng)建亮度信道處理112通過對白平衡和范圍擴(kuò)展后的R、G、B平面圖象重新采樣,生成中分辨率空間中的RGB象素值。另外,必須生成給定RGB象素的亮度值,以及該RGB象素前后的象素的亮度值,以供稍后的銳化處理使用。生成RGB值和3個L值的允許時間是75個周期。假設(shè)L是給定象素位置的R、G、B的最大值和最小值的平均值(參見3.2.6.1),必須有效生成3個象素(正在考慮的象素,以及上一個象素和下一個象素)坐標(biāo)的RGB值。因此,我們在75個周期內(nèi)計算3個中分辨率RGB采樣及其對應(yīng)的L值。緩沖L值(因而緩沖RGB值)以避免重新計算需要大量存儲器,總之,我們有足夠時間生成RGB值。緩沖器4117包含中分辨率象素,但是不能使用緩沖器4,因?yàn)樗3咒J化后的CMY象素(而不是未經(jīng)銳化的RGB象素)。10.2.10.1重新采樣可以將重新采樣處理視為3組RGB生成,必須在25個周期內(nèi)完成每組生成(共需75個周期)??梢詫⑸梢粋€RGB值的過程視為3個并行執(zhí)行的過程對于給定的中分辨率象素坐標(biāo),計算R,計算G,計算B??梢栽?.2.5中找到生成上述值的理論依據(jù),但結(jié)果是在圖象的信道上有效運(yùn)行3個圖象重建過濾器,每個信道上一個。在PCP的情況中,利用5個采樣點(diǎn)執(zhí)行圖象重建,從而卷積內(nèi)核需要4個系數(shù)(由于一個系數(shù)總是0,所以不需要該采樣點(diǎn))。因此,通過在R數(shù)據(jù)上運(yùn)行圖象重建過濾器計算中分辨率的R象素。通過在G數(shù)據(jù)上運(yùn)行圖象重建過濾器計算中分辨率的G象素,通過在B數(shù)據(jù)上運(yùn)行圖象重建過濾器計算中分辨率的B象素。盡管內(nèi)核在x和y方向上是對稱的,但是每種顏色平面的內(nèi)核并不相同。由于R和B的圖象特征相似,所以其內(nèi)核相同,但是對于G平面,由于其圖象重建需要旋轉(zhuǎn)操作,所以具有不同內(nèi)核。圖53表示該處理的高級視圖。未示出地址生成。只有正在生成的當(dāng)前象素行的緩沖器1中具有足夠象素,重新采樣處理才能開始。即將4列數(shù)據(jù)寫入緩沖器1114中的各顏色平面后才開始處理。此前重新采樣處理112必須停止。為了計算給定顏色平面的中分辨率象素值,需要25個周期。為了將內(nèi)核應(yīng)用于4×4采樣區(qū)域,在4行采樣(每行4個輸入采樣)的每一行上應(yīng)用一維內(nèi)核(用x作索引)。然后在生成的4象素值上應(yīng)用一維內(nèi)核(用y作索引)。最終結(jié)果是輸出重新采樣后的象素。在每個周期內(nèi)應(yīng)用一個系數(shù)共需16個周期才能生成4個中間值,并且生成最終象素值需要4個周期,從而共需20個周期。關(guān)于精度,輸入象素為10比特(8∶2),內(nèi)核系數(shù)為12比特。在應(yīng)用內(nèi)核的4個步驟中,保持14比特的精度(8∶6),但是結(jié)果只保存10比特(8∶2)。因此,當(dāng)沿x和y方向進(jìn)行卷積運(yùn)算時,可以使用相同的卷積引擎。最終輸出(即R、G、B)為8比特。重新采樣處理的核心是圖54所示的卷積裝置150。如圖30所示,重新采樣處理占用20個周期。請注意,“行1,象素1”指緩沖器1114中的輸入,并且采用以下尋址機(jī)制。表30.20個周期重新采樣10.2.10.2生成L8正如3.2.6.1所述,必須從RGB轉(zhuǎn)換80為L,以便隨后的銳化處理??紤]CIE1976L*a*b*顏色平面,其中感覺上L是一致的。為了從RGB轉(zhuǎn)換到L(亮度信道),按下式計算R、G、B的最大值和最小值的平均值L=MIN(R,G,B)+MAX(R,G,B)2]]>并行生成給定象素的R、G、B值,該處理需要20個周期。此處說明的生成L的總時間是4個周期。因此生成RGBL的總時間是24個周期,有一個周期空閑(因?yàn)楸仨氃?5個周期內(nèi)完成處理)。因此,可以在第25個周期內(nèi)將L的值安全寫到緩沖器2115內(nèi)。以下說明地址生成。如表31所示,一個8位比較器能夠在3個周期內(nèi)生成3個比特,隨后使用這3個比特選擇加法器的2個輸入。可以在加法器內(nèi)實(shí)現(xiàn)以2為除數(shù)的除法運(yùn)算。表31.根據(jù)三次比較選擇Min和Maxa.不關(guān)心狀態(tài)由于只將最小值加到最大值中,所以順序并不重要。因此,對于加法器的兩個輸入,輸入1選擇R和G,輸入2選擇G和B。該邏輯是表31的位組合模式的最小化。10.2.10.3緩沖器2的地址生成重新采樣裝置的輸出是一個RGB象素,和以RGB的垂直方向?yàn)橹行牡?個亮度(L)象素。將3個L值寫到緩沖器2中,每25個周期一個。必須在周期45和周期50之前寫入R、G、B值,因?yàn)樯傻牡诙笏貫楸仨毐3制銻GB值的中心象素。緩沖器2的地址包括一個2比特的列部分(表示寫到4列中的哪一列),和一個表示L1、L2、L3、R、G、B的3比特值。每行的列號均從0開始,并且每75個周期(即,寫出L3后)加1(環(huán)繞)。10.2.10.4內(nèi)核查找表的地址生成內(nèi)核地址的計算方法與3.2.5的結(jié)尾部分說明的方法相同。內(nèi)核的維數(shù)為1,查找表內(nèi)有64項(xiàng)。使用當(dāng)前內(nèi)核空間中分?jǐn)?shù)部分的6個最高有效位(截尾)作為內(nèi)核系數(shù)表的索引。對于前16個周期,使用X坐標(biāo)作為內(nèi)核索引,而在下4個周期中,使用Y坐標(biāo)。由于內(nèi)核是對稱的,所以X和Y可以使用相同的內(nèi)核。對于1280個重新采樣值的每個值,需要生成3個象素—正在考慮的象素161,該象素之前的象素160和該象素之后的象素162。我們生成象素160,然后生成兩個象素161和162,而不是生成中心象素,然后從中心象素向上、向下移動。接著,返回到原始行,生成下一個輸出位值的下3個象素。這樣,如圖55所示,生成1280個位置的每個位置的象素。因此,我們在內(nèi)核空間中有一個當(dāng)前位置。當(dāng)在原始輸入空間中沿x或y前進(jìn)到下一象素時,向內(nèi)核坐標(biāo)添加適當(dāng)?shù)摩ぶ怠?紤]圖56,可以看到旋轉(zhuǎn)和不旋轉(zhuǎn)輸入空間兩種情況??紤]沿X方向的移動ΔX和沿Y方向的移動ΔY,其值取決于打印格式,因此mps(見3.2.5)也取決于打印格式。對于綠色信道,ΔX=ΔY=1/2mps。對于紅色和藍(lán)色信道,ΔX=1/mps,ΔY=0。有關(guān)ΔX和ΔY的適當(dāng)值參見表9和表11?,F(xiàn)在,將ΔX和ΔY應(yīng)用于內(nèi)核內(nèi)的移動。當(dāng)沿X方向前進(jìn)時,將ΔX加到X中,并從Y中減去ΔY。在不旋轉(zhuǎn)情況中,只需要從Y中減去0。同樣,當(dāng)沿Y方向前進(jìn)時,將ΔY加到X中,并將ΔX加到Y(jié)中。這么做是因?yàn)檠豖和Y方向的移動相差90度。內(nèi)核查找表的地址生成假定由軟件設(shè)置開始位置,以及相對于內(nèi)核空間中沿Y方向移動的兩個Δ值ΔX和ΔY。以下偽碼表示地址生成邏輯。<prelisting-type="program-listing"><![CDATA[ColumnKernelY=StartKernelYColumnKernelX=StartKernelXDoNLinestimes(howevermanyoutputlinestherearetoprocess)KernelX=ColumnKernelXKernelY=ColumnKernelYDo1280timesGeneratePixelKernelX=KernelX+DeltaY(movementinY)KernelY=KernelY+DeltaX(movementinY)GeneratePixelKernelX=KernelX+DeltaY(movementinY)KernelY=KernelY+DeltaX(movementinY)GeneratePixelKernelX=ColumnKernelX+DeltaX(movementinX)KernelY=ColumnKernelY-DeltaY(movementinX)EndDoColumnKernelY=ColumnKernelY+DeltaX(movementinY)ColumnKernelX=ColumnKernelX+DeltaY(movementinY)EndDo]]></pre>正如該偽碼所示,3個象素的生成出現(xiàn)1280次。與每個象素生成關(guān)聯(lián)的是兩次加法,在GeneratePixel的25個周期任務(wù)中執(zhí)行加法。每個GeneratePixel任務(wù)為25個周期,包括4組通過KernelX(系數(shù)0、1、2、3)對內(nèi)核進(jìn)行索引的4個周期,然后是通過KernelY(系數(shù)0、1、2、3)對內(nèi)核進(jìn)行索引的4個周期,最后是9個等待周期。請注意,所有值全是正的,并且僅為分?jǐn)?shù)。將更新的X和Y內(nèi)核值的兩個進(jìn)位輸出到緩沖器1的地址生成(見10.2.10.5)。進(jìn)位標(biāo)志僅僅表示算術(shù)運(yùn)算期間內(nèi)核的特定坐標(biāo)是否環(huán)繞。環(huán)繞可大于1或小于0,但是結(jié)果總是正的。將兩個進(jìn)位發(fā)送到旋轉(zhuǎn)/白平衡/范圍擴(kuò)展裝置,用于確定圖象的有關(guān)輸入行。10.2.10.5緩沖器1的地址生成重新采樣裝置112從緩沖器1114中讀取數(shù)據(jù),后者包括3個可獨(dú)立尋址的緩沖器145、146和147,每個顏色平面一個??梢栽诿總€周期中讀寫各緩沖器。L=MIN(R,G,B)+MAX(R,G,B)2]]>將75個周期的讀取處理分成3組,每組25個周期,25個周期用于生成各象素。每25個周期包括讀取緩沖器1的16個周期和沒有訪問操作的9個周期。在這9個周期中將數(shù)據(jù)寫入緩沖器1。將緩沖器1114的16個讀周期分成4組,每組4個讀周期,從而與各顏色平面的每組4個讀周期的4個分組一致。地址生成包括生成計算第一象素的16個地址(然后是9個等待周期),生成計算第二象素的16個地址(然后是9個等待周期),和最終生成計算第三象素的16個地址(然后是9個等待周期)。每個顏色平面具有其特有的啟動緩沖器1的地址參數(shù)。在生成每行的1280個象素的每個象素的3組16個地址,并且當(dāng)采樣裝置從每行1280個采樣前進(jìn)到下一行時,使用內(nèi)核地址生成裝置的兩個進(jìn)位來更新緩沖器1的地址參數(shù)。10.2.10.6綠色緩沖器146緩沖器1114內(nèi)的綠色子緩沖器146比紅色子緩沖器145和藍(lán)色子緩沖器147復(fù)雜,兩個主要原因是·綠色信道表示CFA中的交錯排列格式。交錯行僅包括奇數(shù)或偶數(shù)象素。為了對綠色信道進(jìn)行重新采樣,必須將其信道旋轉(zhuǎn)45度?!ぞG色象素的數(shù)目為紅色或藍(lán)色象素的兩倍。重新采樣意味著要在相同時間內(nèi)讀取更多采樣—盡管生成中分辨率空間中的每個象素仍然讀取16個采樣,但是每次提前緩沖器的可能性更大??赡苄匀Q于使用的比例系數(shù)。然而,綠色信道仍然采用使用RAM作為循環(huán)緩沖器的相同概念。綠色子緩沖器是一個78項(xiàng)的RAM,邏輯排列為13行,每行6項(xiàng)。圖57表示RAM地址和邏輯位置之間的關(guān)系。緩沖器1146中的采樣表示CFA中的交錯排列模式。因此,一行(如,0,13,26,39,52,65)中的采樣可以表示奇數(shù)或偶數(shù)象素,這取決于整個圖象內(nèi)的當(dāng)前行,以及是否將該圖象旋轉(zhuǎn)了90度。圖58表示此種情況。因而,當(dāng)我們將一個4×4采樣區(qū)域映射到緩沖器上時,采樣的解釋有兩種可能性。因此,有兩類尋址,取決于當(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說明的那樣,實(shí)際的重新采樣需要45度旋轉(zhuǎn)。假設(shè)目前我們只需要生成單個重新采樣,通過檢查圖59所示的兩類4×4采樣窗口實(shí)現(xiàn)緩沖器尋址。盡管兩類4×4采樣窗口看起來很相似,其差別在于在平面圖象中表示4×4映射的方式。圖60表示將類型1的4×4采樣映射到綠色子緩沖器。僅僅顯示了前7行以及最右邊的4列,因?yàn)樵搮^(qū)域完全包含4×4采樣區(qū)域。正如在圖61中看到的那樣,對于類型2的采樣處理,從緩沖器象素到采樣行的映射是非常相似的。在16個象素的類型1和類型2尋址中,處理一行采樣的方式有兩種。處理類型1的第1行和第3行與處理類型2的第2行和第3行相同(相對而言)。同樣,處理類型1的第2行和第4行與處理類型2的第1行和第3行相同(相對而言)。如圖62所示,將上述行尋址方法稱為類型A170和類型B171。給定4×4窗口的起始位置(WindowStartAdr)和起始類型(WindowStartType),借助于一個8項(xiàng)查找表(用于遍歷兩組4個采樣)生成16個采樣的地址。當(dāng)我們讀取第一個采樣值時,添加該表中的一個偏移以便到達(dá)下一個采樣位置。該偏移取決于類型(A,B=0,1)。第四個采樣的偏移值為到達(dá)下一行的第一個采樣點(diǎn)需要的數(shù)量(必須考慮采樣的列數(shù))。在生成每行4個采樣后,交換TypeA和TypeB。以下偽碼表示生成一組16個采樣的地址的邏輯。以78為模數(shù)的加法適合循環(huán)緩沖器。<prelisting-type="program-listing"><![CDATA[Adr=WindowStartAdrTypeAB=WindowStartTypeDo4timesForN=0to4FetchAdrAdr=(Adr+Table[TypeAB,N])mod78EndForTypeAB=NOTTypeABEndDo]]></pre>查找表包括8項(xiàng)—4項(xiàng)用于類型A170的地址偏移生成,4項(xiàng)用于類型B171的地址偏移生成。偏移為相對于當(dāng)前采樣位置(Adr)的偏移。表33.16個采樣地址生成的偏移值在16個讀取操作結(jié)束時,TypeAB位與原始值相同(從WindowStartType加載)。僅讀取一組16個采樣是不夠的。必須讀取3組16個采樣(表示不旋轉(zhuǎn)的輸入空間中沿Y方向的3個不同位置)。在第一組和第二組16個采樣結(jié)束時,利用內(nèi)核地址生成器更新內(nèi)核位置。使用上述更新的進(jìn)位來設(shè)置下一組16個采樣的窗口。兩個進(jìn)位作為包含一個偏移和1位標(biāo)志的查找表的索引。將偏移添加到WindowStartAdr中,使用該標(biāo)志確定是否倒置WindowStartType。表34表示該查找表的值。表34.更新WindowStartAdr和WindowStartType在第三組16個采樣結(jié)束時,更新內(nèi)核位置以補(bǔ)償不旋轉(zhuǎn)的輸入空間中沿X方向的前進(jìn)。此時,生成不同的運(yùn)動方向,從而使用不同的偏移/TypeAB修改表。不能將這些偏移添加到當(dāng)前的WindowStartAdr值中,因?yàn)樗鼈儽硎灸硞€位置沿Y方向上的遠(yuǎn)離開始運(yùn)動的兩個運(yùn)動。因此,我們從另一組變量中加載WindowStartAdr和WindowStartTypeTopStartAdr,TopStartAdr表示當(dāng)前行的1280個象素的第一項(xiàng)。將內(nèi)核地址生成器的兩個進(jìn)位應(yīng)用于查找表35,以確定添加到TopStartAdr的偏移,以及是否倒置TopStartType。如前所述,加法的模數(shù)是78(綠色RAM的大小)。將結(jié)果復(fù)制到WindowStartAdr和WindowStartType中,以便在生成下3組16個采樣時使用。表35.更新T0pStartAdr和TopStartType在處理1280個3組16個采樣后,下一行的1280個象素開始。然而,必須確定下一行內(nèi)位置0的第一個采樣的地址。由于總是將象素加載到緩沖器1中的正確位置,所以總能從緩沖器1內(nèi)的正確位置開始(即,可以從固定的Position0Adr中加載TopStartAdr)。然而,我們擔(dān)心處理哪種類型,因?yàn)轭愋腿Q于我們前進(jìn)的了多少。所以,我們具有一個初始Position0Type,必須根據(jù)內(nèi)核地址生成器的進(jìn)位標(biāo)志更新后者。由于我們在不旋轉(zhuǎn)的Y輸入空間中前進(jìn),所以使用的邏輯與更新WindowStartType的邏輯相同。只是在Position0Type上執(zhí)行。將Position0Type的新值復(fù)制到TopStartType中,并且WindowStartAdr開始新行的第一位置的采樣。只有旋轉(zhuǎn)/白平衡/范圍擴(kuò)展裝置在緩沖器1中放置了足夠項(xiàng)目后,指定的1280個位置的采樣處理才能開始。在開始各新行后,以上處理將存在128個周期(見10.2.11)。10.2.10.7紅色和藍(lán)色緩沖器緩沖器1的紅色子緩沖器145和藍(lán)色子緩沖器147只是兩個作為循環(huán)緩沖器的RAM。每個緩沖器為30字節(jié),邏輯排列為6行,每行包含6項(xiàng)。圖63表示RAM地址和邏輯位置之間的關(guān)系。對于紅色和藍(lán)色,需要讀取的前16項(xiàng)總是前4×4項(xiàng)。讀取算法在本階段并不訪問采樣的剩余兩列。前16項(xiàng)的地址生成只是一個起始位置(此時為0),然后是16個模數(shù)為36的加法,如以下偽碼所示ADR=StartADRDo4timesDo4timesADR=ADR+6MOD36EndDoADR=ADR+13MOD36EndDo然而,以上地址生成機(jī)制與綠色信道的不同??梢詫⒕G色尋址機(jī)制應(yīng)用于紅色和藍(lán)色信道,并且只需在表中使用不同值,而不是設(shè)計兩種尋址機(jī)制。從而降低了設(shè)計復(fù)雜性。其唯一區(qū)別在于,采用模數(shù)為36的加法,而不是模數(shù)為78的加法??梢圆捎煤唵纬朔ㄆ?。考慮綠色信道的各種地址生成表,并認(rèn)為將其應(yīng)用于紅色和藍(lán)色,顯然不需要類型,因?yàn)椴恍枰獙⒓t色和藍(lán)色信道旋轉(zhuǎn)45度。因此確實(shí)可以忽略類型值,表36所示的表33的紅色/藍(lán)色等價表具有兩組完全相同的4項(xiàng)。表36.16個采樣地址生成的偏移值(紅/藍(lán))關(guān)于綠色地址生成,在前進(jìn)到1280項(xiàng)的下一項(xiàng)前,沿Y方向移動兩次。對于紅色和藍(lán)色,內(nèi)核空間中的移動和輸入空間中的移動之間沒有縮放。也沒有旋轉(zhuǎn)。當(dāng)沿Y方向移動時,將ΔY=0添加到KernelX中(見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í)可以對紅色和藍(lán)色使用綠色值。最壞情況是兩次地址都前進(jìn)1,從而導(dǎo)致圖65所示的最壞的重疊情況。在第三組16個采樣結(jié)束時,必須更新TopStartAdr和TopStartType。由于正沿X方向移動(并且將ΔY=0添加到KernelY中),所以KernelY的進(jìn)位總是0。表37表示表35的紅色/藍(lán)色等價表。請注意,沒有類型列,由于類型對紅色和藍(lán)色不重要。表37.更新TopStartAdr和TopStartType(紅/藍(lán))從1280組3象素組成的一行前進(jìn)到下一行的處理與用于綠色的處理相同。Position0Adr與給定行(對于紅色和藍(lán)色,Position0Adr=0)的第一組16個采樣的Position0Adr相同,而與類型無關(guān)。只有緩沖器1中具有足夠采樣,下一行的生成才能開始。紅色和藍(lán)色生成必須與綠色生成同時開始,因此,只有在新行開始128個周期后才能開始(見10.2.11)。10.2.11旋轉(zhuǎn)、白平衡和范圍擴(kuò)展111正如3.2.3和3.2.4中說明的那樣,從圖象RAM11中加載緩沖器1114的實(shí)際任務(wù)包括以下步驟旋轉(zhuǎn)、白平衡和范圍擴(kuò)展111。必須快速生成緩沖器1的象素,以供重新采樣處理112使用。這意味著在75個周期中,該裝置必須能夠讀取、處理、并存儲6個紅色象素、6個藍(lán)色象素和13個綠色象素。通過以適當(dāng)順序讀取象素實(shí)現(xiàn)作為選擇步驟的旋轉(zhuǎn)處理。在讀出圖象存儲器中適當(dāng)平面的給定象素后,必須進(jìn)行白平衡,并且根據(jù)3.2.4中定義的范圍擴(kuò)展計算調(diào)整其值。該處理僅包括一次減法(基數(shù)0)和一次乘法(最大值255),其中相對于顏色特有的常數(shù)進(jìn)行減法和乘法。圖68表示此裝置的結(jié)構(gòu)。在利用圖象直方圖單元8(見第9節(jié))生成各顏色平面的直方圖后,由CPU10確定紅、綠、藍(lán)低閾值72,以及紅、綠、藍(lán)比例系數(shù)73。根據(jù)當(dāng)前流水線中處理的象素是紅色,還是綠色,抑或是藍(lán)色,在加法器和乘法器中復(fù)用正確的低閾值和比例系數(shù),其中將輸出寫到緩沖器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之前的任何比特,則將整個8比特整數(shù)結(jié)果設(shè)置為0,將分?jǐn)?shù)部分設(shè)置為0。除減法器172和乘法器174之外,由地址生成器175執(zhí)行此裝置內(nèi)的大部分工作,實(shí)際上,地址生成器175是該裝置的狀態(tài)機(jī)。地址生成受兩個因素控制在一個給定周期內(nèi),只能對圖象RAM11進(jìn)行一次存取,并且在一個給定周期內(nèi),只能對緩沖器1114進(jìn)行一次存取。在75個可用周期中,使用3組16個周期讀取緩沖器1。實(shí)際使用3組25個周期,其中16個讀周期,然后是9個等待周期??偣蔡峁?7個可用周期用于25個寫操作(6個紅色,6個蘭色,6個綠色)。這意味著如果寫入緩沖器1的定時與重新采樣裝置112的等待周期一致,則滿足兩個約束條件。10.2.11.1緩沖器1的地址生成當(dāng)重新采樣處理運(yùn)行時,我們只關(guān)心在重新采樣裝置112不讀取緩沖器1時,寫入緩沖器1。由于重新采樣裝置在每75個周期中有3組16個讀操作,所以有27個寫入周期。當(dāng)重新采樣裝置未運(yùn)行時,我們希望盡快加載緩沖器1,這意味著每個周期內(nèi)緩沖器1114的一次寫操作。因此,緩沖器1的地址生成迅速寫出狀態(tài)機(jī),后者考慮以上兩種情況。每當(dāng)從圖象RAM11中加載數(shù)值時,總是在隨后的一個周期內(nèi)將調(diào)整值寫到緩沖器1內(nèi)的適當(dāng)顏色平面中。因此,緩沖器1的地址生成包括分別用于紅色、藍(lán)色、綠色子緩沖器的地址計數(shù)器。在各行開始時,RedAdr、BlueAdr、GreenAdr的初值為0,在寫入緩沖器1后,地址加1,其中以36或78作為模數(shù),模數(shù)取決于正在寫入的緩沖器是紅色、還是綠色抑或是藍(lán)色。并不是在每75個周期內(nèi)寫入所有顏色。通常綠色需要的填充速度是紅色或藍(lán)色的兩倍。以下偽碼表示其邏輯<prelisting-type="program-listing"><![CDATA[IfthecolortowriteisRedWritetoRedBuffer1atRedAdrRedAdr=RedAdr+1mod36ElseIfthecolortowriteisBlueWritetoBlueBuffer1atBlueAdrBlueAdr=BlueAdr+1mod36ElseIfthecolortowriteisGreenWritetoGreenBuffer1atGreenAdrGreenAdr=GreenAdr+1mod78EndIf]]></pre>10.2.11.2圖象RAM的地址生成可以沿兩個方向(逆時針旋轉(zhuǎn)0度或90度)中的一個方向讀取各平面。從而能夠在按行或按列讀取平面圖象時進(jìn)行有效轉(zhuǎn)換。另外,對于圖象邊界之外的讀取允許邊緣圖象復(fù)制或固定顏色,并且對于護(hù)照31之類的打印格式,允許圖象環(huán)繞。在每個打印行的開始,必須盡快讀取圖象RAM11以加載緩沖器1114。這等價于每個周期訪問一個采樣。只有在加載5列后重新采樣才能出現(xiàn),這意味著5列的6、6和13個采樣,總共125個周期。外加一個額外周期,用于從圖象RAM11加載后,將終值寫出到緩沖器1114中。為了簡化計數(shù),上舍入為128個周期。在前128個周期之后,每75個周期檢查一次是否需要加載3種顏色的下一列采樣,并且在隨后的75個周期中加載適當(dāng)采樣。然而,對于每種顏色,是否在第一組75個周期期間加載采樣的初始設(shè)置總是1。從而填充緩沖器1內(nèi)每種顏色的第6列采樣。在75個周期結(jié)束后,檢查重新采樣裝置112中內(nèi)核地址生成器的每個顏色平面的KernelXCarryout標(biāo)志,以確定是否讀取下一列采樣。同樣,如果設(shè)置了KernelYCarryout標(biāo)志,則AdvanceLine脈沖重新啟動下一行的處理。由于填充緩沖器1中一列的每個“讀操作”實(shí)際上為6個或13個讀操作,所以我們保存一個起始位置以便前進(jìn)到下一個“讀操作”。同時,我們保存一個坐標(biāo)值,以允許生成越界坐標(biāo),從而支持邊緣象素復(fù)制、固定顏色和圖象環(huán)繞。我們認(rèn)為有效圖象180在特定邊界內(nèi),并且當(dāng)坐標(biāo)在實(shí)際區(qū)域之外時采取某些操作。按照行或象素,坐標(biāo)可以在圖象之前,在圖象內(nèi),或者在圖象后。圖67表示此種情況,盡管為了清晰性而夸大了有效區(qū)域之外的空間。請注意,由于我們使用(0,0)作為坐標(biāo)生成的起點(diǎn),所以MaxPixel和MaxLine為象素計數(shù)和行計數(shù)。然而,由于根據(jù)內(nèi)核進(jìn)位和MJI15的AdvanceLine脈沖進(jìn)行地址生成,所以不需要外限。象素行的地址生成繼續(xù)直至收到AdvanceLine脈沖,并且可以包括邊緣復(fù)制、越界地址的固定顏色,或圖象象素環(huán)繞。如果具有當(dāng)前采樣的地址(Adr),并且希望移動到下一行或同一行上的下一采樣,則采樣的坐標(biāo)將改變,但是地址改變方式取決于是否圍繞實(shí)際圖象環(huán)繞,并且在需要時必須進(jìn)行邊緣象素復(fù)制。如果圖象沒有環(huán)繞(即,除護(hù)照31之外的所有打印格式),則在行或象素中前進(jìn)時執(zhí)行表38中的操作。為了將圖象旋轉(zhuǎn)90度,CPU10只需交換ΔLine和ΔPixel值??紤]表38,當(dāng)PixelSense=0時,ADR改變ΔPixel,并且當(dāng)LineSense=0時,ADR改變ΔLine。根據(jù)上述原則,Adr對邊緣象素復(fù)制有效。當(dāng)然,如果固定顏色對越界坐標(biāo)合適,則可以選擇該值代替適當(dāng)?shù)刂分写鎯Φ闹?。?8.在象素或行中前進(jìn)時執(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的前一個讀數(shù)(-,0,+)與新讀數(shù)。當(dāng)讀數(shù)為“-”時,使用表38所示的增量,但是當(dāng)坐標(biāo)越界(即,從0移動到+)時,利用新值更新Adr,而不是基于Δ。假設(shè)我們保存當(dāng)前行的起始地址,從而在生成當(dāng)前行后前進(jìn)到下一行的起始地址,則我們能夠進(jìn)行以下處理·如果Pixel改變,并且Pixel讀數(shù)從0變?yōu)?(表示我們越過圖象的邊界),則利用LineStartAdr代替Adr,并利用ActiveStartPixel代替Pixel。Line保持不變?!と绻鸏ine改變,并且Line讀數(shù)從0變?yōu)?(表示我們越過圖象的邊界),則從Adr中減去DeltaColumn,并利用ActiveStartLine代替Line。Pixel保持不變。DeltaColumn為地址偏移,用于根據(jù)(Pixel,ActiveEndLine-1)生成(Pixel,ActiveStartLine)的地址。以下偽碼表示加載采樣數(shù)目(或者為6,或者為13,取決于顏色)的邏輯<prelisting-type="program-listing"><![CDATA[line=FirstSampleLinepixel=FirstSamplePixeladr=FirstSampleAdrDoNtimes(6or13)oldPixelSense=PixelSense(pixel)oldLineSense=LineSense(gLine)inActive=((oldLineSense==InActive)AND(oldPixelSense==InActive))If((NOTinActive)ANDUseConstant)sample=ConstantColorelsesample=Fetch(adr)EndIfline=line+1If((LineSense(line)==″+″)ANDwrapImage)adr=adr-DeltaColumnline=ActiveStartLineElseIf((LineSense(line)==″0″)AND((oldLineSense==″0″))adr=adr+DeltaLineEndIfEndDo]]></pre>諸如FirstSampleLine、FirstSamplePixel和FirstSampleAdr之類的變量的設(shè)置在地址生成器部分,地址生成器響應(yīng)內(nèi)核地址生成器的進(jìn)位標(biāo)志和MJI的AdvanceLine脈沖。以下偽碼表示此部分地址生成的邏輯<prelisting-type="program-listing"><![CDATA[FirstSamplePixel=0FirstSampleLine=0FirstSampleAdr=FirstSampleAdr=ActiveStartAddresscount=0DoForeverIf((KernelXCarryOut)OR(AdvanceLineANDKernelYCarryOut)OR(count<5))DoNSamplesforthiscolorplane(見以上偽碼)EndIfoldPixelSense=PixelSense(FirstSamplePixel)oldLineSense=LineSense(FirstSampleLine)If(AdvanceLineANDKernelYCarryout)count=0FirstSampleLine=FirstSampleLine+1FirstSamplePixel=0If((LineSense(FirstSampleLine)==″+″)ANDwrapImage)FirstLineSampleAdr=StartAddressFirstSampleLine=ActiveStartLineElseIf((LineSense(FirstSampleLine)==″0″)AND(oldLineSense==″0″))FirstSampleLineAdr=FirstSampleLineAdr+DeltaLineEndIfFirstSampleAdr=FirstLineSampleAdrElseIf(KernelXCarryoutOR(count<5))FirstSamplePixel=FirstSamplePixel+1count=count+1If((PixelSense(FirstSamplePixel)==″+″)ANDwrapImage)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]SilverbrookResearch,1998,AuthenticationofConsumables.[2]SilverbrookResearch,1998,Authenticationchip.盡管參照特定示例說明本發(fā)明,但是熟練技術(shù)人員可以理解,能夠以各種其他形式體現(xiàn)本發(fā)明。以下帶有編號的段落向收件人提供本發(fā)明之范圍的進(jìn)一步說明,不過根據(jù)本文中的公開,其他創(chuàng)新和發(fā)明特征以及特征之組合也是顯然的。權(quán)利要求1.一種用于提供圖象的方法,以便以預(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ī)以預(yù)定的二值點(diǎn)分辨率獲得第三數(shù)據(jù)集。2.權(quán)利要求1的方法,其中第一分辨率與預(yù)定的二值點(diǎn)分辨率匹配。3.權(quán)利要求1的方法,其中第一分辨率大于預(yù)定的二值點(diǎn)分辨率。4.權(quán)利要求1的方法,其中第一分辨率小于預(yù)定的二值點(diǎn)分辨率。5.權(quán)利要求1的方法,其中第一數(shù)據(jù)集為紅、綠和藍(lán)(RGB)格式,而打印機(jī)與青、品紅和黃(CMY)格式相對應(yīng),并且該方法還包括附加步驟,即將第三數(shù)據(jù)集從RGB格式轉(zhuǎn)換為CMY格式。6.權(quán)利要求1的方法包括對第二數(shù)據(jù)集進(jìn)行銳化處理的步驟。7.權(quán)利要求1的方法包括對第一數(shù)據(jù)集進(jìn)行銳化處理的步驟。8.權(quán)利要求1的方法,其中從曝光裝置中獲得第一數(shù)據(jù)集,并且該方法包括以下步驟,即補(bǔ)償?shù)谝粩?shù)據(jù)集,以抵消曝光裝置中的非線性。9.權(quán)利要求8的方法,其中補(bǔ)償步驟包括將第一數(shù)據(jù)集從眾多x比特采樣轉(zhuǎn)換為眾多y比特采樣,其中x>y。10.權(quán)利要求8的方法,其中x=10,y=8。11.權(quán)利要求1的方法還包括以下步驟,即將第一數(shù)據(jù)集平面化為一個紅色平面、一個綠色平面和一個藍(lán)色平面。12.權(quán)利要求1的方法還包括以下步驟為第一數(shù)據(jù)集定義m%的最暗象素和n%的最亮象素;調(diào)整第一數(shù)據(jù)集以使m%的最暗象素相等;以及調(diào)整第一數(shù)據(jù)集以使n%的最亮象素相等。13.權(quán)利要求1的方法包括附加步驟,即調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的白平衡。14.權(quán)利要求1的方法包括以下附加步驟,即調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的范圍擴(kuò)展。15.權(quán)利要求13或14的方法,其中增加第一數(shù)據(jù)集的彩色分辨率,同時保持相同的空間分辨率。16.權(quán)利要求1的方法,其中選擇調(diào)整第一數(shù)據(jù)集,以便沿預(yù)定的旋轉(zhuǎn)方向提供圖象。17.一種用于提供圖象的裝置,以便以預(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)行打印。18.權(quán)利要求17的裝置,其中第一分辨率與預(yù)定的二值點(diǎn)分辨率匹配。19.權(quán)利要求17的裝置,其中第一分辨率大于預(yù)定的二值點(diǎn)分辨率。20.權(quán)利要求17的裝置,其中第一分辨率小于預(yù)定的二值點(diǎn)分辨率。21.權(quán)利要求17的裝置,其中第一數(shù)據(jù)集為紅、綠和藍(lán)(RGB)格式,而打印機(jī)與青、品紅和黃(CMY)格式相對應(yīng),其中處理裝置將第三數(shù)據(jù)集從RGB格式轉(zhuǎn)換為CMY格式。22.權(quán)利要求17的裝置包括對第二數(shù)據(jù)集進(jìn)行銳化處理的步驟。23.權(quán)利要求17的裝置包括對第一數(shù)據(jù)集進(jìn)行銳化處理的步驟。24.權(quán)利要求17的裝置,其中從曝光裝置中獲得第一數(shù)據(jù)集,開且輸入裝置補(bǔ)償?shù)谝粩?shù)據(jù)集,以抵消曝光裝置中的非線性。25.權(quán)利要求24的裝置,其中補(bǔ)償非線性包括將第一數(shù)據(jù)集從眾多x比特采樣轉(zhuǎn)換為眾多y比特采樣,其中x>y。26.權(quán)利要求25的裝置,其中x=10,y=8。27.權(quán)利要求17的裝置,其中輸入裝置將第一數(shù)據(jù)集平面化為一個紅色平面、一個綠色平面和一個藍(lán)色平面。28.權(quán)利要求17的裝置,其中輸入裝置為第一數(shù)據(jù)集定義m%的最暗象素和n%的最亮象素;調(diào)整第一數(shù)據(jù)集以使m%的最暗象素相等;以及調(diào)整第一數(shù)據(jù)集以使n%的最亮象素相等。29.權(quán)利要求17的裝置,其中輸入裝置調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的白平衡。30.權(quán)利要求17的裝置,其中輸入裝置調(diào)整第一數(shù)據(jù)集以便提供預(yù)定的范圍擴(kuò)展。31.權(quán)利要求29或30的裝置,其中輸入裝置增加第一數(shù)據(jù)集的彩色分辨率,同時保持相同的空間分辨率。32.權(quán)利要求17的裝置,其中輸入裝置選擇調(diào)整第一數(shù)據(jù)集,以便沿預(yù)定的旋轉(zhuǎn)方向提供圖象。33.一種照相機(jī),包括一個CCD陣列,用于提供拜爾圖象;一臺打印機(jī),用于選擇提供打印的圖象;以及一種用于接收拜爾圖象并向打印機(jī)提供第三數(shù)據(jù)集以便生成打印圖象的裝置。全文摘要一種用于提供圖象的方法,以便以預(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ī)以預(yù)定的二值點(diǎn)分辨率獲得第三數(shù)據(jù)集。一種用于提供圖象的裝置,以便以預(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)行打印。一種照相機(jī),包括一個CCD陣列,用于提供拜爾圖象;一臺打印機(jī),用于選擇提供打印的圖象;以及一種根據(jù)權(quán)利要求17的裝置,用于接收拜爾圖象,然后向打印機(jī)提供第三數(shù)據(jù)集以便生成打印圖象。文檔編號B41J29/393GK1413338SQ00814363公開日2003年4月23日申請日期2000年9月8日優(yōu)先權(quán)日1999年9月16日發(fā)明者保羅·拉普斯頓,西蒙·R·沃姆斯利申請人:西爾弗布魯克研究股份有限公司