1. Field of the Invention
The invention described herein is directed to detecting the unauthorized copying of multimedia content by recognition of a previously embedded fingerprint extracted from the digital data comprising the content. More specifically, the invention is directed to exploiting the interaction between the structure of a fingerprint code and the embedding of such code into multimedia content so that the embedded code can be used to identify one of a plurality of colluders of attempting to degrade the code's usability.
2. Brief Description of the Prior Art
Advancements in technology have made multimedia content easy to distribute for presentation. However, the ease with which multimedia content is distributed brings with it access by unauthorized users desiring to duplicate and redistribute it. In that protection of the content owner's property rights is essential to the content owner's financial bottom line, digital fingerprinting technology is being applied protect multimedia content from unauthorized dissemination. Fingerprinting digitally embeds a unique ID assigned to an authorized user into her copy of the content. The ID can be extracted from the content to help identify the originally assigned user of a suspicious copy when one is found or to prevent the presentation of the content if a fingerprint cannot be authenticated. In order to frustrate the detection of the embedded ID, however, groups of users collude to combine their respective copies of the content so as to generate an adulterated version having an altered fingerprint (referred to herein as a “colluded” copy). In this way, the colluding attackers protect their identities to avoid prosecution of infringement and other crimes. A fingerprinting system is considered collusion resistant when there is a high probability that one or more of the colluders can be positively identified from a suspicious copy of the fingerprinted multimedia content.
A growing number of collusion-resistant fingerprinting techniques have been recently implemented on multimedia. The most used methods fall mainly into one of two categories according to whether explicit discrete coding is involved. A typical example of non-coded fingerprinting is orthogonal fingerprinting, which assigns each user a spread spectrum sequence as a fingerprint. Each fingerprint sequence is typically orthogonal to the fingerprints of other users. The resistance to collusion by orthogonal fingerprinting is often improved by grouping together fingerprint sequences according to characteristics of users who are likely to collude together. However, while non-coded fingerprinting is easy to implement, the number of basis sequences required for its implementation and the computational complexity of detection increase linearly with the number of users assigned fingerprints.
Coded fingerprints take advantage of code modulation spread spectrum techniques and have been applied in the past to generic data, such as executable software programs and bitstreams. Prior art coding applications operated under a “marking assumption”, which was introduced by Boneh and Shaw in “Collusion-secure Fingerprinting for Digital Data”, IEEE Trans. on Information Theory, 44(5) pp. 1897-1905, 1998. The marking assumption assumes that colluders change only those fingerprint symbols in the colluders' corresponding codes that have different values. It is further assumed that the colluders assemble pieces of their codes that are different from the codes of other colluders in order to generate a new untraceable version. Numerous fingerprinting schemes have been developed base on the marking assumption to expand upon Boneh and Shaw's framework. For example, the “traceability (TA) code” may be constructed from structures resembling error correcting codes (ECC) and have been widely studied. Efficient decoding exists for some ECC, which makes such codes attractive for coded fingerprinting applications. As used herein, the coded fingerprinting scheme constructed under ECC principles will be referred to as “ECC based fingerprinting”.
Referring to
In the system of
The fingerprinted multimedia content 135 is presented to the distribution channel 145 where it may be subject to an attack by one or more attackers 140. Suspicious multimedia content 150 is the presented to an extractor 160 which retrieves the spread spectrum sequence from the content. The sequence is demodulated by demodulator 170 to retrieve the code and decoder 180 returns the user ID corresponding to the assigned fingerprint code.
Most prior art systems have only considered the coding layer and justify minimizing the impact of embedding by reliance on marking assumptions. However, the distortions and attacks mounted by adversaries on fingerprinted multimedia can lead to errors in detecting fingerprint code symbols which are not accounted for by marking assumptions.
Previous research has given preference to ECC based fingerprinting over the orthogonal non-coded approach because some classes of ECC have more efficient decoding algorithms than the maximum likelihood decoding that is commonly used for orthogonal fingerprinting. However, while efficient decoding does improve the detecting efficiency, it only provides a relatively small improvement in computational complexity. The major improvement on the detecting efficiency actually comes from the demodulation process.
One way in which an attack is carried out is by “interleaving collusion”, which is illustrated in
In another well-known type of collusion of collusion attack, the participants linearly combine their copies of the multimedia content to produce a colluded version. This generally reduces the energy in each contributed fingerprint until it is no longer discernible. Such collusion attacks are referred to herein as “averaging collusion” attacks.
An analytical approximation of the probability of detecting a single colluder, Pd, for the ECC based fingerprinting under interleaving and averaging collusion is graphically illustrated in
Careful examination of the two types of collusion shows that the difference in the resistance against them is derived from the role given to the embedding layer. The segment-wise interleaving collusion is equivalent to the symbol-wise interleaving collusion on the code level since each colluded segment comes from just one user. The collusion resilience primarily relies on what is provided by the code layer and bypasses the embedding layer. Because of the limited alphabet size, the chance of the colluders to interleave their symbols and create a colluded fingerprint close to the fingerprint of an innocent user is so high that if to handle this on the code level alone, it would require a large minimum distance in the code design. This means that either a code representing some given number of users can resist only a small number of colluders, or a code can represent only a small total number of users. On the other hand, for averaging collusion, every colluder contributes his/her share in every segment. Through a correlation detector, the collection of such contribution over the entire test signal leads to high expected correlation values when correlating with the fingerprints from the true colluders, and to low expected correlation when the fingerprints from innocent users. In other words, the embedding layer contributes to defending the collusion. This suggests that more closely considering the relation between fingerprint encoding, embedding, and detection is helpful to improve the collusion resistance against interleaving collusion.
When designing a fingerprinting system, a better trade-off between the collusion resistance and other performance measures such as detection computational complexity is desired. Although the orthogonal fingerprinting performs well in collusion resistance, its detection computational complexity and distribution cost are inhibiting. However, the significant computational advantages of ECC based fingerprinting provide motivation to find avenues to improve the collusion resistance of ECC based fingerprinting so as to reduce the performance gap between the ECC based and orthogonal fingerprinting while preserving its efficient detection and distribution.
According to one aspect of the invention, a method is provided for identifying a participant in production of an unauthorized version of multimedia content through a digital fingerprint embedded in digital data thereof. A codeword is assigned to each of a plurality of authorized users of the digital data. The codeword includes a plurality of symbols selected from a predetermined alphabet of symbols. The digital data is divided into a plurality of host data segments equal in number to the plurality of symbols forming the codeword. A fingerprint signal is encoded as a concatenation of digital code sequences corresponding to each symbol of the codeword. The fingerprint signal includes a plurality of fingerprint segments equal in number to the plurality of host data segments, whereby each of the fingerprint segments contains a corresponding one of the code sequences. The fingerprint segments are each segmented into a plurality of subsegments, which are then permuted and embedded into the digital data. A test fingerprint signal is subsequently extracted from a copy of the digital data and is segmented into the plurality of subsegments. The subsegments of the test fingerprint signal are inversely permuted with respect to the permutation of the subsegments of the fingerprint signal and the participant is identified as one of the authorized users assigned a codeword determined from the inversely permuted test fingerprint signal.
In another aspect of the invention, a participant in production of an unauthorized version of multimedia content is identified by a method that first forms a plurality of user codewords each corresponding to a concatenation of coding sequences. The user codewords are grouped into a plurality of groups such that the concatenation of coding sequences corresponding to each of the user codewords in a corresponding one of the groups is orthogonal to remaining ones of such concatenated coding sequences in the group. The user codewords are assigned to a corresponding one of a plurality of authorized users such that at least one characteristic of the user is common to other users assigned a user codeword from that group. The digital data is divided into a plurality of host data segments equal in number to the plurality of coding sequences. A fingerprint signal is encoded as the concatenation of code sequences corresponding to each of the user codewords. The fingerprint signal includes a plurality of fingerprint segments equal in number to the plurality of host data segments and each of the fingerprint segments contains a corresponding one of the code sequences. Each of the fingerprint segments are segmented into a plurality of subsegments and are permuted. The permuted fingerprint signal is embedded into the digital data. Subsequently, a test fingerprint signal is extracted from a copy of the digital data and is segmented into the plurality of subsegments. The test fingerprint signal is inversely permuted with respect to the permutation of the subsegments of the fingerprint signal and the participant is identified as one of the authorized users assigned a codeword determined from the inversely permuted test fingerprint signal.
In yet another aspect of the invention, each of a plurality of authorized users of the digital data is assigned a corresponding codeword including a plurality of symbols selected from a predetermined alphabet of symbols. Each symbol of the alphabet is encoded as a corresponding digital code sequence. The digital code sequences are segmented into a plurality of subsequences and the digital data of the multimedia content is segmented into a plurality of host data segments equal in number to the plurality of symbols forming said codeword, where each of the host data segments designated with a corresponding symbol of the codeword. Each of the host data segments is then segmented into a plurality of subsegments and each of the subsegments is designated with a portion of the symbol designated to the corresponding host data segment from which it was divided. A sub-segmented codeword is formed from the symbols designated to each of the subsegments, where the sub-segmented codeword is ordered identically to the order of the symbol portions of the designated subsegments. The sub-segmented codeword is then permuted. Each of the subsequences is embedded into a corresponding copy of each of the plurality of subsegments to produce a plurality of embedded subsegments equal in number to the number of symbols in the alphabet multiplied by the number of embedded subsegments. The embedded subsegments are concatenated in accordance with the permuted sub-segmented codeword to form a data signal and a test fingerprint signal is extracted therefrom such that the test fingerprint signal includes a plurality of subsegments equal in number to the number of subsegments in the sub-segmented codeword. The subsegments of the test fingerprint signal are inversely permuted with respect to the permutation of the subsegments of the sub-segmented codeword and the participant is identified as one of the authorized users assigned a codeword determined from the inversely permuted test fingerprint signal.
It is an object of the present invention to prevent colluders from exploiting the code-level limitations of ECC based fingerprinting by way of interleaving collusion. The present invention takes advantage of existing code construction techniques and adds additional measures that will be referred to herein as “permuted subsegment embedding” or PSE. In that certain embodiments of the invention are implemented over ECC based fingerprinting, it is believed beneficial to first describe certain features and shortcomings of ECC based fingerprinting.
In the system of
yjk=usym(j,k)+xk (1)
where xk is kth segment of host signal, and yjk is the kth fingerprinted segment for the jth user. The function sym(j,k) is used to retrieve the symbol from the kth segment of the jth user's codeword, and usym(j,k) is the spread spectrum sequence corresponding to the symbol value. The symbols are taken from a set of q mutually orthogonal spread spectrum sequences {ui:i=1, . . . , q} with identical energy ∥u∥2. The concatenation of all fingerprinted segments ultimately forms the fingerprinted signal, whereas the concatenation of the spread spectrum sequences uk, k=1, . . . , L, where L is the length of the codeword, is referred to as the fingerprint signal.
In prior art multimedia fingerprinting systems, it is assumed that the colluders can only change the fingerprint code symbols where they see different fingerprint values in respective copies of the fingerprinted content. A colluded version of the code is constructed by assembling selected pieces of each colluder's codes. As previously stated, this technique is referred to as interleaving collusion and it is said the interleaving collusion occurs on the code level since the manipulation is on the code itself. Since few colluders are willing to take higher risk than any of the others, each participant in the collusion makes approximately equal contributions to the altered code.
In addition to interleaving collusion, colluders may manipulate fingerprinted multimedia in the signal domain, incurring a variety of code-domain changes that are inconsistent with the marking assumption. These signal domain attacks are said to occur on the embedding layer, since they manipulate the features of the signal without directly accessing the fingerprint code. A simple yet effective way alter the underlying fingerprint code is to average the corresponding signal components or features from multiple copies. This “averaging collusion” can be modeled as:
where sj represents the fingerprint sequence for user j, Sc the colluder set, c the total number of colluders, x the host signal, and d the additive noise term. Studies have shown that a number of nonlinear collusion processes can be approximated by an averaging process with the addition of a noise term. For simplicity, the assumption is generally made that the additional noise in both interleaving and averaging collusion follows i.i.d. Gaussian distribution. The effects of other distortions have been studied in watermarking applications, such as quantization/compression and geometric distortions. When the original host signal is available, the effects of many distortions attempting to dilute the fingerprint can be approximated quite well by additive noise.
In the detection stage, it is desired to identify one of the colluders with high probability, i.e., a high Pd, the probability of identifying one colluder participating in the attack. To identify colluders who have contributed to produce the suspicious copy of the multimedia content, certain applications of ECC based fingerprinting first determine which symbol is present in each segment by using a correlation detector commonly used in spread spectrum applications. For example, if the original multimedia signal, or host signal, is available to the detection stage, the suspicious copy may be registered with the host signal and the host data subsequently subtracted from that of the suspicious copy to obtain a test signal. Then, for each segment of the test signal, a maximum correlation detector is used to identify the symbol. This can be done by correlating each of the q spreading sequences with the test signal and the sequence resulting in the highest correlation statistic indicates the corresponding symbol. The detection statistic for the kth segment may be,
where zk and xk represent the kth segment of the colluded signal and that of the original signal, respectively. The extracted symbol from the kth segment is
With the sequence of signals extracted from all segments using this maximum detector, a decoding procedure is applied to identify the colluder whose codeword has the most matched symbols with the extracted symbol sequence.
Alternatively, a soft-decision strategy may be employed to provide the correlation results of Equation (3) without having to determine each symbol value at every segment. The correlation is performed on all segments together to arrive at
where L is the code length and Nu is the total number of users. The function sym(j, k) is used to retrieve the symbol from the kth segment of the jth user's codeword. This approach corresponds to a matched filter detector that correlates the entire test signal with each user's fingerprint sequence sj by
Here, ∥s∥=∥sj∥ for all j based upon the equal energy constraint applied during fingerprinting. The user who is assigned the fingerprint code having the highest correlation value TN(j), i.e. ĵ=arg maxj=1, 2, . . . , N
It is to be noted that, under the above-framework, the non-coded orthogonal fingerprinting can be viewed as a special case of the alphabet size q equal to the total number of users Nu and a codeword length of unity. The detection for orthogonal fingerprinting is done by first correlating the test signal with each user's sequence and then identifying the user with the highest correlation statistic as the colluder.
In certain embodiments of the invention, the fingerprint code design establishes a minimum distance between codewords to be large enough so as to determine the code regardless of collusion attack technique. The minimum distance requirement ensures that the best match with a colluded codeword, often referred in the art as the “descendant”, comes from one of the true colluders.
Let Γ⊂QL be a code over an alphabet Q with length L and total number of codeword Nu. Without loss of generality, the first c users will be established as the set of c colluders, denoted as C={v1, . . . , vc}⊂Γ, where a codeword viεΓ is assigned to the ith colluder and consists of a concatenated sequence of L symbols vi=[w1(i)w2(i) . . . wL(i)]. A codeword set that descends from this colluder set is denoted as
desc(C)={[x1 . . . xL]:xjε{wj(i):1≦i≦c}, 1≦j≦L} (7)
If for any descendant [x1 . . . xL]εdesc(C), there is a viεC such that
|{j:xj=wj(i)}|>|{j:xj=Sj}|, (8)
for any innocent user's codeword [s1 . . . sL]εΓ/C where the notation |•| is the cardinality operator, then Γ is called a c-traceability (c-TA) code and denoted as c-TAq(L,Nu) with q=|Q|.
Under the conventional marking assumption, a c-TA code can be constructed using an ECC if its minimum distance D satisfies
where c is the colluder number and L is the code length. It is then said that Γ is a c-TAq(L, Nu) code.
Most prior art systems have considered only the coding layer in designing collusion attack resistance and justify minimizing the impact of the embedding layer by reliance on marking assumptions. However, the distortions and attacks mounted by adversaries on fingerprinted multimedia can lead to errors in detecting fingerprint code symbols which are not accounted for by marking assumptions. Because of this, some of the existing work on c-TA code has been extended to tolerate erasures, i.e., data which is degraded to the point of being indistinguishable. The minimum distance to tolerate such erasures satisfies
where Le is the number of erasures.
There is a nontrivial probability for false alarms in symbol detection when non-erased erroneous symbols are introduced, where the introduction of such symbols occurs not through contribution by an attacker. The design of a resilient fingerprint code should account for such errors to minimize the false positives. To that end, the definition of c-TA code may be extended to account for both types of errors, i.e., tolerating Le erasures and LFA total errors and defining such c-TA code as c-TAq(L, Nu,LeLFA). The minimum distance required then becomes
As is readily apparent from the previous discussion, ECC based fingerprint code prefers an ECC coding structure having larger minimum distance to identify a colluder from a larger set of participant colluders. The well-known Reed-Solomon code has the minimum distance that achieves the well-known Singleton bound and is used in existing coded fingerprinting works. Reed-Solomon codes may implement c-TA codes that satisfy the above conditions. In certain embodiments of the invention, a q-ary Reed-Solomon code of length L is used to construct a c-TA code with parameters satisfying
Previous research has given preference to ECC based fingerprinting over the orthogonal non-coded approach because some classes of ECC have more efficient decoding algorithms than the maximum likelihood decoding commonly used in orthogonal fingerprinting applications. However, while selective decoding may improve the detecting efficiency, it only provides a relatively small improvement in the overall computational complexity. Aspects of the present invention are derived from the observation that the major improvement in detecting efficiency actually comes from the demodulation process.
For a fingerprinting system with a total of Nu users and a host signal with length N, the detection of the orthogonal fingerprinting may be achieved by correlating the test signal with each user's fingerprint sequence. This takes NuN multiplications plus Nu(N−1) summations, or a total of O(NuN) operations. Then, Nu−1 comparisons must be made to find the codeword corresponding to the highest correlation to identify at least one of the colluders. Thus the computational complexity of the whole detection process is O(NuN)+O(Nu)=O(NuN). For ECC based fingerprinting, since the fingerprint sequences for each segment only have q different versions (corresponding to q symbols), only qL(N/L) multiplications, qL(N/L−1) summations and L(q−1) comparisons must be performed resulting in a total computational complexity of O(qN). In the decoding stage, a determination of the identity of the colluder may be achieved through Nu−1 comparisons by brute force searching, which provides an upper bound on the decoding complexity. Putting the demodulation and decoding steps together, the computational complexity for ECC based fingerprinting is O(qN)+O(Nu). Generally, Nu<<N, the demodulation part dominates the overall complexity, regardless of the use of efficient decoding algorithm. Therefore, the computational complexity becomes O(qN). When Reed-Solomon codes are implemented, Nu=qt, where t is the dimension of the code. The computational complexity of ECC based fingerprinting for detection becomes O(t√{square root over (Nu)}N). The significant improvement in the demodulation process is a big advantage of ECC based fingerprinting over the orthogonal fingerprinting. Furthermore, q orthogonal sequences of length NIL are used in ECC based system, while the orthogonal system requires Nu mutually orthogonal sequences of length N. This suggests that the ECC based system provides advantageous compactness in representing users and consumes fewer resources in terms of the orthogonal sequences. This implies a much more efficient generation of fingerprint sequences in the embedding and detecting stages.
In some applications, such as video streaming where a huge amount of data has to be transmitted to a large number of users in real time, the efficient generation and distribution of fingerprinted copies is a critical design objective. The ECC based fingerprinting provides a potential support to efficient distribution of the fingerprinted signal. In ECC based fingerprinting system, for a total of Nu users, each segment is marked by one of only q possible symbols. To achieve fast generation of fingerprinted signal, q versions of each segment, each corresponding to a segment marked by each of the q symbols, is constructed in advance. The fingerprinted copy for each user is formed by concatenating the corresponding segments according to his/her codeword. For each segment, the content owner or trusted distributor multicasts q versions encrypted with q different message keys to all the subscribers. After verification, the distributor delivers the message keys to corresponding users who can then decrypt their fingerprinted signal. If B denotes the bandwidth requirement of sending only one copy, q copies would require bandwidth of qB and a bandwidth of t√{square root over (Nu)}B if a Reed-Solomon code is employed.
By contrast, there is no similar structural advantage in orthogonal fingerprinting systems that allow such bandwidth reduction. The content owner or trusted distributor must generate the entire fingerprinted signal and unicast one of the Nu different versions to each user, requiring thereby a bandwidth of NuB.
As described above, for each user, a correlation-based statistic TN may be defined as
which follows multivariate Gaussian distribution of Nu dimensions. Here, sj is the fingerprint sequence for userj, z is a colluded copy of the fingerprinted signal and x is the original signal. The statistics for collusion participants, T1 and innocent users, T2, may be defined as,
where Sc is the colluder set. For simplicity, T1 and T2 are approximated to be independent Gaussian distributed. Examination of the distribution of the correlations between each fingerprint sequence and the test sequence under interleaving collusion shows that the mean and variance of T1 and T2 may be expressed as:
where ∥u∥ is the strength of the spread spectrum sequence corresponding to each symbol in the alphabet of fingerprint codes, L is the length of the fingerprint code, D is the minimum distance between symbols in the alphabet, c is the number of colluders and σd2 is the variance of the additive noise. Then,
Pd=Pr(T1>T2)=∫28−∞P(T1>t)ƒT
where ƒT
In certain embodiments of the invention, system performance is determined by a pairwise correlation denoted as ρ. Without loss of generality, the first c users are assumed to perform the averaging collusion. The vector of detection statistics TN's follows a Nu-dimensional Gaussian distribution:
where 1k is an all-1 vector with dimension k-by-1, and Σ is an n-by-n matrix whose diagonal elements are 1's and off-diagonal elements are ρ's, σd2 is the variance of the noise, m1 is the mean vector for colluders and m2 is the mean vector for innocent users. Given the same colluder number c and fingerprint strength ∥s∥, the mean correlation values for colluders and for innocents are separated more widely for a smaller ρ. Thus, absent any prior knowledge of the collusion pattern, a smaller ρ leads to a larger colluder detection probability Pd. Therefore, fingerprint sequences with a small pairwise correlation ρ are preferred in designing a fingerprinting system.
The pairwise correlation of ECC based fingerprinting can be determined by examining the code construction. Codes with a larger minimum distance have a smaller upper bound on the correlation and thus are more preferable. Under the code construction with small minimum distance, the largest pairwise correlation between the fingerprinting sequences ρo, which corresponds to the codewords with minimum distance, will be close to 0. The equal pairwise correlation model described above can be used with ρ=ρo to approximate the ECC based fingerprinting under averaging collusion.
For an L-tuple q-ary Reed-Solomon code of dimension t, the total number of codewords is Nu=qt and the minimum distance D=L−t+1. Taking si and sj to represent the fingerprint sequences for user i and user j, respectively, and wik as the orthogonal sequence representing the symbol in user i's codeword at position k with ∥wik∥=∥w∥, the normalized correlation between si and sj is
The choice of t and L ensures that ρo is close to 0. By doing so, the ECC based fingerprinting and the orthogonal fingerprinting should have comparable resistance against averaging collusion.
Having now described exemplary ECC based fingerprint, which may serve as a basis for the present invention, exemplary embodiments of PSE will now be described. Referring to
The detection statistic TN for the PSE system under interleaving collusion is modeled as an Nu-dimensional Gaussian distribution:
where Σ is as described above for averaging collusion with ρ=(L−D)/L. The variable β then serves as a parameter that controls the similarity of the PSE detection results to those of the averaging collusion detection. As will be shown, larger β provides a finer granularity in subsegment division and permutation.
With subsegment partitioning and permutation, each colluded segment after interleaving collusion most likely contains subsegments from multiple users, which may be observed by correlation-based detectors (including both hard and soft detection at the symbol level). This is similar result to that brought about by averaging collusion. Since averaging collusion is far less effective from the colluder's point of view, the permuted subsegment embedding can greatly improve the collusion resistance of ECC based fingerprinting under interleaving collusion. Even if the colluders know the actual size of a segment or a subsegment, the permutation being unknown to them prevents them from creating a colluded signal with the equivalent effect of symbol interleaving in the code domain.
The parameter β controls the “approximation” level of the effect of interleaving collusion to that of averaging collusion. Larger β provides a finer granularity in permutation. Thus, each segment may contain subsegments from more colluders, leading to higher similarity to averaging collusion detection and better collusion resistance.
Referring to
The detection in the exemplary PSE fingerprinting includes three steps: inverse permutation, demodulation by correlation and decoding to a certain colluder. The computational complexity of the inverse permutation is O(βL) and, as previously discussed, the demodulation and decoding steps require at most O(qN)+O(Nu) computations. In total, PSE fingerprinting requires O(βL)+O(qN)+O(Nu). The largest possible value of βL is N, and usually Nu<<N. Thus, the demodulation step still dominates the overall complexity. Therefore, the overall computational complexity remains at O(qN).
It is to be noted that there are only q different versions for each subsegment in the PSE fingerprinting process of the present invention. The multicast distribution of fingerprinted signal previously described for ECC based fingerprinting remains applicable except that the unit multicast to the different users is a subsegment rather than a segment. The bandwidth consumption remains unchanged.
The efficient distribution may, in certain embodiments of the invention be achieved by dividing each sequence corresponding to every symbol in the alphabet into the same number β of subsequences. Each of the subsequences may be stored or transmitted to another location where fingerprinted versions of the multimedia content may be assembled. In any case, the subsequences are embedded into copies of each of the subsegments of the host signal to produce q different versions of the subsegment. Thus, the embedded subsegments are preformed to minimize impact on bandwidth, as previously discussed. In certain embodiments of the invention, the subsegments as embedded with the subsequences may be assembled in accordance with a permuted codeword, which may be inversely permuted at various points along the distribution channel when it is suspected that one or more embedded subsegments have fallen prey to attackers. When inversely permuted, the fingerprint signal may be processed as described above to reveal the identity of the attacker.
Among the beneficial features of the permuted subsegment embedding of the present invention is the significant improvement in collusion resistance over ECC based fingerprinting with only a marginal increase in computation cost. Additionally, the PSE fingerprinting may take advantage of the efficient distribution by pre-forming the subsegments. Moreover, adjustments to user capacity can be made by modifying the dimension of the base ECC, e.g. the t of Reed-Solomon code.
It is known in the fingerprinting field that an unscrupulous user is not equally likely to collude with just any other user. It is more likely that users having similar characteristics, say, that live in the same geographic area or have similar social or cultural backgrounds, are more likely to cooperate in a collusion attack than with other users. Thus, users may be assembled into groups according to some prior knowledge and additional information may be added to each user's copy to facilitate detection. From
As is known in the art, fingerprint codewords may be placed into groups in accordance with common characteristics of authorized users based on the prior knowledge or assumptions on expected collusion patterns. Symbols representing the group information are added to the fingerprint, where the added information will be referred to herein as a “group sub-codeword”. In embodiments which include grouping, the codeword that is assigned to each user will be referred to as a “user sub-codeword”.
Referring to
An exemplary process for grouping codewords orthogonally is illustrated in
In certain embodiments of the invention, the group sub-codewords themselves are designed to be orthogonal to one another. In one simple embodiment, the group sub-codeword is a single symbol and g symbols would represent g groups. For each group, the symbol representing the group is repeated L times to form a group codeword, thereby ensuring that the symbol representing the group sub-codeword is embedded into each segment of the host signal.
In the GRACE fingerprinting scheme of the present invention, both the group sub-codeword and user sub-codeword are embedded into the host signal by mapping them to spreading sequences and then combining them with the host signal. In the signal domain, the group information in accordance with embodiments of GRACE is orthogonal to and overlaps the spreading sequence conveying the user sub-codeword. More specifically, the sequences {uj, j=1 . . . q} are used to represent q symbol values in the alphabet of user sub-codewords, where uj's are orthogonal to each other and have identical energy ∥u∥2. The g sequences {ai,i=1 . . . g} representing g groups are orthogonal to each other and to {uj} and have the same energy as uj's i.e. ∥a∥2=∥u∥2. The fingerprint signal representing symbol in the jth segment of user k who belongs to group i is constructed as
sijk=√{square root over (1−ρ)}usym(j,k)+√{square root over (ρ)}ai, (18)
where function sym(kj) is used to retrieve the kth symbol in jth segment, ρ is used to adjust the relative energy between the group sub-codeword and user sub-codeword. This fingerprint signal is added to the jth segment of the host signal. A higher ρ provides a more accurate detection of group information, but reduces the accuracy of user sub-codeword detection, which may lead to low accuracy of colluder detection, and vice versa. Since L segments are available to collect the energy for group detection and since collusion usually happens among a small number of groups, small ρ may be chosen to guarantee the user codeword detection with an acceptable group detection accuracy.
In certain embodiments of the invention, the GRACE fingerprinting scheme embeds the spreading sequence of the group sub-codeword over that of the user sub-codeword so that the group information is spread throughout the signal. Such process is illustrated in
In other embodiments of the invention, the group information is embedded by appending the spreading sequence of group sub-codeword to that of user sub-codeword, as shown in
It should be noted that for the appending embedding strategy, all the users inside one group have the same group codeword with length Lg, i.e. they have Lg segments in common. While for users coming from different groups, their matches are at most L-D, which is usually much smaller than Lg. When several users come together compare their copies of the fingerprints, they may be able to determine to which groups they belong by examining the number of matched segments. Once the colluders have identified the group codeword positions, one colluder may contribute his/her codeword only to group sub-codeword positions and another colluder from a different group only contribute to user sub-codeword positions. Under this “group-framing” attack, after the detector detects the group information, it will be limited in the group that only one colluder comes from. Since this colluder didn't contribute a user sub-codeword, he is less likely to be declared as the colluder. Hence the probability of catching an innocent user will be very high.
For GRACE, each group has different group sub-codeword from the others, and within one group users have different user sub-codeword. As a result, the fingerprint sequence for each user is different from any other user. In other words, colluders cannot figure out the grouping information through comparing their copies. And no matter which segment the colluder contributes, he/she always contributes both the group information and user information. Such a group-framing attack is unlikely to succeed under the present invention. Combined with the collusion resistance results previously described, the joint coding and embedding of GRACE provides a more secure and effective way to incorporate the group information.
To implement a detection stage for GRACE, certain embodiments of the invention implement a two-level detection scheme. First, a correlation detector is used to examine the group information in the colluded signal to identify the groups to which the colluders belong. The identified guilty groups are used to narrow down the set of fingerprints on which ECC decoding need be applied. More specifically, group information is extracted from the test signal y using a non-blind correlation detector, the detection statistic with respect to group i is
where bi is the concatenation of the sequences representing group i's information from each segment. For example, when a single repeated symbol ai is embedded as the group sub-codeword, in each segment of group i, bi=[ai . . . ai]. The kth group is considered guilty for the test signal if TG(k)>h, where h is a predetermined threshold.
To narrow down the colluders inside the guilty groups, the user sub-codeword is extracted from each segment of the test signal z through, for example, the maximum correlation detector previously described, with each of the q spreading sequences uj. An ECC based decoder may then be used to decode the codeword and the codebook is examined to find the codeword within the guilty groups closest to the extracted codeword. The detector declares the user corresponding to this codeword as the colluder. Alternatively, the soft detection technique, which correlates the test signal with each user's fingerprint sequence, may be employed to identify the sequence with the highest correlation statistic.
For purposes of comparison, interleaving collusion and averaging collusion were applied to three exemplary systems—ECC based fingerprinting, GRACE fingerprinting and the Group based ECC fingerprinting with appending embedding. The probability of successfully detecting one colluder, Pd, was sought at WNR=0 dB in the following three scenarios: collusion within a small number of groups, colluders randomly distributed across all groups, and colluders come from distinct groups.
In the case of collusion within a small number of groups, the chosen grouping correctly reflects the collusion pattern of the colluder's distribution so that all the colluders come from a small number of groups. In the simulation, all colluders are from two out of 32 groups, and are randomly distributed between these two groups. The results of Pd under interleaving collusion and averaging collusion are shown in
In the case where the colluders are randomly distributed across all groups, the grouping does not capture the collusion pattern. The results under interleaving and averaging collusions are shown in
In the case where the colluders come from distinct groups, the grouping knowledge is extremely inaccurate, all the colluders come from distinct groups (i.e. the number of groups equals the number of colluders c). The results under interleaving and averaging collusions are shown in
The above results can be explained as follows. When collusion occurs in a smaller number of groups, the group information is well preserved so that the group detection for both GRACE and the appending embedding strategy is of high accuracy. Inside the small number of groups, where the user codewords can be well distinguished due to higher minimum distance, the colluder detection is better than that of non-group case. When colluders come from multiple groups or even distinct groups and apply interleaving collusion, for GRACE fingerprinting, the energy of group codeword is reduced after collusion, but preserved. So the detection is improved, though it is not as good as the first case. For appending embedding strategy, when the number of groups gets larger, especially larger than Lg under interleaving attack, the detector may lose the information of some guilty groups, which results in no performance improvement over ECC based fingerprinting. Under averaging collusion, both group-based schemes have the same group information from the colluders, so their performances are similar. Due to the participation of multiple groups, the energy of the group information is reduced and extracted with low accuracy; leading to diminishing performance gain over ECC based fingerprinting.
The comparison between the GRACE fingerprinting and the appending embedding strategy demonstrates the significant performance improvement obtained by the joint consideration of coding and embedding. Apart from the collusion resistance gain, security advantages are imparted by the present invention. Overall, PSE with grouping brings a consistent improvement over the existing ECC based fingerprinting under various scenarios.
An exemplary combined PSE-GRACE system is illustrated in
As shown in
The performance of the combined PSE-GRACE fingerprinting system is compared according to the same criteria used in the comparisons made with regard to
Compared with the ECC based fingerprinting, the extra computation of the GRACE Fingerprinting detection comes from the detection of guilty groups which requires O(gN) computations, where g is the total number of groups. From previous discussions, it can be readily observed that the overall computational complexity for GRACE is O(qN)+O(gN). Since g is the group number and is usually much smaller than the total number of users, the computational complexity of GRACE remains on the same order as the standard ECC based system.
It is worth mentioning that since, in most cases, the colluder detection is applied within a small amount of groups, the suspicious user set will be much smaller than that in non-grouped ECC based fingerprinting. This provides faster detection process during the colluder detection stage, resulting in a faster detection than the above analysis.
The idea of GRACE fingerprinting is to use the group information to narrow the suspicious colluders down to a smaller group. Within each group the minimum distance between the users' codewords are larger than that of the whole user set so that the users' codewords are more separated and easier to detect. Following this idea, we can extend our GRACE fingerprinting to general multi-level GRACE to capture a more complicated collusion pattern.
In certain embodiments of the invention, the codebook is partitioned or built with minimum distance D0 into groups. Inside each group, the minimum distance D1 is larger than D0. This partition is repeated for each group until the minimum distance equals the code length L or the structure of the group can capture the collusion pattern. When combining the group information with the user information, the same strategy is used in a tree-based scheme to assign at each level an orthogonal sequence and embed them by proper scaling. On the detector side, the group information at each level is used one by one to narrow down the suspicious colluders to a smaller group. Then the colluder can be detected inside the extracted group as before.
The descriptions above are intended to illustrate possible implementations of the present invention and are not restrictive. Many variations, modifications and alternatives will be apparent to the skilled artisan upon review of this disclosure. For example, components equivalent to those shown and described may be substituted therefor, elements and methods individually described by be combined and elements described and shown as discrete may be distributed across many components. The scope of the invention should therefore be determined not with reference to the descriptions above, but with reference to the appended claims, along with their full range of equivalents.
This Application is based on a Provisional Patent Application, Ser. No. 60/642,286, filed on 7 Jan. 2005.
Number | Name | Date | Kind |
---|---|---|---|
6076165 | Maenza | Jun 2000 | A |
6104826 | Nakagawa et al. | Aug 2000 | A |
6246349 | Malik et al. | Jun 2001 | B1 |
6691229 | Nelson | Feb 2004 | B1 |
6754364 | Yacobi | Jun 2004 | B1 |
7036024 | Watson | Apr 2006 | B2 |
7068823 | Malik et al. | Jun 2006 | B2 |
7177442 | Yacobi | Feb 2007 | B2 |
20040010692 | Watson | Jan 2004 | A1 |
20070180537 | He et al. | Aug 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20070180537 A1 | Aug 2007 | US |
Number | Date | Country | |
---|---|---|---|
60642286 | Jan 2005 | US |