對象是否是適合結(jié)合的對象有關(guān)的判斷。對象趨勢判斷單元301 存儲先前進行了處理的對象的屬性信息、操作數(shù)類型和繪制位置各自的歷史?;谶@些歷 史,對象趨勢判斷單元301判斷處理中的當(dāng)前對象是否滿足用于判斷為該對象是適合結(jié)合 的對象的條件(1)~(3)中的任何條件。在滿足這些條件中的任何條件的情況下,判斷為處 理中的當(dāng)前對象是適合結(jié)合的對象。如果判斷為處理中的當(dāng)前對象是適合結(jié)合的對象(步 驟S702中為"是"),則處理進入步驟S704。如果沒有判斷為處理中的當(dāng)前對象是適合結(jié)合 的對象(步驟S702中為"否"),則處理進入步驟S703。
[0104] 在步驟S703中,對象趨勢判斷單元301將對象計數(shù)設(shè)置為0。該對象計數(shù)表示連 續(xù)處理了多少個適合結(jié)合的對象。之后,對象趨勢判斷處理結(jié)束。
[0105] 在步驟S704中,對象趨勢判斷單元301使對象計數(shù)增加1。
[0106] 在步驟S705中,對象趨勢判斷單元301將對象計數(shù)與計數(shù)閾值進行比較。該計數(shù) 閾值表示適合結(jié)合的對象的連續(xù)性。換句話說,如果對象計數(shù)超過計數(shù)閾值,則可以假定適 合結(jié)合的對象是在處理中的當(dāng)前對象之后。在這種情況下(步驟S705中為"是"),后續(xù)對 象有可能產(chǎn)生高的結(jié)合效果,因此處理進入步驟S706。否則(步驟S705中為"否"),對象 趨勢判斷處理結(jié)束。
[0107] 在步驟S706中,對象趨勢判斷單元301使當(dāng)前的結(jié)合模式轉(zhuǎn)變?yōu)榻Y(jié)合推進模式。 之后,對象趨勢判斷處理結(jié)束。另外,將對象計數(shù)初始化為0。
[0108] 如此進行了對象趨勢判斷處理。
[0109] 對象結(jié)合之后的結(jié)合樽式的判斷
[0110] 將參考圖9來說明步驟S608中的判斷處理。
[0111] 在該判斷處理中,基于步驟S607中的結(jié)合處理的結(jié)合效果來判斷是否切換結(jié)合 模式。
[0112] 在步驟S901中,結(jié)合模式判斷單元304獲取經(jīng)過步驟S607中的結(jié)合處理的輸入 對象的數(shù)量(假脫機對象的數(shù)量)以及輸出對象的數(shù)量(結(jié)合之后的對象的數(shù)量)。然后, 結(jié)合模式判斷單元304通過將輸入對象的數(shù)量除以輸出對象的數(shù)量來計算比率。所計算出 的該比率表示結(jié)合效果。例如,關(guān)于參考圖8A和8B所述的示例,在圖8A中所計算出的比 率為"1. 5",并且在圖8B中所計算出的比率為"3"。
[0113] 在步驟S902中,結(jié)合模式判斷單元304判斷步驟S901中所計算出的比率是否超 過減少閾值。如果步驟S901中所計算出的比率超過減少閾值(步驟S902中為"是"),則結(jié) 合模式判斷單元304判斷為通過結(jié)合處理來減少輸出對象的數(shù)量的效果高(結(jié)合效果高), 并且處理進入步驟S903。如果步驟S901中所計算出的比率沒有超過減少閾值(步驟S902 中為"否"),則處理進入步驟S904。
[0114] 在步驟S903中,結(jié)合模式判斷單元304維持結(jié)合推進模式作為結(jié)合模式。
[0115] 在步驟S904中,結(jié)合模式判斷單元304將結(jié)合模式切換為結(jié)合停止模式。
[0116] 例如,在將"2"設(shè)置為減少閾值的情況下,如果結(jié)合處理不能使對象的數(shù)量減半, 則假定結(jié)合效果低。在參考圖8A所述的示例中,在圖像結(jié)合中維持結(jié)合推進模式,但在多 路徑結(jié)合中將結(jié)合模式切換為結(jié)合停止模式。
[0117] 上述判斷基于以下的預(yù)期。
[0118] (1)在針對處理中的當(dāng)前對象之前的連續(xù)對象的結(jié)合處理產(chǎn)生高的結(jié)合效果的情 況下,后續(xù)對象也產(chǎn)生高的結(jié)合效果。
[0119] (2)在針對處理中的當(dāng)前對象之前的連續(xù)對象的結(jié)合處理產(chǎn)生低的結(jié)合效果的情 況下,后續(xù)對象也產(chǎn)生低的結(jié)合效果。
[0120] 這是因為連續(xù)對象具有相似的趨勢。
[0121] 如此進行了步驟S608中的判斷處理。
[0122] 對象的DL
[0123] 將參考圖10、11A和11B來說明步驟S609中的轉(zhuǎn)換處理。
[0124] 首先,將參考圖11A和11B來說明通過步驟S609的轉(zhuǎn)換所生成的DL的結(jié)構(gòu)。
[0125] 圖11A例示根據(jù)圖8A所示的對象810和820所生成的DL。該DL包括邊緣E11、 E12、E21和E22。邊緣E11和E12各自具有向?qū)蛹塋1的鏈接,并且層級L1具有向填充F1 的鏈接。邊緣E21和E22各自具有向L2的鏈接,并且層級L2具有向填充F2的鏈接。
[0126] 這些邊緣各自是表示相應(yīng)對象的形狀的信息。這些邊緣各自是根據(jù)相應(yīng)對象的 路徑形狀信息所生成的。例如,在對象810中,分別生成路徑811的形狀的左端邊緣和右 端邊緣作為邊緣E11和E12。邊緣E11和E12分別具有各自用作邊緣起點的坐標(biāo)的坐標(biāo) (xll,yl)和坐標(biāo)(xl2,yl)。另一方面,邊緣E21和E22分別具有各自用作邊緣起點的坐標(biāo) 的坐標(biāo)(x21,y2)和坐標(biāo)(x22, y2)。
[0127] 從各個邊緣所參考的層級是表示相應(yīng)對象按對象重疊順序的位置的信息。基于相 應(yīng)對象按生成對象的順序的位置來分配各個層級。例如,對象810和820是通過結(jié)合處理同 時生成的,因此分配至層級L1和L2的順序中的位置相同。層級表示:順序中的位置越高, 重疊順序中的層越低。
[0128] 從各個層級所參考的填充是表示相應(yīng)對象的填充的信息。各個填充是基于相應(yīng)對 象的操作數(shù)信息所生成的。例如,在對象810中,操作數(shù)信息包括白色單色填充812,因此從 層級L1所參考的填充F1是表示白色單色填充的信息。
[0129] 上述的邊緣、層級和填充包括在根據(jù)對象所生成的DL中。
[0130] 圖11B例示根據(jù)對象810生成的DL 1101中所包括的邊緣的列表結(jié)構(gòu)、以及在將 根據(jù)對象820生成的DL添加至DL 1101 (與DL 1101合并)之后所獲得的DL 1102中所包 括的邊緣的列表結(jié)構(gòu)。
[0131] DL中所包括的邊緣的列表結(jié)構(gòu)是基于各邊緣的起點的坐標(biāo)所生成的。在該列表結(jié) 構(gòu)中,按在各個Y坐標(biāo)相同的同一掃描線上開始的各個邊緣的X坐標(biāo)的升序來對邊緣進行 排序。DL 1101包括邊緣E11和E12。因此,在針對DL 1101所生成的列表結(jié)構(gòu)中,在Y = yl的掃描線上,邊緣Ell從X = xll的坐標(biāo)開始,隨后邊緣Ε12從X = χ12的坐標(biāo)開始。邊 緣Ε11和Ε12通過鏈接相連接。
[0132] 為了將根據(jù)對象820所生成的DL與DL 1101合并,判斷使用DL 1101中所維持的 掃描線中的哪一個掃描線作為對根據(jù)對象820所生成的DL進行合并之后的掃描線。例如, 通過將各個掃描線的Υ坐標(biāo)彼此進行比較來進行該判斷。掃描線Y = y2的Υ坐標(biāo)大于掃 描線Y = yl的Y坐標(biāo)。因此,將從掃描線Y = yl要鏈接的掃描線Y = y2添加至DL 1101。 此外,將邊緣E21和E22添加至所添加的掃描線Y = y2,以按邊緣E21和E22的順序鏈接。 結(jié)果,生成DL 1102。
[0133] 將參考圖10來說明步驟S609中的轉(zhuǎn)換處理。這里,對象/DL轉(zhuǎn)換單元305基于 對象的信息來生成邊緣、層級和填充,然后將這三者與現(xiàn)有的DL合并。
[0134] 在步驟S1001中,對象/DL轉(zhuǎn)換單元305根據(jù)對象的操作數(shù)信息來生成填充。
[0135] 在步驟S1002中,對象/DL轉(zhuǎn)換單元305基于對象按生成對象的順序的位置來生 成層級,并且將向步驟S1001中所生成的填充的鏈接包含至所生成的層級中。
[0136] 在步驟S1003中,對象/DL轉(zhuǎn)換單元305基于對象的路徑形狀信息來生成邊緣,并 且將向步驟S1002中所生成的層級的鏈接包含至所生成的邊緣中。
[0137] 在步驟S1004中,對象/DL轉(zhuǎn)換單元305將步驟S1003中所生成的邊緣與DL合并。
[0138] 如此進行了本典型實施例的DL生成處理。
[0139] 根據(jù)本典型實施例,可以通過在結(jié)合停止模式和結(jié)合推進模式之間適當(dāng)?shù)厍袚Q來 有效地降低步驟S604中的結(jié)合判斷處理的處理成本。另外,可以有效地降低步驟S606中 的假脫機處理和步驟S607中的結(jié)合處理的處理成本。
[0140] 第一奪形例
[0141] 在上述的典型實施例中,說明了步驟S701(指定R0P3作為R0P信息)作為用于判 斷是否進行從結(jié)合停止模式向結(jié)合推進模式的切換的條件。然而,該條件不限于該示例。例 如,如果在結(jié)合停止模式期間對指定了 R0P2:X0R作為R0P信息的對象(指定了 R0P2:X0R 的對象)進行處理,則對象趨勢判斷單元301可以將結(jié)合模式切換為結(jié)合推進模式。這是 因為,如果后續(xù)對象是指定了 R〇P2:AND的對象并且下一后續(xù)對象是指定了 R0P2:X0R的對 象,則可以進行產(chǎn)生高的結(jié)合效果的結(jié)合處理。具體地,可以將處理中的當(dāng)前對象和后續(xù)兩 個對象結(jié)合成指定了 R〇P2:COPYPEN作為R0P信息的一個對象。結(jié)合模式判斷單元304可 以檢查后續(xù)對象的R0P信息,并且如果沒有指定R0P2:AND作為R0P信息,則可以將結(jié)合模 式切換回至結(jié)合停止模式。
[0142] 第二奪形例
[0143] 在上述的典型實施例中,分別說明了步驟S701和步驟S705作為用于進行從結(jié)合 停止模式向結(jié)合推進模式的切換的條件。然而,該條件不限于這些示例。例如,如果在結(jié)合 停止模式中連續(xù)處理的對象的數(shù)