KR101620799B1 - 다수의 채널들에 걸친 프레임 싱크 - Google Patents

다수의 채널들에 걸친 프레임 싱크 Download PDF

Info

Publication number
KR101620799B1
KR101620799B1 KR1020157005150A KR20157005150A KR101620799B1 KR 101620799 B1 KR101620799 B1 KR 101620799B1 KR 1020157005150 A KR1020157005150 A KR 1020157005150A KR 20157005150 A KR20157005150 A KR 20157005150A KR 101620799 B1 KR101620799 B1 KR 101620799B1
Authority
KR
South Korea
Prior art keywords
sequence
hash values
data frames
processor
received data
Prior art date
Application number
KR1020157005150A
Other languages
English (en)
Other versions
KR20150038461A (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 KR20150038461A publication Critical patent/KR20150038461A/ko
Application granted granted Critical
Publication of KR101620799B1 publication Critical patent/KR101620799B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S1/00Two-channel systems
    • H04S1/002Non-adaptive circuits, e.g. manually adjustable or static, for enhancing the sound image or the spatial distribution
    • H04S1/005For headphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others
    • 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

Abstract

시스템들, 방법들 및 디바이스들은 수신된 데이터 프레임들을 해싱하여 해시 값들의 시퀀스를 생성하고, 생성된 해시 값 시퀀스를 제어 스트림에서 수신된 해시 값 시퀀스와 비교하며, 해시 값 시퀀스들이 매칭할 경우 데이터 프레임들을 프로세싱함으로써, 데이터 스트림들을 동기화한다. 소스 디바이스 및 다수의 수신기 디바이스들은, 해시 값들의 제 1 시퀀스를 생성하기 위해 각각의 데이터 프레임에 해시 함수를 적용하고, 제 1 채널 상에서 데이터 프레임들 및 제어 채널 상에서 해시 값들의 제 1 시퀀스를 송신하고, 수신기 디바이스들에서 데이터 프레임들 및 해시 값들의 제 1 시퀀스를 수신하고, 해시 값들의 제 2 시퀀스를 생성하기 위해 수신된 데이터 프레임들에 해시 알고리즘을 적용하고, 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하며, 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 경우 데이터 프레임들을 처리하여, 데이터 프레임들에 인코딩된 오디오 데이터를 동기화할 수도 있다.

Description

다수의 채널들에 걸친 프레임 싱크{FRAME SYNC ACROSS MULTIPLE CHANNELS}
무선 통신 기술들은 지난 수년에 걸쳐 개선되어 왔다. 무선 로컬 영역 네트워크들은 이제 많은 가정들 및 오피스들에서 유선 네트워크들을 대체하고 있다. 단거리 무선 기술들, 예컨대 Bluetooth® 및 WiFi 는 서로 상대적으로 짧은 거리 (예컨대, 100 미터 이하) 내에 있는 모바일 전자 디바이스들 (예컨대, 셀룰러 전화들, 스피커들, 시계들, 헤드폰들, 리모컨들, 등) 사이에 고속 통신들을 가능하게 한다. 이들 기술들이 계속해서 개선되고 인기가 증가하고 있기 때문에, 단거리 무선 기술들은 케이블들 또는 와이어들을 사용하여 디바이스들을 함께 접속해야하는 필요성을 대신하거나 대체하는 것으로 예상된다.
다양한 실시형태들은 통신 시스템 내의 데이터 스트림들을 동기화하도록 구성된, 시스템들, 방법들, 및 디바이스들을 포함한다.
다양한 실시형태들은 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법을 포함할 수도 있고, 그 방법은 제 1 무선 통신 링크를 통해 수신기 디바이스에서의 데이터 프레임들의 시퀀스를 수신하는 단계, 해시 값들의 제 1 시퀀스를 생성하기 위해 수신된 데이터 프레임들에 해시 알고리즘을 적용하는 단계, 해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 단계, 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계, 및 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계를 포함한다. 일 실시형태에서, 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계는 사운드를 생성하기 위해 오디오 데이터 프레임들을 프로세싱하기 시작하는 단계를 포함할 수도 있고, 수신기 디바이스는 복수의 무선 스피커 디바이스들 중 하나일 수도 있다. 일 실시형태에서, 데이터 프레임들의 시퀀스는 오디오 데이터 스트림을 포함할 수도 있고, 해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 단계는, 타임스탬프 정보를 포함하는 제어 스트림을 수신하는 단계를 포함할 수도 있고, 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계는, 타임스탬프 정보가 네트워크 클록 신호와 매칭할 때에 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 단계를 포함할 수도 있다. 일 실시형태에서, 데이터 프레임들의 시퀀스는 오디오 데이터 스트림일 수도 있고, 해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 단계는, 클록 정보를 포함하는 제어 스트림을 수신하는 단계를 포함할 수도 있고, 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계는, 수신된 클록 정보 및 네트워크 클록에 기반하여 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 단계를 포함할 수도 있다. 일 실시형태에서, 그 방법은 수신된 데이터 프레임들을 버퍼에 저장하는 단계, 및 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭하지 않을 때 버퍼에 저장된 가장 최근에 수신된 데이터 프레임들에 기반하여 해시들의 새로운 제 2 시퀀스를 생성하는 단계를 더 포함할 수도 있다. 일 실시형태에서, 수신된 데이터 프레임들에 해시 알고리즘을 적용하는 단계는 수신된 데이터 프레임들에 순환 중복성 검사를 적용하는 단계, 또는 수신된 데이터 프레임들에 순방향 에러 정정 알고리즘을 적용하는 단계를 포함할 수도 있다. 일 실시형태에서, 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계는 매칭이 존재할 때를 결정하기 위해 각각의 수신된 데이터 프레임에 대한 해시 값을 비교하는 단계, 및/또는 해시 값들의 패턴이 매칭할 때를 결정하기 위해 복수의 데이터 프레임들에 걸치는 해시 값들의 시퀀스를 비교하는 단계를 포함할 수도 있다. 일 실시형태에서, 제어 스트림은 제 1 무선 통신 링크의 부분으로서 송신될 수도 있으며, 이 경우 해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 단계는 제 1 무선 통신 링크로부터 제어 스트림을 수신하는 단계를 포함할 수도 있다. 대안적으로, 제어 스트림은 제 1 무선 통신 링크와 상이한 제 2 무선 통신 링크를 통해 송신될 수도 있으며, 이 경우 해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 단계는 제 2 무선 통신 링크로부터 제어 스트림을 수신하는 단계를 포함할 수도 있다.
다양한 실시형태들은 소스 디바이스에 의해 다수의 수신기 디바이스들로 송신된 오디오 데이터를 동기화하는 방법을 포함할 수도 있으며, 그 방법은, 오디오 데이터를 데이터 프레임들의 시퀀스로 인코딩하는 단계, 해시 값들의 제 1 시퀀스를 생성하기 위해 데이터 프레임들의 각각에 해시 함수를 적용하는 단계, 제 1 채널 상에서 데이터 프레임들을 송신하는 단계, 제어 채널 상에서 해시 값들의 제 1 시퀀스를 송신하는 단계, 다수의 수신기 디바이스들의 각각에서 데이터 프레임들 및 해시 값들의 제 1 시퀀스를 수신하는 단계, 해시 값들의 제 2 시퀀스를 생성하기 위해 수신된 데이터 프레임들에 다수의 수신기 디바이스들의 각각에서의 해시 알고리즘을 적용하는 단계, 다수의 수신기 디바이스들의 각각에서 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계, 및 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 다수의 수신기 디바이스들의 각각에서 수신된 데이터 프레임들을 프로세싱하기 시작하는 단계를 포함한다. 일 실시형태에서, 다수의 수신기 디바이스들은 제 1 및 제 2 스피커 디바이스들일 수도 있고, 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 다수의 수신기 디바이스들의 각각에서 수신된 데이터 프레임들을 프로세싱하기 시작하는 단계는 단일의 48 KHz 샘플 내에서 동기화되는 제 1 및 제 2 스피커 디바이스들에 의해 오디오가 생성되도록, 제 1 및 제 2 스피커 디바이스들의 각각에서 데이터 프레임들을 디코딩하기 시작하는 단계를 포함할 수도 있다. 일 실시형태에서, 제어 채널 상에서 해시 값들의 제 1 시퀀스를 송신하는 단계는 제 1 채널을 또한 송신하는 무선 통신 링크의 부분으로서 제어 채널 상에서 해시 값들의 제 1 시퀀스를 송신하는 단계를 포함할 수도 있다. 일 실시형태에서, 제어 채널 상에서 해시 값들의 제 1 시퀀스를 송신하는 단계는 제 1 채널과 상이한 무선 통신 링크를 통해 제어 채널 상에서 해시 값들의 제 1 시퀀스를 송신하는 단계를 포함할 수도 있다.
다양한 실시형태들은 또한, 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 데이터 프레임들의 제 1 시퀀스를 포함하는 오디오 신호에 기반하여 제 1 무선 수신기 디바이스 및 제 2 무선 수신기 디바이스에 의해 오디오 출력을 동기화하는 방법을 포함할 수도 있고, 그 방법은 제 1 Bluetooth® 통신 링크 상으로, 제 1 무선 수신기 디바이스에서 데이터 프레임들의 제 1 시퀀스로서 오디오 신호를 수신하는 단계, 수신된 데이터 프레임들의 제 1 시퀀스를 제 1 무선 수신기 디바이스의 클록에 정렬하는 단계, 제 2 Bluetooth® 통신 링크 상으로, 제 1 무선 수신기 디바이스로부터 제 2 무선 수신기 디바이스로 데이터 프레임들의 제 2 시퀀스로서 오디오 신호의 적어도 제 2 오디오 채널 부분을 전송하는 단계로서, 상기 제 2 Bluetooth® 통신 링크는 Bluetooth® 클록 신호를 포함하는, 상기 전송하는 단계, 제 2 무선 수신기 디바이스에서 데이터 프레임들의 제 2 시퀀스를 수신하는 단계, 및 제 2 무선 수신기 디바이스에서의 제 2 오디오 채널이 제 1 오디오 채널의 20 ㎲ 내에서 정렬되도록 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신된 데이터 프레임들의 제 2 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하는 단계를 포함한다. 일 실시형태에서, 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신되고 정렬된 데이터 프레임들의 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하는 단계는 수신된 데이터 프레임들의 제 2 시퀀스를 디코딩하는 단계, 디코딩된 프레임들을 오디오 샘플들로서 제 2 무선 수신기 디바이스의 버퍼에 저장하는 단계, 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는지를 결정하는 단계, 및 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는 것으로 결정하는 것에 응답하여, 버퍼로부터 오디오 샘플들을 추가하거나 제거하는 단계를 포함한다. 추가의 실시형태에서, 오디오 신호의 적어도 제 2 오디오 채널 부분을 데이터 프레임들의 제 2 시퀀스로서 제 1 무선 수신기 디바이스로부터 제 2 무선 수신기 디바이스로 전송하는 단계는 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 오디오 신호를 중계하는 단계를 포함할 수도 있다.
추가의 실시형태는 메모리 및 전술된 방법들의 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성된 프로세서를 포함하는 통신 디바이스를 포함할 수도 있다.
추가의 실시형태는 무선 데이터 소스 디바이스 및 복수의 수신기 디바이스들을 포함하는 통신 시스템을 포함할 수도 있고, 그 시스템에서 무선 데이터 소스 디바이스는 전술된 방법들의 동작들을 수행하도록 구성된 프로세서 및 무선 트랜시버를 포함하고, 복수의 수신기 디바이스들은 각각 수신기 회로 (예컨대, 라디오 또는 무선 트랜시버) 및 전술된 방법들의 동작들을 수행하도록 구성된 프로세서를 포함한다.
추가의 실시형태는 전술된 방법들의 동작들의 기능들을 수행하는 수단들을 포함하는 통신 시스템을 포함할 수도 있다.
추가의 실시형태는 무선 데이터 소스 디바이스의 프로세서들 및 수신기 디바이스들로 하여금 전술된 방법들의 동작들을 수행하게 하도록 구성된 프로세서 실행가능 명령들을 저장한 비-일시적 프로세서 판독가능 저장 매체를 포함할 수도 있다.
추가의 실시형태들은, 제 1 Bluetooth® 트랜시버를 갖는 제 1 무선 수신기 디바이스, 제 2 Bluetooth® 트랜시버를 갖는 제 2 무선 수신기 디바이스, 제 1 Bluetooth® 통신 링크 상으로, 제 1 무선 수신기 디바이스에서 데이터 프레임들의 제 1 시퀀스로서 오디오 신호를 수신하는 수단, 수신된 데이터 프레임들의 제 1 시퀀스를 제 1 무선 수신기 디바이스의 클록에 정렬하는 수단, 제 2 Bluetooth® 통신 링크 상으로, 제 1 무선 수신기 디바이스로부터 제 2 무선 수신기 디바이스로 데이터 프레임들의 제 2 시퀀스로서 오디오 신호의 적어도 제 2 오디오 채널 부분을 전송하는 수단으로서, 상기 제 2 Bluetooth® 통신 링크는 Bluetooth® 클록 신호를 포함하는, 상기 전송하는 수단, 제 2 무선 수신기 디바이스에서 데이터 프레임들의 제 2 시퀀스를 수신하는 수단, 및 제 2 무선 수신기 디바이스에서의 제 2 오디오 채널이 제 1 오디오 채널의 20 ㎲ 내에서 정렬되도록 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신된 데이터 프레임들의 제 2 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하는 수단을 포함한다. 일 실시형태에서, 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신되고 정렬된 데이터 프레임들의 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하는 것은, 수신된 데이터 프레임들의 제 2 시퀀스를 디코딩하는 수단, 디코딩된 프레임들을 오디오 샘플들로서 제 2 무선 수신기 디바이스의 버퍼에 저장하는 수단, 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는지를 결정하는 수단, 및 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는 것으로 결정하는 것에 응답하여, 버퍼로부터 오디오 샘플들을 추가하거나 제거하는 수단을 포함한다. 추가의 실시형태에서, 오디오 신호의 적어도 제 2 오디오 채널 부분을 데이터 프레임들의 제 2 시퀀스로서 제 1 무선 수신기 디바이스로부터 제 2 무선 수신기 디바이스로 전송하는 수단은 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 오디오 신호를 중계하는 수단을 포함할 수도 있다.
추가의 실시형태들은 제 1 Bluetooth® 트랜시버, 제 1 메모리, 및 제 1 Bluetooth® 트랜시버와 제 1 메모리에 커플링된 제 1 프로세서를 갖는 제 1 무선 수신기 디바이스, 및 제 2 Bluetooth® 트랜시버, 제 2 메모리, 및 제 2 Bluetooth® 트랜시버와 제 2 메모리에 커플링된 제 2 프로세서를 갖는 제 2 무선 수신기 디바이스를 포함하는 통신 시스템을 포함할 수도 있다. 이러한 실시형태에서, 제 1 프로세서는 제 1 Bluetooth® 통신 링크 상으로, 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 데이터 프레임들의 제 1 시퀀스를 포함하는 오디오 신호를 제 1 Bluetooth® 트랜시버를 통해 수신하고, 수신된 데이터 프레임들의 제 1 시퀀스를 제 1 무선 수신기 디바이스의 클록에 정렬하고, 제 2 Bluetooth® 통신 링크 상으로, 제 2 무선 수신기 디바이스로 오디오 신호의 적어도 제 2 오디오 채널 부분을 데이터 프레임들의 제 2 시퀀스로서 전송하는 것으로서, 상기 제 2 Bluetooth® 통신 링크는 Bluetooth® 클록 신호를 포함하는, 상기 전송하는 것을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성될 수도 있다. 또한 이러한 실시형태에서, 제 2 프로세서는 데이터 프레임들의 제 2 시퀀스를 제 2 Bluetooth® 트랜시버를 통해 수신하고, 수신된 데이터 프레임들의 제 2 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하고, 제 2 무선 수신기 디바이스에서의 제 2 오디오 채널이 제 1 오디오 채널의 20 ㎲ 내에서 정렬되도록 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신된 데이터 프레임들의 제 2 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하는 것을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성될 수도 있다. 일 실시형태에서, 제 2 프로세서는, 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신되고 정렬된 데이터 프레임들의 시퀀스를 제 2 무선 수신기 디바이스의 클록에 정렬하는 것이 수신된 데이터 프레임들의 제 2 시퀀스를 디코딩하고, 디코딩된 프레임들을 오디오 샘플들로서 제 2 메모리에 저장하고, 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는지를 결정하며, 그리고 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는 것으로 결정하는 것에 응답하여, 버퍼로부터 오디오 샘플들을 추가하거나 제거하는 것을 포함할 수도 있도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성될 수도 있다. 추가의 실시형태에서, 제 1 프로세서는, 오디오 신호의 적어도 제 2 오디오 채널 부분을 데이터 프레임들의 제 2 시퀀스로서 제 2 무선 수신기 디바이스로 전송하는 것이 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 오디오 신호를 중계하는 수단을 포함할 수도 있도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성될 수도 있다.
추가의 실시형태들은 Bluetooth® 수신기 디바이스의 프로세서로 하여금, Bluetooth® 피코넷에서의 마스터 수신기로서 기능하는 것을 포함하여, 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 데이터 프레임들의 제 1 시퀀스를 포함하는 오디오 신호에 기반하는 다른 Bluetooth® 수신기 디바이스 오디오 출력과 동기화하기 위한 동작들을 수행하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들을 저장한 비-일시적 프로세서 판독가능 저장 매체를 포함한다. 저장된 프로세서 실행가능 소프트웨어 명령들은, 제 1 Bluetooth® 통신 링크 상으로, 데이터 프레임들의 제 1 시퀀스로서 오디오 신호를 수신하고, 수신된 데이터 프레임들의 제 1 시퀀스를 제 1 무선 수신기 디바이스의 클록에 정렬하고, 제 2 Bluetooth® 통신 링크 상으로, 슬레이브 무선 수신기 디바이스로 데이터 프레임들의 제 2 시퀀스로서 오디오 신호의 적어도 제 2 오디오 채널 부분을 전송하는 것으로서, 상기 제 2 Bluetooth® 통신 링크는 Bluetooth® 클록 신호를 포함하는, 상기 전송하고, 그리고 마스터 무선 수신기 디바이스로부터 데이터 프레임들의 제 2 시퀀스를 수신하고, 그리고 무선 수신기 디바이스에서의 제 2 오디오 채널이 제 1 오디오 채널의 20 ㎲ 내에서 정렬되도록 제 2 Bluetooth® 통신 링크에서의 Bluetooth® 클록 신호를 사용하여 수신된 데이터 프레임들의 제 2 시퀀스를 무선 수신기 디바이스의 클록에 정렬하는 것을 포함하는 동작들을 수행함으로써 Bluetooth® 피코넷에서의 슬레이브 디바이스로서 기능하는 것을 포함하는 동작들을 수행하기 위한 명령들을 포함할 수도 있다. 일 실시형태에서, 저장된 프로세서 실행가능 소프트웨어 명령들은, Bluetooth® 수신기 디바이스의 프로세서로 하여금, 제 2 Bluetooth® 통신 링크에서 제공된 클록을 사용하여 수신되고 정렬된 데이터 프레임들의 시퀀스를 무선 수신기 노드의 클록에 정렬하는 것이 수신된 데이터 프레임들의 제 2 시퀀스를 디코딩하고, 디코딩된 프레임들을 오디오 샘플들로서 버퍼에 저장하고, 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는지를 결정하며, 그리고 제 2 무선 수신기의 클록과 Bluetooth® 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는 것으로 결정하는 것에 응답하여, 버퍼로부터 오디오 샘플들을 추가하거나 제거하는 것을 포함할 수도 있도록 하는 동작들을 수행하게 하도록 구성될 수도 있다. 추가의 실시형태에서, 저장된 프로세서 실행가능 소프트웨어 명령들은, 오디오 신호의 적어도 제 2 오디오 채널 부분을 데이터 프레임들의 제 2 시퀀스로서 슬레이브 무선 수신기 디바이스로 전송하는 것이 제 1 오디오 채널 및 제 2 오디오 채널을 포함하는 오디오 신호를 중계하는 것을 포함할 수도 있도록 하는 동작들을 수행하게 하도록 구성될 수도 있다.
본원에 통합되고 본 명세서의 부분을 구성하는 첨부된 도면들은 본 발명의 예시적인 실시형태들을 도시하고, 위에서 주어진 일반적인 설명 및 하기에 주어지는 상세한 설명과 함께 본 발명의 피처들을 설명하는 역할을 한다.
도 1 은 다양한 실시형태들을 구현하기에 적합한 복합 전자 디바이스에서의 예시적인 컴포넌트들 및 통신 링크들을 도시하는 컴포넌트 블록도이다.
도 2 는 다양한 실시형태들을 구현하기에 적합한 다른 예시적인 무선 통신 시스템을 도시하는 컴포넌트 블록도이다
도 3 은 다양한 실시형태들을 구현하기에 적합한 무선 시스템에서의 예시적인 논리 컴포넌트들 및 정보 흐름들을 도시하는 시스템 컴포넌트 블록도이다.
도 4a 는 복수의 무선 오디오 수신기 디바이스들에서 복수의 무선 오디오 스트림들을 동기화하는 일 실시형태의 수신기 디바이스 방법의 프로세스 흐름도이다.
도 4b 는 다양한 실시형태들에 따라 복수의 무선 오디오 수신기 디바이스들에서 동기화하기에 적합한 무선 오디오 스트림을 생성하는 일 실시형태의 소스 디바이스 방법의 프로세스 흐름도이다.
도 4c 는 개별 Bluetooth® 라디오들을 갖는 디바이스들에서 오디오 스트림들을 동기화하기 위해 무선 수신기 노드들에서 구현될 수도 있는 일 실시형태의 방법의 프로세스 흐름도이다.
도 5 는 다양한 실시형태들과 함께 이용하기에 적합한 무선 손목 시계형 컴퓨팅 디바이스의 도면이다.
도 6 은 다양한 실시형태들과 함께 이용하기에 적합한 무선 이어폰의 도면이다.
도 7 은 다양한 실시형태들과 함께 이용하기에 적합한 예시적인 모바일 디바이스의 도면이다.
도 8 은 다양한 실시형태들과 함께 이용하기에 적합한 예시적인 랩톱 컴퓨터의 도면이다.
다양한 실시예들은 첨부된 도면들을 참조하여 상세히 설명될 것이다. 가능하다면, 동일한 또는 유사한 부분들을 참조하기 위해, 도면들 전체에 걸쳐 동일한 도면 부호들이 사용될 것이다. 특정 예들 및 구현들에 대해 이루어진 참조들은 예시용이고, 본 발명 또는 본 청구항들의 범위를 제한하도록 의도되지는 않는다.
용어 "컴퓨팅 디바이스" 는 본원에서 일반적으로, 서버들, 퍼스널 컴퓨터들, 랩톱 컴퓨터들, 태블릿 컴퓨터들, 모바일 디바이스들, 셀룰러 전화기들, 스마트북들, 울트라북들, 팜탑 컴퓨터들, 개인용 데이터 어시스턴트 (PDA) 들, 무선 전자 이메일 수신기들, 멀티미디어 인터넷-인에이블 셀룰러 전화기들, 글로벌 포지셔닝 시스템 (GPS) 수신기들, 무선 게임 제어기들, 및 정보를 무선으로 전송하거나 수신하기 위한 프로그램가능 프로세서 및 회로를 포함하는 다른 유사한 전자 디바이스들 중 임의의 하나 또는 전부를 지칭하기 위해 사용된다.
용어들 "무선 디바이스" 및 "무선 노드" 는 본원에서 정보를 무선으로 전송 및/또는 수신하기 위한 회로를 포함하는 임의의 전자 디바이스를 지칭하기 위해 사용되고, 셀룰러 전화기들, 퍼스널 또는 모바일 멀티미디어 플레이어들, 시계들, 손목 디스플레이들, 의료용 디바이스들, 헤드셋들, 헤드폰들, 스피커들, 마이크로폰들, 및 다른 유사한 전자기기들 중 임의의 하나 또는 모두를 포함할 수도 있다.
용어 "Bluetooth®-인에이블 디바이스" 는 본원에서, Bluetooth® 프로토콜 스택/인터페이스를 구현하기 위한 무선 주파수 (RF) 라디오 및 프로세서 또는 회로를 포함하는 임의의 전자 디바이스를 지칭하기 위해 사용된다. Bluetooth® 는 단거리 무선 주파수 (RF) 통신들을 위한 공개 표준이다. Bluetooth® 표준들, 인터페이스들, 및 기술의 세부사항들은 2010 년 6 월 30 일자 Bluetooth® 시스템 버전 4.0 의 Bluetooth® 특별 관심 그룹 (SIG) 명세에서 설명되며, 이는 그 전체가 참조로서 본원에 포함된다.
모바일 디바이스 및 무선 기술들이 계속해서 개선되고 인기가 증가함에 따라, 단거리 무선 기술들은 케이블들 또는 와이어들을 사용하여 디바이스들을 함께 접속해야하는 필요성을 대신하거나 대체할 것으로 예상된다. 그러나, 무선 통신 링크 상으로 무선 오디오 수신기 디바이스들 (예컨대, 무선 북셸프형 스피커들, 헤드폰들, 등) 에 스테레오 사운드를 제공하는 것은 기존의 해결책들에 의해 해결되지 않는 고유한 도전과제들을 제시한다.
사용자들에게 완전한 스테레오 경험 (예컨대, 공간 깊이, 방향성, 등) 을 제공하기 위해, 좌측 및 우측 오디오 신호들은 각각의 귀에서 생성된 사운드가 정확한 시간에 수신되도록 코디네이트되어야만 한다. 그 신호들은 의도된 스테레오 또는 서라운드 사운드 효과를 생성하도록 충분히 이격되어야만 하지만, 신호 지연들이 사람의 귀에 인식가능하도록 하지는 않는다. 평균적인 사람의 귀는 약 12 내지 18 ㎲ 의 귀와 귀 사이 지연들을 인식할 수 있기 때문에, 최적의 스테레오 사운드 경험을 사용자들에게 제공하기 위해, 약 48 KHz 이상의 샘플링 주파수가 요구될 수도 있다. 즉, 완전한 스테레오 사운드 경험을 사용자들에게 제공하는 것은 좌측 및 우측 오디오 신호들이 단일의 48 KHz 샘플 내에서 생성되는 것을 요구할 수도 있다. 이는 예컨대, 대응하는 스피커들에 의해 생성된 사운드들이 허용가능한 시간에 (예컨대, 계산된 범위 또는 시간 윈도우 내에) 사용자에게 도달하도록 좌측 및 우측 오디오 스트림들을 동기화함으로써 달성될 수도 있다. 그러나, 오디오 스트림들의 그러한 동기화는 다수의 독립적인 오디오 수신기 노드들을 갖는 무선 시스템들에게는 어렵다.
통상의 무선 시스템은 데이터 프레임들/패킷들에 삽입된 오디오 정보를 무선 공중 인터페이스에 걸쳐 2 이상의 무선 오디오 수신기 디바이스들 (예컨대, 좌측 및 우측 스피커들) 에 전송하는, 무선 오디오 소스 디바이스 (예컨대, 미디어 플레이어) 를 포함한다. 프레임들/패킷들은 개별적인 좌측 및 우측 통신 채널들을 통해 오디오 수신기 디바이스들로 송신될 수도 있고, 이들 통신 채널들 각각은, 각각의 스피커 (예컨대, 좌측 및 우측) 가 상이한 시간에 신호를 수신하게 하는 상이한 전파 지연들 및 송신 에러들을 경험할 수도 있다. 무선 오디오 수신기 디바이스들이 독립적이므로, 이들 디바이스들은 통상적으로, 데이터 스트림들을 동기화하는데 사용될 수도 있는 어떤 하드웨어 (예컨대, 공통 클록) 도 공유하지 않는다. 그러므로, 좌측 및 우측 스피커들 양자 또는 이어폰으로부터의 오디오 재생이 최적의 스테레오 사운드 및 만족할만한 사용자 경험을 위해 요구되는 좁은 좌/우측 동기화 허용오차 내에서 생성되도록, 무선 수신기 디바이스들이 신호들을 동기화하는 것은 어렵다.
다양한 실시형태들은 인간의 인지 요건들을 만족시키기 위해 요구되는 좁은 범위들 내에서 사용자에게 도달하는 사운드들을 생성하기 위해, 무선 오디오 수신기 디바이스들에서 복수의 무선 오디오 스트림들을 동기화하는 방법들을 제공한다. 동기화는, 오디오 스트림의 프레임들로부터 계산된 해시들을 오디오 소스에 의해 개별 제어 스트림에서 수신기 노드에 제공되는 해시들 중 하나 또는 해시들의 시퀀스와 비교함으로써, 각각의 무선 수신기 노드에서 독립적으로 수행될 수도 있다. 무선 수신기 노드들은 수신된 오디오 프레임들로부터 계산된 해시들이 제어 스트림에서 수신된 해시들과 매칭하는 것으로 결정하는 것에 응답하여, 오디오를 디코딩 및 렌더링할 수도 있다.
다양한 실시형태들은 Bluetooth® 및 Bluetooth® 관련 전문용어를 이용하여, 서로 상대적으로 짧은 거리 (예를 들어, 100 미터) 내에 위치된 전자 디바이스들을 무선으로 접속하기 위한 통신 기술의 간편한 예로서 기술된다. 그러나, Bluetooth® 를 지칭하는 예들, 및 본원에서 Bluetooth® 에 대한 다른 참조들은 단지 예시용일 뿐이고, 상세한 설명들 또는 청구항들을 특정 표준에 제한하려는 것은 아니다. 따라서, 청구항들의 범위는 청구항들에서 특별히 언급되지 않는 한 Bluetooth® 기술을 요구하는 것으로 해석되어서는 안된다.
Bluetooth® 기술은 전자 디바이스들 (예를 들어, 헤드폰들, 셀룰러 폰들, 시계들, 랩톱들, 리모컨들, 등) 사이에 접속하여 정보를 교환하기 위한 안전한 방식을 제공한다. Bluetooth® 통신들은 ("애드 혹" 또는 "피어-투-피어" 네트워크들로도 지칭되는) 무선 개인 영역 네트워크들을 확립하는 것을 요구할 수도 있다. 이러한 애드 혹 네트워크들은 보통 "피코넷 (piconet) 들" 이라고 불린다. 각각의 디바이스는 다수의 피코넷들에 속할 수도 있다. 다수의 상호접속된 피코넷들은 "스캐터넷들" 로 불릴 수도 있다. 스캐터넷은 제 2 피코넷에 참여하기 위해 제 1 피코넷의 일원을 선택하는 경우에 형성될 수도 있다.
Bluetooth® 프로파일은 Bluetooth®-인에이블 디바이스들이 다른 Bluetooth® 디바이스들과 통신하는 일반적인 거동들을 설명한다. 예를 들어, A2DP (advanced audio distribution profile) 는 어드밴스드 오디오 데이터가 Bluetooth®-인에이블 디바이스들로부터 다른 Bluetooth®-인에이블 디바이스로 스트리밍될 수도 있는 Bluetooth® 채널의 생성을 가능하게 하는 Bluetooth® 프로파일이다. A2DP 는 Bluetooth®-인에이블 디바이스들에 대하여 소스 역할 (SRC) 과 싱크 역할 (SNK) 을 정의하며, 소스 역할 (SRC) 로 동작하는 디바이스들은 디지털-오디오 데이터를 송신하는 것을 담당하고, 싱크 역할 (SNH) 로 동작하는 디바이스들은 디지털-오디오 스트림을 수신하는 것을 담당한다.
도 1 은 다양한 실시형태들을 구현하기에 적합한 예시적인 무선 통신 시스템 (100) 을 도시하는 컴포넌트 블록도이다. 도 1 의 도시된 예에서, 무선 시스템 (100) 은 좌측 이어폰 (102), 우측 이어폰 (104), 및 손목 디스플레이 (106) 를 포함하며, 이들의 각각은 독립적으로 Bluetooth® 가능할 수도 있다. 각각의 무선 컴포넌트 (102, 104, 106) 는 무선 통신 링크들/페어링들 (116) 을 통해 다른 컴포넌트들의 각각에 개별적으로 페어링될 수도 있지만, 일부 실시형태들에서 이어폰들 (102, 104) 은 서로 통신하지 않을 수도 있다. 일 실시형태에서, 손목 디스플레이 (106) 와 이어폰들 (102, 104) 의 각각 사이의 무선 통신 링크 (116) 는 공통 채널 (118) 을 포함하거나, 공통 채널 (118) 에 의해 보완될 수도 있다. 다양한 실시형태들에서, 공통 채널 (118) 은 개별 통신 채널일 수도 있거나, 미디어 데이터가 통신되는 메인 무선 통신 링크 (116) 의 일 부분이거나 메인 무선 통신 링크 (116) 를 공유할 수도 있다. 일 실시형태에서, 컴포넌트들 (102, 104, 106) 은 A2DP (advanced audio distribution profile) 구성으로 함께 커플링될 수도 있다. 예를 들어, 손목 디스플레이 (106) 는 소스 (SRC) 로서 동작할 수도 있고, 좌측 및 우측 이어폰들 (102, 104) 은 싱크들 (SNK) 로서 동작할 수도 있다.
손목 디스플레이 (106) 는 오디오 데이터를 생성하기 위한 미디어 플레이어, 오디오 데이터를 오디오 데이터 패킷들로 인코딩하기 위한 인코더, 및 오디오 스트림들을 이어폰들 (102, 104) 에 무선으로 송신하기 위한 송신기를 포함할 수도 있다. 이어폰들 (102, 104) 은 무선 오디오 스트림들을 수신하기 위한 수신기, 수신된 오디오 스트림들을 오디오 데이터로 디코딩하기 위한 디코더, 및 손목 디스플레이 (106), 다른 이어폰 (104, 102), 또는 3 자 디바이스 (예컨대, 셀폰, 미디어 플레이어, 텔레비전, 등) 으로부터 수신된 오디오 데이터에 기반하여 사운드들을 생성하기 위한 스피커를 포함할 수도 있다.
일 실시형태에서, 손목 디스플레이 (106) 는 이어폰들 (102, 104) 각각에 오디오 데이터 스트림 및/또는 제어 스트림을 송신하도록 구성될 수도 있다. 일 실시형태에서, 제어 스트림은 오디오 데이터 패킷들을 운반하는 무선 통신 채널의 부분 (예컨대, 오버헤드 컴포넌트) 으로서 송신될 수도 있다. 다른 실시형태에서, 제어 스트림은 개별 대역 외 채널 (즉, 오디오 데이터 패킷들을 운반하는 무선 통신 채널과는 상이한 채널) 을 통해 송신될 수도 있다. 일 실시형태에서, 손목 디스플레이 (106) 는 오디오 및/또는 제어 스트림들을 제 1 이어폰 (예컨대, 좌측 이어폰 (102)) 으로 송신할 수도 있으며, 제 1 이어폰은 무선 송신물을 수신하여 제 2 이어폰 (예컨대, 우측 이어폰 (104)) 으로 중계할 수도 있다.
도 2 는 다양한 실시형태들을 구현하기에 적합한 다른 무선 통신 시스템 (200) 을 도시하는 컴포넌트 블록도이다. 도 2 에 도시된 예에서, 무선 시스템 (200) 은 좌측 무선 스피커 (202), 우측 무선 스피커 (204), 및 미디어 소스, 예컨대 텔레비전 소스 (206) 및/또는 스테레오 오디오 소스 (208) 를 포함하며, 이들 각각은 독립적으로 Bluetooth® 가능할 수도 있다. 미디어 소스 (206, 208) 는 휴대용 미디어 플레이어, 컴퓨팅 디바이스, 스마트 TV, 모바일 폰, 또는 Bluetooth® 접속을 통해 미디어를 무선으로 스트리밍하기 위한 회로를 갖는 임의의 다른 전자 디바이스일 수도 있다.
무선 스피커들 (202, 204) 은 Bluetooth® 링크들과 같은 무선 통신 링크들/페어링들 (116) 을 통해 미디어 소스 (206) 에 독립적으로 페어링될 수도 있다. 일 실시형태에서, 무선 스피커들 (202, 204) 및 미디어 소스 (206) 는 A2DP (advanced audio distribution profile) 구성으로 함께 커플링될 수도 있다. 예를 들어, 미디어 소스 (206) 는 소스 (SRC) 로서 동작할 수도 있고, 좌측 및 우측 무선 스피커들 (202, 204) 은 싱크들 (SNK) 로서 동작할 수도 있다. 도 1 에 도시된 실시형태와 유사하게, 미디어 소스 (206, 208) 와 무선 스피커 (202, 204) 의 각각 사이의 무선 통신 링크들 (116) 은 공통 채널 (118) 을 포함하거나 공통 채널 (118) 에 의해 보완될 수도 있다. 다양한 실시형태들에서, 공통 채널 (118) 은 개별 통신 채널일 수도 있거나, 미디어 데이터가 통신되는 메인 무선 통신 링크 (116) 의 일 부분이거나 메인 무선 통신 링크 (116) 를 공유할 수도 있다.
미디어 소스 (206) 는 오디오 데이터를 오디오 데이터 패킷들로 인코딩하기 위한 인코더 및 오디오 스트림들을 좌측 및 우측 무선 스피커들 (202, 204) 에 무선으로 송신하기 위한 송신기를 포함할 수도 있다. 무선 스피커들 (202, 204) 은 무선 오디오 스트림들을 수신하기 위한 수신기, 수신된 오디오 스트림들을 오디오 데이터로 디코딩하기 위한 디코더, 및 사운드들을 생성하기 위한 스피커를 포함할 수도 있다. 일 실시형태에서, 오디오 데이터는 시간 분할 다중 액세스 (TDMA) 네트워크의 상이한 순차적인 통신 프레임들을 통해 미디어 소스 (206) 로부터 좌측 및 우측 무선 스피커들 (202, 204) 로 송신될 수도 있다.
일반적으로, 공간 깊이와 방향성의 인지는 좌측 및 우측 스피커들 또는 이어폰들의 각각에 의해 생성된 사운드들의 상대적인 타이밍을 정확히 제어함으로써 생성될 수도 있다. 그러나, 프레임들/패킷들은 상이한 전파 지연들 또는 송신 에러들을 경험할 수도 있는 개별 좌측 및 우측 통신 채널들을 통해 개별 무선 스피커들로 송신될 수도 있다. 이는 각각의 스피커가 약간 상이한 시간에 신호를 수신하게 할 수도 있다. 오디오 신호들이 상이한 전달 시간 특징들을 가질 수도 있는 상이한 채널들에 걸쳐 복수의 물리적으로 떨어진 스피커 디바이스들로 스트리밍되기 때문에, 오디오 신호들은 스피커들로부터 생성된 사운드들이 만족할만한 사용자 경험을 위해 요구되는 상대적인 지연 허용 오차 내에서 청취자에게 도달하도록 하기 위해 동기화 및/또는 코디네이트되어야만 한다. 다양한 실시형태들은 정확한 시간에 사용자에게 도달하는 사운드들을 생성하기 위해, 무선 오디오 수신기 디바이스들에서 복수의 무선 오디오 스트림들을 동기화하는 방법들을 제공한다.
도 3 은 다양한 실시형태들을 구현하기에 적합한 무선 시스템 (300) 에서의 예시적인 논리 컴포넌트들 및 정보 흐름들을 도시한다. 도 3 에 도시된 예에서, 무선 시스템 (300) 은 소스 디바이스 (302), 제 1 스피커 디바이스 (304), 및 제 2 스피커 디바이스 (306) 를 포함한다. 소스 및 스피커 디바이스들 (302, 304, 306) 은 Bluetooth® A2DP (advanced audio distribution profile) 구성과 같은 무선 구성으로 함께 커플링될 수도 있다.
제 1 및 제 2 스피커 디바이스들 (304, 306) 의 각각은 데이터 스트림 (316) 을 수신하기 위한 수신기 회로 (330, 332) (예컨대, Bluetooth® 트랜시버), 수신된 데이터를 저장하기 위한 메모리 (320, 322) 및 데이터를 오디오 출력으로 디코딩하기 위한 디코더 (324, 326) 를 포함할 수도 있다. 소스 디바이스 (302) 는 오디오 데이터를 데이터 스트림 (316) 으로 인코딩하기 위한 인코더 (308), 제어 스트림 (318) 을 생성하기 위한 제어기 (310), 및 데이터 및 제어 스트림들 (316, 318) 을 제 1 및 제 2 스피커 디바이스들 (304, 306) 로 전송하기 위한 송신기 (312) 를 포함할 수도 있다. 제어 스트림 (318) 은 데이터 스트림을 송신하는데 사용된 링크와 별개인 논리적 링크 상으로 송신되는 대역 외 제어 스트림일 수도 있다. 송신기 (312) 는 데이터 및 제어 스트림들 (316, 318) 을 브로드캐스트, 멀티캐스트, 사이멀캐스트 (simulcast), 유니캐스트 또는 이들의 임의의 조합을 통해 제 1 및 제 2 스피커 디바이스들 (304, 306) 에 전송할 수도 있다.
인코더 (308) 는 (예컨대, 소스 디바이스의 미디어 플레이어로부터, 외부 디바이스로부터, 등등) 오디오 데이터를 수신하고, 오디오 데이터를 프레임들 (예를 들면, 프레임들 d, c, b, a) 로 인코딩할 수도 있다. 이는 임의의 프레임-기반 전송 기술 또는 통신 프로토콜을 사용하여 달성될 수도 있다. 소스 디바이스 (302) 는 제 1 및 제 2 스피커 디바이스들 (304, 306) 로의 송신을 위해 프레임들을 오디오 데이터 패킷 스트림들 (316) 로 패키징할 수도 있다. 오디오 스트림들 (316) 은 송신기 (312) 를 통해 전송되고, 제 1 및 제 2 스피커 디바이스들 (304, 306) 의 수신기들 (330, 332) 에서 수신될 수도 있다. 스피커 디바이스들 (304, 306) 의 각각은 수신된 오디오 스트림 (316) 으로부터 프레임들 (예컨대, a, b, c, d) 을 추출하여 메모리 (320, 322) 에 저장할 수도 있다.
소스 디바이스 (302) 는 생성된 데이터 프레임들 (예컨대, 프레임들 d, c, b, a) 에 해시 연산들을 수행하여, 송신된 프레임들의 인식가능한 패턴을 제공하는 하나 이상의 해시들의 시퀀스 (예컨대, d', c', b', a') 를 생성할 수도 있다. 소스 디바이스 (302) 는 단위 시간당 송신되는 해시들의 수 및/또는 각 해시에 포함된 데이터 프레임들의 수를 변경하도록 구성될 수도 있다. 송신되는 해시들의 수 및/또는 각 해시에 포함된 데이터 프레임들의 수에 있어서 그러한 변경은 디바이스의 동작 요구들, 통신되고 있는 데이터, 및/또는 통신의 컨텍스트에 응답하여 명령될 수도 있다. 예를 들어, 소스 디바이스 (302) 는, 소스들이 풍부할 경우 단위 시간 당 다수의 해시들을 생성하고 (즉, 더 신뢰할만한 동기화를 제공하고), 소스들이 부족할 경우 단위 시간당 소수의 해시들을 생성하도록 구성될 수도 있다. 일 실시형태에서, 소스 디바이스 (302) 는 폴스 포지티브 (false positive) 들을 회피하기 위해 충분히 길고, 과도한 수의 리소스들을 생성하고 이들을 스피커 디바이스들 (304, 306) 내에서 비교하기 위해 초과의 수의 리소스들을 요구하지 않도록 충분히 짧게 해시들을 생성하도록 구성될 수도 있다. 해시들의 수는 또한, 각각의 개별 해시의 가변성에 기반하여 결정될 수도 있다. 예를 들면, 더 적은 수의 해시들은 해시들이 매우 가변적인 상황들에서 생성될 수도 있지만, 더 많은 수의 해시들은 프레임으로부터 프레임으로의 가변성이 낮을 경우 (예컨대, 인코딩된 사운드가 상대적으로 고유할 경우) 에 생성될 수도 있다.
일 실시형태에서, 해시 길이는 해싱되고 있는 실제 데이터에 기반하여 결정될 수도 있다. 예를 들어, 더 긴 해시는 데이터에서의 변화의 부족을 설명하기 위해 긴 묵음 주기들을 나타내는 데이터를 위해 생성될 수도 있는 반면, 더 짧은 해시들은 매우 구별가능한 사운드들의 주기들을 나타내는 데이터를 위해 생성될 수도 있다. 해시 길이는 또한, 해시에서의 가변성 및 데이터의 양 (즉, 그 동적 범위), 충돌 확률, 해시 알고리즘의 복잡도, 또는 이들의 임의의 조합에 기반하여 계산될 수도 있다. 일 실시형태에서, 해시들의 가변성은 해시들을 생성하는데 사용된 해싱 알고리즘의 복잡도에 기반하여 결정될 수도 있다 (예컨대, 더 복잡한 알고리즘들로부터 생성된 해시들은 더 큰 가변성을 가질 가능성이 많다).
일 실시형태에서, 제어기 (310) 는 제어 스트림 (318) 을 생성하여 생성된 해시 시퀀스 (예컨대, d', c', b', a') 내에 포함시킬 수도 있다. 제어 스트림 (318) 은 또한, 오디오의 특정 부분들이 수신중인 스피커 디바이스들에 의해 플레이되는 시점을 식별할 수도 있는, 렌더링 명령들과 같은 다른 명령들을 포함할 수도 있다. 렌더링 명령들은 또한, Bluetooth® 네트워크 클록과 관련될 수도 있는 재생 시간을 식별하는 타임스탬프들을 포함할 수도 있다. 일 실시형태에서, 제어 스트림 (318) 은 추가로, 해시 시퀀스를 데이터 스트림 (316) 을 통해 수신된 데이터 프레임들에 상호참조하기 위한 정보를 포함할 수도 있다.
전술된 것과 같이, 소스 디바이스 (302) 는 데이터 프레임들 (316, 예컨대 프레임들 d, c, b, a) 을 포함하는 오디오 스트림 및 해시들 (예컨대, d', c', b', a') 을 포함하는 제어 스트림 (318) 을 제 1 및 제 2 스피커 디바이스들 (304, 306) 에 전송할 수도 있다. 제 1 및 제 2 스피커 디바이스들 (304, 306) 은 오디오 및 제어 스트림들 (316, 318) 을 수신하고, 오디오 스트림 (316) 으로부터 데이터 프레임들 (예컨대, a, b, c, d) 을 추출하고 추출된 프레임들 (예컨대, a, b, c, d) 을 메모리 (320, 322) (예컨대, 데이터 버퍼) 에 일시적으로 저장할 수도 있다. 각각의 스피커 디바이스 (304, 306) 는 수신되고 및/또는 메모리 (320, 322) 에 저장되는 데이터 프레임들을 반영하는 해시 값들 (예컨대, a", b", c", d") 의 독립적인 스트림을 생성하기 위해 수신된 데이터 프레임들 (예컨대, a, b, c, d) 에 해시 함수를 적용할 수도 있다. 스피커 디바이스들 (304, 306) 에 의해 사용된 해시 알고리즘은 제어 스트림 (318) 에 걸쳐 전송된 해시들 (예컨대, a', b', c', d') 을 생성하기 위해 소스 디바이스에 의해 사용된 것과 동일한 알고리즘일 수도 있다. 스피커 디바이스들 (304, 306) 은 생성된 해시들 (예컨대, a", b", c", d") 의 독립적인 스트림을 제어 스트림 (318) 을 통해 수신된 소스-제공된 해시 시퀀스 (예컨대, d', c', b', a') 와 비교할 수도 있다. 생성된 해시들 또는 해시들의 패턴이 수신된 해시들 또는 해시들의 패턴과 매칭할 경우, 이는 대응하는 데이터 프레임들이 플레이될 (즉, 사운드를 생성하기 위해 사용될) 수도 있는 것을 통신할 수도 있고, 이에 기반하여, 스피커 디바이스들 (304, 306) 은 오디오 스트림을 디코딩하고 오디오를 렌더링할 수도 있다. 이러한 방식으로, 다양한 실시형태들은 데이터 스트림 데이터 (예컨대, A2DP 데이터) 와 독립적인 동기화 메커니즘을 제공한다.
일 실시형태에서, 시스템 (300) 은 제 1 및 제 2 스피커 디바이스들 (304, 306) 을 정렬하고 오디오의 동기화된 재생을 가능하게 하여, 제 1 및 제 2 스피커 디바이스들 (304, 306) 이 대략적으로 동일한 시간에 해시들 간의 매치를 검출하도록 구성될 수도 있다. 일 실시형태에서, 해시들이 매칭하는 것으로 결정된다면, 스피커 디바이스들 (304, 306) 은, 예컨대 렌더 명령들에 포함된 타임스탬프에 의해 식별된 시간에, 제어 스트림 (318) 에 포함된 추가의 명령들에 따라 오디오를 디코딩하고 렌더링할 수도 있다. 일 실시형태에서, 시스템 (300) 은, 해시들이 매칭하고 프레임들이 동기되는 것으로 결정된다면, 스피커 디바이스들 (304, 306) 간에 오디오 재생의 시작을 코디네이트하는데 사용될 수도 있는 Bluetooth® 피코넷 클록을 포함할 수도 있다.
일 실시형태에서, 입력되는 오디오 스트림 (316) 의 프레임들은 해시들이 매칭하는 것으로 결정될 때까지 무시 (예컨대, 드롭, 메모리로부터 소거, 등등) 될 수도 있다. 일 실시형태에서, 해시들과 매칭하지 않는 저장된 프레임들은, 예컨대 이후에 수신되는 데이터 프레임들에 의해 다시 기록됨으로써, 메모리로부터 주기적으로 제거될 수도 있다. 일 실시형태에서, 스피커 디바이스들 (304, 306) 은 생성되고 수신된 해시들이 매칭하는 것으로 결정된 후에 입력되는 데이터 스트림으로부터 수신된 데이터 프레임들을 저장하기 시작할 수도 있다. 일 실시형태에서, 스피커 디바이스들 (304, 306) 은 해시들이 매칭하는 것으로 결정된 후에 미리 결정되거나 계산된 시간량 동안 입력되는 오디오 스트림의 오디오 재생을 홀딩하도록 구성될 수도 있다. 따라서, 생성되고 수신된 해시 값들 또는 해시 패턴들이 매칭하는 시점을 검출하는 것은, 스트리밍 미디어를 렌더링하기 위한 시작 포인트로서, 스트리밍 미디어를 수신하고 렌더링하는 것을 시작하기 위한 시작 포인트로서, 및/또는 채널에서의 타이밍 지연들이 측정될 수도 있는 시간 참조 포인트로서 역할을 할 수도 있는 동기화 이벤트로서 사용될 수도 있다.
소스 디바이스 (302) 및 스피커 디바이스들 (304, 306) 은 해시 값들을 생성하기 위해 다양한 해시 함수들 중 임의의 것을 사용할 수도 있다. 일 실시형태에서, 순방향 에러 정정 (FEC) 알고리즘이 해시들을 생성하는데 사용될 수도 있다. 일 실시형태에서, 순환 중복성 검사 (CRC) 알고리즘이 해시들을 생성하는데 사용될 수도 있다. 예를 들어, 프레임들이 키들의 역할을 할 수도 있고, CRC 알고리즘에 의해 생성된 체크 값들은 해시 값들의 역할을 할 수도 있다. 추가의 실시형태에서, 프레임 내의 비트들의 합산, 상수에 의한 프레임들의 곱셈 또는 나눗셈, 등과 같이, 매우 간단한 알고리즘들이 해시 값들을 생성하는데 사용될 수도 있다. 간단한 해시 알고리즘들에 의해 생성된 값들은 고유하지 않을 수도 있지만, 데이터 프레임들의 시퀀스의 해시 값들은 생성된 해시 값들이 수신된 해시 값들의 스트림과 비교될 경우에 인식될 수도 있는, 다수의 데이터 프레임들에 걸친 패턴을 형성할 것이다.
다양한 실시형태들은 해시 값들을 사용하여 다수의 수신기 디바이스들 (예컨대, 스피커 디바이스들 (304, 306)) 을 동일한 데이터 스트림에 동시에 동기화할 수도 있다. 다양한 실시형태들을 사용하는 것은, 타임스탬프들 또는 다른 동기화 데이터가 데이터 스트림들에 삽입될 것을 요구하지 않고, 다수의 수신기 디바이스들이 오디오 데이터의 콘텐츠에 기반하여 데이터 스트림에 동기화되는 것을 가능하게 한다.
일 실시형태에서, 스피커 디바이스들 (304, 306) 은 그 디바이스가 사용 중인 시점 (예컨대, 이어폰이 사용자의 귀 안에 있는 시점) 을 검출하는 온도 및/또는 적외선 센서를 포함할 수도 있다. 일 실시형태에서, 스피커 디바이스들 (304, 306) 은 (예컨대, 온도 센서를 통해) 그 디바이스가 사용 중인 것을 검출하는 것에 응답하여 동기화 동작들을 수행하도록 구성될 수도 있다. 일 실시형태에서, 스피커 디바이스들 (304, 306) 은 (예컨대, 감지된 온도 데이터가 하락할 경우) 디바이스가 더 이상 사용되고 있지 않은 것을 검출하는 것에 응답하여 동기화 동작들을 수행하는 것을 중단하도록 구성될 수도 있다.
도 4a 는 복수의 무선 오디오 수신기 디바이스들에서 복수의 무선 오디오 스트림들을 동기화하는 일 실시형태의 수신기 디바이스 방법 (400) 을 도시한다. 블록 (402) 에서, 수신기 디바이스 (예컨대, 이어폰 또는 다른 스피커 디바이스) 는 소스 디바이스에 의해 송신된 오디오 및 제어 스트림들을 수신하고, 오디오 스트림으로부터 데이터 프레임들을 추출하고, 추출된 데이터 프레임들을 메모리에 저장할 수도 있다. 블록 (404) 에서, 수신기 디바이스는 해시 함수를 수신된 데이터 프레임에 적용하여 수신된 데이터 프레임들을 특징으로 하는 독립적인 해시들의 시퀀스를 생성할 수도 있다. 블록 (404) 에서, 수신기 디바이스는 각각의 데이터 프레임이 수신될 때 해시 함수를 각각의 데이터 프레임에 적용할 수도 있거나, 메모리에 저장된 데이터 프레임들에 해시 함수를 적용할 수도 있다. 블록 (406) 에서, 수신기 디바이스는 생성된 해시들을 블록 (402) 에서 제어 스트림을 통해 수신된 해시 시퀀스와 비교할 수도 있다. 결정 블록 (408) 에서, 수신기 디바이스는 생성되고 수신된 해시들 또는 해시들의 시퀀스의 패턴이 매칭하는지 결정할 수도 있다. 생성되고 수신된 해시들이 매칭하지 않는다면 (즉, 결정 블록 (408) = "아니오'), 데이터의 어떤 렌더링도 발생하지 않을 수도 있고, 수신기 디바이스는 블록들 (402 내지 406) 에서의 동작들을 계속해서 수행할 수도 있다. 생성되고 수신된 해시들이 매칭할 경우 (즉, 결정 블록 (408) = "예"), 수신기 디바이스는 (예컨대, 메모리로부터 데이터 프레임들을 재호출함으로써) 수신된 데이터 프레임들의 스트림을 디코딩하기 시작하고, 예컨대, 스피커 디바이스들로부터 오디오를 생성함으로써 데이터를 렌더링하기 시작할 수도 있다. 이러한 방식으로, 수신기 디바이스에서 데이터 프레임들의 렌더링은 다른 수신기 디바이스들에 의한 데이터 프레임들의 렌더링과 동기될 것이다. 수신된 데이터 스트림이 렌더링되어야하는 시점을 결정하는데 사용된 정보가 데이터로부터 자체적으로 생성되기 때문에, 다양한 실시형태들은 데이터 스트림 데이터 (예컨대, A2DP 데이터) 와 독립적이고 추가의 동기화 데이터의 포함 없이 다수의 수신기 디바이스들을 동일한 데이터 스트림에 동기화할 수도 있는 동기화 메커니즘을 제공한다.
도 4b 는, 데이터 스트림들이 전술된 방법 (400) 을 사용하여 복수의 무선 수신기 디바이스들에서 동기화될 수도 있도록, 복수의 무선 오디오 스트림들을 생성하기 위해 소스 디바이스에서 구현될 수도 있는 일 실시형태의 방법 (450) 을 도시한다. 블록 (452) 에서, 소스 디바이스는 (예컨대, 소스 디바이스의 미디어 플레이어로부터, 외부 디바이스로부터, 등등) 송신을 위한 오디오 데이터를 수신할 수도 있다. 블록 (454) 에서, 소스 디바이스는 오디오 데이터를 일련의 데이터 프레임들로 인코딩하고, 데이터 프레임들을 오디오 데이터 패킷 스트림으로 패키징할 수도 있다. 블록 (456) 에서, 소스 디바이스는 데이터 프레임들을 특징으로 하는 해시 값들의 시퀀스를 생성하고 생성된 해시 값들을 제어 스트림으로 패키징하기 위해 프레임들이 송신될 시퀀스에서의 데이터 프레임들에 해시 알고리즘을 적용할 수도 있다. 블록 (458) 에서, 소스 디바이스는 제 1 무선 통신 링크 상으로 데이터 스트림을 복수의 무선 수신기 디바이스들에 송신할 수도 있다. 블록 (460) 에서, 소스 디바이스는 제 2 무선 통신 링크 상으로 제어 스트림을 복수의 무선 수신기 디바이스들에 송신할 수도 있다. 예를 들어, 소스 디바이스는 데이터 스트림을 송신하는데 사용된 링크들과 별개인 논리적 링크 상으로 제어 스트림을 전송할 수도 있다.
전술된 것과 같이, 사용자들에게 완전한 스테레오 경험 (예컨대, 공간 깊이, 방향성, 등) 을 제공하기 위해, 좌측 및 우측 오디오 신호들은 각각의 귀에서 생성된 사운드가 20 ㎲ 내의 정확한 시간에 수신되도록 코디네이트되어야만 한다. 그 신호들은 의도된 스테레오 또는 서라운드 사운드 효과를 생성하도록 충분히 이격되어야만 하지만, 신호 지연들이 사람의 귀에 인식가능하도록 하지는 않는다. 일 실시형태에서, 2 개의 무선 노드들 (예컨대, 좌측 및 우측 이어폰들) 에서 스테레오 사운드의 동기화는 각각의 무선 노드에서 송신된 오디오 데이터의 렌더링을 동기화하기 위해 무선 네트워크 클록 (예컨대, Bluetooth® 프로토콜 클록) 을 사용함으로써 달성될 수도 있다. 따라서, 전술된 것과 같은 오디오 데이터의 블록들을 동기화하기 위한 해시-매칭 메커니즘들을 사용하는 것에 부가하여, 각각의 오디오 데이터 블록의 렌더링 (즉, 플레이) 의 정확한 타이밍은 무선 송신들에 포함된 클록 신호를 사용하여 동기화될 수도 있다. 그러한 실시형태들에서, 오디오 데이터는 소스 노드 (예컨대, 셀 폰) 도메인 클록을 참조하는 송신을 위해 인코딩되고, 재생을 위해 무선 수신기 노드들 (예컨대, 좌측 이어폰, 우측 이어폰, 등) 중 하나 이상으로 전송될 수도 있다. 인코딩된 오디오 데이터는 무선 수신기 노드 (예컨대, 좌측 이어폰) 에 의해 수신되고, 무선 송신들에 포함된 클록 신호에 기반하여 제 1 로컬 클록 도메인에 대하여 동기화된 레이트들로 디코딩될 수도 있다. 그러한 동기화는 무선 노드들이 소스 노드 클록 도메인 (예컨대, 셀 폰 클록 도메인) 과 수신중인 무선 노드 (예컨대, 좌측 이어폰) 에서의 제 1 로컬 클록 도메인 간에 발생하는 임의의 클록 드리프트를 보상하게 할 수도 있다.
이러한 실시형태는 오디오 데이터가 소스 노드 (예컨대, 셀 폰) 로부터 제 1 무선 노드 (예컨대, 좌측 이어폰) 으로 송신되고, 제 1 무선 노드가 그 후 오디오 데이터의 적어도 일부분 (예컨대, 우측 채널) 을 제 2 무선 노드 (예컨대, 우측 이어폰) 에 전송하는 시스템 구현들로 확대될 수도 있다. 도메인 클록 신호에 대하여 제 1 무선 노드로부터 제 2 무선 노드로 송신된 제 2 채널 데이터를 인코딩함으로써, 제 2 무선 노드에서 오디오의 렌더링은 요구되는 허용오차들 내에서 제 1 무선 노드의 오디오의 렌더링과 동기화될 수 있다. 데이터는 제 1 무선 노드로부터 제 2 무선 수신기 (예컨대, 좌측 이어폰) 으로 전송되고, 제 1 및 제 2 로컬 클록 도메인들 간에 발생하는 임의의 클록 드리프트를 보상하는 방식으로, 도메인 클록 또는 제 1 무선 노드 도메인의 로컬 클록에 대하여 가변적인 레이트들로 디코딩될 수도 있다.
네트워크 클록을 사용함으로써 2 개의 무선 노드들 (예컨대, 좌측 및 우측 이어폰들) 에 스테레오 사운드를 동기화하는 실시형태의 방법들은, 2 개의 무선 수신기 노드들 (예컨대, 좌측 및 우측 이어폰들) 간의 20 ㎲ 의 에러로 발생하도록 좌측 및 우측 채널들의 정렬을 가능하게 하며, 따라서 오정렬들이 사용자에 의해 검출될 수 있는 것을 방지한다.
Bluetooth® 명세들은 어드밴스드 오디오 데이터가 일 Bluetooth®-인에이블 디바이스로부터 다른 Bluetooth®-인에이블 디바이스로 스트리밍될 수도 있는 Bluetooth® 채널의 생성을 가능하게 하는 A2DP (advanced audio distribution profile) 을 설명한다. 그러나, A2DP는 좌측 및 우측 채널들이 개별적인 Bluetooth® 라디오들 (및 개별적인 클록 도메인들) 에 의해 핸들링되는 상황들에서 좌측 및 우측 채널들의 정렬을 동기화하는 것을 지원하지 않는다. Bluetooth® 의 이러한 제한 및 다른 제한들을 극복하기 위해, 다양한 실시형태들은 좌측 및 우측 채널들이 20 ㎲ 의 에러 내에서 동기화되는 것을 유지하는 방식으로 좌측 및 우측 디바이스 재생 클록들의 각각을 오디오 데이터 스트림과 정렬할 수도 있다.
일 실시형태에서, 클록 동기화 동작들은 2 개의 단계들로 수행될 수도 있으며, 2 개의 단계들은 제 1 클록 동기화 단계에서 A2DP 스트림을 일차 무선 노드 (예컨대, 소스 노드) 의 클록에 정렬하는 것 및 제 2 클록 동기화 단계에서 이차 무선 노드의 클록을 일차 무선 노드의 클록에 정렬하는 것을 포함할 수도 있다. 예를 들어, 제 1 동작에서, 좌측 이어폰은 외부 A2DP 소스 디바이스 (예컨대, 전화기) 로부터 A2DP 데이터 스트림을 수신하고, 좌측 채널을 오디오 샘플들의 버퍼 내에 디코딩할 수도 있다. 좌측 이어폰은 그 버퍼의 레벨을 하이 및 로우 워터마크와 대조할 수도 있고, 버퍼 레벨이 워터마크와 반대인 것으로 결정된다면, 좌측 이어폰은 펄스 코드 변조 (PCM) 버퍼에 단일 샘플을 추가하거나 드롭할 수도 있다. 좌측 이어폰은 또한 현재의 A2DP 프레임을 좌측 이어폰으로부터 전송하기 전에 현재의 A2DP 프레임을 변경하여 우측 이어폰이 우측 채널에서의 동일한 관련 샘플 위치에서 동일한 추가/드롭 변경들을 수행할 수 있도록 한다. 제 2 동작에서, 우측 이어폰은 Bluetooth® 슬레이브의 역할이 할당될 수도 있고, 예컨대 공유된 Bluetooth® 피코넷 클록의 하나 이상의 비트들을 Bluetooth® 트랜시버 칩 상의 핀에 노출시킴으로써 좌측 이어폰의 클록을 액세스할 수도 있다. Bluetooth® 클록은 우측 이어폰의 클록 도메인에서 클록 틱들을 카운팅하고 있는 하드웨어 카운터를 래칭할 수도 있다. 우측 이어폰에 구동중인 소프트웨어는 그 소유의 클록 도메인의 유닛들에서 클록 드리프트 에러를 누산하기 위해 각각의 래치 카운터 값을 판독할 수도 있다. 에러가 하나의 샘플의 ± 3/4 인 것으로 결정될 경우, 단일 샘플은 누산된 에러가 ± 1 샘플 만큼 적절히 조정되도록 우측 이어폰 오디오 스트림에 추가되거나 드롭될 수도 있다.
도 4c 는 개별 Bluetooth® 라디오들에 의해 핸들링된 오디오 스트림들을 동기화하기 위해 무선 수신기 노드들에서 구현될 수도 있는 일 실시형태의 방법 (470) 을 도시한다. 블록 (472) 에서, 제 1 무선 수신기 노드는 소스 노드로부터 (예컨대, 소스 디바이스의 미디어 플레이어로부터, 외부 디바이스로부터, 등) 오디오 데이터를 수신할 수도 있다. 블록 (474) 에서, 제 1 무선 수신기 노드는 동기화된 데이터를 생성하기 위해 데이터 스트림을 제 1 무선 수신기 노드의 클록에 정렬할 수도 있다. 이는 예컨대, 제 2 무선 수신기 노드가 제 2 채널에서의 동일한 관련 샘플 위치에서 동일한 추가/드롭 변경들을 수행할 수도 있도록, 제 1 무선 수신기 노드가 제 1 채널을 오디오 샘플들의 버퍼 내에 디코딩하고, 버퍼의 레벨을 하이 및 로우 워터마크와 대조하고, PCM 버퍼에 샘플들을 추가 또는 드롭하고, 데이터 스트림을 변경하는 것에 의해 달성될 수도 있다. 블록 (476) 에서, 제 1 무선 수신기 노드는 동기화된 오디오 데이터를 제 2 무선 수신기 노드에 전송할 수도 있다. 블록 (478) 에서, 제 2 무선 수신기 노드는 동기화된 오디오 데이터를 수신할 수도 있다. 블록 (480) 에서, 제 2 무선 수신기 노드는 공유된 Bluetooth® 클록의 하나 이상의 비트들을 핀에 노출시켜 Bluetooth® 슬레이브의 역할을 맡고, 제 2 무선 수신기 노드 클록 도메인에서 클록 틱들을 카운팅하고 있는 하드웨어 카운터를 래칭하고, 클록 드리프트 에러를 그 소유의 클록 도메인의 유닛들에서 누산하기 위해 각각의 래치 카운터 값을 판독하고, 오디오 데이터를 제 2 로컬 클록 및 제 1 로컬 클록에 동기화하기 위해 샘플들을 추가 또는 드롭할 수도 있다. 일 실시형태에서, 블록 (480) 의 부분으로서, 제 2 무선 수신기 노드는 제 2 무선 수신기의 클록과 Bluetooth 클록 간에 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는지를 결정할 수도 있고, 제 2 무선 수신기의 클록과 Bluetooth 클록 사이의 누산된 에러가 오디오 샘플들에 대한 대응하는 정정을 요구하는 것으로 결정하는 것에 응답하여, 오디오 샘플들을 추가하거나 버퍼로부터 제거할 수도 있다.
일 실시형태에서, 제 1 무선 수신기 디바이스는 추가/드롭 동작들을 트리거하기 위해 버퍼 임계치들을 사용할 수도 있고, 제 2 무선 수신기 디바이스는 트리거에 응답하여 추가/드롭 동작들을 수행하는 것을 트리거하기 위해 클록 드리프트 검출 회로를 사용할 수도 있다. 일 실시형태에서, 제 2 무선 수신기 디바이스는 추가/드롭 동작들을 트리거하기 위해 버퍼 임계치들을 사용할 수도 있다.
제 1 수신기 노드는 Bluetooth® 마스터의 역할이 할당되고, 모든 Bluetooth® 활동을 코디네이트하기 위해 사용되는 Bluetooth® 클록을 공급할 수도 있다. 결과적으로, 제 1 무선 수신기 노드 클록, 코덱 클록 (오디오 데이터가 소비되는 클록), 및 Bluetooth® 클록은 동일한 클록 또는 완전히 동기화된 클록들일 수도 있다. 제 2 수신기 노드는 Bluetooth® 의 역할이 할당될 수도 있고, 그 모드에서 제 2 수신기 노드 내의 오디오 프로세싱 회로에 의해 오디오 데이터의 프로세싱을 동기화하기 위해 제 1 수신기 노드의 클록을 트래킹할 수도 있다.
도 4c 를 참조하여 논의된 실시형태 방법 (470) 의 중요한 특징은 오디오 데이터를 제 2 수신기 노드에 정렬하기 위해 Bluetooth® 클록을 사용하는 것이다. Bluetooth® 클록은, Bluetooth® 클록 펄스들이 제 2 수신기 노드 상의 오디오 데이터 소비 레이트 (즉, 오디오 데이터가 노드의 스피커에 적용된 아날로그 신호들을 생성하는데 사용되는 레이트) 를 제 1 수신기 노드의 레이트에 정렬하는데 사용될 수 있는 방식으로, 제 2 수신기 노드 상의 프로세서 및/또는 오디오 프로세싱 회로에 노출될 수도 있다. 이와 같이, Bluetooth® 피코넷 클록은 오디오 데이터를 정렬하기 위해 Bluetooth® 슬레이브 디바이스에서 사용될 수도 있다. 수신기 노드가 마스터 또는 슬레이브로서 기능할 수도 있기 때문에, Bluetooth® 클록은 양자의 수신기 노드들에서의 프로세서 및/또는 오디오 프로세싱 회로에 노출될 수도 있다.
전술된 다양한 실시형태들은 다양한 무선-인에이블 모바일 컴퓨팅 디바이스들, 예컨대 도 5 에 도시된 손목 시계형 컴퓨팅 디바이스 ("손목 디스플레이") (500) 를 이용하여 구현될 수도 있다. 손목 시계 컴퓨팅 디바이스 (500) 는 휘발성 및/또는 비휘발성 내부 메모리 (504) 에 커플링된 프로세서 (502) 를 포함할 수도 있으며, 상기 메모리는 안전하고 및/또는 암호화된 메모리들, 안전하지 않고 및/또는 암호화되지 않은 메모리들, 또는 이들의 임의의 조합일 수도 있다. 프로세서 (502) 는 또한 전자 디스플레이 스크린 (506) 에 커플링될 수도 있으며, 전자 디스플레이 스크린은 터치 스크린 디스플레이 (예를 들어, 저항성 감지 터치 스크린, 용량성 감지 터치 스크린, 적외선 감지 터치 스크린 등) 일 수도 있다. 손목 디스플레이 (500) 는 무선 데이터 링크에 접속되고 프로세서 (502) 에 커플링될 수도 있는 전자기적 방사선을 전송하고 수신하기 위한 하나 이상의 라디오들 (예를 들어, RF 라디오) 및/또는 안테나들 (508) 을 가질 수도 있다. 라디오들/안테나들 (508) 은 Bluetooth® 프로토콜 스택/인터페이스를 구현하기 위해 위에서 언급된 회로와 함께 이용될 수도 있다 (즉, 손목 디스플레이 (500) 는 Bluetooth® 가능할 수도 있다).
손목 디스플레이 (500) 는 또한 사용자 입력들을 수신하기 위한 물리적 버튼들 (512) 및 슬라이드 센서 (510) 를 포함할 수도 있다. 손목 디스플레이 (500) 는 유도성 충전 회로 (518) 에 커플링된 배터리 (516), 및 배터리 (516) 의 유도성 충전을 가능하게 하도록 적응된 유도 코일일 수도 있는 코일 안테나 (520) 를 포함할 수도 있다. 배터리 (516) 및 유도성 충전 회로 (518) 는 손목 디스플레이 (500) 가 유도성 충전을 제어하고 코일 안테나 (520) 를 통해 메시지들을 발생시키는 것을 가능하게 하도록 프로세서 (502) 에 커플링될 수도 있다. 손목 디스플레이 (500) 는 진동 모터 (522), 및 온도 센서 (524) 와 가속도계 (526) 와 같은 다양한 센서들을 더 포함할 수도 있으며, 이들 모두는 프로세서 (502) 에 커플링될 수도 있다.
전술된 다양한 실시형태들을 구현하는데 이용될 수도 있는 무선-인에이블 모바일 컴퓨팅 디바이스들의 일 예들은 도 6 에 도시된 것과 같은 무선 이어폰 (600) 과 같은 무선 이어폰들을 포함한다. 무선 이어폰 (600) 은 휘발성 및/또는 비휘발성 내부 메모리 (604) 에 커플링된 프로세서 (602) 를 포함할 수도 있다. 무선 이어폰 (600) 은 무선 데이터 링크에 접속되고 프로세서 (602) 에 커플링될 수도 있는, 전자기 방사를 전송하고 수신하기 위한 하나 이상의 라디오 회로들 (608) 을 포함할 수도 있다. 라디오 회로들 (608) 은 Bluetooth® 프로토콜 스택/인터페이스를 구현하기 위해 위에서 언급된 회로와 함께 이용될 수도 있다 (즉, 무선 이어폰 (600) 은 Bluetooth® 인에이블 무선 통신 디바이스일 수도 있다). 프로세서 (602) 는 또한 디지털 신호 프로세서 (DSP) 와 같은 오디오 프로세싱 회로 (606) 에 커플링될 수도 있다. 오디오 프로세싱 회로 (606) 는 (예컨대, 라디오 회로들 (608) 을 통해 수신된) 디지털 오디오 데이터를 처리하고 아날로그 신호들을 스피커 (612) 에 제공하여 사운드를 생성하도록 구성될 수도 있다. 각각의 Bluetooth® 라디오 회로 (608) 는 무선 네트워크와 연관된 클록 펄스들 (예컨대, Bluetooth® 피코넷 클록) 및/또는 트리거 클록들 (예컨대, Bluetooth® 트리거 클록) 을 제공하는 하나 이상의 클록 핀들 (622) 을 포함할 수도 있다. 클록 핀(들)(622) 은 프로세서 (602), 오디오 프로세싱 회로 (606), 및/또는 다른 이어폰 컴포넌트들 (예컨대, 시스템 클록, 부스 클록, 등) 에 접속될 수도 있다.
무선 이어폰 (600) 은 사용자 입력들을 수신하기 위한 하나 이상의 물리적 버튼들 (610), 오디오 입력을 수신하기 위한 마이크로폰 (614) 을 또한 포함할 수도 있으며, 이들 모두는 프로세서 (602) 에 커플링될 수도 있다. 무선 이어폰 (600) 는 유도성 충전 회로 (618) 에 커플링된 배터리 (616), 및 배터리 (616) 의 유도성 충전을 가능하게 하도록 적응된 유도 코일일 수도 있는 코일 안테나 (620) 를 더 포함할 수도 있다.
다양한 실시형태들은 또한 RF 라디오를 갖는 임의의 상업적인 컴퓨팅 디바이스들을 이용하여 구현될 수도 있으며, 그 예들이 도 7 및 도 8 에 도시된다. 통상적인 모바일 컴퓨팅 디바이스들 (700) 은 도 7 에 도시된 컴포넌트들을 공통적으로 가질 것이다. 예를 들어, 모바일 컴퓨팅 디바이스들 (700) 은 내부 메모리 (704) 에 커플링된 프로세서 (702) 및 저항 감지 터치스크린, 정전용량 감지 터치스크린, 적외선 감지 터치스크린, 음향/압전 감지 터치스크린 등과 같은 터치 표면 입력 디바이스/디스플레이 (706) 를 포함할 수도 있다. 컴퓨팅 디바이스 (700) 는 무선 데이터 링크에 접속된 전자기 방사선을 전송하고 수신하기 위한 라디오/안테나 (710), 및/또는 프로세서 (702) 에 커플링된 셀룰러 전화 트랜시버 (708) 를 가질 수도 있다. 컴퓨팅 디바이스들 (700) 은 또한 사용자 입력들을 수신하기 위한 물리적 버튼들 (712) 을 포함할 수도 있다.
퍼스널 컴퓨터들 및 랩톱 컴퓨터들을 포함하는 다른 형태의 컴퓨팅 디바이스들이 다양한 실시형태들을 구현하는데 이용될 수도 있다. 그러한 컴퓨팅 디바이스들은 통상적으로 예시적인 랩톱 퍼스널 컴퓨터 (800) 를 도시하는 도 8 에 도시된 컴포넌트들을 포함한다. 그러한 퍼스널 컴퓨터 (800) 는 일반적으로 휘발성 메모리 (804) 및 디스크 드라이브 (806) 와 같은 대용량 비휘발성 메모리에 커플링된 프로세서 (802) 를 포함한다. 컴퓨터 (800) 는 또한 프로세서 (802) 에 커플링된 컴팩트 디스크 (CD) 및/또는 DVD 드라이브 (808) 를 포함할 수도 있다. 컴퓨터 디바이스 (800) 는 또한 데이터 접속들을 확립하거나 외부 메모리 디바이스들을 수용하기 위해 프로세서 (802) 에 커플링된 다수의 커넥터 포트들, 예컨대, 프로세서 (802) 를 네트워크에 커플링하기 위한 네트워크 접속 회로 (810) 를 포함할 수도 있다. 컴퓨팅 디바이스 (800) 는 프로세서 (802) 에 커플링된 무선 데이터 링크에 접속되는, 전자기 방사선을 전송하고 수신하기 위한 라디오/안테나 (810) 를 가질 수도 있다. 컴퓨터 (800) 는 추가로 키보드 (816), 마우스 (814) 와 같은 포인팅 디바이스, 및 컴퓨터 기술에서 잘 알려진 것과 같은 디스플레이 (812) 에 커플링될 수도 있다.
프로세서들 (502, 602, 702, 802) 은 임의의 프로그래밍가능 마이크로프로세서, 마이크로컴퓨터, 또는 본원에서 설명된 다양한 실시형태들의 기능들을 포함하여 다양한 기능들을 수행하기 위한 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수도 있는 다수의 프로세서 칩 또는 칩들일 수도 있다. 다수의 프로세서들, 예컨대, 무선 통신 기능들에 전용된 하나의 프로세서 및 다른 애플리케이션들을 구동하는데 전용된 하나의 프로세서가 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들은 액세스되어 프로세서 (502, 602, 702, 802) 로 로딩되기 전에 내부 메모리에 저장될 수도 있다. 일부 디바이스들에서, 프로세서 (502, 602, 702, 802) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다. 일부 모바일 디바이스들에서, 보안 메모리는 프로세서 (502, 602, 702, 802) 에 커플링된 별도의 메모리 칩일 수도 있다. 내부 메모리는 휘발성 메모리, 또는 플래시 메모리와 같은 비휘발성 메모리, 또는 이들 양자 모두의 혼합일 수도 있다. 이러한 설명의 목적으로, 메모리에 대한 일반적인 언급은 내부 메모리, 디바이스 내에 플러깅된 탈착가능 메모리, 및 프로세서 (502, 602, 702, 802) 자체 내의 메모리를 포함하여, 프로세서에 의해 액세스가능한 모든 메모리를 지칭한다.
전술한 방법 설명들 및 프로세스 흐름도들은 단지 예시적인 예들로서 제공되고, 다양한 실시형태들의 블록들이 제시된 순서로 수행되어야 함을 요구하거나 암시하려고 의도되지는 않는다. 당업자에 의해 인식되는 것과 같이, 전술한 실시형태들에서의 수단들의 순서는 임의의 순서로 수행될 수도 있다. "그 후에", "그리고 나서", "다음으로" 등과 같은 단어들은 블록들의 순서를 제한하려고 의도되지 않으며; 이러한 단어들은 단지 방법들의 설명을 통해 독자를 가이드하는데 이용된다. 또한, 특허청구범위 요소들에 대한 단수 형태의 임의의 참조, 예를 들면, "a", "an" 또는 "the"와 같은 관사들은 그 요소를 단수로 제한하는 것으로 이해되어선 안된다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자 모두의 조합들로서 구현될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 이러한 기능성이 하드웨어로서 또는 소프트웨어로서 구현될지는 특정 어플리케이션과 전체 시스템에 부과되는 디자인 제약들에 따른다. 당업자라면, 상기 상술한 기능성을 각각의 특정 어플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나게 하는 것으로 이해되어서는 안된다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 본 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 반도체 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 개시된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성들로서 구현될 수도 있다. 대안으로, 몇몇 단계들 또는 방법들은 소정의 기능에 고유한 회로부에 의해 수행될 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어에서 구현된 경우, 기능들은 하나 이상의 명령들 또는 코드로서 유형의 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 전송될 수도 있다. 본원에 개시된 방법 또는 알고리즘의 단계들은 비-일시적 프로세서 판독가능하거나 컴퓨터 판독가능한 저장 매체 상에 상주할 수도 있는 프로세서 실행가능 소프트웨어 모듈들로 구현될 수도 있다. 비-일시적 프로세서 판독가능 및 컴퓨터 판독가능 매체는 컴퓨터 또는 컴퓨팅 디바이스의 프로세서에 의해 액세스될 수도 있는 임의의 이용가능한 저장 매체들일 수도 있다. 비제한적인 예로서, 이러한 비-일시적 프로세서 판독가능 또는 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 요구되는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 운반 또는 저장하기 위해 사용될 수 있으며 컴퓨터 또는 컴퓨팅 다바이스의 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본원에서 사용된 바와 같이, 디스크(disk)와 디스크(disc)는, 컴팩트 디스크(CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크(DVD), 플로피디스크 및 블루레이 디스크를 포함하며, 여기서 디스크(disk)는 통상 자기적으로 데이터를 재생하고, 디스크(disc)는 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 비-일시적 컴퓨터 판독가능 매체들의 범위 내에 또한 포함되어야 한다. 추가로, 방법들 또는 알고리즘의 동작들은 컴퓨터 프로그램 제품에 통합될 수도 있는 비-일시적 프로세서 판독가능 매체 및/또는 비-일시적인 컴퓨터 판독가능 매체 상의 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
개시된 실시형태들의 상기 설명은 임의의 당업자가 본 발명을 실시하거나 이용하는 것을 가능하게 하도록 하기 위해 제공된다. 이러한 실시형태들에 대한 다양한 변형들이 당업자에게는 자명할 것이고, 본원에서 정의된 일반적인 원칙들은 본 발명의 취지와 범위를 벗어나지 않으면서 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 본원에서 보여진 실시형태들로 제한되도록 의도된 것은 아니지만, 본원에 개시된 하기의 청구항들 및 원칙들 및 신규의 특징들과 일치하는 광의의 범위에 따를 것이다.

Claims (72)

  1. 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법으로서,
    제 1 무선 통신 링크를 통해 상기 수신기 디바이스에서 데이터 프레임들의 시퀀스를 수신하는 단계;
    해시 값들의 제 1 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 해시 알고리즘을 적용하는 단계;
    해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 단계;
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계는, 사운드를 생성하기 위해 오디오 데이터 프레임들을 프로세싱하기 시작하는 단계를 포함하고, 상기 수신기 디바이스는 복수의 무선 스피커 디바이스들 중 하나인, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  3. 제 1 항에 있어서,
    상기 데이터 프레임들의 시퀀스는 오디오 데이터 스트림을 포함하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 단계는 타임스탬프 정보를 포함하는 제어 스트림을 수신하는 단계를 포함하며; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계는 상기 타임스탬프 정보가 네트워크 클록 신호와 매칭할 때에 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  4. 제 1 항에 있어서,
    상기 데이터 프레임들의 시퀀스는 오디오 데이터 스트림을 포함하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 단계는 클록 정보를 포함하는 제어 스트림을 수신하는 단계를 포함하며; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 단계는 수신된 클록 정보 및 네트워크 클록에 기반하여 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  5. 제 1 항에 있어서,
    상기 수신된 데이터 프레임들을 버퍼에 저장하는 단계; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭하지 않을 때 상기 버퍼에 저장된 가장 최근에 수신된 데이터 프레임들에 기반하여 해시들의 새로운 제 2 시퀀스를 생성하는 단계를 더 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  6. 제 1 항에 있어서,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 단계는 상기 수신된 데이터 프레임들에 순환 중복성 검사를 적용하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  7. 제 1 항에 있어서,
    상기 수신된 데이터 프레임들에 해시 알고리즘을 적용하는 단계는 상기 수신된 데이터 프레임들에 순방향 에러 정정 알고리즘을 적용하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  8. 제 1 항에 있어서,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계는 매칭이 존재할 때를 결정하기 위해 각각의 수신된 데이터 프레임에 대한 해시 값을 비교하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  9. 제 1 항에 있어서,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계는 해시 값들의 패턴이 매칭할 때를 결정하기 위해 복수의 데이터 프레임들에 걸치는 해시 값들의 시퀀스를 비교하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  10. 제 1 항에 있어서,
    상기 제어 스트림은 상기 제 1 무선 통신 링크의 부분으로서 송신되며,
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 단계는 상기 제 1 무선 통신 링크로부터 상기 제어 스트림을 수신하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  11. 제 1 항에 있어서,
    상기 제어 스트림은 상기 제 1 무선 통신 링크와 상이한 제 2 무선 통신 링크를 통해 송신되며,
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 단계는 상기 제 2 무선 통신 링크로부터 상기 제어 스트림을 수신하는 단계를 포함하는, 수신기 디바이스 내의 데이터 스트림을 프로세싱하는 방법.
  12. 무선 통신 디바이스로서,
    무선 통신 링크 상으로 데이터 프레임들 및 제어 스트림을 수신하도록 구성된 무선 수신기 회로; 및
    상기 무선 수신기 회로에 커플링된 프로세서를 포함하며,
    상기 프로세서는,
    제 1 무선 통신 링크를 통해 수신기 디바이스에서 데이터 프레임들의 시퀀스를 수신하는 것;
    해시 값들의 제 1 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 해시 알고리즘을 적용하는 것;
    해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 것;
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것
    을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  13. 제 12 항에 있어서,
    상기 프로세서는,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것이 사운드를 생성하기 위해 오디오 데이터 프레임들을 프로세싱하기 시작하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 무선 통신 디바이스는 복수의 무선 통신 디바이스들 중 하나인, 무선 통신 디바이스.
  14. 제 12 항에 있어서,
    상기 프로세서는,
    상기 데이터 프레임들의 수신된 시퀀스가 오디오 데이터 스트림을 포함하도록 하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 타임스탬프 정보를 포함하는 제어 스트림을 수신하는 것을 포함하도록 하고; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것이 상기 타임스탬프 정보가 네트워크 클록 신호와 매칭할 때에 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  15. 제 12 항에 있어서,
    상기 프로세서는,
    상기 데이터 프레임들의 시퀀스가 오디오 데이터 스트림을 포함하도록 하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 클록 정보를 포함하는 제어 스트림을 수신하는 것을 포함하도록 하고; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것이 수신된 클록 정보 및 네트워크 클록에 기반하여 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  16. 제 12 항에 있어서,
    상기 프로세서는,
    상기 수신된 데이터 프레임들을 버퍼에 저장하는 것; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭하지 않을 때 상기 버퍼에 저장된 가장 최근에 수신된 데이터 프레임들에 기반하여 해시들의 새로운 제 2 시퀀스를 생성하는 것
    을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  17. 제 12 항에 있어서,
    상기 프로세서는,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 것이 상기 수신된 데이터 프레임들에 순환 중복성 검사를 적용하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  18. 제 12 항에 있어서,
    상기 프로세서는,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 것이 상기 수신된 데이터 프레임들에 순방향 에러 정정 알고리즘을 적용하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  19. 제 12 항에 있어서,
    상기 프로세서는,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것이 매칭이 존재할 때를 결정하기 위해 각각의 수신된 데이터 프레임에 대한 해시 값을 비교하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  20. 제 12 항에 있어서,
    상기 프로세서는,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것이 해시 값들의 패턴이 매칭할 때를 결정하기 위해 복수의 데이터 프레임들에 걸치는 해시 값들의 시퀀스를 비교하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  21. 제 12 항에 있어서,
    상기 프로세서는,
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 상기 제 1 무선 통신 링크의 부분으로서 상기 제어 스트림을 수신하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  22. 제 12 항에 있어서,
    상기 프로세서는,
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 상기 제 1 무선 통신 링크와 상이한 제 2 무선 통신 링크를 통해 상기 제어 스트림을 수신하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 무선 통신 디바이스.
  23. 무선 통신 디바이스로서,
    제 1 무선 통신 링크를 통해 수신기 디바이스에서 데이터 프레임들의 시퀀스를 수신하는 수단;
    해시 값들의 제 1 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 해시 알고리즘을 적용하는 수단;
    해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 수단;
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 수단; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 수단을 포함하는, 무선 통신 디바이스.
  24. 제 23 항에 있어서,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 수단은 사운드를 생성하기 위해 오디오 데이터 프레임들을 프로세싱하기 시작하는 수단을 포함하고,
    상기 무선 통신 디바이스는 복수의 무선 통신 디바이스들 중 하나인, 무선 통신 디바이스.
  25. 제 23 항에 있어서,
    상기 데이터 프레임들의 시퀀스는 오디오 데이터 스트림을 포함하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 수단은 타임스탬프 정보를 포함하는 제어 스트림을 수신하는 수단을 포함하며; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 수단은 상기 타임스탬프 정보가 네트워크 클록 신호와 매칭할 때에 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 수단을 포함하는, 무선 통신 디바이스.
  26. 제 23 항에 있어서,
    상기 데이터 프레임들의 시퀀스는 오디오 데이터 스트림을 포함하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 수단은, 클록 정보를 포함하는 제어 스트림을 수신하는 수단을 포함하며; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 수단은 수신된 클록 정보 및 네트워크 클록에 기반하여 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 수단을 포함하는, 무선 통신 디바이스.
  27. 제 23 항에 있어서,
    상기 수신된 데이터 프레임들을 버퍼에 저장하는 수단; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭하지 않을 때 상기 버퍼에 저장된 가장 최근에 수신된 데이터 프레임들에 기반하여 해시들의 새로운 제 2 시퀀스를 생성하는 수단을 더 포함하는, 무선 통신 디바이스.
  28. 제 23 항에 있어서,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 수단은 상기 수신된 데이터 프레임들에 순환 중복성 검사를 적용하는 수단을 포함하는, 무선 통신 디바이스.
  29. 제 23 항에 있어서,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 수단은 상기 수신된 데이터 프레임들에 순방향 에러 정정 알고리즘을 적용하는 수단을 포함하는, 무선 통신 디바이스.
  30. 제 23 항에 있어서,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 수단은 매칭이 존재할 때를 결정하기 위해 각각의 수신된 데이터 프레임에 대한 해시 값을 비교하는 수단을 포함하는, 무선 통신 디바이스.
  31. 제 23 항에 있어서,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 수단은 해시 값들의 패턴이 매칭할 때를 결정하기 위해 복수의 데이터 프레임들에 걸치는 해시 값들의 시퀀스를 비교하는 수단을 포함하는, 무선 통신 디바이스.
  32. 제 23 항에 있어서,
    상기 제 1 무선 통신 링크의 부분으로서 상기 제어 스트림을 수신하는 수단을 더 포함하는, 무선 통신 디바이스.
  33. 제 12 항에 있어서,
    상기 제 1 무선 통신 링크와 상이한 제 2 무선 통신 링크를 통해 상기 제어 스트림을 수신하는 수단을 더 포함하는, 무선 통신 디바이스.
  34. 프로세서 실행가능 명령들을 저장한 비-일시적 프로세서 판독가능 저장 매체로서,
    상기 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    제 1 무선 통신 링크를 통해 수신기 디바이스에서 데이터 프레임들의 시퀀스를 수신하는 것;
    해시 값들의 제 1 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 해시 알고리즘을 적용하는 것;
    해시 값들의 제 2 시퀀스를 포함하는 제어 스트림을 수신하는 것;
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것
    을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것이 사운드를 생성하기 위해 오디오 데이터 프레임들을 프로세싱하기 시작하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되고,
    상기 통신 디바이스는 복수의 무선 통신 디바이스들 중 하나인, 비-일시적 프로세서 판독가능 저장 매체.
  36. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 데이터 프레임들의 시퀀스가 오디오 데이터 스트림을 포함하도록 하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 타임스탬프 정보를 포함하는 제어 스트림을 수신하는 것을 포함하도록 하며; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것이 상기 타임스탬프 정보가 네트워크 클록 신호와 매칭할 때에 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  37. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 데이터 프레임들의 시퀀스가 오디오 데이터 스트림을 포함하도록 하고;
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 클록 정보를 포함하는 제어 스트림을 수신하는 것을 포함하도록 하며; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때에 기반하여 수신된 데이터 프레임들을 프로세싱하기 시작할 때를 결정하는 것이, 수신된 클록 정보 및 네트워크 클록에 기반하여 상기 오디오 데이터 스트림을 디코딩하기 시작할 때를 결정하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  38. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 수신된 데이터 프레임들을 버퍼에 저장하는 것; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭하지 않을 때 상기 버퍼에 저장된 가장 최근에 수신된 데이터 프레임들에 기반하여 해시들의 새로운 제 2 시퀀스를 생성하는 것
    을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  39. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 것이 상기 수신된 데이터 프레임들에 순환 중복성 검사를 적용하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  40. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 수신된 데이터 프레임들에 상기 해시 알고리즘을 적용하는 것이 상기 수신된 데이터 프레임들에 순방향 에러 정정 알고리즘을 적용하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  41. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것이 매칭이 존재할 때를 결정하기 위해 각각의 수신된 데이터 프레임에 대한 해시 값을 비교하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  42. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것이 해시 값들의 패턴이 매칭할 때를 결정하기 위해 복수의 데이터 프레임들에 걸치는 해시 값들의 시퀀스를 비교하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  43. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 상기 제 1 무선 통신 링크의 부분으로서 상기 제어 스트림을 수신하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  44. 제 34 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은 통신 디바이스 프로세서로 하여금,
    상기 해시 값들의 제 2 시퀀스를 포함하는 상기 제어 스트림을 수신하는 것이 상기 제 1 무선 통신 링크와 상이한 제 2 무선 통신 링크를 통해 상기 제어 스트림을 수신하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  45. 소스 디바이스에 의해 다수의 수신기 디바이스들로 송신된 오디오 데이터를 동기화하는 방법으로서,
    오디오 데이터를 데이터 프레임들의 시퀀스로 인코딩하는 단계;
    해시 값들의 제 1 시퀀스를 생성하기 위해 상기 데이터 프레임들의 각각에 해시 알고리즘을 적용하는 단계;
    제 1 채널 상에서 상기 데이터 프레임들을 송신하는 단계;
    제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 단계;
    상기 다수의 수신기 디바이스들의 각각에서 상기 데이터 프레임들 및 상기 해시 값들의 제 1 시퀀스를 수신하는 단계;
    해시 값들의 제 2 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 상기 다수의 수신기 디바이스들의 각각에서의 해시 알고리즘을 적용하는 단계;
    상기 다수의 수신기 디바이스들의 각각에서 상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 단계; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 상기 다수의 수신기 디바이스들의 각각에서 수신된 데이터 프레임들을 프로세싱하기 시작하는 단계를 포함하는, 오디오 데이터를 동기화하는 방법.
  46. 제 45 항에 있어서,
    상기 다수의 수신기 디바이스들은 제 1 및 제 2 스피커 디바이스들을 포함하고; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 상기 다수의 수신기 디바이스들의 각각에서 수신된 데이터 프레임들을 프로세싱하기 시작하는 단계는 오디오가 상기 제 1 및 제 2 스피커 디바이스들에 의해 생성되고 단일의 48 KHz 샘플 내에서 동기화되도록, 상기 제 1 및 제 2 스피커 디바이스들의 각각에서 상기 데이터 프레임들을 디코딩하기 시작하는 단계를 포함하는, 오디오 데이터를 동기화하는 방법.
  47. 제 45 항에 있어서,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 단계는 상기 제 1 채널을 또한 송신하는 무선 통신 링크의 부분으로서 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 단계를 포함하는, 오디오 데이터를 동기화하는 방법.
  48. 제 45 항에 있어서,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 단계는 상기 제 1 채널과 상이한 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 무선 통신 링크를 통해 송신하는 단계를 포함하는, 오디오 데이터를 동기화하는 방법.
  49. 통신 시스템으로서,
    무선 데이터 소스 디바이스; 및
    복수의 수신기 디바이스들을 포함하고,
    상기 무선 데이터 소스 디바이스는,
    무선 트랜시버; 및
    상기 무선 트랜시버에 커플링된 소스 디바이스 프로세서를 포함하고,
    상기 소스 디바이스 프로세서는,
    오디오 데이터를 데이터 프레임들의 시퀀스로 인코딩하는 것,
    해시 값들의 제 1 시퀀스를 생성하기 위해 상기 데이터 프레임들의 각각에 해시 알고리즘을 적용하는 것,
    제 1 채널 상에서 상기 데이터 프레임들을 송신하는 것, 및
    제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것
    을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며; 그리고
    상기 복수의 수신기 디바이스들의 각각은,
    무선 수신기 회로; 및
    상기 무선 수신기 회로에 커플링된 수신기 디바이스 프로세서를 포함하고,
    상기 수신기 디바이스 프로세서는,
    상기 데이터 프레임들 및 상기 해시 값들의 제 1 시퀀스를 수신하는 것,
    해시 값들의 제 2 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 상기 해시 알고리즘을 적용하는 것,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것, 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 수신된 데이터 프레임들을 프로세싱하기 시작하는 것
    을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  50. 제 49 항에 있어서,
    상기 복수의 수신기 디바이스들은 제 1 및 제 2 스피커 디바이스들을 포함하고;
    상기 수신기 디바이스 프로세서는 ,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 상기 복수의 수신기 디바이스들의 각각에서 수신된 데이터 프레임들을 프로세싱하기 시작하는 것이 오디오가 상기 제 1 및 제 2 스피커 디바이스들에 의해 생성되고 단일의 48 KHz 샘플 내에서 동기화되도록, 상기 제 1 및 제 2 스피커 디바이스들의 각각에서 상기 데이터 프레임들을 디코딩하기 시작하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  51. 제 49 항에 있어서,
    상기 소스 디바이스 프로세서는,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것이 상기 제 1 채널을 또한 송신하는 무선 통신 링크의 부분으로서 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  52. 제 49 항에 있어서,
    상기 소스 디바이스 프로세서는,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것이 상기 제 1 채널과 상이한 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 무선 통신 링크를 통해 송신하는 것을 포함하도록 하는
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  53. 통신 시스템으로서,
    무선 데이터 소스 디바이스; 및
    복수의 수신기 디바이스들을 포함하며,
    상기 무선 데이터 소스 디바이스는,
    오디오 데이터를 데이터 프레임들의 시퀀스로 인코딩하는 수단;
    해시 값들의 제 1 시퀀스를 생성하기 위해 상기 데이터 프레임들의 각각에 해시 알고리즘을 적용하는 수단;
    제 1 채널 상에서 상기 데이터 프레임들을 송신하는 수단; 및
    제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 수단
    을 포함하고; 그리고
    상기 복수의 수신기 디바이스들의 각각은,
    상기 데이터 프레임들 및 상기 해시 값들의 제 1 시퀀스를 수신하는 수단;
    해시 값들의 제 2 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 상기 해시 알고리즘을 적용하는 수단;
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 수단; 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 수신된 데이터 프레임들을 프로세싱하기 시작하는 수단
    을 포함하는, 통신 시스템.
  54. 제 53 항에 있어서,
    상기 복수의 수신기 디바이스들은 제 1 및 제 2 스피커 디바이스들을 더 포함하고; 그리고
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 상기 복수의 수신기 디바이스들의 각각에서 수신된 데이터 프레임들을 프로세싱하기 시작하는 수단은 오디오가 상기 제 1 및 제 2 스피커 디바이스들에 의해 생성되고 단일의 48 KHz 샘플 내에서 동기화되도록, 상기 제 1 및 제 2 스피커 디바이스들의 각각에서 상기 데이터 프레임들을 디코딩하기 시작하는 수단을 포함하는, 통신 시스템.
  55. 제 53 항에 있어서,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 수단은 상기 제 1 채널을 또한 송신하는 무선 통신 링크의 부분으로서 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 수단을 포함하는, 통신 시스템.
  56. 제 53 항에 있어서,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 수단은 상기 제 1 채널과 상이한 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 무선 통신 링크를 통해 송신하는 수단을 포함하는, 통신 시스템.
  57. 무선 데이터 소스 디바이스 프로세서 및 복수의 무선 수신기 디바이스들의 프로세서들에 의해 실행되도록 구성된 프로세서 실행가능 명령들을 저장한 비-일시적 프로세서 판독가능 저장 매체로서,
    상기 무선 데이터 소스 디바이스의 프로세서에 의해 실행되도록 구성된 상기 저장된 프로세서 실행가능 명령들은, 상기 프로세서로 하여금,
    오디오 데이터를 데이터 프레임들의 시퀀스로 인코딩하는 것,
    해시 값들의 제 1 시퀀스를 생성하기 위해 상기 데이터 프레임들의 각각에 해시 알고리즘을 적용하는 것,
    제 1 채널 상에서 상기 데이터 프레임들을 송신하는 것, 및
    제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것
    을 포함하는 동작들을 수행하게 하도록 구성되며; 그리고
    상기 복수의 무선 수신기 디바이스들의 프로세서들에 의해 실행되도록 구성된 상기 저장된 프로세서 실행가능 명령들은, 상기 프로세서로 하여금,
    상기 데이터 프레임들 및 상기 해시 값들의 제 1 시퀀스를 수신하는 것,
    해시 값들의 제 2 시퀀스를 생성하기 위해 수신된 상기 데이터 프레임들에 상기 해시 알고리즘을 적용하는 것,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스를 비교하는 것, 및
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 수신된 데이터 프레임들을 프로세싱하기 시작하는 것
    을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  58. 제 57 항에 있어서,
    상기 복수의 무선 수신기 디바이스들의 프로세서들에 의해 실행되도록 구성된 상기 저장된 프로세서 실행가능 명령들은, 상기 프로세서로 하여금,
    상기 해시 값들의 제 1 시퀀스와 제 2 시퀀스가 매칭할 때 수신된 데이터 프레임들을 프로세싱하기 시작하는 것이 오디오가 제 1 및 제 2 스피커 디바이스들에 의해 생성되고 단일의 48 KHz 샘플 내에서 동기화되도록, 상기 제 1 및 제 2 스피커 디바이스들의 각각에서 상기 데이터 프레임들을 디코딩하기 시작하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  59. 제 57 항에 있어서,
    무선 데이터 소스 디바이스 프로세서에 의해 실행되도록 구성된 상기 저장된 프로세서 실행가능 명령들은, 상기 프로세서로 하여금,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것이 상기 제 1 채널을 또한 송신하는 무선 통신 링크의 부분으로서 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  60. 제 57 항에 있어서,
    무선 데이터 소스 디바이스 프로세서에 의해 실행되도록 구성된 상기 저장된 프로세서 실행가능 명령들은, 상기 프로세서로 하여금,
    상기 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 송신하는 것이 상기 제 1 채널과 상이한 제어 채널 상에서 상기 해시 값들의 제 1 시퀀스를 무선 통신 링크를 통해 송신하는 것을 포함하도록 하는
    동작들을 수행하게 하도록 구성되는, 비-일시적 프로세서 판독가능 저장 매체.
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
KR1020157005150A 2012-07-29 2013-07-26 다수의 채널들에 걸친 프레임 싱크 KR101620799B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/561,077 2012-07-29
US13/561,077 US9088406B2 (en) 2012-07-29 2012-07-29 Frame sync across multiple channels
PCT/US2013/052359 WO2014022235A1 (en) 2012-07-29 2013-07-26 Frame sync across multiple channels

Publications (2)

Publication Number Publication Date
KR20150038461A KR20150038461A (ko) 2015-04-08
KR101620799B1 true KR101620799B1 (ko) 2016-05-12

Family

ID=49034166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157005150A KR101620799B1 (ko) 2012-07-29 2013-07-26 다수의 채널들에 걸친 프레임 싱크

Country Status (6)

Country Link
US (1) US9088406B2 (ko)
EP (1) EP2880809A1 (ko)
KR (1) KR101620799B1 (ko)
CN (1) CN104509023B (ko)
TW (1) TWI539851B (ko)
WO (1) WO2014022235A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547713B2 (en) 2012-11-20 2020-01-28 Nvidia Corporation Method and system of transmitting state based input over a network
US10366419B2 (en) * 2012-11-27 2019-07-30 Roland Storti Enhanced digital media platform with user control of application data thereon
US10339936B2 (en) * 2012-11-27 2019-07-02 Roland Storti Method, device and system of encoding a digital interactive response action in an analog broadcasting message
US20140195594A1 (en) * 2013-01-04 2014-07-10 Nvidia Corporation Method and system for distributed processing, rendering, and displaying of content
US10567489B2 (en) * 2013-03-15 2020-02-18 Time Warner Cable Enterprises Llc System and method for seamless switching between data streams
CN105637971B (zh) 2013-10-07 2019-10-15 瑞典爱立信有限公司 用于设备发现的方法和装置
US9521537B2 (en) * 2013-10-07 2016-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for device discovery
US9374653B2 (en) * 2014-05-15 2016-06-21 Henry Hung Nguyen Method for a multi-channel wireless speaker system
JP6599131B2 (ja) * 2014-05-20 2019-10-30 ジーエヌ ヒアリング エー/エス デジタル・オーディオのワイヤレス送信の新規な方法
DK3327969T3 (da) * 2014-05-20 2021-09-20 Gn Hearing As Ny fremgangsmåde til trådløs overførsel af digital lyd
US9813815B2 (en) 2014-05-20 2017-11-07 Gn Hearing A/S Method of wireless transmission of digital audio
US9686221B2 (en) * 2014-07-25 2017-06-20 Microsoft Technology Licensing, Llc Error correction for interactive message exchanges using summaries
KR101620721B1 (ko) * 2014-10-02 2016-05-12 유한회사 밸류스트릿 복수의 모바일 기기를 이용한 다채널 오디오 할당 및 사용자 제스쳐 인식에 의한 오디오 데이터 컨트롤 방법 및 장치
US20160112825A1 (en) 2014-10-15 2016-04-21 Qualcomm Incorporated Rendering A Media Stream By Wireless Devices Sharing Device Identifiers And Encryption Keys
US10200356B2 (en) * 2014-10-29 2019-02-05 Nec Corporation Information processing system, information processing apparatus, information processing method, and recording medium
US11044386B1 (en) * 2014-12-18 2021-06-22 The Directv Group, Inc. Method and system for synchronizing playback of independent audio and video streams through a network
DE102015212218A1 (de) * 2015-06-30 2017-01-05 Robert Bosch Gmbh Dezentral synchronisiertes Multisensorsystem
EP3357250A4 (en) * 2015-09-30 2019-02-27 TiVo Solutions Inc. SYNCHRONIZATION OF MULTIMEDIA CONTENT LABEL DATA
US10630773B2 (en) 2015-11-12 2020-04-21 Nvidia Corporation System and method for network coupled cloud gaming
US11027199B2 (en) 2015-11-12 2021-06-08 Nvidia Corporation System and method for network coupled gaming
KR102461324B1 (ko) * 2016-02-16 2022-10-31 삼성전자주식회사 오디오 처리 장치 및 그 제어 방법
US9742471B1 (en) * 2016-06-17 2017-08-22 Nxp B.V. NFMI based synchronization
US10379226B2 (en) * 2016-07-07 2019-08-13 Iposi, Inc. Cooperative receiver system with mobile to mobile assistance
GB2552349B (en) * 2016-07-20 2019-05-22 Law Malcolm Sample synchronisation
FR3054393B1 (fr) * 2016-07-22 2019-08-16 Tap Sound System Pilotage de dispositifs multimedia connectes
FR3054399B1 (fr) 2016-07-22 2018-08-03 Tap Sound System Pilotage de dispositifs multimedia bluetooth
US10602397B2 (en) * 2016-09-21 2020-03-24 Apple Inc. Real-time relay of wireless communications
EP3319331B1 (en) * 2016-11-04 2020-01-29 Nagravision S.A. Transmission of audio streams
US9820323B1 (en) * 2016-11-22 2017-11-14 Bose Corporation Wireless audio tethering system
US9793919B1 (en) * 2016-12-08 2017-10-17 Advanced Micro Devices, Inc. Compression of frequent data values across narrow links
EP3370388B1 (en) * 2017-03-01 2021-05-05 EPOS Group A/S A communication system including eavesdropping
CN107135256A (zh) * 2017-04-27 2017-09-05 建荣半导体(深圳)有限公司 蓝牙通信方法、通信装置、通信系统及电子设备
US10009862B1 (en) * 2017-09-06 2018-06-26 Texas Instruments Incorporated Bluetooth media device time synchronization
AU2017438989B2 (en) * 2017-11-10 2023-11-02 Ses-Imagotag Gmbh System for synchronized video playback on a number of playback devices
GB2575430A (en) * 2018-06-13 2020-01-15 Silent Disco King Audio system and headphone unit
US10721700B2 (en) * 2018-09-10 2020-07-21 Abl Ip Holding Llc Command execution synchronization in a nodal network using controlled delay techniques
US10945101B2 (en) * 2018-11-02 2021-03-09 Zgmicro Nanjing Ltd. Method, device and system for audio data communication
US10924858B2 (en) * 2018-11-07 2021-02-16 Google Llc Shared earbuds detection
EP3869817A4 (en) * 2018-11-30 2021-11-10 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR TRANSMISSION OF DATA FROM ONE POINT TO MULTIPLE POINTS
US20220039041A1 (en) * 2018-12-07 2022-02-03 Huawei Technologies Co., Ltd. Point-to-Multipoint Data Transmission Method and Electronic Device
US10485080B1 (en) 2018-12-11 2019-11-19 Abl Ip Holding Llc Command execution synchronization in a flood network
BR112021016944A2 (pt) * 2019-02-27 2021-11-03 Spreadtrum Comm Shanghai Co Método de conexão sem fio, grupo de dispositivos transceptores sem fio, sistema de transmissão e recebimento sem fio e meio de armazenamento legível por computador
US10999207B2 (en) * 2019-05-15 2021-05-04 Rad Data Communications Ltd. Packet loss reduction using auxiliary path
US10681463B1 (en) * 2019-05-17 2020-06-09 Sonos, Inc. Wireless transmission to satellites for multichannel audio system
US11737158B2 (en) * 2019-11-14 2023-08-22 Dsp Group Ltd. True wireless stereo system and method
US11405120B2 (en) * 2020-07-07 2022-08-02 Bose Corporation Systems and methods for synchronizing transmission of wireless data
EP4290872A1 (en) * 2020-07-22 2023-12-13 Google LLC Bluetooth earphone adaptive audio playback speed
TWI768457B (zh) 2020-09-03 2022-06-21 瑞昱半導體股份有限公司 音訊處理晶片、多聲道系統與音訊處理方法
CN114173274A (zh) * 2020-09-10 2022-03-11 瑞昱半导体股份有限公司 音频处理芯片、多声道系统与音频处理方法
US20230259323A1 (en) * 2022-02-16 2023-08-17 Shure Acquisition Holdings, Inc. Wireless microphone system and methods for synchronizing a wireless transmitter and a wireless receiver
CN114553839B (zh) * 2022-02-25 2024-03-15 阿里巴巴(中国)有限公司 Rtc数据的处理方法以及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829288B2 (en) 2000-12-11 2004-12-07 Nokia Corporation Communication system having wireless devices supporting ad hoc connections independent of the protocol version
US7573868B2 (en) 2005-06-24 2009-08-11 Microsoft Corporation Audio/video synchronization using audio hashing
US7778373B2 (en) 2006-01-23 2010-08-17 Broadcom Corporation Sampling rate mismatch solution
US20080076489A1 (en) 2006-08-07 2008-03-27 Plantronics, Inc. Physically and electrically-separated, data-synchronized data sinks for wireless systems
US8155335B2 (en) 2007-03-14 2012-04-10 Phillip Rutschman Headset having wirelessly linked earpieces
US8320410B2 (en) 2007-05-23 2012-11-27 Broadcom Corporation Synchronization of media data streams with separate sinks using a relay
GB2454493A (en) 2007-11-08 2009-05-13 Cambridge Silicon Radio Ltd Improved bluetooth clock accuracy
US7996571B2 (en) 2008-03-25 2011-08-09 Nokia Corporation Wireless coordination of apparatus interaction
US8654988B2 (en) 2008-05-05 2014-02-18 Qualcomm Incorporated Synchronization of signals for multiple data sinks
US20090298420A1 (en) 2008-05-27 2009-12-03 Sony Ericsson Mobile Communications Ab Apparatus and methods for time synchronization of wireless audio data streams
US7996496B2 (en) 2008-08-29 2011-08-09 Sony Ericsson Mobile Communications Ab Remote user interface in multiphone environment
US20100240345A1 (en) 2009-03-17 2010-09-23 Sony Ericsson Mobile Communications Ab Event notifier device and headset
WO2010138777A1 (en) 2009-05-27 2010-12-02 Arsh Technologies, Llc Automatic resource retrieval and use
TWI554076B (zh) 2009-09-04 2016-10-11 普露諾洛股份有限公司 遠距離的電話管理器
US8428045B2 (en) 2010-03-16 2013-04-23 Harman International Industries, Incorporated Media clock recovery
US8519834B2 (en) 2010-08-22 2013-08-27 Andrea Theresa Jersa Wrist wound vibrating device
KR101738074B1 (ko) * 2011-04-05 2017-05-19 삼성전자주식회사 메모리 장치, 및 이를 포함하는 컴퓨터 시스템
US20130326114A1 (en) * 2012-05-30 2013-12-05 Seagate Technology Llc Write mitigation through fast reject processing
US8930612B2 (en) * 2012-05-31 2015-01-06 Seagate Technology Llc Background deduplication of data sets in a memory

Also Published As

Publication number Publication date
US9088406B2 (en) 2015-07-21
CN104509023B (zh) 2017-04-19
US20140029701A1 (en) 2014-01-30
KR20150038461A (ko) 2015-04-08
WO2014022235A1 (en) 2014-02-06
TWI539851B (zh) 2016-06-21
TW201419906A (zh) 2014-05-16
EP2880809A1 (en) 2015-06-10
CN104509023A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
KR101620799B1 (ko) 다수의 채널들에 걸친 프레임 싱크
US11039411B2 (en) Synchronization method for synchronizing clocks of a Bluetooth device
CN107333339B (zh) 一种双无线耳机之间的音频数据传输方法及双无线耳机
US10496359B2 (en) Method for changing type of streamed content for an audio system
US20210067874A1 (en) Method, device, loudspeaker equipment and wireless headset for playing audio synchronously
EP2695327B1 (en) Systems and methods for implementing multicasting using personal area network (pan) wireless technology
US20120087503A1 (en) Multi-channel audio over standard wireless protocol
KR101178252B1 (ko) 다수의 데이터 싱크들을 위한 신호들의 동기화
US9817629B2 (en) Audio synchronization method for bluetooth speakers
CN111918261A (zh) 蓝牙音频设备同步播放方法、系统及蓝牙音频主、从设备
KR102523889B1 (ko) 오디오 동시 재생 방법, 장치, 및 설비
CN102047592A (zh) 用于无线音频数据流时间同步的装置和方法
JP2010523018A (ja) 無線でリンクした複数のイヤピースを有するヘッドセット
US20220369022A1 (en) Sharing audio from a source device
TW201216728A (en) Distributed reception wireless microphone system
US20220038769A1 (en) Synchronizing bluetooth data capture to data playback
GB2454493A (en) Improved bluetooth clock accuracy
WO2018206287A1 (en) Obtention of latency information in a wireless audio system
US11172303B2 (en) Audio concealment method and wireless audio output device using the same
US9860654B2 (en) Method for synchronizing the reproduction of a digital signal sent by a transmitter to a plurality of mobile audio terminals
KR101946471B1 (ko) 비디오와 오디오를 동기화 하는 장치 및 방법
KR20120112757A (ko) 전송 갭들을 가능하게 하기 위한 애플리케이션 계층 수정
KR101582472B1 (ko) 무선 오디오 재생 방법 및 이를 실행하는 오디오 소스
US11843929B2 (en) True wireless multichannel-speakers device and multiple sound source voicing method thereof
US20230353920A1 (en) Wireless headset and audio device

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee