# A Self-Recovery Fragile Image Watermarking with Variable Watermark Capacity
## 1 Introduction
Some regions are much smoother, while some regions are much rougher. Compared with the blocks in smooth regions, the texture blocks contain more image information. Therefore, it needs more recovery watermark to restore the tampered texture blocks. Besides, the recovery level for smooth blocks is limited. Too much watermark information for smooth blocks would not increase the image quality too much, but lead to the data redundancy. On the other hand, too little recovery information for texture blocks would cause too much damage for the recovery of texture blocks. To solve this problem, some improved watermarking methods have been presented in the last few years. In [17], [PERSON] et al. presented a self-embedding fragile watermarking method. In the method, the image blocks with size of 8 \(\times\) 8 are first divided into different types according to their DCT coefficients. Then the direct current (DC) coefficient and different numbers of alternating current (AC) coefficients are selected and coded for different types of blocks. With the help of the reference-sharing mechanism proposed in [18], the watermark is inserted into the 3 least significant bit (LSB) planes of whole image. To improve the flexibility of LSB-based watermarking scheme, [PERSON] et al. [19] proposed a self-recovery fragile watermarking based on hierarchical reference bits. Unlike other methods, the number of the most significant bit (MSB) planes is dynamically selected to generate the reference-sharing recovery watermark. Both these two methods mentioned above have achieved good image recovery results for tampered images. However, the watermark capacity is still constant for different blocks in an image. In [20], [PERSON] et al. introduced a self-recovery watermarking with an alterable capacity. According to the degree of smoothness, the image blocks with size of 8 \(\times\) 8 are classified into eight types. For different types, the alterable length watermark is produced for each block. To reduce the synchronous tampering problem [21] and increase the quality of restored images, the watermark is embedded twice into different blocks. Unfortunately, the detection precision of this method is limited to 8 \(\times\) 8 due to its block size. In reference [22], [PERSON] et al. proposed a self-embedding fragile watermarking based on reference-data interleaving and adaptive selection of embedding mode. In their scheme, two different watermarking embedding modes are designed and the alterable numbers of MSB and LSB planes are selected to achieve good recovery performance. [PERSON] et al. [23] proposed a fast fragile watermarking scheme, where an iterative recovery mechanism was applied in image recovery process. Compared to the reference-sharing embedding strategy, the experimental results indicate that this method can reduce the computation cost efficiently. [PERSON] et al. [24] presented a watermarking method with flexible watermark capacity. Different from other methods, the correlation among the pixels in \(2\times 2\) block is used to complete the block classification and the generation of variable length recovery watermark. However, there is no authentication watermark in this method, which reduces the detection accuracy in some degree. In [25], [PERSON] et al. further proposed a chaotic-map-based self-embedding fragile watermarking. A chaotic map designed in [26] is applied to produce the authentication watermark and a block mapping sequence. In tamper detection, the block-neighborhood characteristic [27] is used to enhance the detection accuracy. Based on [25], many improved algorithms have been put forward [28; 29]. In [28], a new chaotic map and block classification method are designed, which further improve the coding efficiency for variable length watermark. [PERSON] et al. [29] embeds the watermark into the LSBs of each block. The specific embedding locations are determined by a random location matrix, which enhances the security of the watermarking scheme.