IP Library › Granted Patent US 8,990,351
Granted Patent B2
US 8,990,351 · App. 13/090,959 · Granted Mar 24, 2015

Real-time processing capability based quality adaptation

Inventor: Tommy Isaksson (San Francisco, CA)
Assignee: MobiTV, Inc.
H04L47/30H04L29/06476H04L47/2416H04L47/26H04L47/38H04N21/25808H04N21/25866H04N21/2662H04N21/44004H04N21/4424H04N21/6373H04N21/85406
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,990,351
App. No.
13/090,959
Granted
Mar 24, 2015
Kind
B2
Abstract

The quality of a media stream transmitted to a client device is dynamically adapted based on real-time availability of resources on the client device. Central processing unit resources, memory availability, buffer usage, graphics processing unit usage, etc., are continuously monitored to evaluate the ability of a device to handle media streams of particular quality levels. When it is determined that resources at a client device temporarily can not handle a high quality media stream, a lower quality stream is selected and provided to the client device without having to establish a new session.

Claims (28)

1. A method, comprising:

sending a first request to a content server for a media stream;

receiving a first plurality of packets associated with a first quality level media stream from the content server;

beginning playback of the first quality level media stream at a first client device;

dynamically monitoring hardware resource usage at the first client device;

determining that the hardware resource usage at the first client device exceeds a threshold;

sending a signal to the content server to reduce the quality of the first quality level media stream;

sending a subsequent signal to the content server to increase the quality of the media stream after determining that sufficient processing resources, memory resource, and decoder resources have been available at the first client device for a predetermined period of time and sufficient network resources are currently available, wherein processor usage at the first client device is reported periodically to the content server;

wherein resource usage at the first client device exceeds the threshold when decoder delay at the first client device exceeds a decoder delay threshold, wherein decoder delay results when a packet received by the first client device cannot yet be processed because decoder hardware is performing other tasks.

2. The method of claim 1 , wherein resource usage at the first client device exceeds the threshold when processor usage at the first client device exceeds a processor usage threshold.

3. The method of claim 1 , wherein resource usage at the first client device exceeds the threshold when memory usage at the first client device exceeds a memory usage threshold.

4. The method of claim 1 , wherein resource usage at the first client device exceeds the threshold when decoder frame drops at the first client device exceeds a decoder frame drop threshold.

5. The method of claim 1 , wherein the media stream is a fragmented MPEG-4 media stream.

6. The method of claim 1 , wherein the content server selects the first quality level media stream based on known characteristics of the first client device.

7. The method of claim 1 , wherein the content server selects the first quality level media stream based on a subscription level.

8. The method of claim 1 , wherein the client device receives a second quality media stream from the content server in a same session as the first quality media stream.

9. A system, comprising:

an interface configured to send a first request to a content server for a media stream and receive a first plurality of packets associated with a first quality level media stream from the content server;

a processor configured to begin playback of the first quality level media stream at a first client device and dynamically monitor hardware resource usage at the first client device;

wherein a signal is sent to the content server to reduce the quality of the first quality level media stream upon determining that the hardware resource usage at the first client device exceeds a threshold, and wherein a subsequent signal is sent to the content server to increase the quality of the media stream after determining that sufficient processing resources, memory resource, and decoder resources have been available at the first client device for a predetermined period of time and sufficient network resources are currently available, wherein processor usage at the first client device is reported periodically to the content server;

wherein resource usage at the first client device exceeds the threshold when decoder delay at the first client device exceeds a decoder delay threshold, wherein decoder delay results when a packet received by the first client device cannot yet be processed because decoder hardware is performing other tasks.

10. The system of claim 9 , wherein resource usage at the first client device exceeds the threshold when processor usage at the first client device exceeds a processor usage threshold.

11. The system of claim 9 , wherein resource usage at the first client device exceeds the threshold when memory usage at the first client device exceeds a memory usage threshold.

12. The system of claim 9 , wherein resource usage at the first client device exceeds the threshold when decoder frame drops at the first client device exceeds a decoder frame drop threshold.

13. The system of claim 9 , wherein the media stream is a fragmented MPEG-4 media stream.

14. The system of claim 9 , wherein the content server selects the first quality level media stream based on known characteristics of the first client device.

15. The system of claim 9 , wherein the content server selects the first quality level media stream based on a subscription level.

16. The system of claim 9 , wherein the client device receives a second quality media stream from the content server in a same session as the first quality media stream.

Assignments (8)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075304/0001 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0250 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0325 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2021
From: MOBITV, INC.; MOBITV SERVICES, INC.
To: TIVO CORPORATION
Reel/Frame 056444/0076 →
SECURITY INTEREST Recorded Aug 10, 2018
From: MOBITV, INC.
To: ALLY COMMERICAL FINANCE LLC
Reel/Frame 046761/0718 →
SECURITY INTEREST Recorded Feb 15, 2017
From: MOBITV, INC.
To: ALLY BANK
Reel/Frame 041718/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2011
From: ISAKSSON, TOMMY
To: MOBITV, INC.
Reel/Frame 026158/0836 →
Continuity (1)
Related Publication 20120271920A1 · Oct 25, 2012