English:
[0001] People often have different tastes in media content, whether music, television, movies or the like. This can make selecting media content for a group of people difficult. For example, at a party, people may be forced to listen to a single speaker system and have a difficult time agreeing on selecting music to play. While a single user can control the playback of the speaker system, the music chosen by that single user may not necessarily satisfy the tastes of other listeners.
[0002] Throughout the drawings, reference numbers may be re-used to indicate correspondence between referenced elements. The drawings are provided to illustrate example embodiments described herein and are not intended to limit the scope of the disclosure.
[0003] FIG. 1 illustrates a block diagram of an embodiment of a content matching system that identifies similarities in content preferences of users.
[0004] FIG. 2 illustrates a flow chart of an embodiment of a content matching process implementable by the content matching system of FIG. 1 .
[0006] Various aspects of the content matching system will now be described with regard to certain examples and embodiments, which are intended to illustrate but not to limit the disclosure. Nothing in this disclosure is intended to imply that any particular feature or characteristic of the disclosed embodiments is essential. The scope of protection of certain inventions is defined by the claims.
[0007] Fig. 1 illustrates one embodiment of the content matching system 1 00. In the illustrated embodiment, a content selection server 1 05 is connected via a connecting network 1 07 to a plurality of mobile devices 1 1 5 (1 15a, 1 1 5b) and a networked media player. The content selection server 105 can comprise one or more physical or virtual computing nodes. The mobile devices 1 15 can include tablets, wearable computing devices, smart phones and/or the like. In one embodiment, the mobile device 1 1 5 includes a client application 120 (120a, 1 20b) or other software that communicates with the content selection server 105. The networked media player 1 1 0 can include speakers, televisions, set-top boxes, mp3 players, streaming devices and/or the like. In one embodiment, the connecting server 1 05 is in communication with one or more streaming services 1 25 to obtain user preference information. In some implementations, the content selection server may itself store or cache user preference information in order to eliminate or reduce the need to communicate with the streaming services 1 25.
[0008] In an example scenario, several users are at a location 1 30 (e.g., home, party, meeting, event, etc.). Mobile device 1 is associated with a first user and operating on a first network 135 (e.g., a first phone carrier's network). Mobile device 2 is associated with a second user and operating on a second network 140 (e.g., a second phone carrier's network). Meanwhile, the networked media player 1 10 is operating on a local network 145. As the three devices are operating on different networks, the devices generally cannot directly communicate with each other without some reconfiguration. Many users, however, may not have the expertise or the information needed to reconfigure the devices. For example, users of mobile device 1 and 2 may not have the passwords or access rights to the local network 145 and therefore cannot connect to that network. However, the content selection server 1 05 can facilitate interoperability between the devices.
[0009] At operations (1 ) and (2), the client apps 120 on the mobile devices 1 15 transmit location information (e.g., nearby Wi-Fi SSIDs, Cell ID, GPS data, etc.) to the content selection server 105. In one embodiment, the content selection server 105 obtains and maintains location information for various networked media players 1 10. For example, the content selection server 1 05 may store network location data (e.g., IP address, network SSID, etc.) or geo-location data for the media players. In an embodiment, media players 1 1 0 are registered with the content selection server 105 and accounts created with data such as preferences, location, permissions, etc. Based on the location information from the devices, the content selection server 105 can determine when the mobile devices 1 1 5 are near the media player 1 1 0. For example, the content selection server 105 may use Wi-Fi identification or GPS data to determine when users are on the same area as the media player.
[0010] Based on the proximity of the mobile devices 1 15 to the networked media player 1 10, the content selection server 105 can determine that multiple users are in range of the same media player 1 1 0. At operation (4), the server then identifies the users of the mobile devices. For example, the content matching system may access a database or other data repository of user identity data. In another example, the content system may query an app running on the mobile device to get identify data, such as account information. Using this identify data, the system communicates with a streaming service (e.g., Pandora, Spotify, etc.) to obtain account information for the users, such as preferred genres (e.g., for music, movies or TV), favorite playlists, playback queues, playback history, and/or the like. The server 1 05 can then use this data to identify media content that all or a large number of the users near the networked media player 1 1 0 would like. The server then causes the media player to play the identified media content. For example, the server 1 05 can compare playlists for a first user and a second user, find overlaps in the playlist, generate a new playlist with the overlaps, and then transmit the new playlist to the media player. The media player can then play the content.
[0012] Beginning at block 205, the server 105 obtains location information from mobile devices and a networked media player. For example, in one scenario, people may be listening to music while at a party on a networked speaker system and the server gets location information from people's mobile devices and the networked speaker system.
[0013] At block 21 0, the content selection server 105 identifies devices near the networked media player based at least partly on the location information. At any given time, the content selection server 105 may be tracking thousands or more of devices. There may be multiple content selection servers 105 if the content selection system 100 has to track a large number of users. Based on location information from the users, the content selection server 105 can determine when mobile devices are near a networked media player registered with the server 105.
[0014] At block 215, the content selection server 105 identifies users associated with the nearby mobile devices. In one embodiment, the mobile devices include client applications configured to interact with the server 105. The client apps can provide user data to the server 105. For example, the client apps may request user information from the user, such as streaming service account information. The client apps can then provide the user information to the server.
[0015] At block 220, the content selection server 105 obtains the media preferences of the users near the networked media player. For example, if the server 105 has users streaming service account information, the server 105 can communicate with the streaming services to find out the users' media preferences.
[0016] At block 225, the content selection server 105 selects media for playback based at least partly on the media preferences. For example, the server 105 may attempt to find matching media content in users playback lists, histories, or the like. The server 105 may also attempt to leverage recommendation systems, such as those utilized by many streaming services. For example, even if no exact media content matches exists, the users may have similar tastes such that recommendation systems can come up with overlapping recommendations for the users.
[0017] At block 230, the content selection server 105 provides the selected media for playback to the media player for playback. For example, the server 1 05 can provide a music playlist to a speaker system, a movie or television show selection to a smart TV, or an advertising display to an electronic billboard. As the media selection is based at least partly on the users' preferences, users should be more interested and engaged in the played media content.
[0018] Various implementations of the content matching system are possible. For example, while the above has discussed music, the content matching system could work with other media files, such as movies, television shows, advertising or the like. In addition, the content matching system could control playback on speakers and other types of media playback devices, such as televisions, electronic displays, tablets, mobile phones, kiosks or the like. For example, the content matching system could control an electronic display at a public area, obtain the user preferences of users near the electronic display and then select advertising that a large number of the users may be interested in.
[0019] In one embodiment, a content selection system is configured to obtain location information from a plurality of computing devices. The content selection system identifies a selection of computing devices that are within a set distance (e.g., within viewing and/or listening distance) from a networked, media playback device. The content selection system accesses account information of users associated with the selection of computing devices and obtains user preferences for media content. The content selection system selects a first media content and transmits the first media content to the networked, media playback device for playback.
[0020] Each of the processes, methods and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code modules executed by one or more computers, computer processors, or machines configured to execute computer instructions. The code modules may be stored on any type of non-transitory computer-readable storage medium or tangible computer storage device, such as hard drives, solid state memory, optical disc and/or the like. The processes and algorithms may be implemented partially or wholly in application- specific circuitry. The results of the disclosed processes and process steps may be stored, persistently or otherwise, in any type of non-transitory computer storage such as, e.g., volatile or non-volatile storage.
[0021] The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method, event, state or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined in a single block or state. The example tasks or events may be performed in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.
[0022] While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions disclosed herein.

中文:
[0001]人们对于媒体内容(不管是音乐、电视、电影等等)常常具有不同的口味。这可能使得针对人群选择媒体内容变得困难。例如,在聚会时,人们可能被迫听单个扬声器系统,并对选择要播放的音乐难以达成共识。尽管单个用户可以控制扬声器系统的回放,但是由该单个用户选择的音乐可能不一定满足其它听众的口味。
[0002]贯穿附图,可以重复使用附图标记以指示所引用的元件之间的对应性。提供附图来例示本文中所描述的示例的实施例而并非旨在限制本公开内容的范围。
[0003]图1例示了识别用户的内容偏好中的相似性的内容匹配系统的实施例的框图。
[0004]图2例示了可由图1中的内容匹配系统实现的内容匹配过程的实施例的流程图。
[0006]现在将关于某些示例和实施例来描述内容匹配系统的各个方面,它们旨在例示而不是限制本公开内容。本公开内容中没有内容旨在暗示所公开的实施例的任何特定特征或特性是关键的。由权利要求来限定某些发明的保护范围。
[0007]图1例示了内容匹配系统100的一个实施例。在所例示的实施例中,内容选择服务器105经由连接网络107连接至多个移动设备115(115a、115b)和联网媒体播放器。内容选择服务器105可以包括一个或多个物理或虚拟计算节点。移动设备115可以包括平板设备、可穿戴计算设备、智能电话等等。在一个实施例中,移动设备115包括客户端应用120(120a、120b)或者与内容选择服务器105进行通信的其它软件。联网媒体播放器110可以包括扬声器、电视机、机顶盒、mp3播放器、流式传送设备等等。在一个实施例中,连接服务器105与一个或多个流式传送设备125进行通信以获得用户偏好信息。在某些实施方式中,内容选择服务器可以自身存储或缓存用户偏好信息,以便消除或减少与流式传送服务125进行通信的需要。
[0008]在示例场景中,若干用户处于位置130处(例如,家庭、聚会、会议、事件、等等)。移动设备1与第一用户相关联并在第一网络135上(例如,第一手机运营商的网络)操作。移动设备2与第二用户相关联并在第二网络140(例如,第二手机运营商的网络)上操作。同时,联网媒体播放器110在局域网145上操作。由于三个设备在不同网络上操作,因此在不具有某种重配置的情况下,设备通常不能直接彼此通信。然而,许多用户可能不具有重新配置设备所需要的专门知识或信息。例如,移动设备1和2的用户可能不具有至局域网145的密码或访问权限,并因此不能连接至该网络。然而,内容选择服务器105可以有助于设备之间的互操作性。
[0009]在操作(1)和(2)处,移动设备115上的客户端app 120向内容选择服务器105发送位置信息(例如,在Wi-Fi SSID、Cell ID、GPS数据、等等附近)。在一个实施例中,内容选择服务器105获得并保持各联网媒体播放器110的位置信息。例如,内容选择服务器105可以存储媒体播放器的网络位置数据(例如,IP地址、网络SSID、等等)或地理位置数据。在实施例中,利用内容选择服务器105和账户注册媒体播放器110,该账户利用诸如偏好、位置、许可等等之类的数据来创建。基于来自设备的位置信息,内容选择服务器105可以判断移动设备115何时接近媒体播放器110。例如,内容选择服务器105可以使用Wi-Fi识别或GPS数据来判断用户何时与媒体播放器位于相同区域上。
[0010]基于移动设备115与联网媒体播放器110的接近度,内容选择服务器105可以判断多个用户在相同媒体播放器110的范围内。在操作(4)处,服务器随后识别移动设备的用户。例如,内容匹配系统可以访问数据库或用户身份数据的其它数据存储库。在另一个示例中,内容系统可以询问在移动设备上运行的app以获得身份数据,例如,账户信息。使用该身份数据,系统与流式传送服务(例如,Pandora、Spotify、等等)进行通信以获得用户的账户信息,例如,偏好的体裁(例如,音乐、电影或TV)、最喜爱的播放列表、回放队列、等等。服务器105随后可以使用该数据来识别接近联网媒体播放器110的全部用户或大量用户将喜爱的媒体内容。服务器随后使得媒体播放器播放经识别的媒体内容。例如,服务器105可以针对第一用户和第二用户比较播放列表、找出播放列表中的重叠部分、利用重叠部分生成新的播放列表、并随后向媒体播放器发送新的播放列表。媒体播放器随后可以播放该内容。
[0012]从框205开始,服务器105从移动设备和联网媒体播放器获得位置信息。例如,在一个场景中,当在聚会上时,人们可以听联网扬声器系统上的音乐,并且服务器从人们的移动设备和联网扬声器系统获得位置信息。
[0013]在框210处,内容选择服务器105至少部分地基于位置信息来识别接近联网媒体播放器的设备。在任何给定的时间,内容选择服务器105可以追踪数以千计或更多的设备。如果内容选择系统100必须追踪大量用户,则可以存在多个内容选择服务器105。基于来自用户的位置信息,内容选择服务器105可以判断移动设备何时接近向服务器105注册的联网媒体播放器。
[0014]在框215处,内容选择服务器105识别与附近的移动设备相关联的用户。在一个实施例中,移动设备包括被配置为与服务器105进行交互的客户端应用。客户端app可以向服务器105提供用户数据。例如,客户端app可以请求来自用户的用户信息,例如,流式传送的服务账户信息。客户端app随后可以向服务器提供用户信息。
[0015]在框220处,内容选择服务器105获得接近于联网媒体播放器的用户的媒体偏好。例如,如果服务器105具有用户流式传送的服务账户信息,则服务器105可以与流式传送的服务进行通信以找出用户的媒体偏好。
[0016]在框225处,内容选择服务器105至少部分地基于媒体偏好来选择回访的媒体。例如,服务器105可以尝试找出用户回放列表、历史等等中的匹配的媒体内容。服务器105还可以尝试利用推荐系统,例如许多流式传送的服务使用的那些。例如,即使不存在准确的媒体内容匹配,用户也可以具有类似的口味,以使得推荐系统可以针对用户提出覆盖的推荐。
[0017]在框230处,内容选择服务器105向媒体播放器提供经选择的媒体以用于回放。例如,服务器105可以向扬声器系统提供音乐播放列表、向智能TV提供电影或电视节目选集、或者向电子广告牌提供广告显示。由于媒体选择是至少部分地基于用户偏好的,因此用户应当对所播放的媒体内容较感兴趣或较为吸引。
[0018]内容匹配系统的各种实施方式是可能的。例如,尽管上面已经讨论了音乐,但内容匹配系统可以与其它媒体文件(例如,电影、电视节目、广告等等)一起工作。此外,内容匹配系统可以控制扬声器或其它类型的媒体回放设备(例如,电视、电子显示器、平板设备、移动电话、公用电话亭等等)上的回放。例如,内容匹配系统可以控制公共区域处的电子显示器、获得接近电子显示器的用户的用户偏好并随后选择大量用户可能感兴趣的广告。
[0019]在一个实施例中,内容选择系统被配置为从多个计算设备获得位置信息。内容选择系统识别对在离开联网的、媒体回放设备的设定距离内(例如,在可视和/或可听距离内)的多个计算设备的选择。内容选择系统访问与计算设备的选择相关联的用户的账户信息并获得关于媒体内容的用户偏好。内容选择系统选择第一媒体内容并向联网的、媒体回放设备发送第一媒体内容以用于回放。
[0020]在先前部分中所描述的过程、方法和算法中的每个都可以体现在代码模块中,并且全部或部分地由代码模块自动完成,所述代码模块由被配置为执行计算机指令的一个或多个计算机、计算机处理器、或机器所执行。代码模块可以被存储在任意类型的非暂时性计算机可读的存储介质或有形计算机存储设备(例如,硬盘、固态存储器、光盘等等)上。过程和算法可以部分地或全部用特定于应用的电路来实现。所公开的过程和过程步骤的结果可以持续存储或者以其它方式存储在任意类型的非暂时性计算机存储器(例如,易失性或非易失性存储器)中。
[0021]以上所描述的各个特征和过程可以独立与彼此使用,或者以各种方式来进行组合。所有可能的组合和子组合旨在落入本公开内容的范围内。此外,在某些实施方式中,可以省略某些方法、事件、状态或过程块。本文中所描述的方法和过程也并非限于任何特定的顺序,并且关于该顺序的框或状态可以以其它适当的顺序来执行。例如,所描述的任务或事件可以以除了具体公开的顺序以外的顺序来执行,或者多个任务或事件可以被组合成单个块或状态。示例任务或事件可以连续、并行、或者以某种其它方式来执行。任务或事件可以被增加到所公开的示例实施例或者从所公开的示例实施例移除。本文中所描述的示例系统和部件可以被配置为与所公开的不同。例如,与所公开的示例实施例相比,可以增加,从中移除、或者重新布置元件。
[0022]尽管已经描述了某些示例实施例,但是仅通过示例的方式呈现了这些实施例,并且这些实施例并非旨在限制本文中所公开的发明的范围。因此,先前描述中没有内容旨在暗示任何特定的特征、特性、步骤、模块、或框是必要的或不可缺少的。事实上,本文中所描述的新颖的方法和系统可以用多种其它形式来体现;此外,可以在不脱离本文中所公开的发明的精神的情况下做出以本文中所描述的方法和系统的形式的各种省略、替代和改变。