KR100612830B1 - 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법 - Google Patents

신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법 Download PDF

Info

Publication number
KR100612830B1
KR100612830B1 KR1020010070731A KR20010070731A KR100612830B1 KR 100612830 B1 KR100612830 B1 KR 100612830B1 KR 1020010070731 A KR1020010070731 A KR 1020010070731A KR 20010070731 A KR20010070731 A KR 20010070731A KR 100612830 B1 KR100612830 B1 KR 100612830B1
Authority
KR
South Korea
Prior art keywords
watermark
symbols
data
watermarked
error
Prior art date
Application number
KR1020010070731A
Other languages
English (en)
Other versions
KR20030039705A (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 KR1020010070731A priority Critical patent/KR100612830B1/ko
Publication of KR20030039705A publication Critical patent/KR20030039705A/ko
Application granted granted Critical
Publication of KR100612830B1 publication Critical patent/KR100612830B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
    • H04N7/035Circuits for the digital non-picture data signal, e.g. for slicing of the data signal, for regeneration of the data-clock signal, for error detection or correction of the data signal
    • H04N7/0357Circuits for the digital non-picture data signal, e.g. for slicing of the data signal, for regeneration of the data-clock signal, for error detection or correction of the data signal for error detection or correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

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

Abstract

신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법이 개시된다. 본 발명에 따른 워터마킹 장치는 심벌 추출부, 워터마크 삽입부 및 오류 정정 코딩부를 포함하여 구성된다. 심벌 추출부는 입력되는 멀티미디어 심벌로부터 워터마킹할 k개의 심벌들을 추출한다. 워터마크 삽입부는 워터마킹에 대한 정보를 가진 워터마크 메시지에 따라 추출된 k개의 블록 심벌들중 t개의 워터마킹할 심벌들을 선택하고, 선택된 t개의 심벌들을 워터마크 메시지에 따라 변형하여 워터마킹된 멀티미디어 심벌을 생성한다. 오류 정정 코딩부는 추출된 k개의 심벌들에서 t개의 블록 심벌들에 발생되는 오류 정정을 위한 2t개의 패리티 키를 생성한다. 또한, 본 발명에 따른 워터마크 추출 장치는 심벌 추출부, 오류 정정 복호화기 및 워터마크 메시지 복원부를 포함하여 구성된다. 심벌 추출부는 외부로부터 전송되는 워터마킹된 멀티미디어 심벌들중 k개의 심벌들을 추출한다. 오류 정정 복호화기는 외부로부터 전송되는 2t개의 패리티 키를 이용하여, 추출된 k개의 심벌들중 워터마크 삽입으로 인해 t개의 심벌들에 발생된 변형을 정정하여 오류 정정된 k개의 심벌들을 생성한다. 그리고, 워터마크 메시지 복원부는 추출된 k개의 심벌들과 오류 정정된 k개의 심벌들을 비교하고, 비교 결과에 따라 소정의 워터마킹 정보를 포함하는 워터마크 메시지를 복원한다.

Description

신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법{Watermarking and watermark extracting apparatus having high reliability and method therefor}
도 1은 본 발명에 따른 신뢰성 높은 워터마킹 장치의 일실시예를 개략적으로 나타내는 블록도이다.
도 2는 도 1에 도시된 워터마크 삽입 장치에서 수행되는 워터마크 삽입과정을 구체적으로 설명하기 위한 도면이다.
도 3은 본 발명에 따른 신뢰성 높은 워터마크 추출 장치의 일실시예를 개략적으로 나타내는 블록도이다.
도 4는 도 1에 도시된 워터마크 삽입 장치를 적용한 비디오 신호의 워터마킹 시스템을 개략적으로 나타내는 블록도이다.
도 5는 도 3에 도시된 워터마크 추출 장치를 적용하여 워터마크가 삽입된 비디오 신호로부터 워터마크를 추출하는 시스템을 개략적으로 나타내는 블록도이다.
도 6은 비디오 프레임에서 워터마크를 삽입하고자 하는 매크로 블록의 선택 및 워터마크 추출시 워터마크가 삽입된 매크로 블록의 추출 과정을 보이는 도면이다.
도 7은 도 6에서 워터마킹할 매크로블록이 선택되면 선택된 매크로블록에서 비디오 데이터에 대한 워터마킹 과정 및 그를 추출하는 과정을 설명하기 위한 도면 이다.
도 8은 본 발명의 다른 실시예에 따른 신뢰성 높은 워터마킹 장치의 다른 실시예를 개략적으로 나타내는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 신뢰성 높은 워터마크 추출 장치의 다른 실시예를 개략적으로 나타내는 도면이다.
본 발명은 워터마킹에 관한 것으로, 특히, 오류 정정 부호화 또는 추출된 워터마크의 오차 보상을 통해 멀티미디어(multimedia) 데이터에 대한 신뢰성 높은 워터마킹(watermarking) 및 워터마크 추출 장치와 그들의 방법에 관한 것이다.
최근, 멀티미디어 데이터의 저작권 보호를 위해, 멀티미디어 데이터에 시리얼 넘버(serial number)와 같은 소정의 식별인자를 삽입하여 멀티미디어 데이터가 무단 복제되는 것을 방지하는데, 이를 워터마킹이라 하며 식별인자를 워터마크(watermark)라 한다.
이 워터마크는 멀티미디어 데이터의 질(quality)에 영향을 주지 않는 범위 내에서 그 크기가 결정되어야 한다. 또한, 원 데이터 없이도 데이터에 삽입된 워터마크를 추출할 수 있고, 외부 해커의 의도적인 공격에도 변형되거나 지워지지 말아야 한다. 한편, 워터마크의 삽입으로 발생되는 멀티미디어 데이터의 질 변화는 사용자가 인지하지 못할 만큼 적어야 하는데, 만약 워터마크의 크기가 워터마크 추출 에 필요한 최소 크기보다 작을 경우에는 추출의 과정에서 오류가 발생할 가능성이 있다. 따라서, 원 데이터가 없이 추출하는 과정에서의 신뢰성이 문제가 될 수 있다.
본 발명이 이루고자 하는 제1기술적 과제는 오류 정정 부호화를 이용하여 신뢰성 높은 워터마킹 장치 및 그 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 제2기술적 과제는 상기 워터마킹 방법을 컴퓨터에서 실현 가능한 프로그램 코드로 기록된 기록매체를 제공하는 데 있다.
본 발명이 이루고자 하는 제3기술적 과제는 오류 정정 부호화를 이용하여 워터마킹된 멀티미디어 데이터에서 워터마크를 추출하는 장치 및 그 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 제4기술적 과제는 상기 워터마크를 추출하는 방법을 컴퓨터에서 실현 가능한 프로그램 코드로 기록한 기록매체를 제공하는 데 있다.
본 발명이 이루고자 하는 제5기술적 과제는 상기 워터마크 장치를 적용하여 비디오 신호를 워터마킹하는 비디오 신호 워터마킹 시스템 및 그 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 제6기술적 과제는 상기 비디오 신호의 워터마킹 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록된 기록매체를 제공하는 데 있다.
본 발명이 이루고자 하는 제7기술적 과제는 워터마킹된 비디오 신호에서 워 터마크를 추출하는 워터마크 추출 시스템 및 그 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 제8기술적 과제는 상기 비디오 신호에 삽입된 워터마크 추출 방법을 컴퓨터에서 실행 가능한 기록 매체를 제공하는 데 있다.
본 발명이 이루고자 하는 제9기술적 과제는 워터마크 추출시 추출된 워터마크에 포함된 오차 보상을 통한 신뢰성 높은 워터마킹 장치 및 그 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 제10기술적 과제는 상기 오차 보상을 통한 신뢰성 높은 워터마킹 방법을 컴퓨터에서 실행 가능한 프로그램 코드록 기록한 기록 매체를 제공하는 데 있다.
본 발명이 이루고자 하는 제11기술적 과제는 워터마크 추출시 추출되 워터마크에 포함된 오차 보상을 통해 신뢰성 높은 워터마크 추출 장치 및 그 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 제12기술적 과제는 상기 오차보상을 이용한 워터마크 추출 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록된 기록매체를 제공하는 데 있다.
상기 제1과제를 이루기 위해, 본 발명에 따른 워터마킹 장치는 입력되는 멀티미디어 심벌로부터 워터마킹할 k개의 심벌들을 추출하는 심벌 추출부, 워터마킹에 대한 정보를 가진 워터마크 메시지에 따라 추출된 k개의 블록 심벌들중 t개의 워터마킹할 심벌들을 선택하고, 선택된 t개의 심벌들을 워터마크 메시지에 따라 변 형하여 워터마킹된 멀티미디어 심벌을 생성하는 워터마크 삽입부 및 추출된 k개의 심벌들에서 t개의 블록 심벌들에 발생되는 오류 정정을 위한 2t개의 패리티 키를 생성하는 오류 정정 코딩부를 포함하는 것이 바람직하다.
상기 제1과제를 이루기 위해, 본 발명에 따른 워터마킹 방법은 전송하고자 하는 멀티미디어 심벌로부터 워터마킹할 k개의 블록 심벌들을 추출하는 (a)단계, 오류 정정 부호화를 통해 (a)단계에서 추출된 k개의 심벌들중 t개의 심벌들에 발생되는 오류를 정정할 수 있는 2t개의 패리티 키를 생성하는 (b)단계, 워터마킹에 대한 정보를 가진 워터마킹 메시지에 따라 추출된 k개의 심벌들중 t개의 워터마킹할 심벌들을 선택하는 (c)단계, 추출된 k개의 심벌들중 (c)단계에서 선택된 t개의 블록 심벌들을 워터마킹 메시지에 따라 변형하여 k개의 워터마킹된 멀티미디어 심벌들을 생성하는 (d)단계 및 전송하고자 하는 멀티미디어 심벌들중 (a)단계에서 추출된 k개의 심벌들을 (d)단계에서 생성된 k개의 워터마킹된 심벌들로 대체하여 워터마킹된 멀티미디어 심벌들을 생성하는 (e)단계를 포함하는 것이 바람직하다.
상기 제3과제를 이루기 위해, 본 발명에 따른 워터마크 추출 장치는 외부로부터 전송되는 워터마킹된 멀티미디어 심벌들중 k개의 심벌들을 추출하는 심벌 추출부, 외부로부터 전송되는 2t개의 패리티 키를 이용하여, 추출된 k개의 심벌들중 워터마크 삽입으로 인해 t개의 심벌들에 발생된 오류를 정정하여 오류 정정된 k개의 심벌들을 생성하는 오류 정정 복호화기 및 추출된 k개의 심벌들과 오류 정정된 k개의 심벌들을 비교하고, 비교 결과에 따라 소정의 워터마킹 정보를 포함하는 워터마크 메시지를 복원하는 워터마크 메시지 복원부를 구비하는 것이 바람직하다.
상기 제3과제를 이루기 위해, 본 발명에 따른 워터마크 추출 방법은 외부로부터 전송된 멀티미디어 심볼들중 k개의 심벌들을 추출하는 (a)단계, 외부로부터 전송되는 2t개의 패리티 키를 이용하여 (a)단계에서 추출된 k개의 심벌들에 워터마크 삽입으로 인해 존재하는 t개의 심벌 오류를 정정하여 오류 정정된 k개의 심벌들을 생성하는 (b)단계, (a)단계에서 추출된 k개의 심벌들과 오류 정정된 k개의 블록 심벌들을 비교하고, 비교 결과에 따라 워터마킹 정보를 포함하는 워터마크 메시지를 복원하는 (c)단계를 포함하는 것이 바람직하다.
상기 제5과제를 이루기 위해, 본 발명에 따른 비디오 신호 워터마킹 시스템은 현재 입력되는 프레임과 이전 프레임과의 차 데이터를 이산코사인변환하는 이산코사인변환부, 이산코사인 변환된 데이터를 양자화하는 양자화부, 양자화부에서 양자화된 데이터로부터 워터마킹할 k개의 데이터를 선택하고, 선택된 k개의 양자화 데이터중 t개의 데이터를 외부로부터 입력되는 워터마크 메시지에 상응하여 그 값을 변화시켜 워터마킹하고, 선택된 k개의 양자화 데이터들을 오류 정정 부호화하여 2t개의 패리티 키를 생성하는 워터마킹 장치 및 워터마킹 장치에서 워터마킹된 데이터를 부호화하여 비트 스트림을 생성하는 가변 비트율 부호화기를 구비하는 것이 바람직하다.
상기 제5과제를 이루기 위해, 본 발명에 따른 비디오 신호 워터마킹 시스템은 현재 입력되는 프레임과 이전 프레임과의 차 데이터를 이산코사인변환하는 이산코사인 변환부, 이산코사인 변환부에서 이산코사인변환된 데이터로부터 워터마킹할 k개의 데이터를 선택하고, 선택된 k개의 이산코사인변환된 데이터중 t개의 데이터 를 외부로부터 입력되는 워터마크 메시지에 상응하여 그 값을 변화시켜 워터마킹하고, 선택된 k개의 이산코사인변환된 데이터들을 오류 정정 부호화하여 2t개의 패리티 키를 생성하는 워터마킹 장치, 워터마킹 장치에서 워터마킹된 데이터를 양자화하는 양자화부 및 양자화부에서 양자화된 데이터를 부호화하여 비트 스트림을 생성하는 가변 비트율 부호화기를 구비하는 것이 바람직하다.
상기 제5과제를 이루기 위해, 비디오 신호 워터마킹 시스템에서, 매크로블록 단위로 압축되는 비디오 신호에 대해 워터마크를 수행할 매크로블록의 본 발명에 따른 선택 방법은 매크로블록 단위로 분할된 비디오 프레임에서 각 매크로블록을 이루는 픽셀 계수들을 이용하여 각 매크로블록의 특성을 나타내는 하나의 심벌로 변환하는 (a)단계, 매크로블록 심벌들중 워터마크를 삽입하고자 하는 t개의 매크로블록 심벌의 값을 의도적으로 변형하는 (b)단계, 매크로블록 심벌들중 t개의 매크로블록 심벌들이 (b)단계에서의 의도적 변형에 의해 발생되는 오류 정정을 위한 2t개의 패리티 키를 생성하는 (c)단계 및 워터마크가 삽입된 매크로블록의 정보를 갖는 2t개의 패리티 키를 전송하는 (d)단계를 포함하는 것이 바람직하다.
상기 제5과제를 이루기 위해, 비디오 신호 워터마킹 시스템에서, 매크로블록 단위로 압축되는 비디오 데이터에 대해 워터마킹하고자 하는 본 발명에 따른 매크로블록의 워터마킹 방법은 워터마킹하고자 하는 매크로블록을 이루는 비디오 데이터중 워터마킹할 k개의 데이터를 추출하는 (a)단계, (a)단계에서 추출된 k개의 비디오 데이터에 대해 소정 비트 단위로 처리 가능하도록 소정의 함수를 이용하여 k개의 심벌들을 생성하는 (b)단계, 워터마크 메시지에 따라 k개의 심벌들중 워터마 킹하고자 하는 t개의 심벌들을 선택하고, 선택된 t개의 심벌들을 워터마크 메시지에 따라 변형하여 워터마킹된 k개의 심벌을 얻는 (c)단계, 워터마킹된 k개의 심벌을 (b)단계에서 이용된 함수의 역함수를 이용하여 비디오 데이터 형태로 변환하여 워터마킹된 k개의 비디오 데이터를 생성하는 (d)단계, 워터마킹하고자 하는 매크로블록에서 워터마킹할 k개의 데이터를 (d)단계에서 생성된 워터마킹된 k개의 비디오 데이터로 대체하여 워터마킹된 매크로블록을 생성하는 (e)단계 및 (b)단계에서 생성된 k개의 심벌들에서 워터마크를 삽입함에 의해 발생되는 t개의 심벌들에 의한 오류 정정을 위한 2t개의 패리티 키를 생성하는 (f)단계를 포함하는 것이 바람직하다.
상기 제7과제를 이루기 위해, 본 발명에 따른 비디오 신호에 삽입된 워터마크 추출 시스템은 외부에서 입력되는 비트 스트림을 가변길이 복호화하여 양자화 데이터를 생성하는 가변길이코드 복호화기, 양자화 데이터에서 워터마크를 추출할 k개의 데이터를 추출하고, 비트 스트림과 함께 외부에서 입력되며, 워터마크 정보를 갖고 있는 패리티 키를 이용하여 추출된 k개의 양자화 데이터중 워터마크 삽입으로 오류가 발생된 t개 데이터의 오류를 정정하여 워터마크 메시지 및 워터마크가 제거된 양자화 데이터를 추출하는 워터마크 추출 장치, 워터마크 추출 장치에서 출력되는 워터마크가 제거된 양자화 데이터를 역양자화 하여 이산코사인 변환 데이터를 추출하는 역양자화기, 역양자화기에서 추출된 이산코사인 변한 데이터를 역이산코사인 변환하여 현재 프레임과 이전 프레임간의 차 데이터를 생성하는 역이산코사인 변환기 및 차데이터와 이전 프레임을 가산하여 현재 프레임에 대한 비디오 데이 터를 생성하는 가산기를 구비하는 것이 바람직하다.
상기 제7과제를 이루기 위해, 본 발명에 따른 비디오 신호에 삽입된 워터마크 추출 시스템은 외부에서 입력되는 비트 스트림을 가변길이 복호화하여 양자화 데이터를 생성하는 가변길이코드 복호화기, 가변길이코드 복호화기에서 생성된 양자화 데이터를 역양자화 하여 이산코사인 변환 데이터를 추출하는 역양자화기, 이산코사인 변환 데이터에서 워터마크를 추출할 k개의 데이터를 추출하고, 비트 스트림과 함께 외부에서 입력되며, 워터마크 정보를 갖고 있는 패리티 키를 이용하여 추출된 k개의 이산코사인 변환 데이터중 워터마크 삽입으로 오류가 발생된 t개 데이터의 오류를 정정하여 워터마크 메시지 및 워터마크가 제거된 이산코사인 변환 데이터를 추출하는 워터마크 추출 장치, 워터마크 추출 장치에서 추출된 워터마크가 제거된 이산코사인 변한 데이터를 역이산코사인 변환하여 현재 프레임과 이전 프레임간의 차 데이터를 생성하는 역이산코사인 변환기 및 차데이터와 이전 프레임을 가산하여 현재 프레임에 대한 비디오 데이터를 생성하는 가산기를 구비하는 것이 바람직하다.
상기 제7과제를 이루기 위해, 매크로블록 단위로 압축되어 전송되는 워터마킹된 비디오 신호 처리 시스템에서, 본 발명에 따른 워터마킹된 매크로블록의 추출 방법은 매크로블록 단위로 분할된 비디오 프레임에서 각 매크로블록을 이루는 픽셀 계수들을 이용하여 각 매크로블록의 특성을 나타내는 하나의 심벌로 변환하는 (a)단계 외부로부터 워터마킹된 비디오 신호와 함께 전송되며 워터마크가 삽입된 매크로블록의 위치 정보를 갖는 2t개의 패리티 키를 이용하여 워터마크 삽입으로 인한 매크로블록 심벌들에 존재하는 오류를 정정하는 (b)단계 및 오류가 발생된 위치를 추출하여 워터마킹된 매크로블록의 위치를 추출하는 (c)단계를 포함하는 것이 바람직하다.
상기 제7과제를 이루기 위해, 매크로블록 단위로 압축되어 전송되는 워터마킹된 비디오 신호 처리 시스템에서, 워터마킹된 매크로블록에 삽입된 본 발명에 따른 워터마크의 추출 방법은 워터마킹된 매크로블록을 이루는 비디오 데이터에서 k개의 데이터를 추출하는 (a)단계, (a)단계에서 추출된 k개의 비디오 데이터에 대해 소정 비트 단위로 처리 가능하도록 소정의 함수를 이용하여 k개의 심벌들을 생성하는 (b)단계, 외부로부터 워터마킹된 비디오 신호와 함께 전송되며 워터마크가 삽입된 정보를 갖는 2t개의 패리티 키를 이용하여 워터마크 삽입으로 인해 k개의 심벌들에 존재하는 오류를 정정하여 워터마크 삽입에 의한 t개의 오류 심벌의 위치 및 오류의 양을 추출하는 (c)단계 및 (c)단계에서 추출된 t개의 오류 심벌의 위치 및 오류의 양에 따라 삽입된 워터마크를 추출하는 (d)단계를 포함하는 것이 바람직하다.
상기 제9과제를 이루기 위해, 본 발명에 따른 워터마킹 장치는 디어 데이터에 워터마크를 삽입하여 워터마킹된 미디어 데이터를 생성하는 워터마킹부 및 워터마크의 추출을 위한 키 값과 워터마킹된 미디어 데이터를 입력하고, 키 값을 이용하여 워터마킹된 미디어 데이터로부터 워터마크를 추출하여 추출된 워터마크와 워터마크간의 오류보상을 위한 오류보상 데이터를 생성하고, 생성된 오류보상 데이터와 키 값을 부호화하여 메타 데이터로서 생성하는 오류보상부를 포함하는 것이 바 람직하다.
상기 제9과제를 이루기 위해, 본 발명에 따른 워터마킹 방법은 미디어 데이터에 워터마크를 삽입하여 워터마킹된 미디어 데이터를 생성하는 (a)단계, 워터마크의 추출에 이용되는 키 값을 이용하여 워터마킹된 미디어 데이터로부터 워터마크를 추출하는 (b)단계, 워터마크와 (b)단계에서 추출된 워터마크 사이의 오차를 보상하기 위한 오류보상 데이터를 생성하는 (c)단계 및 오류보상 데이터와 키 값을 혼합하여 부호화하고, 부호화된 데이터를 메타 데이터로서 생성하는 (d)단계를 포함하는 것이 바람직하다.
상기 제11과제를 이루기 위해, 본 발명에 따른 워터마크 추출 장치는 외부로부터 전송되는 워터마크에 대한 정보를 포함하고 있는 메타 데이터를 파징(parsing)하여, 워터마크 추출시 발생되는 오류 보상을 위한 소정의 오류 보상 데이터와 워터마크 추출에 이용되는 키 값을 추출하는 메타 데이터 파저(parser), 외부로부터 전송되는 워터마킹된 미디어 데이터에 삽입된 워터마크를 키 값을 이용하여 추출하는 워터마크 추출부 및 키 값을 이용하여 추출된 워터마크에 존재할 수 있는 오류를 소정의 오류 보상 데이터를 이용하여 보상하여 오류 보상된 워터마크를 생성하는 오류 보상부를 포함하는 것이 바람직하다.
상기 제11과제를 이루기 위해, 본 발명에 따른 워터마크 추출 장치는 외부로부터 전송되는 워터마크에 대한 정보를 포함하고 있는 메타 데이터를 파징하여, 워터마크 추출시 발생되는 오류 보상을 위한 소정의 오류 보상 데이터와 워터마크 추출에 이용되는 키 값을 추출하는 (a)단계, 외부로부터 전송되는 워터마킹된 미디어 데이터에 삽입된 워터마크를 키 값을 이용하여 추출하는 (b)단계, 키 값을 이용하여 추출된 워터마크에 존재할 수 있는 오류를 소정의 오류 보상 데이터를 이용하여 보상하여 오류 보상된 워터마크를 생성하는 (c)단계를 포함하는 것이 바람직하다.
이하, 본 발명에 따른 오류정정 부호화 방식을 이용한 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 따른 신뢰성 높은 워터마킹 장치의 일실시예를 개략적으로 나타내는 블록도이다. 본 발명의 일실시예에 따른 워터마킹 장치는 심벌 추출부(10), 워터마크 삽입부(12) 및 리드-솔로몬(Reed-Solomon:RS) 부호화기(14)를 포함하여 구성된다. 도 1에서는 설명의 편의를 위해 오류정정 부호화기로 RS 부호화기를 이용한다.
도 1을 참조하여, 심벌 추출부(10)는 입력되는 멀티미디어 심벌 ft[u][v]에서 워터마킹할 k개의 심벌을 추출한다. 여기서, 멀티미디어 심벌 ft[u][v]은 소정 단위로 예컨대, 바이트 단위로 처리 가능하도록 0~255 사이의 값을 갖는다.
워터마크 삽입부(12)는 k개의 심벌들을 입력하고, 워터마킹에 대한 정보를 가진 워터마킹 메시지(WM) s(1), s(2), ..., s(k)에 상응하여 k개의 심벌들중 t개의 워터마킹할 심벌들을 선택한다. 워터마크 삽입부(12)는 선택된 t개의 심벌들을 워터마킹 메시지(WM)에 따라 변형하여 워터마킹된 k개의 심벌을 생성한다. 이처럼 워터마킹된 k개의 심벌들을 멀티미디어 심벌 ft[u][v]에 삽입함으로써 최종적으로 워터마킹된 멀티미디어 심벌 ft'[u][v]을 생성한다. 여기서, 워터마킹 메시지(WM) s(1), s(2), ..., s(k)는 심벌 추출부(10)에서 추출된 k개의 심벌들중 어떤 심볼을 얼마만큼의 값을 변형할 것인가에 대한 워터마킹 정보를 포함하고 있다.
RS 부호화기(14)는 심벌 추출부(10)에서 추출된 k개의 심벌들을 부호화하여, 워터마크 삽입으로 발생되는 t개의 오류 심벌들의 오류의 정정을 위한 2t개의 패리티 키(Parity Key) p(1), p(2), ..., p(2t)를 생성한다.
워터마크 삽입 장치는 워터마크 삽입부(12) 및 RS 부호화기(14)에서 각각 생성된 워터마킹된 멀티미디어 데이터 ft'[u][v] 및 패리티 키 p(1), p(2), ..., P(2t)를 외부의 수신장치로 함께 전송한다.
도 2는 도 1에 도시된 워터마크 삽입 장치에서 수행되는 워터마크 삽입과정을 구체적으로 설명하기 위한 도면이다.
도 1 및 2를 참조하여, 심벌 추출부(10)는 입력되는 멀티미디어 심벌 ft[u][v]에서 워터마킹할 k개의 심벌들을 추출한다(101).
그런 다음, RS 부호화기(14)는 RS 부호화를 통해 101단계에서 추출된 k개의 심벌들중 t개의 에러를 정정할 수 있는 2t개의 패리티 키(103)를 생성한다.
또한, 워터마크 삽입부(12)는 심벌 추출부(10)에서 추출된 k개의 심벌들을 워터마크 메시지(WM)에 따라 워터마킹하고자 하는 t개의 심볼을 선택하여 그 값을 의도적으로 변경하여(102), 워터마킹된 k개의 심벌들(108)을 생성한다. 이후, 워터마킹된 k개의 심벌들(108)은 멀티미디어 심벌에 삽입하여 워터마킹된 멀티미디어 심벌 ft'[u][v]을 생성한다.
한편, 도 1에 도시된 워터마크 삽입 장치는 2t개의 패리티 키(303) 및 워터마킹된 멀티미디어 심벌 ft'[u][v]은 소정의 부호화 과정을 더 수행하여 부호화된 패리티 키(106) 및 부호화된 멀티미디어 데이터(110)를 생성할 수 있으며, 이들을 외부의 수신장치로 전송한다.
일반적으로, RS 부호화는 디지털 통신 시스템에서 채널 오류가 발생할 때, 이를 보정해주기 위해 이용되는 부호화 방법중의 하나이다. RS 코드는 비이진(non-binary) 부호의 한 범주에 속하고 일반적으로 RS(n,k)로 표현된다. t개의 오류를 수정할 수 있는 RS 코드에서 사용되는 파라메터(parameter)의 의미는 다음과 같다.
입력 정보의 수:k
부가 정보의 수:2t
전체 정보의 수:n=k+2t
q=pm (p=2)
블록의 길이(Block Length):q-1≥n
최소 길이(Minimum Distance):dmin=2t+1
송신측에서는 k개의 입력정보에 부가정보 2t개를 더하여서 n(=k+2t)개의 전체 정보를 만들어서 전송을 하면, 수신측에서는 t개까지의 오류가 발생해도 이를 수정할 수 있거나 2t개까지의 이레이져(eraser, 오류중에서 발생된 위치를 아는 오류)를 수정할 수 있다. 일반적인 디지털 통신 시스템은 바이트(byte)단위로 신호를 처리하는데 이 때에 m은 8이 되고, q는 28을 사용한다. 그리고, 전체 정보의 수 n은 (q-1) 즉, 255이하여야 하며, 갈로아 필드(Galois Field)는 GF(28)을 사용한다.
본 발명에서는 이상에서 설명된 바와 같은 RS 부호화 방식을 워터마크 삽입에 이용한 것이다. 송신측에서 워터마킹된 멀티미디어 데이터를 전송한다는 것은 원래의 멀티미디어 데이터에 워터마크를 삽입하는 것이다. RS 부호화 방식의 관점에서 보면 이러한 워터마크는 디지털 통신 시스템에서의 오류와 같은 것이다. 따라서, RS 부호화기를 이용해 오류(삽입된 워터마크)를 정정할 수 있는 패리티 키를 생성하여 워터마킹된 멀티미디어 데이터와 함께 수신측으로 전송한다. 수신측은 송신측으로부터 전송된 패리티 키와 워터마킹된 멀티미디어 데이터가 수신되면, 패리티 키를 이용하여 워터마킹된 멀티미디어 데이터에 삽입된 워터마크를 추출할 수 있게 된다.
도 3은 본 발명에 따른 신뢰성 높은 워터마크 추출 장치의 일실시예를 개략적으로 나타내는 블록도이다. 본 발명의 일실시예에 따른 워터마크 추출 장치는 심벌 추출부(30), RS 복호화기(32), 워터마크 메시지 복원부(38)를 포함하여 구성된다.
도 3을 참조하여, 심벌 추출부(30)는 외부의 송신장치로부터 워터마킹된 멀티미디어 심벌 ft'[u][v]이 전송되면, 워터마킹된 멀티미디어 심벌 ft'[u][v]의 미디어 디코딩을 통해 k개의 심벌을 추출한다.
RS 복호화기(32)는 심벌 추출부(30)에서 추출된 k개의 심벌을 입력한다. 그 리고, 외부의 송신장치로부터 전송되는 워터마크 추출에 이용되는 패리티 키 k(1), k(2), ..., k(2t)를 이용하여 추출된 k개의 심벌들을 상기 2t개의 패리티 키를 이용하여, 입력한 k개의 심벌들이 워터마크 삽입에 의해 발생되는 의도적 오류를 정정한다. 즉, 심벌 추출부(30)에서 추출된 k개의 심벌들에는 워터마크가 삽입되어 있으며, RS 복호화기(32)는 이러한 워터마크로 인한 오류를 제거하여 원래의 심벌 데이터를 생성한다.
워터마크 메시지 복원부(38)는 심벌 추출부(30)에서 추출된 k개의 심벌들과 RS 복호화기(32)에서 오류 정정된 k개의 심벌들 간의 차를 비교하고, 비교 결과를 워터마크 정보를 포함하는 워터마크 메시지로서 복원한다. 구체적으로, 워터마크 메시지 복원부(38)는 비교부(34) 및 워터마크 추출부(36)를 포함하여 구성된다.
비교부(34)는 심벌 추출부(30)에서 추출된 k개의 심벌들과 RS 복호화기(32)에서 오류 정정된 k개의 심벌들을 비교하여 심벌이 변형된 t개의 심벌들의 위치 및 변화된 양을 추출한다. 여기서, 추출된 k개의 심벌들은 워터마크가 삽입된 심벌들이고, 오류 정정된 k개의 심벌들은 워터마크가 제거된 원래의 심벌들이다. 따라서, 추출된 k개의 심벌들과 오류 정정된 k개의 심벌들을 비교함으로써 t개의 심벌에 삽입된 워터마크의 위치 및 그 값을 추출할 수 있다. 예컨대, 비교부(34)는 추출된 k개의 심벌들과 오류 정정된 k개의 심벌들의 차 데이터를 구하며, 이 차 데이터에 워터마크 삽입 위치 및 그 값에 대한 정보가 포함된다.
워터마크 추출부(36)는 비교부(34)에서 추출된 워터마크 위치 및 그 값을 이용하여 원래의 워터마킹 메시지(WM) s(1), s(2), ..., s(k)를 복원한다.
전술된 바와 같이, 오류정정 부호화는 기본적으로 메시지 심벌의 오류를 정정하기 위한 패리티(parity) 심벌을 부가적으로 통신시스템을 통해 전달하면 그 과정에서 발생한 오류에 대해 패리티 정보를 이용하여 오류가 발생한 심벌의 위치와 그 크기를 알아내어 메시지 심벌에서 발생한 오류를 정정한다. 본 발명에서는 이러한 오류 정정 부호화 방식을 워터마크 삽입 및 추출에 적용한 것이다. 즉, 송신측에서는 워터마크 메시지를 삽입할 데이터 심벌의 위치를 정하고, 소정 크기만큼 그 값을 의도적으로 변경하여 워터마킹된 데이터를 생성한다. 이 때, 삽입된 워터마크는 오류와 같으며, 송신측에서는 이러한 오류를 수신측에서 정정할 수 있도록 패리티 심벌을 부가적 정보로서 워터마킹된 데이터와 함께 전송한다.
수신측에서는 송신측으로부터 전송되는 패리티 심볼을 이용하여 워터마킹된 데이터로부터 워터마크가 삽입된 위치 및 변경된 값을 추출할 수 있으며, 추출된 워터마크 삽입 위치 및 변경된 값을 이용하여 원래의 워터마크 메시지(WM)를 추출할 수 있게 된다.
도 4는 도 1에 도시된 워터마크 삽입 장치를 적용한 비디오 신호의 워터마킹 시스템을 개략적으로 나타내는 블록도이다.
도 4를 참조하여, 가산기(50)는 비디오 신호 f(y,x)와 움직임보상부(MC,70)에서 출력되는 움직임 보상된 이전프레임을 입력하여 그 차를 구한다. 이산 코사인 변환부(DCT,52)는 현재 입력되는 프레임과 이전 프레임과의 차 데이터를 이산 코사인 변환한다. 양자화부(Q,54)는 DCT(52)에서 출력되는 변환데이터를 양자화한다.
워터마크 삽입 장치(58)는 양자화부(54)에서 양자화된 데이터로부터 워터마 킹할 k개의 데이터를 선택한다. 그리고, 선택된 k개의 양자화 데이터중 t개의 데이터를 외부로부터 입력되는 워터마킹 메시지(1,40,255,10,...)에 상응하여 그 값을 변화시킨다. 결국, 워터마크 삽입 장치(58)는 양자화된 데이터에서 t개의 데이터가 워터마크 메시지에 의해 변형된 워터마킹된 데이터를 가변비트율 부호화기(VLC,60) 및 역양자화기(IQ,62)로 출력한다. 또한, 워터마크 삽입 장치(58)는 선택된 k개의 데이터를 오류정정 부호화하여 선택된 k개의 데이터에서 t개의 오류가 발생된 경우 이를 정정할 수 있는 2t개의 패리티 키(3,50,...)를 생성하여 출력한다. 여기서, 워터마킹 장치(58)는 도 1에 도시된 장치로 구현할 수 있다.
계속해서, 가변비트율 부호화기(60)는 워터마크 삽입 장치(58)에서 워터마킹된 데이터를 부호화하여 비트스트림(Bit-Stream)으로 출력한다. 워터마크 삽입 장치에서 출력되는 패리티 키(3,50,...) 및 가변비트율 부호화기(60)에서 출력되는 비트 스트림이 외부의 수신장치로 전송된다.
한편, 역양자화기(62) 및 역이산코산인변환기(IDCT,64)를 통해 워터마킹된 데이터를 역양자화된 후 역이산코사인변환된다. 가산기(66)는 움직임 보상부(70)에서 움직임보상된 이전프레임과 역이산코사인변환기(64)의 출력신호를 가산하여 이전 프레임 f'(y,x)을 생성한다. 가산기(66)에서 생성된 이전프레임은 프레임 버퍼(68)에 프레임단위로 저장되고, 움직임 보상부(70)는 이전프레임의 움직임을 보상한 움직임보상된 이전프레임을 가산기들(50,66)로 각각 출력한다.
한편, 도 4를 참조하여 워터마크 삽입 장치(58)는 양자화기(54)에서 출력되는 양자화계수에 워터마크를 삽입하는 것으로 설명되었으나, 양자화 이전에 워터마 크가 삽입될 수도 있다. 즉, DCT(52)와 양자화기(54) 사이에 워터마크 삽입 장치(58)를 둠으로써, 이산코사인변환된 DCT 계수에 워터마크를 삽입할 수 있다.
도 5는 도 3에 도시된 워터마크 추출 장치를 적용하여 워터마크가 삽입된 비디오 신호로부터 워터마크를 추출하는 비디오 신호에 삽입된 워터마크 추출 시스템을 개략적으로 나타내는 블록도이다.
도 5를 참조하여, 외부로부터 전송되는 워터마킹된 비디오 스트림(Bit-Stream)은 가변길이코드 복호화기(80)에 의해 워터마킹된 양자화 데이터를 얻는다.
워터마크 추출 장치(92)는 가변길이코드 복호화기(80)에서 출력되는 워터마킹된 양자화 데이터를 입력하여, 워터마크 추출을 위한 k개의 양자화 데이터를 선택한다. 이 때, 선택된 k개의 양자화 데이터중 t개의 데이터가 워터마크가 삽입된 데이터이며, 외부로부터 전송되는 패리티 키(Parity Key)를 이용하여 선택된 k개의 데이터중 워터마크가 삽입된 t개 데이터에서 워터마크로 인한 오류를 정정하여 워터마크 삽입 전의 k개의 양자화 데이터를 생성한다. 이 때, 오류 정정은 RS 복호화기를 통해 이루어질 수 있다. 워터마크 추출 장치(92)는 워터마킹된 양자화 데이터에서 선택된 k개의 양자화 데이터를 워터마크가 제거된 k개의 데이터로 대체함으로써 워터마크가 제거된 양자화 데이터를 얻을 수 있으며, 이를 역양자화기(IQ, 82)로 출력한다. 또한, 워터마크 추출 장치(92)는 선택된 k개의 양자화된 데이터와 워터마크가 제거된 k개의 양자화된 데이터를 비교하여 t개의 워터마크가 삽입된 위치 및 그 값을 추출한다. 워터마크 추출 장치(92)는 추출된 워터마크가 삽입된 위치 및 그 값을 이용하여 원래의 워터마크 메시지(WM) 1,40,255,10,...를 복원하여 출 력한다. 여기서, 워터마크 추출 장치(92)는 도 3에 도시된 장치로 구현할 수 있다.
계속해서, 역양자화기(82)는 워터마크 추출 장치(92)로부터 출력되는 양자화된 데이터를 역양자화 하여 이산코사인변환계수를 추출한다. 역이산코사인 변환기(IDCT, 84)는 역양자화된 데이터를 입력하여 역이산코사인 변환하여 현재 프레임과 이전 프레임간의 차 데이터를 생성한다.
가산기(86)는 현재 프레임과 이전 프레임간의 차 데이터에 움직임 보상부(90)로부터 출력되는 움직임 보상된 이전프레임을 가산하여 현재 프레임 f'(y,x)을 생성하고, 이를 출력한다.
프레임 버퍼(88)는 가산기(86)에서 생성된 프레임을 순차적으로 저장하고, 움직임 보상부(90)는 프레임 버퍼(88)에 저장된 프레임의 움직임을 보상하여 움직임 보상된 이전프레임을 생성하고 이를 가산기(86)로 출력한다.
결국, 비디오 신호에 삽입된 워터마크 추출 시스템은 오류 정정 방식을 이용한 워터마크 추출 장치를 통해 비디오 신호에 삽입된 워터마크 메시지 1,40,255,10,...를 추출할 수 있게 된다.
한편, 도 5에서는 워터마크 추출 장치는 도 4에서의 워터마크 삽입 장치에 대응하여 가변길이 복호화기(80)와 역양자화기(82) 사이에 위치하는 경우를 도시하였다. 그러나, 도 4에서 워터마크 삽입 장치가 DCT(52)와 양자화기(54) 사이에 존재할 수 있다. 이처럼, 워터마크가 DCT 계수에 삽입된 경우라면, 이에 대응하는 도 5에 도시된 워터마크 추출 장치는 역양자화기(82)와 역이산코사인 변환기(84) 사이에서 역양자화된 데이터를 이용하여 워터마크를 추출한다.
한편, 비디오 신호는 프레임단위로 처리되며, 또한 하나의 프레임은 소정 크기의 매크로블록(macro block) 단위로 처리된다. 이 때, 도 4 및 도 5에 도시된 장치에서는 보이지 않았으나, 워터마킹할 매크로 블록을 선택하는 매크로블록 선택부가 더 포함될 수 있다.
도 6은 다수개의 매크로 블록들로 이루어진 비디오 프레임에서 비디오 신호 워터마킹 시스템에서 워터마크를 삽입하고자 하는 매크로 블록의 선택 및 비디오 신호에 삽입된 워터마크 추출 시스템에서 워터마크가 삽입된 매크로 블록의 추출 과정을 보이는 도면이다.
도 6을 참조하면, 하나의 비디오 프레임(701)은 다수개의 매크로블록들로 구분되어 있으며, 이들 매크로블록 단위로 비디오 신호는 처리된다.
그리고, 각 매크로블록들은 매크로블록을 이루는 픽셀 계수들을 이용하여 각 매크로블록의 특성을 나타내는 하나의 심벌로 변환하며, 변환에 이용되는 수식은 다음 수학식 1(705)과 같으며, 참조번호 707에 심벌변환의 일예를 보인다.
Figure 112001029558161-pat00001
한 프레임을 구성하는 매크로블록의 개수가 k개라 하고, k개의 매크로블록들중 t개(설명의 편의를 위해 t=3인 것으로 함)의 매크로블록들에 워터마크를 삽입하고자 한다면, k개의 매크로블록 심벌의 값중 3개의 매크로블록 심벌의 값을 의도적으로 변화시킨다. 그리고, RS 부호화(708)에 의해 k개의 매크로블록 심벌들을 부호 화 함으로써 2t개의 패리티 키 P0, P1, ...., P2t-1 들(709)이 생성된다. 비디오 신호 워터마킹 시스템 시스템에서는 이러한 패리티 키(709)를 외부의 수신 시스템으로 전송한다.
비디오 신호에 삽입된 워터마크 추출 시스템에서도 하나의 비디오 프레임(710)은 다수개의 매크로블록들로 구분되어 있으며, 이들 매크로블록 단위로 비디오 신호는 처리된다.
전술된 바와 같이, 각 매크로블록들은 매크로블록을 이루는 픽셀 계수들을 이용하여 각 매크로블록의 특성을 나타내는 하나의 심벌로 변환하며, 변환에 이용되는 수식은 수학식(713)과 같으며, 참조번호 714에 심벌변환의 일예를 보인다.
비디오 신호 수신 시스템에서는 외부로부터 전송되는 패리티 키(709)를 이용하여 참조번호 714의 매크로블록 심볼들을 복호화함으로써 워터마크가 삽입된 매크로블록의 위치를 알 수 있게된다. 예컨대, 비디오 신호 워터마킹 시스템의 매크로블록 심벌(707)과 비디오 신호 수신 시스템의 매크로블록 심벌(714)을 비교하면 3개의 매크로블록(716,717,718)의 심벌값이 서로 다름을 알 수 있으며, 패리티 키를 이용하여 오류정정함으로써 워터마크 삽입에 의한 오류가 발생된 위치 즉, 워터마크가 삽입된 매크로블록의 위치를 알 수 있게된다.
도 7은 도 6에서 워터마킹할 매크로블록이 선택되면 선택된 매크로블록에서 비디오 데이터에 대한 워터마킹 과정 및 그를 추출하는 과정을 설명하기 위한 도면이다.
도 7을 참조하여, 워터마킹하고자 하는 매크로블록(801)은 도 4에 도시된 시 스템에서 DCT(52) 또는 양자화기(54)를 거친 후의 데이터이다. 여기서는 설명의 편의를 위해 DCT(52)를 거친 후의 데이터인 것으로 설명한다. 또한, 매크로블록(801)에서 오른쪽의 두 개 블록은 칼러 데이터에 대한, 왼쪽의 4개 블록은 휘도 데이터에 대한 DCT 계수이다.
워터마킹 장치(58, 도 4 참조)는 워터마킹하고자 하는 매크로블록(801)에서 k개의 DCT 계수 예컨대, -5 0 129 3 -11 0 -128 .... 9를 선택(802)한다. 그리고, 워터마킹 장치(58)는 이들 k개의 DCT 계수가 소정 단위로 예컨대, 바이트 단위로 처리 가능하도록 소정의 함수(수학식 1과 같은 함수)를 이용하여 0~255 사이의 값을 갖는 k개의 심벌들(803) 예컨대, 123 128 255 131 117 128 0 .... 137로 변환한다. 워터마킹 장치(58)는 외부로부터 입력되는 워터마크 메시지(806)를 k개의 심벌들(803)에 가산하여 워터마킹된 k개의 심벌들(807)을 생성한다.
워터마크 메시지(806)는 워터마킹하고자 하는 심벌의 위치 및 그 값을 나타낸다. 워터마크 메시지(806)는 실제 삽입하고자 하는 메시지인 삽입 메시지(805) 예컨대, 24를 k개의 심벌중 워터마킹하고자 하는 심벌의 위치 및 그 값을 나타내는 데이터로 변형한 것이다. 워터마크 메시지(806)를 참조하여 워터마킹하고자 하는 심벌의 수 t가 예컨대 3이라면, k개의 심벌들(803)중 첫 번째, 네 번째 및 여섯 번째 심벌의 값을 각각 +1, +1 및 -1만큼 변화시킬 것임을 보인다. 즉, 워터마크 메시지(806)에 의해 k개의 심벌들(803)은 워터마킹된 k개의 심벌들(807) 예컨대, (124) 128 255 (130) 117 (127) 0 ... 137로 변형되며, 괄호안의 심벌값은 변형된 값을 나타낸다. 워터마킹 장치는 워터마킹된 k개의 심벌들을 다시 DCT 계수로 변형 하고, 이 계수들로 매크로블록(801)을 대체하여 워터마킹된 매크로블록을 생성한다. 또한, 워터마킹 장치(58)는 k개의 심볼들(803) 중 t(=3)개의 심벌이 워터마킹되었음을 수신측에서 알 수 있도록 k개의 심볼들(803)을 RS 부호화하여 2t개의 패리티 키 P0, P1, ..., P2t-1(804)를 생성한다.
워터마킹된 매크로블록은 이후 양자화 및 가변길이코드 부호화를 거친후 패리티 키 P0, P1, ..., P2t-1(804)와 함께 미디어 채널(media channel)을 통해 비디오 신호 수신장치로 전송된다.
계속해서, 비디오 신호 수신 시스템에서는 미디어 채널을 통해 전송되는 비디오 신호를 가변길이코드 복호화기(80, 도 5참조) 및 역양자화(82, 도 5참조)를 거쳐 도 7에 도시된 바와 같이 t(=3)개의 데이터 (812,813,814)가 워터마킹 데이터를 포함하는 워터마킹된 매크로블록(811)을 생성한다. 여기서, 가변길이코드 복호화기(80, 도 5참조) 및 역양자화(82, 도 5참조)를 거쳐 생성된 데이터는 DCT 계수이다. 만약, 워터마킹하고자 하는 매크로블록(801)이 양자화기(54)를 거친 양자화 데이터라면 워터마킹된 매크로블록(811)은 가변길이코드 복호화기(80)를 거쳐 복호화된 데이터이다. 또한, 매크로블록(811)에서 오른쪽의 두 개 블록은 칼러 데이터에 대한, 왼쪽의 4개 블록은 휘도 데이터에 대한 DCT 계수이다.
워터마크 추출 장치(92, 도 5참조)는 워터마킹된 매크로블록(811)으로부터 k개의 DCT 계수(815) 예컨대, (-4) 0 129 (2) -11 (-1) -128 ... 137를 추출한다. 워터마크 추출 장치(92)는 추출된 k개의 DCT 계수를 바이트 단위로 처리 가능하도 록 0~255 사이의 값을 갖는 워터마킹된 k개의 심벌들(819) 예컨대, (124) 128 255 (130) 117 (127) 0 .... 137로 변환한다. 워터마크 추출 장치(92)는 외부로부터 수신되는 패리티 키 P0, P1, ..., P2t-1(804)를 이용하여 워터마킹된 k개의 심벌들(819)을 오류정정한다. 워터마킹된 k개의 심벌들(819)이 패리티 키(804)에 의해 오류정정되면 참조번호 803과 같은 워터마킹되기 전의 심벌값이 생성된다. 워터마크 추출 장치는 이처럼, 오류정정된 심벌값과 오류정정되기 전의 심벌값의 차를 구함으로써 워터마킹 메시지(823) 예컨대, 1 0 0 1 0 -1 0 ... 0를 추출한다. 추출된 워터마킹 메시지(823)를 이용하여 삽입 메시지(824) 예컨대, 24를 추출할 수 있다.
이상에서와 같이, 오류 정정 부호화 방식을 워터마킹에 이용함으로써, 워터마킹 및 워터마크 추출시 신뢰성을 높일 수 있게 된다.
도 8은 본 발명의 다른 실시예에 따른 신뢰성 높은 워터마킹 장치의 다른 실시예를 개략적으로 나타내는 도면이다. 본 발명의 다른 실시예에 따른 워터마킹 장치는 워터마크 삽입부(200) 및 오류보상부(210)를 포함하여 구성된다.
도 8을 참조하여, 워터마킹 삽입부(200)는 미디어 데이터에 워터마크를 삽입하여 워터마킹된 미디어 데이터를 생성한다.
오류보상부(210)는 워터마크의 복원을 위한 키 값과 워터마크 삽입부(200)에서 출력되는 워터마킹된 미디어 데이터를 입력하고, 입력된 키 값을 이용하여 워터마킹된 미디어 데이터로부터 워터마크를 추출한다. 또한, 오류보상부(210)는 추출된 워터마크와 원래의 워터마크간의 오류보상을 위한 오류보상 데이터를 생성하고, 생성된 오류보상 데이터와 키 값을 혼합하여 부호화하고, 부호화된 데이터를 메타데이터로써 생성한다. 구체적으로, 오류보상부(210)는 워터마크 추출부(212), 함수 발생부(214) 및 메타 데이터 부호화기(216)를 포함하여 구성된다.
워터마크 추출부(212)는 워터마크의 복원을 위한 키 값과 워터마킹된 미디어 데이터를 입력하고, 입력된 키 값을 이용하여 워터마킹된 미디어 데이터로부터 워터마크를 추출한다.
함수 발생부(214)는 워터마크 삽입부(200)로 입력되는 워터마크와 워터마크 추출부(212)에서 추출된 워터마크를 입력하고, 소정의 함수 발생을 위한 보정키를 통해 상기 워터마크와 상기 추출된 워터마크를 변수로 하는 함수를 생성한다. 함수 발생부(214)는 생성된 함수의 각 파라메터와, 함수 계산 결과를 오류 보상값으로써 출력한다.
메타 데이터 부호화기(216)는 보상키, 함수 발생기(214)에서 발생되는 함수의 파라메터 및 오류 보상값을 포함하는 데이터를 오류보상 데이터로서 입력하고, 또한 키 값을 입력한다. 그리고, 입력된 오류보상 데이터와 키 값을 혼합하여 부호화하고, 부호화된 데이터를 메타 데이터로서 출력한다.
워터마킹 장치는 오류보상부(210)에서 출력되는 메타 데이터 및 워터마크 삽입부(20)에서 출력되는 워터마킹된 미디어 데이터를 외부의 워터마크 추출장치로 전송한다.
도 8에 도시된 오류보상부(210)의 동작에 대해 구체적으로 설명하면, 먼저 함수 발생부(214)에서 생성되는 함수는 다음 수학식 2와 같이 표현할 수 있다.
Figure 112001029558161-pat00002
여기서, 함수 fi()는 보상키를 이용하여 i 번째 워터마크 심벌마다 불규칙적으로 만들어지는 연산자이다. we[i]는 워터마크 추출부(212)에서 추출된 i 번째 워터마크 심벌이고, wc[i]는 추출된 워터마크 we[i]를 보상하기 위한 i 번째 오차보상값으로, 함수 fi()의 계산 결과이다. wr[i]는 미디어 데이터에 삽입되는 i 번째 워터마크 심벌이다.
만약, we[i], wr[i] 및 wc[i]가 0 또는 1의 이진 값을 갖는다면 함수 f i()는 이진 연산으로 정의할 수 있다. 예를 들어, 보상키를 시드(seed)로 하여 랜덤 수 발생기에서 숫자를 발생시키면 이들을 p개의 그룹으로 나누어 각각의 그룹에 적절한 이진연산을 할당할 수 있다. 예를 들어, p가 4인 경우라고 가정하고, i 번째 수에 대해 랜덤 수 발생기에서 나오 수 q[i]가 0부터 1사이라면 다음과 같이 함수 fi()를 정의할 수 있다.
0 <= q[i] < 0.25 이면 fi()는 AND 연산자
0.25 <= q[i] < 0.5 이면 fi()는 OR 연산자
0.5 <= q[i] < 0.75 이면 fi()는 XOR 연산자
0.75 <= q[i] < 1 이면 fi()는 NAND 연산자
즉, 함수 발생부(214)에서 발생되는 함수 파라메터는 AND, OR, XOR 또는 NAND 연산자를 나타내고, 함수 계산 결과인 오류 보상값 wc[i]을 출력한다.
함수의 정의는 설명된 것 이외에 다양한 방법으로 정의될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 신뢰성 높은 워터마크 추출 장치의 다른 실시예를 개략적으로 나타내는 도면이다. 본 발명의 다른 실시예에 따른 워터마크 추출 장치는 워터마크 추출부(300), 메타 데이터 파저(310) 및 워터마크 오류보상부(320)를 포함하여 구성된다.
워터마크 추출부(300)는 외부로부터 전송되는 워터마킹된 미디어 데이터에 삽입된 워터마크를 메타 데이터 파저(parser)(310)에서 출력되는 키 값을 이용하여 추출한다.
메타 데이터 파저(310)는 외부로부터 전송되는 워터마크에 대한 정보를 포함하고 있는 메타 데이터를 파징하여, 워터마크 추출시 발생되는 오류 보상을 위한 소정의 오류 보상 데이터와 워터마크 추출에 이용되는 키 값을 추출한다.
워터마크 오류 보상부(320)는 워터마크 추출부(300)에서 추출된 워터마크에 존재할 수 있는 오류를 메타 데이터 파저(310)에서 추출된 소정의 오류 보상 데이터를 이용하여 보상하여 오류 보상된 워터마크를 생성한다. 구체적으로, 워터마크 오류 보상부(320)는 오류 보상부(322) 및 함수 발생부(324)를 포함하여 구성된다. 한편, 메타 데이터 파저(310)에서 추출된 오류 보상 데이터는 추출된 워터마크의 오류를 보상을 위한 소정의 함수 발생을 위한 보정키 및 오류를 보상하기 위한 오류 보상값을 포함한다.
함수 발생부(324)는 워터마크 추출부(300)에서 추출된 워터마크와 오류 보상을 위한 오류 보상값을 변수로 하는 소정의 함수를 보상키에 상응하여 발생하고, 발생된 함수의 파라메터를 출력한다.
오류 보상부(324)는 워터마크 추출부(300)에서 추출된 워터마크, 오류 보상값 및 함수 발생부(324)에서 발생되는 함수 파라메터를 이용하여 함수를 계산하여 추출된 워터마크에 포함된 오류를 보상한 보상된 워터마크를 구하여 출력한다.
도 9에 도시된 워터마크 오류 보상부(320)의 동작에 대해 구체적으로 설명하면, 먼저 함수 발생부(324)에서 생성되는 함수는 다음 수학식 3과 같이 표현할 수 있다.
Figure 112001029558161-pat00003
여기서, 함수 fi()는 보상키를 이용하여 i 번째 워터마크 심벌마다 불규칙적으로 만들어지는 연산자이다. we[i]는 워터마크 추출부(300)에서 추출된 i 번째 워터마크 심벌이고, wc[i]는 추출된 워터마크 we[i]를 보상하기 위한 i 번째 오차보상값으로, 메타 데이터 파저(320)에서 출력되는 값이다. 즉, 최종적으로 얻고자 하는 오류가 보상된 i 번째 워터마크 심벌 wr[i]을 얻을 수 있다.
만약, we[i], wr[i] 및 wc[i]가 0 또는 1의 이진 값을 갖는다면 함수 f i()는 이진 연산으로 정의할 수 있다. 예를 들어, 보상키를 시드(seed)로 하여 랜덤 수 발생기에서 숫자를 발생시키면 이들을 p개의 그룹으로 나누어 각각의 그룹에 적절한 이진연산을 할당할 수 있다. 예를 들어, p가 4인 경우라고 가정하고, i 번째 수에 대해 랜덤 수 발생기에서 나오 수 q[i]가 0부터 1사이라면 다음과 같이 함수 fi()를 정의할 수 있다.
0 <= q[i] < 0.25 이면 fi()는 AND 연산자
0.25 <= q[i] < 0.5 이면 fi()는 OR 연산자
0.5 <= q[i] < 0.75 이면 fi()는 XOR 연산자
0.75 <= q[i] < 1 이면 fi()는 NAND 연산자
즉, 함수 발생부(214)에서 발생되는 함수 파라메터는 AND, OR, XOR 또는 NAND 연산자를 나타내고, 함수 계산 결과인 오류 보상된 워터마크 wr[i]을 출력한다.
함수의 정의는 설명된 것 이외에 다양한 방법으로 정의될 수 있다.
도 8 및 도 9를 참조하여 설명된 워터마킹 및 워터마크 추출 장치의 경우, 추출된 워터마크에 포함된 오류를 보상함으로써 보다 정확한 워터마크를 추출할 수 있으며, 결과적으로 워터마킹에 대한 신뢰성을 높일 수 있게 된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한 다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터네을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 따른 신뢰성 높은 워터마크 삽입 및 추출장치에 따르면, 오류 정정 부호화 또는 추출된 워터마크에 포함된 오류를 보상함으로써 보다 정확한 워터마크를 추출할 수 있으며, 결과적으로 워터마킹에 대한 신뢰성을 높일 수 있게 된다.

Claims (38)

  1. 입력되는 멀티미디어 심벌로부터 워터마킹할 k개의 심벌들을 추출하는 심벌 추출부;
    워터마킹에 대한 정보를 가진 워터마크 메시지에 따라 상기 추출된 k개의 블록 심벌들중 t개의 워터마킹할 심벌들을 선택하고, 선택된 t개의 심벌들을 상기 워터마크 메시지에 따라 변형하여 워터마킹된 멀티미디어 심벌을 생성하는 워터마크 삽입부; 및
    상기 추출된 k개의 심벌들 중 t개의 블록 심벌들에 상기 변형에 의해 의도적으로 발생되는 오류 정정을 위한 2t개의 패리티 키를 생성하는 오류 정정 코딩부를 포함하는 것을 특징으로 하는 워터마킹 장치.
  2. 제1항에 있어서, 상기 워터마킹 정보는 상기 k개의 심벌들중에서 워터마킹될 심볼의 위치 및 변형될 값의 크기에 대한 정보를 포함하고 있는 것을 특징으로 하는 워터마킹 장치.
  3. 제1항에 있어서,
    상기 2t개의 패리티 키 및 상기 워터마킹된 멀티미디어 심볼들을 각각 부호화하는 부호화기를 더 포함하는 것을 특징으로 하는 워터마킹 장치.
  4. (a)전송하고자 하는 멀티미디어 심벌로부터 워터마킹할 k개의 블록 심벌들을 추출하는 단계;
    (b)오류 정정 부호화를 통해 상기 (a)단계에서 추출된 k개의 심벌들중 t개의 심벌들에 상기 워터마킹에 의해 의도적으로 발생되는 오류를 정정할 수 있는 2t개의 패리티 키를 생성하는 단계;
    (c)워터마킹에 대한 정보를 가진 워터마킹 메시지에 따라 상기 추출된 k개의 심벌들중 t개의 워터마킹할 심벌들을 선택하는 단계;
    (d)상기 추출된 k개의 심벌들중 상기 (c)단계에서 선택된 t개의 블록 심벌들을 상기 워터마킹 메시지에 따라 변형하여 k개의 워터마킹된 멀티미디어 심벌들을 생성하는 단계; 및
    (e)상기 전송하고자 하는 멀티미디어 심벌들중 상기 (a)단계에서 추출된 k개의 심벌들을 상기 (d)단계에서 생성된 k개의 워터마킹된 심벌들로 대체하여 워터마킹된 멀티미디어 심벌들을 생성하는 단계를 포함하는 것을 특징으로 하는 워터마킹 방법.
  5. 제4항의 워터마킹 방법을 컴퓨터에서 실행가능한 프로그램 코드로 기록한 기록매체.
  6. 외부로부터 전송되는 워터마킹된 멀티미디어 심벌들중 k개의 심벌들을 추출하는 심벌 추출부;
    외부로부터 전송되는 2t개의 패리티 키를 이용하여, 상기 추출된 k개의 심벌들중 워터마크 삽입으로 인해 t개의 심벌들에 의도적으로 발생된 오류를 정정하여 오류 정정된 k개의 심벌들을 생성하는 오류 정정 복호화기; 및
    상기 추출된 k개의 심벌들과 상기 오류 정정된 k개의 심벌들을 비교하고, 비교 결과에 따라 소정의 워터마킹 정보를 포함하는 워터마크 메시지를 복원하는 워터마크 메시지 복원부를 구비하는 것을 특징으로 하는 워터마크 추출 장치.
  7. 제6항에 있어서, 상기 워터마크 메시지 복원부는
    상기 추출된 k개의 심벌들과 상기 오류 정정된 k개의 블록 심벌들을 비교하여 상기 워터마크 삽입으로 인해 심벌이 변화된 t개의 심벌들의 위치 및 변화된 양을 추출하는 비교부; 및
    상기 비교부에서 추출된 t개의 심벌들의 위치 및 변화된 양으로부터 원래의 워터마킹 메시지를 생성하는 워터마킹 메시지 생성부를 구비하는 것을 특징으로 하는 워터마크 추출 장치.
  8. (a)외부로부터 전송된 멀티미디어 심볼들중 k개의 심벌들을 추출하는 단계;
    (b)외부로부터 전송되는 2t개의 패리티 키를 이용하여 상기 (a)단계에서 추출된 k개의 심벌들에 워터마크 삽입으로 인해 존재하는 t개의 심벌 오류를 정정하여 오류 정정된 k개의 심벌들을 생성하는 단계;
    (c)상기 (a)단계에서 추출된 k개의 심벌들과 상기 오류 정정된 k개의 블록 심벌들을 비교하고, 비교 결과에 따라 워터마킹 정보를 포함하는 워터마크 메시지를 복원하는 단계를 포함하는 것을 특징으로 하는 워터마킹 추출 방법.
  9. 제8항에 있어서, 상기 (c)단계는
    (c1)상기 추출된 k개의 심벌들을 상기 오류 정정된 k개의 심벌들과 비교하여, 심벌이 변형된 t개의 심벌들의 위치 및 변형된 양을 추출하는 단계; 및
    (c2)상기 (c1) 단계에서 추출된 t개 심벌들의 위치 및 변형된 양으로부터 상기 워터마크 메시지를 복원하는 단계를 포함하는 것을 특징으로 하는 워터마크 추출 방법.
  10. 제8항 내지 제9항의 워터마크 추출 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체.
  11. 현재 입력되는 프레임과 이전 프레임과의 차 데이터를 이산코사인변환하는 이산코사인변환부;
    상기 이산코사인 변환된 데이터를 양자화하는 양자화부;
    상기 양자화부에서 양자화된 데이터로부터 워터마킹할 k개의 데이터를 선택하고, 선택된 k개의 양자화 데이터중 t개의 데이터를 외부로부터 입력되는 워터마크 메시지에 상응하여 그 값을 변화시켜 워터마킹하고, 상기 선택된 k개의 양자화 데이터들을 상기 변화에 의해 의도적으로 발생되는 오류에 대해 오류 정정 부호화하여 2t개의 패리티 키를 생성하는 워터마킹 장치;
    상기 워터마킹 장치에서 워터마킹된 데이터를 부호화하여 비트 스트림을 생성하는 가변 비트율 부호화기를 구비하고,
    상기 가변 스트림과 상기 2t개의 패리티 키를 전송하는 비디오 신호 워터마킹 시스템.
  12. 제11항에 있어서, 상기 워터마킹 장치는
    상기 양자화된 데이터로부터 워터마킹할 k개의 데이터를 선택하고, 선택된 k개의 데이터를 소정 비트 단위로 처리 가능한 심벌로 변환하여 k개의 심벌을 생성하는 심벌 추출부;
    상기 워터마크 메시지에 따라 상기 추출된 k개의 심벌들중 t개의 심벌을 선택하고, 선택된 t개의 심벌들을 상기 워터마크 메시지에 따라 변형하여 워터마킹된 k개의 심벌들을 생성하고, 워터마킹된 k개의 심벌들을 양자화 데이터로 변형하여 워터마킹된 비디오 신호를 생성하는 워터마크 삽입부; 및
    상기 추출된 k개의 심벌들에서 t개의 블록 심벌들에 발생되는 오류 정정을 위한 2t개의 패리티 키를 생성하는 오류 정정 코딩부를 포함하는 것을 특징으로 하는 비디오 신호 워터마킹 시스템.
  13. 현재 입력되는 프레임과 이전 프레임과의 차 데이터를 이산코사인변환하는 이산코사인 변환부;
    상기 이산코사인 변환부에서 이산코사인변환된 데이터로부터 워터마킹할 k개의 데이터를 선택하고, 선택된 k개의 이산코사인변환된 데이터중 t개의 데이터를 외부로부터 입력되는 워터마크 메시지에 상응하여 그 값을 변화시켜 워터마킹하고, 상기 선택된 k개의 이산코사인변환된 데이터들을 상기 변화에 의해 의도적으로 발생되는 오류에 대해 오류 정정 부호화하여 2t개의 패리티 키를 생성하는 워터마킹 장치;
    상기 워터마킹 장치에서 워터마킹된 데이터를 양자화하는 양자화부; 및
    상기 양자화부에서 양자화된 데이터를 부호화하여 비트 스트림을 생성하는 가변 비트율 부호화기를 구비하고,
    상기 가변 스트림과 상기 2t개의 패리티 키를 전송하는 비디오 신호 워터마킹 시스템.
  14. 비디오 신호 워터마킹 시스템에서, 매크로블록 단위로 압축되는 비디오 신호에 대해 워터마크를 수행할 매크로블록 선택 방법에 있어서,
    (a)매크로블록 단위로 분할된 비디오 프레임에서 각 매크로블록을 이루는 픽셀 계수들을 이용하여 각 매크로블록의 특성을 나타내는 하나의 심벌로 변환하는 단계;
    (b)상기 매크로블록 심벌들중 워터마크를 삽입하고자 하는 t개의 매크로블록 심벌의 값을 의도적으로 변형하는 단계;
    (c)매크로블록 심벌들중 t개의 매크로블록 심벌들이 상기 (b)단계에서의 의도적 변형에 의해 발생되는 오류 정정을 위한 2t개의 패리티 키를 생성하는 단계; 및
    (d)워터마크가 삽입된 매크로블록의 정보를 갖는 상기 2t개의 패리티 키를 전송하는 단계를 포함하는 것을 특징으로 하는 워터마크를 수행할 매크로블록 선택 방법.
  15. 제14항의 워터마크를 수행할 매크로블록 선택 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체.
  16. 비디오 신호 워터마킹 시스템에서, 매크로블록 단위로 압축되는 비디오 데이터에 대해 워터마킹하고자 하는 매크로블록의 워터마킹 방법에 있어서,
    (a)상기 워터마킹하고자 하는 매크로블록을 이루는 비디오 데이터중 워터마킹할 k개의 데이터를 추출하는 단계;
    (b)상기 (a)단계에서 추출된 k개의 비디오 데이터에 대해 소정 비트 단위로 처리 가능하도록 소정의 함수를 이용하여 k개의 심벌들을 생성하는 단계;
    (c)워터마크 메시지에 따라 상기 k개의 심벌들중 워터마킹하고자 하는 t개의 심벌들을 선택하고, 선택된 t개의 심벌들을 상기 워터마크 메시지에 따라 변형하여 워터마킹된 k개의 심벌을 얻는 단계;
    (d)상기 워터마킹된 k개의 심벌을 상기 (b)단계에서 이용된 함수의 역함수를 이용하여 상기 비디오 데이터 형태로 변환하여 워터마킹된 k개의 비디오 데이터를 생성하는 단계;
    (e)상기 워터마킹하고자 하는 매크로블록에서 상기 워터마킹할 k개의 데이터를 상기 (d)단계에서 생성된 워터마킹된 k개의 비디오 데이터로 대체하여 워터마킹된 매크로블록을 생성하는 단계; 및
    (f)상기 (b)단계에서 생성된 k개의 심벌들에서 워터마크를 삽입함에 의해 의도적으로 발생되는 t개의 심벌들에 대한 오류 정정을 위한 2t개의 패리티 키를 생성하는 단계를 포함하는 것을 특징으로 하는 매크로블록의 워터마킹 방법.
  17. 제16항에 있어서, 상기 비디오 데이터는 현재 프레임과 이전 프레임과의 차 데이터를 이산코사인변환한 계수인 것을 특징으로 하는 매크로블록의 워터마킹 방법.
  18. 제17항에 있어서, 상기 (a)단계에서 추출된 k개의 데이터는 직류(DC)값을 포함하지 않는 것을 특징으로 하는 매크로블록의 워터마킹 방법.
  19. 제16항에 있어서, 상기 비디오 데이터는 현재 프레임과 이전 프레임과의 차 데이터를 이산코사인변환한 계수를 양자화한 양자화 데이터인 것을 특징으로 하는 매크로블록의 워터마킹 방법.
  20. 제16항 내지 제19항중 어느 한 항의 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체.
  21. 외부에서 입력되는 비트 스트림을 가변길이 복호화하여 양자화 데이터를 생성하는 가변길이코드 복호화기;
    상기 양자화 데이터에서 워터마크를 추출할 k개의 데이터를 추출하고, 상기 비트 스트림과 함께 외부에서 입력되며, 워터마크 정보를 갖고 있는 패리티 키를 이용하여 상기 추출된 k개의 양자화 데이터중 워터마크 삽입으로 의도적으로 발생된 t개 데이터의 오류를 정정하여 워터마크 메시지 및 워터마크가 제거된 양자화 데이터를 추출하는 워터마크 추출 장치;
    상기 워터마크 추출 장치에서 출력되는 워터마크가 제거된 양자화 데이터를 역양자화 하여 이산코사인 변환 데이터를 추출하는 역양자화기;
    상기 역양자화기에서 추출된 이산코사인 변한 데이터를 역이산코사인 변환하여 현재 프레임과 이전 프레임간의 차 데이터를 생성하는 역이산코사인 변환기; 및
    상기 차데이터와 상기 이전 프레임을 가산하여 상기 현재 프레임에 대한 비디오 데이터를 생성하는 가산기를 구비하는 것을 특징으로 하는 비디오 신호에 삽입된 워터마크 추출 시스템.
  22. 제21항에 있어서, 상기 워터마크 추출 장치는
    상기 양자화 데이터로부터 워터마크를 추출할 k개의 데이터를 선택하고, 선택된 k개의 데이터를 소정 비트 단위로 처리 가능한 심벌로 변환하여 k개의 심벌을 추출하는 심벌 추출부;
    외부로부터 전송되는 2t개의 패리티 키를 이용하여, 상기 추출된 k개의 심벌들중 워터마크 삽입으로 인해 t개의 심벌들에 의도적으로 발생된 오류를 정정하여 워터마크가 제거된 k개의 심벌들을 생성하고, 워터마크가 제거된 k개의 심벌들을 양자화 데이터로 변환하여 워터마크가 제거된 양자화 데이터를 생성하는 오류 정정 복호화기; 및
    상기 추출된 k개의 심벌들과 상기 오류 정정된 k개의 심벌들을 비교하고, 비교 결과에 따라 소정의 워터마킹 정보를 포함하는 워터마크 메시지를 복원하는 워터마크 메시지 복원부를 구비하는 것을 특징으로 하는 비디오 신호에 삽입된 워터마크 추출 시스템. .
  23. 외부에서 입력되는 비트 스트림을 가변길이 복호화하여 양자화 데이터를 생성하는 가변길이코드 복호화기;
    상기 가변길이코드 복호화기에서 생성된 양자화 데이터를 역양자화 하여 이산코사인 변환 데이터를 추출하는 역양자화기;
    상기 이산코사인 변환 데이터에서 워터마크를 추출할 k개의 데이터를 추출하고, 상기 비트 스트림과 함께 외부에서 입력되며, 워터마크 정보를 갖고 있는 패리티 키를 이용하여 상기 추출된 k개의 이산코사인 변환 데이터중 워터마크 삽입으로 의도적으로 발생된 t개 데이터의 오류를 정정하여 워터마크 메시지 및 워터마크가 제거된 이산코사인 변환 데이터를 추출하는 워터마크 추출 장치;
    상기 워터마크 추출 장치에서 추출된 워터마크가 제거된 이산코사인 변한 데이터를 역이산코사인 변환하여 현재 프레임과 이전 프레임간의 차 데이터를 생성하는 역이산코사인 변환기; 및
    상기 차데이터와 상기 이전 프레임을 가산하여 상기 현재 프레임에 대한 비디오 데이터를 생성하는 가산기를 구비하는 것을 특징으로 하는 비디오 신호에 삽입된 워터마크 추출 시스템.
  24. 매크로블록 단위로 압축되어 전송되는 워터마킹된 비디오 신호 처리 시스템에서, 워터마킹된 매크로블록의 추출 방법에 있어서,
    (a)매크로블록 단위로 분할된 비디오 프레임에서 각 매크로블록을 이루는 픽셀 계수들을 이용하여 각 매크로블록의 특성을 나타내는 하나의 심벌로 변환하는 단계; 및
    (b)외부로부터 상기 워터마킹된 비디오 신호와 함께 전송되며 워터마크가 삽입된 매크로블록의 위치 정보를 갖는 2t개의 패리티 키를 이용하여 워터마크 삽입으로 인한 매크로블록 심벌들에 존재하는 오류를 정정하는 단계; 및
    (c)오류가 발생된 위치를 추출하여 워터마킹된 매크로블록의 위치를 추출하는 단계를 포함하는 것을 특징으로 하는 워터마킹된 매크로블록의 추출 방법.
  25. 매크로블록 단위로 압축되어 전송되는 워터마킹된 비디오 신호 처리 시스템에서, 워터마킹된 매크로블록에 삽입된 워터마크의 추출 방법에 있어서,
    (a)상기 워터마킹된 매크로블록을 이루는 비디오 데이터에서 k개의 데이터를 추출하는 단계;
    (b)상기 (a)단계에서 추출된 k개의 비디오 데이터에 대해 소정 비트 단위로 처리 가능하도록 소정의 함수를 이용하여 k개의 심벌들을 생성하는 단계;
    (c)외부로부터 상기 워터마킹된 비디오 신호와 함께 전송되며 워터마크가 삽입 정보를 갖는 2t개의 패리티 키를 이용하여 워터마크 삽입으로 인해 상기 k개의 심벌들에 존재하는 오류를 정정하여 워터마크 삽입에 의한 t개의 오류 심벌의 위치 및 오류의 양을 추출하는 단계; 및
    (d)상기 (c)단계에서 추출된 t개의 오류 심벌의 위치 및 오류의 양에 따라 삽입된 워터마크를 추출하는 단계를 포함하는 것을 특징으로 하는 매크로블록에 삽입된 워터마크의 추출 방법.
  26. 제25항에 있어서, 상기 비디오 데이터는 현재 프레임과 이전 프레임과의 차 데이터가 이산코사인변환된 계수인 것을 특징으로 하는 매크로블록에 삽입된 워터마크의 추출 방법.
  27. 제25항에 있어서, 상기 비디오 데이터는 현재 프레임과 이전 프레임과의 차 데이터가 이산코사인변환된 계수의 양자화 데이터인 것을 특징으로 하는 매크로블록에 삽입된 워터마크의 추출 방법.
  28. 제25항 내지 제27항중 어느 한 항의 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체.
  29. 미디어 데이터에 워터마크를 삽입하여 워터마킹된 미디어 데이터를 생성하는 워터마킹부; 및
    상기 워터마크의 추출을 위한 키 값과 상기 워터마킹된 미디어 데이터를 입 력하고, 상기 키 값을 이용하여 상기 워터마킹된 미디어 데이터로부터 워터마크를 추출하여 추출된 워터마크와 상기 워터마크간의 오류보상을 위한 오류보상 데이터를 생성하고, 생성된 오류보상 데이터와 상기 키 값을 부호화하여 메타 데이터로서 생성하는 오류보상부를 포함하는 것을 특징으로 하는 워터마킹 장치.
  30. 제29항에 있어서, 상기 오류 보상부는
    상기 키 값과 상기 워터마킹된 미디어 데이터를 입력하고, 상기 키 값을 이용하여 상기 워터마킹된 미디어 데이터로부터 워터마크를 추출하는 워터마크 추출부;
    상기 워터마크와 상기 추출된 워터마크를 입력하고, 보정키에 상응하여 상기 워터마크와 상기 추출된 워터마크를 이용한 소정의 함수를 발생하고, 발생된 함수의 계산 결과를 오류 보상값으로서 생성하는 함수 발생부; 및
    상기 보상키, 상기 함수의 특성을 나타내는 파라메터 및 상기 오류 보상값을 포함하는 상기 오류보상 데이터와 상기 키 값을 혼합 및 부호화하고, 부호화된 데이터를 상기 메타 데이터로서 출력하는 메타 데이터 부호화기를 포함하는 것을 특징으로 하는 워터마킹 장치.
  31. (a)미디어 데이터에 워터마크를 삽입하여 워터마킹된 미디어 데이터를 생성하는 단계;
    (b)상기 워터마크의 추출에 이용되는 키 값을 이용하여 상기 워터마킹된 미 디어 데이터로부터 상기 워터마크를 추출하는 단계;
    (c)상기 워터마크와 상기 (b)단계에서 추출된 워터마크 사이의 오차를 보상하기 위한 오류보상 데이터를 생성하는 단계; 및
    (d)상기 오류보상 데이터와 상기 키 값을 혼합하여 부호화하고, 부호화된 데이터를 메타 데이터로서 생성하는 단계를 포함하는 것을 특징으로 하는 워터마킹 방법.
  32. 제31항에 있어서, 상기 (c) 및 (d)단계는
    (c1)소정의 보정키를 이용하여, 상기 워터마크와 상기 추출된 워터마크로 이루어지는 소정의 함수를 발생하는 단계;
    (c2)상기 (c1)단계에서 발생된 함수를 계산하고, 계산 결과를 오류 보상값으로서 발생하는 단계; 및
    (c3)상기 보상키, 상기 함수의 특성을 나타내는 파라메터 및 상기 오류 보상값을 포함하는 상기 오류보상 데이터와 상기 키 값을 혼합 및 부호화하고, 부호화된 데이터를 상기 메타 데이터로서 생성하는 단계를 포함하는 것을 특징으로 하는 워터마킹 방법.
  33. 제31항 또는 제32항의 워터마킹 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체.
  34. 외부로부터 전송되는 워터마크에 대한 정보를 포함하고 있는 메타 데이터를 파징하여, 워터마크 추출시 발생되는 오류 보상을 위한 소정의 오류 보상 데이터와 워터마크 추출에 이용되는 키 값을 추출하는 메타 데이터 파저;
    외부로부터 전송되는 워터마킹된 미디어 데이터에 삽입된 워터마크를 상기 키 값을 이용하여 추출하는 워터마크 추출부; 및
    상기 키 값을 이용하여 추출된 워터마크에 존재할 수 있는 오류를 상기 소정의 오류 보상 데이터를 이용하여 보상하여 오류 보상된 워터마크를 생성하는 오류 보상부를 포함하는 것을 특징으로 하는 워터마크 추출 장치.
  35. 제34항에 있어서, 상기 메타 데이터 파저에서 추출된 상기 오류 보상 데이터는 상기 추출된 워터마크의 오류를 보상을 위한 소정의 함수 발생을 위한 보정키 및 오류를 보상하기 위한 오류 보상값을 포함하고,
    상기 워터마크 오류 보상부는,
    상기 보상키에 상응하여 상기 추출된 워터마크와 상기 오류 보상 워터마크를 변수로 하는 소정의 함수를 발생하고, 발생된 함수의 특성을 나타내는 파라메터를 출력하는 함수 발생부; 및
    상기 추출된 워터마크, 상기 오류 보상값 및 상기 함수 파라메터를 이용하여 상기 함수 발생부에서 발생된 함수를 계산하여 하여 상기 오류 보상된 워터마크를 구하는 오류 보상부를 포함하는 것을 특징으로 하는 워터마크 추출 장치.
  36. (a)외부로부터 전송되는 워터마크에 대한 정보를 포함하고 있는 메타 데이터를 파징하여, 워터마크 추출시 발생되는 오류 보상을 위한 소정의 오류 보상 데이터와 워터마크 추출에 이용되는 키 값을 추출하는 단계;
    (b)외부로부터 전송되는 워터마킹된 미디어 데이터에 삽입된 워터마크를 상기 키 값을 이용하여 추출하는 단계;
    (c)상기 키 값을 이용하여 추출된 워터마크에 존재할 수 있는 오류를 상기 소정의 오류 보상 데이터를 이용하여 보상하여 오류 보상된 워터마크를 생성하는 단계를 포함하는 것을 특징으로 하는 워터마크 추출 방법.
  37. 제36항에 있어서, 상기 (a)단계에서 추출된 상기 오류 보상 데이터는 상기 추출된 워터마크의 오류를 보상을 위한 소정의 함수 발생을 위한 보정키 및 오류를 보상하기 위한 오류 보상값을 포함하고,
    상기 (c)단계는
    (c1)상기 보상키에 상응하여 상기 추출된 워터마크와 상기 오류 보상 워터마크를 변수로 하는 소정의 함수를 발생하고, 발생된 함수의 특성을 나타내는 파라메터를 발생하는 단계; 및
    (c2)상기 추출된 워터마크, 상기 오류 보상값 및 상기 함수 파라메터를 이용하여 상기 (c1)단계에서 발생된 함수를 계산해 상기 오류 보상된 워터마크를 구하는 단계를 포함하는 것을 특징으로 하는 워터마크 추출 방법.
  38. 제36항 또는 제37항의 워터마크 추출 방법을 컴퓨터에서 실행가능한 프로그램 코드로 기록한 기록 매체.
KR1020010070731A 2001-11-14 2001-11-14 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법 KR100612830B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010070731A KR100612830B1 (ko) 2001-11-14 2001-11-14 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010070731A KR100612830B1 (ko) 2001-11-14 2001-11-14 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법

Publications (2)

Publication Number Publication Date
KR20030039705A KR20030039705A (ko) 2003-05-22
KR100612830B1 true KR100612830B1 (ko) 2006-08-18

Family

ID=29569381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010070731A KR100612830B1 (ko) 2001-11-14 2001-11-14 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법

Country Status (1)

Country Link
KR (1) KR100612830B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010064830A2 (ko) * 2008-12-01 2010-06-10 주식회사 케이티 워터마크 삽입 장치 및 방법
KR101482146B1 (ko) 2008-06-26 2015-01-13 주식회사 케이티 위치 정보가 삽입된 워터마킹 이미지 생성 시스템 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383639B1 (ko) * 2013-11-07 2014-04-10 주식회사 알아이 이미지 블록 선택 기반의 데이터 은닉 장치 및 방법
KR102114073B1 (ko) * 2019-02-26 2020-05-25 주식회사 디알엠인사이드 전자책 복제 방지를 지원하는 서비스 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980042061A (ko) * 1996-11-05 1998-08-17 가네코 히사시 디지탈 워터마크 삽입 및 추출 방법
EP0901276A2 (en) * 1997-09-02 1999-03-10 Hitachi, Ltd. Data transmission method for embedded data, data transmitting and reproducing apparatures and information recording medium therefor
JPH1186436A (ja) * 1997-09-16 1999-03-30 Toshiba Corp 電子透かしを利用したコピープロテクトシステム
KR20000007020A (ko) * 1999-11-19 2000-02-07 원치선 데이터 감춤 기법을 이용한 채널 공유 방법
KR20000076515A (ko) * 1999-01-26 2000-12-26 포만 제프리 엘 추가 메시지 부착 방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980042061A (ko) * 1996-11-05 1998-08-17 가네코 히사시 디지탈 워터마크 삽입 및 추출 방법
EP0901276A2 (en) * 1997-09-02 1999-03-10 Hitachi, Ltd. Data transmission method for embedded data, data transmitting and reproducing apparatures and information recording medium therefor
JPH1186436A (ja) * 1997-09-16 1999-03-30 Toshiba Corp 電子透かしを利用したコピープロテクトシステム
KR20000076515A (ko) * 1999-01-26 2000-12-26 포만 제프리 엘 추가 메시지 부착 방법 및 그 장치
KR20000007020A (ko) * 1999-11-19 2000-02-07 원치선 데이터 감춤 기법을 이용한 채널 공유 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101482146B1 (ko) 2008-06-26 2015-01-13 주식회사 케이티 위치 정보가 삽입된 워터마킹 이미지 생성 시스템 및 방법
WO2010064830A2 (ko) * 2008-12-01 2010-06-10 주식회사 케이티 워터마크 삽입 장치 및 방법
WO2010064830A3 (ko) * 2008-12-01 2010-08-19 주식회사 케이티 워터마크 삽입 장치 및 방법

Also Published As

Publication number Publication date
KR20030039705A (ko) 2003-05-22

Similar Documents

Publication Publication Date Title
Hartung et al. Digital watermarking of MPEG-2 coded video in the bitstream domain
Hartung et al. Digital watermarking of raw and compressed video
Hartung et al. Watermarking of MPEG-2 encoded video without decoding and reencoding
EP0928110B1 (en) Image signal processing for electronic watermarking
US5809139A (en) Watermarking method and apparatus for compressed digital video
US8032758B2 (en) Content authentication and recovery using digital watermarks
JP2004507177A (ja) デジタル画像データへ電子透かしを埋め込む方法
JP2002319924A (ja) データ信号処理方法及びその装置
JPH11252355A (ja) ウォ―タマ―クをディジタル画像又は画像シ―ケンスに組み込むための方法及び装置
EP2257068A2 (en) Method for inserting watermark assistance data in a bitstream and bitstream comprising the watermark assistance data
Hartung et al. Copyright protection in video delivery networks by watermarking of pre-compressed video
EP2605537B1 (en) Device for generating watermark metadata, associated device for embedding watermark
JP2006314097A (ja) 符号化装置及び符号化方法
EP1692874A2 (en) Method and apparatus for encoding or decoding a bitstream
JP2002305730A (ja) 埋込データ及び埋込データを検出し、回復する方法及び装置
US6724913B1 (en) Digital watermarking
TWI533670B (zh) 位元串流型式之畫像的解碼方法
WO2008147142A2 (en) Method and system of inserting watermark for h.264/avc video stream
KR100612830B1 (ko) 신뢰성 높은 워터마킹 및 워터마크 추출 장치와 그 방법
JP5006631B2 (ja) ビデオデータ符号化装置、ビデオデータ復号化装置、ビデオデータ符号化方法およびビデオデータ復号化方法
US20050025336A1 (en) Method and apparatus for compressed-domain watermarking
Adsumilli et al. A hybrid constrained unequal error protection and data hiding scheme for packet video transmission
US6687824B1 (en) Digital image coding/decoding apparatus and method for recording and restoring a signature image using watermarking
Chung et al. Development of Video Watermarking for MPEG2 video
Adsumilli et al. Error concealment in video communications using DPCM bit stream embedding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20040806

Effective date: 20060526

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee