Patents by Inventor Anmol Sud

Anmol Sud 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: 12026809
    Abstract: In implementations of systems for generating anti-aliased vector objects, a computing device implements an anti-aliasing system to receive input data describing a Bezier curve of a vector object. The anti-aliasing system generates an aliased curve by rasterizing the Bezier curve in a pixel space having pixels including intersected pixels that are intersected by the aliased curve and non-intersected pixels that are not intersected by the aliased curve. The anti-aliasing system segments the pixels into segments in a virtual space, and the segments have a higher density than the pixels. An intersected segment is identified that is intersected by a portion of the aliased curve in the virtual space. The anti-aliasing system determines a winding number for the intersected segment and generates a portion of an anti-aliased curve for display in a user interface by applying a color value to a coverage mask for an intersected pixel of the pixels.
    Type: Grant
    Filed: May 4, 2021
    Date of Patent: July 2, 2024
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Patent number: 11645793
    Abstract: Curve antialiasing based on curve-pixel intersection is leveraged in a digital medium environment. For instance, to apply antialiasing according to techniques described herein, curves of a visual object are mapped from an original pixel space to a virtual pixel space. Virtual pixels of the virtual pixel space that are intersected by the mapped curves are identified and aggregated as intersected virtual pixels. The intersected virtual pixels are then mapped back into the original pixel space to identify which intersected virtual pixels positionally coincide with respective original pixels of the original pixel space. Intersected virtual pixels are mapped to original pixels to generate pixel coverage for original pixels. The generated pixel coverage values for original pixels are applied to render antialiased curves as part of an antialiased version of the original visual object.
    Type: Grant
    Filed: January 10, 2022
    Date of Patent: May 9, 2023
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Publication number: 20220366621
    Abstract: In implementations of systems for generating anti-aliased vector objects, a computing device implements an anti-aliasing system to receive input data describing a Bezier curve of a vector object. The anti-aliasing system generates an aliased curve by rasterizing the Bezier curve in a pixel space having pixels including intersected pixels that are intersected by the aliased curve and non-intersected pixels that are not intersected by the aliased curve. The anti-aliasing system segments the pixels into segments in a virtual space, and the segments have a higher density than the pixels. An intersected segment is identified that is intersected by a portion of the aliased curve in the virtual space. The anti-aliasing system determines a winding number for the intersected segment and generates a portion of an anti-aliased curve for display in a user interface by applying a color value to a coverage mask for an intersected pixel of the pixels.
    Type: Application
    Filed: May 4, 2021
    Publication date: November 17, 2022
    Applicant: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Patent number: 11417058
    Abstract: Methods, systems, and non-transitory computer readable storage media are disclosed for utilizing a central processing unit to generate a compressed multi-vertex buffer to include rendering data from tessellated geometry of a two-dimensional vector graphic for rendering the two-dimensional vector graphic via a GPU rendering pipeline. For example, the disclosed system generates an expanded geometry for control triangles within the tessellated geometry based on an anti-aliasing direction. The disclosed system generates multi-vertex buffer entries including vertex locations and visual attributes (e.g., color, primitive type, anti-aliasing direction, stroke width) of the vector paths corresponding to each triangle in the tessellated geometry. Furthermore, the disclosed system renders the two-dimensional vector graphic by passing the rendering data stored in the compressed multi-vertex buffer to the graphics processing unit in a manner that the graphics processing unit is able to process.
    Type: Grant
    Filed: September 14, 2020
    Date of Patent: August 16, 2022
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Patent number: 11348287
    Abstract: A technique and computing device to render graphic objects associated with pattern paint in a digital medium environment are disclosed. The computing device comprises a graphics processing unit. The graphics processing unit associates a first surface to a framebuffer of the computing device, renders pattern cells at the first surface, and associates a second surface to the framebuffer of the computing device. The pattern cells correspond to pattern paints, and the pattern cells are rendered at the first surface independent of the sequential order of the pattern cells for rendering pattern paint. The graphics processing unit renders graphic objects associated with the pattern paints, and the graphic objects are rendered at the second surface in sequential order for rendering pattern paint.
    Type: Grant
    Filed: July 16, 2018
    Date of Patent: May 31, 2022
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Publication number: 20220139009
    Abstract: Curve antialiasing based on curve-pixel intersection is leveraged in a digital medium environment. For instance, to apply antialiasing according to techniques described herein, curves of a visual object are mapped from an original pixel space to a virtual pixel space. Virtual pixels of the virtual pixel space that are intersected by the mapped curves are identified and aggregated as intersected virtual pixels. The intersected virtual pixels are then mapped back into the original pixel space to identify which intersected virtual pixels positionally coincide with respective original pixels of the original pixel space. Intersected virtual pixels are mapped to original pixels to generate pixel coverage for original pixels. The generated pixel coverage values for original pixels are applied to render antialiased curves as part of an antialiased version of the original visual object.
    Type: Application
    Filed: January 10, 2022
    Publication date: May 5, 2022
    Applicant: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Publication number: 20220084283
    Abstract: Methods, systems, and non-transitory computer readable storage media are disclosed for utilizing a central processing unit to generate a compressed multi-vertex buffer to include rendering data from tessellated geometry of a two-dimensional vector graphic for rendering the two-dimensional vector graphic via a GPU rendering pipeline. For example, the disclosed system generates an expanded geometry for control triangles within the tessellated geometry based on an anti-aliasing direction. The disclosed system generates multi-vertex buffer entries including vertex locations and visual attributes (e.g., color, primitive type, anti-aliasing direction, stroke width) of the vector paths corresponding to each triangle in the tessellated geometry. Furthermore, the disclosed system renders the two-dimensional vector graphic by passing the rendering data stored in the compressed multi-vertex buffer to the graphics processing unit in a manner that the graphics processing unit is able to process.
    Type: Application
    Filed: September 14, 2020
    Publication date: March 17, 2022
    Inventors: Harish Kumar, Anmol Sud
  • Patent number: 11232613
    Abstract: Curve antialiasing based on curve-pixel intersection is leveraged in a digital medium environment. For instance, to apply antialiasing according to techniques described herein, curves of a visual object are mapped from an original pixel space to a virtual pixel space. Virtual pixels of the virtual pixel space that are intersected by the mapped curves are identified and aggregated as intersected virtual pixels. The intersected virtual pixels are then mapped back into the original pixel space to identify which intersected virtual pixels positionally coincide with respective original pixels of the original pixel space. Intersected virtual pixels are mapped to original pixels to generate pixel coverage for original pixels. The generated pixel coverage values for original pixels are applied to render antialiased curves as part of an antialiased version of the original visual object.
    Type: Grant
    Filed: October 12, 2020
    Date of Patent: January 25, 2022
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Patent number: 11010939
    Abstract: Techniques are disclosed for a graphics processing unit (GPU) to process cubic Bezier curves, and render the cubic Bezier curves. In an example, the GPU receives a cubic Bezier curve. For example, a graphics pipeline of the GPU receives a plurality of corner points of a control polygon in the form of a patch primitive, the control polygon representing the cubic Bezier curve. The graphics pipeline tessellates the cubic Bezier curve into multiple quadratic Bezier curves, such that the multiple quadratic Bezier curves approximate the cubic Bezier curve. The number of quadratic Bezier curves generated in such a manner is adaptively based on a zoom level at which the cubic Bezier curve is to be displayed. For example, as and when the zoom level changes, new number of such quadratic Bezier curves are tessellated from the cubic Bezier curve. The quadratic Bezier curves are then rendered for display.
    Type: Grant
    Filed: September 12, 2019
    Date of Patent: May 18, 2021
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Publication number: 20210082165
    Abstract: Techniques are disclosed for a graphics processing unit (GPU) to process cubic Bezier curves, and render the cubic Bezier curves. In an example, the GPU receives a cubic Bezier curve. For example, a graphics pipeline of the GPU receives a plurality of corner points of a control polygon in the form of a patch primitive, the control polygon representing the cubic Bezier curve. The graphics pipeline tessellates the cubic Bezier curve into multiple quadratic Bezier curves, such that the multiple quadratic Bezier curves approximate the cubic Bezier curve. The number of quadratic Bezier curves generated in such a manner is adaptively based on a zoom level at which the cubic Bezier curve is to be displayed. For example, as and when the zoom level changes, new number of such quadratic Bezier curves are tessellated from the cubic Bezier curve. The quadratic Bezier curves are then rendered for display.
    Type: Application
    Filed: September 12, 2019
    Publication date: March 18, 2021
    Applicant: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Publication number: 20200020139
    Abstract: A technique and computing device to render graphic objects associated with pattern paint in a digital medium environment are disclosed. The computing device comprises a graphics processing unit. The graphics processing unit associates a first surface to a framebuffer of the computing device, renders pattern cells at the first surface, and associates a second surface to the framebuffer of the computing device. The pattern cells correspond to pattern paints, and the pattern cells are rendered at the first surface independent of the sequential order of the pattern cells for rendering pattern paint. The graphics processing unit renders graphic objects associated with the pattern paints, and the graphic objects are rendered at the second surface in sequential order for rendering pattern paint.
    Type: Application
    Filed: July 16, 2018
    Publication date: January 16, 2020
    Applicant: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Patent number: 10403040
    Abstract: Vector graphics rendering techniques are described. Graphics processing units (GPUs) can render vector graphics images according to graphic trees having graphic leafs, each representing a graphics object (e.g., a shape) depicted in a vector graphics image. The described techniques involve generating groups of graphics objects depicted in an image such that graphics objects of a group have a same object type, e.g., shape. Transformations are determined that describe how to transform a first graphics object of a group to obtain other graphics objects of the group. The first graphics object is tessellated and a metadata buffer generated for the group having information indicative of the transformations. The metadata buffer is attached to a graphic leaf representing the first graphics object and graphic leafs representing the other graphics objects are removed from the graphic tree. The GPU renders objects by group based on the tessellated object and the metadata buffer's information.
    Type: Grant
    Filed: July 17, 2017
    Date of Patent: September 3, 2019
    Assignee: Adobe Inc.
    Inventors: Harish Kumar, Anmol Sud
  • Publication number: 20190019333
    Abstract: Vector graphics rendering techniques are described. Graphics processing units (GPUs) can render vector graphics images according to graphic trees having graphic leafs, each representing a graphics object (e.g., a shape) depicted in a vector graphics image. The described techniques involve generating groups of graphics objects depicted in an image such that graphics objects of a group have a same object type, e.g., shape. Transformations are determined that describe how to transform a first graphics object of a group to obtain other graphics objects of the group. The first graphics object is tessellated and a metadata buffer generated for the group having information indicative of the transformations. The metadata buffer is attached to a graphic leaf representing the first graphics object and graphic leafs representing the other graphics objects are removed from the graphic tree. The GPU renders objects by group based on the tessellated object and the metadata buffer's information.
    Type: Application
    Filed: July 17, 2017
    Publication date: January 17, 2019
    Applicant: Adobe Systems Incorporated
    Inventors: Harish Kumar, Anmol Sud