KR102679321B1 - 워터마크 임베딩 방법 및 그 시스템 - Google Patents
워터마크 임베딩 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR102679321B1 KR102679321B1 KR1020230103871A KR20230103871A KR102679321B1 KR 102679321 B1 KR102679321 B1 KR 102679321B1 KR 1020230103871 A KR1020230103871 A KR 1020230103871A KR 20230103871 A KR20230103871 A KR 20230103871A KR 102679321 B1 KR102679321 B1 KR 102679321B1
- Authority
- KR
- South Korea
- Prior art keywords
- pattern
- payload
- embedding
- weight
- area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000000605 extraction Methods 0.000 claims abstract description 83
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 17
- 238000011156 evaluation Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 19
- 238000001228 spectrum Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0601—Image watermarking whereby calibration information is embedded in the watermark, e.g. a grid, a scale, a list of transformations
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
Abstract
워터마크 임베딩 방법 및 그 시스템이 제공된다. 몇몇 실시예들에 따른 워터마크 임베딩 방법은, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계, 페이로드가 내재된 페이로드 패턴을 획득하는 단계, 원본 이미지에 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 단계 및 중간 이미지에 페이로드 패턴을 임베딩하는 단계를 포함할 수 있다. 이러한 방법에 따르면, 워터마크의 비가시성(invisibility)과 추출 성능이 함께 향상될 수 있다.
Description
본 개시는 워터마크(watermark) 임베딩(embedding) 방법 및 그 시스템에 관한 것으로, 보다 상세하게는, 주어진 이미지에 워터마크를 비가시적으로 임베딩하는 방법 및 그 시스템에 관한 것이다.
디지털 워터마킹(digital watermarking)은 사진이나 동영상 같은 각종 디지털 데이터에 특정 정보를 임베딩(삽입)하는 기술을 의미한다. 이러한 워터마킹 기술은 무단 복제 방지, 진위 판별, 정보 라벨링(labelling) 등과 같은 다양한 용도로 활용되고 있다.
최근에는, 인간의 시각으로 인지되지 않는 방식으로 원본 이미지에 워터마크를 임베딩하는 기술이 큰 주목을 받고 있으며, 이와 관련된 연구들도 활발하게 진행되고 있다. 예를 들어, 워터마크의 비가시성(invisibility)과 워터마크의 추출 성능(즉, 인식률)을 함께 향상시키기 위한 연구가 진행된 바 있다.
그러나, 워터마크의 비가시성과 워터마크의 추출 성능 간에는 어느 정도의 트레이드 오프(trade-off)가 존재하기 때문에, 이 두가지를 함께 향상시키는 것은 상당히 어려우며, 지속적인 연구가 필요한 실정이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 워터마크(watermark)의 비가시성(invisibility)을 향상시키고 원본 이미지의 품질 저하를 최소화할 수 있는 워터마크 임베딩 방법 및 그 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 워터마크의 추출 성능(즉, 인식률)을 향상시킬 수 있는 워터마크 임베딩 방법 및 그 시스템을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법은, 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -, 상기 페이로드가 내재된 페이로드 패턴을 획득하는 단계, 상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 단계 및 상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 페이로드 패턴을 획득하는 단계는, 제1 난수열에 기초하여 결정된 인코딩 규칙을 이용하여 상기 페이로드를 인코딩함으로써 제1 페이로드 패턴을 생성하는 단계 - 상기 인코딩 규칙은 상기 페이로드의 값을 미리 정의된 단위 패턴으로 인코딩하는 규칙임 -, 상기 제1 난수열과 다른 제2 난수열에 기초하여 결정된 인코딩 규칙을 이용하여 상기 페이로드를 인코딩함으로써 제2 페이로드 패턴을 생성하는 단계 및 상기 제1 페이로드 패턴과 상기 제2 페이로드 패턴을 결합하여 상기 페이로드 패턴을 생성하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 중간 이미지를 생성하는 단계는, 상기 베이스 패턴과 제1 가중치에 기초하여 상기 원본 이미지의 픽셀값을 조정함으로써 상기 중간 이미지를 생성하는 단계 - 상기 제1 가중치는 상기 베이스 패턴에 따른 픽셀값의 조정 강도를 나타내는 값임 - 를 포함하고, 상기 제1 가중치는 상기 페이로드 패턴에 따른 픽셀값 조정 강도를 나타내는 제2 가중치보다 작은 값을 가질 수 있다.
몇몇 실시예들에서, 상기 베이스 패턴은 제1 가중치에 기초하여 상기 원본 이미지의 픽셀값을 조정함으로써 임베딩되고, 상기 제1 가중치는 상기 베이스 패턴에 따른 픽셀값의 조정 강도를 나타내는 값이며, 상기 페이로드 패턴을 임베딩하는 단계는, 가중치 파라미터의 값을 변경해가며 상기 페이로드 패턴을 임베딩하고 상기 페이로드의 추출 성능을 평가하는 단계 - 상기 가중치 파라미터의 값은 상기 페이로드 패턴에 따른 픽셀값의 조정 강도를 나타내는 값임 -, 상기 평가의 결과에 기초하여 상기 페이로드 패턴에 적용될 제2 가중치를 결정하는 단계 및 상기 페이로드 패턴과 상기 제2 가중치에 기초하여 상기 중간 이미지의 픽셀값을 조정하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 페이로드 패턴은 복수의 단위 패턴들을 포함하고, 상기 페이로드 패턴을 임베딩하는 단계는, 상기 중간 이미지의 특정 단위 영역의 픽셀값들로부터 특정 단위 패턴이 추출 가능한지 여부를 판단하는 단계 - 상기 특정 단위 영역은 상기 복수의 단위 패턴들 중 상기 특정 단위 패턴이 임베딩될 영역임 - 및 상기 특정 단위 패턴이 추출 가능하다는 판단에 기초하여 상기 특정 단위 패턴의 임베딩 과정을 스킵하거나 상기 페이로드 패턴에 설정된 가중치보다 작은 가중치에 기초하여 상기 특정 단위 패턴을 임베딩하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 페이로드 패턴을 임베딩하는 단계는, 상기 중간 이미지의 제1 영역에 상기 페이로드 패턴의 제1 블록을 제1 가중치에 기초하여 임베딩하는 단계 및 상기 중간 이미지의 제2 영역에 상기 페이로드 패턴의 제2 블록을 제2 가중치에 기초하여 임베딩하는 단계를 포함하되, 상기 제1 가중치와 상기 제2 가중치는 각각 상기 제1 블록과 상기 제2 블록에 따른 픽셀값 조정 강도를 나타내는 값이고, 상기 제1 영역은 상기 제2 영역보다 고주파수의 영역이며, 상기 제1 가중치는 상기 제2 가중치보다 큰 값으로 결정될 수 있다.
몇몇 실시예들에서, 상기 페이로드 패턴을 임베딩하는 단계는, 스케일 파라미터의 값에 기초하여 상기 페이로드 패턴을 스케일링하는 단계 및 상기 스케일링된 페이로드 패턴을 상기 중간 이미지에 임베딩하는 단계를 포함하고, 상기 중간 이미지는 상기 스케일 파라미터의 값에 기초하여 스케일링된 상기 베이스 패턴을 임베딩함으로써 생성된 것일 수 있다.
몇몇 실시예들에서, 상기 스케일 파라미터의 값은 상기 원본 이미지의 사이즈에 기초하여 결정될 수 있다.
몇몇 실시예들에서, 상기 스케일링된 페이로드 패턴은 복수의 스케일링된 단위 패턴들을 포함하고, 상기 복수의 스케일링된 단위 패턴들 각각은 복수의 블록들을 포함하며, 상기 스케일링된 페이로드 패턴을 상기 중간 이미지에 임베딩하는 단계는, 상기 복수의 블록들 중 제1 블록에 대응되는 상기 중간 이미지의 제1 영역을 결정하는 단계 및 상기 제1 블록의 값들 중 일부를 추출하여 상기 제1 영역의 가운데 부분에 임베딩하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 제1 블록에 대응되는 상기 스케일링된 베이스 패턴의 제2 블록은 상기 제1 영역의 전체에 임베딩되어 있을 수 있다.
몇몇 실시예들에서, 상기 제1 블록에 대응되는 상기 스케일링된 베이스 패턴의 제2 블록의 값들 중 일부도 상기 제1 영역의 상기 가운데 부분에 임베딩되어 있을 수 있다.
몇몇 실시예들에서, 상기 제1 블록에 대응되는 상기 스케일링된 베이스 패턴의 제2 블록의 값들 중 일부는 상기 제1 영역의 외곽 부분에 임베딩되어 있을 수 있다.
상기 기술적 과제를 해결하기 위한, 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 방법은, 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -, 상기 페이로드가 내재된 페이로드 패턴을 획득하는 단계, 제1 가중치 파라미터의 값에 기초하여 상기 원본 이미지의 제1 영역에 상기 베이스 패턴을 임베딩하는 단계 및 상기 제1 가중치와 다른 제2 가중치에 기초하여 상기 원본 이미지의 제2 영역에 상기 페이로드 패턴을 임베딩하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 제1 가중치는 상기 제2 가중치보다 작은 값을 가질 수 있다.
몇몇 실시예들에서, 상기 제1 영역과 상기 제2 영역 간에는 중첩 영역이 존재하지 않을 수 있다.
몇몇 실시예들에서, 상기 제1 영역의 모양은 상기 제2 영역과 상이할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 시스템은, 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고, 상기 컴퓨터 프로그램은, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 동작 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -, 상기 페이로드가 내재된 페이로드 패턴을 획득하는 동작, 상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 동작 및 상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 동작을 위한 인스트럭션들을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 시스템은, 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고, 상기 컴퓨터 프로그램은, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 동작 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -, 상기 페이로드가 내재된 페이로드 패턴을 획득하는 동작, 제1 가중치에 기초하여 상기 원본 이미지의 제1 영역에 상기 베이스 패턴을 임베딩하는 동작 및 상기 제1 가중치와 다른 제2 가중치에 기초하여 상기 원본 이미지의 제2 영역에 상기 페이로드 패턴을 임베딩하는 동작을 위한 인스트럭션들을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -, 상기 페이로드가 내재된 페이로드 패턴을 획득하는 단계, 상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 단계 및 상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
상기 기술적 과제를 해결하기 위한, 본 개시의 다른 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -, 상기 페이로드가 내재된 페이로드 패턴을 획득하는 단계, 제1 가중치 파라미터의 값에 기초하여 상기 원본 이미지의 제1 영역에 상기 베이스 패턴을 임베딩하는 단계 및 상기 제1 가중치와 다른 제2 가중치에 기초하여 상기 원본 이미지의 제2 영역에 상기 페이로드 패턴을 임베딩하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
본 개시의 몇몇 실시예들에 따르면, 워터마크(watermark)의 베이스 패턴(base pattern)과 페이로드 패턴(payload pattern)이 개별적으로 임베딩될 수 있다. 이러한 경우,베이스 패턴과 페이로드 패턴에 적용되는 가중치(즉, 픽셀값의 조정 강도를 나타내는 값), 임베딩 영역의 모양 등을 자유롭게 설계할 수 있는 바, 워터마크 임베딩 알고리즘의 설계 자유도가 크게 향상될 수 있다.
또한, 베이스 패턴이 먼저 임베딩되고 나중에 페이로드 패턴이 임베딩될 수 있다. 이러한 경우, 베이스 패턴의 임베딩에 의해 페이로드 패턴의 임베딩 결과가 약화되는 경우가 미연에 방지될 수 있으므로, 워터마크 추출 성능이 향상될 수 있다. 나아가, 베이스 패턴의 임베딩 결과(즉, 중간 이미지)를 고려하여 페이로드 패턴의 임베딩 여부, 임베딩 강도(즉, 픽셀값의 조정 강도) 등을 조정할 수도 있게 되며, 그 결과 워터마크의 비가시성(invisibility)과 추출 성능(즉, 인식률)이 함께 향상될 수도 있다. 예를 들어, 중간 이미지의 저주파수 영역에는 임베딩 강도를 낮춰서 페이로드 패턴을 임베딩함으로써, 원본 이미지의 품질 저하가 최소화됨과 동시에 워터마크의 비가시성이 향상될 수도 있다. 또는, 중간 이미지의 픽셀값들에 이미 페이로드 패턴이 반영되어 있는 경우(즉, 중간 이미지의 픽셀값으로부터 페이로드 패턴이 추출 가능한 경우)에는, 페이로드 패턴의 임베딩 과정을 스킵(skip)하거나 임베딩 강도를 낮춤으로써, 워터마크의 추출 성능을 유지하면서 비가시성이 향상될 수도 있다. 또는, 중간 이미지에 페이로드 패턴을 상대적으로 강하게 임베딩함으로써, 워터마크의 추출 성능이 향상될 수도 있다(왜냐하면, 주파수 도메인에서 검출되는 베이스 패턴은 그 특성상 약하게 임베딩되더라도 검출이 잘 되기 때문에, 워터마크 추출 성능은 결국 페이로드 패턴의 검출 정확도에 달려 있기 때문임).
또한, 원본 이미지의 단위 영역(또는 서브 영역)의 외곽 부분(또는 전체)에 베이스 패턴을 임베딩하고 가운데 부분에 페이로드 패턴을 임베딩함으로써, 워터마크의 비가시성과 추출 성능이 함께 향상될 수 있다.
또한, 서도 다른 난수열들을 이용하여 페이로드를 반복하여 인코딩하고 인코딩 결과를 결합하여 페이로드 패턴을 생성함으로써, 워터마크 추출 성능은 더욱 향상될 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 몇몇 실시예들에 따른 워터마크(watermark) 임베딩(embedding) 시스템과 워터마크 추출 시스템의 동작을 개략적으로 설명하기 위한 예시적인 도면이다.
도 2는 본 개시의 다양한 실시예들에서 참조될 수 있는 원본 이미지와 워터마크 이미지의 실례를 도시한다.
도 3은 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법을 나타내는 예시적인 흐름도이다.
도 4는 본 개시의 몇몇 실시예들에 따른 베이스 패턴(base pattern) 생성 방식을 설명하기 위한 예시적인 도면이다.
도 5는 본 개시의 몇몇 실시예들에 따른 페이로드 패턴(payload pattern) 생성 방식을 설명하기 위한 예시적인 도면이다.
도 6은 본 개시의 다양한 실시예들에서 참조될 수 있는 인코딩 규칙들을 예시한다.
도 7은 본 개시의 다른 몇몇 실시예들에 따른 페이로드 패턴 생성 방식을 설명하기 위한 예시적인 도면이다.
도 8은 본 개시의 몇몇 실시예들에 따른 임베딩 가중치 결정 방식을 설명하기 위한 예시적인 흐름도이다.
도 9는 본 개시의 몇몇 실시예들에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 흐름도이다.
도 10은 본 개시의 다른 몇몇 실시예들에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 흐름도이다.
도 11 및 도 12는 본 개시의 다양한 실시예들에서 참조될 수 있는 스케일(scale)의 개념을 설명하기 위한 예시적인 도면이다.
도 13 및 도 14는 본 개시의 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 15는 본 개시의 다른 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 16 내지 도 18은 본 개시의 또 다른 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 19는 임베딩 영역의 모양과 관련된 본 개시의 다양한 실시예들에 따른 패턴 임베딩 방식들의 효과를 부연 설명하기 위한 예시적인 도면이다.
도 20은 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 방법을 나타내는 예시적인 흐름도이다.
도 21은 본 개시의 몇몇 실시예들에 따른 워터마크 추출 방법을 나타내는 예시적인 흐름도이다.
도 22는 도 21에 도시된 베이스 패턴 검출 여부 판단 단계의 세부 과정을 나타내는 예시적인 흐름도이다.
도 23은 도 21에 도시된 촬영 이미지 변환 동작을 부연 설명하기 위한 예시적인 도면이다.
도 24는 도 21에 도시된 페이로드의 추출 기준 위치 결정 동작의 세부 과정을 나타내는 예시적인 도면이다.
도 25는 도 21에 도시된 페이로드 추출 단계를 부연 설명하기 위한 예시적인 도면이다.
도 26은 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 시스템 및/또는 워터마크 추출 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
도 2는 본 개시의 다양한 실시예들에서 참조될 수 있는 원본 이미지와 워터마크 이미지의 실례를 도시한다.
도 3은 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법을 나타내는 예시적인 흐름도이다.
도 4는 본 개시의 몇몇 실시예들에 따른 베이스 패턴(base pattern) 생성 방식을 설명하기 위한 예시적인 도면이다.
도 5는 본 개시의 몇몇 실시예들에 따른 페이로드 패턴(payload pattern) 생성 방식을 설명하기 위한 예시적인 도면이다.
도 6은 본 개시의 다양한 실시예들에서 참조될 수 있는 인코딩 규칙들을 예시한다.
도 7은 본 개시의 다른 몇몇 실시예들에 따른 페이로드 패턴 생성 방식을 설명하기 위한 예시적인 도면이다.
도 8은 본 개시의 몇몇 실시예들에 따른 임베딩 가중치 결정 방식을 설명하기 위한 예시적인 흐름도이다.
도 9는 본 개시의 몇몇 실시예들에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 흐름도이다.
도 10은 본 개시의 다른 몇몇 실시예들에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 흐름도이다.
도 11 및 도 12는 본 개시의 다양한 실시예들에서 참조될 수 있는 스케일(scale)의 개념을 설명하기 위한 예시적인 도면이다.
도 13 및 도 14는 본 개시의 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 15는 본 개시의 다른 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 16 내지 도 18은 본 개시의 또 다른 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 19는 임베딩 영역의 모양과 관련된 본 개시의 다양한 실시예들에 따른 패턴 임베딩 방식들의 효과를 부연 설명하기 위한 예시적인 도면이다.
도 20은 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 방법을 나타내는 예시적인 흐름도이다.
도 21은 본 개시의 몇몇 실시예들에 따른 워터마크 추출 방법을 나타내는 예시적인 흐름도이다.
도 22는 도 21에 도시된 베이스 패턴 검출 여부 판단 단계의 세부 과정을 나타내는 예시적인 흐름도이다.
도 23은 도 21에 도시된 촬영 이미지 변환 동작을 부연 설명하기 위한 예시적인 도면이다.
도 24는 도 21에 도시된 페이로드의 추출 기준 위치 결정 동작의 세부 과정을 나타내는 예시적인 도면이다.
도 25는 도 21에 도시된 페이로드 추출 단계를 부연 설명하기 위한 예시적인 도면이다.
도 26은 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 시스템 및/또는 워터마크 추출 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
본 개시의 다양한 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 이하의 실시예들에서 사용되는 용어(기술 및 과학적 용어를 포함)는 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수도 있다. 본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시의 범주를 제한하고자 하는 것은 아니다.
이하의 실시예들에서 사용되는 단수의 표현은 문맥상 명백하게 단수인 것으로 특정되지 않는 한, 복수의 개념을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정되지 않는 한, 단수의 개념을 포함한다.
또한, 이하의 실시예들에서 사용되는 제1, 제2, A, B, (a), (b) 등의 용어는 어떤 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지는 않는다.
이하, 첨부된 도면들을 참조하여 본 개시의 다양한 실시예들에 대하여 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 시스템(10)과 워터마크 추출 시스템(10)의 동작을 개략적으로 설명하기 위한 예시적인 도면이다.
도 1에 도시된 바와 같이, 워터마크 임베딩 시스템(10)은 페이로드(12, payload)가 내재된 워터마크(watermark)를 원본 이미지(13)에 임베딩(삽입)할 수 있는 컴퓨팅 장치/시스템이다. 여기서, 워터마크는 후술될 베이스 패턴(base pattern)과 페이로드 패턴(payload pattern)을 총칭하거나 그러한 패턴들에 내재된 데이터를 지칭하는 용어로 이해될 수 있다. 이하에서는, 설명의 편의상, 워터마크 임베딩 시스템(10)과 워터마크 추출 시스템(11)을 각각 '임베딩 시스템(10)'과 '추출 시스템(11)'으로 약칭하도록 한다.
구체적으로, 임베딩 시스템(10)은 페이로드(12)가 내재된 워터마크를 원본 이미지(13)에 비가시적으로 임베딩함으로써 워터마크 이미지(14)를 생성할 수 있다. 가령, 임베딩 시스템(10)은 미리 정의된 임베딩 규칙에 따라 원본 이미지(13)의 픽셀값을 조정함으로써 원본 이미지(13)에 워터마크를 임베딩할 수 있다. 그렇게 함으로써, 워터마크가 원본 이미지(13)에 비가시적으로 임베딩될 수 있고 원본 이미지(13)의 품질 저하는 최소화될 수 있다. 도 2는 원본 이미지(21)와 예시된 방식으로 특정 페이로드(22)가 임베딩된 워터마크 이미지(23)를 예시하고 있는데, 육안상으로는 두 이미지들(21, 23) 간에 거의 차이가 없는 것을 확인할 수 있다.
페이로드(12)는 임베딩하고자 하는 목적 데이터/정보를 의미한다. 페이로드(12)의 포맷(format)은 다양하게 정의 및 설계될 수 있다. 예를 들어, 페이로드(12)의 포맷은 하기의 표 1과 같이 정의 및 설계될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.
4 bits | 3 bits | 8 bits | 54 bits | 7 bits | 68 bits |
컨트롤 파라미터 | 바디 데이터 | 검증 코드 (CRC-8) |
바디 데이터 에러 정정 코드 | ||
버전 코드 | 검증 코드 (CRC-4) |
컨트롤 파라미터 에러 정정 코드 |
표 1을 참조하면, 페이로드(12)는 예를 들어 15 비트(bits)의 컨트롤 파라미터(control parameter), 54 비트의 바디 데이터(body data), 7 비트의 검증 코드(e.g., CRC-8) 및 68 비트의 에러 정정 코드(error correction code)를 포함하여 구성될 수 있다.
컨트롤 파라미터는 바디 데이터의 타입(e.g., 버전 등) 등과 같은 메타데이터를 의미한다. 컨트롤 파라미터는 예를 들어 4 비트의 버전 코드(version code), 3 비트의 해당 영역에 대한 검증 코드(e.g., CRC-4) 및 8 비트의 에러 정정 코드를 포함하여 구성될 수 있다.
다음으로, 바디 데이터는 임베딩 대상이 되는 실제 데이터/정보(e.g., 원본 이미지(13)가 상품 이미지인 경우, 상품의 ID 등이 될 수 있음)를 의미한다. 54 비트의 바디 데이터는 254의 경우의 수를 표현할 수 있으므로, 바디 데이터를 통해 다양한 정보가 용이하게 임베딩될 수 있다.
다음으로, 에러 정정 코드는 페이로드의 추출 오류를 정정하기 위한 코드를 의미한다. 에러 정정 코드는 예를 들어 BCH(Bose-Chaudhuri-Hocquenghem) 코드일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
임베딩 시스템(10)이 워터마크를 임베딩하는 구체적인 방식에 대해서는 추후 도 3 이하의 도면들을 참조하여 상세하게 설명하도록 한다.
경우에 따라, 임베딩 시스템(10)은 '워터마크 삽입 장치/시스템', '워터마킹(watermarking) 장치/시스템', '워터마크 인코딩 장치/시스템' 등과 같이 명명될 수도 있다.
다음으로, 추출 시스템(11)은 워터마크 이미지(14)에서 페이로드(15)를 추출할 수 있는 컴퓨팅 장치/시스템이다. 가령, 추출 시스템(10)은 촬영 모듈 등을 통해 워터마크 이미지(14)를 획득하고 임베딩 규칙에 따른 연산을 역으로 수행함으로써 워터마크 이미지(14)에 내재된 페이로드(12)를 추출할 수 있다. 구체적인 추출 방식에 대해서는 추후 도 21 이하의 도면들을 참조하여 상세하게 설명하도록 한다.
경우에 따라, 추출 시스템(11)은 '워터마크 검출 장치/시스템', '워터마크 인식 장치/시스템', '워터마크 디코딩 장치/시스템' 등과 같이 명명될 수도 있다.
상술한 임베딩 시스템(10)과 추출 시스템(11)은 적어도 하나의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 임베딩 시스템(10)의 모든 기능이 하나의 컴퓨팅 장치에서 구현될 수도 있고, 임베딩 시스템(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 또는, 임베딩 시스템(10)의 특정 기능이 복수의 컴퓨팅 장치들에서 구현될 수도 있다.
컴퓨팅 장치는 컴퓨팅 기능을 구비한 임의의 장치를 모두 포함할 수 있으며, 이러한 장치의 일 예시에 관하여서는 도 26을 참조하도록 한다. 컴퓨팅 장치는 다양한 구성요소들(e.g. 메모리, 프로세서 등)이 상호작용하는 집합체이므로, 경우에 따라 '컴퓨팅 시스템'으로 명명될 수도 있다. 물론, 컴퓨팅 시스템이란 용어는 복수의 컴퓨팅 장치들이 상호작용하는 집합체라는 개념도 포괄할 수 있다.
지금까지 도 1 및 도 2를 참조하여 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10)과 추출 시스템(11)의 동작에 대하여 개략적으로 설명하였다. 이하에서는, 도 3 이하의 도면들을 참조하여 상술한 시스템들(10, 11)에서 수행될 수 있는 다양한 방법들에 대하여 상세하게 설명하도록 한다.
먼저, 도 3 내지 도 19를 참조하여 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법에 대하여 설명하도록 한다.
이하에서는, 이해의 편의를 제공하기 위해, 후술될 워터마크 임베딩 방법의 모든 단계/동작이 상술한 임베딩 시스템(10)에서 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계/동작의 주체가 생략된 경우, 임베딩 시스템(10)에서 수행되는 것으로 이해될 수 있다. 다만, 실제 환경에서는 후술될 방법의 일부 단계/동작이 다른 컴퓨팅 장치에서 수행될 수도 있다.
도 3은 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 3에 도시된 바와 같이, 본 실시예들은 동기화 신호가 내재된 주파수 스펙트럼을 이용하여 워터마크의 베이스 패턴을 생성하는 단계 S31에서 시작될 수 있다. 여기서, 동기화 신호는 워터마크의 존재 여부, 워터마크 이미지(즉, 촬영을 통해 얻어진 워터마크 이미지)의 왜곡 정도, 페이로드(또는 페이로드 패턴)의 추출 기준 위치 등을 판단하기 위해 이용되는 신호인데, 미리 정의된 주파수 특성(e.g., 특정 좌표의 매그니튜드 피크)이 동기화 신호로 이용될 수 있다. 주파수 특성을 이용하는 이유는 동기화 신호가 이미지의 왜곡과 노이즈 등에 강인한 특성을 지녀야 하기 때문인 것으로 이해될 수 있다. 베이스 패턴은 임베딩 시스템(10)과 추출 시스템(11) 간에 사전 공유될 수 있다.
구체적인 예를 들어, 도 4에 도시된 바와 같이, 임베딩 시스템(10)은 특정 좌표의 매그니튜드 피크(magnitude peak, 도시된 포인트 참고)를 가지는 주파수 스펙트럼(41)에 대해 역푸리에 변환(Inverse Fourier Transform, e.g., IDFT, IFFT)을 수행함으로써 베이스 패턴(42)을 생성할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 주파수 스펙트럼(41)(또는 스펙트럼 이미지)은 매그니튜드 피크에 해당하는 영역에서만 0이 아닌 매그니튜드 값을 가지고, 매그니튜드 피크 이외의 영역에서는 모두 0의 매그니튜드 값을 갖는 2D 매그니튜드 스펙트럼일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
참고로, 도 4에 도시된 주파수 스펙트럼(41)은 로그 스케일의 매그니튜드(크기) 스펙트럼으로서, 스펙트럼(41)의 가운데가 낮은 주파수를 의미하고 외곽으로 나갈수록 높은 주파수를 의미한다. 또한, 주파수 스펙트럼(41)에서 색상이 밝게 표시된 곳은 해당 좌표의 주파수의 매그니튜드 값이 크다는 것을 의미한다.
베이스 패턴(e.g., 42)은 예를 들어 '128x128' 픽셀 패턴(블록)일 수 있으며, 베이스 패턴(e.g., 42)의 각 픽셀은 제1 색상(e.g., 흰색)과 제2 색상(e.g., 검은색) 중에서 어느 하나에 해당하는 픽셀값(e.g., 255, 0)을 가질 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.
베이스 패턴은 경우에 따라 '노이즈 베이스 패턴', '노이즈 베이스 이미지', '베이스 블록', '동기화 패턴', '동기화 블록' 등과 같이 명명될 수도 있다.
다시 도 3을 참조하여 설명한다.
단계 S32에서, 원본 이미지와 페이로드가 획득될 수 있다. 상술한 바와 같이, 페이로드는 원본 이미지에 임베딩하고자 하는 목적 데이터/정보를 의미한다. 페이로드는 예를 들어 표 1과 같은 포맷으로 구성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
단계 S33에서, 페이로드를 인코딩하여 워터마크의 페이로드 패턴이 생성될 수 있다. 가령, 임베딩 시스템(10)은 인코딩 규칙에 따라 페이로드를 구성하는 각 비트(bit)(또는 바이트 등)의 값을 단위 패턴으로 인코딩(변환)함으로써 페이로드가 내재된 페이로드 패턴을 생성할 수 있다. 이하에서는, 페이로드가 '비트' 단위로 인코딩되는 것을 가정하여 설명을 이어가도록 한다.
본 단계 S33에서 페이로드 패턴을 생성하는 구체적인 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 도 5에 도시된 바와 같이, 임베딩 시스템(10)이 미리 정의된 난수열(53)에 기초하여 페이로드(52)의 특정 비트(52)의 인코딩 규칙(55)을 결정하고 인코딩 규칙(55)에 기초하여 해당 비트(52)를 단위 패턴(56)으로 인코딩(변환)할 수 있다. 예를 들어, 난수열(53)의 길이(즉, 난수 개수)가 페이로드(52)의 비트 길이(즉, 비트 수)와 동일하다고 가정하자. 또한, 도 6에 도시된 바와 같은 6가지의 인코딩 규칙들(e.g., '0'과 '1'을 '2x2' 단위 패턴으로 인코딩하는 규칙)이 정의되어 있다고 가정하자. 이러한 경우, 임베딩 시스템(10)은 난수열(53)에서 페이로드(51)의 특정 비트(52)에 대응되는 난수(54, e.g., '5')를 참조하여 해당 비트(52)에 적용될 인코딩 규칙(55, e.g., 5번째 인코딩 규칙)을 결정할 수 있다. 그리고, 임베딩 시스템(10)은 인코딩 규칙(55)에 따라 해당 비트(52)를 단위 패턴(56)으로 인코딩(변환)할 수 있다. 이러한 인코딩 과정들이 페이로드(51)의 다른 비트들에 대해서도 반복됨으로써 페이로드 패턴(블록)이 생성될 수 있으며, 페이로드(51)가 안전하게 페이로드 패턴으로 변환될 수 있다(즉, 워터마크 임베딩 및 추출 과정의 보안성이 향상될 수 있음). 난수열(53)은 페이로드(51) 추출 시에 이용되어야 하므로, 임베딩 시스템(10)과 추출 시스템(11) 간에 사전 공유될 수 있다.
앞선 실시예들에서, 단위 패턴(e.g., 56)은 페이로드(e.g., 51)의 비트 단위(즉, 인코딩 단위)에 대응되는 픽셀 패턴을 의미한다. 단위 패턴(e.g., 56)은 예를 들어 제1 색상(e.g., 흰색)과 제2 색상(e.g., 검은색)으로 구성된 '2x2' 사이즈의 픽셀 패턴(e.g., 흰색의 픽셀값인 '255'와 검은색의 픽셀값인 '0'으로 구성된 '2x2' 픽셀 패턴)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 단위 패턴(e.g., 56)이 도 5 또는 도 6에 예시된 바와 같은 '2x2' 픽셀 패턴인 경우를 가정하여 설명하도록 한다.
단위 패턴(e.g., 56)은 블록 모양의 픽셀 패턴이므로, 경우에 따라 '단위 블록 패턴', '단위 픽셀 블록', '단위 픽셀 패턴' 등과 같이 명명될 수도 있다.
다른 몇몇 실시예들에서는, 도 7에 도시된 바와 같이, 임베딩 시스템(10)이 서로 다른 다수의 난수열들(72-1 내지 72-N)을 이용하여 페이로드(71)로부터 다수의 페이로드 패턴(또는 블록)들(73-1 내지 73-N)을 생성할 수 있다. 가령, 임베딩 시스템(10)은 제1 난수열(e.g., 72-1)에 기초하여 결정된 인코딩 규칙에 따라 페이로드(71)를 인코딩하여 제1 페이로드 패턴(e.g., 73-1)을 생성하고 제1 난수열(e.g., 72-1)과 다른 제2 난수열(e.g., 72-2)에 기초하여 결정된 인코딩 규칙에 따라 페이로드(71)를 인코딩하여 제2 페이로드 패턴(e.g., 72-2)을 생성할 수 있다. 다음으로, 임베딩 시스템(10)은 다수의 페이로드 패턴들(73-1 내지 73-N)을 결합(취합)하여 최종 페이로드 패턴(74)을 생성할 수 있다. 즉, 임베딩 시스템(10)은 동일한 페이로드(71)를 서로 다른 방식으로 여러 번 인코딩하여 페이로드 패턴(74)을 생성할 수 있다. 이러한 경우, 워터마크 임베딩 및 추출 과정의 보안성이 더욱 향상될 수 있고, 페이로드(71)의 추출 성능(즉, 인식률)도 향상될 수 있다(왜냐하면, 워터마크 이미지에서 다수의 페이로드들을 추출하고 이들을 비교하여 검증할 수 있으므로).
앞선 실시예들에서, 임베딩 시스템(10)은 '25개'의 난수열들(e.g., 72-1)을 이용하여 144 비트의 페이로드(71)로부터 '25개'의 '24x24' 페이로드 패턴들(e.g., 73-1)을 생성하고 이들을 결합하여 '128x128'의 페이로드 패턴(74)을 생성할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.
다시 도 3을 참조하여 설명한다.
참고로, 도 3은 단계 S31 이후에 단계 S32 및 단계 S33이 수행되는 것처럼 도시하고 있으나, 단계 S31은 단계 S32 및 단계 S33과 동시에 수행될 수도 있고 이들 이후에 수행될 수도 있다. 즉, 베이스 패턴과 페이로드 패턴은 어떠한 순서로 생성되더라도 무방하다.
단계 S34에서, 원본 이미지에 베이스 패턴을 임베딩하여 중간 이미지가 생성될 수 있다. 구체적으로, 임베딩 시스템(10)은 베이스 패턴의 픽셀값에 대응되는 임베딩 규칙에 기초하여 원본 이미지의 픽셀값을 조정함으로써 베이스 패턴을 임베딩할 수 있다. 이때, 베이스 패턴의 임베딩 영역(즉, 베이스 패턴이 임베딩되는 영역이자 픽셀값이 조정되는 영역)의 사이즈(스케일), 모양 등은 다양하게 설정될 수 있는데, 이에 대해서는 도 11 내지 도 19을 참조하여 후술하도록 한다.
임베딩 규칙들은 예를 들어 소정의 가중치(e.g., 가중치 파라미터의 값)에 기초하여 이미지(e.g., 원본 이미지)의 픽셀값을 조정하도록 정의될 수 있고, 임베딩 규칙들 각각은 베이스 패턴의 픽셀값과 대응될 수 있다.
예를 들어, 하기의 표 2에 기재된 바와 같이, 임베딩 규칙들은 가중치('W1')와 특정값('α')에 기초하여 Lab 색공간의 a 채널과 b 채널의 값을 상반되게 조정하도록 정의될 수 있다. 여기서, 가중치('W1')는 픽셀값의 조정 강도를 나타내는(제어하는) 값이고, 특정값('α')은 기본 조정폭을 나타내는 값을 의미한다.
픽셀값 | 임베딩 규칙 |
255 | (a 채널 + αxW1, b 채널 - αxW1) |
0 | (a 채널 - αxW1, b 채널 + αxW1) |
다른 예로서, 임베딩 규칙들은 가중치(e.g., W1)에 기초하여 RGB 색공간의 R, G 및 B 채널의 값들을 조정하도록 정의될 수도 있다.
또 다른 예로서, 임베딩 규칙들은 가중치(e.g., W1)에 기초하여 YCbCr 색공간의 Y, Cb 및 Cr 채널의 값들을 조정하도록 정의될 수도 있다.
또 다른 예로서, 임베딩 규칙들은 상술한 예시와 다른 방식으로 정의될 수도 있고, 상술한 예시들의 다양한 조합에 기초하여 정의될 수도 있다.
이하에서는, 본 개시의 명료함을 위해, 다른 언급이 없는 한, 베이스 패턴에 적용되는 임베딩 규칙과 가중치를 각각 '제1 임베딩 규칙'과 '제1 가중치'로 명명하고, 페이로드 패턴에 적용되는 임베딩 규칙과 가중치를 각각 '제2 임베딩 규칙'과 '제2 가중치'로 명명하도록 한다.
단계 S35에서, 중간 이미지에 페이로드 패턴을 임베딩하여 중간 이미지가 생성될 수 있다. 구체적으로, 임베딩 시스템(10)은 페이로드 패턴의 픽셀값에 대응되는 제2 임베딩 규칙에 기초하여 중간 이미지의 픽셀값을 조정함으로써 페이로드 패턴을 임베딩할 수 있다. 이때, 페이로드 패턴의 임베딩 영역(즉, 페이로드 패턴이 임베딩되는 영역이자 픽셀값이 조정되는 영역)의 사이즈, 모양 등도 다양하게 설정될 수 있는데, 이에 대해서는 도 11 내지 도 19를 참조하여 후술하도록 한다.
제2 임베딩 규칙들은 예를 들어 소정의 제2 가중치에 기초하여 이미지(e.g., 중간 이미지)의 픽셀값을 조정하도록 정의될 수 있고, 제2 임베딩 규칙들 각각은 페이로드 패턴의 픽셀값과 대응될 수 있다. 제2 임베딩 규칙들을 제1 임베딩 규칙들과 유사한 방식으로 정의될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
페이로드 패턴을 나중에 임베딩하는 이유는 실제 데이터(즉, 페이로드)가 내재된 페이로드 패턴을 보다 정확하게(즉, 추출이 잘되도록) 임베딩하기 위한 것으로 이해될 수 있다. 다시 말해, 베이스 패턴을 나중에 임베딩하는 경우, 베이스 패턴의 임베딩에 의해 페이로드 패턴의 임베딩 결과가 약화될 수도 있으므로, 이러한 점을 미연에 방지하기 위한 것으로 이해될 수 있다.
또한, 베이스 패턴과 페이로드 패턴을 개별적으로 임베딩하는 이유는 각 패턴이 임베딩되는 영역의 사이즈, 모양, 임베딩 가중치(e.g., 제1 가중치, 제2 가중치) 등을 자유롭게 설정할 수 있다는 이점이 있기 때문이다. 그러한 요소들을 적절하게 설정함으로써 워터마크의 비가시성과 추출 성능이 함께 향상될 수 있는데, 이에 대해서는 도 9 내지 도 19의 설명 내용을 참고하도록 한다.
한편, 제1 가중치 및/또는 제2 가중치를 결정하는 구체적인 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 제1 가중치가 제2 가중치보다 작은 값을 갖도록 설정될 수 있다. 이는 베이스 패턴은 그 특성상 약하게 임베딩되더라도 검출이 잘 되는 점과 워터마크 추출 성능이 보통 페이로드 패턴의 검출 정확도에 의해 크게 좌우되는 점을 반영한 것으로 이해될 수 있다.
다른 몇몇 실시예들에서는, 도 8에 도시된 바와 같이, 임베딩 시스템(10)이 가중치 파라미터의 값을 변경해가며 중간 이미지에 페이로드 패턴을 임베딩하고 페이로드(또는 페이로드 패턴)의 추출 성능을 평가할 수 있다(S81). 그리고, 임베딩 시스템(10)이 평가 결과에 기초하여 페이로드 패턴에 적용될 가중치(즉, 제2 가중치)를 결정할 수 있다(S82, S83 참고). 가령, 임베딩 시스템(10)은 평가 결과가 가장 우수한 가중치 파라미터의 값을 제2 가중치로 결정할 수 있다. 이러한 경우, 중간 이미지의 특성을 고려하여 페이로드 패턴의 임베딩 강도가 적절하게 결정될 수 있으며, 그 결과 워터마크의 비가시성과 추출 성능이 함께 향상될 수 있다.
경우에 따라서는, 임베딩 시스템(10)이 제1 가중치 파라미터와 제2 가중치 파라미터의 값을 변경해가며 원본 이미지에 베이스 패턴과 페이로드 패턴을 임베딩하고 페이로드의 추출 성능을 평가함으로써 패턴들 각각에 적용될 제1 가중치와 제2 가중치의 값을 결정할 수도 있다.
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 제1 가중치 및/또는 제2 가중치의 값이 결정될 수도 있다.
단계 S35를 통해 생성된 워터마크 이미지는 디지털 이미지 파일의 형태로 출력될 수도 있고 프린팅 장치를 통해 종이 등과 같은 다양한 프린팅 매체 상에 프린팅될 수도 있다. 또한, 워터마크 이미지는 무단 복제 방지, 진위 판별, 정보 라벨링(labelling) 등과 같은 다양한 용도로 활용될 수 있다.
지금까지 도 3 내지 도 8을 참조하여 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법의 전반적인 흐름과 기술적 원리에 대하여 설명하였다. 상술한 바에 따르면, 워터마크의 베이스 패턴과 페이로드 패턴이 개별적으로 임베딩될 수 있다. 이러한 경우,베이스 패턴과 페이로드 패턴에 적용되는 가중치(즉, 픽셀값의 조정 강도를 나타내는 값), 임베딩 영역의 모양 등을 자유롭게 설계할 수 있는 바, 워터마크 임베딩 알고리즘의 설계 자유도가 크게 향상될 수 있다.
또한, 베이스 패턴이 먼저 임베딩되고 나중에 페이로드 패턴이 임베딩될 수 있다. 이러한 경우, 베이스 패턴의 임베딩에 의해 페이로드 패턴의 임베딩 결과가 약화되는 경우가 미연에 방지될 수 있으므로, 워터마크 추출 성능이 향상될 수 있다. 나아가, 베이스 패턴의 임베딩 결과(즉, 중간 이미지)를 고려하여 페이로드 패턴의 임베딩 여부, 임베딩 강도(즉, 픽셀값의 조정 강도) 등을 조정할 수도 있게 되며, 그 결과 워터마크의 비가시성과 추출 성능(즉, 인식률)이 함께 향상될 수도 있다.
이하에서는, 도 9 내지 도 19를 참조하여 상술한 워터마크 임베딩 방법에 적용될 수 있는 다양한 패턴 임베딩 방식들에 대하여 설명하도록 한다. 후술되는 다양한 패턴 임베딩 방식들은 예를 들어 베이스 패턴 및/또는 페이로드 패턴의 임베딩 단계(e.g., S34, S35)에 적용될 수 있다.
도 9는 본 개시의 몇몇 실시예들에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
본 실시예들은 이미지 영역의 주파수 특성에 따라 가중치를 조정하며 패턴(e.g., 베이스 패턴, 페이로드 패턴)을 임베딩하는 방식에 관한 것이다. 이하에서는, 도 9에 도시된 바와 같이, 중간 이미지(91)에 페이로드 패턴을 임베딩하는 경우를 가정하여 설명을 이어가도록 한다.
구체적으로, 임베딩 시스템(10)은 중간 이미지(91)의 영역들을 주파수를 기준으로 구분할 수 있다. 가령, 임베딩 시스템(10)은 중간 이미지(91)의 영역들을 고주파수 영역(e.g., 92)과 저주파수 영역(e.g., 93)으로 구분할 수도 있고 더 세분화된 기준에 따라 구분할 수도 있다. 임베딩 시스템(10)은 픽셀 단위 또는 더 큰 단위로 그러한 구분을 수행할 수 있다. 다만, 영역을 구분하는 구체적인 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 임베딩 시스템(10)이 픽셀값의 변화 정도에 기초하여 중간 이미지(91)의 영역들을 구분할 수 있다. 가령, 임베딩 시스템(10)은 중간 이미지(91)에서 픽셀값의 변화 정도가 기준치 이상인 영역을 고주파수 영역으로 구분하고 기준치 미만인 영역을 저주파수 영역으로 구분할 수 있다. 또는, 임베딩 시스템(10)은 픽셀값의 변화 정도에 따라 중간 이미지(91)의 영역들을 더 세분화하여 구분할 수도 있다.
다른 몇몇 실시예들에서는, 임베딩 시스템(10)이 경계선 검출 결과에 기초하여 중간 이미지(91)의 영역들을 구분할 수 있다. 가령, 임베딩 시스템(10)은 경계선 검출 필터 등을 이용하여 중간 이미지(91)에서 경계선을 검출할 수 있다. 그리고, 임베딩 시스템(10)은 경계선이 검출된 영역들(e.g., 92)을 고주파수 영역으로 구분하고 나머지 영역(e.g., 93)을 저주파수 영역으로 구분할 수 있다(왜냐하면, 경계선이 검출된 영역이 픽셀값이 급변하는 영역이기 때문). 또는, 임베딩 시스템(10)은 경계선 검출 강도에 따라 중간 이미지(91)의 영역들을 더 세분화하여 구분할 수도 있다.
또 다른 몇몇 실시예들에서는, 임베딩 시스템(10)이 푸리에 변환을 통해 중간 이미지(91)의 영역들을 구분할 수도 있다. 가령, 임베딩 시스템(10)은 중간 이미지(91)의 영역들 각각에 대해 푸리에 변환을 수행하여 영역별 주파수 특성을 분석하고 분석 결과에 기초하여 중간 이미지(91)의 영역들을 구분할 수 있다.
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 중간 이미지(91)의 영역들이 구분될 수도 있다.
다음으로, 임베딩 시스템(10)은 영역 구분 결과에 기초하여 가중치(즉, 제2 가중치)를 조정하며 페이로드 패턴을 임베딩할 수 있다. 가령, 임베딩 시스템(10)은 고주파수 영역에 대해서는 제2 가중치를 증가(즉, 상향 조정)시키고 저주파수 영역에 대해서는 제2 가중치를 감소(즉, 하향 조정)시킬 수 있다. 그렇게 함으로써, 페이로드 패턴이 효과적으로 임베딩됨과 동시에 워터마크의 비가시성은 향상될 수 있다(왜냐하면, 저주파수 영역에 페이로드 패턴이 약하게 임베딩되므로). 경우에 따라, 제2 가중치의 증가폭(또는 감소폭)은 해당 영역의 주파수가 높을수록(또는 낮을수록) 더 크게 결정될 수도 있다.
보다 구체적인 예로서, 중간 이미지(91)의 제1 영역(92)과 제2 영역(93)이 각각 고주파수 영역과 저주파수 영역에 해당하고 제1 영역(92)에 페이로드 패턴의 제1 블록이 임베딩되고 제2 영역(93)에 페이로드 패턴의 제2 블록이 임베딩된다고 가정하자. 이러한 경우, 임베딩 시스템(10)은 중간 이미지(91)의 제2 영역(93)보다 더 큰 가중치에 기초하여 페이로드 패턴의 제1 블록을 제1 영역(92)에 임베딩할 수 있다. 또한, 임베딩 시스템(10)은 중간 이미지(91)의 제1 영역(92)보다 더 작은 가중치에 기초하여 페이로드 패턴의 제2 블록을 제2 영역(93)에 임베딩할 수 있다.
지금까지 도 9를 참조하여 본 개시의 몇몇 실시예들에 따른 패턴 임베딩 방식에 대하여 설명하였다. 상술한 바에 따르면, 이미지의 영역별 주파수 특성에 기초하여 패턴(e.g., 베이스 패턴, 페이로드 패턴)의 임베딩 가중치를 조정함으로써, 워터마크의 비가시성과 추출 성능이 함께 향상될 수 있다. 물론, 원본 이미지의 품질 저하도 최소화될 수 있다.
이하에서는, 도 10을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
본 실시예들은 이미지 영역(e.g., 102)의 픽셀값들에 기초하여 패턴의 임베딩 여부, 임베딩 강도 등을 제어하면서 임베딩을 수행하는 방식에 관한 것이다. 이하에서는, 도 10에 도시된 바와 같이, 중간 이미지(101)의 특정 단위 영역(102)에 특정 단위 패턴(104)을 임베딩하는 경우를 가정하여 설명을 이어가도록 한다. 도 10 등의 도면들에서 단위 영역(e.g., 102)은 단위 패턴(e.g., 104)에 대응되는 이미지 영역을 의미하며, 이하의 설명에서도 '단위 영역'을 동일한 의미로 사용하도록 한다. 단위 영역(e.g., 102)은 경우에 따라 '단위 블록' 등과 같이 명명될 수도 있다.
구체적으로, 임베딩 시스템(10)은 중간 이미지(101)의 단위 영역(102)의 픽셀값들(103 참고)로부터 단위 패턴(104, 즉 해당 단위 영역(102)에 임베딩될 단위 패턴)이 추출(검출) 가능한지 여부(즉, 페이로드 패턴이 이미 반영되어 있는지 여부)를 판단할 수 있다. 가령, 임베딩 시스템(10)은 단위 영역(102)의 픽셀값들(103 참고)을 이용하여 임베딩 규칙을 역으로 연산하는 경우 단위 패턴(104)이 추출되는지 여부를 판단할 수 있다.
다음으로, 임베딩 시스템(10)은 단위 패턴(104)이 추출 가능하다는 판단에 기초하여 단위 패턴(104)의 임베딩 과정을 스킵(skip)할 수 있다. 또는, 임베딩 시스템(10)은 페이로드 패턴에 설정된 가중치(즉, 제2 가중치)보다 작은 가중치에 기초하여 단위 패턴(104)을 임베딩할 수 있다. 이러한 과정들은 중간 이미지(101)를 구성하는 다른 단위 영역들에 대해서도 반복하여 수행될 수 있다. 그렇게 함으로써, 워터마크의 비가시성은 향상되고 원본 이미지의 품질 저하는 최소화될 수 있다.
지금까지 도 10을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 패턴 임베딩 방식에 대하여 설명하였다. 이하에서는, 도 11 내지 도 19를 참조하여 스케일(scale)과 임베딩 영역의 모양과 관련된 패턴 임베딩 방식에 대하여 설명하도록 한다.
먼저, 이해의 편의를 제공하기 위해, 도 11 및 도 12를 참조하여 스케일의 개념에 대하여 먼저 설명하도록 한다.
도 11에 도시된 바와 같이, 스케일은 패턴(e.g., 베이스 패턴, 페이로드 패턴)의 사이즈(해상도)를 의미한다. 가령, 스케일 파라미터의 값이 '2'로 설정된 경우, '2x2' 단위 패턴(111)의 사이즈는'4x4'로 업스케일링될 수 있다(112 참고). 이러한 업스케일링은 픽셀값을 복제하는 방식(도 11 참고)으로 수행될 수도 있고 다른 방식으로 수행될 수도 있다. 다만, 이하에서는, 이해의 편의를 위해, 픽셀값 복제 방식으로 업스케일링이 수행되는 것을 가정하여 설명을 이어가도록 한다. 또한, 도 11 및 도 12에 대한 설명에서는, 업스케일링 전과 후의 단위 패턴들(111, 112)을 구분하여 지칭하기 위해 단위 패턴(111)을 '제1 단위 패턴(111)'으로 지칭하고 업스케일된 단위 패턴(112)을 '제2 단위 패턴(112)'으로 지칭하도록 한다.
도 12에 도시된 바와 같이, 제1 단위 패턴(111)이 업스케일링됨에 따라 단위 영역(122)의 사이즈도 그에 맞게 커질 수 있다. 가령, 중간 이미지(121) 상에서 제1 단위 패턴(111)에 대응되는 단위 영역(122)의 사이즈가 '2x2'라면, 제2 단위 패턴(112)에 대응되는 단위 영역(123)의 사이즈는 '4x4'가 된다.
한편, 스케일 파라미터의 값은 미리 설정된 고정값일 수도 있고 상황에 따라 변동되는 값일 수도 있다. 가령, 스케일 파라미터의 값은 원본 이미지의 크기(또는 해상도)에 기초하여 결정되는 변동값일 수 있다. 구체적으로, 원본 이미지의 사이즈가 커질수록 스케일 파라미터의 값도 증가될 수 있다. 이는 원본 이미지의 사이즈가 클수록 워터마크 이미지를 더 먼 거리에서 촬영할 가능성이 높다는 점을 반영한 것으로 이해될 수 있다. 즉, 워터마크 이미지가 먼 거리에서 촬영된 경우에도 워터마크가 정확하게 추출될 수 있도록, 단위 패턴의 사이즈를 증가시키는 것으로 이해될 수 있다. 다른 예로서, 스케일 파라미터의 값은 원본 이미지의 크기와 관계없이 사전에 고정된 값으로 설정될 수도 있다.
이하에서는, 도 13 내지 도 19를 참조하여 임베딩 영역의 모양과 관련된 다양한 패턴 임베딩 방식들에 대하여 설명하도록 한다.
이하에서는, 이해의 편의를 위해, 스케일 파라미터의 값이 '4'로 설정된 경우(e.g., 단위 패턴의 사이즈가 '8x8'이고, 베이스 패턴과 페이로드 패턴의 사이즈가 '512x512'인 경우)를 가정하여 설명을 이어가도록 한다. 다만, 본 개시의 범위가 이에 한정되는 것은 아니다.
도 13은 본 개시의 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식을 설명하기 위한 예시적인 도면이다.
도 13에 도시된 바와 같이, 본 실시예들은 이미지(131, e.g., 원본 이미지, 중간 이미지)의 단위 영역(e.g., 132)들의 가운데 부분(e.g., 133)에 베이스 패턴과 페이로드 패턴(134 참고)을 함께 임베딩하는 방식에 관한 것이다. 여기서, 패턴(e.g., 베이스 패턴, 페이로드 패턴)을 가운데 부분(e.g., 133)에 임베딩한다는 것은 패턴 전체가 아니라 가운데 부분(e.g., 133)에 대응되는 패턴(e.g., 134)의 일부분(e.g., 135)을 가운데 부분(e.g., 133)에 임베딩하는 것을 의미한다.
구체적으로, 임베딩 시스템(10)은 단위 패턴(134, 즉 업스케일링된 단위 패턴)의 일부분(135, e.g., 가운데 부분)을 추출하여 단위 영역(132)의 가운데 부분(133)에 임베딩할 수 있다. 가령, 임베딩 시스템(10)은 단위 패턴(134)의 가운데 블록(135)의 픽셀값들을 추출하여 단위 영역(132)의 가운데 부분(133)에 임베딩할 수 있다. 여기서, 가운데 블록(135)의 픽셀값을 추출하여 가운데 부분(133)에 임베딩한다는 것은 가운데 블록(135)의 픽셀값에 대응되는 임베딩 규칙에 기초하여 가운데 부분(133)의 픽셀값을 조정하는 것을 의미할 수 있다. 페이로드 패턴을 구성하는 다른 단위 패턴들도 이와 유사한 방식으로 임베딩될 수 있고 베이스 패턴도 이와 유사한 방식으로 임베딩될 수 있다.
또는, 도 14에 도시된 바와 같이, 임베딩 시스템(10)은 단위 패턴(134)을 구성하는 복수의 블록들 각각의 일부분(141 내지 144, e.g., 가운데 부분)을 추출하여 단위 영역(132)의 가운데 부분(133)에 임베딩할 수도 있다. 베이스 패턴도 이와 유사한 방식으로 임베딩될 수도 있다.
패턴(e.g., 베이스 패턴, 페이로드 패턴)을 단위 영역(132)의 가운데 부분(133)에 임베딩하는 이유는 워터마크의 추출 성능을 향상시키기 위한 것으로 이해될 수 있다. 부연 설명하면, 워터마크 추출 시에 워터마크 이미지가 리사이징(e.g., 축소)되는 경우가 많은데, 대부분의 리사이징 기법은 각 영역의 가운데 부분의 픽셀값을 중심으로 보간을 수행한다. 따라서, 가운데 부분(e.g., 133)의 픽셀값의 특성이 보존될 가능성이 외곽 부분에 비해 훨씬 높으며, 이러한 이유로 가운데 부분(e.g., 133)에 패턴을 임베딩하면 워터마크의 추출 성능이 향상되는 것으로 이해될 수 있다.
한편, 경우에 따라서는, 워터마크의 추출 성능을 더욱 향상시키기 위해 페이로드 패턴(e.g., 134)이 베이스 패턴보다 더 강하게 임베딩될 수도 있다(e.g., 제2 가중치가 제1 가중치보다 큰 값으로 설정되는 경우). 이에 대해서는 상술한 설명 내용을 참고하도록 한다.
이하에서는, 도 15를 참조하여 본 개시의 다른 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.
도 15에 도시된 바와 같이, 본 실시예들은 이미지(151, e.g., 원본 이미지, 중간 이미지)의 단위 영역(e.g., 152)을 구성하는 복수의 서브 영역들(e.g., 153)의 가운데 부분(e.g., 154)에 베이스 패턴과 페이로드 패턴(155 참고)을 함께 임베딩하는 방식에 관한 것이다.
구체적으로, 임베딩 시스템(10)은 단위 패턴(155)을 구성하는 블록들의 일부분(156 내지 159, e.g., 가운데 부분)을 추출하여 대응되는 서브 영역(e.g., 153)의 가운데 부분(e.g., 154)에 임베딩할 수 있다. 가령, 임베딩 시스템(10)은 좌상측 블록의 가운데 부분(156, e.g., '2x2' 블록)을 추출하여 좌상측 서브 영역(153)의 가운데 부분(154, e.g., '2x2' 영역)에 임베딩할 수 있다. 페이로드 패턴을 구성하는 다른 단위 패턴들도 이와 유사한 방식으로 임베딩될 수 있고 베이스 패턴도 이와 유사한 방식으로 임베딩될 수 있다(e.g., 좌상측 블록(156)에 대응되는 스케일링된 베이스 패턴의 블록의 일부분도 가운데 부분(154)에 임베딩됨). 이러한 경우에도, 상술한 이유로 인해 워터마크의 추출 성능이 향상될 수 있다.
이하에서는, 도 16 내지 도 18을 참조하여 본 개시의 또 다른 몇몇 실시예들에 따른 임베딩 영역의 모양과 그에 따른 패턴 임베딩 방식에 대하여 설명하도록 한다. 도 16 내지 도 18에 도시된 이미지 영역(161, 171, 181)은 단위 영역(e.g., 152) 또는 서브 영역(e.g., 153)을 의미할 수 있다.
도 16에 도시된 바와 같이, 임베딩 시스템(10)은 이미지 영역(161)의 외곽 부분(162)에 베이스 패턴(즉, 외곽 부분(162)에 대응되는 베이스 패턴의 일부분)을 임베딩하고 이미지 영역(161)의 가운데 부분(163)에 페이로드 패턴(즉, 가운데 부분(163)에 대응되는 페이로드 패턴의 일부분)을 임베딩할 수 있다(e.g., 스케일링된 단위 패턴의 제1 블록을 가운데 부분(163)에 임베딩하고 제1 블록에 대응되는 스케일링된 베이스 패턴의 제2 블록을 외곽 부분(162)에 임베딩하는 경우). 이때, 외곽 부분(162)은 가운데 부분(163)과 중첩되지 않도록 설정될 수 있다. 이러한 경우, 워터마크의 추출 성능과 워터마크의 비가시성이 함께 향상될 수 있는데, 이에 대해서는 도 19의 설명 내용을 참고하도록 한다.
또는, 도 17에 도시된 바와 같이, 임베딩 시스템(10)이 이미지 영역(171)의 전체에 베이스 패턴을 임베딩하고 이미지 영역(171)의 가운데 부분(172)에 페이로드 패턴을 임베딩할 수 있다(e.g., 스케일링된 단위 패턴의 제1 블록을 가운데 부분(172)에 임베딩하고 제1 블록에 대응되는 스케일링된 베이스 패턴의 제2 블록을 영역(171) 전체에 임베딩하는 경우). 이러한 경우에도, 상술한 이유로 인해 워터마크의 추출 성능이 향상될 수 있다.
경우에 따라서는, 도 18에 도시된 바와 같이, 임베딩 시스템(10)이 이미지 영역(181)의 전체에 베이스 패턴과 페이로드 패턴을 함께 임베딩할 수도 있다.
도 19는 임베딩 영역의 모양과 관련된 다양한 임베딩 방식들의 효과를 부연 설명하기 위한 예시적인 도면이다. 도 19는 원본 이미지(191)의 특정 단위 영역(192)의 좌상측 서브 영역(193)에 3가지 방식으로 베이스 패턴과 페이로드 패턴을 임베딩한 결과(195 내지 197)를 비교 도시하고 있다. 구체적으로, 도 19에서 최좌측의 픽셀값들(194, e.g., 특정 채널의 픽셀값)은 서브 영역(193)의 픽셀값을 나타내고, 다른 픽셀값들(195 내지 197)은 각각 도 18, 도 15, 도 17(또는 도 16에서 예시된 모양에서 페이로드 패턴을 강하게 임베딩하는 경우)에 예시된 방식으로 생성된 워터마크 이미지(이하, '이미지1', '이미지2', '이미지3'으로 약칭함)의 픽셀값들 나타낸다. 도 19는 베이스 패턴과 페이로드 패턴의 임베딩 규칙이 픽셀값을 '6'만큼 증가시키도록 정의된 경우를 가정하고 있다.
도 19를 참조하면, '이미지3'의 경우 외곽 부분의 픽셀값(e.g., '134')과 가운데 부분의 픽셀값(e.g., '140')의 차이가 '이미지2'에 비해 상대적으로 작은 것을 확인할 수 있다. 이를 통해 '이미지3'이 상대적으로 원본 이미지(191)에 가까운 품질을 갖고 있고 워터마크의 비가시성도 우수하다는 것을 알 수 있다.
또한, '이미지3'의 경우 가운데 부분의 픽셀값(e.g., '140')이 페이로드 패턴을 잘 나타내고 있으므로, 워터마크 추출 성능도 상당히 우수하다는 것을 알 수 있다.
결론적으로, 서브 영역(e.g., 193)의 전체 또는 외곽 부분에 베이스 패턴을 임베딩하고 가운데 부분에 페이로드 패턴을 임베딩하면, 원본 이미지(191)의 품질 저하가 최소화되고 워터마크의 비가시성과 추출 성능은 향상되는 것을 알 수 있다.
지금까지 도 3 내지 도 19를 참조하여 본 개시의 몇몇 실시예들에 따른 워터마크 임베딩 방법에 대하여 설명하였다. 이하에서는, 도 20을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.
도 20은 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 20에 도시된 바와 같이, 본 실시예들은 베이스 패턴과 페이로드 패턴을 순서에 관계없이 임베딩하는 방법에 관한 것이다.
본 실시예들도 동기화 신호가 내재된 주파수 스펙트럼을 이용하여 워터마크의 베이스 패턴을 생성하는 단계 S201에서 시작될 수 있다. 이에 대해서는 상술한 단계 S31의 설명 내용을 참고하도록 한다.
단계 S202에서, 원본 이미지와 페이로드가 획득될 수 있다. 이에 대해서는 상술한 단계 S32의 설명 내용을 참고하도록 한다.
단계 S203에서, 워터마크의 페이로드 패턴이 생성될 수 있다. 이에 대해서는 상술한 단계 S33의 설명 내용을 참고하도록 한다.
단계 S204에서, 원본 이미지의 제1 영역에 베이스 패턴이 임베딩되고 제2 영역에 페이로드 패턴이 임베딩될 수 있다. 가령, 임베딩 시스템(10)은 제1 가중치에 기초하여 원본 이미지의 제1 영역에 베이스 패턴을 임베딩하고 제2 가중치에 기초하여 원본 이미지의 제2 영역에 페이로드 패턴을 임베딩할 수 있다. 이때, 제1 가중치는 제2 가중치보다 작은 값을 갖도록 설정될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
몇몇 실시예들에서는, 제1 영역의 모양이 제 영역과 상이하게 설정될 수 있다. 가령, 도 16 또는 도 17에 예시된 바와 같이, 원본 이미지의 단위 영역(또는 서브 영역)에서 베이스 패턴이 임베딩되는 영역의 모양은 페이로드 패턴이 임베딩되는 영역의 모양과 상이할 수 있다.
또한, 몇몇 실시예들에서는, 제1 영역과 제2 영역이 서로 중첩되지 않도록 설정될 수 있다. 가령, 도 16에 예시된 바와 같이, 원본 이미지의 단위 영역(또는 서브 영역)의 외곽 부분에 베이스 패턴이 임베딩되고 가운데 부분에 페이로드 패턴이 임베딩되며, 가운데 부분과 외곽 부분이 서로 중첩되지 않도록 설정될 수 있다. 보다 구체적인 예로서, 임베딩 시스템(10)은 스케일 파라미터의 값에 기초하여 베이스 패턴과 페이로드 패턴 각각을 스케일링(즉, 업스케일링)할 수 있다. 다음으로, 임베딩 시스템(10)은 스케일링된 단위 패턴(즉, 스케일링된 페이로드 패턴을 구성하는 단위 패턴)을 구성하는 복수의 블록들 각각의 일부분을 추출하여 원본 이미지의 서브 영역의 가운데 부분에 임베딩할 수 있다(즉, 서브 영역 별로 가운데 부분은 제1 영역에 속함). 또한, 임베딩 시스템(10)은 복수의 블록들에 대응되는 베이스 패턴의 블록들 각각의 일부분을 추출하여 해당 서브 영역의 외곽 부분에 임베딩할 수 있다(즉, 서브 영역 별로 외곽 부분은 제2 영역에 속함). 이에 대해서는, 도 15 및 도 17 등의 설명 내용을 더 참고하도록 한다.
한편, 제1 영역과 제2 영역 간에 중첩 영역이 존재하는 경우라면, 임베딩 시스템(10)은 원본 이미지의 제1 영역에 베이스 패턴을 먼저 임베딩한 다음 제2 영역에 페이로드 패턴을 임베딩할 수 있다. 이러한 방식은 도 3을 참조하여 설명한 워터마크 임베딩 방법과 실질적으로 동일하거나 유사한 것으로 이해될 수 있다.
지금까지 도 21을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 워터마크 임베딩 방법에 대하여 설명하였다. 이하에서는, 상술한 바에 따라 임베딩된 워터마크를 추출하는 방법에 대해서 설명하도록 한다.
이하에서는, 이해의 편의를 제공하기 위해, 후술될 워터마크 임베딩 방법의 모든 단계/동작이 상술한 추출 시스템(11)에서 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계/동작의 주체가 생략된 경우, 추출 시스템(11)에서 수행되는 것으로 이해될 수 있다. 다만, 실제 환경에서는 후술될 방법의 일부 단계/동작이 다른 컴퓨팅 장치에서 수행될 수도 있다.
도 21은 본 개시의 몇몇 실시예들에 따른 워터마크 추출 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 21에 도시된 바와 같이, 실시예들에 따른 워터마크 추출 방법은 촬영 이미지를 획득하는 단계 S211에서 시작될 수 있다. 가령, 추출 시스템(10)은 내장된 촬영 모듈을 통해 이미지(즉, 워터마크 추출 대상 이미지)를 촬영할 수도 있고 외부 장치로부터 촬영 이미지를 수신할 수도 있다.
단계 S212에서, 베이스 패턴 검출 여부가 판단될 수 있다. 즉, 촬영 이미지에 워터마크가 존재하는 여부가 판단될 수 있다. 가령, 추출 시스템(11)은 베이스 패턴을 검출하기 위해 촬영 이미지에서 복수의 영역들(e.g., '256x256', '512x512'의 이미지 영역 등)을 추출하고 해당 영역들 각각에 대해 도 22에 도시된 동작/단계들을 수행함으로써 베이스 패턴을 검출할 수 있다. 복수의 영역들 간에는 중첩 영역이 존재할 수도 있다. 도 22는 베이스 패턴이 2D 매그니튜드 스펙트럼으로부터 생성된 경우를 가정하고 있다. 이하, 도 22를 참조하여 설명한다.
단계 S221에서, 이미지 영역을 주파수 도메인으로 변환하여 2D 매그니튜드 스펙트럼(MS2, 이하 '제2 스펙트럼'으로 칭함)이 생성될 수 있다.
단계 S222에서, 임베딩 과정에 이용된 베이스 패턴의 2D 매그니튜드 스펙트럼(MS1, 이하 '제1 스펙트럼'으로 칭함)이 준비될 수 있다.
단계 S223에서, 제1 스펙트럼(MS1)과 제2 스펙트럼(MS2) 각각에 대해 로그폴라(LogPolar) 변환이 수행될 수 있다. 로그폴라 변환은 2차원 회전과 크기 변환에 불변한 특성을 갖기 때문에, 이를 이용하면 회전 및 크기 측면에서의 촬영 이미지의 흠결이 보다 정확하게 치유될 수 있다.
단계 S224에서, 로그폴라 변환을 통해 얻어진 결과 이미지들 각각이 주파수 도메인으로 변환될 수 있다.
단계 S225에서, 변환 결과(f_LP1, f_LP)에 대해 곱셈 연산이 수행될 수 있다.
단계 S226에서, 곱셈 연산의 결과(R)와 이미지 영역에 대한 변환 결과(f_LP2)의 매그니튜드 매트릭스(MM2) 간에 나눗셈 연산이 수행될 수 있다. 그 결과, 해당 이미지 영역에 대한 제1 결과 매트릭스가 도출될 수 있다. 여기서, 제1 결과 매트릭스는 해당 이미지 영역 내에 베이스 패턴이 얼마나 포함되어 있는지를 가리키는 매트릭스(e.g., 베이스 패턴이 포함된 비율 등을 나타내는 매트릭스)로 이해될 수 있다. 또한, 제1 결과 매트릭스는 해당 이미지 영역과 베이스 패턴 간의 유사도를 가리키는 매트릭스로도 이해될 수 있다.
단계 S227에서, 해당 이미지 영역에 대한 제1 결과 매트릭스가 공간 도메인으로 변환될 수 있다. 그 결과, 해당 이미지 영역에 대한 제1 참조 이미지가 생성될 수 있다.
단계 S228에서, 제1 참조 이미지를 이용하여 해당 이미지 영역에 대한 제1 유사도 등이 결정될 수 있다. 구체적으로, 제1 참조 이미지의 최대 픽셀값이 제1 유사도로 결정될 수 있고, 최대 픽셀값을 갖는 픽셀의 'X' 좌표와 'Y' 좌표가 각각 회전각과 스케일로 결정될 수 있다.
제1 유사도는 베이스 패턴의 검출 여부를 판단하기 위해 이용되는 값으로 이해될 수 있다. 즉, 추출 시스템(11)은 제1 유사도가 기준치 미만인 경우 해당 이미지 영역에서 베이스 패턴이 검출되지 않은 것으로 판단할 수 있고 반대의 경우라면 베이스 패턴이 검출된 것으로 판단할 수 있다.
상술한 단계 S221 내지 S228은 미리 정의된 조건에 따라 촬영 이미지의 다른 영역들에 대해서도 수행될 수 있다(e.g., 베이스 패턴이 검출될 때까지 수행함).
다시 도 21을 참조하여 설명한다.
단계 S213에서, 검출된 베이스 패턴을 이용하여 촬영 이미지가 변환되고 변환된 촬영 이미지에서 페이로드의 추출 위치가 결정될 수 있다. 본 단계는 촬영 이미지의 방향을 정합시키고 촬영 이미지의 사이즈(해상도)를 임베딩 시의 워터마크 이미지의 사이즈(해상도)에 맞게 변환하는 전처리 과정(e.g., 왜곡을 제거하는 보정 과정)으로 이해될 수 있다. 가령, 도 23에 도시된 바와 같이, 추출 시스템(11)은 임베딩 과정에 이용된 베이스 패턴(231)을 참조하여 촬영 이미지(232)의 회전값(e.g., '')과 스케일(e.g., '120%')을 계산하고(단계 S212 참고) 이들을 이용하여 촬영 이미지(231)를 변환시킬 수 있다(233 참고). 그렇게 함으로써, 워터마크의 추출 성능이 크게 향상될 수 있다.
도 24는 페이로드의 추출 기준 위치를 결정하는 세부 과정을 도시하고 있다. 도 24도 베이스 패턴이 2D 매그니튜드 스펙트럼으로부터 생성된 경우를 가정하고 있으며, 베이스 패턴이 검출된 이미지 영역의 변환 결과(이하, '변환 이미지 영역'으로 약칭함)에 대해 수행될 수 있다. 이하, 도 24를 참조하여 설명한다. 다만, 도 24에 도시된 과정은 로그폴라 변환을 수행하지 않는 점을 제외하고 도 22에 도시된 과정과 유사하므로, 도 22와 중복되는 내용에 대한 설명은 생략하도록 한다.
단계 S241에서, 변환 이미지 영역을 주파수 도메인으로의 변환하여 주파수 도메인의 매트릭스(f2, 이하 '제2 매트릭스'로 칭함)가 생성될 수 있다.
단계 S242에서, 임베딩 과정에 이용된 베이스 패턴의 주파수 도메인 매트릭스(f1, 이하 '제1 매트릭스'로 칭함)가 준비될 수 있다.
단계 S243에서, 제1 매트릭스와 제2 매트릭스 간에 곱셈 연산이 수행될 수 있다.
단계 S244에서, 곱셈 연산의 결과(R')와 변환 이미지 영역의 매그니튜드 매트릭스(MM2', 즉 제2 매트릭스에 대한 매그니튜드 매트릭스) 간에 나눗셈 연산이 수행될 수 있다. 그 결과, 해당 이미지 영역에 대한 제2 결과 매트릭스가 도출될 수 있다.
단계 S245에서, 변환 이미지 영역에 대한 제2 결과 매트릭스가 공간 도메인으로 변환될 수 있다. 그 결과, 변환 이미지 영역에 대한 제2 참조 이미지가 생성될 수 있다.
단계 S246에서, 제2 참조 이미지를 이용하여 변환 이미지 영역에서 페이로드 추출을 위한 기준 위치(e.g., 시작 위치) 등이 결정될 수 있다. 구체적으로, 제2 참조 이미지에서 최대 픽셀값을 갖는 픽셀의 좌표가 기준 위치로 결정되고, 최대 픽셀값이 제2 유사도로 결정될 수 있다.
제2 유사도는 페이로드 추출 여부를 결정하는 판단하기 위해 이용되는 값으로 이해될 수 있다. 즉, 추출 시스템(11)은 제2 유사도가 기준치 미만인 경우 변환 이미지 영역에서 페이로드를 추출할 수 없다고 판단할 수 있고 반대의 경우라면 페이로드 추출 동작을 개시할 수 있다.
다시 도 21을 참조하여 설명한다.
단계 S214에서, 결정된 추출 기준 위치를 참고하여 변환된 촬영 이미지에서 페이로드가 추출될 수 있다. 가령, 추출 시스템(10)은 변환 이미지 영역의 추출 기준 위치로부터 임베딩 연산을 역으로 수행함으로써 페이로드를 추출할 수 있다(e.g., 단위 영역별로 난수열을 참조하여 임베딩 연산을 역으로 수행함으로써 페이로드의 각 비트를 추출함). 이하에서는, 도 5 및 도 6에 도시된 방식으로 페이로드가 임베딩된 경우(즉, 단위 패턴이 '2x2' 픽셀 패턴인 경우)를 가정하여 본 단계 S214의 세부 과정에 대해 부연 설명하도록 한다.
보다 구체적으로, 추출 시스템(10)은 변환 이미지 영역에 대해 모노크롬 변환을 수행할 수 있다. 도 25에 도시된 바와 같이, 워터마크 이미지(253)에 대해 모노크롬 변환을 수행하면, 조정된 픽셀값들이 부각되기 때문에(251, 252, 254 참고), 페이로드가 보다 정확하게 추출될 수 있다.
다음으로, 추출 시스템(10)은 모노크롬화된 이미지 영역에서 '2x2' 픽셀 영역들(즉, 단위 영역)을 순회하면서 임베딩 규칙을 역으로 연산하여 페이로드를 구성하는 각 비트를 추출할 수 있다. 이때, 추출 시스템(11)은 사전에 공유된 난수열을 참조하여 페이로드의 비트를 추출할 수 있다(e.g., 단위 영역의 픽셀값들이 도 10의 103과 같은 경우 단위 패턴(104)이 추출되고 페이로드 비트가 '0'으로 결정됨). 그리고, 추출 시스템(11)은 추출된 비트들을 연결(concatenation)하여 페이로드를 완성시킬 수 있다.
한편, 워터마크 임베딩 과정에서 복수의 난수열들이 이용된 경우라면, 추출 시스템(11)은 제1 난수열을 이용하여 제1 페이로드를 추출하고 제2 난수열을 이용하여 제2 페이로드를 추출할 수 있다. 그리고, 추출 시스템(11)은 제1 페이로드와 제2 페이로드를 비교함으로써 추출된 페이로드를 검증할 수 있다. 그렇게 함으로써, 페이로드 추출 정확도가 더욱 향상될 수 있다.
지금까지 도 22 내지 도 25를 참조하여 본 개시의 몇몇 실시예들에 따른 워터마크 추출 방법에 대하여 설명하였다. 이하에서는, 도 26를 참조하여 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10) 및/또는 추출 시스템(11)을 구현할 수 있는 예시적인 컴퓨팅 장치(260)에 대하여 설명하도록 한다.
도 26은 컴퓨팅 장치(260)를 나타내는 예시적인 하드웨어 구성도이다.
도 26에 도시된 바와 같이, 컴퓨팅 장치(260)는 하나 이상의 프로세서(261), 버스(263), 통신 인터페이스(264), 프로세서(261)에 의하여 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리(262)와, 컴퓨터 프로그램(266)을 저장하는 스토리지(267)를 포함할 수 있다. 다만, 도 26에는 본 개시의 실시예들과 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 26에 도시된 구성요소들 외에 다른 범용적인 구성요소들(e.g., 카메라와 같은 촬영 모듈 등)이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(260)에는 도 26에 도시된 구성요소들 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 26에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(260)가 구성될 수도 있다. 이하, 컴퓨팅 장치(260)의 각 구성요소에 대하여 설명한다.
프로세서(261)는 컴퓨팅 장치(260)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(261)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(261)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(260)는 하나 이상의 프로세서를 구비할 수 있다.
다음으로, 메모리(262)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(262)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(267)로부터 컴퓨터 프로그램(266)을 로드할 수 있다. 메모리(262)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
다음으로, 버스(263)는 컴퓨팅 장치(260)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(263)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
다음으로, 통신 인터페이스(264)는 컴퓨팅 장치(260)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(264)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(264)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
다음으로, 스토리지(267)는 하나 이상의 컴퓨터 프로그램(266)을 비임시적으로 저장할 수 있다. 스토리지(267)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
다음으로, 컴퓨터 프로그램(266)은 메모리(262)에 로드될 때 프로세서(261)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 즉, 프로세서(261)는 로드된 인스트럭션들을 실행시킴으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(266)은 원본 이미지와 워터마크의 베이스 패턴을 획득하는 동작, 페이로드가 내재된 페이로드 패턴을 획득하는 동작, 원본 이미지에 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 동작 및 중간 이미지에 페이로드 패턴을 임베딩하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다.
다른 예로서, 컴퓨터 프로그램(266)은 원본 이미지와 워터마크의 베이스 패턴을 획득하는 동작, 페이로드가 내재된 페이로드 패턴을 획득하는 동작, 제1 가중치에 기초하여 원본 이미지의 제1 영역에 베이스 패턴을 임베딩하는 동작 및 제1 가중치와 다른 제2 가중치에 기초하여 원본 이미지의 제2 영역에 페이로드 패턴을 임베딩하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다.
또 다른 예로서, 컴퓨터 프로그램(266)은 도 1 내지 도 20을 참조하여 설명된 단계들/동작들의 적어도 일부를 수행하도록 하는 인스트럭션들을 포함할 수 있다.
예시된 바와 같은 경우, 컴퓨팅 장치(260)를 통해 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10)이 구현될 수 있다.
또한, 예를 들어, 컴퓨터 프로그램(266)은 도 1, 도 2, 도 21 내지 도 25를 참조하여 설명된 단계들/동작들의 적어도 일부를 수행하도록 하는 인스트럭션들을 포함할 수 있다.
예시된 바와 같은 경우, 컴퓨팅 장치(260)를 통해 본 개시의 몇몇 실시예들에 따른 추출 시스템(11)이 구현될 수 있다.
한편, 몇몇 실시예들에서, 도 26에 도시된 컴퓨팅 장치(260)는 클라우드 기술에 기반하여 구현된 가상 머신을 의미하는 것일 수도 있다. 가령, 컴퓨팅 장치(260)는 서버 팜(server farm)에 포함된 하나 이상의 물리 서버(physical server)에서 동작하는 가상 머신일 수 있다. 이 경우, 도 26에 도시된 프로세서(261), 메모리(262) 및 스토리지(265) 중 적어도 일부는 가상 하드웨어(virtual hardware)일 수 있으며, 통신 인터페이스(264) 또한 가상 스위치(virtual switch) 등과 같은 가상화된 네트워킹 요소로 구현된 것일 수 있다.
지금까지 도 26을 참조하여 본 개시의 몇몇 실시예들에 따른 임베딩 시스템(10) 및/또는 추출 시스템(11)을 구현할 수 있는 예시적인 컴퓨팅 장치(260)에 대하여 설명하였다.
지금까지 도 1 내지 도 26을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
또한, 이상의 실시예들에서 복수의 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 기술적 사상의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
지금까지 설명된 본 개시의 기술적 사상은 컴퓨터로 판독가능한 기록매체 상에 컴퓨터로 판독가능한 코드로 구현될 수 있다. 컴퓨터로 판독가능한 기록매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 해당 컴퓨팅 장치에 설치될 수 있고, 이로써 해당 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 이상 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 설명하였지만, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시의 기술적 사상이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (20)
- 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -;
상기 페이로드의 값을 미리 정해진 사이즈의 단위 패턴으로 인코딩함으로써 복수의 단위 패턴들을 포함하는 페이로드 패턴을 획득하는 단계;
상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 단계; 및
상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 단계를 포함하고,
상기 페이로드 패턴을 임베딩하는 단계는,
스케일링 파라미터의 값을 기초로 상기 복수의 단위 패턴들 각각을 업스케일링함으로써 스케일링된 페이로드 패턴을 생성하는 단계;
가중치 파라미터의 값을 변경해가며 상기 중간 이미지에 상기 스케일링된 페이로드 패턴을 임베딩하고 상기 페이로드의 추출 성능을 평가하는 단계 - 상기 가중치 파라미터의 값은 상기 스케일링된 페이로드 패턴에 따른 상기 중간 이미지의 픽셀값의 조정 강도를 나타내는 값임 -;
상기 평가의 결과에 기초하여 상기 스케일링된 페이로드 패턴에 적용될 가중치를 결정하는 단계; 및
상기 결정된 가중치와 상기 스케일링된 페이로드 패턴에 기초하여 상기 중간 이미지의 픽셀값을 조정함으로써 상기 중간 이미지에 상기 스케일링된 페이로드 패턴을 임베딩하는 단계를 포함하는,
워터마크 임베딩 방법. - 제1항에 있어서,
상기 페이로드 패턴을 획득하는 단계는,
제1 난수열에 기초하여 결정된 인코딩 규칙을 이용하여 상기 페이로드를 인코딩함으로써 제1 페이로드 패턴을 생성하는 단계 - 상기 인코딩 규칙은 상기 페이로드의 값을 미리 정의된 단위 패턴으로 인코딩하는 규칙임 -;
상기 제1 난수열과 다른 제2 난수열에 기초하여 결정된 인코딩 규칙을 이용하여 상기 페이로드를 인코딩함으로써 제2 페이로드 패턴을 생성하는 단계; 및
상기 제1 페이로드 패턴과 상기 제2 페이로드 패턴을 결합하여 상기 페이로드 패턴을 생성하는 단계를 포함하는,
워터마크 임베딩 방법. - 제1항에 있어서,
상기 중간 이미지를 생성하는 단계는,
상기 베이스 패턴과 제1 가중치에 기초하여 상기 원본 이미지의 픽셀값을 조정함으로써 상기 중간 이미지를 생성하는 단계 - 상기 제1 가중치는 상기 베이스 패턴에 따른 픽셀값의 조정 강도를 나타내는 값임 - 를 포함하고,
상기 제1 가중치는 상기 결정된 가중치보다 작은 값을 갖는,
워터마크 임베딩 방법. - 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -;
상기 페이로드가 내재된 페이로드 패턴을 획득하는 단계;
상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 단계; 및
상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 단계를 포함하고,
상기 베이스 패턴은 제1 가중치에 기초하여 상기 원본 이미지의 픽셀값을 조정함으로써 임베딩되며,
상기 제1 가중치는 상기 베이스 패턴에 따른 픽셀값의 조정 강도를 나타내는 값이고,
상기 페이로드 패턴을 임베딩하는 단계는,
가중치 파라미터의 값을 변경해가며 상기 페이로드 패턴을 임베딩하고 상기 페이로드의 추출 성능을 평가하는 단계 - 상기 가중치 파라미터의 값은 상기 페이로드 패턴에 따른 픽셀값의 조정 강도를 나타내는 값임 -;
상기 평가의 결과에 기초하여 상기 페이로드 패턴에 적용될 제2 가중치를 결정하는 단계; 및
상기 페이로드 패턴과 상기 제2 가중치에 기초하여 상기 중간 이미지의 픽셀값을 조정하는 단계를 포함하는,
워터마크 임베딩 방법. - 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -;
상기 페이로드가 내재된 페이로드 패턴을 획득하는 단계;
상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 단계; 및
상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 단계를 포함하고,
상기 페이로드 패턴은 복수의 단위 패턴들을 포함하며,
상기 페이로드 패턴을 임베딩하는 단계는,
상기 중간 이미지의 특정 단위 영역의 픽셀값들로부터 특정 단위 패턴이 추출 가능한지 여부를 판단하는 단계 - 상기 특정 단위 영역은 상기 복수의 단위 패턴들 중 상기 특정 단위 패턴이 임베딩될 영역임 -; 및
상기 특정 단위 패턴이 추출 가능하다는 판단에 기초하여 상기 특정 단위 패턴의 임베딩 과정을 스킵하거나 상기 페이로드 패턴에 설정된 가중치보다 작은 가중치에 기초하여 상기 특정 단위 패턴을 임베딩하는 단계를 포함하는,
워터마크 임베딩 방법. - 제1항에 있어서,
상기 스케일링된 페이로드 패턴을 임베딩하는 단계는,
상기 중간 이미지의 제1 영역에 상기 스케일링된 페이로드 패턴의 제1 블록을 제1 가중치에 기초하여 임베딩하는 단계; 및
상기 중간 이미지의 제2 영역에 상기 스케일링된 페이로드 패턴의 제2 블록을 제2 가중치에 기초하여 임베딩하는 단계를 포함하되,
상기 제1 가중치와 상기 제2 가중치는 각각 상기 제1 블록과 상기 제2 블록에 따른 픽셀값 조정 강도를 나타내는 값이고,
상기 제1 영역은 상기 제2 영역보다 고주파수의 영역이며,
상기 제1 가중치는 상기 제2 가중치보다 큰 값으로 결정되는,
워터마크 임베딩 방법. - 제1항에 있어서,
상기 중간 이미지는 상기 스케일링 파라미터의 값에 기초하여 스케일링된 상기 베이스 패턴을 임베딩함으로써 생성된 것인,
워터마크 임베딩 방법. - 제7항에 있어서,
상기 스케일링 파라미터의 값은 상기 원본 이미지의 사이즈에 기초하여 결정되는,
워터마크 임베딩 방법. - 제7항에 있어서,
상기 업스케일링된 복수의 단위 패턴들 각각은 복수의 블록들을 포함하고,
상기 스케일링된 페이로드 패턴을 임베딩하는 단계는,
상기 복수의 블록들 중 제1 블록에 대응되는 상기 중간 이미지의 제1 영역을 결정하는 단계; 및
상기 제1 블록의 값들 중 일부를 추출하여 상기 제1 영역의 가운데 부분에 임베딩하는 단계를 포함하는,
워터마크 임베딩 방법. - 제9항에 있어서,
상기 제1 블록에 대응되는 상기 스케일링된 베이스 패턴의 제2 블록은 상기 제1 영역의 전체에 임베딩되어 있는,
워터마크 임베딩 방법. - 제9항에 있어서,
상기 제1 블록에 대응되는 상기 스케일링된 베이스 패턴의 제2 블록의 값들 중 일부도 상기 제1 영역의 상기 가운데 부분에 임베딩되어 있는,
워터마크 임베딩 방법. - 제9항에 있어서,
상기 제1 블록에 대응되는 상기 스케일링된 베이스 패턴의 제2 블록의 값들 중 일부는 상기 제1 영역의 외곽 부분에 임베딩되어 있는,
워터마크 임베딩 방법. - 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
원본 이미지와 워터마크의 베이스 패턴을 획득하는 단계 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -;
상기 페이로드의 값을 미리 정해진 사이즈의 단위 패턴으로 인코딩함으로써 복수의 단위 패턴들을 포함하는 페이로드 패턴을 획득하는 단계;
제1 가중치에 기초하여 상기 원본 이미지의 제1 영역에 상기 베이스 패턴을 임베딩하는 단계; 및
상기 제1 가중치와 다른 제2 가중치에 기초하여 상기 원본 이미지의 제2 영역에 상기 페이로드 패턴을 임베딩하는 단계를 포함하고,
상기 제2 영역에 상기 페이로드 패턴을 임베딩하는 단계는,
스케일링 파라미터의 값을 기초로 상기 복수의 단위 패턴들 각각을 업스케일링함으로써 스케일링된 페이로드 패턴을 생성하는 단계;
가중치 파라미터의 값을 변경해가며 상기 제2 영역에 상기 스케일링된 페이로드 패턴을 임베딩하고 상기 페이로드의 추출 성능을 평가하는 단계 - 상기 가중치 파라미터의 값은 상기 스케일링된 페이로드 패턴에 따른 상기 원본 이미지의 픽셀값의 조정 강도를 나타내는 값임 -;
상기 평가의 결과에 기초하여 상기 스케일링된 페이로드 패턴에 적용될 상기 제2 가중치를 결정하는 단계; 및
상기 제2 가중치와 상기 스케일링된 페이로드 패턴에 기초하여 상기 제2 영역의 픽셀값을 조정함으로써 상기 제2 영역에 상기 스케일링된 페이로드 패턴을 임베딩하는 단계를 포함하는,
워터마크 임베딩 방법. - 제13항에 있어서,
상기 제1 가중치는 상기 제2 가중치보다 작은 값을 갖는,
워터마크 임베딩 방법. - 제13항에 있어서,
상기 제1 영역과 상기 제2 영역 간에는 중첩 영역이 존재하지 않는,
워터마크 임베딩 방법. - 제13항에 있어서,
상기 제1 영역의 모양은 상기 제2 영역과 상이한,
워터마크 임베딩 방법. - 제13항에 있어서,
상기 베이스 패턴도 상기 스케일링 파라미터의 값에 기초하여 스케일링된 후에 임베딩되는,
워터마크 임베딩 방법. - 제17항에 있어서,
상기 업스케일링된 복수의 단위 패턴들 각각은 복수의 블록들을 포함하고,
상기 스케일링된 페이로드 패턴을 임베딩하는 단계는,
상기 복수의 블록들 중 제1 블록에 대응되는 상기 원본 이미지의 영역을 결정하는 단계 - 상기 결정된 영역의 가운데 부분은 상기 제2 영역에 속하고 외곽 부분은 상기 제1 영역에 속함 -; 및
상기 제1 블록의 값들 중 일부를 추출하여 상기 가운데 부분에 임베딩하는 단계를 포함하는,
워터마크 임베딩 방법. - 하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고,
상기 컴퓨터 프로그램은:
원본 이미지와 워터마크의 베이스 패턴을 획득하는 동작 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -;
상기 페이로드의 값을 미리 정해진 사이즈의 단위 패턴으로 인코딩함으로써 복수의 단위 패턴들을 포함하는 페이로드 패턴을 획득하는 동작;
상기 원본 이미지에 상기 베이스 패턴을 임베딩하여 중간 이미지를 생성하는 동작; 및
상기 중간 이미지에 상기 페이로드 패턴을 임베딩하는 동작을 위한 인스트럭션들을 포함하며,
상기 페이로드 패턴을 임베딩하는 동작은,
스케일링 파라미터의 값을 기초로 상기 복수의 단위 패턴들 각각을 업스케일링함으로써 스케일링된 페이로드 패턴을 생성하는 동작;
가중치 파라미터의 값을 변경해가며 상기 중간 이미지에 상기 스케일링된 페이로드 패턴을 임베딩하고 상기 페이로드의 추출 성능을 평가하는 동작 - 상기 가중치 파라미터의 값은 상기 스케일링된 페이로드 패턴에 따른 상기 중간 이미지의 픽셀값의 조정 강도를 나타내는 값임 -;
상기 평가의 결과에 기초하여 상기 스케일링된 페이로드 패턴에 적용될 가중치를 결정하는 동작; 및
상기 결정된 가중치와 상기 스케일링된 페이로드 패턴에 기초하여 상기 중간 이미지의 픽셀값을 조정함으로써 상기 중간 이미지에 상기 스케일링된 페이로드 패턴을 임베딩하는 동작을 포함하는,
워터마크 임베딩 시스템. - 하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고,
상기 컴퓨터 프로그램은:
원본 이미지와 워터마크의 베이스 패턴을 획득하는 동작 - 상기 베이스 패턴은 상기 워터마크의 페이로드(payload) 추출에 이용되는 동기화 신호가 내재된 것임 -;
상기 페이로드의 값을 미리 정해진 사이즈의 단위 패턴으로 인코딩함으로써 복수의 단위 패턴들을 포함하는 페이로드 패턴을 획득하는 동작;
제1 가중치에 기초하여 상기 원본 이미지의 제1 영역에 상기 베이스 패턴을 임베딩하는 동작; 및
상기 제1 가중치와 다른 제2 가중치에 기초하여 상기 원본 이미지의 제2 영역에 상기 페이로드 패턴을 임베딩하는 동작을 위한 인스트럭션들을 포함하며,
상기 제2 영역에 상기 페이로드 패턴을 임베딩하는 동작은,
스케일링 파라미터의 값을 기초로 상기 복수의 단위 패턴들 각각을 업스케일링함으로써 스케일링된 페이로드 패턴을 생성하는 동작;
가중치 파라미터의 값을 변경해가며 상기 제2 영역에 상기 스케일링된 페이로드 패턴을 임베딩하고 상기 페이로드의 추출 성능을 평가하는 동작 - 상기 가중치 파라미터의 값은 상기 스케일링된 페이로드 패턴에 따른 상기 제2 영역의 픽셀값의 조정 강도를 나타내는 값임 -;
상기 평가의 결과에 기초하여 상기 스케일링된 페이로드 패턴에 적용될 상기 제2 가중치를 결정하는 동작; 및
상기 제2 가중치와 상기 스케일링된 페이로드 패턴에 기초하여 상기 제2 영역의 픽셀값을 조정함으로써 상기 제2 영역에 상기 스케일링된 페이로드 패턴을 임베딩하는 동작을 포함하는,
워터마크 임베딩 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230103871A KR102679321B1 (ko) | 2023-08-09 | 2023-08-09 | 워터마크 임베딩 방법 및 그 시스템 |
JP2024008201A JP7490287B1 (ja) | 2023-08-09 | 2024-01-23 | ウォーターマーク埋め込み方法およびそのシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230103871A KR102679321B1 (ko) | 2023-08-09 | 2023-08-09 | 워터마크 임베딩 방법 및 그 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102679321B1 true KR102679321B1 (ko) | 2024-06-28 |
Family
ID=91194129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230103871A KR102679321B1 (ko) | 2023-08-09 | 2023-08-09 | 워터마크 임베딩 방법 및 그 시스템 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7490287B1 (ko) |
KR (1) | KR102679321B1 (ko) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6614914B1 (en) * | 1995-05-08 | 2003-09-02 | Digimarc Corporation | Watermark embedder and reader |
US20070253593A1 (en) * | 2006-04-28 | 2007-11-01 | Simske Steven J | Methods for making an authenticating system |
KR20080002244A (ko) * | 2006-06-30 | 2008-01-04 | 포스데이타 주식회사 | 워터마킹 방법, 워터마크 확인 방법, 워터마킹 장치 및워터마크 확인 장치 |
KR20080029867A (ko) * | 2006-09-28 | 2008-04-03 | 후지쯔 가부시끼가이샤 | 전자 워터마크 매립 장치 및 검출 장치 |
WO2012026039A1 (ja) * | 2010-08-27 | 2012-03-01 | 富士通株式会社 | 電子透かし埋め込み装置、電子透かし埋め込み方法及び電子透かし埋め込み用コンピュータプログラムならびに電子透かし検出装置 |
KR20120029040A (ko) * | 2010-09-16 | 2012-03-26 | 중앙대학교 산학협력단 | 워터마크 기반 이차원 바코드 위조 방지 방법 및 장치 |
KR20120073605A (ko) * | 2010-12-27 | 2012-07-05 | 한국과학기술원 | 이미지 검색 기반의 이미지 워터마킹 시스템 및 방법과 그 방법을 수행하는 명령어를 포함하는 컴퓨터 판독가능 기록매체 |
KR101877372B1 (ko) | 2017-05-19 | 2018-07-13 | 주식회사 하루컴퍼니 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20180127261A (ko) * | 2018-07-05 | 2018-11-28 | 주식회사 하루컴퍼니 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20200137157A (ko) * | 2019-05-29 | 2020-12-09 | 삼성에스디에스 주식회사 | 은닉 정보 임베딩 방법 및 장치 |
KR20210118704A (ko) * | 2020-03-23 | 2021-10-01 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20220099304A (ko) * | 2021-01-06 | 2022-07-13 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20230110713A (ko) * | 2022-01-11 | 2023-07-25 | 구글 엘엘씨 | 종단형 워터마킹 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2421136A (en) | 2004-12-09 | 2006-06-14 | Sony Uk Ltd | Detection of code word coefficients in a watermarked image |
-
2023
- 2023-08-09 KR KR1020230103871A patent/KR102679321B1/ko active
-
2024
- 2024-01-23 JP JP2024008201A patent/JP7490287B1/ja active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6614914B1 (en) * | 1995-05-08 | 2003-09-02 | Digimarc Corporation | Watermark embedder and reader |
US20070253593A1 (en) * | 2006-04-28 | 2007-11-01 | Simske Steven J | Methods for making an authenticating system |
KR20080002244A (ko) * | 2006-06-30 | 2008-01-04 | 포스데이타 주식회사 | 워터마킹 방법, 워터마크 확인 방법, 워터마킹 장치 및워터마크 확인 장치 |
US20090310817A1 (en) * | 2006-06-30 | 2009-12-17 | Posdata Co., Ltd. | Watermarking method, watermark checking method, watermarking device, and watermark checking device |
KR20080029867A (ko) * | 2006-09-28 | 2008-04-03 | 후지쯔 가부시끼가이샤 | 전자 워터마크 매립 장치 및 검출 장치 |
WO2012026039A1 (ja) * | 2010-08-27 | 2012-03-01 | 富士通株式会社 | 電子透かし埋め込み装置、電子透かし埋め込み方法及び電子透かし埋め込み用コンピュータプログラムならびに電子透かし検出装置 |
KR20120029040A (ko) * | 2010-09-16 | 2012-03-26 | 중앙대학교 산학협력단 | 워터마크 기반 이차원 바코드 위조 방지 방법 및 장치 |
KR20120073605A (ko) * | 2010-12-27 | 2012-07-05 | 한국과학기술원 | 이미지 검색 기반의 이미지 워터마킹 시스템 및 방법과 그 방법을 수행하는 명령어를 포함하는 컴퓨터 판독가능 기록매체 |
KR101877372B1 (ko) | 2017-05-19 | 2018-07-13 | 주식회사 하루컴퍼니 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20180127261A (ko) * | 2018-07-05 | 2018-11-28 | 주식회사 하루컴퍼니 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20200137157A (ko) * | 2019-05-29 | 2020-12-09 | 삼성에스디에스 주식회사 | 은닉 정보 임베딩 방법 및 장치 |
KR20210118704A (ko) * | 2020-03-23 | 2021-10-01 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20220099304A (ko) * | 2021-01-06 | 2022-07-13 | 스냅태그 주식회사 | 워터마크 데이터의 임베딩 및 추출 방법 |
KR20230110713A (ko) * | 2022-01-11 | 2023-07-25 | 구글 엘엘씨 | 종단형 워터마킹 시스템 |
Also Published As
Publication number | Publication date |
---|---|
JP7490287B1 (ja) | 2024-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fang et al. | Screen-shooting resilient watermarking | |
KR101877372B1 (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
US7995790B2 (en) | Digital watermark detection using predetermined color projections | |
US20110052094A1 (en) | Skew Correction for Scanned Japanese/English Document Images | |
US11070700B2 (en) | Method of extracting watermark data in an image with reference to a noise-based image located in the image based on a comparison process performed in the frequency domain | |
US20080310672A1 (en) | Embedding and detecting hidden information | |
JP2000299778A (ja) | ウォーターマークの付加方法及び装置、読取方法及び装置、記録媒体 | |
KR102564641B1 (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
KR101960290B1 (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
CN113222802B (zh) | 基于对抗攻击的数字图像水印方法 | |
KR102637177B1 (ko) | 워터마크 기반의 이미지 무결성 검증 방법 및 장치 | |
US6721438B1 (en) | Image processing apparatus, image processing method, and storage medium | |
EP3175423A1 (en) | Digital image watermarking system and method | |
EP1500258B1 (en) | Method of and system for edge watermarking of an image | |
KR102679321B1 (ko) | 워터마크 임베딩 방법 및 그 시스템 | |
KR20240093440A (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
KR20230132761A (ko) | 워터마크 데이터의 임베딩 및 추출 방법 | |
CN116757903A (zh) | 一种水印嵌入和提取方法、及水印处理装置 | |
JP4310031B2 (ja) | 画像処理装置、画像処理方法及び記憶媒体 | |
CN113628091B (zh) | 面向电子显示屏内容翻拍场景的安全信息提取方法及装置 | |
CN113393363B (zh) | 水印嵌入、提取方法以及存储介质、电子设备 | |
JP2019004313A (ja) | 電子透かし装置および方法 | |
JP3478781B2 (ja) | 画像処理装置、画像処理方法、及び記憶媒体 | |
CN113538198A (zh) | 水印添加方法、装置、存储介质以及电子设备 | |
Li et al. | An adaptive secure watermarking scheme for images in spatial domain using fresnel transform |