KR101716318B1 - Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치 - Google Patents

Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치 Download PDF

Info

Publication number
KR101716318B1
KR101716318B1 KR1020160182622A KR20160182622A KR101716318B1 KR 101716318 B1 KR101716318 B1 KR 101716318B1 KR 1020160182622 A KR1020160182622 A KR 1020160182622A KR 20160182622 A KR20160182622 A KR 20160182622A KR 101716318 B1 KR101716318 B1 KR 101716318B1
Authority
KR
South Korea
Prior art keywords
block
macroblock
jpeg
information
value
Prior art date
Application number
KR1020160182622A
Other languages
English (en)
Inventor
유승일
강상욱
Original Assignee
(주)다올소프트
주식회사 지투이정보기술
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)다올소프트, 주식회사 지투이정보기술 filed Critical (주)다올소프트
Priority to KR1020160182622A priority Critical patent/KR101716318B1/ko
Application granted granted Critical
Publication of KR101716318B1 publication Critical patent/KR101716318B1/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/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일 양태는 JPEG(Joint Photographic Experts Group) 영상에 대한 강인한 가역 정보 은닉 방법을 개시하고 있다. 상기 방법은 JPEG 비트스트림을 수신하는 단계, 상기 JPEG 비트스트림을 엔트로피 복호화(entropy decoding)하여 W x H의 Y 성분 QDCT 값을 추출하는 단계(W는 블록의 너비, H는 블록의 높이, Y 성분은 휘도 성분을 의미함), 상기 W x H 블록을 네 개의 사분할 영역으로 분할하여 W/2 x H/2 GoB(Group of Block)을 생성하는 단계, 하나의 GoB를 각각 16 x 16인 오버래핑(overlapping)하는 매크로 블록(MB)으로 분할하는 단계, 상기 하나의 매크로블록에 1 비트의 비밀 데이터(secret data)를 삽입하는 단계 및 상기 1 비트의 비밀 데이터가 삽입된 각 매크로블록을 엔트로피 부호화(entropy encoding)하여 스테고(stego) JPEG 비트스트림을 생성하는 단계를 포함한다.

Description

JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치{ROBUST REVERSIBLE DATA HIDING METHOD AND APPARATUS FOR JPEG FILE FORMAT IMAGE}
본 발명은 하이딩(hiding) 방법 및 장치에 관한 것으로, 보다 상세하게는, JPEG(Joint Photographic Experts Group) 파일과 관련된 강인한 가역 정보은닉 방법에 관한 것이다.
일반적으로, 이미지, 동영상, 멀티미디어 등과 같은 디지털 콘텐트는 인터넷상에서 이동과 복사의 속도가 빠르고 범위가 넓어, 얼마나 이용되고 배포되어 있는지 파악하기 쉽지 않으며, 이로 인하여 디지털 콘텐트의 저작권자가 가진 권리는 침해 당하기 쉬우며, 유통 현황의 불투명성으로 인하여 저작권료의 신뢰성 높은 정산이 어려운 것이 사실이다.
따라서, 디지털 콘텐트에 저작권 정보를 효율적으로 삽입하기 위한 기술들이 활발히 개발되고 있다. 대부분의 경우, 이러한 저작권 정보의 길이는 최소 50 바이트(bytes) 이상이며, 은닉된 정보를 이용하여 인터넷상의 어디엔가 존재하고 있는 디지털 콘텐트를 정확하게 식별하고 사용현황을 파악할 수 있어야 하기 때문에 정보를 쉽게 손상하거나 함부로 추출하여 수정할 수 없어야 한다.
자동적으로 이미지를 식별하기 위해서는 주로 워터마킹 기술과 핑거프린팅 기술을 사용한다. 워터마킹은 관련 정보를 이미지 신호 내에 가시적 또는 비가시적으로 삽입하고 필요한 경우 이를 추출하여 이미지를 식별할 수 있다. 핑거프린팅 기술은 이미지가 선천적으로 지니고 있는 특징점을 추출하여 데이터베이스 형태로 저장해 두고 현재 식별할 대상인 이미지의 특징점을 추출하여 상호 비교하는 방식으로 식별한다. 이와 같이 위에 언급된 두 기술은 가우시안 잡음, 밝기 변화 등의 비기하학적 변형과 확대 및 축소, 회전, aspect ratio change 등의 기하학적 변형에 비교적 강인한 알고리즘을 구현할 수 있다.
그러나, 상술한 두 기술은 삽입할 수 있는 정보의 양과 원본 손상의 관점에서 본다면 그리 적합하지는 않은 방식이다. 예를 들어, 내재(embedding)할 수 있는 정보의 양을 고려한다면, 핑거프린팅 방식은 이미지의 식별만 가능하고 정보를 삽입할 수는 없으며 워터마킹 방식은 부호화된 텍스트가 아닌 이미지 형태로 정보를 삽입하기 때문에 유통정보 은닉에 충분한 양의 정보를 내재시키기에는 부적합하다.
또한, 원본 손상의 관점에서 본다면 핑거프린팅 방식은 어떠한 원본 손상도 발생하지 않지만, 워터마킹 방식은 필연적으로 원본 손상이 발생하며 공격에 강인한 알고리즘일수록 손상의 강도가 심해진다. 유통정보는 저작권 거래, 이미지의 이동 등에 따라 수시로 수정(update)될 필요가 있는데, 워터마킹의 잦은 수정으로 인해 이미지의 손상이 지속적으로 발생한다면 이미지 품질이 저하되고 이미지가 전달하려고 하는 의미가 왜곡될 우려가 있다.
일본특허공개 제2003-536113호
상술한 문제점을 해결하기 위한 본 발명의 일 양태는 이미지가 압축된 형태로 유통되는 현실을 감안하여 JPEG 방식으로 압축된 이미지를 원본손상 없이 충분히 많은 양의 정보를 은닉할 수 있고 이미지 콘텐츠 유통에 있어서 자연스럽게 발생할 수 있는 JPEG 재압축과 부분적인 콘텐츠 수정 공격에 강인한 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 JPEG(Joint Photographic Experts Group) 영상에 대한 강인한 가역 정보 은닉 방법은 JPEG 비트스트림을 수신하는 단계, 상기 JPEG 비트스트림을 엔트로피 복호화(entropy decoding)하여 W x H의 Y 성분 QDCT 값을 추출하는 단계(W는 블록의 너비, H는 블록의 높이, Y 성분은 휘도 성분을 의미함), 상기 W x H 블록을 네 개의 사분할 영역으로 분할하여 W/2 x H/2 GoB(Group of Block)을 생성하는 단계, 하나의 GoB를 각각 16 x 16인 오버래핑(overlapping)하는 매크로 블록(MB)으로 분할하는 단계, 상기 하나의 매크로블록에 1 비트의 비밀 데이터(secret data)를 삽입하는 단계 및 상기 1 비트의 비밀 데이터가 삽입된 각 매크로블록을 엔트로피 부호화(entropy encoding)하여 스테고(stego) JPEG 비트스트림을 생성하는 단계를 포함할 수 있다.
상기 비밀 데이터를 삽입하는 단계는 상기 매크로블록에서 특정한 3개의 위치의 QDCT 계수들의 평균값을 상기 매크로블록 내의 3개의 매크로블록에 대해 산출하는 단계, 산출된 3개의 평균값들의 평균인 제 1 평균을 산출하는 단계, 상기 매크로블록 내에서 상기 비밀 데이터를 삽입하고자 하는 블록의 실제 QDCT 계수의 평균값과 상기 제 1 평균과의 차이값을 산출하는 단계, 상기 차이값을 1비트 좌측으로 쉬프트(shift)하여 1 비트의 빈 공간을 생성하는 단계 및 상기 생성된 1 비트의 빈 공간에 비밀정보를 삽입하여 새로운 QDCT 값을 산출하는 단계를 포함하고, 상기 특정한 3개의 위치는 상기 매크로블록의 최하단 최좌측 블록, 상기 매크로블록의 최상단 최우측 블록, 및 상기 매크로블록의 가장 가운데 위치한 4개 블록 중 좌하단 블록을 포함할 수 있다.
본 발명에 따른 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법에 따르면, 원본 이미지의 영역을 4개의 파티션으로 나눠 비밀 정보를 중복으로 숨기고, 비밀 정보를 BCH 코드를 사용하여 에러의 검출이 가능하게 하는 효과가 있다.
또한, 본 발명에 따른 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법에 따르면, JPEG 비트스트림 내의 양자화된 DCT계수의 평균값의 예측값을 사용하여 정보를 숨기고, 평균값에 사용할 계수의 적절한 조합을 사용하는 전략을 통해 재압축을 가한 이후에 강인성을 향상시키고, 영상의 왜곡을 방지하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법을 개략적으로 나타낸 흐름도,
도 2는 본 발명의 일 실시예에 따른 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법의 JPEG 비트스트림 데이터의 분산 은닉을 위한 영역 분할 방식을 설명하기 위한 개념도,
도 3은 매크로블록 내에 데이터를 은닉하는 블록 및 QDCT 블록의 상세 구조를 나타낸 개념도,
도 4는 본 발명의 일 실시예에 따른 JPEG 파일의 강인한 가역 정보 추출 및 복원 방법을 개략적으로 나타낸 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
정보은닉 알고리즘
가역 정보은닉 기술은 커버(cover) 이미지에 정보를 은닉하면서도 커버 이미지의 정보를 손상 없이 유지한다. 이미지는 누구나 쉽게 콘텐츠의 회전, 압축, 밝기변화 등의 변형을 가할 수 있기 때문에 이에 대비한 강인한 가역정보은닉 방법이 요구된다. 강인한 정보은닉 기술은 픽셀(pixel)에 정보를 은닉하는 방식이 주를 이루며, 패치워크(patchwork) 이론과 모둘로-256(modulo-256) 덧셈을 이용하여 반강인한(semi robust)한 데이터 은닉 방법을 이용할 수 있다. 하지만 이 방법은 모듈로 연산으로 인한 바운더리 이펙트(boundary effect)가 스테고(stego) 이미지에 솔트-앤-페퍼(salt-and-pepper) 노이즈를 발생시킨다.
이를 해결하고 강인성을 부여하기 위해, JPEG 압축에도 변화가 적은 인접 픽셀의 차이값들의 평균에 정보를 숨기고, 가역성(reversibility) 확보를 위해 정보를 숨길 때 고의적으로 발생시키는 에러 비트(error bit)를 복원하기 위해 BCH 코드를 사용할 수 있다. 이때, JPEG 압축에 강인하도록 숨기는 정보의 비트가 0인 bit-0 영역(zone)과 1인 bit-1 영역 사이에 일정한 간격을 두어 JPEG 압축 후 픽셀값에 변경이 다소간 발생하더라도 두 영역이 중첩되지 않도록 하여 강인성을 확보할 수 있다.
또 다른 방법으로는, IWT(Integer Wavelet Transform) 도메인에서 계수 쉬프팅(coefficient shifting) 알고리즘을 이용하여 주파수 도메인에서 강인성을 확보할 수 있다. 특히, 호스트 이미지(host image)의 비중첩 블록(non-overlapping block)을 SLT(Slantlet transform) 매트릭스를 이용하여 변환하고 높은 주파수 영역에 해당하는 SLT 계수들(coefficients)의 평균값들 간의 차이값을 수정하여 데이터 비트를 방법을 이용할 수 있다. 이때, DWT 알고리즘을 이용하여 변환한 후에 각 서브밴드(LL, LH, HL, HH)마다 SVD 알고리즘을 사용하여 특이 값(singular value)을 분해한 후 그 값에 정보를 숨길 수 있다.
다만, 상기 방법은 픽셀 값의 변경을 통해 정보를 은닉하면서 강인성을 확보하고 있고 숨기는 정보 자체가 이진 영상임을 전제로 하고 있다. 이진 영상을 은닉하는 경우에는 비록 일부 정보를 잃게 되더라도 사람이 인식할 수 있어 기본적으로 공격에 강인하지만, 많은 정보를 은닉하지는 못할 수 있다. 또한, 픽셀 값에 정보를 은닉할 경우에는 압축된 형태로 이미지가 유통되는 현실을 반영하기 어렵다.
강인성을 고려하지는 않았지만, 압축된 JPEG 비트스트림에 적용 가능하도록 양자화된 DCT(QDCT)에 가역적으로 정보를 은닉하는 방법을 이용할 수 있다. 예컨대, 8x8 QDCT 블록의 고주파성분에서 연속적인 0의 개수가 두 개 이상일 경우에 정보를 은닉할 수 있다.
또는, 은닉 후에 높아지는 엔트로피 부호화(entropy coding)의 비효율성으로 인한 영상의 파일크기 증가를 최소화하는 최적의 임계값을 정하고 영상의 왜곡이 가장 적게 생기는 위치인 저주파수와 중간 주파수 영역의 QDCT 계수에만 정보를 숨긴다. 선택한 QDCT 계수 중 [-T, T]의 범위 내에서 QDCT의 값의 빈도수를 h0 = [a1, a2, a3, ..., a2T + 1)라고 표현하였을 때, 이 중에서 이웃하는 빈도수 값을 두 개씩 묶은 것은 히스토그램 쌍(histogram pair)을 h=[ai, ai+ 1]로 표현하고 이곳에 정보를 숨길 수 있다. 이때, ai+1가 0이고, ai가 0이 아닌 양의 정수값을 갖고 있을 때, 이 위치에 m 비트만큼 숨기는 방법을 이용할 수 있다.
더욱이, QDCT 블록의 중간-범위 주파수 계수(mid-range frequency coefficient) 위치에 해당하는 양자화 테이블 값을 상수 k로 나누어 테이블 값을 감소시키고, QDCT 계수에는 k를 곱하여 k-array(0 ~ k-1)만큼 은닉할 공간을 마련하는 방법을 사용할 수 있다. 여기서 DCT 계수의 값은 양자화 테이블의 값과 QDCT 계수의 곱이기 때문에 가역 정보은닉된 스테고 이미지의 품질을 k로 나눈 양자화 테이블 값을 사용하는 조건하에 개선할 수 있다. 또한, 히스토그램 쉬프팅(Histogram shifting) 알고리즘을 사용하여 은닉할 위치인 피크 빈(peak bin)을 QDCT 계수 중 -1과 1인 곳으로 정하고 0인 곳에는 은닉을 하지 않기 때문에 은닉된 영상의 파일 사이즈 증가량을 감소시키는 방법을 활용할 수도 있다.
특히, 본 발명의 일 실시예에 따르면, QDCT에 정보를 은닉하면서 이미지의 수정 및 재압축에 따른 QDCT 값의 변화에 강인한 가역적 정보은닉 알고리즘을 사용할 수 있다.
본 발명의 일 실시예에 따른 가역정보 은닉 방법은 유통자가 JPEG 비트스트림에 유통 정보를 텍스트 형태로 숨기면서 원본(original) JPEG 비트스트림을 로스리스(lossless)하게 복원한다. 워터마킹 방법은 바이너리 이미지 형태의 데이터를 숨기기 때문에 공격으로 인해 에러가 조금 발생하여 숨긴 이미지가 훼손되어 복구될 때에도 사람의 눈으로 인지가 가능하다는 특징을 이용하여 에러에 강인한 다양한 방법이 존재한다. 텍스트 형태의 데이터를 숨길 경우에는 역시 복구된 텍스트에 에러가 조금 존재할 때 사람의 인텔리전스(intelligence)로 인지가 가능하다는 특징을 이용한다. 예를 들어서 숨긴 정보가 “우리는 학교에 간다”일 경우, 에러로 인해 복구된 정보가 “우리넌 학교에 간다”라면 문맥상 ‘넌’이 ‘는’으로 수정되어야 함을 알 수 있다. 물론 이미지 형태를 숨기는 경우보다 강인하지는 않다. 또한, JPEG 비트스트림만이 현실적으로 이용자나 유통자에게 가용하고 이를 이용하여 축소, 회전, 노이즈 등의 공격을 가한다면, 재압축(recompression) 과정이 요구될 수 있다. 그리고 JPEG은 로시(lossy) 압축 방식이기 때문에, 심지어 어떠한 공격도 가하지 않고 재압축만 하더라도 QDCT값 및 비트스트림이 변한다. 따라서 본 발명의 일 실시예는 현실에서 가장 흔히 발생할 수 있는 JPEG 재압축과 수정 공격에 강인한 알고리즘을 제공한다.
도 1은 본 발명의 일 실시예에 따른 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법을 개략적으로 나타낸 흐름도이다.
도 1을 참조하면, JPEG 파일에 대해 강인한 가역정보를 은닉하는 장치는 먼저 커버 JPEG 비트스트림을 수신한다(S110). 그리고는, 수신된 JPEG 비트스트림을 엔트로피 복호화(entropy decoding)하여 WxH의 Y 성분(휘도 성분) QDCT 값을 추출한다(S120). 여기서, W는 블록의 너비, H는 블록의 높이를 의미한다.
또한, 장치는 비밀 데이터를 수신하여 전술한 바와 같이, BCH 부호화를 수행한다(S105). 이는 JPEG 비트스트림의 수신 및 QDCT 값 추출과정과 병렬적으로 수행될 수 있다.
그리고는, W x H 블록을 네 개의 사분할 영역으로 분할하여 W/2 x H/2 GoB(Group of Block)을 생성하고, 하나의 GoB를 각각 16x16인 오버래핑(overlapping)하는 매크로 블록(MB)으로 분할한 후, 하나의 매크로블록에 1 비트의 비밀 데이터(secret data)를 삽입한다(S130). 이때, 평균 예측 차이 확장 방법(average prediction difference expansion method)을 이용할 수 있다.
그리고는, 1 비트의 비밀 데이터가 삽입된 각 매크로블록을 엔트로피 부호화(entropy encoding)하여 스테고(stego) JPEG 비트스트림을 생성할 수 있다(S140).
이하 도 2 및 도 3을 통해 위 과정을 보다 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 JPEG 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법의 JPEG 비트스트림 데이터의 분산 은닉을 위한 영역 분할 방식을 설명하기 위한 개념도이다.
도 2를 참조하면, 사람의 눈은 색의 변화보다 밝기의 변화에 더 둔감하다는 특성을 이용하여 JPEG 비트스트림에서 휘도 성분인 Y 성분의 양자화된 DCT(QDCT) 계수에 정보를 숨기는 것이 바람직하다.
JPEG 비트스트림을 엔트로피 부호화하여을 하여 크기가 W x H인 Y 컴포넌트(component) QDCT 값을 구하고 다시 각각의 크기가 W/2 x H/2인 네 개의 영역 A1, A2, A3, A4로 나눈다. 각 영역에는 동일한 정보를 중복하여 4번 숨겨서 한 영역에서 이미지 수정 또는 재압축 에러의 발생으로 인해 숨긴 정보의 복구가 불가능하게 되어도 다른 영역의 동일한 위치에서 복원된 정보를 이용하여 복구의 가능성이 높아지도록 한다.
각각의 영역은 도 1의 최우측 상단 도면과 같이 크기가 W/2 x 16인 GOB(Group Of Block)로 나누고, 한 GOB는 도 1의 최우측 하단 도면과 같이 크기가 16 x 16인 오버래핑(overlapping)하는 매크로 블록(macro block)으로 나누고 각각을 MBij라고 나타낸다. 여기서 i, j는 데이터를 은닉할 블록의 위치이다.
매크로블록은 하나의 GOB 내에서만 구성할 수 있으며, 정보를 은닉할 블록 Bij을 포함하고 이를 기준으로 좌상측에 위치하는 블록 BUL, 좌측 블록 BL, 위측 블록 BU 총 네 개의 블록으로 이루어진다. 그리고 한 GOB의 첫 번째 매크로 블록에서 시작하여 오른쪽으로 한 블록씩 이동하면서 오버래핑하는 매크로 블록을 생성한다.
본 발명의 일 실시예에 따르면, 한 매크로블록(MB)에 한 비트(bit)의 정보를 숨긴다. ASCII 코드를 이용하여 정보를 은닉한다면 8개의 MB에 1 바이트(byte) 크기의 텍스트(text) 한 문자를, 한 GOB에는 W/(2x8)-1 bits의 정보를 숨길 수 있다. 영상 전체의 용량은 다음의 수학식과 같다.
[수학식 1]
Figure 112016129199473-pat00001
도 3은 매크로블록 내에 데이터를 은닉하는 블록 및 QDCT 블록의 상세 구조를 나타낸 개념도이다.
도 3을 참조하면, 우선 도 3의 죄우측 도면과 같이, 특정한 위치의 QDCT 계수 r1, r2, r3의 평균값 M을 다음의 수학식에 따라 식(2)에 따라 BUL, BL, BU에 대해 구하고 이를 각각 MUL, ML, MU라고 한다.
[수학식 2]
Figure 112016129199473-pat00002
이렇게 평균값을 사용하는 이유는 공격으로 인해 계수값이 변경되더라도 변경되는 값의 범위 s가 -2≤s≤2라면 숨겨진 정보를 에러없이 추출가능할 확률이 있기 때문이다. 물론 평균값을 구하기 위해 사용되는 계수의 개수가 많으면 에러를 보정할 수 있는 가능성이 높아지지만 이로 인해 스테고 이미지의 품질이 저하되는 비용(cost)을 고려해야 한다.
그 이유는 다음의 수학식 데이터 은닉으로 인한 왜곡이 보다 많은 QDCT 값에 영향을 미치기 때문이다. 또한, r1, r2, r3의 위치가 중간 주파수대에 위치하면서 서로간의 거리가 최대한 멀리 떨어지도록 선정한 이유는 다음과 같다.
첫째, 이미지의 정보가 저주파 대역에 응축되어 있어 약간에 변화에도 민감하고 고주파 영역은 변화는 압축률에 큰 영향을 미치기 때문이다. 둘째, 재압축할 경우 QDCT 값이 변화하는 행태를 관찰하면 인접한 계수가 변화하는 모습을 보이기 때문이다.
다음의 수학식을 이용하여 이들의 평균값인
Figure 112016129199473-pat00003
을 구하고 이를 숨기고자 하는 블록의 실제 평균값 Mij의 예측자(predictor)라고 한다.
[수학식 3]
Figure 112016129199473-pat00004
그리고 실제값 Mij과 예측값
Figure 112016129199473-pat00005
의 차이값 dij를 다음의 수학식을 이용하여 구한다.
[수학식 4]
Figure 112016129199473-pat00006
그리고는, dij를 1 비트(bit) 왼쪽으로 쉬프트(shift)하여 1 비트의 빈 공간을 확보하고, 1 비트 분량의 숨기는 정보 b를 다음의 수학식을 이용하여 은닉하고 새로운 차이값 d'ij를 생성한다.
[수학식 5]
Figure 112016129199473-pat00007
d'ij를 이용하여 정보를 숨기고자 하는 블록에 대한 새로운 평균 M'ij와 새로운 QDCT값 r'1, r'2, r'3를 각각 다음의 두 수학식을 이용하여 구한다.
[수학식 6]
Figure 112016129199473-pat00008
[수학식 7]
Figure 112016129199473-pat00009
이러한 과정을 전체 이미지에 대해서 적용하고 새로운 QDCT값을 이용하여 엔트로피 부호화를 수행하여 스테고 비트스트림(stego bitstream)을 생성한다. 비밀 데이터(secret data)를 은닉하기 이전에 도 3의 좌측에서 두번째 블록에서처럼 BCH 코딩을 적용한 데이터를 숨기는 것이 바람직하다. 왜냐하면, 에러가 발생한 위치를 검출하고 복원할 수 있어 알고리즘의 강인성을 높일 수 있기 때문이다. 만약 BCH(n, k, t)를 적용했다면 용량은
Figure 112016129199473-pat00010
bits로 줄어든다. 예를 들어, 512 × 512 이미지의 경우, 최대 496 bits, 즉, 62문자를 숨길 수 있고, BCH(31, 21, 2)를 적용하면 42문자까지 가능할 수 있다.
정보 추출 및 복원 알고리즘
도 4는 본 발명의 일 실시예에 따른 JPEG 파일의 강인한 가역 정보 추출 및 복원 방법을 개략적으로 나타낸 흐름도이다.
도 4를 참조하면, 숨긴 정보를 추출하고 영상을 가역적으로 복원하는 알고리즘은 정보 은닉하는 알고리즘의 역순으로 이루어진다. 먼저, 스테고 JPEG 비트스트림을 엔트로피 복호화(entropy decoding)한다(S410). 그리고는, 휘도 QDCT를 추출한다(S420). 이때, 정보를 추출할 블록의 QDCT 계수의 평균값 M'ij와 주위 블록 MUL, ML, MU를 이용하여 계산한 예측 평균값
Figure 112016129199473-pat00011
을 구한 후 M'ij
Figure 112016129199473-pat00012
사이의 차이 값인 d'ij를 다음의 수학식을 이용하여 계산한다.
[수학식 8]
Figure 112016129199473-pat00013
그리고는, 다음의 수학식을 이용하여 d'ij를 modulo-2 연산을 수행한 후, 절댓값을 씌워 숨긴 정보를 추출한다(S430).
[수학식 9]
Figure 112016129199473-pat00014
그리고는, 다음의 수학식와 같이 d'ij를 2로 나누게 되면 원래 차이 값인 dij를 구할 수 있다.
[수학식 10]
Figure 112016129199473-pat00015
그리고는, dij값과 예측 평균값인
Figure 112016129199473-pat00016
을 더하여 원본(original) Mij값을 구한 후에, r'k값에 M'ij과 Mij과의 차이 값을 빼주어 원본(origianl) rk으로 복원시킨다. 이를 수학식으로 나타내면 다음과 같다.
[수학식 11]
Figure 112016129199473-pat00017
[수학식 12]
Figure 112016129199473-pat00018
이렇게 복원된 rk 값을 기반으로 엔트로피 부호화를 수행하면 커버 JPEG 비트스트림을 생성할 수 있다(S440).
에러 검출 알고리즘
또한, 전체 이미지에서 정보를 추출한 이후에 에러를 검출하고 정정하기 위한 과정은 다음과 같다. 네 개의 영역 A1, A2, A3, A4에서 추출한 데이터를 각각 BA1, BA2, BA3, BA4 라고 하자. 이들로부터 동일한 위치의 있는 매크로블록(macro block)에서 추출된 한 비트를 b1, b2, b3, b4라고 할 때, 0의 개수
Figure 112016129199473-pat00019
와 1의 개수
Figure 112016129199473-pat00020
을 구하여, 최종 비트 final_b는 다음의 수학식에 따라 num_zero의 값이 num_one보다 크거나 같을 경우는 0으로, num_one이 더 클 경우에는 1로 선택한다.
[수학식 13]
Figure 112016129199473-pat00021
이때, 각 위치마다 final_b 값을 구하면 BCH 부호화(encoding)된 비트스트림을 생성하고, 이를 BCH 디코딩을 통해 최대 2개의 에러를 정정하여 최종적으로 비밀 데이터(secret data)를 복원할 수 있다(S445).
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (2)

  1. JPEG(Joint Photographic Experts Group) 비트스트림을 수신하는 단계;
    상기 JPEG 비트스트림을 엔트로피 복호화(entropy decoding)하여 W x H의 Y 성분 QDCT 값을 추출하는 단계, W는 블록의 너비, H는 블록의 높이, Y 성분은 휘도 성분을 의미함;
    상기 W x H 블록을 네 개의 사분할 영역으로 분할하여 W/2 x H/2 GoB(Group of Block)을 생성하는 단계;
    하나의 GoB를 각각 16 x 16인 오버래핑(overlapping)하는 매크로 블록(MB)으로 분할하는 단계;
    상기 하나의 매크로블록에 1 비트의 비밀 데이터(secret data)를 삽입하는 단계; 및
    상기 1 비트의 비밀 데이터가 삽입된 각 매크로블록을 엔트로피 부호화(entropy encoding)하여 스테고(stego) JPEG 비트스트림을 생성하는 단계를 포함하되, 상기 비밀 데이터를 삽입하는 단계는:
    상기 매크로블록에서 특정한 3개의 위치의 QDCT 계수들의 평균값을 상기 매크로블록 내의 3개의 매크로블록에 대해 산출하는 단계;
    산출된 3개의 평균값들의 평균인 제 1 평균을 산출하는 단계;
    상기 매크로블록 내에서 상기 비밀 데이터를 삽입하고자 하는 블록의 실제 QDCT 계수의 평균값과 상기 제 1 평균과의 차이값을 산출하는 단계;
    상기 차이값을 1비트 좌측으로 쉬프트(shift)하여 1 비트의 빈 공간을 생성하는 단계; 및
    상기 생성된 1 비트의 빈 공간에 비밀정보를 삽입하여 새로운 QDCT 값을 산출하는 단계를 포함하고,
    상기 특정한 3개의 위치는 상기 매크로블록의 최하단 최좌측 블록, 상기 매크로블록의 최상단 최우측 블록, 및 상기 매크로블록의 가장 가운데 위치한 4개 블록 중 좌하단 블록을 포함하는 JPEG 영상에 대한 강인한 가역 정보은닉 방법.
  2. 삭제
KR1020160182622A 2016-12-29 2016-12-29 Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치 KR101716318B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160182622A KR101716318B1 (ko) 2016-12-29 2016-12-29 Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160182622A KR101716318B1 (ko) 2016-12-29 2016-12-29 Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101716318B1 true KR101716318B1 (ko) 2017-03-14

Family

ID=58460045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160182622A KR101716318B1 (ko) 2016-12-29 2016-12-29 Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101716318B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110047029A (zh) * 2019-04-22 2019-07-23 广东工业大学 一种结合多层差扩展具有对比度增强的可逆信息隐藏方法及装置
KR20190133363A (ko) * 2018-05-23 2019-12-03 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치
CN111432216A (zh) * 2020-02-28 2020-07-17 华南理工大学 用于jpeg图像中敏感区域的内容保护方法和恢复方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003536113A (ja) 2000-06-08 2003-12-02 マークエニー・インコーポレイテッド デジタルオーディオコンテンツ著作権の保護及びコピー防止のための電子透かしの埋込み/抽出方法、及びこれを用いた装置
KR20040092703A (ko) * 2003-04-25 2004-11-04 (주)마크텍 영상에 워터마크를 삽입하는 방법 및 상기 방법을 이용한디지털 비디오 저장장치
JP2005109918A (ja) * 2003-09-30 2005-04-21 Epson Kowa Corp 画像データへの秘匿データ挿入方式、秘匿データ検出方式および秘匿データが挿入された画像データの表示方式
JP2008199616A (ja) * 2008-02-08 2008-08-28 Avasys Corp 秘匿データが挿入された画像データの表示方式
KR20110103468A (ko) * 2009-01-15 2011-09-20 구글 인코포레이티드 이미지 워터마킹

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003536113A (ja) 2000-06-08 2003-12-02 マークエニー・インコーポレイテッド デジタルオーディオコンテンツ著作権の保護及びコピー防止のための電子透かしの埋込み/抽出方法、及びこれを用いた装置
KR20040092703A (ko) * 2003-04-25 2004-11-04 (주)마크텍 영상에 워터마크를 삽입하는 방법 및 상기 방법을 이용한디지털 비디오 저장장치
JP2005109918A (ja) * 2003-09-30 2005-04-21 Epson Kowa Corp 画像データへの秘匿データ挿入方式、秘匿データ検出方式および秘匿データが挿入された画像データの表示方式
JP2008199616A (ja) * 2008-02-08 2008-08-28 Avasys Corp 秘匿データが挿入された画像データの表示方式
KR20110103468A (ko) * 2009-01-15 2011-09-20 구글 인코포레이티드 이미지 워터마킹

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133363A (ko) * 2018-05-23 2019-12-03 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치
KR102637177B1 (ko) 2018-05-23 2024-02-14 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치
CN110047029A (zh) * 2019-04-22 2019-07-23 广东工业大学 一种结合多层差扩展具有对比度增强的可逆信息隐藏方法及装置
CN110047029B (zh) * 2019-04-22 2023-02-10 广东工业大学 一种结合多层差扩展具有对比度增强的可逆信息隐藏方法及装置
CN111432216A (zh) * 2020-02-28 2020-07-17 华南理工大学 用于jpeg图像中敏感区域的内容保护方法和恢复方法

Similar Documents

Publication Publication Date Title
US6285775B1 (en) Watermarking scheme for image authentication
Chang et al. A high payload frequency-based reversible image hiding method
Chamlawi et al. Digital image authentication and recovery: employing integer transform based information embedding and extraction
Liu et al. A robust data hiding algorithm for H. 264/AVC video streams
KR101716318B1 (ko) Jpeg 파일 포맷의 영상에 대한 강인한 가역 정보은닉 방법 및 장치
KR101135472B1 (ko) 차이값 히스토그램을 이용한 가역 워터마크 삽입, 추출 및 원본 복원 방법
Nguyen et al. A tamper-detection scheme for BTC-compressed images with high-quality images
Elrowayati et al. Robust HEVC video watermarking scheme based on repetition-BCH syndrome code
Kieu et al. A reversible steganographic scheme for VQ indices based on joint neighboring coding
KR101528300B1 (ko) Ac 계수를 이용한 jpeg 압축 이미지의 워터마크 삽입 및 추출 방법
Chen et al. H. 264 video authentication based on semi-fragile watermarking
Lu et al. Lossless nibbled data embedding scheme based on difference expansion
Li et al. A reversible data hiding scheme for JPEG images
US11838530B2 (en) Method for concealing data in an image or a video stream inside a compression chain
Lee et al. A new steganographic scheme based on vector quantisation and search-order coding
Gui et al. A reversible data hiding scheme for HEVC
Bouchama et al. Reversible data hiding scheme for the H. 264/AVC codec
Tsui et al. A New Adaptive Steganographic Method Based on Gradient Adjacent Prediction and Side-Match Vector Quantization.
Sivadasan A survey paper on various reversible data hiding techniques in encrypted images
Lu Wireless multimedia error resilience via a data hiding technique
Lin et al. Image error concealment based on watermarking
Mobasseri et al. Lossless watermarking of compressed media using reversibly decodable packets
Sur et al. Pixel rearrangement based statistical restoration scheme reducing embedding noise
Meenpal et al. Digital Image Watermarking technique for tamper detection and restoration
De Adjacent Pixel Values Blocking and Prediction Error Expansion Based High Fidelity Reversible Data Hiding Scheme

Legal Events

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