A method for instant information covert communication based on video medium
By performing block processing on video frames, RS error correction coding and singular value transformation, secret information is embedded and extracted, which solves the problem of information loss after compression coding in spatial domain video steganography and improves the information survival rate and visual quality.
Patent Information
- Application Number
- CN202311736206.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-18
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2043-12-18
AI Technical Summary
Existing spatial domain video steganography methods make it easy for the embedded secret information to be lost or unable to be extracted after video compression encoding, and may lead to a degradation of visual quality.
Block processing, RS error correction coding, singular value transformation and steganography compensation strategy are adopted. Secret information is embedded in the singular value position of the video frame, and singular value extraction and error correction decoding are performed at the receiving end. The visual block flicker effect is suppressed in combination with the steganography compensation strategy.
The complete extraction of secret information after video compression encoding is achieved, the extraction bit error rate is reduced, the visual block flicker effect is suppressed, and the video quality is maintained.
Smart Images

Figure CN117793370B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of instant information secure communication, and particularly relates to a kind of instant information covert communication method based on video medium. BACKGROUND
[0002] In recent years, with the rapid development of network and multimedia processing technology, the number of Internet video users shows explosive growth, and video traffic accounts for more than half of the total network traffic, which provides a good application background for covert communication with video as the carrier.
[0003] According to the different data domains of secret information embedding, the existing video steganography methods are mainly divided into spatial domain and compression domain steganography. Among them, the spatial domain video steganography embeds secret information in the pixel values of video frames, while the compression domain video steganography embeds secret information in the compression parameters of video. When the video is decoded, the steganographic information in the compression domain may interfere with the decoding process of the compression algorithm, resulting in a certain degree of distortion drift. Therefore, compared with the compression domain video steganography, the spatial domain video steganography will not be affected by the distortion drift caused by the compression algorithm when extracting secret information, and the embedding capacity is relatively large. However, the spatial domain video steganography directly modifies the original pixel values of the video frame before video compression encoding to embed secret information, which may result in the loss or extraction of the embedded secret information after subsequent encoding and compression operations.
[0004] In view of this problem, the present application is generated. SUMMARY
[0005] The purpose of the present application is to provide a kind of instant information covert communication method based on video medium, which can hide, extract and other operations on instant information, realize that the secret information can still be completely and correctly extracted after the subsequent H.264 compression and compression encoding of the uncompressed video data containing secret information, and at the same time, the visual quality and embedding capacity can be well maintained.
[0006] In order to achieve the above purpose, the solution of the present application is:
[0007] A kind of instant information covert communication method based on video medium, comprising the following steps:
[0008] Step 1, the sender carries out block processing to each frame of the carrier video, and obtains an embedding block set B and a non-embedding block set C;
[0009] Step 2, the sender converts the instant information to be transmitted into binary data, performs RS error correction coding to obtain error correction coding blocks, and then performs code word scrambling processing on the error correction coding blocks;
[0010] Step 3, the sender performs singular value transformation on the embedded block set B to obtain a singular value diagonal matrix, and embeds the secret information of the error correction coding block in the first singular value position; then performs inverse singular value transformation to obtain a block containing secret information; at the same time, performs steganographic compensation on the non-embedded block set C; repeat until all secret information is embedded, to obtain a secret-containing luminance component;
[0011] Step 4, the sender performs video encoding on the secret-containing luminance component and the original chrominance component of the carrier video, encapsulates it as a secret-containing video, and sends it to the receiver;
[0012] Step 5, the receiver performs block processing on the secret-containing video to obtain an embedded block set B' and a non-embedded block set C';
[0013] Step 6, the receiver performs singular value transformation on the embedded block set B' to obtain a singular value diagonal matrix, and then extracts the hidden information from the first singular value position; repeat until all hidden information HM' is extracted;
[0014] Step 7, the receiver performs code word reorganization on the hidden information HM' to obtain an information block, performs RS error correction decoding on the information block to obtain binary hidden information, and then converts to obtain the transmitted instant information.
[0015] The specific content of step 1 is,
[0016] Step 11, decode the carrier video with resolution m x n to obtain YUV sequence data of each frame of video;
[0017] Step 12, extract the luminance component Y = {Y i |i = 1, 2,..., FN} of each frame, wherein FN is the total number of video frames, Y i represents the Y component sequence of the i-th frame of video;
[0018] Step 13, perform 8 x 8 size non-overlapping block processing on the Y component sequence Y i of each frame of video to obtain A = {A i |i = 1, 2,..., Le}, A i = {a i,j |j = 1, 2,..., 64}, wherein A i represents the i-th block, A i,j represents the j-th Y component value in the i-th block, represents a down rounding operation;
[0019] Step 14, divide each block A i into two small blocks B i = {b i,k |k = 1, 2,..., 32} and Ci = {c i,k | k = 1, 2,..., 32}, where B i represents the i-th embedded block, b i,k represents the k-th Y component value in the i-th embedded block; C i represents the i-th non-embedded block, c i,k represents the k-th Y component value in the i-th non-embedded block.
[0020] In the above step 2, the sender performs RS error correction coding on the binary data to obtain error correction coding blocks, including,
[0021] Step 2a, the binary data M is divided into blocks with 8rk length, if the last block is not enough bits, use zero to fill, the secret information after block is recorded as DM;
[0022] Step 2b, DM is RS error correction coding to obtain error correction coding block.
[0023] In the above step 2, the sender performs code word scrambling on the error correction coding block, including,
[0024] First, 2 code words are selected from each error correction coding information block RM i , to form the first information block, wherein, RM is the error correction coding block, wherein, is the number of error correction coding blocks; then, 2 code words after the aforementioned 2 code words are selected from each error correction coding information block RM i to form the second information block; in turn until there is no new secret information can be selected, if the last time selection, the selected secret information is less than 2 code words, then the remaining information is composed of the last information block.
[0025] The above step 3 is before singular value transformation, the sender first judges whether the length of the secret information to be embedded is less than or equal to the number of available carriers, if yes, singular value transformation is carried out, otherwise the process is stopped, and it is prompted that the information to be embedded is too long.
[0026] In the above step 3, the secret information of the error correction coding block is embedded in the first singular value position, including modifying the first singular value by using quantization modulation method, so as to embed the secret information of the error correction coding block.
[0027] The specific content of the above step 5 is,
[0028] Step 51, the secret-containing video with resolution m x n is decoded to obtain YUV sequence data of each frame of video;
[0029] Step 52, the luminance component Y of each frame is extracted, and 8 x 8 size non-overlapping block is carried out to obtain Ai i = 1, 2,..., Le,
[0030] Step 53, each block A i is divided into two small blocks B i and C i , and B' = {B i}, C' = {C i}.
[0031] In the above step 7, the receiver recombines the code words of the hidden information HM' to obtain the information blocks, including,
[0032] First, 2 code words are selected from the hidden information with an interval of bits, then 2 code words are selected again with an interval of bits, and so on until times, and the selected information is classified into the first information block; and the above process is sequentially repeated until no new secret information is selected, wherein, is the number of error correction code blocks.
[0033] After the above scheme is adopted, the present application has the following beneficial effects:
[0034] (1) Compared with other spatial domain video steganography methods directly using error correction code technology or repeated embedding to enhance the survival rate of secret information, the present application specifically analyzes the error distribution when the maximum singular value of the Y component of each frame of the video after being blocked is used as a carrier after steganography, designs an "error correction code technology + error correction code word disorder" strategy, and makes errors more evenly distributed to different blocks by disordering the error correction code words, so as to avoid too many errors appearing in the same block to cause the error to be unable to be corrected, thereby improving the survival rate of the secret message after steganography and reducing the extraction error rate.
[0035] (2) In view of the problem that changing a maximum singular value will affect the pixel values of the whole block, so that the brightness values of the current block and the surrounding blocks are different, thereby causing a visual block flicker effect, the present application proposes a steganography compensation strategy, which can well inhibit the visual block flicker effect caused by embedding. BRIEF DESCRIPTION OF DRAWINGS
[0036] Figure 1 is a diagram showing the change of the extraction error rate of different secret-containing videos before and after error correction;
[0037] Figure 2 is a comparison diagram of the pictures of the secret-containing videos with and without steganography compensation;
[0038] Wherein, (a) is a frame picture of the steganographic video without steganographic compensation, (b) is a frame picture of the steganographic video with steganographic compensation, (c) is another frame picture of the steganographic video without steganographic compensation, and (d) is another frame picture of the steganographic video with steganographic compensation.
[0039] Figure 3 is a flowchart of information embedding of the present application;
[0040] Figure 4 is a flowchart of information extraction of the present application;
[0041] Figure 5 is a schematic diagram of block division of embedded blocks and non-embedded blocks. DETAILED DESCRIPTION
[0042] The technical solutions and beneficial effects of the present application will be described in detail below with reference to the accompanying drawings.
[0043] The present application provides a real-time information steganographic communication method based on video media, which realizes the steganographic communication of real-time information through hiding of real-time information before sending and extraction of real-time information after receiving, and the following will be introduced respectively.
[0044] 1. Embedding flow, which can be combined with Figure 3
[0045] (1) Video preprocessing: input a carrier video in MP4 format with resolution of m x n, decode the video to obtain YUV sequence data of each frame of the video;
[0046] (2) Extract the luminance component of each frame, denoted as Y = {Y i |i = 1, 2,..., FN}, wherein FN is the total number of frames of the video, Y i represents the Y component sequence of the i-th frame of the video;
[0047] (3) Obtain the carrier:
[0048] First, the Y component sequence Y i of the i-th frame of the video is divided into 8 x 8 size blocks that do not overlap each other, denoted as A = {A i |i = 1, 2,..., Le}, A i = {a i,j |j = 1, 2,..., 64}, wherein A i represents the i-th block, A i,j represents the j-th Y component value in the i-th block, represents the floor operation;
[0049] Secondly, each block A i is divided into two small blocks B i={b i,k |k=1,2,...,32}and C i ={c i,k |k=1,2,...,32}. Wherein, B i represents the i-th embedded block, b i,k represents the k-th Y component value in the i-th embedded block, for subsequent embedding information, C i represents the i-th non-embedded block, c i,k represents the k-th Y component value in the i-th non-embedded block, for subsequent steganographic compensation, which can be combined Figure 5 as shown.
[0050]
[0051] Wherein, mod(j,8) represents the modulus 8 remainder of the integer j, mod(mod(j,8),2) represents the modulus 2 remainder of the integer mod(j,8).
[0052] (4) the to-be-transmitted real-time information is converted into binary data M={m1,m2,...,m L};
[0053] (5) when actually using RS error correction coding technology, if the error correction codewords of multiple RS error correction blocks are arranged in order, and there are continuous errors, these errors may cause uncorrectable in the same block. Therefore, the present application considers combining codeword scrambling strategy on the basis of using RS error correction code, by scrambling the error correction codeword, the error transmission will be dispersed in different blocks, increasing the possibility of error correction, and improving the overall error correction ability of the error correction code.
[0054] Therefore, M is first RS (rn, rk, rr) encoded, and then codeword scrambling processing. Wherein, rn represents the data length of the added check code, rk represents the number of valid information bits, and rr represents the added check code bit, in this embodiment, rn=240, rk=110; the specific first RS encoding and then codeword scrambling preprocessing implementation process is as follows:
[0055] First, M is divided into blocks with a length of 8rk, if the last block is not enough, it is filled with zero, and the secret information after division is recorded as:
[0056]
[0057] Wherein, DM i represents the i-th information block to be embedded, DM i,j represents the j-th element in the i-th information block to be embedded.
[0058] Secondly, DM is RS error correction coded to obtain an error correction coding block:
[0059]
[0060] Among them, RM i Indicates the i-th information block to be embedded DM i The i-th error correction coding information block after the corresponding RS error correction coding; RM i,j Represents the j-th element in the i-th error correction coding information block.
[0061] Finally, RM is scrambled: First, from each block RM i Select two code words in sequence, that is, 16 bits of information to form the first new block Second, from each block RM i The first 16 bits and the next 16 bits of information are sequentially selected to form a new block HM2; and so on until there is no new secret information to be selected. If the last selection results in less than 16 bits of secret information, the remaining information is used to form a new information block. The information block to be embedded after scrambling is recorded as:
[0062]
[0063] Among them, HM i represents the i-th information block to be embedded, hm i,j Represents the j-th element in the i-th information block to be embedded.
[0064] (6) Determine the length of the secret to be embedded Is it less than or equal to the number of available carriers FN×Le? If so, proceed to the next step; if not, stop the subsequent steps and prompt that the information to be hidden is too long;
[0065] (7) To B i Block singular value transformation B i =U∑V T , obtain the singular value diagonal matrix ∑=diag(λ i,1 ,λ i,2 ,...,λ i,r ,...,0). Where diag(*) represents a diagonal matrix, that is, a square matrix whose elements except the main diagonal are all zero, U and V are 8×8 and 4×4 orthogonal matrices respectively, and r is B i The rank of the matrix;
[0066] (8) Modify the first singular value λ using the quantization modulation method i,1 , in order to embed 1 bit of secret information rm i , get the maximum singular value λ' i Among them, the quantization modulation modification method is as follows:
[0067]
[0068] Here, Δ is the quantization step size, and in this embodiment, Δ=55.
[0069] (9) For the singular value diagonal matrix ∑=diag(λ i,1 ′,λ i,2 ,...,λ i,r ,...,0), combine the original U and V, perform inverse singular value transformation, and get the secret B i ';
[0070] (10) Steganographic compensation: Modify the non-embedded block C i , get the new non-embedded block C i ′=C i +(B i -B i ′);
[0071] (11) Repeat the above steps (5) to (10) until all the information to be hidden is embedded and the encrypted Y' component is obtained;
[0072] (12) Encode the YUV sequence to generate a steganographic video: encode the encrypted Y' component sequence and the original UV component and encapsulate them into a steganographic video in MP4 format.
[0073] 2. Extraction process can be coordinated with Figure 4
[0074] (1) Video preprocessing: Input a video in MP4 format with a resolution of m×n and containing encrypted data, decode the video, and obtain the YUV sequence data of each frame of the video;
[0075] (2) Extract the luminance component Y of each frame and divide it into 8×8 non-overlapping blocks, denoted as A′={A i ′|i=1,2,...,Le},A i ′={a i,j ′|j=1,2,...,64}, where
[0076] (3) Each block A i ' Divide into two small blocks B according to 8×4 i ′={b i,k ′|k=1,2,...,32} and C i ′={c i,k ′|k=1,2,...,32}.
[0077]
[0078] (4) To Bi Block singular value transformation B i = U'∑'V' T , obtaining a singular value diagonal matrix ∑'= diag(λ i,1 ', λ i,2 ',..., λ i,r ',..., 0);
[0079] (5) Extract the hidden information hm' from the first singular value λ i,1 ' by using the quantization modulation method. The quantization modulation modification method is as follows:
[0080]
[0081] (6) Repeat steps (3)-(5) until all the hidden information is extracted, denoted as HM';
[0082] (7) Code word reorganization is performed on the extracted hidden information HM':
[0083] First: the first time, 16-bit information is selected from the hidden information first, then 16-bit information is selected after an interval of bits, and so on until the time, and the selected information is classified as the first information block RM1'; and the same is true for the subsequent information blocks until no new secret information can be selected, and the reorganized hidden information is denoted as RM';
[0084] (8) RS error correction decoding is performed on each information block RM' to obtain binary hidden information M, and the binary data is converted into transmitted real-time information.
[0085] In order to test the performance of the method provided by the present application, the required experimental environment is built based on VS2022 and FFMPEG. The experimental results and analysis of the present embodiment are as follows.
[0086] The block size is 8x8, the error correction code is RS(240, 110), the quantization step size Δ = 55, and 20 test videos are full-load embedded. The extraction error rate change before and after error correction is as shown in Figure 1 . It can be seen that the method of the present application can basically ensure that the hidden information is hidden, and the secret message can still be completely and correctly extracted after subsequent H.264 compression encoding.
[0087] Figure 2 The two stego-embedding compensation strategies, with and without stego compensation, are respectively shown in the 10th frame of the embedded video. By comparison, it can be seen that the stego-embedding compensation strategy without stego compensation has obvious video flicker blocks in the subjective visual perception of human eyes, while the stego-embedding compensation strategy without stego compensation has no such phenomenon and is almost indistinguishable from the original video.
[0088] Those skilled in the art will appreciate that embodiments of the application can be supplied as methods, systems, or computer program products. Accordingly, the application can be embodied in the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the application can be embodied in the form of a computer program product on one or more computer readable storage media (including, but not limited to, disk memory, CD-ROMs, optical storage media, etc.) having computer usable program code embodied thereon. The aspects of the embodiments of the application can be implemented in various computer languages, such as the object-oriented programming language Java and the interpreted scripting language JavaScript, etc.
[0089] The present application is described in reference to the flowcharts and / or block diagrams according to the methods, devices (systems), and computer program products of the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 means for performing the function specified by one or more blocks.
[0090] These computer program instructions can also be stored in a computer readable memory capable of directing the computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce a product including instruction means, which implements the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.
[0091] These computer program instructions can also be loaded into a computer or other programmable data processing device, so that a series of operation steps are performed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide functions for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.
[0092] While the preferred embodiments of the application have been described, additional variations and modifications can be made to these embodiments by those skilled in the art once they have the benefit of the present disclosure without departing from the spirit and scope of the application. Accordingly, it is intended that the appended claims include all such modifications and variations as fall within the scope of the present application.
[0093] It is apparent that those skilled in the art can make various changes and modifications to the application without departing from the spirit and scope of the application. It is therefore intended that the present application cover all such changes and modifications that are within its scope.
Claims
1. A method for secret instant messaging communication based on video media, characterized in that The steps include: Step 1: The sender divides each frame of the carrier video into blocks to obtain an embedded block set B and a non-embedded block set C; Step 2: The sender converts the real-time information to be transmitted into binary data, performs RS error correction coding to obtain an error correction coding block, and then performs codeword scrambling processing on the error correction coding block; Step 3: The sender performs a singular value transform on the embedded block set B to obtain a singular value diagonal matrix, and embeds the secret information of the error correction coding block at the first singular value position; then performs an inverse singular value transform to obtain the secret information block; and simultaneously performs steganographic compensation on the non-embedded block set C. This process is repeated until all secret information is embedded, resulting in the secret brightness component. Step 4: The sender encodes the encrypted luminance component and the original chrominance component of the carrier video, encapsulates the encrypted video, and sends it to the receiver; Step 5: The receiver divides the encrypted video into blocks to obtain a second embedded block set B' and a second non-embedded block set C'; Step 6: The receiver performs a singular value transformation on the second embedded block set B' to obtain a singular value diagonal matrix, and then extracts the hidden information from the first singular value position; repeat until all the hidden information HM' is extracted; Step 7: The receiver reconstructs the hidden information HM′ into codewords to obtain information blocks, performs RS error correction decoding on the information blocks to obtain binary hidden information, and then converts it into the transmitted real-time information. In step 2, the sender performs RS error correction coding on the binary data to obtain an error correction coding block, including: Step 2a, divide the binary data M into blocks of 8rk length, If the last block is insufficient, fill it with zeros and record the secret information after block division as DM; Step 2b, performing RS error correction coding on the DM to obtain an error correction coding block; In step 2, the sender performs codeword scrambling on the error correction coding block, including: First, from each error correction coded information block RM i Select 2 code words from to form the first information block, where RM is the error correction coding block, where is the number of error correction coding blocks; then, from each error correction coding information block RM i The two code words after the above two code words are selected to form the second information block; and so on until there is no new secret information to be selected. If the secret information selected in the last selection is less than two code words, the remaining information is used to form the last information block.
2. The method according to claim 1, wherein: The specific content of step 1 is: Step 11: decode the carrier video with a resolution of m×n to obtain YUV sequence data of each frame of video; Step 12: Extract the brightness component Y of each frame. i |i=1,2,...,FN}, where FN is the total number of video frames, Y i Represents the Y component sequence of the i-th frame video; Step 13: for each frame of video, the Y component sequence Y i Divide the blocks into 8×8 blocks without overlapping, and get A={A i |i=1,2,...,Le},A i ={a i,j |j=1,2,...,64}, where A i represents the i-th block, a i,j Indicates the j-th Y component value in the i-th block, Indicates floor operation; Step 14: Each block A i Divide into two small blocks of 8×4 i ={b i,k |k=1,2,...,32} and C i ={c i,k |k=1,2,...,32}, where B i represents the i-th embedding block, b i,k represents the k-th Y component value in the i-th embedded block; C i represents the i-th non-embedded block, c i,k Represents the k-th Y component value in the i-th non-embedded block.
3. The method according to claim 1, wherein: In step 3, before performing the singular value transformation, the sender first determines whether the length of the secret information to be embedded is less than or equal to the number of available carriers. If so, the singular value transformation is performed; otherwise, the process is stopped and a prompt is given that the information to be embedded is too long.
4. The method according to claim 1, wherein: In step 3, embedding the secret information of the error correction coding block at the first singular value position includes modifying the first singular value using a quantization modulation method, thereby embedding the secret information of the error correction coding block.
5. The method according to claim 1, wherein: The specific content of step 5 is: Step 51: Decode the encrypted video with a resolution of m×n to obtain YUV sequence data of each frame of video; Step 52: extract the brightness component Y of each frame and divide it into 8×8 non-overlapping blocks to obtain A i ′, i=1,2,...,Le, Step 53: Each block A i ' Divide into two small blocks B according to 8×4 i ′ and C i ′, and B′={B i ′},C′={C i ′}.
6. The method according to claim 1, wherein: In step 7, the receiver reorganizes the hidden information HM′ into code words to obtain an information block, including: First, select two code words from the hidden information, with an interval of bits, then select 2 code words, and then space them out. bits, and so on, until the selected Until the number of times, the selected information is classified as the first information block; and so on until no new secret information is selected, where is the number of error correction coding blocks.
Citation Information
Patent Citations
Method, device and system for embedding and removing watermark
CN101472161A
Singular value modification video steganographic algorithm based on combination with improved matrix coding
CN105791854A