WO2013149579A1 - 一种基于连续矢量图形描述的数字水印系统及实现方法 - Google Patents

一种基于连续矢量图形描述的数字水印系统及实现方法 Download PDF

Info

Publication number
WO2013149579A1
WO2013149579A1 PCT/CN2013/073646 CN2013073646W WO2013149579A1 WO 2013149579 A1 WO2013149579 A1 WO 2013149579A1 CN 2013073646 W CN2013073646 W CN 2013073646W WO 2013149579 A1 WO2013149579 A1 WO 2013149579A1
Authority
WO
WIPO (PCT)
Prior art keywords
watermark
digital watermark
data
module
vector
Prior art date
Application number
PCT/CN2013/073646
Other languages
English (en)
French (fr)
Inventor
王涛
Original Assignee
Wang Tao
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 Wang Tao filed Critical Wang Tao
Publication of WO2013149579A1 publication Critical patent/WO2013149579A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Definitions

  • the invention belongs to a system and method for realizing digital watermarking in computer information security, network communication authentication and authentication, digital copyright protection and management, in particular to a system for realizing digital watermark in continuous vector graphic description animation and method. Background technique
  • Digital Watermarking technology embeds some identification information (ie, digital watermark) directly into a digital carrier (including multimedia, documents, software, etc.) or an indirect representation of data (modifies the structure of a specific area) without affecting the original carrier.
  • identification information ie, digital watermark
  • the value of use is not easily detectable and re-modified, but can be identified and recognized by the watermark producer (or other parties working with the producer).
  • the watermark producer or other parties working with the producer.
  • Through the information hidden in the carrier it is possible to confirm the content creator, the purchaser, transmit the secret information, or determine whether the carrier has been tampered with.
  • Digital watermarking is an important research direction of information hiding technology. Digital watermarking is an effective way to achieve source identification and copyright protection, and is an important branch of information hiding technology research.
  • one or more digital watermark generating terminals responsible for secretly or publicly adding data watermark data in original data (also called carrier data); having one or more digital watermark verification terminals, in After receiving the carrier data containing the digital watermark data, the digital watermark data is extracted/separated from the carrier data, and the correctness, legality and source of the digital watermark data are identified, and the digital watermark is realized.
  • the information of digital watermark should be safe, difficult to tamper with and forge. At the same time, there should be a low false detection rate. When the original content changes, the digital watermark should change, so that the original data can be detected. .
  • watermark visibility / concealment According to the needs of the application, the digital watermark can be visible, obvious, or unconscious. For invisible watermarks, it should not affect the normal use of protected data; it will not seriously affect the quality and use of the carrier.
  • Robustness also known as robustness: It means that after undergoing unintentional or intentional signal processing, the digital watermark can still maintain information integrity and can be accurately identified. But robustness is not a requirement for digital watermarking.
  • Watermark capacity refers to the amount of watermark information that the carrier can embed without deformation.
  • Vector graphics refer to specific graphic types (such as points, lines, circles, cones, etc.) and drawing parameters (such as Coordinates, line widths, color values, etc.)
  • a graphical data form that describes the visual characteristics of a graphic or graphic image area, or a composite vector graphic composed of multiple single vector graphics, such as a vector glyph.
  • a two-dimensional ring only need to describe its center, outer ring radius, inner ring radius, color, edge line type, line width and edge color, you can draw it;
  • a three-dimensional sphere only need to describe its center Coordinates, sphere radius, ball color, spherical shininess/transparency.
  • a vector image contains multiple primitives, which are two- or three-dimensional drawing units with a single drawing rule or algorithm, such as points, lines, circles, cones, and so on. Multiple graphic elements together form a composite graphic. For example, a vector illustration of a Chinese flag consists of a red rectangle and five yellow regular pentagrams of different positions and sizes.
  • Vector graphics including vector glyphs
  • network vector graphics such as SVG format network vector
  • GIS spatial information systems
  • digital maps future There will be further applications in computer remote screen output and presentation.
  • the Chinese patent discloses a video watermark embedding and extracting method based on motion vector.
  • the watermark embedding step is: Step a, obtaining the i-th motion vector (Xi, of the video frame of the encoding end when encoding) Yi); Step b, obtaining a feature vector (Vli,) of the motion vector of the encoding end (Xi, Yi) according to a combination relationship between the abscissa Xi of the encoding end motion vector (Xi, Yi) and the fractional part of the ordinate Yi V2i) ; Step c, adjusting the abscissa Xi or the ordinate Yi of the encoding end motion vector (Xi, Yi) according to the modification rule, so that the abscissa Vli of the feature vector (Vli, V2i) of the encoding end motion vector,
  • the ordinate V2i is the same as the two-digit watermark Wk, Wk+1 to be
  • the disclosed method uses a specific running vector ("i-th motion vector" in the original text) as an object of embedding watermark data, and the embedding of the watermark data is not related to the timing of the continuous vector, and is not embedded when embedding.
  • the watermark data is compiled into a code stream and embedded in a plurality of consecutive vector graphics data.
  • the Chinese patent discloses a fragile watermark embedding and extracting method based on H.264 standard motion vector in the field of information security technology, selectively embedding watermark information in a motion vector of a P frame before an I frame
  • the watermark capacity is large and the fidelity is high;
  • the watermark information includes the frame number and time stamp, and is encrypted by a symmetric cryptographic algorithm, so that it is anti-aggressive and can tamper with the video at a certain precision, and affects the video encoding bit rate. Very small.
  • the shortcomings include:
  • the application scope is limited to implementing the vulnerability watermark embedding and extracting method in the H.264-based video data, and only the fragile watermark can be implemented;
  • the invention embeds the watermark in the additional information in the video encoding,
  • the protected video frame is not the vector graphics data; its watermarking mechanism is not for the continuous vector graphics to describe the embedded continuous stream in the animation, and the digital stream is transmitted by the complete stream.
  • the primary object of the present invention is to overcome the shortcomings and shortcomings of the prior art in adding digital watermarks to vector graphics, and to propose a digital watermarking system based on continuous vector graphics to describe animations, which performs vector graphics by describing animations in continuous vector graphics.
  • the continuous change of parameters is embedded in the coded stream, and the digital watermark information is carried by the continuous code stream data embedded in the continuous vector picture (the digital watermark data is distributed among the individual code values in the code stream), and a very small number of vectors are realized.
  • the addition of digital watermarks to graphic data is an innovation of traditional vector graphics digital watermarking schemes and related systems. It is an innovation in the theory and application of computer graphics and image technology, information security technology, and vector graphic digital copyright protection.
  • Another object of the present invention is to provide a digital watermark implementation method for describing animation based on continuous vector graphics, which realizes adding a digital watermark to a very small amount of vector graphics data.
  • a digital watermarking system based on continuous vector graphic description animation characterized in that it comprises a digital watermark generating terminal WGT for adding digital watermark data information to a continuous vector image and using The digital watermark verification terminal WVT for detecting the digital watermark data information added in the continuous vector graphics and verifying the correctness thereof;
  • the digital watermark generating terminal WGT comprises a digital watermark generating terminal communication module CM-G, a to-be-processed vector graphics set queue module PVL , watermark value code stream generation module CG, watermark value code stream sequence module WGCL, digital watermark add mode Block WG, vector graphics set queue module SVL to be sent, watermark data storage DG of generation end, and time series data generation module T;
  • digital watermark verification terminal WVT includes digital watermark verification terminal communication module CM-V, reception vector graphics set queue module RVL, digital Watermark information extraction module WR, extracted code stream storage module WRCL, digital watermark verification module W
  • the digital watermark adding module WG is respectively connected with the to-be-processed vector graphics set queue module PVL, the watermark value stream sequence module WGCL, the to-be-sent vector graphics set queue module SVL, the generated watermark data storage DG, and the time series data generating module T,
  • the watermark generating end communication module CM-G is connected to the to-be-sent vector graphics set queue module SVL, and the watermark value stream generating module CG is respectively connected with the generating watermark data storage DG and the watermark value stream sequence module WGCL;
  • the digital watermark verification terminal communication module CM-V, the reception vector graphics set queue module RVL, the digital watermark information extraction module WR, the extracted code stream storage module WRCL, and the digital watermark verification module WV are sequentially connected, and the watermark data memory DV of the verification end is connected.
  • the digital watermark information extraction module WR and the digital watermark verification module WV are respectively connected;
  • the digital watermark generation terminal communication module CM-G is configured to send a continuous vector graphic description animation set with a digital watermark added;
  • the to-be-processed vector graphics set queue module PVL is used to record an original continuous vector graphic description animation set to which a digital watermark is to be added;
  • the watermark value code stream generating module CG is configured to generate a watermark value code stream according to the watermark data information and the watermark value code stream generation rule recorded in the watermark data memory DG of the generating end, and store the watermark value code stream in the watermark value code stream sequence module WGCL.
  • the watermark value code stream sequence module WGCL is configured to store and record the generated watermark value code stream, so as to add a specific watermark value to a specific continuous vector graphic description animation set;
  • the digital watermark adding module WG is configured to sequentially modify the continuous vector graphic to describe one or more attribute values of one or more graphic elements in the animation set according to an encoding rule for adding a digital watermark;
  • the to-be-sent vector graphic set queue module SVL is configured to temporarily save a continuous vector graphic with an added digital watermark to describe an animation set data sequence, and prepare to send;
  • the watermark data storage DG of the generating end is configured to store: (1) an algorithm for generating a watermark stream from the watermark data and related calculation parameters; (2) a code stream embedding the packet rule and a calculation parameter; (3) an embedding range; 4) watermark data; (5) embedding algorithm and calculation parameters; (6) comparison vector graphics packet selection or calculation method;
  • the time series data generating module T is configured to generate a time stamp or a time series number, so as to add time series information to the digital watermark of the continuous vector graphic description animation set data sequence, indicating the sequence relationship of the vector graphic set, and preventing the replay attack Or tampering;
  • the digital watermark verification end communication module CM-V is configured to receive consecutive vector graphics data packets
  • the receiving vector graphic set queue module RVL is configured to store the received continuous vector graphic data packet sequence;
  • the digital watermark information extraction module WR is configured to extract digital watermark information from graphic elements and attributes of the received continuous vector graphic description animation data packet sequence;
  • the extracted code stream storage module WRCL is configured to store the extracted digital watermark code stream data sequence
  • the digital watermark verification module WV is configured to analyze the extracted code stream, and verify whether the data information in the digital watermark extracted and analyzed in the received continuous vector graphics data packet is in the watermark data memory DV of the verification end. The data information in the data information embedded in the watermark and finally verified is consistent, and the verification result is output;
  • the watermark data memory DV of the verification end is stored in the same manner as the watermark data storage DG of the generation end.
  • the digital watermark generating end WGT further comprises a watermarked continuous vector graphic description animation file output module 0 connected to the vector graphic set queue module SVL to be sent, for describing a continuous vector graphic description animation to which a digital watermark has been added.
  • the set data is stored in a storage file.
  • Digital watermark generation end and digital watermark verification end knowledge exchange Before an communication, determine the embedding range, the code stream embedding data packet rule and the embedding algorithm, and negotiate and exchange between the digital watermark generation end and the digital watermark verification end. And sharing;
  • the continuous vector graphic description in the S2 includes a series of individual vector graphics data packets; each vector graphics data packet includes the following data:
  • time information and verification information may be added to the code stream generation algorithm, embedded position determination, and embedded content to implement digital watermark anti-attack and protection.
  • the parameter is used to control the generated watermark code stream data and the embedding in the continuous vector graphic description animation data packet, and the digital watermark is made by changing the parameter.
  • the embedding has a controllable change; in the S7 and S8, when the digital watermark is verified, the digital watermark data is correctly extracted and verified by parameters.
  • the generated digital watermark code stream is dispersed in different vector graphics data packets in the vector graphics data packet sequence, or a plurality of watermark code streams are combined or all code streams are embedded in one vector graphics data packet. .
  • one or more sets of digital watermark data are embedded in one or more graphic attributes of one or more vector graphic elements in the continuous vector graphic description animation data packet sequence, or in a continuous vector graphic description
  • the digital watermark data is embedded in the transmission time of each individual vector graphics data packet in the animation data packet sequence.
  • the principle of action of the present invention is: The present invention considers that embedding a digital watermark under a single vector graphic, if the number of vector graphics included is small and the total amount of data is small, it is difficult to embed the digital watermark; the digital watermark embedded by the coordinate modification is easy Causes distortion of the original vector graphics.
  • the digital watermark data can be embedded using synchronous or asynchronous changes in one or more graphical attributes (color, coordinates, time of change, etc.) of a particular vector pattern in a continuous vector. Embedding a watermark by describing the change value of the attribute in the animation by a continuous vector graphic, and verifying the watermark by changing the value,
  • graphical attributes color, coordinates, time of change, etc.
  • the present invention considers that a digital watermarking implementation method based on a traditional, single vector graphic is difficult to embed a large amount of watermark data, and the use of the digital watermarking method based on continuous vector graphics to describe animation is more
  • the advantage of the way can adapt to the application of very few vector graphics data, so that digital watermarking technology can be further applied in the field of vector graphics.
  • the present invention has the following advantages and beneficial effects:
  • digital watermarks can be embedded and verified in minimalist vector graphics: This is not possible with current vector graphics digital watermarking methods.
  • the disclosed system and method can perform continuous subtle changes (such as red, blue or green color values) to a color vector even if there is only one vector graphic element (for example, a circle or a pixel).
  • the digital watermark is embedded and the digital watermark is verified at the digital watermark verification end.
  • the amount of embedded data is large.
  • data can be embedded in properties such as color, coordinates, and the time at which these properties change.
  • the amount of embedded data is rich, making it possible to implement multiple digital watermarks.
  • multiple types of digital watermarks can be implemented: Since numbers can be embedded in a continuous or asynchronous change in one or more graphic attributes (color, coordinates, time of change, etc.) in a continuous vector image
  • the watermark data can realize various types of digital watermarks such as visible watermark, invisible watermark, fragile watermark, and robust watermark.
  • visible watermark can be realized by large-scale modification of visible attributes (such as color and coordinates) with time series
  • invisible watermark can be realized by modifying invisible attributes with time series or subtle modification of visible attributes.
  • Vulnerability watermarks can be achieved by embedding the same confidential data or mutually-confirmed confidential data in all graphic elements in the vector graphics (so that the attacker will be discovered regardless of which attribute of the attribute is modified, thus achieving a fragile watermark. Effect);
  • Robust watermarks can be achieved by embedding redundant or mutually-confirmed secret data in multiple graphic elements in a vector graphic (so that the attacker changes one place and can still extract from other graphic element changes) The original watermark information, so as to achieve the effect of robust watermark).
  • Other types or requirements of digital watermarks can also be implemented.
  • This method can achieve anti-tampering function by embedding confidential information, anti-heavy attack prevention by embedding time information and time series information, and thus has high security.
  • the embedded data of the present invention is large, it can be The attributes of multiple vector graphic elements embed redundant data (multiple copies of one data or multiple different forms of check values) to form a mutually authenticated, mutually protected system that enhances protection.
  • the digital watermarking method disclosed by the present invention is an existing static vector map, Digital engineering watermarking algorithm for engineering drawings.
  • FIG. 1 is a block diagram showing the structure of a digital watermarking system based on continuous vector graphic description animation
  • FIG. 2 is a flow chart of a method for implementing digital watermarking based on continuous vector graphic description animation according to the present invention
  • FIG. 3 is a frame structure diagram of a digital watermark generating end processing process in a digital watermark implementation method based on continuous vector graphic description animation
  • Fig. 4 is a structural diagram showing the structure of a digital watermark verification end processing process in a digital watermark implementation method based on continuous vector graphic description animation. detailed description
  • the present invention realizes a digital watermarking system for describing animation based on continuous vector graphics, as shown in FIG. 1, comprising a digital watermark generating terminal WGT for adding digital watermark data information to a continuous vector image and for detecting addition in a continuous vector graphics.
  • Digital watermark verification terminal WVT for digitally watermarking data information and verifying its correctness; wherein digital watermark generation terminal WGT comprises digital watermark generation terminal communication module CM-G, to-be-processed vector graphics set queue module PVL, watermark value code stream generation module CG Watermark value stream sequence module WGCL, digital watermark adding module WG, to-be-sent vector graphics set queue module SVL, generation side watermark data storage DG and time series data generation module T; digital watermark verification terminal WVT includes digital watermark verification terminal communication module CM -V, receiving vector graphics set queue module RVL, digital watermark information extraction module WR, extracted code stream storage module WRCL, digital watermark verification module WV, and watermark data memory DV of the verification end.
  • the digital watermark generating end communication module CM-G is configured to send a continuous vector graphic description animation set with a digital watermark added; the to-be-processed vector graphic set queue module PVL is used to record the original continuous digital watermark to be added.
  • the vector graphics describe the animation set;
  • the watermark value code stream generating module CG is configured to generate the watermark value code stream according to the watermark data information and the watermark value code stream generation rule recorded in the watermark data storage DG of the generating end, and store the watermark value stream value
  • the code stream sequence module WGCL is configured to store and record the generated watermark value code stream to add a specific watermark value to the corresponding continuous vector graphic description animation set.
  • the digital watermark adding module WG is configured to sequentially modify one or more attribute values of one or more graphic elements in the animation set by the continuous vector graphic according to an encoding rule of adding a digital watermark.
  • the to-be-sent vector graphic set queue The module SVL is used to temporarily store a sequence of continuous vector graphics that have been added with a digital watermark to describe the animation set data sequence, ready to send.
  • the watermark data storage DG of the generating end is configured to store: (1) an algorithm for generating a watermark stream from the watermark data and related calculation parameters; (2) a code stream embedding the packet rule and a calculation parameter; (3) an embedding range; 4) watermark data; (5) embedding algorithm and calculation parameters; (6) comparison vector graphics packet selection method or calculation method.
  • the time series data generating module T is configured to generate a time stamp (a type of data for indicating a time and a timing relationship) or a time series number, so that the digital watermarking algorithm is added to the continuous vector in the digital watermark implementation method according to the present invention.
  • the graphic describes the digital watermark of the animation set data sequence, indicating the order relationship of the vector graphics set, preventing replay attacks or tampering.
  • the digital watermark verification end communication module CM-V is configured to receive a continuous vector graphics data packet sent by the digital watermark generating end communication module CM-G; the receiving vector graphic set queue module RVL is configured to store the received continuous a vector graphics data packet sequence; the digital watermark information extraction module WR, configured to extract digital watermark information from the agreed graphic elements and attributes in the received continuous vector graphics description animation data packet sequence in an agreed form; a stream storage module WRCL, configured to store the extracted digital watermark stream data sequence; the digital watermark verification module WV, configured to analyze the extracted code stream, and verify the extracted continuous vector graphics data packet, Whether the data information in the analyzed digital watermark is consistent with the "data information in the data information embedded in the watermark and finally verified" in the watermark data memory DV of the verification end, and outputs the verification result.
  • the watermark data memory DV of the verification end has the same content as that stored in the watermark data storage DG module of the generation end.
  • the digital watermark generating end further includes a watermarked continuous vector graphic description animation file output module 0, configured to store the continuous vector graphic description animation set data to which the digital watermark has been added into a storage file, so as to be Play and verify again.
  • Watermarked continuous vector graphic description Animation file output module 0 is an optional component suitable for creating scenes with watermarked vector graphics works (eg watermarked 2D/3D animation source files, etc.).
  • Both the digital watermark generating end and the digital watermark verifying end can be used as a stand-alone system or as part of other systems; in either case, the protection of the present invention should not be impaired.
  • the processing functions of the above modules can be implemented by software, hardware, firmware, programmable chip, etc. If implemented by a microprogram in firmware, a module or component is additionally required to execute the microprograms (as in the following embodiment). Said "DSP chip").
  • This embodiment describes the simplest embodiment of the present invention, that is, the embodiment in the case where there is only one circle in the vector diagram, including the following steps:
  • Digital watermark generation end and digital watermark verification end knowledge exchange Before a communication, determine a digital watermark such as an embedding range and an embedding rule, an embedding algorithm, and negotiate between the digital watermark generating end and the digital watermark verification end. Exchange and share information.
  • a digital watermark such as an embedding range and an embedding rule, an embedding algorithm
  • the continuous vector graphic description animation set data packet sequence includes a series of individual vector graphics data packets.
  • Each vector graphics packet should include the following data:
  • description data of vector graphics data packets such as serial number, source, etc.
  • This data indicates the transmission time or timing of the vector graphics data packet (transmitted in the first few bits);
  • Vector graphic content of the vector graphics data packet This is a list data, including related parameters of one or more graphic elements in the vector graphics data packet, including: a vector graphic type, a vector graphic parameter.
  • Digital watermark embedding is mainly implemented in (2) "send timing data” and (3) “vector graphics parameters" to implement embedding. In the implementation, it is not required to prepare or generate all the vector graphics data packets to be sent before sending the first vector graphics data packet; the vector graphics data packet may be continuously appearing, continuously adding watermarks, and continuously sending of.
  • k e y sessi . n 2
  • the watermark data refers to the complete information or data to be transmitted from the generating end to the verification end through the digital watermark.
  • the watermark code stream refers to: a code stream generated by converting a complete watermark data that is to be embedded, according to a certain algorithm, and the code stream is dispersed in each frame of the continuous vector graphic description animation, which is continuous
  • the vector graphic describes the modified or changed value of the attribute in the animation data packet and is the carrier of the watermark data. If the embedded watermark data is relatively simple, the watermark data can be directly embedded without compiling the watermark stream.
  • time information and verification information can be added, thereby improving the security and reliability of the digital watermark.
  • calculation parameters can be used to cause a controllable change in the calculation result (a key similar to the encryption process).
  • the relevant calculation parameters should be known only between the digital watermark generation end and the verification end, and should not be known by the third party. In this way, the corresponding calculation parameters also need to be exchanged and shared between the generation side and the verification side before communication.
  • the function of generating the code stream is: (1) cutting the watermark data into a plurality of components, distributing the attribute modifications of the plurality of graphic elements of the plurality of vector graphics data packets, reducing the change of the attributes of the original vector graphic, so that the embedded is invisible Watermark; (2) Different parts of the code stream are respectively embedded in different places in the vector graphics data packet, which can mutually verify and protect each other, and improve the security of the watermark data of the present invention.
  • the generated digital watermark code stream may be dispersed in different vector graphics data packets embedded in the vector graphics data packet sequence, or may be combined or embedded in a vector graphics data packet. This is determined by the code stream embedding packet scheme in S1.
  • each segment in the code stream can be separately or in combination into one or more vector graphics data packets, as long as all the code stream segments are collected by the continuous vector graphics describing the animation data packets (for example, 5 data packets), carry out The complete code stream is obtained from the 5 data packets and the watermark data is extracted. In the most extreme case, only two consecutive vector graphics are needed to describe the animation data packet, and the digital watermark can be fully embedded and verified (but two data packets are also possible.
  • step S4 the embedded data packet stream rules: 9 per vector graphics data packet is a group (first group Vl, v 2,
  • the above-described eight streams (including test values) are successively fitted eight vector graphics packets; embedding algorithm for making the addition of the corresponding property;
  • the embedding range is: Embedding the red component of the color properties of all vector graphic elements in all vector graphics packets.
  • the attributes are modified in the consecutive nine vector graphics data packets according to the code stream embedded data packet rule, so that the specific attributes of the two consecutive vector graphics data packets (the red component of the color of the circle)
  • the sequence of changes is possible.
  • time information and verification information can be added to the embedded position and the embedded content, thereby improving the security and reliability of the digital watermark.
  • the digital watermark generating terminal transmits packets with vector graphics digital watermark: generating a digital watermark in the end, at the end of the time authentication v q '.t q transmitted Vq' to the digital watermark. ⁇ lj( Vl ' , ⁇ 2 ' , ⁇ 3 ' , ⁇ 4 ' , ⁇ 5 ' , ⁇ 6 ' , ⁇ 7 ' , ⁇ 8 ' , ⁇ 9 ' ,..., ⁇ 200 '
  • the next 25, 50, ..., 5000 millisecond time is sent out.
  • the vector graphics packets are sent in sequence and at the time of transmission.
  • the vector graphics data packet with the digital watermark is received:
  • P' ⁇ ', ⁇ 2 ', ⁇ 3 ', ⁇ 4 is received.
  • ' ⁇ 5 ' , ⁇ 6 ' , ⁇ 7 ' , ⁇ 8 ' , ⁇ 9 ' , ..., ⁇ 200 ' ⁇ .
  • the continuous vector graphic is extracted to describe the change value of the attribute in the animation data packet, and the embedded code stream data is calculated.
  • the extraction of the change value can be extracted by comparing the currently received vector graphics data packet with the immediately preceding (ie, between Vq and Vq-i), or before the currently received vector graphics data packet.
  • the received statistical data of a vector graphics packet or multiple vector graphics packets is compared and extracted.
  • the core role of the change value of the vector graphics attribute in the embedding and verification of digital watermark data is as follows:
  • the present invention embeds the number according to the value of the attribute on each vector graphics packet and the value of the parameter on the previous vector graphics packet. Watermark data. This is a core feature of the present invention.
  • the watermark data is extracted by summarizing the received digital watermark embedded in the code stream.
  • the embedding algorithm cannot tamper with the watermark embedding attribute in the above vector graphic content (the tampering will be detected once the color of the vector graphic is falsified and the watermark is affected); this embodiment implements a fragile watermark and does not add timing. Data (so this embodiment cannot prevent replay attacks); digital watermark embedding and verification on a single graphic element is a function that cannot be accomplished by existing methods.
  • steps S3 and S4 in the generation of the embedded code stream, in the attribute of embedding the watermark code stream into the continuous vector graphic description animation data packet, the time information and the verification information are added to the code stream generation algorithm, and the embedded position determination is neutralized. Embedded in the content to improve the security and reliability of the digital watermark.
  • the information required to be shared by both the digital watermark generating end and the digital watermark verifying end includes:
  • the code stream used in S4 is embedded in the packet rule, the embedded range and the embedded rule;
  • the embedding algorithm is to add the corresponding attributes; 5. Compare vector graphics packet selection or generation methods.
  • the watermark data to be embedded and verified in the first and second items, the algorithm for generating the watermark stream from the watermark data, and the algorithm watermark data for calculating the watermark data from the watermark stream are strictly confidential, It should be disclosed to third parties; items 3, 4, and 5 can be made public if necessary (of course, for confidentiality and security, not publicly better).
  • one round of digital watermark verification can be completed every time nine consecutive vector graphics data packets are received.
  • Example 2
  • This embodiment describes a manner in which time interval is embedded as watermark data, and the related processing functions are implemented in the form of a firmware chip.
  • the firmware chip EPROM uses the INTEL 82802AA chip; the related instruction execution mechanism is the DSP chip (using the C5402 DSP chip from Texas Instruments).
  • the continuous vector graphic describes the playback content of the animation data packet sequence as an expanding ring and a fixed rectangle.
  • the transmitted watermark data is determined, and the watermark code stream is compiled according to the following:
  • the data transmitted in the continuous vector graphic description animation is embedded in the digital watermark generating end (90, 72).
  • the temporary parameter value used to calculate the watermark code stream is 66.
  • the digital watermark stream data is embedded in the vector graphics data packet according to rules:
  • the vector graphics data packet is separated (24, 6, 13, 12, 5, 5, 19, 13) according to the code stream embedding data packet rule (ie, at 25, 31, Modify the properties on the 44, 56, 61, 66, 85, 98 vector graphics packets, and modify the property values by embedding scope and embedding rules.
  • the sequence of specific attribute value changes that are finally modified is:
  • the comparison vector graphics data packet selection or generation manner is "each vector graphics data packet is compared with the previous vector graphics data packet", according to the embedded range and the embedded rule "selected vector graphics data packet.
  • the packet rule is "every interval. In the data packet of c ⁇ , modify the attribute value of the specified attribute of all graphic elements in the vector diagram", and calculate the original code stream as (24, 6, 13, 12, 5, 5, 19, 13).
  • the watermark data is extracted by summarizing the received digital watermark to extract the watermark data:
  • the watermark data m (and all vector graphics) coming from is from the digital watermark generating end (for identification and authentication of data sources and communication objects).
  • the "ZHONGGUO" character string transmitted in this embodiment can be replaced by the name of any company, thereby embedding the original source information in the vector play content, thereby realizing digital copyright protection.
  • the information required to be shared by both the digital watermark generating end and the digital watermark verifying end includes:
  • Watermark data to be embedded and verified In this embodiment, (90, 72, 79, 78, 71, 71, 85, 79), converted to ASCII code "ZHONGGUO".
  • a temporary parameter is used in the process of calculating the watermark code stream, and the temporary parameter value is 66.
  • the code stream embedded in S4 is embedded in the packet rule:
  • the result of the watermark stream is ⁇ cl, c2, ..., cn ⁇ , in each packet separated by ⁇ cl, c2, ..., Cn ⁇ , modify the attribute value of the specified attribute of all graphic elements in the vector image (as long as the modification appears).
  • Embedding range and embedding rules to be used in S4 embedding the red component in the color attributes of all vector graphic elements in the selected vector graphics packet, the red component of the packet is modified; meanwhile, modifying the vector The transmission time data of the graphic data packet.
  • the embedding algorithm is: for the color, adding or subtracting the corresponding color components; for the transmission time, the "transmission timing data" of the corresponding vector graphics data packet is increased by c n * 25 milliseconds (ie, the corresponding delay occurs in the control),
  • c n is the code stream component.
  • the comparison vector graphics data packet selection or generation method is as follows: Each vector graphics data packet is compared with a previous vector graphics data packet (ie, the difference between v q ' and Vq in the embedded range and the embedded rule attribute) is calculated.
  • digital watermark embedding is implemented between two consecutive vector graphics data packets. Since the digital watermark embedding method proposed by the present invention is implemented based on the modification and comparison of attributes between vector graphics data packets, the two vector graphics data packets are the minimum number of digital watermarking requirements of the present invention.
  • only the first and second vector graphics data packets are watermark embedded and verified.
  • the continuous vector graphic describes the content of the animation data packet is a series of moving, different The size of the circle (but its color value is the same).
  • the algorithm for generating a watermark stream according to the watermark data, the watermark data and the final stream to be embedded at the digital watermark generating end are both (3, 9, 2, 1, 5).
  • the digital watermark stream data is embedded in the vector graphics data packet according to rules:
  • the watermark is embedded in the second vector graphics data packet according to the code stream embedding data packet rule (all the components of the code stream are all embedded in one vector graphics data packet at a time), and the embedding range and The embedded algorithm modifies the attribute value.
  • the final modified v 2 packet is:
  • m (3,9,2,l, 5) calculated from the received continuous vector graphic description animation data packet, according to the digital watermark transmission
  • the information that needs to be shared by both parties includes:
  • the data stream embedding data packet rule used in S4 According to the component values of the embedded watermark code stream, for the second vector graphics data packet, the attribute values of the specified attribute of each graphic element arranged in order are sequentially modified.
  • the embedding range and embedding rules to be used in S4 Modify the component of the color value of the specified vector graphic element in the specified data packet. On the i-th graphic element, modify the (i mod 3 ) +1 color component (red) Green, blue, 1, 2, 3 points
  • the embedding algorithm is: Adding the corresponding attribute.
  • the comparison vector graphics packet selection or generation method is: Each vector graphics data packet is compared with the previous vector graphics data packet (ie, the difference between the Vq ' and Vq in the embedded range attribute is calculated).
  • the vulnerability watermark is implemented: the sum of certain attribute change values/change times of some patterns in all sequences is a certain value, and this value is the watermark data to be transmitted.
  • the data to be transmitted in the continuous vector graphics description animation at the digital watermark generating end is 6, and the temporary parameter value used to calculate the watermark code stream is 3, and according to the generated code stream algorithm, the statistics are in the first
  • the attribute should change to 9 in the third vector graphics packet.
  • the digital watermark stream data is embedded in the vector graphics data packet according to rules: For the vector graphics data packet in this embodiment, the data packet is embedded according to the code stream, the embedded range, and the embedded algorithm modify the attribute value. Modify the attributes (including the attributes that will change) in v2, v3 by the number of (3, 4) (modify the color value here):
  • Vl
  • V 3
  • the added attribute change value is indicated by an underline.
  • the attribute value can also be designed according to a fixed length or an unfixed length to satisfy the condition of the number of attribute changes.
  • the comparison vector graphic data packet selection or generation mode is “each vector”.
  • the graphics data packet is compared with the previous vector graphics data packet.
  • the shared temporary parameter value 3
  • the statistical property change value from the received Vl ', ⁇ 2 ', ⁇ 3 ' (0, 3, 4) a total of 7 attribute changes were detected.
  • m (and all vector graphics) is from the digital watermark generator (for authentication and authentication of data sources and communication objects).
  • the information that needs to be shared by both parties includes:
  • Watermark data to be embedded and verified 4 in this embodiment.
  • Code stream embedding data packet rule used in S4 In any vector graphics data packet in 1-N, if the generated digit string is ( Cl , c 2 , ..., c n ), then each cn represents This vector graphics packet is compared to the number of changes in the properties of the previous vector graphics packet (including the property modifications that would otherwise occur).
  • the embedding algorithm is: arbitrarily modifying the corresponding attribute, and the number of times of modification is the code stream value on the vector graphics data packet.
  • the comparison vector graphics packet selection or generation method is: Each vector graphics data packet is compared with a previous vector graphics data packet (ie, the difference between v q ' and Vq in the embedded attribute is calculated).
  • Example 5 Each vector graphics data packet is compared with a previous vector graphics data packet (ie, the difference between v q ' and Vq in the embedded attribute is calculated).
  • the digital watermark is implemented for the vector animation description mode of the instruction frame.
  • This kind of animation description is used in VRML and MPEG-4 BIFS (for example, translation rotation ⁇ addChidren, RemoveChildren and other instructions in the TRANFORM node in VRML, similar in MPEG-4 BIFS).
  • variation frame that is, the following vector frame, describes only the vector graphic elements that have changed and their parameters (in the MPEG4-BIFS, the BIFS-ANIM related instructions are used to describe the variation frame animation, which needs to be defined by AnimationFrames, AnimationMask ElementaryMask, etc. Element and mouth Attributes).
  • the change frame and the instruction frame can be converted to each other (except for adding, deleting, etc.). Therefore, the embodiment can be applied to two vector graphic description modes of instruction frame type and variable frame type.
  • Vl
  • an animation effect of discoloration is formed.
  • the content of the animation is a ring that constantly changes color.
  • Modify(ei_i, color, new_param RGB(230, 38, 231) ⁇
  • the new color values of the modify instructions of v 2 , ... v 5 are 194, 206, 218, 230, ..., respectively.
  • the scheme of embedding a watermark is "the parity of the color value in the figure is XORed with the previous frame" to implement embedding and detection of the watermark. Then for the Vl , v 2 , ... v 5 here , the calculated parity is:
  • the digital watermark generating end is embedded with a continuous vector graphic to describe the data transmitted in the animation as the number 6, and the temporary parameter value used to calculate the watermark code stream is 3
  • the code stream calculation algorithm is: taking the result of the watermark data plus the parameter value and then taking the binary data, and the obtained binary sequence is the code stream.
  • the generated code stream algorithm is "the embedded code stream is the binary value of the embedded data", and the code stream embedded in this embodiment is the binary string 1001. S4.
  • digital watermark stream data is embedded in the vector graphics data packet according to rules: For the vector graphics data packet in this embodiment, the attribute value is modified according to the code stream embedding data packet rule, the embedding range, and the embedding algorithm.
  • the watermark embedding and detection rules are: Modifying the changed color value parameter in the instruction, so that the parity of the color value in the result image (ie, the parity of all the sums of the components in the RGB in the color value) is XORed with the previous frame. , form a sequence of "1001" while keeping the modifications to the instructions as consistent as possible with the original image.
  • the odd value is 1, even 0, the previous frame is XORed with the parity value of the next frame, and the result is (1, 0, 0, 1).
  • the above embedding rule (“modify the changed color value parameter in the instruction, The XOR of the color value in the resulting image is XORed with the previous frame to form a sequence of "1001" while keeping the modification of the instruction as consistent as possible with the original image"), which can be implemented in any vector animation.
  • the comparison vector graphic data packet selection or generation mode is “each vector”.
  • the graphics packet is compared to the previous vector graphics packet. According to the embedding range and embedding rules, the embedded stream is 1001 or decimal.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于连续矢量图形描述动画的数字水印系统及实现方法,数字水印系统包括数字水印生成端和数字水印验证端,数字水印生成端包括数字水印生成端通信模块、待处理矢量图形集队列模块、水印值码流生成模块、水印值码流序列模块、数字水印添加模块、待发送矢量图形集队列模块、生成端的水印数据存储器以及时序数据生成模块;数字水印验证端包括数字水印验证端通信模块、接收矢量图形集队列模块、数字水印信息提取模块、提取码流存储模块、数字水印验证模块以及验证端的水印数据存储器。本发明具有可在极简的矢量图形中嵌入并验证数字水印的特点,嵌入数据量大,实现简单,可实现多种数字水印。

Description

说 明 书 一种基于连续矢量图形描述的数字水印系统及实现方法 技术领域
本发明属于一种应用于在计算机信息安全、 网络通信鉴别与认证、 数字版权保护和管理 的实现数字水印的系统和方法, 特别是涉及一种在连续矢量图形描述动画中实现数字水印的 系统和方法。 背景技术
数字水印(Digital Watermarking)技术是将一些标识信息 (即数字水印)直接嵌入数字载体 当中 (包括多媒体、 文档、 软件等)或是数据的间接表示 (修改特定区域的结构), 且不影响原载 体的使用价值, 也不容易被探知和再次修改, 但可以被水印生产方 (或与生产方合作的其它 方) 识别和辨认。 通过这些隐藏在载体中的信息, 可以达到确认内容创建者、 购买者、 传送 隐秘信息或者判断载体是否被篡改等目的。 数字水印是信息隐藏技术的一个重要研究方向。 数字水印是实现来源鉴别和版权保护的有效办法, 是信息隐藏技术研究领域的重要分支。
在一个完整的数字水印系统中: 有一个或以上的数字水印生成端, 负责在原数据 (也称 载体数据) 中秘密地或公开地添加数据水印数据; 有一个或以上的数字水印验证端, 在接收 了含有数字水印数据的载体数据后, 将数字水印数据从载体数据中提取 /分离出来, 并对数字 水印数据正确性、 合法性和来源进行鉴别, 实现数字水印的作用。
数字水印技术基本上具有下面几个方面的特点:
1、 安全性: 数字水印的信息应是安全的, 难以篡改和伪造, 同时, 应当有较低的误检测 率, 当原内容发生变化时, 数字水印应当发生变化, 从而可以检测原始数据的变更。
2、 水印可见性 /隐蔽性: 根据应用需要, 数字水印可以是可见的、 明显的, 也可以是不 可知觉的。 对不可见水印, 应不影响被保护数据的正常使用; 不会严重影响载体的质量和使 用。
3、 鲁棒性 (也称健壮性): 是指在经历无意或有意的信号处理过程后, 数字水印仍能保 持信息完整性并能被准确鉴别。 但鲁棒性不是数字水印的必须要求。
4、 水印容量: 是指载体在不发生形变的前提下可嵌入的水印信息量。
目前的数字水印主要是添加在点阵图像中 (如添加到图片、 视频中的数字水印和数字印 章)。 近年来对矢量图中添加数字水印也逐渐进行了研究。
矢量图 (vector graphics)是指以特定图形类型(如点、 线、 圆、 圆锥体等)及绘图参数(如 坐标、 线宽、 色彩值等) 描述一个图形或图形图像区域的可视特性的图形数据形式, 或多个 单一矢量图形组成的复合矢量图形一如矢量字形。例如, 一个二维环形, 只需要描述其圆心、 外环半径、 内环半径、 颜色、 边缘线型、 线宽及边缘颜色, 就可以将其绘制出来; 一个三维 球体, 只需要描述其球心坐标、 球半径、 球颜色、 球面反光度 /透明度。
一个矢量图中会包含多个图形元素 (primitive), 图形元素即是点、 线、 圆、 圆锥体等二维 或三维的、 具有单一绘图规则或算法的绘图单元。 多个图形元素共同组成复合图形。 例如, 一个中国国旗的矢量图, 就由一个红底矩形和 5个不同位置和大小的黄色正五角星形组成。
矢量图形 (包括矢量字形) 目前广泛应用在工程制图、 三维立体模型和相关的数字媒体 艺术作品、 网络矢量图 (如 SVG格式的网络矢量图)、 地理信息系统 /空间信息系统、 数字地 图, 未来还将在计算机远程屏幕输出和展现方面有进一步应用。
随着矢量图形在计算机和通信领域的广泛应用, 在矢量图形中加入数字水印就有了需求 和技术实现方案。 但由于描述矢量图形所需的数据量极小, 这个优点反而带来的两个缺点: 难以在极少量的矢量图形数据中添加数字水印而不被发现 (数字水印的隐蔽性是其常用特 点); 无法提供足够的数据冗余量来保护数字水印数据不会被篡改和伪造。
因此, 近年来出现的给矢量图形添加数字水印的技术方案, 都是基于较大的矢量图形数 据量才能实现数字水印的嵌入 (如现有矢量图水印方案都是针对矢量地图、 矢量工程图等有 大量矢量图形元素的矢量图)。
目前的文献和专利中, 都没有很好的解决在极少量的矢量图形数据中添加数字水印而不 被发现的这个技术问题:
韩国论文:但好像只是 geometry (它是 transform节点下定义形状的,并不是定义变动的), 详细看了, 跟帧和动画的状态无关。
几个三维 MESH的水印
以下这几个合并
中国专利(申请号 CN200910238178.9)公开了一种基于运动矢量的视频水印嵌入和提取 方法, 水印嵌入步骤为: 步骤 a, 在编码时, 获取编码端视频帧的第 i个运动矢量 (Xi, Yi); 步骤 b, 根据所述编码端运动矢量 (Xi, Yi)横坐标 Xi与纵坐标 Yi的小数部分的组合关系, 获 取所述编码端运动矢量 (Xi, Yi)的特征向量 (Vli, V2i); 步骤 c, 按照修改规则调整所述编码 端运动矢量 (Xi, Yi)的横坐标 Xi或纵坐标 Yi,使得所述编码端运动矢量的特征向量 (Vli, V2i) 的横坐标 Vli、 纵坐标 V2i与将要嵌入的两位水印 Wk, Wk+1相同; 水印提取步骤为: 步骤 d, 在解码时, 获取解码端视频帧的第 i个运动矢量 (Xi, Yi); 步骤 e, 根据所述解码端运动矢 量 (Xi, Yi)横坐标 Xi与纵坐标 Yi的小数部分的组合关系, 获取所述解码端运动矢量 (Xi, Yi) 的特征向量 (Vli, V2i); 步骤 f, 提取运动矢量 (Xi, Yi)中的水印信息, 两位水印 Wk, Wk+1 分别为解码端运动矢量 (Xi, Yi)的特征向量 (Vli, V2i)的横坐标 Vli, 纵坐标 V2i。 所公开的 方法, 是以特定的运行矢量 (原文中的 "第 i个运动矢量") 作为嵌入水印数据的对象, 且水 印数据的嵌入并没有与连续矢量图的时序相关, 嵌入时没有将嵌入的水印数据编制成码流并 嵌入到连续多个矢量图形数据中。
中国专利 (申请号 CN201110056650.4)公开一种信息安全技术领域的基于 H.264标准运 动矢量的脆弱性水印嵌入和提取方法, 在 I帧前一个 P帧的运动矢量中选择性地嵌入水印信 息, 水印容量大并且保真度高; 水印信息包含帧号和时间戳, 并使用对称密码算法加密, 使 其具有抗攻击性并可在一定精度上定位视频的篡改, 且对视频编码比特率影响很小。 但其不 足之处包括: 应用范围限定于对基于 H.264的视频数据中实现脆弱性水印嵌入和提取方法, 且仅能实现脆弱性水印; 该发明是在视频编码中的附加信息嵌入水印, 保护的视频帧而不是 矢量图形数据; 其水印机制不是针对连续矢量图形描述动画中嵌入连续码流、 由完整的码流 来传输数字水印的。
类似的还有中国专利(申请号为 CN201010170465.3的一种基于 H.264运动矢量的视频水 印嵌入提取方法、 申请号为 CN201010207724.5的基于 MPEG-2标准的实时数字视频水印方 法以及申请号为 CN201010207727.9的基于 H.264标准的实时数字视频水印方法), 都是基于 特定视频压縮标准的数字水印实现方法, 也均为在视频标准中视频编码中的附加信息中嵌入 数字水印数据。 发明内容
本发明的首要目的在于克服现有技术在矢量图形添加数字水印方面的缺点和不足, 提出 了一种基于连续矢量图形描述动画的数字水印系统, 该方法通过在连续矢量图形描述动画中 进行矢量图形参数的连续变化来嵌入编码码流, 通过嵌入连续矢量图中的连续码流数据来携 带数字水印信息(数字水印数据分布在码流中各单个编码值之中), 实现了在极少量的矢量图 形数据中添加数字水印, 是对传统矢量图形数字水印方案与相关系统的革新, 是对计算机图 形图像技术、 信息安全技术、 矢量图形数字版权保护在理论和应用方面的创新。
本发明的另一目的是提供一种基于连续矢量图形描述动画的数字水印实现方法, 实现了 在极少量的矢量图形数据中添加数字水印。
本发明通过下述技术方案实现上述首要目的: 一种基于连续矢量图形描述动画的数字水 印系统, 其特征在于, 包括用于向连续矢量图中添加数字水印数据信息的数字水印生成端 WGT 及用于检测连续矢量图中添加的数字水印数据信息并验证其正确性的数字水印验证端 WVT; 其中, 数字水印生成端 WGT包括数字水印生成端通信模块 CM-G、 待处理矢量图形 集队列模块 PVL、 水印值码流生成模块 CG、 水印值码流序列模块 WGCL、 数字水印添加模 块 WG、 待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生成 模块 T; 数字水印验证端 WVT包括数字水印验证端通信模块 CM-V、接收矢量图形集队列模 块 RVL、 数字水印信息提取模块 WR、 提取码流存储模块 WRCL、 数字水印验证模块 WV以 及验证端的水印数据存储器 DV;
所述数字水印添加模块 WG分别与待处理矢量图形集队列模块 PVL、水印值码流序列模 块 WGCL、 待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生 成模块 T连接,数字水印生成端通信模块 CM-G与待发送矢量图形集队列模块 SVL连接,水 印值码流生成模块 CG分别与生成端的水印数据存储器 DG、 水印值码流序列模块 WGCL连 接;
所述数字水印验证端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提 取模块 WR、提取码流存储模块 WRCL以及数字水印验证模块 WV依次连接, 所述验证端的 水印数据存储器 DV分别与数字水印信息提取模块 WR、 数字水印验证模块 WV连接; 所述数字水印生成端通信模块 CM-G, 用于对添加了数字水印的连续矢量图形描述动画 集进行发送;
所述待处理矢量图形集队列模块 PVL, 用于记录要添加数字水印的原连续矢量图形描述 动画集;
所述水印值码流生成模块 CG,用于按照生成端的水印数据存储器 DG中记录的水印数据 信息和水印值码流生成规则来生成水印值码流, 并存储到水印值码流序列模块 WGCL中; 所述水印值码流序列模块 WGCL, 用于存储、 记录生成的水印值码流, 以便将特定的水 印值添加到特定的连续矢量图形描述动画集中;
所述数字水印添加模块 WG, 用于按添加数字水印的编码规则, 依次修改连续矢量图形 描述动画集中一个或多个图形元素的一个或多个属性值;
所述待发送矢量图形集队列模块 SVL, 用于临时保存已添加了数字水印的连续矢量图形 描述动画集数据序列, 准备发送;
所述生成端的水印数据存储器 DG, 用于存放: (1 ) 从水印数据生成水印码流的算法及 相关计算参数; (2) 码流嵌入数据包规则及计算参数; (3 ) 嵌入范围; (4) 水印数据; (5 ) 嵌入算法及计算参数; (6) 对比矢量图形数据包的选择方式或计算方式;
所述时序数据生成模块 T, 用于生成时戳或时序序号, 以便将时序信息添加到连续矢量 图形描述动画集数据序列的数字水印中去, 标明矢量图形集的先后顺序关系, 防止重放攻击 或篡改;
所述数字水印验证端通信模块 CM-V, 用于接收连续的矢量图形数据包;
所述接收矢量图形集队列模块 RVL, 用于存储所接收的连续的矢量图形数据包序列; 所述数字水印信息提取模块 WR, 用于从接收的连续矢量图形描述动画数据包序列的图 形元素和属性中提取数字水印信息;
所述提取码流存储模块 WRCL, 用于存储提取出的数字水印码流数据序列;
所述数字水印验证模块 WV, 用于对提取的码流进行分析, 验证所接收的连续的矢量图 形数据包中所提取、 分析出来的数字水印中数据信息是否与验证端的水印数据存储器 DV中 的水印所嵌入并最终要验证的数据信息中的数据信息一致, 并输出验证结果;
所述验证端的水印数据存储器 DV,存放内容与生成端的水印数据存储器 DG存放内容一 致。
优选地, 所述数字水印生成端 WGT还包括与待发送矢量图形集队列模块 SVL连接的带 水印的连续矢量图形描述动画文件输出模块 0, 用于将已添加了数字水印的连续矢量图形描 述动画集数据存储到一个存储文件中。 本发明通过下述技术方案实现上述另一目的: 一种基于连续矢量图形描述动画的数字水 印实现方法, 包括以下步骤:
51、 数字水印生成端与数字水印验证端知识交换: 在一次通信前, 确定嵌入范围、 码流 嵌入数据包规则及嵌入算法, 并在数字水印生成端和数字水印验证端之间进行协商、 交换和 共享;
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据包序列;
53、 在数字水印生成端, 确定传输的水印数据, 并根据它来按由生成端和验证端商定的 参数和商定的算法生成水印码流;
54、 在数字水印生成端, 在矢量图形数据包中按码流嵌入数据包规则嵌入数字水印码流 数据: 对连续矢量图形描述动画数据包序列中当前要嵌入水印的矢量图形数据包, 按照码流 嵌入数据包规则, 在数字水印码流选择码流中的片段或片段的组合, 再按照嵌入范围与嵌入 算法, 修改该数据包中一个或多个图形元素的一个或多个属性, 将数字水印码流数据或数据 片段嵌入; 哪些码流数据嵌入哪些矢量图形数据包、 嵌入哪些属性 (包括图形属性和矢量包 发送时间属性)、修改属性的方式,均由生成端和验证端商定的参数和商定的算法计算来确定。
55、 在数字水印生成端, 在每个矢量图形数据包的发送时序数据所标示时刻, 发送带有 数字水印部分或全部信息的矢量图形数据包;
56、 在数字水印验证端, 接收带有数字水印部分或全部信息的连续矢量图形描述动画数 据包;
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据: 根据当前接收到的矢量图形数据包, 跟之前收到的矢量图形数据包或之前收 到的多个矢量图形数据包的统计值对比, 提取连续矢量图形描述动画数据包中属性上的变化 值, 计算数字水印码流数据;
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据;
59、 在数字水印验证端, 验证计算出来的水印数据, 从而验证所接收的连续矢量图形描 述动画数据包序列是否携带了数字水印生成端嵌入数字水印。
优选地,所述 S2中的连续矢量图形描述动画集数据包序列包括一系列单个的矢量图形数 据包; 每个矢量图形数据包包括以下数据:
( 1 )、 矢量图形数据包的描述数据;
(2)、 矢量图形数据包的发送时序数据;
( 3 )、 矢量图形数据包的矢量图形内容。
优选地, 所述 S3、 S4中, 可将时间信息、 校验信息加入码流生成算法中、 嵌入位置确定 中和嵌入内容中, 以实现数字水印防攻击和保护。
优选地, 所述 S3、 S4中, 在生成并添加数字水印时, 使用参数来控制生成的水印码流数 据和在连续矢量图形描述动画数据包中的嵌入, 通过参数的变化来使数字水印及其嵌入发生 可控变化; 所述 S7、 S8中, 在验证数字水印时, 通过参数来正确提取和验证数字水印数据。
优选地,所述 S3中,所生成的数字水印码流分散嵌入矢量图形数据包序列中的不同矢量 图形数据包中, 或者组合几个水印码流或将全部码流嵌入一个矢量图形数据包中。
优选地,所述 S4中,在连续矢量图形描述动画数据包序列中嵌入数字水印码流的方式有 两种:
( 1 )、 在将矢量图形数据包序列中的所有单个矢量图形数据包中均加入数字水印码流数 据后, 再依次一个个发送矢量图形数据包, 或将所有数据包放入一个文件;
(2)、 在一个矢量图形数据包中嵌入数字水印码流数据后发送, 随后再进行后续一个矢 量图形数据包的数字水印嵌入并发送。
优选地,所述 S4中,在连续矢量图形描述动画数据包序列中的一个或多个矢量图形元素 的一个或多个图形属性中嵌入一组或多组数字水印数据, 或者在连续矢量图形描述动画数据 包序列中各单个矢量图形数据包的发送时间上嵌入数字水印数据。 本发明的作用原理是: 本发明认为, 在单张的矢量图形下嵌入数字水印, 如果所包含的 矢量图形数目少、 总数据量小, 难以嵌入数字水印; 通过坐标修改来嵌入的数字水印容易导 致原矢量图形失真。 而在连续矢量图的情况下, 可以利用连续矢量图中特定或全部矢量图形 在某个或多个图形属性 (颜色、 坐标、 改变时间等) 上的同步或异步变化, 来嵌入数字水印 数据。 通过连续矢量图形描述动画中属性的变化值来嵌入水印、 通过变化值来验证水印, 是 本发明的原理核心。
本发明认为, 基于传统的、 单张的矢量图形的数字水印实现方法, 难以嵌入大量的水印 数据, 使用受到较大限制, 而基于连续矢量图形描述动画的数字水印实现方法, 是一种更有 优势的方式, 可以适应极少的矢量图形数据的应用情形, 从而使数字水印技术可以在矢量图 形领域得到进一步应用。
本发明与现有技术相比, 具有如下优点和有益效果:
第一、 可在极简的矢量图中嵌入并验证数字水印: 这是目前的矢量图形数字水印方法所 无法实现的。 本发明所公开的系统和方法, 对即使只有一个矢量图形元素 (例如一个圆或一 个像素点) 的矢量图, 也可以通过对其颜色进行的连续细微改变 (如红色、 蓝色或绿色色彩 值上按编码分别进行相应的加 1、减 1 )来在数字水印生成端嵌入数字水印、在数字水印验证 端验证数字水印。
第二、 嵌入数据量大。 对一个图形元素, 可以分别在颜色、 坐标等属性以及这些属性的 改变时间上嵌入数据。 而图形元素越多, 则嵌入的数据量就成倍的增加。 嵌入的数据量丰富, 使得实现多种数字水印成为可能。
第三、 可以实现多种类型的数字水印: 由于可以利用连续矢量图中特定或全部矢量图形 在某个或多个图形属性 (颜色、 坐标、 改变时间等) 上的同步或异步变化来嵌入数字水印数 据, 因此可以实现可见水印、 不可见水印、 脆弱性水印、 健壮性水印等各种类型的数字水印。 其中: 可见水印可以通过对可见属性(如颜色、 坐标)随着时间序列进行大比例修改来实现; 不可见水印可以通过随着时间序列对不可见属性的修改或对可见属性的细微修改来实现; 脆 弱性水印可以通过在矢量图形中所有图形元素的嵌入同一保密数据或互相印证的保密数据来 实现(这样,攻击者无论修改哪个属性的哪次取值都会被发现,从而达到脆弱性水印的效果); 健壮性水印可以通过在矢量图形中多个图形元素的嵌入冗余的或互相印证的保密数据来实现 (这样, 攻击者改了一处, 仍然可以从其它图形元素的变化中提取出原来的水印信息, 从而 达到健壮性水印的效果)。 其它类型或需求的数字水印, 也可以得到实现。
第四、 实现简易性: 本发明公开的基于连续矢量图形描述动画的数字水印实现方法及系 统, 其原理十分简单, 是利用时间序列下对属性值变化序列的修改和提取来完成数字水印的 嵌入和验证, 无论用软件还是硬件来实现都是十分简单的。
第五、 在计算机和通信领域的广泛适用性: 由于本发明所提出的方案, 可以在计算机软 件、 硬件中实现, 因此可以在计算机、 网络通信和无线通信、 数字电视、 移动计算、 云计算、 分布式计算等领域进行实现和使用。
第六、 安全性: 本方法可以通过嵌入保密信息来实现防篡改功能、 通过嵌入时刻信息和 时序信息来实现防重防攻击, 因此具有较高的安全性。 又由于本发明嵌入数据量大, 可以在 多个矢量图形元素的属性嵌入冗余的数据 (一个数据的多个副本或多个不同形式的校验值), 形成互相验证、 互相保护的体系, 增强保护性。
第七、 兼容性: 如果修改的是矢量图中多个矢量图形元素的多个坐标值, 且不进行连续 矢量属性的改变, 则本发明所公开的数字水印方法就是现有的静态矢量地图、 矢量工程图的 数字水印算法。 附图说明
图 1是本发明一种基于连续矢量图形描述动画的数字水印系统的结构方框图;
图 2是本发明一种基于连续矢量图形描述动画的数字水印实现方法的流程图;
图 3 是本发明一种基于连续矢量图形描述动画的数字水印实现方法中数字水印生成端处 理过程的框架结构图;
图 4是本发明一种基于连续矢量图形描述动画的数字水印实现方法中数字水印验证端处 理过程的框架结构图。 具体实施方式
下面结合实施例及附图, 对本发明作进一步地详细说明, 但本发明的实施方式不限于此。 本发明实现了基于连续矢量图形描述动画的数字水印系统, 如图 1所示, 包括用于向连 续矢量图中添加数字水印数据信息的数字水印生成端 WGT及用于检测连续矢量图中添加的 数字水印数据信息并验证其正确性的数字水印验证端 WVT; 其中, 数字水印生成端 WGT包 括数字水印生成端通信模块 CM-G、 待处理矢量图形集队列模块 PVL、 水印值码流生成模块 CG、水印值码流序列模块 WGCL、数字水印添加模块 WG、待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生成模块 T;数字水印验证端 WVT包括数字水印 验证端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提取模块 WR、 提取 码流存储模块 WRCL、 数字水印验证模块 WV以及验证端的水印数据存储器 DV。
所述数字水印生成端通信模块 CM-G, 用于对添加了数字水印的连续矢量图形描述动画 集进行发送; 所述待处理矢量图形集队列模块 PVL, 用于记录要添加数字水印的原连续矢量 图形描述动画集;所述水印值码流生成模块 CG,用于按照生成端的水印数据存储器 DG中记 录的水印数据信息和水印值码流生成规则来生成水印值码流, 并存储到水印值码流序列模块 WGCL中;所述水印值码流序列模块 WGCL,用于存储、记录生成的水印值码流 (code stream), 以便将特定的水印值添加到对应的连续矢量图形描述动画集中。
所述数字水印添加模块 WG, 用于按添加数字水印的编码 (encode)规则, 依次修改连续矢 量图形描述动画集中一个或多个图形元素的一个或多个属性值。 所述待发送矢量图形集队列 模块 SVL,用于临时保存已添加了数字水印的连续矢量图形描述动画集数据序列,准备发送。 所述生成端的水印数据存储器 DG, 用于存放: (1 ) 从水印数据生成水印码流的算法及 相关计算参数; (2) 码流嵌入数据包规则及计算参数; (3 ) 嵌入范围; (4) 水印数据; (5 ) 嵌入算法及计算参数; (6) 对比矢量图形数据包的选择方式或计算方式。
所述时序数据生成模块 T,用于生成时戳 (time stamp,是用于标明时刻和时序关系的一种 数据)或时序序号, 以便按照本发明数字水印实现方法中数字水印算法添加到连续矢量图形描 述动画集数据序列的数字水印中去, 标明矢量图形集的先后顺序关系, 防止重放攻击或篡改。
所述数字水印验证端通信模块 CM-V, 用于接收数字水印生成端通信模块 CM-G发送的 连续的矢量图形数据包; 所述接收矢量图形集队列模块 RVL, 用于存储所接收的连续的矢量 图形数据包序列; 所述数字水印信息提取模块 WR, 用于以商定的形式从接收的连续矢量图 形描述动画数据包序列中商定的图形元素和属性中提取数字水印信息; 所述提取码流存储模 块 WRCL, 用于存储提取出的数字水印码流数据序列; 所述数字水印验证模块 WV, 用于对 提取的码流进行分析, 验证所接收的连续的矢量图形数据包中所提取、 分析出来的数字水印 中数据信息是否与验证端的水印数据存储器 DV中的 "水印所嵌入并最终要验证的数据信息 中的数据信息"一致, 并输出验证结果。 所述验证端的水印数据存储器 DV, 存放内容与生 成端的水印数据存储器 DG模块所存放内容一致。
在本实施例中,数字水印生成端还包括带水印的连续矢量图形描述动画文件输出模块 0, 用于将已添加了数字水印的连续矢量图形描述动画集数据存储到一个存储文件中, 以便以后 再进行播放和验证。 带水印的连续矢量图形描述动画文件输出模块 0为可选部件, 适合于生 成带水印的矢量图形作品的应用场景 (例如带水印的二维 /三维动画源文件等)。
上述数字水印生成端和数字水印验证端均可以作为一个独立系统, 也可以作为其它系统 的组成部分而存在; 无论哪种, 均不应破坏对本发明的保护。
上述各模块的处理功能, 可以用软件、 硬件、 固件、 可编程芯片等方式实现, 如果用固 件中的微程序来实现, 则另外需要一个模块或部件来执行这些微程序 (如下面实施例中所说 的 "DSP芯片")。
由于是利用连续矢量图形描述动画来传输数字水印, 因此本方案无法用在静态的矢量图 形内容 (包括无法用到以打印、 喷涂等形式对矢量图形进行物理处理后获得的产物) 上进行 数字水印嵌入和验证。 下面以下述实施例, 详细说明应用上述系统实现的具体过程, 流程如图 2所示:
(在下面的实施例描述中, 未加水印的矢量图形数据包内容用 V表示, 而已加水印的用 v' 表示) 实施例 1
本实施例描述本发明最简单的实施方式, 即矢量图中只有一个圆的情况下的实施方式, 包括以下步骤:
51、 数字水印生成端与数字水印验证端知识交换: 在一次通信前, 确定嵌入范围与嵌入 规则、 嵌入算法等数字水印, 并在数字水印的生成端和数字水印的验证端之间进行协商、 交 换和共享信息。
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列); 连续矢量图形描述动画集数据包序列包括一系列单个的矢量图形数据包。 每个矢量图形 数据包应包括以下数据:
( 1 )、 矢量图形数据包的描述数据: 如序列号、 来源等;
(2)、 本矢量图形数据包的发送时序数据: 这个数据表明本矢量图形数据包的发送时间 或时序 (在第几位发送);
(3 )、 本矢量图形数据包的矢量图形内容: 这是一个列表数据, 包括本矢量图形数据包 中的一个或多个图形元素的相关参数, 包括: 矢量图形类型、 矢量图形参数。
数字水印嵌入主要是在 (2) "发送时序数据"及 (3 ) 中 "矢量图形参数"中进行修改来 实现嵌入。 在实施中, 并不要求在发送第一个矢量图形数据包之前, 就将所有要发送的矢量 图形数据包都准备好或生成好; 矢量图形数据包可以是不断出现、 不断添加水印、 不断发送 的。
在本实施例中, 从数字水印的生成端要传输的、 原始的连续矢量图数据包序列为 V= {vi,v2,...,Vl }, 其中 i£N, N为自然数集合。
本实施例中, 对所有
Vi= {
package—info ={序号 =i, 来源 ="xxx", ...}
ti=2012-12-12 19:21 :54 000+25 *i;
//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包
=圆{圆心 =(200+i,100);半径 =100; 颜色 =RGB(182,38,231); ...} 从上述内容可知,连续矢量图形描述动画数据包序列的播放内容是一个不断向右移动的、 颜色为 RGB(182,38,231)的圆形。
53、 如图 3所示, 在数字水印生成端, 确定传输的水印数据, 并根据水印数据生成水印 码流; 在步骤 S3中, 从水印数据生成水印码流的算法为: 按"水印数据各分量值 -临时参数值 = 水印码流分量", 并在每个码流分量后加一个校验值进入码流(校验值为每个码流分量值的平 方); 相应的, 从水印码流计算水印数据的算法为: 在计算中的码流中取第 1、 3、 5、 7个码 流, 对这 4个码流按以下算法计算: 水印码流分量 +临时参数值 =原水印数据分量。 本实施例 中, 在数字水印的生成端要嵌入连续矢量图形描述动画中传输的数据为 m=(3,4,l,3), 计算水 印码流的过程中有使用临时参数,临时参数值 keysessin=2,所获得的最终码流为 (Cl, c2, c3, c4,c5, c6, c7, c8)= (-1,1, -2,4, 1,1,-1,1)。
水印数据是指要从生成端通过数字水印传输到验证端的完整的信息或数据。 水印码流是 指: 将原来要进行嵌入的、 完整的水印数据, 按一定算法转换生成的码流 (code stream), 这个 码流是分散在连续矢量图形描述动画中各个帧中, 是对连续矢量图形描述动画数据包中属性 的修改值或变化值, 是水印数据的载体。 如果嵌入的水印数据比较简单, 则可以不编制水印 码流而直接嵌入该水印数据。
例如: 要传输的是水印数据是 29, 在嵌入和传输水印的过程中, 不是直接传输 29, 而是 传输 29的二进制数 (29 十进制 =11101 二进制) 在连续矢量图形描述动画序列对某个图形元素原来 没有改变的颜色值进行微小修改, 使其连续两个帧中的颜色变化值为 (11101 ), 如可以将原 来颜色为 RGB (232, 122, 49) 的图形颜色中绿色 (G)连续改变成 (122, 123, 124, 125, 125, 126), 这个连续序列中变化值就嵌入了 11101的码流。
在生成码流的算法中, 可以加入时间信息、 校验信息, 从而提高数字水印的安全性、 可 靠性。
从水印数据生成水印码流的过程中, 可以使用计算参数来使计算结果出现可控变化 (类 似加密过程中的密钥)。相关计算参数应只在数字水印生成端和验证端之间共知, 不应有第三 方得知。 若采用这种方式, 则相应的计算参数也需要在通信前在生成端和验证端之间进行交 换和共享。
生成码流的作用是: (1 ) 将水印数据切割为许多分量, 分散到多个矢量图形数据包的多 个图形元素的属性修改中, 减少对原矢量图形的属性的改变, 以便嵌入不可见水印; (2) 将 码流的不同部分分别嵌入矢量图形数据包中的不同地方, 可以互相验证、 互相保护, 提高本 发明的水印数据安全性。
所生成的数字水印码流,可以分散嵌入矢量图形数据包序列中的不同矢量图形数据包中, 也可以组合几个或将全部码流嵌入一个矢量图形数据包中。这由 S1中的码流嵌入数据包方案 来决定。
由于码流中的各个片段, 可以分别或组合放到一个或多个矢量图形数据包中, 那么只要 通过连续矢量图形描述动画数据包 (例如 5个数据包) 收集到了所有码流片段, 就可以完成 从这 5个数据包中获得完整码流并提取水印数据。 最极端情况, 只需要两个连续矢量图形描 述动画数据包, 就可以完整实现数字水印的嵌入和验证 (但两个数据包, 也是可能的最少数
54、 在数字水印生成端, 在矢量图形数据包中按码流嵌入数据包规则嵌入数字水印码流 数据;
在步骤 S4中, 码流嵌入数据包规则为: 每 9个矢量图形数据包为一组 (第一组为 Vl,v2
V3, V4,V5, V6, W, V8,V9), 上述 8个码流 (包括检验值) 分别依次嵌入 8个矢量图形数据包中; 嵌入算法为对相应的属性做加法; 嵌入范围是: 嵌入所有矢量图形数据包中所有矢量图形元 素的颜色属性中的红色分量。
对本实施例中的矢量图形数据包, 按照所述码流嵌入数据包规则在连续 9个矢量图形数 据包中修改属性, 使连续两个矢量图形数据包的特定属性 (圆的颜色的红色分量) 之间的变 化值符合最终码流 (c c2, c3, c4,c5, c6, c7, c8)= (-1,1, -2,4, 1,1, -1,1)的变化序列。 最终经过修改的 特定属性(圆的颜色的红色分量)取值变化序列为: (Vl' ,ν2' ,ν3' ,ν4' ,ν5' ,ν6' ,ν7' ,ν8' , ν9' ); 圆 ι.颜色.红色 =(182, 181, 182, 180,184, 186, 186, 185, 186), 后一取值对比前一取值的 变化值为(0,-1,1,-2,4, 1,1, -1,1)。
在嵌入水印的实现中, 可以在嵌入位置、 嵌入内容上加入时间信息、 校验信息, 从而提 高数字水印的安全性、 可靠性。
这里, 在连续矢量图形描述动画数据包序列中嵌入数字水印码流的方式有两种:
(1)、 等全部数据包嵌入后水印码流后, 成队依次发送: 可将矢量图形数据包序列中的 所有单个矢量图形数据包中均加入数字水印码流数据后, 再依次一个个发送矢量图形数据包
(或将所有数据包放入一个文件)。
(2)、 一个数据包嵌入后水印码流后, 立刻单个发送: 可在一个矢量图形数据包中嵌入 数字水印码流数据后发送, 随后再进行后续一个矢量图形数据包的数字水印嵌入。
55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印的生成端, 在时刻 vq' .tq发送 Vq' 到数字水印的验证端。 贝 lj(Vl' ,ν2' ,ν3' ,ν4' ,ν5' ,ν6' ,ν7' ,ν8' , ν9' ,…, ν200' Μ衣次在起始时间后的 25, 50,...,5000毫秒时刻被发送出去。发送矢量图形数据 包时按顺序和发送时间发送。
56、 如图 4所示, 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水 印的验证端, 收到 P' = ίνι' ,ν2' ,ν3' ,ν4' ,ν5' ,ν6' ,ν7' ,ν8' ,ν9' ,…, ν200' }。
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据。
在本实施例中, 根据嵌入范围与嵌入规则 "所有矢量图形数据包中所有矢量图形元素的 颜色属性中的红色分量",并根据对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比 (即计算 Vq' 与 Vq 在嵌入范围与嵌入规则属性上 的差异) ", 从连续的 vq+1 ' - vq' = A vq' 算出 A vq' 及圆 1颜色属性的变化值 A vq' . eql.颜色 的变化值依次为 (0,-1,1, -2,4, 1,1, -1,1)。 因此嵌入的水印码流为 (-1,1, -2,4, 1,1, -1,1)。
这里, 变化值的提取, 可以在当前收到的矢量图形数据包与它之前紧邻的 (即 Vq和 Vq-i 之间) 进行对比来提取, 也可以在当前收到的矢量图形数据包与之前收到的某个矢量图形数 据包或多个矢量图形数据包的统计值进行对比来提取。
矢量图形属性的变化值在数字水印数据嵌入与验证中的核心作用, 体现了: 本发明是根 据每个矢量图形数据包上的属性值与之前的矢量图形数据包上参数的变化值来嵌入数字水印 数据。 这是本发明的核心特征。
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据。
在本实施例中, 根据从水印码流计算水印数据的算法"通过获得的 (Cl, c2, c3, c4,c5, c6, c7, c8)= (-1,1, -2,4, 1,1, -1,1), 算出有意义的水印码流为 c= (-l,-2, 1,-1)。 再根据从水印码流计算 水印数据的算法, 并根据临时参数值为 2, 提取出原水印数据为 m=(3,4,l,3)。
59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 m=(3,4,l,3), 根据发送端和验证端之间约定的 "嵌入并验证的水印 数据" m=(3,4,l,3), 可以确认在连续矢量图形描述动画中传输过来的数据 m (以及所有矢量 图形) 是来自数字水印的生成端 (进行数据来源和通信对象的鉴别和认证)。
说明: 这里, m=(3,4,l,3)可以替换成公司的名称、 商标注册号等证明信息, 从而实施数 字水印和数字版权保护; 由于临时参数是保密的, 攻击者即使知道水印嵌入算法, 也无法篡 改上述矢量图形内容中的水印嵌入属性 (一旦篡改上述矢量图形的颜色并影响了水印, 则篡 改就会被发觉); 本实施例实现的是脆弱性水印, 并且没有加入时序数据(所以本实施例无法 防止重放攻击); 在单独一个图形元素上进行数字水印嵌入和验证, 是现有方法无法完成的功 能。
步骤 S3、 S4中, 在嵌入码流的生成中、在将水印码流嵌入连续矢量图形描述动画数据包 的属性中, 将时间信息、 校验信息加入码流生成算法中、 嵌入位置确定中和嵌入内容中, 从 而提高数字水印的安全性、 可靠性。
在本实施例中, 需要数字水印生成端与数字水印验证端双方共享的信息包括:
1、 要嵌入并验证的水印数据 m= (3,4,l,3);
2、 在 S3中, 从水印数据生成水印码流的算法和从水印码流计算水印数据的算法;
3、 在 S4中使用的码流嵌入数据包规则、 嵌入范围与嵌入规则;
4、 嵌入算法为对相应的属性做加法; 5、 对比矢量图形数据包选择或生成方式。
上述通信双方共享的信息中, 第 1、 2项要嵌入并验证的水印数据、 从水印数据生成水印 码流的算法和从水印码流计算水印数据的算法水印数据) 这些数据需严格保密, 不应泄露给 第三方; 第 3、 4、 5项必要时可公开 (当然为了保密和安全, 不公开更好)。
本实施例中, 每收到连续 9个矢量图形数据包, 就可以完成一轮数字水印的验证。 实施例 2
本实施例描述以时间间隔作为嵌入水印数据的方式, 且相关的处理功能用固件芯片形式 实现。 固件芯片 EPROM采用 INTEL 82802AA芯片; 相关的指令执行机构为 DSP芯片 (采 用得州仪器 (Ή) 公司的 C5402 DSP芯片)。
51、 数字水印生成端与数字水印验证端知识交换;
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 从数字水印的生成端要传输的、 原始的连续矢量图数据包序列为 V=
{vi,v2,...,Vl } (i E N, N为自然数集合)。
本实施例中, 对所有
Vi= {
package_info={序号 =i, 来源 ="xxx", ...}
ti=2012-12-12 19:21 :54 000+25 *i;
//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包
¾1=环 {圆心 =(200,100) ;外圆半径 =100+i; 内 圆半径 =80+i; 颜色 =RGB(182,38,231); ...}
¾=矩形{四边坐标(上下左右)=(200,300,0,200 ) ;颜色=1^8(0,0,0); ...}
从上述内容可知, 连续矢量图形描述动画数据包序列的播放内容是一个不断扩大的环形 和一个不动的矩形。
53、 在数字水印生成端, 确定传输的水印数据, 并根据它来编制成水印码流: 本实施例中, 在数字水印生成端要嵌入连续矢量图形描述动画中传输的数据为 (90,72,79,78, 71,71,85,79), 所使用的、 计算水印码流的临时参数值为 66, 按生成码流算法, 所获得的最终码流为 (c c2, c3, c4,c5, c6, c7, c8)= (24,6, 13,12, 5,5, 19,13)。
54、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流数据: 对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则在分别相隔 (24,6, 13,12, 5,5, 19,13)的矢量图形数据包 (即在第 25、 31、 44、 56、 61、 66、 85、 98个矢量图形数据包上修 改属性), 并按嵌入范围和嵌入规则修改属性值。 最终经过修改的特定属性取值变化序列为:
25' , ν3ι' , ν44' , ν56' ,ν6ι' , ν66' , ν85' , ν98' ). .=( 2012-12-12 19:21:54 000+25 *i+25*cn), 与其它的矢量图形数据包不同。
且 (ν25' , ν3ι' , ν44' ,ν56' ,ν61' ,ν66' ,ν85' , ν98' ).e .颜色.红色 =原红色分量 ±1。 对其它 i不属于 25、 31、 44、 56、 61、 66、 85、 98的取值, 则 vq' = vq (即不做修改)。
55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 vq' .tq发送 Vq' 到数字水印验证端, 则 (Vl' , ν2' , ν3' , ν4' ,ν5' , ν6' , ν7' , ν8' , ν9' , ···, ν200' Μ衣次在设定的时刻被发送出去。
56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJV' = {νι' , ν2' , ν3' , ν4' ,ν5' , ν6' , ν7' , ν8' , ν9' , ···, ν20ο' }°
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据:
在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据包与之前一 个矢量图形数据包进行对比", 根据嵌入范围与嵌入规则 "所选定的矢量图形数据包中所有矢 量图形元素的颜色属性中的红色分量发生修改"和 "发送时间与预期时间有差距", 从连续的 vq+!' - vq' =AVq' 判断颜色属性的变化值, 检索出第 25、 31、 44、 56、 61、 66、 85、 98个 矢量图形数据包应被嵌入数字水印, 并根据码流嵌入数据包规则为 "每相隔 .,c ^的数 据包中,修改矢量图中所有图形元素指定属性的属性值",计算出原来的码流为 (24,6, 13,12,5,5, 19,13)。
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据:
在本实施例中, 根据从水印数据生成水印码流的算法, 通过获得的 (Cl, c2, c3, c4,c5, c6, c7, c8)= (24,6, 13,12,5,5, 19,13),。再根据从水印码流计算水印数据的算法", 并根据临时参数值为 66, 算出原水印数据为 m=(90,72,79,78, 71,71,85,79)。
59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 (90,72,79,78, 71,71,85,79), 根据数字水印发送端和数字水印验证端 之间约定的嵌入并验证的水印数据 m= (90,72,79,78, 71,71,85,79), 可以确认在连续矢量图形 描述动画中传输过来的水印数据 m (以及所有矢量图形) 是来自数字水印生成端 (进行数据 来源和通信对象的鉴别和认证)。
补充说明: 本实施例中传输的 "ZHONGGUO"字符串, 完全可以代之以任何一个公司 的名称, 从而在矢量播放内容中嵌入原始来源信息, 从而实现数字版权保护。 在本实施例中, 需要数字水印生成端和数字水印验证端双方共享的信息包括:
1、 要嵌入并验证的水印数据: 本实施例中为 (90,72,79,78, 71,71,85,79), 转换成 ASCII码 为 "ZHONGGUO"。
2、 在 S3中, 从水印数据生成水印码流的算法为: 按 "水印数据各分量值 -临时参数值 = 水印码流分量"; 相应的, 从水印码流计算水印数据的算法为: 按 "水印码流分量 +临时参数 值=原水印数据分量"。 本实施例中, 计算水印码流的过程中有使用临时参数, 临时参数值为 66。
3、 在 S4 使用的码流嵌入数据包规则: 设水印码流结果为 {cl,c2,...,cn}, 则在每相隔 {cl,c2,...,Cn}的数据包中, 修改矢量图中所有图形元素指定属性的属性值 (只要出现修改即 可)。
4、 在 S4要使用的嵌入范围与嵌入规则: 嵌入所选定的矢量图形数据包中所有矢量图形 元素的颜色属性中的红色分量, 该数据包的该红色分量发生修改; 同时, 修改该矢量图形数 据包的发送时间数据。
5、 嵌入算法为: 对颜色, 对相应的颜色分量做加法或减法; 对发送时间, 相应的矢量图 形数据包的"发送时序数据 "增加 cn*25毫秒(即控制出现相应的延迟),这里 cn为码流分量。
6、对比矢量图形数据包选择或生成方式为: 每个矢量图形数据包与之前一个矢量图形数 据包进行对比 (即计算 vq' 与 Vq 在嵌入范围与嵌入规则属性上的差异)。
本实施例中, 要收集到第 98个矢量图形数据包后, 才能完成数字水印的验证。 实施例 3
本实施例中, 在连续两个矢量图形数据包之间实现数字水印嵌入。 由于本发明所提出的 数字水印嵌入方法是要基于矢量图形数据包之间属性上的修改和比较来实现, 因此, 两个矢 量图形数据包是本发明实现数字水印的最低数量要求。
51、 数字水印生成端与数字水印验证端知识交换;
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 从数字水印生成端要传输的、 原始的连续矢量图数据包序列为 V=
{vi,v2,...,Vl}, i≡N, N为自然数集合。
本实施例中, 仅对第 1、 第 2个矢量图形数据包进行水印嵌入和验证演示。
Vi= {
package_info={序号 =i, 来源 ="xxx", ...}
ti=2012-12-12 19:21 :54 000 +25*i;
//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包
ei_i= =圆{圆心 =(200,100+i);半径 =100; 颜色 = =RGB(182,38,231); ...} ei-2= =圆{圆心 =(260+i,100);半径 =45; 颜色 = =RGB(182,38,231); ...} ei_3= =圆{圆心 =(100+2*i,120+0.6*i) ;半径 =23; 颜色 = =RGB(182,38,231); ...} ei_4= =圆{圆心 =(300,340-i);半径 =91; 颜色 = =RGB(182,38,231); ...} ei-5= =圆{圆心 =(220,60);半径 =66; 颜色 = =RGB(182,38,231); ...} 从上述内容可知, 本实施例中连续矢量图形描述动画数据包序列的播放内容是一系列移 动的、 不同大小的圆形 (但其颜色值一样)。
53、 在数字水印生成端, 确定传输的水印数据, 并根据它来生成水印码流:
本实施例中, 按水印数据生成水印码流的算法, 在数字水印生成端要嵌入的水印数据及 最终码流均为(3,9,2,1,5)。
54、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流数据:
对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则在第 2个矢量图形数据包嵌 入水印(一次性将码流各分量全部嵌入一个矢量图形数据包中), 并按嵌入范围和嵌入算法修 改属性值。 最终经过修改的 v2数据包为:
ν2' = {
package_info={序号 =2, 来源 ="xxx", ...}
ti=2012-12-12 19:21 :54 025; 〃表示从 2012-12-12 19:21 :54 025毫秒发送 圆心 =(200,100+2) ;半径 =100; 颜色 =RGB(185,38,231); ...}
61-2=圆{圆心 =(260+2,100) ;半径 =45; 颜色 =RGB(182,47,231); ...}
61-3=圆{圆心 =(100+2*2,120+0.6*2);半径 =23;颜色 =RGB(182,38,233); ...} 61—4=圆{圆心 =(300,340-2) ;半径 =91; 颜色 =RGB(183,38,231); ...}
61-5=圆{圆心 =(220,60) ;半径 =66; 颜色 =RGB( 182,43,231); ...} 而其它的 vq' = vq (即不做改变)
55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 vq' . tq发送 Vq' 到数字水印验证端。 则 (Vl ' , ν2 ' , ν3 ' , ν4' ,ν5 ' , ν6 ' , ν7' , ν8 ' , ν9' , ···, ν200 ' Μ衣次在设定的时刻被发送出去。
56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJ V' = {νι ' , ν2 ' , ν3 ' , ν4 ' ,ν5 ' , ν6 ' , ν7' , ν8 ' , ν9 ' , ···, V200 ' } °
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据: 在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比", 根据嵌入范围与嵌入规则 "所选定的矢量图形数据 包中所有矢量图形元素的颜色属性中的红色分量发生修改"和"发送时间与预期时间有差距", 从连续的 ν2 ' - Vl ' = Δ ν2 ' 判断颜色属性的变化值, 检索出:
Δ ν2 , = {
A ew.颜色.红色 =3;
Δ ei_2.颜色.绿色 =9;
ei_3.颜色.蓝色 =2;
A ei_4.颜色.红色 =1;
Δ ei_5.颜色.绿色 =5; 并根据嵌入范围、 嵌入规则和嵌入算法, 可计算、 提取出原来的码流为 m=(3,9,2,l,5)。
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据: 在本实施 例中, 根据从水印码流计算水印数据的算法, 可知原水印数据为 m=(3,9,2,l,5)。
59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 m=(3,9,2,l, 5), 根据数字水印发送端和数字水印验证端之间约定的 嵌入并验证的水印数据 m=(3,9,2,l,5), 可以确认在连续矢量图形描述动画中传输过来的水印 数据 m (以及所有矢量图形) 是来自数字水印生成端 (进行数据来源和通信对象的鉴别和认 证)。
这里, 通过在数字水印中添加冗余数据、 时序数据, 可以判断接收到的矢量图形包有无 被篡改、 重复发送。
在本实施例中, 需要双方共享的信息包括:
1、 要嵌入并验证的水印数据 m=C3,9,2,l,5)。
2、在 S3中,从水印数据生成水印码流的算法为:按"水印数据各分量值 =水印码流分量"; 相应的, 从水印码流计算水印数据的算法为: 按 "水印码流分量原水印数据分量"。 也即, 水 印码流即原水印数据, 不做任何转换和处理。
3、 在 S4使用的码流嵌入数据包规则: 按嵌入的水印码流各分量值, 对第二个矢量图形 数据包, 依次修改按顺序排列的各图形元素指定属性的属性值。
4、 在 S4要使用的嵌入范围与嵌入规则: 修改指定数据包中指定矢量图形元素的颜色值 的分量, 在第 i个图形元素上, 修改第 (i mod 3 ) +1个颜色分量 (红绿蓝分别第 1、 2、 3个分
5、 嵌入算法为: 对相应的属性做加法。 6、对比矢量图形数据包选择或生成方式为: 每个矢量图形数据包与之前一个矢量图形数 据包进行对比 (即计算 Vq ' 与 Vq 在嵌入范围属性上的差异)。 实施例 4
本实施例中, 实现脆弱性水印: 所有序列中某些图形的某些属性变化值 /变化次数的总和 是一定值, 而这个值就是要传的水印数据。
51、 数字水印生成端与数字水印验证端知识交换;
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 从数字水印生成端要传输的、 原始的连续矢量图数据包序列为 V=
{vi,v2,...,Vl }, i≡N, N为自然数集合。
本实施例中, 对所有
Vi= {
package_info={序号 =i, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 000+25 *i;
//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包
¾1=环 {圆心 =(200,100) ;外圆半径 =100+i; 内 圆半径 =80+i; 颜色 =RGB(182,38,231); ... } 从上述内容可知,连续矢量图形描述动画数据包序列的播放内容是一个不断扩大的环形。 要注意的是, 每一帧中, 原来就要求的属性改变有 2次。
53、 在数字水印生成端, 确定传输的水印数据, 并根据它来生成水印码流:
本实施例中, 在数字水印生成端要嵌入连续矢量图形描述动画中传输的数据为 6, 所使 用的、 计算水印码流的临时参数值为 3, 且按生成码流算法, 统计在第 1到第 3个矢量图形 数据包中原来就应发生属性改变为 9。 最终生成的码流 (即 0\1 串) 中, 出现 1 的次数应为 3+4=7, 设随意生成的码流为 (0, 3, 4)。
54、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流数据: 对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则、 嵌入范围和嵌入算法修改 属性值, 在 v2、 v3中按 (3, 4) 的数量来修改属性 (包括原来就要变化的属性) (这里修改 颜色值):
Vl = {
package_info={序号 =1, 来源 ="xxx", ... } ti=2012-12-1219:21:54000;
d_i=环 { 圆心 =(200,100) 外 圆 半径 =101; 内 圆 半径 =81; 颜色 =RGB(182,38,231); ...} v2= {
package_info={序号 =2, 来源 'χχχ:
ti=2012-12-1219:21:54025;
e2_i=环 { 圆心 =(200,101) 外 圆 半径 =102; 内 圆 半径 =83; 颜色 =RGB(182,38,231); ...}
V3= {
package_info={序号 =3, 来源 'χχχ:
ti=2012-12-1219:21:54050;
e3_i=环 { 圆心 =(201,101) 外 圆 半径 =103; 内 圆 半径 =83; 颜色 =RGB(183,38,231); ...} 添加的属性变化值, 在上面用下划线标示。
对第 3个矢量图形数据包之后的, 也可以按固定长度或不固定长度来设计属性值, 使之 满足属性变化数量的条件。
55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 vq' .tq发送 Vq' 到数字水印验证端。 则 (Vl' , ν2' , ν3' , ν4' ,ν5' , ν6' , ν7' , ν8' , ν9' , ···, ν200' Μ衣次在设定的时刻被发送出去。
56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJV' = {νι' , ν2' , ν3' , ν4' ,ν5' , ν6' , ν7' , ν8' , ν9' , ···, ν20ο' }°
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据: 在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比", 根据嵌入范围与嵌入规则、根据共享的临时参数值 =3, 从收到的 Vl' ,ν2' ,ν3' 中统计属性变化值为 (0, 3, 4), 共检测出 7次属性变化。
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据: 在本实施 例中, 根据从水印码流计算水印数据的算法, 码流中数字总和为 7, 而临时参数值为 3, 因此 要传输的水印数据为 7-3=4。
59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 4, 与根据数字水印发送端和数字水印验证端之间约定的嵌入并验 证的水印数据 m= 4—致, 可以确认在连续矢量图形描述动画中传输过来的水印数据 m (以 及所有矢量图形) 是来自数字水印生成端 (进行数据来源和通信对象的鉴别和认证)。
补充说明:
( 1 )无论原连续矢量图形描述动画数据包序列中原图形属性有没有变化, 都不影响本实 施例中水印添加算法的实现。
(2)添加了这种水印的连续矢量图形描述动画数据包序列不能被篡改(无论是帧还是属 性值), 一旦丢帧或被修改任何属性, 算出的水印数据就无法对上。
在本实施例中, 需要双方共享的信息包括:
1、 要嵌入并验证的水印数据: 本实施例中为 4。
2、 在 S3中, 从水印数据生成水印码流的算法为: 先统计连续第 1到 n个 (本实施例中 n取临时参数值, 但也可以另行设定) 矢量图形数据包中矢量图形的属性变化次数总和 (设 为 C), 生成一任意数字串 (数字串长度为 n-1 ) 且数字串中数字总和 =水印数据值 +临时参数 值, 则水印码流分量=此任意数字串; 相应的, 从水印码流计算水印数据的算法为: 码流 =原 水印数据 +临时参数值"。 本实施例中, 计算水印码流的过程中有使用临时参数, 临时参数值 为 3。
3、 在 S4使用的码流嵌入数据包规则: 第 1-N中任意矢量图形数据包中, 如果生成的数 字串为 (Cl, c2, ..., cn),则每个 cn表示这个矢量图形数据包相比起前一矢量图形数据包在属性上 要出现的变化次数 (包括原来就要出现的属性修改)。
4、 在 S4要使用的嵌入范围与嵌入规则: 任意矢量图形数据包中任意图形元素的任意矢 量图形属性 (除了发送时间数据、 原来也要发生变化的属性)。
5、嵌入算法为:对相应的属性作任意修改,修改次数即为该矢量图形数据包上的码流值。
6、对比矢量图形数据包选择或生成方式为: 每个矢量图形数据包与之前一个矢量图形数 据包进行对比 (即计算 vq' 与 Vq 在嵌入属性上的差异)。 实施例 5
本实施例中, 针对指令帧式的矢量动画描述方式, 实现数字水印。 该种动画描述方式, 在 VRML和 MPEG-4 BIFS中得到使用(例如 VRML中的 TRANFORM节点中的 translation rotation^ addChidren, RemoveChildren等指令, MPEG-4 BIFS中的形式类似)。
另外一种定义矢量动画的方式, 是利用变动帧。 所谓变动帧, 即后面的矢量图帧, 只描 述发生变化的矢量图形元素及其参数 (在 MPEG4-BIFS里用 BIFS-ANIM相关指令来描述变 动帧动画, 需要用 AnimationFrames、 AnimationMask ElementaryMask等定义变动的元素禾口 属性)。
实际上, 变动帧与指令帧是可以互相转换的 (除了添加、 删除等)。 因此, 本实施例可应 用于指令帧式和变动帧式两种矢量图形描述方式。
本实施例的过程如下:
51、 数字水印生成端与数字水印验证端知识交换;
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 连续矢量图数据包序列的内容是一系列的矢量图修改指令 (如移动、 縮 放、 等等), 定义为 V= {Vl,v2,. . .,Vl }, i e N, N为自然数集合。
本实施例中, 对
Vl = {
package_info={序号 =1, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 000+25 *i;
//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包
d_i=环 { 圆心 =(200,100) ;夕卜 圆 半径 =101; 内 圆 半径 =81; 颜色 =RGB(182,38,231); ... }
对所有 i>l,
Vi= {
package_info={序号 =i, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 000+25 *i;
//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包
modify(ei_ii color, old_param=RGB(182+(i-l)* 12, 38, 231), new_param= RGB(182+i* 12,38,231)} 〃表示修改 的 "颜色 " 属性, 从之前的颜色 RGB(182+(i-2)* 12, 38, 231)修改为 RGB(182+(i-l)* 12,38,231) (即每一帧的颜色红 色分量依次为 182、 194、 206...; 这样, 多个修改指令连续播放后, 就形成了变色的动 画效果。 从上述内容可知, 这一动画的播放内容是一个不断变色的环形。
展开, 得: v2=
package_info={序号 =2, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 025;
modify(ei_i, color, new_param= RGB(194,38,231)}
V3 =
package_info={序号 =3, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 050;
modify(ei_i, color, new_param= RGB(206,38,231)}
V4 =
package_info={序号 =2, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 025;
modify(ei_i, color, new_param= RGB(218,38,231)}
V5 =
package_info={序号 =3, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 050;
modify(ei_i, color, new_param= RGB(230,38,231)} 这里, v2、 ...v5的 modify指令的新颜色值分别是 194、 206、 218、 230...。
为和下面的嵌入水印的效果对比, 嵌入水印的方案是 "图中颜色值的奇偶性与前一帧进 行异或", 实现水印的嵌入和检测。 则对这里 Vl、 v2、 ...v5, 计算得到的奇偶性为:
(奇, 奇, 奇, 奇, 奇)
取奇为 1, 偶为 0, 前一帧与后一帧的奇偶值进行异或, 则结果为 (0, 0, 0, 0)
S3、 在数字水印生成端, 确定传输的水印数据, 并根据它来生成水印码流:
本实施例中, 在数字水印生成端要嵌入连续矢量图形描述动画中传输的数据为 数字 6, 所使用的、 计算水印码流的临时参数值为 3
码流计算算法为: 取水印数据加参数值的结果再取二进制数据, 所得二进制序列即为码 流。 且按生成码流算法为 "嵌入码流为嵌入数据的二进制值", 则本实施例中嵌入的码流为二 进制串 1001。 S4、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流数据: 对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则、 嵌入范围和嵌入算法修改 属性值。
水印嵌入和检测规则为: 在指令中修改变动的颜色值参数, 使结果图中颜色值的奇偶性 (即所有对颜色值中 RGB中各分量的总和的奇偶性)与前一帧进行异或, 形成 " 1001 "的序 列, 同时保持对指令的修改与原图尽可能一致。
Vl'= {
package_info={序号 =1, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 000;
ei_i=环 { 圆心 =(200,100) ;外 圆 半径 =101 ; 内 圆 半径 =81; 颜色 =RGB(182,38,231); ... } v2'= {
package_info={序号 =2, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 025;
modify(ei_i, color new_param= RGB(193,38,231)} vv= {
package— info={序号 =3, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 050;
modify(ei_i, color, new_param= RGB(207,38,231)} v4'= {
package_info={序号 =2, 来源 ="xxx", ... }
ti=2012-12-12 19:21 :54 025;
modify(ei_i, color, new_param= RGB(217,38,231)} v5'= {
package— info={序号 =3, 来源 ="xxx,,, ... }
ti=2012-12-12 19:21 :54 050; modify(ei_i, color, new_param= RGB(230,38,231)} 这里, v2'、 ...v5'的 modify指令的新颜色值分别是 193、 207、 217、 230...。 对 ν^、 ν2'、 ...ν5'计算 得到的奇偶性为:
(奇, 偶, 偶,偶, 奇)
取奇为 1、 偶为 0, 前一帧与后一帧的奇偶值进行异或, 则结果为 (1, 0, 0, 1) 上述嵌入规则 ("在指令中修改变动的颜色值参数, 使结果图中颜色值的奇偶性与前一帧 进行异或, 形成 " 1001" 的序列, 同时保持对指令的修改与原图尽可能一致"), 可以在任何 一个矢量动画中实现。
55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 vq' .tq发送 Vq' 到数字水印验证端。 则 (Vl' , ν2' , ν3' , ν4' ,ν5' , ν6' , ν7' , ν8' , ν9' , ···, ν200' Μ衣次在设定的时刻被发送出去。
56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJV' = {νι' , ν2' , ν3' , ν4' ,ν5' , ν6' , ν7' , ν8' , ν9' , ···, V200' }°
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据: 在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比",根据嵌入范围与嵌入规则,获得嵌入的码流为 1001 即十进制的 9。
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据: 在本实施 例中, 根据从水印码流计算水印数据的算法, 码流中数字内容为 9, 而临时参数值为 3, 因此 要传输的水印数据为 9-3=6。
59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 6, 与根据数字水印发送端和数字水印验证端之间约定的嵌入并验 证的水印数据 m= 6—致, 可以确认在连续矢量图形描述动画中传输过来的水印数据 m (以 及所有矢量图形) 是来自数字水印生成端 (进行数据来源和通信对象的鉴别和认证)。 对上述实现算法, 不仅仅限于颜色值总和, 还可以扩展到所有参数值的总和、 或多个矢 量图形元素上特定颜色分量的总和。 上述实施例为本发明较佳的实施方式, 但本发明的实施方式并不受上述实施例的限制, 其他的任何未背离本发明的精神实质与原理下所作的改变、 修饰、 替代、 组合、 简化, 均应 为等效的置换方式, 都包含在本发明的保护范围之内。

Claims

权 利 要 求 书
1、 一种基于连续矢量图形描述动画的数字水印系统, 其特征在于, 包括用于向连续矢量 图中添加数字水印数据信息的数字水印生成端 WGT及用于检测连续矢量图中添加的数字水 印数据信息并验证其正确性的数字水印验证端 WVT; 其中, 数字水印生成端 WGT包括数字 水印生成端通信模块 CM-G、待处理矢量图形集队列模块 PVL、水印值码流生成模块 CG、水 印值码流序列模块 WGCL、 数字水印添加模块 WG、 待发送矢量图形集队列模块 SVL、 生成 端的水印数据存储器 DG以及时序数据生成模块 T;数字水印验证端 WVT包括数字水印验证 端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提取模块 WR、 提取码流 存储模块 WRCL、 数字水印验证模块 WV以及验证端的水印数据存储器 DV;
所述数字水印添加模块 WG分别与待处理矢量图形集队列模块 PVL、水印值码流序列模 块 WGCL、 待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生 成模块 T连接,数字水印生成端通信模块 CM-G与待发送矢量图形集队列模块 SVL连接,水 印值码流生成模块 CG分别与生成端的水印数据存储器 DG、 水印值码流序列模块 WGCL连 接;
所述数字水印验证端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提 取模块 WR、提取码流存储模块 WRCL以及数字水印验证模块 WV依次连接, 所述验证端的 水印数据存储器 DV分别与数字水印信息提取模块 WR、 数字水印验证模块 WV连接; 所述数字水印生成端通信模块 CM-G, 用于对添加了数字水印的连续矢量图形描述动画 集进行发送;
所述待处理矢量图形集队列模块 PVL, 用于记录要添加数字水印的原连续矢量图形描述 动画集;
所述水印值码流生成模块 CG,用于按照生成端的水印数据存储器 DG中记录的水印数据 信息和水印值码流生成规则来生成水印值码流, 并存储到水印值码流序列模块 WGCL中; 所述水印值码流序列模块 WGCL, 用于存储、 记录生成的水印值码流, 以便将特定的水 印值添加到特定的连续矢量图形描述动画集中;
所述数字水印添加模块 WG, 用于按添加数字水印的编码规则, 依次修改连续矢量图形 描述动画集中一个或多个图形元素的一个或多个属性值;
所述待发送矢量图形集队列模块 SVL, 用于临时保存已添加了数字水印的连续矢量图形 描述动画集数据序列, 准备发送;
所述生成端的水印数据存储器 DG, 用于存放: (1 ) 从水印数据生成水印码流的算法及 相关计算参数; (2) 码流嵌入数据包规则及计算参数; (3 ) 嵌入范围; (4) 水印数据; (5 ) 嵌入算法及计算参数; (6) 对比矢量图形数据包的选择方式或计算方式; 所述时序数据生成模块 τ, 用于生成时戳或时序序号, 以便将时序信息添加到连续矢量 图形描述动画集数据序列的数字水印中去, 标明矢量图形集的先后顺序关系, 防止重放攻击 或篡改;
所述数字水印验证端通信模块 CM-V, 用于接收连续的矢量图形数据包;
所述接收矢量图形集队列模块 RVL, 用于存储所接收的连续的矢量图形数据包序列; 所述数字水印信息提取模块 WR, 用于从接收的连续矢量图形描述动画数据包序列的图 形元素和属性中提取数字水印信息;
所述提取码流存储模块 WRCL, 用于存储提取出的数字水印码流数据序列;
所述数字水印验证模块 WV, 用于对提取的码流进行分析, 验证所接收的连续的矢量图 形数据包中所提取、 分析出来的数字水印中数据信息是否与验证端的水印数据存储器 DV中 的水印所嵌入并最终要验证的数据信息中的数据信息一致, 并输出验证结果;
所述验证端的水印数据存储器 DV,存放内容与生成端的水印数据存储器 DG存放内容一 致。
2、根据权利要求 1所述的基于连续矢量图形描述动画的数字水印系统, 其特征在于, 所 述数字水印生成端 WGT还包括与待发送矢量图形集队列模块 SVL连接的带水印的连续矢量 图形描述动画文件输出模块 0, 用于将已添加了数字水印的连续矢量图形描述动画集数据存 储到一个存储文件中。
3、一种基于权利要求 1所述基于连续矢量图形描述动画的数字水印系统的基于连续矢量 图形描述动画的数字水印实现方法, 其特征在于, 包括以下步骤:
51、 数字水印生成端与数字水印验证端知识交换: 在一次通信前, 确定嵌入范围、 码流 嵌入数据包规则及嵌入算法, 并在数字水印生成端和数字水印验证端之间进行协商、 交换和 共享;
52、 在数字水印生成端, 准备连续矢量图形描述动画集数据包序列;
53、 在数字水印生成端, 确定传输的水印数据, 并根据它来按由生成端和验证端商定的 参数和商定的算法生成水印码流;
54、 在数字水印生成端, 在矢量图形数据包中按码流嵌入数据包规则嵌入数字水印码流 数据: 对连续矢量图形描述动画数据包序列中当前要嵌入水印的矢量图形数据包, 按照码流 嵌入数据包规则, 在数字水印码流选择码流中的片段或片段的组合, 再按照嵌入范围与嵌入 算法, 修改该数据包中一个或多个图形元素的一个或多个属性, 将数字水印码流数据或数据 片段嵌入; 哪些码流数据嵌入哪些矢量图形数据包、 嵌入哪些属性、 修改属性的方式, 均由 生成端和验证端商定的参数和商定的算法计算来确定, 所述属性包括图形属性和矢量包发送 时间属性; 55、 在数字水印生成端, 在每个矢量图形数据包的发送时序数据所标示时刻, 发送带有 数字水印部分或全部信息的矢量图形数据包;
56、 在数字水印验证端, 接收带有数字水印部分或全部信息的连续矢量图形描述动画数 据包;
57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据: 根据当前接收到的矢量图形数据包, 跟之前收到的矢量图形数据包或之前收 到的多个矢量图形数据包的统计值对比, 提取连续矢量图形描述动画数据包中属性上的变化 值, 计算数字水印码流数据;
58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据;
59、 在数字水印验证端, 验证计算出来的水印数据, 从而验证所接收的连续矢量图形描 述动画数据包序列是否携带了数字水印生成端嵌入数字水印。
4、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S2中的连续矢量图形描述动画 集数据包序列包括一系列单个的矢量图形数据包; 每个矢量图形数据包包括以下数据:
( 1 )、 矢量图形数据包的描述数据;
(2)、 矢量图形数据包的发送时序数据;
( 3 )、 矢量图形数据包的矢量图形内容。
5、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S3、 S4中, 将时间信息、 校验 信息加入码流生成算法中、 嵌入位置确定中和嵌入内容中。
6、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S3、 S4中, 在生成并添加数字 水印时, 使用参数来控制生成的水印码流数据和在连续矢量图形描述动画数据包中的嵌入, 通过参数的变化来使数字水印及其嵌入发生可控变化; 所述 S7、 S8中, 在验证数字水印时, 通过参数来正确提取和验证数字水印数据。
7、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S3中, 所生成的数字水印码流 分散嵌入矢量图形数据包序列中的不同矢量图形数据包中, 或者组合几个水印码流或将全部 码流嵌入一个矢量图形数据包中。
8、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S4中, 在连续矢量图形描述动 画数据包序列中嵌入数字水印码流的方式有两种:
( 1 )、 在将矢量图形数据包序列中的所有单个矢量图形数据包中均加入数字水印码流数 据后, 再依次一个个发送矢量图形数据包, 或将所有数据包放入一个文件;
(2)、 在一个矢量图形数据包中嵌入数字水印码流数据后发送, 随后再进行后续一个矢 量图形数据包的数字水印嵌入并发送。
9、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S4中, 在连续矢量图形描述动 画数据包序列中的一个或多个矢量图形元素的一个或多个图形属性中嵌入一组或多组数字水 印数据, 或者在连续矢量图形描述动画数据包序列中各单个矢量图形数据包的发送时间上嵌 入数字水印数据。
PCT/CN2013/073646 2012-04-06 2013-04-02 一种基于连续矢量图形描述的数字水印系统及实现方法 WO2013149579A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210100787.X 2012-04-06
CN201210100787.XA CN102663668B (zh) 2012-04-06 2012-04-06 一种基于连续矢量图形的数字水印系统及实现方法

Publications (1)

Publication Number Publication Date
WO2013149579A1 true WO2013149579A1 (zh) 2013-10-10

Family

ID=46773147

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/073646 WO2013149579A1 (zh) 2012-04-06 2013-04-02 一种基于连续矢量图形描述的数字水印系统及实现方法

Country Status (2)

Country Link
CN (1) CN102663668B (zh)
WO (1) WO2013149579A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663668B (zh) * 2012-04-06 2014-04-16 王涛 一种基于连续矢量图形的数字水印系统及实现方法
CN104866609A (zh) * 2015-06-03 2015-08-26 谢宣松 图码生成方法和基于图码的信息访问方法
CN105141842B (zh) * 2015-08-31 2016-09-07 广州市幸福网络技术有限公司 一种防篡改的证照相机系统及方法
CN106096339B (zh) * 2016-06-07 2019-04-05 武汉圆周率软件科技有限公司 矢量数据的数据版权保护方法及系统
CN108648132B (zh) * 2018-04-16 2020-08-14 深圳市联软科技股份有限公司 根据图形生成水印的方法、系统、终端及介质
CN111191414B (zh) * 2019-11-11 2021-02-02 苏州亿歌网络科技有限公司 一种页面水印生成方法、识别方法、装置、设备及存储介质
CN116485621B (zh) * 2023-04-26 2023-09-22 兰州交通大学 一种精度可控的倾斜摄影三维模型可逆水印方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090136082A1 (en) * 2007-11-27 2009-05-28 Ali Zandifar Embedding Data in Images
CN101841700A (zh) * 2010-05-18 2010-09-22 宁波大学 一种面向h.264压缩比特流的视频水印方法
CN101854546A (zh) * 2010-05-13 2010-10-06 山东大学 一种基于h.264运动矢量的视频水印嵌入提取方法
CN102663668A (zh) * 2012-04-06 2012-09-12 王涛 一种基于连续矢量图形的数字水印系统及实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0852441B1 (en) * 1996-06-20 2010-08-25 International Business Machines Corporation Data hiding method
CN1527585A (zh) * 2003-03-05 2004-09-08 刘瑞祯 一种数字信息安全传输和应用方法
CN101668185A (zh) * 2008-09-05 2010-03-10 广东电子工业研究院有限公司 一种视频监控系统及其视频数据认证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090136082A1 (en) * 2007-11-27 2009-05-28 Ali Zandifar Embedding Data in Images
CN101854546A (zh) * 2010-05-13 2010-10-06 山东大学 一种基于h.264运动矢量的视频水印嵌入提取方法
CN101841700A (zh) * 2010-05-18 2010-09-22 宁波大学 一种面向h.264压缩比特流的视频水印方法
CN102663668A (zh) * 2012-04-06 2012-09-12 王涛 一种基于连续矢量图形的数字水印系统及实现方法

Also Published As

Publication number Publication date
CN102663668B (zh) 2014-04-16
CN102663668A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
WO2013149579A1 (zh) 一种基于连续矢量图形描述的数字水印系统及实现方法
Channalli et al. Steganography an art of hiding data
CN104468090A (zh) 基于图像像素坐标的汉字密码编码方法
CN103973937B (zh) 基于无线多媒体传感器网络的信息隐藏方法
CN103605950A (zh) 一种可信二维码中签名的隐藏方法及系统
WO2014075469A1 (zh) 一种信息隐藏方法及装置
CN103136718A (zh) 抗几何变换的实用彩色图数字水印技术
Mostafa et al. A robust high capacity gray code-based double layer security scheme for secure data embedding in 3d objects
CN101409813A (zh) 防止和识别图像篡改的图像编码方法
CN110120079A (zh) 基于三维Logistic映射和广义Cat映射彩色图像加密方法
Bhautmage et al. Advanced video steganography algorithm
KR20140059224A (ko) 포맷 보존 코딩을 통해 디지털 오브젝트들을 보호하는 방법 및 디바이스
CN115695675B (zh) 用于网络数据安全交换的视频加密方法
CN109547663A (zh) 一种结合密码学的改进lsb图像隐写方法
JP2018527847A (ja) デジタルビデオコンテンツのセキュリティ認証方法及びそのシステム
Zhaoning et al. A lossless self-recovery watermarking scheme with JPEG-LS compression
CN103391482A (zh) 一种可对抗几何攻击的盲数字水印编解码方法
CN113300840B (zh) 一种联合汉明码的数据随机加密通信方法
CN102158768A (zh) 基于mp4文件封装格式的视频认证水印嵌入和提取方法
Patel et al. Steganography over video file by hiding video in another video file, random byte hiding and LSB technique
CN103731654A (zh) 一种使用2d/3d视频的信息嵌入系统和信息提取系统
CN113489982A (zh) 一种基于avs3编码框架下的数字水印版权保护方法
CN103533457B (zh) 多媒体数字水印嵌入及分离方法和装置
CN104272748B (zh) 抗加密水印
CN110648271A (zh) 一种使用特殊网点在半色调图像中嵌入数字水印的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13772999

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13772999

Country of ref document: EP

Kind code of ref document: A1