Patents by Inventor Stephen J. DiVerdi

Stephen J. DiVerdi 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: 8830242
    Abstract: A method, system, and computer-readable storage medium are disclosed for simulating brush behavior. In one embodiment, user input may be received to modify an image using a brush model, wherein the brush model comprises data stored in a memory of a computer system. The brush model may comprise a plurality of bristle representations. The user input may comprise a motion of the brush model. An effect of each of the plurality of bristle representations on the image throughout the motion may be determined. The image may be modified based on the determined effect of each of the plurality of bristle representations on the image throughout the motion.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: September 9, 2014
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. DiVerdi, Sunil Hadap
  • Patent number: 8760438
    Abstract: A method, system, and computer-readable storage medium for simulating bristle brush behavior in an image editing application may use stiffness-height parameterization to determine the height of a brush tool above a canvas during a brush stroke. The determination may be dependent on the pressure applied during the stroke (e.g., using a stylus on a pressure-sensitive tablet), and on the stiffness of the brush bristles. The system may select a standard-stiffness or high-stiffness mapping between stylus pressure values and brush height values dependent whether the bristle stiffness value is above or below a pre-determined threshold. The standard-stiffness mapping may apply a linear function to pressure values to determine height values. Using the high-stiffness mapping, the effect of increased pressure on corresponding brush height values may be reduced as bristle stiffness is increased.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: June 24, 2014
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. DiVerdi, Sunil Hadap, Aravind Krishnaswamy
  • Patent number: 8749572
    Abstract: Systems and methods for performing brush behavior simulation in an image editing application may facilitate realistic paint simulation by the addition of a fill channel to a color space representation that includes a set of color channels and an alpha channel representing opacity of the paint. The fill channel value for each pixel of a brush model or canvas may represent the amount of paint stored at the pixel. The system may include logic to support paint compositing, mixing, and depletion operations that calculate a consequent color of a destination pixel resulting from the operations dependent on the fill channel values for the source and/or destination pixels. The resulting color channel, opacity channel, and fill channel values may be converted to a color space that does not include a fill channel or opacity channel for display. A source pixel may be a pixel of an atomic element of a texture.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: June 10, 2014
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. DiVerdi, Aravind Krishnaswamy
  • Publication number: 20140081610
    Abstract: A method, system, and computer-readable storage medium are disclosed for simulation of a stateful brush tip. A tip of a brush tool is modeled using a data structure. A user input is collected representing a stroke made on a virtual canvas with the brush tool. The stroke is made with the tip in a first state. A second state of the tip is determined dependent on the first state of the tip and the user input. The second state represents a different shape of the tip than the first state. The second state of the tip is stored using the data structure.
    Type: Application
    Filed: September 14, 2012
    Publication date: March 20, 2014
    Inventors: Stephen J. DiVerdi, Yuyan Song
  • Patent number: 8665258
    Abstract: A method, system, and computer-readable storage medium for determining a depth map from a single image. An image is displayed on a computer display, where the displayed image corresponds to image data. User input via is received via one or more tools applied to the displayed image, where the user input specifies one or more depth constraints for at least a portion of the image. A depth map for the image data is automatically determined subject to the one or more depth constraints, and a representation of the depth map is displayed on the computer display.
    Type: Grant
    Filed: November 18, 2008
    Date of Patent: March 4, 2014
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. Diverdi, Jonathan D. Ventura
  • Patent number: 8654143
    Abstract: Systems, methods, and apparatus for simulating natural media painting in a digital painting application (or painting simulation module) may provide user interface elements and methods that allow a user to load a brush with non-uniform paint colors by directly sampling the digital canvas. For example, a user may hover the brush over an area on the canvas having a non-uniform color distribution, and the application (or module) may sample the colors of the pixels under the brush, and load the brush with a collection of paint values reflecting the non-uniform distribution of colors in the sample. The application may support two non-uniform paint loading modes, e.g., one that fills the brush with a distribution of paint matching a single sample, and one that fills the brush with paint continuously as it is swept over the canvas. Non-uniform paint loading may be applied to stamp-based brush models and/or bristle brush models.
    Type: Grant
    Filed: August 25, 2010
    Date of Patent: February 18, 2014
    Assignee: Adobe Systems Incorporated
    Inventors: Aravind Krishnaswamy, Stephen J. DiVerdi, Sunil Hadap
  • Patent number: 8605095
    Abstract: A method, system, and computer-readable storage medium are disclosed for simulating bristle brush behavior and generating vector output from such simulations. User input may represent a stroke made by a paint brush comprising multiple bristles sweeping across a canvas. A vector representation of the brush stroke's effects may be generated by, for each of the plurality of bristles: determining a path along which the bristle has swept, and generating a vector representation of the path along which the bristle has swept (e.g., a set of Bézier curves, or straight line segments). The vector representation of the effects of the brush stroke may comprise the vector representations of the paths along which each of the plurality of bristles has swept. The vector representations of the paths of each bristle sweep may be composited over each other in an image editing application to depict the brush stroke for display and/or for printing.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: December 10, 2013
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. DiVerdi, Sunil Hadap, Darin C. Tomack
  • Patent number: 8599213
    Abstract: Systems, methods, and apparatus for simulating natural media painting in a digital painting application (or painting simulation module) may more accurately simulate real world painting techniques than conventional painting simulation applications. The digital painting application (or simulation module) may provide a small set of physically meaningful parameters (e.g., canvas wetness, drying rate, and pickup mix ratio). By setting the values of these parameters (or overriding default values for a selected paint type), the user may better control the appearance of brush strokes made by a virtual paint brush on a digital canvas. For example, the length of a brush stroke, the amount of streaking caused by paint picked up during the brush stroke, and/or the mix of paint deposited from a pickup buffer and a reservoir buffer of a brush model may be affected by changing the values of these parameters, thus allowing users to create different realistic painting effects.
    Type: Grant
    Filed: August 25, 2010
    Date of Patent: December 3, 2013
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. DiVerdi, Aravind Krishnaswamy, Jerry G. Harris, Sunil Hadap, Walter Michael Shaw
  • Publication number: 20130229391
    Abstract: A graphics application for simulating natural media drawing and painting may model a tablet stylus as if it were a virtual airbrush tool that sprays paint on a virtual canvas (tablet). The application may compute a conical shape of the paint spray, a target area in which to create an airbrush mark, and a target distribution of the paint to be deposited within the target area based on values of configurable parameters of the application and on 6DOF data collected from the tablet stylus and the tablet. The target distribution shape may be based on a hardness parameter. The virtual airbrush tool may create the mark using texture projection or by emitting multiple individual paint particles, which may have random sizes and velocity directions. In a hybrid mode, a granularity parameter may control the relative contributions of texture projection and particle emission in creating a given airbrush mark.
    Type: Application
    Filed: September 24, 2012
    Publication date: September 5, 2013
    Inventor: Stephen J. DiVerdi
  • Publication number: 20130229390
    Abstract: A graphics application for simulating natural media drawing and painting may model a tablet stylus as if it were a virtual projector, and as if a 2D brush tip image were projected on a virtual canvas. The application may compute a texture projection based on the values of configurable parameters of the application and/or 6DOF data collected from the tablet stylus and/or the tablet. This texture projection (i.e., the mark resulting from deformation of the 2D brush tip image due to the stylus pose) may be used as a 2D stamp to create a mark on the virtual canvas in response to contact between the stylus and tablet. This may create a more natural mapping between tablet stylus poses and the resulting marks for artists accustomed to the behavior of pencils, felt tip pens, airbrushes, or another natural media, compared to those employed in previous digital painting applications.
    Type: Application
    Filed: July 31, 2012
    Publication date: September 5, 2013
    Inventor: Stephen J. DiVerdi
  • Publication number: 20130229389
    Abstract: A method, system, and computer-readable storage medium are disclosed for simulation of an erodible tip. A brush tool representing an erodible media is modeled as a height map. Information is collected about a user manipulation of a stylus representing a stroke made on a virtual canvas with the brush tool. A mark to be made on the virtual canvas is determined dependent on the brush tool model and the collected information. The determined mark is rendered. A change in the height map of the brush tool due to the stroke is determined dependent on the brush tool model and the collected information. One or more subsequent marks are rendered in response to manipulation of the brush tool dependent on the determined change in the height map.
    Type: Application
    Filed: May 31, 2012
    Publication date: September 5, 2013
    Inventors: Stephen J. DiVerdi, Aravind Krishnaswamy
  • Patent number: 8462173
    Abstract: Systems, methods, and apparatus for simulating natural media painting in a digital painting application (or painting simulation module) using a two-layer model of a virtual paint brush may more accurately simulate real world painting techniques than conventional painting simulations. A two-layer brush model may include a reservoir buffer and a pickup buffer to separately represent the paint stored in the belly of a paint brush tip and paint that has been picked up on the surface of the brush tip during a brush stoke, respectively. The two-layer brush model may also include methods that automatically control how virtual paint moves between these layers and a digital canvas. In simulations that employ this two-layer brush model, virtual paint may be deposited on the digital canvas directly from both of the buffers. The amount of paint deposited from each buffer (and/or the ratio of the amounts) may be configurable by a user.
    Type: Grant
    Filed: August 25, 2010
    Date of Patent: June 11, 2013
    Assignee: Adobe Systems Incorporated
    Inventors: Stephen J. DiVerdi, Sunil Hadap, Aravind Krishnaswamy
  • Publication number: 20130127890
    Abstract: Techniques for improving the performance of vector-based, fluid motion simulation techniques in procedural painting algorithms. The techniques may be implemented in procedural painting algorithms that employ a vector-based, fluid motion simulation technique to help achieve dynamic and serendipitous behaviors of watercolor painting at good interactive rates even on relatively low-powered devices. The techniques may include resampling the vertices of pigment polygons after growth at least at some iterations of the algorithm to provide smoother, more uniform growth; rasterizing dried pigment polygons into a texture so that the dried polygons are not rendered at each iteration of the algorithm; and rendering only a subset of live pigment polygons at each iteration of the algorithm. Polygons used by the techniques may be separated into static water polygons and dynamic pigment polygons.
    Type: Application
    Filed: August 26, 2011
    Publication date: May 23, 2013
    Inventors: Stephen J. DiVerdi, Aravind Krishnaswamy, Radomir Mech
  • Publication number: 20130127823
    Abstract: A method, system, and computer-readable storage medium for determining a depth map from a single image. An image is displayed on a computer display, where the displayed image corresponds to image data. User input via is received via one or more tools applied to the displayed image, where the user input specifies one or more depth constraints for at least a portion of the image.
    Type: Application
    Filed: November 18, 2008
    Publication date: May 23, 2013
    Inventors: Stephen J. Diverdi, Jonathan D. Ventura
  • Publication number: 20130127898
    Abstract: Techniques for improving the performance of vector-based, fluid motion simulation techniques. The techniques may be implemented in procedural painting algorithms that employ a vector-based, fluid motion simulation technique to help achieve dynamic, serendipitous behaviors of painting at good interactive rates even on relatively low-powered devices. Instead of employing polygons in a procedural painting algorithm that are combinations of pigment and water, a technique may be employed in which the polygons are separated into pigment polygons and water polygons. The water polygons are not rendered; only the pigment polygons are rendered. To improve the performance of the wetness determination at vertices of the pigment polygons, a technique may be used that first rasterizes all of the water polygons into a buffer, which may be referred to as a wetness layer or wetmap; the wetness at a vertex is then determined by sampling this buffer or layer at the vertex's position.
    Type: Application
    Filed: August 26, 2011
    Publication date: May 23, 2013
    Inventors: Stephen J. DiVerdi, Aravind Krishnaswamy, Radomir Mech
  • Publication number: 20130120436
    Abstract: Systems, methods, and apparatus for simulating natural media painting in a digital painting application (or painting simulation module) may provide user interface elements and methods that allow a user to load a brush with non-uniform paint colors by directly sampling the digital canvas. For example, a user may hover the brush over an area on the canvas having a non-uniform color distribution, and the application (or module) may sample the colors of the pixels under the brush, and load the brush with a collection of paint values reflecting the non-uniform distribution of colors in the sample. The application may support two non-uniform paint loading modes, e.g., one that fills the brush with a distribution of paint matching a single sample, and one that fills the brush with paint continuously as it is swept over the canvas. Non-uniform paint loading may be applied to stamp-based brush models and/or bristle brush models.
    Type: Application
    Filed: August 25, 2010
    Publication date: May 16, 2013
    Inventors: Aravind Krishnaswamy, Stephen J. DiVerdi, Sunil Hadap
  • Publication number: 20130120324
    Abstract: A method, system, and computer-readable storage medium for simulating bristle brush behavior in an image editing application may use stiffness-height parameterization to determine the height of a brush tool above a canvas during a brush stroke. The determination may be dependent on the pressure applied during the stroke (e.g., using a stylus on a pressure-sensitive tablet), and on the stiffness of the brush bristles. The system may select a standard-stiffness or high-stiffness mapping between stylus pressure values and brush height values dependent whether the bristle stiffness value is above or below a pre-determined threshold. The standard-stiffness mapping may apply a linear function to pressure values to determine height values. Using the high-stiffness mapping, the effect of increased pressure on corresponding brush height values may be reduced as bristle stiffness is increased.
    Type: Application
    Filed: May 28, 2010
    Publication date: May 16, 2013
    Inventors: Stephen J. DiVerdi, Sunil Hadap, Aravind Krishnaswamy
  • Publication number: 20130120237
    Abstract: Systems and methods for synthesizing paintbrush strokes may use high fidelity pose data of reference strokes to supplement lower dimension stroke data. For example, 6DOF data representing reference strokes created by skilled artists may be captured and stored in a library of reference strokes. A query stroke made by a less skilled artist/user and/or made using input devices that do not provide 6DOF data may be processed by a stroke synthesis engine to produce an output stroke that follows the trajectory of the query stroke and includes pose data from one or more reference strokes. The stroke synthesis engine may construct feature vectors for samples of reference strokes and query strokes, select the best neighbor feature vector from the library for each query stroke sample, assign the pose data of the best neighbor to the query sample, and smooth the sequence of assigned poses to produce the synthesized output stroke.
    Type: Application
    Filed: August 31, 2011
    Publication date: May 16, 2013
    Inventors: Stephen J. DiVerdi, Jingwan Lu, Adam Finkelstein
  • Publication number: 20130120427
    Abstract: Systems, methods, and apparatus for simulating natural media painting in a digital painting application (or painting simulation module) using a two-layer model of a virtual paint brush may more accurately simulate real world painting techniques than conventional painting simulations. A two-layer brush model may include a reservoir buffer and a pickup buffer to separately represent the paint stored in the belly of a paint brush tip and paint that has been picked up on the surface of the brush tip during a brush stoke, respectively. The two-layer brush model may also include methods that automatically control how virtual paint moves between these layers and a digital canvas. In simulations that employ this two-layer brush model, virtual paint may be deposited on the digital canvas directly from both of the buffers. The amount of paint deposited from each buffer (and/or the ratio of the amounts) may be configurable by a user.
    Type: Application
    Filed: August 25, 2010
    Publication date: May 16, 2013
    Inventors: Stephen J. DiVerdi, Sunil Hadap, Aravind Krishnaswamy
  • Publication number: 20130120426
    Abstract: A method, system, and computer-readable storage medium are disclosed for simulating bristle brush behavior and generating vector output from such simulations. User input may represent a stroke made by a paint brush comprising multiple bristles sweeping across a canvas. A vector representation of the brush stroke's effects may be generated by, for each of the plurality of bristles: determining a path along which the bristle has swept, and generating a vector representation of the path along which the bristle has swept (e.g., a set of Bézier curves, or straight line segments). The vector representation of the effects of the brush stroke may comprise the vector representations of the paths along which each of the plurality of bristles has swept. The vector representations of the paths of each bristle sweep may be composited over each other in an image editing application to depict the brush stroke for display and/or for printing.
    Type: Application
    Filed: May 28, 2010
    Publication date: May 16, 2013
    Inventors: Stephen J. DiVerdi, Sunil Hadap, Darin C. Tomack