COPY PROTECTION SIGNATURE FOR COMPACT DISKS
TECHNICAL FIELD OF THE INVENTION
This disclosure is directed to compact disks (CDs) and more specifically to prevention of unauthorized copying of compact disks.
BACKGROUND OF THE INVENTION
Compact disks are well known in both the audio and video field. The term "compact
disk" herein refers generally to optically readable media, playable in CD players and/or
computer CD drives, and typically carrying audio and/or video program material and includes both non-recordable CDs and recordable CDs. Recordable CDs are of two types: 1) blank CD-
recordable, or CD-R, are disks which can be written to and appended but not erased, and 2)
CD-rewritable, or CD-RW, which can be erased and written over. This disclosure is directed primarily to CD-R.
The technical problem addressed herein is that in addition to commercially available compact disks players, both as standalone devices and drives installed in computers, compact
disk writers ("burners") are now commercially available. These writers accept a suitable data
stream and write the data onto a recordable compact disk. Some CD writers write both CD-R
and CD-RW, while others write only to CD-R disks. An example is the Hewlett-Packard CD-
Writer Plus 8100i CD-RW drive which installs in a standard personal computer drive bay, and
which connects to the hard drive IDE connector in such a computer. Other versions connect to
the computer SCSI or parallel port. CD writers also operate as CD players. Such writers now
cost only about $400.00, and typically are sold bundled with suitable software, such as
Adaptec's Easy-CD Creator, which enables copying of a CD or other data (e.g., from a hard
drive) to a recordable CD.
Since the material on a compact disk is typically in digital form, a copy of a compact
disk contains all of the program material (user data) of the original. This of course encourages
unauthorized copying, typically of copyrighted program material such as games, movies, etc.,
using such CD writers.
Thus it would be desirable to develop a way to prevent or discourage copying of CDs
by people who have access to such a CD writer. It is to be understood that such writers are
widely commercially available and are not considered to be professional or industrial quality
equipment at this time.
SUMMARY OF THE INVENTION
In accordance with this invention, a method and associated apparatus provide copy
protection for compact disks. This copy protection generally prevents an unauthorized copier
("pirate") who has access to such a compact disk writer from making useable copies of at least
CD-R copy-protected compact disks.
In accordance with this invention therefore, otherwise conventional compact disks,
when they are manufactured (stamped from a master disk), include a "signature" which is a
special sequence of bits, as described below. The signature is added to the master disk. When
a CD player reads a CD, it is presented with a sequence of bits. It is necessary to search for a
specific sequence of bits in order to know where to recover the data. A conventional CD
player may ignore the signature because it determines that it is in error (the format of a
signature is different from that of any data stored on the disk) or because the sequence of bits
containing the signature does not contain the normal specific sequence of bits. Therefore any
conventional player may be able to recover data from the disk. It is not possible for a
conventional player to recover the signature; only a player with special circuitry can do this.
The signature bits are located anywhere on the compact disk that is readable by the associated
player.
The associated compact disk player with the special circuitry is either the type installed
in a computer or a standalone player. The point of this signature approach is that this is a
special ("compliant") compact disk player. The signature is useful for copy protection in
conjunction with such a compliant player. A conventional (prior art) CD player is not able to
detect the signature and hence this approach may not be useful with such conventional CD
players.
The compliant disk player (which itself may also be a CD writer) is essentially
conventional except that it includes a special signature detection circuit or process (for
instance, embodied in computer code, executed by the microprocessor resident in the compact
disk player). When the signature is detected on a compact disk being played, in response the
compact disk player allows playing program material on the compact disk. Thus the signature
acts as a copy protection mechanism whose presence is required before playing. Of course, the
signature must be on such a location on the compact disk that it is read before the relevant
program material on that compact disk is actually played. This provides to one skilled in the
art an indication as to the most useful locations for such a signature on the compact disk. The
signature may be present at multiple locations on a particular compact disk.
In practical operation, compact disks containing the signature are commercially
distributed through normal channels. The compact disks of this type may be fully playable on
any non-compliant (conventional) compact disk player and hence will not interfere with
normal use of such compact disk players. The signature comes into play when someone in
possession of a compact disk containing the signature makes a copy thereof using a compact disk writer. The writer will in fact record onto the new (copied) compact disk all of the
material on the original compact disk, excluding the signature which is regarded by the writer
as being in error. Note that such writers generally do not have user access that would allow
one to tamper with or add the signature to the data stream. The resulting new compact disk is
then used by the pirate (or a customer or friend of the pirate) who attempts to play it on a
compliant compact disk player. At this point, any compliant compact disk player does not
detect the (absent) signature and as a result refuses to play the material on the disk. Hence the
copy is not playable on the compliant player, thus discouraging copying.
Advantageously, the signature itself in some embodiments is very short and easily detected and also uses virtually an insignificant amount of the recording capacity of the
compact disk, even if repeated. Also, the signature detection circuitry and corresponding logic
functionality which prevent playing in the compliant compact disk player are minor modifications to commercially available compact disk players and hence can be implemented
at low cost.
Of course, this method and the accompanying apparatus do require cooperation
between the compact disk manufacturer and the manufacturer of the compliant disk players. In
one embodiment, the signature and the corresponding detection circuitry are agreed upon
industry standards; however, this has not yet been implemented in the industry. In another,
easier to implement embodiment, a manufacturer of specialized compact disk players (for
instance, for a specialized game or toy) contracts with the supplier of the associated compact
disks to make sure that the suitable signature is present on the compact disks and of course
includes the suitable signature detection functionality in his compact disk players. Obviously
in either situation, there is cooperation between the compact disk manufacturer and the
compact disk player manufacturer.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and for further features
and advantages, reference is now made to the following description taken in conjunction with
the accompanying drawings, in which:
FIGURE 1 is a block diagram of a portion of a CD-ROM recorder constructed in
accordance with the present invention;
FIGURE 2 is a simplified block diagram of an exemplary CD playback system; and
FIGURE 3 is a block diagram of a signature detector.
DETAILED DESCRIPTION OF THE INVENTION
The publication "Data interchange on read-only 120 mm optical data disks (CD-
ROM)," ISO/IEC 10149, Second Edition (1995-07-15), is hereby incorporated by reference in
its entirety. The following refers to how data is encoded on a compact disk; some of these
definitions are from this publication.
Referring to FIGURE 1, a block diagram of a portion of a CD-ROM recorder 10 is
shown. This portion of CD-ROM recorder 10 receives an input signal 12 representing an
information track comprised of eight-bit bytes grouped into sectors. For purposes of
illustration, input signal 12 will be assumed to constitute a single sector. In accordance with
the ISO/IEC 10149 (1995-07-15) standard, a sector includes 2352 bytes, of which either 2336
bytes or 2048 bytes may be user data. For example, in Sector Mode (01) described in ISO/IEC
10149 (1995-07-15), a sector comprises a sync field (12 bytes), a header field (4 bytes), user
data (2048 bytes), an error detecting and correction (EDC) field (4 bytes), an intermediate field
(8 bytes), a P-parity field (172 bytes), and a Q-parity field (104 bytes).
Input signal 12 is received by a scrambler 14, which uses an X15 + X + 1 algorithm to
scramble bytes 12 to 2351 (but not the sync field) of a sector. An output signal 16
representing the scrambled sector is then transmitted to a mapper 18, which maps the
scrambled sector into a series of 24-byte FI frames which make up an output signal 20.
Mapper 18 reverses the order of each even-odd numbered pair of bytes in the scrambled sector,
as described in ISO/IEC 10149 (1995-07-15).
The FI frames of output signal 20 are then fed into a Cross Interleaved Reed-Solomon
Code (CIRC) encoder 22, which transforms the 24-byte FI frames into a set of 32-byte F2
frames which constitute an output signal 24. CIRC encoder 22 redistributes the FI frame
bytes among F2 frames and adds eight eight-bit bytes with parity information to each F2
frame, as described in ISO/IEC 10149 (1995-07-15).
A control block 26 converts the 32-byte F2 frames of signal 24 to an output signal 28
comprising 33 -byte F3 frames by adding an eight-bit control byte at the beginning of each F2
frame. These control bytes are generated such that each bit-position in a control byte
corresponds to a "channel" (p-channel, q-channel, ... w-channel), with the content of each
channel being defined by ISO/IEC 10149 (1995-07-15). The F3 frames of signal 28 are
grouped by their control bytes into 98-frame sections, which bear no relation to the original
information track sectors of the input signal 12.
The F3 frames of signal 28 are fed into an eight-to-fourteen modulation (EFM) encoder
30, which converts the F3 frames into channel frames. To generate a channel frame, EFM
encoder 30 performs several functions, one of which is to convert each eight-bit byte of an F3
frame into a fourteen-bit byte according to a conversion table given in ISOTEC 10149 (1995-
07-15). (Since the binary values generated by EFM encoder 30 are to be written to an actual
CD channel, these values are referred to as "Channel bits.") The fourteen-Channel bit bytes in the aforementioned conversion table are selected from a limited number of fourteen-bit bytes
in which there are at least two and at most 10 zeros between two ones. For convenience, this
criterion will be referred to herein as the "2/10 rule."
Not every byte of every F3 frame is converted to a fourteen-Channel bit byte using the
aforementioned conversion table. The first two control bytes of a section (i.e. the control bytes
of the first two F3 frames of a section) are not converted according to the conversion table, but are given specialized fourteen-bit patterns that are not included in the conversion table. The
first control byte is assigned a specialized pattern known as the SYNC 0 or SO byte, which has
the following value: 00100000000001. Likewise, the second control byte is assigned a
specialized pattern known as the SYNC 1 or SI byte, which has the following value: 00000000010010. For purposes of this disclosure, "Si" represents either a SO or SI symbol as
described in ISO/IEC 10149 (1995-07-15), or certain other 14-bit combinations to be described below.
At the beginning of a channel frame, EFM encoder 30 adds a sync header comprising a
special sequence of 24 Channel bits. EFM encoder 30 also adds three Channel bits known a
"merging Channel bits" after the sync header and between each 14-Channel bit byte. These
merging Channel bits are used to maintain compliance with the 2/10 rule in the Channel bit
stream as a whole.
A channel frame therefore consists of a sync header (24 Channel bits), merging bits (3
Channel bits), a control byte (14 Channel bits), merging bits (3 Channel bits), and 32 data
bytes of 14 Channel bits each, each byte being followed by 3 merging Channel bits, for a total
of 588 Channel bits. These channel frames are encoded by an NRZI encoder 34 and recorded on a compact disk 36.
Scrambler 14, mapper 18, CIRC encoder 22, control block 26 and NRZI encoder 34
may be conventional CD player or CD-ROM components performing the functions specified
in ISO/IEC 10149 (1995-07-15). It will be understood that these components, as well as EFM
encoder 30, may be embodied in hardware, software or firmware.
It will be understood that the process for reading a CD-ROM is substantially the
reverse of the writing process outlined above. Thus, when CD 36 is read by a conventional CD player, the CD player scans the disk looking for the SO and SI values in order to locate the
beginning of a section. When a section has been located, the Channel bits contained therein
are extracted, decoded and unscrambled (with various error-checking algorithms) to reproduce the original information track sector(s) of signal 12.
In accordance with one aspect of the present invention, CD-ROM recorder 10 is modified from a conventional CD-ROM recorder. In particular, EFM encoder 30 is modified
so as to encode a signature within the channel frames recorded on CD 36. This signature may be used for a variety of purposes, including copy protection.
As previously mentioned, the SO and S 1 bytes are conventionally used as the first two
control bytes of a section on a CD. These two bytes are chosen from the limited number of 14-
bit bytes that conform to the 2/10 rule. There are 16,384 unique 14-bit bytes, of which only
267 conform to the 2/10 rule. Of those 267, 256 are listed in the ISO/IEC 10149 (1995-07-15) as EFM conversion values for eight-bit bytes. This leaves 11 bytes which are compliant with
the 2/10 rule and which are unused in the conversion table. These bytes, two of which are
conventionally designated as the SO and SI bytes described above, are listed in Table A:
TABLE A
Byte Usage
00000000001000 none 00000000001001 none
00000000010000 none
00000000010001 none 00000000010010 SI 00001000000000 none 00010000000000 none
00100000000001 SO
01001000000000 none
10001000000000 none
10010000000000 none
As is apparent from an examination of Table A, there are nine fourteen-bit bytes that
are compliant with the 2/10 rule and are not used either as conventional SYNC bytes or in the
256-byte conversion table.
When CD 36 is read by a conventional CD player, the CD player scans the disk
looking for the SO and SI values in order to locate the beginning of a section. The presence of
a SO or SI byte in a location other than the beginning of a section will in most cases result in
an error being registered by a conventional CD player. Likewise, the presence of any of the
other bytes listed in Table A in any location on the CD will in most cases result in an error
being registered by a conventional CD player. These bytes may therefore be used to prevent a
CD from being read or copied by conventional CD reading equipment. Moreover, these bytes
may be used to convey information in the form of a signature for copy protection and other
purposes. Thus, in the following description, it will be understood that the designation "Si,"
when used to denote a signature byte or symbol, may indicate not only a SO or S 1 byte but also
any of the other bytes listed in Table A.
A signature in accordance with this invention is a sequence of bits recorded on a
compact disk which, when detected, may be converted into a numerical representation whose
value is used to determine the validity of the signature. Alternatively, the mere detection of
the presence of Si symbols occurring in a sequence different from that normally found on a
compact disk is used to determine the presence of a signature. The presence and/or validity of
a signature may be determined by a CD player or reader specifically designed to do so. Such a
CD player or reader will be referred to herein as a compliant CD player.
The signature in accordance with this invention is encoded, in various embodiments,
using a variety of formats. The signature may be encoded, for example, in a manner so that a
compliant compact disk player does not mistake it for a valid channel frame. The signature
may be encoded using a sequence of Si symbols separated by Merging bits and (optionally)
non-Si data. Redundancy (repetition of the signature) in some embodiments ensures reliable
detection of the signature. This overcomes problems with noise (common in compact disk
players) in the detection of the signature.
The following is one example of an encoding method for the signature in which each Si
symbol is repeated three times:
Si Si Si x x x x Si Si Si x x x x ...
In this method, each group of three Si symbols occurring in a designated signature bit
location represents a single bit of information. If at least one Si symbol is detected in a
designated signature bit location, then the signature bit is assumed to be a "1." If none are
detected, then the signature bit is assumed to be a "0." In this example, only a single Si
symbol must be detected in a designated signature bit location to convey a signature bit with a
value of "1." As previously stated, the redundant inclusion of three Si symbols in a designated
signature bit location ensures that at least one of the Si symbols will be detected amidst the
noise inherent in the reading of a compact disk.
In this example, "x" represents any symbol except for Si, and Merging bits are not
shown. The term signature bit is used here to differentiate from the term Channel bit, which
refers to a bit of data recorded on a compact disk.
In the example given above, the signature is two bits. It is not encrypted, secret or
otherwise secure in this embodiment. This is because even knowledge of the signature value
and its location is of no use to a pirate who has only a compact disk player and a compact disk
writer to make copies of an original compact disk. The signature may be located anywhere on
the compact disk that is accessible (readable) by a compliant compact disk player. The
designated signature bit location(s) may be at any predetermined locations within the channel
frames, such as in the control byte or in the 32 data bytes of a channel frame.
Another example of a signature encoding method is one in which EFM encoder 30
substitutes up to four selected data bytes in a valid channel frame with Si symbols. The parity
bytes included in each F2 frame by CIRC encoder 22 allows up to four apparently incorrect
bytes in a channel frame to be corrected, as described below. Thus, this signature encoding
method may be used without preventing the underlying data from being read using
conventional decoding and error correction methods.
In the terminology of ISO/IEC 10149 (1995-07-15), a 14-Channel bit byte which is
read incorrectly may be considered an "error" or an "erasure." An "error" occurs if the byte in
question translates (via EFM decoding) to a numerical value of 0 to 255. In this case, an error
is known to have occurred because of a parity mismatch, but the location of the error cannot be
immediately determined, since all bytes seem to be valid. The parity bytes included in each F2
frame by CIRC encoder 22 allow up to two of these "errors" per channel frame to be corrected.
An "erasure" occurs if a channel byte does not translate (via EFM decoding) to an
eight-bit byte. This occurs if a channel byte such as those set forth in Table A occurs, or if
some other 14-bit byte is used in violation of the 2/10 rule. In this case, the location of the
"erasure" is immediately apparent. Up to four such "erasures" can be corrected in each
channel frame. Since the signature encoding scheme described here uses channel bytes taken
from Table A, up to four such bytes may be substitute into each channel frame without losing
the underlying data, so long as no other (noise-related) errors are encountered in the reading of
the channel frame.
In this examplary signature encoding scheme, a number of data byte locations (up to
four) within a channel frame are designated as signature bit locations. Within each channel
frame, or within channel frames occurring in selected locations on a compact disk, EFM
encoder 30 substitutes a selected Si symbol for the data byte occurring at each signature bit
location.
Since normal reading of the compact disk is desired, the SO and SI symbols are
preferably not used for this encoding method. Instead, one of the other nine Si symbols listed
in Table A may be used at each signature bit location. EFM encoder 30 may convey signature
information by selecting which Si symbol is used at each signature bit location. Since in this
example there are nine symbols that may be used at each location, each signature bit location
may effectively convey a base-9 digit (i.e. value 0 through 8). To create a base- 10 encoding
scheme, the option of not substituting any Si symbol at a signature bit location may be added,
giving 10 substitution choices for EFM encoder 30 at each signature bit location.
Alternatively, any subset of the available Si symbols may be used to create an encoding
scheme of a desired complexity.
Since normal reading of the compact disk is desired in this example, the parity bytes of
an F2 frame are left unchanged during the encoding and recording process. This allows the
original data bytes at the signature bit locations (for which Si symbols have been substituted
by EFM encoder 30) to be reconstructed during the normal decoding process.
When any of the above-described encoding schemes are used, Si symbols may be
detected during playback in a compliant compact disk player by monitoring the conventional
EFM-encoded data stream output to provide detection of the signature. For example, the read
circuitry in the compliant compact disk player provides one or more output signals that are
asserted when particular Si symbols are detected. This indication of the signature is routed to
either further dedicated signature detection circuitry in the compact disk player or,
alternatively, to one or more input pins on the microprocessor conventionally present in the
compact disk player. This microprocessor executes suitable code responsive to the detection
of the Si bit(s). The signature detection circuitry (or microprocessor) then allows playing of
the program material on the compact disk.
The code that the microprocessor executes to detect the signature is dependent upon the
type of circuitry present, the nature of the signature and the available resources in the player
and/or microprocessor. Similarly how the microprocessor prevents the playing of a CD is
dependent on the circuitry present in the player and the capabilities of the microprocessor to
interact with that circuitry. The Sony CXD2585Q integrated circuit is an example of an
integrated circuit that provides an output signal that is asserted whenever a SO or SI symbol is
detected.
Referring to FIGURE 2, a simplified block diagram of an example of a CD playback
system 38 is shown. Playback system 38 includes a CD reading and NRZI decoding system
39, which may include laser optical elements for reading information from CD 36 and a
conventional NRZI decoder to extract data bits from the resulting signal. The data generated
by CD reading and NRZI decoding system 39 includes data in the form of channel frames.
The channel frames produced by CD reading and NRZI decoding system 39 are
provided to a signature detector 40, the operation of which is described below. The channel
frames are also provided to a decoder 60, which may perform the decoding functions
corresponding to those encoding functions described above for scrambler 14, mapper 18,
CIRC encoder 22, control block 26 and EFM encoder 30. The decoded data stream is then
provided to a presentation system 64, which may include digital to analog converters,
speakers, a display screen, or other conventional equipment to present the data from CD 36 to
a user.
When signature detector 40 detects a valid signature on CD 36, a signature detect
signal is generated and provided to a control block 62. In response to the signature detect
signal, control block 62 allows decoder 60 and presentation system 64 to decode and present
the data from CD 36. If the appropriate signature is not detected, control block 62 prevents
either decoder 60 or presentation system 64, or both, from completing their respective
functions, thereby effectively preventing the presentation of data from CD 36 to the user.
FIGURE 3 is a block diagram of one example of a signature detector 40 for use in a
compliant CD player. FIGURE 3 shows the EFM-encoded data stream produced when a CD
is played going into a shift register 42. The data is then transmitted to the Si detector 44,
which provides a "detect" signal to control logic 46. Counter 48, timer 50, and clock circuit
52 are connected as shown to control logic 46 to enable the control logic 46, upon occurrence
of predetermined conditions, to output the Signature Detect signal on line 54. Unless this
signal on line 54 is present, play is prevented.
The rate at which Si symbols are received by signature detector 40 may be controlled
by a combination of disk rotational speed and "padding" symbols inserted into the stream. For
instance, in the first encoding method example given above, the symbol sequence played from
the CD:
Si Si Si x x x x Si Si Si x x x x ...
may be changed by adding padding symbols to:
Si x x Si x x Si x x x x x x Si x x Si x x Si x x x x x x
to reduce the rate at which Si symbols are encountered. This rate reduction is chiefly useful
for a microprocessor-based (software) signature detector, which typically would process the Si
symbols somewhat slower than would a dedicated circuitry signature detector of the type
shown in FIGURE 3.
One of ordinary skill in the art, in light of this disclosure in general and the signature
encoding methods described above in particular, could either write suitable code (software) for
the CD player microprocessor or implement circuitry of the type shown in FIGURE 3 for the
detection of the signature and thereby prevent further playing of the compact disk program
material upon absence of signature detection. The generation and writing of the signature is
accomplished by the manufacturer of the CDs according to the specific needs of the equipment
that will produce the master CD, the requirements of the signature format, and the capabilities
of the compliant player that will detect the signature. The actual prevention of playing in a
compliant CD player may be accomplished by any one of a number of ways, for instance,
shutting the entire compact disk player down until the offending compact disk is ejected and a
suitable compact disk is inserted, or otherwise interfering with normal play of the entire
offending compact disk or a portion of the program material thereon. As mentioned above, the
signature encoding scheme may be designed to either prevent or allow playback of the CD in a
conventional (non-compliant) CD player.
This disclosure is illustrative and not limiting; further modifications will be apparent to
one of ordinary skill in the art in light of this disclosure and are intended to fall within the
scope of this invention.