The present invention relates to a method and a corresponding device for embedding a secondary information signal in a channel data stream of an encoded primary information signal. Further, the present invention relates a device and a corresponding method for extracting a secondary information signal in a channel data stream, to a computer program for implanting said method on a computer, and to a record carrier comprising the secondary information signal.
In WO02/15185 (PHNL000451) a method is described how to encode and decode a secondary information signal in a RLL code of a primary information signal. The secondary information signal is stored in the absolute polarity at a predetermined position; this polarity is set using the degree of freedom that exists in the choice of DC control bits.
The secondary information signal is a low bit-rate channel and can be used to store e.g. decryption keys for the content in the primary information signal. The key size is typically 128-512 bits or more. Since this key is typically a master key to access the content, it is essential that the retrieval of the key is very robust. The secondary information signal should be hidden in such a way that is difficult to extract the key by reverse engineering even if the technology becomes known.
The encoded primary information signal usually consists of a regular pattern of so-called frames; a frame consists of a synchronization pattern followed by a number of codewords. Within a frame there is some degree of freedom for the minimization of the DC content in the encoded bit stream. For example:
In the known systems the bits of the secondary information signal are stored at fixed positions, e.g. in the CD-format at a fixed offset from the EFM-sync or after a fixed number of transitions following the EFM-sync. Also, the location in the data stream where the degree of freedom for DSV control is used to force the polarity to the desired value is fixed (e.g. the merging bit pattern preceding the EFM-sync pattern in the CD format). This has, among others, the following disadvantages:
If a sufficiently large channel data stream is available, the DC control algorithm can be deduced from this stream. In a channel data stream containing the secondary information signal, the location within a sync frame (or recording frame or EFM-frame) can become known at which the degree of freedom is used to control the bit polarity. At this location, for a part of the cases (typically 50%) a less than optimal choice is made for DC control. Although this location is generally not the same as the location where the secondary information signal bit is stored, knowing this location already reveals part of the secret. If the secondary information signal is embedded only in a part of the channel data stream (e.g. only in the control data sectors), the location of the secondary information signal area can become known after analysis of the DC control encoding statistics.
Further, if the secondary information signal is stored at a fixed location, this can be at a non-preferable location within a codeword. To enhance reliable detection, the DC-bit is preferably stored at locations in the modulation stream, which are well separated from polarity transitions (so bit-slip does not influence the quality of the secondary information signal) and are not in the shortest runlengths (because of the low modulation of the shortest runlength). For example, the preferable locations within an 8-to-16 modulation stream as used in DVD are in the runlengths of 4T and larger, and are separated at least 1 channel bit length from the transitions.
It is an object of the present invention to provide a device and a method for embedding a secondary information signal in a channel data stream of an encoded primary information signal which make it more difficult for unauthorized persons or devices to retrieve the location of storage of the secondary information signal or its content itself.
This object is achieved according to the present invention by a device as claimed in claim 1 comprising:
A corresponding method is defined in claim 11. The invention relates further to an extraction device and method as claimed in claims 12 and 16, respectively, to a computer program for implementing said method as claimed in claim 17, and to a record carrier comprising the secondary information signal as claimed in claim 18. Preferred embodiments of the invention are defined in the dependent claims.
The invention is based on the idea to provide DC control adaptations that do not have a fixed relation with the location of the secondary information signal in the channel data stream so that a location of the secondary information signal area is concealed. It is thus much more difficult for a user to find out where secondary information is stored in the channel data stream, so that he can not retrieve the DC control algorithm or the secondary information itself. By making non-optimal, arbitrary or random choices of the DC control at a number of locations of the channel data stream a non-compliant decoder can not distinguish between actual secondary information and such non-optimal, arbitrary or random choices which do not represent any secondary information.
In a preferred embodiment the addition of random elements in the DC control is proposed. Random elements can be inserted in the DC control algorithms in the following preferred ways:
In a (typically small) number of occasions and at random or fixed locations, the DC control algorithm makes a non-optimal choice. In this way locations where the degree of freedom in DC control is used to encode the secondary information signal cannot be traced by performing statistical analysis on the algorithm.
In the parts of the channel data stream that do not contain the secondary information, e.g. a channel key, a random bit pattern can be inserted into the primary signal encoder that embeds the secondary information signal. In this way the DC control strategy remains the same for the entire data stream, regardless of the presence of valid secondary information signal data, and analysis of the encoder statistics does not reveal the location of the secondary information signal data.
In a further embodiment it is proposed to use the degrees of freedom at different locations to encode the secondary information signal. In DVD the DC control is done by:
Instead of choosing one DC control location (typically: the sync pattern) to control the polarity of the secondary information signal bits, it is proposed in this embodiment to use further locations. In particular, state swaps and/or the selection of a main table or a substitution table are used for encoding of the secondary information signal in addition to the use of the primary or secondary sync.
In BD the DC-control is done by setting the DC-control bits in the data stream to such a value that the DSV of the modulation bit stream is minimized. Instead of using one DC-control bit to control the polarity of the secondary information signal bits, it is proposed in this embodiment to use further locations.
In further embodiments, as defined in claims 6 to 10, a location information specifying the location of the secondary information signal in said channel data stream is stored. This location information can be a fixed information which is predetermined and stored both on the encoding and the decoding side. But it can also be selected “on the fly” when embedding the secondary information signal in the channel data stream, but must then be transmitted to the decoding side in any way, e.g. together with the channel data stream as separate or embedded information, for instance, in encoded form included in the primary information signal or in a third information signal.
By the location information it can be specified at which position in different codewords and/or data frames, such as sync frames, subcode frames or recording frames, secondary information data, for instance secondary information bits, are stored. I.e., the position can be different in each codeword and/or each data frame.
It shall be noted that the idea of storing a location information defined in claims 6 to 10 can also be applied separate from the idea of making non-optimal, arbitrary or random choices of the DC control at a number of locations of said channel data stream as defined in claims 1 to 5. That is, the idea of using location information to indicate at which position in the channel data stream the secondary information can be found can also be used with other methods of embedding a secondary information in the channel data stream of a primary data stream, for instance in the method as described in WO02/15185.
There are generally two possibilities: either the position where the polarity is controlled is varied randomly or the position where the polarity is detected is varied randomly. Only in the latter case it is necessary that the decoder knows of the locations. The locations can either be agreed beforehand and thus stored in the stored in the storage of the encoder and the decoder, or the locations are embedded in one or another way in the data stream, e.g. on the disc, or are separately transmitted to the decoder.
The invention will now be explained in more detail with reference to the drawings in which:
In order to avoid that the location at which secondary information is stored in the channel data stream and that possibly the secondary information itself is detected, a DC control adaptation unit 4 is provided according to the present invention. This unit 4 is operative for controlling the DC control unit 3 by ensuring that at a number of locations of the channel data stream non-optimal, random or arbitrary choices of the DC control are made. This makes it more difficult for a non-compliant drive to detect at which location there is an actual secondary information signal stored and at which location there is arbitrary or random information stored.
Further, a storage unit 7 is generally provided in which a location information is stored defining positions at which secondary information is embedded in the channel data stream. This location information is either predetermined and fixed and is thus used as input information for the embedding unit 2, which thus knows at which locations non-optimal, random or arbitrary choices of the DC control can be made, or is determined during encoding is thereafter stored in the storage unit 7. In the first case the decoder also knows the fixed location information in advance, while in the second case the decoder must be informed about the selected locations, for instance by transmitting this location information as part of the channel data stream or separately therefrom, in order to enable the decoder to distinguish real secondary information from random or arbitrary information.
In a first embodiment of an encoder schematically shown in
In an embodiment, primarily used in DVD and illustrated in
It is supposed that the secondary information signal bit is located in codeword N (
This means that in this option the DC control choice can be reversed for both streams for codeword M, M meaning N−1, N−2, N−3, . . . depending on the number of times step S8 is passed during processing. M can also be chosen randomly for all codewords from 0 to N−1. Further, it is also possible to randomize which codeword should reverse the CD control choice. The secondary information signal is always guaranteed by the choice of the syncs in this embodiment. The DC control algorithm deviates from its optimum choices at quasi-random locations, and as a result is more difficult to extract secondary channel locations from encoding statistics. All words N−1 till 0 can be tried, but if all options do not lead to the intended polarity, there is always the sync choice that guarantees a polarity flip
In the known systems the secondary information signal is stored at a fixed location and the DC-bit is preferably stored at locations in the modulation stream, which are well separated from polarity transitions and are not in the shortest runlengths. For example, as shown in the diagram of
To cope with this problem, in a further embodiment, which can be applied separately and independently from the above described embodiments, the secondary information signal bit location is not fixed, but specified separately for each codeword or a number of codewords. This specification is known at the encoder and at the decoder. For example, as shown in
To further complicate reverse engineering and weaken the relation between the polarity of the secondary information signal and its content a table can be used to specify the frame number (e.g. recording frame in Blu-ray Disc, sync frame in DVD, EFM frame in CD) and the codeword in that frame that contains the secondary information signal bit.
Within the codeword, the bit position can be fixed, or can be specified as described above and shown in
In an embodiment for DVD shown in
In an embodiment for Blu-ray Disc shown in
In an embodiment for CD shown in
The frame number in the tables shown in
The location information, i.e. the information in which codewords, in which data frames and/or at which positions in codewords and/or data frames is stored in the storage unit (7 in
An embodiment of a decoder according to the present invention is schematically shown as a block diagram in
In the method described in WO0215185 as well as in the method described above DC-control is locally sacrificed to set a secondary channel bit to the appropriate value. In the above method, the DC control bit in the data bit stream, which is set to a specific value to encode the secondary channel bit, will be in e.g. 50% of the cases a non-optimal choice for minimization of the Digital Sum Value in the modulation bit stream. In method described in WO0215185, location of the secondary channel bit is decoupled from the location where the polarity is controlled; for example, channel bit location N is set to a specific value to control the polarity at channel bit location N+M.
A practical implementation of method described in WO0215185 is that the polarity control is done at a fixed position related to a frame sync (recording frame in BD, sync frame in DVD, EFM-frame in CD), and the detection of the secondary channel bit is done at the same or another fixed position relative to the sync. This has two disadvantages:
A practical implementation of above described method of the invention is that a fixed DC control bit is chosen in a recording frame to encode the secondary channel. This might have the following disadvantages:
A solution to overcome most of these problems (problems a)-c)) which has been described above is to use a look-up table to store the position in a modulation code word or a frame (see
During decoding, as shown in
The value N in this side channel is read out in the same frame as where the secondary channel bit is encoded, in the previous frame, or at another location.
The secondary channel bit location as encoded in the side channel can be e.g.
The secondary channel bit can be encoded as e.g.:
a) Polarity of a specific bit position.
b) Value of a DC-control bit.
c) Value of a specific data bit position.
d) Value of a specific modulation word or data byte.
An example of the use of location information is shown in the graph of
Number | Date | Country | Kind |
---|---|---|---|
04100144.7 | Jan 2004 | EP | regional |
04105192.1 | Oct 2004 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2005/050091 | 1/7/2005 | WO | 00 | 9/9/2008 |