KR100295007B1 - 데이터은폐및추출방법 - Google Patents

데이터은폐및추출방법 Download PDF

Info

Publication number
KR100295007B1
KR100295007B1 KR1019980701274A KR19980701274A KR100295007B1 KR 100295007 B1 KR100295007 B1 KR 100295007B1 KR 1019980701274 A KR1019980701274 A KR 1019980701274A KR 19980701274 A KR19980701274 A KR 19980701274A KR 100295007 B1 KR100295007 B1 KR 100295007B1
Authority
KR
South Korea
Prior art keywords
data
array
value
message
media
Prior art date
Application number
KR1019980701274A
Other languages
English (en)
Other versions
KR19990044042A (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 KR19990044042A publication Critical patent/KR19990044042A/ko
Application granted granted Critical
Publication of KR100295007B1 publication Critical patent/KR100295007B1/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • 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
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • 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
    • 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
    • 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/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • 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/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs
    • H04N2201/327Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs which are undetectable to the naked eye, e.g. embedded codes

Abstract

본 발명에 의하면, 메시지 데이터가 이미지 또는 사운드로서 매체 데이터 내에 분산하여 은폐되어 있는 경우에, 메시지 데이터 내에 매체 데이터를 은폐하는 데이터 은폐 방법과, 은폐된 데이터를 추출하는 데이터 추출 방법을 제공하여, 제3자가 메시지 데이터를 용이하게 변경하지 못하도록 한다.
매체 데이터가 매체 어레이로서 표현되고 메시지 데이터가 메시지 어레이로서 표현된 경우 이 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태 값들에 기초하여 메시지 어레이내에 메시지 어레이의 어레이 엘리먼트들을 분산시켜 은폐하는 데이터 은폐 방법에 있어서, (a) j ( j ≥0)번째 상태 값 Sj를 결정하는 단계와, (b) j번째 상태 값, 이 j번째 상태 값에 의해 표시된 매체 어레이의 어레이 엘리먼트 및 메시지 어레이의 어레이 엘리먼트에 기초하여 (j+1)번째 상태 값, Sj+1을 결정하는 단계와, (c) (j+1)번째 상태 값 Sj+1에 의해 표시된 매체 어레이의 어레이 엘리먼트에 대해 데이터를 은폐하는 단계를 포함한다.

Description

데이터 은폐 및 추출 방법(DATA HIDING METHOD AND DATA EXTRACTING METHOD)
멀티미디어 지향 사회의 발전에 따라, 대량의 디지털화된 이미지 및 음성 정보가 인터넷 또는, CD-ROM, DVD-ROM(또는 DVD-RAM) 또는 DVC와 같은 기록 매체를 통해 분배된다. 어느 누구라도 이러한 디지털화된 정보의 손상되지 않은 완전한 복제를 작성할 수 있으므로, 그의 불공정 사용이 문제가 된다. 제삼자가 불공정하게 이미지 또는 음성 데이터와 같은 매체 데이터를 복제하는 것을 방지하기 위해, 본래의 매체 데이터에 작성자의 서명과 같은 정보를 은폐하는 은폐 기술에 관심이 집중되고 있다. 디지털화된 이미지 데이터가 불법적으로 복제된 경우, 그 데이터가 불법적으로 작성된 것인지의 여부를 판정하기 위해 복제내에 은폐된 서명을 체크하여 그의 소스를 확인할 수 있다. 이러한 기술을 "데이터 은폐(data hiding)"라고 부른다.
도 1은 디스플레이상에 도시된 디지털화된 데이터를 포함하는 하프 톤 이미지(a half tone image)를 도시한다. 도 1b에 도시된 바와 같이 "간호사", "강", "유치원생" 및 "새"와 같은 사진 설명(메시지)이 매체 데이터내에, 즉, 도 1a의 디지털화된 이미지내에 은폐된다. 매체 데이터는 사진으로부터의 이미지를 작은 점들로 나누고, 각 점의 밝기와 컬러에 대한 수치값을 결정함으로써 획득될 수 있다. 이 경우, 이미지의 원래의 수치 값들은 의도적으로 다소 변화된다. 수치 값에 있어서의 아주 작은 변화는 사실상 이미지를 왜곡시키지 않으며, 사용자에 의해 감지되지 않는다. 원래의 이미지에 완전 상이한 정보(매체 데이터)를 은폐하는데 이러한 성질이 사용될 수 있다. 이미지에 은폐된 메시지 데이터는 어떤 정보도 포함할 수 있으며, 예를 들면, 격자 패턴(a lattice pattern), 규칙적인 그림(a rule-like figure) 또는 이미지 프로듀서의 서명일 수 있다. 매체 데이터내에 은폐된 메시지 데이터는 특수 프로그램으로 처리함으로써 추출될 수 있다. 이와 같이 추출된 메시지 데이터에 기초해서, 원래의 매체 데이터가 변경되었는지의 여부를 결정할 수 있다.
도 1b에 도시된 각 메시지들은 이미지 위의 의미있는 영역 근방에 은폐된다. 예를 들어, 메시지 "새"는 이미지내에서 새가 존재하는 영역 근방에 은폐되며, 캡션으로서 작용한다. 이미지내에 소유자에 대한 정보와 같은 메시지를 은폐하려면, 그 메시지는 이미지 위에 골고루 분포시키는 것이 바람직하다. 이것은, 메시지가 국부적으로 은폐된 경우 메시지 양이 크면 메시지가 은폐된 영역의 질을 저하시킬 수도 있기 때문이다. 또한, 이미지의 일부가 잘려지더라도, 메시지가 이미지 위에 분포되어 있으며, 그 메시지를 추출하는 것이 가능하다. 따라서, 각 메시지 조각을 어디에 은폐시킬 것인지를 결정하는 방법이 중요하다. 이 위치들은 상태 시퀀스 S를 기초로 하여 결정된다. 즉, 상태 시퀀스의 각 엘리먼트는 각각의 메시지와 연관되며, 메시지는 엘리먼트를 기초로 하여 결정된 대응하는 위치에 은폐된다.
통상적인 데이터 은폐 방법에 따르면, 상태 시퀀스 S가 난수 시퀀스에 의해 결정되었다. 도 2는 통상적인 방법에 따라 이미지 위에 분포된 메시지 데이터의 레이아웃을 개략적으로 도시한다. 도 1a에 도시된 이미지가 I개의 이미지 영역으로 나뉘어지며, 그들 각각에 0 내지 9의 번호가 매겨진다. 그리고 나서, 메시지 데이터는 메시지 어레이(m)로서 표현되며, 어레이 엘리먼트는 어레이 값 m[n](0≤n≤9)으로 나타내어진다. 각각의 어래이 값은 분할된 메시지 데이터와 연관된다. 각 메시지는 상태 시퀀스 S내 엘리먼트에 기초하여 지정된 이미지내의 위치에 은폐된다. 다음 식에 따라 0번째 메시지 m[0]이 은폐되는 위치 P0가 결정된다.
상기 식은, 상태값 SO의 초기값으로서 상수가 주어진 후, 상태값 SO에 상대되는 I(이미지 영역들의 수)의 나머지는 PO임을 나타낸다. 위치 PO의 값은 0과 (I-1) 사이의 임의의 정수 값이다. 이 정수 값들은 이미지 영역들의 순서와 연관시킴으로써, 메시지 m[0]가 i번째 영역내에 은폐된다. 다음 식에 따라 제 1 메시지 및 그에 계속되는 메시지들 m[n]의 위치가 결정된다.
이들 식은 선행하는 상태값 Sn-1이 난수의 시드(seed)로서 사용되어 의사 난수 어레이가 발생되며, 이것은 또 다음 상태값 Sn으로서 사용됨을 나타낸다. 상태값 Sn에 상대되는 I의 나머지는 위치 Pn이다. 메시지 m[n]는 이 값에 대응하는 이미지 영역내에 은폐된다.
은폐된 메시지는 상태값 SO(초기값)을 아는 사용자에 의해서만 판독될 수 있다. 메시지가 추출되면, 상태값 S0에 후속하는 모든 상태값들 (S1,… S9)은 초기값을 기초로 하여 계산된다. 이 초기값에 대응하는 위치들이 식별된 후 이들 위치에 은폐된 메시지가 추출된다.
도 2에서 알 수 있는 바와 같이, n번째 메시지 m[n]의 이미지 위의 위치를 결정하는데 사용된 상태값 Sn은 단지 상태값 Sn-1에만 의존하므로, 상태값 Sn-1이 결정되면, 상태값 Sn이 결정될 수 있다. 마찬가지로, 상태값 Sn-1은 상태값 Sn-2에만 의존한다. 이러한 절차를 반복함으로써, 상태 시퀀스 S내의 모든 엘리먼트들(SO, S1, S2, …, S9)이 결정될 수 있다. 따라서 상태 시퀀스 S내의 모든 엘리먼트들은 초기에 초기값으로서 주어진 상수에만 의존한다. 결과적으로, 일단 초기값이 확인되면, 상태 시퀀스 S가 결정되어 이미지 위에 분포된 모든 메시지 위치들을 식별하여 그들의 은폐된 내용들을 추출할 수 있다.
그러나, 이 초기값을 비밀로 유지하려는 노력에도 불구하고, 초기값이 제삼자에게 공개되거나 알려진 경우, 제삼자는 이 값을 이용해서 쉽게 메시지 위치들을 식별하여 메시지 데이터를 지우거나 초기의 데이터 위에 상이한 메시지 데이터를 기입할 수 있다. 통상적인 방법에서는 이와 같이 제삼자가, 원래의 서명을 지워 소스가 공개되지 않게 하거나, 원래의 서명 위에 다른 서명을 기록함으로써 자신이 저자인 것처럼 행세하는 것을 효과적으롤 방지하기가 어려웠다.
따라서, 본 발명의 목적은 매체 데이터내에 메시지 데이터를 분배하고 은폐하는 새로운 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 제삼자가 메시지 데이터를 변경하는 것을 방지하는 데이터 은폐 방법을 제공하는 것이다.
본 발명은 매체 데이터내에 메시지 데이터를 은폐하는 데이터 은폐 방법 및 은폐된 데이터를 추출하는 데이터 추출 방법에 관한 것이다.
제1도는 디스플레이상에 도시된 디지털화된 데이터를 포함하는 하프 톤 이미지를 도시한 도면.
제2도는 종래의 방법에 따라 이미지 위에 분포된 메시지 데이터의 레이아웃을 개략적으로 도시한 도면.
제3도는 매체 어레이와 메시지 어레이를 설명하기 위한 도면.
제4도는 은폐 처리에 사용된 매체 어레이 값들간의 관계를 개략적으로 도시하는 도면.
제5도는 은폐될 객체를 개략적으로 묘사하는 도면.
제6도는 매체 데이터내에 메시지 데이터를 은폐하는 절차를 도시하는 흐름도.
제7도는 은폐 처리시의 상태값 Sj-1과, 상태값 Sj간의 관계를 도시하는 도면.
제8도는 은폐된 데이터로부터 메시지 데이터를 추출하는 절차를 도시하는 흐름도.
제9도는 추출 처리시에 상태값 Sj과 상태값 Sj-1간의 관계를 도시하는 도면.
제10도는 발생된 메시지 어레이 값이 메시지의 시작인지의 여부를 결정하는 것을 설명하기 위한 도면.
제11도는 변경으로 인해 부정확한 상태 시퀀스 S가 발생된 상태를 도시하는 개념도.
제12도는 PBC를 사용한 데이터 은폐 및 추출 방법을 설명하기 위한 도면.
제13도는 화소 블록으로서 단일 화소를 사용하여 PBC를 이용한 은폐 방법을 설명하기 위한 도면.
제14도는 원래의 이미지에 메시지 및 위치 정보를 은폐하는 방법을 설명하기 위한 도면.
제15도는 동심 원형 아크가 위치 정보로서 사용된 경우를 도시하는 도면.
제16도는 동심 원형 아크가 위치 정보로서 사용된 경우에 기준 위치 B의 식별을 설명하기 위한 도면.
제17도는 위치 정보로서 동심 원형 아크를 사용하는 은폐 및 추출 방법을 설명하기 위한 도면.
제18도는 방송 시스템의 블록도.
제19도는 인터넷상의 송신기와 수신기를 도시하는 블록도.
제20도는 서버와 클라이언트를 도시하는 블록도.
제21도는 지문 채취 및 수위표 시스템의 블록도.
제22도는 데이터 추출 시스템의 블록도.
제23도는 단일 칩상에 제공된 데이터 추출 시스템을 갖는 반도체 집적 회로의 블록도.
상기한 목적들을 성취하기 위해, 본 발명의 실시예 1은, 매체 데이터가 매체 어레이로서 표현되고 메시지 데이터가 메시지 어레이로서 표현된 경우 이 매체 어레이내의 특정 어레이 엘리먼트를 지정하는 상태값 S에 기초하여 매체 어레이내에 메시지 어레이의 어레이 엘리먼트들을 분산시켜 은폐하는 데이터 은폐 방법에 관한 것이다. 보다 구체적으로, 본 발명의 실시예 1에 따른 방법은 (a) j(j≥0)번째 상태값 Sj를 결정하는 단계와, (b) j번째 상태값, 이 j번째 상태값에 의해 표시된 매체 어레이의 어레이 엘리먼트 및 메시지 어레이의 어레이 엘리먼트에 기초하여 (j+1)번째 상태값 Sj+1을 결정하는 단계와, (c) (j+1)번째 상태값 Sj+1에 의해 표시된 매체 어레이의 어레이 엘리먼트에 대해 데이터를 은폐하는 단계를 포함한다.
메시지 어레이가 J개의 어레이 엘리먼트를 갖는 경우, 상기 단계 (a) 내지 (c)는 J개의 어레이 엘리먼트가 은폐완료될 때까지 반복된다. j=0인 경우, 초기의 상태값 S0은 메시지 어레이의 어레이 엘리먼트내의 데이터를 기초로 하여 결정된다. 보다 구체적으로, 초기의 상태값 S0을 결정하는 초기 함수가 제공되며, 메시지 어레이의 모든 엘리먼트내의 데이터에 기초한 값이 이 초기 함수(예를 들면, 데이터의 배타적 OR 연산)에 입력된다.
단계(b)에서 (j+1)번째 상태값 Sj+1이 j번째 상태값 Sj과, 이 상태값에 의해 표시되는 매체 어레이의 어레이 엘리먼트의 데이터와, 메시지 어레이의 어레이 엘리먼트의 데이터에 대한 배타적 OR 연산을 기초로 하여 결정된다. 보다 구체적으로, 은폐 위치 변환 함수가 제공되며, 상기한 배타적 OR 연산 값이 이 함수에 입력되어 (j+1)번째 상태값 Sj+1이 출력으로서 획득된다. 이러한 은폐 위치 변환 함수는, 예를 들면, 변수로서 공개키 암호법(public-key cryptography)에서 사용되는 비밀키를 사용하는 함수일 수 있다. 은폐 데이터는 j번째 상태값 Sj으로 표시되는 매체 어레이의 어레이 엘리먼트와 메시지 어레이의 어레이 엘리먼트의 배타적 OR 연산에 의해 생성된 값일 수 있다.
또한, 본 발명의 실시예 2는, 메시지 데이터가 메시지 어레이로서 표현되고, 메시지 데이터를 포함하는 은폐 데이터가 은폐 어레이로서 표현되고, 은폐 데이터가 분산되어 은폐된 매체 데이터가 매체 어레이로서 표현된 경우, 매체 어레이내 특정 어레이 엘리먼트를 지정하는 상태값에 기초해서 매체 어레이로부터 메시지 어레이를 추출하는 데이터 추출 방법에 관련된다. 본 발명의 실시예 2에 따른 방법은 (a) j(j≥1)번째 상태값 Sj을 결정하는 단계와, (b) 이 j번째 상태값 Sj에 의해 표시되는 매체 어레이의 어레이 엘리먼트로부터 은폐 어레이의 어레이 엘리먼트들을 추출하는 단계와, (c) j번째 상태값 Sj과, 추출된 은폐 어레이의 어레이 엘리먼트에 기초하여 (j-1)번째 상태값 Sj-1을 결정하는 단계와, (d) (j-1)번째 상태값 Sj-1에 의해 표시되는 매체 어레이의 어레이 엘리먼트와 추출된 은폐 어레이의 어레이 엘리먼트에 기초하여 메시지 어레이의 어레이 엘리먼트를 추출하는 단계를 포함한다.
이들 단계 (a) 내지 (c)는 추출 종료 조건이 만족될 때까지 반복된다. 단계 (a)에서, 추출을 개시하는데 사용된 상태값 Sj이 추출에 필요한 정보로서 먼저 추출기에 제공된다. 예를 들어, 상태값 Sj는 메시지 어레이가 은폐될 때 발생된 최종 상태값(last state value)일 수 있다. 단계 (c)에서, (j-1)번째 상태값 Sj-1은 j번째 상태값 Sj와 은폐 어레이의 어레이 엘리먼트내 데이터의 배타적 OR 연산을 기초로 하여 결정된다. 은폐 어레이의 어레이 엘리먼트는 j번째 상태값 Sj에 의해 표시되는 매체 어레이의 어레이 엘리먼트로부터 추출된다. 또한, 추출 위치 변환 함수가 앞서서 제공되는데, 단계 (c)에서, j번째 상태값 Sj와 은폐 어레이의 어레이 엘리먼트내 데이터의 배타적 OR 연산된 값이 이 함수에 입력되어서, 출력으로서 (j-1)번째 상태값 Sj-1이 획득될 수 있다. 예를 들어, 추출 위치 변환 함수는 변수로서 암호화 키 방식에서 사용된 비밀키를 사용하는 복호화 함수일 수 있다. 단계 (b)에서, 은폐 어레이의 어레이 엘리먼트는 (j-1)번째 상태값 Sj-1에 의해 표시된 매체 어레이의 어레이 엘리먼트와, 매체 어레이의 어레이 엘리먼트와, 메시지 어레이의 어레이 엘리먼트의 배타적 OR 연산에 의해 생성된 값일 수 있다.
또한, 본 발명의 실시예 3은 매체 데이터내에 메시지 데이터를 은폐하는 데이터 은폐 방법을 제공하며, 이 방법은 (a) 메시지 데이터가 은폐될 매체 데이터내의 한 블록(이미지 데이터내의 화소 블록)을 식별하는 단계와, (b) 식별된 블록의 특성값(예를 들면, 화소, 밝기 또는 변동값)를 결정하는 단계와, (c) 은폐될 데이터의 내용을, 특성값에 대한 기준값과 블록의 특성값간의 차와 연관시키는 변환 규칙을 참조함으로써 메시지 데이터를 은폐할 수 있도록 블록의 특성값을 조작하는 단계를 포함한다.
기준값은 매체 데이터내에 존재하는 다른 블록의 특성값일 수 있다. 제 1 및 제 2 블록이 매체 데이터내에서 식별된 경우, 이들 블록은 쌍을 이루며, 각 쌍의 특성값이 결정된다. 획득된 특성값은 비교되어 메시지 데이터를 은폐할 수 있도록 변환 규칙을 기초로 하여 조작(예를 들면, 특성값을 교환함으로써)된다. 메시지 데이터가 다수 비트로 이루어진 경우, 단계 (a) 내지 (c)는 반복된다.
본 발명의 실시예 4는 메시지 데이터가 은폐된 매체 데이터로부터 메시지 데이터를 추출하는 데이터 추출 방법을 제공하며, (a) 메시지 데이터가 은폐된 매체 데이터내의 한 블록을 식별하는 단계와, (b) 이 식별된 블록의 특성값을 결정하는 단계와, (c) 추출될 데이터의 내용을, 특성값에 대한 기준값과 블록의 특성값간의 차와 연관시키는 변환 규칙을 참조함으로써 블록의 특성값에 따라 은폐된 메시지 데이터를 추출하는 단계를 포함한다.
기준값은 매체 데이터내에 존재하는 다른 블록의 특성값일 수 있다. 제 1 및 제 2 블록이 매체 데이터내에서 식별된 경우, 이들 블록은 쌍을 이루며, 각 쌍의 특성값이 결정된다. 그리고 나서, 추출된 데이터의 내용을 블록들의 특성값간의 차와 연관시키는 변환 규칙을 참조함으로써 은폐된 메시지 데이터가 각 블록의 특성값에 따라 추출된다. 제 1 블록의 특성값이 제 2 블록의 특성값보다 큰 경우, 이 변환 규칙은 다수의 비트들중 하나의 비트를 추출하며, 그렇지 않은 경우 다른 비트를 추출한다.
본 발명의 실시예 5는 상기한 데이터 추출 방법을 구현한 시스템에 관한 것이다. 즉, 실시예 5는 메시지 데이터가 은폐된 매체 데이터로부터 메시지 데이터를 추출하는 데이터 추출 시스템을 제공하는 것으로, 메시지가 은폐된 매체 데이터를 디지털 신호로 변환하는 변환 수단- 상기 매체 데이터는 아날로그 신호로 전송됨- 과, 매시지 데이터가 은폐된 매체 데이터내의 한 블록을 식별하는 식별 수단- 상기 매체 데이터는 변환 수단의 출력으로서, 전송됨- 과, 식별 수단에 의해 식별된 블록의 특성값을 산출하는 특성값 계산 수단과, 추출될 데이터의 내용을, 특성값에 대한 기준값과 블록의 특성값간의 차와 연관시키는 변환 규칙을 저장하는 저장 수단과, 블록의 특성값에 따라 은폐된 메시지 데이터를 추출하는 추출 수단을 포함한다.
또한, 본 발명의 실시예 6은 단일 칩상에 상기한 데이터 추출 시스템의 기능들을 갖는 반도체 집적 회로에 관한 것이다. 즉, 실시예 6은 메시지 데이터가 은폐된 매체 데이터의 메시지 데이터를 추출하기 위한 반도체 직접회로를 제공하며, 메시지 데이터가 은폐되어 있는 블록으로서 식별된 블록의 특성값을 결정하는 수단과, 추출될 데이터의 내용을, 특성값에 대한 기준값과 블록의 특성값간의 차와 연관시키는 변환 규칙을 참조함으로써 블록의 특성값에 따라 은폐된 메시지 데이터를 추출하는 추출 수단을 포함한다.
이하 본 발명을 첨부된 도면을 참조하여 실시예로서 보다 상세히 설명한다.
A. 데이터 정의
먼저, 다음과 같이 어레이 및 시퀀스가 정의된다.
(1) 매체 어레이 : M
(2) 메시지 어레이 : m
(3) 상태 시퀀스 : S
(4) 위치 시퀀스 : P
(1) 매체 어레이 M
매체 데이터는 이미지 및 음성 데이터를 포함한다. 메시지 데이터가 삽입되어 있는 매체 데이터는 매체 어레이 M로 정의되며, 매체 어레이의 어레이 엘리먼트인 매체 어레이 엘리먼트 M[i]는 다음과 같이 나타내어진다.
I : 매체 데이터의 길이
매체 데이터가 예를 들어, 도 1a에 도시된 바와 같은 이미지인 경우, 이 이미지는 I개의 이미지 영역으로 나뉘어지며, 제 1 영역은 도 3a에 도시된 바와 같은 0번째 매체 어레이 값 M[0]을 갖는다. i번째 이미지 영역은 매체 어레이 값 M[i]을 가지며, 마지막 이미지 영역은 매체 어레이 값 M[I-1]을 갖는다. 각각의 매체 어레이 값은 이미지 영역의 이미지 정보가 대응하는 데이터를 갖는다. 이미지 정보는 모노크롬 스크린에 대해서는 농도이고, 컬러 스크린에 대해서는 밝기이다. 이미지 영역의 수가 화소 수와 동일한 경우, 매체 어레이 값 M[i]은 i번째 화소의 화소 값이다. 이미지 영역은 다수의 화소, 예를 들면, 3×3화소를 포함하며, 이미지 정보는 제각기의 화소 값이다.
매체 데이터가 음성인 경우, 매체 어레이 값 M[i]은 시점 (i)에서의 진폭 값으로서 정의될 수 있다. 각각의 어레이 값 M[i]내의 데이터는 BM 바이트 정수로 표현되는 것으로 가정한다.
(2) 메시지 어레이 (m)
매체 데이터에 삽입될 메시지 데이터는, 예를 들면 이미지의 작성자에 관한 정보, 제조 번호, 날짜, 및 장소에 관한 정보, 복제 허가에 관한 정보를 포함한다. 메시지 데이터는 메시지 어레이 [m]으로 정의되고, 메시지 어레이의 어레이 엘리먼트인 메시지 어레이 값 m[j]은 다음의 수학식 4와 같이 표현된다.
J : 매체 데이터의 길이
도 3b에 도시된 바와 같이, 메시지 데이터가 10개의 영숫자 문자를 포함하는 "DATAHIDING"인 경우, j번째 문자는 메시지 어레이 값 m[j-1]과 연관되고, 이에 의해 대응하는 문자를 표시하는 데이터를 갖는다. 각각의 어레이 값 m[j]내의 데이터는 Bm바이트(영숫자 문자에 대한 1 바이트) 정수로 표현된다고 가정한다. 이 경우, 메시지 데이터는 길이 10의 J를 갖는다.
(3) 상태 시퀀스 S
상태 시퀀스 S는 은폐에 영향을 받는 위치(매체 어레이 값)를 결정하도록 정의되고, 시퀀스 엘리먼트인 상태값 Sj는 다음의 수학식 5와 같이 표현된다.
J : 매체 데이터의 길이
상태 시퀀스 S를 생성하는 알고리즘을 본 실시예의 중요한 인수중의 하나이다. 상태 시퀀스 S의 엘리먼트 J의 수는 (J+1)로서, 이는 메시지 어레이 (m)의 엘리먼트 J의 수보다 1만큼 크다는 것에 유의하여야 한다.
(4) 위치 시퀀스 (P)
위치 시퀀스 (P)는 다음의 수학식을 이용하여, 은폐에 영향을 받는 위치를 식별하는데 이용된다. 위치 시퀀스 (P)의 엘리먼트인 위치 Pj는 다음의 수학식과 같이 표현된다.
J : 매체 데이터의 길이 Pj= Sjmod I
위치 시퀀스 (P)는 상태 시퀀스 S에서와 같이 (J+1) 엘리먼트를 갖는다. 위치 시퀀스의 엘리먼트인 위치 Pj는 동일한 인덱스 값 (j)를 갖는 상태값, 즉 Sj를 I로 나눈 것의 나머지로서 결정된다. 따라서, 위치 Pj의 값은 0 및 (ℓ-1) 사이의 정수이고, 이 값에 대응하는 이미지 영역은 은폐에 영향을 받는다. (ℓ)는 이미지 영역의 수로서 상수이므로, 일단 상태값 Sj이 설정되면 위치 Pj의 값은 고유하게 결정될 수 있다. 따라서, 은폐에 영향을 받는 위치는 상태 시퀀스 S에 의해 실질적으로 식별된다.
B. 은폐 알고리즘
본 발명에 따른 데이터 은폐 방법은 은폐된 데이터를 추출하는 알고리즘과 밀접하게 관련된다. 즉, 은폐된 데이터를 추출하고자 하는 제삼자는 그 자신이 지정된 정보를 갖는 경우 메시지를 볼 수 있다. 이 경우, 제삼자가 추출 동안 메시지를 변경하지 못하도록 효과적으로 방지하는 것이 중요하다. 이러한 관점에서, 본 발명은 다음의 3가지 특성에 기초하여 데이터를 은폐한다.
(1) 메시지 특성에 기초한 상태값 S0의 결정
(2) 메시지 및 이미지 데이터에 기초한 상태 시퀀스 S의 결정
(3) 은폐될 데이터
(1) 메시지 특성에 기초한 상태값 S0의 결정
상태 시퀀스의 제 1 엘리먼트인 상태값 S0은 어레이 값의 모든 엘리먼트 (m[0], m[1], ..., m[9]의 배타적 OR에 대한 초기 함수 fINI의 출력이다. 이 값에 기초하여 얻어지는 상태값 S0및 위치 P0는 다음의 수학식에 의해 결정된다.
통상적인 방법은 삽입될 메시지의 내용에 관계없이 특정한 상수로서 초기 상태값 S0을 결정하였다. 그러나, 본 실시예에 따르면, 이 엘리먼트는 메시지 내용, 즉 모든 메시지 어레이 값에 기초하여 결정된다. 도 4는 이미지상에서의 메시지 데이터의 분배를 개략적으로 도시한다. 도면에 도시한 바와 같이 초기 위치 P0는 초기 상태값 S0으로부터 식별된다.
메시지 어레이 (m)의 특성으로부터 초기 상태값 S0를 결정하는 것은 본 발명의 특성중의 하나이다. 이것은 초기 상태값의 결정을 복잡하게 할 뿐만 아니라 제삼자가 메시지상에 데이터를 불법으로 기록하는 것을 효과적으로 방지한다. 초기 함수 fINI는 추출 동안 메시지의 끝을 결정하기 위한 함수로서 또한 사용된다. 이것은 제삼자가 원래의 메시지와는 상이한 메시지를 기록하는 것을 방지한다.
(2) 메시지 및 이미지 데이터에 기초한 상태 시퀀스 S의 결정
다음의 상태값 S1는 상태값 S0으로부터 결정된다. 상태값 S1은 다음의 수학식에 의해 식별된다.
즉, 다음의 상태값 S1은 현재의 상태값 S0, 상태값 S0에 의해 표시된 매체 어레이 값M[P0], 및 메시지 어레이 값 m[0]의 배타적 OR이 입력되는 함수 SK의 출력으로서 결정된다. 매체 어레이 값 M[P0]은 상태값 S0으로부터 계산된 위치 P0에서의 이미지 영역이다. 이것은 상태값 S0및 후속의 상태값에도 적용되며, 이러한 관계는 통상적으로 다음의 수학식으로서 표현된다.
함수 SK는 다음의 상태값을 결정하기 위한 위치 변환 함수이고, 현재의 상태값, 메시지 어레이 값, 매체 어레이 값의 배타적 OR을 입력으로서 수신한다. 따라서, 상태값은 상기한 수학식을 반복적으로 수행함으로써 순차적으로 결정된다. (J+1) 상태값이 결정되어야 하기 때문에, 최종 상태값은 SJ이다. 도 3b에 도시한 바와 같이 메시지 어레이가 10개의 엘리먼트를 갖는 경우, 11개의 상태값이 생성된다. 이러한 방식으로 상태 시퀀스 S를 결정함으로써, 은폐에 영향을 받는 모든 이미지 영역이 식별된다. 도 4는 은폐에 영향을 받는 매체 어레이 값들간의 관계를 도시한다.
통상적인 기법에 따른 위치 시퀀스가 초기 값에만 의존하나, 본 알고리즘에 따른 위치 시퀀스는 메시지 및 매체 어레이 값을 고려함으로써 결정된다. 제삼자가 원래의 메시지상에 상이한 메시지를 기록하고자 하는 경우, 상이한 상태 시퀀스가 생성되기 때문에 중복 기록은 매우 어렵다. 이것은 제삼자가 이미지 데이터를 변경하고자 하는 경우에도 또한 적용된다.
(3) 은폐될 데이터
도 5는 은폐될 객체를 기술하는 개략적인 도면이다. 은폐에 영향을 받는 위치 시퀀스 (P)는 식별된 것으로 가정한다. 먼저, 데이터는 위치 P1및 후속의 위치에 은폐되는 반면, 위치 P0에는 어떤 데이터도 은폐되지 않는다. 구체적으로, 매체 및 메시지 어레이 값의 배타적 OR 결과는 은폐에 영향을 받는다.
먼저, 매체 어레이 값 m[0]가 단지 위치 P0으로부터 취해진다. 그 다음에, 메시지 어레이 값 m[0] 및 매체 어레이 값 M[0]의 배타적 OR이 결정되고, 그 결과가 위치 P1에 은폐된다. 이 은폐 연산은 매체 어레이 값 M[P1]의 내용을 변경시킨다. 또한, 위치 P2에서의 프로세싱으로서, 메시지 어레이 값 m[1] 및 매체 어레이 값 M[1], 선행 프로세싱에 의해 변경된 내용의 배타적 OR이 결정되고 그 결과는 위치 P2에 은폐된다.
데이터 은폐는 위치 P10까지 이러한 은폐 프로세싱을 반복함으로써 완료된다. 메시지 어레이 값 m[9] 및 매체 어레이 값 M[9], 선행 프로세싱에 의해 변경된 내용의 배타적 OR이 위치 P10에 은폐된다. 위치 P0에 어떤 데이터도 은폐되지 않으므로 상태 시퀀스 S 및 위치 시퀀스 [P] 각각의 엘리먼트 수는 메시지 어레이의 수보다 크다.
본 발명의 알고리즘에 따르면, 은폐된 메시지가 추출되는 경우, 최종 메시지 어레이 값 m[9]로부터 시작하여 역순서로 추출이 반복적으로 수행된다. 본 알고리즘에 따른 메시지 및 매체 어레이의 배타적 OR의 결과를 은폐하는 것은 메시지 추출 절차와 밀접하게 관련되어 있다. 세부사항은 "메시지 데이터 추출" 섹션에 기술되어 있다. 또한, 데이터를 실질적으로 은폐하는 각종 알고리즘을 생각할 수 있다. 제 2 실시예에서, 데이터를 은폐하는 알고리즘의 예로서 PBC(Pixel Block Coding)이 설명되어 있다.
[C. 제 1 실시예]
도 6의 절차와 관련하여 제 1 실시예가 구체적으로 기술되어 있다. 도 6은 매체 데이터에 메시지 데이터를 은폐하는 절차를 도시한 흐름도이다. 다음의 설명에서, 도 4 또는 도 5를 적절히 참조한다.
[초기 상태값의 계산(단계 100)]
데이터를 은폐하기 위해, 위치 시퀀스 (P)가 결정되어야 한다. 이를 행하기 위해, 초기 위치 P[0]이 먼저 결정된다. 초기 위치 [P]는 입력으로서 초기 상태값 S0를 이용하여 초기 함수 fINI의 출력으로서 결정되고, 변수 S0은 다음의 수학식에 의해 결정된다.
상기한 수학식에서, H1은 해시 함수(hash function)이다. 또한, 연산자 "//"는 메시지 어레이의 엘리먼트가 함께 연결되어 있다는 것을 의미한다. 특정의 연산, 예를 들면 어레이 엘리먼트내의 데이터의 배타적 OR일 수도 있다. 그러나, 배타적 OR이 이용되는 경우, 메시지 어레이 값의 순서는 계산의 결과에 반영되지 않는다. 즉, 도 3b에서 "DATAHIDING"은 "TADAHIDING"과 동일한 값을 갖는다. 그 다음에, 순서 관계를 반영하기 위해 예를 들면, 순환 중복 검사(Cyclic Redundancy Check: CRC)라 칭하는 방법이 이용될 수 있다. 이 알고리즘은 체크섬을 계산하는 알고리즘중의 하나로서, 데이터 어레이의 내용 및 순서에 의존하는 출력을 생성한다.
Bm 바이트의 바이트 길이를 갖는 입력(어레이 값 m[1])으로부터, 해시 함수 H1은 상이한 바이트 길이 K를 갖는 축력(해시된 값)을 생성한다. 이것은 단방향 함수이므로, H(x) = y인 경우 (y)로부터 (x)를 추측하는 것이 사실상 불가능하다.
이러한, K 바이트 해시된 값은 데이터 은폐를 위한 초기 상태값 S0으로서 이용된다. 해시된 값은 단지 데이터 은폐를 위한 초기 값으로서만 이용되므로, 상이한 입력에 의해 상이한 출력이 얻어지는 것만 보장되면 된다. 따라서, 해시된 값은 특정한 의미를 갖지 않는다. 중요한 점은 이러한 연산 결과 어레이의 특성을 표시하는 출력값이 얻어지며, 즉 해시된 값이 모든 어레이 엘리먼트의 내용에 기초하여 고유하게 결정되고 전체 어레이 내용에 의존할 수 있다는 점이다.
메시지 데이터가 도 3b에 도시된 "DATAHIDING"인 경우, 모든 영숫자 문자를 표시하는 데이터(어레이 값 m[1]내의 데이터)의 배타적 OR으로부터의 해시 함수 H1 출력이 상태값 S0이 된다. 상태값 S0을 I로 나눈 경우의 나머지가 위치 P0이 된다. 이로 인해 상태값 S0및 위치 P0가 초기 상태값으로서 얻어질 수 있다.
화소 값 추출(단계 200)
단계(100)에서 얻어진 위치 P0의 값에 대응하는 이미지 영역에서 이미지 정보가 결정된다. 예를 들어, P0= 1인 경우, 이것은 매체 어레이 값 M[1]이다. 이 데이터는 BM바이트 정수로서 표현된다.
다음의 상태 계산(상태 300)
단계(100)에서 결정된 상태값 S0이외에, 다음의 상태값 S1이 매체 어레이 값 M[P0] 및 상태값 S0으로부터 식별된 매체 어레이 값 m[0]으로부터 결정된다. 상태값 S1은 다음의 수학식에 의해 결정될 수 있다.
즉, 상태값 S0, 메시지 어레이 값 m[0] 및 매체 어레이 값 M[P0]의 배타적 OR이 결정되고, 그 결과가 함수 SK에 입력된다. 그 다음에, 함수 SK의 출력이 상태값 S1이 된다. 이러한 함수 SK는 위치 변환 함수로 칭해지고, 매체 데이터에 메시지 데이터를 은폐하는 위치 변환 함수 SK는 은폐 위치 변환 함수로 칭한다. 위치 변환 함수 SK는 은폐된 데이터를 추출하는 추출 위치 변환 함수 PK에 밀접하게 관계되기 때문에, 이는 또한 다음의 추출 위치 변환 함수의 설명에 상세하게 기술되어 있다.
상태값 S2및 후속의 상태값은 유사한 절차를 수행함으로써 결정될 수 있다. 이를 일반화하기 위해, j번째 상태값 Sj및 위치 Pj는 다음의 수학식으로 표현될 수 있다.
위치 Pj는 선행 상태값 Sj-1뿐만 아니라 메시지의 내용과 매체 데이터에 의존한다는 점에 또한 주의해야 한다.
은폐 위치 변환 함수 SK에 대한 입력으로서 이용된 상태값 Sj-1, 메시지 어레이 값 m[j-1], 매체 어레이 값 M[Pj-1]은 상이한 바이트 길이, 즉 각각 K, Bm, 및 BM바이트를 갖는다. 상이한 바이트 길이를 갖는 입력의 배타적 OR을 연산하는 것이 물론 가능하나, 배타적 OR은 이들이 동일한 바이트 길이를 갖도록 변환한 후에 계산되는 것이 바람직하다. 다음의 2개의 해시 함수 H2 및 H3은 이들 모두가 상태값에서와 같이 K 바이트의 길이를 갖도록 입력을 변환하는데 이용된다.
H2 : Bm바이트 정수로부터 K 바이트 해시된 값을 생성하는 해시 함수
H3 : BM바이트 정수로부터 Bm바이트 해시된 값을 생성하는 해시 함수
즉, 해시 함수 H2는 어레이 값내의 Bm바이트 정수로부터 K 바이트 해시된 값을 생성하기 위해 메시지 어레이 값 m[j-1]에 대해 이용된다. 또한, 해시 함수 H3은 BM바이트의 비트 길이를 갖는 정수를 Bm바이트 정수로 변환하기 위해 매체 어레이 값 M[Pj-1]에 대해 이용된다. 해시 함수 H2는 K 바이트 해시된 값을 생성하기 위해 또한 이용된다. 상기한 수학식 7은 이러한 방식으로 해시 함수에 의해 입력이 변환된 경우를 포함한다.
메시지 삽입(단계 400)
은폐 어레이값 Mm[j-1]은 메시지 어레이 값 m[j-1]과 매체 어레이값 M[Pj-1]의 배타적 OR의 연산에 의해 결정되어 데이터가 획득된다. 은폐 어레이값 Mm[j-1]에서 데이터는 단계(300)에서 결정된 위치 Pj에서 은폐된다. 은폐 어레이값 Mm[j-1]은 은폐된 어레이 Mm의 어레이 엘리먼트이다.
은폐된 데이터는 메시지 어레이값 m[j]이 아니라 메시지 어레이값 m[j]과 매체 어레이값 M[Pj]의 배타적 OR의 연산에 의해 생성된 은폐 어레이값 Mm[j]임을 이해하여야 한다. 은폐 어레이값 Mm[j-1]은 함수 X에 의해 위치 Pj에서 은폐된다. 이로 인해, 매체 어레이값 M[Pj]에서 데이터가 변경된다. 내용이 변경된 매체 어레이 값 M[Pj]은 M'[Pj]로 칭할 것이다. 함수 X의 특정한 내용, 즉, 특정한 위치에서 은폐 어레이를 은폐하는 알고리즘에 대해, 제 2 실시예에서 PBC가 하나의 예로 기술될 것이다.
결정(단계 500)
(j)의 값이 J(메시지 어레이의 엘리먼트의 수보다 1만큼 큰 값)와 동일한지의 여부가 결정된다. j=J이면, 모든 메시지 어레이값이 은폐된 것이다. (j)가 J 보다 작으면, (j)에 "1"을 더하고, 프로세스는 단계(220)로 복귀된다. 이어서, 단계(200 내지 400)는 (j)가 J와 같아질 때까지 반복적으로 실행된다. 이러한 절차에 따라, 상태 시퀀스 S와 제각기 (J+1) 엘리먼트들을 포함하는 위치 시퀀스들이 획득될 수 있다.
데이터의 은폐로 인해, 매체 어레이 M의 엘리먼트들은 다음과 같이 변경된다.
M'은 은폐 이후의 매체 어레이를 나타내고, M'[i]은 은폐 이전의 매체 어레이값의 내용이 변경되었다는 것을 나타낸다. 즉, 매체 어레이값 M'은 상태 시퀀스 S에 의해 식별된 원래의 메시지 어레이 M의 j 어레이 엘리먼트들의 내용만이 변경된 것을 나타낸다. 상태값 S0에 대응하는 어레이 엘리먼트 M[P0]는 데이터 변경의 영향을 받지 않으므로, M'[P0]는 M[P0]와 동일하다.
도 7은 은폐시 상태값 Sj-1과 Sj사이의 관계를 도시한 도면이다. 상태값 Sj는 상태값 Sj-1과 은폐 어레이 Mm[j-1]를 배타적 OR 연산(M'[Pj-1] XOR m[j-1]하고, 이 연산 결과를 위치 변환 함수 SK에 입력함으로써 결정될 수 있다. 매체 어레이 값 M'[Pj-1]은 이전 상태의 은폐 동안에 변경된 내용을 갖는다. 또한, 은폐 어레이 Mm[Pj-1]은 함수 X에 의해 위치 Pj에 은폐된다. 이에 따라, 위치 M[Pj]에서 데이터가 변경된다.
상태값 추출(단계 600)
메시지의 은폐는 다음 두개의 정보를 추출함으로써 완료된다.
(1) 은폐 이후의 매체 어레이 M'
(2) 최종 상태값 Sj
매체 어레이 M'은 단계(400)에서, 매체 데이터내에 데이터를 은폐함으로써 최종적으로 얻어진다. 최종 상태값 Sj는 마지막으로 계산된 J번째의 상태값이다. 이들 정보는 이하 기술된 바와 같이 메시지 데이터를 추출할 때 요구된다. 은폐된 메시지를 추출할 때, J번째의 상태값만을 알고 있으면, 추출기는 (J-1)번째 이전의 상태값(S0내지 Sj-1)을 몰라도 된다. 그 이유는 최종 상태값을 역으로 변환함으로써 이들 상태값을 검출할 수 있기 때문이다. 물론, 추출기는 이하 기술된 정보를 필수적으로 요구한다.
(메시지 데이터 추출)
메시지 데이터를 추출하기 위해, 제삼자에게 다음의 3개의 정보가 제공된다.
(1) 은폐 이후의 매체 어레이 M'
(2) 최종 상태값 SJ
(3) 추출 위치 변환 함수 PK
정보(1) 및 정보(2)는 메시지 데이터를 삽입하는 동안에 최종적으로 생성된다. 정보(3)에서 추출 위치 변환 함수 PK는 은폐 위치 변환 함수와 함께 기술될 것이다.
a. 은폐 위치 변환 함수 SK와, 추출 위치 변환 함수 PK
메시지 은폐시 후속 상태값을 생성하는 은폐 위치 변환 함수 SK가 정의된 것과 마찬가지로, 이전의 상태값을 생성하는 추출 위치 변환 함수 SK가 메시지 추출시에 정의된다. 은폐 및 추출 위치 변환 함수(SK 및 PK)는 다음의 수학식에 도시된 바와 같이 서로 역함수이다.
따라서, 초기 메시지 어레이(m)는 은폐 위치 변환 함수 SK를 사용하여 메시지 어레이(m)을 변환하고, 이어서 역함수 PK를 사용하여 변환된 결과를 또 변환함으로써 추출될 수 있다.
전술한 수학식들을 충족시키는 다른 여러 함수들로 고려될 수 있다. 가상적으로, 제삼자가 제공된 추출 위치 변환 함수 PK를 이용하여 은폐 위치 변환 함수 SK를 재생하는 것을 방지하기 위해, 공개 암호화 방법의 암호화 함수와 복호화 함수가 바람직하게 사용된다. 공개키 방법에 따라 여러가지 알고리즘이 존재하며, 이들 알고리즘중 어느 하나가 사용될 수 있다. 실시예로서, 전형적인 RSA 방법이 기술될 것이다. RSA 방법의 알고리즘은 다음과 같다.
1. 2개의 큰 소수(prime number) P, Q를 선택하여 n = p * q를 계산한다.
2. r = 1cm(p-1, q-1) 계산 및 gcd(d, r) = 1이 되도록 (d)를 선택한다.
3. e * d = 1(mod r) 및 0 < e < r이 되도록 (e)를 결정한다.
4. 공개키로서 (e)를 공개하고, 또한, (n)을 공개한다. (d)를 비밀키로서 비밀로 한다.
5. 메시지 (m)을 암호화하기 위해, me= c(mod n)이 되도록 (c)를 계산한다. 이 (c)는 암호화된 메시지가 된다.
6. 암호화된 메시지를 해독하기 위해, cd =m(mod n)이 되도록 (m)을 계산한다. 이 (m)은 해독된 메시지이다.
이 알고리즘을 본 실시예에 적용함으로써, 다음의 수학식과 같은 은폐 및 추출 함수 SK 및 PK가 얻어진다.
즉, 이미지를 생성한 공개자는 비밀키 (d)를 가지며, 이것을 사용하여 은폐 함수 SK를 얻는다. 함수 SK는 메시지 데이터를 삽입하기 위한 위치 상태 시퀀스 S를 생성하여 매체 데이터에 데이터를 삽입하는데 사용된다. 이 분배된 데이터를 얻은 제삼자는 공개키 (e)를 사용하여 추출 함수 PK를 얻는다. 제삼자는 함수 PK를 사용하여 위치 상태 시퀀스 S를 생성함으로써 메시지를 판독한다. 공개키 방법에서, 공개키는 제삼자들에게 공개되지만, 이미지를 생성한 제작자만이 비밀키를 가지므로, 제삼자들은 이미지의 내용을 알 수 없다. 따라서, 그들은 은폐 위치 변환 함수의 내용을 알 수가 없다. 공개키로부터 비밀키를 계산하는 데에는 매우 많은 양의 계산이 필요하므로, 제삼자가 은폐 위치 변환 함수 SK를 파악하는 것은 거의 불가능하다. 이 방법은 제삼자가 원래 데이터를 변경하는 것을 효과적으로 방지할 수 있다.
메시지 추출 과정을 설명하는데 필요한 배타적 OR의 주요 성질이 간단하게 기술될 것이다. 배타적 OR 연산은 다음의 성질을 갖는다. A와 B의 배타적 OR이 결정된 후 이 결과와 B의 배타적 OR이 결정된 A가 재생된다.
(추출 알고리즘)
도 8은 삽입된 메시지 데이터를 추출하는 과정을 나타낸 흐름도이다.
초기 상태값 계산(단계 110)
우선, 다음의 수학식에 따라 추출기에 제공된 최종 상태값 SJ로부터 메시지 어레이값 m[J-1]이 은폐된 위치 Pj가 결정된다.
은폐값 추출(단계 120)
매체 어레이 M'[PJ]는 원래 이미지 정보내의 위치 pJ에 은폐된 은폐 어레이값 Mm[J-1]을 갖는다. 어레이 Mm[J-1]은 매체 어레이값 M'[PJ-1]과 메시지값 어레이 m[J-1]의 배타적 OR로서 결정된다. 그 후, 함수 X'가 정의되어 매체 어레이값 M'[PJ]로부터 은폐 어레이값 Mm[J-1]이 추출된다. 다음 수학식의 함수 X'의 특정 내용에 대한 예가 제 2 실시예에서 기술된다.
선행 상태 계산(단계 130)
다음, 상태값 SJ와, 함수 X'로부터 결정된 은폐 어레이값 Mm[J-1]의 배타적 OR을 계산함으로써 선행 상태값 SJ-1이 결정된다. 이 경우 전술한 배타적 OR의 수학적 성질이 사용되는 것에 유의하여야 한다.
즉, 추출 위치 변환 함수 PK는 은폐 위치 변환 함수의 역이므로, 이것은 상태값 SJ-1과 은폐 어레이값 Mm[J-1]의 배타적 OR 결과인 상태값 SJ로부터 재생될 수 있다. 이 결과와, 단계(120)에서 결정된 은폐 어레이값 Mm[J-1]의 배타적 OR의 연산이 결정되면 선행 상태값 SJ-1을 검출할 수 있다.
메시지 계산(단계 140)
일단, 상태 SJ-1이 결정되면, 대응하는 매체 어레이값 M'[PJ-1]을 식별할 수 있다. 그 후, 다음의 수학식을 사용하여 메시지 어레이값 m[J-1]을 추출할 수 있다. 도 3b에서 메시지가 은폐되면, 이 단계는 뒤에 오는 문자(trailing letter) "G"가 추출되도록 한다.
상태 또는 메시지 어레이값의 추출은 인덱스값 (j)(1≤j ≤J)를 사용하여 일반적으로 다음의 수학식과 같이 표현된다.
도 9는 전술한 수학식에 의해 표시되는 데이터 관계를 도시하고 있다. 이 도면은 추출시 상태값 Sj및 상태값 Sj-1간의 관계를 도시하고 있다. 이 도면과 도 7을 비교해 보면, 추출 과정과 은폐 과정이 서로 역임을 알 수 있을 것이다.
결정(단계 150)
메시지 어레이값 m[j]가 생성될 때마다. 이 값이 메시지 어레이의 시작인지의 여부가 결정된다. 만약 메시지 어레이의 시작일 경우에는, 메시지 어레이 (m)의 모든 엘리먼트가 추출된 것이다. 메시지 어레이 (m)은 마지막 엘리먼트로부터 역순으로 시작하여 추출되므로, 도 3b의 예에서 "GNIDIHATAD"의 순서로 메시지가 추출된다. 단계(160)에서, 메시지의 순서를 역전시켜 완전한 메시지를 생성한다. 메시지 어레이값 m[j]가 메시지 어레이의 시작이 아니면, 단계(140)에서의 결정 결과가 긍정적(positive)으로 될 때까지 단계(120) 내지 단계(140)가 반복적으로 수행된다.
메시지 어레이 (m)의 엘리먼트가 시작인지의 여부에 대한 결정은 생성된 상태값 Sj가 해쉬 함수(hash function) H1의 출력과 일치하는지에 대한 결정과 동일하다. 이미 생성된 메시지 어레이 (m)의 모든 엘리먼트들의 배타적 OR이 해쉬 함수 H1로 입력된다. 역순으로 생성된 상태값 Sj와 해쉬 함수 H1의 출력이 다음의 수학식과 같은 관계를 가지면, j의 값은 0이다(수학식 10을 참조).
상기 수학식은 j = 0인 경우에만 성립되며, 다른 경우(j ≠0)에는 성립되지 않는다. 최종 상태값 Sj가 역순으로 생성될 때마다. 이것은 추출된 모든 메시지 어레이값을 기초로 한 해쉬 함수의 출력과 비교된다. 도 10은 생성된 메시지 어레이값이 메시지의 시작인지를 결정하는 것을 기술하고 있다. 우선, 최종 상태값 SJ보다 선행하는 상태값 SJ-1이 결정되고, 메시지 어레이값 mJ-1이 결정된다. 메시지 어레이값 mj-1이 입력될 때 얻어지는 초기 함수 (f)의 출력 F는 상태값 SJ-1과 일치하지 않는다. 상태값 S0이 결정되면, 이것은 초기 함수의 출력 F와 일치하며, 메시지 어레이값이 시작인 것으로 결정된다. 따라서, 다음과 같은 특성 때문에, 본 발명의 알고리즘은 제삼자가 메시지를 변경하는 것을 방지하는데 매우 유용하다.
(1) 다른 메시지의 중복 기록 방지
통상적인 기법에 의하면, 생성된 위치 시퀀스 S는 메시지의 내용에 관계없이 처음에 제공된 상수의 내용에만 의존한다. 제삼자는 단지 상수만 알면 메시지를 삭제하거나 원래 메시지에 다른 메시지를 중복 기록할 수 있다. 그러나, 본 발명의 알고리즘에 의하면, 상태 시퀀스의 생성은 메시지의 내용에도 의존하며, 다른 메시지는 다른 위치의 시퀀스가 된다. 은폐 위치는 위치 시퀀스를 기초로 하므로, 다른 내용을 갖는 다른 메시지는 원래 메시지가 존재하는 위치에 은폐될 수 없다. 이것은 매체 데이터의 경우에도 적용된다.
(2) 다른 메시지의 은폐 방지
본 발명의 알고리즘은 수학식 24에 기술된 조건을 체크하여 추출의 종료를 결정한다. 이 조건은 추출된 메시지의 내용이 원래 메시지의 내용과 동일하고, 추출된 메시지가 메시지 데이터 (J)의 길이와 동일한 경우에만 만족된다. 이 요구조건이 만족되지 않는 한 추출은 종료되지 않는다. 따라서, 원래 메시지와는 다른 데이터를 최종 상태값 Sj를 기초로 하여 역순으로 은폐하고자 한다면, 수학식 24에서의 요구 조건은 결코 만족될 수 없으며, 계산이 영구적으로 계속될 것이다. 따라서, 계산이 종료되지 않기 때문에 원래 메시지의 위치와는 다른 위치에 메시지를 은폐하고자 하는 시도는 실폐하게 될 것이다.
도 10 및 도 11에 도시된 바와 같이 제삼자가 메시지 어레이값을 변경하였다면, 변경된 메시지에 기초하여 다른 상태 어레이 S'이 생성된다. 이것은 제삼자가가 상태 시퀀스 S'에 의해 식별된 위치와는 다른 위치에 있는 원래 메시지를 삭제 또는 중복 기록하는 것을 방지한다. 도 11에 도시된 바와 같이 변경에 의해 생성된 상태 시퀀스 S'은 추출이 종료되었다는 결정을 결코 할 수 없도록 한다. 다른 메시지의 기록이 실질적으로 방지될 수 있으므로, 제삼자에 의한 변경을 효과적으로 방지할 수 있다.
[D. 제 2 실시예]
이 섹션에서는 은폐된 매체 데이터를 내장하고 은폐된 데이터를 추출하는 방법들 중 하나인 화소 블록 코딩(pixel block coding: PBC)이 기술될 것이다. PBC를 이용하는 데이터의 은폐 및 추출은 이하 기술되는 변환 규칙에 따라 프로세싱될 수 있다.
[기본적인 알고리즘]
두개의 인접한 화소의 화소값의 주요 특성들은 일반적으로 높은 상관관계(correlation)를 갖는다. 따라서, 인접한 화소들 사이에 화소값이 교환되더라도, 이미지는 현저하게 저하되지 않는다. 이와 같은 성질에 따라, 본 알고리즘은 적어도 하나의 화소를 갖는 이미지 영역을 화소 블록(pixel block)으로서 정의하고, 특별한 변환 규칙을 기초로 하여 인접한 화소 블록의 특성값을 의도적으로 교환함으로써 1 비트 데이터를 은폐시킨다. 즉, 데이터는 인접한 화소 블록의 특성값을 교환함으로써 표시된다. 또한, 데이터는 전술한 변환 규칙에 의해 결정된 추출 규칙에 따라 추출된다.
비트 정보는 다음과 같은 변환 규칙에 따라 두개의 인접한 화소 블록의 특성값들(예를 들어, 휘도값)을 교환함으로써 표시된다.
비트 온(bit on) <1> : 하나의 화소 블록(PB1)의 특성값은 다른 화소 블록(PB2)의 특성값보다 크다.
비트 오프(bit off) <0> : 하나의 화소 블록(PB1)의 특성값은 다른 화소 블록(PB2)의 특성값보다 작다.
또한, 비트 정보는 다음과 같은 추출 규칙에 따라 두개의 인접한 화소 블록의 특성값(예를 들어, 휘도값)들을 비교함으로써 추출된다.
하나의 화소 블록(PB1)의 특성값은 다른 화소 블록(PB2)의 특성값보다 크다 (비트 온 <1>의 조건).
하나의 화소 블록(PB1)의 특성값은 다른 화소 블록(PB2)의 특성값보다 작다(비트 오프 <0>의 조건).
도 12는 PBC를 이용하여 데이터를 은폐 및 추출하는 방안을 도시한 도면이다. 화소 블록(PB1및 PB2)은 다수의 화소의 세트, 예를 들어 3×3 화소로서 정의될 수 있고, 혹은 하나의 화소는 하나의 화소 블록으로서 정의될 수 있다. 인접한 화소 블록들은 높은 상관관계를 가지므로, 이들 블록의 위치를 교환하더라도 이미지가 현저하게 저하되지 않는다(도 12a).
원래의 이미지의 화소 블록의 위치는 도 12(b)에 도시된 경우와 같이 가정한다. 또한, 두개의 화소 블록의 특성값들의 비교 결과로서, PB1의 특성값이 PB2의 특성값보다 큰것으로 가정한다. 만일 초기에 데이터 "1"이 은폐되면, 변환 규칙에서 화소 블록의 특성값들은 데이터 "1"에 대한 조건을 충족하는 것이 교환되지 않는다. 데이터가 추출되면 데이터 "1"이 추출되는데, 그 이유는 추출 규칙에서 PB1의 특성값이 클 때 데이터 "1"이 추출되도록 지정하고 있기 때문이다.
한편, 초기에 데이터 "0"가 은폐되면, 원래의 화소 블록의 특성값들이 교환되는데, 그 이유는 이들 특성값들 사이의 관계가 데이터 "0"에 대한 조건을 충족시키지 못하기 때문이다. 그러나, 이러한 교환은 시각적으로 인식할 수 없다. 추출 동안에는 화소 블록의 특성값들 사이의 관계를 기초로 하여 데이터 '0"이 추출된다.
이러한 방식으로, PBC는 은폐될 정보를 은폐하기 위해 이미지로부터 충분한 수의 화소 블록을 선택한다. 이어서, 선택된 화소 블록들 중 하나와 인접한 화소 블록을 쌍(pair)으로 구성하여 어레이 쌍을 생성한다. 전술한 쌍은 어레이의 시작에서부터 개시하여 순차적으로 은폐된다.
이러한 어레이는 제 1 실시예의 상태 시퀀스와 관련될 수 있다. 예를 들어, 화소 블록은 제 1 실시예의 매체 어레이(M)의 어레이 엘리먼트(m)와 관련된다. 은폐 동안 순차적으로 생성된 각각의 어레이 엘리먼트(상태값 Sj)와 인접한 매체 어레이 값이 쌍을 이루게 된다. 이어서, 획득된 쌍에 전술한 프로세싱을 수행한다. 난수(random numbers)의 특정한 시드(seeds)로부터 생성된 의사(pseudo) 난수를 기초로 하여 전술한 결정을 행하는 것도 또한 가능하다.
추출 동안에, 은폐의 경우와 동일하게 블록 어레이가 스캐닝된다. 각각의 쌍이 "비트 온" 또는 "비트 오프"를 나타내는지를 결정한 다음 추출 규칙에 따라 한 비트씩 차례로 수집함으로써 전체 이미지가 추출된다. 화소 블록 쌍의 특성값들이 동일하면, 전술한 쌍은 은폐의 경우에서와 같이 스킵(skip)된다. 블록 어레이 또는 이 어레이의 생성 방법을 비밀로 함으로써, 제삼자로부터의 은폐 정보가 은폐될 수 있다.
PBC에서, 삽입 위치는 이미지의 품질 및 추출 정확도에 의해 바람직하게 결정된다. 즉, 쌍의 화소 블록들 사이의 특성값의 차가 너무 크면, 교환 연산에 의해 이미지 품질이 저하될 수 있다. 이미지 품질의 저하를 방지하기 위해, 제 1 임계값(상한값)을 바람직하게 제공하여 특성값의 차가 임계값 이상일 때 비트가 이 쌍에 삽입되지 않도록 한다.
또한, 특성값의 차가 충분히 작으면, 교환 연산에 의해 이미지의 품질은 거의 저하되지 않는다. 하지만, 이 경우 노이즈가 특성값의 크기를 반전(reverse)시켜, 삽입 비트가 추출되지 않도록 할 수도 있다. 따라서, 추출 정확도가 저하되는 것을 막기 위해, 제 2 임계값(하한값)을 바람직하게 제공하여 특성값의 차가 임계값 이하일 때 비트가 이 쌍에 삽입되지 않도록 한다.
이러한 경우에 대응하는 쌍은 연산을 수행하지 않고 스킵된다. 따라서, 은폐될 비트 정보는 다음 쌍으로 넘겨진다.
[블록 특성값]
화소 블록의 주 특성 및 부차적인 특성의 값들은 특성값으로서 사용될 수 있다. 주 특성은 밝기 및 색도와 같은 직접적인 화소값 파라미터이다. 부차적인 특성들은 통계 특성을 나타내는 전술한 파라미터의 평균 및 분산(variance)과 같은 값으로서, 주 특성을 분석함으로써 획득될 수 있다. 또한, 특성값은 다수의 화소값을 포함하는 어레이와, 주파수 변환에 의해 획득된 특정된 어레이(마스크) 또는 특정한 엘리먼트값을 갖는 연산 결과의 값일 수 있다. 주 특성은 두개의 인접한 화소 블록들 사이의 높은 상관관계를 나타낸다. 하지만, 부차적인 특성은 서로 인접하지 않은 두개의 개별적인 블록들 사이의 높은 상관관계를 나타낸다. PBC를 이용하는 화소 블록은 반드시 인접한 블록들로 한정되지는 않음에 유의하여야 한다. 이하, 주 특성의 휘도값과 부차적인 특성의 분산값이 화소 블록의 특성값의 예로서 기술될 것이다.
먼저, 휘도값을 화소 블록의 특성값으로서 이용하는 것에 대해 기술될 것이다. 하나의 화소가 화소 블록과 관련되면, 이 화소의 휘도값은 이 블록의 특성값으로서 직접 사용될 수 있다. 자연 이미지에서, 인접한 화소들을 종종 높은 상관관계를 가지므로, 이들 화소가 교환되더라도 이미지 품질은 거의 저하되지 않는다. 도 13은 화소 블록이 단일 화소를 포함할 때 수행되는 PBC를 이용하는 은폐를 기술한 도면이다.
이어서, 분산값을 특성값으로서 이용하는 것에 대해 기술될 것이다. 한 화소 블록이 n×m 화소로 되어 있으면 이미지 품질은 상당히 저하될 수 있다. 즉, 예를 들어, 블록들 사이에서 화소의 휘도값이 교환되면 이미지상에 줄이 생긴(striped) 패턴이 발생될 수 있다. 따라서, 화소값을 블록의 특성값으로서 직접 사용하는 것은 바람직하지 않다. 따라서, 화소 밝기의 분산값을 특성값으로서 사용하는 것이 고려될 수 있다.
화소 블록의 휘도값의 성질이 평균값(h) 및 분산값(d)으로 분할될 때, 평균값(h)은 변화시키지 않은 채 분산값(d)이 인접한 화소 블록들 사이에서 교환되면, 이미지 품질이 거의 저하되지 않는 사실은 잘 알려져 있다. 따라서 이러한 성질을 기초로 하여, 분산값(d)을 화소 블록의 특성값으로서 이용하여 인접한 블록들 사이에 변환 규칙에 따라 교환함으로써 데이터가 은폐될 수 있다.
도 12(c)에 도시된 바와 같이, 화소 블록 PB1은 평균값 h1과 분산값 d1을 갖고 화소 블록 PB2은 평균값 h2과 분산값 d2을 갖는 것으로 가정한다. 만일 비트 "1"가 은폐되면, d1<d2의 조건으로 인해 이 비트에 대한 조건은 충족되지 않는다. 그러면, 이들 두 화소 블록 사이에서 단지 분산값(d)만이 교환된다. 이것은 그 평균값(h)은 변화시키지 않은 채 두 화소 블록들 사이의 분배의 정점만을 교환하는 것과 동일하다.
[은폐될 수 있는 정보의 양]
PBC에서, 은폐될 수 있는 정보의 양의 상한값은 이미지 및 화소 블록의 크기를 이용함으로써 다음과 같이 결정된다.
(이미지의 크기)/(화소 블록의 크기)/2[비트]
예를 들어, 1×1 화소 블록이 384×256 이미지에 적용되면, 은폐될 수 있는 정보의 양의 상한값은 6Kbytes이다. 하지만, 실제 한계값은 이보다 작은데, 그 이유는 인접한 화소 블록이 동일한 특성값을 갖는 경우에서와 같이 모든 화소 블록이 은폐하는데 사용되지 못하기 때문이다. 또한, 이 정보의 양은 더 한층 감소될 수도 있는데, 그 이유는 은폐될 가능성이 존재함에도 불구하고 이미지 품질이 저하되는 것을 막기 위해 때때로 교환 프로세싱이 수행되지 않을 수 있기 때문이다.
[이미지 보존 및 저하]
화소들 사이로 확장하는 에지 특성을 갖는 이미지상의 두개의 인접한 화소들은 상당히 다른 휘도값을 갖는 것으로 알려져 있다. 따라서, 이들 두 화소의 교환은 에지 특성을 손상시킬 수 있으며, 이로 인해 이미지 품질이 현저하게 저하될 수 있다. 따라서, 이미지 품질의 저하를 막기 위해, 교환될 휘도값에 대해 일정한 임계값이 제공된다. 만일 이 임계값이 초과되면, 특성값을 교환하지 않고서도 전술한 쌍을 효율적으로 스킵할 수 있다. 임계값은 이미지 데이터로부터 계산된 분산값 또는 블록 주위의 국부적인 분산값을 기초로 하여 결정될 수 있다.
제로(zero)에 가까운 블록의 분산값이 제로와 멀리 떨어져 있는 다른 블록의 분산값과 교환되면, 작은 블록(small block)이라면 크게 변경되며, 그 결과 이미지 품질이 현저하게 저하될 수 있다. 따라서, 분산값이 작은 경우에는 임계값과 비교하여, 만일 이 분산값이 임계값보다 작으면 교환 연산이 수행되지 않는다.
[PBC의 내구성]
인접한 화소 블록들의 특성값들이 비교되고 특성값들의 교환과 관련한 데이터가 은폐되어 있으므로, 블록들간의 상대적인 관계가 유지되는 한, 은폐 정보(데이터)는 올바르게 다시 얻어질 수 있다. 따라서, 색상 조절 혹은 변경이 행해진다 할 지라도, 은폐 정보는 특성값의 차에 기초하여 유지될 것이라는 것을 예상할 수 있다. 또한, 전술한 분산값 교환 방법에서 화소 블록이 8×8의 크기를 갖는다고 하면, 은폐 정보는 JPEG 압축 처리가 행해진 후에도 정확하게 추출될 수 있다. 실험에 따르면, 파일 크기를 5%로 축소할 정도로 "유손실 압축(compression with loss)" 방법이 수행된 후에도 정보의 90%가 유지되었다는 것이 실험에 의해 입증되었다. 프린트/스캔 연산과 같은 D/A 및 A/D 변환 연산이 수행된 후에도 분산값 교환 방법에 의해서는 은폐 정보가 효과적으로 유지될 것이라는 것을 예상할 수 있다.
[PBC의 확장]
전술한 PBC는 단지 예시적인 것이며 다른 여러 방법이 고려될 수 있음을 주목해야 한다. 전술한 실시예로부터 명백한 바와 같이, 특성값들 사이의 차에 대한 규칙에 따른 화소 블록들의 특성값의 조작은 데이터 삽입 및 추출에 있어서 중요한 사항이다. 이러한 의미에 있어서, 전술한 바와 같은 특성값의 교환에 부가적으로, 특정값이 특성값들 중의 어느 하나에 부가되거나 특성값들 중의 나머지 값들로부터 제거될 수 있다(또는 모든 조작이 동시에 행해질 수 있다). 이러한 경우, 특성값은 상수일 수 있거나 혹은 처리될 화소 블록들의 조건에 따라 변화되는 값일 수 있다. 또한, PBC의 확장으로서, 특성값들의 부호와 이진 정보를 결합시키기 위한 규칙이 이러한 규칙에 따라 데이터를 삽입 또는 추출하도록 정의될 수 있다.
본 발명의 요지는 임의의 기준값(가령, 이미지 데이터내의 인접한 화소 블록들 중의 하나)을 사용하여 규칙에 따라 나머지 화소 블록을 조작하는데 있다. 다시 말해서, 인접한 화소 블록들 중의 한 블록의 특성값과 이 특성값에 대한 기준값 사이의 차와 은폐된 데이터 내용을 결합하는 변환 규칙을 참조하여 상기 블록의 특성값을 조작함으로써 데이터를 감춘다. 본 발명에 따른 이러한 의미에 있어서, 기준값은 단지 명확하고 특성값들을 조작할 수 있기만 하면 되며, 이미지 데이터내의 특정 영역(화소 블록)에 반드시 존재해야 할 필요는 없다. 따라서, 기준값은 이미지 데이터 이외의 데이터로부터도 얻어질 수 있다. 가령, 특정값(기준값) 및 화소 블록과 같은 크기를 갖는 고정 마스크 패턴이 특성값 조작을 위한 기준값으로서 사용될 수 있다. 이러한 경우, 은폐중, 특정 화소 블록의 특정값이 마스크 패턴의 기준값과 관련하여 조작될 수 있으며, 추출중, 데이터는 기준값으로부터의 차에 기초하여 추출될 수 있다.
[제 3 실시예]
이 실시예는 기준 위치 정보를 은폐하는 방법을 개시하고 있다. 전술한 데이터 은폐 기법은 원래 이미지로부터 화소 블록들을 선택 및 처리하여 처리된 화소 블록들로부터 메시지를 추출한다. 따라서, 화소 블록상의 위치 정보는 메시지 추출에 있어 필수적인 정보이다. 화소 블록들의 위치들은 이미지내의 특정 영역(제 1 실시예에서 원래 이미지의 좌측 상부 코너)을 기준으로 사용하여 상대적으로 식별된다. 그러나, 제삼자가 이미지를 편집, 가령, 이미지의 일부를 절단하는 경우, 이미지의 기준 위치가 식별될 수 없어, 메시지를 추출할 수가 없다. 다시 도 3a를 참조하면, 원래의 이미지의 일부(도면에서 파선으로 둘러싸인 영역)가 절단되면, 원래의 기준 위치(메시지 어레이의 0번째 어레이 엘리먼트의 위치 M[0]))는 나머지 스크린으로부터 결정될 수 없다.
데이터 은폐를 위한 중요한 요구조건은, 은폐 정보가 제삼자에 의해 쉽게 게거될 수 없거나, 혹은 제삼자가 악의적으로 데이터를 변경하거나 혹은 데이터가 JPEG와 같은 손실있는 이미지 압축 방법으로 압축되는 경우에도 은폐 정보가 정확히 추출될 수 있어야 한다는 것이다. 다음, 메시지 외에도, 기준 위치를 식별하기 위한 정보가 도 14에 도시된 바와 같이 원래의 이미지에 은폐되는 것이 바람직하다. 이러한 위치 정보의 은폐에 따라 메시지는 변경되거나 압축된 이미지로부터도 정확히 추출될 수 있다. 따라서, 매체 데이터에 대한 기준 위치를 식별하기 위한 정보가 또한 메시지 데이터내에 은폐된다. 기준 위치에 대한 이러한 정보는 모두 메시지 데이터를 통해 은폐된다. 메시지 데이터의 일부가 절단되었다면, 전술한 정보에 의해 메시지 데이터용 기준 위치 또는 기준 위치에 대한 임의 위치가 절단된 일부 메시지 데이터로부터 검출될 수 있다. 가령, 기준 위치 주위의 동심원 아크가 모두 후술되는 바와 같이 이미지 전체에 걸쳐 은폐될 수 있다.
[위치 정보로서 동심원 아크를 사용]
도 15에 도시된 바와 같은 동심원 아크가 위치 정보로서 사용된다. 이러한 동심원 아크는 원래의 이미지의 좌측 상부 코너(기준 위치) 주위에서 특정 간격으로 그려진다. 절단된 부분 이미지로부터 기준 위치를 올바르게 추출하기 위해서는, 적어도 하나의 동심원 아크가 절단하고자 하는 부분 이미지내에 포함되어야만 한다. 결과적으로, 동심원 아크 사이의 간격은 전술한 조건을 가정하여 설정된다.
"한 원이 또다른 원의 원주상의 점을 중심으로 하고 두 원이 동일한 반경을 갖는 경우 이 원의 원주도 또다른 원의 중심을 지난다"는 원의 성질을 사용하여 기준 위치를 식별할 수 있다. 또 16은 동심원 아크가 위치 정보로 사용되는 경우에 기준 위치 B의 식별을 기술한 것이다. 먼저, 절단된 부분적 이미지내에 존재하는 3개의 동심원 아크(C1, C2, C3)상에 각각 존재하는 임의의 3개 점(a1, a2, a3)이 식별된다. 다음, 다른 반경(r1, r2, r3, r4,…)을 갖는 원들이 각각의 점들로부터 그려진다. 이 경우, 가장 많은 수의 원들이 서로 교차하는 원의 교차점들 중의 하나가 기준 위치 B로서 식별된다. 디지털 이미지에서, 화소들은 격자와 같이 다양하게 배열되며, 기준 위치는 전술한 바와 같이 원을 그림으로써 매우 정확하게 식별될 수 있다.
좌측 상부 코너로부터 멀리 떨어진 (반경이 큰) 원에 대해, 원형 아크들 간의 간격은 부분 이미지가 두개 이상의 원형 아크를 포함하는 방식으로 감소될 수 있다. 아크의 반경이 더 커짐에 따라, 원형 아크는 보다 많은 선형적 요소를 포함하며, 기준 위치의 계산값과 차가 크게 된다. 간격을 감소시킴으로써 이와 같은 차이가 감소되는데, 그 이유는 부분 이미지가 다수의 원형 아크들을 포함하고 있기 때문이다. 또한, 기준 위치를 설정함으로써, 다시 말해서, 좌측 상부 코너 및 우측 하부 코너 모두에서 원형 아크의 중심을 설정함으로써 원래 이미지의 크기를 두 중심으로부터 결정할 수 있다.
[동심원 아크를 이용한 은폐]
도 17은 동심원 아크를 위치 정보로서 사용하는 은폐 및 추출 방법을 기술하고 있다. 도 17a에서, 메시지는 제 2 실시예의 방법을 사용하여 원래의 이미지내에 은폐되며, 동심원 아크들은 위치 정보로서 순차적으로 은폐된다. 가령, 동심원 아크들상의 화소들이 LBP는 "1"으로 설정된다. LBP에서의 값의 변화에 의해서는 이미지에서 시각적인 변화가 거의 없기 때문에 LBP가 사용된다. 또한, 도 17b에서, 위치 정보가 원래의 이미지내에 은폐되며, 이어서, 메시지가 은폐된다.
[동심원을 이용한 추출]
2차원 득표(vote) 어레이 T가 생성된다. 이 어레이의 크기는 절단될 부분 이미지의 최대 크기를 고려하여 결정된다. 가령, 이 어레이가 (2m-1)의 폭을 갖는다면, 원래 이미지의 최대 1/m배의 부분 이미지를 처리할 수 있다. 득표 어레이 T의 엘리먼트 각각은 기준 위치 B에서의 후보자를 나타내며, 엘리먼트의 값은 후보자의 득표수를 나타낸다. 두 축은 부분 이미지가 득표 어레이의 중심에 위치되는 방식으로 서로 관련된다.
부분 이미지가 스캔되어, "1"의 LBP를 갖는 점과 만나는 경우, 득표 어레이에 대한 모든 알려진 반경의 동심원 아크들이 이 점의 주위에 그려진다. 다음에, 득표 어레이 T의 각 엘리먼트에 대한 득표수는 1씩 증가한다. 이러한 경우, 이것이 각각의 엘리먼트에 해당하는 점이 은폐되는 원주상의 점이라고 하면, 그려진 동심원 아크들 중 적어도 하나는 원래의 중심을 통과하게 된다.
부분 이미지는 수직으로, 그리고 수평으로 교대로 스캔되고, "1"의 LBP를 갖는 점과 만날 때마다 위의 과정이 수행된다. 이에 따라, 최대의 득표수를 갖는 엘리먼트에 해당하는 위치가 기준점 B로서 식별된다. 최대 득표수는 기준 위치에 해당하는 득표 어레이의 어레이 엘리먼트상에 집중된다. 따라서, 본 발명의 알고리즘은 노이즈의 영향에도 불구하고 기준 위치가 올바르게 식별될 수 있게 한다. 다음에, 메시지는 식별된 기준 위치에 기초하여 부분적 이미지로부터 적절히 추출될 수 있다.
도 17a의 방법에서는 은폐된 메시지를 사용하여 이미지 데이터를 변경하기 때문에, 랜덤 노이즈에 대한 내성이 있는 데이터 은폐 방법이 사용되지 않는 경우에는 정보 추출이 실패할 수 있다. 그러나, 도 17b의 방법에서는 은폐된 메시지가 추출될 때까지는 은폐 메시지를 변경하지 않으므로, 도 17a의 방법보다는 노이즈에 대한 내성이 보다 더 우수하다. 그 결과, 이러한 방법에 의해 다양한 데이터 은폐 방법들이 사용될 수 있다. 그러나, 본 발명에 따른 기준 위치에 관한 정보 부분은 파괴될 수 있음을 주목해야 한다.
[구체적인 응용예]
전술한 알고리즘을 사용한 데이터 은폐 및 추출 방법은 다음의 시스템에 구체적으로 적용될 수 있다.
[텔레비젼 이미지 광고의 발생 횟수 세기]
요청된 회수로 광고가 방송되는지의 여부는 방송을 주문한 사람에게는 중요한 사항이다. 본 발명의 알고리즘은 방송의 회수를 자동으로 계수하도록 도 18에 도시된 시스템을 구성하는데 사용될 수 있다. 방송국은 저장 장치, 인코더, 방송장치를 구비하고 있다. 저장 장치는 광고 이미지를 저장하며, 인코더는 방송 회수를 계수하는데 사용되는 정보를 광고 이미지내에 은폐시킨다. 이러한 은폐된 정보를 갖는 광고 이미지는 방송 장치에 의해 방송된다. 이 시스템은 전술한 데이터 은폐 방법을 사용하여 광고 이미지를 인코드한다. 인코딩은 광고 이미지내에 산포적으로 은폐된 카운터 정보내의 데이터에 기초하여 수행된다. 또한, 수신국은 수신기, 디코더, 카운터를 구비하고 있다. 수신기는 은폐된 카운터 정보를 사용하여 광고 이미지를 수신한다. 디코더는 광고 이미지로부터 카운터 정보를 추출한다. 추출된 카운터 정보에 기초하여, 카운터는 방송 회수를 계수한다. 이러한 수신 시스템은 전술한 데이터 추출 방법에 기초하여 카운터 정보를 추출한다. 카운터 정보내의 데이터에 기초하여, 카운터 정보가 분배된 광고 이미지상의 위치로부터 데이터를 식별 및 추출함으로써 디코딩이 수행된다.
방송국은, 은페 알고리즘에 기초하여 은폐 카운터 정보를 갖는 광고 이미지를 방송하며, 이 은폐 카운터 정보에 의해 수신국에서 방송 횟수가 계수되는 것을 가능하게 한다. 따라서, 수신국은 이 카운터 정보를 추출함으로써 방송 횟수를 계수할 수 있다.
[방화벽에서의 검열]
방화벽과 같은 토폴로지의 내부 및 외부에서의 모든 HTTP 전송은 토폴로지에 위치한 프록시를 통해 행해진다. 프록시상의 이미지 및 사운드 데이터를 검열하는데 이 성질이 사용될 수 있다. 내부에 수위표(water mark)가 은폐된 매체 데이터가 검출될 경우, 이는 로그(log)에 남겨진다. 이는 불법 배포된 데이터의 검출을 가능하게 한다. 도 19는 이러한 시스템의 블록도이다. 서버는, 매체 데이터가 저장되는 저장 수단과, 매체 데이터내에 메시지 데이터를 은폐하기 위한 인코더를 구비한다. 서버는 저장 수단으로부터 판독되는 매체 데이터내에 메시지 데이터를 은폐하기 위한 인코더를 제어하며, 출력 데이터를 인터넷에 전송한다. 전술한 은폐 방법은, 메시지 데이터의 내용에 기초하여 매체 데이터내에 메시지 데이터를 산포적으로 은폐하는데 사용된다. 수신국은, 전송국에서 은폐 처리가 행해진 매체 데이터를 인터넷으로부터 수신하는 프록시와, 수신된 데이터로부터 메시지 데이터를 추출하기 위한 디코더를 구비한다. 메시지 데이터의 내용에 기초하여, 분포된 메시지 데이터의 위치를 식별하기 위해 전술한 데이터 추출 방법을 사용하여 추출이 행해진다.
[여행사 서버에의 응용]
관광지에 대한 묘사 또는 지도와 같은 부가적인 정보, 또는 URL과 같은 포인트 정보가, 여행사에 의해 운영되는 WWW 서버상에 디스플레이되는 관광지의 사진속에 은폐된다. WWW 브라우저를 사용하여 사진을 네트워크 복사(network-copy)함으로써, 묘사, 교통 수단, 경로를 체크하기 위해 사진으로부터 지도가 이후에 추출될 수 있다. 도 20에 도시된 바와 같이, 클라이언트가 WWW 서버로부터 접속해제된 이후에도 부가적인 정보가 추출될 수 있다. 사진 데이터용 파일로부터 부가적인 정보용 파일을 분리하는 방법에 비해, 은폐 방법을 사용하면 사진 데이터와 부가적인 정보 사이의 밀접한 관계가 유지되도록 할 수 있으므로, 데이터가 용이하게 파일링되게 한다.
[핑거 프린팅 및 수위표 부가]
핑거 프린팅(finger printing)이란, 제삼자에게 송출될 매체 데이터내에, 매체 데이터의 송출자가 그 제삼자를 식별하는 것을 가능하게 하는 표식을 은폐하는 것을 일컫는다. 만약 어떤 사람이 불법적인 복사와 같은 불법 행위를 할 경우, 핑거 프린팅에 의해 그 행위의 근원을 식별할 수 있게 된다. 따라서, 이 사람이 복사본을 불법적으로 배포할 경우, 이 불법적인 복사본에 대해 그 사람에게 책임을 물을 수 있게 된다.
반면에, 수위표 부가(water matking)란 제삼자에게 송출될 매체내에, 데이터의 제공자가 자신임을 증명하는 것을 가능하게 해주는 표적을 은폐하는 것을 일컫는다. 이렇게 함으로써, 배포 동안 데이터가 변경되지 않았음을 보장할 수 있게 되는데, 즉 이 데이터가 합법적인 송출자로부터 송출되었으며 배초 동안 변경되지 않았음을 보장해 준다.
이러한 표식을 은폐하기 위해, 도 21에 도시된 바와 같은 시스템이 구축될 수 있다. 데이터가 제삼자에게 송출될 때, 데이터내에 표식이 은페된다. 이 표식을 검출하기 위해, 이 표식이 제삼자로부터 획득된 데이터로부터 추출된다.
전술한 시스템 이외에도, 본 발명은 케이블 또는 위성 통신 혹은 DVD-ROM(DVD-RAM)과 같은 저장 매체를 사용하는 시스템들에 적용가능하다. 특히, DVD-ROM(DVD-RAM)이 매체 데이터를 배포하는데 사용될 경우, 데이터는, 복사의 허용 여부, 즉 복사가 금지되었는지 또는 허용되었는지에 대한 은폐 정보를 포함한다. 매체 데이터를 복사하기 위해 최종 사용자에 의해 사용되는 DVD 재생기는 복사를 제한하기 위한 기능을 구비한다. 따라서, 복사 재생기가 매체로부터 복사 허용 상태를 추출해서 복사가 금지되어 있음을 알아낼 경우, 이 복사 재생기는 복사를 금지하도록 동작한다.
G. 데이터 추출 시스템 및 이러한 시스템을 구현하는 반도체 집적 회로 구체적으로, 전술한 데이터 추출 방법은 이하의 구성을 갖는 시스템상에서 구현될 수 있다. 또한, 이러한 시스템의 대부분의 기능이 반도체 집적 회로와 같은 단일 칩상에 제공될 수 있다. 이러한 시스템 및 반도체 집적 회로의 특성에 관한 상세한 설명은 중복을 피하기 위해 생략되지만, 데이터 추출 방법에서 기술되는 내용 및 이들의 확장 및 변경도 또한 이들 시스템에 적용가능하다. 이하의 내용에 대한 상세한 사항은 본 기술 분야에 통상의 지식을 가진 자에게는 전술한 방법에 대한 상세한 설명으로부터 자명할 것이다.
구체적으로, 도 22에 도시된 바와 같이 매체 데이터로부터 메시지 데이터를 추출하기 위한 시스템은, 변환 수단과, 식별 수단과, 특성값 계산 수단과, 저장 수단과, 추출 수단을 구비한다. 변환 수단은 메시지 데이터가 은폐되어 있는 아날로그 신호를 포함하는 메시지 데이터를 디지털 신호로 변환하는 A/D 변환기이며, 그 후 이 디지털 신호는 변환기에 의해 출력된다. 식별 수단은, 변환 수단에 의해 출력되는 매체 데이터내에 있으며 메시지 데이터가 은폐되어 있는 블록들중 하나를 식별한다. 특성값 계산 수단은 식별 수단에 의해 식별되는 블록의 특성값을 결정한다. 저장 수단은, 추출될 데이터의 내용을, 이 블록의 특성값에 대한 기준값과 특성값 사이의 차와 결합시키는 변환 규칙을 저장한다. 추출 수단은, 이 블록의 특성값에 따라 은폐된 메시지 데이터를 추출하기 위해 변환 규칙을 참조한다.
기준값은 매체 데이터에 존재하며 제 1 블록과 상이한 제 2 블록의 특성값이다. 저장 수단에 저장된 변환 규칙은, 제 1 블록의 특성값이 제 2 블록의 특성값보다 클 경우 비트중 하나가 추출되고, 반면에 제 1 블록의 특성값이 제 2 블록의 특성값보다 작을 경우 다른 비트가 선택된다는 것이다.
또한, 도 23에 도시된 바와 같이 단일 칩에 일체화되는 전술한 시스템을 포함하는 반도체 집적 회로는 적어도 계산 수단과 추출 수단을 포함한다. 계산 수단은, 메시지 데이터가 은폐된 것으로 식별되는 입력 신호를 포함하는 매체 데이터내의 해당 블록의 특성값을 결정한다. 추출 수단은, 추출될 데이터의 내용을, 이 블록의 특성값에 대한 기준값과 특성값간의 차와 결합시키는 변환 규칙을 참조함으로써 블록의 특성값에 따른 은폐된 메시지를 추출한다.
전술한 바와 같이, 메시지 데이터가 이미지 또는 사운드와 같은 매체 데이터내에 산포적으로 은폐되어 있을 경우, 본 발명은 매체 및 메시지 데이터 둘 모두의 내용에 기초하여 메시지가 은폐되는 위치를 결정한다. 따라서, 본 발명은 제삼자가 메시지를 용이하게 변경하는 것을 방지하는 데이터 은폐를 제공한다.

Claims (66)

  1. 데이터를 은폐하는 방법에 있어서, 매체 데이터(media data)가 매체 어레이(media array)로서 표현되고 메시지 데이터(message data)가 메시지 어레이(message array)로서 표현되며, 상기 메시지 어레이의 엘리먼트들(elements)이 상기 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태값(state value)에 기초하여 상기 매체 어레이 내에 산포적으로 은폐되어 있고, 상기 방법은,
    (a) j 번째(j≥0) 상태값을 결정하는 단계와,
    (b) 상기 j 번째 상태값, 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 상기 어레이 엘리먼트, 상기 메시지 어레이의 상기 어레이 엘리먼트에 기초하여 (j+1) 번째 상태값을 결정하는 단계와,
    (c) 상기 (j+1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트에 관해 데이터를 은폐하는 간계를 포함하는 데이터 은폐 방법.
  2. 데이터를 은폐하는 방법에 있어서, 매체 데이터가 매체 어레이로서 표현되고 메시지 데이터가 메시지 어레이로서 표현되며, 상기 메시지 어레이의 J 개의 엘리먼트들이 상기 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태값에 기초하여 상기 매체 어레이 내에 산포적으로 은폐되어 있고, 상기 방법은,
    (a) j 번째(j≥0) 상태값을 결정하는 단계와,
    (b) 상기 j 번째 상태값, 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 상기 어레이 엘리먼트, 상기 메시지 어레이의 상기 어레이 엘리먼트에 기초하여 (j+1) 번째 상태값을 결정하는 단계와,
    (c) 상기 (j+1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트에 관해 데이터를 은폐하는 단계와,
    (d) 상기 (a) 내지 (c) 단계를 반복적으로 수행하여 상기 메시지 어레이의 J 개의 엘리먼트를 은폐하는 단계를 포함하는 데이터 은폐 방법.
  3. 제1 또는 제2항에 있어서, 상기 단계 (a)에서 j=0이면, 초기 상태값은 상기 메시지 어레이의 어레이 엘리먼트들 내의 데이터에 기초하여 결정되는 데이터 은폐 방법.
  4. 제1 또는 제2항에 있어서, 상기 단계 (a)에서 j=0이면, 상기 메시지 어레이의 모든 어레이 엘리먼트 내의 데이터의 배타적 OR값이 초기 함수에 대한 입력으로서 사용되고, 상기 초기 함수의 출력이 초기 상태값으로서 사용되는 데이터 은폐 방법.
  5. 제1 또는 제2항에 있어서, 상기 단계 (b)에서, 상기 (j+1) 번째 상태값은 상기 j 번째 상태값, j 번째 상태값에 의해 표시되는 매체 어레이의 어레이 엘리먼트 내의 데이터, 상기 메시지 어레이의 어레이 엘리먼트 내의 데이터의 배타적 OR에 기초하여 결정되는 데이터 은폐 방법.
  6. 제1 또는 제2항에 있어서, 상기 단계 (b)에서, 상기 j 번째 상태값, j 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트 내의 데이터, 상기 메시지 어레이의 어레이 엘리먼트 내의 데이터의 배타적 OR값이 은폐 위치 변환 함수에 대한 입력으로서 사용되고, 상기 은폐 위치 변환 함수의 출력은 상기 (j+1) 번째 상태값으로서 사용되는 데이터 은폐 방법.
  7. 제6항에 있어서, 상기 은폐 위치 변환 함수는 공개 키(public key) 방법에서 사용되는 비밀키(secret key)를 파라미터(parameter)로서 사용하는 암호화 함수(enciphering function)인 데이터 은폐 방법.
  8. 제1항 또는 제2항에 있어서, 상기 단계 (c)에서, 은폐하는 데이터는 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트 및 상기 메시지 어레이의 어레이 엘리먼트의 배타적 OR값인 데이터 은폐 방법.
  9. 제1항 또는 제2항에 있어서, 상기 단계 (c)에서, 상기 (j+1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트에 대응하는 제 1 화소 블록 및 제 화소 블록이 쌍을 이루며, 그 데이터를 은폐하기 위해 상기 화소 블록들의 특성값(characteristic values)들은 변환 규칙(translation rule)에 기초하여 조작되는 데이터 은폐 방법.
  10. 제9항에 있어서, 상기 제 2 화소 블록은 제 2 화소 블록과 쌍을 이루는 상기 제 1 화소 블록에 인접한 데이터 은폐 방법.
  11. 제9항에 있어서, 상기 변환 규칙은 쌍을 이루는 각각의 화소 블록 사이의 특성값에 있어서의 차에 기초하여 상기 특성값을 조작하는 데 사용되는 규칙을 규정하는 데이터 은폐 방법.
  12. 제11항에 있어서, 상기 특성값은 상기 화소 블록의 휘도값(brightness value)인 데이터 은폐 방법.
  13. 제11항에 있어서, 상기 특성값은 상기 화소값의 분산값(variance value)인 데이터 은폐 방법.
  14. 제2항에 있어서, (e) 데이터가 은폐되어 있는 상기 매체 어레이 및 최종 상태값을 추출하는 단계를 더 포함하는 데이터 은폐 방법.
  15. 데이터를 추출하는 방법에 있어서, 메시지 데이터가 메시지 어레이로서 표현되고 상기 메시지 데이터를 포함하는 은폐 데이터가 은폐 어레이로서 표현되며, 상기 은폐 데이터가 산포적으로 은폐된 매체 데이터가 매체 어레이로서 표현되고, 상기 메시지 어레이는 상기 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태값에 기초하여 상기 매체 어레이로부터 추출되며, 상기 방법은,
    (a) j 번째(j≥0) 상태값을 결정하는 단계와,
    (b) 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트로부터 상기 은폐 어레이의 어레이 엘리먼트를 추출하는 단계와,
    (c) j 번째 상태값 및 은폐 어레이의 상기 추출된 어레이 엘리먼트에 기초하여 (j-1) 번째 상태값을 결정하는 단계와,
    (d) 상기 (j-1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트 및 상기 은폐 어레이의 추출된 어레이 엘리먼트에 기초하여 상기 메시지 어레이의 어레이 엘리먼트를 추출하는 단계를 포함하는 데이터 추출 방법.
  16. 데이터를 추출하는 방법에 있어서, 메시지 데이터가 메시지 어레이로서 표현되고 상기 메시지 데이터를 포함하는 은폐 데이터가 은폐 어레이로서 표현되며 상기 은폐 데이터가 산포적으로 은폐된 매체 데이터가 매체 어레이로서 표현되고, 상기 메시지 어레이는 상기 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태값에 기초하여 상기 매체 어레이로부터 추출되며, 상기 방법은,
    (a) j 번째(j≥1) 상태값을 결정하는 단계와,
    (b) 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트로부터 상기 은폐 어레이의 어레이 엘리먼트를 추출하는 단계와,
    (c) j 번째 상태값 및 은폐 어레이의 상기 추출된 어레이 엘리먼트에 기초하여 (j-1) 번째 상태값을 결정하는 단계와,
    (d) 상기 (j-1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트 및 상기 은폐 어레이의 추출된 어레이 엘리먼트에 기초하여 상기 메시지 어레이의 어레이 엘리먼트를 추출하는 단계와,
    (e) 추출 종료 조건(extraction end condition)이 충족될 때까지 상기 (a) 내지 (d) 단계를 반복하는 단계를 더 포함하는 데이터 추출 방법.
  17. 제15항 또는 제16항에 있어서, 상기 단계 (a)에서, 추출을 시작하는 데 사용되는 제 1 상태값이 추출에 필요한 정보로서 추출기(extractor)에 제공되는 데이터 추출 방법.
  18. 제17항에 있어서, 추출을 시작하는 데 사용되는 제 1 상태값은 상기 메시지 어레이를 은폐할 때 생성된 최종 상태값인 데이터 추출 방법.
  19. 제15항 또는 제16항에 있어서, 상기 단계 (c)에서, 상기 (j-1) 번째 상태값은 상기 j 번째 상태값 및, j 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트로부터 추출된 상기 은폐 어레이의 어레이 엘리먼트 내의 데이터의 배타적 OR값에 기초하여 결정되는 데이터 추출 방법.
  20. 제15항 또는 제16항에 있어서, 추출 위치 변환 함수(extraction position translation function)가 제공되며, 상기 단계 (c)에서, 상기 j 번째 상태값 및 상기 j 번째 상태값에 의해 표시되는 상기 매체 엘리먼트의 어레이 엘리먼트로부터 추출된 상기 은폐 어레이의 어레이 엘리먼트 내의 데이터의 배타적 OR값과, 상기 위치 변환 함수의 출력이 상기 (j-1) 번째 상태값으로서 사용되는 데이터 추출 방법.
  21. 제20항에 있어서, 상기 추출 위치 변환 함수는 공개 키 방법에서 사용되는 공개 키(public key)를 파라미터로서 사용하는 복호화 함수(deciphering function)인 데이터 추출 방법.
  22. 제15항 또는 제16항에 있어서, 상기 단계 (b)에서, 상기 은폐 어레이의 어레이 엘리먼트는 상기 (j-1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트 및 상기 메시지 어레이의 어레이 엘리먼트의 배타적 OR값인 데이터 추출 방법.
  23. 제15항 또는 제16항에 있어서, 상기 단계 (b)에서, 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트에 대응하는 제 1 화소 블록 및 제 2 화소 블록이 쌍을 이루며, 은폐 데이터는 쌍을 이루는 상기 화소 블록들의 특성값의 관계에 따라 추출 규칙에 기초하여 추출되는 데이터 추출 방법.
  24. 제23항에 있어서, 상기 제 2 화소 블록은, 제 2 화소 블록과 쌍을 이루는 상기 제 1 화소 블록에 인접한 데이터 추출 방법.
  25. 제23항에 있어서, 상기 추출 규칙은 쌍을 이루는 상기 화소 블록들 사이의 특성값들의 차에 기초하고, 은폐동안 상기 특성값의 조작을 규정하는 변환 규칙에 대응하는 데이터 추출 방법.
  26. 제25항에 있어서, 상기 특성값은 상기 화소 블록의 휘도값인 데이터 추출 방법.
  27. 제25항에 있어서, 상기 특성값은 상기 화소 블록의 분산값인 데이터 추출 방법.
  28. 제16항에 있어서, 상기 메시지 어레이의 어레이 엘리먼트들 내의 데이터에 기초하여 초기 상태값을 결정하기 위해 데이터를 은폐하는 데 초기 함수가 사용되며, 상기 방법은, (f) 상기 단계 (d)에서, 상기 메시지 엘리먼트 중 한 엘리먼트가 추출될 때마다, 상기 메시지 어레이의 모든 어레이 엘리먼트 내의 데이터를 입력으로 사용하여, 상기 추출 종료 조건으로서 상기 초기 함수의 출력이 상기 (j-1) 번째 상태값과 동일한 지를 결정하는 단계를 더 포함하는 데이터 추출 방법.
  29. 제28항에 있어서, 상기 메시지 어레이의 추출된 모든 어레이 엘리먼트 내의 데이터의 배타적 OR값이 상기 초기 함수에 대한 입력으로서 사용되는 데이터 추출 방법.
  30. 제28항에 있어서, 상기 단계 (f)에서, 상기 초기 함수의 출력이 상기 (j-1) 번째 상태값과 동일할 때 추출 종료(end of extraction)로 인식되는 데이터 추출 방법.
  31. 방송 시스템에 있어서,
    (a) 광고 이미지(commercial image)가 저장된 저장 장치와,
    (b) 상기 광고 이미지 내에, 상기 광고 이미지의 방송 회수를 계수하는 데 사용되는 정보를 은폐하는 인코더(encoder)와
    (c) 상기 정보가 은폐된 상기 광고 이미지를 방송하는 방송 장치(broadcast apparatus)를 포함하며, 상기 정보는 상기 계수를 위한 정보 내의 데이터에 기초하여 상기 광고 이미지 내에 산포적으로 은폐되어 있는 방송 시스템.
  32. 제31항에 있어서, 상기 정보를 상기 광고 이미지에 은폐하는 방법은 제1항 또는 제2항에 기술된 데이터 은폐 방법을 사용하여 행해지는 방송 시스템.
  33. 수신 시스템에 있어서,
    (a) 상기 광고 이미지의 방송 회수를 계수하는 데 사용되는 은폐 정보를 포함하는 광고 이미지를 수신하는 수신기(receiver)와,
    (b) 상기 광고 이미지로부터 상기 정보를 추출하는 디코더(decoder),와,
    (c) 상기 추출된 정보에 기초하여 상기 광고 이미지의 방송 회수를 계수하는 카운터(counter)를 포함하며, 계수를 위한 상기 정보 내의 데이터에 기초하여, 상기 광고 이미지 내의 상기 산포적으로 은폐된 정보의 위치가 식별되고 그후 정보가 추출되는 수신 시스템.
  34. 제33항에 있어서, 상기 광고 이미지로부터 상기 정보를 추출하는 방법은 제15항 또는 제16항에 기술된 데이터 추출 방법을 사용하여 행해지는 수신 시스템.
  35. 데이터를 네트워크(network)로 전송하는 시스템에 있어서,
    (a) 매체 데이터가 저장된 저장 장치(storage apparatus)와,
    (b) 상기 매체 데이터 내에 메시지 데이터를 은폐하는 코딩 장치(coding apparatus)와,
    (c) 상기 저장 수단으로부터 판독된 상기 매체 데이터 내에 상기 메시지 데이터를 은폐하도록 인코더(encoder)를 제어하고 상기 인코더로부터 네트워크로 출력 데이터를 전송하는 서버(server)를 포함하며, 상기 메시지 데이터는 상기 메시지 데이터의 내용에 기초하여 상기 매체 데이터 내에 산포적으로 은폐되어 있는 전송 시스템.
  36. 제35항에 있어서, 상기 메시지 데이터를 은폐하는 장치는, 매체 데이터(media data)가 매체 데이터(media data)로서 표현되고 메시지 데이터(message data)가 메시지 어레이(message array)로서 표현되며, 상기 메시지 어레이의 엘리먼트들(elements)이 상기 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태값(state value)에 기초하여 상기 매체 어레이 내에 산포적으로 은폐되어 있고, (a) j 번째(j> 0) 상태값을 결정하는 단계와, (b) 상기 j 번째 상태값, 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 상기 어레이 엘리먼트, 상기 메시지 어레이의 상기 어레이 엘리먼트에 기초하여 (j+1) 번째 상태값을 결정하는 단계와, (c) 상기 (j+1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트에 관해 데이터를 은폐하는 단계를 포함하는 데이터 은폐 방법을 구현하는 전송 시스템.
  37. 네트워크로부터 데이터를 수신하는 시스템에 있어서,
    (a) 메시지 데이터가 은폐되어 있는 매체 데이터를 네트워크로부터 수신하는 수신기(receiver)와,
    (b) 상기 매체 데이터로부터 상기 메시지 데이터를 추출하는 디코더(decoder)를 포함하며, 상기 메시지 데이터의 내용에 기초하여, 상기 매체 데이터 내의 상기 산포적으로 은폐된 메시지 데이터의 위치가 식별되고 그후 메시지 데이터가 추출되는 데이터 수신 시스템.
  38. 제37항에 있어서, 상기 메시지 데이터를 추출하는 방법은, 메시지 데이터가 메시지 어레이로서 표현되고 상기 메시지 데이터를 포함하는 은폐 데이터가 은폐 어레이로서 표현되며, 상기 은폐 데이터가 산포적으로 은폐된 매체 데이터가 매체 어레이로서 표현되고, 상기 메시지 어레이는 상기 매체 어레이의 특정 어레이 엘리먼트를 지정하는 상태값에 기초하여 상기 매체 어레이로부터 추출되며, (a) j 번째(j> 0) 상태값을 결정하는 단계와, (b) 상기 j 번째 상태값, 상기 j 번째 상태값에 의해 표시되는 상기 매체 어레이의 상기 어레이 엘리먼트, 상기 메시지 어레이의 상기 어레이 엘리먼트에 기초하여 (j+1) 번째 상태값을 결정하는 단계와, (c) 상기 (j+1) 번째 상태값에 의해 표시되는 상기 매체 어레이의 어레이 엘리먼트에 관해 데이터를 은폐하는 단계를 포함하는 데이터 추출 방법인 데이터 수신 시스템.
  39. 제 1 데이터가 제 1 어레이로서 표현되고, 제 2 데이터가 제 2 어레이로서 표현되며, 상기 제 2 어레이의 엘리먼트들은 상기 제 1 어레이의 특정 어레이 엘리먼트를 지정하는 상태값에 기초하여 상기 제 1 어레이 내에 산포적으로 은폐되고 있는 데이터 은폐 방법에 있어서,
    (a) j 번째(j≥2) 상태값을 결정하는 단계와,
    (b) 상기 j 번째 상태값, j 번째 상태값에 의해 표시되는 상기 제 1 어레이의 어레이 엘리먼트들과, 상기 제 2 어레이의 어레이 엘리먼트들에 기초하여 (j+1) 번째 상태값을 결정하는 단계와,
    (c) 상기 (j+1) 번째 상태값에 의해 표시되는 상기 제 1 어레이의 어레이 엘리먼트에 관한 데이터를 은폐하는 단계를 포함하는 데이터 은폐 방법.
  40. 제 2 데이터가 제 2 어레이로서 표현되고, 상기 제 2 데이터를 구비하는 제 3 데이터가 제 3 어레이로서 표현되며, 상기 제 3 데이터를 그 내부에 산포적으로 은폐하고 있는 제 1 데이터가 제 1 어레이로서 표현되고, 상기 제 1 어레이의 특정 한 어레이 엘리먼트를 지정하는 상태값에 기초하여 상기 제 1 어레이로부터 상기 제 2 어레이를 추출하는 데이터 추출 방법에 있어서,
    (a) j 번째(j≥1) 상태값을 결정하는 단계와,
    (b) 상기 j 번째 상태값에 의해 표시된 상기 제 1 어레이의 어레이 엘리먼트로부터 상기 제 3 어레이의 어레이 엘리먼트를 추출하는 단계와,
    (c) 상기 j 번째 상태값과 상기 추출된 제 3 어레이의 어레이 엘리먼트에 기초하여 (j-1) 번째 상태값을 결정하는 단계와,
    (d) 상기 (j-1) 번째 상태값에 의해 표시된 상기 제 1 어레이의 어레이 엘리먼트와 상기 추출된 제 3 어레이의 어레이 엘리먼트에 기초하여 상기 제 2 어레이의 어레이 엘리먼트를 추출하는 단계를 포함하는 데이터 추출 방법.
  41. 매체 데이터 내에 메시지 데이터를 은폐하는 데이터 은폐 방법에 있어서, 상기 메시지 데이터 및 상기 매체 데이터에 대한 기준 위치 정보는 상기 메시지 데이터 내에 은폐되어 있고, 상기 메시지 데이터 내에 상기 기준 위치 정보가 은폐되어 있음으로 인해, 상기 메시지 데이터의 일부가 부분적인 메시지 데이터로서 절단 될지라도, 본래의 메시지 데이터의 상기 기준 위치나 또는 상기 기준 위치에 기초한 상대 위치를 검출할 수 있게 되는 데이터 은폐 방법.
  42. 제41항에 있어서, 상기 기준 위치 정보는 상기 기준 위치의 주위에 그려진 동심원 형상의 아크(concentric circular arcs)인 데이터 은폐 방법.
  43. 매체 데이터 내에 메시지 데이터를 은폐하는 데이터 은폐 방법에 있어서,
    (a) 상기 매체 데이터 내에서 상기 메시지 데이터가 은폐될 제 1 블록을 식별하는 단계와,
    (b) 상기 식별된 제 1 블록의 특성값을 결정하는 단계와,
    (c) 상기 메시지 데이터를 은폐하기 위해, 은폐될 데이터의 내용과, 상기 특성값에 대한 기준값과 상기 제 1 블록의 특성값 사이의 차를 연관시키는 변환 규칙을 기준으로 하여, 상기 제 1 블록의 특성값을 조작하는 단계를 포함하며, 상기 은폐하는 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 데이터 은폐 방법.
  44. 제43항에 있어서, 상기 기준값은 상기 매체 데이터 내에 존재하는 제 2 블록의 특성값에 의해 제공되는 데이터 은폐 방법.
  45. 매체 데이터 내에 메시지 데이터를 은폐하는 데이터 은폐 방법에 있어서,
    (a) 상기 매체 데이터 내에서, 제 1 블록과 제 2 블록을 포함하는 한쌍의 블록을 식별하는 단계와,
    (b) 메시지 데이터를 은폐하기 위해, 상기 각각의 제 1 및 제 2 블록의 특성값을 결정하여 상기 블록들의 특성값들을 조작하는 단계와,
    (c) 상기 메시지 데이터 내의 데이터의 일부를 은폐하기 위해, 상기 결정된 특성값들 사이의 차를 비교하고, 변환 규칙에 따라, 상기 쌍을 구성하는 상기 각 블럭들의 특성값들을 조작하는 단계와,
    (d) 모든 메시지 데이터를 은폐하기 위해, 상기 단계 (a) 내지 단계 (c)를 반복하는 단계를 포함하며, 상기 은폐하는 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 데이터 은폐 방법.
  46. 매체 데이터 내에 데이터를 은폐하는 데이터 은폐 방법에 있어서,
    (a) 상기 매체 데이터 내에서, 제 1 블록과 제 2 블록을 포함하는 한쌍의 블록을 식별하는 단계와,
    (b) 상기 쌍을 구성하는 상기 각 블록들의 특성값들을 결정하는 단계와,
    (c) 상기 메시지 데이터를 은폐하기 위해, 상기 블록들 사이의 특성값과 차를 지정하는 변환 규칙에 기초하여, 상기 쌍을 구성하는 상기 블록들의 특성값들을 교환하는 단계를 포함하며, 은폐될 메시지 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 데이터 은폐 방법.
  47. 제44항 내지 제46항 중의 어느 한 항에 있어서, 상기 제 2 블록은, 상기 제 2 블록과 쌍을 이루고 있는 상기 제 1 블록에 인접하는 데이터 은폐 방법.
  48. 제44항 내지 제46항 중의 어느 한 항에 있어서, 상기 변환 규칙은, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 크면 비트들 중 하나가 은폐되고, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 작으면 나머지 비트가 은폐되는 것을 나타내고 있는 데이터 은폐 방법.
  49. 제44항 내지 제46항 중의 어느 한 항에 있어서, 상기 매체 데이터의 열화를 방지하기 위하여, 상기 제 1 블록과 상기 제 2 블록 사이의 특성값의 차가 제 1 임계값보다 크면, 상기 단계 (c)의 수행을 금지하는 단계를 더 포함하는 데이터 은폐 방법.
  50. 제44항 내지 제46항 중의 어느 한 항에 있어서, 상기 메시지 데이터를 추출하는데 있어서 정밀도가 떨어지는 것을 방지하기 위해, 상기 제 1 블록과 상기 제 2 블록 사이의 특성값의 차가 제 2 임계값보다 작으면, 상기 단계 (c)의 수행을 금지하는 단계를 더 포함하는 데이터 은폐 방법.
  51. 제44항 내지 제46항 중의 어느 한 항에 있어서, 상기 제 1 및 제 2 블록은 화소 블록이고, 상기 특성값은 상기 화소 블록의 휘도값인 데이터 은폐 방법.
  52. 제44항 내지 제46항 중의 어느 한 항에 있어서, 상기 제 1 및 제 2 블록은 화소 블록이고, 상기 특성값은 상기 화소 블록의 분산값인 데이터 은폐 방법.
  53. 메시지 데이터를 그 내부에 은폐하고 있는 매체 데이터로부터 메시지 데이터를 추출하는 데이터 추출 방법에 있어서,
    (a) 상기 매체 데이터 내에서 상기 메시지 데이터가 은폐되어 있는 제 1 블록을 식별하는 단계와,
    (b) 상기 식별된 제 1 블록의 특성값을 결정하는 단계와,
    (c) 추출될 데이터의 내용과, 상기 특성값에 대한 기준값과 상기 제 1 블록의 특성값 사이의 차를 연관시키는 변환 규칙을 기준으로 하여, 상기 제 1 블럭의 특성값에 따라 메시지 데이터를 추출하는 단계를 포함하며, 추출될 메시지 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 데이터 추출 방법.
  54. 제53항에 있어서, 상기 기준값은 상기 매체 데이터 내에 존재하고, 또한 상기 제 1 블록과는 다른 제 2 블록의 특성값인 데이터 추출 방법.
  55. 메시지 데이터를 그 내부에 은폐하고 있는 매체 데이터로부터 메시지 데이터를 추출하는 데이터 추출 방법에 있어서,
    (a) 상기 매체 데이터 내에서 상기 메시지 데이터가 은폐되어 있는 제 1 및 제 2 블록을 식별하는 단계와,
    (b) 상기 쌍을 구성하는 상기 제 1 및 제 2 블록의 특성값들을 결정하는 단계와,
    (c) 추출될 데이터의 내용과, 상기 쌍을 구성하는 상기 제 1 및 제 2 블록 사이의 특성값의 차를 연관시키는 변환 규칙을 기준으로 하여, 상기 각 블록들의 특성값에 따라 은폐된 데이터를 추출하는 단계를 포함하며, 추출될 메시지 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 데이터 추출 방법.
  56. 제54항 또는 제55항에 있어서, 상기 제 2 블록은, 상기 제 2 블록과 쌍을 이루고 있는 상기 제 1 블록에 인접하는 데이터 추출 방법.
  57. 제54항 또는 제55항에 있어서, 상기 변환 규칙은, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 크면 비트들 중 하나가 추출되고, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 작으면 나머지 비트가 추출되는 것을 나타내고 있는 데이터 추출 방법.
  58. 제54항 또는 제55항에 있어서, 상기 쌍을 구성하는 상기 제 1 블록과 상기 제 2 블록 사이의 특성값의 차가 지정된 임계값보다 작으면, 상기 변환 규칙은, 상기 쌍 내에 매체 데이터가 은폐되어 있지 않다고 결정하는 데이터 추출 방법.
  59. 제53항 또는 제55항에 있어서, 상기 제 1 블록은 제 1 화소 블록이고, 상기 특성값은 상기 제 1 화소 블록의 휘도값인 데이터 추출 방법.
  60. 제53항 또는 제55항에 있어서, 상기 제 1 및 제 2 블록은 화소 블록들이고, 상기 특성값은 상기 화소 블록들의 분산값인 데이터 추출 방법.
  61. 메시지 데이터를 그 내부에 은폐하고 있는 매체 데이터로부터 메시지 데이터를 추출하는 데이터 추출 시스템에 있어서, 아날로그 신호들을 포함하고 은폐된 메시지 데이터를 구비하고 있는 메시지 데이터를 디지털 신호들로 변환하여 이 디지털 데이터 신호들을 출력하는 변환기와, 상기 매체 데이터 내에서 상기 메시지 데이터가 은폐되어 있는 제 1 블록을 식별하는 식별자와, 상기 식별자에 의해 식별된 상기 제 1 블록의 특성값을 결정하는 특성값 계산기와, 추출될 데이터의 내용과, 상기 특성값에 대한 기준값과 상기 제 1 블록의 특성값 사이의 차를 연관시키는 변환 규칙을 저장하는 저장 장치와, 상기 변환 규칙을 기준으로 하여 상기 제 1 블록의 특성값에 따라 메시지 데이터를 추출하는 추출기를 포함하며, 추출될 메시지 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 데이터 추출 시스템.
  62. 제61항에 있어서, 상기 기준값은 상기 매체 데이터 내에 존재하고, 또한 상기 제 1 블록과는 다른 제 2 블록의 특성값인 데이터 추출 시스템.
  63. 제62항에 있어서, 상기 변환 규칙은, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 크면 비트들 중 하나가 추출되고, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 작으면 나머지 비트가 추출되는 것을 나타내고 있는 데이터 추출 시스템.
  64. 메시지 데이터를 그 내부에 은폐하고 있는 매체 데이터로부터 메시지 데이터를 추출하는 반도체 집적 회로에 있어서, 메시지 데이터가 은폐되어 있다고 식별된 입력 신호들을 포함하는 매체 데이터의 제 1 블록의 특성값을 결정하는 장치와, 추출될 데이터의 내용과, 상기 특성값에 대한 기준값과 상기 제 1 블록의 특성값 사이의 차를 연관시키는 변환 규칙을 기준으로 하여, 상기 제 1 블록의 특성값에 따라 은폐된 메시지 데이터를 추출하는 추출기를 포함하며, 추출될 메시지 데이터는 메시지 어레이의 엘리먼트이며, 매체 데이터는 매체 어레이의 엘리먼트이며, 메시지 데이터를 은폐하는 매체 데이터는 상기 매체 어레이의 이전 매체 데이터 엘리먼트와 관련된 이전 상태값에 따라 결정된 관련 상태값과, 상기 메시지 어레이의 어레이 엘리먼트에 의해 식별되는 반도체 집적 회로.
  65. 제64항에 있어서, 상기 기준값은 상기 매체 데이터 내에 존재하고, 또한 상기 제 1 블록과는 다른 제 2 블록의 특성값인 반도체 직접 회로.
  66. 제65항에 있어서, 상기 변환 규칙은, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 크면 비트들 중 하나가 추출되고, 상기 제 1 블록의 특성값이 상기 제 2 블록의 특성값보다 작으면 나머지 비트가 추출되는 것을 나타내고 있는 반도체 직접 회로.
KR1019980701274A 1996-06-20 1997-02-13 데이터은폐및추출방법 KR100295007B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP96-159330 1996-06-20
JP15933096 1996-06-20
PCT/JP1997/000395 WO1997049235A1 (fr) 1996-06-20 1997-02-13 Procede permettant de cacher des donnees et procede permettant d'extraire des donnees

Publications (2)

Publication Number Publication Date
KR19990044042A KR19990044042A (ko) 1999-06-25
KR100295007B1 true KR100295007B1 (ko) 2001-10-26

Family

ID=15691471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980701274A KR100295007B1 (ko) 1996-06-20 1997-02-13 데이터은폐및추출방법

Country Status (11)

Country Link
US (2) US6055321A (ko)
EP (1) EP0852441B1 (ko)
JP (1) JP3251594B2 (ko)
KR (1) KR100295007B1 (ko)
CN (2) CN1207894C (ko)
CA (1) CA2230071A1 (ko)
DE (1) DE69739969D1 (ko)
HK (1) HK1015595A1 (ko)
MY (1) MY125067A (ko)
TW (1) TW347506B (ko)
WO (1) WO1997049235A1 (ko)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US6614914B1 (en) * 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US6993152B2 (en) * 1994-03-17 2006-01-31 Digimarc Corporation Hiding geo-location data through arrangement of objects
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US7006661B2 (en) 1995-07-27 2006-02-28 Digimarc Corp Digital watermarking systems and methods
JP3172475B2 (ja) * 1996-12-26 2001-06-04 日本アイ・ビー・エム株式会社 統計検定を用いたデータ・ハイディング方法及びデータ抽出方法
GB9700854D0 (en) 1997-01-16 1997-03-05 Scient Generics Ltd Sub-audible acoustic data transmission mechanism
JP3560441B2 (ja) 1997-04-07 2004-09-02 日本アイ・ビー・エム株式会社 複数フレーム・データ・ハイディング方法及び検出方法
JP4313873B2 (ja) * 1998-01-30 2009-08-12 キヤノン株式会社 電子機器及びデータ処理方法
JP4182603B2 (ja) * 1998-10-07 2008-11-19 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、記録媒体、並びにデータ処理装置
US6965697B1 (en) * 1998-07-15 2005-11-15 Sony Corporation Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
JP4822304B2 (ja) * 1998-08-06 2011-11-24 ソニー株式会社 画像処理装置および画像処理方法、並びに記録媒体
US6456393B1 (en) * 1998-08-18 2002-09-24 Seiko Epson Corporation Information embedding in document copies
JP2000155798A (ja) * 1998-11-18 2000-06-06 Toshiba Corp 機器制御方法および機器制御システム
GB2345602A (en) * 1999-01-07 2000-07-12 Hewlett Packard Co Applying digital watermarks to selected sections of data files
EP1157499A4 (en) * 1999-03-10 2003-07-09 Digimarc Corp PROCESS FOR SIGNAL PROCESSING, DEVICES AND APPLICATIONS FOR THE MANAGEMENT OF DIGITAL RIGHTS
JP3098513B1 (ja) 1999-04-14 2000-10-16 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 改変判定装置およびその方法
US7224995B2 (en) * 1999-11-03 2007-05-29 Digimarc Corporation Data entry method and system
JP3986226B2 (ja) * 1999-11-29 2007-10-03 株式会社日立製作所 データ埋め込み装置,データ抽出装置およびそれらの方法ならびに該方法を記録した記録媒体
JP4099951B2 (ja) * 2000-03-30 2008-06-11 コニカミノルタビジネステクノロジーズ株式会社 画像データに付加情報を埋め込むための画像処理装置、画像形成装置、情報埋込方法およびプログラム
WO2002013094A1 (en) * 2000-08-03 2002-02-14 Digimarc Corporation Linking from paper invoices and statements to on-line resources
US6978371B1 (en) * 2000-11-07 2005-12-20 Matsushita Electric Industrial Co., Ltd. Data hiding in digital multimedia
US6707928B2 (en) * 2000-11-29 2004-03-16 Intel Corporation Method for block-based digital image watermarking
DK1340320T3 (da) 2000-11-30 2009-02-23 Intrasonics Ltd Apparat og system til anvendelse af datasignaler indlejret i et akustisk signal
US7174030B2 (en) * 2001-02-06 2007-02-06 Victor Company Of Japan, Ltd. Method and apparatus for embedding and reproducing watermark into and from contents data
US7042470B2 (en) * 2001-03-05 2006-05-09 Digimarc Corporation Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms
US6950519B2 (en) * 2001-03-05 2005-09-27 Digimarc Corporation Geographically watermarked imagery and methods
US7061510B2 (en) * 2001-03-05 2006-06-13 Digimarc Corporation Geo-referencing of aerial imagery using embedded image identifiers and cross-referenced data sets
US7197160B2 (en) * 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
US7254249B2 (en) * 2001-03-05 2007-08-07 Digimarc Corporation Embedding location data in video
US7249257B2 (en) * 2001-03-05 2007-07-24 Digimarc Corporation Digitally watermarked maps and signs and related navigational tools
US9363409B2 (en) * 2001-03-05 2016-06-07 Digimarc Corporation Image management system and methods using digital watermarks
US7113612B2 (en) * 2001-03-22 2006-09-26 Victor Company Of Japan, Ltd. Apparatus for embedding and reproducing watermark into and from contents data
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
FR2823630B1 (fr) * 2001-04-12 2003-07-18 Canon Kk Association d'informations de segmentation a un signal numerique
US7340076B2 (en) * 2001-05-10 2008-03-04 Digimarc Corporation Digital watermarks for unmanned vehicle navigation
US20020169962A1 (en) * 2001-05-10 2002-11-14 Brundage Trent J. Digital watermarks used in automation equipment
JP2004536504A (ja) * 2001-06-25 2004-12-02 ジェイピー・モーガン・チェイス・バンク 電子商品引換券及び電子商品引換券を発行するためのシステム及びその方法
WO2003034227A2 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing user data
US7006656B2 (en) * 2001-10-15 2006-02-28 The Research Foundation Of Suny Lossless embedding of data in digital objects
US8204929B2 (en) * 2001-10-25 2012-06-19 International Business Machines Corporation Hiding sensitive information
EP1464172B1 (en) 2001-12-24 2013-04-24 Intrasonics S.A.R.L. Captioning system
US6954541B2 (en) 2002-05-29 2005-10-11 Xerox Corporation Method of detecting changes occurring in image editing using watermarks
US20050271246A1 (en) * 2002-07-10 2005-12-08 Sharma Ravi K Watermark payload encryption methods and systems
JP3922369B2 (ja) * 2003-01-21 2007-05-30 日本ビクター株式会社 埋め込み情報の記録装置及び再生装置並びに記録用プログラム及び再生用プログラム
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7194106B2 (en) 2003-04-03 2007-03-20 Digimarc Corporation Creating electronic forms through digital watermarking
WO2004107120A2 (en) * 2003-05-22 2004-12-09 Sony Electronics Inc. Methods and apparatuses for sequestering content
US7116374B2 (en) * 2003-08-26 2006-10-03 Koplar Interactive Systems International, L.L.C. Method and system for enhanced modulation of video signals
KR20050078767A (ko) * 2004-02-02 2005-08-08 삼성전자주식회사 디지털 영상 워터마킹 장치 및 그 방법
WO2005076985A2 (en) * 2004-02-04 2005-08-25 Digimarc Corporation Digital watermarking image signals on-chip and photographic travel logs through digital watermarking
US7664175B1 (en) 2004-06-16 2010-02-16 Koplar Interactive Systems International, L.L.C. Mark-based content modulation and detection
US20060282884A1 (en) * 2005-06-09 2006-12-14 Ori Pomerantz Method and apparatus for using a proxy to manage confidential information
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7860903B2 (en) * 2005-12-23 2010-12-28 Teradata Us, Inc. Techniques for generic data extraction
US8792826B2 (en) * 2006-04-03 2014-07-29 Eckey Corporation Methods for determining proximity between radio frequency devices and controlling switches
US8150097B2 (en) * 2007-01-24 2012-04-03 Sony Corporation Concealed metadata transmission system
US20080307233A1 (en) * 2007-06-09 2008-12-11 Bank Of America Corporation Encoded Data Security Mechanism
US8650402B2 (en) * 2007-08-17 2014-02-11 Wong Technologies L.L.C. General data hiding framework using parity for minimal switching
US8798133B2 (en) * 2007-11-29 2014-08-05 Koplar Interactive Systems International L.L.C. Dual channel encoding and detection
NZ564196A (en) * 2007-12-10 2010-08-27 Resonance Holdings Ltd Electronic lock for security system and key on a wireless device including methods of encoding data
KR100965604B1 (ko) * 2008-03-17 2010-06-23 경기대학교 산학협력단 이미지를 이용한 메시지 제공 방법 및 그 장치
CN101577619B (zh) * 2008-05-08 2013-05-01 吴志军 基于信息隐藏的实时语音保密通信系统
GB2460306B (en) 2008-05-29 2013-02-13 Intrasonics Sarl Data embedding system
US10943030B2 (en) * 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
WO2010090533A2 (en) 2009-01-07 2010-08-12 Resonance Holdings Limited Bluetooth authentication system and method
WO2011111191A1 (ja) * 2010-03-10 2011-09-15 富士通株式会社 画像復号装置、画像復号方法及び画像復号用コンピュータプログラム
US9015494B2 (en) * 2011-07-11 2015-04-21 Salesforce.Com, Inc. Methods and apparatus for digital steganography
CN102663668B (zh) * 2012-04-06 2014-04-16 王涛 一种基于连续矢量图形的数字水印系统及实现方法
CN105160694B (zh) * 2015-10-15 2017-05-03 深圳大学 一种数据隐藏方法及隐藏系统
US10212306B1 (en) * 2016-03-23 2019-02-19 Amazon Technologies, Inc. Steganographic camera communication
CN110516775B (zh) * 2019-07-11 2023-07-25 西安邮电大学 基于qr码用户秘密信息隐藏方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0622119A (ja) * 1992-06-30 1994-01-28 Minolta Camera Co Ltd 画像処理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2640939B2 (ja) * 1987-03-02 1997-08-13 東洋通信機株式会社 画像へのデータ合成方法
US4969041A (en) * 1988-09-23 1990-11-06 Dubner Computer Systems, Inc. Embedment of data in a video signal
US5319453A (en) * 1989-06-22 1994-06-07 Airtrax Method and apparatus for video signal encoding, decoding and monitoring
US5987127A (en) * 1992-06-30 1999-11-16 Minolta Co., Ltd. Image forming apparatus and copy management system
US5721788A (en) * 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
US5379345A (en) * 1993-01-29 1995-01-03 Radio Audit Systems, Inc. Method and apparatus for the processing of encoded data in conjunction with an audio broadcast
JP3599795B2 (ja) * 1993-09-03 2004-12-08 株式会社東芝 画像処理装置
US5652626A (en) * 1993-09-03 1997-07-29 Kabushiki Kaisha Toshiba Image processing apparatus using pattern generating circuits to process a color image
US5748783A (en) * 1995-05-08 1998-05-05 Digimarc Corporation Method and apparatus for robust information coding
US5659726A (en) * 1995-02-23 1997-08-19 Sandford, Ii; Maxwell T. Data embedding
DE19520232C1 (de) * 1995-06-01 1996-08-14 Siemens Ag Verfahren zur Verschlüsselung von Folgen, die aus zahlenkodierten Informationseinheiten bestehen
US5689587A (en) * 1996-02-09 1997-11-18 Massachusetts Institute Of Technology Method and apparatus for data hiding in images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0622119A (ja) * 1992-06-30 1994-01-28 Minolta Camera Co Ltd 画像処理装置

Also Published As

Publication number Publication date
EP0852441A4 (en) 2003-01-15
CA2230071A1 (en) 1997-12-24
CN1207894C (zh) 2005-06-22
WO1997049235A1 (fr) 1997-12-24
US6512835B1 (en) 2003-01-28
CN1128535C (zh) 2003-11-19
EP0852441A1 (en) 1998-07-08
KR19990044042A (ko) 1999-06-25
WO1997049235A8 (fr) 2001-07-26
US6055321A (en) 2000-04-25
CN1198284A (zh) 1998-11-04
HK1015595A1 (en) 1999-10-15
JP3251594B2 (ja) 2002-01-28
DE69739969D1 (de) 2010-10-07
TW347506B (en) 1998-12-11
EP0852441B1 (en) 2010-08-25
CN1474591A (zh) 2004-02-11
MY125067A (en) 2006-07-31

Similar Documents

Publication Publication Date Title
KR100295007B1 (ko) 데이터은폐및추출방법
Cox et al. A review of watermarking principles and practices 1
Swanson et al. Multimedia data-embedding and watermarking technologies
JP3919673B2 (ja) 透かしを使用してデータ・セットの配布と認証を行う装置および方法
US6266429B1 (en) Method for confirming the integrity of an image transmitted with a loss
US8176568B2 (en) Tracing traitor coalitions and preventing piracy of digital content in a broadcast encryption system
US5687236A (en) Steganographic method and device
Lin Robust transparent image watermarking system with spatial mechanisms
JP4625841B2 (ja) デジタルコンテンツセキュリティのためのシステムおよび方法
US20070003102A1 (en) Electronic watermark-containing moving picture transmission system, electronic watermark-containing moving picture transmission method, information processing device, communication control device, electronic watermark-containing moving picture processing program, and storage medium containing electronic watermark-containing
JP2008539669A (ja) マルチメディアコンテンツ用の電子透かしのセキュリティ強化
CN101268652A (zh) 可更新的背叛者跟踪
US6434538B1 (en) Data control method, for embedding data control information, method for detecting data control information, device for embedding data control information and device for recording data
JP3917395B2 (ja) コンテンツ配布方法、コンテンツ配布装置、コンテンツ違法コピー検査方法、コンテンツ違法コピー検査装置、コンテンツ配布プログラム、コンテンツ違法コピー検査プログラム及びそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体
Caronni et al. Enabling hierarchical and bulk-distribution for watermarked content
Bhattacharyya et al. A secured technique for image data hiding
Li et al. Image integrity and authenticity verification via content-based watermarks and a public key cryptosystem
CN114465779A (zh) 一种可逆可分离的密文域信息隐藏方法及系统
Agbaje et al. Robustness and Security Issues in Digital Audio Watermarking
Kim et al. Authentication Watermarkings for Binary Images
Agung Watermarking and Content Protection for Digital Images and Video
Busch et al. Image security
Patil Fundamentals of Digital Watermarking
Pitas Image Seciwity.
Bhattacharyya et al. A Secured Delivery Scheme for Images

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee