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 PDF

Info

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
Application number
CN202010576008.8A
Other languages
Chinese (zh)
Other versions
CN111711822B (en
Inventor
唐洪琼
张英男
杨晓元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Engineering University of Chinese Peoples Armed Police Force
Original Assignee
Engineering University of Chinese Peoples Armed Police Force
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Engineering University of Chinese Peoples Armed Police Force filed Critical Engineering University of Chinese Peoples Armed Police Force
Priority to CN202010576008.8A priority Critical patent/CN111711822B/en
Publication of CN111711822A publication Critical patent/CN111711822A/en
Application granted granted Critical
Publication of CN111711822B publication Critical patent/CN111711822B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion 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

Video steganography method, system and device based on macro block complexity
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
Figure BDA0002551370300000022
S3, cycling through the steganographic frame obtained in S2
Figure BDA0002551370300000023
And calculating the steganographic frame according to the macroblock complexity formula
Figure BDA0002551370300000024
The 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
Figure BDA0002551370300000021
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:
Figure BDA0002551370300000031
in S2, selecting low complexity macro block as steganographic carrier, for the macro block with size m × n
Figure BDA0002551370300000032
Let m ≧ n and m, n ∈ {4k | k ═ 1,2,4}, the macroblock
Figure BDA0002551370300000033
Continuing to divide into N-m/N image blocks of size N × N, the normalized complexity formula for the macroblock is defined as:
Figure BDA0002551370300000034
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,
Figure BDA0002551370300000035
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 frame
Figure BDA0002551370300000036
Each macro block B ofm×nCalculating a reconstruction block by performing normal motion estimation and compensation
Figure BDA0002551370300000037
Calculating 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 block
Figure BDA0002551370300000038
Judging the reconstructed block after steganography
Figure BDA0002551370300000039
If 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 not
Figure BDA00025513703000000310
Writing steganographic frames
Figure BDA00025513703000000311
If 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,
Figure BDA0002551370300000043
is a random sequence of 0,1, L (c)k) For the LSB bit function, carry the motion vector components densely
Figure BDA0002551370300000041
Determined according to the following formula:
Figure BDA0002551370300000042
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
Figure BDA0002551370300000061
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:
Figure BDA0002551370300000062
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 macroblock
Figure BDA0002551370300000064
Continuing to divide into N-m/N image blocks of size N × N, the normalized complexity formula for the macroblock is defined as:
Figure BDA0002551370300000065
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,
Figure BDA0002551370300000066
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 frame
Figure BDA0002551370300000067
Each macro block B ofm×nPerforming normal exerciseEstimation and compensation calculation of reconstructed block
Figure BDA0002551370300000068
Calculating 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 block
Figure BDA0002551370300000071
Judging the reconstructed block after steganography
Figure BDA0002551370300000072
If 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 not
Figure BDA0002551370300000073
Writing steganographic frames
Figure BDA0002551370300000074
If the complexity is not lower than the embedding threshold, backing off 2 bits of secret information;
s3, cycling through the steganographic frame obtained in S2
Figure BDA0002551370300000075
And calculating the steganographic frame according to the macroblock complexity formula
Figure BDA0002551370300000076
Then 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,
Figure BDA0002551370300000079
is a random sequence of 0,1, L (c)k) For the LSB bit function, carry the motion vector components densely
Figure BDA0002551370300000077
Determined according to the following formula:
Figure BDA0002551370300000078
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
Figure BDA0002551370300000081
Figure BDA0002551370300000082
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
Figure BDA0002551370300000083
Figure BDA0002551370300000084
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
Figure BDA0002551370300000085
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 as
Figure BDA0002551370300000086
Because 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:
Figure BDA0002551370300000087
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:
Figure BDA0002551370300000091
Figure BDA0002551370300000092
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
Figure BDA0002551370300000093
μ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
Figure BDA0002551370300000101
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 type
Figure BDA0002551370300000102
The 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
Figure BDA0002551370300000111
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
Figure BDA0002551370300000121
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
Figure FDA0002551370290000011
S3, cycling through the steganographic frame obtained in S2
Figure FDA0002551370290000012
And calculating the steganographic frame according to the macroblock complexity formula
Figure FDA0002551370290000013
Then 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
Figure FDA0002551370290000014
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:
Figure FDA0002551370290000015
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 macroblock
Figure FDA0002551370290000016
Let m ≧ n and m, n ∈ {4k | k ═ 1,2,4}, the macroblock
Figure FDA0002551370290000017
Continuing to divide into N-m/N image blocks of size N × N, the normalized complexity formula for the macroblock is defined as:
Figure FDA0002551370290000018
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,
Figure FDA0002551370290000019
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 frame
Figure FDA0002551370290000028
Each macro block B ofm×nCalculating a reconstruction block by performing normal motion estimation and compensation
Figure FDA0002551370290000021
Calculating 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 block
Figure FDA0002551370290000022
Judging the reconstructed block after steganography
Figure FDA0002551370290000023
If 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 not
Figure FDA0002551370290000024
Writing steganographic frames
Figure FDA0002551370290000025
If 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,
Figure FDA0002551370290000026
is a random sequence of 0,1, L (c)k) For the LSB bit function, carry the motion vector components densely
Figure FDA0002551370290000027
Determined according to the following formula:
Figure FDA0002551370290000031
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.
CN202010576008.8A 2020-06-22 2020-06-22 Video steganography method, system and device based on macro block complexity Active CN111711822B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王丽娜,徐一波,翟黎明,任延珍: "基于宏块复杂度的自适应视频运动矢量隐写算法", 《计算机科学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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