KR102067321B1 - 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법 - Google Patents

저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법 Download PDF

Info

Publication number
KR102067321B1
KR102067321B1 KR1020170128531A KR20170128531A KR102067321B1 KR 102067321 B1 KR102067321 B1 KR 102067321B1 KR 1020170128531 A KR1020170128531 A KR 1020170128531A KR 20170128531 A KR20170128531 A KR 20170128531A KR 102067321 B1 KR102067321 B1 KR 102067321B1
Authority
KR
South Korea
Prior art keywords
image
index
value
code
copyright protection
Prior art date
Application number
KR1020170128531A
Other languages
English (en)
Other versions
KR20190039367A (ko
Inventor
이건우
Original Assignee
이건우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이건우 filed Critical 이건우
Priority to KR1020170128531A priority Critical patent/KR102067321B1/ko
Priority to PCT/KR2018/011723 priority patent/WO2019070102A1/ko
Publication of KR20190039367A publication Critical patent/KR20190039367A/ko
Application granted granted Critical
Publication of KR102067321B1 publication Critical patent/KR102067321B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법에 관한 것이다. 본 발명의 일 실시예에 따르면, 원본 이미지를 식별할 수 있으며, 인덱스를 부호화 처리하여 생성된 인덱스 코드 이미지를 상기 원본 이미지에 매립하여 생성된 제 1 가공된 이미지가 변경 또는 복제되어 상기 원본 이미지와 다른 배경 이미지에 매립된 후의 제 2 가공된 이미지의 인덱스 코드 이미지에 대한 복호화 처리에 의해 상기 원본 이미지의 저작권을 보호하도록 복호화할 수 있는 저작권 보호 인덱스 코드가 제공될 수 있다.

Description

저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법{INDEX CODE FOR PROTCTION OF COPYRIGHTS, ENCODING METHOD AND DECODING METHOD OF THE SAME}
본 발명은 식별 코드 기술에 관한 것으로서, 더욱 상세하게는, 원본 이미지의 저작권 보호 기능을 강화한 인덱스 코드에 관한 것이다.
최근에는 정보를 표현하는 식별 코드(이하 "식별 코드"를 "코드 마크"라고도 한다.)로서, 일차원 코드(예를 들어, 바코드)나 이차원 코드(예를 들어, QR 코드(등록상표))뿐만 아니라, 적색, 청색, 녹색 등의 색의 배열로 정보를 표현하는 컬러 코드도 여러 분야에서 널리 이용되고 있다. 색의 배열로 정보를 표현하는 컬러 코드로서, 예를 들어 마이크로소프트(등록상표)사가 독자적으로 개발한 대용량 컬러 바코드 HCCB(High Capacity Color Barcode)가 있다(비특허문헌 1 참조).
또한, 컬러 코드의 독출 정밀도를 향상시키는 방법으로서, 예를 들어 특허문헌 1에 개시된 이차원 컬러 코드를 들 수 있다. 상기 특허문헌 1에 개시된 이차원 컬러 코드에서는 가이드 코드부와 데이터 기록 코드부의 2 개의 영역으로 구분하고, 상기 가이드 코드부로부터 색상 성분의 분석을 통하여, 상기 분석 정보를 데이터 기록 코드부의 위치의 판정, 복호에 사용함으로써, 더욱 고정밀도의 독출을 가능하게 하고 있다.
그러나, 상기의 식별 코드들은 특정 이미지(이하 원본 이미지)에 임베드되어 인터넷을 통해 확산되는 경우, 악의적인 목적을 가진 사용자가 코드부를 잘라내어 원본 이미지와 상이한 다른 이미지에 임베드하거나(이하 ‘코드 복제’라 칭함) 원본 이미지를 훼손, 변경하여 유통을 시켜도 원본 이미지의 저작권자에 대한 저작권을 보호하기 어려울 수 있다.
(특허문헌 1) 일본 특개2011-186613호 공보
(비특허문헌 1) "High Capacity Color Barcode", From Wikipedia, the free encyclopedia,
인터넷 <URL: http://en.wikipedia.org/wiki/High_Capacity_Color_Barcode>
따라서, 본 발명이 이루고자 하는 기술적 과제는, 원본 이미지의 저작권 보호 기능을 강화한 저작권 보호 인덱스 코드를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 다른 기술적 과제는 전술한 이점을 갖는 저작권 보호 인덱스 코드를 부호화하기 위한 방법 및 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 전술한 이점을 갖는 저작권 보호 인덱스 코드를 복호화하기 위한 방법 및 장치를 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따르면, 원본 이미지를 식별할 수 있으며, 인덱스를 부호화 처리하여 생성된 인덱스 코드 이미지를 상기 원본 이미지에 매립하여 생성된 제 1 가공된 이미지가 변경 또는 복제되어 상기 원본 이미지와 다른 배경 이미지에 매립된 후의 제 2 가공된 이미지의 인덱스 코드 이미지에 대한 복호화 처리에 의해 상기 원본 이미지의 저작권을 보호하도록 복호화할 수 있는 저작권 보호 인덱스 코드로서, 상기 원본 이미지 또는 상기 제 1 가공된 이미지의 제 1 복수의 이미지 속성값들은 저작권 보호를 위한 정보를 포함하며, 상기 인덱스와 매칭되어 데이터베이스에 저장되고, 상기 부호화 처리는 상기 인덱스를 이진수로 변환하여 상기 이진수의 비트열을 다수의 서브 비트열로 그룹핑하고, 상기 각각의 서브 비트열에 대응하는 색상, 모양, 길이, 크기 또는 이들의 조합을 구성함으로써 상기 인덱스를 부호화하여, 상기 인덱스 코드 이미지를 생성하고, 상기 복호화 처리는 상기 데이터베이스에 저장된 상기 제 1 복수의 이미지 속성값들과 상기 제 2 가공된 이미지의 제 2 복수의 이미지 속성값들을 비교하는 제 1 검증 처리 및 상기 원본 이미지와 상기 배경 이미지를 비교하는 제 2 검증 처리 중 적어도 하나를 포함하는 저작권 보호 인덱스 코드가 제공될 수 있다.
일 실시예에서, 상기 제 1 복수의 이미지 속성값들 또는 상기 제 2 복수의 이미지 속성값들은 이미지의 종횡비, 이미지의 크기, 이미지의 색 분포 정보, 이미지의 특정 식별 픽셀의 색이나 모양 표시, RLE(Run Length Encoding) 압축 알고리즘, RGB 히스토그램, 밝기(Brightness) 차이, FREAK(Fast Retina Keypoint), BRISK(Binary Robust Invariant Scalable Keypoints), SURF(Speeded Up Robust Features), ORB(Oriented FAST and Rotated BRIEF), PSNR(Peak signal-to-noise ratio), 비트맵, 평균 해쉬(Average Hash), PHash 또는 이들의 조합에 의해 획득된 이미지 전체 영역 또는 부분 영역의 이미지의 특성을 나타내는 정보를 포함할 수 있다.
일 실시예에서, 상기 제 2 검증 처리는 상기 제 1 검증 처리 후에 수행될 수 있으며, 상기 제 2 검증 처리는 PSNR(Peak signal to noise ratio) 값 및 이미지 패턴 매칭의 결과 값 중 적어도 하나를 산출하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복호화 처리는 상기 인덱스 코드 이미지로부터 상기 인덱스를 추출하도록, 인덱스 후보군 생성 처리와, 인덱스 후보군 검증 처리와 및 인덱스 선정 처리 중 적어도 하나를 더 포함하며, 상기 인덱스 후보군 생성 처리는 열화 후의 저작권 보호 코드 이미지의 데이터 영역에 대응하는 색상, 모양, 길이 및 크기 중 하나로부터 이원화 알고리즘에 기초하여 복수의 인덱스 후보로 구성되는 인덱스 후보군을 생성하고, 상기 인덱스 후보군 검증 처리는 상기 저작권 보호 코드가 매립된 코드화된 이미지에 기반하여 생성된 제 3 복수의 이미지 속성값과, 상기 인덱스 후보군과 관련된 제 4 복수의 이미지 속성값을 각각 비교함으로써, 상기 인덱스 후보군을 검증하고, 상기 인덱스 선정 처리는 상기 인덱스 후보군 검증 처리에 의해 검증된 인덱스 후보로부터 하나의 정답 인덱스를 선정할 수 있다.
일 실시예에서, 상기 복호화 처리에 의해 획득된 정답 인덱스에 대해서 재부호화 처리를 행함으로써 상기 정답 인덱스의 저작권 보호 코드 이미지를 생성하고, 상기 생성한 상기 정답 인덱스의 저작권 보호 코드 이미지를 상기 원본 이미지에 매립함으로써 저작권 보호 코드가 매립된 이미지를 생성할 있다. 또한, 상기 로버스트 복호화 처리에 의해 얻어진 상기 정답 인덱스에 대해서 재부호화 처리를 행함으로써 상기 정답 인덱스의 저작권 보호 코드 이미지를 생성하고, 생성한 상기 정답 인덱스의 저작권 보호 코드 이미지를 상기 열화 후의 저작권 보호 코드가 매립된 이미지에 다시 매립함으로써 저작권 보호 코드가 매립된 이미지를 생성할 있다.
상기 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따르면, 원본 이미지의 인덱스를 이진수로 변환하는 단계; 상기 이진수의 비트열을 다수의 서브 비트열로 그룹핑하는 단계; 상기 각각의 서브 비트열에 대응하는 색상, 모양, 길이, 크기 또는 이들의 조합을 결정하여, 인덱스 코드를 생성하는 단계; 상기 생성된 인덱스 코드를 상기 원본 이미지에 매립하는 단계를 포함하는 인덱스 코드의 부호화 방법이 제공될 수 있다.
일 실시예에서, 상기 서브 비트열에 대응하는 색상은 RGB(Red Green Blue) 색상 모델, CMYK (Cyan Magenta Yellow Key) 색상 모델, HSV (Hue/Saturation/Value) 색상 모델, HSL (Hue/Saturation/Luminance) 색상 모델, YUV 색상 모델, 또는 YIC 색상 모델 중 어느 하나로부터 결정될 수 있다.
일 실시예에서, 상기 서브 비트열의 비트수가 N일 때, 상기 서브 비트열에 대응하는 모양, 길이 또는 크기는 기정의된 2N 개의 후보 그룹으로부터 어느 하나가 선택될 수 있으며, 상기 원본 이미지는 다수의 분할 영역으로 정의되며, 상기 다수의 분할 영역에 대한 다수의 이미지 속성값들을 포함할 수 있다.
상기 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따르면, 인덱스 코드가 매립된 이미지를 획득하는 단계; 상기 획득된 인덱스 코드가 매립된 이미지로부터 복수의 제 1 이미지 속성값들을 추출하는 단계; 상기 인덱스 코드와 매칭된 원본 이미지의 복수의 제 2 이미지 속성값들을 데이터베이스로부터 획득하는 단계; 상기 복수의 제 1 이미지 속성값들과 상기 복수의 제 2 이미지 속성값들을 비교하여, 상기 인덱스 코드가 매립된 이미지와 상기 원본 이미지가 동일한 이미지를 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인덱스 코드가 매립된 이미지와 상기 원본 이미지가 동일한 이미지를 판단하는 단계는, PSNR(Peak signal to noise ratio) 값 및 이미지 패턴 매칭의 결과값이 소정의 범위 내에 있는지를 판단하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 원본 이미지를 식별할 수 있으며, 인덱스를 부호화 처리하여 생성된 인덱스 코드 이미지를 상기 원본 이미지에 매립하여 생성된 가공된 이미지가 변형 또는 복제되어 상기 원본 이미지와 다른 배경 이미지에 매립된 후의 상기 가공된 이미지에 매립된 상기 원본 이미지의 인덱스 코드 이미지를 복호화 처리에 의해 상기 원본 이미지의 저작권을 보호하도록 복호화할 수 있는 저작권 보호 인덱스 코드를 사용함으로써, 상기 원본 이미지의 악의적인 변형 및 코드 복제로부터 상기 원본 이미지에 대한 저작권 보호를 강화할 수 있다.
또한, 상기 저작권 보호 인덱스 코드를 사용함으로써, 이미지 처리 기술에 의한 이미지 압축이나 신장에 의해 저작권 보호 인덱스 코드 이미지가 열화된 경우에, 상기 열화된 저작권 보호 코드 이미지로부터 인덱스를 로버스트하게 복호할 수 있다.
도 1a 내지 도 1c는 본 발명의 일 실시예에 따른 저작권 보호 인덱스 코드의 이미지(이하, 저작권 보호 코드 이미지라 칭함) 및 저작권 보호 코드 이미지가 매립된 이미지(가공된 이미지라 칭함)이다.
도 2는 본 발명의 일 실시예에 따른 저작권 보호 코드를 처리하기 위한 흐름도이다.
도 3a 내지 도 3d는 본 발명의 일 실시예에 따른 저작권 보호 코드 이미지의 생성을 설명하기 위한 도면이다.
도 4a 내지 4d는 본 발명의 다른 실시예에 따른 저작권 보호 코드 이미지의 생성을 설명하기 위한 도면이다.
도 5a 내지 도 5e는 본 발명의 일 실시예에 따른 저작권 보호 코드 영역을 설명하기 위한 도면이다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 이미지 속성값의 생성을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 저작권 보호 코드가 매립된 이미지에 기초하여 생성된 이미지 속성값들을 나타내는 표이다.
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 열화 전의 저작권 보호 코드가 매립된 이미지와 열화 후의 저작권 보호 코드가 매립된 이미지의 예이며, 도 8d 내지 도 8f는 본 발명의 일 실시예에 따른 이미지 변경 또는 복제 전의 저작권 보호 코드가 매립된 이미지와 이미지 변경 또는 복제 후의 저작권 보호 코드가 매립된 이미지이다.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 열화되지 않은 저작권 보호 코드 이미지로부터 인덱스를 복호화하는 것을 설명하기 위한 도면이다.
도 10a 내지 도 12b는 본 발명의 일 실시예에 따른 열화된 저작권 보호 코드 이미지로부터 인덱스를 복호화하는 것을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른 저작권 보호 코드가 매립된 이미지에 기반하여 생성된 복수의 이미지 속성값의 일례를 도시하는 것이다.
도 14는 본 발명의 일 실시예에 따른 데이터베이스에 저장되는 이미지 속성값을 모식적으로 도시하는 것이다.
도 15는 본 발명의 일 실시예에 따른 저작권 보호 코드 이미지로부터 이미지 복제 또는 변경을 판단하기 위한 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 저작권 보호 코드의 이용 방법을 설명하기 위한 모식도이다.
도 17은 본 발명의 일 실시예에 따른 재부호화 처리를 설명하기 위한 모식도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
도면에서 동일 부호는 동일한 요소를 지칭한다. 또한, 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위하여 사용되며, 본 발명의 범위를 제한하기 위한 것이 아니다. 또한, 본 명세서에서 단수로 기재되어 있다 하더라도, 문맥상 단수를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 "포함한다(comprise)" 및/또는 "포함하는(comprising)"이란 용어는 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.
본 명세서에서 기판 또는 다른 층 "상에(on)" 형성된 층에 대한 언급은 상기 기판 또는 다른 층의 바로 위에 형성된 층을 지칭하거나, 상기 기판 또는 다른 층 상에 형성된 중간 층 또는 중간 층들 상에 형성된 층을 지칭할 수도 있다. 또한, 당해 기술 분야에서 숙련된 자들에게 있어서, 다른 형상에 "인접하여(adjacent)" 배치된 구조 또는 형상은 상기 인접하는 형상에 중첩되거나 하부에 배치되는 부분을 가질 수도 있다.
본 명세서에서, "아래로(below)", "위로(above)", "상부의(upper)", "하부의(lower)", "수평의(horizontal)" 또는 "수직의(vertical)"와 같은 상대적 용어들은, 도면들 상에 도시된 바와 같이, 일 구성 부재, 층 또는 영역들이 다른 구성 부재, 층 또는 영역과 갖는 관계를 기술하기 위하여 사용될 수 있다. 이들 용어들은 도면들에 표시된 방향뿐만 아니라 소자의 다른 방향들도 포괄하는 것임을 이해하여야 한다.
이하에서, 본 발명의 실시예들은 본 발명의 이상적인 실시예들(및 중간 구조들)을 개략적으로 도시하는 단면도들을 참조하여 설명될 것이다. 이들 도면들에 있어서, 예를 들면, 부재들의 크기와 형상은 설명의 편의와 명확성을 위하여 과장될 수 있으며, 실제 구현시, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 된다. 또한, 도면의 부재들의 참조 부호는 도면 전체에 걸쳐 동일한 부재를 지칭한다.
본 발명에 따른 저작권 보호 인덱스 코드는 이미지 상에 픽셀 영역의 색의 배열 또는 픽셀 영역의 형태, 모양, 크기 또는 길이의 배열로 나타나며, 인덱스 정보를 표현하는 코드이다. 본 발명은 인덱스를 부호화하여 생성되는 저작권 보호 인덱스 코드의 이미지(이하 "저작권 보호 인덱스 코드 이미지"라 칭함)가 인터넷 상에서 원본 이미지의 열화, 사용자의 악의적인 이미지 변형 및 코드 복제를 통해 처리되더라도 (이하 "이미지 변형 또는 코드 복제된 후의 저작권 보호 코드 이미지"라 칭함) 원본 이미지에 대한 저작권이 보호되며, 상기 인덱스를 로버스트하게 복호할 수 있도록 이미지 속성값을 갖는 저작권 보호 코드에 관한 것이다.
이하 설명에서, 인덱스를 "저작권 보호 인덱스 코드에서의 부호화의 대상" 또는 "부호화의 대상"이라고도 한다. 본 발명에서 저작권 보호 인덱스 코드 이미지는 다른 이미지(이하, “배경 이미지” 또는 “가공된 이미지”라 칭함)에 매립될 수 있다. 예컨대, 상기 저작권 보호 인덱스 코드 이미지는 상기 배경 이미지와 합성될 수 있으며, 상기 배경 이미지의 크기보다 작아 상기 배경 이미지의 일부 영역을 대체할 수 있다. 여기서, 상기 배경 이미지는 성인, 영화, 만화, 교육, 게임, 엔터테인먼트, 운세/복권, 금융 및 경제와 관련된 각종 유료 또는 무료 콘텐츠를 상징하는 또는 대표하는 이미지이며, 경우에 따라 콘텐츠 제작자 또는 유통업자가 상기 배경 이미지에 대한 저작권을 행사할 수 있으며, 이에 따라 상기 배경 이미지에 대해 저작권 보호가 필요할 수 있다.
본 발명에서 "이미지"이란 디지털 이미지를 의미한다. 또한 본 발명에서는 "이미지"의 파일 형식으로서 기존의 디지털 이미지의 파일 형식(예를 들어 JPEG, 비트맵, PNG, GIF, TIFF, WebP, JPEG, XR, JPEG-2000, DNG, HD 포토 등)을 사용한다. 또한, 이하에서는 본 발명에서 "이미지"을 "원본 이미지"라고 지칭할 수도 있다.
본 발명에서 하나의 이미지는 해당 이미지와 관련된 정보(이하, 이미지 관련 정보라 칭함)가 포함하며, 해당 이미지 및 해당 이미지 관련 정보는 후술하는 해당 이미지에 기초하여 생성되는 이미지 속성값과 함께 데이터베이스(DB)에 저장될 수 있다. 상기 해당 이미지 관련 정보의 구체적인 예로서, 해당 이미지 관련 정보는 해당 이미지와 관련되는 텍스트, URL, 관련 이미지 정보, 위치 정보, 및 게임이나 가상현실(VR: Virtual Reality) 콘텐츠와 같은 어플리케이션을 포함할 수 있다.
본 발명에서 "이미지 속성값"이란 "이미지"의 다양한 특징을 나타내는 속성값을 의미하며, 예를 들어, 이미지의 비율(종횡비), 이미지의 크기, 이미지의 색 분포 정보, 이미지 상의 특정 식별 픽셀의 색이나 모양 표시, RLE(Run Length Encoding) 압축 알고리즘, RGB 히스토그램, 밝기(Brightness) 차이, FREAK(Fast Retina Keypoint), BRISK(Binary Robust Invariant Scalable Keypoints), SURF(Speeded Up Robust Features), ORB(Oriented FAST and Rotated BRIEF), PSNR(Peak signal-to-noise ratio), 비트맵, 평균 해쉬(Average Hash), PHash 또는 이들의 조합에 의해 얻어지는 이미지 전체 또는 부분 영역의 이미지의 특성을 나타내는 정보이다. 본 발명에서 하나의 이미지는 해당 이미지를 일의적으로 식별할 수 있는 하나의 인덱스에 대응함과 동시에, 해당 이미지에 기초하여 생성되는 복수의 이미지 속성값을 가질 수 있다. 또한, 해당 이미지에 대응하는 인덱스가 부호화되어 획득된 저작권 보호 인덱스 코드 이미지가 해당 이미지에 매립될 수 있다.
여기서, 본 발명에서 "인덱스"란 인덱스를 부호화하여 획득된 저작권 보호 인덱스 코드 이미지의 매립 장소가 되는 배경 이미지의 이미지 관련 정보 및 이미지 속성값을 저장하고 있는 데이터베이스에 접속하기 위한 키일 수 있다. 본 발명에서는 저작권 보호 인덱스 코드 이미지를 매립한 이미지를 "가공된 이미지"라 칭한다. 상기 저작권 보호 인덱스 코드가 매립된 가공된 이미지가 네트워크를 통해서 다양한 서비스를 경유하면 상기 가공된 이미지의 적어도 일부가 열화되거나, 사용자 악의적인 행동으로 이미지 변형되거나 또는 상기 저작권 보호 인덱스 코드 이미지 전체 또는 일부가 복제(이하, 코드 복제라 칭함)될 가능성이 높다.
이러한 이미지 열화는 이미지 처리 기술에 의한 이미지 처리, 예를 들어, JPEG 압축에 의해 발생할 수 있으며(예를 들어, 저작권 보호 인덱스 코드가 매립된 가공된 이미지가 네트워크 상에서 참조 및 확산됨으로써, 이미지의 압축 및 신장 처리가 여러 번 행해져서 이미지가 열화된 경우라 해도), 그 열화된 저작권 보호 인덱스 코드가 매립된 가공된 이미지(이하, "열화 후의 저작권 보호 인덱스 코드가 매립된 이미지"라 칭함)에 포함되어 있는 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 수 있다.
또한, 상기 이미지 변형 또는 코드 복제는 사용자의 악의적인 행동, 예컨대, 저작권 보호 인덱스 코드 이미지를 가공 또는 훼손시키거나, 저작권 보호 인덱스 코드 이미지를 복사하여 다른 이미지와 합성되어 이전 저작권 보호 인덱스 코드 이미지가 매립된 배경 이미지에 대해 저작권이 침해되더라도, 상기 저작권 보호 인덱스 코드 이미지가 복사된 다른 이미지를 처리할 때, 코드 복제 또는 코드 변형을 사용자에게 인식되도록 함으로써, 원본 배경 이미지에 대한 저작권 보호를 강화할 수 있다.
도 1a 내지 도 1c에 본 발명의 저작권 보호 인덱스 코드 이미지(IC1, IC2, IC3) 및 저작권 보호 인덱스 코드가 매립된 가공된 이미지(P1, P2, P3)의 일례를 도시한다.
도 1a를 참조하면, 후술할 부호화 방법에 의해, 저작권 보호 인덱스 코드 이미지(IC1)는 서로 다른 길이를 갖는 다수의 직사각형들의 배열들로 구성된 코드를 포함하며, 이러한 배열들은 특정 배경 이미지(P1)에 부여된 인덱스를 가리킬 수 있다. 또한, 이미지 처리(예: 이미지 합성)를 통해서 저작권 보호 인덱스 코드 이미지(IC1)는 특정 배경 이미지(P1)의 일부 영역에 매립될 수 있다.
도 1b를 참조하면, 후술할 부호화 방법에 의해, 저작권 보호 인덱스 코드 이미지(IC2)는 m*m(6*6) 배열의 서로 다른 모양 또는 형태의 도형들로 구성된 코드를 포함하며, 이러한 배열들은 특정 배경 이미지(P2)에 부여된 인덱스를 가리킬 수 있다. 또한, 이미지 처리(예: 이미지 합성)를 통해서 저작권 보호 인덱스 코드 이미지(IC2)는 특정 배경 이미지(P2)의 일부 영역에 매립될 수 있다.
도 1c를 참조하면, 후술할 부호화 방법에 의해, 저작권 보호 인덱스 코드 이미지(IC3)는 서로 다른 색상의 m*m(6*6) 배열들로 구성된 코드를 포함하며, 이러한 배열들은 특정 배경 이미지(P3)에 부여된 인덱스를 가리킬 수 있다. 또한, 이미지 처리(예: 이미지 합성)를 통해서 저작권 보호 인덱스 코드 이미지(IC3)는 특정 배경 이미지(P3)의 일부 영역에 매립될 수 있다.
도 1a 내지 도 1c를 통해 인덱스에 대응하는 서로 다른 길이의 배열, 서로 다른 모양의 배열, 또는 서로 다른 색상의 배열을 통해 인덱스가 부호화되는 예를 설명하였지만, 본 발명은 이들에 제한되지 않으며, 둘 이상의 조합을 통해 인덱스를 부호화할 수 있다. 예컨대, 서로 다른 모양을 가지며 서로 다른 색상을 갖는 배열을 통해 또는 서로 다른 길이를 가지며 서로 다른 색상을 갖는 배열을 통해 인덱스가 부호화될 수 있다.
도 2는 본 발명의 일 실시예에 따른 인덱스의 부호화 및 저작권 보호 인덱스코드가 매립된 가공된 이미지를 생성하는 흐름도이다.
도 2를 참조하면, 먼저 제 1 이미지(예컨대, 배경 이미지)에 대해서 상기 제 1 이미지를 위한 인덱스 생성을 서버에 요청한다(S1 단계). 또한, 본 발명에서 서버는 이미지(예: 배경 이미지, 가공된 이미지, 또는 저작권 보호 인덱스 코드 이미지), 이미지 관련 정보 및 이미지 속성값을 저장하기 위한 데이터베이스와 연동되어 동작할 수 있다.
이후, 상기 제 1 이미지의 이미지 관련 정보를 상기 서버로부터 부여된 인덱스와 매칭시켜 데이터베이스에 저장한다(S2 단계). 후술할 이미지 속성값 생성 방법을 이용하여 상기 제 1 이미지의 이미지 속성값들을 생성한다(S3 단계). 상기 생성된 이미지 속성값들은 상기 서버로부터 부여된 인덱스와 매칭시켜 데이터베이스에 저장될 수 있다(S4 단계).
그리고, 후술할 부호화 방법에 따라, 상기 서버로부터 부여된 인덱스를 부호화하여 제 2 이미지(예: 저작권 보호 인덱스 코드 이미지)를 생성할 수 있다(S5 단계). 상기 제 2 이미지를 상기 제 1 이미지와 합성함으로써, 상기 저작권 보호 인덱스 코드가 매립된 가공된 이미지를 생성할 수 있다(S6 단계).
또한, 본 발명에서 인덱스를 생성하기 위해서 S1 단계에 전술한 방법이 아니라, 상기 제 1 이미지를 일의적으로 식별할 수 있는 인덱스를 상기 제 1 이미지에 부여하는 방법을 이용할 수 있다. 또한, 인덱스란, 예를 들어 1, 2, 3, … 과 같은 연속 번호일 수 있다.
상기 S3 단계에서, 후술할 이미지 속성값 생성 방법을 이용하여, 상기 제 1 이미지의 이미지 속성값을 생성할 수 있다. 그러나, 본 발명은 이미지 속성값을 생성하는 방법은 이에 한정되지 아니하며, 상기 S3 단계에 의한 처리를 행하지 아니하고, S6 단계에 의한 처리에 의해 저작권 보호 인덱스 코드가 매립된 가공된 이미지가 생성되고, 이후에 후술할 이미지 속성값 생성 방법을 이용하여, 상기 저작권 보호 인덱스 코드가 매립된 가공된 이미지의 이미지 속성값을 생성할 수도 있다.
<부호화 처리>
도 3a 내지 도 3d 그리고 도 4a 내지 도 4d는 본 발명의 일 실시예에 따른 저작권 보호 코드 이미지의 생성을 설명하기 위한 도면이다. 도 3a 내지 도 3d 그리고 도 4a 내지 도 4d를 통해서, 본 발명의 인덱스의 부호화(인코딩) 및 저작권 보호 인덱스 코드 이미지의 생성에 대해서 구체적인 예를 설명한다. 특히, 상기 S5 단계에서 수행되는 본 발명의 부호화 방법에 의한 인덱스의 인코딩에 대해서 구체적으로 설명하기로 한다.
도 3a와 도 4a를 참조하면, 상기 S1 단계에서 서버로부터 부여된 십진수의 인덱스를 이진수의 비트열로 변환한다. 예를 들어, 인덱스가 24043(십진수)인 경우에 십진수(24043)를 이진수의 비트열로 변환하면 이진수의 비트열 "000101110111101011"이 생성된다. 이후, 상기 이진수의 비트열을 3 비트씩 그룹핑하여 복수의 3 비트의 서브 비트열이 생성하고, 생성된 각각의 3 비트의 서브 비트열에 대해서 길이 정보에 의한 코드화를 수행한다.
또한, 이하에서는 길이 정보로서 8단계의 길이를 사용할 수 있다. 예를 들어, 이진수의 비트열 "000101110111101011"을 3 비트씩 그룹핑함으로써, 도 3a에 도시된 바와 같이 6 개의 3 비트의 서브 비트열((6), (5), (4), (3), (2), (1))이 얻어진다. 도 3a에 도시된 바와 같이, 각 3 비트의 서브 비트열은 8 단계의 길이 중 어느 하나로 코드화가 수행될 수 있다. 상기 8 단계의 길이는 높이 8 픽셀의 막대로 정의된 1 단계 길이, 높이 16 픽셀의 막대로 정의된 2 단계 길이, 높이 24 픽셀의 막대로 정의된 3 단계 길이, 높이 32 픽셀의 막대로 정의된 4 단계 길이, 높이 40 픽셀의 막대로 정의된 5 단계 길이, 높이 48 픽셀의 막대로 정의된 6 단계 길이, 높이 56 픽셀의 막대로 정의된 7 단계 길이 및 높이 64 픽셀의 막대로 정의된 64 단계 길이를 포함할 수 있다.
다시 도 4a를 참조하면, 인덱스(십진수)를 변환하여 얻어진 이진수의 비트열로부터 얻어진 각 3비트의 서브 비트열에 대해서 8 단계 길이로 코드화를 수행함으로써 인덱스를 부호화하고, 복수의 길이 마크를 갖는 저작권 보호 인덱스 코드 이미지를 생성할 수 있다. 또한, 도 4a의 (6), (5), (4), (3), (2), (1)은 이진수의 비트열 "000101110111101011"로부터 생성된 6개의 3 비트의 서브 비트열 "000", "101", "110", "111", "101", "011"에 각각 대응할 수 있다.
도 4a에 있어서, 3비트의 서브 비트열(1)이 대응하는 길이 마크는 길이 마크 6이고, 3 비트의 비트열(2)이 대응하는 길이 마크는 길이 마크 5이고, 3 비트의 비트열(3)이 대응하는 길이 마크는 길이 마크 4이고, 3 비트의 비트열(4)이 대응하는 길이 마크는 길이 마크 3이고, 3 비트의 비트열(5)이 대응하는 길이 마크는 길이 마크 2이며, 3 비트의 비트열(6)이 대응하는 길이 마크는 길이 마크 1이다.
상기 구체적인 예에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 3비트의 비트열로 그룹핑하고, 각 3 비트의 비트열에 대해서 이진수 3 비트를 길이 값에 각각 할당하여 8 개의 길이의 코드화를 수행하고 있다. 그러나, 본 발명의 다른 실시예에 따른 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 2 비트의 서브 비트열로 그룹핑하고, 각 2 비트의 서브 비트열에 대해서 이진수 2 비트를 4 개의 길이의 코드화를 수행할 수도 있다. 또한, 본 발명의 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 N(N≥2) 비트의 서브 비트열로 그룹핑하고, 각 N 비트의 서브 비트열에 대해서 이진수 N 비트를 N 개의 길이 정보에 할당하여 2의 N 제곱(2N) 개의 길이의 코드화를 수행할 수도 있다.
본 발명에서는 저작권 보호 인덱스 코드 이미지(IC1)를 배경 이미지(P1)에 매립함으로써 저작권 보호 인덱스 코드가 매립된 가공된 이미지를 생성할 수 있다. 본 발명에서 "저작권 보호 인덱스 코드 영역"은 저작권 보호 인덱스 코드가 매립된 가공된 이미지 중에서 저작권 보호 인덱스 코드 이미지가 점유하고 있는 영역을 지칭할 수 있다.
도 5a는 본 발명의 일 실시예에 따른 저작권 보호 코드 영역을 설명하기 위한 도면이다. 여기서, 도 5a를 참조하면서 저작권 보호 코드 영역에 대해서 설명한다. 본 발명에서는 저작권 보호 인덱스 코드가 매립된 이미지에 포함되어 있는 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호함과 동시에 이미지 변형을 인지하며 로버스트하게 복호하기 위하여 저작권 보호 인덱스 코드가 매립된 이미지에서의 저작권 보호 코드 영역을 정확하게 인식할 필요가 있다.
이를 위하여, 본 발명에서는 도 5a에 도시된 바와 같이, 저작권 보호 인덱스코드 영역(300)에 대해서 저작권 보호 인덱스 코드 영역의 배경(이하, "배경"이라고도 함)(302)을 밝은 단색, 예를 들어, 회색을 R값:238, G값:238, B값:238으로 구성함과 동시에, 배경(302)과의 콘트라스트 차이를 가능한 넓히기 위해서 외벽(301)을 어두운 단색, 예를 들어, 어두운 단색을 R값:96, G값:96, B값:96으로 구성할 수 있다. 또한, 저작권 보호 인덱스 코드가 매립된 이미지에 JPEG 압축과 같은 이미지 처리를 할 때 외부의 색(즉 저작권 보호 인덱스 코드 영역을 제외한 저작권 보호 인덱스 코드가 매립된 배경 이미지의 색)이 저작권 보호 인덱스 코드 영역(300)에 침투되지 않도록 충분한 값(a픽셀, 예를 들어 a=4의 경우 4픽셀임)을 갖는 외벽(301)을 설정할 수 있다.
도 5a에 도시된 바와 같이, 저작권 보호 인덱스 코드 영역(300)은 가로를 23개로 분할하고, 그 분할된 영역에 인코딩된 길이 마크를 매립할 수 있다. 각각 분할된 데이터 영역(303)의 중심은 사각의 "저작권 보호 인덱스 코드 영역(300)"의 가로변의 1/n을 기점으로 하여 직선으로 연결한 교점에 위치시킬 수 있다. 이러한 방법으로 "저작권 보호 인덱스 코드 영역(300)"을 추출하고, 사각의 "저작권 보호 인덱스 코드 영역(300)"의 각 변의 길이를 계산할 수 있다. 그리고, 사전에 정의된 n 개로 분할하고, 각각의 포인트를 직선으로 연결하면 각 데이터 영역(303)의 중심을 취할 수 있다. 이러한 상기 "저작권 보호 인덱스 코드"의 구성 예는 1 개의 (n)의 조합이 아니라, 복수의 (n)의 조합으로부터도 이루어질 수 있다. 예를 들어, 변의 1/7, 1/8, 1/9 위치를 취하여 직선을 연결하여 교점의 위치에 데이터 영역(303)을 위치시켜도 된다.
또한, 도 5a에 도시된 바와 같이, 모든 데이터 영역(303) 사이에는 a 픽셀의 스페이스를 배치한다. 이 배경(302)의 단색의 스페이스를 배치함으로써 코드의 로버스트한 특성을 향상시킬 수 있다. 이미지의 열화에 의해 옆에 위치된 데이터 영역(303)에 색이 침투되는 경우가 있으며, 데이터 영역(303) 사이에 단색의 스페이스를 배치함으로써 침투의 영향을 방지할 수 있다.
도 3b와 도 4b를 참조하면, 상기 S1 단계에서 서버로부터 부여된 십진수의 인덱스를 이진수의 비트열로 변환한다. 예를 들어, 인덱스가 24043(십진수)인 경우에 십진수(24043)를 이진수의 비트열로 변환하면 이진수의 비트열 "000101110111101011"이 얻어진다. 이후, 상기 이진수의 비트열을 3 비트씩 그룹핑하여 복수의 3 비트의 서브 비트열이 얻어지고, 얻어진 각각의 3 비트의 서브 비트열에 대해서 모양 정보에 의한 코드화를 수행한다.
또한, 이하에서는 모양 정보로서 8단계의 서로 다른 모양을 사용할 수 있다. 예를 들어, 이진수의 비트열 "000101110111101011"을 3 비트씩 그룹핑하여 도 3b에 도시된 바와 같은 6 개의 3 비트의 비트열이 얻어진다. 도 3b에 도시된 바와 같이, 각 3 비트의 서브 비트열은 8 단계의 모양 중 어느 하나로 코드화가 수행될 수 있다. 상기 8 단계의 모양은 1 단계 모양 내지 8 단계 모양을 포함할 수 있다.
다시 도 4b를 참조하면, 인덱스(십진수)를 변환하여 얻어진 이진수의 비트열로부터 얻어진 각 3 비트의 비트열에 대해서 각각 해당 모양의 코드화를 수행함으로써 인덱스를 부호화하여, 복수의 모양 마크를 갖는 저작권 보호 인덱스 코드 이미지를 생성할 수 있다. 또한, 도 4b의 (6), (5), (4), (3), (2), (1)은 이진수의 비트열 "000101110111101011"로부터 얻어진 6 개의 3비트의 비트열 "000", "101", "110", "111", "101", "011"에 각각 대응할 수 있다. 예컨대, 3 비트의 비트열(1)이 대응하는 모양 마크는 모양 마크 6이고, 3 비트의 비트열(2)이 대응하는 모양 마크는 모양 마크 5이고, 3 비트의 비트열(3)이 대응하는 모양 마크는 모양 마크 4이고, 3 비트의 비트열(4)이 대응하는 모양 마크는 모양 마크 3이고, 3 비트의 비트열(5)이 대응하는 모양 마크는 모양 마크 2이이며, 3 비트의 비트열(6)이 대응하는 모양 마크는 모양 마크 1일 될 수 있다.
상기 구체적인 예에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 3 비트의 비트열로 그룹핑하고, 각 3 비트의 서브 비트열에 대해서 이진수 3비트를 해당 모양에 각각 할당하여 8 개의 코드화를 행하고 있다. 그러나, 본 발명의 다른 실시예에 따른 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 2 비트의 비트열로 나누도록 하고, 각 2 비트의 비트열에 대해서 이진수 2 비트를 해당 모양에 할당하여 4 개의 코드화를 수행할 수도 있다. 또한, 본 발명의 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 N(N≥2) 비트의 비트열로 그룹핑하고, 각 N비트의 비트열에 대해서 이진수 N비트를 N 개의 모양 정보에 할당하여 2의 N 제곱(2N) 개의 모양의 코드화를 수행할 수도 있다.
본 발명에서 저작권 보호 인덱스 코드 이미지(IC2)를 배경 이미지(P2)에 매립함으로써 저작권 보호 인덱스 코드가 매립된 가공된 이미지를 생성한다. 본 발명에서 "저작권 보호 인덱스 코드 영역"이란 저작권 보호 인덱스 코드가 매립된 이미지 중에서 저작권 보호 코드 이미지가 점유하고 있는 영역을 지칭할 수 있다.
도 5b는 본 발명의 일 실시예에 따른 저작권 보호 인덱스 코드 영역을 설명하기 위한 도면이다. 여기서, 도 5b를 참조하면서 저작권 보호 인덱스 코드 영역에 대해서 설명한다. 본 발명에서는 저작권 보호 인덱스 코드가 매립된 이미지에 포함되어 있는 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호함과 동시에 이미지 변형 또는 복제를 인지하며 로버스트하게 복호하기 위하여 저작권 보호 인덱스 코드가 매립된 이미지에서의 저작권 보호 인덱스 코드 영역을 정확하게 인식할 필요가 있다.
이를 위하여, 본 발명에서는 도 5b에 도시된 바와 같이, 저작권 보호 인덱스코드 영역(300)에 대해서 저작권 보호 인덱스 코드 영역의 배경(이하, "배경"이라고도 함)(302)을 밝은 단색, 예를 들어, 회색을 R값:238, G값:238, B값:238으로 구성함과 동시에, 배경(302)과의 콘트라스트 차이를 가능한 넓히기 위해서 외벽(301)을 어두운 단색, 예를 들어, 어두운 단색을 R값:96, G값:96, B값:96으로 구성할 수 있다. 또한, 저작권 보호 인덱스 코드가 매립된 이미지에 JPEG 압축과 같은 이미지처리를 할 때 외부의 색(즉 저작권 보호 인덱스 코드 영역을 제외한 저작권 보호 인덱스 코드가 매립된 이미지의 배경 색)이 저작권 보호 인덱스 코드 영역에 침투되지 않도록 충분한 값(a픽셀, 예를 들어 a=4의 경우 4픽셀임)을 갖는 외벽(301)을 설정할 수 있다.
도 5b에 도시된 바와 같이, 저작권 보호 코드 영역(300)은 가로를 n분할, 세로를 m분할하고, 그 분할된 영역에 인코딩된 모양 마크를 매립할 수 있다. 각각 분할된 데이터 영역의 중심은 사각의 "저작권 보호 인덱스 코드 영역"의 가로변의 1/n, 세로변의 1/m을 기점으로 하여 직선으로 연결한 교점에 위치시킬 수 있다. 이러한 방법으로 "저작권 보호 인덱스 코드 영역"을 추출하고, 사각의 "저작권 보호 인덱스 코드 영역"의 각 변의 길이를 계산한다. 그리고, 사전에 정의된 n, m에 의해 분할하고, 각각의 포인트를 직선으로 연결하면 각 데이터 영역의 중심을 취할 수 있다. 이러한 상기 "저작권 보호 코드"의 구성 예는 1개의 (n, m)의 조합이 아니라, 복수의 (n, m)의 조합으로부터도 이루어질 수 있다. 예를 들어, 변의 1/7, 1/8, 1/9 위치를 취하여 직선을 연결하여 교점의 위치에 데이터 영역(303)을 위치시켜도 된다.
또한, 도 5b에 도시된 바와 같이, 모든 데이터 영역(303) 사이에는 a 픽셀의 스페이스를 배치한다. 이 배경의 단색의 스페이스를 배치함으로써 로버스트한 특성을 향상시킬 수 있다. 이미지의 열화에 의해 옆에 위치된 데이터 영역(303)에 색이 침투되는 경우가 있으며, 데이터 영역(303) 사이에 단색의 스페이스를 배치함으로써 침투의 영향을 방지할 수 있다.
도 3c와 도 4c를 참조하면, 상기 S1 단계에서 서버로부터 부여된 십진수의 인덱스를 이진수의 비트열로 변환한다. 예를 들어, 인덱스가 24043(십진수)인 경우에 십진수(24043)를 이진수의 비트열로 변환하면 이진수의 비트열 "000101110111101011"이 얻어진다. 이후, 상기 이진수의 비트열을 3 비트씩 그룹핑하여 복수의 3 비트의 서브 비트열이 얻어지고, 얻어진 각각의 3 비트의 서브 비트열에 대해서 색상 정보에 의한 코드화를 수행한다.
또한, 이하에서는 색 정보로서 R(Red)값, G(Green)값, 및 B(Blue)값을 사용한다. 예를 들어, 이진수의 비트열 "000101110111101011"을 3 비트씩 그룹핑하여 도 3c에 도시된 바와 같은 6 개의 3 비트의 서브 비트열이 얻어진다. 도 3c에 도시된 바와 같이, 각 3 비트의 비트열에 있어서 첫 번째 비트에 대해서 R값에 의한 컬러화가 행해지고, 두 번째 비트에 대해서 G값에 의한 컬러화가 행해지고, 세 번째 비트에 대해서 B값에 의한 컬러화가 수행될 수 있다.
즉, 도 3c에 있어서, 첫 번째 비트의 값은 "0"일 때에 첫 번째 비트에 대응하는 R값을 "0"으로 하고, 첫 번째 비트의 값은 "1"일 때에 첫 번째 비트에 대응하는 R값을 "255"로 할 수 있다. 마찬가지로, 두 번째 비트의 값은 "0"일 때에 두 번째 비트에 대응하는 G값을 "0"으로 하고, 두 번째 비트의 값은 "1"일 때에 두 번째 비트에 대응하는 G값을 "255"로 하며, 세 번째 비트의 값은 "0"일 때에 세 번째 비트에 대응하는 B값을 "0"으로 하고, 세 번째 비트의 값은 "1"일 때에 세 번째 비트에 대응하는 B값을 "255"로 할 수 있다.
이와 같이, 본 발명에서는 각 3 비트의 비트열에 대해서 R값, G값, 및 B값에 의한 컬러화를 행할 때에 도 3c에 도시된 바와 같은 R값, G값, 및 B값을 얻을 수 있다.
본 발명에서는 도 4c에 도시된 바와 같이, 인덱스(십진수)를 변환하여 얻어진 이진수의 비트열로부터 얻어진 각 3 비트의 비트열에 대해서 각각 R값, G값, 및 B값에 의한 컬러화를 행함으로써 인덱스를 부호화하여, 복수의 컬러 마크를 갖는 저작권 보호 코드 이미지를 생성할 수 있다. 또한, 도 4의 (6), (5), (4), (3), (2), (1)은 이진수의 비트열 "000101110111101011"로부터 얻어진 6 개의 3 비트의 서브 비트열 "000", "101", "110", "111", "101", "011"에 각각 대응할 수 있다.
예컨대, 3 비트의 비트열(1)이 대응하는 R값, G값, 및 B값으로 얻어진 컬러 마크는 컬러 마크 6이고, 3 비트의 비트열(2)이 대응하는 R값, G값, 및 B값으로 얻어진 컬러 마크는 컬러 마크 5이고, 3 비트의 비트열(3)이 대응하는 R값, G값, 및 B값으로 얻어진 컬러 마크는 컬러 마크 4이고, 3 비트의 비트열(4)이 대응하는 R값, G값, 및 B값으로 얻어진 컬러 마크는 컬러 마크 3이고, 3 비트의 비트열(5)이 대응하는 R값, G값, 및 B값으로 얻어진 컬러 마크는 컬러 마크 2이며, 3 비트의 비트열(6)이 대응하는 R값, G값, 및 B값으로 얻어진 컬러 마크는 컬러 마크 1일 수 있다.
상기 구체적인 예에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 3비트의 서브 비트열로 그룹핑하도록 하고, 각 3 비트의 서브 비트열에 대해서 이진수 3 비트를 R값, G값, 및 B값에 각각 할당하여 8색의 컬러화를 수행할 수 있다. 그러나, 본 발명의 다른 실시예에 따른 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 2 비트의 비트열로 나누도록 하고, 각 2비트의 비트열에 대해서 이진수 2비트를 B값 및 Y(Yellow)값에 할당하여 4 색의 컬러화를 수행할 수도 있다. 또한, 본 발명의 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 N(N≥2) 비트의 비트열로 그룹핑하고, 각 N비트의 비트열에 대해서 이진수 N 비트를 N 개의 색상 정보에 할당하여 2의 N제곱(2N) 개의 색의 컬러화를 수행할 수도 있다.
본 발명에서는 저작권 보호 인덱스 코드 이미지(IC3)를 이미지(P3)에 매립함으로써 저작권 보호 인덱스 코드가 매립된 가공된 이미지를 생성한다. 본 발명에서 "저작권 보호 인덱스 코드 영역"이란 저작권 보호 인덱스 코드가 매립된 이미지 중에서 저작권 보호 인덱스 코드 이미지가 점유하고 있는 영역을 지칭한다.
도 5c는 본 발명의 일 실시예에 따른 저작권 보호 인덱스 코드 영역을 설명하기 위한 도면이다. 여기서, 도 5c를 참조하면서 저작권 보호 인덱스 코드 영역에 대해서 설명한다. 본 발명에서는 저작권 보호 인덱스 코드가 매립된 이미지에 포함되어 있는 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호함과 동시에 이미지 변형 또는 복제를 인지하며 로버스트하게 복호하기 위하여 저작권 보호 인덱스 코드가 매립된 이미지에서의 저작권 보호 인덱스 코드 영역을 정확하게 인식할 필요가 있다.
이를 위하여, 본 발명에서는 도 5c에 도시된 바와 같이, 저작권 보호 인덱스 코드 영역(300)에 대해서 저작권 보호 코드 영역의 배경(이하, "배경"이라고도 함)(302)을 밝은 단색, 예를 들어, 회색을 R값:238, G값:238, B값:238으로 구성함과 동시에, 배경(302)과의 콘트라스트 차이를 가능한 넓히기 위해서 외벽(301)을 어두운 단색, 예를 들어, 어두운 단색을 R값:96, G값:96, B값:96으로 구성할 수 있다. 또한, 저작권 보호 코드가 붙은 이미지에 JPEG 압축과 같은 이미지처리를 할 때 외부의 색(즉 저작권 보호 인덱스 코드 영역을 제외한 저작권 보호 인덱스 코드가 매립된 이미지의 배경 색)이 저작권 보호 인덱스 코드 영역에 침투되지 않도록 충분한 값(a픽셀, 예를 들어 a=4의 경우 4픽셀임)을 갖는 외벽(301)을 설정할 수 있다.
도 5c에 도시된 바와 같이, 저작권 보호 인덱스 코드 영역(300)은 가로를 n 분할, 세로를 m 분할하고, 그 분할된 영역에 인코딩된 컬러 마크를 매립할 수 있다. 각각 분할된 데이터 영역(303)의 중심은 사각의 "저작권 보호 인덱스 코드 영역"의 가로변의 1/n, 세로변의 1/m을 기점으로 하여 직선으로 연결한 교점에 위치시킬 수 있다. 이러한 방법으로 "저작권 보호 인덱스 코드 영역"을 추출하고, 사각의 "저작권 보호 인덱스 코드 영역"의 각 변의 길이를 계산한다. 그리고, 사전에 정의된 n, m에 의해 분할하고, 각각의 포인트를 직선으로 연결하면 각 데이터 영역(303)의 중심을 취할 수 있다. 이러한 상기 "저작권 보호 코드"의 구성 예는 1개의 (n, m)의 조합이 아니라, 복수의 (n, m)의 조합으로부터도 이루어질 수 있다. 예를 들어, 변의 1/7, 1/8, 1/9 위치를 취하여 직선을 연결하여 교점의 위치에 데이터 영역을 위치시켜도 된다.
또한, 도 5c에 도시된 바와 같이, 모든 데이터 영역(303) 사이에는 a 픽셀의 스페이스를 배치한다. 이 배경의 단색의 스페이스를 배치함으로써 로버스트한 특성을 향상시킬 수 있다. 이미지의 열화에 의해 옆에 위치된 데이터 영역(303)에 색이 침투되는 경우가 있으며, 데이터 영역(303) 사이에 단색의 스페이스를 배치함으로써 침투의 영향을 방지할 수 있다.
본 발명의 다른 실시예에서, 도 3d, 도 4d 및 도 5d와 같이, 색상 정보와 길이 정보의 조합을 통해서, 인덱스가 코드화될 수 있다.
도 3d와 도 4d를 참조하면, 상기 S1 단계에서 서버로부터 부여된 십진수의 인덱스를 이진수의 비트열로 변환한다. 예를 들어, 인덱스가 24043(십진수)인 경우에 십진수(24043)를 이진수의 비트열로 변환하면 이진수의 비트열 "000101110111101011"이 얻어진다. 이후, 상기 이진수의 비트열을 3 비트씩 그룹핑하여 복수의 3 비트의 서브 비트열이 얻어지고, 얻어진 각각의 3 비트의 서브 비트열에 대해서 높이 정보에 의한 코드화를 수행한다.
또한, 이하에서는 높이 정보로서 8단계의 길이를 사용할 수 있다. 예를 들어, 이진수의 비트열 "000101110111101011"을 3 비트씩 그룹핑함으로써, 도 3d에 도시된 바와 같이 6 개의 3 비트의 서브 비트열이 얻어진다. 도 3d에 도시된 바와 같이, 각 3 비트의 서브 비트열은 8 단계의 길이 정보 중 어느 하나로 코드화가 수행되며, 또 다른 각 3 비트의 서브 비트열은 8 단계의 색상 정보 중 어느 하나로 코드화가 수행될 수 있다.
도 4d를 참조하면, 인덱스(십진수)를 변환하여 얻어진 이진수의 비트열로부터 얻어진 각 3비트의 서브 비트열에 대해서 8 단계 길이 정보와 8 단계 색상 정보의 조합으로 코드화를 수행함으로써 인덱스를 부호화하고, 복수의 길이 마크 및 복수의 컬러 마크를 갖는 저작권 보호 인덱스 코드 이미지를 생성할 수 있다. 또한, 도 4d의 (6), (5), (4), (3), (2), (1)은 이진수의 비트열 "000101110111101011"로부터 얻어진 6개의 3 비트의 서브 비트열 "000", "101", "110", "111", "101", "011"에 각각 대응할 수 있다.
도 4d를 참조하면, 3 비트의 서브 비트열(1)이 대응하는 컬러 마크는 R:0, G:255, B:255 값을 갖고, 3 비트의 비트열(2)이 대응하는 길이 마크는 6 단계 길이를 갖고, 3 비트의 비트열(3)이 대응하는 컬러 마크는 R:255, G:255, B:255 값을 갖고, 3 비트의 비트열(4)이 대응하는 길이 마크는 7 단계 길이를 갖고, 3 비트의 비트열(5)이 대응하는 컬러 마크는 R:255, G:0, B:255 값을 가지며, 3 비트의 비트열(6)이 대응하는 길이 마크는 1 단계 길이를 갖는다.
상기 구체적인 예에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 3비트의 비트열로 나누도록 하고, 각 3 비트의 비트열에 대해서 이진수 3 비트를 길이 및 색상에 각각 할당하여 8 개의 길이 및 8 개의 색상의 코드화를 수행하고 있다. 그러나, 본 발명의 다른 실시예에 따른 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 2 비트의 서브 비트열로 그룹핑하고, 각 2 비트의 서브 비트열에 대해서 이진수 2 비트를 4 개의 길이의 코드화를 수행할 수도 있다. 또한, 본 발명의 부호화 처리에서는 인덱스를 변환하여 얻어진 이진수의 비트열을 복수의 N(N≥2) 비트의 서브 비트열로 그룹핑하고, 각 N 비트의 서브 비트열에 대해서 이진수 N 비트를 N 개의 길이 및 색상 정보에 할당하여 2의 N 제곱(2N) 개의 길이 및 색상의 코드화를 수행할 수도 있다.
도 5a 내지 도 5c와 마찬가지로, 도 5d에서도 저작권 보호 인덱스 코드가 매립된 이미지에 포함되어 있는 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호함과 동시에 이미지 변형을 인지하며 로버스트하게 복호하기 위하여 저작권 보호 인덱스 코드가 매립된 이미지에서의 저작권 보호 인덱스 코드 영역을 정확하게 인식할 필요가 있다. 도 5d의 저작권 보호 인덱스 코드 영역(300)에 대한 설명은 모순되지 않는 한 도 5a의 저작권 보호 인덱스 코드 영역(300)에 대한 설명을 참조할 수 있다.
또한, 도 5d처럼, 길이의 코드와 색상의 코드화가 하나의 서브 비트열마다 교번하여 수행될 수도 있지만, 도 5e와 같이 8 개의 서브 비트열에 대해서 색상 코드화(AR)가 수행되고, 이후 다른 8 개의 서브 비트열에 대해서 길이 코드화(BR)가 수행될 수 있으며, 이러한 색상 코드화(AR)와 길이 코드화(BR)는 교번하여 수행될 수 있다.
<이미지 속성값 생성 방법>
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 이미지 속성값의 생성을 설명하기 위한 도면이다. 여기서, 상기 S3 단계에서 행해지는 이미지 또는 저작권 보호 인덱스 코드가 매립된 이미지에 기초하여 이미지 속성값을 생성하는 방법에 대해서 구체적으로 설명하기로 한다. 또한, 이하 이미지 속성값을 "속성값"이라 칭할 수 있다.
상술한 바와 같이, 본 발명에서는 1 개의 이미지(예: 배경 이미지 또는 저작권 보호 인덱스 코드를 포함하는 가공된 이미지)에 대해서 해당 이미지에 기초하여 생성되는 복수의 이미지 속성값이 존재할 수 있다. 하기 구체 예에서는 도 6a 내지 도 6c에 도시된 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1, P2, P3)에 기초하여 이미지 속성값 A, 이미지 속성값 B 및 이미지 속성값 C를 포함하는 3개의 이미지 속성값이 생성될 수 있다. 상기 이미지 속성값 A는 가장 많이 분포한 색상 나열 속성값이고, 상기 이미지 속성값 B는 모양 특징점 나열 속성값이며, 상기 이미지 속성값 C는 밝기 속성값이다.
이와 같이 생성된 이미지 속성값 A 및 각 영역의 이미지 속성값 B를, 도 7에 도시된 바와 같이 S1 단계에서 서버로부터 부여된 인덱스(예: 100475)와 매칭되어 데이터베이스에 저장할 수 있다.
상기 이미지 속성값 A는 이미지를 각각 RGB 영역으로 분할하여 얻어지는 세 개의 색상 레이어에서 생성할 수 있다. R 색상 레이어를 예를 들면, 우선 레이어를 도 6a 내지 도 6c와 같이 A에서 S까지 16분할한다. 그 후 A 내지 S의 영역에서 가장 많이 분포하는 색상 값을 산출하여 나열한다. 도 6c의 A영역은 노란색 (R과 G의 색상 값이 높다) 이 많이 분포하고 있으므로, R 색상 레이어의 A 영역에서는 최대치인 255에 가까운 값, 예를 들어 230이 산출 될 수 있다. 이 것을 영역별로 나열 해 가면, R 색상 레이어로부터 (230, 240, 30, 220, 34, 40, 50, 20, 0, 30, 200, 20, 120, 12, 30, 200) 의 속성 값을 산출할 수 있다. 마찬가지로, G 색상 레이어, B 색상 레이어에서 산출하여 합한 것이 속성값 A가 된다.
상기 이미지 속성값 B는 이미지에서 특징적인 모양의 픽셀 위치를 나열한 것이 된다. 예를 들면, 도 6c의 N 영역에 노란 꽃이 존재하므로, 노란 꽃의 모양을 나타내는 꽃 주변의 커브의 픽셀 위치, 예컨대, (700, 650), (690, 670), (670, 650),…, 가 산출된다. 최종적으로 이미지에서 발견 가능한 모양의 커브의 픽셀 위치를 전부 나열 함으로써 속성값 B가 산출될 수 있다.
상기 이미지 속성값 C는 이미지의 밝기를 퍼센트로 나열함으로써 산출할 수 있다. 이미지를 각각 RGB 영역으로 분할하여 얻어지는 세 개의 색상 레이어로 분할, 각 레이어를 도 6a 내지 도 6c와 같이 16분할 하고, 각 영역에서 밝은 정도를 산출 한다. 예를 들면, 도 6c 이미지의 A 영역은 R 색상에 대해서 밝으므로 100%, G 색상에 대해서도 밝으므로 100%, B 색상에 대해서는 어두우므로 0%의 값을 산 출할 수 있다. C 영역은 R 색상에 대해서 약간 밝으므로 50%, G 색상에 대해서 약간 밝으므로 50%, B 색상에 대해서 어두우므로 0%의 값을 산출할 수 있다. 각 밝기 값은 0, 50, 100%의 값을 갖는다. 이 것을 색상 레이어와 영역에 따라 나열한 것이 속성값 C가 될 수 있다.
본 발명의 일 실시예에서, 이미지 속성값 A, 이미지 속성값 B 및 이미지 속성값 C 이외에 이미지 속성값 E 및 이미지 속성값 F이 더 추가될 수 있다. 상기 이미지 속성값 E는 이미지의 비율(종횡비)이며, 상기 이미지 속성값 F는 이미지의 색 분포 정보이다.
예컨대, 도 6a 내지 도 6c에 도시된 저작권 보호 인덱스 코드(IC1, IC2, IC3) 매립된 이미지(P1, P2, P3)에 대해서 이미지의 세로 방향의 픽셀 수는 1024 픽셀이며, 이미지의 가로 방향의 픽셀 수는 1280 픽셀이며, 이미지의 종횡비를 나타내는 이미지 속성값 E는 1024/1280이 되어 0.8일 수 있다. 또한, 이미지의 색 분포 정보를 나타내는 이미지 속성값 F를 생성하기 위해서 도 6a 내지 도 6c에 도시된 바와 같이, 우선 저작권 보호 인덱스 코드(IC1, IC2, IC3) 매립된 이미지(P1, P2, P3)를 복수의 영역으로 분할한다. 저작권 보호 인덱스 코드(IC1, IC2, IC3) 매립된 이미지(P1, P2, P3)를 분할함으로써, 얻어진 각 영역(도 6a 내지 도 6c의 예에서는 영역 A, 영역 B, 영역 C, 영역 D, 영역 E, 영역 F, 영역 G, 영역 H, 영역 L, 영역 M, 영역 N, 영역 O, 영역 P, 영역 Q, 영역 R, 영역 S)에 대해서 각각의 RGB의 분포률을 이미지 속성값 F로서 산출할 수 있다.
구체적으로 어떤 영역의 이미지 속성값 F를 생성하기 위하여, 우선 해당 영역의 모든 픽셀의 R값, G값, B값을 추출하고, 다음에 추출한 R값, G값, B값이 소정의 기준 값을 초과하는 픽셀의 수를 계산한다. 또한 이하의 예에서는 128을 소정의 기준 값으로 한다.
예를 들어, 영역 D의 이미지 속성값 B를 생성하기 위한 영역 D의 총 픽셀 수는 146090(=(1024/3)×(1280/3)) 픽셀이다. 또한, 영역 D에서는 R값이 소정의 기준 값(128)을 초과하는 픽셀의 수는 46000이고, G값이 소정의 기준 값(128)을 초과하는 픽셀의 수는 4500이며, B값이 소정의 기준 값(128)을 초과하는 픽셀의 수는 1500인 경우에 영역 D에 적색계의 픽셀이 많다는 것을 알 수 있다. 상기 결과를 하기와 같이 퍼센트로 나타냄으로써 영역 D의 이미지 속성값 B를 생성할 수 있다.
영역 D의 이미지 속성값 F(R값)=46000÷146090=0.3148 = 약 31%
영역 D의 이미지 속성값 F(G값)=4500÷146090=0.038 = 약 3%
영역 D의 이미지 속성값 F(B값)=1500÷146090=0.0129 = 약 1%
즉, 어떤 영역에 대해서
해당 영역의 이미지 속성값 F(R값)=해당 영역에서의 R값이 소정의 기준 값을 초과하는 픽셀의 수÷해당 영역의 총 픽셀 수
해당 영역의 이미지 속성값 F(G값)=해당 영역에서의 G값이 소정의 기준 값을 초과하는 픽셀의 수÷해당 영역의 총 픽셀 수
해당 영역의 이미지 속성값 F(B값)=해당 영역에서의 B값이 소정의 기준 값을 초과하는 픽셀의 수÷해당 영역의 총 픽셀 수
상기에서는 구체 예에 기초하여 영역 D의 이미지 속성값 B의 생성 방법에 대해서 설명했으나, 영역 D를 제외한 다른 영역(즉 영역 A, 영역 B, 영역 C, 영역 E, 영역 F, 영역 G, 영역 H, 영역 L, 영역 M, 영역 N, 영역 O, 영역 P, 영역 Q, 영역 R, 영역 S)의 이미지 속성값 B도 상기와 동일한 방법으로 산출할 수 있다.
<이미지 열화 예>
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 열화 전의 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1, P2, P3)와 열화 후의 저작권 보호 인덱스 코드(IC1’, IC2’, IC3’)가 매립된 이미지(P1’, P2’, P3’)를 도시한다. 도 8a 내지 도 8c를 참조하면, 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1, P2, P3)가 JPEG 압축에 의해 열화되어, 저작권 보호 인덱스 코드(IC1’, IC2’, IC3’)가 매립된 이미지(P1’, P2’, P3’)로 변형될 수 있다.
도 8d 내지 도 8f는 본 발명의 일 실시예에 따른 이미지 변형 또는 코드 복제 전의 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1, P2, P3)와 이미지 변형 또는 코드 복제 후의 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1’’, P2’’, P3’’)를 도시한다. 도 8d 내지 도 8f를 참조하면, 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1, P2, P3)에서 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 복제되어 다른 이미지에 합성되어, 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1’’, P2’’, P3’’)로 복제될 수 있다. 더하여, 저작권 보호 인덱스 코드(IC1, IC2, IC3)가 매립된 이미지(P1’’, P2’’, P3’’)는 도 8a 내지 도 8c와 같이, JPEG 압축에 의해 열화될 수 있다.
열화 전의 저작권 보호 인덱스 코드 영역과 열화 후의 저작권 보호 코드 영역을 비교하면, JPEG 압축에 의한 열화 후의 저작권 보호 인덱스 코드 영역에서, 데이터 영역과 배경의 경계가 전체적으로 흐려지거나, 데이터 영역의 색과 다른 색이 데이터 영역에 침투되는 것을 알 수 있다. 즉, JPEG 압축에 의한 열화 후의 저작권 보호 인덱스 코드 영역에서 경계 소멸이나 색의 간섭 및 침투와 같은 열화 현상이 발생할 수 있다.
<저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호하는 복호화 처리>
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호하는 것을 설명하기 위한 것이다. 도 9a 내지 도 9d을 참조하면서, 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호하는 방법을 저작권 보호 인덱스 코드 이미지(저작권 보호 인덱스 코드 영역, IN1, IN2, IN3, IN4)에서의 6 개의 데이터 영역(도 9a의 (6a), (5a), (4a), (3a), (2a) 및 (1a), 도 9b의 (6b), (5b), (4b), (3b), (2b) 및 (1b), 도 9c의 (6c), (5c), (4c), (3c), (2c) 및 (1c), 도 9d의 (6), (5), (4), (3), (2) 및 (1))으로부터 이진수의 비트열(DC1, DC2, DC3, DC4)을 복호하는 처리(이하, "이진수의 비트열 복호 처리"라 함)를 예를 들어 설명한다. 저작권 보호 인덱스 코드 이미지에 존재하는 모든 데이터 영역에 대하여, 본 발명의 일 실시예에 따른 인덱스를 복호화하는 방법은 "이진수의 비트열 복호 처리"를 행함으로써 얻어진 이진수의 비트열을 십진수화하여 인덱스를 복호화할 수 있다.
도 9a를 참조하면, 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)은 JPEG 압축에 의한 열화가 없기 때문에, 열화가 없는 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)으로부터 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 길이 정보 값을 이미지 처리에 의해 산출할 수 있다.
이와 같이, 열화가 없는 데이터 영역으로부터 이미지 처리에 의해 인덱스를 부호화할 때에 길이(4 단계 길이, 6 단계 길이, 8 단계 길이, 7 단계 길이, 6 단계 길이, 1 단계 길이)에 의한 코드화를 수행함으로써 얻어진 길이(4 단계 길이, 6 단계 길이, 8 단계 길이, 7 단계 길이, 6 단계 길이, 1 단계 길이)와 동일한 길이(4 단계 길이, 6 단계 길이, 8 단계 길이, 7 단계 길이, 6 단계 길이, 1 단계 길이)을 해당 영역의 길이 정보로 획득할 수 있다. 따라서, 산출된 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)에 대응하는 길이 정보 값으로부터 이진수의 비트열 복호 처리에 의해 도 9a에 도시된 바와 같이 이진수의 비트열을 정확하게 복호할 수 있다.
예를 들어, 이진수의 비트열 복호 처리는 도 9a에 도시된 바와 같이, 열화가 없는 첫번째 데이터 영역(1a)으로부터 이미지 처리에 의해 얻어진 길이 정보는 4 단계 길이이고, 열화가 없는 두번째 데이터 영역(2a)으로부터 이미지 처리에 의해 얻어진 길이 정보는 6 단계 길이이고, 열화가 없는 세번째 데이터 영역(3a)으로부터 이미지 처리에 의해 얻어진 길이 정보는 8 단계 길이이고, 열화가 없는 네번째 데이터 영역(4a)으로부터 이미지 처리에 의해 얻어진 길이 정보는 7 단계 길이이고, 열화가 없는 다섯 번째 데이터 영역(5a)으로부터 이미지 처리에 의해 얻어진 길이 정보는 6 단계 길이이며, 열화가 없는 여섯 번째 데이터 영역(6a)으로부터 이미지 처리에 의해 얻어진 길이 정보는 1 단계 길이이다.
도 9b를 참조하면, 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)은 JPEG 압축에 의한 열화가 없기 때문에, 열화가 없는 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)으로부터 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 모양 정보 값을 이미지 처리에 의해 산출할 수 있다.
이와 같이, 열화가 없는 데이터 영역으로부터 이미지 처리에 의해 인덱스를 부호화할 때에 모양 정보(4 단계 모양, 6 단계 모양, 8 단계 모양, 7 단계 모양, 6 단계 모양, 1 단계 모양)에 의한 코드화를 행함으로써 얻어진 모양 정보(4 단계 모양, 6 단계 모양, 8 단계 모양, 7 단계 모양, 6 단계 모양, 1 단계 모양)과 동일한 길이 정보(4 단계 모양, 6 단계 모양, 8 단계 모양, 7 단계 모양, 6 단계 모양, 1 단계 모양)을 해당 영역의 모양 정보로 획득할 수 있다. 따라서, 산출된 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)에 대응하는 모양 정보 값으로부터 이진수의 비트열 복호 처리에 의해 도 9b에 도시된 바와 같이 이진수의 비트열을 정확하게 복호할 수 있다.
예를 들어, 이진수의 비트열 복호 처리는 도 9b에 도시된 바와 같이, 열화가 없는 첫번째 데이터 영역(1b)으로부터 이미지 처리에 의해 얻어진 모양 정보는 4 단계 모양이고, 열화가 없는 두번째 데이터 영역(2b)으로부터 이미지 처리에 의해 얻어진 모양 정보는 6 단계 모양이고, 열화가 없는 세번째 데이터 영역(3b)으로부터 이미지 처리에 의해 얻어진 모양 정보는 8 단계 모양이고, 열화가 없는 네번째 데이터 영역(4b)으로부터 이미지 처리에 의해 얻어진 모양 정보는 7 단계 모양이고, 열화가 없는 다섯 번째 데이터 영역(5b)으로부터 이미지 처리에 의해 얻어진 모양 정보는 6 단계 모양이며, 열화가 없는 여섯 번째 데이터 영역(6b)으로부터 이미지 처리에 의해 얻어진 모양 정보는 1 단계 모양이다.
도 9c를 참조하면, 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)은 JPEG 압축에 의한 열화가 없기 때문에, 열화가 없는 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)으로부터 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 R값, G값, 및 B값에 의한 컬러화를 행함으로써 얻어진 R값, G값, 및 B값과 동일한 R값, G값, 및 B값을 이미지처리에 의해 산출할 수 있다. 상기 R값, G값, 및 B값은 도 9c에 도시된 데이터 영역 (6c), (5c), (4c), (3c), (2c), (1c)에 대응하는 값일 수 있다.
이와 같이, 열화가 없는 데이터 영역으로부터 이미지처리에 의해 인덱스를 부호화할 때에 색상 정보(R값, G값, 및 B값)에 의한 컬러화를 행함으로써 얻어진 색 상 정보(R값, G값, 및 B값)과 동일한 색상 정보(R값, G값, 및 B값)을 해당 영역의 색상 정보로 획득할 수 있다. 따라서, 산출된 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)에 대응하는 R값, G값, 및 B값으로부터 이진수의 비트열 복호 처리에 의해 도 9c에 도시된 바와 같이 이진수의 비트열을 정확하게 복호할 수 있다.
예를 들어, 이진수의 비트열 복호 처리는 도 9c에 도시된 바와 같이, 열화가 없는 첫번째 데이터 영역(1c)으로부터 이미지 처리에 의해 얻어진 R값은 "0", G값은 "255", 및 B값은 "255"일 수 있으며, 이들 값을 기초로 하여 R값에 대응하는 첫 번째 비트의 값을 "0", G값에 대응하는 두 번째 비트의 값을 "1", B값에 대응하는 세 번째 비트의 값을 "1"로 할 수 있다. 열화가 없는 두번째 데이터 영역(2c)으로부터 이미지 처리에 의해 얻어진 R값은 "255", G값은 "0", B값은 "255"일 수 있으며, 이들 값을 기초로 하여 R값에 대응하는 첫 번째 비트의 값을 "1", G값에 대응하는 두 번째 비트의 값을 "0", B값에 대응하는 세 번째 비트의 값을 "1"로 할 수 있다. 열화가 없는 세번째 데이터 영역(3c)으로부터 이미지 처리에 의해 얻어진 R값은 "255", G값은 "255", B값은 "255"일 수 있으며, 이들 값을 기초로 R값에 대응하는 첫 번째 비트의 값을 "1", G값에 대응하는 두 번째 비트의 값을 "1", B값에 대응하는 세 번째 비트의 값을 "1"로 할 수 있다. 열화가 없는 네번째 데이터 영역(4c)으로부터 이미지 처리에 의해 얻어진 R값은 "255", G값은 "255", B값은 "0"일 수 있고, 이들 값을 기초로 R값에 대응하는 첫 번째 비트의 값을 "1", G값에 대응하는 두 번째 비트의 값을 "1", B값에 대응하는 세 번째 비트의 값을 "0"로 할 수 있다. 열화가 없는 다섯번 째 데이터 영역(5c)으로부터 이미지 처리에 의해 얻어진 R값은 "255", G값은 "0", B값은 "255"일 수 있고, 이들 값을 기초로 하여 R값에 대응하는 첫 번째 비트의 값을 "1", G값에 대응하는 두 번째 비트의 값을 "0", B값에 대응하는 세 번째 비트의 값을 "1"으로 할 수 있으며, 열화가 없는 여섯 번째 데이터 영역(6c)으로부터 이미지 처리에 의해 얻어진 R값은 "0", G값은 "0", B값은 "0"이기 때문에, R값에 대응하는 첫 번째 비트의 값을 "0", G값에 대응하는 두 번째 비트의 값을 "0", B값에 대응하는 세 번째 비트의 값을 "0"로 한다.
도 9d를 참조하면, 데이터 영역(6), (5), (4), (3), (2), (1)은 JPEG 압축에 의한 열화가 없기 때문에, 열화가 없는 데이터 영역(6), (5), (4), (3), (2), (1)으로부터 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 길이 정보 값을 이미지 처리에 의해 산출할 수 있다.
이와 같이, 열화가 없는 데이터 영역으로부터 이미지 처리에 의해 인덱스를 부호화할 때에 길이 정보 및 색상 정보(R값, G값, 및 B값)(R:0, G:255, B:255의 색상, 6 단계 길이, R: 255, G:255, B:255의 색상, 7 단계 길이, R: 255, G:0, B:255의 색상, 1 단계 길이)에 의한 코드화를 행함으로써 얻어진 길이 정보 및 색상 정보(R값, G값, 및 B값)(R:0, G:255, B:255의 색상, 6 단계 길이, R: 255, G:255, B:255의 색상, 7 단계 길이, R: 255, G:0, B:255의 색상, 1 단계 길이)과 동일한 길이 정보 및 색상 정보를 해당 영역의 길이 또는 색상 정보로 획득할 수 있다. 따라서, 산출된 데이터 영역(6), (5), (4), (3), (2), (1)에 대응하는 길이 또는 색상 정보 값으로부터 이진수의 비트열 복호 처리에 의해 도 9d에 도시된 바와 같이 이진수의 비트열을 정확하게 복호할 수 있다.
예를 들어, 이진수의 비트열 복호 처리는 도 9d에 도시된 바와 같이, 열화가 없는 첫번째 데이터 영역(1)으로부터 이미지 처리에 의해 얻어진 색상 정보는 R:0, G:255, B:255이고, 열화가 없는 두번째 데이터 영역(2)으로부터 이미지 처리에 의해 얻어진 길이 정보는 6 단계 길이이고, 열화가 없는 세번째 데이터 영역(3)으로부터 이미지 처리에 의해 얻어진 색상 정보는 R:255, G:255, B:255이고, 열화가 없는 네번째 데이터 영역(4)으로부터 이미지 처리에 의해 얻어진 길이 정보는 7 단계 길이이고, 열화가 없는 다섯 번째 데이터 영역(5)으로부터 이미지 처리에 의해 얻어진 색상 정보는 R:255, G:0, B:255이며, 열화가 없는 여섯 번째 데이터 영역(6)으로부터 이미지 처리에 의해 얻어진 길이 정보는 1 단계 길이이다.
<이미지 변경후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때의 문제점>
열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호화할 때 데이터 영역에 압축에 의한 열화가 있을 수 있으므로, 열화가 있는 데이터 영역으로부터 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대하여 코드화를 행함으로써, 획득된 열화가 있는 데이터 영역들의 길이 정보, 모양 정보, 또는 색상 정보 값을 획득할 수 있다.
도 10a 내지 도 12b는 본 발명의 일 실시예에 따른 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호하는 것을 설명하기 위한 것이다.
도 10a 및 도 10b를 참조하면, 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때에, 도 9a의 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)에 JPEG 압축에 의한 열화로 인해, 상기 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)으로부터 이미지 처리에 의해 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 길이에 의한 코드화를 행함으로써 얻어진 길이 정보(열화가 있는 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)에 대응하는 길이 정보)을 산출하게 된다. 이때, 열화가 있는 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)에 대응하는 길이 정보로부터 정답 이진수의 비트열과 다른 이진수의 비트열을 복호화할 수 있다. 도 10a에 도시된 바와 같이, 산출된 열화가 있는 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)에 대응하는 길이 정보는 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 길이에 의한 코드화를 행함으로써 얻어진 길이 정보와 다르기 때문에, 정답 이진수의 비트열과 다른 이진수의 비트열이 복호화될 수 있다.
본 발명의 일 실시예에서, 열화가 있는 데이터 영역의 측정된 픽셀 길이 값과 가장 가까운 기정의된 픽셀 길이를 후보 그룹으로부터 선택하여 이진수의 비트열을 복호할 수 있다. 예컨대, 해당 데이터 영역의 측정된 픽셀 길이가 14 픽셀인 경우, 8 픽셀, 16 픽셀, 24 픽셀, 32 픽셀, 40 픽셀, 48 픽셀, 56 픽셀 64 픽셀을 포함하는 후보 그룹으로부터, 14 픽셀과 가장 유사한 16 픽셀(2 단계 길이)를 선택함으로써, 해당 데이터 영역의 길이 정보는 2 단계 길이에 대응하는 서브 비트열(001)로 복호화될 수 있다.
또한, 본 발명은 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때에 이원화 알고리즘에 기초하여 생성된 이진수의 비트열 후보군을 정의하여, 상기 이진수의 비트열 후보군을 검증하여 정답 인덱스를 획득할 수 있다. 그러므로, 열화 후의 저작권 보호 인덱스 코드 이미지의 매립 장소가 되는 이미지의 모든 이미지 속성값을 충족하는 인덱스 후보를 획득할 수 있다.
본 발명에서는 이와 같이 정답 인덱스로서 선출한 인덱스 후보를 복호화된 인덱스로 설정함으로써, 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 로버스트하게 복호화할 수 있다. 이하에서는, 열화 후의 저작권 보호 코드 이미지로부터 인덱스를 로버스트하게 복호하는 로버스트 복호화 처리에서 인덱스 후보군을 생성하는 인덱스 후보군 생성 처리에 대해서 설명한다. 일 실시예에서는, 허용 오차 범위에 기준으로, 이원화 알고리즘에 의해 인덱스 후보군들이 생성될 수 있다.
다시 도 10a 및 도 10b를 참조하면, 먼저, 열화가 있는 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)으로부터 이미지 처리에 의해 각각 대응하는 길이 정보를 산출한다. 열화가 있는 데이터 영역으로부터 이미지 처리에 의해 산출된 길이 정보 값은 인덱스를 부호화할 때에 각 3 비트의 비트열에 대해서 길이에 의한 코드화를 행함으로써 얻어진 길이 정보 값과 다를 수 있다. 이후, 산출된 열화가 있는 데이터 영역에 대응하는 길이 정보 값으로부터 오차 허용 범위에 기반하여 이진수의 비트열을 복호화 하도록 하고 있으며, 여기서, 오차 허용 범위는 0 내지 30%일 수 있다.
본 발명의 로버스트 복호화 처리에서는 열화가 있는 데이터 영역에 대응하는 길이 정보 값은 본 발명의 이원화 알고리즘에 기초하여, 허용 오차 범위 내에서 적어도 하나 이상의 후보 길이 정보 값으로 선택될 수 있다. 일 실시예에서는, 도 10a의 열화가 있는 데이터 영역(2a)에 대응하는 길이 정보는 허용 오차 범위 내에서 서브 비트열(101)에 대응하는 6 단계 길이와 서브 비트열(100)에 대응하는 5 단계 길이를 포함할 수 있으며, 도 10a의 열화가 있는 데이터 영역(3a)에 대응하는 길이 정보는 허용 오차 범위 내에서 서브 비트열(111)에 대응하는 8 단계 길이와 서브 비트열(110)에 대응하는 7 단계 길이를 포함할 수 있다.
이와 같이, 열화가 있는 데이터 영역(6a), (5a), (4a), (3a), (2a), (1a)에 대응하는 길이 정보 값으로부터 이원화 알고리즘에 기초하여 4 개의 이진수의 비트열로 구성하는 이진수의 비트열 후보군이 생성(설정)될 수 있다. 구현에 있어서, 허용 오차 범위에 따라서, 비트열 후보군은 4 개 이상 또는 4개 이하일 수 있다.
도 10b는 도 10a에 도시된 이진수의 비트열 후보군과, 해당 이진수의 비트열 후보군을 구성하는 각 이진수의 비트열 후보를 십진수화 함으로써 얻어진 각 인덱스 후보로 구성되는 인덱스 후보군을 나타내는 것이다.
도 10b를 참조하면, 이진수의 비트열 후보 A로부터 얻어진 인덱스 후보는 24043이며, 이진수의 비트열 후보 B로부터 얻어진 인덱스 후보는 23979이며, 이진수의 비트열 후보 C로부터 얻어진 인덱스 후보는 24035이며, 이진수의 비트열 후보 D로부터 얻어진 인덱스 후보는 23971이다.
도 11a 및 도 11b를 참조하면, 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때에, 도 9b의 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)에 JPEG 압축에 의한 열화로 인해, 상기 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)으로부터 이미지 처리에 의해 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 길이에 의한 코드화를 행함으로써 얻어진 길이 정보(열화가 있는 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)에 대응하는 길이 정보)을 산출하게 된다. 이때, 열화가 있는 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)에 대응하는 길이 정보로부터 정답 이진수의 비트열과 다른 이진수의 비트열을 복호화할 수 있다. 도 11a에 도시된 바와 같이, 산출된 열화가 있는 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)에 대응하는 모양 정보는 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 모양에 의한 코드화를 행함으로써 얻어진 모양 정보와 다르기 때문에, 정답 이진수의 비트열과 다른 이진수의 비트열이 복호화될 수 있다.
본 발명의 일 실시예에서, 열화가 있는 데이터 영역의 검출된 모양 값과 가장 유사한 모양 값을 후보 그룹으로부터 선택하여 이진수의 비트열을 복호할 수 있다. 예컨대, 해당 데이터 영역의 모양이 동그라미 도형에 대응하는 모양으로 검출되는 경우, 1 단계 모양, 2 단계 모양, 3 단계 모양, 4 단계 모양, 5 단계 모양, 6 단계, 7 단계 모양, 8 단계 모양을 포함하는 후보 그룹으로부터, 동그라미 도형에 대응하는 6단계 모양을 선택함으로써, 해당 데이터 영역의 모양은 6 단계 모양에 대응하는 서브 비트열(101)로 복호화될 수 있다.
또한, 본 발명은 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때에 이원화 알고리즘에 기초하여 생성된 이진수의 비트열 후보군을 정의하여, 상기 이진수의 비트열 후보군을 검증하여 정답 인덱스를 획득할 수 있다. 그러므로, 열화 후의 저작권 보호 인덱스 코드 이미지의 매립 장소가 되는 이미지의 모든 이미지 속성값을 충족하는 인덱스 후보를 획득할 수 있다.
본 발명에서는 이와 같이 정답 인덱스로서 선출한 인덱스 후보를 복호화된 인덱스로 설정함으로써, 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 로버스트하게 복호화할 수 있다. 이하에서는, 열화 후의 저작권 보호 코드 이미지로부터 인덱스를 로버스트하게 복호하는 로버스트 복호화 처리에서 인덱스 후보군을 생성하는 인덱스 후보군 생성 처리에 대해서 설명한다. 일 실시예에서는, 허용 오차 범위에 기준으로, 이원화 알고리즘에 의해 인덱스 후보군들이 생성될 수 있다.
다시 도 11a 및 도 11b를 참조하면, 먼저, 열화가 있는 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)으로부터 이미지 처리에 의해 각각 대응하는 길이 정보를 산출한다. 열화가 있는 데이터 영역으로부터 이미지 처리에 의해 산출된 길이 정보 값은 인덱스를 부호화할 때에 각 3 비트의 비트열에 대해서 모양에 의한 코드화를 행함으로써 얻어진 길이 정보 값과 다를 수 있다. 이후, 산출된 열화가 있는 데이터 영역에 대응하는 모양 정보 값으로부터 오차 허용 범위에 기반하여 이진수의 비트열을 복호화 하도록 하고 있으며, 여기서, 오차 허용 범위는 0 내지 30%일 수 있다.
본 발명의 로버스트 복호화 처리에서는 열화가 있는 데이터 영역에 대응하는 길이 정보 값은 본 발명의 이원화 알고리즘에 기초하여, 허용 오차 범위 내에서 적어도 하나 이상의 후보 길이 정보 값으로 선택될 수 있다. 일 실시예에서는, 도 11a의 열화가 있는 데이터 영역(2b)에 대응하는 모양 정보는 허용 오차 범위 내에서 서브 비트열(101)에 대응하는 6 단계 모양과 서브 비트열(001)에 대응하는 3 단계 모양을 포함할 수 있으며, 도 11a의 열화가 있는 데이터 영역(3b)에 대응하는 모양 정보는 허용 오차 범위 내에서 서브 비트열(111)에 대응하는 8 단계 모양과 서브 비트열(000)에 대응하는 1 단계 모양을 포함할 수 있다.
이와 같이, 열화가 있는 데이터 영역(6b), (5b), (4b), (3b), (2b), (1b)에 대응하는 길이 정보 값으로부터 이원화 알고리즘에 기초하여 4 개의 이진수의 비트열로 구성하는 이진수의 비트열 후보군이 생성(설정)될 수 있다. 구현에 있어서, 허용 오차 범위에 따라서, 비트열 후보군은 4 개 이상 또는 4 개 이하일 수 있다.
도 11b는 도 11a에 도시된 이진수의 비트열 후보군과, 해당 이진수의 비트열 후보군을 구성하는 각 이진수의 비트열 후보를 십진수화 함으로써 얻어진 각 인덱스 후보로 구성되는 인덱스 후보군을 나타내는 것이다.
도 11b를 참조하면, 이진수의 비트열 후보 A로부터 얻어진 인덱스 후보는 24043이며, 이진수의 비트열 후보 B로부터 얻어진 인덱스 후보는 23979이며, 이진수의 비트열 후보 C로부터 얻어진 인덱스 후보는 24035이며, 이진수의 비트열 후보 D로부터 얻어진 인덱스 후보는 23971이다.
도 12a 및 도 12b를 참조하면, 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때에, 도 9c의 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)에 JPEG 압축에 의한 열화로 인해, 상기 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)으로부터 이미지 처리에 의해 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 R값, G값, 및 B값에 의한 컬러화를 행함으로써 얻어진 R값, G값, 및 B값과 다른 R값, G값, 및 B값(도 12a에 도시된 열화가 있는 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)에 대응하는 R값, G값, 및 B값)을 산출하게 된다. 이때, 열화가 있는 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)에 대응하는 R값, G값, 및 B값으로부터 정답 이진수의 비트열과 다른 이진수의 비트열을 복호하게 될 수 있다. 도 12a에 도시된 바와 같이, 산출된 열화가 있는 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)에 대응하는 R값, G값, 및 B값은 인덱스를 부호화할 때에 각 3 비트의 서브 비트열에 대해서 R값, G값, 및 B값에 의한 컬러화를 행함으로써 얻어진 R값, G값, 및 B값과 다르기 때문에, 정답 이진수의 비트열과 다른 이진수의 비트열이 복호화될 수 있다.
본 발명의 일 실시예에서, 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값으로부터 소정의 기준 값에 기초하여 이진수의 비트열을 복호하도록 하고 있으며, 또한 소정의 기준 값으로서 예를 들어 128을 사용한다. 즉, 열화가 있는 데이터 영역에 대응하는 R값이 소정 기준 값 이상(128 이상)인 경우에 R값으로부터 복호되는 비트의 비트 값을 "1"로 한다. 열화가 있는 데이터 영역에 대응하는 R값이 소정의 기준 값 미만(128 미만)인 경우에 R값으로부터 복호되는 비트의 비트 값을 "0"으로 한다. 마찬가지로 열화가 있는 데이터 영역에 대응하는 G값이 소정의 기준 값 이상(128 이상)인 경우에 G값으로부터 복호되는 비트의 비트 값을 "1"로 한다. 열화가 있는 데이터 영역에 대응하는 G값이 소정의 기준 값 미만(128 미만)인 경우에 G값으로부터 복호되는 비트의 비트 값을 "0"으로 한다. 또한 열화가 있는 데이터 영역에 대응하는 B값이 소정의 기준 값 이상(128 이상)인 경우에 B값으로부터 복호되는 비트의 비트 값을 "1"로 한다. 열화가 있는 데이터 영역에 대응하는 B값이 소정의 기준 값 미만(128 미만)인 경우에 B값으로부터 복호되는 비트의 비트 값을 "0"으로 한다.
또한, 본 발명은 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호할 때에 이원화 알고리즘에 기초하여 생성된 이진수의 비트열 후보군을 정의하여, 상기 이진수의 비트열 후보군을 검증하여 정답 인덱스를 획득할 수 있다. 그러므로, 열화 후의 저작권 보호 인덱스 코드 이미지의 매립 장소가 되는 이미지의 모든 이미지 속성값을 충족하는 인덱스 후보를 획득할 수 있다.
본 발명에서는 이와 같이 정답 인덱스로서 선출한 인덱스 후보를 복호화된 인덱스로 설정함으로써, 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 로버스트하게 복호화할 수 있다. 이하에서는, 열화 후의 저작권 보호 코드 이미지로부터 인덱스를 로버스트하게 복호하는 로버스트 복호화 처리에서 인덱스 후보군을 생성하는 인덱스 후보군 생성처리에 대해서 설명한다.
일 실시예에서는, 소정의 기준에 의하여, 소정의 기준 값인 128을 기준으로 하여 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값으로부터 이진수의 비트열에서의 어떤 비트를 바르게 복호할 수 없는 경우에 본 발명의 독자적인 이원화 알고리즘에 기초한 로버스트 복호화 처리를 이용하여 바르게 복호화할 수 있다. 다른 실시예에서는, 소정의 기준 값에 의하여 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값으로부터 이진수의 비트열에서의 어떤 비트의 비트 값을 "1" 또는 "0"으로 하는 판정이 불가능한 경우에 본 발명의 이원화 알고리즘에 기초한 로버스트 복호화 처리를 이용하면 바르게 복호화할 수 있다.
다시 도 12a 및 도 12b를 참조하면, 먼저, 열화가 있는 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)으로부터 이미지 처리에 의해 각각 대응하는 R값, G값, 및 B값을 산출한다. 열화가 있는 데이터 영역으로부터 이미지 처리에 의해 산출된 R값, G값, 및 B값은 인덱스를 부호화할 때에 각 3 비트의 비트열에 대해서 R값, G값, 및 B값에 의한 컬러화를 행함으로써 얻어진 R값, G값, 및 B값과 다를 수 있다. 이후, 산출된 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값으로부터 제 1 기준 값 - 제 2 기준 값(단, 제 1 기준 값<제 2 기준 값)과 같은 소정의 기준범위에 기초하여 이진수의 비트열을 복호화 하도록 하고 있으며, 여기서, 예를 들어 제 1 기준 값을 100, 제 2 기준 값을 200으로 하는 경우에 소정의 기준범위는 100 내지 200이 된다.
본 발명의 로버스트 복호화 처리에서는 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값이 소정의 기준 범위 내인 경우(예를 들어 100 내지 200 사이에 있는 경우)에 본 발명의 이원화 알고리즘에 기초하여 대응하는 비트 값을 "0"과 "1"의 두 가지로 할 수 있다. 일 실시예에서는, 도 12a의 열화가 있는 데이터 영역(2c)에 대응하는 R값(118)에 대응하는 비트의 비트 값을 "0"과 "1"의 두 가지로 하고 있으며, 또한 도 12a의 열화가 있는 데이터 영역(3a)에 대응하는 G값(175)에 대응하는 비트 값도 "0"과 "1"의 두 가지로 하고 있다.
다른 실시예에서는, 본 발명의 로버스트 복호화 처리에서는 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값이 제 1 기준 값 미만인 경우에 대응하는 비트의 비트 값을 "0"으로 한다. 또한, 열화가 있는 데이터 영역에 대응하는 R값, G값, 및 B값이 제2 기준 값보다 큰 경우에 대응하는 비트의 비트 값을 "1"로 할 수 있다. 이와 같이, 열화가 있는 데이터 영역(6c), (5c), (4c), (3c), (2c), (1c)에 대응하는 R값, G값, 및 B값으로부터 본 발명의 독자적인 이원화 알고리즘에 기초하여 4개의 이진수의 비트열로 구성하는 이진수의 비트열 후보군이 생성(설정)될 수 있다.
도 12b는 도 12a에 도시된 이진수의 비트열 후보군과, 해당 이진수의 비트열 후보군을 구성하는 각 이진수의 비트열 후보를 십진수화 함으로써 얻어진 각 인덱스 후보로 구성되는 인덱스 후보군을 나타내는 것이다.
도 12b를 참조하면, 이진수의 비트열 후보 A로부터 얻어진 인덱스 후보는 24043이며, 이진수의 비트열 후보 B로부터 얻어진 인덱스 후보는 23883이며, 이진수의 비트열 후보 C로부터 얻어진 인덱스 후보는 24011이며, 이진수의 비트열 후보 D로부터 얻어진 인덱스 후보는 23915이다.
전술한 바와 같이, 본 발명에서는 인덱스 후보군 생성 처리를 이용하여 열화 후의 저작권 보호 인덱스 코드 이미지에서 열화가 있는 데이터 영역에 대응하는 길이 정보, 모양 정보 또는 색상 정보로부터 이원화 알고리즘에 기초하여 이진수의 비트열 후보군을 생성할 수 있다. 이후, 상기 생성된 이진수의 비트열 후보군으로부터 열화 후의 저작권 보호 인덱스 코드 이미지에서 열화가 있는 데이터 영역에 대응하는 인덱스 후보군을 산출할 수 있다. 상술한 과정은 열화 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 로버스트하게 복호하는 로버스트 복호화 처리에서 인덱스 후보군 생성 처리에 의한 인덱스 후보군의 생성에 대한 것이다. 후술할 설명에서는 이러한 "열화 후의 저작권 보호 코드 이미지에서의 모든 열화가 있는 데이터 영역에 대응하는 인덱스 후보군"을 "인덱스 후보군"이라고 지칭하기로 한다.
도 13은 본 발명의 일 실시예에 따른 열화 후의 저작권 보호 인덱스 코드가 매립된 이미지에 기초하여 생성된 복수의 제 1 이미지 속성값의 일례를 도시하는 것이다.
도 13을 참조하면, 저작권 보호 인덱스 코드(IN3) 매립된 이미지(P3’’)를 복수의 영역으로 분할되어, 영역 A, 영역 B, 영역 C, 영역 D, 영역 E, 영역 F, 영역 G, 영역 H, 영역 L, 영역 M, 영역 N, 영역 O, 영역 P, 영역 Q, 영역 R, 영역 S으로 정의된다. 또한, 각각의 영역에 대해 이미지 속성값(IA)이 정의될 수 있다.
예컨대, 영역 A는 가장 많이 분포된 색상 나열 속성값 A: (R값) (250, 230, 128,…,), (G값) (150, 120, 168,…,), (B값) (0, 30, 40,…,), 모양 특징점 나열 속성값 B: (X 픽셀, Y 픽셀)(10, 10), (15, 12), (14, 13),…, 그리고 밝기 속성값 C: (R값) 50%, (G값) 100%, (B값) 0%를 포함할 수 있다. 마찬가지로, 영역 B는 가장 많이 분포된 색상 나열 속성값 A: (R값) (250, 240, 245,…,), (G값) (100, 110, 80,…,), (B값) (0, 40, 80,…,), 모양 특징점 나열 속성값 B: (X 픽셀, Y 픽셀)(50, 50), (40, 10), (16, 74),…, 그리고 밝기 속성값 C: (R값) 50%, (G값) 50%, (B값) 50%를 포함할 수 있다. 이러한 각각의 영역에 대한 속성값들은 하나의 예일 뿐, 이미지의 내용에 따라 다양하게 나타날 수 있다.
도 14는 본 발명의 일 실시예에 따른 데이터베이스에 저장되어 있는 복수의 인덱스와, 이들 인덱스와 매칭되어 있는 이미지 속성값을 모식적으로 도시하는 것이다.
도 14를 참조하면, 저작권 보호 인덱스 코드 이미지가 매립될 배경 이미지에 대해서 각각 인덱스가 서버에 의해 부여될 수 있으며, 전술한 바와 같이, 저작권 보호 인덱스 코드 이미지가 매립된 가공된 이미지는 다수의 영역으로 분할되어 영역별로 정의된 이미지 속성값(속성값 A, 속성값 B, 속성값 C)을 갖는다. 본 발명은 이들에 제한되지 않으며, 저작권 보호를 위한 정보로서 활용될 수 있는 다양한 속성값이 더 추가될 수도 있다.
<이미지 변경 또는 복제 후의 저작권 보호 인덱스 코드 이미지로부터 인덱스를 복호화 처리에서의 검증>
본 발명에서는 저작권 보호 인덱스 코드가 매립된 이미지에 대한 복수의 이미지 속성값을 이용하여 저작권 보호 인덱스 코드 이미지로부터의 열화, 이미지 변경 정도, 코드 복제 정도를 인지하고 대응할 수 있다. 또한, 인덱스 후보군에 대해서 인덱스 후보군 검증 처리를 수행함으로써, 상기 인덱스 후보군에 포함되는 인덱스 후보를 검증하여 개수를 줄일 수도 있다.
도 15는 저작권 보호 인덱스 코드 이미지에서 이미지 변경의 검증 처리의 흐름을 도시하는 순서도이다.
도 15를 참조하면, 이미지 변경 또는 복제 검증 처리는, 우선 열화 후의 저작권 보호 인덱스 코드가 매립된 가공된 이미지에 기반하여, 해당 열화 후의 저작권 보호 인덱스 코드가 매립된 가공된 이미지의 복수의 이미지 속성값(이하 ‘제 1 복수의 이미지 속성값’이라 칭함)을 생성한다(S11 단계). 또한, S11 단계에서, 열화 후의 저작권 보호 인덱스 코드가 매립된 가공된 이미지로부터 제 1 복수의 이미지 속성값을 생성할 때 상술한 S3 단계에서 행해지는 <이미지 속성값 생성 처리>와 동일한 처리 절차로 제 1 복수의 이미지 속성값을 생성하도록 하고 있다. 또한 S11 단계에서 생성된 제 1 복수의 이미지 속성값의 일례를 도 13에 도시하고 있다.
저작권 보호 인덱스 코드 이미지로부터 인덱스를 추출하고, 추출된 인덱스를 이용하여 데이터베이스에 접속할 수 있다(S12 단계). S12 단계는 전술한 도 9a 내지 도 9d의 복호화 처리를 포함할 수 있다. 일 실시예에서, S12 단계가 수행되고 다음에 S11 단계가 수행되거나, S11 단계와 S11 단계는 동시에 수행될 수 있다.
S13 단계에서, 데이터베이스에 추출된 인덱스가 존재하고 있다고 판정된 경우, S14 단계로 이동하고, 데이터베이스에 추출된 인덱스가 존재하지 않는 경우, S19 단계로 이동할 수 있다.
S14 단계에서, 인덱스 후보와 매칭되어 있는 복수의 이미지 속성값(이하 제 2 복수의 이미지 속성값"이라 칭함)을 데이터베이스로부터 독출하고, S11 단계에서 생성된 제 1 복수의 이미지 속성값과, S14 단계에서 상기 독출된 제 2 복수의 이미지 속성값을 각각 비교하여, 얻어진 각각의 속성값 차이가 각 소정의 오차 허용 범위 내에 포함되는지를 판단한다(단계 S15, 이하 제 1 검증 처리라 칭함). S16 단계에서 각각의 속성값 차이가 적어도 일부가 각 오차 허용 범위 내에 있다고 판정된 경우, 저작권 보호 인덱스 코드 이미지에서 악의적인 이미지 변경 또는 코드 복제가 발생되지 않았다고 판단하고 S17단계로 이동한다. 만약 소정의 오차 허용 범위를 벗어날 경우는 S19 단계로 이동한다.
S17 단계에서 저작권 보호 인덱스 코드가 매립된 원본 이미지 또는 배경 이미지를 데이터베이스로부터 독출하고, S18 단계에서 서버로부터 독출된 원본 이미지와 S11 단계의 상기 가공된 이미지를 비교하여 이미지 변형 또는 코드 복제가 발생된 것으로 판단할 수 있다(이하, 제 2 검증 처리라 칭함).
S19 단계에서는 원본 이미지에 대해서 이미지 복제 또는 변형이 발생한 것으로 판단하여, 이미지 복제 또는 변형에 따라 해당 동작을 수행할 수 있다. 예컨대, 해당 동작은 획득된 저작권 보호 인덱스 코드가 매립된 가공된 이미지가 변형 또는 복제된 것임을 사용자에게 알려주거나 또는 현재 진행 중인 절차를 종료한다.
본 발명에서, 제 1 검증 처리(S15) 단계만으로 저작권 보호 인덱스 코드 이미지에서 악의적인 이미지 변경 또는 코드 복제가 발생되지 않았다고 판단할 수 있지만, 판단 오류를 향상시키기 위해서, 제 1 검증 처리 단계 후에 제 2 검증 처리(S18) 단계가 추가적으로 수행될 수 있다. 예컨대, 상기 제 1 검증 처리를 통해 90% 내지 95% 범위 내에서 판단 가능 하며, 상기 제 2 검증 처리를 통해 99.99% 이상으로 판단 가능하다.
다시 도 13 내지 도 14를 참조하여, 저작권 보호 인덱스 코드가 매립된 가공된 이미지 변경 또는 코드 복제에 대한 검증 처리의 구체적인 예를 설명한다. 열화 후의 저작권 보호 인덱스 이미지로부터 십진수 ‘100475’가 추출됨을 가정한다.
도 13을 참조하면, 제 1 복수의 이미지 속성값으로는 제 1 이미지 속성값(즉 영역 A의 속성값 A(R값):(250,230,128,…), 영역 A의 속성값 A(G값):(150,120,168,…), 영역 A의 속성값 A(B값):(0,30,40,…), 영역 A의 속성값 B:(10,10),(15,12),(14,13),…, 영역 A의 속성값 C(R값):100%, 영역 A의 속성값 C(G값):50%, 영역 A의 속성값 C(B값):0%, 영역 B의 속성값 A(R값):(250,240,245, …), 영역 B의 속성값 A(G값):(100,110,80,…), 영역 B의 속성값 A(B값):(0,40,80,…), 영역 B의 속성값 B:(50,50),(40,10),(16,74),…, 영역 B의 속성값 C(R값):50%, 영역 B의 속성값 C(G값):50%, 영역 B의 속성값 C(B값):0%)을 이용한다.
일 실시예에서, 속성값 A의 6 개의 제 1 이미지 속성값(즉 영역 A의 속성값 A(R값), 영역 A의 속성값 A(G값), 영역 A의 속성값 A(B값), 영역 B의 속성값 A(R값), 영역 B의 속성값 A(G값), 영역 B의 속성값 A(B값))의 나열의 동일함이 60% 이상일 때 동일하다고 할 수 있다. 또한, 속성값 B의 제 1 이미지 속성값은 각 특징 위치의 동일함이 60% 이상일 때 동일하다고 할 수 있다. 또한, 속성값 C의 6개의 제 1 이미지 속성값(즉 영역 A의 속성값 C(R값), 영역 A의 속성값 C(G값), 영역 A의 속성값 C(B값), 영역 B의 속성값 C(R값), 영역 B의 속성값 C(G값), 영역 B의 속성값 C(B값))에 따른 동일함을 100%로 할 수 있다. 이와 같이, 복호화 처리를 통해, 인덱스 ‘100475’는 데이터베이스에 존재하고 있다고 판정되며, 인덱스 ‘100475’와 매칭되어 있는 복수의 이미지 속성값(제 2 복수의 이미지 속성값)을 데이터베이스로부터 읽어낼 수 있다.
도 14를 참조하면, 이미지 속성값은 데이터베이스로부터 읽어내어 획득할 수 있다. 예를 들면, 인덱스 100475와 매칭되어 있는 14 개의 제 2 이미지 속성값은 영역 A의 속성값 A(R값):(250,230,128,…), 영역 A의 속성값 A(G값):(150,120,168,…), 영역 A의 속성값 A(B값):(0,30,40,…), 영역 A의 속성값 B:(10,10),(15,12),(14,13),…, 영역 A의 속성값 C(R값):100%, 영역 A의 속성값 C(G값):50%, 영역 A의 속성값 C(B값):0%, 영역 B의 속성값 A(R값):(250,240,245, …), 영역 B의 속성값 A(G값):(100,110,80,…), 영역 B의 속성값 A(B값):(0,40,80,…), 영역 B의 속성값 B:(50,50),(40,10),(16,74),…, 영역 B의 속성값 C(R값):50%, 영역 B의 속성값 C(G값):50%, 영역 B의 속성값 C(B값):0%일 수 있다.
이와 같이, 제 1 검증 처리로서, 14개의 제 1 이미지 속성값과 14개의 제 2 이미지 속성값을 각각 비교하여, 얻어진 각각의 속성값 동일함이 모두 각 소정의 범위 내(즉 60%이상, 60%이상, 60%이상, 60%이상, 100%, 100%, 100%)에 있는지 여부가 판단된다.
일 실시예에서는, 제 1 이미지 속성값과 제 2 이미지 속성값을 비교하는 1차 검증에 이어 이미지와 이미지를 직접 비교하는 제 2 검증 처리를 통해 이미지 변경을 감지할 수 있다. 일 실시예에서는 열화되지 않은 저작권 보호 인덱스 코드 이미지를 다운로드하여, 이미지와 이미지를 픽셀 단위로 직접 비교하여 동일한 이미지임을 증명하는 2차 검증 처리를 실시할 수 있다. 데이터베이스에서 인덱스 ‘100475’의 열화되지 않은 저작권 보호 인덱스 코드를 매립한 이미지를 다운로드하여, 도 13의 열화 후의 저작권 보호 인덱스 코드가 매립된 가공된 이미지와 PSNR 측정 또는 패턴 매칭을 실시한다. 적어도 하나의 결과치가 소정의 범위(즉, PSNR의 결과치가 16db이상, 패턴 매칭의 결과치가 0.55이상) 내에 있다면, 이미지가 변경되지 않다고 판단할 수 있다.
상기 제 2 검증 처리의 PSNR 측정은 이미지와 이미지를 비교하기 위해 각 픽셀의 RGB값의 차이의 평균제곱오차(MSE)를 log의 형태(예: 10 log (255*255/MSE)) 로 변환한 값으로, 이미지와 이미지 간의 색상의 차이를 정량화 한 값이다. 무한대일 경우 동일한 이미지, 값이 낮을 수록 차이가 커짐을 나타낸다. 상기 패턴 매칭은, 한 이미지의 패턴(또는 모양)이 다른 이미지에도 존재하는가를 나타내는 값으로서, 한 이미지 위에서 다른 이미지를 슬라이드 하면서 비슷한 모양을 찾아가는 방식이다. 결과값으로는 비슷한 정도가 0~1의 범위로 나타낼 수 있으며, ‘1’인 경우 동일한 이미지, ‘0’인 경우 완전히 다른 이미지로 판단할 수 있다. 그러나, 상기 제 2 검증 처리는 상기 PSNR 측정 또는 상기 패턴 매칭에 한정되지 않는다. 예컨대, 이미지와 변경 후의 이미지를 비교할 수 있는 이미지 프로세싱의 모든 방법이 사용 가능하다.
<본 발명에 따른 저작권 보호 인덱스 코드의 이용 방법>
도 16은 본 발명의 일 실시예에 따른 저작권 보호 인덱스 코드의 이용 방법을 나타낸 것이다. 도 16에 도시된 바와 같이, 원본 이미지가 퍼스널 컴퓨터, 휴대용 단말 장치, 휴대용 정보 단말기와 같은 정보 처리 장치에 입력되면, 상기 원본 이미지를 저장하는 데이터베이스에 접속하기 위한 인덱스는 서버로부터 정보 처리 장치에 부여될 수 있다.
정보 처리 장치는 부여된 인덱스에 대해서 부호화 처리를 수행함으로써, 저작권 보호 코드 이미지를 생성할 수 있다. 상기 생성된 저작권 보호 코드 이미지가 원본 이미지에 매립됨으로써, 저작권 보호 인덱스 코드가 매립된 가공된 이미지를 생성하고, 또한 상기 원본 이미지 또는 저작권 보호 인덱스 코드가 매립된 가공된 이미지에 기반하여, 상기 원본 이미지의 분할된 영역에 대해서 각각 이미지 속성값이 생성될 수 있다. 상기 원본 이미지 및 상기 원본 이미지의 이미지 관련 정보와 함께, 정보 처리 장치에서 생성된 저작권 보호 인덱스 코드가 매립된 이미지 및 이미지 속성값은 인덱스와 매칭되어 데이터베이스에 저장될 수 있다.
데이터베이스에 저장되어 있는 저작권 보호 인덱스 코드가 매립된 이미지는 다양한 네트워크 서비스를 통하여 퍼스널 컴퓨터, 휴대용 단말 장치, 휴대용 정보 단말과 같은 사용자 단말을 이용하여 사용자에게 제공될 수 있다. 상기 저작권 보호 인덱스 코드가 매립된 이미지는 다양한 네트워크 서비스를 공유되면서 의도하지 않은 열화, 이미지 변형 및 코드 복제가 발생함으로써, 사용자 단말은 열화, 이미지 변형 또는 코드 복제 후의 저작권 보호 인덱스 코드가 매립된 이미지를 제공받을 수 있다. 그러므로, 사용자 단말에서는 열화, 이미지 변형 및 코드 복제 후의 저작권 보호 인덱스 코드가 매립된 이미지에서의 이미지 변경 또는 코드 변경 검증 처리를 수행함으로써, 열화, 변경의 정도와 코드 복제 여부를 판단하여 인덱스 코드의 복호 여부를 결정할 수 있다.
본 발명의 일 실시예에 따른 로버스트 복호화 처리에서는, 우선 열화 후의 저작권 보호 코드 이미지에서의 이미지 변경 또는 복제 검증 처리를 수행함으로써 저작권 보호 코드 이미지의 원작자가 의도한 그대로의 원본 이미지 및 해당 원본 이미지의 이미지 관련 정보는 데이터베이스로부터 독출되어 사용자에게 제공될 수 있다.
또한, 다른 실시예에서, 상기 부호화 처리는 상기 정보 처리 장치로 후보 인덱스 코드를 포함하는 가공된 이미지로 제공하는 것을 최소화하여 인덱스 코드의 무단 사용 또는 불법 사용을 개선시키기 위해서, 상기 정보 처리 장치가 아닌 서버에서 수행될 수 있다.
<재부호화 처리>
도 17은 본 발명의 일실시예에 따른 재부호화 처리를 설명하기 위한 모식도이다. 도 17에 도시된 바와 같이, 본 발명에서는 데이터베이스에 저장되어 있는 저작권 보호 인덱스 코드가 매립된 이미지는 다양한 네트워크 서비스를 통하여 사용자에게 제공될 수 있다. 저작권 보호 인덱스 코드가 매립된 이미지는 다양한 네트워크 서비스를 통해 공유될 수 있으며, 사용자 단말은 이미지 변경 또는 복제 후의 저작권 보호 인덱스 코드가 매립된 이미지를 수신할 수 있다.
그리고 사용자 단말에서는 열화, 이미지 변경, 또는 코드 복제 후의 저작권 보호 인덱스 코드가 매립된 이미지에서의 저작권 보호 인덱스 코드 영역(즉 이미지 변경 또는 복제 후의 저작권 보호 인덱스 코드 이미지)에 대해서 본 발명의 로버스트하게 복호화 처리를 수행하는 동시에 이미지 변경의 정도와 코드 복제의 정도를 검증하여 원작자의 의도대로 원본 이미지 및 해당 원본 이미지의 이미지 관련 정보는 데이터베이스로부터 독출되어 제공될 수 있다.
본 발명의 복호화 처리에 의해 획득된 인덱스에 대해서 재부호화 처리를 행함으로써 해당 정답 인덱스의 저작권 보호 코드 이미지를 생성하고, 나아가 생성한 저작권 보호 인덱스 코드 이미지를 원본 이미지에 매립함으로써, 저작권 보호 인덱스 코드가 매립된 이미지를 생성할 수 있다.
이와 같이, 정답 인덱스에 대해서 재부호화 처리를 행함으로써, 열화가 없는 저작권 보호 인덱스 코드 영역을 갖는 저작권 보호 코드가 매립된 이미지를 생성할 수 있고, 다시 말해, 열화가 없는 저작권 보호 인덱스 코드 이미지를 매립한 이미지를 생성할 수 있다. 저작권 보호 인덱스 코드가 매립된 이미지를 갱신하여 사용자에게 제공할 수도 있다.
일 실시예에서, 본 발명의 재부호화 처리는 상술한 <부호화 처리>와 동일한 처리이나, 재부호화 처리의 대상은 로버스트 복호화 처리에 의해 얻어진 정답 인덱스임에 반해, 상술한 <부호화 처리>의 처리 대상은 원본 이미지에 대해서 서버로부터 부여된 인덱스이다. 또한, 상술한 부호화 처리, 이미지 속성값 생성처리, 로버스트 복호화 처리, 인덱스 후보군 생성처리, 인덱스 후보군 검증처리, 정답 인덱스 선정처리, 및 재부호화 처리는 정보처리장치 또는 퍼스널 컴퓨터, 휴대용 단말장치, 휴대용 정보 단말과 같은 사용자 단말에 의해 실행될 수 있다.
상술한 이원화 알고리즘에서는 R값, G값 및 B값으로부터 소정의 기준범위(제1 기준값~제2 기준값)에 기초하여 이진수의 비트열을 복호하도록 하고 있는데, R값, G값 및 B값 이외에도 R값, G값 및 B값 사이의 편차값, 주변 데이터 영역의 색 정보와의 편차값 등을 합쳐서 이용하는 것도 가능하다. 상술한 인덱스 후보군 생성처리에서는 열화 후의 저작권 보호 코드 이미지에서의 열화가 있는 데이터 영역의 중심부로부터 이미지처리에 의해 색 정보(R값, G값 및 B값)를 산출하도록 해도 되고, 또한 열화가 있는 데이터 영역의 평균값, 중앙값, 주변의 평균값 등을 색 정보(R값, G값 및 B값)로 할 수도 있다. 일 실시예에서는, 재부호화 처리에서 로버스트 복호화 처리에 의해 얻어진 정답 인덱스에 기초하여 생성한 저작권 보호 코드 이미지를 원본 이미지뿐만 아니라, 열화 후의 저작권 보호 코드가 붙은 이미지의 열화 후의 저작권 보호 코드 이미지의 원위치로 다시 매립함으로써 저작권 보호 코드가 붙은 이미지를 갱신하는 것도 가능하다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
IC1, IC2, IC3: 저작권 보호 인덱스 코드 이미지
P1, P2, P3: 저작권 보호 인덱스 코드가 매립된 가공된 이미지
300, IN1, IN2, IN3, IN4: 저작권 보호 인덱스 코드 영역
301: 외벽
302: 배경
303:데이터 영역

Claims (13)

  1. 원본 이미지를 식별할 수 있으며, 인덱스를 부호화 처리하여 생성된 인덱스 코드 이미지를 상기 원본 이미지에 매립하여 생성된 제 1 가공된 이미지가 변경 또는 복제되어 상기 원본 이미지와 다른 배경 이미지에 매립된 후의 제 2 가공된 이미지의 인덱스 코드 이미지에 대한 복호화 처리에 의해 상기 원본 이미지의 저작권을 보호하도록 복호화할 수 있는 저작권 보호 인덱스 코드를 처리하는 방법으로서,
    상기 원본 이미지 또는 상기 제 1 가공된 이미지의 제 1 복수의 이미지 속성값들은 제 1 바이너리 데이터를 포함하는 저작권 보호를 위한 정보를 포함하며, 상기 인덱스와 매칭되어 데이터베이스에 저장되고,
    상기 부호화 처리는 상기 인덱스를 이진수로 변환하여 상기 이진수의 비트열을 다수의 서브 비트열로 그룹핑하고, 상기 인덱스를 부호화하여 상기 각각의 서브 비트열에 대응하는 도형의 색상과 함께, 도형의 모양, 도형의 길이 및 크기 중 적어도 어느 하나를 포함하는 상기 인덱스 코드 이미지를 생성하고,
    상기 복호화 처리는 상기 제 2 가공된 이미지로부터 인덱스 및 상기 제 2 가공된 이미지의 제 2 바이너리 데이터를 포함하는 제 2 복수의 이미지 속성값들을 추출하고,
    상기 데이터베이스에 저장된 상기 제 1 복수의 이미지 속성값들과 상기 제 2 가공된 이미지의 제 2 복수의 이미지 속성값들을 비교하는 제 1 검증 처리 및 상기 원본 이미지 또는 상기 제 1 가공된 이미지의 제 1 바이너리 데이터와 상기 제 2 가공된 이미지의 제 2 바이너리 데이터를 비교하는 제 2 검증 처리하여, 상기 원본 이미지의 변경 정도와 상기 인덱스 코드 이미지의 복제 정도를 확인하는 저작권 보호 인덱스 코드를 처리하는 방법.
  2. 제1항에 있어서,
    상기 제 1 복수의 이미지 속성값들 또는 상기 제 2 복수의 이미지 속성값들은 이미지의 종횡비, 이미지의 크기, 이미지의 색 분포 정보, 이미지의 특정 식별 픽셀의 색이나 모양 표시, RLE(Run Length Encoding) 압축 알고리즘, RGB 히스토그램, 밝기(Brightness) 차이, FREAK(Fast Retina Keypoint), BRISK(Binary Robust Invariant Scalable Keypoints), SURF(Speeded Up Robust Features), ORB(Oriented FAST and Rotated BRIEF), PSNR(Peak signal-to-noise ratio), 비트맵, 평균 해쉬(Average Hash), PHash 또는 이들의 조합에 의해 획득된 이미지 전체 영역 또는 부분 영역의 이미지의 특성을 나타내는 정보를 포함하는 저작권 보호 인덱스 코드를 처리하는 방법.
  3. 제1항에 있어서,
    상기 제 2 검증 처리는 상기 제 1 검증 처리 후에 수행되는 저작권 보호 인덱스 코드를 처리하는 방법.
  4. 제1항에 있어서,
    상기 제 2 검증 처리는 PSNR(Peak signal to noise ratio) 값 및 이미지 패턴 매칭의 결과 값 중 적어도 하나를 산출하는 단계를 포함하는 저작권 보호 인덱스 코드를 처리하는 방법.
  5. 제1항에 있어서,
    상기 복호화 처리는 상기 인덱스 코드 이미지로부터 상기 인덱스를 추출하도록, 인덱스 후보군 생성 처리와, 인덱스 후보군 검증 처리와 및 인덱스 선정 처리 중 적어도 하나를 더 포함하며,
    상기 인덱스 후보군 생성 처리는 열화 후의 저작권 보호 코드 이미지의 데이터 영역에 대응하는 색상, 모양, 길이 및 크기 중 하나로부터 이원화 알고리즘에 기초하여 복수의 인덱스 후보로 구성되는 인덱스 후보군을 생성하고,
    상기 인덱스 후보군 검증 처리는 상기 저작권 보호 코드가 매립된 코드화된 이미지에 기반하여 생성된 제 3 복수의 이미지 속성값과, 상기 인덱스 후보군과 관련된 제 4 복수의 이미지 속성값을 각각 비교함으로써, 상기 인덱스 후보군을 검증하고,
    상기 인덱스 선정 처리는 상기 인덱스 후보군 검증 처리에 의해 검증된 인덱스 후보로부터 하나의 정답 인덱스를 선정하는 저작권 보호 인덱스 코드를 처리하는 방법.
  6. 제5항에 있어서,
    상기 복호화 처리에 의해 획득된 정답 인덱스에 대해서 재부호화 처리를 행함으로써 상기 정답 인덱스의 저작권 보호 코드 이미지를 생성하고, 상기 생성한 상기 정답 인덱스의 저작권 보호 코드 이미지를 상기 원본 이미지에 매립함으로써 저작권 보호 코드가 매립된 이미지를 생성하는 저작권 보호 인덱스 코드를 처리하는 방법.
  7. 제5항에 있어서,
    상기 로버스트 복호화 처리에 의해 얻어진 상기 정답 인덱스에 대해서 재부호화 처리를 행함으로써 상기 정답 인덱스의 저작권 보호 코드 이미지를 생성하고, 생성한 상기 정답 인덱스의 저작권 보호 코드 이미지를 상기 열화 후의 저작권 보호 코드가 매립된 이미지에 다시 매립함으로써 저작권 보호 코드가 매립된 이미지를 생성하는 저작권 보호 인덱스 코드를 처리하는 방법.
  8. 데이터베이스로부터 원본 이미지의 인덱스를 할당받는 단계;
    상기 원본 이미지의 인덱스를 이진수로 변환하는 단계;
    상기 이진수의 비트열을 다수의 서브 비트열로 그룹핑하는 단계;
    상기 각각의 서브 비트열에 대응하는 도형의 색상과 함께, 도형의 모양, 도형의 길이 및 도형의 크기 중 어느 하나를 포함하는 인덱스 코드 이미지를 생성하는 단계;
    상기 생성된 인덱스 코드 이미지를 상기 원본 이미지에 매립하여 제 1 가공된 이미지를 생성하는 단계를 포함하며,
    상기 원본 이미지의 인덱스는 상기 원본 이미지 또는 상기 제 1 가공된 이미지의 제 1 복수의 이미지 속성값들과 제 1 바이너리 데이터와 매칭되어 상기 데이터베이스에 저장되는 인덱스 코드의 부호화 방법.
  9. 제8항에 있어서,
    상기 서브 비트열에 대응하는 색상은 RGB(Red Green Blue) 색상 모델, CMYK (Cyan Magenta Yellow Key) 색상 모델, HSV (Hue/Saturation/Value) 색상 모델, HSL (Hue/Saturation/Luminance) 색상 모델, YUV 색상 모델, 또는 YIC 색상 모델 중 어느 하나로부터 결정되는 인덱스 코드의 부호화 방법.
  10. 제9항에 있어서,
    상기 서브 비트열의 비트수가 N일 때, 상기 서브 비트열에 대응하는 모양, 길이 또는 크기는 기정의된 2N 개의 후보 그룹으로부터 어느 하나가 선택되는 인덱스 코드의 부호화 방법.
  11. 제10항에 있어서,
    상기 원본 이미지는 다수의 분할 영역으로 정의되며, 상기 다수의 분할 영역에 대한 다수의 이미지 속성값들을 포함하는 인덱스 코드의 부호화 방법.
  12. 인덱스 코드 이미지가 매립된 제 1 가공된 이미지가 변경 또는 상기 인덱스 코드 이미지가 복제된 제 2 가공된 이미지를 획득하는 단계;
    상기 획득된 인덱스 코드 이미지가 매립된 제 2 가공된 이미지로부터 상기 제 2 가공된 이미지의 인덱스, 상기 제 2 가공된 이미지의 제 2 바이너리 데이터를 포함하는 복수의 제 2 이미지 속성값들을 추출하는 단계;
    상기 제 2 가공된 이미지의 인덱스와 매칭된 원본 이미지의 복수의 제 1 이미지 속성값들과 제 1 바이너리 데이터를 데이터베이스로부터 획득하는 단계;
    상기 제 1 복수의 이미지 속성값들과 상기 제 2 가공된 이미지의 제 2 복수의 이미지 속성값들을 비교하는 제 1 검증 처리 및 상기 원본 이미지 또는 상기 제 1 가공된 이미지의 제 1 바이너리 데이터와 상기 제 2 가공된 이미지의 제 2 바이너리 데이터를 비교하는 제 2 검증 처리하여, 상기 원본 이미지의 변경 정도와 상기 인덱스 코드 이미지의 복제 정도를 확인하는 단계를 포함하고,
    상기 인덱스 코드 이미지는, 인덱스를 이진수로 변환하여 상기 이진수의 비트열을 다수의 서브 비트열로 그룹핑하고, 상기 인덱스를 부호화하여 상기 각각의 서브 비트열에 대응하는 도형의 색상과 함께, 도형의 모양, 도형의 길이 및 도형의 크기 중 적어도 어느 하나를 포함하는 인덱스 코드의 복호화 방법.
  13. 제12항에 있어서,
    상기 인덱스 코드가 매립된 이미지와 상기 원본 이미지가 동일한 이미지를 판단하는 단계는, PSNR(Peak signal to noise ratio) 값 및 이미지 패턴 매칭의 결과값이 소정의 범위 내에 있는지를 판단하는 단계를 포함하는 인덱스 코드의 복호화 방법.
KR1020170128531A 2017-10-03 2017-10-03 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법 KR102067321B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170128531A KR102067321B1 (ko) 2017-10-03 2017-10-03 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법
PCT/KR2018/011723 WO2019070102A1 (ko) 2017-10-03 2018-10-04 저작권 보호 인덱스 코드, 이들의 부화화 방법 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170128531A KR102067321B1 (ko) 2017-10-03 2017-10-03 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR20190039367A KR20190039367A (ko) 2019-04-11
KR102067321B1 true KR102067321B1 (ko) 2020-01-16

Family

ID=65995387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170128531A KR102067321B1 (ko) 2017-10-03 2017-10-03 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법

Country Status (2)

Country Link
KR (1) KR102067321B1 (ko)
WO (1) WO2019070102A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223574A (ja) 2004-02-05 2005-08-18 Fuji Xerox Co Ltd 画像処理方法および画像処理装置
JP2011186613A (ja) 2010-03-05 2011-09-22 Colour Code Technologies Co Ltd 2次元カラーコードの作成方法および復号方法
JP2016177743A (ja) * 2015-03-23 2016-10-06 李健宇 ロバスト・インデックス・コード

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652009B1 (ko) * 2004-11-24 2006-12-01 한국전자통신연구원 핑거 프린팅 코드를 이용한 공모 구매자 식별 방법
KR20130112313A (ko) * 2012-04-03 2013-10-14 삼성전자주식회사 영상에 관련된 정보를 영상에 임베딩하기 위한 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223574A (ja) 2004-02-05 2005-08-18 Fuji Xerox Co Ltd 画像処理方法および画像処理装置
JP2011186613A (ja) 2010-03-05 2011-09-22 Colour Code Technologies Co Ltd 2次元カラーコードの作成方法および復号方法
JP2016177743A (ja) * 2015-03-23 2016-10-06 李健宇 ロバスト・インデックス・コード

Also Published As

Publication number Publication date
WO2019070102A1 (ko) 2019-04-11
KR20190039367A (ko) 2019-04-11

Similar Documents

Publication Publication Date Title
CN106529633B (zh) 二维码的生成方法、解码方法以及装置
US6879703B2 (en) Method and apparatus for watermarking images
Chang et al. An information hiding scheme using Sudoku
US11915336B2 (en) Method and device for watermark-based image integrity verification
Gong et al. A secure image authentication scheme based on dual fragile watermark
Kwon et al. A watermark-based scheme for authenticating JPEG image integrity
US20200279346A1 (en) Computer method and system for generating images with encoded information, images obtained by this method and image reading method and system
KR102067321B1 (ko) 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법
CN117615075A (zh) 水印添加及水印鉴别方法、装置、设备、可读存储介质
JP4652167B2 (ja) 画像処理装置、画像処理方法およびプログラム
Cao et al. Approaches to obtaining fingerprints of steganography tools which embed message in fixed positions
JP6160968B2 (ja) ロバスト・インデックス・コード
CN113160028B (zh) 基于彩色字符画的信息隐藏及恢复方法、设备及存储介质
Aminuddin et al. AuSR3: A new block mapping technique for image authentication and self-recovery to avoid the tamper coincidence problem
Basu et al. Bit plane index based fragile watermarking scheme for authenticating color image
Mukherjee et al. Octagon shell based image steganography for avoiding human visual system with lower computational time
RU2530339C1 (ru) Способ встраивания информации в изображение, сжатое фрактальным методом, на основе сформированной библиотеки доменов
Al-Otum et al. Image watermarking for tamper detection and content recovery applications based on a preservative bi-level moment approach with shuffling
KR20190042599A (ko) 로버스트 인덱스 코드
Ren et al. Multi-Carrier Information Hiding Algorithm Based on Angle Structure Descriptor
Wöhnert et al. A study on the use of perceptual hashing to detect manipulation of embedded messages in images
Glazkov et al. Vector Tile Geospatial Data Protection Using Quantization-Based Watermarking.
US11816756B1 (en) Anti-leak digital document marking system and method using distributed ledger
JP4223353B2 (ja) 電子透かし埋め込み装置、電子透かし検出装置及びそれらの方法並びに記録媒体
Qiao et al. Superpixel-based watermarking scheme for image authentication and recovery

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)