-
公开(公告)号:US20230016253A1
公开(公告)日:2023-01-19
申请号:US17955788
申请日:2022-09-29
Applicant: GOOGLE LLC
Inventor: Jyrki Alakuijala , Robert Obryk , Evgenii Kliuchnikov , Zoltan Szabadka , Jan Wassenberg , Minttu Alakuijala , Lode Vandevenne
IPC: H04N19/65 , H04N19/124 , H04N19/18 , H04N19/184 , H04N19/85
Abstract: 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.
-
公开(公告)号:US11196544B2
公开(公告)日:2021-12-07
申请号:US16679868
申请日:2019-11-11
Applicant: GOOGLE LLC
Inventor: Jyrki Antero Alakuijala , Jan Wassenberg
Abstract: Systems and methods generate reasonably secure hash values at relatively few CPU cycles per byte. An example method includes, for each of a plurality of packets, injecting the packet into an internal state that represents an internal hash sum, mixing the internal state using multiplication, and shuffling the result of the multiplication so that bytes with highest quality are moved to locations that will propagate most widely in a next multiplication operation. Each of the plurality of packets include data from an input to be hashed. In some implementation, a last packet for the input is padded. The method may also include further mixing the internal state using multiplication after processing the plurality of packets and providing, to a requesting process, a portion of the final internal state as a hash of the input.
-
公开(公告)号:US20210084339A1
公开(公告)日:2021-03-18
申请号:US16970499
申请日:2019-02-15
Applicant: Google LLC
Inventor: Jyrki Alakuijala , Robert Obryk , Evgenii Kliuchnikov , Zoltan Szabadka , Jan Wassenberg , Minttu Alakuijala , Lode Vandevenne
IPC: H04N19/65 , H04N19/124 , H04N19/18 , H04N19/184 , H04N19/85
Abstract: 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.
-
公开(公告)号:US20200162760A1
公开(公告)日:2020-05-21
申请号:US16299275
申请日:2019-03-12
Applicant: GOOGLE LLC
Inventor: Jan Wassenberg , Jyrki Alakuijala , Sami Boukortt
IPC: H04N19/86 , H04N19/124 , H04N19/176 , H04N19/117 , H04N19/14
Abstract: A method for decoding an image block includes receiving a quantized transform block; generating a decoded block from the quantized transform block; applying an edge-preserving filter to the decoded block, to obtain an edge-filtered decoded block; obtaining a transformed edge-preserved block using a transform type and quantization data to the edge-filtered decoded block; clamping a value of the transformed edge-preserved block to a corresponding value of the quantized transform block to obtain a smoothed transform block; and inverse transforming the smoothed transform block to obtain an edge-preserved smoothed block. The applying an edge-preserving filter to the decoded block includes determining respective patch-based distances between a pixel of the decoded block and neighboring pixels; determining respective weights corresponding to the respective patch-based distances; and filtering the pixel using the respective weights and the neighboring pixels.
-
公开(公告)号:US20180248687A1
公开(公告)日:2018-08-30
申请号:US15902820
申请日:2018-02-22
Applicant: GOOGLE LLC
Inventor: Jan Wassenberg , Jyrki Antero Alakuijala
CPC classification number: H04L9/0643 , G06F9/3887 , H04L9/3242 , H04L9/34
Abstract: A fast cryptographic hash of an input file using multiplication and permutation operations in a parallel processing environment. An example method includes updating an internal state for each of a plurality of packets, the packets being read from an input file. Updating the state for a packet can include injecting the packet into an internal state, mixing the bits of the internal state using multiplication, and shuffling the result of the multiplication so that bits with highest quality are permuted to locations that will propagate most widely in a next multiplication operation. The method also includes performing a reduction on the internal state and repeating the update of the internal state, the reduction, and the injecting a second time. The method may further include finalizing the internal state and storing a portion of the final internal state as a cryptographic hash of the input file.
-
公开(公告)号:US11755287B2
公开(公告)日:2023-09-12
申请号:US17821979
申请日:2022-08-24
Applicant: Google LLC
Inventor: Jan Wassenberg , Robert Obryk , Jyrki Alakuijala , Emmanuel Mogenet
CPC classification number: G06F7/582 , H04L9/0625 , H04L9/0631 , H04L9/0869
Abstract: 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.
-
公开(公告)号:US11463733B2
公开(公告)日:2022-10-04
申请号:US16970499
申请日:2019-02-15
Applicant: Google LLC
Inventor: Jyrki Alakuijala , Robert Obryk , Evgenii Kliuchnikov , Zoltan Szabadka , Jan Wassenberg , Minttu Alakuijala , Lode Vandevenne
IPC: H04N19/65 , H04N19/124 , H04N19/18 , H04N19/184 , H04N19/85
Abstract: 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.
-
公开(公告)号:US11449311B2
公开(公告)日:2022-09-20
申请号:US16613516
申请日:2017-11-07
Applicant: Google LLC
Inventor: Jan Wassenberg , Robert Obryk , Jyrki Alakuijala , Emmanuel Mogenet
Abstract: 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.
-
公开(公告)号:US11070808B2
公开(公告)日:2021-07-20
申请号:US16687719
申请日:2019-11-19
Applicant: GOOGLE LLC
Inventor: Jyrki Alakuijala , Jan Wassenberg
IPC: H04N19/124 , H04N19/172 , H04N19/44 , H04N19/70 , H04N19/80 , H04N19/176 , H04N19/186
Abstract: A spatially adaptive quantization-aware deblocking filter is used for encoding or decoding video or image frames. The deblocking filter receives a reconstructed frame produced based on dequantized and inverse transformed coefficients of a video frame or an image frame. The reconstructed frame is filtered according to adaptive quantization field data for the video or image frame. The adaptive quantization field data represents weights applied to quantization values used at different areas of the video or image frame. A number of blocking artifacts remaining within the resulting filtered frame is determined. The adaptive quantization field data is then adjusted based on that number of blocking artifacts. The filtered frame is then filtered according to the adjusted adaptive quantization field data. The resulting re-filtered frame is then output to an output source, such as for transmission, display, storage, or further processing.
-
公开(公告)号:US10833847B2
公开(公告)日:2020-11-10
申请号:US15902820
申请日:2018-02-22
Applicant: GOOGLE LLC
Inventor: Jan Wassenberg , Jyrki Antero Alakuijala
Abstract: A fast cryptographic hash of an input file using multiplication and permutation operations in a parallel processing environment. An example method includes updating an internal state for each of a plurality of packets, the packets being read from an input file. Updating the state for a packet can include injecting the packet into an internal state, mixing the bits of the internal state using multiplication, and shuffling the result of the multiplication so that bits with highest quality are permuted to locations that will propagate most widely in a next multiplication operation. The method also includes performing a reduction on the internal state and repeating the update of the internal state, the reduction, and the injecting a second time. The method may further include finalizing the internal state and storing a portion of the final internal state as a cryptographic hash of the input file.
-
-
-
-
-
-
-
-
-