-
公开(公告)号:US11272185B2
公开(公告)日:2022-03-08
申请号:US16176699
申请日:2018-10-31
Applicant: ATI Technologies ULC
Inventor: Yang Liu , Haibo Liu , Ihab M. A. Amer , Crystal Yeong-Pian Sau , Jinbo Qiu , Boris Ivanovic , Gabor Sines , Wei Gao
IPC: H04N19/14 , H04N19/124 , H04N19/176
Abstract: A system and method for dynamically changing encode quality at a block level based on runtime pre-encoding analysis of content in a video stream. A video encoder continuously analyzes the content during runtime, and collects statistics and/or characteristics of the content before encoding it. This classifies the block among pre-defined categories of content, where every category has its own compression parameters.
-
公开(公告)号:US10523947B2
公开(公告)日:2019-12-31
申请号:US15721078
申请日:2017-09-29
Applicant: ATI Technologies ULC
Inventor: Ihab Amer , Boris Ivanovic , Gabor Sines , Yang Liu , Ho Hin Lau , Haibo Liu , Kyle Plumadore
IPC: H04N7/12 , H04N19/137 , H04N19/115 , H04N19/132 , H04N19/177 , A63F13/335
Abstract: Systems, apparatuses, and methods for encoding bitstreams of uniquely rendered video frames with variable frame rates are disclosed. A rendering unit and an encoder in a server are coupled via a network to a client with a decoder. The rendering unit dynamically adjusts the frame rate of uniquely rendered frames. Depending on the operating mode, the rendering unit conveys a constant frame rate to the encoder by repeating some frames or the rendering unit conveys a variable frame rate to the encoder by conveying only uniquely rendered frames to the encoder. Depending on the operating mode, the encoder conveys a constant frame rate bitstream to the decoder by encoding repeated frames as skip frames, or the encoder conveys a variable frame rate bitstream to the decoder by dropping repeated frames from the bitstream.
-
公开(公告)号:US20190335189A1
公开(公告)日:2019-10-31
申请号:US15965281
申请日:2018-04-27
Applicant: ATI Technologies ULC
Inventor: Ahmed M. Abdelkhalek , Edward A. Harold , Andy Sung , Stephen Ho , Lei Zhang , Ihab Amer , Gabor Sines , Zhiqi Hao , Yang Liu , Baochun Li , Kai Sun
IPC: H04N19/463 , H04N19/152 , H04N19/593
Abstract: Systems, apparatuses, and methods for reducing latency when consuming an encoded video bitstream in real-time are disclosed. A video encoder encodes a video bitstream and writes chunks of the encoded bitstream to a bitstream buffer. Prior to the encoder completing the encoding of an entire frame, or an entire slice of a frame, a consumer module consumes encoded chunks of the bitstream. In one implementation, to enable pipelining of the consumption with the encoding, the encoder updates a buffer write pointer with an indication of the amount of data that has been written to the bitstream buffer. The consumer module retrieves encoded data from the bitstream buffer up to the location indicated by the buffer write pointer. In this way, the consumer module is able to access and consume encoded video data prior to the encoder finishing encoding an entire frame or an entire slice of the frame.
-
公开(公告)号:US20220159286A1
公开(公告)日:2022-05-19
申请号:US17587497
申请日:2022-01-28
Applicant: ATI Technologies ULC
Inventor: Ahmed M. Abdelkhalek , Edward A. Harold , Andy Sung , Stephen Ho , Lei Zhang , Ihab Amer , Gabor Sines , Zhiqi Hao , Yang Liu , Baochun Li , Kai Sun
IPC: H04N19/463 , H04N19/593 , H04N19/152
Abstract: Systems, apparatuses, and methods for reducing latency when consuming an encoded video bitstream in real-time are disclosed. A video encoder encodes a video bitstream and writes chunks of the encoded bitstream to a bitstream buffer. Prior to the encoder completing the encoding of an entire frame, or an entire slice of a frame, a consumer module consumes encoded chunks of the bitstream. In one implementation, to enable pipelining of the consumption with the encoding, the encoder updates a buffer write pointer with an indication of the amount of data that has been written to the bitstream buffer. The consumer module retrieves encoded data from the bitstream buffer up to the location indicated by the buffer write pointer. In this way, the consumer module is able to access and consume encoded video data prior to the encoder finishing encoding an entire frame or an entire slice of the frame.
-
公开(公告)号:US11252429B2
公开(公告)日:2022-02-15
申请号:US15965281
申请日:2018-04-27
Applicant: ATI Technologies ULC
Inventor: Ahmed M. Abdelkhalek , Edward A. Harold , Andy Sung , Stephen Ho , Lei Zhang , Ihab Amer , Gabor Sines , Zhiqi Hao , Yang Liu , Baochun Li , Kai Sun
IPC: H04N19/463 , H04N19/593 , H04N19/152
Abstract: Systems, apparatuses, and methods for reducing latency when consuming an encoded video bitstream in real-time are disclosed. A video encoder encodes a video bitstream and writes chunks of the encoded bitstream to a bitstream buffer. Prior to the encoder completing the encoding of an entire frame, or an entire slice of a frame, a consumer module consumes encoded chunks of the bitstream. In one implementation, to enable pipelining of the consumption with the encoding, the encoder updates a buffer write pointer with an indication of the amount of data that has been written to the bitstream buffer. The consumer module retrieves encoded data from the bitstream buffer up to the location indicated by the buffer write pointer. In this way, the consumer module is able to access and consume encoded video data prior to the encoder finishing encoding an entire frame or an entire slice of the frame.
-
公开(公告)号:US11120289B2
公开(公告)日:2021-09-14
申请号:US16588810
申请日:2019-09-30
Applicant: ATI Technologies ULC
Inventor: Feng Pan , Wei Gao , Yang Liu , Crystal Yeong-Pian Sau , Haibo Liu , Edward A. Harold , Ying Luo , Ihab Amer , Gabor Sines
IPC: G06K9/46 , G06T5/40 , H04N19/423 , H04N19/186 , G06K9/62
Abstract: Systems, apparatuses, and methods for performing parallel histogram calculation with application to palette table derivation are disclosed. An encoder calculates a first histogram for a first portion of pixel component value bits of a block of pixels. Then, the encoder selects a first number of the highest pixel count bins from the first histogram. Also, the encoder calculates a second histogram for a second portion of pixel component value bits of the block. The encoder selects a second number of the highest pixel count bins from the second histogram. A third histogram is calculated from the concatenation of bits assigned to the first and second number of bins, and the highest pixel count bins are selected from the third histogram. A palette table is derived based on these highest pixel count bins selected from the third histogram, and the block of pixels is encoded using the palette table.
-
公开(公告)号: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.
-
公开(公告)号:US20180063549A1
公开(公告)日:2018-03-01
申请号:US15246503
申请日:2016-08-24
Applicant: ATI Technologies ULC
Inventor: Ihab Amer , Gabor Sines , Jinbo Qiu , Yang Liu , Haibo Liu , Eren Gurses
IPC: H04N19/59 , H04N19/172 , H04N19/126 , H04N19/51 , H04N19/30
CPC classification number: H04N19/59 , H04N19/132 , H04N19/137 , H04N19/172
Abstract: Described is a system and method for dynamically changing a resolution level at a frame level based on runtime pre-encoding analysis of content in a video stream. A video encoder continuously analyzes the content during runtime, and collects statistics and/or characteristics of the content before encoding it. This classifies the frame among pre-defined categories of content, where every category has its own bitrate/resolution relation. The runtime encoding resolution is dynamically dependent on the target bitrate and the collected statistics and/or characteristics of the content. This achieves a high quality encode for sequences that are composed of scenes with various content complexity levels for different frames in the video streams.
-
公开(公告)号:US12132917B2
公开(公告)日:2024-10-29
申请号:US17029730
申请日:2020-09-23
Applicant: ATI TECHNOLOGIES ULC
Inventor: Wei Gao , Yang Liu , Ihab Amer , Ying Luo , Shu-Hsien Wu , Edward Harold , Feng Pan , Crystal Sau , Gabor Sines
IPC: H04N19/119 , H04N19/136 , H04N19/147 , H04N19/176 , H04N19/186 , H04N19/30 , H04N19/96
CPC classification number: H04N19/186 , H04N19/119 , H04N19/136 , H04N19/147 , H04N19/176 , H04N19/30 , H04N19/96
Abstract: An encoder encodes an image portion by recursively partitioning the portion into a partitioning hierarchy of levels. The top level has a single block representing the entire portion and each lower level has four smaller blocks representing a corresponding larger block at a higher level. A palette table is generated for each bottom-level block based on the pixels of the associated block. For each successively higher level, the encoder generates a palette table for each current-level block by selecting palette colors based on the palette colors from the four palette tables for the associated four blocks at the next-lowest level. A color index map is then generated based on a final palette table selected from the palette tables generated for the partitioning hierarchy. A representation of the portion is then encoded using the final palette table and the color index map to generate a corresponding segment of an encoded bitstream.
-
公开(公告)号:US20210397874A1
公开(公告)日:2021-12-23
申请号:US17465712
申请日:2021-09-02
Applicant: ATI Technologies ULC
Inventor: Feng Pan , Wei Gao , Yang Liu , Crystal Yeong-Pian Sau , Haibo Liu , Edward A. Harold , Ying Luo , Ihab Amer , Gabor Sines
IPC: G06K9/46 , G06T5/40 , H04N19/423 , H04N19/186 , G06K9/62
Abstract: Systems, apparatuses, and methods for performing parallel histogram calculation with application to palette table derivation are disclosed. An encoder calculates a first histogram for a first portion of pixel component value bits of a block of pixels. Then, the encoder selects a first number of the highest pixel count bins from the first histogram. Also, the encoder calculates a second histogram for a second portion of pixel component value bits of the block. The encoder selects a second number of the highest pixel count bins from the second histogram. A third histogram is calculated from the concatenation of bits assigned to the first and second number of bins, and the highest pixel count bins are selected from the third histogram. A palette table is derived based on these highest pixel count bins selected from the third histogram, and the block of pixels is encoded using the palette table.
-
-
-
-
-
-
-
-
-