System and method for regulating the transmission of media data
6934837
Abstract
A system and method regulate the transmission of media data. In accordance with one embodiment of the invention, a header portion of a media file is encoded to include an access code. The access code corresponds to one or more permitted methods by which the media file may be transmitted over a network. In one embodiment, a user operates a web browser to access a web page including a hyperlink which references the media file and specifies a desired type of transmission. Desired types of transmission include, for example, streaming transmission and faster than real time reliable download. When the hyperlink is activated, a web server sends a URL referencing the media file to the web browser. The web browser passes the URL to the media player. The media player requests the media file from a media server. The media server transmits the header of the media file, and the media player extracts the access code to determine whether the media file may be transmitted according to the desired type of transmission. If so, the media server transmits the media file using the desired type of transmission, and the media player renders the media data into video, sound or image signals. If the media player receives the media data using a type of transmission that permits storing the media data locally, the media player may transfer the media data to a portable media player.
Claims
1. A coded media file stored on a computer-readable medium, comprising:
media data;
code bits, said code bits representing a value indicating that the media data may be transmitted in accordance with at least one transmission protocol and said code bits being stored in a computer-readable medium prior to transmission of said media data; and
second data indicating rights relating to said media data.
2. The coded media file of claim 1 wherein said code bits represent a value indicating that the media data may not be transmitted in accordance with at least one transmission protocol.
3. The coded media file of claim 1, wherein said code bits are encrypted and wherein said value is determined by decrypting said access code bits.
4. The coded media file of claim 1, wherein said second data indicates rights related to copyright rights.
5. The coded media file of claim 1, wherein said code bits represent a value indicating that the media data may be transmitted in accordance with at least two transmission protocols.
6. The coded media file of claim 5, wherein at least one of the at least two transmission protocols is a streaming transmission protocol.
7. The coded media file of claim 5, wherein at least one of the at least two transmission protocols is a recording protocol.
8. The coded media file of claim 5, wherein at least one of the at least two transmission protocols is a protocol including storage of the media data in a non-volatile memory.
9. A reference file stored on a computer-readable medium, comprising:
a reference to a media file stored on a computer-readable medium;
at least one first parameter value;
said media file comprising:
media data; and
at least one second parameter value; and
said at least one first parameter value and said at least one second parameter value operative to enable transmission of said media data in accordance with an at least one transmission protocol.
10. The reference file of claim 9, wherein said at least one first and at least one second parameter values disable transmission of said media data in accordance with a transmission protocol other than said at least one transmission protocol.
11. The reference file of claim 9, further comprising a hyperlink wherein said reference to a media file and said at least first one parameter value are within said hyperlink.
12. A method of encoding a media file comprising media data, the method comprising:
determining at least one desired transmission protocol;
computing a first value;
using said first value to enable transmission of said media data in accordance with said at least one desired transmission protocol; and
storing said media file, comprising said media data and said first value, on a computer-readable medium.
13. The method of claim 12, wherein said at least one desired transmission protocols comprises a streaming transmission protocol.
14. The method of claim 12, wherein said first value disables transmission of said media data in accordance with a transmission protocol other than said at least one desired transmission protocol.
15. The method of claim 12, wherein said first value enables transmission of said media data in accordance with at least two desired transmission protocols.
16. A computer-readable medium comprising instructions to perform a method of encoding a media file comprising media data, the method comprising:
determining at least one desired transmission protocol;
computing a first value;
using said first value to enable transmission of said media data in accordance with said at least one desired transmission protocols; and
storing said media file, comprising said media data and said first value, on a computer-readable medium.
17. The computer-readable medium of claim 16, wherein said at least one desired transmission protocols comprises a streaming transmission protocol.
18. The computer-readable medium of claim 16, wherein said access value disables transmission of said media data in accordance with a transmission protocol other than said at least one desired transmission protocol.
19. The computer-readable medium of claim 16, wherein said access value enables transmission of said media data in accordance with at least two desired transmission protocols.
20. A method for regulating the transmission of media data, the method comprising:
transmitting a request for a media file, said media file comprising said media data and a transmission value, and said transmission value indicating at least one desired transmission protocol;
receiving said transmission value;
determining whether said transmission value permits said media file to be transmitted in accordance with at least one requested transmission protocol; and
transmitting a request to transmit said media data.
21. The method of claim 20, wherein said determining whether said transmission value permits said media file to be transmitted in accordance with at least one requested transmission protocol comprises:
receiving at least one parameter value, said at least one parameter indicative of at least one requested transmission protocol; and
determining whether said at least one requested transmission protocol is in accordance with said parameter value.
22. The method of claim 21, wherein said determining whether said at least one requested transmission protocol is in accordance with said transmission value comprises:
decrypting at least a portion of a header of said media file, said header comprising encrypted access code bits indicative of said transmission value; and
comparing said transmission value to a value corresponding to said at least one requested transmission protocol.
23. The method of claim 20, wherein said transmission value is indicative of at least one undesired transmission protocol.
24. The method of claim 23, wherein said at least one undesired transmission protocol comprises a recording protocol.
25. The method of claim 23, wherein said at least one undesired transmission protocol comprises a protocol including storage of the media data in a non-volatile memory.
26. The method of claim 20, wherein said transmission value is indicative of at least two undesired transmission protocols.
27. A method for regulating the transmission of media data, the method comprising:
transmitting a request for a media file, said media file comprising said media data and a transmission value, said transmission value indicative of at least one desired transmission protocol;
acquiring said transmission value from said media file;
receiving a request to transmit said media data; and
transmitting said media data in accordance with the desired transmission protocol.
28. The method of claim 27, further comprising transmitting at least one parameter value, said at least one parameter indicative of at least one requested transmission protocol.
29. The method of claim 27, wherein said transmission value is indicative of at least one undesired transmission protocol.
30. The method of claim 27, wherein said transmission value is indicative of at least two desired transmission protocols.
31. The method of claim 27, wherein said transmission value is indicative of at least two undesired transmission protocols.
32. A computer-readable medium comprising instructions to perform a method for regulating the transmission of media data, the method comprising:
receiving a request corresponding to a media file, said media file comprising said media data and an access value, and said transmission value indicating at least one desired transmission protocol;
acquiring said transmission value from said media file;
transmitting said transmission value;
receiving a request to transmit said media data,
said request being related to said access value; and
transmitting said media data in accordance with the desired transmission protocol.
33. The computer-readable medium of claim 32, wherein the method further comprises:
transmitting at least one parameter value;
said at least one parameter indicative of at least one requested transmission protocol.
34. The computer-readable medium of claim 32, wherein said access value is indicative of at least one undesired transmission protocol.
35. The computer-readable medium of claim 32, wherein said access value is indicative of at least two desired transmission protocols.
36. The computer-readable medium of claim 32, wherein said access value is indicative of at least two undesired transmission protocols.
37. A media file stored on a computer-readable medium, comprising:
media data; and
a header comprising bit,
said bits enabling transmission of said media data in accordance with at least two desired transmission protocols.
38. The media file of claim 37, wherein at least one of the at least two desired transmission protocols is a streaming transmission protocol.
39. The media file of claim 38, wherein at least one of the at least two desired transmission protocols is a recording protocol.
40. The media file of claim 38, wherein at least one of the at least two desired transmission protocols is a protocol including storage of the media data in a non-volatile memory.
41. The media file of claim 37, wherein said access bits disable transmission of said media data in accordance with at least one undesired transmission protocol.
42. The media file of claim 41, wherein said at least one undesired transmission protocol comprises a recording protocol.
43. The media file of claim 41, wherein said at least one undesired transmission protocol comprises a protocol including storage of the media data in a non-volatile memory.
44. A computer-readable medium comprising instructions to perform a method for receiving media data, the method comprising:
receiving media data transmitted in accordance with a first transmission protocol, and
wherein said media data originates from a media file comprising said media data and code bits indicative of said first transmission protocol.
45. The computer-readable medium of claim 44, wherein said code bits are indicative of said first transmission protocol and a second transmission protocol.
46. The computer-readable medium of claim 45, wherein the method further comprises:
receiving said media data in accordance with said second transmission protocol.
47. A method comprising:
requesting data from a data server on a media network managed by a media service provider;
receiving data from a data server, the server associated with requested media data;
using the received data to locate at least one media data server, the media data server separate from the media network and controlled by a media data owner independent of the media service provider; and
accessing the requested media data from the media data server.
48. The method of claim 47, wherein the media network comprises an Internet.
49. A program storage device storing instructions that when executed performs the method comprising:
requesting data from a data server on a media network managed by a media service provider:
receiving data from a data server, the server associated with requested media data;
using the received data to locate at least one media data server, the media data server separate from the media network and controlled by a media data owner independent of the media service provider; and
accessing the requested media data from the media data server.
50. A system comprising:
means for requesting data from a data server on a media network managed by a media service provider;
means for receiving data from a data server, the server associated with requested media data;
means for using the received data to locate at least one media data server, the media data server separate from the media network and controlled by a media data owner independent of the media service provider; and
means for accessing the requested media data from the media data server.
51. The system of claim 50, wherein the media network comprises an Internet.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the transmission of media data. More specifically, the invention provides a system and method for controlling the manner in which media data may be served over a network.
2. Description of the Related Art
The production and distribution of multimedia data, including video, audio and image data, is increasing at a phenomenal rate. Factors contributing to this explosion in the production and use of multimedia data include the growing popularity and capability of the Internet, the growing affordability of personal computers capable of efficiently processing multimedia data to provide a pleasing experience for users, as well as the fact that multimedia data is far superior to text-only data in conveying content-rich information naturally and intuitively. The great demand for multimedia data will only increase.
People now access and use multimedia data in numerous ways. One way that people access multimedia data is over a network. For example, people using web browsers on personal computers now access multimedia data by surfing the World Wide Web via the Internet. Countless numbers of content providers link multimedia data to web pages accessible by people using web browsers. Today, persons using web browsers can access a web page from a web server operated by a content provider to view video clips, listen to audio clips, or view images made available by the content provider.
Sometimes, a person using a web browser and possibly a media rendering plug-in accesses a media object (e.g., video clip, audio clip, image) on a web site by viewing or listening to the media object as it is being downloaded without ever storing the media object permanently on his or her computer. Other times, a user accesses a media object by downloading it and storing it on his or her computer in its entirety before viewing or listening to the object. A user who accesses a media object by downloading it in its entirety has the advantage of being able to view or listen to the object any number of times without ever having to connect again to a network. For a number of reasons, including encouraging users to repeatedly visit a web site, content providers need to regulate the type of access that users have to one, some or all media objects provided on a web site. Yet, currently, content providers have little ability to conveniently restrict users' access.
Media objects are typically stored as computer files. Thus, one way of restricting users' access to these media objects is to set up a username/password system. Besides presenting possibly prohibitive administrative overhead, such access restriction is undesirable because many users would be unwilling to visit a web site if they were forced to enter a username and password upon every visit.
While existing computer operating systems can, on a user-by-user basis, allow access to a file or prohibit access altogether, that functionality does not help a content provider control particular types of accesses to files. A computer's file system-typically a component of the operating system-generally stores certain information about each file stored on the computer, such as, for example, file size and date and time of creation. Neither the size of a file, nor an associated date or time assists in controlling how a user may access a file. Thus, content providers cannot rely on functionality provided by a computer's operating system to control the ways in which a media object may be accessed.
As the demand for multimedia data grows, the multimedia content produced by content providers grows in value. Indeed, many content providers now charge a fee from users who wish to access their content. Content providers are increasingly concerned about the ways in which users are accessing the content and possible uses being made of the content. What content providers need is a convenient way of controlling the ways users can access media objects.
SUMMARY OF THE INVENTION
The present invention advantageously provides a system and method for conveniently and effectively regulating the ways users can access media objects.
One embodiment of the present invention is an access coded media file. The access coded media file comprises media data, and a header including access code bits, the access code bits representing a value indicating that the media data may be transmitted in accordance with at least one transmission protocol. An alternative aspect of the embodiment is one wherein the access code bits represent a value indicating that the media data may not be transmitted in accordance with at least one transmission protocol. A further aspect of the embodiment is one wherein the access code bits are encrypted and wherein the value is determined by decrypting the access code bits.
Another embodiment of the present invention is a method for regulating types of access to a media file. The method comprising the steps of (1) placing an access code in a media file, the media file stored in a media storage accessible by a media server, the media server connected to a network, the access code indicating that data in the media file may be transmitted in accordance with at least one permitted transmission protocol; (2) requesting the media file with a media player, the media player connected to the network, the request specifying an intended transmission protocol to use in transmitting the media file over the network in response to the request; (3) transmitting the access code to the media player with the media server; and (4) checking the access code with the media player to determine whether the intended transmission protocol is one of the at least one permitted transmission protocols. Another aspect of the embodiment further comprises encrypting the access code within the media file, and decrypting the access code with the media player to perform the checking.
Still another embodiment of the invention is a system for regulating the transmission of media data. The system comprises (1) a media file having media data and a header, the header including an access code corresponding to at least one permitted type of access to the media file; (2) a media server connected to a network and to media storage, the media file stored on the media storage, the media server responsive to a first request for the media file by transmitting the header, the media server responsive to a second request by transmitting the media data in accordance with one of the at least one permitted type of access; and (3) a media player connected to the network, the media player responsive to user input to transmit the first request to the media server, the media player receiving the header and extracting the access code from the header, the media player determining from the access code that the media file is enabled for one of the at least one permitted type of access, the media player transmitting the second request to the media server upon the determination. One aspect of the embodiment is one wherein the first request specifies the one of at least one permitted type of access. Another aspect of the embodiment is one wherein the one of at least one permitted type of access is a streaming transmission access. Still another aspect of the embodiment is one wherein the one of at least one permitted type of access is a faster than real time reliable transmission access. Yet another aspect of the embodiment is one wherein the one of at least one permitted type of access is simultaneous streaming and faster than real time transmission access. A further aspect of the embodiment is one wherein the permitted type of access includes recording media data to local storage. A still further aspect of the embodiment is one wherein the access code is encrypted and wherein the media player decrypts the access code.
A further embodiment of the invention is a method for controlling access to media data over a network. The method comprising the steps of (1) requesting remotely stored media data in accordance with a preferred transmission protocol; (2) receiving an access code corresponding with permitted transmission protocols, the access code stored within the media data; (3) determining whether the preferred transmission protocol is one of the permitted transmission protocols; and (4) receiving the media data in accordance with the preferred transmission protocol if the preferred transmission protocol is one of the permitted transmission protocols. In one aspect, the embodiment comprises the further step of receiving the media data in accordance with a default transmission protocol if the preferred transmission protocol is not one of the permitted transmission protocols. In another aspect, the embodiment comprises the further step of encrypting the access code.
A still further embodiment of the invention is a system for regulating access to media data. The system comprises (1) a media file having an embedded access code, the access code corresponding to at least one permitted type of transmission of the media file; (2) a web page having a hyperlink which references a network-based file which includes a reference to the media file; (3) a web browser displaying the web page, the web browser responsive to user activation of the hyperlink to transmit a request for the contents of the network-based file; (4) a web server responsive to the request for the contents to transmit the reference to the media file to the web browser; (5) a media player in communication with the web browser to receive the reference to the media file and to responsively transmit a request to a media server for the contents of the media file; and (6) a media server responsive to the request for the contents of the media file to transmit the access code to the media player, the media player determining from the access code whether a desired type of transmission of the media file is one of the permitted types of transmission. A further aspect of the embodiment is one wherein the reference to the media file indicates the desired type of transmission. Another aspect of the embodiment is one wherein the media server transmits the contents of the media file to the media player upon the media player's determination that the desired type of transmission is one of the permitted types of transmission. Yet another aspect of the embodiment is one wherein the desired type of transmission is a streaming transmission. Further aspects of the embodiment include one wherein the desired type of transmission is a faster than real time reliable transmission and one wherein the desired type of transmission is simultaneous streaming and faster than real time transmission.
Another embodiment of the invention is a method of encoding a media file to regulate transmission of the media file. The method comprises the steps of (1) prompting a user to select a transmission method; (2) calculating an access code corresponding to the selected transmission method; (3) opening a media file stored on a computer-readable medium; (4) placing the access code within the media file; and (5) storing the media file having the access code on the computer-readable medium. One aspect of the embodiment further comprises the step of encrypting the access code. Another aspect of the embodiment further comprises the step of combining the access code with extra bits and placing both the access code and the extra bits in the media file.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a representation of an existing media distribution system;
FIG. 2 illustrates an embodiment of an existing media distribution system;
FIG. 3 illustrates an embodiment of the present invention wherein a user accesses a media file via the Internet;
FIG. 4 illustrates information encoded in a media file in accordance with an embodiment of the present invention;
FIG. 5 illustrates components of a system in accordance with an embodiment of the present invention;
FIG. 6 illustrates steps to configure components in one embodiment of the present invention to operate in accordance with the present invention;
FIG. 7 illustrates steps in one embodiment of the present for encoding a media file; and
FIGS. 8A and 8B illustrate steps in accordance with one embodiment of the present invention for transmitting a media object in accordance with a predefined type of access to the media object.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 illustrates a representation of an existing media distribution system. A media server 102 accesses a media storage 104 to obtain media data representing a media object 106 such as, for example, a video clip, audio clip, or graphical image. The media server 102 transmits the media data via a network 108 to media receiving devices.
In some cases, a media receiving device receives media data representing a video or audio clip and plays the clip (e.g., decodes and renders audio and video information to produce video image frames as pixels on a computer screen and to produce audible sound of an accompanying soundtrack from a speaker connected to the computer) while the media data is being transmitted. This type of transmission of media data may be referred to as streaming. In a streaming transmission, media data is buffered temporarily by the media receiving device, processed by the device into video or audio information which is presented to the user, and the media data is never stored permanently on the computer.
In other cases, however, a media receiving device receives an entire video clip, audio clip, or image and stores it in a non-volatile memory. This type of transmission of media data may be referred to as "faster than real time reliable download" or FTRRD mode. Once a media object 106 has been transmitted in FTRRD mode, the user may then play the media object 106 at a later time regardless of whether the user is connected to a network. Such a user may also play the video or audio clip or view the image numerous times.
A non-portable media player 110 receives media data representing the media object 106 using a streaming transmission protocol 112. The non-portable media player cannot easily or conveniently be carried from place to place by a user. In accordance with the streaming transmission protocol 112, the non-portable media player 110 interprets the media data as it is received to provide, for example, a video display for a user of the non-portable media player 110. Generally, the non-portable media player discards the media data immediately after interpreting the data to create, for example, a video display, and does not store the media data in any non-volatile memory.
A portable media player 122 receives the media data using a FTRRD transmission method 114. The portable media player 122, at a time T1, receives the media data and stores it in a media file 116 on a local, non-volatile memory 118. During receipt of the media data, the portable media player 122 does not interpret the media data or present it in any manner for user consumption. At a later time T2, a user operates the portable media player 122 to open the media file 116 and to interpret the data in the media file 116 to create a presentation 120 of the media object 106.
Thus, existing systems such as that illustrated in FIG. 1 can transmit a media object such as, for example, a video clip, an audio clip, or graphical image, in accordance with a streaming protocol 112 or a FTRRD protocol 114. The streaming protocol 112 is useful for requesting and immediately playing a media object 106. The FTRRD transmission protocol 114 is useful for acquiring the entire content of a media object 106 for later play or presentation, particularly on a portable media player 122.
FIG. 2 illustrates an embodiment of the system illustrated in FIG. 1. Thus, a computer 202, such as, for example, a personal computer running the Microsoft Windows NT Version 4.0 operating system and having a 300-MHz Intel Pentium processor, 64 MB of RAM (random access memory) and 4.8 GB of hard disk storage, executes media server 102 software such as, for example, RealServer by RealNetworks, Inc. The hard disk storage of the computer 202 includes media storage 104 and the media object 106. The computer 202 is connected to the Internet 204 and World Wide Web.
Another computer 206, having the same characteristics as the computer 202, executes media player software, such as, for example, RealPlayer by RealNetworks, Inc. operating as a plug-in or helper application of a web browser such as, for example, Netscape Communicator. Thus, the computer 206 operates as a non-portable media player 110. The computer 206 is connected to the Internet 204 by, for example, a 28.8 kbps modem using a standard telephone line.
A portable media player 208 is connected to the computer 206. The portable media player 208 has local, non-volatile storage such as, for example, a flash memory. The portable media player 208 also includes a microprocessor and user controls. In addition, the portable media player 208 includes a speaker or other mechanism for reproducing audio information and possibly a display screen for reproducing video information or a graphical image. Examples of such a portable media player include Rio by Diamond Multimedia or Audible MobilePlayer by Audible Corporation.
Generally, the computer 206 communicates through the Internet 204 with the computer 202 to request and receive media clips 106. The computer 206 may use either a streaming transmission protocol 112 or a FTRRD transmission protocol 114 to receive the media clip. Using the FTRRD transmission protocol 114, the computer 206 can store the media clip 106 and transmit it via a data communication line 210 to the portable media player 208.
A content provider operating media server software 102 on the computer 202 may not, however, wish to allow the media clip 106 to be accessed using both a streaming transmission protocol 112 and a FTRRD transmission protocol 114. A content provider may, for example, wish to have users accessing a media clip 106 view advertising information encountered each time the user accesses the content provider's web site (one example of a content providing system). Existing systems do not offer content providers a convenient way to restrict access to certain media clips 106 to only a streaming transmission protocol 112, while allowing other media clips 106 to be selectively enabled for access via a FTRRD transmission protocol 114. The present invention advantageously provides that capability to content providers.
FIG. 3 illustrates an embodiment of the present invention wherein a user accesses a media file via the Internet 204. A user operating a web browser on a computer 206 views a screen display 302 which displays a web page 304. The web page 304 is one of possibly many served to users by a web server 306. In one embodiment, the web server 306 may be the Apache Web Server running on a computer having the hardware characteristics of the computer 202 described in relation to FIG. 2.
The web page 304 includes a download hyperlink 308 and a play hyperlink 310. The download hyperlink 308 has an associated URL of "http://www.content.com/foo1.ram". As will be appreciated by those of ordinary skill in the art, the URL references a file called "foo1.ram" on a web site having a domain name "www.content.com" using the hypertext transport protocol ("http"). Similarly, the play hyperlink 310 has an associated URL of "http://www.content.com/foo2.ram". That URL references a file called "foo2.ram" on a web site "www.content.com."
A computer readable storage 312, which is accessible by the web server 306, includes a media object called "foo.rm" 318. The computer readable storage 312 also includes a foo1.ram file 314 and a foo2.ram file 316, both of which reference the foo.rm media object 318. The foo1.ram file 314 includes a URL of "pnm://www.content.com/foo.rm?mobileplayback='1'." The foo2.ram file 316 includes a reference to a URL of "pnm://www.content.com/foo.rm". As will be immediately appreciated by those of ordinary skill in the art, the "pnm://" portion of the URL indicates a particular protocol. In one embodiment of the present invention, "pnm" refers to a flow control protocol used to transmit data of a media object 106. Further appreciated will be the use of a parameter following the '?' character in a URL string as well as the user of many parameters separated by the '&' character. For example, date and user parameters are specified in the following URL string:
In one embodiment of the present invention, the "mobileplayback" parameter, when set to '1' indicates that an associated media object is being accessed for FTRRD mode transmission. Another access parameter is "streamanddload" which indicates that both a stream transmission and a FTRRD transmission happen simultaneously-the stream transmission typically at a lower bit rate than the FTRRD transmission. Thus, a ".ram" file may be created whose contents include a URL string specifying a protocol (e.g., "pnm://"), a media object (e.g., "www.content.com/foo.rm"), and an access parameter (e.g., "?streamanddload='1'").
It will be appreciated by those or ordinary skill in the art that files compliant with SMIL (Standardized Multimedia Integration Language) may also be referred to by hyperlinks. It will be similarly appreciated that SMIL files (typically having the extension ".smi") can reference a media object 318. One example of a SMIL File has a file name of "foo.smi" and includes the following tags:
In the above example, the "src" parameter of the "