IP Library Patent Application 11710762
Patent Application
App. No. 11/710,762

Selection of transrate and transcode processes by host computer

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 None
App. No.
11/710,762
Abstract

A host computer manages and processes multiple requests for transmission of media content to other devices within a network. Hardware or software-driven media processing units format media content for streaming to the network devices. A policy engine manages processing constraints of the media processing units to determine the best combination of transrate/transcode processes to provide the highest quality transmissions without overloading the processing capacity of the host computer. The policy engine also considers available network bandwidth when determining transformation instructions for the media processing units. The policy engine identifies target formats, bit rates, and image resolutions for output for each media stream or for storage for later transmission and instructs the media processing units to transrate and/or transcode the media content appropriately to meet the demand.

Claims (64)

1 . A method in a host computer for developing transformation processing operations to optimize media content playback across multiple playback devices connected with the host computer in a network, the method comprising

receiving requests from the multiple devices for concurrent playback of media content at a first quality level;

determining a set of independent transformations of the media content that fulfill the requests at the first quality level;

if transformations are required, determining whether processing resources available on the host computer are sufficient to perform the independent transformations; and

if the processing resources are insufficient to perform the independent transformations, determining a set of dependent transformations that fulfill the requests at a second quality level within limits of the processing resources of the host computer.

2 . The method of claim 1 , wherein if the processing resources available on the host computer are sufficient to perform the independent transformations, the method further comprises performing the independent transformations.

3 . The method of claim 1 , further comprising performing the dependent transformations.

4 . The method of claim 2 further comprising

monitoring available bandwidth of the network;

determining whether a requested set of media streams resulting from the independent transformations is transmissible within the available bandwidth of the network; and

if the requested set of media streams is not transmissible within the available bandwidth of the network, determining the set of dependent transformations such that a modified set of media streams resulting from the set of dependent transformations is transmissible within the available bandwidth of the network.

5 . The method of claim 3 further comprising

monitoring available bandwidth of the network;

determining whether a modified set of media streams resulting from the dependent transformations is transmissible within the available bandwidth of the network; and

if the modified set of media streams is not transmissible within the available bandwidth of the network, determining a revised set of dependent transformations such that a revised set of media streams resulting from the revised set of dependent transformations is transmissible within the available bandwidth of the network.

6 . The method of claim 1 further comprising

determining capabilities of the playback devices for processing a media stream;

determining whether the capability of each of the playback devices is sufficient to process a requested media stream resulting from the independent transformations; and

if not, determining whether the capability of each of the playback devices is sufficient to process a requested media stream resulting from the dependent transformations.

7 . The method of claim 1 , wherein the second quality level is lesser than the first quality level.

8 . The method of claim 1 , wherein the quality level is measured in terms of one ore more of the following: a selected format of the media content, a selected bit rate of the media content, and an image resolution of the media content.

9 . A computer-readable medium having computer-executable instructions for performing a computer process implementing the method of claim 1 .

10 . A method in a host computer for developing transformation processing operations to optimize media content playback across multiple playback devices connected with the host computer in a network, the method comprising

receiving requests from the multiple devices for concurrent playback of media content at a first quality level;

determining a set of independent transformations of the media content that fulfill the requests at the first quality level;

determining whether processing resources available on the host computer are sufficient to perform the independent transformations; and

if the processing resources available on the host computer are sufficient to perform the independent transformations, performing the independent transformations to create a requested set of media streams;

if the processing resources are insufficient to perform the independent transformations, determining a set of dependent transformations that fulfill the requests at a second quality level within limits of the processing resources of the host computer; and

performing the dependent transformations to create a modified set of media streams; and

transmitting the requested set of media streams or the modified set of media streams across the network.

11 . The method of claim 10 further comprising

determining capabilities of the playback devices for processing a media stream;

determining whether the capability of each of the playback devices is sufficient to process a requested media stream resulting from the independent transformations; and

if not, determining whether the capability of each of the playback devices is sufficient to process a requested media stream resulting from the dependent transformations.

12 . The method of claim 10 further comprising

monitoring available bandwidth of the network;

determining whether the requested set of media streams resulting from the independent transformations is transmissible within the available bandwidth of the network; and

if the requested set of media streams is not transmissible within the available bandwidth of the network, determining the set of dependent transformations such that the modified set of media streams resulting from the set of dependent transformations is transmissible within the available bandwidth of the network.

13 . The method of claim 10 further comprising

monitoring available bandwidth of the network;

determining whether the modified set of media streams resulting from the dependent transformations is transmissible within the available bandwidth of the network; and

if the modified set of media streams is not transmissible within the available bandwidth of the network, determining a revised set of dependent transformations such that a revised set of media streams resulting from the revised set of dependent transformations is transmissible within the available bandwidth of the network.

14 . The method of claim 10 further comprising transmitting across the network a modified set of media streams resulting from the dependent transformations across the network.

15 . The method of claim 10 further comprising storing a modified set of media streams resulting from the dependent transformations as media files on a storage device.

16 . The method of claim 10 , wherein the second quality level is lesser than the first quality level.

17 . The method of claim 10 , wherein the quality level is measured in terms of one ore more of the following: a selected format of the media content, a selected bit rate of the media content, and an image resolution of the media content.

18 . A computer-readable medium having computer-executable instructions for performing a computer process implementing the method of claim 10 .

19 . A host computer system for performing transformative processing operations to optimize media content playback across multiple devices, which are connected with the host computer in a network, requesting concurrent playback of media content at a first quality level, the system comprising

one or more media processing units;

a policy engine module that

determines a set of independent transformations of the media content that fulfill requests at the first quality level;

determines whether processing resources of the media processing units are sufficient to perform the independent transformations; and

if the processing resources are sufficient to perform the independent transformations, directs the media processing units to perform the independent transformations to create a requested set of media streams; and

if the processing resources are insufficient to perform the independent transformations, determines a set of dependent transformations that fulfill the requests at a second quality level within limits of the processing resources; and

directs the media processing units to perform the dependent transformations to create a modified set of media streams; and

a network link that communicates with the network and transmits either the requested set of media streams or the modified set of media streams to the multiple devices.

20 . The system of claim 19 further comprising

a network monitor module that monitors available bandwidth of the network and passes bandwidth information to the policy engine module; and

wherein the policy engine module further

determines whether the requested set of media streams resulting from the independent transformations is transmissible within the available bandwidth of the network; and

if the requested set of media streams is not transmissible within the available bandwidth of the network, determines the set of dependent transformations such that the modified set of media streams resulting from the set of dependent transformations is transmissible within the available bandwidth of the network; and

determines whether the modified set of media streams resulting from the dependent transformations is transmissible within the available bandwidth of the network; and

if the modified set of media streams is not transmissible within the available bandwidth of the network, determining a revised set of dependent transformations such that a revised set of media streams resulting from the revised set of dependent transformations is transmissable within the available bandwidth of the network.

21 . The system of claim 20 further comprising a storage device that stores an output stream of transformed media content processed by the media processing units.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2007
From: FANG, NICHOLAS J.; BOWRA, TODD Z.; SPEICHER, ASHLEY C.
To: MICROSOFT CORPORATION
Reel/Frame 019284/0876 →