Information hiding method and device based on encrypted video, electronic equipment, storage medium and program product

By encrypting syntax elements such as QTC, MVD and IPM of VVC videos and embedding hidden information into encrypted VVC code streams, the problem of information hiding in VVC encoder is solved, and efficient data hiding and format compatibility is achieved.

CN119232978APending Publication Date: 2024-12-31CHINA MOBILE (JIANGXI) VIRTUAL REALITY TECH CO LTD +3
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411225344.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The existing encryption domain information hiding scheme cannot be applied to data hiding scenarios of VVC encrypted videos, especially in the H.266/VVC encoder. The complexity of the video encoding and decoding process leads to the inability of traditional algorithms to be directly applied.

Method used

By generating the preset first and second keys, the encryption sequence is generated, the QTC symbol, MVD symbol and brightness IPM of the original video are encrypted, and the encrypted VVC code stream is generated, and the encrypted hidden information is embedded in it for binary processing. to generate target encrypted video.

Benefits of technology

The solution to effectively hide information in the VVC encoder is implemented, allowing for encrypted tags and tamper detection, and improving the embedded capacity of data hiding, maintaining the compression performance and format compatibility of the video encoder.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232978A_ABST
    Figure CN119232978A_ABST
Patent Text Reader

Abstract

The invention discloses an information hiding method and device based on an encrypted video, electronic equipment, a storage medium and a program product, and relates to the technical field of data processing.The information hiding method based on the encrypted video comprises the steps that a corresponding first encryption sequence and a corresponding second encryption sequence are generated according to a preset first secret key and a preset second secret key respectively; respectively encrypting an original QTC symbol, an original MVD symbol and an original brightness IPM corresponding to the original video through the first encryption sequence to obtain an encrypted VVC code stream; encrypting the original hidden information through the second encryption sequence to obtain encrypted hidden information; and embedding the encrypted hidden information into the encrypted VVC code stream, and carrying out binarization processing on the encrypted VVC code stream embedded with the encrypted hidden information to obtain a target encrypted video. According to the technical scheme, the problem that an existing encryption domain information hiding scheme cannot be applied to a data hiding scene of a VVC encrypted video is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to an information hiding method, device, electronic device, computer-readable storage medium and computer program product based on encrypted video. Background Art

[0002] In the VVC (Versatile Video Coding) video coding scenario, the encryption domain information hiding scheme is usually implemented based on CAVLC (Context-Adaptive Variablebe-Length Coding) entropy coding, and the CABAC (Context-Adaptive BinaryArithmetic Coding) entropy coding mode is retained. The encryption domain information hiding methods for this entropy coding mode are all implemented after binarization of CABAC.

[0003] In addition, current research based on H.266 / VVC is limited to the encryption of the video itself, although many encryption and watermarking algorithms have been designed for digital images. However, the video encoding and decoding process is much more complicated than the image compression process. Therefore, the above algorithms cannot be directly applied to the scenario of adding hidden information to VVC encrypted videos.

[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0005] The main purpose of this application is to provide an information hiding method, device, electronic device, computer-readable storage medium and computer program product based on encrypted video, aiming to solve the technical problem that the current encryption domain information hiding scheme cannot be applied to the data hiding scenario of VVC encrypted video.

[0006] To achieve the above purpose, the present application proposes an information hiding method based on encrypted video, and the information hiding method based on encrypted video includes:

[0007] Generate a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a preset second key respectively;

[0008] In the process of entropy encoding the original video, the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video are encrypted respectively by the first encryption sequence to obtain an encrypted VVC code stream;

[0009] Encrypting the original hidden information by using the second encryption sequence to obtain encrypted hidden information;

[0010] The encrypted hidden information is embedded in the encrypted VVC code stream, and the encrypted VVC code stream after the encrypted hidden information is embedded is binarized to obtain a target encrypted video.

[0011] In one embodiment, the encrypted VVC code stream includes at least an encrypted QTC symbol, an encrypted MVD symbol, and an encrypted brightness IPM;

[0012] The step of encrypting the original QTC symbol, the original MVD symbol, and the original brightness IPM corresponding to the original video by the first encryption sequence to obtain an encrypted VVC code stream includes:

[0013] When encoded into QTC, the original QTC symbol is encrypted according to the first encryption sequence to obtain an encrypted QTC symbol;

[0014] When encoding to MVD, encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain an encrypted MVD symbol;

[0015] When encoded into a luminance IPM, the chrominance IPM of the original luminance IPM is encrypted according to the first encryption sequence to obtain an encrypted luminance IPM.

[0016] In one embodiment, the step of encrypting the original QTC symbol according to the first encryption sequence to obtain the encrypted QTC symbol includes:

[0017] During the encoding process, an XOR operation is performed on each bit of the original QTC symbol and the first encryption sequence in turn to obtain an encrypted QTC symbol;

[0018] Or, during the encoding process, based on the value of each bit in the first encryption sequence, each bit in the original QTC symbol is processed in turn to obtain an encrypted QTC symbol, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the original QTC symbol remains unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the original QTC symbol is negated.

[0019] In one embodiment, the encrypted MVD symbol includes an encrypted MVD horizontal component and an encrypted MVD vertical component;

[0020] The step of encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain the encrypted MVD symbol comprises:

[0021] Based on the value of each bit in the first encryption sequence, each bit in the MVD horizontal component is processed to obtain an encrypted MVD horizontal component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD horizontal component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD horizontal component is negated;

[0022] Based on the value of each bit in the first encryption sequence, each bit in the MVD vertical component is processed to obtain an encrypted MVD vertical component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD vertical component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD vertical component is negated.

[0023] In one embodiment, the step of embedding the encrypted hidden information into the encrypted VVC code stream includes:

[0024] Determine the number of non-zero coefficients corresponding to the QTC amplitude in the current coding unit;

[0025] When the number of non-zero coefficients is greater than 1 and less than a preset number, embedding 1 bit of encrypted hidden information in a current coding unit in the encrypted VVC bitstream as the coding progresses, wherein the non-zero coefficient of the current coding unit is greater than 1;

[0026] When the number of non-zero coefficients is not less than the preset number, 2 bits of encrypted hidden information are embedded in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream as the coding progresses.

[0027] In one embodiment, the step of embedding 1 bit of encrypted hidden information in the current coding unit in the encrypted VVC code stream includes:

[0028] Performing a modulo operation on the sum of the amplitudes of the non-zero coefficients in the current coding unit and 1 to obtain a first remainder;

[0029] If the XOR result of the first remainder and the current bit of the encrypted hidden information is 0, keeping the amplitude of each non-zero coefficient unchanged;

[0030] If the XOR result is 1 and the amplitudes of the non-zero coefficients are all equal, then the amplitude of the last non-zero coefficient of the current coding unit is increased by 1;

[0031] Otherwise, the amplitude of the last non-zero coefficient of the current coding unit is reduced by 1.

[0032] In one embodiment, the preset number is 9, and after the step of embedding 2 bits of encrypted hidden information in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream, the method further includes:

[0033] Perform a modulo operation on the sum of the amplitudes of the first three non-zero coefficients and 1 to obtain the second remainder;

[0034] Perform a modulo operation on the sum of the amplitudes of the fourth to sixth non-zero coefficients and 1 to obtain a third remainder;

[0035] Perform a modulo operation on the sum of the amplitudes of the seventh to ninth non-zero coefficients and 1 to obtain a fourth remainder;

[0036] When the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, keeping the amplitude of each non-zero coefficient unchanged;

[0037] When the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the first three non-zero coefficients are all 1;

[0038] If yes, set the amplitude of the third non-zero coefficient to 2; otherwise, reduce the last non-zero coefficient greater than 1 among the first three non-zero coefficients by 1;

[0039] When the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the fourth to sixth non-zero coefficients are all 1;

[0040] If yes, set the amplitude of the sixth non-zero coefficient to 2; otherwise, reduce the value of the last amplitude greater than 1 among the fourth to sixth non-zero coefficients by 1;

[0041] When the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the seventh to sixth non-zero coefficients are all 1;

[0042] If so, the amplitude of the ninth non-zero coefficient is set to 2; otherwise, the value of the last amplitude greater than 1 among the seventh to ninth non-zero coefficients is reduced by 1.

[0043] In one embodiment, the information hiding method based on encrypted video further includes:

[0044] Based on the first key and the second key, generate a first decryption sequence and a second decryption sequence corresponding to each other;

[0045] Performing entropy decoding on the target encrypted video to obtain a corresponding encryption element;

[0046] Extracting encrypted hidden information from coding units whose non-zero coefficients in the encrypted elements are greater than 1, and restoring the encrypted hidden information through a second decryption sequence to obtain original hidden information;

[0047] Decrypt the encrypted element after extracting the encrypted hidden information through the first decryption sequence to obtain the original QTC symbol, the original MVD symbol and the original brightness IPM;

[0048] The original QTC symbol, the original MVD symbol and the original brightness IPM are successively subjected to inverse quantization, inverse transformation and intra-frame / inter-frame prediction to obtain the original video.

[0049] In addition, to achieve the above purpose, the present application also proposes an information hiding device based on encrypted video, the information hiding device based on encrypted video comprising:

[0050] A sequence generation module, used to generate a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a preset second key;

[0051] Select an encryption module, which is used to encrypt the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video respectively by using the first encryption sequence in the process of entropy encoding the original video to obtain an encrypted VVC code stream;

[0052] A hidden encryption module, used for encrypting the original hidden information by using the second encryption sequence to obtain encrypted hidden information;

[0053] The information embedding module is used to embed the encrypted hidden information into the encrypted VVC code stream, and perform binarization processing on the encrypted VVC code stream after embedding the encrypted hidden information to obtain a target encrypted video.

[0054] In addition, to achieve the above-mentioned purpose, the present application also proposes an electronic device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the information hiding method based on encrypted video as described above.

[0055] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the information hiding method based on encrypted video as described above are implemented.

[0056] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of the information hiding method based on encrypted video as described above are implemented.

[0057] The present application proposes an information hiding method based on encrypted video. First, the corresponding first encryption sequence and second encryption sequence are generated according to the preset first key and second key respectively. In the process of entropy coding the original video, the original QTC (Quantized transform coefficient) symbol, the original MVD (Motion Vector Difference) symbol and the original brightness IPM (Intra Prediction Mode) corresponding to the original video are encrypted by the first encryption sequence to obtain an encrypted VVC code stream. Then, the original hidden information is encrypted by the second encryption sequence to obtain encrypted hidden information. Finally, the encrypted hidden information is embedded in the encrypted VVC code stream, and the encrypted VVC code stream after the encrypted hidden information is embedded is binarized to obtain the target encrypted video. The technical solution of the present application adopts relatively independent syntax elements such as QTC, MVD, and IPM to perform encryption operations respectively, so that the hidden information extraction process and decryption process of the target encrypted video after encryption are interchangeable, allowing encrypted form marking and tampering detection. In addition, since the encryption process in the technical solution of the present application is performed before the binary encoding, compared with the traditional information hiding after the binary encoding, it can effectively improve the embedding capacity of the data hiding scheme, and the selective encryption and information hiding techniques used in the technical solution of the present application have no effect on the format of the VVC encoder, so it has format compatibility, and the encrypted video with hidden data can be decoded by the standard VVC decoder, which can be applied to the scenario of adding hidden information to the encrypted video of the VVC encoder. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0059] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0060] Figure 1 A flowchart of the first embodiment of the information hiding method based on encrypted video provided by the present application;

[0061] Figure 2 This is a schematic diagram of the steps of embedding 1 bit of encrypted hidden information in the current coding unit in the encrypted VVC code stream in an embodiment of the present application;

[0062] Figure 3 This is a schematic flow chart of steps for embedding 2 bits of encrypted hidden information in a preset number of amplitudes before the current coding unit of the encrypted VVC code stream in an embodiment of the present application;

[0063] Figure 4 This is a flowchart of an example of the implementation steps of the encryption process in the information hiding method based on encrypted video in an embodiment of the present application;

[0064] Figure 5 This is a flowchart of an example of the implementation steps of the decryption process in the information hiding method based on encrypted video in an embodiment of the present application;

[0065] Figure 6 This is a schematic diagram of the structure of an information hiding device based on encrypted video in an embodiment of the present application;

[0066] Figure 7 Schematic diagram of the device structure of the hardware operating environment involved in the information hiding method based on encrypted video in the embodiment of the present application.

[0067] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0068] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0069] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0070] The execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, a server, etc., or an electronic device or a control device capable of realizing the above functions. The following takes the server as an execution subject as an example to illustrate this embodiment and the following embodiments.

[0071] At present, there have been some studies on data hiding in the encrypted domain. Initially, many encryption and watermarking algorithms were designed for digital images. However, the video encoding and decoding process is much more complicated than the image compression process. Therefore, the above algorithms cannot be directly used for video. Specifically, the information hiding schemes for the encrypted domain of H.264 / AVC are all based on CAVLC entropy coding, while H.265 / HEVC and H.266 / VVC have abandoned this coding method. H.265 / HEVC and H.266 / VVC both retain the CABAC entropy coding mode. At present, the encrypted domain information hiding methods for this entropy coding mode are all implemented after CABAC binarization, which can well maintain the compression performance of the encoder. However, unlike H.265 / HEVC, the Rice parameters of H.266 / AVC entropy coding are closely related to adjacent coefficients. Therefore, data hiding based on most QTC suffixes in the VVC encoder cannot meet the format compatibility requirements. In addition, since H.266 / VVC was released not long ago, the research on video encryption and hiding technology for H.266 / VVC is still very limited. First, the visual degradation effect of existing encryption algorithms for H.266 / VVC is not ideal and will lead to a significant increase in bit rate. In addition, existing research based on H.266 / VVC is limited to video encryption, and does not involve data hiding research in encrypted VVC videos.

[0072] In order to achieve the above objectives, the present application embodiment provides an information hiding method based on encrypted video. Figure 1 , Figure 1 This is a flow chart of the first embodiment of the information hiding method based on encrypted video of the present application. The information hiding method based on encrypted video includes:

[0073] Step S10, generating a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a preset second key respectively;

[0074] First, in order to realize the encryption of the original video itself and the encryption of the original hidden information to be hidden in the encrypted video, the corresponding first encryption sequence S1 and the second encryption sequence S2 are generated according to the preset first key K1 and the second key K2 respectively. The first encryption sequence and the second encryption sequence can be understood as binary pseudo-random sequences generated by the first key and the second key through the AES-CTR (Advanced Encryption Standard in Counter, a symmetric encryption algorithm) algorithm, which are used for selectively encrypting the original video and encrypting the original hidden information to be hidden in the encrypted video respectively.

[0075] Exemplarily, a 256-bit first key K1 can be set in advance, and then the AES-CTR algorithm is used to generate a pseudo-random sequence S1 (i.e., the first encryption sequence). The specific calculation formula is as follows: S1(1,2,…i,…)=AES-CTR(K1). Similarly, the second encryption sequence S2 corresponding to the second key K2 can be obtained.

[0076] Step S20, in the process of entropy encoding the original video, the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video are encrypted by the first encryption sequence to obtain an encrypted VVC code stream;

[0077] It is understandable that since the selective encryption technology can protect the video content and maintain the compatibility of the encrypted video with the video codec, the selective encryption technology is introduced in the embodiment of the present application. Taking into account the characteristics of the video encoder, first of all, since the changes of the QTC symbol and the MVD symbol will not affect the compression efficiency, these two syntax elements can be selected for encryption operations. In addition, although IPM confusion will have some impact on the compression efficiency, it can significantly change the texture and structure information of the video, so it is also selected for encryption.

[0078] It should be noted that the above encryption process is performed during the entropy coding process of video coding. For example, if QTC symbols are encoded, QTC symbols are encrypted; if MVD symbols are encoded, MVD symbols are encrypted; if one unit is encoded, one unit is encrypted; the encoding and encryption processes are performed simultaneously.

[0079] In the process of encrypting the original QTC symbol, the original MVD symbol and the original brightness IPM according to the first encryption sequence, the values ​​of the corresponding bits in the original QTC symbol, the original MVD symbol and the original brightness IPM can be adjusted or not adjusted based on the values ​​of each bit in the first encryption sequence. Since the updated QTC symbol, MVD symbol and brightness IPM are different from the original QTC symbol, the original MVD symbol and the original brightness IPM, the updated QTC symbol, MVD symbol and brightness IPM can be used as the encrypted QTC symbol, MVD symbol and brightness IPM to form an encrypted VVC code stream.

[0080] Step S30, encrypting the original hidden information by using a second encryption sequence to obtain encrypted hidden information.

[0081] The original hidden information (in binary form) refers to the information that needs to be hidden in the encrypted video. In the process of encrypting the original hidden information by the second encryption sequence, the original hidden information and the second encryption sequence can be XORed to obtain the operation result as the encrypted hidden information. When decryption is required, the same second encryption sequence can be used to perform a reverse operation to obtain the original hidden information.

[0082] For example, the original hidden information H to be embedded d Before data is embedded, H d Encryption processing is performed, and the encryption formula is:

[0083] H′ d (1,2,…j,…)=H d (1,2,…j…)⊕S2(1,2,…j,…);

[0084] Among them, H′ d It is encrypted to hide information.

[0085] Step S40, embedding the encrypted hidden information into the encrypted VVC code stream, and binarizing the encrypted VVC code stream after embedding the encrypted hidden information to obtain the target encrypted video.

[0086] It should be noted that steps S30 to S40 and steps S10 to S20 are not executed sequentially, but can be executed simultaneously. In the process of selectively encrypting the original video, the encrypted hidden information can be segmented and embedded into the current coding unit, wherein the segmented embedding can effectively increase the capacity of the embedded hidden information.

[0087] In the process of embedding the encrypted hidden information into the encrypted VVC code stream, it is necessary to select a suitable embedded syntax element. To ensure the interchangeability of selective encryption and data hiding, the syntax elements used for data embedding should be completely independent of the QTC symbol, MVD symbol and brightness IPM. Since the slight change of the syntax element QTC amplitude has little effect on the video quality, the hiding of the encrypted information in the embodiment of the present application selects the QTC amplitude as the syntax element for embedding the encrypted hidden information. In order to maintain the compression performance of the video encoder, the existing data hiding schemes based on QTC amplitude are all performed after the binarization process of entropy coding. Similar to H.265 / HEVC, the QTC amplitude in H.266 / VVC is also binarized by Golomb-Rice coding. However, unlike H.265 / HEVC, the Rice parameters in the VVC encoder are closely related to adjacent coding units. In this case, changes in the binary QTC amplitude may destroy the format of the VVC encoder. Therefore, most binary QTC amplitudes in the VVC encoder are not suitable for data hiding. In the embodiment of the present application, the data hiding scheme based on QTC amplitude is executed before the binarization process, which can effectively avoid the problem of format incompatibility, so that the encryption domain information hiding can be applied to the scenario of VVC encrypted video.

[0088] After the selective encryption and embedded encrypted hidden information are completed, the binarization process of CABAC entropy coding is performed, which has no effect on the format of the VVC encoder, and finally the final target encrypted video with encrypted hidden information is obtained. Among them, the target encrypted video can be decrypted using the standard VVC decoder based on the same first key and second key to restore the original video and the original hidden information. Because VVC allows selective encryption, the video stream is encrypted without changing the bit rate, which ensures the security of the content without affecting compatibility and transmission efficiency. At the same time, it adapts to many emerging video application scenarios, such as AR / VR, 360° panoramic video and other video formats.

[0089] Further, in a feasible embodiment, the encrypted VVC code stream includes at least an encrypted QTC symbol, an encrypted MVD symbol, and an encrypted brightness IPM;

[0090] The step of encrypting the original QTC symbol, the original MVD symbol, and the original brightness IPM corresponding to the original video by the first encryption sequence to obtain an encrypted VVC code stream includes:

[0091] Step S21, when encoded into QTC, encrypt the original QTC symbol according to the first encryption sequence to obtain an encrypted QTC symbol;

[0092] QTC contains the texture information of the video frame. When encoded into QTC, it can be encoded in VVC using one of the conventional models or the transform skip mode. In different modes, the encryption method of the original QTC symbol is also different. Among them, there are two types of QTC symbols (0 or 1). When the original QTC symbol is encrypted according to the first encryption sequence, the value of each bit in the original QTC symbol can be adjusted and updated according to the value of each bit in the first encryption sequence and the value of each bit of the original QTC symbol, so as to achieve the encryption effect and obtain the encrypted encrypted QTC symbol (different from the original QTC symbol).

[0093] Step S22, when encoded into MVD, encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain an encrypted MVD symbol;

[0094] In the VVC encoder, MVD covers the motion information of the video B / P frames, including the horizontal component MVDhor and the vertical component MVDver. Therefore, in the process of encrypting the MVD symbol, the MVD horizontal component and the MVD vertical component need to be encrypted separately. In the encryption process, the values ​​of each bit in the MVD horizontal component and the MVD vertical component can be adjusted and updated based on the values ​​of each bit in the first encryption sequence to obtain the encrypted MVD horizontal component and MVD vertical component to form the encrypted MVD symbol.

[0095] Step S23, when encoding into the brightness IPM, encrypt the chrominance IPM of the original brightness IPM according to the first encryption sequence to obtain the encrypted brightness IPM.

[0096] Among them, the brightness IPM contains the structural information of the video frame. In the VVC encoder, it has 67 prediction modes, and its encryption method can be based on the following expression:

[0097] IPM l ' uma =(IPM luma +S i (i,i+1,…,i+6))mod67;

[0098] Among them, IPM l ' uma Refers to the value of the chromaticity IPM of the original brightness IPM, IPM l ' uma It refers to the value of the encrypted brightness IPM.

[0099] Further, in a feasible embodiment, the step of encrypting the original QTC symbol according to the first encryption sequence to obtain the encrypted QTC symbol includes:

[0100] Step S211, during the encoding process, performing an XOR operation on each bit in the original QTC symbol and the first encryption sequence in turn to obtain an encrypted QTC symbol;

[0101] Specifically, in normal mode, the encryption formula of the QTC symbol is:

[0102] QTC′ sign =QTC sign ⊕S1(i,i+1,…,N s );

[0103] Among them, QTC sign Refers to the value of the original QTC symbol before encryption, QTC′ sign Refers to the encrypted QTC symbol, N s It refers to the number of QTC symbols, and i represents the current digit.

[0104] Or, step S212, during the encoding process, based on the value of each bit in the first encryption sequence, each bit in the original QTC symbol is processed in turn to obtain an encrypted QTC symbol, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the original QTC symbol remains unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the original QTC symbol is negated.

[0105] Specifically, in the transform skip mode, the value of QTC is directly sign The encrypted value is QTC′ sign The generation formula includes:

[0106]

[0107] This formula indicates that when the current bit (i-th bit) of the first encryption sequence S1 is 0, the corresponding QTC′ sign With QTC sign When the current bit (i-th bit) of the first encryption sequence S1 is 1, the QTC′ of sign Equal to QTC sign The opposite number of .

[0108] In a feasible embodiment, the encrypted MVD symbol includes an encrypted MVD horizontal component and an encrypted MVD vertical component;

[0109] The step of encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain the encrypted MVD symbol comprises:

[0110] Step S221, based on the value of each bit in the first encryption sequence, each bit in the MVD horizontal component is processed to obtain the encrypted MVD horizontal component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD horizontal component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD horizontal component is inverted;

[0111] Exemplarily, the expressions corresponding to the above steps are:

[0112]

[0113] Among them, MVD hor is the value of the horizontal component of MVD before encryption, MVD′ hor is the value of the encrypted MVD horizontal component, and i is the current number of bits.

[0114] Step S222, based on the value of each bit in the first encryption sequence, each bit in the MVD vertical component is processed to obtain the encrypted MVD vertical component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD vertical component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD vertical component is negated.

[0115] Exemplarily, the expressions corresponding to the above steps are:

[0116]

[0117] Among them, MVD ver is the value of the vertical component of MVD before encryption, MVD′ ver is the value of the encrypted MVD vertical component, and i is the current number of bits.

[0118] In a feasible embodiment, the step of embedding the encrypted hidden information into the encrypted VVC code stream includes:

[0119] Step S41, determining the number of non-zero coefficients corresponding to the QTC amplitude in the current coding unit;

[0120] In the embodiment of the present application, the QTC amplitude is used as a syntax element for embedding encrypted hidden information. Since the texture of the coding unit with a non-zero coefficient of 1 is simple and not suitable for embedding data, it is necessary to first determine the number of non-zero coefficients of the current coding unit, and select the current coding unit with a non-zero coefficient number of more than 1 to embed the encrypted hidden information.

[0121] In addition, when the number of non-zero coefficients N QTCWhen the number is less than a certain preset number or greater than a certain preset number, different embedding methods can be used, so that the segmented embedding method based on non-zero coefficients can reduce the impact of coefficient modification on the visual quality of the video frame.

[0122] Step S42, when the number of non-zero coefficients is greater than 1 and less than a preset number, embedding 1 bit of encrypted hidden information in the current coding unit in the encrypted VVC bitstream as the coding progresses, wherein the non-zero coefficient of the current coding unit is greater than 1;

[0123] Specifically, when 1<N QTC When the QTC amplitude is less than a preset number (for example, 9), the amplitude of the non-zero coefficient can be adjusted and updated during the encoding process according to the value obtained by performing an XOR operation between the amplitude of each non-zero coefficient and 1 and the encrypted hidden information. The updated target encrypted video obtained after binarization finally includes the updated QTC amplitude value, and the QTC amplitude value includes the characteristics of the encrypted hidden information. Therefore, the technical solution of the embodiment of the present application achieves the effect of embedding the encrypted hidden information into the amplitude of the non-zero coefficient of the QTC.

[0124] Further, in a feasible embodiment, referring to Figure 2 The step of embedding 1 bit of encrypted hidden information in the current coding unit in the encrypted VVC code stream comprises:

[0125] Step S421, performing a modulo operation on the sum of the amplitudes of the non-zero coefficients in the current coding unit and 1 to obtain a first remainder;

[0126] Step S422, if the XOR result of the first remainder and the current bit of the encrypted hidden information is 0, the amplitude of each non-zero coefficient is kept unchanged;

[0127] Step S423: if the XOR result is 1 and the amplitudes of all non-zero coefficients are equal, then the amplitude of the last non-zero coefficient of the current coding unit is increased by 1;

[0128] Step S424: otherwise, the amplitude of the last non-zero coefficient of the current coding unit is reduced by 1.

[0129] For example, the amplitudes of the non-zero coefficients of the current coding unit may be defined as C1, C2, ..., C NQTC , where C NQTC is the last non-zero coefficient. The first remainder obtained in step S421 can be expressed as mod(C1+C2+…+C NQTC , 1), so the XOR operation of the first remainder and the current bit of the encrypted hidden information can be expressed as: mod(C1+C2+…+C NQTC , 1)⊕H′ d(i), further, when the i-th encrypted hidden information makes mod(C1+C2+…+C NQTC , 1)⊕H′ d When (i) = 0, the amplitude of each non-zero coefficient remains unchanged; in addition, when mod(C1+C2+…+C NQTC , 1)⊕H′ d (i) = 1 and C1 = C2 = ... = C NQTC When , the amplitude of the last non-zero coefficient of the current coding unit is increased by 1 (i.e. C NQTC =C NQTC+1 ), to update the amplitude of the non-zero coefficients; in other cases other than the above two cases, directly update the last non-zero coefficient C NQTC The amplitude of is reduced by 1 to update the non-zero coefficients.

[0130] It should be noted that the embodiment of the present application provides a method for embedding encrypted hidden information by adjusting the parity of data. It is understandable that in most cases, in order not to affect the compression rate, the data amplitude can be directly reduced (i.e., the amplitude of the last non-zero coefficient is reduced by 1), and when all non-zero data are 1, 1 is added. The data embedding principle of the embodiment of the present application is: in order to embed data, when it can be reduced by 1, it is reduced by 1, and when it cannot be increased by 1, the encrypted hidden data is embedded in a way of adjusting and updating the QTC amplitude of the encrypted video.

[0131] Step S43: When the number of non-zero coefficients is not less than a preset number, embed 2 bits of encrypted hidden information in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream as the coding progresses.

[0132] Specifically, when N QTC When the preset number (for example, 9) is reached, the amplitude of the non-zero coefficient is adjusted and updated based on the amplitude values ​​of the non-zero coefficients of the preset number and the encrypted hidden information. Finally, the updated target encrypted video obtained after binarization includes the updated QTC amplitude value, and the QTC amplitude value includes the characteristics of the encrypted hidden information. Therefore, the technical solution of the embodiment of the present application achieves the effect of embedding the encrypted hidden information into the amplitude of the non-zero coefficient of the QTC.

[0133] Further, in a feasible embodiment, the preset number is 9, referring to Figure 3 The step of embedding 2 bits of encrypted hidden information in the amplitude of the first preset number in the current coding unit of the encrypted VVC code stream comprises:

[0134] Step S430, performing a modulo operation on the sum of the amplitudes of the first three non-zero coefficients and 1 to obtain a second remainder;

[0135] Step S431, performing a modulo operation on the sum of the amplitudes of the fourth to sixth non-zero coefficients and 1 to obtain a third remainder;

[0136] Step S432, performing a modulo operation on the sum of the amplitudes of the seventh to ninth non-zero coefficients and 1 to obtain a fourth remainder;

[0137] Before embedding the encrypted hidden information, the preset number of non-zero coefficients are first segmented (for example, divided into three segments such as 1-3, 4-6, and 7-9), and modulus operations are performed on the three segments respectively, so as to perform XOR operations on the remainders and the encrypted hidden information respectively to distinguish different situations.

[0138] Exemplarily, step S430 can be expressed as: the second remainder is mod(C1+C2+C3, 1), step S431 can be expressed as: the third remainder is mod(C4+C5+C6, 1), and step S432 can be expressed as: the fourth remainder is mod(C7+C8+C9, 1).

[0139] Step S433, when the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, the amplitude of each non-zero coefficient is kept unchanged;

[0140] For example, when mod(C1+C2+C3,1)⊕mod(C4+C5+C6,1)=H′ d (i), and mod(C4+C5+C6,1)⊕mod(C7+C8+C9,1)=H′ d When (i+1), the amplitude of each non-zero coefficient is not modified and remains unchanged.

[0141] Step S434, when the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, determine whether the amplitudes of the first three non-zero coefficients are all 1;

[0142] Step S435: if yes, set the amplitude of the third non-zero coefficient to 2; otherwise, reduce the last non-zero coefficient greater than 1 among the first three non-zero coefficients by 1;

[0143] For example, when mod(C1+C2+C3,1)⊕mod(C4+C5+C6,1)≠H′ d (i) And mod(C4+C5+C6,1)⊕mod(C7+C8+C9,1)=H′ d(i+1), the first three amplitudes C1, C2, and C3 need to be modified. If C1=C2=C3=1, then C3=2. Otherwise, the last amplitude greater than 1 among C1, C2, and C3 is reduced by 1.

[0144] Step S436, when the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the fourth to sixth non-zero coefficients are all 1;

[0145] Step S437: If yes, set the amplitude of the sixth non-zero coefficient to 2; otherwise, reduce the value of the last amplitude greater than 1 among the fourth to sixth non-zero coefficients by 1;

[0146] For example, when mod(C1+C2+C3,1)⊕mod(C4+C5+C6,1)≠H′ d (i) And mod(C4+C5+C6,1)⊕mod(C7+C8+C9,1)≠H′ d (i+1), then the amplitudes in C4, C5, and C6 need to be modified. If C4=C5=C6=1, then C6=2. Otherwise, the last amplitude greater than 1 in C4, C5, and C6 is reduced by 1.

[0147] Step S438, when the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the seventh to sixth non-zero coefficients are all 1;

[0148] Step S439: If yes, set the amplitude of the ninth non-zero coefficient to 2; otherwise, reduce the value of the last amplitude greater than 1 among the seventh to ninth non-zero coefficients by 1.

[0149] For example, when mod(C1+C2+C3,1)⊕mod(C4+C5+C6,1)=H′ d (i) And mod(C4+C5+C6,1)⊕mod(C7+C8+C9,1)≠H′ d (i+1), then the amplitudes in C7, C8, and C9 need to be modified. If C7=C8=C9=1, then C9=2. Otherwise, the last amplitude greater than 1 in C7, C8, and C9 is reduced by 1.

[0150] Based on the above joint coding method, by changing 1 QTC amplitude, 2 bits of hidden data are embedded, thereby improving the embedding capacity. In addition to the amplitudes of the first 9 coefficients, if the remaining QTC amplitude of the current coding unit exceeds 1, another 1 bit H′ is embedded d The embedding method is the same as the process from step S421 to step S424.

[0151] The embedding method of the hidden information in the embodiment of the present application is designed according to the number of non-zero coefficients and is implemented before the binary process of CABAC, thereby effectively improving the embedding capacity of the data hiding scheme. d Embed the encrypted VVC code stream. It can be understood that the data extraction process and the decryption process are completed in the VVC decoder, and the two processes are independent of each other. Therefore, whether it is an encrypted video or a decrypted video, the encrypted hidden information H′ can be extracted d .

[0152] The information hiding method based on encrypted video provided by the embodiment of the present application is performed before the binarization process of entropy coding, which effectively improves the embedding capacity. Secondly, the proposed segmented embedding method based on non-zero coefficients can reduce the impact of coefficient modification on the visual quality of video frames. Finally, except for the case where all amplitudes are equal to 1, H′ d It is embedded by subtracting 1 from the QTC amplitude, thereby minimizing the impact of data embedding on compression efficiency.

[0153] For ease of understanding, based on the aforementioned embodiments of the present application, the implementation steps of the encryption process in the information hiding method based on encrypted video in the embodiment of the present application are as follows: Figure 4 As shown, the original video is firstly predicted intra-frame / inter-frame, and then transformed and quantized to obtain QTC amplitude, QTC symbol, MVD symbol and brightness IPM; the preset first key and second key are processed respectively by AES-CTR algorithm to obtain encryption sequence S1 and encryption sequence S2; the QTC symbol, MVD symbol and brightness IPM are encrypted by encryption sequence S1 to obtain encrypted QTC symbol, encrypted MVD symbol and encrypted brightness IPM; the original hidden data is encrypted by encryption sequence S2 and embedded in QTC amplitude in segments to obtain QTC amplitude with encrypted hidden data; finally, the encrypted QTC symbol, encrypted MVD symbol, encrypted brightness IPM and QTC amplitude with encrypted hidden data are integrated for entropy coding (CABAC) and binarization to obtain encrypted video with encrypted hidden data.

[0154] In another feasible embodiment, the information hiding method based on encrypted video further includes:

[0155] Step A10, generating a first decryption sequence and a second decryption sequence corresponding to each other based on the first key and the second key;

[0156] Step A20, performing entropy decoding on the target encrypted video to obtain a corresponding encryption element;

[0157] Step A30, extracting the encrypted hidden information from the coding unit whose non-zero coefficient in the encrypted element is greater than 1, and restoring the encrypted hidden information through a second decryption sequence to obtain the original hidden information;

[0158] Step A40, decrypting the encrypted element after extracting the encrypted hidden information through the first decryption sequence to obtain the original QTC symbol, the original MVD symbol and the original brightness IPM;

[0159] Step A50, inverse quantization, inverse transformation and intra-frame / inter-frame prediction are performed on the original QTC symbol, the original MVD symbol and the original brightness IPM in sequence to obtain the original video.

[0160] The embodiment of the present application is equivalent to providing a method for decrypting the target encrypted video after obtaining the target encrypted video to obtain the corresponding original video and the original hidden information. The decryption step can be performed by a VVC decoder of the same type as the encryption process, and the same first key and second key as those used for encryption are stored. It can be understood that video decryption is the inverse process of the selective encryption process. Through the encryption keys K1 and K2, the same corresponding decryption sequences S1 and S2 based on AES-CTR can be obtained.

[0161] After entropy decoding, the corresponding encrypted elements (the encrypted QTC symbol, MVD symbol, brightness IPM and QTC amplitude) are obtained, and S1 is used to decrypt the encrypted elements to extract the original QTC symbol, original MVD symbol and original brightness IPM. In terms of hidden data extraction, for coding units with non-zero coefficients greater than 1 (the corresponding number is N QTC ), the fragmentation extraction method can be used to obtain the encrypted hidden data H′ d Corresponding to the embedding process of hidden information, data extraction is divided into the following two parts.

[0162] For example, when 1 <N QTC <9, the extraction formula is:

[0163]

[0164] in, It is the extracted encrypted hidden information.

[0165] When N QTC When >9, the formula for extracting the amplitude of the first 9 non-zero coefficients is:

[0166]

[0167] If the number of non-zero coefficients of the residual amplitude is greater than 1, it is extracted using the following extraction formula:

[0168]

[0169] Then, the initial key is set to K2, and the AES-CTR algorithm is used to generate a random sequence S2 for data hiding. Perform XOR operation to obtain the decrypted hidden data H d The above steps are equivalent to decrypting the sequence S2 Decrypt (the decryption process is the inverse operation of the encryption process) to obtain the original hidden information H d .

[0170] For ease of understanding, based on the aforementioned embodiments of the present application, the implementation steps of the decryption process in the information hiding method based on encrypted video in the embodiment of the present application are as follows: Figure 5 As shown, first, the encrypted video with encrypted hidden data is entropy decoded to obtain the QTC amplitude and encrypted QTC symbol, encrypted MVD symbol and encrypted brightness IPM with encrypted hidden data; the preset first key and second key are processed respectively by the AES-CTR algorithm to obtain the encryption sequence S1 and the encryption sequence S2 (i.e., the decryption sequence); the encrypted QTC symbol, the encrypted MVD symbol and the encrypted brightness IPM are decrypted by the encryption sequence S1 to obtain the QTC symbol, the MVD symbol and the brightness IPM; the QTC amplitude with encrypted hidden data is segmented and extracted to obtain the encrypted hidden data, and decrypted by the encryption sequence S2 to obtain the original hidden data; the QTC symbol, the MVD symbol and the brightness IPM are successively dequantized, deconverted and intra-frame / inter-frame predicted to obtain the decrypted video (equivalent to the original video before encryption).

[0171] The syntax elements used for selective encryption and data hiding in the embodiment of the present application are completely independent. Therefore, the data extraction process and decryption process in the technical solution are interchangeable, and the encrypted form of marking and tampering detection are allowed. Even the copyright administrator has no right to access the specific content of the video, which realizes the effective encryption and protection of the video and improves the security of the hidden information embedded in the encrypted video.

[0172] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the information hiding method based on encrypted video of the present application. More simple transformations based on this technical concept are all within the protection scope of the present application.

[0173] The present application also provides an information hiding device based on encrypted video, referring to Figure 6 , the information hiding device based on encrypted video includes:

[0174] A sequence generation module 10, used to generate a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a preset second key respectively;

[0175] Select an encryption module 20, which is used to encrypt the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video respectively through the first encryption sequence in the process of entropy encoding the original video to obtain an encrypted VVC code stream;

[0176] A hidden encryption module 30, configured to encrypt the original hidden information by using the second encryption sequence to obtain encrypted hidden information;

[0177] The information embedding module 40 is used to embed the encrypted hidden information into the encrypted VVC code stream, and perform binarization processing on the encrypted VVC code stream after embedding the encrypted hidden information to obtain a target encrypted video.

[0178] In one embodiment, the encrypted VVC code stream includes at least an encrypted QTC symbol, an encrypted MVD symbol, and an encrypted brightness IPM;

[0179] The encryption selection module 20 is also used for:

[0180] When encoded into QTC, the original QTC symbol is encrypted according to the first encryption sequence to obtain an encrypted QTC symbol;

[0181] When encoding to MVD, encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain an encrypted MVD symbol;

[0182] When encoded into a luminance IPM, the chrominance IPM of the original luminance IPM is encrypted according to the first encryption sequence to obtain an encrypted luminance IPM.

[0183] In one embodiment, the encryption selection module 20 is further used for:

[0184] During the encoding process, an XOR operation is performed on each bit of the original QTC symbol and the first encryption sequence in turn to obtain an encrypted QTC symbol;

[0185] Or, during the encoding process, based on the value of each bit in the first encryption sequence, each bit in the original QTC symbol is processed in turn to obtain an encrypted QTC symbol, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the original QTC symbol remains unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the original QTC symbol is negated.

[0186] In one embodiment, the encrypted MVD symbol includes an encrypted MVD horizontal component and an encrypted MVD vertical component;

[0187] The encryption selection module 20 is also used for:

[0188] Based on the value of each bit in the first encryption sequence, each bit in the MVD horizontal component is processed to obtain an encrypted MVD horizontal component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD horizontal component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD horizontal component is negated;

[0189] Based on the value of each bit in the first encryption sequence, each bit in the MVD vertical component is processed to obtain an encrypted MVD vertical component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD vertical component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD vertical component is negated.

[0190] In one embodiment, the information embedding module 40 is further used for:

[0191] Determine the number of non-zero coefficients corresponding to the QTC amplitude in the current coding unit;

[0192] When the number of non-zero coefficients is greater than 1 and less than a preset number, embedding 1 bit of encrypted hidden information in a current coding unit in the encrypted VVC bitstream as the coding progresses, wherein the non-zero coefficient of the current coding unit is greater than 1;

[0193] When the number of non-zero coefficients is not less than the preset number, 2 bits of encrypted hidden information are embedded in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream as the coding progresses.

[0194] In one embodiment, the information embedding module 40 is further used for:

[0195] Performing a modulo operation on the sum of the amplitudes of the non-zero coefficients in the current coding unit and 1 to obtain a first remainder;

[0196] If the XOR result of the first remainder and the current bit of the encrypted hidden information is 0, keeping the amplitude of each non-zero coefficient unchanged;

[0197] If the XOR result is 1 and the amplitudes of the non-zero coefficients are all equal, then the amplitude of the last non-zero coefficient of the current coding unit is increased by 1;

[0198] Otherwise, the amplitude of the last non-zero coefficient of the current coding unit is reduced by 1.

[0199] In one embodiment, the information embedding module 40 is further used for:

[0200] The preset number is 9, and the step of embedding 2 bits of encrypted hidden information in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream includes:

[0201] Perform a modulo operation on the sum of the amplitudes of the first three non-zero coefficients and 1 to obtain the second remainder;

[0202] Perform a modulo operation on the sum of the amplitudes of the fourth to sixth non-zero coefficients and 1 to obtain a third remainder;

[0203] Perform a modulo operation on the sum of the amplitudes of the seventh to ninth non-zero coefficients and 1 to obtain a fourth remainder;

[0204] When the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, keeping the amplitude of each non-zero coefficient unchanged;

[0205] When the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the first three non-zero coefficients are all 1;

[0206] If yes, set the amplitude of the third non-zero coefficient to 2; otherwise, reduce the last non-zero coefficient greater than 1 among the first three non-zero coefficients by 1;

[0207] When the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the fourth to sixth non-zero coefficients are all 1;

[0208] If yes, set the amplitude of the sixth non-zero coefficient to 2; otherwise, reduce the value of the last amplitude greater than 1 among the fourth to sixth non-zero coefficients by 1;

[0209] When the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the seventh to sixth non-zero coefficients are all 1;

[0210] If so, the amplitude of the ninth non-zero coefficient is set to 2; otherwise, the value of the last amplitude greater than 1 among the seventh to ninth non-zero coefficients is reduced by 1.

[0211] In one embodiment, the information hiding device based on encrypted video further includes a decryption module, and the decryption module is used to:

[0212] Based on the first key and the second key, generate a first decryption sequence and a second decryption sequence corresponding to each other;

[0213] Performing entropy decoding on the target encrypted video to obtain a corresponding encryption element;

[0214] Extracting encrypted hidden information from coding units whose non-zero coefficients in the encrypted elements are greater than 1, and restoring the encrypted hidden information through a second decryption sequence to obtain original hidden information;

[0215] Decrypt the encrypted element after extracting the encrypted hidden information through the first decryption sequence to obtain the original QTC symbol, the original MVD symbol and the original brightness IPM;

[0216] The original QTC symbol, the original MVD symbol and the original brightness IPM are successively subjected to inverse quantization, inverse transformation and intra-frame / inter-frame prediction to obtain the original video.

[0217] The information hiding device based on encrypted video provided by the present application adopts the information hiding method based on encrypted video in the above embodiment, which can solve the technical problem that the current encryption domain information hiding scheme cannot be applied to the data hiding scenario of VVC encrypted video. Compared with the prior art, the beneficial effects of the information hiding device based on encrypted video provided by the present application are the same as the beneficial effects of the information hiding method based on encrypted video provided by the above embodiment, and the other technical features of the information hiding device based on encrypted video are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0218] The present application provides an electronic device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the information hiding method based on encrypted video in the above-mentioned embodiment 1.

[0219] Reference below Figure 7 , which shows a schematic diagram of the structure of an electronic device suitable for implementing the embodiments of the present application. The electronic devices in the embodiments of the present application may include but are not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 7 The electronic device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0220] like Figure 7 As shown, the electronic device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the electronic device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows an electronic device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.

[0221] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0222] The electronic device provided by the present application adopts the information hiding method based on encrypted video in the above embodiment, which can solve the technical problem that the current encryption domain information hiding scheme cannot be applied to the data hiding scenario of VVC encrypted video. Compared with the prior art, the beneficial effects of the electronic device provided by the present application are the same as the beneficial effects of the information hiding method based on encrypted video provided in the above embodiment, and the other technical features in the electronic device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0223] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0224] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0225] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the information hiding method based on encrypted video in the above-mentioned embodiment.

[0226] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.

[0227] The computer-readable storage medium may be included in the electronic device, or may exist independently without being installed in the electronic device.

[0228] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by an electronic device, the electronic device: generates a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a second key respectively; in the process of entropy encoding the original video, the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video are encrypted by the first encryption sequence to obtain an encrypted VVC code stream; the original hidden information is encrypted by the second encryption sequence to obtain encrypted hidden information; the encrypted hidden information is embedded in the encrypted VVC code stream, and the encrypted VVC code stream after the encrypted hidden information is embedded is binarized to obtain the target encrypted video.

[0229] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0230] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0231] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0232] The readable storage medium provided by the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned information hiding method based on encrypted video, and can solve the technical problem that the current encryption domain information hiding scheme cannot be applied to the data hiding scenario of VVC encrypted video. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the information hiding method based on encrypted video provided by the above-mentioned embodiment, and will not be repeated here.

[0233] The present application also provides a computer program product, including a computer program, which implements the steps of the above-mentioned information hiding method based on encrypted video when executed by a processor.

[0234] The computer program product provided by this application can solve the technical problem that the current encryption domain information hiding scheme cannot be applied to the data hiding scenario of VVC encrypted video. Compared with the prior art, the beneficial effects of the computer program product provided by this application are the same as the beneficial effects of the information hiding method based on encrypted video provided by the above embodiment, which will not be repeated here.

[0235] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. An information hiding method based on encrypted video, characterized in that: The information hiding method based on encrypted video includes: Generate a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a preset second key respectively; In the process of entropy encoding the original video, the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video are encrypted respectively by the first encryption sequence to obtain an encrypted VVC code stream; Encrypting the original hidden information by using the second encryption sequence to obtain encrypted hidden information; The encrypted hidden information is embedded in the encrypted VVC code stream, and the encrypted VVC code stream after the encrypted hidden information is embedded is binarized to obtain a target encrypted video.

2. The information hiding method based on encrypted video according to claim 1, characterized in that: The encrypted VVC code stream includes at least an encrypted QTC symbol, an encrypted MVD symbol and an encrypted brightness IPM; The step of encrypting the original QTC symbol, the original MVD symbol, and the original brightness IPM corresponding to the original video by the first encryption sequence to obtain an encrypted VVC code stream includes: When encoded into QTC, the original QTC symbol is encrypted according to the first encryption sequence to obtain an encrypted QTC symbol; When encoding to MVD, encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain an encrypted MVD symbol; When encoded into a luminance IPM, the chrominance IPM of the original luminance IPM is encrypted according to the first encryption sequence to obtain an encrypted luminance IPM.

3. The information hiding method based on encrypted video as claimed in claim 2, characterized in that: The step of encrypting the original QTC symbol according to the first encryption sequence to obtain the encrypted QTC symbol comprises: During the encoding process, an XOR operation is performed on each bit of the original QTC symbol and the first encryption sequence in turn to obtain an encrypted QTC symbol; Or, during the encoding process, based on the value of each bit in the first encryption sequence, each bit in the original QTC symbol is processed in turn to obtain an encrypted QTC symbol, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the original QTC symbol remains unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the original QTC symbol is negated.

4. The information hiding method based on encrypted video as claimed in claim 2, characterized in that: The encrypted MVD symbol includes an encrypted MVD horizontal component and an encrypted MVD vertical component; The step of encrypting the MVD horizontal component and the MVD vertical component of the original MVD symbol according to the first encryption sequence to obtain the encrypted MVD symbol comprises: Based on the value of each bit in the first encryption sequence, each bit in the MVD horizontal component is processed to obtain an encrypted MVD horizontal component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD horizontal component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD horizontal component is negated; Based on the value of each bit in the first encryption sequence, each bit in the MVD vertical component is processed to obtain an encrypted MVD vertical component, wherein when the current bit in the first encryption sequence is 0, the value of the corresponding bit in the MVD vertical component is kept unchanged, and when the current bit in the first encryption sequence is 1, the value of the corresponding bit in the MVD vertical component is negated.

5. The information hiding method based on encrypted video according to claim 1, characterized in that: The step of embedding the encrypted hidden information into the encrypted VVC code stream comprises: Determine the number of non-zero coefficients corresponding to the QTC amplitude in the current coding unit; When the number of non-zero coefficients is greater than 1 and less than a preset number, embedding 1 bit of encrypted hidden information in a current coding unit in the encrypted VVC bitstream as the coding progresses, wherein the non-zero coefficient of the current coding unit is greater than 1; When the number of non-zero coefficients is not less than the preset number, 2 bits of encrypted hidden information are embedded in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream as the coding progresses.

6. The method for hiding information based on encrypted video according to claim 5, characterized in that: The step of embedding 1 bit of encrypted hidden information in the current coding unit in the encrypted VVC code stream comprises: Performing a modulo operation on the sum of the amplitudes of the non-zero coefficients in the current coding unit and 1 to obtain a first remainder; If the XOR result of the first remainder and the current bit of the encrypted hidden information is 0, keeping the amplitude of each non-zero coefficient unchanged; If the XOR result is 1 and the amplitudes of the non-zero coefficients are all equal, then the amplitude of the last non-zero coefficient of the current coding unit is increased by 1; Otherwise, the amplitude of the last non-zero coefficient of the current coding unit is reduced by 1.

7. The method for hiding information based on encrypted video according to claim 5, characterized in that: The preset number is 9, and the step of embedding 2 bits of encrypted hidden information in the amplitude of the previous preset number in the current coding unit of the encrypted VVC code stream includes: Perform a modulo operation on the sum of the amplitudes of the first three non-zero coefficients and 1 to obtain the second remainder; Perform a modulo operation on the sum of the amplitudes of the fourth to sixth non-zero coefficients and 1 to obtain a third remainder; Perform a modulo operation on the sum of the amplitudes of the seventh to ninth non-zero coefficients and 1 to obtain a fourth remainder; When the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, keeping the amplitude of each non-zero coefficient unchanged; When the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the first three non-zero coefficients are all 1; If yes, set the amplitude of the third non-zero coefficient to 2, otherwise, reduce the last non-zero coefficient greater than 1 among the first three non-zero coefficients by 1; When the XOR result of the second remainder and the third remainder is not equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the fourth to sixth non-zero coefficients are all 1; If yes, set the amplitude of the sixth non-zero coefficient to 2; otherwise, reduce the value of the last amplitude greater than 1 among the fourth to sixth non-zero coefficients by 1; When the XOR result of the second remainder and the third remainder is equal to the current bit of the encrypted hidden information, and the XOR result of the third remainder and the fourth remainder is not equal to the bit after the current bit of the encrypted hidden information, determining whether the amplitudes of the seventh to sixth non-zero coefficients are all 1; If so, the amplitude of the ninth non-zero coefficient is set to 2; otherwise, the value of the last amplitude greater than 1 among the seventh to ninth non-zero coefficients is reduced by 1.

8. The method for hiding information based on encrypted video according to any one of claims 1 to 7, characterized in that: The information hiding method based on encrypted video also includes: Based on the first key and the second key, generate a first decryption sequence and a second decryption sequence corresponding to each other; Performing entropy decoding on the target encrypted video to obtain a corresponding encryption element; Extracting encrypted hidden information from coding units whose non-zero coefficients in the encrypted elements are greater than 1, and restoring the encrypted hidden information through a second decryption sequence to obtain original hidden information; Decrypt the encrypted element after extracting the encrypted hidden information through the first decryption sequence to obtain the original QTC symbol, the original MVD symbol and the original brightness IPM; The original QTC symbol, the original MVD symbol and the original brightness IPM are successively subjected to inverse quantization, inverse transformation and intra-frame / inter-frame prediction to obtain the original video.

9. An information hiding device based on encrypted video, characterized in that: The information hiding device based on encrypted video includes: A sequence generation module, used to generate a corresponding first encryption sequence and a second encryption sequence according to a preset first key and a preset second key; Select an encryption module, which is used to encrypt the original QTC symbol, the original MVD symbol and the original brightness IPM corresponding to the original video respectively by using the first encryption sequence in the process of entropy encoding the original video to obtain an encrypted VVC code stream; A hidden encryption module, used for encrypting the original hidden information by using the second encryption sequence to obtain encrypted hidden information; The information embedding module is used to embed the encrypted hidden information into the encrypted VVC code stream, and perform binarization processing on the encrypted VVC code stream after embedding the encrypted hidden information to obtain a target encrypted video.

10. An electronic device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the information hiding method based on encrypted video according to any one of claims 1 to 8.

11. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the information hiding method based on encrypted video as described in any one of claims 1 to 8 are implemented.

12. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the information hiding method based on encrypted video are implemented as claimed in any one of claims 1 to 8.