Code generating method and unit thereof, code detecting method and unit thereof, and watermark embedding unit and watermark detecting unit
First Claim
1. A method for generating a code to be embedded in a predetermined content, comprising the steps of:
- calculating a plurality of residues taking a plurality of integers which are relatively prime to each other, as moduli, with respect to a user identification number of a user who uses the content;
generating a plurality of component codes respectively expressing the residues obtained in the residue calculating step; and
concatenating the component codes generated in the component code generating step, thereby to generate the code to be embedded.
0 Assignments
0 Petitions
Accused Products
Abstract
Residue calculating sections respectively obtain residues which take a plurality of integers as modulus, with respect to a user ID. The plurality of integers are stored in modulus storage sections and are prime to each other. Based on these residues and parameters stored in a coding parameter storage section, component codes constructed by continuous sequences of 1 and 0 using a predetermined number of bits as a unit are respectively generated by component code generating sections. These component codes are concatenated by a concatenating section, thereby to obtain a code to be embedded, which constructs watermark information.
-
Citations
32 Claims
-
1. A method for generating a code to be embedded in a predetermined content, comprising the steps of:
-
calculating a plurality of residues taking a plurality of integers which are relatively prime to each other, as moduli, with respect to a user identification number of a user who uses the content;
generating a plurality of component codes respectively expressing the residues obtained in the residue calculating step; and
concatenating the component codes generated in the component code generating step, thereby to generate the code to be embedded.
-
-
2. A unit for generating a code to be embedded in a predetermined content, comprising:
-
residue calculating means for calculating a plurality of residues, taking a plurality of integers which are relatively prime to each other, as moduli, with respect to a user identification number of a user who uses the content;
component code generating means for generating a plurality of component codes respectively expressing the residues obtained by the residue calculating means; and
concatenating means for concatenating the component codes generated by the component code generating means, thereby to generate the code to be embedded. - View Dependent Claims (3, 20, 21, 22, 28, 32)
-
-
4. A method for detecting an embedded code which is embedded in a predetermined content and concatenates a plurality of component codes, comprising the steps of:
-
dividing the embedded code into the plurality of component codes;
decoding each of the component codes divided, thereby to obtain a plurality of residues pairs each comprising two residues, taking a plurality of integers which are predetermined and are relatively prime to each other, as moduli; and
calculating a user identification number of a colluder who made a collusion attack on the content, from the plurality of residue pairs, wherein the plurality of component codes are component codes that have a possibility to have a method of decoding at least one of the residues with respect to the user identification number of the colluder.
-
-
5. A unit for detecting an embedded code which is embedded in a predetermined content and concatenates a plurality of component codes, comprising:
-
code dividing means for dividing the embedded code into the plurality of component codes;
component code decoding means for decoding each of the component codes divided, thereby to obtain a plurality of residues pairs each comprising two residues, taking a plurality of integers which are predetermined and are relatively prime to each other, as moduli; and
colluder number calculating means for calculating a user identification number of a colluder who made a collusion attack on the content, from the plurality of residue pairs, wherein the plurality of component codes are component codes that have a possibility to have a method of decoding at least one of the residues with respect to the user identification number of the colluder. - View Dependent Claims (6, 7, 8, 23, 24, 25, 26, 27)
-
-
9. A unit for generating a code to be embedded, comprising:
-
calculating means for calculating a set of a plurality of integral elements in correspondence with an inputted user identification number;
component code generating means for generating component codes respectively in correspondence with the integral factors, such that among k′
component codes capable of expressing all sets of integral elements that are calculated by the calculating means with respect to a predetermined number of user identification numbers, k combinations of the k′
component codes can uniquely express the user identification numbers; and
concatenating means for concatenating the component codes generated by the component code generating means, thereby to generate a code to be embedded, wherein k′
is determined to be c(k+f)/q or more where is a positive integer of 3 or more, l is a positive integer, and q is a number of the integral elements which can be detected from each of the component codes when detecting the embedded code. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A unit for detecting an embedded code, comprising:
-
code extracting means for extracting an embedded code from a target in which the embedded code is embedded, the embedded code concatenating component codes respectively generated in correspondence with an inputted user identification number and also being such that among k′
component codes capable of expressing all sets of integral elements that are calculated with respect to a predetermined number of user identification numbers, k combinations of the k′
component codes can uniquely express the user identification numbers;
code dividing means for making a division into extracted component codes;
component code decoding means for decoding each of the component codes divided; and
colluder number calculating means for calculating a user identification number of a colluder from a decoding result of each of the component codes, wherein k′
is determined to be c(k+l)/q or more where c is a positive integer of 3 or more, l is a positive integer, and q is a number of the integral elements which can be detected from each of the component codes when detecting the embedded code. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A unit for detecting an embedded code, comprising:
-
code extracting means for extracting an embedded code from a target in which the embedded code is embedded, the embedded code concatenating component codes respectively generated in correspondence with an inputted user identification number and also being such that among k′
component codes capable of expressing all sets of integral elements that are calculated with respect to a predetermined number of user identification numbers, k combinations of the k′
component codes can uniquely express the user identification numbers;
code dividing means for making a division into extracted component codes;
component code decoding means for decoding each of the component codes divided; and
colluder number calculating means for calculating a user identification number of a colluder from a decoding result of each of the component codes, wherein the component code decoding means includes a block dividing section for dividing each of the component codes into blocks, a counting section for counting a number of bits of “
1”
in every one of the blocks, a first determining section for determining whether or not a count value obtained by the counting section exceeds a first threshold value, a second determining section for determining whether or not the count value is smaller than a second threshold value, a minimum position selecting section for selecting a minimum block determined as exceeding the first threshold value by the first determining section, and a maximum position selecting section for selecting a maximum block determined as being smaller than the second threshold value, thereby to output a selection results of the minimum and maximum position selecting sections, as a decoding result.
-
-
29. A watermark embedding unit for embedding watermark information containing information of a user identification number into a predetermined content, comprising:
-
means for outputting one codeword selected from a plurality of codewords constructing a simplex code, in correspondence with an inputted user identification number; and
means for embedding the outputted codeword as the watermark information into the content as an embedding target.
-
-
30. A watermark detecting unit for detecting watermark information containing information of a user identification number from a predetermined content, comprising:
-
means for outputting one codeword selected from a plurality of codewords constructing a simplex code, in correspondence with an inputted user identification number;
means for obtaining a correlation value between the outputted codeword and the content; and
means for determining presence or absence of a codeword corresponding to the inputted user identification number in the content, based on the correlation value.
-
-
31. A watermark detecting unit for detecting watermark information containing information of a user identification number from a predetermined content, comprising:
-
means for outputting a plurality of codewords which respectively correspond to a plurality of previously registered user identification numbers and which construct a simplex code;
means for obtaining a correlation value between each of the outputted codewords and the content; and
means for determining presence or absence of watermark information, based on norm calculated, regarding each obtained correlation value as a vector, and for specifying a colluder based on the correlation value if presence of watermark information is determined.
-
Specification