Patents by Inventor Ondrej Stava

Ondrej Stava 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).

  • Publication number: 20230214953
    Abstract: Systems and methods are directed to a computing system. The computing system can include one or more processors, a message embedding model, a message extraction model, and a first set of instructions that cause the computing system to perform operations including obtaining the three-dimensional image data and the message vector. The operations can include inputting three-dimensional image data and a message vector into the message embedding model to obtain encoded three-dimensional image data. The operations can include using the message extraction model to extract an embedded message from the encoded three-dimensional image data to obtain a reconstructed message vector. The operations can include evaluating a loss function for a difference between the reconstructed message vector and the message vector and modifying values for parameters of at least the message embedding model based on the loss function.
    Type: Application
    Filed: June 5, 2020
    Publication date: July 6, 2023
    Inventors: Innfarn Yoo, Xiyang Luo, Feng Yang, Ondrej Stava
  • Publication number: 20230205938
    Abstract: Systems and methods provide micro-credential accreditation. The systems and methods analyze, using one or more prediction models, received text submissions received from applicants via interaction with an applicant device. The prediction model(s) fit one or more micro-credentials to the received text submission, which may collectively or independently qualify the applicant for one or more accreditation credits. By processing the received text submission, the systems and methods allow for consistent and standard output of micro-credentials by the prediction model(s). Furthermore, the systems and methods provide for monitoring the prediction model output(s) to ensure ethical fairness across varying demographic groups of applicants.
    Type: Application
    Filed: December 8, 2021
    Publication date: June 29, 2023
    Inventor: Ondrej Stava
  • Patent number: 11631218
    Abstract: Techniques of compressing triangular mesh data involve generating a neighborhood table (i.e., a table) of fixed size that represents a neighborhood of a predicted vertex of a triangle within a triangular mesh for input into a machine-learning (ML) engine. For example, such a neighborhood table as input into a ML engine can output a prediction for a value (e.g., a position) of a vertex. The residual between the prediction and the actual value of the vertex is stored in an array. The data in the array representing the residuals may be compressed and transmitted over a network. Upon receipt by a computer, the array may be decompressed by the computer. Obtaining the actual value involves the receiving computer generating the same neighborhood table, inputting that neighborhood table into the same ML engine to produce the predicted value, and adding the predicted value to the residual from the decompressed file.
    Type: Grant
    Filed: December 5, 2019
    Date of Patent: April 18, 2023
    Assignee: Google LLC
    Inventors: Igor Vytyaz, Ondrej Stava, Michael Hemmer, Xiaoxu Meng
  • Publication number: 20220020211
    Abstract: Techniques of compressing triangular mesh data involve generating a neighborhood table (i.e., a table) of fixed size that represents a neighborhood of a predicted vertex of a triangle within a triangular mesh for input into a machine-learning (ML) engine. For example, such a neighborhood table as input into a ML engine can output a prediction for a value (e.g., a position) of a vertex. The residual between the prediction and the actual value of the vertex is stored in an array. The data in the array representing the residuals may be compressed and transmitted over a network. Upon receipt by a computer, the array may be decompressed by the computer. Obtaining the actual value involves the receiving computer generating the same neighborhood table, inputting that neighborhood table into the same ML engine to produce the predicted value, and adding the predicted value to the residual from the decompressed file.
    Type: Application
    Filed: December 5, 2019
    Publication date: January 20, 2022
    Inventors: Igor Vytyaz, Ondrej Stava, Michael Hemmer, Xiaoxu Meng
  • Patent number: 10950042
    Abstract: Techniques of compressing triangular mesh data involve encoding a bitstream that defines a traversal order for vertices in a triangular mesh. The encoded bitstream defining the traversal order is in addition to an encoded bitstream of prediction errors and is an explicit, rather than implicit, traversal. One example of a bitstream that defines a traversal order is an array in which a bit signifies whether a step in an implicit, deterministic scheme such as a depth-first traversal. Upon decoding, the usual deterministic steps are used to find the vertices of the triangular mesh unless specified by the traversal bitstream. Such an encoded bitstream, when occupying less memory than that saved from the compression efficiencies gained in defining the traversal order defined in the bitstream, offers a simple, efficient compression without requiring that the triangular mesh be connected.
    Type: Grant
    Filed: June 2, 2017
    Date of Patent: March 16, 2021
    Assignee: Google LLC
    Inventors: Ondrej Stava, Michael Hemmer
  • Patent number: 10553035
    Abstract: In one general aspect, a method can include receiving, by processing circuitry of a computer configured to represent information related to a three-dimensional object, a plurality of vertices of a triangular mesh representing the three-dimensional object, the triangular mesh including a plurality of faces, each if the plurality of faces including three vertices of the plurality of vertices; generating a traversal order for the vertices of the triangular mesh based on valences of the plurality of vertices; producing an array of errors between predicted vertices and vertices of the plurality of vertices, the array of errors being arranged in a sequence based on the traversal order; and performing a compression operation on the array of differences to produce a compressed error array, the compressed error array producing the plurality of vertices of the triangular mesh in response to a decompression operation.
    Type: Grant
    Filed: June 2, 2017
    Date of Patent: February 4, 2020
    Assignee: GOOGLE LLC
    Inventors: Michael Hemmer, Ondrej Stava
  • Patent number: 10496336
    Abstract: An encoder includes a processor, a buffer, and a memory. The memory includes code as instructions that cause the processor to perform a number of steps. The steps include quantizing geometric data associated with a geometric construct, partitioning the geometric construct, determining a number of points in the partition, generating a deviation value based on the number of points in the partition, storing the deviation value in the buffer, and entropy encoding the deviation value.
    Type: Grant
    Filed: November 17, 2016
    Date of Patent: December 3, 2019
    Assignee: GOOGLE LLC
    Inventors: Michael Hemmer, Ondrej Stava
  • Patent number: 10430975
    Abstract: An encoder includes a processor, a buffer, and a memory. The memory includes code as instructions that cause the processor to perform a number of steps. The steps include partitioning a geometric construct within an axis of the geometric construct based on a point differential between two partitions, the geometric construct including geometric data, determining a number of points in the partition, storing a value indicating the number of points in the buffer, and entropy encoding the value stored in the buffer.
    Type: Grant
    Filed: November 17, 2016
    Date of Patent: October 1, 2019
    Assignee: GOOGLE LLC
    Inventors: Michael Hemmer, Frank Galligan, Ondrej Stava
  • Patent number: 10313673
    Abstract: Methods and apparatus to encode and decode normals of geometric representations of surfaces are disclosed herein. An example method includes defining a tile having regions, each of the regions of the tile corresponding with a surface of a geometric shape, arranging an edge of a first instance of the tile to abut an edge of a second instance of the tile to define a composite tile, determining a first vector between a first point on the composite tile in the first instance of the tile, and a second point on the composite tile in the second instance of the tile, and encoding the first vector to determine an approximation of the location of the second point relative to the first point.
    Type: Grant
    Filed: October 19, 2016
    Date of Patent: June 4, 2019
    Assignee: GOOGLE LLC
    Inventors: Ondrej Stava, Michael Hemmer
  • Publication number: 20180350138
    Abstract: Techniques of compressing triangular mesh data involve encoding a bitstream that defines a traversal order for vertices in a triangular mesh. The encoded bitstream defining the traversal order is in addition to an encoded bitstream of prediction errors and is an explicit, rather than implicit, traversal. One example of a bitstream that defines a traversal order is an array in which a bit signifies whether a step in an implicit, deterministic scheme such as a depth-first traversal. Upon decoding, the usual deterministic steps are used to find the vertices of the triangular mesh unless specified by the traversal bitstream. Such an encoded bitstream, when occupying less memory than that saved from the compression efficiencies gained in defining the traversal order defined in the bitstream, offers a simple, efficient compression without requiring that the triangular mesh be connected.
    Type: Application
    Filed: June 2, 2017
    Publication date: December 6, 2018
    Inventors: Ondrej Stava, Michael Hemmer
  • Publication number: 20180350153
    Abstract: In one general aspect, a method can include receiving, by processing circuitry of a computer configured to represent information related to a three-dimensional object, a plurality of vertices of a triangular mesh representing the three-dimensional object, the triangular mesh including a plurality of faces, each if the plurality of faces including three vertices of the plurality of vertices; generating a traversal order for the vertices of the triangular mesh based on valences of the plurality of vertices; producing an array of errors between predicted vertices and vertices of the plurality of vertices, the array of errors being arranged in a sequence based on the traversal order; and performing a compression operation on the array of differences to produce a compressed error array, the compressed error array producing the plurality of vertices of the triangular mesh in response to a decompression operation.
    Type: Application
    Filed: June 2, 2017
    Publication date: December 6, 2018
    Inventors: Michael Hemmer, Ondrej Stava
  • Publication number: 20180137224
    Abstract: An encoder includes a processor, a buffer, and a memory. The memory includes code as instructions that cause the processor to perform a number of steps. The steps include quantizing geometric data associated with a geometric construct, partitioning the geometric construct, determining a number of points in the partition, generating a deviation value based on the number of points in the partition, storing the deviation value in the buffer, and entropy encoding the deviation value.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventors: Michael Hemmer, Ondrej Stava
  • Publication number: 20180137653
    Abstract: An encoder includes a processor, a buffer, and a memory. The memory includes code as instructions that cause the processor to perform a number of steps. The steps include partitioning a geometric construct within an axis of the geometric construct based on a point differential between two partitions, the geometric construct including geometric data, determining a number of points in the partition, storing a value indicating the number of points in the buffer, and entropy encoding the value stored in the buffer.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventors: Michael Hemmer, Frank Galligan, Ondrej Stava
  • Publication number: 20180109795
    Abstract: Methods and apparatus to encode and decode normals of geometric representations of surfaces are disclosed herein. An example method includes defining a tile having a plurality of regions, each of the plurality of regions of the tile corresponding with a surface from a plurality of surfaces of a geometric shape, arranging an edge of a first instance of the tile to abut an edge of a second instance of the tile to define a composite tile, determining a first vector between a first point on the composite tile in the first instance of the tile, and a second point on the composite tile in the second instance of the tile, and encoding the first vector to determine an approximation of the location of the second point relative to the first point.
    Type: Application
    Filed: October 19, 2016
    Publication date: April 19, 2018
    Inventors: Ondrej Stava, Michael Hemmer
  • Patent number: 9833948
    Abstract: This document describes techniques and apparatuses for 3D printing for colored models on multi-head fused-deposition modeling (FDM) printers. These techniques are capable of enabling FDM printers to create 3D objects based on colored models, in some cases by determining printer instructions for multiple printer heads based on a 3D model and color data for the surface of the 3D model. These techniques can also tailor printer instructions to characteristics of a particular type or individual FDM 3D printer.
    Type: Grant
    Filed: May 8, 2014
    Date of Patent: December 5, 2017
    Assignee: ADOBE SYSTEMS INCORPORATED
    Inventor: Ondrej Stava
  • Patent number: 9824494
    Abstract: Techniques are provided for repairing a polygon mesh that represents a three-dimensional surface, the repaired mesh comprising explicit regions that are preserved from the original mesh and implicit regions that are modified from the mesh repair operation. The explicit and implicit regions that comprise the hybrid surface meet along a “cut path” which can be located by identifying the elements of the volumetric grid where the implicit and explicit surfaces diverge. These elements comprise a path of marching cubes having faces that intersect the polygon elements of the explicit surface along the cut path. In certain embodiments the path between these intersections is selected so as to reduce deviation from the marching cube face and the path length. Once a preferred cut path is selected, the polygons that comprise the explicit surface are subdivided to conform to the cut path.
    Type: Grant
    Filed: June 17, 2015
    Date of Patent: November 21, 2017
    Assignee: Adobe Systems Incorporated
    Inventors: Byungmoon Kim, Ondrej Stava
  • Patent number: 9787321
    Abstract: Techniques of data compression involve ordering the points of a point cloud according to distance along a space-filling curve. Advantageously, a space-filling curve has the property that points close in distance along the curve are close together in Euclidean space. Thus, differences between points ordered by distance along such a curve, e.g., a Hilbert curve, will be close. When the curve is fractal, i.e., self-similar at all levels, the differences will be small even when the points are very unevenly clustered throughout the point cloud. Such small differences will provide greatly improved compression to the resulting delta-encoded set of points.
    Type: Grant
    Filed: November 17, 2016
    Date of Patent: October 10, 2017
    Assignee: GOOGLE INC.
    Inventors: Michael Hemmer, Ondrej Stava
  • Patent number: 9744725
    Abstract: Methods and systems are disclosed for preserving thin components for three dimensional (3D) printing. An exemplary method generates a medial axis of a 3D shape and identifies components of the 3D shape that need to be preserved by applying a transform to the medial axis. The method creates an output model based at least in part on the components and an insetted shape corresponding to the 3D shape. A system includes a computing device with a processor and a memory having instructions that, if executed, cause the processor to perform operations. The operations comprise generating a medial axis of a 3D shape and applying a transform to the medial axis to identify one or more components of the shape to be preserved. The operations further comprise creating an output model based at least in part on the one or more components and an insetted shape corresponding to the 3D shape.
    Type: Grant
    Filed: September 5, 2013
    Date of Patent: August 29, 2017
    Assignee: Adobe Systems Incorporated
    Inventor: Ondrej Stava
  • Patent number: 9688025
    Abstract: This document describes techniques and apparatuses for a three-dimensional (3D) cleaning object for multi-print-head 3D printing. These techniques are capable of cleaning leftover material from an active or inactive print head using a 3D cleaning object. This cleaning object is printed along with the desired 3D object, with the cleaning object retaining leftover material that may otherwise become an undesirable artifact of the desired 3D object.
    Type: Grant
    Filed: January 8, 2014
    Date of Patent: June 27, 2017
    Assignee: Adobe Systems Incorporated
    Inventors: Ondrej Stava, Peter F. Falco, Jr.
  • Patent number: 9688024
    Abstract: Methods and systems for defining adaptive support structures for three dimensional (3D) printing are disclosed. An exemplary method detects an area of a 3D model needing support and generates contact points for the area. The method creates a set of virtual supports that extend downward from respective contact points and then identifies connections between the virtual supports in the set, the connections satisfying connection constraints. Next, a virtual support in the set is selected to be a trunk based on comparing connectivity levels of virtual supports in the set, the connectivity level of each of the virtual supports determined by a number of connections between the respective virtual support and other virtual supports. The method then defines a support structure originating from the contact points and including the trunk, at least one virtual support connected to the trunk, and connections between the trunk and the at least one virtual support.
    Type: Grant
    Filed: August 30, 2013
    Date of Patent: June 27, 2017
    Assignee: Adobe Systems Incorporated
    Inventor: Ondrej Stava