US7719546B1 - Processing illustrations using stored information - Google Patents

Processing illustrations using stored information Download PDF

Info

Publication number
US7719546B1
US7719546B1 US11/772,007 US77200707A US7719546B1 US 7719546 B1 US7719546 B1 US 7719546B1 US 77200707 A US77200707 A US 77200707A US 7719546 B1 US7719546 B1 US 7719546B1
Authority
US
United States
Prior art keywords
graphical element
original
transformed
graphical
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US11/772,007
Inventor
Stephan R. Yhann
Dejan Markovic
Alexandre S. Parenteau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Priority to US11/772,007 priority Critical patent/US7719546B1/en
Assigned to ADOBE SYSTEMS INCORPORATED reassignment ADOBE SYSTEMS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YHANN, STEPHAN R., MARKOVIC, DEJAN, PARENTEAU, ALEXANDRE S.
Assigned to ADOBE SYSTEMS INCORPORATED reassignment ADOBE SYSTEMS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YHANN, STEPHAN R., MARKOVIC, DEJAN, PARENTEAU, ALEXANDRE S.
Application granted granted Critical
Publication of US7719546B1 publication Critical patent/US7719546B1/en
Assigned to ADOBE INC. reassignment ADOBE INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ADOBE SYSTEMS INCORPORATED
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Definitions

  • the present invention relates to the processing of graphical elements in a computer-graphics illustration.
  • Computer-graphics illustrations are typically made up of a set of graphical elements of various types. Types of graphical elements include rasterized images, glyphs, vector strokes, vector fills, image masks, soft masks, and gradients. A graphical element typically includes a path, which defines the boundary of the graphical element. Graphical elements are typically handled as individual entities, and may interact with each other (e.g., by overlapping). Hereafter, any illustration discussed is a computer-graphics illustration unless otherwise noted.
  • a printing device may print color in the illustration using multiple print units (e.g., individual printing plates in a multi-plate printing press). If the print units are not properly aligned, gaps can be formed between portions of the illustration having different colors. Gaps can also be formed if the medium on which the illustration is being printed shrinks or expands when ink is applied. To reduce the likelihood of gaps in a printed representation of an illustration, a process called trapping is used. Trapping involves creating traps—overlaps (spreads) or underlaps (chokes) of colors—prior to printing.
  • a trapping process typically overlaps the colors of adjacent graphical elements selectively so that if the color of one graphical element is misaligned relative to the color of another graphical element during printing, the overlap will prevent the formation of an area between the graphical elements where no color is printed (a gap).
  • the rules used to trap an illustration depend on many factors, including the colors and types of the graphical elements being trapped. For example, when two images are trapped, centerline trapping (where a trap is centered on a border between two graphical elements) typically is used. When two vector graphical elements (e.g., vector fills) are trapped, the trap typically is located on one side of the border between the vector graphical elements. When a vector graphical element is trapped against an image, the trap location can be based on the color of the vector graphical element and the color of the image, or a user can specify the trap location so that the trap location does not change as the color of the image pixels changes.
  • Traps between gradient graphical elements and other graphical elements can gradually move from one side of the boundary between graphical elements to the other as the color of the gradient changes. Lighter colors typically are spread or choked into darker colors. Trapping an illustration can be a time-consuming process.
  • a computer program can be used to trap an illustration automatically. Automatic trapping typically involves a computer program trapping graphical elements in a computer-graphics illustration according to trapping rules that depend on the types of graphical elements involved.
  • the invention features computer-implemented methods and apparatus, including computer program products, implementing techniques for processing an original graphical element that has an associated original type. At least part of the original graphical element and at least part of one or more other graphical elements are blended to produce a transformed graphical element.
  • the transformed graphical element has an associated transformed type, where the transformed type is different than the original type.
  • Information about the original type is stored, and the transformed graphical element, an adjacent graphical element, or both are processed using the stored information about the original type.
  • Information about a type associated with the other graphical element(s) can be stored, as can information about a colorspace and a color of the original graphical element.
  • a shape of at least part of the original graphical element can be stored. The shape can be stored as a path or as a text glyph of the original graphical element.
  • One or more edges in the transformed graphical element can be located using the stored shape.
  • the transformed graphical element can be a rasterized representation of the blended parts of the original graphical element and the other graphical element(s).
  • Information about the original type can be stored in an invisible graphical element or in an XML element.
  • Processing can include trapping the transformed graphical element, the adjacent graphical element, or both. Trapping can include using a path of the transformed graphical element to represent a path of at least part of the original graphical element. Trapping can also include using a color of the transformed graphical element to calculate a color of a trap element. Trapping can include using trapping rules that depend on the information about the original type.
  • Processing can include halftoning the transformed graphical element, the adjacent graphical element, or both. Blending can include flattening at least part of the original graphical element and at least part of the other graphical element(s) to produce the transformed graphical element.
  • the original graphical element and/or at least one of the other graphical elements can be a transparent graphical element, and the transformed graphical element can be an opaque graphical element.
  • the original graphical element was produced by blending two or more previous graphical elements
  • information about the type associated with at least one of the previous graphical elements can be stored.
  • the original type can be raster, vector stroke, vector fill, image mask, soft mask, glyph, or gradient
  • the transformed type can be raster.
  • the invention can be implemented to realize one or more of the following advantages.
  • the appearance of trapped illustrations can be improved. File sizes of trapped illustrations can be decreased, and illustrations can be trapped with less user intervention. Graphical element edges can be detected with more accuracy.
  • Raster data produced as a result of a transformation can be differentiated from raster data input by a user. If non-raster data is transformed into raster data, information associated with the non-raster data can be preserved and can be recovered from the raster data.
  • FIG. 1A shows a representation of a computer-graphics illustration.
  • FIG. 1B is a depiction of the computer-graphics illustration of FIG. 1A printed with misaligned print units.
  • FIG. 2A shows a representation of a trapped computer-graphics illustration.
  • FIG. 2B is a depiction of the trapped computer-graphics illustration of FIG. 2A printed with misaligned print units.
  • FIG. 3A shows a representation of a computer-graphics illustration.
  • FIG. 3B is a depiction of the computer-graphics illustration of FIG. 3A divided into flattening regions.
  • FIG. 3C is a depiction of trapping between the flattening regions of FIG. 3B .
  • FIG. 4A shows a representation of a computer-graphics illustration.
  • FIG. 4B is a depiction of the computer-graphics illustration of FIG. 4A divided into flattening regions.
  • FIG. 4C is a depiction of trapping between the flattening regions of FIG. 4B .
  • FIG. 5A shows a representation of a computer-graphics illustration including a drop shadow.
  • FIG. 5B shows a representation of the computer-graphics illustration of FIG. 5A automatically trapped using conventional methods.
  • FIG. 6 is a flowchart of a process for transforming and trapping a computer-graphics illustration.
  • FIG. 7 shows a representation of the computer-graphics illustration of FIG. 5A transformed and trapped using the process of FIG. 6 .
  • FIG. 8 shows a printing device and system.
  • FIG. 1A shows an illustration 100 .
  • a first rectangle 110 filled with a first color lies within a second rectangle 120 filled with a second color between the border of the first rectangle 110 and the border of the second rectangle 120 .
  • the first rectangle 110 is not filled with the second color.
  • FIG. 1B shows the rectangles 110 and 120 of the illustration 100 printed with misaligned print units to produce a printed representation 105 .
  • the printed representation 105 is produced from the illustration 100 using a four-color (cyan, magenta, yellow, black) offset-lithography printing press.
  • the first rectangle 110 is filled with yellow
  • the area in the illustration 100 between the border of the first rectangle 110 and the border of the second rectangle 120 is filled with magenta.
  • specific colors are used in this example, other colors can be used.
  • a yellow plate of the printing press prints the area inside the first rectangle 110
  • a magenta plate of the printing press prints the area between the borders of the rectangles 110 and 120 in the illustration 100 .
  • the yellow plate of the printing press is misaligned relative to the magenta plate of the printing press.
  • the misalignment of the yellow and magenta printing plates causes the first rectangle 110 to be shifted relative to the second rectangle 120 and causes an area of overlap 130 and a gap 140 .
  • Both yellow and magenta are printed in the area of overlap 130 , and no color is printed in the gap 140 . Gaps, when present in a printed representation of an illustration, can lower the quality of the printed representation.
  • Gaps in a printed representation of an illustration can make the printed representation harder for a person to read or can be distracting when the person is looking at the printed representation.
  • An illustration can be trapped by modifying the original graphical elements in the illustration or by adding trap elements—graphical elements whose sole purpose is trapping the illustration.
  • an illustration 200 corresponds to the illustration 100 but with a trap element 250 applied to the first rectangle 110 and the second rectangle 120 .
  • the trap element 250 creates a region where the area of coverage of the first color has been increased so that the first color and the second color overlap when the illustration 200 is printed with properly aligned print units.
  • the trap element 250 acts as a buffer against gaps caused by misaligned print units or a change in dimension during printing of the medium on which the illustration 200 is being printed.
  • the size of the added region where colors overlap typically corresponds to a degree of misalignment of the print units that is expected or typical during printing.
  • a dashed line 260 represents the outer boundary of the trap element 250 , but the dashed line 260 is not typically a graphical element in the illustration 200 .
  • the trap element 250 extends the area covered by the first color.
  • a trap element could be applied to the second color (in which case the trap element would extend the area of coverage of the second color into the inside of the first rectangle 110 ) or to both colors.
  • FIG. 2B shows the illustration 200 printed with misaligned print units to produce a printed representation 205 .
  • misalignment of a yellow printing plate and a magenta printing plates causes the first rectangle 110 to be shifted relative to the second rectangle 120 .
  • the trap element 250 which in this example is yellow (the color of the first rectangle 110 ), is also shifted relative to the second rectangle 120 because trap element 250 is printed with the same printing plate as the first rectangle 110 .
  • An area of overlap 230 is larger than the corresponding area of overlap 130 in FIG. 1B , but there is no gap between the areas of yellow and magenta.
  • the area of overlap 230 may be visible in the printed representation 205 , but the area of overlap 230 is typically less noticeable and/or distracting than the gap 140 of FIG. 1B .
  • the illustration can be processed to transform graphical elements having properties that are not compatible with a printing device into new or changed graphical elements that are compatible with the printing device.
  • transparent graphical elements are typically transformed into opaque graphical elements before printing because printing devices typically use substantially opaque inks to print illustrations.
  • An example of a transparent graphical element is a graphical element representing a piece of colored glass. The transparent graphical element's transparency allows graphical elements behind the colored glass to affect the colors visible through the colored glass. Thus, the appearance of the transparent graphical element typically changes as the transparent graphical element is moved within an illustration based on the color and characteristics of the graphical elements behind the transparent graphical element.
  • Transparent graphical elements can be transformed by a computer program or by software/firmware in a printer to create one or more opaque regions that replicate the appearance of the transparent graphical element and any graphical elements that are overlapped by the transparent graphical element.
  • Each opaque region can be created by blending the appearances of the graphical elements in the region. For example, the color of a transparent graphical element that overlaps an opaque graphical element can be blended with the color of the opaque graphical element to create a new opaque graphical element that has the same appearance as the original graphical elements.
  • One way of dealing with transparency when preparing an illustration for printing is to flatten the transparent graphical elements and the elements that they overlap. Flattening is a type of transformation in which graphical elements are merged together into new or modified graphical elements when the interaction between the original elements cannot accurately be represented by a target (e.g., a printing device).
  • Flattening typically involves dividing a group of graphical elements being flattened into flattening regions.
  • a flattened appearance can be determined for each flattening region, such that a single opaque graphical element with the flattened appearance would approximate the appearance of the original collection of graphical elements in the flattening region closely.
  • One kind of flattening region is an atomic region. Atomic regions are the individual non-null areas defined by the intersection of either the inside or the outside area of every graphical element included in the flattening.
  • a given atomic region includes a portion of one or more graphical elements that form a set of graphical elements that is not identically the same as the set of graphical elements in any other atomic region.
  • the flattened representation of an atomic region can be a raster graphical element (e.g., a rasterized image) or the flattened representation can be a vector graphical element (e.g., a vector fill).
  • a complexity region is the union of multiple atomic regions.
  • a complexity region can be used instead of individual atomic regions when individually processing the atomic regions contained in the complexity region would consume too many resources (e.g., time or memory).
  • a complexity region is represented by a raster graphical element.
  • a transformed illustration typically is performed on transformed graphical elements without regard to the types of the original graphical elements that were transformed to produce the transformed graphical elements.
  • a raster graphical element that was the result of flattening two vector graphical elements typically is processed as a raster graphical element instead of as a vector graphical element.
  • FIG. 3A depicts a situation in which conventional automatic trapping of an illustration can give poor results.
  • An illustration 300 includes a first graphical element 310 and a second graphical element 320 .
  • the second graphical element 320 overlaps the first graphical element 310 , and a dashed line 330 indicates the portion of the first graphical element 310 lying under the second graphical element 320 .
  • the first graphical element 310 is an opaque image (e.g., a scanned and rasterized representation of a photograph), and the second graphical element 320 is a transparent graphical element.
  • the illustration 300 is divided into a first flattening region 350 , a second flattening region 360 , and a third flattening region 370 to produce an illustration 305 .
  • the illustration 300 is transformed into the illustration 305 to remove transparency (e.g., the transparency of the second graphical element 320 ) from the illustration 300 .
  • Each of the flattening regions 350 , 360 , and 370 is processed to produce an opaque graphical element that represents the respective flattening region.
  • the only part of a graphical element included in the first flattening region 350 is a part of the first graphical element 310 , which is opaque, so an opaque graphical element is produced that is identical to the part of the first graphical element 310 in the first flattening region 350 .
  • the second flattening region 360 contains a part of the second transparent graphical element 320 that overlaps a part of the first graphical element 310 .
  • the appearances of the parts of the graphical elements 310 and 320 that correspond to the second flattening region 360 are blended together to produce an opaque representation of the second flattening region 360 that has the same appearance as the corresponding region in the illustration 300 .
  • the opaque graphical element representing the second flattening region 360 is a rasterized image.
  • part of the transparent second graphical element 320 is blended with a background of the illustration 300 to produce an opaque graphical element representing the third flattening region 370 that has the same appearance as the corresponding region in the illustration 300 .
  • a border between the flattening regions 350 and 360 is trapped to prepare the illustration 305 for printing.
  • Each of the flattening regions 350 and 360 is represented in the illustration 305 by a respective graphical element that is an opaque rasterized image. Trapping between rasterized images typically produces many trap elements that can be as small as a single pixel. A new trap element typically is used along the line 380 whenever a pixel color of the rasterized images representing the flattening regions 350 or 360 varies from the color of an adjacent pixel along the line 380 and in the same flattening region.
  • the computing resources required to store and process the trapped illustration 305 can increase significantly compared to the computing resources required to store and process the illustration 300 .
  • the addition of trap elements to the illustration 305 can also degrade the quality of the illustration 305 .
  • Additional trap elements typically are placed automatically between the second flattening region 360 and the third flattening region 370 when conventional automatic trapping is used.
  • FIG. 4A depicts another situation in which conventional automatic trapping of an illustration can give poor results.
  • An illustration 400 includes a top graphical element 410 , a middle graphical element 420 , and a bottom graphical element 430 .
  • the top graphical element 410 is a transparent solid-colored vector graphical element and is the top-most graphical element (e.g., the last graphical element in a paint order) in the illustration 400 .
  • the middle graphical element 420 is an opaque vector graphical element and is the next-highest graphical element (e.g., the penultimate graphical element in the paint order) in the illustration 400 .
  • the bottom graphical element 430 is a gradient mesh—a vector graphical element having multiple color gradients. The bottom graphical element 430 is opaque.
  • a dashed line 440 indicates a portion of the border of the middle graphical element 420 lying below the top graphical element 410 . Because the top graphical element 410 is transparent, the portions of the graphical elements 420 and 430 lying below the top graphical element 410 are visible, although the appearance of the portions of the graphical elements 420 and 430 lying below the top graphical element 410 may be altered by the presence of the top graphical element 410 .
  • a dashed line 450 indicates the portion of the border of the bottom graphical element 430 lying below the middle graphical element 420 . Since the middle graphical element 420 is opaque, the portion of the bottom graphical element 430 lying below the middle graphical element 420 is not visible.
  • the illustration 400 is divided into flattening regions 460 , 465 , 470 , 475 , and 480 to produce an illustration 405 .
  • the illustration 400 is transformed into the illustration 405 to remove transparency (e.g., the transparency of the top graphical element 410 ) from the illustration 400 .
  • Each of the flattening regions 460 , 465 , 470 , 475 , and 480 is processed to produce an opaque graphical element that represents the respective flattening region (e.g., by blending colors in transparent graphical elements with colors in underlying graphical elements).
  • the first flattening region 460 corresponds to a part of the opaque vector middle graphical element 420 that does not interact with the graphical elements 410 or 430 .
  • the flattened representation of the first flattening region 460 is an opaque vector graphical element.
  • the second flattening region 465 corresponds to the overlapping regions of the graphical elements 420 and 430 that do not interact with the top graphical element 410 . Because the middle graphical element 420 overlaps the bottom graphical element 430 and the middle graphical element 420 is an opaque vector graphical element, the flattened representation of the second flattening region 465 will be an opaque vector graphical element.
  • the first flattening region 460 and the second flattening region 465 are combined into a single flattening region, since flattening regions 460 and 465 share a common topmost opaque graphical element.
  • the graphical elements 410 , 420 , and 430 all overlap.
  • the bottom graphical element 430 is not visible in the third flattening region 470 because the middle graphical element 420 is opaque.
  • the appearances of the parts of the graphical elements 410 and 420 in the third flattening region 470 will be blended together to produce a flattened representation of the third flattening region 470 .
  • the top graphical element 410 is a transparent constant-colored vector graphical element and the middle graphical element 420 is an opaque vector graphical element
  • the flattened representation of the third flattening region 470 will be an opaque vector graphical element.
  • the top graphical element 410 overlaps part of the bottom graphical element 430 in the fourth flattening region 475 .
  • the bottom graphical element 430 is a gradient mesh, which is a complicated element
  • the flattened representation of the fourth flattening region 475 will typically be an opaque raster graphical element.
  • the flattened representation of the fourth flattening region 475 is assumed to be an opaque raster graphical element.
  • the fifth flattening region 480 includes only the bottom graphical element 430 , so the flattened representation of the fifth flattening region 480 is an opaque vector graphical element.
  • a border between the flattening regions 465 and 480 is trapped, and one or more trap elements between the flattening regions 465 and 480 are represented by a heavy line 485 and a heavy line 495 .
  • a border between the flattening regions 470 and 475 is also trapped, and the one or more trap elements between the flattening regions 470 and 475 are represented by a heavy line 490 . Because the representations of the flattening regions 465 and 480 are both vector graphical elements, a set of trapping rules for trapping between two vector elements will be applied.
  • the representation of the third flattening region 470 is a vector graphical element and the representation of the fourth flattening region 475 is a raster graphical element
  • the set of rules for trapping between two vector elements typically differs from the set of rules for trapping between a vector element and a raster element, so the trap location can change between the trap elements represented by the lines 485 and 495 and the trap elements represented by the line 490 .
  • An abrupt change in trap location along a border between graphical elements can be visible and can lower the quality of the trapped illustration.
  • a soft-mask graphical element (a transparency mask that allows multiple levels of transparency to be selected) can affect the appearance of a region in an original illustration, but can extend outside of the region and can cause changes in trap location outside the region when the illustration is trapped.
  • a user may expect the soft-mask graphical element to influence how the illustration is trapped only in the region where the soft-mask graphical element affects the appearance of the illustration, and the user may therefore be confused by the results of the trapping.
  • an illustration 500 includes a first rectangular graphical element 510 that is filled with a first color.
  • a second rectangular graphical element 520 is filled with a second color.
  • a first opaque graphical element 530 filled with a third color lies above the graphical elements 510 and 520 .
  • a second opaque graphical element 540 also filled with the third color, lies above the second rectangular graphical element 520 .
  • the second color is darker than the first color, and the first color is darker than the third color.
  • a dashed line indicates the boundary of a drop shadow graphical effect 550 .
  • a drop shadow graphical effect is a combination of a soft-mask graphical element and a third opaque graphical element.
  • the third opaque graphical element can be, for example, an image or a vector fill graphical element.
  • the soft-mask graphical effect and the third opaque graphical element cover the entire area of graphical effect 550 .
  • the soft-mask in the drop shadow graphical effect 550 controls the visibility of the third opaque graphical element by influencing the transparency of the third opaque graphical element.
  • both the soft-mask graphical element and the third opaque graphical element cover the entire region of graphical effect 550
  • the soft mask controls the visibility of the third opaque graphical element so that graphical effect 550 is only visible where graphical effect 550 creates a shadow of the first opaque graphical element 530 .
  • a drop shadow graphical effect (e.g., graphical effect 550 ) is used to make it appear that a first graphical element (e.g., graphical element 530 ) is suspended above other graphical elements (e.g., rectangular graphical elements 510 and 520 ), adding a degree of three-dimensionality to a two-dimensional image.
  • a first graphical element e.g., graphical element 530
  • other graphical elements e.g., rectangular graphical elements 510 and 520
  • FIG. 5B shows a trapped illustration 505 that corresponds to illustration 500 , but is trapped using a conventional trapping process. Circles 560 , 565 , 570 , and 575 surround discontinuities where the trap elements used to trap the illustration 505 change location.
  • the graphical effect 550 (from FIG. 5A ), which includes a transparent soft-mask graphical element, has been blended with the graphical elements 510 , 520 , 530 , and 540 in a flattening that preceded the production of the trapped illustration 505 .
  • the flattened graphical elements produced to represent the region that was covered by the graphical effect 550 in the illustration 500 ( FIG.
  • 5A are rasterized image graphical elements, which are of a different type than the surrounding vector graphical elements, so the rules used to trap a flattened representation of the illustration 500 change at the border of the region that was covered by the graphical effect 550 , creating discontinuities in the trapped illustration 505 .
  • FIG. 6 shows a process 600 that can be used to transform and process an illustration or a part of an illustration, where the part can be as small as a portion of a single graphical element.
  • the process 600 improves the quality of a processed illustration compared to conventional automatic processing techniques and can reduce the amount of user intervention required to obtain high-quality results.
  • Information about one or more graphical elements in an illustration is stored (step 610 ) before part or all of the illustration is transformed (step 620 ). After the illustration is transformed, the information stored in step 610 is used to guide the processing (e.g., trapping) of the transformed illustration (step 630 ).
  • information about one or more graphical elements is stored during the transformation, so the steps 610 and 620 are combined.
  • the process 600 can be used in many contexts.
  • the process 600 can be implemented in a graphics program (e.g., Adobe® InDesign®) or in a plug-in to a graphics program.
  • a graphics program e.g., Adobe® InDesign®
  • the information stored about a graphical element in step 610 can include one or more of the following: the shape of the graphical element, the type of the graphical element (e.g., raster, vector fill, vector stroke, glyph, image mask, soft mask, gradient, etc.), the transparency of the graphical element, the colorspace of the graphical element (e.g., CMYK, RGB, etc.), and the color of the graphical element.
  • Information about the shape of a graphical element can be stored in multiple ways. For example, the path of a graphical element can be stored as the shape of the graphical element. A combination of the path of the graphical element and a clip path can also be stored as the shape of the graphical element.
  • a graphical element is composed of sub elements (e.g., when a graphical element is painted with a pattern color)
  • the path or paths of the sub elements can be stored as information about the shape of the graphical element.
  • Information about the shape of an imagemask can be stored by storing which pixels are “on” in the imagemask.
  • the information stored in step 610 can be stored as a non-marking (invisible) graphical element.
  • the information stored in step 610 is stored as metadata using custom operators.
  • the information stored in step 610 is stored using Extensible Markup Language (XML) elements.
  • XML Extensible Markup Language
  • Complete information about the graphical elements involved in a transformation can be stored in step 610 .
  • invisible copies can be made of the graphical elements involved in the transformation before the illustration is transformed in step 620 .
  • the information stored in step 610 can depend on the transform that is used in step 620 . For example, if the transform of step 620 is flattening, step 610 can store information about the graphical elements included in each flattening region.
  • the flattening region is an atomic region
  • only information about the types of graphical elements included in the atomic region is stored.
  • Information about the paths of the parts of the graphical elements included in the atomic region does not have to be stored, because the paths of interest are the same as the path of the atomic region, and step 630 can use the atomic region's path to represent the path of the parts of the graphical elements included in the atomic region.
  • the flattening region includes an image-mask graphical element, information about the shape of the image-mask graphical element is stored.
  • the flattening region is a complexity region, information about the type and shape of the parts of the graphical elements included in the complexity region is stored.
  • Storing shape information allows step 630 to find edges within the complexity region in the transformed illustration.
  • a flattening region includes a soft-mask graphical element (e.g., a soft mask used to produce a drop shadow)
  • information about the types, colorspaces, and colors of the graphical elements in the region is stored.
  • the transformation in step 620 changes or discards information about one or more graphical elements that are transformed, so that the transformed illustration includes different information than the original illustration.
  • the transformation in step 620 can be flattening. As was described above, flattening a flattening region that includes a vector graphical element and a raster graphical element can result in raster graphical element that represents the flattening region in the transformed illustration.
  • a conventional raster graphical element representing a flattening region typically does not include information about the graphical elements that were transformed into the raster graphical element. Therefore, information about the graphical elements in the original illustration is lost during the transformation process if the information is not stored (e.g., in step 610 ).
  • the transformation in step 620 can be rasterization.
  • an illustration including many types of graphical elements can be rasterized and represented by a rasterized illustration.
  • the rasterized illustration typically does not include explicit information about the graphical elements in the original illustration, so information about the graphical elements in the original illustration is lost during the transformation process if the information is not stored (e.g., in step 610 ).
  • step 630 the information from step 610 about the graphical elements in the original illustration is used to process the transformed illustration. For example, if a flattening region is represented by a raster graphical element in the transformed illustration, the information stored in step 610 is used to determine whether any graphical element in the original illustration corresponding to the flattening region was a type of graphical element other than raster. If it is determined, for example, that a graphical element in the original illustration corresponding to the flattening region was a vector graphical element, different rules may be used to process the flattening region in the transformed illustration than would have been used if all graphical elements in the original illustration corresponding to the flattening region were raster graphical elements.
  • multiple intersecting graphical elements in the original illustration are rasterized to produce a raster graphical element in the transformed illustration.
  • Information from step 610 about the shapes (e.g., paths) of the intersecting graphical elements in the original illustration can be used to find edges within the raster graphical element.
  • Using the shapes of the graphical elements to find edges in the raster graphical element typically gives better results than using conventional edge-detection methods; false positives (which cause unnecessary traps to be formed) and false negatives (which cause missing traps) can be reduced or avoided.
  • Processing the transformed illustration in step 630 can include trapping the transformed illustration.
  • a transformed illustration is trapped using the information from step 610 combined with color information from the transformed illustration. For example, if multiple transparent graphical elements in an illustration are flattened to produce a single opaque graphical element, the color of the opaque graphical element can be used to trap the flattened illustration along with information about the transparent graphical elements. Using the color of the opaque graphical element during trapping, instead of re-blending the transparent graphical elements, speeds trapping and ensures that the color of the trap element(s) used to trap the opaque graphical element will be based on the color of the opaque graphical element itself rather than on a re-blended version of the transparent graphical elements.
  • the stored information from step 610 can be preserved after trapping to allow the trap elements to be removed from the trapped illustration and to allow the transformed illustration to be re-trapped.
  • Processing the transformed illustration in step 630 can include halftoning the transformed illustration. For example, raster graphical elements can be screened with a different halftone screen than vector graphical elements are screened with. If a single graphical element is transformed into multiple transformed graphical elements, some of which are vector graphical elements and some of which are raster graphical elements, the stored information from step 610 can be used to apply a uniform halftone screen to transformed graphical elements.
  • Step 630 can also involve image post-processing.
  • Raster graphical elements can be post-processed (e.g., sharpened) by, for example, a processing unit in a printing device.
  • Using the process 600 in this context would allow transformed graphical elements that are associated with a single original (pre-transformation) graphical element to be post-processed in a unified manner.
  • an original graphical element in an illustration can be transformed in step 620 during a first use of process 600 , and the transformed graphical element can be processed again during a second use of process 600 .
  • the information about the transformed graphical element that is stored during the second use of process 600 can be the type of the original graphical element or can be other information associated with the original graphical element.
  • trap elements would not typically be placed along the line 380 . Because the trapping process 630 can determine that the flattening regions 350 and 360 both include part of the image 310 by using stored information from step 610 , trap elements typically are not necessary along the line 380 . Likewise, trap elements are not typically necessary between the flattening regions 360 and 370 when the process 600 is used to trap the illustration 305 .
  • a trapped illustration 700 is the illustration 500 trapped using the process 600 .
  • the discontinuities of the illustration 505 can be avoided in the illustration 700 , because the flattened graphical elements produced to represent the region in the illustration 500 ( FIG. 5A ) that was covered by the graphical effect 550 , while still of a different type than the surrounding graphical elements, can be trapped using information stored before the flattening.
  • stored information about the graphical elements 510 , 520 , 530 , 540 can be used to determine the rules used to trap the region covered by the graphical effect 550 in the illustration 500 .
  • the invention and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • the invention can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
  • a computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
  • Method steps of the invention can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read-only memory or a random access memory or both.
  • the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data.
  • a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
  • Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
  • magnetic disks e.g., internal hard disks or removable disks
  • magneto-optical disks e.g., CD-ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
  • the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • a keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • a printing device 800 implementing an interpreter for a page description language, such as the PostScript® language, includes a microprocessor 802 for executing program instructions (including font instructions) stored on a printer random access memory (RAM) 804 and a printer read-only memory (ROM) 806 and controlling a printer marking engine 808 .
  • the RAM 804 is optionally supplemented by a mass storage device such as a hard disk.
  • the essential elements of a computer are a processor for executing instructions and a memory.
  • a computer can generally also receive programs and data from a storage medium such as an internal disk or a removable disk 812 .
  • any of the microprocessor 802 , the RAM 804 , the ROM 806 , and the printer marking engine 808 are physically located on a host computer that controls printing hardware.

Abstract

Computer-implemented methods and apparatus for processing a graphical element that has an associated original type, including blending at least part of the graphical element and at least part of one or more other graphical elements to produce a transformed graphical element. The transformed graphical element has an associated transformed type, and the transformed type is different than the original type. Information about the original type is stored, and the transformed graphical element, an adjacent graphical element, or both are processed using the stored information about the original type.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation application of and claims priority to U.S. application Ser. No. 10/786,771, filed on Feb. 25, 2004. The disclosure of the above application is incorporated by reference in its entirety.
BACKGROUND
The present invention relates to the processing of graphical elements in a computer-graphics illustration.
Computer-graphics illustrations are typically made up of a set of graphical elements of various types. Types of graphical elements include rasterized images, glyphs, vector strokes, vector fills, image masks, soft masks, and gradients. A graphical element typically includes a path, which defines the boundary of the graphical element. Graphical elements are typically handled as individual entities, and may interact with each other (e.g., by overlapping). Hereafter, any illustration discussed is a computer-graphics illustration unless otherwise noted.
When an illustration is printed, a printing device may print color in the illustration using multiple print units (e.g., individual printing plates in a multi-plate printing press). If the print units are not properly aligned, gaps can be formed between portions of the illustration having different colors. Gaps can also be formed if the medium on which the illustration is being printed shrinks or expands when ink is applied. To reduce the likelihood of gaps in a printed representation of an illustration, a process called trapping is used. Trapping involves creating traps—overlaps (spreads) or underlaps (chokes) of colors—prior to printing. A trapping process typically overlaps the colors of adjacent graphical elements selectively so that if the color of one graphical element is misaligned relative to the color of another graphical element during printing, the overlap will prevent the formation of an area between the graphical elements where no color is printed (a gap).
The rules used to trap an illustration depend on many factors, including the colors and types of the graphical elements being trapped. For example, when two images are trapped, centerline trapping (where a trap is centered on a border between two graphical elements) typically is used. When two vector graphical elements (e.g., vector fills) are trapped, the trap typically is located on one side of the border between the vector graphical elements. When a vector graphical element is trapped against an image, the trap location can be based on the color of the vector graphical element and the color of the image, or a user can specify the trap location so that the trap location does not change as the color of the image pixels changes. Traps between gradient graphical elements and other graphical elements can gradually move from one side of the boundary between graphical elements to the other as the color of the gradient changes. Lighter colors typically are spread or choked into darker colors. Trapping an illustration can be a time-consuming process. A computer program can be used to trap an illustration automatically. Automatic trapping typically involves a computer program trapping graphical elements in a computer-graphics illustration according to trapping rules that depend on the types of graphical elements involved.
SUMMARY
In one aspect, the invention features computer-implemented methods and apparatus, including computer program products, implementing techniques for processing an original graphical element that has an associated original type. At least part of the original graphical element and at least part of one or more other graphical elements are blended to produce a transformed graphical element. The transformed graphical element has an associated transformed type, where the transformed type is different than the original type. Information about the original type is stored, and the transformed graphical element, an adjacent graphical element, or both are processed using the stored information about the original type.
Particular implementations can include one or more of the following features. Information about a type associated with the other graphical element(s) can be stored, as can information about a colorspace and a color of the original graphical element. A shape of at least part of the original graphical element can be stored. The shape can be stored as a path or as a text glyph of the original graphical element. One or more edges in the transformed graphical element can be located using the stored shape. The transformed graphical element can be a rasterized representation of the blended parts of the original graphical element and the other graphical element(s).
Information about the original type can be stored in an invisible graphical element or in an XML element. Processing can include trapping the transformed graphical element, the adjacent graphical element, or both. Trapping can include using a path of the transformed graphical element to represent a path of at least part of the original graphical element. Trapping can also include using a color of the transformed graphical element to calculate a color of a trap element. Trapping can include using trapping rules that depend on the information about the original type.
Processing can include halftoning the transformed graphical element, the adjacent graphical element, or both. Blending can include flattening at least part of the original graphical element and at least part of the other graphical element(s) to produce the transformed graphical element. The original graphical element and/or at least one of the other graphical elements can be a transparent graphical element, and the transformed graphical element can be an opaque graphical element.
If the original graphical element was produced by blending two or more previous graphical elements, information about the type associated with at least one of the previous graphical elements can be stored. The original type can be raster, vector stroke, vector fill, image mask, soft mask, glyph, or gradient, and the transformed type can be raster.
The invention can be implemented to realize one or more of the following advantages. The appearance of trapped illustrations can be improved. File sizes of trapped illustrations can be decreased, and illustrations can be trapped with less user intervention. Graphical element edges can be detected with more accuracy. Raster data produced as a result of a transformation can be differentiated from raster data input by a user. If non-raster data is transformed into raster data, information associated with the non-raster data can be preserved and can be recovered from the raster data.
These general and specific aspects may be implemented using a system, a method, a computer program, or any combination of systems, methods, and computer programs.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A shows a representation of a computer-graphics illustration.
FIG. 1B is a depiction of the computer-graphics illustration of FIG. 1A printed with misaligned print units.
FIG. 2A shows a representation of a trapped computer-graphics illustration.
FIG. 2B is a depiction of the trapped computer-graphics illustration of FIG. 2A printed with misaligned print units.
FIG. 3A shows a representation of a computer-graphics illustration.
FIG. 3B is a depiction of the computer-graphics illustration of FIG. 3A divided into flattening regions.
FIG. 3C is a depiction of trapping between the flattening regions of FIG. 3B.
FIG. 4A shows a representation of a computer-graphics illustration.
FIG. 4B is a depiction of the computer-graphics illustration of FIG. 4A divided into flattening regions.
FIG. 4C is a depiction of trapping between the flattening regions of FIG. 4B.
FIG. 5A shows a representation of a computer-graphics illustration including a drop shadow.
FIG. 5B shows a representation of the computer-graphics illustration of FIG. 5A automatically trapped using conventional methods.
FIG. 6 is a flowchart of a process for transforming and trapping a computer-graphics illustration.
FIG. 7 shows a representation of the computer-graphics illustration of FIG. 5A transformed and trapped using the process of FIG. 6.
FIG. 8 shows a printing device and system.
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
FIG. 1A shows an illustration 100. A first rectangle 110 filled with a first color lies within a second rectangle 120 filled with a second color between the border of the first rectangle 110 and the border of the second rectangle 120. The first rectangle 110 is not filled with the second color.
Referring to FIG. 1A and FIG. 1B, FIG. 1B shows the rectangles 110 and 120 of the illustration 100 printed with misaligned print units to produce a printed representation 105. In an illustrative example, the printed representation 105 is produced from the illustration 100 using a four-color (cyan, magenta, yellow, black) offset-lithography printing press. In this example, the first rectangle 110 is filled with yellow, and the area in the illustration 100 between the border of the first rectangle 110 and the border of the second rectangle 120 is filled with magenta. Although specific colors are used in this example, other colors can be used. A yellow plate of the printing press prints the area inside the first rectangle 110, and a magenta plate of the printing press prints the area between the borders of the rectangles 110 and 120 in the illustration 100. The yellow plate of the printing press is misaligned relative to the magenta plate of the printing press. The misalignment of the yellow and magenta printing plates causes the first rectangle 110 to be shifted relative to the second rectangle 120 and causes an area of overlap 130 and a gap 140. Both yellow and magenta are printed in the area of overlap 130, and no color is printed in the gap 140. Gaps, when present in a printed representation of an illustration, can lower the quality of the printed representation. Gaps in a printed representation of an illustration can make the printed representation harder for a person to read or can be distracting when the person is looking at the printed representation. An illustration can be trapped by modifying the original graphical elements in the illustration or by adding trap elements—graphical elements whose sole purpose is trapping the illustration.
Referring to FIG. 1A and FIG. 2A, an illustration 200 corresponds to the illustration 100 but with a trap element 250 applied to the first rectangle 110 and the second rectangle 120. The trap element 250 creates a region where the area of coverage of the first color has been increased so that the first color and the second color overlap when the illustration 200 is printed with properly aligned print units. The trap element 250 acts as a buffer against gaps caused by misaligned print units or a change in dimension during printing of the medium on which the illustration 200 is being printed. The size of the added region where colors overlap (e.g., trap element 250) typically corresponds to a degree of misalignment of the print units that is expected or typical during printing. A dashed line 260 represents the outer boundary of the trap element 250, but the dashed line 260 is not typically a graphical element in the illustration 200. In this example, the trap element 250 extends the area covered by the first color. Alternatively, a trap element could be applied to the second color (in which case the trap element would extend the area of coverage of the second color into the inside of the first rectangle 110) or to both colors.
Referring to FIG. 2A and FIG. 2B, FIG. 2B shows the illustration 200 printed with misaligned print units to produce a printed representation 205. Using the example from FIG. 1B, misalignment of a yellow printing plate and a magenta printing plates causes the first rectangle 110 to be shifted relative to the second rectangle 120. The trap element 250, which in this example is yellow (the color of the first rectangle 110), is also shifted relative to the second rectangle 120 because trap element 250 is printed with the same printing plate as the first rectangle 110. An area of overlap 230 is larger than the corresponding area of overlap 130 in FIG. 1B, but there is no gap between the areas of yellow and magenta. The area of overlap 230 may be visible in the printed representation 205, but the area of overlap 230 is typically less noticeable and/or distracting than the gap 140 of FIG. 1B.
When an illustration is prepared for printing, the illustration can be processed to transform graphical elements having properties that are not compatible with a printing device into new or changed graphical elements that are compatible with the printing device. For example, transparent graphical elements are typically transformed into opaque graphical elements before printing because printing devices typically use substantially opaque inks to print illustrations. An example of a transparent graphical element is a graphical element representing a piece of colored glass. The transparent graphical element's transparency allows graphical elements behind the colored glass to affect the colors visible through the colored glass. Thus, the appearance of the transparent graphical element typically changes as the transparent graphical element is moved within an illustration based on the color and characteristics of the graphical elements behind the transparent graphical element. Once the transparent graphical element is transformed into an opaque representation, the opaque representation will obscure a region of the illustration to which the opaque representation is moved. Transparent graphical elements can be transformed by a computer program or by software/firmware in a printer to create one or more opaque regions that replicate the appearance of the transparent graphical element and any graphical elements that are overlapped by the transparent graphical element. Each opaque region can be created by blending the appearances of the graphical elements in the region. For example, the color of a transparent graphical element that overlaps an opaque graphical element can be blended with the color of the opaque graphical element to create a new opaque graphical element that has the same appearance as the original graphical elements. One way of dealing with transparency when preparing an illustration for printing is to flatten the transparent graphical elements and the elements that they overlap. Flattening is a type of transformation in which graphical elements are merged together into new or modified graphical elements when the interaction between the original elements cannot accurately be represented by a target (e.g., a printing device).
Flattening typically involves dividing a group of graphical elements being flattened into flattening regions. A flattened appearance can be determined for each flattening region, such that a single opaque graphical element with the flattened appearance would approximate the appearance of the original collection of graphical elements in the flattening region closely. One kind of flattening region is an atomic region. Atomic regions are the individual non-null areas defined by the intersection of either the inside or the outside area of every graphical element included in the flattening. A given atomic region includes a portion of one or more graphical elements that form a set of graphical elements that is not identically the same as the set of graphical elements in any other atomic region. The flattened representation of an atomic region can be a raster graphical element (e.g., a rasterized image) or the flattened representation can be a vector graphical element (e.g., a vector fill). Another kind of flattening region is a complexity region, which is the union of multiple atomic regions. A complexity region can be used instead of individual atomic regions when individually processing the atomic regions contained in the complexity region would consume too many resources (e.g., time or memory). A complexity region is represented by a raster graphical element.
Conventional automatic trapping of a transformed illustration (e.g., a flattened illustration) typically is performed on transformed graphical elements without regard to the types of the original graphical elements that were transformed to produce the transformed graphical elements. For example, a raster graphical element that was the result of flattening two vector graphical elements typically is processed as a raster graphical element instead of as a vector graphical element.
FIG. 3A depicts a situation in which conventional automatic trapping of an illustration can give poor results. An illustration 300 includes a first graphical element 310 and a second graphical element 320. The second graphical element 320 overlaps the first graphical element 310, and a dashed line 330 indicates the portion of the first graphical element 310 lying under the second graphical element 320. The first graphical element 310 is an opaque image (e.g., a scanned and rasterized representation of a photograph), and the second graphical element 320 is a transparent graphical element.
Referring to FIG. 3A and FIG. 3B, the illustration 300 is divided into a first flattening region 350, a second flattening region 360, and a third flattening region 370 to produce an illustration 305. The illustration 300 is transformed into the illustration 305 to remove transparency (e.g., the transparency of the second graphical element 320) from the illustration 300. Each of the flattening regions 350, 360, and 370 is processed to produce an opaque graphical element that represents the respective flattening region. The only part of a graphical element included in the first flattening region 350 is a part of the first graphical element 310, which is opaque, so an opaque graphical element is produced that is identical to the part of the first graphical element 310 in the first flattening region 350.
The second flattening region 360 contains a part of the second transparent graphical element 320 that overlaps a part of the first graphical element 310. The appearances of the parts of the graphical elements 310 and 320 that correspond to the second flattening region 360 are blended together to produce an opaque representation of the second flattening region 360 that has the same appearance as the corresponding region in the illustration 300. Because the first graphical element 310 is a rasterized image, the opaque graphical element representing the second flattening region 360 is a rasterized image. In the third flattening region 370, part of the transparent second graphical element 320 is blended with a background of the illustration 300 to produce an opaque graphical element representing the third flattening region 370 that has the same appearance as the corresponding region in the illustration 300.
Referring to FIG. 3B and FIG. 3C, a border between the flattening regions 350 and 360, represented by a heavy line 380, is trapped to prepare the illustration 305 for printing. Each of the flattening regions 350 and 360 is represented in the illustration 305 by a respective graphical element that is an opaque rasterized image. Trapping between rasterized images typically produces many trap elements that can be as small as a single pixel. A new trap element typically is used along the line 380 whenever a pixel color of the rasterized images representing the flattening regions 350 or 360 varies from the color of an adjacent pixel along the line 380 and in the same flattening region. When many trap elements are produced along the line 380, the computing resources required to store and process the trapped illustration 305 can increase significantly compared to the computing resources required to store and process the illustration 300. The addition of trap elements to the illustration 305 can also degrade the quality of the illustration 305. Additional trap elements (not shown) typically are placed automatically between the second flattening region 360 and the third flattening region 370 when conventional automatic trapping is used.
FIG. 4A depicts another situation in which conventional automatic trapping of an illustration can give poor results. An illustration 400 includes a top graphical element 410, a middle graphical element 420, and a bottom graphical element 430. The top graphical element 410 is a transparent solid-colored vector graphical element and is the top-most graphical element (e.g., the last graphical element in a paint order) in the illustration 400. The middle graphical element 420 is an opaque vector graphical element and is the next-highest graphical element (e.g., the penultimate graphical element in the paint order) in the illustration 400. The bottom graphical element 430 is a gradient mesh—a vector graphical element having multiple color gradients. The bottom graphical element 430 is opaque. A dashed line 440 indicates a portion of the border of the middle graphical element 420 lying below the top graphical element 410. Because the top graphical element 410 is transparent, the portions of the graphical elements 420 and 430 lying below the top graphical element 410 are visible, although the appearance of the portions of the graphical elements 420 and 430 lying below the top graphical element 410 may be altered by the presence of the top graphical element 410. A dashed line 450 indicates the portion of the border of the bottom graphical element 430 lying below the middle graphical element 420. Since the middle graphical element 420 is opaque, the portion of the bottom graphical element 430 lying below the middle graphical element 420 is not visible.
Referring to FIG. 4A and FIG. 4B, the illustration 400 is divided into flattening regions 460, 465, 470, 475, and 480 to produce an illustration 405. The illustration 400 is transformed into the illustration 405 to remove transparency (e.g., the transparency of the top graphical element 410) from the illustration 400. Each of the flattening regions 460, 465, 470, 475, and 480 is processed to produce an opaque graphical element that represents the respective flattening region (e.g., by blending colors in transparent graphical elements with colors in underlying graphical elements). The first flattening region 460 corresponds to a part of the opaque vector middle graphical element 420 that does not interact with the graphical elements 410 or 430. The flattened representation of the first flattening region 460 is an opaque vector graphical element. The second flattening region 465 corresponds to the overlapping regions of the graphical elements 420 and 430 that do not interact with the top graphical element 410. Because the middle graphical element 420 overlaps the bottom graphical element 430 and the middle graphical element 420 is an opaque vector graphical element, the flattened representation of the second flattening region 465 will be an opaque vector graphical element. In one implementation of flattening, the first flattening region 460 and the second flattening region 465 are combined into a single flattening region, since flattening regions 460 and 465 share a common topmost opaque graphical element.
In the third flattening region 470, the graphical elements 410, 420, and 430 all overlap. The bottom graphical element 430 is not visible in the third flattening region 470 because the middle graphical element 420 is opaque. The appearances of the parts of the graphical elements 410 and 420 in the third flattening region 470 will be blended together to produce a flattened representation of the third flattening region 470. Because the top graphical element 410 is a transparent constant-colored vector graphical element and the middle graphical element 420 is an opaque vector graphical element, the flattened representation of the third flattening region 470 will be an opaque vector graphical element. Part of the top graphical element 410 overlaps part of the bottom graphical element 430 in the fourth flattening region 475. Because the bottom graphical element 430 is a gradient mesh, which is a complicated element, the flattened representation of the fourth flattening region 475 will typically be an opaque raster graphical element. Hereafter, the flattened representation of the fourth flattening region 475 is assumed to be an opaque raster graphical element. The fifth flattening region 480 includes only the bottom graphical element 430, so the flattened representation of the fifth flattening region 480 is an opaque vector graphical element.
In FIG. 4C, a border between the flattening regions 465 and 480 is trapped, and one or more trap elements between the flattening regions 465 and 480 are represented by a heavy line 485 and a heavy line 495. A border between the flattening regions 470 and 475 is also trapped, and the one or more trap elements between the flattening regions 470 and 475 are represented by a heavy line 490. Because the representations of the flattening regions 465 and 480 are both vector graphical elements, a set of trapping rules for trapping between two vector elements will be applied. Because the representation of the third flattening region 470 is a vector graphical element and the representation of the fourth flattening region 475 is a raster graphical element, a set of rules for trapping between a vector element and a raster element will be applied. The set of rules for trapping between two vector elements typically differs from the set of rules for trapping between a vector element and a raster element, so the trap location can change between the trap elements represented by the lines 485 and 495 and the trap elements represented by the line 490. An abrupt change in trap location along a border between graphical elements can be visible and can lower the quality of the trapped illustration.
The borders of flattening regions in an illustration, especially in a complex illustration, can be difficult for a user of a computer-graphics program to determine. For this and other reasons, the results of automatically trapping an illustration can be difficult for the user to predict, and the results of trapping can confuse and frustrate the user. For example, a soft-mask graphical element (a transparency mask that allows multiple levels of transparency to be selected) can affect the appearance of a region in an original illustration, but can extend outside of the region and can cause changes in trap location outside the region when the illustration is trapped. A user may expect the soft-mask graphical element to influence how the illustration is trapped only in the region where the soft-mask graphical element affects the appearance of the illustration, and the user may therefore be confused by the results of the trapping.
Referring to FIG. 5A, an illustration 500 includes a first rectangular graphical element 510 that is filled with a first color. A second rectangular graphical element 520 is filled with a second color. A first opaque graphical element 530 filled with a third color lies above the graphical elements 510 and 520. A second opaque graphical element 540, also filled with the third color, lies above the second rectangular graphical element 520. The second color is darker than the first color, and the first color is darker than the third color. A dashed line indicates the boundary of a drop shadow graphical effect 550. A drop shadow graphical effect is a combination of a soft-mask graphical element and a third opaque graphical element. The third opaque graphical element can be, for example, an image or a vector fill graphical element. The soft-mask graphical effect and the third opaque graphical element cover the entire area of graphical effect 550. The soft-mask in the drop shadow graphical effect 550 controls the visibility of the third opaque graphical element by influencing the transparency of the third opaque graphical element. Though both the soft-mask graphical element and the third opaque graphical element cover the entire region of graphical effect 550, the soft mask controls the visibility of the third opaque graphical element so that graphical effect 550 is only visible where graphical effect 550 creates a shadow of the first opaque graphical element 530. A drop shadow graphical effect (e.g., graphical effect 550) is used to make it appear that a first graphical element (e.g., graphical element 530) is suspended above other graphical elements (e.g., rectangular graphical elements 510 and 520), adding a degree of three-dimensionality to a two-dimensional image.
FIG. 5B shows a trapped illustration 505 that corresponds to illustration 500, but is trapped using a conventional trapping process. Circles 560, 565, 570, and 575 surround discontinuities where the trap elements used to trap the illustration 505 change location. The graphical effect 550 (from FIG. 5A), which includes a transparent soft-mask graphical element, has been blended with the graphical elements 510, 520, 530, and 540 in a flattening that preceded the production of the trapped illustration 505. The flattened graphical elements produced to represent the region that was covered by the graphical effect 550 in the illustration 500 (FIG. 5A) are rasterized image graphical elements, which are of a different type than the surrounding vector graphical elements, so the rules used to trap a flattened representation of the illustration 500 change at the border of the region that was covered by the graphical effect 550, creating discontinuities in the trapped illustration 505.
FIG. 6 shows a process 600 that can be used to transform and process an illustration or a part of an illustration, where the part can be as small as a portion of a single graphical element. The process 600 improves the quality of a processed illustration compared to conventional automatic processing techniques and can reduce the amount of user intervention required to obtain high-quality results. Information about one or more graphical elements in an illustration is stored (step 610) before part or all of the illustration is transformed (step 620). After the illustration is transformed, the information stored in step 610 is used to guide the processing (e.g., trapping) of the transformed illustration (step 630). In some implementations, information about one or more graphical elements is stored during the transformation, so the steps 610 and 620 are combined. The process 600 can be used in many contexts. For example, the process 600 can be implemented in a graphics program (e.g., Adobe® InDesign®) or in a plug-in to a graphics program.
The information stored about a graphical element in step 610 can include one or more of the following: the shape of the graphical element, the type of the graphical element (e.g., raster, vector fill, vector stroke, glyph, image mask, soft mask, gradient, etc.), the transparency of the graphical element, the colorspace of the graphical element (e.g., CMYK, RGB, etc.), and the color of the graphical element. Information about the shape of a graphical element can be stored in multiple ways. For example, the path of a graphical element can be stored as the shape of the graphical element. A combination of the path of the graphical element and a clip path can also be stored as the shape of the graphical element. If a graphical element is composed of sub elements (e.g., when a graphical element is painted with a pattern color), the path or paths of the sub elements can be stored as information about the shape of the graphical element. Information about the shape of an imagemask can be stored by storing which pixels are “on” in the imagemask.
The information stored in step 610 can be stored as a non-marking (invisible) graphical element. In some implementations, the information stored in step 610 is stored as metadata using custom operators. In some implementations, the information stored in step 610 is stored using Extensible Markup Language (XML) elements. Complete information about the graphical elements involved in a transformation can be stored in step 610. In other words, invisible copies can be made of the graphical elements involved in the transformation before the illustration is transformed in step 620. The information stored in step 610 can depend on the transform that is used in step 620. For example, if the transform of step 620 is flattening, step 610 can store information about the graphical elements included in each flattening region. In some implementations, if the flattening region is an atomic region, only information about the types of graphical elements included in the atomic region is stored. Information about the paths of the parts of the graphical elements included in the atomic region does not have to be stored, because the paths of interest are the same as the path of the atomic region, and step 630 can use the atomic region's path to represent the path of the parts of the graphical elements included in the atomic region. In some implementations, if the flattening region includes an image-mask graphical element, information about the shape of the image-mask graphical element is stored. In some implementations, if the flattening region is a complexity region, information about the type and shape of the parts of the graphical elements included in the complexity region is stored. Storing shape information allows step 630 to find edges within the complexity region in the transformed illustration. In some implementations, if a flattening region includes a soft-mask graphical element (e.g., a soft mask used to produce a drop shadow), information about the types, colorspaces, and colors of the graphical elements in the region is stored.
The transformation in step 620 changes or discards information about one or more graphical elements that are transformed, so that the transformed illustration includes different information than the original illustration. The transformation in step 620 can be flattening. As was described above, flattening a flattening region that includes a vector graphical element and a raster graphical element can result in raster graphical element that represents the flattening region in the transformed illustration. A conventional raster graphical element representing a flattening region typically does not include information about the graphical elements that were transformed into the raster graphical element. Therefore, information about the graphical elements in the original illustration is lost during the transformation process if the information is not stored (e.g., in step 610). The transformation in step 620 can be rasterization. For example, an illustration including many types of graphical elements can be rasterized and represented by a rasterized illustration. The rasterized illustration typically does not include explicit information about the graphical elements in the original illustration, so information about the graphical elements in the original illustration is lost during the transformation process if the information is not stored (e.g., in step 610).
In step 630, the information from step 610 about the graphical elements in the original illustration is used to process the transformed illustration. For example, if a flattening region is represented by a raster graphical element in the transformed illustration, the information stored in step 610 is used to determine whether any graphical element in the original illustration corresponding to the flattening region was a type of graphical element other than raster. If it is determined, for example, that a graphical element in the original illustration corresponding to the flattening region was a vector graphical element, different rules may be used to process the flattening region in the transformed illustration than would have been used if all graphical elements in the original illustration corresponding to the flattening region were raster graphical elements. In another example, multiple intersecting graphical elements in the original illustration are rasterized to produce a raster graphical element in the transformed illustration. Information from step 610 about the shapes (e.g., paths) of the intersecting graphical elements in the original illustration can be used to find edges within the raster graphical element. Using the shapes of the graphical elements to find edges in the raster graphical element typically gives better results than using conventional edge-detection methods; false positives (which cause unnecessary traps to be formed) and false negatives (which cause missing traps) can be reduced or avoided.
Processing the transformed illustration in step 630 can include trapping the transformed illustration. In some implementations, a transformed illustration is trapped using the information from step 610 combined with color information from the transformed illustration. For example, if multiple transparent graphical elements in an illustration are flattened to produce a single opaque graphical element, the color of the opaque graphical element can be used to trap the flattened illustration along with information about the transparent graphical elements. Using the color of the opaque graphical element during trapping, instead of re-blending the transparent graphical elements, speeds trapping and ensures that the color of the trap element(s) used to trap the opaque graphical element will be based on the color of the opaque graphical element itself rather than on a re-blended version of the transparent graphical elements. In some implementations, the stored information from step 610 can be preserved after trapping to allow the trap elements to be removed from the trapped illustration and to allow the transformed illustration to be re-trapped.
Processing the transformed illustration in step 630 can include halftoning the transformed illustration. For example, raster graphical elements can be screened with a different halftone screen than vector graphical elements are screened with. If a single graphical element is transformed into multiple transformed graphical elements, some of which are vector graphical elements and some of which are raster graphical elements, the stored information from step 610 can be used to apply a uniform halftone screen to transformed graphical elements.
Step 630 can also involve image post-processing. Raster graphical elements can be post-processed (e.g., sharpened) by, for example, a processing unit in a printing device. Using the process 600 in this context would allow transformed graphical elements that are associated with a single original (pre-transformation) graphical element to be post-processed in a unified manner.
In some implementations, an original graphical element in an illustration can be transformed in step 620 during a first use of process 600, and the transformed graphical element can be processed again during a second use of process 600. In this case, the information about the transformed graphical element that is stored during the second use of process 600 can be the type of the original graphical element or can be other information associated with the original graphical element.
Referring again to FIG. 3A, FIG. 3B, FIG. 3C, and FIG. 6, if the process 600 were used to trap the illustration 305, trap elements would not typically be placed along the line 380. Because the trapping process 630 can determine that the flattening regions 350 and 360 both include part of the image 310 by using stored information from step 610, trap elements typically are not necessary along the line 380. Likewise, trap elements are not typically necessary between the flattening regions 360 and 370 when the process 600 is used to trap the illustration 305.
Referring to FIG. 5A, FIG. 5B, FIG. 6, and FIG. 7, a trapped illustration 700 is the illustration 500 trapped using the process 600. The discontinuities of the illustration 505 can be avoided in the illustration 700, because the flattened graphical elements produced to represent the region in the illustration 500 (FIG. 5A) that was covered by the graphical effect 550, while still of a different type than the surrounding graphical elements, can be trapped using information stored before the flattening. In particular, stored information about the graphical elements 510, 520, 530, 540 can be used to determine the rules used to trap the region covered by the graphical effect 550 in the illustration 500.
The invention and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The invention can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps of the invention can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a user, the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
By way of example, referring to FIG. 8, a printing device 800 implementing an interpreter for a page description language, such as the PostScript® language, includes a microprocessor 802 for executing program instructions (including font instructions) stored on a printer random access memory (RAM) 804 and a printer read-only memory (ROM) 806 and controlling a printer marking engine 808. The RAM 804 is optionally supplemented by a mass storage device such as a hard disk. The essential elements of a computer are a processor for executing instructions and a memory. A computer can generally also receive programs and data from a storage medium such as an internal disk or a removable disk 812. These elements will also be found in a conventional desktop or workstation computer 810 as well as other computers suitable for executing computer programs implementing the methods described here, which can be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium. In one implementation, any of the microprocessor 802, the RAM 804, the ROM 806, and the printer marking engine 808 are physically located on a host computer that controls printing hardware.
The invention has been described in terms of particular embodiments. Other embodiments are within the scope of the following claims. For example, the steps of the invention can be performed in a different order and still achieve desirable results.

Claims (24)

1. A system for processing graphical elements, comprising:
means for receiving an original graphical element having an associated original type;
means for blending at least part of the original graphical element and at least part of at least one other graphical element to produce a transformed graphical element having an associated transformed type, the transformed type being different than the original type;
means for storing information about the original type for the original graphical element;
means for processing the transformed graphical element using the stored information about the original type, wherein a rule applied when processing untransformed graphical elements having the original type differs from a corresponding rule applied when processing untransformed graphical elements having the transformed type, the transformed graphical element being processed using the rule applied when processing untransformed graphical elements having the original type; and
means for creating a raster representation of the transformed graphical element based on the processing.
2. The system of claim 1, further comprising:
means for storing information about a type associated with the at least one other graphical element.
3. The system of claim 1, further comprising:
means for storing information about a colorspace and a color for the original graphical element.
4. The system of claim 1, further comprising:
means for storing an original shape of the at least part of the original graphical element.
5. The system of claim 4, where storing the original shape includes storing the original shape as a path of the at least part of the original graphical element.
6. The system of claim 4, where storing the original shape includes storing the original shape as a text glyph of the original graphical element.
7. The system of claim 4, where processing includes locating one or more edges in the transformed graphical element using the stored original shape.
8. The system of claim 1, where the transformed graphical element is a rasterized representation of the blended at least part of the original graphical element and at least part of the at least one other graphical element.
9. The system of claim 1, where storing information about the original type includes storing information about the original type in an invisible graphical element.
10. The system of claim 1, where storing information about the original type includes storing information about the original type in an XML element.
11. The system of claim 1, where processing includes trapping the transformed graphical element.
12. The system of claim 11, where trapping includes using a path of the transformed graphical element to represent a path of the at least part of the original graphical element.
13. The system of claim 11, where trapping includes using a color of the transformed graphical element to calculate a color of a trap element.
14. The system of claim 11, where trapping includes using trapping rules that depend on the stored information about the original type.
15. The system of claim 1, where processing includes halftoning the transformed graphical element.
16. The system of claim 1, where blending includes flattening at least part of the original graphical element and at least part of the at least one other graphical element to produce the transformed graphical element.
17. The system of claim 1, where:
at least one of the original graphical element and the at least one other graphical element is a transparent graphical element; and
the transformed graphical element is an opaque graphical element.
18. The system of claim 1, where:
the original graphical element was produced by blending two or more previous graphical elements; and
storing information about the original type includes storing information about a type associated with at least one of the previous graphical elements.
19. The system of claim 1, where the original type comprises a member of a set of types, the types in the set of types including raster, vector stroke, vector fill, image mask, soft mask, glyph, and gradient.
20. The system of claim 1, where the transformed type is raster.
21. The system of claim 1, where the original type is not associated with the transformed graphical element.
22. The system of claim 1, where:
the original type is one of vector stroke and vector fill;
the transformed type is raster;
blending includes flattening at least part of the original graphical element and at least part of the at least one other graphical element to remove transparency; and
processing the transformed graphical element using the stored information includes trapping the transformed graphical element by applying one of a vector stroke trapping rule and a vector fill trapping rule, the vector stroke trapping rule and the vector fill trapping rule differing from a raster trapping rule.
23. A computer-implemented method for processing graphical elements, the method comprising:
receiving, in one or more computers, an original graphical element having an associated original type;
blending, in the one or more computers, at least part of the original graphical element and at least part of at least one other graphical element to produce a transformed graphical element having an associated transformed type, the transformed type being different than the original type;
storing, in the one or more computers, information about the original type for the original graphical element;
processing, in the one or more computers, the transformed graphical element using the stored information about the original type, wherein a rule applied when processing untransformed graphical elements having the original type differs from a corresponding rule applied when processing untransformed graphical elements having the transformed type, the transformed graphical element being processed using the rule applied when processing untransformed graphical elements having the original type; and
creating, in the one or more computers, a raster representation of the transformed graphical element based on the processing.
24. A computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform actions comprising:
receiving an original graphical element having an associated original type;
blending at least part of the original graphical element and at least part of at least one other graphical element to produce a transformed graphical element having an associated transformed type, the transformed type being different than the original type;
storing information about the original type for the original graphical element;
processing the transformed graphical element using the stored information about the original type, wherein a rule applied when processing untransformed graphical elements having the original type differs from a corresponding rule applied when processing untransformed graphical elements having the transformed type, the transformed graphical element being processed using the rule applied when processing untransformed graphical elements having the original type; and
creating a raster representation of the transformed graphical element based on the processing.
US11/772,007 2004-02-25 2007-06-29 Processing illustrations using stored information Active 2024-10-14 US7719546B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/772,007 US7719546B1 (en) 2004-02-25 2007-06-29 Processing illustrations using stored information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/786,771 US7242415B1 (en) 2004-02-25 2004-02-25 Processing illustrations using stored information
US11/772,007 US7719546B1 (en) 2004-02-25 2007-06-29 Processing illustrations using stored information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/786,771 Continuation US7242415B1 (en) 2004-02-25 2004-02-25 Processing illustrations using stored information

Publications (1)

Publication Number Publication Date
US7719546B1 true US7719546B1 (en) 2010-05-18

Family

ID=38227075

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/786,771 Active 2024-09-26 US7242415B1 (en) 2004-02-25 2004-02-25 Processing illustrations using stored information
US11/772,007 Active 2024-10-14 US7719546B1 (en) 2004-02-25 2007-06-29 Processing illustrations using stored information

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/786,771 Active 2024-09-26 US7242415B1 (en) 2004-02-25 2004-02-25 Processing illustrations using stored information

Country Status (1)

Country Link
US (2) US7242415B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050243368A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Hierarchical spooling data structure
US20050249536A1 (en) * 2004-05-03 2005-11-10 Microsoft Corporation Spooling strategies using structured job information
US20090168105A1 (en) * 2004-05-03 2009-07-02 Microsoft Corporation Spooling Strategies Using Structured Job Information
US20090185222A1 (en) * 2004-05-03 2009-07-23 Microsoft Corporation Planar Mapping of Graphical Elements
US20110310438A1 (en) * 2010-06-18 2011-12-22 Noam Shaham Pre-print enhancement of a raster image
US8122350B2 (en) 2004-04-30 2012-02-21 Microsoft Corporation Packages that contain pre-paginated documents
US20130063736A1 (en) * 2011-06-30 2013-03-14 Canon Kabushiki Kaisha Information processing apparatus, method, and program
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7262782B1 (en) * 2003-11-07 2007-08-28 Adobe Systems Incorporated Selectively transforming overlapping illustration artwork
US7777758B2 (en) * 2006-10-10 2010-08-17 Adobe Systems Incorporated Automatic trapping of drop shadows
US9256972B2 (en) * 2013-04-23 2016-02-09 Adobe Systems Incorporated Fast high-fidelity flood-filling on vector artwork
US10685459B2 (en) * 2018-06-01 2020-06-16 Adobe Inc. Generating enhanced digital images by selectively transforming raster images to vector drawing segments
US10607374B2 (en) 2018-06-01 2020-03-31 Adobe Inc. Generating enhanced digital images by selectively transforming raster images to vector drawing segments

Citations (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4583116A (en) 1982-06-04 1986-04-15 Dr. -Ing. Rudolf Hell Gmbh Method and apparatus for eliminating defects in images in polychromatic printing due to faulty registration of superimposed printing of color separations
US4931861A (en) 1987-12-25 1990-06-05 Dainippon Screen Mfg. Co., Ltd. Method of and apparatus for correcting color pattern in multicolor process
US5029115A (en) 1989-05-04 1991-07-02 Laserfast Industries Process for the creation of camera-ready mechanicals
US5113249A (en) 1990-03-02 1992-05-12 Scitex Corporation Ltd. Method for preparing polychromatic printing plates
US5131058A (en) 1990-08-24 1992-07-14 Eastman Kodak Company Method for obtaining output-adjusted color separations
US5295236A (en) 1991-03-04 1994-03-15 Aldus Corporation Applying traps to a printed page specified in a page description language format
US5313570A (en) 1993-03-31 1994-05-17 Miles, Inc. Method for determining color boundaries for correcting for plate misregistration in color printing
US5355446A (en) 1991-12-06 1994-10-11 Scitex Corporation Ltd. Method and apparatus for preparing picture masks
US5459818A (en) 1992-11-02 1995-10-17 Hewlett-Packard Company Display list with crossing queues
US5471566A (en) 1992-08-14 1995-11-28 Crosfield Electronics Limited Methods and apparatus for generating graphics patterns using pixel values from a high resolution pattern
US5542052A (en) * 1991-03-04 1996-07-30 Adobe Systems Incorporated Applying traps to a printed page specified in a page description language format
US5613046A (en) 1993-03-31 1997-03-18 Miles Inc. Method and apparatus for correcting for plate misregistration in color printing
US5666543A (en) * 1994-03-23 1997-09-09 Adobe Systems Incorporated Method of trapping graphical objects in a desktop publishing program
US5668931A (en) 1993-03-31 1997-09-16 Dermer; Richard A. Method for automatic trap selection for correcting for plate misregistration in color printing
US5715331A (en) * 1994-06-21 1998-02-03 Hollinger; Steven J. System for generation of a composite raster-vector image
US6031544A (en) * 1997-02-28 2000-02-29 Adobe Systems Incorporated Vector map planarization and trapping
US6049339A (en) 1997-12-22 2000-04-11 Adobe Systems Incorporated Blending with planar maps
US6141462A (en) 1995-10-11 2000-10-31 Dainippon Screen Mfg. Co., Ltd. Image processing using adjoining relationships between image parts
US6236754B1 (en) * 1998-01-08 2001-05-22 Xerox Corporation Image modification to reduce susceptibility to misregistration
US6345117B2 (en) * 1998-10-22 2002-02-05 Xerox Corporation Method for automatic trap selection for correcting for separation misregistration in color printing
US6366361B1 (en) * 1997-09-03 2002-04-02 Adobe Systems Incorporated Peeker detection and correction
US20030090689A1 (en) 1998-10-22 2003-05-15 Xerox Corporation System and method of trapping for correcting for separation misregistration in color printing
US6594030B1 (en) 1999-08-27 2003-07-15 Microsoft Corporation Intelligent automatic trapping of page objects
US20030179394A1 (en) 2002-03-25 2003-09-25 Lane David K. Color trapping for an image forming apparatus
US20030214534A1 (en) 2002-05-16 2003-11-20 Uemura Marcelo R. Displaying information to indicate both the importance and the urgency of the information
US6654145B1 (en) * 1997-08-14 2003-11-25 Peter Speck Device and method for preparing documents for multicolor reproduction
US6697078B2 (en) 1999-01-29 2004-02-24 Adobe Systems Incorporated Trap shaping
US20040141194A1 (en) 2003-01-22 2004-07-22 Gupta Maya Rani Ink reduction error diffusion
US6781720B1 (en) * 1999-11-30 2004-08-24 Xerox Corporation Gradient-based trapping using patterned trap zones
US6781591B2 (en) 2001-08-15 2004-08-24 Mitsubishi Electric Research Laboratories, Inc. Blending multiple images using local and global information
US6850338B1 (en) 2000-05-12 2005-02-01 International Business Machines Corporation Method, system, program, and data structure for generating raster objects
US6894704B1 (en) 1999-11-22 2005-05-17 Adobe Systems Incorporated Processing complex regions of illustration artwork
US6903741B2 (en) 2001-12-13 2005-06-07 Crytek Gmbh Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US6987585B1 (en) 2000-09-27 2006-01-17 Adobe Systems Incorporated Trap shaping using a miter equation
US7239314B2 (en) 2002-08-29 2007-07-03 Warner Bros. Animation Method for 2-D animation
US20080088643A1 (en) 2006-10-10 2008-04-17 Yhann Stephan R Automatic trapping of drop shadows

Patent Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4583116A (en) 1982-06-04 1986-04-15 Dr. -Ing. Rudolf Hell Gmbh Method and apparatus for eliminating defects in images in polychromatic printing due to faulty registration of superimposed printing of color separations
US4931861A (en) 1987-12-25 1990-06-05 Dainippon Screen Mfg. Co., Ltd. Method of and apparatus for correcting color pattern in multicolor process
US5029115A (en) 1989-05-04 1991-07-02 Laserfast Industries Process for the creation of camera-ready mechanicals
US5113249A (en) 1990-03-02 1992-05-12 Scitex Corporation Ltd. Method for preparing polychromatic printing plates
US5131058A (en) 1990-08-24 1992-07-14 Eastman Kodak Company Method for obtaining output-adjusted color separations
US5295236A (en) 1991-03-04 1994-03-15 Aldus Corporation Applying traps to a printed page specified in a page description language format
US5542052A (en) * 1991-03-04 1996-07-30 Adobe Systems Incorporated Applying traps to a printed page specified in a page description language format
US5355446A (en) 1991-12-06 1994-10-11 Scitex Corporation Ltd. Method and apparatus for preparing picture masks
US5471566A (en) 1992-08-14 1995-11-28 Crosfield Electronics Limited Methods and apparatus for generating graphics patterns using pixel values from a high resolution pattern
US5459818A (en) 1992-11-02 1995-10-17 Hewlett-Packard Company Display list with crossing queues
US5313570A (en) 1993-03-31 1994-05-17 Miles, Inc. Method for determining color boundaries for correcting for plate misregistration in color printing
US5613046A (en) 1993-03-31 1997-03-18 Miles Inc. Method and apparatus for correcting for plate misregistration in color printing
US5668931A (en) 1993-03-31 1997-09-16 Dermer; Richard A. Method for automatic trap selection for correcting for plate misregistration in color printing
US5666543A (en) * 1994-03-23 1997-09-09 Adobe Systems Incorporated Method of trapping graphical objects in a desktop publishing program
US5715331A (en) * 1994-06-21 1998-02-03 Hollinger; Steven J. System for generation of a composite raster-vector image
US6141462A (en) 1995-10-11 2000-10-31 Dainippon Screen Mfg. Co., Ltd. Image processing using adjoining relationships between image parts
US6031544A (en) * 1997-02-28 2000-02-29 Adobe Systems Incorporated Vector map planarization and trapping
US6654145B1 (en) * 1997-08-14 2003-11-25 Peter Speck Device and method for preparing documents for multicolor reproduction
US6366361B1 (en) * 1997-09-03 2002-04-02 Adobe Systems Incorporated Peeker detection and correction
US6049339A (en) 1997-12-22 2000-04-11 Adobe Systems Incorporated Blending with planar maps
US6236754B1 (en) * 1998-01-08 2001-05-22 Xerox Corporation Image modification to reduce susceptibility to misregistration
US6345117B2 (en) * 1998-10-22 2002-02-05 Xerox Corporation Method for automatic trap selection for correcting for separation misregistration in color printing
US20030090689A1 (en) 1998-10-22 2003-05-15 Xerox Corporation System and method of trapping for correcting for separation misregistration in color printing
US7139098B2 (en) * 1998-10-22 2006-11-21 Xerox Corporation System and method of trapping for correcting for separation misregistration in color printing
US7123381B2 (en) * 1998-10-22 2006-10-17 Xerox Corporation System and method of trapping for correcting for separation misregistration in color printing
US20040212628A1 (en) 1999-01-29 2004-10-28 Adobe Systems, Inc., A Delaware Corporation Trap shaping
US6697078B2 (en) 1999-01-29 2004-02-24 Adobe Systems Incorporated Trap shaping
US7075551B2 (en) 1999-01-29 2006-07-11 Adobe Systems Incorporated Trap shaping
US6594030B1 (en) 1999-08-27 2003-07-15 Microsoft Corporation Intelligent automatic trapping of page objects
US6894704B1 (en) 1999-11-22 2005-05-17 Adobe Systems Incorporated Processing complex regions of illustration artwork
US6781720B1 (en) * 1999-11-30 2004-08-24 Xerox Corporation Gradient-based trapping using patterned trap zones
US6850338B1 (en) 2000-05-12 2005-02-01 International Business Machines Corporation Method, system, program, and data structure for generating raster objects
US6987585B1 (en) 2000-09-27 2006-01-17 Adobe Systems Incorporated Trap shaping using a miter equation
US6781591B2 (en) 2001-08-15 2004-08-24 Mitsubishi Electric Research Laboratories, Inc. Blending multiple images using local and global information
US6903741B2 (en) 2001-12-13 2005-06-07 Crytek Gmbh Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US20030179394A1 (en) 2002-03-25 2003-09-25 Lane David K. Color trapping for an image forming apparatus
US20030214534A1 (en) 2002-05-16 2003-11-20 Uemura Marcelo R. Displaying information to indicate both the importance and the urgency of the information
US7239314B2 (en) 2002-08-29 2007-07-03 Warner Bros. Animation Method for 2-D animation
US20040141194A1 (en) 2003-01-22 2004-07-22 Gupta Maya Rani Ink reduction error diffusion
US20080088643A1 (en) 2006-10-10 2008-04-17 Yhann Stephan R Automatic trapping of drop shadows

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"Adobe Design Center-Tutorials on how to use Adobe and Macromedia products together," © 2006 Adobe Systems Incorporated, [retrieved Oct. 10, 2006] Retrieved from the Internet: http://www.adobe.com/designcenter/tutorials/trapping/.
"How to trap using Adobe trapping technologies", Copyright 2002 Adobe Systems Incorporated, [online], [retrieved Aug. 8, 2006] Retrieved from the Internet: http://www.adobe.com/products/extreme/pdfs/trapping.pdf.
International Preliminary Report on Patentability for PCT Application No. PCT/US2007/080839 mailed Apr. 15, 2009, 7 pages.
International Search Report for PCT Application No. PCT/US2007/080839 mailed Jun. 10, 2008, 18 pages.
Non-Final Office Action dated Jan. 2, 2009, for U.S. Appl. No. 11/546,507, 13 pages.
PDF Reference fifth edition, Adobe Portable Document Format Version 1.6, 1984-2004 Adobe Systems Incorporated, [online], [retrieved Aug. 8, 2006] Retrieved from the Internet: http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf.

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122350B2 (en) 2004-04-30 2012-02-21 Microsoft Corporation Packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US20090185222A1 (en) * 2004-05-03 2009-07-23 Microsoft Corporation Planar Mapping of Graphical Elements
US20050243368A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Hierarchical spooling data structure
US8024648B2 (en) * 2004-05-03 2011-09-20 Microsoft Corporation Planar mapping of graphical elements
US20090168105A1 (en) * 2004-05-03 2009-07-02 Microsoft Corporation Spooling Strategies Using Structured Job Information
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US8639723B2 (en) 2004-05-03 2014-01-28 Microsoft Corporation Spooling strategies using structured job information
US20050249536A1 (en) * 2004-05-03 2005-11-10 Microsoft Corporation Spooling strategies using structured job information
US20110310438A1 (en) * 2010-06-18 2011-12-22 Noam Shaham Pre-print enhancement of a raster image
US8743424B2 (en) * 2010-06-18 2014-06-03 Hewlett-Packard Development Company, L.P. Pre-print enhancement of a raster image
US20130063736A1 (en) * 2011-06-30 2013-03-14 Canon Kabushiki Kaisha Information processing apparatus, method, and program

Also Published As

Publication number Publication date
US7242415B1 (en) 2007-07-10

Similar Documents

Publication Publication Date Title
US7719546B1 (en) Processing illustrations using stored information
US5666543A (en) Method of trapping graphical objects in a desktop publishing program
JP3545409B2 (en) How to add traps to print pages specified in page description language format
JP4917104B2 (en) System and method for printing artwork including transparency
JP4804605B2 (en) Transparency processing in page description language
US5295236A (en) Applying traps to a printed page specified in a page description language format
US7777758B2 (en) Automatic trapping of drop shadows
US8199359B2 (en) System and method for reducing visibility of registration errors in an image to be printed using a digital color printer by convolution with a laplacian kernel
EP0862136B1 (en) Vector map planarization and trapping
US6992798B2 (en) Apparatus, product, and method of trapping using a distance buffer
US7827485B2 (en) Previewing the effects of flattening transparency
US7894098B1 (en) Color separation of pattern color spaces and form XObjects
US8711372B2 (en) Techniques for image segment accumulation in document rendering
JPH1026972A (en) Contrast adjustment in anti-aliasing
JPH11286150A (en) Mixing of graphic object in frame buffer
US8705118B2 (en) Threshold-based load balancing printing system
US20060077210A1 (en) Rasterizing stacked graphics objects from top to bottom
US6201551B1 (en) PDL operator overloading for line width management
US7046403B1 (en) Image edge color computation
JP2009129342A (en) Image processing device and method
US20070065205A1 (en) Image forming apparatus, and method of image processing
Handelman A high-resolution computer graphics system
AU2008264239A1 (en) Text processing in a region based printing system

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADOBE SYSTEMS INCORPORATED,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YHANN, STEPHAN R.;MARKOVIC, DEJAN;PARENTEAU, ALEXANDRE S.;SIGNING DATES FROM 20040223 TO 20040224;REEL/FRAME:020171/0161

Owner name: ADOBE SYSTEMS INCORPORATED,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YHANN, STEPHAN R.;MARKOVIC, DEJAN;PARENTEAU, ALEXANDRE S.;SIGNING DATES FROM 20040223 TO 20040224;REEL/FRAME:020171/0875

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

AS Assignment

Owner name: ADOBE INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:ADOBE SYSTEMS INCORPORATED;REEL/FRAME:048867/0882

Effective date: 20181008

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12