专利名称:智能音乐音轨选择的制作方法
技术领域:
本发明说明书涉及根据用户反应选择项。
背景技术:
对于光盘上音乐音轨的项,例如,有些CD播放器使用户能够通过对要播放的所述音轨顺序编程来指示他的偏好。当一条音轨结束,CD播放器就根据编程的顺序选择下一条音轨。
有些音乐播放设备和软件允许用户指示对音乐类型(例如爵士乐)的偏好,并且所述设备和软件将播放选定类型的音乐项。
在一种推荐的系统中,根据用户提供的估值信息来选择要播放的下一音轨。一种系统提供姆指指上(thumbs up)/姆指指下(thumbs down)接口用以用户指示他的偏好。另一种系统根据收听听众在姆指指上/姆指指下接口上指示的偏好来选择要播放的音乐项。有些系统提供自动播放列表特征,在所述自动播放列表特征中要播放的音乐项是根据用户对指示音乐类型的偏好的问题所做的答案来选择的。至少一个在线商根据用户购买的音乐推断用户的爱好。
在其他情况下,要选定的项是软件应用程序的特征或者是软件应用程序所使用的文件。用户使用所述特征或者所述文件表达他的偏好。在微软的Word中,例如最近使用的文件由应用程序选择,以便在下拉菜单上显示最近使用文件的列表,并且只有最近使用的特征(例如,概要特征)被选择来显示在下拉菜单上,由用户进行可能的启动。
发明内容
总体而言,在一个方面,本发明的特征在于这样一种方法,所述方法包括基于有关数字作品的用户偏好信息,选择包含在将被执行的至少两个不同顺序的数字作品中的可用的数字作品,所述不同顺序基于所述偏好信息的不同方面,和使所述不同顺序能够由执行系统同时执行。
本发明的实施可以包括一个或多个以下的特征。所述选择是由作品选择处理的多个示例来执行的。从单个海量存储设备传递用于执行的不同顺序的数字作品。所述偏好信息的不同方面与不同用户或用户组相关联。选择不同顺序是通过数字作品选择处理的不同实例来完成的。所述不同实例使用有关所述数字作品的信息的公共节点网络进行选择。
总体而言,在一个方面,本发明的特征在于这样一种方法,所述方法包括接收正在被提供的有关正在被执行的数字作品的输入偏好信息,和在正在提供所述输入偏好信息的同时,基于偏好信息的本体以不受所述输入偏好信息影响的方式来选择将被执行的数字作品。
本发明的实施可以包括一个或多个以下的特征。所述输入偏好信息来自一个用户或用户组,并且向所述用户或用户组执行的数字作品是基于由不同用户或用户组提供的偏好信息来选择的。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括接收从两个不同源提供的偏好信息,所述偏好信息关于相对于所述两个不同源而正被执行的数字作品,和使用从所述两个源接收到的偏好信息来选择将被执行的数字作品。
本发明的实施可以包括一个或多个以下的特征。所述偏好信息是由单个用户在两个不同时间从所述两个不同源提供的。所述偏好信息是由两个不同用户从所述两个不同源提供的。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括从用户接收关于数字作品的偏好信息,所述数字作品对于用户正在被执行并且不在属于用户的数字作品的集合中,和从属于用户的数字作品的集合中存储将被用来选择对于用户将被执行的数字作品的偏好信息。
本发明的实施可以包括一个或多个以下的特征。对于用户正被执行的作品属于第二集合。使用偏好信息选择数字作品,所述选择包括使用与已被用户执行的作品相关联的第一存储的偏好信息来生成第一网络节点,使用与集合中的作品相关联的第二存储的偏好信息来生成第二网络节点,通过第二网络传播第一存储的偏好信息。仅更新实际位于第二集合中的最初音轨的值。对于已被执行但不在集合中的作品,将与集合中的作品有关但本身不在集合中的作品的第一偏好信息施加到第二网络。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括使能第一远程控制设备的用户制定在音乐系统可用的数字作品的数据库的第一结构化查询,所述音乐系统与远程控制设备交互作用,和将结构化查询发送至音乐系统。
本发明的实施可以包括一个或多个以下的特征。所述方法还包括在制定第一结构化查询的同时,使能第二远程控制设备的用户制定数据库的第二结构化查询。独立提供第一结构化查询和第二结构化查询,并且响应各自的查询独立采取动作。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括使能远程控制设备的用户明确地指示关于正在由音乐系统执行的数字作品的第一偏好,并且在选择将被执行的第一将来顺序的数字作品时使用偏好指示。使能远程控制设备的用户明确地指示关于正在由音乐系统执行的数字作品的第二偏好,并且在选择将被执行的第二将来顺序的数字作品时使用其他偏好指示。
本发明的实施可以包括一个或多个以下的特征。由单个用户来指示第一偏好和第二偏好。在两个不同的远程控制设备上由单个用户来指示第一偏好和第二偏好。在两个不同的远程控制设备上由两个不同用户来指示第一偏好和第二偏好。对于两个不同用户执行第一将来顺序和第二将来顺序。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括使能用户定义在查询有关数字作品的信息的数据库中使用的一个或多个值,所述值用于识别数据库的子集,执行有关子集的动作,和基于有关作品的偏好信息产生将被执行的一些数字作品的列表,执行列表上的数字作品属于子集。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括使能用户定义在查询有关数字作品的信息的数据库中使用的一个或多个值,所述值用于识别数据库的子集,和将用户指定的偏好与子集中的数字作品相关联。
本发明的实施可以包括一个或多个以下的特征。所述方法还包括使能用户指示关于子集执行的动作。使能包括为用户显示数据库的字段的至少一个标识符。使能包括允许用户识别字段值。使能包括允许用户指示表示任意字段值的缺省。数据库的字段包括下列中的至少一个风格、艺术家、唱片集、制作者、作曲者、合奏团、指挥家、特技表演者、和年度。用户能够从更加普通到不太普通排列的列表中选择多个值。不太普通标准可以具有与对于位于更加普通级别的项多于一个可能值相关联的多个值。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括向用户显示可能为用户执行的数字作品的类别的标识符,每个类别包括一组数字作品,至少一个较宽类别包括各自属于多于较窄类别之一的数字作品,至少一个较窄类别包括各自属于多于一个较宽类别的数字作品,使能用户选择用于较宽类别之一的识别符的值,和使能用户选择一个较窄类别的识别符的值,所述值基于较宽类别的所选值而被限制。
本发明的实施可以包括一个或多个以下的特征。所述多个类别包括下列中的至少两个风格、艺术家、唱片、制作者、作曲者、合奏团、指挥家、特技表演者、和年度。使用户能够使用手动控制器在多个类别当中导航并且关于给定的标识符使用分离的手动控制器在多个可能值当中导航。使用由用户选择的较宽的类别值和较窄的类别值来查询有关数字作品的信息。使用户能够在关于较宽类别的第一标识符的多个可能值当中导航,并且更新关于较窄类别的第二标识符用于选择的可获得值的显示,以便仅包括由用户已经导航的较宽类别值允许的值。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括关于在两个分离的可寻址位置处的至少两个数字作品,在一种执行作品的设备的操作模式中,自动阻止作品之一的执行,而也不执行另一个作品。
本发明的实施可以包括一个或多个以下的特征。所述两个数字作品是连续的。从用户接收执行至少一个作品的请求。用户的请求包括对播放已经被定义为包含两个数字音频作品的组的请求。所述作品被存储在存储媒体上的两个分离的可寻址处。所述媒体包括CD。所述一个操作模式包括根据用户偏好自动选择用于执行的作品。在另一操作模式中,一个作品和另一个作品中的每一个可以根据用户请求来单独执行。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括以将处于分开的可寻址位置的至少两个数字作品识别为将被一起执行的作品的方式将所述至少两个数字作品相关联,所述数字作品比存储在给定存储媒体上的所有数字作品少。
本发明的实施可以包括一个或多个以下的特征。所述关联基于描述数字作品的元数据。所述关联基于由用户提供的信息。由用户提供的信息识别存储在单个媒体上的将被关联的两个或更多个数字作品。由用户提供的信息指示以下至少一种不关联存储在单个媒体上的作品;关联存储在单个媒体上的所有作品;或者自动关联存储在单个媒体上的至少一些作品。即使当所述用户指示自动关联至少一些作品时,也不进行关联。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括在用于控制执行数字作品的设备的用户接口中,使用户能够识别至少两个作品,该至少两个作品以使它们被一起执行的方式被关联。
本发明的实施可以包括一个或多个以下的特征。用户能够识别存储在单个媒体上的至少两个作品。用户能够以下列方式中的至少一种来识别存储在单个媒体上的作品不关联存储在单个媒体上的作品;关联存储在单个媒体上的所有作品;或者自动关联存储在单个媒体上的至少一些作品。即使当用户指示自动关联至少一些作品时,也不进行关联。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括使用有关数字作品的元数据以特定顺序自动关联至少两个数字作品,和当基于偏好的选择处理选择将被包含在将被执行的作品的序列中的多个作品中的一个时,所述处理总是选择将被接着包含在所述序列中的两个作品中的另一个。
本发明的实施可以包括一个或多个以下的特征。当选择处理选择多个作品中的一个时,自动与元数据相关联的所有作品以由元数据指定的顺序被包含在执行的序列中。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括对于一组数字作品的每一作品,存储用于识别作品的信息和指示一个或多个用户对作品执行的偏好的偏好数据,所述信息和偏好数据被存储在便携式存储媒体上。
本发明的实施可以包括一个或多个以下的特征。所述识别信息包括唱片集号、媒体号、和光盘的音轨号。所述唱片集号可以包括唯一唱片集标识符。所述偏好数据包括分数。所述偏好数据包括表示偏好数据的置信度的值。每个作品的信息和数据包括每作品不低于64位。
总体而言,在另一个方面,本发明的特征在于这样一种承载信息的媒体,其使设备能够基于对作品执行的偏好来选择将被执行的一系列数字作品,所述信息包括用于识别作品的信息和指示一个或多个用户对作品执行的偏好的偏好数据。所述媒体包括便携式存储媒体。
总体而言,在另一个方面,本发明的特征在于这样一种承载信息的媒体,通过对于数字作品所属的类别选择一组值,使能搜索有关将被执行的数字音频作品的信息的数据库,所述类别包括与作品相关联的合奏团的标识符,对于搜索结果采取动作,和部分基于所述动作选择将被执行的作品的顺序。
本发明的实施可以包括一个或多个以下的特征。所述类别包括作曲家和表演的标识符。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括通过对于数字作品所属的类别选择一组值,使用户能够搜索有关将被执行的数字音频作品的信息的数据库,所述类别包括至少一个较宽类别和至少一个较窄类别,可以从中选择值的较窄类别的识别基于可以从中选择值的较宽类别的识别,所述较宽类别包括古典音乐,所述较窄类别包括合奏团。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括选择将被执行的一组数字作品,列表基于用户偏好的概率应用程序,所述组是从较大的作品库中选择的,和将数字作品的列表存储在便携式媒体上。
本发明的实施可以包括一个或多个以下的特征。以通过选择确定的次序将作品存储在媒体上。将与用户偏好相关联的偏好数据存储在媒体上。以任意顺序将数字作品存储在媒体上。将数字作品存储在媒体上的多个文件夹中,每个文件夹包括将被执行的已选择组的数字作品。以通过选择确定的顺序将作品存储在每个文件夹中。在相关偏好的顺序内基于用户偏好来识别各个文件夹。将与用户偏好相关联的偏好数据以及数字作品存储在媒体中,和使用所存储的偏好数据来控制存储在媒体上的作品的播放顺序。便携式媒体是独立于用于选择或执行数字作品的任意设备可便携的。
总体而言,在另一个方面,本发明的特征在于这样一种方法,所述方法包括在维护有关可能被概率地选择包含在对于用户将被执行的数字作品的顺序的数字作品的所存储的偏好信息时,使用由第三方提供的关于将被执行的数字作品的信息。
本发明的实施可以包括一个或多个以下的特征。第三方包括评论家。由第三方提供的信息包括至少一个被认为是优于CD的其他音轨的CD音轨的指示。基于由第三方提供的信息而增加选择数字作品的概率。
本发明的其他方面包括其他方法、执行所述方法的装置、包含所述装置的系统、及执行所述方法的部件的组合。
从下列描述和所附权利要求其他优点和特征将变得清楚。
图1、2和3是平台的框图。
图4、5和6是状态图。
图7是框图。
图8表示节点。
图9表示显示器。
图10、11和12表示数据库示意图。
图13表示用户接口。
图14表示音轨历史。
图15表示数据库结构。
图16表示状态图。
图17表示流程图。
图18表示远程控制器。
图19表示显示器。
图20和图21表示状态图。
图22表示分级结构。
图23和24表示用户接口。
图25表示用户接口。
图26、27和28表示显示器。
图29表示图形。
图30表示分级结构。
图31表示图形。
图32表示用户接口。
图33表示框图。
图34表示分级结构。
图35表示系统的框图。
图36是音乐系统的框图。
图37是框图。
图38A、38B、和38C表示数据库具体实施方式
如图35所示,在系统1500中,用户1502可具有由本地电子设备1504、1506、1508、1510为其执行的多媒体作品,所述本地电子设备典型为便携式或移动的(或者在某些情形中可以是不移动的)。仅示出了一些本地电子设备,但是在所述系统中操作的那种设备可以是成千或者甚至上万的。通过一种或多种不同的技术,一个或多个用户可以在本地设备1504表示他们关于特定多媒体作品或各种多媒体作品的偏好,例如他们喜欢Beatle的唱片集。在每个设备可以将他们的偏好指示累积成偏好数据。所累积的偏好数据可以被其他设备(例如,其他本地设备或一个或多个主电子设备1512)用来生成、更新、和存储偏好信息,在一些情形中所述偏好数据与各个用户特定的信息相关。基于所存储的偏好信息,主机或其他设备可以产生一个或多个播放列表(其为一种播放顺序)以便在本地设备用来支配多媒体作品的播放。一个或多个主机也可以根据播放列表和/或偏好信息来管理多媒体作品到本地设备的下载。
结果,用户可以享受明显增强的体验,这与他们关于多媒体作品的偏好更一致。图中的系统1500也可以使用以后所描述的各种其他特征。
设备1504、1506、1508、1510中的至少一些(例如小手持式设备)可能不具有足够的处理性能来运行提供多媒体偏好系统的所有性能的软件。在这些情形中,具有有限性能的本地设备可以仅执行性能系统的一些功能,而其他功能在主机被集中执行。例如,本地设备可以一定的信息,例如原始形式的偏好数据,而其他设备使用数据来得到其他信息(例如偏好信息),所述其他信息将确定将执行哪个作品(或者通过创建和下载播放顺序至本地设备和/或通过更新将被下载的库以便在本地设备上使用)。在另一个示例中,本地设备具有足够的处理性能并与主机或其他设备协调,从而偏好信息被传输至特定用户可以使用的任何一个设备(或者如果设备没有足够的存储资源用以更新库)。
在短语“多媒体作品”方面,当其被单独使用时,我们包括音频作品(主要是音乐)、视频作品(主要是电影)、图像、声音、和可以由人类感觉尤其是通过视觉或听觉体验到的作品(而不是简单的字符或文本)。在其他地方,当使用诸如音频和视频的词语时,短语多媒体作品是指不是简单的音频作品或视频作品的作品。
在短语“本地设备”方面,我们包括音乐播放器,诸如MP3播放器、移动电话、个人数字助理、收音机、录像、CD;在车辆、轮船、和飞机中的其他各种多媒体播放器;家用音响、视频和其他多媒体系统;以及通常服务一个或少数单个用户的任意种类的多媒体播放器。
在词语或短语“偏好数据”或“偏好信息”方面,我们包括用户喜欢或不喜欢单个多媒体作品或一类多媒体作品的任意指示。例如,偏好数据可以简单为用户选择在作品的执行结束之前就终止。但是偏好数据可能是复杂并且详细的。偏好信息可以从偏好数据得出并且比偏好数据更抽像。例如,如果用户重复停止摇滚音乐作品的执行,则原始数据将捕获单个事件,同时从原始偏好数据得出的偏好信息可以是用户不喜欢摇滚音乐。
再次参考图35,手持式设备1504例如可以是Apple IPOD或任意广泛类型的所谓的MP3播放器,它能够在用户的控制下存储和播放以MP3格式编码的音频作品。
设备1504包括用于执行包含在RAM 1518(或者在固件中)中的软件1516的微处理器1514。有关正在播放或者可被播放的作品的信息以及与设备使用相关联的其他信息被存储在RAM 1518中或者在更大体积的存储设备1524上,并且可以在显示器1526显示给用户。存储设备可以是硬盘驱动器或闪存、或其他形式的存储器。用户使用一个或多个控制器1528来控制播放器的操作。控制器可以是机械钮或开关或者可以是可在显示器上访问的触摸式控制器,或者可以通过语音控制器或者其他类型的设备的非机械控制器来实现。存储设备1524可以是可从设备拆卸并可重新利用的类型,例如可拆卸的硬盘驱动器或存储卡,或者可以是不可拆卸的。
设备1504也可以包括收发器1527及相连的天线1529,该天线允许多媒体作品、偏好数据和偏好信息、以及其他信息从包括其他本地设备或一个或多个主机的其他设备被无线传递到所述设备或从所述设备无线传递到包括其他本地设备或一个或多个主机的其他设备。连接器1530可被提供来使能有线连接上的类似传输。在专用信道或在一个或多个私用或公共网络1532上可能发生无线或有线传输或者两者是否使能通信。在一些方案中本地设备可以包括能够音频和视频执行的硬件1533,例如DVD播放器。
存储器1524可以存储各种类型的信息。多媒体作品可被存储在个体1538、子库1540、或者库1542中。所存储的作品可被接收在可拆卸的媒体上,或者可被无线或通过有线连接来下载。所存储的作品可以通过增加附加作品和清除所存储的作品来更新,并且所述更新可以至少部分基于在偏好数据或偏好信息中捕获的用户表达或暗示的偏好。
因此,在存储在本地设备上的多媒体作品具有比主机上可用的其他多媒体作品相对低的偏好分数的情形,可以实现交换(swap out)处理,即将该低偏好的作品交换为更高偏好的作品。所述交换增加了愉悦用户的机会,尽管本地设备的有限存储器。控制所述交换的一种方式是消除具有最低评估(达到某一阈值,或者到存储器空间的某一百分比)的作品,并且从更大库中用具有最高评估的作品来替换它们。可以通过将未评估的作品的元数据插入元数据网络(一种在以后关于图12更详细描述的元数据网络的示例)和使用分数计算引擎来根据对于其它作品收集的信息而确定预测的分数,来预测评估。该处理使用未评估的作品与已评估的作品的元数据之间的重叠来预测未评估的作品的评估。
也可以存储播放历史1544,所述播放历史包括所播放的作品的识别符、播放是否完成、和播放完成的时间。如果所述设备对于设备的不同识别用户维护单独的信息,则播放历史也可以指示播放作品的用户1502的识别符。例如,苹果IPOD被配置来存储播放给定作品的次数、作品被最后播放的时间、和对于由用户输入的每个作品的评估(1-5星)。
存储器也可以包含预定的播放顺序1550,每个播放顺序指示将被执行的作品的顺序。播放顺序可以由用户输入,或者可以从主机或者其它本地设备提供。如果执行作品的本地设备具有足够的处理能力,则可以在本地设备本身提供播放顺序。在一些情形中,播放顺序是根据本地设备上可用的作品与由用户输入的历史偏好数据或者与用户相关联的偏好信息或者两者一起来确定的。播放顺序可以包括播放列表,该播放列表是将被相继播放的作品的简单列表,或者是控制播放什么但是不必以简单排序的项的复杂列表。
存储器也可以包含与一个或多个用户相关联的原始偏好数据1552或者如先前所提到的从原始数据衍生的偏好信息。偏好数据可以包括在设备上(例如IPOD的星系统)被执行或可用于执行的每个作品的评估或者可以包括对于单个作品或者作品组的正或负偏好的各自类型的指示。
例如,用户可以中间停止作品的执行,系统可以由此推断用户对于那个作品具有负偏好(和可能喜欢作品)。可以将已播放的作品的列表与已完成的作品的历史进行比较,以便确定哪个作品被播放但没有完成。相反,如果用户允许完整地播放作品,则可以得出结论用户对于该作品具有正偏好(和可能喜欢作品)。
本地设备中的RAM或其它程序存储器可以包括执行各种功能的程序,所述各种功能包括存取和执行播放顺序1554、解压缩已压缩的音频数据1556、记录播放历史1558、记录偏好数据1560(和在一些情形中从偏好数据衍生偏好信息)、交互作用主机和其它本地设备1562、不同用户的注册和登录1564、锁定和解锁将被执行的作品1565、以及更新库、子库、以及单个作品1566。
除了接收和存储作品,对于一个给定用户或多个用户本地设备具有在媒体1570(或者电经由通信信道)上导出和导入偏好数据和偏好信息的能力。以这种方式,用户可以用多于一个的本地设备来随身携带他的偏好信息(或者电发送它)以便使用。例如,用户可以将他的偏好信息携带在飞机1510上或携带入旅店房间1506中,并且在任一这些位置中使用它来控制本地设备的播放顺序。偏好数据和偏好信息也可以从主机下载或分配在媒体1572上。在正在执行多媒体作品的相同设备上不必存储或创建偏好数据,但是在单独的设备上可以存储或创建偏好数据。
将被添加到存储在本地设备中的作品的作品可以通过网络1532(或者通过有线或无线连接)电下载或者分配在媒体1534上。可以通过后台处理来完成下载,从而用户不知道正在进行下载。
主机1512可以是工作站或服务器或其他电子设备,并且通常包括微处理器1576、I/O器件1578、RAM 1580、和存储器1582。主机可以具有连接器1584以便下载或导出作品或偏好信息。
主机的存储器可以包含非常大数量的个人作品1586、和个人作品的子库和库1588。可以从宽范围的源1590,例如CD、DVD、或者其它可用可移动的媒体、无线电、和电视台、或可通过主机的网络连接(例如提供可下载的媒体内容的因特网网址)可用的其他源来接收作品。存储器也可以包含对于每个用户的偏好信息1592以及对于多于一个的用户和用户组有用的累积的用户信息1594。由主机生成的播放顺序1596(包括播放列表)也被存储用以下载或分配到本地设备。用户信息1598的库包含注册和使系统能够唯一地识别并与每个用户交互作用的其它信息。
在主机上执行的软件可以包括播放列表生成软件,其根据偏好信息和可用的作品的列表来生成包括播放列表的播放顺序。库生成软件1702管理作品的库和子库的接收和创建,从所述库和子库中作品可被下载或分配到本地设备。更新软件1704管理更新处理。偏好生成软件1708(将在以后被更详细地描述)使用来自多个用户中的一个的偏好数据来推断和发展偏好信息以便在产生播放列表中进行存储和使用。费用评估软件1710管理对于在本地设备上播放的作品向用户要费的处理。版权管理软件1712相反地管理对作品使用补偿版权所有者的处理。压缩软件1714管理分配和下载作品的压缩。
是否全部在主机上或全部在本地设备上或者这两者的某种结合上执行将偏好数据转换成偏好信息的处理的设计选择至少部分取决于这两种设备的相对性能。
在推荐用户购买的作品方面也可以使用在本地设备(例如便携式音乐播放器)上输入的偏好数据。(将在后面阐述有关购买推荐的附加信息)。购买推荐可以对于CD、DVD、或者其他作品集、或者可以对于个人音轨。在生成购买推荐时可以使用来自本地设备的偏好数据,该偏好数据曾经被转换成偏好信息。在一个示例中,在诸如苹果IPOD手持式音乐播放器中累积的偏好数据(或者来源于数据的偏好信息)可被上传到诸如苹果的iTunes的音乐零售网。值在该网址,偏好数据可以被转换成偏好信息。被转换或上传的偏好信息可被用来控制项音乐零售网址的用户建议选集或用户可能希望购买以下载到他的音乐播放器的个人作品(音轨)的特征。在另一个示例中,偏好数据在传送到音乐零售网址之前被转换成偏好信息。从偏好数据到偏好信息的转换可以发生在本地设备或主机上,或者可以部分在本地设备上执行和部分在主机上执行。
另外,零售网址可以向用户的本地设备提供预览被确定为用户感兴趣的部分作品的自动下载(直接或间接通过另一个服务器或通过用户有权访问的个人计算机)。可以对也下载到本地设备的部分播放顺序进行这种预览。当本地设备(例如播放器)播放所述部分中的一个时,沿着线“从iTunes可购买完整的音轨。如果你希望购买该音轨请按下输入键”随后可以执行可听或显示的消息。播放器可以记录该购买请求,并且如果播放器连接到该网址(或者否则连接到能够连接到该网址的网络)立即将其转发到零售网址,或者可以将该请求保存在存储器中用于以后当播放器下一次连接到网络或网址时来实现。
与零售网址的交互可以通过图35中所示的主机和通过连接到用户本地设备的计算机。在该示例中,并且还在图35的本地设备的其他实现中,计算机可以充当主机与本地设备之间的中间件,对于本地设备起到存储所下载的作品、播放顺序、和偏好信息并随后在方便的时间和地点将它们转发到本地设备的代理。将被上传到主机的偏好数据和偏好信息也可以被临时存储在计算机上。主机可被配置来自动或按请求或由用户授权通过向网址提供用户的偏好信息而与零售网址交互作用。主机也可以充当代表用户的中间件用于购买将被下载到本地设备的作品。
在其他示例中,当本地设备和零售网址或者主机通过网络进行通信时,可能直接发生零售网址或主机与本地设备之间的交互作用(包括已购买作品的下载)。在一些示例中,购买请求可被保存在本地设备上并且以后被上传到主机用以处理和完成。
在其中本地设备已被租用或正被临时使用或由用户以外的一方所有的系统中,已执行的实际作品和那些作品所属的汇集也包含在购买的建议中。
在后面出现的说明书(于2002年6月25日提交的美国专利申请序号10/180900,在此全文引用作为参考;该申请的大部分将在下面阐述)中包含了实现主机和本地设备以及从用户输入衍生偏好信息和生成播放列表的方式的许多细节。
在许多示例中如何使用系统1500来提高本地设备的用户的体验如下。
本地设备的用户可以触发歌曲顺序的播放。播放顺序是预先定义并存储在设备上的。对于每首歌,用户可以使歌曲从头至尾播放(在该情形中,存储了这个事实和完成的时间)或者可以在歌曲完成前停止它并继续下一首歌。在这种情形,播放历史(至少在IPOD示例中)中不记录任何东西。本地设备或主机可以根据用户的决定来推断不结束播放那首歌,即用户不喜欢那首歌。播放顺序随后可以被修改,或者随后的播放顺序可以被配置来给用户提供他更希望享受的歌曲。在这种情形,仅关于用户偏好的信息是负信息,该负信息是从无法完成播放歌曲中推断出来的。在其他情形,用户可以提供正和负显式反馈,例如通过评估系统。
在一些情形中,特定用户可以通过多于一个的本地设备,例如便携式MP3播放器、家用音响系统、和出租车来指示他的偏好。通过累积偏好数据、分析该偏好数据、并从该偏好数据衍生偏好信息,对于那个用户,系统能够在每个本地设备上更有效地控制播放列表。不仅可以改进播放列表,还可以改进选择初始的或更新中的哪个作品来下载或分配到每个本地设备。存储在特定本地设备上的作品的完成可以通过存储器空间来限制,并且因此被下载或分配的作品仅仅是存储在主机上的库的子集。
当系统被安排来向用户收取已执行的作品的费用时,可以根据对于特定库中的所有作品的执行的一次性付费来估计每个作品或每次使用的费用。仅当通过合理的费用支付作品的执行时才能够电锁定和解锁对作品的访问。该系统能够例如将巨大的作品库载入包含在出租车中的存储器中。仅已经付费的那些库或那些作品被解锁并能够可用于在车上执行。这样的库可以包括例如10000个作品或者更多。在被安排来向用户收取已执行的作品的费用的系统中,可以防止用户对作品包含的实际数据的访问,而不是防止对执行的访问。对存在于设备的存储器系统上的作品的修改的允许将限于作品的所有者,或者由作品的所有者对所述数据给予明显允许访问的那些人,所述修改包括删除或添加作品、复制、或者在数据或数据文件上进行操作。
可以将从使用一个或多个本地设备(可能由用户所有或不所有)衍生的用户偏好信息应用于其它本地设备(包括用户不所有的那些本地设备),以便呈现用户可能偏好的作品,而用户不了解存储在服务他们的其他本地设备或主机中的作品。
在使用本地设备的另一个示例中,所述设备可以被配置成允许用户明显地指示他偏好执行另一个作品,这意味着他喜欢(或不喜欢)另一个作品,例如当前正在播放或者刚刚完成的作品。用户可以通过用户接口来输入所述信息。
在播放来自一个作品库的多个作品期间发展的偏好信息可以被应用于其他库,并且这两个库可以具有共同的一些作品。
两个或更多不同的用户可以生成偏好信息或偏好数据的本体,并且系统可以累积它们以生成可以被用来生成播放顺序的偏好信息的共享本体以及下载由各个用户或其他用户使用的作品。例如,一群大学朋友可能同意将他们的偏好集中控制以便生成代表他们联合偏好的播放顺序。相同的累积信息也可以被不是原始组的成员的用户使用。在累积的偏好信息中,一个用户的偏好信息可能被生成为与第二个用户的偏好信息不同的作品库。累积偏好信息的一种方法是对于每个用户维护已播放的并且对其已经执行了动作(它们已被播放、跳过、评估?)的作品的列表,或者基本反馈操作的列表(音轨x隐式正;音轨Y隐式负,…)。为了合并所述数据,这两组反馈数据都经后面描述的相同元数据网络运行。
在个人设备具有有限的存储器的情形中,可以通过随着时间的逝去添加和删除作品以反应用户的偏好来调节存储在设备上的作品(来自更大的库)的子集。因此所述设备将保留将被重复更新的更大库的变化子集。在给定时间存储在本地设备上的作品在用户偏好的平均量上具有不断增加的似然性。
可以在后台以用户没有明显地觉察传递正在发生的方式来完成作品的子库的更新和从主机到本地设备的播放顺序的更新。
当用户使用本地设备时,他能够以所述设备或主机能够识别他的这种方式登录所述设备,并且对于用户与本地设备的会话而使用一组或多组偏好信息。用户可被允许来从列表中选择一组偏好信息。
IPOD使用的系统的实施例如可以基于有关由IPOD维护的数据库的公共可获得的信息。请看,例如http://sourceforge.net/docman/display_doc.php?docid=11191&group_id=52976;http://sourceforge.net/docman/display_doc.php?docid=11212&group_id=52976;http://ipod-on-linux.sourceforge.net/docs.php;http://neuron.com/~jason/db.pyvia;和http://neuron.com/~jason/ipod_archive.html,所有并入作为参考。
所述公共可获得的信息表示IPOD数据库在两个文件之间分割,一个文件称作“itunesdb”,另一个文件称作“播放计数”。“itunesdb”包含存储在IPOD上的音轨的列表,包括(在其他信息当中)文件名、轨道号、轨道标题、唱片集标题、艺术家名字、作曲家名字、流派、和存储在IPOD上的播放列表的列表。
“播放计数”包含每一音轨一个分录,所述分录存储上述播放、播放的次数、以及音轨评估(基于5-星系统)。这一文件由IPOD创建,并且每当播放音轨或用户改变评估时被更新。
使用数据库中的信息的简单程序能够以下列方式工作读取“itunesdb”和得到所有音轨的列表、及其它们的文件名、唱片集标题、艺术家名字、和流派。
根据顶部是流派、接着是艺术家、唱片集、然后是文件名的这些来创建元数据网络。
在IPOD中创建所有播放列表的列表,包括根据itunesdb中的元数据来重构每个唱片集的列表。
读取“播放计数”并且将其归类为上次播放的次序。对于上次播放列表中的每个顺序对音轨,在播放列表的列表中的那些音轨(就大量插入的音轨而言)之间寻找最小的间隙。所述对中的每个音轨假设为正隐式反馈,所述间隙中的所有音轨假设为负隐式反馈。如果评估了任意音轨,则假设正/负显式反馈是适当的。将所有该反馈保存到数据文件,并且随着时间的逝去进行累积。
通过网络处理所有先前保存的反馈。
以批模式运行播放列表生成算法(请参考如下讨论),以便生成新的播放列表,即,使其依次选择一些大数目的音轨,就像无反馈地播放每个音轨。
将播放列表插入回“itunesdb”。
下面阐述有助于理解如何实现上述技术的附加信息。
如图33所示,在用于根据用户偏好选择项的系统10的一个例子中,所述项是多篇乐曲(音轨),所述乐曲是可用的音轨12供应的一部分。
所述音轨是从音轨源14供应的,所述音轨源14可以包括诸如音频磁带、光盘、迷你盘、数字通用盘的媒体;或者其它源,包括广播媒体、无线连接、卫星广播、经由因特网或者一些其他计算机网络的流媒体;或者任何其它的源。因此,尽管我们使用字音轨(word track),就好像所述项仅看起来象实际媒体上的音轨,但是我们的意思是字音轨包括以任意形式被创建或者存储或者传递给用户的任何项。
此外,尽管在多数的论述中我们将使用音乐的例子,但是关于正要表达偏好的所述项可以是任何类型的项,包括音频、视频、和包括数据库的记录的多媒体项以及非音频视频项、通过搜索万维网可获得的项、或者其他当中的软件程序的特征。类似地,任何类型的音轨源14可能包括例如商业上可用的源和用户制作的源。为了包括所有类型的音轨源,我们使用术语CD或者光盘。在有些情况下,例如在音轨代表软件程序中的特征的情形,音轨源将是系统本身(因为软件是它自身特征的“源”)。或者,在这个例子中,CD可以代表软件中的特征的逻辑子集,例如所有的文本格式命令可以组成单个CD,此处每个命令是单个音轨。
可用的音轨供应可以存储在大容量存储设备中,从而它们按照需要在本地可以获得。所述存储设备可以包括硬盘(包括便携式硬盘驱动器)、CD-RW驱动器、磁带记录器、视频记录器、存储设备、或者能够保持用户要执行的多个项的任何其它存储设备。简而言之,或者我们通篇是指硬盘或者存储设备;用于提供读取访问(有或者没有写访问)的任何存储设备。在一些例子中,在本地存储可用的音轨可以是不必要的。相反,可能使它们通过有线或者无线通信信道从远程源空中可用。当使用存储器时,系统可以提供这样的一种机制,即所示机制用于捕获音轨,将它们转换为适当的格式,生成关联的标识信息,以及将它们记录在存储媒体上。
在图33所示的系统中,由音轨播放器16为用户播放音轨。在给定的时间要播放的音轨是通过下一音轨标识符18来标识的。所述音轨播放器可以包括能够对标识将要播放的音轨的信号作出响应而为用户执行音轨的任何设备。因此,播放器可以包括例如CD播放器、CD换片机、磁带播放机、无线音乐播放设备、MP3播放器、视频磁带播放器、DVD播放器、网络浏览器、显示设备、便携式数字助理、移动或者固定电话、或者计算机。音轨播放器的性质依赖于音轨的性质。例如,在音轨代表软件程序的特征的地方,音轨播放器就是软件程序本身。在有些例子中,音轨选择器可以控制多个音轨播放器。
当所述播放器从所述音轨选择器接收下一个音轨标识符时,音轨播放器从所述供应中取出所标识的音轨并且为用户20表现它。在音频、视频或者其它多媒体音轨的情形中,音轨的播放典型地是顺序地进行的。当音轨包括数据库中的记录或者通过因特网可以获得的资源时,例如,所述音轨可以根据下一组音轨选择器同时成组地被显示。因此我们使用字播放或者表现在宽范围上意味着采用对音轨和用户适合的形式对一个用户的任何显示、表现、或者项的其它交付。
对下一个将要播放哪个音轨或者哪些音轨的确定是由音轨选择器22做出的。所述音轨选择器可以采用各种形式。在一些情形中,它可以是包括微处理器、存储器、合适的总线和高速缓存、大容量存储器、操作系统软件、应用程序软件以及关联的输入和输出设备的I/O驱动器的通用计算机。在其它情形中,它可以是为这里所论述的具体目的而设计的客户建立的电路组。所述音轨选择器可以是车辆之中或者建筑物之中或者计算机之中或者手持式设备之中的现有系统的一部分。图33所示的完整的元件组可以在诸如个人数字助理、移动电话或者音乐播放器的手持式设备之中或者位于车辆或者建筑物中的系统之中实施。
所述音轨选择器可以包括软件、固件或硬件形式的逻辑24,以及存储器或者大容量存储设备形式的存储器26。音轨选择是由音轨选择模块28来执行的。尽管音轨选择过程的细节在下面描述,但是总体而言,所述音轨选择是以用户通过用户接口30所提供的信息和关于在存储器26中所保持的音轨的信息为基础的。在一些情形中,用户所提供的信息是隐式的或者显示的反馈,所述反馈指示用户相对于音轨的反应或者偏好,并且对要播放的音轨的选择依赖于所述反馈。反应信息可以是用户输入的原始信息,或者是从所述原始信息中所导出的信息(例如变量),该反应信息被存储并且用于包括对以后要播放的音轨的进行选择的目的。在其它情况下,音轨选择不仅是以过去用户的偏好或者反应消息为基础,而且还以用户通过用户接口的输入侧32所提供的更加常规的命令组为基础。所述常规的命令可以通过用户接口的各方面来提供,所述用户接口的各方面使用户能够指定例如他想让系统按照音轨顺序播放选定CD的所有音轨。
用户接口包括输入侧32和输出侧34这二者。所述输入侧可以包括按钮、旋钮、触摸面板、语音识别软件以及能够隐式地确定用户希望让系统做什么或者用户想要提供什么偏好信息的传感器。所述输出侧可以包括可以听见的信号、显示器、灯、语音合成、或者向用户提供关于系统运行状态的信息的任何其它设备。
输入侧可以包括对于用户用来指示关于音轨的偏好以及另外用于提供反馈或者反应的显式或者隐式的机制。所述显式机制可以包括按钮或者使用户能够直接指示他喜欢或者不喜欢音轨(例如音轨播放中的音轨)的其它设备。例如当用户压下传送按钮以便跳到下一音轨时,也可以使用隐式机制,他的动作可以被解释为一种隐式指示他不喜欢播放中的音轨。
在音轨选择器中的存储器保留使系统能够选择要播放的音轨的信息。音轨打分(scoring)信息36可以被提供给保留在音轨供应中的所有音轨。在每次播放任何音轨或者用户通过用户接口采取了反映用户反馈以及偏好的任何动作时可以更新用于音轨供应中的所有音轨的音轨打分信息。音轨是根据它们的相对分数以后面描述的方式被选择的。
仍保留在存储器26中的是播放历史38和元数据40,所述播放历史记录以前播放的音轨的标识符的顺序,所述元数据保留关于音轨的信息(例如,标题、表演者、流派)。或者,元数据可以位于与所述存储器分离的只读储存库中,例如CD-ROM上,或者它可以通过无线机制从外部中央数据源中被访问。其它信息也保留在存储器中,在以下对其进行更加详细的描述。
除了音轨选择模块28之外,逻辑24包括模块50和模块52,模块50用于控制与用户接口的交互,模块52用于控制音轨到可用的音轨供应之中的存储。元数据维护模块56获取和维护元数据,所述元数据是从元数据源60中提供的,并且在一些情况中元数据可以由用户通过用户接口的输入或者通过个人计算机接口直接提供到所述存储器中。播放历史维护模块58维护播放历史38。音轨打分模块54可以维护关于用户对以前播放的音轨的响应的数据,并且将分数分配给音轨以供音轨选择模块28使用。根据以下讨论将明白可包括其他逻辑模块。
项选择系统10使用户能够简单直觉地访问满足用户的偏好的项,诸如音乐音轨,而不要求预先的配置。所述系统考虑到过去的和当前的用户行为以及项的内容的内在知识从所述供应中自动地选择项,即音轨。所述系统被安排成使得从用户提供反馈被简单化。通过用户最少的参与,所述系统选择他感兴趣的项。
在系统运行的一个简单的例子中,当用户正在听音轨时,他可以按下指示他喜欢所述音轨的偏好按钮或者推指示他不喜欢所述音轨的另一个偏好按钮。在任一情形中,关于他的偏好的信息被累积并且被存储作为那个音轨的分数的一部分。同时,偏好信息被用于改变其它音轨的分数,例如在同一张CD上的其它音轨或者在其它CD中的相同艺术家的其它音轨。当用户指示他不喜欢所述音轨时,所述系统可以跳到另一音轨。用户能够通过按下所述偏好按钮之一再次指示他的偏好并且所述信息被再次用于给所述音轨重新打分。如果用户允许音轨从头至尾播放完毕,或者他按压了传送按钮以便强迫系统跳到下一音轨,则那个隐式偏好信息也被使用。
可以调节音轨的分数来对来自音乐评论家关于CD的哪个音轨或那些音轨例如是较好音轨或较差音轨的信息进行计数。在一个示例中,评论家可以识别CD的最佳音轨,并且该信息可被用来提高那个音轨的分数。效果是,当CD被首先播放时,被评论家时被为最好的音轨具有首先被播放的最高概率。如果首先播放“最佳”音轨,则用户不太可能对那个音轨指示负偏好(姆指指下),并且很可能是,音轨打分系统将得到用户关于CD上的音轨的真正偏好。
当系统运行在这样的模式下时,其中系统是自动地选择音轨的,按照考虑了所述音轨的分数的算法,在可用的音轨供应中的每一音轨具有下一个被播放的非零概率。这样,系统快速有效地适应用户的偏好并且仅当由用户要求有限交互量以指示他的偏好时这样做。在下面进行描述关于其中用户表达偏好的方式,其中系统选择要播放的音轨的方式,以及其中音轨打分被维护的方式的更多细节。
益处选择系统的其它优势是以下的一个或多个
(1)简单性。系统提供对音轨集合的简单访问。所述系统允许用户仅仅压下“电源”按钮,就开始听他或者她想听的音轨。
(2)控制。系统提供这种简单的访问,而用户却不失去对所播放的控制。通过表达对当前播放的音轨的简单的响应,他或者他可以影响系统挑选下一个所要播放的。在音乐领域,CD播放器实现高程度的控制但是在音乐选择过程中可能要求用户实际参与,就降低了总体的简单性。收音机要求最小的用户参与,从而允许高程度的简单性,但是允许很少的控制。参见图29,当应用到音乐音轨时,这个系统的意义就在于跨过上述的鸿沟。
(3)访问。在没有必要地可利用的原始媒体情况下所述系统提供对整个存储的音轨集合的访问。
(4)不用建立。所述系统提供这个控制而不要求用户提前决定要播放什么。
(5)安全性。所述系统允许用户欣赏他的整个集合同时还安全地操作电机动车辆,或者参与要求密切关注的其它任务。
平台在音乐项的环境中,选择系统可以在图7所绘制形式的硬件系统中实施。系统708包括计算机704、存储设备705、放大器706以及扬声器707。外部部件可以包括CD驱动器701、用户输入702以及适用于用户的显示器703。
在图1、2和3中示出了适用于并入选择系统的三种可能的平台,不过可以广泛地使用各种平台。
如图1所示,系统103可以通过添加用于存储以后要回放的音乐的硬盘驱动器101被安置到家庭娱乐系统中,诸如Bose Lifestyle 35(106)。所述系统然后确定将要播放的音轨顺序并且会将它们从硬盘驱动器提供到所述娱乐系统。用户偏好信息和反馈可以在集成的远程控制器107从用户接收并且送回到系统103,以供在确定以后要播放的音轨中使用。所述娱乐系统106具有从调幅和调频(AM和FM)收音机104、光盘或DVD 105或者它的硬盘驱动器101播放音乐的能力,并且是能够多分区的,允许它在房屋的不同区域播放不同的音乐项。远程控制器107可以与核心单元108和项选择系统103这二者连接。
在图2中所绘制的另一个例子中,项选择系统202可以再次通过添加硬盘驱动器或者其它随机访问存储媒体201而置于较小的单元上,诸如玻色声波音乐系统(Bose Acoustic Wave Music System)205。在这种配置下,所述系统可以从AM和FM收音机203、光盘204以及它的内部硬盘驱动器201播放音乐。远程控制器206将与核心单元207和项选择系统202这二者连接。
在图3所示的第三个例子中,项选择系统305可以被集成到车辆音乐网络之中。在这个实施中,所述系统补充标准的汽车娱乐系统309(它最少包括音频源诸如光盘播放器302和扬声器303)、硬盘驱动器或者其它随机访问存储媒体304、计算引擎307以及附加用户接口控制器306,并且所述系统将链接到汽车的音频可视网络。在这个配置中,所述系统从它的内部硬盘驱动器304播放音乐,所述硬盘驱动器依次能够从AM和FM收音机301、CD或DVD302以及潜在的卫星收音机308记录音乐。
如较早前所指出的,所述系统还可以包括在其它平台之中,诸如视频自动唱片点唱系统、数据库引擎或者软件程序(此处要选择的项可以是特征或菜单项)。
操作模式如较早前所提到的,所述系统可以从各种源播放音轨,所述源例如是(1)CD/DVD。所述系统播放当前加载的CD/DVD盘。在这个模式下,相对于当前加载的CD/DVD盘,用户能够选择在光盘播放器上可用的标准选项,例如,播放、暂停、下一音轨以及前一音轨。在CD/DVD模式下的操作持续到新的模式被选择为止。
(2)AM/FM/卫星收音机。所述系统作为标准AM/FM收音机,或者卫星收音机运操作。
(3)盒式磁带。所述系统作为盒式播放机操作。
(4)所存储的音轨。所述系统从它的内部硬盘驱动器播放音轨。
(5)因特网。所述系统播放从位于因特网上的另一个计算机所检索的音轨。
(6)内部的。例如,当音轨是计算机软件的特征时,可以不需要外部数据。
当系统从它的硬盘驱动器播放音轨时,或者在不需要外部数据的情形,所述系统可以以下列模式之一操作(1)自动选择模式。如图6所示,在这个模式下,所述系统播放取自可用于系统的所有音轨中的选择。用户显式地和隐式地提供关于被播放音轨的反馈。所述反馈可以代表用户偏好。所述系统根据用户的反馈(强调较新近的反馈)和最近播放的音轨的历史为用户选择音轨。所述选择系统还可以考虑在当前所谓的用户站(User Station)中存储的反馈(参见以下的“站和预置”)。在有些实施中,为了更加简单,自动选择模式是缺省模式,并且当任何其它的模式已经完成回放时,所述系统回复到自动选择模式。
图6描述了这样的过程,即按照所述过程,所述选择系统能够在自动选择模式时起作用。音轨选择是通过自动选择模块来完成的(参见以下的“模块”)。自动选择模块最初处于空闲状态2201。(注意,其它模块可能不处于空闲;特别是系统可能正在播放音轨)。当所述模块接收通知2204到选择下一音轨的时间了(信号可以通过播放器来提供,指示前一音轨已经或不久就要完成),如在“模块”部分所描述的,所述模块切换到“选择音轨”状态2202。它然后选择下一音轨来播放,如在以下的部分所描述的。如果在所述模块处在选择音轨状态的同时还有选择音轨请求被接收,它就将它们添加到选择音轨队列中。如果,当所述模块已经完成选择音轨时,在选择音轨或者反馈队列中没有任何项,则系统返回2205到空闲状态。如果还有选择音轨请求,则所述系统返回2206到选择音轨状态。
当所述模块接收反馈事件(即,来自用户接口模块的消息在那里已经是来自用户相对于当前播放中的音轨的隐式或者显示的指示)时,如果所述模块处于空闲状态,则所述系统切换2209到“更新反馈结构”状态2203。如果所述模块接收到所述消息同时它处在选择音轨或者更新反馈结构状态,则它就将所述事件放在反馈队列中。当所述模块完成选择音轨的处理时,如果所述反馈队列不为空并且不再有更多的选择音轨事件,则模块切换2207到“更新反馈结构”状态。在那儿,它更新存储音轨图,如以下所描述的。当它完成时,如果反馈和选择音轨队列为空,它就返回2210到空闲状态。如果所述反馈队列不为空,则模块返回2211到更新反馈结构状态。如果所述选择音轨队列不为空,则所述模块返回2208到选择音轨状态。
其它实施例允许用户指定自动选择模式应该在CD或者唱片级上运行,而不是在音轨级上运行。在这个配置中,自动选择模式会选择它预期是用户感兴趣的CD,然后播放所述CD从开始到结束。
(2)音轨模式。在这个模式下,所述系统只播放预先指定的音轨,例如,只播放用户定义的在给定的预置中所列出的那些音轨,或者在特定CD或者唱片集上的所有音轨。这个模式可以有若干种回放选项,包括(a)正常;(b)随机(shuffle);以及(c)重复。
(a)“正常”选项引发系统按照用户对所有的音轨编制程序的顺序全部地来播放它们。在最后的音轨结束时,所述系统返回到自动选择模式。
(b)“随机”选项引发系统按照随机的顺序播放用户所指定的音轨。当所有的音轨都已经播放了,所述系统可以返回到自动选择模式。
(c)“重复”选项使系统停留在音轨模式直到用户指示系统改变。这个模式能够结合“正常”或者“随机”选项使用,以便确定在音轨重复之前所述音轨按照什么顺序来播放。
(3)箱(bins)模式。在这个模式下,每个预置(通过诸如控制面板上的小键盘按钮的用户接口对象代表的)包含一个或多个CD。所述系统将从用户已经添加到当前预置的任何CD播放音轨。如果CD只被存储了部分,则所述系统只播放那些已被存储的音轨。在实施箱模式的系统中,通过设置菜单,CD可以被添加到箱预置或从其删除。在一些例子中,当所述系统在任一模式下正播放所存储音轨时,用户可以压下并保持预置键以便添加当前音轨曾从其被录制到那个预置的CD。音轨被播放的次序是由在“音轨”下所描述的相同的回放选项所指定的。在“正常”或者“随机”选项下播放结束时,所述系统可以返回到自动选择模式。
(4)虚拟CD换片机模式。这个模式与箱模式是相似的,除了每个预置只代表单一的CD之外。因此,用户可以压小键盘1805上的按钮来选择CD播放。或者,用户可以输入两个或者三个数字代码来选择指定的CD。用户还可以选择在“音轨”中所描述的回放选项之一。这些选项只应用到当前的CD,不过附加选项可以允许它们应用在任一预置中所有CD中的所有音轨。在回放结束时,系统可以返回到自动选择模式。
(5)“搜索模式”(参见图9)。在“搜索模式”下,用户能够滚动通过显示的可用内容列表,所述内容列表是按照盘号、艺术家、或者可以使用的其它信息进行排序的。用户可以选择要回放的整张盘、艺术家、流派、或者任意组合。或者,用户可以输入代表已经被记录到系统硬盘驱动器的CD的代码来从所述CD播放音轨。
所描述的用于音轨模式的回放选项也应用到搜索模式。在“正常”或者“随机”选项下的播放结束时,所述系统可以返回到自动选择模式。回放实际上是在音轨模式下发生的;搜索模式仅仅是设置了特殊的播放列表以便按照音轨模式回放。
在一个例子中,系统只维护一个播放列表;用户通过压下所述小键盘上的0来激活这个播放列表。在这个例子中,在一些模式之间的切换是按照图20的状态图发生的。系统开始按照缺省处于自动选择模式2001。用户可以通过压下远程控制器(参见图18)的小键盘1805上的相应按钮改变用户站(参见下面的“用户站和预置”)2005。当音轨完成时2006,系统仍然处于自动选择模式并且选择新的音轨。当用户压下换片机1806时,系统切换2007到换片机模式2003。在换片机模式下,如果用户压下小键盘的按钮或者通过直接输入代码选择CD,则系统停留2012在换片机模式2003,并且开始从已经被指定代码的CD或者从被分配给小键盘按钮的CD(这里称为槽)播放音轨。在音轨结束时,系统播放2011下一音轨。当所述CD完成时,系统开始播放2013由下一槽所指定的CD。也就是说,如果用户压下小键盘按钮2,则系统播放槽2中的CD,并且然后播放槽3中的CD。如果用户压下“智能播放”,则系统切换2008到自动选择模式。如果用户从换片机模式压下整张唱片集,系统仍然保持2023在换片机模式,但是从开始处开始当前唱片集。
当用户压下搜索1812(并从搜索屏幕进行选择),播放列表1807,系统从自动选择模式2001或者换片机模式2003切换2009,2010到音轨模式2002。从自动选择模式,整张唱片集按钮还引发系统切换2009到音轨模式。如果搜索按钮被压下,则系统建立代表搜索结果的播放列表。如果播放列表被压下,则系统播放在播放列表中的音轨。如果整张唱片集被压下,则系统建立代表在当前播放中的CD上的每个音轨的播放列表。音轨模式按先前所述来播放所述播放列表。回放持续2016,只要还有音轨要播放。如果用户压下“智能播放”,或者如果系统完成了在所述播放列表中的所有音轨并且前一状态是自动选择模式,则系统切换2014到自动选择模式。如果用户压下“换片机”,或者如果系统完成了在所述播放列表中的所有音轨并且前一状态是换片机模式,则系统切换2015到换片机模式。
如果用户从所述三种状态中的任一状态中压下另一个源按钮,则系统在保存了它的状态之后切换2018、2020、2021到新的源2004。从其它源,用户可以让当前播放的音轨记录到系统的硬盘。当存储完成时,系统返回2017、2019、2022到前一种状态。如果用户从其它源模式压下“智能播放”,则系统切换2019到最近使用的用户状态。如果用户压下“换片机”,则系统切换2022到换片机模式。如果用户压下播放列表,则系统返回到音轨模式。
在这个例子中,在音轨正在换片机中播放的同时完全保持0,音轨或者自动选择模式将当前音轨添加到播放列表。用户可以通过压下除去按钮或者从设置菜单选择一选项将音轨从所述播放列表中除去。
其它实施例允许多于一个播放列表,并且有些实施例还实施“箱”模式,如上所述,可以通过修改音轨模式来播放整个CD而不是CD中的各个音轨。有些实施没有包括上面所列出的所有模式。其它实施例可以包括附加或者替代的模式。例如,有些实施可以包括“这个艺术家的所有项”按钮,它与“整张唱片集”按钮是相似的,只不过它播放由同一个艺术家所表演的所有音轨当作当前播放的音轨。搜索功能的其它子集也是可能的,诸如“这一流派的所有项。
动态复杂性调节选择系统能够提供复杂操作模式以及更加自动的模式这两者,所述复杂操作模式允许例如用户对所有功能完全控制,所述更加自动模式用于减小用户可以使用的特征数并且例如只允许简单的用户控制。在用户的注意力主要集中在另一项任务的情况下,有些特征例如用户接口的复杂方面就被禁用。在那个时间期间,系统提供能够满足用户的偏好而不把他或者她从主要任务分散开的简单的功能的接口。
这个特征的例子可以用于安装在汽车中的选择系统(参见图17)。在那里它可以被配置成在汽车处于运动的同时搜索模式对用户不可用。这个模式可以被限制成它只在车辆的传动装置处于停车或者停车闸被置定的同时被允许。传动装置在任一其他情况下,可用其他的模式。
个人计算机连接系统的有些实施例可以允许与个人计算机之间的可选连接。这些实施例允许用户从系统中拆卸存储设备并且将它直接连接到计算机上。用户然后能够将所有存储音轨的列表与代表每个CD的代码一起保存到计算机。用户然后能够打印出与每个CD相关联的代码,以供以后使用直接访问功能快速地访问。
在硬盘连接到计算机的同时,用户还能够充分地利用计算机的硬件将附加音轨存储到硬盘上的优点,例如,假如计算机的CD播放器能够比系统的播放器更加快速地读取和存储CD数据,这可以是有利的。
计算机还可以提供这样的能力创建播放列表并从对项选择系统不可使用的元数据库中查询存储音轨的元数据。最后,为了备份,用户能够将所存储音轨集合保存到他的计算机上。
用户接口用户通过接口机制与选择系统交互,所述接口机制依赖于系统所嵌入在的平台。例如,如图18所示,用户可以应用远程控制器。或者当所述嵌入在例如家庭娱乐系统中时,系统可以由控制面板来控制,如图23所示。当安装在汽车中时,所述系统可以具有安置在方向盘上的某些控制器,如在图24中,其余的控制器在仪表盘上,如图25中所绘制的。在那里系统控制对计算机软件的特征进行选择时,用户接口就由软件本身来提供。在以下描述有些用户接口元件不可以应用到非音乐音轨。
图18中的远程控制器绘制了对用户可以利用的大多数功能,不过控制器本身可以安装在控制台上,作为从屏幕菜单或别的地方的选择。电源可以使用标准开/关按钮1816来控制。用户可以使用静音按钮1818来静音。用户可以使用一组按钮1826来选择音轨源。或者,可以有单一的按钮循环地来遍历系统可以利用的源。当系统处于不同于存储的音轨的任一源模式时,用户可以压下并保持“已存储”按钮1817以便指示系统将当前的音轨存储到它的硬盘上。或者,如图25,系统可以提供独立的按钮2503来允许用户存储当前的音轨。它还可以提供按钮2502,如果系统正在播放存储音轨,则允许用户删除当前的音轨。或者,这个按钮可以提供从当前CD或者唱片集删除所有的音轨的功能。
用户可以使用设置按钮1801来访问系统的高级设置。但处于DVD模式时,在DVD上编码的特殊特征和信息可以通过DVD菜单按钮1804来访问。这些按钮中的任一个可以用退出按钮1803退出。这些菜单之内的导航是通过箭头键1825来实现的。回车键1802用于接受这些菜单中的任一个的选择。
用户可以通过音量键1826来控制音量。当在自动选择模式下播放时,当前用户站(参见“用户站和预置”)是可以改变的,并且当在支持改变音轨的输入模式下时,使用按钮1827,当前播放的音轨是可以改变的。通过直接从小键盘1805选择新站,当前用户站也是可以改变的。
当音轨正在从系统的硬盘播放时,按照不同于播放列表模式的任一模式,用户通过压下并保持0可以将音轨添加到所述播放列表。用户通过在小键盘1807上压下0一次可以进入播放列表模式。用户通过压下为这一目的指定的按钮1819能够回复到前一种播放模式。
对当前播放的音轨的控制可以使用标准传送控制器来执行。用户可以使用播放按钮1820来开始回放;使用暂停按钮1822来暂停回放;以及使用停止按钮1821来停止回放。此外,用户可以使用下一音轨按钮1823跳到下一音轨,或者使用按钮1824返回到前一音轨。
当播放硬盘上的音轨时,可以使用按钮1811、1806、1810以及1813调整回放模式。整张唱片集按钮1811引发系统播放唱片集上的所有音轨,当前音轨是从所述唱片集上所录制的。换片机按钮1806引发系统切换到虚拟CD换片机模式(参见“操作模式”)。智能播放键1810引发系统切换到自动选择模式。箱按钮1813引发系统切换到箱模式。用户可以通过压下搜索按钮1812进入“搜索模式”。
系统包括反馈机制,从而用户可以指示对音轨例如当前播放的音轨的反应(偏好)。这可以通过提供简单的+1815和-1814评估按钮(Rating button)来实现。在其它例子中,如图23所绘制的,+按钮2302位于-按钮2303之上,并且这二者能够用于在最大值和最小值之间滚动偏好值。在其它例子中,如图24和32所绘制的,+按钮2401可以比-按钮2402要大些并且位于它的上面。在有些例子中,这些按钮起到在系统处于智能播放模式时的评估按钮和系统处于其它播放模式时的滚动按钮的双重作用。也可以使用其它指示符。例如,取代+和-,系统可以提供姆指指上和姆指指下指示符。这些按钮还可以编有颜色(例如,红色按钮用于负的反应,绿色按钮用于正的反应)。
除了反馈按钮,系统的有些实施例提供取消按钮。这一按钮将完全取消前次启动的反馈按钮对存储音轨的图(参见“元数据”)的影响。对一个用户而言根据以前播放音轨所给出的情况,通过返回到以前的音轨然后指示与对以前播放的音轨所给出的相反的反馈减少无意识的偏好指示也是可能的。
种类广泛的机制可以提供到接口中以便使用户能够指示对音轨的正或负的反应。不止两个按钮可以被提供以便允许显式地指示来自不止两个选项之中的偏好。相反,单一的反馈按钮的应用是有可能的,或者是单一的正反馈按钮,或者是单一的负反馈按钮,或者是能够被压下指示用户偏好的级别的一段时间的单一按钮。尽管不简单,但是用意在于提供除了简单的喜欢或者不喜欢类型的反馈的按钮会是有可能的,例如会代表对音轨的感情反应类型,诸如,快乐、伤心以及漠不关心的按钮。用于反馈需要的机制需要的不只是按钮还有旋钮、拨号盘、指轮、触摸屏、语音识别、生物统计读数器或者能够接收用户输入的任何设备。按钮的形状可以不同于在图中所示的形状。
反馈设备的形状、轮廓、位置以及其它方面是可以进行选择的以便给用户对应于按钮功能的直觉的触觉感受。例如,将+按钮置于-按钮之上以及让+按钮大于-按钮,可以传达每个按钮的意义的直觉感觉。两个不同偏好按钮的表面轮廓可以被安排成直觉地指示它们的意义。例如,+按钮可以是凹表面(这典型地感觉很舒服),-按钮是凸表面(这典型地感觉不舒服)。
还希望互相紧密地放置偏好按钮或者各按钮以及紧密地靠着一个或多个主要传送按钮,例如靠得足够近就使用户能够通过仅仅动一下他的手指而不用动整只手就可压下那些按钮中的任一个。如图24所示,让组合按钮的一种有用的方式是这样的安排,其中在该安排之下,+按钮和-按钮互相处于上和下,向后传送和向前传送按钮紧靠着连系+和-按钮的垂直轴的左和右。当安装在方向盘上时,例如,用户能够使用他的拇指来评估和传送而不用动他的整只手。除了方便之外,这种安排可能比在车辆中所用的其它更加安全。
系统可以将关于所表达的偏好和其他事项的反馈提供给用户。在一种方法中,如图23所示,反馈可以提供到内置的屏幕2301上。在另一种方法中,如图25所示,反馈可以提供到LCD显示器2501上。反馈可以包括播放中的音轨的标识、播放中的用户站、音轨长度、经历过的时间、以及系统对用户关于播放中的音轨的可能的偏好级别的解释的指示。
有些实施例可以通过语音应答系统来增加和替换以上所述按钮和显示器。系统会向用户提供口头反馈,以及会听口头命令。或者,系统会提供口头菜单选择,这可以通过按钮压下或者口头应答来加以选择。
显示在使用屏幕显示将反馈提供给用户的实施例中,当系统正在从存储音轨播放时,系统可以显示关于当前播放的音轨的信息,如图26所绘制的。系统可以显示当前唱片集的名称2601;当前音轨的标题2602;艺术家的名字2603;流派2604;当前音轨经历过的时间2605;当前哪个用户站正在播放2606(参见“用户站和预置”);以及音轨源是什么2607。
在搜索模式下,如图9所绘制的,系统可以显示允许用户按照流派904、艺术家903、音轨902或者唱片集901来搜索的菜单。系统可以显示当前搜索结果的范围905,这最初可能是所存储音轨的完整组。在一些例子中,搜索的最初范围是以当前播放的音轨为基础的。用户然后能够相对快速容易地例如按照相同的艺术家,或者相同的唱片集上的,或者按照相同的流派来选择相似的音轨。
当用户希望编辑预置或者用户站时,系统可以显示图19所绘制的屏幕。如果所述预置不是用户站,则用户可以添加给定的音轨到所述预置或者从其删除。如果预置是用户站,则用户可以给出相对于所述站的显式的正或负的反馈。
当较小的显示器是必须的,诸如在车辆中或者便携式立体声系统中时,显示器可以采用图27所示的形式。系统会连续地显示当前模式2701和经历过的时间2702。还可以滚动通过关于当前艺术家2703(例如,“甲克虫”)以及当前音轨的标题2704(例如,“Hard Day′s Night”)的屏幕信息。
当用户压下显式反馈按钮(例如图18中的按钮1814或1815)时,在任一实施例中,显示器能够确认反馈(例如,通过临时地显示确认消息,诸如“反馈已确认”)。在有些实施例中,当接收到隐式反馈以及显式反馈时,所述确认会被显示。
当系统正在播放音轨时,显示器能够示出代表系统对用户关于那个音轨的偏好级别的理解的指示符2608(图26)。所述指示符可以是例如在图31所示的5个图标中之一。所述5个图标可以包括实心+3101、边框+3102、圆环3103、边框-3104以及实心-3105。其它图标、图标的其它数字以及图标的其它意义也可以使用。
当用户进入设置模式时,参见图28,设置屏幕2801就出现。该屏幕可允许用户改变当前播放的预置或站2802。它还允许用户配置系统2803以便在用户指定量的时间之后自行关闭,或者在某日的指定时间之后自行打开。它可以允许用户调整标准音频设置2804,诸如高音、贝司以及平衡。它可以允许用户查看和修改高级设置2805。
如果用户选择编辑高级设置,则屏幕(诸如2806)会出现。其中,系统将显示当前播放的站2807;显示关于有多少音轨已经有记录的一些反馈2808以及那个反馈是什么2809的信息;以及显示在当前站下2810具有最高反馈率的艺术家。它还可以允许用户清除在当前站2811中的所有信息。
如果系统使用语音合成而不使用屏幕显示,相似的信息和选项可以口头地传递给用户。
用户站和预置从概念上讲,预置代表关于每个存储音轨影响系统选择要播放哪个音轨的信息。系统使用这个信息的这种机制依赖于当前的模式,并且有些预置信息只可以应用到某些模式。例如,当在音轨、箱、虚拟CD换片机模式下时,预置将包含每个存储音轨或者唱片集的简单的是/否数据,代表那个音轨或者唱片集是否在当前的预置之中。在用户站模式下,预置将包含系统使用来在自动选择模式下选择音轨的信息。例如,在图12,它可以包括在存储音轨图(参见“元数据”)中的每个节点的反馈记录1213。
选择系统可以维护一组任意数的预置(参见图15的数据库图表)。例如,系统能够维护四个预置,每个预置由按钮或者在物理用户接口上的其它用户接口项来表示,被标记为1-4(参见图23的项1805)。音轨在任一模式下播放的同时,用户能够例如通过压下对应的按钮指定所述音轨应该添加到给定的预置。当系统处于自动选择模式时,这与给出当前的音轨一个正的评估有一样的效果。用户通过压下相对应的按钮激活预置。为了显示和选择,每个预置能可被分配一个号或者名字。
如图15所示,系统可以维护至少三种类型的预置。一个允许用户将各个音轨指定到预置以便建立播放列表。第二个允许用户指定CD或者CD组到预置以便从那些CD播放音轨。第三类型的预置称为用户站。此外,用户能够设置CD预置来播放单一的CD。
用户站是用在自动选择模式之下的预置。每个用户站与存储在系统上的每个音轨的概率相关联。所述概率是通过自动选择算法(以下描述)而生成的,并且是根据例如用户或者显式地或者隐式的或者二者组合地指示的偏好动态地更新的。在预置处于使用中时,选择要播放的音轨是以与音轨的整个集合相关联的、存储在预置中的概率的具体组为基础的。几个预置可以被定义为要播放音轨的方式,所述音轨是以在整个集合中的项的不同概率为基础而选择的。
在有些实施例中,用户站可以与各个用户相关联。因此,如果有系统的三个用户,则用户站1可以反映用户1的偏好;用户站2可以反映用户2的偏好;以及用户站3可以反映用户3的偏好。用户站1会根据音轨的打分播放选择,所述音轨的打分是从在由用户站1的音轨播放期间所指示的用户偏好等而得出的。
有些实施例可以允许自动标识用户,以及自动使用他的预置。这可以通过生物统计识别来实现。例如,系统可以配有语音识别能力,并且用户可以通过他的语音的声音而被标识。一旦被标识,系统能够自动地切换到那个用户站。其它系统可以使用指纹识别、视网膜扫描或者其它的生物统计测量技术。其它系统还可以与外部识别设备相接口。例如,嵌入到汽车中的系统在用户将驾驶座位的位置改变为以前存储用户1喜欢的位置时可以切换到用户1的站。
在有些例子中,取代在每次系统从用户接收反馈时自动更新预置,预置只根据用户显示的指令才被更新。照那样,用户能够甚至在会话之后返回到喜欢的预置,在所述会话之下,所述预置被用于选择播放项的顺序。
模块图21代表在一个可行的实施例中所包含的功能性模块,以及它们交互的性质。在这一实施例中,音乐播放器2107对输入作出响应而控制音轨的播放,并且以“音轨回放结束”以及“时间更新”消息2122的形式向播放模式模块2103提供关于播放的音轨的状态信息。它将“时间更新”以及“新音轨播放中”消息2118发送到屏幕显示(OSD)模块2101。它将“音轨回放结束”消息2115发送到播放器状态模块2104。当CD已经插入、CD已经弹出以及CD已就绪来被存储时间,它将“RipTime更新”、“CD已插入”、“CD已弹出”以及“CD就绪”消息2116发送到拨开器模块2106(如下看到),以便告诉拨开器模块在剥开(ripping)过程中还有多少时间。
拨开器(ripper)2106响应来自控制用户接口模块2102的存储命令,并且将消息2117发送到自动选择模块,以便将存储音轨添加到存储音轨图(参见“元数据”)。它还可以问自动选择模块2117给定的音轨是否已经存储到了所述图中。拨开器模块将ripTrack(拨开音轨)消息2123发送到音乐播放器模块,以便指示音乐播放器模块实际存储所述音轨。音乐播放器模块在它已经完成时发送确认消息。
播放模式模块2103响应来自控制用户接口的按钮压下2109。它向播放器状态模块2104发送消息2111以便改变当前状态到“已停止”或者“播放中”。它还能够查询2124自动选择模块来查找出下一个要播放什么音轨或者获取当前的播放列表。它还可以指示2124自动选择模块来处理反馈事件。它还维护用户站(参见“用户站和预置”)以及虚拟CD换片机(参见“操作模式”)的音轨历史和状态。
播放器状态模块2104响应来自用户控制器的传送控制事件以及来自播放模式模块的命令。它还充当在远程控制器和音乐播放器模块之间的接口。它传递从控制用户接口和播放模式模块接收的传送控制和播放音轨指令2112到音乐播放器模块。它能够查询2113播放模式模块当前、前一个以及下一个音轨。
屏幕显示(OSD)模块2101给用户显示关于什么是当前正在播放的信息。它处理关于“重置”或者其它方面的编辑预置的用户交互,并且能够向自动选择模块发送“重置”消息2120。它还显示搜索接口的用户接口,并且向播放模式模块发送搜索结果2121。它查询2119自动选择模块以便获取搜索结果(是由用户向OSD模块提供的给定搜索参数)。它还查询2119自动选择模块以供关于当前播放的音轨的信息,以便展示给用户。
自动选择模块2105在单元处于“自动选择”模式(参见“操作模式”)时选择要播放哪些音轨。它维护所有用户站(参见“用户站和预置”)的所有反馈信息。它在被用户通过OSD模块请求时实施搜索,将由OSD模块公式化的查询转换为要播放的音轨列表。它给OSD模块供应关于当前播放的音轨的信息。它响应来自用户接口的、编辑存储音轨图中的数据的请求。因为这个模块维护存储音轨图,所以当系统处于虚拟CD换片机模式、音轨模式或者箱模式时,播放模式模块必须查询2124自动选择模块以便从这个数据结构确定下一个要播放的音轨是什么。
控制用户接口(ContrilUI)2102模块调度用户事件。为了例如在“搜索”模式下的用户交互,它将按钮压下2108发送到OSD模块。它将源改变、模式改变、评估以及下一音轨消息2109发送到播放模式模块。它将传送控制消息(除了下一音轨消息)2110发送到播放器状态模块。它将存储按钮压下2114发送到拨开器模块。
存储音轨自动选择模式、音轨模式、箱模式、虚拟CD换片机模式以及搜索模式都要求将音轨数据存储到系统的硬盘上。这是通过拨开器模块操作的,所述拨开器模块按照图5所绘制的操作。
当没有插入盘(以及没有其它源在操作中)500时,所述模块处于“目前无盘”状态501。当有盘插入(或用户开始从另一个源例如收音机或者盒式收录机播放)503时,系统读取内容表(TOC)数据(如果可利用的话)(参见下面的“数据存储”),并且进入“目前有盘/空闲”状态502。当用户压下存储按钮时,如果还有剩余音轨要存储504,则系统保存未存储音轨列表并进入“存储中”状态509。如果没有剩余音轨要存储508,则系统显示错误消息。
在存储状态中,在其它模块处理播放源的同时,所述音轨被同步地记录到硬盘驱动器上。当所有音轨的存储完成时,所述模块可以将确认消息显示给用户506并返回到空闲状态502,或者它可以返回到其它源模式并从开始播放该源。如果在所有音轨都被存储507之前所述源被除去,则系统返回到目前无盘状态501。如果所述源被除去了,用户压下停止,用户改变源,系统用尽硬盘空间,或者某个其它事件发生致使其对系统不可能继续存储当前音轨,则当前音轨的存储数据就被删除。
在其它例子中,音轨在处于被存储到单元的硬盘驱动器的同时,不会被播放。音轨存储然后可以在更短的时间内完成。存储模块在这些实施例中是独立操作的,并且存储模块正在存储音轨的同时,用户可以继续听任何源包括系统的硬盘中的任何音轨。
其它实施例允许“后台存储”。这种特征允许用户指示给定的音轨应该被存储。系统会推迟实际的存储直到稍后的时间(当系统不处于运行中时)。如果系统在后台存储音轨的同时用户使用系统,则系统中止存储功能。如果用户播放CD中的排在后台存储队列中的音轨,则在用户播放它时,音轨可以被存储。
后台存储可以与如下的标准存储特征组合起来。标准存储在一般情况下被使用;但是如果系统用尽了硬盘空间,用户要取出CD,或者某个其它事件发生致使不可能存储音轨,则系统可以对要在后台存储的音轨进行排队,并且在稍后可能的时间存储它。
有些实施例在存储时间执行最小量的处理,并且推迟高级处理直到系统空闲时为止。在这些实施例中,在需要原始媒体期间的时间量被减小了,大多数信号处理发生在空闲时间。
元数据所谓元数据,我们指的是关于音轨而不是其下面的音轨数据的信息。有许多潜在的元数据的源以及分级结构类型的例子。例如,如果存储音轨在性质上是音乐,则系统就会利用数字信号处理算法来分析,例如在特定音轨上的贝司量。它然后会给所述音轨指定类别诸如“重贝司”、“轻贝司”、或者在它们之间的某个量。或者,如果音轨代表的是非音乐数据,则适合于那种类型的数据的元数据会被使用。例如,如果音轨代表的是在计算机程序中的命令,合适的元数据类别可以是“范围”(例如文档级别的命令、全局命令或者选择级别的命令);“类型”(例如,字体、样式、偏好、布局);菜单(例如,文件、编辑、视图);以及命令名(例如,插入页)。与使用音乐数据一样,这种元数据可以预先与软件打包在一起,或者例如通过因特网可以独立地获得。在以下的这些部分,使用存储音乐的例子。以下的描述展示建立适用于表示音乐数据诸如艺术家、流派以及风格的特有的特性的存储音轨图。在其它例子中,根据存储中的数据类型,会使用具有节点间的不同关系的不同结构。
返回到音乐的例子,元数据呈现诸如图30所绘制的那样的结构。各个音轨3001一起组成唱片集3002;多个唱片集组成艺术家的作品3003;以及多个艺术家一起形成流派3004。许多实施将添加附加层,这在下面描述。
自动选择模式可以利用例如元数据支持的以下三级中任一级(1)完全无元数据。
(2)外部提供的元数据的数据库,以唯一的唱片集标识符为索引,潜在地包含以下列“流派”、“艺术家名”、“唱片集标题”以及按照“音轨号”排序的“音轨标题”列表。这种数据的一个源是Gracenote的CDDB数据库;我们将泛指具有这些字段的任何数据为“CDDB数据”。参见图10。
(3)外部提供的数据库,包括唱片集表,以唯一的唱片集标识符为索引,潜在地包含下列“流派”、“风格”列表,唯一的艺术家标识符,“唱片集标题”、“可排序的唱片集标题”以及“类似的”唱片集列表(以它们唯一的ID作为参考)。所述数据库还包括艺术家表,以唯一的艺术家标识符为索引,以及如下列“艺术家名”、“可排序的唱片集名”、“风格”列表以及“类似的”艺术家表(以它们唯一的ID作为参考)。所述数据库还包括固定的“风格”表,其中每个风格全连接到一个“流派”。所述数据库还包括“音轨”表,以唯一的唱片集标识符为索引,具有如下列“媒体索引”(在多盘组中的顺序盘号),“音轨号”、“音轨标题”、“可排序的音轨标题”、“艺术家唯一的ID”。这种数据的一个源是ALL-Music Guide。我们将泛指具有这些字段的数据为“AMG数据”。参见图11。
选择系统的其它例子是可以与能够被转换为选择系统的内部图格式的任何元数据格式一起工作的。系统的“存储音轨图”是具有在通用性的不同级别上的节点的图。节点可以是按照祖先-后代关系或者是堂兄与堂兄关系连接的,如图8所绘制的。通用型的级别以及这样的所有祖先-后代关系是传递的。
用于系统的存储音轨图的数据结构综述在图12中。元数据的每一项形成在半分级的网络中的节点。在该图中描述有大量不同类型的节点,其中的每个都是从通用节点对象派生的。节点对象1209(以及这样的每个节点)包含“名字”字段(它用在有些内容必须要显示给用户时)、“id”(唯一标识符)、“排序名”(“名字”的可排序版),以及一组反馈记录1214。反馈记录包括记录数组1213,一用于每个用户站,加一全局维护,这样保持所有反馈、记分以及播放历史信息的音轨。
分级结构在该图中是用纵向元和节点之间的连接来表示的。从一级的节点A到较高级的节点B(即祖先-后代关系)的连接隐含着节点A所代表的实体是节点B代表的实体的一部分或者被节点B代表的实体执行。
从该图的底部向上读,音轨节点1201包含标准节点字段,以及附加地包含trackNumber(轨道号)(它在CD上的位置)、它的艺术家和流派(当有元数据可以利用时)、它的持续时间的字段。每个音轨节点连接1222到单一的CD节点1202,并且多艺术家CD的音轨连接1225到一个或多个艺术家节点1204(当这个元数据可以利用时)。
CD节点1202存储盘的内容表(TOC)字符串,以及代表在多盘组中的盘号的顺序的“媒体索引”(当可利用时)。每个CD节点连接1223到单一的唱片集节点1203。
唱片集节点1203代表或者单一的CD或者多盘组。如果唱片集包括单个艺术家的音轨,则它连接1224到单个艺术家节点1204;如果它包含多个艺术家的音轨,则它不与任一艺术家节点相连接。相反,音轨节点1201直接连接1225到艺术家节点1204。唱片集节点可以连接1227到零个或者多个风格节点1206。唱片集节点也可以按照堂兄弟-堂兄弟链路连接1221到零个或者多个“类似”唱片集。
艺术家节点1204代表单个表演者,此外表演者被定义为录制了一个或多个音轨的一个或多个个人。它可以连接1226到零个或者多个风格节点1206。艺术家节点也可以按照堂兄弟-堂兄弟链路连接1229到零个或者多个“相关的”艺术家。
风格节点1206代表音乐的子流派。它连接1205到至少一个流派节点1207。当元数据不提供风格和流派信息这二者时,流派可以通过静态查询表(参见图11的1101)根据风格来确定。例如,风格“经典摇滚”映射成流派“摇滚”。
流派节点1207相应于类别很宽的音乐(例如,“摇滚”、“古典”、“爵士”)。它连接1228到根节点(“一切”节点)1208。
根节点1208是所有其它节点的祖先。它代表整个音乐集合。
在各节点之间的连接是用数据结构1229表示的。连接是双向的(以及因此包含双亲或者左堂兄弟1230以及孩子或者右堂兄弟1231),并且每个连接都有数字权重(“链路权重”)1232和类型1233,所述数字权重代表关系的强度,所述类型指定关系的性质。链路权重可以从外部元数据信息得到,它们可以是静态的或者它们可以都等于1。
在没有显式元数据可以利用的情况下,系统没有直接的方式来分类音轨。例如,当新的音乐CD已被购买并且被加载到系统中,尽管系统会知道在所述CD上的音轨之间的关系,但是它却不会知道每个音轨的流派或者风格。它因此不能够在存储音轨图中的适当位置创建节点。有些实施是通过(例如,使用语音合成)提示用户需要信息,然后使用结果将元数据置于系统中来解决这个问题的。例如,系统可能会问“你认为这是什么流派?”。口头回答“爵士”可以被识别并存储。
用户反馈的类型有五个事件是选择系统使用来向用户学习并确定用户偏好的(尽管描述了五个事件,但是其它类型的事件也是可能的)(1)用户压下按钮或者采用某个其它的方式指示在某个级别的显式的正的反应(例如,“评估+”);(2)用户压下按钮或者采用某个其它的方式指示在某个级别的显式的负的反应(“评估-”);(3)用户压下按钮或者采用某个其它的方式指示系统应该跳到下一音轨或者要不然终止当前音轨,例如,假设按钮的压下发生在所述音轨已经开始播放之后的某个预先指定的时间段(例如,大于两秒而小于两分钟)之内(“下一音轨”);(4)假如在设定的时间段例如集中在音轨开始时间的一个小时之内也存在某个类型的用户交互,项从开始播放到完,指示用户可能听过所述音轨并且有意地允许它完成(“音轨成功结束”);(5)用户增大音量(“音量+”)。
最初两项是用户的显式动作,以便告诉系统他的某个偏好。其余的项只代表关于用户偏好的隐式信息。其它类型的关于偏好的反馈显式和隐式这二者是可以使用的。
记分节点在项选择系统中,存储音轨图的节点根据来自用户的反馈被指派记分。因为图中各节点之间的连接,应用到一个节点的反馈(例如,用户对音轨的响应)潜在地影响图中的所有节点,因此,系统可以根据用户对仅仅一个音轨的响应作出关于用户对每个存储音轨的响应的推断。此外,系统可以保持短期和长期的偏好的音轨。这个特征允许系统快速地适应用户心情的变化,而不丢失有关用户一般的长期音轨偏好的信息。
图31示出两个音轨记分分布,代表接收到任何反馈之前音轨之间记分的最初分布,以及希望的最终分布的一个例子。最初是3106,系统还没有接收到用户的反馈;因此就假设用户对每一音轨保持中立3103。当更加显式和隐式反馈被接收到时,系统就作出关于与已经接收到显式反馈的音轨类似的音轨的推断。最终,系统的一个目标是要实现双钟曲线(double-bell-curve)分布3107。用户将给出关于几个音轨显式的正3101或者负3105,或者隐式的正3102或者负3104的反馈。使用那个信息,系统将推断用户的偏好,根据未估计的音轨与估计的音轨的关系将正或者负的记分指派给其余音轨。
如前所述,选择系统维护表示每个音轨,关于那个音轨的元数据以及那个音轨和其它音轨之间的关系的图。如将要更加详细地描述的,系统充分利用这个图的结构将反馈传播到除了当前播放中的音轨以外的节点。此外,如以下更加充分的描述,节点可以有选择地跟踪独立于短期偏好的长期偏好。
尽管数字权重只是被提供为一个可能的例子(参见图13),但是可以按照如下跟踪长期偏好。
(1)当用户压下“+”按钮1306时,系统将+1反馈事件发送1301到音轨节点1311。
(2)当用户压下“-”按钮1307时,系统将-1反馈事件发送1302a到音轨节点。
(3)当用户压下“下一音轨”按钮1 308时,系统将-1/3反馈事件发送1303到音轨节点。
(4)当音轨成功完成时1310,系统将+1/3反馈事件发送1305到音轨节点。
(5)当用户压下“音量增”按钮1309时,系统有选择地将+1/6反馈事件发送1304到音轨节点。
这些反馈事件修改音轨节点1201的accumulatedSore(累加分数)1210和accumulatedWeight(累加权重)1211变量以及在元数据网络中它的先前部分的所有变量。AccumulatedSore等于那个节点的所有反馈(正和负)之和,accumulatedWeight等于那个节点的每个反馈事件的绝对值之和。因此,比率AccumulatedSore/accumulatedWeight总落在范围-1,+1。这个比比率称为“局部分数”。如果“局部分数”是+1,则意味着接收到的所有反馈是正的。如果“局部分数”是-1,意味着接收到的所有反馈是负的。如果accumulatedWeight是0,则“局部分数”就被定义为0。
在有些例子中,accumulatedWeight和AccumulatedSore是有边界的。如果accumulatedWeight超过固定边界值,则这两个变量就乘fixedBoundareValue/accumulatedWeight,由此就使比率保持在变量之间同时将所述变量保持在指定的边界之内。
短期基于心情的偏好可以得到类似的处理。例如,如果用户通常喜欢听摇滚乐,但是当时想听古典音乐,则系统能够接收他的短期偏好,并且加以调节,而基本上不修改长期偏好。因此,在这一例子中,系统会快速地中断用户的反馈,意思是他此刻想要听古典音乐;但是当稍后打开时,系统将记住用户多数情况下爱听摇滚。
为此目的,取代对accumulatedScore和accumulatedWeight的影响,受影响的变量将是moodBonusSore1212。在这一配置中,当反馈事件就要被处理时,穿过所有节点中的所有moodBonusSore变量将被减小趋向于0(例如,通过给每个值乘以小数,诸如0.9)。然后,系统将为接收反馈的音轨和它的每个先前部分调整moodBousSore,例如通过给正反馈加上+0.1,给负反馈加上-0.1。moodBonusSore可以有边界;在上述例子中,它保证要落在范围-1,+1。
维护长期和短期偏好数据这二者的系统可以按照如下发挥作用(1)“评估+”事件将对moodBonusSore变量做大的正改变,并对累积变量做小的正改变。
(2)“评估-”事件将对moodBonusSore变量做大的负改变,并对累积的变量做小的负改变。
(3)“下一音轨”事件将对moodBonuSore变量做小的负改变,并对累积的变量做小的负改变。
(4)“音轨成功完成”事件将对moodBonusSore变量做小的正改变,并对累积的变量做小的正改变。
(5)“音量+”事件对moodBonusSore变量做小的正改变,并对累积的变量做小的正改变。
因此,累积变量具有不确定的存储器,而moodBonusSore变量具有有限的存储器(因为它们衰减趋向于0)。
另外,在有些例子中,系统允许从搜索屏幕送入分数(参见“操作模式”)。也就是说,用户可以在搜索屏幕上查找音轨,并且压下显式评估按钮之一以便将所述反馈应用到所述节点和它的双亲。
在有些实施中,压下“评估-”按钮引发当前音轨停止播放并且下一音轨开始。对于用户,这与压下“下一音轨”按钮具有相同的效果,但是它对系统的中间行为具有更强的影响。
在其它实施例中,除了如上述引发当前音轨跳变之外,在播放每个新音轨之前有短的暂停。要播放的音轨名出现在屏幕显示器上。用户在音轨播放之前可以压下“评估-”以便立即跳到下一音轨。在这一情况中,用户提供显式反馈而又不曾让音轨播放。
在所述图中的每个节点维护它自己的有关分数的数据。每个节点包含一组反馈记录1214(参见图12)。所述组包括每个预置的一组变量,加上附加的全局组。每个组包含三个数字变量accumulatedScore(即,累积分数)、accumulatedWeight(即,累积权重)以及moodBonusScore(即,心情奖励分数)。
每个音轨、CD、以及艺术家节点还具有单一的整数值变量lastPlayedAtIndex。结果lastPlayedAtIndex保持的值是-1,则由那个节点所代表的音轨,系统还不曾播放过。系统保持从零开始的全局循环播放计数器每次音轨播放则增量,并且当它达到指定值例如1024时它就返回到零。当音轨播放时,lastPlayedAtIndex变量与全局计数器的值相等的所有节点就复位到“-1”。例如,如果系统播放过的第五音轨是X,并且系统现在正播放第1029音轨,则全局计数器值现在会是5(1029模1024=5),并且音轨X的lastPlayedAtIndex,现在是5,会复位为-1。因此,系统“忘记”这一音轨曾播放过。然后,当前音轨、CD、艺述家节点的lastPlayedAtIndex值被设置为全局计数器的当前值。此时,表达式(globalCounter-lastPlayedAtIndex)模1024表示音轨、CD或者艺术家新近已经被播放了多久,假如lastPlayedAtIndex大于-1的话。
系统还维护每个预置的先进先出列表(参见图14),所述列表代表最新近播放过的音轨。这一播放历史仅仅用在用户使用传送控制器播放历史中向后动和向前动时。因此,如果系统当前正在播放音轨1402,并且用户压下前一音轨按钮,则系统就播放音轨1401。它将播放的下一音轨将是音轨1402。当系统完成播放音轨1402时,新的音轨将被选择并且被添加到列表1404的末尾,并且音轨1403,这个最旧的音轨将被选择并且被添加到列表1404的末尾,并且音轨1403,这个最旧的音轨将被从列表中除去。
如果用户压下前一或者下一音轨时,并且那个另外要播放的音轨已经从硬盘上被删除了,则系统就跳过那个音轨,并播放在列表中紧跟在它之前或者之后的音轨。
数据存储格式音轨是从CD录制到硬盘或者其它随机存取存储媒体上的。当音轨代表音乐数据时,每个音轨在媒体上被存储为独立的文件,可以用MPEG-1layer3格式(MP3;按照运动图像专家组所规定的标准)、AAC格式(高级音频编码;也规定为运动图像专家组标准的一部分)、或者其它合适的格式压缩。内容表信息如果在原始媒体上可获得的话就与每个音轨一起被存储。CD上的音轨索引也被存储。在新媒体上的具体格式是无关紧要的,只要音轨号和内容表是可用的。在有些实施例中,为每个唱片集建立独立的目录(参见图22)。这些目录是顺序地编号的,例如,CD0001、CD0002等。在目录中,音轨文件是顺序编号的(TR001、TR002等)。内容表可以被存储为例如在每个MP3文件的ID3头标中的字符串。
当音轨存储在硬盘驱动器上时,节点就被添加到存储音轨图。如较早前所指出的,为了建立图,选择系统可以从多个源获得元数据。在有些事例其中,音轨数据是音乐之中,它搜索ALLMediaGuide公司(AMG)所提供的数据、以及Gracenote′sCDDB业务所提供的数据。首先,系统搜索、为其TOC与当前CD的内容表匹配的CD节点存储的音轨图。如果CD不存在,则系统使用CD′内容表作为索引来查询AMG数据库。如果AMG数据库返回匹配,则系统使用来自AMG数据库的数据添加CD节点,并且如果唱片集节点已经不存在了则添加唱片集节点。注意,每当建立新节点时,它的所有变量就被设置为零。在新添加的CD节点之下,建立音轨节点并添加到网络,系统使用AMG数据库中类似唱片集列表来将唱片集节点连接到网络中的其它唱片集。音轨节点连接到唱片集节点。唱片集节点连接到适当的风格的节点,如果所述合适的风格节点已经不存在,则建立它们。
如果这是单一的艺术家CD,并且唱片集节点以前就不存在,或者如果这是各种艺术家CD,则系统建立艺术家节点,假如一个已经不存在的话。艺术家节点以前就不存在,则它连接到在AMG数据库的艺术家表的艺术家条目中所指定的风格节点。如果这是各种艺术家CD,则系统将艺术家节点直接连接到音轨节点;要不然,它就被连接到唱片集节点。
以前不存在的任何风格节点连接到合适的流派节点(它们是按照需要建立的),并且任何新的流派节点连接到根节点。
如果元数据都不曾返回,则系统可以查询CDDB数据库。如果存在匹配,则就按照对于AMG数据库所做的描述那样建立节点。如果还不存在匹配,则音轨和CD节点就与唱片集、艺术家以及风格级的虚的“未知”节点一起建立。
或者,可以首先查询CDDB数据库。如果发现匹配,则接着就查询AMG数据库,以及AMG数据库中的更加详细的信息如果可用的话就被用于补充CDDB数据。
如先前所记载,CDDB和AMG数据只是两种可能类型的元数据,并且尤其适用于音乐音轨。当使用其它类型的数据时,具有不同级的其它分级结构会被建立以便映射由适用于所述数据的元数据可生成的信息。例如,在数据库包含授权专利的地方,如果所提供的元数据是领域、发明人、引用的现有技术以及专利名,则存储音轨图就被建立,将这些元数据字段映射为上述的结构。
传播反馈用户反馈可以按照如下应用到给定节点。系统调用函数,insertFeedbackAtNode,将它传递给将反馈应用到的节点(即,播放中的那个音轨节点);整数预置号、moodBonus(它代表短期分数的变化),以及浮点型rawScore和weightΔ(代表长期反馈的变化)。首先,对选定节点进行初始化node.currentFeedbackFlag1218=1node.currentFeedbackRawScore1216=rawScorenode.currentFeedbackWeight1217=weightnode.currentMoodBonus1219=moodBonus接着,系统遍历图,以确保在任何较高级节点被访问之前,较低级的所有节点都被访问。当每个节点被访问时,如果节点的currentFeedbackFlag被置位了,则就要考虑该节点的每个堂兄弟链路。对临时变量tbonus、tweight以及trawScore进行初始化tweigth=node.currentFeedbackWeight*link.Weight**COUSIN_PENALTYtrawScore=node.currentFeedbackRawScore*link.Weight*COUSIN_PENALTY*MAX_IMPLICIT_CONTRIBUTIONtbonus=node.currentMoodBonus*link.Weight*COUSIN_PENALTY并且如果该堂兄弟节点的currentFeedbackFlag没有被设置并且tweight大于用于currentFeedbackWeight的堂兄弟节点的值,则用于currentFeedbackRawScore和currentFeedbackWeight堂兄弟节点的值就被分别置为trawScore和tweight。在一个例子中,COUSIN_PENALTY设置为0.4,MAX_IMPLICIT_CONTRIBUTION设置为0.8。如果堂兄弟节点currentMoodBonus就设置为等于tbonus。
接着,还假设当前节点的currentFeedbackFlag被设置了,接着考虑该节点的每个双亲链路。对临时变量tbonus、tweight以及trawScore进行初始化tbonus=node.currentMoodBonus*link.Weighttweight=node.currentFeedbackWeight*link.WeighttrawScore=node.currentFeedbackRawScore*link.Weight如果currentFeedbackWeight的双亲节点值小于tweight,则双亲的currentFeedbackFlag就置为1,并且它的currentFeedbackRawScore和currentFeedbackWeight值就分别置为trawScore和tweight。如果双亲节点的currentMoodBonus的绝对值小于tbonus绝对值,则它就被置为等于tbonus。
系统对于当前节点的双亲重复这一过程。
在所有的节点都已经被访问之后,它们按照反序再次被访问(从“一切”节点开始,向下工作直到音轨节点)。当每个节点被第二次访问时,如果currentFeedbackWeight为非零,则该节点的反馈变量(对于指定的预置)就按照如下进行调整accumulatedRawScore+=ccurrentFeedbackRawScoreaccumulatedWeight+=currentFeedbackWeight每个节点类型可具有权重限值。不过其它权重是可能的,一个例子如下FeedbackLimit=4.0,#音轨10.0,#CD10.0,#唱片集20.0,#艺术家40.0,#风格60.0,#流派100.0#所有如果accumulatedWeight现在大于那种类型的节点的限值,则accumulatedWeight就置为等于该限值。如果accumulatedRawScore的绝对值现在大于如上为那种类型节点所限定的该限值,则它就规范化为等于该限值。
此外,节点的moodBonusScore(对于指定预置的)乘以(1-moodBonus)并且将值currentMoodBonus与它相加。最后,值currentFeedbackFlag、currentFeedbackRawScore以及currentFeedbackWeight都归零了。此时,系统已经把反馈传播到选定节点的所有祖先和祖先的第一堂兄。
在一个例子中,insertFeedbackAtNode函数只用rawScore、weight以及moodBonus的四个可能的组合之一来调用1.如果“评估+”按钮被压下,则rawScore=1.0,weight=1.0,moodBonus=0.1。
2.如果“评估-”按钮被压下,则rawScore=1.0,weight=1.0,moodBonus=0.1。
3.如果“下一音轨”按钮在适当的时间窗内被压下,则rawScore=-MAX_IMPLICIT_CONTRIBUTION*IMPLICT_PENALTY,weight=IMPLICT_PENALTY,mooodBonus=0.05。
4.如果音轨播放到完成,则rawScore=MAX_IMPLICIT_CONTRIBUTION*IMPLICT_PENALTY,weight=IMPLICT_PENALTY,mooodBonus=0.05。
在一个实施例中,这些常量可以按照如下设置MAX_IMPLICIT_CONTRIBUTION=0.8,IMPLICT_PENALTY=0.33。
一旦反馈已经传播过所述图,还有必要考虑短期如长期偏好这二者来计算节点的分数。这就涉及到对所述图另一次从顶到底的遍历,不过这个步骤可以与前次遍历相组合。以“一切”节点开始向下工作,首先,系统使节点的变量rawScore1216和weight1217归零。对于当前节点的每个双亲(如果有的话),将在那个预置中的双亲节点的rawScore加到rawScore(乘以链路权重),并且将那个预置中双亲节点的weight加到weight,乘以链路权重。在所有双亲反馈中进行了加入之后,将rawScore和weight这二者乘以PARENT_PENALTY。在例子实施中,PARENT_PENALTY可以是值0.2。接着,系统将节点的当前预置值accumulatedRawScore加到rawScore,将值accumulatedWeight加到weight。
系统维护常量列表,称为MOOD_WEIGHTS[GRAPH_LEVELS],在图的分级结构的每级都有一个心情权重常量。在一个实施中,每个MOOD_WEIGHT都为零,以下例外CD级的MOOD_WEIGHT为1;艺术家级的MOOD_WEIGHT为1;以及风格级的MOOD_WEIGHT为2。
选择系统将当前节点的moodBonusScore乘以该节点级的心情权重,并将该值与rawScore相加。系统然后将当前级的心情权重加到weight。系统然后对当前节点的每个孩子重复这一过程。
比率rawScore/weight被定义为指定预置中的节点分数,除非该权重为零,在这种情况下所述分数被定义为零。注意,节点的分数取决于在网络中它的所有祖先的分数比率。因为所有节点都是从“一切”节点衍生而来,所以这隐含着一切反馈事件都会影响所有节点的分数。
选择下一音轨当系统处于“自动选择”模式时,它根据每个节点的分数,结合当前的风险容限以及大量的其它变量选择要播放的下一音轨。因此,在有些例子中,选定要播放的音轨可以不是评估最高的音轨。每一个音轨,即使分数最低,也有在每个选择循环中被播放的某个概率,确切的概率取决于系统的当前风险容限。所述风险容限变量试图防止系统连续犯两次错误,同时达到若系统只播放估值最高的音轨的情况下不可能的变化程度。如果系统接收到负反馈,要避免重复犯错误的可能性则会变得更加保守。当它接收到正反馈时,它就逐渐变得不怎么保守。
在一些实施例中,选择过程按照如下进行。首先,系统对艺术家、CD、以及那些分数大于常量阈值的音轨节点的数量进行计数。在一个实施中,阈值是0.2。结果,系统知道用户“喜欢”的艺术家、CD、音轨有多少。这些计数被分别指派给变量artistCount、CDCount以及trackCount。
每个预置具有conservatismThrottle变量1215,该变量确定系统在选择分数相对较低的音轨上愿意冒多大的风险。ConservatismThrottle是有边界的,例如限制在范围
,并且每当某个反馈事件发生时它就被调整。如果这些调整中的任一会引发节流超过它的阈值,则它就被置为如合适的最大值或最小值。
(1)当“评估-”键被压下时,节流就乘以10.0,这起到降低在选择下一音轨时要冒风险的效果,并且反映了这样的含义希望在用户已经至少略微有不满意的情形之下不要冒太大的风险。
(2)当“下一音轨”按钮在合适的窗口之中被压下时,所述节流就乘以1.5,这降低要冒的风险但是又不接近在“评估-”键被压下时所冒的风险那样大。
(3)当音轨成功完成时,它被乘以0.9,因此根据以前选择音轨的成功,增大了要冒的风险。
(4)最后,当系统选择分数小于常量阈值(例如,0.2)的音轨时,所述节流就乘以1.5,这就使要冒的风险以更加大的量增加。
注意,“评估+”和“音量+”并不影响所述节流。
为了选择要回放的音轨,临时变量、totalLikelihood被归零。然后,按照任意顺序来访问每个音轨节点。变量score就按照前述那样被设置为它的rawScore/weight。然后,如果音轨的lastPlayedAtIndex不等于-1,则它就按照如下那样被转换为距离(distance),(此处百分号代表模运算)distance=(globalPlayIndex-lastPlayedAtINdex)%1024
如果distance小于音轨计数(上述计算的),则罚分就施加到score上score-=2.0*(1.0-trackDistance/trackCount)类似地,对音轨的CD节点和艺术家节点进行检查,并且如果它们的距离分别小于CD计数和艺术家计数,又有罚分被施加score-=0.6*(1.0-CDDistance/CDCount)score-=0.4*(1.0-artistDistance/artistCount)此时,给定节点的score代表它所接收到的平均反馈,如果最近已经播放过音轨、CD或者艺术家则要被罚分。现在,score按照如下被转换为似然(likelihood)值,此处pow(x,y)给x加上y次幂likelihood=pow(10.0,score*ConservatismThrottle)这个函数的确切形式无关紧要,但是两个不同分数的两个似然性的比率L1/L2,此处score1>score2,对于较大值的ConservatismThrottle应该增加,对较小的值应该减小,即该函数表现出易扩张的非线性。接着,likelihood被加到局部变量totalLikelihood,并且生成在范围
之间的随机数。如果乘以totalLikelihood的随机数小于partialLikelihood,其中,partialLikelihood为偏几率,则正在考虑的音轨就以局部变量currentBestChoice来跟踪。
这一过程对于每一音轨都重复进行。在该过程结束时,系统选择currentBestChoice代表的音轨播放。可保证的是音轨将被选择,并且每个音轨被选择的概率等于它的likelihood值除以所有音轨节点的likelihod值之和。
其他特征如图36所示,在一些实施中,音轨选择处理1602是音乐系统1604的一部分,例如音乐系统服务一个或多个房间或者房屋的多个区域。主控制台1606包括CD或DVD播放器1608、硬盘驱动器1610(其存储音轨库1612和偏好信息1614)、处理器1616、用户接口1617、和对于一个或多个远程控制器1618、1620的接口1619。五套卫星扬声器1622(用于环绕声音)和低音模块1624连接到主控制台。主控制台将音频资料流提供给扬声器。可以通过附加音乐播放器1626、1628来补充该音频系统,该附加音乐播放器与主控制台的控制协议兼容。通过这里的音乐播放器,我们打算用可能位于远处的音频再现系统来再现或呈现例如从主控制台提供的音频流。某些附加的音乐播放器也可以作为独立设备进行操作。使用附加播放器能够使单个音乐系统服务多个房间或区域。附加音乐播放器也可以与远程设备1630、1632进行交互。当安装附加播放器时,主控制台可以将附加音频资料流提供给那些设备。
音轨选择处理1602将它的选择至少部分基于所存储的偏好信息1614,正如在本文档其他地方所描述的其他音轨选择处理将它们的选择至少部分基于,也如在本文档其他地方所描述的,不同种类的偏好信息。可以通过位于任何地方的一个或多个(或者甚至大量)的用户接口和以任意许多不同方式的通信从一个或多个(甚至大量)用户获得偏好信息。音轨选择处理可以使用所存储的偏好信息的不同部分或方面来一次生成音频资料的多个播放列表,并且通过控制台将多个播放列表提供给音频流。例如,偏好信息可以包括与不同用户相关联的偏好或与单个用户的不同情绪相关联的偏好,或者与用户组相关联的偏好信息。当对于流执行音轨选择处理时,所述选择可以基于偏好信息的那些方面中的所选择的一个。也可以使用偏好信息的许多其他方面或部分的示例。
使用存储在单个硬盘驱动器或其他媒体上的音频资料可以同时生成用于执行的不同流。通过可以同时运行的音轨选择处理的多个实例可以分别生成不同流。然而,所有实例可以使用有关库中的音轨的音轨信息的节点的单个网络,因此不必复制节点。如先前详细解释的,在一些示例中,节点可以是在称作为已存储的音轨图的图中组织的数据项。
通常在先存储和处理音轨选择处理基于其进行它的选择的偏好信息。当执行得到的流时,可以接收附加偏好信息。在一些示例中,音轨选择发生,而与输入偏好信息无关。
在一些实施中,当在两个不同位置(例如,房屋的厨房和卧室,或者在另一个示例中在机场等候室和医生办公室)执行音轨时,可以从能够在两个不同位置处捕获偏好信息的源(例如,手持式设备的用户接口)接收两个不同位置处的一个或多个用户的偏好。可以根据从两个源接收的偏好信息来选择将被执行的作品。例如,可以合成从两个源接收的偏好信息。
来自两个(或者更多)不同源的偏好信息可以由单个用户提供。例如,个人可以在一个时间和地点将偏好信息输入到一个设备的用户接口,并且可以在另一时间和地点将其他偏好信息输入到另一个设备的用户接口。随后两组信息可以被当作来自一个源来对待。或者在使用或组合用户的偏好信息时可以考虑源的位置的识别以及偏好信息的输入时间。一般来说,可以使用相同或不同关联的作品集合,在不同时间从与位于不同地方的不同设备的用户交互而获得单个用户的偏好信息。为了关联各种偏好信息,可以要求以某种方式识别用户,或者将他先前存储的偏好信息提供给他交互的任意系统,以便允许更新信息。
来自两个(或更多)不同源的偏好信息可以由不同用户提供并被组合来形成可应用于包括那些用户和可能的其他用户的组的偏好信息。例如,两个不同的家庭成员可以在不同时间和地方输入偏好信息,并且在选择将被播放的音轨时可以组合所述偏好信息以供那些家庭成员和其他家庭成员以后使用。
另一方面,对于不同用户和用户组,可以独立存储和独立使用来自不同源、不同用户、不同位置、或者不同时间(或者这些因素的任意组合)的偏好信息来控制选择执行的音轨。
集合偏好指示的用户和音轨选择系统通常可以拥有或控制将被执行的数字作品的集合。例如,用户可以拥有包含音乐音轨的CD的集合或者可以获取和存储音轨于计算机或音乐播放器(例如,MP-3播放器)或其他便携式设备的硬盘或其他存储媒体上。在一些实施中,集合可以想像为一组音乐音轨,其通常被存储在单个媒体上(或者媒体组)并且可用作组由正在运行的音轨选择处理实例使用。对于用户集合中的音轨(例如,当正在执行音轨时),偏好信息可以由用户提供。对于不在用户集合中的音轨的执行,用户也可能指示偏好信息,并且随后仅使该偏好信息(或者结合其他偏好信息)作为他进行选择执行音轨的基础。因此,可以将与一个集合的用户交互相关联的偏好数据应用于不同集合的使用,并且可以将代表与不由用户控制的集合的交互的偏好信息应用于由用户控制的集合。
为了将在用户与一个集合的交互中产生的偏好应用于不同集合,对于音轨本身在偏好数据中捕获所有必需的数据。例如,对于已经播放的每个音轨的所有过去偏好信息可以保存概要。为了将该数据应用于不同的节点网络(例如代表在以后的时间可用于播放的集合中的音乐),从偏好数据,包括所有艺术家、风格、等数据,产生并行节点网络。随后通过网络重新传播偏好反馈,因此并行网络中的所有节点具有最新的反馈。随后在两个网络之间识别对应的节点。例如,如果音轨A在偏好网络中,但不在当前集合中,则将呈现至少一些的它的最初部分--例如,艺术家或风格。可以将那些偏好值复制到代表可用音乐的集合的网络。
数据库的查询如图37所示,如先前所讨论的,在数字作品数据库1702中可以存储有关可被执行的数字作品的信息。数据库的每个记录1704可以包含有关单个作品(或者甚至单个作品的一部分)或者有关作品组的分类和其他信息(例如,偏好打分)。作品的分类类别可以从较宽(更多地包括)到较窄的范围。在图37所示的涉及到音乐音轨的示例中,分类类别包括流派、艺术家、唱片集、和音轨。
注意,所述类别不是严格分级的,也就是,某一艺术家(较窄类别)的音轨不必总是落入单个流派(较宽类别)内。这有助于用户能够与数据库1702交互。随后用户能够在数据库中搜索和查看有关所描述的音轨的信息,并且还能够添加或修改有关音轨的信息(例如,添加或修改有关一个或多个音轨的偏好信息)或者关于所述音轨采取一个或多个各种动作(例如,从数据库中删除一个或一组音轨,或者播放已选择的音轨组,这里仅列出两个)。
用户接口1706被提供来使用户能够定义对数据库的结构化查询1708,以便从数据库接收回所得到的数据1709,并且指示要采取的动作1710。用户接口可以是任意类型的电子设备的一部分,包括例如音乐系统、计算机、手持式设备、远程控制器、公用电话、移动电话、或者个人数字助理。数据库可以位于各种电子设备(包括关于用户接口所提到的那些)中并可以在那些设备当中分配。使用用户输入的信息查询数据库可以在用户接口设备或远程设备处完成。
作品选择处理1712使用数据库中的信息来产生例如播放列表。
用户接口包括用于将关于数据库的内容的信息提供给用户的显示器1714(或其他输出设备)和用于从用户接收信息的输入设备1716,所述信息包括将被交付给数据库的有关结构化查询的信息和有关一个或多个音轨的偏好。为了在小便携式设备上使用,输入和输出设备较小并且可能具有有限的容量。
如所提到的,一种用户接口的使用是使用户能够输入对于数据库的结构化查询的参数。通过结构化查询,我们的意思是,查询基于数据库结构及其字段,例如其中指定了数据库的至少一些字段的值的查询,这与自由形式的查询相反(例如,对于特定词语搜索文本)。
在图37所示的示例中,结构化查询可以涉及用户指定查询中将被使用的一个或多个类别的值。用户不必指定所有类别的值,但是可以允许应用缺省值(例如,缺省为“所有记录”)。一旦用户指定所述值,则他能够指示他完成了,这使查询应用于数据库。
一种用户指示类别的值的方式是向用户显示有关可能值的信息,并且使用户在这些值当中导航,并且选择被显示的值。在2004年6月1日申请的序号为10/752391的美国专利申请中示出了那种接口的一些示例,该申请在此应用作为参考。
在本申请中讨论的实施中,并且参考图38A、38B和38C,屏幕3870、3880和3900示出了所存储的音乐的选择。所存储的音乐源可以包括大容量的盘、或者其中位置上可以存储用于使用的大量项的任意设备。所存储的音乐可以存储在音乐系统本身或者在音乐系统外部的位置中。所存储的音乐可以按分级结构安排在数据库中,例如,根据流派、艺术家、唱片集和音轨来安排。(在先前引用的两个专利申请中发现了有关存储器系统、其与音乐播放系统的关系、和那种数据库的创建和管理的附加信息)。用户通过在分级结构中导航来选择所有已存储的音乐的特定子集。虽然,在该示例中,音乐数据库按分级结构安排,但是也能够以类似的方式来导航其它数据库。
用户通过选择存储的音乐源而导航到存储的音乐屏幕3870。关于存储在已存储的音乐源中的音乐的信息可以包括(如在所存储的音乐屏幕上所示)标题3871、艺术家3872、预置3873、和播放状态3874。所存储的音乐屏幕也包括具有向后选项3875和库选项3876的导航条。当用户通过按下向后箭头而选择向后选项3875时,显示先前观看的屏幕。当用户通过按下向前箭头按钮而选择库选项3876时,显示音乐库搜索屏幕(如图38B所示)。该示例中的预置3873包括预置号和用户名。预置(例如,对于已存储的音乐源的预置)可以与特定用户相关联。对用户的判断,预置也可以与情绪、音乐风格、或者任意其它组织原则相关联。
搜索屏幕3880包括用于在所存储的音乐源内搜索音乐的普通类别的列表。在屏幕3880中,当前流派设置3882是摇滚/通俗,艺术家设置3884是Beatle,唱片集设置3888是所有唱片集,以及音轨设置3890是所有音轨。屏幕3880也显示唱片集的数目和与当前设置相关联的音轨3892。如果用户期望显示所选择的音乐集,则用户从导航条3896中选择播放选项3894。如果用户选择一组项,例如流派或者艺术家,则系统以用户设置uMusic特征来工作而确定的次序从那一组中播放项。用户可以通过向上按下回车按钮(例如朝向显示器)在类别列表中上下移动,以便导航到列表中在当前高亮项之前的项,和通过向下按下回车按钮(例如朝向其它按钮),以便移动到在当前高亮项之后的项。当用户在列表中上下导航时,每个项依次高亮。如果用户期望编辑特定类别的当前设置,则用户导航到特定类别(从而该类别高亮)并对于该类别按下右箭头按钮以输入选择屏幕,例如,选择艺术家屏幕3900。
屏幕3900是响应于用户高亮艺术家类别3884并按下远程控制器上的向前箭头按钮而生成的。因此,艺术家的列表显示在显示器的主体部分202上。显示器的剩余部分3906包括先前屏幕3880的部分视图。因为新屏幕不完全重叠(或者模糊)先前屏幕,所以用户能够观看先前选项并且不会看不到他是从哪里导航而进入该屏幕的。因此,分级结构的较高层次的一部分仍是可视的,而另一部分是模糊的。用户通过向上按下回车按钮(例如朝向显示器)在选择艺术家屏幕中导航,以便导航到在当前高亮项之前的项,或者通过向下按下回车按钮(例如朝向其它按钮),以便移动到在当前高亮项之后的项。当用户在列表中向上和向下导航时,每个选择依次高亮。为了选择特定选项,在该示例中是艺术家,用户导航到期望的艺术家并且按下回车按钮。一旦在屏幕3900所示的选择屏幕中作出选择,用户就返回到如屏幕3880所示的分级结构的先前层次。如果用户决定不进行选择,则用户通过按下向后箭头按钮而选择取消选项3908。这种选择也使用户返回到屏幕3900中所示的分级结构的先前层次。
对于搜索库屏幕3880中的每个类别,如上面所述,用户可以导航到艺术家类别的选择屏幕。用户可以选择对于每个类别的特定选择,或者可以选择播放或评估与类别相关联的所有音轨。他也能够选择将类别中的所有音轨添加到播放列表。在唱片集和音轨列表3892中显示对应于当前搜索设置的唱片集和音轨的数目。用户可以通过按下回车按钮选择播放选项3894从搜索中选择播放已存储的音乐的子集。他可以使用按钮3886或3888来评估该子集,并且可以使用按钮将它们添加到播放列表。分级结构导航可以大于两个层次的深度。
尽管该示例涉及音乐分级结构,但是显示方法不限于该示例。示出分级结构中的先前层次的一部分的屏幕的部分重叠适用于任何分级结构的选择菜单。另外,显示方法可用于在分级结构中的多个层次当中导航。当使用多个层次时,每个先前层次的一部分可保持可视,仅先前层次可保持可视,或者分级结构的一组数目的层次可以在显示器上保持可视。
再次参考图37,在一些示例中,当用户调用“流派”时,可以在可滚动的列表中显示流派的值(包括缺省“全部”值)。随后用户可以选择一个值,比方说“爵士乐”。从数据库将数据1709提交到接口,以便使能显示。当选择分类值时,所述选择可以控制对于窄于第一类别的其他类别显示的可变值选择。例如,对于在数据库中的为流派“爵士”的音轨,不存在艺术家的所有可能值。Arthur Rubinstein为艺术家的音轨不是流派爵士乐。因此,一旦用户选择爵士乐,所显示的艺术家的值不包括Arthur Rubinstein,即使他是数据库中存在音轨的艺术家之一。因此,对于先前知道不存在于数据库中的记录,决不使用户处于发送搜索数据库的位置。并且必须显示给用户的值选择的数目可能小于(甚至小得多)这种情形之外的其他情形。
一旦用户选择类别的值,就可以更新其他类别的值(如果需要),其中在数据库中进行搜索或每次对另一其他类别进行限窄搜索(searchnarrowing)的有效数量易于用户进行选择值。
在搜索或缩小搜索的任一点上,对于已经从数据库中选择的记录,用户可以指示要采取的动作。例如,用户可以指示将要播放所选择的音轨。回放所选音轨的次序可以由用户直接指定,或者可以通过音轨选择处理根据偏好信息来自动确定。在另一个示例中,对于已经选择的所有音轨,用户可以用一个动作来指示正偏好。
两个或更多不同用户可以制定多个查询并且同时将该多个查询应用于数据库。数据库执行所述查询并且将结果返回到各个用户接口。
在涉及音乐音轨的实施中,除了已经提到的那些,数据库中的类别可以包括制片人、作曲家、合奏团团、指挥家、特技表演、年度(作曲或记录或表演)、音轨号、和其他。具体地,对于古典作品,通过合奏团团并且还通过作曲家和表演的搜索尤其有用。
音轨的链接在一些买施中,例如,根据用户提供的信息,或者自动由数据库衍生的信息,音轨选择处理可以将它对要播放的音轨的选择约束为总是播放其他音轨之后的某些音轨。例如,用户可以希望使音轨选择处理从不选择播放少于CD上的所有音轨。用户接口可以使用户能够指示音轨将被链接并依顺序一起播放。可以如此安排系统,从而每当音轨选择处理选择执行的音轨时,依指定的顺序播放链接的音轨。相反地,每当用户直接进行音轨的手动选择时,可以不考虑所述链接,例如,允许用户播放在链接的组内的单个音轨。
音轨的链接不必仅在单个CD内,而可以跨越多个CD或者多个其他源。例如,用户可以使音轨选择处理从不播放他的集合中的摇滚歌曲,除非那首歌之后是可在线会面艺术家。
用户对于链接音轨的指令可以由用户以各种方式来提供。所述指令通常指示将被播放的音轨的次序。一旦用户已经建立了作为一组的某些音轨的链接,他就可以选择该组来执行,而不用个别地选择所有音轨。由用户通过用户接口提供的输入可以限定为关于特定CD的某些选择,例如,告诉系统不链接CD上的任何作品、或者链接CD上的作品的子集、或者链接CD上的所有作品、或者根据用户的偏好信息自动链接音轨。如果系统不具有自动判定来链接音轨所基于的有用信息,则系统可以不链接。在一些示例中,系统可以被指示或者可以自动确定来链接CD上的古典作品的运动。
可以在数据库中以指示音轨是否与先前链接的音轨(和指向先前音轨的指针)相关联的一个标志和指示音轨与随后链接的音轨相关联(和指向后面音轨的指针)的另一个标志的形式来维护有关音轨当中的链接的信息。音轨选择处理可以被配置成从不选择具有第一标志设置的音轨,除非先前的音轨已经被放入播放列表,并且当设置随后的音轨标志时,总是将下一个音轨添加到播放列表。
存储偏好信息在本文档中讨论的许多示例实施中,生成并维护与一个或多个用户或用户组相关联的偏好数据的本体,并且所述偏好数据的本体涉及数字作品的一组或多组或库或集合。偏好数据的本体与作品本身独立存在,并且可以存储在多种的存储器设备中并与多种的通信信道进行通信。在一些示例中,偏好数据的本体可以被存储在诸如硬盘驱动器或CD或闪存的便携式存储器设备上。然后便携式存储器设备可以在不同时间耦合到不同的处理器,从而它可以被不同的音轨选择处理用来选择播放列表。偏好数据包括相关作品的识别,例如,根据它们唯一分配的唱片集标识符。偏好数据可以包括对于每个作品的分数和关于该分数的置信度。每个作品的数据可被存储在非常小的空间内,例如每作品不大于64比特,这允许在非常便携的存储器设备上存储非常大量的作品的偏好数据、或者允许以非常短的时间或经由相对低的带宽信道来通信非常大量的作品的偏好数据。
在一些实施中,包含在通过音轨选择处理选择的播放列表中的数字作品可以作为本体被存储在诸如硬盘驱动器、CD、或闪存的便携式存储媒体上。可以按音轨选择处理确定的次序以音轨顺序来存储作品,从而在没有用户干预的情况下也以那种次序执行所述作品。也可以将用于当执行作品时在以后的时间用来控制播放次序的偏好信息载入存储器设备。在那种情形下,不必以任何特定次序来存储数字作品。此外,存储器设备可以将数字作品保持在文件夹和子文件夹中。每个文件夹可以包含偏好信息,并且数字作品可以或者不可以按音轨选择处理预先确定的顺序来存储。
建议将来购买在用户已使用选择系统足够长的时间段之后,在所述图中节点的打分值将会与用户有多么喜欢音轨的各种组很好地关连。接近+1的分数值指示浓厚的偏好,接近-1的分数值指示强烈不喜欢。
系统可以扩展到临时地将用户实际上没有的关于CD的数据插入到所述图中。这种信息会从前述的外部元数据源之一被导出。一旦插入到所述图中,就可以使用从该CD的双亲节点继承的值来计算CD的分数。如果该CD接收到高的分数,则系统可能会推荐用户购买该CD。在推荐之后,该CD数据会从系统的图中删除。
建议删除项选择系统使用有限容量存储的机制。在某个时刻,系统的存储容量被耗尽是有可能的。当这发生时,系统可能列出分数/权重值最低的音轨或者CD,并建议应该删除这些。
预先送入系统可以允许用户将反馈“预先送入”到具有偏好数据的存储音轨图中。例如,尽管在搜索模式下,但是用户却能够指示系统他或她喜欢或者不喜欢整个艺术家、唱片集、或者流派。反馈然后能够直接地应用到存储音轨图中的合适节点。在这些例子中,预先送入只设置节点的初始值;它们会持续着以便按照前述那样在音轨回放的标准过程中被更新。
智能状态恢复用户可以切换到“自动选择”以外的模式一个短暂的时间段。例如,用户可以切换到收音机来核对交通情况或者棒球分数。如果用户在短的时间量(例如,1小时)之内切回到“自动选择”模式,则系统能够恢复它的状态包括短期偏好变量、当前音轨信息,并播放历史信息,达到与它在“自动选择”模式被挂起时完全一样。在这一时间段之后,通过重置播放列表历史和短期偏好信息,系统表现为好像是它刚刚处于开始一样。
屏幕显示当选择系统正在从它的硬盘驱动器播放内容时(即,在除了CD模式或者AM/FM模式以外的任一模式下),它的屏幕显示由图16中的状态图限定。当从系统的硬盘播放音轨时,OSD模块被激活1604,在“现在播放中”状态1601中,可以显示最少的信息。当用户压下1605“设置”按钮1801(参见图18)时,关于当前播放的音轨的更加详细的信息出现或者消失(参见图26)。当用户压下1606回车按钮时,如果示出了关于当前播放项的详细信息,则编辑预置状态1602的编辑预置屏幕出现(参见图19)。其中,用户能够将项添加到预置或从其删除(或者,在用户站的情形之下,给出项的正或者负反馈),或者完全地清除预置(包括播放列表和用户站)。当用户压下回车1607时,系统请他或者她确认;如果用户压“是”,则OSD将发送重置消息并返回到现正在播放状态。如果用户选择“否”,或者压下退出或者设置而不是回车,则系统返回1607到现正在播放状态而什么都不作。
从编辑预置和现正在播放状态,当用户压下1609、1610“搜索”时1802,系统进入1609“搜索”模式1603(参见以上的“操作模式”),允许用户搜索音轨来播放。从搜索模式,如果用户压下退出或者搜索,则模块返回1608到现正在播放模式而什么都不作。如果用户压下播放或回车,则模块重置播放列表并将当前播放状态设置为“播放列表”。OSD模块返回1608到现正在播放模式。如果用户压下设置按钮,则系统显示关于当前播放项的详细信息,并返回1608到现正在播放状态。
播放状态模块播放状态模块的一些实施可以按图4所述进行操作。当用户压下换片机或者智能播放时,或者当存储音轨时,模块从非硬盘源401进入403“播放中”状态407。如果系统上次在小于k分钟以前曾处于“播放中”模式,此处k是常量(例如5分钟),则模块从它停止的地方再继续播放;要不然从开始处开始。当到达音轨的结尾时,或者用户压下跳到音轨时,系统推进到下一音轨,假如还有剩余的音轨的话,并返回406到“播放中”模式。如果用户压下“前一”音轨,并且自那个音轨开始以来有大于预先指定的时间量(例如,3秒)已经历地,或者如果系统已经在播放第一音轨,则系统就从开始播放当前音轨,并返回404到“播放中”模式,如果系统已经处于播放之中的时间量小于阈值,并且存在前一音轨,则系统就跳到前一音轨并继续404播放。如果用户在“播放中”模式同时压下暂停/播放,则模块切换411到已暂停模式416,并且暂停回放。如果到达音轨的结尾并且不再有要播放的音轨,或者如果用户压下停止,则模块切换413到已停止模式。
在播放被暂停416的同时,如果用户压下“前一音轨”,并且回放已经进展了大于预先指定的时间量(例如,3秒),或者模块已经在播放第一音轨,则模块从开始启动当前轨道,但是仍然405处于暂停模式。如果回放时间小于阈值,并且存在前一音轨,则模块就切换到前一音轨,并且仍然405处于暂停模式。如果用户压下“跳动音轨”,并且存在下一音轨,则系统就跳到下一音轨,并且仍然417处于暂停模式,如果模块暂停的同时用户压下“暂停/播放”,则模块就切换411到“播放中”模式。如果回放暂停的同时用户压下并保持前一音轨或者下一音轨或者快进或者倒带,则模块就切换419到“安静FF/RW”模式429。在预先指定的超过(例如,5分钟)之后,或者如果用户压下停止,模块就切换414到已停止模式。如果用户压下“暂停/播放”,则系统继续回放410。
在“安静FF/RW”模式429中,模块静静地快进或者倒带。如果它到达音轨的结尾,并且还有要播放的音轨(或者在倒带的情形下在当前音轨之前,或者在快进的情形下在当前音轨之后),它就跳到下一或前一音轨的结尾或者开始,并继续静静地426倒带或快进。它持续着427,只要用户保持压下该按钮。如果它达到了音轨的末尾,并且不再有音轨要播放了,则模块就切换428到“已停止”模式。当用户松开了按钮,模块就返回418到已暂停状态。如果到达了音轨的结尾,并且不再有要播放的音轨,则模块就进入428到停止模式425。
在停止模式425中,如果用户压下下一音轨或者前一音轨,并且存在下一音轨或者前一音轨,则系统跳到那个音轨,并且仍然424处于停止模式。如果用户压下播放,则系统从开始处开始播放412当前音轨。如果用户压下并保持快进、倒带、下一音轨或者前一音轨,则系统就切换423到“FF/倒带”模式430。如果用户压下暂停,则系统将经历的时间置为0,并且对于当前音轨进入415暂停模式。
当在播放模式时,如果用户压下并保持快进、倒带、前一音轨或者下一音轨,则系统切换408到FF/倒带模式430。模快可听见地快进或者倒带该音轨。在该按钮保持着的同时,模块仍然421处于这一模式之下。如果模块到达了该音轨的结尾,并且还有播放的音轨,如果倒带,则它就切换到前一音轨的结尾或者如果快进,就切换到下一音轨的开始,并且继续420处于当前状态。当用户松开该按钮时,系统切换409到播放模式。
当压下源按钮时(诸如磁带、AM/FM收音机、或者CD/DVD),系统在保存了针对那个音轨的当前经历过的时间之后切换402到那个模式。
变化尽管已经描述了各种实施,但是其它实施例也在所附权利要求书的范围之内。
例如,要被搜索或者使用的项的任何主体、以及对它在分级结构上或其它方面将所述项相互联系的元数据,可以根据用户的显式和隐式偏好受到类似的选择。例如,在项的数据库的情形下,用户能够对常规搜索分段。系统能够从所述搜索产生第一“命中”,并将它显示给用户。用户能够指示他对第一命中的满意或者不满意。系统然后能够根据由所述元数据指示的关系对从初始搜索而得到的项重新打分。系统然后能够以在上述的系统中针对音乐而选择下一音轨的类似的方式将另一个命中交付给用户。按照上述系统使自己适应来将兴趣音轨交付给用户的相同的方式,数据库系统能够使自己适应来将兴趣命中交付给数库搜索器。这种数据库的具体例子可以用于搜索专利数据库中的专利。可以使用捕获标题、受让人、专利号、类别、引用的现有技术、它是否是设计或者实用专利、发明人是谁、以及其它信息的元数据。图34提供了对于这种变化的存储音轨树的例子结构。
另一个例子是冲浪万维网。与网页相关联的元数据可以包括IP地址、标题、长度、语言、域名、以及其它信息。当搜索产生命中时,用户能够指示它是否符合他的需要。然后,系统能够快速地适应来将更加相关的命中交付给用户浏览器。
尽管上面已经论述了一些例子,但是其它实施也在所附权利要求书的范围之内。
权利要求
1.一种方法,包括基于有关数字作品的用户偏好信息,选择包含在将被执行的至少两个不同顺序的数字作品中的可用的数字作品,所述不同顺序基于所述偏好信息的不同方面,和使所述不同顺序能够由执行系统同时执行。
2.如权利要求1所述的方法,其中所述选择是由作品选择处理的多个示例来执行的。
3.如权利要求1所述的方法,还包括从单个海量存储设备传递用于执行的不同顺序的数字作品。
4.如权利要求1所述的方法,其中所述偏好信息的不同方面与不同用户或用户组相关联。
5.如权利要求1所述的方法,其中选择不同顺序是通过数字作品选择处理的不同实例来完成的。
6.如权利要求5所述的方法,其中所述不同实例使用有关所述数字作品的信息的公共节点网络进行选择。
7.一种方法,包括接收正在被提供的有关正在被执行的数字作品的输入偏好信息,和在正在提供所述输入偏好信息的同时,基于偏好信息的本体以不受所述输入偏好信息影响的方式来选择将被执行的数字作品。
8.如权利要求7所述的方法,其中所述输入偏好信息来自一个用户或用户组,并且向所述用户或用户组执行的数字作品是基于由不同用户或用户组提供的偏好信息来选择的。
9.一种方法,包括接收从两个不同源提供的偏好信息,所述偏好信息关于相对于所述两个不同源而正被执行的数字作品,和使用从所述两个源接收到的偏好信息来选择将被执行的数字作品。
10.如权利要求9所述的方法,其中所述偏好信息是由单个用户在两个不同时间从所述两个不同源提供的。
11.如权利要求9所述的方法,其中所述偏好信息是由两个不同用户从所述两个不同源提供的。
12.一种方法,包括从用户接收关于数字作品的偏好信息,所述数字作品对于用户正在被执行并且不在属于所述用户的数字作品的集合中,和存储被用来从属于用户的数字作品的集合中选择对于用户将被执行的数字作品的偏好信息。
13.如权利要求12所述的方法,其中对于用户正被执行的作品属于第二集合。
14.如权利要求12所述的方法,还包括使用偏好信息选择数字作品,所述选择包括使用与对用户执行的作品相关联的第一存储的偏好信息来生成第一节点网络,使用与集合中的作品相关联的第二存储的偏好信息来生成第二节点网络,通过第二网络传播第一存储的偏好信息。
15.如权利要求14所述的方法,其中仅更新实际存在第二集合中的最初音轨的值,对于已被执行但不在集合中的作品,将与在集合中的作品有关的但本身不在集合中的作品的第一偏好信息施加到第二网络。
16.一种方法,包括使能第一远程控制设备的用户制定在音乐系统可获得的数字作品的数据库的第一结构化查询,所述音乐系统与远程控制设备交互作用,和将结构化查询发送至音乐系统。
17.如权利要求16所述的方法,还包括在制定第一结构化查询的同时,使能第二远程控制设备的用户制定数据库的第二结构化查询。
18.如权利要求17所述的方法,其中独立提供第一结构化查询和第二结构化查询,并且响应各自的查询独立采取动作。
19.一种方法,包括使能远程控制设备的用户明确地指示关于正在由音乐系统执行的数字作品的第一偏好,并且在选择将被执行的第一将来顺序的数字作品时使用偏好指示。
20.如权利要求19所述的方法,还包括使能远程控制设备的用户明确地指示关于正在由音乐系统执行的数字作品的第二偏好,并且在选择将被执行的第二将来顺序的数字作品时使用其他偏好指示。
21.如权利要求20所述的方法,其中由单个用户来指示所述第一偏好和所述第二偏好。
22.如权利要求20所述的方法,其中在两个不同的远程控制设备上由单个用户来指示第一偏好和第二偏好。
23.如权利要求20所述的方法,其中在两个不同的远程控制设备上由两个不同用户来指示第一偏好和第二偏好。
24.如权利要求20所述的方法,其中对于两个不同用户执行第一将来顺序和第二将来顺序。
25.一种方法,包括使能用户定义在查询有关数字作品的信息的数据库中使用的一个或多个值,所述值用于识别数据库的子集,执行有关子集的动作,和基于有关作品的偏好信息产生将被执行的一些数字作品的列表,执行列表上的数字作品属于子集。
26.一种方法,包括使能用户定义在查询有关数字作品的信息的数据库中使用的一个或多个值,所述值用于识别数据库的子集,和将用户指定的偏好与子集中的数字作品相关联。
27.如权利要求25所述的方法,还包括使能用户指示关于子集执行的动作。
28.如权利要求25所述的方法,其中所述使能包括为用户显示数据库的字段的至少一个标识符。
29.如权利要求28所述的方法,其中所述使能包括允许用户识别字段的值。
30.如权利要求28所述的方法,其中所述使能包括允许用户指示表示任意字段值的缺省。
31.如权利要求28所述的方法,其中所述数据库的字段包括下列中的至少一个风格、艺术家、唱片集、制作者、作曲者、合奏团、指挥家、特技表演者、和年度。
32.如权利要求25所述的方法,其中所述用户能够从更加普通到不太普通排列的列表中选择多个值。
33.如权利要求32所述的方法,其中,不太普通的标准可以具有与对于位于更加普通级别的项多于一个可能值相关联的多个值。
34.一种方法,包括向用户显示可能为用户执行的数字作品的类别的标识符,每个类别包括一组数字作品,至少一个较宽类别包括各自属于多于一个较窄类别的数字作品,至少一个较窄类别包括各自属于多于一个较宽类别的数字作品,使能用户选择较宽类别之一的识别符的值,和使能用户选择较窄类别之一的识别符的值,所述值基于较宽类别的所选值而被限制。
35.如权利要求34所述的方法,其中所述多个类别包括下列中的至少两个风格、艺术家、唱片、制作者、作曲者、合奏团、指挥家、特技表演者、和年度。
36.如权利要求34所述的方法,还包括使用户能够使用手动控制器在多个类别当中导航并且关于给定的标识符使用分离的手动控制器在多个可能值当中导航。
37.如权利要求34所述的方法,还包括使用由用户选择的较宽的类别值和较窄的类别值来查询有关数字作品的信息。
38.如权利要求34所述的方法,还包括使用户能够在关于较宽类别的第一标识符的多个可能值当中导航,并且更新关于较窄类别的第二标识符用于选择可用值的显示,以便仅包括由用户已经导航的较宽类别值允许的值。
39.一种方法,包括关于在两个分离的可寻址位置处的至少两个数字作品,在一种执行所述作品的设备的操作模式中,自动阻止作品之一的执行,而也不执行另一个作品。
40.如权利要求39所述的方法,其中所述两个数字作品是连续的。
41.如权利要求39所述的方法,还包括从用户接收执行至少一个作品的请求。
42.如权利要求41所述的方法,其中用户的请求包括对播放已经被定义为包含两个数字音频作品的组的请求。
43.如权利要求39所述的方法,其中所述作品被存储在存储媒体上的两个分离的可寻址处。
44.如权利要求43所述的方法,其中所述媒体包括CD。
45.如权利要求39所述的方法,其中所述一个操作模式包括根据用户偏好自动选择用于执行的作品。
46.如权利要求39所述的方法,其中,在另一操作模式中,一个作品和另一个作品中的每一个可以根据用户请求来单独执行。
47.一种方法,包括以将处于分开的可寻址位置的至少两个数字作品识别为将被一起执行的作品的方式将所述至少两个数字作品相关联,所述数字作品比存储在给定存储媒体上的所有数字作品少。
48.如权利要求47所述的方法,其中所述关联基于描述数字作品的元数据。
49.如权利要求47所述的方法,其中所述关联基于由用户提供的信息。
50.如权利要求49所述的方法,其中由用户提供的信息识别存储在单个媒体上的将被关联的两个或更多个数字作品。
51.如权利要求49所述的方法,其中由用户提供的所述信息指示以下至少一种不关联存储在单个媒体上的作品;关联存储在单个媒体上的所有作品;或者自动关联存储在单个媒体上的至少一些作品。
52.如权利要求51所述的方法,即使当所述用户指示自动关联至少一些作品时,也不进行关联。
53.一种方法,包括在用于控制执行数字作品的设备的用户接口中,使用户能够识别至少两个作品,该至少两个作品以使它们被一起执行的方式被关联。
54.如权利要求53所述的方法,其中用户能够识别存储在单个媒体上的至少两个作品。
55.如权利要求53所述的方法,其中用户能够以下列方式中的至少一种来识别存储在单个媒体上的作品不关联存储在单个媒体上的作品;关联存储在单个媒体上的所有作品;或者自动关联存储在单个媒体上的至少一些作品。
56.如权利要求55所述的方法,即使当用户指示自动关联至少一些作品时,也不进行关联。
57.一种方法,包括使用有关数字作品的元数据以特定顺序自动关联至少两个数字作品,和当基于偏好的选择处理选择将被包含在将被执行的作品的序列中的多个作品中的一个时,所述处理总是选择将被接着包含在所述序列中的两个作品中的另一个。
58.如权利要求57所述的方法,其中,当选择处理选择多个作品中的一个时,自动与元数据相关联的所有作品以由元数据指定的顺序被包含在执行的序列中。
59.一种方法,包括对于一组数字作品的每一作品,存储用于识别作品的信息和指示一个或多个用户对作品执行的偏好的偏好数据,所述信息和偏好数据被存储在便携式存储媒体上。
60.如权利要求59所述的方法,其中所述识别信息包括唱片集号、媒体号、和光盘的音轨号。
61.如权利要求60所述的方法,其中所述唱片集号可以包括唯一唱片集标识符。
62.如权利要求61所述的方法,其中所述偏好数据包括分数。
63.如权利要求61所述的方法,其中所述偏好数据包括表示偏好数据的置信度的值。
64.如权利要求61所述的方法,其中每个作品的信息和数据包括每作品不低于64位。
65.一种承载信息的媒体,其使设备能够基于对作品执行的偏好来选择将被执行的一系列数字作品,所述信息包括用于识别作品的信息和指示一个或多个用户对作品执行的偏好的偏好数据。
66.如权利要求65所述的媒体,包括便携式存储媒体。
67.一种方法,包括通过对于数字作品所属的类别选择一组值,使能搜索有关将被执行的数字音频作品的信息的数据库,所述类别包括与作品相关联的合奏团的标识符,对于搜索结果采取动作,和部分地,基于所述动作来选择将被执行的作品的顺序。
68.如权利要求67所述的方法,其中所述类别包括作曲家和表演的标识符。
69.一种方法,包括通过对于数字作品所属的类别选择一组值,使用户能够搜索有关将被执行的数字音频作品的信息的数据库,所述类别包括至少一个较宽类别和至少一个较窄类别,可以从中选择值的较窄类别的识别基于可以从中选择值的较宽类别的识别,所述较宽类别包括古典音乐,所述较窄类别包括合奏团。
70.一种方法,包括选择将被执行的一组数字作品,列表基于用户偏好的概率应用程序,所述组是从较大的作品库中选择的,和将数字作品的列表存储在便携式媒体上。
71.如权利要求70所述的方法,还包括以通过选择确定的顺序将作品存储在媒体上。
72.如权利要求70所述的方法,还包括将与用户偏好相关联的偏好数据存储在媒体上。
73.如权利要求72所述的方法,还包括以任意顺序将数字作品存储在媒体上。
74.如权利要求70所述的方法,还包括将数字作品存储在媒体上的多个文件夹中,每个文件夹包括将被执行的已选择组的数字作品。
75.如权利要求74所述的方法,其中以通过选择确定的顺序将作品存储在每个文件夹中。
76.如权利要求74所述的方法,其中基于用户偏好在相关偏好的次序内识别各个文件夹。
77.如权利要求70所述的方法,还包括将与用户偏好相关联的偏好数据以及数字作品存储在媒体中,和使用所存储的偏好数据来控制存储在媒体上的作品的播放顺序。
78.如权利要求70所述的方法,其中便携式媒体是独立于用于选择或执行数字作品的任意设备可便携的。
79.一种方法,包括在维护有关可能被概率地选择包含在对于用户将被执行的数字作品的顺序的数字作品的所存储的偏好信息时,使用由第三方提供的关于将被执行的数字作品的信息。
80.如权利要求79所述的方法,其中第三方包括评论家。
81.如权利要求79所述的方法,其中由第三方提供的信息包括至少一个被认为是优于CD的其他音轨的CD音轨的指示。
82.如权利要求79所述的方法,其中基于由第三方提供的信息而增加选择数字作品的概率。
全文摘要
根据所指示的用户偏好来控制多媒体作品的执行。
文档编号G11B27/034GK1637743SQ20041010493
公开日2005年7月13日 申请日期2004年12月24日 优先权日2003年12月24日
发明者基思·D·马丁, 李·扎米尔, 罗伯特·赖曼 申请人:伯斯有限公司