KR101258026B1 - 원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법 - Google Patents

원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101258026B1
KR101258026B1 KR1020117013655A KR20117013655A KR101258026B1 KR 101258026 B1 KR101258026 B1 KR 101258026B1 KR 1020117013655 A KR1020117013655 A KR 1020117013655A KR 20117013655 A KR20117013655 A KR 20117013655A KR 101258026 B1 KR101258026 B1 KR 101258026B1
Authority
KR
South Korea
Prior art keywords
protocol
media processing
remote control
protocols
processing device
Prior art date
Application number
KR1020117013655A
Other languages
English (en)
Other versions
KR20110095345A (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 KR20110095345A publication Critical patent/KR20110095345A/ko
Application granted granted Critical
Publication of KR101258026B1 publication Critical patent/KR101258026B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • G08C19/16Electric signal transmission systems in which transmission is by pulses
    • G08C19/28Electric signal transmission systems in which transmission is by pulses using pulse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/20Binding and programming of remote control devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Selective Calling Equipment (AREA)
  • Details Of Television Systems (AREA)

Abstract

프로토콜들을 식별하기 위한 방법들, 시스템들 및 장치들이 제공된다. 일 양태에서, 본 방법은 원격 제어로부터 수신된 무선 신호의 특성들을 프로토콜들의 세트와 연관된 특성들에 비교하는 단계를 포함한다. 이 방법은 상기 비교에 기초하여 복수의 프로토콜 내에 포함되어 있는 각각의 프로토콜에 스코어를 할당하는 단계를 또한 포함한다. 이 방법은 할당된 스코어들에 기초하여 프로토콜들의 세트로부터 하나의 프로토콜을 식별하는 단계를 포함한다. 식별된 프로토콜은 무선 신호와 연관된 프로토콜과 실질적으로 유사하다.

Description

원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR CAPTURING REMOTE CONTROL DEVICE COMMAND SIGNALS}
관련 출원들의 상호 참조
본 출원은 2009년 3월 10일자로 출원된 "System and Method for Capturing Remote Control Device Command Signals"라는 제목의 미국 출원 제12/401,350호 및 2008년 11월 14일자로 출원된 "System and Method for Capturing Remote Control Device Command Signals"라는 제목의 미국 가출원 제61/114,991호에 대한 우선권의 이익을 주장하며, 이 출원들은 본 명세서에 참고로 포함된다.
본 발명은 미디어 처리 장치들에 관한 것으로서, 복수의 원격 제어 장치로부터 네비게이션 및 재생 명령들과 같은 원격 제어 장치 명령 신호들을 미디어 처리 장치에 의해 캡처하기 위한 시스템들 및 방법들에 관한 것이다.
미디어 처리 장치들은 오디오, 이미지 및/또는 비디오 콘텐츠를 포함하는 미디어 콘텐츠를 처리하고 재생하도록 구성될 수 있다. 미디어 콘텐츠의 재생은 일시 중지, 되감기 및 정지와 같은 명령들의 입력을 통해 제어될 수 있다. 게다가, 하나 이상의 입력 명령에 응답하여 챕터 또는 특징 메뉴들과 같은 미디어 콘텐츠와 관련된 하나 이상의 메뉴가 사용자 인터페이스에서 트래버스(traverse)될 수 있다.
미디어 처리 장치는 버튼들, 스위치들 및 다이얼들과 같은 하나 이상의 제어들을 포함하는 사용자 인터페이스를 포함할 수 있다. 제어들은 재생 및 네비게이션을 지시하기 위한 명령들을 입력하기 위해 작동될 수 있다. 더욱이, 일부 미디어 처리 장치들은 원격 제어 장치를 이용하여 입력된 명령들을 나타내는 적외선(IR) 또는 무선 주파수 신호들과 같은 명령 신호들을 전송하도록 구성된 원격 제어 장치를 포함할 수 있다. 예를 들어, 원격 제어 장치는 버튼들 및 스위치들과 같은 복수의 제어를 포함할 수 있다. 버튼 누름과 같은 단일 제어에 의해 간단한 명령이 지시될 수 있다. 더욱이, 다수의 버튼의 동시 또는 순차 작동과 같은 제어들의 조합에 의해 복잡한 명령이 지시될 수 있다. 또한, 버튼 누름과 같은 간단한 작동은 버튼 유지(hold)와 같은 연속 작동과 구별될 수 있으며, 대응하는 명령 신호들은 상이하게 해석될 수 있다. 예를 들어, 명령 신호 이벤트들이 사전 결정된 시간 윈도 내에 수신되는 한, 제어가 작동되는 것으로 간주될 수 있으며, 제어가 사전 결정된 양의 시간 동안 연속 작동 상태에 있는 경우에 제어가 유지되는 것으로 간주될 수 있다. 원격 제어 장치에 의해 전송되는 각각의 명령 신호는 미디어 처리 장치가 수행할 액션에 대응할 수 있다.
미디어 처리 장치는 사전 결정된 명령 신호들의 세트를 인식하도록 구성될 수 있으며, 관련 원격 제어 장치에 의해 전송된 명령 신호들에 대응하는 액션들을 수행할 수 있다. 또한, 복수의 상이한 명령 포맷 또는 프로토콜과 관련된 명령 신호들을 전송할 수 있는 유니버설 원격 제어 장치들이 개발되어 왔다. 따라서, 유니버설 원격 제어 장치는 복수의 원격 제어 장치에 대응하는 명령들을 전송하도록 프로그래밍될 수 있으며, 이에 따라 복수의 미디어 처리 장치를 제어할 수 있다. 그러나, 각각의 미디어 처리 장치는 그가 인식하도록 구성된 명령 신호들의 세트에만 응답한다.
캘리포니아, 쿠퍼티노의 애플사에 의해 배포되는 AppleTV와 같은 미디어 처리 장치는 미디어 처리 장치에 대응하는 주요 원격 제어 장치 및 복수의 보조 원격 제어 장치에 의해 전송되는 명령 신호들을 인식하도록 구성될 수 있다. 보조 원격 제어 장치들은 동일 제조자로부터의 다른 장치들과 관련된 원격 제어 장치들은 물론, 제삼자 원격 제어 장치들일 수도 있다. 또한, 명령 신호들은 복수의 상이한 프로토콜 및/또는 포맷을 이용하여 전송될 수 있다. 게다가, 미디어 처리 장치는 다수의 보조 원격 제어 장치가 동시에 작동되게 할 수 있도록 구성될 수 있다. 미디어 처리 장치와 더불어 의한 보조 원격 제어 장치의 사용을 가능하게 하기 위해, 본 발명자들은 미디어 처리 장치가 보조 원격 제어 장치에 의해 전송된 명령 신호를 미디어 처리 장치에 의해 수행될 수 있는 기능에 매핑할 수 있게 하는 것이 유리하다는 것을 인식하였다.
본 발명자들은 또한 미디어 처리 장치가 보조 원격 제어 장치와 관련된 명령 신호들을 주요 원격 제어 장치를 이용하여 수행될 수 있는 기본 제어 기능들 각각에 적어도 매핑하는 것이 필요함을 인식하였다. 또한, 미디어 처리 장치 기능을 보조 원격 제어 장치 상에 포함된 임의의 제어에 매핑하는 것이 필요함도 인식되었다. 게다가, 본 발명자들은 미디어 처리 장치가 원격 제어 장치에 의해 전송된 명령 신호를 인식할 때 발광 다이오드(LED)의 턴오프와 같은 지시자를 제공하는 것이 필요함을 인식하였다. 따라서, 본 명세서에 설명되는 기술들 및 장치들은 미디어 처리 장치가 보조 원격 제어 장치에 의해 전송된 하나 이상의 명령 신호들을 인식하여 미디어 처리 장치에 의해 수행될 수 있는 기능들에 매핑하기 위한 알고리즘들을 구현한다.
몇몇 구현들에서, 본 방법은 원격 제어로부터 수신된 무선 신호의 특성들과, 프로토콜들의 세트와 연관된 특성들을 비교하는 단계를 포함한다. 이 방법은 상기 비교에 기초하여, 복수의 프로토콜에 포함된 각각의 프로토콜에 하나의 스코어를 할당하는 단계를 또한 포함한다. 이 방법은 할당된 스코어들에 기초하여 프로토콜들의 세트로부터 하나의 프로토콜을 식별하는 단계를 또한 포함한다. 식별된 프로토콜은 무선 신호와 연관된 프로토콜과 실질적으로 유사하다.
다른 구현들에서, 미디어 처리 장치는 원격 제어로부터 무선 신호를 수신하기 위한 수신기를 포함한다. 이 미디어 처리 장치는 무선 신호의 특성들과, 프로토콜들의 세트와 연관된 특성들을 비교하기 위한 원격 제어 구동기를 또한 포함한다. 원격 제어 구동기는, 상기 비교에 기초하여, 프로토콜들의 세트 내에 포함되어 있는 각각의 프로토콜에 하나의 스코어를 할당하도록 구성된다. 원격 제어 구동기는 또한, 할당된 스코어들에 기초하여 프로토콜들의 세트로부터 하나의 프로토콜을 식별하도록 구성된다. 식별된 프로토콜은 무선 신호와 연관된 프로토콜과 실질적으로 유사하다.
또 다른 구현들에서, 하나 이상의 컴퓨터 판독가능 매체는 처리 장치에 의해 실행가능한 명령어들을 저장하고 또한 실행시 처리 장치로 하여금 원격 제어로부터 수신된 무선 신호의 특성들과, 프로토콜들의 세트와 연관된 특성들을 비교하는 것을 포함하는 동작들을 수행하게 한다. 이러한 동작들은, 상기 비교에 기초하여, 프로토콜들의 세트 내에 포함되어 있는 각 프로토콜에 하나의 스코어를 할당하는 것을 또한 포함한다. 동작들은 할당된 스코어들에 기초하여 프로토콜들의 세트로부터 하나의 프로토콜을 식별하는 것을 또한 포함한다. 식별된 프로토콜은 무선 신호와 연관된 프로토콜과 실질적으로 유사하다.
본 명세서에 설명되는 기술들은 다음 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 예를 들어, 본 기술들은 미디어 처리 장치가 보조 원격 제어 장치들을 포함하는 복수의 원격 제어 장치로부터 명령들을 수신하고 인식하도록 프로그래밍될 수 있도록 구현될 수 있다. 본 기술들은 또한 보조 원격 제어 장치의 임의의 제어와 관련된 제어 신호를 미디어 처리 장치의 특정 기능에 매핑하는 것을 가능하게 하도록 구현될 수 있다. 또한, 보조 원격 제어 장치에 대응하는 매핑들은 장치 프로파일에 저장될 수 있다. 또한, 본 기술들은 미디어 처리 장치에 저장된 원격 제어 장치 프로파일을 개명하거나, 원격 제어 장치 프로파일을 삭제하거나, 원격 제어 장치 프로파일의 적어도 일부를 리매핑하는 것을 가능하게 하도록 구현될 수 있다. 본 기술들은 또한 광범위하게 사용되는 보조 원격 제어 장치들에 대해서와 같이 하나 이상의 원격 제어 장치 프로파일이 미디어 처리 장치 상에 사전 로딩되도록 구현될 수 있다. 더욱이, 본 기술들은 원격 제어 장치 구성의 생성을 통해 사용자를 안내하기 위한 인터페이스를 제공하는 것을 가능하게 하도록 구현될 수 있다.
하나 이상의 구현들의 상세들이 첨부 도면들 및 아래의 설명에서 제공된다. 다른 특징들 및 이점들은 설명 및 도면들로부터 그리고 청구항들로부터 명백할 것이다.
도 1은 미디어 처리 장치를 포함하는 예시적인 미디어 시스템의 도면.
도 2-5는 미디어 처리 장치에 의해 제공되는 예시적인 인터페이스들의 도면.
도 6은 명령 신호들을 검출하고 학습하기 위한 예시적인 프로세스를 나타내는 흐름도.
도 7은 미디어 처리 장치에 의해 실행될 수 있는 예시적인 원격 제어 드라이버의 도면.
도 8은 각각의 펄스-공간 쌍이 단일 데이터 비트를 나타내는 펄스 간격 인코딩 프로토콜을 나타내는 예시적인 펄스 시리즈의 도면.
도 9는 펄스 시리즈에서 구현될 수 있는 위상 인코딩의 일례의 도면.
도 10은 다양한 상이한 프로토콜을 나타내는 표.
도 11은 IR 시그너처와의 비교에 사용될 수 있는 헤드 펄스 폭 범위들 및 헤더 공간 폭 범위들을 나타내는 표.
도 12는 위상 인코딩 프로토콜들에 대한 예상 펄스 및 공간 폭들을 나타내는 표.
도 13은 예시적인 위상 인코딩 프로토콜의 특성들을 나타내는 도면.
도 14는 처음 4개의 데이터 비트에 이어지는 기간이 토글 정보를 제공하는 펄스들의 시리즈를 나타내는 타임 시리즈의 도면.
도 15는 펄스 거리 인코딩 및 위상 인코딩 모두가 존재하지 않는 예시적인 프로토콜의 도면.
도 16-18은 원격 제어 드라이버에 의해 수행되는 예시적인 동작들을 나타내는 흐름도.
도 19는 무선 신호와 연관된 프로토콜을 식별하는 예시적인 프로세스를 나타내는 흐름도.
명세서 및 도면들 전반에서 동일한 참조 부호들은 동일 요소들을 지시한다.
도 1은 미디어 처리 장치(105)를 포함하는 예시적인 미디어 시스템(100)을 나타낸다. 미디어 처리 장치(105)는 미디어 콘텐츠를 처리하고, 미디어 콘텐츠에 기초하여 이미지, 오디오 및/또는 비디오 출력을 생성하도록 구성될 수 있다. 예를 들어, 미디어 처리 장치(105)는 유선 또는 무선일 수 있는 미디어 접속(110)을 통해 디스플레이(120)에 결합될 수 있다. 또한, 미디어 콘텐츠는 미디어 처리 장치(105)에 국지적으로, 예를 들어 내부 저장 장치, 부착된 저장 장치, 또는 디지털 다기능 디스크(DVD), 컴팩트 디스크(CD) 또는 메모리 스틱을 포함하는 이동식 매체들 상에 저장될 수 있다. 대안으로서, 미디어 콘텐츠는 네트워크 접속(도시되지 않음)을 통해 원격 소스로부터 다운로드 또는 스트리밍될 수 있다.
미디어 처리 장치(105)는 또한 디스플레이(120) 상에 제공될 수 있는 사용자 인터페이스(125)를 생성하도록 구성될 수 있다. 사용자 인터페이스(125)는 사용자로부터 입력을 수신하도록 구성되는 하나 이상의 스크린을 포함할 수 있다. 예를 들어, 사용자 인터페이스(125)는 메인 메뉴 스크린 및 하나 이상의 서브 메뉴 스크린을 포함하는 메뉴 구조로 체계화될 수 있다. 또한, 서브 메뉴 스크린들은 다수의 레벨을 이용하여 체계화될 수 있으며, 따라서 서브 메뉴 스크린은 추가적인 서브 메뉴 스크린들에 대한 링크들을 포함할 수 있다. 일부 구현들에서, 사용자 인터페이스(125)와 더불어 또는 그 대신에 오디오 출력이 사용될 수 있다.
사용자 인터페이스(125)의 메인 메뉴(130)는 미디어 콘텐츠 카테고리, 장치 설정 및 미디어 콘텐츠 소스에 대응하는 옵션들을 포함하는 미디어 처리 장치(105)에 관한 복수의 옵션을 포함할 수 있다. 메인 메뉴(130)의 다른 구현들은 추가적인, 더 적은 또는 다른 옵션들을 포함할 수 있다. 사용자 인터페이스(125)는 또한 메뉴 옵션을 강조하는 데 사용될 수 있는 이동 가능 커서(135)를 포함할 수 있다. 예를 들어, 메인 메뉴(130) 내의 옵션 "Movies"는 커서(135)에 의해 강조된 후, 선택 명령과 같은 미디어 처리 장치(105)에 의해 수신된 입력에 응답하여 액세스될 수 있다. 또한, 커서(135)는 방향 명령과 같은 미디어 처리 장치(105)에 의해 수신된 네비게이션 입력에 응답하여 사용자 인터페이스(125) 내에 재배치될 수 있다.
일부 구현들에서는, 하나 이상의 통합된 제어(도시되지 않음)를 통해 미디어 처리 장치(105)에 입력이 제공될 수 있다. 또한, 미디어 처리 장치(105)는 원격 제어 장치에 의해 전송되는 신호들을 검출하도록 구성되는 적외선 센서를 포함하는 하나 이상의 센서 및/또는 안테나를 포함할 수 있다. 주요 제어기(140)가 미디어 처리 장치(105)와 연관될 수 있다. 주요 제어기(140)는 사용자로부터의 간단한 명령 및 복잡한 명령을 수신하기 위한 버튼 및 스위치와 같은 복수의 제어(142)를 포함할 수 있다. 또한, 주요 제어기(140)는 수신된 명령에 대응하는 명령 신호들을 적외선 또는 무선 주파수 송신 등을 통해 미디어 처리 장치(105)로 전송하도록 구성될 수 있다. 미디어 처리 장치(105)는 전송된 명령 신호들을 검출하고, 이용된 송신 프로토콜을 해석할 수 있다. 또한, 미디어 처리 장치(105)는 주요 제어기(140)로부터 수신된 명령 신호를 수행될 하나 이상의 기능을 식별하는 메시지로 변환할 수 있다.
또한, 미디어 처리 장치(105)는 보조 제어기(145)와 같은 복수의 보조 제어기에 의해 전송된 명령 신호들을 검출하도록 구성될 수 있다. 보조 제어기는 동일 제조자에 의해 제공되는 다른 장치와 관련된 제어기 또는 제삼자 제어기일 수 있다. 미디어 처리 장치(105)는 명령 신호들을 전송하기 위해 보조 제어기(145)에 의해 사용된 프로토콜을 식별하도록 구성될 수 있다. 예컨대, 미디어 처리 장치(105)는 수신된 명령 신호를 표현하는 시그너쳐를 생성하도록 구성될 수 있다. 시그너쳐 포맷은 복수의 상이한 전송 프로토콜을 수용하도록 구성될 수 있다. 또한, 시그너쳐는 명령 신호를 전송하는 데 사용된 프로토콜을 식별하기 위해 매칭 휴리스틱스(matching heuristics)를 이용하여 분석될 수 있다. 전송 프로토콜이 식별되면, 명령 신호를 식별된 프로토콜에 따라 해석하여, 통신되는 메시지를 추출할 수 있다. 추출된 메시지는 디지털 형태로 인코딩되고, 미디어 처리 장치(105)에 의해 처리될 수 있다.
또한, 미디어 처리 장치(105)의 가시 부분 상에, 예를 들어 정면에 발광 다이오드(LED)(115)가 포함될 수 있다. LED(115)의 디폴트 상태는 미디어 처리 장치(105)가 파워 온될 때 조명될 수 있다. 제어기로부터 명령 신호가 수신될 때, 미디어 처리 장치(105)는 명령 신호를 분석하여, 그가 인식될 수 있는지를 결정할 수 있다. 명령 신호가 미디어 처리 장치(105)가 응답하도록 프로그래밍된 명령으로서 인식되는 경우, LED(115)는 턴오프될 수 있다. 일부 구현들에서, LED(115)는 명령 신호의 지속 기간 동안 오프 상태로 유지될 수 있다. 따라서, LED(115)는 인식되는 명령이 수신되고 있다는 시각적 지시를 제공할 수 있다. 대안으로, 학습되지 않은 소스로부터의 적외선 송신과 같이 명령 신호가 인식되지 못하는 경우, LED(115)는 조명 상태로 유지될 수 있다.
미디어 처리 장치(105)는 미디어 처리 장치(105)에 의해 수신되는 명령 신호들을 평가하여 이들이 인식되는지를 결정하는 명령 해석 모드로 동작할 수 있다. 예를 들어, 미디어 처리 장치(105)의 센서에 의해 검출된 적외선 신호는 충분한 식별이 존재하는 지를 결정하기 위해 하나 이상의 공지된(또는 학습된) 명령 신호들에 대해 평가될 수 있다. 수신된 명령 신호가 인식되는 경우, 명령 신호는 미디어 처리 장치(105)에 의해 실행될 수 있다. 대안으로, 수신된 명령 신호가 인식되지 못하는 경우에는 무시될 수 있다.
미디어 처리 장치(105)는 원격 제어 장치에 의해 전송된 명령 신호들이 캡처되어 대응 기능에 매핑되는 학습 모드로도 동작할 수 있다. 예를 들어, 학습 모드에서, 미디어 처리 장치(105)는 사용자에게 특정 기능에 대응하는 학습되고 있는 원격 제어 장치 상의 제어를 작동시키도록 지시할 수 있다. 미디어 처리 장치(105)는 센서에 의해 수신된 명령 신호를 캡처하고, 소정의 기간, 예를 들어 2초 동안 버퍼링할 수 있다. 이어서, 버퍼링된 명령 신호를 분석하여 하나 이상의 특성을 식별할 수 있다. 예를 들어, 미디어 처리 장치(105)는 버퍼링된 명령 신호가 전체 기간 동안 일관적인지 그리고 신호가 최초 메시지 및 하나 이상의 반복 메시지를 포함하는지를 결정할 수 있다. 또한, 이벤트들 사이의 최대 시간과 같은 버퍼링된 명령 신호의 하나 이상의 타이밍 특성도 분석될 수 있다. 이어서, 미디어 처리 장치(105)는 명령 해석 모드에 있는 동안에 명령 신호들을 식별하는 데 사용하기 위해 식별된 특성들을 저장할 수 있다.
도 2는 미디어 처리 장치(105)에 의해 제공되는 예시적인 원격 제어 인터페이스(200)를 나타낸다. 원격 제어 인터페이스(200)는 주요 제어기(140)와 미디어 처리 장치(105)를 페어링(pairing)하기 위한 페어 원격 옵션(205)과 같은 주요 제어기(140)와 관련된 하나 이상의 옵션을 포함할 수 있다. 페어링되면, 미디어 처리 장치(105)는 페어링된 제어기로부터 수신된 명령 신호들에만 응답한다. 일부 구현들에서, 원격 제어 인터페이스(200)는 주요 제어기가 페어링된 후에 주요 제어기(140)를 언페어링(unparing)하기 위한 옵션을 포함할 수 있다.
원격 제어 인터페이스(200)는 하나 이상의 보조 원격 제어기와 관련된 옵션들도 포함할 수 있다. 원격 제어 인터페이스(200)에 포함된 임의의 옵션은 커서(135)를 이용하여 액세스될 수 있다. 예를 들어, 원격 제어 인터페이스(200)는 미디어 처리 장치(105)가 보조 제어기(145)와 같은 추가 제어기와 관련된 명령 신호들을 학습하는 것을 허가하기 위해 액세스될 수 있는 학습 원격 옵션(210)을 포함할 수 있다. 또한, 원격 제어 인터페이스(200)는 TV 원격(215) 및 커스텀 원격(220)과 같이 보조 원격 제어기들에 대응하는 저장된 프로파일들에 액세스하기 위한 옵션들을 포함할 수 있다. 저장된 프로파일은 그 프로파일과 관련된 하나 이상의 관리 작업들을 수행하기 위해 액세스될 수 있다. 예를 들어, 저장된 프로파일 프로파일의 개명, 프로파일의 삭제 또는 하나 이상의 명령의 리매핑에 의한 프로파일의 변경과 같은 기능들을 수행하기 위해 액세스될 수 있다.
도 3a는 미디어 처리 장치(105)에 의해 제공되는 예시적인 학습 원격 인터페이스(300)를 나타낸다. 학습 원격 인터페이스(300)는 원격 제어 인터페이스(200) 내의 학습 원격 옵션(210)의 선택에 응답하여 제공될 수 있다. 학습 원격 인터페이스(300)는 시작 옵션(305) 및 취소 옵션(310)과 같이 커서(305)를 이용하여 강조될 수 있는 옵션들의 리스트를 포함할 수 있다. 학습 원격 인터페이스(300)는 다른 구현들에서 추가적인, 더 적은 또는 상이한 옵션들을 포함할 수 있다. 시작 옵션(305)의 액세스는 미디어 처리 장치(105)가 명령 해석 모드에서 학습 모드로 전환하게 할 수 있다. 대안으로서, 취소 옵션(310)의 액세스는 미디어 처리 장치(105)가 학습 원격 인터페이스(300)로부터 나가게 할 수 있다.
도 3b는 미디어 처리 장치(105)에 의해 제공되는 예시적인 저장 프로파일 인터페이스(315)를 나타낸다. 저장 프로파일 인터페이스(315)는 예를 들어 원격 제어 인터페이스(200)에서 저장 프로파일에 액세스하기 위한 옵션의 선택에 응답하여 제공될 수 있다. 저장 프로파일 인터페이스(315)는 TV 원격이라고 하는 프로파일에 대응하며, 미디어 처리 장치(105)와 더불어 동작하도록 구성된 보조 제어기를 나타낸다. TV 원격 프로파일에 대한 복수의 관리 옵션이 저장 프로파일 인터페이스(315)를 통해 액세스될 수 있다. 예를 들어, TV 원격 프로파일의 명칭을 변경하기 위해 개명 원격 옵션(320)이 액세스될 수 있다. 저장된 TV 원격 프로파일을 삭제하기 위해 삭제 원격 옵션(325)이 액세스될 수도 있다. 또한, TV 원격으로서 식별되는 보조 제어기의 하나 이상의 제어와 미디어 처리 장치(105)의 하나 이상의 기능 사이의 매핑이 셋업 기본 버튼 옵션(330) 및 셋업 재생 버튼 옵션(335) 등을 통해 구성되거나 변경될 수 있다. 예를 들어, 매핑되지 않은 기능이 제어에 매핑되거나, 이전에 매핑된 기능이 다른 제어에 리매핑될 수 있다.
도 4는 미디어 처리 장치(105)에 의해 제공되는 기본 버튼 인터페이스(400)를 나타낸다. 기본 버튼 인터페이스(400)는 학습 원격 인터페이스(300)의 시작 옵션(305)에 액세스하는 입력에 응답하여 제공될 수 있다. 기본 버튼 인터페이스(400)는 보조 제어기(145)와 같은 학습되는 보조 제어기 상에서 어느 제어가 작동될지를 지시하는 명령어들(405)을 포함한다. 예를 들어, 업 네비게이션 버튼이 대응하는 명령 신호에 매핑되는 경우, "다른 원격 상의 업 버튼을 누르고 유지한다. 진행 바가 채워질 때까지 업 버튼을 계속 유지한다"라는 메시지가 표시될 수 있다. 그러나, 임의의 제어기 업 버튼으로서 지정될 수 있다. 예를 들어, 보조 제어기(145)가 업 버튼을 포함하지 않는 경우, 어떠한 다른 미디어 처리 장치(105) 기능에도 매핑되지 않은 다른 제어가 지정될 수 있다. 일부 구현들에서, 온스크린 명령어들(405)과 함께 또는 그 대신에 오디오 명령어가 제공될 수 있다.
기본 버튼 인터페이스(400)는 복수의 제어 버튼 심볼(410)도 표시할 수 있다. 일부 구현들에서, 제어 버튼 심볼(410)은 작동될 제어의 그래픽 표현일 수 있다. 제어 버튼 심볼들(410)의 각각은 학습되는 보조 제어기의 제어에 매핑될 미디어 처리 장치(105)에 의해 수행되는 기능을 나타낸다. 예를 들어, 제어 버튼 심볼(410)은 업, 다운, 좌 및 우 네비게이션 화살표들을 포함할 수 있다. 제어 버튼 심볼들(410)은 선택 및 메뉴 기능들에 대응하는 식별자들을 더 포함할 수 있다. 다른 구현들은 추가적인, 더 적은 또는 다른 제어 버튼 심볼들(410)을 포함할 수 있다.
커서(415)는 컨트롤 버튼 심볼들(410) 중 어느 것이 현재 제2 컨트롤러의 컨트롤에 매핑되고 있는지를 나타내기 위해 기본 버튼 인터페이스(400)에 표시될 수 있다. 커서(415)는 매핑 프로세스가 실행될 때 다음 컨트롤 버튼 심볼(410)로 자동으로 재배치(reposition)될 수 있다. 대안적으로, 커서(415)는 매핑될 컨트롤에 대응하는 컨트롤 버튼 심볼(410)을 선택하기 위해 수동으로 배치될 수 있다. 몇몇 구현들에서, 컨트롤 버튼 심볼들(410)은 매핑된 컨트롤 버튼들과 그렇지 않은 것들을 구별하기 위해 시각적으로 차별화될 수 있다. 예를 들면, 매핑된 컨트롤 버튼 심볼들(410)의 각각은 음영 표시되거나(shaded), 회색으로 되거나(grayed), 투명하게 되거나, 또는 다른 방법으로 시각적으로 차별화될 수 있다.
게다가, 기본 버튼 인터페이스(400)는 매핑되고 있는 컨트롤 버튼이 제2 컨트롤러 상에서 눌려야 하는 지속 기간을 나타내기 위해 진행 바(progress bar, 420)를 표시할 수 있다. 진행 표시자(progress indicator, 425)는 완전성(completeness)의 정도를 나타내고 또한 컨트롤 버튼이 해제될 수 있는 때를 신호하기 위해 진행 바(420)를 채울 수 있다. 예를 들면, 진행 표시자(425)는 2초와 같은 미리 결정된 기간 동안 진행 바(420)를 채울 수 있다. 대안적으로, 진행 표시자(425)가 진행 바(420)를 채우는 기간은 미디어 처리 장치(105)에 의해 수신된 명령 신호들에 기초하여 변화할 수 있다. 예를 들면, 진행 바(420)의 임의의 부분을 채우는 것은 미디어 처리 장치(105)에 의해 명령 신호가 검출된 후까지 지연될 수 있다. 일단 진행 표시자(425)가 진행 바(420)를 완전히 채우면, 커서(415)는 다음 컨트롤 버튼 심볼(410)로 전진될 수 있고 진행 바(420)는 리셋될 수 있다. 일단 제2 컨트롤러(145)의 기본 버튼들이 매핑되면, 제2 컨트롤러(145)는 미디어 처리 장치(105)를 제어하기 위해 사용될 수 있다.
몇몇 구현들에서, 제2 컨트롤러의 명령 신호들을 포함하는 하나 이상의 선행 학습된 프로파일들(pre-learned profiles)이 미디어 처리 장치에 저장될 수 있다. 예를 들면, ACME DVD 플레이어 리모트 컨트롤의 명령 신호들을 나타내는 데이터가 제조시에 또는 소프트웨어 업데이트의 일부로서 미디어 처리 장치에 저장될 수 있다. 미디어 처리 장치가 학습 모드에 있을 때, 하나 이상의 수신된 명령 신호들, 예를 들면, 제1 및 제2 명령 신호들은 충분한 동일성(identity)이 있는지를 결정하기 위해 선행 학습된 프로파일들과 비교될 수 있다. 만약 하나 이상의 수신된 명령 신호가 선행 학습된 프로파일에 저장된 데이터와 충분히 일치(match)한다면, 미디어 처리 장치는 제2 컨트롤러의 자동화된 구성을 제공하는 메시지를 표시할 수 있다. 예를 들면, 미디어 처리 장치는 메시지 "You appear to be using an ACME DVD remote. Would you like me to set up your buttons automatically?"를 출력할 수 있다. 만약 사용자가 선택하면, 선행 학습된 프로파일은 제2 컨트롤러에 대응하는 리모트 프로파일을 자동으로 생성하기 위해 이용될 수 있다.
도 5는 미디어 처리 장치(105)에 의해 표시된 재생 버튼 인터페이스(500)를 나타낸다. 몇몇 구현들에서, 재생 버튼 인터페이스(500)는 기본 버튼 인터페이스(400)의 구성이 완료된 후에 자동으로 표시될 수 있다. 재생 버튼 인터페이스(500)는 제2 컨트롤러(145)와 같은, 학습되고 있는 제2 컨트롤러 상에서 어느 재생 컨트롤이 작동되어야 할지를 나타내는 명령(505)을 포함한다. 예를 들면, 만약 스톱(STOP) 재생 기능이 대응하는 컨트롤 및 명령 신호에 매핑되고 있다면, 메시지 "Press and hold the Stop button on the other remote. Continue to hold the Stop button until the progress bar is full."이 표시될 수 있다. 그러나, 임의의 컨트롤이 스톱 버튼으로서 지정될 수 있다. 예를 들면, 만약 제2 컨트롤러(145)가 스톱 버튼을 포함하지 않는다면, 어떤 다른 미디어 처리 장치(105) 기능에도 매핑되지 않을 상이한 버튼이 지정될 수 있다. 몇몇 구현들에서, 스크린 상의 명령(on-screen instructions, 405)과 함께 또는 그 대신에 오디오 명령이 제시될 수 있다.
재생 버튼 인터페이스(500)는 또한 복수의 재생 버튼 심볼들(510)을 표시할 수 있다. 재생 버튼 심볼들(510)의 각각은 학습되고 있는 제2 컨트롤러의 컨트롤에 매핑되어야 할 미디어 처리 장치(105)에 의해 수행되는 기능을 나타낸다. 예를 들면, 재생 버튼 심볼들(510)은 PLAY, PAUSE, STOP, REWIND, FAST FORWARD, CHAPTER SKIP BACKWARD, CHAPTER SKIP FORWARD, REPLAY 및 SKIP FORWARD를 포함할 수 있다. REPLAY 및 SKIP FORWARD 기능들은 10초와 같은 미리 결정된 시간량만큼 재생을 되감거나(rewind) 전진시키도록(advance) 구성될 수 있다. 다른 구현들은 추가적인, 보다 적은 수의, 또는 상이한 재생 버튼 심볼들(510)을 포함할 수 있다.
커서(515)는 또한 재생 버튼 심볼들(510) 중 어느 것이 현재 제2 컨트롤러의 컨트롤에 매핑되고 있는지를 나타내기 위해 재생 버튼 인터페이스(500)에 표시될 수 있다. 커서(515)는 매핑 프로세스가 실행될 때 다음 재생 버튼 심볼(510)로 자동으로 재배치될 수 있다. 대안적으로, 커서(515)는 매핑될 재생 심볼에 대응하는 재생 버튼 심볼(510)을 선택하기 위해 수동으로 배치될 수 있다. 몇몇 구현들에서, 재생 버튼 심볼들(510)은 매핑된 컨트롤 버튼들과 그렇지 않은 것들을 구별하기 위해 시각적으로 차별화될 수 있다. 예를 들면, 매핑된 재생 버튼 심볼들(510)의 각각은 음영 표시되거나(shaded), 회색으로 되거나(grayed), 투명하게 되거나, 또는 다른 방법으로 시각적으로 차별화될 수 있다.
게다가, 재생 버튼 인터페이스(500)는 매핑되고 있는 컨트롤 버튼이 제2 컨트롤러 상에서 눌려야 하는 지속 기간을 나타내기 위해 진행 바(progress bar, 520)를 표시할 수 있다. 진행 표시자(progress indicator, 525)는 완전성(completeness)의 정도를 나타내고 또한 컨트롤 버튼이 해제될 수 있는 때를 신호하기 위해 진행 바(520)를 채울 수 있다. 예를 들면, 진행 표시자(525)는 2초와 같은 미리 결정된 기간 동안 진행 바(520)를 채울 수 있다. 대안적으로, 진행 표시자(525)가 진행 바(520)를 채우는 기간은 미디어 처리 장치(105)에 의해 수신된 명령 신호들에 기초하여 변화할 수 있다. 예를 들면, 진행 바(520)의 임의의 부분을 채우는 것은 미디어 처리 장치(105)에 의해 명령 신호가 검출된 후까지 지연될 수 있다. 일단 진행 표시자(525)가 진행 바(520)를 완전히 채우면, 커서(515)는 다음 재생 버튼 심볼(510)로 전진될 수 있고 진행 바(520)는 리셋될 수 있다.
도 6은 명령 신호들을 검출하고 학습하기 위한 예시적인 프로세스를 설명하는 흐름도를 나타낸다. 미디어 처리 장치는 적외선 또는 무선 주파수(radio frequency) 신호와 같은 무선으로 전송된 명령 신호들을 검출하도록 구성될 수 있다. 명령 신호들은 간단한 명령 또는 복잡한 명령을 나타낼 수 있다. 또한, 명령 신호들은 단일 컨트롤 작동(single control actuation) 대 연속 컨트롤 작동(continuous control actuation), 예를 들면, 계속 유지되는 컨트롤을 나타낼 수 있다. 또한, 미디어 처리 장치는 복수의 상이한 전송 프로토콜들을 이용하여 전송되는 명령 신호들을 해석하도록 구성될 수 있다. 미디어 처리 장치는 명령 해석 모드에서 명령 신호들을 수신하여 처리할 수 있다(600). 예를 들면, 미디어 처리 장치와 연관된 센서가 명령 신호를 수신하고 그 수신된 명령 신호의 표현을, 소프트웨어, 하드웨어, 또는 그의 조합으로 구현될 수 있는, 명령 인식 모듈에 전달할 수 있다. 명령 인식 모듈은 명령 신호를 전송하기 위해 어떤 프로토콜이 사용되었는지와 그 프로토콜이 미디어 처리 장치에 의해 지원되는지를 결정할 수 있다. 만약 그 프로토콜이 지원된다면, 명령 신호는 해석되어 실행될 수 있다. 만약 그렇지 않다면, 명령 신호는 무시될 수 있다.
또한, 미디어 처리 장치는 리모트 컨트롤 학습 모드가 선택되었는지를 결정할 수 있다(605). 예를 들면, 리모트 컨트롤 학습 모드를 호출하기 위해 사용자 인터페이스에서 하나 이상의 옵션들이 선택될 수 있다. 리모트 컨트롤 학습 모드는, 기본 버튼 구성이 완료된 제2 컨트롤러를 포함하는, 임의의 지원되는 입력 장치로부터 호출될 수 있다. 리모트 컨트롤 학습 모드는 제2 컨트롤러의 특정한 컨트롤들과 연관된 명령 신호들을 학습하기 위해 이용될 수 있다. 만약 명령 신호가 미디어 처리 장치에게 학습 모드에 들어가도록 지시하고 있지 않다면, 미디어 처리 장치는 계속해서 명령 해석 모드에서 명령 신호들을 수신하여 처리한다(600). 만약 명령 신호가 미디어 처리 장치에게 학습 모드에 들어가도록 지시한다면, 미디어 처리 장치는 학습될 기본 버튼 및 하나 이상의 명령들을 표시할 수 있다(610). 예를 들면, 미디어 처리 장치는 매핑될 제2 컨트롤러의 기본 버튼을 나타내고 사용자에게, 어느 일정한 기간 동안 특정한 컨트롤을 작동하는 것과 같은, 하나 이상의 액션들을 수행하도록 지시하는, 도 4에 도시된 것과 같은, 기본 버튼 인터페이스를 표시할 수 있다.
미디어 처리 장치는 제2 컨트롤러에 의해 전송된 명령 신호를 캡처하고 그 캡처된 명령 신호를 미디어 처리 장치에 의해 수행되는 기본 기능에 매핑할 수 있다(615). 예를 들면, 미디어 처리 장치는 사용자가 제2 컨트롤러와 연관된 특정한 컨트롤을 작동하도록 지시받은 후에 수신된 명령 신호를 버퍼링할 수 있다. 명령 신호는 2초와 같은 미리 결정된 기간 동안 버퍼링될 수 있다. 대안적으로, 명령 신호는, 수신된 명령 신호의 하나 이상의 특징들에 기초한 것과 같은, 가변적인 기간 동안 버퍼링될 수 있다. 또한, 사용자에게 제2 컨트롤러의 컨트롤을 언제 작동할지 및 언제 해제할지를 통지하기 위해 진행 바와 같은 시각적 표시자가 표시될 수 있다.
일단 명령 신호가 버퍼링되면, 미디어 처리 장치는 버퍼링된 신호를 분석한다. 예를 들면, 미디어 처리 장치는 버퍼링된 명령 신호가 시간에 걸쳐 일관되는지를 결정할 수 있다. 미디어 처리 장치는 또한 버퍼링된 명령 신호가 최초 메시지 및 하나 이상의 반복 메시지를 포함하는지를 결정할 수 있다. 또한, 버퍼링된 명령 신호와 연관된 타이밍 정보도 분석될 수 있다. 예를 들면, 상이한 명령들 사이의 최소 기간을 식별하는 데 사용하기 위한 것과 같은, 버퍼링된 명령 신호 내의 이벤트들 사이의 최대 시간이 결정될 수 있다. 몇몇 구현들에서, 수신된 명령 신호 데이터는 만약 그 신호가 미리 결정된 캡처 기간이 끝나기 전에 중단(interrupt)된다면 폐기될 수 있다. 제2 컨트롤러에 의해 전송된 명령 신호가 분석된 후에, 그 명령 신호의 표현이 다수의 파라미터들을 사용하여 저장될 수 있다. 예를 들면, 파라미터들은 명령 신호와 연관된 최초 메시지 또는 패턴, 명령 신호와 연관된 임의의 반복 패킷, 및 명령 신호를 구성하는 이벤트들 사이의 시간 간격을 나타낼 수 있다. 몇몇 구현들에서, 만약 버퍼링된 명령 신호가 처리될 수 없거나 결함이 있다면, 미디어 처리 장치는 연관된 컨트롤에 대한 캡처 동작을 반복할 수 있다.
몇몇 구현들에서, 미디어 처리 장치는 제2 컨트롤러의 명령 신호들을 포함하는 하나 이상의 선행 학습된 프로파일들을 저장하도록 구성될 수 있다. 미디어 처리 장치는 만약 수신된 명령 신호가 선행 학습된 프로파일에 포함된 데이터와 충분히 일치한다면 제2 컨트롤러에 대한 리모트 프로파일을 자동으로 생성할 수 있다. 만약 리모트 프로파일의 자동 생성이 선택된다면, 학습 모드는 취소될 수 있고 미디어 처리 장치는 명령 해석 모드로 되돌아갈 수 있다.
기본 버튼과 연관된 명령 신호가 캡처된 후에, 미디어 처리 장치는 모든 기본 버튼들이 처리되었는지를 결정할 수 있다(620). 만약 하나 이상의 기본 버튼들에 대응하는 명령 신호가 캡처되지 않았다면, 미디어 처리 장치는 학습될 다음 기본 버튼 및 하나 이상의 연관된 명령을 표시할 수 있다(610). 만약 그렇지 않다면, 미디어 처리 장치는 하나 이상의 네비게이션 컨트롤들이 학습되어야 할지를 결정할 수 있다(622). 예를 들면, 미디어 처리 장치는 제2 컨트롤러의 구성을 종료(exit)하기 위해 또는 하나 이상의 네비게이션 컨트롤들을 학습하기 위해 사용자로부터의 입력을 요청하는 인터페이스를 표시할 수 있다. 제2 컨트롤러는 기본 버튼들이 구성된 후에 미디어 처리 장치를 제어하기 위해 이용될 수 있다. 따라서, 하나 이상의 네비게이션 컨트롤들의 구성은 옵션일 수 있다. 만약 하나 이상의 네비게이션 컨트롤들이 구성되어야 한다면, 미디어 처리 장치는 학습될 네비게이션 버튼 및 하나 이상의 연관된 명령들을 표시할 수 있다(625). 예를 들면, 미디어 처리 장치는 매핑될 제2 컨트롤러의 네비게이션 버튼을 나타내고 사용자에게 하나 이상의 액션들을 수행하도록 지시하는, 도 5에 도시된 것과 같은, 네비게이션 버튼 인터페이스를 표시할 수 있다. 만약 그렇지 않다면, 미디어 처리 장치는 제2 컨트롤러에 대한 리모트 프로파일을 생성할 수 있다(640). 예를 들면, 리모트 프로파일은 구성된 기본 컨트롤들에 대응하는 제2 컨트롤러에 의해 전송된 하나 이상의 명령 신호들을 인식하고 해석하기 위한 데이터를 포함할 수 있다.
만약 하나 이상의 네비게이션 컨트롤들이 구성되어야 한다면, 미디어 처리 장치는 제2 컨트롤러에 의해 전송된 명령 신호를 캡처하고 그 캡처된 명령 신호를 미디어 처리 장치에 의해 수행되는 네비게이션 기능에 매핑할 수 있다(630). 미디어 처리 장치는 기본 버튼에 대한 명령 신호와 동일한 방식으로 네비게이션 버튼에 대응하는 명령 신호를 캡처하고 처리할 수 있다. 네비게이션 버튼과 연관된 명령 신호가 캡처된 후에, 미디어 처리 장치는 모든 네비게이션 버튼들이 처리되었는지를 결정할 수 있다(635). 만약 하나 이상의 네비게이션 버튼들에 대응하는 명령 신호가 캡처되지 않았다면, 미디어 처리 장치는 학습될 다음 네비게이션 버튼 및 하나 이상의 연관된 명령들을 표시할 수 있다(625). 만약 그렇지 않다면, 미디어 처리 장치는 제2 컨트롤러에 대한 리모트 프로파일을 생성할 수 있다(640). 리모트 프로파일은, 연관된 제2 컨트롤러가 식별될 수 있도록, 명명될 수 있다. 또한, 리모트 프로파일은 제2 컨트롤러에 의해 전송된 하나 이상의 명령 신호들을 인식하고 해석하기 위한 데이터를 포함할 수 있다. 몇몇 구현들에서, 그 데이터는 그것이 동일한 제2 컨트롤러의 동일한 컨트롤에 의해 적어도 99 퍼센트 반복 가능하도록 구성될 수 있다.
도 7은 미디어 처리 장치(105)에 의해 실행될 수 있는 예시적인 리모트 컨트롤 드라이버(700)를 나타낸다. 일반적으로, 미디어 처리 장치(105)에 의해 수신된 IR 시그너쳐(702)는 소스 식별(예를 들면, 리모트 컨트롤 타입)을 위해 드라이버(700)에 제공된다. 만약 소스가 식별될 수 없다면, 리모트 컨트롤 드라이버(700)는 시그너쳐 소스를 분류하기 위해 시그너쳐의 특징들을 추출하려고 시도한다. 이에 따라, 학습된 특징들은 저장되고 나중에 유사한 IR 시그너쳐의 재발생을 인식하기 위해 사용될 수 있다.
인식 가능한 프로토콜이 IR 시그너쳐(702)에 의해 운반되고 있는 시나리오에 대하여, 이러한 배열에서, 리모트 컨트롤 드라이버(700)는 IR 시그너쳐(702)로부터 디코딩된 정보를 포함하는 하나 이상의 데이터 패킷들(예를 들면, 예시적인 데이터 패킷(704)으로 예시됨)을 생성한다. 예를 들면, 타이밍 정보를 나타내는 데이터, 식별된 프로코콜, 및 IR 시그너쳐 내에 삽입된 데이터(예를 들면, 명령)가 데이터 패킷(704)에 포함될 수 있다.
IR 시그너쳐(702)로부터의 정보와 알려진 프로토콜들의 정보를 비교함으로써, IR 시그너쳐(702)에 의해 이용될 수 있는 다양한 가능한 프로토콜들을 결정하기 위한 발견적 기법(heuristic technique)이 제공될 수 있다. 하나 이상의 IR 전송 표준들과 연관된 프로토콜들과 함께, 특정한 회사들 및 제품들과 연관된 표준들이 식별될 수 있다. 예를 들면, NEC, 샤프(Sharp), 소니(Sony)(예를 들면, 소니 SIRC), 필립스(Phillips)(예를 들면, 필립스 RC-5, 필립스 RC-6), JVC, 삼성(Samsung), 히타치(Hitachi), 미쯔비시(Mitsubishi), 디렉TV(DirecTV) 및 다른 유사한 업체들과 연관된 프로토콜들이 검출될 수 있다. 특정한 국가들(예를 들면, 일본, 미국) 및/또는 글로벌 지역들(예를 들면, 유럽)과 연관된 프로토콜들이 또한 식별될 수 있다.
몇몇 경우에, 특정한 프로토콜들(예를 들면, NEC, 디렉TV, JVC 프로토콜들)을 구현하는 IR 시그너쳐들은 동적으로 변화할 수 있다. 예를 들면, 시그너쳐 속성들은 차후에 리모트 컨트롤 상의 버튼들을 누르는 것에 기초하여 변화할 수 있다. 이에 따라 리모트 버튼을 처음 누르는 것과 연관된 IR 시그너쳐는 차후에 다른 리모트 버튼을 누르는(또는 내리누르는) 것에 따라 변화하는 속성들을 가질 수 있다. 몇몇 배열들에서, 리모트 컨트롤 드라이버(700)는 각각의 수신된 수명을 독립적으로 다루고 대응하는 프로토콜을 식별하려고 시도할 수 있다.
IR 시그너쳐(702)를 수신하면, 리모트 컨트롤 드라이버(700)는 각각의 알려진 프로토콜에 스코어(또는 다수의 스코어들)를 할당한다. 이전의 알려진 프로토콜들의 저장된 데이터(예를 들면, 미디어 처리 장치(105)에 저장된 것)와 수신된 IR 시그너쳐로부터 획득된 정보를 비교함으로써, 각각의 프로토콜 스코어는 해당 프로토콜의 속성들이 수신된 시그너쳐의 속성들과 얼마나 닮았는지의 척도(measure)를 제공한다. 다양한 스코어링 기법들 및 방법들이 리모트 컨트롤 드라이버(700)에 의해 구현될 수 있다. 예를 들면, 각각이 프로토콜 속성과 연관되는, 서브스코어들(sub-scores)의 세트(예를 들면, 3개의 서브스코어)가 각각의 프로토콜에 할당될 수 있다. 서브스코어들에 기초하여, 수신된 IR 시그너쳐의 프로토콜이 식별될 수 있다(또는 이전에 알려지지 않은 프로토콜의 학습을 트리거할 수 있다).
하나의 배열에서, 3개의 서브스코어들은 펄스 카운트 스코어라 불리는) 시그너쳐 내의 펄스의 수, (헤더 스코어라 불리는) 헤더 정보 및 (데이터 스코어라 불리는) 시그너쳐에 삽입된 데이터와 연관된 정보와 연관될 수 있다. 각각의 스코어를 획득하면, 프로토콜들에 대한 전체적인 비교 메트릭(overall comparison metric)을 계산하기 위해 추가적인 처리가 실행될 수 있다(예를 들면, 3개의 서브스코어들의 합산). 몇몇 배열들에서, 서브스코어들은 비교를 위해 우선 순위가 매겨질 수 있는데, 예를 들면, 펄스 카운트 스코어 및 헤더 스코어에는 IR 시그너쳐(702)의 프로토콜을 식별하기 위해 보다 무거운 가중치가 주어질 수 있다. 수신된 시그너쳐(702)의 펄스 카운트와 알려진 프로토콜은 프로토콜 일치를 나타내기 위해(예를 들면, 정확한 변환들을 보증하기 위해) 같을 필요가 있을 수 있다. 추가로, 프로토콜 헤더들은 (예를 들면, 길이 및 내용에서) 상당히 다를 수 있는 반면, 데이터 스코어는 (단지 동일함(identification)을 확인하기보다) 프로토콜들을 식별하기에는 신뢰성이 낮을 수 있다. 이에 따라, 펄스 카운트 스코어 및 헤더 스코어는 데이터 스코어와 비교하여 더 무겁게 가중될 수 있다. 몇몇 배열들에서 서브스코어들은 음의 값 또는 영의 값을 가질 수 있다. 그에 의해, 총 스코어는 음의 값을 가질 수 있다. 이에 따라, IR 시그너쳐 내의 몇몇 특징들의 존재는 몇몇 프로토콜들로 하여금 완전히 승산이 없게(fall out of the running) 할 수 있다. 예를 들면, NEC 포맷은 특정한 사이즈의 헤더를 요구한다. 만약 그 특정한 헤더 사이즈가 발견되지 않는다면, NEC 포맷은 전혀 고려되지 않을 것이다.
사전 정의된 임계값들은 또한 원격 제어 드라이버가 프로토콜을 식별하는 데에도 이용될 수 있다. 예를 들면, 최소 허용가능한 서브-스코어를 나타내는 임계값들이 구현될 수 있다. 일 구성에서는, 최소 펄스 카운트 및 헤더 스코어가 표준으로 고려될 수 있다. 그래서, 이들 스코어들마다 일정한 최소 임계값에 도달해야 할 필요가 있을 수 있다. 처리된 스코어들(예컨대, 펄스 카운트 스코어, 헤더 스코어 및 데이터 스코어의 합) 또한 특정 최소 임계값으로 유지될 수 있다.
수신된 IR 시그너쳐(702)의 비교를 제공하기 위해 스코어들이 계산되면, (최소 임계값을 또한 충족하는) 최고 스코어링 프로토콜이 시그너쳐에 매칭되는 것으로 간주된다. 매칭이 검출된 것에 기초하여, 데이터 패킷(704)(또는 다수의 데이터 패킷)이 미디어 처리 장치(105)에 인코딩된 데이터(예컨대, 하나 이상의 명령)를 제공하도록 생성된다.
펄스 카운트 스코어링에 관하여, 수신된 IR 시그너쳐(702)가 시그너쳐의 펄스들이 카운트될 수 있도록 시간 간격(예컨대, 바이트를 시간 간격으로 변환)으로 세그먼트된다. 일반적으로, 제1 시간 간격은 하나의 펄스로 간주되고, 하나의 펄스로서 카운트될 수 있다. 펄스 카운트에 기초하여, 각 프로토콜에 스코어가 할당된다.
일부 프로토콜들은, 펄스 및 펄스들간의 간격이 가변 길이를 가질 수 있는 PDE(pulse distance encoding)를 이용할 수 있다. 도 8을 참조하면, 펄스 시리즈(800)는 각 펄스 공간 쌍이 단일의 데이터 비트(즉, 로직 0 또는 1)를 나타내는 PDF 프로토콜을 나타낸다. 이러한 유형의 프로토콜을 이용하여, 펄스의 수는 인코딩된 명령의 데이터 비트의 수에 직접적으로 대응한다. 그래서, 매칭되는 펄스 카운트 스코어를 수신하기 위해서는, PDE 프로토콜의 예상 펄스 수는 수신된 IR 시그너쳐에 포함된 펄스들의 수와 일치할 필요가 있다.
다른 유형의 인코딩 또한 프로토콜들에 의해 구현될 수 있다. 도 9를 참조하면, 예를 들어, PE(phase encoding)이 펄스 시리즈(900)에서 구현될 수 있지만, 이러한 인코딩 스킴은 (예컨대, PDE 프로토콜에 비해) 정확한 펄스 카운트를 제공하지 못할 수 있다. PE에서는, 펄스가 로직 1 또는 0을 나타내는 데이터 비트의 전반 또는 후반으로 시프트한다. 이러한 특정한 인코딩 스킴의 경우, IR 시그너쳐는 전형적으로 펄스들의 최대 수를 갖지만, 펄스의 최대수보다 작은 수가 인코딩된 명령을 나타내는데 통상 필요하다. 예를 들면, 다소 과도한 경우, 펄스의 최대 수의 대략 절반 정도가 명령을 나타내는데 필요하다. 그래서, PE 프로토콜의 매칭 스코어를 수신하기 위해서는, IR 시그너쳐 펄스들의 수가 펄스 카운트의 범위 내에 있을 필요가 있다.
도 10을 참조하면, 표(1000)는 다양한 서로 다른 프로토콜에 대한 일련의 엔트리들을 포함한다. 각각의 프로토콜마다, (제2 컬럼에) 위상 인코딩이 구현되는지의 표시와 함께 한 칼럼에 한 펄스 카운트가 제공된다. 표 1000에 나타낸 바와 같이, 일부 프로토콜은 서로 다른 길이의 명령을 표시하도록 허용가능한 다수의 펄스 카운트를 갖는다. PDE 프로토콜들을 스코어링할 때, IR 시그너쳐의 펄스 카운트가 허용 가능한 다수의 펄스 카운트 중 임의의 것과 매칭되면, 프로토콜에 매칭 스코어가 부여된다.
헤더 스코어링의 경우, 원격 제어 드라이버(700)가 수신된 IR 시그너쳐의 초기 시간 간격(예컨대, 첫 번째 2개의 간격)을 검토한다. 많은 프로토콜에서 전형적인 바와 같이, 헤더가 이 초기 간격 내에서 식별될 수 있다. 예를 들면, 헤더는 초기 간격 내의 하나 이상의 펄스(예컨대, 제1 펄스-공간 쌍)의 펄스 폭으로부터 식별될 수 있다. 헤더를 나타내는 펄스 폭은 IR 시그너쳐의 다른 부분들에 포함된 펄스보다 훨씬 더 길다. 일반적으로, 펄스 폭 및 스페이스 폭은 허용오차(예컨대, 30%)와 연관되어 있다. 이처럼, IR 시그너쳐의 간격들은 폭 범위와 비교된다. IR 시그너쳐의 제1 펄스가 프로토콜 헤더 펄스 폭 범위 내에 있는 경우, 그 프로토콜은 매칭 헤더 스코어를 수신한다. 이에 상응하여, IR 시그너쳐의 제1 스페이스가 프로토콜 헤더 스페이스 폭 범위 내에 있는 경우, 그 프로토콜은 매칭 헤더 스페이스 스코어를 수신한다. 도 11을 참조하면, 표 1100은 IR 시그너쳐와 비교하여 리스트된 대응하는 프로토콜들을 스코어링하기 위한 리모콘 드라이버(700)에 의해 이용될 수 있는 헤더 펄스 폭 범위들 및 헤더 스페이스 폭 범위들을 제공한다. 몇몇 상황에서, 정의된 헤더가 없는 프로토콜이 있을 수 있다. 그러한 프로토콜들에 대한 헤더 스코어도 예를 들어, 제1 펄스 및 제1 스페이스의 IR 시그너쳐의 길이에 기초하여 결정될 수 있다. 그러나, 예상되는 헤더 폭에 대한 길이를 비교하는 것이 아니라, 제1 펄스 길이 및 제1 스페이스 길이를 그 프로토콜과 연관된 예상되는 데이터 펄스 길이 및 스페이스 길이와 비교한다.
각각의 프로토콜에 대한 데이터 스코어를 제공하기 위하여, 리모콘 드라이버(700)는 수신된 IR 시그너쳐의 데이터 부분을 각각의 프로토콜에 대한 대응하는 데이터 파라미터들과 비교한다. 그러한 스코어링에 대하여, 한번에 하나의 펄스-스페이스 쌍의 시간 간격 데이터가 스코어링될 수 있다. IR 시그너쳐에 대한 최소의 수용가능 데이터 스코어는 시그너쳐에 포함된 펄스 수에 기초한다. 시그너쳐에 포함된 모든 펄스가 데이터 비트(예컨대, 헤더 펄스, 정지 펄스 등)가 아니기 때문에, 그러한 잠재적인 비데이터 펄스들(non-data pulses)은 최소 수용가능 스코어를 결정하기 전에 제외된다. 예를 들어, 최소 수용가능 스코어는 다음과 같이 계산될 수 있으며:
스코어 = 10 * (IR 시그너쳐 펄스 카운트 - 가능한 비데이터 펄스들)
그 데이터 비트 수에 기초하여 매칭 스코어(예컨대, 데이터 비트당 10의 값)가 할당될 수 있다.
다른 파라미터들이 또한 데이터 스코어에 포함될 수 있다. 예를 들어, 로직 1 또는 0으로 번역될 펄스-스페이스 쌍에 대해 증분하는 포지티브 서브스코어(incremental positive sub-score)를 특정 프로토콜에 추가할 수 있다. 그러므로, 드라이버(700)가 NEC 포맷으로 번역될 수 있는 펄스-스페이스 쌍들의 반복 시퀀스를 검출한다면, 그 포맷에 대한 스코어는 증가될 것이다. 통상적으로, (데이터 번역을 포함하는) 데이터 스코어링은 (헤더가 식별되었다면) 시그너쳐의 제2 펄스로 시작한다. 그러한 상황에서는, 제1 펄스는 시간적으로 상당히 (예컨대, 1600㎲보다 길게) 연장된다. 헤더가 없다면, (번역을 포함하는) 데이터 스코어링은 제1 펄스로 시작한다.
전술한 바와 같이, PDE는 종종 다수의 프로토콜에 의해 이용된다. 그러한 프로토콜들에 대하여, 펄스 폭 및 스페이스 폭을 로직 0 데이터 비트 및 로직 1 데이터 비트에 대한 예상되는 폭들과 비교함으로써, 각각의 펄스-스페이스 쌍에 대한 데이터 번역이 측정될 수 있다. 헤더 펄스 폭 및 스페이스 폭과 마찬가지로, 그러한 프로토콜들에 대한 데이터 펄스 폭 및 스페이스 폭은 추정된 허용오차(예컨대, 30%)를 갖는다. 이처럼, IR 시그너쳐의 시간 간격들은 각각의 프로토콜에 대한 미리 정의된 범위들과 비교된다. 도 12를 참조하면, 표 1200는 로직 0 값 및 로직 1 값에 대한 다양한 PDE 프로토콜들과 그에 대응하는 펄스 폭 추정치 및 스페이스 폭 추정치에 대한 엔트리를 제공한다.
일부 프로토콜들(예를 들면, NEC 리피트(Repeat) 프로토콜 및 Hitachi 리피트 프로토콜)에는 데이터부가 없으며, 오직 헤더 및 단일 펄스(정지 펄스로 지칭됨)만을 포함할 수 있다. 그러한 프로토콜들에 대해, 정지 펄스는 미리 정의된 길이(예를 들면, 560㎲)를 갖는다. 이러한 경우에, IR 시그너쳐의 두번째와 최종 펄스가 미리 정의된 길이(예를 들면, 560㎲)의 허용 범위 내에 있으면, 이 프로토콜들에 대해 데이터 스코어가 또한 증가될 수 있다. 또한, 그러한 "리피트" 프로토콜들에 매칭이 되는 IR 시그너쳐의 경우, 이전에 수신된 IR 시그너쳐는 유사한 타입의 프로토콜로서 식별될 것을 필요로 한다. 예를 들면, NEC 리피트 프로토콜은 이전 패킷이 NEC 프로토콜과 매칭했던 경우에만 매칭되는 것으로서 고려된다. 그러한 상황이 발생하면, 제2의 수신된 IR 입력 시그너쳐는 리피트 패킷으로서 식별되고, 이전 패킷에 의해 제공된 수치 명령은 실행을 위해 미디어 처리 장치(105)에 제공된다.
PE를 구현하는 프로토콜들(예를 들면, 필립스 RC-5와 RC-6)에 데이터 스코어를 할당하기 위하여, 각각의 펄스-공간 쌍에 대해 IR 시그너쳐가 여전히 검사되지만, 이전의 펄스-공간 쌍들과 연관된 데이터 비트들이 고려된다. PDE 프로토콜들과 마찬가지로, PE 프로토콜들에 대한 데이터 스코어는 로직 0 또는 1이 식별되는 경우에 증가한다. 그러나, 데이터 비트 변환은 펄스-공간 쌍들에 걸쳐 발생할 수 있다.
도 12의 테이블(1202)을 참조하면, PDE 프로토콜들과 마찬가지로, PE 프로토콜은 정의된 예상 펄스 및 공간 폭들을 가진다. 또한, 마찬가지로, 폭들에 허용범위(예를 들면, 30%)가 적용됨으로써 IR 시그너쳐의 시구간과의 비교를 위한 범위들을 제공한다.
도 13을 참조하면, 하나의 특정 PE 프로토콜(즉, 필립스 RC-5 프로토콜)의 속성들이 도시되어 있다. 예를 들면, 이 프로토콜을 따르는 펄스는 길이(예를 들면, 889㎲)를 가질 수 있으며, 로직 0 데이터 비트(타임시리즈(1300))의 선행 단(leading end) 또는 로직 1 데이터 비트(타임시리즈(1302))의 후방 단(trailing end)을 나타낼 수 있다. 펄스는 또한 (타임 시리즈(1304)에 나타내어진) 펄스가 두배의 길이인 경우(예를 들면, 889㎲의 두배), 보다 긴 길이를 가질 수 있으며, 펄스는 로직 1 데이터 비트의 후방 단 및 로직 0 데이터 비트의 선행 단을 나타낼 수 있다. 공간에 대하여, 특정 길이(예를 들면, 889㎲)의 공간은 (타임 시리즈(1306)으로 나타내어진) 로직 1 데이터 비트의 선행 단 또는 (타임 시리즈(1308)로 나타내어진) 로직 0 데이터 비트의 후방 단을 나타낼 수 있다. 공간의 길이가 확장되면(예를 들어, 889㎲의 두배), 공간은 (타임 시리즈(1310)으로 나타내어진) 로직 0 데이터 비트의 후방 단 및 로직 1 데이터 비트의 선행 단 모두를 나타낼 수 있다. 또한, 필립스 RC-5 프로토콜의 경우에, 시작 펄스는 로직 1 데이터 비트의 후반부이고 전형적인 헤더 펄스의 위치를 가질 수 있다.
그외의 PE 프로토콜들은 또한 IR 시그너쳐를 검사하는 것을 고려하는 결과를 가진다. 예를 들면, 필립스 RC-6 프로토콜과 같은 일부 프로토콜들은 토글 정보를 포함한다. 도 14를 참조하면, 타임 시리즈(1400)는 첫번째 4개의 데이터 비트에 후속하여 미리정의된 시간의 구간(예를 들면, 3556㎲)이 토글 정보를 제공하는 일련의 펄스들을 나타낸다. 일반적으로, 토글 정보는 원격 제어 버튼이 눌러지는 각각의 경우에 변경된다. 그러나, 토글 정보는 원격 상의 버튼이 눌러진(다운되어 유지되는) 기간 동안은 일정하게 유지된다. 이 시간 구간의 대략 반 동안의 경우에, 로직 1 (하이 레벨)이 제공된다. 원격 버튼들을 누르는 추가의 예들은, 타임 시리즈(1402)에서 표현된 바와 같이, 로직 1 레벨을 전반부와 후반부 사이에서 토글한다.
도 15를 참조하면, 일부 프로토콜들은 PDE 및 PE 둘다 없는 것으로 보인다. 예를 들어, 그러한 프로토콜은 DirecTV 프로토콜이며, 이 프로토콜에서는 각각의 개별적인 펄스 및 공간이, (시계열(1500)에서 나타낸 바와 같이) 펄스 및 공간의 폭에 따라, 데이터 비트에 대응한다. 또한, (표(1502)에 의해 제공된 바와 같이) 허용도(tolerance)(예를 들면, 30%)가 이 프로토콜에 적용될 수 있다. DirecTV 프로토콜과 유사하게, DirecTV Repeat 프로토콜이, 리모트 컨트롤 드라이버(700)에 의해 인식될 수 있다. 두 프로토콜들 사이에서의 데이터 스코어링 및 데이터 변환은 유사할 수 있으며, 하나의 차이점은 헤더 펄스들 및 공간들의 폭이다.
도 16을 참조하면, 흐름도(1600)는 리모트 컨트롤 드라이버(700)의 동작들의 특정 구성을 나타낸다. 전형적으로 동작들은, 예를 들면, 리모트 컨트롤 드라이버가 위치되는 미디어 처리 장치(105)에 제공된 프로세서에 의해 실행된다. 그러나, 동작들은 장치에 제공된 다수의 프로세서들에 의해 실행될 수도 있다. 전형적으로 단일 미디어 처리 장치에 의해 실행되지만, 일부 구성에서는, 동작 실행이 둘 이상의 유사한 미디어 처리 장치들 사이에 분배될 수 있다.
동작들은 IR 시그너쳐를 수신(1602)하는 것을 포함한다. 예를 들어, 시그너쳐(예를 들면, IR 시그너쳐(702))는 미디어 처리 장치(105)로부터 수신될 수 있다. 또한, 동작들은 수신된 IR 시그너쳐의 프로토콜이 리모트 컨트롤 드라이버(700)에게 알려져 있는지를 결정(1604)하는 것을 포함한다. 시그너쳐가 인식되지 않으면, 동작들은 수신된 시그너쳐의 프로토콜을 학습(1606)하고, 시그너쳐의 프로토콜과 관련된 정보를 저장(1608)하는 것을 포함한다. 예를 들어, 특정 프로토콜 파라미터들(예를 들면, 펄스 카운트, 헤더 포맷, 데이터 콘텐츠)와 관련된 정보가, 나중의 검색 및 처리(예를 들면, 프로토콜 인식, 전송 등)을 위해 미디어 처리 장치에 저장될 수 있다. 선택적으로, 일부 구성들에서, IR 시그너쳐는 인식되지 않는 경우에 무시될 수 있다. 수신된 IR 시그너쳐의 프로토콜이 인식된다면, 리모트 컨트롤 드라이버(700)의 동작은 인식된 프로토콜과 관련된 정보를 검색(1610)하는 것을 포함한다. 프로토콜 정보가 검색되거나 또는 새롭게 학습되는 경우, 리모트 컨트롤 드라이버(700)의 동작들은 수신된 IR 시그너쳐와 관련된 정보를 포함하는 하나 이상의 데이터 패킷들을 생성(1612)하는 것을 포함한다. 예를 들어, IR 시그너쳐에 포함된 코맨드와 함께 프로토콜을 식별하는 정보가 패킷(들)에 포함될 수 있다.
도 17을 참조하면, 흐름도(1700)는 리모트 컨트롤 드라이버(700)의 다른 동작 세트를 나타낸다. 흐름도(1600)의 동작들과 유사하게, 이들 동작들은 전형적으로 미디어 처리 장치(105)에 제공된 프로세서에 의해 실행되지만, 다른 구성들에서는 분배형 처리 기법들이 구현될 수 있다. 흐름도(1700)는 수신된 IR 시그너쳐로부터 (흐름도(1600)의 단계(1606)에서 도시된 바와 같이) 프로토콜을 학습하는 것과 관련된 동작들을 포함한다.
동작들은 수신된 IR 시그너쳐의 펄스 카운트를 결정(1702)하는 것을 포함한다. 하나 이상의 기법들 및 방법들이, 펄스 카운트를 결정하기 위해 구현될 수 있다. 예를 들어, 평균 펄스 카운트를 식별하기 위해, 일련의 IR 시그너쳐들에 포함된 펄스들이 합산되고 평균화될 수 있다. 또한, 동작들은 IR 시그너쳐와 관련된 헤더 정보를 식별(1704)하는 것을 포함한다. 예를 들어, 헤더 펄스 폭 및 공간 폭이, 다른 파라미터들과 함께 결정될 수 있다. 또한, 동작들은 IR 시그너쳐와 관련된 데이터 정보를 결정(1706)하는 것을 포함할 수 있다. 예를 들어, 데이터 비트들과 관련된 펄스들이, 비데이터(non-data) 펄스들(예를 들면, 헤더 펄스들, 정지 펄스들 등)과 관련된 펄스들과 함께 식별될 수 있다. 또한, IR 시그너쳐와 관련된 추가적인 파라미터들이 식별될 수 있다. 또한, 동작들은 수집된 시그너쳐 정보를, 다른 동작들(예를 들면, 유사한 IR 시그너쳐를 인식하는 것)을 위한 나중의 검색을 위해, 프로토콜 프로파일 (또는 다른 유사한 표현)에 저장(1708)하는 것을 포함한다.
도 18을 참조하면, 흐름도(1800)는 리모트 컨트롤 드라이버(700)의 다른 동작 세트를 나타낸다. 흐름도(1600 및 1700)의 동작들과 유사하게, 이들 동작들은 전형적으로 미디어 처리 장치(105)에 제공된 프로세서에 의해 실행되지만, 다른 구성들에서는 분배형 처리 기법들이 구현될 수 있다. 흐름도(1800)는 프로토콜이 수신된 IR 시그너쳐로부터 (흐름도(1600)의 단계(1604)에서 도시된 바와 같이) 인식되는지를 결정하는 것과 관련된 동작들을 포함한다.
동작들은 PDE, PE 또는 다른 유사한 프로토콜(예를 들면, DirecTV 프로토콜)과 같은 특정 프로토콜과 관련된 정보를 수신(1802)하는 것을 포함한다. 정보를 수신시에, 동작들은 프로토콜의 펄스 카운트를 (예를 들면, 도 16의 단계(1602)에서 도시된 바와 같이) 수신된 IR 시그너쳐의 펄스 카운트와 비교함으로써, 프로토콜에 대한 펄스 카운트 스코어를 결정(1804)하는 것을 포함할 수 있다. 펄스 카운트 스코어와 함께, 동작들은 헤더 스코어를 결정(1806)하는 것을 포함한다. 예를 들어, 프로토콜의 헤더 펄스 폭 및 공간 폭은 수신된 IR 시그너쳐의 대응하는 펄스 및 공간 폭들과 비교될 수 있다. 또한, 동작들은 데이터 스코어를 결정하는 것을 포함할 수 있으며, 그것은 데이터 변환을 고려함과 더불어 데이터 펄스들을 식별하는 것을 포함할 수 있다.
프로토콜에 대한 스코어들을 식별하면, 전체 스코어 매트릭(metric)을 결정하기 위해 다른 동작들이 실행될 수 있다. 예를 들어, 동작들은 식별된 스코어들을 합산(1810)하는 것을 포함할 수 있지만, 다른 수학적 및 처리 동작들(예를 들면, 평균화 등)이 포함될 수 있다. 또한, 동작들은 하나 이상의 스코어들이 최소 임계값을 달성하였는지를 결정(1812)하는 것을 포함할 수 있다. 예를 들어, 하나 이상의 개별적인 스코어(예를 들면, 펄스 카운트 스코어, 헤더 스코어, 데이터 스코어)가, 대응하는 최소 임계값(예를 들면, 최소 펄스 카운트 스코어)을 달성하기 위해 체크될 수 있다. 또한, 처리된 스코어들은 최소 스코어를 달성하기 위해 체크될 수 있으며, 예를 들어, 스코어들의 합이 최소 합산 스코어 임계값과 비교될 수 있다.
최소 임계값이 만족되지 않으면, 동작들은 수신된 IR 시그너쳐와의 비교로부터 이러한 특정 프로토콜을 무시(1814)하는 것을 포함할 수 있다. 최소 임계값 또는 임계값들이 만족되면, 동작들은 다른 이전에 알려진 프로토콜이 수신된 IR 시그너쳐에 대한 비교를 위해 제공되는지를 결정하는 것을 포함할 수 있다. 비교될 다른 프로토콜이 여전히 남아 있다면, 동작들은 이러한 다음 프로토콜과 관련된 정보를 수신(1802)하는 것으로 복귀하여, 프로토콜을 스코어링하기 위한 후속 동작들을 반복하는 것을 포함한다. 체크될 프로토콜이 남아 있지 않다면, 동작들은 스코어링된 프로토콜들로부터 최대 스코어를 갖는 프로토콜을 결정(1818)하는 것을 포함한다. 이러한 특정 구성에 있어서, 최대 스코어는 어느 프로토콜이 수신된 IR 시스너쳐에 의해 이용되는 프로토콜에 가장 유사한지를 나타낸다. 그러나, 다른 구성들에 있어서, 다른 스코어링 기법들이 구현될 수 있다. 예를 들어, 최대 스코어를 갖는 프로토콜은 수신된 IR 시그너쳐에 의해 이용된 프로토콜에 가장 유사한 프로토콜을 나타낼 수 있다.
도 19는 무선 신호와 연관된 프로토콜을 식별하는 예시적인 프로세스를 기술하는 흐름도를 도시한다. 처음에, 원격 제어로부터 수신된 무선 신호의 특성들은 복수의 프로토콜과 연관된 특성들과 비교될 수 있다(1905). 이 비교에 기초하여, 복수의 프로토콜 내에 포함되어 있는 각각의 프로토콜에 스코어가 할당될 수 있다(1910). 프로토콜은 그 후 할당된 스코어들에 기초하여 복수의 프로토콜로부터 식별될 수 있는데, 식별된 프로토콜은 무선 신호와 연관된 프로토콜과 실질적으로 유사하다(1915).
본 명세서에서는, 많은 구현들이 개시되었다. 그럼에도 불구하고, 특허청구범위의 사상 및 영역을 벗어나지 않고서도, 다양한 변경들이 가능함을 이해할 것이다. 따라서, 다른 구현들은 이하의 특허청구범위의 영역에 속하는 것이다.

Claims (33)

  1. 원격 제어로부터 수신된 무선 신호의 특성들과, 복수의 프로토콜과 연관된 특성들을 비교하는 단계;
    상기 비교에 기초하여, 상기 복수의 프로토콜에 포함된 각각의 프로토콜에게 하나의 스코어를 할당하는 단계; 및
    상기 할당된 스코어들에 기초하여 상기 복수의 프로토콜로부터 하나의 프로토콜을 식별하는 단계 - 상기 식별된 프로토콜은 상기 무선 신호와 연관된 프로토콜과 실질적으로 유사함 -
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 식별된 프로토콜과 상기 무선 신호의 내용(contents)을 나타내는 데이터 패킷을 생성하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 특성들을 비교하는 단계는 펄스 카운트들(pulse counts)을 비교하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 할당된 스코어는 펄스 카운트 비교를 나타내는 방법.
  5. 제1항에 있어서,
    상기 특성들을 비교하는 단계는 펄스 폭들을 비교하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 할당된 스코어는 펄스 폭 비교를 나타내는 방법.
  7. 제1항에 있어서,
    상기 특성들을 비교하는 단계는 데이터를 나타내는 펄스들의 양을 비교하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 할당된 스코어는 데이터 펄스 양 비교를 나타내는 방법.
  9. 제8항에 있어서,
    상기 할당된 스코어는 데이터 펄스들의 변환(translation)에 기초하여 조정되는 방법.
  10. 제1항에 있어서,
    상기 스코어를 할당하는 단계는 서브-스코어들(sub-scores)을 합산하는 단계를 포함하는 방법.
  11. 제1항에 있어서,
    상기 프로토콜을 식별하는 단계는 할당된 임계 스코어(threshold assigned score)에 도달하였는지를 판정하는 단계를 포함하는 방법.
  12. 미디어 처리 장치로서,
    원격 제어로부터 무선 신호를 수신하기 위한 수신기; 및
    상기 무선 신호의 특성들과, 복수의 프로토콜과 연관된 특성들을 비교하기 위한 원격 제어 구동기
    를 포함하며,
    상기 원격 제어 구동기는, 상기 비교에 기초하여, 상기 복수의 프로토콜 내에 포함되어 있는 각각의 프로토콜에 하나의 스코어를 할당하도록 구성되며, 상기 원격 제어 구동기는 또한, 상기 할당된 스코어들에 기초하여 상기 복수의 프로토콜로부터 하나의 프로토콜을 식별하도록 구성되며, 상기 식별된 프로토콜은 상기 무선 신호와 연관된 프로토콜과 실질적으로 유사한
    미디어 처리 장치.
  13. 제12항에 있어서,
    상기 원격 제어 구동기는 또한, 상기 식별된 프로토콜 및 상기 무선 신호의 내용을 나타내는 데이터 패킷을 생성하도록 구성되는, 미디어 처리 장치.
  14. 제12항에 있어서,
    상기 특성들을 비교하는 것은 펄스 카운트들을 비교하는 것을 포함하는, 미디어 처리 장치.
  15. 제14항에 있어서,
    상기 할당된 스코어는 펄스 카운트 비교를 나타내는, 미디어 처리 장치.
  16. 제12항에 있어서,
    상기 특성들을 비교하는 것은 펄스 폭들을 비교하는 것을 포함하는, 미디어 처리 장치.
  17. 제16항에 있어서,
    상기 할당된 스코어는 펄스 폭 비교를 나타내는, 미디어 처리 장치.
  18. 제12항에 있어서,
    상기 특성들을 비교하는 것은, 데이터를 나타내는 펄스들의 양을 비교하는 것을 포함하는, 미디어 처리 장치.
  19. 제18항에 있어서,
    상기 할당된 스코어는 데이터 펄스 양 비교를 나타내는, 미디어 처리 장치.
  20. 제19항에 있어서,
    상기 할당된 스코어는 데이터 펄스들의 변환에 기초하여 조정되는, 미디어 처리 장치.
  21. 제12항에 있어서,
    상기 스코어를 할당하는 것은, 서브-스코어들을 합산하는 것을 포함하는, 미디어 처리 장치.
  22. 제12항에 있어서,
    상기 프로토콜을 식별하는 것은, 할당된 임계 스코어(threshold assigned score)에 도달하였는지를 판정하는 것을 포함하는, 미디어 처리 장치.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
KR1020117013655A 2008-11-14 2009-11-13 원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법 KR101258026B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11499108P 2008-11-14 2008-11-14
US61/114,991 2008-11-14
US12/401,350 2009-03-10
US12/401,350 US10223907B2 (en) 2008-11-14 2009-03-10 System and method for capturing remote control device command signals
PCT/US2009/064396 WO2010057002A1 (en) 2008-11-14 2009-11-13 System and method for capturing remote control device command signals

Publications (2)

Publication Number Publication Date
KR20110095345A KR20110095345A (ko) 2011-08-24
KR101258026B1 true KR101258026B1 (ko) 2013-04-30

Family

ID=41571413

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117013655A KR101258026B1 (ko) 2008-11-14 2009-11-13 원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US10223907B2 (ko)
EP (1) EP2356643B1 (ko)
JP (1) JP5524230B2 (ko)
KR (1) KR101258026B1 (ko)
CN (1) CN102282597B (ko)
AU (1) AU2009313923B2 (ko)
HK (1) HK1159835A1 (ko)
WO (1) WO2010057002A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223907B2 (en) * 2008-11-14 2019-03-05 Apple Inc. System and method for capturing remote control device command signals
JP2011055399A (ja) * 2009-09-04 2011-03-17 Seiko Epson Corp 送信装置、電子機器および電子機器の遠隔制御システム
US9542203B2 (en) 2010-12-06 2017-01-10 Microsoft Technology Licensing, Llc Universal dock for context sensitive computing device
US8923770B2 (en) 2010-12-09 2014-12-30 Microsoft Corporation Cognitive use of multiple regulatory domains
US8792429B2 (en) * 2010-12-14 2014-07-29 Microsoft Corporation Direct connection with side channel control
US9294545B2 (en) 2010-12-16 2016-03-22 Microsoft Technology Licensing, Llc Fast join of peer to peer group with power saving mode
US8948382B2 (en) 2010-12-16 2015-02-03 Microsoft Corporation Secure protocol for peer-to-peer network
US8971841B2 (en) 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
US9257040B2 (en) * 2011-06-30 2016-02-09 Flirc, Inc. Method and device for learning and playing back electromagnetic signals
WO2013172058A1 (ja) * 2012-05-13 2013-11-21 Enomoto Junya コンテンツ視聴システム及び装置
US20160164976A1 (en) * 2012-09-24 2016-06-09 Suitable Technologies, Inc. Systems and methods for remote presence
WO2018161001A1 (en) 2017-03-03 2018-09-07 Intel IP Corporation Transmission of synchronization signals
US11216047B2 (en) * 2018-10-11 2022-01-04 Vertiv It Systems, Inc. System and method for detecting relationship between intelligent power strip and device connected thereto
CN115880883B (zh) * 2023-01-29 2023-06-09 上海海栎创科技股份有限公司 一种系统间选择性传输控制信号的系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6130625A (en) * 1997-01-24 2000-10-10 Chambord Technologies, Inc. Universal remote control with incoming signal identification
US20060152401A1 (en) 2005-01-13 2006-07-13 Skipjam Corp. Method for universal remote control configuration
US20070168429A1 (en) * 2005-12-30 2007-07-19 Microsoft Corporation Strategies for Sending Content to a Target Device

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626848A (en) 1984-05-15 1986-12-02 General Electric Company Programmable functions for reconfigurable remote control
US4856081A (en) * 1987-12-09 1989-08-08 North American Philips Consumer Electronics Corp. Reconfigurable remote control apparatus and method of using the same
DE3827050A1 (de) 1988-08-10 1990-02-15 Thomson Brandt Gmbh Fernsehempfaenger
US4866434A (en) * 1988-12-22 1989-09-12 Thomson Consumer Electronics, Inc. Multi-brand universal remote control
KR940005973B1 (ko) * 1991-06-19 1994-06-25 삼성전자 주식회사 리모콘 송신기의 출력신호 제어 방법
JPH0556485A (ja) 1991-08-28 1993-03-05 Sharp Corp メモリ・リモコン送信機
JPH05153673A (ja) 1991-11-25 1993-06-18 Fujitsu General Ltd リモートコントロール被制御装置
JPH05164846A (ja) 1991-12-19 1993-06-29 Mitsubishi Electric Corp 目標識別装置
JPH06245278A (ja) 1993-02-12 1994-09-02 Sony Corp 情報機器の制御装置
US5386251A (en) 1993-06-03 1995-01-31 Zilog, Inc. Television receiver with learning remote control system capable of being controlled by a remote control device manufactured by different companies
JP3190767B2 (ja) * 1993-06-15 2001-07-23 エヌイーシーマイクロシステム株式会社 遠隔制御方式
FR2759801B1 (fr) 1997-02-20 1999-05-14 Thomson Multimedia Sa Systeme de controle par affichage graphique d'informations disponibles sur des equipements video et/ou audio
US5924090A (en) * 1997-05-01 1999-07-13 Northern Light Technology Llc Method and apparatus for searching a database of records
JP3897409B2 (ja) 1997-09-02 2007-03-22 キヤノン株式会社 情報処理装置およびその方法、プログラムを格納した記憶媒体
GB2366059B (en) 1997-11-19 2002-04-17 Lg Electronics Inc Method for assigning a remote controller identification code and power-saving electronic appliance and remote controller using the method
US7085260B2 (en) * 2000-08-22 2006-08-01 Lucent Technologies Inc. Internet protocol based wireless call processing
US7042366B1 (en) * 2000-09-06 2006-05-09 Zilog, Inc. Use of remote controls for audio-video equipment to control other devices
US6469621B1 (en) * 2001-08-16 2002-10-22 Johnson Controls Technology Company Tire monitor compatible with multiple data protocols
US7224903B2 (en) 2001-12-28 2007-05-29 Koninklijke Philips Electronics N. V. Universal remote control unit with automatic appliance identification and programming
CN1364022A (zh) 2002-01-22 2002-08-14 山东金岭铁矿实业公司 电器的远距离控制方法
US7099582B2 (en) * 2002-05-31 2006-08-29 Lucent Technologies Inc. Method and apparatus for multi-protocol and multi-rate optical channel performance monitoring
US7274730B2 (en) * 2002-08-26 2007-09-25 Hitachi Kokusai Electric Inc. QoS control method for transmission data for radio transmitter and radio receiver using the method
US8140569B2 (en) * 2003-05-29 2012-03-20 Microsoft Corporation Dependency network based model (or pattern)
US7620988B1 (en) * 2003-07-25 2009-11-17 Symantec Corporation Protocol identification by heuristic content analysis
US7671758B1 (en) 2003-10-02 2010-03-02 Tivo Inc. Remote control programming system
US7227492B1 (en) * 2004-02-10 2007-06-05 Zilog, Inc. Interpreting a common script block to output various forms of data according to a common protocol
GB0402952D0 (en) 2004-02-11 2004-03-17 Koninkl Philips Electronics Nv Remote control system and related method and apparatus
KR100666694B1 (ko) * 2005-01-17 2007-01-11 삼성전자주식회사 OSGi 기반의 홈 게이트웨이 장치 및 그의 기기등록방법
US7529255B2 (en) * 2005-04-21 2009-05-05 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
US9197533B1 (en) * 2005-05-09 2015-11-24 Cisco Technology, Inc. Technique for maintaining and enforcing relative policies with thresholds
US7656464B2 (en) 2005-11-03 2010-02-02 Advanced Micro Devices, Inc. Remote control unit code learning television set
KR101205847B1 (ko) 2006-01-17 2012-12-03 삼성전자주식회사 무선 통신 시스템에서 컨트롤 채널의 디코딩 방법과 그장치
US8031270B1 (en) 2006-01-31 2011-10-04 Cypress Semiconductor Corporation Remote control system
CN101132494B (zh) 2006-08-24 2011-05-11 康佳集团股份有限公司 一种将电视机切换到学习模式下的方法、系统及设备
CN100454965C (zh) 2006-08-24 2009-01-21 深圳创维-Rgb电子有限公司 一种电视机对机顶盒进行遥控的方法与电路
CN200979743Y (zh) 2006-10-12 2007-11-21 厦门哈隆电子有限公司 一种智能自学习型多功能红外遥控器
US8160097B2 (en) * 2007-11-07 2012-04-17 Broadcom Corporation System and method for optimizing communication between a mobile communications device and a second communications device
US10223907B2 (en) * 2008-11-14 2019-03-05 Apple Inc. System and method for capturing remote control device command signals

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6130625A (en) * 1997-01-24 2000-10-10 Chambord Technologies, Inc. Universal remote control with incoming signal identification
US20060152401A1 (en) 2005-01-13 2006-07-13 Skipjam Corp. Method for universal remote control configuration
US20070168429A1 (en) * 2005-12-30 2007-07-19 Microsoft Corporation Strategies for Sending Content to a Target Device
US7453868B2 (en) * 2005-12-30 2008-11-18 Microsoft Corporation Strategies for sending content to a target device

Also Published As

Publication number Publication date
AU2009313923A1 (en) 2011-07-07
CN102282597B (zh) 2014-06-11
HK1159835A1 (en) 2012-08-03
WO2010057002A1 (en) 2010-05-20
US20100123598A1 (en) 2010-05-20
EP2356643A1 (en) 2011-08-17
CN102282597A (zh) 2011-12-14
EP2356643B1 (en) 2014-12-17
JP2012509031A (ja) 2012-04-12
AU2009313923B2 (en) 2013-02-28
KR20110095345A (ko) 2011-08-24
JP5524230B2 (ja) 2014-06-18
US10223907B2 (en) 2019-03-05

Similar Documents

Publication Publication Date Title
KR101379118B1 (ko) 원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법
KR101258026B1 (ko) 원격 제어 장치 명령 신호들을 캡처하기 위한 시스템 및 방법
US9778747B2 (en) Method and system for multimodal and gestural control
US9607505B2 (en) Closed loop universal remote control
KR101751064B1 (ko) 움직임 감지 리모트 컨트롤
US8106750B2 (en) Method for recognizing control command and control device using the same
US20140071351A1 (en) Universal remote control systems, methods, and apparatuses
US20120005632A1 (en) Execute a command
EP3306943B1 (en) Processor for creating instruction for channel change, display device, and display method
US9948975B2 (en) Systems and methods for programming a remote control device
EP2401863B1 (en) Code set determination for a remote control
US20070052549A1 (en) Apparatus and method for updating encoded signal information stored in a remote control unit through direct key entry
JP2007228520A (ja) リモートコントロール装置及びプログラム
WO2016019722A1 (zh) 一种切换电视频道的方法、装置及系统
US20090315753A1 (en) Apparatus and method for managing memory of a digital video recorder
KR101497696B1 (ko) 디스플레이장치 및 키 데이터 변경 방법
TWI469099B (zh) 具萬用遙控機制之手持式電子裝置及其操作方法

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
FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 5