CROSS-REFERENCE TO RELATED APPLICATIONThe present application is a continuation of U.S. patent application Ser. No. 11/611,188 filed on Dec. 15, 2006, the disclosure of which is hereby incorporated by reference in its entirety.
FIELD OF THE INVENTIONThe present invention relates to a set-top box function that receives broadcast or multicast multimedia content and enables client-side protection of the multimedia content for non-real-time playback.
BACKGROUND OF THE INVENTIONIn a broadcast/multicast (one-to-many) video transport system, digital watermarking can most easily be accomplished at the source of the video broadcast. This approach delivers a common watermark to each termination or client receiving the broadcast or multicast video content. However, this common watermark provides no deterrent to the user against anonymous redistributions. This redistribution can occur through public Peer-to-Peer (P2P) networks, darknets, or postings to video sharing sites.
Client-side watermarking may be used to address this issue. More specifically, client-side watermarking may be used to watermark broadcast or multicast content with information clearly identifying the end user or client device. This watermark then serves to deter the end user from violating the copyright policy by illegally redistributing the video content. However, client-side watermarking requires substantial resources and, therefore, significantly increases the cost of the client device. As such, there is a need for a low cost system providing client-side protection of broadcast or multicast content.
SUMMARY OF THE INVENTIONThe present invention relates to client-side protection of broadcast or multicast multimedia content for non-real-time playback. A set-top box function receives a request to record multimedia content and determines whether recording of the multimedia content is restricted. Upon receiving the multimedia content, the set-top box decrypts the multimedia content, if necessary, for real-time playback. If recording of the multimedia content is restricted, the set-top box re-encrypts the multimedia content and generates a packaged file including the re-encrypted multimedia content and one or more of a content identifier, a set-top identifier, a network reference to a copyright policy server, and a record policy of the multimedia content. The packaged file is either stored locally or transferred to remote storage. A remote system having access to the packaged file obtains the packaged file and enforces a copyright policy of the multimedia content before releasing the multimedia content for non-real-time playback. For example, the copyright policy may require that the multimedia content be watermarked with a content identifier, a set-top identifier, and/or user information identifying an associated user, that a desired Digital Rights Management (DRM) policy be enforced, that the user purchase the multimedia content, or that the user pay a fee for non-real-time access to the multimedia content.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
BRIEF DESCRIPTION OF THE DRAWING FIGURESThe accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
FIG. 1 illustrates a system incorporating a set-top box function providing client-side protection of broadcast or multicast multimedia content for non-real-time playback according to one embodiment of the present invention;
FIG. 2 illustrates the operation of the set-top box function to process a record request according to one embodiment of the present invention;
FIG. 3 illustrates the operation of the set-top box function to perform a recording process according to one embodiment of the present invention; and
FIG. 4 illustrates the operation of the system ofFIG. 1 to enforce a copyright policy of multimedia content recorded by the set-top box function according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSThe embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
FIG. 1 illustrates asystem10 including a set-top box function12 implementing the present invention. In general, thesystem10 includes the set-top box function12, acontent server14, aplayback device16, alicense server18,remote storage20, aremote system22, and acopyright policy server24. Note that one or more of thecontent server14, thelicense server18, and thecopyright policy server24 may alternatively be implemented on the same server. In general, the set-top box function12 receives multimedia content from thecontent server14. Thecontent server14 may broadcast or multicast the multimedia content to a number of set-top box functions including the set-top box function12 in a one-to-many fashion using, for example, Internet Protocol version 4 (IPv4), Internet Protocol version 6 (IPv6), or digital television broadcast such as a Cable Television (CATV) or satellite broadcast. In one embodiment, thecontent server14 is an Internet Protocol Television (IPTV) server providing an IPTV service. The multimedia content received by the set-top box function12 is preferably encrypted. In addition, the multimedia content may be encoded or compressed according to, for example, the MPEG2, MPEG4, H.264, or other standardized or proprietary protocol.
The set-top box function12 then decrypts and optionally decompresses the multimedia content from thecontent server14 and provides the decrypted, decompressed multimedia content to theplayback device16 for real-time playback. Theplayback device16 may be, for example, a High Definition Multimedia Interface (HDMI)/High-bandwidth Digital Content Protection (HDCP) compliant television or the like. Note that while the discussion herein focuses on HDMI/HDCP as the preferred embodiment, the present invention is not limited thereto. The present invention is equally applicable to any digital multimedia output interface and associated Digital Rights Management (DRM) scheme. In addition, as discussed below in detail, if recording of the multimedia content is restricted, the set-top box function12 re-encrypts the decrypted multimedia content using an encryption key obtained from thelicense server18 and generates a packaged file including the re-encrypted multimedia content and one or more of a content identifier (ID) identifying the multimedia content, a set-top ID identifying the set-top box function12, a Uniform Resource Locator (URL) or other reference to thecopyright policy server24, and a record policy for the multimedia content obtained from thelicense server18. The set-top box function12 then stores the packaged file either locally where theremote system22 has access to the packaged file or remotely in theremote storage20 associated with theremote system22.
Theremote system22 may be a personal computer, multimedia center, Digital Video Recorder (DVR), portable media device, or the like connected to the set-top box function12 via, for example, a Local Area Network (LAN). For example, theremote system22 may be a personal computer connected to the set-top box function12 via a LAN in an associated user's home. Using the URL of thecopyright policy server24, theremote system22 then interacts with thecopyright policy server24 to obtain and enforce a copyright policy of the multimedia content. Note that thecopyright policy server24 is more generally referred to herein as a rights policy server. Likewise, the copyright policy is more generally referred to herein as a rights policy. The copyright policy for the multimedia content may be defined by the owner of the multimedia content, a broadcaster of the multimedia content, or the like. As discussed below, the manner in which the copyright policy is enforced depends on the details of the copyright policy. The copyright policy may require client-side watermarking of the multimedia content with the set-top ID of the set-top box function12, the content ID of the multimedia content, and/or user specific information. As another example, the copyright policy may require that a desired Digital Rights Management (DRM) policy be enforced.
The present invention enables enforcement of a copyright policy for recorded multimedia content while keeping the set-top box function12 relatively low-cost. More specifically, the set-top box function12 generates a packaged file including the re-encrypted multimedia content and makes the packaged file accessible to theremote system22. Theremote system22, rather than the set-top box function12, then enforces the copyright policy by, for example, watermarking the multimedia content before releasing the multimedia content to the user in non-real-time. As such, client-side protection may be enforced by theremote system22, which may be the user's personal computer, rather than the set-top box function12. As a result, the cost of the set-top box function12 is substantially reduced.
The set-top box function12 is preferably a set-top box such as a digital cable television set-top box or an IPTV set-top box, or a sub-system of a set-top box such as a digital cable television or IPTV decoder. However, the present invention is not limited thereto. The set-top box function12 may alternatively be a hardware and/or software function stored on a personal computer or the like.
In this embodiment, the set-top box function12 includes a network interface (NIC)26 for receiving the multimedia content from thecontent server14. Thenetwork interface26 may be a network interface card, digital television tuner, or the like enabling the set-top box function12 to either tune to a desired broadcast channel or subscribe to a desired multicast channel. In this example, the multimedia content from thecontent server14 is encrypted and compressed, or encoded, according to the MPEG2 standard, the MPEG4 standard, the H.264 standard, or some other standardized or proprietary compression technique.
Adecryption function28 operates to decrypt the multimedia content using a known key. Note that the key may be obtained from thecontent server14 or an associated authentication system. Adecompression function30 decompresses the decrypted multimedia content. The multimedia content may then be provided to theplayback device16 for real-time playback via a secure digital interface, which in this example is an HDMI/HDCP interface32. Again, note that while the discussion herein focuses on HDMI/HDCP as the preferred embodiment, the present invention is not limited thereto. The present invention is equally applicable to any digital multimedia output interface and associated Digital Rights Management (DRM) scheme. The HDMI/HDCP interface32 ensures that theplayback device16 is an HDCP complaint device before providing the decrypted, decompressed multimedia content to theplayback device16 in order to prevent the decrypted, decompressed multimedia content from being recorded by an unauthorized device such as a non-complaint DVD recorder, personal computer, or DVR.
According to the present invention, when the multimedia content is desired to be recorded, anoperating system34, or control system, of the set-top box function12 determines whether recording of the multimedia content is restricted. For example, if the multimedia content desired to be recorded is an episode of “The Office,” theoperating system34 determines whether recording of the episode or recording of the series “The Office” is restricted. Theoperating system34 may determine whether recording is restricted by, for example, examining a broadcast flag within the multimedia content or sending a request to thelicense server18. Alternatively, metadata describing the multimedia content such as the metadata included within an Electronic Programming Guide (EPG) may include information identifying whether recording is restricted.
If recording is restricted, theoperating system34 sends a request to thelicense server18. The request may include the content ID of the multimedia content and a set-top ID36 of the set-top box function12. The content ID may be some identifier of the multimedia content provided by thecontent server14. For example, the content ID may include information describing the multimedia content such as the title of the multimedia content obtained from the EPG based on clock information from a Real Time Clock (RTC)38. The set-top ID36 may be an identifier such as, for example, a serial number of the set-top box function12, and may be used by thelicense server18 to determine whether the set-top box function12 is permitted to record the multimedia content for non-real-time playback in the manner described below.
In response to the request, thelicense server18 returns an encryption key to be used to re-encrypt the multimedia content and optionally the URL of thecopyright policy server24 and a record policy for the multimedia content. The encryption key may be, for example, unique to the set-top box function12, unique to the multimedia content, or unique to combination of the set-top box function12 and the multimedia content. As discussed below, the URL of thecopyright policy server24 may later be used by theremote system22 to contact thecopyright policy server24. The record policy may include advance information regarding the steps that will be necessary to obtain non-real-time access to the multimedia content. For example, the record policy may include information stating that the user will be required to purchase the multimedia content or pay a fee before non-real-time access is permitted, information indicating that client-side watermarking will be required, or information describing a DRM policy for the multimedia content.
An encryption andfile packaging function40 re-encrypts the multimedia content using the encryption key obtained from thelicense server18 and generates the packaged file including the re-encrypted multimedia content. The packaged multimedia file also includes one or more of the content ID, the set-top ID36, the URL of thecopyright policy server24, and the record policy for the multimedia content. In one embodiment, the packaged multimedia file is stored inlocal storage42 and may be thereafter accessed by theremote system22. Thelocal storage42 may be, for example, one or more hard disc drives, internal or removable memory, or the like. In another embodiment, the packaged multimedia file is transferred to theremote system22 via a network interface (NIC)44 and stored in theremote storage20. Although illustrated separately, thenetwork interface44 may alternatively be thesame network interface26 used to receive the multimedia content from thecontent server14. The packaged file may be transferred to theremote system22 over a LAN or alternatively some direct wired or wireless connection. Note that during or before the transfer, the packaged media file may be temporarily stored in thelocal storage42. As another alternative, the set-top box function12 may transfer the packaged file directly to theremote storage20. For example, theremote storage20 may be a network device, and the set-top box function12 may transfer the packaged multimedia file to theremote storage20 via a LAN. As another example, the set-top box function12 may transfer the packaged multimedia file to the remote storage directly over a direct wired or wireless connection.
If recording is not restricted, the set-top box function12, and in this embodiment the encryption andfile packaging function40, may store the decrypted multimedia content from thedecryption function28 in thelocal storage42 or, alternatively, theremote storage20.
Notably, thedecryption function28, thedecompression function30, the HDMI/HDCP interface32, and the encryption andfile packaging function40 are preferably, but not necessarily, implemented on a single integrated circuit (IC)46 to prevent unauthorized access to the decrypted multimedia content. For example, thedecryption function28, thedecompression function30, the HDMI/HDCP interface32, and the encryption andfile packaging function40 may be implemented on a single Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA). As such, a user is unable to probe wiring or connections between thedecryption function28, thedecompression function30, the HDMI/HDCP interface32, and the encryption andfile packaging function40 to obtain an unprotected copy of the multimedia content.
FIG. 2 illustrates the operation of the set-top box function12 for handling a record request. The record request may be from a user interacting with the set-top box function12. Alternatively, the user may interact with, for example, theremote system22 such that a record request is provided to the set-top box function12. First, the set-top box function12 receives record parameters generally identifying the multimedia content desired to be recorded (step100). The record parameters may include, for example, a channel, time, and date on which the desired multimedia content will be broadcast. The set-top box function12 then checks for non-real-time playback restrictions for the desired multimedia content (step102). The set-top box function12 may check for non-real-time playback restrictions by examining the multimedia content to determine whether a broadcast flag is set, sending a request to thecontent server14 or some associated system, or examining metadata describing the desired multimedia content provided to the set-top box function12 as, for example, part of an EPG.
If recording is restricted (step104), the set-top box function12 then sends a request to thelicense server18 for an encryption key to be used for re-encrypting the desired multimedia content and optionally one or more of the URL for thecopyright policy server24 and the record policy for the desired multimedia content (step106). The request may include the content ID of the desired multimedia content and optionally the set-top ID36 of the set-top box function12. As mentioned above, the encryption key returned by thelicense server18 may be unique to the desired multimedia content, unique to the set-top box function12, or unique to the combination of the desired multimedia content and the set-top box function12. The URL of thecopyright policy server24 may be used later by theremote system22 to contact thecopyright policy server24. The record policy may include advance information regarding the steps that will be necessary to obtain non-real-time access to the multimedia content. For example, the record policy may include information stating that the user will be required to purchase the multimedia content or pay a fee before non-real-time access is permitted, information indicating the client-side watermarking will be required, or information describing a DRM policy for the multimedia content.
If the requested data is not obtained from the license server18 (step108), the set-top box function12 notifies the user (step110). The requested data may not be obtained where a network connection to thelicense server18 is lost or interrupted or if the set-top box function12 is not permitted to record the desired multimedia content for non-real-time playback. Optionally, the process may return to step106 and repeat. At some point, if the requested data is not obtained from thelicense server18, the recording process is aborted (step112). The process may be aborted, for example, after the first time the set-top box function12 fails to obtain the requested data from thelicense server18 or after a predetermined number of iterations through steps106-110.
Returning to step108, if the set-top box obtains the requested data from thelicense server18, the set-top box function12 then stores the requested data (step114). The set-top box function12 also stores the record parameters and waits for the broadcast or multicast of the desired multimedia content (step116).
Returning to step104, if recording of the desired multimedia content is not restricted, the set-top box function12 stores the record parameters and waits for the broadcast or multicast of the desired multimedia content (step116).
FIG. 3 illustrates the operation of the set-top box function12 during reception of multimedia content desired to be recorded according to one embodiment of the present invention. Note that the process ofFIG. 2 may have previously been performed when the recording of the multimedia content was initially programmed.
First, at some point prior to or at the beginning of the broadcast or multicast of the desired multimedia content, the set-top box function12 tunes to the desired channel (step200). As used herein, “tune” may be subscribing to the corresponding multicast channel or tuning a digital television tuner to the corresponding channel. In this example, the set-top box function12 checks for non-real-time playback restrictions (step202). Even though this step was also performed in the process ofFIG. 2, it may be desirable here in order to determine whether the recording restrictions for the desired multimedia content have changed.
If recording is restricted (step204), the set-top box function12 then sends a request to thelicense server18 for the encryption key to be used for re-encrypting the desired multimedia content and optionally one or more of the URL for thecopyright policy server24 and the record policy for the desired multimedia content (step206). Likestep202,step206 is optional. If the requested data is not obtained from the license server18 (step208), the set-top box function12 determines whether the requested data has been previously obtained from thelicense server18 during the process ofFIG. 2 (step210). If the requested data has not been previously obtained, the set-top box function12 notifies the user (step212) and aborts the recording process (step214). The set-top box function12 then plays the desired multimedia content within compliant real-time display parameters (step216). More specifically, the multimedia content is decrypted, decompressed and provided to theplayback device16 via the HDMI/HDCP interface32.
Returning tosteps208 and210, if the set-top box function12 obtains the requested data from thelicense server18 or has previously obtained the requested data from thelicense server18, the set-top box function12 stores the requested data if necessary and generates an open file including one or more of the URL of thecopyright policy server24, the content ID of the desired multimedia content, the set-top ID36, and the record policy of the desired multimedia content (step218). The set-top box function12 then re-encrypts the decrypted multimedia content from thedecryption function28 using the encryption key from thelicense server18 and stores the re-encrypted multimedia content in the open file, thereby generating the packaged multimedia file (step220). As discussed above, the packaged multimedia file may be stored locally in thelocal storage42 or stored remotely in theremote storage20. Note that if remote storage is desired, the packaged file may or may not be temporarily stored locally by the set-top box function12 prior to transfer to theremote storage20.
Returning to step204, if recording of the desired multimedia content is not restricted, the set-top box function12 plays the desired multimedia content within compliant real-time display parameters (step216). More specifically, the multimedia is content decrypted, decompressed and provided to theplayback device16 via the HDMI/HDCP interface32.
FIG. 4 illustrates the operation of theremote system24 to obtain the packaged multimedia file and to enforce the copyright policy for the multimedia content when releasing the multimedia content for non-real-time playback. In general, as discussed above, thecontent server14 broadcasts or multicasts multimedia content to the set-top box function12 (step300). Assuming that recording is desired and that recording is restricted, the set-top box function12 decrypts the multimedia content for real-time playback, re-encrypts the decrypted multimedia content with the encryption key obtained from thelicense server18, and generates the packaged multimedia file (step302). Whether the packaged multimedia file is stored locally at the set-top box function12 or remotely in theremote storage20, the packaged multimedia file is provided to theremote system22 at some point (step304).
In order to release the multimedia content for non-real-time playback, theremote system22 requests a copyright policy for the multimedia content from thecopyright policy server24 using the URL for thecopyright policy server24 stored in the packaged multimedia file (step306). Alternatively, theremote system22 may already know the URL of thecopyright policy server24, in which case the URL in the packaged multimedia file is optional. In response to the request, thecopyright policy server24 returns the copyright policy for the multimedia content to the remote system22 (step308). The copyright policy may, for example, require client-side watermarking of the multimedia content with information identifying the multimedia content, the set-top box function12, and/or the associated user. As another example, the copyright policy may be a DRM policy for the multimedia content. The DRM policy may be, for example, a maximum number of times that that multimedia content may be played, a maximum number of devices to which the multimedia content may be copied or on which the multimedia content may be played, or the like. In addition or alternatively, the copyright policy may require that the user purchase the multimedia content or pay a fee for non-real-time playback of the multimedia content.
Upon receiving the copyright policy, theremote system22 and thecopyright policy server24 interact to enforce the copyright policy (step310). Enforcing the copyright policy may include, for example, watermarking the multimedia content before releasing the multimedia content for non-real-time playback, enforcing a DRM policy, and/or conducting an e-commerce transaction during which the user purchases the multimedia content or otherwise pays for non-real-time playback of the multimedia content.
As a first example, in order to enforce the copyright policy, thecopyright policy server24 or an associated server may obtain the key for decrypting the re-encrypted multimedia content from thelicense server18 and provide an executable watermarking application and the key to theremote system22. Alternatively, the key may be embedded in the executable watermarking application or obtained by the executable watermarking application from thecopyright policy server24 or thelicense server18 during execution. Theremote system22 may then run the executable watermarking application, where the executable watermarking application decrypts the re-encrypted multimedia content in the packaged multimedia file and watermarks the multimedia content with, for example, one or more of the content ID from the packaged multimedia file, the set-top ID36 from the packaged multimedia file, and user specific information. The user specific information may include information such as the name of the user of the set-top box function12 and/or the user of theremote system22, a credit card number of a credit card used for an e-commerce transaction to purchase the multimedia content or pay a fee for non-real-time playback, or the like. Once the multimedia content is watermarked, the watermarked multimedia content may be released and stored for non-real-time playback by theremote system22 and/or the set-top box function12. Still further, the watermarkedmultimedia content12 may be transferred to the set-top box function12 and stored locally in thelocal storage42.
In another embodiment, the executable watermarking application may watermark the multimedia content with information identifying the user such as the set-top ID36 and/or the user information and with information identifying the content such as the content ID and/or information identifying the content owner. These watermarks can be said to be a content specific watermark and a user specific watermark. Thecopyright policy server24 may provide a digital certificate including information corresponding to the content specific watermark and the user specific watermark, wherein access to the watermarked multimedia content may be controlled based on a comparison of the digital certificate and the watermarks in the multimedia content. For example, full access may be provided if the information in the digital certificate matches both the content specific watermark and the user specific watermark. Limited access may be provided if the digital certificate matches only the content specific watermark. As such, if the user loses the watermarked multimedia content, the user may obtain another copy of the watermarked multimedia content and still have limited access. For more information, the interested user is directed to U.S. patent application Ser. No. 11/565,013, entitled MULTIPLE WATERMARKS FOR DIGITAL RIGHTS MANAGEMENT (DRM) AND CONTENT TRACKING, which was filed on Nov. 30, 2006 and is hereby incorporated by reference in its entirety.
As another example, client-side watermarking may be performed in a manner similar to that discussed above. However, in this example, thecopyright policy server24 may provide a unique ID to be used for client-side watermarking. The unique ID may be stored in a remote database associated with thecopyright policy server24. In order to identify the user, the set-top ID36 and/or user specific information is provided to thecopyright policy server24 and stored in the database in association with the unique ID used for watermarking.
As another example, theremote system22 may provide the re-encrypted multimedia content to thecopyright policy server24 or associated system. Thecopyright policy server24 or associated system may then generate an executable package including the re-encrypted multimedia content and the key for decrypting the re-encrypted multimedia content. The executable package is returned to theremote system22. Upon execution, the executable package forces client-side watermarking of the multimedia content before the multimedia content is released for storage and non-real-time playback. For more information, the interested reader is directed to U.S. patent application Ser. No. 11/554,317, entitled EXECUTABLE PACKAGE FORCING WATERMARKING OF EMBEDDED DIGITAL MEDIA CONTENT, which was filed on Oct. 30, 2006 and is hereby incorporated by reference in its entirety.
As a final example, the multimedia content may be compressed according to MPEG2, MPEG4, H.264, or the like. In addition to the multimedia content, the set-top box function12 may receive a number of hybrid I-Frames (or I-Slices), where the hybrid I-Frames are low-loss versions of one or more of the I-Frames in the multimedia content stream. In this example, the hybrid I-Frames are also encrypted and stored in the packaged multimedia file. Then, in order to watermark the multimedia content, the hybrid I-Frames are watermarked and used to replace the corresponding I-Frames in the multimedia content stream. Watermarking may be performed by an executable watermarking application provided by thecopyright policy server24 or by an executable package having the encrypted multimedia content and hybrid I-Frames embedded therein in a manner similar to that described above. For more information, the interested reader is directed to U.S. patent application Ser. No. 11/555,707, entitled CLIENT-SIDE WATERMARKING USING HYBRID I-FRAMES, filed on Nov. 2, 2006 and U.S. patent application Ser. No. 11/555,709, entitled SELECTION OF I-FRAMES FOR CLIENT-SIDE WATERMARKING, filed on Nov. 2, 2006, which are hereby incorporated by reference in their entireties.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.