The invention concerns apparatus and a method for monitoring and controlling access to data on a computer readable medium, and is particularly applicable to the protection of a data carrying medium against unauthorized copying whilst providing limited access for evaluation or promotional purposes.
1. Related Application
The present application is a development of the invention described in our co-pending U.S. patent application Ser. No. 11/232,477, the contents of which are incorporated herein by reference.
2. Background to the Invention
Techniques for protecting computer readable media, such as optical discs including CDs and DVDs, against unauthorized copying have been known for some while. Two such methods of protection are described in our earlier U.S. patent application Ser. No. 10/848,879 and U.S. Ser. No. 10/939,186.
U.S. Ser. No. 10/848,879 discloses a method of protection in which redundant control data, including errors, is included amongst the data carried by an optical disc. The control data controls access to content files on the optical disc, containing material or content data to be played, and the redundant control data is not utilized during normal playback of the content. However, during unauthorized copying, the redundant control data is accessed and the errors in such data are arranged to frustrate navigation of at least one program path providing access to the content data.
U.S. Ser. No. 10/939,186 discloses a method of protection in which at least one region containing unreadable or subversive data is provided within the content data on an optical disc. Control data on the disc for accessing content files containing the content data ensures that access to the region of unreadable or subversive data is prevented during normal playback. However, in the event of unauthorized copying, the region of unreadable or subversive data is accessed and hinders or prevents copying.
The methods according to these two earlier US patent applications are both passive, in the sense that they rely on data incorporated in the optical disc for protecting the disc against a procedure known as “ripping”, i.e. unauthorized copying onto a hard drive of a local computer or network.
Such passive techniques are effective to some extent in protecting against unauthorized copying. However, ripping software is becoming increasingly sophisticated and powerful and increasingly effective in overcoming such passive forms of protection.
The invention of U.S. Ser. No. 11/232,477 was designed to provide a more effective form of protection against unauthorized copying, which would be harder to circumvent. According to U.S. Ser. No. 11/232,477, means are provided for authenticating an instance of use of a computer readable medium, in order to verify that the use of the medium is legitimate, as in normal playback, and to prohibit unauthorized use of the medium, such as ripping. Further, such means are in the form of an active process installed on the computer, as opposed to passive data provided on the computer readable medium.
More especially, according to U.S. Ser. No. 11/232,477, there is provided a device driver for monitoring and controlling access to data on a computer readable medium, comprising: a hook driver for hooking into a device-driver stack for a media drive; a detector for detecting the insertion of a computer readable medium in said media drive; a monitor for monitoring data transfer from said computer readable medium and for evaluating a behaviour characteristic of an application reading data on said computer readable medium; and a control system responsive to said monitor for issuing at least one control output when said behaviour characteristic fulfills predetermined criteria.
According to U.S. Ser. No. 11/232,477, there is also provided a method for monitoring and controlling access to data on a computer readable medium, comprising: accessing a device-driver stack for a media drive; detecting the insertion of a computer readable medium in the media drive; monitoring data transfer from the computer readable medium; on the basis of the monitored data transfer evaluating a behaviour characteristic of an application reading data on the computer readable medium; and issuing at least one control output when the behaviour characteristic fulfills predetermined criteria.
The evaluation is intended to distinguish between players who are accessing data on the computer readable medium for legitimately playing the main content, and rippers who are accessing the data for the purpose of illegitimately copying the same. In such circumstances, the control output serves respectively to permit or prohibit further access to the computer readable medium for further copying.
Such a technique for protecting data on a computer readable medium against unauthorized use may be thought of as active, in the sense that it relies on monitoring and controlling use of the medium in real time.
The present invention is a development of the invention of U.S. Ser. No. 11/232,477, which also relies on the active protection of data on a computer readable medium, such as a CD-ROM or DVD, in order to prevent unauthorized use, and which nevertheless permits limited playback for the purposes, for example, of evaluation of the main content or access to specific regions of the medium.
According to a first aspect of the invention, there is provided a device driver for controlling access to data on a computer readable medium, comprising:
According to a second aspect of the invention, there is provided a method for controlling access to data on a computer readable medium, comprising:
According to the invention, at least in the preferred embodiments described below, the control device is effectively switched on and off in dependence upon the outcome of the determination as to whether the data region currently being accessed is in the demonstration zone or not.
In these preferred embodiments of the invention, the control device is arranged to spoil playback in the event that the data region of the computer readable medium being accessed is not in the demonstration zone.
For example, the data may be randomly scrambled, or a spoiler track may be combined with the data, in the event that the computer readable medium is a CD-ROM. Alternatively, in the event that the computer readable medium is a DVD, a pixilation algorithm or a blurring algorithm may be applied to the current video frame.
The invention is described further, by way of example only, with reference to the accompanying drawings, in which:
a to 10d are diagrams representing four audio tracks on a CD-ROM when played normally and when selectively blocked or spoiled according to the present invention;
a to 16d are diagrams representing respectively a video image displayed normally and when selectively spoiled according to the present invention; and
a and 17b are diagrams representing algorithms applied in the case of the spoiling techniques of
The invention will now be described with reference to a number of preferred embodiments illustrated in the drawings. The invention may be employed in a personal computer, a computer system comprising a local area network (LAN) or a computer network comprising a wide area network (WAN), such as the Internet. The principles are the same in each case, and therefore only the application of the invention in a personal computer will be described. Such an application is illustrated in
Referring initially to
The hook driver 26 detects when an optical disc 28 is inserted into a respective one of the optical drives 20, and thereafter monitors the use of the optical disc 28. In particular, the hook driver 26 monitors data transfer in relation to the optical disc 28 and/or the manner in which the optical disc 28 is accessed, in order to determine whether the data on the disc is the subject of normal playback by a play application 30 or unauthorized copying by a ripping application 32. During normal playback, the information is read from the optical disc 28 by the player 30 by way of the device driver stack 22 for output by way of the speakers and/or display 18. During ripping, however, data read from the optical disc 28 is copied by means of the ripper 32 and is transferred by means of the storage device driver stack 24 to the local hard disk 16. On detection of ripping by the ripper 32, the hook driver 26 takes steps to prohibit access by the ripper 32 to the optical disc 28 and/or to prevent further copying of data from the optical disc 28 as described in U.S. Ser. No. 11/232,477. In accordance with the present invention, the hook driver 26 also provides a further possibility when ripping is detected, namely the hook driver 26 takes steps to provide limited playback for evaluation purposes.
The interface 40 is known as a small computer system interface (SCSI) and serves for example to connect hardware, such as a respective optical drive 20, by way of the associated device driver stack 22 to the CPU 12 within the computer 10. Requests, known as SCSI requests, from the Windows or other application 46 to the optical drive 20 are transmitted across the interface 40 and through a series of layers in the device driver stack 22, which increasingly convert the requests from a high level software language to instructions applicable to the physical hardware in the form of the optical drive 20, for implementation at the optical drive 20. Completed SCSI requests are then transmitted in the reverse direction through the device driver stack 22 and across the interface 40 to the Windows application 46 for processing in the CPU 12.
As shown in
The hook driver 26, which as stated is hooked in to the physical device object 50 of the device driver stack 22, includes a hook manager 60 for effecting the connection between the hook driver 26 and the physical device object 50, a fingerprint reader 62, and an authentication object 64. In accordance with the present invention, the hook driver 26 also includes a control device 100 for switching on and off a blocking or spoiling function of the hook driver 26, in dependence upon receipt of a detection signal from the authentication object 64 indicating that copying is occurring. Further details of the hook manager 60, the fingerprint reader 62, the authentication object 64 and the control device 100 will now be described with reference to
Having obtained the current list of PNP devices in step 402, the hook driver 26 in step 404 substitutes in each device driver stack 22 its own function for the normal SCSI function provided by the physical device object 50 of that stack 22, so that future SCSI requests will pass through the hook driver 26. In addition, in step 406, the hook driver 26 registers itself with the application 46 for receiving notification of media arrivals, i.e. an indication that an optical disc 28 has been inserted into one of the optical drives 20. Such notification includes the location of the relevant optical drive 20 and the kind of optical disc 28, i.e. CD-ROM or DVD, which has been inserted. All future SCSI requests for supply to the relevant optical drive 20 will now be directed through the hook driver 26 as shown in step 408. Media change notifications are also handled by the hook driver 26 as indicated by step 410. The installation of the hook driver 26 is thus complete.
The steps which now follow are performed by the authentication object 64 and control device 100 of the hook driver 26 shown in
As shown in
If the outcome of step 608 is yes, signifying that the optical disc 28 is protected, the hook driver 26 proceeds to step 612 and the control device 100 of the hook driver 26 enquires whether the portion of the optical disc 28 that is being read is in a demonstration zone, in which normal playback is to be permitted for example for the purposes of evaluation. Such a demonstration zone may comprise, for example, a predetermined quantity and location of each or any audio track, a selected track or tracks or a particular region of the optical disc 28. If the answer to the question in step 612 is yes, signifying that normal playback is to be permitted, then the read request is passed directly to the optical drive 20 in step 610 as before. If, however; the answer to the question in step 612 is no, indicating that the portion of the optical disc 28 being read is not in a demonstration zone, the hook driver 26 proceeds to step 614 and the control device 100 modifies the SCSI request to block, or more preferably spoil, playback before passing the request to the optical drive 20 in step 610.
Thus, the control device 100 effectively switches on and off a blocking or spoiling function of the hook driver 26, according to whether or not the portion of the optical disc 28 being read is in a demonstration zone. This function may simply block reading of the optical disc but, in a preferred embodiment of the invention shown here, the function is a spoiling function as described below.
The subroutine of step 804 for combining a spoiler track with the existing section audio track is illustrated in
By way of example, in the case of an original CD-ROM 28 having four audio tracks as shown in
In an alternative embodiment, the demonstration zones might comprise the second and fourth tracks of the CD-ROM 28 as shown in
In a further embodiment, as shown in
It is to be appreciated that the above techniques can be employed individually or they can combined so as to play back certain audio tracks or sections of the tracks on the CD-ROM 28 normally while spoiling the remaining regions of the tracks selectively by scrambling or by the addition of a spoiler track.
In the situation where the optical disc 28 in the optical drive 20 is a DVD instead of a CD-ROM, the hook driver 26 according to the invention first establishes this fact, as already described with reference to
Referring firstly to
The basic steps of the subroutine performed in step 614 are shown in
The respective subroutines 1204, 1206, 1208 will now be described with reference to
Referring first to
where R, G and B represent the red, green and blue pixel values, respectively.
By way of example, if the red channel values for a nine pixel block are as shown in Table 4 below:
the hook driver 26 sums all nine values and then divides the total by nine and substitutes the resulting value for the whole block to give an average value for all the pixels. The block of nine pixels is thus transformed as shown in
The same transformation is then applied to the entire image. When the hook driver 26 has applied the pixilation transform to all the blocks of nine pixel values according to step 1304, the hook driver 26 outputs the information for the pixilated image in step 1306. There may be some areas at the edges of the image that include less than a block of nine pixels and that therefore remain unaffected by the transformation. However, this does not significantly alter the overall effect of the transformation.
An alternative possibility is to blur the original image frame according to the subroutine of step 1206 in
where R, G, B represent the red, green and blue pixel values, respectively, as before, and W represents a weighting value applied to each pixel.
By way of example, if the red values for a block of nine pixels are as shown in Table 4 above and weightings are given to the different pixel positions as shown in Table 5 below:
then the transform will sum the pixel values, divide the total by an amount determined by the sum of the weighting values (i.e. 97 min the present example) and weight the outcome to produce new values for each red pixel value, as shown in Table 6 below:
The result of this transform is that the block of nine red pixels is transformed as shown in
The same transformation is then applied to the entire image, and, in step 1406, the hook driver 26 passes the information to the optical drive 20 to output a blurred image on the display 18 of the PC 10. As before, there may be some areas at the edges of the image that include less than a block of nine pixels and that therefore remain unaffected by the transformation. However, this does not significantly alter the overall effect of the transformation.
In both the cases described with reference to
The third subroutine 1208 of
An example of the effects of the present invention may be seen in
As in the case of the spoiling of an audio track when playback is not in a demonstration zone, the techniques described for video spoiling can be employed individually as they have been described, or they can be combined.
This application is a continuation-in-part of U.S. Ser. No. 11/232,477 filed Sep. 21, 2005.
Number | Name | Date | Kind |
---|---|---|---|
5379433 | Yamagishi | Jan 1995 | A |
5418852 | Itami et al. | May 1995 | A |
5805800 | Kotani et al. | Sep 1998 | A |
6172664 | Nakasuji et al. | Jan 2001 | B1 |
20030105717 | Kim et al. | Jun 2003 | A1 |
20040103301 | Inokuchi et al. | May 2004 | A1 |
20040168075 | Suh et al. | Aug 2004 | A1 |
20050055314 | Ebihara et al. | Mar 2005 | A1 |
20050172122 | Risan et al. | Aug 2005 | A1 |
20050185926 | Basile et al. | Aug 2005 | A1 |
20050259546 | Basile et al. | Nov 2005 | A1 |
20070036356 | Holzapfel et al. | Feb 2007 | A1 |
Number | Date | Country |
---|---|---|
1 528 557 | May 2005 | EP |
WO 0146952 | Jun 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20070079095 A1 | Apr 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11232477 | Sep 2005 | US |
Child | 11501627 | US |