# US 9,088,804 B2 · On-demand selection of transcoding formats for multimedia broadcast streams

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,088,804 B2
- Document ID: US9088804B2
- Status: Granted
- Kind: B2
- Application number: 13/592,161
- Filed: 2012-08-22
- Published: 2013-02-28
- Granted: 2015-07-21
- Earliest claimed: 2011-08-25
- Assignees: Ustream, Inc.
- Applicants: Gyula Feher; Akos Gyimesi; Zoltan Ponekker; Daniel Palffy; Gergely Hodicska; Zoltan Nemeth
- Inventors: Gyula Feher; Akos Gyimesi; Zoltan Ponekker; Daniel Palffy; Gergely Hodicska; Zoltan Nemeth
- Web page: https://patentgrep.com/patent/US9088804B2

## CPC

- H04N 21/234336: {by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text}
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 65/765: {intermediate}
- H04N 21/25833: {involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities (allocation of resources considering hardware capabilities in multiprogramming arrangements G06F9/5044; allocation of resources considering software capabilities in multiprogramming arrangements G06F9/5055)}
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An on-demand multimedia stream processing system receives multimedia streams from broadcasters and processes the streams for viewing on a wide range of client devices. To decrease the use of computing resources, processing jobs are started and stopped based on user demand. When a multimedia stream is received from a broadcaster, the processing system does not start processing the multimedia broadcast stream until a request for a processed stream is received. The processing system automatically terminates processing jobs when the audience of a processed stream drops to zero or some other stop condition is met.

## Claims

### Claim 1

A method of transcoding streaming multimedia items, the method comprising:
at a computing device, receiving a plurality of streaming multimedia items in a first format from a plurality of broadcasters, wherein one or more streaming multimedia items is received from each broadcaster;
for each of the received streaming multimedia items:
receiving requests from a plurality of remote user devices for each of the streaming multimedia items;
responsive to detecting that one or more of the requesting remote user devices is not capable of reproducing each of the streaming multimedia items in the first format, transcoding each of the streaming multimedia items into a second format, the second format differing from the first format in at least one multimedia setting;
packetizing each of the transcoded streaming multimedia items into multimedia packets of a predetermined length;
waiting another predetermined length of time before sending the multimedia packets to the remote user devices;
sending a multimedia stream or a series of multimedia streams other than the transcoded stream to the remote user devices during the other predetermined length of time;
transferring the multimedia packets to the plurality of requesting remote user devices over a network, each of the transcoded streaming multimedia items in the multimedia packets capable of being reproduced on the plurality of remote user devices; and
stopping the transcoding of each of the streaming multimedia items responsive to satisfying a stop condition on the computing device, the stop condition comprising detecting that no remote users have been receiving each of the transcoded streaming multimedia items for at least a predetermined length of time.

### Claim 2 (depends on 1)

The method of claim 1, wherein one or more of the streaming multimedia items is not transcoded responsive to detecting that each of the plurality of requesting remote user devices is capable of reproducing the streaming multimedia items in the first format.

### Claim 3 (depends on 1)

The method of claim 1, wherein the computing device receives the streaming multimedia items in real-time.

### Claim 4 (depends on 3)

The method of claim 3, wherein the computing device transcodes the streaming multimedia items and transfers the streaming multimedia items to the plurality of requesting remote user devices in real-time.

### Claim 5 (depends on 1)

The method of claim 1, further comprising receiving information describing the multimedia playback capabilities of the remote user devices.

### Claim 6 (depends on 5)

The method of claim 5, further comprising choosing multimedia formats that are capable of being played back by the requesting remote users as the second format based on analysis of the information describing the multimedia playback capabilities of the requesting remote user devices.

### Claim 7 (depends on 1)

The method of claim 1, wherein the stop condition further comprising detecting that the broadcaster for each of the streaming multimedia items has disconnected.

### Claim 8 (depends on 1)

The method of claim 1, further comprising checking a list of active transcoding jobs or packetizing jobs at the computing device before each transcoding the streaming multimedia items responsive to detecting that the one or more of the requesting remote user devices is not capable of reproducing each of the streaming multimedia items in the first format.

### Claim 9 (depends on 1)

The method of claim 1, further comprising transferring each of the streaming multimedia items in the first format to the plurality of requesting remote user devices over a network responsive to detecting that one or more of the requesting remote user devices is capable of reproducing each of the streaming multimedia items in the first format.

### Claim 10

A computing system for transcoding streaming multimedia items, the computing system comprising:
a streaming component comprising a first network interface coupled to a network and configured to receive a plurality of streaming multimedia items in a first format from a plurality of broadcasters, wherein one or more streaming multimedia items is received from each broadcaster;
a transcoding component comprising a first processor and a first memory coupled to the first processor, the first processor configured to execute instructions to transcode the streaming multimedia items into a second format, the second format differing from the first format in at least one multimedia setting, the transcoding component further configured to stop the transcoding of the streaming multimedia items responsive to satisfying a stop condition on the computing system;
a packetizing component configured to packetize the transcoded streaming multimedia items into multimedia packets of a predetermined length; and
a request processing component comprising a second network interface, a second processor, and a second memory, the second memory coupled to the second processor, the second processor configured to:
execute instructions to receive requests from a plurality of remote user devices for the streaming multimedia items via the second network interface,
wait another predetermined length of time before sending the multimedia packets to the remote user devices,
send a multimedia stream or a series of multimedia streams other than the transcoded stream to the remote user devices during the other predetermined length of time, and
transfer the multimedia packets to the plurality of requesting remote user devices over a network via the second network interface, the transcoded streaming multimedia items in the multimedia packets capable of being reproduced on the plurality of remote user devices, the stop condition for a streaming multimedia item satisfied when the computing device detects that no remote users have been receiving the transcoded streaming multimedia item for a predetermined length of time.

### Claim 11 (depends on 10)

The system of claim 10, wherein the transcoding system is further configured not to transcode one or more of the streaming multimedia items responsive to detecting that each of the plurality of requesting remote user devices is capable of reproducing the streaming multimedia items in the first format.

### Claim 12 (depends on 10)

The system of claim 10, wherein the streaming component is further configured to receive the streaming multimedia items in real-time.

### Claim 13 (depends on 12)

The system of claim 12, wherein the transcoding component is further configured to transcode the streaming multimedia items in real-time.

### Claim 14 (depends on 12)

The system of claim 12, wherein the request processing component is further configured to transfer the streaming multimedia items to the plurality of requesting remote user devices in real-time.

### Claim 15 (depends on 10)

The system of claim 10, wherein the request processing component is further configured to receive information describing the multimedia playback capabilities of the remote user devices.

### Claim 16 (depends on 15)

The system of claim 15, wherein the transcoding component chooses multimedia formats that are capable of being played back by the requesting remote users as the second format based on analysis of the information describing the multimedia playback capabilities of the requesting remote user devices.

### Claim 17 (depends on 10)

The system of claim 10, wherein the stop condition for the streaming multimedia item is further satisfied when the computing device detects that the broadcaster for the streaming multimedia item has disconnected.

### Claim 18

A non-transitory computer readable medium configured to store instructions, the instructions when executed by a processor cause the processor to:
receive a plurality of streaming multimedia items in a first format from a plurality of broadcasters, wherein one or more streaming multimedia items is received from each broadcaster;
for each of the received streaming multimedia items:
receive requests from a plurality of remote user devices for each of the streaming multimedia items;
responsive to detecting that one or more of the requesting remote user devices is not capable of reproducing each of the streaming multimedia items in the first format, transcode each of the streaming multimedia items into a second format, the second format differing from the first format in at least one multimedia setting;
packetize each of the transcoded streaming multimedia items into multimedia packets of a predetermined length;
wait another predetermined length of time before sending the multimedia packets to the remote user devices;
send a multimedia stream or a series of multimedia streams other than the transcoded stream to the remote user devices during the other predetermined length of time;
transfer the multimedia packets to the plurality of requesting remote user devices over a network, each of the transcoded streaming multimedia items in the multimedia packets capable of being reproduced on the plurality of remote user devices; and
stop the transcoding of each of the streaming multimedia items responsive to satisfying a stop condition on the computing device, the stop condition comprising detecting that no remote users have been receiving each of the transcoded streaming multimedia items for at least a predetermined length of time.

### Claim 19 (depends on 18)

The computer readable medium of claim 18, wherein one or more of the streaming multimedia items is not transcoded responsive to detecting that each of the plurality of requesting remote user devices is capable of reproducing the streaming multimedia items in the first format.
