CROSS REFERENCE TO RELATED APPLICATIONSThis application is related to a previous invention Disclosure Document No: 547568 filed with the U.S. Patent and Trademark Office on Feb. 18, 2004 and entitled “A System For And Various Business And Technical Methods For Storing and Distributing Motion Picture Content”.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENTNot applicable.
BACKGROUND OF THE INVENTIONThere are now on the market many products and services that present video and audio content to a user. These range from cable television, pay-per-view subscriptions, video on-demand, conventional video tape recorders (VCR's), digital video disks (DVD's), and more recently personal video recorders (PVRs). In the case of the PVR a user can conveniently record a television program from a cable or broadcast channel for play back at a later time. In fact the user can replay the recorded program as many times as they like.
PVRs are typically a microprocessor coupled to a large disk drive (e.g. in excess of 80 GB), a video presentation chip, a cable TV or broadcast tuner, and coordinating software to record and play back video content. PVRs are available from several companies, but in fact almost any contemporary personal computer can be configured to be a PVR. PVRs have become ever more popular for several reasons. First of course is the convenience of being able to record a program, even while watching another, and to play it back again. Another popular feature is the ability of viewers to fast forward through segments they do not want to watch. This is frequently done to skip over commercials or advertisements, and this has concerned many companies that pay to have their commercials aired during a show and therefore are paying to present the video content that was broadcast.
Another feature of some PVRs is the ability for their owners to duplicate the saved video content using a conventional DVD “burner” or recorder or to add an ancillary disk drive and then later remove it. When this is done the user can share video content on the DVD or disk drive with one or many friends. For sophisticated users the video content can even be rebroadcast or transferred over the Internet. With the right video editing software the video content can be altered, for example to remove commercials. This has caused a great deal of concern in various constituencies, from copyright holders of video content to the sponsors of broadcast programming. Some media content owners may be keeping certain video programming off the broadcast networks and cable services to prevent such potential copying. The content owners just do not want to let their valuable video content be replicated out of their control.
This problem is expected to become of much greater concern as higher quality (e.g. HDTV) broadcasting becomes more common. As movies are available in a sufficiently higher quality, duplication of this content may lead to reduction in revenue for movie studios and producers, perhaps similar to the effect that music sharing network software have been alleged to have on music CD sales.
To overcome the problem of duplication of valuable video content a number of encryption and encoding schemes have been put forward. Many use conventional cryptography algorithms such as public/private key encryption, private key encryption, and elliptical encryption. While any number of these can be deemed adequate at the moment, they are all subject to some level of suspicion that given enough time and computing power, they can be “cracked” i.e. subverted. When video content is recorded on a disk drive and when it is readily available (even at some cost) over the Internet, there may be a temptation for some people to decrypt the video content for illicit redistribution. Modern computers can process billions of instructions in a second, and this is increasing exponentially, so given time any of the current video encryption algorithms may prove vulnerable to being cracked.
Clearly there are enormous concerns over protecting the digital copies of movies that need to be addressed to encourage these content owners to distribute their best quality images over television, cable services, or via Internet communication. However, there are several other problems that need to be addressed to improve the use of current video program services (broadcast or cable).
For example, in spite of a seemingly endless number of cable or satellite channels available in the United States, there remain many demographic groups that cannot find programming to meet their needs. However, in the free market when there is a demand there is often a price at which goods or services will be provided. In the case of media content, it is anticipated that what is not currently available from standard broadcast or cable sources can be made available via the Internet if there is an adequate system of payment implemented. However, as previously discussed media content owners are concerned that an Internet distribution plan without adequate security may lead to a reduction or elimination of the value of their property.
Even when these fears are addressed, there needs to be a convenient method for charging for media content which has not heretofore been possible. This is compounded by the fact that many video consumers still anticipate that programming will be provided to them at no charge in exchange for the placement of commercials. However, if advertisers cannot rely on their commercials being seen by the audience whose programming they support, then they will no longer support the distribution of programming. While an alternative is to shift the cost of watching video content to the viewer, not all viewers will accept this or at least many might want to have a choice over what they have to pay for and what they can watch for free. Existing video media distribution schemes do not allow users to determine if they want to watch commercial messages and pay for programming or to skip these messages and pay a cost associated with each program.
Additionally, there exists the concern that an advertiser may only be interested in paying to sponsor a video program at certain times. For example, if an automobile manufacturer knew that a program they sponsor would be recorded and shown at a much later date (say 6 months later) they might not want to have an advertisement be shown for a model of a car that would no longer be in production at that time. Similarly, other advertisers might be more interested in having their advertisements shown only during the actual hours when they are open.
The concern over the payment for video content is not that of multi-national corporations alone. For example a PVR coupled with video editing software allows any person to record video content and add additional content to it, creating an enhanced video product. One example might be to add subtitles to a video program so an audience in another language can understand it. Another example is to add additional information to a video program (background information in the form or text, an audio track, or supplemental video). Needless to say not every person acting as a “desktop video-editor” will be interested in distributing their enhancements for free. Currently there is no convenient method for these individuals to market their work and receive payment for them.
Current video broadcast schemes do not allow for a high level of user interactivity. Most people are now familiar with highly interactive Internet sites, those that may change what they present based on what they know or think they know (for example from past purchasing history) about the person viewing a web page. For video content presentation, there have not been the same opportunities to customize information provided to the viewer or to let the user interact more meaningfully with a video program or a sponsor of a video program.
Furthermore, existing video media distribution schemes do not offer sponsors of the media any assurance that a commercial or other informative message will not be skipped over by a viewer. There is also no method to vary the advertisements shown to a user customized by the time of day when a video program is watched or other parameters related to the person watching, such as location or other customer specifics.
In general current media content distribution and presentation schemes and contemporary PVRs are relatively inflexible and are not capable of providing users with multiple choices of what they watch, when they watch it, and whether they have to pay for it or if others will. They also do not yet provide a media content security system that can be trusted. Furthermore, these schemes do not have an intelligent process to allow individuals to enhance existing video products or to create, distribute, and charge for their own video content.
A new distribution system is needed to answer these needs and provide the individual with greater control over what they watch.
SUMMARY OF THE INVENTIONThe present invention deals with the problems described above. It provides a new secure method for the distribution and local recording of media content in the form of video and/or audio recordings. These will henceforth be referred to as media content. Although the examples and descriptions in this description generally refer to video, anyone versed in the art will appreciate that the descriptions can apply equally to audio recordings as well. Among other things, the new inventive method improves upon existing encryption technology by making it harder to decrypt media content even when stored on a local computer or PVR out of the direct control of the media content owner.
In one embodiment a customer subscribes to a media content distribution service. The service operates one or more video servers that provide media content to the user for download to a PVR of a customer or local computer, henceforth referred to as an enhanced PVR, or e-PVR. The service, its servers, and the e-PVR are connected to a wide-area network such as the Internet, but other transport networks such as wireless broadcast, cellular etc. are also anticipated. The server provides a catalog of available media content that is accessible to the customer using the e-PVR. While a single company can run the distribution service it can also be a distributed service where independent companies work together. For example some may provide media content for download, while others provide media content security services and yet others provide payment services.
To view media content a customer selects specific media content and commences to download it to the e-PVR for storage on its disk. Presumably, as Internet access speeds improve this only becomes faster, easier, and possible to do so the viewer can view the media content in real time. However even at conventional Internet access speeds, high quality video media content can be downloaded quickly if not yet in real time. Also, in this invention media content can be obtained through other several means of transferring files, for example copying onto physical media such as CDs or DVDs and even by transmission from traditional video sources.
To achieve the goal of improved security for media content, each media content is encrypted using any algorithm or encoding techniques suitable for this purpose, for example public/private key encryption or private key encryption. The video content is stored in a PVR or computer, enhanced with specialized application software, henceforth collectively referred to as an enhanced PVR or e-PVR.
To play media content stored in the e-PVR it must be decrypted. To do this the e-PVR can be programmed with a variety of decryption algorithms and related keys for this purpose.
However, in one embodiment the e-PVR first sends a decryption request message to a distribution service. The message can identify the e-PVR or its owner by including a registration number and/or a credit card number and/or account number and/or a GPS location and/or unique identifiers of the e-PVR. One example of an e-PVR identifier is the conventional Media Access Control address (MAC address) that uniquely identifies each node on a network such as the Internet or even small home networks. It is anticipated that each e-PVR can be part of a digital system such as a network that will have at least two MAC addresses associated with it; one for the connection of the e-PVR to a local network (for example in a home or business) and another for the connection gateway to the Internet or other wide area communication channel. Another e-PVR identifier could be a unique serial number coded within the microprocessor, such as those the Intel Corporation has proposed.
The distribution service determines from the decryption request message if there is an account corresponding to the identification information and if the account is active and in good standing, or it may use other methods to validate the request. The message sent to the service also identifies the media content to be played and some information about its encryption status. For example this may be the type of algorithm used to encrypt it, when it was encrypted, and in some cases, even a segment of the encrypted media content. The purpose of this information is to allow the server to determine what algorithm or process or decryption key is to be used to decrypt the media content.
Assuming there is a valid user account or the e-PVR is registered and/or validated, the distribution service sends to the e-PVR a decryption message including an decryption code or pointer. The decryption code or pointer is then used to enable or activate a decryption process so the media content can be presented using a multimedia display.
To improve the security of media content stored on the e-PVR, it is anticipated that the e-PVR will re-encrypt the video content after a threshold has been exceeded using a new encryption algorithm, encryption key, or encoding scheme. For example this could happen every 4 days, after 2 viewings, after a random number generator produces a particular number, or based upon a message sent from the distribution service. The algorithm for determining this threshold can take into account factors such as the length of time the account has been in existence, how often new devices are added or removed from the digital system and whether there have been administrative issues or complaints that might point to potential abuse of copyrighted content. Presumably a more stable account and one without complaints against it will have longer time intervals between re-encryption processes. Once again it is anticipated that the e-PVR will send a decryption request message to the service and receive a decryption message to decrypt the media content. In some embodiments the e-PVR also receives from the service a new encryption algorithm or new key to use with an existing algorithm. In this manner each item of media content is initially distributed in an initial encrypted format for storage by the e-PVR and after a threshold has passed the media content is decrypted and re-encrypted using a new key or algorithm.
Thus, the decryption process can be a function of the information contained in the media content as well as information on the distribution service. In some embodiments, the e-PVR will copy encryption/decryption information in anticipation of use from the service or the server into its local storage device so as not to be completely reliant on a communication channel to the service.
In another embodiment, the video content is not decrypted, but rather the encrypted content is encrypted again using a new key or encryption algorithm identifier. To play the media content each set of video encryption has to be decrypted to finally provide the decrypted media content. At least one and possibly all of the decryption steps must include the e-PVR requesting a decryption message from the distribution service or a local equivalent.
In another embodiment the media content is divided into portions, one being the main content (i.e. the portion that is to be presented to the user such as the Audio or Video Content), that can be decrypted using a key or specific algorithm or process, collectively referred to as a program key. A second portion includes the media content identification information such as owner, media content name or number, length, cost to play, and any other information of convenience to the user. This information may or may not be encrypted similar to the main content. A third portion contains the program key used to decrypt the main media content. This program key is encrypted using a code, algorithm, or process, which is provided by the service, and after encrypting, this third portion is referred to as the service encrypted program key. The service encrypted program key can be decrypted by the e-PVR requesting a decryption message from the distribution service. The distribution service in return sends to the e-PVR a decryption message (assuming the user has an account in good standing and/or the e-PVR is validated and some form of financial transaction takes place) that specifies a decryption, key, algorithm, or process the e-PVR is to use to decrypt service encrypted program key and thereby reveal the program key. The program key is in turn used to decrypt the main media content. Henceforth the service encrypted program key will be referred to as the SEPK.
However, in the preferred embodiment, the program key may be stored with the media content twice. As previously described, the program key is encrypted and stored as SEPK, which can be decrypted by receiving a decryption message from a distribution service. The second occurrence of the program key can be encrypted and decrypted using information local to the e-PVR and/or the e-PVR owner and/or the local digital system or network, to create keys or identify processes referred to as a locally encrypted program key. For example, when media content is initially stored on the e-PVR, the program key might be stored only once, that is, it is encrypted as the SEPK. The user can purchase the media content for use over a period of time, a number of replays, or for perpetual viewing. In this case, the service can send a decryption message identifying a code, algorithm, or process that is used to decrypt the SEPK to reveal the program key. The program key can then be re-encrypted using an encryption code, algorithm, or process based on the information local to or related to the e-PVR and/or the local digital system or network, and stored as the locally encrypted program key (henceforth referred to as LEPK). The SEPK is often retained for future use as described below. To play the media content the e-PVR then only has to use information local to the e-PVR and/or its local digital system to decrypt the LEPK. Also, the usage rules such as how many times the content can be played can be encrypted and stored along with the LEPK or with other information related to the media content. In this case the distribution service may not need to be contacted for multiple uses or presentations of the media content. By decrypting the LEPK the program key is revealed and then used to decrypt the main program as previously described provided the number of views or time period or other rules are still valid.
One advantage of using an SEPK and LEPK system to store the program key is that one e-PVR user can send or distribute a copy of specific media content to an e-PVR owned by second person. The second person will not be able to decrypt the LEPK created and stored by the first e-PVR as it is unique to the first e-PVR, its nearby network, or user; so the second e-PVR will not be able to use the LEPK and can delete it. However, the second e-PVR can send a message to the media content distribution service to request a decryption message to decrypt the SEPK, which is included in the transfer of the media content, to reveal the initial program key. Provided other conditions described above are met (for example a financial transaction is completed) a decryption message will be sent to decrypt the SEPK revealing the program key that is used to decrypt the media content allowing it to be presented, presuming that an associated financial transaction succeeds.
In some cases the decryption request message sent to the distribution service to request a decryption message may include identification of the first e-PVR or the account of its owner. In this manner distribution of media content not using the distribution service can be tracked, for example in a peer-to-peer community. In some cases a message including identification data is sent to the distribution service every time an e-PVR receives media content from another e-PVR, as opposed to the service. This will allow the service to track how media content is distributed, even if any e-PVR in a distribution chain does not decrypt it for presentation.
Similar to a previous embodiment, the LEPK can be decrypted revealing the program key and re-encrypted to form a new LEPK from time to time or after a certain number of media content presentations. Alternately the LEPK can be successively encrypted so that to decrypt it each level of encryption must be decrypted. The re-encryption process can be based on information uniquely attributable to the e-PVR and/or its owner and need not involve the distribution service. However, even in this case, the keys, algorithms and processes may have originally been obtained from the service.
It has previously been mentioned that the SEPK and/or LEPK can be decrypted and re-encrypted from time to time, after a number of presentations, by request from the service, etc. The main media content can also be decrypted and re-encrypted based on a time or activity threshold being exceeded or by command from the distribution service. This process need not be synchronized to the re-encryption of the SEPK or LEPK. However, it is anticipated that when the main media content is re-encrypted that a new program key will be created (that is the key that identifies a key, code, algorithm, or process to decrypt the media content) and will also have to be encrypted as previously discussed and stored as an SEPK and/or an LEPK.
Another advantage of the SEPK and LEPK system previously described is the ability given to the user to be able to view content recorded locally or purchased for multiple viewings as described earlier on the other e-PVRs on the same local digital system. For example, a home user who has purchased media content on one e-PVR can then view it on any other e-PVR in their home, and in some cases can even carry a portable device away from the home network and continue to play the content for a limited period of time.
Yet another advantage of this LEPK/SEPK system is that a first person can create or record their own media content and protect it using a program key, that is one that is locally generated, and also itself locally encrypted, that can in turn be decrypted without requesting a decryption message from the distribution service then allowing the media content to be decrypted. In this case the created media content can be sent or transferred to the e-PVR of second person. For the second person to decrypt the created media content they cannot use the LEPK as their e-PVR is not capable of doing this as it does not share the same local information or qualifiers of the first e-PVR. In order for the second person to play the created media content the first person who created the media content registers their created media content with the distribution service. As part of this registration process, the first e-PVR can provide the program key, which is then stored on the distribution service. When the second e-PVR requests a decryption message by identifying the created media content, it will then be provided the information needed to obtain the program key (again assuming a successful financial transaction) that is then used to decrypt the created media content. At this time, the program key can encrypted on the second e-PVR with a new code, algorithm, or process and this can be saved with the media content as an LEPK as described earlier.
When media content is recorded (for example from a broadcast or cable service) and the content is not owned by the person who recorded it, local law may require them to pay to view it again, or to distribute it, so they will need to supply the owner's name if it is not already captured, so that the owner can be credited financially for the content. However, as described later, the media content owner can embed all the necessary information into their content, even when the user obtains it from a source such as a TV broadcast (see description below of participating owners).
In some cases the created media content does not include a program key, but only information identifying who created the media content. When an e-PVR receives the created media content the receiving e-PVR contacts the distribution service identifying the created media content. The distribution service then contacts the e-PVR or other device that created the media content, which then sends the program key to decrypt the created media content to the distribution service. The service encrypts the program key as an SEPK and sends it to the receiving e-PVR for storage with the created media content. To play the created media content the receiving e-PVR contacts the distribution service to request a decryption message to decrypt the SEPK as before.
Similarly, a person can use an e-PVR to enhance an existing media content, for example by providing subtitles or other information to accompany the media content, such as viewer ratings so specific portions of the media content can be skipped over when it is presented, for example skipping adult scenes when presented in a family environment. The original media content can be encrypted as before and the enhancements can be encrypted using the same process described for created media content. In some cases the original media content and the enhanced content are encrypted together, similar to created media content referenced above.
In another embodiment the e-PVR is used to record media content from broadcast or cable television services. In this case, copies of the media content can be made (e.g. on a DVD) and sent to others to view. However, to provide improved security to the media content owners each media content recorded in the e-PVR can be encrypted as it is recorded. The encryption process can be directed by the e-PVR or distribution service. In the former case the encryption process can be related to one or more e-PVR identifiers or locally stored keys. In the later case the distribution service works cooperatively with the broadcast service. When media content is stored by the e-PVR, it appears to be just another media content downloaded from the distribution service that can be decrypted and when desired re-encrypted as before. In some cases media content can be originally transmitted in a form directly compatible with the encryption process of the e-PVR.
In another embodiment the distribution service customer may also be a media content creator in the sense that they produce original content or they add enhancements to existing media content. Their creative work can be stored on the e-PVR in an encrypted format or not. If they want to distribute their work with no controls over it they can make DVD copies of transfer it on the Internet as they choose. However, in this case their work may be further distributed without their permission or knowledge. Instead, the customer can use the distribution service and above described features of the e-PVR to aid in controlling how their work is distributed.
The customer can encrypt their work using an encryption key or process provided by the distribution service. The customer can describe their work and can add this information to the content as media information. The work can either be uploaded from the e-PVR to the service or another server or the e-PVR can act as a server, for example as part of a distributed network. Another person can select this work to download. However, it can only be decrypted for presentation by requesting and receiving a decryption message from a distribution service as previously described. It is further anticipated that the customer creating new work can specify controls over the distribution of their work, for example that it is only available to specific other subscribers, that it can only be presented or decrypted during a specific time period, or that a specific payment must be made to decrypt it, as described below.
In many cases the distribution service will work cooperatively with the media content owner, whether a dedicated media company or an individual creating their own media content or enhancing existing media content by adding additional content or information. This cooperation extends beyond just ensuring media content are encrypted and cannot be shared with others. In many cases media content owners have to pay the costs for producing media content and must be repaid for their investment. One method of doing this is to associate each item of media content with a cost. This information is stored as part of the media content and may be in the form of a fixed numeric cost, cost rules, a link to a cost or even as a link to cost rules. It is anticipated that by using these links the cost can be changed over time, for example to increase it for particularly popular media content or reduce it for those of low interest.
When media content is to be played the customer is notified of the cost of the media content and can agree to have this cost charged against an account maintained by the distribution service or a credit card or debit card account. By agreeing to pay for the media content the customer can obtain a decryption message from the distribution service and the media content owner is credited with a payment, presumably minus a service charge of the distribution service. Payment schemes are anticipated that allow the customer to view the media content once, several times, or even to play it as many times as they want. This information can be stored with the media content or in the account of the customer in a server.
However, there may be companies willing to subsidize the customer's viewing of media content in exchange for the customer also viewing informative messages during the presentation of the media content. Informative messages can be conventional advertisements or commercials or public service messages, but can also be interactive surveys that the customer responds to prior to the media content continuing. For example, let us say a media content owner has established a charge of $2.00 for media content to be presented. If there are enough companies willing to pay in aggregate $2.00 for presenting informative messages during the media content then the customer is given the option of not having to pay to watch the media content. However, to ensure good value for their sponsorship the software that presents the sponsored media content should be set to not fast forward over these informative messages. In some embodiments, the user may be allowed to fast-forward, but the credit for the informative message that is skipped will not be given to the user
To facilitate the presentation of informative messages a media content owner or the distribution service may identify segments in media content before or after which an informative message can be presented. These segments can be marked using XML codes, time events, frame counts, or any other method the e-PVR can recognize to segment media content. It is anticipated that these informative messages can be downloaded or captured from a television feed, independently of the media content or they may even be received in real time as the media content is played, but separate from the media content. Informative messages can also be obtained by other methods in the same manner as media content is obtained, for example through any form of file transfer or traditional video broadcast.
The sponsors of media content may determine if and how much they want to pay for an informative message to be displayed based on a variety of factors. One is the time of day media content is played, for example a late night pizza restaurant may not want to advertise if media content is being played during the mid-morning. Another factor can be month of the year—a company promoting snow blowers will not sponsor a show during the summer. Similarly the company will not want to advertise its products to e-PVRs located in Florida, or they may want to pay a higher price for a specific area whose demographic is more attractive to them, so geography can be another factor. Other identification information about the e-PVR or the customer that uses it can be factored in to determine if and how much a sponsor will pay of the cost to present media content.
If there are not enough sponsors that in aggregate are willing to pay the $2.00 cost of the media content in this example, the customer can elect to pay the difference to present the media content or they can select a different media content. In one embodiment the customer is billed initially for the $2.00, and as informative messages are played their account is credited with the amount offered by the sponsor to present an informative message. In some cases it is possible that the customers account is actually credited with more than the $2.00 cost, or the payment for the informative messages total more than $2.00 and the remainder is credited to the distribution service or other related entity. In fact there is no reason to inform a sponsor either of the total cost of the presenting media content or how much money has already been accumulated to present it, or the amount of the credits to the customer or the distribution service.
Generally, the cost charged to the sponsor for the informative message is embedded in the informative message, in a manner similar to the media information and the cost that is embedded in the media content. As described above, this may be a simple number, a set of rules, or a link to either of these.
Thus, the development of an e-PVR coupled with a distribution server allows an increased level of security for media content owners and at the same time provides several new services to customers using the distribution server.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic drawing of a media distribution system;
FIG. 2 is a table listing examples of media content;
FIG. 3 shows typical contents of media information;
FIG. 4 shows typical contents of section flags related to media content;
FIG. 5 shows media content divided into sections, before (a) and after (b & c) media enhancements;
FIG. 6 shows typical contents and examples of informative messages;
FIG. 7 is a schematic of digital systems with enhanced e-PVRs;
FIG. 8 shows the contents of media package as stored on a media distribution server;
FIG. 9 shows the contents of media package as stored on an e-PVR;
FIG. 10 shows the typical contents of a storage device of a e-PVR;
FIG. 11 is a schematic view of a possible configuration of a distribution service;
FIG. 12 shows the contents of a decryption request message;
FIG. 13 shows the contents of a decryption message;
FIG. 14 shows the contents of a re-encryption or encryption message;
FIG. 15 shows the contents of an information request message;
FIG. 16 shows the contents of an information message;
FIG. 17 shows the contents of an encryption request message;
FIG. 18 shows an example of the contents of a button list;
FIG. 19 shows an example of the instructions used to interact with media content and informative messages;
FIG. 20 is a flowchart showing the typical steps used to obtain, decrypt, and present media content in the second embodiment;
FIG. 21 is a flowchart showing the typical steps used to obtain, decrypt, and present media content for in third embodiment.
DESCRIPTION OF THE INVENTIONIn the description of the invention similar objects or items will be referred to by the same number where for the second, third, or fourth such item the number will be followed by a lower case letter, for example twoseparate processors384 performing the same or very similar purpose will be referred to asprocessor384 and384a. Typically a lower case letter “n” signifies the possibility of an indeterminate number of instances and a lower case “i” signifies an index such as the “ith” item out of “n items”. Also, multiple subscripts are used to signify a relationship, for example section information174aais different from but related to (for example in conjunction with or instead of) section information174a.
This invention relates to a multi-platform media distribution system100 (seeFIG. 1) formedia content102. Media content102 (see Fig. F2) can be a video with audio recording (for example movies, television programs, educational courses, sports programs, etc.), video only recording, or an audio recording (for example music or educational presentations).Media content102 is typically encrypted and decrypted prior to presentation by any of several methods described below. Preferably,media content102 is associated with media information104 (seeFIG. 3), which generally describesmedia content102 or provides information aboutmedia content102.Media content102 andmedia information104 are combined to form media package106 (SeeFIG. 8).
Media package106 is obtained from computers or servers by a personal video recorder enhanced with specific programming described below, now referred to as enhanced personal video recorder or e-PVR110, to allowuser112 ofe-PVR110 to viewmedia content102 when desired. The servers can be part of adistribution service120 thatuser112 ofe-PVR110 subscribes to or the servers may be run independently ofdistribution service120. In somecases media package106 is obtained from a second e-PVR110a.
Media information104 is comprised of a uniquemedia content identifier130, a uniquemedia package identifier131, a title, list of actors, writers, director, producer, studio, date of production,owner132 ofmedia content102, cost134 to presentmedia content102, presentation time duration, sections flags136 (which allow content to be logically divided into sections), and in some cases decryption information138 that describes howmedia content102 can be decrypted. When appropriate, one or more link to additional information140 is included, which can be used to linkmedia package106 to another media content102aor to other information available withinmedia distribution system100 or over the Internet or other wide area network150 (FIG. 7). Link to additional information140 may be a hyperlink, a file transport protocol (FTP) request, a database access command or other means of obtaining information from a specified computer. All or most of the information withinmedia information104 may be a link to information on another computer, for example cost134 instead of being a cost expressed numerically may instead be a link to computer that determines the cost on a dynamic basis using various rules and/or scripts.
Media information104 can also includedigital rights rules152, which can be used to determine when and how manytimes media content102 can be presented and may govern other aspects of the rights ofowner132 related tomedia content102.
Any or all ofmedia information104 can be static or it can be dynamically determined using calculations or rules. For example cost134 may include rules for different costs based on the zip code or other components ofe-PVR information160 or the rules can be looked up using links to additional information140.
As previously mentionedmedia content102 can be divided into one ormore sections170 as seen inFIG. 5. Section flags136 (seeFIG. 4) are used to characterize eachsection170 and can be comprised of section data172 which defines the start and end of a section ofmedia content102 and may be expressed as times, frame counts, or pixel numbers. Each section data172imay also have corresponding section information174i, providing information about that section, for example a violence rating or information otherwise associated with that section such as subtitles.
In some cases section data172 may have more than one section information174 associated with it, for example to store subtitles and additional ratings relevant tosection170. Section information174 can also include an “External User Action” for that section that can be selected byuser112 whensection170 is presented or anothersection170aproximate to it is presented. Section information174 can also be associated with identifier176, which identifies the person or group who provides section information174, for example the identify ofowner132 or that ofuser112 acting as a Media Enhancer. Section information174 can also be associated with section cost178, which is similar to cost134, but now related to just aspecific section170.
Sections170 may be logical or physical sections consisting of separate video segments andmedia content102 is presented by playing eachsection170 successively. For most uses of these sections it may be assumed, unless noted, that sections are created by logical segmentation rather than physical. Sections may coincide with events related to the content such as scene changes. Thesections170 and section data172 can be created byowner132 or byuser112 acting as a Media Enhancer who can enhance the content by adding additional media information104aas described below.
As mentioned section information174 can include ratings for that section on various scales such as for Sex and for Violence. These are similar to, for example ratings such as “G”, “PG”, or “R” common to ratings of entire movies, but now applied tospecific sections170 ofmedia content102 and can be significantly more granular (allowing for example, rating from 1 to 100 or from DDD− to AAA+). Ratings on other scales are also be anticipated such as quality of acting or cinematography and can also be qualitative and descriptive rather than quantitative. When ratings are present,e-PVR information160 can be used, such as the preferences/profiles334 in user list333, to determine whichsections170 are to be shown touser112.
Media package106 (seeFIG. 8) includesmedia content102 which can be encrypted andmedia information104 which can optionally be encrypted. In all the embodiments of theinvention media content102 is decrypted usingprogram key200.Program key200 can be obtained in some embodiments by using decryption information138, while in otherembodiments program key200 is obtained using one of service encrypted program key (SEPK)210 in conjunction withservice decryption information212 or locally encrypted program key (LEPK)220 in conjunction withlocal decryption information222. When used,SEPK210 andservice decryption information212 and/orLEPK220 andlocal decryption information222 are stored as part ofmedia package106.
Media information104 may consist of some or all of the elements shown inFIG. 3, but may also contain information not shown. It should be emphasized thatmedia information104 is a flexible format allowing for the introduction of other elements not envisioned in the current invention. Any of the above described information may be omitted, and this may impact the use of the media content, however no information is absolutely required in every situation. The information comprisingmedia information104 including those mentioned above can be present anywhere withinmedia package106, and can be delineated by tags, symbols, names, field definitions sub-field definitions or any other recognizable markers or combinations thereof.
Media information104 can be encrypted and may use encryption and decryption methods including, but not limited to using the same key/algorithm/process used to decryptmedia content102. Preferably, as described later, relevant portions ofmedia information104 should be available either without decryption, or without requiring the security of any other portion ofmedia package106 to be compromised.
One or more sponsors230 (commonly referred to as advertisers in traditional TV broadcasting) may choose to pay part or all of cost134 to presentmedia content102, in exchange foruser112 being presented with informative messages232 (seeFIG. 6). Informative messages232 are similar tomedia content102. Informative message232 is combined with message information234 to create informative message package236. Informative message232 can be a commercial, advertisement, or an email message; or in some cases it may be the information needed to create any of the above. Message information234 is similar tomedia information104, however wheremedia information104 hasowner132 and cost134 message information234 has sponsor230 and payment238. In some cases informative message232 can have SEPK210 andservice decryption information212 and/orLEPK220 andlocal decryption information222. Informative messages232 can be obtained as part of informative message package236 byuser112 in the same way asmedia packages106 are obtained (for example by downloading), or they may be automatically acquired bye-PVR110.
e-PVR110 is used within digital system250 (seeFIG. 7) and is typically comprised ofprocessor252, storage device254 (e.g. a disk drive),network interface256, a conventional television receiver258 or a link to one, acable television box260 or a link to one,application software180 running on an operating system262 (application software180 and e-PVR110 are used interchangeably in this document), a special security module270 (described more fully below), and optional media editing, creation, orenhancement software272.e-PVR110 is typically connected to an audio visual system such as a home entertainment center or an audio visual display orpresentation device274, such as a television or a LCD or plasma display or even an audio only presentation device. Some functions ofapplication software180 may be performed in the hardware and so a function that is described as performed bye-PVR110 may be performed byapplication software180 or by hardwired components ofe-PVR110. The e-PVR need not have all of the components described here. For example, it is anticipated that some specialized versions of the e-PVR may not contain television receivers258 orcable boxes260 and may only have anetwork interface256. In fact, any standard desktop PC withapplication software180 may be called an e-PVR. e-PVR110 also typically contain certain unique identifiers such as a MAC (Media Access Control)address338 associated withnetwork interface256 andlocal hardware identifiers336 that can consist of one or more of a processor serial number, a serial number and other such identifiers.
Typically, one or more e-PVRs110 are part of digital system250 (seeFIGS. 1 and 7) which is generally used to create a localized network or group of cooperative electronic devices. Frequentlydigital system250 is owned or operated byuser112 and used within the residence or office of auser112.
Also shown inFIG. 1 isremote control280 with at least one selection knob orbuttons282,282a,282band a communication channel (for example infrared or Bluetooth)284 toe-PVR110.Remote control280 is typically used in conjunction withpresentation device274 allowinguser112 ofe-PVR110 access to common functions such as to start, stop, rewind, fast-forward etc. or to interact withmedia content102,media information104, orapplication software180; through which it can also be used to interact withdistribution service120 or other media content or devices onnetwork150 ordigital system250.Other input devices286 such as a keyboard, touch screen or voice recognition apparatus may also be used to provide interaction between theuser112 and e-PVR110 and by extension the rest of the system as described above.User112 may also use these devices interchangeably withremote control280 for example to perform more complex tasks such as entering passwords if needed or performing text searches for content or within content.User112 when enhancingmedia package106 by means of media editing, creation, orenhancement software272 may presumably also use these input devices and when doing souser112 will henceforth be referred to as a Media Enhancer. A Media Enhancer can also be a person who uses a personal computer or workstation using a version of media editing, creation, orenhancement software272, conceivably unrelated toapplication software180.
e-PVR110 communicates vianetwork interface256 andInternet gateway connection290 acrossnetwork150 with various components ofmedia distribution system100, forexample distribution service120 and other information and content sources described below. Usingnetwork150 e-PVR110 can send messages to and receive messages fromdistribution service120. e-PVR110 can interact withdistribution service120, or other sources to obtain a list ofmedia content102 that can be obtained and by selecting aspecific media content102 it is downloaded or sent to e-PVR110 by other means as part ofmedia package106.Media package106 can also be transferred toe-PVR110 by copying it using commonly used media such as a CD or DVD or transferred using email, FTP or any other methods of file transfer (such as incremental or progressive transfer or using systems like BitTorrent). In fact all packages described in this invention can be transferred by any of these means and by any other means used now or in the future to transfer computer files. They can also be transferred as described later by any means of transferring video whether by analog or digital means, and the transfer can includemedia information104, which can be embedded in the transmission in various ways as described later in this document. Hence, in this document, all references to “obtaining” should be taken to mean any of these means of transferring content or information or packages containing them and the terms “obtaining” and “downloading” can be taken to mean the same act unless repugnant to the context in which the terms are used.
For clarity when discussingmedia content102 transferred, residing, or stored one-PVR110 it will henceforth be referred to asmedia content302, for example when stored using storage device254 (compareFIGS. 8 and 9). Similarlymedia information104 when transferred, residing, or stored bye-PVR110 will be referred to as media information304 (seeFIG. 9).Media package106 transferred, residing, or stored bye-PVR110 will be referred to asmedia package306.
Furthermore, informative messages232 when transferred, residing, or stored one-PVR110 will henceforth be referred to as informative messages312, message information234 will be referred to as message information314, and informative message package236 will be referred to as informative message package316 (SeeFIG. 6).
e-PVR110 is designed to allow obtained media content302 (as part of media package306) to be decrypted and presented usingpresentation device274. In somecases media package306 is obtained partially, for example,media information304 is downloaded and only a location is reserved formedia content102 inmedia package306.Downloaded media information304 is presented touser112 to make a decision on whether they want to view it. A first portion of themedia content102 can be downloaded on request and this portion may represent afirst section170 as marked by section flags136 (seeFIGS. 4 and 5). The remainder of themedia content102 can be downloaded whenuser112 chooses it either to download and/or to present. This can be done simultaneously whilee-PVR110 is presentingmedia content302, that is,media content102 is decrypted and presented simultaneously while it is being stored asmedia content302. Further, onlycertain sections170,170acan be downloaded orcertain sections170 can be downloaded first and others say,170b,170cmay be downloaded later.
Storage device254 is used to store a variety of information referred to as contents330 (seeFIG. 10) such ase-PVR information160, which can includedistribution service120 account number, the serial number ofe-PVR110, owner identification information (for example name, credit card number, or other identifier)332, a user list333 which may include viewing preferences/profiles334 for each user or groups of users (for example different preferences for children versus adults). Storage device254 is also used to store a variety ofmedia packages306 and informative message packages236. Storage device254 may be logically extended by using storage on apersonal computer350 or another e-PVR110aon the samedigital system250, or even on remote storage such as storage and backup services provided by service providers and these can all be considered local toe-PVR110.
Personal computer350 may have many of the same features ofe-PVR110 for example storage device254 withcontents330 as described above. It may also optionally contain a special version of the application software180ato allowpersonal computer350 to act as an e-PVR110 as well as a special version of media creation, editing and enhancement software272ato allow a user acting as a Media Enhancer greater flexibility and power when using or enhancingmedia information104 ormedia content102. Additionally,personal computer350 can be used to controle-PVR110, to store and send content in the form ofmedia packages106 toe-PVR110, or for other functions described below.
As previously mentionedmedia content302 is encrypted using various methods as described above prior to distribution.Media information304 can be encrypted or not and when encrypted it is desired that at least portions of it can be decrypted bye-PVR110 without assistance ofdistribution service120, or that after portions of it are decrypted once they can be stored and accessed without an additional decryption process. Usually, any time that theMedia Information304 is decrypted, such as for presentation to the user, relevant portions are copied into another section of theMedia Package306, as plain unencrypted text that can be presented to the user at any time. Additional media information304athat is created (as described later under Enhancing Media Package) by a Media Enhancer and not theoriginal content owner132 can also be included for display or presentation in plain text.
FIG. 7 showse-PVR110 as part ofdigital system250. Now shown isInternet gateway connection290 such as a Cable/DSL modem that connects to thenetwork150 and creates alocal area network352, such as an Ethernet LAN. Onlocal area network352,router354 can be attached to allowlocal area network352 to be shared by multiple digital devices such ase-PVR110, one or morepersonal computers350, or one or moreconventional PVRs360. An accessory e-PVR110ais also shown as more than one may be used withdigital system250 and they may sharemedia content302 and otherwise work cooperatively and divide work and available storage.
Also shown is seconddigital system250aseparate from, but similar to,digital system250, with its own e-PVR110b. In some situations, e-PVR110bcan obtain media content from e-PVR110 (and vice-versa) as well as fromdistribution service120.
Media distribution system100 is comprised of one ormore distribution services120 linked vianetwork150 todigital system250 and thereby toe-PVR110. Preferably,e-PVR110 communicates withdistribution service120 and other computer systems or servers or any other capable devices in an encrypted manner for secure communication.
Distribution service120 is designed to be a service to customers allowingmedia content102 obtained from any source using e-PVR110 to be presented to them and to control the use of thismedia content102, even when it is obtained from other sources outside ofdistribution service120, for example from one e-PVR110 to another e-PVR110bin separatedigital system250a. Specificallydistribution service120 can be comprised of (seeFIGS. 1 and 11) at least one each of encryption/decryption server370,payment server372, anddistribution server374. Optionally, and preferably, it can also include one or moremedia content servers376,general purpose servers378,informative message servers380 and streamingvideo sources382. Multiple instances of payment server372a, media content server376a, general purpose server378a, informative message server380aand streaming video source382amay also exist independently outside ofdistribution service120. In some cases it is possible to envisiondistribution service120 without some of the usually included components, for example adistribution service120 that distributes free content may not include apayment server372.
These servers and their roles are fully described below, but are logically composed of one ormore processors384,384a, . . .384n(SeeFIG. 11) each coupled to one or moredigital storage devices386,386a, . . .386n, such as large magnetic disk drives.Processors384,384a, and others can be linked by arouter390 to the Internet or similarwide area network150 or other communication channel.Processors384,384a, . . .384ncan communicate with each other usinginternal communication channel392 or vianetwork150. Each server may be comprised of more than oneprocessor384 and more than onestorage device386 to accommodate its computational and storage needs.
Distribution server374 can be used to direct messages or portions thereof to the appropriate server. When needed,distribution server374 can maintain information about user accounts and receive decryption and encryption requests, payment information messages, and can manage other servers. Whendistribution service120 receives messages frome-PVR110 these messages (or portions of the message) are routed to the appropriate server, for example financial transactions can be forwarded topayment server372.
Encryption/decryption server370 provides keys, algorithms, and processes as requested bye-PVR110 for various decryption and encryption tasks.
Payment server372 is used to complete financial transactions such as charging users credit cards, paying for content in a pay-per-view scheme, or for managing the financial portions of subscriptions or memberships to various media content servers.
General purpose server378 is used for ancillary tasks, for example to provide information or support to the links to additional information140 embedded inmedia information104. Generally such a server may have application software associated with tasks it is able to perform, for example a database, or web server software.Media content server376 is used to storemedia packages106 which can be obtained bye-PVR110.Informative message server380 is used in a parallel fashion to store informative messages312 as part of informative message packages236 (seeFIG. 6), which can be obtained bye-PVR110. Streaming Audio/Video source382 can be an encoder or server providing for example, a Multicast or Unicast stream of content.
Payment servers372a, media content servers376a, general purpose servers378aand informative message servers380athat exist independently outside ofdistribution service120 can be owned or operated by their respective owners or agents. For example,media content server376 may be operated by a studio that owns the content or by a distributor of video content who distributes content from many different owners.
All or any combination of the above mentioned servers can be physically or logically a single server. If however, they are separate servers, they can be located physically within different networks and they may even be owned and operated by separate business entities no matter where they are located. For example a production studio can maintainmedia content server376, and a credit card company or an Internet transaction company such as PayPal can maintainpayment server372. If these servers are separate they can be linked to each other directly viarouter390, acommunication channel392 toprocessor384, vianetwork150 or by any other communication network or channel.
Distribution system100 can also includecable television service394 connected to e-PVR110 bycable396, wirelesstelevision broadcast system398 transmitting via terrestrial basedwireless communication400, satellitetelevision broadcast system402 viasatellite wireless communication404, or connections to other media transmission systems.
It is also anticipated that whene-PVR110 receivesmedia content102 from television or other wireless or cable broadcasts, that it can digitize these and store it as part of storedmedia package306. When media editing, creation orenhancement software272 is used by a Media Enhancer to create or modifymedia content302 to create an enhanced media content302a,e-PVR110 will store this as part ofmedia package306. This process is described more fully under “Recording Media Content from Video Input” and other sections later in this document.
Whenmedia content102 is received via broadcast means (for example by cable, broadcast television, or satellite broadcast)media information104 may also be provided. In other cases it is not provided and can be created and/or obtained, so media information is preferably present, butmedia package106 is ultimately always present for this media content.
As described abovedistribution system100 can also include a variety ofmedia content servers376 outside those ofdistribution service120. In fact media content can be obtained from e-PVR110bin a seconddigital system250a, fromtraditional PVRs360 and even other digital and analog devices such as traditional Video Cassette players or DVD players. This content may be obtained by downloading, via email or even by copying DVDs or other such media and physically moving the media between devices. When downloaded, the content may actually be obtained using FTP, HTTP or similar well-known protocols, but also by non-standard protocols such as BitTorrent and others.e-PVR110 is also capable of receivingmedia content102 fromcable television service394,television broadcast system398, or satellitetelevision broadcast system402 by digitizing it when necessary. When obtained from such traditional or new analog sources such ascable television service394 and others described above, content is captured rather than downloaded, and this process is described more fully under “Recording Media Content from Video Input” later in this document.
First Embodiment
In thefirst embodiment e-PVR110 interacts with at least onedistribution service120, storage254 one-PVR110,media content server376, a second e-PVR110a, a third e-PVR110bin a differentdigital system250a, or transferred by commonly used media such as DVD, email, FTP or other protocols or any file transfer or data transfer methods including analog sources described above such as broadcast TV. Thus, a list ofavailable media content102 is provided to the user ofe-PVR110 to select from. By making a selection from this list, aspecific media package106 is retrieved for example, byprocessor384dfrom astorage device386dthat is part of adistribution service120 and sent to e-PVR110 vianetwork150. This can be via any of a data transport protocol such as FTP, HTTP, or via an e-mail attachment or a simple read from disk operation or any other data transfer method.e-PVR110 stores the receivedmedia package106 as storedmedia package306, as part ofcontents330 on storage device254 (seeFIG. 10).
In this embodiment onlymedia content102 andmedia information104 are needed as part ofmedia package106.Media content102, and in some cases portions ofmedia information104 are encrypted prior to distribution bydistribution service120,media content server376,general purpose server378, or even e-PVR110 (for example when acting as a media content server376) using any suitable encryption algorithm or process, such as DES-5, public-private key encryption, private key encryption, or others.Media information104 has information that describes themedia content102. In this embodiment it also includes decryption information138 which can be used to obtain the information describing the decryption code, algorithm, process or combination thereof (collectively referred to as the program key200) used to decryptmedia content102.
When transferred toe-PVR110media content102 is stored asmedia content302. When it is to be played or presented, e-PVR110 can usemedia information304 to determine ifmedia content302 is still available for presentation (for example by checking cost134 rules or by checking digital rights rules152).
e-PVR110 then sends at least a portion ofmedia information304 and in some cases at least a portion ofe-PVR information160 todistribution service120 in decryption request message430 (seeFIG. 12). Not all the elements ofdecryption request message430 are required to be present. In this embodiment, for example,service decryption information212 andSEPK210 are not provided, but decryption information138 (part of media information304) is provided. Additionally, other than decryption information138, only the portion ofmedia information304 that is enough to identify storedmedia package306, and the portion ofe-PVR information160 that is enough to identify the e-PVR110 todistribution service120 are needed to be sent.
Decryption flag432 may be included indicating thatmedia content302 is to be decrypted and presented. In other embodiments decryption flag432 is used to convey information todistribution service120 indicating a specific operation is to be started regarding the decryption and/or encryption ofmedia content302 or other encrypted portions ofmedia package306. In somecases user112 usesremote control280 to selectpayment434, which is also sent todistribution service120.Payment434 is debited from a financial account ofuser112 and paid todistribution service120 and/orowner132. In somecases payment434 can be substituted for decryption flag432.
Whendistribution service120 receivesdecryption request message430 and it is flagged for presenting media content and by extension a financial transaction, it performs a “Payment Step” as described under “Paying for Media Content”—in some cases even when cost134 is zero or negative. If “Payment Step” is successful, encryption/decryption server370 is then used to determine howmedia content302 is to be decrypted by examining decryption information138.
Decryption message440 (seeFIG. 13) is then created by encryption/decryption server370 and sent toe-PVR110.e-PVR110 uses thedecryption message440 to determine how to decryptmedia content302. For example the decryption message can provide a code or identify an algorithm or process or any combination of these, collectively referred to asdecryption description442.Decryption description442 is used bysecurity module270 to decryptmedia content302, which is then presented usingpresentation device274.
To increase the security of storedmedia package306,media content302 can be decrypted and then re-encrypted bysecurity module270 based on a threshold being exceeded. This process will be referred to collectively as re-encryption and a variety of thresholds can be used to determine when this will be done. For example it might be done after a period of time has passed such as every 2 days, or after a number of viewings or presentations has been exceeded, when a random number generator provides a predetermined result, or re-encryption can be remotely commanded bydistribution service120 or in some cases bycontent owner132, by sending a message toe-PVR110. Any one of these thresholds can be monitored or a combination of them can be used. The algorithm for determining this threshold can also take into account factors such as the length of time the account has been in existence, how often new devices (such as e-PVR110a. . .110n, or personal computers350) are added or removed from the digital system and whether there have been administrative issues or complaints that might point to potential abuse of copyrighted content. For example, a more stable account that has been without complaints can have longer time intervals between re-encryption processes.
Whenmedia content302 is to be re-encrypted,e-PVR110 sendsdecryption request message430 with decryption flag432 indicating a re-encryption process is to be started.Distribution service120 uses encryption/decryption server370 to createre-encryption message450, which is sent (seeFIG. 14) toe-PVR110. Whendistribution service120 is remotely commanding e-PVR110 tore-encrypt media content302, it sendsre-encryption message450 toe-PVR110 without a prior request to initiate the re-encryption process.
Security module270 uses decryption description442 (in re-encryption message450) to decryptmedia content302, and to then encrypt the decryptedmedia content302 using content re-encryption description452, which as before can be an encryption code, designated algorithm, or processes or a combination thereof. Following the re-encryption process decryption information138 inmedia information304 is updated to identify howmedia content302 can be decrypted. This information can then be sent in the future todistribution service120 when a new decryption message is requested.
In some cases it may be sufficient to instead of decryptingmedia content302, that it be encrypted again using content re-encryption description452. To obtainmedia content302, it must be decrypted multiple times (once for each encryption process that it has been subjected to). Decryption information138 is updated to reflect each encryption performed onmedia content302.
Second Embodiment
In a second embodiment,media package306 includesSEPK210 andservice decryption information212. In thiscase media content302 is encrypted in such a way that a code, algorithm, or process or any combination of them, referred to asprogram key200 can be used to decrypt it at any time. However,program key200 is also encrypted using another encryption process and stored asSEPK210. Information relating to howSEPK210 can be decrypted is stored inservice decryption information212.Distribution service120 usesservice decryption information212 to determine how to decryptSEPK210, for example using encryption/decryption server370.SEPK210 cannot be decrypted only usingservice decryption information212, but further decryption information must be obtained from encryption/decryption server370.
As before the user ofe-PVR110 selectsmedia content102 from a catalog ofavailable media content102 from distribution service(s)120,120a,media content servers376, . . .376a, locally frome-PVR110, a separate e-PVR110a, other devices indigital system250, or even a second e-PVR110bin a seconddigital system250a. If needed,media package106 with selectedmedia content102 is downloaded or transferred from one of the above sources to e-PVR110 where it is stored asmedia package306. The user can select media content302 (part of media package306) for presentation when it is either wholly or partially available or transferred.e-PVR110 then sendsdecryption request message430 now includingservice decryption information212 and/orSEPK210 as well as portions ofe-PVR information160 and portions ofmedia information304 to encryption/decryption server370 linked todistribution service120. In some cases e-PVR110 readsmedia information304 andcontacts distribution service120, separatemedia content server376,general purpose server378 or an appropriate location as specified in links to additional information140 inmedia information304 to determine that themedia content302 can be presented.
Encryption/decryption server370 uses the contents ofdecryption request message430 to determine how to decryptSEPK210. In this step, “Payment Step” as described under “Paying for Media Content” is also undertaken—in some cases even when cost134 is zero or negative. If “Payment Step” is successful,distribution service120 then sends back to e-PVR110decryption message440 that specifiesdecryption description442, for example a code, process or algorithm used to decryptSEPK210.e-PVR110 receivesdecryption message440 andsecurity module270 usesdecryption description442 to decryptSEPK210 to obtainprogram key200.Program key200 is then used bysecurity module270 to decryptmedia content302. When desired,e-PVR110 then sends another decryption request message430a, this time includingprogram key200 and similar to the above process receives a second decryption message440acontaining decryption description442awhich is then used bysecurity module270 to decryptmedia content302 for presentation.Program key200 can typically be sufficient by itself to decryptmedia content302 or any further information need to decryptmedia content302 usingprogram key200 can be obtained from local security database and/orsecurity module270. Alternately,service decryption information212 can also include information directing howsecurity module270 is to useprogram key200 to decryptmedia content302. In somecases distribution service120 also receivesSEPK210 and, after “Payment Step” is completed, decrypts it directly to revealprogram key200, which is sent to e-PVR110 as part ofdecryption message440. SeeFIG. 20 for an illustration of a typical sequence of events needed to present media content in this embodiment.
When a process is used to decryptSEPK210 it may include one or more additional messages that are sent todistribution service120,owner132, or other entity or location specified inmedia information304 requesting additional information or permissions. By receiving a corresponding message back e-PVR110 is enabled to decryptSEPK210.
To increase security of storedmedia package306,SEPK210 can be decrypted and then re-encrypted again bye-PVR110 similar to the re-encryption process of the first embodiment. As before a process determines when a threshold is exceeded or met (such as a time limit, a change to the local digital system, a number of presentations ofmedia content302, a random number provided by a random number generator, or a command from distribution service120), in whichcase SEPK210 will be re-encrypted. When storedSEPK210 is to be re-encrypted,e-PVR110 sends at least a portion ofservice decryption information212 todistribution service120 as part ofdecryption request message430, with decryption flag432 indicating a re-encryption process is commencing.Distribution service120 uses encryption/decryption server370 to createre-encryption message450, which is sent toe-PVR110. Whendistribution service120 is remotely commanding e-PVR110 tore-encrypt media content302, it sendsre-encryption message450 toe-PVR110 to initiate the re-encryption without a prior request frome-PVR110.
Whenre-encryption message450 is receivedsecurity module270 uses thedecryption description442 to decryptSEPK210, and to then encrypt the decrypted contents using re-encryption description454, which as before can be an encryption key or a designated algorithm, or processes or a combination. Following the re-encryption process anew SEPK210ais created and new service decryption information212ais created to identify how SEPK210ais to be decrypted. Service decryption information212acan then be sent in the future todistribution service120 when a new decryption message is requested.
As part of a re-encryption process it is also anticipated that encryption/decryption server370 as part ofdistribution service120 may receiveSEPK210 andservice decryption information212 as part ofdecryption request message430. In this case encryption/decryption server370 decryptsSEPK210 to obtainprogram key200 andre-encrypts program key200 as anew SEPK210aand updates or creates a new service decryption information212aand sendsnew SEPK210aand new service decryption information212aback toe-PVR110 to be stored as part ofmedia package306.
In some cases it may be sufficient to instead of decryptingSEPK210, that it be encrypted again using re-encryption description454. To obtainprogram key200,SEPK210 must be decrypted multiple times (once for each encryption process that it has been subjected to).Service decryption information212 is updated to reflect each encryption performed onSEPK210.
It is also anticipated that when a threshold is exceeded (such as a time limit, a change to the local digital system, a number of presentations ofmedia content302, a random number provided by a random number generator, or a command from distribution service120) thate-PVR110 sendsdecryption request message430 with decryption flag indicating thatmedia content302 is to be re-encrypted todistribution service120. As before re-encryption message450 (seeFIG. 14) is returned allowingsecurity module270 to decryptSEPK210, revealingprogram key200 that is used to decryptmedia content302.Decrypted media content302 is then re-encrypted using content re-encryption description452 bysecurity module270. Anew SEPK210aand service decryption information212aare also sent inre-encryption message450 and stored as part ofmedia package306. Alternately,program key200 is sent by thedistribution service120 and is then re-encrypted asnew SEPK210abysecurity module270, using re-encryption description454. New service decryption information212ais also created to reflect the decryption process used to decrypt SEPK210a.SEPK210aand service decryption information212aare then stored aspart media package306. It is also anticipated that a new program key can be created using local security database345 orsecurity module270 or both, thus without contactingdistribution service120.
Third Embodiment
In a third and preferred embodiment,media package306 includes program key200 encrypted asSEPK210, and includesservice decryption information212 as described in the second embodiment, but also additionally includesLEPK220, andlocal decryption information222. It is anticipated thatmedia packages106 in the other embodiments may be transformed to comport with this embodiment, for example by automated processes or as described below, while of course maintaining the security of the encryption systems in place.
As in the secondembodiment media content302 is encrypted in such a way that a code, algorithm, or process referred to as aprogram key200 can be used to decryptmedia content302 and if needed,media information304 at any time. However,program key200 is encrypted as SEPK210 andservice decryption information212 is also prepared, as in the second embodiment.
Certain payment options described below allow e-PVR110 to senddecryption request message430 includingpayment434. Whendistribution service120 approvespayment434,decryption message440 is prepared bydistribution service120 and sent toe-PVR110. Inturn security module270 usesdecryption description442 to decryptSEPK210 to revealprogram key200.Program key200 is then re-encrypted using second encryption process that is related toe-PVR110 anddigital system250 and stored asLEPK220. Information aboutLEPK220 or how it can be decrypted is stored inlocal decryption information222. As mentioned, use ofLEPK220 is typically related to various payment options described below under “Paying for Media Content” and also controls the ability ofusers112 to transfer the content to other users112a.
In this embodiment to presentmedia content302,e-PVR110 preferably determines ifLEPK220 is present. If it is present, e-PVR110 attempts to decryptLEPK220 without contactingdistribution service120. To thisend e-PVR110 useslocal decryption information222 and other locally available information to determine how to decryptLEPK220 to revealprogram key200, which in turn is used to decryptmedia content302 for presentation.
WhenLEPK220 is not present or cannot be decrypted (for example when storedmedia package306 has been transferred from a second e-PVR110b)e-PVR110 createsdecryption request message430 fromservice decryption information212 and/SEPK210. As previously described,distribution service120 usesdecryption request message430 to createdecryption message440, which is sent toe-PVR110, wheresecurity module270 uses it to decryptSEPK210 to revealprogram key200. SeeFIG. 21 for an illustration of a typical sequence of events needed to present media content in this embodiment.
All e-PVRs110, or110aon a commondigital system250 may use similar methods to encryptprogram key200, for example, by selecting an encryption algorithm and/or common private key from a local security database345, thus creatingLEPK220 andlocal decryption information222. It is preferred that no two e-PVRs110 and110bin separatedigital systems250 and250aencrypt program key200 identically, but two e-PVRs110 and110ain the samedigital system250 do, thus allowing decryption and presentation ofmedia content302 anywhere in the samedigital system250. To do so e-PVR110 when creatingLEPK220 andlocal decryption information222 can query the localdigital system250 to find thelocal hardware identifiers336 needed. e-PVR110 can also be given a unique public-private or private key list when it is manufactured and this can be stored in the common local library340 as part ofe-PVR information160. The common local library340 can then be shared between all the e-PVRs110 on the localdigital system250. Another approach available to encryptprogram key200 is to use an encryption code based on a least a portion of thelocal hardware identifiers336 ondigital system250 such as media access control (MAC) addresses, which are part of every Ethernet and Internet connection point. In a typicaldigital system250 with an e-PVR110 there are at least 2 unique MAC addresses338 present—one fornetwork interface256 ofe-PVR110 and another related toInternet gateway connection290. Others are also likely to be present such as aPC350 or printers and other devices. Any combination of processor serial numbers, an account number related toowner132 and MAC addresses338 can be used for this purpose. The preferred method in this invention is to useMAC Addresses338 because these are obtained using a broadcast message, which by the rules of current network protocols does not travel beyond the “local subnet”, in this case the localdigital system250. This limits the decryption of content locally to a single home, business or similar entity.
One advantage of using MAC addresses338 is that to find the key all the devices will need to be “hacked” (i.e. their security is compromised by a malicious user) to obtain or “spoof” their MAC addresses338, which is more difficult to do than to get theMAC address338 for a single type of device. Also, “hacking” or “spoofing” of multiple devices even of the same type is harder than for a single device. Additionally, MAC addresses338 are easily obtainable ondigital system250 not only from e-PVRs discussed herein, but also from devices other than e-PVRs. In an alternative scenario, otherlocal hardware identifiers336 may be used such as the serial numbers of e-PVRs110, and these can be requested by one e-PVR110 from another e-PVR110aeasily over adigital system250 that contains for example an Ethernet network.
Theselocal hardware identifiers336 need not be shared withdistribution service120—however,distribution service120 may keep a record of such addresses and their associateddigital systems250 or user accounts, to prevent “spoofing” ofhardware identifiers336.Local hardware identifiers336 can also be obtained as needed for example byapplication software180 by querying the hardware.Security module270 can use these local identifiers with the time of day and/ormedia information304 or a construct derived from media content302 (for example a hash table based on media content302) to determine an encryption process or code to encryptprogram key200. However, even whenprogram key200 is created from purely local information,e-PVR110 may obtain the algorithm or process from encryption/decryption server370, which is part ofdistribution service120.
The most important advantage of using MAC addresses338 or otherlocalized hardware identifiers336 is that no second e-PVR110bin a seconddigital system250acan decrypt LEPK220 should storedmedia package306 be transferred to a second e-PVR110bbecause it will not have access to these same information.
Some provision must be made to allow equipment indigital system250 to be replaced over time, and therefore MAC addresses338 or other identifiers will change. Hence historical MAC addresses338 can be stored in a MAC address list339 for use and this can be stored ine-PVR information160 either by itself or as part of common local library340. Similarly historicallocal hardware identifiers336 can be saved to a local hardware identifiers list337. If decryption fails, MAC addresses338 from MAC address list339 orlocal hardware identifiers336 from local hardware identifiers list337 can be used as a backup. If themedia content302 or LEPK220 had been encrypted with old MAC addresses338 no longer ondigital system250, the MAC address list339 will provide these addresses. When such a situation occurs,e-PVR110 may decrypt allLEPKs220 using the MAC address list339 in conjunction with current MAC addresses338 and the correspondinglocal decryption information222. Having done this eachprogram key200 is revealed whiche-PVR110 then encrypts again using the new set of MAC addresses338 or other new information to create new LEPKs220a.Local decryption information222 is also updated (as local decryption information222a) indicating how LEPK220ais to be decrypted. This process can be a part of the normal re-encryption process based on a threshold being exceeded as described below and in other embodiments. Additionally, e-PVR110 can retain a history of all local information, in case there is anymedia package306 that needs to be decrypted for presentation before it has been re-encrypted with the new information.
An advantage of using a pool of addresses or identifiers or a combination of them that is localized allows for the moving of content from one e-PVR110 to another e-PVR110aor even for example, apersonal computer350 within the samedigital system250, thus allowing “Fair Use”. “Fair Use” is the common name given to certain rights granted in the USA, that, among other things, allow a user to view legally purchased content on any device owned by the same user.
In some cases thelocal hardware identifiers336 can be used only to monitor that e-PVR110 and its content hasn't been transferred inappropriately. For example, e-PVR110 can refuse to decryptLEPK220, in somecases SEPK210, ormedia content302 or even update it's local decryption information if all of thelocal hardware identifiers336 are changed at the same time. An appropriate algorithm would let the user remove and replace any one device corresponding to at least one local hardware identifier and would also allow for brief periods of time when such a device is not available, such as when it is powered down or when, say, a laptop is taken to a different location. e-PVR110 can detect this change and add or remove any changedhardware identifiers336 or in some cases ignore the change for a period of time.
Similar to the re-encryption ofSEPK210 described in the second embodiment,LEPK220 can be decrypted and encrypted again based upon a threshold being met. In thiscase security module270 decryptsLEPK220 to revealprogram key200. Next security module determines the new code, algorithm, or process to be used to encryptprogram key200 to create a new LEPK220aand updated local decryption information222a. This is then substituted for theprevious LEPK220 andlocal decryption information222 inmedia package306.
As in the second embodiment,media content302 can be decrypted and re-encrypted based on a threshold being met or by request ofdistribution service120. When this happens a new program key200ais generated along withnew SEPK210 andservice decryption information212. However, now e-PVR110 must also re-encrypt program key200aas new LEPK220aand new local decryption information222aand store them as part ofmedia package306.
It is anticipated that whene-PVR110 receivesmedia package106 in some case only space forLEPK220 andlocal decryption information222 may be provided. Also as mentioned above,LEPK220 andlocal decryption information222 may be provided but will be unusable when they have been created on a different e-PVR110bin a differentdigital system250a, because they are designed to be used only with the samedigital system250 that they were created on.
Fourth Embodiment
In some cases, such as whenmedia content302 is created or recorded by the owner ofe-PVR110,SEPK210 is not available nor stored as part ofmedia package306, although an empty location for this information may be present. Only LEPK220 andlocal decryption information222 need be present.Media content302 in this case is encrypted withprogram key200 and this is then encrypted asLEPK220 as in previous embodiments.
In a situation wheremedia content102 is received withoutmedia information104, it can be obtained as more fully described under “Recording Media Content from Video Input” later in this document. However, by way of example external information such as a schedule, which can provide the name and description of the content based on the time and channel it was broadcast, can be used to obtainmedia information104. To do this,application software180 one-PVR110 sends a request todistribution service120 in the form of information request message460 (seeFIG. 15) and can include program schedule information. Atdistribution service120,media information104 may be created automatically by software or manually by personnel based on the information supplied, especially recordinginformation462 ande-PVR information160. However, whenmedia information104 is not available, or for legal or administrativereasons media content102 cannot be distributed, information message470 (seeFIG. 16) that is returned toe-PVR110 will not containowner132 information or will contain a flag or some other information that allows e-PVR110 to determine that it is not distributable.
e-PVR110 will send encryption request message480 (seeFIG. 17) containing at least a portion ofe-PVR information160.Distribution service120 then returnsencryption message450, which contains content encryption description452 (previously referred to as content re-encryption description452, but in this case media content and/orprogram key200 have not previously been encrypted). Inaddition encryption flag472 is sent specifying thatmedia content302 is to be encrypted andprogram key200 created for it.Media content302 is therefore encrypted using content encryption description452 and stored inmedia package306. Inaddition program key200 is further encrypted and stored asLEPK220 andlocal decryption information222 is created, which is used along withe-PVR information160 to decryptLEPK220. This last step may use encryption description454 included inencryption message450, but this information is then stored locally including portions of it being stored aslocal decryption information222, so that LEPK can be decrypted as required without contacting distribution service. Of course, content encryption description452 may also be kept locally since it is needed to decryptmedia content302 usingprogram key200. More information about this scenario, where content cannot be redistributed is more fully described under “Recording & Creating Media Content”.
In this case,media information104 is still supplied toapplication software180; however, it may have limited information in it. One element that may be placed inmedia information104 is a flag signifying that the content is not distributable and optionally a date of the refusal. This allows theapplication software180 to repeat the request when a sufficient time has elapsed.Distribution service120 can choose to reject the request if it determines that sufficient time has not elapsed for another request to be presented.
Thus, in some cases, anSEPK210 is not provided to the e-PVR110 for thismedia package306 and theprogram key200 can only be obtained by decrypting theLEPK220. Since theLEPK220 is shared by all e-PVRs110,110ato110netc. within the samedigital system250, those e-PVRs will be able to decrypt and present themedia content302 to the user at any time, (thus allowing for “fair use” as defined in the USA). However, when user ofe-PVR110 sends this content to a different user ofe-PVR110bin a differentdigital system250a, that e-PVR110bcannot construct theappropriate LEPK220 because the digital system and hence local information is different and hence will not be able to decrypt and present themedia content302, thus protecting the rights ofcontent owner132.
Media information104 for theabove media package306 may contain some information that was described above, such as the name, description and so on, captured from a schedule or external database or service.User112 ofe-PVR110 where the content was recorded, may be allowed to edit media information using media editing, creation, orenhancement software272 to the extent of editing the titles, descriptions etc. since redistribution is not possible in any case.
Elements Common to all Embodiments
As described in the various embodiments, the ability of anyone to decryptmedia content302 is severely limited. Even if a variety of advanced programs were applied to crack or by trial and error to decryptSEPK210 they are likely to take so long thatSEPK210 may have changed and/or the encryption ofmedia content302 will have changed, forcing a cracking program to restart. Similarly if someone tries a variety of techniques to crackLEPK220, they are likely to take so long to crack it that theLEPK220 may have changed, and/or the encryption ofmedia content302 may have changed. Note that any or all of a code, algorithm or process may have changed, so that determining for example the algorithm used may still not allow decryption of theLEPK220, theSEPK210 or themedia content302, because the process or key may remain unknown. Again, this applies to program key200 as well—any attempted cracking will likely not be useful, because of the above reasons.
It is anticipated that either by design or by coincidence, two or more of the codes, algorithms or processes used to encrypt or decryptSEPK210,LEPK220 ormedia content302 may be the same. However, by the nature of the process, “Payment Step” as described elsewhere and referenced above may still take place as described under the various embodiments and “Paying for Media Content” below, so that the rights of thecontent owner132 are always protected.
It should also be noted that any of the codes, algorithm, or processes used to decryptSEPK210,LEPK220, media information304 (when encrypted), ormedia content302 can be obtained bye-PVR110 fromdistribution service120 before they are actually needed, and these can be stored locally in a local security database345 (which can preferably be encrypted as well) to be used when needed. This allows e-PVR110 to be able to presentmedia content302 even in the event of a short-term failure of communication betweene-PVR110 and distribution service120 (e.g. when Internet connectivity is lost for a period of time).Distribution service120 may send new or replacement code, algorithms, or processes as they become available, after a specific time interval passes, when amedia package106 is obtained, or on request frome-PVR110. The actual decryption information stored locally can be cloaked as described under “Encryption Information Cloaking”, so that a malicious user cannot obtain decryption information even if the stored name or identifier of the decryption process, algorithm or code are discovered.
Also, the encryption/decryption information can be obtained from a card or device inserted into or read by e-PVR such as a user identity card, or fingerprint recognition module. However, in this description, for the sake of clarity,security module270 is described as interacting with encryption/decryption server370 or simply withdistribution service120 and in some cases with local security database345.
As described above,media content302,SEPK210 and/orLEPK220 may be re-encrypted. In some cases it may be sufficient to instead of decryptingmedia content302 and then re-encrypt it, that it instead be encrypted again using content re-encryption description452. To obtainmedia content302, it must be decrypted multiple times (once for each encryption process that it has been subjected to). Decryption information138 is updated to reflect each encryption performed onmedia content302. Similarly, in some cases it may be sufficient to instead of decryptingSEPK210, or LEPK220 that it be encrypted again using re-encryption description454. To obtainprogram key200,SEPK210 must be decrypted multiple times (once for each encryption process that it has been subjected to).Service decryption information212 is updated to reflect each encryption performed onSEPK210.
Transferring Media Content
An advantage of the four embodiments is that they can track and limit how storedmedia package306 can be transferred from one e-PVR110 indigital system250 to another e-PVR110bin seconddigital system250a. Consider the first embodiment, where storedmedia package306 can be copied from one e-PVR110 to a second e-PVR110bin a differentdigital system250a, by any means of transferring electronic data, such as by copying it to a DVD or CD using e-PVR110 and then copying from the DVD to a second e-PVR110bor by transferring it vianetwork150 from one e-PVR110 to the other. When the second e-PVR110battempts to play the copied storedmedia content302, it will attempt decryption ofLEPK220, which will of course fail sinceLEPK220 is not present at all andSEPK210 is also not present. Hence,distribution service120 will receivedecryption request message430 requesting adecryption message440. Provided the various steps as described in the appropriate embodiment takes place including a “payment step” and receiving decryption information to decryptSEPK210,media content302 can be decrypted and presented. The steps required to decrypt and present the media content may vary in the various embodiments.
In somecases media information304 will include an identifier of the first e-PVR110 that storedmedia package306. When this identifier is sent as part ofmedia information304 todistribution service120 the original e-PVR110 from which the storedmedia content302 was obtained is identified and can be tracked bydistribution service120. When desired, a portion of e-PVR information160aof the second e-PVR110 can then overwrite thee-PVR information160 stored inmedia information304. This can then be used to identify the second e-PVR110bshould it send a copy of storedmedia package306 to yet another e-PVR110cin yet another digital system250c.
In the second embodiment, when storedmedia package306 is sent to a second e-PVR110band is to be presented, again LEPK220 is not present and therefore second e-PVR112bsendsdecryption request message430 todistribution service120.Distribution service120 performs a payment step, after whichdecryption message440 is sent to second e-PVR110bso thatSEPK210 can be decrypted revealingprogram key200 that is then used to decryptmedia content302. As with the first embodiment, a portion ofe-PVR information160 for the original e-PVR110 can be included inservice decryption information212 sent as part ofdecryption request message430.Distribution service120 can use this to determine from whiche-PVR110 the second e-PVR110bobtained the storedmedia package306. Once this has been determined thedistribution service120 or the second e-PVR110bcan overwrite this section of theservice decryption information212 with a similar portion of e-PVR information160aso if the storedmedia package306 is later transferred to a third e-PVR110cthe second e-PVR110bcan be identified as the one that sent it to them.
In the third embodiment, when storedmedia package306 is sent to a second e-PVR110band is to be presented, the second e-PVR110battempts first to decryptLEPK220 usinglocal decryption information222. However, since the second e-PVR110adoes not have access to the same local library ase-PVR110, where theLEPK220 was created,LEPK220 cannot be decrypted.
When the owner ofe-PVR110 is alsoowner132 ofmedia content302 and has includedmedia information304 sufficient to identify themedia content302 and theowner132, second e-PVR110bcan senddecryption request message430 to the distribution service withmedia information304 which contains the uniquemedia content identifier130 andowner132 information, this being sufficient to identify themedia package306 andmedia content302. If themedia content302 has been registered withdistribution service120 by user ofe-PVR110,decryption message440 can be sent fromdistribution service120 to the second e-PVR110ballowing SEPK210 formedia package306 to be decrypted. If the package has not been registered,distribution service120 may contact theoriginal e-PVR110, and, assuming it is available, request the e-PVR110 to register themedia content102.
When storedmedia package306 was provided by but not created by the first e-PVR110LEPK220 may be present or not, but to presentmedia content302 on e-PVR110b,SEPK210 and subsequently program key200 must be decrypted, sinceLEPK220 is not present or cannot be decrypted.Second e-PVR110bsendsdecryption request message430 todistribution service120.Distribution service120 performs a “Payment Step” and when this is successful, it can senddecryption message440 to the second e-PVR110b. This message allows second e-PVR110bto decryptSEPK210, revealingprogram key200, which in turn is used to decryptmedia content302 for presentation. However, as before distribution system can track whiche-PVR110 provided the copy ofmedia content302. Presumably, in this case LEPK220 and local decryption information222 (when present) can be removed frommedia package306, as it cannot be used. However, a new LEPK220aand local decryption information222acan be created by second e-PVR110bas explained in the third embodiment.
Also in the third embodiment, if the media package is transferred frome-PVR110 to a second e-PVR110aresiding on the samedigital system250, the second e-PVR110ahas access to the same common local library340 and other local information that can be accessed directly, for example MAC addresses338 on the localdigital system250. Thus, this second e-PVR110acan decryptLEPK220 if desired and thereforeprogram key200 and present themedia content302 touser112. In this case,e-PVR110acan find the information needed to decryptprogram key200 locally in the local security database345. However, the ability to decryptprogram key200 andpresent media content302 may be controlled bydigital rights rules152 as described below under “Paying for Media Content”.
In each of these embodiments, storedmedia package306 can be easily transferred from one e-PVR110 to a second e-PVR110bby making copies with a DVD or transferring it vianetwork150 or by any other means or media used to transfer electronic data.Distribution service120 may not be involved in the transfer, but in order to present storedmedia content302 using the second e-PVR110bdistribution service120 must be contacted to getdecryption message440 and in some cases originating e-PVR110 must be contacted as well.
In the fourthembodiment media content302 cannot be shared outside of thedigital system250 that it was created in. Whenmedia package306 is transferred to e-PVR110bfrome-PVR110 where it was created or recorded, it contains only LEPK220 andlocal decryption information222 which e-PVR110bdoes not have. Also,SEPK210 andservice decryption information212 are not present so again e-PVR110bcannot decrypt and obtain the program key and therefore cannot presentmedia content302.
Additionally, or alternately,application software180 can, at regular intervals perform an inventory of allmedia packages306 locally available and report their uniquemedia content identifier130 todistribution service120. It can provide a comprehensive list or it can provide just the changes since the most recent previous update. Along with this information it can also providee-PVR information160 such as user account information and the like.Distribution service120 can thus track each media package and provide a report tocontent owner132 of a specific media content allowing them to improve their distribution efforts.
Paying for Media Content
Media content102 is frequently very expensive to professionally produce. Writers, actors, directors, camera crews, as well as studio space must all be paid for. To be repaid for these costs,owner132 ofmedia content102 may want to charge a price for it to be presented bye-PVR110.
With conventional television broadcasting these costs are paid by sponsors who pay to have commercials promoting their products or services presented during a program. There are also publicly funded channels that operate commercial free and raise money in order to operate. There are also cable and satellite subscription services that charge fees monthly or on a pay-per-view basis. Also conventional distribution of video content using for example rentals or sales of physical media (DVD, Video cassettes etc.) consist of providing the user with media content and some business rules by which the user is charged and the owner is paid, often indirectly by the distributor who actually provides the content to the consumer.
Thus, it is anticipated that thedistribution service120 will have to charge users of e-PVRs to viewmedia content302 in order to provide payments toowner132 ofmedia content102 that is obtained and presented. There are several payment plans envisioned such as recurring (e.g. monthly) fee, pay-per-view, content purchase, sponsor payment and others. These have many common elements described below. These and many other potential plans are compatible with any of the four embodiments previously described.
Eachmedia package106 is associated with cost134. Cost134 in its simplest form may simply be a number entered byowner132 or an agent that is embedded inmedia package106 as part ofmedia information104. However, cost134 can be also a set of rules, or it can be a link todistribution service120 orgeneral purpose server378 owned or operated by theowner132 where a cost is computed. The difference is that in the case where cost or cost rules are entirely withinmedia information304, e-PVR110 can present the cost134 to the user without having to communicate withdistribution service120 or any other server, and in the other cases e-PVR110 must communicate a portion ofmedia information304 frommedia package306 and/or a portion ofe-PVR information160 todistribution service120 orowner132 in order to obtain the numeric cost.
It is expected thatmost owners132 ofmedia content302 may enter a set of rules specifying different pricing based on geography, time-of-day and other such variables, many of them derived frome-PVR information160. By supplyingappropriate rules owner132 can vary pricing not just by physical geography, but for example by markets, demographics and date/time parameters as well. To extend this example, by supplying rules that specify pricing only for specific geographies, and not including a “default” rule, that is a rule that is used when no rule is available for that condition,owner132 can effectively blockmedia content102 from being presented (i.e. viewed) in some geographies. Also, rules can be very granular, since by using lists of users or user information in the rules, even a single user account can be targeted for a specific cost.
Additionally,owners132 may simply provide link to additional information140, such as a Uniform Resource Locator (URL) for example linking togeneral purpose server378, where cost134 can be obtained. Again, at the location specified by the URL, cost134 need not be just a number but can be a set of rules, or an executable script or program that provides different pricing based on variables as specified above. To find a link-based cost,e-PVR110 may send a portion ofe-PVR information160 and/or a portion ofmedia information304 as a variable parameter in the URL specified in cost134 in order to allow the server at that URL to determine the actual numeric cost134.
Thus, cost134 can be specified by any combination of a numeric cost, local rules, link-based rules and link-based numeric costs with nested levels. Rules can use statements that specify combinations of numeric values and the variables described above, as well as operators such as “and”, “if”, “or” and others commonly used in scripting languages. In some cases, the URL can also be a script that executes ongeneral purpose server378 to provide cost134. The input for the script can consist of portions ofe-PVR information160 ormedia information304 described above.
An advantage of this method is thatowner132 ofmedia content302 can vary cost134 at any time by editing a location on ageneral purpose server378 owned or operated by them. Cost134 can be varied based on the popularity ofspecific media content302.Owner132 can also makemedia content102 unavailable by either making cost134 prohibitive or invalid (for example, by using an infinite number), or by using rules that effectively result in a null set of users. Additionally, cost134 can consist of multiple payments to multiple entities, such asowner132, a distributor, an actor, or studio that receives part of their income as royalty whenmedia content102 is presented. These multiple payments can be created by theowner132 as part of the cost rules inoriginal media package106; and it can optionally consist of at least oneadditional cost134aadded by a different user of a second e-PVR110bin addition to the original cost134 to create a new cost134bas described later in “Enhancing Media Package”. This additional payment may be for a value-added service such as enhancingmedia package306 by adding subtitles for example, but auser112 acting purely as a distributor may also addadditional cost134ato the initial cost134. This cost134amay be hidden from the user in the sense that only the sum of cost134 and cost134a(i.e. cost134b) is presented to the user when asked to choose a payment option, or if a default payment option exists, it may automatically be charged in the amount of cost134b. Finally, cost134 can specify an automated charge to a specified sponsor230 (as opposed to the user of e-PVR110) who has included a sponsored message (commonly referred to as “product placement”) as part ofmedia content102. The charge to the sponsor230 results in a payment toowner132 and/ordistribution service120 and may or may or may not be equal to the full cost134 specified by owner. Sponsor230 must of course have an account withdistribution service120 so that the appropriate amounts may be collected.
Eachuser112 ofe-PVR110 is associated with at least onedistribution service120 payment account, for examplee-PVR information160 can store an account number thatdistribution service120 uses to match with a similar number stored inpayment server372. In some cases,multiple users112,112a. . .112nmay be associated with the same account (such as multiple persons in a household), and any such user or users together or separately can be associated with multiple accounts. When a match is found in information inpayment server372,distribution service120 may determine if it is in good standing.Payment server372 can be run bydistribution service120 or can be an independent operation run by a credit card company or a service such as PayPal. User account described above may be different from an identifier or account used bye-PVR110 to identify itself todistribution service120 or to other entities such as other e-PVRs110b.
Whenever a financial transaction may be involved such as whenmedia content302 has to be decrypted and presented, the process is as follows and is called the “Payment Step” throughout this document. As described previously in the various embodiments,decryption description442 is used (often in conjunction with SEPK210) to decrypt themedia content302. In order to obtaindecryption description442 fromdistribution service120security module270 sends adecryption request message430 in whichuser payment434 is included and decryption flag432 is set so thatdistribution service120 recognizes this as a financial transaction. Decryption flag432 oruser payment434 may also contain the type of transaction (i.e. subscription, pay-per-view, sponsor supported and so on). Several of these transaction types are described next, and any of them as well as a combination may be used to pay or a specific item of media content. Note that the “Payment Step” is typically performed whenSEPK210 is to be decrypted. However, in some scenarios, it is anticipated that it can be performed whenmedia content302 is to be decrypted.
User payment434 contains the amount to be paid and can also contain the payee information. The user account information is included as part ofe-PVR information160 that is sent withdecryption request message430. The various servers then determine the validity of the account (e.g. if it is in good standing) or of the e-PVR110, choose the type of transaction and complete the financial transaction with actual credits and debits to the various accounts if necessary, and if successful, adecryption message440 is returned to the e-PVR.
The users financial account may be charged directly for the payment required, or in some cases it may be credited, if the net cost of the content is negative. User may also be able to pay using other means such as a credit card and presumably can enter the numbers usinginput devices286 or even a credit card reader attached toe-PVR110. In some cases, based on the contents of decryption flag432, the “Payment Step” only recognizes that the media content will be watched free with informative messages312 as described below and sets up the processes need to make that happen. The processes involved in using informative messages312 for payment are described below in greater detail but it should be noted that using informative messages312 is acceptable method of payment as part of “Payment Step”. In some cases, “Payment Step” could also mean verification of a login and password combination and this combination may be passed on to an independent subscription service, which validates the login and returns a message to that effect. The subscription service may in turn pay content owners or not. This login process also constitutes an acceptable method of payment as part of “Payment Step”. Any and all of these methods of payment may be used in combination.
Part of the financial transaction may involve transferring a portion ofpayment434 toowner132 or a subscription service and/ordistribution service120. Any and all of these parties may be responsible for checking the validity of the account and for the completion of the transaction and may return a “failed” or “successful” message as an outcome of the transaction. However, theoriginal distribution service120 will presumably deduct a transaction or service fee to manage the transaction.
Whether an actual transaction happens or the various accounts are simply verified depends on the type of payment (i.e. subscription, pay-per-view, sponsor paid and so on) as described below, and also depends on the amount of the transaction—for example, no account is charged when the cost134 is zero. However, in some cases where effective cost134 is zero to the user because the user's viewing ofmedia content302 is paid by including informative messages312 from one or more sponsors230, the account of sponsors230 may be charged (i.e. debited) and the account of owner132 (and others such as Media Enhancer) may be credited. Furthermore, no matter whether the transaction results in a charge to the user or not,distribution server374 or in somecases payment server372 records the transaction details for logging and reporting purposes.
All or part of this transaction can happen locally, ifapplication software180 detects, based on user input or current settings that it is the preferred method. Then at certain intervals, the consolidated record of all the transactions may be sent to thepayment server372 and the users financial account is reconciled. The length of the interval may be based on several administrative factors including qualification of users financial stability and the length and stability of the users account with the distribution service. Thus, if the connection topayment server372 is not present for any reason andapplication software180 determines that it may complete and save the transaction locally (based on the previously described parameters) for eventual reconciliation with a payment server, it may do so. This prevents user dissatisfaction from failed transactions due to failures of networks or servers.
Based on user preferences found for example in user preferences/profiles334, user may not be shown the cost134 and byextension payment434 and it may automatically be charged, or the content may automatically be presented with informative messages312 shown after eachsection170. User can change this setting any time and can also override it for a single transaction if desired.
Also, some of the various payment plans are described next and it should be noted that a plan can be selected automatically bye-PVR110 based again on user profile information described above and overridden as described through actions ofuser112.
The recurring payment plan requires the owner ofe-PVR110 to pay a specified amount to a subscription service each time period (say monthly) in order to obtain and view a variety ofmedia content102. Presumably a list ofsuch media content102 is provided to the owner ofe-PVR110 to select amongst. Whene-PVR110 selects storedmedia package306 to present,program key200 is obtained as described in the various embodiments after one or more decryption steps and a “payment step” is completed as described above. Theprogram key200 is used to decryptmedia content302, which is then presented to the user bye-PVR110, typically without commercial messages. The price to present thismedia content302 is included inmedia information304 as cost134. Cost134 can specify, using the rules based approach, a different (or even zero) cost formedia content102 obtained as part of a subscription. To present this cost134 to the user,e-PVR110 may sende-PVR information160 to the distribution service which may in turn forward the information or relevant parts of it to the subscription service.
The pay-per-view plan requires the owner ofe-PVR110 to pay a specified amount toowner132 and/ordistribution service120 to presentmedia content302. Note that in practice, pay-per-view can include multiple views or an allowed time period that the user can view the said content for a single payment. When storedmedia package306 is selected for presentation, cost134 may be presented to the user ofe-PVR110. Cost134 can be obtained frommedia information304 locally or externally as described above. When the user decides to view storedmedia content302, after appropriate decryption steps are undertaken, the “Payment Step” detailed above is taken and aprogram key200 is obtained. When apayment434 is associated with multiple presentations ofmedia content302,SEPK210 can be decrypted to revealprogram key200 which can then be encrypted locally asLEPK220 andlocal decryption information222 is created and stored as part ofmedia package306.
Digital rights rules152 (for example how many times the content can be watched or for what time period) are encrypted and saved using any encryption code, algorithm, or process desired, for example the same as that used to encryptprogram key200 asLEPK220 or one specified bydistribution service120, for example using encryption description454. These rules are checked and any counters (such as number of times watched) are changed each time the content is presented to the user. When the number of views or the time period has elapsed, the e-PVR110 can remove theLEPK220 ormedia content302 is re-encrypted so as to make the content unusable without another “payment step”. Alternately, nothing may be changed, as thedigital rights rules152 will likely be checked byapplication software180 any time themedia content302 is requested and will find that the content cannot be presented, or the counting process described earlier may disallow it when the counter reaches a specified level. Since theSEPK210 remains usable, the content can be presented again after the “Payment Step” and subsequent steps are repeated, and possibly anotherpayment434 is made.
In some cases the pay-per-view option only charges the account of the user of e-PVR110 a cost apportioned to the amount ofmedia content302 that was actually presented. This is possible if each ofcontent sections170 have been assigned individual section cost178 as described above. For example, should the viewer decide that they do not like storedmedia content302 they can discontinue watching it by turning offe-PVR110 or instructing it to terminate the presentation. In this case their account may only be charged a portion of cost134 they previously agreed to. As a courtesy,media content302 might be presented for a few minutes with no charges accrued to let the user ofe-PVR110 determine if they like it or consider it appropriate for their family. This concept can also be used in the sponsor payment plan described below. It is conceivable, that user may view non-contiguous portions of the media content by watching non-contiguous sections forexample section170, thensection170cetc. effectively creating a custom “trailer”. The cost rules can be constructed such that if users total cost134 for watching such a trailer is below a certain pre-determined threshold, user may not be charged any cost.
The content purchase plan is similar to the pay-per-view plan described above, but effectively allows unlimited views. Alternately, it may set the number of views sufficiently high thatuser112 can realistically viewmedia content302 so many times that it would last their lifetime. This may help limit piracy, since, in case a malicious user may distribute the content and the decryption information, the number of views may be exhausted because too many people attempted to view the content. In this case the user ofe-PVR110 agrees to pay cost134 that is associated with unlimited views. When the user ofe-PVR110 agrees to a purchase payment,decryption message440 sent fromdistribution service120 may include information thatmedia content302 can be presented as many times as desired and can now be saved in digital rights rules152. Program key is obtained by decryptingSEPK210 and encrypted as LEPK220 and made part ofmedia package306. Similarlydigital rights rules152 can be encrypted using a local code, algorithm, or process (even the same ones used to encryptprogram key200 as LEPK220) and stored as part ofmedia package306.
As previously explained (in “Transferring Media Content”) should storedmedia package306 be moved or transferred from one e-PVR110 to a second e-PVR110bit will not be possible to decrypt or present transferredmedia content302 usingLEPK220 andlocal decryption information222 on second e-PVR110beven when it has been paid for byuser112 offirst e-PVR110.Second e-PVR110bis not capable of decryptingLEPK220 encrypted by the first e-PVR110 since forlocal decryption information222 to be used to decrypt LEPK220local hardware identifiers336 must be the same, but second e-PVR110bwill have differinglocal hardware identifiers336 and differing common local library340 frome-PVR110 and therefore will not be able to decryptLEPK220 or digital rights rules152.
The sponsor payment plan is compatible with the other plans described above but can also stand on its own. Thus, it can be used for example to pay for single views ofmedia content302 or for subscriptions to content. It allows one or more sponsors230 to pay part or all of cost134 to presentmedia content302. For example it is anticipated thatapplication software180 can insert informative messages312 at the beginning or end of eachsection170, if the user has chosen to watchmedia content302 in this format (i.e. watch content free in exchange for the presence of informative messages312). In a preferred embodiment, informative messages312 are not inserted intomedia content302, but presentation ofmedia content302 is paused at the juncture of asection170, then at least one informative message312 can be presented, and after which media content is resumed once again.
In some cases,media content302 has not been segmented andsection flags136 and thereforesections170 may not be present, or media content consists of asingle section170. In this case,media content302 may be paused at random or pre-selected times and at least an informative message312 may then be presented. After informative messages312 have been presented, the presentation of media content320 begins from the same location where it was paused. The number of informative messages312 presented each time media content is paused can be determined by simple arithmetic or a series of rules. For example, one method is to simply divide the duration of themedia content302 by the number of informative messages312 that are to be presented. This can further be improved by playing multiple informative messages312 at one time, and dividing the number of times themedia content302 needs to be paused by this number. Further, the group of informative messages312 that are to be presented can be divided into a number of groups comprised of a random number of informative messages312 (within some boundary limits) and these can then be presented at certain time intervals that are randomized within a certain window of time. Thus it is possible to present informative messages312 during presentation ofmedia content302 even whenmedia content302 does not havemultiple sections170.
Whenmedia content302 is selected for presentation the user of e-PVR110 can be presented with cost134 to pay. Should they select to not pay cost134 or only to pay a portion of cost134,application software180 determines the amount of cost134 that needs to be made up in order forapplication software180 to request a decryption message allowing e-PVR110 to presentmedia content302. Storage device254 one-PVR110 contains informative messages312 provided by sponsors230 (seeFIG. 6) that are willing to pay all or a portion of cost134 of presenting the selectedmedia content302 in exchange for their informative messages312 being presented before, during or after the selectedmedia content302 is presented for example after content corresponding tosection170. In some cases informative messages312 are obtained fromdistribution service120 orinformative message server380 only aftermedia content302 is selected for presentation. In some cases they are obtained only as needed for presentation, and in other cases they can be obtained and stored in storage device254 in anticipation of use. Informative messages can be obtained byuser112 by selecting them from various sources or they can be obtained by e-PVR based on parameters such as the type of content present incontents330 of e-PVR or based on user preferences/profiles334 or even based onuser112 choices of selection ofmedia content102 or election of informative messages312.
If the sum of payments238 these sponsors230 are willing to make exceeds cost134 minus user payment434 (which may or may not be zero), “payment step” as described above is completed as normal anduser112 initially pays full cost134 asuser payment434. However, as informative messages312 are viewed byuser112, payment238 of each informative message312 are credited to the users account, ultimately resulting in a zero cost touser112, and a charge is made to the sponsor230 who paid to present an informative message312. In some cases,distribution service120 may not chargeuser112 the full amount initially and may wait until viewing is completed before executing a transaction of zero cost touser112.Application software180 also informsdistribution service120 of the list of informative messages312 that have been presented touser112.Distribution service120 then charges the respective sponsors230 for payment238 they have agreed to pay.
As the informative messages312 are viewed or deployed,application software180 tracks them (for example by recording media content identifier130) and may send the tracked information as individual or consolidated messages todistribution service120. In some situations it is possible that the user's account may be credited with more than cost134, or may be credited in such a manner to let them presentother media content302 at no charge or at a reduced cost. It is also possible that if sum of payments238 by sponsors230 are in excess of cost134 to presentmedia content302, thatdistribution service120 can keep the excess payments. Presumably some limit will be enforced to preventusers112 ofe-PVR110 from being excessively annoyed by having too many informative messages312 presented to them. It then decryptsmedia content302 and plays it with one or more informative messages312 inserted as required at the beginning or end of all or selectedsections170. Actual selection of informative messages312 and when they are presented depends on a number of factors described below.
To promote greater clarity in this description, informative messages312 will be referred to as always being inserted after asection170. Informative messages312 presented before themedia content302 is presented will still be referred to as being presented aftersection170, in this case theinitial section170 is empty, null, or otherwise containing no content. Conceivably, sponsors230 may be requested to pay higher amounts to have their informative message312 presented afterspecific section170 ofmedia content302 has been presented, for example at the being or end of a presentation.
Informative message312 can include advertisements, commercials, interactive surveys (for example a message that requires the user ofe-PVR110 to press one ormore buttons282 on aremote control280 for presentation ofmedia content302 to continue), or even allowing the sponsor230 to send to the user ofe-PVR110 e-mail, voice mail or conventional mail messages in the future. It is anticipated that a conventional mail message may take the form of a specific advertisement that is printed in a magazine that the user ofe-PVR110 receives, for example printed on the back cover. In this manner a sponsor230 might customize each magazine printed to reflectmedia content302 recently presented. Presumably,distribution service120 will remain in charge of or supervise another service (for example an ad agency) in the distribution of these informative messages, so the e-mail or street addresses are not provided to the sponsor230 and thedistribution service120 can limit the number of such messages sent.
It should be noted thatuser112 of e-PVR110 can indicate their preferences, as stored ine-PVR information160, regarding informative messages312 that can be presented to them. For example some users may specify only informative messages312 with certain ratings can be presented to them or that certain products cannot be presented to them, such as cigarettes, liquor, or other products they do not want to have presented. These choices can be different for thedifferent users112 and112aof asingle e-PVR110. These preferences may limit the choice of which sponsors230 can offer them informative messages312, but at least these sponsors230 will know they are more likely to be presenting informative messages312 to a more appreciative audience instead of inadvertently alienating some portion of the audience.
In addition,user112 can deleteinformative message package316 with informative message312 that they no longer want to watch or for any reason. This may restrict viewing if sufficient informative messages312 are not available on the system in the future when the user wants to watch content using the sponsor payment plan. Users can also manually obtain (by downloading, copying etc.) or capture informative messages from any source in a manner identical to obtaining or capturingmedia content302. Of course informative messages312 can be encrypted (for example using techniques that allowprogram key200 to decrypt it) and contain information so thatdistribution service120 can check their validity according to its business rules. This prevents malicious users from changing the informative messages312 or substituting them with their own or even changing payment information to somehow benefit from their malicious activity.
Whene-PVR110 determines thatsection170 has been presented it then presents the informative message(s)312 designated to follow thatsection170. Informative messages312 can be obtained prior to presentingmedia content302, whilemedia content302 is being presented (but in advance ofsection170 ending), or only when they are to be presented, that is in real time. The user ofe-PVR110 will usually not be allowed to skip over these informative messages312 provided by sponsors230 who have paid part or all of cost134 associated with presentingmedia content302, ensuring to these sponsors230 that their potential customers see their informative messages312. In some cases, users may be allowed to skip the informative messages for example by usingremote control280, but asapplication software180 keeps track of such events,user112 will not be credited with the payment of the informative messages312 that were skipped and may eventually pay for the content being watched instead of receiving it free, and sponsors will not be charged if their informative message232 is not viewed. Presumably, when users resort to such actions, theapplication software180 will warn them that their actions may result in a financial charge.
Should theuser112 ofe-PVR110 terminate watchingmedia content302 before allsections170 have been presented; sponsors230 who agreed to pay for informative messages312 to be presented aftersections170 ofmedia content302 that were not presented will not be charged, or if they have already been charged, may receive a credit to offset the charge. As described above,user112 may be charged for the content if theowner132 has not made a provision in their cost rules for a lower cost on partially watchedmedia content302.
Distribution service120 may maintain a list of sponsors230 who are willing to pay a portion of cost134 to presentmedia content302. Such a list may be readily maintained for the mostpopular media content302, for example recent or first run movies or popular television programs. However,distribution service120 can also provide user profile information to potential sponsors230. For example this information might categorize the annual income ofusers112, where they live, how many people are in their family, the ages of family members, etc. The purpose of this is to allow a sponsor230 to best determine what informative messages312 they want to present and to whom. For example, a sponsor230 that sells snow blowers may not want to advertise these products to an e-PVR110 located in Florida. Some sponsors230 may only want to have their informative messages312 presented to families with infants or families within a specific income level. In this manner two families that live next door to each other that select thesame media content102 to present may see completely different informative messages312. Even thesame user112 that watches thesame media content302 at different times of the day (for example mid-morning versus late at night) may see completely different informative messages312 presented. Finallydifferent users112 and112awatching thesame media content302 on the same e-PVR110 at different times (or different e-PVRs110 and110aon the samedigital system250 at the same time) may have different informative messages presented to them, because their user preferences/profiles334 are different.
Informative Message Use and Storage
Distribution service120 can store informative messages312, however these can also be stored on separateinformative message server380 maintained by sponsors230 of informative message312. Informative messages312 such as commercials or an email message or the information needed to create informative messages312 are stored as individual packages and obtained by the e-PVR from the appropriateinformative message servers380 by choosing them based one-PVR information160. For example, a zip code present in the user information; the professed preferences of the user in the user preferences/profile(s)334 in user list333, or the information learned by theapplication software180 based on user choice of programming and ratings levels can be used to determine the specific informative messages312 that are downloaded and placed on thee-PVR110.
Users112 can also manually download or otherwise obtain informative message packages236 in the same way that they obtainmedia package106. In other words, informative messages232 can be downloaded as files or they can be recorded from a cable TV, streaming video or other channel. Informative message packages236 are also stored as informative message packages316 similar tomedia package306, but some important parts may not exist, specifically,local decryption information222,LEPK220 as well as irrelevant portions of media information234. Also, in most cases, section flags136 if any, may identify only asingle section170 within an informative message312.
As previously mentioned payment238 is used (instead of, but similar to cost134) in message information234 and314. Typically, presenting informative message312 results in a credit to the user ofe-PVR110 and a debit to the sponsor of the informative message312. Thus payment238 can be seen as the mirror of cost134 but sharing its attributes such as the way it is stored or computed. Informative messages312 can also be encrypted as described in the embodiments. The format for informative message312 is most likely to be similar to the first or second embodiments. Thus, to decrypt and present informative messages312,security module270 obtains decryption information in a manner identical to that described for the decryption ofmedia content102, including using payment238 (instead of, but similar to cost134) as part of the transaction.
Also, as described separately, payment238 can be a combination of a set of rules or fixed numbers and can consist of a combination of information contained within the file or it can be a link to a computer that computes and transmits back a numeric cost based on rules, a script or program. These may be determined at least in part based on portions ofe-PVR information160 transmitted as part of the URL. Thus payment238 for presenting informative message312 can be different in different geographies or for different demographics, or even for different times and dates and using these date/time based rules, and informative message312 may be displayed for only the period when they are relevant. Any number of complex rules based one-PVR information160, or other known parameters can be used to calculate payment238. When the payment238 or part of the payment238 is a link to additional information this can similarly be varied based on rules or can be manually or arbitrarily changed by informative message sponsors230 on ageneral purpose server378 owned or operated by them. Presumably once they have been selected for presenting to theuser112, the changes will not be reflected one-PVR110.
Similarly, payment238 (ininformative message package316 and similar to cost134 associated with media content) can also be any combination of numeric values, rules, or links to additional information140, which link toinformative messages server380 where the value of payment238 can be obtained. Again, at the location specified by the URL, payment238 need not be just a number but can be a set of rules that provide different pricing based on variables as specified above. To find a link-based value,e-PVR110 may sende-PVR information160 to the URL specified in134 in order to allow the server at that URL to determine the correct payment238. In addition, the same syntax is allowed so that payment238 can be specified by any combination of a numeric cost, local rules, link-based rules and link-based numeric costs with nested levels. Rules can use statements that specify combinations of numeric values and the variables described above, as well as operators such as “and”, “if”, “or” and others commonly used in scripting languages. In some cases, the URL can also point to a script or program that executes for example on ageneral purpose server378 to provide payment238. The input for the script can consist of the variables described above.
When decrypted,application software180 can verify, usingdistribution service120, that the UniqueMedia Content identifier130 of informative message312 is valid before using it. In one embodiment,program key200 for informative message312 can then be encrypted as LEPK220 andlocal decryption information222 can be created. Thus, whenever informative message312 is to be presented to the user it can most likely be decrypted locally, without having to contact encryption/decryption server370.
Sponsor230 may want to present their informative message312 at certain locations in the presentation of themedia content104 and may be willing to pay an enhanced monetary or other consideration for such accurate placement. There are several ways in which this can be achieved and some methods are described next, although more are anticipated.Application software180 can attempt to match keywords present in message information314 of informative messages312 andmedia information304 of thecontent302 as well as in the section information174 of each of these. Thus, ifapplication software180 is able to find matching keywords in section information174 of aspecific section170 ofmedia content302, and in message information314 ofinformative message package316 it can present that informative message312 immediately before or after thatsection170.
Additionally,owner132 can embed a unique key into each section information174 ofmedia content102, and then can provide this key to a specific sponsor230 of informative message312 so that sponsor230 can embed the same code into their informative message package236.Application software180 can match these codes and insert the informative message312 with a matching key at the correct location (that is, before or aftersection170 inmedia content302 which has the same key) when presentingmedia content302 touser112 ofe-PVR110. Presumably, the actual key is not provided to sponsor230 of informative message312, but an encrypted version is provided.
As described above, informative message package236 is similar tomedia package106 and can therefore contain section flags136 and byextension sections170, section data172 and section information174. As described elsewhere in this document, some of the sections can be replaced with newer sections byapplication software180, which can also replace portions ofmedia information304 especially cost rules that specify for example the dates and times that this commercial is valid. Also, this can be done remotely oninformative messages server380 orgeneral purpose server378 simply by replacing rules associated with payment238 (for example making the payment infinite or so high it can't be paid). Thus by replacing a few seconds of informative message312, for example by replacing at least onesection170, and/or adjusting the payment238 rules, sponsor230 can keep their informative messages312 “fresh” and relevant for a significant period of time without requiring users to repeatedly download large files.
Section Ratings and Skipping Content
User112 of e-PVR110 can use one ormore buttons282 or combination ofbuttons282,282aetc. onremote control280 to change or indicate the acceptable threshold formedia content302 or informative messages312 at any given time (even while watching media content302) thus skippingspecific sections170 or170awhich do not match or are outside the parameters of that threshold.Owner132 can determine these ratings and thesections170 to which they apply and this information can be placed intomedia information104. Alternately, they can be created by a third-party and added to themedia information104 using media editing, creation orenhancement software272 as described more fully later in this description under “Enhancing Media Content”.
In one usage scenario,user112 ofe-PVR110 is an adult in whose preferences/profile334, saved in user list333 withine-PVR information160, the threshold for viewing violence is say “50”. Themedia content302 currently being presented has several scenes of which two scenes corresponding to twosections170 and170aare rated on a violence scale, at say “55” and an additional twosections170band170c(again corresponding to two scenes) are rated “45”, the rest of the sections being unrated or below the value of “45”.User112 will see all of themedia content302 except those two scenes represented by the twosections170 and170a. However, while still watching thesame media content302, presume that a child (user112a) joins the viewing, in response to which the original viewer presses a sequence of buttons on theremote control280 in order to lower the threshold of acceptable violence to “40”. Now, these two scenes represented bysections170band170cwill additionally be skipped while viewing in this session since their rating levels are above the new threshold, thereby reducing the total number of scenes by four scenes. Simply selecting a different profile with an appropriate threshold again using buttons onremote control280 can also provide the same result.
Ratings in preferences/profiles334 can also specify a range, so that when the rating ofsection170 falls above or below the range, it will be skipped. The ability to rate sections and skip them can be used for other ratings such as sex or language or any other quantitative or qualitative ratings not described here.
Differing Media Packages to Distinguish Media Content
Media package306 andsecond media package306awhether when residing on the same e-PVR110 or different e-PVRs110 indigital system250 and e-PVR110bon different digital system250 (or even e-PVR110ain same digital system250) foridentical media content102 may be different in thatmedia information104 may be different. For example, any ofprogram key200,LEPK220, andlocal decryption information222 may be different for twomedia packages306 of thesame media content302 because they were obtained from different e-PVRs. Further, enhancements may have been made to onemedia package306 in the form of additional media information304aand not to anothermedia package306acontainingidentical media content302. Or, one media package may have had a portion of it re-encrypted by the re-encryption process described earlier. For this reason,media package306 may be given a uniquemedia package identifier131 different frommedia package306a.
Having different uniquemedia package identifier131 allows the use of different encryption for each package and thus helps to enhance the security of the copy protection scheme, because it allows the distribution service to maintain differentservice decryption information212 and SEPK210 for the same content. Thus, even when a malicious user is able to “crack” the encryption scheme for onemedia content302 one-PVR110, it may be impossible to use this information to “crack” the encryption scheme of the identical media content302aon another e-PVR110b, or even the same package after it has changed for example as a result of re-encryption as described above.
Sections with Content Identification
As described above,media content102 can have a uniquemedia content identifier130, which can be assigned byowner132, and consists of a unique string identifying at least the account ofowner132 todistribution service120.Media package106 containingmedia content102 can also have a unique identifier a portion of which is the identifier ofmedia content102. Eachsection170,170a, etc. of aspecific media content102 also has a unique identifier, a portion of which is the name of themain media content102. Thus a media package106acan be created which contains at least onesection170 ofmedia content102, and this media package106acan be recognized as being part ofmedia package106 based on the identifiers for the entirety ofmedia content102 and thesection170 of thatsame media content102 and/or the identifiers ofmedia package106 and106a.
This allows for several features, for example, it allowssections170 to be downloaded more efficiently, by specifying different download locations fordifferent sections170 within thesame media package106. In a peer-to-peer environment (i.e. where user ofe-PVR110 in onedigital system250 is downloading from e-PVRs110borPCs350 from a seconddigital system250aand optionally simultaneously from e-PVR110cin a third digital system250b), this can result in significant savings in download time for the user with plenty of bandwidth who may be downloading from several peers each of whom have very little bandwidth. Unlike other such download systems (e.g. BitTorrent), the portions downloaded are not arbitrary chunks, butsections170 at recognizable events in the file, and they also have section information174 associated with them. Again, unlike these other file protocols, these arepermanent sections170 that do not vary on each download (but may vary indifferent media packages106 and106a).
Another feature enabled by this format is the ability of theoriginal content owner132 to replace a specific part of the content (even after the file has been transmitted to thousands of users) simply by identifying and replacing thatsection170 of the file on each users disk. By inserting blank video segments of a fractional length, for example a single frame,content owners132 can also insert new video segments into existing programs. In reverse, news stories or sections of news stories can be “pulled” (i.e. removed from broadcast) by replacing somesections170,170awithblank sections170band170c. For example, newscasts, which repeat many items of news, sometimes with additional information, and at other times information or segments are removed, can benefit from this feature. Additionally newscasts and similar programs can allow download of themedia package106 containing the program earlier than the actual scheduled time of the program but only containing news items that are already prepared and with “placeholders” for some news items that are yet to be created. This way, those portions that are completed later can be obtained byapplication software180 at the last minute or even live as the program is being presented and theappropriate sections170 can be replaced inmedia package306, thus saving download time for these types of programs.
To facilitate this, eachreplaceable section170 can contain a flag within corresponding section information174, so thatapplication software180 can read this at any time and check for an updated version of the slice. Additionallymedia information104 can contain a general flag or code that alerts application software of the presence of the flags in the section information portions (so application software does not have to search all of the information each time).
Recording Media Content from Video Input
In addition to receiving content asmedia package306 by any form of file transfer, e-PVR110 can also record andstore media content102 received by traditional sources such astelevision broadcast400 orcable396 orsatellite wireless transmission404. Additionally, e-PVR110 can digitize a video recorded with a camcorder, receive content from film transferred through a translation device, receive a file transfer from a digital video camera, or receive or create an animated sequence using media editing, creation orenhancement software272. In thiscase media content102 can be stored asmedia content302. It can be stored un-encrypted as it has been paid for by theuser112 or by sponsors230. However, to limit copying ofmedia content302, e-PVR110 can create storedmedia package306 and encryptmedia content302 using program key200 (a code, algorithm, or process or combination of these identified bysecurity module270 or obtained from encryption/decryption server370 or local security database345), and then createLEPK220 andlocal decryption information222 as previously described. In this case e-PVR110 can presentmedia content302 as often as desired.
In somesituations media content102 is received from sources not providingmedia information104. When it is desired thatmedia content302 be stored asmedia package306,media information104 can be created by other means. In many cases, there will be “participating owners” who not only want theirmedia content102 secured, but additionally want it to be distributed through this invention. To distribute theirspecific media content102,media information104 must contain at least enough information so thatmedia content102 can be distinguished from any other media content102nand also, if desired,owner132 can be paid (by including cost134).
Participating owners are thoseowners132 who have made the necessary modifications to their video or to their broadcasting process in order to embed flags into programming allowing e-PVR110 to createmedia information104. Non-Participating owners132amay choose not to insert flags into their broadcasts or files, may be unwilling or unable to comply with the requirements of broadcasting in this manner, or may simply be unaware of this technology. However, content from non-participating owners will be able to transmitted to an e-PVR, but it will not be able to be used by others because it will be encrypted using local information only and will not be able to be presented on other e-PVRs outside of the firstdigital system250 that it was received on.
One method is to use external information such as a database or broadcast schedule (such as a cable TV program listing), which includes among other information, the name and description of the content and the broadcast time and channel.Application software180 one-PVR110 sendsinformation request message460 containing the above information asrecording information462 todistribution service120. In additione-PVR information160 is sent so that based on location and subscription information the program recorded can be identified. Atdistribution service120,media information104 may be created automatically by software or manually by personnel using the information transmitted, or a combination of these two may be used.Distribution service120 then returnsinformation message470 containing updatedmedia information104 to the e-PVR and this is then incorporated intomedia information304.
Presumably,owner132 ofmedia content102 has given permission for it's distribution and so has provideddetailed media information104 todistribution service120. If permission has not been granted or information does not exist, distribution service will not allow distribution ofmedia content102 and therefore it will not provide an SEPK210 for thismedia content302. Infact media content302 will be encrypted only with locally available information and will only be able to be decrypted and presented locally on the samedigital system250 where the broadcast was received and the content was recorded. Two scenarios are described below.
In the firstcase media content102 can be distributed;encryption message450 that is returned toe-PVR110 contains encryption description454, and content encryption description452. Content encryption description452 is used to encrypt the media content102 (nowmedia content302 as it stored by e-PVR110).Media content302 is then encrypted and stored inmedia package306 andprogram key200 is generated. Inaddition program key200 is further encrypted according to encryption description454 and asSEPK210 andservice decryption information212 is created and these are both stored inmedia package306.
In the second case, content cannot be distributed andencryption message450 is returned toe-PVR110 containing content encryption description452, but not encryption description454. Inaddition encryption flag472 specifies how content encryption information452 is to be used to encrypt the media content102 (nowmedia content302 as it stored by e-PVR110).Media content302 is then encrypted and stored inmedia package306 andprogram key200 is generated. Inaddition program key200 is further encrypted and stored asLEPK220 andlocal decryption information222 is created with this information and again this is stored inmedia package306.
An alternative method for recording and recognizing content is as follows. Participatingowners132 as described above may embed certain information such as Unique Media Content identifier130 (as described under media information104) into the broadcast signal. In addition, these participating broadcasters may independently transmitcomplete media information104 todistribution service120. Thus, with at least this minimum of information such as UniqueMedia Content identifier130,media information104 can be obtained byapplication software180 fromdistribution service120 and made a part ofmedia information304 inmedia package306. Of course, broadcasters can transmit more information, for example they can transmit the entirety ofmedia information104 andapplication software180 then incorporates intomedia information304. However, that is time and resource intensive and therefore impractical. Alternately they can transmit a URL wheremedia information104 can be obtained byapplication software180 and then incorporated intomedia information304.
To minimize the information needed to be embedded in the video stream, a first part of the URL can be the location of thedistribution server374 orgeneral purpose server378 where the information is stored, and the remainder of the URL can be obtained byapplication software180 from subsequent portions of the same video program transmission. The first part of the URL can be placed at the start of the program transmission, and may contain a flag or code identifying it as a first part of the URL. The first part of the URL is appended to the beginning of the additional URL address information.
Participatingowners132 have several options by which they can embed information in broadcast signals. It is common practice, for example, to include such information in the Vertical Blanking Interval of the signal. However, this invention allows for an additional method of embedding information into the signal. In this invention, broadcasters can transmit one or more frames consisting of a pattern of black and white squares in a pre-determined format that can be interpreted byApplication Software180 as a specific binary number. This binary number can be translated into any information such as theUnique Content identifier130 of themedia content102. Thus, because only a few frames are transmitted, the user will not see the pattern, butApplication Software180 will be able to interpret it. Note that in addition to the frame containing the information, there may be an additional frame or frames at the beginning or end of the sequence (called “Marker Frames”) that alert the software that the informational frames are bracketed within those Marker Frames. The advantage of this method is that such information is not lost or corrupted when translating the media from one media to another (say film to Video) or one format to another (say PAL to NTSC). Also, these frames, if limited to a few frames at each place they are inserted are invisible to viewer. Another advantage is that these informational frames can be scattered over the entire media transmission.
If owner is transmitting content using streaming video, codes can be embedded in a streaming video stream in several ways and two are described herein. When acontent owner132 creates an audio or a video stream, that content owner can add script commands (such as URL script commands and custom script commands) that are embedded in the stream. When the stream is played back, the script commands can trigger events in an embedded player program, or they can start a Web browser and then connect to a particular Web page. This is commonly done in most streaming software today,Application software180 can monitor the incoming stream for these URLs and the URLs can contain or link to detailed information that describesections flags136, section data172 and so on. The other method is the same as traditional video—embedding frames with information in the form of patterns as described above. Other ways of embedding URL's or scripts in the video transmission are also anticipated.
Thusmedia content302 that can be distributed is contained withinmedia package306 that has anSEPK210 andservice decryption information212. Hence when it is transferred form the original e-PVR110 where it was recorded to another e-PVR110bin a differentdigital system250 where it is desired to be presented, e-PVR110bcan request decryption ofSEPK210 and then decryption ofprogram key200 using the usual methods which include a “payment step”. In thismanner media content102 that is broadcast and has been recorded by one e-PVR110 and shared with a second e-PVR110bcan be presented, but only when the financial interests or distribution controls ofowner132 of storedmedia content302 have been met.
An optional step that can be performed once content has been recorded is to substitute the recording with another version that may be of higher quality. In this method,user112 ofe-PVR110, selects content to be recorded using any of the input sources described earlier including live broadcasts on TV or streaming video. Thismedia content102 is then saved asmedia content302 inmedia package306. As described above, application software obtains and incorporatesmedia information304 intomedia package306 and encryptsmedia content302 using the methods specified above. At any time in this process or even after it is completed,application software180 can contactcontent owner132 for a higher quality or alternate version ofmedia content302 either directly or throughdistribution service120. This can be accomplished either through a known URL or email or other address supplied by thecontent owner132.Owner132 may then manually or automatically respond by specifying a location for another version of themedia content102, which is referred to as media content102a. This version may then be downloaded or otherwise obtained byapplication software180 and substituted formedia content302 resulting in media content302abeing present inmedia package306 instead of theoriginal media content302. This may presumably be used for example to allow users to record content from a low quality source (say broadcast television or Internet streaming) and allow substitution by a high quality version of the same content.
Creating Media Content
e-PVR110 can also be used to createmedia content302. For example, to create media content e-PVR110 can digitize a video recorded with a camcorder, receive a file transfer from a digital video camera, or receive or create an animated sequence using media editing, creation orenhancement software272 and optionally other third party software. Also, the above sources can be combined with each other and other recorded content. Once themedia content302 is received or created by e-PVR it is stored on storage device254 asmedia package306, in accordance with and using the identical steps of the above section describing the recording of media content, with some important differences described below.
When user ofe-PVR110 is ready to distribute the above video, and before the steps of requesting media information, he or she may use media editing andenhancement software272 to enter their identification such as a user account ascontent owner132 along withother media information304 that they choose to enter. Also,user112 must register theirmedia content302 prior to distribution. As part of registration process,distribution service120 provides a uniquemedia content identifier130, which can be used to obtain a code, algorithm, or process to encrypt theirmedia content102. Decryption information138 can be provided bydistribution service120 ordistribution service120 can provideSEPK210 andservice decryption information212 as part ofencryption request message480. Whenapplication software180 sendsencryption request message480 todistribution service120, it containsmedia content identifier130 and hencedistribution service120 will provide bothprogram key200 andSEPK210 using either method described above.
In some cases, distribution service may request a copy of themedia package306 so that it can be manually examined to eliminate the possibility that someusers112 may attempt to distribute content belonging to others as their own. Also, sinceuser112 account number and/or ID is contained in the media package, the user can be tracked in case of piracy.
Enhancing Media Package
It is anticipated thatuser112 of e-PVR110 can download amedia package106 containing selectedmedia content102 with a goal of enhancing the selectedmedia package106. As previously described, e-PVR110 can decrypt locally storedmedia package306 somedia content302 can be presented. However, in thisinstance user112 wants to add or enhancemedia content302 ormedia information304, for example using media editing, creation orenhancement software272. Such a user is henceforth referred to as Media Enhancer. These enhancements can include ratings, subtitles, commentary and so on, and can also include information needed to display it, such as a location on the screen for showing subtitles, or time codes at which the information is presented.
For example, Media Enhancer can provide an alternate audio language track or subtitles formedia content102. In the case of an audio track it can be recorded in synchronization with the presentation ofmedia content302. In the case of subtitles they can be scheduled to be presented at specific times during the presentation ofmedia content302, for example corresponding to section data172. It is anticipated that theowner132 ofmedia content102 may provide appropriate information to facilitate media enhancements for example time codes for the placement of subtitles in section information174.
Another example is for Media Enhancer to provide rating levels forsections170 ofmedia content302 to be used as described under “Section Ratings and Skipping Content”. These can be incorporated as section information174 and correlated to section data172. In this case section data172 and section information174 etc. can be stored withmedia information304 and can be used by another e-PVR110bto limit what segments ofmedia content302 are shown. In some cases additional section information174 can be provided, much like an annotated book.
While the above described enhancements may be stored as part of media information304a, enhancements can also take the form of new media content302a, for example new and expanded program material, interviews, accompanying commentary, or alternate viewpoints or opinions. These can be displayed as overlays over existingmedia content302 or inserted asnew sections170aa. . .170nainterspersed betweensections170a. . .170n(or even at the beginning and/or end) of existingmedia content302.
It is anticipated that each Media Enhancer can add cost134ato original cost134 to create new total cost134binmedia information104.Cost134ais associated with Media Enhancer's account number and/or unique identifier so thatadditional cost134awhen paid, for example as part ofuser payment434 for total cost134bis credited to Media Enhancer.Additional cost134afollows the same rules as cost134 including being embodied by a set of rules, links to additional information140 or any combination thereof.Additional cost134acan also be zero or negative. Also, it is assumed that all the payment steps and payment scenarios described under “Paying for Media Content” apply to thisadditional cost134a.
Adding enhancements in the form of additional media information304atomedia information304 creates new media information304band similarly, if additional media content302ais added tomedia content302, new media content302bis created. In any case, a new media package306bis created and this can contain both the original and the enhancements. Conceivably enhancements could be in amedia package306a, which can be merged withoriginal media package306 to create media package306b. Media Enhancer can make additions affecting eithermedia information304 only,media content302 only or both. In some cases, althoughonly media content302 is enhanced, some necessary identification and payment information may need to be added tomedia information304. These three scenarios are described in more detail below.
In the first scenario, only enhanced media information304ais added to existingmedia information304.User112 acting as Media Enhancer obtainsmedia package106 and copies it to storage device254 on local e-PVR110 orpersonal computer350, and stores it locally asmedia package306. Media Enhancer then opensmedia package306 using media editing, creation, orenhancement software272. The software can useSEPK210 or LEPK220 or other appropriate algorithm, process or key to decryptmedia information304. In this case, ifSEPK210 needs to be decrypted, decryption flag432 indecryption request message430 indicates that such an operation is to be completed and the decryption is completed as described in the various embodiments, but the payment step can be skipped because the Media Enhancer is not being presented the content. Even whenmedia information304 is decrypted, at least a portion of it is not shown to Media Enhancer—as anexample owner132 information or associated account numbers and cost134 (a specific number or the rules to generate the number) are not shown. Similarly privileged information from other Media Enhancers may not be shown to current Media Enhancer.
Media content302 can also be decrypted if appropriate (for example as a background to allow Media Enhancer to better add subtitles), but decryption flag432 indecryption request message430 specifies that this decryption is originating from media editing, creation, orenhancement software272 for a media enhancement activity. Whenmedia package306 is decrypted in this manner and payment step has been skipped, some provision can be made (such as lowering the quality of the video, or presenting it with a logo or pattern overlaid on it) so thatuser112 does not use this process to circumvent payment for presentation ofmedia content302.
Media Enhancer then enters or merges new media information304aincluding any account number or Unique identifier176, description of Media Enhancer (such as a name that can be displayed in a menu),additional cost134a, and a category or service (for example subtitles) identifying the contribution of Media Enhancer, intooriginal media package306. Additionally, at least an identifier176 for Media Enhancer is entered and identifier176 is associated with each additional media information304aadded to existingmedia information304 to create new media information304b. For example, identifier176 can be associated withadditional cost134aand with section information174aa. . .174na(described next). Thus identifier176 identifies for example, section information174aaassociated with Media Enhancer as well ascost134a, descriptions, menu selections and other more general information associated with Media Enhancer. New media information304acan be added to existingmedia information304 as section information174aa,174ba. . .174na, and this is associated withsection data172a,172b. . .172nrespectively, each of which may already have other section information174a,174b. . .174nassociated with it. Each new section174aacan also have section cost178aassociated with it, and in fact it can have all the properties afforded to original section information generally.
When done, Media Enhancer saves new media package306bandsecurity module270 then re-encrypts any portions of the package that were decrypted and/or changed. Since, in thisscenario media content302 is not changed, it can be saved without re-encryption, although in some cases, it may still be re-encrypted before saving. As described in the various embodiments, particularly in the third embodiment, media content302b(ormedia content302 if it is not changed) and optionally media information304bandprogram key200 are re-encrypted. Following that step LEPK and SEPK are recreated also as described in the embodiments, particularly the third embodiment. In some cases LEPK may not exist or cannot be decrypted and it is replaced with a new LEPK or a new LEPK can be created as described previously. Thus additional media information304aandoriginal media information304 are encrypted, preferably using the same process, code or algorithm (or combination thereof) and these are saved in new media package306b.
Media Enhancer then uploads or otherwise makes available new Media package306bas new Media Package106band this can be obtained by another user112a. For the sake of clarity, this package when obtained by a different user112a, can be designated with the same notations as when it was being enhanced by Media Enhancer that is, as media package306bcontaining media content302band media information304b. However, media information304bcontainsoriginal media information304 as well as additional media information304aadded by Media Enhancer as described above.
When user112aselects media content302bfor presentation, a menu can show an option to choose the enhancements created by Media Enhancer and embodied in additional media information304a. If user12aselects this option, media information304a(including additional section information174aa. . .174naassociated with the identifier176 of Media Enhancer) are used bye-PVR110, for example when presenting the media content302bor when calculating cost134 to present it. In other words, section information174aais presented or used (depending on what kind of information it is) whensection170aof media content is presented (and in some cases before or after it is presented), and this may be in addition to or in conjunction with section information174aif appropriate, and cost134aadded by and associated with Media Enhancer is added to cost134.
In the second scenario, Media Enhancer adds only additional media content102atooriginal media content102 to create new media content102b. Again,user112 acting as Media Enhancer obtainsmedia package106 and copies it to storage device254 on local e-PVR110 orpersonal computer350, and stores it locally asmedia package306. Media Enhancer then opensmedia package306 using media editing, creation, orenhancement software272. The software can useSEPK210 or LEPK220 or other appropriate algorithm, process or key to decryptmedia information304. In this case, ifSEPK210 needs to be decrypted to decrypt media information, decryption flag432 indecryption request message430 indicates that such an operation is to be completed and the decryption is completed as described in the various embodiments. However, decryption flag432 indecryption request message430 specifies that this decryption is originating from media editing, creation, orenhancement software272 for a media enhancement activity and payment step can conceivably be skipped
Media content302 can also be decrypted if appropriate (for example as a background to allow Media Enhancer to better add subtitles). Whenmedia package306 is decrypted in this manner and payment step has been skipped, some provision can be made (such as lowering the quality of the video, or presenting it with a logo or pattern overlaid on it) so thatuser112 does not use this process to circumvent payment for presentation ofmedia content302.
Media Enhancer then inserts or merges new media content302bintomedia package306 using one of two methods (SeeFIGS. 5A,5B &5C). In the first method, new media content302acan be appended to media content302 (although they need not be physically contiguous and can reside in different parts of the file representing media package306), or in a second method it can be inserted so that sections of new media content302aare interspersed withoriginal media content302. The latter may be possible only when bothmedia content302 and302aare divided into physical sections and not just logical sections. Alternately when only logical sections are present, the sections can be re-numbered so that they are presented in the correct order. In either case, eachnew section170aa,170ba. . .170nacan be associated withoriginal sections170a,170b. . .170nby entering appropriate information (such as time codes) as new section flags136aor by associating them with the appropriate existing section data172 (for example by associating section data172aforsection170awithsection170aa). In some cases an original section170imay not have acorresponding section170iaand in other cases multipleadditional sections170ia,170ibetc may be added. It should be noted that although Media Enhancer may only be adding new media content302a, new media information304amay be created by media editing, creation, orenhancement software272 to properly synchronize and place new media content302a.
Eachnew section170aathat is associated withoriginal section170acan be presented at the appropriate time in one of three modes. First, eachnew section170aacan be presented followingcorresponding section170a. Thussection170aofmedia content302 is presented, and thensection170aaof media content302ais presented. In the second mode the process is the same, but the order is reversed. In other words,section170aaof media content302ais presented, and thensection170aofmedia content302 is presented. The third mode is where eachoriginal section170aofmedia content302 and eachnew section170aaof media content302aare presented simultaneously. In this mode, at least one of themedia content302 or302amust have an “alpha channel” or equivalent, so that one can overlay the other as is commonly done when compositing video. Media Enhancer can specify which mode is to be used and this is saved as a flag in section data172. This flag can be different for eachsection170aa, so that a different mode can be used for each section in a single media package306bcreated in this manner. Additionally, eachnew section170aaof new media content302ais associated with identifier176 uniquely identifying Media Enhancer.
In addition, Media Enhancer then enters or merges new media information304bincluding any account number or Unique ID, description of Media Enhancer (such as a name that can be displayed in a menu),additional cost134a, and a category or service (for example accompanying commentary) identifying the contribution of Media Enhancer, intooriginal media package306. Additionally, at least an identifier176 for Media Enhancer is entered intomedia information304 and this identifier176 is associated with each additional media information304aadded to existingmedia information304 to create new media information304b. This process is similar to the process of adding additional media information as described in the first scenario above. Although in this scenario, Media Enhancer is not enhancing original media information104 (now described as media information304), some minimum amount of additional media information304amay be required for identification and payment purposes.
When done, Media Enhancer saves new media package306band media editing, creation, orenhancement software272 then re-encrypts any portions of the package that were decrypted and/or changed. As described in the various embodiments, particularly in the third embodiment, media content302band optionally media information304bandprogram key200 are re-encrypted. Following that LEPK and SEPK are recreated also as described in the embodiments, particularly the third embodiments. In some cases LEPK may not exist or cannot be decrypted and it is simply replaced with a new LEPK or a new LEPK can be created as described previously. Thus additional media information304aandoriginal media information304 are encrypted, preferably using the same process, code or algorithm (or combination thereof) and these are saved in new media package306b. Similarly, additional media content302aandoriginal media content302 are encrypted preferably using the same process, code or algorithm (or combination thereof) and these are also saved in new media package306b.
Media Enhancer then uploads or otherwise makes available new media package306bas new media Package106band this can be obtained by another user12a. For the sake of clarity, this package when obtained by a different user112a, can be designated with the same notations as when it was being enhanced by Media Enhancer that is, as media package306b, containing media content302band media information304b. However, media content302bcontainsoriginal media content302 as well as media content302aadded by Media Enhancer as described above and additionally containsoriginal media information304, plus new media information304athat has been created by media editing, creation, orenhancement software272 as described above. When user selectsmedia content302 for presentation, a menu can show an option to choose the enhancements embodied in additional media content302a. If user selects this option, all media information304aand media content302aassociated with the identifier176 of Media Enhancer is used bye-PVR110. For example whensection170aais to be presentedcost134aadded by and associated with Media Enhancer is added to cost134 and whensection170ais to be presented,section170aais also presented in one of the three modes described earlier.
In the third and final scenario, Media Enhancer adds both additional media content302aand additional media information304ato create new media package306b. Each of these can be construed to be a separate process and each process is performed as described in the two scenarios described above. Thus in this third scenario additional media information304ais added as described in the first scenario and additional media content302ais added as described in the second scenario, although Media Enhancer operating media editing, creation, orenhancement software272 may perceive it as a single process.
Conceivably, some Media Enhancers may act purely as distributor and not enhancemedia content302 ormedia information304 but perhaps provide a different extrinsic value-added service such as delivery ofmedia package306 for example. They may choose to addcost134awithout any enhancements added tomedia information304, for example no subtitles or ratings or any enhancements are added to section information174. In this case, Media Enhancer may add a minimum of media information304a, for example, only account number, identifier176 andadditional cost134amay be added to create new media information304band by extension media package306b. Thus, Media Enhancer enhancesmedia package306 by adding her name and/or marketing efforts to media package306b. As before, media package306bis uploaded todistribution service120 or to another server (forexample content server376 or general purpose server378) now as media package106bfor others to download, but now withcost134 and134aassociated with it, ensuring payment toowner132 as well as to Media Enhancer for her value added service such as delivery or distribution of media package106b.
More than one Media Enhancer can add enhancements, and these can be stored cooperatively with the previous enhancements. For example, another Media Enhancer can add media content102cor media information104cor both to the above described media package106bthus creating a new media package106c. These two Media Enhancers may add their enhancements in the same category or in two different categories. When added to the same category these can conceivably be competing against each other. Any Media Enhancer can also add multiple enhancements in multiple categories for example adding both ratings and subtitles.
It is anticipated that whenuser112 usese-PVR110 they will selectmedia content302 to present by using a menu shown onpresentation device274. When a specific item is selected to be viewed an additional menu can show a variety of information inmedia information304 for example a title, but it can also include a descriptive name of one or more Media Enhancements (as entered inmedia information304 by Media Enhancers) perhaps arranged in one or more specific categories (e.g. subtitles or ratings).User112 operatesremote control280 or other selection means to not only choosemedia content302 to present but can also choose one or more of the Media Enhancements thus displayed that they wish to have associated with that presentation ofmedia content302. When this is done additional media content302aor additional media information304aassociated with the identifier176 of Media Enhancer is used as part of the selection as described above. Presumably,user112 will not be allowed to (or they may be advised not to) choose more than one set of section information in any one category. However, a situation can be conceived where more than one Media Enhancer's section information may be used simultaneously (for example, subtitles in two languages can be viewed simultaneously on different parts of the screen).
As described above, each Media Enhancer may also add anadditional cost134ato content owners original cost134 and thiscost134awhen received as part ofuser payment434 or paid by sponsor230 is credited to Media Enhancers financial account withdistribution service120 or other payment service. This amount is only credited to Media Enhancer ifuser112 chooses their identifier176 and/or descriptive name representing that identifier176 in a menu in order to avail themselves of the enhancements added by Media Enhancer as described above. Whenuser112 selects multiple items in the menu, thereby selecting multiple media enhancements,user112 will be required to pay (again as part ofuser payment434 or paid by sponsor230) the sum of thecosts134a. . .134nassociated with the media enhancements of each Media Enhancer chosen as well as the original cost134.
In yet another presentation selection process, the descriptive name for a Media Enhancer or a title corresponding to media content102aor302amay be shown in the menu, but no selection is associated with this menu item, anduser112 must payadditional cost134aassociated with Media Enhancers identifier176 as described above. In one scenario, a Media Enhancer may add enhancements andadditional cost134atomedia information104, and may add a flag that forces the user to always pay thisadditional cost134ain addition to cost134 whether or not they choose the enhancements created by this Media Enhancer. Media Enhancer may additionally add a flag that forces the selection of their enhancements so thatuser112 must watchmedia content102 with their enhancements no matter what other enhancements may be chosen when viewing.
Media Enhancer, by not adding a descriptive name and only adding an identifier176 and acost134a, can get paid withoutuser112 choosing the work of the Media Enhancer. In this scenario, whenuser112 desires to play themedia content302, they will not be given a choice in a menu as described above and must pay bothcosts134 and134a. Alternately, the same result can be achieved by setting a flag that instructsapplication software180 to not show Media Enhancers descriptive name on the menu and to simply add theadditional cost134ato original cost134.
All or part of thisnew media information304 can also be a link to additional information140 on a server such asgeneral purpose server378, and can be a script or set of rules either locally inmedia information304 or interpreted ongeneral purpose server378. Thus, in some cases, enhancements may be stored separately, for example ongeneral purpose server378 and these enhancements can be linked to using links to additional information140. Preferably enhanced media content102aand media information104aare encrypted using the same keys, processes and algorithms asmedia content102 ormedia information104 respectively, whether or not the enhancements are stored in their entirety in media package106bor if these enhancements actually reside on a server as described above.
It should be understood that while Media Enhancer adds media information304a(forexample cost134a) and possibly media content302ato existingmedia package306, that cost134 is not removed. Therefore it is anticipated that user112adownloads/obtains an enhanced media package106b(stored one-PVR110 as media package306b) and in order to have it presented, with or without enhancements, that cost134 be paid toowner132. When media information304aor media content302aare also used or presented Media Enhancer is paidcost134a. In the above description it is anticipated thatdistribution service120 may be paid a fee or commission as part of the payment or cost134 or134aordistribution service120 may correspond toowner132 and be paid all of cost134 or even cost134awhen service buys the enhanced media information104a/304aand/or media content102a/302a. It is conceivable that in some cases, cost134aadded by Media Enhancer may be zero or negative, so that total cost134band byextension user payment434 needed to present this content may be the same as or less than original cost134.
Enhanced Actions Based on Media Content
Media package306 can contain a practically unlimited number of instructions, which link actions by user ofe-PVR110 through aremote control280 orother input devices286 to actions or events related toe-PVR110 and byextension distribution service120 or other parts ofdistribution system100. For example, users of e-PVR110 can use theremote control280 to order a specific item from a merchant at a specific time in the program by pressing one ormore buttons282 on theremote control280, presumably when that item is displayed on thepresentation device274 as part of informative message312 ormedia content302. Section information174, ormedia information104 if it applies to all sections, can contain the information that allows user ofe-PVR110 to execute interactive instructions viaremote control280 orother input devices286.
e-PVR110 can have a list ofbuttons282 onremote control280 orother input devices286 that are mapped to numbers or other identifiers. Each model ofremote control280 orother input device286 can have aseparate button list490,490aetc. During setup or configuration of system, or simply byuser112 using it,application software180 can determine which device is being used (by recognizing the port or operating frequency for example). The list of buttons can have an alphanumeric code associated with it. When user presses a button the corresponding alphanumeric code is passed toapplication software180 by the hardware and/oroperating system262. This alphanumeric code is standard and known to all those who may benefit from this feature such ascontent owners132, sponsors230 or Media Enhancers.
For the sake of illustration, suppose the alphanumeric code is simply a series of numbers from 1 to 999.FIG. 18 then shows part of a possible list. Meanwhile, section information174 contains actions such as showing a menu or placing an order. Multiple actions can be accommodated in each section information174 and these can be grouped together. Each action can be associated with a button or combination of buttons or a sequence of buttons. To do this, the creator (for example sponsor230) of theinstructions492 simply uses the buttons alphanumeric code as shown inFIG. 19. The alphanumeric codes can be used both for display purposes and to execute an action. As shown inFIG. 19, multiple buttons in combination (here for illustration only shown as two alphanumeric codes with a “+” in between) and in sequence (again for illustration only shown as two alphanumeric codes separated by a “/”) can be associated with an action. Of course, as shown, a single button press can also be associated with an action.
This entire set of actions as shown for illustrative purposes inFIG. 20 can be placed in section information174 and will be available for use to the user ofe-PVR110 when thesection170 associated with section information174 is presented. Note that eachsection170 can be part ofmedia content302 or informative message312. Presumably some text or graphics may also be associated with each set ofinstructions492, so that user of e-PVR110 can be instructed which button to press for a specific action or outcome. In some cases, time codes, for example section information174, can be associated with the actions so that an action is valid at a certain time, but a different action may be valid at a different point in the presentation. For example, in the first few seconds, a message may appear asking the user to press a button to buy a certain item. If the user presses the appropriate button, he/she can buy it. However, after a few seconds, the message may be replaced with another one that asks the user to press a different button if they want an email with more information to be sent to them. If user presses the assigned button, sponsor230 can send an email message with information about the product.
This system can be used to order products, enter survey information and has potentially a myriad of uses. One of the many uses possible can include automatically obtaining (for example by automatically downloading or scheduling a recording) media content102a, by user simply pressing the appropriate button while watching a commercial or trailer of that media content102a.
Instructions492 can also be entered into section information174 that do not require user ofe-PVR110 to interact or provide input. Thus,instruction492 can simply execute wheneversection170 associated with it is presented. This can be used for example to activate abutton282 that in turn activates the menus etc. described earlier and may even display a message or icon onpresentation device274 that informs a user that a menu or enhanced action is available. This feature can also be used to collect data for example when acertain media content302 is presented or if a specific informative message312 is presented the time it was presented can be recorded. In the case of informative messages312, the sponsor230 can also correlate the time and location (provided in e-PVR information160) with external data such as user purchase actions immediately following presentation of their informative message312.
Actions can be in the form of programs or scripts that are executed locally on the e-PVR110 or on remote servers such as ageneral purpose server378 operated by content owner or ainformative message server380 operated by sponsors230 of informative messages232. Thus the actions and even the entire instruction492 (that is, including the alphanumeric codes and actions) can be composed in whole or part of links to additional information140.
In some cases instructions can have apersistence flag494. Thepersistence flag494 can describe if theinstructions492 will continue to be valid beyond thecurrent section170 and can also specify either in number (how many more sections) or by time (how much more time) that theinstruction492 may remain active. Thus, an instruction placed in the first section information174 may be active for the entire length of the program represented inmedia content302. In the absence of this parameter, the instruction will end with thesection170 it is associated with. Also another instruction492ain later section information174amay override any settings created byinstruction492. Instructions can also be placed in a general area ofmedia information304 and in this case can apply to the entire media content302 (i.e. allsections170 . . .170n).
Encryption Information Cloaking
Security module270 is primarily responsible for the encryption and decryption of various parts ofmedia package106 especiallymedia content102 and the various keys.Security module270 contacts the encryption/decryption server370 to obtain the encryption or decryption information it needs. However, in order to return a message containing the needed information, encryption/decryption server370 can first use the first identifier of the process, algorithm or key as received by it and specified inmedia package106 for example inservice decryption information212, and lookup the corresponding second, or actual identifier in a database. When found, it returns the process, key or algorithm identified by this second identifier tosecurity module270 on e-PVR110 for example asdecryption description442. This way a malicious user may discover say, the first identifier of the algorithm needed to decryptmedia content302 for example by decrypting and readingservice decryption information212, but cannot identify the actual algorithm used because they do not have access to the database on the encryption/decryption server370 to identify the actual (i.e. second) identifier and therefore cannot learn the actual process, key or algorithm. Also, the second identifier can be changed when a threshold is reached (for example an elapsed time, number of times the database was queried and so on). Thus, even if a malicious user were to steal or guess the second identifier, it might have changed by the time they use it or at least by the time they disseminate it to multiple other users.
Note that the identifier of an algorithm, process or key may be different depending on thee-PVR information160, so that again, if the first identifier of an algorithm is discovered by one malicious user on one e-PVR110, it cannot be used on another e-PVR110bfor another user, because server will either not have the information or will return a different algorithm or which will not be usable on e-PVR110bin a differentdigital system250. Similarly, identifiers may be matched tomedia package106, for example by linking it tomedia package identifier131 so that if the identifier for onemedia package306 is discovered, it cannot be used on anothermedia package306aeven if it contains theidentical media content302.
The information that is normally obtained from an encryption/decryption server may also be obtained from thelocal security database350, which duplicates information on the encryption/decryption server in part to minimize the communication required between an e-PVR110 and an encryption/decryption server370. Thelocal security database350 is also encrypted and re-encrypted in order to maintain the security of the encryption/decryption process. The e-PVR110, throughsecurity module270 manages the duplication and synchronization of information between thelocal security database350 and the encryption/decryption server370.
Searchable Information
Plain text information residing inmedia package306 may be searchable by theapplication software180 or even external services and software that provide searching capabilities. Thus a service can be envisioned that searches for and catalogs keywords that are part of a description or list of actors for example inmedia packages306 in the known universe of e-PVRs110 using a form of “Spider” technology. A remote computer (for example a general purpose server378) may be set up with software that finds or determines the logical addresses of e-PVRs110. Theserver378 can potentially learn the logical addresses from adistribution service120 for example one where the e-PVR is registered. Alternatelyuser112 who wishes to allow their e-PVR110 may register with such aserver378 or the operator of the service.Server378 reads themedia information304 of eachmedia package306 stored one-PVRs110. It then stores this information in a database and can further parse it if necessary for example to store specific items of information derived from parsing in more appropriate fields. As an example, it can store cost134 in a cost field and title in a title field of a database. Additionally it can store the logical location of the e-PVR containing themedia package306. The information is then indexed for faster searching and can even be cataloged either manually by personnel or automatically by algorithms.
When a different user112adesires a specific piece ofmedia content102 and either guesses or knows words or phrases that may be inmedia information104 of amedia package106 containing desiredmedia content102, user112amay connect to a service or a web page where these words or phrases may be entered in a form. When the form is submitted to the application software responsible for maintaining the web page or service, it can search the database on thegeneral purpose server378 and if the words or phrases are found, it can return the logical location of themedia package106 and the corresponding e-PVR110 in which the words or phrases were obtained. User112acan then obtain the desiredmedia package106 in several ways. For example, if a link or URL is available, user112acan select it. Alternately,user110 can make a request using email or any other protocol, even proprietary communication protocols. In any method, the e-PVR110 can transmit it to e-PVR110bbelonging to user112aor e-PVR110bcan download it.
In some cases the above described functions can be performed onmedia information104 even when it is encrypted. To do this, e-PVR110 may allow some trusted “spiders” access to portions ofmedia information104 by performing some decryption steps as described in various embodiments later in this description. “Trusted spiders” can be those that have registered with adistribution service120, anddistribution service120 may have verified that the decryption will not subvert the copyrights protected by the encryption. The e-PVR110 may obtain decryption information locally if available or it may send adecryption request message430 to encryption/decryption server370 with decryption flag432 containing an indication that decryption is solely for the purpose of supplying portions of media information to a search service. Thus encryption/decryption server370 can skip payment step for this event.
User112 may perform this search function locally on their own e-PVR110 or another local e-PVR110aon localdigital system250. In this case a remote computer or service is not needed.e-PVR110 simply searchesmedia information304 of eachmedia package306 on its own storage device254. It can also readmedia packages306 on storage device254aone-PVR110a. This is done through standard file-sharing and network protocols available on most standard operating systems today. In another scenario, application software and forms in general purpose server as described above can be present one-PVRs110. Each e-PVR110 in adigital system250 can maintain the database or it can be shared between these e-PVRs.
When the plain text is associated withsections170,users112 can also, usingremote control280 orother input devices286, use it to jump to thatsection170 or even to a place withinsection170. As an alternative to using fast-forward or rewind for example,user112 can search for a specific item of plain text. To do this, user presses abutton282 to launch the search interface on thepresentation device274.User112 enters the search text in a form on the e-PVR andapplication software180 searches throughsection information170,170a. . .170n. When found, it identifies the section170iin which it was found and can also if available further specify where it is in that section170i, for example by specifying the number of seconds or frames from the beginning of that section170i. Exact location of the information can be the same as that used to show subtitles in the correct location of the section for example. e-PVR110 can then skip ahead or back to that location (either the section170i, or the location within that section170i) anduser112 can then choose to lete-PVR110 present this content from that point onward.
In order to prevent malicious users from editing the plain text, a checksum can be calculated for all the plain text and then hidden in an encrypted portion of the file. Before presenting the file,application software180 may test against the checksum to determine the integrity of the file and if the test fails, not show the file and optionally provide the user with a message asking if they want to see it anyway.
Multiple Users
Any e-PVR110 can havemultiple users112,112a. . .112nthat can be recognized bye-PVR110 and these users may each be represented by a user identity. For example, ife-PVR110 is in a typical household, the parents may have a user identity that is different from that of the children, and they may each have their own user identity. There may be additional user identities that represent the family or even a group comprising some members from outside that home (say a movie watching club, or a sports team fan group). Each user identity can be associated with different preferences/profiles334,334aetc. and optionally can be protected by passwords. User preference/profile334 can contain for example, favorite genres, preferred channels, ratings for sex and violence and so on. Different sets of preferences/profiles334 can be pre-programmed into an e-PVR110, so that auser112 can select one closest to her preference and either use it as is, or make minor modifications to tailor it to their needs. Of courseuser112 can create new profiles from scratch. It is envisioned that a typical user identity for children in this scenario has preset thresholds for various scales such as sex and violence that are much lower than those for the profiles of the adults' user identities.
Users will be able to switch to different identities by usingremote control280 or anyother input devices286 for example by selecting them onpresentation device274 or by entering the names of the identities. Passwords if set on a specific identity can also be entered using any of the input devices. When auser112 using preferences/profile334 interacts withe-PVR110 and changes to a different user identity, the preferences/profile334afor that new identity is read and all the variables are changed to match the values associated with that user identity. This can happen whilemedia content302 is being presented, and the presentation will change to reflect the changes if any.
Real Time Viewing
e-PVR110 allows input by means of file transfers (including downloads, copying and others), streaming video and traditional video protocols. All of these methods can be used for real-time viewing as well as for creating storedmedia content302 in the form of storedmedia packages306 ine-PVR110 and viewing them later. Real-time viewing deals primarily with content that is desired to be watched as it is created—often referred to as “live” content such as sporting events or news.
File transfers can use any of traditional FTP, HTTP or similar protocols, but in addition can use progressive downloads, as well as other technologies such as BitTorrent and others. Traditional video protocols include analog and digital video that are delivered using for example broadcast TV or Cable TV. Traditional Video sources may include, as described earlier, aCable TV service394,Broadcast TV source398,Satellite Broadcast402 or even VCR and DVD players whose output is connected to the video input ofe-PVR110. Streaming video is usually obtained over a network of some kind—typically network150. During input, the video is captured asmedia content302 intomedia package306 while it is being presented.
To prepare for real-time viewing byuser112 employing downloading,owner132 can create amedia package106 withmedia information104 already present including section flags136 and section data172 etc. In some cases somemedia information104 may exist and more may be added later as the program or event progresses and existing information may be modified. However,media package106 may initially contain only space or logical space allocation reserved formedia content102. Later as the program or event progresses,media content302 may be added to themedia package306 as asingle section170 or asmultiple sections170,170aetc. progressively. In one scenario,media content102 may be divided not only intological sections170, but alsophysical sections170, and this may be beneficial for quicker downloading.
To use downloads for real-time viewing, user selectsmedia content102 from a menu presented by amedia content102 source, such asdistribution service120,media content servers376, or any other source such as other e-PVRs110b. When the media package is selected for viewing,e-PVR110downloads media package106 and stores it locally asmedia package306. At this time,media package306 may or may not containmedia content302, and if not, only space for it can be reserved. Alternately, it may contain only a portion of themedia content302. At frequent intervals,e-PVR110 polls the source and requests a checksum, size, date code or other information about themedia content102 or if appropriate the next (or first)section170. If this is different from the information within media package306 (for example ifsection170 was empty or had only a place holder, or even if it was complete, but different from the current version on the source), it downloads the portion of media content102 (for example a section170) that has changed. If this is a first section, it can then be presented to the user. Meanwhile, a counter or location withine-PVR110 is updated so that it is aware of thenext section170 or portion ofmedia content102 that needs to be downloaded. Again,e-PVR110 continues to poll the source as described above and the process repeats until the whole of themedia package306 with updatedmedia content102 is downloaded and an end of file marker message is reached and received bye-PVR110.
For traditional video broadcast and streaming video capture there are similarities as well as differences. For these two modes, as the video is received, it is analyzed and encoded into a digital format such as MPEG4 for example. It may additionally be encrypted as described in embodiments one through four and then incorporated intomedia package306 asmedia content302. Additionally,media information304 may simultaneously be created including the creation of section flags136 to definesections170 . . .170n. This may be done simultaneously while it is being presented touser112 onpresentation device274, or it may happen in the background as content is being recorded for later presentation. Depending on the processing power, memory and other features of the e-PVR110, and the characteristics of themedia content102 being captured, it may not be possible to capture, encode, section and encrypt the video in real time. In such cases, the video may be captured to a temporary file and processed later bye-PVR110.
In those cases where it is possible to analyze the video in real-time,e-PVR110 may skip those portions of the video input that it is able to identify as commercials not belonging tomain media content302. Alternately, it can pause the playing of themedia content102 while it displays locally available informative messages312 instead of or in addition to the commercials broadcast with themedia content102.User112 may useremote control280 to disable this feature at any time and enable it again when needed. The preferences can be setup byuser112 so that the feature remains disabled when disabled byuser112 or alternately,user112 may have to disable it for each program. In order to use this feature, however,sections170 ofmedia content102 need to be recognized by theapplication software180.
In one scenario, section information can be automatically generated by assigning sections based on significant changes in the video content. Presumably such changes in the video will also represent changes in the substantive content such as changes in the story, interactions of the characters or venue within a program. Such boundaries are ideal for section data172 and section information174, as well as for inserting informative messages312. Scenes are the most common natural sections of any program, although there can be others; so hereafter this description may refer to these natural sections as scenes or scene changes for the sake of clarity, although any natural sections can be created with these methods.
Hence, scene changes can be sensed automatically and embodied as section flags136 which define one ormore sections170 corresponding to those scenes. Alternately,sections170 . . .170ncan be derived from codes embedded in the video by “participating”owners132. Other information about the video can also be derived from the embedded codes and saved asmedia information304 as part ofmedia package306. The codes can also identifysections170 that are part of themedia content302 and those that are not (for example commercials broadcast over TV at intervals within the main content302), for example, by providing unique IDs for the sections and no unique IDs for the commercials. The methods for recognizing and using embedded codes are described under “Recording Media Content from Video Input” elsewhere in this description.
Yet another way of creating sections for the createdmedia content302 is by simply downloadingmedia information104 fromdistribution service120 and incorporating it intomedia package306 asmedia information304. In order to do this,media content302 must be recognized by distribution service120 (for example by embeddingmedia content identifier130 in the transmission) and the methods for this are also described under “Recording Media Content from Video Input” elsewhere in this description.
e-PVR110 may remove or delete portions of the video input that it is able to identify as commercials not belonging tomain media content302. Thus themedia content102 can be saved asmedia content302 in real-time or later, with commercials already removed. However, in one embodiment, all of the content is stored, and the user may edit themedia package306 using media creation, editing andenhancement software272 to further refine the results of automatic section detection. Thususer112 may move, add or delete one or more section data172 to remove the commercials for example, however, this may result in themedia content302 becoming non-distributable as described in embodiment four.
e-PVR110 also allows input through Streaming Video protocols. This may include, as described earlier, streamingvideo source382 providing a Multicast or Unicast stream overnetwork150. During input, the streaming video is captured into themedia package306. In a manner similar to that described above, streaming video input may be recorded and stored. As the stream is received over thenetwork interface256, it is analyzed and encoded into a digital format such as MPEG4 for example. It may additionally be encrypted as described in embodiments one through four and then incorporated intomedia package306 asmedia content302. Additionally,media information304 may simultaneously be created including the creation of section flags136 to definesections170 . . .170n. These processes may occur while the content is being presented touser112 onpresentation device274, or it may happen in the background as content is being recorded for later presentation. Depending on the processing power, memory and other features of the e-PVR, and the characteristics of themedia content102 being captured, it may not be possible to capture, encode, section and encrypt the video in real time. In such cases, the video may be captured to a temporary file and processed later bye-PVR110.
In those cases where it is possible to analyze the video in real-time,e-PVR110 may skip those portions of the video input that it is able to identify as commercials not belonging tomain media content302. Alternately, it can pause the playing of themedia content102 while it displays locally available informative messages312 instead.
There are some difference between the presentation of Streaming Video and traditionalvideo using e-PVR110. In order to provide the best experience touser112, the network bandwidth can be managed so that a sufficient amount is available to the stream being viewed and the content can be watched without jerkiness and other problems typical in streaming video. Typically, the input will be “buffered”, so that e-PVR110 always has somemedia content302 that can played while the next part of the content is being obtained.
The bandwidth management system will allocate bandwidth to several processes. For example, the process representing the Internet “channel” showing the streaming video being watched will be allocated the majority of the bandwidth. This may be controlled by various defaults and user preferences obtained from user list333 preferences/profiles334, but may also be read from a system configuration file. The streaming video source may also supply a recommended bandwidth that can be used bye-PVR110. However, other “favorite channels” are presumably also simultaneously being recorded or downloaded, so the remaining bandwidth is allocated (typically equally) to those processes as well. This is done so that if auser112 changes to a different Internet Channel, there is an existing buffer that is then played. Also, the new “channel” to which the user has switched becomes the current channel and is allocated the majority of the bandwidth.
When any program finishes, the user will typically interact with a menu, in order to choose a new show or the rating level etc. of the next cued up show on the same channel. The system displays a message on the screen asking the user for some input. User will typically provide a response usingremote control280 orother input devices286. If there is no input, the system then assumes that no one is watching, confirms this with a message on the screen, and then pauses the display. It then reallocates the bandwidth—dividing it among other channels instead of favoring the current channel and this is presumably done equitably for all channels. However, in some cases e-PVR110 may allocate bandwidth unequally even whenuser112 is not viewing any channels for example in order to download more content from favorite channels.
In all of these modes,media content102 received from the respective source is likely to be encrypted and it can be decrypted using decryption information138. Hence the preferred process for obtaining keys and payment is described under the first embodiment for all real-time viewing. However, once themedia content302 is stored locally or in some cases when it is identified based on embeddedmedia content identifier130, it may obtain service keys or local keys or both and thus fall under the provisions of the other embodiments.