KR102533634B1 - 2 스테이지 역할 전환 - Google Patents

2 스테이지 역할 전환 Download PDF

Info

Publication number
KR102533634B1
KR102533634B1 KR1020227029339A KR20227029339A KR102533634B1 KR 102533634 B1 KR102533634 B1 KR 102533634B1 KR 1020227029339 A KR1020227029339 A KR 1020227029339A KR 20227029339 A KR20227029339 A KR 20227029339A KR 102533634 B1 KR102533634 B1 KR 102533634B1
Authority
KR
South Korea
Prior art keywords
packets
audio
devices
host
master
Prior art date
Application number
KR1020227029339A
Other languages
English (en)
Other versions
KR20220123331A (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 KR20220123331A publication Critical patent/KR20220123331A/ko
Application granted granted Critical
Publication of KR102533634B1 publication Critical patent/KR102533634B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1016Earpieces of the intra-aural type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1041Mechanical or electronic switches, or control elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • 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
    • H04M1/6058Portable telephones adapted for handsfree use involving the use of a headset accessory device connected to the portable telephone
    • H04M1/6066Portable telephones adapted for handsfree use involving the use of a headset accessory device connected to the portable telephone including a wireless connection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/12Circuits for transducers, loudspeakers or microphones for distributing signals to two or more loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0219Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave where the power saving management affects multiple terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2420/00Details of connection covered by H04R, not provided for in its groups
    • H04R2420/07Applications of wireless loudspeakers or wireless microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2460/00Details of hearing devices, i.e. of ear- or headphones covered by H04R1/10 or H04R5/033 but not provided for in any of their subgroups, or of hearing aids covered by H04R25/00 but not provided for in any of its subgroups
    • H04R2460/03Aspects of the reduction of energy consumption in hearing devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Otolaryngology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Headphones And Earphones (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Circuits Of Receivers In General (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Transmitters (AREA)
  • Surface Acoustic Wave Elements And Circuit Networks Thereof (AREA)
  • Keying Circuit Devices (AREA)
  • Switches That Are Operated By Magnetic Or Electric Fields (AREA)

Abstract

본 개시는 역할 전환 동안 오디오 스트리밍의 인지가능한 연속성을 갖는 역할 전환을 제공한다. 역할 전환은 2 스테이지에서 이루어지며, 제 1 스테이지는 호스트 링크 역할 전환을 포함하고, 제 2 스테이지는 릴레이 링크 역할 전환를 포함한다. 예를 들어, 호스트 링크 역할 전환은 호스트 디바이스에 대한 각각의 오디오 수신기 디바이스들의 관련성에 관한 것이며, 여기서 마스터 디바이스는 호스트로부터 직접 오디오를 수신하여 슬레이브로 릴레이한다. 릴레이 링크 역할 전환은 오디오 수신기 디바이스들 간의 관련성에 관한 것이다. 예를 들어, 통신 마스터는 마스터와 슬레이브 디바이스 간에 패킷을 보낼 시기와 같은 타이밍을 제어한다. 2 스테이지 절차의 각각의 스테이지는 약 100ms 이하가 소요될 수 있다. 각각의 스테이지 사이에서 마스터 및 슬레이브 디바이스의 오디오 버퍼들은 다시 채울 기회를 갖는다.

Description

2 스테이지 역할 전환{TWO STAGE ROLE SWITCH}
관련 출원에 대한 상호 참조
본 출원은 2018년 10월 23일자로 미국에 출원된 미국 특허출원(출원번호 16/168,474)의 계속출원이며, 상기 미국 특허출원은 참고로서 본 명세서에 통합된다.
풀 무선 이어버드들(full wireless earbuds)은 무선으로 서로 연결되는 2개의 이어버드들이다. 일반적으로 이러한 풀 무선 이어버드는 릴레이 형식 또는 스니프 형식(sniff format)을 따른다. 릴레이 형식에서는, 한쪽 이어버드가 마스터 역할을 하고 다른 이어버드가 슬레이브 역할을 한다. 마스터 이어버드는 호스트(예컨대, 휴대폰 또는 기타 오디오 재생 디바이스)로부터 오디오를 수신한 다음, 해당 오디오를 슬레이브 이어버드로 릴레이한다. 스니프 형식에서는, 한쪽 이어버드가 기본(primary) 이어버드이고 다른 이어버드는 보조(secondary) 이어버드이다. 기본 이어버드는 호스트로부터 오디오 패킷을 수신하고 확인하는 반면에, 보조 이어버드는 오디오를 수신하기만 또는 "스니프"할 뿐, 패킷을 확인(acknowledge)하지 않는다. 보조 이어버드에서 패킷이 손실되면, 보조 이어버드는 패킷을 다시 전송하도록 기본 이어버드에 요청할 것이다.
이어버드들의 역할이 변경될 때 2개의 이어버드들 사이에서 역할 전환(role switch)이 발생한다. 예를 들어, 릴레이 형식 이어버드의 경우, 마스터가 슬레이브가 되고 슬레이브가 마스터가 된다. 스니프 형식 이어버드의 경우, 기본 이어버드가 보조 이어버드가 되고 보조 이어버드가 기본 이어버드가 된다. 예를 들어, 슬레이브 이어버드의 수신 신호 강도가 더 좋은 경우, 마스터 이어버드가 슬레이브 보다 더 낮은 배터리로 작동하는 경우, 마스터 이어버드를 사용자의 귀에서 꺼내거나 케이스에 넣는 경우 등의 경우, 역할 전환이 발생할 수 있다.
전형적으로, 릴레이 형식의 무선 이어폰은 호스트 디바이스와 마스터 이어버드 사이에서 제 1 비동기 무접속(Asynchronous Connectionless: ACL) 링크를 가지며, 여기서 마스터 이어버드는 이러한 ACL 링크에서 블루투스 슬레이브이다. 제 2 비동기 무접속(ACL) 링크는 마스터 이어버드와 슬레이브 이어버드 사이에 존재한다. 이러한 제 2 ACL에서, 마스터 이어버드는 블루투스 마스터이고 슬레이브 이어버드는 블루투스 슬레이브이다.
이러한 형식에서는, 끊김없는(seamless) 역할 전환을 달성하는 것은 매우 어렵다. 예를 들어, 마스터 이어버드와 호스트 디바이스 사이의 ACL에 있는 대부분의 프로파일들(전부는 아니더라도)은, 슬레이브 이어버드로 조용히(silently) 전송될 필요가 있으며, 그래야만 역할 전환 후 새로운 마스터 이어버드가 오디오 패킷을 계속 수신할 수 있다. 또한, 기존 마스터 이어버드가 신규 슬레이브 이어버드가 되고 기존 슬레이브 이어버드가 신규 마스터 이어버드가 됨에 따라 블루투스 역할 전환도 또한 요구되는데, 왜냐하면 마스터 이어버드가 또한 블루투스 마스터가 되어야만 블루투스 전송이 효율적이기 때문이다.
마스터와 슬레이브로서 동작하는 제 1 및 제 2 기기의 역할 전환을 "끊김없이(seamless)" 수행하는 해결책이 제공된다. 이러한 솔루션은 특히 릴레이 형식의 풀 무선 이어버드들의 "끊김없는" 역할 전환에 적용될 수 있다. 따라서, 역할 전환이 수행될 때 오디오 결함(audio glitch)이 감지되지 않는다. 제공된 솔루션은 또한 스니프 모드의 풀 무선 이어버드에 사용될 수 있으므로, 기본(따라서 "마스터") 및 보조(즉 "슬레이브") 디바이스의 역할 전환과 관련된다.
본 개시의 일 양상은 마스터로서 동작하는 제 1 디바이스와 슬레이브로서 동작하는 제 2 디바이스 사이에서 역할 전환을 수행하는 방법을 제공한다. 이 방법은 제 1 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하는 단계, 수신된 패킷들을 제 1 디바이스로부터 제 2 디바이스로 포워딩하는 단계, 제 1 디바이스 및 제 2 디바이스 각각에서 CPU 클럭 속도를 증가시키는 단계, 제 1 스테이지 역할 전환을 수행하는 단계, 및 제 2 스테이지 역할 전환을 수행하는 단계를 포함한다. 제 1 스테이지 역할 전환은, 제 2 디바이스와 호스트 디바이스 사이에 통신 링크를 설정하는 단계, 및 제 2 디바이스가 새로운 마스터로 작동하고 있음을 호스트 디바이스에 통지하는 단계를 포함한다. 제 1 및 제 2 스테이지 사이에서, 제 2 디바이스는 호스트 디바이스로부터 패킷들을 수신하고, 그리고 미리설정된 스케줄에 따라 상기 수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩한다. 제 1 디바이스 및 제 2 디바이스의 오디오 버퍼들이 미리결정된 레벨에 도달하면, 제 1 및 제 2 디바이스에서 제 2 스테이지 역할 전환이 수행된다. 제 2 스테이지 역할 전환은, 새로운 마스터인 제 2 디바이스로부터 새로운 슬레이브인 제 1 디바이스로 패킷들을 전송하기 위한 타이밍 제어를 제 1 디바이스로부터 제 2 디바이스로 넘겨주는 단계를 포함한다. 제 2 스테이지가 완료되면, 제 1 및 제 2 디바이스의 CPU 클럭 속도는 감소될 수 있다.
본 개시의 또 다른 양상은 시스템을 제공하고, 상기 시스템은 마스터 역할 및 슬레이브 역할로 동작하도록 구성된 제 1 오디오 수신기 디바이스, 및 마스터 역할 및 슬레이브 역할로 동작하도록 구성된 제 2 오디오 수신기 디바이스를 포함한다. 상기 제 1 및 제 2 오디오 수신기 디바이스 각각은, 무선 연결을 통해 오디오 패킷들을 수신하는 무선 통신 인터페이스, 수신된 오디오 패킷들을 일시적으로 저장하는 오디오 버퍼, 오디오 버퍼에 일시적으로 저장된 오디오 패킷들을 재생하는 스피커, 및 무선 통신 인터페이스와 통신하는 프로세서를 포함한다. 상기 프로세서는 2 스테이지 역할 전환 동작을 실행하도록 구성되며, 상기 2 스테이지 역할 전환 동작은, 제 1 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하고, 수신된 패킷들을 제 1 디바이스로부터 제 2 디바이스로 포워딩하고, 제 1 및 제 2 디바이스 각각에서 CPU 클럭 속도를 증가시키고, 제 1 및 제 2 디바이스에서 제 1 스테이지 역할 전환을 수행하고, 상기 제 1 스테이지 역할 전환은, 제 2 디바이스와 호스트 디바이스 사이에 통신 링크를 설정하고, 그리고 제 2 디바이스가 새로운 마스터로 작동하고 있음을 호스트 디바이스에 통지하는 것을 포함한다. 상기 프로세서는 또한, 제 2 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하고, 미리설정된 스케줄에 따라 상기 수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하고, 제 1 디바이스 및 제 2 디바이스의 오디오 버퍼들이 미리결정된 레벨에 도달하면, 제 1 및 제 2 디바이스에서 제 2 스테이지 역할 전환을 수행하도록 구성되며, 상기 제 2 스테이지 역할 전환은, 새로운 마스터인 제 2 디바이스로부터 새로운 슬레이브인 제 1 디바이스로 패킷들을 전송하기 위한 타이밍 제어를 제 1 디바이스로부터 제 2 디바이스로 넘겨주는 것을 포함하며, 그리고 제 1 및 제 2 디바이스에서 CPU 클럭 속도를 감소시킨다.
본 발명의 또 다른 양상은 시스템을 제공하며, 상기 시스템은 제 1 오디오 수신기 디바이스, 및 제 1 오디오 수신기 디바이스와 무선으로 페어링하도록 구성된 제 2 오디오 수신기 디바이스를 포함한다. 상기 제 1 오디오 수신기 디바이스 및 제 2 오디오 수신기 디바이스는 2 스테이지 역할 전환 동작을 수행하도록 구성되며, 상기 2 스테이지 역할 전환 동작은, 제 1 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하고, 수신된 패킷들을 제 1 디바이스로부터 제 2 디바이스로 포워딩하고, 제 1 및 제 2 디바이스 각각에서 CPU 클럭 속도를 증가시키고, 제 1 및 제 2 디바이스에서 제 1 스테이지 역할 전환을 수행하고, 상기 제 1 스테이지 역할 전환은, 제 2 디바이스와 호스트 디바이스 사이에 통신 링크를 설정하고, 제 2 디바이스가 새로운 마스터로 작동하고 있음을 호스트 디바이스에 통지하는 것을 포함하며,제 2 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하고, 미리설정된 스케줄에 따라 상기 수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하고, 제 1 디바이스 및 제 2 디바이스의 오디오 버퍼들이 미리결정된 레벨에 도달하면, 제 1 및 제 2 디바이스에서 제 2 스테이지 역할 전환을 수행하는 것을 포함하며, 상기 제 2 스테이지 역할 전환은, 새로운 마스터인 제 2 디바이스로부터 새로운 슬레이브인 제 1 디바이스로 패킷들을 전송하기 위한 타이밍 제어를 제 1 디바이스로부터 제 2 디바이스로 넘겨주고 그리고 제 1 및 제 2 디바이스 각각에서 CPU 클럭 속도를 감소시키는 것을 포함한다.
도 1은 본 발명의 양상에 따른 예시적인 시스템을 나타내는 블록도이다.
도 2는 도 1의 시스템의 예시적인 도면이다.
도 3a 내지 도 3f는 본 개시의 양상들에 따른 역할 전환을 예시하는 블록도들이다.
도 4는 본 발명의 양상에 따른 예시적인 시스템을 도시한 기능 블록도이다.
도 5는 본 개시의 양상들에 따른 예시적인 방법을 예시하는 타이밍도이다.
도 6은 본 개시의 양상들에 따른 예시적인 방법을 예시하는 흐름도이다.
본 발명은 역할 전환 동안 오디오 스트리밍의 인지가능한 연속성을 구비한 역할 전환을 제공한다. 역할 전환은 2개의 스테이지에서 수행되며, 제 1 스테이지는 호스트 링크 역할 전환을 포함하고, 제 2 스테이지는 릴레이 링크 역할 전환을 포함한다. 예를 들어, 호스트 링크 역할 전환은 호스트 디바이스에 대한 각 오디오 수신기 디바이스의 관련성에 관한 것이며, 여기서 마스터 디바이스는 호스트로부터 직접 오디오를 수신하여, 이를 슬레이브로 릴레이한다. 릴레이 링크 역할 전환은 오디오 수신기 디바이스들 간의 관련성에 관한 것이다. 예를 들어, 통신 마스터는 마스터와 슬레이브 디바이스 간에 패킷을 보낼 시기와 같은 타이밍을 제어한다. 2 스테이지 절차의 각각의 스테이지는 약 100ms 또는 그 이상 또는 그 이하가 소요될 수 있다. 각각의 스테이지 사이에서 마스터 및 슬레이브 디바이스들의 오디오 버퍼들을 다시 채울 기회가 있다. 이러한 절차는 주로 이어버드와 관련하여 본 명세서에서 설명되지만, 상기 절차는 마스터 및 슬레이브 역할을 가진 다른 무선 페어링된 디바이스에도 적용될 수 있음을 이해해야 한다.
마스터 역할의 제 1 디바이스는, 제 1 디바이스와 호스트 사이의 비동기 무접속(ACL) 링크와 같은 통신 링크를 통해, 휴대 전화 등의 호스트 디바이스로부터 오디오를 수신한다. 제 1 디바이스는 슬레이브 역할을 하는 제 2 디바이스로 오디오를 중계(이하, '릴레이' 혹은 '중계' 라함)한다. 제 1 및 제 2 디바이스는, 마스터는 간섭을 겪고 있고 슬레이브는 호스트와 양호한 신호 강도를 갖는 경우와 같은 소정 경우에서, 마스터/슬레이브 역할을 전환할 수 있다. 역할 전환 전에 상기 제 1 및 제 2 디바이스들 둘다는 내부 클록 속도를 증가시킨다. 예를 들어, 제 1 및 제 2 디바이스는 그들의 중앙 처리 유닛(CPU) 클럭 속도를 최대 세팅으로 설정할 수 있다. 더욱이, 상기 디바이스들은 마스터 역할의 제 1 디바이스가 슬레이브 역할의 제 2 디바이스로 패킷을 전송하려고 시도하는 폴링 속도를 감소시킬 수 있다. 예를 들어, 상기 디바이스들은 이러한 속도를 약 2.5ms로 줄일 수 있다.
마스터 역할의 제 1 디바이스는 가령, 블루투스 프로파일 등과 같은 역할 전환 정보를 제 2 디바이스로 전송하기 시작한다. 이러한 프로세스 동안, 제 1 디바이스는 호스트 디바이스로부터 오디오를 수신하고 상기 오디오를 제 2 디바이스로 릴레이하는 것을 계속한다. 제 2 디바이스는 정상 동작을 계속 수행한다.
제 1 디바이스와 제 2 디바이스는 호스트 링크 역할 전환을 시작한다. 호스트 링크 역할 전환은, 블루투스(Bluetooth) 컨트롤러와 같은 디바이스들의 통신 컨트롤러에서 시작할 수 있다. 제 1 디바이스는 컨트롤러로부터 버퍼를 폴링하고, 그리고 슬레이브 역할의 제 2 디바이스로 오디오 버퍼를 릴레이할 수 있다. 제 1 디바이스는 플로우 비트(flow bit)를 턴오프하거나, 컨트롤러에서 액세스 주소를 변경하거나, 또는 제 1 디바이스가 패킷을 수신하지 못하게하는 임의의 다른 여러 작업들을 수행함으로써 기타 등등, 호스트로부터 오디오 패킷 수신을 중지할 수 있다. 호스트 링크 역할 전환은 컨트롤러에서 완료된다. 예를 들어, 제 2 디바이스는 제 1 디바이스와 호스트 간의 통신 링크를 인계받을 수 있고, 그리고 제 2 디바이스가 새로운 마스터임을 호스트에 통지할 수 있다. 일부 예들에서, 제 1 디바이스는 통신 링크를 성공적으로 확립했다는 확인을 제 2 디바이스로부터 수신할 수 있고, 제 1 디바이스는 그것이 새로운 슬레이브임을 호스트에 통지할 수 있다. 제 1 및 제 2 디바이스는 각각 신규 슬레이브 및 신규 마스터로서, 그들의 내부 블루투스 호스트 프로파일을 다시 생성한다. 예를 들어, 상기 디바이스들은 그들의 내부 블루투스 프로파일들 및 상태들의 메모리들을 재구성할 수 있다.
호스트 링크 역할 전환 이후에, 새로운 호스트 링크 마스터로서 역할을 하는 상기 제 2 디바이스는 호스트 디바이스 및 상기 제 1 디바이스에 대하여 여전히 블루투스 슬레이브이다. 호스트 디바이스는 새로운 마스터 역할의 제 2 디바이스로 오디오 패킷을 전송한다. 제 2 디바이스가 제 1 디바이스에 대해 여전히 릴레이 링크 슬레이브이므로, 특별한 스케줄링이 블루투스 컨트롤러에서 설정될 수 있으며 그리고 제 2 디바이스로부터 수신된 오디오 패킷을 제 1 디바이스로 릴레이하는데 사용될 수 있다. 예를 들어, 특별한 스케줄링은 패킷 수신을 예상하는 시기에 대한 표시를 제 1 디바이스에 제공할 수 있다. 특별한 스케줄링을 사용하는 이러한 패킷들의 릴레이는 제 1 및 제 2 디바이스의 오디오 버퍼들이 소정 레벨에 도달할 때까지 계속될 수 있다. 예를 들어, 이는 오디오 버퍼들이 대략 150ms-250ms 또는 그 이상의 "정상" 범위에 도달할 때까지 계속될 수 있다.
오디오 버퍼들이 상기 소정 레벨에 도달하면, 제 1 및 제 2 디바이스는 릴레이 링크 역할 전환을 트리거링한다. 따라서, 새로운 호스트 링크 마스터 역할을 하는 제 2 디바이스가 또한 새로운 릴레이 링크 마스터가 되어, 제 1 디바이스와 제 2 디바이스 간의 패킷 전송 타이밍을 제어한다. 새로운 디바이스 슬레이브 역할을 하는 제 1 디바이스가 또한 새로운 릴레이 링크 슬레이브가 된다. CPU 클럭 속도와 폴링 시간은, 2 스테이지 역할 전환 절차를 위해 이들이 변경되기 전의 이전 값들로 돌아갈 수 있다.
이러한 방식으로 2 스테이지 역할 전환을 수행함으로써, 릴레이 해결책에 대한 끊김없는 역할 전환을 제공할 수 있다. 이것은, 슬레이브 이어버드가 마스터 이어버드보다 연결성이 더 좋은 상황에서와 같이, 오디오 품질을 개선하는데 도움을 줄 수 있다. 이것은 또한 배터리 수명을 개선하는데 도움이 될 수 있다. 예를 들어, 마스터 이어버드는 슬레이브 이어버드보다 더 많은 전력을 소비할 수 있다. 따라서, 역할을 전환함으로써, 상기 디바이스들은 2개의 디바이스들의 사용 시간을 연장하는 부담을 나눌 수 있다. 다른 일례에서, 가령, 하나의 이어버드를 사용자의 귀에서 꺼내거나 케이스에 넣는 것과 같이 하나의 이어버드가 없을 때, 역할 전환이 수행될 수 있다. 역할 전환이 끊김이 없기 때문에, 오디오 품질에 눈에 띄는 영향을 주지 않고 이러한 장점들이 획득될 수 있으므로, 향상된 사용자 경험을 제공할 수 있다.
도 1은 마스터 액세서리 디바이스(110)에 통신가능하게 접속된 호스트 디바이스(105)를 포함하는 예시적인 시스템(100)을 도시한다. 마스터 액세서리 디바이스(110)는 이어버드들, 무선 스피커들, 기타 등등과 같은 한쌍의 액세서리 디바이스들 중 하나가 될 수 있다. 이와 같이, 마스터 디바이스(110)는 또한 슬레이브 액세서리 디바이스(120)에 통신가능하게 연결된다. 비록, 도 1에는 오직 하나의 슬레이브 디바이스(120)만이 도시되어 있지만, 다수의 슬레이브 디바이스들이 마스터 디바이스(110)에 통신가능하게 연결될 수 있음을 이해해야 한다.
디바이스들(105, 110, 120) 간의 연결은 가령, 블루투스와 같은 단거리 무선 페어링일 수 있다. 예를 들어, 호스트 디바이스(105)는 제 1 ACL 링크와 같은 호스트 통신 링크(152)를 통해 마스터 디바이스(110)에 연결될 수 있다. 마스터 디바이스(110)는 제 2 ACL 링크와 같은 릴레이 통신 링크(154)를 통해 슬레이브 디바이스(120)에 연결될 수 있다.
도 2는 도 1의 시스템의 일례를 도시하며, 여기서 호스트 디바이스는 모바일폰(205)이고, 마스터 액세서리는 제 1 이어버드(210)이며, 그리고 슬레이브 액세서리는 제 2 이어버드(220)이다. 호스트 통신 링크(252)가 모바일폰(205)와 제 1 이어버드(210) 사이에 존재하는 반면에, 제 1 이어버드(210)와 제 2 이어버드(220) 사이에는 릴레이 통신 링크(254)가 존재한다.
본 실시예에서 호스트 디바이스가 모바일폰으로 도시되어 있지만, 호스트 디바이스는 오디오 신호를 전송하도록 구성된 다양한 유형의 디바이스들 중 하나 일 수 있다는 점을 유의해야 한다. 예를 들어, 호스트 디바이스는 태블릿, 스마트 워치, 게임 시스템, 음악 플레이어, 랩톱, 개인용 디지털 보조 디바이스 또는 임의의 다른 컴퓨팅 디바이스일 수 있다. 유사하게, 여기에서는 이어버드들(210, 220)로 도시되었지만, 제 1 및 제 2 액세서리는 다른 일례에서 스피커 또는 다른 오디오 디바이스, 비디오 출력 디스플레이 등의 임의의 조합일 수 있다. 제 1 및 제 2 액세서리는 제조시에 페어링될 수 있거나 또는 별도로 판매되어 나중에 사용자에 의해 페어링될 수 있다.
일부 경우, 제 1 및 제 2 액세서리들의 역할을 전환하는 것이 바람직할 수 있다. 예를 들어, 마스터 역할을 하는 이어버드는, 슬레이브 역할을 하는 디바이스 호스트 사이의 가능한 연결에 비하여, 호스트와의 저품질의 신호 강도 연결을 가질 수 있다. 이러한 조건의 일례가 도 2에 도시되어 있다. 제 1 이어버드(210)는 호스트 디바이스(105)가 사용자 신체의 반대편에 있기 때문에, 호스트 디바이스(105)에 대하여 크로스-보디 간섭(cross-body interference)의 영향을 받는다. 이와 반대로, 제 2 이어버드(220)는 호스트 디바이스(105)와 사용자의 신체에서 동일한 측면에 위치한다. 따라서, 제 2 이어버드(220)는 제 1 이어버드(210)에 비하여 더 적은 크로스-보디 간섭의 영향을 받는다.
마스터/슬레이브의 역할을 전환하는 것이 바람직할 수 있는 경우의 또 다른 일례는 제 1 및 제 2 디바이스의 배터리 레벨에 관한 것이다. 마스터 역할을 수행하는 디바이스는 슬레이브 역할을 수행하는 디바이스 보다 더 많은 전력을 소비할 수 있다. 따라서, 예를 들어, 마스터 디바이스의 배터리가 일정 수준까지 소모되는 경우, 슬레이브 디바이스와 역할을 전환하는 것이 바람직할 수 있다.
역할을 전환하기 위하여, 2 스테이지 절차가 사용될 수 있다. 예를 들어, 제 1 스테이지에서, 새로운 호스트 링크 마스터가 호스트와의 통신 링크를 설정하도록, 호스트 디바이스에 대한 역할 전환이 발생할 수 있다. 제 2 스테이지에서는, 새로운 릴레이 링크 마스터가 재생 디바이스들 간의 릴레이 링크를 통한 패킷 전송의 타이밍을 제어하도록, 재생 디바이스들에 대한 역할 전환이 발생할 수 있다. 이러한 2 스테이지 절차에서, 오디오 전송 및 재생에서의 임의의 갭들(gaps)은 사용자가 인식하지 못할만큼 충분히 짧을 수 있다. 예를 들어, 임의의 갭들이 대략 100ms 이하가 되도록, 2 스테이지 절차의 각 스테이지는 약 100ms 이내에 완료될 수 있다.
도 3a-3f는 2 스테이지 역할 전환 절차의 일례를 도시한다. 도면들이 역할 전환 절차의 여러 동작들을 예시하고 있지만, 추가적인 동작들이 수행될 수 있음을 이해해야 한다.
도 3a에서, 제 1 및 제 2 디바이스들(110, 120)은 각각 그들의 내부 CPU 클럭(131, 141)의 속도를 증가시킨다. 예를 들어, 제 1 및 제 2 디바이스(110, 120)는 클록 속도를 가능한 최대 속도로 증가시킬 수 있다. 클럭 속도는 지원 칩셋에 따라 다를 수 있다. CPU 클럭 속도를 높이면, CPU 속도에 의해 제한되는 동작들이 CPU 클럭 속도 증가에 비례하여 빨라질 것이다. 예를 들어, 마스터 디바이스에 프로파일 상태를 저장하거나 슬레이브 디바이스에 프로파일을 복원하는 것과 같은 동작들은 조정되지 않은 CPU 클록 속도보다 증가된 CPU 클록 속도에서 더 빠르게 수행될 수 있다.
제 1 및 제 2 디바이스들(110, 120)은 또한 폴링 시간(132, 142)을 줄일 수 있다. 예를 들어, 상기 디바이스들은 마스터 디바이스(110)가 슬레이브 디바이스(120)로 패킷을 전송하는 tPoll 시간을 감소시킬 수 있다. 이러한 방식으로 폴링 시간을 조정함으로써, 블루투스 패킷들은 제 2 디바이스로부터 제 1 디바이스로 더 빠르게 전송될 것이다. 블루투스 슬레이브로부터 블루투스 마스터로 패킷이 전송될 때마다, tPoll 값까지 랜덤 지연이 존재할 것이다(가령, 디폴트로 약 25ms). tPoll 시간을 감소시키면, 역할 전환의 제 2 스테이지에 대한 시간을 크게 단축시킬 수 있다. 예를 들어, 제 2 스테이지 역할 전환 동안, 제 1 및 제 2 디바이스는 전환 시간(switch time)을 협상하고, 그리고 해당 시간이 경과하기 전에 이들 둘다는 스위치 시간에 동의해야만 한다. tPoll을 변경함으로써, 전환 시간이 이른 시간(earlier time)으로 설정될 수 있다.
도 3b를 참조하면, 제 1 디바이스(110)는 제 2 디바이스(120)로 역할 전환 정보를 전송하기 시작한다. 이러한 정보는 예를 들어, 블루투스 프로파일들과 같은 무선 통신 프로토콜 정보(112)를 포함할 수 있다. 이러한 프로파일들의 일례는 오디오/비디오 원격 제어 프로파일(AVRCP), 핸즈프리 프로파일(HFP), 고급 오디오 배포 프로파일(A2DP), 속성 프로파일(ATT), 디바이스 ID 프로파일(DIP), 근접 프로파일(PXP), 동기화 프로파일(SYNCH), 무선 주파수 통신(RFCOMM), 블루투스 저에너지(BLE) 등을 포함한다. 프로파일(112)은 마스터 디바이스(110)가 동작하는 방법을 지시할 수 있다. 예를 들어, 프로파일은 다른 포맷들에 대한 의존성들, 제안된 사용자 인터페이스 포맷들, 프로파일에 의해 사용되는 프로토콜 스택의 일부, 기타 등등에 대한 정보를 포함할 수 있다. 일부 예에서, 프로파일은 마스터 디바이스(110)가 호스트 디바이스(105)와 통신하는 방법을 결정할 수 있다. 단지 일례로서, 하나 이상의 프로파일은 비동기 무접속(ACL) 링크와 같은, 통신 링크(152)를 사용할 수 있다. 다른 일례에서, 프로파일은 호스트 디바이스(105)로부터 마스터 디바이스(110)로 및/또는 마스터 디바이스(110)로부터 슬레이브 디바이스(120)로 오디오가 스트리밍되는 방법을 정의할 수 있다. 슬레이브 디바이스(120)는 가령, 무선 프로파일(122)과 같은 수신된 역할 전환 정보를 저장한다. 역할 전환 정보의 다른 일례는 예를 들어, 주파수 호핑 시퀀스, 일반 연결 파라미터들, 디바이스 식별자들과 같은 ACL 연결 정보를 포함할 수 있다. 추가적인 일례들은 로그들, 업타임(uptime), 등과 같은 연결과 무관한 디바이스 상태를 포함한다.
역할 전환 정보(110)를 전송하는 프로세스 동안, 제 1 디바이스(110)는 정상 동작에서와 마찬가지로, 호스트 디바이스(105)로부터 오디오 패킷을 수신하고 제 2 디바이스(120)로 오디오 패킷을 중계하는 것을 계속 수행할 수 있다. 따라서, 제 1 디바이스(110)는 수신된 오디오 패킷을 오디오 버퍼(114)에 일시적으로 저장할 수 있다. 제 2 디바이스(120)는 또한 수신한 오디오 패킷을 오디오 버퍼(124)에 저장할 수 있다.
도 3c에서, 제 1 및 제 2 디바이스들(110, 120)은 역할 전환의 제 1 스테이지를 수행한다. 이러한 제 1 스테이지에서, 제 2 디바이스(120)는 호스트 디바이스(105)에 대한 링크를 설정하고 호스트 링크 마스터가 된다. 따라서, 제 2 디바이스(120)는 제 1 디바이스(110)로의 릴레이를 위해 호스트(105)로부터 패킷을 수신할 것이다. 하지만, 제 2 디바이스(120)는 여전히 제 1 디바이스(110)에 대해 릴레이 링크 슬레이브이며, 이에 대해서는 도 3d와 관련하여 후술될 것이다.
제 1 및 제 2 디바이스들(110, 120)은 블루투스 컨트롤러와 같은 각자의 통신 컨트롤러에서 제 1 스테이지의 역할 전환을 시작할 수 있다. 예를 들어, 마스터 역할의 제 1 디바이스(110)는 자신의 컨트롤러로부터 모든 버퍼들을 폴링하고 그리고 그 오디오 버퍼(114)를 제 2 디바이스(120)로 릴레이할 수 있다. 예를 들어, 제 1 디바이스(110)에 의해 최근 수신되고, 버퍼(114)에 저장된 임의의 오디오 패킷들은 제 2 디바이스(120)로 전송되어 슬레이브 버퍼(124)에 저장될 수 있다. 이와 관련하여, 제 2 디바이스(120)는 동일한 버퍼 컨텐츠를 가지며, 마스터 역할로 전환시 지연없이 오디오를 재생하기 시작할 수 있다. 본 일례에서는 오디오 버퍼의 오디오 패킷들이 도시되지만, 비디오 또는 이미지 버퍼와 같은 다른 유형의 버퍼들도 동기화될 수 있음을 이해해야 한다.
다음으로, 제 1 디바이스(110)는, 호스트 디바이스(105)로부터 오디오 패킷을 수신하는 것을 중단할 수 있다. 이것은 여러 방식들로 수행될 수 있다. 단지 일례로서, 제 1 디바이스(110)는 플로우 비트를 턴오프하고, 통신 컨트롤러에서 액세스 주소를 변경하는 등의 작업을 수행할 수 있다.
다음으로, 제 1 및 제 2 디바이스들(110, 120)은 제 1 스테이지 역할 전환을 완료할 수 있다. 제 2 디바이스(120)는 호스트 디바이스(105)와 새로운 통신 링크(156)를 설립하고, 제 2 디바이스(120)가 호스트(105)로부터 직접 패킷을 수신해야하는 새로운 마스터임을 호스트 디바이스(105)에 통지할 수 있다. 일부 일례에 따르면, 제 1 및 제 2 디바이스들(110, 120)은 블루투스 컨트롤러 계층과 같은 통신 컨트롤러 계층에서 제 1 스테이지 역할 전환을 완료할 수 있다. 예를 들어, 각각의 디바이스(110, 120)는 제 1 스테이지 역할 전환을 시작하기 위해 자신의 통신 컨트롤러에 명령을 전송할 수 있다. 제 1 디바이스(110)는 자신의 링크 매니저 프로토콜(link manager protocol:LMP) 상태를 LMP 소켓을 수신하는 제 2 디바이스(120)로 전송할 수 있다. 제 2 디바이스(120)는 새로운 ACL 링크를 시작할 수 있으며, 호스트 디바이스(105)와 동기화할 수 있다. ACL 링크가 성공적으로 확립되면, 제 2 디바이스(120)는 성공(success) LMP 패킷을 제 1 디바이스(110)로 전송하고, 제 2 디바이스(120)가 새로운 마스터임을 호스트 디바이스(105)에게 통지할 수 있다. 제 1 디바이스(110)는 LMP 성공 패킷을 수신하면, 또한 호스트(105)에게 자신이 새로운 슬레이브임을 통지할 수 있다.
제 1 및 제 2 디바이스들(110, 120) 각각은 그들의 새로운 슬레이브 및 마스터 역할에서, 그들의 내부 블루투스 호스트 프로파일들을 재생성한다. 이것은 매우 빠르게 수행될 수 있다. 제 1 및 제 2 디바이스들(110, 120)은 내부 블루투스 프로파일들 및 상태들의 메모리들을 재구성할 수 있다. 예를 들어, 새로운 마스터인 제 2 디바이스(120)는 이전 마스터였던 제 1 디바이스(110)로부터 스트럭트(struct)를 수신할 수 있다. 제 2 디바이스(120)는 스트럭트(struct)를 사용하여 어플리케이션 측에서 블루투스 프로파일을 재생성할 수 있다. 새로운 슬레이브인 제 1 디바이스(110)는 유사하게 제 2 디바이스(120)로부터 스트럭트를 수신하고 그리고 스트럭트를 사용하여 블루투스 프로파일을 재생성할 수 있다. 이것이 하나의 예이지만 내부 블루투스 프로파일을 재생성하는 다른 방법이 사용될 수 있음을 이해해야 한다.
제 1 스테이지 역할 전환 동안, 오디오의 재생은 계속된다. 따라서, 제 1 및 제 2 디바이스는 호스트로부터 패킷을 수신하는 중이 아니기 때문에, 제 1 및 제 2 디바이스의 오디오 버퍼는 소진될 것이다. 재생시 감지될 수 있는 결함(glitch)을 방지하기 위해서, 제 1 스테이지 역할 전환은 오디오 버퍼 사이즈보다 적은 시간 내에 완료되어야 한다.
제 1 스테이지 역할 전환을 완료하면, 제 2 디바이스(120)는 호스트 디바이스(105)와의 통신 링크(156)를 설정하고, 호스트 디바이스(105)에 대한 슬레이브로서 기능한다. 제 2 디바이스(120)는 호스트 디바이스로부터 오디오 패킷들을 수신하며, 이는 전송을 따라 잡으려고 한다. 예를 들어, 호스트 디바이스는 계속 버퍼링하고 패킷을 전송하려고 하는데, 왜냐하면 오디오가 일시중지(pause)되지 않았으며 그리고 역할 전환이 곧 발생한다는 사실을 호스트에게 반드시 알릴 필요가 없기 때문이다. 이와 관련하여 전송은 제 1 스테이지 역할 전환이 발생한 기간 동안 따라 잡을 것이다.
제 2 디바이스(120)는, 디바이스 마스터가 되기 위한 디바이스 역할 전환을 완료하였지만, 여전히 제 1 디바이스(110)에 대해 릴레이 링크 슬레이브이다. 예를 들어, 비록 제 2 디바이스(120)가 호스트 디바이스와의 링크를 인수하였지만, 제 2 디바이스(120)는 여전히 제 1 디바이스(110)와의 링크(154) 상의 슬레이브이다. 이러한 일례에서, 제 1 디바이스(110)는 패킷 전송의 타이밍을 제어한다는 점에서, 여전히 블루투스 마스터일 수 있다. 이와 같이, 제 2 디바이스(120)가 패킷을 제 1 디바이스로 릴레이하는 것은 덜 효율적일 수 있다. 이러한 비 효율을 해결하기 위해 패킷 릴레이에 대해 특별한 스케줄링이 사용될 수 있다.
도 3d에 도시된 바와 같이, 제 1 디바이스(110) 및 제 2 디바이스(120)는, 제 1 스테이지 역할 전환은 완료되었지만 제 2 스테이지 역할 전환은 완료되지 않은 상태에서, 패킷들을 송수신하기 위한 특별한 타이밍 스케줄(116, 126)을 각각 저장한다. 타이밍 스케줄들(116, 126)은 예를 들어 각 디바이스(110, 120)의 블루투스 컨트롤러에 프로그래밍될 수 있다. 타이밍 스케줄들(116, 126)은 제조시에 미리 설정될 수 있수도 있고 및/또는 호스트 디바이스(105)를 통해 제공되는 소프트웨어 또는 펌웨어 업데이트에 의해 업데이트될 수도 있다. 타이밍 스케줄들(116, 126)는 제 2 디바이스(120)가 패킷들을 언제 전송할지 그리고 제 1 디바이스(110)가 이들 패킷들의 수신을 언제 예측할지를 표시함으로써, 제 1 및 제 2 디바이스들(110, 120) 사이의 화합(cohesion)을 제공할 수 있다. 일례로서, 타이밍 스케줄들(116, 126)은 새로운 마스터 역할의 제 2 디바이스(120)가 2 ms 마다 패킷을 전송해야만 하고 그리고 새로운 슬레이브 역할의 제 1 디바이스(110)가 2 ms 마다 패킷을 청취해야함을 나타낼 수 있다. 이것은 단지 예일 뿐이며 임의의 타이밍 체계가 가능함을 이해해야한다.
제 1 및 제 2 디바이스들의 오디오 버퍼들(114, 124)이 정상 범위를 따라잡을 때까지, 제 2 디바이스(120)는 특별한 타이밍 스케줄들(116, 126)에 따라 호스트 디바이스(105)로부터의 패킷들을 제 1 디바이스(110)로 계속 릴레이할 수 있다. 이러한 시점 이전에는, 제 1 스테이지 역할 전환 동안 오디오 재생이 계속 발생했기 때문에 상기 버퍼들은 소모되었다. 예를 들어, 제 1 및 제 2 디바이스의 오디오 버퍼(114, 124)는 오디오 재생을 위해 대략 150ms ~ 250ms, 또는 그 이상 또는 그 이하를 저장하는 범위에 올 수 있다. 이 시점에서, 제 1 및 제 2 디바이스(110, 120)는 역할 전환의 제 2 스테이지를 트리거링할 수 있다.
도 3e는, 역할 전환의 제 2 스테이지를 도시하며, 여기서 제 2 디바이스(120)는 제 1 디바이스(110)와 제 2 디바이스(120) 사이의 통신 링크(154)에 대해 마스터가 된다. 예를 들어, 제 2 디바이스(120)는 전환을 수행할 시간이 예정되어 있고 전환이 발생한다는 오프셋 클록을 제 1 디바이스(110)로 전송한다. 이러한 스테이지 동안, 제 2 디바이스(120)는 제 1 디바이스(110)와 제 2 디바이스(120) 사이의 전송을 위한 타이밍(128)을 제어한다. 오디오 버퍼가 정상 범위에 도달했기 때문에, 제 2 스테이지 역할 전환 동안 오디오 글리치가 들리지 않아야 한다.
도 3f에서, 제 1 및 제 2 디바이스(110, 120)는 그들의 내부 타이밍을 이전 설정으로 반환한다. 예를 들어, 이전에 증가되었던 CPU 클럭 속도(131, 141)는 이제 사전-조정된 레벨로 돌아간다. 또한, 이전에 감소되었던 폴링 속도(132, 142)는 이 이제 사전-조정된 레벨로 돌아간다. 일부 일례들에서 사전-조정된 레벨은 디바이스가 역할 전환을 거치지 않을 때의 디폴트 레벨 또는 정상 작동 레벨일 수 있다.
도 4는 제 1 디바이스(110)와 제 2 디바이스(120)의 내부 컴포넌트들의 일례를 도시한다. 비록, 다수의 내부 컴포넌트들이 도시되어 있지만, 더 많거나 또는 더 적은 컴포넌트들이 포함될 수 있는 것으로 이해되어야한다. 예를 들어, 디바이스는 스피커, 마이크 등과 같은 재생 디바이스에서 일반적으로 발견되는 컴포넌트를 포함할 수 있다. 디바이스는 예를 들어 이어버드, 스피커, 디스플레이 등과 같은 무선 액세서리일 수 있다. 디바이스는 주로 제 1 디바이스(110)에 대하여 설명된다. 일부 실시예에서 제 2 디바이스(120)는 제 1 디바이스(110)와 유사하거나 동일할 수 있지만, 다른 실시예에서 제 2 디바이스(120)는 다른 유형의 디바이스일 수 있다. 추가적으로 또는 대안적으로, 제 2 디바이스(120)는 상이한 내부 컴포넌트들을 가질 수 있다.
제 1 디바이스(110)는 하나 이상의 프로세서(416), 하나 이상의 메모리(412)뿐만 아니라 다른 컴포넌트를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는 하나 이상의 센서(418), 무선 페어링 인터페이스(419) 및 배터리(417)를 포함할 수 있다.
메모리(412)는 하나 이상의 프로세서(416)에 의해 실행되거나 또는 달리 사용될 수 있는 데이터(414) 및 명령들(415)을 포함하여, 하나 이상의 프로세서(416)에 의해 액세스될 수 있는 정보를 저장할 수 있다. 예를 들어, 메모리(412)는 컴퓨팅 디바이스-판독가능 매체, 또는 휘발성 메모리, 비휘발성 메모리, 여타의 기타의 쓰기-가능 및 판독-전용 메모리들 등과 같은 전자 디바이스의 도움으로 판독될 수 있는 데이터를 저장하는 다른 매체를 포함하여, 프로세서(들)에 의해 액세스가능한 정보를 저장할 수 있는 임의 유형일 수 있다. 단지 일례로서, 메모리(412)는 빠른 룩업을 제공하도록 구성된 정적 랜덤 액세스 메모리(SRAM)일 수 있다. 시스템 및 방법은 전술한 것들의 다른 조합들을 포함할 수 있으며, 이에 따라 명령들 및 데이터의 상이한 부분들은 상이한 유형들의 매체에 저장된다.
데이터(414)는, 명령들(415)에 따라 하나 이상의 프로세서(416)에 의해 검색, 저장, 수정될 수 있다. 예를 들어, 데이터(414)는 블루투스 프로파일과 같은 근거리 무선 통신 프로파일을 포함할 수 있다. 데이터(414)는 호스트 디바이스로부터 수신된 패킷을 갖는 오디오 버퍼와 같이, 버퍼링된 패킷을 더 포함할 수 있다. 비록, 본 발명의 주제는 특정 데이터 구조에 의해 제한되지는 않지만, 데이터는 복수의 다른 필드들 및 레코드들, XML 문서들 또는 플랫 파일들을 갖는 테이블로서 컴퓨팅 디바이스 레지스터에, 관계형 데이터베이스에 저장될 수 있다. 데이터는 또한 임의의 컴퓨팅 디바이스 판독가능 형식으로 포맷될 수 있다.
명령들(415)은 하나 이상의 프로세서(416)에 의해 직접적으로 실행되거나(가령, 머신 코드) 또는 간접적으로 실행되는(가령, 스크립트) 명령들의 임의의 세트일 수 있다. 예를 들어, 명령들은 컴퓨팅 디바이스 판독가능 매체 상에 컴퓨팅 디바이스 코드로 저장될 수 있다. 이와 관련하여, "명령들" 및 "프로그램" 이라는 용어는 본 명세서에서 상호호환적으로 사용될 수 있다. 명령은 프로세서에 의한 직접 처리를 위해 객체 코드 형식으로 저장되거나, 요청시 해석되거나 사전에 컴파일되는 독립 소스 코드 모듈 모음 또는 스크립트를 포함하는 다른 컴퓨팅 디바이스 언어로 저장될 수 있다. 명령들의 기능, 방법 및 루틴은 아래에 자세히 설명되어 있다.
하나 이상의 프로세서(416)는 디바이스(110) 자체에 하드-와이어링된 마이크로프로세서, 논리 회로(예를 들어, 논리 게이트, 플립 플롭 등)일 수 있거나, 또는 전용 주문형 집적회로(ASIC)일 수 있다. 다음을 유의해야 하는바, 하나 이상의 프로세서(416)는 하드-와이어링된 논리 회로에 제한되지 않으며, 임의의 상업적으로 이용 가능한 프로세싱 유닛, 또는 FPGA(field programmable gate array)와 같은 임의의 하드웨어 기반 프로세서를 포함할 수도 있다. 일부 예에서, 하나 이상의 프로세서(416)는 상태 머신을 포함할 수 있다. 프로세서(416)는 명령(415)을 실행하여 예를 들어, 도 5 및 도 6과 관련하여 아래에서 설명되는 것과 같은 방법을 수행하도록 구성될 수 있다.
프로세서(416)는 제 1 디바이스(110)의 동작 타이밍을 제어하는 내부 클럭을 포함할 수 있다. 예를 들어, 이러한 클럭은, 마스터 디바이스에 프로파일의 상태를 저장하는 것 또는 슬레이브 디바이스 상의 프로파일을 복원하는 것 등의 동작 타이밍을 제어할 수 있다.
하나 이상의 센서(418)는 역할 전환과 관련된 상태들(조건들)을 검출하는 다양한 기계적 또는 전기기계적 센서들 중 임의의 것을 포함할 수 있다. 이러한 센서는 예를 들어 가속도계, 자이로 스코프, 스위치, 광 센서, 기압계, 오디오 센서(예: 마이크), 진동 센서, 열 센서, 무선 주파수(RF) 센서 등을 포함할 수 있다. 이와 관련하여, 디바이스(110)는 디바이스가 페어링된 디바이스와 역할을 전환해야 함을 나타내는 조건을 감지할 수 있다. 예를 들어, 센서는 수신된 신호 강도를 감지하고, 수신된 신호 강도를 페어링된 디바이스의 강도와 비교할 수 있다. 따라서, 디바이스(110) 및 그 페어링된 디바이스는 역할을 전환할지 여부를 협상할 수 있다. 또 다른 예로, 센서는 배터리 수명, 신호 품질, 움직임, 현재 버퍼 레벨 등과 같은 다른 파라미터들을 검출할 수 있다.
근거리 무선 페어링 인터페이스(419)는 다른 디바이스들 가령, 페어링된 제 2 디바이스(120) 또는 오디오 패킷을 제공하는 휴대폰과 같은 호스트 디바이스와의 연결을 확립하는데 이용될 수 있다. 이러한 연결은 예를 들어, 블루투스 연결 또는 기타 유형의 무선 페어링일 수 있다. 예를 들어, 각 연결은 ACL 링크를 포함할 수 있다.
비록 도 4는 동일한 블록 내에 있는 것으로 디바이스(110)의 프로세서, 메모리 및 기타 요소들을 기능적으로 도시하지만, 프로세서 및 메모리가 실제로는 동일한 물리적 하우징 내에 보관되거나 보관되지 않을 수 있는 다중 프로세서들 및 메모리들을 포함할 수 있다는 것을 당업자는 이해할 것이다. 예를 들어, 메모리(412)는 컴퓨팅 디바이스(110)의 그것과는 다른 케이스에 위치한 휘발성 메모리 또는 다른 유형의 메모리일 수 있다. 더욱이, 앞서 설명된 다양한 컴포넌트들은 하나 이상의 전자 디바이스의 일부일 수 있다.
본 실시예에서, 제 2 디바이스(120)는 디바이스(110)와 유사한 내부 구조를 갖는다. 예를 들어, 제 2 디바이스(120)는 하나 이상의 프로세서(426)에 의해 실행될 수 있는 데이터(424) 및 명령들(425)을 저장하는 메모리(422)를 포함한다. 또한, 제 2 디바이스(120)는 배터리(427), 센서(428), 블루투스 인터페이스 등과 같은 통신 인터페이스(429)를 포함한다. 제 2 디바이스(120)는 제 1 디바이스의 명령(41)와 다른 명령 세트(425)를 실행하는 것으로 도시되어 있지만, 상기 디바이스들(110, 120) 둘다는 마스터에서 슬레이브로 그리고 슬레이브에서 마스터로 역할 전환을 수행하도록 프로그래밍될 수 있음을 이해해야 한다.
전술한 바와 같이, 상기 명령들(415, 425)은 제 1 디바이스(110)와 제 2 디바이스(120) 사이에서 투 스테이지 역할 전환 동작을 수행하도록 실행될 수 있다. 이들 2개의 디바이스들은 내부 CPU의 클록 속도를 증가시킨다. 제 1 디바이스(110)는 역할 전환 정보를 제 2 디바이스(120)로 전송한다. 예를 들어, 제 1 디바이스(110)는 자신의 무선 통신 프로파일 및 버퍼 콘텐츠를 제 2 디바이스(120)로 전송할 수 있다. 제 1 디바이스(110)는 호스트로부터 패킷 수신을 중단하고 그리고 제 2 디바이스(120)는 호스트와의 통신 링크를 설정한다. 제 2 디바이스(120)는 자신이 새로운 마스터임을 호스트에 통지하고 그리고 패킷 수신을 시작하며, 이를 특별한 타이밍 스케줄에 따라 제 1 디바이스(110)로 전송한다. 소정의 버퍼 레벨에 도달하면, 상기 디바이스들은 제 2 스테이지 역할 전환을 수행할 수 있으며, 상기 제 2 스테이지 역할 전환에서 디바이스들 사이의 연결에 대하여 제 1 디바이스(110)는 슬레이브가되고 제 2 디바이스(120)는 마스터가 된다. 그런 다음 디바이스들은 클럭 속도를 이전 설정으로 되돌린다.
도 5는 투-스테이지(two-stage) 역할 전환 이전, 도중, 및 이후의 디바이스들 간의 통신을 나타내는 예시적인 타이밍도를 제공한다. 호스트 디바이스는 제 1 단거리 무선 연결을 통해 패킷을 제 1 디바이스(110)로 전송하며, 제 1 디바이스(110)는 초기에 마스터 역할을 수행한다. 제 1 및 제 2 디바이스는 무선으로 페어링되고, 제 1 디바이스(110)는 제 1 디바이스(110)와 제 2 디바이스(120) 사이의 제 2 단거리 무선 연결을 통해 수신된 패킷을 중계한다. 이는 디바이스들의 정상 동작 또는 기본 동작일 수 있다. 예시된 타이밍은 단지 예일 뿐이고, 다른 일례들에서 동작들은 다른 순서로 중첩되거나 발생할 수 있다는 것을 이해해야 한다.
역할 전환이 수행될 때, 제 1 및 제 2 디바이스는 내부 CPU의 클록 속도를 증가시키고, 제 1 디바이스는 역할 전환 정보를 제 2 디바이스로 전송한다. 이러한 역할 전환 정보는 무선 통신 프로파일, 버퍼 컨텐츠 등을 포함할 수 있다. 이러한 역할 전환 정보를 전송하는 동안, 제 1 디바이스(110)는 정상적으로 호스트 디바이스(105)로부터 패킷을 계속 수신할 수 있다.
역할 전환 정보를 전송한 후, 상기 디바이스들은 역할 전환의 제 1 스테이지를 수행할 수 있다. 제 1 스테이지에서, 제 1 디바이스는 패킷 수신을 중지한다. 호스트(105)와 제 1 디바이스(110) 사이의 통신 링크가 끊어지고 제 2 디바이스(120)는 호스트(105)와의 새로운 통신 링크를 설정한다. 제 2 디바이스(120)는 이러한 새로운 통신 링크를 사용하여 호스트(105)에게 자신이 새로운 마스터임을 통지할 수 있다.
따라서, 제 2 디바이스(120)는 호스트(105)로부터 직접 패킷 수신을 시작할 수 있다. 제 1 스테이지 역할 전환 이후, 제 2 디바이스는, 호스트로부터 패킷을 청취하고 그리고 제 1 디바이스(110)로부터 패킷을 청취하도록 여전히 구성된다는 점에서, 호스트 및 제 1 디바이스 둘다에 대하여 블루투스 슬레이브이다. 이를 극복하기 위해, 제 2 디바이스(120)는 호스트(105)로부터 수신된 패킷들을 특별한 스케줄에 따라 제 1 디바이스(110)로 중계한다. 이러한 특별한 스케줄은 제 1 및 제 2 디바이스(110, 120) 각각의 통신 컨트롤러에 저장될 수 있다.
제 1 디바이스와 제 2 디바이스(110, 120)는 수신된 오디오 패킷들을 계속해서 버퍼링한다. 버퍼가 미리 정해진 레벨에 도달하면, 제 2 스테이지 역할 전환이 수행될 수 있다. 미리 정해진 레벨은, 예를 들어, 100ms 재생 데이터, 300ms 재생 데이터 등과 같은 재생을 위한 데이터 분량일 수 있다. 다른 예에서, 데이터 분량은 비트 또는 임의의 다른 단위로 측정될 수 있다.
제 2 스테이지 역할 전환 중, 제 2 디바이스는 제 1 디바이스와 제 2 디바이스 사이의 통신 링크에 대하여 블루투스 마스터가 된다. 이와 같이, 제 2 디바이스(110)는 제 1 디바이스(110)로부터 타이밍 제어를 넘겨받는다. 제 2 스테이지 역할 전환이 완료되면, 디바이스들은 그들의 CPU 클록을 역할 전환 이전의 설정으로 되돌린다.
도 6은 제 1 무선 액세서리 및 제 2 무선 액세서리 사이에서의 투-스테이지 역할 전환의 예시적인 방법(600)을 도시한 흐름도이다. 비록, 동작들이 특정 순서대로 예시 및 설명되었지만, 이러한 순서는 수정될 수 있으며 그리고 동작들이 추가되거나 생략될 수 있음을 이해해야 한다.
블록(605)에서, 제 1 액세서리는 제 1 통신 링크를 통해 호스트 디바이스로부터 정보를 수신한다. 예를 들어, 제 1 액세서리는 제 1 ACL 링크를 통해 호스트 디바이스로부터 오디오 패킷을 수신할 수 있다. 마스터 역할을 하는 제 1 액세서리는 수신된 정보를 제 2 ACL 링크를 통해 제 2 액세서리로 중계한다(블록 610). 블록 605 및 610은 블록 615에서 역할 전환이 필요하거나 유익하다고 결정될 때까지 반복될 수 있다.
역할 전환이 수행될 때, 제 1 및 제 2 액세서리는 그들의 내부 CPU의 클록 속도를 증가시킨다(블록 620). 액세서리들은 또한 자신들의 폴링 속도를 감소시킬 수 있다.
블록(625)에서, 제 1 액세서리는 역할 전환 정보를 제 2 액세서리로 전송한다. 이러한 역할 전환 정보는 블루투스 프로파일, 버퍼 컨텐츠 또는 제 2 액세서리가 마스터 역할을 하고 호스트 디바이스로부터 패킷을 직접 수신하는데 필요할 수 있는 기타 정보를 포함할 수 있다. 제 2 액세서리는 이러한 정보를 사용하여 예를 들어, 블루투스 프로파일을 재구성하고, 버퍼를 업데이트하거나, 기타 등등을 수행한다.
블록(630)에서, 제 1 액세서리는 패킷 수신을 중단하고, 상기 제 2 액세서리는 호스트와의 링크를 확립한다. 예를 들어, 제 1 액세서리는 제 1 ACL 링크를 포기할 수 있고, 제 2 액세서리는 호스트와의 새로운 ACL 링크를 설정할 수 있다. 그런 다음, 블록(635)에서 제 2 액세서리는 호스트로부터 직접 패킷을 수신하고 이러한 패킷을 제 1 액세서리로 릴레이하기 시작할 수 있다. 이 시점에서 제 2 디바이스는 역할 전환의 제 1 스테이지만을 완료했기 때문에, 제 2 디바이스는 제 2 ACL 링크를 통해 제 1 디바이스에 대해 여전히 블루투스 슬레이브이다. 예를 들어, 제 2 ACL 링크를 통한 블루투스 전송 타이밍을 제 1 액세서리가 여전히 담당하고 있으므로, 제 2 디바이스는 릴레이 패킷을 보낼 시기를 알지 못한다. 따라서, 제 1 및 제 2 디바이스는 릴레이 패킷을 송수신하기 위해 미리 정해진 스케줄을 사용한다.
제 2 디바이스는 블록(640)에서 버퍼 임계값에 도달할 때까지, 패킷들을 계속 수신하고 상기 스케줄에 따라 제 1 디바이스로 패킷을 계속 중계할 수 있다. 예를 들어, 상기 임계값은 재생을 위해 미리 결정된 분량의 데이터일 수 있다. 이러한 데이터 분량은 재생이 인지가능하게 지연되지 않도록 설정될 수 있다. 버퍼가 임계값에 도달하면, 디바이스는 제 2 스테이지 역할 전환을 수행하고, 제 2 액세서리는 제 2 ACL 링크에 대한 타이밍 제어를 인수한다(블록 645). 따라서, 전체 역할 전환을 완료한 제 1 및 제 2 액세서리는 이전 클럭 속도 및 폴링 속도로 돌아갈 수 있다.
전술한 시스템 및 방법은 끊김없는 역할 전환을 제공한다 점에서 유리하다. 예를 들어, 역할 전환 절차는 사용자에 의해 오디오 글리치가 감지됨이 없이 수행될 수 있다. 이와 같이, 역할 전환은 호스트와 마스터 간의 높은 신호 강도 연결을 유지하기 위해 또는 디바이스들의 배터리 수명을 연장하기 위해 또는 임의의 다른 이유로, 사용자 경험을 희생하지 않고 수행될 수 있다.
달리 언급되지 않는 한, 전술한 대안적인 실시예들은 상호배타적인 것은 아니지만, 독특한 장점을 달성하기 위해 다양한 조합으로 구현될 수 있다. 전술한 피처들의 이러한 및 다른 변형들 및 조합들은 청구 범위에 의해 정의된 주제에서 벗어나지 않고 활용될 수 있으므로, 실시예에 대한 전술한 설명은 청구 범위에 의해 정의된 주제의 제한이 아닌 예시로서 간주되어야 한다.
또한, "예를 들어", "포함하는" 등과 같은 어구 뿐만 아니라 여기에 설명된 일례들의 제공은 청구범위의 주제를 특정 일례들만으로 한정하는 것으로 해석되어서는 안되며, 이와 달리 상기 일례들은 수많은 가능한 실시예들 중 오직 하나를 예시하는 것으로 의도된다. 또한, 다른 도면들에서 동일한 참조 번호들은 동일하거나 유사한 요소들을 식별할 수 있다.

Claims (20)

  1. 제 1 디바이스와 제 2 디바이스 사이에서 통신하는 방법으로서,
    제 1 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하는 단계;
    수신된 패킷들을 제 1 디바이스로부터 제 2 디바이스로 포워딩하는 단계;
    제 1 및 제 2 디바이스 각각에서 중앙 처리 유닛(CPU) 클록 속도를 증가시키는 단계;
    제 2 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하는 단계;
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하는 단계;
    제 1 디바이스 및 제 2 디바이스의 오디오 버퍼들이 미리결정된 레벨에 도달하면, 패킷들을 전송하기 위한 타이밍 제어를 제 1 디바이스로부터 제 2 디바이스로 넘겨주는 단계; 및
    제 1 및 제 2 디바이스에서 CPU 클록 속도를 감소시키는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하기 전에, 제 1 디바이스가 제 2 디바이스로 패킷들을 전송하는 폴링 속도를 감소시키는 단계; 및
    패킷들을 전송하기 위한 타이밍 제어를 넘겨준 이후에, 제 2 디바이스가 제 1 디바이스로 패킷들을 전송하는 폴링 속도를 증가시키는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    호스트 디바이스로부터 패킷들을 계속 수신하면서 제 1 디바이스에 의해, 역할 전환 정보를 제 2 디바이스로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하는 단계는, 미리설정된 스케줄에 따라 포워딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 미리설정된 스케줄은, 제 1 디바이스의 컨트롤러와 제 2 디바이스의 컨트롤러에 프로그래밍되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 CPU 클록 속도를 증가시키는 단계는, 최대 속도 설정으로 CPU 클럭을 설정하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 오디오 버퍼들에 대한 미리결정된 레벨은 100-250ms 인 것을 특징으로 하는 방법.
  8. 시스템으로서,
    제 1 오디오 수신기 디바이스; 및
    제 2 오디오 수신기 디바이스를 포함하고,
    상기 제 1 및 제 2 오디오 수신기 디바이스들 각각은,
    무선 연결을 통해 오디오 패킷들을 수신하는 무선 통신 인터페이스;
    수신된 오디오 패킷들을 일시적으로 저장하는 오디오 버퍼;
    오디오 버퍼에 일시적으로 저장된 오디오 패킷들을 재생하는 스피커; 및
    상기 무선 통신 인터페이스와 통신하는 프로세서를 포함하며,
    상기 프로세서는 제 1 디바이스와 제 2 디바이스 사이에서 통신을 수행하도록 구성되되,
    제 1 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하고;
    수신된 패킷들을 제 1 디바이스로부터 제 2 디바이스로 포워딩하고;
    제 1 및 제 2 디바이스 각각에서 중앙 처리 유닛(CPU) 클록 속도를 증가시키고;
    제 2 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하고;
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하고;
    제 1 디바이스 및 제 2 디바이스의 오디오 버퍼들이 미리결정된 레벨에 도달하면, 패킷들을 전송하기 위한 타이밍 제어를 제 1 디바이스로부터 제 2 디바이스로 넘겨주고; 그리고
    제 1 및 제 2 디바이스에서 CPU 클록 속도를 감소시키도록 구성되는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    제 1 및 제 2 디바이스는 이어버드인 것을 특징으로 하는 시스템.
  10. 제8항에 있어서,
    제 1 및 제 2 디바이스는 또한,
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하기 전에, 제 1 디바이스가 제 2 디바이스로 패킷들을 전송하는 폴링 속도를 감소시키고; 및
    패킷들을 전송하기 위한 타이밍 제어를 넘겨준 이후에, 제 2 디바이스가 제 1 디바이스로 패킷들을 전송하는 폴링 속도를 증가시키도록 구성되는 것을 특징으로 하는 시스템.
  11. 제8항에 있어서,
    제 1 디바이스는 또한, 호스트 디바이스로부터 패킷들을 계속 수신하면서, 역할 전환 정보를 제 2 디바이스로 전송하는 것을 특징으로 하는 시스템.
  12. 제8항에 있어서,
    제 1 디바이스 및 제 2 디바이스는 각각, 수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하기 위한 미리설정된 스케줄을 저장하는 메모리를 포함하는 것을 특징으로 하는 시스템.
  13. 제8항에 있어서,
    제 1 및 제 2 디바이스는 또한, 최대 속도 설정으로 CPU 클럭을 설정함으로써 중앙 처리 유닛(CPU) 클록 속도를 증가시키는 것을 특징으로 하는 시스템.
  14. 제8항에 있어서,
    상기 오디오 버퍼들에 대한 미리결정된 레벨은 100-250ms 인 것을 특징으로 하는 시스템.
  15. 명령들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령들은 제 1 디바이스와 제 2 디바이스 사이의 통신에 대한 방법을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능하며, 상기 방법은,
    호스트 디바이스로부터 패킷들이 제 1 디바이스에서 수신될 때, 수신된 패킷들을 제 1 디바이스로부터 제 2 디바이스로 포워딩하는 단계;
    제 1 및 제 2 디바이스 각각에서 중앙 처리 유닛(CPU) 클록 속도를 증가시키는 단계;
    제 2 디바이스에 의해, 호스트 디바이스로부터 패킷들을 수신하는 단계;
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하는 단계;
    제 1 디바이스 및 제 2 디바이스의 오디오 버퍼들이 미리결정된 레벨에 도달하면, 패킷들을 전송하기 위한 타이밍 제어를 제 1 디바이스로부터 제 2 디바이스로 넘겨주는 단계; 및
    제 1 및 제 2 디바이스에서 CPU 클록 속도를 감소시키는 단계
    를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서,
    제 1 및 제 2 디바이스는 또한,
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하기 전에, 제 1 디바이스가 제 2 디바이스로 패킷들을 전송하는 폴링 속도를 감소시키고; 및
    패킷들을 전송하기 위한 타이밍 제어를 넘겨준 이후에, 제 2 디바이스가 제 1 디바이스로 패킷들을 전송하는 폴링 속도를 증가시키도록 구성되는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제15항에 있어서,
    제 1 디바이스는 또한, 호스트 디바이스로부터 패킷들을 계속 수신하면서, 역할 전환 정보를 제 2 디바이스로 전송하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제15항에 있어서,
    수신된 패킷들을 제 2 디바이스로부터 제 1 디바이스로 포워딩하는 단계는, 미리설정된 스케줄에 따라 포워딩하는 단계를 포함하며,
    상기 미리설정된 스케줄은, 제 1 디바이스의 컨트롤러와 제 2 디바이스의 컨트롤러에 프로그래밍되는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제15항에 있어서,
    상기 CPU 클록 속도를 증가시키는 단계는, 최대 속도 설정으로 CPU 클럭을 설정하는 단계를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제15항에 있어서,
    상기 오디오 버퍼들에 대한 미리결정된 레벨은 100-250ms 인 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020227029339A 2018-10-23 2019-10-23 2 스테이지 역할 전환 KR102533634B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/168,474 US10631363B1 (en) 2018-10-23 2018-10-23 Two stage role switch for fully wireless earbuds
US16/168,474 2018-10-23
PCT/US2019/057613 WO2020086689A1 (en) 2018-10-23 2019-10-23 Two stage role switch
KR1020207032595A KR102438670B1 (ko) 2018-10-23 2019-10-23 2 스테이지 역할 전환

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207032595A Division KR102438670B1 (ko) 2018-10-23 2019-10-23 2 스테이지 역할 전환

Publications (2)

Publication Number Publication Date
KR20220123331A KR20220123331A (ko) 2022-09-06
KR102533634B1 true KR102533634B1 (ko) 2023-05-17

Family

ID=68542832

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227029339A KR102533634B1 (ko) 2018-10-23 2019-10-23 2 스테이지 역할 전환
KR1020207032595A KR102438670B1 (ko) 2018-10-23 2019-10-23 2 스테이지 역할 전환

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207032595A KR102438670B1 (ko) 2018-10-23 2019-10-23 2 스테이지 역할 전환

Country Status (6)

Country Link
US (2) US10631363B1 (ko)
EP (2) EP3815392B1 (ko)
JP (2) JP7174776B2 (ko)
KR (2) KR102533634B1 (ko)
CN (2) CN116233680A (ko)
WO (1) WO2020086689A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109041142A (zh) * 2018-07-27 2018-12-18 Oppo广东移动通信有限公司 主耳机切换方法及相关设备
US10631363B1 (en) * 2018-10-23 2020-04-21 Google Llc Two stage role switch for fully wireless earbuds
US12075508B2 (en) * 2018-11-09 2024-08-27 Sony Interactive Entertainment Inc. Communication device and method of controlling a communication unit to operate as a master or a slave to an external apparatus
US11051260B2 (en) * 2019-01-07 2021-06-29 Motorola Mobility Llc Asynchronous quick connect for low-latency transitions of content presentation between two devices
US10778827B2 (en) * 2019-01-14 2020-09-15 Gear Radio Electronics Corp. Wireless signal transceiving method and wireless signal transceiving system using the same
US11013062B2 (en) * 2019-01-31 2021-05-18 Qualcomm Incorporated Fast role switch between bluetooth true wireless stereo (TWS) earbuds
CN111836059B (zh) * 2019-04-23 2022-03-29 华为技术有限公司 一种媒体流发送方法、装置和设备
US10979990B2 (en) * 2019-05-23 2021-04-13 Qualcomm Incorporated Seamless link transfers between primary and secondary devices
WO2020243921A1 (zh) * 2019-06-05 2020-12-10 深圳市汇顶科技股份有限公司 基于同步链路的拓扑切换方法、装置、系统及存储介质
US11032766B2 (en) * 2019-06-14 2021-06-08 Silicon Laboratories Inc. Wire-free bluetooth communication system with fast pairing
KR20210020648A (ko) * 2019-08-16 2021-02-24 삼성전자주식회사 블루투스 네트워크 환경에서 사전 동작을 수행하기 위한 전자 장치 및 그에 관한 방법
EP4046391A4 (en) * 2019-10-16 2023-03-15 Razer (Asia-Pacific) Pte. Ltd. AUDIO DEVICES AND METHODS OF OPERATING AN AUDIO DEVICE
US11663999B2 (en) * 2019-12-27 2023-05-30 Roland Corporation Wireless communication device, wireless communication method, and non-transitory computer-readable storage medium
CN111885553B (zh) * 2020-04-24 2023-09-12 珠海市杰理科技股份有限公司 蓝牙设备通信方法以及相关设备
CN111526440B (zh) * 2020-04-27 2022-03-01 歌尔科技有限公司 一种通话场景下tws耳机的主从耳切换方法、装置及介质
KR20210157131A (ko) 2020-06-19 2021-12-28 삼성전자주식회사 전자 디바이스로부터 무선으로 데이터를 수신하는 오디오 출력 장치 및 동작 방법
KR20220105402A (ko) 2021-01-20 2022-07-27 삼성전자주식회사 오디오 데이터를 처리하는 전자 장치와 이의 동작 방법
CN113645715B (zh) * 2021-10-13 2022-01-04 荣耀终端有限公司 用于监听链路的方法和终端设备
CN116074672A (zh) 2021-11-01 2023-05-05 缤特力股份有限公司 用于无线耳塞中的功耗平衡的系统
EP4185070B1 (en) * 2021-11-01 2024-06-05 Hewlett-Packard Development Company, L.P. System for power consumption balancing in wireless earbuds
US20240022525A1 (en) * 2022-06-21 2024-01-18 Skyworks Solutions, Inc. Systems, devices, and methods related to managing wireless device connections as a set
US20240089659A1 (en) * 2022-09-14 2024-03-14 Sonos, Inc. Bluetooth Line-In Stereo
WO2024071871A1 (ko) * 2022-09-27 2024-04-04 삼성전자주식회사 오디오 서비스를 제공하는 전자 장치 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130316642A1 (en) 2012-05-26 2013-11-28 Adam E. Newham Smart battery wear leveling for audio devices
US20160219358A1 (en) 2015-01-28 2016-07-28 Alpha Audiotronics, Inc. Wireless earbuds with reciprocating leader and follower configuration

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2476263B1 (en) * 2009-09-10 2014-04-23 Koss Corporation Synchronizing wireless earphones
CN104320843B (zh) * 2014-10-08 2020-07-24 络达科技股份有限公司 蓝牙发声装置的音频同步方法
US9924010B2 (en) 2015-06-05 2018-03-20 Apple Inc. Audio data routing between multiple wirelessly connected devices
US10117012B2 (en) 2015-09-28 2018-10-30 Apple Inc. Wireless ear buds with proximity sensors
KR102448786B1 (ko) * 2016-03-10 2022-09-30 삼성전자주식회사 전자 장치 및 그의 동작 방법
US10142750B2 (en) * 2016-04-22 2018-11-27 Apple Inc. Swapping roles between untethered wirelessly connected devices
US10206084B2 (en) * 2016-12-27 2019-02-12 Avago Technologies International Sales Pte. Limited Power-efficient, balanced, and reliable true wireless bluetooth stereo audio solution
CN107894881A (zh) * 2017-10-18 2018-04-10 恒玄科技(上海)有限公司 蓝牙耳机的主从连接切换、通话监听和麦克切换的方法
US10085216B1 (en) * 2017-11-09 2018-09-25 Shenzhen GOODIX Technology Co., Ltd. Balanced wireless data transmission
US11153701B2 (en) * 2018-01-19 2021-10-19 Cypress Semiconductor Corporation Dual advanced audio distribution profile (A2DP) sink
US10631363B1 (en) * 2018-10-23 2020-04-21 Google Llc Two stage role switch for fully wireless earbuds

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130316642A1 (en) 2012-05-26 2013-11-28 Adam E. Newham Smart battery wear leveling for audio devices
US20160219358A1 (en) 2015-01-28 2016-07-28 Alpha Audiotronics, Inc. Wireless earbuds with reciprocating leader and follower configuration

Also Published As

Publication number Publication date
CN112534830A (zh) 2021-03-19
US10631363B1 (en) 2020-04-21
WO2020086689A1 (en) 2020-04-30
US11272571B2 (en) 2022-03-08
EP3815392A1 (en) 2021-05-05
KR20220123331A (ko) 2022-09-06
JP7174776B2 (ja) 2022-11-17
US20200128617A1 (en) 2020-04-23
JP2022160663A (ja) 2022-10-19
EP4325998A2 (en) 2024-02-21
US20200205227A1 (en) 2020-06-25
CN112534830B (zh) 2023-03-28
CN116233680A (zh) 2023-06-06
EP3815392B1 (en) 2024-01-03
JP2021524210A (ja) 2021-09-09
EP4325998A3 (en) 2024-04-24
KR102438670B1 (ko) 2022-08-31
KR20200141496A (ko) 2020-12-18
JP7471355B2 (ja) 2024-04-19

Similar Documents

Publication Publication Date Title
KR102533634B1 (ko) 2 스테이지 역할 전환
WO2021082875A1 (zh) 主从蓝牙耳机切换的方法及装置、蓝牙耳机、系统
US11895456B2 (en) Sharing audio from a source device
KR101687881B1 (ko) 블루투스 저 에너지 표준을 사용한 데이터 전달
CN110166951B (zh) 无线音讯输出装置
JP5443918B2 (ja) 端末装置、音声出力方法および情報処理システム
KR102362406B1 (ko) 수신된 패킷의 데이터 유형 변화에 응답하여 동작 모드를 적응적으로 스위칭할 수 있는 다중 멤버 블루투스 장치의 메인 블루투스 회로와 서브 블루투스 회로
US11115885B2 (en) Audio synchronization during handover
US11438688B2 (en) Sharing audio from a source device
KR20210132116A (ko) 트루 무선 이어 버드를 위한 심리스 역할 전환
US9445205B2 (en) Dynamic hearing aid system and a method for configuring the hearing aid system
JP2020120366A (ja) オーディオ装置の制御方法及び制御回路
US20160353395A1 (en) Wireless communication apparatus and communication method
KR102337260B1 (ko) 수신된 패킷의 데이터 유형 변화에 응답하여 동작 모드를 적응적으로 스위칭할 수 있는 다중 멤버 블루투스 장치
KR102337259B1 (ko) 수신된 패킷의 데이터 유형 변화에 응답하여 동작 모드를 적응적으로 스위칭할 수 있는 다중 멤버 블루투스 장치 및 관련된 메인 블루투스 회로와 서브 블루투스 회로
EP3624356A1 (en) Wireless headset and signal transmission method for the same
CN114615729B (zh) 数据交互方法、耳机设备及计算机可读取存储介质
US20220417637A1 (en) Method and system for wireless transmission of audio data
US11381951B2 (en) Wireless Bluetooth (BT) audio output system and control method thereof
TWI757831B (zh) 能因應接收到的封包資料類型變化而適應性切換操作模式的多成員藍牙裝置中的主藍牙電路與副藍牙電路

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right