KR101980886B1 - 워터마크를 삽입하기 위한 방법 및 장치 - Google Patents

워터마크를 삽입하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101980886B1
KR101980886B1 KR1020180042355A KR20180042355A KR101980886B1 KR 101980886 B1 KR101980886 B1 KR 101980886B1 KR 1020180042355 A KR1020180042355 A KR 1020180042355A KR 20180042355 A KR20180042355 A KR 20180042355A KR 101980886 B1 KR101980886 B1 KR 101980886B1
Authority
KR
South Korea
Prior art keywords
identification information
image
watermark
attack
data
Prior art date
Application number
KR1020180042355A
Other languages
English (en)
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 KR1020180042355A priority Critical patent/KR101980886B1/ko
Application granted granted Critical
Publication of KR101980886B1 publication Critical patent/KR101980886B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T3/0006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 일 실시예에 따른, 전자 장치(electronic device)는, 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 원본 이미지에 제1 식별 정보를 삽입하고, 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하고, 상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보의 데이터를 획득하고, 상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하고, 상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어질 수 있다.

Description

워터마크를 삽입하기 위한 방법 및 장치{METHOD AND APPARATUS FOR EMBEDDING WATERMARK}
본 발명은 인공 지능(artificial intelligence, AI) 알고리즘을 이용하여 워터마크(watermark)를 삽입(embed)하는 방법 및 워터마크 삽입 장치에 관한 것이다.
전자 장치에 대한 기술의 발달에 따라, 전자 장치는 다양한 분야에서 활용되고 있다. 예를 들면, 전자 장치는 저작권을 보호하기 위한 분야에서 활용될 수 있다. 이러한 경우, 전자 장치는 저작권과 관련된 정보(information)를 저작물에 삽입(embed)할 수 있다. 저작권과 관련된 정보는 저작물의 주체를 나타내기 위한 정보(예: 워터마크(watermark))를 포함할 수 있다. 한편, 저작권에 대한 침해가 증가하면서, 저작물을 효과적으로 보호하기 위한 워터마킹의 중요성이 증가하고 있다. 이에 따라, 전자 장치는 저작물에 대한 변형이 있는 경우에도 삽입된 워터마크를 유지하기 위해 다양한 워터마킹을 구현할 수 있다. 워터마킹은, 예를 들면, 워터마크의 검출에 저작물의 원본이 요구되는 논블라인드(nonblind) 방식의 워터마킹, 또는 워터마크의 검출에 저작물의 원본이 요구되지 않는 블라인드(bilnd) 방식의 워터마킹을 포함할 수 있다. 블라인드 방식 보다 논블라인드 방식의 워터마킹에 대한 활용도가 높기 때문에, 최근 블라인드 방식에 대한 연구가 활발히 진행되고 있다.
한편, 블라인드 방식의 워터마킹은 주파수 영역(frequency domain) 상에서 저작물에 대해 워터마크를 삽입하는 기술을 포함할 수 있다. 주파수 영역 상에서 저작물에 대해 삽입된 워터마크는 선형(linear)의 특성을 가지는 것으로 선형의 특성에 강인하기 때문에, 비선형(non-linear)의 변환(예: 크기변환(scaling))에는 취약하다는, 즉, 제거될 수 있다는 문제점을 포함한다.
한국공개특허공보, 제10-2014-0140928호 (2014.12.10. 공개)
본 발명이 해결하고자 하는 과제는, 인공 지능(artificial intelligence, AI) 알고리즘에 기반하여 선형 및/또는 비선형의 변환에 대해 강인성(robustness)을 가지는 워터마크를 생성하기 위한 워터마크 삽입 장치 및 그의 동작 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른, 워터마크 삽입 장치는, 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 원본 이미지에 제1 식별 정보를 삽입하고, 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하고, 상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보의 데이터를 획득하고, 상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하고, 상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어질 수 있다.
상기 제1 식별 정보는 워터마크를 포함하고, 상기 하나 이상의 프로세서들은 블라인드(blind) 방식에 기반하여 상기 원본 이미지에 상기 제1 식별 정보를 삽입할 수 있다.
또한, 상기 블라인드 방식은 신호(signal) 영역 또는 주파수(frequency) 영역 상에서 상기 워터마크를 삽입하는 방식을 포함할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 상기 인공 지능 알고리즘에 기반하여 상기 제1 식별 정보 및 상기 제2 식별 정보를 식별하고, 상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 상기 인공 지능 알고리즘에 기반하여 상기 제1 식별 정보와 관련된 데이터 중 상기 제1 공격 또는 상기 제2 공격에 대해 유지된 부분을 결정할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 상기 제2 식별 정보의 데이터 또는 상기 제3 식별 정보의 데이터가 상기 제1 식별 정보에 대응하는 경우, 상기 인공 지능 알고리즘과 관련된 가중치를 유지할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 상기 제2 식별 정보의 데이터 또는 제3 식별 정보의 데이터가 상기 제1 식별 정보에 대응하지 않는 경우, 상기 인공 지능 알고리즘과 관련된 가중치를 갱신할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 상기 원본 이미지를 소정 크기의 픽셀 블록(pixel block)들로 나누고, 상기 픽셀 블록들 각각에 상기 제1 식별 정보의 적어도 일부를 삽입함으로써 상기 원본 이미지에 상기 제1 식별 정보를 삽입할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 상기 원본 이미지로의 삽입을 갱신하기 위해, 상기 픽셀 블록들 각각에 삽입되는 상기 제1 식별 정보의 적어도 일부를 변경하할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 상기 원본 이미지로의 삽입을 갱신하기 위해, 상기 제1 식별 정보의 적어도 일부가 삽입될 상기 픽셀 블록들의 주파수의 위치를 변경할 수 있다.
또한, 상기 하나 이상의 프로세서들은, 크롭핑(cropping), 아핀 변형(affine transform), JPEG(joint photographic coding experts group) 압축, 가우시안 필터링(Gaussian filtering), 중간 값 필터링(median filtering), 회전(rotation), 또는 크기변형(rescaling) 중 적어도 하나를 이용하여 상기 이미지의 변환을 수행할 수 있다.
또한, 상기 인공 지능 알고리즘은, 상기 제2 식별 정보 및 상기 제3 식별 정보의 검출과 관련된 제1 인공 지능 알고리즘 및 상기 갱신된 삽입과 관련된 제2 인공 지능 알고리즘을 포함할 수 있다.
또한, 상기 인공 지능 알고리즘은, CNN(convolution neural network)에 대한 알고리즘 또는 강화 학습(reinforcement learning)에 대한 알고리즘을 포함할 수 있다.
본 발명의 다른 실시예에 따른, 워터마크 삽입 장치에 의해 수행되는 방법은, 원본 이미지에 제1 식별 정보를 삽입하는 동작과, 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하는 동작과, 상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보에 대한 데이터를 획득하는 동작과, 상기 제2 식별 정보의 데이터, 상기 제3 식별 정보에 대한 데이터, 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하는 동작을 포함하고, 상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어질 수 있다.
본 발명의 또 다른 실시예에 따른, 프로세서에 의해 실행 가능한 명령어들을 포함하는 컴퓨터-판독 가능(computer-readable) 저장(storage) 매체(medium)는, 상기 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 원본 이미지에 제1 식별 정보를 삽입하는 동작과, 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하는 동작과, 상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보에 대한 데이터를 획득하는 동작과, 상기 제2 식별 정보의 데이터, 상기 제3 식별 정보에 대한 데이터, 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하는 동작을 수행하도록 하고, 상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어질 수 있다.
본 발명의 일 실시예에 따르면, 워터마크 삽입 장치 및 그의 동작 방법은, 인공 지능(artificial intelligence, AI) 알고리즘에 기반하여 워터마크를 제거하기 위한 다양한 변환에 대해 강인성을 가지는 워터마크를 생성함으로써 효과적으로 저작권을 보호할 수 있는 워터마킹을 제공할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 워터마크를 생성하기 위한 워터마크 삽입 장치의 기능적 구성의 예를 도시한다.
도 2는 본 발명의 일 실시예에 따른 워터마크를 생성하기 위한 워터마크 삽입 장치의 동작의 예를 도시한다.
도 3은 본 발명의 일 실시예에 따른 워터마크의 갱신(update)과 관련된 네트워크(single network)의 구성의 예를 도시한다.
도 4는 본 발명의 일 실시예에 따른 워터마크의 갱신과 관련된 네트워크(double network)의 구성의 다른 예를 도시한다.
도 5는 본 발명의 일 실시예에 따른 워터마크의 갱신과 관련된 네트워크의 구성의 또 다른 예를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은, 일 실시예에 따라 저작권과 관련된 정보를 생성하기 위한 워터마크 삽입 장치의 기능적 구성의 예를 도시한다. 저작권과 관련된 정보는, 예를 들면, 워터 마크(watermark)를 포함할 수 있다. 워터마크는, 인터넷(또는 온라인(on-line))으로 송수신되는 컨텐츠의 위조나 변조 여부를 확인하기 위해 컨텐츠 내에 삽입(또는 부가)되는 정보를 지칭할 수 있다. 실시예들에 따라, 워터마크는 사람의 육안이나 귀로는 구별할 수 없도록 저작물의 원본 데이터에 삽입될 저작물의 소유주만이 아는 마크(mark)(예: 비트 패턴(bit pattern))를 포함할 수 있다. 저작물은, 예를 들면 이미지, 비디오, 또는 오디오를 포함할 수 있다. 이하 본 명세서에서는 설명의 편의를 위해 저작물을 이미지로 지칭하겠다. 저작물은 본 명세서 상에서 지칭하는 용어 또는 상술한 예에 한정되지 않으며 사람의 사상 또는 감정을 표현한 다양한 창작물을 포함할 수 있다.
도 1을 참조하면, 워터마크 삽입 장치(101)는 삽입 모듈(102), 공격 모듈(103), 및/또는 추출 모듈(107)을 포함할 수 있다. 이하 사용되는 '…모듈(module)' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이러한 용어는 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
삽입 모듈(102)은, 이미지(또는 저작물)(106)에 저작권과 관련된 정보(이하 워터마크)를 삽입할 수 있다. 삽입 모듈(102)은 원본 저작물에 대해 미리 지정된 방법에 기반하여, 워터마크를 최초로 삽입할 수 있다. 미리 지정된 방법은, 예를 들면, 이미지(106)에 대해 블라인드(blind) 방식으로 워터마크를 삽입하는 방법을 포함할 수 있다. 블라인드 방식은 원본이 없어도 워터마크가 검출될 수 있도록 하는, 워터 마크의 삽입 방법을 지칭할 수 있다. 미리 지정된 방법은, 예를 들면, 이미지(106)의 특정 주파수(frequency domain)에 워터마크를 삽입하는 방법을 포함할 수 있다. 미리 지정된 방법은, 다른 예를 들면, 이미지(106)의 특정 공간 영역(spatial domain)에 워터마크를 삽입하는 방법을 포함할 수 있다. 삽입 모듈(102)은 이미지(106)에 워터마크를 삽입함으로써, 워터마킹된 이미지(104)를 생성할 수 있다. 실시예에 따라, 삽입 모듈(102)은 이미지(106)에 대해 워터마크를 삽입하는 경우, 삽입된 워터마크에 대한 정보(이하 워터마크의 삽입 기록)를 저장할 수 있다. 워터마크의 삽입 기록은, 예를 들면, 워터마킹된 이미지(104)에 삽입된 워터마크의 형태, 위치, 크기, 및/또는 삽입 방법에 대한 정보를 포함할 수 있다.
삽입 모듈(102)은 삽입된 워터마크에 상응하는 워터마크가 후술될 추출 모듈(107)을 통해 검출될 때까지 삽입과 관련된 동작을 반복하여 지속적으로 인공 지능 알고리즘 수행부(109)를 갱신할 수 있다. 삽입 모듈(102)은 두가지 형태로 구현될 수 있다. 예를 들면, 삽입 모듈(102)은 추출 모듈(107)(또는 추출 모듈(107)의 인공 지능 알고리즘, 또는 추출 모듈(107)의 네트워크)을 이용하여, 역전파기법(backpropagaion)에 의해 학습을 수행하면서 워터마크를 이미지에 삽입할 수 있는 형태로 구현될 수 있다. 이와 관련하여 자세한 설명은 도 3을 통해 후술하겠다. 다른 예를 들면, 삽입 모듈(102)은 추출 모듈(107)과는 별개의 알고리즘(또는 인공 지능 알고리즘, 또는 네트워크)을 이용하여 이미지에 워터마크를 삽입할 수 있는 형태로 구현될 수 있다. 이러한 경우, 삽입 모듈(102)의 알고리즘과 추출 모듈(107)의 알고리즘은 연결(또는 연관)될 수 있고, 이를 통해 삽입 모듈(102)은 추출 모듈(107)에 의해 간접적으로 학습될 수 있다. 이와 관련하여 자세한 설명은 도 4를 통해 후술하겠다.
삽입 모듈(102)은 이미지(106)에 대한 워터마크의 삽입 기록을 식별할 수 있다. 워터마크의 삽입 기록은, 예를 들면, 이미지(106)에 워터마크가 삽입된 적이 있는지에 대한 정보, 및/또는 이미지(106)에 삽입된 워터마크에 대한 정보를 포함할 수 있다. 삽입 모듈(102)은 워터마크의 삽입 기록을 식별하면 기 저장되어 있는 워터마크의 삽입 기록을 기초로, 이미지(106)에 대해 워터마크의 삽입이 과거에 수행되었던 것으로 결정할 수 있다. 워터마크의 삽입 기록을 저장하고 있는 삽입 모듈(102)은, 추출 모듈(107)로부터 워터마크의 삽입을 갱신하기 위한 정보를 획득할 수 있다. 워터마크의 삽입을 갱신하기 위한 정보는, 예를 들면, 워터마크에 대한 공격에 의해 워터마크가 얼마나 변형되었는 지 여부와 관련된 정보(예: 손실 함수(loss function)에 대한 정보)를 포함할 수 있다. 다른 예를 들면, 워터마크의 삽입을 갱신하기 위한 정보는 이전에 삽입된 워터마크의 적어도 일부(또는 적어도 일부의 특성)를 변경하기 위한 정보(예: 삽입 모듈(102)과 관련된 알고리즘의 가중치에 대한 정보)를 포함할 수 있다.
삽입 모듈(102)은 인공 지능(artificial intelligence, AI)(예: 기계 학습(machine learining), 딥러닝(deep learning), 강화 학습(reinforcement learning)) 알고리즘(algorithm)을 적용하는 인공 지능 알고리즘 수행부(109)를 포함할 수 있다. 인공 지능 알고리즘 수행부(109)는, 예를 들면, CNN(convolution neural network)를 포함할 수 있다. 삽입 모듈(102)은 추출 모듈(107)로부터 인공 지능 알고리즘 수행부 (109)와 관련된 정보를 획득할 수 있다. 인공 지능 알고리즘 수행부(109)와 관련된 정보는 워터마크의 삽입을 갱신하기 위한 정보를 포함할 수 있다. 워터마크의 삽입을 갱신하기 위한 정보는, 예를 들면, 인공 지능 알고리즘 수행부(109)의 가중치에 대한 정보를 포함할 수 있다.
삽입 모듈(102)은 추출 모듈(107)로부터 삽입된 워터마크의 일부가 변형됨을 나타내는 정보를 획득하면, 획득된 정보에 따라 워터마크의 삽입을 위한 인공 지능 알고리즘 수행부(109)를 갱신할 수 있다. 예를 들면, 삽입 모듈(102)은 공격에도 강인한 워터마크의 일부에 대한 정보를 추출 모듈(107)로부터 획득할 수 있고, 획득된 정보를 이용하여, 공격에도 강인한 워터마크의 일부는 유지하되 공격에 약한 워터마크의 다른 일부를 변경할 수 있다. 이러한 삽입 모듈(102)의 갱신은 인공 지능 알고리즘 수행부(109)를 갱신하는 것에 의해 수행될 수 있다. 상기 갱신은, 워터마크의 삽입과 관련된 인공 지능 알고리즘 수행부(109)에 저장된 다양한 정보의 갱신을 의미할 수 있다.
삽입 모듈(102)은 이미지(106)를 소정 크기의 픽셀 블록(pixel block)들로 나눌 수 있다. 예를 들면, 삽입 모듈(102)은 가로가 512이고 세로가 512인 이미지를 가로가 8이고 세로가 8인 픽셀 블록들로 나눌 수 있다. 삽입 모듈(102)은 픽셀 블록들 각각에 워터마크의 일부를 삽입할 수 있다. 이를 통해, 이미지(106)에 워터마크가 삽입될 수 있다.
삽입 모듈(102)은 추출로부터 손상된 워터마크에 대한 정보를 획득할 수 있다. 삽입 모듈(102)은 기존에 삽입된 워터마크와 손상된 워터마크에 대한 오차가 지정된 값 이하인지 여부를 결정할 수 있다. 추출 모듈(107)은, 상기 오차가 지정된 값 이하가 아닌 경우, 기존에 삽입된 워터마크가 손상된 워터마크에 대응하지 않는 것으로 결정할 수 있다. 삽입 모듈(102)은 상기 오차가 지정된 값 이하인 경우, 기존에 삽입된 워터마크가 손상된 워터마크에 대응하는 것으로 결정할 수 있다. 이러한 경우, 삽입 모듈(102)은 워터마크를 삽입하는 동작을 중지하도록 하고, 인공 지능 알고리즘 수행부(109)의 인공 지능 알고리즘의 현재 상태(또는 가중치)를 유지할 수 있다.
공격 모듈(103)은 워터마킹된 이미지(104)를 공격할 수 있다. 공격은 워터마킹된 이미지(104)에 삽입된 워터마크를 제거하거나, 변형하기 위한 다양한 동작(또는 기술)을 포함할 수 있다. 공격 모듈(103)은, 워터마킹된 이미지(104)를 공격할 수 있다. 공격은, 예를 들면, 워터마킹된 이미지(104)에 대한 아핀 변형(affine transform), 크롭핑(cropping), JPEG(joint photographic coding experts group) 압축, 노이징(noising), 가우시안 필터링(Gaussian filtering), 중간 값 필터링(median filtering), 회전(rotation), 및/또는 리스케일링(rescaling)을 포함할 수 있다. 공격 모듈(103)은 워터마킹된 이미지(104)를 공격함으로써, 워터마킹된 이미지(104)에 삽입된 워터마크를 공격할 수 있다. 공격의 종류는 상술된 예에 한정되지 않으며, 워터마크를 변형하거나, 또는 워터마크를 제거하기 위한 다양한 종류의 기술을 포함할 수 있다.
공격 모듈(103)은 공격(예: 회전, 또는 JPEG 변환)을 수행하여 손상된 이미지(105)를 생성할 수 있다. 적어도 하나의 공격에 각각 대응되는 적어도 하나의 손상된 이미지(105)(예: 회전된 이미지, JPEG 변환된 이미지)를 생성할 수 있다. 즉, 공격 모듈(103)은 서로 다른 공격이 수행된 손상된 이미지(105)를 생성할 수 있다. 이러한 경우, 손상된 이미지(105)는 복수일 수 있다. 실시예에 따라, 공격 모듈(103)은 워터마킹된 이미지(104)에 대한 정보에 기반하여 동일하게 워터마킹된 이미지(104)를 복수개 생성하여, 각각 서로 다른 공격을 수행함으로써 상기와 같은 복수의 손상된 이미지를 생성할 수 있다. 공격 모듈(103)은 공격에 의해 생성된 손상된 이미지(105)를 추출 모듈(107)에게 제공할 수 있다.
추출 모듈(107)은 손상된 이미지(105)로부터 공격된 워터마크를 추출(또는 획득)할 수 있다. 손상된 이미지(105)가 복수인 경우, 추출 모듈(107)은 손상된 이미지(105) 각각으로부터 공격된 워터마크를 추출할 수 있다. 공격된 워터마크는, 예를 들면, 공격에 의해 워터마크의 적어도 하나의 특징이 손상되어 워터마크의 기능이 상실된 워터마크를 포함할 수 있다.
추출 모듈(107)은 인공 지능 알고리즘 수행부(108)를 포함할 수 있다. 추출 모듈(107)은 공격된 워터마크를 추출하고 이를 식별함에 따라 인공 지능 알고리즘 수행부(108)를 갱신할 수 있다. 이러한 경우, 추출 모듈(107)은 이미지(106)에 대한 정보 및/또는 삽입 모듈(102)에 의해 이미지(106)에 삽입된 워터마크에 대한 정보를 포함할 수 있다. 추출 모듈(107)은, 이미지(106)에 대한 정보 및/또는 삽입 모듈(102)에 의해 이미지(106)에 삽입된 워터마크에 대한 정보를 이용하여, 적어도 하나의 손상된 이미지(105)로부터 워터마크를 보다 정확하게 추출하도록 인공 지능 알고리즘 수행부(108) 를 갱신할 수 있다. 추출 모듈(107)은, 예를 들면, 확률적 경사 하강법(stochastic gradient descent, 이하 SGD)에 기반하여 인공 지능 알고리즘 수행부(108)를 갱신할 수 있다. SGD는, 현재의 매개 변수의 기울기의 방향은 유지하되, 현재의 매개 변수가 나타내는 값은 갱신하도록 하는 학습 방법일 수 있다. SGD에 의해, 인공 지능 알고리즘 수행부(108)는 손실 함수를 최소화하는 인공 지능 알고리즘의 가중치(또는 매개 변수)를 결정할 수 있다.
추출 모듈(107)은 손상된 이미지(105)를 식별하여 워터마크를 추출함으로써, 기존에 삽입된 워터마크와 공격된 워터마크의 차이를 식별할 수 있다. 추출 모듈(107)은 손상된 이미지(105)가 복수인 경우, 손상된 이미지(105) 각각에 대한 손상된 워터마크를 추출할 수 있다. 추출 모듈(107)은 손상된 이미지(105)와 관련된 복수의 손상된 워터마크들을 식별함으로써, 기존에 삽입된 워터마크와 복수의 손상된 워터마크들에 대한 평균적인 차이를 식별할 수 있다. 상기 식별된 차이에 기반하여, 추출 모듈(107)은 인공 지능 알고리즘 수행부(108)를 갱신할 수 있다. 예를 들면, 추출 모듈(107)은 상기 식별된 차이에 기반하여, 인공 지능 알고리즘 수행부(108)의 가중치(weight)를 갱신할 수 있다. 이를 통해, 손상된 이미지(105)로부터 워터마크를 보다 정확하게 추출하도록 인공 지능 알고리즘 수행부(108)를 갱신할 수 있다. 실시예에 따라, 오차는 손실 함수의 값(또는 손실(loss))을 포함할 수 있다. 이러한 경우, 손실 함수의 값이 낮을수록 기존에 삽입된 워터마크와 공격된 워터마크의 차이가 적은 것으로 결정할 수 있다. 즉, 손실 함수의 값이 낮을수록 삽입된 워터마크가 공격에 강인함을 의미할 수 있다. 추출 모듈(107)은 손실 함수의 값을 삽입 모듈(102)에 제공할 수 있다.
추출 모듈(107)에 대한 인공 지능 알고리즘 수행부(108)는 삽입 모듈(102)에 대한 인공 지능 알고리즘 수행부(109)에 대응할 수 있다. 도 1에서는, 인공 지능 알고리즘 수행부(109)와 인공 지능 알고리즘 수행부(108)를 각각 구분되게 표시하였으나 설명을 위한 예시일 뿐, 이에 제한되지 않는다. 이와 관련된 보다 상세한 동작은 도 3을 통해 후술하겠다. 실시예에 따라, 삽입 모듈(102)에 대한 인공 지능 알고리즘 수행부(109)는 추출 모듈(107)에 대한 인공 지능 알고리즘 수행부(108)와 서로 상이할 수 있다. 이와 관련된 보다 상세한 동작은 도 4를 통해 후술하겠다.
본 문서에 개시된 일 실시예에 따른 워터마크 삽입 장치는 다양한 형태의 장치가 될 수 있다. 워터마크 삽입 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 워터마크 삽입 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서의 일 실시예는 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리 또는 외장 메모리)에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 워터마크 삽입 장치를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
본 문서에 개시된 일 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명의 일 실시예에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다른 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 일 실시예에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 2는 본 발명의 일 실시예에 따른 워터마크를 생성하기 위한 워터마크 삽입 장치의 동작의 예를 도시한다. 도 2는 인공 지능 알고리즘에 기반하여 강인성을 가지는 워터마크를 생성하여 삽입하는 워터마크 삽입 장치(101)의 동작의 예를 나타낼 수 있다. 도 2에 도시된 방법은 본 발명의 일 실시예에 불과하므로 도 2에 의해 본 발명의 사상이 한정 해석되는 것은 아니며, 도 2에 도시된 방법의 각 단계는 경우에 따라 도면에 제시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다. 또한, 도 1과 중복되는 바에 대해서는 자세한 설명이 생략될 수 있다.
도 2를 참조하면, 단계(S201)에서, 워터마크 삽입 장치(101)의 삽입 모듈(102)은 이미지(예: 도 1의 이미지(106))에 워터마크를 삽입할 수 있다. 이미지에 대한 삽입을 위한 워터마크는 미리 지정되어 있을 수 있다. 워터마크 삽입 장치(101)는 인공 지능 알고리즘을 이용하여 이미지에 워터마크를 삽입할 수 있다. 워터마크 삽입 장치(101)는 블라인드 방식으로, 이미지에 워터마크를 삽입할 수 있다. 인공 지능 알고리즘과 관련된 워터마크의 삽입에 대한 보다 자세한 설명은, 도 3 또는 도 4를 통해 후술하겠다.
단계(S203)에서, 워터마크 삽입 장치(101)의 공격 모듈(103)은 이미지에 대한 공격을 수행할 수 있다. 공격은 워터마킹된 이미지(104)에 삽입된 워터마크를 제거하거나, 변형하기 위한 기술을 포함할 수 있다. 예를 들면, 공격은 워터마킹된 이미지(예: 도 1의 워터마킹된 이미지(104))에 대한 아핀 변형, 크롭핑, JPEG 압축, 노이징, 가우시안 필터링, 중간 값 필터링, 회전, 및/또는 리스케일링을 포함할 수 있다. 다만, 상술된 예에 제한되지 않는다.
단계(S205)에서, 워터마크 삽입 장치(101)의 추출 모듈(107)은 공격에 의해 변환된 이미지를 획득할 수 있다. 추출 모듈(107)은 복수의 공격들이 수행되는 것에 기반하여, 복수의 공격들 각각에 대해 손상된 이미지(예: 도 1의 손상된 이미지(105))를 획득할 수 있다. 예를 들면, 복수의 공격들이 아핀 변형과 회전인 경우, 워터마크 삽입 장치(101)는 아핀 변형된 이미지와 회전된 이미지 각각을 획득할 수 있다.
단계(S207)에서, 워터마크 삽입 장치(101)의 추출 모듈(107)은 손상된 이미지로부터 워터마크와 관련된 데이터를 획득할 수 있다. 워터마크와 관련된 데이터는, 예를 들면, 이미지에 남아있는 워터마크의 부분에 대한 정보, 또는 이미지에 남아있지만 변형된 워터마크의 부분에 대한 정보를 포함할 수 있다. 워터마크와 관련된 데이터는, 다른 예를 들면, 이미지에 삽입된 워터마크의 주파수 영역에 대한 정보를 포함할 수 있다.
단계(S209)에서, 워터마크 삽입 장치(101)의 삽입 모듈(102)은 삽입된 워터마크가 유지되는 지 여부를 결정할 수 있다. 삽입 모듈(102)은 추출 모듈(107)로부터 워터마크와 관련된 데이터를 획득할 수 있다. 삽입 모듈 추출 모듈(107)로부터 획득된 워터마크와 관련된 데이터를 식별하여, 기삽입된 워터마크가 공격에도 불구하고 유지되는지 여부를 결정할 수 있다. 삽입 모듈(102)은 기삽입된 워터마크가 유지되는 경우, 워터마크 삽입 장치(101)의 동작을 종료할 수 있다. 삽입 모듈(102)은 기삽입된 워터마크가 유지되는 경우, 기삽입된 워터마크가 공격에 강인한 특성을 가지는 것으로 결정할 수 있다. 이러한 경우, 삽입 모듈(102)은 워터마크의 삽입을 위한 동작과 관련된 인공 지능 알고리즘을 현 상태로 유지할 수(또는 갱신하지 않을 수) 있다. 삽입 모듈(102)은 삽입된 워터마크가 유지되지 않는 경우, 단계(S211)를 수행할 수 있다.
단계(S211)에서, 워터마크 삽입 장치(101)의 삽입 모듈(102)은 손상된 이미지로부터 획득된 데이터 및 인공 지능 알고리즘에 기반하여 워터마크의 삽입을 갱신할 수 있다. 삽입 모듈(102)은 획득된 데이터 및 인공 지능 알고리즘에 기반하여, 워터마크의 삽입을 위한 동작과 관련된 명령어들 또는 알고리즘(예: 도 1의 인공 지능 알고리즘 수행부(108))을 갱신할 수 있다. 삽입 모듈(102)은 손상된 이미지로부터 획득된 데이터에 기반하여, 공격과 관련된 워터마크의 특징을 식별할 수 있다. 공격과 관련된 워터마크의 특징은, 예를 들면, 특정 공격(예: 아핀 변형, 또는 회전)에 대해 유지되는 워터마크의 특징 또는 유지되지 않는 워터마크의 특징을 포함할 수 있다. 다른 예를 들면, 공격과 관련된 워터마크의 특징은 다양한 공격에 대해 강인성(robustness)을 나타내는 워터마크의 특징을 포함할 수 있다.
단계(S207) 내지 단계(S211)는 인공 지능 알고리즘(예: 도 1의 인공 지능 알고리즘 수행부(108))에 기반하여 수행될 수 있다. 이와 관련된 보다 자세한 내용은 도 3 또는 도 4를 통해 후술하겠다.
워터마크 삽입 장치(101)는 프로세서를 포함할 수 있고, 도 2의 적어도 하나의 동작은 프로세서에 의해 수행될 수 있다. 프로세서는, 예를 들면, 소프트웨어를 구동하여 프로세서에 연결된, 워터마크 삽입 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서는 다른 구성요소로부터 수신된 명령 또는 데이터를 메모리의 일부(예: 휘발성 메모리)에 로드하여 처리하고, 결과 데이터를 메모리의 다른 일부(예: 비휘발성 메모리)에 저장할 수 있다. 일부 실시예에서, 프로세서는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서는 메인 프로세서와 별개로 또는 임베디드되어 운영될 수 있다.
보조 프로세서는, 예를 들면, 메인 프로세서가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서를 대신하여, 또는 메인 프로세서가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서와 함께, 워터마크 삽입 장치(101)의 구성요소들 중 적어도 하나의 구성요소와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(예: 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소의 일부 구성 요소로서 구현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 워터마크의 갱신(update)과 관련된 네트워크(single network)의 구성의 예를 도시한다. 도 3은 하나의 네트워크(single network)에 기반하여 워터마크의 삽입과 추출이 수행되는 경우의 예를 도시한다. 하나의 네트워크를 이용하여, 워터마크 삽입 장치(101)는 삽입 모듈(102)의 동작 및 추출 모듈(107)의 동작을 수행할 수 있다.
도 3의 (a)는 인공 지능 알고리즘(303)을 이용하여, 워터마크를 삽입하기 위한 네트워크의 구성(예: 도 1의 삽입 모듈(102))을 구체적으로 나타낸다. 도 3의 (a)를 참조하면, 워터마크 삽입 장치(101)는 워터마크를 삽입하기 위한 인공 지능 알고리즘(303)을 포함할 수 있다. 인공 지능 알고리즘(303)은 적어도 하나의 컨벌루션 레이어(convolution layer)와, 비선형 함수인 적어도 하나의 ReLU(rectified linear unit)를 포함할 수 있다. 컨벌루션 레이어는 입력값 또는 출력값을 수신하여 전달하는 구성 요소인 커널(kernel)을 포함할 수 있다. 커널은 가중치라고 지칭되는 파라미터(parameter)로 구성될 수 있다. 삽입 모듈은, 가로가 M(px(pixel), 이하 생략)이고 세로가 N인 이미지(301)를 가로가 R이고 세로가 C인 픽셀 블록(pixel block)들로 나눌 수 있다. 예를 들면, 워터마크 삽입 장치(101)는 가로 사이즈가 512이고 세로 사이즈가 512인 이미지를 가로 사이즈가 8이고 세로 사이즈가 8인 픽셀 블록들로 나눌 수 있다. 픽셀 블록들은 각각 메시지 비트(message bit)로 구성될 수 있다. 워터마크 삽입 장치(101)는 인공 지능 알고리즘(303)을 이용하여, 픽셀 블록들의 메시지 비트 각각에 삽입될 워터마크의 메시지를 결정할 수 있다. 예를 들면, 특정 메시지 비트에 대한 픽셀 블록이 이미지의 3번째 행, 3번째 열의 블록인 경우, 특정 메시지 비트에 삽입되는 워터마크의 일부는, 워터마크의 3번째 행 3번째 열에 상응하는 워터마크의 일부(이하 메시지)일 수 있다. 한편, 워터마크는 바이너리 코드로 구성될 수 있으며, 이러한 경우, 메시지는, 워터마크를 구성하는 바이너리 코드의 일부일 수 있다. 여기서, 워터마크의 메시지는, 워터마크의 일부를 지칭하는 다양한 용어로 대체될 수 있으며, 상술한 예에 한정되지 않는다.
워터마크 삽입 장치(101)는 SGD에 따른 하기와 같은 수학식 1에 기반하여 픽셀 블록을 갱신(또는 수정, 또는 생성)할 수 있다.
Figure 112018036182306-pat00001
수학식 1에서, Bt는 반복회수 t에서의 픽셀 블록, α는 삽입 계수(embedding factor),
Figure 112018036182306-pat00002
는 픽셀 블록의 그래디언트(gradient), 그리고
Figure 112018036182306-pat00003
은 손실 함수(loss function)일 수 있다.
Figure 112018036182306-pat00004
의 값(또는 손실(loss))이 0에 가까울수록, 삽입 모듈이 픽셀 블록 B에 대해 워터마크의 메시지를 적합하게 삽입하였음을 나타낼 수 있다.
Figure 112018036182306-pat00005
은 하기의 수학식 2와 같다.
Figure 112018036182306-pat00006
수학식 2에서, WD는 추출 모듈의 가중치, B는 픽셀 블록, m은 메시지 비트, 그리고 B0는 초기의 픽셀 블록일 수 있다. 또한,
Figure 112018036182306-pat00007
는 비가시성(invisibility)을 나타내기 위한 균일화 인자(regularization factor)이며, l2은 비가시성을 나타내기 위한 균일화 텀(regularization term)일 수 있다. WD는 추출 모듈의 가중치, m은 픽셀블록 B의 메시지 비트(message bit), p는 워터마크의 메시지가 픽셀 블록 B로 삽입되는 확률을 나타내는 소프트맥스 함수(softmax function)일 수 있다. 여기서, p는 하기의 수학식 3과 같다.
Figure 112018036182306-pat00008
수학식 3에서, y는 메시지 비트를 출력하기 위한 확률변수(random variable), WD는 추출 모듈의 가중치, B는 픽셀 블록, 그리고 h0 와 h1은 최종의 컨벌루션 레이어의 출력(output)일 수 있다.
일 실시예에서, 워터마크 삽입 장치(101)는 메시지 비트가 삽입된 픽셀 블록들을 결합함으로써 워터마킹된 이미지를 생성할 수 있다. 워터마크 삽입 장치(101)는 상술한 수학식 1 내지 수학식 3에 기반하여, 이미지에 대한 픽셀 블록들 각각에 워터마크의 메시지를 삽입할 수 있다. 워터마크 삽입 장치(101)는 워터마크의 메시지가 삽입된 픽셀 블록들을 결합함으로써 워터마킹된 이미지를 생성할 수 있다.
도 3의 (b)는 인공 지능 알고리즘(307)을 이용하여, 손상된 이미지(305)로부터 워터마크를 추출하기 위한 네트워크의 구성(예: 도 1의 추출 모듈(107))을 구체적으로 나타낸다. 인공 지능 알고리즘(307)은 (a)의 인공 지능 알고리즘(303)에 대응할 수 있다.
일 실시예에서, 워터마크 삽입 장치(101)는 손상된 이미지(305)의 사이즈를 가로 M, 세로 N으로 변경할 수 있다. 워터마크 삽입 장치(101)는 가로 사이즈가 M이고 세로 사이즈가 N인 손상된 이미지(305)를 가로 사이즈가 R이고 세로 사이즈가 C인 픽셀 블록들로 나눌 수 있다. 워터마크 삽입 장치(101)는 가로 사이즈가 M이고 세로 사이즈가 N인 손상된 이미지(305)의 지정된 위치로부터 픽셀 블록(이하 픽셀 블록 B')을 추출할 수 있다. 워터마크 삽입 장치(101)는 하기의 수학식 4를 반복함으로써 워터마크의 삽입을 갱신할 수 있다.
Figure 112018036182306-pat00009
WD t + 1는 t+1번째의 반복에 적용될 가중치, WD t는 반복회수 t에 적용되었던 가중치, 그리고
Figure 112018036182306-pat00010
는 하이퍼파라미터(hyperparameter)(또는 초매개변수로서의 학습 계수(learning rate)일 수 있다. B'는 공격에 의해 손상된 이미지의 픽셀 블록일 수 있으며, 워터마크 삽입 장치(101)는 B'을 이용하여 m'을 도출해낼 수 있다. m'은 손상된 이미지의 픽셀 블록 B'에 포함되어 공격에 의해 손상된 워터마크의 메시지일 수 있다. 워터마크 삽입 장치(101)는 B', m' 및 WD t에 의해
Figure 112018036182306-pat00011
을 계산할 수 있다.
Figure 112018036182306-pat00012
은 수학식 1의
Figure 112018036182306-pat00013
에 상응할 수 있다. 한편, 낮은
Figure 112018036182306-pat00014
의 값(또는 손실)은 인공 지능 알고리즘(307)의 메시지 비트를 추출하는 정확도가 높음을 의미할 수 있다. 즉, 낮은
Figure 112018036182306-pat00015
의 값은, 이미지에 삽입되어 있는 워터마크가 다양한 공격에도 강인성을 가짐을 나타낼 수 있다. 낮은
Figure 112018036182306-pat00016
의 값을 가지는 경우, 워터마크 삽입 장치(101)는 가중치의 갱신을 중지하고, 현재의 가중치(예: WD t)를 유지할 수 있다.
도 4는 본 발명의 일 실시예에 따른 워터마크의 갱신과 관련된 네트워크(double network)의 구성의 다른 예를 도시한다. 도 4는 두 개의 네트워크(double network)들에 기반하여 워터마크의 삽입과 추출이 수행되는 경우, 워터마크를 삽입하기 위한 네트워크(또는 인코더(encoder))(예: 도 1의 삽입 모듈(102))의 예를 도시한다. 워터마크의 추출을 위한 네트워크는 도 4의 (b)에 도시된 네트워크에 대응할 수 있다. 이하 도 4에서는 도 3과 중복되는 바에 대한 자세한 설명이 생략될 수 있다.
도 4를 참조하면, 워터마크 삽입 장치(101)는 오토인코더(autoencoder)를 포함하는 삽입 모듈(410)을 이용하여 워터마크(또는 워터마크의 메시지)를 이미지에 삽입할 수 있다. 워터마크 삽입 장치(101)는 이미지를 인코딩한 후, 워터마크를 삽입할 수 있다. 워터마크 삽입 장치(101)는 오토인코더에 포함된 인코더를 이용하여 이미지를 인코딩한 후, 워터마크를 삽입할 수 있다. 워터마크 삽입 장치(101)는 오토인코더에 포함된 디코더를 이용하여 워터마크의 삽입이 수행된 이미지를 디코딩할 수 있다. 워터마크 삽입 장치(101)는 디코딩된 이미지, 삽입 계수, 원본 이미지(또는 워터마크 삽입 전의 이미지), 및/또는 손실 함수를 이용하여 워터마크를 삽입할 수 있다. 손실 함수는 추출 모듈(430)을 통해 획득된 손실 함수일 수 있다. 워터마크 삽입 장치(101)는 손실 함수를 이용함으로써 오토인코더를 이용한 워터마크의 삽입 동작을 학습할 수 있다. 예를 들면, 워터마크 삽입 장치(101)는 손실 함수를 이용함으로써, 워터마크의 삽입이 적절하게(또는 정확하게) 이루어졌는지 여부를 판별할 수 있다. 워터마크 삽입 장치(101)는 판별에 기반하여, 워터마크의 삽입을 갱신할 수 있다. 상기 갱신은, 워터마크의 삽입이 적절하게 이루어지는 방향으로 학습되는 동작을 포함할 수 있다.
두 개의 네트워크들을 사용하는 경우, 워터마크 삽입 장치(101)의 삽입 모듈(410)은, 피드-포워드(feed-forward) 방식으로 워터마크를 갱신하여 삽입할 수 있다. 피드-포워드 방식은, 예를 들면, 오차에 대한 정보를 앞으로(또는 순방향으로) 전달하는 피드백의 한 방식을 지칭할 수 있다. 피드-포워드 방식은 오차에 대한 정보를 역으로 전달하는 역전파기법과 구분될 수 있다. 이에 따라, 워터마크 삽입 장치(101)가 두 개의 네트워크들을 사용하는 경우, 워터마크를 이미지에 빠르게 삽입할 수 있다.
삽입 모듈(410)은 기존의 픽셀 블록을 이용하여 새로운 픽셀 블록을 생성할 수 있다. 이러한 경우, 도 3의 수학식 1은 하기의 수학식 5와 같이 나타날 수 있다.
Figure 112018036182306-pat00017
수학식 5에서, Bt 및 Bt +1 은 각각 반복회수 t 및 t+1에서의 픽셀 블록, α는 삽입 계수, 그리고 함수 AE는 인코더(또는 오토인코더(autoencoder))의 출력을 나타낼 수 있다. 삽입 모듈(410)은 가중치와 이미지에 삽입된 메시지에 대한 정보를 이용하여 AE를 계산할 수 있다. 삽입 모듈(410)은 인코더를 이용하여 이미지의 주파수 영역에 워터마크를 삽입할 수 있다. 삽입 모듈(410)은 인코더에 의해 인코딩된 이미지에 워터마크를 추가할 수 있다.
삽입 모듈(410)은 디코더(decoder)를 이용하여 주파수 영역에 워터마크가 삽입된 이미지를 디코딩함으로써 공간 영역에 대한 이미지로 변환할 수 있다. 삽입 모듈(410)은 이미지를 디코딩 함으로써 이미지에 포함된 워터마크가 공간 영역에 분포되도록 할 수 있다. 한편, 오토인코더와 관련된 손실 함수는 수학식 1의 손실 함수
Figure 112018036182306-pat00018
에 대응할 수 있다. WAE(또는 오토인코더의 가중치)의 갱신과 관련하여서는, 하기의 수학식 6을 이용할 수 있다.
Figure 112018036182306-pat00019
WAE t +1은 t+1번째의 워터마크 삽입에 적용될 삽입 모듈(410)의 인코더의 가중치, WAE t는 반복회수 t에 적용되었던 삽입 모듈(410)의 인코더의 가중치, 그리고
Figure 112018036182306-pat00020
는 하이퍼파라미터(또는 초매개변수로서의 학습 계수)일 수 있다.
Figure 112018036182306-pat00021
은 수학식 1의
Figure 112018036182306-pat00022
에 상응할 수 있으며,
Figure 112018036182306-pat00023
는 추출 모듈(430)의 가중치일 수 있다. WD는 상술한 수학식 4에 기반하여 결정될 수 있다.
워터마크 삽입 장치(101)는 워터마크를 삽입하는 과정에 있어서, 수학식 7 내지 수학식 11 중 적어도 하나를 이용하여 삽입된 워터마크의 비가시성을 조절할 수 있다.
Figure 112018036182306-pat00024
Figure 112018036182306-pat00025
는 삽입 계수,
Figure 112018036182306-pat00026
Figure 112018036182306-pat00027
또는
Figure 112018036182306-pat00028
일 수 있다. 수학식 7 과 수학식 8에 기반하여, 워터마크 삽입 장치(101)는 t회 반복되는 워터마크의 삽입 과정에서 생성된 잔여(residual)(예:
Figure 112018036182306-pat00029
)를 지정된 비율(예:
Figure 112018036182306-pat00030
(=1-a)>0)로 압축할 수 있다. 지정된 비율로 잔여를 압축하여 적용함으로써, 워터마크 삽입 장치(101)는 압축을 위한 가중치에 대한 정보를 별도로 저장하지 않을 수 있다. 워터마크 삽입 장치(101)는 비가시성을 조절하는 별도의 단계없이 워터마크를 삽입하는 단계에서 비가시성을 조절할 수 있다. 한편, 워터마크 삽입 장치(101)는 삽입 계수를 아래의 수학식 9에 기반하여 감소시킬 수 있다.
Figure 112018036182306-pat00031
Figure 112018036182306-pat00032
는 삽입 계수의 감소를 위한 팩터(factor)일 있다. 비가시성 파라미터(또는 비가시성률(invisibility ratio))(이하 K)는
Figure 112018036182306-pat00033
와 수학식 8의
Figure 112018036182306-pat00034
에 기반할 수 있다. 예를 들면, K는
Figure 112018036182306-pat00035
를 포함할 수 있다. 실시예에 따라, K는 워터마크의 강인성을 나타내는 파라미터로 이용될 수 있다. 예를 들면, K가 0인 경우,
Figure 112018036182306-pat00036
또는
Figure 112018036182306-pat00037
이 0일 수 있고, 이에 따라 Bt와 B0가 동일함을 확인할 수 있다. Bt 와 B0가 동일하다는 것은, 이미지에 워터마크가 삽입되지 않고, 워터마크의 비가시성이 무한대이며, 워터마크의 강인성이 없는 경우를 의미할 수 있다. 즉, 이러한 경우에 워터마크가 삽입된 이미지는 원본 이미지와 동일하고, 워터마크를 검출할 수 없는 이미지임을 의미할 수 있다. 다른 예를 들면, K가 1에 가까운 경우, 워터마크의 강인성은 높지만, 워터마크의 비가시성은 낮을 수 있다. 비가시성 또는 강인성을 적절하게 조절하기 위해, K는 0과 1사이의 지정된 값으로 설정될 수 있다.
Figure 112018036182306-pat00038
Figure 112018036182306-pat00039
일 수 있다. 이러한 경우, 그래디언트(예:
Figure 112018036182306-pat00040
)는 노말(normal) 분포를 따르고, 동일하게 분포(identically distributed)될 수 있다. 이러한 경우, 모든 경우의 t에 대해서,
Figure 112018036182306-pat00041
의 구성요소(element)들은 N(0,
Figure 112018036182306-pat00042
)를 따를 수 있다.
공격에 의해 픽셀 블록이 변형된 정도를 나타내는 픽셀 값 차이(pixel value difference)는 수학식 10에 의해 결정될 수 있다.
Figure 112018036182306-pat00043
D는 워터마크가 삽입되기 전의 픽셀 블록(B0)과 워터마크가 삽입된 후의 픽셀 블록(Bt) 각각이 나타내는 값의 차이일 수 있다. 픽셀 값 차이의 변화를 나타내는 변화량(variance)은 하기의 수학식 11에 따라 결정될 수 있다.
Figure 112018036182306-pat00044
Figure 112018036182306-pat00045
Figure 112018036182306-pat00046
변화량이 최소일 때, 워터마크의 비가시성은 최대일 수 있다. 따라서, 워터마크 삽입 장치(101)는 상기의 수학식 11과 옌센 부등식(Jensen's inequality)에 기반한 하기의 수학식 12를 이용하여 비가시성 파라미터인, K의 값을 결정할 수 있다.
Figure 112018036182306-pat00047
Figure 112018036182306-pat00048
Figure 112018036182306-pat00049
Figure 112018036182306-pat00050
이 동일한 경우, 수학식 12가 성립할 수 있다. 수학식 12의 성립을 위해,
Figure 112018036182306-pat00051
Figure 112018036182306-pat00052
는 모두
Figure 112018036182306-pat00053
로 지정될 수 있다. 에를 들면, K는 0.75일 수 있고, 이러한 경우,
Figure 112018036182306-pat00054
Figure 112018036182306-pat00055
는 모두
Figure 112018036182306-pat00056
로 지정될 수 있다.
워터마크 삽입 장치(101)는 상술한 수학식 5 내지 수학식 12에 기반하여 워터마크의 삽입을 위한 학습(traninig)을 수행할 수 있다. 학습을 수행하는 과정에서, 추출 모듈(430)은 이미지에 대한 정보와 삽입된 워터마크에 대한 정보를 저장하고 있을 수 있다. 추출 모듈(430)은 저장된 정보에 기반하여 추출 모듈(430)의 워터마크 추출에 대한 학습을 수행할 수 있다. 예를 들면, 추출 모듈(430)은 저장된 정보를 이용하여 워터마크 추출이 정확하게 되는 방향으로 학습을 수행할 수 있다. 도시하지는 않았으나, 실시예들에 따라, 추출 모듈(430)은 이러한 학습의 수행 과정에서 획득된 워터마크와 관련된 정보를 삽입 모듈(410)에게 제공할 수 있다. 워터마크와 관련된 정보는, 예를 들면, 공격에 의해 손상된 워터마크의 부분을 포함할 수 있다.
워터마크 삽입 장치(101)는 학습을 완료하면, 워터마크의 삽입과 관련된 인공 지능 알고리즘의 가중치를 고정할 수 있다. 가중치가 고정되는 경우, 워터마크 삽입 장치(101)는 추출 모듈(430)을 이용하여 학습과 관련된 데이터를 획득하는 동작을 중지할 수 있다. 즉, 워터마크 삽입 장치(101)는 학습이 완료된 경우, 가중치의 갱신을 중지할 수 있다. 학습이 완료된 후, 삽입 모듈(410)과 추출 모듈(430)은 서로 독립적으로 동작할 수 있다. 예를 들면, 삽입 모듈(410)과 추출 모듈(430)을 분리하여 각각의 상황에 따라 적절한 구성을 이용할 수 있다. 즉, 학습이 완료된 삽입 모듈(410)과 추출 모듈(430)의 경우, 워터마크를 삽입할 때 삽입 모듈(410)을 이용하고, 추후에 워터마크의 확인이 필요한 경우에는 추출 모듈(430)을 이용할 수 있다. 실시예에 따라, 삽입 모듈(410)과 추출 모듈(430)은 각기 서로 다른 사용자에 의해 사용될 수 있다. 예를 들면, 삽입 모듈(410)은 이미지 배포 전 워터마크를 삽입하고자 하는 사용자에 의해 사용될 수 있으며, 추출 모듈(430)은 배포된 이미지 중 임의의 이미지를 선정하여 워터마크 확인을 하고자 하는 사용자가 이용할 수 있다. 또한, 삽입 모듈(410)과 추출 모듈(430)이 독립적이어서 서로 영향을 받지 않으므로, 워터마크 삽입 장치(101)의 워터마크의 삽입에 대한 보안성이 강화될 수 있다.
도 5는 본 발명의 일 실시예에 따른 워터마크의 갱신과 관련된 네트워크의 구성의 또 다른 예를 도시한다. 이하 도 5에서는 도 3 또는 도 4와 중복되는 바에 대한 자세한 설명이 생략될 수 있다.
워터마크 삽입 장치(101)는 이미지 전체를 네트워크의 입력(input)으로 이용할 수 있다. 예를 들어, 도 5를 참조하면, 워터마크 삽입 장치(101)는 커버 이미지 I를 최초의 입력(예: I0)으로 지정할 수 있다. 이러한 경우, 워터마크 삽입 장치(101)는 넓은 영역(예: 이미지 전체)에 대해 워터마크를 삽입하거나, 검출할 수 있다. 워터마크 삽입 장치(101)는 잔여 유닛(residual unit)의 수가 r이라고 할 때, 삽입될 메시지의 결정에 영향을 주는 영역의 크기(또는 receptive field)를 하기의 수학식 13을 통해 결정할 수 있다. (4r+1)(4r+1)로 결정할 수 있다.
Figure 112018036182306-pat00057
워터마크 삽입 장치(101)는 픽셀 블록 당 워터마크의 메시지의 삽입을 유지할 수 있다. 워터마크 삽입 장치(101)는 워터마크의 메시지를 삽입하거나 추출함에 있어서, 메시지가 삽입될 픽셀 블록의 주변 픽셀 블록을 고려할 수 있다. 워터마크 삽입 장치(101)는 이미지 전체에 대해 강인성을 확보할 만큼 충분한 양의 워터마크의 메시지를 이미지에 삽입할 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
그리고 본 명세서와 도면에 개시된 실시예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (14)

  1. 워터마크 삽입 장치에 있어서, 상기 워터마크 삽입 장치는,
    하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은,
    원본 이미지에 제1 식별 정보를 삽입하고,
    상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하고,
    상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보의 데이터를 획득하고,
    상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하고,
    상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어지는
    워터마크 삽입 장치.
  2. 청구항 1에 있어서,
    상기 제1 식별 정보는 워터마크(watermark)를 포함하고,
    상기 하나 이상의 프로세서들은 블라인드(blind) 방식에 기반하여 상기 원본 이미지에 상기 제1 식별 정보를 삽입하도록 설정된
    워터마크 삽입 장치.
  3. 청구항 2에 있어서,
    상기 블라인드 방식은 신호(signal) 영역 또는 주파수(frequency) 영역 상에서 상기 워터마크를 삽입하는 방식을 포함하는
    워터마크 삽입 장치.
  4. 청구항 1에 있어서, 상기 하나 이상의 프로세서들은,
    상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 상기 인공 지능 알고리즘에 기반하여 상기 제1 식별 정보 및 상기 제2 식별 정보를 식별하고,
    상기 제2 식별 정보의 데이터, 상기 제3 식별 정보의 데이터 및 상기 인공 지능 알고리즘에 기반하여 상기 제1 식별 정보와 관련된 데이터 중 상기 제1 공격 또는 상기 제2 공격에 대해 유지된 부분을 결정하는
    워터마크 삽입 장치.
  5. 청구항 4에 있어서, 상기 하나 이상의 프로세서들은,
    상기 제2 식별 정보의 데이터 또는 제3 식별 정보의 데이터가 상기 제1 식별 정보에 대응하는 경우, 상기 인공 지능 알고리즘과 관련된 가중치를 유지하는
    워터마크 삽입 장치.
  6. 청구항 4에 있어서, 상기 하나 이상의 프로세서들은,
    상기 제2 식별 정보의 데이터 또는 제3 식별 정보의 데이터가 상기 제1 식별 정보에 대응하지 않는 경우, 상기 인공 지능 알고리즘과 관련된 가중치를, 상기 인공 지능 알고리즘의 손실 함수가 최소화되도록 갱신하는
    워터마크 삽입 장치.
  7. 청구항 1에 있어서, 상기 하나 이상의 프로세서들은,
    상기 원본 이미지를 소정 크기의 픽셀 블록(pixel block)들로 나누고,
    상기 픽셀 블록들 각각에 상기 제1 식별 정보의 적어도 일부를 삽입함으로써 상기 원본 이미지에 상기 제1 식별 정보를 삽입하는
    워터마크 삽입 장치.
  8. 청구항 7에 있어서, 상기 하나 이상의 프로세서들은,
    상기 원본 이미지로의 삽입을 갱신하기 위해,
    상기 픽셀 블록들 각각에 삽입되는 상기 제1 식별 정보의 적어도 일부를 변경하는
    워터마크 삽입 장치.
  9. 청구항 7에 있어서, 상기 하나 이상의 프로세서들은,
    상기 원본 이미지로의 삽입을 갱신하기 위해,
    상기 제1 식별 정보의 적어도 일부가 삽입될 상기 픽셀 블록들의 주파수의 위치를 변경하는
    워터마크 삽입 장치.
  10. 청구항 1에 있어서, 상기 하나 이상의 프로세서들은,
    크롭핑(cropping), 아핀 변형(affine transform), JPEG(joint photographic coding experts group) 압축, 가우시안 필터링(Gaussian filtering), 중간 값 필터링(median filtering), 회전(rotation), 또는 크기변형(rescaling) 중 적어도 하나를 이용하여 상기 이미지의 변환을 수행하는
    워터마크 삽입 장치.
  11. 청구항 1에 있어서,
    상기 인공 지능 알고리즘은, 상기 제2 식별 정보 및 상기 제3 식별 정보의 검출과 관련된 제1 인공 지능 알고리즘 및 상기 갱신된 삽입과 관련된 제2 인공 지능 알고리즘을 포함하는
    워터마크 삽입 장치.
  12. 청구항 1에 있어서, 상기 인공 지능 알고리즘은,
    CNN(convolution neural network)에 대한 알고리즘 또는 강화 학습(reinforcement learning)에 대한 알고리즘을 포함하는
    워터마크 삽입 장치.
  13. 워터마크 삽입 장치에 의해 수행되는 방법에 있어서, 상기 방법은,
    원본 이미지에 제1 식별 정보를 삽입하는 동작과,
    상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하는 동작과,
    상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보에 대한 데이터를 획득하는 동작과,
    상기 제2 식별 정보의 데이터, 상기 제3 식별 정보에 대한 데이터, 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하는 동작을 포함하고,
    상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어지는 방법.
  14. 프로세서에 의해 실행 가능한 명령어들을 포함하는 컴퓨터-판독 가능(computer-readable) 저장(storage) 매체(medium)에 있어서,
    상기 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    원본 이미지에 제1 식별 정보를 삽입하는 동작과,
    상기 제1 식별 정보가 삽입된 원본 이미지에 대한 제1 공격 및 상기 제1 식별 정보가 삽입된 원본 이미지에 대한 상기 제1 공격과 동작이 상이한 제2 공격을 각각 수행하여, 상기 제1 공격에 의해 변환된 제1 이미지 및 상기 제2 공격에 의해 변환된 제2 이미지를 획득하는 동작과,
    상기 획득에 기반하여, 상기 제1 이미지 및 상기 제2 이미지를 식별함으로써 상기 제1 이미지에 대한 제2 식별 정보의 데이터 및 상기 제2 이미지에 대한 제3 식별 정보에 대한 데이터를 획득하는 동작과,
    상기 제2 식별 정보의 데이터, 상기 제3 식별 정보에 대한 데이터, 및 인공 지능(artificial intelligence, AI) 알고리즘(algorithm)에 기반하여 상기 제1 식별 정보의 변형이 최소화되도록 상기 제1 식별 정보의 상기 원본 이미지로의 삽입을 갱신하는 동작을 수행하도록 하고,
    상기 제2 식별 정보 및 상기 제3 식별 정보는 상기 제1 식별 정보를 기초로 각각 얻어지는 컴퓨터-판독 가능 저장 매체.
KR1020180042355A 2018-04-11 2018-04-11 워터마크를 삽입하기 위한 방법 및 장치 KR101980886B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180042355A KR101980886B1 (ko) 2018-04-11 2018-04-11 워터마크를 삽입하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180042355A KR101980886B1 (ko) 2018-04-11 2018-04-11 워터마크를 삽입하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101980886B1 true KR101980886B1 (ko) 2019-05-24

Family

ID=66680048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180042355A KR101980886B1 (ko) 2018-04-11 2018-04-11 워터마크를 삽입하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101980886B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650983A (zh) * 2019-10-10 2021-04-13 百度(美国)有限责任公司 数据处理加速器及由数据处理加速器执行的计算机实现的方法
KR102239771B1 (ko) * 2019-12-30 2021-04-13 경일대학교산학협력단 다종 콘텐츠 환경에서 딥러닝 기반의 워터마크를 실행하기 위한 장치 및 이를 위한 방법
KR20210085491A (ko) * 2019-12-30 2021-07-08 경일대학교산학협력단 다종 콘텐츠 저작권 보호를 위한 딥러닝 기반 워터마킹 시스템 및 이를 위한 방법
KR20210109900A (ko) * 2020-02-28 2021-09-07 선문대학교 산학협력단 이미지 식별 정보 삽입 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019464A1 (en) * 2001-08-28 2003-03-06 University Of North Carolina At Charlotte Automated digital watermarking methods using neural networks
WO2004003841A2 (en) * 2002-06-27 2004-01-08 University Of Bristol Image attack characterisation by double watermarking
KR20140140928A (ko) 2013-05-30 2014-12-10 주식회사 마크애니 워터마크 삽입 방법, 장치 및 시스템, 워터마크 검출 방법 및 장치, 및 디지털 문서 보호 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019464A1 (en) * 2001-08-28 2003-03-06 University Of North Carolina At Charlotte Automated digital watermarking methods using neural networks
WO2004003841A2 (en) * 2002-06-27 2004-01-08 University Of Bristol Image attack characterisation by double watermarking
KR20140140928A (ko) 2013-05-30 2014-12-10 주식회사 마크애니 워터마크 삽입 방법, 장치 및 시스템, 워터마크 검출 방법 및 장치, 및 디지털 문서 보호 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650983A (zh) * 2019-10-10 2021-04-13 百度(美国)有限责任公司 数据处理加速器及由数据处理加速器执行的计算机实现的方法
KR102239771B1 (ko) * 2019-12-30 2021-04-13 경일대학교산학협력단 다종 콘텐츠 환경에서 딥러닝 기반의 워터마크를 실행하기 위한 장치 및 이를 위한 방법
KR20210085491A (ko) * 2019-12-30 2021-07-08 경일대학교산학협력단 다종 콘텐츠 저작권 보호를 위한 딥러닝 기반 워터마킹 시스템 및 이를 위한 방법
KR102315605B1 (ko) * 2019-12-30 2021-10-20 경일대학교산학협력단 다종 콘텐츠 저작권 보호를 위한 딥러닝 기반 워터마킹 시스템 및 이를 위한 방법
KR20210109900A (ko) * 2020-02-28 2021-09-07 선문대학교 산학협력단 이미지 식별 정보 삽입 방법 및 장치
KR102380187B1 (ko) * 2020-02-28 2022-03-30 선문대학교 산학협력단 이미지 식별 정보 삽입 방법 및 장치

Similar Documents

Publication Publication Date Title
Singh et al. A new robust watermarking system in integer DCT domain
CN111784556B (zh) 在图像中添加数字水印的方法、装置、终端及存储介质
Khan et al. Genetic perceptual shaping: Utilizing cover image and conceivable attack information during watermark embedding
Yen et al. Frequency domain digital watermark recognition using image code sequences with a back-propagation neural network
KR101980886B1 (ko) 워터마크를 삽입하기 위한 방법 및 장치
Patel et al. Noise benefits in quantizer-array correlation detection and watermark decoding
Hajjaji et al. Combining Haar wavelet and Karhunen Loeve transforms for medical images watermarking
Behnia et al. Watermarking based on discrete wavelet transform and q-deformed chaotic map
CN113344003A (zh) 目标检测方法及装置、电子设备和存储介质
Hamamoto et al. Image watermarking technique using embedder and extractor neural networks
Hatoum et al. Normalized blind STDM watermarking scheme for images and PDF documents robust against fixed gain attack
Berg et al. Searching for Hidden Messages: Automatic Detection of Steganography.
Chang et al. Copyright authentication for images with a full counter-propagation neural network
Chang et al. Robust image authentication using content based compression
Li et al. A new robust watermarhing scheme based on shuffled frog leaping algorithm
Altun et al. A set theoretic framework for watermarking and its application to semifragile tamper detection
Hu et al. A progressive QIM to cope with SVD-based blind image watermarking in DWT domain
JP2008536380A (ja) 量子化・透かし入れの方法
Soualmi et al. A blind watermarking approach based on hybrid Imperialistic Competitive Algorithm and SURF points for color Images’ authentication
Bansal et al. Watermarking using neural network and hiding the trained network within the cover image
Nam et al. WAN: Watermarking attack network
Bideh et al. Security analysis of a key based color image watermarking vs. a non-key based technique in telemedicine applications
Naffouti et al. An additive image watermarking method based on particle swarm optimization
Kaur et al. Digital watermarking in neural networks models
CN117437108B (zh) 一种针对图像数据的水印嵌入方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant