US2020266839A1PendingUtilityA1

Media Controller with Buffer Interface

Assignee: IMAGINATION TECH LTDPriority: May 2, 2014Filed: May 5, 2020Published: Aug 20, 2020
Est. expiryMay 2, 2034(~7.8 yrs left)· nominal 20-yr term from priority
H04L 47/283H04L 65/764H04L 65/65H04L 65/762H04L 43/0829H04L 47/34H04L 47/26H04M 7/0084H03M 13/6505H03M 13/353G06F 11/10H04L 43/106H04N 21/6437H04L 47/626H04L 43/087H04L 1/16H03M 13/37H04L 65/604H04L 65/602H04L 65/608H04L 1/004H04L 1/0045
66
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A data processing device comprising: a jitter buffer for receiving data packets; a media decoder configured to decode the data packets so as to form a stream of media frames, each frame comprising a plurality of samples; a media consumer having an input buffer for receiving the stream of media frames and being configured to play media frames from the input buffer according to a first frame rate; a buffer interface configured to monitor the input buffer so as to detect when the number of samples at the input buffer of the media consumer falls below a predetermined level and, in response, generate a play-out request; and a media controller configured to, responsive to each of the generated play-out requests, play-out one or more data packets to the media decoder so as to cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A data processing device comprising:
 a media consumer having an input buffer for receiving a stream of media frames and being configured to play media frames from the input buffer according to a first frame rate;   a buffer interface configured to monitor the input buffer so as to detect when a content of the input buffer of the media consumer falls below a predetermined level and, in response, generate a play-out request; and   a media controller configured to, in response to a play-out request cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.   
     
     
         2 . The data processing device as claimed in  claim 1 , wherein the content of the input buffer is an amount of media data. 
     
     
         3 . The data processing device as claimed in  claim 2 , wherein the amount of media data is a number of samples at the input buffer or a number of frames at the input buffer. 
     
     
         4 . The data processing device as claimed in  claim 1 , wherein the buffer interface is supported at the media consumer. 
     
     
         5 . The data processing device as claimed in  claim 1 , wherein the buffer interface is supported at the media controller. 
     
     
         6 . The data processing device as claimed in  claim 1 , the buffer interface being configured to periodically check the content of the input buffer at a rate commensurate with the first frame rate. 
     
     
         7 . The data processing device as claimed in  claim 1 , wherein the data processing device further comprises:
 a jitter buffer configured to receive data packets;   a media decoder configured to decode data packets from the jitter buffer so as to form a stream of media frames, each media frame comprising a plurality of samples.   
     
     
         8 . The data processing device as claimed in  claim 7 , wherein the media controller is configured to, in response to a play-out request, transfer one or more data packets from the jitter buffer to the media decoder so as to cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate. 
     
     
         9 . The data processing device as claimed in  claim 8 , further comprising a receive queue for receiving data packets from a network, the media controller being configured to periodically store in the jitter buffer all of the data packets available at the receive queue whose timestamps are greater than the timestamp of the last data packet transferred by the media controller. 
     
     
         10 . The data processing device as claimed in  claim 7 , wherein the media controller is further configured to maintain a histogram representing a distribution of time periods between timestamps of successive data packets stored at the jitter buffer, the histogram indicating for each of a predetermined range of time periods a measure of the number of successive data packets separated by that time period. 
     
     
         11 . The data processing device as claimed in  claim 10 , wherein the media controller is further configured to update the histogram on storing each of the data packets. 
     
     
         12 . The data processing device as claimed in  claim 7 , wherein the media controller is further configured to estimate a minimum size for the jitter buffer by identifying a lowest time period between the timestamps of successive data packets for which a measure of a number of successive data packets separated by that time period is zero. 
     
     
         13 . The data processing device as claimed in  claim 12 , wherein the media controller is further configured to cause the size of the jitter buffer to adapt so as to be at least the estimated minimum size. 
     
     
         14 . The data processing device as claimed in  claim 8 , wherein the media controller is further configured to, on storing a data packet whose timestamp precedes the timestamp of the latest transferred data packet by less than the size of the data packet, store only that part of the data packet representing media samples subsequent to the timestamp of the latest transferred data packet, and discarding that part of the data packet representing media samples preceding the timestamp of the latest transferred data packet. 
     
     
         15 . The data processing device as claimed in  claim 7 , further comprising a first timer, wherein the media controller is further configured to, on receiving the play-out request, calculate an overflow size of the jitter buffer and to:
 if the overflow size of the jitter buffer exceeds a first threshold, increment the first timer by a measure of the number of samples requested in the play-out request; and   otherwise, reset the first timer to zero.   
     
     
         16 . The data processing device as claimed in  claim 15 , wherein the media controller is further configured to, when the first timer exceeds a second threshold, generate one or more data packets so as to cause the decoder to perform compression by an amount selected in dependence on the overflow size. 
     
     
         17 . The data processing device as claimed in  claim 15 , further comprising a second timer, wherein the media controller is further configured to, when the first timer exceeds a third threshold:
 if the overflow size of the jitter buffer exceeds the first threshold, increment the second timer by a measure of the number of samples requested in the play-out request; and   otherwise, not increment the second timer.   
     
     
         18 . The data processing device as claimed in  claim 17 , wherein the media controller is further configured to, when the second timer exceeds a fourth threshold, reset the second timer to zero and generate one or more data packets so as to cause the decoder to perform compression by an amount selected in dependence on the overflow size. 
     
     
         19 . The data processing device as claimed in  claim 15 , wherein the media controller is further configured to estimate a minimum size for the jitter buffer by identifying a lowest time period between the timestamps of successive data packets for which a measure of a number of successive data packets separated by that time period is zero and wherein the overflow size is the difference between a measure of the size of the jitter buffer on receiving the play-out request and the estimated minimum size of the jitter buffer. 
     
     
         20 . A method for controlling a stream of media frames by a media consumer, the media consumer having an input buffer for receiving the stream of media frames and being configured to play the media frames according to a first frame rate, the method comprising:
 generating, by a buffer interface, a play-out request when a content of the input buffer of the media consumer falls below a predetermined level;   responsive to the play-out request, causing media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.

Join the waitlist — get patent alerts

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

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