Keywords

1 Introduction

In the latest years, video industry has been rapidly developed while the mobile video applications are more favored by the majority, especially for TikTok, video conference, live-broadcast, etc. However, under the increasingly prosperous apps industry, video protection issues are also emerging and becoming more significant. These issues include, but not limited, illegal distribution, malicious recording, and unauthorized play for self-interest. The video steganography technology, a powerful tool for protecting the video owner’s legitimate rights, is becoming more and more prominent and has been a hot research area for numerous scholars. Video steganography usually embeds metadata (signals of video protection) into video contents and extracts these signals in the future essential scene, thus, it can achieve a strong protection level [1]. Besides, the continuous development of video coding technology also brings challenges to the video protection. Benefited from higher compression efficiency, videos evolve in larger resolution and less bitrate. However, higher compression efficiency further eliminating the embedding space of video steganography, and more new technologies adopted in new codec standard makes it hard to directly use previous video steganography algorithms to protect video privacy and legitimate rights. With the consideration of above mention, there’s still strong need to explore a novel and high embedding efficiency video steganography algorithm to protect video security of high and beyond-high resolution video products, which typical examples are H.265/HEVC (the latest video codec technology [2, 3]) based video products.

Histogram shifting based video steganography is a typical reversible data hiding (RDH) technology, which aims to provide a path that the carrier video can be completely recovered after the metadata has been extracted [5]. There are two mainly techniques, difference expansion based and histogram shifting based algorithms for the RDH. In the difference expansion algorithms, Tian [6] proposed to utilize the difference between two neighboring pixels to embed one bit metadata and use the location map to record all expanded locations, which is also the common processes in RDH methods. In addition, Alattar [7] expanded the difference between 3–4 pixels and Kamstra and Heijmans [8] makes the location map compressed by using the low-pass image to predict expandable locations. In the histogram modification (HM) based algorithms, metadata is always embedded into the peak points of the histogram, and the embedding capacity is always depended on the quantity of peak points of the histogram.

While considering the scenario of transferring video through network, transform domain based video steganography methods provides more practical application meanings. In the transform domain based researches, discrete cosine transform (DCT) coefficient is a basic and renowned carrier due to its majority occupying the bitstream and reversibility [4, 9,10,11,12,13,14]. Actually, there have been several RDH methods combing the HM and DCT coefficient. In [12], two random coefficients are selected from 4 × 4 blocks and according to the pre-defined coefficient set they belong to, the metadata can be embedded and achieve a large embedding capacity. Based on above consideration, the combination between DCT coefficients and histogram shiftting would be a potential tool to design an efficient video steganography scheme for digital video protection, especially for HD or beyond HD format videos compressed by H.265/HEVC.

In this paper, we focus on the issues of video security protection, by designing an efficient and large embedding capacity video steganography algorithm to promote the security level of the digital video transmitted on network. In this paper, we propose to combine the DST coefficients and provided two-dimensional histogram shifting rules in 4x4 DST block to embed secret data. In order to minimize the visual distortion, we design a shifting rules that can achieve embed 4-bits metadata while modifying only 1-bit coefficient at most. Experimental evaluation has been proven that the proposed method can achieve high visual quality and security performance for carrier videos and higher embedding capacity than state-of-the-art.

The remainder of this paper is organized as follows: Sects. 2 reviews the related technical backgrounds of traditional two-dimensional histogram shifting algorithm. Section 3 proposes the scheme of our video steganography research based on provided 19 non-intersecting sets and two-dimensional histogram shifting rules. In Sect. 4, the experimental results are presented and evaluated our scheme. Finally, the conclusion is shown in Sect. 5.

2 Related Technical Backgrounds

2.1 QDST Coefficients in H.265/HEVC

Since the proposed algorithm utilize 4 × 4 QDST coefficients as the embedding carrier, the main transformation and quantization process in H.265/HEVC is elaborated in this section. In H.265/HEVC, 4 × 4 transform block use DST transformation matrix, and other dimension blocks use DCT transformation matrix. The main advantage of this transformation mechanism is for higher precision and lower dynamic range [2]. The DST transformation matrix core of 4 × 4 transform block can be formulated as following:

$$ C = \frac{2}{3}\left[ {\begin{array}{*{20}c} {\sin \frac{\pi }{9}} & {\sin \frac{2\pi }{9}} & {\sin \frac{3\pi }{9}} & {\sin \frac{4\pi }{9}} \\ {\sin \frac{3\pi }{9}} & {\sin \frac{3\pi }{9}} & 0 & { - \sin \frac{3\pi }{9}} \\ {\sin \frac{4\pi }{9}} & { - \sin \frac{\pi }{9}} & { - \sin \frac{3\pi }{9}} & {\sin \frac{2\pi }{9}} \\ {\sin \frac{2\pi }{9}} & { - \sin \frac{4\pi }{9}} & {\sin \frac{3\pi }{9}} & { - \sin \frac{\pi }{9}} \\ \end{array} } \right] $$
(1)

where C presents the transformation matrix core. Before rounding and scaling C, we can acquire the integer transformation matrix H and obtain the two-dimensional DST transformation of 4 × 4 blocks as follows:

$$ H = \left[ {\begin{array}{*{20}c} {29} & {55} & {74} & {84} \\ {74} & {74} & 0 & { - 74} \\ {84} & { - 29} & { - 74} & {55} \\ {55} & { - 84} & {74} & { - 29} \\ \end{array} } \right] $$
(2)
$$ Y = HXH^{T} $$
(3)

where Y presents the transformed coefficients and X depicts the original sample residuals after prediction. After transformation, the coefficients Y will go through post-scaling and quantization process as follows:

$$ \tilde{Y} = (Y. \times MF)/2^{(qbits + T\_Shift)} $$
(4)

where \(qbits = 14 + floor(QP/6)\) \(MF = 2^{qbits} /Q_{step}\), and OP is the quantization parameter and Qstep presents the quantization step, which is determined by coding configuration and rate-distortion optimization (RDO) process for bit-rate restriction scenario.

As shown in Fig. 1, the QDST coefficients in 4 × 4 blocks can be classified into two categories. Group 1 includes direct coefficients (DC) and other low-frequency coefficients, which are located at top-left, and reserve more fundamental information of predicted residuals. Group 2 includes coefficients located at bottom-right directions, and reserve more detail information in high-frequency AC coefficients (marked as gray in Fig. 1). As mentioned above, embedding metadata into AC coefficients would bring less distortion in carrier video. So the AC coefficients in 4 × 4 blocks will be ideal embedding carrier in H.265/HEVC video.

Fig. 1.
figure 1

The 4 × 4 QDST AC coefficients

2.2 Histogram Modification Mechanism

The traditional histogram modification mechanism can be classified into 1-dimension and 2-dimension. In traditional 1-dimension method, metadata is always embedding into QDCT coefficient according to the shifting rule of 1-dimension histogram. The following provides the detailed principle of embedding procedure:

$$ {\text{Y}}^{^{\prime}} = \left\{ {\begin{array}{*{20}l} {Y,\quad if\;(Y = 0|| - 1)\& \& (m = 0)} \hfill \\ {1,\quad if\;(Y = 0)\& \& (m = 1)} \hfill \\ { - 2,\quad if\;(Y = 0)\& \& (m = 1)} \hfill \\ {Y + 1,\quad if\;Y > 0} \hfill \\ {Y - 1,\quad if\;Y < - 1} \hfill \\ \end{array} } \right. $$
(5)

where \(Y\) and \(Y^{\prime}\) represents the original and embedded QDCT coefficients, and \(m\) depicts the binary character of metadata which needs to be embedded in current QDCT coefficient. In the traditional 2-dimension method, two QDCT coefficient are selected for embedding and each QDCT coefficient could embed 1-bit metadata with the same manner as in Eq. (5). For instance, if we need embed metadata is \(0\), and the two QDCT coefficients are \((0, - 1)\). According to the shifting rule of 1-dimension histogram, the embedded coefficient would be \((0, - 2)\) and if the metadata is 1, the two QDCT coefficients would be (1, −2) after the embedding procedure.

3 Proposed Two-Dimensional Histogram Shifting Video Steganography Algorithm

The proposed two-dimensional histogram shifting video steganography algorithm is illustrated in Fig. 2. The scheme can be divided into two components, including embedding and extraction process. In embedding section, appropriate 4 × 4 embedded blocks can be selected based on the random seed and embedded block threshold. Then the specific coefficients are selected for embedding according to the pre-defined 2-Dimensional histogram shifting rules, where the selected QDST coefficient pair would be modified from embedding or shifting. After entropy encode (CABAC or CALVC), the carrier video will be encoded to bitstream and transmitted through external network. The extraction section is an inverse loop of embedding. To guarantee the security of metadata, essential encryption and decryption are also manipulated before and after video steganography process.

Fig. 2.
figure 2

Proposed two-dimensional histogram shifting video steganography algorithm

In order to enhance the security of the proposed video steganography algorithm, the embedded 4 × 4 block is selected randomly to resist the detection of video steganography. In addition, the block threshold is also utilized to determine whether the random number is larger than threshold or not. If the random number is less than threshold, the current 4 × 4 block will be used as embedded block. If not, current 4 × 4 block will be skipped for embedding. Thus, the introduction of block threshold will be used as embedding strength to adjust the embedding capacity for different demands. In the embedded 4 × 4 block, the coefficient threshold are also used as the selection of coefficient pair. If the current high-frequency AC coefficient’s absolute is less than the coefficient threshold, the current QDST coefficient will be selected as component of embedded coefficient pair. When the embedded coefficient pair have all been selected, the current 4 × 4 block will not be scanned. If the embedded coefficient pair is \(\left\{ {Y_{1} ,Y_{2} } \right\}\), then the embedding procedure will be manipulated according to 2-dimensional histogram shifting rules and the coefficient set they belong to. The 2-dimensional histogram shifting rules are depicted as Fig. 3.

Fig. 3.
figure 3

Proposed 2-dimensional histogram shifting rules

As shown in Fig. 3, each coefficient set has different shifting rules according to pre-defined 19 non-intersecting sets which are determined by the values of the coefficient pair. If we denote the current coefficient pair as symbol A, the 19-non-intersecting sets can be defined as following:

  • \(A_{1} = \left\{ {\left( {0,0} \right)} \right\}\)

  • \(A_{2} = \left\{ {\left( {Y_{1} ,0} \right)|Y_{1} > 0} \right\}\)

  • \(A_{3} = \left\{ {\left( {Y_{1} ,0} \right)|Y_{1} < 0} \right\}\)

  • \(A_{4} = \left\{ {\left( {0,1} \right)} \right\}\)

  • \(A_{5} = \left\{ {\left( {0, - 1} \right)} \right\}\)

  • \(A_{6} = \left\{ {\left( {0,Y_{2} } \right)|Y_{2} > 1} \right\}\)

  • \(A_{7} = \left\{ {\left( {0,Y_{2} } \right)|Y_{2} < - 1} \right\}\)

  • \(A_{8} = \left\{ {\left( { - 1,Y_{2} } \right)|Y_{2} > 1} \right\}\)

  • \(A_{9} = \left\{ {\left( {1,Y_{2} } \right)|Y_{2} > 1} \right\}\)

  • \(A_{10} = \left\{ {\left( {1,Y_{2} } \right)|Y_{2} < - 1} \right\}\)

  • \(A_{11} = \left\{ {\left( { - 1,Y_{2} } \right)|Y_{2} < - 1} \right\}\)

  • \(A_{12} = \left\{ {\left( {Y_{1} ,1} \right)|Y_{1} < 0} \right\}\)

  • \(A_{13} = \left\{ {\left( {Y_{1} ,Y_{2} } \right)|Y_{1} < - 1,Y_{2} > 1} \right\}\)

  • \(A_{14} = \left\{ {\left( {Y_{1} ,1} \right)|Y_{1} > 0} \right\}\)

  • \(A_{15} = \left\{ {\left( {Y_{1} ,Y_{2} } \right)|Y_{1} > 1,Y_{2} > 1} \right\}\)

  • \(A_{16} = \left\{ {\left( {Y_{1} , - 1} \right)|Y_{1} < 0} \right\}\)

  • \(A_{17} = \left\{ {\left( {Y_{1} ,Y_{2} } \right)|Y_{1} < - 1,Y_{2} < - 1} \right\}\)

  • \(A_{18} = \left\{ {\left( {Y_{1} , - 1} \right)|Y_{1} > 0} \right\}\)

  • \(A_{19} = \left\{ {\left( {Y_{1} ,Y_{2} } \right)|Y_{1} > 1,Y_{2} < - 1} \right\}\)

where sets \(A_{1} ,A_{2} ,A_{3} ,A_{4} ,A_{5} ,A_{8} ,A_{9} ,A_{10} ,A_{11}\) are used as embedding and other coefficient sets are used for shifting.

The detailed embedding procedure is determined by the coefficient set and histogram shifting rules as depicted in Fig. 3. In order to describe the embedding process more clearly, we provide the detailed histogram shifting principle in the following description. If the current coefficient pair is denoted as \(\{{\mathrm{A}}_{1},{A}_{2}\}\), the embedded coefficient pair is denoted as \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\), the binary characters of metadata is denoted as \(m_{i} m_{{i{ + }1}} m_{{i{ + }2}} m_{{i{ + }3}}\), then the embedding procedure can be depicted as follows:

  • 1). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{1}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}l} {\{ Y_{1} ,Y_{2} \} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 000} \hfill \\ {\{ Y_{1} + 1,Y_{2} \} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 001} \hfill \\ {\{ Y_{1} ,Y_{2} + 1\} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 010} \hfill \\ {\{ Y_{1} - 1,Y_{2} \} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 011} \hfill \\ {\{ Y_{1} ,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 100} \hfill \\ {\{ Y_{1} + 1,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 101} \hfill \\ {\{ Y_{1} - 1,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 110} \hfill \\ {\{ Y_{1} - 1,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 1110} \hfill \\ {\{ Y_{1} + 1,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} m_{i + 2} = 1111} \hfill \\ \end{array} } \right. $$
  • 2). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{2}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}l} {\{ Y_{1} { + }1,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} = 10} \hfill \\ {\{ Y_{1} { + }1,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} = 11} \hfill \\ {\{ Y_{1} { + }1,Y_{2} \} } \hfill & {if\;m_{i} m_{i + 1} = 0} \hfill \\ \end{array} } \right. $$
  • 3). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{3}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}l} {\{ Y_{1} - 1,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} = 10} \hfill \\ {\{ Y_{1} - 1,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} = 11} \hfill \\ {\{ Y_{1} - 1,Y_{2} \} } \hfill & {if\;m_{i} m_{i + 1} = 0} \hfill \\ \end{array} } \right. $$
  • 4). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{4}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}l} {\{ Y_{1} - 1,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} = 10} \hfill \\ {\{ Y_{1} { + }1,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} = 11} \hfill \\ {\{ Y_{1} ,Y_{2} { + }1\} } \hfill & {if\;m_{i} m_{i + 1} = 0} \hfill \\ \end{array} } \right. $$
  • 5). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{5}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}l} {\{ Y_{1} { + }1,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} = 10} \hfill \\ {\{ Y_{1} - 1,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} = 11} \hfill \\ {\{ Y_{1} ,Y_{2} - 1\} } \hfill & {if\;m_{i} m_{i + 1} = 0} \hfill \\ \end{array} } \right. $$
  • 6). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{8}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}c} {\{ Y_{1} - 1,Y_{2} + 1\} } & {if\;m_{i} = 1} \\ {\{ Y_{1} ,Y_{2} + 1\} } & {if\;m_{i} = 0} \\ \end{array} } \right. $$
  • 7). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{9}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}c} {\{ Y_{1} + 1,Y_{2} + 1\} } & {if\;m_{i} = 1} \\ {\{ Y_{1} ,Y_{2} + 1\} } & {if\;m_{i} = 0} \\ \end{array} } \right. $$
  • 8). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{10}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}c} {\{ Y_{1} + 1,Y_{2} - 1\} } & {if\;m_{i} = 1} \\ {\{ Y_{1} ,Y_{2} - 1\} } & {if\;m_{i} = 0} \\ \end{array} } \right. $$
  • 9). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{11}\), then \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}c} {\{ Y_{1} + 1,Y_{2} - 1\} } & {if\;m_{i} = 1} \\ {\{ Y_{1} ,Y_{2} - 1\} } & {if\;m_{i} = 0} \\ \end{array} } \right. $$
  • 10). If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\} \in A_{6} ,A_{7} ,A_{12} ,A_{13} ,A_{14} ,A_{15} ,A_{16} ,A_{17} ,A_{18} ,A_{19}\), then the current coefficient pair will not be used as embedding, and only for coefficient shifting. And \(\{{{\mathrm{A}}^{^{\prime}}}_{1},{{A}^{^{\prime}}}_{2}\}\) can be obtained as follows:

    $$ \left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\} = \left\{ {\begin{array}{*{20}c} {\{ Y_{1} ,Y_{2} + 1\} } & {if\;\{ Y_{1} ,Y_{2} \} \in A_{6} } \\ {\{ Y_{1} ,Y_{2} - 1\} } & {if\;\{ Y_{1} ,Y_{2} \} \in A_{7} } \\ {\{ Y_{1} - 1,Y_{2} + 1\} } & {if\;\{ Y_{1} ,Y_{2} \} \in A_{12} \cup A_{13} } \\ {\{ Y_{1} + 1,Y_{2} + 1\} } & {if\;\{ Y_{1} ,Y_{2} \} \in A_{14} \cup A_{15} } \\ {\{ Y_{1} - 1,Y_{2} - 1\} } & {if\;\{ Y_{1} ,Y_{2} \} \in A_{16} \cup A_{17} } \\ {\{ Y_{1} + 1,Y_{2} - 1\} } & {if\;\{ Y_{1} ,Y_{2} \} \in A_{18} \cup A_{19} } \\ \end{array} } \right. $$

we provide a simple example to describe above embedding procedure. If the current coefficient pair \(\left\{ {Y_{1} ,Y_{2} } \right\}\) is \(\left\{ {0,0} \right\}\), then the coefficient pair can be modified to\(\left\{ {0,0} \right\},\left\{ {1,0} \right\},\left\{ {0,1} \right\},\left\{ { - 1,0} \right\},\left\{ {0, - 1} \right\}\), \(\left\{ {1,1} \right\},\left\{ { - 1,1} \right\},\left\{ { - 1, - 1} \right\},\left\{ {1, - 1} \right\}\), and corresponding embedded metadata will be \(000,001,010,011,100,101,110,1110,1111\), respectively. As seen from above embedding procedure, in the optimistic scene, we can embedded 4-bits metadata at most and only modify coefficient once only.

Extraction procedure is an inverse process compared to embedding procedure. During the extraction procedure, the random seed, 4 × 4 block and coefficient threshold should be kept with the same values as embedding procedure. And then according to the values of coefficient pair \(\left\{ {Y^{\prime}_{1} ,Y^{\prime}_{2} } \right\}\), we can extract the embedded metadata with an inverse process of 2-dimensional histogram shifting rules depicted in Fig. 3.

4 Experimental Evaluation

The proposed video steganography algorithm is manipulated and evaluated under the reference software HM16.0. The coding parameters are set as follows: frame-rate is set to be 30 frames/s, quantization parameter is set to be 32, and the test video sequence is set to be all intra frames, B and P frames with the interval 4. The main evaluation includes PSNR, embedding capacity and bit-rate increase.

The subjective visual quality of the proposed algorithm is depicted in Fig. 4, where the first column are the original video samples resolutions in the range of 416 × 240 to 1280 × 720 (BasketballPass: 416 × 240 and KristenAndSara: 1280 × 720), and the second column are the proposed video steganography algorithm. It can be seen that the proposed algorithm has achieved good visual quality on carrier videos and imperceptible performance. Figure 5 (a) provides comparisons about PSNR comparisons when POC various from 0–9 while embedding metadata in test video sample BasketballPass. For the visual quality evaluation, PSNR is the average value of all tested frames, it can be seen that for visual quality, the average PSNR of our proposed scheme is 35.10 dB while original PSNR value is 35.41 dB for tested videos BasketballPass.The experimental results have proved a good embedding performance of our proposed scheme on PSNR and bit-rate increase.

Figure 5 (b) and (c) also provides the embedding performance of bit-rate increase and embedding capacity of our proposed video steganography algorithm, 20 frames are used to test embedding capacity and bit-rate increase is the result of various quantity of embedding metadata from 100 to 2200 bits, and embedding capacity is the result of QP parameters various from 28 to 36. For bit-rate increase, our proposed scheme can achieve average 0.64%. For embedding capacity, our proposed scheme has achieved average 2225.6 bits. It can be seen that our proposed scheme can achieve a good performance on visual quality, embedding capacity and bit-rate increase.

Fig. 4.
figure 4

Subjective visual quality of the proposed video steganography algorithm

Fig. 5.
figure 5

Embedding performance of our proposed algorithm

5 Conclusion

In this paper, an effective 2-dimensional histogram shifting based video steganography algorithm is proposed for H.265/HEVC video security protection. The proposed algorithm could embed 4-bits metadata in 4 × 4 QDST block at most while only one AC coefficient is modified. The experimental results also show that our proposed algorithm can achieve a good embedding performance on visual quality, embedding capacity and bit-rate increase.