CN117643064A - 媒体回放系统中的音频加密 - Google Patents
媒体回放系统中的音频加密 Download PDFInfo
- Publication number
- CN117643064A CN117643064A CN202280048970.1A CN202280048970A CN117643064A CN 117643064 A CN117643064 A CN 117643064A CN 202280048970 A CN202280048970 A CN 202280048970A CN 117643064 A CN117643064 A CN 117643064A
- Authority
- CN
- China
- Prior art keywords
- playback
- audio content
- playback device
- group
- version
- 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.)
- Pending
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 130
- 238000000034 method Methods 0.000 claims description 134
- 230000008859 change Effects 0.000 description 70
- 238000012545 processing Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 30
- 230000007704 transition Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 21
- 238000011156 evaluation Methods 0.000 description 20
- 239000008187 granular material Substances 0.000 description 20
- 239000000872 buffer Substances 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 230000001965 increasing effect Effects 0.000 description 16
- 230000004044 response Effects 0.000 description 15
- 230000003044 adaptive effect Effects 0.000 description 10
- 230000004913 activation Effects 0.000 description 8
- 230000002411 adverse Effects 0.000 description 8
- 230000006855 networking Effects 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002708 enhancing effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000000593 degrading effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000005304 joining Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 238000004330 variable angle spinning Methods 0.000 description 2
- 239000010754 BS 2869 Class F Substances 0.000 description 1
- 239000010755 BS 2869 Class G Substances 0.000 description 1
- 241001342895 Chorus Species 0.000 description 1
- 241001669679 Eleotris Species 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000003303 reheating Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种示例第一回放设备被配置成(i)从基于云的媒体服务获得音频内容,该音频内容根据第一加密方案进行加密,(ii)与基于云的许可服务通信以获得用于解密该音频内容的信息,(iii)使用获得的信息来解密该音频内容,(iv)根据第二加密方案来重新加密解密的音频内容,(v)将重新加密的音频内容发送给至少第二回放设备,该至少第二回放设备与第一回放设备分组在一起用于同步音频回放,以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
Description
相关申请的交叉引用
本申请要求以下优先权:(i)2021年5月10日提交的美国临时申请第63/186,796号,并且标题为《内容质量增强的动态修改》(Dynamic Modification for ContentQuality Enhancement),(ii)2021年8月30日提交的美国临时申请第63/238,571号,并且标题为《媒体回放系统中的音频加密》(Audio Encryption in a Media Playback System),(iii)2021年9月30日提交的美国临时申请第63/250,558号,并且标题为《异构回放组的内容质量增强》(Content Quality Enhancement for Heterogeneous Playback Groups),以及(iv)2022年4月14日提交的美国临时申请第63/330,865号,并且标题为《用于增强音频回放的动态代码转换》(Dynamic Transcoding for Enhancing Audio Playback),每个申请的内容整体通过引用方式并入本文中。
技术领域
本发明涉及消费品,并且更具体地,涉及针对媒体回放或其某个方面的方法、系统、产品、特征、服务和其他元素。
背景技术
直到2002年,SONOS公司开始开发一种新型的回放系统,在室外环境下访问和收听数字音频的选择才受到限制。Sonos随后于2003年提交了其首批专利申请之一,标题为《在多个联网设备之间同步音频回放的方法》,并且于2005年开始提供其首批媒体回放系统以供销售。Sonos无线家庭音响系统使人们能够经由一个或多个联网回放设备体验来自许多来源的音乐。通过安装在控制器(例如,智能手机、平板电脑、计算机、语音输入设备)上的软件控制应用,人们可以在任何具有联网回放设备的房间中回放她想要的。媒体内容(例如,歌曲、播客、视频声音)可以被流式传输给回放设备,使得具有回放设备的每个房间可以回放对应的不同媒体内容。此外,可以将房间分组在一起,以便同步回放相同的媒体内容,和/或可以在所有房间中同步听到相同的媒体内容。
鉴于对数字媒体日益增长的兴趣,继续需要开发消费者可访问的技术来进一步增强收听体验。
附图说明
图1A是具有根据所公开技术的各方面配置的媒体回放系统的环境的部分剖视图。
图1B是图1A的媒体回放系统和一个或多个网络的示意图。
图1C至图1E是示例回放设备的框图。
图1F是示例网络麦克风设备的框图。
图1G是示例回放设备的框图。
图1H是示例控制设备的部分示意图。
图1I是图1H的示例控制设备的示例用户接口的示意图。
图1J至图1M是示例对应媒体回放系统区的示意图。
图1N是示例媒体回放系统区域的示意图。
图2是用于示例回放设备的示例耳机总成的图。
图3是示例回放设备壳体的立体图。
图4是示出按组大小组织的同步组的检测到的掉线事件的图表。
图5是根据所公开技术的一个实施例操作的示例同步组的图。
图6是示出根据所公开技术的一个实施例的基于网络连接质量的音频内容的自适应增强的示例操作的流程图。
图7是示出根据所公开技术的另一实施例的基于回放组大小的音频内容的自适应增强的示例操作的流程图。
图8是示出根据所公开技术的又一实施例的基于阈值质量标准的音频内容的自适应增强的示例操作的流程图。
图9是示出根据所公开技术的又一实施例的涉及对音频内容进行代码转换的音频内容的自适应增强的示例操作的流程图。
图10是示出根据所公开技术的又一实施例的基于回放设备能力的音频内容的自适应增强的示例操作的流程图。
图11是示出根据所公开技术的又一实施例的用于在媒体回放系统的回放设备之间实现音频加密的示例操作的流程图。
图12是示出根据所公开技术的实施例的双层音频加密方案的示例的示意图。
图13A是示出根据所公开技术的实施例的一组示例加密密钥的示意图。
图13B是示出根据所公开技术的实施例的根据第二加密方案重新加密的示例音频帧的示意图。
参考下面列出的以下描述、所附权利要求和附图,可以更好地理解当前公开的技术的特征、方面和优点。附图是为了说明示例实施例,但是本领域的普通技术人员将理解,本文公开的技术不限于附图中所示的布置和/或手段。
具体实施方式
I.概述
当参与媒体回放体验时,用户期望媒体设备以无缝和连续的方式提供媒体内容(例如,来自云服务器的流)。在一些情况下,媒体设备与云服务器之间的网络连接质量的变化可能导致媒体回放的突然停止和开始,因为媒体设备用完了要回放的缓冲媒体内容,这可能导致不太理想的用户体验。例如,当流式传输媒体内容时,便携式用户设备(例如,智能电话)可能与远程媒体内容服务器(例如,视频流服务)具有波动的连接。因此,在连接较弱的某些时间期间(例如,当驾车通过隧道时),用户设备与远程媒体内容服务器之间的网络连接质量可能不足以支持高质量媒体内容的不间断流式传输。
用户还期望媒体设备尽可能提供高质量的媒体内容。在多个回放设备被分组用于同步回放的情况下,由分组的回放设备回放的媒体内容的质量可能会受到回放设备的单独能力的影响。例如,与标准分辨率音频格式相比,高分辨率音频格式提供了增加的音频保真度和动态范围,并且高分辨率音频内容的回放因此导致更令人期望和满意的用户体验。然而,回放高分辨率音频可能需要复杂的回放能力(例如,增加的处理能力、DRM能力、延长的电池寿命),这对于某些回放设备(例如,较旧的回放设备、便携式回放设备等)可能是不可用的。因此,当具有较不复杂能力的回放设备与具有较复杂能力的回放设备被分组在一起以同步回放高分辨率音频内容时,能力较低的回放设备可能无法回放音频内容,这可能导致至少能力较低的设备(并且可能还有该组中的其他回放设备)不参与同步组回放,从而导致不期望的和不令人满意的用户体验。
为了应对这些挑战,SONOS公司一直在不断开发新技术,以智能地增强回放设备上音频内容回放的可靠性。例如,SONOS公司开发了基于回放音频内容的回放设备的能力和/或回放设备与内容源之间的网络连接质量来支持音频内容的有条件增强的技术。这种功能尤其在美国专利第10,873,820号,标题为《有条件的内容增强》(Conditional ContentEnhancement)中公开,其整体通过引用方式并入本文中。
SONOS公司已经意识到,常规自适应流式传输技术不足以解决现代网络(例如,典型的家庭网络,诸如无线局域网(WLAN))中的高清晰度(HD)音频流所呈现的挑战。随着互联网连接速度越来越高的趋势(例如,下载速度超过每秒1,000兆位(Mbps)的家庭光纤互联网的可用性增加,下载速度超过600Mbps的5G智能手机的可用性),流式传输设备与云服务器之间的连接质量不再是影响回放可靠性的唯一因素。一个新的(并且正在增长的)问题领域涉及局域网带宽的限制(例如,而不仅仅是广域网带宽)。在家庭背景中,越来越多的流量通过家庭的本地联网设备(例如,接入点、路由器等)来适应不断增长的连接到网络的设备数量(例如,物联网(IoT)设备、平板电脑、智能手机、用于软件更新的汽车等)。
在涉及回放较高质量的音频流(例如,HD音频)和/或在局域网内被分组用于同步回放的多个回放设备的场景中,这种带宽需求会加剧。在具有多个分组播放器的此类情况下,给定的音频内容可能需要多次通过本地联网设备。例如,具有两个其他回放设备的同步组中的第一回放设备(例如,组协调器)可以从云服务器(经由路由器)接收音频内容,并且(经由路由器)将该音频内容发送给这两个其他回放设备中的每一个。在该示例中,音频内容可以通过路由器发送三次:(1)从云服务器到第一回放设备;(2)从第一回放设备到第二回放设备;以及(3)从第一回放设备到第三回放设备。来自这种本地网络流量的拥塞可能导致音频包延迟到达一个或多个回放设备(即,音频包在其被回放设备预定播放的时间之后到达回放设备),这又可能导致一个或多个回放设备从同步组中掉出,从而导致用户收听体验下降。
此外,常规地,在联网媒体回放系统中的回放设备之间传输的音频内容通常不被加密。相反,依赖于与设备之间的通信信道相关联的安全协议,而不是加密内容本身。例如,组协调器回放设备可以通过采用Wi-Fi保护接入(WPA)安全性的安全WLAN连接向媒体回放系统的一个或多个其他组成员回放设备发送未加密的音频内容。
虽然这种使用安全通信协议发送未加密音频内容的方法在发送音频内容时提供了防止盗版音频内容的一些安全性,但是存在一些缺点。例如,能够访问媒体回放系统内的组协调器的个人可能试图在组协调器上安装恶意软件,该恶意软件允许个人将未加密的音频从组协调器直接下载到另一计算设备。此外,获得对媒体回放系统正在使用的WLAN的访问的个人可以嗅探从组协调器发送给组成员的分组包,以获得音频内容的副本。
尽管如此,对于相对较低质量(例如,标准清晰度)的流式传输音频内容,数字音乐版权所有者通常接受上述较低的安全级别。基本原理是,与在其他形式的媒体(例如,CD)上可获得的音频内容相比,个人采取上述步骤来盗版较低质量版本的音频内容的动机较小。然而,流媒体供应商越来越多地提供高清(HD)和超高清(UHD)音频内容,其音频质量更接近(或优于)其他形式的媒体。因此,个人盗版音频的动机更大,并且数字音乐版权所有者越来越要求这种音频内容具有更高水平的安全性。
为此,许多提供HD质量内容的媒体内容流服务已经开始实现数字版权管理(DRM)保护机制(例如,Widevine加密技术),该机制对音频内容本身进行加密,以解决数字音乐版权所有者的担忧。在这种方法下,将加密的音频内容从媒体内容服务发送(例如,经由通过HTTP的动态自适应流式传输(DASH))给回放设备用于回放。回放设备然后使用从许可服务器获得的信息(例如,密钥、证书等)解密音频内容,然后播放解密的音频内容。此外,利用这些类型的加密方案通常还需要来自请求设备本身的最低程度的可信度,这通常通过提供安全引导环境来满足。
然而,这些类型的加密机制通常是为单个端点设计的。换句话说,它们基于这样的前提,即请求加密音频内容的回放设备(例如,智能手机、计算机、联网的家庭音频设备等)是播放内容的唯一设备,并且回放设备具有足够的计算资源来支持音频内容的解密。虽然这一前提适用于参与单独回放的单个回放设备,但是它不直接扩展到由组协调器在媒体回放系统中的附加回放设备之间分发的音频内容的同步回放,因为这将需要多个端点与许可服务器通信。从媒体服务器请求加密的音频内容的回放设备(例如,作为组协调器操作的设备)通常是被授权从许可服务器获得用于解密音频内容的信息的唯一设备。此外,由于上面讨论的安全关注,数字版权所有者可能不允许组协调器以其解密的格式分发HD音频内容。
基于以前的创新,SONOS公司开发了用于提高回放可靠性并且支持较高质量的音频内容的回放的新技术。在一个方面,本文公开的技术涉及基于各种因素对在联网媒体回放系统内的回放设备之间流式传输的音频的质量进行动态修改,这些因素包括:(1)网络特性(例如,本地网络特性),(2)回放设备特性(例如,回放设备呈现内容的能力等),以及(3)分组用于同步音频回放的回放设备组的特性(例如,组中回放设备的数量)。因此,音频流的质量可以基于这些(和其他)因素被动态地修改,以确保在各种操作条件下可靠地回放音频,包括异构回放组配置(包括具有不同回放能力的回放设备的同步回放组)。在另一方面,本文公开的技术涉及对在联网媒体回放系统内的回放设备之间传输的音频内容进行加密。
本文公开的示例技术涉及基于以下来自适应地增强音频体验:(i)可以回放音频内容的一个或多个回放设备的能力,(ii)被分组用于音频内容的同步回放的回放设备的数量,或者(ii)一个或多个回放设备被配置成通过其进行通信的局域网的网络质量。本文公开的示例技术还涉及基于可能影响音频回放的所标识的特性,诸如(i)回放设备特性、(ii)回放组特性或(iii)网络特性中的一个或多个,将音频内容的第一版本代码转换为音频内容的一个或多个附加版本。此外,本文公开的示例技术涉及为音频内容实现附加加密层,该音频内容在联网媒体回放系统内的回放设备之间分发。
例如,可以对一个或多个回放设备进行分组,以便在本地媒体回放网络内同步回放给定的音频内容。给定的一个回放设备可以充当“组协调器”,而其他回放设备可以充当“组成员”。组协调器可以评估与回放设备特性、回放组特性和/或网络特性相关的一个或多个特性。基于该评估,组协调器可以确定回放组的第一其他回放设备和第二其他回放设备各自具有不同的设备和/或网络特性。组协调器可以使回放组的第一其他回放设备和第二其他回放设备中的每一个基于它们各自的特性同步回放给定音频内容的给定版本。在一些实现方式中,组协调器可以从音乐服务获得加密的音频内容,并且与许可服务器通信以解密音频内容。组协调器然后可以根据第二本地加密方案(例如,ChaChaPoly、AES-128加密等)来重新加密音频内容,并且将重新加密的音频连同允许组成员解密重新加密的音频内容的安全传输的密钥一起发送给组成员(诸如第一其他回放设备和第二其他回放设备)以用于同步回放。
因此,在一个方面,本文公开了第一回放设备,其包括至少一个处理器、非暂时性计算机可读介质,以及存储在非暂时性计算机可读介质上的程序指令,该程序指令可由至少一个处理器执行,使第一回放设备被配置成:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定第一连接质量满足阈值标准,而第二连接质量不满足阈值标准;(iv)回放音频内容的第一版本或第二版本中的一个;(v)基于确定第一连接质量满足阈值标准而第二连接质量不满足阈值标准:(1)使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本,以及(2)使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本;(vi)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(vii)基于检测到的第二连接质量的变化,使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
在另一方面,本文公开了一种非暂时性计算机可读介质。该非暂时性计算机可读介质配备有程序指令,当该程序指令由至少一个处理器执行时,使第一回放设备:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定第一连接质量满足阈值标准,而第二连接质量不满足阈值标准;(iv)回放音频内容的第一版本或第二版本中的一个;(v)基于确定第一连接质量满足阈值标准而第二连接质量不满足阈值标准:(1)使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本,以及(2)使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本;(vi)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(vii)基于检测到的第二连接质量的变化,使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
在又一方面,本文公开了一种由第一回放设备执行的方法,包括:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定第一连接质量满足阈值标准,而第二连接质量不满足至少一个阈值标准;(iv)回放音频内容的第一版本或第二版本中的一个;(v)基于确定第一连接质量满足阈值标准并且第二连接质量不满足阈值标准:(1)使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本,以及(2)使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本;(vi)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(vii)基于检测到的第二连接质量的变化,使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
在又另一方面,本文公开了第一回放设备,其包括至少一个处理器、非暂时性计算机可读介质,以及存储在非暂时性计算机可读介质上的程序指令,该程序指令可由至少一个处理器执行,使第一回放设备被配置成:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的连接质量,其中第二回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定连接质量不满足阈值标准;(iv)回放音频内容的第一版本;(v)基于连接质量不满足阈值标准的确定,使第二回放设备与第一回放设备对音频内容的第一版本的回放同步地回放音频内容的第二版本;(vi)当第二回放设备正在回放音频内容的第二版本时,检测第二回放设备与网络设备之间的连接的连接质量的变化;以及(vii)基于检测到的连接质量的变化,使第二回放设备与第一回放设备对音频内容的第一版本的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
此外,在另一方面,本文公开了第一回放设备,其包括至少一个处理器、非暂时性计算机可读介质,以及存储在非暂时性计算机可读介质上的程序指令,该程序指令可由至少一个处理器执行,使第一回放设备被配置成:(i)作为包括第一回放设备和第二回放设备的同步组的一部分进行操作;(ii)获得根据第一编码格式编码的音频内容的第一版本;(iii)确定音频内容的第一版本不适合由第二回放设备回放;(iv)基于该确定,(1)解码音频内容的第一版本,以及(2)根据第二编码格式重新编码音频内容的第二版本;(v)将音频内容的第二版本发送给第二回放设备用于回放;(vi)使第二回放设备回放音频内容的第二版本;以及(vii)与第二回放设备与对音频内容的第二版本的回放同步地回放音频内容的第一版本。
此外,在另一方面,本文公开了一种非暂时性计算机可读介质。该非暂时性计算机可读介质配备有程序指令,当该程序指令由至少一个处理器执行时,使第一回放设备:(i)作为包括第一回放设备和第二回放设备的同步组的一部分进行操作;(ii)获得根据第一编码格式编码的音频内容的第一版本;(iii)确定音频内容的第一版本不适合由第二回放设备回放;(iv)基于该确定,(1)解码音频内容的第一版本,以及(2)根据第二编码格式重新编码音频内容的第二版本;(v)将音频内容的第二版本发送给第二回放设备用于回放;(vi)使第二回放设备回放音频内容的第二版本;以及(vii)由第二回放设备与对音频内容的第二版本的回放同步地回放音频内容的第一版本。
此外,在另一方面,本文公开了一种由第一回放设备执行的方法,包括:(i)作为包括第一回放设备和第二回放设备的同步组的一部分进行操作;(ii)获得根据第一编码格式编码的音频内容的第一版本;(iii)确定音频内容的第一版本不适合由第二回放设备回放;(iv)基于该确定,(1)解码音频内容的第一版本,以及(2)根据第二编码格式重新编码音频内容的第二版本;(v)将音频内容的第二版本发送给第二回放设备用于回放;(vi)使第二回放设备回放音频内容的第二版本;以及(vii)与第二回放设备与对音频内容的第二版本的回放同步地回放音频内容的第一版本。
此外,在另一方面,本文公开了第一回放设备,其包括至少一个处理器、非暂时性计算机可读介质,以及存储在非暂时性计算机可读介质上的程序指令,该程序指令可由至少一个处理器执行,使第一回放设备被配置成:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
此外,在另一方面,本文公开了一种非暂时性计算机可读介质。该非暂时性计算机可读介质配备有程序指令,当该程序指令由至少一个处理器执行时,使第一回放设备:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
此外,在另一方面,本文公开了一种由第一回放设备执行的方法,该方法包括:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
在另一方面,本文公开了第一回放设备,其包括至少一个处理器、无线网络接口、非暂时性计算机可读介质,以及存储在非暂时性计算机可读介质上的程序指令,该程序指令可由至少一个处理器执行,使该回放设备被配置成(i)从基于云的媒体服务获得音频内容,其中该音频内容根据第一加密方案进行加密,(ii)与基于云的许可服务通信,以获得用于解密该音频内容的信息,(iii)使用获得的信息来解密该音频内容,(iv)根据第二加密方案来重新加密解密的音频内容,(v)将重新加密的音频内容发送给至少第二回放设备,该第二回放设备与第一回放设备分组在一起用于同步音频回放,以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
此外,在另一方面,本文公开了一种配备有程序指令的非暂时性计算机可读介质,当该程序指令由至少一个处理器执行时,使第一回放设备(i)从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案被加密,(ii)与基于云的许可服务通信以获得用于解密该音频内容的信息,(iii)使用所获得的信息来解密该音频内容,(iv)根据第二加密方案来重新加密解密的音频内容,(v)将重新加密的音频内容发送给至少第二回放设备,该第二回放设备与第一回放设备分组在一起用于同步音频回放,以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
此外,在另一方面,本文公开了一种由第一回放设备执行的方法,包括(i)从基于云的媒体服务获得音频内容,其中该音频内容根据第一加密方案进行加密,(ii)与基于云的许可服务通信以获得用于解密该音频内容的信息,(iii)使用获得的信息来解密该音频内容,(iv)根据第二加密方案来重新加密解密的音频内容,(v)将重新加密的音频内容发送给至少第二回放设备,该至少第二回放设备与第一回放设备分组在一起用于同步音频回放,以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
本领域普通技术人员将理解,本发明包括许多其他实施例。本领域普通技术人员将理解,本发明包括许多其他示例。虽然本文描述的一些示例可能涉及由诸如“用户”和/或其他实体的给定行动者执行的功能,但是应该理解,该描述仅用于解释的目的。除非权利要求本身的语言明确要求,否则权利要求不应被解释为要求任何这样的示例行动者采取行动。
尽管本文描述的一些示例可能涉及由诸如“用户”、“听众”和/或其他实体之类的给定行动者执行的功能,但是应该理解,这仅仅是为了解释的目的。除非权利要求本身的语言明确要求,否则权利要求不应被解释为要求任何这样的示例行动者采取行动。
II.合适的操作环境
a.合适的媒体回放系统
图1A和图1B示出了媒体回放系统(“MPS”)100的示例配置,其中可以实现本文公开的一个或多个实施例。首先参考图1A,示出了分布在环境101(例如,房子)中的MPS 100的部分剖视图。所示的MPS 100与具有多个房间和空间的示例家庭环境相关联。MPS 100包括一个或多个回放设备110(分别标识为回放设备110a-o)、一个或多个网络麦克风设备(“NMD”)120(分别标识为NMD 120a-c),以及一个或多个控制设备130(分别标识为控制设备130a和130b)。
如本文所使用,术语“回放设备”通常可以指被配置成接收、处理和输出媒体回放系统的数据的网络设备。例如,回放设备可以是接收和处理音频内容的网络设备。在一些实施例中,回放设备包括由一个或多个放大器供电的一个或多个换能器或扬声器。然而,在其他实施例中,回放设备包括扬声器和放大器中的一个(或者两个都不包括)。例如,回放设备可以包括一个或多个放大器,其被配置成经由对应的电线或电缆驱动回放设备外部的一个或多个扬声器。
此外,如本文所使用,术语NMD(即,“网络麦克风设备”)通常可以指被配置用于音频检测的网络设备。在一些实施例中,NMD是主要被配置用于音频检测的独立设备。在其他实施例中,NMD被结合到回放设备中(反之亦然)。
术语“控制设备”通常可以指被配置成执行与促进用户访问、控制和/或配置MPS100相关的功能的网络设备。
回放设备110中的每一个被配置成从一个或多个媒体源(例如,一个或多个远程服务器、一个或多个本地设备)接收音频信号或数据,并且将接收到的音频信号或数据回放为声音。一个或多个NMD 120被配置成接收口头单词命令,并且一个或多个控制设备130被配置成接收用户输入。响应于接收到的口头单词命令和/或用户输入,MPS 100可以经由回放设备110中的一个或多个回放音频。在某些实施例中,回放设备110被配置成响应于触发开始媒体内容的回放。例如,回放设备110中的一个或多个可以被配置成在检测到相关联的触发条件(例如,用户出现在厨房中,检测到咖啡机操作)时回放早晨播放列表。例如,在一些实施例中,MPS 100被配置成与第二回放设备(例如,回放设备110b)同步地回放来自第一回放设备(例如,回放设备110a)的音频。下面参考图1B至图1N更详细地描述根据本发明的各种实施例配置的MPS 100的回放设备110、NMD 120和/或控制设备130之间的交互。
在图1A所示的实施例中,环境101包括具有若干个房间、空间和/或回放区的家庭,包括(从左上顺时针)主浴室101a、主卧101b、次卧101c、家庭活动室或书房101d、办公室101e、起居室101f、餐厅101g、厨房101h和室外庭院101i。虽然下面在家庭环境的背景下描述了某些实施例和示例,但是本文描述的技术可以在其他类型的环境中实现。例如,在一些实施例中,MPS 100可以在一个或多个商业环境(例如,餐馆、商场、机场、酒店、零售店或其他商店)、一个或多个交通工具(例如,运动型多用途车、公共汽车、汽车、轮船、船、飞机)、多种环境(例如,家庭和交通工具环境的组合),和/或可能需要多区域音频的其他合适环境中实现。
MPS 100可以包括一个或多个回放区,其中一些可以对应于环境101中的房间。MPS100可以建立一个或多个回放区,之后可添加和/或移除额外的区以形成例如图1A所示的配置。每个区可以根据不同的房间或空间来命名,诸如办公室101e、主浴室101a、主卧101b、次卧101c、厨房101h、餐厅101g、起居室101f和/或庭院101i。在一些方面,单个回放区可以包括多个房间或空间。在某些方面,单个房间或空间可以包括多个回放区。
在图1A所示的实施例中,主浴室101a、次卧101c、办公室101e、起居室101f、餐厅101g、厨房101h和户外庭院101i各自都包括一个回放设备110,并且主卧101b和书房101d包括多个回放设备110。在主卧101b中,回放设备110l和110m可以被配置成例如作为回放设备110中的各个回放设备、作为绑定回放区、作为合并的回放设备和/或其任意组合来同步回放音频内容。类似地,在书房101d中,回放设备110h-j可以被配置成例如作为回放设备110中的各个回放设备、作为一个或多个绑定的回放设备和/或作为一个或多个合并的回放设备来同步回放音频内容。
参考图1B,家庭环境可以包括附加和/或其他计算设备,包括本地联网设备,诸如一个或多个智能照明设备108(图1B)、智能恒温器140(图1B)和本地计算设备105(图1A)。本地联网设备(未示出)的许多其他示例也是可能的,诸如门铃、相机、烟雾报警器、电视机、游戏控制台、车库开门器等。在下面描述的实施例中,各种回放设备110中的一个或多个可以被配置成便携式回放设备,而其他的可以被配置成固定回放设备。例如,耳机110o(图1B)是便携式回放设备,而书架上的回放设备110e可以是固定设备。作为另一个示例,庭院101i上的回放设备110c可以是电池供电的设备,当它没有被插入壁装电源插座等时,这可以允许它被运送到环境101内的各个区域以及环境101的外部。
仍然参考图1B,MPS 100的各种回放、网络麦克风和控制器设备和/或其他联网设备可以经由点对点连接和/或经由可以包括网络路由器109的本地网络160通过其他连接彼此耦合,这些连接可以是有线的和/或无线的。例如,可以被指定为“左”设备的书房101d(图1A)中的回放设备110j可以与回放设备110k具有点对点连接,回放设备110k也在书房101d中并且可以被指定为“右”设备。在相关实施例中,左回放设备110j可以经由点对点连接和/或经由本地网络160的其他连接,与其他联网设备通信,诸如可以被指定为“前端”设备的回放设备110h。
本地网络160可以是例如在有限区域(例如,住宅、办公楼、汽车、个人工作空间等)内互连一个或多个设备的网络。本地网络160可以包括例如一个或多个局域网(LAN),诸如无线局域网(WLAN)(例如,WIFI网络、Z-Wave网络等)和/或一个或多个个人区域网(PAN)(例如,蓝牙网络、无线USB网络、ZigBee网络、IRDA网络和/或其他合适的无线通信协议网络)和/或有线网络(例如,包括以太网、通用串行总线(USB)和/或其他合适的有线通信的网络)。如本领域普通技术人员将理解的,如本文所使用,“WIFI”可以指若干种不同的通信协议,包括例如以2.4千兆赫(GHz)、5GHz、6GHz和/或其他合适的频率传输的电气和电子工程师协会(IEEE)802.11a、802.11b、802.11g、802.12、802.11ac、802.11ad、802.11af、802.11ah、802.11ai、802.11aj、802.11aq、802.11ax、802.11ay、802.15等。
MPS 100被配置成从本地网络160接收媒体内容。接收的媒体内容可以包括例如统一资源标识符(URI)和/或统一资源定位符(URL)。例如,在一些示例中,MPS 100可以从对应于接收到的媒体内容的URI或URL流式传输、下载或以其他方式获得数据。
如图1B进一步所示,MPS 100可以经由广域网(“WAN”)107耦合到一个或多个远程计算设备106。在一些实施例中,每个远程计算设备106可以采取一个或多个云服务器的形式。远程计算设备106可以被配置成以各种方式与环境101中的计算设备交互。例如,远程计算设备106可以被配置成促进在环境101(图1A)中流式传输诸如音频等媒体内容和/或控制诸如音频等媒体内容的回放。
在一些实现方式中,各种回放设备110、NMD 120和/或控制设备130可以通信地耦合到与语音助理服务(“VAS”)相关联的至少一个远程计算设备和/或与媒体内容服务(“MCS”)相关联的至少一个远程计算设备。例如,在图1B所示的示例中,远程计算设备106a与VAS190相关联,而远程计算设备106b与MCS192相关联。尽管为了清楚起见,在图1B的示例中仅示出了单个VAS190和单个MCS192,但是MPS 100可以耦合到任何数量的不同VAS和/或MCS。在一些实施例中,各种回放设备110、NMD 120和/或控制设备130可以将与接收到的语音输入相关联的数据发送给VAS,该VAS被配置成(i)处理接收到的语音输入数据,以及(ii)将对应的命令发送给MPS 100。在一些方面,例如,计算设备106a可以包括VAS的一个或多个模块和/或服务器。在一些实现方式中,VAS可以由 或其他语音助理供应商中的一个或多个来操作。在一些实现方式中,MCS可以由SPOTIFY、PANDORA、AMAZON MUSIC、YOUTUBE MUSIC、APPLE MUSIC、GOOGLE PLAY或其他媒体内容服务中的一个或多个来操作。
在一些实施例中,本地网络160包括专用通信网络,MPS 100使用该专用通信网络在各个设备之间传输消息和/或向和从MCS传输媒体内容。在某些实施例中,本地网络160被配置成仅可被MPS 100中的设备访问,从而减少与其他家用设备的干扰和竞争。然而,在其他实施例中,本地网络160包括现有的家庭通信网络(例如,家庭WIFI网络)。在一些实施例中,MPS 100在没有本地网络160的情况下实现,并且包括MPS 100的各种设备可以例如经由一个或多个直接连接、PAN、电信网络(例如,LTE网络或5G网络等)和/或其他合适的通信链路彼此通信。
在一些实施例中,音频内容源可以被周期性地添加到MPS 100和/或从MPS 100移除。例如,在一些实施例中,当一个或多个媒体内容源被更新、添加到MPS 100和/或从MPS100移除时,MPS 100执行媒体项目的索引。MPS 100可以扫描各种回放设备可访问的一些或所有文件夹和/或目录中的可标识媒体项目,并且生成或更新媒体内容数据库,该数据库包括找到的每个可标识媒体项目的元数据(例如,标题、艺术家、专辑、音轨长度)和其他相关信息(例如,URI、URL)。例如,在一些实施例中,媒体内容数据库存储在MPS 100的各种回放设备、网络麦克风设备和/或控制设备中的一个或多个上。
如图1B中进一步所示,远程计算设备106还包括被配置成执行某些操作的远程计算设备106c,诸如远程促进媒体回放功能、管理设备和系统状态信息、指导MPS 100的设备与一个或多个VAS和/或MCS之间的通信以及其他操作。在一个示例中,远程计算设备106c为一个或多个SONOS无线HiFi系统提供云服务器。
在各种实现方式中,回放设备110中的一个或多个可以采取被配置成检测声音(包括来自用户的语音话语)的板载(例如,集成)网络麦克风设备的形式或包括该设备。例如,回放设备110c-110h和110k分别包括或另外配备有对应的NMD 120c-120h和120k。包括或配备有NMD的回放设备在本文可以互换地称为回放设备或NMD,除非在说明书中另有说明。在一些情况下,NMD 120中的一个或多个可以是独立的设备。例如,NMD 1201(图1A)可以是独立的设备。独立的NMD可以省略回放设备中通常包括的组件和/或功能,诸如扬声器或相关电子器件。例如,在这种情况下,独立的NMD可能不产生音频输出或者可能产生有限的音频输出(例如,相对低质量的音频输出)。
MPS 100的各种回放和网络麦克风设备110和120可以各自与唯一的名称相关联,该名称可以由用户分配给相应的设备,诸如在设置这些设备中的一个或多个期间。例如,如图1B的示例中所示,用户可以给回放设备110e分配名称“书架”,因为它实体位于书架上。类似地,NMD 1201可以被分配名称“岛”,因为它实体位于厨房101h中的岛状台面上(图1A)。一些回放设备可以根据区或房间被分配名称,诸如回放设备110g、110d和110f,它们分别被命名为“卧室”、“餐厅”和“办公室”。此外,某些回放设备可能具有功能描述性名称。例如,回放设备110k和110h分别被分配名称“右”和“前端”,因为这两个设备被配置成在书房101d区中的媒体回放期间提供特定的音频声道(图1A)。庭院101i中的回放设备110c可以被命名为“便携式的”,因为它是电池供电的和/或易于运输到环境101的不同区域。其他命名约定也是可能的。
如上所述,NMD可以检测和处理来自其环境的声音,包括由它自已回放的、由环境101中的其他设备回放的音频输出,和/或包括与NMD附近的人所说的话音混合的背景噪声的声音。例如,当NMD在环境中检测到声音时,NMD可以处理检测到的声音,以确定该声音是否包括包含针对NMD并且最终针对特定VAS的语音输入的话音。例如,NMD可以标识话音是否包括与特定VAS相关联的唤醒词(本文也称为激活词)。
在图1B所示的示例中,NMD 120被配置成通过本地网络160和/或路由器109与VAS190交互。例如,当NMD在检测到的声音中标识出潜在的唤醒词时,可以发起与VAS190的交互。该标识引起唤醒词事件,这又引起NMD开始向VAS190发送检测到的声音数据。在一些实现方式中,MPS 100的各种本地联网设备105、110、120和130(图1A)和/或远程计算设备106c可以与关联于所选VAS的远程计算设备交换各种反馈、信息、指令和/或相关数据。此类交换可以涉及或独立于包含语音输入的传输消息。在一些实施例中,远程计算设备和MPS100可以经由如本文所述的通信路径和/或使用如2019年11月13日授权并且标题为《媒体回放系统的语音控制》(Voice Control ofa Media Playback System)的第10,499,146号美国专利中所述的元数据交换信道来交换数据,该专利整体通过引用方式并入本文中。
在接收到声音数据流后,VAS190可以确定在来自NMD的流式传输数据中是否有语音输入,并且如果有,VAS190还可以确定语音输入中的潜在意图。VAS190可以接着将响应发送回MPS 100,这可以包括将响应直接发送给引起唤醒词事件的NMD。该响应通常基于被VAS190确定存在于语音输入中的意图。作为示例,响应于VAS190接收到带有“回放披头士乐队的Hey Jude”的话语的语音输入,VAS190可以确定该语音输入的潜在意图是启动回放,并且进一步确定该语音输入的意图是回放披头士乐队演奏的特定歌曲“Hey Jude”。在这些确定之后,VAS 190可以向特定的MCS192发送命令以检索内容(即,披头士乐队的歌曲“HeyJude”),并且MCS192进而将该内容直接或间接地经由VAS 190提供(例如,流式传输)给NIPS100。在一些实现方式中,VAS190可以向NIPS100发送命令,该命令使得MPS 100本身从MCS192检索内容。
在某些实现方式中,当在由位于彼此附近的两个或更多个NMD检测到的话音中标识出语音输入时,NMD可以促进彼此之间的仲裁。例如,环境101(图1A)中的配备NMD的回放设备110e相对靠近配备NMD的起居室回放设备120b,并且设备110e和120b至少有时可以检测到相同的声音。在此类情况下,这可能需要关于哪个设备最终负责向远程VAS提供检测到的声音数据的仲裁。在NMD之间仲裁的示例可以在例如前面引用的美国专利第10,499,146号中找到。
在某些实现方式中,NMD可以被分配给可能不包括NMD的指定或默认回放设备,或者以其他方式与其相关联。例如,厨房101h(图1A)中的岛NMD 1201可以被分配给餐厅回放设备110d,其相对紧密地接近岛NMD 1201。在实践中,响应于远程VAS从NMD接收到播放音频的语音输入,NMD可以指示所分配的回放设备播放音频,该语音输入可能是NMD响应于用户说出播放某首歌曲、专辑、播放列表等的命令而发送给VAS的。关于将NMD和回放设备指定为指定或默认设备的其他细节可以在例如前面引用的美国专利第10,499,146号中找到。
与示例MPS 100的不同组件以及不同组件如何交互以向用户提供媒体体验相关的其他方面可在以下章节中找到。虽然本文的讨论通常涉及示例MPS 100,但是本文描述的技术不限于上述家庭环境中的应用。例如,本文描述的技术可以在包括更多或更少的任何回放设备110、网络麦克风设备120和/或控制设备130的其他家庭环境配置中有用。例如,本文的技术可以在具有单个回放设备110和/或单个NMD 120的环境中使用。在此类情况的一些示例中,本地网络160(图1B)可以被消除,并且单个回放设备110和/或单个NMD 120可以直接与远程计算设备106a-c通信。在一些实施例中,电信网络(例如,LTE网络、5G网络等)可以与独立于本地网络160的各种回放设备110、网络麦克风设备120和/或控制设备130通信。
b.合适的回放设备
图1C是包括输入/输出111的回放设备110a的框图。输入/输出111可以包括模拟I/O 111a(例如,一条或多条电线、电缆和/或被配置成承载模拟信号的其他合适的通信链路)和/或数字I/O 111b(例如,一条或多条电线、电缆或被配置成承载数字信号的其他合适的通信链路)。在一些实施例中,模拟I/O 111a是音频线路输入连接,包括例如自动检测3.5毫米音频线路输入连接。在一些实施例中,数字I/O 111b包括索尼/飞利浦数字接口格式(S/PDIF)通信接口和/或电缆和/或东芝链接(TOSLINK)电缆。在一些实施例中,数字I/O 111b包括高清多媒体接口(HDMI)接口和/或电缆。在一些实施例中,数字I/O 111b包括一个或多个无线通信链路,包括例如射频(RF)、红外、WIFI、蓝牙或其他合适的通信协议。在某些实施例中,模拟I/O 111a和数字I/O 111b包括被配置成分别接收传输模拟和数字信号的电缆的连接器的接口(例如,端口、插头、插孔),而不必包括电缆。
例如,回放设备110a可以经由输入/输出111(例如,电缆、电线、PAN、蓝牙连接、自组织有线或无线通信网络和/或另一种合适的通信链路)从本地音频源150接收媒体内容(例如,包括音乐和/或其他声音的音频内容)。本地音频源150可以包括例如移动设备(例如,智能手机、平板电脑、膝上型电脑)或另一合适的音频组件(例如,电视机、台式电脑、放大器、留声机、DVD播放器、蓝光播放器、游戏控制台、存储数字媒体文件的存储器)。在一些方面,本地音频源150包括智能手机、计算机、网络连接存储器(NAS)和/或被配置成存储媒体文件的另一合适设备上的本地音乐库。在某些实施例中,回放设备110、NMD 120和/或控制设备130中的一个或多个包括本地音频源150。然而,在其他实施例中,媒体回放系统完全省略了本地音频源150。在一些实施例中,回放设备110a不包括输入/输出111,并且经由本地网络160接收所有音频内容。
回放设备110a还包括电子器件112、用户接口113(例如,一个或多个按钮、旋钮、拨号盘、触敏表面、显示器、触摸屏),以及一个或多个换能器114(例如,驱动器),在下文中称为“换能器114”。电子器件112被配置成经由输入/输出111从音频源(例如,本地音频源150)接收音频,经由本地网络160(图1B)从一个或多个计算设备106a-c接收音频,放大接收的音频,并且经由换能器114中的一个或多个输出放大的音频用于回放。在一些实施例中,回放设备110a可选地包括一个或多个麦克风(例如,单个麦克风、多个麦克风、麦克风阵列)(以下称为“麦克风”)。在某些实施例中,例如,具有可选麦克风中的一个或多个的回放设备110a可以作为NMD来操作,该NMD被配置成接收来自用户的语音输入,并且基于接收到的语音输入来相应地执行一个或多个操作,这将在下面参考图1F和图1G进一步更详细地讨论。
在图1C所示的实施例中,电子器件112包括一个或多个处理器112a(以下称为“处理器112a”)、存储器112b、软件组件112c、网络接口112d、一个或多个音频处理组件112g、一个或多个音频放大器112h(以下称为“放大器112h”)和电源组件112i(例如,一个或多个电源、电源电缆、电源插座、电池、感应线圈、以太网供电(POE)接口和/或其他合适的电源)。
在一些实施例中,电子器件112可选地包括一个或多个其他组件112j(例如,一个或多个传感器、视频显示器、触摸屏、电池充电底座)。在一些实施例中,回放设备110a和电子器件112还可以包括可操作地耦合到一个或多个麦克风的一个或多个语音处理组件,以及如下面参考图1F和图1G描述的其他组件。
处理器112a可以包括被配置成处理数据的时钟驱动的计算组件,并且存储器112b可以包括被配置成存储用于执行各种操作和/或功能的指令的计算机可读介质(例如,有形的非暂时性的计算机可读介质、加载有一个或多个软件组件112c的数据存储器)。处理器112a被配置成执行存储在存储器112b上的指令,以执行一个或多个操作。这些操作可以包括例如使回放设备110a从音频源(例如,计算设备106a-c(图1B)中的一个或多个)和/或回放设备110中的另一个检索音频数据。在一些实施例中,操作还包括使回放设备110a向回放设备110a中的另一个和/或另一个设备(例如,NMD 120中的一个)发送音频数据。某些实施例包括使回放设备110a与一个或多个回放设备110中的另一个配对以实现多声道音频环境(例如,立体声对、绑定区)的操作。
处理器112a还可以被配置成执行使回放设备110a与一个或多个回放设备110中的另一个同步音频内容的回放的操作。如本领域普通技术人员将理解,在多个回放设备上同步回放音频内容期间,听众将优选地不能察觉回放设备110a与另一个或多个其他回放设备110回放音频内容之间的时延差。关于回放设备和/或区之间的音频回放同步的附加细节可以在例如标题为《用于在多个独立计时的数字数据处理设备之间同步操作的系统和方法》(System and method for synchronizing operations among a plurality ofindependently clocked digital data processing devices)的美国专利第8,234,395号中找到,该专利整体通过引用方式并入本文中。
在一些实施例中,存储器112b还被配置成存储与回放设备110a相关联的数据,诸如回放设备110a是其成员的一个或多个区和/或区组、回放设备110a可访问的音频源、和/或回放设备110a(和/或一个或多个回放设备中的另一个)可以与其相关联的回放队列。存储的数据可以包括一个或多个状态变量,这些状态变量被周期性地更新并且用于描述回放设备110a的状态。存储器112b还可以包括与MPS 100的一个或多个其他设备(例如,回放设备110、NMD 120、控制设备130)的状态相关联的数据。在一些方面,例如,在预定的时间间隔期间(例如,每5秒、每10秒、每60秒)在MPS 100的至少一部分设备之间共享状态数据,使得设备中的一个或多个具有与MPS 100相关联的最新数据。
网络接口112d被配置成促进回放设备110a与数据网络上的一个或多个其他设备之间的数据传输。网络接口112d被配置成发送和接收对应于媒体内容(例如,音频内容、视频内容、文本、照片)的数据和包括数字分组包数据的其他信号(例如,非瞬时信号),该数字分组包数据包括基于互联网协议(IP)的源地址和/或基于IP的目的地地址。网络接口112d可以解析数字分组包数据,使得电子器件112正确地接收和处理去往回放设备110a的数据。
在图1C所示的实施例中,网络接口112d包括一个或多个无线接口112e(以下称为“无线接口112e”)。无线接口112e(例如,包括一个或多个天线的合适的接口)可以被配置成根据合适的无线通信协议(例如,WIFI、蓝牙、LTE)与通信地耦合到本地网络160(图1B)的一个或多个其他设备(例如,其他回放设备110、NMD 120和/或控制设备130中的一个或多个)无线通信。在一些实施例中,网络接口112d可选地包括有线接口112f(例如,被配置成接收诸如以太网、USB-A、USB-C和/或Thunderbolt电缆的网络电缆的接口或插座),其被配置成根据合适的有线通信协议通过有线连接与其他设备通信。在某些实施例中,网络接口112d包括有线接口112f,但不包括无线接口112e。在一些实施例中,电子器件112完全排除网络接口112d,并且经由另一通信路径(例如,输入/输出111)发送和接收媒体内容和/或其他数据。
音频处理组件112g被配置成处理和/或过滤包括由电子器件112(例如,经由输入/输出111和/或网络接口112d)接收的媒体内容的数据,以产生输出音频信号。在一些实施例中,音频处理组件112g包括例如一个或多个数模转换器(DAC)、音频预处理组件、音频增强组件、数字信号处理器(DSP)和/或其他合适的音频处理组件、模块、电路等。在某些实施例中,音频处理组件112g中的一个或多个可以包括处理器112a的一个或多个子组件。在一些实施例中,电子器件112省略了音频处理组件112g。在一些方面,例如,处理器112a执行存储在存储器112b上的指令,以执行音频处理操作来产生输出音频信号。
放大器112h被配置成接收和放大由音频处理组件112g和/或处理器112a产生的音频输出信号。放大器112h可以包括被配置成将音频信号放大到足以驱动换能器114中的一个或多个的电平的电子设备和/或组件。例如,在一些实施例中,放大器112h包括一个或多个开关或D类功率放大器。然而,在其他实施例中,放大器包括一个或多个其他类型的功率放大器(例如,线性增益功率放大器、A类放大器、B类放大器、AB类放大器、C类放大器、D类放大器、E类放大器、F类放大器、G类和/或H类放大器和/或其他合适类型的功率放大器)。在某些实施例中,放大器112h包括两个或多个前述类型的功率放大器的适当组合。此外,在一些实施例中,各个放大器112h对应于各个换能器114。然而,在其他实施例中,电子器件112包括被配置成向多个换能器114输出放大的音频信号的单个放大器112h。在一些其他实施例中,电子器件112省略了放大器112h。
在一些实现方式中,回放设备110a的电源组件1121可以另外包括内部电源(例如,一个或多个电池),该内部电源被配置成在没有到外部电源的物理连接的情况下给回放设备110a供电。当配备有内部电源时,回放设备110a可以独立于外部电源进行操作。在一些此类实现方式中,外部电源接口可以被配置成促进对内部电源充电。如前所述,包括内部电源的回放设备在本文可以被称为“便携式回放设备”。另一方面,使用外部电源操作的回放设备在本文可以被称为“固定回放设备”,但这样的设备实际上可以在家里或其他环境中到处移动。
用户接口113可以独立于或结合由控制设备130(图1A)中的一个或多个所促进的用户交互来促进用户交互。在各种实施例中,用户接口113包括一个或多个物理按钮和/或支持在触敏屏幕和/或表面上提供的图形接口,以及其他可能性,以供用户直接提供输入。用户接口113还可以包括一个或多个灯组件(例如,LED)和扬声器,以向用户提供视觉和/或音频反馈。
换能器114(例如,一个或多个扬声器和/或扬声器驱动器)从放大器112h接收放大的音频信号,并且将放大的音频信号呈现或输出为声音(例如,频率在大约20赫兹(Hz)与20千赫兹(kHz)之间的可听声波)。在一些实施例中,换能器114可以包括单个换能器。然而,在其他实施例中,换能器114包括多个音频换能器。在一些实施例中,换能器114包括不止一种类型的换能器。例如,换能器114可以包括一个或多个低频换能器(例如,超低音扬声器、低音扬声器)、中频换能器(例如,中频换能器、中低音扬声器)以及一个或多个高频换能器(例如,一个或多个高音扬声器)。如本文所使用,“低频”通常指低于约500Hz的可听频率,“中频”通常指介于约500Hz与约2kHz之间的可听频率,而“高频”通常指高于2kHz的可听频率。然而,在某些实施例中,换能器114中的一个或多个包括不符合前述频率范围的换能器。例如,换能器114中的一个可以包括中低音扬声器换能器,该中低音扬声器换能器被配置成输出频率在大约200Hz与大约5kHz之间的声音。
在一些实施例中,回放设备110a可以包括用于将回放设备连接到外部扬声器的扬声器接口。在其他实施例中,回放设备110a可以包括用于将回放设备连接到外部音频放大器或视听接收器的音频接口。
作为说明,SONOS公司目前提供(或已经提供)销售某些回放设备,包括例如“SONOSONE”、“PLAY:1”、“PLAY:3”、“PLAY:5”、“PLAYBAR”、“PLAYBASE”、“CONNECT:AMP”、“CONNECT”、“SUB”、“ARC”、“MOVE”和“ROAM”。其他合适的回放设备可以附加地或备选地用于实现本文公开的示例实施例的回放设备。备选地,本领域普通技术人员将理解,回放设备不限于本文描述的示例或SONOS产品供应。例如,在一些实施例中,回放设备110中的一个或多个可以包括扩展坞和/或接口,该扩展坞和/或接口被配置成与个人移动媒体回放设备的扩展坞进行交互。在某些实施例中,回放设备可以集成到另一个设备或组件,诸如电视机、照明设备或用于室内或室外使用的一些其他设备。在一些实施例中,回放设备可以省略用户接口和/或一个或多个换能器。例如,图1D是回放设备110p的框图,该回放设备包括输入/输出111和电子器件112,而没有用户接口113或换能器114。
图1E是绑定的回放设备110q的框图,该回放设备包括与回放设备110i(例如,低音炮)(图1A)声学绑定的回放设备110a(图1C)。在所示实施例中,回放设备110a和110i是容纳在单独外壳中的回放设备110中的单独设备。然而,在一些实施例中,绑定的回放设备110q包括容纳回放设备110a和110i的单个外壳。绑定的回放设备110q可以被配置成不同于未绑定的回放设备(例如,图1C的回放设备110a)和/或配对或绑定的回放设备(例如,图1B的回放设备1101和110m)来处理和再现声音。例如,在一些实施例中,回放设备110a是被配置成呈现低频、中频和高频音频内容的全范围回放设备,并且回放设备110i是被配置成呈现低频音频内容的低音炮。在一些方面,当与回放设备110i绑定时,回放设备110a被配置成仅呈现特定音频内容的中频和高频分量,而回放设备110i呈现特定音频内容的低频分量。在一些实施例中,绑定的回放设备110q包括附加回放设备和/或另一个绑定的回放设备。
在一些实施例中,回放设备110中的一个或多个可以采取有线和/或无线耳机设备的形式(例如,耳挂式耳机、耳塞式耳机、入耳式耳机等)。例如,图2示出了用于回放设备110中的一个的这种实现方式的示例耳机总成200(“耳机200”)。如图所示,耳机200包括将第一耳罩204a耦接到第二耳罩204b的头带202。耳罩204a和204b中的每一个可以容纳回放设备110中的电子组件的任何部分,诸如一个或多个扬声器。此外,耳罩204a和204b中的一个或两者可以包括用于控制音频回放、音量和其他功能的用户接口。用户接口可以包括多种控制元件中的任何一种,诸如物理按钮208、滑块(未示出)、旋钮(未示出)和/或触摸控制表面(未示出)。如图2中所示,耳机200还可以包括分别耦接到耳罩204a和204b的耳垫206a和206b。耳垫206a和206b可以分别在用户头部与耳罩204a和204b之间提供软屏障,以提高用户舒适度和/或提供与周围环境的声学隔离(例如,被动降噪(PNR))。
如下文更详细描述的,回放设备的电子组件可以包括一个或多个网络接口组件(图2中未示出),以促进通过一个或多个通信链路进行无线通信。例如,回放设备可以通过第一通信链路201a(例如,蓝牙链路)与控制设备130中的一个(诸如控制设备130a)通信,和/或通过第二通信链路201b(例如,WIFI或蜂窝链路)与一个或多个其他计算设备210(例如,网络路由器和/或远程服务器)通信。作为另一种可能性,回放设备可以通过多个通信链路通信,诸如与控制设备130a的第一通信链路201a以及在控制设备130a与一个或多个其他计算设备210之间的第三通信链路201c(例如,WIFI或蜂窝链路。因此,在一些实施例中,控制设备130a可以充当回放设备与一个或多个其他计算设备210之间的中介。
在一些情况下,耳机设备可以采取可听设备的形式。可听设备可以包括那些耳机设备(包括耳朵级设备),其被配置成提供听觉增强功能,同时还支持媒体内容的回放(例如,通过PAN流式传输来自用户设备的媒体内容、通过WLAN和/或蜂窝网络连接流式传输来自流媒体音乐服务供应商的媒体内容等)。在一些情况下,可听设备可以被实现为耳内耳机设备,该耳内耳机设备被配置成回放从外部环境检测到的至少一些声音的放大版本(例如,所有声音、诸如人类语音的选择声音等)。
应当理解,回放设备110中的一个或多个可以采取与耳机设备分离且隔开的其他可佩戴设备的形式。可穿戴设备可以包括被配置成穿戴在用户的一部分(例如,头部、颈部、躯干、手臂、手腕、手指、腿、脚踝等)周围的那些设备。例如,回放设备110可以采取一副眼镜的形式,包括镜架前部(例如,被配置成保持一个或多个镜片)、可旋转地耦接到镜架前部的第一镜腿以及可旋转地耦接到镜架前部的第二镜腿。在该示例中,该副眼镜可以包括一个或多个换能器,该一个或多个换能器集成到第一和第二镜腿中的至少一个镜腿中,并且被配置成向对象的耳朵发出声音。
c.合适的网络麦克风设备(NMD)
图1F是NMD 120a(图1A和图1B)的框图。NMD 120a包括一个或多个语音处理组件124和关于回放设备110a(图1C)描述的若干组件,包括处理器112a、存储器112b和麦克风115。NMD 120a可选地包括也包括在回放设备110a(图1C)中的其他组件,诸如用户接口113和/或换能器114。在一些实施例中,NMD 120a被配置成媒体回放设备(例如,回放设备110中的一个或多个),并且还包括例如音频处理组件112g(图1C)、换能器114和/或其他回放设备组件中的一个或多个。在某些实施例中,NMD 120a包括物联网(IoT)设备,诸如恒温器、警报面板、火灾和/或烟雾探测器等。在一些实施例中,NMD 120a包括麦克风115、语音处理组件124以及上文关于图1C描述的电子器件112的组件的仅一部分。在一些方面,例如,NMD 120a包括处理器112a和存储器112b(图1C),同时省略了电子器件112的一个或多个其他组件。在一些实施例中,NMD 120a包括附加组件(例如,一个或多个传感器、相机、温度计、气压计、湿度计)。
在一些实施例中,NMD可以集成到回放设备中。图1G是包括NMD 120d的回放设备110r的框图。回放设备110r可以包括回放设备110a的任何或所有组件,并且还包括麦克风115和语音处理组件124(图1F)。麦克风115被配置成检测回放设备110r的环境中的声音(即,声波),该声音然后可以被提供给语音处理组件124。更具体地,每个麦克风115被配置成检测声音并且将该声音转换成表示检测到的声音的数字或模拟信号,这然后可以使语音处理组件基于检测到的声音执行各种功能,如下面更详细描述。在一些实现方式中,麦克风115可以被布置为麦克风阵列(例如,六个麦克风的阵列)。在一些实现方式中,回放设备110r可以包括少于六个麦克风或者多于六个麦克风。回放设备110r可选地包括集成控制设备130c。控制设备130c可以包括例如用户接口,该用户接口被配置成接收用户输入(例如,触摸输入、语音输入),而无需单独的控制设备。然而,在其他实施例中,回放设备110r从另一控制设备(例如,图1B的控制设备130a)接收命令。
在操作中,语音处理组件124通常被配置成检测和处理经由麦克风115接收的声音,标识检测到的声音中的潜在语音输入,并且提取检测到的声音数据以使得诸如VAS190(图1B)的VAS能够处理在检测到的声音数据中标识的语音输入。语音处理组件124可以包括一个或多个模数转换器、声学回声消除器(“AEC”)、空间处理器(例如,一个或多个多通道维纳滤波器、一个或多个其他滤波器和/或一个或多个波束形成器组件)、一个或多个缓冲器(例如,一个或多个循环缓冲器)、一个或多个唤醒词引擎、一个或多个语音提取器和/或一个或多个话音处理组件(例如,被配置成标识特定用户或与家庭相关联的特定用户组的语音的组件),以及其他示例语音处理组件。在示例实现方式中,语音处理组件124可以包括或以其他方式采取一个或多个DSP或DSP的一个或多个模块的形式。在这方面,某些语音处理组件124可以配置有特定参数(例如,增益和/或频谱参数),这些参数可以被修改或以其他方式调谐以实现特定功能。在一些实现方式中,语音处理组件124中的一个或多个可以是处理器112a的子组件。
在一些实现方式中,语音处理组件124可以检测和存储用户的语音简档,其可以与MPS 100的用户账户相关联。例如,语音简档可以被存储为存储在一组命令信息或数据表中的变量和/或与之进行比较。语音简档可以包括用户语音的音调频率方面和/或用户语音的其它独特方面,诸如在先前引用的美国专利第10,499,146号中描述的那些方面。
再次参考图1F,麦克风115被配置成获取、捕捉和/或接收来自环境(例如,图1A的环境101)和/或NMD 120a所在的房间的声音。接收的声音可以包括例如口头话语、由NMD120a和/或另一回放设备回放的音频、背景语音、周围环境声音等。麦克风115将接收到的声音转换成电信号,以产生麦克风数据。NMD 120a可以使用麦克风数据(或将麦克风数据发送给另一设备)来校准MPS 100中的一个或多个回放设备110的音频特性。作为另一个示例,MPS 100的回放设备110、NMD 120和/或控制设备130中的一个或多个可以发送音频音调(例如,超声波音调、次声音调),该音频音调可以被其他设备的麦克风115检测到,并且其可以传达诸如传输设备的接近度和/或身份、媒体回放系统命令等的信息。作为又一示例,语音处理组件124可以接收并且分析麦克风数据,以确定麦克风数据中是否存在语音输入。语音输入可以包括例如激活词,其后是包括用户请求的话语。如本领域普通技术人员将理解的,激活词是表示用户语音输入的词或其他音频提示。例如,在查询VAS时,用户可能会说出激活词“Alexa”。其他示例包括用于调用/>VAS的“Ok,Google”和用于调用/>VAS的“嘿,Siri”。
在检测到激活词之后,语音处理组件124监测麦克风数据,以获得语音输入中伴随的用户请求。用户请求可以包括例如控制第三方设备的命令,该第三方设备诸如恒温器(例如,恒温器)、照明设备(例如,PHILIPS/>照明设备)或媒体回放设备(例如,回放设备)。例如,用户可以说出激活词“Alexa”,之后是话语“将恒温器设置为68度”,以设置家(例如,图1A的环境101)中的温度。用户可以说出相同的激活词,之后是话语“打开起居室”来打开家中起居室区域的照明设备。用户可以类似地说出激活词,之后请求在家中的回放设备上回放特定的歌曲、专辑或音乐播放列表。
d.合适的控制设备
图1H是控制设备130a(图1A和图1B)的一个示例的部分示意图。如本文所使用,术语“控制设备”可以与“控制器”、“控制器设备”或“控制系统”互换使用。在其他特征中,控制设备130a被配置成接收与MPS 100相关的用户输入,并且作为响应,使MPS 100中的一个或多个设备执行对应于用户输入的动作和/或操作。在所示实施例中,控制设备130a包括智能手机(例如,iPhoneTM、Android手机),其上安装了媒体回放系统控制器应用软件。在一些实施例中,控制设备130a包括例如平板电脑(例如,iPadTM)、计算机(例如,膝上型计算机、台式计算机)和/或另一合适的设备(例如,电视机、汽车音响主机、IoT设备)。在某些实施例中,控制设备130a包括用于MPS 100的专用控制器。在其他实施例中,如以上参考图1G所述,控制设备130a被集成到MPS 100中的另一设备中(例如,回放设备110、NMD 120和/或被配置成通过网络通信的其他合适设备中的一个或多个)。
控制设备130a包括电子器件132、用户接口133、一个或多个扬声器134和一个或多个麦克风135。电子器件132包括一个或多个处理器132a(以下称为“处理器132a”)、存储器132b、软件组件132c和网络接口132d。处理器132a可以被配置成执行与促进MPS 100的用户访问、控制和配置相关的功能。存储器132b可以包括数据存储装置,该数据存储装置可以加载有可由处理器132a执行的软件组件中的一个或多个,以执行这些功能。软件组件132c可以包括应用和/或其他可执行软件,其被配置成促进MPS 100的控制。存储器132b可以被配置成存储例如软件组件132c、媒体回放系统控制器应用软件和/或与MPS 100和用户相关联的其他数据。
网络接口132d被配置成促进控制设备130a与MPS 100中的一个或多个其他设备和/或一个或多个远程设备之间的网络通信。在一些实施例中,网络接口132d被配置成根据一个或多个合适的通信行业标准(例如,红外、无线电、包括IEEE 802.3的有线标准、包括IEEE 802.11a、802.11b、802.11g、802.12、802.11ac、802.15、4G、LTE的无线标准)进行操作。网络接口132d可以被配置成例如向回放设备110、NMD 120、其他控制设备130、图1B的计算设备106中的一个、包括一个或多个其他媒体回放系统的设备等发送数据和/或从其接收数据。发送和/或接收的数据可以包括例如回放设备控制命令、状态变量、回放区和/或区组配置。例如,基于在用户接口133处接收的用户输入,网络接口132d可以将回放设备控制命令(例如,音量控制、音频回放控制、音频内容选择)从控制设备130a发送给一个或多个回放设备110。网络接口132d还可以发送和/或接收配置改变,诸如例如,向/从区添加/移除一个或多个回放设备110,向/从区组添加/移除一个或多个区,形成绑定或合并的播放器,将一个或多个回放设备从绑定或合并的播放器分离,以及其他改变。可以在下面参考图1J至图1N找到区和组的附加描述。
用户接口133被配置成接收用户输入,并且可以促进对MPS 100的控制。用户接口133包括媒体内容艺术133a(例如,专辑艺术、歌词、视频)、回放状态指示符133b(例如,经过和/或剩余时间指示符)、媒体内容信息区域133c、回放控制区域133d和区指示符133e。媒体内容信息区域133c可以包括关于当前播放的媒体内容和/或队列或播放列表中的媒体内容的相关信息(例如,标题、艺术家、专辑、流派、发行年份)的显示。回放控制区域133d可以包括可选择的(例如,经由触摸输入和/或经由光标或另一个合适的选择器)图标,以使所选回放区或区组中的一个或多个回放设备执行回放动作,诸如例如,播放或暂停、快进、倒带、跳到下一个、跳到上一个、进入/退出无序播放模式、进入/退出重复模式、进入/退出无缝播放模式等。回放控制区域133d还可以包括可选图标,以修改均衡设置、回放音量和/或其他合适的回放动作。在所示实施例中,用户接口133包括呈现在智能手机(例如,iPhoneTM、Android手机等)的触摸屏界面上的显示。然而,在一些实施例中,不同格式、风格和交互序列的用户接口可以备选地在一个或多个网络设备上实现,以提供对媒体回放系统的可比较的控制访问。图1T示出了用户接口133的两个附加示例用户接口显示133f和133g。其他示例也是可能的。
一个或多个扬声器134(例如,一个或多个换能器)可以被配置成向控制设备130a的用户输出声音。在一些实施例中,一个或多个扬声器包括被配置成相应地输出低频、中频和/或高频的各个换能器。在一些方面,例如,控制设备130a被配置成回放设备(例如,回放设备110中的一个)。类似地,在一些实施例中,控制设备130a被配置成经由一个或多个麦克风135接收语音命令和其他声音的NMD(例如,NMD 120中的一个)。
一个或多个麦克风135可以包括例如一个或多个电容式麦克风、驻极体电容式麦克风、动态麦克风和/或其他合适类型的麦克风或换能器。在一些实施例中,麦克风135中的两个或更多个被布置成捕获音频源(例如,语音、可听声音)的位置信息和/或被配置成促进背景噪声的过滤。此外,在某些实施例中,控制设备130a被配置成作为回放设备和NMD来操作。然而,在其他实施例中,控制设备130a省略了一个或多个扬声器134和/或一个或多个麦克风135。例如,控制设备130a可以包括设备(例如,恒温器、IoT设备、联网设备等),包括电子器件132和用户接口133(例如,触摸屏)的一部分,没有任何扬声器或麦克风。
e.合适的回放设备配置
图1J、图1K、图1L、图1M和图1N示出了区和区组中的回放设备的示例配置。首先参考图1N,在一个示例中,单个回放设备可以属于一个区。例如,次卧101c(图1A)中的回放设备110g可以属于区C。在下面描述的一些实现方式中,多个回放设备可以被“绑定”以形成一起形成单个区的“绑定对”。例如,回放设备1101(例如,左回放设备)可以被绑定到回放设备110m(例如,右回放设备)以形成区B。绑定的回放设备可以具有不同的回放职责(例如,通道职责),如将在下面进一步更详细描述的。在其他实现方式中,多个回放设备可以被合并以形成单个区。作为一个示例,回放设备110a可以被绑定到回放设备110n和NMD 120c以形成区A。作为另一个示例,回放设备110h(例如,前端回放设备)可以与回放设备110i(例如,低音炮)以及回放设备110j和110k(例如,分别是左环绕扬声器和右环绕扬声器)合并以形成单个区D。在又其他实现方式中,一个或多个回放区可以被合并以形成区组(本文也可以称为合并组)。作为一个示例,回放区区A和区B可以合并以形成区组108a。作为另一个示例,回放区区G和区H可以合并以形成区组108b。合并的回放区区G和区H可以不被具体分配不同的回放职责。也就是说,合并的回放区区G和区H除了同步播放音频内容之外,还可以各自播放音频内容,就像它们没有被合并并且作为独立的区操作一样。
MPS 100中的每个区可以被表示为单个用户接口(UI)实体用于控制。例如,区A可以表示为名为“主浴室”的单个实体。区B可以被表示为名为主卧的单个实体。区C可以表示为名为次卧的单个实体。
在一些实现方式中,如上所述,被绑定的回放设备可以具有不同的回放职责,诸如对某些音频声道的职责。例如,如图1J中所示,回放设备110l和110m可以被合并,以便产生或增强音频内容的立体声效果。在该示例中,回放设备1101可以被配置成播放左声道音频分量,而回放设备110k可以被配置成播放右声道音频分量。在一些实现方式中,这种立体声绑定可以被称为“配对”。
此外,绑定的回放设备可以具有附加的和/或不同的相应扬声器驱动器。如图1K中所示,名为前端的回放设备110h可以与名为低音炮的回放设备110i绑定。前端设备110h可以被配置成呈现中频到高频的范围,而低音炮设备110i可以被配置成呈现低频。然而,当未绑定时,前端设备110h可以被配置成呈现全范围的频率。作为另一个示例,图1L示出了分别进一步与左回放设备110j和右回放设备110k绑定的前端设备110h和低音炮设备110i。在一些实现方式中,左设备110j和右设备110k可以被配置成形成家庭影院系统的环绕或“卫星”声道。绑定的回放设备110h、110i、110j和110k可以形成单个区D(图1N)。
在其他实现方式中,被合并的回放设备可能没有被分配回放职责,并且每个回放设备可以呈现相应回放设备能够呈现的全部范围的音频内容。然而,合并的设备可以被表示为单个UI实体(即,如上所述的区)。例如,主浴室中的回放设备110a和110n具有区A的单个UI实体。在一个实施例中,回放设备110a和110n可以同步地各自输出各自的回放设备110a和110n能够输出的全部范围的音频内容。
在一些实施例中,NMD可以与一个或多个其他设备绑定或合并,以便形成一个区。作为一个示例,NMD 120c可以与回放设备110a和110n合并以形成区A。作为另一个示例,NMD120b可以与回放设备110e绑定,它们一起形成区F,名为起居室。在其他实施例中,独立的网络麦克风设备可以本身在一个区中。然而,在其他实施例中,独立的网络麦克风设备可以不与区相关联。关于将网络麦克风设备和回放设备关联为指定或默认设备的附加细节可以在例如先前引用的美国专利第10,499,146号中找到。
如上所述,在一些实现方式中,各个绑定的和/或合并的设备的区可以被分组在一起以形成区组。例如,参考图1N,区A可以与区B分组在一起以形成包括两个区的区组108a,并且区G可以与区H分组在一起以形成区组108b。然而,其他区分组也是可能的。例如,区A可以与一个或多个其他区C-I分组在一起。区A-I可以以多种方式分组在一起和取消分组。例如,三个、四个、五个或更多个(例如,全部)区A-I可以在任何给定时间被分组。如前面引用的美国专利第8,234,395号所述,当分组在一起时,各个和/或绑定的回放设备的区可以彼此同步地回放音频。回放设备可以被动态分组或取消分组,以形成同步回放音频内容的新的或不同的组。
在各种实现方式中,环境中的区组可以根据组内区的名称或区组内区的名称的组合来命名。例如,区组108b可以被分配一个名称,诸如“餐厅+厨房”,如图1N中所示。在其他实现方式中,区组可以被赋予由用户选择的唯一名称。
某些数据可以作为一个或多个状态变量存储在回放设备的存储器(例如,图1C的存储器112b)中,这些状态变量被周期性地更新并且用于描述回放区、回放设备和/或与其相关联的区组的状态。存储器还可以包括与媒体系统的其他设备的状态相关联的数据,并且不时地在设备之间共享,使得设备中的一个或多个具有与系统相关联的最新数据。
在一些实施例中,存储器可以存储与状态相关联的各种变量类型的实例。变量实例可以与对应于类型的标识符(例如标签)一起存储。例如,某些标识符可以是第一类型“a1”来标识一个区的回放设备,第二类型“b1”来标识可以绑定在该区中的回放设备,以及第三类型“c1”来标识该区可能属于的区组。作为相关示例,与次卧101c相关联的标识符可以指示(i)回放设备110g是区C的唯一回放设备,以及(ii)区C不在区组中。与书房101d相关联的标识符可以指示书房101d没有与其他区分组在一起,但是包括绑定的回放设备110h-110k。与餐厅101g相关联的标识符可以指示餐厅101g是餐厅+厨房区组108b的一部分,并且设备110d和110b(厨房101h)被分组在一起(图1M、图1N)。由于厨房101h是餐厅+厨房区组108b的一部分,与厨房101h相关联的标识符可以指示相同或相似的信息。其他示例区变量和标识符描述如下。
在又一个示例中,MPS 100可以包括表示区和区组的其他关联的变量或标识符,诸如与区域相关联的标识符,如图1N中所示。一个区域可能包含区组的集群和/或不在区组内的区。例如,图1N示出了包括区A-D的上部区域109a,以及包括区E-I的下部区域109b。在一个方面,区域可以用于调用区组和/或区的集群,其共享另一集群的一个或多个区和/或区组。另一方面,这不同于不与另一个区组共享区的区组。例如,在2017年8月21日提交、2020年7月14日发布、标题为《基于名称的房间关联》(Room Association Based on Name)的美国专利第10,712,997号和2007年9月11日提交、2013年7月9日发布、标题为《控制和操纵多区媒体系统中的分组》(Controlling and manipulating groupings in a multi-zonemedia system)的美国专利第8,483,853号中可以找到用于实现区域的技术的进一步示例。这些申请中的每一个的整体通过引用方式并入本文中。在一些实施例中,MPS 100可以不实现区域,在这种情况下,系统可以不存储与区域相关联的变量。
图3示出了回放设备110的示例壳体330,其包括在壳体330的顶部334的控制区域332形式的用户接口。控制区域332包括用于控制音频回放、音量水平和其他功能的按钮336a、336b和336c。控制区域332还包括按钮336d,用于将回放设备110的一个或多个麦克风(图3中不可见)切换到开状态或关状态。控制区域332至少部分地被形成在壳体330的顶部334中的孔包围,麦克风通过这些孔接收回放设备110的环境中的声音。麦克风可以沿着顶部334或壳体330的其他区域和/或在顶部334或其他区域内布置在各种位置处,以便检测来自相对于回放设备110的一个或多个方向的声音。
f.音频内容
音频内容可以是现在已知或以后开发的任何类型的音频内容。例如,在一些实施例中,音频内容包括以下中的任何一个或多个:(i)从诸如Spotify、Pandora的流媒体服务或其他流媒体服务获得的流媒体音乐或其他音频;(ii)来自本地音乐库的流式传输音乐或其他音频,诸如存储在用户的膝上型计算机、台式计算机、智能手机、平板电脑、家庭服务器或现在已知或以后开发的其他计算设备上的音乐库;(iii)与视频内容相关联的音频内容,诸如与从电视机、机顶盒、数字视频记录器、数字视频盘播放器、流视频服务或现在已知或以后开发的视听媒体内容的任何其他源中的任何一个接收的电视节目或电影相关联的音频;(iv)来自语音助理服务(VAS)的文本到话音或其他可听内容,诸如Amazon Alexa、Google Assistant或现在已知或以后开发的其他VAS服务;(v)来自门铃或内部通信系统的音频内容,诸如Nest、Ring或现在已知或以后开发的其他门铃或内部通信系统;和/或(vi)来自电话、视频电话、视频/电话会议系统或被配置成允许用户经由音频和/或视频彼此通信的其他应用的音频内容。
在操作中,“源”回放设备经由回放设备上的接口从音频源获得任何前述类型的音频内容,所述接口例如是源回放设备的网络接口、“线路输入”模拟接口、数字音频接口或适于接收现在已知或以后开发的数字或模拟格式的音频内容的任何其他接口中的一个。
音频源是生成、提供或以其他方式使任何前述音频内容对回放设备可用的任何系统、设备或应用。例如,在一些实施例中,音频源包括流媒体(音频、视频)服务、数字媒体服务器或其他计算系统、VAS服务、电视机、有线机顶盒、流媒体播放器(例如,AppleTV、Roku、游戏控制台)、CD/DVD播放器、门铃、内部通信系统、电话、平板电脑或任何其他数字音频内容源中的任何一个或多个。
从音频源接收或以其他方式获得音频内容用于回放和/或分发给其他回放设备的回放设备在本文可以被称为“源”回放设备、“主”回放设备、“组协调器”回放设备或简称为“组协调器”。“源”回放设备的一个功能是处理接收到的音频内容,用于回放和/或分发给其他回放设备。在一些实施例中,源回放设备将经处理的音频内容发送给被配置成播放音频内容的所有回放设备。在其他实施例中,源回放设备将经处理的音频内容发送给多播网络地址,并且被配置成播放音频内容的所有其他回放设备经由该多播地址接收音频内容。在又其他实施例中,源回放设备备选地将经处理的音频内容发送给被配置成播放音频内容的每个其他回放设备的相应单播网络地址,并且被配置成播放音频内容的每个其他回放设备经由其相应单播地址接收音频内容。
III.内容质量增强的示例技术
如上所述,常规自适应流技术不足以解决现代网络(例如,典型的家庭网络,如无线局域网(WLAN))中的高清晰度(HD)音频流呈现的挑战。随着互联网连接速度越来越高的趋势(例如,下载速度超过每秒1,000兆位(Mbps)的家庭光纤互联网的可用性增加,下载速度超过600Mbps的5G智能手机的可用性),流式传输设备与云服务器之间的连接质量不再是影响回放可靠性的唯一因素。一个新的(并且正在增长的)问题领域涉及局域网带宽的限制(例如,而不仅仅是广域网带宽)。在家庭背景中,越来越多的流量通过家庭的本地网络设备(例如,接入点、路由器等)来适应不断增长的连接到网络的设备数量(例如,物联网(IoT)设备、平板电脑、智能手机、用于软件更新的汽车等)。
在涉及回放较高质量的音频流(例如,HD音频)和/或在局域网内被分组用于同步回放的多个回放设备的场景中,这种带宽需求会加剧。在具有多个分组播放器的此类情况下,如上所述,给定的音频内容可能需要多次通过本地联网设备。为了说明,图4描绘了在本地网络上运行的同步组的检测到的掉线事件的示例图表400,其按组大小组织。随着同步组中回放设备数量的增加,随着音频内容通过本地联网设备发送给同步组的每个回放设备,带宽使用激增,本地网络流量变得更加拥塞。因此,掉线事件的可能性增加,这是不可取的。如示例图表400中所示,当同步组的大小超过三个回放设备时,掉线率显著增加。具体地,掉线率从具有三个回放设备的组大小的每小时大约30次掉线增加到具有四个回放设备的组大小的每小时大约180次掉线。随着组大小的增加,掉线率继续增加,相对于具有1至3个回放设备的同步组,具有多于3个回放设备的同步组中掉线的频率显著更高。
在先前创新的基础上,SONOS公司已经继续开发用于提高回放可靠性并且支持较高质量的音频内容的回放的新技术。本文公开的技术涉及基于各种因素对音频流质量进行动态修改,这些因素包括:(1)网络特性(例如,本地网络特性),(2)回放设备特性(例如,回放设备呈现内容的相应能力),以及(3)分组用于同步音频回放的一组回放设备的特性(例如,组中播放器的数量)。因此,音频流的质量可以基于这些(和其他)因素被动态地修改,以确保在各种操作条件下音频的可靠回放。
为了提供高质量的音频体验,可能希望回放组的每个回放设备回放可用于回放的给定音频内容的最高质量版本。然而,因为回放组的回放设备可能具有不同的能力,所以不是该组中的每个回放设备都能够回放最高质量的版本。不同的能力可以与一个或多个单独的设备特性、一个或多个网络连接特性,或者一个或多个组特性以及其他可能性相关,这将在下面进一步详细解释。试图回放超出回放设备能力的音频内容版本可能会导致同步回放中断、掉线或其他音频延迟和/或网络中断,从而降低音频体验并且导致用户沮丧。在一些情况下,如将在下面进一步详细解释的,给定组成员的能力可能在回放过程中波动。在此类情况下,给定组成员可以从播放给定音频内容的一个版本转换到给定音频内容的另一个版本,以便降低回放中断的可能性或者增强回放体验。
如上所述,本文公开了用于动态调整音频内容以增强音频回放的各种技术。本文描述的实施例可以包括基于以下来自适应地增强音频回放:(i)被分组用于音频内容的同步回放的至少两个回放设备被配置成通过其进行通信的局域网的一个或多个网络特性,(ii)可以回放音频内容的一个或多个回放设备的一个或多个设备特性,包括同步组中每个回放设备的相应回放能力,和/或(iii)回放组的一个或多个组特性,该回放组包括被分组用于音频内容的同步回放的至少两个回放设备。在这方面,将会理解,如本文所讨论的增强音频内容的回放的可靠性在一些情况下可能涉及给定音频内容的较低质量版本的回放,以便降低回放中断的可能性。此外,本文描述的实施例可以涉及基于一个或多个特性(包括但不限于以上标识的那些特性)对音频内容进行代码转换,用于由回放组中的一个或多个回放设备回放。此外,本文描述的实施例可以包括基于一个或多个特性(包括但不限于以上标识的那些特性)在回放组内创建回放设备的子组。此外,本文描述的实施例可以包括基于一个或多个特性(包括但不限于上述特性)选择特定的回放设备来充当组协调器。此外,本文描述的实施例可以包括基于一个或多个特性(包括但不限于上述特性)对音频内容进行解密和重新加密。
在一些实现方式中,可以基于回放能力来标识用于回放的音频内容的单个版本,并且所有组成员可以同步回放音频内容的相同版本。在其他实现方式中,可以基于组成员的相应回放能力来标识音频内容的两个或更多版本,并且每个组成员回放设备可以基于该组成员各自的能力来回放音频内容的给定版本。因此,被选择用于分组回放的音频流的质量可以动态地适应于在各种操作条件下增加音频回放的可靠性,包括被分组用于同步回放的一个或多个回放设备具有不同和/或波动的回放能力的条件。每个组成员回放设备然后可以基于组成员各自的能力回放给定版本。在这方面,给定版本可以是组成员能够在给定时间回放的给定音频内容的最高质量版本。以这种方式,在同步回放期间的任何给定时间,每个组成员可以根据其各自的能力回放给定音频内容的最高质量版本。其他实现方式也是可能的,这将在下面进一步讨论。
a.示例回放组
在包括至少两个回放设备的回放组中,所述至少两个回放设备被分组用于音频内容的同步回放,至少一个回放设备可以充当组协调器,并且该组的其他回放设备可以充当组成员。回放组可以是本地媒体回放系统的一部分,其中组协调器和组成员中的每一个被配置成通过由一个或多个本地网络设备(例如,WIFI路由器)提供的本地数据网络(例如,无线局域网)进行协调和/或通信。
图5描绘了本地媒体回放系统500的示例配置,其可以类似于图1A至图1B中所示的MPS 100。在图5所示的本地MPS 500中,回放设备510、512和514中的每一个可以是回放组504(本文也称为“同步组”)的一部分,使得回放设备510、512和514被分组在一起用于音频内容的同步回放,并且被配置成通过无线局域网501进行协调和/或通信。本地网络501可以由本地网络设备提供,诸如无线路由器503,其可以类似于图1B的路由器109。回放设备510可以充当组协调器,并且回放设备512和514可以充当组成员。在接下来的示例中,回放设备510通常将被称为组协调器,但应该理解,回放设备512或514或者图5中未示出的MPS 500的任何其他回放设备中的任何一个在其他实施例中可以充当组协调器。此外,尽管MPS 500的同步组仅示出了与组协调器510分组在一起的两个附加组成员512和514用于同步回放,但是应当理解,该组中可以包括任意数量的回放设备。
作为组协调器,回放设备510通常可以负责各种任务,包括但不限于:标识供回放组的组成员回放的音频内容,向一个或多个组成员发送标识的音频内容和回放定时信息,监测一个或多个组成员的设备特性,监测与网络设备和一个或多个组成员相关联的网络特性,监测组特性,基于一个或多个特性的变化动态地修改用于回放的音频内容,在分组回放会话的整个过程中收集和/或存储特性,以及将收集和/或存储的特性提供给远程计算设备,该远程计算设备被配置成从多个媒体回放系统的多个回放设备接收特性数据。下面将更详细地描述MPS 500的设备之间的各种动作和交互。
b.标识音频内容
被标识用于回放的音频内容通常可以采取音轨、口语单词内容(例如,播客、社交音频流、体育广播等)、生成音频和/或伴随视频内容的音频内容等的形式。回放设备通常可以访问许多媒体内容源,诸如音频和视频流服务、内容库和本地设备存储装置,以及其他示例。回放设备可用的许多源可以提供相同音频内容的多个版本,诸如特定艺术家的特定歌曲的多个版本,或者伴随视频内容(诸如电影)的音轨的多个版本。给定音频内容的不同版本的音频特性可以不同,包括比特率、采样率、比特深度和/或输出声道的数量等。例如,给定音频内容的第一版本可以具有第一比特深度、采样率和/或音频输出声道的数量,而给定音频内容的第二版本可以具有第二比特深度、采样率和/或音频输出声道的数量。
通常,一个或多个此类音频特性的值可以指示给定音频内容的质量水平。例如,包括每秒3,000千比特(kbps)的比特率、96kHz和352.8kHz之间的采样率以及24比特的比特深度的音频特性通常可以指示相对较高质量的音频内容。包括介于1,000kbps和320kbps或160kbps之间的比特率、44.1kHz之间的采样率和16比特的比特深度的音频特性通常可以指示相对中等或较低质量的音频内容。作为一个示例,回放设备可以标识包括音频内容的高质量版本的第一版本和包括音频内容的中等质量版本的第二版本。作为另一个示例,回放设备可以标识包括音频内容的中等质量版本的第一版本和包括音频内容的较低质量版本的第二版本。作为又一个示例,回放设备可以标识两个中等质量版本,其中第一中等质量版本比第二中等质量版本质量更高。其他示例也是可能的。
音频内容的多个版本可以从单个媒体内容源或者从多于一个媒体内容源获得。例如,音频内容的第一版本可以从第一媒体内容源获得,而音频内容的第二版本可以从第一媒体内容源或第二媒体内容源获得。此外,音频内容的第三版本可以从第一或第二源中的一个或两者或者从第三媒体内容源获得。
如前所述,作为组协调器,回放设备510可以负责标识由回放组504回放的音频内容。实际上,标识用于回放的音频内容的过程可以通过检测(经由MPS 500的回放设备510的一个或多个麦克风)或者通过接收(经由被配置成与回放设备510通信的MPS 500的控制器设备)与回放组504的其他组成员(例如,回放设备512和514)同步回放音频内容的命令来触发。基于检测到或接收到回放音频内容的命令,作为组协调器的回放设备510可以标识音频内容的一个或多个版本。
例如,如上所述,组回放设备510可以标识音频内容的第一版本和第二版本。由回放设备510标识的音频内容的第一版本和第二版本可以各自采取可以由回放设备510和/或回放组的一个或多个组成员回放设备回放的音频内容的形式。回放设备510可以从一个或多个媒体内容源接收音频内容的第一版本和第二版本,该媒体内容源可以是可以向回放设备510提供内容的现在已知或以后开发的任何媒体内容源,包括基于云的源、媒体回放系统的本地设备或媒体回放系统的控制设备(例如,图1A的控制设备130中的一个)。作为一个示例,媒体内容源可以包括远程MCS 502a,其可以是经由互联网提供包括音频内容的媒体的基于互联网的流媒体源,其示例可以包括服务供应商,如Sonos HD Radio、Spotify、AppleMusic或YouTube Music。作为另一示例,媒体内容源可以包括本地MCS 502b,其可以是直接向回放组504的一个或多个回放设备提供音频内容的网络连接的源。例如,MCS 502b可以是线路输入/线路输出内容源,诸如电视机、媒体播放器或媒体回放系统的其他计算设备,其具有到回放组504的一个或多个回放设备的有线连接,并且被配置成经由有线连接提供音频内容。其他示例也是可能的。
由回放设备510标识的音频内容的第一版本和第二版本可以采取各种形式。作为一个示例,音频内容的第一版本和第二版本中的每一个都可以采取音轨的形式。作为另一个示例,音频内容的第一版本和第二版本中的每一个都可以采取有声读物的形式。作为又一个示例,音频内容的第一版本和第二版本中的每一个都可以采取播客的形式。此外,音频内容的第一版本和第二版本中的每一个都可以采取伴随视频内容的音频内容的形式。例如,虽然未示出,但是媒体回放系统500可以与家庭影院系统集成(类似于上面参考图1L讨论的家庭影院配置),并且由组协调器标识的音频内容的第一版本和第二版本中的每一个都可以是对应于在媒体回放系统500内的电视上播放的电影、电视节目、音乐视频或其他视频内容的音轨版本。类似地,诸如控制设备130a的控制设备可以包括显示器,该显示器能够与媒体回放系统500的同步组正在回放的音频内容同步地播放视频内容。在此类情况下,音频内容的第一版本和第二版本可以从产生视频内容的相同源接收(例如,本地连接的设备,诸如有线电视盒、卫星调谐器、DVD播放器、蓝光播放器、游戏控制台或者也发送对应于视频流的音频的基于互联网的视频流服务等)。存在许多其他可能性。
回放设备510可以以各种方式标识音频内容的第一版本和第二版本。作为一种可能性,回放设备510可以接收统一资源标识符(URI)、统一资源定位符(URL)或指向音频内容的第一版本和/或第二版本的某种其他指针,作为回放来自给定源的音频内容的命令的一部分。作为另一种可能性,音频内容的第一版本和/或第二版本可以由被配置成与MPS 500通信的计算设备“推送”(例如,发送)给回放设备510,并且回放设备510可以基于除了发送的音频内容之外接收的元数据来标识音频内容的第一版本和/或第二版本。在标识音频内容的第一版本和/或第二版本的元数据不可获得的一些实现方式中,回放设备510可以对音频内容的第一版本和/或第二版本进行采样,并且使用音频识别算法来标识它,以确定它实际上是否是要回放的音频内容的版本。
一般而言,当标识音频内容的不同版本时,作为组协调器的回放设备510可以优先考虑质量。因此,组协调器通常可以尝试标识可用的音频内容的最高可用质量版本。例如,如果诸如媒体流服务的MCS提供多于一个版本的音频内容,包括较高质量版本和较低质量版本,则组协调器可以将较高质量版本标识为第一版本,将较低质量版本标识为第二版本。
c.评估特性
作为组协调器的回放设备510可以确定包括其自身在内的每个组成员应该回放哪个版本的音频内容。为了做出该确定,回放设备510可以标识可能影响音频回放的一个或多个特性,诸如网络特性、组成员回放设备特性和/或回放组特性。该标识可以发生在标识音频内容的第一版本和第二版本之前和/或之后,并且可以用于通知由回放设备510做出的关于哪些组成员应该回放音频内容的哪个版本的确定。
可以由组协调器标识的一种类型的特性可以是网络特性。回放设备510可以标识同步组中每个回放设备的一个或多个网络特性,包括回放设备510本身。一般而言,网络特性可以是与组协调器、其他组成员或组成员被配置成通过局域网(例如,WLAN 501)与其通信的网络设备(例如,WIFI路由器503)中的一个或多个相关联的特性。例如,网络特性可以是给定组成员(包括组协调器)与网络设备之间的连接质量。
回放设备与网络设备之间的连接质量可以用各种方式来标识。作为一种可能性,回放设备与网络设备之间的连接质量可以基于对回放设备的带宽消耗的评估来标识。作为另一种可能性,回放设备与网络设备之间的连接质量可以基于对与回放设备与网络设备之间的连接相关联的当前等待时间的评估来标识。在一些实现方式中,组协调器可以向每个组成员发出一个或多个测试包,以便标识每个组成员与网络设备的相应连接的相应质量。连接质量可能受到各种因素的影响,包括例如给定回放设备的回放能力,或者分组用于同步回放的回放设备的总数。将在下面更详细地讨论这些因素。
在一些实现方式中,在音频内容的分组回放期间,组协调器可以以各种间隔(例如,以规则的间隔或不定期的间隔)监测网络特性。例如,组协调器可以向每个组成员发送通知(例如,命令或请求)以返回每个组成员各自连接质量的指示。在其他实现方式中,每个组成员可以独立地向组协调器发送其各自连接质量的指示。组成员可以基于检测到或以另外方式接收到与组协调器同步回放音频内容的命令来发送指示。附加地或备选地,组成员可以基于检测到他们已经被分组在一起用于同步回放来发送指示。此外,组成员可以附加地或备选地在整个分组回放中周期性地发送指示。此外,一个或多个组成员可以附加地或备选地在检测到音频特性的变化时发送指示。其他示例也是可能的。
以上述方式,可以在同步组回放的整个过程中监测组成员的连接质量。组协调器可以在任何给定时间利用关于一个或多个网络连接质量的信息来确定将由回放组的给定成员回放的音频内容的适当版本。
可以由组协调器标识的可能影响音频回放的另一种类型的特性是回放设备特性。组协调器可以标识每个组成员的一个或多个设备特性。组协调器可以在不同的时间执行设备特性的评估,包括在如前所述的网络特性的评估之前、之后或与之相结合。在一些情况下,一个或多个网络特性的标识可以包括或可以基于一个或多个回放设备特性的评估,因为回放设备特性可以影响一个或多个网络特性。
回放设备特性可以采取各种形式。作为一种可能性,回放设备特性可以包括关于回放设备再现和/或回放音频内容的回放能力的信息。组成员的回放能力信息可以共同用于确定回放组要回放的音频内容的一个或多个版本。回放设备的回放能力信息可以采取各种形式。
在一个方面,回放能力信息可以指示关于回放设备能够回放的比特率、采样率和/或比特深度的信息。例如,给定回放设备的回放能力信息可以指示给定回放设备能够以给定的最大比特率、给定的最大采样率和/或给定的最大比特深度流式传输和/或回放音频内容。在另一方面,回放能力信息可以指示关于回放设备能够支持的一种或多种音频文件格式的信息。在这方面,一些音频文件格式和/或编解码器利用导致数据丢失和音频内容降级的压缩,并且通常对应于相对较低质量的音频内容。另一方面,其他文件格式(例如,杜比全景声)和/或编解码器(例如,杜比数字加、免费无损音频编解码器(FLAC)、苹果无损音频编码(ALAC)等)导致较少数据丢失,利用无损压缩,或者是未压缩的,并且通常对应于相对较高质量的音频内容。回放设备的回放能力信息可以指示回放设备能够支持给定最大数量的音频声道和/或给定的一组音频文件格式。例如,如果给定的回放设备能够处理较高质量的编解码器,则可以根据较高质量的编解码器编码的给定音频内容的第一版本可以被标识用于由给定的回放设备回放。另一方面,如果给定回放设备不能够处理较高质量的编解码器,则可以根据较低质量的编解码器编码的给定音频内容的第二版本可以被标识用于回放。
在一些情况下,在组协调器获得的音频内容的版本不适合一个或多个组成员的情况下(例如,没有合适的版本可用于检索),组协调器可以基于一个或多个组成员相应回放能力对音频内容的一个或多个附加版本进行代码转换,这将在下面进一步更详细地描述。
在又一方面,回放能力信息可以指示回放设备的计算能力,其可以包括例如回放设备的处理能力的指示、回放设备的功率规格的指示(例如,回放设备是电池供电还是非电池供电)、和/或回放设备的充电规格的指示(例如,回放设备的当前充电水平、回放设备的充电容量等)。
然而,在另一方面,回放能力信息可以指示回放设备是否能够处理加密的音频内容。如前所述,通常希望回放设备提供回放所请求的音频内容的高质量版本。为了满足这种对高质量媒体内容的广泛需求,流媒体供应商越来越多地提供HD和UHD音频内容。然而,因为这种HD和UHD音频内容拥有的音频质量通常优于在其他形式的媒体(例如,CD-ROM)中可获得的音频内容的质量,所以这种音频内容通常是媒体盗版的目标,这导致数字音乐权利人要求增加安全措施以防止盗版企图。作为响应,许多提供高质量的媒体内容流服务(例如,HD、UHD等)媒体内容已经开始实现数字版权管理(DRM)保护机制(例如,Widevine加密技术等)来加密由媒体内容服务提供的音频内容。此后,当回放设备向媒体内容服务请求音频内容时,音频内容(例如,经由HTTP上的动态自适应流式传输(DASH)等))以加密的形式发送给请求回放设备。回放设备然后可以使用从许可服务器获得的解密信息(例如,密钥、证书等)来解密音频内容以回放解密的音频内容。利用这些类型的加密方案来提供音频内容通常需要请求回放设备满足某些标准,诸如能够提供安全的引导环境,和/或具有一定级别的计算资源。因此,关于回放设备是否能够处理(例如,解密)加密的音频内容的信息可以用于促进标识回放设备能够回放的给定音频内容的适当版本。例如,如果给定的回放设备能够解密加密的音频内容,则可以标识给定音频内容的DRM加密版本,其通常可以对应于较高质量的音频内容,以供给定的回放设备回放。另一方面,如果给定回放设备不能解密加密的音频内容,则可以标识给定音频内容的未加密版本用于回放,该给定音频内容的未加密版本可能对应于相对较低质量的音频内容。用于解密和重新加密音频内容的技术将在下面更详细地讨论。
回放能力信息也可以包括其他类型的信息。
组协调器可以确定回放组的每个组成员的回放能力信息的方式可以采取各种形式。
作为一种可能性,组协调器可以通过向每个组成员发送消息(例如,命令或请求)以返回其相应回放能力的指示,来确定每个组成员相应回放能力。进而,每个组成员可以向组协调器发送其回放能力的指示,该指示可以包括上述一个或多个方面,诸如组成员的解密能力、组成员的解码能力、组成员的处理能力和/或组成员的充电能力,以及关于设备的回放能力的其他信息。
作为另一种可能性,每个组成员可以向组协调器发送其相应回放能力的指示,而无需组协调器提示这样做。组成员可以在不同时间发送其相应回放能力的指示。作为一个示例,组成员可以在加入包括组协调器的回放组时发送指示(例如,响应于从网络设备(诸如,控制设备(例如,用户设备)或组协调器)接收到命令,开始与组协调器同步回放音频内容)。作为另一个示例,组成员可以在其被分组以便与组协调器同步回放的整个时间内周期性地发送其相应回放能力的指示。在这方面,组成员可以在加入回放组时发送其回放能力的初始指示,并且此后周期性地发送一个或多个附加指示,这些附加指示指示在发送一个或多个附加指示中的每一个时组成员的回放能力。作为一些非限制性示例,组成员可以周期性地发送其回放能力的指示的时间可以包括预定的时间间隔(例如,每2分钟、每5分钟等),或者在每次检测到音频内容边界时(例如,在每个音轨的末端或末端附近等)。作为又一个示例,当组成员检测到其相应回放能力的变化时,该组成员可以发送指示。例如,组成员可以检测到它正在经历降低的网络连接性和/或降低的电池电量,并且可以向组协调器发送其更新的回放能力的指示。此后,如果组成员的网络连接性和/或电池电量改善,则它可以向组协调器发送其更新的回放能力的指示。
这样,可以在同步组回放的整个过程中监测组成员的回放能力,以适应回放能力的任何波动。组协调器然后可以利用关于一个或多个组成员的回放能力的更新信息来确定任何组成员的回放是否应该转换到音频内容的不同版本,这将在下面进一步更详细地讨论。
作为又一种可能性,组协调器可以通过从一个或多个其他设备检索关于组成员的信息来确定组成员相应回放能力。作为一个示例,一个或多个其他设备可以是网络设备,该网络设备与本地媒体回放系统通信地耦合,并且被配置成接收和存储关于本地媒体回放系统的每个回放设备的信息,包括关于每个回放设备相应回放能力的信息。网络设备可以是例如远程计算设备(例如,图1B中所示的计算设备106c中的一个),其被配置成收集多个媒体回放系统的回放设备的回放设备信息,其中一个媒体回放系统可以是包括组协调器510以及组成员512和514的本地媒体回放系统500。远程计算设备可以以各种方式收集组成员512和514中的每一个的回放设备信息。作为一个示例,远程计算设备可以在每个组成员被初始设置和配置用于回放时收集回放设备信息。作为另一示例,远程计算设备可以以特定间隔周期性地从每个回放设备收集回放设备信息(例如,每天一次,每次回放设备接收到回放音频内容的命令时,每次回放设备改变组配置时等)。组协调器可以通过查询远程计算设备来检索关于组成员相应回放能力的信息。作为响应,如上所述,远程计算设备可以基于由远程计算设备存储的回放设备信息(例如,先前从组成员收集的信息)或者可由远程计算设备以其他方式访问的回放设备信息(例如,基于来自组成员的请求信息)来提供关于组成员的回放能力的信息。在远程计算设备具有收集的关于组成员的可用信息的情况下,远程计算设备可以向组协调器提供组成员的最近回放能力信息。在一些情况下,远程计算设备可能没有关于该组成员的最近(或任何)信息。在此类情况下,远程计算设备可以首先向组成员请求当前回放能力信息,然后将该回放能力信息提供给组协调器。备选地,远程计算设备可以通知组协调器它不能提供该组成员的回放能力信息,在这种情况下,组协调器可以直接询问组成员。应当理解,网络设备也可以采取各种其他形式,作为一些非限制性示例,包括本地媒体回放系统500内的控制设备或另一回放设备。在一些示例中,例如,本地网络501中的网络设备(诸如路由器503)可以提供关于回放组504中的一个或多个回放设备的回放能力的信息。
作为另一示例,组协调器可以通过从与媒体内容服务502a相关联的远程计算设备(其可以类似于图1B中所示的计算设备106b中的一个)检索关于组成员的信息来确定组成员相应回放能力。远程计算设备可以访问跨不同媒体回放系统的各种类别的回放设备的通用回放能力信息,并且可以使用该信息来确定各个组成员关于可从MCS 502a获得的媒体内容类型的能力。回放设备可以由远程计算设备以各种方式来分类,诸如通过品牌/型号信息、操作系统信息和/或序列号以及其他可能性。因此,远程计算设备可以基于由组协调器提供的关于每个组成员的标识信息(例如,型号和序列号等)确定每个组成员的相应回放能力,并且将确定的相应回放能力的指示发送给组协调器。其他示例也是可能的。
除了上述之外,组协调器可以存储关于其自身回放能力的信息。因此,如果组协调器接收到加入回放组或与一个或多个其他回放设备形成新的回放组以进行同步组回放的命令,则它可以向另一设备(例如,将充当组协调器的另一回放设备、远程计算设备等)提供其自身回放能力的指示,和/或如上所述确定每个其他回放设备的相应回放能力。
作为另一种可能性,回放设备特性可以包括关于回放设备的设备信息,其可以包括指示关于回放设备的制造和其他基于硬件的信息的序列号、型号类型、生产日期和/或可能已经在某一点被更新的基于软件的信息,诸如软件和/或固件版本,以及其他可能性。回放设备的这种设备信息可以对应于或指示回放设备的回放能力。例如,这样的设备信息可以指示回放设备能够处理的音频内容的质量水平。作为另一个示例,这样的设备信息可以指示回放设备是具有更复杂的硬件和软件的较新型号的设备,其能够处理相对较高质量的音频内容(例如,UHD内容)和/或更宽范围的音频格式,或者回放设备是具有不太复杂的硬件和软件的较旧型号的设备,其仅能够处理相对较低质量的音频内容(例如,HD内容)。基于该评估,回放设备510可以确定要由回放组的给定回放设备回放的音频内容的适当版本。
组协调器可以在不同的时间评估回放设备特性。在一些实现方式中,回放设备510作为组协调器,可以在回放组形成时评估一个或多个组成员的回放设备特性。例如,回放设备510可以由用户经由由MPS500的控制器设备(类似于图1A和图1H的控制器设备130a)显示的用户接口(类似于图1H的用户接口133)选择用于与一个或多个其他组成员的分组回放。回放设备510然后可以标识每个其他组成员的至少一个设备特性。基于该标识,回放设备510可以确定其他组成员中的两个以上具有不同的设备特性。例如,作为一个示例,诸如回放设备512的第一其他组成员可以是比诸如回放设备514的第二其他组成员具有较不复杂的回放能力的较旧型号的设备。作为另一示例,诸如回放设备512之类的一个组成员可以是便携式电池供电的回放设备,并且因此可以比诸如回放设备514之类的第二其他组成员具有更不稳定的网络连接和/或降低的功率容量,回放设备514可以是固定的回放设备。例如,当便携式回放设备512相对于路由器503移动时,其与本地网络501的连接可能受到影响,并且回放设备512可能无法与回放组同步地可靠地回放高质量音频内容,和/或可能经历可能不利地影响网络性能的带宽减少。其他示例也是可能的。
在此类情况下,回放设备510可以使控制器设备130a显示通知,告知用户期望的同步组包括具有不同回放能力的回放设备,因此,用户可能体验到较低质量的收听体验。在一些实现方式中,控制器设备130a可以独立地显示通知,而无需回放设备510提示。例如,控制器设备130a可以访问关于组成员510、512和514中的每一个的配置信息、回放设备特性或其他数据。在确定具有不同能力的回放设备已经被选择用于分组回放时,控制器设备130a可以显示如上所述的通知。在2021年11月15日提交的标题为《用于管理媒体回放系统的内容质量和相关特性的用户接口》(User Interface for Managing Content Quality andRelated Characteristics of a Media Playback System)的美国临时申请第63/279,492号中描述了关于在回放期间显示关于内容质量的信息的更多信息。
可以由组协调器标识的可能影响音频回放的又一类型的特性是回放组特性。作为组协调器的回放设备510可以标识回放组的一个或多个特性。回放设备510可以结合如上所述的网络特性和/或设备特性的评估来执行回放组特性的这种评估。在一些情况下,一个或多个网络特性的评估可以包括组特性的评估,因为组特性可以影响一个或多个网络特性。
回放组特性可以采取各种形式。作为一种可能性,回放组特性可以包括被分组用于同步回放的回放设备的总数。分组用于同步回放的回放设备的数量可能影响本地网络的整体带宽、等待时间、拥塞和/或其他性能度量,从而影响分组用于同步回放的一个或多个回放设备(例如,回放设备510、512、514)与本地网络设备(例如,WIFI路由器503)之间的连接质量,并且还影响整体网络性能。具体地,由于可用带宽的消耗和网络流量的增加,分组用于同步回放的回放设备的数量可能与网络性能质量成反比。
例如,随着被分组用于在给定时间同步回放流式音频的设备数量的增加,本地网络可能变得更加拥塞,因为设备数量的增加将消耗额外的带宽,这可能导致网络性能降低。例如,一个或多个数据包(例如,要由给定回放设备回放的一个或多个音频内容包)可能无法及时到达其目的地(例如,要播放一个或多个数据包的目的回放设备)。因此,目的回放设备可能经历掉线事件,并且不能可靠地与回放组同步回放音频内容,导致用户体验降低。在本地网络上发送高质量的音频内容(即,需要更大带宽的音频内容)可能进一步增大网络带宽的压力。
因此,组协调器回放设备可以评估当前被分组用于同步回放的所有设备的数量,以便确定是否已经超过设备的阈值数量。阈值数量可以对应于能够可靠地发送和/或流式传输高质量音频内容而不会不利地影响网络带宽、网络等待时间和/或网络吞吐量的设备的数量。可以用各种方式来确定阈值数量。
作为一个示例,阈值数量可以是预定义的数量,该数量可以在先前音频回放会话过程期间基于对与回放组的一个或多个组成员和/或网络设备相关联的历史回放数据的分析,以及与一个或多个组成员和/或网络设备相关联的一个或多个网络特性的状态而确定。历史回放数据可能已经由组协调器或另一组成员提供给与媒体回放系统相关联的远程计算设备(例如,如图1B中所示的基于云的计算设备106c)。例如,回放设备510作为组协调器,可以例行地在分组回放期间向远程计算设备提供关于网络特性的数据。远程计算设备然后可以基于网络设备和/或本地网络的历史回放数据和网络特性来确定可以流式传输高质量音频内容而不会经历显著增加的降低网络性能的风险的回放设备的最大数量。例如,远程计算设备可以确定多达三个回放设备可以被分组用于高质量音频内容的同步回放,而不会经历对网络性能的不利影响的显著风险,诸如降低的带宽、增加的等待时间和/或降低的吞吐量。在这样的示例中,阈值数量可以被定义为三,指示如果回放组504在任何给定时间包括多于三个组成员,则回放组504可能面临不能可靠地回放高质量音频内容的相对较高的风险。远程计算设备可以向媒体回放系统500的一个或多个回放设备(诸如组协调器回放设备510)提供确定的阈值数量,该组协调器回放设备可以将阈值数量存储在其本地存储器中。
此后,如果组协调器检测到回放组的组成员总数超过阈值数量(例如,如果第四组成员加入同步组),则组协调器可以确定要回放不同版本的音频内容,以便增加一致、可靠回放的可能性。例如,在检测到第四回放设备已经加入同步组504,从而超过可靠回放的阈值数量时,回放设备510可以确定同步组504的每个组成员(例如,回放设备510、512、514和第四回放设备)将回放音频内容的较低质量版本(例如,较低比特率、较低比特深度等),而不管组成员各自回放高质量音频内容的能力或当前网络特性。在这方面,如果音频内容的任何先前标识的版本基于组成员的数量包括过高的质量,则回放设备510可以标识音频内容的备选版本,该备选版本可以是比同步组回放的先前标识的版本质量更低的版本。
作为另一种可能性,回放组特性可以采取关于分组用于同步回放的回放设备的分组配置的信息的形式。例如,如上关于图1J至图1M所述,回放设备可以以各种方式配置用于同步回放(例如,立体声对、家庭影院/环绕声等),并且不同的配置可以对应于一个或多个组成员的不同回放责任和/或回放能力。例如,音频内容的第一多声道版本(例如,2.0)可能适合于立体声对配置(如图1J中所示),而音频内容的第二多声道版本(例如,5.1、6.1、7.2等)可能适合于环绕声配置(如图1K、图1L中所示)。因此,组协调器可以基于包括组配置信息的回放组特性来标识音频内容的不同版本。
在一些情况下,媒体回放系统的一个或多个计算设备(例如,一个或多个回放设备、一个或多个控制设备、一个或多个网络设备、诸如云服务器的一个或多个远程计算设备等)可以对收集的回放性能数据应用预测分析,以便确定音频内容的“最佳”推荐质量水平用于回放。预测分析可以采取各种形式。作为一种可能性,预测分析可以利用使用一种或多种机器学习技术训练的机器学习模型,包括但不限于:决策树、神经网络(例如,人工神经网络、卷积神经网络、递归神经网络、全连接神经网络、部分连接神经网络等)、回归模型、分类模型和/或聚类,以及其他可能性。
收集的回放性能数据可以是以各种方式收集的历史数据。作为一种可能性,收集的回放性能数据可以由媒体回放系统的一个或多个设备收集,诸如回放设备(例如,组协调器回放设备)、控制设备或被配置成与媒体回放系统通信的远程计算设备,如先前参考评估可能影响回放的特性所解释的。收集的回放性能数据也可以以其他方式收集。在一些情况下,被配置成收集回放性能数据的设备可以是被配置成构建和/或训练机器学习模型的同一设备。在其他情况下,构建、训练和/或执行机器学习模型的功能可以由一个以上的设备来执行。作为一些示例,收集的回放性能数据可以包括回放数据(例如,关于回放的内容的数据等)、网络性能数据(例如,关于网络特性的数据等)、回放设备数据(关于回放设备和各自回放性能的数据等)、回放组数据(例如,关于回放组大小的数据等)、或者媒体回放系统数据(例如,关于媒体回放系统的数据等)。
一般而言,机器学习模型可以用于(i)接收本文描述的可能影响回放的一个或多个特性作为输入,这些特性可以包括:网络特性(例如,网络连接质量、网络等待时间、网络带宽等)、回放设备特性(例如,回放能力信息、设备信息等)、回放组特性(例如,关于回放组大小的信息、关于回放组配置的信息等),以及其他可能性,并且(ii)输出要回放的音频内容的推荐质量水平。输出可以是可以可靠地回放的最高质量水平的音频内容。
在一些情况下,所利用的预测分析可以针对特定操作环境中的一组特定设备来定制,该特定操作环境可以与特定用户、家庭和/或企业相关联。例如,一组收集的回放性能数据可以指示当特定家庭内的三个或更多回放设备选择高质量音频内容进行同步回放时,音频掉线事件的发生显著增加。在这样的示例中,预测分析可以利用机器学习模型,该模型被训练成输出(基于包括例如回放组大小以及可能还有特定家庭的网络特性的输入)以下的推荐:中等质量音频内容最适合于由该特定家庭中的三个或更多回放设备进行可靠同步回放。
d.阈值标准
在如上所述标识一个或多个网络特性、组成员回放设备特性和/或回放组特性之后,作为组协调器的回放设备510可以确定标识的特性是否满足一组阈值标准中的至少一个标准。该组阈值标准可以包括用于各种特性的至少一个阈值标准,包括上述特性中的每一个。每个阈值标准可以表示相应标准的最小值,在一定质量水平的音频内容(例如,高质量音频内容)的流式传输和/或发送期间,可能需要该最小值来可靠地回放音频内容并且使对网络性能的中断最小化。
例如,回放设备510在其如上所述的网络特性评估中可能已经标识了(i)路由器503与回放设备510、(ii)路由器503与第一其他组成员回放设备(诸如回放设备512)以及(iii)路由器503与第二其他组成员回放设备(诸如回放设备514)之间的相应连接质量。回放设备510然后可以确定每个相应的连接质量是否满足该组阈值标准中的至少一个标准。
该组阈值标准可以包括连接质量阈值标准,该连接质量阈值标准对应于回放设备与网络设备之间的连接必须满足的最低质量水平,以便回放设备能够通过该连接可靠地回放和/或流式传输音频内容,而不会不利地影响网络性能。连接质量阈值标准可以包括带宽阈值、等待时间阈值、吞吐量阈值和/或无线信号强度阈值等中的一个或多个。在这方面,连接质量阈值标准可以是每个回放设备可以访问的一组预定标准。作为一个示例,该标准可以基于以保持稳定网络性能的方式流式传输平均质量音频内容的标准值。作为另一个示例,该标准可以基于由回放设备或另一个组成员执行的初始带宽和/或等待时间测试。作为又一个示例,阈值标准可以基于媒体回放系统的回放历史数据。作为又一示例,阈值标准的一些方面可以基于回放设备与本地网络设备的相应连接质量。
该组阈值标准也可以包括其他特性。作为一种可能性,该组阈值标准可以包括回放设备特性。例如,这种阈值标准可以包括阈值模型或阈值制造年份。这种阈值标准可以涉及回放设备的分组回放的回放能力。作为一个示例,某些较旧型号的回放设备可能不能流式传输高质量的音频内容。作为另一个示例,回放设备的某些较旧型号可能不具有用于音频内容的无线流式传输和/或与回放组同步回放音频内容的必要组件或能力。阈值设备特性标准可以帮助确保每个组成员回放设备具有参与同步回放的最低要求,以便提供(并且保持)无缝且相对高保真的回放体验。
作为另一种可能性,该组阈值标准可以包括回放组特性。例如,如上所述,这种阈值标准可以包括能够在不影响网络性能的情况下流式传输高质量音频内容的组成员的阈值数量。
基于确定所标识的特征是否满足至少一个阈值标准,组协调器可以确定每个组成员应该回放先前标识的音频内容版本中的哪一个。例如,回放设备510可以确定它自己的网络连接质量满足阈值网络连接质量标准。此外,回放设备510可以确定回放设备512的第一网络连接质量满足阈值网络连接质量标准。此外,回放设备510可以确定回放设备514的第二网络连接质量不满足阈值网络连接质量标准。
对于其各自标识的特性至少满足阈值标准的每个组成员,组协调器可以使组成员回放音频内容的第一版本。例如,基于确定回放设备510和回放设备512中的每一个的网络连接质量满足阈值网络连接质量标准,回放设备510可以(i)回放音频内容的第一版本,以及(ii)使回放设备512与回放设备510同步地回放音频内容的第一版本。
对于其所标识的特性不满足至少一个阈值标准的每个组成员,组协调器可以使组成员回放音频内容的第二版本。例如,基于确定回放设备514的网络连接质量不满足阈值网络连接质量标准,回放设备510可以使回放设备514与回放设备510和回放设备512对音频内容的第一版本的回放同步地回放音频内容的第二版本。音频内容的第二版本可能是比第一版本质量更低的版本。例如,第二版本可以包括比第一版本具有更低比特率、更低采样率、更低比特深度和/或更少音频声道输出的版本。因此,因为回放设备514的网络连接质量不满足阈值标准——指示该连接可能无法支持高质量音频内容的流式传输一—回放较低质量版本的音频内容可以使回放设备514能够参与同步分组回放,而不会不利地影响网络性能和整体用户收听体验。
在一些情况下,回放设备510的网络连接质量可能不满足阈值标准,并且回放设备510可以改为与回放设备514同步地回放音频内容的第二版本,并且使回放设备512与回放设备510和回放设备514对第二版本的回放同步地回放第一版本。
在一些实现方式中,组协调器可以在评估可能影响音频回放的一个或多个特性之后标识音频内容,这些特性包括网络特性、组成员回放设备特性和/或回放组特性,如上所述。例如,组协调器可以确定每个组成员相应回放能力,并且基于该确定,标识用于回放的音频内容的一个或多个版本。
在一些示例中,如果组协调器确定回放组包括“异构”回放能力,即回放组的两个或更多个成员具有不同的回放能力,则音频内容的单个版本可以被标识为由所有组成员同步回放。这在本文中被称为“最小公分母”方法,其中被标识用于同步回放的音频内容的单个版本是基于所有组成员共有的最复杂的回放能力。因此,在这种方法下,所标识的音频内容的版本可以对应于最不复杂的组成员能够回放的最高质量版本。例如,组协调器510可以确定(i)组协调器510能够回放的最高质量的音频内容是DRM加密的杜比数字加编码的UHD音频内容,(ii)组成员512能够回放的最高质量的音频内容是DRM加密的杜比数字加编码的UHD音频内容,以及(iii)组成员514能够回放的最高质量的音频内容是非DRM加密的常规多声道环绕声(例如,非杜比Atmos编码的内容)HD音频内容。因此,在最小公分母方法下,最终被标识用于回放的版本可以对应于所有组成员共有的最复杂的回放兼容性,在该示例中,该版本可以是可由组成员514回放的音频内容的非DRM加密的常规多声道HD版本。
在一些情况下,特定组成员的回放能力的一个或多个方面可以保证标识音频内容的较低质量版本,尽管该组成员具有回放较高质量音频内容的能力。例如,组协调器510可以确定组协调器510以及组成员512和514中的每一个都能够回放DRM加密的杜比数字加编码的UHD音频内容。然而,组成员514的相应回放能力可以指示组成员514(i)是电池操作的(例如,便携式)回放设备,(ii)没有连接到外部电源,以及(iii)具有低于全电池电力的阈值水平(例如,50%)的电池水平。因此,为了延长组成员514的电池寿命并且减少同步回放的中断,组协调器510可以标识用于同步回放的音频内容的较低质量版本,使得组成员514可以以比回放较高质量音频内容时更低的速率消耗电力。在一些实现方式中,在这些情况下标识的音频内容的较低质量版本可以是音频内容的第一版本,并且组协调器可以另外标识音频内容的第二较高质量版本,如果组成员514的回放能力提高或以其他方式改变,将会使用该版本。因此,组协调器可以最初向组成员512和514提供音频内容的第一版本,并且与组成员512和514同步回放音频内容的第一版本。此后,在组成员514的回放能力在同步回放过程中提高的情况下(例如,插入充电设备),组协调器可以向组成员512和514提供音频内容的第二版本,并且转换到与组成员512和514同步地回放音频内容的第二版本。从音频内容的第一版本的回放到音频内容的第二版本的转换将在下面进一步更详细地描述。
应注意,如将在下面更详细解释,可以在不同的时间执行对可能影响音频回放的特性的评估,包括组成员回放设备的回放能力,诸如在设备被分组用于同步回放时规律地(例如,以定时的间隔(例如,每2分钟),当检测到音频边界时(例如,在音轨的末尾,在新音轨的开头等),当检测到组特性的变化时(例如,设备离开组,设备加入组等),或者当检测到网络特性的变化时等),以及其他可能性。以这种方式,回放可以被动态地调适以考虑同步组的一个或多个成员的波动能力,使得能够在不同版本的音频内容之间无缝转换,同时降低用户感受到回放质量变化,以便保持高保真度和令人满意的用户收听体验。
e.获得音频内容
在已经确定了组成员的回放能力并且已经标识了音频内容的一个或多个版本之后,可以获得音频内容的一个或多个版本用于回放。获得音频内容的一个或多个版本可以采取各种形式。
在一些示例中,音频内容的版本可以由组协调器从一个或多个媒体内容服务获得。如上所述,组协调器可以通过确定每个组成员的相应回放能力来开始。基于相应回放能力,组协调器可以从媒体内容服务请求音频内容的给定版本。在一些实现方式中,组协调器可以从媒体内容服务接收音频内容的给定版本,然后组协调器可以将其与回放定时信息一起分发给每个组成员用于同步回放。备选地,在一些实现方式中,组协调器可以从媒体内容服务接收指针(例如,URI或URL等)用于检索音频内容的给定版本。组协调器然后可以使用指针来检索音频内容的给定版本,并且将音频内容的给定版本连同回放定时信息一起分发给每个组成员用于同步回放。仍备选地,在一些实现方式中,组协调器可以从媒体内容服务接收清单(或者指向清单的指针),该清单包括对应于音频内容的相应版本的多个指针。组协调器然后可以确定对应于音频内容的给定版本的指针,使用该指针检索音频内容的给定版本,并且将音频内容的给定版本连同回放定时信息一起分发给每个组成员用于同步回放。其他示例也是可能的。
在组协调器标识要由回放组回放的音频内容的多于一个版本的实现方式中,组协调器可以向媒体内容服务请求音频内容的每个标识的版本。如上所述,媒体内容服务然后可以向组协调器返回音频内容的每个版本、音频内容的每个版本的相应指针或者指针清单。在此类实现方式中,组协调器可以从多于一个的媒体内容服务请求音频内容的版本。例如,组协调器可以从第一媒体内容服务请求音频内容的第一版本,并且从第二媒体服务请求音频内容的第二版本。
在一些示例中,音频内容的版本可以由媒体内容服务基于由组协调器提供的回放能力信息来获得。组协调器可以通过如上所述确定每个组成员相应回放能力,然后向媒体内容服务发送确定的回放能力来开始。媒体内容服务然后可以基于由组协调器提供的回放能力信息来标识音频内容的一个或多个版本,并且将音频内容的标识版本提供给组协调器。如上所述,组协调器可以接收音频内容的版本。
在一些示例中,音频内容的版本可以由远程计算设备获得,该远程计算设备被配置成与回放组的本地媒体回放系统以及一个或多个媒体内容服务进行通信。例如,在远程计算设备被配置成收集包括回放能力信息的回放设备信息的实现方式中,远程计算设备可以基于回放组的相应回放能力从一个或多个媒体内容服务获得音频内容的一个或多个版本。远程计算设备然后可以向组协调器提供所获得的版本。接着,组协调器可以将获得的版本连同回放定时信息一起分发给组成员用于同步回放。
f.传输音频内容
使组成员回放音频内容的给定版本可以采取各种形式。作为一种可能性,组协调器可以在标识来自一个或多个媒体内容源的音频内容的不同版本时,从一个或多个媒体内容源检索音频内容的不同版本。作为一个示例,组协调器可以下载并且在本地存储器中临时存储检索到的音频内容版本。在如上所述确定每个组成员应该回放哪个版本之后,组协调器然后可以经由一个或多个数据包向每个组成员并发地或基本并发地发送将由相应组成员回放的音频内容的确定版本。例如,参考图5,回放设备510可以并发地或基本并发地(i)经由包括一个或多个数据包506a的第一音频内容流505a向组成员512发送音频内容的第一版本,以及(ii)经由包括一个或多个数据包506b的第二音频内容流505b向组成员514发送音频内容的第二版本。
每个音频内容流505a和505b还可以包括各自的回放定时信息507a和507b。回放定时信息507a和507b可以包括向相应组成员512和514指示一个或多个相应数据包506a和506b中的每一个应当被消耗(例如,输出)的定时和/或顺序的呈现时间戳,即,相应组成员应当在什么时间和/或以什么顺序回放数据包,以实现音频内容的同步回放。在这方面,在检索不同版本的音频内容之后,组协调器可以为音频内容的每个版本生成对应的数据包集合,以发送给一个或多个组成员。对于音频内容的给定部分,数据包集合可以包括针对音频内容的每个版本的相应数据包对。组协调器还可以为每对数据包生成对应的呈现时间戳。以这种方式,不管组成员接收到的音频内容的版本如何,每个组成员都可以与回放组的其他组成员同步地回放其各自的版本(基于每个接收到的数据包的呈现时间戳)。在一些实施例中,音频内容流505a和505b还可以包括各自的时钟定时信息508a和508b。在一些情况下,回放设备510可以使用回放定时信息507a和/或507b中的一个或两者以及时钟定时信息508a和/或508b中的一个或两者来与组成员512和514中的一个或两者同步地回放音频内容,如本文所述。关于同步回放的附加信息可以在2021年10月22日提交的标题为《用于实现媒体回放系统之间的互操作性的技术》(Techniques for Enabling Interoperabilitybetween Media Playback Systems)的美国专利申请第17/508,028号中找到,该申请整体通过引用方式并入本文中。
作为另一种可能性,组协调器可以向每个组成员发送包括指针(例如,URI或URL)的通知,该指针用于从给定媒体内容源独立检索音频内容的给定版本。该通知还可以包括定时信息,以便每个组成员与其他组成员同步回放其各自版本的音频内容。其他示例也是可能的。
g.检测特性的变化
当组成员同步回放音频内容时,组协调器可以检测一个或多个组成员先前标识的特性的变化。基于检测到的变化,组协调器可以使得一个或多个组成员从回放音频内容的一个版本转换为回放音频内容的不同版本。
组协调器可以检测各种类型特性的变化。作为一种可能性,组协调器可以检测一个或多个网络特性的变化。作为一个示例,组协调器可以检测网络特性的升级。例如,作为组协调器的回放设备510可以检测到回放设备514与网络设备之间的第二连接的质量已经提高,使得第二连接的质量满足阈值网络连接质量标准,指示回放设备514能够流式传输较高质量的音频内容,而不会不利地影响网络或回放性能。因此,回放设备510可以使回放设备514与回放设备510和回放设备512同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。作为另一个示例,组协调器可以检测网络特性的降级。例如,回放设备510可以检测到回放设备512与网络设备之间的第一连接的质量已经降级,使得第一连接的质量不再满足阈值网络连接质量标准,指示回放设备512不再能够在不对网络或回放性能造成不利影响的情况下流式传输音频内容的第一版本。因此,回放设备510可以使回放设备512与回放设备514对音频内容的第二版本的回放和回放设备510对音频内容的第一版本的回放同步地从回放音频内容的第一版本转换到回放音频内容的第二版本。
作为另一种可能性,组协调器可以检测一个或多个回放设备特性的变化。例如,组协调器可以在第一时间确定特定的组成员能够处理与较高质量音频内容相对应的第一编码方案。然而,组协调器可以在第二时间确定特定组成员当前正经历性能降低状况(例如,降低的处理能力、降低的电池等)。因此,组协调器可以确定组成员暂时不能处理第一编码方案,并且因此可以标识具有与较低质量音频内容相对应的第二编码方案的对应音频内容,至少直到组成员的回放能力提高为止。
组协调器也可以检测包括回放组特性在内的其他特性的变化。许多其他示例也是可能的。
组协调器可以以各种方式检测特性的变化。作为一种可能性,如上所述,作为监测一个或多个特性的结果,组协调器可以检测变化。例如,如上所述,组协调器可以周期性地向回放组的其他组成员发送测试包和/或向其他组成员请求关于一个或多个特性的状态的信息。作为另一种可能性,组协调器可以从一个或多个组成员接收组成员的相应特性已经改变的指示。基于该改变,组协调器可以使得组回放被调适。例如,在初始时间T1处,组协调器可能已经确定组协调器以及第一组成员和第二组成员中的每一个具有相应回放能力,使得每个回放设备能够回放相对较高质量的第一版本的音频内容。然后,组协调器可能已经获得了对应于回放组在初始时间T1的相应回放能力的音频内容的第一版本,用于同步回放。此后,当组协调器与第一组成员和第二组成员同步回放音频内容的第一版本时,组协调器可能已经通过周期性地接收每个组成员相应回放能力的指示(并且可能还生成其自身回放能力的内部指示)来继续监测组成员的回放能力,如前所述。基于在第二时间T2处确定的回放能力信息,组协调器可能已经确定一个或多个组成员的回放能力已经改变,使得一个或多个组成员不再能够回放音频内容的第一版本。例如,在时间T2处,给定组成员可能已经经历了降低的网络连接性或降低的电池电量(例如,剩余的电池电量小于50%、小于40%、小于30%、小于20%和/或小于10%),这对其相应回放能力产生了不利影响。因此,组协调器可能已经确定应当获得音频内容的第二相对较低质量的版本以供给定组成员回放。其他示例也是可能的。
作为另一种可能性,当包括组协调器的回放组的大小改变时(例如,当组成员离开组或者当新的组成员加入组时),组协调器可以检测特性的改变。例如,组协调器可以在新的组成员加入包括组协调器的回放组时检测回放能力的变化。如上所述,在组成员加入具有组协调器的回放组或者以其他方式接收与组协调器同步回放音频内容的命令时,组协调器可以接收组成员相应回放能力的指示(可能响应于来自组协调器的请求)。基于组成员的相应回放能力的指示,组协调器可以确定组成员的回放能力不同于组协调器(以及任何其他组成员)的回放能力,并且组成员因此不能处理回放组当前正在回放的音频内容的第一版本。该组成员可能由于各种原因中的任何一个而不能处理第一版本,这些原因包括之前讨论的原因,诸如组成员的解密和/或解码能力、处理能力和/或电池状态。因此,组协调器可以确定应当获得不同于第一版本的音频内容的第二版本。
在一些实现方式中,在确定新的组成员不能够处理音频内容的第一版本时,组协调器可以使得向用户显示指示,指示新的组成员不能够处理当前正在回放的音频内容的版本,并且同步回放可能因此受到影响。该指示可以采取各种形式。在一些示例中,该指示可以采取视觉指示的形式,该视觉指示经由组协调器或一个或多个其他组成员的设备上用户接口(例如,图1C的用户接口113)来显示。例如,视觉指示可以包括经由一个或多个组成员的LED显示器显示给定的颜色。视觉指示还可以伴随有音频指示,诸如短的钟声或警报。在一些示例中,除了设备上UI显示之外或者作为设备上UI显示的备选,该指示可以采取经由控制器设备的用户接口(例如,图1H的控制器设备130a的用户接口133)向用户显示的通知的形式。其他示例也是可能的。
在一些示例中,在组协调器确定新组成员的能力可能需要改变之后(例如,在接收到分组命令之后),但是在实现改变之前,可以向用户提供上述指示。因此,可以向用户呈现取消命令的选项,以支持保持当前回放条件。
在一些实现方式中,组协调器可以预测一个或多个特性的变化,并且在预期到所预测的变化的情况下,相应地调适组回放。组协调器可以用各种方式预测变化。作为一种可能性,组协调器可以基于历史回放数据、历史区形成数据和/或历史组形成数据来预测变化。例如,组协调器可以基于历史回放数据和历史组形成数据,确定在一天中的给定时间,组协调器将进入与其他回放设备的给定同步组,以回放给定音频内容。给定同步组可以包括至少一个回放设备,该回放设备是具有不太复杂的回放能力的较旧型号,和/或给定同步组可以包括大量回放设备。例如,用户可以在每天晚上6至7点做饭的时候收听给定的播放列表,并且可以在用户的厨房和起居室区域中将若干个回放设备分组在一起,以便创建更加身临其境的音频体验,并且这些回放设备中的一个可以是较旧型号的回放设备、电池供电的回放设备等,其具有比其他回放设备相对较不复杂的回放能力。因此,当一天中的给定时间临近时,组协调器可以预测增加的网络流量,并且因此可以使得组回放相应地调适更可靠的同步回放——例如,通过使一个或多个组成员回放给定音频内容的较低质量版本。
作为另一种可能性,组协调器可以基于一个或多个其他组成员的位置来预测一个或多个网络特性的变化。例如,给定的回放设备可以位于媒体回放系统的物理上远离位于中央的本地网络设备的区域(例如,在地下室、车库等),导致给定回放设备与网络设备之间的网络连接通常较弱。因此,每当给定回放设备被选择用于分组回放时,回放组的组协调器可以预测给定回放设备可能具有减少的带宽。因此,组协调器可以使组回放被相应地调适,例如,通过使至少给定回放设备回放给定音频内容的较低质量版本。组协调器也可以用其他方式预测变化。
在一些实现方式中,在检测到或预测到一个或多个特性的变化时,组协调器可以向用户显示该变化的指示。该指示可以采取各种形式。作为一种可能性,该指示可以采取视觉指示的形式,该视觉指示经由组协调器或一个或多个其他组成员的产品上用户接口(例如,图1C的用户接口113)显示。例如,视觉指示可以包括经由一个或多个组成员的LED显示器显示给定的颜色。视觉指示还可以伴随有音频指示,诸如短的钟声或警报。作为另一种可能性,除了产品上UI显示之外或者作为产品上UI显示的备选,该指示可以采取经由控制器设备的用户接口(例如,图1H的控制器设备130a的用户接口133)向用户显示的通知的形式。其他示例也是可能的。
一个或多个组成员的回放能力的变化可以以其他方式或在其他时间被检测到。
基于检测到一个或多个特性的变化,组协调器可以确定应当获得音频内容的一个或多个不同版本。然后,组协调器可以继续获得音频内容的不同版本,用于回放组回放。例如,组协调器可以确定应当获得音频内容的第二版本。在组协调器已经确定应当获得音频内容的第二版本之后,组协调器可以继续从媒体内容源获得第二版本。组协调器可以以先前描述的各种方式中的任一种来获得第二版本,诸如通过从媒体内容源请求音频内容的第二版本,通过基于提供给媒体内容源的回放能力信息来接收第二版本(或指向第二版本的指针),或者通过与远程计算设备通信来从媒体内容源接收第二版本。
有利的是,组协调器可以检索音频的第二版本,并且以减少用户感受到从回放第一版本到第二版本的转换的方式将第二版本提供给每个组成员。组协调器可以以各种方式实现这种“无缝转换”效果。
在一些示例中,组协调器可以开始检索音频内容的第二版本,同时它仍在与其他组成员协调以同步回放音频内容的第一版本。在此期间,音频内容的第一版本可以在发送给其他组成员之前存储在组协调器的第一缓冲器中。同时,组协调器可以开始将音频内容的第二版本存储在第二缓冲器中,并且可以进一步标识缓冲的音频内容的第一版本内的音频边界(例如,样本边界)和缓冲的音频内容的第二版本内的对应音频边界。当在第一缓冲器中达到边界时,组协调器可以从缓冲的音频内容的第二版本内的对应边界开始,从发送来自第一缓冲器的音频内容的第一版本转换到发送来自第二缓冲器的音频内容的第二版本。
可以用各种方式标识边界。例如,边界可以对应于音频内容的一部分,其中音频内容的不同版本之间的转换不太可能被用户察觉。例如,如果音频内容是播放列表,则边界可以是当前播放的音轨的结尾,或者可能是当前播放的音轨的合唱的开始。作为另一个示例,如果音频内容是对应于正在显示设备(例如,电视机、智能手机、平板电脑等)上显示的视频内容的音轨,则边界可以是与当前正在回放的场景的结尾相对应的音轨的一部分。其他示例也是可能的。
在如上所述获得音频内容的第二版本之后,组协调器可以将第二版本连同回放定时信息一起发送给每个组成员。回放定时信息可以包括关于何时开始回放第二版本的信息(例如,在如上所述的边界处)。当到达边界时,组协调器和每个组成员可以停止回放音频内容的第一版本,并且开始回放音频内容的第二版本。
以上述方式,组协调器可以利用关于一个或多个组成员的特性的信息,包括回放能力,来确定要由回放组在任何给定时间回放的音频内容的适当版本。此外,尽管已经针对音频内容的第一版本和第二版本描述了前述示例,但是应当理解,组协调器可以获得任何数量的版本。
h.创建子组
基于评估可能影响回放的特性,组协调器可以将一个或多个组成员分组到同步组的一个或多个子组中。组协调器可以以各种方式创建这样的子组。
在一些实现方式中,组协调器可以基于相似的特性将一个或多个组成员分组成同步组的一个或多个子组,并且使每个子组内的回放设备回放给定版本的音频内容。作为一个示例,组协调器可以基于一个或多个组成员的相应网络和/或设备特性来创建子组。例如,一个或多个组成员可以各自为较新型号和/或具有到网络设备的有线连接,因此相对来说更能够回放高质量内容而不增加无线网络压力。因此,组协调器可以将较新型号和/或有线组成员放入第一子组,该第一子组接收组协调器标识用于组回放的音频内容的最高质量版本。相反,一个或多个其他组成员可以各自都是较旧的型号和/或便携式回放设备,因此具有相对不太可靠的回放高质量内容的能力。因此,组协调器可以将较旧型号和/或便携式组成员放入第二子组,该第二子组接收组协调器标识用于组回放的音频内容的较低质量版本。其他示例也是可能的。
在一些示例中,如果组协调器确定回放组包括如前所述的异构回放能力,则可以基于不同的回放能力来标识音频内容的多于一个版本。在这方面,组协调器可以基于共同的回放能力将一个或多个组成员分组为子组,然后可以为每个子组标识音频内容的相应版本用于同步回放。
作为一个示例,可以基于解密能力将组成员分组到子组中。例如,一个或多个组成员可能能够解密音频内容,因此可以被分组成第一子组,而一个或多个其他组成员可能不能解密音频内容,因此可以被分组成第二子组。然后,组协调器可以标识音频内容的第一版本和音频内容的第二版本,该第一版本是加密的较高质量版本,用于提供给第一子组(例如,通过解密和重新加密音频内容,如下面将进一步解释的),而该第二版本是未加密的较低质量版本,用于提供给第二子组。然后,组协调器可以使每个子组的组成员与另一个子组同步地回放他们各自版本的音频内容。
作为另一个示例,组协调器可以基于解码能力将一些组成员分组成子组。例如,能够解码音频内容的组成员可以基于组成员能够解码的编码方案的类型而被分组成一个或多个子组。例如,第一组成员可能能够解码对应于高质量、无损音频内容的第一编码方案,而第二组成员可能仅能够解码第二编码方案、相对较低质量(例如,较有损)格式的音频内容。因此,组协调器可以标识音频内容的两个版本:根据第一编码方案编码以提供给第一组成员的第一版本,以及根据第二编码方案编码以提供给第二组成员的第二版本。在一些示例中,编码音频内容的不同版本不一定包括音频内容的不同质量版本。例如,音频内容的第一版本可以具有与音频内容的第二版本近似相同的音频质量。不管提供给每个组成员的相应版本如何,组协调器都可以使每个组成员同步回放其相应版本。
在组协调器是回放组的唯一成员的情况下(例如,组协调器没有与任何其他回放设备分组),组协调器可以仅基于其自己的回放能力来标识音频内容的版本。
i.预测分组
在一些实现方式中,组协调器可以评估给定的同步组配置,并且预测给定组可靠地回放给定质量的音频内容的概率。这种评估可以基于媒体回放系统的历史分组、网络和/或回放数据。作为一种可能性,媒体回放系统的每个回放设备可以例行地收集并且向远程计算设备发送与该回放设备的回放历史相关的数据,包括涉及回放设备的分组回放和分组回放期间的网络特性。基于从媒体回放系统的每个回放设备接收这样的数据,远程计算设备可以维护概率模型,该概率模型基于回放设备的给定分组来预测网络和/或回放性能。
此后,组协调器可以从计算设备请求对应于给定群组配置的概率,该概率可以以概率值的形式提供。在一些实现方式中,组协调器可以确定不同的组配置可以产生更高的概率,并且可以推荐该组配置作为备选。如上所述,组协调器可以使得预测概率和/或备选组配置的指示显示在组协调器和/或控制器设备的用户界面上。
j.音频内容代码转换
在一些情况下,当标识由同步组回放的音频内容时,作为组协调器的回放设备510可以确定给定音频内容只有一个版本或相对较少的版本可用。如前所述,基于网络、回放设备和/或同步组特性,同步组的不同回放设备可以具有不同的和/或波动的回放能力。因此,由组协调器标识的音频内容的版本可能不适合由同步组的一个或多个组成员回放设备回放。在此类情况下,组协调器可以获得给定音频内容的标识版本,然后使用标识的版本来对适合于由同步组的每个组成员回放的版本进行代码转换。一般而言,对音频内容的标识版本进行代码转换可以包括(i)从第一格式解码(例如,解压缩)标识版本,以及(ii)基于相应的组成员特性,根据一种或多种其他格式对解码版本进行重新编码(例如,压缩)。
本文公开的代码转换技术在涉及家庭影院配置的场景中可能特别有用。家庭影院配置通常可以包括多个回放设备,包括充当组协调器的“主”回放设备(例如,音棒、没有扬声器的家庭影院集线器等),以及充当组成员的“辅助”回放设备(也称为“卫星”回放设备),其可以包括能够回放所有音频频率的全范围回放设备,以及至少当分组在家庭影院配置中时能够仅回放某些音频频率的有限范围回放设备(例如,低音扬声器回放设备)。家庭影院配置可能比其他回放配置更容易受到回放中断的影响,这是由于(i)相对较大的回放组大小(例如,3至7个组成员,在回放期间潜在地有附加的成员加入),(ii)组成员回放能力的相对增加的多样性,以及(iii)与流视频内容的附加同步。
作为另一种可能性,具有家庭影院配置的回放组的组协调器可以利用家庭影院配置中的某些声道(例如,环绕声道和低音扬声器声道)比其他声道(例如,前声道)对听觉不太敏感的事实,使得较高质量和较低质量音频内容之间的差异不太明显。因此,组协调器可以将给定的家庭影院音频内容代码转换成相对较低质量、低带宽的版本,该版本可以流式传输给输出这些声道的组成员。这样,组协调器可以保留网络带宽,否则该带宽将被用于向这些卫星发送较高质量的版本。
组协调器可以以各种方式确定给定音频内容的合适版本不可用。例如,组协调器可以确定媒体内容源仅提供给定音频内容的第一版本。作为一个示例,组协调器可以从远程MCS 502a标识给定音频内容的第一版本,该远程MCS可以是仅提供给定音频内容的一个版本的流媒体服务。作为另一个示例,组协调器可以从本地MCS 502b标识给定音频内容的第一版本,该本地MCS可以是媒体播放器(例如,智能TV、DVD/蓝光播放器等),其连接到本地网络501并且被配置成当显示对应媒体内容(例如,视频内容)时,经由有线输入(类似于图1C的本地音频源150)直接向组协调器提供音频内容。例如,音频内容的第一版本可以是对应于由包括MPS 500的智能电视的MCS 502b回放的电影的音频内容。
组协调器可以确定标识的给定音频内容的第一版本不适合由一个或多个组成员回放。在这方面,如上所述,该确定可以基于网络、回放设备和/或同步组特性的评估来做出。例如,一个或多个组成员可能是较旧型号的回放设备、电池供电的回放设备,和/或可能不满足上述网络特性阈值标准,以及其他可能性。基于第一版本不适合由至少一个组成员回放的确定,组协调器可以使得第一版本被代码转换为一个或多个其他版本。
音频内容的代码转换可以采取各种形式。作为一个示例,音频内容可以从较高的质量水平代码转换为较低的质量水平。例如,可以根据第一格式(例如,无损压缩或未压缩编解码器)对音频内容的标识的第一版本进行编码,使得第一版本包括对应于较高质量音频内容(例如,192kHz/24位)的采样率和比特深度。第一版本的质量可能高于一个或多个组成员(例如,较旧型号的回放设备)能够可靠地回放的质量,并且组协调器可以确定给定音频内容的第一版本如果由一个或多个组成员回放,则可能导致掉线或中断回放的可能性增加,这又可能导致不太理想的用户体验。因此,组协调器可以改为解码标识的音频内容的第一版本,并且随后根据不同的格式(例如,有损压缩编解码器)对其进行重新编码,该不同的格式包括对应于较低质量音频内容(例如,96kHz/16位)的采样率和比特深度,以发送给一个或多个组成员进行回放。相反,作为另一个示例,所标识的音频内容的第一版本可以是从较低质量水平代码转换为较高质量水平的。可以在上面引用的美国临时申请第63/279,492号中找到关于可以由组协调器标识的不同音频内容质量水平的更多信息。
在一些实现方式中,除了对从媒体内容源接收的音频内容进行代码转换之外,组协调器还可以在将经代码转换的、重新加密的音频内容发送给一个或多个组成员之前,根据特定的加密方案对音频内容进行解密,然后重新加密。
此外,音频内容的代码转换可以由各种设备来执行。作为一种可能性,与迄今为止的讨论一致,组协调器可以标识音频内容的第一版本,并且评估上述网络、回放设备和/或同步组特性。基于该评估,组协调器然后可以将音频内容的第一版本代码转换成第二版本,并且将包括音频内容的经代码转换的第二版本的数据包发送给不适合回放第一版本的那些组成员。组协调器还可以发送相应的回放定时信息和时钟定时信息,使得经代码转换的第二版本可以与其他组成员回放第一版本和/或第二版本同步地回放。
作为另一种可能性,如上所述,组协调器可以标识音频内容的第一版本,并且评估网络、回放设备和/或同步组特性。基于该评估,组协调器然后可以指引不同的回放设备基于该评估对音频内容的第一版本进行代码转换。在这方面,组协调器可以指引空闲回放设备或者不是同步组成员的回放设备执行代码转换。
为了说明参考图5的MPS 500的示例,组协调器回放设备510可以指引回放组504的回放设备512或514之外的回放设备(未示出)执行代码转换。回放设备510可以将音频内容的第一版本发送给另一个回放设备,可能还带有评估结果和/或关于第一版本应该被代码转换成的格式/质量水平的信息。另一回放设备然后可以继续执行代码转换,然后将音频内容的代码转换版本发送回回放设备510。组协调器510然后可以将代码转换版本连同相应的回放定时和时钟定时信息一起发送给回放设备512和/或514。在一些实现方式中,组协调器510可以连同音频内容的第一版本的传输一起包括关于哪个(哪些)组成员将接收代码转换版本的信息,并且另一个回放设备可以执行代码转换,然后将代码转换版本直接发送给回放设备512和/或514,或许还连同相应的回放定时和时钟定时信息。其他示例也是可能的。
有利地,通过(全部或部分地)将音频内容的代码转换的责任委托给不同的设备,组协调器可以将其计算资源指引向其他任务和/或保存资源(例如,如果组协调器是电池供电的回放设备,委托代码转换过程可以帮助保存电池容量)。
此外,对音频内容的第一版本将被代码转换的确定可以在不同的时间执行。作为一种可能性,组协调器可以在检测到或接收到开始同步回放的命令之后并且在音频内容的第一版本的同步回放已经开始之前进行确定。例如,基于对网络、回放设备和/或同步组特性的评估,组协调器可以确定第一版本不适合给定组成员回放。在发现第一版本是音频内容的唯一可用版本之后,组协调器可以确定第一版本将被代码转换以供给定组成员回放。
作为另一种可能性,组协调器可以在音频内容的第一版本的同步回放已经开始之后进行确定(例如,当同步组504正在回放音频内容的第一版本时)。例如,组协调器可以确定一个或多个网络、回放设备和/或同步组特性已经改变(例如,基于如上所述的监测和/或预测改变),并且回放设备512或514中的一个或两者继续回放第一版本可能增加可能导致回放掉线的网络等待时间和/或带宽约束的可能性。因此,组协调器可以确定第一版本将被代码转换成更适合由回放设备512和/或514回放的版本。
在组协调器确定在同步回放已经开始之后需要对音频内容的第一版本进行代码转换的情况下,组协调器可以在发送给组成员的回放定时和时钟定时信息中包括对特定音频边界的指示,在该边界处第一版本的回放应该停止,而第二版本的回放应该开始,以便尽可能无缝地从第一版本的回放转换到第二版本的回放,并且减少用户感觉到的任何回放变化。音频边界可以是例如特定的音频帧、新音轨的开始、或者对应视频内容对话中的暂停等等。
有利的是,本文公开的代码转换技术可以使组协调器能够快速且自主地对网络、回放设备和/或同步组特性的变化做出反应,使得组协调器能够(i)在自组织的基础上,并且(ii)在不需要重复地与内容源通信来获得不同版本的音频内容的情况下动态地调适和增强同步音频回放,从而减少否则将被分配用于标识音频内容的不同版本的总时间和网络资源,同时保持用户感受到一致且无缝的回放体验。
虽然所公开的代码转换技术已经在上面的示例中被描述为在组协调器确定只有一个版本的给定音频内容可从MCS获得之后实现,但是应该理解,在不脱离所公开的教导的情况下,可以在任何时候执行代码转换技术,而不管来自MCS的给定音频内容的不同版本的可用性如何。例如,组协调器回放设备510可以最初标识给定音频内容的第一版本和第二版本,以供同步组504回放。回放设备510然后可以(i)回放第一版本,(ii)使回放设备512与回放协调器510同步地回放第一版本,以及(iii)使回放设备514与回放设备510和512对第一版本的回放同步地回放第二版本。当回放组504正在回放音频内容时,回放设备510可以检测到回放设备512的网络特性已经改变(例如,回放设备512正在经历网络等待时间)。基于该改变,回放设备510可以确定第一版本不再适合由回放设备512回放。回放设备510可以进一步确定第二版本也不适合由回放设备512回放。因此,回放设备510可以将给定音频内容的第一版本代码转换成音频内容的第三版本,然后将第三版本发送给回放设备512,使得回放设备512与(i)回放设备510对第一版本的回放和(ii)回放设备514对第二版本的回放同步地从回放第一版本转换到回放第三版本。其他示例也是可能的。
k.基于回放能力选择组协调器
除了标识音频内容之外,如上所述对可能影响音频回放的一个或多个特性的评估可以用于各种其他操作。例如,关于回放组的组成员相应回放能力的信息可以用于为回放组选择组协调器。
在一些示例中,相应回放能力可以用于确定回放组的组协调器,该回放组包括两个或更多个回放设备,这些回放设备已经被新分组用于同步回放。例如,第一回放设备和第二回放设备可以接收命令以形成用于音频内容的同步回放的回放组。如上所述,回放组可以具有至少一个指定的组协调器,该组协调器尤其负责获得音频内容并且将其提供给每个组成员用于同步回放,这通常比组成员需要相对较多的回放能力(例如,解密、解码、处理、存储和存储能力等)。为了确定第一回放设备或第二回放设备中的哪一个应该充当组协调器,可以比较第一回放设备和第二回放设备的相应回放能力。这种比较可以采取各种形式。
作为一个示例,回放设备可以自己执行相应回放能力的比较。例如,第一回放设备和第二回放设备中的每一个可以向另一个回放设备发送其相应回放能力的第一指示,将该另一个回放设备的相应回放能力与其自已的回放能力进行比较,确定第一回放设备或第二回放设备中的给定一个具有更复杂的回放能力,并且向该另一个回放设备发送该确定的第二指示。在接收到第二指示时,被确定为具有更复杂回放能力的回放设备然后可以开始充当回放组的组协调器。
作为另一个示例,网络设备可以执行相应回放能力的比较。网络设备可以是例如本地媒体回放系统的另一回放设备、本地媒体回放系统的控制设备、本地网络上的另一设备(例如,路由器、一个或多个IoT设备等),和/或被配置成与本地媒体回放系统通信的远程计算设备。例如,网络设备可以从第一回放设备和第二回放设备中的每一个请求其相应回放能力的指示,比较每个相应回放能力,确定第一回放设备或第二回放设备中的给定一个具有更复杂的回放能力,并且将其确定的指示发送给第一回放设备和第二回放设备。被确定为具有更复杂回放能力的回放设备然后可以开始充当回放组的组协调器。也可以用其他方式进行比较。
在一些情况下,回放设备的回放能力可以相等或近似相等,因此没有一个回放设备被确定为比另一个更复杂。在此类情况下,可以基于其他标准选择回放设备中的给定的一个,或者可以随机选择。
在一些示例中,相应回放能力可以用于为现有回放组确定新的组协调器。例如,第三回放设备可以加入包括第一回放设备和第二回放设备的回放组,其中第一回放设备当前被指定为组协调器。如上所述,第三回放设备可以在加入回放组时向第一回放设备(例如,组协调器)发送其当前回放能力的指示。然后,第一回放设备可以对第一回放设备和第三回放设备的相应回放能力执行比较。基于该比较,如果第一回放设备确定其具有比第三回放设备更复杂的回放能力,则它可以继续充当回放组的组协调器。然而,如果第一回放设备确定它具有比第三回放设备较不复杂的回放能力,则第一回放设备可以中止充当组协调器,并且通知第三回放设备它应该开始代替第一回放设备充当回放组的组协调器。
以这种方式,可以规律地评估组协调器的指定,以努力确保组协调器的职责由最适合这样做的回放设备来处理。
l.示例实施例
图6至图11描绘了用于使用自适应比特率流式传输技术来增强音频内容的分组回放的如上所述的示例实施例的流程图,该自适应比特率流式传输技术可以在包括例如图1A的媒体回放系统100、回放设备110中的一个或多个、网络麦克风设备120中的一个或多个和/或控制设备130中的一个或多个,或者例如图5的媒体回放系统500和回放设备510、512和514中的一个或多个的操作环境中实现。示例过程600、700、800、900、1000和1100可以包括一个或多个操作、功能或动作,如框602至616、702至706、802至814、902至912、1002至1010和1102至1112中的一个或多个所示。尽管框602至616、702至706、802至814、902至912、1002至1010和1102至1112是以顺序示出的,但是这些框也可以并行执行,和/或以与本文描述的顺序不同的顺序执行。此外,基于期望的实现方式,各种框可以被组合成更少的框、被划分成附加的框和/或被移除。
此外,对于示例过程600、700、800、900、1000、1100以及本文公开的任何其他过程和方法,每个流程图示出了当前实施例的一个可能实现方式的功能和操作。在这方面,每个框可以表示模块、程序代码段或程序代码的一部分,其包括可由处理器执行用于实现过程中的特定逻辑功能或步骤的一个或多个指令。程序代码可以存储在任何类型的计算机可读介质上,例如诸如包括磁盘或硬盘驱动器的存储设备。计算机可读介质可以包括非暂时性计算机可读介质,例如诸如像寄存器存储器、处理器高速缓存和随机存取存储器(RAM)这样的短期存储数据的计算机可读介质。计算机可读介质还可以包括非暂时性介质,例如诸如辅助或永久长期存储装置,如只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其他易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质,或者有形存储设备。此外,对于示例过程600、700、800、900、1000和1100(以及本文公开的任何其他过程和方法),图6至图11中示出的每个框可以表示被有线连接以执行过程中的特定逻辑功能的电路。
转向图6,示出了用于标识同步回放的音频内容的示例过程600的流程图。在示例过程600中,第一回放设备可以与媒体回放系统的第二回放设备和第三回放设备分组在一起,用于音频内容的同步组回放。媒体回放系统可以是例如图5的MPS 500。第一回放设备可以是例如回放设备510,第二回放设备可以是例如回放设备512,而第三回放设备可以是例如图5的回放设备514。第一回放设备510可以充当包括回放设备510至514的同步组的组协调器。在这方面,如上所述,第一回放设备可以负责监测和评估网络特性、回放设备特性和回放组特性,标识用于分组回放的音频内容的一个或多个版本,和/或使一个或多个组成员回放设备回放音频内容的给定版本。
例如,图6的示例过程600可以开始于第一回放设备检测(例如,经由一个或多个麦克风)或接收(例如,经由控制器设备)与第二回放设备和第三回放设备同步回放音频内容的命令。在检测到或接收到与第二回放设备和第三回放设备同步回放音频内容的命令之后,第一回放设备可以继续标识音频内容的至少两个版本。在框602处,第一回放设备可以标识将由回放组回放的音频内容的第一版本和第二版本,如上所述。第一版本和第二版本可以来自单个媒体内容源或者来自两个不同的媒体内容源。此外,第一版本可以包括比第二版本质量更高的音频内容版本。
在标识音频内容的第一版本和第二版本之后,第一回放设备可以继续标识每个回放设备的至少一个网络特性。在框604处,第一回放设备可以标识(1)第二回放设备与网络设备之间的第一连接质量,以及(2)第三回放设备与网络设备之间的第二连接质量。如上所述,网络设备可以是媒体回放系统的本地网络设备(例如,图5的路由器503),其提供对本地数据网络(例如,WLAN 501)的访问,第一回放设备、第二回放设备和第三回放设备以及网络设备被配置成通过该本地数据网络进行通信。第一回放设备可以如上所述标识第一连接质量和第二连接质量。
第一回放设备然后可以继续确定每个连接质量是否满足阈值标准。在框606处,第一回放设备可以确定(1)第一连接质量满足阈值网络连接质量标准,以及(2)第二连接质量不满足阈值网络连接质量标准。第一回放设备可以如上所述做出该确定。例如,第一连接质量可能具有足够的带宽用于流式传输高质量音频内容,而第二连接质量可能没有足够的带宽用于流式传输高质量音频内容。
第一回放设备还可以确定其自身的连接质量是否满足阈值标准。基于该确定,在框608处,第一回放设备可以回放音频内容的第一版本或第二版本。在框610处,基于确定第一连接质量满足阈值标准,第一回放设备可以使第二回放设备与第一回放设备对音频内容的第一版本或第二版本的回放同步地回放音频内容的第一版本。如上所述,第一回放设备可以使第二回放设备回放第一版本。例如,第一回放设备可以向第二回放设备发送包括音频内容的第一版本的数据包流。
在框612处,基于确定第二连接质量不满足阈值标准,第一回放设备可以使第三回放设备与第一回放设备对音频内容的第一版本或第二版本的回放以及第二回放设备对音频内容的第一版本的回放同步地回放音频内容的第二版本。如上所述,第一回放设备可以使第三回放设备回放第二版本。例如,第一回放设备可以向第三回放设备发送包括音频内容的第二版本的数据包流。应当理解,第一回放设备可以同时或以任何顺序执行框610和612的功能。
在框614处,第一回放设备可以检测第二连接质量的变化。例如,第一回放设备可以检测到第二连接质量已经提高,并且第三回放设备现在能够回放音频内容的较高质量版本。因此,在框616处,第一回放设备可以使第三回放设备从回放音频内容的第二版本转换到回放音频内容的第一版本。
图7描绘了用于标识同步回放的音频内容的另一示例过程700的流程图,该过程可以在同步分组回放期间实现,同时第一回放设备与至少第二回放设备同步地回放音频内容的第一版本。在这方面,音频内容的第一版本可以包括比第一回放设备先前已经标识的第二版本质量更高的音频内容。
在框702处,第一回放设备可以检测附加的回放设备已经加入回放组。第一回放设备可以基于对附加回放设备的检测来评估一个或多个特性。这种评估可以包括标识如上所述的回放组特性。在框704处,第一回放设备可以确定当前被分组用于同步回放的回放设备的总数超过可以同步回放音频内容的第一版本而不增加降低网络或回放性能的概率的回放设备的阈值数量(例如,在该示例中是两个回放设备)。因此,在框706处,第一回放设备可以使(1)第一回放设备和至少第二回放设备从回放音频内容的第一版本转换到同步回放音频内容的第二版本,该第二版本可以包括比第一版本质量更低的音频内容,并且使(2)附加回放设备与第一回放设备和至少第二回放设备同步回放音频内容的第二版本。
在一些情况下,示例过程700可以在框616执行功能之后由图6的示例过程600的第一回放设备来实现。例如,当第一回放设备、第二回放设备和第三回放设备同步回放音频内容的第一版本时,第一回放设备可以检测到第四回放设备已经加入回放组。第一回放设备然后可以确定已经超过可以同步回放高质量音频内容而不增加降低网络或回放性能(例如,包丢失、音频延迟等)的概率的回放设备的阈值数量(例如,在该示例中为三个回放设备)。因此,第一回放设备可以(1)使第一回放设备、第二回放设备和第三回放设备中的每一个从回放音频内容的第一版本转换到回放音频内容的第二版本(即,较低质量版本),以及(2)使第四设备与第一回放设备、第二回放设备和第三回放设备同步回放音频内容的第二版本。
图8描绘了用于标识用于同步回放的音频内容的又一示例过程800的流程图,该过程可以由与第二回放设备分组在一起用于音频内容同步回放的第一回放设备来实现。在框802处,第一回放设备可以标识音频内容的第一版本和第二版本。音频内容的第一版本可以是比第二版本质量更高的版本。
第一回放设备然后可以评估与第二回放设备相关联的网络特性。在框804处,第一回放设备可以标识第二回放设备与网络设备(例如,无线路由器)之间的连接的连接质量。在框806处,第一回放设备可以确定第二回放设备与网络设备之间的连接的连接质量不满足阈值标准。
此外,第一回放设备可以确定其自身与网络设备的连接的质量确实满足阈值标准。因此,在框808处,第一回放设备可以回放音频内容的第一版本。在框810处,基于在框806处确定第二回放设备的连接质量不满足阈值标准,第一回放设备可以使第二回放设备与第一回放设备对第一版本的回放同步地回放音频内容的第二版本。
当第一回放设备正在与第二回放设备对第二版本的回放同步地回放第一版本时,在框812处,第一回放设备可以检测到第二回放设备与网络设备之间的连接的连接质量已经改变。具体地,第一回放设备可以确定连接质量已经提高。因此,在框814处,第一回放设备可以使第二回放设备与第一回放设备同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
图9描绘了可以由回放设备实现的用于对音频内容进行代码转换用于同步回放的示例过程900的流程图。示例过程可以开始于框902,其中第一回放设备可以作为包括第一回放设备和第二回放设备的同步组的一部分来操作。第一回放设备可以基于检测到或接收到(例如,经由控制器设备)与第二回放设备形成或加入同步组以同步回放给定音频内容的命令,开始作为同步组的一部分进行操作。第一回放设备可以充当同步组的组协调器,并且因此可以负责标识由同步组回放的音频内容。
在框904处,第一回放设备可以获得给定音频内容的第一版本。音频内容的第一版本可以根据第一编码格式进行编码,并且可以包括例如给定音频内容的相对较高质量的版本。
在框906处,第一回放设备可以确定给定音频内容的第一版本不适合由第二回放设备回放。第一回放设备可以以上述各种方式中的任何一种做出该确定,包括通过评估一个或多个网络、回放设备和/或回放组特性。作为一个示例,第一回放设备可以确定第二回放设备与网络设备之间的连接质量不满足阈值连接质量。作为另一示例,第一回放设备可以确定第二回放设备包括电池供电的回放设备,并且第二回放设备的功率容量不满足阈值功率容量。其他示例也是可能的。
在框908处,基于确定给定音频内容的第一版本不适于由第二回放设备回放,第一回放设备可以通过(i)解码音频内容的第一版本并且(ii)根据第二编码格式重新编码解码的版本,将音频内容的第一版本代码转换成音频内容的第二版本,如先前公开的。例如,音频内容的经代码转换的第二版本可以包括给定音频内容的相对较低质量的版本。
在框910处,第一回放设备可以向第二回放设备发送给定音频内容的第二版本。如上参考图5所述,第一回放设备可以向第二回放设备发送音频流,该音频流包括(i)包括给定音频内容的第二版本的数据包,(ii)回放定时信息,以及(iii)时钟定时信息。在框912处,第一回放设备可以基于回放定时和时钟定时信息使第二回放设备回放给定音频内容的第二版本。在框914处,第一回放设备可以与第二回放设备对给定音频内容的第二版本的回放同步地回放给定音频内容的第一版本。
此后,如果第一回放设备检测到网络、回放设备和/或回放组特性的附加变化(例如,第二回放设备与网络设备之间的连接质量的改善、新组成员的添加等),则第一回放设备可以基于同步组的需要将给定音频内容的第一版本代码转换成一个或多个附加版本。作为另一种可能性,如果存在适当的条件,则第一回放设备可以中止对给定音频内容的第一版本进行代码转换,而是将给定音频内容的第一版本发送给第二回放设备用于同步回放。
图10描绘了用于基于同步回放组中的回放设备的相应回放能力来增强音频内容的分组回放的示例过程1000的流程图。
示例过程1000可以开始于框1002,其中第一回放设备可以回放给定音频内容的第一版本。给定音频内容的第一版本可能已经基于与第一回放设备的相应回放能力相对应的第一回放能力从如上所述的基于云的媒体服务获得。在一些示例中,第一回放设备可以被配置用于给定音频内容的第一版本的单独回放。在其他示例中,第一回放设备可以被配置成组协调器,以与一个或多个其他组成员回放设备协调,用于音频内容的第一版本的同步回放。
在框1004处,当回放给定音频内容的第一版本时,第一回放设备可以接收对第二回放设备与第一回放设备分组在一起用于同步回放给定音频内容的命令的指示。如上所述,第二回放设备可以构成要添加到已经存在的同步组的附加组成员,或者第二回放设备可以与第一回放设备形成新的同步组。在任一情况下,第一回放设备可以根据上述各种特性和标准中的一个或多个来确定它将充当(例如,继续充当或被指定充当)同步组的组协调器。如上所述,第一回放设备以其作为组协调器的身份,可以确定对应于第二回放设备的相应回放能力的第二回放能力。第二回放设备的第二回放能力可能没有第一回放设备的第一回放能力复杂。此外,第一回放设备可以基于第二回放能力来确定第二回放设备不能回放给定音频内容的第一版本。例如,给定音频内容的第一版本可能具有超出第二回放设备的能力的相对较高的比特率。
在框1006处,第一回放设备可以获得与第二回放设备的第二回放能力相对应的给定音频内容的第二版本。在这方面,音频内容的第二版本可以是比音频内容的第一版本质量更低的版本。例如,继续上面的示例,第一回放设备可以获得具有较低比特率的给定音频内容的第二版本。第二版本可以从第一媒体内容源或第二媒体内容源获得。
在框1008处,在获得给定音频内容的第二版本之后,第一回放设备可以从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本,这可以涉及在确定的音频边界处停止给定音频内容的第一版本的回放,并且开始给定音频内容的第二版本的回放。此外,在第一回放设备还充当其他已经分组的回放设备的组协调器的情况下,转换到给定音频内容的第二版本还可以包括从(例如,从第一缓冲器)向其他组成员发送给定音频内容的第一版本转换到(例如,从第二缓冲器)向其他组成员发送给定音频内容的第二版本,如上所述。
在框1010处,第一回放设备可以与第二回放设备(以及任何其他组成员)协调,以同步回放给定音频内容的第二版本,这可以包括发送回放定时和/或时钟信息,如上文参考图5所述。
以上述方式,并且如将在下面参考图11至图13B所描述的,音频内容的分组回放可以被监测并且适合于适应不同的和/或波动的网络特性、设备特性(包括回放能力)和/或分组特性,以便促进在任何给定时间回放最高可能质量的音频内容,从而提供改善的用户收听体验。
IV.媒体回放系统内音频加密的示例技术
如上所述,作为解密从媒体服务获得的受DRM保护的音频内容的组协调器操作的回放设备可能无法在不与某些数字版权所有者的安全要求相冲突的情况下将解密的音频内容分发给媒体回放系统中的其他回放设备。因此,本文讨论的利用第二加密层重新加密音频内容的技术可以允许组协调器将加密的音频内容发送给媒体回放系统中的其他回放设备用于同步回放,从而满足数字版权所有者的需求,这些数字版权所有者可能需要在音频内容传输时对其进行加密。
图11描绘了用于在媒体回放系统的回放设备之间实现音频加密的示例操作的流程图1100。图11的框1102至1112所示的示例操作可以由上面讨论的并且在图1A至图5中示出的任何示例回放设备来执行。此外,将结合图12讨论图11的流程图1100,图12示出了由第一回放设备1201实现的多层音频加密方案的一种可能实现方式。
首先,图12中所示的流程图1100和示意图假设第一回放设备1201能够接收加密的音频内容,然后一旦接收到就对其进行解密。例如,分发音频内容的媒体服务可能要求请求加密内容的任何回放设备满足某些安全标准,诸如安全引导环境。此外,第一回放设备1201可能需要一定量的可用计算资源(例如,处理能力、可用存储器等)来执行解密。在这方面,一些回放设备(例如,一些相对较旧型号的回放设备)可能不能处理加密的音频内容,因为它们不满足安全引导要求,或者因为它们没有足够的计算资源。
因此,给定的回放设备可以确定它能够回放的音频内容的“最佳”质量,并且仅请求达到该质量的音频内容版本。例如,如果回放设备接收到播放歌曲的命令,该歌曲的加密的UHD版本可从媒体服务获得,但是回放设备不能播放该版本,则回放设备可以从媒体服务请求该歌曲的较低质量的未加密版本。
另一方面,如果回放设备能够处理加密的音频内容,但是这种版本不可用,则回放设备可以获得可用的音频内容的最高质量的未加密版本。在这些情况下,回放设备可以放弃本文讨论的本地加密技术。
转向图11,从框1102开始,回放设备可以从音乐服务获得根据第一加密方案加密的音频内容。如上所述,回放设备可以是图12中所示的第一回放设备1201。此外,媒体服务可以是基于云的媒体服务1204,该基于云的媒体服务可以与上文讨论的并且分别在图1B和图5中示出的媒体内容服务192或502a相似或相同。例如,可以向第一回放设备1201提供凭证(例如,登录凭证、访问令牌、密钥等)用于访问来自基于云的媒体服务1204的流音频内容,该流音频内容可以包括加密的高质量、受DRM保护的音频内容(例如,HD或UHD内容)。因此,由第一回放设备1201获得的音频内容可以根据第一加密方案1206进行加密,如图12中虚线示意性所示。第一加密方案1206可以采取各种形式,诸如Widevine DRM、PlayReadyDRM、FairPlay DRM等。
在框1104处,第一回放设备1201可以与许可服务通信,以获得用于解密音频内容的信息。用于解密音频内容的信息可以包括一个或多个解密密钥。许可服务可以是基于云的许可服务1205,如图12中所示。在一些情况下,第一加密方案1206可以被配置成使得基于云的许可服务1205由第三方提供。在其他示例中,基于云的许可服务1205可以是基于云的媒体服务1204的组件。其他示例也是可能的。
在框1106处,第一回放设备1201可以使用获得的信息来解密音频内容。此后,如果第一回放设备1201正在单独回放内容,则它可能能够播放解密的音频内容。然而,第一回放设备1201可以与一个或多个附加回放设备(在图12中作为示例示出为第二回放设备1202和第三回放设备1203)分组在一起用于同步回放。在这方面,第一回放设备、第二回放设备和第三回放设备可以形成媒体回放系统的一部分,诸如图1A和图1B中所示的示例媒体回放系统100或图5中所示的媒体回放系统500。如上所述,第一回放设备1201可以充当用于与第二回放设备和第三回放设备同步回放音频内容的组协调器,第二回放设备和第三回放设备可以被称为组成员。例如,第一回放设备1201可以将音频内容(例如,作为一系列音频帧)连同促进每个组成员同步回放音频内容的回放定时信息一起发送给组成员。因此,在音频内容可以由第一回放设备1201和其他组成员同步回放之前,音频内容需要以满足数字版权所有者的安全要求的方式发送给其他组成员。
因此,在框1108处,回放设备1201可以根据第二加密方案1207重新加密解密的音频内容,这在图12中由点划线示意性地示出。第二加密方案1207可以采取各种形式,诸如ChaCha20Poly1305或AES-GCM,以及其他可能性。
此后,在框1110处,回放设备1201可以将重新加密的音频内容发送给与第一回放设备1201分组在一起的至少一个回放设备用于同步音频回放。如图12的示例中所示,回放设备1201将重新加密的音频内容发送给第二回放设备1202和第三回放设备1203。
作为根据第二加密方案1207重新加密音频内容的一部分,第一回放设备1201可以生成(例如,渐进地生成)一组加密密钥,该组加密密钥将对组成员可用,使得他们可以解密重新加密的音频内容。例如,可以使用HTTP端点来使加密密钥可用,该HTTP端点只能通过第一回放设备1201与给定组成员设备之间的相互SSL连接来访问。以这种方式,加密密钥对于可能试图拦截媒体回放系统的WLAN上的网络流量的第三方设备是不可访问的。
在一些实现方式中,第一回放设备1201可以与每个相应的组成员建立相互的SSL连接,并且结合重新加密的音频内容自动发送加密密钥。作为另一种可能性,第二回放设备1202可以在接收到重新加密的音频内容并且确定需要对音频内容进行解密之后请求加密密钥。因此,第一回放设备1201可以从第二回放设备1202接收对用于解密重新加密的音频内容的信息的请求。基于该请求,第一回放设备1201可以与第二回放设备1202建立相互的SSL连接,并且向第二回放设备1202发送一个或多个加密密钥或者以其他方式使其可用。
一旦第二回放设备1202和第三回放设备1203已经接收到必要的加密密钥,它们可以各自解密从第一回放设备1201接收到的重新加密的音频内容。此后,在框1112处,第一回放设备1201可以与第二回放设备1202和第三回放设备1203对音频内容的回放同步地回放音频内容。
第一回放设备1201可以根据各种不同的密钥管理策略中的任何一种来生成和轮换加密密钥。作为一种可能性,结合重新加密可以包括多个音频帧的音频内容,第一回放设备1201可以生成加密密钥,每个加密密钥对应于重新加密的音频内容的预定数量的音频帧(例如,1000万帧)。例如,当在框1108处第一回放设备1201根据第二加密方案1207重新加密音频内容时,第一回放设备1201可以生成一组初始加密密钥(例如,五个密钥、十个密钥等)。
图13A示出了示出一组示例加密密钥1301的示意图,包括第一加密密钥1301a,随后是后续的加密密钥1301b、1301c、1301d和1301e。在使用第一加密密钥1301a加密预定数量的帧之后,第一回放设备1201可以中止使用第一加密密钥1301a,并且开始使用第二加密密钥1301b重新加密解密的音频内容的下一帧,直到再次达到预定数量的帧为止等。
作为另一种可能性,第一回放设备1201可以根据基于时间的策略来利用该组加密密钥,使得每个密钥用于音频内容的特定回放时间(例如,5分钟等)。作为又一种可能性,第一回放设备1201可以利用每个加密密钥,直到在给定播放列表或回放队列中达到音轨之间的边界为止,使得每个加密密钥对应于单个音轨。许多其他策略也是可能的。
在第一回放设备1201中止使用给定的加密密钥来根据第二加密方案1207重新加密音频内容之后,第一回放设备1201可以从该组密钥中丢弃该加密密钥并且生成新的密钥。例如,第一回放设备1201可以生成第六加密密钥1301f,并且在丢弃第一加密密钥时将其添加到该组密钥1301。新密钥可以被发送给第二回放设备和第三回放设备,或者这些设备可以在它们已经完成使用第一加密密钥1301a来解密重新加密的音频内容之后请求新密钥。在一些实施例中,如果需要发送和/或接收具有更高优先级的其他消息(例如,回放控制命令),则第二回放设备和第三回放设备可以异步地刷新它们各自的密钥列表。
在一些实现方式中,当第一回放设备1201转换到用第二加密密钥1301b重新加密音频内容时,第一回放设备1201可能不会立即丢弃第一加密密钥1301a。例如,可能存在这样的情况,其中在第一回放设备1201已经中止使用第一加密密钥1301a之后,但是在同步组已经回放使用第一加密密钥1301a加密的对应音频内容之前,新的回放设备加入该组。因此,尽管第一回放设备1201可能已经开始使用第二加密密钥1301b重新加密音频内容,但是新的组成员可能仍然需要访问第一加密密钥1301a。为了考虑这些类型的情况,第一回放设备1201可以在丢弃先前使用的加密密钥之前将它们保留一段时间。
也可以根据各种其他策略生成新的密钥。例如,每当丢弃了对应数量的密钥时,第一回放设备1201可以成组地生成新密钥,诸如五个一组,而不是每次丢弃前一个密钥时都生成新密钥。在加密密钥与音轨边界对齐的实施例中,第一回放设备1201可以强加当前密钥必须被使用的最小数量的帧,使得跳过若干个音轨的用户不会太快用尽生成的密钥的整个列表。
转向图13B,示意图示出了根据第二加密方案1207重新加密的音频帧1302的一个示例。如图13B中所示,第一回放设备1201可能没有加密音频帧1302的所有方面。例如,重新加密的音频内容的每个帧可以包括音频数据部分1303和报头部分1304。音频数据部分1303可以包括重新加密的音频内容,包括解密音频内容可能需要的相关元数据。例如,每个音频帧1302的音频数据部分1303可以包括密钥标识符(例如,所使用的加密密钥的散列)、随着每个新音频帧而递增并且充当密码的初始值的计数器和密文(即,重新加密的内容)以及其它数据。另一方面,报头部分1304可以包括不需要加密的其他数据,诸如用于与第一回放设备1201同步回放音频内容的回放定时信息。
当每个音频帧1302被组成员(例如图12中所示的第二回放设备或第三回放设备)接收时,组成员使用计数器和基于密钥标识符的正确加密密钥来解密密文。在组成员接收到用未知密钥标识符加密的帧的情况下(例如,在跳过音轨命令之后,或者当组成员最初开始接收加密的音频内容时),组成员可以确定在它能够解密和回放音频内容之前,它需要从组协调器检索正确的加密密钥。
在一些实现方式中,第一回放设备1201还可以使用第二加密方案1207来加密它在音频内容的同步回放期间发送给组成员的其他类型的数据。例如,第一回放设备1201可以接收用于控制音频内容的回放的命令(例如,经由第一回放设备1201的麦克风接收的语音命令)的指示,诸如回放/暂停/跳过命令或音量控制命令。第一回放设备1201可以根据第二加密方案1207对指示回放命令的数据包进行加密,并且将加密的数据包发送给第二回放设备1202。
类似地,第一回放设备1201也可以从一个或多个组成员接收根据第二加密方案1207加密的数据。例如,第一回放设备1201可以从第二回放设备1202接收根据第二加密方案1207加密的数据包。第一回放设备1201可以解密数据包,并且基于解密的数据包确定用于控制音频内容的回放的命令的指示。例如,第二回放设备1202可以经由电容传感器接收音量控制输入,或者可以经由麦克风检测语音命令,这两者都可以被发送给第一回放设备1201,以便在所有组成员之间进行协调。因此,第一回放设备1201可以执行用于控制音频内容的回放的命令。
在这方面,由第一回放设备1201和其他组成员使用的第二加密方案1207可以是对称加密方案。与由基于云的媒体服务1204使用的第一加密方案1206(其通常是不对称方案)不同,第二加密方案1207的加密密钥可以由给定的回放设备用于加密和解密两者。这可以允许设备之间的双向加密通信,这在一些情况下可能是有用的。
对称加密方案也可以提供其他益处。例如,如果第一回放设备1201从组中被移除或者变得不能继续作为组协调器操作,对称方案可以允许组协调器责任的相对无缝的委托。例如,第二回放设备1202可以独立地跟踪当前计数器和它用于在第二加密方案1207下解密的密钥标识符。在这样做时,第二回放设备1202可以能够通过根据相同的加密方案加密新的音频帧来在第一回放设备1201不再作为组协调器的情况下作为组协调器接管。例如,假设第二回放设备1202可以承担在它和其他组成员用尽其缓冲的音频帧之前从基于云的媒体服务1204获得加密的音频内容的责任,第二回放设备1202可以开始解密和重新加密音频内容,并且将其发送给其他组成员而不中断回放。有利的是,其他组成员可以继续使用先前从第一回放设备1201获得的该组加密密钥。
尽管上面讨论了需要保持被重新发送给媒体回放系统中的其他回放设备的音频内容的加密,但是可能存在从媒体服务获得加密的音频内容但不需要由组协调器重新加密的情况。例如,媒体回放系统中的一些组配置(诸如家庭影院配置)可能涉及仅被分配来播放音频内容中可能包括的音频声道的子集的回放设备。因此,组协调器可以在解密后解码完整版本的音频内容,然后将其代码转换成发送给不同回放设备的分离声道。在这些情况下,即使个人在音频内容通过媒体回放系统的WLAN传输时截取音频内容的分离声道,也可能难以将分离的流重组为原始的完整版本的音频内容。因此,数字版权所有者可能不需要与组协调器以这种方式修改的DRM保护内容相同的安全级别。
因此,作为根据第二加密方案1207重新加密解密的音频内容的前体,第一回放设备1201可以确定所有声道的音频内容是否要被发送给第二回放设备1202。如果第二回放设备1202将接收少于所有声道的音频内容,则第一回放设备1201可以放弃重新加密发送给第二回放设备1202的音频内容。然而,如果第一回放设备1201确定第二回放设备1202将接收所有声道的音频内容(例如,原始的、解密的音频内容),则第一回放设备1201可以根据如上所述的第二加密方案1207重新加密音频内容。
V.结论
以上描述尤其公开了各种示例系统、方法、装置和制造品,尤其包括在硬件上执行的组件、固件和/或软件。应该理解,此类示例仅仅是说明性的,不应该被认为是限制性的。例如,可以设想,固件、硬件和/或软件方面或组件中的任何或所有可以专门用硬件、专门用软件、专门用固件或硬件、软件和/或固件的任何组合来实现。因此,所提供的示例不是实现此类系统、方法、装置和/或制品的唯一方式。
此外,本文提到的“实施例”意味着结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个示例实施例中。该短语在说明书中不同地方的出现不一定都指同一实施例,也不一定是与其他实施例相互排斥的单独或备选实施例。因此,本领域技术人员显式和隐式理解的本文描述的实施例可以与其他实施例相结合。
此外,本文描述的示例可以用于与媒体回放系统分离且隔开的系统中,诸如包括物联网设备(IoT)的任何IoT系统。例如,IoT设备可以是被设计为基于经由网络(例如,诸如互联网的WAN)接收的信息来执行一个或多个特定任务(例如,制作咖啡、重新加热食物、锁门、向另一设备供电、回放音乐)的设备。示例IoT设备包括智能恒温器、智能门铃、智能锁(例如,智能门锁)、智能插座、智能灯、智能吸尘器、智能相机、智能电视机、智能厨房电器(例如,智能烤箱、智能咖啡机、智能微波炉和智能冰箱)、智能家居设备(例如,智能水龙头、智能莲蓬头、智能百叶窗和智能马桶)和智能扬声器(包括上述网络可访问和/或支持语音的回放设备)。这些IoT系统还可以包括经由一个或多个网络与IoT设备通信的一个或多个设备,诸如一个或多个云服务器(例如,通过WAN与IoT设备通信)和/或一个或多个计算设备(例如,通过LAN和/或PAN与IoT设备通信)。因此,本文描述的示例不限于媒体回放系统。
应当理解,本文提到的向特定组件、设备和/或系统发送信息应当理解为包括间接或直接向特定组件、设备和/或系统发送信息(例如,消息、请求、响应)。因此,被发送给特定组件、设备和/或系统的信息在到达其目的地之前可以通过任意数量的中间组件、设备和/或系统。例如,控制设备可以通过首先将信息发送给计算系统,然后计算系统将信息发送给回放设备,来将信息发送给回放设备。此外,中间组件、设备和/或系统可以对信息进行修改。例如,中间组件、设备和/或系统可以修改信息的一部分,重新格式化信息,和/或并入附加信息。
类似地,本文提到的从特定组件、设备和/或系统接收信息应该理解为包括间接或直接从特定组件、设备和/或系统接收信息(例如,消息、请求、响应)。因此,从特定组件、设备和/或系统接收的信息在被接收之前可以通过任意数量的中间组件、设备和/或系统。例如,控制设备可以通过从云服务器接收源自回放设备的信息来间接地从回放设备接收信息。此外,中间组件、设备和/或系统可以对信息进行修改。例如,中间组件、设备和/或系统可以修改信息的一部分,重新格式化信息,和/或并入附加信息。
本说明书主要是根据说明性的环境、系统、过程、步骤、逻辑块、处理以及直接或间接类似于耦合到网络的数据处理设备的操作的其他符号表示来呈现的。本领域的技术人员通常使用这些过程描述和表示来向本领域的其他技术人员最有效地传达他们工作的实质。阐述了许多具体细节以提供对本发明的透彻理解。然而,本领域技术人员应该理解,本发明的某些实施例可以在没有某些特定细节的情况下实施。在其他情况下,没有详细描述公知的方法、过程、组件和电路,以避免不必要地模糊实施例的各个方面。因此,本发明的范围由所附权利要求而不是实施例的前述描述来定义。
当所附权利要求中的任一项被理解为涵盖纯软件和/或固件实现方式时,至少一个示例中的元件中的至少一个由此被明确定义为包括存储软件和/或固件的有形的非暂时性介质,诸如存储器、DVD、CD、蓝光等。
a.示例特征
(特征1)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定第一连接质量满足阈值标准,而第二连接质量不满足阈值标准;(iv)回放音频内容的第一版本或第二版本中的一个;(v)基于确定第一连接质量满足阈值标准而第二连接质量不满足阈值标准:(1)使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本;以及(2)使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本;(vi)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(vii)基于检测到的第二连接质量的变化,使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
(特征2)根据特征1所述的第一回放设备,其中第一回放设备、第二回放设备和第三回放设备被配置成通过无线局域网(WLAN)与网络设备通信。
(特征3)根据特征1所述的第一回放设备,其中可由至少一个处理器执行以使第一回放设备被配置成检测第三回放设备与网络设备之间的第二连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使第一回放设备被配置成:检测网络等待时间的变化或网络带宽的变化中的至少一个。
(特征4)根据特征1所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成检测第三回放设备与网络设备之间的第二连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:检测第三回放设备与网络设备之间的第二连接质量的改善,并且其中音频内容的第一版本包括比音频内容的第二版本更高的比特率。
(特征5)根据特征1所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行,使第一回放设备被配置成:(i)检测第二回放设备与网络设备之间的第一连接质量的变化;(ii)基于检测到的变化,确定第一连接质量不再满足阈值标准;(iii)基于所述确定:(1)标识音频内容的第三版本;以及(2)使第二回放设备与第一回放设备和第三回放设备对音频内容的第一版本的回放同步地从回放音频内容的第一版本转换到回放音频内容的第三版本;以及(iv)与第三回放设备同步地继续回放音频内容的第一版本。
(特征6)根据特征5所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成检测第二回放设备与网络设备之间的第一连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:检测第一连接质量的降低,并且其中音频内容的第三版本包括(i)低于音频内容的第一版本并且(ii)高于音频内容的第二版本的比特率。
(特征7)根据特征1所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:对于作为用于回放音频内容的与第一回放设备的同步组的成员的第二回放设备和第三回放设备中的每一个,标识产生音频内容的相应能力;并且其中第二回放设备的相应能力(i)匹配第一回放设备的相应能力,并且(ii)不同于第三回放设备的相应能力。
(特征8)根据特征1所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成回放音频内容的第一版本或第二版本中的一个的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成回放音频内容的第一版本,回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)确定至少一个附加回放设备已经加入同步组;(ii)确定同步组中总回放设备的数量超过阈值量;以及(iii)基于确定同步组中的总回放设备的数量超过阈值量:(1)使第二回放设备和第三回放设备从回放音频内容的第一版本转换到回放音频内容的第二版本,其中音频内容的第二版本包括比音频内容的第一版本更低的比特率;(2)使至少一个附加回放设备与第二回放设备和第三回放设备同步地回放音频内容的第二版本;以及(3)与第二回放设备、第三回放设备和至少一个附加回放设备同步地从回放音频内容的第一版本转换到回放音频内容的第二版本。
(特征9)根据特征1所述的第一回放设备,其中:(i)可由至少一个处理器执行以使得第一回放设备被配置成使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:将音频内容的第一版本发送给第二回放设备用于回放;并且(ii)可由至少一个处理器执行以使得第一回放设备被配置成使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:将音频内容的第二版本发送给第三回放设备用于回放。
(特征10)根据特征1所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成检测第三回放设备与网络设备之间的第二连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:从第三回放设备接收第二连接质量已经改变的指示。
(特征11)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定第一连接质量满足阈值标准,而第二连接质量不满足阈值标准;(iv)回放音频内容的第一版本或第二版本中的一个;(v)基于确定第一连接质量满足阈值标准而第二连接质量不满足阈值标准:(1)使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本;以及(2)使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本;(vi)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(vii)基于检测到的第二连接质量的变化,使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
(特征12)根据特征11所述的非暂时性计算机可读介质,其中第一回放设备、第二回放设备和第三回放设备被配置成通过无线局域网(WLAN)与网络设备通信。
(特征13)根据特征11所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使第一回放设备检测第三回放设备与网络设备之间的第二连接质量的变化的程序指令包括以下程序指令,其当由至少一个处理器执行时,使第一回放设备:检测网络等待时间的变化或网络带宽的变化中的至少一个。
(特征14)根据特征11所述的非暂时性计算机可读介质,其中可由至少一个处理器执行以使得第一回放设备被配置成检测第三回放设备与网络设备之间的第二连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:检测第三回放设备与网络设备之间的第二连接质量的改善,并且其中音频内容的第一版本包括比音频内容的第二版本更高的比特率。
(特征15)根据特征11所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使所述第一回放设备:(i)检测所述第二回放设备和所述网络设备之间的所述第一连接质量的变化;(ii)基于检测到的变化,确定第一连接质量不再满足阈值标准;(iii)基于所述确定:(1)标识音频内容的第三版本;以及(2)使第二回放设备与第一回放设备和第三回放设备对音频内容的第一版本的回放同步地从回放音频内容的第一版本转换到回放音频内容的第三版本;以及(iv)与第三回放设备同步地继续回放音频内容的第一版本。
(特征16)根据特征15所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使第一回放设备检测第二回放设备与网络设备之间的第一连接质量的变化的程序指令包括以下程序指令,其当由至少一个处理器执行时,使第一回放设备:检测第一连接质量的降低,并且其中音频内容的第三版本包括(i)低于音频内容的第一版本并且(ii)高于音频内容的第二版本的比特率。
(特征17)根据特征11所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使第一回放设备标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量的程序指令还包括以下程序指令,其当由至少一个处理器执行时,使第一回放设备:对于作为用于回放音频内容的与第一回放设备的同步组的成员的第二回放设备和第三回放设备中的每一个,标识产生音频内容的相应能力;并且其中第二回放设备的相应能力(i)匹配第一回放设备的相应能力,并且(ii)不同于第三回放设备的相应能力。
(特征18)根据特征11所述的非暂时性计算机可读介质,其中:(1)当由至少一个处理器执行时,使第一回放设备回放音频内容的第一版本或第二版本中的一个的程序指令包括以下程序指令,其当由至少一个处理器执行时,使第一回放设备:回放音频内容的第一版本;并且(2)非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)确定至少一个附加回放设备已经加入同步组;(ii)确定同步组中总回放设备的数量超过阈值量;以及(iii)基于确定同步组中的总回放设备的数量超过阈值量:(1)使第二回放设备和第三回放设备从回放音频内容的第一版本转换到回放音频内容的第二版本,其中音频内容的第二版本包括比音频内容的第一版本更低的比特率;(2)使至少一个附加回放设备与第二回放设备和第三回放设备同步地回放音频内容的第二版本;以及(3)与第二回放设备、第三回放设备和至少一个附加回放设备同步地从回放音频内容的第一版本转换到回放音频内容的第二版本。
(特征19)根据特征11所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使第一回放设备检测第三回放设备与网络设备之间的第二连接质量的变化的程序指令包括以下程序指令,其当由至少一个处理器执行时,使第一回放设备:从第三回放设备接收第二连接质量已经改变的指示。
(特征20)一种由第一回放设备执行的方法,所述方法包括:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的第一连接质量以及第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定第一连接质量满足阈值标准,而第二连接质量不满足阈值标准;(iv)回放音频内容的第一版本或第二版本中的一个;(v)基于确定第一连接质量满足阈值标准并且第二连接质量不满足阈值标准:(1)使第二回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第一版本;以及(2)使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地回放音频内容的第二版本;(vi)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(vii)基于检测到的第二连接质量的变化,使第三回放设备与第一回放设备对音频内容的第一版本或第二版本中的一个的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
(特征21)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)标识音频内容的第一版本和第二版本;(ii)标识第二回放设备与网络设备之间的连接质量,其中第二回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(iii)确定连接质量不满足阈值标准;(iv)回放音频内容的第一版本;(v)基于确定连接质量不满足阈值标准,使第二回放设备与第一回放设备对音频内容的第一版本的回放同步地回放音频内容的第二版本;(vi)当第二回放设备正在回放音频内容的第二版本时,检测第二回放设备与网络设备之间的连接的连接质量的变化;以及(vi)基于检测到的连接质量的变化,使第二回放设备与第一回放设备对音频内容的第一版本的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
(特征22)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)作为包括第一回放设备和第二回放设备的同步组的一部分进行操作;(2)获得根据第一编码格式编码的音频内容的第一版本;(3)确定音频内容的第一版本不适合由第二回放设备回放;(4)基于所述确定,(i)解码音频内容的第一版本,以及(ii)根据第二编码格式重新编码音频内容的第二版本;(5)将音频内容的第二版本发送给第二回放设备用于回放;(6)使第二回放设备回放音频内容的第二版本;以及(7)与第二回放设备对音频内容的第二版本的回放同步地回放音频内容的第一版本。
(特征23)根据特征22所述的第一回放设备,其中音频内容的第一版本包括比音频内容的第二版本的相应比特率更高的比特率。
(特征24)根据特征22所述的第一回放设备,其中可由至少一个处理器执行以使得回放设备被配置成确定音频内容的第一版本不适合由第二回放设备回放的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(1)标识第二回放设备与网络设备之间的连接质量;以及(2)确定连接质量不满足阈值连接质量。
(特征25)根据特征24所述的第一回放设备,其中第一回放设备和第二回放设备被配置成通过无线局域网(WLAN)与网络设备通信。
(特征26)根据特征24所述的第一回放设备,还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(1)确定第二回放设备与网络设备之间的连接质量的变化,其中基于所述变化,连接质量满足阈值连接质量;以及(2)基于所述确定:(i)将音频内容的第一版本发送给第二回放设备;以及(ii)使第二回放设备与第一回放设备对音频内容的第一版本的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
(特征27)根据特征26所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成确定第二回放设备与网络设备之间的连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:确定(i)网络等待时间或(ii)网络带宽中的一个或两者的改善,并且其中音频内容的第一版本包括比音频内容的第二版本的相应比特率更高的比特率。
(特征28)根据特征24所述的第一回放设备,还包括以下程序指令,其可由所述至少一个处理器执行以使得回放设备被配置成:(1)确定同步组的第三回放设备与网络设备之间的第三连接质量的变化,其中基于所述变化,第三连接质量不满足阈值连接质量;以及(2)基于所述确定:(i)根据第三编码格式重新编码音频内容的第三版本;(ii)将音频内容的第三版本发送给第三回放设备;以及(iii)使第三回放设备与第一回放设备对音频内容的第一版本的回放和第二回放设备对音频内容的第二版本的回放同步地从回放音频内容的第一版本或第二版本转换到回放音频内容的第三版本。
(特征29)根据特征28所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成确定第三回放设备与网络设备之间的第三连接质量的变化的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:确定(i)网络等待时间或(ii)网络带宽中的一个或两者的减少,并且其中第三版本包括比第二版本的相应比特率更高但是比第一版本的相应比特率更低的比特率。
(特征30)根据特征22所述的第一回放设备,其中可由至少一个处理器执行以使得回放设备被配置成确定音频内容的第一版本不适合由同步组的第二回放设备回放的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:确定音频内容的第一版本中的多个音频声道不适合由第二回放设备回放。
(特征31)根据特征22所述的第一回放设备,其中可由至少一个处理器执行以使得回放设备被配置成获得音频内容的第一版本的程序指令包括以下程序指令,其可由至少一个处理器执行以使得回放设备被配置成:经由音频线路输入输入连接从计算设备获得音频内容的第一版本。
(特征32)根据特征22所述的第一回放设备,其中可由所述至少一个处理器执行以使得回放设备被配置成获得音频内容的第一版本的程序指令包括以下程序指令,其可由至少一个处理器执行以使得回放设备被配置成:从媒体流服务获得音频内容的第一版本。
(特征33)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使回放设备:(1)作为包括第一回放设备和第二回放设备的同步组的一部分进行操作;(2)获得根据第一编码格式编码的音频内容的第一版本;(3)确定音频内容的第一版本不适合由第二回放设备回放;(4)基于所述确定,(i)解码音频内容的第一版本,以及(ii)根据第二编码格式重新编码音频内容的第二版本;(5)将音频内容的第二版本发送给第二回放设备用于回放;(6)使第二回放设备回放音频内容的第二版本;以及(7)与第二回放设备对音频内容的第二版本的回放同步地回放音频内容的第一版本。
(特征34)根据特征33所述的非暂时性计算机可读介质,其中音频内容的第一版本包括比音频内容的第二版本的相应比特率更高的比特率。
(特征35)根据特征33所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使回放设备确定音频内容的第一版本不适合由第二回放设备回放的程序指令包括以下程序指令,其当由至少一个处理器执行时,使回放设备:(1)标识第二回放设备与网络设备之间的连接质量;以及(2)确定连接质量不满足阈值连接质量。
(特征36)根据特征35所述的非暂时性计算机可读介质,其中第一回放设备和第二回放设备被配置成通过无线局域网(WLAN)与网络设备通信。
(特征37)根据特征35所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使回放设备:(1)确定第二回放设备与网络设备之间的连接质量的变化,其中基于所述变化,连接质量满足阈值连接质量;以及(2)基于所述确定:(i)将音频内容的第一版本发送给第二回放设备;以及(ii)使第二回放设备与第一回放设备对音频内容的第一版本的回放同步地从回放音频内容的第二版本转换到回放音频内容的第一版本。
(特征38)根据特征35所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使回放设备:(1)确定同步组的第三回放设备与网络设备之间的第三连接质量的变化,其中基于所述变化,第三连接质量不满足阈值连接质量;以及(2)基于所述确定:(i)根据第三编码格式重新编码音频内容的第三版本;(ii)将音频内容的第三版本发送给第三回放设备;以及(iii)使第三回放设备与第一回放设备对音频内容的第一版本的回放和第二回放设备对音频内容的第二版本的回放同步地从回放音频内容的第一版本或第二版本转换到回放音频内容的第三版本。
(特征39)根据特征33所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使回放设备确定音频内容的第一版本不适合由同步组的第二回放设备回放的程序指令包括以下程序指令,其当由至少一个处理器执行时,使回放设备:确定音频内容的第一版本中的多个音频声道不适合由第二回放设备回放。
(特征40)一种由回放设备执行的方法,所述方法包括:(1)作为包括第一回放设备和第二回放设备的同步组的一部分进行操作;(2)获得根据第一编码格式编码的音频内容的第一版本;(3)确定音频内容的第一版本不适合由第二回放设备回放;(4)基于所述确定,(i)解码音频内容的第一版本,以及(ii)根据第二编码格式重新编码音频内容的第二版本;(5)将音频内容的第二版本发送给第二回放设备用于回放;(6)使第二回放设备回放音频内容的第二版本;以及(7)与第二回放设备对音频内容的第二版本的回放同步地回放音频内容的第一版本。
(特征41)根据特征40所述的方法,其中音频内容的第一版本包括比音频内容的第二版本的相应比特率更高的比特率。
(特征42)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为用于音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
(特征43)根据特征42所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:在基于确定第二回放设备的第二回放能力从基于云的媒体内容服务获得给定音频内容的第二版本之前:确定第二回放设备的第二回放能力。
(特征44)根据特征43所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成确定第二回放设备的第二回放能力的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:从第二回放设备接收第二回放设备的第二回放能力的指示。
(特征45)根据特征43所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成确定第二回放设备的第二回放能力的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:经由被配置成与基于云的媒体内容服务通信的远程计算设备接收第二回放设备的第二回放能力的指示。
(特征46)根据特征43所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成确定第二回放设备的回放能力的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:基于第一回放能力与第二回放能力之间的比较,确定第一回放设备将充当同步组的组协调器。
(特征47)根据特征42所述的第一回放设备,其中给定音频内容的第一版本是加密音频内容,并且其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成确定第二回放设备的第二回放能力的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:确定第二回放设备不能解密加密的音频内容。
(特征48)根据特征47所述的第一回放设备,其中给定音频内容的第二版本是(i)给定音频内容的较低质量版本,并且(ii)未加密。
(特征49)根据特征42所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成与第二回放设备协调以同步回放给定音频内容的第二版本的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:向第二回放设备发送(i)给定音频内容的第二版本和(ii)回放定时信息。
(特征50)根据特征42所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成回放从基于云的媒体内容服务获得的给定音频内容的第一版本的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:从被配置成与基于云的媒体内容服务通信的远程计算设备接收给定音频内容的第一版本。
(特征51)根据特征42所述的第一回放设备,其中:(1)存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成回放从基于云的媒体内容服务获得的给定音频内容的第一版本的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(i)请求给定音频内容的第一版本;(ii)接收用于从基于云的媒体内容服务检索给定音频内容的第一版本的第一URI;以及(iii)使用第一URI从基于云的媒体内容服务中检索给定音频内容的第一版本;并且(2)存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成从基于云的媒体内容服务获得给定音频内容的第二版本的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(i)请求给定音频内容的第二版本;(ii)接收用于从基于云的媒体内容服务检索给定音频内容的第二版本的第二URI;以及(iii)使用第二URI从基于云的媒体内容服务中检索给定音频内容的第二版本。
(特征52)根据特征42所述的第一回放设备,其中:(1)存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成回放从基于云的媒体内容服务获得的给定音频内容的第一版本的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:请求给定音频内容的第一版本;接收清单,所述清单包括用于从基于云的媒体内容服务检索给定音频内容的相应多个版本的多个URI,所述清单包括(i)用于检索给定音频内容的第一版本的第一URI,以及(ii)用于检索给定音频内容的第二版本的第二URI;并且使用第一UR1从基于云的媒体内容服务中检索给定音频内容的第一版本;并且(2)存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成从基于云的媒体内容服务获得给定音频内容的第二版本的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:使用第二URI从基于云的媒体内容服务检索给定音频内容的第二版本。
(特征53)根据特征42所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:在到达给定音频内容的第一版本中的给定音轨边界之后,转换到回放给定音频内容的第二版本。
(特征54)根据特征42所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:当(i)使用第一统一资源标识符(“URI”)将给定音频内容的第一版本下载到第一缓冲器,以及(ii)从第一缓冲器回放给定音频内容的第一版本时,开始使用第二URI将给定音频内容的第二版本下载到第二缓冲器;以及从回放来自第一缓冲器的给定音频内容的第一版本转换到回放来自第二缓冲器的给定音频内容的第二版本。
(特征55)根据特征42所述的第一回放设备,还包括以下程序指令,其存储在非暂时性计算机可读介质上可由至少一个处理器执行以使得第一回放设备被配置成:在接收第二回放设备加入第一回放设备作为同步组的一部分的命令的指示之前:(i)接收第三回放设备加入第一回放设备作为同步组的一部分的命令的指示;(ii)确定第三回放设备的第三回放能力;(iii)基于第三回放设备的第三回放能力,确定第一回放设备将充当同步组的组协调器;以及(iv)与第三回放设备协调,以与第一回放设备同步地回放给定音频内容的第一版本。
(特征56)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为用于音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
(特征57)根据特征56所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:在基于确定第二回放设备的第二回放能力从基于云的媒体内容服务获得给定音频内容的第二版本之前:确定第二回放设备的第二回放能力。
(特征58)根据特征57所述的非暂时性计算机可读介质,其中存储在非暂时性计算机可读介质上的当由至少一个处理器执行时使第一回放设备确定第二回放设备的第二回放能力的程序指令包括以下程序指令,其当由至少一个处理器执行时使第一回放设备:从第二回放设备接收第二回放设备的第二回放能力的指示。
(特征59)根据特征57所述的非暂时性计算机可读介质,其中存储在非暂时性计算机可读介质上的当由至少一个处理器执行时使第一回放设备确定第二回放设备的第二回放能力的程序指令包括以下程序指令,其当由至少一个处理器执行时使第一回放设备:经由被配置成与基于云的媒体内容服务通信的远程计算设备,接收第二回放设备的第二回放能力的指示。
(特征60)一种由第一回放设备执行的方法,所述方法包括:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为用于音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
(特征61)根据特征60所述的方法,还包括:在基于确定第二回放设备的第二回放能力从基于云的媒体内容服务获得给定音频内容的第二版本之前:确定第二回放设备的第二回放能力。
(特征62)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(i)从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案进行加密;(ii)与基于云的许可服务通信,以获得用于解密音频内容的信息;(iii)使用获得的信息来解密音频内容;(iv)根据第二加密方案来重新加密解密的音频内容;(v)将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
(特征63)根据特征62所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)从第二回放设备接收对用于解密重新加密的音频内容的信息的请求;以及(ii)基于所述请求,将用于解密重新加密的音频内容的信息发送给第二回放设备。
(特征64)根据特征62所述的第一回放设备,其中所述重新加密的音频内容包括多个音频帧,所述第一回放设备还包括存储在所述非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)生成一组加密密钥,每个加密密钥对应于重新加密的音频内容的预定数量的音频帧;以及(ii)将该组加密密钥发送给第二回放设备。
(特征65)根据特征64所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成根据第二加密方案来重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(1)使用该组加密密钥中的第一加密密钥来重新加密解密的音频内容的预定数量的音频帧;以及(2)在使用第一加密密钥重新加密预定数量的音频帧之后,(i)中止使用第一加密密钥,以及(ii)使用该组加密密钥中的下一个加密密钥开始重新加密解密的音频内容的下一个音频帧。
(特征66)根据特征65所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)在中止使用至少第一加密密钥之后,从该组加密密钥中丢弃至少第一加密密钥;(ii)生成至少一个新的加密密钥;(iii)将至少一个新的加密密钥添加到该组加密密钥中;以及(iv)将至少一个新的加密密钥发送给第二回放设备。
(特征67)根据特征62所述的第一回放设备,(1)其中重新加密的音频内容包括多个音频帧,其中重新加密的音频内容的每个帧包括(i)音频数据部分和(ii)报头部分,所述报头部分包括用于与第一回放设备同步回放音频内容的回放定时信息;以及(2)其中可由至少一个处理器执行以使得第一回放设备被配置成重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成重新加密多个音频帧中的每个音频帧的音频数据部分。
(特征68)根据特征62所述的第一回放设备,其中音频内容包括多个音频声道,第一回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)在根据第二加密方案来重新加密解密的音频内容之前,确定所有声道的音频内容要被发送给第二回放设备;以及(ii)其中可由至少一个处理器执行以使得第一回放设备被配置成重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成基于确定音频内容的所有音频声道要被发送给第二回放设备来重新加密解密的音频内容。
(特征69)根据特征62所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)接收用于控制音频内容的回放的命令的指示;(ii)根据第二加密方案来加密指示回放命令的数据包;以及(iii)将指示加密的回放命令的数据包发送给第二回放设备。
(特征70)根据特征62所述的第一回放设备,其中第一加密方案是非对称加密方案,并且其中第二加密方案是对称加密方案。
(特征71)根据特征62所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(i)从第二回放设备接收根据第二加密方案加密的数据包;(ii)解密来自第二回放设备的数据包;(iii)基于解密的数据包,确定用于控制音频内容的回放的命令的指示;并且执行用于控制音频内容的回放的命令。
(特征72)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)从基于云的媒体服务获得音频内容,其中所述音频内容根据第一加密方案被加密;(ii)与基于云的许可服务通信以获得用于解密音频内容的信息;(iii)使用所获得的信息来解密音频内容;(iv)根据第二加密方案来重新加密解密的音频内容;(v)将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
(特征73)根据特征72所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)从第二回放设备接收对用于解密重新加密的音频内容的信息的请求;以及(ii)基于所述请求,将用于解密重新加密的音频内容的信息发送给第二回放设备。
(特征74)根据特征72所述的非暂时性计算机可读介质,其中所述重新加密的音频内容包括多个音频帧,并且其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)生成一组加密密钥,每个加密密钥对应于重新加密的音频内容的预定数量的音频帧;以及(ii)将该组加密密钥发送给第二回放设备。
(特征75)根据特征74所述的非暂时性计算机可读介质,其中当由至少一个处理器执行时,使第一回放设备根据第二加密方案来重新加密解密的音频内容的程序指令包括以下程序指令,其当由至少一个处理器执行时,使第一回放设备:(1)使用该组加密密钥中的第一加密密钥来重新加密解密的音频内容的预定数量的音频帧;以及(2)在使用第一加密密钥重新加密预定数量的音频帧之后,(i)中止使用第一加密密钥,以及(ii)使用该组加密密钥中的下一个加密密钥开始重新加密解密的音频内容的下一个音频帧。
(特征76)根据特征75所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)在中止使用至少第一加密密钥之后,从该组加密密钥中丢弃至少第一加密密钥;(ii)生成至少一个新的加密密钥;(iii)将至少一个新的加密密钥添加到该组加密密钥中;以及(iv)将至少一个新的加密密钥发送给第二回放设备。
(特征77)根据特征72所述的非暂时性计算机可读介质,(1)其中,重新加密的音频内容包括多个音频帧,其中重新加密的音频内容的每个帧包括(i)音频数据部分和(ii)报头部分,所述报头部分包括用于与第一回放设备同步地回放音频内容的回放定时信息;并且(2)其中可由至少一个处理器执行以使得第一回放设备被配置成重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成重新加密多个音频帧中的每个音频帧的音频数据部分。
(特征78)根据特征72所述的非暂时性计算机可读介质,其中音频内容包括多个音频声道,并且其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)在根据第二加密方案来重新加密解密的音频内容之前,确定所有声道的音频内容要被发送给第二回放设备;以及(ii)其中可由所述至少一个处理器执行以使得第一回放设备被配置成重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成基于确定所有音频声道的音频内容要被发送给第二回放设备来重新加密解密的音频内容。
(特征79)根据特征72所述的非暂时性计算机可读介质,其中第一加密方案是非对称加密方案,并且其中第二加密方案是对称加密方案。
(特征80)根据特征72所述的非暂时性计算机可读介质,其中所述非暂时性计算机可读介质还配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(i)从第二回放设备接收根据第二加密方案加密的数据包;(ii)解密来自第二回放设备的数据包;(iii)基于解密的数据包,确定用于控制音频内容的回放的命令的指示;并且执行用于控制音频内容的回放的命令。
(特征81)一种由第一回放设备执行的方法,所述方法包括:(i)从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案进行加密;(ii)与基于云的许可服务通信,以获得用于解密音频内容的信息;(iii)使用获得的信息来解密音频内容;(iv)根据第二加密方案来重新加密解密的音频内容;(v)将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及(vi)与第二回放设备对音频内容的回放同步地回放音频内容。
(特征82)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案进行加密;(2)与基于云的许可服务通信,以获得用于解密音频内容的信息;(3)使用获得的信息来解密音频内容;(4)根据第二加密方案来重新加密解密的音频内容;(5)将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及(6)与第二回放设备对音频内容的回放同步地回放音频内容。
(特征83)根据特征82所述的第一回放设备,其中音频内容包括根据第一编码格式编码的音频内容的第一版本,第一回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)当与第二回放设备同步地回放音频内容的第一版本时,接收第三回放设备加入同步组的命令的指示;(2)确定音频内容的第一版本不适合由第三回放设备回放;(3)基于所述确定,(i)解码音频内容的第一版本,以及(ii)根据第二编码格式重新编码音频内容的第二版本;(4)将音频内容的第二版本发送给第三回放设备进行回放;以及(5)使第三回放设备与第一回放设备和第二回放设备对音频内容的第一版本的回放同步地回放音频内容的第三版本。
(特征84)根据特征83所述的第一回放设备,其中音频内容的第一版本包括比音频内容的第二版本的相应比特率更高的比特率,并且其中可由至少一个处理器执行以使得第一回放设备被配置成确定音频内容的第一版本不适合由第三回放设备回放的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(1)标识第三回放设备与网络设备之间的连接质量,所述网络设备被配置成通过无线局域网(WLAN)与第一回放设备、第二回放设备和第三回放设备通信;以及(2)确定连接质量不满足阈值连接质量。
(特征85)根据特征82所述的第一回放设备,其中音频内容包括音频内容的第一版本,所述第一版本对应于(i)第一回放设备的第一回放能力和(ii)第二回放设备的第二回放能力,并且其中第一回放设备和第二回放设备是同步组的一部分,第一回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)当与第二回放设备同步回放音频内容的第一版本时,接收用于第三回放设备加入同步组的命令的指示;(2)基于确定第三回放设备的第三回放能力,从基于云的媒体服务获得音频内容的第二版本,其中音频内容的第二版本对应于第三回放能力;(3)从回放音频内容的第一版本转换到回放音频内容的第二版本;(4)使第二回放设备从回放音频内容的第一版本转换到回放音频内容的第二版本;以及(5)使第三回放设备与第一回放设备和第二回放设备同步地回放音频内容的第二版本。
(特征86)根据特征85所述的第一回放设备,其中音频内容的第二版本是(i)比音频内容的第一版本质量更低的版本,并且(ii)未被加密,并且其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成确定第三回放设备的第三回放能力的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:基于第一回放能力与第三回放能力之间的比较,确定第一回放设备将充当同步组的组协调器。
(特征87)根据特征86所述的第一回放设备,其中存储在非暂时性计算机可读介质上的可由至少一个处理器执行以使得第一回放设备被配置成确定第三回放设备的第三回放能力的程序指令还包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:确定第三回放设备不能解密加密的音频内容。
(特征88)根据特征82所述的第一回放设备,其中音频内容包括音频内容的第一版本,第一回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)标识音频内容的第二版本;(2)标识(i)第二回放设备与网络设备之间的第一连接质量,以及(ii)第三回放设备与网络设备之间的第二连接质量,其中第二回放设备和第三回放设备是用于回放音频内容的与第一回放设备的同步组的成员;(3)确定第一连接质量满足阈值标准,而第二连接质量不满足阈值标准;(4)基于确定第二连接质量不满足阈值标准:使第三回放设备与第一回放设备和第二回放设备对音频内容的第一版本的回放同步地回放音频内容的第二版本;(5)当第三回放设备正在回放音频内容的第二版本时,检测第三回放设备与网络设备之间的第二连接质量的变化;以及(6)基于检测到的第二连接质量的变化,将音频内容的重新加密的第一版本发送给第三回放设备用于与第一回放设备和第二回放设备同步回放。
(特征89)根据特征82、83、85或88中任一项所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)从第二回放设备接收对用于解密重新加密的音频内容的信息的请求;以及(2)基于所述请求,将用于解密重新加密的音频内容的信息发送给第二回放设备。
(特征90)根据特征82、83、85或88中任一项所述的第一回放设备,其中重新加密的音频内容包括多个音频帧,第一回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)生成一组加密密钥,每个加密密钥对应于重新加密的音频内容的预定数量的音频帧;以及(2)将该组加密密钥发送给第二回放设备。
(特征91)根据特征90所述的第一回放设备,其中可由至少一个处理器执行以使得第一回放设备被配置成根据第二加密方案来重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成:(1)使用该组加密密钥中的第一加密密钥来重新加密解密的音频内容的预定数量的音频帧;以及(2)在使用第一加密密钥重新加密预定数量的音频帧之后,(i)中止使用第一加密密钥,以及(ii)使用该组加密密钥中的下一个加密密钥开始重新加密解密的音频内容的下一个音频帧。
(特征92)根据特征91所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)在中止使用至少第一加密密钥之后,从该组加密密钥中丢弃至少第一加密密钥;(2)生成至少一个新的加密密钥;(3)将至少一个新的加密密钥添加到该组加密密钥中;以及(4)将至少一个新的加密密钥发送给第二回放设备。
(特征93)根据特征82、83、85或88中的一项所述的第一回放设备,其中重新加密的音频内容包括多个音频帧,其中重新加密的音频内容的每个帧包括(i)音频数据部分和(ii)报头部分,所述报头部分包括用于与第一回放设备同步回放音频内容的回放定时信息;并且其中可由至少一个处理器执行以使得第一回放设备被配置成重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成重新加密多个音频帧中的每个音频帧的音频数据部分。
(特征94)根据特征82、83、85或88中的一项所述的第一回放设备,其中音频内容包括多个音频声道,第一回放设备还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)在根据第二加密方案来重新加密解密的音频内容之前,确定所有声道的音频内容要被发送给第二回放设备;以及(2)其中可由至少一个处理器执行以使得第一回放设备被配置成重新加密解密的音频内容的程序指令包括以下程序指令,其可由至少一个处理器执行以使得第一回放设备被配置成基于确定所有音频声道的音频内容要被发送给第二回放设备来重新加密解密的音频内容。
(特征95)根据特征82、83、85或88中的一项所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)接收用于控制音频内容的回放的命令的指示;(2)根据第二加密方案加密指示回放命令的数据包;以及(3)将指示加密的回放命令的数据包发送给第二回放设备。
(特征96)根据特征82、83、85或88中的一项所述的第一回放设备,其中第一加密方案是非对称加密方案,并且其中第二加密方案是对称加密方案。
(特征97)根据特征82、83、85或88中的一项所述的第一回放设备,还包括存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成:(1)从第二回放设备接收根据第二加密方案加密的数据包;(2)解密来自第二回放设备的数据包;(3)基于解密的数据包,确定用于控制音频内容的回放的命令的指示;以及(4)执行用于控制音频内容的回放的命令。
(特征98)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备:(1)从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案进行加密;(2)与基于云的许可服务通信,以获得用于解密音频内容的信息;(3)使用获得的信息来解密音频内容;(4)根据第二加密方案来重新加密解密的音频内容;(5)将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及(6)与第二回放设备对音频内容的回放同步地回放音频内容。
(特征98)一种由第一回放设备执行的方法,所述方法包括:(1)从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案进行加密;(2)与基于云的许可服务通信,以获得用于解密音频内容的信息;(3)使用获得的信息来解密音频内容;(4)根据第二加密方案来重新加密解密的音频内容;(5)将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及(6)与第二回放设备对音频内容的回放同步地回放音频内容。
(特征99)一种由第一回放设备执行的方法,所述方法包括:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本,其中给定音频内容的第一版本对应于第一回放设备的第一回放能力;(ii)在回放给定音频内容的第一版本时,接收第二回放设备加入第一回放设备作为用于音频内容同步回放的同步组的一部分的命令的指示;(iii)基于确定第二回放设备的第二回放能力,从基于云的媒体内容服务获得给定音频内容的第二版本,其中给定音频内容的第二版本对应于第二回放能力;(iv)从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本;以及(v)与第二回放设备协调以同步回放给定音频内容的第二版本。
(特征100)根据特征99所述的方法,还包括:在基于确定第二回放设备的第二回放能力从基于云的媒体内容服务获得给定音频内容的第二版本之前:确定第二回放设备的第二回放能力。
(特征101)根据特征100所述的方法,其中确定第二回放设备的第二回放能力包括以下中的至少一个:(i)从第二回放设备接收第二回放设备的第二回放能力的指示;以及(ii)经由被配置成与基于云的媒体内容服务通信的远程计算设备接收第二回放设备的第二回放能力的指示;以及(iii)基于第一回放能力与第二回放能力之间的比较,确定第一回放设备将充当同步组的组协调器。
(特征102)根据特征99至101所述的方法,其中:(i)确定第二回放设备的第二回放能力包括确定第二回放设备不能解密加密的音频内容,(ii)给定音频内容的第一版本是加密的音频;并且(iii)音频内容的第二版本没有被加密。
(特征103)根据特征102所述的方法,其中给定音频内容的第二版本是给定音频内容的较低质量版本。
(特征104)根据特征99至103所述的方法,其中与第二回放设备协调以同步回放给定音频内容的第二版本包括:向第二回放设备发送给定音频内容的第二版本和回放定时信息。
(特征105)根据特征99至104所述的方法,其中回放从基于云的媒体内容服务获得的给定音频内容的第一版本包括:从被配置成与基于云的媒体内容服务通信的远程计算设备接收给定音频内容的第一版本。
(特征106)根据特征99至105所述的方法,其中:(i)回放从基于云的媒体内容服务获得的给定音频内容的第一版本包括:(1)请求给定音频内容的第一版本;(2)接收用于从基于云的媒体内容服务检索给定音频内容的第一版本的第一URI;以及(3)使用第一URI从基于云的媒体内容服务中检索给定音频内容的第一版本;并且(ii)其中从基于云的媒体内容服务获得给定音频内容的第二版本包括:(1)请求给定音频内容的第二版本;(2)接收用于从基于云的媒体内容服务检索给定音频内容的第二版本的第二URI;以及(3)使用第二URI从基于云的媒体内容服务中检索给定音频内容的第二版本。
(特征107)根据特征99至106所述的方法,其中:回放从基于云的媒体内容服务获得的给定音频内容的第一版本包括:(1)请求给定音频内容的第一版本;(2)接收清单,所述清单包括用于从基于云的媒体内容服务检索给定音频内容的相应多个版本的多个URI,所述清单包括(i)用于检索给定音频内容的第一版本的第一URI,以及(ii)用于检索给定音频内容的第二版本的第二URI;以及(3)使用第一URI从基于云的媒体内容服务中检索给定音频内容的第一版本;并且其中从基于云的媒体内容服务获得给定音频内容的第二版本包括使用第二UR1从基于云的媒体内容服务检索给定音频内容的第二版本。
(特征108)根据特征99至107所述的方法,其中在到达给定音频内容的第一版本中的给定音轨边界之后,执行从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本的步骤。
(特征109)根据特征99至108所述的方法,其中从回放给定音频内容的第一版本转换到回放给定音频内容的第二版本包括:(1)当(i)使用第一统一资源标识符(“URI”)将给定音频内容的第一版本下载到第一缓冲器,以及(ii)从第一缓冲器回放给定音频内容的第一版本时,开始使用第二URI将给定音频内容的第二版本下载到第二缓冲器;以及(2)从回放来自第一缓冲器的给定音频内容的第一版本转换到回放来自第二缓冲器的给定音频内容的第二版本。
(特征110)根据特征99至109所述的方法,还包括:在接收第二回放设备加入第一回放设备作为同步组的一部分的命令的指示之前:(i)接收第三回放设备加入第一回放设备作为同步组的一部分的命令的指示;(ii)基于第三回放设备的第三回放能力,确定第一回放设备将充当同步组的组协调器;以及(iii)与第三回放设备协调,以与第一回放设备同步地回放给定音频内容的第一版本。
(特征111)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备执行根据特征99至110中的一项所述的方法。
(特征112)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指可由至少一个处理器执行以使得第一回放设备被配置成执行根据特征99至110中的一项所述的方法。
(特征113)一种用于第一回放设备的方法,所述方法包括:从基于云的媒体服务获得音频内容,其中音频内容根据第一加密方案进行加密;与基于云的许可服务通信,以获得用于解密音频内容的信息;使用获得的信息来解密音频内容;根据第二加密方案来重新加密解密的音频内容;将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与第一回放设备分组在一起用于同步音频回放;以及与第二回放设备回放音频内容同步地回放音频内容。
(特征114)根据特征113所述的方法,还包括:从第二回放设备接收对用于解密重新加密的音频内容的信息的请求;以及基于所述请求,将用于解密重新加密的音频内容的信息发送给第二回放设备。
(特征115)根据特征113或114所述的方法,还包括:生成一组加密密钥,每个加密密钥对应于重新加密的音频内容的预定数量的音频帧,其中重新加密的音频内容包括多个音频帧;以及将该组加密密钥发送给第二回放设备。
(特征116)根据特征115所述的方法,其中根据第二加密方案来重新加密解密的音频内容包括:使用该组加密密钥中的第一加密密钥重新加密解密的音频内容的预定数量的音频帧;并且在使用第一加密密钥重新加密预定数量的音频帧之后:中止使用第一加密密钥;以及使用该组加密密钥中的下一个加密密钥开始重新加密解密的音频内容的下一个音频帧。
(特征117)根据特征116所述的方法,还包括:在中止使用至少第一加密密钥之后,从该组加密密钥中丢弃至少第一加密密钥;生成至少一个新的加密密钥;将至少一个新的加密密钥添加到该组加密密钥中;以及将至少一个新的加密密钥发送给第二回放设备。
(特征118)根据特征113至117中任一项所述的方法,其中:重新加密的音频内容包括多个音频帧,所述音频帧包括音频数据部分和报头部分,所述报头部分包括用于与第一回放设备同步地回放音频内容的回放定时信息;并且重新加密解密的音频内容包括重新加密多个音频帧中的每个音频帧的音频数据部分。
(特征119)根据特征113至118中任一项所述的方法,还包括:在根据第二加密方案来重新加密解密的音频内容之前,确定多个声道中的所有声道的音频内容要被发送给第二回放设备。
(特征120)根据特征113至119中任一项所述的方法,还包括:接收用于控制音频内容的回放的命令的指示;根据第二加密方案加密指示回放命令的数据包;以及将指示加密的回放命令的数据包发送给第二回放设备。
(特征121)根据特征113至120中任一项所述的方法,其中第一加密方案是非对称加密方案,并且其中第二加密方案是对称加密方案。
(特征122)根据特征113所述的方法,还包括:从第二回放设备接收根据第二加密方案加密的数据包;解密来自第二回放设备的数据包;基于解密的数据包,确定用于控制音频内容的回放的命令的指示;以及执行用于控制音频内容的回放的命令。
(特征123)一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备执行根据特征113至122中任一项所述的方法。
(特征124)一种第一回放设备,包括:至少一个处理器;非暂时性计算机可读介质;以及存储在非暂时性计算机可读介质上的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置成执行根据特征113至122中任一项所述的方法。
Claims (12)
1.一种用于第一回放设备的方法,所述方法包括:
从基于云的媒体服务获得音频内容,其中所述音频内容根据第一加密方案进行加密;
与基于云的许可服务通信以获得用于解密所述音频内容的信息;
使用所获得的信息来解密所述音频内容;
根据第二加密方案重新加密解密的音频内容;
将重新加密的音频内容发送给至少第二回放设备,所述第二回放设备与所述第一回放设备分组在一起以用于同步音频回放;以及
与所述第二回放设备对所述音频内容的回放同步地回放所述音频内容。
2.根据权利要求1所述的方法,还包括:
从所述第二回放设备接收对用于解密所述重新加密的音频内容的信息的请求;以及
基于所述请求,将用于解密所述重新加密的音频内容的所述信息发送给所述第二回放设备。
3.根据权利要求1或2所述的方法,还包括:
生成一组加密密钥,每个加密密钥对应于所述重新加密的音频内容的预定数量的音频帧,其中所述重新加密的音频内容包括多个音频帧;以及
将所述一组加密密钥发送给所述第二回放设备。
4.根据权利要求3所述的方法,其中根据第二加密方案重新加密解密的音频内容包括:
使用所述一组加密密钥中的第一加密密钥重新加密所述解密的音频内容的所述预定数量的音频帧;以及
在使用所述第一加密密钥重新加密所述预定数量的音频帧之后:
中止使用所述第一加密密钥;以及
使用所述一组加密密钥中的下一个加密密钥开始重新加密所述解密的音频内容的下一个音频帧。
5.根据权利要求4所述的方法,还包括:
在中止使用至少所述第一加密密钥之后,从所述一组加密密钥中丢弃至少所述第一加密密钥;
生成至少一个新的加密密钥;
将所述至少一个新的加密密钥添加到所述一组加密密钥中;以及
将所述至少一个新的加密密钥发送给所述第二回放设备。
6.根据任一前述权利要求所述的方法,其中:
所述重新加密的音频内容包括包含音频数据部分和报头部分的多个音频帧,所述报头部分包括用于与所述第一回放设备同步回放所述音频内容的回放定时信息;以及
重新加密所述解密的音频内容包括重新加密所述多个音频帧中每个音频帧的音频数据部分。
7.根据任一前述权利要求所述的方法,还包括:
在根据所述第二加密方案重新加密所述解密的音频内容之前,确定所述音频内容的多个声道中所有声道要被发送给所述第二回放设备。
8.根据任一前述权利要求所述的方法,还包括:
接收用于控制所述音频内容的回放的命令的指示;
根据所述第二加密方案来加密指示所述回放命令的数据包;以及
将指示加密的回放命令的所述数据包发送给所述第二回放设备。
9.根据任一前述权利要求所述的方法,其中所述第一加密方案是非对称加密方案,并且其中所述第二加密方案是对称加密方案。
10.根据权利要求1所述的方法,还包括:
从所述第二回放设备接收根据所述第二加密方案加密的数据包;
解密来自所述第二回放设备的所述数据包;
基于解密的数据包,确定用于控制所述音频内容的回放的命令的指示;以及
执行用于控制所述音频内容的回放的所述命令。
11.一种非暂时性计算机可读介质,其中所述非暂时性计算机可读介质配备有程序指令,当所述程序指令由至少一个处理器执行时,使第一回放设备执行根据任一前述权利要求所述的方法。
12.一种第一回放设备,包括:
至少一个处理器;
非暂时性计算机可读介质;以及
存储在所述非暂时性计算机可读介质上的程序指令,所述程序指令能够由所述至少一个处理器执行,使得所述第一回放设备被配置成执行根据权利要求1至10中的一项所述的方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/186,796 | 2021-05-10 | ||
US63/238,571 | 2021-08-30 | ||
US63/250,558 | 2021-09-30 | ||
US202263330865P | 2022-04-14 | 2022-04-14 | |
US63/330,865 | 2022-04-14 | ||
PCT/US2022/028563 WO2022240854A1 (en) | 2021-05-10 | 2022-05-10 | Audio encryption in a media playback system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117643064A true CN117643064A (zh) | 2024-03-01 |
Family
ID=90022041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048970.1A Pending CN117643064A (zh) | 2021-05-10 | 2022-05-10 | 媒体回放系统中的音频加密 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117643064A (zh) |
-
2022
- 2022-05-10 CN CN202280048970.1A patent/CN117643064A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11812253B2 (en) | Wireless multi-channel headphone systems and methods | |
JP6577082B2 (ja) | サテライトボリュームコントロール | |
JP6114882B2 (ja) | アンプのインテリジェントなアクティブ化 | |
JP2019004479A (ja) | 低遅延オーディオを提供するシステム、方法、装置および生産物 | |
JP2024020356A (ja) | オーディオ装置間での再生移行 | |
US11809780B2 (en) | Distributed synchronization | |
US11916991B2 (en) | Hybrid sniffing and rebroadcast for Bluetooth mesh networks | |
JP6148737B2 (ja) | モバイルソースメディアコンテンツへのアクセス | |
US20240069853A1 (en) | Techniques for Extending the Lifespan of Playback Devices | |
US20220358943A1 (en) | Dynamic Transcoding for Enhancing Audio Playback | |
CA3155380A1 (en) | Synchronizing playback of audio information received from other networks | |
CN117643064A (zh) | 媒体回放系统中的音频加密 | |
CA3223764A1 (en) | Managing content quality and related characteristics of a media playback system | |
US11831288B2 (en) | Techniques for enabling interoperability between media playback systems | |
US20240111484A1 (en) | Techniques for Intelligent Home Theater Configuration | |
US20230023652A1 (en) | Wireless Streaming of Audio/Visual Content in a Home Theater Architecture | |
WO2023039294A2 (en) | Techniques for flexible control of playback devices |
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 |