KR101303474B1 - 호스트 디바이스 및 액세서리에 의한 원격 제어 신호 학습 및 처리 - Google Patents

호스트 디바이스 및 액세서리에 의한 원격 제어 신호 학습 및 처리 Download PDF

Info

Publication number
KR101303474B1
KR101303474B1 KR1020117029288A KR20117029288A KR101303474B1 KR 101303474 B1 KR101303474 B1 KR 101303474B1 KR 1020117029288 A KR1020117029288 A KR 1020117029288A KR 20117029288 A KR20117029288 A KR 20117029288A KR 101303474 B1 KR101303474 B1 KR 101303474B1
Authority
KR
South Korea
Prior art keywords
host device
accessory
identifier
remote control
signal
Prior art date
Application number
KR1020117029288A
Other languages
English (en)
Other versions
KR20120024726A (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 KR20120024726A publication Critical patent/KR20120024726A/ko
Application granted granted Critical
Publication of KR101303474B1 publication Critical patent/KR101303474B1/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
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/40Remote control systems using repeaters, converters, gateways
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/92Universal remote control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Selective Calling Equipment (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

호스트 디바이스 및 액세서리에 의한 원격 제어 신호들의 학습 및 처리를 용이하게 하는 기술들. 하나의 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 호스트 디바이스가 다양한 상이한 원격 컨트롤들로부터(그리고, 따라서 이들에 의해 원격으로 동작되는) 신호들을 학습할 수 있는 제1 모드로 동작할 수 있다. 예를 들면, 일부 실시예들에서, 호스트 디바이스는 호스트 디바이스 또는 액세서리와 상호동작하도록 특별히 설계되지 않았던 원격 컨트롤으로부터 신호들을 학습할 수 있다. 또 하나의 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 호스트 디바이스와 액세서리 사이에서 전달되는 데이터 양을 최소화하면서도 호스트 디바이스 및 액세서리가 학습된 원격 제어 신호들을 처리할 수 있는 제2 모드로 동작할 수 있다.

Description

호스트 디바이스 및 액세서리에 의한 원격 제어 신호 학습 및 처리{REMOTE CONTROL SIGNAL LEARNING AND PROCESSING BY A HOST DEVICE AND ACCESSORY}
본 개시는 일반적으로는 액세서리들과 상호동작할 수 있는 호스트 디바이스들에 관한 것으로, 특히 원격 컨트롤으로부터의 신호들의 학습 및 처리를 용이하게 하는 액세서리와 호스트 디바이스의 상호동작에 관한 것이다.
원격 제어 디바이스들(여기에서, "원격 컨트롤들"로 지칭됨)은 통상적으로 텔레비전, DVD 플레이어들, 디지털 비디오 레코더들, 등과 같은 다양한 소비자 전자 디바이스들을 원격으로 동작시키는데 이용된다. 전형적인 원격 컨트롤은 하나 이상의 버튼들 및 신호 송신기를 포함한다. 원격 컨트롤의 버튼이 활성화되는 경우, 신호 송신기는 버튼 활성화 이벤트와 연관된 신호를, 제어될 타겟 디바이스의 신호 수신기에게 송신할 수 있다. 그 신호는 예를 들면, 적외선(IR) 또는 무선 주파수(RF) 신호일 수 있고, 타겟 디바이스의 기능에 대응할 수 있다. 신호가 신호 수신기에서 수신되는 경우에, 그 신호는 타겟 디바이스에 의해 인식될 수 있고, 대응하는 기능이 실행될 수 있다.
최근에, 휴대용 미디어 디바이스들을 원격으로 동작시킬 수 있는 능력에 대한 소비자 요구가 증가하고 있다. 여기에 이용되는 바와 같이, 휴대용 미디어 디바이스는 오디오, 비디오, 및/또는 정지 이미지 파일들과 같은 미디어 자산들을 관리하거나 재생할 수 있는 핸드헬드 디바이스이다. iPod® 및 iPhoneTM(양쪽 모두 본 출원의 양수인인 애플 인크에 의해 개발됨)과 같은 일부 휴대용 미디어 디바이스들은 미디어 관리 및 재생뿐만 아니라 다양한 서비스들을 제공할 수 있다. 그러한 서비스들의 예들은 달력, 연락처 및 노트들과 같은 개인 데이터의 저장, 인터넷 액세스, 모바일 전화, 및 다양한 어플리케이션 프로그램들을 선택적으로 다운로딩하여 운용하는 능력을 포함한다.
휴대용 미디어 디바이스들의 원격 동작을 용이하게 하기 위해, 휴대용 미디어 디바이스와 인터페이싱하여 그 디바이스 대신에 원격 제어 신호들을 수신할 수 있는 액세서리들이 개발되어 왔다. 이들 액세서리들은 통상적으로 휴대용 미디어 디바이스의 대응하는 커넥터와 독킹되거나 메이팅되도록 적응된 커넥터 - 그럼으로써, 액세서리와 휴대용 미디어 디바이스 사이의 다양한 신호들 및 데이터의 교환을 허용함 -, 및 원격 컨트롤으로부터 신호들을 수신하도록 적응된 신호 수신기를 구비하고 있다.
일반적으로 말하면, 이들 현재의 액세서리들은 원격 제어 신호들의 정적 "단어집(vocabulary)"을 인식하고 정적 단어집의 하나의 신호가 수신되는 경우에 연관된 명령을 접속된 휴대용 미디어 디바이스에게 전송하도록 설계되어 있다. 예를 들면, 하나의 그러한 현재의 액세서리는 디바이스 명령들 "플레이(PLAY)", "고속감기(FAST FORWARD)", 및 "되감기(REWIND)"와 각각 연관된 신호들 A, B 및 C를 포함하는 정적 신호 단어집을 인식하도록 구성될 수 있다. 신호 A가 액세서리의 신호 수신기에서 수신되는 경우에, 액세서리는 A를 그 정적 단어집의 하나의 신호로서 인식하고, "플레이(PLAY)"명령을 접속된 휴대용 미디어 디바이스에게 전송할 수 있다. 유사하게, 신호 B 또는 C가 액세서리의 신호 수신기에서 수신되는 경우에, 액세서리는 B 또는 C를 그 정적 단어집의 하나의 신호로서 인식하고, "고속 감기(FAST FORWARD)"또는 "되감기(REWIND)"명령을 접속된 휴대용 미디어 디바이스에게 전송할 수 있다. 이러한 타입의 구현에 있어서, 휴대용 미디어 디바이스는 액세서리의 정적 신호 단어집의 특정 신호들을 송신할 수 있는 원격 컨트롤들에 의해서만 제어될 수 있다.
본 발명의 실시예들은 호스트 디바이스(예를 들면, 휴대용 미디어 디바이스) 및 액세서리에 의한 원격 제어 신호들의 학습 및 처리를 용이하게 하는 기술들을 제공한다. 하나의 세트의 실시예들에서, 액세서리는 원격 컨트롤으로부터 신호를 수신하고 그 신호의 표현(representation)을 호스트 디바이스에게 전송할 수 있다. 그 신호의 표현을 수신할 때, 호스트 디바이스는 그 표현을 호스트 디바이스의 기능과 연관시킬 수 있고, 그럼으로써 그 특정 신호가 다시 원격 컨트롤으로부터 수신될 때마다 그 기능이 실행되어야 된다는 것을 "학습한다". 이와 같이, 호스트 디바이스는 신호들의 선정된 정적 단어집을 송신할 수 있는 특정 원격 컨트롤들만에 의해서라기보다는 다양한 상이한 원격 컨트롤들에 의해 제어되도록 구성될 수 있다.
일부 경우들에서, 액세서리로부터 호스트 디바이스에 송신되는 신호 표현의 크기는 액세서리와 호스트 디바이스 사이의 통신 채널의 대역폭에 비해 클 수 있다. 원격 제어 신호가 액세서리에서 수신될 때마다 그러한 표현들이 액세서리로부터 호스트 디바이스에 전송되는 경우에, 채널을 통한 액세서리와 호스트 디바이스 사이의 다른 데이터 통신들이 악영향을 받을 정도까지 통신 채널이 포화될 수 있다.
따라서, 본 발명의 일부 실시예들은, 그러한 학습되는 신호들이 후속적으로 처리되는 경우에 호스트 디바이스와 액세서리 사이에서 전달되는 데이터의 양을 감소시키거나 최소화시키면서도, 호스트 디바이스가 상기 설명된 바와 같이 원격 제어 신호들을 학습할 수 있게 하는 호스트 디바이스와 액세서리 사이의 상호동작을 제공한다. 하나의 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 원격 제어 신호들을 학습하기 위한 제1 모드(여기에서는 "학습 모드"로 지칭됨)로 동작할 수 있다. 학습 모드에서, 액세서리는 원격 컨트롤으로부터 신호를 수신하고 그 신호의 표현을 호스트 디바이스에게 송신할 수 있다. 신호의 표현을 수신하는 경우에, 호스트 디바이스는 그 표현을 호스트 디바이스의 기능과 연관시킬 수 있다. 뿐만 아니라, 액세서리는 그 표현 및 그 기능과 연관된 식별자를 생성하고 저장할 수 있다. 다양한 실시예들에서, 식별자는 그 연관된 신호 표현보다 그 크기가 실질적으로 더 작을 수 있다. 그리고나서, 호스트 디바이스는 식별자를 액세서리에 송신하고, 거기에서 식별자는 신호 표현과 함께 저장된다.
추가 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 원격 제어 신호들을 처리하기 위한 제2 모드(여기에서, "처리 모드"로 지칭됨)로 동작할 수 있다. 처리 모드에서, 액세서리는 원격 컨트롤으로부터 신호를 수신하고 수신된 신호가 이전에 학습된 신호와 실질적으로 유사(또는 동일)한지 여부를 결정할 수 있다. 예를 들면, 액세서리는 수신된 신호의 표현과 학습 모드 동안에 저장된 신호 표현을 비교할 수 있다. 실질적으로 유사(또는 동일)한 저장된 신호 표현이 발견되는 경우에, 액세서리는 저장된 신호 표현과 연관된 식별자를 호스트 디바이스에게 송신할 수 있다. 식별자를 수신하는 경우에, 호스트 디바이스는 학습 모드 동안에 그 식별자와 이전에 연관되었던 기능을 실행할 수 있다.
상기 설명된 학습 모드에 따라 호스트 디바이스와 액세서리 사이의 상호운용성을 제공함으로써, 본 발명의 일부 실시예들은 호스트 디바이스가 다양한 상이한 원격 컨트롤들로부터 신호들을 학습할 수 있게(그리고, 따라서 이들에 의해 원격으로 동작될 수 있게) 한다. 예를 들면, 일부 실시예들에서, 호스트 디바이스는 호스트 디바이스 또는 액세서리와 상호동작하도록 특별히 설계되지 않았던 원격 컨트롤으로부터 신호들을 학습할 수 있다. 또한, 상기 설명된 처리 모드에 따라 호스트 디바이스와 액세서리 사이의 상호운용성을 제공함으로써, 본 발명의 일부 실시예들은, 호스트 디바이스와 액세서리 사이의 통신 채널을 포화시키지 않고 호스트 디바이스 및 액세서리가 학습된 원격 제어 신호들을 처리할 수 있게 한다. 예를 들면, 액세서리는 학습된 신호의 인스턴스가 수신될 때마다 (전체 신호 표현보다) 비교적 작은 식별자를 호스트 디바이스에게 송신할 수 있으므로, 액세서리와 호스트 디바이스 사이에서 전달되는 데이터 양이 실질적으로 감소될 수 있다.
여기에 개시된 실시예들의 특성 및 장점들의 추가 이해는 명세서의 나머지 부분들 및 첨부된 도면들을 참조하여 실현될 수 있다.
도 1은 본 발명의 실시예에 따른 시스템의 단순화된 예시이다.
도 2는 본 발명의 실시예에 따른 시스템의 단순화된 블록도이다.
도 3은 본 발명의 실시예에 따라 학습 모드 동안에 호스트 디바이스에 의해 수행되는 프로세스의 흐름도이다.
도 4는 본 발명의 실시예에 따라 학습 모드 동안에 액세서리에 의해 수행되는 흐름도이다.
도 5는 본 발명의 실시예에 따라 처리 모드 동안에 호스트 디바이스에 의해 수행되는 프로세스의 흐름도이다.
도 6은 본 발명의 실시예에 따라 처리 모드 동안에 액세서리에 의해 수행되는 프로세스의 흐름도이다.
이하의 상세한 설명에서, 설명의 목적상, 본 발명의 다양한 실시예들의 이해를 제공하기 위해 다수의 세부사항들이 제시된다. 그러나, 본 기술분야의 숙련자들에게는, 일부 실시예들이 이들 세부사항들의 일부없이도 실시될 수 있다는 것은 자명하다.
본 발명의 실시예들은 호스트 디바이스(예를 들면, 휴대용 미디어 디바이스) 및 액세서리에 의한 원격 제어 신호들의 학습 및 처리를 용이하게 하는 기술들을 제공한다. 일부 실시예들은, 그러한 학습된 신호들이 후속적으로 처리되는 경우에 호스트 디바이스와 액세서리 사이에서 전달되는 데이터의 양을 감소시키거나 최소화시키면서도, 호스트 디바이스가 다양한 상이한 원격 컨트롤으로부터 원격 제어 신호들을 학습할 수 있게 한다.
하나의 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 원격 제어 신호들을 학습하기 위한 제1 모드("학습 모드")로 동작할 수 있다. 학습 모드에서, 액세서리는 원격 컨트롤으로부터 신호를 수신하고 그 신호의 표현을 호스트 디바이스에게 송신할 수 있다. 신호의 표현을 수신하는 경우에, 호스트 디바이스는 그 표현을 호스트 디바이스의 기능과 연관시킬 수 있다. 뿐만 아니라, 액세서리는 그 표현 및 그 기능과 연관된 식별자를 생성하고 저장할 수 있다. 다양한 실시예들에서, 식별자는 그 연관된 신호 표현보다 그 크기가 실질적으로 더 작을 수 있다. 그리고나서, 호스트 디바이스는 식별자를 액세서리에 송신하고, 거기에서 식별자는 신호 표현과 함께 저장된다.
추가 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 원격 제어 신호들을 처리하기 위한 제2 모드("처리 모드")로 동작할 수 있다. 처리 모드에서, 액세서리는 원격 컨트롤으로부터 신호를 수신하고 수신된 신호가 이전에 학습된 신호와 실질적으로 유사(또는 동일)한지 여부를 결정할 수 있다. 예를 들면, 액세서리는 수신된 신호의 표현과 학습 모드 동안에 저장된 신호 표현을 비교할 수 있다. 실질적으로 유사(또는 동일)한 저장된 신호 표현이 발견되는 경우에, 액세서리는 저장된 신호 표현과 연관된 식별자를 호스트 디바이스에게 송신할 수 있다. 식별자를 수신하는 경우에, 호스트 디바이스는 학습 모드 동안에 그 식별자와 이전에 연관되었던 기능을 실행할 수 있다.
상기 설명된 학습 모드에 따라 호스트 디바이스와 액세서리 사이의 상호운용성을 제공함으로써, 본 발명의 일부 실시예들은 호스트 디바이스가 다양한 상이한 원격 컨트롤들로부터 신호들을 학습할 수 있게(그리고, 따라서 이들에 의해 원격으로 동작될 수 있게) 한다. 예를 들면, 일부 실시예들에서, 호스트 디바이스는 호스트 디바이스 또는 액세서리와 상호동작하도록 특별히 설계되지 않았던 원격 컨트롤으로부터 신호들을 학습할 수 있다. 또한, 상기 설명된 처리 모드에 따라 호스트 디바이스와 액세서리 사이의 상호동작성을 제공함으로써, 본 발명의 일부 실시예들은, 호스트 디바이스와 액세서리 사이의 통신 채널을 포화시키지 않고 호스트 디바이스 및 액세서리가 학습된 원격 제어 신호들을 처리할 수 있게 한다. 예를 들면, 액세서리는 학습된 신호의 인스턴스가 수신될 때마다 (전체 신호 표현보다) 비교적 작은 식별자를 호스트 디바이스에게 송신할 수 있으므로, 액세서리와 호스트 디바이스 사이에서 전달되는 데이터 양이 실질적으로 감소될 수 있다.
도 1은 본 발명의 실시예에 따른 시스템(100)의 단순화된 예시이다. 시스템(100)은 호스트 디바이스(102), 액세서리(104), 및 원격 컨트롤(106)을 포함한다. 하나의 세트의 실시예들에서, 호스트 디바이스(102)는 아이팟® 또는 아이폰TM(이들 모두는 본 출원의 양수인인 애플 인크에 의해 개발됨)과 같은 휴대용 미디어 디바이스일 수 있다. 다른 실시예들에서, 호스트 디바이스(102)는 액세서리 디바이스(예를 들면, 액세서리(104))와 상호동작할 수 있는 임의의 다른 타입의 전자 디바이스일 수 있다. 호스트 디바이스(102)는 터치 스크린 디스플레이(108)와 같은 사용자 입력 및/또는 출력 디바이스들을 포함하는 사용자 인터페이스를 포함할 수 있다. 호스트 디바이스(102)는 또한 스크롤 휠들, 버튼들, 키보드들, 트랙볼들, 터치패드들, 마이크로폰들, 스피커들, 등과 같은 임의의 개수의 다른 사용자 입력 및/또는 출력 디바이스들을 포함할 수 있다.
호스트 디바이스(102)는 미디어 자산들의 관리 및 재생, 모바일 전화 및 인터넷 액세스(예를 들면, Wi-Fi와 같은 무선 접속들 및/또는 EDGE 또는 3G 기술을 이용하는 진보된 무선 데이터 네트워크들을 통함), 및 사용자에 의해 호스트 디바이스(102) 상에 인스톨될 수 있는 다양한 어플리케이션 프로그램들의 실행과 같은 다양한 서비스들을 사용자에게 제공할 수 있다. 이들 서비스들의 일부는 호스트 디바이스의 입력 디바이스(102, 예를 들면 터치 스크린 디스플레이(108))를 통해 직접적으로, 또는 원격 컨트롤(예를 들면, 원격 컨트롤(106))을 통해 원격으로 제공될 수 있는 사용자 입력을 요구할 수 있다.
도시된 바와 같이, 호스트 디바이스(102)는 케이블(114)의 엔드 커넥터(112)를 수용할 수 있는 호스트 커넥터(110)를 포함할 수 있다. 호스트 커넥터(110)는 원격 컨트롤(106)에 의한 호스트 디바이스(102)의 원격 동작에 관해 호스트 디바이스(102)와 액세서리(104) 사이에서 다양한 데이터 및 제어 신호들을 전달하도록 할당된 다수의 핀들을 포함할 수 있다. 호스트 커넥터(110)는 또한 호스트 디바이스(102)와 액세서리(104) 사이의 전기적 전력 및 그라운드 접속들을 제공하기 위한 핀들뿐만 아니라, 오디오 및/또는 비디오 신호들과 같은 다른 타입들의 신호들을 전달하도록 할당된 핀들을 포함할 수 있다. 하나의 세트의 실시예들에서, 일부 핀(또는 핀들)은 호스트 디바이스(102)로부터 액세서리(104)에 전력을 전달하는데 할당될 수 있는데 대해 또 하나의 핀(또는 핀들)은 액세서리(104)로부터 호스트 디바이스(102)에 전력을 전달하는데 할당될 수 있다. 그러므로, 디바이스(102 또는 104) 중 어느 하나는 전력을 다른 하나에 제공할 수 있다.
액세서리(104)는 액세서리 커넥터(118)에서 케이블(114)의 나머지 엔드 커넥터(116)를 수용할 수 있다. 일부 실시예들에서, 액세서리 커넥터(118)는 호스트 커넥터(110)와는 상이한 형태 인자 및/또는 상이한 개수의 컨택트들을 가질 수 있다. 다른 실시예들에서, 2개의 커넥터들이 동일할 수 있다. 또 다른 실시예들에서, 액세서리 커넥터(118)는 케이블(114)이 요구되지 않도록 호스트 커넥터(110)와 직접적으로 메이팅하도록 설계될 수 있다. 추가 실시예들에서, 호스트 디바이스(102)와 액세서리(104) 사이의 일부 또는 모든 통신은 무선으로 발생할 수도 있다(예를 들면, 블루투스 또는 다른 단거리 무선 프로토콜들을 통함).
액세서리(104)는 독킹 스테이션(또한, "독크"로도 알려짐), 원격 컨트롤 동글, 또는 원격 컨트롤(예를 들면, 원격 컨트롤(106))으로부터 신호들을 수신할 수 있고 이들 신호들과 관련된 정보를 접속된 호스트 디바이스(예를 들면, 호스트 디바이스(102))에 제공할 수 있는 임의의 다른 타입의 전자 디바이스일 수 있다. 하나의 세트의 실시예들에서, 액세서리(104)는 원격 컨트롤(106)으로부터 IR 신호들을 수신하기 위한 IR 수신기 "아이(eye)"(120)를 포함할 수 있다. 다른 실시예들에서, 액세서리(104)는 원격 컨트롤(106)으로부터 다른 타입들의 무선 신호들(예를 들면, RF 신호들)을 수신하기 위한 다른 타입들의 신호 수신 컴포넌트들을 포함할 수 있다.
도시되어 있지는 않지만, 액세서리(104)는 또한 서비스들 또는 서비스 인핸스먼트들을 호스트 디바이스(102)에게 제공하는 추가 컴포넌트들을 포함할 수 있다. 단지 예로서, 액세서리(104)는 A/V 신호들이 호스트 디바이스(102)로부터 외부 표시/재생 디바이스에게 라우팅될 수 있게 하는(예를 들면, 케이블(114)을 통함) 오디오/비디오("A/V")출력 포트들을 포함할 수 있다. 액세서리(104)는 또한 호스트 디바이스(102)에게 사용자 입력을 제공하거나 그로부터 정보를 프리젠팅하기 위한, 스크롤 휠들, 버튼들, 키보드들, 트랙볼들, 터치패드들, 마이크로폰들, 스피커들, 터치 스크린 디스플레이들, 등과 같은 사용자 입력 및/또는 출력 디바이스들을 포함할 수 있다.
원격 컨트롤(106)은 사용자로부터 입력들을 수신할 수 있고 입력들에 기초하여 타겟 디바이스(예를 들면, 호스트 디바이스(102))를 원격으로 동작시키기 위한 하나 이상의 신호들(예를 들면, 무선 신호들(122))을 생성할 수 있는 임의의 타입의 전자 디바이스일 수 있다. 예를 들면, 도시된 실시예에서, 원격 컨트롤(106)은 하나 이상의 버튼들(124)을 포함한다. 하나의 버튼(124)이 활성화되는 경우, 원격 컨트롤(106)은 버튼 활성화 이벤트와 연관된 무선 신호(122)를 액세서리(104)의 수신기(120)에 송신할 수 있다. 다양한 실시예들에서, 액세서리(104) 및 호스트 디바이스(102)는 신호(122)를 학습하거나 처리하도록 학습 모드 또는 처리 모드에서 상호동작할 수 있다.
일부 실시예들에서, 원격 컨트롤(106)은 호스트 디바이스(102) 또는 액세서리(104)와 본래부터 상호동작하도록 설계되지 않을 수도 있다. 원격 컨트롤(106)은 예를 들면 특정 텔레비전 모델과 사전패키징될 수 있고 단지 그 텔레비전 모델(또는 동일한 제조자에 의해 만들어지는 다른 텔레비전 모델들)만을 제어하도록 처음부터 설계될 수 있다. 그럼에도 불구하고, 본 발명의 기술들을 이용하는 경우, 그러한 전용 원격 컨트롤들은 호스트 디바이스(102)와 액세서리(104)를 상호동작시키는데 이용될 수 있다.
시스템(100)은 예시적이고 본 발명의 실시예들을 제한하려는 것이 아니라는 것은 자명하다. 예를 들면, 다양한 상이한 타입들의 호스트 디바이스들(102), 액세서리들(104), 및 원격 컨트롤들(106)이 이용될 수 있다. 본 기술분야의 통상의 기술자라면 다수의 변동들, 변형들 및 대안들을 잘 알고 있을 것이다.
도 2는 본 발명의 하나의 실시예에 따른 시스템(200)의 단순화된 블록도이다. 도시된 바와 같이, 시스템(200)은 호스트 디바이스(202), 액세서리(204), 및 원격 컨트롤(206)을 포함한다. 하나의 세트의 실시예들에서, 시스템(200)은 도 1의 시스템(100)을 구현할 수 있다. 예를 들면, 호스트 디바이스(202)는 호스트 디바이스(102)를 구현할 수 있고, 액세서리(204)는 액세서리(104)를 구현할 수 있으며, 원격 컨트롤(206)은 원격 컨트롤(106)을 구현할 수 있다.
호스트 디바이스(202)는 프로세서(208), 사용자 입력/출력 디바이스들(210), 저장 디바이스(212), 및 액세서리 I/O(입력/출력) 인터페이스(214)를 포함할 수 있다.
프로세서(208)는 마이크로프로세서 또는 마이크로컨트롤러와 같은 하나 이상의 집적 회로들로서 구현될 수 있다. 일부 실시예들에서, 프로세서(208)는 ARM 아키텍쳐(ARM 리미티드에 의해 설계되는 RISC 아키텍쳐)를 이용하는 마이크로프로세서일 수 있다. 프로세서(208)는 호스트 디바이스(202)의 하나 이상의 동작들을 실행하는 것을 담당할 수 있다. 예를 들면, 프로세서(208)는 미디어 자산들을 선택하여 플레이하거나 저장 디바이스(212)에 저장된 다양한 어플리케이션 프로그램들을 실행할 수 있다. 프로세서(208)는 또한 액세서리 I/O 인터페이스(214)를 통해 액세서리 디바이스들(예를 들면, 액세서리(204))과의 통신을 관리할 수 있다. 이하에 더 상세하게 설명되는 바와 같이, 하나의 세트의 실시예들에서, 프로세서(208)는 호스트 디바이스(202)가 원격 제어 신호들의 학습 또는 처리를 용이하게 하도록 학습 모드 또는 처리 모드에서 동작할 수 있게 한다.
사용자 입력/출력 디바이스들(210)은 사용자가 호스트 디바이스(202)와 인터액팅할 수 있게 하는 다수의 디바이스들 중 임의의 하나일 수 있다. 예를 들면, 도 1의 호스트 디바이스(102)와 관련하여 설명된 바와 같이, 그러한 사용자 입력/출력 디바이스들은 스크롤 휠들, 버튼들, 키보드들, 트랙볼들, 터치패드들, 마이크로폰들, 스피커들, 터치 스크린 디스플레이들, 등을 포함할 수 있다. 다양한 실시예들에서, 사용자는 특정 사용자 입력 디바이스(210)를 동작시켜, 호스트 디바이스(202)의 기능을 유발시킬 수 있다. 뿐만 아니라, 사용자는 특정 사용자 출력 디바이스(210)를 통해 호스트 디바이스(202)로부터 출력을 보거나 들을 수 있다.
저장 디바이스(212)는 예를 들면 자기 디스크, 플래시 메모리, 및/또는 임의의 다른 비휘발성 저장 매체를 이용하여 구현될 수 있다. 일부 실시예들에서, 저장 디바이스(212)는 제거-불가능 하드 디스크 드라이브 또는 플래시 메모리 드라이브와 같은 제거불가능 저장 컴포넌트들을 포함할 수 있다. 다른 실시예들에서, 저장 디바이스(212)는 플래시 메모리 카드들과 같은 제거가능 저장 매체를 포함할 수 있다. 저장 디바이스(212)는 호스트 디바이스(202)에 의해 이용되는 임의의 프로그램들 및/또는 데이터에 대한 저장을 제공할 수 있다. 예를 들면, 저장 디바이스(212)는 오디오, 비디오, 정지 이미지들 등과 같은 미디어 자산들, 및 연관된 메타데이터(예를 들면, 자산 명칭, 아티스트, 제목, 장르, 플레이리스트들, 등)를 저장할 수 있다. 저장 디바이스(212)는 사용자의 연락처(이름, 주소, 전화 번호, 등)에 관한 정보, 스케줄링된 약속들 및 이벤트들, 노트들, 및/또는 다른 개인적인 정보와 같이, 미디어 자산들 이외의 정보를 저장할 수 있다. 또 다른 실시예들에서, 저장 디바이스(212)는 비디오 게임 프로그램들, 개인 정보 관리 프로그램들, 미디어 자산들을 플레이하거나 미디어 자산 데이터베이스를 네비게이팅하기 위한 프로그램들, 등과 같이, 프로세서(208)에 의해 실행되는 하나 이상의 프로그램들을 저장할 수 있다.
액세서리 I/O 인터페이스(214)는 호스트 디바이스(202)와 액세서리(204) 사이에서 다양한 신호들을 전달하도록 구성된 다수의 신호 경로들을 포함할 수 있다. 하나의 세트의 실시예들에서, 액세서리 I/O 인터페이스(214)는 아이팟® 및 아이폰TM에 이용되는 커넥터에 대응하는 30-핀 커넥터를 포함한다. 대안적으로 또는 추가적으로, 액세서리 I/O 인터페이스(214)는 무선 인터페이스(예를 들면, 블루투스 등)를 포함할 수 있다.
일부 실시예들에서, 호스트 디바이스(202)는 또한 액세서리 I/O 인터페이스(214)를 이용하여, 미디어 자산 관리 프로그램(예를 들면, 애플 인크에 의해 배포되는 아이튠스® 미디어 자산 관리 프로그램)을 실행하는 호스트 컴퓨터(명시적으로 도시되지 않음)와 통신할 수 있다. 일부 실시예들에서, 미디어 자산 관리 프로그램은 사용자가 저장 디바이스(212)에 저장된 미디어 자산들의 데이터베이스를 변형하고, 저장 디바이스(212)에 저장된 개인 데이터(예를 들면, 달력, 연락처)를 업데이트하거나, 저장 디바이스(212)에 저장된 어플리케이션 프로그램들을 추가하고 업데이트하거나 제거할 수 있게 한다. 다른 실시예들에서, 호스트 디바이스(202)는 호스트 컴퓨터 및/또는 컴퓨터 네트워크와의 통신을 제공할 수 있는 무선 인터페이스(명시적으로 도시되지 않음)를 포함할 수 있다.
액세서리(204)는 컨트롤러(216), 호스트 I/O 인터페이스(218), 저장 디바이스(220), 및 수신기(222)를 포함할 수 있다.
컨트롤러(216)는 마이크로프로세서 또는 마이크로컨트롤러와 같은 하나 이상의 집적 회로들로 구현될 수 있다. 다양한 실시예들에서, 컨트롤러(216)는 액세서리(204)의 동작을 제어할 수 있다. 컨트롤러(216)는 또한 호스트 I/O 인터페이스(218)를 통해 호스트 디바이스(예를 들면, 호스트 디바이스(202))와의 통신을 관리할 수 있다. 이하에 추가적으로 상세하게 설명된 바와 같이, 하나의 세트의 실시예들에서, 컨트롤러(216)는 액세서리(204)가 원격 제어 신호들의 학습 또는 처리를 용이하게 하도록 학습 모드 또는 처리 모드에서 동작하게 할 수 있다.
호스트 I/O 인터페이스(218)는 액세서리(204)와 호스트 디바이스(202) 사이에서 다양한 신호들을 전달하도록 구성된 다수의 신호 경로들을 포함할 수 있다. 하나의 세트의 실시예들에서, 호스트 I/O 인터페이스(218)는 아이팟® 및 아이폰TM에 이용되는 커넥터에 대응하는 30-핀 커넥터를 포함한다. 대안적으로 또는 추가적으로, 호스트 I/O 인터페이스(218)는 상이한 커넥터 또는 무선 인터페이스(예를 들면, 블루투스 등)를 포함할 수 있다.
다양한 실시예들에서, 호스트 I/O 인터페이스(218) 및 액세서리 I/O 인터페이스(214)는 액세서리(204) 및 호스트 디바이스(202)가 "접속된"또는 "분리된"상태에 있도록 허용한다. 여기에 이용된 바와 같이, 액세서리(204) 및 호스트 디바이스(202)는 호스트 I/O 인터페이스(218)와 액세서리 I/O 인터페이스(214) 사이의 통신 채널이 열릴 때마다 접속된다. 반대로, 액세서리(204) 및 호스트 디바이스(202)는 통신 채널이 닫힐 때마다 분리된다. 접속은 물리적 부착(예를 들면, 액세서리(204) 및 호스트 디바이스(202)의 각각의 메이팅 커넥터들 사이)에 의해, 케이블과 같은 간접 접속에 의해, 또는 무선 통신 채널의 확립에 의해 달성될 수 있다. 유사하게, 분리는 물리적 이탈에 의해, 케이블을 분리하거나, 액세서리(204) 또는 호스트 디바이스(202)를 전력 다운시킴으로써, 또는 무선 통신 채널을 닫음으로써 달성될 수 있다.
USB, 파이어와이어(FireWire), 또는 범용 비동기 수신기/송신기("UART")와 같은 유선 채널들, 및 블루투스, WiFi, IR 등과 같은 무선 채널들을 포함하여, 호스트 I/O 인터페이스(218) 및 액세서리 I/O 인터페이스(214) 사이에서 다양한 통신 채널들이 이용될 수 있다. 일부 실시예들에서, 액세서리(204)와 호스트 디바이스(202) 사이의 복수의 통신 채널들이 동시에 열려질 수 있다. 추가적으로, 호스트 디바이스(202)는 각 액세서리가 상이한 통신 채널을 이용하는 상태에서 복수의 액세서리들과 동시에 접속될 수 있다.
저장 디바이스(220)는 예를 들면 자기 디스크, 플래시 메모리, 및/또는 임의의 다른 비휘발성 저장 매체를 이용하여 구현될 수 있다. 일부 실시예들에서, 저장 디바이스(220)는 제거불가능 하드 디스크 드라이브 또는 플래시 메모리 드라이브와 같은 제거불가능 저장 컴포넌트들을 포함할 수 있다. 다른 실시예들에서, 저장 디바이스(220)는 플래시 메모리 카드들과 같은 제거가능 저장 매체를 포함할 수 있다. 저장 디바이스(220)는 액세서리(204)에 의해 이용되는 임의의 프로그램들 및/또는 데이터에 대한 저장을 제공할 수 있다. 하나의 세트의 실시예들에서, 저장 디바이스(220)는 원격 제어 신호들의 표현들, 및 이들 표현들과 연관된 데이터를 저장할 수 있다.
수신기(222)는 원격 컨트롤(예를 들면, 원격 컨트롤(206))으로부터 무선 신호들과 같은 신호들을 수신하기 위한 하나 이상의 신호 수신 컴포넌트들을 포함할 수 있다. 하나의 세트의 실시예들에서, 수신기(222)는 특별히 IR 신호를 수신하도록 적응된 IR 다이오드 및 IR 복조기와 같은 컴포넌트들을 포함할 수 있다. 이들 실시예들에서, IR 다이오드는 IR 신호를 캡쳐할 수 있고, IR 복조기는 캡쳐된 신호로부터 캐리어 주파수를 제거할 수 있다. 그리고나서, IR 복조기로부터의 출력(예를 들면, 구형파)은 컨트롤러(216)에 의해 처리되어 IR 신호의 표현을 생성할 수 있다. 대안 실시예들에서, 수신기(222)는 다른 타입의 신호들(예를 들면, RF 신호들)을 수신하기 위한 컴포넌트들을 포함할 수 있다.
원격 컨트롤(206)은 사용자 입력 디바이스(224), 컨트롤러(226) 및 송신기(228)를 포함할 수 있다.
사용자 입력 디바이스(224)는 사용자가 원격 컨트롤(206)에게 입력들을 제공할 수 있게 하는 다수의 디바이스들 중 임의의 하나일 수 있다. 예를 들면, 그러한 사용자 입력 디바이스들은 스크롤 휠들, 버튼들, 키보드들, 트랙볼들, 터치패드들, 마이크로폰들, 터치스크린 디스플레이들, 등을 포함할 수 있다. 다양한 실시예들에서, 사용자는 사용자 입력 디바이스(224) 상에서 하나 이상의 컨트롤들을 활성화시킬 수 있고, 그럼으로써 원격 컨트롤(206)이 신호 수신기(예를 들면, 수신기(222))에게 신호를 송신하도록 유발한다.
컨트롤러(226)는 마이크로프로세서 또는 마이크로컨트롤러와 같은 하나 이상의 집적 회로들로 구현될 수 있다. 하나의 세트의 실시예들에서, 컨트롤러(224)는 컨트롤러가 사용자 입력 디바이스(224)를 통해 수신된 사용자 입력들을 처리하고 송신기(228)를 통해 송신될 적절한 신호를 결정하도록 유발하는 프로그램 코드를 실행할 수 있다.
송신기(228)는 무선 신호들과 같은 신호들을 신호 수신기(예를 들면, 수신기(222))에 송신하기 위한 하나 이상의 신호 송신 컴포넌트들을 포함할 수 있다. 하나의 세트의 실시예들에서, 송신기(228)는 특별히 IR신호를 송신하도록 적응된 컴포넌트들을 포함할 수 있다. 대안 실시예들에서, 송신기(228)는 다른 타입들의 신호들(예를 들면, RF 신호들)을 송신하기 위한 컴포넌트들을 포함할 수 있다.
시스템(200)은 예시적이고 본 발명의 실시예들을 제한하려는 것은 아니라는 것은 자명하다. 예를 들면, 호스트 디바이스(202), 액세서리(204), 및 원격 컨트롤(206)은 각각 다른 성능들을 가질 수 있고, 또는 구체적으로 설명되지 않은 다른 컴포넌트들을 포함할 수도 있다. 본 기술분야의 통상의 기술자라면 다수의 변동들, 변형들 및 대안들을 생각할 수 있을 것이다.
하나의 세트의 실시예들에서, 호스트 디바이스(202) 및 액세서리(204)는 통신 프로토콜에 따라 명령들 및 데이터를 교환함으로써 통신할 수 있다. 그러한 프로토콜의 예는 애플 인크에 의해 개발된 아이팟® 액세서리 프로토콜(iAP)이다. 하나의 양태에 따르면, 그 프로토콜은 호스트 디바이스(202)와 액세서리(204) 사이에서 송신되는 메시지들에 대한 포맷을 정의할 수 있다. 예를 들면, 그 프로토콜은 각 메시지가 헤더 및 옵션 페이로드를 가지는 패킷에서 전송되는 것을 지정할 수 있다. 헤더는 시작 표시자, 패킷의 길이, 및 수신자에 의해 처리될 명령과 같은 기본 정보를 제공할 수 있다. 페이로드는 그 명령과 연관된 데이터를 제공할 수 있다. 일부 실시예들에서, 연관된 데이터의 양은 상이한 명령들에 대해 상이할 수 있고, 일부 명령들은 가변-길이 페이로드들을 제공할 수도 있다.
또 하나의 양태에 따르면, 프로토콜은 다수의 "링고들"을 정의할 수 있고, 여기에서 "링고"는 일반적으로 관련된 명령들의 그룹을 지칭한다. 하나의 실시예에서, 명령은 명령이 속하는 링고를 식별하는 제1 바이트, 및 그 링고 내의 특정 명령을 식별하는 제2 바이트에 의해 고유하게 식별될 수 있다. 다른 명령 구조들이 또한 이용될 수도 있다. 모든 액세서리들, 또는 하나의 액세서리가 접속될 수 있는 모든 호스트 디바이스들이 프로토콜 내에 정의된 모든 링고 또는 특정 링고의 모든 명령을 지원하는 것이 요구되지는 않는다(예를 들면, 상이한 디바이스들은 주어진 링고의 상이한 버전들을 이용할 수도 있다).
하나의 세트의 실시예들에서, 프로토콜은 호스트 디바이스(202)와 액세서리(204) 사이의 일부 코어 통신 기능들을 가능하게 하는 일반적인 링고를 포함할 수 있다. 예를 들면, 일반적인 링고는 호스트 디바이스(202) 및 액세서리(204)가 서로에게 그 자신들을 식별할 수 있게 하고, (존재하는 경우에) 각각이 어느 다른 링고들을 지원하는지 및 접속된 동안에 각각이 나머지 디바이스의 어느 성능들을 이용하려고 하는지를 포함하여, 그들 각각의 성능들에 관한 정보를 제공할 수 있게 하는 명령들을 포함할 수 있다. 일반적인 링고는 또한 호스트 디바이스(202)가 액세서리(204)의 의도된 아이덴터티 및 성능들을 검증하는데 이용할 수 있는 인증 명령들을 포함할 수도 있다(또는 그 반대로도 가능하다). 일부 경우들에서, 액세서리(204)(또는 호스트 디바이스(202))는 인증이 성공하지 못하는 경우에 일부 명령들 또는 링고들을 유발하는 것이 차단될 수 있다.
추가 실시예들에서, 프로토콜은 하나의 호스트 디바이스와, 다양한 상이한 클래스들의 액세서리들 사이의 통신을 지원하는데 이용되는 하나 이상의 액세서리 링고들을 포함할 수 있다. 그러한 액세서리 링고들의 예들은 RF 튜너 링고, 버튼 상태 링고, 확장된 인터페이스 링고, 등을 포함한다. 특정 실시예에서, 프로토콜은 원격 제어 신호들을 학습하고 처리하기 위한 호스트 디바이스(202)와 액세서리(204) 사이의 상호동작을 지원하는 액세서리 링고를 포함할 수 있다. 이러한 링고에 포함된 명령들은 일반적으로 이하의 도 3-6을 참조하여 설명된 동작들을 반영할 수 있다.
상기 설명된 프로토콜(및 연관된 링고들 및 명령들)은 예시적이고 본 발명의 실시예들을 제한하려는 것이 아니라는 것은 자명하다. 예를 들면, 일부 명령들은 다른 명령들 또는 명령들의 조합으로 대체될 수 있다. 또한, 일부 링고들 및/또는 명령들은 특정 호스트 디바이스들 또는 액세서리들에 의해 지원되지 않을 수도 있다. 본 기술분야의 통상의 기술자라면 다수의 변동들, 변형들 및 대안들을 생각해 낼 수 있을 것이다.
상기 설명된 바와 같이, 본 발명의 실시예들은 호스트 디바이스(예를 들면, 도 2의 호스트 디바이스(202)) 및 액세서리(예를 들면, 액세서리(204))에 의한 원격 제어 신호들의 학습 및 처리를 용이하게 하는 기술들을 제공한다. 하나의 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 호스트 디바이스가 다양한 상이한 원격 컨트롤들로부터(그리고, 이들에 의해 원격으로 동작되는) 신호들을 학습할 수 있는 학습 모드로 동작할 수 있다. 예를 들면, 일부 실시예들에서, 호스트 디바이스는 호스트 디바이스 또는 액세서리와 특별히 상호동작하도록 설계되지 않았던 원격 컨트롤으로부터 신호들을 학습할 수 있다. 또 하나의 세트의 실시예들에서, 호스트 디바이스 및 액세서리는 2개의 디바이스들 사이에서 전달되는 데이터의 양을 최소화시키면서도 호스트 디바이스 및 액세서리가 학습된 원격 제어 신호들을 처리할 수 있는 처리 모드에서 동작할 수 있다.
도 3은 본 발명의 실시예에 따라 학습 모드에서 동작하는 동안에 호스트 디바이스(202)에 의해 수행되는 프로세스(300)의 흐름도이다. 프로세스(300)는 호스트 디바이스(202)에 의해 하드웨어, 소프트웨어 또는 그 조합으로 구현될 수 있다. 소프트웨어로서, 프로세스(300)는 머신-판독가능한 저장 매체 상에 저장된 프로그램 코드로서 인코딩될 수 있다.
블록 302에서, 호스트 디바이스(202)는 호스트 디바이스에 접속된 액세서리(예를 들면, 액세서리(204))와 통신을 확립할 수 있다. 하나의 세트의 실시예들에서, 이것은 상기 설명된 통신 프로토콜의 일반적인 링고를 이용하여 액세서리(204)를 식별하고 인증하는 것을 포함할 수 있다.
블록 304에서, 호스트 디바이스(202)는 액세서리(204)로부터 성능 정보를 획득할 수 있다. 예를 들면, 호스트 디바이스(202)는 액세서리(204)가 원격 제어 신호들을 수신하기 위한 수신기를 포함하는지 여부, 및 액세서리(204)가 상기 설명된 학습 및 처리 모드에서 동작할 수 있는지 여부를 나타내는 정보를 획득할 수 있다. 일부 실시예들에서, 프로세스(300)는 액세서리(204)가 이들 특정 성능들을 가지고 있지 않는 경우에 호스트 디바이스(202)에 의해 중지될 수 있다.
블록 306에서, 호스트 디바이스(202)는 학습 모드에 들어가고 액세서리(204)에게 학습 모드로 들어가도록 통지할 수 있다. 일부 실시예들에서, 호스트 디바이스(202)는 디바이스의 사용자에 의해 수동으로 학습 모드로 놓여질 수 있다. 예를 들면, 사용자는 호스트 디바이스(202)가 학습 모드로 전이하도록 명령하는 방식으로 호스트 디바이스(202)(또는 액세서리(204) 또는 원격 컨트롤)의 입력 디바이스를 동작시킬 수 있다. 다른 실시예들에서, 호스트 디바이스(202)는 선정된 이벤트의 발생시 또는 선정된 상태의 검출 시에 학습 모드로 자동으로 전이될 수 있다.
일단 학습 모드에 있는 경우, 호스트 디바이스(202)는 호스트 디바이스의 기능들과 원격 제어 신호들을 연관시킬 때 사용자를 가이드하도록 설계된 하나 이상의 사용자 인터페이스들을 생성할 수 있다. 예를 들면, 블록 308에서, 호스트 디바이스(202)는 사용자의 원격 컨트롤(예를 들면, 원격 컨트롤(206)) 상의 버튼(또는 다른 입력 컨트롤)과 연관되는 특정 기능을 선택하도록 사용자를 프롬프팅하는 제1 사용자 인터페이스를 생성할 수 있다. 구체적으로, 제1 사용자 인터페이스는 기능들의 리스트를 프리젠팅하고, 사용자가 그 리스트로부터 기능을 선택할 수 있게 할 수 있다. 일부 실시예들에서, 선택가능한 기능들의 리스트는 정적일 수 있다. 다른 실시예들에서, 선택가능한 기능들의 리스트는 호스트 디바이스(202)의 어플리케이션 컨텍스트에 기초하여 변화할 수 있다. 예를 들면, 호스트 디바이스(202)가 미디어 플레이어 어플리케이션을 운용하고 있는 동안에 학습 모드로 들어가는 경우, 선택가능한 기능들의 리스트는 "플레이(PLAY)", "중지(STOP)","되감기(REWIND)", "빨리감기(FAST FORWARD)" 및/또는 미디어 자산들을 재생할 때 통상적으로 이용되는 다른 기능들을 포함할 수 있다. 또 하나의 예로서, 호스트 디바이스(202)가 웹 브라우저 어플리케이션을 운용하고 있는 동안에 학습 모드로 들어가는 경우, 선택가능한 기능들의 리스트는 "홈(HOME)", "뒤로(BACK)", "앞으로(FORWARD)", "리프레시(REFRESH)", 및/또는 웹 페이지들을 네비게이팅하는데 통상 이용되는 다른 기능들을 포함할 수 있다.
블록 310에서, 호스트 디바이스(202)는 사용자로부터 하나의 기능의 선택을 수신할 수 있다. 그리고나서, 호스트 디바이스(202)는 선택된 기능과 연관된 원격 컨트롤(206) 상의 버튼을 활성화시키도록 사용자를 프롬프팅하는 제2 사용자 인터페이스를 생성할 수 있다(블록 312). 다양한 실시예들에서, 프로세스(300)는 블록 312에서, 사용자가 원격 컨트롤(206) 상의 버튼을 활성화시킬 때까지 대기할 수 있다. 일부 경우들에서, 사용자가 소정 시간 주기 내에 버튼을 활성화시키지 않는 경우, 타임-아웃 메시지가 사용자에게 표시될 수 있고 프로세스는 블록 308로 리턴할 수 있다.
블록들 308 및 312에서 기재된 사용자 인터페이스들은 예로 든 것이고 다양한 방식들로 변형될 수 있다는 것은 자명하다. 예를 들면, 일부 실시예들에서, 호스트 디바이스(202)는 블록 308마다 특정 기능을 선택하도록 사용자를 프롬프팅할 필요가 없을 수 있다. 오히려, 호스트 디바이스(202)는 기능들의 리스트의 각 기능에 대한 원격 제어 버튼을 순차적 순서로 활성화시키도록 사용자를 간단하게 프롬프팅할 수 있다. 또한, 사용자 인터페이스들은 다수의 상이한 방식들로 사용자에게 프리젠팅될 수 있다. 예를 들면, 하나의 실시예에서, 사용자 인터페이스들은 도 1에 도시된 터치 스크린 디스플레이(108)와 같은, 호스트 디바이스(202) 상의 디스플레이를 통해 사용자에게 시각적으로 프리젠팅될 수 있다. 또 하나의 실시예에서, 사용자 인터페이스들은 호스트 디바이스(202) 또는 액세서리(204)와 통신가능하게 결합되는 외부 표시 디바이스를 통해 사용자에게 시각적으로 프리젠팅될 수 있다. 또 하나의 실시에에서, 사용자 인터페이스들은 예를 들면 호스트 디바이스(202), 액세서리(204) 또는 외부 엔클로저(enclosure)에 통합된 스피커를 통해 청각적으로 사용자에게 프리젠팅될 수 있다.
일단 사용자가 블록 312에서의 프롬프트에 응답하여 원격 제어 버튼을 활성화시켰다면, 버튼 활성화 이벤트에 대응하는 신호가 원격 컨트롤(206)으로부터 액세서리(204)에 송신될 수 있다. 그리고나서, 호스트 디바이스(202)는 액세서리(204)로부터 신호의 표현을 수신하고 그 표현을 선택된 기능과 연관시킬 수 있다(블록들 314 및 316). 이와 같이, 호스트 디바이스(202)는 그 특정 신호가 원격 컨트롤(206)으로부터 다시 송신될 때마다(호스트 디바이스(202)가 처리 모드에 있는 동안에) 선택된 기능이 수행되어야 된다는 것을 학습할 수 있다.
블록 314에서 액세서리(204)로부터 수신된 신호 표현은 다수의 상이한 형태들을 취할 수 있고, 원격 컨트롤(206)에 의해 송신된 신호의 타입 및/또는 액세서리(204)의 구현에 기초하여 변화할 수 있다. 예를 들면, 신호가 IR 신호인 경우, 표현은 IR 신호의 파형(예를 들면, 구형파)을 인코딩하는 에지 시간들 또는 시간 샘플들의 시퀀스, 또는 IR 신호의 IR 프로토콜 타입 및 연관된 프로토콜 명령 또는 데이터 스트링를 포함할 수 있다. 다른 타입들의 신호 표현들(예를 들면, 본 기술분야에 주지된 바와 같음)이 또한 구현되고 이용될 수도 있다.
블록 318에서, 호스트 디바이스(202)는 표현 및 선택된 기능과 연관된 식별자를 생성할 수 있다. 대안적으로, 호스트 디바이스(202)는 식별자들의 선정된 리스트로부터 식별자를 선택할 수 있다. 그리고나서, 생성되거나 선택된 식별자가 저장될 수 있다. 하나의 세트의 실시예들에서, 식별자는 그 크기가 그 연관된 신호 표현보다 실질적으로 더 작을 수 있다. 상기 설명된 바와 같이(그리고, 이하의 도 5 및 6과 관련하여 더 상세하게 설명되는 바와 같이), 비교적 작은 크기의 식별자는 2개의 디바이스들 사이에서 전달되는 데이터의 양을 줄이거나 최소화시키면서도 호스트 디바이스(202) 및 액세서리(204)에 의한 학습된 원격 제어 신호들의 처리를 용이하게 할 수 있다.
블록 320에서, 호스트 디바이스(202)는 식별자를 액세서리(204)에게 송신할 수 있다. 그리고나서, 프로세스(300)는 블록 308로 리턴할 수 있고, 예를 들면 호스트 디바이스(202)는 원격 컨트롤(206) 상의 버튼과 연관되는 또 하나의 기능을 선택하도록 사용자를 프롬프팅할 수 있다. 프로세스(300)는 예를 들면 호스트 디바이스(202) 및 액세서리(204)가 분리될 때까지, 또는 사용자가 호스트 디바이스(202)에게 학습 모드로부터 나오도록 명령할 때가지 무한정 계속될 수 있다.
도 4는 본 발명의 실시예에 따라 학습 모드에 있는 동안에 액세서리(204)에 의해 수행되는 프로세스(400)의 흐름도이다. 하나의 세트의 실시예들에서, 프로세스(400)는 프로세스(300)가 호스트 디바이스(202)에 의해 수행되고 있는 동안에 액세서리(204)에 의해 수행될 수 있다. 프로세스(400)는 액세서리(204)에 의해 하드웨어, 소프트웨어 또는 그 조합으로 구현될 수 있다. 소프트웨어로서, 프로세스(400)는 머신-판독가능한 저장 매체 상에 저장된 프로그램 코드로서 인코딩될 수 있다.
블록 402에서, 액세서리(204)는 액세서리에 접속된 호스트 디바이스(예를 들면, 호스트 디바이스(202))와의 통신을 확립할 수 있다. 하나의 세트의 실시예들에서, 이것은 상기 설명된 통신 프로토콜의 일반적인 링고를 이용하여 호스트 디바이스(202)를 식별하고 인증하는 것을 포함할 수 있다.
블록 404에서, 액세서리(204)는 성능 정보를 호스트 디바이스(202)에 제공할 수 있다. 예를 들면, 액세서리(204)는 원격 제어 신호들을 수신하기 위한 수신기를 포함하는 지 여부, 및 상기 설명된 학습 및 처리 모드에서 동작할 수 있는 지 여부를 나타낼 수 있다. 일부 실시예들에서, 프로세스(400)는 액세서리(204)가 이들 특정 성능들을 가지고 있지 않는 경우에 호스트 디바이스(202) 또는 액세서리(204)에 의해 중지될 수 있다.
블록 406에서, 액세서리(204)는 학습 모드에 들어갈 수 있다. 하나의 세트의 실시예들에서, 액세서리(204)는 호스트 디바이스(202)로부터의 명령(예를 들면, 프로세스(300)의 블록 306에서 전송된 통지 명령)에 응답하여 학습 모드에 들어갈 수 있다. 대안적으로, 액세서리(204)는 사용자에 의해 수동으로 학습 모드로 들어가거나, 선정된 이벤트의 발생 또는 선정된 상태의 검출 시에 자동으로 학습 모드로 전이될 수 있다.
일단 학습 모드에 있는 경우, 액세서리(204)는 원격 컨트롤(206)과 같은 원격 컨트롤으로부터 신호를 수신할 수 있다(블록 408). 프로세스(300)에 대해 상기 설명된 바와 같이, 수신된 신호는 블록 312에서 프리젠팅된 프롬프트에 응답하여 사용자에 의해 개시되는 버튼 활성화 이벤트에 대응할 수 있다.
블록 410에서, 액세서리(204)는 수신된 신호를 처리하고 그 신호의 표현을 생성할 수 있다. 예를 들면, 신호가 IR 신호인 경우, 표현은 IR 신호의 파형을 인코딩하는 에지 시간들 또는 시간 샘프들의 시퀀스, 또는 IR 신호의 IR 프로토콜 타입 및 연관된 프로토콜 명령 또는 데이터 스트링를 포함할 수 있다. 다른 타입들의 신호 표현들(예를 들면, 본 기술분야에 주지된 바와 같음)이 또한 생성되고 이용될 수도 있다.
일단 표현이 생성되면, 액세서리(204)는 그 표현을 호스트 디바이스(202)에게 송신할 수 있다(블록 412). 그러므로, 호스트 디바이스(202)는 신호가 원격 컨트롤(206)으로부터 수신되었고 블록 310에서 사용자에 의해 선택된 기능과 연관된다는 것을 인지하게 될 것이다.
블록 414에서, 액세서리(204)는 호스트 디바이스(202)로부터 표현 및 선택된 기능과 연관된 식별자를 수신할 수 있다. 다양한 실시예들에서, 이러한 식별자는 블록 318에서 호스트 디바이스(202)에 의해 생성된 식별자에 대응한다. 그리고나서, 액세서리(204)는 신호의 식별자 및 표현을 저장할 수 있다(블록 416). 이하의 도 5 및 6과 관련하여 더 상세하게 설명되는 바와 같이, 이러한 저장된 식별자/표현 정보는 액세서리(204)에 의해 처리 모드에서 이용되어, 동일한 신호가 다시 수신되는 때를 결정하고 이에 따라 호스트 디바이스(202)에 통지할 수 있다.
일단 식별자 및 표현이 저장되었다면, 프로세스(400)는 블록 408로 리턴할 수 있다. 예를 들면, 액세서리(204)는 학습되어야 되는 원격 컨트롤(206)으로부터 또 하나의 신호를 수신할 수 있다. 프로세스(400)는 예를 들면 호스트 디바이스(202) 및 액세서리(204)가 분리될 때까지, 또는 사용자가 호스트 디바이스(202)(또는 액세서리(204))에게 학습 모드로부터 나오라고 명령할 때까지 무한정으로 계속될 수 있다.
프로세스들(300 및 400)은 예시적이고 변동들 및 변형들이 가능하다는 것은 자명하다. 순차적인 것으로 기재된 단계들은 병렬로 실행될 수 있고, 단계들의 순서는 변화될 수 있으며, 단계들은 변형되고, 조합되며, 추가되거나 생략될 수도 있다. 예를 들면, 일부 실시예들에서, 호스트 디바이스(202)는 프로세스(300)의 블록 320에서 원격 제어 신호의 제2 표현을 액세서리(204)에게 송신할 수 있다. 이러한 제2 표현은 블록 314에서 호스트 디바이스(202)에 의해 액세서리(204)로부터 수신된 제1 표현과 동일하거나 그렇지 않을 수 있다. 그리고나서, 액세서리(204)는 프로세스(400)의 블록 416에서 식별자와 제2 표현을 저장할 수 있다.
이러한 제2 표현을 송신함으로써, 호스트 디바이스(202)는 일부 실시예들에서, 처리 모드에 있는 경우에 그 특정 신호가 다시 수신되는지 여부를 결정하는 방법에 관한 추가 세부사항들을 액세서리(204)에게 제공할 수 있다. 예를 들면, 제2 표현은 새롭게 수신된 신호들의 표현들과 제2 표현을 비교하기 위한 에러 허용한도를 나타내는 에러 허용한도 정보를 포함할 수 있다. 2개의 표현들 사이의 차이가 지정된 허용한도 이내에 있는 경우, 액세서리(204)는 2개의 표현들이 동일한 것으로 간주하고 그러한 취지로 호스트 디바이스(202)에게 통지할 수 있다.
도 5는 본 발명의 실시예에 따라 처리 모드에서 동작하고 있는 동안에 호스트 디바이스(202)에 의해 수행되는 프로세스(500)의 흐름도이다. 프로세스(500)는 호스트 디바이스(202)에 의해 하드웨어, 소프트웨어 또는 그 조합으로 구현될 수 있다. 소프트웨어로서, 프로세스(500)는 머신-판독가능한 저장 매체 상에 저장된 프로그램 코드로서 인코딩될 수 있다.
블록들 502 및 504에서, 호스트 디바이스(202)는 액세서리(예를 들면, 액세서리(204))와 통신을 확립할 수 있고 프로세스(300)의 블록들 302 및 304와 유사한 방식으로 액세서리로부터 성능 정보를 획득할 수 있다.
블록 506에서, 호스트 디바이스(202)는 처리 모드에 들어가고 액세서리(204)에게 처리 모드에 들어가도록 통지한다. 일부 실시예들에서, 호스트 디바이스(202)는 디바이스의 사용자에 의해 수동으로 처리 모드로 놓여질 수도 있다. 예를 들면, 사용자는 호스트 디바이스(202)에게 처리 모드로 전이하도록 명령하는 방식으로 호스트 디바이스(202)(또는 액세서리(204) 또는 원격 컨트롤)의 입력 디바이스를 동작시킬 수 있다. 다른 실시예들에서, 호스트 디바이스(202)는 학습 모드에서 동작하고 있지 않는 경우에 디폴트로 처리 모드로 동작할 수 있다.
블록 508에서, 호스트 디바이스(202)는 학습 모드에서 이전에 액세서리에 송신되었던 식별자를 액세서리(204)로부터 수신할 수 있다(예를 들면, 프로세스(300)의 블록 320에서). 일반적으로 말하면, 이러한 식별자의 수신은, 학습 모드에서 그 식별자와 연관된 원격 제어 신호가 처리 모드에서 액세서리(204)에 의해 다시 수신되었다는 것을 나타낸다. 액세서리(204)는 블록 508에서 식별자와 연관된 신호의 표현을 송신할 필요가 없고, 오히려 식별자 단독의 송신은 어느 신호가 액세서리(204)에 의해 수신되었는지를 호스트 디바이스가(202)가 인식하기에 충분하다는 것은 자명하다. 식별자의 수신 시에, 호스트 디바이스(202)는 그 식별자와 연관된 기능을 실행할 수 있다(블록 510).
일부 실시예들에서, 호스트 디바이스(202)는 기능이 실행되었다는 것을 나타내는 승인을 액세서리(204)에 송신할 수 있다(블록 512). 그리고나서, 프로세스(500)는 블록 508로 리턴하고, 예를 들면 호스트 디바이스(202)는 액세서리(204)로부터 추가적인 원격 제어 신호들에 대응하는 추가 식별자들을 수신할 수 있다. 프로세스(500)는 예를 들면 호스트 디바이스(202) 및 액세서리(204)가 분리될 때까지, 또는 사용자가 호스트 디바이스(202)에게 처리 모드에서 나오도록 명령할 때까지 무한정으로 계속될 수 있다.
도 6은 본 발명의 실시예에 따라 처리 모드에서 동작하고 있는 동안에 액세서리(204)에 의해 수행되는 프로세스(600)의 흐름도이다. 하나의 세트의 실시예들에서, 프로세스(600)는, 프로세스(500)가 호스트 디바이스(202)에 의해 수행되고 있는 동안에 액세서리(204)에 의해 수행될 수 있다. 프로세스(600)는 액세서리(204)에 의해 하드웨어, 소프트웨어, 또는 그 조합으로 구현될 수 있다. 소프트웨어로서, 프로세스(600)는 머신-판독가능한 저장 매체 상에 저장된 프로그램 코드로서 인코딩될 수 있다.
블록들 602 및 604에서, 액세서리(204)는 호스트 디바이스(예를 들면, 호스트 디바이스(202))와 통신을 확립하고 프로세스(400)의 블록들 402 및 404와 유사한 방식으로 호스트 디바이스에게 성능 정보를 제공할 수 있다.
블록 606에서, 액세서리(204)는 처리 모드에 들어갈 수 있다. 하나의 세트의 실시예들에서, 액세서리(204)는 호스트 디바이스(202)의 명령(예를 들면, 프로세스(500)의 블록 506에서 전송된 통지 명령)에 응답하여 처리 모드에 들어갈 수 있다. 대안적으로, 액세서리는 사용자에 의해 수동으로 처리 모드에 놓여질 수 있고, 또는 학습 모드로 동작하고 있지 않는 경우에 디폴트로 처리 모드로 동작할 수 있다.
일단 처리 모드인 경우에, 액세서리(204)는 원격 컨트롤(206)과 같은 원격 컨트롤으로부터 신호를 수신할 수 있다(블록 608). 다양한 실시예들에서, 신호는 그 버튼과 이전에 연관된(예를 들면, 학습 모드에서) 기능을 실행하기 위해 사용자에 의해 개시되는 버튼 활성화 이벤트에 대응할 수 있다. 그리고나서, 액세서리(204)는 수신된 신호의 표현을 생성할 수 있고, 그 표현과, 프로세스(400)의 블록 416에서 저장된 표현들을 비교할 수 있다(블록들 610 및 612). 이와 같은 방식으로, 액세서리(204)는 수신된 신호가 이전에 학습된 원격 제어 신호와 동일한 지(또는 실질적으로 유사한 지) 여부를 결정할 수 있다.
수신된 신호의 표현과 매칭하는 저장된 신호 표현이 발견되는 경우, 액세서리(204)는 저장된 표현과 연관된 식별자를 호스트 디바이스(202)에게 송신할 수 있다(블록들 614 및 618). 그러므로, 액세서리(204)는 호스트 디바이스(202)에게 그 식별자와 연관된 기능이 실행되어야 된다는 것을 통지할 수 있다. 액세서리(204)는 비교적 작은 식별자만(전체 신호 표현보다는)을 호스트 디바이스(202)에게 송신하는 것이 필요하므로, 액세서리와 호스트 디바이스 사이에서 전달되는 데이터의 양은 비교적 작을 수 있다. 따라서, 액세서리(204) 및 호스트 디바이스(202)는 2개의 디바이스들 사이의 통신 채널을 포화시키지 않고서도 프로세스들(500 및 600)마다 학습된 원격 제어 신호들을 처리할 수 있다.
수신된 신호의 표현과 매칭하는 어떠한 저장된 신호 표현도 발견되지 않는 경우, 액세서리(204)는 단순히 신호를 무시할 수 있다(블록들 614 및 616). 일부 실시예들에서, 액세서리(204)는 사용자에게, 신호가 무시되었다는 것을 나타낼 수 있다(예를 들면, 에러 심볼 또는 라이트를 표시하고, 가청 톤을 생성하는 등이 가능하다). 어느 경우(블록 616 또는 블록 618)든, 프로세스(600)는 블록 608로 리턴할 수 있다. 예를 들면, 액세서리(204)는 처리를 위해 원격 컨트롤(206)으로부터 또 하나의 신호를 수신할 수 있다. 프로세스(600)는 예를 들면 호스트 디바이스(202) 및 액세서리(204)가 분리될 때까지, 또는 사용자가 호스트 디바이스(202)(또는 액세서리(206))에게 처리 모드에서 나오도록 명령할 때까지 무한정으로 계속될 수 있다.
프로세스들(500 및 600)은 예시적이고 본 발명의 실시예들을 제한하려는 것이 아니라는 것은 자명하다. 순차적으로 기재된 단계들은 병렬로 실행될 수 있고, 단계들의 순서는 변화될 수 있으며, 단계들은 변형되고, 조합되며, 추가되거나 생략될 수 있다.
본 발명이 특정 실시예들과 관련하여 설명되었지만, 본 기술분야의 숙련자라면, 다수의 변형들이 가능하다는 것을 알고 있을 것이다. 일부 실시예들에서, 호스트 디바이스 및/또는 액세서리의 회로들, 프로세서들 및/또는 다른 컴포넌트들은 여기에 기재된 다양한 동작들을 수행하도록 구성될 수 있다. 본 기술분야의 숙련자들이라면, 구현에 따라 그러한 구성은 특정 컴포넌트들의 설계, 셋업, 상호접속 및/또는 프로그래밍을 통해 달성될 수 있고, 다시 구현에 따라, 구성된 컴포넌트는 상이한 동작을 통해 재구성가능하거나 그렇지 않을 수도 있다는 것을 잘 알고 있을 것이다. 예를 들면, 프로그램가능한 프로세서는 적합한 실행가능한 코드를 제공함으로써 구성될 수 있고, 전용 로직 회로는 적합하게 접속되는 로직 게이트들 및 다른 회로 소자들에 의해 구성될 수 있다. 또한, 상기 기재된 실시예들이 특정 하드웨어 및 소프트웨어 컴포넌트들을 참고할 수 있지만, 본 기술분야의 숙련자들이라면, 하드웨어 및/또는 소프트웨어 컴포넌트들의 상이한 조합들이 이용될 수도 있고 하드웨어로 구현된 것으로 기재된 특정 동작들은 소프트웨어로 또는 그 반대로 구현될 수 있다는 것을 잘 알고 있을 것이다.
여기에 기재된 일부 또는 모든 특징들을 포함하는 컴퓨터 프로그램들은 다양한 머신 판독가능한 저장 매체 상에 인코딩될 수 있고, 적합한 매체는 자기 디스크(하드 디스크를 포함함) 또는 테이프, 컴팩트 디스크(CD) 또는 DVD(디지털 다기능 디스크)와 같은 광 저장 매체, 플래시 메모리, 등을 포함한다. 프로그램 코드로 인코딩되는 머신 판독가능한 저장 매체는 양립가능한 디바이스와 패키징되거나 다른 디바이스들로부터 분리되어 제공될 수 있다. 뿐만 아니라, 프로그램 코드는 인코딩되어 유선, 광학 및/또는 인터넷을 포함하여 다양한 프로토콜에 따른 무선 네트워크들을 통해 송신되고, 그럼으로써 예를 들면 인터넷 다운로드를 통한 배포를 허용한다.
그러므로, 본 발명이 특정 실시예들과 관련하여 설명되었지만, 본 발명은 이하의 청구항들의 범주 내의 모든 변형들 및 등가물들을 커버하려 한다는 것은 자명하다.

Claims (20)

  1. 액세서리에서, 원격 제어 디바이스로부터 제1 무선 신호를 수신하는 단계;
    상기 액세서리에 의해, 상기 제1 무선 신호의 표현을 호스트 디바이스에 송신하는 단계;
    상기 액세서리에서, 상기 호스트 디바이스로부터 식별자를 수신하는 단계 - 상기 식별자는 상기 제1 무선 신호의 표현과 상기 호스트 디바이스의 기능과 연관됨 -; 및
    상기 액세서리에 의해, 상기 식별자 및 상기 제1 무선 신호의 표현을 저장하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 액세서리에서, 상기 원격 제어 디바이스로부터 제2 무선 신호를 수신하는 단계;
    상기 제1 무선 신호의 저장된 표현에 기초하여, 상기 제2 무선 신호가 상기 제1 무선 신호와 실질적으로 유사한 지를 결정하는 단계; 및
    상기 제2 무선 신호가 상기 제1 무선 신호와 실질적으로 유사한 경우에, 상기 식별자를 상기 호스트 디바이스에 송신하는 단계
    를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 제1 무선 신호는 적외선(IR) 신호이고, 상기 표현은 상기 IR 신호의 파형을 인코딩하는 시간 샘플들, 상기 IR 신호의 파형을 인코딩하는 에지 시간들의 시퀀스, 또는 상기 IR 신호의 IR 프로토콜 타입 및 연관된 프로토콜 명령 스트링을 포함하는 방법.
  4. 제1항에 있어서, 상기 원격 제어 디바이스는 상기 액세서리 및 상기 호스트 디바이스 이외의 디바이스를 제어하도록 설계되는 방법.
  5. 제1항에 있어서, 상기 호스트 디바이스는 휴대용 미디어 디바이스이고, 상기 액세서리는 휴대용 미디어 디바이스 독크(dock)인 방법.
  6. 호스트 디바이스에서, 액세서리로부터 무선 신호의 표현을 수신하는 단계 - 상기 무선 신호는 원격 제어 디바이스로부터 상기 액세서리에 송신됨 -;
    상기 무선 신호의 표현을 상기 호스트 디바이스의 기능과 연관시키는 단계;
    상기 호스트 디바이스에 의해, 상기 표현 및 상기 기능과 연관된 식별자를 생성하는 단계; 및
    상기 호스트 디바이스에 의해, 상기 식별자를 상기 액세서리에 송신하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서, 상기 식별자 및 상기 기능을 저장하는 단계를 더 포함하는 방법.
  8. 제6항에 있어서,
    상기 호스트 디바이스에서, 상기 액세서리로부터 상기 식별자를 수신하는 단계; 및
    상기 식별자를 수신한 것에 응답하여 상기 기능을 실행하는 단계
    를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 호스트 디바이스에 의해, 상기 기능이 실행되었다는 것을 나타내는 승인을 상기 액세서리에 송신하는 단계를 더 포함하는 방법.
  10. 제8항에 있어서, 상기 무선 신호는 사용자에 의한 상기 원격 제어 디바이스 상의 버튼의 활성화에 응답하여 상기 원격 제어 디바이스로부터 상기 액세서리에 송신되고, 상기 기능은 상기 버튼과의 연관을 위해 상기 사용자에 의해 이전에 선택된 방법.
  11. 액세서리에 있어서,
    무선 신호들을 수신하도록 구성된 무선 수신기;
    호스트 디바이스와 통신하도록 구성된 인터페이스; 및
    상기 호스트 디바이스에게, 상기 무선 수신기에 의해 수신된 무선 신호의 특성을 송신하고, 상기 호스트 디바이스로부터, 상기 특성 및 상기 호스트 디바이스의 기능과 연관된 식별자를 수신하며, 상기 특성을 가지는 후속 무선 신호가 수신되는 경우에 상기 식별자를 상기 호스트 디바이스에게 송신하도록 구성된 제어 컴포넌트
    를 포함하는 액세서리.
  12. 제11항에 있어서, 상기 무선 신호의 특성을 송신하고 상기 식별자를 수신하는 단계는, 상기 제어 컴포넌트가 제1 모드에서 동작하고 있는 동안에, 상기 제어 컴포넌트에 의해 수행되고, 상기 식별자를 송신하는 단계는, 상기 제어 컴포넌트가 상기 제1 모드와 상이한 제2 모드로 동작하고 있는 동안에, 상기 제어 컴포넌트에 의해 수행되는 액세서리.
  13. 제12항에 있어서, 상기 제어 컴포넌트는 상기 호스트 디바이스에 의해 상기 제1 및 제2 모드로 각각 들어가도록 지시되는 액세서리.
  14. 호스트 디바이스에 있어서,
    액세서리와 통신하도록 구성된 인터페이스; 및
    상기 액세서리에게, 무선 신호의 특성 및 상기 호스트 디바이스의 기능과 연관된 식별자를 송신하고, 상기 식별자를 송신하는 것에 이어서 상기 액세서리로부터 상기 식별자를 수신하며, 상기 식별자를 수신하는 것에 응답하여 상기 기능을 실행하도록 구성된 프로세서
    를 포함하는 호스트 디바이스.
  15. 제14항에 있어서, 상기 식별자를 송신하는 단계는, 상기 프로세서가 제1 모드에서 동작하고 있는 동안에, 상기 프로세서에 의해 수행되고, 상기 식별자를 수신하고 상기 기능을 실행하는 단계들은, 상기 프로세서가 상기 제1 모드와 상이한 제2 모드로 동작하고 있는 동안에 상기 프로세서에 의해 수행되는 호스트 디바이스.
  16. 제15항에 있어서, 상기 프로세서는 사용자 입력에 기초하여 상기 제1 및 제2 모드로 각각 들어가도록 구성되는 호스트 디바이스.
  17. 호스트 디바이스에 의해, 제1 동작 모드에 들어가는 단계;
    상기 호스트 디바이스에 의해, 액세서리가 상기 제1 동작 모드에 들어가도록 지시하는 명령을 상기 액세서리로 송신하는 단계; 및
    상기 제1 동작 모드 동안에,
    상기 호스트 디바이스에 의해, 선택가능한 기능들의 리스트로부터 상기 호스트 디바이스의 기능을 선택하도록 사용자를 프롬프팅하는 단계,
    상기 호스트 디바이스에 의해, 상기 사용자로부터 하나의 기능의 선택을 수신하는 단계,
    상기 호스트 디바이스에 의해, 상기 선택된 기능과 연관되는 원격 제어 디바이스 상의 버튼을 활성화시키도록 상기 사용자를 프롬프팅하는 단계,
    상기 호스트 디바이스에 의해, 상기 액세서리로부터 무선 신호의 표현을 수신하는 단계 - 상기 무선 신호는 상기 버튼의 활성화에 응답하여 상기 원격 제어 디바이스로부터 상기 액세서리에 송신됨 -,
    상기 호스트 디바이스에 의해, 상기 표현 및 상기 선택된 기능과 연관된 식별자를 생성하는 단계, 및
    상기 호스트 디바이스에 의해 상기 식별자를 상기 액세서리에 송신하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 호스트 디바이스에 의해, 상기 제1 동작 모드와 상이한 제2 동작 모드에 들어가는 단계;
    상기 호스트 디바이스에 의해, 상기 액세서리가 상기 제2 동작 모드에 들어가도록 지시하는 명령을 상기 액세서리에 송신하는 단계; 및
    상기 제2 동작 모드 동안에,
    상기 호스트 디바이스에 의해, 상기 액세서리로부터 상기 식별자를 수신하는 단계, 및
    상기 호스트 디바이스에 의해, 상기 식별자를 수신한 것에 응답하여 상기 선택된 기능을 실행하는 단계
    를 더 포함하는 방법.
  19. 제17항에 있어서, 상기 선택가능한 기능들의 리스트는 정적인 방법.
  20. 제17항에 있어서, 상기 선택가능한 기능들의 리스트는 상기 제1 동작 모드가 들어가는 때에 상기 호스트 디바이스의 어플리케이션 컨텍스트에 기초하여 변화하는 방법.
KR1020117029288A 2009-05-08 2010-04-07 호스트 디바이스 및 액세서리에 의한 원격 제어 신호 학습 및 처리 KR101303474B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/437,947 2009-05-08
US12/437,947 US8760265B2 (en) 2009-05-08 2009-05-08 Remote control signal learning and processing by a host device and accessory
PCT/US2010/030293 WO2010129130A1 (en) 2009-05-08 2010-04-07 Remote control signal learning and processing by a host device and accessory

Publications (2)

Publication Number Publication Date
KR20120024726A KR20120024726A (ko) 2012-03-14
KR101303474B1 true KR101303474B1 (ko) 2013-09-09

Family

ID=42236776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117029288A KR101303474B1 (ko) 2009-05-08 2010-04-07 호스트 디바이스 및 액세서리에 의한 원격 제어 신호 학습 및 처리

Country Status (9)

Country Link
US (1) US8760265B2 (ko)
EP (1) EP2427875B1 (ko)
JP (1) JP5349685B2 (ko)
KR (1) KR101303474B1 (ko)
CN (1) CN101882366B (ko)
AU (1) AU2010245168B2 (ko)
GB (1) GB2470110B (ko)
HK (1) HK1150369A1 (ko)
WO (1) WO2010129130A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621098B2 (en) * 2009-12-10 2013-12-31 At&T Intellectual Property I, L.P. Method and apparatus for providing media content using a mobile device
US9786159B2 (en) * 2010-07-23 2017-10-10 Tivo Solutions Inc. Multi-function remote control device
CN102685409A (zh) * 2011-03-08 2012-09-19 青岛海信电器股份有限公司 遥控器的遥控方法和装置
FR2973918B1 (fr) * 2011-04-08 2013-04-26 Schneider Electric Ind Sas Dispositif de commande a distance d'un appareil electrique et procede pour la mise en service de ce dispositif
US9157953B2 (en) 2011-05-13 2015-10-13 Apple Inc. Test systems with cables that support multiple communications buses
US9257040B2 (en) * 2011-06-30 2016-02-09 Flirc, Inc. Method and device for learning and playing back electromagnetic signals
US9537336B2 (en) 2011-12-30 2017-01-03 Makita Corporation Battery system for a power tool, as well as battery holder therefor, charger, and charging system
CN102930710A (zh) * 2012-10-25 2013-02-13 Tcl通力电子(惠州)有限公司 手机实现红外遥控的方法及装置
US9781496B2 (en) 2012-10-25 2017-10-03 Milwaukee Electric Tool Corporation Worksite audio device with wireless interface
US20160175189A1 (en) * 2013-04-08 2016-06-23 Robert Louis Fils Method, system and apparatus for communicating with an electronic device and a stereo housing
US9730268B2 (en) * 2013-06-07 2017-08-08 Apple Inc. Communication between host and accessory devices using accessory protocols via wireless transport
CN103546832B (zh) * 2013-10-17 2016-05-18 北京闪联云视信息技术有限公司 家电设备遥控器的匹配方法和系统
USD741795S1 (en) 2013-10-25 2015-10-27 Milwaukee Electric Tool Corporation Radio charger
US9716861B1 (en) 2014-03-07 2017-07-25 Steelcase Inc. Method and system for facilitating collaboration sessions
US10664772B1 (en) 2014-03-07 2020-05-26 Steelcase Inc. Method and system for facilitating collaboration sessions
US9575508B2 (en) * 2014-04-21 2017-02-21 Apple Inc. Impact and contactless gesture inputs for docking stations
US9955318B1 (en) 2014-06-05 2018-04-24 Steelcase Inc. Space guidance and management system and method
US9380682B2 (en) 2014-06-05 2016-06-28 Steelcase Inc. Environment optimization for space based on presence and activities
US9766079B1 (en) 2014-10-03 2017-09-19 Steelcase Inc. Method and system for locating resources and communicating within an enterprise
US10433646B1 (en) 2014-06-06 2019-10-08 Steelcaase Inc. Microclimate control systems and methods
US11744376B2 (en) 2014-06-06 2023-09-05 Steelcase Inc. Microclimate control systems and methods
US9852388B1 (en) 2014-10-03 2017-12-26 Steelcase, Inc. Method and system for locating resources and communicating within an enterprise
US9892628B2 (en) 2014-10-14 2018-02-13 Logitech Europe S.A. Method of controlling an electronic device
US10733371B1 (en) 2015-06-02 2020-08-04 Steelcase Inc. Template based content preparation system for use with a plurality of space types
US9921726B1 (en) 2016-06-03 2018-03-20 Steelcase Inc. Smart workstation method and system
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
CA3049201A1 (en) * 2017-01-03 2018-07-12 Rovi Guides, Inc. Systems and methods for predicting viewing behavior
CN208141596U (zh) * 2018-04-28 2018-11-23 施耐德电气(澳大利亚)有限公司 用于开关的信号装置
US12118178B1 (en) 2020-04-08 2024-10-15 Steelcase Inc. Wayfinding services method and apparatus
US11984739B1 (en) 2020-07-31 2024-05-14 Steelcase Inc. Remote power systems, apparatus and methods
CN112735112A (zh) * 2020-12-21 2021-04-30 福建星网天合智能科技有限公司 一种红外码学习方法、装置、系统、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070077784A1 (en) 2005-08-01 2007-04-05 Universal Electronics Inc. System and method for accessing a user interface via a secondary device
US20070230910A1 (en) 2006-03-04 2007-10-04 Innosys Incorporated Apparatus and Method for Two-Way Remote Control and Cradle or Adaptor to Control an A/V Media Player

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4567557A (en) * 1983-02-23 1986-01-28 Burns Martin J Building intelligence system
US5109222A (en) * 1989-03-27 1992-04-28 John Welty Remote control system for control of electrically operable equipment in people occupiable structures
US5530435A (en) * 1993-12-09 1996-06-25 Steelcase Inc. Utility distribution system for modular furniture and the like
US6021324A (en) * 1995-06-08 2000-02-01 Lucent Technologies Inc. System and apparatus for controlling an appliance situated within a premises using premises recording unit
US5877957A (en) * 1996-11-06 1999-03-02 Ameritech Services, Inc. Method and system of programming at least one appliance to change state upon the occurrence of a trigger event
US5963624A (en) * 1997-12-05 1999-10-05 Zilog, Inc. Digital cordless telephone with remote control feature
US6400968B1 (en) * 1998-05-04 2002-06-04 Conexant Systems, Inc. System and method for extending the range of a base unit
US6157319A (en) * 1998-07-23 2000-12-05 Universal Electronics Inc. Universal remote control system with device activated setup
JP2001025077A (ja) 1999-06-14 2001-01-26 Huabang Electronic Co Ltd パーソナル・コンピュータに一つ以上の装置を制御させる方法及びシステム
US6567032B1 (en) * 1999-06-30 2003-05-20 International Business Machines Corp. Method of directing communication between addressable targets using a generalized pointing device
US6229433B1 (en) * 1999-07-30 2001-05-08 X-10 Ltd. Appliance control
EP1100243A3 (en) * 1999-11-12 2004-03-17 Sony Corporation Telephone set, communication adaptor, home appliance control method, and program recording medium
WO2001039150A2 (en) * 1999-11-26 2001-05-31 Koninklijke Philips Electronics N.V. Method and system for programming a universal remote controller
US6717528B1 (en) * 2000-02-17 2004-04-06 International Business Machines Corporation System and method for dynamic feedback projection from a hand-held pointing device
ATE317564T1 (de) * 2000-04-10 2006-02-15 Zensys As Rf-gesteuertes hausautomatisierungssystem mit doppelfunktionalen netzknoten
AU2001279241A1 (en) * 2000-08-09 2002-02-18 Statsignal Systems, Inc. Systems and methods for providing remote monitoring of electricity consumption for an electric meter
US7042366B1 (en) * 2000-09-06 2006-05-09 Zilog, Inc. Use of remote controls for audio-video equipment to control other devices
JP2004513271A (ja) * 2000-10-20 2004-04-30 ブルー ソルテック カンパニー リミティッド 無線通信を利用したドア制御システム及び屋内家電制御システム
US6998997B2 (en) * 2002-05-30 2006-02-14 X10 Wireless Technology, Inc. System and method for learning macro routines in a remote control
US6998955B2 (en) * 2002-08-09 2006-02-14 Ballew Michael A Virtual electronic remote control device
WO2004077729A2 (en) * 2003-02-21 2004-09-10 Johnson Controls Technology Company Trainable remote controller and method for determining the frequency of a learned control signal
US7006006B2 (en) * 2002-12-05 2006-02-28 Witkow Edward H System and method for controlling home entertainment units with radio frequency and infrared signals
US20040203387A1 (en) * 2003-03-31 2004-10-14 Sbc Knowledge Ventures, L.P. System and method for controlling appliances with a wireless data enabled remote control
JP3953039B2 (ja) 2003-05-26 2007-08-01 オンキヨー株式会社 リモートコントロールシステム及びそのプログラム
US7224275B2 (en) * 2003-05-29 2007-05-29 The Chamberlain Group, Inc. Movable barrier operators status condition transception apparatus and method
US7183940B2 (en) * 2003-07-30 2007-02-27 Lear Corporation Radio relay appliance activation
US7589642B1 (en) * 2003-12-16 2009-09-15 Uei Cayman Inc. Relaying key code signals through a remote control device
US7397342B2 (en) * 2004-02-19 2008-07-08 Wayne-Dalton Corp. Operating system for a motorized barrier operator with a radio frequency energized light kit and/or switch and methods for programming the same
US7123715B2 (en) * 2004-04-13 2006-10-17 Alco Electronics Limited Telephone apparatus
US7266344B2 (en) * 2004-06-02 2007-09-04 Wayne-Dalton Corp. Remotely activated bridge device for use with a home network and methods for programming and using the same
US7548748B2 (en) 2004-12-13 2009-06-16 Sony Ericsson Mobile Communications Ab Programmable remote unit for operating a communication device
US7823214B2 (en) * 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
JP2006333349A (ja) 2005-05-30 2006-12-07 Sony Corp コード変換装置及びコード変換方法
US20090044137A1 (en) * 2005-06-09 2009-02-12 Whirlpool Corporation Consumable holder with user interface data
EP1904462A2 (de) * 2005-07-15 2008-04-02 Bayer Schering Pharma Aktiengesellschaft Perfluoralkylhaltige komplexe, verfahren zu deren herstellung, sowie deren verwendung
AU2005222552B1 (en) * 2005-09-29 2006-04-27 Xitel Pty Limited Control apparatus and method
US20070080823A1 (en) * 2005-10-07 2007-04-12 Apple Computer, Inc. Techniques for pairing remote controllers with host devices
US20070288966A1 (en) * 2006-04-04 2007-12-13 Sasha Javid Method and system for personalized media players
US7813715B2 (en) * 2006-08-30 2010-10-12 Apple Inc. Automated pairing of wireless accessories with host devices
WO2008030711A2 (en) * 2006-09-05 2008-03-13 Hunter Douglas Inc. System and method for dual media control of remote devices
US10037781B2 (en) * 2006-10-13 2018-07-31 Koninklijke Philips N.V. Interface systems for portable digital media storage and playback devices
EP1942393A1 (en) 2007-01-05 2008-07-09 Harron SA Remote system for portable audio player
US8078787B2 (en) * 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
WO2009032708A2 (en) * 2007-09-04 2009-03-12 Apple Inc. Protocol for remote user interface for portable media device
US8736427B2 (en) * 2008-09-03 2014-05-27 Apple Inc. Intelligent infrared remote pairing
US8484728B2 (en) * 2009-06-03 2013-07-09 Apple Inc. Managing securely installed applications
US8620967B2 (en) * 2009-06-11 2013-12-31 Rovi Technologies Corporation Managing metadata for occurrences of a recording

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070077784A1 (en) 2005-08-01 2007-04-05 Universal Electronics Inc. System and method for accessing a user interface via a secondary device
US20070230910A1 (en) 2006-03-04 2007-10-04 Innosys Incorporated Apparatus and Method for Two-Way Remote Control and Cradle or Adaptor to Control an A/V Media Player

Also Published As

Publication number Publication date
HK1150369A1 (en) 2011-12-16
CN101882366B (zh) 2013-03-20
US20100283624A1 (en) 2010-11-11
GB2470110B (en) 2011-10-05
JP2012526453A (ja) 2012-10-25
WO2010129130A1 (en) 2010-11-11
US8760265B2 (en) 2014-06-24
AU2010245168B2 (en) 2015-04-09
EP2427875A1 (en) 2012-03-14
EP2427875B1 (en) 2015-03-04
CN101882366A (zh) 2010-11-10
KR20120024726A (ko) 2012-03-14
AU2010245168A1 (en) 2011-11-17
GB201007287D0 (en) 2010-06-16
JP5349685B2 (ja) 2013-11-20
GB2470110A (en) 2010-11-10

Similar Documents

Publication Publication Date Title
KR101303474B1 (ko) 호스트 디바이스 및 액세서리에 의한 원격 제어 신호 학습 및 처리
US11086596B2 (en) Electronic device, server and control method thereof
EP2078384B1 (en) Remote control of device with media player wirelessly connected to a display
US20190304448A1 (en) Audio playback device and voice control method thereof
CN105204894A (zh) 安装智能设备的插件的方法和装置
KR20140019863A (ko) 액세서리와 복수의 디바이스들 사이의 상호동작을 용이하게 하기 위한 기술들
CN107209657B (zh) 再现装置以及输出装置
CN107801074B (zh) 显示系统及其控制方法
CN105163053A (zh) 视频投射方法及装置
CN105281948A (zh) 事件处理方法及装置
US20140013225A1 (en) Digital media controller and method for controlling a digital media system
KR100653207B1 (ko) 이동통신 단말기를 이용한 홈 네트워크 구축 방법 및 상기방법을 수행하는 이동통신 단말기
US20090182904A1 (en) System and Method for Providing Peripheral Device Functionality
US8781406B2 (en) Receiving apparatus
JP5609221B2 (ja) クレードルおよびそのプログラム
JP2014123918A (ja) 再生装置、再生システムおよび処理実行制御方法
CN101500113A (zh) 控制便携式播放器的方法和相应的电子设备
JP2007200509A (ja) 電子機器
KR20090008046A (ko) 프로그램 복원 방법 및 이를 적용한 영상기기
KR20070058043A (ko) 콤보 시스템의 롬 커렉션 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 7