H.265 / HEVC Video Adaptive Steganography Method Based on Improved RDO
Through improved RDO technology and STC algorithm, adaptive data hiding is performed on the PU division mode in HEVC video, solving the problems of bit rate growth and low security in the existing technology, and achieving high-quality and high-security video steganography.
Patent Information
- Application Number
- CN202211648610.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-21
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2042-12-21
AI Technical Summary
The existing HEVC video steganography technology has problems such as severe growth in bit rates, declining video quality and low security.
Using the improved Rate Distortion Optimization (RDO) technology, data hiding is performed on the PU division mode in HEVC video through adaptive distortion value calculation function and STC algorithm, suppressing bit rate growth and improving video picture quality and algorithm security.
It effectively reduces the bit rate increase caused by steganography, improves the video visual quality, and improves the security of steganography algorithms.
Smart Images

Figure CN116233441B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a video steganography technology, in particular to an adaptive H.265 / HEVC video steganography method based on improved RDO (Rate Distortion Optimization). Background Art
[0002] Today, with the rapid development of digital media technology, the popularization of multimedia processing technology has made multimedia an important means for people to obtain information. Video data has grown explosively, especially in the social network and entertainment industries, where video has increasingly become the mainstream media. While people are enjoying the dividends brought by the information age, they are also paying more and more attention to the security of electronic information content transmitted in public channels in multimedia.
[0003] To solve these security problems, researchers have successively proposed means such as information hiding and digital encryption. Information hiding technology includes digital watermarking and steganography. Information hiding technology has been applied to many fields, such as ownership claim protection, privacy protection, and covert communication. Video steganography is closely related to video coding standards. High Efficiency Video Coding (HEVC) is a video coding standard jointly released by ITU-T VCEG and ISO / IEC MPEG. HEVC can double the compression efficiency based on H.264 / AVC, that is, reduce the bit rate of the video stream by 50% while ensuring the same video image quality. HEVC video steganography technology can naturally hide the communication caused by user behavior, ensure the rationality of user behavior, and reduce the risk of exposing hidden communication. However, most of the existing HEVC video steganography technologies based on PU (Prediction Unit) have problems such as serious bit rate growth, sacrificing bit rate for video quality, and relatively low security of the steganography algorithm. For example, Zhang et al. used an improved EMD (Exploiting Modification Direction) algorithm to improve the embedding efficiency, but this led to a relatively serious increase in the bit rate. At the same time, there is no restriction on modifying the PU partition mode. During steganography, each PU partition mode can be modified to any other PU partition mode, and this arbitrary modification will also lead to a decline in security performance. Therefore, it is of great practical significance to develop a HEVC video steganography method with high security and low bit rate growth. Summary of the Invention
[0004] The technical problem to be solved by the present invention is to provide an adaptive H.265 / HEVC video steganography method based on improved RDO, which can reduce the bit rate growth caused by steganography, improve the visual quality of the video, and has high security.
[0005] The technical solution adopted by the present invention to solve the above technical problems is as follows: An H.265 / HEVC video adaptive steganography method based on improved RDO, which includes two parts: embedding hidden information and extracting hidden information; characterized in that:
[0006] The specific process of the hidden information embedding is as follows:
[0007] Step 1_1: Use the H.265 / HEVC standard encoder to compress and encode the original video. During the compression and encoding process, save the prediction mode and depth of each coding unit in each coding tree unit in each frame, and the PU division mode corresponding to each coding unit. After the compression and encoding is completed, obtain the H.265 / HEVC video; wherein, the size of the coding tree unit is 64×64, and the size of the coding unit is 64×64 or 32×32 or 16×16 or 8×8;
[0008] Step 1_2: Traverse all frames in the H.265 / HEVC video in order, and define the currently traversed frame as the current frame;
[0009] Step 1_3: Determine whether the current frame is a P frame. If the current frame is a P frame, execute Step 1_4; if the current frame is not a P frame, directly execute Step 1_7;
[0010] Step 1_4: Traverse all coding units of all sizes in the current frame in order, and define the currently traversed coding unit as the current unit;
[0011] Step 1_5: If the size of the current unit is 64×64, do not process the current unit, and then execute Step 1_6; if the size of the current unit is 32×32 or 16×16, use the PU division mode corresponding to the current unit as the carrier and classify it as the first type of carrier, and record the index position of the current unit in the H.265 / HEVC video, the depth of the current unit, and the PU division mode corresponding to the current unit, and then execute Step 1_6; if the size of the current unit is 8×8, use the PU division mode corresponding to the current unit as the carrier and classify it as the second type of carrier, and record the index position of the current unit in the H.265 / HEVC video, the depth of the current unit, and the PU division mode corresponding to the current unit, and then execute Step 1_6;
[0012] Step 1_6: Traverse the next coding unit in the current frame as the current unit, and then return to Step 1_5 to continue execution until all coding units in the current frame have been traversed, and then execute Step 1_7;
[0013] Step 1_7: Traverse the next frame in the H.265 / HEVC video as the current frame, then return to Step 1_3 to continue execution until all frames in the H.265 / HEVC video have been traversed, and then execute Step 1_8;
[0014] Step 1_8: Map all carriers, i.e., PU partition modes, classified as the first type of carrier and those classified as the second type of carrier respectively. The specific process is as follows:
[0015] There are eight PU partition modes for the first type of carrier, namely 2N×2N, N×N, 2N×N, 2N×nU, 2N×nD, N×2N, nL×2N, and nR×2N partition modes. The 2N×N, 2N×nU, and 2N×nD partition modes are all horizontal partition modes, and the N×2N, nL×2N, and nR×2N partition modes are all vertical partition modes; for any carrier classified as the first type of carrier, if the carrier is in the 2N×2N or N×N partition mode, no mapping is performed on the carrier; if the carrier is in the 2N×N partition mode, map the carrier to the integer 0; if the carrier is in the 2N×nU partition mode, map the carrier to the integer 1; if the carrier is in the 2N×nD partition mode, map the carrier to the integer 2; if the carrier is in the N×2N partition mode, map the carrier to the integer 3; if the carrier is in the nL×2N partition mode, map the carrier to the integer 4; if the carrier is in the nR×2N partition mode, map the carrier to the integer 5; then arrange all the integers obtained after mapping all carriers classified as the first type of carrier in the order of the index positions of the coding units corresponding to the carrier, i.e., the PU partition mode, in the H.265 / HEVC video to form the first type of carrier sequence; then execute Step 1_9;
[0016] There are four PU partition modes for the second type of carrier, namely 2N×2N, 2N×N, N×2N, and N×N partition modes; for any carrier classified as the second type of carrier, if the carrier is in the 2N×2N partition mode, no mapping is performed on the carrier; if the carrier is in the 2N×N partition mode, map the carrier to the integer 0; if the carrier is in the N×2N partition mode, map the carrier to the integer 1; if the carrier is in the N×N partition mode, map the carrier to the integer 2; then arrange all the integers obtained after mapping all carriers classified as the second type of carrier in the order of the index positions of the coding units corresponding to the carrier, i.e., the PU partition mode, in the H.265 / HEVC video to form the second type of carrier sequence; then execute Step 1_9;
[0017] Step 1_9: Calculate the cost of modifying the carrier corresponding to each integer in the first type of carrier sequence to the carrier corresponding to another integer in the same type of carrier sequence, i.e., the PU partition mode. For the carrier corresponding to any integer in the first type of carrier sequence, take it as the current carrier, set the current carrier as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video. Denote the cost of modifying the current carrier to the carrier corresponding to another arbitrary integer t in the same type of carrier sequence as the PU partition mode as ρ t m,n,k ,
[0018] Calculate the cost of modifying the carrier corresponding to each integer in the second type of carrier sequence to the carrier corresponding to another integer in the same type of carrier sequence, i.e., the PU partition mode. For the carrier corresponding to any integer in the second type of carrier sequence, take it as the current carrier, set the current carrier as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video. Denote the cost of modifying the current carrier to the carrier corresponding to another arbitrary integer s in the same type of carrier sequence as the PU partition mode as
[0019] where 1 ≤ m ≤ M, M represents the total number of frames in the H.265 / HEVC video, 1 ≤ n ≤ N, N represents the total number of coding tree units in the m-th frame of the H.265 / HEVC video, 1 ≤ n ≤ N, 1 ≤ k ≤ K, K represents the total number of coding units in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video. If the current carrier belongs to the first type of carrier, when the integer corresponding to the current carrier is 0, t is 1, 2, 3, 4, or 5; when the integer corresponding to the current carrier is 1, t is 0, 2, 3, 4, or 5; when the integer corresponding to the current carrier is 2, t is 0, 1, 3, 4, or 5; when the integer corresponding to the current carrier is 3, t is 0, 1, 2, 4, or 5; when the integer corresponding to the current carrier is 4, t is 0, 1, 2, 3, or 5; when the integer corresponding to the current carrier is 5, t is 0, 1, 2, 3, or 4. exp() represents the exponential function with the natural base e, α represents the inter-frame distortion transfer rate, 0 < α < 1, GOPSize represents the total number of frames in a group of pictures (GOP) in the H.265 / HEVC video, Poc represents the position of the frame where the coding unit corresponding to the current carrier is located within the GOP of the frame where the current carrier is located, i.e., the frame where the coding unit corresponding to the current carrier is located is the Poc-th frame within the GOP of the frame where the current carrier is located, 1 ≤ Poc ≤ GOPSize, represents the distortion after modifying the current carrier to the carrier corresponding to another arbitrary integer t in the same type of carrier sequence as the PU partition mode, It represents the number of bits after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, i.e., after the PU partitioning mode. It represents the Lagrange factor after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, i.e., after the PU partitioning mode. It represents the distortion control factor. It represents the bit rate control factor. If the current carrier belongs to the second type of carrier, when the integer corresponding to the current carrier is 0, s is 1 or 2; when the integer corresponding to the current carrier is 1, s is 0 or 2; when the integer corresponding to the current carrier is 2, s is 0 or 1. It represents the distortion after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, i.e., after the PU partitioning mode. It represents the number of bits after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, i.e., after the PU partitioning mode. It represents the Lagrange factor after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, i.e., after the PU partitioning mode.
[0020] Step 1_10: Calculate the distortion cost values when each integer in the first type of carrier sequence is incremented by 1, remains unchanged, or decremented by 1. For any integer in the first type of carrier sequence, take it as the current integer, set the carrier corresponding to the current integer as the PU partitioning mode corresponding to the k-th coding unit in the n-th coding tree unit of the m-th frame in the H.265 / HEVC video, and denote the distortion cost value when the current integer is incremented by 1 as Denote the distortion cost value when the current integer remains unchanged as Denote the distortion cost value when the current integer is decremented by 1 as If the current integer z m,n,k is 0, then is infinite; if the current integer z m,n,k is 1, then If the current integer z m,n,k is 2, then is infinite, If the current integer z m,n,k is 3, then is infinite; if the current integer z m,n,k is 4, then If the current integer z m,n,k is 5, then is infinite,
[0021] Calculate the distortion cost values when each integer in the second - type carrier sequence is incremented by 1, remains unchanged, or is decremented by 1. For any integer in the second - type carrier sequence, take it as the current integer, and set the carrier corresponding to the current integer as the PU partition mode corresponding to the k - th coding unit in the n - th coding tree unit in the m - th frame of the H.265 / HEVC video. Denote the distortion cost value when the current integer is incremented by 1 as Denote the distortion cost value when the current integer remains unchanged as Denote the distortion cost value when the current integer is decremented by 1 as If the current integer is 0, then is infinite; if the current integer is 1, then If the current integer is 2, then is infinite,
[0022] Step 1_11: Randomly generate two different binary stego - information sequences using the same embedding payload, denoted as X 1 and X 2 respectively; then, according to the distortion cost values when each integer in the first - type carrier sequence is incremented by 1, remains unchanged, or is decremented by 1, use the STC toolkit to embed X 1 into all the integers in the first - type carrier sequence to obtain the first - type stego - carrier sequence; similarly, according to the distortion cost values when each integer in the second - type carrier sequence is incremented by 1, remains unchanged, or is decremented by 1, use the STC toolkit to embed X 2 into all the integers in the second - type carrier sequence to obtain the second - type stego - carrier sequence; where payload ∈(0, 0.5], the length of X 1 is Num 1 ×payload, the length of X 2 is Num 2 ×payload, Num 1 represents the total number of carriers in the first - type carrier, and Num 2 represents the total number of carriers in the second - type carrier;
[0023] Step 1_12: Convert all the integers in the first - type stego - carrier sequence and the second - type stego - carrier sequence into PU partition modes respectively. The specific process is as follows:
[0024] There are six integers in the first type of encrypted carrier sequence, which are 0, 1, 2, 3, 4, and 5 respectively. The integer 0 is converted into a 2N×N partitioning pattern, the integer 1 is converted into a 2N×nU partitioning pattern, the integer 2 is converted into a 2N×nD partitioning pattern, the integer 3 is converted into an N×2N partitioning pattern, the integer 4 is converted into an nL×2N partitioning pattern, and the integer 5 is converted into an nR×2N partitioning pattern; then all the PU partitioning patterns obtained after converting all the integers in the first type of encrypted carrier sequence are used to replace the carriers at the same positions in the first type of carrier in sequence to form the first type of encrypted carrier;
[0025] There are three integers in the second type of encrypted carrier sequence, which are 0, 1, and 2 respectively. The integer 0 is converted into a 2N×N partitioning pattern, the integer 1 is converted into an N×2N partitioning pattern, and the integer 2 is converted into an N×N partitioning pattern; then all the PU partitioning patterns obtained after converting all the integers in the second type of encrypted carrier sequence are used to replace the carriers at the same positions in the second type of carrier in sequence to form the second type of encrypted carrier;
[0026] Step 1_13: Use the H.265 / HEVC standard encoder to perform compression encoding on the original video. During the prediction process of the compression encoding, replace the original PU partitioning patterns at the corresponding positions with the first type of encrypted carrier and the second type of encrypted carrier after steganography, and obtain the encrypted video bitstream after compression encoding;
[0027] The specific process of the hidden information extraction is as follows:
[0028] Step 2_1: Use the H.265 / HEVC standard decoder to decode the encrypted video bitstream. During the decoding process, save the prediction mode and depth of each coding unit in each coding tree unit in each frame, and the PU partitioning pattern corresponding to each coding unit. After the decoding is completed, obtain the decoded video;
[0029] Step 2_2: According to the process of obtaining the first type of carrier sequence and the second type of carrier sequence in steps 1_2 to 1_8, obtain the encrypted first type of carrier sequence and the encrypted second type of carrier sequence corresponding to the decoded video in the same way;
[0030] Step 2_3: Use the STC toolkit to decode the encrypted first type of carrier sequence obtained in step 2_2, and extract the first hidden information, denoted as Similarly, use the STC toolkit to decode the encrypted second type of carrier sequence obtained in step 2_2, and extract the second hidden information, denoted as
[0031] In the said step 1_9, the value of α is 0.5, The value of is 0.3, The value of is 0.7.
[0032] In step 1_9 described above, and The values of depend on whether the Merge inter-frame prediction mode is adopted. When the Merge inter-frame prediction mode is adopted, and The values of are the SATD values; when the non-Merge inter-frame prediction mode is adopted, and The values of are the coding distortions.
[0033] In step 1_9 described above, and The values of depend on whether the Merge inter-frame prediction mode is adopted. When the Merge inter-frame prediction mode is adopted, and The values of are the number of coding bits of the Merge index; when the non-Merge inter-frame prediction mode is adopted, and The values of are the number of coding bits representing the prediction mode and the residual transform coefficients.
[0034] In step 1_9 described above, and The values of are calculated by μ·ω·2 (QP-12) / 3.0 , where the value of μ depends on whether the frame corresponding to the current carrier is a reference frame within the GOP (Group of Pictures) to which the frame belongs. If the frame is a reference frame within its GOP, then μ = 1.0 - Clip3(0.0, 0.5, 0.05N B ), if the frame is a non-reference frame within its GOP, then μ = 1.0, N B represents the total number of B frames within a GOP in H.265 / HEVC video, Clip3() is the Clip operation function, ω represents the weighting factor, and the value of ω is determined by the coding configuration and the position Poc of the frame corresponding to the current carrier within the GOP to which the frame belongs. QP represents the coding quantization parameter of the frame corresponding to the current carrier.
[0035] Compared with the prior art, the advantages of the present invention are as follows:
[0036] 1) By analyzing factors such as the influence of inter-frame distortion and the increase in bit rate, the method of the present invention designs an adaptive distortion cost value calculation function that combines multiple factors (see the cost value calculation formula in step 1_9), and uses the STC algorithm to perform adaptive data hiding on the PU partition mode (see step 1_11), which can effectively improve the quality of the stego video picture and the security of the algorithm.
[0037] 2) By considering the decision-making process of the PU partitioning mode in HEVC encoding and referring to the impact of rate-distortion optimization (RDO) on the PU partitioning mode, the method of the present invention introduces the rate-distortion cost (RD cost) during the embedding process and adjusts the weights of distortion and bit rate to suppress the serious increase in bit rate caused by steganography, thereby reducing the increase in video bit rate.
[0038] 3) Both the HEVC video steganography and extraction processes in the method of the present invention are completed in the prediction unit. Therefore, decoding the video bitstream after data hiding with a standard HEVC video decoder can obtain a high-definition stego video while ensuring the effective extraction of the hidden information, with a broader application prospect and can be easily applied to real-time communication in real life. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 is the overall implementation block diagram of the method of the present invention;
[0040] Figure 2 is the result on the BRI of the stego video obtained by performing data steganography on the original video using the Zhang method and the stego video obtained by performing data hiding on the original video using the method of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0041] The present invention will be further described in detail below in conjunction with the embodiments of the drawings.
[0042] An H.265 / HEVC video adaptive steganography method based on improved RDO proposed by the present invention, its overall implementation block diagram is as Figure 1 shown, which includes two parts: hidden information embedding and hidden information extraction.
[0043] The specific process of the hidden information embedding is as follows:
[0044] Step 1_1: Compress and encode the original video using the H.265 / HEVC standard encoder. During the compression and encoding process, save the prediction mode and depth of each coding unit (CU, Coding Unit) in each coding tree unit (CTU, Coding Tree Unit) in each frame, and the PU (Prediction Unit, prediction unit) partitioning mode corresponding to each coding unit. After the compression and encoding are completed, an H.265 / HEVC video is obtained; wherein, the size of the coding tree unit is 64×64, and the size of the coding unit is 64×64 or 32×32 or 16×16 or 8×8.
[0045] Step 1_2: Traverse all frames in the H.265 / HEVC video in sequence, and define the currently traversed frame as the current frame.
[0046] Step 1_3: Determine whether the current frame is a P frame. If the current frame is a P frame, then execute Step 1_4; if the current frame is not a P frame, then directly execute Step 1_7.
[0047] Step 1_4: Sequentially traverse all coding units of all sizes in the current frame, and define the currently traversed coding unit as the current unit.
[0048] Step 1_5: If the size of the current unit is 64×64, then do not process the current unit, and then execute Step 1_6; if the size of the current unit is 32×32 or 16×16, then use the PU partition mode corresponding to the current unit as a carrier and classify it as the first type of carrier, and record the index position of the current unit in the H.265 / HEVC video, the depth of the current unit, and the PU partition mode corresponding to the current unit, and then execute Step 1_6; if the size of the current unit is 8×8, then use the PU partition mode corresponding to the current unit as a carrier and classify it as the second type of carrier, and record the index position of the current unit in the H.265 / HEVC video, the depth of the current unit, and the PU partition mode corresponding to the current unit, and then execute Step 1_6.
[0049] Step 1_6: Traverse the next coding unit in the current frame as the current unit, and then return to Step 1_5 to continue execution until all coding units in the current frame have been traversed, and then execute Step 1_7.
[0050] Step 1_7: Traverse the next frame in the H.265 / HEVC video as the current frame, and then return to Step 1_3 to continue execution until all frames in the H.265 / HEVC video have been traversed, and then execute Step 1_8.
[0051] Step 1_8: Map all carriers classified as the first type of carrier and the second type of carrier, that is, the PU partition modes, respectively. The specific process is as follows:
[0052] There are a total of eight PU partitioning patterns for the first type of carriers, namely 2N×2N, N×N, 2N×N, 2N×nU, 2N×nD, N×2N, nL×2N, and nR×2N partitioning patterns. The 2N×N, 2N×nU, and 2N×nD partitioning patterns are all horizontal partitioning patterns, and the N×2N, nL×2N, and nR×2N partitioning patterns are all vertical partitioning patterns; for any carrier classified as the first type of carrier, if the carrier is in the 2N×2N partitioning pattern or the N×N partitioning pattern, then no mapping is performed on the carrier; if the carrier is in the 2N×N partitioning pattern, then the carrier is mapped to the integer 0; if the carrier is in the 2N×nU partitioning pattern, then the carrier is mapped to the integer 1; if the carrier is in the 2N×nD partitioning pattern, then the carrier is mapped to the integer 2; if the carrier is in the N×2N partitioning pattern, then the carrier is mapped to the integer 3; if the carrier is in the nL×2N partitioning pattern, then the carrier is mapped to the integer 4; if the carrier is in the nR×2N partitioning pattern, then the carrier is mapped to the integer 5; then all the integers obtained after mapping all the carriers classified as the first type of carrier are arranged in the order of the index positions of the coding units corresponding to the carriers, i.e., the PU partitioning patterns, in the H.265 / HEVC video to form the first type of carrier sequence; then step 1_9 is executed.
[0053] There are a total of four PU partitioning patterns for the second type of carriers, namely 2N×2N, 2N×N, N×2N, and N×N partitioning patterns; for any carrier classified as the second type of carrier, if the carrier is in the 2N×2N partitioning pattern, then no mapping is performed on the carrier; if the carrier is in the 2N×N partitioning pattern, then the carrier is mapped to the integer 0; if the carrier is in the N×2N partitioning pattern, then the carrier is mapped to the integer 1; if the carrier is in the N×N partitioning pattern, then the carrier is mapped to the integer 2; then all the integers obtained after mapping all the carriers classified as the second type of carrier are arranged in the order of the index positions of the coding units corresponding to the carriers, i.e., the PU partitioning patterns, in the H.265 / HEVC video to form the second type of carrier sequence; then step 1_9 is executed.
[0054] Step 1_9: In HEVC encoding, the PU partition mode is determined by the RDO technique. To accurately measure the bitrate increase and picture quality degradation caused by modifying the PU partition mode, the present invention uses the RD cost of improved RDO as part of the distortion cost, that is, weight control factors are respectively assigned to the distortion and the number of bits, so that it favors the carrier with less impact on the embedded bitrate and reasonable visual distortion during the embedding process. Calculate the cost value of modifying the carrier corresponding to each integer in the first type of carrier sequence to the carrier corresponding to other integers in the same type of carrier sequence, that is, the PU partition mode. For the carrier corresponding to any integer in the first type of carrier sequence, take it as the current carrier, set the current carrier as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video, and record the cost value of modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence as
[0055] Calculate the cost value of modifying the carrier corresponding to each integer in the second type of carrier sequence to the carrier corresponding to other integers in the same type of carrier sequence, that is, the PU partition mode. For the carrier corresponding to any integer in the second type of carrier sequence, take it as the current carrier, set the current carrier as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video, and record the cost value of modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence as
[0056] Where 1 ≤ m ≤ M, M represents the total number of frames included in the H.265 / HEVC video, 1 ≤ n ≤ N, N represents the total number of coding tree units included in the m-th frame in the H.265 / HEVC video, 1 ≤ n ≤ N, 1 ≤ k ≤ K, K represents the total number of coding units included in the n-th coding tree unit in the m-th frame in the H.265 / HEVC video. If the current carrier belongs to the first type of carrier, when the integer corresponding to the current carrier is 0, t is 1, 2, 3, 4, or 5; when the integer corresponding to the current carrier is 1, t is 0, 2, 3, 4, or 5; when the integer corresponding to the current carrier is 2, t is 0, 1, 3, 4, or 5; when the integer corresponding to the current carrier is 3, t is 0, 1, 2, 4, or 5; when the integer corresponding to the current carrier is 4, t is 0, 1, 2, 3, or 5; when the integer corresponding to the current carrier is 5, t is 0, 1, 2, 3, or 4. That is, the current carrier corresponds to 5 cost values. exp() represents the exponential function with the natural base e, e = 2.71…, α represents the inter-frame distortion transfer rate, 0 < α < 1, and in this embodiment, α is taken as 0.5. GOPSize represents the total number of frames in a group of pictures (GOP) in the H.265 / HEVC video. In this embodiment, the value of GOPSize is taken as 4. Poc represents the position of the frame where the coding unit corresponding to the current carrier is located within the GOP of the frame where the current frame is located, that is, the frame where the coding unit corresponding to the current carrier is located is the Poc-th frame within the GOP of the frame where the current frame is located, 1 ≤ Poc ≤ GOPSize. represents the distortion after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, that is, after the PU partition mode. represents the number of bits after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, that is, after the PU partition mode. represents the Lagrange factor after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, that is, after the PU partition mode. represents the distortion control factor. represents the bit rate control factor. It is found through experimental tests that when the video has a relatively low bit rate increase and a relatively low impact on video quality, and the embedding effect is better. If the current carrier belongs to the second type of carrier, when the integer corresponding to the current carrier is 0, s is 1 or 2; when the integer corresponding to the current carrier is 1, s is 0 or 2; when the integer corresponding to the current carrier is 2, s is 0 or 1. That is, the current carrier corresponds to 2 cost values. represents the distortion after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, that is, after the PU partition mode. represents the number of bits after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, that is, after the PU partition mode. Denotes the Lagrange factor after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, i.e., after the PU partitioning mode, and are both the RD costs for improving RDO.
[0057] In this embodiment, in step 1_9, α is taken as 0.5, is taken as 0.3, is taken as 0.7.
[0058] In this embodiment, in step 1_9, and The values of depend on whether the Merge inter prediction mode is adopted. When the Merge inter prediction mode is adopted, and The values of are the SATD (Sum of Absolute Transformed Difference) values; when the non-Merge inter prediction mode (AMVP technique) is adopted, and The values of are the coding distortions. In the process of compressing and encoding HEVC videos using the HM encoder, by turning off the AMP_ENC_SPEEDUP fast mode, i.e., setting AMP_ENC_SPEEDUP = 0, the distortions corresponding to each PU partitioning mode can be directly obtained.
[0059] In this embodiment, in step 1_9, and The values of depend on whether the Merge inter prediction mode is adopted. When the Merge inter prediction mode is adopted, and The values of are the coding bits of the Merge index; when the non-Merge inter prediction mode (AMVP technique) is adopted, and The values of are the coding bits representing the prediction mode and the residual transform coefficients. In the process of compressing and encoding HEVC videos using the HM encoder, by turning off the AMP_ENC_SPEEDUP fast mode, i.e., setting AMP_ENC_SPEEDUP = 0, the bits corresponding to each PU partitioning mode can be directly obtained.
[0060] In this embodiment, in step 1_9, and The values of are calculated by μ·ω·2 (QP-12) / 3.0 where the value of μ depends on whether the frame corresponding to the current carrier is a reference frame within the GOP (Group of Pictures) to which the frame belongs. If the frame is a reference frame within its GOP, then μ = 1.0 - Clip3(0.0, 0.5, 0.05NB ), if the frame is a non-reference frame in the picture group GOP, then μ=1.0, N B Indicates the total number of B frames in a GOP in H.265 / HEVC video (P frames in LDP configuration are also counted as B frames in HM), Clip3() is the Clip operation function, ω represents the weighting factor, and the value of ω is determined by the encoding configuration and the position Poc of the frame where the coding unit corresponding to the current carrier is located in the GOP where the frame is located, and QP represents the encoding quantization parameter of the frame where the coding unit corresponding to the current carrier is located. In the process of compressing and encoding HEVC video using HM encoder, turn off the AMP_ENC_SPEEDUP fast mode, that is, set AMP_ENC_SPEEDUP = 0 to directly obtain the Lagrangian factors corresponding to each PU partition mode.
[0061] Step 1_10: Calculate the distortion cost value when each integer in the first type of carrier sequence is increased by 1, remains unchanged, or decreased by 1. For any integer in the first type of carrier sequence, take it as the current integer, set the carrier corresponding to the current integer to the PU partition mode corresponding to the kth coding unit in the nth coding tree unit in the mth frame of the H.265 / HEVC video, and record the distortion cost value when the current integer is increased by 1 as The distortion cost when the current integer remains unchanged is recorded as The distortion cost when the current integer is reduced by 1 is recorded as If the current integer z m,n,k If is 0, is infinite; if the current integer z m,n,k is 1, then If the current integer z m,n,k is 2, then For infinity, If the current integer z m,n,k If is 3, is infinite; if the current integer z m,n,k is 4, then If the current integer z m,n,k is 5, then For infinity, In order to prevent inaccurate recognition of video content due to a significant modification of the PU partition mode, it is stipulated here that the modification of the PU partition mode is performed in the same direction, that is, the horizontal partition mode and the vertical partition mode cannot be modified mutually.
[0062] Calculate the distortion cost values when each integer in the second - type carrier sequence is incremented by 1, remains unchanged, or is decremented by 1. For any integer in the second - type carrier sequence, take it as the current integer, and set the carrier corresponding to the current integer as the PU partition mode corresponding to the k - th coding unit in the n - th coding tree unit in the m - th frame of the H.265 / HEVC video. Denote the distortion cost value when the current integer is incremented by 1 as Denote the distortion cost value when the current integer remains unchanged as Denote the distortion cost value when the current integer is decremented by 1 as If the current integer is 0, then is infinite; if the current integer is 1, then If the current integer is 2, then is infinite,[[]]
[0063] Step 1_11: Randomly generate two different binary stego - information sequences using the same embedding payload, denoted as X 1 and X 2 respectively; then, according to the distortion cost values when each integer in the first - type carrier sequence is incremented by 1, remains unchanged, or is decremented by 1, use the STC (Syndrome - Trellis Codes) toolkit to embed X 1 into all integers in the first - type carrier sequence to obtain the first - type stego - carrier sequence; similarly, according to the distortion cost values when each integer in the second - type carrier sequence is incremented by 1, remains unchanged, or is decremented by 1, use the STC toolkit to embed X 2 into all integers in the second - type carrier sequence to obtain the second - type stego - carrier sequence; where payload ∈(0, 0.5], and in this embodiment, payload takes the value of 0.5, the length of X 1 is Num 1 ×payload, the length of X 2 is Num 2 ×payload, Num 1 represents the total number of carriers in the first - type carrier, and Num 2 represents the total number of carriers in the second - type carrier.
[0064] Step 1_12: Convert all integers in the first - type stego - carrier sequence and the second - type stego - carrier sequence into PU partition modes respectively. The specific process is as follows:
[0065] There are six integers in the first type of encrypted carrier sequence, namely 0, 1, 2, 3, 4, and 5. The integer 0 is converted into a 2N×N partitioning pattern, the integer 1 is converted into a 2N×nU partitioning pattern, the integer 2 is converted into a 2N×nD partitioning pattern, the integer 3 is converted into an N×2N partitioning pattern, the integer 4 is converted into an nL×2N partitioning pattern, and the integer 5 is converted into an nR×2N partitioning pattern; then all the PU partitioning patterns obtained after converting all the integers in the first type of encrypted carrier sequence are used to replace the carriers at the same positions in the first type of carrier in order, thus forming the first type of encrypted carrier.
[0066] There are three integers in the second type of encrypted carrier sequence, namely 0, 1, 2, and 3. The integer 0 is converted into a 2N×N partitioning pattern, the integer 1 is converted into an N×2N partitioning pattern, and the integer 2 is converted into an N×N partitioning pattern; then all the PU partitioning patterns obtained after converting all the integers in the second type of encrypted carrier sequence are used to replace the carriers at the same positions in the second type of carrier in order, thus forming the second type of encrypted carrier.
[0067] Step 1_13: Use the H.265 / HEVC standard encoder to perform compression encoding on the original video. During the prediction process of the compression encoding, replace the original PU partitioning patterns at the corresponding positions with the first type of encrypted carrier and the second type of encrypted carrier after steganography, and obtain the encrypted video bitstream through compression encoding.
[0068] The specific process of the hidden information extraction is as follows:
[0069] Step 2_1: Use the H.265 / HEVC standard decoder to decode the encrypted video bitstream. During the decoding process, save the prediction mode and depth of each coding unit in each coding tree unit in each frame, and the PU partitioning pattern corresponding to each coding unit. After the decoding is completed, obtain the decoded video.
[0070] Step 2_2: According to the process of obtaining the first type of carrier sequence and the second type of carrier sequence in Steps 1_2 to 1_8, obtain the encrypted first type of carrier sequence and the encrypted second type of carrier sequence corresponding to the decoded video in the same way.
[0071] Step 2_3: Use the STC toolkit to decode the encrypted first type of carrier sequence obtained in Step 2_2, and extract the first hidden information, denoted as Similarly, use the STC toolkit to decode the encrypted second type of carrier sequence obtained in Step 2_2, and extract the second hidden information, denoted as where Ext STC () represents STC decoding, y 1Denote the first type of carrier sequence containing secrets, and H denote the parity check matrix of STC, which is shared between the sender and the receiver. y 2 Denote the second type of carrier sequence containing secrets.
[0072] To further illustrate the feasibility and effectiveness of the method of the present invention, experiments are conducted on the method of the present invention.
[0073] Several representative video sequences with a resolution of 1920×1080 are selected for the experiment, namely BasketballDrive, BQTerrace, Cactus, and ParkScene. The method of the present invention is carried out under the H.265 / HEVC reference software HM16.15, and encoding is performed using the built-in encoder_lowdelay_P_main.cfg configuration file. Among them, the encoding structure of the video sequence is IPPP, the length of a group of pictures (GOP) is 4, and each GOP contains 20 frames (that is, the first 20 frames are selected for each video sequence). The encoding quantization parameter QP is fixed at 32, and the remaining encoding parameters are kept consistent with the original configuration file.
[0074] To further illustrate the effectiveness of the method of the present invention, five indicators, namely Peak Signal-to-Noise Ratio (PSNR), Structural Similarity (SSIM), Mean Squared Error (MSE), BitRate Increase (BRI), and steganalysis detection rate, are used here to evaluate the steganography effect of HEVC video data. Among them, the larger the PSNR and SSIM values, the better the quality of the video picture; the smaller the MSE, the better the quality of the video picture; the smaller the BRI, the smaller the impact of the steganography method on the video bit rate; the closer the steganalysis detection rate is to 50%, the more the steganography method can deceive steganalysis detection.
[0075] Table 1 gives the result comparison of the video obtained by compressing the original video using only the HM encoder, the stego video obtained by performing data steganography on the original video using the Zhang method, and the stego video obtained by performing data steganography on the original video using the method of the present invention in terms of PSNR, SSIM, and MSE.
[0076] Table 1 Comparison of PSNR, SSIM, and MSE obtained by three methods
[0077]
[0078] In Table 1, "Original" refers to the method of compressing the original video using the HM encoder, and the Zhang method refers to Z. Zhang, Z. Li, J. Liu, H. Yan, and L. Yu, Steganography algorithm based on modified emd - coded pu partition modes for hevc videos[J], EURASIP Journal on Image and Video Processing, 2021(1): 1–20. (A steganography method for HEVC videos based on modified EMD - coded PU partition modes).
[0079] From the data listed in Table 1, it can be concluded that the encrypted video sequences obtained by using the method of the present invention are superior to the comparative methods in all evaluation indexes of the video picture quality.
[0080] Figure 2 The results of the encrypted videos obtained by using the Zhang method to perform data steganography on the original video and the encrypted videos obtained by using the method of the present invention (proposed) to perform data hiding on the original video are given on the BRI. From Figure 2 the data shown, it can be concluded that the bit - rate growth of the encrypted video sequences obtained by using the method of the present invention is small, and its influence on the code rate is smaller than that of the comparative method, indicating that the method of the present invention has an excellent effect of suppressing bit - rate growth.
[0081] Table 2 gives the results of the anti - steganalysis of the encrypted videos obtained by using the Zhang method to perform data steganography on the original video and the encrypted videos obtained by using the method of the present invention to perform data steganography on the original video for the steganalysis of the Zhai method. The Zhai method refers to L. Zhai, L. Wang, and Y. Ren, Universal detection of video steganography in multiple domains based on the consistency of motion vectors[J], IEEE Transactions on Information Forensics and Security, vol. 15, pp. 1762–1777, 2019. (A universal detection method for video steganography in multiple domains based on the consistency of motion vectors).
[0082] Table 2 Comparison of the anti - steganalysis performance of the two methods
[0083] Steganalysis detection method The method of the present invention Zhang method Zhai method 50% 94%
[0084] It can be concluded from the data listed in Table 2 that the steganalysis resistance performance of the encrypted video sequence obtained by the method of the present invention is higher than that of the comparative method, indicating that the method of the present invention has higher security.
Claims
1. An H.265 / HEVC video adaptive steganography method based on improved RDO, which includes two parts: steganographic information embedding and steganographic information extraction; It is characterized in that: The specific process of the steganographic information embedding is as follows: Step 1_1: Use the H.265 / HEVC standard encoder to compress and encode the original video. During the compression and encoding process, save the prediction mode and depth of each coding unit in each coding tree unit in each frame, and the PU division mode corresponding to each coding unit. After the compression and encoding is completed, obtain the H.265 / HEVC video; among them, the size of the coding tree unit is 64×64, and the size of the coding unit is 64×64 or 32×32 or 16×16 or 8×8; Step 1_2: Traverse all frames in the H.265 / HEVC video in order, and define the currently traversed frame as the current frame; Step 1_3: Determine whether the current frame is a P frame. If the current frame is a P frame, execute Step 1_4; if the current frame is not a P frame, directly execute Step 1_7; Step 1_4: Traverse all coding units of all sizes in the current frame in order, and define the currently traversed coding unit as the current unit; Step 1_5: If the size of the current unit is 64×64, do not process the current unit, and then execute Step 1_6; if the size of the current unit is 32×32 or 16×16, use the PU division mode corresponding to the current unit as the carrier and classify it as the first type of carrier, and record the index position of the current unit in the H.265 / HEVC video, the depth of the current unit, and the PU division mode corresponding to the current unit, and then execute Step 1_6; if the size of the current unit is 8×8, use the PU division mode corresponding to the current unit as the carrier and classify it as the second type of carrier, and record the index position of the current unit in the H.265 / HEVC video, the depth of the current unit, and the PU division mode corresponding to the current unit, and then execute Step 1_6; Step 1_6: Traverse the next coding unit in the current frame as the current unit, and then return to Step 1_5 to continue execution until all coding units in the current frame have been traversed, and then execute Step 1_7; Step 1_7: Traverse the next frame in the H.265 / HEVC video as the current frame, and then return to Step 1_3 to continue execution until all frames in the H.265 / HEVC video have been traversed, and then execute Step 1_8; Step 1_8: Map all carriers, that is, PU division modes, classified as the first type of carrier and the second type of carrier respectively. The specific process is as follows: There are a total of eight PU partitioning patterns for the first type of carriers, namely the 2N×2N, N×N, 2N×N, 2N×nU, 2N×nD, N×2N, nL×2N, and nR×2N partitioning patterns. The 2N×N, 2N×nU, and 2N×nD partitioning patterns are all horizontal partitioning patterns, and the N×2N, nL×2N, and nR×2N partitioning patterns are all vertical partitioning patterns. For any carrier classified as the first type of carrier, if the carrier is in the 2N×2N partitioning pattern or the N×N partitioning pattern, then no mapping is performed on the carrier; if the carrier is in the 2N×N partitioning pattern, then the carrier is mapped to the integer 0; if the carrier is in the 2N×nU partitioning pattern, then the carrier is mapped to the integer 1; if the carrier is in the 2N×nD partitioning pattern, then the carrier is mapped to the integer 2; if the carrier is in the N×2N partitioning pattern, then the carrier is mapped to the integer 3; if the carrier is in the nL×2N partitioning pattern, then the carrier is mapped to the integer 4; if the carrier is in the nR×2N partitioning pattern, then the carrier is mapped to the integer 5. Then, all the integers obtained after mapping all the carriers classified as the first type of carrier are arranged in the order of the index positions of the coding units corresponding to the carriers, i.e., the PU partitioning patterns, in the H.265 / HEVC video to form the first type of carrier sequence. Then, step 1_9 is executed; There are a total of four PU partitioning patterns for the second type of carriers, namely the 2N×2N, 2N×N, N×2N, and N×N partitioning patterns. For any carrier classified as the second type of carrier, if the carrier is in the 2N×2N partitioning pattern, then no mapping is performed on the carrier; if the carrier is in the 2N×N partitioning pattern, then the carrier is mapped to the integer 0; if the carrier is in the N×2N partitioning pattern, then the carrier is mapped to the integer 1; if the carrier is in the N×N partitioning pattern, then the carrier is mapped to the integer 2. Then, all the integers obtained after mapping all the carriers classified as the second type of carrier are arranged in the order of the index positions of the coding units corresponding to the carriers, i.e., the PU partitioning patterns, in the H.265 / HEVC video to form the second type of carrier sequence. Then, step 1_9 is executed; Step 1_9: Calculate the cost of modifying the carrier corresponding to each integer in the first type of carrier sequence to the carrier corresponding to other integers in the same type of carrier sequence, that is, the PU partition mode. For the carrier corresponding to any integer in the first type of carrier sequence, take it as the current carrier, and set the current carrier as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video. Denote the cost of modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence as the PU partition mode as Calculate the cost of the carrier corresponding to each integer in the second type of carrier sequence being modified to the carrier corresponding to other integers in the same type of carrier sequence, that is, the PU partition mode. For the carrier corresponding to any integer in the second type of carrier sequence, take it as the current carrier, and set the current carrier as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame in the H.265 / HEVC video. Denote the cost of modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence as the PU partition mode as Where 1 ≤ m ≤ M, M represents the total number of frames included in the H.265 / HEVC video, 1 ≤ n ≤ N, N represents the total number of coding tree units included in the m-th frame in the H.265 / HEVC video, 1 ≤ n ≤ N, 1 ≤ k ≤ K, K represents the total number of coding units included in the n-th coding tree unit in the m-th frame in the H.265 / HEVC video. If the current carrier belongs to the first type of carrier, when the integer corresponding to the current carrier is 0, t is 1, 2, 3, 4, or 5; when the integer corresponding to the current carrier is 1, t is 0, 2, 3, 4, or 5; when the integer corresponding to the current carrier is 2, t is 0, 1, 3, 4, or 5; when the integer corresponding to the current carrier is 3, t is 0, 1, 2, 4, or 5; when the integer corresponding to the current carrier is 4, t is 0, 1, 2, 3, or 5; when the integer corresponding to the current carrier is 5, t is 0, 1, 2, 3, or 4. exp() represents the exponential function with the natural base e, α represents the inter-frame distortion transfer rate, 0 < α < 1, GOPSize represents the total number of frames within a group of pictures (GOP) in the H.265 / HEVC video, Poc represents the position of the frame where the coding unit corresponding to the current carrier is located within the GOP of the frame where it is located, that is, the frame where the coding unit corresponding to the current carrier is located is the Poc-th frame within the GOP of the frame where it is located, 1 ≤ Poc ≤ GOPSize. Represents the distortion after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, that is, after the PU partitioning mode. Represents the number of bits after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, that is, after the PU partitioning mode. Represents the Lagrange factor after modifying the current carrier to the carrier corresponding to any other integer t in the same type of carrier sequence, that is, after the PU partitioning mode. Represents the distortion control factor. Represents the bit rate control factor. If the current carrier belongs to the second type of carrier, when the integer corresponding to the current carrier is 0, s is 1 or 2; when the integer corresponding to the current carrier is 1, s is 0 or 2; when the integer corresponding to the current carrier is 2, s is 0 or 1. Represents the distortion after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, that is, after the PU partitioning mode. Represents the number of bits after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, that is, after the PU partitioning mode. Represents the Lagrange factor after modifying the current carrier to the carrier corresponding to any other integer s in the same type of carrier sequence, that is, after the PU partitioning mode. Step 1_10: Calculate the distortion cost values when each integer in the first type of carrier sequence is incremented by 1, remains unchanged, or is decremented by 1. For any integer in the first type of carrier sequence, take it as the current integer, and set the carrier corresponding to the current integer as the PU partitioning mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video. Denote the distortion cost value when the current integer is incremented by 1 as Denote the distortion cost value when the current integer remains unchanged as Denote the distortion cost value when the current integer is decremented by 1 as If the current integer z m,n,k is 0, then is infinite; if the current integer z m,n,k is 1, then If the current integer z m,n,k is 2, then is infinite, If the current integer z m,n,k is 3, then is infinite; if the current integer z m,n,k is 4, then If the current integer z m,n,k is 5, then is infinite, Calculate the distortion cost values when each integer in the second type of carrier sequence is incremented by 1, remains unchanged, or is decremented by 1. For any integer in the second type of carrier sequence, take it as the current integer, and set the carrier corresponding to the current integer as the PU partition mode corresponding to the k-th coding unit in the n-th coding tree unit in the m-th frame of the H.265 / HEVC video. Denote the distortion cost value when the current integer is incremented by 1 as Denote the distortion cost value when the current integer remains unchanged as Denote the distortion cost value when the current integer is decremented by 1 as If the current integer is 0, then is infinite; if the current integer is 1, then If the current integer is 2, then is infinite, Step 1_11: Randomly generate two different binary stego-information sequences using the same embedding payload rate payload, denoted as X 1 and X 2 ; then, according to the distortion cost values when each integer in the first type of carrier sequence is incremented by 1, remains unchanged, or decremented by 1, use the STC toolkit to embed X 1 into all integers in the first type of carrier sequence to obtain the first type of stego-carrier sequence; similarly, according to the distortion cost values when each integer in the second type of carrier sequence is incremented by 1, remains unchanged, or decremented by 1, use the STC toolkit to embed X 2 into all integers in the second type of carrier sequence to obtain the second type of stego-carrier sequence; where payload ∈ (0, 0.5], the length of X 1 is Num 1 ×payload, the length of X 2 is Num 2 ×payload, Num 1 represents the total number of carriers in the first type of carrier, Num 2 represents the total number of carriers in the second type of carrier; Step 1_12: Convert all the integers in the first type of encrypted carrier sequence and the second type of encrypted carrier sequence into PU partitioning patterns. The specific process is as follows: The first type of encrypted carrier sequence has a total of six integers, namely 0, 1, 2, 3, 4, and 5. The integer 0 is converted into the 2N×N partitioning pattern, the integer 1 is converted into the 2N×nU partitioning pattern, the integer 2 is converted into the 2N×nD partitioning pattern, the integer 3 is converted into the N×2N partitioning pattern, the integer 4 is converted into the nL×2N partitioning pattern, and the integer 5 is converted into the nR×2N partitioning pattern. Then, all the PU partitioning patterns obtained after converting all the integers in the first type of encrypted carrier sequence are used to replace the carriers in the same positions in the first type of carriers in order to form the first type of encrypted carriers; There are three integers in the second type of encrypted carrier sequence, which are 0, 1, and 2 respectively. Convert the integer 0 into a 2N×N partitioning pattern, convert the integer 1 into an N×2N partitioning pattern, and convert the integer 2 into an N×N partitioning pattern; then replace the carriers at the same positions in the second type of carrier with all the PU partitioning patterns obtained after converting all the integers in the second type of encrypted carrier sequence in order to form the second type of encrypted carrier; Step 1_13: Use the H.265 / HEVC standard encoder to compress and encode the original video. During the prediction process of the compression encoding, replace the original PU partitioning patterns at the corresponding positions with the first type of encrypted carrier and the second type of encrypted carrier after steganography. After compression encoding, obtain the encrypted video bitstream; The specific process of the hidden information extraction is as follows: Step 2_1: Use the H.265 / HEVC standard decoder to decode the encrypted video bitstream. During the decoding process, save the prediction mode and depth of each coding unit in each coding tree unit in each frame, and the PU partitioning pattern corresponding to each coding unit. After decoding, obtain the decoded video; Step 2_2: Follow the process of obtaining the first type of carrier sequence and the second type of carrier sequence in steps 1_2 to 1_8, and obtain the encrypted first type of carrier sequence and the encrypted second type of carrier sequence corresponding to the decoded video in the same way; Step 2_3: Use the STC toolkit to decode the encrypted first-class carrier sequence obtained in Step 2_2, and extract the first hidden information, denoted as Similarly, use the STC toolkit to decode the encrypted second-class carrier sequence obtained in Step 2_2, and extract the second hidden information, denoted as 2. The H.265 / HEVC video adaptive steganography method based on improved RDO according to claim 1, characterized in that In the described step 1_9, α takes a value of 0.5, takes a value of 0.3, takes a value of 0.
7.
3. The H.265 / HEVC video adaptive steganography method based on improved RDO according to claim 1 or 2, characterized in that In the aforementioned step 1_9, and The values of depend on whether the Merge inter-frame prediction mode is adopted. When the Merge inter-frame prediction mode is adopted, and The values of are SATD values; when the non-Merge inter-frame prediction mode is adopted, and The values of are coding distortions.
4. The H.265 / HEVC video adaptive steganography method based on improved RDO according to claim 3, characterized in that In the aforementioned step 1_9, and The values of depend on whether the Merge inter-frame prediction mode is adopted. When the Merge inter-frame prediction mode is adopted, and The values of are the number of coding bits of the Merge index; when the non-Merge inter-frame prediction mode is adopted, and The values of are the number of coding bits representing the prediction mode and the residual transform coefficients.
5. The H.265 / HEVC video adaptive steganography method based on improved RDO according to claim 4, characterized in that In the described step 1_9, and The values of are calculated by μ·ω·2 (QP-12) / 3.0 where the value of μ depends on whether the frame where the coding unit corresponding to the current carrier is located is a reference frame within the Group of Pictures (GOP) of the image where this frame is located. If this frame is a reference frame within its GOP, then μ = 1.0 - Clip3(0.0, 0.5, 0.05N B ), and if this frame is a non-reference frame within its GOP, then μ = 1.0, N B represents the total number of B frames within a GOP in H.265 / HEVC video, Clip3() is the Clip operation function, ω represents the weighting factor, and the value of ω is determined by the coding configuration and the Position of Picture Order Count (Poc) of the frame where the coding unit corresponding to the current carrier is located within the GOP of the image where this frame is located. QP represents the coding quantization parameter of the frame where the coding unit corresponding to the current carrier is located.
Citation Information
Patent Citations
Method for hiding HEVC video information
CN104159117A
Video steganography method based on half-pixel motion compensation
CN111614958A
Cited By
Text steganography method, system and equipment for large language model Token probability distribution segmentation
CN122221280A