KR101114472B1 - H.264/avc 압축영역에서의 영상 워터마크 삽입 방법 - Google Patents

H.264/avc 압축영역에서의 영상 워터마크 삽입 방법 Download PDF

Info

Publication number
KR101114472B1
KR101114472B1 KR1020100083385A KR20100083385A KR101114472B1 KR 101114472 B1 KR101114472 B1 KR 101114472B1 KR 1020100083385 A KR1020100083385 A KR 1020100083385A KR 20100083385 A KR20100083385 A KR 20100083385A KR 101114472 B1 KR101114472 B1 KR 101114472B1
Authority
KR
South Korea
Prior art keywords
watermark
bit
selecting
motion vector
avc
Prior art date
Application number
KR1020100083385A
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 KR1020100083385A priority Critical patent/KR101114472B1/ko
Application granted granted Critical
Publication of KR101114472B1 publication Critical patent/KR101114472B1/ko

Links

Images

Classifications

    • 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
    • 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/103Selection of coding mode or of prediction mode
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/176Methods 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 block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 H.264/AVC 압축 영역에서의 영상 워터마크 삽입 방법에 관한 것으로서, 본 발명의 일면에 따른 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법은 입력되는 영상 데이터의 화면 간 예측 부호화를 수행하는 경우, 삽입되는 워터마크의 비트를 결정하는 단계와, 결정된 워터마크의 비트에 대응하는 매크로 블록의 움직임 벡터를 선택하는 단계와, 선택된 움직임 벡터의 최하위 비트(Least Significant Bit)를 워터마크로 결정하는 단계를 포함한다.

Description

H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법{VIDEO WATERMARK EMBEDDING METHOD FOR H.264/AVC COMPRESSION DOMAIN}
본 발명은 H.264/AVC 압축 영역에서의 영상 워터마크 삽입 방법에 관한 것으로서, 상세하게는 H.264/AVC 영상 압축 표준으로 입력영상을 압축할 때 워터마크를 삽입하여 전송된 영상의 인증, 부가정보 추출 및 방송 모니터링에 응용할 수 있는 방법에 관한 것이다.
워터마크는 영상의 불법복제 및 위/변조 방지를 위해 영상에 삽입되는 것으로서, 저작권 정보, 컨텐츠 정보, 사용자 ID 등 다양한 정보를 워터마크로 이용할 수 있다. 영상 워터마크 삽입 방법은 크게 워터마크가 삽입되는 때에 따라서, 영상 공간영역에서의 워터마크 삽입 방법과 영상 압축영역에서의 워터마크 삽입 방법으로 나눌 수 있다. 여기서, 영상 공간영역에서의 워터마크 삽입 방법은 원본 영상데이터에 워터마크를 삽입하는 것을 의미하고, 압축영역에서의 워터마크 삽입 방법은, 다시 압축된 영상 비트스트림에 워터마크를 삽입하는 경우와, 압축 부호화 과정에서 워터마크를 삽입하는 경우로 나눌 수 있다.
영상 공간영역에서의 워터마크 삽입 방법은 기존의 정지영상에 적용되었던 여러 워터마크 삽입 방법들이 그대로 적용될 수 있기 때문에 여러 공격에 강인하게 설계될 수 있지만, 대부분의 영상은 압축된 상태로 저장, 전송되기 때문에 영상 콘텐츠에 기존의 정지영상에 사용되었던 워터마크 삽입 방법들을 그대로 사용하는 것은 알맞지 않다.
이에 반하여, 영상 압축영역에서의 워터마크 삽입 방법은 압축된 영상 전체를 복호화하지 않고, 압축된 상태에서 일부 필요한 정보만을 파싱하여 워터마크를 삽입하기 때문에 영상 콘텐츠에 적합하다.
종래의 압축영역에서의 워터마크 삽입 방법은 비트 율 증가 및 화질 열화라는 두 가지 문제점을 가진다. 특히, 영상 압축 부호화의 새로운 표준인 H.264/AVC의 경우, 압축 효율이 기존 MPEG-2 보다 2배 이상 향상되었기 때문에 압축영역에서 워터마크가 삽입될 공간이 훨씬 줄어들었으며, 부호화 방식 또한 매우 복잡하기 때문에 기존의 MPEG-2 압축영역에서의 워터마크 삽입 방법을 그대로 적용하면, 비트 율 증가 및 화질 열화의 문제점이 더욱 심각해지는 문제점이 발생하였다.
종래의 H.264/AVC 압축영역에서의 워터마크 삽입 방법들은 상술한 두 가지 문제 중 어느 하나를 최소화하는 기법을 사용하여, 비트 율 증가를 최소화 하였지만 화질 열화가 심화되거나, 화질 열화를 최소화 하였지만, 비트 율이 크게 증가하는 문제점이 있었다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위하여, 워터마크의 강도가 정확하게 조절되고, 스킵 매크로블록 역시 워터마크에 의해 보호되는 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은, 낮은 연산 복잡도를 제공하는 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 제공하는 것이다.
본 발명의 또 다른 목적은, 워터마크의 삽입으로 인하여 발생하는 화질 열화 및 비트 율 증가를 최소화하는 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일면에 따른 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법은 입력되는 영상 데이터의 화면 간 예측 부호화를 수행하는데 있어서, 삽입되는 워터마크의 비트를 결정하는 단계와, 결정된 워터마크의 비트에 대응하는 매크로 블록의 움직임 벡터를 선택하는 단계와, 선택된 움직임 벡터의 최하위 비트(Least Significant Bit)를 워터마크로 결정하는 단계를 포함한다.
본 발명의 다른 면에 따른 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법은 입력되는 영상 데이터의 화면 내 예측 부호화를 수행하는데 있어서, 삽입되는 워터마크의 비트를 결정하는 단계와, 결정된 워터마크의 비트에 대응하는 화면 내 예측모드를 선택하는 단계와, 선택된 예측모드의 최하위 비트(Least Significant Bit)를 워터마크로 결정하는 단계를 포함한다.
본 발명의 또 다른 면에 따른 H.264/AVC 영상 압축영역에서 워터마크를 삽입하는 방법은 입력되는 영상 데이터의 화면 간 또는 화면 내 예측 부호화를 수행하는데 있어서, 삽입되는 워터마크의 비트를 결정하는 단계와, 결정된 워터마크의 비트에 대응하는 매크로 블록의 움직임 벡터를 선택하는 단계와, 결정된 워터마크의 비트에 대응하는 화면 내 예측모드를 선택하는 단계와, 화면 간 또는 화면 내 예측 부호화의 예측오차의 절대식 오차합(Sum of Absolute Difference; SAD)을 비교하여, 어느 하나의 부호화 방식을 선택하는 단계와, 선택된 부호화 방식에 대응하여 선택된 움직임 벡터 또는 선택된 예측모드의 최하위 비트(Least Significant Bit)중 어느 하나를 워터마크로 결정하는 단계를 포함한다.
본 발명에 의한 영상 압축을 수행하는 경우, 삽입된 워터마크의 강도와 위치가 정확하게 조절되고, 스킵된 매크로블록도 역시 워터마크에 의해 영상의 위/변조로부터 보호받을 수 있는 이점이 있다.
또한, 본 발명에 따른 영상 워터마크 삽입 방법을 실시간 소프트웨어 및 하드웨어로 구현하는 경우, 낮은 연산 복잡도를 제공하므로 구현이 쉬워지는 이점이 있다.
또한, 워터마크 삽입으로 인하여, 발생하는 비트 율 증가 및 화질 열화를 최소화한다. 이로 인하여, 종래의 워터마크를 적용하기 곤란했던 H.264/AVC 관련 제품에도 워터마크를 제공할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 화면 간 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 나타내는 순서도이다.
도 2는 본 발명의 다른 실시예에 따른 화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 나타내는 순서도이다.
도 3은 본 발명의 또 다른 실시예에 따른 화면 간/화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 나타내는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
H.264/AVC 압축 부호화에 의한 경우, 각각의 영상 데이터는 프레임 타입에 따라, 화면 간/화면 내 예측을 거쳐 주파수 영역으로 변환되며, 양자화기와 엔트로피 코더를 최종적인 비트스트림으로 변환된다. 이때, 양자화된 영상 데이터는 다시 역 양자화기를 거쳐 복호화되며, 복호화된 영상 데이터는 다음 영상 프레임에 대한 예측 정보로 이용된다.
도 1을 참조하여 본 발명의 일 실시예에 따른 화면 간 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 설명한다. 도 1은 본 발명의 일 실시예에 따른 화면 간 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 나타내는 순서도이다.
도 1을 참조하면, H.264/AVC 부호화기는 H.264/AVC 압축영역에서 삽입되는 워터마크의 비트를 결정한다(S110). 워터마크의 비트는 각각의 매크로블록의 압축 부호화가 수행되기 전에 결정된다. 워터마크의 비트는 각각의 매크로블록의 압축 부호화가 수행되기 전에 결정된다. 본 명세서에서 워터마크의 비트는 하기의 표 1 및 표 2에 기재된 바와 같이, 삽입되는 워터마크의 값(wm/wm value)를 의미한다. 본 발명과 같은 디지털 워터마킹 기법에서 삽입되는 워터마크는 2진 정보의 값을 가지므로, 이를 워터마크의 비트로 표현한다.
여기서, 매크로블록은 H.26x, MPEG 등 주요 영상압축 방식에서 움직임 보상 및 움직임 예측을 위해 여러 화소 블록들을 그룹화시킨 예측 단위를 말한다.
워터마크 비트는 압축 부호화 대상이 되는 매크로블록 번호의 패리티 정보를 이용하여 결정될 수 있다. H.264/AVC 부호화기는 화면의 가장 왼쪽 상단의 매크로블록을 기점으로 하여, 오른쪽 방향으로 압축 부호화를 수행하는데, 가장 첫 번째 매크로블록은 0번, 다음 매크로블록은 1번의 번호 값을 가진다.
여기서, 0번 매크로블록은 짝수 매크로블록이므로 패리티 값이 0, 1번 매크로블록은 홀수 매크로블록이므로 패리티 값이 1, 2번 매크로블록의 패리티 값은 0과 같은 값을 가진다. 즉, 매크로블록 번호의 패리티란, 매크로블록 번호 값이 짝수이면 0, 홀수이면 1의 값을 가지는 2진 정보의 값을 의미한다.
또한, 워터마크의 비트는 하기의 표 1을 참조하면, 스킵 매크로블록의 카운트(skip-mb-count) 값의 패리티 정보를 이용하여 결정될 수 있다.
if (skip-mb-count(x, y) != 0)
wm = skip-mb-count(x, y)% 2
else
wm = mb-number (x, y)%2
H.264/AVC 압축 부호화 방식은 스킵 매크로블록(SKIP MB) 압축 방식을 제공한다. 이는 주변 매크로블록들의 움직임 벡터들로 추정된 부호화 대상이 되는 현재 매크로블록의 움직임 벡터와, 움직임 추정으로 계산된 움직임 벡터가 일치하였다는 것을 의미하며, 이때 H.264/AVC 부호화기는 현재 매크로블록은 스킵 매크로블록으로 부호화되었다는 정보만을 부호화한다.
현재 매크로블록이 스킵 매크로블록이라는 정보를 받은 H.264/AVC 복호화기는 주변 매크로블록들의 움직임 벡터로 현재 매크로블록의 움직임 벡터를 추정한 후, 해당 정보를 이용하여 영상을 복호화한다.
여기서, 스킵 매크로블록 카운트 값은 이전 영상 프레임에서 동일한 위치 상에 존재하는 현재 매크로블록이 스킵된 횟수를 기록한 값으로써, 예를 들면 현재 매크로블록이 3번째 이전 영상 프레임부터 바로 직전 영상 프레임까지 스킵된 것이라면, 스킵 매크로블록 카운트 값은 3이다.
앞서 매크로블록 번호의 패리티 정보와 마찬가지로, 스킵 매크로블록의 카운트 값의 패리티 정보 역시, 스킵 매크로블록 카운트 값이 짝수이면 0, 홀수이면 1의 값을 가지는 2진 정보의 값을 의미한다.
만약 스킵 매크로블록의 카운트 값이 0이라면, 워터마크 비트는 현재 매크로블록 번호의 패리티 정보를 이용하여 결정된다. 이와 같이, 스킵 매크로블록의 카운트 값의 패리티 정보를 이용하는 것은, 본 발명에 따른 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법은 움직임 벡터에 워터마크를 삽입하는 방식을 이용하는 것인데, 스킵 매크로블록의 경우는 스킵 매크로블록으로 부호화되었다는 정보만이 부호화되므로 움직임 벡터에 워터마크를 삽입할 수 없기 때문에, 악의를 가진 사용자가 모든 매크로블록을 스킵 매크로블록으로 처리하는 것을 방지하기 위함이다.
다음으로, H.264/AVC 부호화기는 상기 결정된 워터마크 비트와 대응하는 부호화 대상이 되는 매크로블록의 움직임 벡터를 선택한다(S120).
현재 결정된 워터마크의 비트가 0이라면, H.264/AVC 부호화기는 화면 간 예측 시 움직임 추정으로 예측된 X축 방향 움직임 벡터와 Y축 방향 움직임 벡터의 패리티가 짝수가 되는 짝만 선택한다. 여기서, 패리티는 어느 두 값이 모두 홀수이거나 모두 짝수일 때는 0, 아닐 때는 1의 값을 가진다. 즉, (0, 0)의 패리티는 0이고 (0, 1)의 패리티는 1이다.
따라서 모션벡터를 선택할 때, 워터마크 비트가 1이었다면 선택되어야 하는 움직임 벡터는 (홀, 짝) 혹은 (짝, 홀) 두 경우 중 하나이고, 반면 워터마크 비트가 0이었다면 선택되어야 하는 움직임 벡터는 (짝, 짝) 혹은 (홀, 홀)이다. 이때, 상기 결정된 워터마크 비트와 일치하지 않는 움직임 벡터는, 최상의 예측 오차의 절대식 오차합(Sum of absolute difference; SAD)를 가지더라도 선택되지 않는다.
다음으로, H.264/AVC 부호화기는 선택된 움직임 벡터의 최하위 비트(Least Significant Bit)를 워터마크로 결정한다(S130).
이와 같이, 본 발명에 따른 H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법은 워터마크 정보가 움직임 벡터의 최하위 비트(Least Significant Bit; LSB)에 삽입된다는 점에서, 압축 부호화된 영상 비트스트림에 워터 마크가 삽입되는 방식과 일치한다. 구체적으로 먼저, 삽입되어야 하는 워터마크의 비트가 주어진 경우, 타켓 워터마크의 비트와 일치하는 최하위 비트를 가지는 최상의 예측 오차의 절대식 오차합(SAD 혹은 SATD)를 제공하는 움직임 벡터를 찾는다. 만약 움직임 벡터의 최하위 비트가 워터마크의 요구 사항을 만족시키지 못하기 때문에, 최상의 예측 오차의 절대식 오차합을 가지는 움직임 벡터를 찾을 수 없는 경우, 워터마크의 비트와 일치하는 최하위 비트를 가지는 움직임 벡터를 선택하고, 선택된 움직임 벡터의 최하위 비트를 워터마크로 이용한다.
도 2를 참조하여, 본 발명의 다른 실시예에 따른 화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 설명한다. 도 2는 본 발명의 다른 실시예에 따른 화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 나타내는 순서도이다.
도 2를 참조하면, H.264/AVC 부호화기는 H.264/AVC 압축영역에서 삽입되는 워터마크의 비트를 결정한다(S210). 여기서, 워터마크의 비트를 결정하는 방법은 상기 화면 간 예측 부호화 시, 부호화 대상이 되는 매크로블록 번호의 패리티 정보 또는 스킵 매크로블록의 카운트(skip-mb-count) 값의 패리티 정보를 이용하여 결정하는 방법과 동일하므로 구체적인 설명은 이하 생략한다.
다음으로, H.264/AVC 부호화기는 상기 결정된 워터마크 비트와 대응하는 화면 내 예측모드를 선택한다(S220). H.264/AVC의 화면 내 예측 부호화 방식은 크게 16x16 픽셀 단위 예측모드 4가지와, 4x4 픽셀 단위 예측모드 9가지로 나뉜다.
예를 들어, 16x16 픽셀 단위 예측모드는 번호로 지정되어 있는데, 0번은 수직방향 예측, 1번은 수평방향 예측, 2번은 수직/수평 방향 예측의 평균을 이용한 예측, 3번은 평면예측인데, H.264/AVC 부호화기는 상기 4가지 예측모드 중 어느 하나를 선택해서 예측 부호화를 수행한다.
H.264/AVC 부호화기는 상기 4가지 예측모드 중 어느 하나를 선택하는 데에 있어서, 예측모드 번호의 패리티 정보를 이용한다. 여기서 예측모드 번호의 패리티 정보는 예측모드 번호 값이 짝수이면 0, 홀수이면 1의 값을 가지는 2진 정보의 값을 의미한다. 즉, 결정된 워터마크의 비트가 0이라면, 0번, 2번 예측모드만이 선택될 수 있으며, 결정된 워터마크의 비트가 0이라면, 1번, 3번 예측모드만이 선택될 수 있다.
다음으로, H.264/AVC 부호화기는 선택된 예측모드의 최하위 비트를 워터마크로 결정하여, 이를 워터마크로 이용한다(S230). 4x4 픽셀 단위 화면 내 예측 부호화를 수행하는 경우에도, 상술한 원리를 이용하여 워터마크를 삽입한다.
도 3을 참조하여, 본 발명의 또 다른 실시예에 따른 화면 간/화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 설명한다. 도 3은 본 발명의 또 다른 실시예에 따른 화면 간/화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 나타내는 순서도이다.
도 3을 참조하면, H.264/AVC 부호화기는 H.264/AVC 압축영역에서 삽입되는 워터마크의 비트를 결정한다(S310). 여기서, 워터마크의 비트를 결정하는 방법은 상기 화면 간 예측 부호화 시, 부호화 대상이 되는 매크로블록 번호의 패리티 정보 또는 스킵 매크로블록의 카운트(skip-mb-count) 값의 패리티 정보를 이용하여 결정하는 방법과 동일하므로 구체적인 설명은 이하 생략한다.
다음으로, H.264/AVC 부호화기는 상기 결정된 워터마크 비트와 대응하는 부호화 대상이 되는 매크로블록의 움직임 벡터를 선택한다(S320).
현재 결정된 워터마크의 비트가 0이라면, H.264/AVC 부호화기는 화면 간 예측 시 움직임 추정으로 예측된 X축 방향 움직임 벡터와 Y축 방향 움직임 벡터의 패리티가 짝수가 되는 짝만 선택한다. 여기서, 패리티는 어느 두 값이 모두 홀수이거나 모두 짝수일 때는 0, 아닐 때는 1의 값을 가진다. 즉, (0, 0)의 패리티는 0이고 (0, 1)의 패리티는 1이다.
따라서 모션벡터를 선택할 때, 워터마크 비트가 1이었다면 선택되어야 하는 움직임 벡터는 (홀, 짝) 혹은 (짝, 홀) 두 경우 중 하나이고, 반면 워터마크 비트가 0이었다면 선택되어야 하는 움직임 벡터는 (짝, 짝) 혹은 (홀, 홀)이다. 이때, 상기 결정된 워터마크 비트와 일치하지 않는 움직임 벡터는, 최상의 예측 오차의 절대식 오차합(Sum of absolute difference; SAD)를 가지더라도 선택되지 않는다.
다음으로, H.264/AVC 부호화기는 상기 결정된 워터마크 비트와 대응하는 화면 내 예측모드를 선택한다(S330). H.264/AVC의 화면 내 예측 부호화 방식은 크게 16x16 픽셀 단위 예측모드 4가지와, 4x4 픽셀 단위 예측모드 9가지로 나뉜다.
예를 들어, 16x16 픽셀 단위 예측모드는 번호로 지정되어 있는데, 0번은 수직방향 예측, 1번은 수평방향 예측, 2번은 수직/수평 방향 예측의 평균을 이용한 예측, 3번은 평면예측인데, H.264/AVC 부호화기는 상기 4가지 예측모드 중 어느 하나를 선택해서 예측 부호화를 수행한다.
H.264/AVC 부호화기는 상기 4가지 예측모드 중 어느 하나를 선택하는 데에 있어서, 예측모드 번호의 패리티 정보를 이용한다. 여기서 예측모드 번호의 패리티 정보는 예측모드 번호 값이 짝수이면 0, 홀수이면 1의 값을 가지는 2진 정보의 값을 의미한다. 즉, 결정된 워터마크의 비트가 0이라면, 0번, 2번 예측모드만이 선택될 수 있으며, 결정된 워터마크의 비트가 0이라면, 1번, 3번 예측모드만이 선택될 수 있다.
다음으로, H.264/AVC 부호화기는 상기 선택된 움직임 벡터와 예측모드를 이용하여 화면 간/화면 내 압축 부호화 방식 중 어느 하나의 방식을 선택한다(S340). 영상 데이터의 압축 부호화 시, H.264/AVC 부호화기는 매 매크로블록 마다 화면 간 예측을 하여 움직임 벡터를 구하고, 이와는 별개로 화면 내 예측을 하여 각 예측 모드 별로 예측 오차의 절대식 오차합을 구한다. 화면 내 예측 모드들의 예측 오차의 절대식 오차합을 구하기 앞서, 워터 마크의 비트와 일치하는 패리티를 가지는 예측모드를 먼저 선택한다.
그리고 선택된 화면 내 예측모드들 각각의 결과 예측 오차의 절대식 오차합을 비교하여, 가장 예측 오차의 절대식 오차합을 가지는 모드를 예측 모드로 선정한다.
그리고 다시, 화면 간 예측의 결과 예측 오차의 절대식 오차합과 화면 내 예측의 결과 예측 오차의 절대식 오차합을 비교하여 더 작은 예측 오차의 절대식 오차합을 가지는 예측 결과를 최종적인 압축 방식으로 결정한다.
만약 화면 내 예측이 압축 방식으로 결정되면, H.264/AVC 부호화기는 선택된 예측모드의 최하위 비트를 워터마크로 결정하여, 이를 워터마크로 이용하고, 화면 간 예측이 압축 방식으로 결정되면, H.264/AVC 부호화기는 선택된 움직임 벡터의 최하위 비트(Least Significant Bit)를 워터마크로 결정한다(S350).
즉, H.264/AVC 부호화기는 화면 내 혹은 화면 간 예측 부호화 중에서 어느 하나의 방식을 예측 오차의 절대식 오차합을 이용하여 선택하고, 선택된 부호화 방식에 따라, 움직임 벡터 또는 예측모드의 번호에 대한 최하위 비트를 워터마크로 이용한다.
표 2는 상술한 화면 간/화면 내 예측 부호화 시, H.264/AVC 압축영역에서의 영상 워터마크 삽입 방법을 수도코드의 형식으로 나타낸 것이다.
for each partition { // inter 16x16, 16x8,... , 4x4
find best mv with LSB satisfying wm value;
if (partition is inter16x16)
find best among inter16x16 mv & PMV;
}
find best mv among all partitions;
find best intra mode with LSB satisfying wm value;
find best among inter & intra;
do transform & quantization;
if (best is inter mode)
if (mv == PMV && CBP == 0)
skip-mb-count(x,y) ++; encode as skip-mb;
else if (mv == pmv)
skip-mb-count(x,y)++; encode as normal-mb with wm;
else
encode as inter mode with wm;
else
encode as intra mode with wm;
표 2를 참조하면, H.264/AVC 압축영역에서의 영상 워터마크를 삽입하는 방법에 있어서, 첫째 화면 간 예측 시에는 움직임 벡터, 화면 내 예측 시에는 예측모드의 번호가 워터마크 조건을 만족하는 지 여부를 판단하고, 둘째 스킵되는 매크로블록의 개수를 셈한다. 압축 부호화 과정에서 워터마크를 삽입함으로써 발생하는 부하는 사소하므로, 본 발명에 따른 영상 워터마크 삽입 방법을 실시간 소프트웨어 및 하드웨어로 구현하는 경우, 낮은 연산 복잡도를 제공하므로 구현이 쉬워지는 데에 본 발명의 이점이 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (11)

  1. H.264/AVC 영상 압축영역에서 워터마크를 삽입하는 방법에 있어서,
    입력되는 영상 데이터의 화면 간 예측 부호화를 수행하는 경우, 삽입되는 상기 워터마크의 비트(값; value)를 결정하는 단계;
    상기 결정된 워터마크의 비트에 대응하는 매크로 블록의 움직임 벡터를 선택하는 단계; 및
    상기 선택된 움직임 벡터의 최하위 비트(Least Significant Bit)를 워터마크로 결정하는 단계
    를 포함하는 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  2. 제1항에 있어서, 상기 워터마크의 비트를 결정하는 단계는,
    부호화 대상이 되는 매크로블록의 번호에 대한 패리티 정보 및 동일 위치의 연속된 스킵 매크로블록의 개수에 대한 패리티 정보 중 적어도 하나를 이용하여 상기 삽입되는 워터마크의 비트를 결정하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  3. 제1항에 있어서, 상기 움직임 벡터를 선택하는 단계는,
    상기 결정된 워터마크의 비트와 X축 및 Y축의 움직임 벡터 쌍의 패리티 정보를 비교하고, 비교 결과 상기 워터마크의 비트와 상기 패리티 정보가 일치하는 움직임 벡터 쌍을 선택하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  4. H.264/AVC 영상 압축영역에서 워터마크를 삽입하는 방법에 있어서,
    입력되는 영상 데이터의 화면 내 예측 부호화를 수행하는 경우, 삽입되는 상기 워터마크의 비트(값; value)를 결정하는 단계;
    상기 결정된 워터마크의 비트에 대응하는 화면 내 예측모드를 선택하는 단계; 및
    상기 선택된 예측모드의 최하위 비트(Least Significant Bit)를 워터마크로 결정하는 단계
    를 포함하는 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  5. 제4항에 있어서, 상기 워터마크의 비트를 결정하는 단계는,
    부호화 대상이 되는 매크로블록의 번호에 대한 패리티 정보 및 동일 위치의 연속된 스킵 매크로블록의 개수에 대한 패리티 정보 중 적어도 하나를 이용하여 상기 삽입되는 워터마크의 비트를 결정하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  6. 제4항에 있어서, 상기 화면 내 예측모드를 선택하는 단계는,
    상기 결정된 워터마크의 비트와 상기 예측모드 번호의 패리티 정보를 비교하고, 비교 결과 상기 워터마크의 비트와 상기 패리티 정보가 일치하는 예측모드를 선택하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  7. H.264/AVC 영상 압축영역에서 워터마크를 삽입하는 방법에 있어서,
    입력되는 영상 데이터의 화면 간 또는 화면 내 예측 부호화를 수행하는 경우, 삽입되는 상기 워터마크의 비트(값; value)를 결정하는 단계;
    상기 결정된 워터마크의 비트에 대응하는 매크로 블록의 움직임 벡터를 선택하는 단계;
    상기 결정된 워터마크의 비트에 대응하는 화면 내 예측모드를 선택하는 단계;
    상기 화면 간 또는 상기 화면 내 예측 부호화의 예측오차의 절대식 오차합(Sum of Absolute Difference; SAD)을 비교하여, 어느 하나의 부호화 방식을 선택하는 단계; 및
    상기 선택된 부호화 방식에 대응하여 상기 선택된 움직임 벡터 또는 상기 선택된 예측모드의 최하위 비트(Least Significant Bit)중 어느 하나를 워터마크로 결정하는 단계
    를 포함하는 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  8. 제7항에 있어서, 상기 워터마크의 비트를 결정하는 단계는,
    부호화 대상이 되는 매크로블록의 번호에 대한 패리티 정보 및 동일 위치의 연속된 스킵 매크로블록의 개수에 대한 패리티 정보 중 적어도 하나를 이용하여 상기 삽입되는 워터마크의 비트를 결정하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  9. 제7항에 있어서, 상기 움직임 벡터를 선택하는 단계는,
    상기 결정된 워터마크의 비트와 X축 및 Y축의 움직임 벡터 쌍의 패리티 정보를 비교하고, 비교 결과 상기 워터마크의 비트와 상기 패리티 정보가 일치하는 움직임 벡터 쌍을 선택하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  10. 제7항에 있어서, 상기 화면 내 예측모드를 선택하는 단계는,
    상기 결정된 워터마크의 비트와 상기 예측모드 번호의 패리티 정보를 비교하고, 비교 결과 상기 워터마크의 비트와 상기 패리티 정보가 일치하는 예측모드를 선택하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.
  11. 제7항에 있어서, 상기 부호화 방식을 선택하는 단계는,
    상기 선택된 움직임 벡터를 이용한 화면 간 예측 결과의 상기 예측오차의 절대식 오차합과 상기 선택된 예측모드를 이용한 화면 내 예측 결과의 상기 예측오차의 절대식 오차합을 비교하여 더 작은 예측오차의 절대식 오차합을 가지는 부호화 방식을 선택하는 단계를 포함하는 것
    인 H.264/AVC 영상 압축영역에서 워터마크 삽입 방법.

KR1020100083385A 2010-08-27 2010-08-27 H.264/avc 압축영역에서의 영상 워터마크 삽입 방법 KR101114472B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100083385A KR101114472B1 (ko) 2010-08-27 2010-08-27 H.264/avc 압축영역에서의 영상 워터마크 삽입 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100083385A KR101114472B1 (ko) 2010-08-27 2010-08-27 H.264/avc 압축영역에서의 영상 워터마크 삽입 방법

Publications (1)

Publication Number Publication Date
KR101114472B1 true KR101114472B1 (ko) 2012-02-24

Family

ID=45840382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100083385A KR101114472B1 (ko) 2010-08-27 2010-08-27 H.264/avc 압축영역에서의 영상 워터마크 삽입 방법

Country Status (1)

Country Link
KR (1) KR101114472B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581176A (zh) * 2014-12-26 2015-04-29 宁波大学 无帧内误差漂移的h.264/avc压缩域鲁棒视频水印嵌入及提取方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050117507A (ko) * 2005-11-28 2005-12-14 김종남 움직임 벡터의 최소변경 기법을 이용한 블라인드 비디오워터마킹의 방법
US20090044016A1 (en) * 2004-11-09 2009-02-12 Koninklijke Philips Electronics, N.V. Protecting a dsp algorithm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090044016A1 (en) * 2004-11-09 2009-02-12 Koninklijke Philips Electronics, N.V. Protecting a dsp algorithm
KR20050117507A (ko) * 2005-11-28 2005-12-14 김종남 움직임 벡터의 최소변경 기법을 이용한 블라인드 비디오워터마킹의 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581176A (zh) * 2014-12-26 2015-04-29 宁波大学 无帧内误差漂移的h.264/avc压缩域鲁棒视频水印嵌入及提取方法
CN104581176B (zh) * 2014-12-26 2017-07-07 宁波大学 无帧内误差漂移的h.264/avc压缩域鲁棒视频水印嵌入及提取方法

Similar Documents

Publication Publication Date Title
US11997307B2 (en) Apparatus for decoding video data
JP6412910B2 (ja) ビデオを復号化する方法、ビデオを符号化する方法、デコーダ、エンコーダ、復号プログラムを記録したコンピュータ読み取り可能な記録媒体、および符号化プログラムを記録したコンピュータ読み取り可能な記録媒体
US11910014B2 (en) Image encoding method using a skip mode, and a device using the method
US9467713B2 (en) Apparatus for decoding a moving picture
US9609350B2 (en) Apparatus for decoding a moving picture
US9338459B2 (en) Method of constructing merge list
US9288493B2 (en) Method of deriving motion information
JP2020102855A (ja) 画像符号化装置、画像符号化方法、画像復号装置および画像復号方法
US20140192889A1 (en) Method and an apparatus for decoding a video signal
KR101411315B1 (ko) 인트라/인터 예측 방법 및 장치
JP2017508346A (ja) ビデオコーディングのための適応的な動きベクトル分解シグナリング
JP2015130684A (ja) 映像復号化装置
KR20110073263A (ko) 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치
US20100158111A1 (en) Method for insertion of data, method for reading of inserted data
JP2012028863A (ja) 動画像符号化装置
KR101114472B1 (ko) H.264/avc 압축영역에서의 영상 워터마크 삽입 방법
Iwata et al. Intra texture prediction based on repetitive pixel replenishment

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200116

Year of fee payment: 9