Patents by Inventor David Christopher Smith

David Christopher Smith has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8705118
    Abstract: Disclosed is a system (700) for printing a page description comprising a set of instructions, conforming to an interface, to draw at least one object on a page. The system comprises a filter module (705) for simplifying the set of instructions to an output set of instructions that is a subset of the interface, and an output device (711) for printing said output set of instructions. The system also has a set of thresholds (915) and flags (913) controlling the method by which the filter module simplifies said set of instructions, the flags and thresholds being dependent on the capabilities of the output device.
    Type: Grant
    Filed: May 14, 2008
    Date of Patent: April 22, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventor: David Christopher Smith
  • Patent number: 8638470
    Abstract: Disclosed is a method of band rendering an image. The method comprises receiving (201) object data of the image in the page description language. From this the method determines a plurality of buckets (bucket #1-#3, FIG. 14) by which the object data is to be divided. The method then assigns (FIG. 3, 350) object data of each object in the image to one of the buckets based on an initial visibility of the object in the image. Then, for each band of the image, in a band sequential fashion (900, 920), the method identifies (1016-1024) object data visible within a band from a subset of the buckets active for the band. Then, the method analysis (FIGS. 10(i)-(iii); 1028-1052) the identified object data within the band and selects at least one rendering method (RCCR, PCR) from a plurality of rendering methods by which the band is to be rendered. Then the method renders (960,970) the identified object data into the band from the object data using the selected at least one rendering method.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: January 28, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventors: Thomas Benjamin Sanjay Thomas, David Christopher Smith
  • Publication number: 20100315431
    Abstract: A method of modifying drawing commands to be input to a rendering process is disclosed. The method detects a first glyph drawing command and detects a predetermined number of further glyph drawing commands proximate within a threshold of the first glyph drawing command. The predetermined number of proximate glyph drawing commands is accumulated. The accumulated proximate glyph drawing commands are combined into a 1-bit depth bitmap. The 1-bit depth bitmap is output to the rendering process as a new drawing command.
    Type: Application
    Filed: June 11, 2010
    Publication date: December 16, 2010
    Applicant: CANON KABUSHIKI KAISHA
    Inventors: David Christopher Smith, Alexander Will, Cuong Hung Robert Cao
  • Patent number: 7755629
    Abstract: A method of rendering an image described by a list of graphical objects includes the steps of assigning objects in the list to at least one of a first set of objects and a second set of objects, and rendering the first set of objects to an image store using a first rendering method that determines whether a portion of an object of the first set contributes to a rendered output of the first set of objects and, if so, the first rendering method renders each pixel of the portion in sequence. The second set of objects to the image store are rendered using a second rendering method that renders each object in the second set in sequence and independently of the other objects in the second set.
    Type: Grant
    Filed: June 21, 2005
    Date of Patent: July 13, 2010
    Assignee: Canon Kabushiki Kaisha
    Inventor: David Christopher Smith
  • Publication number: 20100091310
    Abstract: Disclosed is a method of band rendering an image. The method comprises receiving (201) object data of the image in the page description language. From this the method determines a plurality of buckets (bucket #1-#3, FIG. 14) by which the object data is to be divided. The method then assigns (FIG. 3, 350) object data of each object in the image to one of the buckets based on an initial visibility of the object in the image. Then, for each band of the image, in a band sequential fashion (900, 920), the method identifies (1016-1024) object data visible within a band from a subset of the buckets active for the band. Then, the method analyses (FIGS. 10(i)-(iii); 1028-1052) the identified object data within the band and selects at least one rendering method (RCCR, PCR) from a plurality of rendering methods by which the band is to be rendered. Then the method renders (960,970) the identified object data into the band from the object data using the selected at least one rendering method.
    Type: Application
    Filed: June 27, 2008
    Publication date: April 15, 2010
    Applicant: CANON KABUSHIKI KAISHA
    Inventors: Thomas Benjamin Sanjay Thomas, David Christopher Smith
  • Patent number: 7583397
    Abstract: A method and apparatus for generating a display list, for use in rendering a plurality of glyphs, is disclosed. The method creates a display list for storing representations of the glyphs and stores at least a first one of the glyphs in the display list as a bitmap representation depending on one or more predetermined criteria. The at least first one of the glyphs may alternatively be stored in the display list as a vector representation.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: September 1, 2009
    Assignee: Canon Kabushiki Kaisha
    Inventor: David Christopher Smith
  • Patent number: 7477265
    Abstract: An apparatus renders a plurality of graphical objects of an image on a scanline basis, with each scanline including at least one run of pixels, and each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within the edges of the at least one graphical object. The apparatus includes a decomposer for decomposing each of the graphical objects into at least one edge representing the corresponding graphical objects, a sorter for sorting one or more arrays containing the edges representing the graphical objects of the image, at least one of the arrays being sorted in an order from a highest priority graphical object to a lowest priority graphical object, and a determining device for, using the one or more arrays, determining edges of the graphical objects defining a run of pixels of at least one of the scanlines, graphical objects contributing to the run of pixels and edges of the contributing graphical objects.
    Type: Grant
    Filed: January 5, 2007
    Date of Patent: January 13, 2009
    Assignee: Canon Kabushiki Kaisha
    Inventors: David Christopher Smith, Giles Puckett
  • Publication number: 20080291493
    Abstract: Disclosed is a system (700) for printing a page description comprising a set of instructions, conforming to an interface, to draw at least one object on a page. The system comprises a filter module (705) for simplifying the set of instructions to an output set of instructions that is a subset of the interface, and an output device (711) for printing said output set of instructions. The system also has a set of thresholds (915) and flags (913) controlling the method by which the filter module simplifies said set of instructions, the flags and thresholds being dependent on the capabilities of the output device.
    Type: Application
    Filed: May 14, 2008
    Publication date: November 27, 2008
    Applicant: CANON KABUSHIKI KAISHA
    Inventor: David Christopher Smith
  • Patent number: 7286142
    Abstract: A method of rendering a plurality of graphical objects of an image on a scanline basis, with each scanline having at least one run of pixels, and each run of pixels being associated with at least one of the graphical objects such that the pixels of the run are within edges of the at least one graphical object, includes the steps of decomposing each of the graphical objects into at least one edge representing the corresponding graphical object, and sorting one or more arrays containing the edges representing the graphical objects of the image. At least one of the arrays is sorted in an order from a highest priority graphical object to a lowest priority graphical object.
    Type: Grant
    Filed: March 21, 2003
    Date of Patent: October 23, 2007
    Assignee: Canon Kabushiki Kaisha
    Inventors: David Christopher Smith, Giles Puckett
  • Patent number: 6891536
    Abstract: A method (300) and apparatus (1000) for determining active objects contributing to a run of pixels corresponding to a scanline is disclosed. The method 300 utilizes two memory (1006) integer arrays (1101) and (1102) of size N, where N represents the number of objects in a job to be rendered. The first array (1101) is an active priority list and is preferably stored in memory (1006). The first array (1101) will be hereinafter referenced as the ‘active priority list (i.e. L[ ])’. The second array (1102) is an array of pointers (i.e. indexes) that indicate vacant memory 1006 locations in the active priority list (1101), when an object is deactivated. The second array (1102) will be hereinafter referred to as a ‘free list (F[ ])’ and is also preferably stored in memory (1006). The active priority list (1101) and free list (1102) can be stored at consecutive memory (1006) addresses (e.g.
    Type: Grant
    Filed: November 29, 2002
    Date of Patent: May 10, 2005
    Assignee: Canon Kabushiki Kaisha
    Inventor: David Christopher Smith
  • Publication number: 20030227463
    Abstract: A method (500) of creating an image is disclosed. The image (e.g. 200) is formed by rendering a plurality of graphical objects (e.g. 203, 204, 205) on a scanline (e.g. 301) basis, where each scanline (301) comprises at least one run of pixels (e.g. 325). The method (500) forms an array representing the graphical objects (203, 204, 205) of the image (500). The array is sorted in an order from a top-most graphical object to a bottom-most graphical object. For each scanline (301) of the image (200) and for each run of pixels (325) of the scanline (301), the array is traversed to determine objects (203, 204, 205) contributing to the run of pixels (325). If a top-most contributing object is fully opaque, then data associated with the fully opaque object is halftoned to generate the run of pixels (325). Otherwise data associated with one or more of the contributing objects is composited and the composited data is halftoned to generate the run of pixels (325).
    Type: Application
    Filed: March 21, 2003
    Publication date: December 11, 2003
    Applicant: Canon Kabushiki Kaisha
    Inventors: David Christopher Smith, Giles Puckett
  • Publication number: 20030128224
    Abstract: A method (300) and apparatus (1000) for determining active objects contributing to a run of pixels corresponding to a scanline is disclosed. The method 300 utilises two memory (1006) integer arrays (1101) and (1102) of size N, where N represents the number of objects in a job to be rendered. The first array (1101) is an active priority list and is preferably stored in memory (1006). The first array (1101) will be hereinafter referenced as the ‘active priority list (i.e. L[ ])’. The second array (1102) is an array of pointers (i.e. indexes) that indicate vacant memory 1006 locations in the active priority list (1101), when an object is deactivated. The second array (1102) will be hereinafter referred to as a ‘free list (F[ ])’ and is also preferably stored in memory (1006). The active priority list (1101) and free list (1102) can be stored at consecutive memory (1006) addresses (e.g.
    Type: Application
    Filed: November 29, 2002
    Publication date: July 10, 2003
    Inventor: David Christopher Smith