WO1997049235A1 - Procede permettant de cacher des donnees et procede permettant d'extraire des donnees - Google Patents

Procede permettant de cacher des donnees et procede permettant d'extraire des donnees Download PDF

Info

Publication number
WO1997049235A1
WO1997049235A1 PCT/JP1997/000395 JP9700395W WO9749235A1 WO 1997049235 A1 WO1997049235 A1 WO 1997049235A1 JP 9700395 W JP9700395 W JP 9700395W WO 9749235 A1 WO9749235 A1 WO 9749235A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
array
message
block
value
Prior art date
Application number
PCT/JP1997/000395
Other languages
English (en)
French (fr)
Other versions
WO1997049235A8 (fr
Inventor
Masayuki Numao
Shuichi Shimizu
Norishige Morimoto
Mei Kobayashi
Original Assignee
Ibm Japan Ltd.
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm Japan Ltd., International Business Machines Corporation filed Critical Ibm Japan Ltd.
Priority to DE69739969T priority Critical patent/DE69739969D1/de
Priority to KR1019980701274A priority patent/KR100295007B1/ko
Priority to EP97902686A priority patent/EP0852441B1/en
Priority to JP50265598A priority patent/JP3251594B2/ja
Publication of WO1997049235A1 publication Critical patent/WO1997049235A1/ja
Priority to HK99100592A priority patent/HK1015595A1/xx
Publication of WO1997049235A8 publication Critical patent/WO1997049235A8/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32208Spatial or amplitude domain methods involving changing the magnitude of selected pixels, e.g. overlay of information or super-imposition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32251Spatial or amplitude domain methods in multilevel data, e.g. greyscale or continuous tone data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs
    • H04N2201/327Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs which are undetectable to the naked eye, e.g. embedded codes

Definitions

  • the present invention relates to a data hiding method for extracting message data in media data and a data extraction method for extracting hidden data. [Background technology]
  • Figure 1 is an intermediate IS? Image showing the digitized data on the display.
  • Media data which is a digitized image of (a) in FIG.
  • Each message shown in Fig. 1 (b) is hidden near a meaningful area on the image.
  • the message “crow” is hidden near the area where the crow is present in the image, and serves as a caption (auxiliary blindness).
  • auxiliary blindness auxiliary blindness
  • the message in order to hide a message such as owner information in the image, it is preferable that the message be widely distributed in the image. This is because, when the amount of messages is large, locally receiving messages will cause a decrease in surface quality in that part.
  • the messages are dispersed, it is more likely that they can be extracted. What is important for this is how to determine the lightning associated with each piece of message that is distributed. This order is determined based on the state sequence S. Each element of the status string S is associated with each message, and the corresponding message is hidden at a predetermined position determined based on this element. It is.
  • FIG. 2 is a schematic diagram showing an arrangement of message data dispersed on an image based on a conventional method.
  • the plane image shown in Fig. 1 (a) is divided into I plane image areas, and each plane image area is numbered in order from 0th to 9th.
  • the message and data are represented by a message array m, and the array elements are described as an array m [n] (0 ⁇ 9).
  • Each array value is associated with the divided message data.
  • Each message is hidden at a position on the image specified based on the elements in the state sequence S.
  • the position () at which the 0th message m [0] is hidden is determined by the following equation.
  • Position P 0 S 0 mod I above equation, the remainder of I (the number of image regions) against this state value S Q after giving the state value S Q constant as an initial value position ⁇ . Is shown.
  • the mold at position ⁇ 0 has an integer ⁇ 1 in any range from 0 to (1-1). By associating this integer ⁇ with the order of the surface image regions, a message m [0] is formed in the i-th surface image region. For the first and subsequent messages m [ ⁇ ], the tunneling position ⁇ ⁇ is determined based on the following equation.
  • the displayed message can be read only by those who know the state value S Q (initial value).
  • state value S Q initial value
  • integrated camphor state value of Te base state value S Q on the basis of the initial mimic (S ⁇ ⁇ , S n) is calculated. Then, a lightning strike corresponding to the state value is specified, and the message hidden in that position is extracted.
  • the state value S n for determining the position at which the nth message m [ ⁇ ] is distributed on the image depends only on the state value, so if the state value is determined, the state The value of the value S_ is also determined. Similarly, the state ffl S n depends only on the state value S n 9 . Repeating this recursively,
  • the third party will use the initial value to place the message.
  • the ability to easily identify the memory can cause the person to erase the message / data or harm another message / data.
  • a third party may erase the original signature and make the source of the work unknown, It was difficult to effectively prevent the act of overwriting the signature of a person and acting as if the person were the author.
  • the first invention is to provide a method in which when media data is expressed as a media array and message data is expressed as a message array, a specific format in the media array is specified.
  • the present invention relates to a data hiding method for dispersing array elements of a message array based on a state value S for specifying array abandonment and allowing a gap in a media array.
  • the first invention specifically has the following steps.
  • step E (b) above the (j + 1) th state arbitrariness SJ + 1 is the jth state ⁇ Sj and the data of the array element of the media array specified by this state value. Is determined based on the exclusive OR with the data of the array elements of the message array. Specifically, a position conversion function for hiding is prepared, this exclusive OR is used as an input of a position conversion function, and the output of the position conversion function is used as the (j + 1) th state value s j + I It is preferable that For example, this hiding position conversion function can be an encrypted number using a secret key in a public key method as a parameter.
  • the above-mentioned hiding data may be an exclusive logical sum of the array element of the media array and the array element of the message array specified by the j-th state value S j.
  • the message 'data is represented as a message array
  • the message' hiding including data ' is represented as a hiding array
  • the hiding data is dispersed and hidden.
  • Media data that is represented as a media array.
  • the state condition Sj to be used first when starting the extraction is previously given to the extractor as information necessary for the extraction.
  • the status value S j may be the last status value generated when hiding the message sequence.
  • the (j-1) th state value S is determined based on the exclusive OR of the jth state value Sj and the data of the array element of the hiding array.
  • the array index of this hiding array is extracted from the array element of the media array specified by the j-th state value S j.
  • an extraction position conversion function is prepared in advance, and in step (c), the j-th state value S j and the data of the array elements of the hidden array extracted as described above are used.
  • the exclusive OR may be used as the input to the position conversion function, and the output of the number of position conversions may be set as the (j-1 1) -th state fit s f .
  • the number of extraction position conversions M is, for example, a decryption number using a public key in a public key method as a parameter.
  • the array element of the hiding array is the exclusive relation between the array element of the media array and the array element of the message array specified by the (j-1) th thought value S, Riwa.
  • the third invention is a data hiding method for hiding a message and data in a medium's data.
  • a message (a pixel block for image data) ⁇ Block)
  • B a step for determining the characteristics ⁇ (for example, a surface element value, a luminance value, a variance value, etc.) of the identified one block; and
  • the conversion rule corresponding to the magnitude relation between the reference value that gives the reference of the characteristic value and the characteristic value of the block the message content is manipulated by manipulating the characteristic value of one block.
  • the reference value may be given by a characteristic value of another block existing in the medium.
  • a pair is composed of these blocks, and the characteristic value of each block is obtained.
  • the message 'data is hidden by comparing the magnitude relations of the respective characteristic values and manipulating the characteristic values of the blocks forming the pair based on the conversion rule (for example, exchanging the characteristic values). . If the message 'data is composed of multiple bits, the above steps (a) to (c) are repeated.
  • the fourth invention relates to a data extraction method for extracting message data from message 'media with hidden data'.
  • the present invention relates to a method for extracting one block in which message and data are hidden. (B) determining the characteristic value of one identified block; and (c) extracting the magnitude relationship between the reference value giving the characteristic imitation reference and the usefulness of the block. Extracting a hidden message data in accordance with the characteristic value of one block with reference to the conversion rule associated with the content of the block.
  • the reference value may be a characteristic value that exists in the media data and is set to another block different from one block. When specifying one block and another block in media data, form a pair with these blocks and obtain the characteristic value of each block.
  • the magnitude relationship between the characteristic values of the blocks that make up the data is determined based on the characteristic values of each block by referring to the conversion rules that correspond to the contents of the data to be extracted. Message 'extract data. This conversion rule specifies that if one block's characteristic value is greater than the other block's characteristic value, one bit is extracted, and the other way, the other bit is extracted. I have.
  • the fifth invention relates to a system for realizing the above-described data extraction method.
  • a data extraction system that extracts hidden messages and data from media to which data is attached, messages, and data, the message and data are hidden, and the message as an analog signal is output.
  • a conversion means for converting the data into a digital signal and outputting the data; and a means for specifying a block in which the message data is left open in the media as the output of the conversion means.
  • a characteristic value calculating means for calculating the characteristic value of the one block specified by the specifying means; and a magnitude relationship between a reference value for providing a criterion for the characteristic and the characteristic arbitration of the block, in the content of the data to be extracted. It has a storage means for conveniently using the associated conversion rules, and an extraction means for extracting hidden message data according to the characteristic value of one block by referring to the conversion rules. Provide a data extraction system.
  • a sixth invention is directed to a semiconductor integrated circuit in which the functions of the above-mentioned data extraction system are integrated.
  • the message is specified as media.data as input signals in the semiconductor integrated circuit.
  • the relationship between the means for determining the characteristic value of the given block and the relationship between the reference value that provides the characteristic value base * and the characteristic value of the block is compared with the content of the data to be extracted.
  • FIG. 1 is an intermediate image in which digitized data is displayed on a display.
  • FIG. 2 is a schematic diagram showing the distribution of message 'data distributed on a plane image based on a conventional method.
  • FIG. 3 is a diagram for explaining a media arrangement and a message arrangement.
  • FIG. 4 is a schematic diagram showing the relationship of the media sequence to be subjected to the hiding process.
  • Figure 5 is a schematic diagram that clarifies the possible targets.
  • Figure 6 is a flowchart showing the procedure for hiding message data in media data.
  • FIG. 7 is a relationship diagram showing the relationship between the state value and the state value S j in hiding.
  • FIG. 8 is a flowchart showing a procedure for extracting message data from hidden data.
  • FIG. 9 is a relationship diagram showing the relationship between the state value S j and the state hall S j ⁇ in the extraction.
  • FIG. 10 is a diagram for clearing the determination as to whether the generated message array value is the head of the message.
  • FIG. 11 is a conceptual diagram illustrating a state in which a different state series S is generated due to modification or the like.
  • FIG. 12 highlights data hiding and extraction using PBC.
  • FIG. 13 is a diagram for clarifying the hiding by the PCB when one pixel is a pixel block.
  • FIG. 14 is a diagram for explaining that the message and the position information are hidden in the original image.
  • FIG. 15 is a diagram in the case where concentric arcs are used as the position information.
  • FIG. 16 is a diagram for clearing the reference position B when the concentric arc is used as the position information.
  • FIG. 17 is a diagram for explaining the hiding and extraction when using concentric arcs as position information.
  • FIG. 18 is a block diagram of the broadcasting system.
  • FIG. 19 is a block diagram of the transmitting side and the receiving side in the Internet.
  • Figure 20 is a block diagram of the server and client
  • Figure 21 is a block diagram of the system for finger printing and wartime and marking.
  • FIG. 22 is a block diagram of the data extraction system.
  • Figure 23 is a block diagram of a semiconductor integrated circuit that integrates the data extraction system into a single chip.
  • Media data includes image data and audio data.
  • Media that is the data to be embedded ⁇ Data is defined by the media array M, and the media array value M [i], which is the array element, is expressed as follows. (Equation 3)
  • the i-th plane image tilt area is the media array value M [i]
  • the last plane image area is the media array value M [1-1].
  • the data of each media array is image information of the plane image area corresponding to the array value. Image information is density if it is a black-and-white screen. If the number of surface image regions matches the number of images, the media array ⁇ M [i] is the pixel value of the i-th surface element. When the image area is composed of a number of face elements such as 3 ⁇ 3 face elements, the image information is the respective face element values. If the media 'data is audio, the media array value M [i ⁇ can be defined as the amplitude value at time Mi. The data included in each array value M [i] is assumed to be expressed by B M pi Bok integer.
  • the message embedded in the data includes, for example, information given to the creator of the image, management information such as the serial number, date and time, location, and information permitted to be copied.
  • Message ⁇ Data is defined by the message array m, and the message array value m [j], which is the array element, is expressed as follows.
  • J Length of message 'data
  • Fig. 3 (b) when the alphanumeric characters of "DATAH IDING" are message' data , J-th alphanumeric character is associated with the message array value m [jl ⁇ , and the content of the data is data indicating the corresponding alphanumeric character.
  • a state sequence S is defined to determine the position (media array value) at which the hiding process is performed, and the state values S, which are elements of this sequence, are expressed as follows:
  • the position sequence P is used to specifically specify the position at which the hiding process is performed from the following equation.
  • the position P j which is an element of the position yarn row P, is expressed as
  • the position sequence P has the same number (J + 1) of elements as the state sequence S.
  • the position P which is an element of the position sequence, is obtained as the remainder of I for the state confession S j having the same index value j. Therefore, the value of the position P j is any integer between 0 and (1-1), and the image region corresponding to this i is set as the slope of the hiding process. Since 1 is a constant of the number of image areas, if the state value is determined, the value of the position p is uniquely determined. Therefore, the position to be subjected to the hiding process is substantially specified by the state sequence S.
  • the data hiding method in this embodiment is closely related to the algorithm for extracting hidden data. That is, a message can be viewed on condition that a third party who extracts the extracted data has predetermined information. The important thing in this case is the third When a message is extracted by a user, the modification is effectively prevented.
  • the present invention hides data based on the following three features.
  • the state value which is the first element of the state sequence, is an initial function that receives the exclusive OR of all the elements (m [0], m [l], ⁇ , m [9]) of the message array. which is the output of the f m.
  • the state value S Q and the position p Q determined based on it are determined by the following equation.
  • FIG. 4 is a schematic diagram showing a state in which message and data are dispersed on an image.
  • the first position, P Q is identified from the first state of the state and becomes the place shown in the figure.
  • the initial function f INI is also used as an index for judging termination when extracting messages. This prevents a third party from writing a new message other than the original message.
  • next state value is the exclusive OR of the current state vagina S Q , the media array ⁇ M [p Q ] indicated by this state value, and the message array value m [0]. Is determined as the output of the calculated M number SK.
  • the media sequence imitation M [P Q ] is the image area at the position P () calculated from the state value. The same applies to the state value s 2 and thereafter, and this relationship is generally expressed by the following equation.
  • the position sequence in the present algorithm is determined in consideration of the message sequence value and the media sequence value. If a third party attempts to overwrite another message on top of the original message, the resulting state sequence will be different, making it extremely difficult to harm. The same applies to the case where a third party attempts to modify the image data itself.
  • Figure 5 is a schematic diagram illustrating the hidden objects. It is assumed that the position sequence P to be subjected to the hiding process has been specified. First, the position ⁇ P Q concealment without any data hid Pei applied to the surface image courtesan subsequent position P j. Specifically, the result of the exclusive OR of the media array value and the message array copy is a target to be hidden.
  • Such Heidi the ring processing by executing up to the position P 1Q data of Isseki I »Pay is completed.
  • the object aggregated at position P 1Q is the exclusive of the message array value m [9] and the media array value M [9] whose contents have been changed in the previous processing.
  • Logical OR array The reason why the number of elements of the state thread sequence S and the position series p is one more than the number of elements of the message array is that data is not hidden at the position P alone.
  • FIG. Figure 6 is a flow chart showing the procedure for hiding message / data into media / data. Please refer to Figure 4 or Figure 5 as appropriate in the following tax statements.
  • the sequence P In order to conceal the data, the sequence P must be determined.
  • the first position P [0] is determined.
  • This initial position p [0] is determined as the output of the initial function ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ with the initial state value s Q as input, and this variable S is used. Is determined by the following equation. (Formula 10)
  • Hash values are simply used as initial values when hiding data, and only need to be guaranteed that different outputs are different for different inputs. Therefore, the value of the hash value itself has no special meaning. What is important is that the operation outputs a health indicating the characteristics of the array, that is, the hash value is determined based on the contents of the entire array element and that the value differs depending on the contents of the entire array.
  • the state ffiS 2 and later can be obtained by executing the same procedure.
  • the j-th state value S j and position P j are expressed by the following equations. Wear.
  • Bit length of the data state value used S preparative ⁇ message array value m [jl] and the media array value M [pj ⁇ ] has as input hiding for position transformation M number SK, respectively K bytes, B It is different from m byte and B M byte.
  • exclusive logic for inputs having different bit lengths
  • exclusive OR after converting each input to have the same bit length.
  • the following two hash functions H2 and H3 are used to make the bit lengths of all inputs equal to the K bytes of the position state.
  • H 2 B ⁇ 'Hash ⁇ number that generates ⁇ ⁇ ⁇ ⁇ 'Hash value from my integer
  • a hash value of K bytes is generated from the B-byte integer of the array ⁇ using a hash function H 2.
  • H 2 For the media array value M [p j ], The integer B u byte bits long with using the hash ⁇ H 3, converted to B path wells hash ⁇ . Then, a hash value of K bytes is generated by using the hash function H2.
  • Equation 7 described above is an expression including the case where the input is converted by the hash function.
  • the hiding array value Mm [J-1] is an array element of the hiding array Mm and is defined as follows.
  • the position sequence P ⁇ P 0,2, and the media array M change as follows as the data is placed.
  • M 'me ans the media arrangement after hiding
  • M' [i] indicates that the contents of the media arrangement value before hiding have changed.
  • the melary array M ' is specified by the state sequence S in the elements of the original message array M. This means that only the contents of the J array elements that have been changed have changed. Since the data content of the array element M [P d ] corresponding to the state value n does not change, M 'Mp () ] is equal to M [p () ].
  • Figure 7 is a ⁇ diagram that shows the relationship between the state value S j and the state ⁇ Sj in Heidi ring.
  • the next state value Sj calculates the exclusive Lian sum of the state value S and the hiding array Mm [j-1 ⁇ ( ⁇ '[PJJ] XOR m [jl]), and places this calculation result in the position.
  • the conversion is obtained by taking the input of the M number SK.
  • the contents of ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ have already been changed by hiding in the previous state.
  • the hidden array value Mm [p to be hidden is hidden at the position pj by the function X. As a result, the data M [
  • Final state value S j media array M ′ is an array finally obtained by hiding data in media ′ data in step 400.
  • the final state value is the last calculated J-th state imitator. This information is needed when extracting the message and data described below.
  • the state values S Q through s It is not necessary to know J ) directly. This is because these state values can be specified recursively by inverting the final state value.
  • this extractor will be described later It is a condition that they have the necessary information.
  • Extraction position conversion factor PK information (1) and information (2) are the information finally generated when embedding message data as described above.
  • the extraction position and conversion number PK of information (3) will be explained while considering the relationship with the position conversion function for hiding.
  • the function that generates the next state value when extracting a message is the position conversion function for highlighting, as defined by SK, the function that generates the previous state value when extracting a message.
  • the position conversion function PK for extraction The reciprocal relationship is established between the hiding position conversion function S K and the extraction position conversion function P K as shown in the following equation.
  • the message array m is transformed using the position transformation function SK for hiding. If the result of the transformation is further transformed by the reciprocal PK, the first message array m can be extracted.
  • the number SK for hiding and the function PK for extraction are as follows.
  • PK (m) x e (mod n) That is, the issuer who is the creator of the image has the secret key d and uses it to obtain the hiding number SK.
  • a position state sequence S for embedding message data is generated, and the message and data are embedded in media and data.
  • the third party who receives this distributed data obtains the extraction function PK using the public «e.
  • the position state sequence S is reproduced using this partial PK, and the message is read.
  • the public key is disclosed to a third party, but the secret key is held only by the creator who created the image, so that the third party cannot know the contents. Therefore, the contents of the hiding scale conversion function cannot be known by a third party. Calculating the secret key from the public key requires a huge amount of calculation, so it is virtually impossible for a third party to know the SKF conversion function SK. Therefore, it is possible to effectively prevent a third party from modifying the original data.
  • FIG. 8 is a flowchart showing a procedure for extracting embedded message data.
  • Step 1 1 0 the position pj where the message sequence value m [Jl] is hidden is obtained according to the following equation.
  • the hiding array Mm [J-1] is hidden in the original image information of the area.
  • the array Mm [J-1] are those obtained as exclusive OR of the media array value M '[p J] and the message value array m [J-1]. Therefore, a function X 'is defined to extract the hiding array Mm [J-1] from the media array value M' [P j].
  • An example of the specific content of the function X ′ as in the following equation will be described in the second embodiment.
  • FIG. 9 shows the data relation shown by the above equation.
  • FIG. 6 is a relationship diagram showing a relationship between state values S j and state values in extraction. Comparing with Fig. 7, it can be seen that the extraction procedure is the reverse of the hiding procedure.
  • the determination as to whether or not a certain element of the message array m is the head is based on whether or not the output of the generated state ⁇ matches the output of the hash function H 1.
  • the exclusive OR of all elements of the message array m generated so far in the state value S j is input to the hash function H 1. If the state value S j generated in reverse order is related to the output of the hash M number H 1 as shown in the following equation, ⁇ of this j is 0 (see Equation 10). (Equation 24)
  • FIG. 10 is a diagram for clarifying whether or not the generated message array value is the head of the message.
  • the state value S ⁇ immediately before the final state value S j is obtained, and the message array copy is obtained.
  • the output F of the initial number ⁇ ⁇ ⁇ with this array value as input does not match the state value S. If the obtained state «is S Q , this value matches the output F of the initial function, so it can be determined to be the top.
  • this algorithm has the following two features, and is very important in preventing message modification by a third party.
  • the generated sequence S depends only on the first constant given regardless of the content of the message.
  • a third party could delete the message or see a new message with a different content at the location where the original message exists, as long as the number is known.
  • the position sequence is generated also depending on the content of the message, so that a different position sequence that occurs when the message is different is generated. Since the hidden position is based on the position sequence, it is not possible to hide another message with a different content from the position where the original message is located. This is also true for media data.
  • Equation 24 the condition shown in Equation 24 is determined to determine the end of extraction. This condition is satisfied only when the content of the message to be extracted is the same as the original message and a message with a length equal to the message 'data length (J) is extracted. Extraction will never end unless this requirement is met. Therefore, if it is attempted to hide data other than the original message in the reverse order based on the final state value, the calculation is not completed forever because the requirement of Equation 24 is never satisfied. Therefore, even if an attempt is made to hide the message in a place other than the place where the original message exists, the calculation is not completed, so that it is not practically possible.
  • a third party modifies the message sequence value as shown in FIGS.
  • one of the methods of embedding the data to be concealed in a certain media data and the method of extracting the embedded data is a Vixel block 'coding (Pixel Block) CocH ng) (hereinafter PBC).
  • PBC Vixel block 'coding
  • data hiding and extraction are processed according to the conversion rules described below. (Basic algorithm)
  • this algorithm defines an image gradient area having at least one pixel as a pixel block, and intentionally replaces the characteristic values of adjacent pixels and blocks based on a certain conversion rule. Then, 1-bit data is R-valued. That is, the data is represented by exchanging the characteristic values of adjacent pixel blocks.
  • the bit information is expressed by exchanging the characteristic values (eg, luminance values) of two adjacent Vixel 'blocks according to the following conversion rules. Bit 1>: —Vixel 'block (if the characteristic value of PB is larger than the characteristic value of the other (PB n )
  • bit information is calculated based on the following extraction rules. Extracted by comparing the properties ⁇ (eg, luminance values),
  • FIG. 'It Block [rho beta 1 3 ⁇ 4 [rho beta 2 may be defined as a set of a plurality of pixels as a 3 X 3 pixels, for example, one stroke 3 ⁇ 4 1 Pikuse Le' Bikuseru it is also possible to define a block. Adjacent voxels and blocks have high relatives, so even if their positions are exchanged, they will not feel that the image has deteriorated to the point where it can be visually swallowed.
  • This column may correspond to the state sequence S in the first embodiment.
  • a pixel block is associated with the array element M of the media array M in the first embodiment.
  • a pair is formed with each sequence index (state value S j) of the state sequence generated successively in the hiding work and the media array value adjacent thereto. Then, it is conceivable to perform the above processing on this pair.
  • the same block row as that at the time of hiding is scanned.
  • the entire message is extracted by collecting each bit, one bit at a time, according to the extraction rules whether each pair represents bit-on or off. If the paired pixel 'blocks have the same property value, the pair is skipped as in hiding. If the sequence of blocks or the method of generating the sequences is kept secret, the hidden information can be hidden from others.
  • the embedding position is determined in consideration of the surface K and the extraction degree.
  • the first Sfl B upper limit
  • the first Sfl B lower limit
  • a second M value lower limit
  • the characteristic value the value related to the primary characteristic and the value corresponding to the secondary characteristic of the voxel block can be used.
  • Primary characteristics are direct parameters of pixel values, such as the degree and chromaticity of a pixel block.
  • the secondary characteristic is obtained by decomposing the primary characteristic so as to be useful for indicating a statistical property such as the average variance of the parameter.
  • the characteristic value may be a calculation result of an array of ragged pixels and a predetermined array (mask), or a specific element imitation obtained by performing frequency conversion.
  • the primary characteristic has a high correlation between two adjacent voxel blocks.
  • the quadratic characteristic can have a high correlation between two blocks that are not adjacent to each other. Therefore, it should be noted that the voxel blocks subject to PBC are not necessarily limited to blocks in contact with Lemon The following is the primary characteristic as the characteristic imitation of the Vixel block
  • FIG. 13 is a diagram for explaining the hiding by the PCB when one pixel is a pixel block.
  • the characteristic values are decentralized will be explained. In the case of a pixel composed of n x m pixels. If the luminance values of the pixels are replaced by a block, the image quality will be greatly degraded such as stripes on the image. I will. Therefore, it is not preferable to use the pixel value as it is as the characteristic value of the block. Therefore, a method of using a variance value of pixel luminance as a characteristic value is considered.
  • the characteristic value of the pixel block is defined as this variance d, and it is possible to hide the data by passing it in accordance with the conversion rule.
  • Figure 1 pixel 'blocks as 2 (c) has an average dispersion value, consider the case where the block PB 2 is an average value h 0, with a minute ⁇ d 2. If you hide Pay the bit "1", di ⁇ 'do not satisfy the conditions of 1 ". Therefore both pixels'Rubi'bets' put on d 2 Since conversion rule replacing only partial Chichi d block. This Between two voxel 'blocks, the mean value h is equivalent to exchanging only the peak shape of the distribution without changing.
  • the upper limit of the amount of information that can be highlighted in PBC is determined by the image size and the pixel-block size as follows.
  • the cabinet value can be determined based on the variance calculated from the surface image, or it can be determined based on the local variance imitating around the block.
  • the smaller variance value may be compared with the «value, and if the variance value is less than the ⁇ value, the replacement may not be performed.
  • the above PBC is merely an example, and that various other methods are conceivable.
  • the predetermined value may be a fixed value, but the value may be adaptively changed according to the state of the voxel 'block to be processed.
  • the essence of the present invention is that a characteristic value of another pixel block in image data is manipulated with respect to a certain reference value (for example, one voxel block) according to a meaningful rule.
  • a certain reference value for example, one voxel block
  • the decimation is performed. Conceal.
  • the present invention only needs to provide a clear criterion for manipulating the characteristic value, and the criterion does not necessarily need to be a predetermined area (pixel / block) in the image data. Therefore, the criterion may be given as data other than image data.
  • predetermined values are arranged
  • a fixed mask or pattern having the same size as a pixel or block may be used as a reference for characteristic operation.
  • the characteristic arbitration of the specified voxel 'block may be manipulated according to the magnitude relation with the reference value in the mask or pattern.
  • One night can be extracted according to the relationship.
  • the data 'hiding technology described above selects pixel-blocks from the original image, processes them, and extracts messages from the processed pixel blocks at the time of extraction. Therefore, the position information of the pixel block is indispensable to extract the message.
  • the relative position of the Vixel.Proc is specified based on this positional information, with reference to the slope of the image (in the first embodiment, the upper left position of the original plane image). .
  • a third party edits the image such as cutting out a part of the image
  • the extraction of the message may fail because the reference position of the plane image cannot be specified.
  • Fig. 3 (a) if one part of the original image is cut out (the broken line in the figure), the original reference position (message The position of the 0th array element in the array M [0]) is unknown.
  • An important requirement for data hiding is that hidden information is difficult to remove by a third party, or that a third party has intentionally altered the data, or lossy image compression such as JPEG. Even if such information is given, it is necessary to be able to correctly retrieve the information displayed. Therefore, as shown in FIG. 14, it is preferable to hide information for specifying the reference position in addition to the message in the original plane image. By hiding such location information, messages can be displayed even from altered / compressed images. Is correctly extracted. Therefore, information for specifying the reference position of the media and data is hidden in the message 'data in addition to the message and data. Information on this reference lightning is available throughout the message data. Message ⁇ Even if a part of the data is cut, the partial message that has been cut.
  • Concentric arcs as shown in Fig. 15 are used as position information. This concentric arc is drawn at a predetermined interval centered on the upper left point (reference position ⁇ ) of the original plane image. In order to be able to correctly extract the reference position from the extracted partial plane image, it is necessary that at least one circular arc is included in the imaginary plane image that is supposed to be extracted. Therefore, the W corner of the concentric circle is set assuming such a situation.
  • the fiducial position fi is "When a circle is drawn with the same radius as a circle centered on a point on the circumference, the drawn circle always passes through the center point of the original circle.” It can be specified by using.
  • FIG. 16 is a diagram for sharply specifying the reference position B when a concentric arc is used as the position information. Also not a, any three points that exist respectively cut out three concentric arcs present in the partial image (on C p C 2, CJ (ai , a ⁇ , a 3) the identifying.
  • the interval between the arcs may be narrowed so that the partial surface image includes two or more arcs. Since the circular arc includes more linear elements as the radius increases, the calculated value of the reference position tends to have a width. If the interval is narrowed, such a width can be reduced because the partial image contains many arcs. If the center ⁇ of the concentric circle is set at both the upper left and lower right, the size of the original image can be obtained from the two center points.
  • FIG. 17 is a diagram for explaining hiding and extraction when a concentric arc is used as positional information.
  • the message is concealed in the original plane image using the method shown in the second embodiment, and then a concentric arc as position information is further added.
  • the position information of the concentric arc is obtained by using a pixel of the LBP of the obtained surface image information.
  • the LBP of the pixels on the concentric arc is set to "1". The reason why LBP is used is that even if the imitation is changed, the surface image hardly changes visually.
  • the position information is hidden first in the original image, and then the message is further hidden.
  • the size of the array is determined by considering the size of the imaginary image that is assumed to be cut out. For example, if the width of the array is (2 m-1), the original It is possible to handle even a 1-Zm-long plane image of the surface image of.
  • Each element of the vote array T is a candidate for the reference position B, and the value of the element indicates the number of votes obtained.
  • the target partial image is located at the center of the voting array. Are coordinated.
  • the scan is performed alternately in the vertical and horizontal directions of the partial plane image, and the above procedure is performed each time LBP encounters "1".
  • the position corresponding to the order with the largest number of votes is recognized as the standard position B.
  • the maximum number of votes is concentrated on the array element corresponding to the standard level of the voting array. Therefore, even if the influence of noise and the like is taken into account, the reference position mane can be correctly specified by the present algorithm. As a result, the message can be appropriately extracted from the partial image based on the specified reference position.
  • the data hiding method and the data extraction method using the above algorithm can be specifically used in the following system. (Count of appearance of TV commercials)
  • the broadcasting station has a useful amount, an encoding device, and a broadcasting device.
  • a commercial image is added to the recording mane, and the encoding device is for hiding information for counting the number of broadcasts of the commercial image in the commercial image.
  • the commercial surface image in which this information is hidden by the encoding device is broadcast by the broadcasting device.
  • the commercial surface image is encoded using the data hiding method described above. Encoding is performed based on the data contained in the count information, and is dispersed in the commercial image to hide the power point information.
  • the receiving side has a receiving device *, a function coding device, and a counter.
  • the receiving device receives the commercial image in which the counter information is already hidden.
  • the decoding device extracts the count information from the commercial surface image. Based on the extracted counter information, the counter counts the number of broadcasts of the commercial image.
  • the county information is extracted using the data extraction method described above.
  • the decoding is performed by specifying the position on the commercial image where the counter information exists in a dispersed manner, based on the data of the counter information.
  • the broadcasting station broadcasts the CM image with counter information that enables the receiving side to count the number of broadcasts in the CM image based on the hiding and algorithm. Therefore, the receiving side can count the number of broadcasts by extracting the count information.
  • FIG. 19 is a block diagram of such a system.
  • the server side has a media ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • the server controls the encoding device so that the message data is added to the media data read from the convenient means, and transmits the output data to the Internet.
  • the message 'de-night' is distributed and hidden in the 'media' data based on the contents of the message and data.
  • the receiving side has a proxy that receives the media data that has been subjected to the hiding process on the transmitting side from the Internet, and a decoding device that extracts message data from the received data. .
  • This extraction is performed by using the above-described data extraction method to specify the position of the message data that is distributed and arranged based on the content of the message 'data.
  • Additional information such as pointer information, such as the deficiencies of the sightseeing spot, the map, or the URL, is hidden in the photograph of the sightseeing spot displayed on the WWW server operated by the travel agency. If you use a WWW browser to make a network copy of the photo, you can later retrieve the map, etc. from the photo and check the tax statement and directions. As shown in FIG. 20, additional information can be extracted even after the connection between the client and the WWW server has been disconnected. Additional information is a separate file from photo data etc. Compared to the case where the information is displayed, the use of the hiding makes it possible to maintain the close relationship between the photo data and the additional information and to organize the data, making it easier to organize the data.
  • Finger 'printing' means that in the event that media 'data is issued to a third party, a mark is created in the media data in advance so that the issuer can identify the third party to which the issuer is issued. Say. In this way, if an illegal act such as a copy of the law is performed, the source of the copy can be specified. Therefore, if this third party is illegally distributed, a fee for illegal copying can be requested.
  • Water 'marking means that when a media is issued to a third party, a mark that allows the issuer to identify itself is hidden in advance. This guarantees that the data has not been altered in the distribution process, that is, that the data is from a legitimate publisher and has not been altered in the middle.
  • the system shown in Fig. 21 should be constructed.
  • the mark When publishing to a third party, the mark is hidden and issued.
  • a mark is extracted from data obtained from a third party.
  • the present invention can be widely used for systems using cable communication and satellite communication, systems using recording media such as DVD-ROM, and the like.
  • DVD-RAM DVD-ROM
  • the media and data are distributed after hiding the copy permission conditions, that is, information as to whether or not to prohibit copying. I do.
  • DVD players used by end 'users to copy media' data have a function to restrict copying. This hides the copy breaker.
  • the copy permission conditions extracted from the medium are extracted from the medium, and if it means that copying is prohibited, the operation is performed to prohibit copying.
  • the data extraction method described above can be specifically realized by a system having the following structure.
  • most of the functions of the system can be integrated into a single-chip integrated circuit.
  • detailed descriptions of these systems and semiconductor integrated circuits are omitted in order to avoid duplication, the matters described in the data extraction method and their expansions and modifications still apply. .
  • Those skilled in the art will understand the details of the following matters in the tax statement of the above method.
  • the system that extracts messages, data, and media from media data has conversion means, identification means, characteristic value calculation means, useful means, and extraction means. are doing.
  • the conversion means is an A / D converter that outputs a digital signal after converting the data into a digital signal and a message as an analog signal in which the message-data is hidden.
  • the specifying means is for specifying one block in which the message 'data is described in the media' data as the output of the converting means.
  • the characteristic value calculating means is for calculating the characteristic value of one block specified by the specifying means. In the notation means, the magnitude relation between the reference value that gives the reference of the characteristic fit and the characteristic value of the block is>
  • the conversion rules corresponding to the content of the evening are recorded. Further, the extracting means extracts the hidden message data according to the characteristic value of one block by referring to the conversion rule.
  • the reference value is a characteristic imitation of another block existing in the media data and different from one block.
  • the conversion rule that the means is useful for is that the characteristic value of one block is larger than the characteristic value of another block. It specifies that one bit should be extracted if the threshold is high, and that the other bit should be extracted if the opposite is true.
  • a semiconductor integrated circuit in which the above system is integrated into one chip has, as shown in FIG. 23, at least an execution means and an extraction means.
  • the calculating means is a means for obtaining a characteristic value for one block specified as having the message 'data in the media' data as an input signal.
  • the extraction means refers to a conversion rule corresponding to the content of the data to be extracted to determine the magnitude relationship between the reference value for providing the reference of the characteristic value and the characteristic value of the block, and to obtain the characteristic value of one block.
  • a message is generated based on the contents of the media data and the message data. Since the location of the message is determined, it is possible to perform data hiding that makes it difficult for a third party to modify the message.

Description

明 細 害 データ · ハイディング方法及びデータ抽出方法 [技術分野]
本発明は、 メディア · データ中にメッセージ · データを瞎し込むデー タ · ハイディ ング方法及び隱し込まれたデータを抽出するデ一夕抽出方 法に閱する。 [背景技術]
マルチメディア社会の発達により、 多くのデジタル化された面像情報 や音声情報がインターネッ ト上において、 または C D— R OM、 D VD - R O (または D VD— RAM) 、 D V C等の記録媒体として流通さ れている。 これらのデジタル情報は、 睢もが簡単に劣化のない完全なコ ピーを作成することができるため、 その不正な使用が問 Θになってきて いる。 こう した面像データや音声データといったメディア · データを第 三者が不法にコピーすることを防止するために、 もとのメディア · デー 夕に作者の署名といった別の情報をメッセージ ' データとして隨し込む (ハイディ ング) 技術が注目されて始めている。 デジタル化された面像 データ等が違法にコピーされた場合、 このコピー中に隱ぺいされた署名 を確認しその出所を特定することで、 それが違法な行為によるものかど うかを知ることができる。 このような隙し込みの技術は、 「データ · 、 イデイ ング」 と呼ばれている。
図 1は、 ディジタル化されたデータをディスプレー上に表示した中間 IS?画像である。 同図 (a) のデジタル化された面像であるメディア · デ
—夕には同図 (b) に示すような 「保母」 、 「川」 、 「園児」 及び 「烏」 といった写真! ¾明 (メッセージ) が隠ぺいされている。 メディ ア · デ一 タは写真などをもとに面像を細かく分割して、 小さな点ごとに明るさや 色彩を数値化することにより得られる。 その際、 画像のもとの数値を意 図的に少しだけ変化させておく。 数値の変化がごくわずかならば面像の 乱れはほとんどないので、 人間はその変化にほとんど気がつかない。 こ の性 Kをうまく利用すると、 もとの映像に全く別の情報 (メッセージ · データ) を隐し込むことができる。 この隱し込まれるメッセージ ' デ一 タはどのような情報でも構わないが、 例えば格子棋様、 定規のようなも の、 または面像の製作者の署名などが挙げられる。 メディア , データに 隱ぺいされたメッセージ · デ一夕は特別なプログラムで処理することに より抽出することができる。 従って、 この抽出されたメッセージ · デ一 夕に基づいてメディア . データが改ざんされていないかどうかを賙ベる ことができる。
図 1 ( b ) に示した各メッセージは画像上の意味のある領域付近に隠 ベいされている。 例えば、 「烏」 というメッセージは画像中の烏が存在 している領域付近に隱ぺいされ、 キャプション (補助的脱明) としての 役割を果たしている。 しかしながら、 所有者の情報などといったメッセ ージを画像中に隠べいするためには、 そのメッセージは画像中に広く分 散させることが好ましい。 メッセージの量が多い場合、 局所的にメッセ ージを ¾ベいするとその部分における面質の低下を招くからである。 ま た、 面像の一郁が切り取られた場合であっても、 メッセージが分散され ていればそれを抽出できる可能性が高くなるからである。 そのために重 要なことは、 分散され各メッセ一ジ片を随ぺいする位雷をどのようにし て決定するかということである。 この位億の決定は状態系列 Sに基づい て行われる。 状態糸列 Sの各要素を各メッセージに対応付け、 この要素 に基づき決定された所定位儺にそれに対応するメッセージを隱ぺいする のである。
従来のデータ · ハイディング方法において、 状態系列 Sは乱数列によ り決定されていた。 図 2は、 従来の方法に基づき画像上に分散されたメ ッセージ · データの配置を示す概略図である。 図 1 ( a ) に示す面像を I個の面像領域に分割し、 それぞれの面像領域に 0番目から 9番目まで 順番に番号を付していく。 次に、 メッセージ · データをメッセージ配列 mで表現し、 その配列要素を配列傲 m[n] (0≤π≤9)と記述する。 各配 列値は分割されたメッセージ · デ一夕に対応付けられている。 状態系列 S中の要素に基づいて指定される画像上の位置に各メッセージを隠べい していく。 0番目のメッセージ m[0]を隱ぺいする位置 Ρ ()は、 以下の式 で決定される。
(数式 1 )
状態値 SQ-初期値 (定数)
位置 P 0= S 0 mod I 上式は、 定数を初期値として状態値 SQに与えた後にこの状態値 SQに 対する I (画像領域の数) の剰余が位懂 。であることを示している。 位置 Ρ 0の黴は、 0から ( 1 — 1 ) の範囲のいずれかの整数 <1となる。 この整数傯を面像領域の順番に対応付けることにより、 i番目の面像傾 域にメッセージ m [0]を隊ぺいする。 1番目以降のメッセージ m [π]は、 以下の式に基づいてその隧し込む位 « Ρηが決定される。
(数式 2 )
S = R n d (S„ ,)
η η-1
ρ = S mod I
η η この式は、 一つ前の状態倣 を乱数の種(seed)として擬似的な乱 数列を発生させ、 これを次の状態値 snとすることを示している。 そし て、 この状態値 S _に対する I の剰余を位置 Ρπとする。 この値に対応す る面像傾城にメッセージ m [π]を隠べいする。
陳ぺいされたメッセージは、 状熊値 S Q (初期値) を知っている者の みが読み出すことができる。 メッセージを抽出する場合、 この初期倣に 基づき状態値 S Qに統くすベての状態値 ( S ^ ···、 S n) を計算する。 そして状態値に対応した位雷を特定し、 その位置中に隠べいされたメッ セージを抽出する。
図 2からも分かるように、 n番目のメッセージ m [π]を画像上に配量 する位置を決めるための状態値 Snは状態値 にのみ依存しているの で、 状態値 が決まれば状態値 S _の値も決定される。 同様に、 状態 ffl S n ,も状態値 Sn 9にのみ依存している。 これを再帰的に緣り返すと,
Π - 1 Ώ- 状態系列 Sのすベての要素 ( S^ S r S2、 · · · 、 Sg) を求めるこ とができる。 結局、 状態系列 Sのすベての要素は, 最初に初期健として 与えた定数のみに依存して決定されることが分かる。 そのため, 初期値 が特定されれば状據系列 sを求めることができるので、 分散されている メッセージのすべての位置を特定でき、 かつそれらの隱ぺいされている メッセージ内容を抽出することが可能となる,
初期値が第三者に公開されている場合、 または初期佃を秘密にしてい たにも閱わらず第三者に知られてしまった場合、 この第三者は初期値を 用いてメッセージの配置位憶を容易に特定できるため、 その者がメッセ ージ · データを消し去さったり、 別のメッセージ · データを上害きした りするおそれが生じる。 従来の方法では、 第三者が本来の署名を消し去 つてその著作物の出所を不明にするといつた行為や、 本来の署名上に別 の署名を上書きしてあたかもその者が著作者であるように振る舞う行為 を有効に防止することが困難であった。
そこで、 本発明の目的は、 画像や音声といったメディア · データにメ ッセージ · データを分散して眯し込むための新規な方法を提案すること である。 また、 本発明の別の目的は、 第三者がメッセージ · デ一夕を改 変することが困難なデータ · ハイディング方法を提供することである。
[発明の開示]
上記目的を解決するために、 第 1の発明は、 メディア · —夕がメデ ィァ配列として表現されると共に、 メッセージ · データがメッセージ配 列として表現されている場合に、 メディア配列中の特定の配列要棄を指 定する状態値 Sに基づいて、 メッセージ配列の配列要素を分散してメデ ィ ァ配列に隙べいするデータ · ハイディ ング方法に関するものである。 第 1の発明は具体的には次のステップを有している。
(a) j ( j ≥ 0 ) 番目の状態値 S jを決定するステップ
(b) j 番目の状態値と、 j 番目の状態値により指定されるメディア配列 の配列要素と、 前記メッセージ配列の配列要素とに基づいて、 ( j + 1 ) 番目の状態値 s j + 1を決定するステップ
(c) ( j + 1 ) 番目の状態値 S j + 1が指定する前記メディア配列の配列 要素に対して、 ハイディ ング · データを隱ぺいするステップ メッセージ配列が J個の配列要素を有している場合には、 上記のステ ップ(a)乃至(c)を再帰的に実行することにより、 J個の配列要素が隠べ いされる。 ここで、 j = 0の場合、 つまり最初の状態値 S Qは、 メッセ
—ジ配列の配列要素が有するデータに基づいて、 決定される。 具体的に は、 最初の状態 « S Qを決定する初期閱数を用意し、 メッセージ配列の すべての配列要索が有するデ一夕に基づく値 (例えば、 それらのデータ の排他的論理和) をこの初期関数の入力とする。 そして、 初期 数の出 力を最初の状態値 S Qとするのが好ましい。
上 Eステップ(b)において、 ( j + 1 ) 番目の状態傲 S J + 1は、 j 番目 の状態慽 S jと、 この状熊値により指定されるメディ ア配列の配列要素 が有するデータと、 メッセージ配列の配列要素が有するデータとの排他 的綸理和に基づき決定される。 具体的には、 ハイディ ング用位懨変換関 数を用意し、 この排他的論理和を位置変換関数の入力とし、 位置変換関 数の出力を ( j + 1 ) 番目の状態値 s j + Iとすることが好ましい。 例え ば、 このハイディング用位置変換関数は、 公開鍵方式における秘密鍵を パラメータとした暗号化閲数とすることができる。 上記のハイディ ング データは、 j 番目の状態値 S jにより指定されるメディァ配列の配列要 素とメッセージ配列の配列要素との排他的綸理和としてもよい。
また、 第 2の発明は、 メッセージ ' データがメッセージ配列として表 現され、 メッセージ ' データを含んだハイディ ング ' デ一夕がハイディ ング配列として表現され、 かつハイディング · データが分散して隠べい されているメディア · データがメディア配列として表現されている場合, メディァ配列中の特定の配列要素を指定する状態値に基づいて、 メディ ァ配列からメッセージ配列を抽出するデータ抽出方法に関するものであ る。 この第 2の発明は以下のステップを有している。
(a) j ( j ≥ 1 ) 番目の状態慽 S ,を決定するステップ
(b) j 番目の状態値 S jにより指定されるメディア配列の配列要素から、 ハイディング配列の配列要素を抽出するステップ
(c) j 番目の状態倣 S jと、 抽出されたハイディ ング配列の配列要素に 基づいて、 ( j 一 1 ) 番目の状態値 S を決定するステップ
(d) ( j - 1 ) 番目の状態傯 S が指定するメディァ配列の配列要素 及ぴ抽出されたハイディング配列の配列要秦に基づいて、 メッセージ配 列の配列要素を抽出するステップ 上記ステップ )乃至(C)は、 抽出終了条件が満たすまで再帰的に実行 される。 この条件を満たした場合, メッセージ配列のすべての配列要素 が抽出されている。 上記ステップ(a)において、 抽出を開始する際に最 初に用いる状態槭 S jは、 抽出に必要な情報として抽出者に予め与えら れている。 例えば、 この状態値 S jは、 メッセージ配列を隠べいする際 に生成された最後の状態値としてもよい。 上記ステップ(c)において、 ( j - 1 ) 番目の状態値 S は、 j 番目の状態値 S jと、 ハイディ ング 配列の配列要素が有するデータとの排他的論理和に基づいて決定される。 このハイディング配列の配列要索は、 j 番目の状態値 S jにより指定さ れるメディア配列の配列要素から抽出される。 また、 抽出用位置変換関 数を予め用意しておき、 上記ステップ(c)において、 j 番目の状態値 S j と、 上記のようにして抽出されたハイディ ング配列の配列要素が有する データとの排他的論理和を位置変換関数の入力とし、 位 «変換 数の出 力を ( j 一 1 ) 番目の状態 fit s f としてもよい。 この抽出用位懂変換 M数は、 例えば、 公開鍵方式における公開鍵をパラメータとした復号化 閭数が挙げられる。 上 ステップ(b)において、 ハイディング配列の配 列要素は、 ( j — 1 ) 番目の状想値 S , ェにより指定されるメディア配 列の配列要素とメッセージ配列の配列要素との排他的綸理和とする。 また, 第 3の発明は、 メディア ' データ中にメッセージ , データを隠 ぺいするデータ . ハイディング方法において、 (a) メッセ一ジ . データ を隨ぺいすべき一のプロック (画像データであればピクセル · ブロック) をメディア · データ中において特定するステップと、 (b) 特定された一 のブロックの特性攄 (例えば、 面素値、 輝度値、 分散値等) を求めるス テツプと、 (c) 隠べいすべきデータの内容を、 特性値の基準を与える基 準値とブロックの特性値との大小閱係に対応づけた変換規則を参照して、 一のプロックの特性値を操作することによりメッセージ データを隙べ いするステップとを有するデータ · ハイディ ング方法を提供する。
ここで基準値は、 メディア ' デ一夕中に存在する他のブロックの特性 値により与えてもよい。 一のブロック及び他のブロックをメディア · デ 一夕中で特定する場合、 これらのブロックでペアを構成し、 それぞれの ブロックの特性値を求める。 そして、 それぞれの特性値の大小関係を比 較して、 変換規則に基づいてペアを構成するそれぞれのプロックの特性 値を操作 (例えば特性値を入れ替える等) することにより、 メッセージ ' データを隠ぺいする。 もし、 メッセ一ジ ' データが多ビッ トで構成され るならば、 上記のステップ(a)乃至(c )を繰り返し実行する。
第 4の発明は、 メッセージ ' データが隠ぺいされたメディア ' データ 中からメッセージ · データを抽出するデータ抽出方法において、 ) メ ッセージ · データが隠ぺいされている一のブロックをメディア ■ デ一夕 中において特定するステップと、 (b) 特定された一のブロックの特性値 を求めるステップと、 (c) 特性倣の基準を与える基準値とブロックの特 性慷との大小閱係を、 抽出すべきデータの内容に対応づけた変換規則を 参照して、 一のブロックの特性値に応じて、 隠ぺいされているメッセ一 ジ . データを抽出するステップとを有するデータ抽出方法を提供する。 ここで、 基準値はメディア · データ中に存在し、 かつ一のブロックと は異なる他のブロックに する特性値であってもよい。 一のブロック及 び他のブロックをメディア · データ中で特定する場合、 これらのブロッ クでペアを構成し、 それぞれのブロックの特性値を求める。 そして、 ぺ ァを構成するそれぞれのブロックの特性値の大小関係を、 抽出すべきデ 一夕の内容に対応づけた変換規則を参照して、 それぞれのブロックの特 性値に応じて、 I»ベいされているメッセージ ' データを抽出する。 この 変換規則は、 一のブロックの特性値が他のブロックの特性値よりも大き い場合、 一方のビッ トを抽出すると規定し、 逆の場合には、 他方のビッ トを抽出すると規定している。
第 5の発明は、 上述のデータ抽出方法を実現するシステムに関する。 すなわち、 メッセージ ■ データが隨ベいされたメディア · データ中から 隠ぺいされたメッセージ · データを抽出するデータ抽出システムにおい て、 メッセージ · データが隠べいされた、 アナログ信号としてのメッセ
—ジ · データをデジタル信号に変換して、 出力する変換手段と、 変換手 段の出力としてのメディア ' データ中において、 メッセージ · データが 隙べいされている一のブロックを特定する特定手段と、 特定手段により 特定された前記一のプロックの特性値を求める特性値計算手段と、 特性 椭の基準を与える基準値とブロックの特性傲との大小閱係を、 抽出すベ きデータの内容に対応づけた変換規則を記慷する記億手段と、 変換規則 を参照して、 一のブロックの特性値に応じて、 隠べいされているメッセ —ジ · データを抽出する抽出手段とを有するデータ抽出システムを提供 する。
さらに, 第 6の発明は、 上述のデータ抽出システムの機能をワンチッ ブ化した半導体集積回路に閱するものである。 すなわち、 メッセージ . データが隱ぺいされたメディア · データ中からメッセージ · データを抽 出する半導体集積回路において、 入力信号としてのメディア ' データに おいて、 メッセージ . データが賺ぺいされているものとして特定された —のブロックに関して特性慽を求める手段と、 特性値の基 *を与える基 準値とブロックの特性館との大小閱係を、 抽出すべきデータの内容に対 応づけた変換規則を参照して、 前記一のブロックの特性値に応じて、 隠 ベいされているメッセージ · データを抽出する抽出手段とを有する半導 体集積回路を提供する。 [図面の簡単な脫明]
図 1 は、 ディジタル化されたデータをディ スプレー上に表示した中間斕 画像である。
図 2は、 従来の方法に基づき面像上に分散されたメッセ一ジ ' データの 配懨を示す概略図である。
図 3は、 メディア配列及びメッセージ配列を眹明するための図である。 図 4は、 ハイディ ング処理の対象となるメディ ァ配列倣の 係を示した 概略図である。
図 5は、 随ぺいされる対象を税明した概略図である。
図 6は, メッセージ · データをメディ ア · データ中に隠べいする手順を 示したフロー図である。
図 7は、 ハイディングにおける状態値 と状態値 S jとの関係を示し た閱係図である。
図 8は、 隠ぺいされたデータからメッセージ · データ抽出する手順を示 したフ口一図である。
図 9は、 抽出における状態値 S jと状態館 S j ^との閱係を示した閱係図 である,
図 1 0は、 生成されたメッセージ配列値がメッセージの先頭であるかど うかの判定を脱明するための図である。
図 1 1 は、 改変等により閒違った状態系列 Sが生成された状態を示す概 念図である。
図 1 2は、 P B Cを用いたデータのハイディ ング及び抽出を脱明するた めの図である。
図 1 3 は、 1画素をピクセル · ブロックとした場合の P C Bによるハイ ディングを税明するための図である。
図 1 4は、 メッセージと位置情報とをオリジナル画像中に隠べいするこ とを眹明するための図である。
図 1 5は、 同心円弧を位僵情報として用いた場合の図である。
図 1 6 は、 位置情報として同心円弧を用いた場合における基準位置 Bの 特定を脱明するための図である。
図 1 7は、 同心円弧を位置情報として用いた場合のハイディ ング及び抽 出を脫明するための図である。
図 1 8は、 放送システムにおけるブロック図である。
図 1 9は、 インターネッ トにおける送信側及び受信側のプロック図であ る。
図 2 0は、 サーバとクライアン トのブロック図である
図 2 1 は、 フィ ンガー · プリンティイ ング及びウォー夕一 · マ一キング 用システムのプロック図である,
図 2 2は、 データ抽出システムのブロック図である。
図 2 3は、 データ抽出システムをワンチップ化した半導体集精回路のブ ロック図である。
[発明を実施するための最良の形態]
A . データの定義
まず、 以下の配列及び系列について定義する。 ( 1 ) メディァ配列 : M
( 2 ) メッセージ配列 : m ( 3 ) 状態系列 : S
( 4 ) 位置系列 : P
( 1 ) メディア配列 M
メディ ア · データとしては、 画像データ、 音声データ等が挙げられる。 埋め込まれるデータであるメディア ■ データをメディア配列 Mによって 定義し、 その配列要素であるメディア配列値 M[i]を以下のように表現 する。 (数式 3 )
M : { 0, ΜΓ ···、 MR ■ ··、 MJ_J } または、
M [i] 0≤1≤I-1 I : メディア ' データの長さ 例えば、 メディア ' データが図 1 ( a ) のような画像の場合、 その画 像は図 3 ( a) に示すように I個の画像傾域に分割し最初の面像傾域を
0番目のメディア配列値 M [0]とする。 i 番目の面像傾域がメディア配 列値 M [i]となり、 最後の面像領域はメディア配列値 M [1-1]となる。 各 メディァ配列倣が有するデータはその配列値が対応する面像領域の画像 情報である。 画像情報は白黒画面ならば濃度であり > カラ一面面ならば 色の輝度などが挙げられる。 面像領域の数が画索数と一致する場合、 メ ディア配列攄 M [i]は i 番目の面素の画素値となる。 画像領域が例えば 3 X 3面素というように褸数の面素で構成されている場合、 画像情報は それぞれの面素値である。 メディア ' データが音声の場合、 メディア配 列値 M[i〗は時 M i における振幅値として定義できる。 なお、 各配列値 M [i]が有するデータは BMパイ 卜の整数で表現されているものとする。
( 2 ) メッセージ配列 m メディ ア · データ中に埋め込まれるメッセージ · データとしては、 例 えば画像の作成者に Mする情報、 製造番号、 日時、 場所等の管理情報、 または複写許可に する情報などが挙げられる。 メッセージ · データを メッセージ配列 mによって定義し、 その配列要素であるメッセージ配列 値 m[j]は以下のように表現する。
(数式 4 )
m {m m . m
0、 r m J_J } または
m [J] 0≤J≤J-1 J : メッセージ ' データの長さ 例えば、 図 3 ( b ) に示すように、 「DATAH I D I N G] という 1 0文宇の英数字がメッセージ ' データである場合、 j 番目の英数字を メッセージ配列値 m[j-l〗に対応づけ、 それが有する内容は対応する英 数字を示すデータとする。 各配列値 m[j]が有するデータは B バイ ト (
m
英数宇の場合には 1バイ ト) の整数をで表現されているものとする。 な おこの場合、 メッセ一ジ ' データの長さ Jは 1 0 となる。
( 3 ) 状態系列 S
ハイディ ング処理を行う位置 (メディア配列値) を決定するために状 態系列 Sを定義し、 この系列の要素である状態値 S ,を以下のように表 現する
(数式 5 )
S ( s0, sr 、 S j) または,
S , 0≤j≤J J : メッセージ · データの長さ この状熊系列 sを生成するためのアルゴリズムは本実施例における重 要な点の一つである。 状態系列 Sの要素数は ( J + 1 ) 個であり、 これ はメッセージ配列 mの要素数 J よりも 1個だけ多い点に留意されたい。
( 4 ) 位置系列 p
位懂系列 Pは、 ハイディング処理を行う位置を下式から具体的に特定 するためのものである。 の位置糸列 Pの要素である位置 P jは以下の ように表現される
(数式 6 )
P { P p j) または
0、
O^J^J J : メッセージ ' データの長さ p j = S j mod I 位置系列 Pは状態系列 Sと同数 ( J + 1 ) の要素を有している。 位置 系列の要素である位懨 P,は同じインデックス値 j を有する状態懺 S jに 対する I の剰余として求められる。 従って、 位置 P jが有する値は 0か ら ( 1 — 1 ) の間のいずれかの整数となるので、 この iに対応する画像 領城をハイディング処理の対象の傾域とする。 1 は画像頜域の数という 定数なので、 状態値 さえ定まれば位置 p ,の値も一意に定まる。 従つ て、 ハイディング処理の対象となる位置は実質的に状態系列 Sにより特 定されている。
B . ハイディ ングのアルゴリズム
本実施例におけるデータ · ハイディ ング方法は隱ぺいされたデータを 抽出するアルゴリズムと密接な関係を有している。 すなわち、 ¾ぺいさ れたデータを抽出しようとする第三者が所定の情報を有していることを 条件に、 メッセージを見ることができる。 この場合に重要なことは第三 者がメッセージを抽出する際にその改変を有効に防止することである。 この点に ϋみ本発明は以下のような 3つの特徴に基づきデータを隠ぺぃ している。
( 1 ) メッセージの特撖に基づいて状態攄 S Qを決定
( 2 ) メッセージ及び面像データに基づいた状態系列 Sの決定
( 3 ) 隠ぺいの対象となるデータ
( 1 ) メッセージの特撖に基づいて状態 S Qを決定
状態系列の最初の要素である状態値 はメッセージ配列のすべての 要素 (m [0]、 m [l]、 · · · , m [9] ) の排他的輪理和を入力とする初 期関数 f mの出力である。 状態値 S Q及びそれに基づき定まる位置 p Q は下式で決定される。
(数式 7 )
S f TMI (m [0] XOR m [1] XOR m [2] XOR XOR M [n-1] )
0 INI
p Q = S 0 mod I 従来の方法では、 埋め込むメッセージの内容に関わらず、 ある定数を 初期館として与えて最初の状態値 を決定していた。 これに対して、 この実施例はメッセージの内容、 つまりすべてのメッセージ配列値に基 づぃてこの要素を決定している。 図 4は画像上にメッセージ · データを 分散した状態を示す概略図である。 最初の位懂 P Qは最初の状態偃 か ら特定され図示のような場所になる。
最初の状態値 SQをメッセージ配列 mの特徴から決定している点は本 アルゴリズムの特撖の一つである。 これにより最初の状態値の与え方を 単に複雑にするためだけではなく、 第三者の不正なメッセージの上害き をも有効に防止できる。 初期関数 f INIはメッセージの抽出時において 終了判定のための閲数としても用いられる。 これにより第三者が本来の メッセージ以外のメッセージを新たに書き込むことを防止できる。
( 2 ) メッセージ及び画像データに基づいた状態系列 Sの決定 状饈儂 SQから次の状態値 S jを求める。 次の状態値は以下の式により 特定される。
(数式 8 )
S K ( S 0 XOR m [0] XOR M [ p Q] )
S l= すなわち、 次の状態値ョ は、 現在の状態膣 SQ、 この状態価が指示す るメディァ配列值 M[pQ]及びメッセージ配列値 m[0]の排他的論理和を 入力とした M数 S Kの出力として決定される。 こ こでメディ ア配列倣 M [PQ]は状態値 から計算される位置 P ()の画像領域のことである。 状 態値 s2以降も同様であり、 この関係を一般的に表すと下式のようにな る。
(数式 9 )
S J + 1= S K ( S J XOR m[j] XOR M [ p ] ) 関数 S Kは次の状態懺を求めるための位置変換関数であり、 現在の状 態値、 メッセージ配列値及びメディア配列値の排他的論理和をその入力 としている。 このようにして上記の計算を再帰的に実行することで順次 状態慽を求めていく。 この状態値は ( J + 1 ) 個求める必要があるので 最後の状態餹は S jとなる。 図 3 ( b ) のようにメッセージ配列の要素 数が 1 0ならば、 1 1個の要素数を有する状態値を生成する。 このよう にして状態系列 Sを求めることでハイディ ング処理の対象となるすべて の画像領域を特定する。 図 4はハイデイング処理の対象となるメディァ 配列値の関係を示している。
従来の位置系列が最初に与える初期値のみに依存して決定されるのに 対し、 本アルゴリズムにおける位量系列はメッセージ配列値及びメディ ァ配列値をも考慮して決定されている。 第三者が本来のメッセージ上に 別のメッセージを上書きしようとした場合、 これにより生成される状態 系列が異なるので上害きは非常に困難となる。 このことは第三者が面像 データ自身を改変しょうとした場合においても同様である。
( 3 ) 隠ぺいの対象となるデータ
図 5は隱ぺいされる対象を脫明した概略図である。 前提としてハイデ ィ ング処理の対象となる位懂系列 Pが特定されているものとする。 まず、 位懂 PQには如何なるデータも隱ぺいせずに隠ぺいは位置 P j以降の面像 傾城に施される。 具体的には、 メディア配列値とメッセージ配列倣との 排他的綸理和結果が隠べいの対象となる。
まず、 位置 pQでは単にメディア配列値 M[0]のみを取り出す。 次に、 位量 Pェにおける処理として、 メッセージ配列値 m[0]と取り出されたメ ディア配列値 M [0]との排他的論理和を求めてこの結果を位懂 1に隠べ いする。 この隠べいにより、 メディア配列偃 M tP ]の内容が変わる。 さ らに、 位置 P2における処理として、 メッセージ配列億 m〔l]と前の処 理により内容が変わったメディア配列値 M [1]との排他的論理和を求め、 この結果を位置 P2に隱ぺいする。
このようなハイディ ング処理を位置 P 1Qまで実行することでデ一夕の I»ぺいが完了する。 なお, 位置 P 1Qに隗ぺいされる対象はメッセージ配 列値 m [9]と前の処理で内容が変更されたメディァ配列値 M [9]との排他 的論理和配列である。 状態糸列 S及び位置系列 pの要素数をメッセージ 配列の要素数よりも 1つ多く股けたのは, 位置 P だけはデータの隠ぺ いが行われないからである。
本アルゴリズムにおいて、 隧ぺいされたメッセージを逆に抽出する場 合、 一番最後のメッセージ配列値 m [9]から逆順で再帰的に抽出する。 本アルゴリズムで隠べいされる対象を、 メッセージ配列とメディア配列 の排他的論理和の結果としたことは、 メッセージの抽出手順と密接に 係している。 従って、 この詳細は後述の [メッセージ . データの抽出] の檷において述べる。 また、 データを実際にハイディ ングするアルゴリ ズムに閱しては様々な方法が考えられる。 第 2の実施例では、 データを ハイディ ングするアルゴリズムの—例として P B C (Pixel Block Codin g)という方法について晚明する。
C . 第 1の実施例
以下、 第 1 の実施例を図 6の手順に従ってさ らに具体的に税明する。 図 6はメッセージ · データをメディア · データ中にハイディングする手 順を示したフロー図である。 以下の税明においては、 適宜、 図 4または 図 5を参照されたい。
初期状態値の計算 (ステップ 1 0 0 )
データの隠べいを行うためには位億系列 Pを決定しなければならない が、 そのためにまず最初の位置 P [0]を決定する。 この最初の位置 p [0] は最初の状態値 sQを入力とした初期閱数 ί ΙΝΙの出力として決定される が、 この変数 S。は以下の式で決定される。 (数式 1 0 )
S 0= f INI (m[0]、 m [l]、 m [2]、 · · . 、 M [J-l] ) =H 1 (m[0]//m[l]//m [2]// - · - //M[J-1]) ここで H 1 はハッシュ M数である。 また、 演算子 「〃」 はメッセージ 配列の各要素をつなげるという意味である。 この具体的な演箅は、 例え ば配列要素が有するデータの排他的論理和であってもよい。 但し、 排他 的論理和とした場合にはメッセージ配列値の順序は計算結果に反映され ない。 つまり, 図 3 ( b ) の 「DATAH I D I N G] と [TADAH I D I N G] とは同じ値となる。 そこで例えば、 C R C (Cyclic Redund ancy Check)という方法を用いればこの順序閱係を反映することができ る。 このアルゴリズムはチェックサムを計算するためのアルゴリズムの 一つで、 データ列の内容及びデータ列の順序に依存した出力を生成する。 このハッシュ関数 H I は、 バイ ト長が Βπバイ トである入力 (配列値 m[l]) に対して、 それと異なるバイ ト長 Kの出力 (ハッシュ値) を求 める M数である。 この 数は一方向閟数であるから、 H(x) =yにおいて yから Xを推定することは事実上不可能である。
この Kパイ 卜のハッシュ値をデータ · ハイディングを実行する際の初 期値 SQとして用いる。 ハッシュ値はデータ ' ハイディ ングの際に単に 初期値として用いられるものであり, 異なる入力に対して異なる出力が 事実上保証されていれさえすればよい。 従って、 ハッシュ値の値自身に は特刖な意味はない。 重要なことは、 その演算により配列の特微を示す 健を出力すること、 つまり配列要素全体の内容に基づいてハッシュ値が —意に定まりかつその値が配列全体の内容により異なることであるとい う ことに留 *されたい。
メッセージ · データが図 3 ( b ) に示した 「D ATAH I D I N G」 の場合、 すべての英数字を示すデータ (配列値 ΙΏ [Πが有するデータ) の排他的論理和に対するハッシュ閿数 H 1の出力が状態値 SQとなる。 この状態倣 SQに対する I (画像領域の数) の剰余が位置 pQとなる。 こ れにより初期状態慷として状態値 SQ及び位慨 pQが得られた。
画素値の抽出 (ステップ 2 0 0 )
ステップ 1 0 0で得られた位懨 P Qの倣に対応する面像領域が有する 面像情報を求める。 例えば位懂 P Q= i ならばメディア配列値 M[ i ]で ある。 このデータは BMバイ トの整数で表現されている。
次状態の計算 (ステップ 3 0 0 )
ステップ 1 0 0で求めた状態値 SQの他に、 メッセージ配列値 m〔0]及 ぴこの状態値 SQから特定されるメディア配列慽 M[pQ]から次の状態値 エを決定する。 状態値 S 1は以下の式で求められる。
(数式 1 1 )
S j= S K ( S 0 XOR m [0] XOR M [P Q] )
(但し、 XORは排他的綸理和演算) つまり、 状態値 S。、 メッセージ配列値 m[0]及びメディア配列值 M [ P(j]の排他的論理和を求め、 この結果を関数 S Kの入力とする。 そして 関数 S Kの出力を次の状態 «S iとしている。 このような閟数 S Kを位 雷変換閿数と呼び、 特にメッセージ ' データをメディア · データ中に隱 し込むための位釁変捵 M数 S Kをハイディング用位懨変換閱数と呼ぶ。 なお位置変換閱数 S Kは隱ぺいされたデ一夕を抽出する抽出用位懂変換 関数 P Kと密接な 係を有するので、 この M数の詳細は後の抽出用位釁 変換 数の脫明において詳述する。
状態 ffiS2以降も同様の手順を実行することで求めることができる。 これを一般化すると j 番目の状態値 S j及び位置 P jは以下の式で表現で きる。
(数式 1 2 )
S ])
Figure imgf000023_0001
p j = S j mod I
( S K : ハイディング用位置変換関数) ここで、 位置 Pjは、 前の状態傲 Sj— 以外にも、 メッセージ ' データ 及びメディア · データの内容に基づいて決定されている点に再度留意さ れたい。
ハイディング用位置変換 M数 S Kの入力として用いられる状態値 Sト Γ メッセージ配列値 m[j-l]及び メディ ア配列値 M [p j^]が有する データのビッ ト長は、 それぞれ Kバイ ト、 Bmバイ ト、 BMバイ トと異な つている。 ビッ 卜長が異なる入力に対して排他的論理を計算することは もちろん可能であるが、 各入力が同じビッ ト長になるように変換した上 で排他的論理和を計算する方が好ましい。 すべての入力のパイ ト長を位 置状態が有する Kバイ 卜に揃えるために以下の 2つのハッシュ関数 H 2. H 3を用いる。
H 2: B Λ'仆の整数から ΚΛ'仆のハッシュ値を生成するハッシュ閱数
Η 3: Β„Λ·仆の整数から Β ; 仆のハッシュ値を生成するハッシュ関
IB
数, すなわち、 メッセージ配列値 m [j-l]に対しては、 ハッシュ関数 H 2 を用いて、 この配列慽が有する B—パイ トの整数から Kバイ 卜のハツシ ュ値を生成する。 また、 メディア配列値 M[pj ]に対しては配列傲が 有する Buバイ トのビッ ト長の整数をハッシュ閱数 H 3を用いて、 B パ イ トのハッシュ值に変換する。 そして、 さらにハッシュ関数 H 2を用い ることにより Kバイ トのハッシュ値を生成する。 なお、 上述した (数式 7 ) はこのように入力がハッシュ関数で変換されている場合も含めた表 現とする。
メッセージの埋め込み (ステップ 4 0 0 )
メッセージ配列値 m [j-1]とメディァ配列値 M[p との排他的綸理 を求めてこの結果をハイディ ング配列値 Mm [j-1]が有するデータとす る。 ステップ 3 0 0で求められた位置 P jにはこのハイディ ング配列値 Mm [j-1]が有するデータが IIベいされる。 ここでハイディ ング配列値 Mm [J-1]とは、 ハイディ ング配列 Mmの配列要素であって次式のよう に定義される。
(数式 1 3 )
Mm : { Mm [0] , Mm [1] , ···, Mm [j] , '··、 Mm [J-1] }
Mm [j] =m [j] XOR M [p }] ここで重要なことは、 賺ぺいされるデータはメッセージ配列 ffim[j] 自身ではなく, メッセージ配列値 m[j]とメディア配列値 M [p j]との排 他的論理和により生成されるハイディ ング配列値 Mm [j]であるという ことである。 ハイディ ング配列値 Mm[j- 1]は、 関数 Xによって位懂 P j に隠べいされる。 これにより、 メディア配列値 M〔 p j]の有するデータ が変化する。 内容が変化したメディ ァ配列値 M [p j]を M' [p ,]で表す。 なお、 関数 Xの具体的な内容、 つまりハイディング配列を所定の位置に どのようにして隨ぺいするかというアルゴリズムについては、 その一例 である P B Cを第 2の実施例において脱明する。 判断 (ステップ 5 0 0)
j の値が J (メッセージ配列の要棄数より 1大きい値) と等しいかど うかを判断する。 jが Jに等しいということはすべてのメッセージ配列 値の隠ぺいが完了したことを意味する。 j の佃が J に滴たない場合は、 j に 1を加えてステップ 2 0 0に戻り j の値がが Jになるまでステップ 2 0 0から 40 0を再帰的に実行する。 このようにして下式で表される ( J + 1 ) 個の要素を有する状態系列 s及び位懂系列を得ることができ る。
(数式 1 4 )
状態系列 S : { S s r s2, 、 SJ}
位置系列 P { P 0、 2、 また、 メディア配列 Mはデータが隊ベいされることによりその要紊は 以下のように変化する。
(数式 1 5 )
(ハイディ ング前のメディア配列)
M : { M [0] , ·· M P0]、 M P l]、 、 M P H] }
(ハイディング後のメディア配列)
M ': { ' [0] , · ·、 M ' [ p M
0J P l] 、 ' M' [Pト }
{M [0]、 ···, M [p M' [p
0J
、 1 M ' [P H] }
M' はハイディ ング後のメディア配列を意味し、 また M' [i]はハイ デイング前のメディア配列値の内容が変化したことを示す。 つまりメラ ィァ配列 M'は本来のメッセージ配列 Mの要素の内の状態系列 Sで特定 される J個の配列要素の内容のみが変化したことを意味している。 なお, 状態値 nに対応する配列要素 M [P d]は、 データ内容が変化しないので、 M'ίp()]はM[p()]に等しぃ。
図 7は、 ハイディ ングにおける状態値 Sj と状態絛 Sjとの関係を示 した閱係図である。 次の状態値 Sjは、 状態値 S 及びハイディ ング配 列 Mm[j-1〗 (Μ ' [P J.J] XOR m[j-l]) の排他的綸理和を計算し、 こ の計算結果を位置変換 M数 S Kの入力とすることによって求められる。 メディ ア配列倣 Μ^ρ ^は前状態のハイディングで既にその内容が変 化している。 また隱ぺぃ対象であるハイディ ング配列値 Mm[p は、 関数 Xにより位置 p jに隠ぺいされる。 これによりその位像のデータ M[
P j]が変わる。
状態倣の抽出 (ステップ 6 0 0 )
最終的に、 以下の 2つの情報を抽出することにより、 メッセージの嗯 ぺいは終了する。
( 1 ) ハイディ ング後のメディア配列 M'
( 2 ) 最終状態値 S j メディア配列 M'はステップ 4 0 0でデータをメディア ' データ中に 隠べいすることで最終的に得られた配列である。 また最終状態値 は 最後に計算された J番目の状態倣である。 これらの情報は以下に説明す るメッセージ · データを抽出する際に必要となる。 なお、 隠べいされた メッセージを抽出する際には、 ft後、 すなわち J番目の状態値のみを抽 出者が知っていれば、 ( J一 1 ) 番目以前の状態値 ( SQ乃至 sJ ) を 直接知っている必要はない。 これらの状態値は最終状態値を逆変換する ことで再帰的に特定できるからである。 もちろんこの抽出者は後述する 必要な情報を有していることが条件である。
(メッセージ · データの抽出)
メッセージ · データの抽出を実行するために第三者に与えられる情報 は、 以下の 3つである。
( 1 ) ハイディ ング後のメディア配列 M'
( 2 ) 最終状態値 S j
( 3 ) 抽出用位置変換閱数 P K 情報 ( 1 ) 及び情報 ( 2 ) は、 上述の通りメッセージ · データを埋め 込む際に最終的に生成された情報である。 ここで情報 ( 3 ) の抽出用位 懂変換閼数 P Kについてハイディ ング用位置変換関数との関係を考盧し つつ説明する。
a . 八イデイ ング用位置変換関数 S K、 抽出用位懂変換関数 P K
メッセージを陬ぺいする際に次の状態値を生成する閱数をハイディ ン グ用位置変換閱数 S Kを定義したように、 メッセージを抽出する際にお いても前の状態値を生成する闋数を抽出用位懂変換関数 P Kを定義する。 ハイディ ング用位置変換閱数 S Kと抽出用位懂変換閱数 P Kは、 以下の 式に示すように逆 数の関係が成立する。
(数式 1 6 )
P K ( S K ( X ) ) = X
S K ( P K ( X ) ) =
従って、 メッセージ配列 mをハイディ ング用位置変換閱数 S Kを用い て変換した結果に対して、 その逆閟数 P Kでさ らに変換すれば最初のメ ッセージ配列 mを抽出することができる。
上記の式を满たすような閧数は様々な 数が考えられる。 しかしなが ら、 第三者が与えられた抽出用位置変換関数 P Kからハイディング用位 置変換関数 S Kを再現することを事実上不可能にするために、 この関数 として公開喑号方式における睹号化関数及び復号化関数を用いているこ とが好ましい。 公開鍵方式のアルゴリズムはいくつかの方式が存在する がそのどれを用いてもよい。 一例として典型的な方式である R S A方式 について脱明する。 R S A方式のアルゴリズムは、 以下の通りである。
1 . 2つの大きな素数 p、 qを選び、 n=p*qを計箅する。
2. r。lcm(p-l,q-l)を計算し、 gcd (d, r) =1になるように dを選ぶ。
3. e*d=l (mod r)、 0<e<rとなるように eを決定する。
4. eを公開鍵として公開し、 nも公開する。 dは秘密鍵として秘密にし ておく。
5. あるメッセージ mの暗号化は、 me= c (raod n)を満たすような cを 計算し、 この cが睹号化されたメッセージとなる。
6. 嵴号化されたメッセージの復号化は、 cd = m(mod π)を満たすよう な mを計算し, この mが複合化されたメッセージとなる。 このアルゴリズムを本実施例に適用すると、 ハイディ ング用 数 S K 及び抽出用関数 P Kは以下のようになる。
(数式 1 7 )
S K (m) = xQ(niod n)
P K (m) = xe(mod n) すなわち、 画像の作成者である発行者は秘密鍵 dを保有しこれを用い てハイディング用 数 S Kを得る。 この閲数 S Kを用いてメッセ一ジ · データを埋め込むための位置状態系列 Sを生成し、 メッセージ , データ をメディア , データ中に埋め込む。 配布されたこのデータを受け取った 第三者は公開 «eを用いて抽出用関数 P Kを得る。 この閱数 P Kを用い て上記の位置状態系列 Sを再生して、 メッセージを読む。 公開鍵方式に おいて、 公開鍵は第三者に公開されているが、 秘密鍵は画像などを制作 した著作者のみが保有しているので第三者はその内容を知ることはでき ない。 従ってハイディング用位量変換関数の内容を第三者が知ることは できない。 公開鍵から秘密鍵を計算することはそのための計算量が膨大 になるので、 第三者がハイディ ング用位懂変換関数 S Kを知ることは事 実上不可能である。 従って第三者がオリジナルのデータを改変すること を有効に防止することができる。
メッセージを抽出する手順を眹明するために必要となる排他的論理和 の重要な性質について簡単に脱明しておく。 排他的綸理和演算には以下 のような性質がある。 すなわち Aと Bとの排他的 ϋ理和に対して、 さ ら に Βとの排他的綸理和を求めると Αが再現されるということである。 (数式 1 8 )
( A XOR B ) XOR B = A
(抽出のアルゴリズム)
図 8は、 埋め込まれたメッセージ · データを抽出する手順を示したフ 口一図である。
初期状態傭の針箅 (ステップ 1 1 0 ) まず、 抽出者に与えられている情報である最終状態値 S jから、 次式 に従ってメッセージ配列値 m[J-l]が隱し込まれている位置 p jを求める。
(数式 1 9 )
p j = S j mod I ハイディ ング値の抽出 (ステップ 1 2 0 )
位億 P jに対応するメディ ア配列 M ' [ p j] はその領域の本来の画像 情報中にハイディ ング配列傲 Mm [J-1]が隠べいされている。 この配列 Mm [J-1]はメディア配列値 M ' [p J ]及びメッセージ値配列 m [J-1]の 排他的論理和として求められたものである。 そこでメディ ア配列値 M' [P j]からハイディ ング配列佃 Mm [J-1] を抽出するために関数 X ' を 定義する。 次式のような閩数 X ' の具体的な内容は第 2の実施例におい てその一例を脫明する。
(数式 2 0 )
Mm [J-1] =関数 X ' (M ' [p:] ) 前状態の計算 (ステップ 1 3 0 )
次に, 状態値 S j及び上記の 数 X ' から求められたハイディング配 列値 Mm [J-1]の排他的論理和を計算することで 1つ前の状態倣 を 求める。 ここでは上述の排他的論理和の数学的性質を利用している点に 留意されたい。
(数式 2 1 ) P K ( S j) XOR X ' (Μ' [p j])
= ( S J_1 XOR Mm [J-l] ) XOR Mm [J-l]
= S
J-l すなわち、 抽出用位置変換閱数 P Kはハイディング用位置変換関数の 逆関数なので、 この関数を用いれば状態値 S,から状態傲 とハイデ ィング配列値 Mm[J-l]との排他的綸理和の結果を再現できる。 この結 果とステップ 1 2 0で求められたハイディング配列値 Mm[J-l]との排 他的綸理和を求めることにより、 1つ前の状態値 S j一 iを特定できる。 メッセージの計算 (ステップ 1 4 0 )
状態偃 が求まればこれに対応するメディア配列値 M' [p が 特定されるので、 メッセージ配列値 m [J-1]を次式により抽出すること ができる。 図 3 ( b ) のメッセージが隱ぺぃされていたならば、 このス テツプにより最後尾の英数字 「G」 が抽出される。
(数式 2 2 )
M ' [ P T J XOR Mm [J-l]
J一 I
= M' [Pj— XOR (Μ' [ρ】— XOR m [J-l] )
=m [J-l] 状態艉及びメッセージ配列懺の抽出をインデックス储 j (l≤j≤J) を用いて一般的に表現すると次式のようになる。
(数式 2 3 ) SJ-1 =
P K ( S j) XOR X ' (Μ' [ρ j]) = ( S , , XOR Mm [j-1] ) XOR Mm [j-1]
J-l
= s
J-1
m[j-l]
M' f p XOR Mm [J-1]
J-1
M ' [ p XOR (M ' [p . ,] XOR m [J-1] )
j-1" j-i-
=m [j-1] 上記の式が示すデータ闋係を示したのが図 9である。 抽出における状 態値 S jと状態値 との関係を示した関係図である。 図 7 と対比して みると抽出の手順はハイディ ングの手順をと逆に実行していることがわ かる,
判断 (ステップ 1 5 0 )
メッセージ配列値 m[j〗が生成されるごとにそれが配列値がメッセー ジ配列の先頭なのかを判断する。 先頭であると判断された場合、 メッセ —ジ配列 mのすベての要素を抽出できたことになる。 メッセージ配列 m は最後の要素から逆順で抽出されるので、 図 3 ( b ) の例では 「G N I D I HATAD」 という順序でメッセージが抽出される。 これをステツ プ 1 6 0でメッセージを逆の順序で並び替えることにより完全なメッセ ージが生成される。 先頭でない場合、 ステップ 1 2 0からステップ 1 4 0を先頭と判断されるまで再帰的に実行する。
メッセージ配列 mのある要素が先頭か否かの判断は、 生成された状態 储〗とハッシュ関数 H 1 との出力が一致するかどうかである。 ハッシュ 関数 H 1 には、 状態値 S jにおいてそれまでに生成されたメッセージ配 列 mのすベての要素の排他的論理和を入力する。 逆順に生成されたある 状態値 S jがハッシュ M数 H 1 の出力とが次式に示すような関係ならば, この j の搋が 0である (数 1 0参照) 。 (数式 2 4 )
S j = f ( m [J- l ] XOR m [J-2] XOR XOR m [ j ] ) = S
0 上式の閱係が成り立つのは j = 0の場合のみで、 それ以外 ( j ≠ 0 ) の場合にはこの関係は成立しない。 従って最終状態倣 S jが状態値 S jが 逆順に生成される度に, この状態値 S j及び抽出されたすベてのメッセ —ジ配列値に基づいたハッシュ M数の出力の一致を比較していく。 図 1 0は、 生成されたメッセージ配列値がメッセージの先頭であるかどうか の判定を税明するための図である。 まず最終状態値 S jから一つ前の状 態値 S ^ を求めると共に、 メッセージ配列倣 を求める。 この配列 値を入力とした初期 数 ίの出力 Fは状態値 S とは一致しない。 求 められた状態 «が S Qならば、 この値は初期関数の出力 Fと一致するの で先頭と判断できる。 このように本アルゴリズムは次のような 2つの特 徵があるので、 第三者によるメッセージの改変を防止する上で非常に重 要である。
( 1 ) 別メッセージの上書き防止
従来技術では、 発生する位懨系列 Sはメッセージの内容に閱わらず最 初に与える定数にのみ依存していた。 第三者はその定数さえ分かればメ ッセージを消去したり本来のメッセージが存在する位置に新たな別内容 のメッセージを上會きすることが可能であった。 これに対して、 本アル ゴリズムでは位懂系列はメッセージの内容にも依存して生成されるため, メッセージが異なれば発生する異なる位懨系列が生成される。 隱ぺいさ れる位镢は位置系列に基づいているので、 本来のメッセージが存在して いる位貴に内容の異なる別のメッセージを隠べいすることはできない。 これはメディア · データについても同様である。 ( 2 ) 別メッセージのハイディ ング防止
本アルゴリズムでは、 抽出の終了を判断するために数 2 4に示す条件 を判断している。 この条件を満たすのは, 抽出されるメッセージの内容 が本来のメッセージと同じで、 かつメッセージ ' データの長さ ( J ) と 等しい長さのメッセージが抽出された場合のみである。 この要件を満た さない限り抽出は決して終了しない。 従って、 最終状態値 に基づい て逆順で本来のメッセージ以外のデータを隠べいしょうとした場合には、 決して数 2 4の要件を满足することはないので永久に計算が終了しない。 従って本来のメッセージが存在する場所以外の場所にメッセージを隠ぺ いしょうとしても、 計算が終了しないので実 K的に隨べいできない。 図 1 0及び図 1 1 に示すように第三者がメッセ一ジ配列値を改変した 場合には、 改変されたメッセージに基づいて異なった状態系列 S 'が生 成される。 従って、 状態糸列 S ' より特定される位懂以外の位 «にある 本来のメッセージを消去したり上書きしたりすることはできない。 図 1 1 に示すような改変により生じた状態系列 S ' においては決して抽出が 終了したと豚定されることはない。 事実上他のメッセージを害く ことが できないので、 第三者の改変を有効に防止することができる。
D . 第 2の実施例
ここでは、 隠ぺいの対象となるデータをあるあるメディア · データ中 に埋め込む方法及び逆に埋め込まれたデータを抽出する方法の一つであ るビクセル · ブロック ' コーディ ング(P i xe l B l ock CocH ng) (以下、 P B Cという) について税明する。 P B Cを用いた場合, データをハイデ イング及び抽出は以下の述べるような変換規則に従って処理される。 (基本アルゴリズム)
—般的に、 隣接した 2つの面紊の画素値等の 1次特性は互いに高い相 閼 M係を有している。 従って画素値を入れ変えたとしても、 面像が視覚 的に豚識できる程度の劣化は生じない。 この性質に鑑みて、 本アルゴリ ズムは少なく とも 1つの画素を有する画像傾域をピクセル · ブロックと して定義し、 ある変換規則に基づき意図的に隣接したピクセル · ブロッ クの特性値を入れ替えることで、 1 ビッ トのデータを R»ぺいする。 すな わち、 データは、 隣接するピクセル ' ブロックの特性値の入れ替えによ り表現される。 またデータの抽出時には、 この変換規則に基づき決定さ れる抽出規則に従ってデータを抽出する,
ビッ ト情報は隣接した 2つのビクセル ' ブロックの特性値 (例えば、 輝度値) を以下の変換規則に従って入れ替えること表現される。 ビッ ト . オン く 1>: —方のビクセル ' ブロック ( P B の特性値が他 方 (P Bn) の特性値より大きい場合
ビッ ト . オフ く 0>: —方のビクセル ' ブロック ( P B の特性値が他 方 (P B。) の特性値より小さい場合 またビッ ト情報は、 以下の抽出規則に従って隣接した 2つのピクセル ブロックの特性攄 (例えば、 輝度値) を比較することにより抽出される,
一方のビクセル ' ブロック ( P B^ の特性値が他方 ( P B2) の特性値 より大きい場合 : ビッ ト ' オン く 1〉
一方のビクセル ' ブロック (P B^ の特性傲が他方 (P B2) の特性値 より小さい場合 : ビッ ト ' オフ く 0〉 図 1 2は、 P B Cを用いたデータのハイディ ング及び抽出を税明する ための図である。 ビクセル ' ブロック Ρ Β1 ¾ Ρ Β2は例えば 3 X 3画素 のように複数の画素の集合として定義してもよいし、 1画 ¾を 1 ピクセ ル ' ブロックと定義することも可能である。 隣接するビクセル , ブロッ クは高い相闋を有しているので、 それらの位懨を入れ替えたとしても面 像が視覚的に豚雜できる程度に劣化したとは感じることはないであろう
(図 1 2 ( a ) ) 。
オリジナル画像におけるビクセル ' ブロックの位置が同図 ( b ) であ る場合を考える。 まず二つのビクセル ' ブロックの特性倣を比較し、 そ の結果、 P の特性値の方が P B2の特性値よりも大きい場合を考える。 オリジナルにデータ" 1 " を隠ぺいする場合、 ピクセル · ブロックの特 性値が変換規則におけるデータ" 1 " の条件を既に満たしているので、 これらのプロックの特性脩の入れ替え行われない。 データを抽出する際、 P B iの特性偃が大きい場合はデータ" 1 " であると抽出規則が定めて いるので、 データ" 1 " が抽出される。
一方、 オリジナルにデータ" 0 " を隠べいする場合、 オリジナルにお けるピクセル · ブロックの特性値の関係は変換規則におけるデータ" 0 " の条件を満たさないので、 ビクセル ' ブロックの特性倣を入れ替える。 しかしながらこの入れ えは視覚的には認識できない。 抽出時は、 抽出 規則に従ってこれらのブロックの特性値の関係からデ一夕" 0 " が抽出 される。
このように P B Cでは、 fflぺいの対象となる情報を陬ぺいするのに十 分な数のピクセル · ブロックを面像中から ¾択する。 そして選択された 一のピクセル ' ブロックとそれに隣接するビクセル · プロックのペアを 作ることにより、 このペアの列を生成する。 このようにして列の先頭か ら順々に隠べい対象となるビッ トを隠べいしていく。
この列は第 1の実施例における状態系列 Sに対応付けてもよい。 例え ばピクセル . ブロックを第 1の実施例におけるメディア配列 Mの配列要 素 Mに対応付ける。 ハイディング作業において逐次的に生成された状態 系列の各配列要索 (状態値 S j ) 及びそれに隣接するメディア配列値と でペアを作る。 そしてこのペアに対して上記処理を施すことが考えられ る。 またある乱数の種 (シード) から発生される疑似乱数列をもとに決 定することももちろん可能である。
抽出時には、 ハイディング時と同じブロック列をスキャンする。 それ ぞれのペアがビッ ト · オンを表すかオフを表すかを抽出規則に従って 1 ビッ トずつ集めることで全体のメッセージを抽出する。 もしペアである ピクセル ' ブロックの特性値が同じであるならば、 そのペアはハイディ ング時と同様にスキップする。 ブロック列あるいはその列生成方法を秘 密にすれば、 隠べいされた情報を他人から隱すことができる。
なお、 P B Cにおいて、 埋め込み位置は、 面 K及び抽出糠度に趣みて 決定するのが好ましい。 すなわち埋め込み対象となっているペアを構成 するピクセル · ブロックの特性価の があまり大きいと、 入れ替え操作 により画質が劣化するおそれがある。 このような面質の劣化を抑制する ために、 第 1の Sfl B (上限) を投けておき、 特性値の差がその «1倣以上 であればそのペアにはビッ トを埋め込まないようにすることが好ましい。 また、 特性値の差が小さければ入れ替え操作による面 Kの劣化はほと んど生じないが、 逆にノイズの影響により大小関係が反転してしまい、 抽出時に埋め込まれたビッ 卜が抽出できないおそれがある。 従って抽出 精度の低下を抑制するためには、 第 2の M値 (下限) を股けておき, 特 性値の差がその 储以下であればそのペアにはビッ トを埋め込まないよ うにすることが好ましい。
これらのケースに該当するペアには何も操作を施すことなくスキップ する。 そして隠べいすべきビッ ト情報を先送りして、 次のペアを対象に 眯ぺいする。
(ブロックの特性値)
特性値としてビクセル · ブロックの 1次特性に関する値及び 2次特性 に する値を用いることできる。 1次特性はピクセル · ブロックの «度 や色度のように画素値の直接的なパラメータである。 また 2次特性は、 前記パラメータの平均餹ゃ分散といった統計的な性質を示す慷のように、 1次特性をを分解することで得られる。 さらに特性値は褸数の画素储か らなる配列と所定の配列 (マスク) との演算結果としてもよく、 周波数 変換を行うことにより得られる特定の要素倣とすることも可能である。 一般に、 1次特性は隣接する 2つのビクセル · ブロックにおいて高い相 閱関係を有している。 これに対して 2次特性は隣接しない離れた二つの ブロックにおいて高い相関関係を有し得る。 従って P B Cの対象となる ビクセル · ブロックは必ずしも »接するプロックに限定されない点に留 意されたい。 以下、 ビクセル · ブロックの特性倣として 1次特性である
»度値を、 また 2次特性である分散値を例に脫明する。
まず、 ピクセル . ブロックの特性値を輝度値とする場合について脱明 する。 1面素をビクセル ' ブロックに対応付けた場合、 このブロックの 特性値として面素の »度値をそのまま使うことができる。 自然画像では 大抵の場合、 隣接する画素の相関は非常に »いため、 それらを入れ換え ても大きな面 の劣化にはならない。 図 1 3は 1画素をビクセル . プロ ックとした場合の P C Bによるハイディングを晚明するための図である。 次に、 特性値を分散傲とする場合について脱明する。 n X m画素でピ クセル . ブロックを構成するような場合、 ピクセルの輝度値をプロック 聞で入れ替えると、 画像上に縞模様が生じるなど画質に大きな劣化が生 じる。 従ってピクセル値をそのままブロックの特性値として使うことは 好ましくない。 そこでピクセル輝度の分散値を特性値として用いる方法 が考えられる。
ビクセル · ブロックの揮度値の性質を平均値 hと分散値 dとに分解し たとき、 接するビクセル ' ブロックで平均値 hはそのままで分散倣 d のみを入れ換えたとしても画質に与える影響は少ないということが知ら れている。 そこでこの性質を生かしてピクセル ' プロックの特性値をこ の分散絛 d とし、 これを変換規則に従って入れ巷えることでデータを隠 ぺいすることが可能となる。
図 1 2 ( c ) のようにピクセル ' ブロック が、 平均値 分散 値 を有し、 ブロック P B 2が平均値 h 0、 分敫値 d 2を有する場合を考 える。 ビッ ト" 1 " を隱ぺいする場合、 d i < d 2なので変換規則におけ るビッ ト'' 1 " の条件を満たさない。 そこで両ピクセル ' ブロックの分 散値 dのみを入れ替える。 これは、 二つのビクセル ' ブロック間におい て、 その平均値 hは変更せずに分布の山の形だけ交換することに相当す る。
(ハイディ ングできる情報最)
P B Cにおいてハイディ ングできる情報量は画像サイズとピクセル - ブロックのサイズによってその上限は以下のように決定される。
(面像サイズ) / (ピクセル ' ブロックのサイズ) ノ 2 [b ] 例えば 384x256サイズの面像に 1 x 1サイズのビクセル · ブロックを適用 する場合、 ハイディ ングできる情報置は 6 Kパイ トが上限である。 但し、 比較する特性値が同一である場合のようにすベてのビクセル ' ブロック が隱ぺいのために使えるとは限らないので、 実際にはこの情報量より小 さ くなる。 また隗ぺいは可能であっても、 画質の劣化を抑えるために交 換処理を施さない場合もあるので、 情報量はさ らに小さ くなることもあ る。
(面質保存 · 劣化)
画像上で、 例えばエッジ特徴にまたがる二つの隣接画素では、 その輝 度値が大きく異なる値を取ることが知られている。 従って、 この二つを 入れ換えるとエッジ特徴を壊すことになり、 視覚的にも画像の劣化が大 きく見える。 そこで画 itの劣化を抑えるために交換する輝度艉の差にあ る 値を股けておく。 そしてその CW値を越えた場合には、 特性値の入れ 替えを行なわずに先送り して、 そのペアをスキップする方法が有効であ る。 閣値は面像デ一夕から計算される分散値をもとに抉定することもで きるし、 またプロック周辺の局所的な分散倣をもとに決定してもよい。 分散値がゼロに近い小さなブロックと、 ゼロから速い大きなブロック とで分散値を交換すると、 小さなプロックでの変化が大きくなり視覚的 に画質が劣化したことが分かってしまう。 従って分散値の小さい方で « 値と比較して、 それを下回れば入れ替えを行わないようにしてもよい。
( P B Cの耐性)
隣接するピクセル · ブロックの特性傲を比較しプロックの特性値を入 れ *えることに対応づけたデータの隠べいをしているため、 その二つの ブロックの相対的な関係が保たれている限り、 隱ぺいされた情報を正し く取り出すことができる。 従って、 色合い賙整ゃァ補正を施した場合で あっても特性値の大小比較に基づいて隠べいされた情報は保存されるこ とが期待される。 また、 上述の分散傲を交換する方法において、 特にピ クセル . ブロックを 8 X 8サイズにした場合には、 J P E Gによる圧縮 処理を施した後でも十分な精度で賺ぺいされた情報を抽出することが可 能である。 我々の実 によれば、 ファイルサイズが 5 %になるように'' 損失あり圧縮'' を施した場合でも、 情報量は 9 0 %の保存率であった。 分散偃交換法では、 印刷/スキャン操作など、 D Z Aおよび A Z D変換 を経た場合でも、 随ベいされた情報を有効に保存できることと思われる。 ( P B Cの拡張)
なお、 上記の P B Cは一例であって、 それ以外にも様々な方法が考え られる点に特に留意されたい。 上記の実施例から分かるとおり、 データ の埋め込み及び抽出のためには、 特性値の大小 係を規定した規則に従 つたビクセル · ブロックの特性値の操作が重要である。 その意味で、 上 記のように特性値を入れ替える場合以外にも、 一方の特性値に所定値を 加算したり、 または他方の特性値から所定傯を減算すること (さ らには これら両方の操作を行ってもよい) により、 規定された大小関係を满た す操作も可能である。 この場合、 この所定値は一定の脩であってもよい が、 処理対象となるビクセル ' ブロックの状態に応じて、 その傯を適応 的に変化させるようにしてもよい。 また、 P B Cの拡張として、 特性値 の符号を 2値情報に対応づけた規則を定義し、 この規則に従って, デー 夕を埋め込み及び抽出することも可能である。
本発明の本質は、 意味のある規則に従って、 ある基準値 (例えば一方 のビクセル · ブロック) に対して画像データ中の他のピクセル · ブロッ クの特性値を操作する点にある。 すなわち, 特性値の基準を与える基準 値をピクセル · ブロックの特性倣との大小闋係に対応づけた変換規則を 参照して、 一のピクセル ' ブロックの特性値を操作することによりデ一 夕を隱ぺいする。 その意味で、 本発明は特性値を操作する明確な基準が 与えられさえすればよく, その基準が画像データ中の所定領域 (ピクセ ル . ブロック) である必要は必ずしもない。 従って, その基準を面像デ 一夕以外のデータで与えてもよい。 例えば、 所定値 (基準値) が配列さ れた、 ピクセル , ブロックと同じ大きさを有する固定的なマスク , パ夕 ーンを特性儀操作の基準として用いてもよい。 この場合、 データの隠べ いの際には、 特定されたあるビクセル ' ブロックの特性傲を、 マスク . パターン中の基準値との大小闋係で操作すればよいし、 抽出時には、 そ の大小関係に応じてデ一夕を抽出することができる。
E . 第 3の実施例
ここでは基準位置に Mする情報をハイディ ングする方法について脱明 する。 上記のようなデータ ' ハイディ ング技術は、 原面像からピクセル - ブロックを遒択して処理を施し抽出時には処理されたピクセル . ブロッ クからメッセージを抽出している。 従ってメッセージを抽出するために はそのピクセル · プロックの位置情報は不可欠である。 ビクセル . プロ ックの位懂は、 画像のある傾城 (第 1 の実施例ではオリジナル面像の左 上の位量) を基準として、 この位置情報に基づいて相対的な位置が特定 されている。 ところが画像の一部を切り出す等の画像の編集作業を第三 者が行うと、 面像の基準位億を特定できなくなるために、 メッセージの 抽出に失敗してしまう可能性が生じる。 再び図 3 ( a ) に基づいて脱明 すると、 オリジナル画像中の一郁 (図中のは破線領城) が切り出されて しまった場合、 この切り出された面面からは本来の基準位置 (メッセ一 ジ配列の 0番目の配列要素の位置 M [0] ) が分からない。
データ · ハイディングに対する重要な要求事項は、 隱ぺいされた情報 が第三者により除去しにくいこと、 または第三者が恶意にデータを改変 した場合や, J P E Gのような損失のある面像圧縮が施された場合にお いても、 陳ベいされた情報を正しく取り出せることである。 そこで、 図 1 4に示すようにメッセージの他にさ らに基準位懂を特定するための情 報もオリジナル面像中に隱ぺいすることが好ましい。 このような位置情 報を隠べいしておくことで、 改変 · 圧縮された画像からでもメッセージ を正しく抽出することが可能となるからである。 そこで、 メッセージ ' データ中にメッセージ · データの他にメディア · データの基準位置を特 定するための情報をも隠べいしておく。 この基準位雷に関する情報はメ ッセージ · データ全体に隐ぺいされている。 メッセージ · データの一部 分が切り取られた場合においても、 切り取られた部分的なメッセージ . データから本来のメッセージ · データの基準位置またはこの基準位置か らの相対的な位置を検出できる情報である。 例えば、 以下に述べるよう に基準位置を中心とした同心円弧を面像全体に隠べいしておいてもよい。 (同心円弧を位置情報とした場合)
位置情報として図 1 5に示すような同心円の弧を用いる。 この同心円 弧はオリジナル面像の左上の点 (基準位懂) を中心とし所定の間隔で描 かれている。 切り出された部分面像から基準位置を正しく抽出できるた めには、 切り出されるであろうと想定される郁分面像中に少なく とも一 本の円弧が含まれていることが必要である。 従って同心円の W隅はその 上な状況を想定して設定される。
基準位 fiは、 「円周上の点を中心にしてその円と同じ半径で円を描い た場合、 描かれた円周は必ずもとの円の中心点を通る」 、 という円の性 «を利用して特定することができる。 図 1 6は位置情報として同心円弧 を用いた場合における基準位置 Bの特定を鋭明するための図である。 ま ず、 切り出された部分画像中に存在する 3つの同心円弧 ( C p C 2、 C J 上にそれぞれ存在する任意の 3点 ( a i、 aゥ、 a 3 ) を特定する。 次 にそれぞれの点にから異なる半径 ( 3^、 r 。、 r 3、 r ,、 · · ·) の円を 描く。 この場合、 上記の円の性質から、 円が交わってできる交点のうち 交わっている円の数が最も多い交点 Bを基準位置として豚定する。 デジ タル面像の場合、 ビクセルが格子状に離散的に配置されているので、 上 記のような円を描いていけば 1 ビクセルもずれることなく基準位懂を特 定することができる。
なお、 左上の点 (基準位置) から離れた円 (半径の大きな円) につい ては、 部分面像が 2本以上の円弧を含むように円弧の間隔を狭めてもよ い。 円弧は半径が大きくなるに従って直線要素を多く含むようになるた め、 基準位置の算出値に幅が生じやすくなる。 間隔を狭めておけば部分 画像中が多くの円弧を含むのでそのような幅を小さ くできる。 なお、 基 準位懂を同心円の中心を左上及び右下の両方に取っておけば、 2つの中 心点からオリジナル画像のサイズを求めることができる。
(同心円弧のハイディング)
図 1 7は、 同心円弧を位傲情報として用いた場合のハイディング及び 抽出を説明するための図である。 同図 ( a ) は、 オリジナル面像中に第 2の実施例に示したような方法を使ったメッセージの隱ぺぃを施し、 そ の後に位置情報としての同心円弧をさ らに隨ぺいしている。 同心円弧の 位懂情報は ¾ベいされた面像情報の L B Pをのビクセルを使って賺ベい される。 例えば同心円弧上のビクセルの L B Pを" 1 " に設定する。 L B Pを用いる理由はその倣を変更しても面像は視覚的にほとんど変化し ないからである。 また同図 ( b ) は、 オリジナル画像にまず位置情報を 隠べいし、 その後にメッセージをさ らに隠べいしている。
(同心円弧の抽出)
2次元の投票配列 Tを作成する。 配列のサイズは切り出されるであろ うと想定される郁分画像がどの程度の大きさまでであるかという点を考 盧して決定される例えば配列の幅を ( 2 m— 1 ) とすれば、 オリジナル の面像の 1 Z m侑の大きさの梆分面像にまで対応することができる。 投 票配列 Tの各要素は基準位置 Bの候補であり要素の値はその得票数を示 す。 ここで対象となる部分画像が投票配列の中心に位置するように両者 の座標を対応付けておく。
部分面像をスキャンしていき、 L B Pが" 1 " である郁分に出会った らその点を中心にして投票配列上の既知の半径すべてについて円 IEを描 く。 そして投票配列 Tの各要素の得票数を 1增やす。 このとき、 各要素 に対応する点が隠べいされている円周上の点であれば、 ここで描いた円 弧の内少なく とも 1つは必ずもとの中心点を通っている。
スキャンを部分面像の縦横交互に実行して、 L B Pが" 1 " に出会う ごとに上記手順を行う。 これにより得票数の一番多い要紊に対応する位 置が基準位釁 Bと認定される。 一般に、 最高得票数は投票配列のうち基 準位僮に対応する配列要素に集中する。 従って雑音等の影響を考慮して も、 本アルゴリズムにより基準位鬣を正しく特定することが可能である。 これにより特定された基準位置に基づき、 部分画像中からメッセージを 適切に抽出することができる。
なお図 1 7 ( a ) の方法では、 メッセージが隠べいされた面像データ をさらに変更するため、 ランダム雑音に強いデータ ' ハイディング手法 でなければ隠べいされた情報の抽出に失敗する可能性がある。 一方同図 ( b ) の方法では、 隠べいされたメッセージは抽出処理の時まで一切変 更されないので、 同図 ( a ) の方法よりも雑音に強い。 従って、 用いる データ . ハイディング手法のバリエーションは增える。 但し、 本発明の 基準位置に する位置情報の一部が壊されてしまう可能性があるので注 意が必要である。
F . 具体的な応用例
上記のアルゴリズムを用いたデータ · ハイディ ング方法及びデータ抽 出方法は具体的には、 以下のようなシステムにおいて用いることができ る。 (テレビの映像 C Mの出現カウン ト)
C Mの注文者にとっては、 コマーシャルが注文した回数だけきちんと 放送されているかどうかということは重要な問 ¾である。 本ァルゴリズ ムを用いて、 図 1 8に示すようなシステムを構築すれば C Mの放送回数 を自動的にカウン トすることができる。 放送局側は、 記慷装量、 符号化 装置、 及び放送装置を有している。 記 «装鬣にはコマーシャル画像が記 僮されていて、 符号化装置はコマーシャル面像の放送回数をカウン トす るための情報をコマーシャル面像に隠ぺいためのものである。 そして、 この情報が符号化装懨により隱ぺいされたコマ一シャル面像は放送装置 によって放送される。 このようなシステムで、 上述のデータ . ハイディ ング方法を用いてコマーシャル面像を符号化する。 符号化はカウン ト情 報が有するデータに基づいて行われ, コマーシャル画像中に分散して力 ゥン ト情報が隠べいされる。 また、 受信側は、 受信装 *、 愎号化装置, 及びカウンタを有している。 受信装置は上記のカウンタ情報が既に隠べ いされているコマーシャル画像を受信する。 復号化装置はこのコマーシ ャル面像からカウン夕情報を抽出する。 そして抽出されたカウンタ情報 に基づいて、 カウン夕はコマーシャル面像の放送回数をカウン トする。 このような受信システムでは, 上述のデータ抽出方法を用いてカウン夕 情報が抽出される。 復号化は、 カウンタ情報が有するデータに基づいて、 カウンタ情報が分散して存在しているコマーシャル画像上の位置を特定 して抽出される。
放送局は C M画像中に、 ハイディ ング , アルゴリズムに基づいて受信 側で放送回数をカウントできるようなカウンタ情報をコマーシャル画像 に隊ぺいした上で放送する。 従って、 受信側ではこのカウン夕情報を抽 出することで放送回数をカウントすることができる。
(フアイヤー · ウォールでの検 IW ) フアイヤー . ゥオール(F i rewa l l )などの トポロジーに位置するプロキ シー (代理) には壁の内側と外側の H T T P通信すべてが流れている。 これを利用すれば、 そのプロキシ一上で面像や音声データを検閲するこ とができる。 ゥォター · マークなどが隠ぺいされているメディァ · デ一 タを検出したらログに残す。 このようにすれば不正に流通しているデ一 タを把握することができる。 図 1 9は、 このようなシステムのブロック 図である。 サーバー側はメディア ' データが記慷されている記僚手段、 及びメッセージ ■ データをメディア · データに RSぺいする符号化装 βを 有している。 サーバ一は、 記慷手段から読み出されたメディア · データ 中に、 メッセージ . データを随ぺいするように符号化装置を制御し、 こ の出力データをインターネッ トに送信する。 ここで、 上述のようなハイ デイング方法を用いて、 メッセージ · データの内容に基づいてメッセ一 ジ ' デ一夕をメディ ア ' データ中に分散して隱ぺいしていく。 一方の受 儻側は、 送信側でハイディ ング処理されたメディア · データをインター ネッ トから受信するプロキシと、 この受信データからメッセージ ' デ一 タを抽出する複号化装置とを有している。 この抽出は、 上述のデータ抽 出方法を用いて、 メッセージ ' データの内容に基づいて分散配置されて いるメッセージ · デ一夕の位置を特定した上で行われる。
(旅行代理店サーバでの利用)
旅行代理店の運営する W W Wサーバに展示して有る観光地の写真に、 その観光地の脱明文害や地図、 あるいは U R Lなどのポインタ情報とい つた付加情報を隠ぺいしておく。 W W Wブラウザを使ってその写真をネ ッ トワーク · コピーしておけば、 後に地図等をその写真から取り出して 税明文や行き方などを確認することができる。 図 2 0 に示すように、 ク ライアン トと W W Wサーバ一との接続が切断された後であっても、 付加 情報を抽出することができる。 付加情報が写真データなどと別ファイル になっているような場合と比べて、 ハイディ ングを用いれば写真デ一夕 と付加情報の密な閱係を維持し統けられるので、 デ一夕の整理が容易で ある。
(フィ ンガー · プリンティ ング及びウォーター ' マーキング)
フィンガー ' プリンティ ングとは、 メディア ' データを第三者に発行 する隙に、 発行者が発行先である第三者を特定できるようなマークを予 めメディア · データ中に隊ぺいしておく ことをいう。 このようにしてお けば、 遑法コピーなどの不正な行為が行われば場合、 そのコピーのソー スを特定することができる。 従って、 この第三者が不正に流通している 場合には、 違法コピー分の料金を W求することができる。
これに対して、 ウォーター ' マーキングとは、 メディア ■ データを第 三者に発行する際に、 発行者が発行者自身を特定できるようなマークを 予め隠ぺいしておく ことをいう。 これによつて、 流通過程で改変されて いないことを保証、 すなわち、 このデータが正規の発行者からのもので あり、 かつ途中で改変されていない、 ということが保 BEされる。
このようなマークを眯ぺいするために、 図 2 1 にょうなシステムを構 築すればよい。 第三者への発行の際にはマークを隠べいして発行する。 検出の場合には、 第三者から得られたデータからマークを抽出する。 上記のシステムの他にも、 本発明は、 ケーブル通信、 衛星通信を用い たシステムや、 D V D— R O M等の記録媒体を用いたシステム等に広く 利用できる。 特に D V D - R O M ( D V D— R A M ) を用いてメディア ' データを配布しょうとする場合、 当該メディア · データ中にコピー許可 条件、 すなわちコビ一を禁止するのか認めるのかという情報を ¾蔽した 上で配布する。 そして、 エンド ' ユーザがメディア ' データを複製する ために用いる D V Dプレーヤーには、 コピーを制限する機能が股けられ ている。 このようにすることにより、 コピー用のブレーヤーが隠蔽され たコピー許可条件を媒体から抽出 ' 豚職し、 それがコピー禁止を意味し ているならば、 コピーを禁止するように動作する。
G . データ抽出システム及びそれを実現する半導体集積回路
上述したデータ抽出方法は、 具体的には、 以下のような桷成を有する システムで実現することができる。 また、 そのシステムが有する機能の 大半はワンチップ化して半導体集穣回路とすることができる。 なお、 こ れらのシステム及び半導体集積回路の特撖は、 重複税明を避けるために 詳細な晚明は省略するが, データ抽出方法にて晚明した事項及びその拡 張 · 変形がそのまま当てはまる。 当業者であれば、 上記方法の税明で、 下記の事項の詳細は理解できょう。
メッセージ · データをメディア · デ一夕中から抽出するシステムは、 具体的には、 図 2 2に示すように、 変換手段, 特定手段、 特性値計算手 段、 記慷手段、 及び抽出手段を有している。 変換手段は、 メッセージ - データが隱ぺいされたアナログ信号としてのメッセージ ■ データをデジ タル信号に変換した上で、 デジタル信号を出力する A / Dコンバータで ある。 特定手段は、 変換手段の出力としてのメディア ' データ中におい て、 メッセージ ' データが賺ぺぃされている一のブロックを特定するた めのものである。 特性値計算手段は、 特定手段により特定された一のブ ロックの特性値を求めるためのものである。 記值手段中には、 特性 fitの 基準を与える基準佃とブロックの特性値との大小関係を > 抽出すべきデ
—夕の内容に対応づけた変換規則が記億されている。 また抽出手段は、 変換規則を参照して、 一のブロックの特性値に応じて、 隠べいされてい るメッセージ · データを抽出する。
ここで、 基準値は、 メディア · データ中に存在しかつ一のブロックと は異なる他のブロックに関する特性倣である。 また、 記 «手段が記慷す る変換規則は、 一のブロックの特性値が他のブロックの特性倣よりも大 きい場合、 一方のビッ トを抽出すると規定し、 逆の場合には、 他方のビ ッ トを抽出すると規定している。
また、 上記システムをワンチップ化した半導体集積回路は、 図 2 3 に 示すように、 演箅手段と、 抽出手段を少なく とも有している。 演算手段 は、 入力信号としてのメディ ア ' データにおいて、 メッセージ ' データ が ¾ぺいされているものとして特定された一のブロックに関して特性値 を求める手段である。 また、 抽出手段は、 特性値の基準を与える基準値 とブロックの特性値との大小閱係を、 抽出すべきデータの内容に対応づ けた変換規則を参照して、 一のブロックの特性値に応じて、 隱ぺいされ ているメッセージ · データを抽出する手段である
[産業上の利用可能性]
このように、 本発明では, 面像や音声といったメディア . デ一夕にメ ッセージ · データを分散してハイディ ングする場合に、 メディア · デー 夕の内容とメッセージ · データの内容に基づいて、 メッセージを |¾ベい する位置を決定しているので、 第三者がメッセ一ジを改変することが困 難なデータ · ハイディングを行うことが可能となる。

Claims

請 求 の 範 囲
1 . メディア · データがメディア配列として表現されると共に、 メッセ —ジ · データがメッセージ配列として表現されており、 前記メディア配 列中の特定の配列要素を指定する状態値に基づいて, 前記メッセージ配 列の配列要素を分散して前記メディァ配列に隠ぺいするデータ · ハイデ ィング方法において,
(a) j ( j ≥ 0 ) 番目の状態倣を決定するステップと、
(b) 前記〗 番目の状態値と、 当該 j 番目の状態値により指定される前記 メディァ配列の配列要素と、 前記メッセージ配列の配列要秦とに基づい て、 ( j + 1 ) 番目の状態餹を決定するステップと、
( c) 前記 ( j + 1 ) 番目の状態値が指定する前記メディア配列の配列要 素に対して、 データを隱ぺいするステップと
を有することを特嫩とするデータ · ハイディ ング方法。
2 . メディア ' データがメディア配列として表現されると共に、 メッセ ージ · データがメッセージ配列として表現されており、 前記メディァ配 列中の特定の配列要素を指定する状態値に基づいて, 前記メッセージ配 列の J個の配列要素を分散して前記メディア配列に隱ぺいするデータ · ハイディ ング方法において、
(a) j ( j 0 ) 番目の状態値を決定するステップと、
( b) 前 K j 番目の状態 filと、 当該 j 番目の状態値により指定される前記 メディ ァ配列の配列要紊と、 前記メッセージ配列の配列要素とに基づい て、 ( j + 1 ) 番目の状態値を決定するステップと、
(c) 前記 ( j + 1 ) 番目の状態値が指定する前記メディ ア配列の配列要 素に対して、 データを隠べいするステップと、 (d) 上記ステップ(a)乃至(c)を再帰的に実行することにより、 前記メッ セージ配列の J個の配列要素を隠ぺいするステップと
を有することを特徴とするデータ · ハイディング方法。
3 . 上記ステップ(a)において、 j = 0の場合、 最初の状態储は、 前記 メッセージ配列の配列要素が有するデータに基づいて決定されることを 特撖とする W求項 1 または 2に記載のデータ · ハイディ ング方法。
4 . 最初の状 J®値を決定する初期関数を用意し、
上記ステップ(a)において、 j = 0の場合には、 前記メッセージ配列 のすベての配列要素が有するデータの排他的綸理和を前記初期関数の入 力として、 前記初期閱数の出力を前記最初の状態値とすることを特徴と する請求項 1 または 2に記載のデータ · ハイディ ング方法。
5 . 上記ステップ(b)において、 前記 U + 1 ) 番目の状態値は、 前記 j 番目の状態値と、 当核〕 番目の状態値により指定される前記メディア 配列の配列要素が有するデータと、 前記メッセージ配列の配列要素が有 するデータとの排他的綸理和に基づいて、 決定されることを特微とする 求項 1 または 2に記載のデータ · ハイディング方法。
6 . ハイディ ング用位量変換閱数を用意し、
上記ステップ(b)において、 前記 j 番目の状態値と、 当該 j 番目の状 態値により指定される前記メディ ア配列の配列要素が有するデータと、 前 Eメッセージ配列の配列要素が有するデータとの排他的論理和を前記 位懨変換閟数の入力とし、 前記位懨変換関数の出力を前記 ( j + 1 ) 番 目の状態储とすることを特撖とする »求項 1 または 2に記載のデータ . ハイディ ング方法。
7 . 前記ハイディ ング用位置変換閱数は、 公開鍵方式における秘密鍵を パラメ一夕とした暗号化関数であることを特微とする言青求項 6 に記載の データ · ハイディ ング方法。
8 . 上記ステップ(c)において、 前記ハイディ ング ' デ一夕は、 前記 j 番目の状態値により指定される前記メディア配列の配列要素と前記メッ セージ配列の配列要素との排他的論理和であることを特徴とする蹐求項 1または 2 に記載のデータ · ハイディ ング方法。
9 . 上記ステップ(c)において、 前記 ( j + 1 ) 番目の状態値が指定す る前記メディァ配列の配列要素に対応する一のビクセル · ブロックと、 他のピクセル ' ブロックとでペアを形成し、 変換規則に基づいて、 ピク セル . ブロックの特性値を操作することにより、 ハイディ ング . データ が隠ぺいされることを特微とする請求項 1 または 2に記載のデ一夕 · ハ イデイ ング方法。
1 0 . 前記他のビクセル ' ブロックは、 ペアを構成する前記一のピクセ ル . ブロックに隣接していることを特微とする請求項 9に記載のデータ - ハイディ ング方法。
1 1 . 前記変換規則はペアを構成するそれぞれのピクセル ' ブロックが 有する特性 ffiの大小閲係に基づいて, 前記特性絛の操作の規則を規定し ていることを特微とする W求項 9に記載のデ一夕 · ハイディ ング方法。
1 2 . 前記特性値は、 前記ピクセル ' ブロックが有する輝度値であるこ とを特徴とする請求項 1 1 に記載のデータ · ハイディ ング方法。
1 3 . 前記特性値は、 前記ビクセル · ブロックが有する分散値であるこ とを特微とする II求項 1 1 に記載のデータ · ハイディ ング方法。
1 4 . (d) 前記ハイディング · データが隠べいされた前記メディア配列 と最後の状態倣とを抽出するステップと
をさ らに有することを特徴とする蹐求項 2に記載のデータ ■ ハイデイ ン グ方法。
1 5 . メッセージ ' データがメッセ一ジ配列として表現され、 前記メッ セージ · データを含んだハイディ ング · データがハイディ ング配列とし て表現され、 かつ前記ハイディ ング · データが分散して隱ぺいされてい るメディ ア · データがメディア配列として表現されていて、 前記メディ ァ配列中の特定の配列要素を指定する状態値に基づいて、 前記メディ 7 配列から前記メッセージ配列を抽出するデータ抽出方法において、 (a) j ( j ≥ 1 ) 番目の状態値を決定するステップと、
(b) 前記 j 番目の状態倣により指定される前記メディァ配列の配列要素 から、 前記ハイディ ング配列の配列要素を抽出するステップと、
(c) 前記 j 番目の状態艨と、 抽出された前記ハイディ ング配列の配列要 素に基づいて、 ( j 一 1 ) 番目の状態値を決定するステップと、
(d) 前記 ( j 一 1 ) 番目の状態値が指定する前記メディア配列の配列要 素及び抽出された前記ハイディ ング配列の配列要素に基づいて、 前記メ ッセージ配列の配列要素を抽出するステップと
を有することを特微とするデータ抽出方法。
1 6 . メッセージ · データがメッセージ配列として表現され、 前記メッ セージ · データを含んだハイディ ング , デ一夕がハイディ ング配列とし て表現され、 かつ前記ハイディ ング ' データが分散して隠べいされてい るメディ ア · データがメディア配列として表現されていて、 前記メディ ァ配列中の特定の配列要素を指定する状態値に基づいて、 舫記メディァ 配列から前記メッセージ配列を抽出するデータ抽出方法において、 (a) j ( j ≥ 1 ) 番目の状態値を決定するステップと、
(b) W K j 番目の状態値により指定される前記メディ ァ配列の配列要素 から、 前記ハイディング配列の配列要素を抽出するステップと、
(c) 前記 j 番目の状態値と、 抽出された前記ハイディ ング配列の配列要 素に基づいて、 ( j - 1 ) 番目の状態値を決定するステップと、 ( 前記 ( j 一 1 ) 番目の状態値が指定する前記メディア配列の配列要 素及び抽出された前記ハイディ ング配列の配列要素に基づいて、 前記メ ッセージ配列の配列要素を抽出するステップと、
(e) 抽出終了条件を満たすまで、 上記ステップ(a)乃至(c)を再帰的に実 行するステップと
を有することを特微とするデータ抽出方法。
1 7 . 上記ステップ(a)において、 抽出を開始する際に最初に用いる状 態値は、 抽出に必要な情報として抽出者に予め与えられていることを特 嫩とする Mf求項 1 5または 1 6 に記載のデータ抽出方法。
1 8 . 上記抽出を開始する際に最初に用いる状態値は、 前記メッセージ 配列を隱ぺいする際に生成された最後の状態値であることを特徴とする »求項 1 7 に記載のデータ抽出方法。
1 9 . 上記ステップ(c)において、 前記 ( j一 1 ) 番目の状態値は、 前 記 j 番目の状態値と、 当該〗 番目の状態値により指定される前記メディ ァ配列の配列要素から抽出された前記ハイディ ング配列の配列要素が有 するデ一夕との排他的論理和に基づいて、 決定されることを特微とする W求項 1 5または 1 6に記載のデータ抽出方法。
2 0 . 抽出用位 変換閱数を用意し、
上記ステップ(c)において、 前記 j 番目の状態値と、 前記 j 番目の状 態値により指定される前記メディ ァ配列の配列要素から抽出された前記 ハイディ ング配列の配列要素が有するデータとの排他的綸理和を前記位 «変換関数の入力とし、 前記位置変換関数の出力を前記 ( j - 1 ) 番目 の状態値とすることを特徵とする W求項 1 5または 1 6に記載のデータ 抽出方法。
2 1 . 前記抽出用位置変換閱数は、 公開鍵方式における公開鍵をパラメ 一夕とした復号化閱数であることを特微とする W求項 2 0 に記載のデー 夕抽出方法。
2 2 . 上記ステップ(b)において, 前記ハイディング配列の配列要素は、 前記 ( j一 1 ) 番目の状態値により指定される前記メディァ配列の配列 要素と前記メッセージ配列の配列要素との排他的論理和であることを特 微とする請求項 1 5または 1 6 に記載のデータ抽出方法。
2 3 . 上記ステップ(b)において、 前記 j 番目の状態値が指定する前記 メディア配列の配列要素に対応するビクセル ' ブロックと、 他のビクセ ル . ブロックとでペアを形成し、 ペアを構成する前記ビクセル . ブロッ クの特性傯の M係から、 抽出規則に基づいて、 陬ぺいされたデータを抽 出することを特微とする請求項 1 5または 1 6 に記載のデータ · ハイデ ィング方法。
2 4 . 前記他のピクセル ' ブロックは、 ペアを構成する前記一のビクセ ル * ブロックに隣接していることを特微とする 求項 2 3 に記載のデ一 夕抽出方法。
2 5 . 前記抽出規則は、 ペアを構成するそれぞれの前記ピクセル · ブ口 ックが有する特性値の大小関係に基づいており、 かつハイディ ング時に おける前記特性値の操作を規定した変換規則に対応していることを特微 とする Mf求項 2 3 に記載のデータ抽出方法。
2 6 . 前記特性値は、 前記ピクセル ' ブロックが有する鰊度體であるこ とを特徴とする W求項 2 5に記載のデータ抽出方法。
2 7 . 前記特性値は、 前記ビクセル · ブロックが有する分散値であるこ とを特微とする Mf求項 2 5に記載のデ一夕抽出方法。
2 8 . データをハイディングする際に用いられる, 前記メッセージ配列 の配列要索が有するデータに基づいて、 最初の状態値を決定する初期関 数を用意し、
( f ) 上記ステップ(d)において、 前記メッセ一ジ配列の要素が抽出され るごとに、 すでに抽出されたすベての前記メッセージ配列の配列要素が 有するデータを前記初期関数の入力とし、 前記初期閱数の出力が前記 ( j - 1 ) 番目の状態値と一致することを前記抽出終了条件として判断す るステップと
をさ らに有することを特徴とする 3育求項 1 6 に記載のデータ抽出方法。
2 9 . すでに抽出されたすベての前記メッセージ配列の配列要素が有す るデータの排他的綸理和を, 前記初期関数の入力とすることを特徴とす る W求項 2 8 に記載のデータ抽出方法。
3 0 . ステップ(f )において、 前記初期関数の出力が前記 ( j一 1 ) 番 目の状態値と一致する場合に抽出終了と認めることを特微とする蹐求項
2 7に記載のデータ抽出方法。
3 1 . コマーシャル画像が記«されている記慷装懂と、
前記コマーシャル面像の放送回数をカウン トするための情報を、 前記 コマーシャル面像に隱ぺいする符号化装置と、
前記情報が隱ぺいされた前記コマーシャル面像を放送する放送装置と を有し、
カウン トするための前記情報が有するデータに基づいて、 前記情報は、 前記コマーシャル画像中に分散して隐ぺいされていることを特徴とする 放送システム。
3 2 . 前記情報を前記コマーシャル面像に隙ぺいする方法は、 W求項 1 乃至 1 4のいずれか一に記載されたデータ · ハイディ ング方法であるこ とを特微とする W求項 3 1 に記載の放送システム,
3 3 . コマーシャル画像中に前記コマーシャル画像の放送回数をカウン トするための情報が隠べいされていて、 係る前記コマーシャル画像を受 信する受信装置と、
前記コマーシャル画像から前記情報を抽出する復号化装置と、 抽出された前記情報に基づいて、 前記コマーシャル画像の放送回数を カウン 卜するカウンタとを有し、 カウン 卜するための前 E情報が有するデータに基づいて、 分散して隠 ベいされている前記情報の前記コマーシャル面像中の位置を特定して抽 出することを特微とする受信システム。
3 4 . 前記情報を前記コマーシャル画像から抽出する方法は、 請求項 1 5乃至 3 0のいずれか一に記載されたデータ抽出方法であることを特徴 とする W求項 3 3に記載の受信システム。
3 5 . メディア · データが記悚された記慷手段と、
メッセージ · データを前記メディア · データに隱ぺいする符号化装置 と、
前記記慷手段から Kみ出された前記メディア · データ中に、 前記メッ セージ · データを隱ぺいするように符号化装置を制御し、 前記符号化装 置の出力データをネッ トワークに送信するサーバ一とを有し、
前記メッセージ ' データの内容に基づいて、 前記メッセージ · データ は、 前記メディア ' データ中に分散して隠ぺいされていることを特微と するネッ トワークにデータを送信するシステム。
3 6 . 前記隱ぺいする方法は、 W求項 1乃至 1 4のいずれか一に記載さ れたデータ · ハイディ ング方法であることを特微とする請求項 3 5 に記 載のネッ トワークにデータを送信するシステム。
3 7 . メッセージ ' データが隠ぺいされているメディァ · データをネッ トワークから受信する受信装慨と、
前記メディア ' データから前記メッセージ ' デ一夕を抽出する復号化 装置とを有し、
前記メッセージ · データの内容に基づいて、 分散して I»ぺいされてい る前記メッセージ , データの前記メディア · データ中の位置を特定して 抽出することを特微とするネッ トワークからデータを受信するシステム。
3 8 . 前記抽出する方法は、 請求項 1 5乃至 3 0のいずれか一に記載さ れたデータ抽出方法であることを特徴とする請求項 3 7 に記載のネッ ト ワークからデータを受信するシステム。
3 9 , 第 1のデータが第 1 の配列として表現されると共に、 第 2のデー 夕が第 2の配列として表現されており、 前記第 1の配列中の特定の配列 要素を指定する状態値に基づいて, 前記第 2の配列要素を分散して前記 第 1の配列に ぺいするデータ · ハイディ ング方法において、
(a) j ( j 0 ) 番目の状態倣を決定するステップと、
(b) 前記 j 番目の状態値と、 当該 j 番目の状態値により指定される前記 第 1の配列の配列要素と、 前記第 2の配列の配列要素とに基づいて、 ( j + 1 ) 番目の状據値を決定するステップと、
(c) 前記 ( j + 1 ) 番目の状 値が指定する前記第 1 の配列の配列要素 に対して、 データを隠ぺいするステップと
を有することを特微とするデータ · ハイディ ング方法。
4 0 . 第 2のデ一夕が第 2の配列として表現され、 前記第 2のデ一夕を 含んだ第 3のデータが第 3の配列として表現され、 かつ前記第 3のデー 夕が分歉して隠べいされている第 1のデータが第 1 の配列として表現さ れていて、 前記第 1の配列中の特定の配列要素を指定する状態倣に基づ いて、 前記第 1の配列から前記第 2の配列を抽出するデータ抽出方法に おいて、
(a) j ( j ≥ 1 ) 番目の状態値を決定するステップと、
(b) 前記 j 番目の状態値により指定される前記第 1の配列の配列要素か ら、 前 第 3の配列の配列要素を抽出するステップと、
(c) 前記 j 番目の状態値と、 抽出された前記第 3の配列の配列要素に基 づいて、 ( j一 1 ) 番目の状態値を決定するステップと、
(d) 前記 ( j - 1 ) 番目の状態倣が指定する前記第 1の配列の配列要素 及び抽出された前記第 3の配列の配列要素に基づいて、 前記第 2の配列 の配列要素を抽出するステップと
を有することを特徴とするデータ抽出方法。
4 1 . メディア ' データにデータを摁ぺいするデータ ' ハイディ ング方 法において、
前記メッセージ ' データ中に、 前記メッセージ ' データ及び前記メデ ィァ · データの基準位置に関する情報を隱ぺいし、
前記基準位置に闋する情報は、 前記メッセージ · データ中に隠べいさ れていて、 かつ、 前記メッセージ ' データの一部分が «5分メッセージ ' データとして切り取られた場合においても, 前記部分メッセ一ジ , デ一 夕から、 本来のメッセ一ジ · データの前記基準位置または前記基準位置 に基づく相対的な位鬣を検出できる情報である
ことを特嫩とするデータ · ハイディ ング方法。
4 2 . 前記基準位置に Mする情報は、 前記基串位置を中心とした描かれ た同心円弧であることを特撖とする W求項 4 1 に記載のデータ ' ハイデ ィ ング方法。
4 3 . メディア · デ一夕中にメッセージ ■ データを隠べいするデータ · ハイディ ング方法において、
(a) メッセ一ジ · データを ぺいすべき一のプロックをメディア · デ一 夕中において特定するステップと、
(b) 特定された前記一のブロックの特性値を求めるステップと、
(c ) 陬ぺいすべきデ一夕の内容を、 特性储の基準を与える基準値と前記 ブロックの特性値との大小闋係に対応づけた変換規則を参照して、 前記 —のプロックの特性慽を操作することによりメッセージ ' デ一夕を隠べ いするステップと
を有することを特撖とするデータ · ハイディング方法。
4 4 . 前記基準値は、 メディア ' データ中に存在する他のブロックの特 性値により与えらることを特撖とする蹐求項 4 3 に記載のデータ · ハイ ディング方法。
4 5 . メディア · データ中にメッセージ · データを隠ぺいするデータ · ハイディ ング方法において、
(a) —のブロック及び他のブロックとで構成されるペアを、 メディア , データ中において特定するステップと、
(b) 前記ペアを構成するそれぞれの前記プロックの特性値を求めるステ ッブと、
(c ) 求められた前記特性値の大小閲係を比較して、 変換規則に基づいて、 前記ペアを構成するそれぞれの前記ブロックの特性絛を搡作することに より、 メッセージ · データ中の一部のデータを隠べいするステップと、 (d) 全てのメッセージ · デ一夕を隠べいするために, 上記のステップ(a ) 乃至(c )を練り返し実行するステップと
を有することを特撖とするデータ · ハイディ ング方法。
4 6 . メディア · データ中にメッセージ · データを隨ぺいするデータ · ハイディ ング方法において、
( a) —のブロック及び他のブロックとでペアを構成されるペアを、 メデ ィ ァ · データ中において特定するステップと、
(b) 前記ペアを構成するそれぞれの前記ブロックの特性攄を求めるステ ップと、
(c ) 求められた前記特性慷の大小閲係を規定した変換規則に基づいて、 前記ペアを構成するそれぞれの前記ブロックの特性储を入れ替えること により、 メッセージ · データを陬ぺいするステップと
を有することを特撖とするデータ · ハイディ ング方法。
4 7 . 前記他のブロックは、 ペアを構成する前記一のブロックに隣接し ていることを特微とする請求項 4 4 、 4 5または 4 6 に記載のデータ ' ハイディ ング方法。
4 8 . 前記変換規則は、 前記一のブロックの特性値が前記他のブロック の特性値よりも大きい場合、 一方のビッ トが隠べいされていると規定し、 逆の場合には、 他方のビッ トが隱ぺいされていると規定することを特徴 とする請求項 4 4 、 4 5または 4 6 に記載のデータ ' ハイディ ング方法。
4 9 . 前記一のプロックの特性値と前記他のプロックの特性値との差が 第 1 の 値より大きい場合には、 上記ステップ(c)の実行を禁止するス テツブとをさらに有し、 これによりメディア · データの品質の劣化を抑 制することを特微とする 求項 4 4 、 4 5または 4 6 に記載のデータ · ハイディング方法。
5 0 . 前記一のブロックの特性値と前記他のブロックの特性値との差が 第 2の 储より小さい場合には、 上記ステップ(c)の実行を禁止するス テツブとをさらに有し、 これによりメッセージ ' データの抽出精度の低 下を抑制することを特撖とする請求項 4 4 、 4 5または 4 6 に記載のデ —夕 · ハイディング方法。
5 1 . 前記ブロックはピクセル · ブロックであり、 前記特性値は前記ピ クセル · ブロックの輝度佃であることを特橄とする請求項 4 4 、 4 5ま たは 4 6に記載のデータ · ハイディ ング方法。
5 2 . 前記ブロックはビクセル ' ブロックであり、 前記特性値は前記ピ クセル , ブロックの分散値であることを特撖とする W求項 4 3 、 4 5ま たは 4 6 に記載のデータ · ハイディ ング方法。
5 3 . メッセージ ' データが隠べいされたメディァ · データ中からメッ セージ · データを抽出するデータ抽出方法において、
(a) メッセージ · データが隱ぺいされている一のブロックをメディア · データ中において特定するステップと、
(b) 特定された前記一のプロックの特性値を求めるステップと、
( c) 特性値の基準を与える基準値と前記プロックの特性値との大小関係 を、 抽出すべきデータの内容に対応づけた変換規則を参照して、 前記一 のプロックの特性値に応じて、 賺ぺいされているメッセージ ' データを 抽出するステップと
を有することを特徵とするデータ抽出方法。
5 4 . 前記基準値は、 メディア ' データ中に存在し、 かつ前記一のプロ ックとは異なる他のブロックに関する特性値であることを特微とする K 求項 5 3 に記載のデータ抽出方法。
5 5 . メッセージ ' データが ¾ぺぃされたメディア · データ中からメッ セージ · データを抽出するデータ抽出方法において、
(a) メッセージ ' データが賺ぺいされている、 一のブロック及び他のブ ロックのペアを, メディア · データ中において特定するステップと、 (b) 前記ペアを構成するそれぞれの前記ブロックの特性储を求めるステ ッブと、
(c) 前記ペアを構成するそれぞれの前記ブロックの特性値の大小閱係を、 抽出すべきデータの内容に対応づけた変換規則を参照して、 それぞれの 前記プロックの特性値に応じて、 隱ぺいされているメッセージ · データ を抽出するステップと
を有することを特微とするデータ抽出方法,
5 6 . 前記他のブロックは、 ペアを構成する前記一のブロックに隣接し ていることを特徴とする請求項 5 4または 5 5に記載のデータ抽出方法。 5 7 . 前記変換規則は、 前記一のブロックの特性値が前記他のブロック の特性値よりも大きい場合、 一方のビッ トを抽出すると規定し、 逆の場 合には、 他方のビッ トを抽出すると規定することを特徴とする W求項 5 4または 5 5に記載のデータ抽出方法。
5 8 . 前記変換規則は、 ペアを構成する前記一のブロック及び前記他の ブロックの特性慽の差が所定の! W値より小さい場合には、 当該ペアには メディア ' データが隠べいされていないと判断することを特撖とする請 求項 5 4または 5 5に記載のデータ抽出方法。
5 9 . 前記ブロックはビクセル · ブロックであり、 前記特性値は前記ビ クセル . ブロックの輝度値であることを特撖とする精求項 5 3または 5 5に記載のデータ抽出方法。
6 0 . 前記ブロックはビクセル ' ブロックであり、 前記特性値は前記ピ クセル · ブロックの分散値であることを特微とする »求項 5 3または 5 5に記載のデータ抽出方法。
6 1 メッセージ · データが RSベいされたメディア · データ中から隱ぺぃ されたメッセージ · データを抽出するデータ抽出システムにおいて、 メッセージ ' データが隠ぺいされた、 アナログ信号としてのメッセ一 ジ · データをデジタル信碚に変換して、 出力する変換手段と、
前記変換手段の出力としてのメディア ' データ中において、 メッセ一 ジ . データが陬ぺいされている一のブロックを特定する特定手段と、 前記特定手段により特定された前 K—のプロックの特性储を求める特 性値計算手段と、
特性値の基準を与える基準傲と前記プロックの特性値との大小閱係を、 抽出すべきデータの内容に対応づけた変換規則を記慷する記僮手段と、 前記変換規則を参照して、 前記一のブロックの特性傭に応じて、 隱ぺ いされているメッセージ · データを抽出する抽出手段と
を有することを特徴とするデータ抽出システム。
6 2 . 前記基準傲は、 メディア ' データ中に存在し、 かつ W記一のプロ ックとは異なる他のブロックに閼する特性値であることを特徴とする言育 求項 6 1 に記載のデータ抽出システム。
6 3 . 前記変換規則は、 前記一のブロックの特性値が前記他のブロック の特性値よりも大きい場合、 一方のビッ トを抽出すると規定し、 逆の場 合には、 他方のビッ トを抽出すると規定することを特徹とする 求項 6
1 に記載のデータ抽出システム。
6 4 . メッセージ · データが ¾ぺいされたメディア . データ中からメッ セージ · データを抽出する半導体集積回路において、
入力信号としてのメディア · データにおいて、 メッセージ . データが R8ベいされているものとして特定された一のブロックに関して特性値を 求める手段と、
特性値の基準を与える基準健とブロックの特性値との大小関係を、 抽 出すべきデータの内容に対応づけた変換規則を参照して、 前記一のプロ ックの特性傯に応じて、 1»ベいされているメッセージ · デ一夕を抽出す る抽出手段と
を有することを特徴とする半導体集積回路。
6 5 . 前記基準値は、 メディア · デ一夕中に存在し、 かつ前記一のプロ ックとは異なる他のブロックに閱する特性値であることを特微とする W 求項 6 4に記載の半導体集權回路,
6 6 . 前記変換規則は、 前記一のブロックの特性値が前記他のブロック の特性値よりも大きい場合、 一方のビッ トを抽出すると規定し、 逆の場 合には、 他方のビッ トを抽出すると規定することを特微とする W求項 6 5に記載の半導体集積回路。
PCT/JP1997/000395 1996-06-20 1997-02-13 Procede permettant de cacher des donnees et procede permettant d'extraire des donnees WO1997049235A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE69739969T DE69739969D1 (de) 1996-06-20 1997-02-13 Verfahren zum verstecken von daten
KR1019980701274A KR100295007B1 (ko) 1996-06-20 1997-02-13 데이터은폐및추출방법
EP97902686A EP0852441B1 (en) 1996-06-20 1997-02-13 Data hiding method
JP50265598A JP3251594B2 (ja) 1996-06-20 1997-02-13 データ・ハイディング方法及びデータ抽出方法
HK99100592A HK1015595A1 (en) 1996-06-20 1999-02-12 A data hiding and extracting method and a system for transmitting data to and receiving data from a network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP15933096 1996-06-20
JP8/159330 1996-06-20

Publications (2)

Publication Number Publication Date
WO1997049235A1 true WO1997049235A1 (fr) 1997-12-24
WO1997049235A8 WO1997049235A8 (fr) 2001-07-26

Family

ID=15691471

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/000395 WO1997049235A1 (fr) 1996-06-20 1997-02-13 Procede permettant de cacher des donnees et procede permettant d'extraire des donnees

Country Status (11)

Country Link
US (2) US6055321A (ja)
EP (1) EP0852441B1 (ja)
JP (1) JP3251594B2 (ja)
KR (1) KR100295007B1 (ja)
CN (2) CN1128535C (ja)
CA (1) CA2230071A1 (ja)
DE (1) DE69739969D1 (ja)
HK (1) HK1015595A1 (ja)
MY (1) MY125067A (ja)
TW (1) TW347506B (ja)
WO (1) WO1997049235A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002539487A (ja) * 1999-03-10 2002-11-19 ディジマーク コーポレイション 信号処理方法及び装置
US6963655B1 (en) 1999-04-14 2005-11-08 International Business Machines Corporation Alteration detection apparatus and method thereof

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US6614914B1 (en) * 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US6993152B2 (en) * 1994-03-17 2006-01-31 Digimarc Corporation Hiding geo-location data through arrangement of objects
US7006661B2 (en) 1995-07-27 2006-02-28 Digimarc Corp Digital watermarking systems and methods
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
JP3172475B2 (ja) * 1996-12-26 2001-06-04 日本アイ・ビー・エム株式会社 統計検定を用いたデータ・ハイディング方法及びデータ抽出方法
GB9700854D0 (en) 1997-01-16 1997-03-05 Scient Generics Ltd Sub-audible acoustic data transmission mechanism
JP3560441B2 (ja) 1997-04-07 2004-09-02 日本アイ・ビー・エム株式会社 複数フレーム・データ・ハイディング方法及び検出方法
JP4313873B2 (ja) * 1998-01-30 2009-08-12 キヤノン株式会社 電子機器及びデータ処理方法
JP4822304B2 (ja) * 1998-08-06 2011-11-24 ソニー株式会社 画像処理装置および画像処理方法、並びに記録媒体
JP4182603B2 (ja) * 1998-10-07 2008-11-19 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、記録媒体、並びにデータ処理装置
US6965697B1 (en) 1998-07-15 2005-11-15 Sony Corporation Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
US6456393B1 (en) * 1998-08-18 2002-09-24 Seiko Epson Corporation Information embedding in document copies
JP2000155798A (ja) * 1998-11-18 2000-06-06 Toshiba Corp 機器制御方法および機器制御システム
GB2345602A (en) * 1999-01-07 2000-07-12 Hewlett Packard Co Applying digital watermarks to selected sections of data files
US7224995B2 (en) * 1999-11-03 2007-05-29 Digimarc Corporation Data entry method and system
JP3986226B2 (ja) * 1999-11-29 2007-10-03 株式会社日立製作所 データ埋め込み装置,データ抽出装置およびそれらの方法ならびに該方法を記録した記録媒体
JP4099951B2 (ja) * 2000-03-30 2008-06-11 コニカミノルタビジネステクノロジーズ株式会社 画像データに付加情報を埋め込むための画像処理装置、画像形成装置、情報埋込方法およびプログラム
AU2001283073A1 (en) * 2000-08-03 2002-02-18 Digimarc Corporation Linking from paper invoices and statements to on-line resources
US6978371B1 (en) * 2000-11-07 2005-12-20 Matsushita Electric Industrial Co., Ltd. Data hiding in digital multimedia
US6707928B2 (en) * 2000-11-29 2004-03-16 Intel Corporation Method for block-based digital image watermarking
EP1340320B1 (en) 2000-11-30 2008-10-15 Intrasonics Limited Apparatus and system for using data signal embedded into an acoustic signal
US7174030B2 (en) * 2001-02-06 2007-02-06 Victor Company Of Japan, Ltd. Method and apparatus for embedding and reproducing watermark into and from contents data
US7249257B2 (en) * 2001-03-05 2007-07-24 Digimarc Corporation Digitally watermarked maps and signs and related navigational tools
US7042470B2 (en) * 2001-03-05 2006-05-09 Digimarc Corporation Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms
US7254249B2 (en) * 2001-03-05 2007-08-07 Digimarc Corporation Embedding location data in video
US7197160B2 (en) * 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
US6950519B2 (en) 2001-03-05 2005-09-27 Digimarc Corporation Geographically watermarked imagery and methods
US7061510B2 (en) * 2001-03-05 2006-06-13 Digimarc Corporation Geo-referencing of aerial imagery using embedded image identifiers and cross-referenced data sets
US9363409B2 (en) * 2001-03-05 2016-06-07 Digimarc Corporation Image management system and methods using digital watermarks
US7113612B2 (en) * 2001-03-22 2006-09-26 Victor Company Of Japan, Ltd. Apparatus for embedding and reproducing watermark into and from contents data
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
FR2823630B1 (fr) * 2001-04-12 2003-07-18 Canon Kk Association d'informations de segmentation a un signal numerique
US7340076B2 (en) * 2001-05-10 2008-03-04 Digimarc Corporation Digital watermarks for unmanned vehicle navigation
US20020169962A1 (en) * 2001-05-10 2002-11-14 Brundage Trent J. Digital watermarks used in automation equipment
CN1547693A (zh) * 2001-06-25 2004-11-17 Jp莫根大通银行 电子凭单和用于发行其的系统和方法
WO2003034227A2 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing user data
US7006656B2 (en) * 2001-10-15 2006-02-28 The Research Foundation Of Suny Lossless embedding of data in digital objects
US8204929B2 (en) * 2001-10-25 2012-06-19 International Business Machines Corporation Hiding sensitive information
EP1464172B1 (en) 2001-12-24 2013-04-24 Intrasonics S.A.R.L. Captioning system
US6954541B2 (en) 2002-05-29 2005-10-11 Xerox Corporation Method of detecting changes occurring in image editing using watermarks
US20050271246A1 (en) * 2002-07-10 2005-12-08 Sharma Ravi K Watermark payload encryption methods and systems
JP3922369B2 (ja) * 2003-01-21 2007-05-30 日本ビクター株式会社 埋め込み情報の記録装置及び再生装置並びに記録用プログラム及び再生用プログラム
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7194106B2 (en) 2003-04-03 2007-03-20 Digimarc Corporation Creating electronic forms through digital watermarking
WO2004107120A2 (en) * 2003-05-22 2004-12-09 Sony Electronics Inc. Methods and apparatuses for sequestering content
US7116374B2 (en) * 2003-08-26 2006-10-03 Koplar Interactive Systems International, L.L.C. Method and system for enhanced modulation of video signals
KR20050078767A (ko) * 2004-02-02 2005-08-08 삼성전자주식회사 디지털 영상 워터마킹 장치 및 그 방법
WO2005076985A2 (en) 2004-02-04 2005-08-25 Digimarc Corporation Digital watermarking image signals on-chip and photographic travel logs through digital watermarking
US7664175B1 (en) 2004-06-16 2010-02-16 Koplar Interactive Systems International, L.L.C. Mark-based content modulation and detection
US20060282884A1 (en) * 2005-06-09 2006-12-14 Ori Pomerantz Method and apparatus for using a proxy to manage confidential information
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7860903B2 (en) * 2005-12-23 2010-12-28 Teradata Us, Inc. Techniques for generic data extraction
WO2007114716A1 (en) * 2006-04-03 2007-10-11 Resonance Holdings Limited Methods for determining proximity between radio frequency devices and controlling switches
US8150097B2 (en) * 2007-01-24 2012-04-03 Sony Corporation Concealed metadata transmission system
US20080307233A1 (en) * 2007-06-09 2008-12-11 Bank Of America Corporation Encoded Data Security Mechanism
US8650402B2 (en) * 2007-08-17 2014-02-11 Wong Technologies L.L.C. General data hiding framework using parity for minimal switching
US8798133B2 (en) * 2007-11-29 2014-08-05 Koplar Interactive Systems International L.L.C. Dual channel encoding and detection
NZ564196A (en) * 2007-12-10 2010-08-27 Resonance Holdings Ltd Electronic lock for security system and key on a wireless device including methods of encoding data
KR100965604B1 (ko) * 2008-03-17 2010-06-23 경기대학교 산학협력단 이미지를 이용한 메시지 제공 방법 및 그 장치
CN101577619B (zh) * 2008-05-08 2013-05-01 吴志军 基于信息隐藏的实时语音保密通信系统
GB2460306B (en) 2008-05-29 2013-02-13 Intrasonics Sarl Data embedding system
US10943030B2 (en) * 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
WO2010090533A2 (en) 2009-01-07 2010-08-12 Resonance Holdings Limited Bluetooth authentication system and method
WO2011111191A1 (ja) * 2010-03-10 2011-09-15 富士通株式会社 画像復号装置、画像復号方法及び画像復号用コンピュータプログラム
US9015494B2 (en) * 2011-07-11 2015-04-21 Salesforce.Com, Inc. Methods and apparatus for digital steganography
CN102663668B (zh) * 2012-04-06 2014-04-16 王涛 一种基于连续矢量图形的数字水印系统及实现方法
CN105160694B (zh) * 2015-10-15 2017-05-03 深圳大学 一种数据隐藏方法及隐藏系统
US10212306B1 (en) * 2016-03-23 2019-02-19 Amazon Technologies, Inc. Steganographic camera communication
CN110516775B (zh) * 2019-07-11 2023-07-25 西安邮电大学 基于qr码用户秘密信息隐藏方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63214067A (ja) * 1987-03-02 1988-09-06 Toyo Commun Equip Co Ltd 画像へのデ−タ合成方法
JPH0622119A (ja) * 1992-06-30 1994-01-28 Minolta Camera Co Ltd 画像処理装置
JPH07123244A (ja) * 1993-09-03 1995-05-12 Toshiba Corp 画像処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969041A (en) * 1988-09-23 1990-11-06 Dubner Computer Systems, Inc. Embedment of data in a video signal
US5319453A (en) * 1989-06-22 1994-06-07 Airtrax Method and apparatus for video signal encoding, decoding and monitoring
US5987127A (en) * 1992-06-30 1999-11-16 Minolta Co., Ltd. Image forming apparatus and copy management system
US5721788A (en) * 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
US5379345A (en) * 1993-01-29 1995-01-03 Radio Audit Systems, Inc. Method and apparatus for the processing of encoded data in conjunction with an audio broadcast
DE69417661T2 (de) * 1993-09-03 1999-11-11 Toshiba Kawasaki Kk Gerät zur steganografischen Einfügung von Information in Farbbilder
US5748783A (en) * 1995-05-08 1998-05-05 Digimarc Corporation Method and apparatus for robust information coding
US5659726A (en) * 1995-02-23 1997-08-19 Sandford, Ii; Maxwell T. Data embedding
DE19520232C1 (de) * 1995-06-01 1996-08-14 Siemens Ag Verfahren zur Verschlüsselung von Folgen, die aus zahlenkodierten Informationseinheiten bestehen
US5689587A (en) * 1996-02-09 1997-11-18 Massachusetts Institute Of Technology Method and apparatus for data hiding in images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63214067A (ja) * 1987-03-02 1988-09-06 Toyo Commun Equip Co Ltd 画像へのデ−タ合成方法
JPH0622119A (ja) * 1992-06-30 1994-01-28 Minolta Camera Co Ltd 画像処理装置
JPH07123244A (ja) * 1993-09-03 1995-05-12 Toshiba Corp 画像処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0852441A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002539487A (ja) * 1999-03-10 2002-11-19 ディジマーク コーポレイション 信号処理方法及び装置
US6963655B1 (en) 1999-04-14 2005-11-08 International Business Machines Corporation Alteration detection apparatus and method thereof

Also Published As

Publication number Publication date
CN1198284A (zh) 1998-11-04
DE69739969D1 (de) 2010-10-07
TW347506B (en) 1998-12-11
CN1207894C (zh) 2005-06-22
MY125067A (en) 2006-07-31
US6512835B1 (en) 2003-01-28
KR19990044042A (ko) 1999-06-25
EP0852441B1 (en) 2010-08-25
CN1128535C (zh) 2003-11-19
HK1015595A1 (en) 1999-10-15
EP0852441A1 (en) 1998-07-08
CN1474591A (zh) 2004-02-11
KR100295007B1 (ko) 2001-10-26
EP0852441A4 (en) 2003-01-15
JP3251594B2 (ja) 2002-01-28
CA2230071A1 (en) 1997-12-24
US6055321A (en) 2000-04-25
WO1997049235A8 (fr) 2001-07-26

Similar Documents

Publication Publication Date Title
WO1997049235A1 (fr) Procede permettant de cacher des donnees et procede permettant d&#39;extraire des donnees
Petitcolas Watermarking schemes evaluation
Hartung et al. Multimedia watermarking techniques
Moulin et al. Data-hiding codes
Arnold et al. Techniques and applications of digital watermarking and content protection
Petitcolas et al. Public automated web-based evaluation service for watermarking schemes: Stirmark benchmark
Celik et al. Lossless watermarking for image authentication: a new framework and an implementation
Swanson et al. Multimedia data-embedding and watermarking technologies
DE69435076T2 (de) Einbetten eines steganographischen Kodes in ein Bildsignal
DE69434237T2 (de) Video mit versteckten in-Band digitalen Daten
DE69637340T2 (de) Steganographisches verfahren und steganografische vorrichtung
Li et al. Constructing a virtual primary key for fingerprinting relational data
US6434538B1 (en) Data control method, for embedding data control information, method for detecting data control information, device for embedding data control information and device for recording data
EP1117071B1 (en) Determination of a segmentation of a digital signal for inserting watermarking signals and the associated insertion.
Zong et al. Non-linear-echo based anti-collusion mechanism for audio signals
Gulati et al. Information hiding using fractal encoding
Al-Mansoori et al. Multi-watermarking scheme for copyright protection and content authentication of dubaisat-1 satellite imagery
Cauvery Water marking on digital image using genetic algorithm
Dadkhah et al. Efficient image authentication and tamper localization algorithm using active watermarking
Latha et al. An efficient wavelet transform based steganography technique using chaotic map
JP3922369B2 (ja) 埋め込み情報の記録装置及び再生装置並びに記録用プログラム及び再生用プログラム
Gehani et al. Veil: A system for certifying video provenance
Agbaje et al. Robustness and Security Issues in Digital Audio Watermarking
Rahaman et al. Digital Watermarking Analysis Using Data Security
Lu et al. Multipurpose Multilevel Multichannel Information Hiding Framework for Multimedia Protection, Authentication and Traitor Tracing

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97190937.7

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): BR CA CN CZ HU JP KR PL RU SG SK

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i
ENP Entry into the national phase

Ref document number: 2230071

Country of ref document: CA

Ref document number: 2230071

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1019980701274

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1997902686

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1997902686

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980701274

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019980701274

Country of ref document: KR

AK Designated states

Kind code of ref document: C1

Designated state(s): BR CA CN CZ HU JP KR PL RU SG SK

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i