IMAGE COMPRESSION AND DECOMPRESSION USING CONTROLLED QUALITY LOSS

    公开(公告)号:US20230016253A1

    公开(公告)日:2023-01-19

    申请号:US17955788

    申请日:2022-09-29

    Applicant: GOOGLE LLC

    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.

    Hashing using data parallel instructions

    公开(公告)号:US11196544B2

    公开(公告)日:2021-12-07

    申请号:US16679868

    申请日:2019-11-11

    Applicant: GOOGLE LLC

    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.

    Image Compression And Decompression Using Controlled Quality Loss

    公开(公告)号:US20210084339A1

    公开(公告)日:2021-03-18

    申请号:US16970499

    申请日:2019-02-15

    Applicant: Google LLC

    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.

    ITERATIVE IDCT WITH ADAPTIVE NON-LINEAR FILTERING

    公开(公告)号:US20200162760A1

    公开(公告)日:2020-05-21

    申请号:US16299275

    申请日:2019-03-12

    Applicant: GOOGLE LLC

    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.

    CRYPTOGRAPHIC HASH GENERATED USING DATA PARALLEL INSTRUCTIONS

    公开(公告)号:US20180248687A1

    公开(公告)日:2018-08-30

    申请号:US15902820

    申请日:2018-02-22

    Applicant: GOOGLE LLC

    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.

    Random number generator
    16.
    发明授权

    公开(公告)号:US11755287B2

    公开(公告)日:2023-09-12

    申请号:US17821979

    申请日:2022-08-24

    Applicant: Google LLC

    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.

    Image compression and decompression using controlled quality loss

    公开(公告)号:US11463733B2

    公开(公告)日:2022-10-04

    申请号:US16970499

    申请日:2019-02-15

    Applicant: Google LLC

    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.

    Random number generator
    18.
    发明授权

    公开(公告)号:US11449311B2

    公开(公告)日:2022-09-20

    申请号:US16613516

    申请日:2017-11-07

    Applicant: Google LLC

    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.

    Spatially adaptive quantization-aware deblocking filter

    公开(公告)号:US11070808B2

    公开(公告)日:2021-07-20

    申请号:US16687719

    申请日:2019-11-19

    Applicant: GOOGLE LLC

    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.

    Cryptographic hash generated using data parallel instructions

    公开(公告)号:US10833847B2

    公开(公告)日:2020-11-10

    申请号:US15902820

    申请日:2018-02-22

    Applicant: GOOGLE LLC

    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.

Patent Agency Ranking