IP Library › Granted Patent US 10,263,875
Granted Patent B2
US 10,263,875 · App. 14/635,877 · Granted Apr 16, 2019

Real-time processing capability based quality adaptation

Inventor: Tommy Isaksson (San Francisco, CA)
Assignee: MobiTV, Inc.
H04L43/16H04L47/2416H04L47/26H04L47/30H04L47/38H04N21/2393H04N21/23439H04N21/234318H04N21/2402H04N21/25808H04N21/25825H04N21/25833H04N21/25866H04N21/2662H04N21/437H04N21/44004H04N21/4424H04N21/6125H04N21/6373H04N21/6377H04N21/85406H04L29/06476
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 10,263,875
App. No.
14/635,877
Filed
Mar 2, 2015
Granted
Apr 16, 2019
Kind
B2
Art Unit
2453
USPC
709/219
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 (32)

1. A method, comprising:

sending a first request to a content server for receiving a media stream at a first quality level;

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

dynamically monitoring, by the client device, hardware resource usage at the client device;

determining that the hardware resource usage at the client device is insufficient for allowing playback of the media stream at the first quality level;

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

sending a subsequent signal to the content server to increase the quality of the media stream from the second quality level back to the first quality level after determining that hardware resource usage at the client device has become sufficient for allowing playback of the media stream at the first quality level;

wherein determining that the hardware resource usage at the client device is insufficient for allowing playback of the media stream at the first quality level includes determining whether the hardware resource usage at the client device exceeds a threshold, wherein resource usage at the client device exceeds the threshold when decoder frame drops at the client device exceeds a decoder frame drop threshold.

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

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

4. The method of claim 1 , wherein the client device communicates with the content server via HTTP protocol.

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 first quality level of the media stream is requested based on known characteristics of the client device.

7. The method of claim 1 , wherein the first quality level of the media stream is requested based on a subscription level.

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

9. A system, comprising:

a processor; and

memory, wherein the memory stores instructions for:

sending a first request to a content server for receiving a media stream at a first quality level;

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

dynamically monitoring, by the client device, hardware resource usage at the client device;

determining that the hardware resource usage at the client device is insufficient for allowing playback of the media stream at the first quality level;

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

sending a subsequent signal to the content server to increase the quality of the media stream from the second quality level back to the first quality level after determining that hardware resource usage at the client device has become sufficient for allowing playback of the media stream at the first quality level;

wherein determining that the hardware resource usage at the client device is insufficient for allowing playback of the media stream at the first quality level includes determining whether the hardware resource usage at the client device exceeds a threshold, wherein resource usage at the client device exceeds the threshold when decoder frame drops at the client device exceeds a decoder frame drop threshold.

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

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

12. The system of claim 9 , wherein the client device communicates with the content server via HTTP protocol.

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 first quality level of the media stream is requested based on known characteristics of the client device.

15. The system of claim 9 , wherein the first quality level of the media stream is requested based on a subscription level.

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

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 Jul 27, 2016
From: ISAKSSON, TOMMY
To: MOBITV, INC.
Reel/Frame 039274/0986 →
Continuity (2)
Continuation 13090959 · Apr 20, 2011
Related Publication 20150172161A1 · Jun 18, 2015
Cited By (1)
US 12,707,120