IP Library Granted Patent US 6,873,877
Granted Patent B1
US 6,873,877 · App. 09/499,961 · Granted Mar 29, 2005

Distributed production system for digitally encoding information

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 6,873,877
App. No.
09/499,961
Granted
Mar 29, 2005
Kind
B1
Abstract

A method and system for encoding digital information is disclosed. According to the method, media program information is captured and used to produce a media program file. An encoding request is received from a client which requests that the media program information be encoded in one or more encoding formats. A set of encoding engines are selected that can encode the media program information in each of the one or more encoding formats. The media program file is then sent to the selected set of encoding engines to encode the media program information in the one or more encoding formats.

Claims (84)

1. A method for encoding digital information, comprising the computer-implemented steps of:

capturing media program information to produce a media program file:

receiving an encoding request from a client, wherein the encoding request requests that the media program information be encoded in one or more encoding formats:

selecting a set of encoding engines that can encode the media program information in each of the one or more encoding formats;

sending the media program file to the selected set of encoding engines; and

using said selected set of encoding engines to encode said media program information in said one or more encoding formats:

identifying an encoding order as a pending job order that needs to be processed;

identifying one or more encoding units that are available to process the pending job order;

distributing the pending job order to the one or more encoding units;

receiving an encoded data file from each of the one or more encoding units; and

storing each of the encoded data files into a storage unit for subsequent delivery to one or more customers.

2. A method for encoding digital information, comprising the computer-implemented steps of:

capturing media program information to produce a media program file;

receiving an encoding request from a client, wherein the encoding request requests that the media program information be encoded in one or more encoding formats;

selecting a set of encoding engines that can encode the media program information in each of the one or more encoding formats:

sending the media program file to the selected set of encoding engines; and

using the selected set of encoding engines to encode said media program information in said one or more encoding formats;

wherein the step of capturing comprises the step of reading the media program information from a storage medium;

the medium further includes the steps of associating the media program file with a unique Master_ID;

wherein the step of receiving an encoding request from a client comprises the steps of:

causing a user interface to be displayed at the client, wherein the user interface allows users to enter encoding requests; and

in response to a user interacting with said interface, receiving at a server an encoding request, wherein the encoding request includes said unique Master_ID;

wherein the step of receiving at a server an encoding request further includes the steps of:

generating an encoding order based on the encoding request;

determining a unique Job_ID, wherein the unique Job_ID is associated with the encoding order; and

storing as a pending job order in an accessible storage unit, the encoding order and its association with the unique Job_ID.

3. A method for encoding digital information, comprising the computer-implemented steps of:

capturing media program information to produce a media program file;

receiving an encoding request from a client, wherein the encoding request requests that the media program information be encoded in one or more encoding formats;

selecting a set of encoding engines that can encode the media program information in each of the one or more encoding formats;

sending the media program file to the selected set of encoding engines; and

using the selected set of encoding engines to encode said media program information in said one or more encoding formats, wherein:

the encoding request requests that the media program information be encoded in a plurality of encoding formats;

the step of selecting a set of encoding engines includes the step of selecting a set of encoding engines that can encode the media program information in the plurality of encoding formats; and

the step of using said selected set of encoding engines includes the step of using said selected set of encoding engines to encode said media program information in said plurality of encoding formats in parallel.

4. A computer-readable medium carrying one or more sequences of instructions for encoding digital information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:

capturing media program information to produce a media program file;

receiving an encoding request from a client, wherein the encoding request requests that the media program information be encoded in one or more encoding formats;

selecting a set of encoding engines that can encode the media program information in each of the one or more encoding formats;

sending the media program file to the selected set of encoding engines; and

using said selected set of encoding engines to encode said media program information in said one or more encoding formats;

wherein a distribution unit performs the steps of:

identifying an encoding order as a pending job order that needs to be processed;

identifying one or more encoding units that are available to process the pending job order;

distributing the pending job order to the one or more encoding units;

receiving an encoded data file from each of the one or more encoding units; and

storing each of the encoded data files into a storage unit for subsequent delivery to one or more customers.

5. A computer-readable medium carrying one or more sequences of instructions for encoding digital information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:

capturing media program information to produce a media program file;

receiving an encoding request from a client, wherein the encoding request requests that the media program information be encoded in one or more encoding formats;

selecting a set of encoding engines that can encode the media program information in each of the one or more encoding formats;

sending the media program file to the selected set of encoding engines; and

using said selected set of encoding engines to encode said media program information in said one or more encoding formats;

wherein: the step of capturing comprises the step of reading the media program information from a storage medium;

the computer-readable medium further comprising instructions for performing the steps of associating the media program file with a unique Master_ID;

wherein the step of receiving an encoding request from a client comprises the steps of:

causing a user interface to be displayed at the client, wherein the user interface allows users to enter encoding requests; and

in response to a user interacting with said interface, receiving at a server an encoding request, wherein the encoding request includes said unique Master_ID;

wherein the step of receiving at a server an encoding request further includes the steps of:

generating an encoding order based on the encoding request;

determining a unique Job_ID, wherein the unique Job_ID is associated with the encoding order; and

storing as a pending job order in an accessible storage unit, the encoding order and its association with the unique Job_ID.

6. A computer-readable medium carrying one or more sequences of instructions for encoding digital information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:

capturing media program information to produce a media program file;

receiving an encoding request from a client, wherein the encoding request requests that the media program information be encoded in one or more encoding formats;

selecting a set of encoding engines that can encode the media program information in each of the one or more encoding formats;

sending the media program file to the selected set of encoding engines; and

using said selected set of encoding engines to encode said media program information in said one or more encoding formats;

wherein:

the encoding request requests that the media program information be encoded in a plurality of encoding formats;

the step of selecting a set of encoding engines includes the step of selecting a set of encoding engines that can encode the media program information in the plurality of encoding formats; and

the step of using said selected set of encoding engines includes the step of using said selected set of encoding engines to encode said media program information in said plurality of encoding formats in parallel.

7. A system for encoding digital information, the system comprising;

a capturing unit that is capable of capturing media program information from a storage medium;

a storage unit that maintains captured media program information, program metadata that is based on the media program information, and encoding request information, wherein each encoding request identifies a set of one or more encoding formats that are to be sued to encode a particular media program;

a server connected to said storage unit, wherein the server is configured to receive encoding requests from clients that are connected to said server and to generate and store pending encoding orders in said storage unit based on said encoding requests;

a distribution unit that is configured to retrieve pending job orders from said storage unit and to distribute the orders to one or more encoding units;

wherein the encoding units are configured to encode in parallel job orders that request a specific media program to be encoded in multiple encoding formats.

8. The system claim 7 , wherein the distribution unit performs the steps of:

identifying an encoding order as a pending job order that needs to be processed;

identifying one or more encoding units that are available to process the pending job order;

distributing the pending job order to the one or more encoding units;

receiving an encoded data file from each of the one or more encoding units; and

storing each of the encoded data files into a storage unit for subsequent delivery to one or more customers.

Assignments (17)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
PATENT RELEASE Recorded Jul 24, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI CORPORATION; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE INTERNATIONAL, INC.; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 033396/0001 →
SECURITY INTEREST Recorded Sep 13, 2011
From: APTIV DIGITAL, INC., A DELAWARE CORPORATION; GEMSTAR DEVELOPMENT CORPORATION, A CALIFORNIA CORPORATION; INDEX SYSTEMS INC, A BRITISH VIRGIN ISLANDS COMPANY; ROVI CORPORATION, A DELAWARE CORPORATION; ROVI GUIDES, INC., A DELAWARE CORPORATION; ROVI SOLUTIONS CORPORATION, A DELAWARE CORPORATION; ROVI TECHNOLOGIES CORPORATION, A DELAWARE CORPORATION; STARSIGHT TELECAST, INC., A CALIFORNIA CORPORATION; UNITED VIDEO PROPERTIES, INC., A DELAWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027039/0168 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2010
From: JPMORGAN CHASE BANK, N.A. (A NATIONAL ASSOCIATION)
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ODS PROPERTIES, INC.; ROVI DATA SOLUTIONS, INC. (FORMERLY KNOWN AS TV GUIDE DATA SOLUTIONS, INC.); ROVI GUIDES, INC. (FORMERLY KNOWN AS GEMSTAR-TV GUIDE INTERNATIONAL, INC.); ROVI SOLUTIONS CORPORATION (FORMERLY KNOWN AS MACROVISION CORPORATION); ROVI SOLUTIONS LIMITED (FORMERLY KNOWN AS MACROVISION EUROPE LIMITED); ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 025222/0731 →
SECURITY AGREEMENT Recorded May 26, 2009
From: TV GUIDE DATA SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 022732/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2009
From: MUZE INC.; MUZE UK LIMITED; MUZE EUROPE LIMITED; MUZE SAMPLE SERVICES INC.
To: TV GUIDE DATA SOLUTIONS INC.
Reel/Frame 022722/0588 →
RELEASE Recorded Jul 28, 2006
From: SILICON VALLEY BANK
To: LOUDEYE CORP
Reel/Frame 018132/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2006
From: LOUDEYE CORP.
To: MUZE, INC.
Reel/Frame 017555/0114 →
RELEASE Recorded May 2, 2005
From: SILICON VALLEY BANK
To: LOUDEYE CORPORATION
Reel/Frame 016513/0168 →
SECURITY INTEREST Recorded Aug 29, 2003
From: LOUDEYE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 014446/0284 →
CHANGE OF NAME Recorded Aug 21, 2002
From: LOUDEYE TECHNOLOGIES, INC.
To: LOUDEYE CORP.
Reel/Frame 013215/0191 →
REASSIGNMENT AND RELEASE OF SECURITY INTEREST Recorded Aug 30, 2001
From: IMPERIAL BANK
To: LOUDEYE TECHNOLOGIES, INC.
Reel/Frame 012131/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2000
From: TOBIAS, MARTIN; KITE, BEVERLEY; BROWN, MATHEWS; LINDVALL, ERIC; OBERLANDER, JEFFREY; ROBERTS, AARON; HANSEN, ANNA; MALLEY, GREGORY; SUZUKI, KEN
To: LOUDEYE TECHNOLOGIES, INC.
Reel/Frame 011105/0629 →
SECURITY INTEREST Recorded May 23, 2000
From: LOUDEYE TECHNOLOGIES, INC.
To: IMPERIAL BANK
Reel/Frame 010879/0389 →