상기 목적을 달성하기 위하여, 본 발명의 일면에 따르면, 이미지 또는 오디오 신호에 텍스트(text)를 워터마킹하는 방법에 있어서, 상기 이미지 또는 오디오 신호를 기설정된 2차원 이미지 포맷으로 변환하는 단계와, 상기 텍스트를 상기 기설정된 2차원 이미지 포맷으로 변환하는 단계와, 상기 이차원 포맷의 텍스트를 상기 2차원 포맷의 이미지 또는 오디오에 삽입하는 단계를 포함하는 텍스트 워터마크 삽입 방법이 제공된다.
본 발명의 다른 일면에 따르면, 텍스트 워터마크가 삽입된 이미지 또는 오디오 신호로부터 텍스트를 추출하는 방법에 있어서, 텍스트 워터마크가 삽입된 이미지 또는 오디오 신호 및 원 이미지 또는 오디오 신호를 이용하여 복원된 2차원 이미지 포맷의 텍스트를 제공하는 단계와, 상기 복원된 2차원 이미지 포맷의 텍스트로부터 복원된 텍스트를 추출하는 단계를 포함하는 텍스트 추출방법이 제공된다.
도 1은 본 발명의 텍스트 워터마크 삽입 장치(100)를 개념적으로 도시한 블럭도이다. 본 발명의 텍스트 워터마크 삽입 장치는 타겟 데이터인 이미지 또는 오디오와 타겟 데이터에 삽입될 텍스트를 입력받고, 이 서로 다른 종류의 두 데이터를 결합하여 텍스트 워터마크가 삽입된 이미지 또는 오디오를 제공한다. 이를 위하여 2차원 포맷부(120)에서는 입력 텍스트를 2차원 이미지 포맷으로 변환한다(2차원 이미지 포맷으로 변환된 텍스트를 이하에서는 '텍스트 이미지'라 한다). 본 명세서에서 '텍스트'는 컴퓨터 상에서 생성, 표현되고 기억되며, 입출력,송수신될 수 있는 문자(character;10진수 부호 0부터 9까지, 알파벳의 대소문자, 그 외 도형문자 및 □,+,-,$,@ 등의 특수 기호등과 같은 부호들 중 하나를 지칭), 그리고 그 문자들의 조합 그리고 영상 이미지와 오디오 데이터의 일부분이나 이들의 하나 이상의 세트를 의미한다. (예를 들어 'Why don't you meet me at 3 P.M.?')를 의미하는 것이다. 텍스트 이미지는, 이미지를 타겟 데이타에 삽입하는 이미지 워터마킹 기법을 이용하여 타겟 데이터에 삽입된다.
도 1의 텍스트 워터마크 삽입 장치(100)는 전술한 2차원 포맷부(120) 이외에 타겟 데이타 분석부(110) 및 이미지 워터마크 삽입부(130)를 포함한다. 타겟 데이터 분석부(110)는 다양한 형태로 입력되는 타겟 이미지/오디오를 분석하여 포맷을 파악하고 헤더(header) 등의 부가 정보를 제외하고 순수하게 이미지 및 오디오를나타내는 데이터만을 추출하고, 추출된 데이터를 이차원 이미지 포맷으로 이미지 워터마크 삽입부(130)에 제공하는 역할을 수행한다. 타겟 데이터 분석부(110)는 또한, 이미지의 크기, 색모드, 각 화소 데이타의 비트 배열 구조 등 타겟 데이터의 포맷에 관한 정보('타겟 데이터 포맷 정보')를 이차원 포맷부(120)에 제공한다. 이차원 포맷부는 이 타겟 데이터 포맷 정보를 이용하여 타겟 데이터 분석부(110)로부터 이미지 워터마크 삽입부(130)에 제공되는 데이터와 동일한 이차원 이미지 포맷의 텍스트 이미지를 제공한다.
이미지 워터마크 삽입부(130)는 타겟 데이터 분석부로부터 입력된 이차원 타겟 데이터에 이차원 포맷부(120)로부터 입력된 텍스트 이미지를 삽입하여 텍스트 워터마크가 삽입된 데이터를 생성한다. 텍스트 워터마크가 삽입된 데이터는 멀티미디어 운영 서버(105)에 의해 인터넷을 통해 전세계의 사용자에게 배포된다.
도 2는 이차원 포맷부(120)의 일실시예를 도시한 블록도이다. 이차원 포맷부(120)는 예를 들어 'Why don't you meet me at 3 P.M.?' 라는 텍스트를 입력받아 이를 일련의 설정치의 세트로 변환하는 설정치 세트 제공부(210)와, 텍스트로부터 변환된 설정치 세트를 이용하여 2차원 이미지 포맷으로 변환된 텍스트 즉, 텍스트 이미지를 생성하는 이미지 구성부(220)를 포함한다. 이때 이미지 구성부(220)는 타겟 데이터 포맷 정보를 이용하여, 타겟 데이터 분석부(110)에서 제공되는 타겟 이미지 또는 오디오와 동일한 이차원 포맷의 텍스트 이미지를 이미지 워터마크 삽입부(130)에 제공한다.
도 3은 설정치 세트 제공부(210)를 더욱 상세히 구현한 일실시예를 도시한블록도이다. 설정치 세트 제공부(210)는 텍스트를 이진 비트 스트림으로 변환하는 비트 변환기(310)와 각 이진 비트값을 두 개의 기설정된 설정치값 중 하나로 매핑시키는(예를 들어 이진 0은 설정치 0으로 이진 1은 설정치 255로 매핑하는) 매핑부(320)를 포함한다. 예를 들어 설명하면, 비트 변환기(310)는 'Why don't you meet me at 3 P.M.?' 라는 텍스트를 이진 비트 스트림 '100011001. . .'로 변환하고 매핑부(320)는 이진 비트 스트림 '100011001. . .'를 '255 0 0 0 255 255 0 0 255 . . .'로 변환한다. 설정치는 0과 255 이외에 화소를 표시하기 위한 임의의 값일 수 있고, 도면에 T로 도시된 것과 같이 매핑부(320)에 입력으로 제공될 수 있다. 이때 두 개의 설정치 값은 서로 혼동될 염려가 없는, 거리가 먼 값으로 결정하는 것이 바람직하다. 예를 들어 설정치들을 부호없는 이진수 비트(unsigned binary bits)들로 표현하여 전송하는 시스템의 경우 0가 255가 각각 00000000 및 11111111으로 표현되어 가장 거리(비트열의 유클리드 거리:Uclidean distance)가 먼 두 개의 값이므로 설정치로 바람직한 값이 될 것이다. 그러나 예를 들어 144 와 145 등 근접한 두 개의 화소값은 전송중에 에러가 조금만 포함되어도 잘못 복원될 가능성이 크므로 설정치로는 바람직하지 않다.
에러 정정 부호화부(330)는 워터마크가 삽입된 데이터가 인터넷 등을 통해 전송된 이후에도 전송 에러 등의 영향을 받지 않고 원래의 텍스트가 복원될 수 있도록 하기 위하여, 예를 들어 설정치 세트에 에러 정정 비트들을 추가하는 역할을 수행한다. 다른 실시예에서 에러 정정 부호화부(330)는 비트 생성기(310)와 매핑부 사이(320)에 배치될 수도 있으나 이에 한정되는 것은 아니고 데이터가 네트워크를 통해 전송되기 이전의 어떤 단계에서도 에러 정정 부호화를 수행하는 것이 가능하다. 에러 정정 부호화부(330)에서는 패리티 비트의 추가나 콘볼루션 부호화 등이 수행될 수 있으나 이에 한정되는 것은 아니고 종래에 알려진 임의의 방식의 에러 정정 부호화 방법이 사용될 수 있다.
도 4에는 이미지 구성부(220)에서 설정치 세트를 이용하여 이차원 이미지 포맷의 텍스트 이미지를 구성하는 방법의 3가지 예가 도시되어 있다. 또한 도 4의 (a) 내지 도 4의 (c)는 각각의 방법에 의해 구성된 텍스트 이미지가 프레임 메모리에 저장되어 있는것을 도시하는 도면이기도 하다.
먼저 도 4의 (a)의 방법에서는 상기 이차원 이미지 포맷의 크기에 맞추어, 설정치 세트를 하나 이상의 이미지 행으로 배치한 후 마지막 행에서 설정치로 채워지지 않는 나머지 부분은 블랭크(blank)로 만든다(이와 같이 하면 도 4의 (a)의 맨 위 두행이 생성된다). 이렇게 형성된 하나 이상의 이미지 행들을 반복하여 붙여나가면 도4(a)에 도시된 것과 같은 이차원 데이타를 얻게 된다.
도 4의 (b)에 도시된 방법에서는 설정치 세트를 이차원 이미지 내의 기설정된 위치에 배치하고 (예를 들어, 첫째, 넷째, 일곱 번째 행의 시작부터 배치) 설정치 세트가 배치되지 않는 나머지 부분은 블랭크로 채운다.
도 4의 (c)에 도시된 방법에서는 블랭크(blank)를 설정치 사이에 포함시키지 않고 설정치 세트를 이차원 이미지를 다 채울 때까지 반복한다. 이때 한 세트의 끝과 다음 세트의 시작 사이에는 설정치 세트 내부의 데이터와는 구별되는 마크를 채워넣는다. 예들 들어 설정치내에서는 통계적으로 발생하기 어려운 비트열인'111111111111111' 등을 마크로 사용할 수 있을 것이다.
상기 방법들은 설정치 세트를 프레임 메모리의 소정의 위치에 기입하는 것으로 구현될 수 있고, 도 4는 이때 프레임 메모리의 내용을 도시하는 것이기도 하다. 위에서 설명한 에러 정정 부호화와 함께, 설정치 세트를 여러번 반복하여 텍스트 이미지에 포함시킴으로써 데이터를 전송받는 측에서 전송 에러등의 영향을 받지 않고 정확한 원 텍스트를 복원하는 것이 가능하게 된다.
도 5은 도 1의 타겟 데이터 분석부(110)의 상세한 블록도이다. 데이터 포맷 분석부(610)는 다양한 형식으로 입력되는 이미지 또는 오디오 신호(예를 들어, JPEG, MPEG 등)를 분석하고, 이로부터 헤더 등의 부가적인 정보를 나타내는 부분을 제외한 이미지 또는 오디오를 표시하는 데이터만을 추출하는 역할을 한다. 보다 구체적으로 살펴보면, 이미지에 관한 데이터가 데이터 포맷 분석부에 입력되면 데이터 포맷 분석부(610)는 이미지의 크기를 검출해서 이를 타겟 데이터 포맷 정보로서 2차원 포맷부(120)에 제공한다. 입력된 이미지 데이터 중에서 헤더 등을 제외한, 화소값을 표시하는 2차원 이미지 데이터만을 추출하여 색이미지인 경우는 YIQ 변환기(620)를 거쳐 워터마크 삽입부(130)로, 흑백 이미지인 경우는 직접 워터마크 삽입부(130)로 제공한다. YIQ 변환기(620)에서는 변환 행렬을 이용하여 색 이미지를 RGB 모드에서 YIQ 모드로 변환하고 이 중 Y 성분만을 선택하여 이미지 워터마크 삽입부(130)로 제공한다. 따라서, 색 이미지의 경우 워터마크는 이미지의 Y 성분에만 삽입된다.
오디오에 관한 데이터가 데이터 포맷 분석부에 입력되는 경우는 헤더 등을제외한, 오디오를 표시하는 데이터(raw audio stream)만을 2차원 이미지 포맷으로 흑백 이미지와 마찬가지로 워터마크 삽입부(130)로 제공한다. 이때 이차원 이미지 포맷 즉, 크기는 기설정된 값을 사용할 수도 있고 사용자가 정의해 줄 수도 있다.
도 6은 이미지 워터마크 삽입부(130)의 상세한 블록도이다. 타겟 데이터 분석부(110)로부터 제공된 2차원 이미지 포맷의, 색 이미지의 Y성분, 흑백 이미지 또는 오디오는 웨이브렛 변환(810)되고 2차원 포맷부(120)로부터 제공된 텍스트 이미지는 이산 코사인 변환된다(820). 이 변환된 데이터들은 믹서(830)에서 결합된 후 역 웨이브렛 변환된다. 이 때 역 웨이브렛 변환된 데이터는 워터마크가 삽입된 오디오 데이터, 흑백 이미지 데이터 또는 색 이미지 데이터의 Y성분이다. 이 데이터는 멀티미디어 운영서버를 통해 인터넷상에 제공될 수 있다. 도면에는 도시되어 있지 않지만 색 이미지의 경우에는 워터마크가 삽입된 데이터를 전송하기 전에, YIQ 변환기(620)로부터의 I, Q 성분을 워터마크가 삽입된 Y 성분과 재결합한 후 다시 RGB 모드로 변환하는 과정을 거치게 된다.
도 7은 워터마크가 삽입되는 과정을 정리한 도면이다. 먼저 단계(S700)에서는 2차원 이미지 포맷의 오디오 또는 이미지 데이터 D가 제공된다. 단계(S710)에서는 D를 웨이브렛 변환(TWT)하여 x를 얻는다. 한편, 단계(S730)에서는 텍스트 이미지(W)를 제공하고 텍스트 이미지(W)는 단계(S740)에서 DCT 변환되어 y를 얻는다. 단계(S720)에서는 변환된 원이미지(x)와 가중치(a)가 곱해진 텍스트 이미지(y)를 결합한다. 이때 가중치가 큰 경우는 나중에 워터마크를 복원하기에는유리하지만 워터마크의 삽입이 이미지 또는 오디오에 손상을 가져올 수도 있다. 가중치가 적은 경우는 잡음이 조금만 있어도 워터마크 정보가 복원되기 어려울 수 있다. 가중치 a는 사용자로부터 입력받을 수도 있고, 또는 트레이닝 이미지 또는 오디오에 대해 가중치를 변화시켜 가면서 워터마크를 삽입해본 후 성능이 좋은 값을 자동으로 선택하도록 할 수도 있다. 결합된 데이터(x')를 단계(S750)에서 역 웨이브렛 변환하면 워터마크가 삽입된 오디오 또는 이미지 데이타 DWM이 생성된다
전술한 바와 같이, 본 발명에서는 텍스트를 2차원 포맷의 텍스트 이미지로 변환한 후에는 2차원 데이터(원 이미지)에 2차원 데이터(워터마크 이미지)를 워터마킹하는 기법이 이용되는데, 이하에서는 이 기법에 대해서 살펴보기로 한다.
먼저, 텍스트 이미지를 변환시키는데 사용되는 DCT는 푸리에 변환과 유사한 성격을 갖지만 변환평면에서의 계수값이 복소성분이 아닌 실수 값만을 갖기 때문에 푸리에 변환보다 유리하다. 이산코사인 변환의 수학적 정의와 이론에 대해 상세히 살펴보면 다음과 같다.
이산코사인 변환(Discrete Cosine Transform, DCT)
DCT는 고속 푸리에 변환과 밀접한 관련이 있으며, 신호와 이미지를 코딩하는 역할을 하고, 표준 JPEG 압축에서 널리 사용되고 있는 변환방법이다. 1차원 DCT는 다음의 수학식 1a와 같이 정의된다.
상기 수학식 1a에서 s는 N개의 원래 값이고, t는 N개의 변환 값이며, 계수 c는 다음의 수학식 1b와 같이 주어진다.
한편, 정방행렬에 대한 2차원 DCT는 다음의 수학식 2a와 같이 나타낼 수 있다.
N, s, t에 대해서는 1차원 DCT와 같은 표기이며, c(i, j)는 하기의 수학식 2b와 같이 나타낼 수 있다.
또한, DCT는 역변환을 가지는데, 1차원과 2차원에 대해서 각각 다음의 수학식 3a와 수학식 3b로 정의된다.
또한, 본 발명에서 2차원 포맷의 이미지 또는 오디오 신호는 DCT변환된 텍스트 워터마크와 합성되기 전에 웨이브렛 변환되는데, 특히 스케일링과 위치이동에 대해서 일정한 부집합만을 선택하는 이산웨이브렛 변환(Discrete Wavelet Transform)을 이용하며, 바람직하게는 컴퓨터의 연산 부담을 줄이기 위해 고속 웨이브렛 변환(Fast Wavelet Transform)인 필터 뱅크(filter bank)를 사용한다. 이하, 웨이브렛 변환의 수학적 정의 및 이론에 대해 상세히 살펴보면 다음과 같다.
이산 웨이브렛 변환(Discrete Wavelet Transform. DWT)
푸리에 변환이 사인과 코사인 함수를 기저함수로 사용하는 변환이라면, 웨이브렛 변환은 기저함수로서 웨이브렛을 사용하는 변환으로서, 크게 연속 웨이브렛 변환과 이산 웨이브렛 변환으로 대별될 수 있다. 연속 웨이브렛 변환의 수학적 정의는 다음과 같다.
상기 식에서, s는 스케일링(scaling)을, r는 위치이동(translation)을 나타내며, ψ(s, t)는 스케일링되고 위치 이동된 형태의 웨이브렛을 나타낸다. 스케일링은 주파수와 관련되는데, 낮은 스케일링, 즉, 압축된 웨이브렛은 고주파 성분을 추출하며, 높은 스케일링, 죽, 확장된 웨이브렛은 저주파 성분을 추출한다. 통상,연속 웨이브렛 변환은 변환을 통해 얻어지는 웨이브렛 계수가 스케일링과 위치이동의 함수로서 무한개가 얻어지므로 실제 구현이 불가능하다. 따라서, 스케일링과 위치이동에 대해서 일정한 부집합만을 선택하는 방법인 이산 웨이브렛 변환을 사용하면 보다 효과적으로 알고리즘을 구현할 수 있다. 그러나, 이산 웨이브렛 변환 역시 컴퓨터로 구현하기에는 많은 연산 량이 부담이 따르기 때문에, 고속 웨이브렛 변환인 필터뱅크를 사용하여 칼라이미지를 변환시키는 것이 바람직하다. 이 방법은 고전적인 2채널 서브밴드 코딩과 피라미드 알고리즘을 이용하며, 역변환을 위한 필터뱅크 사이의 관계(PR-QMF: perfectly reconstruction quadrature mirror filter)만 성립되면 간단히 구현할 수 있는 장점이 있다. 필터뱅크를 이용한 고속 웨이브렛 변환의 개요는 도 1에 도시된 바와 같다.
또한, 도면에는 도시되지 않았지만 본 발명의 또 다른 실시예에서는 DCT 변환된 텍스트 이미지 데이터TDCT(W)를 웨이브렛 변환된 이미지 또는 오디오 데이터 TWT(W)와 합성하기 전에 TDCT(W)를 웨이브렛 변환하는 단계를 포함할 수 있다. 이때, 이미지/오디오 데이터는 i-레벨로, TDCT(W)는 m-레벨로, 즉, 서로 다른 레벨로 변환될 수 있다.
상기 방법에 따라 2차원 데이터에 삽입된 워터마크가 부정 사용자에 의한 공격으로부터 강인한지를 판단하기 위해 JPEG 손실압축, 필터링 및 절단(truncation)에 대한 워터마크의 보존성을 시험하였다. 최종적인 시험결과는 상관분석을 통해서 워터마크의 강력함을 판단하였는데, 상관도(correlation)는 추출 전의 워터마트(W)와 추출후의 워터마크(W')의 분석을 통하여 측정하였다. 상관도는 하기 식과 같이 정의된다.
실시예 1
칼라이미지를 손실 압축한 후 워터마크의 보존성 대한 평가
통상, 칼라이미지의 경우 압축하지 않은 BMP 파일은 칼라의 제한 뿐만아니라 전송시 파일의 용량이 크기 때문에 전송전에 압축을 하게 된다. 압축에는 손실압축과 무손실압축이 있는데, 일반적으로 약간의 이미지 손상을 유발사지만 압축률이 뛰어난 손실압축이 많이 사용되며, 손실압축의 대표적인 것이 JPEG 압축이다. 전술한 바와 같이 워터마크는 어떠한 이미지 처리 후에도 보존되어야 하므로 손실압축후에도 문제가 없어야 상업적으로 이용가능하다. 따라서, 워터마크의 강력한 보존성을 시험하기 위해 JPEG의 Q팩터(Q factor)를 50%, 40%, 30%, 20%, 10%, 5%로 하여 시험하였다. 그 결과 5%의 JPEG 압축까지 워터마크가 육안으로 확인이 가능하였으며, JPEG 압축된 워터마크 삽입된 이미지에서 추출된 워터마크 상관도를 표 1에 나타내었다.
Q 팩터 |
50% |
40% |
30% |
20% |
10% |
5% |
상관도 |
63.41% |
45.48% |
51.82% |
62.42% |
61.41% |
62.36% |
실시예 2
칼라이미지를 필터링한 후 워터마크에 대한 영향
칼라이미지는 통상 노이즈를 제거하기 위해 필터링 처리를 하게 되는데, 본 발명의 알고리즘에 의해 삽입된 워터마크가 저대역통과 필터(Low Pass Filter) 및 고대역통과 필터(High Pass Filter)에 의해 필터링된 후 어떤 영향을 받는지 시험하였다. 시험한 결과, 필터링 이후에도 워터마크의 추출이 가능함을 확인할 수 있었으며, 추출된 워터마크의 상관도를 표 2에 나타내었다.
필터 종류 |
저대역통과 필터 |
고대역통과 필터 |
상관도 |
19.71% |
1.42% |
상기 결과들로부터 본 발명의 워터마크는 저대역통과 필터(Low Pass Filter) 및 고대역통과 필터 (High Pass Filter)등과 같은 이미지 처리에서도 문제가 없음을 확인할 수 있었다. 다만, 고대역통과 필터링을 한 이미지에서 워터마크를 추출한 경우 상관도가 낮았는데, 이는 추출된 이미지에 퍼져 있는 노이즈 때문이며 워터마크의 추출 및 인식에는 큰 문제가 없는 것으로 판단된다.
실시예 3
RGB 모드에서 YIQ 모드로 변환된 이미지에 대한 워터마크 추출 및 상관도 측정
칼라이미지 모드로는 RGB 모드, CMY(칼라 프린터를 위한 모델), YIQ 모드, HSI 모드(Hue, Saturation, Intensity)가 주로 사용되는데, RGB 모드에서 YIQ 모드로 전환된 칼라이미지에 대해 워터마크의 추출 및 상관도 측정을 수행하였다. 그 결과, 기존의 RGB 모드와 칼라이미지에서 추출된 워터마크의 상관도 보다는 낮았지만(21.31%), 추출된 워터마크를 명확히 인식할 수 있었다.
실시예 4
절단처리(truncation) 이후의 워터마크에 대한 영향
이는 칼라이미지의 핵심부분인 중앙에 얼마나 워터마크가 남아 있는가를 측정하는 것으로 칼라이미지의 가장자리를 제거하고 남은 부분에서 워터마크가 추출 가능한지를 시험하였다. 192×192 크기로 잘라내었으며, 추출된 워터마크의 상관도를 표3에 나타내었다.
상기 표 3으로부터 본 발명의 워터마크는 절단(truncation)과 같은 이미지 처리 후에도 추출이 가능함을 확인할 수 있었다.
도 8은 워터마크가 삽입된 이미지/오디오 데이터로부터 원래의 텍스트를 복원하기 위한 장치를 개념적으로 도시한 블록도이다. 먼저 워터마킹된 데이터와 워터마크가 삽입되지 않은 원래의 이미지 또는 오디오 데이터를 모두 웨이브렛 변환하여 그 차분을 계산한다. 이 차분을 역이산 코사인 변환하면 복원된 텍스트 이미지를 얻게 된다. 텍스트 추출기(550)는 이 복원된 텍스트 이미지로부터 원래의 텍스트가 무엇이었는지 결정하는 역할을 한다.
도 9는 텍스트 추출기(550)의 일실시예를 자세히 도시한 블록도이다. 복원된 텍스트 이미지에 포함된 데이타는 역이산 코사인 변환을 통해 구한 값이므로 실수값을 갖는다. 정수화부(910)에서는 이 실수값을 설정치 값으로 변환시킨다. 예를 들어 설정치가 0과 255인 경우 128 이하의 실수값은 모두 0으로, 128을 초과하는 실수값은 모두 255로 변환시킬 수 있다. 다른 실시예로서, 0과 255가 각각 2진수 00000000 및 11111111으로 표현되어 전송되는 경우, 0의 개수가 많은 경우는 0으로 1의 개수가 많은 경우는 255로 변환시킬 수도 있다. 이 밖에도 상기 실수값이 워터마크 삽입 시스템에서 사용된 두 개의 설정치값 중 어느 값에 해당하는지 선택하기 위한 여러 가지 방법이 사용될 수 있다.
정수화된 후에는 도 2 및 도 3에 도시된, 텍스트로부터 텍스트 이미지를 형성하는 과정의 역처리과정을 거치게 된다.
전술한 바와 같이, 텍스트 이미지는 설정치 세트를 중복하여 포함하고 있고 또한 마크 또는 블랭크를 설정치 세트 사이에 포함하고 있다. 설정치 세트 추출부(920)에서는 마크 또는 블랭크를 제외한 다수의 설정치 세트를 추출해낸다.
에러 정정 복호화부(930)는 도 3의 에러 정정 부호화부(330)에 대응하는 것으로서 전송에러등을 정정하는 역할을 수행한다.
에러가 정정된 후 각 설정치 세트내의 데이터들은(예를 들어 0 또는 255) 역매핑부(940)에서 이진 비트 스트림의 세트들로 변환된다.
후보 텍스트 생성부(950)에서는 도 3의 비트 생성부(310)의 역과정 즉, 각 비트 스트림 세트를 텍스트로 변환하는 과정이 일어나게 된다. 이렇게 하여 생성된 각 비트 스트림 세트에 상응하는 다수의 텍스트 각각을 후보 텍스트라 한다.
원래 텍스트 워터마크 삽입 장치에서 동일한 설정치 세트를 중복하여 텍스트 이미지를 형성하였으므로, 전송에러가 없는 경우 또는 에러가 있었어라도 상기 에러 정정 복호화부에서 모두 정정된 경우는 설정치 세트 추출부(920)에서 추출된 설정치 세트 및 이진 비트 스트림 세트들이 서로 동일하고 따라서 변환된 후보 텍스트들도 모두 동일하다. 그러나 전송 에러의 영향에 의해 복원된 후보 텍스트들이 서로 동일하지 않은 경우라도, 다수 가장 빈도가 높은 후보 텍스트를 선택하면(960) 전송에러의 영향을 받지 않은 원래의 텍스트를 얻을 수 있다.
텍스트로부터 텍스트 이미지를 구성하는 방법은 본 명세서에 개시된 것에 한정되는 것이 아니라 여러 가지 방법이 사용될 수 있다. 예를 들어 각각의 심볼의 모양을 8x8 흑백 이미지 행렬에 대응시키고, 입력 텍스트에 해당하는 8x8 이미지 행렬들을 2차원 이미지내에 반복하여 채워넣음으로써 텍스트 이미지를 구성할 수도 있다. 이렇게 구성된 텍스트 이미지는 텍스트내의 심볼들의 모양이 그대로 여러번 반복되는 형태를 띠게 된다. 이와 같이 구성된 텍스트 이미지가 삽입되어 전송된 후 다시 텍스트 이미지로부터 텍스트를 복원하기 위하여는, 텍스트 이미지 내의 각각의 8x8 이미지 행렬과 가장 잘 매치되는 심볼들을 찾아야 하는 데 이를 위하여는 다양한 매칭 기법에 사용될 수 있고, 신경회로망을 이용한 문자인식기법이 응용될 수도 있다.
전술한 텍스트 워터마크 삽입 장치(100)와 텍스트 복원 장치는 기능블럭들을 포함하는 장치로서 이상에서 설명되었지만 바람직하게는 개인용 컴퓨터나 워크 스테이션 등의 범용 컴퓨터에서 수행되는 컴퓨터 프로그램으로 구현될 수 있다. 이때 각 기능 블록들은 하나의 서브 프로그램 또는 서브루틴에 해당하게 된다. 특히 최근에는 개인용 컴퓨터의 연산 능력이 이미지 데이터를 처리할 수 있을 정도로 향상되고 개인용 컴퓨터의 메모리 장치(RAM, 하드 디스크)도 이미지 데이터를 처리할 수 있는 용량으로 증가되었다. 따라서, 개인용 컴퓨터에서 이미지/오디오 데이터를 하드 디스크에 저장하거나 또는 외부로부터 제공받은 후 상기 기능블럭들을 구현한 프로그램을 이용하여 텍스트 워터마크 삽입을 수행하는 것이 가능하다. 이와 같이 워터마킹된 데이터는 도 1에 도시된 것과 같은 서버를 거치지 않고 모뎀이나 전용선을 통해 인터넷상에 직접 제공될 수 있다. 마찬가지로 전송된 워터마킹된 이미지/오디오로부터 텍스트를 복원하는 것 또한 범용의 개인용 컴퓨터에서 처리가 가능하다.
이때, 입력 텍스트는 예를 들어 키보드를 통해 입력될 수 있고, 설정치값, 설정치 세트 중복 방식, 가중치값 등도 키보드를 통해 텍스트 워터마크 삽입 수행 전 또는 수행 중에 입력받도록 프로그램을 구성할 수도 있다.
본 발명에 따른, 텍스트 워터마크가 삽입된 데이터의 송수신은 인터넷상의 전자 상거래 등의 중요한 거래 데이터의 송수신에 사용될 수 있다. 예를 들어, 주문 내역, 전자 화폐, 기밀 문서, 대금 청구서 등의 주요한 문서를 제3자에게 정보가 유출되지 않고 안전하게 송수신하는데에 이용할 수 있다.
본 발명의 텍스트 워터마크 삽입 및 추출을 수행할 수 있는 각 사용자가 인터넷을 통해 데이터를 직접 주고 받는 것도 가능하지만, 좀더 안전하고 정보유출의 가능성이 적도록 하기 위해, 도 10 및 11에 도시한 것과 같이 제3자인 워터마킹 기관을 개입한 시스템을 구축하는 것도 가능하다. 도 10에 도시된 시스템에서는 사용자는 텍스트 워터마크를 삽입하는 것만 가능하고 워터마크의 추출은 제3자인 워터마킹 기관에 있는 서버가 담당을 하게 되고, 도 11에 도시된 시스템에서는 사용자는 워터마크를 추출하는 것만 가능하고 워터마크의 삽입은 기관에서 이루어지게 한다.
도 10의 시스템에서 워터마킹 기관은 사용자정보를 포함하는 데이터베이스, 이미지/오디오 데이터의 데이터베이스, 텍스트 추출 프로그램, 암호화 프로그램 등을 포함한다. 먼저 사용자 A가 네트워크를 통해 워터마킹 기관이 가지고 있는 이미지/오디오 데이터 중 원하는 것을 선택하여 요청하면(①), 워터마킹 기관의 서버는 사용자 A에게 이미지/오디오 데이터를 전송한다(②). 사용자 A는 이 데이터에 텍스트 워터마트를 삽입하여 다시 워터마킹 기관으로 전송한다(③). 워터마킹 기관에서는 이로부터 텍스트를 추출하고 원래의 이미지/오디오와 추출된 텍스트를 고유의 암호화 기법을 이용하여 암호화한 후 사용자 B에게 네트워크를 통해 전송한다(④). 사용자 B가 워터마킹 기관으로부터의 암호화된 데이터를 복호화하면 A가 보내려 한 이미지/오디오 및 텍스트를 얻을 수 있다. 사용자 A와 워터마킹 기관은 텍스트 워터마킹 기법을 공유하고 사용자 B와 워터마킹 기관은 이와는 다른 암호화 기법을 공유한다. 그러나 어느 기법도 암호화 및 복호화 (또는 삽입 및 추출) 양쪽이 일반인에 공개되는 것은 아니고 이는 시스템의 안전도에 크게 기여하게 된다. 따라서, 인터넷과 같이 데이터의 안전도가 보장되지 않는 네트워크 상에서 중요한 정보를 손실없이, 누설되지 않고 전송하는 것이 가능하게 된다.
도 11의 시스템에서 워터마킹 기관은 역시 사용자 DB와 이미지/오디오 DB를 포함하고, 복호화 프로그램, 텍스트워터마크 삽입 프로그램를 포함한다. 먼저, 사용자 A가 사용자 A와 워터마킹 기관 사이에 규정되어 있는 암호화 기법에 의해 암호화된 텍스트를 워터마킹 기관으로 전송하고, 워터마킹 기관의 데이터베이스에서 이미지/오디오를 선택한다. 워터마킹 기관의 서버에서는 암호화된 텍스트를 복호화한 뒤 선택된 이미지/오디오에 워터마킹하여 사용자 B에 전송한다. 사용자 B는 워터마킹 기관에서 사용된 워터마크 삽입의 반대과정을 수행하는 프로그램을 이용하여 텍스트를 추출한다.
이와 같은 시스템을 구축하는 이유는 삽입 및 추출 방법이 모두 일반인에 공개되면 신뢰도가 떨어지게 되므로 어느 한 쪽은 일반인이 수행할 수 없도록 제3의 기관이 개입되는 것이다. 또한 각 개인이 워터마크의 삽입 및 추출을 시행하는 경우는 이를 현재 사용 소프트웨어의 판매와 같은 방식으로 요금을 부과할 수 밖에 없으나 이와 같이 항상 제3의 기관을 거치게 하면 본 발명의 워터마크 기법의 사용에 대해 일정한 요금을 부과하는 것이 용이하게 된다.
상술된 구체적인 실시예의 설명에 의해 본발명의 일반적인 특성이 충분히 개시되었으며, 당업자라면 포괄적인 개념(generic concept)으로부터 벗어나지 않고 구체적인 실시예들을 다양한 응용례에 대해 변형 또한/또는 적용하는 것이 가능하고 따라서, 이와 같은 적용과 변형은 개시된 실시예의 의미와 균등의 범위 내로 이해되어야 하고 또 그렇게 의도된 것이다. 본 명세서에서 사용된 용어나 구는 설명을 위한 것이지 한정하기 위한 것이 아니라는 것을 이해하여야 한다. 따라서, 발명은 첨부된 청구범위의 사상과 넓은 범위에 속하는 변형 및 균등물을 포함하는 것으로 의도된 것이다.