Pre-processing for video compression

    公开(公告)号:US10708624B1

    公开(公告)日:2020-07-07

    申请号:US16426487

    申请日:2019-05-30

    Abstract: A processing system filters blocks of a picture to minimize a size and error of the blocks prior to encoding. A pre-processing module of the processing system measures characteristics of a plurality of blocks and evaluates the effects of applying each of a plurality of filters to the blocks prior to encoding in order to predict an increase in compressibility of blocks having similar characteristics that are filtered with each filter before being encoded, with the least impact on quality. The pre-processing module trains models to predict a size and error of blocks filtered with each filter based on block characteristics. The pre-processing module uses the models to calculate a cost in terms of size and error of applying each filter to a given block having certain characteristics. The pre-processing module then applies to the block the filter that is predicted to result in the best cost.

    BLOCK TYPE PREDICTION LEVERAGING BLOCK-BASED PIXEL ACTIVITIES

    公开(公告)号:US20200177888A1

    公开(公告)日:2020-06-04

    申请号:US16207893

    申请日:2018-12-03

    Abstract: Systems, apparatuses, and methods for block type prediction leveraging block-based pixel activities are disclosed. A pre-encoder generates predictions of block types for the blocks of a video frame based on associated pixel activities. For each block, the pre-encoder calculates the difference between the pixel activities of the block of a current frame and the pixel activities of a corresponding block of a previous video frame. If the difference is less than a first threshold, the pre-encoder predicts that the block will be a skip block. If the difference is in between the first threshold and a second threshold, the pre-encoder predicts that the block will be a P-block. Otherwise, if the difference is greater than the second threshold, then the pre-encoder predicts that the block will be an I-block. The pre-encoder uses the predictions to select quantization parameter (QP) ranges for encoding the blocks of the video frame.

    Game engine application direct to video encoder rendering

    公开(公告)号:US10594901B2

    公开(公告)日:2020-03-17

    申请号:US15816765

    申请日:2017-11-17

    Abstract: Systems, apparatuses, and methods for rendering images directly to a video encoder are disclosed. A game engine includes an embedded rendering unit configured to render images in different color spaces depending on the mode. The rendering unit renders images for a first color space only to be driven directly to a display while operating in a first mode. The rendering unit renders images for a second color space only which are provided directly to a video encoder while operating in a second mode. In a third mode, the rendering unit renders images for both color spaces. In one embodiment, the first color space is RGB and the second color space is YUV. The game engine also generates a plurality of attributes associated with each rendered image and the video encoder encodes each rendered image into an encoded bitstream based on the attributes associated with the rendered image.

    Spatial block-level pixel activity extraction optimization leveraging motion vectors

    公开(公告)号:US12238295B2

    公开(公告)日:2025-02-25

    申请号:US17236910

    申请日:2021-04-21

    Abstract: Systems, apparatuses, and methods for implementing spatial block-level pixel activity extraction optimization leveraging motion vectors are disclosed. Control logic coupled to an encoder generates block-level pixel activity metrics for a new frame based on the previously calculated block-level pixel activity data from a reference frame. A cost is calculated for each block of a new frame with respect to a corresponding block of the reference frame. If the cost is less than a first threshold, then the control logic generates an estimate of a pixel activity metric for the block which is equal to a previously calculated pixel activity metric for a corresponding block of the reference frame. If the cost is greater than the first threshold but less than a second threshold, an estimate of the pixel activity metric is generated by extrapolating from the previously calculated pixel activity metric.

    Motion estimation using pixel activity metrics

    公开(公告)号:US12132923B2

    公开(公告)日:2024-10-29

    申请号:US16113212

    申请日:2018-08-27

    CPC classification number: H04N19/513

    Abstract: A processing system estimates motion between blocks of images based on differences in pixel activities between blocks. Blocks having similar pixel activities are more likely to be matches for motion estimation than are blocks having dissimilar pixel activities. Accordingly, the processing system compares pixel activity between current block of a current image and candidate blocks within a search area in the reference image, and estimates motion based on a subset of candidate blocks having a difference in pixel activity from that of the current block within a threshold.

    Benefit-based bitrate distribution for video encoding

    公开(公告)号:US11997275B2

    公开(公告)日:2024-05-28

    申请号:US16113302

    申请日:2018-08-27

    CPC classification number: H04N19/124 H04N19/154

    Abstract: A multimedia system allocates, during encoding of a multimedia stream, bits to portions of frames based on quality metrics and bit usages for different quantization parameters (QPs). An encoder of the multimedia system encodes a frame in a first pass with a first QP and in a second pass with a second QP. A comparator of the multimedia system measures and compares quality metrics, such as mean squared error, for each portion of the frame encoded with the first QP and the second QP. The comparator compares the difference between the quality metrics for each portion encoded with each QP to a threshold. If the difference in quality metrics for a portion exceeds the threshold, the comparator selects the portion for inclusion in a subset of portions to be encoded with the second QP.

    Video encode pre-analysis bit budgeting based on context and features

    公开(公告)号:US11843772B2

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

    申请号:US16706473

    申请日:2019-12-06

    Abstract: Systems, apparatuses, and methods for bit budgeting in video encode pre-analysis based on context and features are disclosed. A pre-encoder receives a video frame and evaluates each block of the frame for the presence of several contextual indicators. The contextual indicators can include memory colors, text, depth of field, and other specific objects. For each contextual indicator detected, a coefficient is generated and added with other coefficients to generate a final importance value for the block. The coefficients can be adjusted so that only a defined fraction of the picture is deemed important. The final importance value of the block is used to determine the bit budget for the block. The block bit budgets are provided to the encoder and used to influence the quantization parameters used for encoding the blocks.

    PERFORMING ASYNCHRONOUS MEMORY CLOCK CHANGES ON MULTI-DISPLAY SYSTEMS

    公开(公告)号:US20220199047A1

    公开(公告)日:2022-06-23

    申请号:US17131209

    申请日:2020-12-22

    Abstract: Systems, apparatuses, and methods for performing asynchronous memory clock changes on multiple displays are disclosed. From time to time, a memory clock frequency change is desired for a memory subsystem storing frame buffer(s) used to drive pixels to multiple displays. For example, when the real-time memory bandwidth demand differs from the memory bandwidth available with the existing memory clock frequency, a control unit tracks the vertical blanking interval (VBI) timing of a first display. Also, the control unit causes a second display to enter into panel self-refresh (PSR) mode. Once the PSR mode of the second display overlaps with a VBI of the first display, a memory clock frequency change, including memory training, is initiated. After the memory clock frequency change, the displays are driven by the frame buffer(s) in the memory subsystem at an updated frequency.

    Content adaptive quantization strength and bitrate modeling

    公开(公告)号:US11368692B2

    公开(公告)日:2022-06-21

    申请号:US16177128

    申请日:2018-10-31

    Abstract: Systems, apparatuses, and methods for generating a model for determining a quantization strength to use when encoding video frames are disclosed. A pre-encoder performs multiple encoding passes using different quantization strengths on a portion or the entirety of one or more pre-processed video frames. The pre-encoder captures the bit-size of the encoded output for each of the multiple encoding passes. Then, based on the multiple encoding passes, the pre-encoder generates a model for mapping bit-size to quantization strength for encoding video frames or portion(s) thereof. When the encoder begins the final encoding pass for one or more given video frames or any portion(s) thereof, the encoder uses the model to map a preferred bit-size to a given quantization strength. The encoder uses the given quantization strength when encoding the given video frame(s) or frame portion(s) to meet a specified bit-rate for the encoded bitstream.

    VIDEO ENCODE PRE-ANALYSIS BIT BUDGETING BASED ON CONTEXT AND FEATURES

    公开(公告)号:US20210176467A1

    公开(公告)日:2021-06-10

    申请号:US16706473

    申请日:2019-12-06

    Abstract: Systems, apparatuses, and methods for bit budgeting in video encode pre-analysis based on context and features are disclosed. A pre-encoder receives a video frame and evaluates each block of the frame for the presence of several contextual indicators. The contextual indicators can include memory colors, text, depth of field, and other specific objects. For each contextual indicator detected, a coefficient is generated and added with other coefficients to generate a final importance value for the block. The coefficients can be adjusted so that only a defined fraction of the picture is deemed important. The final importance value of the block is used to determine the bit budget for the block. The block bit budgets are provided to the encoder and used to influence the quantization parameters used for encoding the blocks.

Patent Agency Ranking