## 3 Reversible Watermarking Based on intDCT
### Extracting Embedded Information and Reconstructing Original Data  
In the extraction process, we extract the embedded data \(b_{1},\ldots,b_{K}\) and recover the original signal \(\mathbf{h}=(h(1),\ldots,h(N))\) using the procedure shown in Algorithm 2. This extraction process is applied to all frames of the stego signal. Figure 4 plots the flowcharts for embedding, extraction, and verification. ```
1:A frame of the original signal \(\mathbf{h}=(h(1)\dots h(N))\), block number \(M\), secret data (hash value) \(b_{1},\dots,b_{K}\) where \(K<BM_{emb}-M\)
2:Transform \(\mathbf{h}\) into \(\mathbf{H}=(H(1),\dots,H(N))\) using intDCT
3:Determine \(\varphi(1),\dots,\varphi(M)\)
4:\(k\gets 1\)
5:for\(i\gets N\)to 1 do
6:if\(i>N-M\)then
7:\(S(i)\gets 2H(i)+\varphi(N-i+1)\)
8:elseif\(\varphi(\lfloor(i-1)/M\rfloor+1)=1\)then
9:if\(k\leq K\)then
10:\(S(i)\gets 2H(i)+b_{k}\)
11:\(k\gets k+1\)
12:else
13:\(S(i)\gets 2H(i)\)
14:endif
15:else
16:\(S(i)\gets H(i)\)
17:endif
18:endfor
19:Transform \(\mathbf{S}\) into \(\mathbf{s}\) using inverse intDCT
20:Check if overflow occurs
21:if overflow occurs then
22:for\(i\gets 1\)to \(N\)do
23:if\(i\geq N-M\)then
24:\(S(i)\gets 2H(i)\)
25:else
26:\(S(i)\gets H(i)\)
27:endif
28:endfor
29:Transform \(\mathbf{S}\) into \(\mathbf{s}\) using inverse intDCT
30:endif
```  
**Algorithm 1** Embedding procedure. ```
1:A frame of the stego signal \(\mathbf{s}=s(1),\dots,s(N)\), block number \(M\)
2:Transform time-domain stego signal \(\mathbf{s}\) into \(\mathbf{S}\) using intDCT
3:for\(i=N\)to\(N-M+1\)do
4:\(H(i)\leftarrow\lfloor S(i)/2\rfloor\)
5:\(\varphi(N-i+1)\gets S(i)-2H(i)\)
6:endfor
7:\(k\gets 1\)
8:for\(i=N-M\)to 1 do
9:if\(\varphi(\lfloor(i-1)/M\rfloor+1)=1\)then
10:\(H(i)\leftarrow\lfloor S(i)/2\rfloor\)
11:if\(k\leq K\)then
12:\(b_{k}\gets S(i)-2H(i)\)
13:\(k\gets k+1\)
14:endif
15:else
16:\(H(i)\gets S(i)\)
17:endif
18:endfor
19:Transform \(\mathbf{H}\) into \(\mathbf{h}\) using inverse intDCT
```  
**Algorithm 2** Extracting and recovering procedure. ```
1:A frame of the stego signal \(\mathbf{s}=s(1),\dots,s(N)\), block number \(M\)
2:Transform time-domain stego signal \(\mathbf{s}\) into \(\mathbf{S}\) using intDCT
3:for\(i=N\)to\(N-M+1\)do
4:\(H(i)\leftarrow\lfloor S(i)/2\rfloor\)
5:\(\varphi(N-i+1)\gets S(i)-2H(i)\)
6:endfor
7:\(k\gets 1\)
8:for\(i=N-M\)to 1 do
9:if\(\varphi(\lfloor(i-1)/M\rfloor+1)=1\)

## 4 Experimental Evaluation

### Data Used for Experiments

We mainly use speech data for the target application scenario to guarantee data integrity with probative importance. We used the dataset from ITU-T Test Signals for Telecommunication Systems--Test Vectors Associated to Rec. ITU-T P50 Appendix I [38] for evaluation. This dataset includes 16 kHz sampled and 16-bit quantized waveforms. We used 112 speech signals with 16 speakers in seven languages: American English, Arabic, Mandarin Chinese, Danish, French, German, and Japanese. The average length of each track was approximately 10 s, while we adjusted the data lengths to be an integer multiple of the frame length. ### Analyzing Suitable Coefficients for Expansion

As described in Section 3.3, expanding the DCT coefficients may cause an overflow of the stego signal. Since the magnitude of the DCT coefficients becomes smaller when the frequency increases, the impact of DCT coefficient expansion may differ from band to band. Thus, we analyzed the maximum absolute amplitude of the stego signal generated by expanding different blocks and then embedding the hash data of each frame as the payload to generate the stego data and select the most appropriate coefficient blocks for hiding. Here, with \(M=16\) and \(M_{emb}=8\), in the case of expanding from the second block (\(M_{b}=2\)), the location map is {0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0}. Figure 5 shows the number of audio clips with maximum amplitude (32,767 or \(-\)32,768), suggesting that an overflow occurred to these clips. According to Figure 5, the higher the frequency of the expanded

Figure 4: Flowchart for embedding, extraction, and verification.