KR20060112682A - 공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법 - Google Patents

공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법 Download PDF

Info

Publication number
KR20060112682A
KR20060112682A KR1020067013563A KR20067013563A KR20060112682A KR 20060112682 A KR20060112682 A KR 20060112682A KR 1020067013563 A KR1020067013563 A KR 1020067013563A KR 20067013563 A KR20067013563 A KR 20067013563A KR 20060112682 A KR20060112682 A KR 20060112682A
Authority
KR
South Korea
Prior art keywords
block
value
pixel
pixels
subsets
Prior art date
Application number
KR1020067013563A
Other languages
English (en)
Other versions
KR100970990B1 (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 뉴저지 인스티튜트 오브 테크놀로지
Publication of KR20060112682A publication Critical patent/KR20060112682A/ko
Application granted granted Critical
Publication of KR100970990B1 publication Critical patent/KR100970990B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32208Spatial or amplitude domain methods involving changing the magnitude of selected pixels, e.g. overlay of information or super-imposition
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32251Spatial or amplitude domain methods in multilevel data, e.g. greyscale or continuous tone data
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4405Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • 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
    • 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
    • H04N2005/91307Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3281Encryption; Ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3284Processing of the additional information for error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

이미지의 블록 내에서 적어도 2 개의 픽셀들의 부분집합들을 식별하는 단계; 상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하는 단계; 상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한, 여러 개의 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 상기 차이 값을 생성하는 단계; 및 상기 적어도 2개의 부분집합들 모두보다 작은 부분집합에서 픽셀들의 픽셀 값을 수정하여, 상기 블록 내에 비트 값을 임베드시키도록 하는 단계를 포함하는 방법.
데이터 숨김(data hiding), 데이터 복구(Data recovery), 강건성(robustness), 이미지, 정수 웨이블릿 변환(integer wavelet transform), 임베드(embed), 커버 이미지(cover image), 마킹(marking), 워터마킹(watermarking)

Description

공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터 복구를 수행하는 시스템 및 방법{System and Method for robust reversible data hiding and data recovery in the spatial domaim}
데이터 숨김 또는 데이터 은닉은, 이미지 데이터와 같은 커버 미디어에 유용한 데이터(정보)를 임베드시키는 프로세스이다. 그 내부에 임베드된 데이터를 갖는 커버 미디어는, "마크된 미디어"로 지칭된다. 데이터 숨김은, 식별, 주석, 복사 방지, 지문인식, 및 인증 목적으로 사용될 수 있다. 이러한 애플리케이션에 있어서, 상기 숨겨진 데이터 및 상기 커버 미디어는, 긴밀하게 관련되어질 수 있다. 이러한 종류의 데이터 임베드는, 종종 워터마킹 또는 보다 일반적으로 "마킹"으로 언급된다. 지각적으로 투명한 것이 상기 숨겨진 데이터에 바람직하다. 그렇지 않다면, 상기 마크된 미디어는, 가능한 한 상기 커버 미디어와 유사해야만 한다.
커버 미디어는, 일반적으로 임베드된 데이터의 존재로 인해 약간의 왜곡이 발생할 수 있다. 게다가, 상기 임베드된 데이터가 삭제된 후에라도, 상기 데이터를 임베드시키기 전의 상태로 커버 미디어를 복원시키는 것은 일반적으로 어렵다. 특히, 커버 미디어의 영구 왜곡은, 상기 숨겨진 데이터가 추출된 후에도 여전히 잔존하게 되는 것이 일반적이다. 왜곡의 원인은, 반올림 오류, 버림 오류, 및 양자화 오류를 포함한다. 이러한 왜곡은, 미디어의 분석 및 법의 시행과 같은 어떤 애플리 케이션에 있어서, 상기 숨겨진 데이터를 회수하자마자 상기 커버 미디어를 임베드 전 상태로 정확하게 복원하는 것이 중요하기 때문에 문제가 된다. 이러한 요구사항을 만족시키는 마킹 기술들은, 손실 없는 또는 무왜곡으로 지칭된다. 이러한 마킹 기술들은 또한, 가역 마킹 기술들로 알려져 있고, 일반적으로 원본 미디어 데이터가 정확하게 복원되어야 하는 애플리케이션에 적합하다.
최근에는, 몇몇의 손실 없는 마킹 기술들이 문헌에서 보고되고 있으며 그 첫번째 방법은 이미지 공간 도메인에서 실시되는데, C.W.Honsinger, P.Jones, M.Rabbani 및 J.C.Stoffel(이하에서는 "Honsinger"라 한다)에 의하여 출원되고 2001년 8월 21일에 등록된 미국특허 6,278,791호 "Lossless Recovery of an Original Image Containing Embedded Data"에서 개시된 내용을 참조문서로써 참조할 수 있다.
다른 공간 도메인 기술은 2001년 1월에 발행된 J. Fridrich, M. Goljan 및 R. Du 저 "Invertible authentication", Proc.SPIE, Security and Watermarking of Multimedia Contents, San Jose, CA(이하 "Fridrich"라 한다)를 참조할 수 있다. 또한 변환 도메인에서 왜곡없는 마킹 기술은 1999년 10월에 발행된 B. Marq 및 F. Deweyand 저 "Trusted headers for medical image", DFG VIII-D II Watermarking Workshop, Erlangen, Germany(이하 "Macq"라 한다)를 참조할 수 있다.
연구에 기초하여, 변환 도메인 방법들은, 일반적으로 512×512×8 이미지에 대략 (250 바이트와 동일한) 2000 비트 데이터만 임베드시킬 수 있다. 여기서, 이러한 방법들은, 일반적으로 이보다 많은 양의 데이터를 임베드시키고자 하는 애플 리케이션에는 적용되지 못한다. 2001년 10월에 발행된 C. De Vleeschouwer, J. F. Delaigle 및 B. Marq 저 "Circular interpretation on histogram for reversible watermarking", IEEE International Multimedia Signal Processing Workshop, Cannes, France, De Vleeschouwer"(이하 "De Vleeschouwer"라 한다)의 345~350 페이지에서 제시된 방법은 고화질 JPEG로 압축하는 경우에 비하여 강건하다는 것 이외의 장점은 존재하지 않으며, 데이터 숨김이라기보다는 인증에 가까워서, 커버 미디어에 임베드되는 데이터의 총량이 제한된다. 이 문서에 개시된 전체 내용은 본 명세서의 참조문서로서 참조할 수 있다.
고임베드율 데이터 숨김에 적합한 첫 번째 손실 없는 마킹 기술은 2001년 4월에 발행된 M. Goljan, J. Fridrich 및 R.Du 저 "Distortion-free data embedding", Proceedings of 4th Information Hiding Workshop, Pittsburgh, PA(이하 "Golijan"이라 한다)에 손실 없는 마킹 기술이 게재되어 있는데, 이는 높은 임베드 속도로 데이터를 숨기는 데에 적합하다. 이 문서에 개시된 전체 내용은 본 명세서의 참조문서로서 참조할 수 있다. "Golijan"에 있어서, 이미지 내의 픽셀들은, 중첩되지 않는 블록들로 분할되고, 각 블록은, 다수의 인접 픽셀들로 이루어진다. 예를 들어, 이 블록은, 4개의 연속 픽셀들을 가지는 수평 블록일 수 있다. 판단 기능은, 3개의 다른 카테고리, 정상, 이상 및 사용할 수 없음(unusable)으로 블록들을 분류하도록 되어 있다. 발명자들은 그룹들의 매끄러움(smoothness)을 획득하는 데 판단 기능을 사용했다.
역작용이 그룹들에 대해 적용될 수 있다. 특히, 역작용은 그레이 레벨 값을 다른 그레이 레벨 값으로 매핑시킬 수 있다. 이 작용은 그레이 레벨 값에 두 번 적용하여 원본 그레이 레벨 값을 생성하기 때문에 역으로 작용 가능하다. 따라서, 본 역작용은 "플리핑(flipping)"으로 지칭된다. 전형적인 이미지들에 있어서 작은 크기로 플리핑하는 것은, 판단 기능의 증가를 가져와서, 보다 많은 정상 그룹 및 보다 적은 이상 그룹의 결과를 가져온다. 이것이 왜곡없는 데이터 숨김을 가능하게 하는 원인이다. 이러한 접근은 커버 데이터의 왜곡없이 데이터를 숨기는 하지만, 이러한 기술을 사용하여 숨겨진 데이터의 양은 어떠한 애플리케이션에 대하여는 여전히 충분치 못하다. Golijan에 따르면, 숨겨지는 데이터 양은 512×512×8 그레이 이미지에 대하여 어림잡아 3,000 비트 내지 24,000 비트의 범위였다. 이러한 방법이 가진 다른 문제는 이미지에 임베드되는 데이터의 양이 증가함에 따라 상기 이미지의 시각적 품질이 손상된다는 데 있다. 예를 들어, PSNR(피크 신호 대 잡음비)은, 35 dB(데시벨)만큼 낮아지고, 원하지 않는 결함이 이미지에 나타날 수 있다.
2002년 12월에 발행된 Guorong Xuan, Jidong Chen, Jiang Jhu, Yun Q.Shi, Zhicheng Ni 및 Wei Su 저 "Distortionless Data Hiding Based on Integer Wavelet Transform", IEEE International Workshop on Multimedia Signal Processing, St. Thomas, US Virgin islands(이하 "Xuan" 이라 한다)에 제시되어 있는 정수 웨이블릿 변환에 기초한 방법은 많은 양의 데이터를 임베드할 수 있는 가역 데이터 숨김 기술을 제안하고 있다. 이 문서는 본 명세서의 참조문서로서 참조될 수 있다. Xuan의 주요 개념은 다음과 같다. 정수 웨이블릿 변환이 원본 이미지에 적용된 후, LH, HL, 및 HH 하위 밴드들의 비트 평면들 내의 이진수 1과 이진 수 0 사이의 관계는 매우 증가된다. 따라서, 이러한 비트 평면 내의 1 및 0은 데이터 임베드에 필요한 많은 저장 공간을 남겨놓으면서 손실 없는 압축될 수 있다. 데이터 임베드 후, 역 정수 웨이블릿 변환은 마크된 이미지를 형성하기 위해 적용된다. 이 기술에서 획득되는 용량은 매우 크다. 그러나, 상기 마크된 이미지의 PSNR은 오버플로우(overflow) 또는 언더플로우(underflow) 상태를 방지하기 위해 적용되는 히스토그램 변형에 의해 높지 않다. 어떤 이미지에 대하여 PSNR은 단지 28 dB이다.
히스토그램 조작에 기초한 하나의 방법은, 최근 개시된 손실 없는 데이터 숨김 기술인데 이것은 이미지의 대부분에 대하여 높은 시각적 품질을 유지하면서(PSNR은 대략 48 dB 이상으로 보장된다), 많은 양의 데이터(512×512×8 그레이 이미지에 대하여 5,000 ~ 80,000 비트)를 임베드할 수 있다. 이는 2003년 5월에 발행된 Z. Ni, Y. Q. Shi, N. Ansari 및 W. Su 저 "Reversible data hiding", IEEE International Symposium on Circuits and Systems, Bangkok, Thailand(이하 "Ni"라 한다)에서 제시되어 있다. 이 문서는 본 명세서의 참조문서로서 참조될 수 있다. 이 문서(Ni)는 본 출원서의 "배경 기술" 부분에 해당하는 종래 기술에 불과하지는 않다.
그러나, 단지 하나의 종래의 손실 없는 데이터 숨김 기술(De Vleeschouwer)은 스테고(stego) 이미지(임베드된 데이터를 포함하는 이미지)에 적용되는 압축에 대하여 강건하다. 특히, Vleeschouwer에 한하여, 스테고 미디어가 압축을 거친 후 숨겨진 데이터가 정확하게 추출될 수 있다. 다른 기존의 기술들에서, 임베드된 데 이터는 스테고 미디어 압축 후 오류 없이 복원될 수 없다.
도 1A 및 1B를 참조하면, De Vleeschouwer 기술은, 압축에는 강건하지만, 모듈로-256 가산을 사용하기 때문에 솔트 앤 페퍼 잡음(salt-and-pepper noise)을 생성한다. 즉, 픽셀 그레이스케일 값이 250(가장 밝음) 및/또는 0(가장 어두움)에 가까워질 때, 모듈로-256(modulo-256) 가산(addition)은 가장 밝은 그레이 값과 가장 어두운 그레이 값들 사이에서 플리핑을 발생시킨다. 이것은 종종 의료 이미지들에서 일어난다. 이러한 종류의 솔트 앤 페퍼 잡음은 많은 애플리케이션들에서 허용될 수 없다. 그 일례가 도 1에 도시되어 있다. 여기서, 도 1A는 원본 의료 이미지가고, 도 1B는 스테고 이미지가다. 이러한 종류의 솔트 앤 페퍼 잡음은, 많은 애플리케이션들에서 허용될 수 없다. 그러므로 이 분야에서는 많은 데이터 양을 커버 미디어에 (원본 커버 미디어가 솔트 앤 페퍼 잡음 없이 유지될 수 있는) 가역적인 방법으로 임베드시키는 방법 및 시스템이 요구된다.
이미지과 같은 커버 매체에 데이터를 임베드시키는 것은, 데이터 숨김뿐만 아니라, 이미지 인증에 대하여 사용될 수 있다. 디지털 서명 알고리즘(Digital Signature Algorothm, DSA) 또는 RSA(Rivest, Shamir, Adleman)과 같은 전통적인 디지털 서명 기술은 데이터 인증에 있어서 효율적이고 안전한 솔루션을 제공하며, 이는 데이터의 무결성 보호 및 부인 방지 모두를 커버한다. 일반적으로 하나의 비트가 변형되더라도 보호된 데이터가 인증받지 못하게 되는데 이는 데이터의 모든 비트들이 중요하기 때문에 매우 유용하다. 예를 들어, 트랜잭션이 온라인으로 이루진다면 교환된 데이터는 지불 금액, 계좌번호, 및 지불인의 이름과 같은 정보를 포 함할 수 있다. 이러한 상황에서, 이러한 정보 중 단 하나의 비트라도 변형된다면, 트랜잭션은 실패할 것이다.
이미지 데이터에 전통적인 디지털 서명 기술을 직접적으로 적용하는 것은, 좋은 이미지 데이터 보호를 제공할 수 있으나, 불합리한 방법이다. 이미지 데이터에 적용되는 이러한 인증은 "약한 인증"으로 지칭된다. 이미지들은 다른 매체 내의 다른 실체들 사이에서 교환되기 때문에, 이미지 트랜스코딩, 신뢰할 수 없는 캐리어 행동들, 및 인코딩과 디코딩의 복수 주기에 의해 야기되는 부수적인 왜곡을 어쩔 수 없이 경험하게 된다. 부수적인 왜곡이 이미지 데이터를 변경하긴 하지만, 사람의 시각에서 볼 때의 이미지의 내용을 변경하지는 않는다. 의식적으로 파괴되지는 않았지만 부수적인 왜곡을 경험하게 된 이미지는, 전통적인 디지털 서명에 기반한 인증 기술을 사용할 때, 인증받지 못한 것으로 취급된다. 따라서, 전통적인 디지털 서명 기술의 약함은, 이미지 데이터에 적용되는 애플리케이션을 제한한다. 따라서, 이러한 분야에서는, 커버 매체의 부수적인 왜곡 앞에서, 임베드된 데이터의 인증 상태를 유지할 수 있는, 이미지과 같은 커버 매체 내에 인증 데이터를 임베드시키는 방법 및 시스템에 대한 요구가 있다.
본 발명의 다양한 양상을 보여줄 목적으로, 본 발명의 바람직한 실시예들을 보여주는 도면들이 도시되어 있으나, 도시된 수단 및 정확한 배치에 한정되는 것은 아니다.
도 1A는 원본 의료 이미지이고 도 1B는, 종래 방법에 따라 생성된 도 1A에 도시된 이미지의 스테고 이미지(임베드된 데이터가 결합된 마크된 이미지)이다.
도 2는 본 발명의 일 실시예에 따른 2개의 부분집합으로 분할된 픽셀들을 갖는 8×8 블록을 도시한 표이다.
도 3은 본 발명의 일 실시예에 따른 블록 차이 값 크기의 범위에 따라 블록 차이 값들의 분포를 도시한 그래프이다.
도 4는 카테고리 1 이미지에 대한 그레이스케일 픽셀 값들의 히스토그램을 도시한 그래프이다. 이 이미지는 본 발명의 일 실시예에 따른 데이터 임베드에 적합하다.
도 5는 본 발명의 일 실시예에 따른 카테고리 1의 경우 1에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 6은 본 발명의 일 실시예에 따른 카테고리 1의 경우 2에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 7은 카테고리 2 이미지에 대한 그레이스케일 픽셀 값들의 히스토그램을 도시한 그래프이다. 이 이미지는 본 발명의 일 실시예에 따른 데이터 임베드에 적합하다.
도 8은 본 발명의 일 실시예에 따른 카테고리 2의 경우 1에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 9는 본 발명의 일 실시예에 따른 카테고리 2의 경우 2에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 10은 본 발명의 일 실시예에 따른 카테고리 2의 경우 3에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 11은 카테고리 3 이미지에 대한 그레이스케일 픽셀 값들의 히스토그램을 도시한 그래프이다. 이 이미지는 본 발명의 일 실시예에 따른 데이터 임베드에 적합하다.
도 12는 카테고리 4 이미지에 대한 그레이스케일 픽셀 값들의 히스토그램을 도시한 그래프이다. 이 이미지는 본 발명의 일 실시예에 따른 데이터 임베딩에 적합하다.
도 13은 본 발명의 일 실시예에 따른 카테고리 4의 경우 1에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 14는 본 발명의 일 실시예에 따른 카테고리 4의 경우 1에 대하여 블록 내에 비트를 임베드시키는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 15는 본 발명의 일 실시예에 따른 데이터 임베드 방법을 도시한 블록 다이어그램이다.
도 16은 본 발명의 일 실시예에 따른 임계값 K의 절대값보다 블록 차이값 α의 절대값이 큰 상황에 대하여, 블록으로부터 하나의 비트를 추출하는 것으로부터 야기된 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 17은 본 발명의 일 실시예에 따른 이미지로부터 데이터를 추출하는 방법을 도시한 블록 다이어그램이다.
도 18A-20A 및 18B-20B은 각각 본 발명의 일 실시예에 따른 방법을 사용하여 마크된 이미지들의 원본 및 마크된 버전들이다. 여기서, 각 경우에서 접미어가 "A"인 도면번호는 원본 이미지이고, 머리글자의 도면번호가 동일하며 접미어가 "B"인 도면 이미지 번호는 해당 원본 이미지의 마크된 버전이다.
도 21은 본 발명의 일 실시예에 따른 방법을 사용하여 마크된 일반적으로 사용되는 512×512×8 그레이스케일 이미지들에 대한 테스트 결과들을 도시한 데이터 표이다.
도 22는 본 발명의 일 실시예에 따른 방법을 사용하여 마크된 CorelDraw™ 데이터베이스 내의 이미지들에 대한 테스트 결과들을 도시한 데이터 표이다.
도 23은 본 발명의 일 실시예에 따른 방법을 사용하여 마크된 8개의 의료 이미지들에 대한 테스트 결과들을 8개의 픽셀들의 블록 크기 및 임베드 레벨 6을 사용하여, 도시한 데이터 표이다.
도 24는 본 발명의 일 실시예에 따른 방법을 사용하여 마크된 8개의 JPEG2000 컬러 테스트 이미지들에 대한 테스트 결과들을 20개의 픽셀들의 블록 크 기 및 임베드 레벨 8을 사용하여 도시한 데이터 표이다.
도 25는 8개의 의료 이미지들에 종래 방법 및 바람직한 실시 방법이 사용된 다양한 블록 크기들 및 임베드 레벨들의 조합에 대한 테스트 결과들을 도시한 데이터 표이다. 여기서 리스트된 이미지 압축에 대한 "강건함"은, 픽셀당 비트 단위(bpp)로 나타낸 최소 보존 비트율이다.
도 26은 종래 방법과 여기에 개시된 바람직한 실시 방법에서 원본 이미지 및 마크된 이미지의 압축에 대한 평균 강건함 및 PSNR(피크 신호 대 잡음비)에 대한 결과 비교를 도시한 데이터 표이다.
도 27은 본 발명의 일 실시예에 따른 이미지 인증 방법 및 시스템이 도시된 블록 다이어그램이다.
도 28은 본 발명의 일 실시예에 따른 약한 인증 모드를 사용한 디지털 서명을 생성하는 방법이 도시된 블록 다이어그램이다.
도 29는 본 발명의 일 실시예에 따른 약한 인증 모드를 사용한 디지털 서명을 증명하는 방법이 도시된 블록 다이어그램이다.
도 30은 본 발명의 일 실시예에 따른 손실 인증 모드를 사용한 디지털 서명을 생성하는 방법이 도시된 블록 다이어그램이다.
도 31은 본 발명의 일 실시예에 따른 손실 인증 모드를 사용한 디지털 서명을 증명하는 방법이 도시된 블록 다이어그램이다.
도 32는 본 발명의 일 실시예에 따른 하나의 비트를 이미지 블록에 임베드시키는 것으로부터 야기되는 블록 차이 값의 크기의 변화를 도시한 그래프이다.
도 33은 본 발명의 일 실시예에 따른 이미지의 내용 특성으로부터 생성된 디지털 서명을 나타내는 데이터를 임베드시키는 방법이 도시된 블록 다이어그램이다.
도 34는 본 발명의 일 실시예에 따른 디지털 서명을 인증하는 방법이 도시된 블록 다이어그램이다.
하나의 태양에 따르면, 본 발명은, 이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 확인하는 단계; 상기 적어도 2개의 픽셀들의 부분집합들로부터 복수의 픽셀 그룹들을 형성하는 단계. 상기 픽셀 그룹 각각은, 상기 적어도 2개의 부분집합들의 첫번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두번째로부터 적어도 하나의 픽셀을 가진다; 복수의 차이 값들을 생성하는 단계. 상기 픽셀 그룹 각각은, 상기 차이 값들 중 하나를 제공하고, 상기 차이 값 각각은, 상기 픽셀 그룹들 중 하나로부터의 픽셀들의 픽셀 값들 사이의 차이들에 기초한다; 및 상기 적어도 2개의 부분집합들 모두보다 작은 것에서 픽셀들의 픽셀 값들을 변형하여, 상기 블록 내에 비트 값을 임베드시키도록 하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다. 바람직하게, 부분집합들 모두보다 작은 것은, 단지 하나의 부분집합을 포함하는 것이다. 바람직하게, 상기 변형은, 논리적 1 비트 값이 상기 블록에 임베드되도록 하는 것이다. 바람직하게, 상기 방법은, 상기 블록의 대비 상태를 확인하는 단계; 및 상기 대비 상태에 따라 상기 변형을 조정하는 단계를 더 포함한다. 바람직하게 상기 대비 상태를 확인하는 단계는 상기 블록의 히스토그램의 상태를 확인하는 단계를 포함한다. 바람직하게 상기 대비 상태를 확인하는 단계는 상기 블록에 대한 블록 차이 값을 확인하는 단계를 포함하고, 상기 블록 차이 값은 상기 차이 값들의 산술 평균과 같다. 바람직하게, 상기 방법은, 상기 블록 내의 어떠한 비트 오류들을 수정하기 위해, 오류 수정 코딩을 사용하는 단계를 더 포함한다. 바람직하게, 상기 적어도 2개의 부분집합들은, 정확하게 2개의 부분집합들을 포함하고, 상기 픽셀 그룹들 모두는 정확하게 2개의 픽셀들을 포함하고, 상기 생성하는 단계는 상기 차이 값을 상기 픽셀 그룹 각각의 상기 정확하게 2개의 픽셀들 사이의 픽셀 값들 사이의 차이와 동일하게 설정하는 것을 포함한다. 바람직하게 상기 적어도 2개의 부분집합들은, 상기 첫번째 부분집합 및 상기 두번째 부분집합만을 포함하고, 상기 블록은 상기 첫번째 부분집합 및 상기 두번째 부분집합의 픽셀들의 체커판 분포 패턴을 포함한다. 바람직하게 상기 방법은 상기 이미지의 상기 블록에 대한 블록 차이 값을 계산하는 단계를 더 포함하고, 상기 블록 차이 값은, 상기 복수의 차이 값들의 평균과 동일하다. 바람직하게, 상기 방법은, 시프트 값만큼 상기 블록 차이 값을 변경하는 단계를 더 포함한다. 바람직하게, 상기 시프트 값은 소정의 크기를 가진다. 바람직하게, 상기 블록 차이 값을 변경하는 것은, 비트 값이 상기 이미지의 상기 블록 내에 임베드되도록 한다. 바람직하게 상기 방법은, 차이 값 시작 값을 설정하는 단계를 더 포함한다. 바람직하게, 상기 시프트 값은 상기 차이 값 시작 값의 크기를 초과한다. 바람직하게, 상기 블록 차이 값을 변경하는 단계는 논리적 1 비트 값을 상기 이미지의 상기 블록 내에 임베드시키는 단계를 포함한다. 바람직하게 상기 임베드된 비트 값은 복원가능하다, 바람직하게, 상기 임베드하는 단계는 상기 비트를 상기 이미지의 상기 블록에 숨기는 단계를 포함한다. 바람직하게, 상기 임베드하는 단계는, 상기 디지털 서명의 적어도 일부를 상기 이미지의 상기 블록 내에 제공하는 단계를 포함한다. 바람직하게, 상기 픽셀 값들은 그레이스케일 값들이다. 바람직하게, 상기 픽셀 값들은 색상 정보를 포함한다.
다른 태양에 따라, 본 발명은 이미지의 블록을 적어도 2개의 픽셀들의 부분집합들로 분리하는 단계. 상기 블록은 임베드된 비트 값을 포함한다; 상기 적어도 2개의 픽셀들의 부분집합들로부터 복수의 픽셀 그룹들을 형성하는 단계. 상기 픽셀 그룹 각각은, 상기 적어도 2개의 부분집합들의 첫번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두번째로부터 적어도 하나의 픽셀을 가진다; 복수의 차이 값들을 생성하는 단계. 상기 픽셀 그룹 각각은 상기 차이 값들 중 하나를 제공하고, 상기 차이 값 각각은 상기 픽셀 그룹들 중 하나로부터의 픽셀들의 픽셀 값들 사이의 차이들에 기초한다; 상기 블록으로부터 상기 임베드된 비트 값을 추출하는 단계; 및 상기 임베드된 비트 값의 진입 전 픽셀 값들의 조건으로 상기 픽셀 값들을 복구하는 단계를 포함하고, 상기 복구하는 단계는 상기 부분집합들 중 적어도 하나의 픽셀들의 픽셀 값들을 변경하지 않은 채로 유지하는 것을 특징으로 하는 방법을 제공한다. 바람직하게 상기 추출하는 단계는 상기 블록 차이 값이 차이 값 시작 값을 초과하면, 상기 블록으로부터 논리적 1 비트 값을 추출하는 것을 포함한다. 바람직하게 상기 추출하는 단계는, 상기 블록 차이 값이 차이 값 시작 값보다 작다면, 상기 블록으로부터 논리적 0 비트 값을 추출하는 것을 포함한다. 바람지갛게, 상기 방법은 상기 블록의 대비 상태를 확인하는 단계; 및 상기 대비 상태에 따라 상기 추출을 조정하는 단계를 더 포함한다. 바람직하게, 상기 방법은, 상기 대비 상태에 따라 상기 복구를 조정하는 단계를 더 포함한다. 바람직하게, 상기 대비 상태를 확인하는 단계는 상기 블록의 히스토그램의 상태를 확인하는 단계를 포함한다. 바람직하게, 상기 대비 상태를 확인하는 단계는, 상기 블록에 대한 블록 차이 값을 확인하는 단계를 포함한다. 바람직하게, 상기 방법은, 상기 추출된 임베드된 비트 값 내의 어떠한 오류를 수정하기 위해, 오류 수정 코딩을 사용하는 단계를 더 포함한다.
또 다른 태양에 따라, 본 발명은, 이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 확인하는 단계; 상기 적어도 2개의 픽셀들의 부분집합들로부터 복수의 픽셀 그룹들을 형성하는 단계. 상기 픽셀 그룹 각각은, 상기 적어도 2개의 부분집합들의 첫번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두번째로부터 적어도 하나의 픽셀을 가진다; 복수의 차이 값들을 생성하는 단계. 상기 픽셀 그룹 각각은, 상기 차이 값들 중 하나를 제공하고, 상기 차이 값 각각은, 상기 픽셀 그룹들 중 하나로부터의 픽셀들의 픽셀 값들 사이의 차이들에 기초한다; 상기 이미지의 상기 블록에 대한 초기 블록 차이 값을 계산하는 단계. 상기 초기 블록 차이 값은, 상기 복수의 차이 값의 평균과 동일하다; 및 상기 블록의 포함을 나타내는 논리적 0 비트 값 및 논리적 1 비트 값 중 하나에 기초하여, 상기 이미지의 상기 블록에 대한 최종 블록 차이 값을 설정하는 단계를 포함하고, 상기 설정하는 단계는, 상기 부분집합들 중 적어도 하나 내의 픽셀들에 대한 픽셀 값들을 변경하지 않은 채로 남겨두는 것을 특징으로 하는 방법을 제공한다. 바람직하 게, 상기 최종 블록 차이 값을 설정하는 단계는, 상기 초기 블록 차이 값을 시프트 값만큼 변경하여, 상기 이미지의 상기 블록 내에 논리적 1 비트 값을 임베드시키는 단계를 포함한다. 바람직하게, 상기 초기 블록 차이 값을 변경하는 단계는, 상기 부분집합들 중 하나만의 픽셀들의 픽셀 값들을 변경하는 단계를 포함한다. 바람직하게, 상기 최종 블록 차이 값을 설정하는 단계는, 상기 초기 블록 차이 값을 변경하지 않는 채로 남겨두어, 상기 이미지의 상기 블록 내에 논리적 0 비트 값을 임베드시키는 단계를 포함한다.
다른 태양, 양상, 장점 등은 첨부된 도면과 함께 본 발명의 바람직한 실시예의 설명을 참조하는 경우에 당업자에게 명백할 것이다.
바람직한 실시예에 있어서, 이미지는 중첩되지 않은 블록들로 분할된다. 바람직하게는, 이미지의 각 블록은 그후 2개 또는 그 이상의 부분집합들로 분할된다. 바람직하게, 상기 부분집합들 각각은 동일한 수의 픽셀들을 가지거나, 또는, 픽셀 부분집합들은 다른 수의 픽셀들을 가질 수 있다. 바람직하게는, 도 2의 체커판 패턴 내의 다른 부분집합들로부터의 픽셀들의 분포. 그러나, 다른 분포 패턴들도 가능하다. 따라서, 부분집합 각각의 특성은 바람직하게는 유사하다. 픽셀 값들은, 그레이 레벨 휘도 값들일 수 있다. 픽셀 값들은 추가적으로 또는 대체적으로 색상 정보 성분일 수 있다. 예를 들어, 픽셀 값들은 컬러 이미지의 RGB(적, 녹, 청) 3색값들 중 하나일 수 있다.
바람직한 실시예에 있어서, 부분집합 내의 픽셀들의 하나 또는 그 이상의 픽셀값들은, 본 발명의 하나 이상의 양상들을 실행하도록 조작될 수 있다. Bose- Chaudhuri-Hocquenghem(BCH) 코드와 같은 채널 코딩이 여기에 개시된 진보된 원칙과 함께 사용될 수 있다. 게다가, 스크램블링(scrambling) 기술이 본 발명과 함께 사용될 수 있다.
도 18A의 의료 이미지는, 본 발명의 다양한 양상들을 보여주기 위해 사용된다. 주어진 그레이스케일 이미지 512×512×8 (여기서 "512" 는 픽셀들을 나타내고, "8"은 그레이스케일 표현에 있어서의 비트 수를 나타낸다)에 있어서, 다음 행동들이 본 발명의 하나 또는 그 이상의 양상들에 따라 수행될 수 있다. 먼저, 이미지는 중첩되지 않는 블록들로 분리된다. 예를 들어, 도 2에 도시된 바와 같이 블록 크기는 8×8일 수 있다. 이로써, 64 픽셀들을 갖는 블록을 제공하게 된다. 바람직하게, 블록 200은 2개의 부분집합들로 분리되어, 그 각각이 32 픽셀들을 갖는 부분집합들을 제공하게 된다. 도 2의 실시예에 있어서, 하나의 부분집합은, '+'로 마크된 픽셀들로 이루어지고, 다른 부분집합은, '-'로 마크된 픽셀들로 이루어진다. 그러나, 64 픽셀 이하 또는 그 이상을 갖는 블록들이 사용될 수 있음을 알 수 있다. 게다가, 블록들은, 2개 이상의 부분집합들로 분리될 수 있다.
도 2의 실시예에 있어서, "+" 및 "-" 픽셀들은, 블록 200 내의 행 또는 열을 따라 진행할 때 "+" 픽셀들과 "-" 픽셀들이 교대되는 패턴이 발생하는 "체커판(chererboard)" 패턴 내에 배치된다. 그 픽셀 값들이 여기에 개시된 바람직한 데이터 임베드 방법에 의해 변형될 수 있는, "+" 픽셀들의 부분집합의 이러한 정교한 분산은, 바람직하게, 픽셀들의 부분집합들이 블록을 통해 무작위로 분산될 때에 발생하는 것보다 낮은 α값을 제공하는 장점을 나타낸다. 그러나, 본 발명은, 도 2에 도시된 "+" 픽셀들 및 "-" 픽셀들의 특정 분포에만 한정되는 것은 아니다.
일 실시예에 있어서, 각 블록에 대하여, 블록 차이 값 α가 계산된다. 여기서, 상기 블록 차이 값 α는, 블록 내에서 픽셀 쌍의 그레이스케일 값들 사이의 차이들의 산술 평균이다. 특히, 픽셀 쌍들은, 도 2에 도시된 바와 같이, 수평으로, 좌우로, 또는 상하로 인접한 2개의 픽셀들로서 정의될 수 있다. 보다 일반적으로, 블록을 픽셀 "쌍"들로 분할하는 대신, 2개 이상의 픽셀들을 포함하는 "픽셀 그룹들"이 생성될 수 있다. 또한, 픽셀 쌍 내의 픽셀들, 또는 2개 이상의 픽셀들을 갖는 픽셀 그룹 내의 픽셀들은 서로 인접할 필요가 없다. 게다가, 그레이스케일 값들이 아닌 픽셀들의 특성은 각각의 픽셀 그룹 내의 차이 값들의 계산을 위해 또한 전체 블록을 나타내는 블록 차이 값을 위해 사용될 수 있다. 예를 들어, 이러한 다른 특성은, 각 픽셀의 하나 또는 그 이상의 "R", "G", 및 "B" 값들을 포함하나, 이에 한정되지는 않는다. 게다가, 각 픽셀에 대한 다른 색상 정보가 사용될 수 있다. 여기서, "픽셀 값"은, 일반적으로 주어진 픽셀에 대하여, 또한 픽셀이 가지는 주어진 특성에 대하여 수치로써 언급된다.
예를 들어, 그레이스케일 값의 특성을 이용하는 픽셀 쌍들 사이에서 비교가 유도되는 경우를 생각할 수 있다. 이러한 예에 있어서, 픽셀 A는, 그레이스케일 픽셀 값 32를 가지고, 픽셀 B는 그레이스케일 픽셀 값 34을 가진다. 따라서, 이 픽셀 쌍에 대한 차이 값은 2이다. 픽셀들 A 및 B을 포함하는 블록 내에 차이 값 1을 갖는 단지 다른 한 쌍이 존재한다면, "1"과 "2"의 산술 평균이 1.5이기 때문에, 블록 차이 값 α는 1.5와 같아질 것이다.
다른 실시예의 일 부분으로서, 픽셀 그룹이 2보다 큰 홀수의 픽셀들을 포함하는 다른 예를 생각할 수 있다. 이 예에 있어서, 픽셀 그룹은, 이하의 "R"(RGB의 적 부분)픽셀 값들을 갖는 3개의 픽셀들(P1, P2, 및 P3)을 포함한다: P1:20, P2:30, 및 P3:60. 이 픽셀 그룹에 대한 차이 값을 결정하기 위해, 픽셀 값들의 다양한 쌍들 사이의 차이값들을 합산하고, 그룹 내의 픽셀들의 수로 나눈다. 따라서, 차이값 1 = 10(P2-P1), 차이값 2 = 40(P3-P1), 및 차이값 3 = 30(P3-P2). 그러므로, 이 예에 있어서, 픽셀 그룹에 대한 차이 값은, (10+40+30)/3 = 80/3 = 26.6이다. 2개 이상의 픽셀들을 갖는 픽셀 그룹에 대한 차이 값을 계산하는 상기의 식은 어떠한 크기의 픽셀 그룹에도 사용될 수 있음을 알 수 있다. 게다가, 픽셀 그룹에 대한 차이 값을 결정하기 위한 다른 식들 예를 들어, 픽셀 그룹의 픽셀 값들에 의한 중간 픽셀 값으로부터의 평균 편차 또한 사용될 수 있다. 게다가, 이러한 픽셀 그룹에 대한 중간 픽셀 값으로부터의 평균 편차의 배수배 또한 사용될 수 있다.
블록 내의 픽셀 값들은 일반적으로 매우 상관관계가 높기 때문에, 블록 차이 값 α는 0에 매우 가까울 것으로 예상된다. 실험 결과들도 이러한 관찰을 지지한다. 이미지 내의 블록들 중에서 블록 차이 값 α의 분포는 도 3에 도시되어 있다. 도 3은, α 값들의 대부분이 0에 매우 가까운 것을 보여준다. 게다가, 도 3에 도시된 분포의 중간 값은, 0에 매우 가깝다.
바람직하게, 블록 차이 값 α는, 각 블록 내의 모든 픽셀들에 기초하기 때문에, 이 값 α는 (압축 또는 다른 약간의 변형과 같은) 공격에 대하여 강건함을 가진다. 강건한 정도로 이 블록 차이 값 α을 선택하고, 임베드된 데이터에 이를 사 용한다.
바람직한 실시예에 있어서 커버 이미지는 중첩되지 않는 블록들로 나뉘어진다. 그 후, 바람직하게 하나의 비트가 각 블록 내에 임베드된다. 바람직하게, 비트들이 임베드되면, 블록 차이 값 α는 논리적 0 비트를 임베드하기 위해, 임계값 K 및 -K에 의해 정의된 범위에 있게 된다. K 값은, 보통 많은 실험들에 있어서, 5보다 작다. 그러나, 5보다 작거나 큰 절대값을 갖는 K 내지 -K의 값들 또한 사용될 수 있다. 논리적 0 비트를 임베드하기 위해, 블록 차이 값 α의 절대값은, 바람직하게 K 및 -K 사이의 범위로부터 시프트된다.
상기에서 기술한 바와 같이, 모듈로-256 가산은 오버플로우/언더플로우 문제를 효과적으로 대처할 수 있긴 하지만, 허용될 수 없는 솔트 앤 페퍼 잡음(salt and pepper noises)을 발생시킨다. 본 발명의 일 실시예에 있어서, 상기 오버플로우/언더플로우 문제는 4개의 다른 카테고리들로 이미지의 블록들을 나누고, 각 카테고리에 대해 적합한 비트 임베드 기술을 사용하는 것에 의해 처리될 수 있다.
기초적인 원리 및 획득된 실험 결과 모두는 이러한 바람직한 접근이 성공적으로 상기 오버플로우/언더플로우 문제를 해결하는 동시에 솔트 앤 페퍼 잡음을 방지한다는 것을 보여준다. 상기 카테고리 각각에 대한 바람직한 비트 임베드 설계는 이하에서 설명하기로 한다. 알고리즘에 있어서, 시프트 값("임베드 레벨"로 언급되기도 함) β는 바람직하게 시작 값 K 값의 2배이다. 그러나, 다른 실시예에 있어서, 시프트 값 β는 또한 K 값의 2배보다 작거나 클 수 있다.
바람직한 실시예에 있어서, 오른쪽으로의 α(도 5 참조) 만큼 시프트하는 것 은, 시프트 값 β를 블록 내의 '+'로 마크된 각 픽셀(도 2 참조)의 그레이스케일 픽셀 값에 더하는 것에 의해 달성된다. 이와 유사하게, 왼쪽으로의 α(도 5 참조) 만큼 시프트하는 것은 바람직하게 고정 시프트 값 β를 블록 내의 '+'로 마크된 각 픽셀(도 2 참조)의 그레이스케일 픽셀 값에서 빼는 것에 의해 달성된다. 바람직한 실시예에 있어서 블록 200 내의 '-'로 마크된 픽셀들의 그레이스케일 픽셀 값들은 변형되지 않아서, 비트 임베드에 의해 야기되는 왜곡을 감소시키게 된다. 그러나, 다른 실시예에 있어서 α 값은 "-" 픽셀들에서 시프트 값 β로 빼거나 더하는 것에 의해 증가될 수 있다.
이하에서 기술될 어떠한 조건 하에서 논리적 0 비트 값 또는 논리적 1 비트 값을 블록 내에 임베드시키는 것은 해당 블록에 대한 오류 비트를 추출하기 위해 연속적인 비트 추출 프로세스를 발생시킬 수 있다. 바람직하게 오류 수정 코딩(ECC) 및 연관된 오류 수정 디코딩은 이러한 오류들을 검출 및/또는 수정하도록 사용된다. 일 실시예에 있어서 오류 수정 코딩은 추출된 비트들 중 어떤 것에 오류가 있는지 판단하고 이를 수정하기 위해, 동일한 이미지 또는 다른 이미지로부터 다른 블록들에 임베드된 오버헤드(overhead) 비트들을 사용한다. 다른 실시예에 있어서, 오버헤드(overhead) 데이터는, 다른 장소에 저장될 수 있고, 오류가 있는 추출된 데이터 비트들을 확인하고 수정하기 위해 사용된다. 예를 들어, 오류 수정에 사용되는 오버헤드(overhead) 데이터는, 블록 또는 전체 이미지과 관련된 "부가 정보"에 포함될 수 있다.
이하에서, 블록에 데이터를 임베드시키는 다양한 접근들이 설명될 것이고, 상기 접근들은 블록의 블록 차이 값 α 및 블록 히스토그램에 종속한다. 여기서, 블록의 "대비 상태"는, 상기 블록의 히스토그램의 상태, 상기 블록에 대한 블록 차이 값 α, 또는 히스토그램 상태 및 블록 차이 값 α 모두를 포함할 수 있다. 게다가, 블록의 상기 대비 상태에 포함된 블록의 양상은, 상기에서 기술된 바에 한정되지 않는다.
카테고리 1:
고려되는 블록의 그레이스케일 픽셀 값들은, 언더플로우/오버플로우 조건을 야기시키지 않고 더해질 시프트 값에 대한 히스토그램의 2개의 한계(8-비트 그레이스케일 이미지에 대한 0 및 255)로부터 충분히 떨어져 있다. 특히, 도 4에 도시된 바와 같이, 거리 d = min(d1, dr)은, d≥β(여기서 β는 시프트 값이다)을 만족한다. 카테고리 1 내의 2개의 경우들을 이하에서 고려하기로 한다. 상기 경우들은, 상기 블록 차이 값 α 의 값들에 따라 확인된다.
바람직한 실시예에 있어서, 블록의 "+" 픽셀들의 값들은, 논리적 1 비트 값을 임베드하기 위해 변형되고, 모든 픽셀들의 값들은 바람직하게 블록 내에 논리적 0 값을 임베드하기 위해 변경되지 않은 채로 남겨둔다. 그러나, 다른 실시예에 있어서, 이 비트 값 변환은, 역으로 바뀔 수 있다. 또한 픽셀들은, 논리적 1 값을 임베드하기 위해 변경되지 않은 채로 남겨두는 한편, 선택된 픽셀들은 논리적 0 값을 임베드하기 위해 변형될 수 있다.
경우 1: 블록 차이 값 α가 시작 값 K 와 -K 사이에 존재한다.
블록 내에 임베드될 비트가 논리적 1이면, 블록 차이 값 α는 바람직하게 만 약 α가 양수이면 오른쪽으로, 만약 α가 음수이면 왼쪽으로 양 β만큼 시프트된다. 도 5를 참조할 수 있다. 블록 내에 임베드될 비트가 논리적 0이면, 해당 블록의 픽셀 값들은 바람직하게 변경되지 않은 채로 남겨져서 α는 변경되지 않은 채로 남겨진다.
경우 2: α의 절대값이 시작 값 K 의 절대값을 초과한다(도 6 참조).
이하에서 기술될 데이터 추출 방법이 어떠한 이미지 데이터도 파괴하지 않음을 보장하기 위해, 데이터 임베드 방법은 바람직하게 임베드 단계들 전 α 값에 관계 없이 논리적 1 비트 값을 블록 내에 임베드시킨다. 따라서, 논리적 1 비트 값이 블록 내에 임베드되면, 블록 차이 값 α는 바람직하게 시프트 값 β만큼 0로부터 멀리 시프트된다(도 6 참조). 이러한 상황에서, 논리적 0 비트 값이 블록 내에 임베드되면, 논리적 1 비트 값은 바람직하게 차이 값 α를 시프트 값 β만큼 0로부터 멀리 시프트시키는 것에 의해 임베드된다(도 6 참조). 상기에서 기술된 방법에 의한 임베드 비트 값들은, 추출 방법이 이후에 수행될 때 오류 비트를 생성하는 방법으로, 블록 200을 변형시킬 수 있다. 따라서, ECC 및 오류 수정 디코딩(ECD)는, 바람직하게 이러한 오류들을 수정하도록 사용될 수 있다.
카테고리 2:
도 7을 참조하면, 카테고리 2 히스토그램에서, 고려되는 블록의 그레이스케일 픽셀 값들 중 일부는, (8 비트 그레이스케일 이미지에 대한 0 값에 대응하는) 상기 히스토그램의 하부 한계에 매우 가깝지만, 상기 히스토그램의 상부 한계에 가까운 그레이스케일 픽셀 값들은 없다. 카테고리 2에 대하여, 3가지 경우를 고려해 볼 수 있다. 이 경우들은 블록 차이 값 α의 다양한 값들에 따라 정의되었다.
경우 1: 블록 차이 값 α가 시작 값 K 와 -K 사이에 존재한다.
논리적 1 비트 값이 블록 내에 임베드되면, 블록 차이 값 α는 시작 값 K를 넘어 오른쪽으로 시프트 값 β만큼 시프트된다. 도 8을 참조하라. 논리적 0 비트가 블록 내에 임베드되면, 상기 블록 차이 값 α는 바람직하게 변경되지 않은 채로 남겨진다.
경우 2: 블록 차이 값 α가 시작 값 K 를 넘어 히스토그램의 오른쪽에 위치한다(도 9 참조).
논리적 0 또는 논리적 1 비트 값이 고려되는 블록 내에 임베드되면, 바람직한 실시 시스템 및 방법은, 시프트 값 β만큼 블록 차이 값 α를 시프트시키는 것에 의해 논리적 1 비트 값을 임베드시켜서, 도 9에 도시된 바와 같이, 0 점으로부터 멀리 블록 차이 값 α를 이동시킨다. 상기 블록 내에 임베드될 비트의 값에 관계없이 논리적 1 비트 값을 임베드시키는 것은, 해당 블록으로부터 오류 비트 값을 추출하기 위해, 추출 방법을 야기시킬 수 있다. 이러한 상황에서, 오류 수정 코딩/디코딩은 바람직하게 오류 비트를 수정하도록 사용된다.
경우 3: 블록 차이 값 α가 시작 값 K 를 넘어 히스토그램의 왼쪽에 위치한다(도 10 참조).
이러한 상황은, 어떠한 시프트 값이 추가되기 전에도 상기 블록 차이 값 α가 시작 값의 절대값을 초과한다는 문제를 가져온다. 또한, 차이 값 α를 변경되지 않은 채로 유지하거나 또는 0으로부터 멀리 이동시키는 것은, 데이터 임베드 및 추 출 프로세스의 가역성의 가역성을 파괴하는 것이 가능하다. 일 실시예에 있어서, 이러한 문제는, 시작 값 K의 값을 증가시키는 것으로 처리되어, α를 -K 와 K의 갱신된 값들에 의해 정의되는 범위 내로 가져가게 된다. 만약 K가 특정 블록에 대하여 변경되면, 이미지 내의 모든 블록들에 대한 데이터가 바람직하게 이러한 증가된 K 값을 사용하면서 다시 임베드되어야 한다는 것을 주의해야 한다.
다른 실시예에 있어서, 문제되는 이미지 내에 데이터를 임베드하는 데 사용되는 블록 크기는 증가될 수 있다. 블록 크기의 증가는 일반적으로 이미지의 다양한 블록들에 대한 α 값이 감소하도록 작용한다. 바람직하게 블록 크기는, 이미지 내의 모든 블록들에 대하여 시작 값 K의 값 이하의 α 값으로 감소시키도록 선택된다. K 값이 증가하는 경우에 있어서, 데이터 임베드 기술은, 바람직하게 새로운 블록 크기가 결정되자마자 이미지 내의 모든 블록들에 대하여 반복된다.
보다 큰 K 값 또는 보다 큰 블록 크기를 사용하는 것은, 바람직하게 경우 3의 상황에서는 금지되고, 도 8에 도시된 바와 같이, 다양한 값들의 관계가 경우 1로 복귀되도록 야기한다. 실험 결과들은 경우 3이 매우 드물게 발생한다는 것을 보여준다. 게다가 바람직한 실시예에 있어서, K 값 또는 블록 크기의 완만한 증가는 일반적으로 이러한 문제를 해결한다.
카테고리 3:
도 11을 참조하면 일반적으로 카테고리 3의 블록 내의 그레이스케일 픽셀 값들의 히스토그램에 있어서, 히스토그램의 상부 한계(즉, 값 = 수평축 상의 255)에 가까운 그레이스케일 픽셀 값들은 있으나, 상기 히스토그램의 하부 한계에 가까운 픽셀 그레이스케일 값들은 거의 없다.
카테고리 3은, 그레이스케일 픽셀 값들이 상기 히스토그램의 하부 한계 대신 상부 한계에 가깝게 밀집되어 있다는 점을 제외하면 카테고리 2와 유사하다. 따라서, 카테고리 3의 상황에 대한 바람직한 실시 데이터 임베드 알고리즘은, 블록 차이 값 α가 오른쪽보다는 왼쪽으로 시프트된다는 점을 제외하면 카테고리 2와 유사하다.
카테고리 4:
도 12를 참조하면, 카테고리 4의 상황에 있는 블록의 히스토그램에 있어서, 히스토α그램의 하부 한계와 상부 한계 모두에 가까운 그레이스케일 픽셀 값들이 있다. 이 카테고리에 있어서, 블록 차이 값 α에 따라 2개의 다른 경우들을 고려한다.
경우 1: 값 α가 시작 값 K 와 -K 사이에 존재한다.
바람직한 실시예에 있어서, 논리적 0 비트 값 또는 논리적 1 비트 값이 해당 블록 내에 임베드되면 바람직한 방법은 블록 내에 논리적 0 비트 값을 임베드시킨다. 도 13에 도시된 바와 같이, 논리적 0 값을 임베드시키는 것은 바람직하게 값 α를 변경시키지 않은 채 남겨주는 것을 포함한다. 기술한 바와 같이, 논리적 0 비트 값을 아무 조건없이 임베드시키는 것은 추출된 비트 값이 해당 블록 내에 임베드된 비트 값과 동일하지 않을 수 있기 때문에 해당 블록에 대한 오류 비트 값을 추출하기 위해 추출 방법을 야기시킬 수 있다. 오류 비트 값이 해당 추출 방법에 의해 추출되는 경우, 바람직하게 오류는 오류 수정 코딩/디코딩을 사용하여 수정된 다.
경우 2: α의 절대값이 시작 값 K 를 초과한다(도 14 참조).
바람직한 실시예에 있어서 상기의 카테고리 4의 경우 1에서, 블록에 대한 그레이스케일 픽셀 값들은 변경되지 않는다. 특히, 논리적 0 비트 값은, 해당 블록 내에 임베드된 비트 값에 관계 없이 블록 내에 임베드된다. 기술한 바와 같이, 논리적 0 비트 값을 아무 조건 없이 임베드시키는 것은, 추출 방법의 작동 동안, 오류 비트 값이 이후에 추출되도록 야기시킬 수 있다. 바람직하게 오류 수정 코딩/디코딩은, 이러한 비트 값 추출 오류들을 검출하고 수정하는 데 사용된다. 디코딩할 때, 상기 블록의 그레이스케일 값 분포가 먼저 검사된다. 카테고리 4의 경우 2에 대응하는 상황으로 확인되면 비트 '0'는 추출되고, 해당 블록의 그레이스케일 값들은, 변경되지 않은 채로 남겨진다.
상기에서 언급된 4개의 카테고리들은, 바람직하게 블록이 여기서 개시된 바람직한 데이터 임베드 방법에 의해 처리될 때 있을 수 있는 모든 조건들을 기술한다. 리스트된 카테고리들의 다양한 경우들에 대한 상기에서 기술한 접근들의 사용은, 바람직하게 [0,255] 범위 내의 모든 그레이스케일 픽셀 값들을 그래도 유지시켜, 데이터 오버플로우/언더플로우 조건들의 발생을 막고, 결과적으로 이미지 데이터의 손실을 막게 된다. 상기에서 기술한 데이터 임베드 방법의 사용을 통해 생성된 오류 비트들은, 바람직하게 이하에서 기술할 오류 수정 코딩/디코딩 방법에 의해 조작된다. 그러나, 다른 오류 수정 방법들 또한 사용될 수 있다.
오류 수정 코드
일 실시예에 있어서, 상기에서 기술한 비트 임베드 프로세스는, 오류 비트 값들을 유도할 수 있다. 특히, 몇몇 블록들은, 해당 블록 내에 임베드된 비트 값들에 대응하지 않는 비트 값들을 추출하기 위한 추출 프로그램을 야기시킬 수 있다. 상기에서 기술한 바와 같이, 이러한 종류의 오류는 블록의 히스토그램의 조건 및 블록 차이 값 α의 값에 기초하여, 논리적 0 비트 값 또는 논리적 1 비트 값을 아무 조건 없이 받아들임으로써, 발생할 수 있다. 이러한 접근은 이미지가 임베드 및 추출 프로세스들에 의해 영향받지 않도록 그냥 두는 장점을 가지나, 이미지의 영향 받은 블록이 바람직한 데이터 추출 시스템 및 방법에 의해 작동될 때 오류 비트들을 생성할 가능성이 있는 단점을 가진다.
바람직한 실시예에 있어서, 원본(즉, 이미지의 다양한 블록들에 비트들을 임베드시키기 전) 정보 비트들을 정확하게 복원하기 위해, 바람직하게 오류 수정 코딩을 사용한다. 일 실시예에 있어서, 오류 수정 코딩의 사용은, 오류 수정의 장점을 제공하지만, 또한 이미지 내에 저장될 수 있는 정보 비트들의 수를 감소시킨다. 이 실시예에 있어서, 이미지의 정보 비트 임베드 용량의 감소는, 정보 비트들에 동반하는 많은 오버헤드(overhead) 비트들을 저장할 필요로부터 야기된다.
Bose-Chaudhuri-Hocquenghem(BCH) 코드들은 블록 길이, 코드율, 알파벳 크기들 및 오류 수정 용량에 있어서 많은 선택을 제공하는 순환 코드들의 강력한 클래스이다. 2000년에 발행된 J. G. Proakis, Digital Communication, 4th Edition, Mcgraw-Hill 개시된 전체 내용은은 참조문서로서 참조될 수 있다. 따라서, 여기에 개시된 시스템 및 방법의 바람직한 실시예는 오류 검출 및 수정을 위해 BCH 코드들 을 사용한다. 바람직한 실시예에 있어서 이하의 코드들 또한 사용될 수 있다: BCH(15,11,1), BCH(15,7,2), BCH(15,5,3), BCH(31,6,7), 및 BCH(63,7,15). BCH 코드들의 허용 범위는, 바람직하게 한 면으로는 오류 수정 코딩의 코딩율, 따라서 적재되는 데이터 양과, 다른 한 면으로는 상기 오류 수정 코딩의 오류 수정 성능 사이에서 트레이드오프(trade-off)를 제공한다. 무손실 데이터 숨김의 강건함의 정도는 일반적으로 오류 수정 성능이 증가함에 따라 증가한다.
예를 들어, BCH(63,7,15) 코드는, 오류 수정 능력에 있어서, 상기에 리스트된 코드들 중에서 가장 강력한 코드이다. 이 코드는 보다 많은 잉여 비트들을 포함하는 비용을 감수하며, 63 비트의 코드워드 내에서 15개의 무작위 오류 비트들을 수정할 수 있다. 그러나 결과적으로 BCH(63,7,15)은 상기에서 리스트된 코드들 중 가장 작은 데이터 임베드 용량을 가진다.
어떠한 이미지에 있어서 오류 데이터를 갖는 블록들은 어떤 밀집된 도메인들에서 불균형적인 수로 나타날 수 있다. 이것은 BCH(63,7,15)의 오류 수정 성능을 초과하는 오류의 수를 포함하는 하나의 코드워드를 야기시킬 수 있다. 개시된 데이터 임베드 시스템 및 방법의 몇몇의 실시예들이 실패하도록 야기시키는 이러한 종류의 오류 "밀집"에 대처하기 위해, 오류 코드 수정 알고리즘은, 바람직하게 순서치환 기술과 결합된다. 이것은 1995년에 발행된 S.B. Wicker 저, Error Control System for Digital Communication and Storage, Englewood Cliffs, NJ: Prentice-Hall(이하 "Wicker"라 함)에 기술되어 있으며, 이 문서는 참조문서로서 참조될 수 있다. Wicker에 개시된 바와 같이, 오류 수정 코딩 및 순서 치환의 결합은, 무작위 오류 및 오류 밀집 모두를 효과적으로 대처할 수 있는 효과적이고 효율적인 전략이다. 안전을 위해, 메시지 비트들은 바람직하게 비밀 키를 이용해 제안된 알고리즘으로 순서치환된다. 다른 실시예에 있어서 상기 순서치환은 1996년 5월에 발행된 G. Voyatzis 및 I. Pitas 저, "Chaotic mixing of digital images and applications to watermarking," proceedings of European Conference of Multimedia Applications, Services Techniques(ECMAST '96), 2의 페이지 687~695개제된 무질서 혼합 기술을 사용하여 수행될 수 있다.
도 15는 상기 기술된 이미지에 데이터를 임베드하는 시스템 및 방법의 바람직한 실시예를 도시한 블록 다이어그램이다. 데이터 추출 프로세스는 바람직하게 데이터 임베드 프로세스의 역과정이다. 주어진 마크된 이미지에 대하여, 상기 이미지는, 바람직하게 중첩되지 않은 블록들로 먼저 분리된다. 그 후, 블록 차이 값 α는 바람직하게 블록 각각에 대하여 계산된다.
데이터 추출을 거친 블록에 대한 블록 차이 값 α의 절대값이 시작 값 K의 절대값보다 크다면, 상기 추출 방법은 바람직하게 해당 블록의 그레이스케일 값 분포를 검사한다. 만약 블록이 카테고리 4의 경우 2의 프로파일에 일치하는 것으로 확인되면, 논리적 0 비트 값은 바람직하게 해당 블록으로부터 추출되고, 해당 블록은 변경되지 않은 채로 남게 된다. 그렇지 않다면, 논리적 1 비트 값이 블록으로부터 추출되고, 상기 블록 차이 값 α는 시프트 값 β의 값에 따라 그 만큼 0 점으로 다시 시프트된다. 특히, 만약 α가 음이면, 0로의 시프트는, 시프트 값 β를 α에 더하는 것에 대응한다. 만약 α가 양이면, 0로의 시프트는, 시프트 값 β를 α로부 터 감소시키는 것에 대응한다. 상기의 단계들을 수행하는 것은, 도 16에 도시된 바와 같이, 바람직하게 픽셀 값들이 원본 값들(그레이스케일 또는 다른 종류의 픽셀 값)로 복귀하도록 해 준다.
블록 차이 값 α의 절대값이 시작 값 K보다 작다면, 그때는 논리적 0 비트 값이 블록으로부터 추출된다. 이러한 상황에서, 상기 블록의 픽셀 값들은, 바람직하게 변경되지 않은 채로 남겨진다. 바람직한 실시예에 있어서, 마크된 이미지가 상기에서 기술된 바와 같이 처리될 때, 모든 픽셀들이 원본 이미지에서 가졌던 것과 동일한 픽셀 값들을 만족하게 된다.
도 17을 참조하면, 바람직한 실시예에 있어서 데이터 추출 후, 순서 역치환 및 ECC 디코딩이 바람직하게 수행되어, 이미지 내에 임베드된 원본 정보 비트들이 정확하게 복구되도록 한다. 게다가, 원본 이미지는 또한 바람직하게 어떠한 왜곡 없이 복구될 수 있다. 추출 방법의 바람직한 실시예는 도 17에 도시되어 있다.
진보적인 시스템 및 방법의 바람직한 실시예는, '레나', '원숭이' 등과 같은 흔히 사용되는 그레이스케일 이미지들, 8개의 의료 이미지들, 8개의 JPEG2000 컬러 테스트 이미지들, 및 CorelDrawTM 이미지 데이터베이스 내의 모든 1096 이미지들에 성공적으로 사용된다. 컬러 이미지들에 대하여, 상기 방법은, 바람직하게 각 이미지의 단 하나의 컬러 평면에 사용된다. 결과들은, 바람직한 방법이 모듈로-256 가산을 사용하지 않기 때문에, 솔트 앤 페퍼 잡음이 없음을 보여준다.
바람직한 실시예에 있어서, 데이터 임베드 용량(이미지 내에 저장될 수 있는 데이터의 양)은, 인증 목적으로 512 또는 1024 비트보다 클 수 있다. 또한 다른 애플리케이션을 위하여 블록 크기를 변경하는 것에 의해 조정될 수 있다.
이하에서 기술될 바와 같이, 본 발명의 바람직한 실시예를 사용하여 획득된 PSNR은 2003년 3월에 발행된 C. De Vleeschouwer, J.F. Delaigle 및 B. Macq 저, "Circular interpretation of bijective transformations in lossless watermarking for media asset management," IEEE Transactions on Multimedia, vol.5(이하 "De Vleeschouwer"라 한다)에 기재된 방법을 이용함으로써 얻는 것보다 크다.
데이터 임베드 용량과 PSNR 사이에는 트레이드오프가 일반적으로 존재한다. 따라서, 바람직한 실시예에 있어서, BCH 코드들의 선택과 같은, 다양한 파라미터들은, PSNR과 임베드 용량의 최적 결과 조합을 달성하기 위해 선택될 수 있다. 테스트 이미지들은, 2.0 bpp(픽셀당 비트) 부터 0.2 bpp 범위의 보존 비트율로 JPEG/JPEG2000 압축을 견딜 수 있다. 다시 말하면, 숨겨진 데이터는, 이미지 압축이 마크된 이미지들에 적용될 때 오류 없이 검색될 수 있다. bpp 단위의 최종 비트율은, 상기에서 언급된 보존 비트율과 같거나 크다.
도 18-20은, 본 발명의 시스템 및 방법의 바람직한 실시예를 사용한 마크된 이미지들 및 원본 이미지들의 집합들이 도시된 것이다. 상기 마크된 이미지들에서는 시각적인 결함이 없어서, 종래 기술에 비해 현저한 성능 향상을 볼 수 있다.
도 21-24는, 흔히 사용되는 이미지들의 3 개의 집합들에 대한 테스트 결과를 각각 요약한 것이다: 1) 3개의 흔히 사용되는 이미지들, 즉, 레나, 원숭이, 및 배; 2) CorelDrawTM 데이터베이스 내의 1096 이미지들; 3) 8개의 의료 이미지들; 및 4) 8개의 JPEG2000 테스트 이미지들. 이하에서, "블록 크기"는, 사각 블록의 일 측을 따르는 픽셀들의 수를 나타내고, "임베드 레벨"은, 블록 내에 임베드되는 논리적 1 비트 값이 필요로 하는 블록 내의 그레이스케일 값 변화의 정도를 나타낸다. 블록 크기 및 임베드 레벨의 크기들은, De Vleeschouwer에서 획득된 것과 비교하는 데 적합한 도 23-24에 나타난 결과들을 생성하도록 선택된다. 상기 모듈로-256 가산에 기반한 알고리즘과 바람직한 실시 알고리즘 사이의 성능을 보다 정확한 방법으로 비교하기 위해, 도 25에 도시된 테스트 결과들을 갖는 8개의 의료 이미지들에 실험을 수행한다. 이러한 실험에 있어서, 임베드 용량, 마크된 이미지들 대 원본 이미지들의 PSNR 및 이미지 압축에 대한 강건함을 관찰하기 위해 블록 크기 및 임베드 레벨은 변경된다.
비교를 정확하게 하기 위해, De Vleeschouwer의 기술을 이용하여, 100개의 정보 비트들을 이미지 내에 임베드시켰다. 블록들의 수 따라서 임베드 용량이 큰 때, 동일한 100개의 정보 비트들을 반복적으로 임베드시킨다. 숨겨진 데이터를 추출한 후, 상기 숨겨진 정보 비트들을 디코딩하는 데 대부분의 보팅(voting)을 사용한다. 그러므로, 바람직한 실시예에 있어서, 주어진 블록 크기 각각에 대하여, 상기 바람직한 실시 방법 및 상기 드 브리쵸어 방법에 대한 임베드 용량은 동일하다.
마크된 이미지의 PSNR과 대응하는 원본 이미지의 불일치는, 마킹 프로세스에 사용된 임베드 레벨에 종속한다. 이 PSNR 불일치는 또한 이미지 내에 데이터를 임 베드하는 데 사용되는 블록 크기에 종속한다. 이것은, 블록 크기가 증가함에 따라 블록 전체의 블록 차이 값 α의 편차가 감소하기 때문이다. 값 α에 있어서의 이러한 감소는, 바람직하게 시작 값 K값 및 사용될 시프트 값 β에 대한 보다 작은 값들을 허용한다.
도 25를 참조하면, 한 방법을 이용하는 것에 의해 생성된 8개의 마크된 이미지들 중 PSNR 값들은, 블록 크기 및 임베드 레벨의 각 조합에 대하여 도 26에 평균되고 리스트되어 있다. 최종 보존 비트율로서의 강건함은, 도 25에 리스트되어 있다. 블록 크기 및 임베드 레벨의 각 조합에 대한 평균 비트율(강건함)은, 도 26에 나열되어 있다. 나아가, 역시 도 26에 도시된 바와 같이, PSNR 및 강건함은 또한, 다른 블록 크기들(**로 표시됨) 뿐 아니라, 주어진 블록 크기(*로 표시됨)에 대한 다른 임베드 레벨들에 대하여 평균하여 계산되어 있다. 도 26에서, 블록 크기 및 임베드 레벨의 각 조합, 따라서 각각의 데이터 임베드 용량에 대하여, 바람직한 실시 방법을 사용하는 8개의 마크된 의뢰 이미지들에 대한 평균 PSNR은 드 브리쵸어의 알고리즘을 사용하는 것보다 크다. 또한 제안된 방법에 연관된 평균 최소 보존 비트율의 조합 각각은, De Vleeschouwer의 알고리즘과 연관된 것보다 작다. 결론적으로 여기서 개시된 바람직한 실시 방법의 이미지 압축에 대한 평균 강건함은, De Vleeschouwer 알고리즘보다 강해서, 종래 기술에서 사용되는 것보다 우수한 성능을 제공한다.
새로운 강건한 무손실 이미지 데이터 숨김 시스템 및 방법 기술이 여기에 개시되어 있는데, 상기 시스템 및 방법은, 바람직하게 데이터 임베드 프로세스에 작 은 부수적인 변경 및 이미지 압축 영향을 감소시키기 위해, 강건한 통계적 량을 사용한다. 상기 시스템 및 방법은, 바람직하게 다른 픽셀 그레이스케일 값 분포를 갖는 픽셀 그룹들에 대하여 다른 비트 임베드 전략을 사용한다. 상기 시스템 및 방법은, 바람직하게 개별 오류 비트들 및 이러한 오류 비트들의 오버헤드(overhead) 밀집 각각의 발생에 대응하기 위해, 순서치환 기술과 함께 오류 수정 코딩을 사용한다.
여기에 개시된 시스템 및 방법의 바람직한 실시예는, 이하의 장점을 보여준다: 1) 솔트 앤 페퍼 잡음 (salt-and-pepper noise) 의 부재; 2) 모든 가상 이미지들에의 적용 가능성(알고리즘은, 다양한 이미지들에 성공적으로 테스트된다); 3) 대략 38dB 이상의 마크된 이미지들의 평균 PSNR; 4) JPEG/JPEG2000 압축에 대한 강건함; 5) 데이터 임베드 용량은 512 비트 또는 1024 비트보다 클 수 있다(종종 인증 목적을 위해 충분한 정도), 또한 필요한 만큼 임베드 용량을 조정할 수 있는 능력이 이에 해당된다.
여기서 개시된 시스템 및 방법은, 가능한 트랜스코딩 이후에, 무손실 압축 JPEG2000 이미지들을 인증하기 위한 디지털 서명 관련 데이터를 임베드하기 위해 사용될 수 있다. 단일화된 인증 프레임워크는, 약한 인증 및 완전히 강건하지 않은 인증 모두를 제공할 수 있다. 전자는 데이터 무결성 증명을 위한 것이고, 후자는 컨텐츠 무결성 증명을 위한 것이다. 나아가, 완전히 강건하지 않은 인증에 있어서, 손실 및 무손실 모듈 모두가 존재할 수 있다. 여기에 보고된 강건한 무손실 데이터 숨김 기술은, 무손실 모듈에 사용된다. 특히, 무손실 압축된 JPEG2000 이미지가 인 증 전에 변경되지 않았다면, 숨겨진 데이터는 정확하게 추출될 수 있다. 게다가, 이미지는, 인증된 것으로 분류될 수 있고 원본 이미지는 정확하게 복구될 수 있다.
만약 무손실 압축된 JPEG2000 이미지가 손실 압축과 같은 트랜스코딩을 거쳤다면, 이미지는 압축이 콘텐츠를 변경할 정도로 심하게 되지 않았다면 인증된 것으로 취급될 수 있다. 이러한 상황에서 상기 숨겨진 데이터는 정확하게 추출될 수 있으나, 일반적으로 원본 이미지는 복구되는 것이 가능하지 못할 것이다. 손실 압축이 매우 심하여 최종 비트율이 소정의 최소 보존 비트율보다 낮다면, 상기 숨김된 데이터는 정확하게 추출되지 못하고, 이미지는 인증받지 못할 것이다.
무손실 압축된 이미지의 컨텐츠가 변경되었다면, 상기 숨겨진 데이터는, 오류 없이 추출될 수 없을 것이다. 게다가, 상기 숨김 데이터가 비록 정확하게 추출될 수 있다 하더라도, (원본 이미지를 반영하는) 상기 추출된 데이터와 컨텐츠 변경된 이미지로부터 유도된 데이터 사이의 불일치로 인하여, 상기 추출된 데이터는 이미지 자체가 인증받지 못한 것으로 취급되도록 할 것이다. 더 많은 정보가 이하의 문헌 [15] 및 [16]에서 발견될 수 있다.
이하의 문헌들은, 여기에 참조로서 결합된다.
[1] 2004년 5월에 발행된 Y.Q. Shi, Z. Ni, D. Zou, C. Liang 및 G. Xuan 저, "Lossless data hiding; Fundamentals, algorithms and applications," Proceedings of IEEE International Sysposium on Circuits and Systems, vol II. pp. 33~36, Vancouver, Canada
[2] C.W. Honsinger, P. Jones, M. Rabbani 및 J.C.Stoffel에 의해 출원되어 등록된 미국특허 6,278,791, 2001. "Lossless recovery of an original image containing embeded data,"
[3] 2001년 1월에 발행된 J. Fridrich, M. Goljan 및 R. Du 저, "Invertible authentication", Proc.SPIE, Security and Watermarking of Multimedia Contents, vol.4314, pp.197~208, San Jose, CA
[4] 2001년 4월에 발행된 M. Goljan, J. Fridrich, 및 R. Du 저, "Distortion-free data embedding", Proc. of 4th Information Hiding Workshop, vol.2137, pp. 27~41, PA
[5] 2002년 12월에 발행된 G.Xuan, J.Chen, J.Zhu, Y.Q.Shi, Z.Ni, W.Su 저, "Distortionless data hiding based on integer wavelet transform," Proceedings of IEEE International Workshop on Multimedia Signal Processing, St. Thomas, US Virgin islands, IEEE Electronics Letters, vol.38, issue.25, pp.1646~1648
[6] 2003년 5월에 발행된 Z.Ni, Y.Q.Shi, N.Ansari 및 S.Wei 저, "Reversible data hiding", Proceedings of IEEE International Symposium on Circuits and Systems 2003, Bangkok, Thailand
[7] 2002년 9월에 발행된 M. Celik, G. Sharma, A. M. Tekalp 및 E. Saber 저, "Reversible Data Hiding", Proceedings of the International Conference on Image Processing 2002, pp. 157~160, Rochester, NY
[8] 2003년 8월에 발행된 J. Tian, "Reversible data embediding using a difference expansion," IEEE Transaction on Circuits and Systems for Video Technology, vol. 13, no.8 ,pp.890~896
[9] 2003년 3월에 발행된 C. De Vleeschouwer, J.F. Delaigle 및 B. Macq 저, "Circular interpretation of bijective transformations in lossless watermarking for media asset management," IEEE Transactions on Multimedia, vol.5,pp 97~105
[10] 1996년에 발행된 W. Bender, D. Gruhl, N. Morimoto 및 A.Lu, "Techniques for data hiding," IBM Systems Journal, vol. 35, no. 3~4, pp. 313~335
[11] J.G. Proakis, Digital Communications, 4th editon, McGraw-Hill 2000.
[12] 1995년에 발행된 S.B. Wicker 저, Error Control System for Digital Communication and Storage, Englewood Cliffs, NJ: Prentice-Hall
[13] 2004년 6월에 발행된 Z. Ni, Y. Q. Shi, N . Ansari, W. Su, Q. Sun 및 X. Lin, "Robust lossless image data hiding," Proceedings of IEEE International Conference on Multimedia and Expo, Taipai, Taiwan
[14] 1996년 5월에 발행된 G. Voyatiz 및 I. Pitas, "Chaotic mixing of digital images and applications to watermarking," Proceedings of European Conference of Multimedia Applications, Services Techniques(ECMAST '96), PP.687~695
[15] 2004년 6월에 발행된 Z. Zhang, Q. Sun, X. Lin, Y.Q. Shi 및 Z. Ni, "A unified authentication framework for JPEG2000 images," Proceedings of IEEE Conference on Multimedia and Expo, Taipei, Taiwan
[16] Information Technology - JPSEC Commission Draft(Version 2.0), ISO/IEC JTC1/SC29/WG1 N3397, 2004년 9월.
인증
JPEG2000은 다른 것 중에서 손실 및 무손실 압축, 향상된 압축율, 해상도 확장성, 품질 확장성, ROI(관심 도메인) 등을 포함하는 많은 진보된 특징들을 가진다. 그러므로, 이러한 인자들을 JPEG2000 이미지들을 이용하고자 하는 인증 시스템을 설계할 때 기억하고 있어야 한다. 여기서 기술된 진보된 원리들은 JPEG2000이 아닌 이미지 데이터 저장 형식을 사용할 수도 있다.
인증 시스템 및 방법은, 바람직하게 JPEG2000의 진보된 특징들을 이용할 수 있다. 예를 들어, 상기 시스템 및 방법은, 스케일러블한 방법으로 JPEG2000 이미지를 보호할 수 있어야 한다. JPEG2000을 졍렬하기 위해, 상기 시스템 및 방법은 하나 또는 그 이상의 성분, 타일, 해상도, 품질층, ROI, 구역, 또는 코드 블록을 보호할 수 있어야 한다. 인증 프레임워크는, 바람직하게 이미지의 부수적인 왜곡이 발생한 때에도 임베드된 데이터의 인증 상태를 잃어버리지 않도록 충분히 강건한 한편, JPEG2000 이미지들에 대한 안전하고 효과적인 보호를 제공할 수 있다. 상기 인증 프레임워크는, 바람직하게 JPEG2000의 진보된 특징들과 타협하거나 또는 전형 적인 애플리케이션을 제한하는 방식으로 획득되지 않는다. 예를 들어, 해결책은, JPEG2000 이미지들의 무손실 압축 특성을 그대로 유지하고 있어야 한다. 인증 프레임워크는, X.509와 같은 최근 정보 안전 표준들과 양립할 수 있어야 한다.
인증은 데이터 무결성을 보호하고 불인정을 방지하는 프로세스이다. 일반적으로, 이것은 서명 프로세스 및 증명 프로세스를 포함한다. 디지털 서명은 데이터 인증을 위한 도구이다. 일반적으로 말하면, 이것은 특정 메시지가 보내졌고, 사인한 사람이 창작자라는 증거로서 리시버가 사용할 수 있는 어떤 데이터(즉, 서명)를 포함한다. 사인은 보호된 데이터를 위한 서명을 생성하는 프로세스이다. 증명은 보호된 데이터의 파괴를 검출하거나 데이터가 수정된다는 것을 확인하는 프로세스이다. 일반적으로 해쉬는 암호학에서 일방향의 함수를 지칭한다. 전형적인 해쉬 함수들은, MD-5 및 SHA-1이다.
L.A.B.R.(최저 인증 비트율)은 인증 강도를 지칭한다. 2004년 6월에 발행된 Z. Zhang, Q. Sun, X. Lin, Y.Q. Shi 및 Z. Ni, "A unified authentication framework for JPEG2000 images," Proceedings of IEEE Conference on Multimedia and Expo, Taipei, Taiwan에 개재된 문서는, 여기에 참조로서 결합된다. 상기 재코딩되거나 또는 트랜스코딩된 JPEG2000 의 비트율이 LABR보다 큰 경우, 신뢰성은, 여기에 개시된 시스템 및 방법에 의해 보증된다.
약한 인증에서, 보호는, 이미지 컨텐츠 대신 이미지 데이터에 기초한다. 상기 보호된 이미지 데이터 중 하나의 비트의 변형이라도, 비록 이것이 컨텐츠의 의미를 변경하는 것이 아닐지라도, 이미지가 인증받지 못하도록 할 수 있다. 손실 인 증에서, 보호는, 이미지 컨텐츠에 기초한다. 손실 인증은, 손실적인 방법으로 컨텐츠를 워터마킹하는 것에 의해 정의된 부수적인 왜곡에 대하여 강건하다. 무손실 인증에서, 보호는 또한 이미지 컨텐츠에 기초한다. 또한 상기 정의된 부수적인 왜곡에 대하여 강건하다. 그러나, 트랜스코딩이 적용되지 않았다면, 워터마크 추출 후 원본 이미지를 복구할 수 있다.
부수적인 왜곡은, 일반적으로 범용 이미지 처리 및 신뢰할 수 없는 네트워크 전송에 의해 유입된다. 보통, 부수적인 왜곡은, 이미지 의미를 변경시키지 않지만, 이미지의 품질을 손상시킬 수 있다. 의도적인 왜곡은, 일반적으로 화상 컨텐츠의 의미를 변경시키는 악의적인 공격에 의해 유입될 수 있다. 손실 워터마킹은 지각되지 않을지라도, 일반적으로 영구적인 이미지 품질의 손상을 가져온다.
무손실 워터마킹은, 일반적으로 지각되지 않을지라도, 이미지 품질의 손상을 야기시킨다. 그러나, 원본 컨텐츠는, 워터마크된 JPEG2000 이미지에 트랜스코딩이 적용되지 않았다면, 워터마크 추출 후 정확하게 복원될 수 있다.
패러티 검사 비트(PCB)는, 오류를 검출하고 수정하기 위해, 데이터 저장 및/또는 데이터 전송 내에 포함된 잉여 비트로 지칭된다. "공격"이라는 용어는, 일반적으로 (손실 또는 무손실인 강건한 인증에 있어서), 컨텐츠 의미의 변화를 가져오는 컨텐츠 변형에 대응한다. 약한 인증에 있어서, 하나의 비트 변형은, 일반적으로 공격으로 취급된다. 상기의 용어는 상기에서 제공된 설명에 제한되지는 않는다.
기능들
제안된 시스템은, JPEG2000 이미지에 대한 하나의 단일화된 프레임워크에서 약한 인증, 손실 인증, 및 무손실 인증에 결합된다. 그러나, 여기서 개시된 원리들은, 다른 이미지 데이터 저장 형식으로 사용될 수 있다. 압축 비트율에 의해 양적으로 제어되는 JEPG2000 압축 강도와 유사하게, 인증 강도 또한, "최저 인증 비트율(LABR)이라는 파라미터에 의해 양적으로 한정될 수 있다. 이것은, LABR 이상의 JPEG2000 이미지의 모든 데이터/컨텐츠는 보호된다는 것을 의미하는데, 이것은 이러한 시스템의 사용자들에게 무척 편리하다.
약한 인증은, 바람직하게 코드스트림의 하나 또는 그 이상의 부분들 또는 주요 헤더로부터 EOC(컨텍스트의 끝) 마커까지의 전체 코드스트림을 보호하는 데 사용된다.
이것은 약한 인증이므로, 상기 보호된 부분의 하나의 비트 변형은, 이미지를 인증받지 못하게 한다. 손실 인증은, 반-약한 방법으로 JPEG2000 이미지를 보호하는 데 사용된다. 이것은, 부수적인 왜곡에 대해 보다 강건하다. 손실 인증 후의 이미지 품질은, 워터마크 임베드로 인해, 지각되지 못할 정도까지 손상된다. 이와 유사하게, 무손실 인증은 또한 반-약한 방법으로 JPEG2000 이미지들을 보호하지만, 트랜스코딩이 적용되지 않았다면, 원본 이미지는 워터마크 추출 후 복원될 수 있다. 제안된 시스템의 전형적인 기능들은, 이하에 리스트된다.
약한 인증.
약한 인증 모드에서, JPEG2000 이미지는, 이하를 포함하는 다양한 상세화에 의해 보호될 수 있다: 전체 코드스트림의 보호; 하나 또느 그 이상의 타일들과 관련있는 코드스트림의 일부의 보호; 하나 또는 그 이상의 성분들과 관련있는 코드스 트림의 일부의 보호; 하나 또는 그 이상의 해상도 레벨들에 관련있는 코드스트림의 일부의 보호; LABR에 의해 정의되는, 하나 또는 그 이상의 품질층들에 관련있는 코드스트림의 일부의 보호; 하나 또는 그 이상의 도메인들에 관련있는 코드스트림의 일부의 보호; 하나 또는 그 이상의 코드 블록들에 관련있는 코드스트림의 일부의 보호; 하나의 ROI에 관련있는 코드스트림의 일부의 보호.
손실 인증.
손실 인증에서, 디지털 서명은, 트랜스코딩 및 JPEG2000 인코딩과 디코딩의 복수 주기들과 같은 행동들로부터 야기되는 부수적인 왜곡에서 생존할 수 있다. 그러나, 이미지 컨텐츠가 의도적으로 변형되면, 즉, 컨텐츠 의미가 변경되면, 이것은, 증명 프로세스를 통과할 수 없다. 그 명칭이 가리키는 바와 같이, 워터마크 임베드 후 이미지 품질이 지각할 수 없는 정도로 손상된다는 의미에서 손실이다.
이와 유사하게, 이미지는 이하의 보호 상세화를 제공받을 수 있다: 전체 이미지 컨텐츠; LABR에 의해 정의되는, 하나 또는 그 이상의 품질 층들의 이미지 컨텐츠; 하나 또는 그 이상의 타일들의 이미지 컨텐츠; 하나 또는 그 이상의 성분들의 이미지 컨텐츠; 하나 또는 그 이상의 ROI들의 이미지 컨텐츠; 하나 또는 그 이상의 해상도들의 이미지 컨텐츠; 하나 또는 그 이상의 도메인들의 이미지 컨텐츠; 하나 또는 그 이상의 코드 블록들의 이미지 컨텐츠.
이에 더하여, 손실 인증에서, 이미지가 악의적으로 조작된다면, 공격된 도메인을 할당(국소화)하는 것은 가능하다.
바람직하게, 무손실 인증은, 한 단계 더 나아간다. 무손실 인증은 만약 트랜 스코딩이 적용되지 않았다면 워터마크 추출 후 원본 이미지를 복원할 수 있다. 만약 트랜스코딩이 적용되었다면, 원본 이미지는 일반적으로 복원되지 못할 수 있다. 그러나, 트랜스코드된 이미지는, 상기 트랜트코드된 이미지의 비트율이 LABR 이상인 경우 인증된 것으로 증명될 수 있다. 무손실 인증은, 또한 부수적인 왜곡에 대하여 강건함을 제공한다. 무손실 인증에서, 공격된 도메인을 할당하는 것 또한 가능하다.
이미지는, 이하의 상세화로 보호될 수 있다: 전체 이미지 컨텐츠; LABR에 의해 정의되는, 하나 또는 그 이상의 품질 층들의 이미지 컨텐츠; 하나 또는 그 이상의 타일들의 이미지 컨텐츠; 하나 또는 그 이상의 성분들의 이미지 컨텐츠; 하나 또는 그 이상의 ROI들의 이미지 컨텐츠; 하나 또는 그 이상의 해상도들의 이미지 컨텐츠; 하나 또는 그 이상의 도메인들의 이미지 컨텐츠; 하나 또는 그 이상의 코드 블록들의 이미지 컨텐츠.
일반적인 설명
도 27은, 본 발명의 하나 또는 그 이상의 양상들에 따르는 JPEG2000 이미지 인증을 위한 제안된 시스템을 도시하고 있다. 왼쪽 부분은 인코더이고, 오른쪽 부분은 디코더이다. 인코더는, (CBR, 5/3 필터, 또는 9/7 필터 등과 같은) 인코딩 파라미터들, 인코딩될 원본 이미지, 및 (LABR, 보호된 위치들, 및 인증 모드와 같은) 인증 파라미터들을 포함하는 3개의 파라미터 세트를 받아들인다.
특정 인증 모드에 종속하여, 서로 다른 인증 모듈은 이미지가 인코딩될 때 활성화된다. 약한 인증이 특정되면, "약한 서명" 모듈은, 디지털 서명을 생성하기 위해 활성화되는데, 이것은, 전통적인 암호화 서명의 직접적인 해결책이다. 손실 인증이 특정되면, "손실 서명" 모듈은, 이미지에 워터마크를 임베드하고 디지털 서명을 생성하기 위해 활성화되는데, 이것은 바람직하게 부수적인 왜곡에 대해 보다 강건하다. 무손실 인증이 특정되면, "무손실 서명" 모듈은, 이미지에 워터마크를 임베드하고 디지털 서명을 생성하기 위해 활성화되는데, 이로써, 만약 트랜스코딩이 적용되지 않았다면, 서명 증명 후, 이미지 컨텐츠는, 정확하게 복원될 수 있다. 트랜스코딩이 이미지에 적용되었다면, JPEG2000 이미지는 증명될 수 있으나 정확하게 복원될 수는 없다. 이 경우에 있어서, 상기 시스템 및 방법의 최종 출력은, (약한 인증을 위한 워터마크가 없고, 손실 및 무손실 인증을 위한 워터마크가 있는) JPEG2000 이미지 및 이와 연관된 디지털 서명이다.
역 방향에 있어서, 디코더는 4개의 입력을 받아들인다: 디코드될 JPEG2000 이미지, 디지털 서명, 공개 키 및 인증 파라미터들. 도 27의 인코더와 연결된 설명과 유사한 방식으로, 특정 인증 모드는, 바람직하게 이미지가 디코드될 때 어떠한 증명 모듈(약한 증명, 손실 증명 또는 무손실 증명)이 활성화될지 여부를 결정한다. 상기 디코더의 최종 출력은, 디코드된 이미지, 증명 상태 및 (이미지가 악의적으로 조작된 장소인)공격된 도메인들에 관한 정보이다. 무손실 증명 후, 상기 디코드된 이미지는 원본 이미지과 정확하게 동일한 것을 기억하자.
약한 인증
약한 인증은 코드스트림 레벨에서 JPEG2000 이미지를 보호하기 위해 선택된다. 약한 서명 및 증명 작동들은, 도 28 및 29에 도시된 바와 같이, 직접적이다. 서명 작동 동안 (도 28 참조), 원본 이미지는, 기존의 절차에 따라 인코드된다. 상기 코드스트림이 형식화되고, LABR 및 다른 파라미터들에 의해 특정된 바와 같이, 그 보호된 부분들은 추출되고, 기존의 해싱 및 서명 작동들에 공급된다. 결과적으로, 디지털 서명은 바람직하게 생성된다. 증명 작동 동안(도 29 참조), 코드스트림은 디코딩되는 파싱되고, LABR 및 다른 파라미터들에 의해 특정된 바와 같이, 그 보호된 부분들은 추출되고, 기존의 해싱 및 서명 작동들에 공급된다. 이것은 "인증" 또는 "불인증"으로 증명 결과를 리턴한다. 보호된 부분에서의 하나의 비트 변형이라도 복원된 데이터는 인증받지 못한 것으로 취급될 수 있다.
손실 인증
손실 인증은, 보통 무선 통신과 같은 보다 큰 강건함의 필요에서 애플리케이션들을 위해 선택된다. 도 30은, 본 발명의 하나 또는 그 이상의 양상들에 따르는 손실 서명 작동을 도시하고 있다. 먼저, 원본 이미지 3002는 바람직하게 JPEG2000 인코딩에 기본적인 절차들인, 컬러 및 웨이블릿 변환 및 양자화 3004, 산술 코딩 3006, 및 EBCOT (최적 절단을 갖는 임베드된 블록 코딩) 3008을 거치게 된다. EBCOT 3008 프로세스는 바람직하게 코드된 블록 각각에 대하여, LABR 이상의 비트 평면들(즉, LABR에 대한 트랜스코딩 작동에서 생존한다)을 결정한다. 그 후 인간 시각 시스템(HVS)에 기초하여, 어떠한 해상도 레벨(X)이 특징 추출 3010에 적합한지 및 어떠한 해상도 레벨(Y)이 워터마킹 임베드에 적합한지를 결정한다. 블록 기반의 특징 Fi는 그 후, 코드워드 CWi를 생성하기 위해, 선택된 오류 수정 코딩(ECC) 기술에 의해 인코드된다. CWi의 패러티 검사 비트들, PCBi는, 블록 기반의 워터마크 Wi를 형성하는 시드로서 사용되는데, 이것은, 그 후 Y의 LH 또는 HH 하위 밴드에서 대응하는 블록으로 임베드된다.
추가적으로, 모든 블록들로부터의 특징은, 밀집되고 또한 최종 비트 시퀀스는 바람직하게 MD5 또는 SHA-1과 같은 암호화 해싱 함수에 의해 해쉬된다. 생성된 해쉬 값은 그후 바람직하게 암호화 서명 3014을 형성하기 위해 컨텐츠 수신자의 비밀 키를 이용하여 서명된다 3012.
도 31은, 본 발명의 하나 또는 그 이상의 양상들에 따르는 손실 증명 작동이 도시되어 있다. 코드스트림 파서는 바람직하게 각 블록에 대하여, LABR 이상의 비트 평면들을 결정한다. 이러한 결정에 기초하여, 특징 추출에 대한 해상도 레벨 X 및 워터마크 추출에 대한 해상도 Y가 결정될 수 있다. 블록 기반의 특징 추출은 바람직하게 도 30의 손실 서명 작동에서 사용된 것과 동일하다. 블록 기반의 워터마크는 해상도 Y에서 각 블록으로부터 추출된다. 만약 입력 이미지가 JPEG2000 형식이 아니라면, 워터마크 및 특징들은 바람직하게 서명 작동에서 사용된 것과 동일한 작동을 사용하여 획득된다.
그 후, 각 블록으로부터의 PCB들 및 특징들의 결합은, 코드워드를 형성하고, 전체 증명 결정은, 순서대로 되게 된다. 먼저, 어떠한 블록들이 수정할 수 없는지 여부를 보기 위해 각 블록에 대하여 코드워드의 패턴을 계산한다. 만약 어떠한 블록들이 수정할 수 없다면, 이미지는 인증받을 수 없는 것으로 취급되고, 수정될 수 없는 코드워드들을 갖는 블록들은, 공격된 도메인들로 취급된다. 그러나, 모든 코드워드들이 수정될 수 있다면(즉, 어떠한 특징 코드에 있어서의 오류들은, PCB에 의해 수정될 수 있다), 모든 수정된 코드워드들은 비트 시퀀스로 연결된 후, 암호학적으로 해쉬된다. 최종 증명 결과는, 공급된 서명 및 공개 키를 이용하여, 암호학적 증명 작동에 통해 나온다.
무손실 인증
무손실 모드는, 바람직하게 워터마크된 이미지의 무손실 복원이 필요한 애플리케이션에 관련된 의료 또는 원격 이미지형성을 위해 선택된다. 무손실 서명 작동은, 손실 서명 작동과 매우 유사하다(도 30 참조). 차이점은 단지, 워터마크 임베드 모듈에 있다. 패치라고 불리는, 8 x 8 블록들로 분리된 64 x 64 픽셀들의 코드 블록이 고려된다. 패치 내의 픽셀 값들은, 2개의 부분집합들로 분리된다. 그 후 상기 패치에 대한 블록 차이 값 α가 계산되는데, 이것은 2개의 개별 부분집합들 내의 픽셀 값들의 차이들의 산술 평균으로 정의된다. 패치 내에서 계수들은 매우 상관성이 높기 때문에, 패치 차이 값 α는 0에 매우 가까울 것으로 예상된다. 나아가, α는, 패치 내의 모든 픽셀 값들에 기초하기 때문에, 이것은 부수적인 왜곡에 대한 확실한 강건함을 가진다. 각 패치는, 도 32에 도시된 바와 같이, 바람직하게 한 비트가 임베드된다. 논리적 1 비트가 임베드되면, 한 부분집합 내에서, 각 픽셀 값에 고정된 수(시프트 값)를 더하거나 또는 각 픽셀 값으로부터 고정된 수를 빼는 것에 의해, 블록 차이 값 α는 오른쪽으로 또는 시작 값을 넘어 왼쪽으로 시프트된다. 논리적 0 비트가 임베드되면, 패치는 변경되지 않은 채로 남아 있다. 시프트 값을 더하지 않고 패치에 대한 블록 차이 값 α가 시작 값을 초과하고, 논리적 0 비트가 임베드되는 상황이 있다. 이 경우에 있어서, 상기 블록 차이 값 α는 시작 값을 넘어 시프트되고, 최종 비트 오류를 수정하기 위해 오류 수정 코딩에 의존한다. 워터마크 비트들은, 임베드되기 전에 다시 ECC 인코드됨을 기억하자.
서명 작동에서, 무손실 증명 작동은 또한 워터마크 추출을 제외하고, 손실 증명 작동과 유사하다. 코드 블록은 패치들로 분리되고, 각 패치의 블록 차이 값 α는, 무손실 서명 작동과 동일한 방식으로 계산된다. 각 패치에 대하여, 블록 차이 값 α가 시작 값 이상이면, "1" 비트가 추출되고, 블록 차이 값 α가 원본 위치로 다시 시프트되는데, 이것은 원본 픽셀 값들이 복원되는 것을 의미한다. 블록 차이 값 α가 시작 값 이하이면, "0" 비트가 추출되고, 블록 차이 값 α는 변경되지 않은 채 남겨진다. 마지막으로 오류 코드 수정은, 바람직하게 교정된 워터마크 비트를 얻기 위해, 추출된 비트 시퀀스에 적용된다.
디지털 서명
일 실시예에 있어서, 이미지 내에 임베드되는 데이터는, 디지털 서명이다. 이 디지털 서명은, 이미지 내의 컨텐츠 특징으로부터 생성될 수 있다. 바람직하게, 컨텐츠 특징은 먼저 이미지로부터 추출된 후, 바람직하게 이미지 컨텐츠 특징으로부터 디지털 서명을 생성하기 위해, 일방향 해쉬 함수 및 비밀/공개 키 암호화가 사용된다. 상기 디지털 서명은, 512 비트 또는 1024 비트 길이일 수 있다. 그러나, 다른 실시예에 있어서, 디지털 서명은, 512 비트보다 작거나 큰 다양한 길이를 가질 수 있다. 이 프로세스의 바람직한 실시예는 도 33에 도시되어 있다. 바람직한 실시예에 있어서, 디지털 서명은, 워터마크된 이미지를 얻기 위해, 상기에서 기술된 무손실 데이터 숨김 알고리즘에 따라 원본 이미지 내에 임베드된다.
도 34는, 본 발명의 하나 또는 그 이상의 양상들에 따라 디지털 서명을 위한 인증 프로세스를 도시한 블록 다이어그램이다. 바람직하게, 추출된 마크 및 복원된 이미지는 이 문서의 다른 곳에서 기술된 추출 기술에 따라 워터마크된 이미지로부터 획득된다. 바람직하게, 만약 이미지가 변경되었다면, 인증 프로세스는, 이미지의 어떠한 부분이 변경되었는지 검사하기 위해 사용될 수 있다. 만약 지역적으로 추출된 비트가 생성된 서명 비트와 일치하지 않는다면, 바람직하게 방법은, 블록이 변경되었다는 결론을 내린다.
바람직하게, 여기에 개시된 새로운 강건한 무왜곡 이미지 데이터 숨김 기술은, JPEG 및 JPEG2000 압축에 대한 확실한 강건함을 가진다. 여기에 개시된 데이터 임베드 시스템 및 및 방법의 하나 또는 그 이상의 양상들은, 바람직하게 존재하는 강건한 무왜곡 데이터 숨김 기술에 대한 어떤 장점들을 나타낸다. 이러한 장점들은, 모듈로 256 가산에 의한 종래 방법에서 발생하는, 솔트 앤 페퍼 잡음이 없는 것을 포함할 수 있다. 여기에 개시된 시스템 및 방법의 하나 또는 그 이상의 양상들은, (의료 이미지들 및 CorelDrawTM 데이터베이스 내의 1000개 이상의 이미지들 및 모든 JPEG2000 테스트 이미지들을 포함하는) 다양한 범위의 흔하게 사용되는 이미지들에 적용될 수 있다.
여기에 개시된 시스템 및 방법의 하나 또는 그 이상의 실시예는, 대략 37 dB 이상의 마크된 이미지들의 평균 PSNR을 제공하고, 소정 정도로 JPEG2000 또는 JPEG 압축에 대하여 강건하다. 여기에 개시된 시스템 및 방법의 하나 또는 그 이상의 실 시예는, JPEG2000 테스트 이미지들에 대한 1024 비트 또는 512 비트의 데이터 임베드 용량을 제공할 수 있다. 여기에 개시된 시스템 및 방법의 하나 또는 그 이상의 실시예는, 이미지 인증 및 반 강건 무결성 증명을 위해 사용될 수 있다.
시스템 분석
이 부분은, 여기에 개시된 데이터 임베드 및 복원 시스템 및 방법의 하나 또는 그 이상의 실시예들을 위한 알고리즘적 복잡도, 저장 오버헤드(overhead), 데이터 확장, 및 전송 오류의 영향 및 안전도 분석에 대하여 더욱 자세하게 한다.
복잡도
약한 서명 및 증명 작동에 대하여, 처리 오버헤드(overhead)는, 표준 JPEG2000 인코딩/디코딩 시간의 대략 5%를 사용한다. 이러한 계산 부담은, 코드스트림으로부터, LABR 및 위치 파라미터들에 의해 특정되는 보호된 세그먼트를 발견하고, 상기 코드스트림으로부터 보호된 세그먼트를 추출하는 것에 대부분 의한다. 이러한 단계들은 바람직하게 상기 코드스트림이 형성될 때 수행되어, 상기 단계들에 대한 처리 오버헤드(overhead)를 최소화할 수 있게 된다. 상기 처리 오버헤드(overhead)는 또한 상기 코드스트림의 추출된 부분에 하나의 해쉬(MD5/SHA-1) 작동을 수행하고, 하나의 RSA/DSA 서명 또는 증명 작동을 수행하는 것을 포함할 수 있다.
손실 또는 무손실 작동들에 대하여, 처리 오버헤드(overhead)는, 표준 JPEG2000 인코딩/디코딩 시간의 대략 20%를 사용한다. 이 처리 오버헤드(overhead)는, 이하의 작동들을 포함할 수 있다: 특징을 추출할 장소 및 워터마크의 임베드/ 추출할 장소의 결정을 위해, LABR 이상의 모든 비트 평면들의 확인. 이 처리 오버헤드(overhead)는, 이하를 더 포함할 수 있다: 보호된 각 코드 블록으로부터 특징들의 추출, 보호된 코드 블록 각각에 대한 ECC 코딩 또는 수정, 워터마크 임베드 또는 추출, 하나의 해쉬 작동, 하나의 RSA/DSA 서명 또는 증명 작동, 및 저장 오버헤드(overhead).
바람직한 실시예에 있어서, 약한 서명 및 증명 작동에 대하여, 오버헤드(overhead)는, 코드스트림의 보호된 부분이 서명 및 증명을 위해 메모리 내에 임시적으로 저장될 필요가 있다는 사실로부터 나온다. 예를 들어, 500 KB 이미지에 대하여, 최대 메모리 오버헤드(overhead)는 500 KB이다.
손실 및 무손실 인증 작동에 대하여, 현재 타일 내의 양자화된 계수들은 바람직하게 웨이블릿 및 양자화 단계들을 반복하지 않도록 하기 위해, 메모리 내에 임시적으로 저장된다. 이 경우에 있어서, 상기 오버헤드(overhead) 요구사항은, 일반적으로 타일의 크기에 종속한다. 예를 들어, 타일 크기가 256 x 256 이면, 상기 오버헤드(overhead)는 대략 1 MB일 수 있다.
데이터 확장
약한 인증에 대하여 상기 오버헤드(overhead)는 디지털 서명 데이터, 보호된 위치 정보, 공개 키 정보 등과 같은 부가 정보이다. 일 실시예에 있어서, 앞으로 필요한 공간은 대략 300 바이트이다. 최종 코드스트림은, 바람직하게 정상적인 인코딩과 동일하다. 손실 및 무손실 인증에 대하여 부가 정보에 필요한 상기 오버헤드(overhead)는 바람직하게 약한 인증에 대한 것과 동일하다. 최종 코드스트림 크 기는 정상 인코드된 코드스트림에 대한 것보다 작거나 같은 대략 200 바이트이다.
전송 오류의 영향
일 실시예에 있어서, 약한 인증에 대하여, 전통적인 암호화 서명의 특성으로 인하여, 어떠한 전송 오류라도 증명의 실패로 귀착된다. 일 실시예에 있어서, 손실 및 무손실 인증에 대하여, 오류 비트 수가 크기 않는 한, 해결책의 강건함으로 인하여, 여기서 개시된 시스템 및 방법은 이미지를 인증할 수 있다.
안전도 분석
일 실시예에 있어서, 약한 인증에 대하여, 안전도 강도는, 해쉬(MD5 또는 SHA-1) 및 서명(RSA 또는 DSA) 알고리즘의 강도와 동일하다. 그러나, 손실 및 무손실 인증에 대하여, 어떠한 변형이 추출된 특징들에 영향을 주지 않을 수 있고, 변형된 특징들 중 몇몇은 ECC에 의해 변경될 수 있기 때문에, 컨텐츠 기반의 추출 및 오류 수정 코딩(ECC)은, 안전도 강도를 감소시킬 수 있다. 그러나, 이러한 안전도 위험은, 이미지 컨텍스트 특성과 보상될 수 있다.
여기에 개시된 시스템 및 방법의 바람직한 실시예는, 컨텐츠를 인증 비트율로 더욱 상세하게 나타냄으로써, 멀티미디어 컨텐츠를 인증하기 위한 시스템적이고 양적인 방법을 제공한다. 이것은, 하나의 파라미터, 특히 컨텐츠를 보호하기 위한 인증 비트율을 주요요소로 삼는 것에 의해, 사용자에게 인증 애플리케이션이 보다 편리하도록 해 준다.
여기에 개시된 시스템 및 방법의 바람직한 실시예는, 서로 다른 JPEG2000 코이 설정들에 일치하는 서로 다른 서명 모듈들(약한, 무손실, 손실)을 사용하는 것 에 의해 실제 애플리케이션으로부터의 서로 다른 인증 요구조건들을 만족시키는 프레임워크를 제공한다. 상기 바람직한 시스템 및 방법은, 바람직하게 JPEG2000 코딩 및 전통적인 암호화 기술에 완전히 양립가능하다. 게다가, 상기 바람직한 시스템 및 방법은 바람직하게 JPSEC 도구들에 의해 필요하거나 매우 적합하다.
이하의 문서들은, 여기에 참조로서 결합된다.
1) 2004년 6월에 발행된 Z. Zhang, Q. Sun, X. Lin, Y.Q. Shi 및 Z. Ni, "A unified authentication framework for JPEG2000 images," Proceedings of IEEE Conference on Multimedia and Expo, Taipei, Taiwan
2) Information Technology - JPSEC Commission Draft(Version 2.0), ISO/IEC JTC1/SC29/WG1 N3397, 2004년 9월
3) Zhishou Zhang, Gang Qiu, Qibin Sun, Xiao Lin, Zhicheng Ni 및 Yun-Qing Shi 저, WG1N3074 "A Unified Authentication Framework for JPEG2000 image: System Description and Experiment Results"
4) Qibin Sun, Xiao Lin, 및 Yun-Qing Shi 저, WG1N2946, "A Unified Authentication Framework for JPEG2000 image"
5) Touradj Ebrahimi 및 Claude Rollin, WG1N30555 "JPSEC Working Draft - Version 2.0"
비록 여기의 발명이 특정 실시예들을 참조하여 기술되었을지라도, 이러한 실시예들은 단지 본 발명의 원리 및 애플리케이션을 보여주는 것에 불과함을 이해할 것이다. 그러므로, 기술된 실시예로 다양한 변형이 가능하고, 첨부된 청구항들에 의해 정의되는 본 발명의 개념 및 범위를 벗어나지 않는 다른 배치가 고안될 수 있음을 이해할 것이다.

Claims (63)

  1. 이미지의 블록 내에서 적어도 2 개의 픽셀들의 부분집합들을 식별하는 단계;
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하는 단계;
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한, 여러 개의 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 상기 차이 값을 생성하는 단계; 및
    상기 적어도 2개의 부분집합들 모두보다 작은 부분집합에서 픽셀들의 픽셀 값을 수정하여, 상기 블록 내에 비트 값을 임베드시키도록 하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 부분집합들 모두보다 작은 부분집합에는 단지 하나의 부분집합을 포함하는 방법.
  3. 제1항에 있어서,
    상기 수정은 논리적 1비트 값이 상기 블록에 임베드되도록 하는 방법.
  4. 제1항에 있어서,
    상기 블록의 대비(contrast) 상태를 식별하는 단계; 및
    상기 대비(contrast) 상태에 따라 상기 수정을 조정하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 대비(contrast) 상태를 확인하는 단계는,
    상기 블록의 히스토그램의 상태를 식별하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 대비(contrast) 상태를 확인하는 단계는,
    상기 블록에 대한 상기 차이 값들의 산술 평균과 같은 상기 블록 차이 값을 식별하는 단계를 포함하는 방법.
  7. 제4항에 있어서,
    상기 블록 내의 어떠한 비트 오류들을 수정하기 위해 오류 수정 코딩을 사용하는 것을 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 적어도 2개의 부분집합들은 정확하게 2개의 부분집합들을 포함하고, 상 기 픽셀 그룹들 모두는 정확하게 2개의 픽셀들을 포함하고,
    상기 생성하는 단계는 상기 차이 값을 상기 픽셀 그룹 각각의 상기 정확하게 2개의 픽셀들 사이의 픽셀 값의 차이와 동일하게 설정하는 것을 포함하는 방법.
  9. 제1항에 있어서,
    상기 적어도 2개의 부분집합들은 상기 첫번째 부분집합 및 상기 두번째 부분집합만을 포함하고,
    상기 블록은 상기 첫번째 부분집합 및 상기 두번째 부분집합의 픽셀들의 체커판(checkerboard) 분포 패턴을 포함하는 방법.
  10. 제1항에 있어서,
    상기 이미지의 상기 블록에 대한, 상기 복수의 차이 값들의 평균과 동일한 블록 차이 값을 계산하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서,
    시프트 값만큼 상기 블록 차이 값을 변경하는 단계를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 시프트 값은 미리 정해진 크기를 가지는 방법.
  13. 제11항에 있어서,
    상기 블록 차이 값을 변경은 비트 값을 상기 이미지의 상기 블록 내에 임베드시키는 방법.
  14. 제11항에 있어서,
    시작 값인 차이 값을 설정하는 단계를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 시프트 값은 상기 시작 값인 차이 값의 크기를 초과하는 방법.
  16. 제11항에 있어서,
    상기 블록 차이 값을 변경하는 단계는,
    논리적 1비트 값을 상기 이미지의 상기 블록 내에 임베드시키는 단계를 포함하는 방법.
  17. 제16항에 있어서,
    상기 임베드된 비트 값은 복원 가능한 방법.
  18. 제16항에 있어서,
    상기 임베드하는 단계는,
    상기 비트를 상기 이미지의 상기 블록에 숨기는 단계를 포함하는 방법.
  19. 제16항에 있어서,
    상기 임베드하는 단계는,
    상기 디지털 서명의 적어도 어느 일부를 상기 이미지의 상기 블록 내에 제공하는 단계를 포함하는 방법.
  20. 제1항에 있어서,
    상기 픽셀 값들은 그레이스케일 값들인 방법.
  21. 제1항에 있어서,
    상기 픽셀 값들은 색상 정보를 포함하는 방법.
  22. 임베드된 비트 값을 포함하는 이미지의 블록을 적어도 2개의 픽셀들의 부분집합들로 분리하는 단계;
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하는 단계;
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한, 여러 개의 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 상기 차이 값을 생성 하는 단계;
    상기 블록으로부터 상기 임베드된 비트 값을 추출하는 단계; 및
    상기 부분집합들 중 적어도 하나 부분 집합의 픽셀들의 픽셀 값들을 변경하지 않은 채로 유지함으로써, 상기 임베드된 비트 값으로 변경되기 이전의 상기 픽셀 값의 상태로 상기 픽셀 값을 복원하는 단계를 포함하는 방법.
  23. 제22항에 있어서,
    상기 추출하는 단계는,
    상기 블록 차이 값이 시작 값인 차이 값을 초과하는 경우에, 상기 블록으로부터 논리적 1 비트 값을 추출하는 것을 포함하는 방법.
  24. 제22항에 있어서,
    상기 추출하는 단계는,
    상기 블록 차이 값이 시작 값인 차이 값보다 작은 경우에, 상기 블록으로부터 논리적 0 비트 값을 추출하는 것을 포함하는 방법.
  25. 제22항에 있어서,
    상기 블록의 대비(contrast) 상태를 식별하는 단계; 및
    상기 대비(contrast) 상태에 따라 상기 추출을 조정하는 단계를 더 포함하는 방법.
  26. 제25항에 있어서,
    상기 대비(contrast) 상태에 따라 상기 복구를 조정하는 단계를 더 포함하는 방법.
  27. 제25항에 있어서,
    상기 대비(contrast) 상태를 식별하는 단계는,
    상기 블록의 히스토그램의 상태를 식별하는 방법.
  28. 제25항에 있어서,
    상기 대비(contrast) 상태를 식별하는 단계는,
    상기 블록에 대한 블록 차이 값을 식별하는 단계를 포함하는 방법.
  29. 제22항에 있어서,
    상기 추출된 임베드된 비트 값 내의 어떠한 오류를 수정하기 위해, 오류 수정 코딩을 사용하는 것을 더 포함하는 방법.
  30. 이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 식별하는 단계;
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번 째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하는 단계;
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한, 여러 개의 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 상기 차이 값을 생성하는 단계;
    상기 여러 개의 차이 값의 평균과 동일한, 상기 이미지의 상기 블록에 대한 초기 블록 차이 값을 계산하는 단계; 및
    상기 블록의 포함을 나타내는 논리적 0 비트 값 및 논리적 1 비트 값 중 하나에 기초하여, 상기 부분집합들 중 적어도 하나의 픽셀들의 픽셀 값들을 변경하지 않은 채로 유지함으로써, 상기 이미지의 상기 블록에 대한 최종 블록 차이 값을 설정하는 단계를 포함하는 방법.
  31. 제30항에 있어서,
    상기 최종 블록 차이 값을 설정하는 단계는,
    상기 초기 블록 차이 값을 시프트 값만큼 변경하여 상기 이미지의 상기 블록 내에 논리적 1 비트 값을 임베드시키는 단계를 포함하는 방법.
  32. 제31항에 있어서,
    상기 초기 블록 차이 값을 변경하는 단계는, 상기 부분집합들 중 하나만의 픽셀들의 픽셀 값들을 변경하는 단계를 포함하는 방법.
  33. 제30항에 있어서,
    상기 최종 블록 차이 값을 설정하는 단계는, 상기 초기 블록 차이 값을 변경하지 않는 채로 유지함으로써, 상기 이미지의 상기 블록 내에 논리적 0 비트 값을 임베드시키는 단계를 포함하는 방법.
  34. 주 메모리와 통신 작동이 가능한 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서 각각에 결합된 로컬 메모리를 갖는 컴퓨팅 시스템을 포함하고,
    상기 컴퓨팅 시스템은,
    이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 식별하고,
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하고,
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한 여러 개의 상기 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 차이 값을 생성하고,
    상기 적어도 2개의 부분집합들 모두보다 작은 부분집합에서 픽셀들의 픽셀 값을 수정하여, 상기 블록 내에 비트 값을 임베드하는 것을 특징으로 하는 장치.
  35. 제34항에 있어서,
    상기 부분집합들 모두보다 작은 부분 집합은 단지 하나의 부분집합을 포함하 는 장치.
  36. 제34항에 있어서,
    상기 수정은 논리적 1비트 값이 상기 블록에 임베드되도록 작동하는 것을 특징으로 하는 장치.
  37. 제34항에 있어서,
    상기 컴퓨팅 시스템은 상기 블록의 대비(contrast) 상태를 식별하고,
    또한 상기 대비 상태에 따라 상기 수정을 조정하도록 하는 것을 더 포함하는 것을 특징으로 하는 장치.
  38. 제37항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은,
    상기 블록의 히스토그램의 상태를 식별하도록 작동하는 것을 특징으로 하는 장치.
  39. 제38항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은,
    상기 블록에 대한 상기 차이 값들의 산술 평균과 같은 블록 차이 값을 식별하도록 작동하는 것을 포함하는 장치.
  40. 제37항에 있어서,
    상기 컴퓨팅 시스템은, 상기 블록 내의 어떠한 비트 오류들을 수정하기 위해 오류 수정 코딩을 사용하도록 작동되는 것을 더 포함하는 장치.
  41. 주 메모리와 통신 작동이 가능한 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서 각각에 결합된 로컬 메모리를 갖는 컴퓨팅 시스템을 포함하고,
    상기 컴퓨팅 시스템은,
    이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 식별하고,
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하고,
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한 여러 개의 상기 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 차이 값을 생성하고,
    상기 블록으로부터 상기 임베드된 비트 값을 추출하고,
    상기 부분집합들 중 적어도 하나 부분 집합의 픽셀들의 픽셀 값들을 변경하지 않은 채로 유지함으로써, 상기 임베드된 비트 값으로 변경되기 이전의 상기 픽셀 값의 상태로 상기 픽셀 값을 복원하는 것을 특징으로 하는 장치
  42. 제41항에 있어서,
    상기 추출은,
    상기 블록 차이 값이 차이 값 시작 값을 초과하는 경우, 상기 블록으로부터 논리적 1 비트 값을 추출하도록 작동하는 것을 포함하는 장치.
  43. 제41항에 있어서,
    상기 추출은,
    상기 블록 차이 값이 차이 값 시작 값보다 작은 경우, 상기 블록으로부터 논리적 0 비트 값을 추출하도록 작동하는 것을 포함하는 장치.
  44. 제41항에 있어서,
    상기 컴퓨팅 시스템은,
    상기 블록의 대비 상태를 식별하고, 상기 대비 상태에 따라 상기 추출을 조정하도록 작동하는 것을 더 포함하는 장치.
  45. 제44항에 있어서,
    상기 컴퓨팅 시스템은,
    상기 대비(contrast) 상태에 따라 상기 복구를 조정하도록 작동하는 것을 더 포함하는 장치.
  46. 제44항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은,
    상기 블록의 히스토그램의 상태를 식별하는 것을 특징으로 하는 장치.
  47. 제44항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은,
    상기 블록에 대한 블록 차이 값을 식별하는 것을 특징으로 하는 장치.
  48. 제41항에 있어서,
    상기 컴퓨팅 시스템은,
    상기 추출된 임베드된 비트 값 내의 어떠한 오류들을 수정하기 위해, 오류 수정 코딩을 사용하는 것을 더 포함하는 장치.
  49. 컴퓨팅 시스템이,
    이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 식별하고,
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하고,
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한 여러 개의 상기 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 상기 차이 값을 생성하고,
    상기 적어도 2개의 부분집합들 모두보다 작은 부분집합에서 픽셀들의 픽셀 값을 수정하여, 상기 블록 내에 비트 값을 임베드하도록 하는 것을 특징으로 하는 실행 가능한 프로그램을 포함하는 저장 매체.
  50. 제49항에 있어서,
    상기 부분집합들 모두보다 작은 부분집합은 단지 하나의 부분집합을 포함하는 것인 저장 매체.
  51. 제49항에 있어서,
    상기 수정은 논리적 1비트 값이 상기 블록에 임베드되도록 하는 것인 저장 매체.
  52. 제49항에 있어서,
    상기 실행 가능한 프로그램은 상기 컴퓨팅 시스템이,
    상기 블록과의 대비(contrast) 상태를 식별하고,
    상기 대비(contrast) 상태에 따라 상기 수정을 조정하는 것을 더 포함하는 것을 특징으로 하는 저장 매체.
  53. 제52항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은 상기 블록의 히스토그램의 상태를 식별하는 것을 특징으로 하는 저장 매체.
  54. 제53항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은
    상기 차이 값들의 산술 평균과 같은, 상기 차이 값들의 산술 평균과 같은 상기 블록에 대한 블록 차이 값을 식별하는 것을 특징으로 하는 저장 매체.
  55. 제52항에 있어서,
    상기 실행가능한 프로그램은 상기 컴퓨팅 시스템이 상기 블록 내의 어떠한 비트 오류들을 수정하기 위해 오류 수정 코딩을 사용하는 것을 특징으로 하는 저장 매체.
  56. 컴퓨팅 시스템이,
    이미지의 블록 내에서 적어도 2개의 픽셀들의 부분집합들을 식별하고,
    상기 적어도 2 개의 픽셀들의 부분집합들로부터 상기 적어도 2개의 부분집합들의 첫 번째로부터 적어도 하나의 픽셀을, 상기 적어도 2개의 부분집합들의 두 번째로부터 적어도 하나의 픽셀을 가져와 복수의 픽셀 그룹들을 형성하고,
    상기 픽셀 그룹 하나로부터의 픽셀들의 픽셀 값의 차이에 기초한 여러 개의 상기 차이 값들 중 하나를 상기 픽셀 그룹이 제공하여, 여러 개의 상기 차이 값을 생성하고,
    상기 블록으로부터 상기 임베드된 비트 값을 추출하고,
    상기 부분집합들 중 적어도 하나 부분 집합의 픽셀들의 픽셀 값들을 변경하지 않은 채로 유지함으로써, 상기 임베드된 비트 값으로 변경되기 이전의 상기 픽셀 값의 상태로 상기 픽셀 값을 복원하는 것을 특징으로 하는 실행 가능한 프로그램을 포함하는 저장 매체.
  57. 제56항에 있어서,
    상기 추출은,
    상기 블록 차이 값이 차이 값 시작 값을 초과하는 경우에 상기 블록으로부터 논리적 1 비트 값을 추출하는 것을 포함하는 것을 특징으로 하는 저장 매체.
  58. 제56항에 있어서,
    상기 추출은,
    상기 블록 차이 값이 차이 값 시작 값보다 작은 경우에, 상기 블록으로부터 논리적 0 비트 값을 추출하는 것을 포함하는 것을 특징으로 하는 저장 매체.
  59. 제56항에 있어서,
    상기 실행 가능한 프로그램은 상기 컴퓨팅 시스템이 상기 블록의 대비(contrast) 상태를 식별하고,
    상기 대비(contrast) 상태에 따라 상기 추출을 조정하는 것을 더 포함하는 저장 매체.
  60. 제59항에 있어서,
    상기 실행 가능한 프로그램은, 상기 컴퓨팅 시스템이 상기 대비(contrast) 상태에 따라 상기 복구를 조정하는 것을 특징으로 하는 저장 매체.
  61. 제59항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은,
    상기 블록의 히스토그램의 상태를 식별하는 것을 특징으로 하는 저장 매체.
  62. 제59항에 있어서,
    상기 대비(contrast) 상태를 식별하는 것은,
    상기 블록에 대한 블록 차이 값을 식별하는 것을 포함하는 저장 매체.
  63. 제56항에 있어서,
    상기 실행가능한 프로그램은, 상기 컴퓨팅 시스템이 상기 추출된 임베드된 비트 값 내의 어떠한 오류를 수정하기 위해, 오류 수정 코딩을 사용하는 것을 특징으로 하는 저장 매체.
KR1020067013563A 2003-12-05 2004-12-03 공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법 KR100970990B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52778903P 2003-12-05 2003-12-05
US60/527,789 2003-12-05

Publications (2)

Publication Number Publication Date
KR20060112682A true KR20060112682A (ko) 2006-11-01
KR100970990B1 KR100970990B1 (ko) 2010-07-20

Family

ID=34676778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067013563A KR100970990B1 (ko) 2003-12-05 2004-12-03 공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US7457431B2 (ko)
EP (1) EP1692637A4 (ko)
JP (1) JP4250187B2 (ko)
KR (1) KR100970990B1 (ko)
CN (1) CN101449278B (ko)
BR (1) BRPI0417353A (ko)
WO (1) WO2005057468A2 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010093225A2 (ko) * 2009-02-13 2010-08-19 고려대학교 산학협력단 데이터 압축/해제장치 및 방법
WO2011090359A2 (ko) * 2010-01-25 2011-07-28 고려대학교 산학협력단 데이터 압축/해제장치 및 방법
KR101135472B1 (ko) * 2010-02-03 2012-04-19 금오공과대학교 산학협력단 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법
KR101373176B1 (ko) * 2013-02-13 2014-03-11 서강대학교산학협력단 복제 동영상정보 검출방법 및 장치, 저장매체
KR20180072158A (ko) 2016-12-21 2018-06-29 동양대학교 산학협력단 타임스탬프 정보를 이용한 데이터 숨김 방법
KR101966032B1 (ko) 2019-01-07 2019-04-04 동양대학교 산학협력단 디렉토리 목록정보 변경을 이용한 데이터 숨김방법
KR101977008B1 (ko) 2019-01-07 2019-05-09 동양대학교 산학협력단 시간정보 왜곡보정이 가능한 타임스탬프를 이용한 데이터 숨김방법

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101449278B (zh) 2003-12-05 2011-07-06 新泽西理工学院 在空间域中的健壮可逆数据隐藏和数据恢复的系统和方法
JP4603446B2 (ja) * 2004-09-29 2010-12-22 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
TWI279733B (en) * 2004-11-16 2007-04-21 Univ Nat Kaohsiung Applied Sci Image authentication method of semi-fragile watermark
US7953983B2 (en) 2005-03-08 2011-05-31 Microsoft Corporation Image or pictographic based computer login systems and methods
US7974477B2 (en) * 2007-02-19 2011-07-05 New Jersey Institute Of Technology Apparatus and method for reversible data hiding for JPEG images
KR100898329B1 (ko) * 2007-10-05 2009-05-20 한국과학기술원 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법
TWI384416B (zh) * 2007-12-26 2013-02-01 僑光科技大學 一種植基於三像素區塊差異之可回復式資料隱藏技術
WO2009099914A1 (en) * 2008-02-01 2009-08-13 New Jersey Institute Of Technology System and method for reversible binary image data hiding using run-length histogram modification and logical operations
TW200952486A (en) * 2008-06-13 2009-12-16 Ind Tech Res Inst Video surveillance system, module and method for annotation and de-annotation thereof
US8175324B2 (en) * 2008-10-17 2012-05-08 New Jersey Institute Of Technology Reversible data hiding
US8560918B1 (en) * 2009-04-21 2013-10-15 Marvell International Ltd. Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system
DE102009022606A1 (de) 2009-05-26 2010-12-02 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur steganographischen Modifikation eines Bitstroms
US8458485B2 (en) * 2009-06-17 2013-06-04 Microsoft Corporation Image-based unlock functionality on a computing device
US9105074B2 (en) * 2009-10-27 2015-08-11 Intel Corporation Scalable compression using JPEG-LS
US8571280B2 (en) * 2010-02-22 2013-10-29 Canon Kabushiki Kaisha Transmission of medical image data
KR101171819B1 (ko) * 2010-06-30 2012-08-14 주식회사 케이티 데이터 은닉을 이용하여 영상 오류를 복원하는 방법 및 시스템
US8892809B2 (en) 2010-10-25 2014-11-18 Marvell World Trade Ltd. Data compression and encoding in a memory system
AU2011202415B1 (en) * 2011-05-24 2012-04-12 Microsoft Technology Licensing, Llc Picture gesture authentication
JP6016403B2 (ja) * 2012-03-27 2016-10-26 キヤノン株式会社 画像処理装置、画像処理方法
US8806558B1 (en) * 2013-09-20 2014-08-12 Limelight Networks, Inc. Unique watermarking of content objects according to end user identity
CN103810664B (zh) * 2012-11-13 2017-06-27 中兴通讯股份有限公司 一种信息隐藏方法及装置
CN103123720B (zh) * 2013-03-13 2015-09-23 中南大学 基于差值图像直方图循环平移的无损数据隐藏方法
ITTO20130688A1 (it) * 2013-08-12 2013-11-11 Univ Degli Studi Torino Procedimento e sistema per marcare immagini mediche tramite una tecnica di "watermarking" fragile e reversibile utilizzandoun metodo statistico e firma digitale
US9330445B2 (en) * 2014-04-29 2016-05-03 Himax Imaging Limited Local contrast enhancement method and apparatus
US10361721B1 (en) 2014-05-01 2019-07-23 Marvell International Ltd. Methods and network device for uncoded bit protection in 10GBASE-T Ethernet
US10271057B2 (en) * 2014-11-04 2019-04-23 Vahagn Nurijanyan System and methods for image/video compression
KR101512739B1 (ko) * 2014-11-14 2015-04-16 동국대학교 산학협력단 오류 정정 부호를 이용한 데이터 은닉 장치 및 방법
US10225031B2 (en) 2016-11-02 2019-03-05 The Nielsen Company (US) Methods and apparatus for increasing the robustness of media signatures
US10489874B2 (en) * 2016-12-03 2019-11-26 Zensar Technologies Ltd. Computer implemented system and method for steganography
US10452383B1 (en) * 2017-04-28 2019-10-22 Square, Inc. Device improvements through adaptive settings
CN107742145A (zh) * 2017-09-20 2018-02-27 深圳市天朗时代科技有限公司 数据嵌入方法、数据读取方法、装置及可读存储介质
CN110322385B (zh) * 2018-03-28 2021-08-24 浙江大学 水印嵌入以及提取方法、装置及电子设备
US10496529B1 (en) * 2018-04-18 2019-12-03 Palantir Technologies Inc. Data unit test-based data management system
CN108629749B (zh) * 2018-04-26 2021-10-01 西安空间无线电技术研究所 一种图像压缩和隐藏相结合的方法
CN108833921B (zh) * 2018-06-12 2022-06-17 浙江大华技术股份有限公司 一种编解码方法及装置
CN109410286B (zh) * 2018-11-09 2021-12-28 华南理工大学 一种智能隐藏式棋盘格标定板的编解码方法
CN109547797B (zh) * 2019-01-02 2021-02-05 太原科技大学 一种可分离的加密域信息隐藏方法
CN111210378B (zh) * 2019-12-30 2023-09-19 北京工业大学 基于工业云上图像数据的可恢复性方法
CN111709868B (zh) * 2020-06-22 2024-04-02 广西师范大学 一种基于直方图法的隐藏图像恢复方法
CN113507547B (zh) * 2021-07-07 2023-07-14 福建工程学院 自适应系数多直方图结合高维直方图的可逆信息隐藏方法
CN115396676B (zh) * 2022-07-28 2024-03-26 西安空间无线电技术研究所 一种加密域卫星图像信息隐藏方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313873B2 (ja) * 1998-01-30 2009-08-12 キヤノン株式会社 電子機器及びデータ処理方法
US6278791B1 (en) 1998-05-07 2001-08-21 Eastman Kodak Company Lossless recovery of an original image containing embedded data
US6473516B1 (en) 1998-05-22 2002-10-29 Asa Systems, Inc. Large capacity steganography
JP4822304B2 (ja) * 1998-08-06 2011-11-24 ソニー株式会社 画像処理装置および画像処理方法、並びに記録媒体
JP2001028683A (ja) 1999-07-13 2001-01-30 Victor Co Of Japan Ltd 画像への特定情報隠蔽方法
US7561714B2 (en) * 2001-12-13 2009-07-14 Digimarc Corporation Reversible watermarking
AUPS206802A0 (en) * 2002-05-01 2002-06-06 Canon Kabushiki Kaisha Steganographic image encoding
AU2003203958B2 (en) * 2002-05-01 2005-11-24 Canon Kabushiki Kaisha Steganographic Image Encoding
JP3784781B2 (ja) 2003-05-20 2006-06-14 富士通株式会社 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび画像データ処理システム
CN101449278B (zh) 2003-12-05 2011-07-06 新泽西理工学院 在空间域中的健壮可逆数据隐藏和数据恢复的系统和方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010093225A2 (ko) * 2009-02-13 2010-08-19 고려대학교 산학협력단 데이터 압축/해제장치 및 방법
WO2010093225A3 (ko) * 2009-02-13 2010-12-09 고려대학교 산학협력단 데이터 압축/해제장치 및 방법
WO2011090359A2 (ko) * 2010-01-25 2011-07-28 고려대학교 산학협력단 데이터 압축/해제장치 및 방법
WO2011090359A3 (ko) * 2010-01-25 2012-01-05 고려대학교 산학협력단 데이터 압축/해제장치 및 방법
KR101135472B1 (ko) * 2010-02-03 2012-04-19 금오공과대학교 산학협력단 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법
KR101373176B1 (ko) * 2013-02-13 2014-03-11 서강대학교산학협력단 복제 동영상정보 검출방법 및 장치, 저장매체
KR20180072158A (ko) 2016-12-21 2018-06-29 동양대학교 산학협력단 타임스탬프 정보를 이용한 데이터 숨김 방법
KR101966032B1 (ko) 2019-01-07 2019-04-04 동양대학교 산학협력단 디렉토리 목록정보 변경을 이용한 데이터 숨김방법
KR101977008B1 (ko) 2019-01-07 2019-05-09 동양대학교 산학협력단 시간정보 왜곡보정이 가능한 타임스탬프를 이용한 데이터 숨김방법

Also Published As

Publication number Publication date
US7457431B2 (en) 2008-11-25
EP1692637A4 (en) 2009-11-04
BRPI0417353A (pt) 2007-07-31
JP4250187B2 (ja) 2009-04-08
WO2005057468A3 (en) 2007-04-05
JP2007519313A (ja) 2007-07-12
US20050141747A1 (en) 2005-06-30
CN101449278A (zh) 2009-06-03
EP1692637A2 (en) 2006-08-23
WO2005057468A2 (en) 2005-06-23
CN101449278B (zh) 2011-07-06
KR100970990B1 (ko) 2010-07-20

Similar Documents

Publication Publication Date Title
KR100970990B1 (ko) 공간 도메인에서의 강건한 가역 데이터 숨김 및 데이터복구를 수행하는 시스템 및 방법
US7360093B2 (en) System and method for authentication of JPEG image data
US6275599B1 (en) Compressed image authentication and verification
US20040145661A1 (en) Image processing method, and image processing apparatus
US7313696B2 (en) Method for authentication of JPEG image data
Celik et al. Localized lossless authentication watermark (LAW)
US20070253592A1 (en) Method and System for Protecting and Authenticating a Digital Image
US7493489B2 (en) System and method for authentication of JPEG image data
Preda Self-recovery of unauthentic images using a new digital watermarking approach in the wavelet domain
Zain Strict authentication watermarking with JPEG compression (SAW-JPEG) for medical images
Zhang et al. A unified authentication framework for JPEG2000
US7627761B2 (en) System for authentication of JPEG image data
WO2007085632A1 (en) Method of watermarking digital data
JP3722470B2 (ja) 電子透かしの埋め込み方法およびその装置、並びに、オリジナルデータの検証方法およびその装置
Mursi et al. A DCT-based secure JPEG image authentication scheme
EP1452012A2 (en) Method and apparatus for watermarking and authenticating data
Khanna et al. Improvements on image authentication and recovery using distributed source coding
Preda et al. Image authentication and recovery using wavelet-based dual watermarking
Caldelli et al. Joint near-lossless watermarking and compression for the authentication of remote sensing images
Li Digital watermarking schemes for multimedia authentication
Ye et al. A quantization-based image authentication system
Chen et al. Toward a robust image authentication method surviving JPEG lossy compression
Lee et al. Reversible watermarking with localization for biometric images
Hassan et al. Semi-fragile image authentication using robust image hashing with localization
Wa Detecting tampered image blocks using error correcting code

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: 20130628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 10