DOI QR코드

DOI QR Code

Quantized DCT Coefficient Category Address Encryption for JPEG Image

  • Li, Shanshan (School of Information Engineering, Chang'an University) ;
  • Zhang, Yuanyuan (The First Affiliated Hospital of Xi'an Jiaotong University)
  • Received : 2015.08.21
  • Accepted : 2016.02.23
  • Published : 2016.04.30

Abstract

Digital image encryption is widely used for image data security. JPEG standard compresses image with great performance on reducing file size. Thus, to encrypt an image in JPEG format we should keep the quality of original image and reduced size. This paper proposes a JPEG image encryption scheme based on quantized DC and non-zero AC coefficients inner category scrambling. Instead of coefficient value encryption, the address of coefficient is encrypted to get the address of cipher text. Then 8*8 blocks are shuffled. Chaotic iteration is employed to generate chaotic sequences for address scrambling and block shuffling. Analysis of simulation shows the proposed scheme is resistant to common attacks. Moreover, the proposed method keeps the file size of the encrypted image in an acceptable range compared with the plain text. To enlarge the cipher text possible space and improve the resistance to sophisticated attacks, several additional procedures are further developed. Contrast experiments verify these procedures can refine the proposed scheme and achieve significant improvements.

Keywords

1. Introduction

The continued growth of personal intelligent devices and Internet makes it easy to distribute, share and exchange digital image data through various sorts of open networks. But, the convenience offered by the advances in open network communications has caused a security threat for storage and transmission of digital image data. Unauthorized access to these image data is simple and easy when they are transmitted via open network. Some of these data contain confidential information, such as military satellite images, patent design blueprints, and medical images. A high security level is required to keep the image data confidential between legal users. The unauthorized accessing should not be able to obtain the content. To protect image security, image encryption approaches are widely studied and applied.

Image encryption techniques attempt to convert the original image into another incomprehensible image. Ciphered image is usually meaningless white noise. Therefore, image encryption is analogous to image scrambling. It requires legal users can easily and efficiently encrypt plain text image and decrypt cipher text image with the knowledge of encryption algorithm and keys. The eavesdroppers without decryption key cannot obtain the content of ciphered images.

JPEG standard is created by Joint Photographic Experts Group. Nowadays, JPEG compression is used in lots of image file formats. Digital image capture devices produce images mostly in JPEG format. It is also the most common format for storing and transmitting images on Internet. To encrypt JPEG images, there are some additional requirements and restrictions. The most significant characteristic of JPEG image compression is the great performance on reducing image file size. Thus, an important principle of JPEG format image encryption is to keep its quality of plain text image and reduced size.

JPEG compression process consists of color space transformation, down sampling, block split, discrete cosine transform (DCT), quantization and entropy coding. After block DCT and quantization, the quantized DC coefficients carry the most important information of every 8*8 block. The process is shown in Fig. 1.

Fig. 1.JPEG encoding process

Based on the Huffman coding principle of JPEG image, this paper proposes a JPEG image encryption scheme that encrypts a quantized DCT coefficient to another value of the same category. Instead of directly encrypting the value of a coefficient, the address of the coefficient is encrypted to get the address of cipher text. Then all 8*8 blocks are shuffled. A chaotic iteration is adopted to generate chaotic sequences for coefficients scrambling and block shuffling. The encryption scheme is resistant to casual observers. Analysis indicates some shortcomings of the proposed scheme. To overcome these disadvantages, several improvement procedures are further presented in this paper.

 

2. Related Work

Image encryption has been developed dramatically in recent years. As image data is often compressed by JPEG compression standard, JPEG image encryption has aroused great attention. The encrypted bit stream should keep file format compliance. It means the encrypted data could be decoded as a JPEG image by standard decoder [1].

To keep the image file size, JPEG image encryption algorithms were performed on the DCT domain. Shared key was employed on encrypting the quantized DCT coefficients and the results were also stored in the JPEG format [2]. Some of the existed JPEG image encryption algorithms focused on scrambling DC coefficients. AC coefficients were paid little attention. The DC coefficients were extracted and split to maintain the statistical distribution of DCT coefficients. A spatial temporal-chaos system was utilized to diffuse the quantized DC coefficients [3]. AC signs were encrypted, which made encrypted coefficients not in-relevant enough to the original [4]. Quantized AC positions were shuffled inner blocks, which changed the entropy coding size [5]. To keep the entropy code results inside blocks, all the blocks were shuffled to gain the encrypted image [6]. But the coefficients were not confused. In [7], AC coefficient together with the zero run length was considered as a symbol. The symbol was scrambled. The value of AC was not confused. In [8], Huffman coefficient structure was divided into Huffman code and appended bits. The appended bits were encrypted by XOR operation with bit sequence. DC and AC coefficients were encrypted differently in [9]. DC components were rearranged based on the regions. AC coefficients were ciphered after the smallest bitstream size was selected. Since DC coefficients were usually much larger than AC coefficients in the same 8*8 blocks, Ong et al. decomposed DC coefficients into four parts, placed them in AC positions, and then shuffled these coefficients during all defined blocks [10].

Chaotic system has received increasing attention of image encryption researchers recently because it has many cryptographically desirable features. These features include sensitivity to initial condition, density of periodic orbits, and so on. The chaotic sequences produced by chaotic iteration were employed to shuffle image pixel positions, confuse pixel grey values and scramble frequency coefficients [11][12][13]. Two chaotic maps were used for permutation and substitution processes after discrete Walsh transform [14]. Pseudorandom sequence was adapted to scramble and substitute each 4*4 block [15]. Several JPEG image encryption algorithms also adopted chaotic iteration to generate key sequences [3][6]. In [16], block and symbol scrambling were proposed based on PN sequence that was generated by Pseudo Random Generator.

 

3. Coefficient Category Address Encryption for JPEG Image

3.1 Chaotic Sequence

Several chaotic sequences could be produced by a multi-dimensional chaotic iteration [17]. Namely

in which the k-th element in the j-th iteration and f is the chosen chaotic iteration with its parameter set P. There will be M chaotic sequences after the iteration. In this paper, two sequences out of these M sequences are chosen for quantized DCT coefficient category address encryption and block shuffle. The key of the whole system consists of the initial value , parameter set P, and the choice of two chaotic sequences.

3.2 Quantized JPEG Coefficient Category

JPEG standard baseline Huffman table codes quantized AC coefficient as two parts: its category together with the zero run length before it and the value. Different values in the same category will be coded in the same length. The processing ensures to express the most common symbols using the shortest code words. Similarly coding process is performed on the difference of quantized DC (DQDC) coefficients from neighbor blocks. Table 1 is part of the JPEG coefficient coding categories table.

Table 1.Part of JPEG coefficient coding categories

3.3 Novel Encryption Scheme

To simplify the procedure of proposed scheme, only luminance coefficients of JPEG images will be encrypted. For colorful images, it is easy to perform the procedure also in color space components. Fig. 2(a) is the flow chart of the proposed encryption framework.

Fig. 2.Block diagram of the proposed algorithm

The proposed encryption scheme can be described as follows:

Block shuffling is an important processing step of the proposed algorithm. The 8*8 blocks are treated as units and the shuffling is performed between these units. The elements inside any block are not shuffled. There is no requirement to scan elements inside the blocks. The block shuffling in proposed algorithm is different from block scrambling in [15] and [16]. In [15], the sub key was divided into 4*4 blocks to compute quantized DCT coefficient, then each block was scrambled. In [16], quantized DCT coefficients were scanned in zigzag fashion. The position of zigzag scanned DCT blocks were scrambled in accordance with random sequence.

3.4 Decryption Scheme

It is easy to decipher the encrypted image by the proposed scheme. The first five steps are the same as in the encryption processing. Then the scrambled coefficients matrix can be obtained by permuting coefficients matrix blocks inverse to Eq. (3).

For a ciphered coefficient Si in position (r,c), find its category Gi, the ascending ordered elements set Ci, the total number of elements in the category Lci and the enciphered address Ei. The original address Ai is calculated by

The deciphered coefficient is the Ai-th element in set Ci. Write deciphered coefficient to the deciphered coefficients matrix in position (r,c).

3.5 Implement of the Novel Encryption Scheme

In this section, two-dimensional coupled logistic map is applied to generate chaotic sequences. The original JPEG image quantized DCT coefficients are encrypted by the proposed algorithm. The encrypted coefficients are coded and written into the ciphered JPEG image file. The encrypted file is decoded by a standard JPEG decoder to obtain the cipher text image. The encrypted image appears like meaningless noise.

Table 2 lists file size of several encrypted JPEG images and their corresponding original images. The encrypted image size is no greater than 106% of the original one, which is acceptable.

Table 2.Image file size before and after encryption

There are two sources for the enlargement of the size after encryption. The first one is that the proposed scheme encrypts quantized DC coefficients. It destroys the correlation of neighbor quantized DCs and thus makes DQDC bigger in most occasions. For example, the first two of the original quantized DC coefficients are (10, 11). The difference between them is 1. After the coefficients scrambling, these two coefficients might be converted to (-8,15). The difference between them becomes 23, which is much bigger than the original difference.

The second one is that the shuffle will destroy the correlation of quantized DC from neighbor blocks. For example, the first three of the quantized DC coefficients are (10,12,14). The difference between neighbor quantized DC are 2 and 2. If the scrambling does not change the values of these coefficients, shuffling might change the neighborship as (12,10,14). The differences become -2 and 4, which makes the correlation of neighbor DCs varies from original.

Inner category coefficient encryption could be performed on difference of quantized DC (DQDC) coefficients. However, the offset between ciphered DQDC coefficients and the original accumulates, which might lead to an out ranged quantized DC coefficient. For example, the first two of the original quantized DC coefficients are (DCmax, DCmax -1), in which DCmax is the legally maximum value of quantized DC. The difference between them is -1. Inner category coefficient encryption might encrypt the difference to 1. This ciphered difference leads to the second quantized DC becoming DCmax +1, which is out of range. This phenomenon makes it is impossible for the encrypted data to be decoded to an image by standard JPEG decoder.

3.6 Security Analysis

For casual observers, the only way to attack the encryption is brutal force attack. The key space of proposed scheme is related to the chaotic iteration. For coupled logistic map, the key space is bigger than 100 bits [17]. It is large enough against brute force attack.

If the attacker tries some keys which are very close to the real one, there is still no chance for them to narrow down the possible searching space. Fig. 3(a) shows the decryption results of correct and incorrect key. Fig. 3(b) presents the decryption result with only 0.000001 difference in one element value of the correct key. It appears still like meaningless noise.

Fig. 3.Decryption result

The attack algorithm presented by [18] counts the number of non-zero quantized DCT elements in every 8*8 block, and then decide to set the whole block to be white or black by the number. The proposed scheme shuffles coefficient matrix blocks to resist this attack. Fig. 4 provides attack results of encrypted image Lena using proposed scheme. The non-zero coefficients in encrypted image blocks distributed random-like. Therefore, the encrypted image sketch will not be recovered by this attack for the proposed scheme.

Fig. 4.Block non-zero coefficients number attack result of the proposed scheme

If the block shuffle procedure is omitted by the proposed scheme, which means steps 10 to 13 are skiped, the attack will be efficient. Fig. 5 provides the attack result in this case. It is obvious that sketch of the original image is clear without shuffle.

Fig. 5.Block non-zero coefficients number attack result of the proposed scheme without shuffle

3.7 Robustness Analysis

The cipher image will be transmitted via open networks. There might be noises in the networks and the cipher image could be polluted. The most common noises include Gaussian noise, salt and pepper noise. Fig. 6 presents the decryption results of different noised cipher images. The deciphered images are blurred and not as clear as the original. But the content is still visible.

Fig. 6.Decryption results of noised cipher images

The explanations of the deciphered image appearance are as following:

 

4. Improvements of the Proposed Scheme

4.1 Utilization of Multi-dimensional Chaotic Iteration

The proposed encryption algorithm employs multi-dimensional chaotic iteration to produce chaotic sequences. The choice of scrambling and shuffling sequences are also part of the key for the whole system. In practical, one-dimensional chaotic iteration could also be adopted to produce chaotic sequence. In this case, there will be only one chaotic sequence. The proposed algorithm requires two sequences for scrambling and shuffling, respectively. Thus, the only sequence will be utilized twice.

Fig. 7 shows the encryption result of JPEG image Lena with one-dimensional chaotic iteration. The chaotic iteration is 1-d logistic map. The encrypted image size is 33.4 k. The appearance of cipher text is also random like. The possible space of initial value of logistic map and coupled logistic map are provided in Table 3. It is obvious that two-dimensional chaotic iteration has much bigger possible space for initial value. The greater possible space indicates more resistance to brutal force attack.

Fig. 7.Encryption result with one-dimensional chaotic iteration

Table 3.Possible space for initial value

Furthermore, the proposed algorithm recommends to use multi-dimensional chaotic iteration because the choice of sequences will also enlarge the key space. For an M-dimensional chaotic iteration, there will be M2 possible combinations of selected two sequences. For example, coupled logistic map will produce two chaotic sequences {X1,X2} after the iteration. There will be four combinations of selected sequences for scrambling and shuffling: (X1,X1), (X1,X2), (X2,X1), (X2,X2). But for 1-d logistic map, there will be only one possible combination: (X1,X1). Thus, the utilization of multi-dimensional chaotic iteration avails a greater key space. It has greater possible initial value space, and enlarges the key space by the combination of chaotic sequences for scrambling and shuffling.

4.2 Category Merging

The proposed encryption algorithm shifts quantized DC and non-zero AC coefficients inside categories. The first several categories include small numbers of elements, which means the encrypted element suffers from small possible space. A solution to this problem is to merge neighbor categories to one class.

The merged class has more elements than original categories, which enlarges the cipher text possible space. For example, if the observer obtains a cipher text -1, he/she will know that the plain text has only two possible values: -1 and 1. But, after merging category 1 and 2 to be one class, the observation of cipher text -1 means the plain text has six possible values. The category merging procedure should be added between step 5 and step 6:

Merge neighbor categories to one class. The merging combination choice constitutes part of the key.

After the merging procedure, Gi indicates the class instead of the category of Qi. Fig. 8 presents the encryption results of image Lena by the proposed scheme with category merging procedure. In this simulation, only category 1 and category 2 are merged into a class.

Fig. 8.Encryption and block non-zero coefficients number attack results with category merging

As the block shuffling processing is kept as the original scheme, encryption with category merging is also resistant to the attack algorithm presented by [18]. Fig. 8(a) shows the encryption results of image Lena by the proposed scheme with category merging procedure. Fig. 8(b) provides block non-zero coefficients number attack result of Fig. 8(a). The encrypted image sketch is not recovered by this attack. If the block shuffle procedure is omitted, the attack will be efficient. Fig. 8(c) provides the attack result in this case. It is obvious that sketch of the original image is clear without block shuffle.

Table 4 provides the file size of several JPEG images before and after encryption with category merging. Compared with the last columns in Table 2, it is clear that merging makes the encrypted image file size greater. The reason of file size increase is that merged class has more possible values for cipher text. It enlarges the DQDC of ciphered image. Besides, it also causes the AC values change more. The file size enlargement of proposed scheme with category merging procedure is less than 20%.

Table 4.Image file size of encryption with category merging

Since the category merging procedure leads to more elements in one class, the coefficient address searching needs more efforts. This results in more excution time. The execution time of these schemes is given in Table 5. The computer used for this simulation is with Intel(R) Core(TM) i5-2430M CPU@2.40G Hz. The scheme with category merging needs more time to perform encryption for the same image. The file size enlargement and excution time enlongation are the price for enlarged cipher text possible space.

Table 5.Execution time with and without category merging

4.3 Unidirectional and Bidirectional Diffusion

There are two main procedures in the proposed encryption algorithm: scrambling and shuffle. The proposed scheme has no diffusion processing. If a quantized DC or non-zero AC coefficient in the JPEG image changes, the change will not spread. This makes the proposed algorithm vulnerable to the differential attack. The attackers know the encryption procedure and could obtain cipher image corresponding to designated input image. Thus they may change one coefficient at a time to see the difference of cipher image. The pattern of confusion and shuffle for every coefficient will be revealed. Then images encrypted by the same key will be recovered easily. The best way to resist differential attack is to spread slight change of plain text to other cipher texts.

To spread the change of plain text in cipher text, diffusion is introduced into the encryption processing. The current cipher text is produced by current plain text, cipher key and former plain or cipher text. This unidirectional diffusion procedure could be implemented along with the confusion, which means Eq. (2) in step 7 is changed to

For the first plain text encryption, E0 is also a part of the key, which could be set to any integer. The procedure enlarges the key space. Fig. 9(a) presents the encryption result of JPEG image Lena by proposed scheme with unidirectional diffusion.

Fig. 9.Encryption and block non-zero coefficients number attack results with diffusion

There is an inherent shortcoming of the unidirectional diffusion procedure. The spread effect is related to the position of changed plain text. If the former plain text changes, the change will spread to all the cipher text after the current one. If the last plain text changes, the other cipher text will not change at all. To overcome this shortcoming, bidirectional diffusion could be adopted [19]. After the confusion processing, bidirectional diffusion will be applied. Namely the step 7 in section 3.3 is replaced by:

Diffuse the encrypted coefficient index bidirectional, which means two diffusion processing are performed sequentially. In other words,

in which is the i-th encrypted element after orderly encryption with diffusion, is the i-th encrypted element after diffusion inverse orderly. are also a part of the key, which could be set to any integer.

After the bidirectional diffusion, any changed plain text will affect all of the cipher text. This makes it computationally expensive for differential attack. Fig. 9(b) shows the encryption result of JPEG image Lena by the proposed scheme with bidirectional diffusion.

The block shuffling processing is kept as the original scheme for both diffusion procedures. Thus, both of the improved encryption schemes are resistant to the attack algorithm presented by [18]. Fig. 9(c) and Fig. 9(d) provide block non-zero coefficients number attack results of Fig. 9(a) and Fig. 9(b). The encrypted image sketchs are not recovered. If the block shuffle procedure is omitted, the attack will be efficient. Fig. 9(e) provides the attack result on unilateral diffusion process without block shuffle. Fig. 9(f) shows the attack results on bilateral diffusion process without block shuffle. The sketch of the original images are clear in this case. It is obvious that block shuffle procedure is very important for the security of the algorithm.

As the bidirectional diffusion processes all coefficients twice, it needs more time to execute. The execution time of these schemes is given in Table 6. It is clear that bidirectional diffusion needs the most time. That is the price for higher level of security.

Table 6.Execution time of difusion

The file size of images after encryption with diffusion procedures are provided in Table 7. The cipher image size in the second and fourth columns are little different from the third column of Table 2. And the cipher image size in the third and fifth columns are almost the same as the third column in Table 4. It is because that diffusion procedure does not affect the address searching space. The psudo-randomness of chaotic sequence makes the cipher text distribute uniformly in possible space. Thus the cipher image size only depends on the cipher text possible space, not on diffusion procedure.

Table 7.Cipher image file size with diffusion

 

5. Conclusion

This paper proposes a JPEG image encryption scheme that encrypts quantized DC coefficients as well as non-zero quantized AC coefficients. The coefficient value is transferred into another one in the range of the same category. The key to the whole system includes the initial value, the parameter set of a chaotic iteration and choice of chaotic sequences. Analysis of experimental results validates the efficiency and effectiveness of the proposed scheme. To overcome the shortcomings of the proposed scheme, category merging and diffusion procedures are embedded into the scheme. These actions could enlarge the cipher text possible space. The improved schemes are more resistant to sophisticated attacks with acceptable cost.

References

  1. Jolly Shah and Vikas Saxena, “Performance Study on Image Encryption Schemes,” IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 4, No 1, pp.349-355, July 2011. Artical (CrossRef Link).
  2. Subramania Sudharsanan, “Shared Key Encryption of JPEG Color Images,” IEEE Transactions on Consumer Electronics, Vol. 51, No. 4, pp.1204-1211, November, 2005. Artical (CrossRef Link). https://doi.org/10.1109/TCE.2005.1561845
  3. Yuling Luo, Minghui Du, Dong Liu, "JPEG Image Encryption Algorithm Based on Spatiotemporal Chaos," in Proc. of 2012 Fifth International Workshop on Chaos-fractals Theories and Applications, pp. 191-195. 2012. Article (CrossRef Link).
  4. Qiu Jing and Wang Ping, “Encryption Algorithm for Compressed Image Based on Chaotic Maps,” Computer Science, Vol. 39, No. 6, pp.44-46, June, 2012. Artical (CrossRef Link).
  5. Tang, L., "Methods for encrypting and decrypting MPEG video data efficiently," in Proc. of the Fourth ACM International Conference on Multimedia, pp. 219-229. 1996. Article (CrossRef Link).
  6. Zhang, Dinghui, and Fengdeng Zhang, “Chaotic encryption and decryption of JPEG image,” Optik-International Journal for Light and Electron Optics 125.2, pp.717-720, 2014. Article (CrossRef Link). https://doi.org/10.1016/j.ijleo.2013.07.069
  7. B. K. ShreyamshaKumar and Chidamber R. Patil, “JPEG Image Encryption using Fuzzy PN Sequences,” Signal, Image and Video Processing, Vol. 4, No. 4, pp.419-427, November, 2010. Article (CrossRef Link). https://doi.org/10.1007/s11760-009-0131-6
  8. Zhengxing Qiang, Xinpeng Zhang, Shuozhong Wang, “Reversible Data Hiding in Encrypted JPEG Bitstream,” IEEE Transactions on Multimedia, Vol.16, No.5, pp.1486 – 1491, August, 2014. Article (CrossRef Link). https://doi.org/10.1109/TMM.2014.2316154
  9. SimYing Ong, KokSheik Wong, Xiaojun Qi, Kiyoshi Tanaka, “Beyond format-compliant encryption for JPEG image,” Signal Processing: Image Communication, Volume 31, February, Pages 47-60, 2015. Artical (CrossRef Link). https://doi.org/10.1016/j.image.2014.11.008
  10. Fangchao Wang and Sen Bai, "JPEG Image Encryption by Shuffling DCT Coefficients in Defined Block," in Proc. of Computational and Information Sciences (ICCIS), 2013 Fifth International Conference on , pp.60 - 63, 2013. Article (CrossRef Link).
  11. Lian S, Sun J,Wang Z, “A block cipher based on a suitable use of the chaotic standard map,” Chaos, Solitons &Fractals, 26, 1, pp.117–129, 2005. Article (CrossRef Link) https://doi.org/10.1016/j.chaos.2004.11.096
  12. Yang L, Yang-yu F, Chong-yang H, “Information hiding technology based on image second scrambling,” Journal of Image and Graphics, Vol.11, No. 8, pp.1088–1091, 2006. Artical (CrossRef Link).
  13. Zeng W, Lei S, “Efficient frequency domain selective scrambling of digital video,” IEEE Trans Multimedia, Vol.5, No.1, pp.118–129, 2003. Article (CrossRef Link). https://doi.org/10.1109/TMM.2003.808817
  14. Telem, Adelaide Nicole Kengnou, et al., “A Robust Chaotic and Fast Walsh Transform Encryption for Gray Scale Biomedical Image Transmission,” Signal and Image processing: an international journal, volume 6(Issue 3):81-102, 2015. Article (CrossRef Link). https://doi.org/10.5121/sipij.2015.6307
  15. Padmapriya Praveenkumar, Rengarajan Amirtharajan, K. Thenmozhi and John Bosco Balaguru Rayappan, “Pixel scattering matrix formalism for image encryption—A key scheduled substitution and diffusion approach,” AEU-International Journal of Electronics and Communications, Volume 69, Issue 2, February, pp. 562-572, 2015. Article (CrossRef Link). https://doi.org/10.1016/j.aeue.2014.11.010
  16. Kishore, B., Shreyamsha Kumar, B. K., Patil, C.R. “FPGA based simple and fast JPEG Encryptor,” Journal of Real-Time Image Processing, 10 (3), pp. 551-559. 2015. Article (CrossRef Link). https://doi.org/10.1007/s11554-012-0282-5
  17. Shanshan Li, Yinghai Zhao, Bayi Qu and Jiang-an Wang “Image scrambling based on chaotic sequences and Veginère cipher,” Multimedia Tools and Application. Vol.66, No.3, pp. 573-588, 2013. Article (CrossRef Link). https://doi.org/10.1007/s11042-012-1281-z
  18. WEIHAI LI, YUAN YUAN, “A leak and its remedy in JPEG image encryption,” International Journal of Computer Mathematics, Vol. 84, No.9, pp. 1367–1378, September, 2007. Article (CrossRef Link). https://doi.org/10.1080/00207160701294376
  19. Chong Fu, Jun-jie Chen, Hao Zou, Wei-hong Meng, Yong-feng Zhan and Ya-wen Yu, “A chaos-based digital image encryption scheme with an improved diffusion strategy,” Opetics Express, Vol.20, No.3, pp. 2363-2378, January, 2012. Article (CrossRef Link). https://doi.org/10.1364/OE.20.002363