CN112838902A - 音频回放的无线协调 - Google Patents

音频回放的无线协调 Download PDF

Info

Publication number
CN112838902A
CN112838902A CN202110190063.8A CN202110190063A CN112838902A CN 112838902 A CN112838902 A CN 112838902A CN 202110190063 A CN202110190063 A CN 202110190063A CN 112838902 A CN112838902 A CN 112838902A
Authority
CN
China
Prior art keywords
clock
electronic device
time
packet
interface
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202110190063.8A
Other languages
English (en)
Other versions
CN112838902B (zh
Inventor
利奥·莱
哈罗德·阿德里安·査德
王海松
S·赵
L·李
盖洛德·于
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bowers and Wilkins Group Ltd
Original Assignee
B&W Group Ltd
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 B&W Group Ltd filed Critical B&W Group Ltd
Priority to CN202110190063.8A priority Critical patent/CN112838902B/zh
Publication of CN112838902A publication Critical patent/CN112838902A/zh
Application granted granted Critical
Publication of CN112838902B publication Critical patent/CN112838902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/78Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations
    • H04H60/80Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations characterised by transmission among terminal devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • 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/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72442User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R27/00Public address systems
    • 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
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/004Synchronisation arrangements compensating for timing error of reception due to propagation delay
    • H04W56/005Synchronisation arrangements compensating for timing error of reception due to propagation delay compensating for timing error by adjustment in the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2227/00Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
    • H04R2227/005Audio distribution systems for home, i.e. multi-room use
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computer Hardware Design (AREA)
  • Otolaryngology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Electric Clocks (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

描述了对回放操作进行协调的电子装置。具体地,电子装置中的接口电路可以基于第二电子装置发送分组时的发送时间与分组的接收时间之间的差来计算作为接口电路中的时钟与第二电子装置中的第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移来调整提供时钟的时钟电路以消除相对漂移,并且可以确定时钟和第二时钟之间的剩余时间偏移。接下来,接口电路可以基于剩余时间偏移来修改电子装置要执行回放操作时的未来时间以确定校正的未来时间,并且电子装置可以在校正的未来时间处执行回放操作。

Description

音频回放的无线协调
发明人:Leo Lay,Adrian Harold Chadd,Haisong Wang,Shiwei Zhao,Li Li和Gaylord Yu
本申请是申请日为2017年11月19日,申请号为201780086382.6,发明名称为“音频回放的无线协调”的发明申请的分案申请。
背景技术
技术领域
所描述的实施例涉及协调技术。更具体地,所描述的实施例包括无线地协调输出声音的电子装置的回放时间的协调技术。
相关领域
音乐通常对个人的情绪和感知具有显著影响。这被认为是大脑中的辨认、学习和记忆音乐的区域与产生情绪反应的区域(例如,额叶和边缘系统)之间的联系或关系的结果。实际上,情绪被认为是与音乐的解释过程有关,并且情绪同时对音乐对大脑的影响非常重要。鉴于音乐能够“感动”收听者,当收听音频内容时,更一般地,当观看和收听音频/视频(A/V)内容时,音频质量通常是用户满意度的重要因素。
然而,在环境中实现高音频质量通常是具有挑战性的。例如,声学源(例如,扬声器)可能未正确放置在环境中。替代地或附加地,收听者可能未位于环境中的理想位置。具体地,在立体声回放系统中,所谓的“最佳点”(在该最佳点,振幅差和到达时间差足够小,以使原始声源的表观图像和定位都得到保持)通常限于扬声器之间的相当小的区域。当收听者在该区域之外时,表观图像崩溃,并且可能仅听到由扬声器输出的一个或另一个独立音频声道。此外,在环境中实现高音频质量通常会对扬声器的同步产生很大的限制。
因此,当这些因素中的一个或多个是次优的时,环境中的声学质量可能降低。反过来,这可能在收听音频内容和/或A/V内容时对收听者的满意度和整体用户体验产生不利影响。
发明内容
第一组描述的实施例包括电子装置。该电子装置包括:一个或多个天线;接口电路;和时钟电路。在操作期间,接口使用无线通信与第二电子装置通信,并且时钟电路在电子装置中提供时钟。此外,接口电路可以经由无线通信接收来自第二电子装置的分组(packet),其中给定分组包括基于第二电子装置发送给定分组时第二电子装置中的第二时钟的发送时间。作为响应,接口电路可以存储基于接收分组时的时钟的接收时间,并且可以基于发送时间和接收时间之间的差来计算作为时钟和第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移调整提供时钟的时钟电路以消除相对漂移,并且可以确定时钟和第二时钟之间的剩余时间偏移。此外,接口电路可以经由无线通信从第二电子装置接收指定电子装置要执行回放操作时的未来时间的信息。接下来,接口电路可以基于剩余时间偏移来修改未来时间以确定校正的未来时间,并且电子装置可以在校正的未来时间处执行回放操作。
应注意的是,发送时间在给定分组中可以包括在有效载荷和/或媒体访问控制(MAC)报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
此外,时钟电路可以包括:提供参考时钟的振荡器;和基于参考时钟产生时钟的锁频环(FLL)电路。接口电路可以修改FLL以调整时钟。例如,修改FLL可以包括改变FLL中的合成器的种子。
此外,发送时间和接收时间可以存储在给定分组的有效载荷的相对端。在这些实施例中,电子装置可以确定有效载荷的持续时间(例如,使用由处理器执行的软件或接口电路),并且接口电路可以将持续时间添加到剩余偏移时间。
另外,发送时间可以包括与第二时钟相对应的第二计数器值,并且接收时间可以包括与时钟相对应的计数器值。
在一些实施例中,分组包括有效载荷中的音频数据,并且电子装置将音频数据存储在队列中。在这些实施例中,回放操作包括从队列输出音频数据。
应注意的是,调整时钟和修改未来时间将时钟的时钟域中的回放操作协调到第二时钟的时钟域的预定值内。
此外,第二电子装置可以是主装置,电子装置可以是从装置。
此外,接收时间与接口电路的无线测距能力相关联。
另一个实施例提供了一种用于电子装置中的接口电路的计算机可读存储介质。该计算机可读存储介质包括用于由电子装置执行的操作中的至少一些操作的指令。
另一个实施例提供了一种用于对回放操作进行协调的方法。该方法包括由电子装置执行的操作中的至少一些操作。
另一个实施例提供了第二电子装置。
第二组描述的实施例包括电子装置。该电子装置包括:一个或多个天线;接口电路;和一个时钟电路。在操作期间,接口使用无线通信与第二电子装置通信,并且时钟电路在电子装置中提供时钟。此外,接口电路可以经由无线通信接收来自第二电子装置的分组,其中给定分组包括基于第二电子装置发送给定分组时第二电子装置中的第二时钟的发送时间。作为响应,接口电路可以存储基于接收分组时的时钟的接收时间,并且可以基于发送时间和接收时间之间的差来计算作为时钟和第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移调整提供时钟的时钟电路以消除相对漂移,并且可以确定时钟和第二时钟之间的剩余时间偏移。此外,接口电路可以基于剩余时间偏移来修改第二电子装置要执行回放操作时的未来时间以确定校正的未来时间。接下来,接口电路可以经由无线通信向第二电子装置发送指定校正的未来时间的信息。
应注意的是,发送时间可以在给定分组中被包括在有效载荷和/或媒体访问控制(MAC)报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
此外,时钟电路可以包括:提供参考时钟的振荡器;和基于参考时钟产生时钟的锁频环(FLL)电路。接口电路可以修改FLL以调整时钟。例如,修改FLL可以包括改变FLL中的合成器(诸如,合成器中的累加器)的种子。
此外,发送时间和接收时间可以存储在给定分组的有效载荷的相对端。在这些实施例中,电子装置可以确定有效载荷的持续时间(例如,使用由处理器执行的软件或接口电路),并且接口电路可以将持续时间添加到剩余偏移时间。
另外,发送时间可以包括与第二时钟对应的第二计数器值,并且接收时间可以包括与时钟对应的计数器值。
在一些实施例中,在发送信息之前,接口电路发送包括有效载荷中的音频数据的附加分组,并且回放操作包括输出音频数据。然而,在一些实施例中,至少一些音频数据包括在与信息相同的分组中。
应注意的是,调整时钟和修改未来时间将时钟的时钟域中的回放操作协调到第二时钟的时钟域的预定值内。
此外,电子装置可以是从装置,并且第二电子装置可以是主装置。
此外,接收时间与接口电路的无线测距能力相关联。
另一个实施例提供了一种用于电子装置中的接口电路的计算机可读存储介质。该计算机可读存储介质包括用于由电子装置执行的操作中的至少一些操作的指令。
另一个实施例提供了一种用于对回放操作进行协调的方法。该方法包括由电子装置执行的操作中的至少一些操作。
另一个实施例提供了第二电子装置。
第三组描述的实施例包括电子装置。该电子装置包括:一个或多个天线;接口电路;和时钟电路。在操作期间,接口使用无线通信与第二电子装置通信,并且时钟电路在电子装置中提供时钟。此外,接口电路可以经由无线通信接收来自第二电子装置的分组,其中给定分组包括基于第二电子装置发送给定分组时第二电子装置中的第二时钟的发送时间。作为响应,接口电路可以存储基于接收分组时的时钟的接收时间,并且可以基于发送时间和接收时间之间的差来计算作为时钟和第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移调整提供时钟的时钟电路以消除相对漂移,并且可以将调整存储到时钟电路。此外,当接口电路或第二电子装置中第二接口电路被重置时,接口电路可以基于所存储的调整来适配时钟电路以减少相对漂移,同时接口电路基于从第二电子装置接收的具有附加发送时间的附加分组来恢复与第二时钟的频率锁定。
应注意的是,发送时间可以在给定分组中被包括在有效载荷和/或媒体访问控制(MAC)报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
此外,时钟电路可以包括:提供参考时钟的振荡器;和基于参考时钟产生时钟的锁频环(FLL)电路。接口电路可以修改FLL以调整时钟。例如,可以将调整应用于FLL中的第一合成器的种子。在一些实施例中,FLL包括跟踪对第一合成器的调整的第二合成器。
此外,恢复频率锁定可以在一段时间间隔内发生。因此,在存储调整之前,接口电路可以在对应于时间间隔的时间尺度上对调整进行平均。替代地或附加地,适配在比调整更长的时间尺度上执行。例如,可以周期性地执行适配,诸如,以作为时间间隔的一部分的周期执行适配。
另外,发送时间可以包括与第二时钟相对应的第二计数器值,并且接收时间可以包括与时钟相对应的计数器值。应注意的是,当接口电路或第二接口电路被重置时,可以重置电子装置中的提供计数器值的计数器和/或第二电子装置中提供第二计数器值的第二计数器。在这些实施例中,接口电路可以包括采样和保持电路,其在接口电路或第二接口电路被重置时对计数器的当前计数器值进行镜像。
在一些实施例中,接收时间与接口电路的无线测距能力相关联。
另一个实施例提供了一种用于电子装置中的接口电路的计算机可读存储介质。该计算机可读存储介质包括用于由电子装置执行的操作中的至少一些操作的指令。
另一个实施例提供了一种用于减少相对漂移的方法。该方法包括由电子装置执行的操作中的至少一些操作。
另一个实施例提供了第二电子装置。
第四组描述的实施例包括电子装置。该电子装置包括:系统时钟电路、处理器、一个或多个天线、接口电路和接口时钟电路。在操作期间,系统时钟电路在电子装置中提供系统时钟,处理器执行软件,接口使用无线通信与第二电子装置通信,并且接口时钟电路在电子装置中提供接口时钟。此外,接口电路可以经由无线通信接收来自第二电子装置的分组,其中给定分组包括基于第二电子装置发送给定分组时第二电子装置中的第二接口时钟的发送时间。作为响应,接口电路可以存储基于接收分组时的接口时钟的接收时间。此外,接口电路可以经由无线通信从第二电子装置接收指定电子装置要执行回放操作时的未来时间的信息。
另外,处理器可以维持系统时钟和接口时钟之间的协调(例如,通过调整系统时钟),其中接口时钟具有比系统时钟更高的频率。然后,处理器可以基于发送时间和接收时间之间的差来计算作为接口时钟和第二接口时钟之间的时间的函数的相对漂移。此外,处理器可以基于相对漂移调整系统时钟电路以消除相对漂移,其中基于接口时钟的相对漂移提供比系统时钟更高的分辨率。接下来,处理器可以确定接口时钟和第二接口时钟之间的剩余时间偏移。此外,处理器可以基于剩余时间偏移来修改未来时间以确定校正的未来时间,并且可以在校正的未来时间处执行回放操作。
应注意的是,发送时间可以在给定分组中被包括在有效载荷和/或媒体访问控制(MAC)报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
在一些实施例中,在执行回放操作之前,处理器:禁止电子装置中的中断;并且通过执行循环来占用软件堆栈的至少一部分以减少与执行回放操作相关联的等待时间。
此外,电子装置可以包括存储器,其存储用于维护、计算、调整、确定、修改和执行的指令。
此外,发送时间和接收时间可以存储在给定分组的有效载荷的相对端。在这些实施例中,处理器可以确定有效载荷的持续时间并且可以将持续时间添加到剩余偏移时间。
另外,分组可以包括有效载荷中的音频数据,并且电子装置将音频数据存储在队列中。在这些实施例中,回放操作包括从队列输出音频数据。
应注意的是,调整系统时钟和修改未来时间可以将接口时钟的时钟域中的回放操作协调到第二接口时钟的时钟域的预定值内。
此外,第二电子装置可以是主装置,并且电子装置可以是从装置。
此外,接收时间可以与接口电路的无线测距能力相关联。
另外,当发生接口电路或第二电子装置中的第二接口电路的重置时,处理器可以在重置计数器之前通过采样并保持接口电路中的计数器中的与接口时钟对应的计数器值来对接口时钟进行镜像。在这些实施例中,被镜像的计数器值可以允许接口电路减少相对漂移,同时接口电路基于接口电路从第二电子装置接收的具有附加发送时间的附加分组来恢复与第二接口时钟的频率锁定。
另一个实施例提供了一种用于电子装置中的接口电路和/或处理器的计算机可读存储介质。该计算机可读存储介质包括用于由电子装置执行的操作中的至少一些操作的指令。
另一个实施例提供了一种用于对回放操作进行协调的方法。该方法包括由电子装置执行的操作中的至少一些操作。
另一个实施例提供了第二电子装置。
第五组描述的实施例包括电子装置。该电子装置包括:系统时钟电路、处理器、一个或多个天线、接口电路和接口时钟电路。在操作期间,系统时钟电路在电子装置中提供系统时钟,处理器执行软件,接口使用无线通信与第二电子装置通信,并且接口时钟电路在电子装置中提供接口时钟。此外,接口电路可以经由无线通信接收来自第二电子装置的分组,其中给定分组包括基于第二电子装置中的第二接口时钟的时间协调信息。作为响应,接口电路可以基于时间协调信息来协调接口时钟和第二接口时钟。此外,接口电路可以经由无线通信从第二电子装置接收指定电子装置要执行回放操作时的未来时间的信息。
另外,处理器可以捕获与接口时钟或参考时钟相关联的定时信息,接口时钟电路使用该定时信息生成接口时钟以增加系统时钟的分辨率,其中接口时钟比系统时钟具有更高的频率。然后,处理器可以使用定时信息跟踪作为系统时钟和接口时钟之间的时间的函数的相对漂移,并且可以基于相对漂移确定在未来时间处接口时钟和系统时钟之间的估计时间偏移。接下来,处理器可以基于估计时间偏移来修改未来时间以确定校正的未来时间,并且可以在校正的未来时间处执行回放操作。
应注意的是,发送时间可以在给定分组中被包括在有效载荷和/或媒体访问控制(MAC)报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
在一些实施例中,在执行回放操作之前,处理器:禁止电子装置中的中断;并且通过执行循环来占用软件堆栈的至少一部分以减少与执行回放操作相关联的等待时间。
此外,电子装置可以包括存储器,其存储用于捕获、跟踪、确定、修改和执行的指令。
此外,捕获定时信息可以包括将接口时钟的时间值存储在寄存器或计数器中。
另外,电子装置可以包括提供参考时钟的振荡器,并且接口时钟电路可以基于参考时钟提供接口时钟。在这些实施例中,从参考时钟中捕获定时信息。
此外,接口电路可以接收包括有效载荷中的音频数据的附加分组。替代地或附加地,可以在与信息相同的分组中接收至少一些音频数据。在这些实施例中,电子装置将音频数据存储在队列中,并且回放操作包括从队列输出音频数据。
应注意的是,捕获、跟踪、确定和修改可以将回放操作协调在第二接口时钟的时钟域的预定值内。
此外,第二电子装置可以是主装置,并且电子装置可以是从装置。
另外,接收时间可以与接口电路的无线测距能力相关联。
另一个实施例提供了一种用于电子装置中的接口电路和/或处理器的计算机可读存储介质。该计算机可读存储介质包括用于由电子装置执行的操作中的至少一些操作的指令。
另一个实施例提供了一种用于对回放操作进行协调的方法。该方法包括由电子装置执行的操作中的至少一些操作。
另一个实施例提供了第二电子装置。
出于说明一些示例性实施例的目的而提供本发明内容,以便提供对本文所述主题的一些方面的基本理解。因此,应当理解,上述特征是示例,并且不应被解释为以任何方式缩小本文描述的主题的范围或精神。从以下详细说明、附图和权利要求,本文描述的主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示出根据本公开的实施例的具有电子装置的系统的示例的框图。
图2是示出根据本公开的实施例的用于对回放操作进行协调的方法的示例的流程图。
图3是示出根据本公开的实施例的图1中的电子装置之间的通信的示例的图。
图4是示出根据本公开的实施例的用于对回放操作进行协调的方法的示例的流程图。
图5是示出根据本公开的实施例的图1中的电子装置之间的通信的示例的图。
图6是示出根据本公开的实施例的图1中的电子装置的示例的框图。
图7是示出根据本公开的实施例的图6中的电子装置中的示例控制电路的框图。
图8是示出根据本公开的实施例的图1中的电子装置中的时钟的示例的时序图。
图9是示出根据本公开的实施例的用于减小漂移的方法的示例的流程图。
图10是示出根据本公开的实施例的图1中的电子装置之间的通信的示例的图。
图11是示出根据本公开的实施例的图6中的电子装置中的时钟电路的示例的框图。
图12是示出根据本发明的实施例的在无线重置之后作为时间的函数的图1中的电子装置中的时钟的示例的时序图。
图13是示出根据本公开的实施例的用于对回放操作进行协调的方法的示例的流程图。
图14是示出根据本公开的实施例的图1中的电子装置之间的通信的示例的图。
图15是示出根据本公开的实施例的图1中的电子装置的示例的框图。
图16是示出根据本公开的实施例的用于对回放操作进行协调的方法的示例的流程图。
图17是示出根据本公开的实施例的图1中的电子装置之间的通信的示例的图。
图18是示出根据本公开的实施例的图1的电子装置之一的示例的框图。
应注意的是,在所有附图中,相同的附图标记指示对应的部件。此外,相同部件的多个实例由通过短划线与实例编号分隔的公共前缀指定。
具体实施方式
在第一组实施例中,电子装置对回放操作进行协调。具体地,电子装置中的接口电路可以基于第二电子装置发送分组时的发送时间与分组的接收时间之间的差来计算作为接口电路中的时钟与第二电子装置中的第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移调整提供时钟的时钟电路以消除相对漂移,并且可以确定时钟和第二时钟之间的剩余时间偏移。接下来,接口电路可以基于剩余时间偏移来修改电子装置要执行回放操作时的未来时间以确定校正的未来时间,并且电子装置可以在校正的未来时间处执行回放操作。
通过对回放操作(如音频内容的回放)进行协调,该协调技术可以在包括电子装置和/或第二电子装置的环境中提供改善的声学体验。例如,协调技术可以确保回放处于第二时钟的时钟域的预定值内。这种能力可以消除用户对漂移或回放操作的定时的改变(诸如,颤振回声)的感知。此外,这种能力可以促进环绕声或多声道声音。以这些方式,协调技术可以在使用电子装置和/或第二电子装置时改善用户体验。因此,协调技术可以增加电子装置和/或第二电子装置的提供商的客户忠诚度和收益。
在第二组实施例中,电子装置对回放操作进行协调。具体地,电子装置中的接口电路可以基于第二电子装置发送分组时的发送时间与分组的接收时间之间的差来计算作为接口电路中的时钟与第二电子装置中的第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移调整提供时钟的时钟电路以消除相对漂移,并且可以确定时钟和第二时钟之间的剩余时间偏移。接下来,接口电路可以基于剩余时间偏移来修改第二电子装置要执行回放操作时的未来时间以确定校正的未来时间,并且可以向第二电子装置发送指定校正的未来时间的信息。
通过对回放操作(诸如,音频内容的回放)进行协调,该协调技术可以在包括电子装置和/或第二电子装置的环境中提供改善的声学体验。例如,协调技术可以确保回放处于时钟的时钟域的预定值内。这种能力可以消除用户对漂移或回放操作的定时的改变(诸如,颤振回声)的感知。此外,这种能力可以促进环绕声或多声道声音。以这些方式,协调技术可以在使用电子装置和/或第二电子装置时改善用户体验。因此,协调技术可以增加电子装置和/或第二电子装置的提供商的客户忠诚度和收益。
在第三组实施例中,电子装置减少相对漂移。具体地,电子装置中的接口电路可以基于第二电子装置发送分组时的发送时间与分组的接收时间之间的差来计算作为接口电路中的时钟与第二电子装置中的第二时钟之间的时间的函数的相对漂移。然后,接口电路可以基于相对漂移调整提供时钟的时钟电路以消除相对漂移,并且可以将调整存储到时钟电路。此外,当发生无线重置时,接口电路可以基于存储的调整来调整时钟电路以减少相对漂移,同时接口电路基于从第二电子装置接收的具有附加发送时间的附加分组来恢复与第二时钟的频率锁定。
通过减少漂移,该协调技术可以保持由电子装置执行对回放操作(诸如,音频内容的回放)的协调。在该处理中,协调技术可以在包括电子装置和/或第二电子装置的环境中提供改善的声学体验。例如,协调技术可以确保回放处于第二时钟的时钟域的预定值内。这种能力可以消除用户对漂移或回放操作的定时的改变(诸如,颤振回声)的感知。此外,这种能力可以促进环绕声或多声道声音。以这些方式,协调技术可以在使用电子装置和/或第二电子装置时改善用户体验。因此,协调技术可以增加电子装置和/或第二电子装置的提供商的客户忠诚度和收益。
在第四组实施例中,电子装置对回放操作进行协调。具体地,电子装置中的处理器可以保持对由系统时钟电路提供的系统时钟和由时钟电路提供的接口时钟之间的协调。然后,处理器可以基于第二电子装置发送分组时的发送时间与分组的接收时间之间的差来计算作为接口时钟和第二电子装置中的第二接口时钟之间的时间的函数的相对漂移。此外,处理器可以基于相对漂移调整系统时钟电路以消除相对漂移。接下来,处理器可以确定接口时钟和第二接口时钟之间的剩余时间偏移。此外,处理器可以基于剩余时间偏移来修改电子装置要执行回放操作时的未来时间以确定校正的未来时间,并且可以在校正的未来时间处执行回放操作。
通过对回放操作(诸如,音频内容的回放)进行协调,该协调技术可以在包括电子装置和/或第二电子装置的环境中提供改善的声学体验。例如,协调技术可以确保回放处于第二时钟的时钟域的预定值内。这种能力可以消除用户对漂移或回放操作的定时的改变(诸如,颤振回声)的感知。此外,这种能力可以促进环绕声或多声道声音。以这些方式,协调技术可以在使用电子装置和/或第二电子装置时改善用户体验。因此,协调技术可以增加电子装置电子装置和/或第二电子装置的提供商的客户忠诚度和收益。
在第五组实施例中,电子装置对回放操作进行协调。具体地,电子装置中的处理器可以基于在来自第二电子装置的分组中接收的时间协调信息来协调电子装置中的接口时钟与第二电子装置中的第二接口时钟。然后,处理器可以捕获与接口时钟电路提供的接口时钟相关联的定时信息,以增加系统时钟的分辨率。此外,处理器可以使用定时信息跟踪作为系统时钟和接口时钟之间的时间的函数的相对漂移,并且可以基于相对漂移确定在未来时间处接口时钟和系统时钟之间的估计时间偏移。接下来,处理器可以基于估计时间偏移来修改电子装置要执行回放操作的未来时间以确定校正的未来时间,并且可以在校正的未来时间处执行回放操作。
通过对回放操作(诸如,音频内容的回放)进行协调,该协调技术可以在包括电子装置和/或第二电子装置的环境中提供改善的声学体验。例如,协调技术可以确保回放处于第二时钟的时钟域的预定值内。这种能力可以消除用户对漂移或回放操作的定时的改变(诸如,颤振回声)的感知。此外,这种能力可以促进环绕声或多声道声音。以这些方式,协调技术可以在使用电子装置和/或第二电子装置时改善用户体验。因此,协调技术可以增加电子装置电子装置和/或第二电子装置的提供商的客户忠诚度和收益。
在下面的讨论中,电子装置和/或第二电子装置(诸如,音频/视频(A/V)集线器、A/V显示装置、便携式电子装置、接收器装置、扬声器和/或消费电子装置)可包括根据一个或多个通信协议无线地传送分组或帧的无线电设备,这些通信协议诸如:电气和电子工程师协会(IEEE)802.11标准(有时被称为‘
Figure BDA0002943656550000131
’,来自德克萨斯州奥斯汀的
Figure BDA0002943656550000142
联盟)、
Figure BDA0002943656550000141
(来自华盛顿州柯克兰的蓝牙特别兴趣小组)、蜂窝电话通信协议、近场通信标准或规范(来自马萨诸塞州韦克菲尔德的NFC论坛)和/或其他类型的无线接口。例如,蜂窝电话通信协议可包括以下项或者可以与以下项兼容:第二代移动电信技术、第三代移动电信技术(诸如,符合瑞士日内瓦的国际电信联盟的国际移动电信-2000规范的通信协议)、第四代移动电信技术(例如,符合瑞士日内瓦的国际电信联盟的国际移动电信高级规范的通信协议)和/或另一种蜂窝电话通信技术。在一些实施例中,通信协议包括长期演进或LTE。但是,可以使用各种通信协议(诸如,以太网)。另外,无线通信可以经由各种频带发生,诸如,在以下频带处或以下频带中发生:2GHz无线频带、5GHz无线频带、ISM频带、60GHz无线频带、超宽频带。应注意的是,电子装置可以使用与红外通信标准(包括单向红外通信或双向红外通信)兼容的红外通信进行通信。
此外,以下讨论中的A/V内容可包括视频和相关联的音频(诸如,音乐、声音、对话等),仅视频或仅音频。
图1中示出了电子装置之间的通信,图1呈现了示出系统100的示例的框图,该系统100具有便携式电子装置110(诸如,遥控器或蜂窝电话)、一个或多个A/V集线器(诸如,A/V集线器112,更一般地,物理的接入点或基于软件的接入点)、一个或多个A/V显示装置114(诸如,电视、监视器、计算机,更一般地,与电子装置相关联的显示器)、一个或多个接收器装置(诸如,接收器装置116,例如,与最近的A/V显示装置114-1相关联的本地无线接收器,该最近的A/V显示装置114-1可以从A/V集线器112接收逐帧转码的A/V内容以在A/V显示装置114-1上显示)、可以接收和输出音频数据或内容的一个或多个扬声器118(并且更一般地,包括一个或多个扬声器的一个或多个电子装置)和/或与一个或多个内容提供商相关联的一个或多个内容源120。例如,一个或多个内容源120可以包括:无线电接收器、视频播放器、卫星接收器、提供与诸如互联网的有线网络的连接的接入点、媒体或内容源、消费电子装置、娱乐装置、机顶盒、在无需电缆、卫星或多系统运营商参与的情况下通过互联网或网络递送的顶级内容、安全相机、监控相机等。应注意的是,A/V集线器112、A/V显示装置114、接收器装置116和扬声器118有时在系统100中统称为“组件”。然而,A/V集线器112、A/V显示装置114、接收器装置116和/或扬声器118有时被称为“电子装置”。
具体地,便携式电子装置110和A/V集线器112可以使用无线通信彼此通信,并且系统100中的一个或多个其他组件(至少诸如:A/V显示装置114之一、接收器装置116、扬声器118之一和/或内容源120之一)可以使用无线通信和/或有线通信进行通信。在无线通信期间,这些电子装置可以在以下情况下进行无线通信:在无线声道上发送广告帧、通过扫描无线声道来检测彼此、(例如,通过发送关联请求)建立连接、和/或发送和接收分组或帧(其可包括作为有效载荷的关联请求和/或附加信息,诸如,指定通信性能、数据、音频和/或视频内容、定时信息等的信息)。
如下面参考图18进一步描述的,便携式电子装置110、A/V集线器112、A/V显示装置114、接收器装置116、扬声器118和内容源120可包括子系统,诸如:网络子系统、存储器子系统和处理器子系统。此外,便携式电子装置110、A/V集线器112、接收器装置116和/或扬声器118、以及可选地A/V显示装置114和/或内容源120中的一个或多个可包括网络子系统中的无线电设备122。应注意的是,在一些实施例中,无线电设备或接收器装置位于A/V显示装置中,例如,无线电设备122-5包括在A/V显示装置114-2中。此外,应注意的是,无线电设备122可以是相同无线电设备的示例,或者可彼此不同。更一般地,便携式电子装置110、A/V集线器112、接收器装置116和/或扬声器118(以及可选地A/V显示装置114和/或内容源120)可包括任何电子装置或者可包括在任何电子装置内,该电子装置具有使便携式电子装置110、A/V集线器112、接收器装置116和/或扬声器118(以及可选地A/V显示装置114和/或内容源120)能够彼此无线通信的网络子系统。无线通信可包括在无线声道上发送广告以使电子装置能够进行初始接触或相互检测,然后交换后续数据/管理帧(诸如,关联请求和响应)以建立连接、配置安全选项(例如,互联网协议安全性)、经由连接发送和接收分组或帧等。
从图1中可以看出,无线信号124(由锯齿线表示)从便携式电子装置110中的无线电设备122-1发送。这些无线信号由以下项中的至少一个接收:A/V集线器112、接收器装置116和/或扬声器118中的至少一个(以及可选地,A/V显示装置114和/或内容源120中的一个或多个)。例如,便携式电子装置110可以发送分组。反过来,这些分组可以由A/V集线器112中的无线电设备122-2接收。这可允许便携式电子装置110将信息传送到A/V集线器112。虽然图1示出了便携式电子装置110发送分组,但应注意的是,便携式电子装置110还可从系统100中的A/V集线器112和/或一个或多个其他组件接收分组。更一般地,无线信号可以由系统100中的一个或多个组件发送和/或接收。
在所描述的实施例中,便携式电子装置110、A/V集线器112、接收器装置116和/或扬声器118(以及可选地A/V显示装置114和/或内容源120中的一个或多个)中的分组或帧的处理包括:接收具有分组或帧的无线信号124;从接收的无线信号124解码/提取分组或帧以获取分组或帧;以及处理分组或帧以确定分组或帧中包含的信息(诸如,与数据流相关联的信息)。例如,来自便携式电子装置110的信息可包括与便携式电子装置110中的触敏显示器(TSD)128上显示的用户界面相关联的用户界面活动信息,便携式电子装置110的用户使用该用户界面来至少控制:A/V集线器112、A/V显示装置114中的至少一个、扬声器118中的至少一个和/或内容源120中的至少一个。(在一些实施例中,代替触敏显示器128或者作为触敏显示器128的补充,便携式电子装置110包括具有物理旋钮和/或按钮的用户界面,用户可以使用该用户界面来至少控制:A/V集线器112、A/V显示装置114之一、扬声器118中的至少一个、和/或内容源120之一)。替代地,来自便携式电子装置110、A/V集线器112、A/V显示装置114中的一个或多个、接收器装置116、扬声器118中的一个或多个和/或内容源120中的一个或多个的信息可以指定与系统100中的便携式电子装置110和一个或多个其他组件之间的通信有关的通信性能。此外,来自A/V集线器112的信息可包括与A/V显示装置114中的至少一个、扬声器118中的至少一个和/或内容源120之一的当前装置状态有关的装置状态信息(诸如,开、关、播放、倒回、快进、所选声道、所选A/V内容、内容源等),或者可包括用户界面的用户界面信息(其可以基于装置状态信息和/或用户界面活动信息动态更新)。此外,至少来自A/V集线器112和/或内容源120之一的信息可包括显示或呈现在A/V显示装置114中的一个或多个上的音频和/或视频(其有时表示为“音频/视频”或“A/V”内容),以及指定将如何显示、呈现或输出音频和/或视频的显示指令或呈现命令。然而,如前所述,可以经由有线通信在系统100中的组件之间发送音频和/或视频。因此,如图1所示,诸如在A/V集线器112和A/V显示装置114-3之间,可以存在有线电缆或链路,诸如,高清多媒体接口(HDMI)电缆126。
应注意的是,A/V集线器112可以基于A/V显示装置114-1中的显示器的格式来确定用于A/V内容的显示指令(具有显示布局)。替代地,A/V集线器112可以使用预定显示指令,或者A/V集线器112可以基于显示布局修改或变换A/V内容,使得经修改或经变换的A/V内容具有适当的显示格式以在显示器上进行显示。此外,显示指令可以指定要在A/V显示装置114-1中的显示器上显示的信息,该信息包括显示A/V内容的位置(诸如,在中央窗口中,在平铺窗口中等)。因此,要显示的信息(即,显示指令的实例)可以基于显示器的格式,诸如:显示器尺寸、显示器分辨率、显示器纵横比、显示器对比度、显示器类型等。在一些实施例中,A/V内容包括HDMI内容。然而,在其他实施例中,A/V内容与另一格式或标准兼容,诸如:H.264、MPEG-2、QuickTime视频格式、MPEG-4、MP4和/或TCP/IP。此外,A/V内容的视频模式可以是720p、1080i、1080p、1440p、2000、2160p、2540p、4000p和/或4320p。
替代地或附加地,由A/V集线器112确定的用于A/V内容的显示指令可以基于期望的声学效果(诸如,单声道声音、立体声声音或多声道声音)、期望的声学均衡、周围环境的预定义声学特性(诸如,声学传递函数、声学损失、声学延迟、环境中的声学噪声、环境中的环境声音和/或一个或多个反射)和/或环境中的一个或多个用户相对于A/V显示设备114-1和/或扬声器118中的一个或多个的当前位置。例如,显示指令可以包括由扬声器118输出的音频的回放时间之间的时间关系或协调,以实现期望的声学效果。
此外,应注意的是,当A/V集线器112从内容源120之一接收A/V内容时,A/V集线器112可以在具有A/V内容的帧或分组从内容源120之一接收时(例如,实时地)将A/V内容和显示指令提供给A/V显示装置114-1和/或扬声器118中的一个或多个,以便在A/V显示装置114-1中的显示器上显示A/V内容和/或由扬声器118中的一个或多个输出A/V内容。例如,A/V集线器112可以将A/V内容收集在缓冲器中直到接收音频或视频帧为止,然后A/V集线器112可以将完整帧提供给A/V显示装置114-1和/或扬声器118中的一个或多个。替代地,A/V集线器112可以将具有音频或视频帧的部分的分组提供给A/V显示装置114-1和/或扬声器118中的一个或多个。在一些实施例中,可以不同地(诸如,在显示指令改变时)、有规律地或周期性地(诸如,每N个帧或分组之一)或者在每个分组中将显示指令提供给A/V显示装置114-1和/或一个或多个扬声器118。
此外,应注意的是,可以以各种性能度量描述便携式电子装置110、A/V集线器112、A/V显示装置114中的一个或多个、接收器装置116、扬声器118中的一个或多个和/或一个或多个内容源120之间的通信的特征,这些性能度量诸如:接收信号强度指示符(RSSI)、数据速率、数据速率折扣无线电协议开销(有时称为“吞吐量”)、错误率(诸如,分组错误率、或者重试率或重发率)、均衡信号相对于均衡目标的均方误差、符号间干扰、多径干扰、信噪比、眼状图宽度、在一个时间间隔(诸如,1秒至10秒)内成功传送的字节数与在该时间间隔内可以发送的估计最大字节数的比率(后者有时被称为声道或链路的‘容量')和/或实际数据速率与估计的最大数据速率的比率(有时称为“利用率”)。此外,可以单独地或联合地监视通信期间与不同声道相关联的性能(例如,用于识别丢弃的分组)。
图1中的便携式电子装置110、A/V集线器112、A/V显示装置114之一、接收器装置116、扬声器118之一和/或一个或多个内容源120之间的通信可以涉及在一个或多个连接或链路中的不同无线声道(或者,甚至不同的通信协议,诸如,不同的Wi-Fi通信协议)中的一个或多个独立的并发数据流,其可以使用多个无线电设备被传送。应注意的是,一个或多个连接或链路在系统100中的无线网络(其可以是专有网络或公共网络)上均可以具有单独的或不同的标识符(诸如,不同的服务集标识符)。此外,一个或多个并发数据流可以在动态或逐个分组的基础上部分或完全冗余,以改善或维持性能度量,即使存在瞬态变化(诸如,干扰、需要传送的信息量的改变、便携式电子装置110的移动等),并且以便进行服务(同时保持与通信协议(例如,Wi-Fi通信协议)兼容),诸如:声道校准、确定一个或更多个性能指标、在不中断通信的情况下执行服务质量表征(诸如,执行声道估计、确定链路质量、执行声道校准和/或执行与至少一个声道相关联的频谱分析)、不同无线声道之间的无缝切换、组件之间的协调通信等。这些特征可以减少重新发送的分组的数量,因此,可以减少等待时间并避免通信中断,并且可以增强正在观看A/V显示装置114中的一个或多个上的A/V内容和/或收听由扬声器118中的一个或多个输出的音频的一个或多个用户的体验。
如前所述,用户可以经由显示在便携式电子装置110上的触敏显示器128上的用户界面来至少控制A/V集线器112、A/V显示装置114中的至少一个、扬声器118中的至少一个和/或内容源120中的至少一个。具体地,在给定时间,用户界面可包括一个或多个虚拟图标,其允许用户激活、停用或改变至少以下项的功能或能力:A/V集线器112、A/V显示装置114中的至少一个、扬声器118中的至少一个和/或内容源120中的至少一个。例如,用户界面中的给定虚拟图标可以具有位于触敏显示器128的表面上的关联的敲击区域。如果用户在敲击区域内(例如,使用一个或多个手指或脚趾,或使用触控笔)与该表面进行接触然后断开与该表面的接触,则便携式电子装置110(诸如,执行程序模块的处理器)可以接收用户界面活动通知,其指示来自触摸屏输入/输出(I/O)控制器的命令或指令的激活,该触摸屏输入/输出(I/O)控制器耦接到触敏显示器128。(替代地,触敏显示器128可响应于压力。在这些实施例中,用户可以利用通常小于阈值(诸如,10-20kPa)的平均接触压力来保持与触敏显示器128的接触,并且可以通过使与触敏显示器128的平均接触压力增加到高于阈值来激活给定虚拟图标。作为响应,程序模块可以指示便携式电子装置110中的接口电路将指示命令或指令的用户界面活动信息无线地传送到A/V集线器112,并且A/V集线器112可以将命令或指令传送到系统100中的目标组件(诸如,A/V显示装置114-1)。该指令或命令可使A/V显示装置114-1打开或关闭、使A/V显示装置114-1显示来自特定内容源的A/V内容、使A/V显示装置114-1执行特技操作模式(诸如,快进、倒回、快退或跳过)等。例如,A/V集线器112可以从内容源120-1请求A/V内容,然后可以将A/V内容连同显示指令一起提供给A/V显示装置114-1,以便A/V显示装置114-1显示A/V内容。替代地或附加地,A/V集线器112可以将与来自内容源120-1的视频内容相关联的音频内容提供给扬声器118中的一个或多个。
如前所述,在环境(例如,房间、建筑物、车辆等)中实现高音频质量通常是具有挑战性的。具体地,在环境中实现高音频质量通常对扩音器(例如扬声器118)的协调产生强烈限制。例如,协调可能需要保持精度为1-5μs。(应注意的是,讨论中的这些和其他数值是非限制性的示例性值。因此,精度可以是不同的,诸如,10μs或50μs。)在没有适当协调的情况下,环境中的声学质量可能降低,其中在收听音频内容和/或A/V内容时对收听者满意度和整体用户体验产生同量的影响。
可以通过直接或间接地将扬声器118与A/V集线器112协调(并且因此彼此地协调)来在协调技术中解决该挑战。如下面参考图2至图17所述,在一些实施例中,可以使用无线通信促进扬声器118对音频内容的协调回放。具体地,因为光速比声速快近六个量级,所以环境(例如房间)中的无线信号的传播延迟相对于扬声器118的期望协调精度是可忽略的。例如,扬声器118的期望协调精度可以是微秒级,而典型房间中的传播延迟(例如,最多10米至30米的距离)可能小一个或两个量级。因此,通过在由A/V集线器112向扬声器118中的给定的一个发送的分组中包括指定发送时间的信息,并通过在给定的扬声器处记录或存储这些分组的接收时间,回放操作(诸如,播放音频)的定时可以在预定值内(诸如,例如,在1-5μs内)进行协调。具体地,如下面参考图2、图3和图6至图8所述,A/V集线器112可以基于由时钟电路130-1(诸如,A/V集线器112中的接口电路中的接口时钟电路或与A/V集线器112中的接口电路相关联的接口时钟电路)提供的接口时钟来发送包括A/V集线器112发送帧或分组时的发送时间的帧或分组,并且扬声器118中的一个或多个(诸如,扬声器118-1)中的接口电路可以基于由时钟电路130-2(诸如,扬声器118-1中的接口电路中的接口时钟电路或与扬声器118-1中的接口电路相关联的接口时钟电路)提供的接口时钟来记录或存储接收分组时的接收时间。基于发送时间和接收时间之间的差,扬声器118-1中的接口电路可以计算作为由时钟电路130-1提供的接口时钟和由时钟电路130-2提供的接口时钟之间的时间的函数的相对漂移。
然后,扬声器118-1中的接口电路可以基于相对漂移来调整时钟电路130-2以消除相对漂移。例如,扬声器118-1中的接口电路可以调整时钟电路130-2中的锁频环(FLL)电路,以频率锁定由时钟电路130-1提供的接口时钟和由时钟电路130-2提供的接口时钟。此外,扬声器118-1中的接口电路可以确定由时钟电路130-1提供的接口时钟和由时钟电路130-2提供的接口时钟之间的剩余时间偏移。
该剩余时间偏移可用于在执行回放操作(诸如,输出从A/V集线器112接收的音频数据)时校正在锁定由时钟电路130-1提供的接口时钟与由时钟电路130-2提供的接口时钟之间的相位。具体地,扬声器118-1中的接口电路可以经由无线通信从A/V集线器112接收具有指定扬声器118-1要执行回放操作时的未来时间的信息的帧或分组。接下来,扬声器118-1中的接口电路可以基于剩余时间偏移来修改未来时间以确定校正的未来时间,并且扬声器118-1可以在校正的未来时间处执行回放操作。
替代地或附加地,如下面参考图4和图5进一步描述的,可以颠倒A/V集线器112和扬声器118-1在协调技术中的作用,使得A/V集线器112执行由扬声器118-1执行的上述操作中的至少一些操作。因此,代替A/V集线器112将具有发送时间的分组发送到扬声器118-1,扬声器118-1可以将分组发送到A/V集线器112。然后,A/V集线器112可以执行与如上所述的扬声器118-1的那些操作类似操作,并且可以将具有指定校正的未来时间的信息的帧或分组发送到扬声器118-1。
此外,如下面参考图9至图12进一步描述的,为了在A/V集线器112中的接口电路和/或扬声器118-1中的接口电路进行无线重置之后减少或消除由时钟电路130-1提供的接口时钟与由时钟电路130-2提供的接口时钟之间的漂移,在一些实施例中,扬声器118-1中的接口电路可以基于存储的对时钟电路130-2的先前调整来适配时钟电路130-2。例如,扬声器118-1中的接口电路可以基于对时钟电路130-2的先前调整的平均值来调整时钟电路130-2中的FLL电路(诸如,FLL电路中的合成器的种子)。以这种方式,回放操作的协调可以保持在预定值内,而扬声器118-1中的接口电路基于具有从A/V集线器112接收的附加发送时间的附加分组来利用由时钟电路130-1提供的接口时钟恢复频率锁定。替代地或附加地,在无线重置期间由扬声器118-1执行的上述操作中的至少一些操作可以由A/V集线器112执行。
前述实施例使用A/V集线器112和/或扬声器118-1中的接口电路将A/V集线器112的时钟域与扬声器118-1的时钟域之间的回放操作的协调实现和/或维持在预定值内,在其他实施例中,至少部分地使用由处理器执行的软件来执行回放操作的协调。这将在下面参考图13至图17进一步描述。应注意的是,虽然这些实施例示出了扬声器118-1中的处理器执行软件,但是在其他实施例中,由扬声器118-1中的处理器执行的操作中的至少一些操作由A/V集线器112中的执行软件的处理器执行。
在一些实施例中,诸如无线测距或基于无线电的距离测量的技术可用于促进回放操作的协调。例如,无线测距可以用于确定和校正A/V集线器112和/或扬声器118-1之间的光的传播延迟,此时,传播延迟不比预定值小至少一个或两个量级,诸如当A/V集线器112和扬声器118-1处于不同的房间时。(当距离在一个房间内并且电子装置静止时,传播延迟对剩余时间偏移引入可忽略的静态贡献。)通常,A/V集线器112和扬声器118-1之间的距离是基于飞行时间(公共时钟域中发送时间和接收时间的差)和传播速度的乘积被确定的。
此外,一种或多种附加技术可用于在回放操作的协调期间识别和/或排除多路径无线信号。例如,A/V集线器112和/或扬声器118可以使用以下项来确定到达角度(包括非视距接收):定向天线、具有已知位置的天线阵列处的差分到达时间和/或具有已知位置的两个无线电设备的到达角度(例如,三边测量或多点定位)。
虽然前面的示例示出了在A/V集线器112和/或扬声器118-1中利用公共时钟域进行无线测距,但是在其他实施例中,当由时钟电路130-1提供的接口时钟和由时钟电路130-2提供的接口时钟不协调时,执行无线测距。例如,即使在发送时间未知或不可用时,也可以基于在不同已知位置处的若干接收器处的无线信号124的传播速度和到达时间数据(其有时被称为“差分到达时间”)来估计A/V集线器112和/或扬声器118的位置。更一般地,各种无线电定位技术可用于例如:基于接收信号强度指示符(RSSI)的功率相对于原始发送信号强度的差(其可包括对吸收、折射、阴影和/或反射的校正)来确定距离;使用定向天线或基于具有已知位置的天线阵列的差分到达时间来确定无线电设备处的到达角度(包括非视距接收);基于反向散射无线信号来确定距离;和/或确定具有已知位置的至少两个无线电设备处的到达角度(即,三边测量或多点定位)。应注意的是,无线信号124可包括在GHz或多GHz带宽上进行的发送以产生短持续时间(诸如,例如,大约1ns)的脉冲,这可允许在0.3m(例如,1ft)内确定距离。在一些实施例中,使用位置信息(诸如,由本地定位系统、全球定位系统、蜂窝电话网络和/或无线网络确定或指定的图1中的电子装置中的一个或多个的位置)来促进无线测距。
尽管我们将图1中所示的网络环境描述为示例,但是在替代实施例中,可以存在不同数量或类型的电子装置。例如,一些实施例包括更多或更少的电子装置。作为另一示例,在另一实施例中,不同的电子装置正在发送和/或接收分组或帧。虽然图1中的电子装置被示出为具有无线电设备122的单一实例,但是在其他实施例中,这些组件中的一个或多个可以包括多个无线电设备。
使用接口电路对回放操作进行协调
我们现在描述协调技术的实施例。在一些实施例中,至少部分地使用诸如接口电路的硬件来实现协调技术。这在图2中示出,图2呈现了示出用于对回放操作进行协调的方法200的示例的流程图。方法200可以由电子装置(其可以是从装置)(诸如,A/V显示装置114(图1)之一或扬声器118(图1)之一)中的接口电路执行。
在操作期间,接口电路可以经由无线通信从第二电子装置(其可以是主装置)接收分组(操作210),其中给定分组包括当第二电子装置发送给定分组时基于第二电子装置中的第二时钟的发送时间。应注意的是,发送时间可以在给定分组中被包括在有效载荷和/或媒体访问控制(MAC)报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
响应于接收到分组,接口电路可以存储接收分组时的接收时间(操作212),其中接收时间基于电子装置中的时钟。应注意的是,发送时间可以与分组的前沿或后沿对应。类似地,接收时间可以与分组的前沿或后沿对应。
然后,接口电路可以基于发送时间和接收时间之间的差来计算作为时钟和第二时钟之间的时间的函数的相对漂移(操作214),并且可以基于相对漂移来调整提供时钟的时钟电路(诸如,接口电路中的接口时钟电路或与接口电路相关联的接口时钟电路)以消除相对漂移的(操作216)。例如,调整可以基于连续分组的差,并且调整可以频率锁定时钟和第二时钟。
此外,接口电路可以确定时钟和第二时钟之间的剩余时间偏移(操作218)。
此外,接口电路可以经由无线通信从第二电子装置接收指定电子装置要执行回放操作的未来时间的信息(操作220)。
另外,接口电路可以基于剩余时间偏移来修改未来时间(操作222)以确定校正的未来时间。
接下来,电子装置可以在校正的未来时间处执行回放操作(操作224),其中调整时钟和修改未来时间将时钟的时钟域中的回放操作协调在第二时钟的时钟域的预定值内。
在一些实施例中,分组包括有效载荷中的音频数据,并且电子装置将音频数据存储在队列中。在这些实施例中,回放操作包括从队列输出音频数据。(然而,在其他实施例中,回放操作包括显示视频,其可以与音频协调以防止观看者可能注意到的声音和图像之间的非预期的定时偏移。)应注意的是,调整时钟(操作216)和修改未来时间(操作222)可以对回放操作进行协调。
此外,接口电路(和/或电子装置)可以可选地执行一个或多个附加操作(操作226)。例如,发送时间和接收时间可以存储在给定分组的有效载荷的相对端。因此,发送时间可以在有效载荷的开始处,并且接收时间可以附加到有效载荷的末尾。在这些实施例中,电子装置中的接口电路或执行软件的处理器可以确定有效载荷的持续时间,并且接口电路可以将持续时间添加到剩余偏移时间。
图3呈现了示出A/V集线器112和扬声器118-1之间的通信的示例的图。具体地,A/V集线器112中的接口电路310可以将一个或多个分组(例如,分组312)发送到扬声器118-1。每个分组可以包括基于A/V集线器112发送分组312时的由A/V集线器112中的接口电路310中的接口时钟电路318或与A/V集线器112中的接口电路310相关联的接口时钟电路318提供的接口时钟316的对应的发送时间314。当扬声器118-1中的接口电路320接收到分组时,接口电路320可以在分组中包括接收时间(或者接口电路320可以将接收时间存储在存储器330中),其中对于每个分组,对应的接收时间322可以基于由接口电路320中的接口时钟电路326或与接口电路320相关联的接口时钟电路326提供的接口时钟324。
然后,接口电路320可以基于发送时间和接收时间之间的差来计算作为接口时钟316和接口时钟324之间的时间的函数的相对漂移332,并且可以基于相对漂移332来调整334接口时钟电路326以消除相对漂移332。此外,接口电路320可以确定接口时钟316和接口时钟324之间的剩余时间偏移336。
在一些实施例中,发送时间和接收时间可以存储在分组的有效载荷的相对端。在这些实施例中,扬声器118-1中的接口电路320或执行软件的处理器338可以确定与有效载荷的长度340相关联的持续时间342或时间,并且接口电路320可以将持续时间342添加到剩余偏移时间336。
此外,接口电路310可以发送分组346,该分组346包括指定扬声器118-1要执行回放操作350的未来时间344的信息。在接收到分组346之后,接口电路320可以基于剩余时间偏移336来修改未来时间344以确定校正的未来时间348。
接下来,扬声器118-1可以在校正的未来时间348处执行回放操作350。例如,接口电路318或执行软件的处理器338可以执行回放操作350。具体地,分组和/或附加分组可以在有效载荷中包括音频数据328,并且扬声器118-1可以将音频数据328存储在存储器330中的队列中。在这些实施例中,回放操作350包括从队列输出音频数据328,其包括基于音频数据328驱动扬声器118-1中的电声换能器,因此扬声器118-1输出声音。应注意的是,调整334接口时钟324并修改未来时间344可以将接口时钟324的时钟域中的回放操作350协调到接口时钟316的时钟域的预定值内。
如前所述,可以颠倒时钟主装置和从装置在协调技术中的作用。这在图4中示出,其呈现了示出用于对回放操作进行协调的方法400的示例的流程图。方法400可以由诸如A/V集线器112(图1)的第二电子装置(可以是从装置)中的第二接口电路执行。在操作期间,第二接口电路可以经由无线通信从电子装置(其可以是从装置)接收分组(操作410),其中给定分组包括基于电子装置中的电子装置发送该给定分组时的时钟的发送时间。应注意的是,发送时间可以在给定分组中被包括在有效载荷和/或MAC报头中。在一些实施例中,分组包括控制分组。替代地或附加地,分组可以包括数据分组。
响应于接收到分组,第二接口电路可以存储接收到分组时的接收时间(操作412),其中接收时间基于第二电子装置中的第二时钟。应注意的是,发送时间可以与分组的前沿或后沿对应。类似地,接收时间可以与分组的前沿或后沿对应。
然后,第二接口电路可以基于发送时间和接收时间之间的差来计算作为第二时钟和时钟之间的时间的函数的相对漂移(操作414),并且可以基于相对漂移来调整提供第二时钟的第二时钟电路(诸如,第二接口电路中的第二接口时钟电路或与该第二接口电路相关联的第二接口时钟电路)以消除相对漂移(操作416)。例如,调整可以基于连续分组的差,并且调整可以频率锁定时钟和第二时钟。
此外,第二接口电路可以确定第二时钟和时钟之间的剩余时间偏移(操作418)。
此外,第二接口电路可以基于剩余时间偏移来修改电子装置要执行回放操作的未来时间(操作420)以确定校正的未来时间。
接下来,第二接口电路可以经由无线通信向电子装置发送指定校正的未来时间的信息(操作422)。
在一些实施例中,第二接口电路(和/或第二电子装置)可选地执行一个或多个附加操作(操作424)。例如,发送时间和接收时间可以存储在给定分组的有效载荷的相对端。在这些实施例中,第二电子装置中的第二接口电路或执行软件的处理器可以确定有效载荷的持续时间,并且第二接口电路可以将持续时间添加到剩余偏移时间。
此外,在发送信息之前,在发送信息的同时和/或在发送信息之后(操作422),第二接口电路可以发送包括有效载荷中的音频数据的附加分组,并且回放操作可以包括输出音频数据。(然而,在一些实施例中,音频数据中的至少一些被包括在与信息相同的分组中。)应注意的是,调整第二时钟(操作416)和修改未来时间(操作420)可以将第二时钟的时钟域中的回放操作协调在时钟的时钟域的预定值内。
图5呈现了示出A/V集线器112和扬声器118-1之间的通信的示例的图。具体地,扬声器118-1中的接口电路320可以将一个或多个分组(例如,分组510)发送到A/V集线器112。每个分组可以包括基于当扬声器118-1发送分组510时的由扬声器118-1中的接口电路320中的接口时钟电路326或与该接口电路320相关联的接口时钟电路326提供的接口时钟324的对应的发送时间512。当A/V集线器112中的接口电路310接收分组时,接口电路310可以在分组中包括接收时间(或者接口电路310可以将接收时间存储在存储器中),其中对于每个分组,对应的接收时间514可以基于由接口电路310中的接口时钟电路318或与接口电路310相关联的接口时钟电路318提供的接口时钟316(其有时被称为“接口时钟”)。
然后,接口电路310可以基于发送时间和接收时间之间的差来计算作为接口时钟316和接口时钟324之间的时间的函数的相对漂移516,并且可以基于相对漂移来调整518接口时钟电路318以消除相对漂移516。此外,接口电路310可以确定接口时钟316和接口时钟324之间的剩余时间偏移520。
在一些实施例中,发送时间和接收时间可以存储在分组的有效载荷的相对端。在这些实施例中,A/V集线器112中的接口电路310或执行软件的处理器522可以确定与有效载荷的长度524相关联的持续时间526或时间,并且接口电路310可以将持续时间526添加到剩余偏移时间520。
此外,接口电路310可以基于剩余时间偏移520修改扬声器118-1要执行回放操作350的未来时间528以确定校正的未来时间530。接下来,接口电路310可以发送一个或多个分组532,其包括指定校正的未来时间530的信息。此外,分组532可以包括有效载荷中的音频数据328。
在接口电路320接收到分组532之后,扬声器118-1可以将音频数据328存储在存储器330中的队列中,并且扬声器118-1可以在校正的未来时间530处执行回放操作350。例如,接口电路320或执行软件的处理器可以执行回放操作350。在这些实施例中,回放操作350包括从队列中输出音频数据328,其包括基于音频数据328驱动扬声器118-1中的电声换能器,因此扬声器118-1输出声音。应注意的是,调整518接口时钟316和修改未来时间528可以将接口时钟316的时钟域中的回放操作350协调到接口时钟324的时钟域的预定值内。
在示例性实施例中,协调技术用于为环绕声或多声道声音提供声道协调和定相。具体地,一些人能够感知到5μs的回放协调变化,这可产生可听见的模糊效果。此外,如果相对时钟漂移足够大,则在时钟调整之间可能发生可听见的颤振。此外,可能需要扬声器和耳机(或头戴式耳机)之间的全局回放协调以避免可能降低用户体验的跳跃或回声。因此,协调技术可能需要将两个或更多个扬声器的回放协调维持在例如1-5μs内。
为了实现这种协调能力,在一些实施例中,协调技术可以包括由诸如A/V集线器中的接口电路(其可以用作无线局域网中的接入点)接口电路(即,在物理层中)或向系统中的一个或多个扬声器提供数据分组的音频接收器(以及,更一般地,接收方)发送的分组中的发送时间信息。具体地,A/V集线器可以在每个用户数据报协议(UDP)数据分组中(诸如,在有效载荷中)包括发送时间戳。因此,在一些实施例中,协调可以不使用接入点信标或专用分组。此外,协调信息的通信可以是单向的,诸如,从A/V集线器到扬声器或者从扬声器到A/V集线器(其与来回通信或双向通信相反)。
应注意的是,时间戳可以包括与A/V集线器中的接口电路中的接口时钟或与A/V集线器中的接口电路相关联的接口时钟对应的计数器值。在一些实施例中,计数器值是高分辨率,诸如,例如,32B。例如,计数器值或时间戳与集成的IC间声音总线(I2S)相关联。
当接收方中的接口电路从A/V集线器接收到分组时,接口电路可以将接收时间附加于数据分组中的有效载荷。例如,接收时间可以包括与接收方中的接口电路中的接口时钟或与接收方中的接口电路相关联的接口时钟对应的计数器值。在一些实施例中,数据分组中可能存在用于存储定时信息的24B,诸如,在有效载荷的开始处的用于存储在A/V集线器处的发送时间的4B,以及在有效负载的末尾处的用于存储在接收方处的接收时间的4B。
然后,使用来自多个分组的发送时间(其可以提供关于主时基的信息)和接收时间,接口电路可以跟踪和校正A/V集线器和接收方中的接口电路中的时钟之间的漂移,并可以确定剩余时间偏移。接下来,接口电路可以使用剩余时间偏移来基于剩余时间偏移修改未来时间,以确定接收方执行回放操作(例如,包括在数据分组中的音频数据的回放)时的校正的未来时间。
应注意的是,在一些实施例中,当在A/V集线器和接收方中的接口电路的测试模式期间分别发送和接收数据分组时,包括发送时间和接收时间。该测试模式可以由A/V集线器和/或接收方中的处理器执行的软件来设置或选择。
图6呈现了示出电子装置600的示例的框图。在随后的描述中,电子装置600可以包括图1中的扬声器118-1。然而,在其他实施例中,协调信息的流程被颠倒,并且电子装置600包括图1中的A/V集线器112。
电子装置600可以包括:Wi-Fi接口电路610(其是接口电路的示例)、片上系统(SOC)612和控制电路(CC)614(例如,可编程逻辑器件或现场可编程逻辑阵列)。另外,电子装置600可以包括I2S电路608,其在A/V集线器112(图1)中对音频数据进行采样,并且在扬声器118-1(图1)中回放音频数据。为了提供高质量的收听体验,可以对从A/V集线器112(图1)中的I2S电路608的实例到扬声器118-1(图1)中的I2S电路608的实例的定时进行协调,或者可以跟踪相对定时差并使用相对定时差校正未来的回放时间。在一些实施例中,I2S电路608和接口电路610之间的协调保持在电子装置内(诸如,通过调整I2S时钟)。然后,使用协调技术对接口电路610的实例进行频率锁定。
具体地,音频数据的分组626可以被组装并存储在SOC 612中的存储器624中。该分组可以包括空间628,其将被用于存储Wi-Fi分组(其包括分组626)的发送时间和接收时间。应注意的是,分组626可以包括与I2S时钟相关联的软件时间戳,诸如,当SOC 612基于I2S时钟对音频数据进行采样时。
分组626可以经由主机接口630提供给接口电路610。然后,MAC层632可以组装MAC协议数据单元(MPDU),其存储在先进先出634缓冲器中。可以将MPDU提供给物理(PHY)层636,其将物理层会聚协议(PLCP)协议数据单元(PPDU)组装成帧。接下来,帧可以由无线电设备628之一发送。
在发送期间,接口电路610可以等待共享通信信道可用。当通信信道可用时,可以从接口电路610获取当前接口时钟时间戳,可以将当前接口时钟时间戳存储在接口电路610中的硬件中,并且可以将当前接口时钟时间戳添加到分组626中。例如,可以通过MAC层632或PHY层636添加发送时间。
在发送包括分组626的帧之后,接口电路610可以等待确认(ACK)。在没有ACK的预定义时间间隔之后,接口电路610可以重复从等待共享通信信道可用开始的处理。因此,在每次尝试发送包括分组626的帧之前,经修改的发送时间可以包括在分组626中。
如果发生超时或者重试次数太多,则接口电路610可以向SOC612发信号通知发送故障。或者,如果接收到ACK,则接口电路610可以向SOC 612提供信号完成,并且存储在接口电路610中的发送时间可以被提供给SOC 612。
类似地,当接口电路610接收到帧时,可以通过PHY层636或MAC层632将接收时间戳添加到分组626的实例。如前所述,接收时间可以与帧的前沿或后沿相关联。具体地,接收时间可以基于接收时间640(其与前沿相关联)或接收清除642(其与后沿相关联)。
如下面参考图9至图12进一步描述的,当发生重置时,接口电路610可以向CC 614提供重置616。此外,CC 614可以通过双向减少媒体独立接口(RMI I)620和单向I2S 622耦接到SOC 612。在一些实施例中,接口时钟618具有大约24.576MHz的基频(其有时被称为“25MHz时钟”),并且CC 614中的或与CC 614相关联的I2S 622中的时钟具有在44-192kHz之间的采样频率。
图7呈现了示出图1中的CC 614的示例的框图。在CC 614中,时钟电路710可以基于由振荡器714(例如,晶体振荡器)提供的参考时钟716使用FLL 712生成接口时钟618。此外,如图所示,FLL 712可以包括:锁相环(PLL)718,其有效地将参考时钟716乘以N(诸如,12,并且更一般地,整数);以及累加器720-1,其有效地将来自PLL 718的输出除以M(诸如,16,并且更一般地,与N相同或不同的整数)。应注意的是,累加器720-1可以基于种子722-1(诸如,十六进制的1AAA)除以M。在一些实施例中,累加器720-1包括在合成器中,并且FLL 712使用直接数字合成生成接口时钟618。
此外,电子装置600中(诸如,图6中的CC 614或接口电路610中)的控制逻辑724可以通过调整种子722-1来调整接口时钟618的基频。为了实现系统的欠松弛,对种子722-1的调整可以被限制为对于每个数据分组递增或递减一位。
基于A/V集线器与接收方(例如,图1中的扬声器118-1)中的时钟之间的相对漂移,控制逻辑724可以调整种子722-1以消除相对漂移。例如,作为时间的函数的相对漂移可以由控制逻辑724计算,并且控制逻辑724可以基于相对漂移调整种子722-1以改变时钟速度。这可以调整时钟频率的斜率与时间的关系,以便将接口时钟618频率锁定到A/V集线器中的对应的接口时钟(并且,因此,使相对漂移为零)。在一些实施例中,调整基于相对漂移的平均值或低通滤波值(其使用包括在多个数据分组(诸如,在0.1-1ms内接收的数据分组)中的协调信息被确定),其也可以提供欠松弛。替代地或附加地,可以以降低的调整速率(诸如,例如,每毫秒)将调整应用于时钟电路710。
此外,控制逻辑724可以确定接口时钟618与A/V集线器中的对应的接口时钟(其可以存储在电子装置600(图6)中的寄存器726中,诸如,在CC 614或接口电路610(图6)中)之间的剩余(DC)时间偏移(TO)。应注意的是,剩余时间偏移可以是准静态的。此外,图6中的电子装置600(诸如,由电子装置600中的处理器执行的软件)可以确定数据分组的持续时间,然后由控制逻辑724将该持续时间添加到剩余时间偏移。当发送时间和接收时间在数据分组中的有效载荷的相对端时,这可能是必要的。
在一些实施例中,需要例如8-16ms来对接口时钟618和A/V集线器中的对应的接口时钟进行频率锁定。为了适应这一点,以及与在图6中的电子装置600上执行的软件相关联的可变等待时间,数据分组(其基于接口时钟618到达)中的音频数据可以存储在队列730中。该队列可以存储例如最多8毫秒的音频数据。另外,CC 614可以包括重排序缓冲器728,其可以对从A/V集线器不按顺序到达的音频数据重新排序。
当接口电路610(图6)接收电子装置600(图6)要执行回放操作的未来时间时,控制逻辑724可以基于所接收的未来时间和剩余时间偏移来确定校正的未来时间。接下来,在校正的未来时间处,控制逻辑724可以执行回放操作,诸如,将队列730中的音频数据输出到音频集成电路(AIC)732,然后输出到扬声器(未示出)。以这种方式,可以协调不同接收方的所有回放时间。
图8呈现了示出图1中的电子装置中的时钟814(诸如,A/V集线器和接收方中的接口时钟)的基频810的示例的时序图。在协调间隔816之后,接收方可以消除或抵消作为时间812的函数的基频810的相对漂移818。随后,可以通过剩余时间偏移822来校正接收方要执行回放操作的未来时间820以确定校正的未来时间824,以便在A/V集线器和接收方之间协调回放操作。
虽然前面的描述示出了在接口电路的测试模式期间使用发送时间和接收时间,但是在其他实施例中,发送时间和接收时间与接口电路的无线测距能力相关联。例如,当A/V集线器和接收方在同一房间时,可以忽略与A/V集线器和接收方之间的距离相关联的飞行时间或时间延迟,或者可以将与A/V集线器和接收方之间的距离相关联的飞行时间或时间延迟包括在剩余时间偏移中。在一些实施例中,当A/V集线器和接收方处于不同的房间(诸如,相隔超过10-30m)时,使用无线测距来确定和校正与A/V集线器和接收方之间的距离相关联的时间延迟。在这些实施例中,无线测距可以用在A/V集线器和接收方之间的通信的两个方向上。替代地或附加地,当A/V集线器和接收方处于不同的房间时,A/V集线器和接收方的协调可以包括或使用诸如网络时间协议(NAP)的协调技术。在一些实施例中,发送时间和/或接收时间基于提供给电子装置600(图6)的一个或多个外部时钟,而不是使用在电子装置600(图6)内生成的一个或多个时钟来确定发送时间和/或接收时间。
无线重置后对回放操作进行协调
在一些实施例中,即使在发生无线重置时,诸如当通信性能降低(例如,由于干扰)并且链路的相对侧上的任一个接口或两个接口电路被重置为默认状态或默认链接参数(包括重置与接口电路中的接口时钟电路或与接口电路相关联的接口时钟电路相关联的计数器)时,协调技术也是鲁棒的。这在图9中示出,其呈现了示出用于减少漂移的方法900的示例的流程图。方法900可以由诸如A/V显示装置114(图1)之一或扬声器118(图1)之一的电子装置(其可以是从装置)中的接口电路执行。
在操作期间,接口电路可以经由无线通信从第二电子装置(其可以是主装置)接收分组(操作210),其中给定分组包括基于第二电子装置发送给定分组时的第二电子装置中的第二时钟的发送时间。
响应于接收到分组,接口电路可以存储接收分组时的接收时间(操作212),其中接收时间基于电子装置中的时钟。
然后,接口电路可以基于发送时间和接收时间之间的差来计算作为时钟和第二时钟之间的时间的函数的相对漂移(操作214),并且可以基于该相对漂移来调整提供时钟的时钟电路(诸如,接口电路中的接口时钟电路或与接口电路相关联的接口时钟电路)以消除相对漂移(操作216)。
此外,接口电路可以存储对时钟电路的调整(操作910)。
此外,当重置接口电路或第二电子装置中的第二接口电路时(操作912),接口电路可以基于存储的调整来适配时钟电路(操作914)以减少相对漂移,同时接口电路基于从第二电子装置接收的具有附加发送时间的附加分组来恢复与第二时钟的频率锁定。
图10呈现了示出A/V集线器112和扬声器118-1之间的通信的示例的图。具体地,A/V集线器112中的接口电路310可以将分组(诸如,分组312)发送到扬声器118-1。每个分组可以包括基于在A/V集线器112发送分组312时由A/V集线器112中的接口电路310中的接口时钟电路318或与A/V集线器112中的接口电路310相关联的接口时钟电路318提供的接口时钟316的的对应的发送时间314。当扬声器118-1中的接口电路320接收到分组312时,接口电路320可以在分组312中包括接收时间322(或者接口电路320可以将接收时间322存储在存储器330中),其中对于每个分组,对应的接收时间可以基于由接口电路320中的接口时钟电路326或与接口电路320相关联的接口时钟电路326提供的接口时钟324。
然后,接口电路318可以基于发送时间和接收时间之间的差来计算作为接口时钟316和接口时钟324之间的时间的函数的相对漂移332,并且可以基于相对漂移332来调整334接口时钟电路320以消除相对漂移332。此外,接口电路318可以将对接口时钟电路326的调整1010存储在存储器330中。
此外,当接口电路310和/或接口电路318被重置1012(其可以经由分组1014由接口电路310发送)时,接口电路318可以基于存储的调整1010来适配1016接口时钟电路320以减少相对漂移334,同时接口电路320基于由接口电路320从接口电路310接收的具有发送时间1020的附加分组1018和对应的接收时间1022来恢复与接口时钟316的频率锁定。
在示例性实施例中,由于A/V集线器和接收方之间的无线通信的变化,A/V集线器和/或接收方中的无线电设备或接口电路被例行地且不可预测地重置。返回参照图6,在无线重置期间,CC 614可以从接口电路610接收重置616。除了在无线重置期间重置接口电路610中的计数器之外,重置616可以重置时钟电路710(图7)中的计数器。以这种方式,电子装置600可以在内部进行协调,并且当接口电路610中的驱动器重置时,一旦接收到下一个数据分组(即,当下一个发送时间/接收时间对可用时),就可以开始确定和/或应用对时钟电路710(图7)的调整。例如,当接口电路610中的驱动器重置时,当接收到下一个数据分组时,计数器可以立即递增或递减。
然而,可能需要例如8-16ms来恢复A/V集线器和接收方之间的频率锁定。在该时间间隔期间,A/V集线器和接收方中的时钟可以漂移例如最多50-60μs。当扬声器输出的音频颤动时,一些用户可能感知到这种相对漂移。
为了解决该挑战,可以存储在协调技术期间应用于时钟电路的调整。然后,在无线重置的情况下,可以将存储的在前一时间间隔(诸如,前一8-16ms)期间的调整的平均值或方差应用于时钟电路,以减少或消除频率锁定恢复时的相对漂移。这在图11中示出,图11呈现了示出电子装置600(图6)中的时钟电路1110的示例的框图。具体地,时钟电路1100可以包括可选的累加器720-2,其在协调技术期间跟踪对累加器720-1的调整。此外,跟踪的调整可以存储在寄存器或存储器1112中。
然后,当发生无线重置时,控制逻辑724可以使用存储的调整或者调整的平均值或均值来适配时钟电路1110以减小、约束或理想地消除相对漂移,直到频率锁定恢复为止。例如,可以在与恢复频率锁定所需的时间间隔对应的时间尺度上对存储的调整进行平均。
使用该方法,直到频率锁定恢复为止,相对漂移可小于2-8μs。在一些实施例中,在时间间隔(例如16ms)上对所存储的调整进行平均或者低通滤波。替代地或附加地,可以以降低的更新频率或速率将调整应用于累加器720-1的种子722-1,以便提供阻尼或系统的欠松弛。因此,可以在比调整更长的时间尺度(诸如,每毫秒)上执行调整,并且更一般地,以恢复频率锁定所需的时间间隔的一小部分的周期执行调整。
一旦频率锁定被恢复,剩余时间偏移可以由控制逻辑724确定,因此可以协调回放操作的阶段。
图12呈现了示出在无线重置之后作为时间的函数的图1中的电子装置中的时钟1210的示例。具体地,当发生重置1210时,可以将存储的调整应用于限制1212作为时间812的函数的相对漂移1214,直到恢复频率锁定1216为止。
作为上述方法的替代或附加,在一些实施例中,时钟电路1100包括可选的采样和保持电路1112,其在接口电路610(图6)和/或A/V集线器中的接口电路被重置时镜像用于接口时钟618的计数器的当前计数器值。在恢复频率锁定时,该计数器值可用于限制相对漂移。
使用处理器对回放操作进行协调
代替在硬件(诸如,接口电路)中执行协调技术,在一些实施例中,协调技术至少部分地由执行软件的处理器执行。具体地,协调技术可以包括对电子装置中的不同时钟域中的回放操作进行协调。这在图13中示出,其呈现了示出用于对回放操作进行协调的方法1300的示例的流程图。方法1300可以由诸如A/V显示设备114(图1)之一或扬声器118之一(图1)的电子装置(可以是从装置)中的执行软件(诸如,程序模块)的处理器执行。处理器可包括控制电路或控制逻辑。应注意的是,软件中的用于操作的指令可以存储在电子装置的存储器中。
在操作期间,处理器可以(例如,通过调整系统时钟)维持由电子装置中的系统时钟电路提供的系统时钟与由电子装置中的接口时钟电路提供的接口时钟之间的协调(操作1310),其中接口时钟具有比系统时钟更高的频率。
然后,处理器可以基于接口电路经由无线通信从第二电子装置(可以是主装置)接收分组时的接收时间与该分组中包括的第二电子装置发送分组时的发送时间之间的差来计算作为接口时钟和第二电子装置中的第二接口时钟之间的时间的函数的相对漂移(操作1312),其中,给定分组包括基于当第二电子装置发送给定分组时的第二接口时钟的发送时间。应注意的是,发送时间可以与分组的前沿或后沿对应。类似地,接收时间可以与分组的前沿或后沿对应。调整可以基于连续分组的差。
此外,处理器可以基于相对漂移来调整系统时钟电路以消除相对漂移(操作1314),其中基于接口时钟的相对漂移提供比系统时钟更高的分辨率。例如,虽然接口时钟和系统时钟之间的协调可以是高度准确的,但是读取系统时钟的当前值的输出寄存器可能不具有相同的精度。因此,接口时钟可被用于确定相对漂移,并且如下所述,用于确定剩余偏移。应注意的是,调整可以频率锁定接口电路和第二接口电路。
接下来,处理器可以确定接口时钟和第二接口时钟之间的剩余时间偏移(操作1316)。
此外,处理器可以基于剩余时间偏移来修改从第二电子装置接收的电子装置要执行回放操作的未来时间(操作1318),以确定校正的未来时间。
另外,处理器可以在校正的未来时间处执行回放操作(操作1320)。具体地,分组可以包括有效载荷中的音频数据,并且电子装置可以将音频数据存储在队列中。在这些实施例中,回放操作可以包括从队列输出音频数据。应注意的是,调整系统时钟(操作1314)和修改未来时间(操作1318)可以将接口时钟的时钟域中的回放操作协调到第二接口时钟的时钟域的预定值内。
在一些实施例中,处理器可选地执行一个或多个附加操作(操作1322)。例如,在执行回放操作之前(操作1320),处理器可以:禁止电子装置中的中断;并且通过执行循环来占用软件堆栈的至少一部分以减少与执行回放操作相关联的等待时间。
此外,发送时间和接收时间可以存储在给定分组的有效载荷的相对端。在这些实施例中,处理器可以确定有效载荷的持续时间并且可以将持续时间添加到剩余偏移时间。
此外,当发生接口电路或第二电子装置中的第二接口电路的重置时,处理器可以在重置计数器之前通过采样并保持接口电路中的计数器中的与接口时钟对应的计数器值来对接口时钟进行镜像。在这些实施例中,被镜像的计数器值可以允许接口电路减少相对漂移,同时接口电路基于接口电路从第二电子装置接收的具有附加发送时间的附加分组来恢复与第二接口时钟的频率锁定。
图14呈现了示出A/V集线器112和扬声器118-1之间的通信的示例的图。具体地,A/V集线器112中的接口电路310可以将分组(例如,分组312)发送到扬声器118-1。每个分组可以包括基于当A/V集线器112发送分组312时由A/V集线器112中的接口电路310中的接口时钟电路318或A/V集线器112中的该接口电路310相关联的接口时钟电路318提供的接口时钟316的对应的发送时间314。当扬声器118-1中的接口电路320接收到分组时,接口电路320可以将接收时间322存储在存储器330中(或者其可以在分组312中包括接收时间322),其中对于每个分组,对应的接收时间可以基于由接口电路320中的接口时钟电路326或与接口电路320相关联的接口时钟电路326提供的接口时钟324。
处理器338可以(例如,通过调整系统时钟1412)维持由扬声器118-1中的系统时钟电路1414提供的系统时钟1412与接口时钟324之间的协调1410,其中接口时钟324具有比系统时钟1412更高的频率。
然后,处理器338可以基于接收时间和发送时间之间的差来计算作为接口时钟324和接口时钟316之间的时间的函数的相对漂移1416。
此外,处理器338可以基于相对漂移1416调整1418系统时钟电路1414以消除相对漂移1416,其中基于接口时钟324的相对漂移1416提供比系统时钟1412更高的分辨率。接下来,处理器338可以确定接口时钟324和接口时钟316之间的剩余时间偏移1420。例如,虽然接口时钟324和系统时钟1412之间的协调可以是高度准确的,但是读取系统时钟1412的当前值的输出寄存器可能不具有相同的准确性。因此,接口时钟324可被用于确定相对漂移,并且如下所述,用于确定剩余偏移。
在一些实施例中,发送时间和接收时间可以存储在分组的有效载荷的相对端。在这些实施例中,处理器338可以确定与有效载荷的长度1422相关联的持续时间1424或时间,并且处理器338可以将持续时间1424添加到剩余偏移时间1420。
此外,接口电路310可以发送包括指定扬声器118-1要执行回放操作350时的未来时间344的信息的分组346。在接口电路320接收到分组346之后,处理器338可以基于剩余时间偏移1420来修改未来时间344以确定校正的未来时间1426。
另外,处理器338可以在校正的未来时间1426处执行回放操作350。具体地,分组和/或附加分组可以包括有效载荷中的音频数据328,并且处理器338可以将音频数据328存储在存储器330中的队列中。在这些实施例中,回放操作350可以包括从队列输出音频数据328,其包括基于音频数据328驱动扬声器118-1中的电声换能器,因此扬声器118-1输出声音。应注意的是,系统时钟1412的调整1418和未来时间344的修改可以将接口时钟324的时钟域中的回放操作350协调到接口时钟316的时钟域的预定值内。
在一些实施例中,在执行回放操作350之前,处理器338:禁止扬声器118-1中的中断;并且通过执行循环来占用软件堆栈的至少一部分以减少与执行回放操作350相关联的等待时间。
此外,当接口电路310和/或接口电路320发送重置时,处理器338可以在重置计数器之前例如通过采样并保持接口电路320中的计数器中的与接口时钟324对应的计数器值来对接口时钟324进行镜像。在这些实施例中,被镜像的计数器值可以允许接口电路320减少相对漂移1416,同时接口电路320基于由接口电路320从接口电路310接收的具有发送时间的附加分组来恢复与接口时钟316的频率锁定(如先前参考图9至图12所描述的)。
在示例性实施例中,至少部分地由处理器执行的软件/固件执行协调。具体地,代替基于发送时间和接收时间(即,带内时间信令而不是单独的侧信道)执行时钟调整的硬件(诸如,接口电路),软件或固件可以基于发送时间和接收时间之间的差(并且更一般地,协调信息)来降低或加速I2S时钟,以频率锁定A/V集线器和接收方中的接口时钟。然后,处理器可以基于在数据分组中接收的发送时间和接收时间来确定剩余时间偏移。
为了避免可变中断延迟,当从A/V集线器接收未来时间和用于执行回放操作的指令时,接收方中的处理器可以:禁止中断,基于未来时间和剩余时间偏移确定校正的未来时间,并执行忙循环直到校正的未来时间。然后,基于I2S时钟,接收方可以在校正的未来时间处执行回放操作。
图15呈现了示出图1中的电子装置1500的示例的框图。在随后的描述中,电子装置1500可以包括图1中的扬声器118-1。然而,在其他实施例中,协调信息流程被颠倒,并且电子装置1500包括图1中的A/V集线器112。
电子装置1500可以包括:接口电路610、SOC 612、CC 614、I2S电路608和处理器1512。I2S电路608可以通过提供控制信息的内部集成电路(I2C)总线1514耦接到SOC 612。另外,CC 614(其在图15中可以是可选的)可以生成并提供接口时钟1516、SOC时钟1518和I2S时钟1520(其有时被称为“系统时钟”)。或者,接口时钟1516、SOC时钟1518和/或I2S时钟1520可以由外部振荡器(诸如,晶体振荡器)提供或基于外部振荡器提供。在一些实施例中,接口时钟1516具有大约24.576MHz的基频,并且I2S 1520具有44-192kHz之间的采样频率。
在电子装置1500中,处理器1512可以使用(基于来自接口电路610的发送时间和接收时间的)相对漂移来调整CC 614中的时钟电路,因此接口时钟1516被频率锁定为A/V集线器中的对应接口时钟,并且(例如,通过调整I2S时钟1520)维持接口时钟1516和I2S时钟1520之间的协调。应注意的是,接口时钟1516可以具有比I2S时钟1520更高的分辨率,因此可以提高电子装置1500中的协调的准确性。例如,虽然接口时钟1516和I2S时钟1520之间的协调可以是高度准确的,但是读取I2S时钟1520的当前值的输出寄存器可能不具有相同的精度。因此,接口时钟1516可被用于执行调整,并且如下所述,用于确定剩余偏移。
此外,处理器1512可以确定剩余偏移,并且可以基于剩余时间偏移来修改未来时间以确定校正的未来时间。然后,在禁止中断并执行忙循环之后,处理器1512可以指示电子装置1500在校正的未来时间处执行回放操作。
在一些实施例中,代替使用在电子装置1500内生成的一个或多个时钟来确定发送时间和/或接收时间,发送时间和/或接收时间基于提供给电子装置1500的一个或多个外部时钟。
此外,在无线重置的情况下,由于用于接口时钟1516和/或相对漂移的相关计数器被重置,所以I2S时钟1520可能丢失。为了解决这一挑战,CC 614可以对这些计数器进行镜像。例如,可以在重置时执行采样和保持操作。具体地,CC 614可以包括一个或多个高分辨率计数器,以对用于接口电路1516和/或相对漂移的计数器进行镜像。例如,CC 614可在坚持或切换重置616(图6)时执行对计数器值的采样和保持。
图16呈现了示出用于协调回放操作的方法1600的示例的流程图,该方法可以由诸如A/V显示设备114(图1)之一或扬声器118(图1)之一的电子装置(可以是从装置)中的执行软件(诸如,程序模块)的处理器执行。处理器可以包括控制电路或控制逻辑。应注意的是,软件中的用于操作的指令可以存储在电子装置的存储器中。
在操作期间,处理器可以捕获与由电子装置中的接口时钟电路提供的接口时钟或者由接口时钟电路用来生成接口时钟以提高系统时钟的分辨率的参考时钟相关联的定时信息(操作1610),其中接口时钟具有比系统时钟更高的频率。例如,定时信息的捕获可以包括将接口时钟的时间值存储在寄存器或计数器中。替代地或附加地,电子装置可以包括提供参考时钟的振荡器,并且接口时钟电路可以基于参考时钟提供接口时钟。在这些实施例中,从参考时钟捕获定时信息。
然后,处理器可以使用定时信息跟踪作为系统时钟和接口时钟之间的时间的函数的相对漂移(操作1612),其中基于经由无线通信从第二电子装置接收的分组中的时间协调信息来协调接口时钟与与第二电子装置中的第二接口时钟。例如,定时信息可以包括在由第二电子装置发送的信标中。替代地或附加地,定时信息可以包括在由第二电子装置发送的控制分组和/或数据分组中。
此外,处理器可以基于相对漂移来确定在从第二电子装置接收的第二电子装置要执行回放操作时的未来时间处的接口时钟与系统时钟之间的估计时间偏移(操作1614)。
接下来,处理器可以基于估计时间偏移来修改未来时间(操作1616)以确定校正的未来时间。
此外,处理器可以在校正的未来时间处执行回放操作(操作1618)。具体地,接口电路可以接收包括有效载荷中的音频数据的附加分组。替代地或附加地,可以在与信息相同的分组中接收至少一些音频数据。在这些实施例中,电子装置将音频数据存储在队列中,并且回放操作包括从队列输出音频数据。应注意的是,捕获(操作1610)、跟踪(操作1612)、确定(操作1614)和修改(操作1616)可以将回放操作协调在第二接口时钟的时钟域的预定值内。
在一些实施例中,处理器可选地执行一个或多个附加操作(操作1620)。例如,在执行回放操作之前(操作1618),处理器可以:禁止电子装置中的中断;并且通过执行循环来占用软件堆栈的至少一部分以减少与执行回放操作相关联的等待时间。
在方法200(图2)、方法400(图4)、方法900(图9)、方法1300(图13)和/或方法1600(图16)的一些实施例中,存在更多的或更少的操作。例如,在方法400(图4)中,第二电子装置可以重新采样音频数据以便于对回放操作进行协调。此外,可以改变操作的顺序,和/或可以将两个或更多个操作组合成单个操作。此外,可以修改一个或多个操作。例如,由第二电子装置(诸如,图1中的A/V集线器112)执行的操作可以由电子装置(诸如,图1中的扬声器118-1)执行和/或反之亦然。另外,代替基于剩余时间偏移修改未来时间,电子装置可以将剩余时间偏移发送到第二电子装置,并且第二电子装置可以在将修改的未来时间发送到第二电子装置之前针对剩余时间偏移校正未来时间(诸如,通过从未来时间中减去剩余时间偏移)。因此,在一些实施例中,第二电子装置可以针对剩余时间偏移预先补偿未来时间。
在方法200(图2)、方法400(图4)、方法900(图9)、方法1300(图13)和/或方法1600(图16)的一些实施例中,协调包括在时间精度或相位精度内的时域中的同步和/或在频率精度内的频域中的同步。
图17呈现了示出A/V集线器112和扬声器118-1之间的通信的示例的图。具体地,A/V集线器112中的接口电路310可以将分组1710发送到扬声器118-1。每个分组可以包括基于由A/V集线器112中的接口电路310中的接口时钟电路318或与A/V集线器112中的接口电路310相关联的接口时钟电路318提供的接口时钟316的时间协调信息1712。例如,分组1710可以包括信标,并且时间协调信息(TSI)1712可以包括定时同步功能。
在接口320接收分组1710之后,接口电路320可以基于时间协调信息1712协调由接口电路320中的接口时钟电路326或与接口电路320相关联的接口时钟电路326提供的接口时钟324。该协调可以包括将接口时钟324频率锁定至接口时钟316,或者在没有频率锁定的情况下跟踪接口时钟324与接口时钟316之间的相对漂移。
处理器338可以捕获与由接口时钟电路326提供的接口时钟324或者由接口时钟电路326用来生成接口时钟324以提高由系统时钟电路1414提供的系统时钟1412的分辨率的参考时钟相关联的定时信息1716,其中,接口时钟324具有比系统时钟1412更高的频率。
然后,处理器1410可以使用定时信息1716跟踪作为系统时钟1412和接口时钟324之间的时间的函数的相对漂移1718。
此外,接口电路310可以发送包括指定扬声器118-1要执行回放操作350时的未来时间344的信息的分组346。在接口电路320接收到分组346之后,处理器338可以基于相对漂移1718来确定在未来时间344处接口时钟324和系统时钟1412之间的估计时间偏移1720。接下来,处理器338可以基于估计时间偏移1720来修改未来时间344以确定校正的未来时间1722。
此外,处理器338可以在校正的未来时间1722处执行回放操作350。具体地,接口电路310可以发送可以包括有效载荷中的音频数据328的分组1724,并且处理器338可以将音频数据328存储在存储器中的队列中。在这些实施例中,回放操作350可以包括从队列输出音频数据328,其包括基于音频数据328驱动扬声器118-1中的电声换能器,因此扬声器118-1输出声音。应注意的是,捕获、跟踪、确定和修改可以将回放操作350协调在接口时钟316的时钟域的预定值内。
在一些实施例中,在执行回放操作350之前,处理器338:禁止扬声器118-1中的中断;并且通过执行循环来占用软件堆栈的至少一部分以减少与执行回放操作350相关联的等待时间。
返回参照图15,基于I2S时钟1520的192kHz采样率的样本计数器粒度是5.2μs。因此,软件无法检测I2S时钟1520是否漂移,直到它漂移至少一个样本为止,这意味着回放操作的协调误差已经是5.2μs。此外,协调误差仅对较低的采样率更差。因此,即使电子装置中的硬件可能具有高精度,软件可控PLL通常也不能确定超出由I2S时钟1520定义的能力的漂移。
此外,理想地,不同电子装置中的I2S时钟1520将同时开始。然而,即使在电子装置上完成了全局时钟域,它们仍然需要协调以同时开始。替代地,因为通常没有办法告诉I2S硬件在计数器值+X(诸如,校正的未来时间)处开始,所以通常由开始回放的开始寄存器中的位指定回放。
原则上,为了解决这些挑战,在协调技术中,电子装置可以执行循环,在循环中,在读取例如系统时间计数器时禁止中断,直到其到达开始时间。然后,电子装置可以写入开始寄存器以开始回放。然而,由于I2S硬件通常不会立即响应,因此写入开始寄存器的时间可能会超过1μs。
因此,在协调技术中,可以协调电子装置中的各种组件(例如,I2S电路可以在较慢的时钟域中,它可以由内部先进先出缓冲器缓冲),并且/或者处理器可能具有在以协调方式执行开始指令之前需要进行清除的内部流水线。此外,可以对I2S硬件行为进行分析,并将平均或中值延迟添加到校正的未来时间以校正或抵消I2S硬件延迟。
在示例性实施例中,接口时钟1516具有大约24.576MHz的基频。此外,处理器1512可以使用从A/V集线器接收的时间协调信息(诸如,信标中的定时同步功能)来协调接口时钟1516与A/V集线器中的对应的接口时钟。例如,接口时钟1516可以具有固定的基频(诸如,24.576MHz),并且时间协调信息可以被用于跟踪相对漂移。
因为时间协调信息的更新/读取是昂贵的(就开销而言),所以可以将SOC时钟1518协调到接口时钟1516。在一些实施例中,SOC时钟1518具有固定的基频。
可以读取SOC时钟1518以确定附加协调信息。具体地,I2S时钟1520(其有时被称为“系统时钟”)可以与SOC时钟1518协调。然而,因为I2S时钟1520的采样频率可以在44-192kHz之间,所以更高的频率(和更高分辨率)的SOC时钟1518可在协调技术中被用于提高I2S时钟1520的分辨率。
这种基于软件的协调技术可以允许整个流水线被协调(或者允许确定与整个流水线相关联的相对漂移),其包括(如前所述)可变处理延迟,因此可以将回放操作协调在从A/V集线器到接收方的预定值内。
应注意的是,在无线重置的情况下,可以重置接口电路610、SOC612和I2S电路608中的所有关联寄存器。
作为前述方法的替代或补充,在一些实施例中,在除以M之前,在CC 614中的时钟电路中包括高分辨率计数器,以生成或产生I2S时钟1520。这可以允许对用于将回放操作协调在预定值内(并因此避免或减少抖动)的I2S时钟1520的直接采样。根据时钟频率,此方法可能会达到关联数量的声道。
我们现在描述电子装置的实施例。图18呈现了示出电子装置1800(诸如,图1中的便携式电子装置110、A/V集线器112、A/V显示装置114之一、接收器装置116或扬声器118之一)的示例的框图。该电子装置包括处理子系统1810、存储器子系统1812、网络子系统1814、可选反馈子系统1834和定时子系统1836。处理子系统1810包括配置为执行计算操作的一个或多个装置。例如,处理子系统1810可包括一个或多个微处理器、专用集成电路(ASIC)、微控制器、可编程逻辑器件和/或一个或多个数字信号处理器(DSP)。处理子系统中的这些组件中的一个或多个有时被称为“控制逻辑”或“控制电路”。
存储器子系统1812包括用于存储用于处理子系统1810和网络子系统1814的数据和/或指令的一个或多个装置。例如,存储器子系统1812可包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和/或其他类型的存储器。在一些实施例中,存储器子系统1812中的用于处理子系统1810的指令包括:一个或多个程序模块或指令集(诸如,程序模块1822或操作系统1824),其可由处理子系统1810执行。应注意的是,一个或多个计算机程序或程序模块可以构成计算机程序机制。此外,存储器子系统1812中的各种模块中的指令可以实现为:高级程序语言、面向对象的编程语言和/或汇编语言或机器语言。此外,编程语言可以被编译或解释,例如,可配置或被配置(在本讨论中可以互换使用),以由处理子系统1810执行。
此外,存储器子系统1812可包括用于控制对存储器的访问的电路或功能。在一些实施例中,存储器子系统1812包括存储器层次结构,其包括耦接到电子装置1800中的存储器的一个或多个高速缓存。在这些实施例的一些中,高速缓存中的一个或多个位于处理子系统1810中。
在一些实施例中,存储器子系统1812耦接到一个或多个高容量大容量存储装置(未示出)。例如,存储器子系统1812可以耦接到磁驱动或光驱动、固态驱动或其他类型的大容量存储装置。在这些实施例中,存储器子系统1812可由电子装置1800用作用于经常使用的数据的快速访问存储器,而大容量存储装置用于存储不常使用的数据。
网络子系统1814包括配置为耦接到有线和/或无线网络并在有线和/或无线网络上通信(即,执行网络操作)的一个或多个装置,其包括:控制逻辑1816、接口电路1818和关联天线1820。(虽然图18包括天线1820,但在一些实施例中,电子装置1800包括一个或多个节点,诸如,节点1808,例如,焊盘,其可耦接到天线1820。因此,电子装置1800可包括或不包括天线1820。)例如,网络子系统1814可包括蓝牙网络系统、蜂窝网络系统(例如,诸如UMTS、LTE等的3G/4G网络)、通用串行总线(USB)网络系统、基于IEEE 802。11中描述的标准的网络系统(例如,Wi-Fi网络系统)、以太网网络系统和/或其他网络系统。应注意的是,接口电路1818中的给定一个和天线1820中的至少一个的组合可以构成无线电设备。在一些实施例中,网络子系统1814包括有线接口,诸如,HDMI接口1830。
网络子系统1814包括处理器、控制器、无线电设备/天线、插座/插头和/或用于耦接到每个支持的网络系统、在每个支持的网络系统上进行通信和处理针对每个支持的网络系统的数据和事件的其他装置。应注意的是,用于耦接到每个网络系统、在每个网络系统上进行通信和处理每个网络上的数据和事件的组件有时统称为网络系统的“网络接口”。此外,在一些实施例中,电子装置之间的“网络”尚不存在。因此,电子装置1800可以使用网络子系统1814中的组件来执行电子装置之间的简单无线通信,例如,发送广告或信标帧和/或扫描如前所述由其他电子装置发送的广告帧。
在电子装置1800内,处理子系统1810、存储器子系统1812、网络子系统1814、可选反馈子系统1834和定时子系统1836使用总线1828耦接在一起。总线1828可包括子系统可以用来在彼此之间传递命令和数据的电连接、光连接和/或电光连接。尽管为了清楚起见仅示出了一条总线1828,但是不同的实施例可包括子系统之间的不同数量或配置的电连接、光连接和/或电光连接。
在一些实施例中,电子装置1800包括用于在显示器上显示信息(诸如,澄清所识别的环境的请求)的显示子系统1826,其可包括显示驱动器、I/O控制器和显示器。应注意的是,可以在显示子系统1826中使用各种各样的显示器类型,包括:二维显示器、三维显示器(诸如,全息显示器或体积显示器)、头戴式显示器、视网膜-图像投影仪、平视显示器、阴极射线管、液晶显示器、投影显示器、电致发光显示器、基于电子纸的显示器、薄膜晶体管显示器、高性能寻址显示器、有机发光二极管显示器、表面传导电子发射器显示器、激光显示器、碳纳米管显示器、量子点显示器、干涉调制器显示器、多点触控触摸屏(有时也称为触敏显示器)和/或基于其他类型的显示技术或物理现象的显示器。
此外,可选反馈子系统1834可包括一个或多个传感器反馈组件或装置,诸如:振动装置或振动致动器(例如,偏心旋转质量致动器或线性谐振致动器)、灯、一个或多个扬声器等,其可用于向电子装置1800的用户提供反馈(诸如,感官反馈)。替代地或附加地,可选反馈子系统1834可用于向用户提供感官输入。例如,一个或多个扬声器可输出声音,诸如音频。应注意的是,一个或多个扬声器可包括传感器阵列,其可被修改以调整由一个或多个扬声器输出的声音的特性。该能力可允许一个或多个扬声器诸如通过改变传播声波的均衡或频谱内容、相位和/或方向来修改环境中的声音以实现用户的期望声学体验。
另外,定时子系统1836可以包括一个或多个时钟电路1838,其用于诸如基于一个或多个参考时钟在电子装置1800中生成时钟。
电子装置1800可以是(或可包括在)具有至少一个网络接口的任何电子装置中。例如,电子装置1800可以是(或可包括在):台式计算机、膝上型计算机、子笔记本/上网本、服务器、平板计算机、智能手机、蜂窝电话、智能手表、消费电子装置(诸如,电视机、机顶盒、音频装置、扬声器、头戴式耳机、视频装置等)、遥控器、便携式计算装置、接入点、路由器、交换机、通信装置、测试装置和/或其他电子装置。
尽管使用特定组件来描述电子装置1800,但在替代实施例中,电子装置1800中可以存在不同的组件和/或子系统。例如,电子装置1800可包括一个或多个附加处理子系统、存储器子系统、网络子系统和/或显示子系统。此外,虽然天线1820之一示为耦接到接口电路1818中的给定一个,但是可以存在多个天线耦接到接口电路1818中的给定一个。例如,3×3无线电设备的实例可包括三个天线。另外,一个或多个子系统可以不存在于电子装置1800中。此外,在一些实施例中,电子装置1800可包括图18中未示出的一个或多个附加子系统。此外,尽管图18中示出了单独的子系统,但在一些实施例中,给定子系统或组件中的一些或全部可以集成到电子装置1800中的其他子系统或组件中的一个或多个中。例如,在一些实施例中,程序模块1822包括在操作系统1824中。
此外,电子装置1800中的电路和组件可以使用模拟电路和/或数字电路的任何组合来实现,包括:双极、PMOS和/或NMOS栅极或晶体管。此外,这些实施例中的信号可包括具有近似离散值的数字信号和/或具有连续值的模拟信号。另外,组件和电路可以是单端或差分的,并且电源可以是单极或双极的。
集成电路可以实现网络子系统1814(诸如,一个或多个无线电设备)的一些或全部功能。此外,集成电路可包括硬件和/或软件组件,其用于发送来自电子装置1800的无线信号并且在电子装置1800处从其他电子装置接收信号。除了这里描述的组件、电路或功能之外,无线电设备通常在本领域中是已知的,因此不再详细描述。通常,网络子系统1814和/或集成电路可包括任何数量的无线电设备。
在一些实施例中,网络子系统1814和/或集成电路包括配置组件(诸如,一个或多个硬件和/或软件组件),其配置无线电设备以在给定声道(例如,给定的载波频率)上进行发送和/或接收。例如,在一些实施例中,配置组件可用于将无线电设备从在给定声道上进行监测和/或发送切换到在不同声道上进行监测和/或发送。(应注意的是,这里使用的“监测”包括从其他电子装置接收信号并且可能对接收的信号执行一个或多个处理操作,例如,确定接收的信号是否包括广告帧、计算性能度量、执行频谱分析等。)此外,网络子系统1814可包括至少一个端口(诸如,HDMI端口1832)(其用于接收数据流中的信息并且/或者将数据流中的信息提供给至少一个A/V显示装置114(图1))、至少一个扬声器118(图1)和/或至少一个内容源120(图1)。
虽然使用与Wi-Fi兼容的通信协议作为说明性示例,但是所描述的实施例可以用在各种网络接口中。例如,在一些实施例中,协调技术与以太网通信协议而不是无线通信协议一起使用。具体地,以太网通信协议可以用于房间到房间的通信(即,距离大于10米至30米的通信)。在这些实施例中,Wi-Fi通信协议可以用于房间内多个设备的室内通信和回放协调,并且可以协调Wi-Fi接口电路和以太网接口电路使用的时钟,以便存在端到端的协调(即,从内容源中的I2S电路到诸如扬声器的接收器中的I2S电路)。应注意的是,利用以太网通信协议的房间到房间通信,协调技术可以与IEEE 802.11v兼容,使得可以在接收ACK之后将发送时间提供给接收器。
此外,虽然前述实施例中的一些操作是以硬件或软件实现的,但是通常前述实施例中的操作可以以各种各样的配置和架构实现。因此,前述实施例中的一些或所有操作可以用硬件、软件或两者来执行。例如,协调技术中的至少一些操作可以使用程序模块1822、操作系统1824(诸如,用于接口电路1818的驱动器)来实现和/或在接口电路1818中的固件中实现。替代地或附加地,协调技术中的至少一些操作可以在物理层(诸如,接口电路1818中的硬件)中实现。
此外,虽然前述实施例包括便携式电子装置中的用户触摸(例如,用手指或脚趾或手写笔)的触敏显示器,但在其他实施例中,用户界面显示在便携式电子装置的显示器上,并且用户在不接触显示器的表面或接触显示器的表面的情况下与用户界面进行交互。例如,可以使用飞行时间测量、运动感测(诸如,多普勒测量)或其他非接触测量(其允许确定用户的手指或脚趾(或手写笔)相对于一个或多个虚拟命令图标的位置的位置、运动方向和/或速度)来确定用户与用户界面的交互。在这些实施例中,应注意的是,用户可以通过执行手势(诸如,在空气中“轻击”他们的手指而不与显示器的表面接触)来激活给定的虚拟命令图标。在一些实施例中,用户通过用户界面进行导航和/或使用口头命令或指令(即,经由语音识别)和/或基于他们看向图1中的便携式电子装置110中的显示器或A/V显示装置114之一的何处(例如,通过跟踪用户的注视或用户正在看的地方)来激活/停用系统100(图1)中的组件之一的功能。
此外,虽然A/V集线器112(图1)示出为与A/V显示装置114(图1)分离的组件,但在一些实施例中,A/V集线器和A/V显示装置被组合成单个组件或单个电子装置。
虽然前述实施例示出了具有音频和/或视频内容(诸如,HDMI内容)的协调技术,但在其他实施例中,协调技术用于任意类型的数据或信息的情境中。例如,协调技术可以与家庭自动化数据一起使用。在这些实施例中,A/V集线器112(图1)可以促进各种电子装置之间的通信以及各种电子装置的控制。因此,A/V集线器112(图1)和协调技术可用于促进或实现所谓的物联网中的服务。
在前面的描述中,我们参考“一些实施例”。应注意的是,“一些实施例”描述了所有可能实施例的子集,但并不总是指定实施例的相同子集。
以上描述旨在使本领域技术人员能够实现和使用本公开,并且在部分申请及其要求的背景下提供。此外,仅出于说明和描述的目的呈现了本公开的实施例的前述描述。它们并非旨在穷举或将本公开限制于所公开的形式。因此,对于本领域技术人员来说许多修改和变化是显而易见的,并且在不脱离本公开的精神和范围的情况下,本文定义的一般原理可以应用于其他实施例和申请。另外,前述实施例的讨论不旨在限制本公开。因此,本公开不旨在限于所示的实施例,而是与符合本文公开的原理和特征的最宽范围相一致。

Claims (20)

1.一种电子装置,包括:
一个或多个天线;
时钟电路,其被配置为提供时钟;和
接口电路,其通信地耦接到所述一个或多个天线和所述时钟电路,其中,所述电子装置被配置为:
从所述一个或多个天线接收与第二电子装置相关联的分组,其中,给定分组包括基于所述第二电子装置发送所述给定分组时所述第二电子装置中的第二时钟的发送时间;
存储接收所述分组时的接收时间,其中,所述接收时间基于所述时钟,并且所述接收时间在所述电子装置的物理层中被确定;
基于所述发送时间和所述接收时间之间的差来计算作为所述时钟和所述第二时钟之间的时间的函数的相对漂移,其中,给定差位于给定分组的给定发送时间和给定接收时间之间;
基于所述相对漂移调整提供所述时钟的所述时钟电路以消除所述相对漂移;
确定所述时钟和所述第二时钟之间的剩余时间偏移;
从所述一个或多个天线接收与所述第二电子装置相关联的信息,该信息指定所述电子装置要执行回放操作时的未来时间;和
基于所述剩余时间偏移修改所述未来时间以确定校正的未来时间;并且
其中,所述电子装置被配置为在所述校正的未来时间处执行所述回放操作。
2.根据权利要求1所述的电子装置,其中,所述发送时间在所述给定分组中被包括在有效载荷和媒体访问控制(MAC)报头中的一个中。
3.根据权利要求1所述的电子装置,其中,所述时钟电路还包括:
振荡器,其被配置为提供参考时钟;和
锁频环(FLL)电路,其耦接到所述振荡器,被配置为基于所述参考时钟产生所述时钟;并且
其中,所述电子装置被配置为通过修改所述FLL来调整所述时钟以消除所述相对漂移。
4.根据权利要求3所述的电子装置,其中,修改所述FLL包括改变所述FLL中的合成器的种子。
5.根据权利要求1所述的电子装置,其中,所述发送时间和所述接收时间存储在所述给定分组的有效载荷的相对端;并且
其中,所述电子装置被配置为确定所述有效载荷的持续时间,并且所述电子装置被配置为将所述持续时间添加到所述剩余时间偏移。
6.根据权利要求1所述的电子装置,其中,所述发送时间包括与所述第二时钟对应的第二计数器值,并且所述接收时间包括与所述时钟对应的计数器值。
7.根据权利要求1所述的电子装置,其中,所述分组包括有效载荷中的音频数据;
其中,所述电子装置被配置为将所述音频数据存储在队列中;并且
其中,所述回放操作包括从所述队列输出所述音频数据。
8.根据权利要求1所述的电子装置,其中,调整所述时钟和修改所述未来时间将所述时钟的时钟域中的所述回放操作协调到所述第二时钟的时钟域的预定值内。
9.根据权利要求1所述的电子装置,其中,所述分组包括控制分组。
10.根据权利要求1所述的电子装置,其中,所述第二电子装置是主装置,并且所述电子装置是从装置。
11.根据权利要求1所述的电子装置,其中,所述接收时间与所述接口电路的无线测距能力相关联,并且
其中,所述给定差忽略所述电子装置与所述第二电子装置之间的空间距离。
12.一种用于电子装置的计算机可读存储介质,所述计算机可读存储程序指令,所述程序指令在由所述电子装置执行时通过使所述电子装置执行包括以下各项的一个或多个操作来对回放操作进行协调:
从所述电子装置中的一个或多个天线接收与第二电子装置相关联的分组,其中,给定分组包括基于所述第二电子装置发送所述给定分组时所述第二电子装置中的第二时钟的发送时间;
存储接收所述分组时的接收时间,其中,所述接收时间基于所述电子装置中的时钟,并且所述接收时间在所述电子装置的物理层中被确定;
基于所述发送时间和所述接收时间之间的差来计算作为所述时钟和所述第二时钟之间的时间的函数的相对漂移,其中,给定差位于给定分组的给定发送时间和给定接收时间之间;
基于所述相对漂移调整提供所述时钟的时钟电路以消除所述相对漂移;
确定所述时钟和所述第二时钟之间的剩余时间偏移;
从所述一个或多个天线接收与所述第二电子装置相关联的信息,该信息指定所述电子装置要执行所述回放操作时的未来时间;
基于所述剩余时间偏移修改所述未来时间以确定校正的未来时间;和
在所述校正的未来时间处执行所述回放操作,其中,调整所述时钟和修改所述未来时间将所述时钟的时钟域中的回放操作协调到所述第二时钟的时钟域的预定值内。
13.根据权利要求12所述的计算机可读存储介质,其中,所述发送时间在所述给定分组中被包括在有效载荷和媒体访问控制(MAC)报头中的一个中。
14.根据权利要求12所述的计算机可读存储介质,其中,所述发送时间和所述接收时间存储在所述给定分组的有效载荷的相对端;并且
其中,所述一个或多个操作包括将所述分组的持续时间添加到所述剩余时间偏移。
15.根据权利要求12所述的计算机可读存储介质,其中,所述分组包括有效载荷中的音频数据;
其中,所述一个或多个操作包括将所述音频数据存储在队列中;并且
其中,所述回放操作包括从所述队列输出所述音频数据。
16.一种用于对回放操作进行协调的方法,包括:
通过电子装置:
从所述电子装置中的一个或多个天线接收与第二电子装置相关联的分组,其中,给定分组包括基于所述第二电子装置发送所述给定分组时所述第二电子装置中的第二时钟的发送时间;
存储接收所述分组时的接收时间,其中,所述接收时间基于所述电子装置中的时钟,并且所述接收时间在所述电子装置的物理层中被确定;
基于所述发送时间和所述接收时间之间的差来计算作为所述时钟和所述第二时钟之间的时间的函数的相对漂移,其中,给定差位于针对给定分组的给定发送时间和给定接收时间之间;
基于所述相对漂移调整提供所述时钟的时钟电路以消除所述相对漂移;
确定所述时钟和所述第二时钟之间的剩余时间偏移;
从所述一个或多个天线接收与所述第二电子装置相关联的信息,该信息指定所述电子装置要执行所述回放操作时的未来时间;和
基于所述剩余时间偏移修改所述未来时间以确定校正的未来时间;并且
在所述校正的未来时间处执行所述回放操作,其中,调整所述时钟和修改所述未来时间将所述时钟的时钟域中的所述回放操作协调到所述第二时钟的时钟域的预定值内。
17.根据权利要求16所述的方法,其中,所述发送时间在所述给定分组中被包括在有效载荷和媒体访问控制(MAC)报头中的一个中。
18.根据权利要求16所述的方法,其中,所述调整包括修改所述时钟电路中的锁频环(FLL)中的合成器的种子。
19.根据权利要求16所述的方法,其中,所述发送时间和所述接收时间存储在所述给定分组的有效载荷的相对端;并且
其中,所述方法还包括将所述分组的持续时间添加到剩余时间偏移。
20.根据权利要求16所述的方法,其中,所述分组包括有效载荷中的音频数据;
其中,所述方法还包括将所述音频数据存储在队列中;并且
其中,所述回放操作包括从所述队列输出所述音频数据。
CN202110190063.8A 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质 Active CN112838902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110190063.8A CN112838902B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662433238P 2016-12-13 2016-12-13
US62/433,238 2016-12-13
CN201780086382.6A CN110291819B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质
CN202110190063.8A CN112838902B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质
PCT/US2017/062447 WO2018111501A1 (en) 2016-12-13 2017-11-19 Wireless coordination of audio playback

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780086382.6A Division CN110291819B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112838902A true CN112838902A (zh) 2021-05-25
CN112838902B CN112838902B (zh) 2024-04-09

Family

ID=62489146

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202110190091.XA Active CN112821973B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质
CN201780086382.6A Active CN110291819B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质
CN202110190063.8A Active CN112838902B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质
CN202110190064.2A Active CN112994816B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202110190091.XA Active CN112821973B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质
CN201780086382.6A Active CN110291819B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法、计算机可读存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110190064.2A Active CN112994816B (zh) 2016-12-13 2017-11-19 音频回放的无线协调装置和方法

Country Status (6)

Country Link
US (8) US10296285B2 (zh)
EP (2) EP3539335B1 (zh)
JP (1) JP6778825B2 (zh)
KR (4) KR102015992B1 (zh)
CN (4) CN112821973B (zh)
WO (1) WO2018111501A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296275B2 (en) * 2015-08-30 2019-05-21 EVA Automation, Inc. User interface based on device-state information
US10296285B2 (en) * 2016-12-13 2019-05-21 EVA Automation, Inc. Source coordination of audio playback
WO2019110733A1 (en) * 2017-12-06 2019-06-13 Teade Oü A self-organizing node and a sensor network with self-organizing nodes
EP3750020A4 (en) 2018-02-05 2021-11-10 D&M Holdings, Inc. SYSTEM AND METHOD FOR SYNCHRONIZATION OF NETWORKED PLAYBACK DEVICES
US10219099B1 (en) * 2018-07-20 2019-02-26 Amazon Technologies, Inc. System for compensation of presentation by wireless devices
US11416209B2 (en) 2018-10-15 2022-08-16 Sonos, Inc. Distributed synchronization
US11197322B2 (en) 2019-05-03 2021-12-07 Microchip Technology Incorporated Emulating collisions in wired local area networks and related systems, methods, and devices
TWI735890B (zh) * 2019-06-17 2021-08-11 瑞昱半導體股份有限公司 音訊播放系統與方法
CN112415323A (zh) 2019-08-23 2021-02-26 微芯片技术股份有限公司 诊断网络内的电缆故障
CN112422219B (zh) 2019-08-23 2024-05-24 微芯片技术股份有限公司 以太网接口和相关系统、方法和设备
CN112422295B (zh) 2019-08-23 2023-06-13 微芯片技术股份有限公司 以太网接口及相关系统、方法和设备
CN112423403A (zh) 2019-08-23 2021-02-26 微芯片技术股份有限公司 检测网络上的冲突
CN112422385B (zh) 2019-08-23 2022-11-29 微芯片技术股份有限公司 用于改进的媒体访问的接口以及相关的系统、方法和设备
CN112491435B (zh) 2019-08-23 2022-11-18 微芯片技术股份有限公司 包括收发器和驱动器架构的物理层的电路
CN112422153B (zh) 2019-08-23 2023-04-07 微芯片技术股份有限公司 检测到共享传输介质处冲突后处理数据接收的方法和系统
CN110290412B (zh) * 2019-08-26 2019-11-29 恒玄科技(北京)有限公司 一种音频同步播放方法、装置及扬声器设备、无线耳机
US11038937B1 (en) * 2020-03-06 2021-06-15 Sonos, Inc. Hybrid sniffing and rebroadcast for Bluetooth networks
KR20220156588A (ko) 2020-03-24 2022-11-25 마이크로칩 테크놀로지 인코포레이티드 10spe 로컬 및 원격 웨이크 및 관련 시스템, 방법 및 디바이스에 따른 낮은 연결 카운트 인터페이스 웨이크 소스 통신
CN112020136B (zh) * 2020-10-13 2021-02-09 恒玄科技(上海)股份有限公司 音频系统及无线耳机对
CN112527237B (zh) * 2021-02-09 2021-06-25 深圳市创成微电子有限公司 音频接口电路及其控制方法、音频设备
KR102400936B1 (ko) * 2021-11-30 2022-05-23 주식회사 인터엠 네트워크 기반 전관 방송에서의 오디오 클록 조정
KR102572664B1 (ko) * 2022-02-07 2023-08-30 주식회사 인터엠 오디오 클록 조정 및 이를 이용한 네트워크 기반 전관 방송
KR102482049B1 (ko) * 2022-05-17 2022-12-27 주식회사 인터엠 네트워크 기반 전관 방송에서의 버퍼 점유 예측을 통한 오디오 클록 조정

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136875A (zh) * 2007-09-11 2008-03-05 武汉虹旭信息技术有限责任公司 即时通信软件中多媒体文件同步回放的方法
CN103828449A (zh) * 2011-09-23 2014-05-28 想象技术有限公司 用于无线网络中的时间同步的方法和装置
US20150036695A1 (en) * 2013-07-31 2015-02-05 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
CN104813303A (zh) * 2012-09-14 2015-07-29 Dts(英属维尔京群岛)有限公司 回放同步

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6121534A (en) * 1999-08-09 2000-09-19 Brush; Gary T. Natural-scale tone-generator apparatus for MIDI musical keyboards
JP4766440B2 (ja) 2001-07-27 2011-09-07 日本電気株式会社 携帯端末装置及び携帯端末装置の音響再生システム
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US8020023B2 (en) 2003-07-28 2011-09-13 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices without a voltage controlled crystal oscillator
US7668964B2 (en) 2005-04-23 2010-02-23 Sonos, Inc. System and method for synchronizing channel handoff as among a plurality of devices
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7519845B2 (en) * 2005-01-05 2009-04-14 Microsoft Corporation Software-based audio rendering
US7539889B2 (en) 2005-12-30 2009-05-26 Avega Systems Pty Ltd Media data synchronization in a wireless network
US9413799B2 (en) 2007-01-27 2016-08-09 Blackfire Research Corporation Broadcasting media from a stationary source to multiple mobile devices over wi-fi
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
JP5150652B2 (ja) 2007-03-20 2013-02-20 マーベル ワールド トレード リミテッド 同期ネットワークデバイス
CN101731011B (zh) 2007-05-11 2014-05-28 奥迪耐特有限公司 用于设置接收器延迟时间的方法
US8320410B2 (en) 2007-05-23 2012-11-27 Broadcom Corporation Synchronization of media data streams with separate sinks using a relay
CN101188878B (zh) * 2007-12-05 2010-06-02 武汉大学 立体声音频信号的空间参数量化及熵编码方法和所用系统
JP5574988B2 (ja) * 2008-03-12 2014-08-20 ゲネレク オーワイ デジタル・サウンド再生システム内のラウドスピーカのためのデータ転送方法およびシステム
US20090298420A1 (en) * 2008-05-27 2009-12-03 Sony Ericsson Mobile Communications Ab Apparatus and methods for time synchronization of wireless audio data streams
US8396133B2 (en) * 2009-04-21 2013-03-12 Qualcomm Incorporated Synchronizing video frames without hardware timestamps
KR101705592B1 (ko) 2009-05-18 2017-02-10 삼성전자주식회사 노드 간의 시간 동기화를 수행하는 네트워크 동기화 방법 및 장치
CN102222077A (zh) * 2010-04-14 2011-10-19 中兴通讯股份有限公司 一种语音频数据的存储方法和装置
US9590910B1 (en) 2010-05-26 2017-03-07 Marvell International Ltd. Methods and apparatus for handling multicast packets in an audio video bridging (AVB) network
US8837307B2 (en) * 2010-05-26 2014-09-16 Qualcomm Incorporated Two-way ranging messaging scheme
US9237324B2 (en) 2010-10-22 2016-01-12 Phorus, Inc. Playback synchronization
EP2684321B1 (en) 2011-03-10 2017-09-20 Marvell World Trade Ltd. Data blocking system for networks
US8619803B2 (en) 2011-05-05 2013-12-31 Harman International Industries, Incorporated Sparse mode system
US8516130B2 (en) 2011-06-30 2013-08-20 Harman International Industries, Incorporated Using non-AVB application layer interface and message to establish a connection over an AVB network
US8948037B1 (en) 2011-07-01 2015-02-03 Marvell Israel (M.I.S.L) Ltd. Checksum trailer in timing protocols
US9232026B2 (en) 2011-12-21 2016-01-05 Harman International Industries, Incorporated System for communicating control messages in an AVB network
US9256247B2 (en) 2012-01-04 2016-02-09 Marvell World Trade Ltd. Method and apparatus for communicating time information between time aware devices
WO2013117217A1 (en) 2012-02-07 2013-08-15 Telefonaktiebolaget L M Ericsson (Publ) Method and device for resident time calculation and synchronization
WO2013117997A2 (en) 2012-02-09 2013-08-15 Marvell Israel (M.I.S.L) Ltd. Clock synchronization using multiple network paths
US9112630B1 (en) 2012-02-09 2015-08-18 Marvell Israel (M.I.S.L) Ltd. Clock synchronization in the presence of security threats
US9219693B2 (en) 2012-02-22 2015-12-22 Marvell World Trade Ltd. Network devices with time aware medium access controller
CN103297843B (zh) * 2012-03-02 2016-07-20 三星电子(中国)研发中心 一种用于mpeg ts文件回放的节目选择方法
US9288149B2 (en) 2012-03-08 2016-03-15 Marvell World Trade Ltd. Method and apparatus for transmitting packets in accordance with IEEE 802.1 Qbv
US9547332B1 (en) 2012-03-21 2017-01-17 Marvell Israel (M.I.S.L) Ltd. Accurate time capture and transfer between clock domains
US9288777B2 (en) 2012-05-11 2016-03-15 Apple Inc. Methods and apparatus for synchronizing clock signals in a wireless system
US8837316B2 (en) 2012-06-14 2014-09-16 Qualcomm Incorporated RTT based ranging system and method
US8758131B2 (en) * 2012-08-22 2014-06-24 Igt Synchronizing audio in a bank of gaming machines
JP2015536064A (ja) * 2012-09-14 2015-12-17 ディーティーエス・インコーポレイテッドDTS,Inc. 再生同期
JP6060003B2 (ja) * 2013-02-21 2017-01-11 パナソニック株式会社 無線通信装置及びこの無線通信装置の起動方法
US9104343B2 (en) 2013-03-13 2015-08-11 Silicon Graphics International Corp. Global synchronous clock circuit and method for blade processors
US9307508B2 (en) 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US9426598B2 (en) * 2013-07-15 2016-08-23 Dts, Inc. Spatial calibration of surround sound systems including listener position estimation
US9178637B2 (en) 2013-12-09 2015-11-03 Khalifa University of Science, Technology, and Research Method and devices for synchronization using linear programming
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
CN104811582A (zh) 2014-01-28 2015-07-29 华为技术有限公司 多智能设备同步播放的方法和装置
US10142088B2 (en) * 2014-01-31 2018-11-27 University Of North Dakota Network clock skew estimation and calibration
US9736806B2 (en) 2014-02-28 2017-08-15 Qualcomm Incorporated Apparatuses and methods for wireless synchronization of multiple multimedia devices using a common timing framework
US10148240B2 (en) * 2014-03-26 2018-12-04 Nokia Technologies Oy Method and apparatus for sound playback control
KR101596756B1 (ko) 2014-11-03 2016-03-07 현대자동차주식회사 리던던트 그랜드마스터를 이용한 차량 내 네트워크 시간 동기화 제공 방법 및 장치
US10085224B2 (en) * 2014-11-19 2018-09-25 Apple Inc. Methods and apparatus for synchronization of media playback within a wireless network
US10129839B2 (en) * 2014-12-05 2018-11-13 Qualcomm Incorporated Techniques for synchronizing timing of wireless streaming transmissions to multiple sink devices
WO2016099351A1 (en) 2014-12-17 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Communication network nodes and methods performed therein
US9735787B2 (en) * 2015-03-18 2017-08-15 Analog Devices, Inc. Frequency synthesizer with dynamic phase and pulse-width control
US10187817B2 (en) 2015-05-27 2019-01-22 Qualcomm Incorporated Measuring distance in wireless devices
US10003903B2 (en) 2015-08-21 2018-06-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods for determining relative locations of wireless loudspeakers
US9911433B2 (en) * 2015-09-08 2018-03-06 Bose Corporation Wireless audio synchronization
US10454604B2 (en) 2015-10-02 2019-10-22 Bose Corporation Encoded audio synchronization
US10353424B2 (en) 2016-07-01 2019-07-16 Imagination Technologies Limited Clock synchronisation
US9693164B1 (en) * 2016-08-05 2017-06-27 Sonos, Inc. Determining direction of networked microphone device relative to audio playback device
US10158905B2 (en) * 2016-09-14 2018-12-18 Dts, Inc. Systems and methods for wirelessly transmitting audio synchronously with rendering of video
US10296285B2 (en) * 2016-12-13 2019-05-21 EVA Automation, Inc. Source coordination of audio playback

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136875A (zh) * 2007-09-11 2008-03-05 武汉虹旭信息技术有限责任公司 即时通信软件中多媒体文件同步回放的方法
CN103828449A (zh) * 2011-09-23 2014-05-28 想象技术有限公司 用于无线网络中的时间同步的方法和装置
CN104813303A (zh) * 2012-09-14 2015-07-29 Dts(英属维尔京群岛)有限公司 回放同步
US20150036695A1 (en) * 2013-07-31 2015-02-05 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast

Also Published As

Publication number Publication date
KR102171225B1 (ko) 2020-10-28
CN110291819B (zh) 2021-03-09
KR102112711B1 (ko) 2020-05-19
US10846048B2 (en) 2020-11-24
CN112821973B (zh) 2024-03-12
JP6778825B2 (ja) 2020-11-04
US20180167647A1 (en) 2018-06-14
EP3539335A4 (en) 2019-12-04
KR20200016413A (ko) 2020-02-14
US20190235829A1 (en) 2019-08-01
CN112821973A (zh) 2021-05-18
US10296285B2 (en) 2019-05-21
US10120641B2 (en) 2018-11-06
CN112994816B (zh) 2024-04-05
KR20190100438A (ko) 2019-08-28
JP2020507229A (ja) 2020-03-05
EP3539335A1 (en) 2019-09-18
US20180165057A1 (en) 2018-06-14
US20190171412A1 (en) 2019-06-06
CN110291819A (zh) 2019-09-27
KR102077295B1 (ko) 2020-02-14
KR102015992B1 (ko) 2019-08-29
EP4106425A1 (en) 2022-12-21
US10509625B2 (en) 2019-12-17
US20180167646A1 (en) 2018-06-14
CN112838902B (zh) 2024-04-09
US10296286B2 (en) 2019-05-21
US11042349B2 (en) 2021-06-22
US20180165056A1 (en) 2018-06-14
WO2018111501A1 (en) 2018-06-21
KR20200043506A (ko) 2020-04-27
US10120642B2 (en) 2018-11-06
US10255033B2 (en) 2019-04-09
KR20190084336A (ko) 2019-07-16
US20180167192A1 (en) 2018-06-14
US20190272146A1 (en) 2019-09-05
CN112994816A (zh) 2021-06-18
EP3539335B1 (en) 2022-09-07

Similar Documents

Publication Publication Date Title
CN110291819B (zh) 音频回放的无线协调装置和方法、计算机可读存储介质
JP6987189B2 (ja) 音声ソースの無線調整
US20210132899A1 (en) Wireless inter-room coordination of audio playback
US9954628B1 (en) Environment identification based on multiple proximate hubs
US10298989B2 (en) Environment identification based on multiple proximate hubs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant