KR20110090247A - 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법 - Google Patents
차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법 Download PDFInfo
- Publication number
- KR20110090247A KR20110090247A KR1020100009927A KR20100009927A KR20110090247A KR 20110090247 A KR20110090247 A KR 20110090247A KR 1020100009927 A KR1020100009927 A KR 1020100009927A KR 20100009927 A KR20100009927 A KR 20100009927A KR 20110090247 A KR20110090247 A KR 20110090247A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- difference value
- shifted
- message
- histogram
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- 230000002441 reversible effect Effects 0.000 title claims abstract description 22
- 238000003780 insertion Methods 0.000 claims abstract description 108
- 230000037431 insertion Effects 0.000 claims abstract description 108
- 230000008569 process Effects 0.000 claims description 26
- 238000012937 correction Methods 0.000 abstract description 18
- 206010027146 Melanoderma Diseases 0.000 abstract 1
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 239000006002 Pepper Substances 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241001504519 Papio ursinus Species 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
- H04N2005/91307—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법이 제공된다. 원본 영상에서 최소 밝기값 및 최대 밝기값에 가까운 픽셀들로 이루어진 바운드 영역을 예측하여 백 쉬프팅한다. 벡터의 제1 값은 상기 바운드 영역이 백 쉬프팅된 영상의 제1 픽셀 값으로 설정하고 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성하는 방식으로 인접 픽셀 간의 차이 값 벡터를 구한다. 상기 차이 값 벡터로부터 차이 값 히스토그램을 구한 후, 메시지 삽입 공간을 제공하기 위하여 삽입 레벨에 따라 쉬프팅한다. 상기 쉬프팅된 차이 값 히스토그램을 수정함으로써 워터마크 메시지를 상기 메시지 삽입 공간에 삽입한다. 상기 워터마크 메시지가 삽입된 히스토그램으로부터 상기 워터마크 메시지가 삽입된 최종 영상을 구한다.
Description
본 발명은 가역 워터마크 삽입, 추출 및 원본 영상 복원 방법에 관한 것으로, 더 상세하게는 가역적으로 워터마크를 원본 영상에 삽입하고, 워터마크를 추출한 후에 원본 영상을 복원하는 방법에 관한 것이다.
데이터 삽입(은닉) 기술은 음악, 영상, 동 영상, 전자 문서, 교육 자료, 애니메이션과 같은 디지털 미디어 콘텐츠에 기밀 정보를 비가시적으로 삽입하는 기술로서, 소유권 증명, 저작권 보호, 방송 모니터링, 콘텐츠 인증 등의 다양한 목적으로 활용되고 있다. 암호화 기술도 디지털 콘텐츠 보호를 위한 방법이지만 그것은 콘텐츠 배포 과정에서의 보호만 보장할 뿐이며, 한 번 복호화된 콘텐츠는 더 이상 보호될 수 없다. 또한, 암호화 기술은 콘텐츠의 무결성을 입증하기 위한 충분한 수단을 제공하기에는 부족함이 있다. 이에 반하여 데이터 은닉 기술은 응용에 따라 다양하게 달라지는 요구들, 즉 다양한 삽입 용량과 지각적 투명성, 강인성, 기밀성, 계산 복잡도 등의 요구조 건을 만족시킬 수 있다. 데이터 은닉 기술은 원본 콘텐츠와 삽입되는 메시지의 관련성 여부에 따라 스테가노그라피(Steganography) 및 디지털 워터마킹(Watermarking)으로 분류되어 진다.
상기 스테가노그라피는 삽입되는 기밀 정보는 원본 콘텐츠의 내용과 아무런 연관성이 없다. 콘텐츠는 단지 기밀 정보를 전달하는 수단일 뿐이며, 수신 측은 원본 콘텐츠 자체에는 관심이 없다. 따라서 삽입된 메시지를 추출한 후 원본으로의 복원과정도 필요 없다. 디지털 워터마킹은 삽입될 메시지와 원본 콘텐츠가 밀접한 연관성이 있는데, 원본 콘텐츠에 대한 메타데이터 혹은 무결성 검증을 위한 인증코드, 저작권 정보 등이 워터마크의 내용이 될 수 있다. 워터마킹은 응용 관점에 따라 강인성(Robust) 워터마킹과 연성(Fragile) 워터마킹으로 분류된다. 강인성 워터마킹은 콘텐츠의 시각적 품질을 유지하면서 모든 가능한 왜곡 시도로부터 워터마크의 내용이 보호될 수 있도록 설계된다. 반면 연성 워터마킹은 아주 작은 변형만으로도 쉽게 워터마크가 손상되기 때문에 콘텐츠의 위조 및 변조에 대한 무결성 입증이나 인증에 유용하게 적용될 수 있다.
콘텐츠에 데이터를 은닉하려면 필연적으로 원본 콘텐츠의 수정이 불가피한데, 의료 영상이나 군사적 영상, 법률적 증거, 원격 측정값, 예술작품 등의 응용분야에서는 어떠한 손상도 없는 원본 영상이 필요하다. 변경의 정도가 극히 미미하고 인간의 지각능력으로는 전혀 알아볼 수 없을지라도 올바른 결정에 영향을 미칠 수 있으며 법률적 문제가 될 수 있기 때문이다. 연성 워터마킹의 한 종류인 가역(Reversible) 워터마킹은 워터마킹된 콘텐츠에서 메시지를 제거한 후, 원본 콘텐츠로 완전한 복원이 가능하기 때문에 콘텐츠의 무결성 인증이나 위변조 조작에 대한 증명, 저작권 보호를 위한 용도로 이용될 수 있다.
가역 워터마킹 알고리즘은 메시지를 삽입하여 수정된 영상이 원본 영상에 비해 큰 차이가 없도록 지각적으로 투명해야 하면서도 응용분야에서의 요구에 맞게 충분한 삽입 용량을 제공해야 한다. 또한, 상대적으로 자원 및 계산능력이 부족한 소형 장치에서도 응용이 가능하도록 계산 복잡도가 높지 않아야 하며, 메시지를 추출한 후 완전한 원본으로의 복원이 가능하도록 가역성을 보장해야 한다. 즉, 가역 워터마킹 알고리즘은 왜곡과 계산 복잡도를 낮게 유지하면서도 삽입 용량을 최대한 높여야 한다. 이러한 요구조건을 만족하기 위하여 다양한 방법들이 연구되었는데, 이들은 각기 다른 영상의 특징을 이용하여 메시지를 삽입한다.
가역 워터마킹 알고리즘의 분류
워터마크 메시지를 삽입하는 방법에 따라 기존 알고리즘들을 네 가지 형태로 분류해 볼 수 있다. 첫 번째 분류의 알고리즘들은 메시지를 삽입할 수 있는 충분한 공간을 확보하기 위해 영상의 특징을 이용한 압축 방법을 사용한다. Fridrich et al.은 JBIG 무손실 압축 기법을 이용하여 비트 평면을 압축하고, 빈 공간에 메시지를 삽입했다. 그렇지만, 일반적으로 하위 비트 평면은 노이즈 신호 성분이 많아서 압축효율이 떨어지기 때문에 상대적으로 노이즈가 적은 상위 비트 평면에 메시지를 삽입하게 되어 시각적인 손상이 발생한다. Celik et al.은 CALIC 무손실 압축 알고리즘을 적용하여 압축한 후 G-LSB(Generalized Least Significant Bit) 삽입 기법으로 삽입 용량을 높였다. 이들 방법의 성능은 영상의 구조적 특성과 사용된 압축 알고리즘의 성능에 따라 달라진다.
두 번째 분류의 알고리즘들은 변환 영역에서 이루어지는 형태로서, DCT(Discrete Cosine Transform)나 DWT(Discrete Wavelet Transform) 등의 변환 계수에 메시지를 삽입한다. Yang et al.은 블록 단위의 정수형 DCT 계수에 기반하여 여러 AC 계수를 선택하여 메시지를 삽입하였다. Xuan et al.은 영상을 DWT로 변환 후 고주파 서브밴드에서 정수 웨이블릿 계수의 가운데 비트 평면에 메시지 비트를 삽입했다. Lee et al.은 영상의 블록에 정수대 정수 웨이블릿 변환을 적용하여 각 블록의 고주파 웨이블릿 계수에 메시지 비트를 삽입했다. 이들 방법은 변환 영역에서 이루어지기 때문에 계산 복잡도가 높다는 단점을 가진다.
세 번째 분류의 알고리즘들은 차이 값 확장 방법으로서 원본 영상의 특성을 포함할 수 있는 작은 값을 생성하고 그 값을 확장함으로써 확장된 공간에 정보를 삽입하는 방법이다. Tian은 정수형 웨이블릿 변환을 이용하여 영상의 차이 값과 평균값을 이용한 특성 값을 계산하고, 이 특성 값을 확장하여 메시지를 삽입하였다. 이 방법은 확장 가능한 모든 차이 값들의 위치 정보 맵을 워터마크와 함께 삽입해야하는 부담이 있다. Alattar는 인접 픽셀들의 세 쌍(triplets)과 네 쌍(quads)을 이용하여 컬러 영상을 위한 차이 값 확장 방법과 임의의 정수 변환에 적용 가능한 정형화된 차이 값 확장 방법을 제안하였다. Kamstra와 Heijmans는 어느 위치가 확장 가능한지 예측하는 기법을 적용하여 성능을 향상시켰다. Thodi와 Rodriguez는 위치정보 맵을 삽입하기 위해 히스토그램을 쉬프팅하는 방법과, 이웃하는 픽셀들의 공간적 유사도를 활용한 예측 오류 확장 방법을 제안하였다.
네 번째 분류인 히스토그램 수정 방법은 영상의 히스토그램을 이용한다. 대부분의 히스토그램 기반 방법들은 모든 처리과정이 공간 영역에서 수행되기 때문에 변환 영역에서의 방법에 비해 계산 복잡도가 훨씬 낮다. 이 방법은 알고리즘에 따라서 원 영상의 픽셀 값 히스토그램이나 차분 영상의 히스토그램을 이용한다. Ni et al.과 Versaki et al.이 제안한 방법은 히스토그램의 최소점과 최대점을 이용하는데 삽입 용량은 최대 (Peak)점에 속한 픽셀의 빈도에 의해 정해진다. Hwang et al.과 Kuo et al.의 연구에서는 Ni의 방법을 확장하여 최소점과 최대점에 대한 정보를 저장하는 위치정보 맵을 이용하였다. Lee et al.은 차이 값 영상의 히스토그램을 이용하여 차이 값이 -1 과 +1 인 위치에 데이터를 삽입하였다. Lin et al.은 영상을 서로 겹치지 않는 블록으로 나누고 각 블록간의 차분 영상을 생성한 후, 각각의 차분 영상에 대한 히스토그램을 수정하여 메시지를 삽입하였다. Tsai et al.은 각 블록에서 기준 픽셀과 나머지 픽셀과의 차이 값으로 구성된 차분 영상을 이용하였다. 비록 Lin의 방법과 Tsai의 방법이 기존 히스토그램 기반의 방법보다 높은 삽입 용량을 얻어내긴 했지만, 모든 블록들의 피크에 대한 정보를 워터마크와 함께 전송해야만 했다. 따라서 삽입 용량을 증가시킬수록 오버헤드 정보, 즉 피크 정보의 양 또한 많이 증가하여 실제 유효 삽입 용량이 그만큼 줄어들게 된다. Kim et al.은 영상의 공간적 유사성을 더욱 활용하기 위하여 영상을 일정한 간격으로 샘플링한 서브 영상으로 나누고, 기준이 되는 서브 영상과 나머지 서브 영상들과의 차이 값 히스토그램을 생성한 후, 각 히스토그램을 쉬프팅하여 메시지를 삽입하였다. 삽입 용량을 증가시키기 위해서는 가능한 높은 최대점을 확보해야 하는데, 인접한 픽셀들 간의 차이가 크지 않다는 영상의 지역성(Locality)을 활용하여 좋은 성능을 보여주었다. 특히 지역성이 높아서 고주파 성분보다는 저주파 성분이 더 많은 영상에 대해 품질 대비 삽입 용량 척도에서 매우 효율적이다. 일반적인 영상들이 저주파 성분이 더 높다는 특성을 감안하면 다양한 용도로 활용되기에 적합한 방법이다. 또한, 이 방법은 차이 값 히스토그램의 특성상 최대점이 0인 경우가 대부분이라는 가정하에 최대점의 위치를 0으로 고정시켰기 때문에 최대점과 최소점의 위치에 대한 오버헤드 정보가 필요하지 않게 되었으며, 다만 서브샘플링 간격과 삽입 레벨 정보를 위한 12 비트만의 오버헤드가 발생했다. 삽입 용량은 히스토그램에서 쉬프팅할 영역의 크기를 지정하는 삽입 레벨 변수를 통해 조절할 수 있기 때문에, 응용의 요구에 따라 유연하게 적용될 수 있다. 한 가지 아쉬운 점은 서브 영상으로 나누어지지 않는 나머지 영역과 더불어 한 개의 기준 서브 영상은 수정하기 않기 때문에 영상의 일부 공간은 메시지 삽입에 이용할 수 없으며, 메시지가 삽입된 영상에 재 삽입(Multi-round)을 하는 경우 수정되지 않은 영역 때문에 지역성이 낮아진다는 단점이 있다.
오버/언더 플로우 방지
히스토그램 수정 방법을 통한 가역 워터마킹에서 고려해야 하는 사항은 오버/언더 플로우 방지에 관한 문제이다. 8 비트 회색조 영상을 예로 보면, 히스토그램이 쉬프팅될 때 바운드 영역에 해당되는, 즉 0 과 255 에 가까운 픽셀들에서 오버/언더 플로우가 발생할 수 있다. 이러한 문제를 해결하기 위한 몇 가지 해결책들이 제시되었다. Honsinger et al.이 제안한 modulo-256 덧셈 방법은 255를 초과하는 픽셀은 0으로 돌아가서 증가하고, 0 미만으로 감소하는 픽셀은 255로 돌아가서 감소하도록 하였다. 모듈로-256 방법이 비록 오버/언더 플로우를 해결하긴 하지만, 변경된 픽셀 값과 주변 픽셀 값들과의 차이가 매우 크게 되는 흰 바탕에 검은 반점이 섞인(salt-and-pepper) 잡음 현상이 발생하게 된다. 이 잡음 문제를 줄이기 위하여 Fridrich et al.은 순환식-모듈로 방법을 제안하였다. 이 방법은 모듈로 연산의 간격을 0 ~ 255까지의 하나의 구간이 아니라, 여러 개의 구간으로 나누는 방법이다. 예를 들어 64 순환식-모듈로는 64 개씩 4 개의 구간으로 나누어서 픽셀 값들은 0↔1↔…↔63↔0, 64↔65↔…↔127↔64, 128↔129↔…↔191↔128, 192↔193↔…↔255↔192의 패턴으로 증감하는 것이다.
순환식-모듈로 방법이 흰 바탕에 검은 반점이 섞인(salt-and-pepper) 잡음을 줄여주긴 하지만 그 변화의 폭을 순환 크기만큼 줄였을 뿐이며 완전한 해결책이 되진 못한다. 또한, 모듈로 연산방법이 많은 영상에 대하여 좋은 성능을 보이기는 하지만 한 가지 단점이 있다. 삽입된 메시지를 추출한 후 원 영상으로 복원할 때 모듈로 연산이 적용된 픽셀인지 아닌지를 구분해야만 한다. 지금까지의 연구들에서는 일반적인 영상의 경우 인접한 픽셀 간의 차이가 크게 나지 않는다는 특성을 이용하여 임계값을 설정하고, 그 값 이상으로 차이가 나는 픽셀에 대하여 모듈로 연산이 적용되었다고 판단한다. 따라서 영상의 픽셀 변화가 매우 심한 특별한 영상에 대해서는 적용하기 어렵다.
오버/언더 플로우 문제를 해결하기 위한 다른 방법은 위치정보 맵을 이용하는 방법이다. 이 방법은 오버/언더 플로우가 발생한 픽셀의 위치를 표시한 맵을 사용하여 삽입 과정에서 제외하거나, 또는 복원할 때 역으로 모듈로 연산을 하여 보정하는 방법이다. 삽입 과정에서 제외하면 삽입 용량이 줄어드는 단점이 있으며, 역 모듈로 보정 방법을 사용하면 흰 바탕에 검은 반점이 섞인(salt-and-pepper) 잡음으로부터 자유롭지 못하다. 맵을 이용하는 방법이 비록 완전한 가역성을 보장하기는 하지만, 여전히 맵 정보를 전달해야 하는 오버헤드를 안고 있기 때문에 실제 유효 삽입 용량이 줄어든다.
본 발명은 종래의 문제점을 해결하기 위한 것으로, 높은 삽입 용량과 지각적 투명성을 만족하기 위해 영상의 인접 픽셀들 간의 높은 유사성 특징을 이용하여, 즉, 영상의 인접한 픽셀들 간의 차이 값 히스토그램을 수정하여 메시지를 은닉하는 가역 워터마크 삽입 방법 및 원본 영상 복원 방법을 제공하고, 오류 예측 보정을 이용하여 오버/언더플로우 및 흰 바탕에 검은 반점이 섞인(salt-and-pepper) 잡음을 방지하는 방법을 제공함에 그 목적이 있다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 가역 워터마크 삽입 방법은 (i) 원본 영상에서 최소 밝기값 및 최대 밝기값에 가까운 픽셀들로 이루어진 바운드 영역을 예측하여 백 쉬프팅하는 단계; (ii) 벡터의 제1 값은 상기 바운드 영역이 백 쉬프팅된 영상의 제1 픽셀 값으로 설정하고 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성하는 방식으로 인접 픽셀 간의 차이 값 벡터를 구하는 단계; (iii) 상기 차이 값 벡터로부터 차이 값 히스토그램을 구한 후, 메시지 삽입 공간을 제공하기 위하여 삽입 레벨에 따라 쉬프팅하는 단계; (iv) 상기 쉬프팅된 차이 값 히스토그램을 수정함으로써 워터마크 메시지를 상기 메시지 삽입 공간에 삽입하는 단계; 및 (v) 상기 워터마크 메시지가 삽입된 히스토그램으로부터 상기 워터마크 메시지가 삽입된 최종 영상을 구하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 원본 영상 복원 방법은 (a) 벡터의 제1 값은 워터마크 메시지의 삽입 과정에서 수정되지 않은 영상의 제1 픽셀 값으로 설정하고, 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성하는 방식으로 인접 픽셀 간의 차이 값 벡터를 구하는 단계; (b) 상기 차이 값 벡터를 기초로 하여 워터마크 메시지가 삽입된 영상으로부터 삽입된 워터마크 메시지를 검출하는 단계; (c) 상기 워터마크 메시지가 삽입된 영상으로부터 상기 검출된 삽입된 워터마크 메시지를 제거하는 단계; (d) 삽입 레벨에 따라 쉬프팅된 차이 값 히스토그램을 원 위치로 복귀하는 단계; (e) 복원된 앞 픽셀과 복원된 차이 값 벡터를 이용하여 최소 밝기값 및 최대 밝기값에 가까운 픽셀들로 이루어진 바운드 영역이 백 쉬프팅된 영상을 복원하는 단계; 및 (f) 상기 검출된 워터마크 메시지로부터 분리되는 백 쉬프팅 맵을 참조하여 상기 복원된 영상의 바운드 영역을 원래의 위치로 쉬프트시켜서 원본 영상으로 복원하는 단계를 포함하는 것을 특징으로 한다.
본 발명에서는 영상 콘텐츠에 메시지를 은닉하기 위하여 차이 값 히스토그램을 수정하는 효과적인 가역 영상 워터마킹 알고리즘을 제안하였다. 높은 삽입 용량과 지각적 투명성을 얻기 위하여 인접한 픽셀 간의 공간적 유사도 특징을 이용하였다. 또한, 오류 예측 보정 기법을 통하여 효과적으로 오버/언더 플로우를 방지할 수 있는 방법을 적용하였다. 백 쉬프팅 기법을 사용하여 기존의 방법들이 흰 바탕에 검은 반점이 섞인(salt-and-pepper) 잡음으로부터 자유롭지 못하다는 한계도 극복하였다. 위치 정보 맵을 사용하였음에도 불구하고 실험을 통하여 제안한 알고리즘이 기존의 가역 워터마킹 방법들보다 삽입 용량 대비 품질 면에서 좋은 성능을 보임을 증명하였다. 본 발명에서 제안한 알고리즘은 의학적/군사적 영상 분석 분야에 사용될 수 있으며, 응용 분야의 요구에 따라 삽입 용량을 6k ~ 227k까지로 조절할 수도 있다. 또한, 콘텐츠의 인증이나 위조 여부를 확인할 수 있는 연성 워터마킹 방법으로도 사용될 수 있다.
도 1은 Lena 영상에 대한 일반 히스토그램을 나타낸 도면,
도 2는 본 발명의 실시예에 따른 Lena 영상에 대한 차이 값 히스토그램을 나타낸 도면,
도 3은 본 발명의 실시예에 따른 차이 값 히스토그램을 얻기 위한 영상의 예를 나타낸 도면,
도 4는 본 발명의 실시예에 따른 8-비트 영상에서 삽입 레벨 1을 위해 바운드 영역을 백 쉬프팅시키는 예를 나타낸 도면,
도 5는 본 발명의 실시예에 따른 차이 값 히스토그램 쉬프팅 및 오류 예측 보정을 이용한 가역 워터마크 삽입 방법을 설명하는 도면,
도 6은 도 5의 가역 영상 워터마크 삽입 방법에서 삽입 레벨 L = 1의 경우, 히스토그램을 수정하여 메시지를 삽입하는 과정의 예를 나타낸 도면,
도 7은 본 발명의 실시예에 따른 삽입되는 메시지의 구조를 나타낸 도면,
도 8은 본 발명의 실시예에 따른 워터마크 검출을 통한 원본 영상 복원 방법을 설명하는 도면,
도 9는 도 8의 원본 영상 복원 방법에서 삽입 레벨 L = 1의 경우, 메시지 검출 및 제거 과정에서의 히스토그램 수정 절차의 예를 설명하는 도면,
도 10은 본 발명의 실시예에 따른 삽입 레벨에 따른 삽입 용량을 나타낸 도면,
도 11은 본 발명의 실시예에 따른 삽입 레벨에 따른 품질을 나타낸 도면,
도 12는 본 발명의 실시예에 따른 삽입 용량에 따른 품질을 나타낸 도면,
도 13 및 도 14는 본 발명의 실시예에 따른 원본 영상과 함께 다수의 삽입 레벨로 메시지가 삽입된 영상들을 나타낸 도면들이다.
도 15는 삽입 용량에 따른 품질 척도에 대하여 기존 알고리즘과 본 발명의 성능 비교를 나타낸 도면들이다.
도 2는 본 발명의 실시예에 따른 Lena 영상에 대한 차이 값 히스토그램을 나타낸 도면,
도 3은 본 발명의 실시예에 따른 차이 값 히스토그램을 얻기 위한 영상의 예를 나타낸 도면,
도 4는 본 발명의 실시예에 따른 8-비트 영상에서 삽입 레벨 1을 위해 바운드 영역을 백 쉬프팅시키는 예를 나타낸 도면,
도 5는 본 발명의 실시예에 따른 차이 값 히스토그램 쉬프팅 및 오류 예측 보정을 이용한 가역 워터마크 삽입 방법을 설명하는 도면,
도 6은 도 5의 가역 영상 워터마크 삽입 방법에서 삽입 레벨 L = 1의 경우, 히스토그램을 수정하여 메시지를 삽입하는 과정의 예를 나타낸 도면,
도 7은 본 발명의 실시예에 따른 삽입되는 메시지의 구조를 나타낸 도면,
도 8은 본 발명의 실시예에 따른 워터마크 검출을 통한 원본 영상 복원 방법을 설명하는 도면,
도 9는 도 8의 원본 영상 복원 방법에서 삽입 레벨 L = 1의 경우, 메시지 검출 및 제거 과정에서의 히스토그램 수정 절차의 예를 설명하는 도면,
도 10은 본 발명의 실시예에 따른 삽입 레벨에 따른 삽입 용량을 나타낸 도면,
도 11은 본 발명의 실시예에 따른 삽입 레벨에 따른 품질을 나타낸 도면,
도 12는 본 발명의 실시예에 따른 삽입 용량에 따른 품질을 나타낸 도면,
도 13 및 도 14는 본 발명의 실시예에 따른 원본 영상과 함께 다수의 삽입 레벨로 메시지가 삽입된 영상들을 나타낸 도면들이다.
도 15는 삽입 용량에 따른 품질 척도에 대하여 기존 알고리즘과 본 발명의 성능 비교를 나타낸 도면들이다.
가역 워터마킹 기법은 디지털 콘텐츠에 지각적 투명성을 유지하며 워터마크를 삽입한 후에, 이를 아무런 손상 없이 원본 상태로 복원할 수 있는 메시지 은닉 수단이다. 영상의 품질이 매우 중요한 의학, 군사, 원격 측정, 예술 작품 분야에서의 워터마킹 응용은 영상 처리와 분석 과정에서 손상 없는 원본이 필요하기 때문에, 메시지를 검출하고 원본으로 복원하는 과정에서 어떠한 손상이라도 허용될 수 없는 완전한 가역성이 보장되어야 한다. 본 발명에서는 영상 콘텐츠의 차이 값 히스토그램을 수정하는 가역 영상 워터마킹 알고리즘을 제안한다. 높은 삽입 용량과 지각적 투명성을 얻기 위하여 인접한 픽셀 간의 공간적 유사도 특징을 이용하고, 오류 예측 보정 기법을 통하여 오버/언더 플로우를 방지한다. 또한, 여러 영상 데이터들을 이용하여 실험하고 기존 연구들과 성능을 비교함으로써 제안한 알고리즘의 효율성을 입증한다.
본 발명에서는 오버/언더 플로우를 해결하기 위하여 오버/언더 플로우가 발생가능한 픽셀을 예측하여 미리 백 쉬프팅시킨 후에 메시지를 삽입하도록 하는 오류 예측 보정 방법을 활용하였다.
가역 워터마킹 알고리즘
본 발명에서는 원본 영상을 완전하게 복원할 수 있도록 메시지를 삽입하기 위해서 인접 픽셀 간의 차이 값을 이용한 히스토그램 쉬프팅 기법을 이용한다. 또한, 메시지를 삽입할 때 오버/언더 플로우가 발생 가능한 픽셀들에 대해서는 오류 예측 보정을 통하여 오버/언더 플로우가 발생하지 않도록 한다. 먼저, 오류를 예측하여 원본 영상을 보정하고, 보정된 영상에 대해 차이 값 히스토그램을 생성한 후, 히스토그램을 수정하여 메시지를 삽입한다. 메시지 검출 및 영상 복원과정에서는 차이 값 히스토그램을 역으로 쉬프트시키는 방법을 이용하여 수행되며, 오류 예측 정보를 이용하여 최종 영상으로 복원시킨다. 오류 예측 정보는 압축된 맵의 형태로 메시지에 포함되어 삽입된다.
차이 값 히스토그램
데이터를 은닉하기 위하여 히스토그램 쉬프팅 기법을 이용하는 몇몇 알고리즘들이 연구되었는데, 이들은 데이터를 삽입하려는 최대점 주위의 히스토그램을 수정하여 빈 공간을 확보하고 확보된 공간에 최대점을 분산시키는 방법을 사용하여 데이터를 삽입한다. 따라서 높은 데이터 삽입 용량을 얻기 위하여 최대점들을 가능한 많이 확보하려 노력하고 있다. 하지만, 많은 최대점들을 사용할수록 원본 영상의 왜곡이 심해지고 오버헤드 정보의 양과 알고리즘의 복잡도가 증가한다. 반면 차이 값 히스토그램을 이용하면 하나의 최대점 만 사용하더라도 높은 삽입 용량을 얻을 수 있다.
차이 값 히스토그램은 인접한 픽셀과의 차이 값을 이용하여 얻을 수 있다. 도 1 및 도 2에서 보는 바와 같이 Lena 영상에서 일반 히스토그램의 최대값은 2,751인데 반하여 차이 값 히스토그램의 최대값은 22,252인 것과 같이 최대점의 높이 차이가 대단히 큰 것을 알 수 있다. 히스토그램 쉬프팅 기법을 이용한 워터마킹에서 더 높은 최대점을 가진다는 것은 그만큼 높은 삽입 용량을 얻을 수 있다는 것을 의미하므로, 차이 값 히스토그램을 이용하는 것이 더 유리함을 알 수 있다. 또한, 일반 히스토그램을 이용한 방법은 데이터 삽입 후 최대점의 위치가 변하기 때문에 원래의 최대점의 위치를 기억하기 위한 추가적인 오버헤드가 발생한다. 하지만, 차이 값 히스토그램을 이용한 방법은 인접한 픽셀 간의 변화가 작다는 영상 데이터의 지역성 특징으로 인하여 차이 값들이 0 주변으로 몰려있기 때문에 최대점의 위치를 고정시켜서 처리할 수 있으므로 삽입위치 정보에 대한 오버헤드가 필요하지 않다는 장점을 가진다.
차이 값 히스토그램에서 최대점의 높이는 차이 값을 얻기 위한 방법에 따라 달라진다. 도 3의 단순한 영상의 예를 들어 설명한다. 기존의 알고리즘들은 (1,2), (3,4), (5,6), (7,8)의 쌍에 대하여 차이 값을 계산하고 메시지를 삽입한 후 다시 (2,3), (4,5), (6,7) 쌍에 대하여 계산하기 때문에 지역성이 저하되는 단점이 있다. 이렇게 계산하는 이유는 메시지를 삽입하기 위하여 히스토그램을 수정할 때 현재 위치의 차이 값에 대한 수정분이 다음 이후의 차이 값에도 계속해서 누적되어 반영되는 점을 피하기 위해서이다.
본 발명에서는 기존의 알고리즘과는 달리 (1,2), (2,3), (3,4), (4,5), (5,6)의 순서로 차이 값을 계산하고, 메시지가 삽입된 영상을 만들어 낼 때 원본 영상을 이용하는 방법을 사용하여 차이 값 수정분의 누적을 피하였다. 또한, 메시지를 추출하는 과정에서도 한 픽셀씩 점진적으로 복원하여 완전한 가역성을 얻어내었다.
오류 예측 보정
메시지를 삽입하기 위한 공간을 마련하기 위하여 히스토그램을 쉬프트하면 영상의 최소 밝기값과 최대 밝기값에 가까운 픽셀들에서 오버/언더 플로우가 발생한다. 본 발명에서는 오버/언더 플로우를 방지하기 위하여 최소 밝기값과 최대 밝기값에 가까운 픽셀들을 바운드(Bound) 영역이라 칭하고, 상기 바운드 영역에 포함되는 픽셀들을 예측하여 상기 바운드 영역에서 멀어지도록 백 쉬프팅시킴으로써 오버/언더 플로우를 방지한다. 상기 바운드 영역의 범위는 삽입 레벨에 따라 달라진다.
백 쉬프팅(Back Shifting)된 픽셀들은 맵을 구성하여 위치를 기억하며, 맵 데이터는 압축된 후 삽입할 워터마크 메시지에 포함되어 수신 측에 전송된다. 워터마크 메시지를 삽입할 때는 바운드 영역을 백 쉬프팅시킨 후, 상기 맵과는 무관하게 삽입 과정이 수행되며, 또한 검출을 통한 복원 과정에서도 모든 과정을 마친 후에 맵을 참조하여 픽셀 값을 보정하므로, 삽입 및 검출 과정 중에는 맵을 참조할 필요가 없다. 백 쉬프팅을 통한 오류 예측 방법의 추가적 장점은 기존의 방법이 흰 바탕에 검은 반점이 섞인(salt-and-pepper) 잡음 현상으로부터 완전하게 자유롭지 못하다는 한계를 극복해준다는 것이다. 도 4는 8-비트 영상에서 삽입 레벨 1을 위해 바운드 영역을 백 쉬프팅시키는 예를 나타내는 히스토그램이다.
상기 백 쉬프팅된 픽셀에 대한 정보(맵)는 차후 영상의 복원을 위하여 워터마크의 일부로 삽입된다. 본 발명에서는 이 정보의 용량을 줄이기 위하여 무손실 영상 압축에서 좋은 성능을 보여주는 JBIG1 압축 기법을 이용하였다. JBIG1 압축은 팩시밀리 응용과 같은 bi-레벨 영상에서 더 좋은 성능을 보여주는데 이를 위한 표준이 ITU-T T.85 서브 셋이다. 본 발명에서는 JBIG-KIT의 jbig85 라이브러리를 이용하여 구현하였다.
원본 영상과 동일한 크기의 맵은 0 과 1로만 구성되어 있다. 이 맵을 압축하기 위하여 바이트 단위로 구성된 맵을 비트단위의 맵으로 변환하고, 다시 jbig85 압축과정을 거치게 된다. 예를 들면, 8-비트 512ㅧ512 영상의 크기는 262,144 바이트이고, 이 영상에 대한 비트단위의 맵은 32,768 바이트 크기로 변환되며 다시 jbig85 압축을 수행하면 삽입 레벨에 따라 달라지지만, 실험에서 사용한 영상들의 경우 31~380 바이트로 압축되어 평균 99.4 % 의 높은 압축 효율을 보였다.
워터마크 삽입 알고리즘
메시지는 차이 값 히스토그램을 수정하여 삽입하게 되며, 삽입되는 메시지는 균등 분포로 가정한다. 삽입되는 메시지의 용량 및 워터마크 영상의 품질은 응용분야의 요구에 따라 삽입 레벨 L로 조절한다. 메시지 삽입은 다음 5개 단계의 과정을 거치게 되며, 도 5는 본 발명의 실시예에 따른 차이 값 히스토그램 쉬프팅 및 오류 예측 보정을 이용한 가역 워터마크 삽입 방법을 설명하는 도면이다.
단계 0: 원본 영상을 I에 저장한다. 본 발명에서는 2 차원인 영상을 1 차원 배열에 저장하여 처리한다.
단계 1: 상기 원본 영상에서 오버/언더 플로우가 발생할 수 있는 바운드 영역을 예측하여 백 쉬프팅한다. 바운드 영역의 크기는 삽입 레벨 L에 따라 달라지며, 픽셀의 최소 밝기값과 최대 밝기값에서 각각 L 크기 만큼씩이 해당된다. 백 쉬프팅된 픽셀들의 위치는 원본 영상과 동일한 크기의 백 쉬프팅 맵 MAP(i)을 구성하여 저장하는데, 백 쉬프팅되었으면 1, 아니면 0으로 표시하며 다음 수학식 1로 구해진다.
여기서, MAP(i)은 백 쉬프팅 맵이고, M 및 N은 각각 영상의 가로 및 세로 크기이고, L은 삽입레벨이다.
상기 원본 영상으로부터 바운드 영역이 백 쉬프팅된 영상은 다음 수학식 2를 통하여 얻어진다.
여기서, I는 상기 원본 영상이고, Is는 상기 바운드 영역이 백 쉬프팅된 영상이고, L은 상기 삽입 레벨이다.
단계 2: 상기 바운드 영역이 백 쉬프팅된 영상으로부터 차이 값 벡터 D를 구한다. 벡터의 제1 값은 영상의 제1 픽셀 값으로 설정되고, 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성된다.
여기서, D(i)는 차이 값 벡터이고, Is는 상기 바운드 영역이 백 쉬프팅된 영상이고, M 및 N은 각각 영상의 가로 및 세로 크기이다.
단계 3: 상기 차이 값 벡터로부터 차이 값 히스토그램 H을 구한 다음, 메시지 삽입 공간을 제공하기 위하여 삽입 레벨에 따라 다음 수학식 4와 같이 히스토그램을 쉬프트시켜 쉬프팅된 히스토그램을 얻는다.
여기서, Hs는 쉬프팅된 히스토그램을 나타낸다.
상기 히스토그램 쉬프팅은 다음 수학식 5와 같이 차이 값 벡터를 수정하여 이루어진다.
여기서, Ds는 제1 수정된 차이 값 벡터이다.
단계 4: 상기 쉬프팅된 히스토그램 Hs을 수정하여 워터마크 메시지 w(n)을 상기 메시지 삽입 공간에 삽입하는 작업은 다음 수학식 6과 같이 차이 값 벡터를 수정함으로써 이루어진다.
여기서, Dsw는 수정된 차이 값 벡터이고, w(n)는 워터마크 메시지이다.
단계 5: 상기 워터마크 메시지가 삽입된 수정된 히스토그램으로부터 메시지가 삽입된 최종 영상을 구하는 절차는 다음 수학식 7을 통하여 이루어진다.
여기서, Isw는 상기 워터마크 메시지가 삽입된 최종 영상이다.
상기 차이 값 벡터는 메시지가 삽입되어 쉬프트가 되어있는 상태이기 때문에 차이 값 벡터만을 이용하여 영상을 만들게 되면 앞 픽셀들의 쉬프트된 누적분의 영향으로 올바른 영상을 얻을 수 없음을 주의해야 한다.
삽입 레벨 L = 1에서 히스토그램을 수정하여 메시지를 삽입하는 과정의 예를 도 6에 나타내었다. 설명을 위해 도 6c 및 도 6d는 각각 별도로 나타내었지만, 한 번의 차이 값 벡터 스캔 과정을 거치며 수행된다. 삽입 과정이 완료된 히스토그램에는 -1 공간이 비워져 있는데, 이는 영상을 복원하는 측에서 공격으로 인한 영상의 훼손 여부를 쉽게 확인하기 위함이다. 만일 히스토그램에서 -1 에 해당하는 빈도가 하나라도 나타나게 되면 나머지의 복원 과정을 거치지 않고도 영상이 훼손되었음을 빠르게 확인할 수 있게 된다.
본 발명에 따른 방법은 메시지가 은닉된 영상과 함께 몇 가지의 오버헤드 정보를 같이 수신 측에 전달해야 한다. 수신 측에서 복원을 위해 필요한 추가적인 정보로는 삽입 레벨 L, 맵의 크기, 및 맵 데이터이다. 상기 삽입 레벨 L은 수신 측과 공유된 비밀키를 이용하여 선택된 임의의 픽셀의 최하위비트(least significant bit; LSB)로 숨겨진다. 맵 데이터의 크기를 줄이기 위하여 상기한 JBIG1 T.85 방법을 사용하여 압축하였으며, 삽입 레벨 L을 제외한 오버헤드는 메시지의 앞 부분에 위치하여 삽입된다. 삽입되는 메시지의 구조는 도 7과 같다.
이하, 본 발명의 실시예에 따른 워터마크 검출을 통한 원본 영상 복원 방법을 도 8 및 도 9를 참조하여 설명한다. 도 8은 본 발명의 실시예에 따른 워터마크 검출을 통한 원본 영상 복원 방법을 설명하는 도면이고, 도 9는 도 8의 원본 영상 복원 방법에서 메시지 검출 및 제거 과정에서의 히스토그램 수정 절차를 설명하는 도면이다.
삽입된 메시지를 검출하기 위하여 수신 측에서는 다음 6개 단계의 과정을 거쳐 영상을 복원하게 된다. 차이 값 히스토그램의 특성상 픽셀을 복원하기 위해서는 앞 픽셀뿐만 아니라 앞 픽셀과의 차이 값 또한 같이 복원해야 하므로, 복원 과정은 하나의 단계씩 완료되는 것이 아니라 1 ~ 5개 단계의 과정을 한 픽셀씩 반복하며 수행하여야 함에 주의해야 한다. 히스토그램의 -1 공간은 영상의 훼손 여부를 인증하기 위한 방법이므로, 복원 과정 중 -1의 차이 값이 나타나면 나머지 과정을 생략하고 복원을 중단한다. 수신 측은 미리 공유된 비밀키를 이용하여 LSB로부터 삽입 레벨 L 을 먼저, 알아내고 나머지 과정을 진행한다.
단계 0: 워터마크 메시지가 삽입된 영상을 Isw에 저장하며, 삽입 과정에서와 마찬가지로 1 차원 배열에 저장하여 관리한다. 비밀키를 이용하여 LSB에 숨겨진 삽입 레벨 L 값을 알아낸다.
단계 1 : 벡터의 제1 값은 워터마크 메시지의 삽입 과정에서 수정되지 않은 제1 픽셀 값으로 설정하고, 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성하는 방식으로 인접 픽셀 간의 차이 값 벡터를 구한다. 복원된 영상인 Is의 첫 번째 값을 의미하는 Is(i)는 삽입 과정에서 수정되지 않은 픽셀 값인 Isw(0)의 값으로 결정된다.
여기서, Dsw는 메시지가 삽입된 영상의 차이 값 벡터이고, Is는 메시지를 제거한 백 쉬프팅된 상태의 복원 영상이고, Isw는 상기 워터마크 메시지가 삽입된 영상이고, M 및 N은 각각 영상의 가로 및 세로 크기이다.
단계 2: 상기 차이 값 벡터 Dsw(i)을 이용하여 워터마크 메시지가 삽입된 영상에 삽입된 워터마크 메시지를 수학식 9를 이용하여 검출한다. 워터마크 메시지가 삽입된 공간이 아니면 다음 단계로 넘어간다.
여기서, w(n)는 검출된 워터마크 메시지이고, L은 삽입 레벨이고, Dsw는 메시지가 삽입된 영상의 차이 값 벡터이다.
단계 3: 삽입된 메시지를 검출하였으면 다음 수학식 10을 이용하여 상기 워터마크 메시지가 삽입된 영상으로부터 상기 검출된 삽입된 워터마크 메시지를 제거한다. 메시지가 삽입된 공간이 아니면 다음 단계로 넘어간다.
상기 Ds는 제1 수정된 차이 값 벡터이다.
단계 4: 메시지를 삽입하기 위한 공간을 마련하기 위하여 삽입 레벨 L에 따라 쉬프트하였던 차이 값 히스토그램을 다음 수학식 11과 같이 원 위치로 복구시킨다.
여기서, H는 복귀된 차이 값 히스토그램이고, Hs는 쉬프팅된 히스토그램이다.
이 과정은 다음 수학식 12와 같이 차이 값 벡터를 수정함으로써 수행된다.
여기서, D는 최종 복원된 차이 값 벡터이고 Ds는 제1 수정된 차이 값 벡터이다.
단계 5: 복원된 앞 픽셀과 복원된 차이 값을 이용하여 바운드 영역이 백 쉬프팅된 원 영상을 복원한다. 상기 원 영상은 다음 수학식 13으로 표현된다.
여기서 Is는 상기 바운드 영역이 백 쉬프팅된 상태로 복원된 영상이고, Isw는 상기 워터마크 메시지가 삽입된 영상이고, 상기 L은 삽입 레벨이다.
단계 6: 상기 검출된 워터마크 메시지로부터 분리되는 백 쉬프팅 맵 MAP을 참조하여 다음 수학식 14에 따라 상기 복원된 영상의 바운드 영역을 원래의 위치로 쉬프트시켜서 최종 원본 영상으로 복원한다.
여기서, Ir(i)는 복원된 원본 영상이다.
상기한 바와 같이, 기존의 알고리즘들은 모든 픽셀에 대하여 한 단계씩 완료하며 병렬적으로 복원할 수 있지만, 본 발명에서 사용한 차이 값 계산 방법은 (1,2), (2,3), (3,4), (4,5)의 순서이기 때문에 영상을 복원하려면 현재의 픽셀이 완전하게 복원되어야 다음 픽셀을 복원할 수 있다. 따라서 한 픽셀씩 차이 값을 계산하면서 점진적(Progressively)으로 복원하여야하므로 단계 1 ~ 5를 한 픽셀마다 반복 수행해야 한다. 메시지를 복원하는 과정에서 히스토그램이 수정되는 과정을 도 9에 나타내었다. 워터마크 메시지의 삽입 시와 마찬가지로 도 9b 및 도 9c는 이해를 돕기 위하여 각각 별도로 나타내었지만, 한 번의 차이 값 벡터 스캔 과정을 거치며 수행된다.
실험 및 성능 평가
본 발명에 따른 실험에 사용된 영상은 USC-SIPI 영상 데이터베이스의 8-Bit 회색조 512ㅧ512 영상 7개이며 도 13 및 도 14에 나타내었다. 삽입 레벨 L은 0 ~ 9 까지에 대하여 실험하였으며 삽입되는 메시지의 내용은 0 과 1 이 고르게 분포하도록 C 언어의 rand() 함수를 이용하였다. 도 7에서 메시지에 포함되는 오버헤드 정보는 맵의 크기 정보가 32 비트(4 바이트)이며, 압축된 맵 데이터는 삽입 레벨에 따라 달라진다. 삽입 레벨 L은 공유된 비밀키에 의해 LSB를 선택하여 삽입되는 방식이므로 영상에 수정을 가하지 않기 때문에 오버헤드 정보에 포함되지 않는다. 표 1에 실험을 통하여 확인한 압축된 맵의 크기를 나타내었다. O 혹은 U 값은 바운드 백 쉬프팅 기법을 적용하지 않았을 때 실제로 발생한 오버/언더 플로우 개수이며, B는 삽입 레벨에 따라 오류를 예측하여 백 쉬프팅한 바운드 영역의 픽셀 개수이다. 32,768 바이트 크기의 맵을 JBIG1 T.85 기법으로 압축한 크기를 바이트 단위로 S 에 나타내었다. 표 1에 언급하지 않은 Lena, Airplane, Tank 영상은 오버/언더 플로우가 발생하지 않았기 때문에 맵 데이터가 메시지에 삽입되지 않는다. 성능평가를 위해 다음에서의 모든 실험 결과들은 삽입 가능 용량에서 오버헤드의 용량을 차감한 유효 삽입 용량으로 계산되었다.
실험 결과
본 발명에서 실험한 7개의 영상에 대하여 0 ~ 9의 삽입 레벨로 메시지를 삽입한 결과를 표 2 및 표 3에 나타내었다. 유효삽입 용량은 오버헤드 정보를 차감한 용량이며, 영상의 품질은 다음 수학식 15 및 16으로 계산되었다.
여기서, M 및 N은 각각 영상의 가로 및 세로 크기이며, p(i,j)는 원본 영상의 픽셀 값, p'(i,j)는 워터마크가 삽입된 영상의 픽셀 값이고, n은 한 픽셀을 표현할 때 필요한 비트의 수이다.
도 10은 실험 결과를 삽입 레벨에 대하여 삽입 용량(bpp)을 그래프로 나타낸 것이고, 도 11은 삽입 레벨에 따른 품질(dB)을 나타낸 것이다. 그리고 도 12에는 실험 결과를 바탕으로 다양한 삽입 용량(bpp)에 따른 품질(dB)을 나타내었다. 이 결과를 통해 알 수 있듯이, 본 발명에 따른 워터마킹 알고리즘의 성능은 영상의 특성에 따라 달라진다. 예를 들면, Airplane 이나 Boat 처럼 저주파 성분을 더 많이 포함하고 있는 영상이 품질을 좋게 유지하면서도 높은 삽입 용량을 얻는다는 것을 알 수 있다. 도 13 및 도 14는 원본 영상과 함께 다수의 삽입 레벨로 메시지가 삽입된 영상을 보여준다. 그림에서 알 수 있듯이 적절한 삽입 용량을 보장하면서도 메시지가 삽입된 영상의 시각적 품질이 만족할만한 수준의 결과를 얻을 수 있다.
성능 비교
표 4에 Lena, Baboon, Boat, Airplane 영상에 대하여 기존의 히스토그램 기반 알고리즘들과의 성능 비교를 요약하였다. Tsai et al.의 실험에서는 블록의 크기를 4x4로 설정하였으며, Kim et al.의 실험에서는 변수를 각각 3, 3, 0으로 설정하였다. Tsai et al.의 결과에서 "N/A(Not Applicable)"은 Baboon 영상이 고주파 성분이 많이 포함되어 있는 특성에 기인한 것으로, 메시지를 삽입할 수 있는 충분한 Peak가 없어서 유효 삽입 용량이 (-) 결과를 보이기 때문에 적용할 수 없다는 뜻이다. 표에 나열된 알고리즘들의 성능을 보면 워터마크가 삽입된 영상의 품질인 PSNR은 약 48 dB로 대동소이하지만, 유효 삽입 용량인 Payload에서 많은 차이를 보인다. 실험 영상에 대하여 본 발명에서 제안한 알고리즘이 기존의 방법보다 10 % ~ 344 % 의 성능 향상을 얻을 수 있었다.
도 15는 삽입 용량(bpp)에 따른 품질(dB)에 대하여 여러 가지 다른 형태의 기존 가역 워터마킹 알고리즘과의 성능 비교를 보여준다. 성능 비교에 사용된 알고리즘은 [배경기술]의 첫 번째 분류에 속하는 영상 압축 방식인 RS 방법과 G-LSB 방법, 세 번째 분류에 속하는 차이 값 확장 방법인 DE 방법, 그리고 네 번째 분류에 속하는 히스토그램 수정 방법인 Ni et al. 방법과 Kim et al. 방법이다. 삽입 용량은 오버헤드 정보를 차감한 유효 삽입 용량으로 계산됐다. DE 방법과 G-LSB 방법이 영상의 품질에 따른 삽입 용량이 상대적으로 높게 나타났음에 비하여 RS 방법은 다른 방법들에 비해 낮은 삽입 용량을 가진다. 히스토그램 수정 방법인 Ni et al.의 방법은 48.2 dB의 고정된 품질 값을 보이지만 각 영상별로 삽입 용량은 거의 차이 나지 않는다. 실험 결과들로 볼 때 본 발명에서 제안한 알고리즘이 기존의 다른 가역 워터마킹 방법들에 비하여 낮은 왜곡을 유지하면서 높은 삽입 용량을 얻을 수 있음을 확인할 수 있다.
Claims (17)
- (i) 원본 영상에서 최소 밝기값 및 최대 밝기값에 가까운 픽셀들로 이루어진 바운드 영역을 예측하여 백 쉬프팅하는 단계;
(ii) 벡터의 제1 값은 상기 바운드 영역이 백 쉬프팅된 영상의 제1 픽셀 값으로 설정하고 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성하는 방식으로 인접 픽셀 간의 차이 값 벡터를 구하는 단계;
(iii) 상기 차이 값 벡터로부터 차이 값 히스토그램을 구한 후, 메시지 삽입 공간을 형성하기 위하여 삽입 레벨에 따라 쉬프팅하는 단계;
(iv) 상기 쉬프팅된 차이 값 히스토그램을 수정함으로써 워터마크 메시지를 상기 메시지 삽입 공간에 삽입하는 단계; 및
(v) 상기 워터마크 메시지가 삽입된 히스토그램으로부터 상기 워터마크 메시지가 삽입된 최종 영상을 구하는 단계를 포함하는 차이값 히스토그램을 이용한 가역 워터마크 삽입 방법. - 제1 항 내지 제7 항 중의 어느 한 항에 있어서, 상기 워터마크 메시지가 삽입된 영상과 함께 상기 삽입 레벨, 상기 맵, 및 상기 맵의 크기로 이루어진 오버헤드 정보를 수신 측에 전달하는 가역 워터마크 삽입 방법.
- (a) 벡터의 제1 값은 워터마크 메시지의 삽입 과정에서 수정되지 않은 제1 픽셀 값으로 설정하고, 상기 벡터의 나머지 값들은 바로 앞 픽셀과의 차이 값으로 구성하는 방식으로 인접 픽셀 간의 차이 값 벡터를 구하는 단계;
(b) 상기 차이 값 벡터를 기초로 하여 워터마크 메시지가 삽입된 영상에 삽입된 상기 워터마크 메시지를 검출하는 단계;
(c) 상기 워터마크 메시지가 삽입된 영상으로부터 상기 검출된 삽입된 워터마크 메시지를 제거하는 단계;
(d) 삽입 레벨에 따라 쉬프팅된 차이 값 히스토그램을 원 위치로 복귀하는 단계;
(e) 복원된 앞 픽셀과 복원된 차이 값 벡터를 이용하여 최소 밝기값 및 최대 밝기값에 가까운 픽셀들로 이루어진 바운드 영역이 백 쉬프팅된 영상을 복원하는 단계; 및
(f) 상기 검출된 워터마크 메시지로부터 분리되는 백 쉬프팅 맵을 참조하여 상기 복원된 영상의 바운드 영역을 원래의 위치로 쉬프트시켜서 원본 영상으로 복원하는 단계를 포함하는 차이값 히스토그램을 이용한 원본 영상 복원 방법. - 제9 항에 있어서, 단계 (d)에서 상기 쉬프팅된 차이 값 히스토그램의 원위치로의 복귀는 수학식: 을 이용하여 상기 삽입 레벨에 따라 제1 수정된 차이 값 벡터를 차이 값 벡터로 수정함으로써 이루어지며, 상기 원위치로 복귀한 차이 값 히스토그램은 수학식:로 구해지며, 여기서, 상기 L은 삽입 레벨이고, 상기 D는 최종 복원된 차이 값 벡터이고, 상기 Ds는 제1 수정된 차이 값 벡터이고, 상기 Hs는 쉬프팅된 히스토그램이고, 상기 H는 복귀된 차이 값 히스토그램이고, 상기 M 및 N은 각각 영상의 가로 및 세로 크기인 원본 영상 복원 방법.
- 제9 항에 있어서, 상기 워터마크 메시지가 삽입된 영상의 한 픽셀마다 단계 (a) 내지 (e)를 반복 수행하는 원본 영상 복원 방법.
- 제9 항 내지 제16 항 중의 어느 한 항에 있어서, 송신 측과 공유된 비밀 키를 이용하여 선택된 픽셀의 최하위 비트에 숨겨진 상기 삽입 레벨을 확인하는 단계를 더 포함하는 원본 영상 복원 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100009927A KR101135472B1 (ko) | 2010-02-03 | 2010-02-03 | 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100009927A KR101135472B1 (ko) | 2010-02-03 | 2010-02-03 | 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110090247A true KR20110090247A (ko) | 2011-08-10 |
KR101135472B1 KR101135472B1 (ko) | 2012-04-19 |
Family
ID=44928061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100009927A KR101135472B1 (ko) | 2010-02-03 | 2010-02-03 | 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101135472B1 (ko) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101220147B1 (ko) * | 2011-03-31 | 2013-01-11 | 금오공과대학교 산학협력단 | 행열 교차 스캐닝 방식 차이값 히스토그램 기반 가역 워터 마킹 방법 |
KR101445932B1 (ko) * | 2012-10-29 | 2014-10-07 | 고려대학교 산학협력단 | 광고 관리 방법 |
CN104919489A (zh) * | 2012-10-04 | 2015-09-16 | 萨基姆防卫安全 | 在信号中嵌入数字水印 |
KR101875401B1 (ko) * | 2016-08-24 | 2018-07-06 | 삼육대학교산학협력단 | 공간적 지역성과 표면 특성에 기반한 픽셀 값 예측기법을 적용한 가역 데이터 은닉 방법, 가역 워터마킹 방법, 가역 데이터 은닉 장치 및 가역 워터마킹 장치 |
CN110351450A (zh) * | 2019-07-16 | 2019-10-18 | 广东工业大学 | 基于纵横交叉算法进行多直方图选点的可逆信息隐藏方法 |
KR102274699B1 (ko) * | 2019-12-30 | 2021-07-07 | 한국기술교육대학교 산학협력단 | 영상 콘텐츠를 통한 가시광 통신 기반 히든 메시지 전달 방법 및 그 시스템 |
CN116468594A (zh) * | 2023-05-09 | 2023-07-21 | 淮阴工学院 | 基于菱形像素对互补嵌入的可逆水印算法 |
CN116823582A (zh) * | 2023-06-15 | 2023-09-29 | 淮阴工学院 | 基于多峰值直方图平移的可逆图像水印算法 |
CN116861380A (zh) * | 2023-09-04 | 2023-10-10 | 信智慧通科技(北京)有限公司 | 一种基于数据库的水印处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI0417353A (pt) * | 2003-12-05 | 2007-07-31 | New Jersey Tech Inst | sistema e método para ocultar dados reversìveis robustos e recuperação de dados no domìnio espacial |
KR100768669B1 (ko) * | 2005-11-28 | 2007-10-23 | 김종남 | 움직임 벡터의 최소변경 기법을 이용한 블라인드 비디오워터마킹의 방법 |
KR20080022255A (ko) * | 2006-09-06 | 2008-03-11 | 주식회사 마크애니 | 히스토그램 변형에 기반한 디지털 리버서블 워터마크의삽입, 검출 및 원본 영상 복원 방법 |
-
2010
- 2010-02-03 KR KR1020100009927A patent/KR101135472B1/ko active IP Right Grant
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101220147B1 (ko) * | 2011-03-31 | 2013-01-11 | 금오공과대학교 산학협력단 | 행열 교차 스캐닝 방식 차이값 히스토그램 기반 가역 워터 마킹 방법 |
CN104919489A (zh) * | 2012-10-04 | 2015-09-16 | 萨基姆防卫安全 | 在信号中嵌入数字水印 |
CN104919489B (zh) * | 2012-10-04 | 2018-07-10 | 萨基姆防卫安全 | 在信号中嵌入数字水印 |
KR101445932B1 (ko) * | 2012-10-29 | 2014-10-07 | 고려대학교 산학협력단 | 광고 관리 방법 |
KR101875401B1 (ko) * | 2016-08-24 | 2018-07-06 | 삼육대학교산학협력단 | 공간적 지역성과 표면 특성에 기반한 픽셀 값 예측기법을 적용한 가역 데이터 은닉 방법, 가역 워터마킹 방법, 가역 데이터 은닉 장치 및 가역 워터마킹 장치 |
CN110351450A (zh) * | 2019-07-16 | 2019-10-18 | 广东工业大学 | 基于纵横交叉算法进行多直方图选点的可逆信息隐藏方法 |
CN110351450B (zh) * | 2019-07-16 | 2022-01-11 | 广东工业大学 | 基于纵横交叉算法进行多直方图选点的可逆信息隐藏方法 |
KR102274699B1 (ko) * | 2019-12-30 | 2021-07-07 | 한국기술교육대학교 산학협력단 | 영상 콘텐츠를 통한 가시광 통신 기반 히든 메시지 전달 방법 및 그 시스템 |
CN116468594A (zh) * | 2023-05-09 | 2023-07-21 | 淮阴工学院 | 基于菱形像素对互补嵌入的可逆水印算法 |
CN116823582A (zh) * | 2023-06-15 | 2023-09-29 | 淮阴工学院 | 基于多峰值直方图平移的可逆图像水印算法 |
CN116861380A (zh) * | 2023-09-04 | 2023-10-10 | 信智慧通科技(北京)有限公司 | 一种基于数据库的水印处理方法及装置 |
CN116861380B (zh) * | 2023-09-04 | 2023-11-03 | 信智慧通科技(北京)有限公司 | 一种基于数据库的水印处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR101135472B1 (ko) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101135472B1 (ko) | 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법 | |
Kim et al. | Reversible data hiding exploiting spatial correlation between sub-sampled images | |
Alattar | Reversible watermark using difference expansion of quads | |
Haghighi et al. | TRLH: Fragile and blind dual watermarking for image tamper detection and self-recovery based on lifting wavelet transform and halftoning technique | |
Caldelli et al. | Reversible watermarking techniques: An overview and a classification | |
Goljan et al. | Distortion-free data embedding for images | |
Chang et al. | A reversible data hiding scheme using complementary embedding strategy | |
Fridrich et al. | Steganalysis based on JPEG compatibility | |
Tian | Wavelet-based reversible watermarking for authentication | |
Shi | Reversible data hiding | |
Chamlawi et al. | Digital image authentication and recovery: employing integer transform based information embedding and extraction | |
KR101361108B1 (ko) | Dibr 3d영상 저작권 보호를 위한 워터마킹 시스템 및 그 방법 | |
KR101003813B1 (ko) | 정수형 웨이브렛 스펙트럼 확산을 기초로 한 가역적 데이터은닉을 위한 시스템 및 방법 | |
US20080267520A1 (en) | Method of image authentication and restoration | |
JP2000138818A (ja) | ロバストなデジタル電子透かし入れ信号の挿入方法および電子透かし検出方法 | |
Watni et al. | A comparative evaluation of jpeg steganography | |
KR101200345B1 (ko) | 점진적 차이값 히스토그램 기반의 가역 워터마킹을 이용한 블록단위 영상 인증방법 | |
Al-Jaber et al. | Reversible watermarking using modified difference expansion | |
KR100500144B1 (ko) | 디지털 영상 인증을 위한 디지털 워터마크의 삽입 및추출방법 | |
Bassali et al. | Compression tolerant watermarking for image verification | |
Gao et al. | Reversible image authentication based on combination of reversible and LSB algorithm | |
Jin et al. | Image watermark using visual model based discrete wavelet transform | |
Lee | Reversible watermarking exploiting differential histogram modification with error pre-compensation | |
Al-Fahoum et al. | Reversible data hiding using contrast enhancement approach | |
D’Angelo et al. | Watermark-based authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160826 Year of fee payment: 5 |