KR101538711B1 - 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출 - Google Patents

수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출 Download PDF

Info

Publication number
KR101538711B1
KR101538711B1 KR1020127000937A KR20127000937A KR101538711B1 KR 101538711 B1 KR101538711 B1 KR 101538711B1 KR 1020127000937 A KR1020127000937 A KR 1020127000937A KR 20127000937 A KR20127000937 A KR 20127000937A KR 101538711 B1 KR101538711 B1 KR 101538711B1
Authority
KR
South Korea
Prior art keywords
data
port
ports
processing
sampling
Prior art date
Application number
KR1020127000937A
Other languages
English (en)
Other versions
KR20120029471A (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 KR20120029471A publication Critical patent/KR20120029471A/ko
Application granted granted Critical
Publication of KR101538711B1 publication Critical patent/KR101538711B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/12Use of DVI or HDMI protocol in interfaces along the display data pipeline
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/448Rendering the image unintelligible, e.g. scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시예들은 일반적으로 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출에 관한 것이다. 방법의 일 실시예는 제1 포트에서 수신된 데이터의 스트림의 포어그라운드 처리를 위해 제1 포트를 선택하는 단계 - 데이터의 스트림은 콘텐츠 데이터를 포함함 -, 및 제2 포트에서 수신된 데이터의 세트를 샘플링하는 단계 - 제2 포트는 포어그라운드 처리를 위해 선택되지 않으며, 데이터의 세트는 데이터 패킷 및 에러 정정 데이터를 포함함 - 를 포함한다. 방법은 데이터의 세트의 백그라운드 처리를 수행하는 단계 - 백그라운드 처리하는 단계는 데이터 패킷의 데이터를 해독하는 단계 및 에러 정정 데이터를 이용하여 데이터 패킷이 에러를 포함하는지를 결정하는 단계를 포함함 -, 및 데이터 패킷이 에러를 포함하는지에 대한 결정에 적어도 부분적으로 기초하여 제2 포트에서 수신된 데이터가 암호화되었는지를 결정하는 단계를 더 포함한다.

Description

수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출{DETECTION OF ENCRYPTION UTILIZING ERROR DETECTION FOR RECEIVED DATA}
본 발명의 실시예들은 일반적으로 데이터 통신의 분야, 구체적으로는 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출에 관한 것이다.
시스템에서, 조건들, 데이터 유형, 관련 장치들 및 다른 요인들에 따라, 데이터는 암호화되거나 암호화되지 않은 형태로 전송될 수 있다. 일례에서는, 특정 데이터에 대한 보안 요구들 및 관련된 장치들의 유형들에 따라, 디스플레이를 위한 비디오 데이터를 포함하는 멀티미디어 콘텐츠가 암호화된 형태 또는 암호화되지 않은 형태로 수신될 수 있다. 데이터는 고화질 멀티미디어 인터페이스(HDMITM) 데이터를 포함할 수 있으며, HDMI는 압축되지 않은 디지털 데이터를 전송하기 위한 오디오/비디오 인터페이스를 제공한다. 일례에서, 고대역폭 디지털 콘텐츠 보호(HDCPTM)는 디지털 콘텐츠 보호를 위해 사용되어, HDMI를 포함하는 디지털 인터페이스들을 통해 전송되는 콘텐츠의 암호화를 제공한다. HDMI 인터페이스를 통해 전송되는 콘텐츠는 상황들에 따라 HDCP를 이용하여 암호화되거나 암호화되지 않을 수 있다.
HDCP와 같은 암호화 기술들은 링크의 수신기단에서 능동적으로 암호화된 스트림을 검출하기 위한 연속적인 메커니즘을 제공하지 못할 수 있다. 전통적인 시스템에서는, 데이터의 스트림이 예를 들어 프레임당 한 번 전송되는 HDCP 통지들과 같은 정보 이상으로 암호화되는지를 결정하기 위한 부가 프로세스가 필요할 수 있다. ("소스"라고 지칭될 수 있는) 송신 시스템으로부터 ("싱크"라고 지칭될 수 있는) 비디오 또는 오디오-비디오 데이터를 수신하는 시스템은 데이터 스트림의 암호화를 결정하기 위하여 암호화에 관한 데이터의 측정을 제공할 수 있다. 예를 들어, 비디오 또는 오디오-비디오 데이터를 수신하는 시스템은 오리지널 암호화 상태 시그널링(OESS) 또는 향상된 암호화 상태 시그널링(EESS) 신호의 검출을 제공할 수 있으며, 그러한 데이터는 각각의 프레임의 전송 이전에 한 번 제공될 수 있다. EESS 또는 OESS는 프레임에 대해 암호화가 인에이블 또는 디스에이블되는지를 시그널링하기 위한 프로토콜들이며, EESS 프로토콜은 HDMI 프로토콜과 함께 사용되고 (그리고 디지털 비주얼 인터페이스(DVITM) 프로토콜에서 옵션인 특징이며), OESS는 DVI 프로토콜과 함께 사용된다.
그러나, 블랭킹 인터벌(blanking interval)에서의 암호화 데이터 시그널링의 검출은 일반적으로 시스템이 암호화에 관한 그러한 시그널링에 대해 각각의 채널을 모니터링할 것을 요구한다. 시그널링이 검출되지 않는 경우, 전통적인 시스템은 데이터가 암호화되지 않은 것으로 결정할 것이다. 그러나, 암호화가 검출되지 않은 것이 에러 때문인 경우, 시스템은 데이터를 암호화되지 않은 데이터로서 사용하려고 시도할 것이며, 따라서 처리에 있어서 에러들 및 지연이 발생할 것이다. 암호화 검출의 손실 또는 결과적인 암호화를 위한 동기화의 손실은 예를 들어 암호화가 소스에 의해 일시적으로 정지된 경우에도 암호화를 재개할 때 데이터 에러들을 유발할 수 있다. 동기화의 손실은 입력 포트에 대한 부정확한 프레임 인덱스 카운트를 유발할 수 있으며, 이는 링크 무결성(link integrity) 검사의 실패를 유발하여 재인증을 필요로 하게 하거나, 링크 무결성 문제가 미검출되도록 하여, 해독에 있어서의 진행 에러들 및 디스플레이 상의 열악한 품질의 화면을 유발할 수 있다.
본 발명의 실시예들은 일반적으로 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출에 관한 것이다.
본 발명의 제1 양태에서, 방법의 일 실시예는 제1 포트에서 수신된 데이터의 스트림의 포어그라운드 처리를 위해 제1 포트를 선택하는 단계 - 데이터의 스트림은 콘텐츠 데이터를 포함함 - , 및 제2 포트에서 수신된 데이터의 세트를 샘플링하는 단계를 포함하고, 제2 포트는 포어그라운드 처리를 위해 선택되지 않으며, 데이터의 세트는 데이터 패킷 및 에러 정정 데이터를 포함한다. 방법은 데이터의 세트의 백그라운드 처리를 수행하는 단계 - 백그라운드 처리하는 단계는 데이터 패킷의 데이터를 해독하는 단계 및 에러 정정 데이터를 이용하여 데이터 패킷이 에러를 포함하는지를 결정하는 단계를 포함함 - , 및 데이터 패킷이 에러를 포함하는지에 대한 결정에 적어도 부분적으로 기초하여 제2 포트에서 수신된 데이터가 암호화되었는지를 결정하는 단계를 더 포함한다.
본 발명의 제2 양태에서, 수신 장치의 일 실시예는 데이터의 수신을 위한 포트들; 데이터 스트림의 포어그라운드 처리를 위한 제1 처리 엔진 - 제1 포트가 포어그라운드 처리를 위해 선택됨 - ; 데이터를 샘플링하기 위한 샘플링 엔진 및 데이터 샘플링을 위해 클럭 신호를 고정하기 위한 고정(locking) 회로; 및 포어그라운드 처리를 위해 선택되지 않은 각각의 포트에 대한 데이터의 백그라운드 처리를 위한 제2 처리 엔진을 포함한다. 샘플링 엔진은 포어그라운드 처리를 위해 선택되지 않은 복수의 포트 중의 제2 포트로부터 데이터의 세트를 샘플링하며, 제2 처리 엔진은 샘플링된 데이터를 해독하고, 샘플링된 데이터에서 에러가 발견되는지에 대한 결정에 적어도 부분적으로 기초하여 데이터의 세트가 암호화되었는지를 결정한다.
본 발명의 실시예들은 동일한 도면 부호들이 유사한 요소들을 나타내는 첨부 도면들에서 한정이 아니라 예시적으로 도시된다.
도 1은 데이터의 스트림에서의 암호화의 검출을 위한 시스템의 도면이다.
도 2는 송신 장치의 일 실시예의 도면이다.
도 3은 수신 장치의 일 실시예의 도면이다.
도 4는 다수의 포트에 대한 단일 샘플링 회로 및 고정 회로를 갖는 수신 장치의 일 실시예의 도면이다.
도 5는 포어그라운드(foreground) 샘플링 회로 및 고정 회로 및 백그라운드(background) 샘플링 회로 및 고정 회로를 갖는 수신 장치의 일 실시예의 도면이다.
도 6은 데이터 섬(data island)들의 처리를 포함하는 데이터의 스트림에서 암호화를 검출하기 위한 프로세스를 설명하기 위한 흐름도이다.
도 7은 콘텐츠 데이터의 처리를 포함하는 데이터의 스트림에서 암호화를 검출하기 위한 프로세스를 설명하기 위한 흐름도이다.
도 8은 일부 실시예들에서 암호화에 대해 평가되는 데이터의 도면이다.
도 9는 수신 또는 송신 장치의 일 실시예의 요소들의 도면이다.
본 발명의 실시예들은 일반적으로 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출에 관한 것이다.
일부 실시예들에서, 시스템은 수신된 데이터 신호들의 에러 검출 처리를 이용하여 암호화된 데이터의 검출을 제공한다. 일부 실시예들에서, 시스템은 암호화 프로토콜에 의해 제공된 상태 시그널링의 암호화의 검출을 필요로 하지 않고 에러들의 존재에 대한 데이터의 분석을 제공한다. 암호화 프로토콜은 HDCP를 포함할 수 있으며, 데이터 신호들은 HDMI 신호들을 포함할 수 있지만, 실시예들은 그러한 기술들로 한정되지 않는다.
일부 실시예들에서, 시스템은 포트들 각각에서의 에러 검출을 이용하는 다수의 포트에서의 에러 검출을 제공한다. 일부 실시예들에서, 시스템은 에러들을 검출하기 위해 소정 인터벌 동안에 다수의 포트를 샘플링하고, 포트들 중 어느 포트가 암호화된 데이터를 수신하고 있는지를 결정할 수 있다.
동작에 있어서, HDMI와 같은 오디오-비디오 신호가 비디오 데이터 프레임들 사이의 블랭킹 인터벌들에서 소정의 데이터를 제공할 수 있으며, 그러한 데이터는 예를 들어 오디오 및 제어 데이터를 포함할 수 있다. 그러한 블랭킹 인터벌들은 EESS 및 OESS 신호들과 같은 암호화와 관련된 신호들의 송신을 포함할 수 있다. 동작에 있어서, 수신된 데이터 프레임들에 관한 데이터를 유지하여, 예컨대 링크 무결성 검사('Ri') 프레임 인덱스가 정확하게 유지되는 것을 가능하게 하기 위해, 수신된 신호들의 암호화에 관한 지식이 필요할 수 있다. 그러나, 블랭킹 인터벌에서 그러한 신호들을 검출하기 위한 시도는 검출을 제공하기 위해 상당한 오버헤드를 필요로 할 수 있으며, 암호화의 결정에 있어서 에러들을 유발할 수 있다. 포트 엔진을 이용하여, 데이터 처리를 위해 선택되지 않은 각각의 입력 포트에서 수직 블랭킹 인터벌을 샘플링하기 위한 대안적인 프로세스 - 이 프로세스에서 시스템은 EESS 신호 자체를 찾거나, 후처리를 위해 스트림 데이터를 저장하도록 동작함 - 는 다수의 엔진 및 고정 회로, 위상 고정 루프(Phase Lock Loop)(PLL) 또는 지연 고정 루프(Delay Lock Loop)(DLL)를 필요로 하는데, 그 이유는 다수의 포트로부터의 EESS 신호들이 시간적으로 일치할 수 있기 때문이다.
일부 실시예들에서, 각각의 입력 포트에서 샘플링이 프레임당 한 번 존재하는 경우, 프레임 내의 임의의 라인 브레이크(line break)에서 수평 블랭킹이 샘플링될 수 있다. 일부 실시예들에서, 시스템 내의 칩 내의 단일 HDCP 논리 엔진과 같은 단일 논리 엔진을 이용하여, 다수의 HDMI 입력 포트와 같은 다수의 입력 포트를 관리할 수 있으며, 시스템은 각각의 입력 포트 상의 어느 프레임들이 암호화되었는지를 검출하기 위한 메커니즘을 제공할 수 있다. 다수의 포트를 포함하는 시스템의 동작에 있어서, 소정 시점에서 하나의 포트가 콘텐츠 데이터의 처리(본 명세서에서 포어그라운드 또는 주 처리라고 지칭됨)를 위해 선택될 수 있는 반면, 나머지 포트들은 그러한 용도로 선택되지 않는다. 일부 실시예들에서, 단일 논리 엔진은 논리 엔진이 각각의 프레임 전에 제공되는 OESS 또는 EESS 신호를 검출하는 데 필요하지 않은 경우에 다수의 포트를 모니터링하는 데 사용될 수 있다. 예를 들어, 2개의 OESS 또는 EESS 신호들이 2개 이상의 포트 상에서 시간적으로 일치하는 경우에, 단일의 간단한 엔진이 각각의 포트를 동시에 샘플링하는 데 사용될 수 없을 것이며, 따라서 하나 이상의 OESS/EESS 신호들을 놓칠 것이다. 또한, 에러의 결과로서, 수신기는 입력 포트에 대한 부정확한 프레임 인덱스 카운트를 가질 수 있으며, 따라서 링크 무결성 검사의 실패를 유발하여 재인증을 필요로 하게 하거나, 링크 무결성 문제가 미검출되도록 하여 암호화에 있어서의 진행 에러들 및 디스플레이 상에서의 열악한 품질의 화면을 유발할 수 있다.
동작에 있어서, HDMI 송신기들은 각각의 수평 블랭킹 인터벌에서 다양한 유형의 "데이터 섬들"을 전송하여, 오디오 데이터 또는 다른 보조 데이터를 실어 보낸다. 일부 실시예들에서, 암호화는 (본 명세서에서 백그라운드 또는 보조 처리라고 지칭되는) 데이터 섬들의 처리를 통해 검출될 수 있다. HDCP가 인에이블될 때, 그러한 데이터 패킷들은 송신기에 의해 암호화되고 수신기에 의해 해독되는 페이로드 데이터를 갖는다. 일 구현에서, 각각의 패킷의 경계들은 수신기에 의해 보호 대역 문자들을 이용하여 검출될 수 있다. 일부 실시예들에서, 패킷들이 수신기에 의해 이전 프레임들로부터의 현재 비밀 값들 및 해당 링크 상에서의 인증을 이용하여 해독되고(이는 데이터 패킷의 시험 해독이라고 지칭될 수 있다), 이어서 패킷 데이터가 에러들을 포함하는 것으로 밝혀지는 경우, 수신기 칩은 데이터 섬 페이로드가 송신기에 의해 암호화되지 않은 것으로 결론 지을 수 있다. 그러한 상황에서, 그러한 패킷들을 포함하는 프레임은 암호화되지 않은 것으로 결론 지어질 수 있으며, 그러한 암호화의 검출은 해당 프레임에 대한 송신기로부터의 OESS 또는 EESS 시그널링의 검출을 필요로 하지 않고 데이터의 백그라운드 처리를 통해 행해질 수 있다.
일부 실시예들에서, 수신기 칩은 샘플링 논리 블록 및 고정 회로, PLL 또는 DLL을 포함할 수 있다. 일부 실시예들에서는, 각각의 입력 포트에 대해 샘플링 논리 블록 및 고정 회로가 존재할 수 있다. 일부 실시예들에서, 각각의 포트에 대한 PLL은 각각의 연속 포트에서 링크 클럭에 고정할 수 있으며, 고정된 경우에 수평 블랭킹 인터벌을 샘플링하여, 해독하고 검사할 데이터 섬들 및 데이터 페이로드들을 찾을 것이다. 일부 실시예들에서는, 임의의 포트에서의 링크 클럭과 관련없는 클럭과 함께 카운터들 및 논리를 수신기에서 사용하여, 포트들 및 샘플링 윈도들 사이의 스위칭을 스케줄링한다.
일부 실시예들에서는, 샘플링 논리 블록 및 고정 회로가 다수의 입력 포트에 대해 사용될 수 있으며, 이는 예를 들어 단일 샘플링 논리 블록 및 고정 회로가 수신기의 모든 입력 포트들에 대해 사용되는 시스템을 포함한다. 일부 실시예들에서, 수신기 칩은 데이터 섬들에 대한 고유한 대역외 보호 대역 문자들을 이용하여 데이터 섬의 존재를 모니터링할 것이다. 일부 실시예들에서, 데이터는 나중 처리를 위해 저장될 수 있다. HDMI와 같은 프로토콜에서, 각각의 데이터 섬은 (픽셀 클럭 단위에서) 최대 크기를 가지며, 디코딩 및 해독을 위해 임시 저장될 수 있다.
일부 실시예들에서, 단일 HDCP 처리 엔진은 캡처된 데이터 섬들을 각각의 입력 포트에 고유한 비밀 값들 안팎에서의 스왑핑을 통해 해독할 수 있다. 그러한 실시예들에서, 따라서 HDCP 처리 엔진은 복제되어 각각의 입력 포트에 대해 제공될 필요가 없다. 그러나, 상이한 실시예들에서 처리 엔진들의 수는 다를 수 있다. 일부 실시예들에서는, 백그라운드 처리 엔진도 수신기 내에 제공되며, 백그라운드 처리 엔진은 수신기 상에서의 포어그라운드 처리를 위해 선택되지 않은 각각의 포트에서 인증을 확보하는 데 사용되고, 오버랩핑되지 않은 인터벌들에서 샘플링을 스케줄링함으로써 모든 포트들에서 데이터 섬 데이터를 샘플링하는 데 사용될 수 있다.
효과적인 동작을 제공하기 위하여, 각각의 포트로부터 충분한 데이터 값들을 캡처하기 위해 데이터 샘플링이 필요할 수 있으며, 따라서 후처리에 있어서 암호화와 관련없는 링크 에러가 암호화되지 않은 스트림을 나타내는 것으로 수신기에 의해 잘못 인식될 가능성이 낮다. 일례에서, 링크 상의 비트 에러 레이트 자체가 수신기에서 수신기가 들어오는 스트림을 해독할지의 여부와 관련하여 에러들을 유발할 만큼 충분히 높은 경우, 수신기는 더 광범위한 평가를 제공하여, 링크에 의해 유발되는 에러들과 암호화되지 않은 스트림의 시험 해독에 의해 유발되는 에러들을 구별하는 것이 필요할 수 있다. 전자는 들어오는 스트림이 암호화되지 않은 것을 수신기에 알리지 않아야 하는 반면, 후자는 들어오는 스트림이 암호화되지 않은 것을 수신기에 알려야 한다. 일부 실시예들에서, 보증된 링크 에러 레이트가 충분히 낮지 않을 경우, 수신기는 둘 이상의 수평 블랭킹 인터벌로부터 데이터 섬들을 샘플링하고, 데이터 섬 데이터의 둘 이상의 시리즈에 걸친 시험 해독에 의해 에러 검출을 가중화할 수 있다. 둘 이상의 수평 블랭킹 시간을 샘플링하는 접근법은 검사 프로세스를 둘 이상의 시간 인터벌로 분리함으로써 암호화 검출의 강건성을 향상시키도록 동작할 수 있다. 따라서, 동작에 있어서, 링크 거동으로 인해 짧은 버스트들로 무리지어 나타나는 링크 에러들은 암호화에 대한 검사에서 거짓 음성을 유발할 가능성이 더 적을 수 있다.
일부 실시예들에서, 링크의 암호화 방법(예를 들면, HDCP)에 의해 요구되는 값들은 입력되는 스트림의 타이밍과는 별개로 수신기의 논리에 의해 생성될 수 있으며, 이어서 적절한 클럭 사이클에 각각의 포트에서 입력되는 스트림에 적용될 수 있다. 일부 실시예들에서는, 각각의 포트에 대한 샘플링된 데이터가 이용 가능해질 때 백그라운드 처리에서 사용하기 위해 다수의 포트에 대한 값들이 생성 및 저장될 수 있다. 예로서, HDCP 암호화는 HDCP 암호(cipher)에 의해 생성된 의사 랜덤 데이터 스트림과 HDCP 콘텐츠의 비트 단위 XOR(배타적 OR)로 구성된다. 수직 블랭킹 인터벌 동안, hdcpBlockCipher 함수는 데이터 주기 동안 24비트 폭의 키 종속 의사 랜덤 데이터 스트림을 생성하기 위해 HDCP를 준비한다. 인터페이스 상의 수평 블랭킹 인터벌들 동안, HDCP 암호는 56 픽셀 클럭에 대해 리키잉(re-keying)되고, 픽셀 데이터의 액티브 라인들에 바로 이어지는 수평 블랭킹 인터벌들 동안, hdcpRekeyCipher는 새로운 키 자료를 LFSR 모듈로부터 블록 모듈로 이동시킨다. 예를 들어, 수신기는 그의 의도된 캡처된 데이터 섬들의 시리즈일 것에 대해 XOR 마스크들의 시리즈를 계산하고, 그러한 마스크들을 임시 메모리에 저장하고, 이어서 데이터 섬들의 각각의 시리즈가 캡처될 때 마스크들을 사용할 수 있다. 각각의 입력 포트는 각각의 업스트림 소스와의 초기 인증의 결과로서 XOR 마스크들의 고유 시퀀스를 가지므로, 하나의 입력 스트림에 대한 XOR 마스크들은 상이한 입력 스트림에 대해 사용되지 않을 수 있다. 일부 실시예들에서, 마스크들 및 관련된 중간 값들의 계산 및 저장은 수신기에 의해 최적화되어, 수신기 내의 논리 및 메모리 요구를 최소화할 수 있다.
일부 실시예들에서, 에러 검출을 통한 암호화의 검출을 위한 방법은 HDMI 및 MHL 모드들을 포함하는 다양한 프로토콜들에서 동작하는데, 그 이유는 그러한 프로토콜들에서는 에러 정정 코드(ECC) 바이트들을 포함하는 데이터 섬들이 존재하기 때문이다. 암호화 검출은 EESS 모드 검출과 관련될 수 있는데, 그 이유는 이러한 검출이 HDMI 및 MHL 모드에서 필요하기 때문이다. 그러나, 본 발명의 실시예들은 HDMI 및 MHL로 한정되지 않으며, 에러 정정 코딩을 제공하는 다양한 프로토콜들에서 이용될 수 있다. 예를 들어, 일부 실시예들에서, 암호화 검출 기술은 ECC 및 데이터 섬들을 이용하고 OESS 시그널링을 허가하는 링크 프로토콜들에 적용될 수 있다.
일부 실시예들에서, 추가 개량은 미사용 비트들이 존재하는 비디오 데이터 주기들 내로의 에러 검사 비트들의 삽입을 포함할 수 있으며, 이는 본 명세서에서 비디오 데이터와 관련하여 픽셀 데이터 ECC 방법이라고 지칭될 수 있다. 일례에서, 픽셀 데이터 ECC 방법에서의 데이터 삽입은 컬러당 12개 미만의 비트를 갖는 YCbCr 4:2:2 모드에서 링크가 동작하고 있을 때 HDMI 모드에서 제공될 수 있다. 동작에 있어서, 그러한 모드에 대한 루마(luma) 및 크로마(chroma) 값들은 통상적으로 프로토콜 내의 24비트 필드 내의 2개의 8비트 값으로서 전송되며, 따라서 필드의 나머지 8비트는 사용되지 않는다. HDMI의 4:2:2 팩킹 프로토콜은 데이터 섬 주기들 동안에 헤더 및 ECC 데이터에 대해 사용되는 것과 동일한 필드인 채널 0 필드 내에 그러한 8개의 미사용 비트를 배치한다. 일부 실시예들에서, 이러한 미사용 비트들 내에 ECC 비트들을 배치함으로써, 링크는 사용된 16 비트 내의 픽셀 값에 기초하여 비디오 데이터용의 ECC를 실어 보낼 수 있다. 일부 실시예들에서, 삽입된 비디오 ECC는 링크가 암호화되었는지의 여부를 결정하기 위해 데이터 섬들에 대해 전술한 것과 동일한 방식으로 HDCP 엔진에 의해 해독될 수 있다.
픽셀 데이터 ECC 방법에 의해 제공되는 이점은 그러한 프로세스가 데이터 섬들이 존재하지 않는 경우에도, 예컨대 AVI InfoFrame이 필요하지 않고 오디오가 전송되지 않는 경우에도 작동할 것이라는 점이다. 일부 실시예들에서, 프로세스는 또한 샘플링 엔진이 (a) 데이터 섬 리딩(leading) 및 트레일링(trailing) 보호 대역 문자들 사이에 또는 (b) 비디오 주기 리딩 보호 대역 문자들 후에 그리고 DE의 트레일링 에지 전에 임의의 시간에 채널 데이터를 수집할 수 있게 한다.
도 1은 데이터의 스트림에서의 암호화의 검출을 위한 시스템의 도면이다. 일부 실시예들에서는, 포트 P1(112), 포트 P2(114), 포트 P3(116) 및 포트 P4(118)로서 각각 도시되는 포트를 각각 갖는 다수의 송신 장치(102-108)가 포트 P1(122), 포트 P2(124), 포트 P3(126) 및 포트 P4(128)로서 도시되는 다수의 포트를 갖는 수신 장치(120)로 데이터를 전송한다. 도시되지 않았지만, 송신 장치는 다수의 포트를 가질 수도 있다. 도시된 바와 같이, 데이터 요소들(140)의 스트림이 포트들 각각에서 수신될 수 있다. 동작에 있어서, 수신 장치는 데이터 스트림의 포어그라운드 처리를 위한 포트를 선택하며, 이 예에서는 포트 P2(124)이다. 일부 실시예들에서, 데이터는 HDMI와 같은 오디오-비디오 데이터를 포함할 수 있으며, 비디오 데이터의 스트림이 복수의 포트 각각에서 수신될 수 있다.
일부 실시예들에서, 데이터의 스트림들은 수평 블랭킹 인터벌(HBI)(160) 동안 정지될 수 있으며, 이 인터벌 동안에 송신 장치(102)는 예를 들어 HDMI 오디오 및 제어 데이터를 포함하는 데이터 섬들(DI) 또는 다른 데이터 세트들(150)을 전송할 수 있다. 일부 실시예들에서, 수신 장치는 데이터 섬들(150)의 백그라운드 처리를 제공하며, 포어그라운드 데이터 스트림 처리를 위해 선택되지 않은 포트들로부터 데이터 섬들(150)을 샘플링하고 처리하도록 동작하는데, 그러한 포트들은 이 예에서 포트 P1(122), 포트 P3(126) 및 포트 P4(128)이다. 일부 실시예들에서, 수신 장치는 샘플링된 데이터를 분석하여, 데이터 내에 에러가 존재하는지를 결정하는데, 이러한 처리는 데이터가 암호화된 것으로 가정하며, 데이터가 처리될 때 에러의 존재는 데이터가 암호화되지 않았음을 나타낸다.
일부 실시예들에서는, 하나 이상의 데이터 섬들(150)이 암호화 검출의 목적으로 생성될 수 있는데, 그러한 데이터 섬들은 다른 데이터의 전송에는 필요하지 않다. 예를 들어, 오디오-비디오 데이터 시스템에서는, (공백 패킷들과 같은) 비콘텐츠 데이터를 갖는 ECC를 포함하는 데이터 섬들이 생성될 수 있지만, 이러한 데이터 섬들은 비디오 또는 오디오 스트림들과 관련된 콘텐츠를 운반하지 않는다.
도 2는 송신 장치의 일 실시예의 도면이다. 송신 장치는 오디오-비디오 데이터의 송신을 위한 소스(source)를 포함할 수 있다. 송신 장치(202)는 데이터를 암호화하는 데 사용될 수 있는 인코딩 엔진(204)을 포함한다. 암호화는 HDMI 데이터의 HDCP 암호화를 포함할 수 있다. 그러나, 데이터는 상황에 따라 암호화되거나 암호화되지 않을 수 있다. 데이터는 비디오 데이터의 전송들 사이의 인터벌들(수평 블랭킹 인터벌들) 동안에 전송되는 데이터 섬들 또는 다른 데이터 세트들과 함께 비디오 데이터와 같은 데이터의 스트림들을 포함할 수 있다.
송신 장치는 프레임의 종료시에 통지를 제공하는 HDCP 시스템과 같은 데이터의 암호화와 관련된 연속 통지 메커니즘을 제공하지 않을 수도 있다. 일부 실시예들에서, 수신 장치는 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에 대한 데이터 섬들 내에 포함된 데이터의 샘플의 백그라운드 처리를 통해 암호화의 상태를 결정한다. 송신 장치(202)는 데이터 처리를 위한 데이터 저장 장치(206), 데이터의 전송을 위한 송신기(208) 및 도면에 포트 P1(212)로서 도시된 데이터 송신을 위한 하나 이상의 포트들을 더 포함할 수 있으며, 포트 P2(214)와 같은 하나 이상의 부가 포트들을 잠재적으로 포함할 수 있다. 송신 장치는 외부 데이터 소스(240)로부터의 콘텐츠 데이터의 수신을 위한 수신기(230)를 더 포함할 수 있다. 그러한 수신기에 관한 상세들은 이 도면에 제공되지 않는다.
도 3은 수신 장치의 일 실시예의 도면이다. 수신 장치는 예를 들어 오디오-비디오 데이터의 수신을 위한 싱크(sink)일 수 있다. 수신 장치(302)는, 다수의 HDMI 데이터 소스들을 수신하는 장치와 같이, 다수의 포트에서 콘텐츠 데이터를 수신하는 장치 또는 시스템을 위한 단일 칩 디바이스를 포함할 수 있다. 일부 실시예들에서, 수신 장치(302)는 포어그라운드 처리를 위해 선택된 데이터 포트에서의 데이터 스트림의 처리를 위한 포어그라운드 또는 주요 처리 논리 엔진(304) 및 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에서의 샘플링된 데이터의 처리를 위한 백그라운드 또는 보조 처리 논리 엔진(306)을 포함할 수 있다. 일부 실시예들에서, 수신 장치(302)는 백그라운드 처리 논리 엔진으로부터의 처리된 데이터를 이용하여, 그러한 데이터의 처리에서 그러한 데이터 내에서 에러가 발견되었는지에 적어도 부분적으로 기초하여, 포어그라운드 처리를 위해 선택되지 않은 포트들에서의 데이터가 암호화되었는지를 결정한다. 수신 장치는 데이터의 처리를 위한 데이터 저장 장치(308), 및 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에서의 데이터의 처리를 위한 마스크들 및 다른 정보를 위한 저장 장치를 더 포함할 수 있다.
수신 장치(302)는 도면에 포트 P1(322), 포트 P2(324), 포트 P3(326) 및 포트 P4(328)로서 도시된 다수의 포트를 더 포함할 수 있다. 일부 실시예들에서, 각각의 포트는 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 데이터 세트들의 샘플링을 위해 관련된 샘플링 논리 엔진(332-338)을 구비할 수 있다. 일부 실시예들에서, 각각의 포트는, 각각의 포트에서 링크 클럭에 고정되고, 고정된 경우에 해독하고 검사하기 위해 수평 블랭킹 인터벌 동안에 데이터 섬들을 샘플링하기 위한 위상 고정 루프(PLL)(342-348)로서 도시된 관련 고정 회로를 구비할 수 있다.
도 4는 다수의 포트에 대한 단일 샘플링 회로 및 고정 회로를 갖는 수신 장치의 일 실시예의 도면이다. 도 3과 관련하여 설명된 바와 같이, 수신 장치(402)는 포어그라운드 처리를 위해 선택된 데이터 포트에서의 데이터 스트림의 처리를 위한 포어그라운드 처리 논리 엔진(304), 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에서의 샘플링된 데이터의 처리를 위한 백그라운드 처리 논리 엔진(306), 데이터의 처리를 위한 데이터 저장 장치(308), 및 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에서의 데이터의 처리를 위한 마스크들 및 다른 정보를 위한 저장 장치를 포함할 수 있다. 수신 장치(402)는 도면에 포트 P1(322), 포트 P2(324), 포트 P3(326) 및 포트 P4(328)로서 도시된 다수의 포트를 더 포함할 수 있다. 일부 실시예들에서, 수신 장치(302)는 각각의 포트에서 수신된 데이터 세트들의 샘플링을 위한 샘플링 논리 엔진(432) 및 각각의 포트에서 링크 클럭에 고정하기 위한 위상 고정 루프(PLL)(442)로서 도시된 고정 회로를 포함할 수 있다. 일부 실시예들에서, 샘플링 논리 엔진(432)은 PLL(442)과 고정된 경우에 데이터를 해독하고 에러들이 있는지 검사하기 위해 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수평 블랭킹 인터벌 동안 데이터 섬들을 샘플링할 것이다. 도시된 시스템에서, 수신 장치(402)는 포어그라운드 처리를 위해 선택되지 않은 수신 장치(302)의 포트들 각각을 폴링(polling)하기 위한 단일 샘플링 논리 엔진(432) 및 단일 위상 고정 루프(442)를 포함한다. 그러나, 다른 실시예들에서는, 다수의 논리 엔진 및 고정 회로가 구현될 수 있는 것이 가능하며, 이들 각각은 포어그라운드 처리를 위해 선택되지 않은 포트들 중 모두보다 적은 포트들을 폴링하는 데 사용될 수 있다.
도 5는 포어그라운드 샘플링 회로 및 고정 회로 및 백그라운드 샘플링 회로 및 고정 회로를 갖는 수신 장치의 일 실시예의 도면이다. 도 3과 관련하여 설명된 바와 같이, 수신 장치(502)는 선택된 데이터 포트에서의 데이터 스트림의 처리를 위한 포어그라운드 처리 논리 엔진(304), 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에서의 샘플링된 데이터의 처리를 위한 백그라운드 처리 논리 엔진(306), 데이터의 처리를 위한 데이터 저장 장치(308), 및 포어그라운드 처리를 위해 선택되지 않은 데이터 포트들에서의 데이터의 처리를 위한 마스크들 및 다른 정보를 위한 저장 장치를 포함할 수 있다. 수신 장치(302)는 도면에 포트 P1(322), 포트 P2(324), 포트 P3(326) 및 포트 P4(328)로서 도시된 다수의 포트를 더 포함할 수 있다. 일부 실시예들에서, 수신 장치(302)는 포어그라운드 처리를 위해 선택된 포트에서 수신된 데이터의 샘플링을 위한 포어그라운드 샘플링 논리 엔진(532) 및 선택된 포트에서 링크 클럭에 고정하기 위한 위상 고정 루프(PLL)(542)로서 도시된 고정 회로를 포함할 수 있다. 일부 실시예들에서, 수신 장치(502)는 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 데이터 세트들의 샘플링을 위한 백그라운드 샘플링 논리 엔진(552), 및 각각의 포트에서 링크 클럭에 고정되고, 고정된 경우에 데이터를 해독하고 검사하기 위해 수평 블랭킹 인터벌 동안 데이터 섬들을 샘플링하기 위한 PLL(562)로 도시된 고정 회로를 더 포함할 수 있다. 일부 실시예들에서, PLL(562)은 블랭킹 기간 동안에 데이터를 샘플링하기 위해 포어그라운드 처리를 위해 선택되지 않은 포트들 각각을 폴링할 수 있다.
도 6은 데이터 섬들의 처리를 포함하는 데이터 스트림 내의 암호화를 검출하기 위한 프로세스를 설명하기 위한 흐름도이다. 수신되고 처리되는 데이터는 예를 들어 블랭킹 인터벌에 수신되는 ECC 데이터를 포함하는 데이터 섬들을 포함할 수 있다(600). 송신기는 블랭킹 인터벌들 동안에 전송될 데이터 섬들 내에 ECC 데이터를 삽입할 수 있다(602). 일부 실시예들에서, 수신 장치는 다수의 포트를 포함할 수 있고, 시스템은 수신 장치의 포트들 중 하나를 선택하여, 포어그라운드 처리를 위한 데이터 스트림을 수신할 수 있으며(604), 나머지 포트들은 그러한 처리를 위해 선택되지 않는다. 일부 실시예들에서, 이 방법은 수신된 데이터의 에러 검출에 기초하여 데이터가 암호화되었는지를 결정하기 위해 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 데이터의 샘플링을 포함하는 백그라운드 처리를 제공한다.
시스템은 선택된 포트에서 수신된 HDMI 데이터를 처리하는 것과 같이 선택된 데이터를 처리하도록 동작한다(606). 일부 실시예들에서, 처리는 예를 들어 도 3 내지 도 5에 도시된 포어그라운드 처리 논리 엔진(304)과 같은 제1 처리 엔진에 의해 수행된다. 일부 실시예들에서, 백그라운드 처리되는 데이터는 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 데이터 섬들이다(608). HDMI를 위한 비디오 데이터와 같은 데이터의 전송에 있어서, 수평 블랭킹 인터벌, 또는 데이터 스트림이 정지되는 다른 인터벌이 발생할 수 있으며, 그러한 인터벌의 발생시에(610), 시스템은 포어그라운드 처리를 위해 선택되지 않은 하나 이상의 포트들로부터 데이터를 획득 및 샘플링할 것이다(612). 일부 실시예들에서, 시스템은 데이터의 해독 및 에러 검사를 포함하는 샘플링된 데이터의 백그라운드 처리를 제공할 것이다(618). 백그라운드 처리는 예를 들어 도 3 내지 도 5에 도시된 백그라운드 처리 논리 엔진(306)과 같은 제2 처리 엔진에 의해 제공될 수 있다. 에러 검사에서 데이터가 에러를 포함하지 않는 것으로 나타나는 경우(620), 시스템은 수신된 데이터가 암호화된 것으로 결론 지을 수 있다(622). 그러나, 에러 검사에서 수신된 데이터가 에러를 포함하는 것으로 나타나는 경우, 시스템은 수신된 데이터가 암호화되지 않았고(624)(암호화의 결여가 에러를 유발하였음), 따라서 암호화가 송신기에서 턴오프된 것으로 결론 지을 수 있다.
이어서, 시스템은 예를 들어, 분석할 다른 포트들이 남았는지를 결정하고(626), 그러한 경우에 포어그라운드 처리를 위해 선택되지 않은 다음 포트에 대한 데이터의 백그라운드 처리를 수행함으로써(628), 포어그라운드 처리를 위해 선택되지 않은 다른 포트들을 계속 검사할 수 있다. 백그라운드 처리를 위한 부가 포트가 존재하고, 블랭킹 인터벌이 종료되지 않은 경우(610), 그러한 데이터의 에러 처리는 포트로부터 데이터를 획득 및 샘플링함으로써 계속된다(612). 다른 실시예들에서는, 다수의 블랭킹 인터벌들을 이용하여, 포어그라운드 처리를 위해 선택되지 않은 포트들이 암호화된 데이터를 수신하고 있는지를 결정할 수 있다.
도 7은 콘텐츠 데이터의 처리를 포함하는 데이터 스트림 내의 암호화를 검출하기 위한 프로세스를 설명하기 위한 흐름도이다. 수신되고 처리되는 콘텐츠 데이터는 예를 들어 ECC 데이터를 포함하는 비디오 데이터를 포함할 수 있다(700). 일부 실시예들에서, 송신기는 전술한 픽셀 데이터 ECC 방법에서의 ECC 데이터의 삽입과 같이 ECC 데이터를 그러한 콘텐츠 데이터 내에 삽입할 수 있다(702). 일부 실시예들에서, 수신 장치는 다수의 포트를 포함할 수 있고, 시스템은 수신 장치의 포트들 중 하나를 선택하여, 포어그라운드 처리를 위한 데이터 스트림을 수신할 수 있으며(704), 나머지 포트들은 그러한 처리를 위해 선택되지 않는다. 일부 실시예들에서, 이 방법은 수신된 데이터의 에러 검출에 기초하여 데이터가 암호화되었는지를 결정하기 위해 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 데이터의 샘플링을 포함하는 백그라운드 처리를 제공한다.
시스템은 선택된 포트에서 수신된 HDMI 데이터를 처리하는 것과 같이 선택된 데이터를 처리하도록 동작한다(706). 일부 실시예들에서, 처리는 예를 들어 도 3 내지 도 5에 도시된 포어그라운드 처리 논리 엔진(304)과 같은 제1 처리 엔진에 의해 수행된다. 일부 실시예들에서, 백그라운드 처리되는 데이터는 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 콘텐츠 데이터의 처리를 포함하며, 나중의 백그라운드 처리를 위해 저장될 수 있다(716). 일부 실시예들에서, 시스템은 데이터의 해독 및 에러 검사를 포함하는 샘플링된 데이터의 백그라운드 처리를 제공할 것이며(718), 이러한 처리는 예를 들어 도 3 내지 도 5에 도시된 백그라운드 처리 논리 엔진(306)과 같은 제2 처리 엔진에 의해 제공될 수 있다. 에러 검사에서 데이터가 에러를 포함하지 않는 것으로 나타나는 경우(720), 시스템은 수신된 데이터가 암호화된 것으로 결론 지을 수 있다(722). 그러나, 에러 검사에서 수신된 데이터가 에러를 포함하는 것으로 나타나는 경우, 시스템은 수신된 데이터가 암호화되지 않았고(724)(암호화의 결여가 에러를 유발하였음), 따라서 암호화가 송신기에서 턴오프된 것으로 결론 지을 수 있다.
이어서, 시스템은 예를 들어, 분석할 다른 포트들이 남았는지를 결정하고(726), 그러한 경우에는 포트에서 수신된 콘텐츠 데이터의 해독 및 에러 검사(718)를 포함하여, 포어그라운드 처리를 위해 선택되지 않은 다음 포트에 대해 계속함으로써(728), 포어그라운드 처리를 위해 선택되지 않은 다른 포트들을 계속 검사할 수 있다.
도 8은 일부 실시예들에서 암호화에 대해 평가되는 데이터의 도면이다. 이 도면에서, 데이터 섬(800) 또는 다른 데이터 세트는 예를 들어 HDMI 데이터 섬을 포함할 수 있다. 데이터 섬(800)은 프리앰블(805)에 이어서 리딩 보호 대역(LGB)(810)을 포함한다. 일부 실시예들에서, 데이터 섬은 프리앰블(805) 또는 리딩 보호 대역(810)을 이용하여 검출될 수 있다. 리딩 보호 대역(810)에 이어서, 패킷 헤더(815) 및 패킷 본체(825)를 포함하는 하나 이상의 데이터 패킷들이 포함될 수 있다. 트레일링 보호 대역(TGB)(830)이 데이터 패킷들에 이어질 수 있다.
이 예에서, 각각의 패킷 본체는 다수의 서브패킷(840-855) 및 ECC 데이터 섹터(860-875)를 포함할 수 있다. 일부 실시예들에서, 서브패킷들의 암호화는 ECC 데이터를 이용하여 데이터 에러가 존재하는지를 결정함으로써 결정될 수 있다. 예를 들어, 검출 및 샘플링(890)의 프로세스는 데이터 섬(880) 내의 데이터 해독 및 에러 검사 또는 다른 데이터의 검사를 유발하여, 데이터 섬 내의 데이터가 암호화되었는지를 결정할 수 있다.
도 9는 수신 또는 송신 장치의 일 실시예의 요소들의 도면이다. 이 도면에서, 본 설명에 적절하지 않은 소정의 표준 및 공지 컴포넌트들은 도시되지 않는다. 일부 실시예들에서, 장치(900)는 송신 장치, 수신 장치 또는 이들 양자일 수 있다.
일부 실시예들 하에서, 장치(900)는 데이터의 전송을 위한 상호접속부 또는 크로스바(905) 또는 다른 통신 수단을 포함한다. 데이터는 오디오-비주얼 데이터 및 관련 제어 데이터를 포함할 수 있다. 장치(900)는 정보 처리를 위해 상호접속부(905)와 결합되는 하나 이상의 프로세서들(910)과 같은 처리 수단을 포함할 수 있다. 프로세서들(910)은 하나 이상의 물리 프로세서들 및 하나 이상의 논리 프로세서들을 포함할 수 있다. 게다가, 프로세서들(910) 각각은 다수의 프로세서 코어를 포함할 수 있다. 상호접속부(905)는 간소화를 위해 단일 상호접속부로 도시되지만, 다수의 상이한 상호접속부 또는 버스를 나타낼 수 있고, 그러한 상호접속부들에 대한 컴포넌트 접속들은 다를 수 있다. 도 9에 도시된 상호접속부(905)는 임의의 하나 이상의 개별 물리 버스들, 점대점 접속들, 또는 적절한 브리지들, 어댑터들 또는 제어기들에 의해 접속된 그들 양자를 나타내는 추상 개념이다. 상호접속부(905)는 예를 들어 시스템 버스, PCI 또는 PCIe 버스, 하이퍼 트랜스포트 또는 공업 표준 아키텍처(ISA) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, IIC(I2C) 버스 또는 때때로 "FireWire"로서 지칭되는 IEEE(Institute of Electrical and Electronics Engineers) 표준 1394 버스를 포함할 수 있다. ("Standard for a High Performance Serial Bus" 1394-1995, IEEE, Published August 30, 1996, and supplements). 장치(900)는 하나 이상의 USB 호환 접속들이 부착될 수 있는 USB 버스(970)와 같은 직렬 버스를 더 포함할 수 있다.
일부 실시예들에서, 장치(900)는 프로세서들(910)에 의해 실행될 명령어들 및 정보를 저장하기 위한 주 메모리(920)로서 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치를 더 포함한다. 주 메모리(920)는 프로세서들(910)에 의한 명령어들의 실행 동안에 임시 변수들 또는 다른 중간 정보를 저장하는 데에도 사용될 수 있다. RAM 메모리는 메모리 내용들의 리프레시를 필요로 하는 동적 랜덤 액세스 메모리(DRAM), 및 내용들의 리프레시를 필요로 하지 않지만 비용이 증가하는 정적 랜덤 액세스 메모리(SRAM)를 포함한다. DRAM 메모리는 신호들을 제어하기 위한 클럭 신호를 포함하는 동기식 동적 랜덤 액세스 메모리(SDRAM), 및 확장형 데이터-아웃 동적 랜덤 액세스 메모리(EDO DRAM)를 포함할 수 있다. 일부 실시예들에서, 시스템의 메모리는 소정의 레지스터들 또는 다른 특수 목적 메모리일 수 있다. 장치(900)는 프로세서들(910)을 위한 정적 정보 및 명령어들을 저장하기 위한 판독 전용 메모리(ROM)(925) 또는 다른 정적 저장 장치도 포함할 수 있다. 장치(900)는 소정의 요소들의 저장을 위한 하나 이상의 비휘발성 메모리 요소들(930)을 포함할 수 있다.
데이터 저장 장치(935)는 또한 정보 및 명령어들을 저장하기 위해 장치(900)의 상호접속부(905)에 결합될 수 있다. 데이터 저장 장치(935)는 자기 디스크, 광 디스크 및 그에 대응하는 드라이브, 또는 다른 메모리 장치를 포함할 수 있다. 그러한 요소들은 함께 결합될 수 있거나, 개별 컴포넌트들일 수 있으며, 장치(900)의 다른 요소들의 부분들을 이용할 수 있다.
장치(900)는 또한 상호접속부(905)를 통해 디스플레이 또는 프레젠테이션 장치(940)에 결합될 수 있다. 일부 실시예들에서, 디스플레이는 최종 사용자에게 정보 또는 콘텐츠를 표시하기 위한 액정 디스플레이(LCD), 플라즈마 디스플레이, 음극선관(CRT) 디스플레이 또는 임의의 다른 디스플레이 기술을 포함할 수 있다. 일부 실시예들에서, 디스플레이(940)는 텔레비전 프로그래밍을 표시하는 데 사용될 수 있다. 일부 환경들에서, 디스플레이(940)는 적어도 입력 장치의 일부로서 사용되는 터치 스크린을 포함할 수 있다. 일부 환경들에서, 디스플레이(940)는 텔레비전 프로그램의 오디오 부분을 포함하는 오디오 정보를 제공하기 위한 스피커와 같은 오디오 장치이거나 이를 포함할 수 있다. 입력 장치(945)는 정보 및/또는 명령 선택들을 프로세서들(910)에 통신하기 위해 상호접속부(905)에 결합될 수 있다. 다양한 구현들에서, 입력 장치(945)는 키보드, 키패드, 터치 스크린 및 스타일러스, 음성 활성화 시스템 또는 다른 입력 장치 또는 이러한 장치들의 조합들일 수 있다. 포함될 수 있는 다른 유형의 사용자 입력 장치는 방향 정보 및 명령 선택들을 하나 이상의 프로세서(910)에 통신하고 디스플레이(940) 상에서의 커서 이동을 제어하기 위한 마우스, 트랙볼 또는 커서 방향 키들과 같은 커서 제어 장치(950)이다.
하나 이상의 송신기들 또는 수신기들(955)도 상호접속부(905)에 결합될 수 있다. 일부 실시예들에서, 장치(900)는 데이터의 수신 또는 송신을 위한 하나 이상의 포트(980)를 포함할 수 있다. 수신 또는 송신될 수 있는 데이터는 HDMI 데이터와 같은 비디오 데이터 또는 오디오-비디오 데이터를 포함할 수 있으며, HDCP 암호화된 데이터와 같이 암호화될 수 있다. 일부 실시예들에서, 장치(900)는 수신 장치이며, 데이터의 수신을 위한 포트를 선택하면서, 하나 이상의 다른 포트로부터 데이터를 샘플링하여, 포어그라운드 처리를 위해 선택되지 않은 포트들에서 수신된 데이터가 암호화되었는지를 결정하도록 동작한다. 장치(900)는 무선 신호들을 통한 데이터의 수신을 위해 하나 이상의 안테나(958)를 더 포함할 수 있다. 장치(900)는 전원 공급 장치, 배터리, 태양 전지, 연료 전지 또는 전력을 제공하거나 생성하기 위한 다른 시스템 또는 장치를 포함할 수 있는 전원 장치 또는 시스템(960)도 포함할 수 있다. 전원 장치 또는 시스템(960)에 의해 제공되는 전력은 필요에 따라 장치(900)의 요소들에 분배될 수 있다.
위의 설명에서는, 설명의 목적으로, 본 발명의 충분한 이해를 제공하기 위해 다수의 특정 상세가 설명되었다. 그러나, 본 발명은 그러한 특정 상세들 중 일부 없이도 실시될 수 있다는 것이 이 분야의 기술자에게 명백할 것이다. 다른 예들에서, 공지된 구조들 및 장치들은 블록도 형태로 도시된다. 도시된 컴포넌트들 사이에는 중간 구조가 존재할 수 있다. 여기에 설명되거나 도시된 컴포넌트들은 도시되거나 설명되지 않은 부가 입력들 또는 출력들을 구비할 수 있다. 도시된 요소들 또는 컴포넌트들은 임의의 필드들의 재배열 또는 필드 크기들의 변경을 포함하여 상이한 배열들 또는 순서들로 배열될 수도 있다.
본 발명은 다양한 프로세스들을 포함할 수 있다. 본 발명의 프로세스들은 하드웨어 컴포넌트들에 의해 수행될 수 있거나, 컴퓨터 판독 가능 명령어들 내에 구현될 수 있으며, 이러한 명령어들은 명령어들로 프로그래밍된 범용 또는 특수 목적 프로세서 또는 논리 회로들이 프로세스들을 수행하게 하는 데 사용될 수 있다. 대안으로서, 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다.
본 발명의 부분들은 컴퓨터(또는 다른 전자 장치)를 본 발명에 따른 프로세스를 수행하도록 프로그래밍하는 데 사용될 수 있는 컴퓨터 프로그램 명령어들을 저장한 컴퓨터 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 컴퓨터 판독 가능 매체는 플로피 디스켓, 광 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 및 광자기 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 소거 및 프로그래밍이 가능한 판독 전용 메모리(EPROM), 전기적으로 소거 및 프로그래밍 가능한 판독 전용 메모리(EEPROM), 자기 또는 광학 카드, 플래시 메모리 또는 전자적 명령어들을 저장하기에 적합한 다른 유형의 매체들/컴퓨터 판독 가능 매체를 포함할 수 있지만, 이에 한정되지 않는다. 더욱이, 본 발명은 컴퓨터 프로그램 제품으로서 다운로드될 수도 있으며, 프로그램은 원격 컴퓨터로부터 요청 컴퓨터로 전송될 수 있다.
방법들 중 다수가 그들의 가장 기본적인 형태로 설명되었지만, 본 발명의 기본 범위로부터 벗어나지 않고, 프로세스들이 임의의 방법들에 추가되거나 그들로부터 제거될 수 있고, 정보가 임의의 설명된 메시지들에 추가되거나 그들로부터 제외될 수 있다. 많은 추가 변경 및 개조들이 이루어질 수 있다는 것이 이 분야의 기술자들에게 명백할 것이다. 특정 실시예들은 본 발명을 한정하기 위해서가 아니라 본 발명을 예시하기 위해 제공된다.
요소 "A"가 요소 "B"에 또는 그와 결합된다고 하는 경우, 요소 A는 요소 B에 직접 결합되거나, 예를 들어 요소 C를 통해 간접 결합될 수 있다. 본 명세서에서 컴포넌트, 특징, 구조, 프로세스 또는 특성 A가 컴포넌트, 특징, 구조, 프로세스 또는 특성 B를 "유발한다"고 설명할 때, 이것은 "A"가 "B"의 적어도 부분적인 원인이지만, "B"의 유발을 돕는 적어도 하나의 다른 컴포넌트, 특징, 구조, 프로세스 또는 특성이 또한 존재할 수 있다는 것을 의미한다. 본 명세서에서 컴포넌트, 특징, 구조, 프로세스 또는 특성이 포함될 "수도 있다" 또는 "수 있다"라고 나타내는 경우, 그 특정 컴포넌트, 특징, 구조, 프로세스 또는 특성이 반드시 포함되는 것은 아니다. 본 명세서에서 "하나"의 요소를 지칭하는 경우, 이것은 설명되는 요소들 중 단지 하나만이 존재한다는 것을 의미하지 않는다.
실시예는 본 발명의 구현예 또는 일례이다. 본 명세서에서 "일 실시예", "하나의 실시예", "일부 실시예들" 또는 "다른 실시예들"에 관한 언급은 그 실시예들과 관련하여 설명되는 특정 특징, 구조 또는 특성이 반드시 모든 실시예들은 아니지만 적어도 일부 실시예들에 포함된다는 것을 의미한다. "일 실시예", "하나의 실시예" 또는 "일부 실시예들"의 다양한 출현들은 이들 모두가 반드시 동일 실시예들을 가리키는 것은 아니다. 본 발명의 예시적인 실시예들에 대한 위의 설명에서 본 발명의 다양한 특징들은 개시를 간소화하고 다양한 발명 양태들 중 하나 이상의 양태의 이해를 돕기 위해 때때로 단일 실시예, 도면 또는 그에 대한 설명 내에 함께 그룹화된다는 것을 알아야 한다.

Claims (34)

  1. 복수의 포트 중 제1 포트를 선택하여 상기 제1 포트에서 수신된 데이터의 스트림의 포어그라운드(foreground) 처리를 하는 단계 - 상기 데이터의 스트림은 콘텐츠 데이터를 포함함 -;
    상기 복수의 포트 중 제2 포트에서 수신된 데이터의 세트를 샘플링하는 단계 - 상기 제2 포트는 포어그라운드 처리를 위해 선택되지 않으며, 상기 데이터의 세트는 데이터 패킷 및 에러 정정 데이터를 포함함 -;
    상기 제2 포트에서 수신된 상기 데이터의 세트의 백그라운드(background) 처리를 수행하는 단계 - 상기 백그라운드 처리는 상기 데이터 패킷을 해독하는 것 및 상기 에러 정정 데이터를 이용하여 상기 해독된 데이터 패킷이 에러를 포함하는지를 결정하는 것을 포함함 -;
    상기 해독된 데이터 패킷이 상기 에러를 포함하지 않는다는 결정에 응답하여 상기 데이터의 세트가 암호화된 것으로 결정하는 단계; 및
    상기 해독된 데이터 패킷이 상기 에러를 포함한다는 결정에 응답하여 상기 데이터의 세트가 암호화되지 않은 것으로 결정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 데이터의 세트는 상기 복수의 포트에서 수신된 데이터에 대한 블랭킹 인터벌(blanking interval) 동안에 샘플링되는 방법.
  3. 제2항에 있어서, 상기 데이터의 세트는 상기 블랭킹 인터벌 동안에 수신된 하나 이상의 데이터 섬(data island)을 포함하는 방법.
  4. 제2항에 있어서, 상기 복수의 포트 중 포어그라운드 처리를 위해 선택되지 않은 각각의 다른 포트로부터 데이터를 샘플링하고 해독하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 데이터를 샘플링하고 해독하는 단계는 상기 블랭킹 인터벌 동안에 포어그라운드 처리를 위해 선택되지 않은 포트들의 각각으로부터 데이터를 샘플링하고 해독하는 단계를 포함하는 방법.
  6. 제2항에 있어서, 복수의 블랭킹 인터벌에서 상기 제2 포트에서 데이터를 샘플링하는 단계를 더 포함하고, 상기 복수의 블랭킹 인터벌은 상기 블랭킹 인터벌 및 제2 블랭킹 인터벌을 포함하는 방법.
  7. 제6항에 있어서, 백그라운드 처리를 수행하는 단계는 상기 제2 블랭킹 인터벌에서 샘플링된 데이터의 제2 세트로부터의 데이터를 백그라운드 처리하는 단계를 더 포함하고, 상기 데이터의 제2 세트는 제2 데이터 패킷을 포함하고, 상기 제2 포트에서 수신된 데이터가 암호화되었는지를 결정하는 단계는 상기 제2 데이터 패킷이 에러를 포함하는지에 대한 결정에 더 기초하는 방법.
  8. 제2항에 있어서, 상기 데이터의 스트림은 비디오 데이터를 포함하고, 상기 제2 포트에서 수신된 상기 데이터의 세트는 상기 블랭킹 인터벌 동안에 전송된 오디오 데이터, 제어 데이터, 또는 오디오 데이터와 제어 데이터 둘 모두를 포함하는 방법.
  9. 제7항에 있어서, 상기 데이터의 제2 세트는 에러 정정 데이터를 포함하는 부가 콘텐츠 데이터를 포함하는 방법.
  10. 제9항에 있어서, 상기 데이터의 제2 세트는 상기 복수의 포트에서 수신된 데이터에 대한 블랭킹 인터벌 밖에서 샘플링되는 방법.
  11. 제1항에 있어서, 상기 데이터의 세트는 상기 제2 포트에서 수신된 콘텐츠 데이터를 포함하는 방법.
  12. 제11항에 있어서, 백그라운드 처리를 위해 상기 제2 포트에서 수신된 상기 콘텐츠 데이터를 저장하는 단계를 더 포함하는 방법.
  13. 제11항에 있어서, 상기 데이터의 스트림은 비디오 데이터를 포함하고, 상기 제2 포트에서 수신된 상기 데이터의 세트는 상기 데이터의 스트림과 적어도 부분적으로 동시에 전송된 비디오 데이터를 포함하는 방법.
  14. 제1항에 있어서, 복수의 포트 각각에 대한 백그라운드 처리에 사용하기 위해 데이터 해독 값들을 생성하는 단계를 더 포함하는 방법.
  15. 제14항에 있어서, 상기 복수의 포트 각각에 대해 데이터가 이용 가능해질 때 백그라운드 처리에 사용하기 위해 상기 생성된 데이터 해독 값들을 저장하는 단계를 더 포함하는 방법.
  16. 제14항에 있어서, 상기 데이터 해독 값들은 고대역폭 디지털 콘텐츠 보호(HDCPTM) 처리를 위한 배타적 OR(XOR) 마스크들을 포함하는 방법.
  17. 데이터의 수신을 위한 복수의 포트;
    데이터 스트림의 포어그라운드 처리를 위한 제1 처리 엔진 - 상기 복수의 포트 중 제1 포트가 포어그라운드 처리를 위해 선택됨 -;
    데이터를 샘플링하기 위한 샘플링 엔진 및 데이터 샘플링을 위해 클럭 신호를 고정하기 위한 고정 회로 - 상기 샘플링 엔진은 상기 복수의 포트들 중 포어그라운드 처리를 위해 선택되지 않은 제2 포트에서 수신된 데이터의 세트를 샘플링하도록 구성되며, 상기 데이터의 세트는 데이터 패킷 및 에러 정정 데이터를 포함함 -; 및
    상기 제2 포트에서 수신된 상기 데이터의 세트의 백그라운드 처리를 위한 제2 처리 엔진
    을 포함하고,
    상기 제2 처리 엔진은 상기 데이터 패킷을 해독하고, 상기 에러 정정 데이터를 사용하여 상기 해독된 데이터 패킷이 에러를 포함하는지를 결정하도록 구성되며,
    상기 제2 처리 엔진은 또한 상기 데이터 패킷이 상기 에러를 포함하지 않는다는 결정에 응답하여 상기 데이터의 세트가 암호화된 것으로 결정하도록 구성되고,
    상기 제2 처리 엔진은 또한 상기 데이터 패킷이 상기 에러를 포함한다는 결정에 응답하여 상기 데이터의 세트가 암호화되지 않은 것으로 결정하도록 구성되는 수신 장치.
  18. 제17항에 있어서, 상기 고정 회로는 상기 복수의 포트 중 포어그라운드 처리를 위해 선택되지 않은 하나 이상의 다른 포트들에 대한 클럭 신호들을 고정하도록 동작하고, 상기 고정 회로는 상기 제2 포트 및 상기 하나 이상의 다른 포트들을 폴링(polling)하는 수신 장치.
  19. 제18항에 있어서, 상기 고정 회로는 위상 고정 루프(PLL) 회로를 포함하는 수신 장치.
  20. 제17항에 있어서, 제2 고정 회로를 더 포함하고, 상기 제2 고정 회로는 데이터의 포어그라운드 처리를 위한 상기 제1 포트에 대한 클럭 신호를 고정하는 수신 장치.
  21. 제17항에 있어서, 상기 복수의 포트의 각각의 포트에 대한 샘플링 엔진 및 고정 회로를 더 포함하는 수신 장치.
  22. 제17항에 있어서, 상기 제1 포트에서 수신된 상기 데이터의 스트림은 비디오 데이터를 포함하는 수신 장치.
  23. 제22항에 있어서, 상기 제2 포트에서 수신된 상기 데이터의 세트는 블랭킹 기간 동안에 전송된 데이터 섬을 포함하는 수신 장치.
  24. 제23항에 있어서, 상기 데이터 섬은 오디오 데이터, 제어 데이터, 또는 오디오 데이터와 제어 데이터 둘 모두를 포함하는 수신 장치.
  25. 제22항에 있어서, 상기 제2 처리 엔진에 의한 백그라운드 처리 전에 상기 제2 포트에서 수신된 상기 데이터의 세트를 저장하기 위한 데이터 저장 장치를 더 포함하고, 상기 제2 포트에서 수신된 상기 데이터의 세트는 비디오 데이터를 포함하는 수신 장치.
  26. 제22항에 있어서, 상기 데이터의 스트림은 고화질 멀티미디어 인터페이스(HDMITM)와 호환되는 수신 장치.
  27. 제17항에 있어서, 상기 제2 포트에서 수신된 상기 데이터의 세트의 암호화는 고대역폭 디지털 콘텐츠 보호(HDCPTM)와 호환되는 수신 장치.
  28. 프로세서에 의해 실행될 때, 상기 프로세서가,
    복수의 포트 중 제1 포트를 선택하여 상기 제1 포트에서 수신된 데이터의 스트림의 포어그라운드 처리를 하는 동작 - 상기 데이터의 스트림은 콘텐츠 데이터를 포함함 -;
    상기 복수의 포트 중 제2 포트에서 수신된 데이터의 세트를 샘플링하는 동작- 상기 제2 포트는 포어그라운드 처리를 위해 선택되지 않으며, 상기 데이터의 세트는 데이터 패킷 및 에러 정정 데이터를 포함함 -;
    상기 제2 포트에서 수신된 상기 데이터의 세트의 백그라운드 처리를 수행하는 동작 - 상기 백그라운드 처리는 상기 데이터 패킷을 해독하는 것 및 상기 에러 정정 데이터를 이용하여 상기 해독된 데이터 패킷이 에러를 포함하는지를 결정하는 것을 포함함 -;
    상기 해독된 데이터 패킷이 상기 에러를 포함하지 않는다는 결정에 응답하여 상기 데이터의 세트를 암호화된 것으로 결정하는 동작; 및
    상기 해독된 데이터 패킷이 상기 에러를 포함한다는 결정에 응답하여 상기 데이터의 세트를 암호화되지 않은 것으로 결정하는 동작
    을 포함하는 동작들을 수행하게 하는 명령어들의 시퀀스를 나타내는 데이터를 저장한 컴퓨터 판독 가능 매체.
  29. 제28항에 있어서, 상기 데이터의 세트는 상기 복수의 포트에서 수신된 데이터에 대한 블랭킹 인터벌 동안에 샘플링되는 컴퓨터 판독 가능 매체.
  30. 제29항에 있어서, 상기 데이터의 세트는 상기 블랭킹 인터벌 동안에 수신된 하나 이상의 데이터 섬을 포함하는 컴퓨터 판독 가능 매체.
  31. 제29항에 있어서, 상기 복수의 포트 중 포어그라운드 처리를 위해 선택되지 않은 각각의 다른 포트로부터 데이터를 샘플링하고 해독하는 동작을 더 포함하는 컴퓨터 판독 가능 매체.
  32. 제31항에 있어서, 데이터를 샘플링하고 해독하는 동작은 상기 블랭킹 인터벌 동안에 포어그라운드 처리를 위해 선택되지 않은 포트들의 각각으로부터 데이터를 샘플링하고 해독하는 동작을 포함하는 컴퓨터 판독 가능 매체.
  33. 제29항에 있어서,
    프로세서에 의해 실행될 때, 상기 프로세서가,
    복수의 블랭킹 인터벌에서 상기 제2 포트에서 데이터를 샘플링하는 동작
    을 포함하는 동작들을 수행하게 하는 명령어들을 더 포함하고,
    상기 복수의 블랭킹 인터벌은 상기 블랭킹 인터벌 및 제2 블랭킹 인터벌을 포함하는 컴퓨터 판독 가능 매체.
  34. 제33항에 있어서,
    프로세서에 의해 실행될 때, 상기 프로세서가,
    상기 제2 블랭킹 인터벌에서 샘플링된 데이터의 제2 세트로부터의 데이터의 백그라운드 처리를 수행하는 동작
    을 포함하는 동작들을 수행하게 하는 명령어들을 더 포함하고,
    상기 데이터의 제2 세트는 제2 데이터 패킷을 포함하고, 상기 제2 포트에서 수신된 데이터가 암호화되었는지를 결정하는 동작은 상기 제2 데이터 패킷이 에러를 포함하는지에 대한 결정에 더 기초하는 컴퓨터 판독 가능 매체.
KR1020127000937A 2009-06-18 2010-06-04 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출 KR101538711B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/486,969 US8793723B2 (en) 2009-06-18 2009-06-18 Detection of encryption utilizing error detection for received data
US12/486,969 2009-06-18

Publications (2)

Publication Number Publication Date
KR20120029471A KR20120029471A (ko) 2012-03-26
KR101538711B1 true KR101538711B1 (ko) 2015-07-22

Family

ID=42537666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127000937A KR101538711B1 (ko) 2009-06-18 2010-06-04 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출

Country Status (7)

Country Link
US (1) US8793723B2 (ko)
EP (1) EP2443826B1 (ko)
JP (1) JP5676589B2 (ko)
KR (1) KR101538711B1 (ko)
CN (1) CN102804796B (ko)
TW (1) TWI488474B (ko)
WO (1) WO2010147774A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2822287A1 (en) * 2013-07-01 2015-01-07 Thomson Licensing Method and apparatus for frame accurate advertisement insertion
EP2876890A1 (en) 2013-11-21 2015-05-27 Thomson Licensing Method and apparatus for frame accurate synchronization of video streams
US9646175B2 (en) * 2014-11-26 2017-05-09 Synopsys, Inc. Two-way parity error detection for advanced encryption standard engines
CN109314799B (zh) * 2016-06-07 2020-12-08 麦克赛尔株式会社 广播接收装置
EP3322203B1 (en) * 2016-11-13 2020-05-20 Harman International Industries, Incorporated Fault tolerant network audio system
JP6472845B2 (ja) * 2017-08-28 2019-02-20 マクセル株式会社 画像受信装置
US11587073B1 (en) * 2017-12-15 2023-02-21 Worldpay, Llc Systems and methods for encryption and decryption service for electronic transaction monitoring and reporting
CN110995392B (zh) * 2019-11-28 2022-08-02 上海集成电路研发中心有限公司 一种数据传输方法及装置
US11575952B2 (en) * 2021-04-12 2023-02-07 Arris Enterprises Llc Digital rights management while streaming to display array

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066356A1 (en) * 2003-09-18 2005-03-24 Stone Christopher J. Method, apparatus and set-top device for transmitting content to a receiver
US6914637B1 (en) * 2001-12-24 2005-07-05 Silicon Image, Inc. Method and system for video and auxiliary data transmission over a serial link
US20080307496A1 (en) * 2007-06-05 2008-12-11 Funai Electric Co., Ltd. Video receiving apparatus and broadcast receiving apparatus
US20090040287A1 (en) * 2007-03-30 2009-02-12 Kabushiki Kaisha Toshiba Video communication device and video communication method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131004B1 (en) * 2001-08-31 2006-10-31 Silicon Image, Inc. Method and apparatus for encrypting data transmitted over a serial link
US7242766B1 (en) * 2001-11-21 2007-07-10 Silicon Image, Inc. Method and system for encrypting and decrypting data using an external agent
JP2005514849A (ja) * 2001-12-24 2005-05-19 シリコン・イメージ・インク シリアルリンクを利用したビデオ及び複数のフォーマットにおけるパケット化されたオーディオデータの伝送方法及びシステム
US7228154B2 (en) * 2004-11-03 2007-06-05 Sony Corporation Method and system for processing wireless digital multimedia
JP2007129458A (ja) * 2005-11-02 2007-05-24 Rohm Co Ltd オーディオデータ処理回路、およびそれを搭載した電子機器
US20070291939A1 (en) 2006-02-15 2007-12-20 Samsung Electronics Co., Ltd. Method and system for transmission of uncompressed video over wireless channels
US8130777B2 (en) * 2006-05-26 2012-03-06 Agere Systems Inc. Link layer device with clock processing hardware resources shared among multiple ingress and egress links
JP2008193168A (ja) * 2007-01-31 2008-08-21 Toshiba Corp 映像通信装置、映像通信システム及び映像通信方法
JP2009071558A (ja) * 2007-09-13 2009-04-02 Hitachi Ltd 表示装置
US8776115B2 (en) * 2008-08-05 2014-07-08 Invidi Technologies Corporation National insertion of targeted advertisement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6914637B1 (en) * 2001-12-24 2005-07-05 Silicon Image, Inc. Method and system for video and auxiliary data transmission over a serial link
US20050066356A1 (en) * 2003-09-18 2005-03-24 Stone Christopher J. Method, apparatus and set-top device for transmitting content to a receiver
US20090040287A1 (en) * 2007-03-30 2009-02-12 Kabushiki Kaisha Toshiba Video communication device and video communication method
US20080307496A1 (en) * 2007-06-05 2008-12-11 Funai Electric Co., Ltd. Video receiving apparatus and broadcast receiving apparatus

Also Published As

Publication number Publication date
TWI488474B (zh) 2015-06-11
KR20120029471A (ko) 2012-03-26
JP5676589B2 (ja) 2015-02-25
JP2012531098A (ja) 2012-12-06
US8793723B2 (en) 2014-07-29
CN102804796B (zh) 2016-10-26
EP2443826B1 (en) 2016-09-28
CN102804796A (zh) 2012-11-28
WO2010147774A1 (en) 2010-12-23
US20100322417A1 (en) 2010-12-23
TW201108695A (en) 2011-03-01
EP2443826A1 (en) 2012-04-25

Similar Documents

Publication Publication Date Title
KR101538711B1 (ko) 수신된 데이터에 대한 에러 검출을 이용하는 암호화의 검출
JP5797267B2 (ja) データストリームの部分暗号化のためのメカニズム
KR101873230B1 (ko) 세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘
US8644504B2 (en) Method, apparatus, and system for deciphering media content stream
JP5619903B2 (ja) データ・リンクの完全性を提供するためのメッセージング
US20110134330A1 (en) Fast switching for multimedia interface system having content protection
US20110157473A1 (en) Method, apparatus, and system for simultaneously previewing contents from multiple protected sources
US10505735B2 (en) Digital content protection over audio return data link

Legal Events

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

Payment date: 20180710

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190709

Year of fee payment: 5