CN1677438A - Method and device for hiding data in data code stream - Google Patents
Method and device for hiding data in data code stream Download PDFInfo
- Publication number
- CN1677438A CN1677438A CN200410031923.XA CN200410031923A CN1677438A CN 1677438 A CN1677438 A CN 1677438A CN 200410031923 A CN200410031923 A CN 200410031923A CN 1677438 A CN1677438 A CN 1677438A
- Authority
- CN
- China
- Prior art keywords
- coefficient
- bit
- bit plane
- encoding block
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention discloses a method for embedding hidden data in JPEG 2000 data code stream. The method includes following steps: embedding type block code of optimal truncation (EBCOT) is carried out for wavelet coefficient of quantized host image in order to give out position information of truncation point of each coded block; calculating each coefficient of each coded block in order to determine location of coefficient bits where hidden data can be embedded so as to not cause severe vision distortion to original image; scanning bit plane in coded block from top to bottom is carried out, the hidden data are embedded into the location determined and before the location of the truncation point. The invention also discloses method for decoding hidden data embedded as well as encoding and decoding devices.
Description
Technical field
The present invention relates to embed in a kind of JPEG 2000 data code flows the method and the employed Code And Decode device of hiding data, particularly relate to the influence of when data embed, considering human-eye visual characteristic (HVS), even under the situation that embeds a large amount of hiding datas, also can not cause serious vision distortion, extract the method and apparatus of hiding data simultaneously progressively in the decoding end support.
Background technology
Along with the high speed development of digital technology, people issue on the internet or to download the digital multimedia works more and more convenient, yet the digitizing of medium is also for copying and plagiarization provides more opportunity.Prevent that infringement of copyright and malice from distorting, become the active demand of information age, so digital watermark technology arises at the historic moment.
Similar with the banknote watermark, digital watermark technology is meant the special sightless mark such as sign copyright or entitlement data, utilize the embedded method of numeral to be hidden in host's medium (host media) such as digital products such as digital picture, sound, document, books, video, do not cause the appreciable distortion of people simultaneously.The data that embed can be for extracting, in case of necessity as court evidence etc.
In digital watermark technology, there is a branch to be become data hiding technique (datahiding) usually, its fundamental purpose is to embed mass data in host's medium.For example, the authorship of works can utilize digital watermarking to prove its entitlement to works, and as the evidence of identifying, prosecution is illegally encroached right.In addition, also can guarantee the integrality and the reliability of numerical information, thereby become the effective means of protection author rights and interests by detection and analysis to digital watermarking.
At present, data hiding technique has begun to be applied to the copyright protection and the true and false Verification System of multiple media informations such as digital picture, digital video, DAB.The data that are hidden can be copyright information, works title, time tag, captions or the like.
Because Digital Media is modified easily, the data that therefore common requirement embeds can be resisted attack to a certain degree, for the watermark in the embedded images, the most generally require it can resist the attack of lossy compression method.JPEG (JPEG (joint photographic experts group)) is that the committee system of being engaged in the formulation of still image compression standard under International Standards Organization (ISO) has been made the first cover GB still image compression standard.Existing a lot of algorithm all is based on the JPEG compression standard, because JPEG is present most popular general image compression algorithm.Yet along with the appearance of the up-to-date compression standard JPEG 2000 of ISO/ITU-T, have increasing image in the future and adopt JPEG 2000 forms to compress, therefore need the data hiding technique of research based on JPEG 2000.
JPEG 2000 standards are better than Joint Photographic Experts Group on many performances.For example, JPEG 2000 has higher code efficiency, and progressive telescopic code stream on resolution and the pixel precision can be provided, area-of-interest (ROI, Region Of Interest) coding or the like.
The Code And Decode process of JPEG 2000 is described below with reference to the process flow diagram of Fig. 1.As shown in Figure 1, in the cataloged procedure of JPEG 2000, raw image data at first passes through such as color notation conversion space, removes direct current, and the pre-treatment of partitioned image sheet etc. and so on forms the spatial domain signal.Then formed spatial domain signal is carried out wavelet transform (DWT), obtain wavelet coefficient with the correlativity of removing between the pixel.If the wavelet coefficient that obtains is a real number, then in quantizing process after this, wavelet coefficient is transformed to integer.Need at last the wavelet coefficient of integer is carried out entropy coding, promptly optimize the embedded block encoding (EBCOT, Embedded Block Coding with OptimalTruncation) of truncation points.Related content can be referring to the first of JPEG 2000 standards of delivering in August, 2000: Final Draft International Standard (ISO/IEC FDIS 15444-1), ISO/IECJTC1/SC29/WG 1.D.Taubman in July, 2000 at IEEE trans.on ImageProcessing, the article that is entitled as " High Performance ScalableImage Compression with EBCOT " that Vol.9, pp.1158-1170 deliver.Can transmit or store wavelet coefficient through the EBCOT coding.The decoding of JPEG 2000 is the contrary operation of coding basically.
EBCOT coding is a kind of coded system based on bit plane, and the wavelet coefficient that it will be positioned at same subband is divided into a certain size coefficient block, is called an encoding block (code block), and each encoding block is independently encoded.
EBCOT is the scrambler of a two-layer, in ground floor coding (tier-1 coding), coefficient bit in each encoding block is by according to from significantly to inapparent order, output to arithmetic encoder one by one plane, be packaged into JPEG 2000 elementary streams (JPEG 2000 elementary codestream).Each bit plane can be divided into three cataloged procedures (pass) at the most simultaneously, specifically, first cataloged procedure is importance communication process (significance propagation pass), if a coefficient itself does not also become remarkable, and there is at least one coefficient to become remarkable in eight neighborhoods around it, then this coefficient is included into the importance communication process, at first encodes in this plane; Second cataloged procedure is amplitude refinery practice (magnitude refinement pass), if a coefficient had become before current plane significantly, then encodes in this cataloged procedure; The 3rd cataloged procedure is scale removal process (cleanup pass), and all bits that are not encoded in preceding twice scanning are encoded in this cataloged procedure.
Like this, behind the ground floor coding, the end of each cataloged procedure all provides the selection of a truncation points, and the encoding block with n plane can provide maximum 3n-2 truncation points to select.In second layer coding (tier-2 coding), the contribution to the rate distortion curve is distributed in the truncation points position on the encoding block and abandons truncation points data afterwards EBCOT with each cataloged procedure according to whole code check restriction then.
The coding of a kind of inertia pattern (lazy mode) also is provided among the JPEG 2000, after several planes, coefficient bit in first of each bit plane and second cataloged procedure is approximate to be evenly distributed, use arithmetic encoder to be difficult to obtain more gains, JPEG 2000 is defined in the inertia pattern-coding, except the most significant four bit planes, other importance communication process and amplitude refinery practice can directly be packed without arithmetic coding, can not sacrifice how many code efficiencies like this, significantly reduce calculated amount again.
Can pack according to different order through the code stream after the EBCOT, the code stream after the packing is through storage or transmission, and decoded end obtains.Decoding end is according to opposite order: reverse EBCOT, re-quantization, oppositely DWT and aftertreatment obtain decoded image.
In the prior art, in still image, embed hiding data and adopt two kinds of methods usually, a kind of method is based on the watermarking algorithm of spread spectrum (spread spectrum), embeds data in the spatial domain of image or the frequency domain after certain conversion, and does not consider concrete file layout.I.J.Cox; M.L.Miller; with A.L.McKellips in July, 1999 No. the 7th, the IEEE committee paper of the evaluation of relevant multimedia messages and protection problem; the 87th volume; 1127-1141 page or leaf (Proceedings ofthe IEEE; Special Issue on Identification and Protection of MultimediaInformation; vol.87; no.7; pp.1127-1141, July 1999) on this has been done in the article that is entitled as " Watermarking as communications with side information " delivered introduction.Another kind method is that data are embedded compression domain, for example in the code stream of JPEG or JPEG 2000.M.Holliman, N.Memon, B.-L.Yeo and M.Yeung in January, 1998 at SPIE Photonics West, (San Jose, the article of CA) delivering that is entitled as " Adaptive PublicWatermarking of DCT-based Compressed Image " illustrates this.These two kinds of methods respectively have relative merits.
JPEG 2000 has following properties, the ultimate resolution and the maximum pixel precision of coding side decision coding back image, and decoding end can be according to own specific requirement to needed image, select part necessary in the code stream to download and decode, this characteristic for data hiding technique be advantage also be challenge.On the one hand, the user does not carry out Code And Decode after not needing to download entire image again, the data that are hidden in like this in the code stream just can not suffered to destroy (Code And Decode again can be regarded as another attack), and this makes the application prospect of the data hidden in JPEG 2000 code streams be better than the application in the JPEG code stream far away.On the other hand, the randomness that the user selects has also increased the uncertainty that hiding data extracts, and in once decoding, any part in the code stream all may be dropped, and so corresponding hiding data also may be dropped.
Po-Chyi Su and C.-C.Jay Kuo have done detail analysis in the article that is entitled as " Information embedding in JPEG-2000 compressed images " that deliver in May, 2003 to the data hidden in the JPEG2000 code stream on Proceedings of theInternational Symposium on Circuits and Systems 2003 the 3rd volume.They think that the data hidden scheme of a safety must carry out after the second layer of EBCOT coding, because second layer coding itself can be regarded attack process as one time.They propose to adopt the coding of inertia pattern simultaneously when coding, and only embed data in the amplitude refinery practice after the 4th bit plane.Can avoid destruction Code And Decode end arithmetic encoder state synchronization like this, also can not influence the coefficient conspicuousness context of low bit plane.The roughly process of this algorithm is as follows: the code check of at first determining a maximum, with this code check original image is carried out JPEG 2000 compressions of inertia pattern, begin to do reverse embedding (backwardembedding) from the least significant bit plane of each encoding block before truncation points then.Least significant amplitude refinery practice in all encoding blocks relatively at every turn, and will wherein replace to hiding data to a minimum cataloged procedure of rate distortion curve contribution, so carry out till all hiding datas all are embedded into.
The design of the reverse embedding in the algorithm of Po-Chyi Su and C.-C.Jay Kuo is to cause minimum all square meaning distortion in order to make under certain data embedded quantity.Yet it has some shortcomings that can't overcome.First: as previously mentioned, the user of JPEG 2000 can select the part of needs in the code stream to decode according to the needs of oneself, if the user needs the image product of some lower code checks, must abandon the information of some low planes so, and the hiding data place is located just, in other words, the as easy as rolling off a log attack that is subjected to JPEG 2000 demoders of this algorithm; Second, reverse embedding can't realize that gradual hiding data extracts, we know, gradual most important applications is in the application scenarios of low code check transmission such as Internet, the user can extract hiding data as early as possible gradually in the image downloading process, and need not to wait for that entire image is received fully, the algorithm of Po-ChyiSu and C.-C.Jay Kuo can not be accomplished this point.
Therefore, need a kind of method and employed Code And Decode device that in data code flow, embeds hiding data,, and realize that gradual hiding data extracts so that can overcome the attack that hiding data is easy to be subjected to JPEG 2000 demoders.
Summary of the invention
The purpose of this invention is to provide a kind of method and apparatus that can carry out compression of images and data hidden, this method and apparatus is specially adapted to add the hiding data such as digital watermarking in the image that carries out compressed encoding based on JPEG 2000.
According to an aspect of the present invention, a kind of method that embeds hiding data in JPEG 2000 data code flows is provided, comprise step: the wavelet coefficient after host image is quantized is optimized the embedded block encoding (EBCOT) of truncation points, obtains the positional information of the truncation points of each encoding block; Calculate each coefficient of each encoding block, the position of original image not being caused the coefficient bit of serious vision distortion to determine to embed hiding data; With the bit plane in the encoding block is carried out top-down scanning, before being positioned at truncation points and the position of the coefficient bit of determining that does not cause serious vision distortion embed hiding data.
According to another aspect of the present invention, a kind of method that embeds hiding data in JPEG 2000 data code flows is provided, comprise step: the wavelet coefficient after host image is quantized is optimized the embedded block encoding (EBCOT) of truncation points, so that provide the positional information of the truncation points of each encoding block; Close on coefficient vision masking effect according to each coefficient of information calculations of preceding four bit planes of this encoding block; Since the 5th bit plane the most significant, carry out scanning from top to bottom, until the truncation points that runs into this encoding block based on bit plane; In the flat scanning process on the throne, each coefficient has the maximum insert depth of a correspondence, and this insert depth is initialized to negative infinite, and obtains upgrading after this coefficient becomes significantly for the first time, remains to the bit plane end of scan then always; In flat scanning process on the throne, if the residing bit plane degree of depth of certain coefficient bit is not more than the maximum insert depth of this coefficient, then replaceable this coefficient bit is the bit that hides Info.
According to another aspect of the present invention, provide the coding/decoding method of the hiding data that embeds in a kind of JPEG of extraction 2000 data code flows, comprise step: the elementary stream that receives is carried out the EBCOT decoding, to extract encoding block and to produce the truncation points positional information; Calculate the vision mask matrix of the encoding block that extracts; With the execute bit flat scanning, extract in the encoding block and embed hiding data.
According to a further aspect of the invention, a kind of code device that embeds hiding data in JPEG 2000 data code flows is provided, comprise: embedded block encoding (EBCOT) device of optimizing truncation points, be used for encoding block is optimized the embedded block encoding of truncation points, so that provide the positional information of the truncation points of each encoding block; Vision mask calculation element is used for calculating each coefficient contextual complexity of living in of each encoding block; With the bit plane scanister, be used for the described bit plane of encoding block is scanned, embed hiding data in the position of the coefficient bit of calculating that does not cause serious vision distortion.
According to a further aspect of the invention, the decoding device of the hiding data that embeds in a kind of JPEG of extraction 2000 data code flows is provided, comprise: embedded decoding (IEBCOT) device of inverse optimization truncation points, be used for the elementary stream that receives is carried out the EBCOT decoding, to produce encoding block and truncation points positional information; Vision mask calculation element is used to calculate the vision mask matrix of described encoding block; With the bit plane scanister, be used for extracting the hiding data that encoding block embeds.
The present invention also is provided for the recording medium that coding method of the present invention and coding/decoding method are carried out in storage.
Method and apparatus of the present invention can be used widely in the authentication of low code check transmission such as Internet, copyright protection.
Description of drawings
By explaining being used for below in conjunction with accompanying drawing, rather than restriction the preferred embodiments of the present invention are described in detail, and will make above-mentioned and other purpose of the present invention, feature and advantage clearer, wherein:
Fig. 1 is the block diagram of JPEG 2000 encoder of explanation prior art;
Fig. 2 is expression according to the block scheme of data embedded part of coding side that is used to embed hiding data of the embodiment of the invention;
Fig. 3 is the process flow diagram that is illustrated in the operation of embedding hiding data performed in the bit plane scanister shown in Figure 2; With
Fig. 4 is the data extract part that embeds hiding data is extracted in expression in decoding end according to the embodiment of the invention a block scheme.
Embodiment
In JEPG 2000 code streams, embed coding and the coding/decoding method and the device thereof of data according to embodiments of the invention below in conjunction with description of drawings.
Be example with the image that adopts JPEG 2000 compressed encodings below, illustrate according to the present invention in the compression domain (code stream) of JPEG2000, to embed to hide Info, and the hiding data method that can be extracted progressively in decoding end.
To being hidden in the destruction of the data in the code stream, the present invention adopts JPEG 2000 compressions of inertia pattern for fear of Code And Decode.Behind EBCOT second layer coding, do not embedding hiding data through in the amplitude refinery practice of arithmetic coding.The data embedding operation independently carries out mutually between each encoding block.In an encoding block, always elder generation transmits the information of higher plane and abandons the information of hanging down plane.Therefore, can think: a bit that hides Info, should be embedded into deeply in the bit plane of encoding block as far as possible and be gone, in other words, should be embedded into as much as possible in the more significant bit plane and go, promptly, bitplanes is carried out top-down scanning, improving the robustness that 2000 low code check decodings are attacked to JPEG with this, also is simultaneously that this bit can earlier be extracted in low code check transmission.
But along with the increase of the insert depth of a hiding data bit in bit plane, its caused image fault is also corresponding serious.Therefore, need to solve the position of how reasonably to arrange these data bits of hiding, make its caused distortion be difficult to be perceiveed by human eye.In general, change any one bit in the one and same coding process, the error that causes on equal square meanings is identical.Yet in some position of image, these errors can be covered well by the background in image spatial domain, and this phenomenon is called as vision masking effect (visual masking effect).In general, the zone of image complexity helps the mask of distortion, and the zone that image change is milder is then opposite, promptly not too is beneficial to the mask of distortion.Therefore, need determine whether current coefficient bit can be replaced by the bit that hides Info according to the context environmental of certain concrete coefficient.Therefore, can not adopt the way of replacing whole cataloged procedure in the algorithm of Po-Chyi Su and C.-C.Jay Kuo, and will each bit in the cataloged procedure be judged respectively with which position of determining image can embed data and not cause serious vision distortion.
A kind of point-wise extended masking method has been proposed in the second portion of JPEG 2000 standards (Part II Extension), by carry out nonlinear transformation (every calculating will be described later in the formula) according to following formula (1), with wavelet coefficient x
iBe transformed into the coefficient z on another territory
I, and think that the coefficient on this transform domain visually is consistent.
In other words, with z
iChange a certain amount of after, the distortion that visually causes is certain, so just can weigh the size of degree of distortion quantitatively.
In formula (1) formula, x
iBe a wavelet coefficient that is produced by EBCOT coding, and the low-pass filter that carries out wavelet transformation in order to obtain this wavelet coefficient must have the DC current gain of unit, Hi-pass filter must have the Nyquist gain of unit.Otherwise, the x in the formula (1)
iMust process standardize, for example, the wavelet coefficient that obtains after the 5/3 bank of filters filtering with integer, the Nyquist gain of its Hi-pass filter is 2, every experience one-level wavelet transformation, all high frequency coefficients must be divided by 2.
Parameter alpha is one (0,1) interval interior real number, can get 0.7 usually; Parameter beta is the interval interior real number in another (0,1), gets a smaller number usually, as 0.2; α is a standardization constant (10000/2
Bit_depth-1)
β, wherein bit_depth be this image the position dark, for example, the gray level image of 8 bits, it is dark to be exactly 8;
kBe through the x of quantification with inverse quantization
iProximate coefficients x
k,
kWhen inverse quantization, only keep the most significant several bits of its quantization index; | Φ
i| then be illustrated in the set sizes of proximate coefficients in the summation number, and what is called is closed on coefficient sets, can get with xi is a grid at center, but this grid can not be crossed the border of encoding block.
Weigh a coefficient is hidden the vision distortion that causes when data bit substitutes in a certain position size, can be by weighing this potential coefficient z
iBefore conversion and conversion after the change amount realize.In other words, the wavelet coefficient that embeds and do not embed the hiding data bit is transformed on the territory of a vision equilibrium, and the two reflection on this territory is subtracted each other, obtain quantitative vision distortion degree.Coefficient z
iThe change amount can calculate (every calculating will be described later in the formula) by following formula (2).
Wherein
With
Be x
iThrough the current coefficient x behind quantification and the inverse quantization
i, and only use x
iThe significantly information of position that has been encoded or has decoded replaces to 1 and 0 respectively with the bit on the present bit plane simultaneously.In addition, because the embedding of each encoding block is independently, contiguous set Φ
iChoose the border that can not cross encoding block.
Usually, exist
Relation, so, formula (2) further can be reduced to formula (3).
In the right-hand member of formula (3),
Be the current coefficient x behind quantification and the inverse quantization
i, and only use x
iThe most significant bit; M then is the degree of depth on present bit plane; Δ
bIt is the basic quantization step-length of this coefficient subband of living in.
Can obtain changing caused vision distortion size delta z after the current coefficient bit by formula (3)
iTherefore, can provide a predetermined threshold value, with vision distortion size delta z
iWith this threshold, if Δ z
iBe no more than this threshold value, think that then this bit can be replaced.Should be noted that the right-hand member of formula (3) is a monotonically increasing function about m, therefore needn't be to passing through x
iEach computing formula (3) all of obtaining of quantization index, and the m that only need obtain a maximum gets final product.That is to say, to each coefficient x
iThe degree of depth m that exists a maximum possible to embed
i, represent by following formula (4).
Th is a predetermined threshold value in the following formula, and supposition all is known constant at data built-in end and extraction end.So each coefficient x
iDegree of depth m
iCan be by the order of magnitude of this coefficient itself
With the complexity of coefficient around it, that is, and proximate coefficients vision mask matrix NM[i] decision, and can when a coefficient becomes remarkable first, calculate and try to achieve.
The following describes and how to determine threshold value Th.
Human eye is different for the sensitivity of different spatial frequencys and directivity, and the distortion that common distortion toleance degree to high fdrequency component is compared low frequency component is quite a lot of.Therefore, choosing of vision distortion degree threshold value be factor band and different, so we use Th
bBe illustrated in the different threshold values that different sub-band b is got.Contrast sensitivity function (CSF) (Contrast Sensitive Function) has been represented the varying sensitivity of human eye to the two-dimensional space frequency, therefore can utilize the CSF function as the weight factor of adjusting intersubband vision distortion threshold value, choose predetermined threshold value by following formula (5).
Th wherein
0Be one and can supply the parameter of adjustment, compromise in the hope of between embedding data volume and integral image degree of distortion, making; Subscript b represents different sub-band;
Be the CSF weight factor.When human eye is in a medium viewing distance, when being about 1700 pixels, CSF weight factor such as following table:
Table 1
| ?Leve ?1 | ?Y(LH?HL?HH) | Cb(LH?HL?HH) | Cr(LH?HL?HH) |
| ?1 | 0.3072,????0.3072, 0.1089 | 0.0978,???0.0978, 0.0312 | 0.1774,?????0.1774, 0.0771 |
| ?2 | 0.8616,????0.8616, 0.7423 | 0.2801,???0.2801, 0.1523 | 0.3885,?????0.3885, 0.2486 |
| ?3 | 1.0000,????1.0000, 1.0000 | 0.5017,???0.5017, 0.3623 | 0.5985,?????0.5985, 0.4709 |
| ?4 | 1.0000,????1.0000, 1.0000 | 0.6894,???0.6894, 0.5792 | 0.7576,?????0.7576, 0.6660 |
| ?5 | 1.0000,????1.0000, 1.0000 | 0.8188,???0.8188, 0.7459 | 0.8609,?????0.8609, 0.8032 |
Table 1 is an example with medium viewing distance, the CSF weight factor of each subband when having provided 1700 pixels
Fig. 2 is the block scheme that embeds the data embedded part of hiding data according to the embodiment of the invention at coding side.At coding side hiding data is embedded the process of data code flow below with reference to Fig. 2 explanation.This figure has only provided in data code flow the part that embeds hiding data, and remainder is identical with the cataloged procedure of JPEG 2000 shown in Figure 1, for fear of obscuring, in this explanation and the relevant part of embedding hiding data.
Be that example describes with JPEG 2000 image encoded below, be noted that to the invention is not restricted to this, also can be applied to otherwise image encoded.The hiding data embedded part of coding side comprises embedded block encoding (EBCOT) unit 21 of optimizing truncation points, vision mask computing unit 22 and bit plane scanning element 23.
Wavelet coefficient in the same subband is arranged in " encoding block " with rectangular configuration, and then, these encoding blocks are encoded into bit plane, and these bit planes begin till the least important bit plane from the most important bit plane with nonzero element.Each coefficient bits in the bit plane is encoded with one of following three kinds of cataloged procedures: importance communication process, amplitude refinery practice and scale removal process.
The 21 pairs of images in EBCOT unit carry out effective compressed encoding and produce the data of truncation points position.The effective compression to image can not only be realized in EBCOT unit 21, and produced simultaneously code stream has extraordinary characteristics such as resolution flexible, signal to noise ratio scalability, random access and processing.Vision mask computing unit 22 calculates each encoding block, determines which position can embed hiding data and not cause serious vision distortion.Bit plane in 23 pairs of encoding blocks of bit plane scanning element scans in a kind of special mode, and the uppermost coefficient from the left side, per four coefficients are as row, till sweeping all over all coefficients in the encoding block.
The following describes the operation of data embedded part shown in Figure 2.Through the host image of JPEG 2000 coding, through as shown in Figure 1 pre-treatment, wavelet transform and quantize after, obtain each encoding block to be encoded, each encoding block is a data block of being made up of the quantization index of integer.After this embed hiding data independently based on the concrete context environmental of each encoding block.
For simplicity, only the process of the embedding hiding data of an independent encoding block is described below, the situation of other encoding block is identical therewith.At first, the 21 pairs of encoding blocks in EBCOT unit carry out the EBCOT coding, and encoding block is divided into a plurality of bit planes and provides the truncation points position.If this encoding block belongs to the LL subband, then skip this encoding block.In general, revise the LL subband and cause serious distortion easily, the LL subband is not done data usually and embed.If in this encoding block, the position of truncation points is in preceding four bit planes the most remarkable, does not promptly have the amplitude refinery practice of direct coding to embed for data, then can skip this encoding block.Otherwise this encoding block can be used as the candidate object that embeds hiding data.Set up two big or small identical buffer area (not shown)s with this encoding block at vision mask computing unit 22, one is used to store proximate coefficients vision mask matrix NM[.], another is used to store maximum insert depth matrix ED[.].To proximate coefficients vision mask matrix NM[i] and maximum insert depth matrix ED[i] carry out initialization: NM[.]=0, ED[.]=-INF (negative infinite).Vision mask computing unit 22 is according to the information of preceding four bit planes, and the formula (6) below utilizing calculates proximate coefficients vision masking effect NM[i].
α wherein, β and | Φ
i| the formula (1) of face as defined above described, choosing of neighborhood can be with x
iA square formation for the center. in the formula (6)
kGet preceding four information of remarkable bit plane of this encoding block, can calculate by following formula (7), promptly
Wherein num_bps is the bit plane number of this encoding block.
After this, the data block of the encoding block that EBCOT unit 21 is produced, the vision mask matrix information that truncation points position and vision mask computing unit 22 calculate is input to bit plane scanning element 23.Bit plane scanning element 23 is carried out the scanning of bit plane one by one from the 5th significant bit plane of encoding block.
The following describes the operation of bit plane scanning element 23.Bit plane scanning element 23 judges at first whether the amplitude refinery practice of this bit plane is positioned at after the truncation points, if then finish the operation to this encoding block.Then, upgrade maximum insert depth matrix ED[i].Specifically, for a coefficient x
iIf it has become significantly, but still has ED[i]=-relation of INF, then according to following formula (8) with its renewal.
Otherwise, maximum insert depth ED[i] remain unchanged.For all maximum insert depth ED[i] be not less than the coefficient x of the present bit plane degree of depth
i, its coefficient bit on the present bit plane is replaced with the hiding data bit, thereby realizes the embedding of hiding data.If maximum insert depth ED[i] less than current coefficient x
iThe bit plane degree of depth, illustrate that this position is not suitable for embedding hiding data, then keep former coefficient bit constant.After this, forward next bit plane to, the operation above bit plane scanning element 23 repeats.
The encoding block that the process data embed together with original truncation points positional information, is repacked the output code flow that is formed for transmitting through JPEG 2000 codings of direct coding.Be noted that the EBCOT unit 21 among Fig. 2, vision mask computing unit 22 and bit plane scanning element 23 can be multiplexing at all encoding blocks.
The flow process of bit plane scan module 23 is described below with reference to Fig. 3.At step S31, read in an encoding block and proximate coefficients vision mask matrix NM[i thereof] and the truncation points positional information.Wherein, the truncation points positional information is carried out the generation of EBCOT coding by 21 pairs of these encoding blocks in EBCOT unit.Proximate coefficients vision mask matrix NM[i] generate by vision mask computing unit 22.At step S32, set up the maximum insert depth matrix ED[. of encoding block], and it is initialized as ED[.]=-INF (negative infinite).Next, at step S33, begin to read in the information of next bit plane from the 5th bit plane the most significant of the encoding block that read in.At step S34, it is preceding to judge whether truncation points is positioned at second cataloged procedure (pass) of this bit plane (being the amplitude refinery practice).If the result of step S34 is for affirming that flow process is returned step S31, shows that the coefficient bit in this bit plane is not suitable for hiding data, reads in a new encoding block.If the judged result of step S34 is for negative, that is, before truncation points was positioned at second cataloged procedure of this bit plane, flow process then proceeded to step S35.In step S35, upgrade the maximum insert depth ED[i of encoding block].Specifically, for a wavelet coefficient x
iIf it has become significantly, but still has ED[i]=-relation of INF, then use aforesaid formula (8) to upgrade ED[i], with the insert depth on indication present bit plane.Next, at step S36, read in the coefficient bit that belongs to second cataloged procedure in this bit plane.After this, at step S37, whether the maximum insert depth after judge upgrading is more than or equal to the depth of this bit plane.If the maximum insert depth after judged result for affirming, is promptly upgraded is more than or equal to the depth of this bit plane, expression can replace with this coefficient bit hiding data, and its caused distortion is difficult to be perceiveed by human eye.After this, replace this coefficient bit at step S38 with the hiding data bit.At this moment, if do not finish at the processing of this encoding block, flow process then turns back to step S36, repeats this processing procedure.If the processing at this encoding block behind execution in step S38 finishes, flow process then turns back to step S33, the processing of execution in step S33 to S38.
Fig. 4 is the block scheme that extracts the data extract part of hiding data according to the embodiment of the invention in decoding end.The process of extracting the data that embed in decoding end from code stream is described below with reference to Fig. 4.Equally, this figure has only provided from code stream the part of extracting hiding data, and remainder is identical with the decode procedure of JPEG 2000 shown in Figure 1, for fear of obscuring, in this explanation and the relevant part of embedding hiding data.
As shown in Figure 4, the extraction of decoding end embeds embedded decoding (IEBCOT) unit 41 that section data comprises the inverse optimization truncation points, vision mask computing unit 42 and bit plane scanning element 43.The code stream of JPEG 2000 is divided into each elementary stream after unpacking.IEBCOT unit 41 carries out contrary EBCOT operation to each elementary stream, the data block and the truncation points positional information of output corresponding codes piece.Then, vision mask computing unit 42 and bit plane scanning element 43 are sent data block in IEBCOT unit 41.Simultaneously, the truncation points positional information is offered bit plane scanning element 43.Vision mask computing unit 42 calculates the vision mask matrix of the encoding block of input, and result of calculation is offered bit plane scanning element 43.Bit plane scanning element 43 is carried out the essentially identical operation of carrying out with the bit plane scanning element 23 of coding side.Different is that flat scanning on the throne unit 23 is to all maximum insert depth ED[i] be not less than current coefficient x
iThe bit plane degree of depth, its coefficient bit on the present bit plane is replaced with the hiding data bit.And in the flat scanning on the throne unit 43,, judge that whether its place bit depth is less than maximum insert depth ED[i to each coefficient bit in the amplitude refinery practice of this bit plane].If, then it is come out as the hiding data bit extraction, otherwise, operation do not done.Extract the hiding data that embeds in the code stream thus.
Be noted that the synchronism for the Code And Decode end, if the truncation points of certain encoding block is positioned at before the 4th bit plane the most significant, coding side and decoding end all can directly be skipped this encoding block.Otherwise the information of preceding four bit planes can intactly pass to decoding end.Therefore, the vision mask matrix that obtains of encoding and decoding end is the same.And maximum insert depth matrix ED[i] except with proximate coefficients vision mask matrix NM[i] relevant, only with coefficient x
iThe bit plane at the most significant coefficient place relevant, this also is consistent in coding side and decoding end, because data embed the more inapparent bit that only can revise a coefficient.The synchronous of Code And Decode illustrated that these data embed algorithm and support blind extraction (blind extraction), promptly do not need original image also can extract and hides Info.
Used for reference the point-wise extendedmasking method among the JPEG 2000 Part II in an embodiment of the present invention.Yet, the invention is not restricted to this.In fact, have multiple vision masking effect, other examples may comprise the consideration to luminance mask, edge mask etc.
JPEG 2000 scramblers may comprise considers (visualfrequency weighting) accordingly to the vision frequency, if then can omit this step in this algorithm.
JPEG 2000 scramblers also may be supported Part II, just adopt the nonlinear transformation in the formula (1) before quantizing, and this algorithm also can be skipped formula (3) formula so.Because it all is identical changing the distortion that any one bit visually causes in the cataloged procedure (pass).But because not every demoder all supports JPEG 2000 Part II, under the more conditions, need data hidden person and extractor be the computation vision degree of distortion voluntarily.
The method that embeds hiding data in data code flow according to the present invention can realize by hardware.Also can realize by the program that execution has corresponding function by processor.Described program can be recorded in such as floppy disk, hard disk, and flash memory disk, CD-ROM is on the computer-readable recording medium of DVD-ROM and so on.
Though invention has been described with reference to preferred embodiment, the present invention is not limited thereto, and only be defined by the following claims, and those skilled in the art can carry out various changes and improvements to embodiments of the invention under the situation that does not break away from spirit of the present invention.
Claims (21)
1. method that embeds hiding data in JPEG 2000 data code flows comprises step:
Wavelet coefficient after host image quantized is optimized the embedded block encoding (EBCOT) of truncation points, obtains the positional information of the truncation points of each encoding block;
Calculate each coefficient of each encoding block, the position of original image not being caused the coefficient bit of serious vision distortion to determine to embed hiding data; With
Bit plane in the encoding block is carried out top-down scanning, before being positioned at truncation points and the position of the coefficient bit of determining that does not cause serious vision distortion embed hiding data.
2. method according to claim 1, the step of wherein calculating the position that is suitable for embedding hiding data in the described bit plane comprises: the wavelet coefficient that will embed and not embed the hiding data bit transforms on the territory of a vision equilibrium, and the two reflection on this territory subtracted each other, obtain the step of quantitative vision distortion degree.
3. method according to claim 2, wherein the calculating of degree of distortion further comprises with the approximate former result of power function expansion, and only further is simplified to the step of the form that the most remarkable bit with former coefficient calculates.
4. method according to claim 3, wherein further comprise: utilize degree of distortion after approximate to express formula and raise and the monotonically increasing characteristic, the calculating of maximum admissible distortion degree is converted into the step of the calculating of the highest bit plane that embeds hiding data of this coefficient with bit plane.
5. method according to claim 4, wherein calculate the highest step that embeds the bit plane degree of depth of hiding data of coefficient comprise set up proximate coefficients vision mask matrix NM[i] and maximum insert depth matrix ED[i] step.
6. method according to claim 5, wherein proximate coefficients vision mask matrix NM[i] calculating only get preceding 4 information of significant bit plane of this encoding block.
7. method according to claim 1, five the most remarkable bit plane of wherein said bit plane scanning from arranging according to the conspicuousness of bit plane.
8. method according to claim 7, wherein said bit plane scanning step comprises initialization ED[.] for negative infinite, and before each bit plane scanning beginning, each remarkable coefficient xi that becomes is for the first time upgraded ED[i].
9. method according to claim 8, wherein said bit plane scanning step further comprises for all maximum insert depth matrix ED[i] be not less than the coefficient xi of the present bit plane degree of depth, its coefficient bit on the present bit plane is replaced with the hiding data bit.
10. method that embeds hiding data in JPEG 2000 data code flows comprises step:
Wavelet coefficient after host image quantized is optimized the embedded block encoding (EBCOT) of truncation points, so that provide the positional information of the truncation points of each encoding block;
Close on coefficient vision masking effect according to each coefficient of information calculations of preceding four bit planes of this encoding block;
Since the 5th bit plane the most significant, carry out scanning from top to bottom, until the truncation points that runs into this encoding block based on bit plane;
In the flat scanning process on the throne, each coefficient has the maximum insert depth of a correspondence, and this insert depth is initialized to negative infinite, and obtains upgrading after this coefficient becomes significantly for the first time, remains to the bit plane end of scan then always; With
In the flat scanning process on the throne, if the residing bit plane degree of depth of certain coefficient bit is not more than the maximum insert depth of this coefficient, then replaceable this coefficient bit is the bit that hides Info.
11., wherein embed operation separate carrying out between each encoding block of hiding data according to any one the described method in the claim 1 to 10.
12. a coding/decoding method that extracts the hiding data that embeds in JPEG 2000 data code flows comprises step:
The elementary stream that receives is carried out the EBCOT decoding, to extract encoding block and to produce the truncation points positional information;
Calculate the vision mask matrix of the encoding block that extracts; With
The execute bit flat scanning is extracted the hiding data that embeds in the encoding block.
13. method according to claim 12, wherein said bit plane scanning step further comprises foundation and upgrades maximum insert depth matrix ED[.], each is positioned at truncation points coefficient bit before, the maximum insert depth ED[i that compares its bit plane degree of depth of living in and this coefficient], if be not more than ED[i] then this coefficient bit is come out as the bit extraction that hides Info.
14. a code device that embeds hiding data in JPEG 2000 data code flows comprises:
Optimize embedded block encoding (EBCOT) device (21) of truncation points, be used for encoding block is optimized the embedded block encoding of truncation points, so that provide the positional information of the truncation points of each encoding block;
Vision mask calculation element (22) is used for calculating each coefficient contextual complexity of living in of each encoding block; With
Bit plane scanister (23) is used for the described bit plane of encoding block is scanned, and embeds hiding data in the position of the coefficient bit of calculating that does not cause serious vision distortion.
Be used to store proximate coefficients vision mask matrix NM[i 15. code device according to claim 14, wherein said vision mask calculation element (22) comprise] storer and store maximum insert depth matrix ED[i] storer.
16. code device according to claim 15, the positional information of the truncation points that wherein said bit plane scanister (23) basis (EBCOT) device (21) provides and the proximate coefficients vision mask matrix NM[i that vision mask calculation element (22) provides] embed hiding data in the position of the coefficient bit that does not cause serious vision distortion.
17. a decoding device that extracts the hiding data that embeds in JPEG 2000 data code flows comprises:
Embedded decoding (IEBCOT) device (41) of inverse optimization truncation points is used for the elementary stream that receives is carried out the EBCOT decoding, to produce encoding block and truncation points positional information;
Vision mask calculation element (42) is used to calculate the vision mask matrix of described encoding block; With
Bit plane scanister (43) is used for extracting the hiding data that encoding block embeds.
18. decoding device according to claim 17, wherein said bit plane scanister (43) comprises the maximum insert depth matrix ED[i of renewal], each is positioned at truncation points coefficient bit before, the maximum insert depth ED[i that compares its bit plane degree of depth of living in and this coefficient], if be not more than ED[i] then this coefficient bit is come out as the bit extraction that hides Info.
19. a storage is used for carrying out the recording medium of program that embeds the method for hiding data at JPEG 2000 data code flows, described method comprises step:
Encoding block is optimized the embedded block encoding (EBCOT) of truncation points, so that provide the positional information of the truncation points of each encoding block;
Calculate each bit in the bit plane of each encoding block, the position of raw data not being caused the coefficient bit of serious vision distortion to determine to embed hiding data; With
Described bit plane in the encoding block is scanned, embed hiding data in the position of the coefficient bit of determining that does not cause serious vision distortion.
20. a storage is used for carrying out the recording medium of program that embeds the method for hiding data at JPEG 2000 data code flows, described method comprises step:
Wavelet coefficient after host image quantized is optimized the embedded block encoding (EBCOT) of truncation points, so that provide the positional information of the truncation points of each encoding block;
Close on coefficient vision masking effect according to each coefficient of information calculations of preceding four bit planes of this encoding block;
Since the 5th bit plane the most significant, carry out scanning from top to bottom, until the truncation points that runs into this encoding block based on bit plane;
In the flat scanning process on the throne, each coefficient has the maximum insert depth of a correspondence, and this insert depth is initialized to negative infinite, and obtains upgrading after this coefficient becomes significantly for the first time, remains to the bit plane end of scan then always.
In the flat scanning process on the throne, if the residing bit plane degree of depth of certain coefficient bit is not more than the maximum insert depth of this coefficient, then replaceable this coefficient bit is the bit that hides Info.
21. a storage is used for carrying out the coding/decoding method that extracts the hiding data that JPEG 2000 data code flows embed, described method comprises step:
Be used for the elementary stream that receives is carried out the EBCOT decoding, to extract encoding block and to produce the truncation points positional information;
Calculate the vision mask matrix of the encoding block that extracts; With
The execute bit flat scanning is extracted the hiding data that embeds in the encoding block.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200410031923.XA CN1677438A (en) | 2004-03-31 | 2004-03-31 | Method and device for hiding data in data code stream |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200410031923.XA CN1677438A (en) | 2004-03-31 | 2004-03-31 | Method and device for hiding data in data code stream |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1677438A true CN1677438A (en) | 2005-10-05 |
Family
ID=35049935
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200410031923.XA Pending CN1677438A (en) | 2004-03-31 | 2004-03-31 | Method and device for hiding data in data code stream |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1677438A (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101840564A (en) * | 2010-05-07 | 2010-09-22 | 南京大学 | Method for hiding mass information by using remote sensing image |
| CN101742309B (en) * | 2008-11-11 | 2012-10-10 | 索尼株式会社 | Image decoding apparatus and image decoding method |
| CN102742274A (en) * | 2010-02-05 | 2012-10-17 | 索尼公司 | Image processing device and method |
| CN102982073A (en) * | 2012-10-29 | 2013-03-20 | 北京奇虎科技有限公司 | Bundle method and device for file to host file |
| CN107347154A (en) * | 2011-11-07 | 2017-11-14 | 杜比国际公司 | For coding and decoding the method, coding and decoding equipment and corresponding computer program of image |
| CN110992561A (en) * | 2019-11-25 | 2020-04-10 | 深圳市菲格特智能科技有限公司 | A security verification method and access control system |
| US10681389B2 (en) | 2011-11-07 | 2020-06-09 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| CN117714712A (en) * | 2024-02-01 | 2024-03-15 | 浙江华创视讯科技有限公司 | Data steganography method, equipment and storage medium for video conference |
-
2004
- 2004-03-31 CN CN200410031923.XA patent/CN1677438A/en active Pending
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101742309B (en) * | 2008-11-11 | 2012-10-10 | 索尼株式会社 | Image decoding apparatus and image decoding method |
| CN102742274A (en) * | 2010-02-05 | 2012-10-17 | 索尼公司 | Image processing device and method |
| CN101840564A (en) * | 2010-05-07 | 2010-09-22 | 南京大学 | Method for hiding mass information by using remote sensing image |
| US11109072B2 (en) | 2011-11-07 | 2021-08-31 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| CN107347154A (en) * | 2011-11-07 | 2017-11-14 | 杜比国际公司 | For coding and decoding the method, coding and decoding equipment and corresponding computer program of image |
| US10681389B2 (en) | 2011-11-07 | 2020-06-09 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| US10701386B2 (en) | 2011-11-07 | 2020-06-30 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| US11277630B2 (en) | 2011-11-07 | 2022-03-15 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| US11889098B2 (en) | 2011-11-07 | 2024-01-30 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| US11943485B2 (en) | 2011-11-07 | 2024-03-26 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| US12519985B2 (en) | 2011-11-07 | 2026-01-06 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| US12542922B2 (en) | 2011-11-07 | 2026-02-03 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
| CN102982073A (en) * | 2012-10-29 | 2013-03-20 | 北京奇虎科技有限公司 | Bundle method and device for file to host file |
| CN110992561A (en) * | 2019-11-25 | 2020-04-10 | 深圳市菲格特智能科技有限公司 | A security verification method and access control system |
| CN117714712A (en) * | 2024-02-01 | 2024-03-15 | 浙江华创视讯科技有限公司 | Data steganography method, equipment and storage medium for video conference |
| CN117714712B (en) * | 2024-02-01 | 2024-05-07 | 浙江华创视讯科技有限公司 | Data steganography method, equipment and storage medium for video conference |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Li et al. | A steganographic method based upon JPEG and particle swarm optimization algorithm | |
| AU2005338930B2 (en) | Watermarking encoded content | |
| Rabie et al. | Enhanced high capacity image steganography using discrete wavelet transform and the Laplacian pyramid | |
| JP2002325170A (en) | Image processing apparatus and method, program code, and storage medium | |
| Chen et al. | A simple and efficient watermark technique based on JPEG2000 codec | |
| CN1290054C (en) | Method and apparatus for original information water mark inlaying, water-mark information conreying and reconstructuring water-mark | |
| CN1677438A (en) | Method and device for hiding data in data code stream | |
| Qadir et al. | Estimating JPEG2000 compression for image forensics using Benford's Law | |
| Jiang et al. | New blind image watermarking in DCT domain | |
| Khalifa et al. | A robust non-blind algorithm for watermarking color images using multi-resolution wavelet decomposition | |
| CN104036449A (en) | JPEG (Joint Photographic Experts Group) 2000 integrated telescopic image watermarking method | |
| Meng et al. | Copyright protection for digital image based on joint DWT-DCT transformation | |
| Deljavan Amiri et al. | HVS-based scalable image watermarking: A novel approach to image copyright protection against scalable compression | |
| Quan et al. | Perceptual criterion based fragile audio watermarking using adaptive wavelet packets | |
| CN1148961C (en) | Method for embedding digital watermark | |
| CN1878308A (en) | Orthogonal transformation method for image and video compression | |
| Phadikar et al. | Quality access control of a compressed gray scale image | |
| Shahid et al. | A Non-Blind Watermarking Scheme for Gray Scale Images in Discrete Wavelet Transform Domain using Two Subbands | |
| Hsieh et al. | Wavelet-based color image watermarking using adaptive entropy casting | |
| Kapadia et al. | Secured reversible matrix embedding based on dual image using integer wavelet and Arnold transform | |
| SEO et al. | A digital watermarking algorithm using correlation of the tree structure of DWT coefficients | |
| Lande et al. | Robust image adaptive watermarking using fuzzy logic an FPGA approach | |
| TWI335522B (en) | Method for embedding watermark | |
| Sun et al. | DWT domain information hiding approach using detail sub-band feature adjustment | |
| INOUE et al. | Watermarking using wavelet transform and genetic algorithm for realizing high tolerance to image compression |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |



