Sequence counter for an audio visual stream

Information

  • Patent Application
  • 20040233811
  • Publication Number
    20040233811
  • Date Filed
    February 24, 2004
    20 years ago
  • Date Published
    November 25, 2004
    20 years ago
Abstract
A conditional access system and method including a first source device and a first sink device coupled to the first source device, wherein the source device includes a module for generating sequence counter values and appending the values to content transmitted from the source device to the sink device.
Description


FIELD OF THE INVENTION

[0002] This present invention relates to a method and apparatus for protecting content, and in particular, a method and apparatus for protecting audio-visual (A/V) content from repeat viewing without authorization.



BACKGROUND OF THE INVENTION

[0003] Content Protection (CP) systems are well known for providing protection of audio-visual (A/V) content. Typically, a content protection system includes a source device (e.g., set top box (STB), digital videocassette (DVCR or DVHS) player, digital versatile (or video) disc (DVD) player, etc.) and a sink device (e.g., digital television (DTV), etc.). As will be understood by those skilled in the art, the ‘source’ device is so named because it provides a source of A/V content. Similarly, the ‘sink’ device provides a medium for viewing the A/V content. In order to prevent multiple viewing of certain A/V content, a content protection system is typically installed between the source and he sink device. For example, in the case of a certain program recorded using a DVCR, the CP system will prevent viewing of the program beyond the limits set by the provider of the program (e.g., copyright holder). For instance, the provider may permit the program to be watched once, but not thereafter. In such a case, the CP system would prevent viewing of the program on the sink device (e.g., DTV) if the user attempts to play the program through the DVCR more than once.


[0004] Some commercially available products have recording systems which permit a function commonly known as ‘video pause’ mode (e.g., TiVO, etc.). These products are often referred to as Personal Video Recorders (PVRs). In some instances, a PVR may be integrated into a television or other apparatus to allow ‘video pause’ of the television picture. In operation, a ‘live’ A/V stream enters the television for viewing. This live A/V stream is transmitted to a recording device operating in a passive mode (e.g., computer memory, etc.) in the television before it is presented on the display screen of the television. Initially, the recording device operates only as ‘pass-through’, and passes the content stream on to the display screen unaltered, while at the same time making a copy of the content stream. When the user selects the ‘video pause’ function the output of the recording device is no longer sent to the display screen, but the recording continues. When the user deselects the ‘video pause’ function (i.e., cunpauses’ the television), the content stream from the recording device to the display screen resumes from the paused location, and the recording continues. The content stream viewed by the user is now delayed by the amount of the pause time. At this point, the user has the option of either watching the time delayed content stream, or ‘catching up’ with the live content stream by skipping portions of the recorded content stream. Consumers appreciate this feature as it allows them to carry out other tasks without having to miss portions of a live broadcast (e.g., you can go make a sandwich during a live football game and not miss a second of the action).


[0005] Another feature of PVRs is the ability to perform an ‘instant replay’ function (the playing of the same portion of content over and over again). Thus, if a user wished to watch a pivotal play in a football game over again several time to determine if the referee made a good call, the PVR typically permits the storing of content for this function as well.


[0006] However, ‘video pause’ and ‘instant replay’ functionality present several problems as well. Content providers desire to sell their most valuable content on a ‘view only’ basis (i.e., no recordings are permitted). By the same token, the content providers may want to control what functionality is allowed to consumers, for example, allowing a ‘video pause’ function, but preventing an ‘instant replay’ function.


[0007] Present solutions to this problem include licensing television manufacturers and prohibiting storage of the content for more than a specified period of time. For example, the ‘video pause’ recorder would only store the bit stream for a maximum of twenty four (24) hours. After the specified time period has expired, the recording device automatically erases the recording. This solution is problematic because if the recording device is hacked in the interim period (e.g., within 24 hours), the content is available to be copied. Additionally, if the recording device is somehow deceived about the time, the content may be available for longer periods then intended by the content provider.


[0008] Thus, there is presently a need for a method and apparatus for copy protecting content stored during video pause mode so that the content may only be viewed in the limited manner intended by the content providers.



SUMMARY OF THE INVENTION

[0009] The present invention comprises a method for implementing a conditional access system, including appending, in a source device, a sequence counter value to content transmitted from the source device to a sink device, storing the sequence counter value in the sink device, comparing the sequence counter value to a reference sequence counter value stored at the sink device, and providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.


[0010] The present invention also comprises a method for implementing a conditional access system, including receiving content and at least one sequence counter value in a sink device, storing the at least one sequence counter value in the sink device, comparing the sequence counter value to a reference sequence counter value stored at the sink device, and providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.


[0011] Further, the present invention comprises a conditional access system including a first source device and a first sink device coupled to the first source device, wherein the source device includes a first module for generating sequence counter values and appending the values to content transmitted from the source device to the sink device, and wherein the sink device includes a second module for storing the sequence counter values in the sink device.


[0012] Additionally, the present invention comprises a method for implementing a conditional access system, the method comprising appending a sequence counter value to content transmitted from a first source device to a sink device and a second source device, storing the sequence counter value together in the second source device, transmitting the sequence counter value together with the content from the second source device to the sink device, comparing the sequence counter value to a reference sequence counter value stored at the sink device, and providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.


[0013] The present invention also comprises a method for implementing a conditional access system, the method comprising receiving content and at least one sequence counter value in a source device, storing the at least one sequence counter value in the source device, transmitting the sequence counter value together with the content from the source device to a sink device, comparing the sequence counter value to a reference sequence counter value stored at the sink device, and providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.


[0014] The present invention also comprises a conditional access system including first and second source devices and a first sink device coupled to the first and second source devices, wherein the first source device includes a first module for generating sequence counter values and appending the values to content transmitted from the first source device to the sink device and the second source device, and wherein the sink device includes a second module for storing the sequence counter values in the sink device.


[0015] The present invention also comprises a method for implementing a conditional access system, comprising appending, in a source device, a sequence counter value to content transmitted from the source device to a sink device, storing the sequence counter value in a recording device connected to the source device and the sink device, transmitting the content and the sequence counter value from the recording device to the sink device, comparing the sequence counter value to a reference sequence counter value stored at the sink device, and providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.


[0016] The present invention also comprises a conditional access system including first and second source devices, a first sink device coupled to the first and second source devices, and a recording device coupled between the first source device and the sink device, wherein the first source device includes a first module for generating sequence counter values and appending the values to content transmitted from the first source device to the recording device and the second source device, and wherein the sink device includes a second module for storing the sequence counter values in the sink device, and wherein the recording device stores the content.


[0017] Finally, the present invention comprises a method for implementing a conditional access system, comprising receiving content and at least one sequence counter value in a sink device, storing the sequence counter value in a recording device connected to the source device and the sink device, transmitting the content and the sequence counter value from the recording device to the sink device, comparing the sequence counter value to a reference sequence counter value stored at the sink device, and providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.







BRIEF DESCRIPTION OF THE DRAWINGS

[0018]
FIG. 1 is block diagram showing an apparatus according to a first exemplary embodiment of the present invention.


[0019]
FIG. 2 is block diagram showing an apparatus according to a second exemplary embodiment of the present invention.







DETAILED DESCRIPTION

[0020] The present invention is a method and apparatus for copy protecting audio-visual (A/V) content. Through the utilization of a sequence counter, viewing of content stored in a recording device may be significantly restricted. In an exemplary embodiment of the present invention, a first source device (e.g., set top box (STB)) is provided with a device identifier and a sequence counter, and a sink device (e.g., digital television (DTV), etc.) is equipped to store the device identifier and sequence counter values for the associated sink device. By comparing the sequence counter values transmitted by the first source device with sequence counter values stored in the sink device, protection of content may be accomplished.


[0021]
FIG. 1 shows a system 100 according to a first exemplary embodiment of the present invention. The system 1100 comprises a content source 105, a sink device 110, such as a digital television (DTV), a first source device 120, such as a set top box (STB), digital versatile (or video) disc (DVD) player, or Personal Video Recorder (PVR), and a second source device 130 which permits recording, such as a digital videocassette (DVCR or DVHS) player/recorder, a digital versatile (or video) disc (DVD) player/recorder, or a PVR. As is well known in the art, a DVCR, a PVR or a DVD player/recorder will permit recording of content on a digital medium. In the exemplary embodiment shown in FIG. 1, the sink device 110 also preferably includes integrated therein a recording device 117 for executing a ‘video pause’ function.


[0022] The first source device 120 preferably includes a first secure module 121 which contains a sequence counter value generator. The sequence counter value generator may be of any suitable size, but is preferably 32 bit (generating 32 bit sequence counter values). Of course, those of ordinary skill in the art will realize that any bit size may be used for the sequence counter values (e.g., 40 bit, 56 bit, 64, bit etc.), depending on the desired security and relative complexity of the system. In accordance with the present invention, the first secure module generates sequence counter values and appends theses values to content which is transmitted by the first source device 120.


[0023] In the first exemplary embodiment, the second source device 130 comprises a means for playing and recording content, such as a DVD player/recorder or a DVHS/DVCR player/recorder. Those of ordinary skill in the art will realize that the second source device 130 may also include a secure module with a sequence counter, however, such is not necessary in the exemplary embodiment shown in FIG. 1 because it is assumed that all content which is recorded and played back by the second source device comes from the first source device 120 (and thus already contains the sequence counter values embedded therein). If the second source device 130 were to receive secured content from other outside sources, a secure module with sequence counter would be required in order to prevent unauthorized viewing of the content.


[0024] Preferably, the first source device 120 and the second source device 130 also have respective device identifiers (device IDs) associated therewith. The device ID may be, for example, the serial number value of the respective source devices 120, 130. These device IDs are used in the present invention to identify content with respect to the particular source device which originally supplied the content.


[0025] The sink device 110 preferably includes a second secure module 111 which checks the sequence counter values as they are transmitted with content from either the first source device 120 or the second source device 130. The second secure module 111 also updates respective sequence counter databases corresponding to each source device coupled to the sink device (e.g., source devices 120, 130, etc.) each time a new value is transmitted.


[0026] When content is transmitted from the first source device 120, the sequence counter values generated in the first secure module 121 are embedded in the content. It will be understood by those skilled in the art that the embedding of the sequence counter values in the content should be done in a secure manner so as to prevent a user from tampering with the sequence counter values. For example, the sequence counter value may be included as a data field in the Entitlement Control Message (ECM) that carries Control Words (CWs) for the content. This insures that any recording device (e.g., 130 or 117) will need to store the original counter values rather than replacing them. At periodic intervals (e.g., every 10 seconds), the sequence counter generator of the first secure module 121 is incremented and the new value is used in the content stream which is sent from the first source device 120. When the sink device 110 receives the sequence counter values, they are stored in respective sequence counter databases corresponding to each source device coupled to the sink device (e.g., source devices 120, 130). For example, the first sequence counter value transmitted with the content may be “0001”, and successive sequence counter values may be “0002”, “0003” and so on.


[0027] If the sink device 110 is coupled to more than one source device (such as shown in FIG. 1), the sink device 110 preferably retains (e.g., in a memory or otherwise) a list of all source devices from which it receives content as well as a list of the device IDs for each source device. In the above-described exemplary system 100, the sink device 110 would need to store the device ID for the first source device 120 and the device ID for the second source device 130, if both devices have the ability to receive secure content into the network to the sink device. For example, the sink device 110 may store device ID1 corresponding to the first source device 120 in a first memory location, and device ID2 corresponding to the second source device 130 in a second memory location.


[0028] When the sink device 110 is about to render content (e.g., display the content on a display screen of the sink device or a display screen coupled to the sink device) the sink device decrypts the ECMs to get the proper CWs for decryption of the content. As the decryption of the ECMs proceeds, the sink device 110 also recovers the sequence counter value embedded in the ECM and compares the value to the last value stored in the respective sequence counter for that source device. If the received sequence counter value is equal to or greater than greatest value that has already been transmitted by the particular source device (e.g., source device 120), the sink device 110 renders the content. If the sequence counter value is less than the greatest value that has already been transmitted by the particular source device (e.g., source device 120), the sink device 110 will not render the content (i.e., the sink device will not display the content on a display screen of the sink device or a display screen coupled to the sink device). Further, if the sequence counter value is higher than the greatest value that has already been transmitted by the particular source device (e.g., source device 120), the sink device also updates the stored sequence counter value for the respective source device (e.g., source device 120).


[0029] For example, if source device 120 transmits program A directly to the sink device 110 or second source device 130 for viewing, the first sequence counter value received by the sink device may be 0001. If the user engages the ‘video pause’ feature (recording device 117) of the television (sink device 110) before the next sequence counter value is received, the television continues-to receive content with higher sequence counter values (e.g., 0002, 0003, etc.), but the sequence counter value within the second secure module 111 of the sink device 110 is not updated. Thus, when the user returns and ‘unpauses’ the television, the content continues from the pause point and the sequence counter value is updated accordingly as the user watches the recorded version of the program.


[0030] Once the user has watched the ‘paused’ version of the program, he may not go back and watch the program again even though the program may remain stored in sink device 110. This is because the sequence counter value stored in second secure module 111 and associated with the source device 120 will have a reached a value corresponding to the end of the program (e.g., 0100), and thus will not permit re-viewing of portions with sequence counter values less than this value. The result of the above is that pausing of content may occur, but recording of content for a long period is effectively prevented.


[0031] The second source device 130 may also be used in the same manner as the recording device 117 to record programs for later viewing, and the first secure module 121 will provide protection therefor. For example, if the first source device 120 transmits program A to the second source device 130 for recording, the first sequence counter value received by the second source device may again be 0001. If the program has sequence counter values through 0100, and the user records the entire program, the user will be able to watch the recorded program on the sink device 110 at any later time, provided the user has not previously viewed the program on the sink device 110 (e.g., the user watched the program while recording it). Accordingly, the above-described system 100 permits the following actions: (1) live viewing of content, (2) paused viewing, (3) viewing a short piece of the content over and over (provided that the sequence counter does not increment in the span that is being played), (4) pausing a program, watching something from another source device and then un-pausing the original program, and (5) watching one program on a first sink device and then watching the program again on another sink device. As far as the content provider is concerned, numbers (3) and (5) above are not optimal results, however, the content provider will likely submit to these results given the benefits provided by numbers (1), (2), and (4).


[0032] For example, consider two programs, Movie A and Movie B. Both Movie A and Movie B are transmitted from the same source device (e.g., source device 120) and are rendered on the same sink device (e.g., sink device 110). Movie A is transmitted with sequence counter values from 0001-1000 and Movie B is transmitted with sequence values from 1001-2000. If a recording of Movie A is made in the sink device 110 (e.g., using the ‘video pause’ feature) while movie A is also being viewed on the sink device, and the user ‘pauses’ the movie (“paused viewing”; Example (2) discussed above) at sequence counter value 573, the user may go back and watch portions of movie A with sequence counter values equal to and above 573 (e.g., 573-1000). Portions of Movie A which have sequence counter values from 1-572 may not be viewed. Similarly, if the user watches all of Movie A (through sequence counter value 1000), the user may not go back and watch any portion of the movie which was recorded in the sink device 110 (or recorded in an external device such as sink device 130) because each portion of the movie has a sequence counter value lower than the maximum stored value (e.g., 1000).


[0033] Additionally, if the user ‘pauses’ Movie A, watches Movie B, and then attempts to finish viewing Movie A, the user will not be permitted to watch the rest of Movie A as the sequence counter value for the sink device is now at the last sequence counter value in Movie B (e.g., 2000), and the unwatched portions of Movie A have lower sequence counter values. Although this result may not be ideal for consumers (i.e., because they have paid for all of Movie A and have only been permitted to watch part of it), the content provider prefers this result, as it prevents long-term storage of the recorded (paused) content (in this case Movie A).


[0034]
FIG. 2 shows a system 200 according to a second exemplary embodiment of the present invention. The system 200 is similar to system 100 described above, and like reference numerals denote like elements. The main difference between systems 100 and 200 is that, in system 200 the recording device 240 is disposed outside the sink device 110 (as opposed to being internal to the sink device). The system 200 comprises a content source 205, a sink device 210, such as a digital television (DTV), a first source device 220, such as a set top box (STB), digital versatile (or video) disc (DVD) player, or Personal Video Recorder (PVR), and a second source device 230 which permits recording, such as a digital videocassette (DVCR or DVHS) player/recorder, a digital versatile (or video) disc (DVD) player/recorder, or a PVR. As is well known in the art, a DVCR, a PVR or a DVD player/recorder will permit recording of content on a digital medium. The system 200 also includes a recording device 240 for executing a ‘video pause’ function. The system 200 operates substantially similarly to the system 100 described above, and therefore a detailed description is omitted here.


[0035] Although the invention has been described in terms of exemplary embodiments, it is not limited thereto. Rather, the appended claims should be construed broadly, to include other variants and embodiments of the invention which may be made by those skilled in the art without departing from the scope and range of equivalents of the invention.


Claims
  • 1. A method for implementing a conditional access system, comprising: appending, in a source device, a sequence counter value to content transmitted from the source device to a sink device; storing the sequence counter value in the sink device; comparing the sequence counter value to a reference sequence counter value stored at the sink device; and, providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 2. The method of claim 1, wherein the content is stored with the sequence counter value in the sink device.
  • 3. The method of claim 1, comprising the further step of: providing an output signal which is not viewable on the sink device if the sequence counter value is less than the reference sequence counter value stored in the sink device.
  • 4. The method of claim 1, wherein the step of storing the sequence counter value together with the content in the sink device comprises storing the sequence counter value and the content in a recording device.
  • 5. The method of claim 1, wherein the method permits storage of the content for viewing at a later time.
  • 6. A method for implementing a conditional access system, comprising: receiving content and at least one sequence counter value in a sink device; storing the at least one sequence counter value in the sink device; comparing the sequence counter value to a reference sequence counter value stored at the sink device; and, providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 7. The method of claim 6, wherein the content is stored with the sequence counter value in the sink device.
  • 8. A conditional access system comprising: a first source device; and a first sink device coupled to the first source device, wherein the source device includes a first module for generating sequence counter values and appending the values to content transmitted from the source device to the sink device, and wherein the sink device includes a second module for storing the sequence counter values in the sink device.
  • 9. The conditional access system of claim 8, wherein the second module comprises a recording device.
  • 10. The conditional access system of claim 8, wherein the sequence counter values are included as data fields in entitlement control messages transmitted from the source device to the sink device.
  • 11. The conditional access system of claim 8, wherein the sink device includes a first sequence counter corresponding to the first source device, said sequence counter being periodically updated based on the sequence counter values received from the first source device.
  • 12. The conditional access system of claim 8, further comprising: a second source device also coupled to the first sink device, wherein said first and second source devices have separate device identifier values.
  • 13. The conditional access system of claim 12, wherein the sink device includes first and second sequence counters corresponding to the first and second source devices, said first and second sequence counters being periodically updated based on the sequence counter values received from the first and second source devices.
  • 14. The conditional access system of claim 8, wherein the first sink device includes a memory unit for storing content transmitted by the first source device.
  • 15. The conditional access system of claim 8, wherein the second module permits storage of the content for viewing at a later time.
  • 16. The conditional access system of claim 8, wherein the content is stored with the sequence counter value in the sink device.
  • 17. A method for implementing a conditional access system, said method comprising: appending a sequence counter value to content transmitted from a first source device to a sink device and a second source device; storing the sequence counter value together in the second source device; transmitting the sequence counter value together with the content from the second source device to the sink device; comparing the sequence counter value to a reference sequence counter value stored at the sink device; and, providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 18. The method of claim 17, comprising the further step of: providing an output signal which is not viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 19. The method of claim 17, wherein the content is stored with the sequence counter value in the sink device.
  • 20. A method for implementing a conditional access system, said method comprising: receiving content and at least one sequence counter value in a source device; storing the at least one sequence counter value in the source device; transmitting the sequence counter value together with the content from the source device to a sink device; comparing the sequence counter value to a reference sequence counter value stored at the sink device; and, providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 21. The method of claim 20, wherein the content is stored with the sequence counter value in the sink device.
  • 22. A conditional access system comprising: first and second source devices; and a first sink device coupled to the first and second source devices, wherein the first source device includes a first module for generating sequence counter values and appending the values to content transmitted from the first source device to the sink device and the second source device, and wherein the sink device includes a second module for storing the sequence counter values in the sink device.
  • 23. The conditional access system of claim 22, wherein the content is stored with the sequence counter value in the sink device.
  • 24. A method for implementing a conditional access system, comprising: appending, in a source device, a sequence counter value to content transmitted from the source device to a sink device; storing the sequence counter value in a recording device connected to the source device and the sink device; transmitting the content and the sequence counter value from the recording device to the sink device; comparing the sequence counter value to a reference sequence counter value stored at the sink device; and, providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 25. The method of claim 24, wherein the content is stored with the sequence counter value in the sink device.
  • 26. A conditional access system comprising: first and second source devices; a first sink device coupled to the first and second source devices; and a recording device coupled to the first source device and the sink device, wherein the first source device includes a first module for generating sequence counter values and appending the values to content transmitted from the first source device to the recording device and the second source device, and wherein the sink device includes a second module for storing the sequence counter values in the sink device, and wherein the recording device stores the content.
  • 27. A method for implementing a conditional access system, comprising: receiving content and at least one sequence counter value in a sink device; storing the sequence counter value in a recording device connected to the source device and the sink device; transmitting the content and the sequence counter value from the recording device to the sink device; comparing the sequence counter value to a reference sequence counter value stored at the sink device; and, providing an output signal which is viewable on the sink device if the sequence counter value is greater than or equal to the reference sequence counter value stored in the sink device.
  • 28. The method of claim 27, wherein the content is stored with the sequence counter value in the sink device.
RELATED APPLICATIONS

[0001] The present application claims priority under 35 U.S.C. § 120 of U.S. Provisional Application 60/316,373, filed Aug. 31, 2001.

PCT Information
Filing Document Filing Date Country Kind
PCT/US02/20503 6/28/2002 WO
Provisional Applications (1)
Number Date Country
60316373 Aug 2001 US