-
公开(公告)号:US10708624B1
公开(公告)日:2020-07-07
申请号:US16426487
申请日:2019-05-30
Applicant: ATI TECHNOLOGIES ULC
Inventor: Mehdi Saeedi , Boris Ivanovic , Tomasz Stolarczyk , Ihab Amer , Gabor Sines
IPC: H04N19/85 , H04N19/50 , H04N19/182 , H04N19/117 , H04N19/124 , H04N19/176
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.
-
公开(公告)号:US20200177888A1
公开(公告)日:2020-06-04
申请号:US16207893
申请日:2018-12-03
Applicant: ATI Technologies ULC
Inventor: Mehdi Saeedi , Boris Ivanovic
IPC: H04N19/176 , H04N19/159 , H04N19/124 , H04N19/196
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.
-
公开(公告)号:US10594901B2
公开(公告)日:2020-03-17
申请号:US15816765
申请日:2017-11-17
Applicant: ATI Technologies ULC
Inventor: Gabor Sines , Kyle Plumadore , Yang Liu , Ihab Amer , Boris Ivanovic
IPC: A63F13/00 , H04N1/60 , H04N19/42 , A63F13/5258 , G06T1/20 , G06T9/00 , A63F13/32 , A63F13/33 , A63F13/335 , A63F13/35
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.
-
公开(公告)号:US12238295B2
公开(公告)日:2025-02-25
申请号:US17236910
申请日:2021-04-21
Applicant: ATI Technologies ULC
Inventor: Mehdi Saeedi , Boris Ivanovic
IPC: H04N19/14 , H04N19/176 , H04N19/513
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.
-
公开(公告)号:US12132923B2
公开(公告)日:2024-10-29
申请号:US16113212
申请日:2018-08-27
Applicant: ATI TECHNOLOGIES ULC
Inventor: Mehdi Saeedi , Boris Ivanovic
IPC: H04N11/02 , H04N19/513
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.
-
公开(公告)号:US11997275B2
公开(公告)日:2024-05-28
申请号:US16113302
申请日:2018-08-27
Applicant: ATI TECHNOLOGIES ULC
Inventor: Boris Ivanovic , Mehdi Saeedi
IPC: H04N11/02 , H04N19/124 , H04N19/154
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.
-
公开(公告)号:US11843772B2
公开(公告)日:2023-12-12
申请号:US16706473
申请日:2019-12-06
Applicant: ATI Technologies ULC
Inventor: Mehdi Saeedi , Boris Ivanovic
IPC: H04N19/115 , H04N19/85 , H04N19/124 , H04N19/167 , H04N19/176
CPC classification number: H04N19/115 , H04N19/124 , H04N19/167 , H04N19/176 , H04N19/85
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.
-
公开(公告)号:US20220199047A1
公开(公告)日:2022-06-23
申请号:US17131209
申请日:2020-12-22
Applicant: ATI Technologies ULC
Inventor: Arshad Rahman , Rajeevan Panchacharamoorthy , Boris Ivanovic
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.
-
公开(公告)号:US11368692B2
公开(公告)日:2022-06-21
申请号:US16177128
申请日:2018-10-31
Applicant: ATI Technologies ULC
Inventor: Jinbo Qiu , Yang Liu , Ihab Amer , Lei Zhang , Edward A. Harold , Zhiqi Hao , Jiao Wang , Gabor Sines , Haibo Liu , Boris Ivanovic
IPC: H04N19/124 , H04N19/176 , H04N19/172
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.
-
公开(公告)号:US20210176467A1
公开(公告)日:2021-06-10
申请号:US16706473
申请日:2019-12-06
Applicant: ATI Technologies ULC
Inventor: Mehdi Saeedi , Boris Ivanovic
IPC: H04N19/115 , H04N19/85 , H04N19/176 , H04N19/167 , H04N19/124
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.
-
-
-
-
-
-
-
-
-