IP Library Granted Patent US 9,612,965
Granted Patent B2
US 9,612,965 · App. 10/603,428 · Granted Apr 4, 2017

Method and system for servicing streaming media

Inventor: Bo Shen (Fremont, CA)
Assignee: Hewlett-Packard Development Company, L.P.
G06F12/0875H04N19/127H04N19/132H04N19/152H04N19/40H04N19/423H04N19/587H04N19/59H04N19/61
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 9,612,965
App. No.
10/603,428
Granted
Apr 4, 2017
Kind
B2
Abstract

A method and system for servicing streaming media is disclosed. The method includes receiving the streaming media and determining an allocation of available processing and memory resources. In addition, the method includes performing a multi-stage service on the streaming media and caching an intermediate result from one of the stages of the multi-stage process. The intermediate result is selected according to the available processing and memory resources.

Claims (41)

1. A computer implemented method for servicing streaming media comprising:

receiving, at a computer system, said streaming media;

determining, at said computer system, an allocation of available processing and memory resources;

performing, at said computer system, a first multi-stage service on said streaming media;

caching, at said computer system, an intermediate result from one of the stages of said first multi-stage service, wherein intermediate result types are each associated with a different combination of an amount of memory resource and an amount of processing resource and wherein the type of said intermediate result to be cached is selected according to said available processing and memory resources that corresponds with one of said combinations; and

performing, at said computer system, a second multi-stage service on said intermediate result.

2. The method of claim 1 , wherein said first service is a computing-intensive media services.

3. The method of claim 2 , wherein said resources are selected from the group consisting of a transcoder, a first cache, and a second cache.

4. The method of claim 1 , wherein said first service comprises transcoding functions.

5. The method of claim 1 , wherein one of the stages of said second multi-stage service produces a second result, wherein said second result is a final transcoding result.

6. The method of claim 4 , wherein said transcoding functions are selected from the group consisting of frame rate reduction, bit rate reduction and resolution reduction.

7. The method of claim 1 , wherein said caching comprises caching intermediate transcoding results of an output stream of said streaming media provided a target bit rate of said output stream of said streaming media is greater than a data caching rate of said streaming media.

8. The method of claim 7 , wherein said intermediate transcoding results comprise meta data that is selected from the group consisting of pixel, block, macroblock, picture and sequence.

9. The method of claim 4 , wherein said transcoding functions are performed by resources selected from the group that consist of motion vector generator, bit rate controller and parser.

10. A non-transitory computer readable storage medium having computer readable code embodied therein for causing a computer to perform operations comprising:

receiving streaming media at said computer;

determining, with said computer, an allocation of available processing and memory resources;

performing, with said computer, a first multi-stage service on said streaming media;

caching, with said computer, an intermediate result from one of the stages of said first multi-stage service, wherein intermediate result types are each associated with a different combination of an amount of memory resource and an amount of processing resource and wherein the type of said intermediate result to be cached is selected according to said available processing and memory resources that corresponds with one of said combinations; and

performing, with said computer, a second multi-stage service on said intermediate result.

11. The non-transitory computer readable storage medium of claim 10 , wherein said first service is a computing intensive service.

12. The non-transitory computer readable storage medium of claim 11 , wherein said resources are selected from the group consisting of a transcoder, a first cache, and a second cache.

13. The non-transitory computer readable storage medium of claim 10 , wherein said first service comprises transcoding functions.

14. The non-transitory computer readable storage medium of claim 10 , wherein one of the stages of said second multi-stage service produces a second result, wherein said second result is a final transcoding result.

15. The non-transitory computer readable storage medium of claim 13 , wherein said transcoding functions are selected from the group consisting of frame rate reduction, bit rate reduction and resolution reduction.

16. The non-transitory computer readable storage medium of claim 10 , wherein said caching comprises

caching intermediate transcoding results of an output stream of said streaming media provided a target bit rate of said output stream of said streaming media is greater than a data caching rate of said streaming media.

17. The non-transitory computer readable storage medium of claim 16 , wherein said intermediate transcoding results comprise meta data that is selected from the group consisting of pixel, block, macroblock, picture and sequence.

18. The non-transitory computer readable storage medium of claim 13 , wherein said transcoding functions are performed by resources selected from the group that consist of motion vector generator, bit rate controller and parser.

19. A device for servicing streaming data comprising:

a processor for determining available processing and memory resources;

memory for caching an intermediate transcoding result from a stage of a first multi-stage data service, wherein intermediate result types are each associated with a different combination of an amount of memory resource and an amount of processing resource and wherein the type of said intermediate result to be cached is selected according to said available processing and memory resources that corresponds with one of said combinations; and

wherein said processor is for performing a second multi-stage service on said intermediate result.

20. The device of claim 19 , wherein said first service is a computing intensive service.

21. The device of claim 20 , wherein said resources are selected from the group consisting of a transcoder, a first cache, and a second cache.

22. The device of claim 19 , wherein said intermediate transcoding result is selected from any of the respective stages of said first multi-stage data service.

23. The device of claim 19 , wherein said intermediate result is selected to optimize the balance of processing and memory resources used in providing said first multi-stage data service.

24. The device of claim 19 , wherein said device performs transcoding functions that are selected from the group consisting of frame rate reduction, bit rate reduction and resolution reduction.

25. The device of claim 19 , wherein said caching comprises caching intermediate transcoding results of an output stream of said streaming data provided a target bit rate of said output stream of said streaming data is greater than a data caching rate of said streaming data.

26. The device of claim 25 , wherein said intermediate transcoding results comprise meta data that is selected from the group consisting of pixel, block, macroblock, picture and sequence.

27. The device of claim 24 , wherein said transcoding functions are performed by resources selected from the group that consist of motion vector generator, bit rate controller and parser.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2026
From: VIDEOLABS, INC.
To: VL COLLECTIVE IP LLC
Reel/Frame 075777/0264 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2025
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: VIDEOLABS, INC.
Reel/Frame 072334/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2003
From: SHEN, BO
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 014058/0088 →
Continuity (1)
Related Publication 20040267954A1 · Dec 30, 2004