CN111711822A - Video steganography method, system and device based on macro block complexity - Google Patents
Video steganography method, system and device based on macro block complexity Download PDFInfo
- Publication number
- CN111711822A CN111711822A CN202010576008.8A CN202010576008A CN111711822A CN 111711822 A CN111711822 A CN 111711822A CN 202010576008 A CN202010576008 A CN 202010576008A CN 111711822 A CN111711822 A CN 111711822A
- Authority
- CN
- China
- Prior art keywords
- complexity
- steganography
- video
- block
- steganographic
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
Abstract
The invention discloses a video steganography method, a system and a device based on macro block complexity, wherein the method specifically comprises the steps of normally compressing a video, calculating the complexity of a reconstruction block and determining an embedding threshold value of a steganography carrier according to the length of embedded secret information counted; performing steganography on the motion vector of the macro block according to the embedding threshold, embedding secret information, and reconstructing the macro block according to the steganographic motion vector to obtain a steganographic frame; circularly traversing the reconstruction block of the steganographic frame, calculating the complexity of the reconstruction block of the steganographic frame, comparing the complexity with an embedding threshold, and if the complexity is smaller than the embedding threshold, extracting the secret information from the least significant bits of the horizontal component and the vertical component of the motion vector of the steganographic macro block; the sender repeats steganography to obtain a steganography video; the receiving end extracts the secret information by repeatedly extracting the received steganographic video, the method can obviously keep the local optimality of the motion vector, and indicates that the local optimality of the smooth macro block can be more easily kept by modifying the motion vector through analysis.
Description
Technical Field
The invention belongs to the technical field of image information hiding, and particularly relates to a video steganography method, a system and a device based on macro block complexity.
Background
The video steganography algorithm based on the motion vector is widely researched, the idea of using the motion vector as a steganography carrier is proposed by Kutter et al, and the video watermarking method is realized by directly modifying the motion vector. In 2006 Xu et al embedded information by embedding information in the least significant bits of the motion vector components with larger magnitudes. Aly it was found by research that the selection strategy based on motion vector magnitude does not guarantee less distortion, so a selection strategy directly related to macroblock prediction error was devised, and the motion vector of the macroblock with higher prediction error is selected and information embedding is performed in the least significant bit. Later, Cao et al used wet paper encoding to perturb the motion estimation process, increasing the security of the algorithm. Further, in 2015 research, it is found that the motion vector modified at the encoder end still may have local optimality at a decoder, and on the basis, the motion vector is modified by introducing STC (motion-Trellis Codes) and wet paper coding, and is not absolutely locally optimal. In order to ensure the local optimality of a motion vector, Zhang et al proposed a local optimum preserving algorithm in 2015, and used a candidate motion vector which satisfies the local optimality and has a parity opposite to that of the optimal motion vector as a motion vector after steganography.
The chinese patent CN 105704489 a measures the complexity of the macro block, but it cannot completely describe the difference between the adjacent pixels of the reconstructed block, and in addition, the selection manner of the threshold has certain defects, which may result in incomplete embedding of the secret information.
In the existing steganography algorithm based on the motion vector, the modification of the motion vector can cause that a reconstructed block does not meet the local optimality at a decoding end, so that the modified motion vector is detected by a steganography analysis means based on the local optimality hiding, the existence of hidden communication facts is exposed, and the safety of the algorithm is greatly reduced, so that how to select a proper motion vector for information embedding and ensure that the reconstructed block can still better keep the local optimality of the motion vector at the decoding end plays a crucial role in the safety of the steganography algorithm.
Disclosure of Invention
In order to solve the problems in the prior art, the invention provides a video steganography method based on macroblock complexity, which is characterized in that a motion vector of a steganography video macroblock still keeps local optimality at a decoding end by selecting a proper motion vector as a steganography carrier.
In order to achieve the purpose, the invention adopts the technical scheme that the video steganography method based on the complexity of the macro block comprises a steganography process and an extraction process;
s1, firstly, normally compressing the video, calculating the complexity of the reconstruction block, counting, and determining the embedding threshold gamma of the steganographic carrier according to the length of the embedded secret information;
s2, according to the embedding threshold value gamma obtained in S1, the motion vector of the macro block is subjected to steganography, secret information is embedded, then the macro block is reconstructed according to the steganography motion vector, and a steganography frame is obtained
S3, cycling through the steganographic frame obtained in S2And calculating the steganographic frame according to the macroblock complexity formulaThe complexity of the reconstructed block of (2) is then compared with an embedding threshold γ, and if less than the embedding threshold γ, the secret information may be extracted S2 from the least significant bits of the horizontal and vertical components of the motion vector of the steganographic macroblock, and if greater than or equal to the embedding threshold γ, the current macroblock is skipped;
s4, the sender repeats S2 until all the information to be embedded is embedded, and a steganographic video is obtained; the receiving end repeats S3 on the received steganographic video to extract the secret information.
In S1, the embedding threshold γ is dynamically determined according to the embedded secret message length K: calculating the complexity of a reconstruction block by normal compression for the first time and counting the frequency n of occurrence of the complexityi,The number of macroblocks with a complexity of 0- γ'; introducing a redundancy parameter lambda, embedding 1-bit information into two components of a motion vector of a reconstruction block, embedding information K bits to be embedded, and defining an embedding threshold gamma as the minimum complexity meeting the embedding requirement:
in S2, selecting low complexity macro block as steganographic carrier, for the macro block with size m × nLet m ≧ n and m, n ∈ {4k | k ═ 1,2,4}, the macroblockContinuing to divide into N-m/N image blocks of size N × N, the normalized complexity formula for the macroblock is defined as:
wherein HiRepresenting a pixel sequence obtained by pixel scanning an ith n × n image block by using a Hilbert space-filling curve of an n × n size matrix, wherein the difference value between two adjacent pixels is less than or equal to 255,representing the sum of the differences of the neighboring pixels of the image block, has a maximum value of (n × n-1) × 255.
The process of S2 is specifically as follows:
s21 loop through the current frameEach macro block B ofm×nCalculating a reconstruction block by performing normal motion estimation and compensationCalculating the complexity of the macro block through a macro block complexity formula;
s22, comparing the complexity of S21 with the embedding threshold gamma obtained in S1, if the complexity is lower than the embedding threshold gamma, respectively performing steganography on two components of the motion vector of the block, and then re-compensating the current macro block according to the steganography motion vector to obtain a steganography reconstruction blockJudging the reconstructed block after steganographyIf the complexity is still lower than the embedding threshold value, the 2-bit secret information is successfully embedded, and the reconstructed block after steganography is carried out whether the embedding is successful or notWriting steganographic framesIf the complexity is not lower than the embedding threshold, backing off 2 bits of secret information;
s23, repeating S21 and S22 until all macroblock traversals are complete.
When the video is coded and compressed, a video frame is divided into macro blocks with a specific size, namely a current block;
during interframe predictive coding, the current block carries out motion estimation in a reference frame, a macro block with the same size as the current block with the minimum distortion cost is selected as a reference block through a rate distortion function, and a motion vector is calculated according to the position relation of the current block and the reference block;
after a reference block is obtained through motion estimation, a current block and the reference block are subtracted to obtain a residual block, and the residual block is subjected to DCT (discrete cosine transformation), quantization, inverse quantization and inverse DCT (discrete cosine transformation) to obtain a quantized residual; and adding the quantized residual error and the reference block to obtain the reconstructed block of the current block.
When the macro block is subjected to steganography, a random LSB matching steganography method is adopted, and a steganography carrier formed by motion vectors is set as C, Ck∈ C is the component value of the motion vector of the information to be embedded, phi is the information to be embeddedk∈ phi is required to be embedded in ckThe secret information bits of (a) are,is a random sequence of 0,1, L (c)k) For the LSB bit function, carry the motion vector components denselyDetermined according to the following formula:
a video steganography system comprises a video compression and statistics module, a video steganography module and a video extraction module, wherein the video compression and statistics module is used for normally compressing a video, calculating the complexity of a reconstruction block and performing statistics, determining an embedding threshold of a steganography carrier according to the length of embedded secret information, and the video steganography module is used for performing steganography on a motion vector of a macro block, embedding secret information and reconstructing the macro block according to the steganography motion vector to obtain a steganography frame; the video extraction module is used for circularly traversing the reconstruction blocks of the steganographic frame obtained by the video steganographic module, calculating the complexity of the reconstruction blocks of the steganographic frame according to a macro block complexity formula, then comparing the complexity with the embedding threshold obtained by the video compression and statistics module, if the complexity is smaller than the embedding threshold, extracting the secret information in the steganographic frame from the least significant bits of the horizontal component and the vertical component of the motion vector of the steganographic macro block, and if the complexity is larger than or equal to the embedding threshold, skipping the current macro block.
A video steganography device comprises a processor, a memory and a communication module, wherein the memory is connected with the processor through an I/O interface, an output interface of the processor is connected with an input interface of the communication module, the memory is used for storing video information and a computer program, the computer program can execute the video steganography method based on macro block complexity when the computer program runs in the processor, and the communication module is used for transmitting the video information.
Compared with the prior art, the invention has at least the following beneficial effects:
the steganography algorithm based on the complexity of the macro block can obviously keep the local optimality of the motion vector, and indicates that the motion vector modification of the smooth macro block is easier to keep the local optimality through analysis; by verification, the method disclosed by the invention has obvious advantages in visual quality, bit rate control and anti-steganalysis; compared with a video with lower complexity, the method performs steganography on the video with higher complexity, and the performance is reduced, and in an actual steganography algorithm, in order to avoid distortion and reduce the risk of detection, the embedding rate is lower, so that the method has ideal practicability.
Furthermore, the invention indicates that a smooth macro block is selected as a steganographic carrier to effectively keep the local optimality of the motion vector by formally analyzing the influence of the steganographic algorithm based on the motion vector on the video, and is beneficial to controlling the bit rate increase of the steganographic algorithm, then a Hilbert curve is adopted to define the complexity of the macro block, a random LSB matching method is used for modifying the motion vector with the complexity of the macro block being less than an embedding threshold value, and the statistical property of the motion vector is kept as much as possible.
Drawings
Fig. 1 is a flow chart of video inter-prediction encoding.
Fig. 2 is a Hilbert space-filling curve.
Fig. 3 is a steganographic before and after image contrast.
FIG. 4 is a plot of the AoSO acceptance tester at 500Kbps compression.
FIG. 5 is a plot of the AoSO acceptance tester at 1000Kbps compression.
Detailed Description
The present invention will be described in detail below with reference to the accompanying drawings.
As shown in fig. 1, a flow chart for interframe compression of a video is shown, the video is divided into macro blocks with the same size, then each macro block is traversed, an encoder performs best matching search on a current block in a reference frame, obtains a motion vector according to the relative relationship between the position of the current block and the position of the best matching block, subtracts corresponding pixels of the current block and the best matching block to obtain a residual block, writes the residual block into a compressed video stream together with reference frame information and the motion vector after DCT change and quantization, and performs inverse quantization and inverse DCT change for subsequent frame reference, and performs fast forward line reconstruction with the best matching to obtain a reconstructed block. The coding compression process of a macro block is completed through the steps. The invention normally compresses the video for the first time, determines the embedding threshold value according to the embedding information length, then compresses for the second time, carries out random LSB matching on the motion vector of the macro block to embed information if the complexity of the reconstruction block of the macro block is lower than the embedding threshold value, and successfully embeds the secret information into the motion vector of the current block if the reconstruction cross-complexity obtained after reconstructing the current macro block according to the motion vector after steganography is still lower than the threshold value; otherwise, the embedded information is backed off by 2 bits.
The video steganography method based on the macro block complexity comprises the following steps:
s1, firstly, normally compressing the video, calculating the complexity of the reconstruction block, counting, and determining the embedding threshold gamma of the steganographic carrier according to the length of the embedded secret information; the embedding threshold γ is dynamically determined according to the embedded secret message length K: calculating the complexity of a reconstruction block by normal compression for the first time and counting the frequency n of occurrence of the complexityi,The number of macroblocks with a complexity of 0- γ'; introducing a redundancy parameter lambda, embedding 1-bit information into two components of a motion vector of a reconstruction block, embedding information K bits to be embedded, and defining an embedding threshold gamma as the minimum complexity meeting the embedding requirement:
s2, according to the embedding threshold gamma obtained in S1, the motion vector of the macro block is subjected to steganography, then the secret information is embedded, then the macro block is reconstructed according to the steganographic motion vector to obtain a steganographic frame, the macro block with low complexity is selected as a steganographic carrier, and for the macro block with the size of m × nLet m ≧ n and m, n ∈ {4k | k ═ 1,2,4}, the macroblockContinuing to divide into N-m/N image blocks of size N × N, the normalized complexity formula for the macroblock is defined as:
wherein HiRepresenting a pixel sequence obtained by pixel scanning an ith n × n image block by using a Hilbert space-filling curve of an n × n size matrix, wherein the difference value between two adjacent pixels is less than or equal to 255,representing the sum of the differences of adjacent pixels of the image block, with a maximum value of (n × n-1) × 255 5;
s21 loop through the current frameEach macro block B ofm×nPerforming normal exerciseEstimation and compensation calculation of reconstructed blockCalculating the complexity of the macro block through a macro block complexity formula;
s22, comparing the complexity of S21 with the embedding threshold gamma obtained in S1, if the complexity is lower than the embedding threshold gamma, respectively performing steganography on two components of the motion vector of the block, and then re-compensating the current macro block according to the steganography motion vector to obtain a steganography reconstruction blockJudging the reconstructed block after steganographyIf the complexity is still lower than the embedding threshold value, the 2-bit secret information is successfully embedded, and the reconstructed block after steganography is carried out whether the embedding is successful or notWriting steganographic framesIf the complexity is not lower than the embedding threshold, backing off 2 bits of secret information;
s3, cycling through the steganographic frame obtained in S2And calculating the steganographic frame according to the macroblock complexity formulaThen comparing with the embedding threshold gamma, if less than the embedding threshold gamma, extracting S2 the secret information from the least significant bits of the horizontal component and the vertical component of the motion vector of the steganographic macro block, if greater than or equal to the embedding threshold gamma, skipping the current macro block;
s4, the sender repeats S2 until all the information to be embedded is embedded, and a steganographic video is obtained; the receiving end repeats S3 on the received steganographic video to extract the secret information.
When the macro block is subjected to steganography, a random LSB matching steganography method is adopted, and a steganography carrier formed by motion vectors is set as C, Ck∈ C is the component value of the motion vector of the information to be embedded, phi is the information to be embeddedk∈ phi is required to be embedded in ckThe secret information bits of (a) are,is a random sequence of 0,1, L (c)k) For the LSB bit function, carry the motion vector components denselyDetermined according to the following formula:
specifically, the complexity measure of the reconstructed block is to scan pixels of the reconstructed block by using a Hilbert curve shown in fig. 2 to obtain a pixel vector of the reconstructed block, and a normalized value defining a sum of previous and subsequent pixel differences is expressed as macroblock complexity. The pixel vector obtained according to the Hilbert curve contains the relevant position relation in 4 directions, and the degree of difference and similarity among pixels can be well measured.
Video coding standards are H.26x and MPEGx, coding frames of the video coding standards are similar and comprise intra-frame prediction, inter-frame prediction, transformation and quantization and entropy coding, the video coding standard is carried out by taking motion vectors as steganographic carriers, and in a video stream, a predicted frame eliminates the time redundancy of a video by storing the motion vectors and residual errors of macro blocks, as shown in figure 1. Related concepts and notations are given below.
When the current block video is coded and compressed, the video frame is divided into macro blocks with specific size, which is marked as Bm×n={bi,j|0≤i<m,0≤j<n, which is a matrix of m × n pixels, m and n representing the width and height of the pixels of the current block, respectively.
When the reference block is inter-prediction encoded, the current block Bm×nIn the reference framePerforming motion estimation, selecting the macro block with the same size as the current block with the minimum distortion cost as a reference block through a rate distortion function, and recording the reference block as And calculating a motion vector (h, v) according to the positional relationship between the current block and the reference block.
After the residual block obtains the reference block through motion estimation, the current block and the reference block are subtracted to obtain the residual block which is recorded as
The quantized residual error block is subjected to DCT, quantization, inverse quantization and inverse DCT to obtain quantized residual error, and the quantized residual error is recorded as
Adding the quantized residual of the reconstructed block to the reference block to obtain the reconstructed block of the current block, and recording the reconstructed block asBecause quantization and DCT transformation are lossy compression processes, the obtained reconstructed block has distortion to some extent with the current block, which is called video compression distortion, the magnitude of the distortion is directly related to quantization coefficients and motion estimation, and the reconstruction process of the reconstructed block can be described as the following formula:
the invention also provides a video steganography system which comprises a video compression and statistics module, a video steganography module and a video extraction module, wherein the video compression and statistics module is used for normally compressing a video, calculating the complexity of a reconstruction block and performing statistics, determining an embedding threshold value of a steganography carrier according to the length of embedded secret information, and the video steganography module is used for performing steganography on a motion vector of a macro block, embedding secret information and reconstructing the macro block according to the steganography motion vector to obtain a steganography frame; the video extraction module is used for circularly traversing the reconstruction blocks of the steganographic frame obtained by the video steganographic module, calculating the complexity of the reconstruction blocks of the steganographic frame according to a macro block complexity formula, then comparing the complexity with the embedding threshold obtained by the video compression and statistics module, if the complexity is smaller than the embedding threshold, extracting the secret information in the steganographic frame from the least significant bits of the horizontal component and the vertical component of the motion vector of the steganographic macro block, and if the complexity is larger than or equal to the embedding threshold gamma, skipping the current macro block.
The invention provides a video steganography device which comprises a processor, a memory and a communication module, wherein the memory is connected with the processor through an I/O interface, an output interface of the processor is connected with an input interface of the communication module, the memory is used for storing video information and a computer program, the video steganography method based on macro block complexity can be executed when the computer and the computer program run in the processor, and the communication module is used for transmitting the video information.
The invention is based on the Xvid-1.3.2 coding and decoding MPEG-4 video to carry out experimental verification and comparison, the sizes of the macro blocks of the predicted frames are uniformly set to 16 x 16, the motion vectors are embedded with information, and 34 sections of standard YUV CIF format video sequences are used as experimental samples. The first frame of all video sequences is an I-frame and the rest are P-frames, the default coding bit rate is 1000Kbps, motion estimation is performed with 1/2-pixel accuracy, and experimental comparisons are performed with 4 motion vector steganography-based algorithms, including Xu, Aly, Cao, and AMC. Steganalysis experiments were performed using the local optimality feature AoSO and the relevance feature Wang. The embedding rate ER is expressed using CMVR (corrupted MV ratio).
The macro block with low complexity is used as a steganography carrier, which is beneficial to keeping higher visual quality, videos with different complexities are selected for invisibility testing, the four testing video sequences (highway, bridge, walk and husky) are subjected to steganography at the embedding rate of 0.5, the image contrast before and after steganography of the 90 th frame of the four video sequences is given in figure 3, the image after steganography is difficult to distinguish from the original image, for the high complexity video husky, the watermark at the lower right corner is slightly changed, and analysis indicates that the local optimality of the motion vector can be better kept in theory by steganography on the smooth macro block; in the overall view, the steganography algorithm meets the requirement of subjective invisibility;
in addition to subjective evaluation, table 1 shows the evaluation results of objective evaluation indexes peak Signal-to-noise ratio psnr (peak Signal to noise ratio) and structural similarity ssim (structural similarity) for steganographic video, and defines the following two expressions:
where MAX is the maximum value of the image 255, MSE (x, y) is the mean square error of images x and y, and the image size is H × W, thenμx、σxAnd muy、σyMean and variance, σ, of the image, respectivelyxyIs covariance, c1And c2Is a constant.
The average complexity of the test sequences in table 1 is 0.01438, 0.01458, 0.02633, 0.08476 in that order, and CMVR is 0.5. Both the comparison algorithm and the method of the invention have different degrees of influence on both the PSNR and the SSIM, and both are reduced. The influence on sequences with different complexity is obviously different, the influence of Xu and Aly is most obvious, the average PSNR is respectively reduced by 0.31-0.95 dB and 0.44-1.12 dB, and the average SSIM is reduced by 0.002-0.024 and 0.003-0.026. The method is superior to a comparison algorithm in PSNR and SSIM indexes for videos with low complexity, and the change of SSIM is only 0-0.002, and the change of PSNR is only 0.008-0.16 dB. In complex video, PSNR and SSIM drop only by 0.33dB and 0.011, much better than Xu and Aly. In general, no matter the PSNR index or the SSIM index, the method can obtain good performance, and hardly causes distortion to the video visual quality.
TABLE 1
Changing the motion vector indirectly changes the energy of the residual block, which results in more bits being needed to represent the residual block, video steganography based on the motion vector usually changes the bit rate of compressed video, and in order to verify that selecting a smooth macroblock for motion vector steganography brings smaller bit growth, the bit rate change of steganography video is evaluated, and table 2 gives the bit rate change conditions of different algorithms under the condition that the embedding rate CMVR is 0.2. For smooth video sequences, the bit growth of the method is controlled to be 0.18-0.47%, and compared with Xu and Aly, the bit growth is remarkably improved. Compared with the algorithm of Cao et al, the method is also improved. It can be seen that when Cao steganographically writes to bridge, the bit growth is 3.94%; the method and AMC of the invention have the same advantages in bit rate control, and for the video sequence husky with complex texture, the bit rate is reduced at low embedding rate, because of the through typeThe complexity of the macro block is measured more accurately, so that the phenomenon of bit rate reduction occurs, and in general, the method provided by the invention also has certain advantages in bit rate control.
TABLE 2
The method carries out a large amount of steganography analysis verification, video is subjected to steganography at different bit rates BR (500 Kbps, 1000 Kbps) and different embedding rates CMVR (0.1, 0.2), the video is classified after feature extraction is carried out by using two steganography analysis features, the extracted features comprise AoSO local optimality features and Wang correlation features, the extracted features are classified by using a LibSVM toolbox, each bit rate and embedding rate are trained independently by using Gaussian check, 17 segments of cover videos and corresponding stego video features are selected randomly for training, and the features of the rest 17 segments of cover videos and stego videos are used for testing. In order to enrich the training samples, all the features of the cover video and the features of the stego video are used for training classification.
As shown in fig. 4, Receiver operating characteristic curves (ROC curves) of the AoSO feature and the Wang feature. The abscissa and ordinate represent the False Positive Rate (False Positive Rate) and the True Positive Rate (True Positive Rate). The larger the deviation degree of the color curve from the gray curve represents that the video after steganography is easier to detect, and the weaker the anti-steganography analysis capability of the steganography algorithm is. The closer to the gray curve indicates the lower the detection accuracy of the steganographic algorithm by the steganalysis feature. From the ROC curve, it can be seen that for the same steganalysis characteristic at a fixed bit rate, the higher the embedding rate, the better the steganalysis effect. As can be seen, for the partial optimality characteristic AoSO of steganalysis, the method has the best steganalysis resistance, and under the conditions that the bit rate is 500Kbps and the CMVR is 0.1, the ROC curve is close to the gray curve, so that the method has a good steganalysis resistance effect. For the correlation feature Wang, the method of the present invention is comparable to the method described by Cao, and is slightly inferior to the AMC steganography algorithm. Fig. 5 is a plot of AoSO acceptance testers at 1000Kbps compression, and the methods herein still have better performance against steganalysis than the comparative methods.
To quantify the anti-steganalysis ability of the delineation algorithm, the area under the ROC Curve (area under the dark of ROC, AUC ROC) is given in Table 3. The larger the AUC value, the higher the accuracy of representing steganalysis; as can be seen from the table, the capability of resisting the AoSO steganography characteristic analysis of the method is optimal compared with that of a contrast algorithm. Cao's ability to resist Wang steganalysis features is optimal, while the method described in the present invention is a little inferior to the Cao algorithm, and is on par with AMC. In summary, the method has better anti-steganalysis capacity no matter the local optimality characteristic or the correlation characteristic.
TABLE 3
In order to keep the local optimality of the motion vector, the method indicates that the local optimality of the smooth macro block can be kept more easily by modifying the motion vector through analysis, defines the complexity of the macro block by introducing a Hilbert curve, indicates that the smooth macro block is selected as a steganographic carrier to effectively keep the local optimality of the motion vector through formalized analysis on the influence of a steganographic algorithm based on the motion vector on a video, is favorable for controlling the bit rate increase of the steganographic algorithm, performs random LSB matching modification on the motion vector meeting a complexity threshold, keeps the statistical characteristic of the motion vector as much as possible, is simple in embedded extraction algorithm, and has obvious advantages in bit rate control and visual quality through experimental comparison; video coding and a steganography algorithm based on motion vectors, and analysis indicates that the local optimality of the motion vectors can be better kept in the theory of performing steganography on smooth macro blocks; in the overall view, the steganography algorithm meets the requirement of subjective invisibility; compared with the video with lower complexity, the method provided by the invention can be used for steganography of the video with higher complexity, and the performance is reduced. In the actual steganography algorithm, in order to avoid distortion and reduce the risk of detection, the embedding rate is low, and from the viewpoint, the method has better practicability. In subsequent work, steganographic coding (WPC) and STC are introduced to further improve the safety and the anti-steganographic analysis capability of the algorithm, and meanwhile, a better strategy is researched to ensure the adjacent correlation of the motion vector.
Claims (8)
1. The video steganography method based on the macro block complexity is characterized by comprising a steganography process and an extraction process;
s1, firstly, normally compressing the video, calculating the complexity of the reconstruction block, counting, and determining the embedding threshold gamma of the steganographic carrier according to the length of the embedded secret information;
s2 insertion according to S1Entering a threshold value gamma, performing steganography on the motion vector of the macro block, embedding secret information, and then reconstructing the macro block according to the steganography motion vector to obtain a steganography frame
S3, cycling through the steganographic frame obtained in S2And calculating the steganographic frame according to the macroblock complexity formulaThen comparing with the embedding threshold gamma, if less than the embedding threshold gamma, extracting S2 the secret information from the least significant bits of the horizontal component and the vertical component of the motion vector of the steganographic macro block, if greater than or equal to the embedding threshold gamma, skipping the current macro block;
s4, the sender repeats S2 until all the information to be embedded is embedded, and a steganographic video is obtained; the receiving end repeats S3 on the received steganographic video to extract the secret information.
2. The macroblock complexity based video steganography method according to claim 1, wherein in S1, the embedding threshold γ is dynamically determined according to the embedded secret message length K: calculating the complexity of a reconstruction block by normal compression for the first time and counting the frequency n of occurrence of the complexityi,The number of macroblocks with a complexity of 0- γ'; introducing a redundancy parameter lambda, embedding 1-bit information into two components of a motion vector of a reconstruction block, embedding information K bits to be embedded, and defining an embedding threshold gamma as the minimum complexity meeting the embedding requirement:
3. the method of claim 1, wherein in S2, the low complexity macroblock is selected as the steganographic carrier, and for the macroblock with size m × n, the macroblockLet m ≧ n and m, n ∈ {4k | k ═ 1,2,4}, the macroblockContinuing to divide into N-m/N image blocks of size N × N, the normalized complexity formula for the macroblock is defined as:
wherein HiRepresenting a pixel sequence obtained by pixel scanning an ith n × n image block by using a Hilbert space-filling curve of an n × n size matrix, wherein the difference value between two adjacent pixels is less than or equal to 255,representing the sum of the differences of the neighboring pixels of the image block, has a maximum value of (n × n-1) × 255.
4. The macroblock complexity based video steganography method as claimed in claim 1, wherein the process of S2 is specifically as follows:
s21 loop through the current frameEach macro block B ofm×nCalculating a reconstruction block by performing normal motion estimation and compensationCalculating the complexity of the macro block through a macro block complexity formula;
s22, comparing the complexity of S21 with the embedding threshold gamma obtained in S1, if the complexity is lower than the embedding threshold gamma, respectively performing steganography on two components of the motion vector of the block, and then re-compensating the current macro block according to the steganography motion vector to obtain a steganography reconstruction blockJudging the reconstructed block after steganographyIf the complexity is still lower than the embedding threshold value, the 2-bit secret information is successfully embedded, and the reconstructed block after steganography is carried out whether the embedding is successful or notWriting steganographic framesIf the complexity is not lower than the embedding threshold, backing off 2 bits of secret information;
s23, repeating S21 and S22 until all macroblock traversals are complete.
5. The macroblock complexity based video steganography method as claimed in claim 1, wherein the video partitions the video frame into macroblocks of a specific size, i.e. the current block, when being encoded and compressed;
during interframe predictive coding, the current block carries out motion estimation in a reference frame, a macro block with the same size as the current block with the minimum distortion cost is selected as a reference block through a rate distortion function, and a motion vector is calculated according to the position relation of the current block and the reference block;
after a reference block is obtained through motion estimation, a current block and the reference block are subtracted to obtain a residual block, and the residual block is subjected to DCT (discrete cosine transformation), quantization, inverse quantization and inverse DCT (discrete cosine transformation) to obtain a quantized residual; and adding the quantized residual error and the reference block to obtain the reconstructed block of the current block.
6. The video steganography method based on macroblock complexity as claimed in claim 1, wherein the random LSB matching steganography method is adopted when performing steganography on the macroblock, and the steganography carrier composed of motion vectors is set as C, Ck∈ C is the component value of the motion vector of the information to be embedded, phi is the information to be embeddedk∈ phi is required to be embedded in ckThe secret information bits of (a) are,is a random sequence of 0,1, L (c)k) For the LSB bit function, carry the motion vector components denselyDetermined according to the following formula:
7. a video steganography system is characterized by comprising a video compression and statistics module, a video steganography module and a video extraction module, wherein the video compression and statistics module is used for normally compressing a video, calculating the complexity of a reconstruction block and performing statistics, determining an embedding threshold of a steganography carrier according to the length of embedded secret information, and the video steganography module is used for performing steganography on a motion vector of a macro block, embedding the secret information, and reconstructing the macro block according to the steganography motion vector to obtain a steganography frame; the video extraction module is used for circularly traversing the reconstruction blocks of the steganographic frame obtained by the video steganographic module, calculating the complexity of the reconstruction blocks of the steganographic frame according to a macro block complexity formula, then comparing the complexity with the embedding threshold obtained by the video compression and statistics module, if the complexity is smaller than the embedding threshold, extracting the secret information in the steganographic frame from the least significant bits of the horizontal component and the vertical component of the motion vector of the steganographic macro block, and if the complexity is larger than or equal to the threshold gamma, skipping the current macro block.
8. A video steganography apparatus comprising a processor, a memory and a communication module, wherein the memory is connected to the processor via an I/O interface, an output interface of the processor is connected to an input interface of the communication module, the memory is configured to store video information and a computer program, the computer program is capable of executing the macroblock complexity based video steganography method of any one of claims 1-6 when the computer program runs in the processor, and the communication module is configured to transmit the video information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010576008.8A CN111711822B (en) | 2020-06-22 | 2020-06-22 | Video steganography method, system and device based on macro block complexity |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010576008.8A CN111711822B (en) | 2020-06-22 | 2020-06-22 | Video steganography method, system and device based on macro block complexity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711822A true CN111711822A (en) | 2020-09-25 |
CN111711822B CN111711822B (en) | 2022-04-01 |
Family
ID=72542339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010576008.8A Active CN111711822B (en) | 2020-06-22 | 2020-06-22 | Video steganography method, system and device based on macro block complexity |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711822B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726974A (en) * | 2021-07-27 | 2021-11-30 | 西安交通大学 | Reversible information hiding method, system, equipment and medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110142418A1 (en) * | 2008-08-20 | 2011-06-16 | Shan He | Blockiness and fidelity in watermarking |
CN103338376A (en) * | 2013-07-02 | 2013-10-02 | 中国科学技术大学 | Video steganography method based on motion vector |
CN105704489A (en) * | 2016-01-30 | 2016-06-22 | 武汉大学 | Adaptive video motion vector steganographic method based on macro-block complexity |
CN106713917A (en) * | 2016-12-05 | 2017-05-24 | 南京航空航天大学 | Video steganography algorithm based on motion vector difference |
CN108366259A (en) * | 2018-01-15 | 2018-08-03 | 华南理工大学 | A kind of reversible steganography method of three coefficient of H.264/AVC video of high-fidelity |
CN109523453A (en) * | 2018-11-02 | 2019-03-26 | 中山大学 | Reversible information based on diamond shape prediction and image pixel sequence hides and extracting method |
CN111263157A (en) * | 2020-02-27 | 2020-06-09 | 武汉大学 | Video multi-domain steganalysis method based on motion vector consistency |
-
2020
- 2020-06-22 CN CN202010576008.8A patent/CN111711822B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110142418A1 (en) * | 2008-08-20 | 2011-06-16 | Shan He | Blockiness and fidelity in watermarking |
CN103338376A (en) * | 2013-07-02 | 2013-10-02 | 中国科学技术大学 | Video steganography method based on motion vector |
CN105704489A (en) * | 2016-01-30 | 2016-06-22 | 武汉大学 | Adaptive video motion vector steganographic method based on macro-block complexity |
CN106713917A (en) * | 2016-12-05 | 2017-05-24 | 南京航空航天大学 | Video steganography algorithm based on motion vector difference |
CN108366259A (en) * | 2018-01-15 | 2018-08-03 | 华南理工大学 | A kind of reversible steganography method of three coefficient of H.264/AVC video of high-fidelity |
CN109523453A (en) * | 2018-11-02 | 2019-03-26 | 中山大学 | Reversible information based on diamond shape prediction and image pixel sequence hides and extracting method |
CN111263157A (en) * | 2020-02-27 | 2020-06-09 | 武汉大学 | Video multi-domain steganalysis method based on motion vector consistency |
Non-Patent Citations (1)
Title |
---|
王丽娜,徐一波,翟黎明,任延珍: "基于宏块复杂度的自适应视频运动矢量隐写算法", 《计算机科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726974A (en) * | 2021-07-27 | 2021-11-30 | 西安交通大学 | Reversible information hiding method, system, equipment and medium |
CN113726974B (en) * | 2021-07-27 | 2022-05-20 | 西安交通大学 | Reversible information hiding method, system, equipment and medium |
Also Published As
Publication number | Publication date |
---|---|
CN111711822B (en) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9392300B2 (en) | Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same | |
CN103748876B (en) | Lossy compression method coded data method and apparatus and corresponding reconstruct data method and equipment | |
CN101911716A (en) | Method for assessing perceptual quality | |
CN108989802B (en) | HEVC video stream quality estimation method and system by utilizing inter-frame relation | |
US8750603B2 (en) | Method and device for image compression | |
CN104581176A (en) | H.264/AVC (advanced video coding) compressed domain robust video watermark embedding and extracting methods free from intra-frame error drift | |
CN109819260B (en) | Video steganography method and device based on multi-embedded domain fusion | |
CN108366295B (en) | Video classification feature extraction method, transcoding recompression detection method and storage medium | |
Amanipour et al. | Video-tampering detection and content reconstruction via self-embedding | |
CN111711822B (en) | Video steganography method, system and device based on macro block complexity | |
CN106331730B (en) | H.264 video same quantization factor double compression detection method | |
US20120207212A1 (en) | Visually masked metric for pixel block similarity | |
Yang et al. | Adaptive HEVC video steganography based on distortion compensation optimization | |
CN109427032B (en) | Scalable video watermark embedding and extracting method based on compressed domain | |
CN110728613B (en) | Non-additive distortion JPEG image steganography method based on blocking effect | |
CN108810550B (en) | Video watermark embedding and extracting method based on interlayer prediction | |
Sakazawa et al. | H. 264 native video watermarking method | |
CN117221534A (en) | Inter-frame prediction method, video encoding and decoding method, device and medium | |
CN113596575B (en) | Video fingerprint data generation method, comparison method and device | |
Han et al. | Video quality estimation for packet loss based on no-reference method | |
CN110062242B (en) | H.264 video steganography algorithm based on UED | |
Ye et al. | Motion vector-based video steganalysis using spatial-temporal correlation | |
KR100987581B1 (en) | Method of Partial Block Matching for Fast Motion Estimation | |
CN112672164A (en) | Video compression system and method, and video decompression system and method | |
CN111510672A (en) | Video tampering recovery processing method, system, storage medium and encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |