IP Library Granted Patent US 7,533,398
Granted Patent B2
US 7,533,398 · App. 10/625,774 · Granted May 12, 2009

Automatic selection of encoding parameters for transmission of media objects

Assignee: The Associated Press
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,533,398
App. No.
10/625,774
Granted
May 12, 2009
Kind
B2
Abstract

A system, method and computer program product for automatic selection of encoding parameters for transmission of media objects is provided. The method and computer program product involve the automatic selection of media encoding parameters based on editorial and technical contexts. Such contexts include time constraints, duration, size, quality, processing time and compression time. The media objects are then automatically encoded using these automatically selected parameters, and then transmitted from a remote site to one or more additional sites via a communications network.

Claims (82)

1. A method for selecting encoding parameters for the transmission of media objects from a processing device over a communications network, the method comprising the steps of:

determining a play duration value for a media object to be transmitted over the communications network;

determining a bandwidth value for transmitting said media object over the communications network;

receiving a first input indicative on a deadline time value in which said media object must be transmitted over the communications network;

calculating a plurality of encoding time values, each reflective of the time to encode said media object using one of a plurality of resolution and frame rate combinations;

calculating a plurality of bit rates, each corresponding to one of said plurality of encoding time values, using said play duration value, said bandwidth value and said deadline time value;

receiving a second input indicative of a selection of one of said plurality of bit rates, wherein said media object is transmitted over the communications network using one of said plurality of resolution and frame rate combinations corresponding to said selected bit rate;

accessing a data store containing a plurality of historical encode time values, each corresponding to one of said plurality of resolution and frame rate combinations; and

calculating each of said plurality of encoding time values using the equation:

T h *D;

wherein T h is one of said plurality of historical encode time values corresponding to one of said plurality of resolution and frame rate combinations; and D is said play duration value.

2. The method of claim 1 , wherein each of said plurality of historical encode time values and said play duration value are measured in seconds.

3. The method of claim 1 , further comprising the steps of:

encoding said media object using one of said plurality of resolution and frame rate combinations corresponding said selected bit rate; and

updating said T h value corresponding to said one of said plurality of resolution and frame rate combinations.

4. The method of claim 1 , wherein the bandwidth value is determined by accessing a historical communications network bandwidth value, the historical communications network bandwidth value being based on previous transmissions over the communications network.

5. The method of claim 4 , further comprising the step of updating the historical communications network bandwidth value after a transmission over the communications network.

6. A method for selecting encoding parameters for the transmission of media objects from a processing device over a communications network, the method comprising the steps of:

determining a play duration value for a media object to be transmitted over the communications network;

determining a bandwidth value for transmitting said media object over the communications network;

receiving a first input indicative on a deadline time value in which said media object must be transmitted over the communications network;

calculating a plurality of encoding time values, each reflective of the time to encode said media object using one of a plurality of resolution and frame rate combinations;

calculating a plurality of bit rates, each corresponding to one of said plurality of encoding time values, using the equation:

(( T c −T d )− T e )* P/D;

wherein T c is said deadline time value; T d is the current time; T e is one of said plurality of encoding time values corresponding to said one of said plurality of resolution and frame rate combinations; P is said bandwidth value; and D is said play duration value;

receiving a second input indicative of a selection of one of said plurality of bit rates, wherein said media object is transmitted over the communications network using one of said plurality of resolution and frame rate combinations corresponding to said selected bit rate; and wherein said step of calculating said plurality of bit rates comprises the step of:

calculating each of said plurality of bit rates, each corresponding to one of said plurality of resolution and frame rate combinations.

7. The method of claim 6 , further comprising the steps of:

rendering a preview clip of said media object;

determining a play duration value for said preview clip; and

calculating each of said plurality of bit rates using both said play duration value for said media object and said play duration value for said preview clip, wherein said preview clip is transmitted with said media object over the communications network.

8. The method of claim 6 , wherein the bandwidth value is determined by accessing a historical communications network bandwidth value, the historical communications network bandwidth value being based on previous transmissions over the communications network.

9. The method of claim 8 , wherein the processor is further configured to perform the step of updating the historical communications network bandwidth value after a transmission over the communications network.

10. A system for automatically selecting encoding parameters for the transmission of media objects, the system comprising:

a database for storing a plurality of encoding time values corresponding to a plurality of resolution and frame rate combinations, and a plurality of bit rates each corresponding to one of said plurality of resolution and frame rate combinations; and

a processing device, comprising:

a network adapter connected to a communications network; and

a processor, wherein said processor is configured to perform the steps of:

determining a play duration value for a media object to be transmitted over said communications network;

determining a bandwidth value for transmitting said media object over said communications network;

receiving an input indicative on a deadline time value in which said media object must be transmitted over said communications network;

calculating said plurality of encoding time values, each reflective of the time to encode said media object using one of a plurality of resolution and frame rate combinations;

calculating said plurality of bit rates, each corresponding to one of said plurality of encoding time values, using the equation:

(( T c −T d )− T e )* P/D;

wherein T c is said deadline time value; T d is the current time; T e is one of said plurality of encoding time values corresponding to said one of said plurality of resolution and frame rate combinations; P is said bandwidth value; and D is said play duration value; and

selecting one of said plurality of bit rates, wherein said media object is transmitted over said communications network using one of said plurality of resolution and frame rate combinations corresponding to said selected bit rate.

11. The system of claim 10 , wherein said bandwidth value is determined by querying said network adaptor.

12. The system of claim 10 , wherein said communications network comprises at least a portion of the Internet.

13. The system of claim 10 , wherein said communications network comprises at least a portion of the PSTN.

14. The system of claim 10 , wherein the bandwidth value is determined by accessing a historical communications network bandwidth value, the historical communications network bandwidth value being based on previous transmissions over the communications network.

15. The system of claim 14 , wherein the processor is further configured to perform the step of updating the historical communications network bandwidth value after a transmission over the communications network.

16. A computer program product comprising a physical computer usable medium having control logic stored therein for causing a computer to selecting encoding parameters for the transmission of media objects from a processing device over a communications network, said control logic comprising:

first computer readable program code means for causing the computer to determine a play duration value for a media object to be transmitted over the communications network;

second computer readable program code means for causing the computer to determine a bandwidth value for transmitting said media object over the communications network;

third computer readable program code means for causing the computer to receive a first input indicative on a deadline time value in which said media object must be transmitted over the communications network;

fourth computer readable program code means for causing the computer to calculate a plurality of encoding time values, each reflective of the time to encode said media object using one of a plurality of resolution and frame rate combinations;

fifth computer readable program code means for causing the computer to calculate a plurality of bit rates, each corresponding to one of said plurality of encoding time values, using said play duration value, said bandwidth value and said deadline time value;

sixth computer readable program code means for causing the computer to receive a second input indicative of a selection of one of said plurality of bit rates, wherein said media object is transmitted over the communications network using one of said plurality of resolution and frame rate combinations corresponding to said selected bit rate;

seventh computer readable program code means for causing the computer to access a data store containing a plurality of historical encode time values, each corresponding to one of said plurality of resolution and frame rate combinations; and

eighth computer readable program code means for causing the computer to calculate each of said plurality of encoding time values using the equation:

T h *D;

wherein T h is one of said plurality of historical encode time values corresponding to one of said plurality of resolution and frame rate combinations; and D is said play duration value.

17. The computer program product of claim 16 , wherein each of said plurality of historical encode time values and said play duration value are stored in seconds.

18. The computer program product of claim 16 , further comprising:

ninth computer readable program code means for causing the computer to encode said media object using one of said plurality of resolution and frame rate combinations corresponding said selected bit rate; and

tenth computer readable program code means for causing the computer to update said T h value corresponding to said one of said plurality of resolution and frame rate combinations.

19. A computer program product comprising a physical computer usable medium having control logic stored therein for causing a computer to selecting encoding parameters for the transmission of media objects from a processing device over a communications network, said control logic comprising:

first computer readable program code means for causing the computer to determine a play duration value for a media object to be transmitted over the communications network;

second computer readable program code means for causing the computer to determine a bandwidth value for transmitting said media object over the communications network;

third computer readable program code means for causing the computer to receive a first input indicative on a deadline time value in which said media object must be transmitted over the communications network;

fourth computer readable program code means for causing the computer to calculate a plurality of encoding time values, each reflective of the time to encode said media object using one of a plurality of resolution and frame rate combinations;

fifth computer readable program code means for causing the computer to calculate a plurality of bit rates, each corresponding to one of said plurality of encoding time values, using said play duration value, said bandwidth value and said deadline time value;

sixth computer readable program code means for causing the computer to receive a second input indicative of a selection of one of said plurality of bit rates, wherein said media object is transmitted over the communications network using one of said plurality of resolution and frame rate combinations corresponding to said selected bit rate; and

seventh computer readable program code means for causing the computer to calculate each of said plurality of bit rates, each corresponding to one of said plurality of resolution and frame rate combinations, using the equation:

(( T c −T d )− T e )* P/D;

wherein T d is said deadline time value; T c is the current time; T e is one of said plurality of encoding time values corresponding to said one of said plurality of resolution and frame rate combinations; P is said bandwidth value; and D is said play duration value.

20. The computer program product of claim 19 , further comprising:

eighth computer readable program code means for causing the computer to render a preview clip of said media object;

ninth computer readable program code means for causing the computer to determine a play duration value for said preview clip; and

tenth computer readable program code means for causing the computer to calculate each of said plurality of bit rates using both said play duration value for said media object and said play duration value for said preview clip, wherein said preview clip is transmitted with said media object over the communications network.

21. The computer program product of claim 19 , wherein the second computer readable program code means causes the computer to determine the bandwidth value by accessing a historical communications network bandwidth value, the historical communications network bandwidth value being based on previous transmissions over the communications network.

22. The computer program product of claim 21 , further comprising eighth computer readable program code means for causing the computer to update the historical communications network bandwidth value after a transmission over the communications network.

Assignments (3)
SECURITY INTEREST Recorded Jun 22, 2018
From: THE ASSOCIATED PRESS
To: BANK OF AMERICA, N.A.
Reel/Frame 046178/0826 →
SECURITY AGREEMENT Recorded Mar 15, 2011
From: THE ASSOCIATED PRESS
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 025958/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2004
From: CULLINAN, SEAN; PALMER, MICHAEL
To: ASSOCIATED PRESS
Reel/Frame 015493/0054 →
Continuity (2)
Provisional Application 6039860900 · Jul 26, 2002
Related Publication 20040210930A1 · Oct 21, 2004