KR20090035237A - 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법 - Google Patents

정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법 Download PDF

Info

Publication number
KR20090035237A
KR20090035237A KR1020070100397A KR20070100397A KR20090035237A KR 20090035237 A KR20090035237 A KR 20090035237A KR 1020070100397 A KR1020070100397 A KR 1020070100397A KR 20070100397 A KR20070100397 A KR 20070100397A KR 20090035237 A KR20090035237 A KR 20090035237A
Authority
KR
South Korea
Prior art keywords
watermark
block
image
matrix
bit
Prior art date
Application number
KR1020070100397A
Other languages
English (en)
Other versions
KR100898329B1 (ko
Inventor
유창동
이선일
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020070100397A priority Critical patent/KR100898329B1/ko
Priority to US12/244,453 priority patent/US8265334B2/en
Publication of KR20090035237A publication Critical patent/KR20090035237A/ko
Application granted granted Critical
Publication of KR100898329B1 publication Critical patent/KR100898329B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0083Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0203Image watermarking whereby the image with embedded watermark is reverted to the original condition before embedding, e.g. lossless, distortion-free or invertible watermarking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 소정 크기(X×Y)의 이미지를 상기 소정 크기보다 작은 크기(M×N)의 복수개(XY/MN) 이미지 블록으로 나눈 후, 나누어진 이미지 블록 중 선택된 이미지 블록에 정수 웨이블릿 변환에 기초하여 워터 마크를 삽입하는 방법으로서, 상기 이미지 블록 중 워터 마크가 삽입될 이미지 블록의 위치를 나타내는 위치 정보의 삽입을 위한 이미지 블록을 별도로 할당하는 단계와, 위치 정보 삽입을 위해 할당된 상기 이미지 블록에 상기 위치 정보를 삽입하는 단계와, 상기 위치 정보의 삽입을 위해 할당된 이미지 블록 이외에 나머지 이미지 블록에 워터 마크와 부가 정보를 삽입하는 단계를 포함하며, 워터 마크가 삽입된 영상으로부터 워터 마크를 추출한 후 왜곡없는 원본 영상을 복원할 수 있는 가역성을 특징으로 한다.
정수 웨이블릿 변환, 워터 마크, 가역성

Description

정수 웨이블릿 변환을 이용한 가역 영상 워터마킹 방법{METHOD FOR REVERSIBLE IMAGE WATERMARKING BASED ON INTEGER-TO-INTEGER WAVELET TRANSFORM}
본 발명은 이미지 워터 마킹(Watermarking)에 관한 것이며, 더 구체적으로는 정수 웨이블릿 변환(Integer-to-Integer Wavelet Transform)에 기초한 가역적 이미지 워터마킹(Reversible Image Watermarking)에 관한 것이다.
디지털 워터마킹(Digital Watermarking)에서는 저작권 보호, 콘텐츠 소유자 혹은 사용자 추적 (핑거프린팅), 인증 등의 목적으로 워터마크(Watermark)라 지칭되는 감지 불가능한 신호가 멀티미디어 데이터에 삽입된다.  그런데, 종종 이러한 워터마킹을 삽입하는 과정에서 미세하게나마 원본 데이터에 대해 복구 불가능한 왜곡이 발생하게 된다.  원본 데이터를 이용하는 것이 필수적인 용례에서는 원본 데이터가 복구 불가능하게 왜곡되는 것이 허용되지 않으며, 따라서 발생한 왜곡이 제거될 필요가 있다.  이러한 용례로서는 멀티미디어 자료, 군사 영상 처리 및 전자 의무 기록(Electronic Patient Record; EPR)과 같은 의료 영상 처리 등이 있다(참고 문헌 1).  멀티미디어 자료에 있어서는 콘텐츠 제공자는 대부분의 사용자들에게 인식 불가능한 것일지라도 원본 콘텐츠가 왜곡되는 것을 원하지 않지만, 원본 콘텐 츠 및 워터마크가 삽입된 콘텐츠를 모두 저장하기에는 저장 용량의 측면에서 비용이 너무 비싸질 수 있다.  군사 영상 처리에 있어서는 자료의 수집에 많은 비용이 들고, 일반적으로 수집된 자료는 고비율의 확대와 같은 추가적 처리 공정을 거치게 된다.  따라서 미세한 왜곡도 이미지의 정확한 분석에 방해 요인이 된다.  한편, 의료 영상 처리에 있어서는, 원본 이미지가 수정되면 의사의 진단에 영향을 주게 되고, 이는 법적인 문제도 야기하게 된다. 
종래의 워터마킹 기술에 있어서, 전술한 용례에 대해서 발생하였던 문제점은 가역(reversible) 또는 비손실(lossless) 워터마킹 기술을 이용함으로써 해결되었다.  가역 워터 마킹에서도 워터 마크 삽입시에 발생하는 삽입 왜곡(embedding distortion)은 불가피하게 발생하지만, 워터 마크가 가역적으로 삽입되어 있으므로 삽입 왜곡을 제거하고 워터 마킹된 데이터로부터 원본 데이터를 복구할 수 있다.  가역 워터마킹의 또 다른 장점은 원본 콘텐츠에 대한 접근을 제어할 수 있다는 것이다.  종래의 워터 마킹 기술에서는 워터마크를 삽입하고 나면, 그로 인해 발생한 왜곡을 제거할 수가 없었기 때문에 어느 누구도 원본 콘텐츠에 접근할 수가 없었다.  그렇지만 가역 워터마킹에서는 워터마크가 가역적 방식으로 삽입되기 때문에 일반인들에게는 워터마크가 삽입된 콘텐츠가 제공되지만, 인증된 자는 워터마크를 삭제함으로써 원본 데이터에 접근할 수 있게 된다.
워터마크가 삽입된 콘텐츠로부터 원본 콘텐츠가 복구될 수 있는 경우, 이러한 워터마킹 방법은 가역성(reversivility, invertivility)을 가진다고 한다.  이러한 가역성은 표준 암호 스크램블 알고리즘(standard cryptographic algorithm)에 서도 구현가능하다.  그렇지만, 이러한 암호학적 접근은 의미론적인 이해가능성을 완전히 제거한다는 측면에서 의미론적 이해가 가능한 가역 워터마킹과는 상이하다.
최근 몇 가지 가역 워터 마킹 기술이 제안되었다(참고 문헌 2-17).  가역 워터 마킹은 민쳐 등(Mintzer et al.)에 의해 최초로 도입되었다(참고 문헌 2).  이 방법에서는 이미지에 워터마크가 가시적으로 삽입되지만 삽입 방법이 가역적이기 때문에 워터마크의 제거와 원본 데이터 복원이 가능하다.  프리드리히 등(Fridrich et al.)에서는 픽셀 그룹의 특징을 나타내는 벡터를 추출하고 손실 없이 그것을 압축한 다음 압축된 벡터에 워터마크 비트를 삽입하는 방법이 개시된다(참고 문헌 3).  티안(Tian)은 정수 하르(Harr) 웨이블릿 변환을 이미지에 적용하여 차분 전개(difference expansion)에 따라서 고주파 계수에 워터마크를 삽입하였다(참고 문헌 4).  알라타르(Alattarr)는 티안의 기술을 개량하여 가역적 삽입을 위한 차분 전개의 적용을 3중(triple) 및 4중(quad)의 인접 픽셀로 확대하였다(참조 문헌 5, 6).  또한 알라타르는 일반화된 정수 변환에 대한 차분 전개를 이용한 가역 워터마킹 기술을 제안하였다(참고 자료 7).  빈 등(Veen et al.)은 컴팬딩(companding) 기술을 적용하여 대량의 데이터를 가역적으로 오디오 신호에 삽입하였다(참고 문헌 8).  리스트 등(Leest et al.)은 빈의 방법을 이미지 워터마킹에 적용하였다(참고 문헌 9).  블리슈버 등(Vleeschouwer et al.)은 원형 일대일 변환의 해석에 기초한 가역 워터마킹을 제안하였다(참고 문헌 10).  셀릭 등(Celik et al.)은 잘 알려진 최하위 비트(Least Significant Bit; LSB) 치환 기술을 일반화하여 예측 기반의 조건부 엔트로피 코더를 이용하여 높은 성능을 달성하였다(참고 문헌 11, 12).  양 등(Yang et al.)은 정수 이산 코사인 변환(DCT)에 기초한 가역 워터마킹 기술을 제안하였다(참고 문헌 13).  수안 등(Xuan et al.)은 중간 주파수 및 고주파수 정수 웨이블릿 계수의 중간 비트 평면에 워터마크 비트를 가역적으로 삽입하였다(참고 문헌 14).  칼커(kalker) 및 빌렘(Willwem)은 가역적 데이터 숨김(data hiding)을 위한 삽입 공간의 이론적 한도가 어느 정도인지를 도출하였다(참고 문헌 15-17).
그러나, 종래의 가역 웨이블릿 변환에서는 디지털 이미지에 대한 높은 삽입 용량을 가지면서도 화질의 저하를 방지하는 기술이 개시되고 있지 않다.
<참고 문헌>
이하의 참고 문헌은 본 명세서의 일부로서 합체된다.
[1] “의학적 이미지에서의 워터마킹의 실현”, 코트리우스 등
(G. Coatrieux, H. Maitre, B. Sankur, Y. Rolland, and R. Collorec, "Relevance of watermarking in medical images," in Workshop of the Int. Telemedical Information Soc., IEEE EMBS Int. Conf. Information Technology Applications in Biomedicine, pp. 250-255, Nov. 2000.)
[2] “디지털 도서관 콘텐츠 및 사용자의 세이프가드: 디지털 워터마킹”, 민쳐 등
(F. Mintzer, J. Lotspiech, and N. Morimoto, "Safeguarding digital library contents and users: Digital watermarking," D-Lib Mag., Dec. 1997.)
[3] “모든 이미지 포맷에 대한 비손실 데이터 삽입”, 프리드리히 등
(Jessica Fridrich, Miroslav Golijan, Rui Du, "Lossless data embedding for all image formats," in Proc. SPIE, Security and Watermarking of Multimedia Contents, San Jose, CA, USA, 2002.)
[4] “차분 전개를 이용한 가역 데이터 삽입”, 티안 등
(Jun Tian, "Reversible Data Embedding Using a Difference Expansion," IEEE Trans. Circuts and Systems for Video Technology, vol. 13, no. 8, pp. 890-896, Aug. 2003.)
[5] “3중 차분 전개를 이용한 가역적 워터마킹”, 알라타르 등
(Adnan M. Alattar, "Reversible watermark using difference expansion of triplets," in Proc. IEEE ICIP, vol. 1, pp. 501-504, Barcelona, Spain, Sep. 2003.)
[6] “4중 차분 전개를 이용한 가역적 워터마킹”, 알라타르 등
(Adnan M. Alattar, "Reversible watermark using difference expansion of quads," in Proc. ICASSP, vol. 3, pp. 377-380, 2004.)
[7] “일반화된 정수 변환 차분 전개를 이용한 가역적 워터마킹”, 알라타르 등
(Adnan M. Alattar, "Reversible watermark using the difference expansion of a generalized integer transform," IEEE Trans.Image Processing, vol. 13, no. 8, pp. 1147-1156, Aug. 2004.)
[8] “오디오용 고 용량 가역 워터마킹”, 빈 등
(M. Veen, F. Bruekers, A. Leest, and S. Cavin, "High capacity reversible watermarking for audio," in Proc. SPIE, Security, Steganography, and Watermarking of Multimedia Contents, vol. 5020, pp. 1-11, Jan. 2003.)
[9] “이미지용 가역 워터마킹”, 리스트 등
(A. Leest, M. Veen, and F. Bruekers, "Reversible watermarking for images," in Proc. SPIE, Security, Steganography, and Watermarking of Multimedia Contents, San Jose, CA, USA, Jan. 2004.)
[10] “미디어 자산 관리를 위한 비손실 워터마킹의 원형적 해석”, 블리슈버 등
(C. De Vleeschouwer, J. F. Delaigle, J. F., B. Macq, "Circular interpretation of bijective transformations in lossless watermarking for media asset management," IEEE Trans. Multimedia, vol. 5, no. 1, pp. 97-105, Mar., 2003.)
[11] “가역적 데이터 숨김”, 셀릭 등
(M. U. Celik, G. Sharma, A. M. Tekalp, and E. Saber, "Reversible data hiding," in Proc. IEEE ICIP, vol. 2, pp. 157-160, Rochester, USA, Sep., 2002.)
[12] “국지적 비손실 인증 워터마크”, 셀릭 등
(M. Celik, G. Sharma, A.M. Tekalp, and E. Saber, "Localized lossless authentication watermark (LAW)", in Proc. SPIE, Security and Watermarking of Multimedia Contents, vol. 5020, no. 70, Jan. 2003.)
[13] “이미지용 정수 DCT 기반 가역 워터마킹”, 양 등
(Bian Yang, M. Schmucker, W. Funk, C. Busch, and Shenghe Sun, "Integer DCT-based reversible watermarking for images using companding technique," Proc. SPIE, Security, Steganography, and Watermarking of Multimedia Contents, San Jose, CA, USA, Jan. 2004.)
[14] “정수 웨이블릿 변환 기반의 비손실 데이터 숨김”, 수안 등
(Guorong Xuan, Jidong Chen, Jiang Zhu, Yun Q. Shi, Zhicheng Ni, and Wei Su, "Lossless data hiding based on integer wavelet transform," in Proc. MMSP 2002, St. Thomas, US Virgin Islands, pp. 312-315, Dec., 2002.)
[15] “가역 데이터 숨김을 위한 용량 한계 및 구성”, 칼커 등
(T. Kalker and F. Willems, "Capacity bounds and constructions for reversible data-hiding," in Proc. International Conference on Digital Signal Processing, vol. 1, pp. 71-76, June 2002.)
[16] “가역 데이터 숨김을 위한 용량 한계 및 구성”, 칼커 등
(T. Kalker and F. Willems, "Capacity bounds and constructions for reversible data-hiding," in Proc. SPIE Conference on Security and Watermarking of Multimedia Content V, (Santa Clara (US)), Jan. 2003.)
[17] “가역적 삽입용 코딩 원리”, 빌렘 등
(F. Willems and T. Kalker, "Coding theorems for reversible embedding," in Proc. DIMACS 2003, (Piscataway (US)), Mar. 2003.)
[18] “디지털 워터마킹”, 잉게마르 등
(Ingemar J. Cox, Matthew L. Miller, and Jeffrey A. Bloom, “Digital Watermarking”, San Mateo, CA: Morgan Kaufmann, 2001.)
[19] “컨텍스트 선택, 양자화, 모델링을 통한 연속 이미지의 비손실 압축”, 우 등
(X. Wu, "Lossless compression of continuous-tone images via context selection, quantization, and modeling," IEEE Trans. Image Proc., vol. 6, no. 5, pp. 656-664, May 1997.)
[20] “JBIG2 표준의 도래”, 하워드 등
(P. G. Howard, F. Kossentini, B. Martins, S. Forchhammer, and W. J. Rucklidge, "The emerging JBIG2 standard," IEEE Trans. Circuits and Systems for Video Technology, vo. 8, no. 7, pp. 838-848, 1998.)
[21] “정수 대 정수를 매핑하는 웨이블릿 변환”, 칼더방크 등
(A. R. Calderbank, I. Daubechies, W. Sweldens, and B. L. Yeo, "Wavelet transforms that map integers to integers," Applied and Computational Harmonics Analysis, vol.5, no. 3, pp. 332-369, 1998.)
[22] “리프팅 스텝으로의 팩토링 웨이블릿 변환”, 벨 연구소 등
(I. Daubechies and W. Sweldens, “Factoring wavelet transforms into lifting steps”, Technical report, Bell Laboratories, Lucent Technologies, 1996.)
[23] “리프팅 기술: 웨이블릿의 제2 세대”, 스웰덴
(Wim Sweldens, "The lifting scheme: a construction of second generation wavelets," SIAM J. Math. Anal., vol. 29, no. 2, pp. 511-546, Mar. 1998.)
[24] “대칭 전개 가역 정수 웨이블릿 변환”, 아담스 등
(Michael D. Adams and Rabab K. Ward, "Symmetric-extension-compatible reversible integer-to-integer wavelet transforms," IEEE Trans. Signal Processing, vol. 51, no. 10, Oct. 2003.)
[25] “웨이블릿 및 부대역 코딩”, 베테리 등
(M. Vetterli and J. Kovacevic, “Wavelets and Subband Coding”, Englewood Cliffs, NJ: Prentice-Hall, 1995.)
[26] “디지털 이미지 프로세싱”, 곤잘레스 등
(R. C. Gonzalez and Richard E. Woods, “Digital Image Processing”, 2nd Edition, Prentice Hall, 2002.)
[27] “USC-SIPI 이미지 데이터베이스”
(“USC-SIPI Image Database” [Online]. Available: http://sipi.usc.edu/services/database/Database.html.)
본 발명은 이러한 문제점을 해결하기 위해서 도출된 것으로서, 디지털 이미지에 대한 높은 삽입 용량을 가지는 새로운 가역적 워터마킹 방법을 제공하는 것을 기술적 과제로 한다.
상기 기술적 과제를 해결하기 위해, 본 발명에서는 디지털 이미지에 대한 높은 삽입 용량을 가지는 새로운 가역적 워터마킹 방법이 제안되었다.  도 1에 도시된 것과 같이 입력 이미지는 중첩되지 않는 블록들로 분할되고, 워터마크는 각 블록의 고주파 웨이블릿 계수에 삽입된다.  가역성을 가지도록 하기 위해서 가역 정수 웨이블릿 변환이 이용되고(참고 문헌 21-23), 공간 영역에서 언더플로우(underflow) 및 오버플로우(overflow)를 회피하기 위한 조건이 임의의 웨이블릿 및 블록 사이즈에 대해서 도출된다.  워터마크 삽입 데이터(payload)는 메시지 뿐만 아니라 추출기에서 원본 이미지를 복구하기 위해 요구되는 부가 정보도 포함한다.  종래의 가역 워터마크 방법과 달리, 본 발명은 JBIG(참고 문헌 20)과 같이 복잡성이 높은 무손실 압축을 필요료 하지 않는다.  왜냐하면, 삽입 용량은 압축에 기인하는 것이 아니라 고주파 웨이블렛 계수의 통계학적 특징에 기인하기 때문이다.  또한, 블록 기반의 삽입에 의해서 삽입되어야 할 부가 정보의 양은 전체 삽입 용량에 비례하여 작아지게 된다.  이러한 이점은 본 발명종래의 방법에 비하여 현저히 높은 삽입 용량을 제공할 수 있다.
본 발명에 따르면, 소정 크기(X×Y)의 이미지를 상기 소정 크기보다 작은 크기(M×N)의 복수개(XY/MN) 이미지 블록으로 나눈 후, 나누어진 이미지 블록 중 선택된 이미지 블록에 정수 웨이블릿 변환에 기초하여 워터 마크를 삽입하는 방법이 개시된다. 이 방법은 상기 이미지 블록 중 워터 마크가 삽입될 이미지 블록의 위치를 나타내는 위치 정보의 삽입을 위한 이미지 블록을 별도로 할당하는 단계와, 위치 정보 삽입을 위해 할당된 상기 이미지 블록에 상기 위치 정보를 삽입하는 단계와, 상기 위치 정보의 삽입을 위해 할당된 이미지 블록 이외에 나머지 이미지 블록에 워터 마크와 부가 정보를 삽입하는 단계를 포함하는 것을 특징으로 한다.
상기 위치 정보의 삽입은 최하위 비트 치환 방법으로 이루어지고 상기 워터 마크 및 부가 정보의 삽입은 비트 시프팅 방법으로 이루어지는 것이 바람직하다.
또한, 상기 방법에서 위치 정보 삽입을 위해 할당된 상기 이미지 블록에 상기 위치 정보를 삽입하는 단계와, 워터 마크와 부가 정보를 삽입하는 단계 사이에 행렬(P)을 생성하는 단계로서, 상기 행렬(P)의 원소는 대응하는 이미지 블록에서 시프팅 가능한 비트수를 나타내는 것인, 행렬(P)의 생성 단계를 더 포함할 수도 있다.
상기 부가 정보는 상기 위치 정보의 삽입시 치환된 원본 메시지 비트(Bo) 및 상기 행렬(P)에 대한 정보인 것이 바람직하다.
또한, 상기 위치 정보는 상기 이미지 블록의 개수와 동일한 크기[(X/M)×(Y/N)]의 위치 정보 행렬(L)을 마련함으로써 이루어지고, 상기 위치 정보 행렬(L)의 원소가 1인 경우는 대응하는 이미지 블록에 워터 마크 및 부가 정보가 삽 입되었음을 나타내고, 상기 위치 정보 행렬(L)의 원소가 0인 경우는 대응하는 이미지 블록에 워터 마크 및 부가 정보가 삽입되지 않았음을 나타내는 것을 특징으로 한다.
한편, 상기 행렬(P)은 상기 이미지 블록의 개수와 동일한 크기[(X/M)×(Y/N)]를 가지며, 상기 행렬(P)는 다음과 같은 단계에 의해 생성되는 것을 특징으로 한다.
(a) 상기 행렬(P)의 모든 원소를 0으로 설정하고, 삽입 용량 변수(R)를 마련하여 삽입 용량 변수(R)를 0으로 설정하는 단계와,
(b) 상기 이미지 블록 중 비트 시프팅이 가능한 블록(Si ,j)을 검색하는 단계와,
(c) 검색된 비트 시프팅 가능 블록(Si ,j)에 대해 정수 웨이블릿 변환 및 1 비트 시프팅후 역정수 웨이블릿 변환을 하는 단계와,
(d) 비트 시프팅 가능 블록(Si ,j) 중 (c) 단계를 수행하기 전과 후 사이의 평균 제곱 오차가 최소인 블록(
Figure 112007071680003-PAT00001
)을 검색하는 단계와,
(e) 검색된 상기 평균 제곱 오차가 최소인 블록(
Figure 112007071680003-PAT00002
)에 대해 삽입 가능한 비트수 만큼 삽입 용량 변수(R) 값을 증가시키고, 블록(
Figure 112007071680003-PAT00003
)에 대응하는 행렬(P)의 원소(
Figure 112007071680003-PAT00004
)의 값도 1 증가시키는 단계와,
(f) 상 삽입 용량(R)이 삽입해야 할 워터 마크 및 부가 정보의 비트수보다 크거나 같은지 판단하는 단계와,
(g) 상기 삽입 용량(R)이 삽입해야 할 워터 마크 및 부가 정보의 비트수보다 작은 경우 상기 (c)에서 (f)까지의 단계를 반복하는 단계
또한, 상기 (f) 단계에 후속하여
(f')
Figure 112007071680003-PAT00005
가 시프팅 가능한 비트수(Pmax)와 같거나 상기 블록(
Figure 112007071680003-PAT00006
)이 비트 시프팅 불가능한 경우 해당 블록을 상기 블록(
Figure 112007071680003-PAT00007
)의 목록에서 삭제하는 단계를 더 포함할 수도 있다.
또한, 상기 (b) 단계에서 비트 시프팅이 가능한 블록(Si ,j)의 검색은 오버플로우 및 언더플로우를 회피할 수 있도록 하기 위해 이하의 수학식에 의해 수행되는 것이 바람직하다.
Figure 112007071680003-PAT00008
(단, 0≤m≤M, 0≤n≤N)
여기서 smin과 smax는 각각 이미지의 픽셀값이 가질수 있는 최소 및 최대 값을 나타내며 (예를 들어 8비트 흑백 영상의 경우 0과 255), SM(m,n)은 블록내 (m,n)위치의 픽셀값, EWN(m,n)과 EWP(m,n)은 각각 워터마크 삽입에 의해 블록내 (m,n)위치에 발생할 수 있는 최대 음과 양의 오차값, ERN(m,n)과 ERP(m,n)은 각각 정수 웨이블릿 변환 과정에서 실수값의 반올림 혹은 절삭에 의해 블록내 (m,n)위치에 발생할 수 있는 최대 음과 양의 오차값을 의미한다.
한편, 본 발명은 소정 크기(X×Y)의 이미지를 상기 소정 크기보다 작은 크기(M×N)의 복수개(XY/MN) 이미지 블록(S)으로 나눈 후, 나누어진 이미지 블록 중 선택된 이미지 블록에 정수 웨이블릿 변환에 기초하여 워터 마크의 삽입시 오버플로우 또는 언더플로우를 회피하는 방법도 개시한다. 본 발명에 따른 오버 플로우 또는 언더 플로우 회피 방법은, 워터 마크가 삽입될 이미지 블록(S)의 선택은 이하의 수학식에 의해 수행되는 것을 특징을 하는 것이 바람직하다.
Figure 112007071680003-PAT00009
(단, 0≤m≤M, 0≤n≤N)
식내 각 값들의 의미는 상기 단락에서 설명한 바와 동일하다.
본 발명의 가역 워터마킹 삽입 방법에 따르면, 워터마크를 공간 영역이 아닌 정수 웨이블릿 영역에서 삽입하므로, 영상 품질의 저하를 줄이면서 더 많은 정보를 삽입할 수 있다.
한편, 공간 영역이 아닌 변환 영역(transform domain)에서 워터마크를 삽입하기 위해서는 가역성 확보를 위해 역변환이 존재하며 변환 과정에서의 정보 손실이 없는 변환을 사용해야 한다.  그런데, 본 발명에서는 이런 변환을 새로이 제안한 것이 아니라 기존에 존재하고 JPEG2000 차세대 정지 영상 압축 표준 등에서 널 리 쓰이고 있는 정수 웨이블릿 변환을 이용함으로써 가역 워터마킹 방법의 활용도를 높였다.
변환 영역에서 워터마크를 삽입하기 위해서는 워터마크 삽입에 의해 공간 영역에서 발생할 우려가 있는 언더플로우와 오버플로우를 예측할 필요가 있다.   본 발명에서는 임의의 웨이블릿과 블록 크기에 대하여 언더플로우 및 오버플로우를 예측하는 방법을 유도하여 제안하고 있다.
본 발명에서는 기존의 방법처럼 워터마크를 순차적으로, 혹은 임의로 영상에 삽입하는 것이 아니라 영상의 품질 저하를 최소화할 수 있는 삽입 방법을 찾아서 적응적으로 삽입한다.  이 과정은 자동으로 수행되므로 사용자는 주어진 영상에 최적화된 삽입 방법을 따로 고려할 필요가 없다.
본 발명에서 제안한 가역 워터마킹 방법은 영상 품질과 삽입 정보량을 자유롭게 조절할 수 있고 블록 크기 또한 자유롭게 변경할 수 있으므로 사용자가 필요로하는 응용예에 맞게 사용이 가능하다.
본 발명은 정수 웨이블릿 영역에서의 워터마크 삽입, 새로운 언더플로우 및 오버플로우 예측, 그리고 적응 삽입 방법 등을 통해 기존의 가역 워터마킹 기법에 비해 더 많은 정보를 더 높은 영상 품질을 실현하면서 삽입할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다.
Ⅰ. 가역 정수 웨이블릿 변환
종래의 웨이블릿 변환은 가역성이 보증되지 않았기 때문에 가역 워터마킹에는 적용되지 못하였다.  예컨대, 정수값을 가지는 픽셀로 구성된 이미지 블록이 부동 소수점(floating pont), 즉 실수 웨이블릿 변환을 이용하여 웨이블릿 영역으로 변환된다고 가정하자.  웨이블릿 계수가 워터마크를 삽입하는 동안에 변화한다면, 그에 상응하는 워터마킹된 이미지 블록은 더 이상 정수값을 가진다는 것이 보증될 수 없다.  픽셀의 부동 소수점 값을 절단(truncation)하게 되면, 정보의 손실을 일으키게 되고 이로 인해 궁극적으로는 가역적 워터마킹 시스템이 파괴된다(즉 워터마킹된 이미지로부터 원본 이미지가 복구될 수 없게 된다).  더구나 실제 종래의 웨이블릿 변환은 부동 소수점(실수) 웨이블릿 변환을 수행한 후에 절단(truncation) 또는 반올림(rounding)을 수행하므로 변환 계수를 완전히 정확하게 나타내는 것이 불가능하였다.  즉, 정변환 및 역변환 과정을 통하여 정보가 잠재적으로 손실될 수 있는 것이다.  이러한 문제점을 해결하기 위해서, 리프팅(lifting)에 기초한 정수 웨이블릿 변환이 제안되었다(참고 문헌 21-23).  이 방법에 따르면, 정수에서 정수로 매핑되므로 정변환 및 역변환의 과정에서 어떠한 손실도 발생하지 않게 된다.
참고 문헌 21에 따르면, 레이지(Lazy) 웨이블렛에 후속하여 유한 개수의 단일 또는 2번의 리프팅 과정과 스케일링을 함으로써 유한 길이를 가지는 필터와 관련된 임의의 웨이블릿 또는 부대역 변환을 얻을 수 있다(레이지 웨이블릿은 신호를 짝수 및 홀수 인덱스 샘플로 분해한다).  리프팅 구조와 가역적 방식의 반올림을 결합함으로써, 정수에서 정수로 매핑되는 웨이블릿 변환이 얻어진다.  예컨대, Le Gall 5/3 필터에 따른 정수 웨이블릿 변환에서 웨이블릿 계수는 다음과 같이 주어진다.
Figure 112007071680003-PAT00010
여기서, sj ,n 및 dj ,n은 각각 j 번째 레벨에서의 저주파 및 고주파 웨이블릿 계수이다(참고 문헌 21).  j=0인 경우, s0 ,n은 픽셀값 자체를 나타낸다.  [x]는 x를 x 이상의 가장 가까운 정수로 반올림하는 함수이다.  변환이 비확장적으로 되도록 하기 위해서 참고 문헌 24의 가역 정수 웨이블릿 변환에 상응하는 대칭 전개(symmetric extension)가 이용된다.
Ⅱ. 언더플로우와 오버플로우의 예측 ( Prediction of Underflow and Overflow)
본 발명에서는 최하위 비트(Least Significant Bit; LSB) 치환 또는 비트 시프팅(bit shifting)을 이용하여 웨이블릿 계수에 워터마크가 삽입된다.  최하위 비트 치환 기술에 따르면, 선택된 웨이블릿 계수의 최하위 비트가 워터마크 비트로 대체됨으로써 워터마크가 삽입된다.
Figure 112007071680003-PAT00011
여기서 c, cw, w 는 각각 원본 웨이블릿 계수, 워터마크된 웨이블릿 계수 및 워터마크 비트를 나타낸다.
비트 시프팅(더 구체적으로는 p비트 시프팅 기술)에 의해서 원본 웨이블릿 계수(c)에는 2p(p는 양의 정수)가 곱해지고 워터마크(w)는 p개의 최하위 비트들에 삽입되어 다음식과 같이 된다.
Figure 112007071680003-PAT00012
여기서,
Figure 112007071680003-PAT00013
이고,{w0,w1…wp -1}는 p 자리로 된 워터마크 비트들의 집합이다.  그 다음, 비트 시프트가 가능한 블록에 대해서 p 값을 적응적으로 결정함으로써 워터마크가 삽입된 이미지에서 감지될 수 있는 왜곡을 최소화하는 방법을 알아낼 것이다.
최하위 비트 치환 또는 비트 시프팅을 이용하여 웨이블릿 영역(wavelet domain)에 워터마크가 삽입되면, 공간 영역(spatial domain)에는 언더플로우(underfolw) 또는 오버플로우(overflow)가 발생할 수 있다.  즉, 워터마크가 삽 입된 웨이블릿 계수로부터 얻어진 픽셀 값은 최소 픽셀 값(즉, 8 비트 그레이 스케일 이미지에 대해서 smin = 0)보다 작거나, 최고 픽셀 값(즉, 8 비트 그레이 스케일 이미지에 대해서 smax = 255)보다 클 수 있다.  언더플로우 또는 오버플로우가 발생하게 되면 가역성이 상실되므로, 워터마크 삽입 전에 언더플로우 또는 오버플로우가 일어날지 여부를 예측할 필요가 있다.  본 발명에서는 최하위 비트 치환 및 비트 시프팅이 가능한 이미지 블록을 식별함으로써 언더플로우 또는 오버플로우가 예측된다.
최하위 비트 치환 가능한 블록과 비트 시프팅이 가능한 블록은 다음과 같이 정의될 수 있다.
(정의 1)
이미지 블록이“최하위 비트 치환 가능”하다는 것은 공간 영역에서 어떠한 언더플로우나 오버플로우도 발생시키지 않은 채, 워터마크 비트 스트림이 고주파 웨이블릿 계수의 최하위 비트에 삽입될 수 있는 것을 의미한다.
(정의 2)
이미지 블록이 “비트 시프팅 가능”, 특히 “p비트 시프팅 가능”하다는 것은 공간 영역에서 어떠한 언더플로우나 오버플로우를 발생시키지 않은 채, 워터마크 비트 스트림이 p 비트만큼 시프팅된 고주파 웨이블릿 계수에 삽입될 수 있는 것을 의미한다.
최하위 비트 치환 가능성 및 비트 시프팅 가능성은 서로 배타적인 것이 아니 다.  따라서, 임의의 블록은 동시에 최하위 비트 치환 가능하면서도 비트 시프팅이 가능할 수 있다.  이하의 설명에서 최하위 비트 치환 가능성 및 비트 시프팅 가능성을 식별하기 위한 조건은 임의의 웨이블릿 및 블록 사이즈에 대해서 도출된다.
A. 오버플로우 언더플로우를 회피하기 위한 조건의 도출
이하의 설명에서는 도 2에 도시된 것과 같은 블록 단위의 웨이블릿 삽입 변환 및 표기법이 사용될 것이다.  첫째, M×N 픽셀 사이즈의 픽셀 블록(S)은 2차원 정수 웨이블릿 변환(Discrete Wavelet Transform; DWT), 즉 IntDWT2(*)을 사용하여 M×N의 웨이블릿 계수(C) 블록으로 변환된다.  그 다음, 웨이블릿 계수(C)들 중 선택된 웨이블릿 계수에 대한 최하위 비트를 0으로 설정하거나 비트 시프팅을 적용함으로써, 얻을 수 있다.  수정 웨이블릿 계수(CM) 블록은 수정 웨이블릿 계수(CM)에 2차원 실수 웨이블릿 역변환(fDWT2-1(*))을 적용함으로써 수정 픽셀 블록(SM)을 얻을 수 있다.  웨이블릿 계수(CM)에 워터마크 비트 블록(W)을 추가함으로써 워터마크가 삽입된 웨이블릿 계수(CW)를 구할 수 있다.  그 다음, 워터마크가 삽입된 웨이블릿 계수(CW)에 2차원 실수 웨이블릿 역변환(fDWT2-1(*)) 및 2차원 정수 웨이블릿 역변환(IntDWT2-1(*))를 적용함으로써 SWF 및 SWI를 각각 얻을 수 있다.  워터마크 삽입 과정에서 발생한 삽입 에러(EW)는 워터마크 비트 블록(W)에 2차원 실수 웨이블릿 역 변환(fDWT2-1(*))을 적용함으로써 얻어진다.  이하, A(m,n)은 블록 A 내의 m번째 행 및 n번째 열에 위치한 원소를 나타내기로 한다.
실수 웨이블릿 변환이 이용되는 경우에, 변환의 선형성(linearity)을 이용함으로써 웨이블릿 영역에서 워터마크를 삽입함에 의해 발생한 언더플로우 및 오버플로우를 예측할 수 있다.  즉, 도 2에서 워터마크가 삽입된 블록(SWF)은 다음과 같이 나타낼 수 있다.
Figure 112007071680003-PAT00014
이미지 블록 S가 주어지는 이상, 이미지 블록 SM은 직접 구할 수 있다.  따라서, 언더플로우 또는 오버플로우가 발생할지 여부는 전적으로 워터마크(W)의 삽입에 의해 발생한 삽입 에러(EW)에만 달려있게 된다.  임의의 워터마크 비트 블록(W)에 대해서, 삽입 에러(EW)의 상한 및 하한은 워터마크 삽입에 의해 발생할 수 있는 에러의 양(positive)의 상한 또는 음(negative)의 하한을 나타내는 2개의 에러 행렬, 즉 EWP 및 EWN에 의해 결정된다.  EWP 및 EWN는 다음과 같이 정의된다.
Figure 112007071680003-PAT00015
Figure 112007071680003-PAT00016
여기서, Qij = fDWT2-1(Oij)이고, 행렬(Oij)는 i번째 행 및 j번째 열의 원소만 1이고 나머지 원소는 모두 0인 행렬을 의미한다.  또한, HL1, LH1 및 HH1은 도 1에 도시된 것과 같이 수평-수직 방향 주파수 대역이 각각 고-저, 저-고, 고-고인 원본 이미지에 대한 주파수 부대역을 의미한다.  또한, ABS(A)는 행렬 A의 각 원소들의 절대값을 취하는 함수를 의미한다.  삽입 에러 행렬(EW)의 원소들은 EWP 및 EWN 행렬원소들의 사이값을 가지기 때문에[즉, EWN(m,n) < EW(m,n) < EWP(m,n)], 원본 이미지 블록(S)에서 언더플로우 또는 오버플로우가 발생하지 않기 위해서는 워터마크된 이미지 블록(SWF)의 픽셀 값은 최소 픽셀 값(즉, 8 비트 그레이 스케일 이미지에 대해서 smin = 0)와 최고 픽셀 값(즉, 8 비트 그레이 스케일 이미지에 대해서 smax = 255) 사이에 존재하여야 한다(smin ≤ sWF ≤ smax).   
한편, 삽입 에러(EW) 행렬에 대한 원소들의 값은 EWP 및 EWN의 원소 값 사이에 존재하고(즉, EWN(m,n) ≤ EW(m,n) ≤ EWP(m,n)),  SWF = SM + EW(수학식 4)이므로, 원본 이미지 블록(S)에서 언더플로우 또는 오버플로우가 발생하지 않기 위한 조건은 다음과 같이 된다.
Figure 112007071680003-PAT00017
(0≤m≤M, 0≤n≤N)
본 발명의 워터마킹 기술에 따르면, 가역성을 달성하기 위해서 정수 웨이블릿 변환(참고 문헌 21)이 이용된다.  따라서, 본 발명에서의 워터마크 이미지 블록은 워터마크된 웨이블릿 계수(CW)를 실수 웨이블릿 역변환한 것(SWF = FDWT2-1(CW))이 아니라 정수 웨이블릿 역변환한 것(SWI = IntDWT2-1(CW))이어야 한다.  정수 웨이블릿 변환은 리프팅 단계에서 웨이블릿 계수에 대한 절단이 포함되므로, 라운드 오프(round-off) 오차가 불가피하게 발생한다.  ER을 라운드 오프 오차 행렬이라고 한다면, 워터마크가 삽입된 이미지 블록(SWI)은 다음과 같이 주어진다.
Figure 112007071680003-PAT00018
전술한 EWP 및 EWN 의 경우에서와 유사하게(수학식 5, 6), 라운드 오프 오차 행렬(ER)에 대한 양(positive)의 상한과 음(negative)의 하한을 나타내는 행렬인 ERP 및 ERN을 정의할 수 있다.  즉, ERN(m,n)≤ ER(m,n) ERP(m,n)이 된다.  한편, 앞서 설명한 바와 같이 smin ≤ sWF ≤ smax이고, EWN(m,n) ≤ EW(m,n) ≤ EWP(m,n)이므로, 이러한 결과를 수학식 8에 적용하면 다음과 같이 된다.
Figure 112007071680003-PAT00019
(0≤m≤M, 0≤n≤N)
즉, 수정 픽셀 블록(SM)의 각 원소들이 상기 수학식 9을 만족하는 경우, 원본 이미지 블록(S)은 언더플로우 또는 오버플로우가 발생하지 않게 된다.  즉, 수학식 9를 이용하면, 임의의 워터마크 블록(W)에 대해서 최하위 비트 치환 가능 또는 비트 시프팅 가능한 원본 이미지 블록(S)을 예측할 수 있게 되는 것이다.
B. 라운드 오프 오차( round - off error )의 예측
이하에서는 상기 수학식 9에서 라운드 오프 오차를 예측하는 방법에 대하여 설명한다.  문제를 단순화하기 위하여, 1차원의 경우에 대해서 우선 논의하기로 한다. 
Figure 112007071680003-PAT00020
을 N차원의 라운드 오프 오차 벡터라고 가정한다.  라운드 오차 벡터는 짝수로 인덱스된 벡터(
Figure 112007071680003-PAT00021
)와 홀수로 인덱스된 벡터(
Figure 112007071680003-PAT00022
)표시한 도면이다. 
Figure 112007071680003-PAT00023
도 3은 웨이블릿 변환을 다상(polyphase)으로 표시한 도면이다.  (h, g)는 고대역 통과 필터(h)와 저대역 통과 필터(g)의 합성 필터의 쌍이고, H(z), G(z)는 이들의 z-변환이라고 가정한다면, 주어진 필터 쌍 (h, g)에 대하여 다음의 식을 만족시키는 로랑 다항식 Si(z) 및 Ti(z)와, 0이 아닌 상수 K가 반드시 존재한다(1 ≤ i ≤ m).
Figure 112007071680003-PAT00024
여기서 P(z)는 다상 합성 행렬(polyphase synthesis matrix)이고(참고 문헌 22-25), H(z) = H0(z2) + z-1H1(z2)이며, G(z) = G0(z2) + z-1G1(z2)이다.  이는 모든 유한 필터 웨이블릿 변환은 레이지(Lazy) 웨이블릿으로부터 출발하여 m번의 리프팅 및 듀얼 리프팅 단계를 거친 후, 스케일링(참고 문헌 22)을 함으로써 얻어질 수 있음을 의미한다.  상기 수학식 11을 이용하면, m ≥ 2에 대한 라운드 오프 오차
Figure 112007071680003-PAT00025
, 라운드 오프 벡터 eRP 및 eRN이 용이하게 도출된다.  예를 들어 다음과 같다.
Figure 112007071680003-PAT00026
여기서 U0 ,i(z) 및 U1 ,i(z)는 각각 i번째 리프팅 단계에서의 저대역 및 고대역 라운드 오프 오차이고, K는 1로 가정하였다.  특히, m=1인 경우 라운드 오프 오차 는 다음 식과 같이 주어진다.
Figure 112007071680003-PAT00027
라운드 오프 오차 u0 ,i 및 u1 ,i는 -1/2 내지 1/2 사이의 값을 가진다.  이 성질과 상기 수학식 12 및 13의 선형성을 이용하면, 최대 양의 값 또는 최소 음의 값을 원소로 가지는 라운드 오프 벡터 eRP 및 eRN이 용이하게 도출된다.  예를 들어 Le Gall 5/3 필터를 이용하는 정수 웨이블릿 변환의 경우 eRP 및 eRN은 다음과 같이 주어진다.
Figure 112007071680003-PAT00028
여기서 라운드 오프 오차 벡터의 차원은 N = 8이다.
2차원의 정수 웨이블릿 변환에서도 상기 방법이 사용되므로, 상기 방법은 2차원의 경우에도 확장될 수 있다.  2차원 웨이블릿 변환은 입력 행렬의 각 행에 대해 1차원 변환을 적용한 후(제1 변환)에 입력 행렬의 각 열에 대해서 1차원 변환(2차 변환)을 적용함에 의해 수행된다.  따라서, 수학식 12 및 13에 기재된 라운드 오프 오차는 1차원 정수 웨이블릿 변환의 입력이 되고, 그에 따라 전체 라운드 오프 오차는 필터된 오차(1차 변환에서 발생한)와 2차 변환에서 발생한 라운드 오프 오차의 합이다.  예를 들어, Le Gall 5/3 필터를 이용하는 정수 웨이블릿 변환의 경우 ERP 및 ERN은 다음과 같이 주어진다.
Figure 112007071680003-PAT00029
Ⅲ. 워터마크 가역 삽입 알고리즘
워터마크가 삽입될 원본 이미지(X×Y), 삽입될 메시지 비트(Bm)의 집합, 블록 사이즈(M×N), 정변환과 역변환이 실행될 웨이블릿 및 시프트 가능한 최대 비트 수(pmax)가 주어지는 경우, 이하에서 설명하는 방법에 따라 워터마크는 가역적으로 삽입된다.
도 13a 및 도 13b는 워터마크 삽입 과정을 나타내는 흐름도이다. 도 13a를 참조하면, 우선 최하위 비트(LSB) 치환이 가능한 블록 중에서 위치 정보 행렬 삽입 을 위한 블록을 할당한다(S 100). 위치 정보 행렬 삽입을 위해 할당된 이미지 블록은 메시지 비트 및 부가 정보 삽입에는 이용되지 않는다.
다음으로, 메시지 비트 및 부가 정보를 적응적으로 삽입할 수 있도록 하는 행렬 P를 생성한다(S 200). 행렬 P의 각 원소는 각 이미지 블록마다의 시프팅 가능한 비트수를 나타낸다. 예컨대, 행렬 P의 i행 j열 원소, 즉 P(i,j)가 1인 경우, i행 j열 이미지 블록이 1비트 시프팅 가능하다는 것을 나타낸다. 행렬 P는 메시지 비트(Bm) 및 부가 정보를 적응적으로 삽입할 수 있도록 한다. 즉, 행렬 P각 원소는 그에 상응하는 이미지 블록의 시프팅 가능 비트 수를 나타내므로, 각 이미지 블록 마다 해당되는 수만큼 비트 시프팅을 행한 후, 비트 시프팅된 수만큼 해당 이미지 블록에 메시지 비트 또는 부가 정보를 삽입한다. 그에 따라, 메시지 비트 및 부가 정보는 이미지 블록 전체에 분산되어 삽입되고, 데이터의 삽입 후 평균 제곱 에러가 최소가 된다.
다음 과정은 데이터의 삽입이다. 삽입될 데이터는 위치 정보 행렬 데이터(L)와 메시지 비트(Bm) 및 부가 정보(P, Bo)이다. 메시지 비트(Bm)는 워터마크 데이터를 나타내는 메시지 비트이다. 부가 정보는 전술한 행렬 P에 대한 메시지 비트와 원본 메시지 비트(Bo)이다. 원본 메시지 비트(Bo)는 위치 정보 행렬 행렬(L)을 최하위 비트 치환으로 삽입한 경우에 치환된 메시지 비트를 의미하며, 원본 메시지 비트를 보존하는 이유는 가역적으로 이미지를 복원하기 위한 것이다.
먼저, 위치 정보 행렬 데이터가 삽입된다(S 300). 위치 정보 행렬은 위치 정보 행렬 행렬(L)의 형태로 구축된다. 즉, 위치 정보 행렬 행렬(L)의 원소는 데 이터가 삽입된 이미지 블록을 식별할 수 있도록 한다. 예컨대, 위치 정보 행렬 행렬(L)의 i행 j열 원소, 즉 L(i,j)가 1인 경우 i행 j열 이미지 블록에 데이터가 삽입되었음을 나타내고, L(i,j)가 0이면i행 j열 이미지 블록에 데이터가 삽입되지 않았음을 나타낸다. 위치 정보 행렬 행렬(L) 데이터의 삽입은 앞서 S 100 단계에서 별도로 할당된 이미지 블록에 삽입되고, 최하위 비트 치환 방법에 의해 삽입된다. 치환된 원본 메시지 비트(Bo)는 워터 마크 메시지 비트(Bm)의 삽입시에 부가 정보의 형태로 함께 삽입될 것이다.
다음으로, 워터마크 메시지 비트(Bm) 및 부가 정보가 삽입된다(S 400). 부가 정보는 행렬 P와 위치 정보 행렬 행렬(L)의 삽입시에 치환된 원본 메시지 비트(Bo)이다. 전술한 바와 같이, 행렬 P의 각 원소의 숫자에 따라 해당 이미지 블록을 비트 시프팅 한 후, 시프팅된 비트수 만큼 해당 이미지 블록에 메시지 비트(Bm) 및 부가 정보를 삽입한다. 이하 도 13a, 13b를 참조하여 본 발명에 따른 가역적 워터 마크 삽입 방법 구체적으로 설명한다.
A. 위치 정보 행렬 삽입을 위한 공간 확보 (S 100 단계)
위치 정보 행렬 행렬(L)은 워터마크가 삽입될 블록을 지시하기 위한 2진 행렬이다.  이는 메시지 비트를 불러와서 원본 이미지를 추출하기 위한 추출 알고리즘에 의서 사용될 부가 정보의 일부분이다.  각 블록마다 하나의 비트가 할당되므로, 위치 정보 행렬 행렬의 크기는 (X/M)× (Y/N)이 된다.
워터마크를 추출하기 위해서 추출기는 우선 위치 정보 행렬 행렬(L)을 호출 해야 한다.  그러나 위치 정보 행렬 행렬(L)이 비트 시프팅에 의해 삽입되는 경우, 만약 워터마크 삽입에 의해 비트 시프트 가능한 블록이 비트 시프트 불가능한 블록으로 판명된다면, 이러한 블록에 삽입된 위치 정보 행렬은 호출될 수가 없다.  즉, 식별 가능한 위치 정보 행렬이 별도로 요구된다는 것을 의미한다. 본 발명에 따르면, 위치 정보 행렬을 삽입하기 위해서 이하의 성질이 이용된다.
(성질 1)
모든 최하위 비트(LSB) 치환 가능 블록은 최하위 비트 치환에 의해 워터마크가 삽입된 후에도 여전히 최하위 비트 치환가능하다.
이 성질을 이용하게 되면, 위치 정보 행렬은 최하위 비트 치환 가능 블록에 삽입될 수 있다.  선택된 블록이 워터마크 삽입에 관계없이 최하위 비트 치환 가능하기 때문에, 추출기는 선택된 블록을 식별하여 위치 정보 행렬을 호출할 수 있게 된다.
삽입기(embedder)는 우선 위치 정보 행렬을 수용하기에 충분한 용량을 가지는 최하위 비트 치환가능 블록의 개수를 예정된 순서로 검색한다.  개별적인 용례에 따라, 최하위 비트 치환가능 블록은 추출기와 공유하고 있는 비밀 열쇠(secret key)에 기초하여 선택된다.  상기 위치 정보 행렬(L)의 크기는 (X/M)×(Y/N)이고 하나의 블록에 삽입될 수 있는 최대의 비트수는 3MN/4이므로, 위치 정보 행렬(L)이 삽입되는 데에 필요한 최하위 비트 치환가능 블록의 최소 개수는 [(XY/MN)/(3MN/4)]이다.  여기서 [x]는 x이상의 가장 근접한 정수로 x를 반올림하는 함수이다.  선택된 블록은 위치 정보 행렬(L)의 삽입을 위해 할당되고, 메시지 비트나 부가 정보 삽입을 위해 사용되지 않는다.
B. 적응적 삽입을 위한 행렬 P의 생성 (S 200 단계)
행렬 P의 생성 과정은 도 13a의 S 200 단계이고, 도 13b에서 보다 구체적으로 도시되어 있다(S 210 - S 280 단계).
원본 이미지가 워터마크 삽입 이미지로부터 완벽하게 복원된다고 할지라도, 워터마크 삽입 이미지의 화질은 여전히 중요한 요소이다.  본 발명에서는 이미지의 화질을 계량화하기 위한 척도로서 최대 신호 대 잡음 비(Peak Signal Noise Ratio; PSNR)를 이용한다.  따라서, 워터마크는 원본 이미지 대 워터마크 삽입 이미지 사이에 평균 제곱 왜곡(mean squared distortion)을 최소화하도록 삽입될 필요가 있다.  이러한 목적의 달성을 위하여 워터마크 삽입으로 인하여 과도한 왜곡이 발생하지 않는 비트 시프팅 가능(bit shiftable) 블록을 찾아 워터마크 삽입에 그 블록을 이용할 필요가 있다.  이 시점에서 각 비트 시프팅 가능 블록에 어떠한 특정 워터마크 비트가 삽입되었는지 알 수 없기 때문에 워터마크 삽입에 의해 발생한 왜곡은 다음 식에 의해 예측된다.
Figure 112007071680003-PAT00030
여기서 MSE(S 1 ,S 2 )는 2개의 이미지 블록 S 1 , S 2 사이의 평균 제곱 오차(mean square error)를 계산하는 함수이다.  원본 이미지 블록(S)과 워터마크가 삽입된 이미지 블록(S WI)은 도 2에 도시되었다.  비트 시프트된 픽셀 블록(S BI)은 원본 웨이블릿 계수 블록(C)의 선택된 웨이블릿 계수에 비트 시프팅을 적용한 다음 2차원의 정수 웨이블릿 역변환을 수행함으로써 얻어진 것이다.  수학식 16에서의 근사화는 합리적인 것인데, 왜냐하면 대부분의 블록에 있어서 비트 시프팅에 의해 도입된 왜곡은 워터마크 삽입에 의해 발생한 왜곡보다 훨씬 크기 때문에 그러하다.  평균 제곱 왜곡을 최소화하도록 주어진 삽입 데이터를 분산하는 세부적인 절차는 이하에서 설명될 것이다.  이하에서 S i ,j는 i 번째 행 및 j 번째 열의 블록을 나타낸다[단, 0 ≤ i ≤ (X/M), 0 ≤ j ≤ (Y/N)].
1) 초기화 ( Initialization ) (S 210 - S 220 단계)
a) 위치 정보 행렬과 동일한 크기를 가지는(즉, (X/M)× (Y/N)) 행렬 P를 만들어서 모든 행렬 원소의 값을 0으로 설정한다. 행렬 P는 상응하는 블록에서 얼마나 많은 비트가 시프트되었는지를 나타낸다. 예컨대, 행렬 P의 i행 j열 원소가 1인 경우, i행 j열의 블록에서 1비트가 시프트되었음을 나타낸다. 삽입 유도 용량 변수 R도 0으로 설정한다(도 13b, S 210). 삽입 유도 용량 변수(R)는 이미지 블록에 삽입될 수 있는 비트의 용량을 나타내는 것이고, 삽입 유도 용량 변수(R)는 삽입되어야 할 비트수 보다 커야 한다.
b) 위치 정보 행렬(L)을 삽입하기 위해 유보된 블록을 제외한 나머지의 모든 블록 중에서, 상기 수학식 9를 이용하여 1 비트 시프트가 가능한 블록들을 찾아낸다.  S 를 비트 시프트 가능하다고 식별된 블록들의 집합이라고 가정하고, I를 집 합 S의 원소들의 집합, 예컨대 I = {(i,j)| S i ,j ∈S } 이라고 가정한다. 즉, I 는 시프트 가능한 블록의 위치를 나타내는 집합이다(도 13b, S 220).
2) 반복 ( Iteration ) (S 230 - S 280 단계)
a) 집합 S 의 모든 블록에 대해 {P(i,j) + 1}의 비트 시프팅, 즉 1 비트 시프팅을 적용한다(단, (i,j) ∈ I }). 그 다음, 비트 시프팅된 웨이블릿 계수에 대해 정수 웨이블릿 역변환을 취함으로써 집합 S 내의 각 블록에 대해 (S ij)BI가 얻어진다(도 13b, S 230).
b) 그런 다음, 아래의 수학식 17에 의해서 모든 비트 시프트 가능 블록(S ij)들 중에서 워터마크 삽입에 의해 발생하는 최소 평균 제곱 오차가 최소인 블록(
Figure 112007071680003-PAT00031
)을 찾는다(도 13b, S 240).
Figure 112007071680003-PAT00032
c) 평균 제곱 오차가 최소인 블록(
Figure 112007071680003-PAT00033
)에 삽입 가능한 비트수만큼 삽입 유도 용량 변수(R)을 증가시킨다. 이 때,
Figure 112007071680003-PAT00034
= 0 이면, 유도 용량(R)을 (3MN/4 - [log2(pmax)])만큼 증가시키고,
Figure 112007071680003-PAT00035
≠ 0 이면, 유도 용량(R)을 (3NM/4) 만큼 증가시킨다.  유보된 비트인 해당 블록에 [log2(pmax)]는 행렬 P의 원소를 삽입하기 위해 할당된 것이다(행렬 P는 상응하는 블록에서 얼마나 많은 비트가 시프트되었는지를 나타낸다. 즉, P(i, j)= 1이면 i행 j열의 블록에서 1비트만큼 시프트되었음을 의미한다).
d) 그 다음
Figure 112007071680003-PAT00036
의 값을 1 증가시킨다(도 13b, S 250).
e) 만약
Figure 112007071680003-PAT00037
= pmax 이거나
Figure 112007071680003-PAT00038
가  {P(i,j) + 1} 비트 시프트 가능하지 않은 경우(도 13b, S 260), 블록
Figure 112007071680003-PAT00039
및 그 인덱스인
Figure 112007071680003-PAT00040
는 S 및 I로부터 각각 삭제된다(도 13b, S 270).
f) 삽입 유도 용량 변수(R)가 삽입해야 하는 총 비트수보다 크면(예컨대 이하의 수학식 18을 만족시키면) 상기 a) 내지 e)의 과정에 대한 반복을 중지한다(도 13b, S 280).
Figure 112007071680003-PAT00041
여기서 Bm은 메시지 비트이고, Bl은 위치 정보 행렬(L) 내의 비트들의 집합이며 Bo는 위치 정보 행렬(L) 삽입시에 최하위 비트 치환 과정을 통해 치환된 원본 최하위 비트들의 집합이다. | | 는 집합의 원소 개수이다.  삽입 용량(R)은 삽입될 메시지 비트수보다는 크거나 같아야 하며, 상기 만약 수학식 18은 이를 의미한다. 수학식 18을 만족시키지 못하는 경우, a)로 다시 이동하여 상기 S 230 내지 S 280 단계를 반복하게 된다.
이상에서 기술한 과정의 결과에 의해서 각 원소들은 평균 제곱 에러가 최소가 되도록 시프팅 가능한 비트수를 나타내는 행렬 P가 얻어진다.  행렬 P는 이미지에 가역적인 방식으로 워터마크를 적응적으로 삽입하는데에 이용된다.
C. 위치 정보 행렬의 구축 및 위치 정보 행렬의 삽입 ( Construction and Embedding of Location Map ) (S 300 단계)
위치 정보 행렬(L)은 총 이미지 블록 수와 동일한 크기 즉, (X/M) × (Y/N) 의 2진 행렬의 형태로 구축된다. 즉, i행 j열 블록에 데이터가 삽입되면(즉, P(i, j)>0 이면) L(i, j)=1로 정해지고, i행 j열 블록에 데이터가 삽입되지 않은 경우(즉, P(i, j)=0 이면) L(i, j)= 0이 된다. 위치 정보 행렬 L은 다음과 같이 구성된다.
Figure 112007071680003-PAT00042
여기서 0 ≤ i ≤ (X/M), 0 ≤ j ≤ (Y/N)이다.  그 다음 위치 정보 행렬 행렬(L) 내의 (XY)/(MN) 비트가 위치 정보 삽입을 위해 앞서 S 100 단계에서 유보된 최하위 비트 치환 가능 블록으로 순차적으로 삽입된다.  위치 정보 행렬(L)을 삽입하는 동안에 치환된 원본 최하위 비트들은 집합(Bo)에 수집된다.  후술하겠지만 가 역성을 위해서, 원본 최하위 비트(Bo)도 부가 정보의 형태로 모두 이미지에 삽입된다.
D. 메시지 및 남은 부가 정보의 삽입 ( Embedding of Message and Remaining Side Information ) (S 400 단계)
삽입되어야 할 나머지 삽입 데이터는 워터 마크 메시지 비트(Bm), 원본 최하위 비트(Bo) 및 행렬 P이다.  우선 행렬 P의 원소가 양수이면 이에 대응하는 이미지 블록이 비트 시프트 가능함을 의미하므로, 행렬 P를 이용하여 워터마크가 삽입될 비트 시프트 가능 블록들의 집합 Sb = {S(i, j)| P(i,j) > 0}을 찾아낸다.  그 다음, 비트 시프트 가능 블록(Sb) 내의 각 블록들에 대해서 행렬 P의 각 원소, P(i,j)가 나타내는 수 만큼의 비트 시프팅이 행하여진다.  전술한 바와 같이, M×N크기의 블록에 삽입가능한 비트수는 3MN/4이므로, 비트 시프팅의 결과 비트 시프트 가능 블록(Sb) 내의 각 블록에 대해서 {P(i,j)·(3MN/4)} 비트가 워터마크 삽입을 위하여 할당될 수 있다.  비트 시프트 가능 블록(Sb) 내의 각 블록에 대해서, 행렬 P의 원소를 삽입하기 위해서 우선 P(i,j)가 [log2(pmax)] 길이의 2진수로 변환된 후 삽입된다.  그 다음 워터 마크 메시지 비트(Bm)와 원본 최하위 비트(Bo)는 Sb 에 속한 각 블록에서 삽입가능한 나머지 비트인 (P(i,j)·(3MN/4)-[log2(pmax)])에 순차적으로 삽입된다.
E. 컬러 이미지를 위한 가역 워터마크 삽입 ( Reversible Watermark Embedding for Color Images )
본 발명에 따른 가역 워터마킹 기술은 컬러 이미지에도 쉽게 적용가능하다.  우선, 주어진 이미지, 블록 크기(M×N), 웨이블릿 및 최대 비트 시프팅 수(pmax)에 대해서 각 컬러 채널별로 최대 삽입 용량, 예컨대 픽셀당 Rr(적색 채널), Rg(녹색 채널) 및 Rb(청색 채널) 비트(bits per pixel; bpp)를 예측한다.  그 다음, 메시지 비트(Bm)는 다음의 식으로 표현되는 3개의 부분 집합 Bmr, Bmg, Bmb로 분할된다.
Figure 112007071680003-PAT00043
Figure 112007071680003-PAT00044
Figure 112007071680003-PAT00045
여기서 Bmr∩Bmg = Bmg∩Bmb = Bmb∩Bmr =
Figure 112007071680003-PAT00046
이고,  Bmr∪Bmg = Bmg∪Bmb = Bmb∪Bmr =  Bm이다.  그 다음, 3개의 메시지 비트의 부분집합들 Bmr, Bmg, Bmb은 전술한 가 역 워터마크 삽입 기술을 이용하여 각 컬러 채널로 독립적으로 삽입된다.  이 과정은 메시지 비트를 부분 집합으로 나누어 각 컬러 채널 내에 독립적으로 삽입함으로써, 예컨대 YUV(참고 문헌 26)와 같이 상이한 컬러 좌표를 가지는 컬러 이미지에도 용될 수 있다.
Ⅳ. 워터마크 추출 알고리즘 ( Decoding Algorithm )
우선, 워터마크가 삽입된 이미지는 M × N 차원의 겹쳐지지 않는 블록으로 분할되고, 각 블록은 삽입 절차에서 사용된 웨이블릿과 동일한 웨이블릿에 의해 변환된다.  그 다음 미리 정해진 순서에 따라 최하위 비트 치환가능 블록이 검색된다.  어떤 용례에서는 검색의 순서는 삽입기(embedder)와 공유하고 있는 비밀 열쇠(secret key)에 기초할 수 있다.  최하위 비트 치환가능 블록이 검색되면, 블록 내의 고주파 웨이블릿 계수의 최하위 비트를 수집함으로써 위치 정보 행렬을 소환한다.  위치 정보 행렬에 기초하여 워터마크가 삽입된 블록이 순차적으로 검색되고, 각 블록 내의 p 값을 디코딩함에 의해서 삽입된 비트의 개수가 계산된다.  마지막으로 위치 정보 행렬에 의해 지시된 블록으로부터 원본 최하위 비트와 메시지 비트를 포함하는 삽입 데이터가 추출된다.  원본 최하위 비트(Bo)와 위치 정보 행렬(L)을 사용함으로써 원본 이미지 블록이 정확하게 복원된다.  컬러 이미지에 워터마크가 삽입된 경우에는 전술한 워터마크 추출 절차가 각 채널 별로 반복하여 수행된다.
Ⅴ. 실시예
이하의 실시예에서는 테스트 이미지로서 USC-SIPI 데이터베이스(참고 문헌 27)로부터의 512 × 512 RGB 및 그레이 스케일 이미지가 사용되었고, Le Gall 5/3 필터에 기초한 정수 웨이블릿 변환이 이용되었다.  워터마크 삽입 이미지의 삽입 용량은 픽셀당 비트(bpp)로, 화질은 최대 신호 대 잡음 비(Peak Signal Noise Ratio; PSNR)로 각각 표시되었다.  메시지 비트는 MATLAB 함수 rand()에 의해 랜덤하게 생성되었다.  워터마크 삽입 이미지의 화질을 고려하기 위해, pmax 값은 2로 고정하였는데, 이는 2개의 비트 시프팅만이 허용된다는 의미이다.
A. 실시예 1 - 다양한 블록 사이즈에서의 천연 이미지에 대한 성능
본 발명은 다양한 천연 이미지 즉, F-16(비행기), 레나, 바바라, 페퍼 및 바분(원숭이)에 대해서 실행되었다.  도 4는 0.50 bpp까지의 다양한 삽입 용량에서의 워터 마크 삽입 이미지의 화질(PSNR, dB로 표시됨)을 보여준다.  본 실시예에서, 블록 사이즈는 16 × 16으로 설정되었다.  도 4에 도시된 것과 같이, 본 발명의 실시예는 낮은 왜곡을 보여주면서도 높은 삽입 용량을 달성하였다.  그렇지만, 삽입 용량-왜곡 성능은 개별적 이미지의 특징에 따라 상이하였다.  예컨대, F-16 및 레나와 같이 저주파 성분이 다량 포함되어 있는 이미지에 대해서는 낮은 왜곡 및 높 은 삽입 용량을 달성할 수 있었다.  반면, 예컨대 바분과 같이 고주파 성분이 다량 포함된 이미지에 대해서는 동일한 PSNR에 대해서 훨씬 낮은 삽입 용량을 나타내었다.  도 5 및 도 6은 그레이 스케일에서 레나 및 바바라 이미지 각각에 대한 원본 이미지와 다양한 삽입 용량에 의한 워터마크 삽입 이미지를 보여준다.  우선 도 5의 경우, (a)는 원본 이미지이고, (b), (c) 및 (d)는 각각 삽입 용량이 0.30 bbp(44.87 dB), 0.65 bbp(37.82 dB) 및 1.00 bpp(32.92 dB)이다.  한편, 도 6의 경우, (a)는 원본 이미지이고, (b), (c) 및 (d)는 각각 삽입 용량이 0.20 bbp(46.23 dB), 0.50 bbp(38.02 dB) 및 0.80 bpp(31.78 dB)이다. 도시된 바와 같이, 워터마크 삽입 이미지의 인지 화질은 낮은 워터마크 삽입 용량 및 중간 워터마크 삽입 용량에서는 상당히 우수하였고, 1.0 bpp 근방의 높은 워터마크 삽입 용량에 대해서도 허용가능한 수준이었다.  본 발명의 실시예의 가역적 삽입 방법에 따르면, 워터마크가 고주파 웨이블릿 계수에 삽입되기 때문에, 이미지의 고주파 성분이 강화되고 워터마크 삽입 이미지는 샤프닝 마스크(sharpening mask)로 필터링된 것 같이 보일 수 있다. 그러나 워터마크 삽입에 의해 발생한 샤프닝 효과(sharpening effect)는 낮은 PSNR에 대해서도 인지적인 저항감이 적다.
 본 발명의 실시예는 컬러 이미지에 대해서도 수행되었다.  도 7은 1.0 bpp에 이르는 다양한 삽입 용량에서의 워터마크된 컬러 이미지의 PSNR을 보여준다.  블록 사이즈는 전술한 예에서와 마찬가지로 16 × 16으로 설정되었다.  도시된 결과는 컬러 이미지에 대한 삽입 용량-왜곡 성능 역시 개별적 이미지의 특징에 달려있다.  그레이 스케일 이미지에서와 마찬가지로, 예컨대 F-16 이미지와 같이 입력 이미지에 저주파 성분이 많이 포함된 경우에는, 동일한 PSNR에서 더 높은 삽입 용량을 나타내었다.  도 8 및 도 9는 레나 및 바바라 컬러 이미지 각각에 대한 원본 이미지와 다양한 삽입 용량에 의한 워터마크 삽입 이미지를 보여준다.  우선 도 8의 경우, (a)는 원본 이미지이고, (b), (c) 및 (d)는 각각 삽입 용량이 0.60 bbp(44.34 dB), 1.30 bbp(39.62 dB) 및 2.00 bpp(34.90 dB)이다.  한편, 도 9의 경우, (a)는 원본 이미지이고, (b), (c) 및 (d)는 각각 삽입 용량이 0.50 bbp(38.56 dB), 1.00 bbp(32.42 dB) 및 1.50 bpp(27.77 dB)이다. 그레이 스케일 이미지에서와 같이 샤프닝 효과가 관찰되었지만, 워터마크 삽입 이미지의 인지적 화질은 모든 삽입 용량에 대해서 상당히 우수하였다.
본 발명의 실시예에서는 개별적인 용례의 특정 요구 조건에 따라 블록 사이즈가 손쉽게 조절될 수 있다.  도 10은 본 발명의 실시예의 성능이 다양한 블록 사이즈(즉, 4×4, 8×8, 16×16, 32×32)에 대해 어떻게 변동되는지를 보여준다.  도 10의 (a), (b), (c) 및 (d)에 대한 이미지는 각각 레나, 바분, F-16, 바바라이다. 도시된 것과 같이, 블록 사이즈가 너무 작거나(예컨대, 4×4), 너무 큰 경우(예컨대, 32×32)에는 본 발명의 성능이 저하된다.  블록 사이즈가 작아질수록 부가 정보의 양은 점점 더 많아진다.  예컨대, 블록 사이즈가 4×4인 경우, 위치 정보 행렬과 원본 최하위 비트를 삽입하는 데에 0.1250 bpp가 요구되는 반면, 블록 사이즈가 16×16인 경우에는 0.0078 bpp만이 요구된다.  블록 사이즈가 커지는 경우, 삽입되어야 할 부가 정보의 양은 매우 작아진다.  그러나, 블록 사이즈가 너무 커지게 되면 특히 높은 삽입 용량에 대해 적응적 삽입이 덜 유리해지며, 이로 인해 본 발명의 실시예의 성능이 저하된다.
B. 현존하는 기술과의 성능 비교
본 발명을 현존하는 가역적 삽입 방법과 비교하였다.  도 11은 그레이 스케일의 레나 이미지에 대해서 본 발명과 현존하는 가역적 방법의 성능을 비교하여 나타낸다.  도시된 것과 같이, 프리드리히 등에 의해 제안된 RS 방법(참고 문헌 3)은 다른 방법에 비교하여 낮은 삽입 용량(0.15 bpp 이하)을 보여준다.  쑤안 등에 의해 제안된 정수 DWT 기반 가역 삽입 방법(참고 문헌 14)은 삽입 용량과 인지적 화질 사이의 트레이드 오프(trade off)를 위한 옵션이 제공되지 않는다.  즉, 주어진 호스트 이미지에 대해서 달성가능한 삽입 용량 및 이미지 화질은 고정되며, 조절가능하지 않다.  다른 방법들, 예컨대 티안 등(참고 문헌 4) 및 그 변형예들(참고 문헌 5), 양 등(참고 문헌 13)에 의해 제안된 차분 전개(difference expansion) 방법, 셀릭 등(참고 문헌 11)에 의해 제안된 일반화된 최하위 비트(G-최하위 비트)에서는 삽입 용량과 이미지 화질 사이에서 트레이드 오프가 가능하고 상대적으로 높은 삽입 용량을 달성할 수 있다.  그렇지만, 도시된 것과 같이 본 발명에 따른 방법에서는 종래의 방법에 비하여 더 높은 삽입 용량과 더 낮은 왜곡을 달성할 수 있다.  도 12는 그레이 스케일의 바바라 이미지에 대한 결과를 도시한다.  본 실시예에 있어서, 본 발명의 방법은 일부 경쟁적인 종래 기술들과만 비교되었다.  도시된 것과 같이 본 발명에 따르면 종래의 방법에 대해 모든 PSNR에서 더 높은 삽입 용량을 보여주었다.  도 11 및 도 12의 결과는 본 발명에 따른 방법이 현존하는 가역적 방법보다 우수한 성능을 보여준다는 것을 입증한다.
이상, 본 발명의 특정 실시예에 대하여 상술하였지만, 본 발명의 사상 및 범위는 이러한 특정 실시예에 한정되는 것이 아니라, 본 발명의 요지를 변경하지 않는 범위 내에서 다양하게 수정 및 변형이 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 것이다.
따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
도 1은 웨이블릿 변환을 보여주는 도면.
도 2는 본 발명의 웨이블릿 변환 및 워터 마크 삽입 과정을 개략적으로 도시한 도면.
도 3은 웨이블릿 변환을 다상(polyphase)으로 표시한 도면.
도 4 내지 도 12는 본 발명과 종래 기술에 따른 비교 이미지 또는 화질의 비교 데이터 그래프.
도 13a 및 도 13b는 본 발명에 따른 가역적 워터마크 삽입 방법을 나타낸 도면.

Claims (10)

  1. 소정 크기(X×Y)의 이미지를 상기 소정 크기보다 작은 크기(M×N)의 복수개(XY/MN) 이미지 블록으로 나눈 후, 나누어진 이미지 블록 중 선택된 이미지 블록에 정수 웨이블릿 변환에 기초하여 워터 마크를 삽입하는 방법으로서,
    상기 이미지 블록 중 워터 마크가 삽입될 이미지 블록의 위치를 나타내는 위치 정보의 삽입을 위한 이미지 블록을 별도로 할당하는 단계와,
    위치 정보 삽입을 위해 할당된 상기 이미지 블록에 상기 위치 정보를 삽입하는 단계와,
    상기 위치 정보의 삽입을 위해 할당된 이미지 블록 이외에 나머지 이미지 블록에 워터 마크와 부가 정보를 삽입하는 단계
    를 포함하는 것인 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  2. 제1항에 있어서, 상기 위치 정보의 삽입은 최하위 비트 치환 방법으로 이루어지고 상기 워터 마크 및 부가 정보의 삽입은 비트 시프팅 방법으로 이루어지는 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  3. 소정 크기(X×Y)의 이미지를 상기 소정 크기보다 작은 크기(M×N)의 복수개(XY/MN) 이미지 블록으로 나눈 후, 나누어진 이미지 블록 중 선택된 이미지 블록에 정수 웨이블릿 변환에 기초하여 워터 마크를 삽입하는 방법으로서,
    상기 이미지 블록 중 워터 마크가 삽입될 이미지 블록의 위치를 나타내는 위치 정보의 삽입을 위한 이미지 블록을 별도로 할당하는 단계와,
    위치 정보 삽입을 위해 할당된 상기 이미지 블록에 상기 위치 정보를 삽입하는 단계와,
    행렬(P)을 생성하는 단계로서, 상기 행렬(P)의 원소는 대응하는 이미지 블록에서 시프팅 가능한 비트수를 나타내는 것인, 행렬(P)의 생성 단계와,
    상기 위치 정보의 삽입을 위해 할당된 이미지 블록 이외에 나머지 이미지 블록에 워터 마크와 부가 정보를 삽입하는 단계
    를 포함하는 것인 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  4. 제4항에 있어서, 상기 위치 정보의 삽입은 최하위 비트 치환 방법으로 이루어지고, 상기 워터 마크 및 부가 정보의 삽입은 비트 시프팅 방법으로 이루어지는 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  5. 제4항에 있어서, 상기 부가 정보는 상기 위치 정보의 삽입시 치환된 원본 메시지 비트(Bo) 및 상기 행렬(P)에 대한 정보인 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  6. 제4항에 있어서, 상기 위치 정보는 상기 이미지 블록의 개수와 동일한 크기[(X/M)×(Y/N)]의 위치 정보 행렬(L)을 마련함으로써 이루어지고,
    상기 위치 정보 행렬(L)의 원소가 1인 경우는 대응하는 이미지 블록에 워터 마크 및 부가 정보가 삽입되었음을 나타내고,
    상기 위치 정보 행렬(L)의 원소가 0인 경우는 대응하는 이미지 블록에 워터 마크 및 부가 정보가 삽입되지 않았음을 나타내는 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  7. 제4항에 있어서, 상기 행렬(P)은 상기 이미지 블록의 개수와 동일한 크기[(X/M)×(Y/N)]를 가지며, 상기 행렬(P)는
    (a) 상기 행렬(P)의 모든 원소를 0으로 설정하고, 삽입 용량 변수(R)를 마련하여 삽입 용량 변수(R)를 0으로 설정하는 단계와,
    (b) 상기 이미지 블록 중 비트 시프팅이 가능한 블록(Si ,j)을 검색하는 단계와,
    (c) 검색된 비트 시프팅 가능 블록(Si ,j)에 대해 1 비트 시프팅 및 역정수 웨이블릿 변환을 하는 단계와,
    (d) 비트 시프팅 가능 블록(Si ,j) 중1비트 시프팅 및 역정수 웨이블릿 변환을 수행하기 전과 후 사이의 평균 제곱 오차가 최소인 블록(
    Figure 112007071680003-PAT00047
    )을 검색하는 단계와,
    (e) 검색된 상기 평균 제곱 오차가 최소인 블록(
    Figure 112007071680003-PAT00048
    )에 대해 삽입 가능한 비트수 만큼 삽입 용량 변수(R) 값을 증가시키고, 블록(
    Figure 112007071680003-PAT00049
    )에 대응하는 행렬(P) 의 원소(
    Figure 112007071680003-PAT00050
    )의 값도 1 증가시키는 단계와,
    (f) 상기 삽입 용량(R)이 삽입해야 할 워터 마크 및 부가 정보의 비트수보다 크거나 같은지 판단하는 단계와,
    (g) 상기 삽입 용량(R)이 삽입해야 할 워터 마크 및 부가 정보의 비트수보다 작은 경우 상기 (c) 내지 (f) 단계를 반복하는 단계
    에 의해 생성되는 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  8. 제7항에 있어서, 상기 (f) 단계에 후속하여
    (f)'
    Figure 112007071680003-PAT00051
    가 시프팅 가능한 비트수(Pmax)와 같거나 상기 블록(
    Figure 112007071680003-PAT00052
    )이 비트 시프팅 불가능한 경우 해당 블록을 상기 블록(
    Figure 112007071680003-PAT00053
    )의 목록에서 삭제하는 단계
    를 더 포함하는 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
  9. 제7항에 있어서, 상기 (b) 단계에서 비트 시프팅이 가능한 블록(Si ,j)의 검색은 이하의 수학식에 의해 수행되는 것을 특징으로 하는 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법.
    Figure 112007071680003-PAT00054
    (단, 0≤m≤M, 0≤n≤N)
  10. 소정 크기(X×Y)의 이미지를 상기 소정 크기보다 작은 크기(M×N)의 복수개(XY/MN) 이미지 블록(S)으로 나눈 후, 나누어진 이미지 블록 중 선택된 이미지 블록에 정수 웨이블릿 변환에 기초하여 워터 마크의 삽입시 오버플로우 또는 언더플로우를 회피하는 방법으로서,
    워터 마크가 삽입될 이미지 블록(S)의 선택은 이하의 수학식에 의해 수행되는 것을 특징을 하는 것인 정수 웨이블릿 변환에 기초하여 워터 마크의 삽입시 오버플로우 또는 언더플로우를 회피하는 방법.
    Figure 112007071680003-PAT00055
    (단, 0≤m≤M, 0≤n≤N)
KR1020070100397A 2007-10-05 2007-10-05 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법 KR100898329B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070100397A KR100898329B1 (ko) 2007-10-05 2007-10-05 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법
US12/244,453 US8265334B2 (en) 2007-10-05 2008-10-02 Method for reversible image watermarking based on integer-to-integer wavelet transform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070100397A KR100898329B1 (ko) 2007-10-05 2007-10-05 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법

Publications (2)

Publication Number Publication Date
KR20090035237A true KR20090035237A (ko) 2009-04-09
KR100898329B1 KR100898329B1 (ko) 2009-05-20

Family

ID=40588126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070100397A KR100898329B1 (ko) 2007-10-05 2007-10-05 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법

Country Status (2)

Country Link
US (1) US8265334B2 (ko)
KR (1) KR100898329B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014107070A1 (ko) * 2013-01-04 2014-07-10 고려대학교 산학협력단 가역 정보 은닉 시스템 및 방법
US9462152B2 (en) 2013-01-04 2016-10-04 Korea University Research And Business Foundation System and method for hiding reversible information
KR20170002867U (ko) 2016-02-03 2017-08-11 이성화 커넥터
CN109389546A (zh) * 2018-10-30 2019-02-26 广东工业大学 多分块可逆水印嵌入方法及装置、水印提取方法及装置

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9325682B2 (en) * 2007-04-16 2016-04-26 Tailstream Technologies, Llc System for interactive matrix manipulation control of streamed data and media
JP5046047B2 (ja) * 2008-10-28 2012-10-10 セイコーインスツル株式会社 画像処理装置、及び画像処理プログラム
KR100975221B1 (ko) * 2008-11-05 2010-08-10 매그나칩 반도체 유한회사 샤프니스 보정장치 및 그 방법
US8090146B2 (en) * 2009-01-15 2012-01-03 Google Inc. Image watermarking
WO2011046425A2 (en) * 2009-10-14 2011-04-21 3Mensio Medical Imaging B.V. A method, a graphic user interface, a system and a computer program for optimizing workflow of a medical intervention
CN102724494B (zh) * 2011-03-31 2014-07-23 北京大学 一种嵌入可逆水印的方法、提取方法以及装置和系统
US20130101059A1 (en) * 2011-10-03 2013-04-25 Ira S. Moskowitz Pre-modulation physical layer steganography
US8170333B2 (en) * 2011-10-13 2012-05-01 University Of Dayton Image processing systems employing image compression
US8170335B2 (en) * 2011-10-13 2012-05-01 University Of Dayton Image processing systems employing image compression and accelerated decompression
US8170334B2 (en) * 2011-10-13 2012-05-01 University Of Dayton Image processing systems employing image compression and accelerated image decompression
US9836433B1 (en) * 2012-04-02 2017-12-05 Rockwell Collins, Inc. Image processing using multiprocessor discrete wavelet transform
US9384410B2 (en) 2012-05-21 2016-07-05 Nvidia Corporation Method and system for image compression while encoding at least one extra bit
KR101442017B1 (ko) 2012-12-10 2014-09-25 국방과학연구소 워터마킹 생성과 삽입 및 검출 기법
US9819969B2 (en) * 2013-11-26 2017-11-14 Nvidia Corporation Generalization of methods and systems for image compression while encoding at least one extra bit
WO2015195882A1 (en) * 2014-06-18 2015-12-23 James Collier Methods and apparatus for cryptography
US9357232B2 (en) 2014-10-28 2016-05-31 Sony Corporation Image processing system with binary decomposition and method of operation thereof
US9357237B2 (en) 2014-10-28 2016-05-31 Sony Corporation Image processing system with bitstream reduction and method of operation thereof
US10063889B2 (en) 2014-10-28 2018-08-28 Sony Corporation Image processing system with conditional coding and method of operation thereof
US9674554B2 (en) 2014-10-28 2017-06-06 Sony Corporation Image processing system with coding mode and method of operation thereof
US9294782B1 (en) 2014-10-28 2016-03-22 Sony Corporation Image processing system with artifact reduction mechanism and method of operation thereof
US10356410B2 (en) 2014-10-28 2019-07-16 Sony Corporation Image processing system with joint encoding and method of operation thereof
US10037587B2 (en) * 2016-11-23 2018-07-31 Macau University Of Science And Technology Color image watermarking
CN107241597B (zh) * 2017-05-05 2019-10-15 中国人民武装警察部队工程大学 一种结合四叉树自适应编码的可逆信息隐藏方法
KR102637177B1 (ko) * 2018-05-23 2024-02-14 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치
CN108898542B (zh) * 2018-07-04 2023-07-18 广东工业大学 一种可逆水印的嵌入方法
GB2593778A (en) * 2020-04-03 2021-10-06 Sony Group Corp Video data encoding and decoding
GB2603559B (en) * 2021-07-22 2023-08-09 Imagination Tech Ltd Coding blocks of pixels
CN114037593B (zh) * 2021-10-29 2022-07-29 淮阴工学院 基于逆向直方图平移的可逆图像水印算法
CN115631084B (zh) * 2022-10-14 2024-06-21 淮阴工学院 基于iwt和插值扩展的可逆水印方法
CN117876273B (zh) * 2024-03-11 2024-06-07 南京信息工程大学 一种基于可逆生成对抗网络的鲁棒图像处理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456629B1 (ko) * 2001-11-20 2004-11-10 한국전자통신연구원 웨이블릿 기반에서 디지털 워터마크 삽입/추출장치 및 방법
KR100426305B1 (ko) 2001-11-27 2004-04-08 한국전자통신연구원 웨이블릿 기반에서 블라인드 방식을 이용한 디지털워터마크 삽입/추출장치 및 방법
US7561714B2 (en) * 2001-12-13 2009-07-14 Digimarc Corporation Reversible watermarking
JP4086666B2 (ja) 2003-01-15 2008-05-14 株式会社リコー 画像処理装置、プログラム及び記憶媒体
CN101449278B (zh) * 2003-12-05 2011-07-06 新泽西理工学院 在空间域中的健壮可逆数据隐藏和数据恢复的系统和方法
JP4534519B2 (ja) 2004-02-20 2010-09-01 沖電気工業株式会社 電子透かし埋め込み装置及び電子透かし検出装置
JP4199293B2 (ja) * 2004-03-26 2008-12-17 ニュージャージー インスティチュート オブ テクノロジー 整数ウエーブレット拡散スペクトラムに基づく可逆データ隠蔽のためのシステム及び方法
WO2006044802A2 (en) * 2004-10-20 2006-04-27 New Jersey Institute Of Technology System and method for lossless data hiding using the integer wavelet transform
US8260065B2 (en) * 2006-05-08 2012-09-04 New Jersey Institute Of Technology Data hiding with wavelet transform histogram shifting
US7974477B2 (en) * 2007-02-19 2011-07-05 New Jersey Institute Of Technology Apparatus and method for reversible data hiding for JPEG images

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014107070A1 (ko) * 2013-01-04 2014-07-10 고려대학교 산학협력단 가역 정보 은닉 시스템 및 방법
US9462152B2 (en) 2013-01-04 2016-10-04 Korea University Research And Business Foundation System and method for hiding reversible information
KR20170002867U (ko) 2016-02-03 2017-08-11 이성화 커넥터
CN109389546A (zh) * 2018-10-30 2019-02-26 广东工业大学 多分块可逆水印嵌入方法及装置、水印提取方法及装置
CN109389546B (zh) * 2018-10-30 2023-07-25 广东工业大学 多分块可逆水印嵌入方法及装置、水印提取方法及装置

Also Published As

Publication number Publication date
US20090116685A1 (en) 2009-05-07
KR100898329B1 (ko) 2009-05-20
US8265334B2 (en) 2012-09-11

Similar Documents

Publication Publication Date Title
KR100898329B1 (ko) 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법
Lee et al. Reversible image watermarking based on integer-to-integer wavelet transform
Tian Reversible data embedding using a difference expansion
Lin et al. A blind watermarking method using maximum wavelet coefficient quantization
JP4026933B2 (ja) 情報処理装置及び方法並びに記録媒体
Agilandeeswari et al. A robust color video watermarking scheme based on hybrid embedding techniques
Chang et al. A reversible data hiding scheme using complementary embedding strategy
JP4947172B2 (ja) ロバストなデジタル電子透かし入れ信号の挿入方法および電子透かし検出方法
EP0933920B1 (en) Data processing apparatus and method and storage medium
Zeng et al. A lossless robust data hiding scheme
US20080199093A1 (en) Appratus and method for reversible data hiding for jpeg images
US20060120558A1 (en) System and method for lossless data hiding using the integer wavelet transform
US20060153424A1 (en) Image processing apparatus and method, program code and storage medium
Ranjbar et al. A highly robust two-stage contourlet-based digital image watermarking method
EP1022895A2 (en) Apparatus for and method of embedding and extracting digital information, and medium having program for carrying out the method recorded thereon
Lai et al. Adaptive data hiding for images based on harr discrete wavelet transform
Shaik et al. Comparative analysis of integer wavelet transforms in reversible data hiding using threshold based histogram modification
JP4250186B2 (ja) 整数ウェーブレット表現からの頑強な無損失データ隠蔽および復元のためのシステムおよび方法
Fkirin et al. Steganography literature survey, classification and comparative study
Awrangjeb et al. Reversible watermarking using a perceptual model
Narasimhulu et al. A new SVD based hybrid color image watermarking for copyright protection using contourlet transform
KR20070001297A (ko) 웨이블릿 변환을 이용한 워터마크 삽입 및 검출방법
Chandrasekaran et al. Applying reversible data hiding for medical images in hybrid domain using haar and modified histogram
Su et al. Digital watermarking on EBCOT compressed images
Taouil et al. A data hiding scheme based on the Haar discrete wavelet transform and the K-LSB

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140603

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 9

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180525

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191230

Year of fee payment: 11

R401 Registration of restoration