KR20110113627A - 콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템 - Google Patents

콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20110113627A
KR20110113627A KR1020117018519A KR20117018519A KR20110113627A KR 20110113627 A KR20110113627 A KR 20110113627A KR 1020117018519 A KR1020117018519 A KR 1020117018519A KR 20117018519 A KR20117018519 A KR 20117018519A KR 20110113627 A KR20110113627 A KR 20110113627A
Authority
KR
South Korea
Prior art keywords
ports
engine
hdcp
port
data path
Prior art date
Application number
KR1020117018519A
Other languages
English (en)
Other versions
KR101483536B1 (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 KR20110113627A publication Critical patent/KR20110113627A/ko
Application granted granted Critical
Publication of KR101483536B1 publication Critical patent/KR101483536B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • 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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

다수의 포트와 연관된 하나의 해독 프로세싱 엔진(예를 들어, HDCP 엔진)의 비를 채용하는 콘텐츠 보호 포트 시스템의 사전 인증 및 인증 유지를 제공하는 방법, 장치 및 시스템이 개시된다. 일 실시예에서, 수신 디바이스는 송신 디바이스에 의해 사전 인증되고, 수신 디바이스는 제1 데이터 경로를 통해 송신 디바이스로부터 데이터 스트림을 수신한다. 또한, 제1 HDCP(High-Definition Content Protection) 엔진은 제1 데이터 경로 내의 제1 포트와 연관되고, 제2 HDCP 엔진과 결합된다. 제2 HDCP 엔진은 제2 데이터 경로 내의 복수의 포트와 연관되고, 복수의 포트의 각각은 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고, 상태 정보는 수신 디바이스를 사전 인증하는데 사용된다.

Description

콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR PRE-AUTHENTICATION AND KEEP-AUTHENTICATION OF CONTENT PROTECTED PORTS}
본 발명의 실시예는 일반적으로 네트워크 분야에 관한 것으로, 특히, 콘텐츠 보호 포트의 사전 인증(pre-authentication) 및 인증 유지(keep-authentication)에 관한 것이다.
다수의 데이터 스트림을 이용하는 시스템의 동작에서, 다수의 미디어 데이터 스트림이 디스플레이된다. 데이터는 HDCP(High-bandwidth Digital Content Protection) 데이터로 보호되는 데이터를 포함할 수 있으며, 이는 여기서 HDCP 데이터라 한다. 따라서, 시스템은 해독을 필요로 하는 다수의 인코딩 스트림을 발생시킨다. 그러나, HDCP를 해독하는 프로세스는 시간이 많이 걸린다. 이것은 일반적으로 데이터를 보거나 듣기 전에 지연을 발생시켜 시스템의 사용하고 즐기는 것을 방해한다.
HDCP는 미디어 콘텐츠, 특히 프리미엄 미디어 콘텐츠를 보호하는데 사용되는 콘텐츠 보호 프로토콜이다. 예를 들어, HDMI(High-Definition Multimedia Interface) 인터페이스를 통한 송신 디바이스(예를 들어, DVD 플레이어) 및 수신 디바이스(예를 들어, 텔레비전) 사이의 콘텐츠 흐름이 있으면, 이러한 미디어 콘텐츠를 송신 디바이스로부터 수신하기 전에 수신 디바이스를 검증하고 인증하고 수신 디바이스가 그 콘텐츠를 수락하기 전에 송신 디바이스를 검증하고 인증하는 등 프리미엄 미디어 콘텐츠 흐름이 보호되어야 한다. 이 두 디바이스의 검증 및 인증은 1초 또는 2초보다 적게 유지될 수 있는 임의의 초기 검증 데이터(예를 들어, 공개/개인키)를 교환함으로써 수행된다.
접속 포트, 미디어 콘텐츠 등의 변화 등의 접속에 변화가 있을 때마다, 새로운 검증/인증 프로세스가 수행된다. 예를 들어, 수신 디바이스가 다른 송신 디바이스(예를 들어, 디지털 카메라)에 접속되면, 이들 2개의 장치는 보호 미디어 콘텐츠가 그들 사이에서 통신되기 전에 검증 및 인증된다. 이 프로세스는 성가시며 시간이 많이 걸리고 귀중한 자원을 낭비한다. 그러므로, 포트의 사전 인증이 도입되었다. 사전 인증 프로세스는 모든 포트를 사전 인증하여 각 포트가 변경될 때마다 인증 프로세스를 수행할 필요성을 제거한다. 그러나, 포트의 수가 증가할 때마다 하나의 해독 프로세싱 엔진이 각각의 포트 수단에 할당되면, 동일 수의 해독 프로세싱 엔진이 추가되어 면적의 증가를 초래한다.
따라서, 단일 해독 프로세싱 엔진이 다수의 포트에 연관되는 것이 바람직하다.
다수의 포트와 연관된 하나의 해독 프로세싱 엔진(예를 들어, HDCP 엔진)의 비율을 채용한 콘텐츠 보호 포트 시스템의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템이 개시된다.
일 실시예에서, 방법은 송신 디바이스에 의해 수신 디바이스를 사전 인증하는 단계 - 상기 수신 디바이스는 제1 데이터 경로를 통해 상기 송신 장치로부터 데이터 스트림을 수신함 -; 제1 HDCP(High-Definition Content Protection) 엔진을 상기 제1 데이터 경로 내의 제1 포트와 연관시키는 단계 - 상기 제1 HDCP 엔진은 제2 HDCP 엔진과 결합됨 -; 및 상기 제2 HDCP 엔진을 제2 데이터 경로 내의 복수의 포트와 연관시키는 단계 - 상기 복수의 포트의 각각은 상기 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고, 상기 상태 정보는 수신 디바이스를 사전 인증하는데 사용됨 - 를 포함한다.
일 실시예에서, 장치는 송신 디바이스에 의해 사전 인증되는 수신 디바이스 - 상기 수신 디바이스는 제1 데이터 경로를 통해 송신 디바이스로부터 데이터 스트림을 수신함 - 를 포함한다. 또한, 제1 HDCP 엔진은, 상기 제1 데이터 경로 내의 제1 포트와 연관되고 제2 HDCP 엔진과 결합된다. 제2 HDCP 엔진은 제2 데이터 경로 내의 복수의 포트와 연관되고 복수의 포트의 각각은 상기 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고, 상기 상태 정보는 상기 수신 디바이스를 사전 인증하는데 사용된다.
일 실시예에서, 시스템은 송신 디바이스에 의한 수신 디바이스의 사전 인증을 용이하게 하는 사전 인증 디바이스 - 상기 수신 디바이스는 제1 데이터 경로를 통해 상기 송신 디바이스로부터 데이터 스트림을 수신함 - 를 포함하고, 상기 사전 인증 디바이스는 상기 제1 데이터 경로 내의 제1 포트와 연관되고, 제2 HDCP 엔진과 결합된 제1 HDCP 엔진; 및 제2 데이터 경로 내의 복수의 포트와 연관된 제2 HDCP 엔진 - 상기 복수의 포트의 각각은 상기 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고 상기 상태 정보는 상기 수신 디바이스를 사전 인증하는데 사용됨 - 을 포함한다.
본 발명의 실시예는 첨부된 도면을 참조하여 예로서 설명하며 이에 한정되는 것은 아니다. 동일한 참조 번호는 동일한 요소를 지칭한다.
도 1은 HDCP 사전 인증 시스템의 논리적 블록도.
도 2는 HDCP 엔진과 해당 포트 간의 일대일의 비율을 채용하는 HDCP 엔진-대-포트 시스템의 실시예를 나타내는 도면.
도 3은 감소된 수의 HDCP 엔진을 갖는 사전 인증 시스템의 실시예를 나타내는 도면.
도 4는 인증 프로세스의 트랜잭션 시퀀스의 실시예를 나타내는 도면.
도 5a는 메인 엔진을 위한 프로세스의 실시예를 나타내는 도면.
도 5b는 메인 엔진을 위한 프로세스의 실시예를 나타내는 도면.
도 6은 본 발명의 실시예를 채용하는 네트워크 컴퓨터 디바이스의 구성요소의 실시예를 나타내는 도면.
본 발명의 실시예는 일반적으로 다수의 포트와 연관된 하나의 해독 프로세싱 엔진(예를 들어, HDCP 엔진)의 비율을 채용하는 콘텐츠 보호 포트 시스템의 사전 인증 및 인증 유지에 관한 것이다.
여기에 사용된 것처럼, "네트워크" 또는 "통신 네트워크"는 SATA, 프레임 정보 구조(FIS) 등의 임의의 수의 기술을 이용하는 디바이스 간의 디지털 미디어 콘텐츠(음악, 오디오/비디오, 게임, 포토, 및 기타를 포함)를 전달하는 인터커넥션 통신을 의미한다. 엔터테인먼트 네트워크는 가정 네트워크, 비즈니스 설정 네트워크 또는 디바이스 및/또는 구성요소의 임의의 다른 네트워크 등의 개인 엔터테인먼트 네트워크를 포함할 수 있다. 네트워크는 LAN(Local Area Network), WAN(Wide Area Network), MAN(Metropolitan Area Network), 인트라넷, 인터넷 등을 포함한다. 네트워크에서, 소정의 네트워크 디바이스는 디지털 텔레비전 튜너, 케이블 셋탑 박스, 핸드헬드 디바이스(예를 들어, 개인 휴대 단말기(PDA)), 비디오 저장 서버 및 다른 소스 디바이스 등의 미디어 콘텐츠 소스일 수 있다. 디지털 텔레비젼, 홈 시어터 시스템, 오디오 시스템, 게임 시스템 및 다른 디바이스 등의 다른 디바이스는 미디어 콘텐츠를 디스플레이하거나 사용할 수 있다. 또한, 비디오 및 오디오 저장 서버 등의 소정의 디바이스는 미디어 콘텐츠를 저장 또는 전달하도록 의도될 수 있다. 케이블 셋탑 박스가 (케이블 헤드엔드로부터 정보를 수신하는) 수신기뿐만 아니라 (정보를 TV로 전송하는) 송신기로서 기능하거나 그 반대로 기능하는 등 소정의 디바이스는 다수의 미디어 기능을 수행할 수 있다. 임의의 실시예에서, 네트워크 디바이스는 단일 LAN에 같이 위치할 수 있다. 다른 실시예예서, 네트워크 디바이스는 LAN 간의 터널링을 통해 다수의 네트워크 세그먼트에 걸쳐질 수 있다. 네트워크는 또한 일 실시예에 따라 다수의 데이터 인코딩 및 암호화 프로세스뿐만 아니라 고유한 서명 검증 및 고유한 ID 비교 등의 식별 검증 프로세스를 포함할 수 있다.
일 실시예에서, "n보다 작은" 해독 프로세싱 엔진에 대응하는 "n"개의 콘텐츠 보호 포트의 사전 인증 및 인증 유지 시스템이 채용된다.
콘텐츠 보호 방식에서, 서로 통신하는 디바이스를 검출, 검증 및 인증하는데 다양한 툴(예를 들어, 폐지 목록(revocation list))이 사용된다. 이들 디바이스는 DVD(digital versatile disk), DVD 플레이어, CD(compact disk) 플레이어, TV, 컴퓨터 등의 미디어 디바이스를 포함한다. 예를 들어, 송신 디바이스(예를 들어, DVD 플레이어)는 이러한 툴을 이용하여 수신 디바이스(예를 들어, TV)를 인증함으로써 수신 디바이스가 프리미엄 보호 미디어 콘텐츠를 송신 디바이스로부터 수신하는 것이 합법적인지 불법인지를 결정한다. 마찬가지로, 수신 디바이스는 송신 디바이스로부터 보호 미디어 콘텐츠를 수락하기 전에 송신 디바이스를 인증한다. 너무 많은 (성가시고, 시간이 많이 걸리고, 자원이 낭비될 수 있는) 인증 프로세스를 피하기 위하여, 디바이스의 사전 인증이 수행된다.
여기에 사용되는 용어인 "사전 인증"은 HDMI 스위치 제품을 포함하는 디바이스의 특징을 나타내는 것으로 디바이스가 좀더 신속하게 입력 사이를 스위칭하도록 한다. 용어는 스위칭 후 대신에, 입력으로의 스위칭 전에 필요한 HDCP 인증의 성능을 설명한다. 이 방식에서, 인증과 연관된 상당한 지연은 전경(foreground) 대신에 동작의 배경(background)에 숨을 수 있다.
HDCP 수신기는 슬레이브 디바이스로 간주되기 때문에, HDCP 수신기는 임의의 요청 또는 상태를 송신기에 명시적으로 시그널링하는 것을 기대하지 않는다. 의도적으로 Ri 시퀀스(Tx가 링크가 확실히 계속 동기화되는지를 체크할 때 Rx로부터 Tx로의 응답)를 절단(breaking)함으로써 "절단" 링크가 (노골적이기보다는) 암시적으로 통상의 시그널링된다. 다양한 HDCP 송신기가 존재한다. 이들 중 많은 것은 고유하고 변덕스러운 거동을 나타낼 수 있다. 수신기가 아닌 이들 송신기에 의해 사전 인증 어드레스가 유발되는 지연의 대부분은 변덕스럽다. 이상적으로 송신기는 이러한 성능 문제를 피하기 위하여 변경되지만, 현실적으로 기대하기 어렵고, 따라서, 사전 인증은 데이터 스트림 동작에서 의미있는 값을 제공할 수 있다.
HDCP 동기화에 대하여, 일반적으로, HDCP 수신기는 송신기와 동기화를 유지하기 위하여 2가지가 필요하다, 즉, (1) 수신기는 프레임 경계가 어디 있는지를 알아야 하고, (2) 수신기는 이들 프레임 중의 어느 것이 프레임이 암호화되었다는 것을 나타내는 신호(예를 들어, CTL3)를 포함하는지를 알아야 한다. 이 문서를 통해, "CTL3"는 설명의 용이성, 간결성 및 명료성을 위하여 임의의 제한 없이 암호 지시자의 예로서 사용된다.
도 1은 HDCP 사전 인증 시스템(100)의 논리적 블록도이다. 도시된 HDCP 사전 인증 시스템(100)은 입력 포트마다 전용 HDCP 엔진 블록(104 내지 108, 120)을 포함하는 HDCP(사전 인증) 디바이스(101)를 포함한다. 일반적으로, 개방 루프 암호가 임의의 해독을 행하지 않을 때에도 임의의 일반 HDCP 로직은 모든 경우에 사용된다. 이것은 리-키잉(re-keying) 기능이 HDCP 로직을 이용하여 분산(dispersion)을 최대화하기 때문이다. 또한, 개방 루프 HDCP 엔진(104 내지 108)은 PLL(phase lock loop)(110 내지 114) 또는 PLL 같은 회로를 이용하여 프레임 레이트를 록(lock)하고 개방 루프 모드가 실행되는 동안 프레임 경계가 있는 곳에 대한 정보를 제공한다.
단일 특수 목적 TMDS(Transition Minimalized Differential Signaling) 수신기(116)(예를 들어, 로빙 수신기)는 개방 루프 로직에 필수적인 정보를 순차적으로 제공하는데 사용될 수 있다. 이 로빙(roving) 수신기(116)는 현재 이용되지 않는 입력을 순환하고, 프레임 경계를 찾고(해당 PLL(110 내지 114)이 록되고), 인증이 발생할 때 제1 CTL3 신호를 찾는다. 어떤 경우, 이것은 단지 VSYNC 및 CTL3 지기시를 필요로 하므로 TMDS 수신기(116)의 분해 버전일 수 있다.
또한, 일반 TV 데이터 경로(132)는 종래의 스위치 제품과 동일한 방식으로 작동할 수 있다. 동작에 있어서, 필요에 따라 데이터 스트림이 복호되고 해독되는 동안(예를 들어, 입력 암호 데이터로부터 본래의 오디오/비디오(A/V) 데이터를 꺼내는 해독), 입력 포트 중의 하나가 일반 데이터 경로(132)를 위하여 선택되고, 기기의 나머지를 통해 라우팅된다.
로빙 수신기(116)는 현재 유휴 포트를 하나씩 샘플링한다. 이것은 상태 머신 또는 (더 가능하게는) 프로세스를 제어하는 임의의 종류의 마이크로컨트롤러를 필요로 한다. 초기 동작 시퀀스는 일반적으로 다음과 같다: (1) 로빙 수신기(116)는 이용되지 않는 입력 포트에 연결되어 비디오를 위하여 그 입력 포트를 모니터링하고; (2) HDCP 엔진(104 내지 108)은 포트에 연결되고, 이것은 I2C 버스가 연결되었다(예를 들어, I2C가 링크 동기화 체크를 위한 Tx와 Rx 간의 추가의 통신 채널로서 간주됨)는 것을 의미한다. 이것은 송신 및 HDCP 인증을 수행할 준비가 되었다는 것을 소스에 지시하는 시그널링 핫플러그(hotplug)를 의미한다. 이것은 또한 EDID(Extended Display Identification Data) 정보의 전달을 가능하게 하지만, 이것은 본 개시물의 범위를 벗어난다; (3) 비디오가 안정적이면, 로빙 수신기(116)는 정보를 제공하여 PLL을 프레임 경계로 정렬하고, (4) 상태 머신 또는 마이크로컨트롤러는 HDCP 인증이 시작될 기간을 기다린다. 이렇게 하면, 인증이 완료하고 제1 CTL3 신호가 수신될 때까지 계속 기다리고, (5) HDCP 블록은 PLL로부터의 정보만을 이용하여 "프레임"을 카운팅하는 개방 루프 기능에서 계속적으로 순환한다. I2C 포트는 계속 접속되고 핫플러그 신호는 계속적으로 수신기가 접속되었다는 것을 지시하고; (6) 로빙 수신기(116)는 다음 포트로 진행하여 동일한 동작을 수행한다. 임의의 실시예에서, 로빙 수신기(116)가 모든 포트를 개시하면, 각 포트를 순차적으로 체크하면서 서비스 루프로 들어간다.
도 2는 HDCP 엔진(202 내지 208)과 해당 포트(210 내지 216) 간의 일대일 비율을 채용하는 HDCP 엔진-대-포트 시스템(200)의 실시예를 나타낸다. 도시된 시스템(200)은 포트(210 내지 216)에 일대일 대응하는 4개의 HDCP 엔진(202 내지 208)를 포함하고, 예를 들어, 각 HDCP 엔진(202 내지 208)은 단일 포트(210 내지 216)에 대응한다. 시스템(200)은 또한 메인 파이프 또는 경로(218) 내에 있는 것으로서 HDCP 엔진 1 (202)와 연관된 포트 1(210)를 나타낸다. 다른 경로 2 내지 3(204 내지 206)는 로빙 파이프 또는 경로(220) 내에 있으며 HDCP 엔진 2 내지4(204 내지 208)과 연관된다. 파이프와 경로라는 용어는 본 문서에서 혼용된다. 메인 경로(218)의 HDCP 엔진(202)은 (비디오 및 오디오 데이터를 해독 및 획득하는) 각 픽셀 및 동기화 (예를 들어, 모든 프레임 경계를 참조하는 리-키잉)를 위해 작동한다. Tx 및 Rx는 콘텐츠를 암호화하고 해독하는데 사용되는 공유키를 변경한다. 이것은 키를 너무 많은 데이터에 사용하는 것을 방지한다. 예를 들어, 로빙 경로(220)의 HDCP 엔진(204 내지 208)이 동기화(예를 들어, 리-키잉) 및 유휴를 위해 작동하는 동안, 128번째 프레임에서, Tx 및 Rx는 키의 나머지를 교환하고 HDCP에서의 Ri 체킹이라 불리우는 링크의 동기화를 체크한다.
로빙 경로(220)의 HDCP 엔진(204 내지 208)은 송신기(Tx)가 동기화된 수신기(Rx)를 신뢰할 수 있게 하는데 사용되는 Ri 값을 단지 동기화하기 위하여 짧은 시간 동안 작동한다(예를 들어, 리-키잉 프로세스를 수행한다). 그러나, 추가의 포트가 채용될 때의 시스템(200)에서, 추가의 대응 HDCP 엔진을 필요로 하고, 이는 더 크고 많은 부담스러운 시스템을 일으킬 수 있다. 즉, HDCP 엔진(204 내지 208)은 동기화 기간 동안 필요하며 기능하고, HDCP 엔진(202)이 계속 작동하는 기간의 나머지 동안 더 이상의 사용 없이 유휴가 된다.
도 3은 감소된 수의 HDCP 엔진(302, 304)을 갖는 사전 인증 시스템(300)의 실시예를 나타낸다. HDCP 엔진의 대부분(예를 들어, 도 1의 로빙 경로 HDCP 엔진)은 일 실시예에 따르면 짧은 기간 동안만 작동하기 때문에, 감소된 수의 HDCP 엔진(302, 304)이 이 시스템(300)에서 채용된다. 다르게 말하면, 일 실시예에서, 메인 경로(318)의 HDCP 엔진 M(302)은 포트 1(310)에 대응하고 각각의 픽셀 및 동기화(예를 들어, 리-키잉)를 위해 작동하는 작동 엔진이지만, 로빙 경로(320)의 HDCP 엔진 R(304)은 포트 2 내지 4(312 내지 316)의 나머지에 대응하고 시간 멀티플렉싱으로 모든 로빙 포트 2 내지 3(312 내지 316)을 위한 동기화(예를 들어, 리-키잉)를 위해 작동한다.
도시된 실시예는 2개의 파이프 또는 경로, 즉, 메인 파이프(318) 및 로빙 파이프(320)를 채용하는 사전 인증 시스템(300)을 갖는 시간 기반 로빙 HDCP 아키텍쳐를 포함한다. 메인 파이프(318)는 미디어 콘텐츠를 보는 사용자에 의해 선택된 포트(310)에 전용이다. 반면에, 로빙 파이프(320)는 시간 기반 멀티플렉싱 방식으로 하나씩 다른 포트(312 내지 316)(예를 들어, 배경 포트)를 로빙시키고 이들 포트(312 내지 316)가 인증되고 대응하는 송신 디바이스(Tx)와 동기화하도록 한다. 이 기술을 이용하여, 다수의 포트(예를 들어, 4개의 포트(310 내지 316))가 2개의 파이프(318, 320)로 사용될 수 있다. 메인 파이프(318)는 사용자가 미디어 콘텐츠(예를 들어, 영화, 스포츠, 등)를 보려고 선택한 포트(310)에 전용인 파이프이다. 메인 파이프(318)는 일반적으로 아날로그 PLL, 직렬 변환기 및 직병렬 변환기(SerDes), 및 데이터(예를 들어, 입력 비트 스트림으로부터의 A/V 데이터)를 복구하는 다른 로직으로 구성된다. 로빙 파이프(320)는 메인 파이프(318)에 연결되지 않은 다수의 포트(312 내지 316)를 로빙시키는 파이프이며, 이들은 필요하면(예를 들어, 사용자가 로빙 포트(312 내지 316) 중의 하나를 위한 메인 포트(310)를 스위칭하는 등 포트를 스위칭할 때) 메인 파이프(318)에 의해 사용되거나 호출될 준비가 되어 있다. 일반적으로, 로빙 파이프(320)의 임의의 구조적 구성요소는 메인 파이프(318)와 동일하다.
HDCP 엔진(302, 304)은 미디어 콘텐츠를 암호 또는 해독하는 로직 블록이다. 예를 들어, 송신 디바이스(Tx)는 암호(HDCP) 엔진을 갖는 반면, 수신 디바이스(Rx)는 해독(HDCP) 엔진을 가질 수 있다. HDCP 엔진(302, 304)은 확실한 링크를 통한 Tx와 Rx 간의 동기화를 기록하고 Tx와 Rx 간의 확고한 데이터 링크를 확립하기 위하여 송신 및 수신 디바이스를 사전 인증 및 인증하는데 사용된다. 예를 들어, 동기화를 검증하기 위하여, 송신 디바이스는 모든 128 프레임에서 Ri 값으로 수신 디바이스를 체크한다. Ri 값은 매 프레임마다 업데이트되는 Tx와 Rx 간의 공유키의 나머지이다. CTL3 신호는 현재의 프레임이 암호화된 프레임인지를 식별하는 지시자이다. 예를 들어, Tx는 각 프레임마다 CTL3를 전송하여 Rx가 암호화된 프레임이라는 것을 알게 하도록 암호화한다. CTL3는 여기에서 설명의 간략성 및 간단성을 위한 예로서 사용되며, 다른 기술이 동일한 시그널링 태스크를 수행하는데 사용될 수 있다. 인증 및 Ri 체킹이 I2C(DDC) 버스를 통해 수행되는 동안 HDCP 신호는 동기화를 위한 입력 A/V 스트림에서 수직 동기화(VS) 및 CTL3(암호 지시자)를 포함한다.
일 실시예에서, 시스템(300)(예를 들어, InstaPort 기술을 채용)은 "n"개의 포트(310 내지 316)를 제공할 수 있지만, 귀중한 공간 및 자원을 절약하는 "n보다 작은" 수의 HDCP 엔진(302 내지 304)을 제공한다. 도시된 바와 같이, 예를 들어, HDCP 엔진 R(304)은 1:1보다 3배 큰 1:3의 비율로 3개의 포트 2 내지 4(312 내지 316)에 의해 공유된다. 다수의 포트 3 내지 4(312 내지 316)에 의한 HDCP 엔진 R(304)의 공유는 포트가 추가될 때마다 성가시게 시스템 면적을 증가시키거나 자원을 낭비하는 HDCP 엔진을 추가할 필요성을 제거한다. 임의의 수의 포트가 임의의 수의 HDCP 엔진에 맵핑될 수 있고 개시물의 이해를 위한 간략성 및 명료성을 위해 도시된 예는 예로서 1:3의 비율을 제공한다.
도시된 실시예에서, 포트 1(310)는 메인 포트로서 지정되고 각 픽셀 해독을 위해 작동하고 Ri 동기화(예를 들어, 수직 리-키잉)를 수행하는 메인 엔진으로서 지정된 HDCP 엔진 M(302)와 연관된다. 포트 2 내지 4(312 내지 316)는 로빙 포트로서 지정되고 기간의 나머지 동안 시간 멀티플렉싱 또는 시간 공유 방식으로 모든 로빙 포트 2 내지 4(312 내지 316)의 동기화를 위해 작동하는 (그리고서는 (어떠한 사용 없이) 유휴가 되는) HDCP 엔진 R(304)과 관련되고, 한편 HDCP 엔진 M(302)은 계속 작동 및 수행된다.
예를 들어, HDCP 엔진 R(304)은 먼저 로빙 포트 2(312)를 위해 작동한다. 포트 2 (312)의 R0 생성 페이즈(링크의 동기화를 유지하는 필요한 정보를 얻기 위한 인증의 제1 페이즈, 예를 들어, Ri 생성) 후, HDCP 엔진 R(304)은 포트 2(312)를 위해 (동기화 체킹에 사용되는) 다수의 Ri 값을 미리 생성하고 이 값을 포트 2(312)와 연관된 FIFO(First In First Out) 큐(322)에 넣는다. 그 후, 포트 2(312)는 FIFO 큐(322)와 통신하여 큐(322)가 포트 2(312)에 접속된 Tx에 의해 요청된 필요한 Ri 값을 보내도록 한다. 포트 2(312)에 접속된 Tx가 해당 FIFO 큐(322)로부터 정확하게 필요한 Ri 값을 수신하면, Tx는 HDCP가 동기화되어 유지된다는 것을 신뢰하게 된다. 이 점에서, HDCP 엔진 R(304)은 다음 포트, 예를 들어, 포트 3(314)으로 이동하고, 포트 3(314)에 대하여 다수의 Ri를 생성하여 포트 3(314)에 대응하는 FIFO 큐(324)에 넣는 등 이전의 포트 2(312)와 동일한 프로세스를 포트 3(314)에 대하여 수행한다. HDCP 엔진 R(304)은 FIFO 큐(326) 등의 해당 FIFO 큐와 함께 동작하면서 포트 4(316) 등의 나머지 포트의 각각에 대하여 이들 동작을 반복적으로 수행하여 FIFO 큐(322 내지 326)가 비어 있지 않도록 한다. FIFO 큐(322 내지 326)가 Tx가 필요로 하는 Ri를 가지고 있는 한, 송신 디바이스는 수신 디바이스를 계속 인증할 것이다.
HDCP 엔진 R(304)이 미리 발생된 Ri 값(예를 들어, 수직 리-키잉 결과)을 FIFO 큐(322 내지 326)에 저장하면, HDCP 엔진 R(304)의 상태(예를 들어, Mi 값; HDCP 엔진의 내부 상태)가 FIFO 큐(322 내지 326)에서 유지된다. 해당 포트가 사용자에 의해 메인 파이프용으로 선택되면 해당 포트 2-4(312 내지 316)에 관한 HDCP 엔진 R(304)의 상태 정보가 메인 파이프 동작의 시작점으로서 HDCP 엔진 M(302)에 의해 사용된다. HDCP 엔진 M(302)은 메인 포트와 연관되고 동기화 뿐만 아니라 각 사이클에서의 픽셀 데이터의 해독을 수행한다. 메인 포트로서 포트가 선택되면, (FIFO(322 내지 326) 중의 하나에 저장된) 메인으로서의 선택된 포트를 위한 HDCP 엔진 R(304)의 상태가 HDCP 엔진 M(302)에 카피되어 로빙 포트 중의 하나였던 선택된 포트의 동기화 상태를 전달한다. 그 후, HDCP 엔진 M(302)은 FIFO 큐(322 내지 326)로부터 카피된 상태 정보를 이용하여 선택된 포트(수평 리-키잉, 해독 코드 생성, 등)를 위한 동작을 시작할 수 있다. 데이터 전달의 실제 세부사항(예를 들어, Ri, 상태, 등)은 종래의 기술 중의 하나를 따른다.
포트 1(310)가 메인 포트로서 제거되면, HDCP 엔진 M(302)의 상태는 해당 FIFO 큐(다른 세 개가 이동하면서 포트 1(310)가 마지막 로빙 포트로서 지정되면, FIFO 큐(326)에서)로 카피된다. 그 후, 나중의 시점에서, HDCP 엔진 R(304)이 전자의 메인 포트, 포트 1(310)를 방문하면, 로빙 동작에서, FIFO 큐(예를 들어, FIFO 큐(326))의 콘텐츠를 카피하여 포트 1(310) 프로세싱(로빙 포트)을 위한 시작점으로서 사용한다. 이 기술은 각 포트(310 내지 316)에 대하여 메인 포트와 로빙 포트 간의 끊김없는 전입 및 전출을 보장한다.
2개의 HDCP 엔진(302, 304), 4개의 포트(310 내지 316), 3개의 FIFO 큐(322 내지 326) 등이 도시되지만, 시스템의 다양한 요구사항(예를 들어, FIFO를 비우는데 필요하지 않은 시간 예산, FIFO 대 HDCP 엔진 면적, 등)에 따라 임의의 수의 엔진, 포트 및 FIFO 큐가 채용될 수 있다. 예를 들어, HDCP 엔진의 수는 하나의 엔진으로 감소될 수 있다. 그 이유는, 메인 HDCP 엔진(302)은 메인 포트(310)를 위해 작동하는 동안 유휴 시간을 가지며, Ri를 생성하는 빈도는 HDCP 엔진의 동작 빈도와 비교하여 매우 낮기 때문에, 이 유휴 시간은 메인 HDCP 엔진(302)이 예를 들어 시간 멀티플렉싱 방식으로 로빙 포트(312 내지 316)의 프로세스를 처리하기에 충분히 길 수 있다. 또한, HDCP 엔진은 여기에서 본 문서의 일관성, 간결성 및 명료성을 위해 콘텐츠 보호 및 해독 프로세싱 엔진의 예로서 채용된다. 그러나, HDCP 기술과 일치하는 다른 형태의 엔진이 본 발명의 기술 및 실시예를 수행하는데 채용될 수 있다.
도 4는 인증 프로세스(400)의 트랜잭션 시퀀스의 실시예를 나타낸다. 일 실시예에서, 인증 프로세스(400)는 인증 프로세스(400)의 다양한 페이즈(410, 412)를 나타내는 타임라인(450, 452, 454)을 포함한다. 일 실시예에서, 타임라인(450)은 도 3을 참조하여 설명하는 바와 같이 로빙 엔진(예를 들어, HDCP 엔진 R(304))의 이용을 나타낸다. 타임라인(450)에서, 인증 프로세스(400)의 제1 페이즈(410) 동안, HDCP 엔진 R이 항상 사용되고 관련된다. 그러나, 제2 페이즈(412)에서, HDCP 엔진 R은 짧은 시간 부분을 제외하고 거의 유휴이다. HDCP 엔진 R의 이러한 조건은 도 3을 참조하여 더 설명되며, 일 실시예에서, HDCP 엔진 R의 수는 단일 HDCP 엔진 R로 감소되며, 그 이유는, 다수의 HDCP 엔진 R이 유휴가 되는 것을 피하도록 HDCP 엔진 R이 단지 가끔 제1 페이즈(410)가 끝난 후에 사용되기 때문이다. 마찬가지로, 후속의 페이즈(414, 416)에서, HDCP 엔진 R은 송신 및/또는 수신 디바이스(필요에 따라)를 계속 인증하여 HDCP 엔진 R과 접속된 다른 포트에 대응하는 관련 R 값(예를 들어, R1(406), R2(408), 등)을 계속 체크한다.
도시된 페이즈 간격은 R0(404), R1(406), R2(408), ..., Rn에 의해 표시되고, 이들의 각각은 제2 페이즈(412)의 시작에서 산출되는 것보다 소정의 파라미터의 함수를 반영한 16비트 수를 포함한다. 예를 들어, 송신 디바이스가 수신 디바이스를 성공적으로 인증했을 때, R0(404), R1(404) 등으로 나타낸 HDCP 엔진(R)에 의해 생성된 수는 송신 디바이스 및 수신 디바이스가 동기화했는지를 나타낸다. 도시된 실시예에서, 예를 들면, R1(406)을 위한 산출은 2초에 걸쳐 제2 페이즈(412) 동안 수행된다.
타임라인(452 및 454)은 도 3을 참조하여 설명하는 바와 같이 메인 경로 내의 메인 엔진(예를 들어, HDCP 엔진 M(302))의 작동을 반영한다. 제1 페이즈(456)는 인증 프로세스의 제1 페이즈(456)를 통해 HDCP 엔진 M(414)의 사용을 나타내는 엔진 사용(464)을 나타낸다. 타임라인(454)은 인증 프로세스(400)의 후속 페이즈(458, 460, 462) 동안 송신 및/또는 수신 디바이스를 인증(466)(예를 들어, R1, R2, R3, ..., Rn의 R 값을 체킹)하기 위한 HDCP 엔진 M의 사용을 나타낸다.
그러나, 타임라인(454)이 HDCP 엔진 R과 반대로 HDCP 엔진 M의 사용 또는 작동을 나타냄에 따라, 관련 디바이스를 계속 인증(466)하는 것으로 한정되지 않고, 메인 파이프(468) 내의 임의의 관련 오디오/비디오 데이터를 처리하는데 사용된다. HDCP 엔진 M의 오디오/비디오 데이터 처리 기능(468)은 후속의 페이즈(458 내지 462) 동안 클라우드(cloud)로서 도시되고 그 후 계속된다. 일 실시예에서, 메인 경로(예를 들어, 사용자가 보고 아는 것)에서, HDCP 엔진 M은 디바이스의 인증의 수행 뿐만 아니라 관련 오디오/비디오 데이터의 처리 및 프로세싱에 이용된다. 반면에, 로빙 경로(예를 들어, 이 경로가 배경에서 실행되기 때문에, 사용자가 보거나 알지 못하는 것)에서, 일 실시예에서, 다수의 포트에 대한 기능을 수행하도록 시간 멀티플렉싱되는 단일 HDCP 엔진 R이 채용될 수 있다. 또한, HDCP 엔진(R 또는 M)은 여기에 기재된 것처럼 다양한 기능을 수행하는 물리적 포트에 접속될 수 있다.
도 5a는 로빙 엔진을 위한 프로세스의 실시예를 나타낸다. 일 실시예에서, 로빙 엔진(예를 들어, HDCP 엔진 R)이 채용되고 복수의 포트에 접속되어 로빙 경로에서 기능을 수행하고, 그 성능은 사용자가 볼 수 없다. 결정 시퀀스(502)에서, 이미 인증되었으나, 그 FIFO 레벨(예를 들어, Ri FIFO)이 낮고 해당 FIFO에 채워질 추가의 Ri를 필요로 하는 포트가 있는가를 결정한다. 이러한 포트가 있으면, 프로세싱 시퀀스(504)에서 HDCP 엔진 R이 포트에 접속되고 더 많은 Ri가 생성되어 FIFO를 채우고 결정 시퀀스(502)에서 프로세스가 계속된다.
결정 시퀀스(502)에 따라 인증된 포트가 없으면, 결정 시퀀스(506)에서, 인증되지 않고, 인증 차례를 기다리는 포트가 있는지를 결정한다. 이러한 포트가 없으면, 프로세스는 결정 시퀀스(502)에서 프로세스가 계속된다. 그러나, 인증되지 않은 포트가 있고 결정 시퀀스(502)에 따라 인증될 차례를 기다리면, 프로세싱 시퀀스(508)에서, HDCP 엔진 R이 포트에 접속되어 (도 4를 참조하여 설명한 바와 같이) 제1 페이즈에서 포트 인증을 수행한다. 또한, HDCP 엔진 R은 Ri를 산출하는데 필요한 파마미터에 관한 정보를 얻은 후에, Ri를 생성하고 해당 FIFO에 채운다. 프로세스는 결정 시퀀스(502)에서 계속된다.
도 5b는 메인 엔진을 위한 프로세스의 실시예를 나타낸다. 메인 엔진(예를 들어, HDCP 엔진 M)이 포트에 접속되고 수행(552)되어 메인 경로에서 기능을 수행하고, 이 성능은 사용자가 볼 수 있다. 포트(550)가 변경되면, HDCP 엔진 M은, 다음 포트에 대응하고 엔진 상태 정보를 포함하는 FIFO로부터 다음 포트(예를 들어, 이전의 포트를 대체하는 새로운 포트)에 관한 엔진 상태 정보를 카피(554)한다. 이 엔진 상태 정보는, 정지한 로빙 엔진(예를 들어, HDCP 엔진 R)이 다음 포트와 관련되고 (HDCP 엔진 R과 관련되고 함께 작동하는 로빙 포트였던) 포트를 라우팅하여 흠집 없이 새로운 메인 포트로 인증 프로세스를 계속하는 동일 포인트로부터 끊김없이 HDCP 엔진 M이 백업을 시작하는데 필요하다. 상술한 바와 같이, 메인 엔진 M의 상태는 로빙 포트에 대응하는 FIFO에 카피되어 포트에 방문한 다음 시간에 엔진 R에 의해 사용된다.
도 6은 본 발명의 실시예를 채용하는 네트워크 컴퓨터 디바이스(605)의 구성요소의 실시예를 나타낸다. 이 도면에서, 네트워크 디바이스(605)는, 이에 제한되지 않지만, 텔레비전, 케이블 셋탑 박스, 라디오, DVD 플레이어, CD 플레이어, 스마트 폰, 저장 유닛, 게임 콘솔 또는 다른 미디어 디바이스를 포함하는 네트워크 내의 임의의 디바이스일 수 있다. 임의의 실시예에서, 네트워크 디바이스(605)는 네트워크 기능을 제공하는 네트워크 유닛(610)을 포함한다. 네트워크 기능은, 이에 제한되지 않지만, 미디어 콘텐츠 스트림의 생성, 전송, 저장 및 수신을 포함한다. 네트워크 유닛(610)은 단일 SoC(system on a chip) 또는 다수의 구성요소로서 구현될 수 있다.
임의의 실시예에서, 네트워크 유닛(610)은 데이터의 프로세싱을 위한 프로세서를 포함한다. 데이터의 프로세싱은 미디어 데이터 스트림의 생성, 전달 또는 저장되는 미디어 데이터 스트림의 조작, 및 사용될 미디어 데이터 스트림의 해독 및 디코딩을 포함할 수 있다. 네트워크 디바이스는 또한 DRAM(dynamic random access memory)(620) 또는 다른 유사 메모리 및 플래시 메모리(625) 또는 다른 비휘발성 메모리 등의 네트워크 동작을 지원하는 메모리를 포함할 수 있다.
네트워크 디바이스(605)는 또한 하나 이상의 네트워크 인터페이스(655)를 통해 네트워크 상에서 데이터를 송신하고 또는 네트워크로부터 데이터를 수신하는 송신기(630) 및/또는 수신기(640)를 포함할 수 있다. 송신기(630) 또는 수신기(640)는, 예를 들어, 이더넷 케이블(650), 동축 케이블 또는 무선 유닛을 포함하는 유선 송신 케이블에 접속될 수 있다. 송신기(630) 또는 수신기(640)는 데이터 전송 및 제어 신호를 위해 네트워크 유닛(610)에, 데이터 송신을 위한 라인(635) 및 데이터 수신을 위한 라인(645) 등의 하나 이상의 라인으로 결합될 수 있다. 또한, 추가의 접속이 존재할 수 있다. 네트워크 디바이스(605)는 또한 여기에 도시되지 않은 장치의 미디어 동작을 위한 수많은 구성요소를 포함할 수 있다.
상기 설명에서, 설명을 위하여, 본 발명을 이해를 제공하기 위하여 수많은 특정 세부사항이 제공된다. 그러나, 본 발명은 이러한 특정 세부사항의 일부 없이 실행될 수 있음은 당업자에게 자명한 것이다. 다른 예에서, 공지된 구조 및 디바이스가 블록도 형태로 도시된다. 도시된 구성요소 사이에 중간 구조가 있을 수 있다. 여기에 기재되거나 도시된 구성요소는 도시되거나 기재되지 않은 추가의 입력 또는 출력을 가질 수 있다.
본 발명의 다양한 실시예는 다양한 프로세스를 포함할 수 있다. 이들 프로세스는 하드웨어 구성요소에 의해 수행되거나 프로세스를 수행하는 명령으로 범용 또는 특수목적 프로세서 또는 로직 회로를 프로그래밍하는데 사용될 수 있는 머신 실행가능 명령 또는 컴퓨터 프로그램에서 구현될 수 있다. 대안으로, 프로세스는 하드웨어 및 소프트웨어의 조합에 의해 수행될 수 있다.
포트 멀티플라이어 향상 메카니즘(port multiplier enhancement mechanism)의 실시예 내에 또는 그와 관련된 것 등의 본 문서 전체에 걸쳐 기재되는 하나 이상의 모듈, 구성요소 또는 소자는 하드웨어, 소프트웨어 및/또는 그 조합을 포함할 수 있다. 모듈이 소프트웨어를 포함하는 경우, 소프트웨어 데이터, 명령 및/또는 구성은 머신/전자 장치/하드웨어에 의한 제조 물품을 통해 제공될 수 있다. 제조 물품은 명령, 데이터 등을 제공하는 머신 액세스가능/판독가능 매체를 포함할 수 있다. 콘텐츠는 여기에 기재된 바와 같이 기재된 다양한 동작 또는 실행을 수행하는 전자 장치, 예를 들어, 파일러, 디스크, 또는 디스크 컨트롤러에서 발생할 수 있다.
본 발명의 다양한 실시예의 부분은 컴퓨터 프로그램 명령이 저장된 컴퓨터 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있고, 컴퓨터 프로그램 명령은 컴퓨터(또는 다른 전자 장치)를 프로그래밍하여 본 발명의 실시예에 따라 프로세스를 수행할 수 있다. 머신-판독가능 매체는, 제한되지 않지만, 플로피 디스켓, 광 디스크, CD-ROM, 광자기 디스크, ROM, RAM, EPROM, EEPROM, 자석 또는 광 카드, 플래시 메모리, 또는 전자 명령을 저장하기에 적합한 다른 타입의 미디어/기계 판독가능 매체를 포함할 수 있다. 또한, 본 발명은 컴퓨터 프로그램 제품으로서 다운로드될 수 있고, 프로그램은 원격 컴퓨터로부터 요청 컴퓨터로 전송될 수 있다.
많은 방법이 거의 기본 형태로 설명되었지만, 본 발명의 기본 범위로부터 벗어나지 않는 한도 내에서 프로세스는 임의의 방법으로부터 추가되거나 삭제될 수 있고 정보가 기재된 메시지의 임의의 것으로부터 더해지거나 제거될 수 있다. 많은 추가의 변경 및 적응이 가능하다는 것은 당업자에게 자명하다. 특정 실시예는 본 발명을 제한하기 위하여 제공되는 것이 아니라 설명하기 위하여 제공된다. 본 발명의 실시예의 범위는 상기의 특정한 실시예에 의해 결정되는 것이 아니라 하기의 청구범위에 의해 결정된다.
소자"A"가 소자"B"에 결합되면, 소자(A)는 소자(B)에 직접 결합되거나 소자(C)를 통해 간접적으로 결합될 수 있다. 명세서 또는 청구범위에서, 구성요소, 특징, 구조, 프로세스 또는 특성(A)이 구성요소, 특징, 구조, 프로세스 또는 특성(B)을 "야기"하면, "A"는 "B"의 적어도 일부를 야기하는 것을 의미하지만, "B"를 야기하는 것을 돕는 적어도 하나의 다른 구성요소, 특징, 구조, 프로세스 또는 특성이 있을 수 있다. 명세서에서, 구성요소, 특징, 구조, 프로세스 또는 특성이 포함될 수 있다는 것을 나타내면, 특정 구성요소, 특징, 구조, 프로세스 또는 특성이 반드시 포함되는 것은 아니다. 명세서 또는 청구범위는 하나의 소자("a" 또는 "an" element)를 지칭하지만, 이것은 기재된 소자가 단지 하나인 것을 의미하는 것은 아니다.
실시예는 본 발명의 구현예 또는 예이다. 명세서 내의 "실시예" "일 실시예", "임의의 실시예" 또는 "다른 실시예"는 실시예와 결합하여 설명되는 특정 특징, 구조 또는 특성이 적어도 일부의 실시예에 포함되지만 반드시 모든 실시예에 포함되는 것은 아닌 것을 의미한다. "실시예", "일 실시예" 또는 "임의의 실시예"의 다양한 외관은 반드시 동일한 실시예를 참조하는 것이 아니다. 본 발명의 예시적인 실시예의 상기 설명에서, 다양한 진보적 형태 중의 하나 이상의 이해를 돕고 개시를 간소화하기 위하여 다양한 특징은 단일 실시예, 도면 또는 설명에서 그룹화될 수 있다. 그러나, 개시물의 방법은 청구된 발명이 각 항에서 인용되는 많은 특징을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구범위가 반영한 것처럼, 진보적인 형태는 단일의 실시예의 모든 특징보다 작다. 따라서, 청구범위는 본 설명에 포함되며, 각 청구범위는 본 발명의 개별 실시예에 기초한다.

Claims (20)

  1. 송신 디바이스에 의해 수신 디바이스를 사전 인증하는 단계 - 상기 수신 디바이스는 제1 데이터 경로를 통해 상기 송신 디바이스로부터 데이터 스트림을 수신함 -;
    제1 HDCP(High-Definition Content Protection) 엔진을 상기 제1 데이터 경로 내의 제1 포트와 연관시키는 단계 - 상기 제1 HDCP 엔진은 제2 HDCP 엔진과 결합됨 -; 및
    상기 제2 HDCP 엔진을 제2 데이터 경로 내의 복수의 포트와 연관시키는 단계 - 상기 복수의 포트의 각각은 상기 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고, 상기 상태 정보는 상기 수신 디바이스를 사전 인증하는데 사용됨 -
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 포트의 각각에 대한 상태 정보를 생성하는 단계 및 상기 상태 정보를 메모리 파이프들에 저장하는 단계를 더 포함하고, 각각의 메모리 파이프는 상기 복수의 포트 중 하나의 포트에 대응하는 방법.
  3. 제1항에 있어서, 상기 제2 HDCP 엔진에 의해 시간 멀티플렉싱으로 상기 복수의 포트를 동기화하는 단계를 더 포함하고, 상기 동기화는 상기 복수의 포트의 Ri 동기화 또는 수직 리-키잉(re-keying)을 포함하는 방법.
  4. 제1항에 있어서, 상기 제1 HDCP 엔진에 의한 상기 제1 포트의 픽셀 해독을 더 포함하는 방법.
  5. 제1항에 있어서, 상기 제1 엔진은 메인 HDCP 엔진을 포함하고, 상기 제1 데이터 경로는 메인 데이터 경로를 포함하는 방법.
  6. 제1항에 있어서, 상기 제2 엔진은 로빙(roving) HDCP 엔진을 포함하고, 상기 제2 데이터 경로는 로빙 데이터 경로를 포함하는 방법.
  7. 제1항에 있어서, 상기 제1 포트는 메인 포트를 포함하고, 상기 복수의 포트는 로빙 포트들을 포함하는 방법.
  8. 송신 디바이스에 의해 사전 인증되는 수신 디바이스 - 상기 수신 디바이스는 제1 데이터 경로를 통해 상기 송신 디바이스로부터 데이터 스트림을 수신함 -;
    상기 제1 데이터 경로 내의 제1 포트와 연관되고 제2 HDCP 엔진과 결합된 제1 HDCP 엔진; 및
    제2 데이터 경로 내의 복수의 포트와 연관된 제2 HDCP 엔진 - 상기 복수의 포트의 각각은 상기 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고, 상기 상태 정보는 상기 수신 디바이스를 사전 인증하는데 사용됨 -
    을 포함하는 장치.
  9. 제8항에 있어서, 상기 제2 HDCP 엔진은 상기 복수의 포트의 각각에 대한 상태 정보를 생성하고, 상기 상태 정보를 메모리 파이프들에 저장하고, 각각의 메모리 파이프는 상기 복수의 포트 중 하나의 포트에 대응하는 장치.
  10. 제8항에 있어서, 상기 제2 HDCP 엔진은 상기 제2 HDCP 엔진에 의해 시간 멀티플렉싱으로 상기 복수의 포트를 동기화하고, 상기 동기화는 상기 복수의 포트의 Ri 동기화 또는 수직 리-키잉(re-keying)을 포함하는 장치.
  11. 제8항에 있어서, 상기 제1 HDCP 엔진은 상기 제1 HDCP 엔진에 의한 상기 제1 포트의 픽셀 해독을 수행하는 장치.
  12. 제8항에 있어서, 상기 제1 엔진은 메인 HDCP 엔진을 포함하고, 상기 제1 데이터 경로는 메인 데이터 경로를 포함하는 장치.
  13. 제8항에 있어서, 상기 제2 엔진은 로빙 HDCP 엔진을 포함하고, 상기 제2 데이터 경로는 로빙 데이터 경로를 포함하는 장치.
  14. 제8항에 있어서, 상기 제1 포트는 메인 포트를 포함하고, 상기 복수의 포트는 로빙 포트들을 포함하는 장치.
  15. 송신 디바이스에 의한 수신 디바이스의 사전 인증을 용이하게 하는 사전 인증 디바이스를 포함하는 시스템으로서,
    상기 수신 디바이스는 제1 데이터 경로를 통해 상기 송신 디바이스로부터 데이터 스트림을 수신하고,
    상기 사전 인증 디바이스는,
    상기 제1 데이터 경로 내의 제1 포트와 연관되고, 제2 HDCP 엔진과 결합된 제1 HDCP 엔진; 및
    제2 데이터 경로 내의 복수의 포트와 연관된 제2 HDCP 엔진 - 상기 복수의 포트의 각각은 상기 복수의 포트의 각각에 관한 상태 정보를 갖는 메모리 파이프와 연관되고, 상기 상태 정보는 상기 수신 디바이스를 사전 인증하는데 사용됨 -
    을 포함하는 시스템.
  16. 제15항에 있어서, 상기 제2 HDCP 엔진은 상기 복수의 포트의 각각에 대한 상태 정보를 생성하고, 상기 상태 정보를 메모리 파이프들에 저장하고, 각각의 메모리 파이프는 상기 복수의 포트 중 하나의 포트에 대응하는 시스템.
  17. 제15항에 있어서, 상기 제2 HDCP 엔진은 상기 제2 HDCP 엔진에 의해 시간 멀티플렉싱으로 상기 복수의 포트를 동기화하고, 상기 동기화는 상기 복수의 포트의 Ri 동기화 또는 수직 리-키잉(re-keying)을 포함하는 시스템.
  18. 제15항에 있어서, 상기 제1 HDCP 엔진은 상기 제1 HDCP 엔진에 의한 상기 제1 포트의 픽셀 해독을 수행하는 시스템.
  19. 제15항에 있어서, 상기 제1 엔진은 메인 HDCP 엔진을 포함하고, 상기 제1 데이터 경로는 메인 데이터 경로를 포함하는 시스템.
  20. 제15항에 있어서, 상기 제2 엔진은 로빙 HDCP 엔진을 포함하고, 상기 제2 데이터 경로는 로빙 데이터 경로를 포함하는 시스템.
KR1020117018519A 2009-01-09 2009-12-30 콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템 KR101483536B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/351,698 US8374346B2 (en) 2009-01-09 2009-01-09 Method, apparatus, and system for pre-authentication and keep-authentication of content protected ports
US12/351,698 2009-01-09
PCT/US2009/069870 WO2010080681A1 (en) 2009-01-09 2009-12-30 Method, apparatus and system for pre-authentication and keep-authentication of content protected ports

Publications (2)

Publication Number Publication Date
KR20110113627A true KR20110113627A (ko) 2011-10-17
KR101483536B1 KR101483536B1 (ko) 2015-01-16

Family

ID=41813460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117018519A KR101483536B1 (ko) 2009-01-09 2009-12-30 콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템

Country Status (7)

Country Link
US (1) US8374346B2 (ko)
EP (1) EP2386166B1 (ko)
JP (1) JP5613175B2 (ko)
KR (1) KR101483536B1 (ko)
CN (1) CN102273218B (ko)
TW (1) TWI492630B (ko)
WO (1) WO2010080681A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8644504B2 (en) * 2008-02-28 2014-02-04 Silicon Image, Inc. Method, apparatus, and system for deciphering media content stream
US8185739B2 (en) * 2009-01-09 2012-05-22 Silicon Image, Inc. Method and system for detecting successful authentication of multiple ports in a time-based roving architecture
US20110013772A1 (en) * 2009-07-20 2011-01-20 Transwitch Corporation Method and Apparatus for Fast Switching Between Source Multimedia Devices
US8832844B2 (en) * 2009-12-04 2014-09-09 Parade Technologies, Ltd. Fast switching for multimedia interface system having content protection
US20110157473A1 (en) * 2009-12-30 2011-06-30 Hoon Choi Method, apparatus, and system for simultaneously previewing contents from multiple protected sources
US9449500B2 (en) * 2012-08-08 2016-09-20 Universal Electronics Inc. System and method for optimized appliance control
US8681977B2 (en) * 2011-12-13 2014-03-25 Crestron Electronics Inc. Enabling/disabling display data channel access to enable/ disable high-bandwidth digital content protection
US8713316B2 (en) 2011-12-13 2014-04-29 Crestron Electronics Inc. System, apparatus and method for enabling/disabling display data channel access to enable/disable high-bandwidth digital content protection
US9462308B2 (en) 2013-10-17 2016-10-04 Crestron Electronics Inc. Audiovisual distribution network
WO2015159121A1 (en) * 2014-04-14 2015-10-22 Elliptic Technologies Inc. Early content engine receiver synchronization
US9571473B2 (en) 2014-04-14 2017-02-14 Synopsys, Inc. Early content engine receiver synchronization
US9432345B2 (en) * 2014-05-16 2016-08-30 Lattice Semiconductor Corporation Authentication engine and stream cipher engine sharing in digital content protection architectures
TWI554113B (zh) 2015-01-27 2016-10-11 宏正自動科技股份有限公司 影像切換器及其切換方法
US10051309B2 (en) * 2015-04-01 2018-08-14 Lattice Semiconductor Corporation Port processor capable of performing authentication for multiple source devices
CN111770294B (zh) * 2019-03-29 2022-10-28 瑞昱半导体股份有限公司 用于高分辨率多媒体接口的接收电路及信号处理方法
US11503008B1 (en) * 2022-03-24 2022-11-15 Uab 360 It Protecting against network vulnerabilities

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283566B2 (en) * 2002-06-14 2007-10-16 Silicon Image, Inc. Method and circuit for generating time stamp data from an embedded-clock audio data stream and a video clock
US20050144468A1 (en) * 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US7412053B1 (en) * 2002-10-10 2008-08-12 Silicon Image, Inc. Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test
US7568110B2 (en) * 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US7398547B2 (en) * 2004-01-13 2008-07-08 Pace Plc. High-bandwidth digital content protection during rapid channel changing
US20060269056A1 (en) * 2005-05-19 2006-11-30 Bruce Montag Messaging interface for protected digital outputs
US7856104B2 (en) * 2007-02-05 2010-12-21 Sony Corporation System and method for ensuring secure communication between TV and set back box
KR101508703B1 (ko) * 2006-11-24 2015-04-08 삼성전자주식회사 디지털 컨텐츠 인증 시스템 그리고 그에 적용되는영상표시장치 및 그의 디지털 컨텐츠 인증 제어 방법
US20080159532A1 (en) * 2006-12-29 2008-07-03 Verma Rohit R Architecture for supporting high definition content protection decryption over high definition multimedia interface links
JP4289397B2 (ja) * 2007-01-04 2009-07-01 船井電機株式会社 受信装置
JP2008306232A (ja) * 2007-06-05 2008-12-18 Funai Electric Co Ltd 映像受信装置及び放送受信装置
US8644504B2 (en) * 2008-02-28 2014-02-04 Silicon Image, Inc. Method, apparatus, and system for deciphering media content stream
US8259949B2 (en) * 2008-05-27 2012-09-04 Intel Corporation Methods and apparatus for protecting digital content

Also Published As

Publication number Publication date
CN102273218B (zh) 2014-07-23
US8374346B2 (en) 2013-02-12
EP2386166A1 (en) 2011-11-16
JP2012514940A (ja) 2012-06-28
EP2386166B1 (en) 2017-02-15
CN102273218A (zh) 2011-12-07
TW201112758A (en) 2011-04-01
TWI492630B (zh) 2015-07-11
WO2010080681A1 (en) 2010-07-15
KR101483536B1 (ko) 2015-01-16
US20100177892A1 (en) 2010-07-15
JP5613175B2 (ja) 2014-10-22

Similar Documents

Publication Publication Date Title
KR101483536B1 (ko) 콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템
EP2272251B1 (en) Method, apparatus and system for pre-authentication and processing of data streams
US8316241B2 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method, and data receiving method
US9432345B2 (en) Authentication engine and stream cipher engine sharing in digital content protection architectures
KR20100135505A (ko) 컨텐츠 암호화 방법, 컨텐츠 복호화 방법 및 이를 적용한 전자기기
EP2384579B1 (en) Method and system for detecting successful authentication of multiple ports in a time-based roving architecture

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: 20171228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 5