The present invention is in the field of copy-protection of media products and the like. In particular, but not exclusively, aspects and embodiments of the present invention relate to copy protection of optical disc products, such as, for example, DVD-Video disc products and the like.
Optical discs such as compact disc (CD) and digital versatile disc (DVD) are well known.
For nearly as long as data-carrying optical discs have been sold, they have also been copied illegally, sometimes on a commercial scale. Such copying is typically facilitated by copying software, which is often referred to as ‘ripping’ software, which executes on a personal computer (PC). The ripping software is typically operable to read the data from a disc and write it to one or more blank discs. As a result, many kinds of copy protection techniques have been devised to make copying more difficult.
One kind of copy protection solution is described in U.S. Pat. No. 5,787,068 (Imation Corp.). This solution produces optical discs with physical, unreadable barriers (for example, pits or bumps) in certain content sectors or zones of a disc. The disc has addressing information, which identifies the content to be read, and the addressing information dictates that the barriers are not accessed when the disc plays normally. However, if the disc is inserted into a disc drive in a PC, and a ripping program is used to copy the data, any attempt to read the entirety of the original disc will encounter the barriers, which will result in read errors. Such read errors at best cause the disc read to fail, or at the very least incur a significant delay in the processing of the data, and, if a large number of these sectors is encountered, the total processing time will be excessive, thereby defeating the copying process.
A key teaching of Imation is to provide an anti-ripping solution through the insertion of ‘barriers’ on optical media where such barriers are located in parts of the media that will not play during normal playback. The implementation of barriers described by Imation is a physical change in the structure of the tracks containing the pits that encode the digital signal but could equally be applied to other ways of incorporating non-compliant structures. Indeed others have observed that such barriers can be effectively provided on DVD-Video by corrupting the logical data in the sectors rather than by providing a physical corruption.
For example, EP 1 528 557 (Sony DADC Austria AG) and EP 1 566 803 (Macrovision Corporation—hereinafter “MV1”) describe solutions that adopt the principles taught by Imation, whereby unreadable barriers are placed on a disc to prevent sequential copying of content data. However, instead of using ‘physical’ barriers, they provide ‘logical’ barriers in the form of corrupt data, which is difficult for ripping software to read. Examples of logical barriers are incorrect checksums and inconsistent error detection and recovery fields, which are incorporated in the logical file system data structures of an optical disc such as a DVD. In addition, as in Imation, both Sony and MV1 provide control data that prevents the logical barriers from being read during legitimate playback. In principle at least, the Sony and MV1 solutions are equivalent to the Imation solution.
The advent of anti-ripping solutions such as Imation, Sony and MV1 has led to more sophisticated ripping software that operates by interrogating addressing and control data. In particular, some ripping software is arranged to parse the addressing or control data and then only read and copy content that is addressed by the addressing or control data. Thus, the physical or logical barriers, which are avoided during legitimate playback, can also be avoided by such ripping software, and copying can take place.
EP 1 600 963 (Macrovision Corporation—hereinafter “MV2”) describes a modified anti-ripping solution for DVD optical discs, wherein redundant control data is provided including logical barriers therein, which prevents parsing of the redundant control data by ripping software, thereby increasing the difficulty of copying the content data. The redundant control data is not accessed during legitimate playback of the DVD. Thus, ripping software that parses the control data, in order to find addressed content data, typically fails to copy discs protected in this way.
Embodiments of the present invention aim to provide alternative or improved anti-ripping solutions for optical discs and, in particular, DVD-Video optical discs and the like. References to DVD herein typically relate specifically to DVD-Video discs. However, unless otherwise indicated, the principles apply equally to other DVD formats, such as DVD-Audio, and, more broadly, to other formats of optical disc product, such as Blu-ray and HD-DVD optical discs. Indeed, nowadays, it is becoming commonplace for content to be stored on, and replayed from, other kinds of media, such as hard disc and flash memory, or downloaded across a network or via satellite to playback on a set top player or the like. Accordingly, unless otherwise indicated, or unless the context specifically demands, aspects and embodiments of the present invention apply equally to any kind of media content, media content storage, media content transmission, data format and/or playback format.
According to a first aspect, the present invention provides a media product carrying, in a data area, presentation data, navigation data and read barriers, the navigation data providing a plurality of selectable playback paths and providing selection logic for selecting a playback path during playback of the product, wherein at least one selectable playback path encounters a read barrier and at least one other selectable playback path does not encounter a read barrier.
Generally, presentation data may include any kind of audio and/or visual content data that may be played back, or presented, by a media player. Likewise, navigation data may include any kind of addressing and/or control data that influences how, or which parts of, the presentation data may be played. A read barrier may include any kind of logical or physical construct that is arranged or adapted to hinder a read operation. Preferably a read barrier prevents a read operation, or at least causes a delay compared with an unhindered read operation.
The media product may incorporate at least one valid playback path that yields an expected correct playback of at least some presentation data. For example, the media product may incorporate two or more valid playback paths that yield(s) an expected correct playback of at least some presentation data.
The media product may incorporate at least one invalid playback path that yields an invalid playback operation of the media product. For example, the media product may incorporate two or more invalid playback paths that yield an invalid playback operation of the media product.
The media product may incorporate at least one invalid playback path that encounters a read barrier. For example, the media product may incorporate two or more invalid playback paths that each encounters a read barrier.
At least one read barrier may be in or between regions containing presentation data. The presentation data may be subdivided into addressable portions. Then, a read barrier may be incorporated into an addressable portion of presentation data. In addition, or alternatively, a read barrier may be incorporated between consecutive portions of presentation data. In any event, at least one read barrier may be in or between regions containing navigation data.
The navigation data may comprise a first choice component having an option to select a second choice component, from plural selectable alternative second choice components, on the basis of a function of the selection logic, wherein at least one of the alternative second choice components is in, or leads to playback of, a playback path which encounters a read barrier.
The navigation data may comprise a choice component having an option to select a playback sequence of presentation data, from a plurality of selectable playback sequences, on the basis of a function of the selection logic, wherein at least one of the sequences is in a playback path which encounters a read barrier.
A choice component may comprise a menu item having one or more user-selectable playback options, and at least one playback option incorporates the selection logic.
The selection logic may select a playback path on the basis of a runtime calculation. For example, the selection logic may select a playback path on the basis of a function of one or more of: a random value as provided by a random number generator; a value dependent on the time when playback options are selected; a value that is specific to a device on which the playback is occurring; and a value that is specific to a selected navigational structure and/or playback path of the product.
The selection logic may in addition, or alternatively, be adapted to select a playback path that yields an invalid playback operation of the media product if certain data in the data area has been modified by a ripping operation. For example, the selection logic may be adapted to select a playback path that encounters a read barrier if certain data in the data area has been modified by a ripping operation.
The navigation data may comprise a plurality of navigation objects, and the selection logic may then be associated with at least a first navigation object, whereby progress from the first navigation object to another navigation object is controlled by the selection logic. For example, at least one instance of the selection logic may comprise a multi-way branch, which determines which navigation object, of a plurality of alternative navigation objects, to navigate to.
According to a further aspect, the present invention provides an authentic media product comprising a media product according to the first aspect of the present invention, wherein playback of the product does not encounter a read barrier.
According to another aspect, the present invention provides a counterfeit media product comprising a media product according to the first aspect of the present invention, wherein playback of the product may encounter a read barrier.
According to a yet another aspect, the present invention provides an optical disc product, for example a DVD product, comprising a media product as descried hereinbefore.
Further aspects and embodiments of the present invention will become apparent from the following description, claims and drawings.
One or more embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, of which:
The following description relates specifically to DVD-Video embodiments of the present invention. However, the principles taught hereinafter are in no way limited to DVD-Video implementations. The skilled person will appreciate that certain specific details are provided hereinafter in order to demonstrate embodiments of the present invention, whereas certain other specific, well known technical details have been omitted purely in order to maintain a concise description and so as not to obscure important features of the present invention.
The diagram in
As illustrated in
Navigation commands, which are similar to CPU instructions that execute on a typical personal computer, can be used to vary the playback behaviour of a DVD product.
The second button option, “SETUP MENU” 115, of Main_menu 105 redirects playback to a setup menu object, Setup_menu 155, which typically has options (not shown) for varying playback parameters of the DVD player (for example, by selecting spoken language, switching sub-titles on and off etc.). The third button option, “CHAPTER POINT MENU” 110, of Main_menu 105 redirects playback to a chapter point menu object, Chapter_point_menu 160, from where the movie can be started at various chapter points (CP), of which three are illustrated in the Movie_content object.
In general, DVD menu objects comprise a static display image and one or more menu buttons, which can change appearance when they are selected and activated. The menu buttons can be navigated between using arrow keys on a standard DVD player remote controller. More elaborate menu objects, having dynamic displays, animated menu buttons and an audio track, are also known. Each menu button has associated with it, programmed into the DVD control code, a respective command to enact a specific navigation or control function. Typical functions relate to configuring the operation of the DVD player, selecting other menus and playing back one or more items of content contained on the DVD itself. DVD menus of this kind are familiar both to DVD authors and DVD users.
The diagram in
According to embodiments of the present invention, at least one, typically several and potentially all navigational objects (for example the three menu objects in the foregoing example) is or are replaced by multiple alternative versions. In some embodiments, each link from one navigational object to another can then become a multi-way branch, where the destination location in each case is determined through an arithmetic or logical calculation. For example, one navigational link in the foregoing example is the change in execution path from the Entry_PGC 100 to the Main_menu 105, as will now be described.
The diagram in
Although only four menus and branches are illustrated, this is for simplicity of description only, and, in practice, a much greater number of branches may be implemented in order to increase the effectiveness of the technique.
By way of example, it is assumed that Main_menu_1205a and Main_menu_3205c correspond to, or are in, valid playback paths, whereas Main_menu_2205b and Main_menu_4205d correspond to, or are in, invalid playback paths. The difference in playback path between the menu objects is determined by the PLAY MOVIE button options in each menu object, which have respectively modified button commands. As shown, the PLAY MOVIE button options 210a in Main_menu_1 and Main_menu_3 direct playback to Movie_PGC_1 (MP1) and the PLAY MOVIE button options 210b in Main_menu_2 and Main_menu_4 direct playback to Movie_PGC_2 (MP2). Movie_PGC_1 and Movie_PGC_2 are illustrated in the diagram in
It is often beneficial, though by no means essential, to include plural valid playback paths, in order to make it more difficult for ripping software to discern between valid and invalid playback paths.
The diagram in
Accordingly, playback of the Movie_content object 325 via MP1330a will lead to uncorrupted, correct playback of the content item. In contrast, playback of the Movie_content object 325 via MP2330b will lead to corrupted playback of the content item, as the read operation would try to access AV3. Likewise, ripping software, which parses the navigation structure of a DVD, would tend to fail when MP2 is accessed, and there is no obvious indicator to the ripping software that MP2 should not be accessed.
Selection logic for selecting one of the four menus of
This command sequence provides a multi-way branch operation, which assumes that a runtime value is calculated and stored in general parameter register 1 (GPRM1) of the DVD player. The first line of the code links to (or directs playback to play) Main_menu_1205a if GPRM1 equals ‘39’, the second line of the code links to Main_menu_2205b if GPRM1 equals ‘11751’, the third line of the code links to Main_menu_3205c if GPRM1 equals ‘4283’ and the final line of the code links to Main_menu_4205d if the tests in the foregoing three lines of code have been negative. Hence, if it is the case that 39 and 4283 are the only valid values for the calculation performed, and one of these two values is in GPRM1, then the selection logic causes playback to jump to Main_menu_1205a or Main_menu_3205c, and correct playback resumes.
The diagram in
The SETUP MENU button option in each main menu object includes selection logic, SL1-SL4, which causes redirection to one of the setup menu objects in accord with certain criteria. The selection logic incorporates a calculation to select the next navigational object (that is, a setup menu object), which will be selected if the user selects the setup menu button option of any of the main menu objects. As shown, in theory, each of the setup menu objects can be selected by a SETUP MENU button from each main menu object.
The selection logic of
More generally, selection logic can be added in each instance where a navigation structure progresses from one object, for example a menu object or a PGC object, to another object, for example a menu object, a PGC object or a content object. For example, selection logic may be included in menu button options, PGC pre or post commands, and cell commands following cell pointers, or in any combination of the foregoing options. Such selection logic can be included to greatly increase the number of playable playback paths, some of which are valid and some of which are invalid, in terms of whether a read operation will encounter a read barrier. The inclusion of these additional playback paths means that it is not easy to identify, from a static analysis of a DVD product, which playback path is the correct playback path, so that ripping software may inadvertently process an invalid path, which may contain barriers. In addition, having multiple valid paths means that it is not easy to identify, from a static analysis or even from an emulation of playback, which playback paths are valid, since even the actual valid path can vary between each playback invocation, potentially leading ripping software to deduce that certain valid paths are actually invalid paths. In this case, ripping software may remove such valid paths from the copied data, which will result in playback errors when a copy is played in a DVD player.
Embodiments of the present invention offer several benefits. First, as in other anti-ripping solutions, read barriers can be introduced into a DVD product in order to frustrate ripping software that reads content sequentially. In addition, as in, for example, the MV2 prior patent application, additional navigation or control content can be added, in order to frustrate ripping software that parses navigation content in order to distinguish between content that is accessed and content that is not accessed.
However, unlike in prior anti-ripping solutions, the additional navigation content is accessible during playback due to the addition of selection logic. This feature of embodiments of the present invention offers additional benefits. For example, it is known that some of the more-advanced ripping software is able to read a DVD and re-arrange one or both of the navigation structure and content data in order to copy the content data. This kind of ripping technique can be useful if an aim of the ripping software is to extract selected content, for example the main movie content, and ignore other, less-important material (for example, previews of other films or adverts).
In other cases, the ripping software may be arranged to copy content from a double sided and/or dual layer DVD product onto a single sided and/or single layer DVD product, or even onto a relatively low capacity CD-ROM product. This can sometimes be achieved, for example, by reading the movie content and applying a higher compression ratio to the content, in order to fit it into a smaller data area. In any event, such advanced ripping software routinely re-organises either or both of the navigation structure (for example, the PGC arrangement) and the content structure (for example, the cell arrangement). Therefore, even if advanced ripping software can determine which parts of the content are required while avoiding the barriers, providing selection logic, which tests the integrity of the navigation structure according to embodiments of the present invention, increases the likelihood that a copied DVD product will not be playable, as will now be described. Indeed, such integrity tests may be applied in the absence of other features, such as read barriers, to frustrate the playback of copied DVD product and the like.
Embodiments of the present invention are able, in effect, to overcome tampering of a DVD product, for example by ripping software that alters the navigation or content structure for one of the aforementioned reasons. DVD players have a number of system parameter registers, or SPRM, which can be read and, in some cases, written to during DVD playback. A number of the SPRM registers are updated by the playback processor of a player during playback of a DVD in order to track the playback state of the DVD. Some of these registers are illustrated in the table in
In order to detect tampering of a DVD by ripping software, certain SPRM values can be interrogated and compared with the expected value in each case at a certain point in the execution or playback of a navigational structure. For example, on DVD, as illustrated in
The first line of the command sequence reads the value of SPRM6 and writes the value into GPRM1. The second line of the code links to (or directs playback to play) location1 if the value of GPRM1 equals 25, the third line of the code links to location2 if the value of GPRM1 equals 867, the fourth line of the code links to location3 if the value of GPRM1 equals 2166 and the final line of the code links to location4 if the tests in the previous lines of code have failed. The consequence of this code is that, provided that the DVD structure is unmodified (more specifically, that this PGC object is still numbered 867), then valid execution will pass to “location2”, which is a valid location (for example, in a PGC object), otherwise execution will continue elsewhere, corresponding to an invalid path (for example, a dummy PGC or dummy content data).
This same principle may be extended over multiple PGC objects. For example, in one PGC, numbered 37 say, the following code may be included:
Thus, this command sequence stores the current PGC number (which should be 37 if the DVD is unmodified) in GPRM1. During playback of a later PGC (numbered 234 in the following example), the following code appears:
The first line of the code reads and copies the value of SPRM6 into GPRM2 and the second line of the code multiplies the value of GPRM1 with the value of GPRM2 and stores the result in GPRM1. The behaviour of the additional lines of code is analogous to previous examples, to create a multi-way branch operation.
In this example, GPRM1 stores the value 37 (from the previous PGC) and GPRM2 stores the value 234 (from the current PGC). A branch is made on the result of these two values multiplied together, and, therefore, the correct destination corresponds to location3, which may be a cell pointer in the current PGC or a different PGC, which, in either case, is a valid playback path. Any re-organisation of the PGC structure by a ripping operation, will lead to attempted playback of a different playback path.
Thus, it can be appreciated that selection logic according to embodiments of the present invention can be included to frustrate or circumvent copying involving modifying or re-arranging the navigation and/or content data on a DVD product.
In any event, selection logic may test various parameters of a DVD product or a DVD player in order to select a particular playback path. For example, runtime calculations may be based on functions of one or more of the following:
Options a. and b. may be applied to generate a pseudo-random selection between multiple valid playback paths, if the DVD structure has not been tampered with, or between multiple invalid playback paths, if the DVD structure has been tampered with. In other words, even in an authentic DVD product, different valid playback paths may be selected on each, otherwise identical, legitimate playback operation. Such variation of valid or invalid playback path between playback operations, on the basis of runtime calculations, would tend to make it extremely difficult for ripping software to establish, on the basis of a static analysis of the respective DVD product, or even on the basis of a playback emulation of the DVD product, which playback paths are valid and which playback paths are invalid.
Moreover, even if ripping software is able to emulate successfully a playback operation of the DVD product, and create a counterfeit DVD product, it is likely that a majority of playback operations of the counterfeit DVD product would fail. This is because the selection logic, which is built into the navigation structure and would be copied, would still carry out a pseudo-random path selection operation. If only one path has been copied (for example, that being a path that was successfully emulated by ripping software) then each playback that attempts to select a different playback path would fail.
Clearly, the more valid alternative playback paths there are, the more effective a DVD product would be in defeating DVD emulation ripping software, as the probability of pseudo-randomly selecting the one emulated, counterfeit playback path would be inversely proportional to the number of valid playback paths.
In relation to option c. playback of the disc in a player that has, for example, a region code that does not designate the specific region for which the disc was originally authored, will result in the selection of an invalid path, causing playback errors when the copy is played in a set-top device.
It will be appreciated that the calculations illustrated in the above examples are quite simple, and, in practice, more convoluted calculations extending over multiple steps of the navigation paths, and more extensive branching structures, would be implemented. In addition, or alternatively, in other embodiments of the present invention, there may be more alternative PGC objects, more read barriers (placed in navigation and/or content structures) and/or multi-way branches may include far more tests. Obviously, for non-DVD-Video embodiments, there will be many other different tests that could be applied in a similar way.
In the context of DVD-Video, a playback path has been illustrated in the foregoing examples in terms of playing back a simple sequence of cells, under the control of a typical PGC. The sequence can be in the order in which the cells are arranged or, instead, the sequence can be jumbled, either or both in terms of the PGC cell pointer order and the cell order, so as to increase the difficulty faced by ripping software. Jumbling cells in this way, in order to obscure a correct playback path, is described in detail in the applicant's co-pending international patent application WO2004/109680, the entire contents of which are hereby incorporated herein by reference. Alternatively, one or more playback paths may be defined by switching between parallel streams of generally similar content, for example using multi-angle video structures of the kind that are normally associated with providing multiple camera angles. Such an arrangement is described in applicant's co-pending patent application WO2004/109679, the entire contents of which are hereby incorporated herein by reference. Of course, these principles may be applied also to formats other than DVD-Video.
Original audiovisual data can take any form such as a movie, or a company presentation, or a quiz game, amongst many other possibilities. The computer 630 acting as the authoring apparatus creates the desired audiovisual product using the procedures that have been described herein. The computer 630 writes the audiovisual product 645 onto a storage medium such as a hard disk drive within the computer 630 or onto an optical disk 640.
In the context of the present invention, the author would in addition to the normal authoring steps define selection logic to be associated with the navigation structures, provide alternative navigation structures that can be selected depending on the outcomes of processing the selection logic and introduce read barriers into additional content or between existing content items.
In the preferred example of DVD-Video specification data, the cells 710 are played in sequence through their inclusion by reference in programs (PGs), which are in turn organised into program chains (PGCs). In
The diagram in
As the reader will appreciate, there are many different ways—far more than can be described herein—in which embodiments of the present invention may be implemented. Accordingly, only the claims appended hereto, as influenced by any broadening purposive construction or equivalence doctrine or theory, should be used to limit the scope of the invention.
The above embodiments are to be understood as illustrative examples of the invention. Further embodiments of the invention are envisaged. It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.
This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 60/880,129 filed Jan. 12, 2007, the disclosure of which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60880129 | Jan 2007 | US |