KR102637177B1 - 워터마크 기반의 이미지 무결성 검증 방법 및 장치 - Google Patents

워터마크 기반의 이미지 무결성 검증 방법 및 장치 Download PDF

Info

Publication number
KR102637177B1
KR102637177B1 KR1020180058185A KR20180058185A KR102637177B1 KR 102637177 B1 KR102637177 B1 KR 102637177B1 KR 1020180058185 A KR1020180058185 A KR 1020180058185A KR 20180058185 A KR20180058185 A KR 20180058185A KR 102637177 B1 KR102637177 B1 KR 102637177B1
Authority
KR
South Korea
Prior art keywords
gob
child
watermark
image
sample
Prior art date
Application number
KR1020180058185A
Other languages
English (en)
Other versions
KR20190133363A (ko
Inventor
권오진
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020180058185A priority Critical patent/KR102637177B1/ko
Priority to US17/057,249 priority patent/US11915336B2/en
Priority to PCT/KR2019/005890 priority patent/WO2019225903A1/ko
Publication of KR20190133363A publication Critical patent/KR20190133363A/ko
Application granted granted Critical
Publication of KR102637177B1 publication Critical patent/KR102637177B1/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/0092Payload characteristic determination in a watermarking scheme, e.g. number of bits to be embedded
    • 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
    • G06T1/0057Compression invariant watermarking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

JPEG(Joint Photographic Experts Group) 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 단계, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하는 단계 및 타겟 비트에 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 단계를 포함하는 JPEG 이미지에 워터마크를 삽입하는 방법이 개시된다. 또한, 삽입한 워터마크를 이용하여 이미지의 무결성을 검증하는 방법이 개시된다.

Description

워터마크 기반의 이미지 무결성 검증 방법 및 장치{METHOD AND APPARATUS FOR VERIFYING INTEGRITY OF IMAGE BASED ON WATERMARK}
본 발명은 워터마크 기반의 이미지 무결성 검증 방법 및 장치에 관한 것으로, 더욱 상세하게는 JPEG(Joint Photographic Experts Group) 이미지 파일에 워터마크를 삽입하고, 삽입한 워터마크를 기초로 JPEG 이미지의 무결성을 검증하는 방법 및 장치에 관한 것이다.
최근 인터넷의 발달로 인해 하루에 수 십억개의 디지털 이미지가 생성되며, 소셜 미디어 등을 통해 디지털 이미지가 공유되고 있다. 이러한 디지털 이미지의 대부분은 JPEG(Joint Photographic Experts Group) 압축 파일 형식의 형태일 수 있다. 다만, JPEG 파일은 이미지 위변조에 취약한 단점이 있다.
현재 개인 정보 보호 및 보안이라는 키워드가 부각되고 있는 바, 상술한 단점을 극복하기 위해 JPEG 파일에 이미지 무결성 검증 방법을 도입하고 있다. 여기서, 이미지 무결성 검증 기술은 크게 수동적 방식 기술과 능동적 방식 기술로 구분될 수 있으며, 능동적 방식은 다시 서명 기반 기술 및 워터마크 기반 기술로 분류될 수 있으므로, 크게 세 가지로 분류될 수 있다.
수동적 방식 기술은 조명, 렌즈 방사 왜곡, 색수차, 센서 패턴 노이즈, 먼지 패턴, 컬러 필터 배열, 픽셀 간 상관 관계 및 JPEG 압축 왜곡 등을 포함하는 이미지의 통계적 일관성을 방해하는 단서를 검출하는 것을 의미할 수 있다. 다만, 수동적 방식 기술은 검증 오차가 다른 기술에 비해 상대적으로 높은 문제점이 있다.
서명 기반 기술은 원본 이미지로부터 원본 이미지보다 데이터의 크기가 매우 작은 특징(feature)의 세트를 추출하는 것을 의미할 수 있으며, 이 세트는 각 이미지의 고유의 서명으로서 특징을 가지며 파일로써 저장될 수 있다. 검증은 원본 이미지의 서명 및 대상 이미지의 서명을 비교하는 것에 의해 수행될 수 있다. 다만, 서명 기반 기술은 위조된 영역을 식별할 수 없는 문제점이 있다.
워터마크 기반 기술은 수정에 민감한 보이지 않는 노이즈와 유사한 비트 세트를 워터마크로 원본 이미지에 삽입하는 것을 의미할 수 있으며, 검증은 이미지 내의 워터마크의 존재를 확인하는 것에 의해 수행될 수 있다. 다만, 워터마크 기반 기술은 원본 이미지를 변경해야 하는 문제점이 있으나, 이는 일반적인 사람의 눈에 무시될 수 있는 수준에 해당한다. 이에 따라 JPEG 파일의 무결성을 검증하는 방법으로 워터마크 기반 기술이 주목받고 있으며, 지속적으로 연구되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이미지에 워터마크를 삽입하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 워터마크를 기초로 이미지의 무결성을 검증하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 이미지에 워터마크를 삽입하는 장치를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 워터마크를 기초로 이미지의 무결성을 검증하는 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 워터마크 삽입 방법은, JPEG(Joint Photographic Experts Group) 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 단계, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하는 단계 및 타겟 비트에 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 단계를 포함할 수 있다.
여기서, 샘플의 원본 로(raw) 이미지와 샘플의 JPEG 이미지 간 및 샘플의 원본 로 이미지와 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 PSNR(Peak Signal-to-Noise Ratio) 값을 기초로 WET을 결정하는 단계를 더 포함할 수 있다.
여기서, WET을 결정하는 단계는, 샘플의 원본 로 이미지 및 샘플의 JPEG 이미지 간의 제1 PSNR 값을 산출하는 단계, 샘플의 원본 로 이미지 및 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 제2 PSNR 값을 산출하는 단계, 제1 PSNR 값 및 제2 PSNR 값 간의 차이값를 산출하는 단계 및 차이값 및 제2 PSNR 값을 기초로 WET를 결정하는 단계를 포함할 수 있다.
여기서, WET을 결정하는 단계는, 양자화된 DCT 계수의 절대값을 기초로 적어도 하나의 DCT 계수를 선택하여 샘플의 반전된 또는 랜덤 잡음이 삽입된 JPEG 이미지를 생성하는 단계를 더 포함할 수 있다.
여기서, WET을 결정하는 단계는, 샘플의 원본 로(raw) 이미지와 샘플의 JPEG 이미지 간 및 샘플의 원본 로 이미지와 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 객관적 화질 평가 지표(objective image quality metric)를 기초로 WET을 결정하는 단계를 더 포함할 수 있다.
여기서, 객관적 화질 평가 지표는, SSIM(Structural SIMilarity), VIF(Visual Information Fidelity), MRSE(Mean Relative Squeared Error)-based SNR(Signal-to-Noise), WS-PSNR(Weighted Spherical-Peak Signal-to-Noise Ratio) 및 HDR-VDP(High Dynamic Range-Visual Difference Predictor) 중 적어도 하나를 이용하여 산출될 수 있다.
여기서, 양자화된 DCT 계수를 포함하는 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB(Group of Block)를 생성하는 단계를 더 포함할 수 있다.
여기서, 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB를 생성하는 단계는, 복수의 블록을 하나의 부모 GOB로 설정하는 단계, 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하는 단계 및 부모 GOB로부터 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하는 단계를 포함할 수 있다.
여기서, 타겟 비트에 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 단계는, 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하는 단계, 자식 GOB별 BIK를 기초로 자식 GOB별 RBS(Random Bit Sequence)를 생성하는 단계 및 자식 GOB별 RBS를 해당 GOB의 타겟 비트에 삽입하는 단계를 포함할 수 있다.
여기서, 자식 GOB 정보는, 자식 GOB의 이웃한 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 이웃한 GOB의 분기 체인 정보를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이미지의 무결성 검증 방법은, JPEG(Joint Photographic Experts Group) 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 단계, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하는 단계, 타겟 비트로부터 제1 워터마크를 추출하는 단계, JPEG 이미지의 메타데이터를 기초로 제2 워터마크를 생성하는 단계 및 제1 워터마크 및 제2 워터마크를 비교하여 이미지의 무결성을 검증하는 단계를 포함할 수 있다.
여기서, 양자화된 DCT 계수를 포함하는 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB(Group of Block)를 생성하는 단계를 더 포함할 수 있다.
여기서, 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB를 생성하는 단계는, 복수의 블록을 하나의 부모 GOB로 설정하는 단계, 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하는 단계 및 부모 GOB로부터 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하는 단계를 포함할 수 있다.
여기서, 타겟 비트로부터 제1 워터마크를 추출하는 단계는, 자식 GOB별 타겟 비트로부터 제1 워터마크를 추출하는 단계를 포함할 수 있다.
여기서, JPEG 이미지의 메타데이터를 기초로 제2 워터마크를 생성하는 단계는, 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하는 단계 및 자식 GOB별 BIK를 기초로 제2 워터마크인 자식 GOB별 RBS(Random Bit Sequence)를 생성하는 단계를 포함할 수 있다.
여기서, 제1 워터마크 및 제2 워터마크를 비교하여 이미지의 무결성을 검증하는 단계는, 자식 GOB별 제1 워터마크 및 자식 GOB별 제2 워터마크가 모두 동일한 경우, JPEG 이미지를 변조되지 않은 이미지로 결정하는 단계 및 자식 GOB별 제1 워터마크 및 자식 GOB별 제2 워터마크 중 어느 하나가 동일하지 않은 경우, JPEG 이미지를 변조된 이미지로 결정하는 단계를 포함할 수 있다.
여기서, JPEG 이미지를 변조된 이미지로 결정하는 단계는, 제1 워터마크 및 제2 워터마크가 동일하지 않은 자식 GOB를 변조된 영역으로 결정하는 단계를 더 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 워터마크 삽입 장치는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, JPEG(Joint Photographic Experts Group) 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하도록 실행될 수 있고, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하도록 실행될 수 있고, 타겟 비트에 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 샘플의 원본 로(raw) 이미지와 샘플의 JPEG 이미지 간 및 샘플의 원본 로 이미지와 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 PSNR(Peak Signal-to-Noise Ratio) 값을 기초로 WET을 결정하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 샘플의 원본 로 이미지 및 샘플의 JPEG 이미지 간의 제1 PSNR 값을 산출하도록 실행될 수 있고, 샘플의 원본 로 이미지 및 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 제2 PSNR 값을 산출하도록 실행될 수 있고, 제1 PSNR 값 및 제2 PSNR 값 간의 차이값를 산출하도록 실행될 수 있고, 차이값 및 제2 PSNR 값을 기초로 WET를 결정하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 양자화된 DCT 계수의 절대값을 기초로 적어도 하나의 DCT 계수를 선택하여 샘플의 반전된 또는 랜덤 잡음이 삽입된 JPEG 이미지를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 샘플의 원본 로(raw) 이미지와 샘플의 JPEG 이미지 간 및 샘플의 원본 로 이미지와 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 객관적 화질 평가 지표(objective image quality metric)를 기초로 WET을 결정하도록 실행될 수 있다.
여기서, 객관적 화질 평가 지표는, SSIM(Structural SIMilarity), VIF(Visual Information Fidelity), MRSE(Mean Relative Squeared Error)-based SNR(Signal-to-Noise), WS-PSNR(Weighted Spherical-Peak Signal-to-Noise Ratio) 및 HDR-VDP(High Dynamic Range-Visual Difference Predictor) 중 적어도 하나를 이용하여 산출될 수 있다.
여기서, 적어도 하나의 명령은, 양자화된 DCT 계수를 포함하는 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB(Group of Block)를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 복수의 블록을 하나의 부모 GOB로 설정하도록 실행될 수 있고, 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하도록 실행될 수 있고, 부모 GOB로부터 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하도록 실행될 수 있고, 자식 GOB별 BIK를 기초로 자식 GOB별 RBS(Random Bit Sequence)를 생성하도록 실행될 수 있고, 자식 GOB별 RBS를 해당 GOB의 타겟 비트에 삽입하도록 실행될 수 있다.
여기서, 자식 GOB 정보는, 자식 GOB의 이웃한 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 이웃한 GOB의 분기 체인 정보를 더 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이미지 무결성 검증 장치는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, JPEG(Joint Photographic Experts Group) 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하도록 실행될 수 있고, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하도록 실행될 수 있고, 타겟 비트로부터 제1 워터마크를 추출하도록 실행될 수 있고, JPEG 이미지의 메타데이터를 기초로 제2 워터마크를 생성하도록 실행될 수 있고, 제1 워터마크 및 제2 워터마크를 비교하여 이미지의 무결성을 검증하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 양자화된 DCT 계수를 포함하는 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB(Group of Block)를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 복수의 블록을 하나의 부모 GOB로 설정하도록 실행될 수 있고, 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하도록 실행될 수 있고, 부모 GOB로부터 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 자식 GOB별 타겟 비트로부터 제1 워터마크를 추출하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하도록 실행될 수 있고, 자식 GOB별 BIK를 기초로 제2 워터마크인 자식 GOB별 RBS(Random Bit Sequence)를 생성하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 자식 GOB별 제1 워터마크 및 자식 GOB별 제2 워터마크가 모두 동일한 경우, JPEG 이미지를 변조되지 않은 이미지로 결정하도록 실행될 수 있고, 자식 GOB별 제1 워터마크 및 자식 GOB별 제2 워터마크 중 어느 하나가 동일하지 않은 경우, JPEG 이미지를 변조된 이미지로 결정하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 제1 워터마크 및 제2 워터마크가 동일하지 않은 자식 GOB를 변조된 영역으로 결정하도록 실행될 수 있다.
본 발명에 따르면, JPEG 이미지의 무결성을 검증하여 사용자에게 개인 정보 보호 및 보안에 적합한 디지털 이미지 파일을 제공할 수 있다.
본 발명에 따르면, JPEG 이미지에 대한 콜라주 공격(collage attack)을 검출할 수 있으며, JPEG 이미지에 발생한 악성 변조뿐만 아니라 양성 변조도 검출할 수 있다.
본 발명에 따르면, JPEG 이미지가 변조된 경우 변조된 영역을 식별하여 사용자에게 JPEG 이미지에서 변조된 영역을 제공할 수 있다.
본 발명에 따르면, 추가적인 서명 정보 없이 JPEG 이미지의 위변조 검출 확률을 거의 100%까지 향상시킬 수 있다.
도 1은 JPEG 이미지 부호화 장치의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 워터마크 삽입 장치의 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 워터마크 기반의 이미지 무결성 검증 장치의 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 워터마크 삽입을 위한 타겟 비트를 결정하기 위한 제1 데이터를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 워터마크 삽입을 위한 타겟 비트를 결정하기 위한 제2 데이터를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 워터마크 삽입을 위한 타겟 비트를 결정하기 위한 제3 데이터를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 제1 데이터 내지 제3 데이터를 기초로 결정한 DCT 계수의 비트 평면에서 워터마크 삽입을 위한 타겟 비트를 나타낸 테이블이다.
도 8은 본 발명의 일 실시예에 따른 샘플 이미지에 대한 블록 파티셔닝 결과를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 샘플 이미지에 대하여 Q 인자를 60으로 양자화한 JPEG 이미지 및 이에 워터마크한 이미지를 시각적으로 비교한 도면이다.
도 10은 본 발명의 일 실시예에 따른 샘플 이미지에 대하여 Q 인자를 90으로 양자화한 JPEG 이미지 및 이에 워터마크한 이미지를 시각적으로 비교한 도면이다.
도 11은 본 발명의 일 실시예에 따른 워터마크된 이미지로부터 변조된 영역을 검출한 결과를 나타낸 도면이다.
도 12는 본 발명의 다른 실시예에 따른 워터마크 삽입 장치의 블록 구성도이다.
도 13은 본 발명의 일 실시예에 따른 워터마크 삽입 방법을 설명하는 순서도이다.
도 14는 본 발명의 일 실시예에 따른 워터마크 기반의 이미지 무결성 검증 방법을 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. 이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 JPEG 이미지 부호화 장치의 블록 구성도이다.
도 1을 참조하면, JPEG(Joint Photographic Experts Group) 이미지 부호화 장치(100)는 입력 이미지로부터 JPEG 형식으로 압축한 이미지를 출력할 수 있으며, JPEG 인코더라고 지칭할 수 있고, 일반적으로 컬러 변환기(color convertor, 110), DCT(Discrete Cosine Transform)부(120), 양자화기(quantizer, 130) 및 엔트로피 인코더(entropy encoder, 140)를 포함할 수 있다.
컬러 변환기(110)는 RGB(Red-Green-Blue)로 표현되는 이미지를 YCbCr로 변환할 수 있다. 여기서, YCbCr은 각 픽셀마다 휘도 성분(luma smaple) 및 색차 성분(chroma sample)을 구분하여 저장하는 형태를 의미할 수 있으며, Y는 휘도 성분을 의미할 수 있고, Cb 및 Cr은 색차 성분을 의미할 수 있다. Cb 및 Cr은 선택적으로 서브샘플링될 수 있다. YCbCr 샘플링 포맷 또는 크로마 서브샘플링 타입은 4:4:4, 4:2:2 및 4:2:0 중 하나일 수 있다.
DCT부(120)는 YCbCr로 표현된 이미지 데이터에 대하여 8x8 블록-기반 DCT(Discrete Cosine Transform)를 수행할 수 있다. 다시 말해, 8x8 블록-기반 DCT는 Y, Cb 및 Cr은 각각에 대하여 수행될 수 있다. 여기서, DCT부(120)는 영상의 주파수 변환에 일반적으로 사용되는 방법 중 하나로 코사인 기저를 사용하여 공간 도메인의 이미지 데이터를 주파수 도메인의 이미지 데이터로 변환할 수 있으며, 그 결과값으로 DCT 계수(coefficient)를 획득할 수 있다. DCT 계수는 DC 계수(평균 성분 계수) 및 AC 계수(고주파 성분 계수)를 포함할 수 있으며, DCT 계수는 zigzag ordering에 의해 1차원 벡터로 재배열될 수 있다.
양자화기(130)는 DCT부(120)에 의해 주파수 도메인으로 변경된 각 계수를 입력값으로 수신하여 이산적인(discrete) 값으로 매핑할 수 있으며, 그 결과로 양자화된 DCT 계수를 획득할 수 있다. 여기서, 양자화기(130)의 양자화는 손실 압축에 해당할 수 있으며, 연속 또는 대량의 입력 데이터는 양자화 이후 소수의 이산적인 심볼로 매핑될 수 있다. 압축 비율은 Q 인자(quality factor)로 지칭될 수 있는 입력 파라미터에 의해 제어될 수 있다. 여기서, Q 인자는 화질 계수 또는 양자화 파라미터로 지칭될 수도 있으나, 이에 한정되는 것은 아니다.
도 1에서, 는 입력 이미지의 8x8 블록 전체 중 l 번째 블록 내의 k 번째 양자화된 DCT 계수를 의미할 수 있다. 1차원 지표 l은 2차원 공간에 위치한 블록을 표현하기 위해 사용될 수 있다. 여기서, l은 0보다 크거나 같고 L보다 작은 값 중 어느 하나의 정수를 의미할 수 있고, L은 입력 이미지 내의 8x8 블록의 전체 수를 의미할 수 있다. 또한, k는 0보다 크거나 같고 63보다 작거나 같은 값 중 어느 하나의 정수를 의미할 수 있다. 또한, 에서 k가 0인 경우 이를 상술한 DC 계수라고 지칭할 수 있으며, k가 0이 아닌 경우 이를 상술한 AC 계수라고 지칭할 수 있다.
엔트로피 인코더(140)는 양자화기(130)의 출력을 수신하여 엔트로피 부호화를 수행할 수 있으며, 그 결과로 JPEG 형식으로 압축된 이미지를 획득할 수 있다. 여기서, 엔트로피 인코더(140)의 인코딩은 무손실 압축에 해당할 수 있으며, 심볼의 발생 확률에 따라 심볼의 길이를 가변적으로 할당하여 표현에 필요한 데이터 양을 최소화할 수 있다.
도 2는 본 발명의 일 실시예에 따른 워터마크 삽입 장치의 블록 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)는 엔트로피 디코더(210), 타겟 비트 결정부(220), 파티셔닝부(230), BIK 생성부(240), RBS 생성부(250), 워터마크 삽입부(260) 및 엔트로피 인코더(270)를 포함할 수 있다. 여기서, 워터마크 삽입 장치(200)의 구성은 명칭에 한정되지 않으며, 기능에 의해 정의될 수 있고, 복수의 기능을 하나의 구성이 수행할 수 있으며, 하나의 기능을 복수의 구성이 수행할 수 있다.
또한, 본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)는 기존의 JPEG 인코더 내에 해당 장치가 추가로 존재할 수 있으며, 해당 기능을 수행하는 소프트웨어 형식으로 구현될 수도 있고, JPEG 인코더와 별개의 장치로 존재하여 JPEG 인코더와 연결되어 있을 수 있으나, 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 이미지 무결성 검증 장치에 의한 이미지 무결성 검증 방법은 이미지가 변조되지 않았을 경우 손실 없이 삽입된 워터마크를 추출할 수 있으며, 이를 위해 본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)는 양자화된 DCT 계수에 워터마크를 삽입할 수 있다.
엔트로피 디코더(210)는 입력된 JPEG 형식으로 압축된 이미지에 대하여 엔트로피 디코딩을 수행할 수 있다. 다시 말해, 엔트로피 디코더(210)는 JPEG 이미지에 대하여 JPEG 이미지 부호화 장치에서 수행된 엔트로피 인코딩을 디코딩할 수 있다. 여기서, 엔트로피 디코더(210)는 도 1과 함께 설명한 엔트로피 인코더와 역으로 대응될 수 있다. 따라서, 엔트로피 디코더(210)는 JPEG 이미지로부터 양자화된 DCT 계수인 를 출력할 수 있다.
타겟 비트 결정부(220)는 엔트로피 디코더(210)에 의해 획득한 양자화된 DCT 계수 중 워터마크 삽입을 위한 타겟 비트를 결정할 수 있다. 다시 말해, WET(Watermark-Embedding Table)를 기초로 LSB(Least Significant Bit)부터 MSB(Most Significant Bit)까지 포함하는 AC 계수의 비트 평면 내에서 워터마크를 삽입하기 위한 타겟 비트를 결정할 수 있다. 워터마크 비트를 삽입하기 위한 위치를 결정하는 것은 더 향상된 워터마크 기반 기술의 설계를 위한 중요한 요소일 수 있으며, 이에 대한 상세한 설명은 도 4 내지 7과 함께 후술하겠다.
파티셔닝부(230)는 전체의 8x8 DCT 블록 세트들을 트리 구조의 GOBs(Group Of Blocks)로 파티셔닝 또는 분할할 수 있으며, 파티셔닝을 통해 루트(root)로부터 현재 GOB까지의 분기 체인(branch chain)에 대한 정보를 생성할 수 있고, 저장할 수 있다. 여기서, 파티셔닝부(230)는 각 GOB가 검출 섬도 인자인 Tb개 이상의 타겟 비트를 포함하도록 계속하여 GOB를 분할할 수 있다. 다시 말해, 파니셔닝부(230)는 전체의 8x8 DCT 블록 세트들을 하나의 부모 GOB(루트)로 설정한 후, 부모 GOB를 복수의 자식 GOB로 분할할 수 있으며, 하나의 자식 GOB에 적어도 Tb개의 타겟 비트가 포함되도록 계속하여 GOB를 분할할 수 있다. 여기서, 검출 섬도 인자 Tb는 파티셔닝부(230)에 입력되어 분할 정도를 결정하는 입력 파라미터를 의미할 수 있으며, 이는 GOB 및 GOB에 삽입된 워터마크의 크기를 결정할 수 있다. 이에 대한 상세한 설명은 도 8과 함께 후술하겠다.
큰 크기의 워터마크를 삽입하는 것은 위변조 검출 성능을 향상시킬 수 있으나, 워터마크된 이미지의 화질을 악화시킬 수 있다. 다시 말해, 워터마크의 크기 및 워터마크된 이미지의 화질은 트레이드오프(tradeoff) 관계일 수 있고, 이를 결정하는 파라미터는 검출 섬도 인자 Tb일 수 있다.
BIK 생성부(240)는 유저 키(user key), 입력 JPEG 이미지의 메타데이터, 엔트로피 디코더(210) 및 타겟 비트 결정부(220)의 출력에 따른 DCT 계수 중 해당 GOB에서 타겟 비트로 결정되지 않은 모든 비트에 대한 정보 및 파티셔닝부(230)에 의해 생성되는 부모 GOB로부터 해당 GOB까지의 분기 체인(branch chain)에 대한 정보를 기초로 BIK(Block Identifying Key)를 생성할 수 있다. 여기서, 해당 GOB에서 타겟 비트로 결정되지 않은 모든 비트에 대한 정보 및 부모 GOB로부터 해당 GOB까지의 분기 체인(branch chain)에 대한 정보는 GOB 정보 또는 자식 GOB 정보로 지칭할 수 있으며, 각 GOB마다 생성될 수 있다.
또한, BIK 생성부(240)는 자식 GOB 정보에 자식 GOB의 이웃한 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 이웃한 GOB의 분기 체인 정보를 더 포함시킬 수 있으며, 이를 기초로 BIK를 생성할 수도 있다.
BIK 생성부(240)는 BIK를 생성하기 위해 유저 키, 입력 JPEG 이미지의 메타데이터 및 자식 GOB 정보에 해시 함수를 적용할 수 있으며, SHA-512 알고리즘을 사용할 수 있으나, 이에 한정되는 것은 아니다. 또한, BIK는 블록마다 독립적으로 생성되도록 사용자에 의해 설정될 수도 있다.
여기서, 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 축약하는 단방향 함수를 의미할 수 있으며, 제1 역상 저항성(preimage resistance), 제2 역상 저항성(second preimage resistance) 및 충돌 저항성(collision resistance)의 성질을 가지는 함수를 의미할 수 있다.
RBS 생성부(250)는 BIK 생성부(240)가 생성한 BIK에 기초하여 타겟 비트에 삽입하기 위한 워터마크인 RBS(Random Bit Sequence)를 생성할 수 있다. 여기서, RBS는 BIK가 GOB마다 다르게 생성될 수 있으므로 GOB마다 다르게 생성될 수 있다.
워터마크 삽입부(260)는 각 GOB의 타겟 비트에 RBS 생성부(350)에서 생성한 워터마크를 삽입할 수 있다. 다시 말해, 워터마크 삽입부(260)는 각 GOB의 타겟 비트에 해당 GOB에 따른 RBS를 삽입할 수 있다.
엔트로피 인코더(270)는 워터마크 삽입부(260)에 의해 모든 GOB에 대하여 워터마크가 삽입된 후, 워터마크가 삽입된 DCT 계수에 대하여 엔트로피 인코딩을 수행할 수 있으며, 그 결과로써 워터마크된 JPEG 이미지를 출력할 수 있다. 여기서, 엔트로피 인코더(270)는 도 1과 함께 설명한 엔트로피 인코더(140)와 동일한 기능을 수행할 수 있으나, 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)는 모든 GOB에 대하여 워터마크를 삽입함으로써 후술하는 이미지 무결성 검증 장치가 확대, 축소, 리사이징(resizing), 자르기, 재압축, 선명화, 향상 및 흐려짐 제거 등과 같이 이미지 데이터의 양성 변조에 더불어, JPEG 이미지 파일의 메타데이터 수정과 함께 복사 이동, 영역 복제, 이미지 접합, 이미지 합성 및 블록 교환과 같은 악성 변조를 검출할 수 있도록 할 수 있다.
본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)는 적어도 하나의 프로세서 및 프로세서를 통해 상술한 동작이 실행되는 적어도 하나의 명령을 저장하고 있는 메모리를 포함할 수 있다. 여기서, 프로세서는 메모리에 저장된 프로그램 명령(program command)을 실행할 수 있고, 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있고, 읽기 전용 메모리(Read Only Memory, ROM) 및/또는 랜덤 액세스 메모리(Random Access Memory, RAM)로 구성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 워터마크 기반의 이미지 무결성 검증 장치의 블록 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 이미지 무결성 검증 장치(300)는 엔트로피 디코더(310), 타겟 비트 결정부(320), 파티셔닝부(330), BIK 생성부(340), RBS 생성부(350), 워터마크 추출부(360) 및 검출부(370)를 포함할 수 있다. 여기서, 이미지 무결성 검증 장치(300)의 구성은 명칭에 한정되지 않으며, 기능에 의해 정의될 수 있고, 복수의 기능을 하나의 구성이 수행할 수 있으며, 하나의 기능을 복수의 구성이 수행할 수 있다.
또한, 본 발명의 일 실시예에 따른 이미지 무결성 검증 장치(300)는 도 2와 함께 설명한 본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)와 함께 존재할 수 있으며, 별도의 장치로 존재할 수도 있으나, 이에 한정되는 것은 아니다.
엔트로피 디코더(310), 타겟 비트 결정부(320), 파티셔닝부(330), BIK 생성부(340) 및 RBS 생성부(350)는 도 2와 함께 설명한 본 발명의 일 실시예에 따른 워터마크 삽입 장치(200)의 엔트로피 디코더(210), 타겟 비트 결정부(220), 파티셔닝부(230), BIK 생성부(340) 및 RBS 생성부(350)와 동일한 기능을 수행할 수 있다.
워터마크 추출부(360)는 타겟 비트 결정부(320) 및 파티셔닝부(330)에 의해 획득된 각 GOB의 타겟 비트로부터 삽입되어 있는 RBS를 추출할 수 있다. 여기서, 워터마크 추출부(360)가 추출한 RBS는 워터마크를 의미할 수 있으며, 이는 워터마크 삽입 장치(200)에 의해 삽입된 워터마크를 의미할 수 있다. 또한, 이는 후술하는 워터마크와 구분하기 위해 제1 워터마크라고 지칭할 수 있다.
검출부(370)는 워터마크 추출부(360)가 추출한 RBS(제1 워터마크)와 RBS 생성부(350)가 생성한 RBS(제2 워터마크)를 GOB별로 비교할 수 있으며, 모든 GOB에 대하여 제1 워터마크 및 제2 워터마크가 동일한 경우, JPEG 이미지를 변조되지 않은 이미지로 결정할 수 있다. 다만, 모든 GOB 중 어느 하나의 GOB라도 제1 워터마크 및 제2 워터마크가 다르다고 판단된 경우, JPEG 이미지를 변조된 이미지로 결정할 수 있으며, 해당 GOB를 수정된 영역으로 결정할 수 있다.
검출부(370)에 의해 제1 워터마크 및 제2 워터마크가 우연히 일치할 수 있으나, 그 확률은 무시할 수 있을 정도로 작다. 보다 상세히 설명하면, GOB에서 추출된 타겟 비트의 수가 N_GOB라고 가정하면, 제1 워터마크 및 제2 워터마크가 우연히 일치할 확률은 2-N_ GOB일 수 있으며, 이는 N_GOB가 충분히 크다면 무시될 수 있는 수준에 해당될 수 있다.
또한, 도 2와 함께 상술하였으나, RBS의 기초인 BIK는 루트(root)로부터 현재 GOB까지의 분기 체인, GOB 내에 타겟 비트로 결정되지 않은 DCT 계수의 모든 비트들, 입력된 JPEG 이미지의 메타데이터 및 유저 키를 기초로 각 GOB 마다 생성될 수 있으므로, 이미지 무결성 검증 장치(300)는 상술한 정보들로 인해 이미지의 양성 변조 및 악성 변조 모두를 검출할 수 있다.
본 발명의 일 실시예에 따른 이미지 무결성 장치(300)는 적어도 하나의 프로세서 및 프로세서를 통해 상술한 동작이 실행되는 적어도 하나의 명령을 저장하고 있는 메모리를 포함할 수 있다. 여기서, 프로세서는 메모리에 저장된 프로그램 명령(program command)을 실행할 수 있고, 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있고, 읽기 전용 메모리(Read Only Memory, ROM) 및/또는 랜덤 액세스 메모리(Random Access Memory, RAM)로 구성될 수 있다.
도 4는 본 발명의 일 실시예에 따른 워터마크 삽입을 위한 타겟 비트를 결정하기 위한 제1 데이터를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 워터마크 삽입을 위한 타겟 비트를 결정하기 위한 제2 데이터를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 워터마크 삽입을 위한 타겟 비트를 결정하기 위한 제3 데이터를 나타낸 도면이다.
도 4 내지 도 6의 제1 데이터 내지 제3 데이터는 스캐너, 휴대폰, 디지털 카메라 및 캠코더 등에 의해 다양한 실내 및 실외를 촬영된 10개의 샘플 이미지를 기초로 수행한 실험의 데이터일 수 있으며, 통상의 기술자는 다른 이미지를 이용하여도 동일한 결론이 도출될 것을 알 수 있다.
본 발명의 일 실시예에 따른 타겟 비트를 결정하기 위해 수행된 실험 과정은 총 4개의 단계로 구성될 수 있으며, 각 단계는 다음과 같다. 다만, 각 단계는 설명의 편의를 위해 구분한 것이므로, 이에 한정되는 것은 아니다.
제1 단계는 원본 로(raw) 이미지로부터 선택된 크로마 서브샘플링 타입 및 Q 인자에 따라 JPEG 인코딩을 수행하여 JPEG 이미지를 획득하고, 원본 JPEG 이미지를 RGB 컬러 공간으로 변환하여 원본 로 이미지 및 원본 JPEG 이미지 간의 PSNR(Peak Signal-to-Noise Ratio) 값을 산출하는 단계일 수 있다.
여기서, 도 4는 크로마 서브샘플링 타입이 4:4:4인 경우를 나타낼 수 있으며, 도 5는 크로마 서브샘플링 타입이 4:2:2인 경우를 나타낼 수 있고, 도 6은 크로마 서브샘플링 타입이 4:2:0인 경우를 나타낼 수 있다. 다시 말해, 제1 데이터는 크로마 서브샘플링 타입이 4:4:4인 경우를, 제2 데이터는 크로마 서브샘플링 타입이 4:2:2인 경우를, 제3 데이터는 크로마 서브샘플링 타입이 4:2:0인 경우를 나타낼 수 있다.
또한, 도 4 내지 도 6에서 첫 번째 줄에 위치한 3개의 테이블은 Q 인자가 60인 경우를 나타낼 수 있고, 두 번째 줄에 위치한 3개의 테이블은 Q 인자가 70인 경우를 나타낼 수 있다. 세 번째 줄에 위치한 3개의 테이블은 Q 인자가 80인 경우를 나타낼 수 있고, 네 번째 줄에 위치한 3개의 테이블은 Q 인자가 90인 경우를 나타낼 수 있다.
여기서, 산출된 PSNR 값은 PSNRJPEG로 지칭할 수 있으며, PSNR은 이미지 압축 실험에서 널리 이용되므로, 이미지 품질 지표로써 정의될 수 있다. 또한, PSNR이 아닌 다른 객관적 화질 평가 지표(objective image quality metric)를 이용할 수 있으며, 객관적 화질 평가 지표는 SSIM(Structural SIMilarity), VIF(Visual Information Fidelity), MRSE(Mean Relative Squeared Error)-based SNR(Signal-to-Noise), WS-PSNR(Weighted Spherical-Peak Signal-to-Noise Ratio) 및 HDR-VDP(High Dynamic Range-Visual Difference Predictor) 중 어느 하나를 의미할 수 있으나, 이에 한정되는 것은 아니다.
제2 단계는 2m과 동일하거나 큰 절대값을 가지는 계수 를 선택하는 단계일 수 있다.
여기서, m은 도 4 내지 6과 같이 1보다 크거나 같고 6보다 작거나 같은 값 중 어느 하나의 정수일 수 있다.
제3 단계는 모든 선택된 계수의 p번째 least-significant-bit를 반전(flip)시켜, 반전된 JPEG 이미지를 저장하고, 반전된 JPEG 이미지를 RGB 컬러 공간으로 변환하여 원본 로 이미지 및 반전된 JPEG 이미지 간의 PSNR 값을 산출하는 단계일 수 있다.
여기서, 산출된 PSNR 값은 PSNRF -JPEG로 지칭할 수 있으며, p는 1보다 크거나 같고 m보다 작거나 같은 값 중 어느 하나의 정수일 수 있다.
제4 단계는 PSNRJPEG 및 PSNRF -JPEG 간의 차이값을 산출하여 PSNR의 감소를 비교하는 단계일 수 있다.
여기서, 차이값은 PSNRJPEG - PSNRF -JPEG을 산출한 결과 값을 의미할 수 있다.
도 4 내지 도 6은 상술한 4개의 단계에 따라 도출한 데이터로, 각각 해당 크로마 서브샘플링 타입 및 Q 인자에 따른 PSNRJPEG 및 PSNRF -JPEG 간의 차 대비 PSNRF -JPEG 감소 테이블을 나타낸 것일 수 있다.
도 4 내지 6을 참조하면, Q 인자 및 크로마 서브샘플링 타입의 독립성은 거의 무시될 수 있으며, Cb 및 Cr 성분 각각의 독립성은 서로 매우 유사할 수 있다. 또한, Y 성분의 독립성은 Cb 및 Cr 성분의 독립성과 다를 수 있다.
본 발명의 다른 실시예에서는 반전된 JPEG 이미지가 아닌 랜덤 잡음이 삽입된 JPEG 이미지를 사용할 수도 있다.
데이터에 따라 타겟 비트를 나타내는 WET(Watermark-Embedding Table)를 결정하는 방법은 도 7과 함께 후술하겠다.
도 7은 본 발명의 일 실시예에 따른 제1 데이터 내지 제3 데이터를 기초로 결정한 DCT 계수의 비트 평면에서 워터마크 삽입을 위한 타겟 비트를 나타낸 테이블이다.
p의 증가 및 다른 컬러 성분과의 독립성에 의해 p번째 비트 평면에 대하여 허용할 수 있는 m의 최소값, Q 인자 및 크로마 서브샘플링 타입은 도 4 내지 도 6의 실험 데이터를 기초로 결정될 수 있다.
따라서, p번째 비트 평면에 대하여 m 값은 도 4 내지 6을 참조하여 Y 성분에 대한 PSNR 차이가 0.25 dB보다 작으며, 크로마 성분에 대한 PSNR 차이가 0.1 dB보다 작도록 설정될 수 있다.
도 7을 참조하면, 상술한 조건에 따라 결정된 타겟 비트는 Y 성분에 대하여 1st 비트 평면에서의 m 값은 3, 4, 5 및 6이 될 수 있으며, 2nd 비트 평면에서의 m 값은 5 및 6이 될 수 있고, 3rd 비트 평면에서의 m 값은 6이 될 수 있다. 또한, Cb 및 Cr 성분에 대하여 1st 비트 평면에서의 m 값은 3, 4, 5 및 6이 될 수 있으며, 2nd 비트 평면에서의 m 값은 4, 5 및 6이 될 수 있고, 3rd 비트 평면에서의 m 값은 5 및 6이 될 수 있으며, 4th 비트 평면에서의 m 값은 6이 될 수 있다.
여기서, 도 7의 테이블은 WET(Watermark-Embedding Table)이라 지칭할 수 있다.
또한, 이에 따라 원본 JPEG 이미지 및 반전된 JPEG 이미지 간의 시각적 차이를 비교한 결과, PSNR 차이와 비교되는 이미지의 8배 확대 버전에서도 어떤 시각적 차이를 검출할 수 없었다.
도 8은 본 발명의 일 실시예에 따른 샘플 이미지에 대한 블록 파티셔닝 결과를 나타낸 도면이다.
본 발명의 일 실시예에 따른 파티셔닝(partitioning)은 총 3개의 단계로 구성될 수 있으며, 각 단계는 다음과 같다. 다만, 각 단계는 설명의 편의를 위해 구분한 것이므로, 이에 한정되는 것은 아니다.
제1 단계는 전체의 블록의 세트들을 루트(root)인 부모(mother) GOB로 설정하는 단계일 수 있다.
제2 단계는 각 부모 GOB에 대하여 수평 방향 및 수직 방향 중 큰 방향을 선택하고, 각 부모 GOB를 선택한 방향에 따라 두 개의 등 간격의 자식(child) GOB들로 분할하는 단계일 수 있다.
여기서, 만약 선택한 방향 내의 GOB의 길이가 홀수인 경우, 분할은 왼쪽 또는 위쪽의 자식 GOB의 길이가 오른쪽 또는 아래쪽의 자식 GOB의 길이보다 더 짧도록 수행될 수 있으나, 그 반대로 수행될 수 있다. 도 8을 참조하면, 이에 따라 최종적인 (자식) GOB는 직사각형의 형태일 수도 있으며, 정사각형의 형태일 수도 있다.
또한, 각 자식 GOB는 다시 부모 GOB로 선언될 수 있으며, 미리 설정한 Tb개 이상의 타겟 비트를 가지는 자식 GOB로 다시 분할될 수 있다. 다만, 각 자식 GOB는 미리 설정한 Tb개 이상의 타겟 비트를 포함하는 자식 GOB로 분할될 수 없는 경우, 부모 GOB로 선언되지 않을 수 있으며, 분할되지 않을 수 있다.
제3 단계는 상술한 제2 단계를 부모 GOB가 더 이상 존재하지 않을 때까지 반복 수행하는 단계일 수 있다. 다시 말해, 각 자식 GOB들은 미리 설정한 Tb개 이상의 타겟 비트를 포함하는 조건을 만족하는 전제하에서 계속적으로 분할을 수행할 수 있으며, 제3 단계가 완료된 경우, 각각 미리 설정한 Tb개 이상의 타겟 비트를 포함하는 자식 GOB만이 존재할 수 있다. 여기서, 루트 GOB(최초 부모 GOB)로부터 해당 GOB(최종 자식 GOB)까지의 분기 체인(branch chain)은 저장될 수 있다.
본 발명의 일 실시예에 따른 검출 섬도 인자 Tb는 워터마크 삽입 가능한 비트의 크기를 결정할 수 있다. 다시 말해, Tb 값이 클수록 비트의 크기 또한 커질 수 있다. 따라서, 각 GOB의 크기 및 GOB에 삽입되는 워터마크의 크기는 Tb 값에 따라 커질 수 있다.
보다 상세히 설명하면, 검출 섬도 인자 Tb가 큰 경우 큰 크기의 GOB를 초래하여 수정된 영역의 국부화(localization)가 다소 거칠게 또는 촘촘하지 못하게 수행될 수 있으나, 반대로 큰 크기의 GOB는 큰 크기의 워터마크를 GOB에 삽입할 수 있으므로 검출 실패율을 감소시킬 수 있다. 따라서, Tb는 보안 및 국부화 섬도 사이의 트레이드오프(tradeoff) 관계에 있을 수 있다.
도 9는 본 발명의 일 실시예에 따른 샘플 이미지에 대하여 Q 인자를 60으로 양자화한 JPEG 이미지 및 이에 워터마크한 이미지를 시각적으로 비교한 도면이다.
도 10은 본 발명의 일 실시예에 따른 샘플 이미지에 대하여 Q 인자를 90으로 양자화한 JPEG 이미지 및 이에 워터마크한 이미지를 시각적으로 비교한 도면이다.
도 9 및 도 10을 참조하면, Q 인자가 60 및 90인 경우의 JPEG 이미지 및 이에 워터마크한 이미지를 비교하면, 어떤 시각적 차이도 검출하기 어려우며, 무시될 수 있는 수준임을 알 수 있다.
또한, 통상의 기술자는 Q 인자가 60 및 90 사이의 값을 가지는 경우에도 동일하게 어떤 시각적 차이를 검출하기 어려울 것임을 알 수 있을 것이다.
도 11은 본 발명의 일 실시예에 따른 워터마크된 이미지로부터 변조된 영역을 검출한 결과를 나타낸 도면이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 이미지 무결성 검증 장치(300)에 의해 검출된 변조된 영역은 각 변조 방식에 따라 다르게 나타날 수 있다.
이미지 무결성 검증 장치(300)는 기존 JPEG 이미지로부터 메타데이터 변조, 확대, 축소, 리사이징(resizing), 자르기, 재압축, 선명화, 향상 및 흐려짐 제거가 발생한 것으로 판단한 경우, 이미지 전체를 변조된 영역으로 검출할 수 있으며, 복사 이동, 영역 복제, 이미지 접합, 블록 교환 및 콜라주 공격(collage attack)이 발생한 것으로 판단한 경우, 해당 영역만을 변조된 영역으로 검출할 수 있다.
다만, 이는 본 발명의 일 실시예에 따른 이미지 무결성 검증 장치에 의해 검출된 변조된 영역을 나타낸 하나의 예이므로, 이에 한정되는 것은 아니다.
도 12는 본 발명의 다른 실시예에 따른 워터마크 삽입 장치의 블록 구성도이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 워터마크 삽입 장치(1200)는 적어도 하나의 프로세서(1210), 메모리(1220) 및 저장 장치(1230)를 포함할 수 있다.
프로세서(1210)는 메모리(1220) 및/또는 저장 장치(1230)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(1210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(1220)와 저장 장치(1230)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(1220)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
메모리(1220)는 프로세서(1210)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 JPEG(Joint Photographic Experts Group) 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 명령, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하는 명령 및 타겟 비트에 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 명령을 포함할 수 있다.
또한, 적어도 하나의 명령은 샘플의 원본 로(raw) 이미지와 샘플의 JPEG 이미지 간 및 샘플의 원본 로 이미지와 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 PSNR(Peak Signal-to-Noise Ratio) 값을 기초로 WET을 결정하는 명령을 더 포함할 수 있다.
또한, 적어도 하나의 명령은 샘플의 원본 로(raw) 이미지와 샘플의 JPEG 이미지 간 및 샘플의 원본 로 이미지와 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 객관적 화질 평가 지표(objective image quality metric)를 기초로 WET을 결정하는 명령을 더 포함할 수 있으며, 객관적 화질 평가 지표는 SSIM(Structural SIMilarity), VIF(Visual Information Fidelity), MRSE(Mean Relative Squeared Error)-based SNR(Signal-to-Noise) WS-PSNR(Weighted Spherical-Peak Signal-to-Noise Ratio) 및 HDR-VDP(High Dynamic Range-Visual Difference Predictor) 중 적어도 하나를 이용하여 산출될 수 있다.
여기서, WET을 결정하는 명령은, 샘플의 원본 로 이미지 및 샘플의 JPEG 이미지 간의 제1 PSNR 값을 산출하는 명령, 샘플의 원본 로 이미지 및 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 제2 PSNR 값을 산출하는 명령, 제1 PSNR 값 및 제2 PSNR 값 간의 차이값를 산출하는 명령 및 차이값 및 제2 PSNR 값을 기초로 WET를 결정하는 명령을 포함할 수 있으며, 양자화된 DCT 계수의 절대값을 기초로 적어도 하나의 DCT 계수를 선택하여 샘플의 반전된 또는 랜덤 잡음이 삽입된 JPEG 이미지를 생성하는 명령을 더 포함할 수 있다.
또한, 적어도 하나의 명령은 양자화된 DCT 계수를 포함하는 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB(Group of Block)를 생성하는 명령을 더 포함할 수 있다.
여기서, 트리 구조의 복수의 GOB를 생성하는 명령은, 복수의 블록을 하나의 부모 GOB로 설정하는 명령, 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하는 명령 및 부모 GOB로부터 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하는 명령을 포함할 수 있다.
여기서, 타겟 비트에 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 명령은, 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하는 명령, 자식 GOB별 BIK를 기초로 자식 GOB별 RBS(Random Bit Sequence)를 생성하는 명령 및 자식 GOB별 RBS를 해당 GOB의 타겟 비트에 삽입하는 명령을 포함할 수 있다.
여기서, 자식 GOB 정보는, 자식 GOB의 이웃한 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 이웃한 GOB의 분기 체인 정보를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 이미지 무결성 검증 장치는 워터마크 삽입 장치(1200)와 같이 적어도 하나의 프로세서, 메모리 및 저장 장치를 포함할 수 있다.
이미지 무결성 검증 장치의 프로세서는 메모리 및/또는 저장 장치에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리와 저장 장치는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
이미지 무결성 검증 장치의 메모리는 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 JPEG(Joint Photographic Experts Group) 이미지의 복수의 블록을 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 명령, WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하는 명령, 타겟 비트로부터 제1 워터마크를 추출하는 명령, JPEG 이미지의 메타데이터를 기초로 제2 워터마크를 생성하는 명령 및 제1 워터마크 및 제2 워터마크를 비교하여 이미지의 무결성을 검증하는 명령을 포함할 수 있다.
또한, 적어도 하나의 명령은 복수의 블록을 기초로 타겟 비트를 포함하는 트리 구조의 복수의 GOB(Group of Block)를 생성하는 명령을 더 포함할 수 있다.
여기서, 트리 구조의 복수의 GOB를 생성하는 명령은, 복수의 블록을 하나의 부모 GOB로 설정하는 명령, 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하는 명령 및 부모 GOB로부터 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하는 명령을 포함할 수 있다.
여기서, 타겟 비트로부터 제1 워터마크를 추출하는 명령은, 자식 GOB별 타겟 비트로부터 제1 워터마크를 추출하는 명령을 포함할 수 있다.
여기서, JPEG 이미지의 메타데이터를 기초로 제2 워터마크를 생성하는 명령은, 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하는 명령 및 자식 GOB별 BIK를 기초로 제2 워터마크인 자식 GOB별 RBS(Random Bit Sequence)를 생성하는 명령을 포함할 수 있다.
여기서, 제1 워터마크 및 제2 워터마크를 비교하여 이미지의 무결성을 검증하는 명령은, 자식 GOB별 제1 워터마크 및 자식 GOB별 제2 워터마크가 모두 동일한 경우, JPEG 이미지를 변조되지 않은 이미지로 결정하는 명령 및 자식 GOB별 제1 워터마크 및 자식 GOB별 제2 워터마크 중 어느 하나가 동일하지 않은 경우, JPEG 이미지를 변조된 이미지로 결정하는 명령을 포함할 수 있다.
여기서, JPEG 이미지를 변조된 이미지로 결정하는 명령은, 제1 워터마크 및 제2 워터마크가 동일하지 않은 자식 GOB를 변조된 영역으로 결정하는 명령을 더 포함할 수 있다.
도 13은 본 발명의 일 실시예에 따른 워터마크 삽입 방법을 설명하는 순서도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 워터마크 삽입 장치는 입력 JPEG 이미지의 복수의 블록을 엔트로피 디코딩하여 양자화된 DCT 계수를 생성할 수 있고(S1310), WET(Watermark-Embedding Table)을 기초로 양자화된 DCT 계수의 비트 평면(bit plain)에서 타겟 비트를 결정할 수 있다(S1320). 여기서, 타겟 비트는 워터마크 삽입 가능한 비트(watermark emabeddable bit)를 의미할 수 있다.
워터마크 삽입 장치는 복수의 블록 전체를 부모 GOB(Group Of Block)로 설정할 수 있으며(S1330), 부모 GOB를 미리 설정한 개수 이상의 타겟 비트를 포함하는 복수의 자식 GOB로 분할할 수 있다(S1340). 여기서, 자식 GOB는 미리 설정한 개수 이상의 타겟 비트를 포함하는 복수의 GOB로 분할될 수 있는 경우, 계속적으로 분할을 수행할 수 있으며, 이러한 경우, 해당 자식 GOB를 부모 GOB로 설정하여 분할을 수행할 수 있다.
워터마크 삽입 장치는 입력 JPEG 이미지의 메타데이터, 유저 키 및 자식 GOB 정보를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성할 수 있다(S1350). 여기서, 자식 GOB 정보는 해당 GOB 내의 타겟 비트를 제외한 모든 비트에 대한 정보 및 부모 GOB(루트)로부터 해당 GOB까지의 분기 체인(branch chain) 정보를 포함할 수 있다. 또한, 워터마크 삽입 장치는 BIK를 생성하기 위해 해시 함수를 이용할 수 있다.
워터마크 삽입 장치는 자식 GOB별 BIK를 기초로 자식 GOB별 워터마크를 생성할 수 있으며(S1360), 자식 GOB별 워터마크를 해당 자식 GOB의 타겟 비트에 삽입할 수 있다(S1370). 여기서, 워터마크는 BIK를 기초로 생성한 RBS(Random Bit Sequence)를 의미할 수 있다.
워터마크 삽입 장치는 각 자식 GOB마다 워터마크를 모두 삽입한 후, 워터마크가 삽입된 양자화된 DCT 계수를 엔트로피 인코딩하여 워터마크된 JPEG 이미지를 생성할 수 있다(S1380).
도 14는 본 발명의 일 실시예에 따른 워터마크 기반의 이미지 무결성 검증 방법을 설명하는 순서도이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 이미지 무결성 검증 장치의 동작 중 S1405 단계 내지 S1420 단계는 도 13과 함께 설명한 워터마크 삽입 장치의 동작 중 S1310 단계 내지 S1340 단계와 동일할 수 있다.
이후, 이미지 무결성 검증 장치는 복수의 자식 GOB 내의 타겟 비트로부터 제1 워터마크를 추출할 수 있다(S1425). 여기서, 제1 워터마크는 워터마크 삽입 장치에 의해 삽입된 RBS를 의미할 수 있으며, 자식 GOB별로 추출될 수 있다.
이미지 무결성 검증 장치는 입력 JPEG 이미지의 메타데이터, 유저 키 및 자식 GOB 정보를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성할 수 있다(S1430). 여기서, 자식 GOB 정보는 해당 GOB 내의 타겟 비트를 제외한 모든 비트에 대한 정보 및 부모 GOB(루트)로부터 해당 GOB까지의 분기 체인(branch chain) 정보를 포함할 수 있다. 또한, 워터마크 삽입 장치는 BIK를 생성하기 위해 해시 함수를 이용할 수 있다.
이미지 무결성 검증 장치는 자식 GOB별 BIK를 기초로 자식 GOB별 제2 워터마크를 생성할 수 있으며(S1435), 모든 자식 GOB에 대하여 제1 워터마크와 제2 워터마크가 동일한지 판단할 수 있다(S1440).
이미지 무결성 검증 장치는 모든 자식 GOB에 대하여 제1 워터마크와 제2 워터마크가 동일한 경우, 입력 JPEG 이미지를 변조되지 않은 이미지로 결정할 수 있다(S1445).
다만, 이미지 무결성 검증 장치는 어느 하나의 자식 GOB에 대하여 제1 워터마크와 제2 워터마크가 동일하지 않은 경우, 입력 JPEG 이미지를 변조된 이미지로 결정할 수 있으며(S1450), 제1 워터마크와 제2 워터마크가 동일하지 않은 GOB를 입력 JPEG 이미지의 변조된 영역으로 검출할 수 있다(S1460).
본 발명의 실시예에 따른 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그래머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: JPEG 이미지 부호화 장치 200: 워터마크 삽입 장치
300: 이미지 무결성 검증 장치 1200: 워터마크 삽입 장치
1210: 프로세서 1220: 메모리
1230: 저장 장치

Claims (20)

  1. JPEG(Joint Photographic Experts Group) 이미지에 무결성을 검증하기 위한 워터마크를 삽입하는 장치에 의해 수행되는 워터마크 삽입 방법으로서,
    상기 JPEG 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 단계;
    소정의 기준에 따라 상기 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하고, 상기 비트 평면 내의 복수의 블록을 기초로, 각 자식 GOB에 타겟 비트가 포함되도록 하면서 트리 구조의 복수의 GOB를 생성하는 단계; 및
    상기 타겟 비트에 상기 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 단계를 포함하며,
    상기 타겟 비트에 상기 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하는 단계는
    상기 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 상기 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, 상기 JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하는 단계;
    상기 자식 GOB별 BIK를 기초로 자식 GOB별 RBS(Random Bit Sequence)를 생성하는 단계; 및
    상기 자식 GOB별 RBS를 해당 GOB의 타겟 비트에 삽입하는 단계를 포함하는, 워터마크 삽입 방법.
  2. 청구항 1에 있어서,
    샘플의 로(raw) 이미지와 상기 샘플의 JPEG 이미지 간 및 상기 샘플의 로 이미지와 상기 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 PSNR(Peak Signal-to-Noise Ratio) 값을 기초로 WET(Watermark-Embedding Table)을 결정하는 단계를 더 포함하는, 워터마크 삽입 방법.
  3. 청구항 2에 있어서,
    상기 WET을 결정하는 단계는,
    상기 샘플의 로 이미지 및 상기 샘플의 JPEG 이미지 간의 제1 PSNR 값을 산출하는 단계;
    상기 샘플의 로 이미지 및 상기 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 제2 PSNR 값을 산출하는 단계;
    상기 제1 PSNR 값 및 상기 제2 PSNR 값 간의 차이값를 산출하는 단계; 및
    상기 차이값 및 상기 제2 PSNR 값을 기초로 상기 WET를 결정하는 단계를 포함하는, 워터마크 삽입 방법.
  4. 청구항 3에 있어서,
    상기 WET을 결정하는 단계는,
    상기 양자화된 DCT 계수의 절대값을 기초로 적어도 하나의 DCT 계수를 선택하여 상기 샘플의 반전된 또는 랜덤 잡음이 삽입된 JPEG 이미지를 생성하는 단계를 더 포함하는, 워터마크 삽입 방법.
  5. 청구항 1에 있어서,
    샘플의 로(raw) 이미지와 상기 샘플의 JPEG 이미지 간 및 상기 샘플의 원본 로 이미지와 상기 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 객관적 화질 평가 지표(objective image quality metric)를 기초로 WET(Watermark-Embedding Table)을 결정하는 단계를 더 포함하는, 워터마크 삽입 방법.
  6. 청구항 5에 있어서,
    상기 객관적 화질 평가 지표는,
    SSIM(Structural SIMilarity), VIF(Visual Information Fidelity), MRSE(Mean Relative Squeared Error)-based SNR(Signal-to-Noise), WS-PSNR(Weighted Spherical-Peak Signal-to-Noise Ratio) 및 HDR-VDP(High Dynamic Range-Visual Difference Predictor) 중 적어도 하나를 이용하여 산출되는, 워터마크 삽입 방법.
  7. 삭제
  8. 청구항 1에 있어서,
    상기 복수의 GOB를 생성하는 단계는,
    상기 복수의 블록을 하나의 부모 GOB로 설정하는 단계;
    상기 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하는 단계; 및
    상기 부모 GOB로부터 상기 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하는 단계를 포함하는, 워터마크 삽입 방법.
  9. 삭제
  10. 청구항 1에 있어서,
    상기 자식 GOB 정보는,
    상기 자식 GOB의 이웃한 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 상기 자식 GOB의 이웃한 GOB의 분기 체인 정보를 더 포함하는, 워터마크 삽입 방법.
  11. 워터마크가 삽입된 JPEG(Joint Photographic Experts Group) 이미지의 무결성을 검증하는 장치에 의해 수행되는 이미지 무결성 검증 방법으로서,
    상기 JPEG 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하는 단계;
    소정의 기준에 따라 상기 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하고, 상기 비트 평면 내의 복수의 블록을 기초로, 각 자식 GOB에 타겟 비트가 포함되도록 하면서 트리 구조의 복수의 GOB를 생성하는 단계;
    상기 타겟 비트로부터 제1 워터마크를 추출하는 단계;
    상기 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 상기 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, 상기 JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하고, 상기 자식 GOB별 BIK를 기초로 자식 GOB별 RBS(Random Bit Sequence)를 생성하여, 상기 자식 GOB별 RBS를 제2 워터마크로서 생성하는 단계; 및
    상기 제1 워터마크 및 상기 제2 워터마크를 비교하여 이미지의 무결성을 검증하는 단계를 포함하는, 이미지 무결성 검증 방법.
  12. 삭제
  13. 청구항 11에 있어서,
    상기 복수의 블록을 기초로 상기 타겟 비트를 포함하는 트리 구조의 복수의 GOB를 생성하는 단계는,
    상기 복수의 블록을 하나의 부모 GOB로 설정하는 단계;
    상기 부모 GOB를 하나의 자식 GOB가 미리 설정한 개수 이상의 타겟 비트를 포함하는 조건 하에서 복수의 자식 GOB로 분할하는 단계; 및
    상기 부모 GOB로부터 상기 자식 GOB까지의 자식 GOB별 분기 체인(branch chain) 정보를 생성하는 단계를 포함하는, 이미지 무결성 검증 방법.
  14. 청구항 13에 있어서,
    상기 타겟 비트로부터 제1 워터마크를 추출하는 단계는,
    상기 자식 GOB별 타겟 비트로부터 제1 워터마크를 추출하는 단계를 포함하는, 이미지 무결성 검증 방법.
  15. 삭제
  16. 청구항 11에 있어서,
    상기 제1 워터마크 및 상기 제2 워터마크를 비교하여 이미지의 무결성을 검증하는 단계는,
    상기 자식 GOB별 제1 워터마크 및 상기 자식 GOB별 제2 워터마크가 모두 동일한 경우, 상기 JPEG 이미지를 변조되지 않은 이미지로 결정하는 단계; 및
    상기 자식 GOB별 제1 워터마크 및 상기 자식 GOB별 제2 워터마크 중 어느 하나가 동일하지 않은 경우, 상기 JPEG 이미지를 변조된 이미지로 결정하는 단계를 포함하는, 이미지 무결성 검증 방법.
  17. 청구항 16에 있어서,
    상기 JPEG 이미지를 변조된 이미지로 결정하는 단계는,
    상기 제1 워터마크 및 상기 제2 워터마크가 동일하지 않은 자식 GOB를 변조된 영역으로 결정하는 단계를 더 포함하는, 이미지 무결성 검증 방법.
  18. JPEG(Joint Photographic Experts Group) 이미지에 무결성을 검증하기 위한 워터마크를 삽입하는 장치로서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금:
    상기 JPEG 이미지를 엔트로피 디코딩하여 양자화된 DCT(Discrete Cosine Transform) 계수를 생성하고;
    소정의 기준에 따라 상기 양자화된 DCT 계수의 비트 평면(bit plane)에서 타겟 비트를 결정하고, 상기 비트 평면 내의 복수의 블록을 기초로, 각 자식 GOB에 타겟 비트가 포함되도록 하면서 트리 구조의 복수의 GOB를 생성하고;
    상기 타겟 비트에 상기 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하도록 하며,
    상기 타겟 비트에 상기 JPEG 이미지의 메타데이터에 기초한 워터마크를 삽입하도록 하는 명령은 상기 프로세서로 하여금:
    상기 자식 GOB 내의 타겟 비트가 아닌 비트에 대한 정보 및 상기 자식 GOB의 분기 체인 정보를 포함하는 자식 GOB 정보, 상기 JPEG 이미지의 메타데이터 및 유저 키를 기초로 자식 GOB별 BIK(Block Identifying Key)를 생성하고;
    상기 자식 GOB별 BIK를 기초로 자식 GOB별 RBS(Random Bit Sequence)를 생성하고;
    상기 자식 GOB별 RBS를 해당 GOB의 타겟 비트에 삽입하도록 하는, 워터마크 삽입 장치.
  19. 청구항 18에 있어서,
    상기 적어도 하나의 명령은,
    샘플의 로(raw) 이미지와 상기 샘플의 JPEG 이미지 간 및 상기 샘플의 원본 로 이미지와 상기 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 PSNR(Peak Signal-to-Noise Ratio) 값을 기초로 WET(Watermark-Embedding Table)을 결정하도록 실행되는, 워터마크 삽입 장치.
  20. 청구항 18에 있어서,
    상기 적어도 하나의 명령은,
    샘플의 로(raw) 이미지와 상기 샘플의 JPEG 이미지 간 및 상기 샘플의 원본 로 이미지와 상기 샘플의 반전(flip)된 또는 랜덤 잡음이 삽입된 JPEG 이미지 간의 객관적 화질 평가 지표(objective image quality metric)를 기초로 WET(Watermark-Embedding Table)을 결정하도록 실행되는, 워터마크 삽입 장치.
KR1020180058185A 2018-05-23 2018-05-23 워터마크 기반의 이미지 무결성 검증 방법 및 장치 KR102637177B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180058185A KR102637177B1 (ko) 2018-05-23 2018-05-23 워터마크 기반의 이미지 무결성 검증 방법 및 장치
US17/057,249 US11915336B2 (en) 2018-05-23 2019-05-17 Method and device for watermark-based image integrity verification
PCT/KR2019/005890 WO2019225903A1 (ko) 2018-05-23 2019-05-17 워터마크 기반의 이미지 무결성 검증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180058185A KR102637177B1 (ko) 2018-05-23 2018-05-23 워터마크 기반의 이미지 무결성 검증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190133363A KR20190133363A (ko) 2019-12-03
KR102637177B1 true KR102637177B1 (ko) 2024-02-14

Family

ID=68616481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180058185A KR102637177B1 (ko) 2018-05-23 2018-05-23 워터마크 기반의 이미지 무결성 검증 방법 및 장치

Country Status (3)

Country Link
US (1) US11915336B2 (ko)
KR (1) KR102637177B1 (ko)
WO (1) WO2019225903A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714923B2 (en) * 2013-09-26 2023-08-01 Salesforce, Inc. Methods and systems for protecting data integrity
JP2022500891A (ja) * 2018-09-21 2022-01-04 インターデジタル ヴイシー ホールディングス, インコーポレイテッド スカラー量子化従属性のためのスカラー量子化器決定スキーム
KR20220005930A (ko) * 2020-07-07 2022-01-14 삼성에스디에스 주식회사 데이터 위변조 방지 방법 및 장치, 데이터 위변조 검출 방법 및 장치
US11809532B2 (en) * 2020-10-14 2023-11-07 Irdeto B.V. Detection of modification of an item of content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258243A1 (en) * 2003-04-25 2004-12-23 Dong-Hwan Shin Method for embedding watermark into an image and digital video recorder using said method
JP2005517362A (ja) 2002-02-06 2005-06-09 ソニー・ユナイテッド・キングダム・リミテッド ビットストリームの変更方法及び装置
KR101716318B1 (ko) 2016-12-29 2017-03-14 (주)다올소프트 Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치
KR101736229B1 (ko) * 2016-03-22 2017-05-16 인천대학교 산학협력단 암호화된 이미지를 압축하기 위한 방법 및 장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6069914A (en) * 1996-09-19 2000-05-30 Nec Research Institute, Inc. Watermarking of image data using MPEG/JPEG coefficients
US6285775B1 (en) * 1998-10-01 2001-09-04 The Trustees Of The University Of Princeton Watermarking scheme for image authentication
EP1266475A4 (en) * 2000-03-18 2005-07-27 Digimarc Corp TRANSMARKING, FUNCTIONS OF INCORPORATING WATERMARK AS RESTITUTION CONTROLS, AND WATERMAKING WITH MULTIMEDIA SIGNAL CHARACTERISTICS
AU2001255445A1 (en) * 2000-04-17 2001-10-30 Digimarc Corporation Authentication of physical and electronic media objects using digital watermarks
CN100461864C (zh) * 2005-06-25 2009-02-11 华为技术有限公司 基于数字水印的多媒体视频通信客观质量评价方法
KR20070029022A (ko) * 2005-09-08 2007-03-13 김진헌 디지털 영상의 신뢰성 인증용 워터마크의 삽입/검출 기법
US7974477B2 (en) * 2007-02-19 2011-07-05 New Jersey Institute Of Technology Apparatus and method for reversible data hiding for JPEG images
KR100898329B1 (ko) * 2007-10-05 2009-05-20 한국과학기술원 정수 웨이블릿 변환에 기초한 워터 마크 삽입 방법
WO2009047833A1 (ja) * 2007-10-09 2009-04-16 C4 Technology, Inc. 電子透かし埋め込み方法、電子透かし埋め込み装置、プログラムおよびコンピューター読み取り可能な記録媒体
US8090146B2 (en) * 2009-01-15 2012-01-03 Google Inc. Image watermarking
KR101613946B1 (ko) * 2009-10-29 2016-04-29 엘지전자 주식회사 컨텐트에 워터마크(watermark)를 삽입하고 삽입된 워터마크를 검출하는 방법 및 장치
EP2362383A1 (en) * 2010-02-26 2011-08-31 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Watermark decoder and method for providing binary message data
EP2362385A1 (en) * 2010-02-26 2011-08-31 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Watermark signal provision and watermark embedding
KR101310140B1 (ko) * 2012-01-19 2013-09-23 금오공과대학교 산학협력단 가역 워터마킹 기술을 이용한 영상의 무결성 인증 방법
KR101442017B1 (ko) * 2012-12-10 2014-09-25 국방과학연구소 워터마킹 생성과 삽입 및 검출 기법
KR101528300B1 (ko) * 2013-10-10 2015-06-11 조선대학교산학협력단 Ac 계수를 이용한 jpeg 압축 이미지의 워터마크 삽입 및 추출 방법
US9946723B2 (en) * 2014-06-02 2018-04-17 Intel Corporation Data embedding in run length encoded streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005517362A (ja) 2002-02-06 2005-06-09 ソニー・ユナイテッド・キングダム・リミテッド ビットストリームの変更方法及び装置
US20040258243A1 (en) * 2003-04-25 2004-12-23 Dong-Hwan Shin Method for embedding watermark into an image and digital video recorder using said method
KR101736229B1 (ko) * 2016-03-22 2017-05-16 인천대학교 산학협력단 암호화된 이미지를 압축하기 위한 방법 및 장치
KR101716318B1 (ko) 2016-12-29 2017-03-14 (주)다올소프트 Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치

Also Published As

Publication number Publication date
US11915336B2 (en) 2024-02-27
KR20190133363A (ko) 2019-12-03
WO2019225903A1 (ko) 2019-11-28
US20210334931A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
KR102637177B1 (ko) 워터마크 기반의 이미지 무결성 검증 방법 및 장치
Caldelli et al. Reversible watermarking techniques: An overview and a classification
Khan et al. A recent survey of reversible watermarking techniques
US9218638B2 (en) Method, system, and computer-readable medium for embedding and extracting a watermark in a video
US8442262B2 (en) Method and system to process a digital image
Rajput et al. Image tamper detection and self-recovery using multiple median watermarking
Rabie et al. Maximizing embedding capacity and stego quality: curve-fitting in the transform domain
Wahed et al. Reversible data hiding with interpolation and adaptive embedding
Qian et al. Inpainting assisted self recovery with decreased embedding data
Steinebach et al. Forbild: Efficient robust image hashing
KR101135472B1 (ko) 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법
Cheddad et al. Enhancing steganography in digital images
Hu et al. Tamper detection and image recovery for BTC-compressed images
Kwon et al. A watermark-based scheme for authenticating JPEG image integrity
Hu et al. Probability-based reversible image authentication scheme for image demosaicking
Watni et al. A comparative evaluation of jpeg steganography
Liao et al. Improving the adaptive steganographic methods based on modulus function
Soleymani et al. Double expanding robust image watermarking based on Spread Spectrum technique and BCH coding
EP3175423A1 (en) Digital image watermarking system and method
Zain Strict authentication watermarking with JPEG compression (SAW-JPEG) for medical images
KR101528300B1 (ko) Ac 계수를 이용한 jpeg 압축 이미지의 워터마크 삽입 및 추출 방법
CN111065000B (zh) 视频水印处理方法、装置及存储介质
Ghosh et al. Watermark based image authentication using integer wavelet transform
Mathews et al. Histogram shifting based reversible data hiding using block division and pixel differences
Al-Jaber et al. Reversible watermarking using modified difference expansion

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant