KR101065122B1 - 데이터의 핑거프린팅 - Google Patents

데이터의 핑거프린팅 Download PDF

Info

Publication number
KR101065122B1
KR101065122B1 KR1020057024727A KR20057024727A KR101065122B1 KR 101065122 B1 KR101065122 B1 KR 101065122B1 KR 1020057024727 A KR1020057024727 A KR 1020057024727A KR 20057024727 A KR20057024727 A KR 20057024727A KR 101065122 B1 KR101065122 B1 KR 101065122B1
Authority
KR
South Korea
Prior art keywords
medium
segments
input
marked
input data
Prior art date
Application number
KR1020057024727A
Other languages
English (en)
Other versions
KR20060033867A (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 소니 주식회사
Publication of KR20060033867A publication Critical patent/KR20060033867A/ko
Application granted granted Critical
Publication of KR101065122B1 publication Critical patent/KR101065122B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00884Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a watermark, i.e. a barely perceptible transformation of the original data which can nevertheless be recognised by an algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • 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]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0064Image watermarking for copy protection or copy management, e.g. CGMS, copy only once, one-time copy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Image Processing (AREA)
  • Connection Of Plates (AREA)
  • Dc Digital Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Systems (AREA)
  • Studio Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

핑거프린팅 장치는 복수의 입력 데이터세트 -복수의 입력 데이터세트 각각은 복수의 입력 세그먼트들로 분할되고, 복수의 입력 데이터세트 중 적어도 하나는 고유하게 표시됨- 를 수신하는 복수의 수신부; 복수의 입력 데이터세트 중 적어도 2개의 상이한 입력 데이터세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하는 선택기; 및 출력 세그먼트의 개수가 각 입력 데이터세트의 입력 세그먼트의 개수와 동일하게 되도록, 선택된 적어도 하나의 입력 세그먼트를 정렬하여 복수의 출력 세그번트를 갖는 출력 데이터베이스를 생성하는 적어도 하나의 조합기를 포함한다.
핑거프린팅, 세그먼트, 데이터베이스,

Description

데이터의 핑거프린팅{FINGERPRINTING OF DATA}
본 출원은 함께 출원중인 미국가출원 제60/480,687호(2003.6.23 출원, "마킹된 컨텐츠와 마칭되지 않은 컨텐츠의 의사 랜덤 조합을 이용하는 데이터의 핑거 프린팅")의 우선권을 주장한다. 본 출원은 또한 미국 가출원 제60/491,763호(2003.7.31 출원, "데이터의 핑거프린팅")의 우선권을 주장한다. 2003.6.23과 2003.7.31자의 우선일은 이하에서 주장되며, 이들 가출원의 출원 내용은 이하에 참고로 합체된다.
인터넷의 급속한 성장과, 그 결과적인 디지털 데이터의 복사 및 유포 가능성은 불법적인 활동을 방지하며 해적본과 연관된 문제에 대해 저작권 소유자를 보호하기 위한 방법에 대한 요구를 증가시키게 했다. 예컨대, 비인가 복사본은 디지털 데이터의 인가 분배 카피(예컨대, 상업적 카피)로 이루어질 수도 있다. 워터마크는, 디지털 데이터의 주어진 문서를 비인가 또는 불법적인 유포 카피를 비교함에 의해 이 문서가 저작권 소유자 자신의 지적재산이라는 증거를 저작권 소유자에게 제공할 수 있다. 비인가 카피의 확산을 단념, 방지 및 금지하기 위하여, 비인가 카피를 만드는데 사용된 특정 분배 카피를 결정함에 의해 비인가 카피의 소스를 아는 것이 종종 사용된다. 그러나, 비인가 카피를 생성하는데 사용되는 분배 카피를 식별하기 위해 워터마킹을 사용하는 것은 어려울 수 있다.
디지털 워터마킹은 비인가 또는 불법 유포 카피의 소스를 결정하는데 사용될 수 있다. 예컨대, 디지털 워터마킹을 이용하여 문서가 보안될 때, 그 문서의 전자 분배 카피를 어느 소비자가 수신했는지를 식별하는 식별자는 저작권 소유자의 워터마크와 함께 문서 내에 미미하게 임베디드될 수 있다. 소비자가 저작권 소유자의 이익에 반하게 분배 카피를 유포하는 경우, 소비자는 비인가 또는 불법 유포 카피 모두에 포함되는 디지털 워터마크에 기초하여 식별될 수 있다. 그러나, 많은 수의 분배 카피가 많은 수의 다른 소비자에게 합법적으로 유포될 때, 각 분배 카피의 개별적인 디지털 워터마킹은 불편하고 시간 소모적인 것으로 판명되었다.
본 발명은 데이터의 핑거프린팅을 구현하기 위한 방법 및 장치를 제공한다. 일 구현에서, 핑거프린팅 방법은, 각각이 복수의 입력 세그먼트로 분할되며 적어도 하나가 고유하게 마킹되는 복수의 입력 데이터세트를 수신하는 단계와, 상기 복수의 입력 데이터세트 중 적어도 2개의 다른 입력 데이터세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하는 단계와, 복수의 출력 세그먼트를 갖는 출력 데이터세트를 생성하기 위해 선택된 적어도 하나의 입력 세그먼트를 정렬하여 출력 세그먼트의 수가 각 입력 데이터세트 내의 입력 세그먼트의 수와 동일하게 하는 단계를 포함한다.
다른 구현에서, 핑거프린팅 장치는, 각각이 복수의 입력 세그먼트로 분할되며 적어도 하나가 고유하게 마킹되는 복수의 입력 데이터세트를 수신하기 위한 복수의 수신단과, 상기 복수의 입력 데이터세트 중 적어도 2개의 다른 입력 데이터세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하기 위한 선택기와, 복수의 출력 세그먼트를 갖는 출력 데이터세트를 생성하기 위해 선택된 적어도 하나의 입력 세그먼트를 정렬하여 출력 세그먼트의 수가 각 입력 데이터세트 내의 입력 세그먼트의 수와 동일하게 하는 적어도 하나의 조합기를 포함한다.
또 다른 구현에서, 매체를 핑거프인팅하기 위한 핑거프린팅 시스템은, 복수의 매체 세그먼트로 분할된 상기 매체를 수신하기 위한 수신기와, 상기 매체를 마킹하며, 각각이 복수의 마킹된 매체 세그먼트로 분할된 적어도 하나의 마킹된 매체를 생성하는 제1 인코더와, 상기 매체와 적어도 하나의 마킹된 매체를 압축하기 위한 제2 인코더와, 상기 매체중 하나와 적어도 하나의 마킹된 매체로부터 적어도 하나의 매체 또는 마킹된 매체 세그먼트를 선택하기 위한 선택기와, 복수의 핑거프린팅 세그먼트를 갖는 핑거프린팅 매체를 생성하기 위해 선택된 적어도 하나의 매체 또는 마킹된 매체 세그먼트를 정렬하여 핑거프린팅된 세그먼트의 수가 각 매체 또는 마킹된 매체 내의 매체 또는 마킹된 매체 세그먼트의 수와 동일하게 하는 적어도 하나의 조합기를 포함한다.
다른 구현에서, 매체의 소스를 식별하는 방법은, 상기 매체를 수신하는 단계와, 상기 매체를 형성하도록 배열된 복수의 세그먼트를 식별하는 단계와, 복수의 세그먼트의 배열로부터 RMK(Representative Master Key)를 생성하는 단계와, 핑거프린트와 연결된 소스 및 핑거프린팅을 수신하는 단계와, RMK를 핑거프린팅과 비교하는 단계를 포함한다.
도 1은 2개의 마스터를 이용하여 핑거프린트된 컨텐츠를 생성하는 프로세스의 구현을 도시한다.
도 2는 데이터의 핑거프린팅을 구현하는 방법을 도시한다.
도 3은 3개의 마스터를 5개의 세그먼트 각각과 비교하는 도면을 도시한다.
도 4는 DVD 패키징 매체를 생성하기 위한 핑거프린팅 프로세스의 일 가능한 구현을 도시한다.
도 5는 일 구현에 따라, DVD 패키징 매체를 생성하기 위한 핑거프린팅 프로세스의 다른 가능한 구현을 도시한다.
도 6은 입력 마스터의 세그먼트를 프로세스하도록 구성된 세그먼트 재조합기의 상세한 도면을 도시한다.
도 7은 다운로드된 매체의 고유 핑거프린트 버전을 생성하기 위해 2개의 매체 파일을 세그먼트화 조합하는 일 구현을 도시한다.
도 8은 주문형 비디오 컨텐츠의 고유 핑거프린트 버전을 생성하기 위해 2개의 매체 파일을 세그먼트화 조합하는 일 구현을 도시한다.
도 9는 RMK 및 KS를 이용하는 일 구현에 따라 매체의 소스를 식별하는 방법을 도시한다.
본 명세서에는 핑거프린팅 매체 생성 및 시스템 견고성(robustness)에 보다 큰 효율을 제공하는 시스템 및 방법이 개시된다.
일 구현에서, 핑거프린팅 시스템은 마킹된 그리고 마킹되지 않은 컨텐츠의 의사 랜덤 조합을 이용하는 데이터의 핑거프린팅을 제공한다. 핑거프린팅된 데이터는 포렌식스(forensics)를 이용하여 컨텐츠를 고유하게 식별하는데 사용될 수 있다. 이 시스템은 다양한 타입의 데이터, 예컨대 비디오 및 오디오 기본 데이터 또는 멀티플렉싱된 스트림에 적용가능하다. 이 시스템은 DVD 및 비디오 테이프와 같은 패키징 매체, 인터넷으로부터 다운로드된 컨텐츠, 및/또는 임의의 다른 매체에 또한 적용가능할 수 있다.
도 1은 제1 마스터(100) 및 제2 마스터(102)를 이용하여 핑거프린팅된 컨텐츠를 생성하기 위한 프로세스의 구현을 도시한다. 다른 구현에서, 예컨대 3 이상의 다른 수의 마스터가 사용될 수 있다. 이 프로세스는 복수의 마스터(mi)를 생성하는데 관련되며, 여기서 인덱스 i는 i번째 마스터이다. 제1 마스터(100)는 마킹되지 않았다. 제2 마스터(102)는 예컨대 디지털 워터마킹 기술을 이용함에 의해 고유하게 마킹된다. 3개 이상의 마스터를 갖는 다른 구현에서, 일 마스터는 마킹되지 않으며, 다른 마스터들 각각은 고유하게 마킹된다(예컨대, 제2 마스터는 제3 마스터와 다르게 마킹된다). 다른 구현에서, 각 마스터는 고유하게 마킹된다.
마스터(100, 102)는 n 부분 또는 세그먼트로 분할된다. 마킹되지 않은 마스터(100) 내의 각 세그먼트는 동일 크기를 가지며, 마킹된 마스터(102)의 대응하는 세그먼트와 동일한 컨텐츠를 가진다(예컨대, 마스터(100)의 세그먼트 1은 마스터(102)의 세그먼트 1과 동일 크기를 가지며, 동일 컨텐츠를 포함한다). 이런 방식 으로, 카피(104, 106)는 후술되는 바와 같이 다른 마스터(100, 102)로부터 세그먼트를 의사 랜덤하게 조합함에 의해 생성될 수 있다. 마킹되지 않은 마스터(100)의 컨텐츠가 마킹된 마스터(102)의 컨텐츠와 동일하다 할지라도, 각 마스터는 다른 마킹을 가진다. 예컨대, 마킹되지 않은 마스터(100)의 제1 세그먼트는 마킹된 마스터(102)의 제1 세그먼트와 동일한 컨텐츠를 가지나, 마킹되지 않은 마스터(100)의 제1 세그먼트는 마킹되지 않고, 마킹된 마스터(102)의 제1 세그먼트는 마킹된다. 그 결과, 대응하는 세그먼트 내의 기본 정보는, 데이터가 컨텐츠에 영향을 미치지 않는 방식에서 다르나 세그먼트를 구별하게 한다 할지라도, 동일하다(마킹되지 않고 워터마킹된 데이터를 비교할 때 이는 전형적이다).
m 마스터로부터 n 각각의 세그먼트의 조합의 의사 랜덤 발생에 기초로 하여, 마스터의 카피는 마스터와 동일한 n개의 각 세그먼트를 포함하며 생성되나, 각 세그먼트는 의사 랜덤하게 선택된 마스터로부터 취해진다. 세그먼트는 의사 랜덤 방식으로 선택 및 조합(조합(concatenated))되어 이들 n개의 세그먼트가 핑거프린트의 의사 랜덤하게 발생된 시퀀스를 갖는 카피를 생성하게 한다. 카피용 핑거프린트는 카피 내의 각 세그먼트에 대한 소스 마스터를 식별한다. 따라서, 의사 랜덤 발생은 충분히 명확한 핑거프린트가 각 카피에 대해 발생될 수 있도록 구성된다. 복수의 의사 랜덤 수는 마스터로부터 세그먼트를 의사 랜덤하게 할당하여 생성되어, 충분히 명확한 핑거프린트가 세그먼트 조합의 패턴을 반복함이 없이 모든 카피에 할당될 수 있게 한다. 따라서, 생성된 의사 랜덤 수는 소정 카피의 수와 동일 또는 이를 초과해야만 한다.
데이터의 전술한 핑거프린팅을 구현하는 방법은 도 2에 도시된 플로우챠트에 도시된다. 200에서 각 마스터가 복수의 세그먼트로 분할되어 있는 복수의 마스터가 수신되며, 각 마스터가 고유하게 마킹(예컨대, 디지털 워터마킹)된다. 일 구현에서, 일 마스터는 마킹되지 않은 채 남는다. 마스터 내의 제1 세그먼트는 다른 마스터 각각의 제1 세그먼트에 대응한다. 일 구현에서, 각 세그먼트는, 세그먼트 내의 각 마킹(또는 마킹의 결여)에 기인하여 다른 마스터의 대응하는 세그먼트와 구별가능하다(세그먼트가 속하는 마스터가 결정될 수 있다). 다른 구현에서, 모든 세그먼트가 대응하는 세그먼트로부터 구별될 수 있는 것은 아니다.
202에서는 적어도 2개의 다른 마스터 중 하나로부터 적어도 하나의 세그먼트가 선택된다. 그 후 204에서 핑거프린트가 생성된다. 일 구현예에서, 핑거프린트는 의사 랜덤 수 시퀀스이다. 206에서, 선택된 세그먼트는 출력 데이터세트를 생성하기 위해 핑거프린트에 기초하여 정렬되어, 출력 데이터세트 내의 세그먼트의 수가 각 마스터 내의 세그먼트 수와 동일하게 된다. 세그먼트를 선택 및 정렬하는 예는 도 3을 참고로 후술된다. 생성된 출력 데이터세트는 분배 카피를 생성하기 위하여, 208에서 패키징된 매체(예컨대, CD 또는 DVD 상에서 버닝된, VHS 테이프 상에 복사된)와 같은 매체의 물품 상에 저장된다. 핑거프린트는 210에서 패키징된 매체로 연결되며, 이 연결은 저장된다(예컨대, 핑거프린트, 특정 매체 아이템을 식별하는 ID 코드, 및 아이템을 수신하도록 소비자를 식별하는 ID 코드는 데이터베이스 테이블 엔트리에 저장된다).
의사 랜덤 수 발생기는 세그먼트가 선택 및 정렬되는 패턴을 결정한다. 따 라서, 발생기는 반복 없이 의사 랜덤 수의 충분히 큰 수를 생성해야만 한다. 일 구현예에서, 발생기는 각 세그먼트에 대해 일 디지트를 포함하는 수를 생성하며, 각 디지트는 1에서 마스터의 수까지의 범위를 가진다. 각 디지트는 카피 내의 세그먼트에 대응하며, 디지트의 값은 어느 마스터로부터 세그먼트가 복사되는지를 나타낸다. 다른 구현에서, 발생기는 디지트로서 각 세그먼트에 대해 적당한 수를 발생하며, 디지트를 패턴과 함께 수집한다.
예를 들면, 도 3에 나타난 바와 같이, 만일 3개의 마스터들(1, 2, 3)이 있고, 각 마스터가 5개의 세그먼트들로 분할되는 경우, 의사-랜덤 수 생성기는 값 1 내지 3의 범위에 있는 각 디지트를 갖는 5-디지트 수를 생성하며, 이는 '13213' 및 '22131'과 같은 수 패턴을 생성한다. 이들 의사-랜덤 수 패턴은 소스 마스터의 세그먼트를 표시하는 수 패턴의 각 디지트를 각기 갖는 카피 1 및 카피 2의 세그먼트를 생성하는데 사용될 수 있다.
예를 들면, 마스터 1의 세그먼트들은 1 내지 5의 범위에 있는 일련의 숫자들로 표현되고, 마스터 2의 세그먼트들은 1' 내지 5'의 범위에 있는 일련의 숫자들로 표현되며, 마스터 3의 세그먼트들은 1" 내지 5"의 범위에 있는 일련의 숫자들로 표현된다. 도 3의 도시 예에서, 의사-랜덤 수 생성기는 카피 1에는 의사-랜덤 수 시퀀스 '13213'가 할당되고 카피 2에는 의사-랜덤 수 시퀀스 '22131'이 할당된다. 따라서, 카피 1의 시퀀스 '13213'은 세크먼트 1이 마스터 1로부터 복사되고, 세그먼트 2가 마스터 3으로부터 복사되는 것 등을 표시한다. 따라서, 카피 1 세그먼트는 1-2"-3'-4-5"로서 생성될 수 있다. 카피 2 세그먼트는 1'-2'-3-4"-5로서 유사 하게 생성될 수 있다. 각 카피에 대한 의사-랜덤 수 시퀀스는 데이터베이스에 저장될 수 있고 데이터를 요구하는 특정 사용자 및/또는 데이터를 저장한 매체의 기사에게 링크될 수 있다, 이들 데이터베이스 엔트리들은 나중에 소스 식별용으로 사용될 수 있다.
핑거프린팅 매체 생성 및 시스템 견고성의 효율을 제공하기 위해, 의사-랜덤 수 시퀀스의 수를 결정하는 팩터들이 분석될 수 있다. 예를 들면, 가능한 개별 핑거프린트들의 수는 3가지 팩터, 즉 마스터의 개수(m), 마스터 내의 세그먼트들의 개수(n), 및 상호교환가능한 세그먼트의 최소 개수(k)에 의해 결정된다. 이들 팩터를 이용하여, 조합의 개수(c)는 다음과 같이 결정될 수 있다.
만일 n까지의 세그먼트들이 상호교환 가능하다면, 조합의 개수는 다음과 같이 결정된다.
Figure 112005075663130-pct00001
만일 n개 중에서 k까지의 세그먼트들이 상호교환 가능하다면, 조합의 개수는 다음과 결정된다.
Figure 112005075663130-pct00002
만일 n개 중에서 정확하게 k개의 세그먼트들이 상호교환 가능하다면, 조합의 개수는 다음과 같이 결정된다.
Figure 112005075663130-pct00003
여기서,
Figure 112005075663130-pct00004
는 한번에 k'를 취한 n개의 조합을 나타내고,
Figure 112005075663130-pct00005
는 한번에 k를 취한 n개의 조합을 나타낸다.
예를 들면, 만일 120분 무비용으로 2개의 마스터(m=2)가 있고, 각 마스터는 60개의 세그먼트(n=60)로 분할되며 60개의 세그먼트 중 단지 20개의 세그먼트(k=20)만이 상호교환가능하다면, 수학식 2를 이용하여, 고유 조합의 개수는 4,191,844,505,805,495(4000조 이상)로 결정된다. 좀 더 간단한 셋업의 경우, 2개의 마스터(m=2)가 있고, 각 마스터는 20개의 세그먼트(n=20)를 가지며, 모든 20개의 세그먼트들은 상호교환가능하다고 가정하자. 수학식 1을 이용하여, 가능한 조합의 개수는 1,048,576으로 결정된다. 표 1은 조합들이 마스터들 및 세그먼트들의 개수를 가지고 어떻게 스케일링되는지를 나타낸다(c에 대한 값은 더 큰 수로 근사화되었다).
Figure 112005075663130-pct00006
상술한 데이터 핑거프린팅 기술은 물리적 패키지들이 전송용으로 생성되는 다양한 서로 다른 매체에 적용될 수 있다. 예를 들면, 데이터의 핑거프린팅은 필름을 리뷰하기 위한 아카데미 멤버들에게 전송된 DVD 패키지화된 매체("아카데미 스크리너"), 인터넷으로부터 다운로드된 콘텐트 매체, 또는 케이블 전송된 VOD(Video-on-demand)에 적용될 수 있다. 이들 각각의 어플리케이션들은 이하 상세히 기술된다. 그 밖의 어플리케이션들로는, 홈 네트워킹, 고객 맞춤 주문형 CD/DVD 컴필레이션, 클라이언트측 "버닝" 온 CD/DVD 기록가능한 매체, 및 다른 관련 매체가 있다. 또한, 핑거프린팅 기술은 스위치를 이용하여 아날로그 천킹(analog chunking)에 휴대가능하다.
아카데미 스크리너 매체(예를 들면, DVD-패키지화된 매체 또는 VHS 테이프)로부터의 프라이버시의 문제점은 알 수 있고 확인된다. 제안된 한가지 해결책은 무비가 각 DVD에 개별적으로 표시, 인코딩 및 "버닝"되거나 VHS에 기록되도록 전송된 매 카피마다 개별적으로 표시(예를 들면, 고유 워터마크를 가진 표시)하는 것이다. 그러나, 상술한 바와 같이, 상이한 워터마크로 각 카피마다 개별적으로 표시하는 것은 매우 부담되며 시간 소모적일 수 있다.
도 4는 DVD 패키지화된 매체에 개별적으로 표시하는 통상적인 방법의 한가지 가능한 실행을 나타낸다. 프로세스는 비표시 비디오 파일(400)에서 시작한다. 생성될 모든 DVD 카피에 대한 식별자(ID)는 데이터베이스(402)에 저장된다.
비디오 파일(400)에는 워터마크 인코더(404)에서 고유 ID를 가지고 워크마크되어 워터마크표시된 비디오 파일(406)이 생성된다. 고유 ID는 데이터베이스 엔트리에 저장된다. 워터마크 비디오 파일(406)은 압축된 비디오 파일(410)을 생성하는, 비디오 인코더(408)를 이용하여 인코딩된다. 일 실시예에서, 비디오 인코더는 MPEG-2 인코더로서 구성될 수도 있다.
압축된 비디오 파일(410)은 멀티플렉서(412)에서 압축된 오디오 파일(420)과 조합되어 하나 이상의 조합된 비디오-오디오 파일 및 메타데이터 파일(414)을 생성한다. 하나 이상의 조합된 비디오-오디오 파일은, 메타데이터 파일(414)과 함께, DVD 버너(416)에서 DVD상에 버닝되어 DVD 카피(418)를 생성한다. 특정 DVD를 식별하는 ID는 그 DVD에 대한 워터마크의 고유 ID용 데이터베이스 엔트리에 저장된다.
상술한 프로세스가 개별적으로 표시된 DVD 카피를 생성한다는 관점에서 기술되었지만, 이 프로세스는 만들어질 DVD 카피의 원하는 개수(x)만큼 반복되어야 한다는 것을 이해하여야 한다. 따라서, 상술한 프로세스는 기술적으로 가능하지만, 실제적으로 번거롭고 소비적이다. 예를 들면, 통상적으로, 2시간 무비의 경우, 워터마크 인코더(404)의 워터마크 프로세스는 8시간 걸릴 수 있다. 비디오 인코더(408)에서의 MPEG-2 인코딩 프로세스는 2시간 걸릴 수 있다. 멀티플렉서(412)에서의 오디오-비디오 조합 프로세스는 약 30분 걸릴 수 있고, DVD 버닝 프로세스는 약 30분 걸릴 수 있다.
따라서, 각 DVD 카피의 생성은 약 11 시간 걸릴 수 있다는 것을 알 수 있다. 추가적인 리소스들이 개발되어 병렬로 개별적으로 마크된 카피들을 생성할 수 있지만, 다수의 카피의 경우, 병행은 소비적이 될 수 있다.
도 5는 DVD 패키지화된 매체를 생성하기 위한 핑거프린팅 프로세스의 실행을 나타낸다. 도 5의 실행을 이용하여, DVD 카피를 생성하는 프로세스는 현저하게 촉진될 수 있다.
도 5의 실행시, 프로세스는 비디오 마스터(500)에서 시작한다. 비디오 마스터(500)의 2개의 카피(504)가 다음으로 생성된다. 비디오 마스터의 제1 카피(504A)는 마크되지 않는 반면, 제2 카피(504B)는 워터마크 인코더(502)에 의해 워터마크된다. 특정 워터마킹 식별자(ID)는 마크된 카피(504B)를 인코딩하는데 사용된다. 다른 실행시, 상이한 마킹 프로세스가 이용될 수 있다.
비디오 마스터의 2개의 카피(504A, 504B)는 각각 비디오 인코더(506A, 506B)로 인코딩된다. 비디오 인코더(506A, 506B)는 각각 압축된 비디오 파일(508A, 508B)을 생성한다. 압축된 비디오 파일(508A)은 마크되지 않고 압축된 비디오 파일(508B)는 마크된다. 일 실행시, 비디오 인코더들은 MPEG-2 인코더로서 구성된다.
압축된 비디오 파일(508A, 508B)은 각각 한쌍의 멀티플렉서(510A, 510B)에서 압축된 오디오 파일(520)과 조합되어, 각기 조합된 비디오-오디오 파일(532A, 532B)을 생성한다. 멀티플렉서(510)는 비디오 오브젝트(VOB)로 명명되는 세그먼트들의 압축된 파일(508)을 처리되도록 구성된다. 조합된 비디오-오디오 파일(532A)은 복수의 세그먼트들을 갖는 마크되지 않은 DVD 파일이다. 조합된 비디오-오디오 파일(532B)은 마크되지 않은 파일(532A)과 같은 수의 세그먼트를 갖는 표시된 DVD 파일이다. 따라서, DVD 파일(532A, 532B)은 도 1에 나타난 2개의 마스터(100, 102) 사이의 것과의 관계면에서 실질적으로 유사하다. VOB 세그먼트들은 이하 상세히 기술된다.
세그먼트 재조합기(534A, 534B)은 2개의 마스터 DVD 파일(532A, 532B)을 이용하여 도 1에 나타난, 카피(104, 106)와 유사한 핑거프린트 카피를 생성한다. 각 세그먼트 재조합기(534)는 고유 식별자를 이용하여 각 마스터(532)의 상이한 세그먼트들을 재조합(연결)시킨다. 상술한 바와 같이, 각 식별자는 의사-랜덤 수 생성기에 의해 생성되고, 데이터베이스(522)에 저장되어 각 카피 및/또는 매체의 기사의 수신자를 식별한다. 따라서, 도 1은 블럭(530)의 일 실행 동작을 실질적으로 나타낸다.
세그먼트 재조합기들(534A, 534B)의 출력에서 생성된 핑거프린팅된 카피들은 그 후 각각 DVD 버너(540A, 540B)를 이용하여 DVD(542A, 542B)로 버닝된다. 추가적인 카피를 생성하기 위해, 마크되지 않은 마스터 및 마크된 마스터(532A, 532B)로부터의 세그먼트들의 서로 다른 조합체가 재조합기들(534A, 534B)중 어느 하나에서 조합된 후 DVD로 버닝된다. 워터마크 인코더(502)에 의한 워터마킹, 인코더(506)에 의한 인코딩, 및 멀티플렉서(510)에 의한 멀티플렉싱 및 프로세싱은 모든 카피에 대해 반복되는 것은 아니다. 따라서, 도 5의 구현예에서는, 도 4의 구현예와는 대조적으로, 재조합기에 의한 세그먼트의 재조합과 DVD로의 버닝이 반복되어 전체 프로세스의 각 단계를 반복하지 않고 원하는 수(x)의 DVD 카피들(542)을 생성하게 된다. 이에 따라, 도 5에 예시된 프로세스에는 실질적으로 더 적은 시간이 소요되어야 하는데, 그 이유는 워터마킹이 단 하나의 비디오 마스터에 대해서는 한번 실행되기 때문이다. 따라서, 블럭(530, 540)에 의해 표시된 프로세스는 DVD당 1시간 미만으로 소요되어야 한다.
도 6은, DVD에 특정한 구현예에 따라 입력 마스터들의 세그먼트들을 프로세싱하도록 구성된 세그먼트 재조합기(534)를 상세하게 나타낸 도면이다. 그러나, 도 6에 도시된 구현예는, 비디오 테이프 등의 그 밖의 패키지화된 미디어로 확장될 수 있다.
DVD 세그먼트는 소정의 사전설정된 비디오 오브젝트 유닛(VOBU) 바운더리에서 생성되며 "VOBU 그룹"으로 그룹화된다. 각 VOBU 그룹은 독립형의 멀티플렉싱된 유닛이며 이전의 유닛 혹은 이후의 유닛에 대해 독립적이다. 또한, VOBU는 하나 이상의 GOP(group of pictures)로 구성된다. DVD-VIDEO 포맷으로 정의된 바와 같이 VOBU는 0.4 내지 1.2 초 길이일 수 있다. VOBU 그룹은 필요한 만큼 많은 VOBU를 가질 수 있다.
VOBU 그룹은 한 세트의 VOB 파일을 형성하도록 조합된다. VOB 파일의 각 세트에 대해 메타데이터(IFO) 파일이 생성된다. 메타데이타 파일이 제공하는 상세사항 중 하나는 VOB 파일 세트 내의 VOBU에 대한 오프셋 정보이다. 단말 사용자에 대해, 이 VOB로부터의 재생은 임의의 규칙적인 DVD 상의 VOB로부터의 재생처럼 보인다. 내부적으로 VOB는 VOBU 그룹의 조합체이지만, 각 VOBU 그룹은 두 개의 별개의 비디오(MPEG2) 인코드의 부분으로부터 멀티플렉싱된 데이터로 구성된다. 이에 따라, VOB는 DVD 명세 제한을 따르며 실질적으로 이에 따른다. 따라서, 이들 DVD중 하나가 라이핑(ripping) 또는 리인코딩에 의해(예를 들면, DiVx 또는 Xvid 등의 포맷으로) 불법 복제될 경우, 시스템은 비디오 스트림을 분석하고 마크된 비디오 세그먼트들이 존재하는 포인트들을 로케이팅함으로써 불법 복제의 소스를 식별할 수 있다. 시스템은 이들 로케이션을, DVD가 버닝되었을 때 생성된 데이타베이스 서버 내에 저장된 로케이션들과 비교할 수 있다. 각 DVD는 마킹된 세그먼트에 대한 고유의 패턴을 가지며 이에 따라 각 DVD는 효율적으로 "핑거프린팅된" 것이다.
인터넷으로부터 다운로드된 컨텐트 미디어를 핑거프린팅하기 위해, 도 5에 도시된 구현예와 유사한 구현예가 사용될 수 있다. 도 7에 예시된 구현예(700)에서, 두 개의 미디어 파일, 즉 마크되지 않은 하나의 파일(702A) 및 워터마크된 하나의 파일(702B)이 세그먼트들로 분할되며, 조합기(704)는 그 세그먼트들을 고유한 패턴으로 조합하여, 다운로드된 각 컨텐트의 고유하게 핑거프린팅된 버전을 생성한다. 고유한 조합물 각각은 식별자를 이용하여 생성되는데, 식별자는 의사 랜덤 수 발생기에 의해 생성되어 데이타베이스(706)에 저장되어 핑거프린팅된 카피를 식별한다. 핑거프린팅된 카피들은 저장되거나, 혹은 인터넷(710)을 통해 클라이언트 PC(712)로 다운로드하기 위해 웹 서버(708)를 통해 스트리밍된다. 클라이언트 PC(712)에서는, 재조합된/핑거프린팅된 파일(714)이 하나의 연속된 파일처럼 보인다. 클라이언트는 웹 서버(708)에서 발생된 재조합(즉, 핑거프린트)을 알지 못한다.
도 7의 구현예와 유사하게, VOD(video on demand) 컨텐트는 도 8에 도시된 바와 같이 핑거프린팅될 수 있다. 이 구현예에서, VOD 서버는 세그먼트들로 분리된 두 개의 미디어 파일들, 즉 마크되지 않은 하나의 파일(802A) 및 워터마크된 하나의 파일(802B)로부터 핑거프린팅된 파일들을 생성한다. 두 개의 미디어 파일(802A, 802B)은, 각 전달을 위해 고유하게 핑거프린팅된 버전의 컨텐트를 생성하기 위해 조합기(804)에서 세그먼트 방식으로 조합된다. VOD 미디어 파일들은 통상적으로 패킷화된 MPEG2 전송 스트림 데이터이기 때문에, 이들 파일은 이러한 핑거프린팅을 위한 좋은 후보이다.
도 8에 예시된 구현예에서, 두 개의 미디어 파일(802A, 802B)은 VOD 서버(808) 내에서 조합된다. 이에 따라, 기술된 시나리오는 유니캐스트 시나리오로 칭해지는데, 즉, 데이터는 소스에서 조합된 후 특정 목적지로 전송되는데, 이 목적지는 다른 분배 카피들에 대해 알지 못한다.
다른 구현예(도시하지 않음)에서, 위성이 여러 마스터들을 각 위성 수신기 박스에 전송할 수 있다(즉, 여러 마스터들의 각 박스로의 동시 방송). 이 구현예는 멀티캐스트 시나리오로 칭해진다. 이 구현예에서, 위성 수신기 박스는 서버로부터 RMK 정보를 수신하여 데이터를 TV에 제공하기 전에 조합을 수행한다. 이에 따라, 이 구현예에서, 조합은 VOD 셋탑 박스(812)에서 발생한다.
고유의 조합 각각은 식별자를 이용하여 발생되며, 이 식별자는 의사 랜덤 수 발생기에 의해 발생되어 데이타베이스(806) 내에 저장되어 핑거프린팅된 카피를 식별한다. 핑거프린팅된 카피는 케이블 네트워크(810)를 통해 VOD 셋탑 박스(812)에 전달된다. 핑거프린팅된 카피는 처리되어 클라이언트 TV(814)로 전달된다. 클라이언트 TV(814)에서는, 재조합된/핑거프린팅된 파일(816)이 하나의 연속적인 파일처럼 보인다. 클라이언트는 VOD 서버(808)에서 발생된 재조합(즉, 핑거프린팅)을 알지 못한다.
데이터의 핑거프린팅은, 미디어 소스 식별 시스템 및 방법에 견고성을 부여하기 위해 수행될 수 있다. 구체적으로는, m개의 마스터로부터 n개의 세그먼트의 조합의 의사 랜덤 수 발생은, 하나의 승인되지 않은 카피를 생성하기 위해 여러 개 혹은 부분적인 카피들을 이용함으로써 우회된 소스 식별에 대한 시도를 예방하기 위한 안전 장치를 효율적으로 제공하도록 구성될 수 있다. 하나의 구현예에서, 의사 랜덤 수 시퀀스는, 소스가 승인되지 않은 카피의 작은 부분만을 이용하여 식별될 수 있도록 생성된다. 다른 구현예에서, 여러 소스들을 조합한 것에 근거하여 승인되지 않은 카피에 대해, 이 여러 소스들은 유사한 방식으로 식별될 수 있다.
하나의 구현예에서, 소스 식별에 대해 시스템의 견고성을 위해 RMK(Representative Master Key)가 이용된다. RMK는 빌드(카피)의 세그먼트에 대한 인오더(in-order) 판독이다. 전술한 바와 같이, m개의 마스터로부터의 n개의 세그먼트는 카피를 구축하는 데에 이용된다. 상기 판독은 (n개의 세그먼트에 대한) n 디지트를 포함하며, 여기서 각 디지트 값의 범위는 1 내지 m이다. 디지트는 대신에 X의 값을 가지는데, 이값의 의미는 중요하지 않다(즉, 상관하지 않는다). 따라서, 8개의 마스터로부터 생성된 10개의 세그먼트를 갖는 분배 카피는 "1, 4, 2, 5, X, 6, X, 1, 6, 2"의 RMK를 가졌을 수 있다.
RMK는 또한 "튜플(tuples)" 시퀀스로서 정의될 수 있는데, 여기서 각 튜플은 (x, y)의 형태를 갖는다. x라는 용어는 세그먼트 수(1 내지 n의 순서로 변함)를 나타내며, y라는 용어는 세그먼트 값(1 내지 n의 값의 범위 또는 X의 값을 가짐)을 나타낸다. 이 경우, 전술한 RMK는 "(1,1)(2,4)(3,2)(4,5)(5,X)(6,6)(7,X)(8,1)(9,6)(10,2)"로서 기록될 수 있을 것이다. 이에 따라, RMK는 또한 튜플 시퀀스(튜플 오더(TupleOrder), 마스터 수(MasterNumber))의 형태로서 기록될 수 있다.
서로 다른 핑거프린트 식별자로 두 개 이상의 분배 카피들을 생성하는 방법중 하나는 서로 다른 RMK의 카피들을 제공하는 것이다. 따라서, 알려지지 않은 출처의 카피가 제시되면, 시스템은 그 카피의 RMK를 디코딩하거나 해독할 수 있으며(예를 들어, 그 세그먼트에 대한 소스 마스터를 판단하기 위해 그 카피 내의 각 세그먼트의 마킹을 분석함으로써), 룩업 테이블/데이타베이스로부터 그 카피의 소스(예를 들면, 원래 분배된 카피의 수령인)를 판별한다. 그러나, 승인되지 않은 카피가 여러 분배 카피들로부터, 혹은 하나의 분배 카피의 일부로부터 생성된 경우, 승인되지 않은 카피는 데이타베이스에 로그인되지 않은 RMK를 가질 수도 있으며 혹은 다른 고객에 로그된 RMK를 가질 수도 있는데, 이는 잘못된 포지티브 식별을 나타낸다. 따라서, RMK를 어떻게 구성하는 지에 대한 판정은 데이터 핑거프린팅 프로세스에서 중요할 수 있다.
일 구현예에서, RMK는 하나 이상의 키 세트(KS)를 갖는다. 각 KS는 1 내지 세그먼트의 총 수(n)까지의 범위의 길이를 가지며, RMK로부터 튜플 리스트의 형태로 판독되며, 전술한 바와 같이 튜플 오더의 오름차순으로 정렬된다. 서로 다른 KS를 갖는 RMK는 서로 다른 길이일 수 있다. 이에 따라, 일 실시예에서, KS는 이하와 같이 될 수 있다. 즉, KS1=(2,4)(3,2)(4,5); KS2=(1,1)(2,4)(6,6)(10,2); KS3=(1,1)(2,4)(3,2)(4,5)(5,X)(6,6)(7,X)(8,1)(9,6)(10,2); KS4=(4,5) 등이다. 알려지지 않은 카피의 RMK가, 룩업 테이블에 리스팅된 임의의 분배 카피의 것과 일치하지 않으면, 시스템은, 얼마나 많은 알려지지 않은 카피의 KS가 룩업 테이블 내의 분배 카피의 KS와 일치하는지를 판정하기 위해 수학적 계산을 수행할 수 있다. 알려지지 않은 카피의 소스 분배 카피는, 선택된 임계값 이상의 다수의 KS 매치를 제공하는 분배 카피들인 것으로 판정될 것이다.
서로 다른 KS는 서로 다른 생성 기술을 가질 수도 있을 것이다. KS의 값을 판정하기 위해, 그 KS에 대한 생성 기술은 하나의 카피에 대한 RMK에 적용된다. 예를 들면, 이들 몇몇 기술은 매우 단순화되어 특정 길이를 갖는 KS가 서로 다른 RMK에 대해 생성된다. KS 생성 기술의 일 구현예에서, KS4가 4번째 튜플인 경우, RMK="(1,1)(2,4)(3,2)(4,5)(5,X)(6,6)(7,X)(8,1)(9,6)(10,2)"에 대해, KS4=(4,5)이다. 그러나, 다른 RMK에 대한 KS4는 KS4=(4,7) 등으로 진행된다.
그 밖의 다른 KS는 보다 상세한 생성 절차를 가질 수도 있다. KS 생성 기술의 다른 구현예에서, KS12는 RMK에 존재하는 가장 높은 마스터 수를 갖는 가장 낮은 순위의 튜플로 시작하고, 그 후 더 낮은 마스터 수를 갖는 첫 번째보다 더 높은 순위의 튜플이 이어지며, 그 후 마스터 수의 순위가 감소된 다음이 이어질 수도 있다. RMK="(1,1)(2,4)(3,2)(4,5)(5,X)(6,6)(7,X)(8,1)(9,6)(10,2)"에 대해, (6,6) 및 (9,6)에서 존재하는 가장 높은 마스터 수는 6이기 때문에, 절차에서는 (6,6)을 선택하는데, 이는 (9,6)보다 더 낮은 순위를 가지기 때문이다. 다음에 선택된 튜플은 6보다 낮은 마스터 수(그러나, 높은 순위임)를 갖는 하나일 것이며, 이는 (10, 2)로 절차가 진행되도록 한다. 이어서, 설정 룰에 일치하는 더 이상의 튜플이 존재하지 않아서, 절차는 KS12=(6,6)(10,2)로 종료된다. KS12의 경우, KS의 길이는 절차의 선택으로 인해 고정되지 않는다.
상술된 프로시져들은 우수한 KS를 얻기 위해 사용될 수 있는 다수의 가능성들 중 단지 일부일 뿐이다. 따라서, 핑거프린팅 시스템은, RMK 및 데이터베이스에 저장된 각각의 배포 카피에 대하여 상기 RMK를 참조하는 복수의 KS를 구비할 것이다. 근원이 알려지지 않은 것의 카피가 주어지면, 시스템은 상기 알려지지 않은 카피에 대해 RMK를 얻는다. 데이터베이스에 RMK와 일치하는 것이 없으면, 시스템은 그 RMK에 대한 KS를 생성한다. 특정 KS는 특정 영역에 배치될 것이기 때문에, 결국 그 특정 RMK가 될 수 있는 소스들 중 적어도 일부를 시스템이 식별할 수 있는 기회가 존재한다.
상술된 KS 생성 기술은 불명료하게 하는 것을 어렵게 할 RMK의 우수한 세트를 생성하기 위해 역으로 사용될 수 있다. RMK의 세트는 불명료하게 하는 것을 어렵게 할 소정의 KS를 카피가 포함하도록 배포 카피에 대한 의사-랜덤 수들의 세트를 구성하는데 사용될 수 있다.
핑거프린팅 시스템의 견고성을 향상시키는 다른 방식들이 있다. 일 실시예에서, 데이터 형식에서의 RMK 및/또는 하나 이상의 KS가 배포 카피 자체에 삽입될 수 있다. 이러한 삽입은 배포 카피의 생성 시간 동안 다른 위치에서 다른 양상으로 수행될 수 있다. 이는 카피가 배포 카피의 매우 적은 부분을 가지더라도 시스템으로 하여금 알려지지 않은 카피를 식별할 수 있게 한다. 그 적은 부분이 임의의 양상으로 삽입된 하나 이상의 RMK의 단편 및/또는 하나 이상의 KS 데이터를 포함하는 경우, 그 알려지지 않은 카피는 배포 카피로부터 기원한 것으로 식별될 수 있다.
핑거프린팅 시스템에 견고성을 제공하기 위한 다른 실시예에서는, 배포 카피의 생성 시간 동안, 다른 위치에서 다른 양상으로 더미 데이터가 데이터 형식으로 배포 카피 자체에 삽입될 수 있다. 이러한 삽입은 2개 이상의 배포 카피들을 패턴 매칭하는 것에 의해 핑거프린팅을 회피하려는 시도를 저지하도록 의사-랜덤 형태로 수행될 수 있다.
또 다른 실시예에서는, 배포 카피의 특정 또는 모든 양상들이 RMK의 식별자 및/또는 하나 이상의 KS에 의해 표시될 수 있다. 이러한 경우, 카피가 다수의 다른 배포 카피들로부터 재구성되더라도, 배포 카피의 필요한 양상들은 재구성된 카피의 소스를 식별하기 위해 질의될 수 있다.
도 9는 RMK 및 KS를 사용하는 일 실시예에 따라 매체의 소스를 식별하는 방법을 도시한다. 먼저, 단계 900에서, 식별 대상인 매체가 수신되고, 매체를 형성하도록 배치된 매체의 세그먼트들이 식별된다. 그리고, 단계 902에서, 세그먼트의 배치로부터 대표 마스터 키(representative master key, 이하 'RMK'라고도 함)가 생성된다. 데이터베이스는, 생성된 배포 카피들의 핑거프린트들 및 상기 핑거프린트들에 링크되어 링크된 핑거프린트에 대응하는 배포 카피를 수신한 소스를 표시하는 식별자들을 저장한다. 일 실시예에서, 핑거프린트에 링크된 소스는 배포 카피를 수신한 사람의 이름일 수 있다.
단계 906에서, 핑거프린트 및 상기 핑거프린트에 링크된 소스가 데이터베이스로부터 수신된다. 단계 906에서, RMK 및 핑거프린트가 비교된다. 비교 결과가 일치이면(즉, 단계 908에서 "예"이면), 단계 910에서, 링크된 소스가 출력된다. 그렇지 않고, RMK와 핑거프린트 사이의 비교 결과가 일치가 아니면(즉, 단계 908에서 "아니오"이면), 단계 912에서, 다음 핑거프린트 및 링크된 소스가 데이터베이스로부터 수신된다.
모든 핑거프린트들이 RMK에 대해 체크되었고 그 중 어느 것도 일치하지 않았으면, 단계 914에서 RMK로부터 키 세트들이 생성된다. 따라서, RMK와 핑거프린트 사이에 일치하는 것이 존재하지 않을 때, 이는 문의 대상인 매체가 하나의 배포 카피로부터 완전히 복사되지 않았을 것이라는 점을 나타낸다. 따라서, 매체의 부분들을 분석하도록 키 세트들이 생성되어 소스(들)를 식별한다.
단계 916에서, 핑거프린트 및 상기 핑거프린트에 링크된 소스가 데이터베이스로부터 수신된다. 단계 918에서는 키세트가 핑거프린트로부터 생성된다. 단계 920에서는, RMK로부터 생성된 키 세트들과 핑거프린트로부터 생성된 키 세트들이 비교된다. 단계 922에서, 키 세트들간 일치하는 개수가 특정 임계치를 초과하면, 단계 924에서는 핑거프린트에 링크된 소스에 주석을 단다. 단계 926에서는 다음 핑거프린트 및 링크된 소스가 데이터베이스로부터 수신되고, 단계 918로 돌아가서, 그 핑거프린트에 대한 키 세트들이 비교를 위해 생성된다. 모든 핑거프린트들에 대한 키 세트들이 RMK에 대한 키 세트들과 비교되었으면, 단계 928에서는 단계 924에서 주석이 달린 소스들이 단계 900에서 수신된 매체의 적어도 일부에 대한 가능성 있는 소스들로서 출력된다. 대안적으로, 핑거프린트들 중 단계 922에서 일치의 임계치를 충족하는 키 세트들을 갖는 핑거프린트가 일단 발견되면, 그 핑거프린트에 링크된 소스가 출력된다.
또 다른 실시예에서는, 배포 카피에 데이터 형식으로 삽입된 RMK 및/또는 하나 이상의 KS가 매체의 소스를 식별하는데 사용될 수 있다. 또한, 상술된 도 9의 식별 프로세스에 추가하여 내장형 RMK 및 KS가 핑거프린팅 시스템의 견고성을 향상시키기 위해 사용될 수 있다.
본 발명의 다양한 실시예들은 전자적 하드웨어, 컴퓨터 소프트웨어, 또는 이들 기술의 조합으로 구현된다. 대부분의 실시예는 프로그램가능 컴퓨터에 의해 실행되는 하나 이상의 컴퓨터 프로그램들을 포함한다. 예를 들어, 일 실시예에서, 배포 카피를 식별하기 위한 시스템은 위에 논의된 식별 프로세스들을 구현하는 소프트웨어를 실행하는 하나 이상의 컴퓨터들을 포함한다. 다른 실시예에서, 데이터를 핑거프린팅하기 위한 시스템은 상술된 핑거프린팅 프로세스들을 구현하는 소프트웨어를 실행하는 하나 이상의 컴퓨터들을 포함할 수 있다. 일반적으로, 각각의 컴퓨터는 하나 이상의 프로세서들, 하나 이상의 데이터-스토리지 컴포넌트들(예를 들어, 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 드라이브 및 자기 테이프 드라이브 등의 휘발성 또는 불휘발성 메모리 모듈들, 영구 광 스토리지 디바이스들 및 영구 자기 스토리지 디바이스들 등), 하나 이상의 입력 디바이스들(예를 들어, 마우스 및 키보드 등), 및 하나 이상의 출력 디바이스들(예를 들어, 디스플레이 콘솔 및 프린터 등)을 포함한다.
컴퓨터 프로그램은 일반적으로 영구 스토리지 매체에 저장되어 실행시 메모리에 복사되는 실행가능 코드를 포함한다. 프로세서는 메모리로부터 프로그램 명령어들을 소정의 순서로 검색하는 것에 의해 코드를 실행시킨다. 프로그램 코드를 실행할 때, 컴퓨터는 입력 디바이스 및/또는 스토리지 디바이스로부터 데이터를 수신하고, 데이터에 대해 오퍼레이션을 수행하여, 그 결과인 데이터를 출력 디바이스 및/또는 스토리지 데이터에 전달한다.
본 발명에 대한 다양한 실시예들이 개시되었지만, 당업자라면 본 발명의 범위 내에서 추가적인 실시예들이 가능하다는 것을 이해할 것이다. 예를 들어, 상술된 설명은 핑거프린팅 매체 데이터의 여러 실시예(예를 들어, 영화 등)를 개시하는 한편, 다른 실시예에서는 실행가능 소프트웨어 또는 과학적 데이터 등의 다른 타입의 데이터가 사용될 수 있다.
따라서, 본 발명은 상술된 실시예들에만 제한되는 것은 아니다.

Claims (39)

  1. 핑거프린팅(fingerprinting) 방법에 있어서,
    복수의 입력 데이터세트를 수신하는 단계 - 상기 복수의 입력 데이터 세트의 각각은 복수의 입력 세그먼트로 분할되고, 상기 복수의 입력 데이터 세트 중 적어도 하나는 고유하게 마킹됨 -;
    상기 복수의 입력 데이터 세트중에서 적어도 2개의 상이한 입력 데이터 세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하는 단계; 및
    출력 세그먼트의 수가 각각의 입력 데이터 세트 내의 입력 세그먼트의 수와 동일해지도록, 상기 선택된 적어도 하나의 입력 세그먼트를 배열하여 복수의 출력 세그먼트를 갖는 출력 데이터 세트를 생성하는 단계를 포함하는 핑거프린팅 방법.
  2. 제1항에 있어서,
    상기 복수의 입력 데이터 세트 중 상기 적어도 하나는 비마킹(unmarked) 입력 데이터 세트를 포함하는 핑거프린팅 방법.
  3. 제1항에 있어서,
    각각의 고유하게 마킹된 입력 데이터 세트는 워터마킹(watermarking)을 이용하여 마킹되고, 상기 워터마킹은 인간의 감각에 의해 감지될 수 없는 핑거프린팅 방법.
  4. 제1항에 있어서,
    적어도 하나의 입력 세그먼트를 선택하는 단계는, 적어도 2개의 상이한 입력 데이터 세트중 하나로부터 적어도 하나의 입력 세그먼트를 의사 랜덤하게(pseudo-randomly) 선택하는 단계를 포함하는 핑거프린팅 방법.
  5. 제4항에 있어서,
    상기 입력 세그먼트의 의사-랜덤 선택을 가능하게 하도록 의사-랜덤 시퀀스를 생성하는 단계를 더 포함하는 핑거프린팅 방법.
  6. 제1항에 있어서,
    적어도 하나의 입력 세그먼트를 선택하는 단계는, 적어도 2개의 상이한 입력 데이터 세트중 하나로부터 입력 세그먼트들의 시퀀스를 의사 랜덤하게 선택하여, 상기 출력 데이터 세트가 부분적으로 복사되는 때에도 상기 시퀀스가 상기 출력 데이터 세트를 고유하게 식별하는 사전 정의된 확률을 제공하도록 선택되는 단계를 포함하며,
    상기 사전 정의된 확률은 대표 마스터 키(RMK)를 사용하지 않고 수행되었을 것보다 더 높은 확률의 임계값을 정의하는 핑거프린팅 방법.
  7. 제6항에 있어서,
    상기 입력 세그먼트들의 시퀀스를 선택하는 단계는, 세그먼트들의 의사-랜덤 시퀀스를 구축하는 단계를 포함하고, 상기 의사-랜덤 시퀀스는, 입력 세그먼트가 대응하는 출력 세그먼트를 구축하는데 이용되었던 정보를 제공하는 핑거프린팅 방법.
  8. 제7항에 있어서,
    상기 의사-랜덤 시퀀스는 대표 마스터 키(RMK)로서 표현되는 핑거프린팅 방법.
  9. 제7항에 있어서,
    상기 의사-랜덤 시퀀스는 튜플(tuple)들의 시퀀스로서 표현되는 핑거프린팅 방법.
  10. 제7항에 있어서,
    물리적 매체상에서 상기 생성된 출력 데이터 세트를 버닝(burning)하는 단계를 더 포함하는 핑거프린팅 방법.
  11. 제10항에 있어서,
    각각의 물리적 매체를 고유하게 식별하기 위해 상기 세그먼트들의 의사-랜덤 시퀀스를 상기 물리적 매체에 링크하는 단계를 더 포함하는 핑거프린팅 방법.
  12. 핑거프린팅 장치에 있어서,
    복수의 입력 데이터세트를 수신하기 위한 복수의 수신 유닛 - 상기 복수의 입력 데이터 세트의 각각은 복수의 입력 세그먼트로 분할되고, 상기 복수의 입력 데이터 세트 중 적어도 하나는 고유하게 마킹됨 -;
    상기 복수의 입력 데이터 세트중에서 적어도 2개의 상이한 입력 데이터 세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하기 위한 선택기; 및
    출력 세그먼트의 수가 각각의 입력 데이터 세트내의 입력 세그먼트의 수와 동일해지도록, 상기 선택된 적어도 하나의 입력 세그먼트를 배열하여 복수의 출력 세그먼트를 갖는 출력 데이터 세트를 생성하기 위한 적어도 하나의 조합기(combinder)
    를 포함하는 핑거프린팅 장치.
  13. 제12항에 있어서,
    상기 복수의 입력 데이터 세트 중 상기 적어도 하나는 비마킹 입력 데이터 세트를 포함하는 핑거프린팅 장치.
  14. 제12항에 있어서,
    의사-랜덤 수의 시퀀스를 생성하기 위한 의사-랜덤 수 생성기를 더 포함하는 핑거프린팅 장치.
  15. 제14항에 있어서,
    상기 선택기는 상기 의사-랜덤 수의 시퀀스를 수신하도록 구성되고, 상기 선택기는 상기 수신된 의사-랜덤 수의 시퀀스에 기초하여 상기 적어도 하나의 입력 세그먼트를 선택하는 핑거프린팅 장치.
  16. 제14항에 있어서,
    상기 생성된 출력 데이터 세트를 물리적 매체상에 기록하기 위한 매체 기록 장치를 더 포함하는 핑거프린팅 장치.
  17. 제16항에 있어서,
    각각의 물리적 매체를 고유하게 식별하기 위해 상기 의사-랜덤 수의 시퀀스를 상기 물리적 매체에 링크하는 기억 장치를 더 포함하는 핑거프린팅 장치.
  18. 핑거프린팅 매체용 핑거프린팅 시스템에 있어서,
    복수의 매체 세그먼트로 분할된 상기 매체를 수신하기 위한 수신기;
    상기 매체를 마킹하기 위한 제1 인코더 - 상기 제1 인코더는 적어도 하나의 마킹된 매체를 생성하고, 상기 적어도 하나의 마킹된 매체 각각은 복수의 마킹된 매체 세그먼트로 분할됨 -;
    상기 매체 및 상기 적어도 하나의 마킹된 매체를 압축하기 위한 제2 인코더;
    상기 매체 및 상기 적어도 하나의 마킹된 매체 중 하나로부터 적어도 하나의 매체 또는 마킹된 매체 세그먼트를 선택하기 위한 선택기; 및
    핑거프린팅된 세그먼트의 수가 각각의 매체 또는 마킹된 매체내의 매체 또는 마킹된 매체 세그먼트의 수와 동일해지도록, 상기 선택된 적어도 하나의 매체 또는 마킹된 매체 세그먼트를 배열하여 복수의 핑거프린팅된 세그먼트를 갖는 핑거프린팅된 매체를 생성하기 위한 적어도 하나의 조합기
    를 포함하는 핑거프린팅 시스템.
  19. 제18항에 있어서,
    의사-랜덤 수의 시퀀스를 생성하기 위한 의사-랜덤 수 생성기를 더 포함하는 핑거프린팅 시스템.
  20. 제19항에 있어서,
    상기 선택기는 상기 의사-랜덤 수의 시퀀스를 수신하도록 구성되고, 상기 선택기는 상기 수신된 의사-랜덤 수의 시퀀스에 기초하여 매체 또는 마킹된 매체 세그먼트를 선택하는 핑거프린팅 시스템.
  21. 제19항에 있어서,
    상기 생성된 핑거프린팅된 매체를 물리적 매체상에 기록하기 위한 매체 기록 장치를 더 포함하는 핑거프린팅 시스템.
  22. 제21항에 있어서,
    상기 매체를 고유하게 식별하기 위해 상기 의사-랜덤 수의 시퀀스를 상기 물리적 매체에 링크하는 기억 장치를 더 포함하는 핑거프린팅 시스템.
  23. 제21항에 있어서,
    상기 물리적 매체는 DVD 또는 비디오 테이프를 포함하는 핑거프린팅 시스템.
  24. 제21항에 있어서,
    상기 물리적 매체는 인터넷으로부터 다운로드된 콘텐츠를 포함하는 핑거프린팅 시스템.
  25. 제21항에 있어서,
    상기 물리적 매체는 데이터의 스트림으로서 전송되는 VOD(Video-On-Demand) 콘텐츠를 포함하는 핑거프린팅 시스템.
  26. 매체의 소스를 식별하는 방법에 있어서,
    상기 매체를 수신하고, 상기 매체를 형성하도록 배열된 복수의 세그먼트를 식별하는 단계;
    상기 복수의 세그먼트의 배열로부터 대표 마스터 키(RMK)를 생성하는 단계;
    핑거프린트 및 상기 핑거프린트에 링크되는 상기 소스를 수신하는 단계; 및
    상기 RMK와 상기 핑거프린트를 비교하는 단계
    를 포함하는 매체 소스 식별 방법.
  27. 제26항에 있어서,
    상기 핑거프린트는 의사-랜덤 수 시퀀스를 포함하는 매체 소스 식별 방법.
  28. 제26항에 있어서,
    상기 RMK와 상기 핑거프린트간의 비교가 매칭(match)함을 나타낼 때, 상기 핑거프린트로 링크되는 상기 소스를 출력하는 단계를 더 포함하는 매체 소스 식별 방법.
  29. 제26항에 있어서,
    상기 RMK로부터 제1의 복수의 키 세트를 생성하는 단계;
    상기 핑거프린트로부터 제2의 복수의 키 세트를 생성하는 단계; 및
    상기 제1의 복수의 키 세트와 상기 제2의 복수의 키 세트를 비교하는 단계를 더 포함하는 매체 소스 식별 방법.
  30. 제29항에 있어서,
    임계값을 수신하는 단계; 및
    상기 제1의 복수의 키 세트와 상기 제2의 복수의 키 세트와의 비교가 상기 임계값 이상의 다수의 키 세트의 매칭의 결과를 나타낼 때, 상기 핑거프린트로 링크되는 상기 소스를 출력하는 단계를 더 포함하는 매체 소스 식별 방법.
  31. 제29항에 있어서,
    복수의 핑거프린트를 위한 키 세트를 생성하기 위해 상기 핑거프린트로부터 제2의 복수의 키 세트를 생성하는 상기 단계를 반복하는 단계;
    임계값을 수신하는 단계; 및
    상기 복수의 핑거프린트에 링크되는 소스들을 출력하는 단계 - 각각의 소스는, 상기 제1의 복수의 키 세트와 상기 제2의 복수의 키 세트와의 비교가 상기 임계값 이상의 다수의 키 세트의 매칭의 결과를 나타낼 때 출력됨 - 를 더 포함하는 매체 소스 식별 방법.
  32. 복수의 출력 세그먼트를 갖는 출력 데이터 세트를 핑거프린팅하는데 이용하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능한 기록 매체로서,
    상기 프로그램은 컴퓨터가,
    복수의 입력 데이터세트를 수신하고 - 상기 복수의 입력 데이터 세트의 각각은 복수의 입력 세그먼트로 분할되고, 상기 복수의 입력 데이터 세트 중 적어도 하나는 고유하게 마킹됨 -,
    상기 복수의 입력 데이터 세트중에서 적어도 2개의 상이한 입력 데이터 세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하고,
    출력 세그먼트의 수가 각각의 입력 데이터 세트내의 입력 세그먼트의 수와 동일해지도록, 상기 선택된 적어도 하나의 입력 세그먼트를 배열하여 복수의 출력 세그먼트를 갖는 출력 데이터 세트를 생성하게
    하는 실행가능 명령들을 포함하는 컴퓨터 판독가능한 기록 매체.
  33. 매체의 소스를 식별하는데 이용하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능한 기록 매체로서,
    상기 프로그램은 컴퓨터가,
    상기 매체를 수신하고, 상기 매체를 형성하도록 배열된 복수의 세그먼트를 식별하고,
    상기 복수의 세그먼트의 배열로부터 대표 마스터 키(RMK)를 생성하고,
    핑거프린트 및 상기 핑거프린트에 링크되는 상기 소스를 수신하고,
    상기 RMK와 상기 핑거프린트를 비교하게
    하는 실행가능 명령들을 포함하는 컴퓨터 판독가능한 기록 매체.
  34. 제33항에 있어서,
    상기 프로그램은 상기 컴퓨터가,
    상기 RMK와 상기 핑거프린트간의 비교가 매칭함을 나타낼 때, 상기 핑거프린트에 링크되는 상기 소스를 출력하게 하는 실행가능 명령들을 더 포함하는 컴퓨터 판독가능한 기록 매체.
  35. 제33항에 있어서,
    상기 프로그램은 상기 컴퓨터가,
    상기 RMK로부터 제1의 복수의 키 세트를 생성하고,
    상기 핑거프린트로부터 제2의 복수의 키 세트를 생성하고,
    상기 제1의 복수의 키 세트와 상기 제2의 복수의 키 세트를 비교하게
    하는 실행가능 명령들을 더 포함하는 컴퓨터 판독가능한 기록 매체.
  36. 제35항에 있어서,
    상기 프로그램은 상기 컴퓨터가,
    임계값을 수신하고,
    상기 제1의 복수의 키 세트와 상기 제2의 복수의 키 세트와의 비교가 상기 임계값 이상의 다수의 키 세트의 매칭의 결과를 나타낼 때, 상기 핑거프린트에 링크되는 상기 소스를 출력하게 하는 실행가능 명령들을 더 포함하는 컴퓨터 판독가능한 기록 매체.
  37. 제35항에 있어서,
    상기 프로그램은 상기 컴퓨터가,
    복수의 핑거프린트를 위한 키 세트를 생성하기 위해 상기 핑거프린트로부터 제2의 복수의 키 세트를 생성하는 것을 반복하고,
    임계값을 수신하고,
    상기 복수의 핑거프린트에 링크되는 소스를 출력 - 각각의 소스는, 상기 제1의 복수의 키 세트와 상기 제2의 복수의 키 세트와의 비교가 상기 임계값 이상의 다수의 키 세트의 매칭의 결과를 나타낼 때 출력됨 - 하게 하는 실행가능 명령들을 더 포함하는 컴퓨터 판독가능한 기록 매체.
  38. 핑거프린팅 장치에 있어서,
    복수의 입력 데이터세트를 수신하기 위한 수단 - 복수의 입력 데이터 세트의 각각은 복수의 입력 세그먼트로 분할되고, 상기 복수의 입력 데이터 세트 중 적어도 하나는 고유하게 마킹됨 -;
    상기 복수의 입력 데이터 세트중에서 적어도 2개의 상이한 입력 데이터 세트 중 하나로부터 적어도 하나의 입력 세그먼트를 선택하기 위한 수단; 및
    출력 세그먼트들의 수가 각각의 입력 데이터 세트내의 입력 세그먼트들의 수와 동일해지도록, 복수의 출력 세그먼트를 갖는 출력 데이터 세트를 생성하기 위해 상기 선택된 적어도 하나의 입력 세그먼트를 배열하기 위한 적어도 하나의 수단
    을 포함하는 핑거프린팅 장치.
  39. 매체를 핑거프린팅하기 위한 핑거프린팅 시스템에 있어서,
    복수의 매체 세그먼트로 분할된 상기 매체를 수신하기 위한 수단;
    상기 매체를 마킹하기 위한 수단 - 제1 인코더는 적어도 하나의 마킹된 매체를 생성하고, 상기 적어도 하나의 마킹된 매체의 각각은 복수의 마킹된 매체 세그먼트로 분할됨 -;
    상기 매체 및 상기 적어도 하나의 마킹된 매체를 압축하기 위한 수단;
    상기 매체 및 상기 적어도 하나의 마킹된 매체로부터 적어도 하나의 매체 또는 마킹된 매체 세그먼트를 선택하기 위한 수단; 및
    핑거프린팅된 세그먼트의 수가 각각의 매체 또는 마킹된 매체내의 매체 또는 마킹된 매체 세그먼트의 수와 동일해지도록, 복수의 핑거프린팅된 세그먼트를 갖는 핑거프린팅된 매체를 생성하기 위해 상기 선택된 적어도 하나의 매체 또는 마킹된 매체 세그먼트를 배열하기 위한 적어도 하나의 수단
    을 포함하는 핑거프린팅 시스템.
KR1020057024727A 2003-06-23 2004-03-31 데이터의 핑거프린팅 KR101065122B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US48068703P 2003-06-23 2003-06-23
US60/480,687 2003-06-23
US49176303P 2003-07-31 2003-07-31
US60/491,763 2003-07-31

Publications (2)

Publication Number Publication Date
KR20060033867A KR20060033867A (ko) 2006-04-20
KR101065122B1 true KR101065122B1 (ko) 2011-09-16

Family

ID=33567620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057024727A KR101065122B1 (ko) 2003-06-23 2004-03-31 데이터의 핑거프린팅

Country Status (11)

Country Link
US (5) US7068823B2 (ko)
EP (1) EP1636733B1 (ko)
JP (3) JP4406642B2 (ko)
KR (1) KR101065122B1 (ko)
CN (1) CN102509031B (ko)
AU (2) AU2004254892B2 (ko)
CA (1) CA2530288C (ko)
MX (1) MXPA06000102A (ko)
NZ (2) NZ560223A (ko)
RU (1) RU2339091C2 (ko)
WO (1) WO2005003887A2 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644282B2 (en) 1998-05-28 2010-01-05 Verance Corporation Pre-processed information embedding system
US6737957B1 (en) 2000-02-16 2004-05-18 Verance Corporation Remote control signaling using audio watermarks
JP3749884B2 (ja) * 2002-08-28 2006-03-01 株式会社東芝 電子透かし埋め込み装置、電子透かし解析装置、電子透かし埋め込み方法、電子透かし解析方法及びプログラム
US8426216B2 (en) * 2003-04-16 2013-04-23 APDN (B.V.I.), Inc. Methods for authenticating articles with optical reporters
GB2404296A (en) 2003-07-23 2005-01-26 Sony Uk Ltd Data content identification using watermarks as distinct codes
US20060239501A1 (en) 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
US7382905B2 (en) * 2004-02-11 2008-06-03 Microsoft Corporation Desynchronized fingerprinting method and system for digital multimedia data
US11734393B2 (en) 2004-09-20 2023-08-22 Warner Bros. Entertainment Inc. Content distribution with renewable content protection
US7814564B2 (en) * 2005-01-07 2010-10-12 University Of Maryland Method for fingerprinting multimedia content
US8020004B2 (en) * 2005-07-01 2011-09-13 Verance Corporation Forensic marking using a common customization function
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8453115B2 (en) * 2007-04-27 2013-05-28 Red Hat, Inc. Automatic data manipulation to influence code paths
KR100893123B1 (ko) * 2007-05-07 2009-04-10 (주)엔써즈 오디오 핑거프린트 데이터 생성 방법 및 장치 및 이를이용한 오디오 데이터 비교 방법 및 장치
US8429516B1 (en) * 2007-08-20 2013-04-23 Adobe Systems Incorporated Media player feedback
US9177209B2 (en) * 2007-12-17 2015-11-03 Sinoeast Concept Limited Temporal segment based extraction and robust matching of video fingerprints
EP2255315A4 (en) * 2008-02-11 2013-01-23 Secure Content Storage Ass Llc SIMPLE NON-AUTONOMOUS PAIRING ENVIRONMENTAL FILIGRANING, AUTHENTICATION AND ASSOCIATION
CN102187349B (zh) * 2008-10-15 2015-08-19 印刷技术有限公司 平面数据载体
US8300884B2 (en) * 2009-05-21 2012-10-30 Digimarc Corporation Combined watermarking and fingerprinting
EP3647974A1 (en) * 2010-02-17 2020-05-06 Verimatrix, Inc. Systems and methods for securing content delivered using a playlist
US8452718B2 (en) * 2010-06-10 2013-05-28 Tokyo Electron Limited Determination of training set size for a machine learning system
JP2012039437A (ja) * 2010-08-09 2012-02-23 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
EP2604035A1 (en) * 2010-08-11 2013-06-19 Irdeto B.V. Method and system for providing encrypted content to a plurality of user devices
US20120045052A1 (en) * 2010-08-17 2012-02-23 Pedro Javier Vazquez Theft deterrence of motion picture films employing damaged-video files
EP2429189A1 (en) * 2010-09-09 2012-03-14 Irdeto B.V. Method and system for providing content to a recipient device
US8995708B2 (en) * 2011-09-08 2015-03-31 Samsung Electronics Co., Ltd. Apparatus and method for robust low-complexity video fingerprinting
US9323902B2 (en) 2011-12-13 2016-04-26 Verance Corporation Conditional access using embedded watermarks
WO2013107510A1 (en) * 2012-01-19 2013-07-25 Irdeto B.V. Distributing content to multiple receivers using multicast channels
US9330429B2 (en) * 2012-02-17 2016-05-03 Mobitv, Inc. Scalable watermark insertion for fragmented media stream delivery
US9749136B2 (en) * 2012-02-24 2017-08-29 Comcast Cable Communications, Llc Method for watermarking content
US9380032B2 (en) 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US10621044B2 (en) 2012-04-25 2020-04-14 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US10795766B2 (en) 2012-04-25 2020-10-06 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US20120317421A1 (en) * 2012-06-19 2012-12-13 Concurix Corporation Fingerprinting Executable Code
US20140075469A1 (en) 2012-09-13 2014-03-13 Verance Corporation Content distribution including advertisements
US9424285B1 (en) * 2012-12-12 2016-08-23 Netapp, Inc. Content-based sampling for deduplication estimation
KR101779965B1 (ko) * 2012-12-14 2017-09-20 한국전자통신연구원 임의 위치에서 전파지문 지도 구축방법
US9317872B2 (en) 2013-02-06 2016-04-19 Muzak Llc Encoding and decoding an audio watermark using key sequences comprising of more than two frequency components
US9262794B2 (en) 2013-03-14 2016-02-16 Verance Corporation Transactional video marking system
KR101456926B1 (ko) * 2013-06-14 2014-10-31 (주)엔써즈 핑거프린트에 기반한 광고 검출 시스템 및 방법
US9420530B1 (en) * 2013-07-22 2016-08-16 Quantenna Communications, Inc. WAP with context sensitive energy management
US9251549B2 (en) 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
CN103400592A (zh) * 2013-07-30 2013-11-20 北京小米科技有限责任公司 录音方法、播放方法、装置、终端及系统
US8718445B1 (en) 2013-09-03 2014-05-06 Penthera Partners, Inc. Commercials on mobile devices
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
US9208334B2 (en) 2013-10-25 2015-12-08 Verance Corporation Content management using multiple abstraction layers
EP3080999B1 (en) * 2013-12-10 2022-07-20 Teletrax B.V. Distribution of a content item and monitoring the distribution using watermarking
CN106170988A (zh) 2014-03-13 2016-11-30 凡瑞斯公司 使用嵌入式代码的交互式内容获取
US10664687B2 (en) * 2014-06-12 2020-05-26 Microsoft Technology Licensing, Llc Rule-based video importance analysis
US9905233B1 (en) 2014-08-07 2018-02-27 Digimarc Corporation Methods and apparatus for facilitating ambient content recognition using digital watermarks, and related arrangements
US9349246B1 (en) * 2014-09-15 2016-05-24 Skillz Inc. Integrations portal for a peer-to-peer game platform
WO2018208997A1 (en) 2017-05-09 2018-11-15 Verimatrix, Inc. Systems and methods of preparing multiple video streams for assembly with digital watermarking
KR102084516B1 (ko) * 2017-05-31 2020-04-23 한필규 프로파일링 기반의 클라이언트 장치 식별 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185318B1 (en) 1997-08-22 2001-02-06 International Business Machines Corporation System and method for matching (fingerprint) images an aligned string-based representation

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027401A (en) * 1990-07-03 1991-06-25 Soltesz John A System for the secure storage and transmission of data
US6788800B1 (en) * 2000-07-25 2004-09-07 Digimarc Corporation Authenticating objects using embedded data
JP3793977B2 (ja) * 1997-01-30 2006-07-05 ソニー株式会社 画像照合装置
US6185316B1 (en) * 1997-11-12 2001-02-06 Unisys Corporation Self-authentication apparatus and method
JP2950307B2 (ja) * 1997-11-28 1999-09-20 日本電気株式会社 個人認証装置と個人認証方法
US6392636B1 (en) * 1998-01-22 2002-05-21 Stmicroelectronics, Inc. Touchpad providing screen cursor/pointer movement control
WO1999062022A1 (en) 1998-05-28 1999-12-02 Solana Technology Development Corporation Pre-processed information embedding system
US6539077B1 (en) * 1998-06-05 2003-03-25 Netnumber.Com, Inc. Method and apparatus for correlating a unique identifier, such as a PSTN telephone number, to an internet address to enable communications over the internet
US6292575B1 (en) * 1998-07-20 2001-09-18 Lau Technologies Real-time facial recognition and verification system
US6636973B1 (en) * 1998-09-08 2003-10-21 Hewlett-Packard Development Company, L.P. Secure and dynamic biometrics-based token generation for access control and authentication
US6154559A (en) * 1998-10-01 2000-11-28 Mitsubishi Electric Information Technology Center America, Inc. (Ita) System for classifying an individual's gaze direction
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
AU2001294168A1 (en) * 2000-10-03 2002-04-15 Vidius Inc. Secure distribution of digital content
US7496767B2 (en) * 2001-01-19 2009-02-24 Xerox Corporation Secure content objects
US20020150239A1 (en) * 2001-04-17 2002-10-17 Vidius Inc. Method for personalized encryption in an un-trusted environment
US7047413B2 (en) * 2001-04-23 2006-05-16 Microsoft Corporation Collusion-resistant watermarking and fingerprinting
EP1421521A2 (en) 2001-07-31 2004-05-26 Gracenote, Inc. Multiple step identification of recordings
TWI278782B (en) * 2001-08-24 2007-04-11 Toshiba Corp Personal recognition apparatus
US7533027B2 (en) * 2002-04-02 2009-05-12 Warner Bros. Entertainment Inc. Methods and apparatus for uniquely identifying a large number of film prints

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185318B1 (en) 1997-08-22 2001-02-06 International Business Machines Corporation System and method for matching (fingerprint) images an aligned string-based representation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Bilge Gunsel et al., Robust wattermarking of fingerprint images, IEEE Pattern Recognition, October 2001, pp.2739-2747.
Wade Trappe et al., Anti-collusion Fingerprinting for Multimedia, IEEEE Transactions on signal processing, Vol.51, No.4, April 2003

Also Published As

Publication number Publication date
MXPA06000102A (es) 2006-06-27
CN102509031B (zh) 2014-12-24
NZ544824A (en) 2007-10-26
RU2339091C2 (ru) 2008-11-20
US20180197266A1 (en) 2018-07-12
NZ560223A (en) 2008-12-24
US20170024842A1 (en) 2017-01-26
CA2530288C (en) 2013-08-27
KR20060033867A (ko) 2006-04-20
EP1636733A4 (en) 2010-11-24
AU2010201815B2 (en) 2012-07-19
US7068823B2 (en) 2006-06-27
US9911171B2 (en) 2018-03-06
CA2530288A1 (en) 2005-01-13
AU2004254892B2 (en) 2010-03-04
JP2012142077A (ja) 2012-07-26
JP2010009739A (ja) 2010-01-14
US20060177096A1 (en) 2006-08-10
EP1636733A2 (en) 2006-03-22
US8483423B2 (en) 2013-07-09
CN102509031A (zh) 2012-06-20
US9349151B2 (en) 2016-05-24
JP4406642B2 (ja) 2010-02-03
WO2005003887A3 (en) 2005-06-09
US20040260930A1 (en) 2004-12-23
JP2007525064A (ja) 2007-08-30
AU2010201815A1 (en) 2010-05-27
JP5529185B2 (ja) 2014-06-25
AU2004254892A1 (en) 2005-01-13
EP1636733B1 (en) 2018-01-24
RU2006101684A (ru) 2006-07-27
WO2005003887A2 (en) 2005-01-13
MX264565B (ko) 2009-02-13
US20130287247A1 (en) 2013-10-31
US10970803B2 (en) 2021-04-06

Similar Documents

Publication Publication Date Title
KR101065122B1 (ko) 데이터의 핑거프린팅
US7730313B2 (en) Tracing content usage
JP2010158024A (ja) データオブジェクトのフィンガープリンティング
US7899205B2 (en) Data content identification
Jin et al. Traitor tracing for prerecorded and recordable media
CA2724139C (en) Method and system for identifying a source of media
Tsolis et al. Copyright and IPR management for cultural heritage digital content in peer-to-peer networks
JP2014175757A (ja) 分割要素の結合による電子透かしを生成する電子透かし処理システム、サーバ、プログラム及び方法
Jin et al. Attacks and forensic analysis for multimedia content protection
Tsolis et al. Digital Rights Management in Peer To Peer Cultural Networks
Steinbach et al. Design principles for active audio and video fingerprinting

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for 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: 20140822

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150824

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160826

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170828

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180824

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190828

Year of fee payment: 9