Patents by Inventor Robert Obryk
Robert Obryk 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: 20240276018Abstract: The loss of image quality during compression is controlled using a sequence of quality control metrics. The sequence of quality control metrics is selected for quantizing transform coefficients within an area of the image based on an error level definition. Candidate bit costs are then determined by quantizing the transform coefficients according to the error level definition or a modified error level and the sequence of quality control metrics. Where the candidate bit cost resulting from using the modified error level is lower than the candidate bit cost resulting from using the error level definition, the transform coefficients are quantized according to the modified error level and the sequence of quality control metrics. Otherwise, the transform coefficients are quantized based on the error level definition and according to the sequence of quality control metrics.Type: ApplicationFiled: April 23, 2024Publication date: August 15, 2024Inventors: Jyrki Alakuijala, Robert Obryk, Evgenii Kliuchnikov, Zoltan Szabadka, Jan Wassenberg, Minttu Alakuijala, Lode Vandevenne
-
Patent number: 11968406Abstract: An image encoder includes a processor and a memory. The memory includes instructions configured to cause the processor to perform operations. In one example implementation, the operations may include determining whether a dictionary item is available for replacing a block of an image being encoded, the determining based on a hierarchical lookup mechanism, and encoding the image along with reference information of the dictionary item in response to determining that the dictionary item is available. In one more example implementation, the operations may include performing principal component analysis (PCA) on a block to generate a corresponding projected block, the block being associated with a group of images, comparing the projected block with a corresponding threshold, descending the block recursively based on the threshold until a condition is satisfied, and identifying a left over block as a cluster upon satisfying of the condition.Type: GrantFiled: February 8, 2021Date of Patent: April 23, 2024Assignee: Google LLCInventors: Krzysztof Potempa, Jyrki Alakuijala, Robert Obryk
-
Patent number: 11755287Abstract: A method for generating random numbers includes initializing a pseudo-random number generator (PRNG) having a state of 2048 bits comprising inner bits and outer bits, the inner bits comprising the first 128 bits of the 2048 bits and the outer bits comprising the remaining bits of the 2048 bits. The method also includes retrieving AES round keys from a key source, and for a threshold number of times, executing a round function using the AES round keys by XOR'ing odd-numbered branches of a Feistel network having 16 branches of 128 bits with a function of corresponding even-numbered neighbor branches of the Feistel network, and shuffling each branch of 128 bits into a prescribed order. The method also includes executing an XOR of the inner bits of the permuted state with the inner bits of a previous state.Type: GrantFiled: August 24, 2022Date of Patent: September 12, 2023Assignee: Google LLCInventors: Jan Wassenberg, Robert Obryk, Jyrki Alakuijala, Emmanuel Mogenet
-
Patent number: 11734568Abstract: The present disclosure provides systems and methods for modification (e.g., pruning, compression, quantization, etc.) of artificial neural networks based on estimations of the utility of network connections (also known as “edges”). In particular, the present disclosure provides novel techniques for estimating the utility of one or more edges of a neural network in a fashion that requires far less expenditure of resources than calculation of the actual utility. Based on these estimated edge utilities, a computing system can make intelligent decisions regarding network pruning, network quantization, or other modifications to a neural network. In particular, these modifications can reduce resource requirements associated with the neural network. By making these decisions with knowledge of and based on the utility of various edges, this reduction in resource requirements can be achieved with only a minimal, if any, degradation of network performance (e.g., prediction accuracy).Type: GrantFiled: February 13, 2019Date of Patent: August 22, 2023Assignee: GOOGLE LLCInventors: Jyrki Alakuijala, Ruud van Asseldonk, Robert Obryk, Krzysztof Potempa
-
Publication number: 20230016253Abstract: The loss of image quality during compression is controlled using a sequence of quality control metrics. The sequence of quality control metrics is selected for quantizing transform coefficients within an area of the image based on an error level definition. Candidate bit costs are then determined by quantizing the transform coefficients according to the error level definition or a modified error level and the sequence of quality control metrics. Where the candidate bit cost resulting from using the modified error level is lower than the candidate bit cost resulting from using the error level definition, the transform coefficients are quantized according to the modified error level and the sequence of quality control metrics. Otherwise, the transform coefficients are quantized based on the error level definition and according to the sequence of quality control metrics.Type: ApplicationFiled: September 29, 2022Publication date: January 19, 2023Inventors: Jyrki Alakuijala, Robert Obryk, Evgenii Kliuchnikov, Zoltan Szabadka, Jan Wassenberg, Minttu Alakuijala, Lode Vandevenne
-
Publication number: 20220405058Abstract: A method for generating random numbers includes initializing a pseudo-random number generator (PRNG) having a state of 2048 bits comprising inner bits and outer bits, the inner bits comprising the first 128 bits of the 2048 bits and the outer bits comprising the remaining bits of the 2048 bits. The method also includes retrieving AES round keys from a key source, and for a threshold number of times, executing a round function using the AES round keys by XOR'ing odd-numbered branches of a Feistel network having 16 branches of 128 bits with a function of corresponding even-numbered neighbor branches of the Feistel network, and shuffling each branch of 128 bits into a prescribed order. The method also includes executing an XOR of the inner bits of the permuted state with the inner bits of a previous state.Type: ApplicationFiled: August 24, 2022Publication date: December 22, 2022Applicant: Google LLCInventors: Jan Wassenberg, Robert Obryk, Jyrki Alakuijala, Emmanuel Mogenet
-
Patent number: 11531932Abstract: The present disclosure provides systems and methods for compressing and/or distributing machine learning models. In one example, a computer-implemented method is provided to compress machine-learned models, which includes obtaining, by one or more computing devices, a machine-learned model. The method includes selecting, by the one or more computing devices, a weight to be quantized and quantizing, by the one or more computing devices, the weight. The method includes propagating, by the one or more computing devices, at least a part of a quantization error to one or more non-quantized weights and quantizing, by the one or more computing devices, one or more of the non-quantized weights. The method includes providing, by the one or more computing devices, a quantized machine-learned model.Type: GrantFiled: July 6, 2017Date of Patent: December 20, 2022Assignee: GOOGLE LLCInventors: Jyrki Alakuijala, Robert Obryk
-
Patent number: 11463733Abstract: The loss of image quality during compression is controlled using a sequence of quality control metrics. The sequence of quality control metrics is selected for quantizing transform coefficients within an area of the image based on an error level definition. Candidate bit costs are then determined by quantizing the transform coefficients according to the error level definition or a modified error level and the sequence of quality control metrics. Where the candidate bit cost resulting from using the modified error level is lower than the candidate bit cost resulting from using the error level definition, the transform coefficients are quantized according to the modified error level and the sequence of quality control metrics. Otherwise, the transform coefficients are quantized based on the error level definition and according to the sequence of quality control metrics.Type: GrantFiled: February 15, 2019Date of Patent: October 4, 2022Assignee: GOOGLE LLCInventors: Jyrki Alakuijala, Robert Obryk, Evgenii Kliuchnikov, Zoltan Szabadka, Jan Wassenberg, Minttu Alakuijala, Lode Vandevenne
-
Patent number: 11449311Abstract: A method for generating random numbers includes initializing a pseudo-random number generator (PRNG) having a state of 2048 bits comprising inner bits and outer bits, the inner bits comprising the first 128 bits of the 2048 bits and the outer bits comprising the remaining bits of the 2048 bits. The method also includes retrieving AES round keys from a key source, and for a threshold number of times, executing a round function using the AES round keys by XOR'ing odd-numbered branches of a Feistel network having 16 branches of 128 bits with a function of corresponding even-numbered neighbor branches of the Feistel network, and shuffling each branch of 128 bits into a prescribed order. The method also includes executing an XOR of the inner bits of the permuted state with the inner bits of a previous state.Type: GrantFiled: November 7, 2017Date of Patent: September 20, 2022Assignee: Google LLCInventors: Jan Wassenberg, Robert Obryk, Jyrki Alakuijala, Emmanuel Mogenet
-
Patent number: 11425281Abstract: Techniques of color image processing involve performing a transformation for each color channel that mixes intensity values from other channels to produce a new intensity value for that channel. The new intensity values, representing the effect of overlapped response spectra of the S, M, and L cones, then provide values of the sensitivities of the photoreceptors of each of the cones. These values of the sensitivities form the basis of more accurate color image processing. For example, compression ratios of gamma-compressed color images may be increased when more the sensitivities are more accurate.Type: GrantFiled: September 7, 2016Date of Patent: August 23, 2022Inventors: Robert Obryk, Jyrki Antero Alakuijala
-
Publication number: 20210195193Abstract: An image encoder includes a processor and a memory. The memory includes instructions configured to cause the processor to perform operations. In one example implementation, the operations may include determining whether a dictionary item is available for replacing a block of an image being encoded, the determining based on a hierarchical lookup mechanism, and encoding the image along with reference information of the dictionary item in response to determining that the dictionary item is available. In one more example implementation, the operations may include performing principal component analysis (PCA) on a block to generate a corresponding projected block, the block being associated with a group of images, comparing the projected block with a corresponding threshold, descending the block recursively based on the threshold until a condition is satisfied, and identifying a left over block as a cluster upon satisfying of the condition.Type: ApplicationFiled: February 8, 2021Publication date: June 24, 2021Inventors: Krzysztof Potempa, Jyrki Alakuijala, Robert Obryk
-
Publication number: 20210084339Abstract: The loss of image quality during compression is controlled using a sequence of quality control metrics. The sequence of quality control metrics is selected for quantizing transform coefficients within an area of the image based on an error level definition. Candidate bit costs are then determined by quantizing the transform coefficients according to the error level definition or a modified error level and the sequence of quality control metrics. Where the candidate bit cost resulting from using the modified error level is lower than the candidate bit cost resulting from using the error level definition, the transform coefficients are quantized according to the modified error level and the sequence of quality control metrics. Otherwise, the transform coefficients are quantized based on the error level definition and according to the sequence of quality control metrics.Type: ApplicationFiled: February 15, 2019Publication date: March 18, 2021Inventors: Jyrki Alakuijala, Robert Obryk, Evgenii Kliuchnikov, Zoltan Szabadka, Jan Wassenberg, Minttu Alakuijala, Lode Vandevenne
-
Patent number: 10931948Abstract: An image encoder includes a processor and a memory. The memory includes instructions configured to cause the processor to perform operations. In one example implementation, the operations may include determining whether a dictionary item is available for replacing a block of an image being encoded, the determining based on a hierarchical lookup mechanism, and encoding the image along with reference information of the dictionary item in response to determining that the dictionary item is available. In one more example implementation, the operations may include performing principal component analysis (PCA) on a block to generate a corresponding projected block, the block being associated with a group of images, comparing the projected block with a corresponding threshold, descending the block recursively based on the threshold until a condition is satisfied, and identifying a left over block as a cluster upon satisfying of the condition.Type: GrantFiled: May 21, 2018Date of Patent: February 23, 2021Assignee: Google LLCInventors: Krzysztof Potempa, Jyrki Alakuijala, Robert Obryk
-
Publication number: 20210027195Abstract: The present disclosure provides systems and methods for compressing and/or distributing machine learning models. In one example, a computer-implemented method is provided to compress machine-learned models, which includes obtaining, by one or more computing devices, a machine-learned model. The method includes selecting, by the one or more computing devices, a weight to be quantized and quantizing, by the one or more computing devices, the weight. The method includes propagating, by the one or more computing devices, at least a part of a quantization error to one or more non-quantized weights and quantizing, by the one or more computing devices, one or more of the non-quantized weights. The method includes providing, by the one or more computing devices, a quantized machine-learned model.Type: ApplicationFiled: July 6, 2017Publication date: January 28, 2021Applicant: Google LLCInventors: Jyrki ALAKUIJALA, Robert OBRYK
-
Patent number: 10542255Abstract: Systems and methods are disclosed for coding images. For example, methods may include: receiving an encoded bitstream that was generated at least in part by applying a sharpening filter to an input image to obtain a sharpened image and applying a blockwise encoder to the sharpened image; decoding, using a blockwise decoder, data from an encoded bitstream to obtain a plurality of blocks of image data; combining the plurality of blocks of image data to form a blocked image; and applying a blurring filter, which is matched to the sharpening filter, to the blocked image to obtain an output image.Type: GrantFiled: September 28, 2017Date of Patent: January 21, 2020Assignee: GOOGLE LLCInventors: Jyrki Alakuijala, Robert Obryk
-
Patent number: 10515092Abstract: This technology relates to encoding data. For example, a sequence of one or more structured records as input data, at least one of the structured records including one or more field tags and associated field data. The input data may be parsed into data buffers, each data buffer corresponding to a field tag in the one or more field tags, wherein each data buffer includes the associated field data of the corresponding field tag. A control sequence specifying a sequence of the one or more fields tags may be encoded into a transition record. A state machine comprising nodes and transitions may be generated, with each node corresponding to occurrences of the one or more field tags and each transition corresponding to successive pairs of the one or more field tags. The data buffers, a representation of the state machine, and the encoded control sequence may be output.Type: GrantFiled: July 21, 2017Date of Patent: December 24, 2019Assignee: Google LLCInventors: Marcin Kowalczyk, Robert Obryk, Jyrki Alakuijala, Alkis Evlogimenos, Jan Wassenberg, Tomas Dzetkulic
-
Publication number: 20190356916Abstract: An image encoder includes a processor and a memory. The memory includes instructions configured to cause the processor to perform operations. In one example implementation, the operations may include determining whether a dictionary item is available for replacing a block of an image being encoded, the determining based on a hierarchical lookup mechanism, and encoding the image along with reference information of the dictionary item in response to determining that the dictionary item is available. In one more example implementation, the operations may include performing principal component analysis (PCA) on a block to generate a corresponding projected block, the block being associated with a group of images, comparing the projected block with a corresponding threshold, descending the block recursively based on the threshold until a condition is satisfied, and identifying a left over block as a cluster upon satisfying of the condition.Type: ApplicationFiled: May 21, 2018Publication date: November 21, 2019Inventors: Krzysztof Potempa, Jyrki Alakuijala, Robert Obryk
-
Publication number: 20190251444Abstract: The present disclosure provides systems and methods for modification (e.g., pruning, compression, quantization, etc.) of artificial neural networks based on estimations of the utility of network connections (also known as “edges”). In particular, the present disclosure provides novel techniques for estimating the utility of one or more edges of a neural network in a fashion that requires far less expenditure of resources than calculation of the actual utility. Based on these estimated edge utilities, a computing system can make intelligent decisions regarding network pruning, network quantization, or other modifications to a neural network. In particular, these modifications can reduce resource requirements associated with the neural network. By making these decisions with knowledge of and based on the utility of various edges, this reduction in resource requirements can be achieved with only a minimal, if any, degradation of network performance (e.g., prediction accuracy).Type: ApplicationFiled: February 13, 2019Publication date: August 15, 2019Inventors: Jyrki Alakuijala, Ruud van Asseldonk, Robert Obryk, Krzysztof Potempa
-
Publication number: 20190098302Abstract: Systems and methods are disclosed for coding images. For example, methods may include: receiving an encoded bitstream that was generated at least in part by applying a sharpening filter to an input image to obtain a sharpened image and applying a blockwise encoder to the sharpened image; decoding, using a blockwise decoder, data from an encoded bitstream to obtain a plurality of blocks of image data; combining the plurality of blocks of image data to form a blocked image; and applying a blurring filter, which is matched to the sharpening filter, to the blocked image to obtain an output image.Type: ApplicationFiled: September 28, 2017Publication date: March 28, 2019Inventors: Jyrki Alakuijala, Robert Obryk
-
Publication number: 20190026350Abstract: This technology relates to encoding data. For example, a sequence of one or more structured records as input data, at least one of the structured records including one or more field tags and associated field data. The input data may be parsed into data buffers, each data buffer corresponding to a field tag in the one or more field tags, wherein each data buffer includes the associated field data of the corresponding field tag. A control sequence specifying a sequence of the one or more fields tags may be encoded into a transition record. A state machine comprising nodes and transitions may be generated, with each node corresponding to occurrences of the one or more field tags and each transition corresponding to successive pairs of the one or more field tags. The data buffers, a representation of the state machine, and the encoded control sequence may be output.Type: ApplicationFiled: July 21, 2017Publication date: January 24, 2019Inventors: Marcin Kowalczyk, Robert Obryk, Jyrki Alakuijala, Alkis Evlogimenos, Jan Wassenberg, Tomas Dzetkulic