KR20180093441A - 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법 - Google Patents

영상 구조 변경을 통한 워터마크 삽입 장치 및 방법 Download PDF

Info

Publication number
KR20180093441A
KR20180093441A KR1020170019530A KR20170019530A KR20180093441A KR 20180093441 A KR20180093441 A KR 20180093441A KR 1020170019530 A KR1020170019530 A KR 1020170019530A KR 20170019530 A KR20170019530 A KR 20170019530A KR 20180093441 A KR20180093441 A KR 20180093441A
Authority
KR
South Korea
Prior art keywords
frame
watermark
gop
frames
scene change
Prior art date
Application number
KR1020170019530A
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 KR1020170019530A priority Critical patent/KR20180093441A/ko
Priority to US15/435,306 priority patent/US10134100B2/en
Priority to EP17156845.4A priority patent/EP3361747B1/en
Publication of KR20180093441A publication Critical patent/KR20180093441A/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • 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
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0085Time domain based watermarking, e.g. watermarks spread over several images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • 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
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/142Detection of scene cut or scene change
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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/177Methods 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 group of pictures [GOP]
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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
    • G06T1/0035Output size adaptive watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일 양태는 워터마크 삽입 방법을 개시하고 있다. 상기 방법은 원본 비트스트림을 입력하는 단계, 상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 단계, 제 1 프레임 이후 프레임 중 하나를 제 2 프레임으로 선택하는 단계, 상기 제 1 프레임을, 상기 제 2 프레임을 참조하는 B 프레임(Bidirectional-coded frame)으로 생성하는 단계, 상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 단계 및 B 프레임으로 생성된 제 1 프레임에 워터마크(watermark)를 삽입하는 단계를 포함한다.

Description

영상 구조 변경을 통한 워터마크 삽입 장치 및 방법{WATERMARK EMBEDDING APPARATUS AND METHOD THROUGH IMAGE STRUCTURE CONVERSION}
본 발명은 워터마크 삽입 장치 및 방법에 관한 것으로, 보다 상세하게는, 효율적으로 워터마크 삽입의 강인성을 제고시키기 위한 워터마크 삽입 장치 및 방법에 관한 것이다.
디지털 워터마킹은 오디오, 이미지, 동영상 등의 다양한 저작물에 비인지적인 고유 정보를 삽입하고 추후 삽입된 정보의 추출을 통해 추적이 가능케 함으로써 디지털 콘텐츠의 저작권 보호 및 위변조 판별을 위해 사용되는 기술이다. 특히 영화나 TV 방송 같은 동영상 콘텐츠들의 불법 유출 및 배포가 급격히 늘어나는 추세를 보이고 있어 그에 대한 방지책으로 워터마크 기술이 떠오르는 실정이다.
도 1a는 워터마크 삽입의 기본 개념도이다.
도 1a를 참조하면, 워터마크 삽입장치는 워터마크 패턴(W)을 구성하여 인간의 시청각적으로 원본과 동일하게 보이는 범위 내에서 입력되는 영상(I)에 워터마크 패턴을 삽입하여 워터마킹된 영상(I')을 생성한다. 이때, 워터마크 정보를 비밀/공개 키(K)를 이용하여 변조(modulation)시켜 원본 영상과 동일한 크기의 워터마크 패턴을 생성할 수 있다. 비밀키는 허가되지 않은 사용자에 의해 워터마크 정보가 해석되지 않는 목적과, 동일한 워터마크 기법을 사용하여 이미 워터마크가 삽입된 콘텐츠에 다른 워터마크가 삽입될 때 워터마크 패턴이 직교성을 갖도록 하여 서로 간섭이 발생하지 않도록 하기 위해 사용된다.
도 1b는 워터마크 검출의 기본 개념도이다.
도 1b를 참조하면, 워터마크 검출장치는 테스트 영상(I')을 수신하여 비밀/공개 키(K)를 통해 워터마크를 검출할 수 있다. 이때, 검출된 워터마크가 원래 삽입장치에서 삽입된 워터마크(W)와 동일한지 판단하여 해당 영상에 대한 공격 여부를 파악할 수 있다.
워터마크가 삽입된 콘텐츠는 다양한 환경에서 의도적 혹은 비의도적으로 공격(Attack)을 받으며 공격을 받은 후에도 살아남을 수 있는 강인성(Robustness)을 가져야 한다. 동영상 콘텐츠의 경우, 콘텐츠 제공자(Content Provider)에서 이용자에게 전달되기까지 수 회의 압축작업을 거치게 되고 각 단계는 손실(lossy) 압축을 통해 이루어지기 때문에 삽입된 워터마크 신호는 손실을 피할 수 없다. 게다가, 최근 압축기술의 발전으로 인해 압축효율이 더욱 늘어나면서 비가시성 확보를 위해 저주파수 대역에 삽입되는 워터마크 신호는 압축 단계에서 위험성이 더욱 커지게 되었다.
전송단계에서 자연스럽게 이루어지는 것에 비해 악의적 목적을 가진 압축 공격은 훨씬 압축 강도가 강하기 때문에 워터마크의 강인성 확보를 위한 동영상 압축 관련 대책이 요구되는 실정이다.
동영상 부호화는 여러 개의 연속된 프레임 중 장면 전환 등의 조건을 통해 키 프레임을 정하고 이후 비슷한 프레임들과의 차이 값만을 부호화하는 방법을 주로 사용한다. 이때 키 프레임은 무손실(lossless) 압축이 행해지며 그 키 프레임을 참조하는 다른 프레임들은 많은 정보를 갖고 있지 않아도 되니 손실 압축이 된다. 워터마크 신호가 손실 압축이 이루어지는 프레임에 삽입될 경우 거의 대부분의 신호가 사라지게 되어 워터마크 검출에 어려움이 생기는 문제점이 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 목적은 워터마크의 강인도를 높이기 위해 워터마크 삽입 전 비트스트림의 구조 변경을 수행하는 워터마크 삽입 방법 및 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 워터마크 삽입 방법은 원본 비트스트림을 입력하는 단계, 상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 단계, 제 1 프레임 이후 프레임 중 하나를 제 2 프레임으로 선택하는 단계, 상기 제 1 프레임을, 상기 제 2 프레임을 참조하는 B 프레임(Bidirectional-coded frame)으로 생성하는 단계, 상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 단계 및 B 프레임으로 생성된 제 1 프레임에 워터마크(watermark)를 삽입하는 단계를 포함할 수 있다.
상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 단계는 상기 제 2 프레임을 I 프레임(Intra-coded frame)으로 생성하는 단계를 포함할 수 있다.
상기 제 1 프레임은 상기 원본 비트스트림에서 장면 전환(scenecut) 프레임이거나 I 프레임일 수 있다.
상기 제 1 프레임과 상기 제 2 프레임의 참조 관계 변경에 따라 변경된 GOP 구조에서, 다른 GoP를 참조하는 기능을 활성화시킴으로써 상기 B 프레임으로 생성된 제 1 프레임은 다른 GoP 내의 제 2 프레임을 참조할 수 있다.
상기 제 1 프레임을 B 프레임으로 생성할 때, 상기 원본 비트스트림에서 제 1 프레임이 속해 있던 제 2 GoP(Group of Picture)의 이전 GoP인 제 1 GoP에, 상기 B 프레임으로 생성된 제 1 프레임이 속하도록 GOP 구조를 변경할 수 있다.
상기 제 1 GoP를 상기 제 2 프레임 바로 이전 프레임까지로 변경 설정하여 GoP 구조를 변경할 수 있다.
상기 제 2 프레임은 상기 제 1 프레임 바로 이후 프레임일 수 있다.
제 1 항에 있어서, 상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 단계는 상기 원본 비트스트림 내의 입력 영상을 h개 프레임 간격으로 쉬프트(shift)하면서 n개 프레임 단위로 선택하는 단계, 상기 선택된 n개 프레임 단위의 영상을 복수 개의 코덱(codec) 및 장면 전환 검출 알고리즘 중 적어도 하나를 사용하여 후보 프레임을 추출하는 단계, 상기 검출된 후보 프레임을 기반으로 히스토그램 분석하여 임계값보다 높은 카운트 값을 가진 프레임을 최종 장면전환 프레임으로 검출하는 단계 및 상기 검출된 최종 장면 전환 프레임을 상기 제 1 프레임으로 결정하는 단계를 포함하되, 상기 h와 n은 0보다 큰 실수이면서 h는 n보다 작은 값을 가질 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른 워터마크 삽입 장치는 원본 비트스트림을 입력하는 입력부, 상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 삽입 프레임 결정부, 제 1 프레임 이후 프레임 중 하나를 제 2 프레임으로 선택하는 참조 프레임 선택부, 상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 참조 프레임 생성부, 상기 제 1 프레임을, 상기 제 2 프레임을 참조하는 B 프레임(Bidirectional-coded frame)으로 생성하는 프레임 변경부 및 B 프레임으로 생성된 제 1 프레임에 워터마크(watermark)를 삽입하는 워터마크 삽입부를 포함할 수 있다.
상기 참조 프레임 생성부는 상기 제 2 프레임을 I 프레임(Intra-coded frame)으로 생성할 수 있다.
상기 제 1 프레임은 상기 원본 비트스트림에서 장면 전환(scenecut) 프레임이거나 I 프레임일 수 있다.
상기 제 1 프레임과 상기 제 2 프레임의 참조 관계 변경에 따라 변경된 GOP 구조에서, 다른 GoP를 참조하는 기능을 활성화시킴으로써 상기 B 프레임으로 생성된 제 1 프레임은 다른 GoP 내의 제 2 프레임을 참조할 수 있다.
상기 제 1 프레임을 B 프레임으로 생성할 때, 상기 원본 비트스트림에서 제 1 프레임이 속해 있던 제 2 GoP(Group of Picture)의 이전 GoP인 제 1 GoP에, 상기 B 프레임으로 생성된 제 1 프레임이 속하도록 GOP 구조를 변경할 수 있다.
상기 제 1 GoP를 상기 제 2 프레임 바로 이전 프레임까지로 변경 설정하여 GoP 구조를 변경할 수 있다.
상기 제 2 프레임은 상기 제 1 프레임 바로 이후 프레임일 수 있다.
상기 삽입 프레임 결정부는 상기 원본 비트스트림 내의 입력 영상을 h개 프레임 간격으로 쉬프트(shift)하면서 n개 프레임 단위로 선택하는 영상 선택부, 상기 선택된 n개 프레임 단위의 영상을 복수 개의 코덱(codec) 및 장면 전환 검출 알고리즘 중 적어도 하나를 사용하여 후보 프레임을 추출하는 후보 프레임 추출부 및 상기 검출된 후보 프레임을 기반으로 히스토그램 분석하여 임계값보다 높은 카운트 값을 가진 프레임을 최종 장면전환 프레임으로 검출하는 최종 프레임 검출부를 포함하되, 상기 검출된 최종 장면전환 프레임은 상기 제 1 프레임으로 결정되고, 상기 h와 n은 0보다 큰 실수이면서 h는 n보다 작은 값을 가질 수 있다.
본 발명의 일 양태에 따른 워터마크 삽입 방법 및 장치에 따르면, 워터마크의 삽입 위치를 처음부터 결정할 수 있기 때문에 용량증가가 최소로 발생하고 검출율을 향상시키는 효과가 있다.
도 1a는 워터마크 삽입의 기본 개념도,
도 1b는 워터마크 검출의 기본 개념도,
도 2는 I 프레임에 워터마크를 삽입하는 방법을 설명하기 위한 개념도,
도 3은 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 따라 워터마크 삽입 대상 프레임을 B 프레임으로 전환하는 방법을 설명하기 위한 개념도,
도 4는 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 있어서, GOP 개수에 제약이 있을 경우, 워터마크 삽입 대상 프레임을 B 프레임으로 전환하는 방법을 설명하기 위한 개념도,
도 5는 본 발명의 일 실시예에 따른 워터마크 삽입 장치를 개략적으로 나타낸 블록도,
도 6은 본 발명의 일 실시예에 따른 워터마크 삽입 장치의 재인코딩부를 구체적으로 나타낸 상세블록도,
도 7은 본 발명의 일 실시예에 따른 워터마크 삽입 장치의 삽입 프레임 결정부를 구체적으로 나타낸 상세블록도,
도 8은 소정 단위의 영상 프레임을 선택하여 삽입 대상 프레임을 결정하는 과정을 설명하기 위한 개념도,
도 9는 히스토그램 분석 결과를 나타낸 도면,
도 10은 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 따라 I 프레임과 그 다음 프레임의 타입 변환을 통한 용량의 변화를 비교한 테이블,
도 11은 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 따라 워터마크가 삽입된 영상과 원본 영상의 용량 변화량을 비교한 테이블이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에 걸쳐서, GoP(Group of Picture)는 코딩/편집의 기본 단위로써, 적어도 하나의 I 프레임을 포함하여 보통 10 내지 15개의 프레임으로 구성될 수 있다. I 또는 B 프레임으로 시작하고 I 또는 B 프레임으로 종료되는 것이 바람직하고, B 프레임으로 시작하는 경우, 뒤의 I 프레임을 참조하여 복원할 수 있다.
I 프레임(Intra-coded frame)은 인트라 예측(intra prediction)에 의해 다른 픽처를 참조하지 않고 복호화되는 프레임을 의미하고, P 및 B 프레임은 상기 I 프레임을 포함하여 다른 픽처들을 참조하여 복호화되는 프레임을 의미한다. 여기서, P 프레임(Predictive-coded frame)은 단방향 프레임을 참조하는 프레임을, B 프레임(Bidirectional-coded frame)은 양 방향의 프레임을 참조하는 프레임을 의미한다.
픽처 및 프레임은 한장 한장의 영상을 지칭하는 용어로, 서로 혼용하여 사용될 수 있다.
또한, 본 발명의 일 실시예에 따른 워터마크 삽입 장치는 네트워크를 통해 콘텐츠를 제공하는 콘텐츠 제공자 서버, 셋톱 박스, PC와 같은 사용자 단말 등으로 구현될 수 있다.
I 프레임에 대한 워터마크 삽입
도 2는 I 프레임에 워터마크를 삽입하는 방법을 설명하기 위한 개념도이다.
도 2를 참조하면, 영상에서 장면 전환 프레임 및/또는 영상의 키 프레임은 I 프레임인 경우가 많다. 따라서, I 프레임은 영상에 대한 공격이나 조작에 있어서, 다른 프레임에 비해 강인할 수 있다. 장면이 전환되는 프레임은 대체로 중요한 정보이므로 영상에서 대부분 I 프레임으로 지정되기 때문이다.
도 2의 실시예에서는, 영상의 손실이 거의 없는 I 프레임(222)에 워터마크를 삽입하는 상황을 가정한다. 이때, GoP 1(210)은 B 프레임으로 종료되고, 이후 바로 GoP 2(220)의 가장 첫 번째 프레임은 장면 전환이 되는 프레임일 가능성이 높다. 따라서, I 프레임(222)이 일반적이다.
이때, 장면 전환 프레임일 가능성이 높은 I 프레임(222)에 워터마크를 삽입하면 워터마크가 살아남을 확률이 높지만, 재인코딩이 요구되고, GoP 2(220) 내의 B 프레임 및 P 프레임은 대부분 I 프레임(222)을 직간접적으로 참조하기 때문에, I 프레임(222)의 변형에 따라 변형되는 프레임의 수도 많아지게 되어 부호화 복잡도가 높아질 수 있다. 또한, 영상 압축에서는 I, P 및 B 순으로 많은 비트레이트(bit rate)를 할당하기 때문에, 위와 같이 I 프레임(222)에 워터마크를 삽입할 경우, 영상의 용량 및 비트레이트 측면에서 크게 손해볼 가능성이 높다.
프레임 타입 변환에 따른 워터마크 삽입
도 3은 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 따라 워터마크 삽입 대상 프레임을 B 프레임으로 전환하는 방법을 설명하기 위한 개념도이다.
도 3을 참조하면, 워터마크 삽입 장치에 원본 비트스트림이 들어오면, 워터마크 삽입 장치는 워터마크 삽입을 위한 대상 프레임을 결정하고, 이에 대한 재압축을 실행한다. 이때, 워터마크 삽입 대상 프레임은 장면 전환 프레임 및/또는 GoP 내의 I 프레임이 바람직하다. 다만, 반드시 이에 한정되는 것은 아니고, P 프레임도 선택가능하다.
전술한 바와 같이, 장면전환 프레임은 가변 GoP인 경우, I 프레임일 가능성이 높고, 고정 GoP인 경우 I 또는 P 프레임이 될 가능성이 높다.
본 발명의 실시예에서, 워터마크 삽입 장치는 워터마크를 삽입하기 위한 대상 프레임으로 GoP 2(320)의 첫 번째 프레임인 I 프레임(322)을 선택할 수 있다. 장면 전환 프레임 또는 I 프레임의 검출은 본 발명의 워터마크 삽입 효율에 중요한 부분을 차지하기 때문에, 이를 보다 정확하게 검출하기 위한 방법이 요구되는데, 이는 이하 도 7 내지 도 9를 통해 보다 상세히 설명한다.
더욱이, 본 발명의 실시예에서, 워터마크 삽입 장치는 프레임 기반 워터마크로 워터마크를 생성하여 각 프레임에 열화 공격에 강인한 워터마크를 삽입하는 것이 바람직하다. 이를 위해, 프레임의 특징을 분석해 인코딩시 노이즈(noise)에 해당하는 워터마크가 손실 압축되지 않도록 하는 것이 바람직하다. 따라서, 인코딩의 한 과정인 DCT(Discrete Cosine Transform) 필터링 과정에서 저주파에 해당되는 부분에 워터마크를 삽입하는 것이 바람직하다. 또는, 강인한 워터마크를 영상의 에지(edge)나 사람의 눈에 잘 보이지 않는 영역에 삽입하여 강인성을 높일 수도 있다.
워터마크 삽입 장치는 워터마크를 삽입할 대상 프레임으로 I 프레임(322)을 선택하고 나면, 워터마크 삽입 후에도 영상의 용량이 커지는 것을 막고 비트레이트 효율을 증대시키기 위해, 상기 I 프레임(322)을 B 프레임(332)으로 강제로 인코딩한다.
만약, 워터마크 삽입 대상 프레임이 P 프레임이었다면, 유사한 프레임이 같은 GoP 내에 다수 있기 때문에, 다음 장을 P 프레임으로 변경하기만 하면 되고 별다른 추가 작업을 요하지 않는다. 하지만, 도 3의 실시예와 같이 삽입 대상 프레임이 I 프레임인 경우, GoP가 앞으로 배속이 되어 인코딩 효율이 매우 떨어지는 문제점이 발생한다. 왜냐하면, 같은 GoP 내에 비슷한 프레임이 존재하지 않으므로 참조될 영역이 없어 모든 영역이 대부분 인트라 코딩 영역으로 결정될 수 있기 때문이다. 따라서, B 프레임(332)으로 강제 변경하고 상기 B 프레임(332)이 다른 GoP를 참조 가능하게 하면서, 뒤에 배치된 프레임들 중 하나(324)를 I 프레임(334)으로 변경한 후, 해당 프레임(334)을 참조하도록 하여 인코딩 효율을 높인다.
이를 구체적으로 설명하면, 원본 비트스트림에서, 삽입 대상 프레임인 I 프레임(322) 이후의 임의의 프레임(324)을 선택하여 선택된 프레임(324)을 I 프레임(334)으로 인코딩한다. 이때, 원본 비트스트림에서 프레임의 타입 전환을 위해 선택되는 프레임(324)은 P 프레임으로 한정되는 것은 아니고 B 프레임도 가능하며, 반드시 I 프레임으로 변경되어야만 하는 것도 아니다. 인트라 예측이 많이 포함된 P 프레임이여도 무방하다.
위와 같은 프레임 타입 변경이 이루어지면, I 프레임(322)에서 프레임 타입이 전환된 B 프레임(332)은 원본 비트스트림에서 자신이 속했던 GoP 2(320)의 이전 GoP인 GoP 1(310)에 속하게 되고, I 프레임으로의 타입 전환을 위해 선택된 P 프레임(324)은 I 프레임(334)으로 인코딩되면서 앞선 B 프레임(332)이 속한 GoP 1의 다음 GoP인 GoP 2(320)에 첫 프레임이 된다. 또한, GoP 1(310)은 상기 I 프레임(334) 이전 프레임(B 프레임)까지 포함할 수 있다.
이때, P 프레임(324)에서 프레임 타입이 전환된 I 프레임(334)은 B 프레임(332)의 참조 프레임 역할을 하도록 전환된 것이기 때문에, 워터마킹된 영상에서 B 프레임(332)은 자신이 속한 GoP가 아닌 GoP 2(320)의 I 프레임(334)을 참조한다. 이를 원활하게 유도하기 위해, GoP 단위를 넘어 참조관계를 가질 수 있는 개방형 GoP 옵션(Open GoP)을 활용하는 것이 바람직하다. 또한, 원본 비트스트림에서 I 프레임(322)을 참조했던 GoP 2(320) 내의 B 프레임들 역시, 워터마킹된 영상에서는 P 프레임(324)으로부터 프레임 타입이 변경되면서 재인코딩된 I 프레임(334)을 참조하도록 참조관계를 재설정하여 인코딩된다.
도 4는 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 있어서, GOP 개수에 제약이 있을 경우, 워터마크 삽입 대상 프레임을 B 프레임으로 전환하는 방법을 설명하기 위한 개념도이다.
도 4를 참조하면, 워터마크 삽입 장치는 워터마크 삽입을 원하는 프레임을 B 프레임으로 강제하고 GoP의 종단 프레임으로 설정한다. 경우에 따라, OTT(Over The Top)에서 사용하는 HLS(HTTP Live Streaming), DASH(Dynamic Adaptive Streaming over HTTP)와 같은 프로토콜이나 생방송에서는 GoP가 강제로 정해져 있을 수 있다. 도 4의 실시예에서는 GoP가 12로 고정된 경우를 가정하고 있다.
OTT의 경우, 원본 비트스트림에서 I 프레임을 B 프레임으로 임의로 인코딩하고 바로 다음 프레임을 I 프레임으로 인코딩할 수 있다. I 프레임 바로 다음에 나오는 프레임은 I 프레임과 가장 비슷한 프레임이므로 강제로 I 프레임으로 인코딩했을 때, 전체적인 영상 인코딩에 크게 문제가 되지 않을 수 있다. 그리고, 바로 다음 프레임을 I 프레임으로 변경하면 워터마크가 삽입된 B 프레임(도 4에서는 Bw로 표시됨)만 앞선 GoP에 포함되고, 모든 GoP가 한 프레임만 밀려나면서 계속하여 GoP의 사이즈를 유지할 수 있다. 생방송의 경우에는 하나의 GoP가 모두 인코딩되고 다음 GoP에서 한 프레임만 참조한 뒤, 해당 GoP의 사이즈를 결정하면 충분히 워터마크 삽입이 가능하다.
더욱이, 이러한 필터링 작업은 B 프레임에 워터마크를 삽입하고 B-Pyramid 및 OpenGoP 옵션을 조절하여 다른 프레임으로 B 프레임의 정보가 깨져서 참조되지 않도록 설정한다.
본 발명의 다른 실시예에 따르면, GoP를 구성하는 12개의 각 프레임의 프레임 타입을 특정한 프레임 타입의 순서로 배열되도록 설정하여 프레임을 강제 변경하는 환경에서 워터마크를 삽입할 수 있다. 또한, 워터마크가 다양한 열화 공역에 살아남도록 하기 위해 삽입한 I 프레임의 QP(Quantization Parameter) 값을 낮춰 워터마크를 삽입하고 인코딩하는 필터링 작업을 수행할 수 있다.
워터마크 삽입 장치의 구성
도 5는 본 발명의 일 실시예에 따른 워터마크 삽입 장치를 개략적으로 나타낸 블록도이다. 도 5를 참조하면, 워터마크 삽입 장치는 입력부(510), 디코딩부(520) 및 재인코딩부(530)를 포함할 수 있다. 각각의 구성요소는 하나의 하드웨어 프로세서로 구현될 수도 있고, 복수 개의 구성요소가 하나의 프로세서로 통합 구현될 수도 있다. 또한, 각 구성요소와 관련된 명령어 또는 데이터는 프로세서와 연결된 메모리(미도시)에 저장되어 프로세서에 관련 데이터를 제공할 수 있다.
도 5를 참조하면, 입력부(510)는 원본 비트스트림을 입력받는다.
디코딩부(520)는 입력부(510)를 통해 입력된 원본 비트스트림을 디코딩하여 각 프레임의 정보를 획득한다.
재인코딩부(530)는 디코딩된 프레임을 기반으로 워터마크 삽입 대상 프레임을 결정하여 해당 프레임의 프레임 타입을 B 프레임으로 변환시킨 후, 워터마크를 삽입한다. 그리고는, 삽입 대상 프레임의 이후 프레임 중 하나를 선택하여 선택된 프레임을 I 또는 P 프레임으로 전환한 후, 전환된 프레임에 따라 변경된 GoP 구조에 맞게 참조 관계를 새롭게 설정하여 인코딩한다. 재인코딩부(530)의 구성에 대한 보다 상세한 내용은 도 6을 통해 설명한다.
본 발명의 실시예에 있어서, 디코딩부(520)를 배제하고, 모든 프레임에 대한 디코딩을 수행하지 않은 상태에서 재인코딩부(530)를 통해 프레임의 타입 변경 및 워터마크 삽입 과정이 수행될 수 있다.
도 6은 본 발명의 일 실시예에 따른 워터마크 삽입 장치의 재인코딩부를 구체적으로 나타낸 상세블록도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 재인코딩부는 삽입 프레임 결정부(610), 참조 프레임 선택부(620), B 프레임 생성부(630), 참조 프레임 생성부(640), 참조 관계 변경부(650) 및 워터마크 삽입부(660)를 포함할 수 있다.
도 6을 참조하면, 삽입 프레임 결정부(610)는 입력부(미도시)를 통해 입력된 원본 비트스트림에서 워터마크 삽입을 위한 대상 프레임을 결정한다. 삽입 대상 프레임은 장면 전환 프레임을 선택하는 것이 바람직할 수 있다.
참조 프레임 선택부(620)는 삽입 프레임 결정부(610)에서 결정된 삽입 대상 프레임 이후 프레임 중 하나를 삽입 대상 프레임이 참조할 I 프레임으로 변환할 대상으로 선택한다. 참조 프레임 선택부(620)는 삽입 대상 프레임과 유사도가 높으면서 참조 관계의 변화를 최소화할 수 있도록 삽입 대상 바로 다음 프레임을 참조 프레임으로 선택하는 것이 바람직할 수 있다.
B 프레임 생성부(630)는 삽입 프레임 결정부(610)에서 결정된 삽입 대상 프레임을 강제로 B 프레임으로 인코딩한다. B 프레임은 참조 프레임 선택부(620)에선 선택한 프레임을 참조하도록 참조 정보를 변경한다. 즉, 각 코딩 블록 및/또는 예측 블록마다 참조하는 참조 대상 프레임 인덱스 정보 및 참조블록 정보를 변경된 GoP 구조에 맞게 변경할 수 있다.
참조 프레임 생성부(640)는 참조 프레임 선택부(620)에서 선택한 프레임을 I 프레임 및/또는 인트라 예측을 다수 포함하는 P 프레임으로 생성한다.
참조 관계 변경부(650)는 프레임 타입 변경 전 I 프레임이었던 삽입 대상 프레임을 참조하던 프레임들의 참조관계를 변경하여 참조 프레임 선택부(620)에서 선택한 프레임(I 프레임으로 프레임 타입이 변경된 프레임)을 참조하도록 각 프레임의 참조 관계를 변경시킨다.
워터마크 삽입부(660)는 B 프레임 생성부(630)에서 생성한 B 프레임에 워터마크를 삽입한다.
정확한 장면 전환 프레임 검출 방법
도 7은 본 발명의 일 실시예에 따른 워터마크 삽입 장치의 삽입 프레임 결정부를 구체적으로 나타낸 상세블록도이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 삽입 프레임 선택부는 영상 선택부(710), 및 후보 프레임 검출부(720) 및 최종 프레임 검출부(730)를 포함할 수 있다.
도 7을 참조하면, 워터마크 삽입 장치는 동영상 비트스트림을 수신하여 비트스트림 내의 장면 전환 프레임을 검출하고, 장면 전환 프레임을 워터마크 삽입을 위한 대상 프레임으로 선택할 수 있다. 전술한 바와 같이, 장면 전환 프레임 및 영상의 키 프레임인 I 프레임은 영상에 대한 공격에 강인하기에 이를 정확하게 찾는 것은 워터마크 삽입의 강인성을 높이는데 있어서 중요하다. 워터마크 삽입 장치는 이러한 장면 전환 프레임 또는 키 프레임인 I 프레임을 B 프레임으로 강제 전환하는 대상 프레임으로 선택하고자 한다.
영상 선택부(710)는 입력되는 동영상 스트림을 입력받아 특정 단위로 분할하여 선택할 수 있다. 영상 선택부(710)는 h개 프레임 간격으로 쉬프트(shift)하면서 특정 크기의 단위 프레임을 선택하여 선택된 프레임에 대해 후보 장면 전환 프레임을 검출하도록 후보 프레임 검출부(720)로 전송한다. 이때, 단위 프레임은 n개 프레임으로 설정할 수 있다. 여기서, n과 h는 모두 0보다 큰 실수이다. 또한, h는 n보다 작은 값일 수 있다.
분할된 단위 영상 프레임은 후보 프레임 검출부(720)로 제공된다. 후보 프레임 검출부(720)는 복수 개의 프레임 추출부(722)와 그에 연결된 가중치 연산부(724)를 포함할 수 있다. 각각의 프레임 추출부(722)는 영상 선택부(710)에서 분할 선택된 단위 영상 프레임을 수신하여 각 단위 영상에서의 후보 장면 전환 프레임을 추출한다. 프레임 추출부(722)는 복수 개의 코덱(부호화/복호화부)를 포함할 수 있다. 또는, 프레임 추출부(722)는 복수 개의 장면 전환 검출 알고리즘 실행부를 포함할 수 있다. 또는, 코덱과 장면 전환 검출 알고리즘 실행부의 조합일 수 있다.
프레임 추출부(722)를 통해 해당 단위 영상 내의 장면 전환 프레임 후보를 찾는다. 여기서 후보 프레임 또는 후보 장면 전환 프레임은 최종적으로 장면 전환 프레임으로 검출된 것은 아니지만, 가중치 연산 또는 기타 다른 알고리즘(예컨대, 히스토그램 분석 등)에 의해 최종 장면 전환 프레임으로 채택될 가능성이 높은 프레임을 말한다. 후보 장면 전환 프레임은 선택된 영상에서 복수 개 검출될 수 있다. 또한, 후보 장면 전환 프레임의 속성 또한 서로 다를 수 있다. 예컨대, 하나는 I 프레임일 수 있고, 다른 것은 P 프레임 또는 B 프레임 중 인트라 영역의 비율이 일정 임계값 이상 높은 프레임일 수 있다. 여기서, I 프레임은 인트라 예측을 통해 다른 프레임을 참조하지 않고 복호화되는 프레임을 의미하고, P 프레임은 단방향 픽처를 참조하는 프레임 및 B 프레임은 양 방향의 픽처를 참조하는 프레임일 수 있다. 또한, 프레임 추출부(722)가 코덱이 아닌 장면 전환 검출 알고리즘 실행부인 경우, 해당 알고리즘을 통해 검출되는 프레임이 바로 후보 장면 전환 프레임이 될 수 있다.
프레임 추출부(722)는 h 값이 n보다 작아 단위 영상 중 일부가 중복되는 경우, 중복된 단위 영상 부분에 대해 후보 장면 전환 프레임을 추출할 수 있다.
프레임 추출부(722)는 각각의 입력되는 프레임에 대해 프레임 시간 정보 또는 프레임 인덱스 정보를 소정 메모리(예컨대, 프레임 버퍼)로부터 수신할 수 있다. 그리고는, 후보 장면 전환 프레임을 앞서 설명한 코덱 또는 장면 전환 검출 알고리즘을 통해 추출한 후, 후보 장면전환 프레임인지 아닌지에 대한 플래그를 부여하거나 또는 후보 장면 전환 프레임으로 선택된 프레임의 시간 정보 또는 인덱스를 타임라인에 표시하여 식별할 수 있다. 위와 같은 방법을 통해, 다른 구성요소와 후보 장면 전환 프레임에 대한 식별 정보를 공유할 수 있다.
가중치 연산부(724)는 프레임 추출부(722)를 통해 선택된 후보 장면 전환 프레임에 대해 적절한 가중치를 곱한다. 가중치 값은 각각의 프레임 연산부(724)에 부여될 수 있고, 가중치 연산된 후보 장면 전환 프레임의 값을 최종 프레임 검출부(730)로 제공한다.
최종 프레임 검출부(730)는 가중치 연산된 후보 장면 전환 프레임에 대한 값을 기반으로 히스토그램 분석을 수행하여 임계값보다 높은 카운트 값을 갖는 후보 프레임을 최종 장면전환 프레임으로 검출할 수 있다. 여기서, 히스토그램 분석은 가중치 연산된 값의 합계(summation)를 구하는 연산일 수 있다. 그리고는, 최종 프레임 검출부(730)는 최종 장면 번환 프레임에 장면 전환 프레임임을 식별할 수 있도록 플래그를 부여하거나 또는 최종 장면 전환 프레임의 인덱스 값을 기록하여 추후 다른 장치에서도 식별된 장면 전환 프레임을 바로 인식할 수 있도록 할 수 있다.
도 8은 소정 단위의 영상 프레임을 선택하여 삽입 대상 프레임을 결정하는 과정을 설명하기 위한 개념도이다.
도 8을 참조하면, 영상 선택부(미도시)는 입력되는 비트스트림을 n개 단위로 분할하여 후보 프레임 검출부(미도시)로 제공한다. 여기서, 영상 선택부는 영상을 h개 프레임만큼 쉬프트시키는 구성 및 쉬프트된 구간의 앞에서부터 n개 프레임만큼만 선택하는 구성을 포함할 수 있다.
본 발명의 실시예에 있어서, 영상 선택부가 0 프레임부터 1000 프레임까지의 비트스트림을 분할할 수 있다. 여기서, 50 fps의 속도를 가지고 부복호화가 된다고 하면, 위 1000프레임은 20초의 시간 구간을 가질 수 있고, 프레임은 각각의 시간 정보를 가질 수 있다. 이때, 비트스트림의 최초 부분인 0 프레임에 대해 시간적으로 h개 프레임을 앞당겨 선택할 수 있다. 즉, 개념상 (0-h) 프레임부터 n개 프레임을 분할 및 선택하여 후보 프레임 검출부로 제공할 수 있다.
이후부터, 영상 선택부는 입력되는 프레임을 h개 프레임만큼 넘겨서, 이후 구간에 대해 다시 n개 프레임을 분할 및 선택하여 후보 프레임 검출부로 제공한다. 이러한 과정을 반복 수행하여 1000 프레임이 될 때까지 진행한다. 비트스트림의 종단 부분에서도 역시, h 간격으로 넘기는 부분을 통해 1000 프레임을 넘어가도록 n개 단위 영상을 선택하여 빠짐없이 비트스트림 내 영상 프레임이 선택될 수 있도록 할 수 있다.
본 발명의 실시예에 따르면, h는 n보다 작은 값인 것이 바람직하다. h 값이 n보다 크면, n 값을 넘는 h 값만큼 다음 영상 선택시 프레임 쉬프트되기 때문에, 비트스트림의 일부 프레임이 선택되지 않을 수 있고, h와 n의 값이 같으면 중복되는 부분이 존재하지 않기에, 추출되지 못하는 장면 전환 프레임이 존재할 수 있다. 예컨대, GOP 단위에서 프레임이 분할되는 경우, 다음 단위 영상의 최초 프레임은 검출 대상에서 제외될 수 있기에, 장면 전환 프레임인데도 불구하고, 검출되지 않는 경우가 존재할 수 있다. 이를 방지하기 위해, 본 발명은 중복되는 프레임이 존재하도록, 즉, n 값보다 h 값이 작게 설계할 수 있고, 이를 하나의 코덱 또는 장면 전환 검출 알고리즘에 의존하는 것이 아니라 복수 개의 코덱 또는 알고리즘에 의존하여 장면 전환 부분을 검출하도록 할 수 있다.
따라서, 분할 및 선택되는 단위 영상은 적어도 하나의 프레임에 대해 중복될 수 있도록 하는 것이 바람직할 수 있다. 이러한 h와 n의 값은 사용자 설정을 통해 정의될 수 있다. 이는 사용자 인터페이스(미도시)를 통해 추후 사용자 임의로 언제든지 변경가능하다. 예컨대, n의 값은 60, 120, 240... 등의 값을 가질 수 있다. h의 값은 10, 20, 7.5...등의 값을 가질 수 있다. 경우에 따라 h의 값은 프레임 단위가 아닌 시간 단위로 설정되어, 50 fps에서, 0.2초, 0.4초, 0.15초 등으로 설정될 수 있다. 즉, h와 n의 단위가 반드시 같아야 하는 것은 아니다.
본 발명의 실시예에 따르면, n의 값은 특정 GOP 단위를 나타내는 값일 수 있다. 다만, 이 경우에도 h 값은 GOP 값과 다른 값을 갖는 것이 바람직하다.
이와 같이 분할한 영상에 대해 단위 프레임 내에서 세밀한 분석을 수행한다. 단위 프레임 내에서 h 프레임을 이동하여 이후 전체 프레임에서 n 프레임씩 영상을 분할하여 장면전환 프레임 또는 I 프레임을 검색한다. 이때 상기 세밀한 분석은 다수의 코덱 및/또는 장면 전환 검출 알고리즘을 통해 이루어진다. 코덱 및/또는 장면 전환 검출 알고리즘을 통해 선정된 후보 장면 전환 프레임은 가중치가 곱하여져서 프레임별로 히스토그램 분석이 수행된다. 히스토그램 분석은 프레임 축을 이용하여 각 프레임에 대해 산출된 가중치 값을 모두 누적하여 카운트 값을 산출하는 방식으로 수행된다. 카운트 값은 개별 프레임별로 산출되고, 이렇게 산출된 카운트 값을 기반으로 임계값을 적용하여 특정 프레임 구간 내의 상위 60%로 하여 이에 해당하는 프레임을 최종 장면 전환 프레임으로 검출할 수 있다. 또는 임계값을 50과 같은 특정 카운트 값으로 정하여 이보다 높은 카운트 값을 갖는 프레임을 최종 장면 전환 프레임으로 검출할 수 있다. 이때, 장면 전환 프레임 검출을 위한 상위 퍼센테이지 비율 및 임계값은 사용자 설정을 통해 정의할 수 있다.
도 9는 히스토그램 분석 결과를 나타낸 도면이다.
도 9의 실시예는 0부터 1000 프레임까지의 1000개의 프레임에 대한 가중치 연산 결과를 히스토그램으로 뽑은 내역일 수 있다. 여기서, 임계값은 20으로 정하면, 20보다 높은 카운트 값을 갖는 프레임(도면에서는 '○' 표시를 해 놓음)을 최종 장면 전환 프레임으로 보고 검출할 수 있다. 이때, 임계값은 반드시 20으로 하나의 카운트 값으로 고정되어야만 하는 것은 아니고, 사용자 인터페이스를 통해 임의로 변경가능하다. 또한, 특정 카운트 값을 임계값으로 정하지 않고, 상위 몇 %와 같이 특정 구간 내의 상위 카운트 값을 갖는 프레임을 최종 장면 전환 프레임으로 검출할 수도 있다.
본 발명의 실시예에 따르면, 이렇게 검출된 최종 장면 전환 프레임에는 이를 식별하기 위한 플래그가 할당되거나 또는 이러한 프레임을 관리하기 위한 테이블 또는 기타 다른 데이터 저장 수단을 통해 위 프레임 인덱스 정보(또는 시간 정보)를 기록해놓을 수 있다. 이러한 인덱스 정보를 통해 워터마크 삽입 장치는 장면 전환 프레임 및/또는 I 프레임을 식별할 수 있고 이를 기반으로 워터마크 삽입 대상 프레임을 선택할 수 있다. 선택된 프레임은 강제로 B 프레임으로 인코딩될 수 있다.
시뮬레이션 결과
도 10은 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 따라 I 프레임과 그 다음 프레임의 타입 변환을 통한 용량의 변화를 비교한 테이블이다.
도 10을 참조하면, 프레임 타입을 변화시킨 두 프레임 사이의 용량 변화는 각각의 프레임의 타입이 변화하기 전 용량과 대체적으로 비슷하였다. 시뮬레이션에서는 워터마크를 삽입한 I 프레임을 B 프레임으로 강제 변환시키는 방법을 통해 워터마크가 임베딩된 프레임의 용량의 증가를 최소화하면서 외부 공격으로부터 워터마크의 강인성을 더 효율적으로 확보할 수 있음을 확인하였다.
도 11은 본 발명의 일 실시예에 따른 워터마크 삽입 방법에 따라 워터마크가 삽입된 영상과 원본 영상의 용량 변화량을 비교한 테이블이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 워터마크 삽입 방법의 강인성을 테스트 하기 위해 무료로 제공되는 샘플 영상을 대상으로 테스트를 진행하였다. 원본 영상의 크기는 1920x800이고 비트레이트는 6M이다. 이 영상의 파일 크기는 494 MB이다. 도 11의 테이블은 프레임 변동으로 인한 용량을 나타내고 있다. 영상의 용량은 영상데이터를 전송하는 시스템에 부하가 가지 않는 정도의 용량 증가(약 9MB)가 있었다. 따라서, 본 발명의 일 실시예에 따른 워터마크 삽입 방법을 이용하는 경우, 워터마킹된 영상의 사이즈에 대한 부담을 거의 주지 않으면서 강인성을 극대화시킬 수 있음을 확인할 수 있다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (16)

  1. 워터마크 삽입 방법에 있어서,
    원본 비트스트림을 입력하는 단계;
    상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 단계;
    제 1 프레임 이후 프레임 중 하나를 제 2 프레임으로 선택하는 단계;
    상기 제 1 프레임을, 상기 제 2 프레임을 참조하는 B 프레임(Bidirectional-coded frame)으로 생성하는 단계;
    상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 단계; 및
    B 프레임으로 생성된 제 1 프레임에 워터마크(watermark)를 삽입하는 단계를 포함하는 워터마크 삽입 방법.
  2. 제 1 항에 있어서, 상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 단계는
    상기 제 2 프레임을 I 프레임(Intra-coded frame)으로 생성하는 단계를 포함하는 워터마크 삽입 방법.
  3. 제 1 항에 있어서,
    상기 제 1 프레임은 상기 원본 비트스트림에서 장면 전환(scenecut) 프레임이거나 I 프레임인 워터마크 삽입 방법.
  4. 제 1 항에 있어서,
    상기 제 1 프레임과 상기 제 2 프레임의 참조 관계 변경에 따라 변경된 GOP 구조에서, 다른 GoP를 참조하는 기능을 활성화시킴으로써 상기 B 프레임으로 생성된 제 1 프레임은 다른 GoP 내의 제 2 프레임을 참조하는 워터마크 삽입 방법.
  5. 제 1 항에 있어서,
    상기 제 1 프레임을 B 프레임으로 생성할 때, 상기 원본 비트스트림에서 제 1 프레임이 속해 있던 제 2 GoP(Group of Picture)의 이전 GoP인 제 1 GoP에, 상기 B 프레임으로 생성된 제 1 프레임이 속하도록 GOP 구조를 변경하는 워터마크 삽입 방법.
  6. 제 5 항에 있어서,
    상기 제 1 GoP를 상기 제 2 프레임 바로 이전 프레임까지로 변경 설정하여 GoP 구조를 변경하는 워터마크 삽입 방법.
  7. 제 1 항에 있어서,
    상기 제 2 프레임은 상기 제 1 프레임 바로 이후 프레임인 워터마크 삽입 방법.
  8. 제 1 항에 있어서, 상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 단계는
    상기 원본 비트스트림 내의 입력 영상을 h개 프레임 간격으로 쉬프트(shift)하면서 n개 프레임 단위로 선택하는 단계;
    상기 선택된 n개 프레임 단위의 영상을 복수 개의 코덱(codec) 및 장면 전환 검출 알고리즘 중 적어도 하나를 사용하여 후보 프레임을 추출하는 단계;
    상기 검출된 후보 프레임을 기반으로 히스토그램 분석하여 임계값보다 높은 카운트 값을 가진 프레임을 최종 장면전환 프레임으로 검출하는 단계; 및
    상기 검출된 최종 장면 전환 프레임을 상기 제 1 프레임으로 결정하는 단계를 포함하되, 상기 h와 n은 0보다 큰 실수이면서 h는 n보다 작은 값을 갖는 워터마크 삽입 방법.
  9. 워터마크 삽입 장치에 있어서,
    원본 비트스트림을 입력하는 입력부;
    상기 입력된 원본 비트스트림에서 워터마크 삽입을 위한 제 1 프레임을 결정하는 삽입 프레임 결정부;
    제 1 프레임 이후 프레임 중 하나를 제 2 프레임으로 선택하는 참조 프레임 선택부;
    상기 제 2 프레임을 상기 제 1 프레임의 참조 프레임으로 생성하는 참조 프레임 생성부;
    상기 제 1 프레임을, 상기 제 2 프레임을 참조하는 B 프레임(Bidirectional-coded frame)으로 생성하는 프레임 변경부; 및
    B 프레임으로 생성된 제 1 프레임에 워터마크(watermark)를 삽입하는 워터마크 삽입부를 포함하는 워터마크 삽입 장치.
  10. 제 9 항에 있어서,
    상기 참조 프레임 생성부는 상기 제 2 프레임을 I 프레임(Intra-coded frame)으로 생성하는 워터마크 삽입 장치.
  11. 제 9 항에 있어서,
    상기 제 1 프레임은 상기 원본 비트스트림에서 장면 전환(scenecut) 프레임이거나 I 프레임인 워터마크 삽입 장치.
  12. 제 9 항에 있어서,
    상기 제 1 프레임과 상기 제 2 프레임의 참조 관계 변경에 따라 변경된 GOP 구조에서, 다른 GoP를 참조하는 기능을 활성화시킴으로써 상기 B 프레임으로 생성된 제 1 프레임은 다른 GoP 내의 제 2 프레임을 참조하는 워터마크 삽입 장치.
  13. 제 9 항에 있어서,
    상기 제 1 프레임을 B 프레임으로 생성할 때, 상기 원본 비트스트림에서 제 1 프레임이 속해 있던 제 2 GoP(Group of Picture)의 이전 GoP인 제 1 GoP에, 상기 B 프레임으로 생성된 제 1 프레임이 속하도록 GOP 구조를 변경하는 워터마크 삽입 장치.
  14. 제 13 항에 있어서,
    상기 제 1 GoP를 상기 제 2 프레임 바로 이전 프레임까지로 변경 설정하여 GoP 구조를 변경하는 워터마크 삽입 장치.
  15. 제 9 항에 있어서,
    상기 제 2 프레임은 상기 제 1 프레임 바로 이후 프레임인 워터마크 워터마크 삽입 장치.
  16. 제 9 항에 있어서, 상기 삽입 프레임 결정부는
    상기 원본 비트스트림 내의 입력 영상을 h개 프레임 간격으로 쉬프트(shift)하면서 n개 프레임 단위로 선택하는 영상 선택부;
    상기 선택된 n개 프레임 단위의 영상을 복수 개의 코덱(codec) 및 장면 전환 검출 알고리즘 중 적어도 하나를 사용하여 후보 프레임을 추출하는 후보 프레임 추출부;
    상기 검출된 후보 프레임을 기반으로 히스토그램 분석하여 임계값보다 높은 카운트 값을 가진 프레임을 최종 장면전환 프레임으로 검출하는 최종 프레임 검출부를 포함하되,
    상기 검출된 최종 장면 전환 프레임은 상기 제 1 프레임으로 결정되고,
    상기 h와 n은 0보다 큰 실수이면서 h는 n보다 작은 값을 갖는 워터마크 삽입 장치.
KR1020170019530A 2017-02-13 2017-02-13 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법 KR20180093441A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170019530A KR20180093441A (ko) 2017-02-13 2017-02-13 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법
US15/435,306 US10134100B2 (en) 2017-02-13 2017-02-17 Watermark embedding apparatus and method through image structure conversion
EP17156845.4A EP3361747B1 (en) 2017-02-13 2017-02-20 Watermark embedding apparatus and method through image structure conversion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170019530A KR20180093441A (ko) 2017-02-13 2017-02-13 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20180093441A true KR20180093441A (ko) 2018-08-22

Family

ID=58108448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170019530A KR20180093441A (ko) 2017-02-13 2017-02-13 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법

Country Status (3)

Country Link
US (1) US10134100B2 (ko)
EP (1) EP3361747B1 (ko)
KR (1) KR20180093441A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102646952B1 (ko) * 2019-01-04 2024-03-14 주식회사 마크애니 비디오 콘텐츠에 대한 위변조를 방지하기 위한 부가데이터를 검출하여 디스플레이하는 장치, 방법 및 시스템, 상기 디스플레이 장치와 연동하는 재생장치, 상기 장치의 재생방법
CN110312138B (zh) * 2019-01-04 2020-08-11 北京大学 基于时序残差卷积建模的高嵌入容量视频隐写方法和***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000513167A (ja) 1997-01-13 2000-10-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタルビデオ信号内に補足データを埋め込む方法及び装置
US7154560B1 (en) * 1997-10-27 2006-12-26 Shih-Fu Chang Watermarking of digital image data
US6373960B1 (en) * 1998-01-06 2002-04-16 Pixel Tools Corporation Embedding watermarks into compressed video data
CN100361152C (zh) * 2001-06-13 2008-01-09 皇家菲利浦电子有限公司 检测水印的方法和设备
WO2009036684A1 (en) 2007-09-14 2009-03-26 Huawei Technologies Co., Ltd. A method and device for embedding and detecting watermark information
JP2009260436A (ja) 2008-04-11 2009-11-05 Sony Corp 情報処理装置及び情報処理方法、並びにプログラム
US9432704B2 (en) 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
WO2013075335A1 (en) 2011-11-25 2013-05-30 Thomson Licensing Video quality assessment considering scene cut artifacts
US9886961B2 (en) 2015-01-15 2018-02-06 Gopro, Inc. Audio watermark in a digital video

Also Published As

Publication number Publication date
US10134100B2 (en) 2018-11-20
US20180232843A1 (en) 2018-08-16
EP3361747B1 (en) 2022-08-31
EP3361747A1 (en) 2018-08-15

Similar Documents

Publication Publication Date Title
US7707422B2 (en) Method for embedding watermark into an image and digital video recorder using said method
Stütz et al. Non-blind structure-preserving substitution watermarking of H. 264/CAVLC inter-frames
Noorkami et al. Compressed-domain video watermarking for H. 264
EP2495965B1 (en) Device and method for detecting inserted watermarks
Liao et al. Efficient information hiding in H. 264/AVC video coding
Xu et al. Detection of double MPEG-2 compression based on distributions of DCT coefficients
JP4035257B2 (ja) 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体
JP2007533197A (ja) マルチメディアデータに適用される符号化方法
Koubaa et al. Collusion, MPEG4 compression and frame dropping resistant video watermarking
KR20050112634A (ko) 비디오 워터마킹 방법 및 장치와, 비디오 워터마킹을 이용한 비디오 콘텐츠 보호방법 및 장치
Chang et al. Blind robust video watermarking based on adaptive region selection and channel reference
JP2006527518A (ja) ビデオ圧縮
Das et al. An improved video key-frame extraction algorithm leads to video watermarking
KR20180093441A (ko) 영상 구조 변경을 통한 워터마크 삽입 장치 및 방법
US9087377B2 (en) Video watermarking method resistant to temporal desynchronization attacks
Xu et al. Detection of video transcoding for digital forensics
Wang et al. Motion vector reversion-based steganalysis revisited
Khalilian et al. Multiplicative video watermarking with semi-blind maximum likelihood decoding for copyright protection
Mareen et al. Implementation-free forensic watermarking for adaptive streaming with A/B watermarking
KR20160040930A (ko) 이미지 재부호화 방법 및 그 장치
Kanphade et al. Forward modified histogram shifting based reversible watermarking with reduced pixel shifting and high embedding capacity
Pranata et al. Improved bit rate control for real-time MPEG watermarking
Houria et al. Hybrid watermark fingerprint algorithm for h. 264 compressed video authentication
Bryan Video steganalysis for digital forensics investigation
Kelkoul et al. Countering Audiovisual Content Piracy: A Hybrid Watermarking and Fingerprinting Technology

Legal Events

Date Code Title Description
A201 Request for examination