IP Library Granted Patent US 7,664,872
Granted Patent B2
US 7,664,872 · App. 11/323,062 · Granted Feb 16, 2010

Media transfer protocol

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 7,664,872
App. No.
11/323,062
Granted
Feb 16, 2010
Kind
B2
Abstract

A computer device selected as a media server is connected to a consumer electronic (CE) device over multiple media transfer channels. The multiple media transfer channels together with an improved media transfer protocol allow for efficient, real-time transfer of different types of digital media, in various combinations, for playing on the CE device. Each type of media is transferred over its own dedicated channel according to its individual data rate. The improved media transfer protocol allows the data to be transmitted in either an asynchronous mode or a synchronous stream or timestamp mode depending on whether synchronization is desired. A dedicated control channel allows for the transfer of control information from the CE device to the media server as well as for resynchronizing media position of the server upon a change in play mode of the corresponding media.

Claims (24)

1. A server configured to transfer video, and audio, media data to a client over separate video, and audio media transfer channels and to communicate with the client via a separate control channel, where the client includes a media timer and is configured to transmit timestamps associated with media being played by the client to the server via the control channel, the server comprising:

a storage device containing video, and audio media data stored in at least one file;

a media server module configured to identify video, and audio media data from within the at least one file for transmission over the separate video, and audio media transfer channels;

a network transport module configured to create separate video, and audio media data packets and prepend header information to the media data packets, where the header information includes timing data generated for the specific media data packet by the network transport module,

wherein the network transport module is also configured to transmit the video, and audio media data packets via the separate video, and audio media transfer channels according to different data rates; and

wherein the timing data for each media data packet includes at least a synchronization mode field indicating a synchronization mode and a timestamp, where the server is configured to generate the timestamp based upon the synchronization mode.

2. The server of claim 1 , wherein the media server module receives control information from the client over the control channel, processes the control information and identifies particular video, and audio media data stored in the at least one file in response and the network transport module transmits video, and audio, media data packets containing the particular video, and audio media data over the separate video and audio media transfer channels.

3. The server of claim 2 , wherein, the overlay media data is subtitle data, and the synchronization mode field indicates that the overlay media data is synchronous timestamped data for rendering by a client when the media timer is greater than or equal to the timestamp.

4. The server of claim 2 wherein the control information further comprises control packets including a keypress type field and a button identifier field.

5. The server of claim 4 wherein the keypress type field indicates a button's current state and the button identifier field indicates a particular button that is invoked on a user input device.

6. The server of claim 1 , wherein the synchronization mode field of the video media data packets indicates that the video data is streaming data for rendering immediately by the client asynchronously from the audio media data.

7. The server of claim 6 , wherein the video data is for a user interface video prompting user interactions with the client.

8. The server of claim 1 , wherein:

the synchronization mode field of the video media data packets indicates that the video data is synchronous stream data for rendering by the client according to the timestamp; and

the timing data further including a duration value, where the server is configured to generate the duration value as indicative of the duration of time in which the transmitted data is valid.

9. The server of claim 1 wherein

the media server module is configured to receive a request to playback a particular media file, and the media server module is configured to identify the particular media file as a file having a neutral file type in which playback is unsupported by the server but is supported by the client; and

a network transport module configured to receive from the client a particular range of data included in the particular media file, create a media transfer packet including the requested range of data, and transmit the media transfer packet over one of the plurality of a media transfer channel dedicated for transmitting media files having neutral file types.

10. The server of claim 1 , wherein:

the server is further configured to transfer overlay media data to a client over a separate overlay media transfer channel;

the at least one file also includes overlay media data;

the media server module is also configured to identify overlay media data from within the at least one file for transmission over the separate overlay media transfer channel;

the network transport module is also configured to create separate overlay media data packets and prepend header information to the overlay media data packets, where the header information includes timing data generated for the specific overlay media data packet by the network transport module; and

the timing data for each media data packet includes at least a synchronization mode field indicating a synchronization mode and a timestamp, where the server is configured to generate the timestamp based upon the synchronization mode.

Assignments (10)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
PATENT RELEASE Recorded Jul 22, 2014
From: JPMORGAN CHASE BANK N.A., AS COLLATERAL AGENT
To: ALL MEDIA GUIDE, LLC; DIVX, LLC; SONIC SOLUTIONS LLC
Reel/Frame 033378/0685 →
RELEASE OF SECURITY INTEREST Recorded Apr 9, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DIVX, LLC
Reel/Frame 032645/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031713/0032 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2013
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ALL MEDIA GUDE, LLC; DIVX, LLC; SONIC SOLUTIONS LLC
Reel/Frame 030591/0534 →
CHANGE OF NAME Recorded Sep 15, 2012
From: DIVX, INC.
To: DIVX, LLC
Reel/Frame 028965/0830 →
SECURITY AGREEMENT Recorded Mar 25, 2011
From: ALL MEDIA GUIDE, LLC; DIVX, LLC; SONIC SOLUTIONS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 026026/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2006
From: OSBORNE, ROLAND; VAN ZOEST, ALEXANDER; ROBINSON, AARON; FUDGE, BRIAN; SRINIVASAN, MAYUR; FRY, KEVIN
To: DIVX, INC.
Reel/Frame 017791/0734 →