KR101000989B1 - 보안화된 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 방법 및 시스템 - Google Patents

보안화된 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101000989B1
KR101000989B1 KR1020080123062A KR20080123062A KR101000989B1 KR 101000989 B1 KR101000989 B1 KR 101000989B1 KR 1020080123062 A KR1020080123062 A KR 1020080123062A KR 20080123062 A KR20080123062 A KR 20080123062A KR 101000989 B1 KR101000989 B1 KR 101000989B1
Authority
KR
South Korea
Prior art keywords
watermark
data
block
video signal
embedded
Prior art date
Application number
KR1020080123062A
Other languages
English (en)
Other versions
KR20090060195A (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 KR20090060195A publication Critical patent/KR20090060195A/ko
Application granted granted Critical
Publication of KR101000989B1 publication Critical patent/KR101000989B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • 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

Abstract

보안화된 워터마크 삽입(embedding) 및 검출 데이터 흐름 구조를 위한 방법 및 시스템이 기재되고, 임베디드 CPU를 이용하여 비디오 신호 내에 워터마크를 삽입하는 단계를 포함할 수 있다. 임베디드 CPU는 보안화 버스를 통해 보안 프로세서를 이용하여 제어될 수 있다. 워터마크는 압축/압축 복원 엔진을 거쳐 전환될 수 있는 압축 비디오 신호 내에 삽입될 수 있다. 워터마크는 압축 복원 비디오 신호 내에 삽입될 수 있고, 압축/압축 복원 엔진을 통과하도록 유도될 수 있다. 요청들은 보안 프로세서 및 보안화 버스를 통해 주 CPU로부터 임베디드 CPU로 송신될 수 있다. 워터마크는 보안 프로세서를 이용하여 암호화될 수 있다. 보안화 버스는 주 CPU 또는 칩 위에 있지 않은 임의의 장치에 접속불가능할 수 있다. 이 칩은 임베디드 CPU가 불능(disabled)일 때 불능일 수 있다. 비디오 신호의 섹션(section)들은 분류될 수 있고, 삽입을 위해 선택될 수 있다.

Description

보안화된 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 방법 및 시스템{A METHOD AND SYSTEM FOR SECURE WATERMARK EMBEDDING AND EXTRACTION DATA FLOW ARCHITECTURE}
본 발명의 특정 실시예들은 디지털 매체 프로세싱(digital media processing)에 관한 것이다. 특히, 본 발명의 특정 실시예들은 압축 비디오 영역에서 워터마크(watermark) 삽입 및 검출을 보안화(secure)하기 위한 방법 및 시스템에 관한 것이다.
워터마킹(Watermarking)은 비허가된(unauthorized) 사용 또는 예컨대 저작권(copyright)하의 소재에 대한 불법 복제(illegal copying)로부터 디지털 매체를 보호하기 위해 이용되는 기술이다. 디지털 매체의 워터마킹은 가시적(visible) 또는 비가시적(invisible) 2개의 범주에 해당할 수 있다. 가시적 워터마크는 통상적으로 소유권을 나타내고 영상(image)의 비허가된 사용을 방해하기 위해 디지털 영상에 부가된다. 워터마크는 예컨대 소유자의 신원, 및/또는 저작권 심볼 및 일자를 포함할 수 있다. 이러한 유형의 워터마크는 데이터가 영상에 공간적으로 삽입되는 공간적(spatial) 워터마크로 고려될 수 있고, 이 워터마크 신호 는 원본 영상 데이터와 구별된다. 공간적 워터마크는 데이터의 필터링(filtering), 제거(removing), 및/또는 크로핑(cropping)으로 인한 공격에 강하지 못할 수 있다.
비시각적 워터마크는 영상을 지각가능한 정도로 변화시키지 않는다. 이는 원본 데이터의 최소 중요 비트들(least significant bits)의 작은 변화에 의해 달성될 수 있다. 최종 사용자에게 인식되지 않는 워터마크들은 스테가노그래픽(steganographic)으로 고려될 수 있다.
워터마킹 프로세스는 주파수 영역에서 데이터를 삽입하여 공격에 대하여 더욱 강하게 만들 수 있다. 이러한 기술은 통신의 확산 스펙트럼 인코딩(spread spectrum encoding)과 다소 유사하며, 이에 의해 삽입되는 데이터는 워터마킹 신호를 원본 데이터에 부가하기 전에 의사 잡음(pseudo-noise)으로 변조하는 것에 의해 다수의 주파수들 상에서 확산될 수 있다. 비가시적인 워터마크로 인한 낮은 신호 진폭, 원본 데이터(예컨대 영상, 비디오(video))의 큰 대역폭, 및 워터마크 메시지의 짧음은 모두 확산 스펙트럼 인코딩이 논리적 선택인 것을 나타내는 인자(factor)들이다.
디지털 멀티미디어 데이터 내에 워터마크를 삽입하는 것에 부가하여, 워터마크가 존재하는지 검색하는 것 또한 멀티미디어 데이터의 보호에서 중요할 수 있다. 멀티미디어 재생기들은 비허가된 또는 표절된 매체의 사용을 방해하기 위해 워터마크 감지 전자 장치들을 포함할 수 있다.
기존의 전통적인 접근법에 따른 다른 한계점들 및 단점들은 당해 기술 분야의 숙련된 자에게, 본 출원의 나머지 부분들에서 도면들을 참조하여 설명되는 본 발명의 몇몇 측면들과 종래의 시스템들의 비교를 통해 명백해질 것이다.
보안화 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 시스템 및/또는 방법이 적어도 하나의 도면과 관련하여 실질적으로 도시되고 및/또는 기재되며, 이하 청구항에서 더 완벽하게 기재된다.
본 발명의 일 측면에 따라, 주(main) CPU, 임베디드(embedded) CPU, 및 보안 프로세서(security processor)를 포함하는 워터마크 시스템 칩(watermark system chip) 내에서의 디지털 매체 프로세싱(digital media processing)을 위한 방법은,
상기 임베디드 CPU를 이용하여 비디오 신호 내에 워터마크를 삽입하는 단계; 및
보안화 버스(secure bus)를 통해 상기 보안 프로세서를 이용하여 상기 임베디드 CPU를 제어하는 단계를 포함한다.
바람직하게는, 상기 방법은 압축(compressed) 비디오 신호 내에 상기 워터마크를 삽입하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 압축(compression)/압축 복원(decompression) 엔진을 거쳐 워터마크가 삽입된(watermarked) 압축 비디오 신호를 전환하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 압축 복원 비디오 신호 내에 상기 워터마크를 삽입하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 압축/압축 복원 엔진을 통과하도록 상기 워터마크가 삽입된 압축 복원 비디오 신호를 유도하는(directing) 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 보안 프로세서 및 상기 보안화 버스를 통해 상기 주 CPU로부터 상기 임베디드 CPU로 요청(request)들을 송신하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 보안 프로세서를 이용하여 상기 워터마크를 암호화하는 단계를 더 포함한다.
바람직하게는, 상기 보안화 버스는 상기 주 CPU 또는 상기 칩 위에 없는 임의의 장치에 접속불가능하다.
바람직하게는, 상기 방법은 상기 임베디드 CPU가 불능(disabled)일 때 불능화되는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 워터마크의 상기 삽입을 위해 상기 비디오 신호의 섹션들을 분류하고 선택하는 단계를 더 포함한다.
본 발명의 일 측면에 따라, 디지털 매체 프로세싱(digital media processing)을 위한 시스템은,
주(main) CPU, 임베디드(embedded) CPU, 및 보안 프로세서(security processor)를 포함하는 워터마크 시스템 칩(watermark system chip)을 포함하고,
상기 임베디드 CPU는 비디오 신호 내에 워터마크를 삽입하고,
상기 보안 프로세서는 보안화 버스(secure bus)를 통해 상기 임베디드 CPU를 제어한다.
바람직하게는, 상기 워터마크 시스템 칩은 압축(compressed) 비디오 신호 내에 상기 워터마크를 삽입한다.
바람직하게는, 상기 워터마크 시스템 칩은 압축(compression)/압축 복원(decompression) 엔진을 거쳐 상기 워터마크가 삽입된(watermarked) 압축 비디오 신호를 전환한다.
바람직하게는, 상기 워터마크 시스템 칩은 압축 복원 비디오 신호 내에 상기 워터마크를 삽입한다.
바람직하게는, 상기 워터마크 시스템 칩은 압축/압축 복원 엔진을 통과하도록 상기 워터마크가 삽입된 압축 복원 비디오 신호를 유도(direct)한다.
바람직하게는, 상기 워터마크 시스템 칩은 상기 보안 프로세서 및 상기 보안화 버스를 통해 상기 주 CPU로부터 상기 임베디드 CPU로 요청(request)들을 송신한다.
바람직하게는, 상기 워터마크 시스템 칩은 상기 보안 프로세서를 이용하여 상기 워터마크를 암호화한다.
바람직하게는, 상기 보안화 버스는 상기 주 CPU 또는 상기 칩 위에 없는 임의의 장치에 접속불가능하다.
바람직하게는, 상기 워터마크 시스템 칩은 상기 임베디드 CPU가 불능(disabled)일 때 불능화된다.
바람직하게는, 상기 워터마크 시스템 칩은 상기 워터마크의 상기 삽입을 위해 상기 비디오 신호의 섹션들을 분류하고 선택한다.
본 발명에 관한 이러한 장점들 그리고 그 밖의 장점들, 측면들 및 신규한 특징들은 이와 관련하여 예시된 실시예들의 세부사항들과 더불어, 다음의 상세한 설명 및 도면들로부터 더 완벽하게 이해될 수 있을 것이다.
본 발명의 특정 측면들은 보안화된 워터마크 삽입(embedding) 및 검출 데이터 흐름 구조를 위한 방법 및 시스템에서 발견될 수 있다. 본 발명의 예시적인 측면들은 칩 내에 임베딩(embed)되는 CPU(임베디드(embedded) CPU)를 이용하여 비디오 신호에 워터마크를 삽입하는 것을 포함할 수 있다. 임베디드 CPU는 보안화(secure) 버스를 통해 보안 프로세서(security processor)를 이용하여 제어될 수 있다. 보안 프로세서 및 주(main) CPU는 칩 내에 집적될 수 있다. 워터마크는 압축/압축 복원(compression/decompression) 엔진(engine)을 거쳐 전환될 수 있는 압축 비디오 신호에 삽입될 수 있다. 워터마크는 압축 복원 비디오 신호에 삽입될 수 있고, 압축/압축 복원 엔진을 통과하도록 유도(direct)될 수 있다. 요청(request)들은 보안 프로세서 및 보안화 버스를 통해 주 CPU로부터 임베디드 CPU로 송신될 수 있다. 워터마크는 보안 프로세서를 이용하여 암호화될 수 있다. 보안화 버스는 주 CPU 또는 칩 위에 있지 않은 임의의 장치에 접속불가능할 수 있다. 칩은 임베디드 CPU가 불능(disabled)일 때 불능일 수 있다. 비디오 신호의 섹션(section)들은 분류될 수 있고, 이 분류에 기초하여 워터마크의 삽입을 위해 선택될 수 있다.
도 1은 본 발명의 일 실시예에 따른 디지털 워터마킹(watermarking) 프로세 스의 예시적인 애플리케이션(application)이다. 도 1을 참조하면, 케이블 입력(101), 텔레비전(109), 및 워터마크 삽입/검출 블럭(105), 메모리/스토리지(storage)(107) 및 CPU(111)를 포함하는 셋톱 박스(set top box; 103)를 포함하는 워터마크 삽입 및 검출 애플리케이션(100)이 도시된다. 케이블 입력(101)은 예를 들면 오디오, 비디오, 데이터, 및/또는 음성을 포함하는 멀티미디어 신호들을 통신할 수 있다.
셋톱 박스(103)는 멀티미디어 입력 신호들을 수신하고, 텔레비전(109) 상에 디스플레이 될 수 있는 출력 신호를 생성하기 위한 적절한 회로, 논리, 및/또는 코드를 포함할 수 있다. 메모리/스토리지(107)는 워터마크 삽입/검출 블럭(105)에 의해 프로세싱되었을 수 있는 케이블 입력(101)으로부터 수신된 멀티미디어 데이터를 저장하기 위해 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 메모리/스토리지(107)는 또한 셋톱 박스(103)의 동작의 다양한 측면들을 제어하기 위해 CPU(111)에 의해 이용될 수 있는 데이터를 저장하도록 동작할 수 있다. CPU(111)는 또한 도 4와 관련하여 기재되는 온칩(on-chip) 임베디드 CPU에 의해 제어될 수 있는 보안화 동작들을 제외하고, 워터마크 삽입/검출 블럭(105)의 특정 측면들을 제어하도록 동작할 수 있다. 케이블 입력(101)이 도시되었을지라도, 본 발명은 이에 제한되지 않는다. 이에 따라, 예컨대 위성 방송(satellite feed)과 같은 기타 매체 입력들이 셋톱 박스(103)에 대한 입력으로서 제공될 수 있다.
워터마크 삽입/검출 블럭(105)은 예컨대 케이블 입력(101)으로부터 멀티미디어 데이터를 수신하고, 이 데이터에서 디지털 워터마크를 삽입 또는 검출하기 위해 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 디지털 워터마크는 멀티미디어 데이터의 공급원(source) 및/또는 셋톱 박스(103)와 관련하여 암호화된(encrypted) 데이터를 포함할 수 있고, 이에 따라 예컨대 데이터가 이후에 표절된 것으로 발견된다면, 표절된 데이터의 공급원이 판단될 수 있다. 본 발명의 일 실시예에서, 워터마크 삽입은 압축 멀티미디어 데이터 상에서 수행될 수 있다. 멀티미디어 데이터가 암호화되면, 이 암호화된 멀티미디어 데이터의 결과적인 메시지들은 적합한 워터마크 검출 회로에서만 검출될 수 있다.
동작에 있어서, 멀티미디어 데이터는 케이블 입력(101)을 통해 셋톱 박스(103)로 통신될 수 있다. 멀티미디어 데이터가 예컨대 저작권(copyright)하의 소재(material)의 불법 복제 또는 사용으로부터 보호되는 것이 요구될 수 있는 경우에, 워터마크 삽입/검출 블럭(105)은 데이터(107)를 저장하고 및/또는 이 데이터를 압축 복원(decompress)하고 텔레비전(109)으로 통신하기 전에, 압축 멀티미디어 데이터에 워터마크를 삽입할 수 있다. 워터마크 삽입/검출 블럭(105)은 이전에 압축된 데이터에 워터마크를 삽입할 수 있고, 또는 예컨대 워터마크를 삽입한 후에 데이터를 인코딩할 수 있다. 워터마크 삽입/검출 블럭(105)은 또한 워터마킹 프로세스를 검증하기 위해 워터마크가 삽입된 비디오 데이터로부터 워터마크 데이터를 검출할 수 있다.
워터마킹 프로세스는 임베디드 프로세서에 의해 수행될 수 있고, 이에 따라 임베디드 프로세서의 외부로부터의 제어는 배제될 수 있고, 셋톱 박스(103)의 보안을 향상시킬 수 있다. 임베디드 CPU(405)는 도 4와 관련하여 더 설명되는 것과 같 이, 주 CPU로부터 요청을 수신할 수 있는 온칩 보안 프로세서(403)로부터만 요청들을 수신할 수 있다.
워터마크 삽입은 원본 매체(콘텐트(content)) 데이터
Figure 112010053261057-pat00001
, 삽입 키(embedding key)
Figure 112010053261057-pat00002
, 삽입 절차/알고리즘을 제어하는 파라미터들의 세트
Figure 112010053261057-pat00003
, 및 비디오 및/또는 오디오에 삽입될 수 있는 메시지
Figure 112010053261057-pat00004
을 포함하는 함수로서 고려될 수 있다. 메시지 데이터
Figure 112010053261057-pat00005
는 비트의 시퀀스(sequence)로서 고려될 수 있다. 파리미터들의 세트
Figure 112010053261057-pat00006
는 여러 요소들 사이에서 소위 워터마크 삽입 인자(watermark embedding factor), 즉 워터마크에 의해 원본 매체 데이터상에 가해질 수 있는 품질 저하(degradation)의 양을 제어하는 파라미터를 포함할 수 있다. 워터마크 삽입 함수의 출력은 워터마크가 삽입된 데이터
Figure 112010053261057-pat00007
를 포함한다. 이에 따라, 워터마크 삽입 함수는 다음 형태와 같을 수 있다.
Figure 112008083965463-pat00008
도 2는 본 발명의 일 실시예에 따른, 예시적인 워터마크 삽입 및 비디오 압축/인코딩 시스템을 도시한 블럭도이다. 도 2를 참조하면, 비디오 압축 인코더/트랜스코더(transcoder)(201), 및 워터마크 삽입기(watermark embedder; 203)가 도시된다. 또한 워터마크 데이터 신호(219), 원본 비디오 신호(221), 및 압축되고 워터미킹된 비디오 신호(225)가 도시된다.
비디오 압축 인코더/트랜스코더(201)는 감산기(subtractor; 204), DCT(discrete cosine transform) 블럭(205), 동작 보상 프레임 간 예측(motion-compensated inter-frame prediction; MCP) 블럭(207), 양자화기(quantizer; 209), 역 양자화기(inverse quantizer; 211), 역 DCT 블럭(213), 가산기(adder; 215), 및 가변 길이 코드(variable length code; VLC) 블럭(217)을 포함할 수 있다. 본 발명의 일 실시예에서, 압축 인코더/트랜스코더(201)는 MPEG-2 압축 표준을 포함할 수 있다.
감산기(204)는 다른 입력 신호로부터 입력 신호를 감산하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 감산기(204)는 예컨대 입력 신호로부터 예측 오류 신호(predict error signal)를 감산하기 위해 이용될 수 있다. 감산기(204)는 DCT 블럭(205)으로 통신적으로 결합될 수 있는 출력 신호를 생성할 수 있다.
DCT 블럭(205)은 DCT를 사용하여 입력신호를 변환하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. DCT 변환은 시간에서 데이터의 블럭 상에 수행될 수 있고, 원본 영상 데이터의 픽셀들의 주파수 계수(coefficient)들을 나타낼 수 있는 DCT 계수들을 포함하는 데이터의 블럭을 생성할 수 있다.
양자화기(209)는 샘플링된 신호를 정의하는 비트들의 요구되는 수를 감소시켜, 이에 따라 송신되는 비트들의 수를 감소시키고 처리량(throughput)을 향상시키도록 동작할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 비트 감소량은 예컨대 애플리케이션의 영상 품질 요구치, 및 데이터 스토리지 용량에 의존할 수 있다.
역 양자화기(211)는 양자화기(209)의 양자화 프로세스의 역 기능을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 이러한 방식으로, DCT 블럭(205)의 원본 출력의 근사치가 생성될 수 있다. 역 양자화기(211)는 신호를 정의하는 비트들의 수를 증가시킬 수 있고, 역 DCT 블럭(213)으로 통신될 수 있는 출력 신호를 생성할 수 있다.
역 DCT 블럭(213)은 감산기(204)에 의해 생성되는 원본 신호의 근사치를 생성할 수 있는 역 DCT 프로세스를 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 역 DCT 블럭(213)은 가산기(215)로 통신될 수 있는 출력 신호를 생성할 수 있다.
가산기(215)는 입력 신호들의 합이 될 수 있는 출력 신호를 생성하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 가산기(215)는 역 DCT 블럭(213)에 의해 생성된 출력 신호, 및 MCP 블럭(207)에 의해 생성된 출력 신호를 입력으로서 수신할 수 있다.
MCP 블럭(207)은 이전 영상 프레임에 기초하여 다음 영상 프레임을 예측하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. MCP 블럭(207)은 가산기(215)에 의해 생성된 신호를 입력으로서 수신할 수 있고, 감산기(204) 및 가산기(215)로 통신될 수 있는 출력 신호를 생성할 수 있다. MCP 블럭(207)의 출력 신호는 감산기(204)에 의해 원본 비디오 신호(221)로부터 감산될 수 있는 예측 오류 영상을 포함할 수 있다.
워터마크 삽입기(203)는 수신된 비디오 데이터에 워터마크를 삽입하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 워터마크 삽입기(203)는 워터마크 신호(219), 비밀 키(secret key; 223), 및 압축 인코더/트랜스코더(201)로부터의 비디오 데이터를 입력으로서 수신할 수 있다. 워터마크 삽입기(203)는 도 6과 관련하여 더 설명될 것이다. 비밀 키(223)는 비디오 데이터를 수신하기 위해 이용되는 셋톱 박스(103)와 같은 특정 셋톱 박스를 식별하기 위해 이용될 수 있는 정보를 포함할 수 있다. 예를 들면 이러한 방식으로, 표절된 비디오 데이터의 공급원이 확인될 수 있다.
동작에 있어서, 원본 비디오 신호(221)는 감산기(204)로 통신될 수 있고, 여기서 MCP 블럭(207)에 의해 생성된 예측 오류 영상은 감산될 수 있다. 결과적인 신호는 양자화기(209)로 출력 신호를 통신할 수 있는 DCT 블럭(205)으로 통신될 수 있다. 결과적인 양자화된 신호는 워터마크 삽입기(203)로 통신될 수 있고, 여기서 워터마크는 데이터 내에 삽입될 수 있다. 워터마크는 예를 들면, 기록 및 저장 특권, 셋톱 박스 위치, 및 식별(identification)과 같은 셋톱 박스에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 원본 비디오 신호(221)가 압축 복원된 데이터를 포함할 수 있는 경우, 워터마크가 삽입된 데이터는 VLC 블럭(217)에 의한 압축을 위해 압축 인코더/트랜스코더(201)로 다시 통신될 수 있다. 이러한 방식으로, 워터마크 삽입기(203)에 의해 생성된 워터마크가 삽입된 신호는 압축될 수 있고, 이에 따라 압축되고 워터마크가 삽입된 비디오 신호(225)를 생성할 수 있다. 이 실시예는 도 2의 경로 1로 도시되고, 여기서 워터마크는 양자화된 데이터 영역에서 삽입될 수 있다.
본 발명의 다른 실시예에서, 원본 비디오 신호(221)가 압축될 수 있는 경우에, 신호가 이미 압축되었기 때문에 워터마크가 삽입된 데이터는 VLC 블럭(217) 이후에 압축 인코더/트랜스코더(201)로 통신될 수 있고, 이에 따라 압축되고 워터마크가 삽입된 비디오 신호(225)를 생성할 수 있다. 이 실시예는 도 2의 경로 2에 의해 도시되고, 여기서 워터마크는 압축 데이터로 삽입될 수 있으며, 압축 인코더/트랜스코더의 출력으로 통신될 수 있다. 이에 따라 워터마크 삽입기(203)는 압축 또는 압축 복원 영역에서 데이터를 조작할 수 있다.
워터마크 삽입기(203)는 또한 데이터의 비트 수를 증가시킬 수 있고 이 신호를 역 DCT 블럭(213)으로 통신할 수 있는 역 양자화기(211)에 워터마크가 삽입된 데이터를 통신할 수 있다. 역 DCT 블럭(213)은 역 이산 코사인 변환된 신호를 가산기(215)로 통신할 수 있다. 가산기(203)는 역 DCT 블럭(213) 및 MCP 블럭(207)으로부터의 신호들을 가산할 수 있고, MCP 블럭(207)으로 통신될 수 있는 출력 신호를 생성할 수 있다. MCP 블럭(207)은 원본 비디오 신호(221)로부터 감산될 수 있는 예측 오류 영상을 생성할 수 있다. 이러한 방식으로, 압축되고 워터마크가 삽입된 비디오 신호(225)의 오류는 최소화될 수 있다.
도 2의 압축 인코더/트랜스코더(201)는 MPEG-2 포맷에 제한되지 않는다. 이에 따라, 예컨대 H.264/MPEG-4 AVC 또는 비표준 코덱과 같은 임의의 압축 표준이 워터마크 삽입기(201)로 통신하기 위해 이용될 수 있다.
도 3은 본 발명의 일 실시예에 따른, 예시적인 워터마크 검출 시스템이다. 도 3을 참조하면, 압축 복원 엔진(301), 및 워터마크 검출 블럭(303)을 포함하는 워터마크 검출 시스템(300)이 도시된다. 또한 압축되고 워터마크가 삽입된 신호(315), 워터마크 데이터 신호(317), 디코딩된 비디오 신호(319), 및 비밀 키(321)가 도시된다. 보안화 워터마크 검출은 예를 들면 워터마크 검증 및/또는 디버깅(debugging) 동안 수행될 수 있다.
압축 복원 엔진(301)은 가변 길이 디코드(variable length decode; VLD) 블럭(305), 역 양자화기(307), 역 DCT 블럭(309), 가산기(311), 및 MCP 블럭(313)을 포함할 수 있다. 역 양자화기(307), 역 DCT 블럭(309), 가산기(311), 및 MCP 블럭(313)은 실질적으로 도 2와 관련하여 기재된 역 양자화기(211), 역 DCT 블럭(213), 가산기(215), 및 MCP 블럭(207)과 유사할 수 있다.
VLD 블럭(305)은 수신된 신호의 디코딩을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있고, 도 2와 관련하여 기재된 VLC 블럭(217)의 역 기능을 포함할 수 있다. VLD 블럭(305)은 압축 비디오 신호(315)를 입력으로서 수신할 수 있고, 출력 신호를 역 양자화기(307) 및 워터마크 검출 블럭(303)으로 통신할 수 있다.
워터마크 검출 블럭(303)은 수신된 신호로부터 워터마크 신호의 검출을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 워터마크 검출 블럭(303)은 도 3의 경로 1 또는 경로 2에서 비디오 신호, 및 비밀 키(321)를 입력으로서 수신할 수 있다. 비밀 키(321)는 도 2와 관련하여 기재된 비밀 키(223)와 실질적으로 유사할 수 있고, 셋톱 박스(103)와 같은 셋톱 박스가 워터마크 데이터(317)를 검출하기 위해 허가될 수 있는지 검증하기 위해 이용될 수 있다. 워터마 크 검출 블럭(303)은 도 6과 관련하여 더 설명될 것이다.
동작에 있어서, 압축 비디오 신호(315)는 워터마크가 도 2의 경로 1에 대응하는 인코딩 이전에 데이터에 삽입된 경우, 도 3의 경로 1에서 VLD 블럭(305)으로 통신될 수 있다. 본 발명의 다른 실시예에서, 수신된 데이터는 워터마크가 도 2의 경로 2에 대응하는 인코딩된 스트림에 삽입된 경우에, 도 3의 경로 2에서 워터마크 검출 블럭(303)으로 직접 통신될 수 있다. 워터마크 검출 블럭(303)은 이후에 워터마크 신호(317)를 출력 신호로서 생성할 수 있다.
수신된 압축 비디오 신호(315)는 역 양자화기 블럭(307) 및 MCP 블럭(313)으로 디코딩된 신호를 통신할 수 있는 VLD 블럭(305)에 의해 디코딩될 수 있다. 압축 복원 엔진(301)은 MCP 블럭(313)에 의해 생성된 예측 오류 영상을 역 DCT 블럭(309)에 의해 생성된 출력 신호에 부가하는 것에 의해 디코딩된 비디오 신호(319)를 생성할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 예시적인 워터마크 삽입 및 검출 구현의 블럭도이다. 도 4를 참조하면, 주 CPU(401), 보안 프로세서(403), 임베디드 CPU(405), 비디오 압축/압축 복원 엔진(407), 및 보안화(secure) 버스(411)를 포함하는 칩(400)이 도시된다. 또한 압축 비디오 메모리 영역(409) 및 비디오 버스(413)가 도시된다.
주 CPU(401)는 셋톱 박스(103)의 전체 기능 제어를 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 예를 들면, 주 CPU(401)는 프로그램가능한 파라미터들, 및/또는 복수의 구성 요소들, 장치들, 및/또는 도 1과 관 련하여 기재된 셋톱 박스(103)의 프로세싱 요소들의 값들을 업데이트 및/또는 수정하기 위해 이용될 수 있다. 주 CPU(401)는 외부 공급원들 또는 제3자들로부터의 코드를 실행하도록 동작할 수 있고, 임베디드 CPU(405) 및/또는 워터마크 삽입 프로세스에 직접 접속하거나 제어하지 못할 수 있다. 주 CPU(401)는 칩(400) 내에 저장된 신뢰 코드(trusted code)에 의해 정의되는 특정 명령들만 통과하도록 허용할 수 있는 보안 프로세서(403)를 통해 임베디드 CPU(405)로 요청들을 통신할 수만 있다.
임베디드 CPU(405)는 워터마크 삽입 프로세스의 제어를 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 임베디드 CPU(405)는 주 CPU(401)로부터 완전히 분리될 수 있고, 신뢰 코드만 이용할 수 있으며, 이 신뢰 코드는 칩(400) 상에 국소적으로 저장된 해시 코드(hashed code)를 포함할 수 있다. 이러한 방식으로, 제3자, 또는 해커(hacker)들로부터의 소프트웨어 코드는 워터마크 삽입 프로세스에 영향을 미칠 수 없다. 임베디드 CPU(415)의 워터마크 삽입 프로세스는 도 5와 관련하여 더 설명된다.
보안 프로세서(403)는 주 CPU(401)와 보안화 버스(411) 사이에 보안화 상호작용(interaction)을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 주 CPU(401)는 외부 공급원들 및 미지의 사용자들로부터의 소프트웨어 코드를 이용할 수 있기 때문에, 보안 프로세서(403)는 보안화 버스(411)로 통신되는 허용된 또는 허가된 프로세스들만을 동작하게 할 수 있다.
비디오 압축/압축 복원 엔진(407)은 압축 비디오 메모리 영역(409)으로부터 각각의 저장 및/또는 검색을 위해 비디오 압축 및 압축 복원을 가능하게 할 수 있 는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 비디오 압축/압축 복원 엔진(407)은 임베디드 CPU(405)에 의해 독점적으로 제어될 수 있고, 외부 프로세서들이 보안화 프로세스들을 제어할 능력을 감소 및/또는 제거할 수 있어, 보안을 크게 향상시킬 수 있다.
보안화 버스(411)는 보안 프로세서(403), 임베디드 CPU(405), 및 비디오 압축/압축 복원 엔진(407) 사이에서 보안화 명령들을 통신가능하게 할 수 있는 통신 버스를 포함할 수 있다. 비디오 버스(413)는 압축 비디오 메모리 영역(409)과 비디오 압축/압축 복원 엔진(407) 사이에서 압축 비디오 데이터의 통신을 가능하게 할 수 있는 통신 버스를 포함할 수 있다. 또한, 임베디드 CPU(405)는 비디오 버스(413)를 통해 압축 비디오 메모리 영역(409)을 접속할 수 있다.
동작에 있어서, 비디오 신호는 비디오 버스(413)를 통해 수신할 수 있다. 임베디드 CPU(405)는 데이터가 압축/압축 복원 엔진(407)에 의해 압축되고 압축 비디오 메모리 영역(409)에 저장되기 전에 워터마크를 삽입할 수 있다. 임베디드 CPU(405)는 보안 프로세서(403)에 의해 제어될 수 있고, 이 둘은 국소적으로 저장된 코드를 포함할 수 있는 신뢰 코드 상에서 동작할 수 있으며, 이에 따라 주 CPU(401) 또는 임의의 외부 공급원에 의해 접속불가능할 수 있고, 따라서 시스템의 보안을 향상시킬 수 있다. 임베디드 CPU(405)는 보안화 버스(411)를 통해 보안 프로세서(403)로부터 제어 신호들을 수신할 수 있다.
신뢰 코드는 임베디드 CPU(405) 또는 보안 프로세서(403)의 외부 해킹(hacking)을 배제하기 위해 신뢰 개인 키(trusted private key)를 사용하여 서 명(sign)될 수 있으며, 해시 메모리(hashed memory) 또는 잠김 메모리(locked memory)와 같은 보안화 메모리 내에, 또는 온칩(on-chip)으로 저장될 수 있다. 임베디드 CPU(405)는 비디오 버스(413)를 통해 수신된 비디오 데이터에 삽입되는 워터마크를 생성하고 삽입할 수 있다. 이에 따라, 압축/압축 복원 엔진(407)은 임베디드 CPU(405) 및/또는 보안 프로세서(403)에 의해 제어될 수 있다.
워터마크 암호화는 워터마크의 암호화가 요구될 수 있는 경우, 보안 프로세서(403)에 의해 수행될 수 있다. 주 CPU(401)는 보안 프로세서(403)를 통해 임베디드 CPU(405)에 의해 워터마크 삽입을 개시할 수 있다. 임베디드 CPU(405)는 도 1과 관련하여 기재된 셋톱 박스(103)에 중요한 기능들을 수행할 수 있다. 이러한 방식으로, 해커가 임베디드 CPU(405)를 불능화(disable)하도록 시도할 수 있는 경우, 셋톱 박스(103)가 불능화될 수 있다. 또한, 주 CPU(401)는 보안 프로세서(403) 및 보안화 버스(411)를 통해 임베디드 CPU(405)로 통신되는 호스트 신호(host signal)들을 생성할 수 있다. 보안 프로세서(403)는 특정의 허용된 명령들만이 임베디드 CPU(405)로 통신되는 것을 보장할 수 있다.
임베디드 프로세서를 위한 제어 기능들은 보안 프로세서(403)에 의해서만 설정될 수 있고, 주 CPU(401) 또는 임의의 외부 장치나 시스템에 의해 접속될 수 없는 펌웨어(firmware)를 포함할 수 있다. 이러한 방식으로, 워터마킹 프로세스는 해커들에 의한 공격으로부터 보호될 수 있다.
본 발명의 일 실시예에서, 임베디드 CPU(405) 상에서 실행될 수 있는 소프트웨어 코드는 플래시 메모리(flash memory)와 같은 메모리로부터 다운로드(download)되기 전에 서명되고 검증될 수 있다. 서명 검증(signature verification)은 임베디드 CPU(405) 상에서 실행되는 코드가 셋톱 박스(103)에 대해 합법적이고 허가될 수 있는 것을 검증하기 위해 셋톱 박스(103)에 특정된 정보에 대응할 수 있다.
비디오 압축/압축 복원 엔진(407)은 비디오 버스(413)를 통해 텔레비전(109)과 같은 디스플레이에 통신하기 전에 압축 비디오 메모리 영역(409)에 저장된 압축 비디오 데이터의 압축 복원을 가능하게 할 수 있다.
도 5는 본 발명의 일 실시예에 따른, 예시적인 워터마크 삽입기를 도시한 블럭도이다. 도 5를 참조하면, 보안 프로세서(501), 및 임베디드 CPU(503)가 도시된다. 또한 워터마크 데이터(515), 및 비밀 키(517)가 도시된다.
보안 프로세서(501)는 암호화 블럭(505) 및 데이터 변환 블럭(507)을 포함할 수 있다. 암호화 블럭(505)은 비밀 키(517)를 이용하여 워터마크 데이터(515)의 암호화 또는 랜덤화(randomization)를 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 암호화 블럭(505)은 데이터 변환 블럭(507)으로 통신적으로 결합될 수 있는 출력 신호를 생성할 수 있다. 본 발명의 다른 실시예에서, 암호화 블럭(505)은 불능화될 수 있고, 워터마크 데이터(515)는 데이터 변환 블럭(507)으로 직접 통신될 수 있다.
데이터 변환 블럭(507)은 데이터를 압축 비디오 스트림으로 삽입될 수 있는 형태로 변환하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 데이터 변환 블럭(507)은 임베디드 CPU(503)의 데이터 삽입 블럭(609)으로 통신적으로 결합될 수 있다.
임베디드 CPU(503)는 데이터 삽입 블럭(509), 데이터 분류 및 선택 블럭(511), 및 데이터 병합(merging) 블럭(513)을 포함할 수 있다. 데이터 삽입 블럭(509)은 압축 비디오 스트림으로 워터마크 데이터의 삽입을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 데이터 삽입 블럭(509)은 데이터 변환 블럭(507)으로부터 데이터 변환된 워터마크 데이터, 및 데이터 분류 및 선택 블럭(511)의 출력 신호를 입력으로서 수신할 수 있다.
데이터 분류 및 선택 블럭(511)은 어떤 주파수에서 및/또는 어떤 데이터가 워터마크가 삽입될 것을 요구할 수 있는지 판단하기 위해 수신된 비디오 스트림으로부터 데이터를 분류 및 선택하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 이러한 방식으로, 워터마크는 워터마크의 가시적인 아티팩트(artifact)들을 야기하지 않고 비디오 스트림에 삽입될 수 있다. 데이터 분류 및 선택 블럭(511)은 도 2와 관련하여 기재된 VLC 블럭(217)과 같은 비디오 인코더로부터 비디오 신호를 입력으로서 수신할 수 있다.
데이터 삽입 블럭(509)은 비디오 스트림으로 워터마크 데이터를 삽입하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 데이터 삽입 블럭(509)은 데이터 변환 블럭(507)을 통해 보안 프로세서(501)로부터 통신된 워터마크, 및 데이터 분류 및 선택 블럭(511)으로부터의 비디오 데이터를 입력으로서 수신할 수 있다.
데이터 병합 블럭(513)은 데이터 삽입 블럭(509)에서 워터마크를 수신한 비 디오 신호와 워터마킹을 요구하지 않은 신호의 병합을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다.
동작에 있어서, 워터마크 데이터(515)는 비밀 키(517)를 이용하여 암호화 블럭(505)에 의해 암호화될 수 있다. 암호화된 워터마크 데이터는 데이터 변환 블럭(507)으로 통신될 수 있다. 데이터 변환 블럭(507)은 주파수 상에서 신호 확산을 결과하도록 이산 시간 프레임(discrete time frame) 상에서 데이터 신호를 변환할 수 있고, 이에 따라 워터마크가 비디오 신호에 삽입되었을 때 이를 해커가 제거하는 것은 매우 어려울 수 있다. 데이터 변환된 신호는 임베디드 CPU(503)의 데이터 삽입 블럭(509)으로 통신될 수 있다.
도 2와 관련하여 기재된 압축 인코더/트랜스코더(201)와 같은 비디오 인코더/트랜스코더로부터 수신된 비디오 신호는 데이터 분류 및 선택 블럭(511)에 의해 수신될 수 있고, 비디오 데이터의 어떤 곳에서 워터마크가 삽입될 수 있는지 판단할 수 있다. 삽입되는 비디오 데이터의 섹션은 데이터 삽입 블럭(509)으로 통신될 수 있고, 여기서 워터마크는 데이터에 삽입될 수 있다.
데이터 분류 및 선택 블럭(511)에 의해 수신된 비디오 신호가 압축될 수 있는 경우, 경로 2가 이행될 수 있고, 이에 따라 데이터 병합 블럭(513)은 우회(bypass)될 수 있다. 데이터 분류 및 선택 블럭(511)에 의해 수신된 비디오 신호가 압축 복원(uncompress)될 수 있는 경우, 경로 1이 이행될 수 있고, 삽입된 워터마크는 데이터 분류 및 선택 블럭(511)으로부터 데이터 병합 블럭(513)으로 직접 통신되는 데이터와 병합될 수 있다. 결과적으로 병합된 비디오 스트림은 도 2와 관 련하여 기재된 VLC 블럭(217)과 같은 비디오 디코더로 다시 통신될 수 있다. 이 데이터 경로는 도 2, 및 도 5의 경로 1로 표시될 수 있다.
도 6은 본 발명의 일 실시예에 따른, 예시적인 워터마크 검출기의 블럭도이다. 도 6을 참조하면, 임베디드 CPU(601), 및 보안 프로세서(603)를 포함하는 워터마크 검출기(303)가 도시된다. 또한 비밀 키(613), 및 워터마크 데이터(615)가 도시된다. 임베디드 CPU(601)는 데이터 검출 블럭(605) 및 데이터 분리 블럭(607)을 포함할 수 있다. 보안 프로세서(603)는 데이터 변환 블럭(609) 및 복호화(decryption) 블럭(611)을 포함할 수 있다.
데이터 분리 블럭(607)은 도 3과 관련하여 기재된 VLD 블럭(305)과 같은 비디오 디코더로부터 수신된 비디오 신호의 데이터를 분리하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 워터마크를 포함하는 비디오 신호의 부분들은 데이터 검출 블럭(605)에 의해 워터마크 검출을 위해 분리될 수 있다.
데이터 검출 블럭(605)은 데이터 분리 블럭(607)에 의해 비디오 스트림으로부터 분리된 데이터로부터 워터마크 데이터의 검출을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 본 발명의 다른 실시예에서, 데이터 검출 블럭(605)은 워터마크가 도 2 및 도 6의 경로 2에 도시된 것과 같이 압축 데이터로 직접 삽입될 수 있는 경우 직접 압축 비디오를 직접 수신할 수 있다.
데이터 변환 블럭(609)은 비디오 스트림에 삽입하기에 적절한 형태로부터 도 5와 관련하여 기재된 워터마크 데이터(515)와 같은 원본 워터마크 데이터를 검출하 기 위한 형태로 데이터를 변환하는 것을 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다.
복호화 블럭(611)은 데이터 변환 블럭(609)으로부터 변환된 워터마크 데이터의 복호화를 가능하게 할 수 있는 적절한 논리, 회로, 및/또는 코드를 포함할 수 있다. 복호화 블럭(611)은 워터마크 데이터(615)를 생성하기 위해 비밀 키(613)를 이용할 수 있다. 워터마크 삽입 및 검출이 성공적인 경우, 워터마크 데이터(615)는 도 5와 관련하여 기재된 워터마크 데이터(515)와 동일할 수 있다.
도 7은 본 발명의 일 실시예에 따른, 예시적인 워터마킹 삽입 프로세스의 흐름도이다. 단계(703)에서, 시작 단계(701) 이후에, 비디오 신호가 수신될 수 있다. 단계(705)에서, 워터마크 데이터는 비밀 키를 사용하여 암호화될 수 있고, 뒤따르는 단계(707)에서, 비디오 데이터의 섹션들이 워터마크 삽입을 위해 분류되고 선택될 수 있다. 단계(709)에서, 워터마크는 선택된 데이터에 삽입될 수 있고, 이후에 워터마킹되지 않은 데이터와 병합될 수 있다. 단계(711)에서, 워터마크가 삽입된 비디오 데이터가 이미 압축된 경우, 예시적인 단계들은 단계(715)로 건너뛸 수 있고, 단계(715)에서 압축 비디오 메모리에 저장될 수 있다. 워터마크가 삽입된 비디오 데이터가 압축되지 않은 경우, 워터마크가 삽입된 데이터는 단계(715)를 진행하기 전에 비디오 압축/압축 복원 엔진에 의해 압축될 수 있고(713), 단계(715)에서 압축 비디오 메모리에 저장될 수 있으며, 이후에 단계(717)가 뒤따를 수 있다.
본 발명의 일 실시예에서, 임베디드 CPU(405)를 이용하여 비디오 신호(221)에 워터마크를 삽입하기 위한 방법 및 시스템이 기재된다. 임베디드 CPU(405)는 보 안화 버스(411)를 통해 보안 프로세서(403)를 이용하여 제어될 수 있다. 워터마크(515)는 압축/압축 복원 엔진(407)을 거쳐 전환될 수 있는 압축 비디오 신호에 삽입될 수 있다. 워터마크(515)는 압축 복원된 비디오 신호에 삽입될 수 있고, 압축/압축 복원 엔진(407)을 통과하도록 유도될 수 있다. 요청들은 보안 프로세서(403) 및 보안화 버스(411)를 통해 주 CPU(401)를 통해 임베디드 CPU(405)로 송신될 수 있다. 워터마크(515)는 보안 프로세서(403)를 이용하여 암호화될 수 있다. 보안화 버스(411)는 주 CPU(401), 또는 칩 상에 없는 임의의 장치에 접속불가능할 수 있다. 이 칩은 임베디드 CPU(405)가 불능일 때 불능일 수 있다. 비디오 신호의 섹션들은 삽입을 위해 분류되고 선택될 수 있다.
본 발명의 특정 실시예들은 디지털 매체 프로세싱을 위해 적어도 하나의 코드부(code section)를 갖는 컴퓨터 프로그램이 저장된 기계 판독가능 스토리지(machine-readable storage)를 포함할 수 있고, 상기 적어도 하나의 코드부는 기계가 본원에 기재된 하나 또는 그 이상의 단계들을 수행하게 하기 위해 상기 기계에 의해 실행가능하다.
이에 따라, 본 발명은 하드웨어나 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 실현될 수 있다. 본 발명은 적어도 하나의 컴퓨터 시스템 안에 중앙 집중된 방식으로 구현될 수도 있고, 서로 다른 요소들이 여러 개의 상호 연결된 컴퓨터 시스템들에 걸쳐 퍼져있는 분산된 방식으로 구현될 수도 있다. 여기에 설명된 방법들을 수행할 수 있도록 설계된 어떠한 형태의 컴퓨터 시스템 또는 기타 장치도 적합하다. 통상적으로 하드웨어와 소프트웨어의 조합은 컴퓨터 프로그램이 탑재된 범용 컴퓨터 시스템이 될 수 있으며, 이때 상기 컴퓨터 프로그램은 로딩되어 실행될 경우에 상기 컴퓨터 시스템을 제어하여, 이 컴퓨터 시스템이 여기에서 설명한 방법들을 수행할 수 있게 한다.
본 발명의 일 실시예는 기판 수준의 제품으로서 구현될 수 있고, 단일 칩 즉 주문형 반도체 칩(application specific integrated chip, ASIC)으로서 구현될 수도 있으며, 해당 시스템의 다른 부분들을 개별적인 컴포넌트들로 구성하는 단일 칩 상에 다양한 수준을 가지고 집적될 수도 있다. 그러한 시스템의 집적의 정도는 기본적으로 처리 속도 및 비용 관점에 의해 결정될 수 있다. 최신 프로세서들의 고도로 정교한 특성 때문에, 상업적으로 구매 가능한 프로세서들을 이용하는 것이 가능하며, 이러한 프로세서들은 현 시스템의 ASIC 장치에 대해 외부적으로 구현될 수 있다. 다른 방법으로는, 만약 그러한 프로세서가 ASIC 코어 내지 로직 블록으로 구매가능하다면, 그러한 상업 구매 프로세서는 ASIC 장치의 일부로서 펌웨어로 구현되는 다양한 기능을 가지고 구현될 수 있다.
본 발명은 또한 컴퓨터 프로그램 제품(computer program product)에 내장될 수 있다. 이때, 상기 컴퓨터 프로그램 제품은 여기서 설명한 방법들의 구현을 가능하게 하는 모든 특징들을 모두 포함하며, 컴퓨터 시스템에 탑재될 경우에는 그러한 방법들을 수행할 수 있다. 본 발명의 문맥에서 컴퓨터 프로그램이란, 어떠한 종류의 언어, 코드 또는 표기법으로 나타낸, 일단의 명령에 관한 어떠한 종류의 표현을 뜻한다. 이때, 상기 일단의 명령들이란, 정보 처리 능력을 가진 시스템이 어떤 특정한 기능을 직접적으로, 또는 다음의 (a) 다른 프로그램 언어, 코드나 표기법으로 컨버젼(conversion)되거나, (b) 상이한 물질적인 형태로 재생산을 각각 거치거나 또는 두 가지 모두를 거친 후에, 수행하도록 의도된 것들을 말한다.
본 발명이 특정한 실시예들에 관하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이뤄질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 지침에 맞게 조절할 수 있도록 다양한 개조가 이뤄질 수 있다. 따라서, 본 발명은 개시된 특정한 실시에 한정되는 것이 아니며, 본 발명은 첨부된 청구 범위의 사상 내에 들어오는 모든 실시예들을 포함한다.
도 1은 본 발명의 일 실시예에 따른 디지털 워터마킹(watermarking) 프로세스의 예시적인 애플리케이션이다.
도 2는 본 발명의 일 실시예에 따른, 예시적인 워터마크 삽입 및 비디오 압축/인코딩 시스템을 도시한 블럭도이다.
도 3은 본 발명의 일 실시예에 따른, 예시적인 워터마크 검출 시스템이다.
도 4는 본 발명의 일 실시예에 따른, 예시적인 워터마크 삽입 및 검출 구현의 블럭도이다.
도 5는 본 발명의 일 실시예에 따른, 예시적인 워터마크 삽입기를 도시한 블럭도이다.
도 6은 본 발명의 일 실시예에 따른, 예시적인 워터마크 검출기의 블럭도이다.
도 7은 본 발명의 일 실시예에 따른, 예시적인 워터마킹 삽입 프로세스의 흐름도이다.

Claims (10)

  1. 주(main) CPU, 임베디드(embedded) CPU, 및 보안 프로세서(security processor)를 포함하는 워터마크 시스템 칩(watermark system chip) 내에서의 디지털 매체 프로세싱(digital media processing)을 위한 방법에 있어서,
    상기 임베디드 CPU를 이용하여 비디오 신호 내에 워터마크를 삽입하는 단계; 및
    보안화 버스(secure bus)를 통해 상기 보안 프로세서를 이용하여 상기 임베디드 CPU를 제어하는 단계를 포함하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 방법.
  2. 청구항 1에 있어서,
    압축(compressed) 비디오 신호 내에 상기 워터마크를 삽입하는 단계를 포함하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 방법.
  3. 청구항 2에 있어서,
    압축(compression)/압축 복원(decompression) 엔진을 거쳐 상기 워터마크가 삽입된(watermarked) 압축 비디오 신호를 전환하는 단계를 포함하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 방법.
  4. 청구항 1에 있어서,
    압축 복원 비디오 신호 내에 상기 워터마크를 삽입하는 단계를 포함하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 방법.
  5. 청구항 4에 있어서,
    압축/압축 복원 엔진을 통과하도록 상기 워터마크가 삽입된 압축 복원 비디오 신호를 유도하는(directing) 단계를 포함하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 방법.
  6. 청구항 1에 있어서,
    상기 보안 프로세서 및 상기 보안화 버스를 통해 상기 주 CPU로부터 상기 임베디드 CPU로 요청(request)들을 송신하는 단계를 포함하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 방법.
  7. 디지털 매체 프로세싱(digital media processing)을 위한 시스템에 있어서,
    주(main) CPU, 임베디드(embedded) CPU, 및 보안 프로세서(security processor)를 포함하는 워터마크 시스템 칩(watermark system chip)을 포함하고,
    상기 임베디드 CPU는 비디오 신호 내에 워터마크를 삽입하고,
    상기 보안 프로세서는 보안화 버스(secure bus)를 통해 상기 임베디드 CPU를 제어하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 시스템.
  8. 청구항 7에 있어서,
    상기 워터마크 시스템 칩은 압축(compressed) 비디오 신호 내에 상기 워터마크를 삽입하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 시스템.
  9. 청구항 8에 있어서,
    상기 워터마크 시스템 칩은 압축(compression)/압축 복원(decompression) 엔진을 거쳐 상기 워터마크가 삽입된(watermarked) 압축 비디오 신호를 전환하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 시스템.
  10. 청구항 7에 있어서,
    상기 워터마크 시스템 칩은 압축 복원(decompressed) 비디오 신호 내에 상기 워터마크를 삽입하는 것을 특징으로 하는 디지털 매체 프로세싱을 위한 시스템.
KR1020080123062A 2007-12-07 2008-12-05 보안화된 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 방법 및 시스템 KR101000989B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/952,789 2007-12-07
US11/952,789 US20090147985A1 (en) 2007-12-07 2007-12-07 METHOD AND SYSTEM FOR secure WATERMARK EMBEDDING AND EXTRACTION DATA FLOW ARCHITECTURE

Publications (2)

Publication Number Publication Date
KR20090060195A KR20090060195A (ko) 2009-06-11
KR101000989B1 true KR101000989B1 (ko) 2010-12-13

Family

ID=40386031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080123062A KR101000989B1 (ko) 2007-12-07 2008-12-05 보안화된 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20090147985A1 (ko)
EP (1) EP2068566A3 (ko)
KR (1) KR101000989B1 (ko)
CN (1) CN101453617A (ko)
TW (1) TW200943966A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011103258A2 (en) 2010-02-22 2011-08-25 Dolby Laboratories Licensing Corporation Video display control using embedded metadata
US8886944B2 (en) 2010-06-22 2014-11-11 Microsoft Corporation Watermark to identify leak source
JP2012065258A (ja) * 2010-09-17 2012-03-29 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP2012064135A (ja) * 2010-09-17 2012-03-29 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
KR101361524B1 (ko) * 2012-11-09 2014-02-25 주식회사 시공미디어 콘텐츠 자동 변환 처리를 통한 워터마크 삽입 장치 및 방법
TWI617938B (zh) * 2013-07-02 2018-03-11 博世尼克資訊股份有限公司 授權程式的裝置、程式交易裝置及其授權程式的方法
DE102018110252A1 (de) * 2018-04-27 2019-10-31 Infineon Technologies Ag Transceiver, System mit Transceivern und Signal
CN111008923B (zh) 2018-10-08 2022-10-18 阿里巴巴集团控股有限公司 水印嵌入和水印提取方法、装置和设备
CN109391819B (zh) * 2018-10-24 2020-11-27 广西师范大学 一种基于像素值动态预测的可逆信息隐藏方法
CN109886035B (zh) * 2019-05-06 2019-08-13 上海燧原智能科技有限公司 芯片访问安全的控制装置及芯片系统
CN110337033B (zh) * 2019-07-04 2021-05-18 深圳市魔乐视科技有限公司 机顶盒防盗版系统
CN111510775B (zh) * 2020-05-11 2021-04-02 知安视娱(南京)科技有限公司 Iptv中机顶盒视频的数字版权管理与水印追踪方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002199366A (ja) 2000-12-22 2002-07-12 Mitsubishi Electric Corp データ再生装置およびデータ再生方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208745B1 (en) * 1997-12-30 2001-03-27 Sarnoff Corporation Method and apparatus for imbedding a watermark into a bitstream representation of a digital image sequence
US6282650B1 (en) * 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
US8191166B2 (en) * 2002-09-27 2012-05-29 Broadcom Corporation System and method for securely handling control information
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
US8355525B2 (en) * 2000-02-14 2013-01-15 Digimarc Corporation Parallel processing of digital watermarking operations
JP2004048219A (ja) * 2002-07-10 2004-02-12 Hitachi Ltd 電子透かし情報の挿入方法
KR100624751B1 (ko) * 2003-04-25 2006-09-19 (주)마크텍 영상에 워터마크를 삽입하는 방법 및 상기 방법을 이용한디지털 비디오 저장장치
US8000493B2 (en) * 2007-03-08 2011-08-16 Broadcom Corporation Method and system for watermark embedding in a multimedia system-on-chip
US8270664B2 (en) * 2007-11-27 2012-09-18 Broadcom Corporation Method and system for utilizing GPS information to secure digital media

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002199366A (ja) 2000-12-22 2002-07-12 Mitsubishi Electric Corp データ再生装置およびデータ再生方法

Also Published As

Publication number Publication date
KR20090060195A (ko) 2009-06-11
EP2068566A3 (en) 2009-08-12
EP2068566A2 (en) 2009-06-10
TW200943966A (en) 2009-10-16
US20090147985A1 (en) 2009-06-11
CN101453617A (zh) 2009-06-10

Similar Documents

Publication Publication Date Title
KR101000989B1 (ko) 보안화된 워터마크 삽입 및 검출 데이터 흐름 구조를 위한 방법 및 시스템
US8705791B2 (en) Method and system for utilizing GPS information to secure digital media
Lin et al. Issues and solutions for authenticating MPEG video
US7986845B2 (en) Steganographic systems and methods
US20060107056A1 (en) Techniques to manage digital media
US20050193206A1 (en) Digital watermarking system using a cryptographic key
JPH11284843A (ja) ウォ―タマ―クをディジタル画像シ―ケンスのビットストリ―ム表現に組み込むための方法及び装置
US20060133477A1 (en) Combined video decoder and watermark creator
Joshi et al. Real time implementation of digital watermarking algorithm for image and video application
Celik et al. Localized lossless authentication watermark (LAW)
WO2005052935A2 (en) Method and apparatus for encoding or decoding a bitstream
Preda Self-recovery of unauthentic images using a new digital watermarking approach in the wavelet domain
Thanh et al. A proposal of digital rights management based on incomplete cryptography using invariant Huffman code length feature
JP2005217598A (ja) 電子透かし埋め込み装置,電子透かし検出装置,電子透かし埋め込み方法,および電子透かし検出方法
Li et al. Hardware implementations of video watermarking
Park et al. Invertible semi-fragile watermarking algorithm distinguishing MPEG-2 compression from malicious manipulation
Mareen et al. Implementation-free forensic watermarking for adaptive streaming with A/B watermarking
JP2005318068A (ja) コンテンツ認証データの電子透かし埋め込み方式および認証方式
KR100990210B1 (ko) H.264 비디오 콘텐츠의 무결성 인증 및 저작권 보호 방법
KR20070029022A (ko) 디지털 영상의 신뢰성 인증용 워터마크의 삽입/검출 기법
US20170251283A1 (en) Framework for embedding data in encoded video
Iwakiri et al. Fragile watermarking based on incomplete cryptography for copyright protection
JP4106311B2 (ja) 情報埋め込み装置、符号化装置、改ざん検出装置、その方法及び当該方法を実行するためのプログラムを記録した記録媒体
Biswas Digital Watermarking for MPEG video
Kitanovski et al. Semi-Fragile Watermarking Scheme for Authentication of MPEG-1/2 Coded Videos

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee