US2022159286A1PendingUtilityA1

Low-latency consumption of an encoded video bitstream

Assignee: ATI TECHNOLOGIES ULCPriority: Apr 27, 2018Filed: Jan 28, 2022Published: May 19, 2022
Est. expiryApr 27, 2038(~11.8 yrs left)· nominal 20-yr term from priority
H04N 19/426H04N 19/593H04N 19/463H04N 19/70H04N 19/152H04N 19/423H04N 19/436
56
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system comprising:
 a video encoder comprising circuitry configured to:
 encode a first portion of a given video frame to generate a first chunk of encoded data, the first portion comprising less than an entirety of the given video frame; 
 write the first chunk of encoded data to a buffer; and 
 provide an indication that the first chunk of encoded data is ready for consumption; and 
   a consumer module comprising circuitry configured to retrieve the first chunk of encoded data from the buffer prior to the video encoder completing encoding of the entirety of the given video frame, in response to detecting said indication.   
     
     
         2 . The system as recited in  claim 1 , wherein the circuitry of the video encoder is further configured to provide said indication prior to encoding the entirety of the given video frame. 
     
     
         3 . The system as recited in  claim 1 , wherein the circuitry of the video encoder is further configured to encode all chunks of the given video frame using intra-frame coding prediction. 
     
     
         4 . The system as recited in  claim 1 , wherein the circuitry of the video encoder is further configured to provide an indication as to how much data is included in the first chunk. 
     
     
         5 . The system as recited in  claim 1 , wherein a granularity at which the video encoder provides said indication. 
     
     
         6 . The system as recited in  claim 4 , wherein:
 the circuitry of the video encoder is configured to set a frame completion flag when encoding of the given video frame is complete; and   the circuitry of the consumer module is configured to retrieve a final amount of encoded data from the buffer when the final amount is less than the granularity, responsive to detecting the frame completion flag is set.   
     
     
         7 . The system as recited in  claim 6 , wherein the circuitry of the consumer module is configured to clear the frame completion flag responsive to retrieving the final amount of encoded data from the buffer. 
     
     
         8 . A method comprising:
 encoding, by circuitry of a video encoder, a first portion of a given video frame to generate a first chunk of encoded data, the first portion comprising less than an entirety of the given video frame;   writing, by the circuitry of the video encoder, the first chunk of encoded data to a buffer;   providing, by the circuitry of the video encoder, an indication that the first chunk of encoded data is ready for consumption;   retrieving, by circuitry of a consumer module, the first chunk of encoded data from the buffer prior to the video encoder completing encoding of the entirety of the given video frame, in response to detecting said indication.   
     
     
         9 . The method as recited in  claim 8 , further comprising providing, by the circuitry of the video encoder, said indication prior to encoding the entirety of the given video frame. 
     
     
         10 . The method as recited in  claim 8 , further comprising encoding all chunks of the given video frame using intra-frame coding prediction. 
     
     
         11 . The method as recited in  claim 8 , further comprising providing an indication as to how much data is included in the first chunk. 
     
     
         12 . The method as recited in  claim 11 , further comprising programming, by the circuitry of the consumer module, a granularity at which the video encoder provides said indication. 
     
     
         13 . The method as recited in  claim 11 , further comprising:
 setting, by the circuitry of the video encoder, a frame completion flag when encoding of the given video frame is complete; and   retrieving, by the circuitry of the consumer module, a final amount of encoded data from the buffer when the final amount is less than the granularity, responsive to detecting the frame completion flag is set.   
     
     
         14 . The method as recited in  claim 13 , further comprising clearing, by the circuitry of the consumer module, the frame completion flag responsive to retrieving the final amount of encoded data from the buffer. 
     
     
         15 . An apparatus comprising:
 a memory;   a buffer; and   one or more processors coupled to the memory;   wherein the apparatus is configured to:
 read given video frame data from the memory; 
 encode a first portion of the given video frame to generate a first chunk of encoded data, the first portion comprising less than an entirety of the given video frame; 
 write the first chunk of encoded data to the buffer; and 
 provide an indication that the first chunk of encoded data is ready for consumption; and 
   retrieve the first chunk of encoded data from the buffer prior to the video encoder completing encoding of the entirety of the given video frame, in response to detecting said indication.   
     
     
         16 . The apparatus as recited in  claim 15 , wherein the apparatus is further configured to provide said indication prior to encoding the entirety of the given video frame. 
     
     
         17 . The apparatus as recited in  claim 15 , wherein the apparatus is further configured to encode all chunks of the given video frame using intra-frame coding prediction. 
     
     
         18 . The apparatus as recited in  claim 17 , wherein the apparatus is further configured to provide an indication as to how much data is included in the first chunk. 
     
     
         19 . The apparatus as recited in  claim 17 , wherein the apparatus is further configured to:
 set a frame completion flag when the encoding of the given video frame is complete; and   retrieve a final amount of encoded data from the buffer when the final amount is less than the granularity, responsive to the frame completion flag being set.   
     
     
         20 . The apparatus as recited in  claim 19 , wherein the apparatus is further configured to clear the frame completion flag responsive to retrieving the final amount of encoded data from the buffer.

Join the waitlist — get patent alerts

Track US2022159286A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.