CN110149457B - Multi-objective optimization H.264 video steganography method with constraint conditions - Google Patents

Multi-objective optimization H.264 video steganography method with constraint conditions Download PDF

Info

Publication number
CN110149457B
CN110149457B CN201910381194.7A CN201910381194A CN110149457B CN 110149457 B CN110149457 B CN 110149457B CN 201910381194 A CN201910381194 A CN 201910381194A CN 110149457 B CN110149457 B CN 110149457B
Authority
CN
China
Prior art keywords
motion vector
motion
information
modification
component
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.)
Expired - Fee Related
Application number
CN201910381194.7A
Other languages
Chinese (zh)
Other versions
CN110149457A (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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201910381194.7A priority Critical patent/CN110149457B/en
Publication of CN110149457A publication Critical patent/CN110149457A/en
Application granted granted Critical
Publication of CN110149457B publication Critical patent/CN110149457B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4446Hiding of documents or document information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention relates to a multi-target optimization H.264 video steganography method with constraint conditions, which comprises the steps that a multi-target optimization cost function with constraint conditions comprises an expression of a time-space domain motion vector correlation weighing factor, an expression and a calculation mode of motion vector local optimal constraint conditions and an expression and a calculation mode of reconstruction frame error constraint conditions based on motion vector classification; the invention greatly improves the safety performance of the steganographic algorithm against different types of steganographic analysis algorithms, enlarges the application range of the algorithm, reduces the influence on the visual quality of the video, further improves the performance of the algorithm against the steganographic analysis algorithm based on the local optimal characteristic of the motion vector, and improves the safety.

Description

Multi-objective optimization H.264 video steganography method with constraint conditions
Technical Field
The invention relates to the field of information encryption, in particular to a multi-objective optimization H.264 video steganography method with constraint conditions.
Background
Multimedia information steganography is an information security technique that embeds secret information into multimedia files by making small modifications to some data in the multimedia files and hides the fact of information transmission. At present, a plurality of steganographic algorithms applied to images exist, and good effects are obtained. However, since the demand for hidden capacity does not increase and a steganography analysis method for behaviors is developed, an image steganography algorithm gradually fails to meet the changing demand, and research on new steganography carriers is more urgent. In this situation, video is increasingly the focus of the multimedia information steganography research due to its huge data volume. Some researchers have proposed video-based steganography methods, and carriers of these steganography methods contain various types of data in video, such as motion vectors, macroblock modes, quantized DCT (discrete cosine transform) coefficients, and the like. The invention relates to a multimedia information steganography technology taking a motion vector as a carrier. Similar to the creation of the present invention, the motion vector-based video steganography algorithm mainly includes the following steps:
(1) a prediction error based video information concealment algorithm proposed by Aly. The method modifies the motion vector on the macro block level of the video, and determines whether the corresponding motion vector needs to be modified by judging whether the prediction corresponding to the macro block exceeds a preset threshold value. If the prediction error exceeds a threshold, embedding of information is performed on the Least Significant Bits (LSBs) of the horizontal and vertical components of the motion vector. After information embedding, the prediction error corresponding to the modified motion vector needs to be calculated again, since the corresponding prediction error will change. The motion vector is not modified again, whether the prediction error is larger than a given threshold or not. However, if the prediction error corresponding to the modified motion vector is smaller than the predetermined threshold, the embedded information is considered to be failed (because the motion vector with the secret information cannot be correctly identified by the prediction error in decoding), and the embedded information is invalidated, and then it is necessary to find a proper motion vector in the subsequent encoding process to try embedding the secret information again. When extracting the secret information, only the prediction error corresponding to the motion vector needs to be judged whether exceeds the threshold value, if the prediction error exceeds the threshold value, the LSBs of the horizontal component and the vertical component of the motion vector are extracted, and finally the extracted information is combined to obtain the hidden secret information. More specific contents refer to article [ 1 ].
(2) The motion vector based video steganography method proposed by Yao. The method is steganography at a group of pictures (GOP) level and is applied to the video coding process. The steganographic algorithm adopts terrary STC (ternary syndrome code) to code the secret information, and limits that only one motion vector can be modified in the same motion vector at most. Thus, if a motion vector is modified, there are at most four possible cases. For the motion vector on the (i, j) block in the t-th frame, it is noted as mvi,j,t=(mvxi,j,t,mvyi,j,t) Wherein mvxi,j,tAnd mvyi,j,tHorizontal and vertical components of the motion vector, respectively, thenAll possible modifications of motion vectors are (mvx)i,j,t-1,mvyi,j,t),(mvxi,j,t+1,mvyi,j,t),(mvxi,j,t,mvyi,j,t-1) and (mvx)i,j,t,mvyi,j,t+1) the four. These four corresponding modifications are denoted as motion vectors mvi,j,tOf candidate motion vectors, i.e. CMVi,j,t. During actual steganography, a section of video is coded, a motion vector of each macro block is obtained in the coding process, and a motion vector field (MV field) MV is formed by the motion vectors according to spatial and temporal positionst(where t is the position of the current coding video frame in time sequence), and obtaining the prediction error corresponding to each candidate motion vector to form a prediction error matrix EtFor the calculation of the modification cost. After encoding a P frame, using MVtAnd EtCalculating the modification cost of each motion vector, wherein the calculation formula of the modification cost is
Figure BDA0002053423280000021
Wherein the SDCi,j,tAnd PECi,j,tAre defined as follows:
Figure BDA0002053423280000022
PECi,j,t=|ei,j,t(mvi,j,t)-ei,j,t(mvi,j,t′)|。
the variables in the above two formulas are both motion vector fields MVtAnd a prediction error matrix EtAnd (4) calculating. After encoding is completed on a group of images and the modification cost of each operation vector in the group of images is calculated according to the above steps, modification of the motion vector is started to hide information. Before modification, the horizontal component and the vertical component of the motion vector obtained in the encoding process are separated in sequence to obtain a horizontal component vector and a vertical component vector, respectively, and then the calculation is performed according to the aboveThe resulting error is modified for the horizontal component vector using terrestrial STC. And then, correcting the modification cost of the vertical component vector according to the modification condition of the horizontal component vector, wherein if the horizontal component of one motion vector is modified, the corresponding vertical component cannot be modified any more, and the modification cost of the vertical component is modified to be infinite. After the modification cost of the vertical component is modified, the vertical component is modified by using terrestrial STC, then the modified motion vector field is reconstructed, and secondary coding is performed by using the modified motion vector field to obtain a compressed video file carrying secret information. When extracting the secret information, only the compressed video needs to be decoded, then the motion vector is extracted from the compressed video and divided into a horizontal component vector and a vertical component vector, then the secret information is extracted from the horizontal component vector and the vertical component vector respectively by using a decoding method of terrestrial STC, and finally the extracted secret information is combined in sequence. For more detailed content reference is made to article [ 2 ].
(3) MVMPLO (Motion Vector Modification with predicted Local optimization, Motion Vector Modification method with Local optimization) proposed by Zhang. The secret information carrier used by the method is still a motion vector, and is a video steganography method for embedding information on a frame level. The method is also performed during the encoding process. When the encoder encodes, if a P frame or a B frame is encoded, the motion vector in the frame is collected. After obtaining the motion vector, a predetermined parity check function p (mv) is passed through to LSB (mv)x+mvy) The motion vector is converted into a binary sequence containing only 0 and 1. Then, the motion search is carried out in a defined range, and a proper motion vector is selected as a final modified motion vector, wherein the most proper motion vector meets three conditions: 1. the parity value is different from the original motion vector; 2. the rate distortion value corresponding to the motion vector is closest to the rate distortion value corresponding to the original motion vector; 3. the motion vector meets the local optimum criterion under the SAD (sum of absolute difference) criterion. Then the most suitable motion vector is corresponded toAnd the absolute value of the difference value between the rate distortion value and the rate distortion value corresponding to the original motion vector is used as the modification cost of the motion vector, and the STC is used for information embedding. After embedding the information, the modified motion vector is searched, and the modified motion vector is replaced by the corresponding most suitable motion vector, and finally the current frame is re-encoded to obtain a new encoded frame. Repeating the steps until the coding of one video is completed, and finishing the embedding process of the information. When information is extracted, only after a P frame or a B frame is decoded, the motion vector is extracted and processed by a parity check function to obtain a binary sequence containing the secret, and then decoding is performed by using STC to obtain the secret information. For details, reference is made to article [ 3 ].
The disadvantages of the prior art described above are as follows:
1) the first information hiding method proposed by Aly is earlier in time, and basically only considers the influence of the information hiding method on the coding quality of the compressed video (such as PSNR (peak signal to noise ratio) of the decoded video and the code rate of the compressed video), but does not consider the security of the information hiding method, and the macroblock-based motion vector modification has a large influence on the correlation of the motion vector, so that the performance is poor when the method is used for resisting the video steganography analysis methods based on the correlation of the motion vector and the local optimality of the motion vector, and the method is easy to detect and has poor security.
2) The second method proposed by Yao has a disadvantage in that only the correlation between motion vectors is preserved and the coding quality of the compressed video is maintained (including PSNR (peak signal to noise ratio) of the decoded video and the code rate of the compressed video) is considered, but the local optimality of the motion vectors is not considered, so that although it is better resistant to the steganalysis method based on the correlation of motion vectors and the quality of the compressed video is maintained, it has a poor performance against the steganalysis method based on the local optimality of motion vectors and is relatively easy to recognize.
3) The MVMPLO proposed by Zhang considers and reserves the local optimal characteristic of the motion vector, so that the modified motion vector can still keep the local optimal characteristic under the SAD (sum of absolute difference) criterion, and the steganalysis method based on the local optimal characteristic of the motion vector can be well resisted. However, this method does not consider maintaining the correlation of motion vectors, and therefore, the performance is degraded when countering the steganalysis method based on the correlation of motion vectors, especially when the correlation between motion vectors is strong (e.g., the code rate of compressed video is high or the motion search range is large). Moreover, since video coding is predictive coding, the coding of the subsequent frame may depend on the coding result of the previous frame, and after MVMPLO is adopted, the motion vector obtained by the coding of the subsequent frame may be greatly different from the original coding result, which increases the risk of being identified by the steganalysis method based on the correlation of the motion vector. Moreover, the method only considers the local optimality under the SAD criterion, and does not consider the local optimality based on the rate-distortion function, so that the safety performance of MVMPLO is correspondingly reduced when the method is used for resisting some steganography methods based on the local optimality of the motion vector rate-distortion function.
Disclosure of Invention
In order to solve the problems that in the prior art, the performance is poor when a video steganalysis method based on motion vector correlation and local optimality based on motion vectors is resisted, and the defect of the local optimality based on a rate-distortion function is not considered, the invention provides a multi-objective optimization H.264 video steganalysis method with constraint conditions.
In order to realize the purpose, the technical scheme is as follows:
a multi-objective optimization H.264 video steganography method with constraint conditions comprises the following steps:
step S1: establishing a three-dimensional set of motion vectors according to the positions of the motion vectors in time and space in a video, and determining a motion vector correlation measurement factor on the three-dimensional set of the motion vectors;
step S2: determining local optimal motion vector set omega in videoSAnd ΩTAnd correcting the local optimal motion vector set omegaSAnd ΩT
Step S3: identifying each motion in a videoHorizontal component forbidden pattern set F of vectorshAnd a forbidden set of patterns F for the vertical componentv
Step S4: according to ΩS、ΩT、FhAnd FvSolving the local optimal constraint condition of any motion vector in the three-dimensional set of the motion vectors by the four sets;
step S5: classifying the motion vectors, establishing a set, and reconstructing a frame error constraint condition according to the set of motion vector classification;
step S6: for a motion vector, constructing a multi-objective optimization modification cost function according to the motion vector correlation weighing factor, the local optimal constraint condition of the motion vector and the reconstruction frame error constraint condition;
step S7: establishing a load dynamic distribution technology on the basis of the multi-objective optimization modification cost function; the horizontal and vertical components of the forward and backward motion vectors in the reference and non-reference frames are composite STC encoded according to a dynamic load distribution technique.
Preferably, the specific steps of establishing the three-dimensional set of motion vectors in step S1 are as follows:
firstly, judging the corresponding range of a pixel block corresponding to a motion vector in a video frame, and dividing the pixel block into a plurality of 4x4 pixel blocks;
filling the motion vector of the current block in the corresponding position of each 4x4 pixel block, namely projecting the motion vector of one pixel block onto the motion vector plane of a certain frame;
repeating the steps, projecting the motion vectors of all the blocks of one frame onto a motion vector plane, and finally obtaining a motion vector plane of one frame;
and gathering the motion vector planes according to the natural playing sequence of the frames to obtain a motion vector three-dimensional set.
Preferably, the specific steps of determining the motion vector correlation measure on the three-dimensional set of motion vectors are as follows:
the motion vector correlation measurement factor can be divided into a time-space domain motion vector correlation factor of a horizontal component of the motion vector and a time-space domain motion vector correlation factor of a vertical component of the motion vector;
setting a motion vector in a three-dimensional set of motion vectors
Figure BDA0002053423280000051
Wherein d represents the prediction direction of the motion vector, indicates whether the motion vector belongs to a forward motion vector three-dimensional set or a backward motion vector three-dimensional set, and i, j and t are the horizontal coordinate, the vertical coordinate and the time coordinate of the motion vector in the motion vector three-dimensional set; the spatio-temporal motion vector correlation factor is mainly related to the difference value of adjacent motion vectors. The spatio-temporal motion vector correlation factor of the motion vector horizontal component is defined as:
Figure BDA0002053423280000052
similarly, the spatio-temporal motion vector correlation factor for the vertical component of the motion vector is defined as:
Figure BDA0002053423280000061
wherein Δ h and Δ v are modification modes of horizontal and vertical components of the motion vector, and
Δh,Δv∈{0,±1}。Snis a set of adjacent motion vector coordinates and is defined as
Figure BDA0002053423280000062
Wherein n is a positive integer, and S { -1,0, +1 }. When the position designated by p has no motion vector in the motion vector three-dimensional set or the designated position is out of the range of the motion vector three-dimensional set, the calculation result of this item is set to 0.
Preferably, in step S2, the local optimal motion vector set Ω in the video is determinedSAnd ΩTThe specific steps are as followsThe following:
for any motion vector V, if Δ V ∈ {0, ± 1} for all Δ h, Δ V are not both 0, all C1(V)<C1(VΔh,Δv) Then the motion vector has local optimum characteristics in the SAD sense, and is recorded as V ∈ ΩSIn which V isΔh,Δv=V+(Δh,Δv),ΩSFor a set of motion vectors with locally optimal characteristics in the SAD sense, C1(V) is a SAD-based R-D cost function defined as
C1(V)=SAD(Pr(V),Pp(V))+λR(V),(4)
Wherein SAD (X, Y) is the SAD calculation function of two pixel blocks X, Y with the same size, Pr(V) is a reconstructed block, P, derived from the motion vector Vp(V) is a prediction block obtained according to the motion vector V, lambda is a Lagrangian factor used by an encoder when motion search is carried out, and R (V) is the bit number required when entropy coding is carried out on the motion vector;
determining each original motion vector V and all possible modified motion vectors VΔh,ΔvLocal optimum characteristics in the SAD sense to determine whether it belongs to the set ΩS
For any motion vector V, if Δ V ∈ {0, ± 1} for all Δ h, Δ V are not both 0, all C2(V)<C2(VΔh,Δv) Then the motion vector has local optimum characteristics in the SAD sense, and is recorded as V ∈ ΩTIn which V isΔh,Δv=V+(Δh,Δv),ΩTFor a set of motion vectors with locally optimal properties in the SATD sense, C2(V) is an SATD-based R-D cost function defined as
C2(V)=SATD(Pr(V),Pp(V))+λR(V),(5)
Wherein SATD (X, Y) is the SATD calculation function of two pixel blocks X, Y of the same size, Pr(V) is a reconstructed block, P, derived from the motion vector Vp(V) is a prediction block obtained from the motion vector V, λ is the Lagrangian factor used by the encoder when performing motion search, R (V)The number of bits required for entropy coding of the motion vector;
determining each original motion vector V and all possible modified motion vectors VΔh,ΔvLocally optimal characteristics in the sense of SATD to determine whether it belongs to the set ΩT
By the method, whether each original motion vector in a video and all possible candidate motion vectors after modification belong to the set omega can be judgedSAnd ΩT
Preferably, in step S2, the local optimal motion vector set Ω is correctedSAnd ΩTThe method comprises the following specific steps:
for a modified motion vector V with some locally optimal propertyΔh,ΔvObtaining the predicted motion vector by the encoder, and modifying the horizontal component and the vertical component of the predicted motion vector by adding 1 or subtracting 1, if there is a modification mode of the predicted motion vector, so that the motion vector VΔh,ΔvIf the local optimal characteristic is lost, judging that the local optimal characteristic of the modified motion vector does not have robustness, and selecting the local optimal motion vector set omega corresponding to the type of the lost local optimal characteristicSOr ΩTRemoving;
the above operation is performed on each candidate modified motion vector in the carrier video, and then the local optimal motion vector set omega can be completedSAnd ΩTAnd (4) correcting.
Preferably, the horizontal component forbidden mode set F of each motion vector in the video is confirmed in step S3hAnd a forbidden set of patterns F for the vertical componentvThe method comprises the following specific steps:
step S301: finding out all modification modes for making original motion vector lose local optimum property, setting it as set F and making Fh=FvF and the tag prediction motion vector is from the same motion vector;
step S302: searching the source of the component of the undetermined source in the horizontal component and the vertical component of the predicted motion vector, and acquiring the prediction mode of the block to which the motion vector of the source belongs;
step S303: if the sources of the horizontal component and the vertical component of the predicted motion vector are not determined and are marked as being from the same motion vector, executing step S304; if the above condition is not met, executing step S305;
step S304: judging whether the horizontal component and the vertical component of the predicted motion vector belong to the same motion vector, if so, continuing to execute the step S305; if not, the horizontal and vertical components are marked as coming from different motion vectors and F needs to be re-determinedhAnd Fv. If the modification included in F involves a modification of the horizontal component of the predicted motion vector by subtracting 1, all modifications involved in the subtraction 1, i.e., -1', (-1,0) and (-1, +1), are included in FhPerforming the following steps; if the modification included in F involves adding 1 to the horizontal component of the predicted motion vector, all modifications involving the adding 1 operation, i.e., (+1, -1), (+1,0) and (+1, +1), are included in FhPerforming the following steps; through the above operations, the update of the horizontal component prohibition mode set can be completed;
meanwhile, whether the operation of adding 1 or subtracting 1 to the vertical component is contained in the F is judged, if yes, all the modification modes related to the operation of adding 1 or subtracting 1 to the vertical component are added to the FvIn (2), completing the updating of the vertical component inhibition mode;
step S305: judging whether the prediction motion vector comes from an SKIP block or a Direct block of a prediction mode of a macro block in an H.264 coding standard or not according to the obtained sources of the horizontal component and the vertical component of the prediction motion vector; if not, the search of the source of the corresponding component is finished, the source state of the corresponding component is recorded as determination, and F corresponding to the component is recordedhOr FvBinding with a source motion vector; if yes, returning to the step S302 to continue searching;
a motion vector if not FhOr FvBound with the algorithm, and corresponding F is used for unifying the descriptionhAnd FvSet as an empty setF of each motion vector is finally determined by the above algorithmhAnd Fv
Preferably, the specific steps of solving the local optimal constraint condition of any motion vector in the three-dimensional set of motion vectors in step S4 are as follows:
the locally optimal constraint is expressed as:
Figure BDA0002053423280000081
wherein
Figure BDA0002053423280000082
Is the modified motion vector.
Preferably, the specific process of step S5 is as follows:
before defining the error constraint condition of the reconstructed frame, the motion vectors in the video are classified into three types according to whether the motion vectors belong to the reference frame and the type of the frame, wherein one type is the motion vector of the non-reference frame, the other type is the motion vector of the B frame reference frame, and the last type is the motion vector of the P frame reference frame. The sets of these three types of motion vectors are respectively represented by ΛB
Figure BDA0002053423280000091
And
Figure BDA0002053423280000092
represents;
with a set of motion vector classifications, the reconstructed frame error constraint is defined as follows:
Figure BDA0002053423280000093
wherein
Figure BDA0002053423280000094
N (X) is a function for calculating the number of pixels included in the pixel block X, and T (V) is a threshold valueA fixed function defined as
Figure BDA0002053423280000095
The reconstruction error constraint for motion vectors of non-reference frames is defined as follows:
Figure BDA0002053423280000096
preferably, the specific steps of step S6 are as follows:
for the horizontal component of a motion vector, the modification cost function is defined as:
Figure BDA0002053423280000097
wherein gamma isL(i, j, t, d, Δ h) is defined as:
Figure BDA0002053423280000098
ΓD(i, j, t, d, Δ h) is defined as:
Figure BDA0002053423280000099
for the vertical component of a motion vector, the cost function is modified as:
Figure BDA00020534232800000910
wherein
Figure BDA00020534232800000911
As motion vectors
Figure BDA00020534232800000912
The horizontal component of (a).
Preferably, the specific steps of step S7 are as follows:
before embedding information, the amount of information to be embedded in different parts needs to be determined, this amount of information is called load, and the maximum load of a certain component of a certain type of motion vector in a certain direction is determined by the following formula:
Figure BDA0002053423280000101
wherein
Figure BDA0002053423280000102
The method is used for the T type,
Figure BDA0002053423280000103
predicting the maximum load of a c component of a motion vector with the direction d, wherein d is a forward component f or a backward component b, the c component is a horizontal component h or a vertical component v,
Figure BDA0002053423280000104
embedding information into motion vectors of non-reference frames for the number of carriers allowed to be modified by STC in the corresponding component without exceeding the maximum load, the number of information actually embedded for each type of component being
Figure BDA0002053423280000105
The composite STC coding of the horizontal component and the vertical component based on load dynamic allocation realizes embedding information into the horizontal component and the vertical component of the motion vector simultaneously according to a cost function, and the specific process is described as follows:
inputting: motion vector with type T prediction direction d, secret information to be embedded, position where secret information starts to be embedded, and target embedded information amount of current motion vector
Figure BDA0002053423280000106
d is the prediction direction of the motion vector, and d belongs to { f, b }, wherein f represents the forward direction, and b represents the backward direction; t is the type of the motion vector,
Figure BDA0002053423280000107
and calculating cost acquisition information for the modification limit condition of the current motion vector;
step S701: calculating target embedded information amount of horizontal component and vertical component
Figure BDA0002053423280000108
Step S702: calculating the modification cost of the horizontal component of the motion in the direction of the T-type motion vector d by using the formula (9), correcting the obtained modification cost according to the modification limit condition of the motion vector, and then counting the number of carriers allowed to be modified in the modification cost
Figure BDA0002053423280000109
The amount of information actually embedded in the horizontal component is calculated from equation (14)
Figure BDA00020534232800001010
Step S703: starting at the position where the secret information of the secret information to be embedded starts to be embedded, intercepting the secret information to be embedded with the length of
Figure BDA00020534232800001011
And setting the position where the secret information starts to be embedded as the last bit of the intercepted information;
step S704: modifying the horizontal component by using the STC according to the modification cost of the horizontal component, completing the embedding of the intercepted secret information, and counting the modification condition of the horizontal component;
step S705: according to the modification condition of the horizontal component, the modification cost of the vertical component is calculated by using the formula (12), the obtained cost is corrected according to the modification limit condition of the motion vector, and then statistics is carried outNumber of carriers allowed to be modified
Figure BDA0002053423280000111
Then, the amount of information actually embedded in the vertical component is calculated according to equation (14)
Figure BDA0002053423280000112
Step S706: starting at the starting embedding position of the secret information to be embedded, the interception length is
Figure BDA0002053423280000113
And setting the position where the secret information starts to be embedded as the last bit of the intercepted information;
step S707: according to the modification cost of the vertical component, the STC is utilized to modify the vertical component, and the embedding of the intercepted secret information is completed;
step S708: counting the modification condition of the vertical component of the motion vector, integrating the modification condition of the current motion vector by combining the modification condition of the horizontal component, and calculating the number of secret information actually carried in the current motion vector
Figure BDA0002053423280000114
And recombining the horizontal component and the vertical component into a motion vector;
step S709: outputting the modified motion vector, the position where the secret information is embedded, and the number of secret information actually carried
Figure BDA0002053423280000115
The specific process of composite STC coding of forward and backward motion vectors based on load dynamic allocation is described as follows:
step S709: inputting a motion vector with the type of T, secret information to be embedded, the position where the secret information starts to be embedded, and the current embedded information amount Tar of the current motion vectorTCalculating cost collected information;
step S710: calculating forward motion in motion vectorsThe number of vectors and backward motion vectors and the proportion of forward motion vectors and backward motion vectors in the T-type motion vectors are calculated
Figure BDA0002053423280000116
And
Figure BDA0002053423280000117
and calculates the target embedding bit number of the forward motion vector
Figure BDA0002053423280000118
Target embedding bit number of backward motion vector
Figure BDA0002053423280000119
And the modification limit condition of the motion vector is set as unlimited;
step S711: judgment of
Figure BDA00020534232800001110
Whether or not it is 0; if 0, the backward motion vector does not exist, and the step S713 is jumped to; otherwise, the current backward motion vector, the secret information and the secret information are embedded into the position, and the bit number of the backward motion vector target is embedded
Figure BDA00020534232800001111
And the modification limit condition of the motion vector is used as input, and a composite STC encoding process of a horizontal component and a vertical component based on load dynamic distribution is carried out on the backward motion vector;
step S712: updating the modification limit condition of the motion vector according to the obtained modification mode of the backward motion vector, if one forward motion vector and one backward motion vector belong to the same block and the backward motion vector is modified, updating the modification limit condition of the corresponding forward motion vector, and setting the forward motion vector and the backward motion vector as incapable of being modified;
step S713: embedding the forward motion vector, the secret information, the initial embedding position of the secret information and the target embedding bit number of the forward motion vector
Figure BDA0002053423280000121
And the modification limit condition of the motion vector is used as input, and a composite STC encoding process of a horizontal component and a vertical component based on load dynamic distribution is carried out on the forward motion vector;
step S714: calculating the amount of information actually carried in the motion vector of the current type
Figure BDA0002053423280000122
Step S715: outputting the modified T-type motion vector, starting embedding the secret information into the position, and actually embedding the information amount BT
The flow of composite STC encoding of reference frame and non-reference frame motion vectors based on load dynamic allocation is as follows:
step S716: inputting a motion vector, secret information and target embedded information amount Tar of a video, and calculating cost collected information;
step S717: applying a motion vector classification method, and dividing motion vectors into three classes according to the types of frames to which the motion vectors belong: non-reference frame motion vector ΛBReference frame motion vector of B frame
Figure BDA0002053423280000123
And P frame reference frame motion vectors
Figure BDA0002053423280000124
Setting the starting embedding position of the secret information as the starting position of the secret information;
step S718: judge lambdaBWhether it is an empty set. If yes, jump to step S719, otherwise will ΛBThe motion vector and the target embedded information amount Tar in the step (2) are used as input, and a composite STC coding process of a forward motion vector and a backward motion vector based on load dynamic distribution is carried out. Then according to the output actual embedded information quantity
Figure BDA0002053423280000125
The target embedded information amount Tar is updated in a manner of Tar-BΛB
Step S719: it is determined whether Tar is equal to 0. If the current value is equal to 0, the composite STC encoding process based on load dynamic distribution is ended, otherwise, the next step is carried out.
Step S720: starting the embedding state of the updated secret information, the updated target embedding information amount Tar and
Figure BDA0002053423280000126
the motion vector, the secret information and the information collected by calculating cost are used as input, and a composite STC coding process of a forward motion vector and a backward motion vector based on load dynamic distribution is carried out. And then using the actual amount of embedded information output
Figure BDA0002053423280000127
The target embedded information amount Tar is updated in the way of
Figure BDA0002053423280000128
Step S721: judging whether Tar is equal to 0; if the current time is equal to 0, ending the composite STC encoding process based on load dynamic distribution, otherwise entering the next step;
step S722: starting the embedding state of the updated secret information, the updated target embedding information amount Tar and
Figure BDA0002053423280000131
the motion vector, secret information and information collected by calculating cost are used as input, the composite STC coding process of the forward motion vector and the backward motion vector of load dynamic distribution is carried out, and then the output actual embedded information quantity is utilized
Figure BDA0002053423280000132
The target embedded information amount Tar is updated in the way of
Figure BDA0002053423280000133
Step S723: judging whether Tar is 0, if so, embedding successfully, otherwise, embedding fails;
step S724: and outputting the modified motion vector and the information embedding state.
Compared with the prior art, the invention has the beneficial effects that:
1. the multi-objective optimization cost function with constraint conditions comprehensively considers the influence of the change of the motion vector on the video from the aspects of motion vector correlation, local optimality of the motion vector, objective quality of the video and the like, and integrates the influences into one cost function by using one function, thereby greatly improving the safety performance of the steganography algorithm against different types of steganalysis algorithms, expanding the application range of the algorithm and reducing the influence on the visual quality of the video.
2. The composite STC information embedding method based on load dynamic distribution can distribute the secret information to different types of motion vectors in a video in a self-adaptive manner, further improves the performance of the algorithm in resisting a steganalysis algorithm based on the local optimal characteristic of the motion vectors, and improves the safety. And the composite STC information embedding method based on load dynamic distribution embeds information into horizontal components and vertical components of forward motion vectors and backward motion vectors, improves the steganography capacity of the algorithm, and enables the algorithm to be used for videos with B frames.
Drawings
FIG. 1 is a flow chart of a multi-objective optimization H.264 video steganography method with constraint conditions;
FIG. 2 is a structural diagram of a multi-objective optimization H.264 video steganography method with constraint conditions;
FIG. 3 is a graph showing uncertainty statistics on various amplitudes representing differential values of horizontal and vertical components of spatially and temporally adjacent motion vectors;
FIG. 4 is a graph of the performance of different motion vector based video steganography methods against NPEFLO;
Detailed Description
The drawings are for illustrative purposes only and are not to be construed as limiting the patent;
the invention is further illustrated below with reference to the figures and examples.
Example 1
As shown in fig. 1, fig. 2 and fig. 3, a constraint-based multi-objective optimization h.264 video steganography method includes the following steps:
step S1: establishing a three-dimensional set of motion vectors according to the positions of the motion vectors in time and space in a video, and determining a motion vector correlation measurement factor on the three-dimensional set of the motion vectors;
step S2: determining local optimal motion vector set omega in videoSAnd ΩTAnd correcting the local optimal motion vector set omegaSAnd ΩT
Step S3: identifying a set of horizontal component forbidden patterns F for each motion vector in a videohAnd a forbidden set of patterns F for the vertical componentv
Step S4: according to ΩS、ΩT、FhAnd FvSolving the local optimal constraint condition of any motion vector in the three-dimensional set of the motion vectors by the four sets;
step S5: classifying the motion vectors, establishing a set, and solving a reconstruction frame error constraint condition according to the set of motion vector classification;
step S6: for a motion vector, constructing a multi-objective optimization modification cost function according to the motion vector correlation weighing factor, the local optimal constraint condition of the motion vector and the reconstruction frame error constraint condition;
step S7: establishing a load dynamic distribution technology on the basis of the multi-objective optimization modification cost function; the horizontal and vertical components of the forward and backward motion vectors in the reference and non-reference frames are composite STC encoded according to a dynamic load distribution technique.
Preferably, the specific steps of establishing the three-dimensional set of motion vectors in step S1 are as follows:
firstly, judging the corresponding range of a pixel block corresponding to a motion vector in a video frame, and dividing the pixel block into a plurality of 4x4 pixel blocks;
filling the motion vector of the current block in the corresponding position of each 4x4 pixel block, namely projecting the motion vector of one pixel block onto the motion vector plane of a certain frame;
repeating the steps, projecting the motion vectors of all the blocks of one frame onto a motion vector plane, and finally obtaining a motion vector plane of one frame;
and gathering the motion vector planes according to the natural playing sequence of the frames to obtain a motion vector three-dimensional set.
Preferably, the specific steps of determining the motion vector correlation measure on the three-dimensional set of motion vectors are as follows:
in order to study the statistical properties of the spatial correlation of motion vectors with surrounding motion vectors, each motion vector is subtracted from the motion vector to the right, and the horizontal component dh of the residual motion vector is obtained separatelysAnd a vertical component dvsMaking statistics to obtain dhsAnd dvsThe statistical distribution of the CVs (i.e., the ratios of standard deviations to mean) of (A) is shown in FIGS. 3(1) and 3 (2). Similarly, in order to study the statistical properties of the correlation of motion vectors with surrounding motion vectors in time, each motion vector is subtracted from the motion vector at the same position in the next frame, and the horizontal component dh of the residual motion vector is obtained separatelytAnd dvtMaking statistics to obtain dhtAnd dvtThe statistical distribution histograms of CVs (a) are shown in fig. 3(3) and fig. 3 (4). CV represents the uncertainty of a certain statistic. The larger the CV, the greater the uncertainty. From the statistical results in fig. 1, it can be seen that as the absolute value of the difference increases, the CV increases and the uncertainty increases. This case is similar to the case of an image, so the spatio-temporal motion vector correlation measurement factor can be designed by referring to the design idea of the UED steganography algorithm [ 5 ] in the JPEG image.
The motion vector correlation measurement factor can be divided into a time-space domain motion vector correlation factor of a horizontal component of the motion vector and a time-space domain motion vector correlation factor of a vertical component of the motion vector;
setting a motion vector in a three-dimensional set of motion vectors
Figure BDA0002053423280000154
Wherein d represents the prediction direction of the motion vector, indicates whether the motion vector belongs to a forward motion vector three-dimensional set or a backward motion vector three-dimensional set, and i, j and t are the horizontal coordinate, the vertical coordinate and the time coordinate of the motion vector in the motion vector three-dimensional set; the spatio-temporal motion vector correlation factor is mainly related to the difference value of adjacent motion vectors. The spatio-temporal motion vector correlation factor of the motion vector horizontal component is defined as:
Figure BDA0002053423280000151
similarly, the spatio-temporal motion vector correlation factor for the vertical component of the motion vector is defined as:
Figure BDA0002053423280000152
wherein Δ h and Δ v are modification modes of horizontal and vertical components of the motion vector, and
Δh,Δv∈{0,±1}。Snis a set of adjacent motion vector coordinates and is defined as
Figure BDA0002053423280000153
Wherein n is a positive integer, and S { -1,0, +1 }. When the position designated by p has no motion vector in the motion vector three-dimensional set or the designated position is out of the range of the motion vector three-dimensional set, the calculation result of this item is set to 0.
Preferably, in step S2, the local optimal motion vector set Ω in the video is determinedSAnd ΩTThe method comprises the following specific steps:
the steganography analysis method based on the local optimality of the motion vector is used for calculating the local optimal characteristics of SAD (sum of Absolute difference) values or rate distortion function values corresponding to the motion vector at a decoding end, and counting the local optimal characteristics so as to distinguish steganography video from non-steganography video. In order to better maintain the local optimal characteristics of the motion vector, in the algorithm, the local optimal calculation performed on a decoding end at an encoding end is restored to simulate the work flow of steganalysis based on the optimal characteristics of the motion vector, so that whether the motion vector has the local optimal characteristics or not is accurately judged, and the capacity of maintaining the local optimal characteristics of the motion vector is improved.
In order to simulate the process of calculating the local optimal characteristics at the decoding end, the algorithm carries out primary coding on each motion vector and possible modified motion vectors so as to obtain a reconstruction pixel block of each motion vector and candidate motion vectors, and calculates the local optimal characteristics according to the reconstruction block. For any motion vector V, if Δ V ∈ {0, ± 1} for all Δ h, Δ V are not both 0, all C1(V)<C1(VΔh,Δv) Then the motion vector has local optimum characteristics in the SAD sense, and is recorded as V ∈ ΩSIn which V isΔh,Δv=V+(Δh,Δv),ΩSFor a set of motion vectors with locally optimal characteristics in the SAD sense, C1(V) is a SAD-based R-D cost function defined as
C1(V)=SAD(Pr(V),Pp(V))+λR(V),(4)
Wherein SAD (X, Y) is the SAD calculation function of two pixel blocks X, Y with the same size, Pr(V) is a reconstructed block, P, derived from the motion vector Vp(V) is a prediction block obtained according to the motion vector V, lambda is a Lagrangian factor used by an encoder when motion search is carried out, and R (V) is the bit number required when entropy coding is carried out on the motion vector;
determining each original motion vector V and all possible modified motion vectors VΔh,ΔvLocal optimization in SAD senseCharacteristic to determine whether it belongs to the set omegaS
For any motion vector V, if Δ V ∈ {0, ± 1} for all Δ h, Δ V are not both 0, all C2(V)<C2(VΔh,Δv) Then the motion vector has local optimum characteristics in the SAD sense, and is recorded as V ∈ ΩTIn which V isΔh,Δv=V+(Δh,Δv),ΩTFor a set of motion vectors with locally optimal properties in the SATD sense, C2(V) is an SATD-based R-D cost function defined as
C2(V)=SATD(Pr(V),Pp(V))+λR(V),(5)
Wherein SATD (X, Y) is the SATD calculation function of two pixel blocks X, Y of the same size, Pr(V) is a reconstructed block, P, derived from the motion vector Vp(V) is a prediction block obtained according to the motion vector V, lambda is a Lagrangian factor used by an encoder when motion search is carried out, and R (V) is the bit number required when entropy coding is carried out on the motion vector;
determining each original motion vector V and all possible modified motion vectors VΔh,ΔvLocally optimal characteristics in the sense of SATD to determine whether it belongs to the set ΩT
By the method, whether each original motion vector in a video and all possible candidate motion vectors after modification belong to the set omega can be judgedSAnd ΩT
Preferably, in step S2, the local optimal motion vector set Ω is correctedSAnd ΩTThe method comprises the following specific steps:
in the process of video coding, the motion vector needs to be predicted, the predicted motion vector is obtained, and the motion vector residual is calculated, so that the redundancy in the motion vector is further reduced, and the compression efficiency is improved. When a motion vector is changed, it may affect the locally optimal characteristics of other motion vectors as a predicted motion vector. If a motion vector with locally optimal characteristics can still maintain locally optimal characteristics when the predicted motion vector changes, the locally optimal characteristics of the motion vector are robust, otherwise the locally optimal characteristics of the motion vector are not robust.
There are two cases where the locally optimal property of a motion vector is not robust: one is original, the local optimum characteristic of the motion vector without modification is not robust; another situation is that the locally optimal property of the modified motion vector is not robust. The modification of the locally optimal set of motion vectors is for the latter case. For a modified motion vector V with some locally optimal propertyΔh,ΔvObtaining the predicted motion vector by the encoder, and modifying the horizontal component and the vertical component of the predicted motion vector by adding 1 or subtracting 1, if there is a modification mode of the predicted motion vector, so that the motion vector VΔh,ΔvIf the local optimal characteristic is lost, judging that the local optimal characteristic of the modified motion vector does not have robustness, and selecting the local optimal motion vector set omega corresponding to the type of the lost local optimal characteristicSOr ΩTRemoving;
the above operation is performed on each candidate modified motion vector in the carrier video, and then the local optimal motion vector set omega can be completedSAnd ΩTAnd (4) correcting.
Preferably, the horizontal component forbidden mode set F of each motion vector in the video is confirmed in step S3hAnd a forbidden set of patterns F for the vertical componentvThe method comprises the following specific steps:
in order to solve the problem that the local optimal characteristic of the original motion vector does not have local optimality, the algorithm defines a horizontal component inhibition mode set F for each motion vectorhAnd a set of vertical component inhibit patterns FvTo further limit the modification of the motion vectors. When the original motion vector does not have locally optimal properties, the algorithm will ensure that the original motion vector does not lose locally optimal properties by disabling some modifications of the predicted motion vector.
To achieve this goal, the algorithm needs to determine the source of the predicted motion vector and impose certain restrictions on the source of the predicted motion vector to prohibit it from being modified in some way. The algorithm for accomplishing the above objective is as follows:
step S301: finding out all modification modes for making original motion vector lose local optimum property, setting it as set F and making Fh=FvF and the tag prediction motion vector is from the same motion vector;
step S302: searching the source of the component of the undetermined source in the horizontal component and the vertical component of the predicted motion vector, and acquiring the prediction mode of the block to which the motion vector of the source belongs;
step S303: if the sources of the horizontal component and the vertical component of the predicted motion vector are not determined and are marked as being from the same motion vector, executing step S304; if the above condition is not met, executing step S305;
step S304: judging whether the horizontal component and the vertical component of the predicted motion vector belong to the same motion vector, if so, continuing to execute the step S305; if not, the horizontal and vertical components are marked as coming from different motion vectors and F needs to be re-determinedhAnd Fv. If the modification included in F involves a modification of the horizontal component of the predicted motion vector by subtracting 1, all modifications involved in the subtraction 1, i.e., -1', (-1,0) and (-1, +1), are included in FhPerforming the following steps; if the modification included in F involves adding 1 to the horizontal component of the predicted motion vector, all modifications involving the adding 1 operation, i.e., (+1, -1), (+1,0) and (+1, +1), are included in FhPerforming the following steps; through the above operations, the update of the horizontal component prohibition mode set can be completed;
meanwhile, whether the operation of adding 1 or subtracting 1 to the vertical component is contained in the F is judged, if yes, all the modification modes related to the operation of adding 1 or subtracting 1 to the vertical component are added to the FvIn (2), completing the updating of the vertical component inhibition mode;
step S305: judging according to the source of the horizontal component and the vertical component of the obtained prediction motion vectorJudging whether the current block is from a SKIP block or a Direct block of a prediction mode of a macro block in an H.264 coding standard; if not, the search of the source of the corresponding component is finished, the source state of the corresponding component is recorded as determination, and F corresponding to the component is recordedhOr FvBinding with a source motion vector; if yes, returning to the step S302 to continue searching;
a motion vector if not FhOr FvBound with the algorithm, and corresponding F is used for unifying the descriptionhAnd FvSetting as an empty set, F of each motion vector is finally determined through the algorithmhAnd Fv
Preferably, the specific steps of solving the local optimal constraint condition of any motion vector in the three-dimensional set of motion vectors in step S4 are as follows:
the locally optimal constraint is expressed as:
Figure BDA0002053423280000191
wherein
Figure BDA0002053423280000192
Is the modified motion vector.
Preferably, the specific process of step S5 is as follows:
modification of the motion vectors changes the reconstructed frames, affecting the objective quality of the compressed video, and this effect is generally negative. Therefore, a modification mode of eliminating great influence on the reconstructed frame by using a reconstruction error constraint condition is adopted, and the objective quality of the video is kept. Meanwhile, because the steganography algorithm provided by the invention is performed based on the image group and secondary encoding is performed, in order to keep the effectiveness of modification cost obtained based on the first encoding result in the re-encoding process, the influence of the reconstructed frame also needs to be controlled.
Before defining the error constraint condition of the reconstructed frame, the motion vector in the video needs to be classified firstly, and the motion vector in the video is determined according to whether the motion vector is in the video or notThe types of frames belonging to reference frames and belonging to frames are classified into three types, one type is a motion vector of a non-reference frame, one type is a motion vector of a B-frame reference frame, and the last type is a motion vector of a P-frame reference frame. The sets of these three types of motion vectors are respectively represented by ΛB
Figure BDA0002053423280000193
And
Figure BDA0002053423280000194
represents;
with a set of motion vector classifications, the reconstructed frame error constraint is defined as follows:
Figure BDA0002053423280000195
wherein
Figure BDA0002053423280000196
N (X) is a function for calculating the number of pixels included in the pixel block X, and T (V) is a threshold determination function defined as
Figure BDA0002053423280000201
The reconstruction error constraint for motion vectors of non-reference frames is defined as follows:
Figure BDA0002053423280000202
preferably, the specific steps of step S6 are as follows:
for the horizontal component of a motion vector, the modification cost function is defined as:
Figure BDA0002053423280000203
wherein gamma isL(i, j, t, d, Δ h) is defined as:
Figure BDA0002053423280000204
ΓD(i, j, t, d, Δ h) is defined as:
Figure BDA0002053423280000205
for the vertical component of a motion vector, the cost function is modified as:
Figure BDA0002053423280000206
wherein
Figure BDA0002053423280000207
As motion vectors
Figure BDA0002053423280000208
The horizontal component of (a).
Preferably, the specific steps of step S7 are as follows:
the invention also comprises an STC coding technology based on load dynamic distribution, which modifies the horizontal component and the vertical component of the motion vector by matching with a multi-objective optimization function with constraint conditions and embeds the information into the motion vector. Since STC (syndrome coding) is only applicable for information embedding of scalar arrays, there is no native support for vectors. When the motion vector is modified by using the STC, information needs to be embedded into the horizontal component and the vertical component respectively in a certain manner, and the motion vector further includes a forward motion vector and a backward motion vector. In addition, the influence of the modification of the motion vector of the reference frame and the modification of the motion vector of the non-reference frame on the safety and objective quality of the video is different, and the safety of the video with the density is influenced by excessive modification of the motion of the reference frame.
Before embedding information, the amount of information to be embedded in different parts needs to be determined, this amount of information is called load, and the maximum load of a certain component of a certain type of motion vector in a certain direction is determined by the following formula:
Figure BDA0002053423280000211
wherein
Figure BDA0002053423280000212
The method is used for the T type,
Figure BDA0002053423280000213
predicting the maximum load of a c component of a motion vector with the direction d, wherein d is a forward component f or a backward component b, the c component is a horizontal component h or a vertical component v,
Figure BDA0002053423280000214
embedding information into motion vectors of non-reference frames for the number of carriers allowed to be modified by STC in the corresponding component without exceeding the maximum load, the number of information actually embedded for each type of component being
Figure BDA0002053423280000215
The composite STC coding of the horizontal component and the vertical component based on load dynamic allocation realizes embedding information into the horizontal component and the vertical component of the motion vector simultaneously according to a cost function, and the specific process is described as follows:
inputting: motion vector with type T prediction direction d, secret information to be embedded, position where secret information starts to be embedded, and target embedded information amount of current motion vector
Figure BDA0002053423280000216
d is the prediction direction of the motion vector, and d belongs to { f, b }, wherein f represents the forward direction, and b represents the backward direction; t is the type of the motion vector,
Figure BDA0002053423280000217
and calculating cost acquisition information for the modification limit condition of the current motion vector;
step S701: calculating target embedded information amount of horizontal component and vertical component
Figure BDA0002053423280000218
Step S702: calculating the modification cost of the horizontal component of the motion in the direction of the T-type motion vector d by using the formula (9), correcting the obtained modification cost according to the modification limit condition of the motion vector, and then counting the number of carriers allowed to be modified in the modification cost
Figure BDA0002053423280000221
The amount of information actually embedded in the horizontal component is calculated from equation (14)
Figure BDA0002053423280000222
Step S703: starting at the position where the secret information of the secret information to be embedded starts to be embedded, intercepting the secret information to be embedded with the length of
Figure BDA0002053423280000223
And setting the position where the secret information starts to be embedded as the last bit of the intercepted information;
step S704: modifying the horizontal component by using the STC according to the modification cost of the horizontal component, completing the embedding of the intercepted secret information, and counting the modification condition of the horizontal component;
step S705: calculating the modification cost of the vertical component by using the formula (12) according to the modification condition of the horizontal component, correcting the obtained cost according to the motion vector modification limiting condition, and then counting the number of carriers allowed to be modified
Figure BDA0002053423280000224
Then, the amount of information actually embedded in the vertical component is calculated according to equation (14)
Figure BDA0002053423280000225
Step S706: starting at the starting embedding position of the secret information to be embedded, the interception length is
Figure BDA0002053423280000226
And setting the position where the secret information starts to be embedded as the last bit of the intercepted information;
step S707: according to the modification cost of the vertical component, the STC is utilized to modify the vertical component, and the embedding of the intercepted secret information is completed;
step S708: counting the modification condition of the vertical component of the motion vector, integrating the modification condition of the current motion vector by combining the modification condition of the horizontal component, and calculating the number of secret information actually carried in the current motion vector
Figure BDA0002053423280000227
And recombining the horizontal component and the vertical component into a motion vector;
step S709: outputting the modified motion vector, the position where the secret information is embedded, and the number of secret information actually carried
Figure BDA0002053423280000228
The specific process of composite STC coding of forward and backward motion vectors based on load dynamic allocation is described as follows:
step S709: inputting a motion vector with the type of T, secret information to be embedded, the position where the secret information starts to be embedded, and the current embedded information amount Tar of the current motion vectorTCalculating cost collected information;
step S710: calculating the number of forward motion vectors and backward motion vectors in the motion vectors and calculating the forward motion vectors and backward motion vectorsWeight of vector in class T motion vector
Figure BDA0002053423280000229
And
Figure BDA00020534232800002210
and calculates the target embedding bit number of the forward motion vector
Figure BDA00020534232800002211
Target embedding bit number of backward motion vector
Figure BDA00020534232800002212
And the modification limit condition of the motion vector is set as unlimited;
step S711: judgment of
Figure BDA00020534232800002213
Whether or not it is 0; if 0, the backward motion vector does not exist, and the step S713 is jumped to; otherwise, the current backward motion vector, the secret information and the secret information are embedded into the position, and the bit number of the backward motion vector target is embedded
Figure BDA0002053423280000231
And the modification limit condition of the motion vector is used as input, and a composite STC encoding process of a horizontal component and a vertical component based on load dynamic distribution is carried out on the backward motion vector;
step S712: updating the modification limit condition of the motion vector according to the obtained modification mode of the backward motion vector, if one forward motion vector and one backward motion vector belong to the same block and the backward motion vector is modified, updating the modification limit condition of the corresponding forward motion vector, and setting the forward motion vector and the backward motion vector as incapable of being modified;
step S713: embedding the forward motion vector, the secret information, the initial embedding position of the secret information and the target embedding bit number of the forward motion vector
Figure BDA0002053423280000232
And the modification limit condition of the motion vector is used as input, and a composite STC encoding process of a horizontal component and a vertical component based on load dynamic distribution is carried out on the forward motion vector;
step S714: calculating the amount of information actually carried in the motion vector of the current type
Figure BDA0002053423280000233
Step S715: outputting the modified T-type motion vector, starting embedding the secret information into the position, and actually embedding the information amount BT
The flow of composite STC encoding of reference frame and non-reference frame motion vectors based on load dynamic allocation is as follows:
step S716: inputting a motion vector, secret information and target embedded information amount Tar of a video, and calculating cost collected information;
step S717: applying a motion vector classification method, and dividing motion vectors into three classes according to the types of frames to which the motion vectors belong: non-reference frame motion vector ΛBReference frame motion vector of B frame
Figure BDA0002053423280000234
And P frame reference frame motion vectors
Figure BDA0002053423280000235
Setting the starting embedding position of the secret information as the starting position of the secret information;
step S718: judge lambdaBWhether it is an empty set. If yes, jump to step S719, otherwise will ΛBThe motion vector and the target embedded information amount Tar in the step (2) are used as input, and a composite STC coding process of a forward motion vector and a backward motion vector based on load dynamic distribution is carried out. Then according to the output actual embedded information quantity
Figure BDA0002053423280000236
The target embedded information amount Tar is updated in the way of
Figure BDA0002053423280000237
Step S719: it is determined whether Tar is equal to 0. If the current value is equal to 0, the composite STC encoding process based on load dynamic distribution is ended, otherwise, the next step is carried out.
Step S720: starting the embedding state of the updated secret information, the updated target embedding information amount Tar and
Figure BDA0002053423280000238
the motion vector, the secret information and the information collected by calculating cost are used as input, and a composite STC coding process of a forward motion vector and a backward motion vector based on load dynamic distribution is carried out. And then using the actual amount of embedded information output
Figure BDA0002053423280000241
The target embedded information amount Tar is updated in the way of
Figure BDA0002053423280000242
Step S721: judging whether Tar is equal to 0; if the current time is equal to 0, ending the composite STC encoding process based on load dynamic distribution, otherwise entering the next step;
step S722: starting the embedding state of the updated secret information, the updated target embedding information amount Tar and
Figure BDA0002053423280000243
the motion vector, secret information and information collected by calculating cost are used as input, the composite STC coding process of the forward motion vector and the backward motion vector of load dynamic distribution is carried out, and then the output actual embedded information quantity is utilized
Figure BDA0002053423280000244
The target embedded information amount Tar is updated in the way of
Figure BDA0002053423280000245
Step S723: judging whether Tar is 0, if so, embedding successfully, otherwise, embedding fails;
step S724: and outputting the modified motion vector and the information embedding state.
Example 2
As shown in fig. 4 and table 1, fig. 4 shows the security of Aly [ 1 ], Yao [ 2 ], Zhang [ 3 ] and the algorithm UEDWR proposed by this patent against the steganalysis algorithm based on the local optimal characteristic of the motion vector under different coding parameters. The detection algorithm is NPEFLO (near Perfect Estimation For Local optimization), see paper [ 6 ] For details. The load is measured using the average embedded byte-bpmv (bits per motion vector) for each motion vector. Wherein, the experimental parameter condition in fig. 4(1) is QP 28, the frame structure is IPPPP, and the motion search method is EPZS [ 7 ]; the experimental parameter conditions in fig. 4(2) are QP 28, frame structure IBBBP, and motion search method EPZS; the experimental parameter conditions in fig. 4(3) are QP 28, frame structure IBBBP, and motion search method HEX [ 8 ]; the experimental parameter conditions in fig. 4(4) are QP 18, frame structure IBBBP, and motion search method EPZS. The encoder used for the experiment was from JM19.0 [ 9 ]. From the results in the figures, the algorithm proposed by the patent achieves good effect against the steganalysis method based on the local optimal characteristic of the motion vector (the closer the curve in the figure is to 0.5, the better the curve is, the higher the curve is). Especially when QP is large, the algorithm proposed by this patent can hardly be detected by NPEFLO, which is very advantageous compared to other methods.
Table 1 shows the variation of video quality at different coding parameters, measured as the mean value of the PSNR (peak signal-to-noise ratio) variation. A, B, C, D and E respectively represent different coding parameters, wherein the coding parameter represented by A is QP-28, the frame structure is IPPPP, and the motion search algorithm is EPZS; the coding parameter represented by B is QP (28), the frame structure is IBBBP, and the motion search algorithm is EPZS; the coding parameter represented by C is QP 28, the frame structure is IBBBP, and the motion search algorithm is HEX; the coding parameter represented by D is QP (18), the frame structure is IBBBP, and the motion search algorithm is EPZS; the coding parameter denoted by E is QP ═ 8, the frame structure is IBBBP, and the motion search algorithm is EPZS. From the table, the algorithm provided by the patent has small influence on the reconstruction quality of the video, the generated influence is almost negligible, and the method meets the design target.
Figure BDA0002053423280000251
It should be understood that the above-described embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. Other variations and modifications will be apparent to persons skilled in the art in light of the above description. And are neither required nor exhaustive of all embodiments. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the claims of the present invention.
Reference documents:
【1】Hussein A.Aly,“Data hiding in motion vectors of compressed video based on their associated prediction error,”IEEE Transactions on Information Forensics&Security,vol.6,no.1,pp.14–18,2011.
【2】Yuanzhi Yao,Weiming Zhang,Nenghai Yu,and Xianfeng Zhao,“Defining embedding distortion for motion vector-based video steganography,” Multimedia Tools&Applications,vol.74,no.24,pp.11163–11186,2015.
【3】H.Zhang,Y.Cao,and X.Zhao,“Motion vector-based video steganography with preserved local optimality,”Multimedia Tools and Applications,vol. 75,no.21,pp.13 503–13 519,Nov 2016.
【4】Filler T,Judas J,Fridrich J(2011)Minimizing additive distortion in steganography using syndrometrellis codes.IEEE Trans Inf Forensic& Secur 6(3):920–934.
【5】Linjie Guo,Jiangqun Ni,and Yun Qing Shi,“Uniform embedding for efficient jpeg steganography,”IEEE Transactions on Information Forensics &Security,vol.9,no.5,pp.814–825,2014.
【6】Hong Zhang,Yun Cao,and Xianfeng Zhao,“A steganalytic approach to detect motion vector modification using near-perfect estimation for local optimality,”IEEE Transactions on Information Forensics&Security,vol. 12,no.2,pp.465–478,2017.
【7】A.M.Tourapis,“Enhanced predictive zonal search for single and multiple frame motion estimation,”Proceedings of SPIE-The International Society for Optical Engineering,vol.4671,pp.1069–1079,2002.
【8】C.Zhu,X.Lin,and L.-P.Chau,“Hexagon-based search pattern for fast block motion estimation,”IEEE Transactions on Circuits and Systems for Video Technology,vol.12,no.5,pp.349–355,May 2002.
【9】H.264/AVC JM Reference Software,accessed on Mar.2018.[Online]. Available:http://iphome.hhi.de/suehring/tml/. 。

Claims (6)

1. a multi-objective optimization H.264 video steganography method with constraint conditions is characterized by comprising the following steps:
step S1: establishing a three-dimensional set of motion vectors according to the positions of the motion vectors in time and space in a video, and determining a motion vector correlation measurement factor on the three-dimensional set of the motion vectors;
step S2: determining local optimal motion vector set omega in videoSAnd ΩTAnd correcting the local optimal motion vector set omegaSAnd ΩT
Step S3: identifying a set of horizontal component forbidden patterns F for each motion vector in a videohAnd a forbidden set of patterns F for the vertical componentv
Step S4: according to ΩS、ΩT、FhAnd FvSolving three-dimensional sets of motion vectors for the four setsA local optimal constraint condition of any one motion vector;
step S5: classifying the motion vectors, establishing a set, and solving a reconstruction frame error constraint condition according to the set of motion vector classification;
step S6: for a motion vector, constructing a multi-objective optimization modification cost function according to the motion vector correlation weighing factor, the local optimal constraint condition of the motion vector and the reconstruction frame error constraint condition;
step S7: establishing a load dynamic distribution technology on the basis of the multi-objective optimization modification cost function; performing composite STC coding on horizontal components and vertical components of forward and backward motion vectors in a reference frame and a non-reference frame according to a load dynamic distribution technology;
the specific steps of establishing the three-dimensional set of motion vectors in step S1 are as follows:
firstly, judging the corresponding range of a pixel block corresponding to a motion vector in a video frame, and dividing the pixel block into a plurality of 4x4 pixel blocks;
filling in the corresponding position of each 4x4 pixel block with the motion vector of the current block, i.e. projecting the motion vector of a pixel block onto the motion vector plane of a certain frame;
repeating the steps, projecting the motion vectors of all the blocks of one frame onto a motion vector plane, and finally obtaining a motion vector plane of one frame;
gathering the motion vector planes according to the natural playing sequence of the frames to obtain a motion vector three-dimensional set;
in step S2, a local optimal motion vector set Ω in the video is determinedSAnd ΩTThe method comprises the following specific steps:
for any motion vector V, if Δ V ∈ {0, ± 1} for all Δ h, Δ V are not both 0, all C1(V)<C1(V Δ h, Δ V), the motion vector has locally optimal characteristics in the sense of SAD, which is denoted as V ∈ ΩSIn which V isΔh,Δv=V+(Δh,Δv),ΩSFor a set of motion vectors with locally optimal characteristics in the SAD sense, C1(V) is a SAD-based R-D cost function defined as
C1(V)=SAD(Pr(V),Pp(V))+λR(V), (4)
Wherein SAD (X, Y) is the SAD calculation function of two pixel blocks X, Y with the same size, Pr(V) is a reconstructed block, P, derived from the motion vector Vp(V) is a prediction block obtained according to the motion vector V, lambda is a Lagrangian factor used by an encoder when motion search is carried out, and R (V) is the bit number required when entropy coding is carried out on the motion vector;
determining each original motion vector V and all possible modified motion vectors VΔh,ΔvLocal optimum characteristics in the SAD sense to determine whether it belongs to the set ΩS
For any motion vector V, if Δ V ∈ {0, ± 1} for all Δ h, Δ V are not both 0, all C2(V)<C2(VΔh,Δv) Then the motion vector has local optimum characteristics in the sense of SATD, and is recorded as V epsilon omegaTIn which V isΔh,Δv=V+(Δh,Δv),ΩTFor a set of motion vectors with locally optimal properties in the SATD sense, C2(V) is an SATD-based R-D cost function defined as
C2(V)=SATD(Pr(V),Pp(V))+λR(V), (5)
Wherein SATD (X, Y) is the SATD calculation function of two pixel blocks X, Y of the same size, Pr(V) is a reconstructed block, P, derived from the motion vector Vp(V) is a prediction block obtained according to the motion vector V, lambda is a Lagrangian factor used by an encoder when motion search is carried out, and R (V) is the bit number required when entropy coding is carried out on the motion vector;
determining each original motion vector V and all possible modified motion vectors VΔh,ΔvLocally optimal characteristics in the sense of SATD to determine whether it belongs to the set ΩT
By the above method, it can be determined whether each original motion vector in a video and all possible candidate motion vectors after modification belong to the same motion vectorSet omegaSAnd ΩT
The specific process of step S5 is as follows:
before defining the error constraint condition of a reconstructed frame, motion vectors in a video need to be classified, the motion vectors in the video are classified into three types according to whether the motion vectors belong to a reference frame or not and the type of the frame to which the motion vectors belong, one type is the motion vector of a non-reference frame, one type is the motion vector of a B-frame reference frame, and the last type is the motion vector of a P-frame reference frame; the sets of these three types of motion vectors are respectively represented by ΛB
Figure FDA0002828034080000031
And
Figure FDA0002828034080000032
represents;
with a set of motion vector classifications, the reconstructed frame error constraint for the reference frame motion vectors is defined as follows:
Figure FDA0002828034080000033
wherein
Figure FDA0002828034080000034
N (X) is a function for calculating the number of pixels included in the pixel block X, and T (V) is a threshold determination function defined as
Figure FDA0002828034080000035
The reconstruction error constraint for motion vectors of non-reference frames is defined as follows:
Figure FDA0002828034080000036
the specific steps for determining a motion vector correlation measure on a three-dimensional set of motion vectors are as follows:
the motion vector correlation measurement factor can be divided into a time-space domain motion vector correlation factor of a horizontal component of the motion vector and a time-space domain motion vector correlation factor of a vertical component of the motion vector;
setting a motion vector in a three-dimensional set of motion vectors
Figure FDA0002828034080000037
Wherein d represents the prediction direction of the motion vector, indicates whether the motion vector belongs to a forward motion vector three-dimensional set or a backward motion vector three-dimensional set, and i, j and t are the horizontal coordinate, the vertical coordinate and the time coordinate of the motion vector in the motion vector three-dimensional set; the time-space domain motion vector correlation factor is mainly related to the difference value of adjacent motion vectors, the horizontal component of the motion vector is h, and the vertical component of the motion vector is v; the spatio-temporal motion vector correlation factor of the motion vector horizontal component is defined as:
Figure FDA0002828034080000038
similarly, the spatio-temporal motion vector correlation factor for the vertical component of the motion vector is defined as:
Figure FDA0002828034080000039
where Δ h and Δ v are the modification of the horizontal and vertical components of the motion vector, and Δ h, Δ v ∈ {0, ± 1}, SnIs a set of adjacent motion vector coordinates and is defined as
Figure FDA0002828034080000041
Where n is a positive integer, S { -1,0, +1}, and the calculation result of this term is set to 0 when the position designated by p has no motion vector in the three-dimensional set of motion vectors or the designated position is out of the range of the three-dimensional set of motion vectors.
2. The method according to claim 1, wherein the step S2 of modifying the local optimal motion vector set Ω is performed by using a multi-objective optimization h.264 video steganography method with constraint conditionsSAnd ΩTThe method comprises the following specific steps:
for a modified motion vector V with some locally optimal propertyΔh,ΔvObtaining the predicted motion vector by the encoder, and modifying the horizontal component and the vertical component of the predicted motion vector by adding 1 or subtracting 1, if there is a modification mode of the predicted motion vector, so that the motion vector VΔh,ΔvIf the local optimal characteristic is lost, judging that the local optimal characteristic of the modified motion vector does not have robustness, and selecting the local optimal motion vector set omega corresponding to the type of the lost local optimal characteristicSOr ΩTRemoving;
the above operation is performed on each candidate modified motion vector in the carrier video, and then the local optimal motion vector set omega can be completedSAnd ΩTAnd (4) correcting.
3. The method of claim 2, wherein the step S3 is performed to identify the horizontal component forbidden mode set F of each motion vector in the videohAnd a forbidden set of patterns F for the vertical componentvThe method comprises the following specific steps:
step S301: finding out all modification modes for making original motion vector lose local optimum property, setting it as set F and making Fh=FvF and the tag prediction motion vector is from the same motion vector;
step S302: searching the source of the component of the undetermined source in the horizontal component and the vertical component of the predicted motion vector, and acquiring the prediction mode of the block to which the motion vector of the source belongs;
step S303: if the sources of the horizontal component and the vertical component of the predicted motion vector are not determined and are marked to be from the same motion vector, executing step S304; if the above condition is not met, executing step S305;
step S304: judging whether the horizontal component and the vertical component of the predicted motion vector belong to the same motion vector, if so, continuing to execute the step S305; if not, the horizontal and vertical components are marked as coming from different motion vectors and F needs to be re-determinedhAnd Fv(ii) a If the modification included in F involves a modification of the horizontal component of the predicted motion vector by subtracting 1, all modifications involved in the subtraction 1, i.e., -1', (-1,0) and (-1, +1), are included in FhPerforming the following steps; if the modification included in F involves adding 1 to the horizontal component of the predicted motion vector, all modifications involving the adding 1 operation, i.e., (+1, -1), (+1,0) and (+1, +1), are included in FhPerforming the following steps; through the above operations, the update of the horizontal component prohibition mode set can be completed;
meanwhile, whether the operation of adding 1 or subtracting 1 to the vertical component is contained in the F is judged, if yes, all the modification modes related to the operation of adding 1 or subtracting 1 to the vertical component are added to the FvIn (2), completing the updating of the vertical component inhibition mode;
step S305: judging whether the prediction motion vector comes from an SKIP block or a Direct block of a prediction mode of a macro block in an H.264 coding standard or not according to the obtained sources of the horizontal component and the vertical component of the prediction motion vector; if not, the search of the source of the corresponding component is finished, the source state of the corresponding component is recorded as determination, and F corresponding to the component is recordedhOr FvBinding with a source motion vector; if yes, returning to the step S302 to continue searching;
a motion vector if not FhOr FvBound with the algorithm, and corresponding F is used for unifying the descriptionhAnd FvSetting as an empty set, F of each motion vector is finally determined through the algorithmhAnd Fv
4. The method for multi-objective optimization H.264 video steganography with constraints as claimed in claim 3, wherein the specific steps for solving the local optimal constraint condition of any motion vector in the three-dimensional set of motion vectors in step S4 are as follows:
the locally optimal constraint is expressed as:
Figure FDA0002828034080000051
wherein
Figure FDA0002828034080000052
Is the modified motion vector.
5. The H.264 video steganography method with constraint conditions is characterized in that the specific steps of the step S6 are as follows:
for the horizontal component of a motion vector, the modification cost function is defined as:
Figure FDA0002828034080000053
wherein gamma isL(i, j, t, d, Δ h) is defined as:
Figure FDA0002828034080000061
ΓD(i, j, t, d, Δ h) is defined as:
Figure FDA0002828034080000062
for the vertical component of a motion vector, the cost function is modified as:
Figure FDA0002828034080000063
wherein
Figure FDA0002828034080000064
As motion vectors
Figure FDA0002828034080000065
The horizontal component of (a).
6. The constrained multi-objective optimization H.264 video steganography method according to claim 5, wherein the specific steps of the step S7 are as follows:
before embedding information, the amount of information to be embedded in different parts needs to be determined, this amount of information is called load, and the maximum load of a certain component of a certain type of motion vector in a certain direction is determined by the following formula:
Figure FDA0002828034080000066
wherein
Figure FDA0002828034080000067
The method is used for the T type,
Figure FDA0002828034080000068
predicting the maximum load of a c component of a motion vector with the direction d, wherein d is a forward component f or a backward component b, the c component is a horizontal component h or a vertical component v,
Figure FDA0002828034080000069
embedding information into motion vectors of non-reference frames for the number of carriers allowed to be STC-modified in the corresponding component without exceeding the maximum load, each type of component actually being embeddedThe number of the incoming messages is
Figure FDA00028280340800000610
The composite STC coding of the horizontal component and the vertical component based on load dynamic allocation embeds information into the horizontal component and the vertical component of the motion vector simultaneously according to a cost function, and the specific process is described as follows:
inputting: motion vector with type T prediction direction d, secret information to be embedded, position where secret information starts to be embedded, and target embedded information amount of current motion vector
Figure FDA0002828034080000071
d is the prediction direction of the motion vector, and d belongs to { f, b }, wherein f represents the forward direction, and b represents the backward direction; t is the type of the motion vector,
Figure FDA0002828034080000072
and calculating cost acquisition information for the modification limit condition of the current motion vector;
step S701: calculating target embedded information amount of horizontal component and vertical component
Figure FDA0002828034080000073
Step S702: calculating the modification cost of the horizontal component of the motion in the direction of the T-type motion vector d by using the formula (9), correcting the obtained modification cost according to the modification limit condition of the motion vector, and then counting the number of carriers allowed to be modified in the modification cost
Figure FDA0002828034080000074
The amount of information actually embedded in the horizontal component is calculated from equation (14)
Figure FDA0002828034080000075
Step S703: starting at the position where the secret information of the secret information to be embedded starts to be embedded, intercepting the secret information to be embedded with the length of
Figure FDA0002828034080000076
And setting the position where the secret information starts to be embedded as the last bit of the intercepted information;
step S704: modifying the horizontal component by using the STC according to the modification cost of the horizontal component, completing the embedding of the intercepted secret information, and counting the modification condition of the horizontal component;
step S705: calculating the modification cost of the vertical component by using the formula (12) according to the modification condition of the horizontal component, correcting the obtained cost according to the motion vector modification limiting condition, and then counting the number of carriers allowed to be modified
Figure FDA0002828034080000077
Then, the amount of information actually embedded in the vertical component is calculated according to equation (14)
Figure FDA0002828034080000078
Step S706: starting at the starting embedding position of the secret information to be embedded, the interception length is
Figure FDA0002828034080000079
And setting the position where the secret information starts to be embedded as the last bit of the intercepted information;
step S707: according to the modification cost of the vertical component, the STC is utilized to modify the vertical component, and the embedding of the intercepted secret information is completed;
step S708: counting the modification condition of the vertical component of the motion vector, integrating the modification condition of the current motion vector by combining the modification condition of the horizontal component, and calculating the number of secret information actually carried in the current motion vector
Figure FDA00028280340800000710
And recombining the horizontal component and the vertical component into a motion vector;
step S709: outputting the modified motion vector, the position where the secret information is embedded, and the number of secret information actually carried
Figure FDA00028280340800000711
The specific process of composite STC coding of forward and backward motion vectors based on load dynamic allocation is described as follows:
step S709: inputting a motion vector with the type of T, secret information to be embedded, the position where the secret information starts to be embedded, and the current embedded information amount Tar of the current motion vectorTCalculating cost collected information;
step S710: calculating the number of forward motion vectors and backward motion vectors in the motion vectors and calculating the proportion of the forward motion vectors and the backward motion vectors in the T-type motion vectors
Figure FDA0002828034080000081
And
Figure FDA0002828034080000082
and calculates the target embedding bit number of the forward motion vector
Figure FDA0002828034080000083
Target embedding bit number of backward motion vector
Figure FDA0002828034080000084
And the modification limit condition of the motion vector is set as unlimited;
step S711: judgment of
Figure FDA0002828034080000085
Whether or not it is 0; if 0, the backward motion vector does not exist, and the step S713 is jumped to; otherwise, the current backward motion vector, the secret information and the secret information are embedded into a positionBit number of backward motion vector target embedding
Figure FDA0002828034080000086
And the modification limit condition of the motion vector is used as input, and a composite STC encoding process of a horizontal component and a vertical component based on load dynamic distribution is carried out on the backward motion vector;
step S712: updating the modification limit condition of the motion vector according to the obtained modification mode of the backward motion vector, if one forward motion vector and one backward motion vector belong to the same block and the backward motion vector is modified, updating the modification limit condition of the corresponding forward motion vector, and setting the forward motion vector and the backward motion vector as incapable of being modified;
step S713: embedding the forward motion vector, the secret information, the initial embedding position of the secret information and the target embedding bit number of the forward motion vector
Figure FDA0002828034080000087
And the modification limit condition of the motion vector is used as input, and a composite STC encoding process of a horizontal component and a vertical component based on load dynamic distribution is carried out on the forward motion vector;
step S714: calculating the amount of information actually carried in the motion vector of the current type
Figure FDA0002828034080000088
Step S715: outputting the modified T-type motion vector, starting embedding the secret information into the position, and actually embedding the information amount BT
The flow of composite STC encoding of reference frame and non-reference frame motion vectors based on load dynamic allocation is as follows:
step S716: inputting a motion vector, secret information and target embedded information amount Tar of a video, and calculating cost collected information;
step S717: using a motion vector classification method, the motion vector is classified according to the type of the frame to which the motion vector belongsMotion vectors are classified into three categories: non-reference frame motion vector ΛBReference frame motion vector of B frame
Figure FDA0002828034080000089
And P frame reference frame motion vectors
Figure FDA00028280340800000810
Setting the starting embedding position of the secret information as the starting position of the secret information;
step S718: judge lambdaBIf the set is empty, if yes, jumping to step S719, otherwise, ΛBThe motion vector and the target embedded information amount Tar are used as input, and a composite STC coding process of a forward motion vector and a backward motion vector based on load dynamic distribution is carried out; then according to the output actual embedded information quantity
Figure FDA0002828034080000091
The target embedded information amount Tar is updated in the way of
Figure FDA0002828034080000092
Step S719: judging whether the Tar is equal to 0, if so, ending the composite STC encoding process based on load dynamic distribution, and otherwise, entering the next step;
step S720: starting the embedding state of the updated secret information, the updated target embedding information amount Tar and
Figure FDA0002828034080000093
the motion vector, secret information and information collected by calculating cost are used as input, a composite STC coding process of a forward motion vector and a backward motion vector based on load dynamic distribution is carried out, and then the output actual embedded information quantity is utilized
Figure FDA0002828034080000094
The target embedded information amount Tar is updated in the way of
Figure FDA0002828034080000095
Step S721: judging whether Tar is equal to 0; if the current time is equal to 0, ending the composite STC encoding process based on load dynamic distribution, otherwise entering the next step;
step S722: starting the embedding state of the updated secret information, the updated target embedding information amount Tar and
Figure FDA0002828034080000096
the motion vector, secret information and information collected by calculating cost are used as input, the composite STC coding process of the forward motion vector and the backward motion vector of load dynamic distribution is carried out, and then the output actual embedded information quantity is utilized
Figure FDA0002828034080000097
The target embedded information amount Tar is updated in the way of
Figure FDA0002828034080000098
Step S723: judging whether Tar is 0, if so, embedding successfully, otherwise, embedding fails;
step S724: and outputting the modified motion vector and the information embedding state.
CN201910381194.7A 2019-05-08 2019-05-08 Multi-objective optimization H.264 video steganography method with constraint conditions Expired - Fee Related CN110149457B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910381194.7A CN110149457B (en) 2019-05-08 2019-05-08 Multi-objective optimization H.264 video steganography method with constraint conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910381194.7A CN110149457B (en) 2019-05-08 2019-05-08 Multi-objective optimization H.264 video steganography method with constraint conditions

Publications (2)

Publication Number Publication Date
CN110149457A CN110149457A (en) 2019-08-20
CN110149457B true CN110149457B (en) 2021-05-04

Family

ID=67594879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910381194.7A Expired - Fee Related CN110149457B (en) 2019-05-08 2019-05-08 Multi-objective optimization H.264 video steganography method with constraint conditions

Country Status (1)

Country Link
CN (1) CN110149457B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104853215A (en) * 2015-04-17 2015-08-19 中国科学院信息工程研究所 Video steganography method based on motion vector local optimality preservation
CN105872555A (en) * 2016-03-25 2016-08-17 中国人民武装警察部队工程大学 Steganalysis algorithm specific to H.264 video motion vector information embedment
CN105979269A (en) * 2016-06-03 2016-09-28 中国科学院信息工程研究所 Motion vector domain video steganography method based on novel embedding cost
CN107948655A (en) * 2017-11-22 2018-04-20 中山大学 A kind of H.264/AVC encrypted video steganography method based on CABAC

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094949B1 (en) * 1994-10-21 2012-01-10 Digimarc Corporation Music methods and systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104853215A (en) * 2015-04-17 2015-08-19 中国科学院信息工程研究所 Video steganography method based on motion vector local optimality preservation
CN105872555A (en) * 2016-03-25 2016-08-17 中国人民武装警察部队工程大学 Steganalysis algorithm specific to H.264 video motion vector information embedment
CN105979269A (en) * 2016-06-03 2016-09-28 中国科学院信息工程研究所 Motion vector domain video steganography method based on novel embedding cost
CN107948655A (en) * 2017-11-22 2018-04-20 中山大学 A kind of H.264/AVC encrypted video steganography method based on CABAC

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于运动矢量的 H.265/HEVC 视频隐写分析技术研究;蔡梓哲;《CNKI优秀硕士学位论文全文库》;20171231;全文 *

Also Published As

Publication number Publication date
CN110149457A (en) 2019-08-20

Similar Documents

Publication Publication Date Title
US8098731B2 (en) Intraprediction method and apparatus using video symmetry and video encoding and decoding method and apparatus
JP6005157B2 (en) Depth map encoding and decoding
CN101494782B (en) Video encoding method and apparatus, and video decoding method and apparatus
US8855203B2 (en) Video encoding apparatus and video decoding apparatus
KR100846512B1 (en) Method and apparatus for video encoding and decoding
CN101816183A (en) Method and apparatus for inter prediction encoding/decoding an image using sub-pixel motion estimation
De Silva et al. A new mode selection technique for coding depth maps of 3D video
KR101500781B1 (en) Method for processing images and the corresponding electronic device
WO2007143876A1 (en) Method and apparatus for adaptively determining a bit budget for encoding video pictures
CN110933426B (en) Decoding and encoding method and device thereof
Yuan et al. Hybrid distortion-based rate-distortion optimization and rate control for H. 265/HEVC
CN101543074A (en) Deblocking filtering apparatus and method
KR20170093833A (en) Coding of intra modes
CN105979269B (en) Motion vector field video steganography method based on novel insertion cost
KR20130108948A (en) Image encoding method using adaptive preprocessing
US20130336387A1 (en) Video encoding device, video encoding method and video encoding program
KR100856392B1 (en) Video Encoding and Decoding Apparatus and Method referencing Reconstructed Blocks of a Current Frame
Gaj et al. Prediction mode based H. 265/HEVC video watermarking resisting re-compression attack
US6141382A (en) Using estimated distortion values
CN110324634B (en) Video steganography method based on motion vector embedding distortion decomposition
CN110149457B (en) Multi-objective optimization H.264 video steganography method with constraint conditions
CN110062242B (en) H.264 video steganography algorithm based on UED
CN110662074B (en) Motion vector determination method and device
JP5566406B2 (en) Method for predicting block of image data, decoding and encoding device for realizing the method
CN106878753B (en) 3D video residual coding mode selection method using texture smoothing information

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210504

CF01 Termination of patent right due to non-payment of annual fee