Method and device for incorporating additional information into main information through electronic watermaking technique
First Claim
1. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
- selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units;
selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information;
generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and
replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said step of generating includes a step of determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition.
1 Assignment
0 Petitions
Accused Products
Abstract
Two data units are selected from main information, such as MIDI data, into which additional information is to be incorporated, to calculate a difference between respective values of the two data units. A particular data segment to be incorporated into one of the MIDI data units is selected from a group of data of additional information. The size of the data segment to be incorporated into one of the data units may be either one bit or two or more bits. Substitute data to replace the content of one MIDI data unit is generated on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment, and the content of the data unit corresponding to a predetermined one of the two MIDI data units is replaced by the generated substitute data. Thus, through such an electronic watermarking technique, any desired additional information can be incorporated into the MIDI data without changing the MIDI data format. In another implementation, data of encoding information, representative of an encoding procedure, are incorporated dispersedly into particular data units belonging to a predetermined first data group of the main information, and data belonging to a predetermined second data group of the main information are encoded by the encoding procedure represented by the encoding information.
69 Citations
33 Claims
-
1. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said step of generating includes a step of determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition. - View Dependent Claims (2, 3, 4, 5, 6, 14, 15, 32)
-
-
7. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said step of generating selects, in accordance with a combination of said data-related value and said value of the particular data segment, a value from among a plurality of values which one of the data units of said first information can take, to thereby generate said substitute data having the selected value.
-
-
8. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said predetermined function includes evaluating a product between one of the data-related value and the value of the particular data segment and a predetermined constant, and adding the product and another of the data-related value and the value of the particular data segment. - View Dependent Claims (9)
-
-
10. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data un its of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating; and setting a predetermined flag value at a predetermined bit in at least one of a plurality of the data units replaced by said substitute data, to identify the replaced data units.
-
-
11. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising:
-
a first step of selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; a second step of selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; a step of generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and a step of replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said first step of selecting includes a step of detecting a particular section of said first information where a difference between values of two successive ones of the data units is smaller than a predetermined value and selecting one of the successive data units as the data unit to be replaced by said substitute data.
-
-
12. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating; storing, in a memory, the data of said first information having said second information incorporated therein via replacement of the content of the data unit by said substitute data; reading out the data from the memory; a first reproduction step of reproducing said data-related value and said value of the particular data segment from the data unit of said first information, replaced by said substitute data, included in the data read out from the memory; and a second reproduction step of reproducing an original content of the replaced data unit on the basis of said data-related value reproduced by said first reproduction step.
-
-
13. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating; transmitting, via a communication network, the data of said first information having said second information incorporated therein via replacement of the content of the data unit by said substitute data; receiving data transmitted via the communication network; a first reproduction step of reproducing said data-related value and said value of the particular data segment from the data unit of said first information, replaced by said substitute data, included in the data received via the communication network; and a second reproduction step of reproducing an original content of the replaced data unit on the basis of said data-related value reproduced by said first reproduction step.
-
-
16. A method performed by a processor of reproducing first information having second information incorporated therein, data of said first information including a group of data units, some of the data units of said first information having values replaced in accordance with contents of said second information, each of the replaced values being obtained via replacement by substitute data generated on the basis of a predetermined function using, as variables, a data-related value that relates to an original value of the corresponding data unit and a value of at least another of the other data units and a value of a particular data segment of said second information, said generation of substitute data includes determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition, said method comprising:
-
a first step of reproducing said data-related value and said value of the particular data segment from the data units of said first information replaced by said substitute data; and a second step of reproducing original contents of the data units having the replaced values, on the basis of said data-related value reproduced by said first step. - View Dependent Claims (17, 33)
-
-
18. An electronic information processing device for incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said electronic information processing device comprising a processor that executes the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said generating step wherein said generating step includes determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition.
-
-
19. An electronic information processing device for reproducing first information having second information incorporated therein, data of said first information including a group of data units, some of the data units of said first information having values replaced in accordance with contents of said second information, each of the replaced values being obtained via replacement by substitute data generated on the basis of a predetermined function using, as variables, a data-related value that relates to an original value of the corresponding data unit and a value of at least one of the other data units and a value of a particular data segment of said second information, said generation of substitute data includes determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition, said electronic information processing device comprising a processor that executes the steps of:
-
reproducing said data-related value and said value of the particular data segment from the data units of said first information replaced by said substitute data; and reproducing original contents of the data units having the replaced values, on the basis of said data-related value reproduced by said first section.
-
-
20. A machine-readable recording medium containing a program executable by a computer for incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said program comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; and replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said step of generating includes a step of determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition.
-
-
21. A machine-readable recording medium containing a program executable by a computer for reproducing first information having second information incorporated therein, data of said first information including a group of data units, some of the data units of said first information having values replaced in accordance with contents of said second information, each of the replaced values being obtained via replacement by substitute data generated on the basis of a predetermined function using, as variables, a data-related value that relates to an original value of the corresponding data unit and a value of at least another of the data units and a value of a particular data segment of said second information, said generation of substitute data includes determining whether or not said data-related value meets a predetermined condition, and wherein replacement by the substitute data to incorporate the particular data segment is executed on the data unit for which said data-related value is determined as meeting the predetermined condition but said replacement by the substitute data is not executed on the data unit for which said data-related value is determined as not meeting the predetermined condition, said program comprising:
-
a first step of reproducing said data-related value and said value of the particular data segment from the data units of said first information replaced by said substitute data; and a second step of reproducing original contents of the data units having the replaced values, on the basis of said data-related value reproduced by said first step.
-
-
22. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said first information is provided, in a form of a real-time data stream, as main information to be transmitted; wherein the data segments of said second information is incorporated, in real time, into particular ones of the data units of said first information of the real-time data stream, prior to transmission of said main information; and wherein said method further comprises a step of transmitting to a communication network said main information comprising said first information having said second information incorporated therein, in a form of the real-time data stream. - View Dependent Claims (23)
-
-
24. A method performed by a processor of reproducing first information having second information incorporated therein, data of said first information including a group of data units, some of the data units of said first information having values replaced in accordance with contents of said second information, each of the replaced values being obtained via replacement by substitute data generated on the basis of a predetermined function using, as variables, a data-related value that relates to an original value of the corresponding data unit and a value of at least another of the other data units and a value of a particular data segment of said second information, said method comprising:
-
a first step of reproducing said data-related value and said value of the particular data segment from the data units of said first information replaced by said substitute data; a second step of reproducing original contents of the data units having the replaced values, on the basis of said data-related value reproduced by said first step; wherein said first information having said second information incorporated therein to be reproduced is transmitted via a communication network, in a form of a real-time data stream; wherein said method further comprises a step of receiving said first information having said second information incorporated therein of the real-time data stream via the communication network; and wherein said first step reproduces said data-related value and said value of the particular data segment on the basis of said first information having said second information incorporated therein of the real-time data stream received by said step of receiving. - View Dependent Claims (25, 26)
-
-
27. A method performed by a processor of incorporating, into data of first information, data of second information, the data of said first information including a group of data units, said method comprising the steps of:
-
selecting at least two of the data units of said first information and obtaining a data-related value that relates to respective values of said at least two data units; selecting, from among a group of the data of said second information, a particular data segment to be incorporated into one of the data units of said first information; generating substitute data to replace a content of the one data unit of said first information, on the basis of a predetermined function using, as variables, the data-related value and a value of the particular data segment; replacing a content of the data unit corresponding to a predetermined one of said at least two data units of said first information, by the substitute data generated by said step of generating wherein said first information is music performance information; applying special encrypting to a particular portion of the music performance information coded in conventional form; and transmitting the music performance information after the special encrypting, whereby at a receiving end, only portions, other than the particular portion, of the music performance information coded in conventional form can be reproduced by every person while the particular portion of the music performance information having undergone the special encrypting can be reproduced only by an authorized person.
-
-
28. A method performed by a processor of watermarking first data with second data, said method comprising the steps of:
-
receiving first data composed of a plurality of event data each including two or more parameters; receiving second data to be incorporated into the first data; extracting specific event data out of said first data; extracting one portion and another portion, different from the one portion, of said second data; modifying a specific parameter of the specific event data on the basis of the one portion of said second data and modifying another parameter of the specific event data on the basis of the other portion of said second data, to thereby incorporate said second data dispersedly into said first data; and outputting said first data having said second data dispersedly incorporated therein.
-
-
29. A method performed by a processor of reproducing data from first data having been watermarked with second data, said method comprising the steps of:
-
receiving first data composed of a plurality of event data each including two or more parameters, said first data having second data dispersedly incorporated therein; extracting specific event data out of said first data; detecting one portion of the second data from a specific parameter of the specific event data and detecting another portion, different from the one portion, of said second data from another parameter of the specific event data, to thereby extract said second data out of said first data having said second data dispersedly incorporated therein; and a step of outputting said second data extracted by said step of detecting.
-
-
30. A method performed by a processor of watermarking first data with second data, said method comprising the steps of:
-
receiving first data composed of a plurality of event data each including two or more parameters; receiving second data to be incorporated into the first data; obtaining key information by means of a predetermined way; extracting specific event data out of said first data; creating a new parameter using one portion of said second data, the key information and a specific parameter of the specific event data and overwriting the new parameter to the specific parameter of the specific event data; and creating a second new parameter using another portion of said second data, the key information and another specific parameter of the specific event data and overwriting the second new parameter to said another specific parameter of the specific event data, to thereby incorporate said second data dispersedly into said first data and encrypt said first data.
-
-
31. A method performed by a processor of reproducing data from first data having been watermarked with second data, said method comprising the steps of:
-
receiving first data composed of a plurality of event data each including two or more parameters, said first data having second data dispersedly incorporated therein and being encrypted; obtaining key information by means of a predetermined way; extracting specific event data including two or more parameters out of said first data; detecting one portion of the second data from a specific parameter of the extracted specific event data and modifying said specific parameter by said key information; and detecting another portion of the second data from another specific parameter of the extracted specific event data and modifying said another specific parameter by said key information, to thereby extract said second data out of said first data and decode said first data.
-
Specification