远程媒体会话的发现和控制的制作方法

文档序号:12071208阅读:260来源:国知局
远程媒体会话的发现和控制的制作方法与工艺

计算设备以令人震惊的速率继续激增。计算设备在功率、功能性和多用性方面也继续增长。随着计算设备增长和发展,运行的应用的数目和类型也增长。不同应用往往具有不同接口,并且不同设备往往具有不同接口。用户对于一种类型设备上的一种类型接口可以变得最为舒适,而回避其他类型设备上的其他接口。设备和接口的激增可以使控制在不同类型设备上运行的应用变得复杂。

在多种多样的计算设备上几乎普遍存在的一种类型的应用是媒体播放器应用。在单个家庭中,第一孩子可以具有在她的膝上型计算机、其平板计算机和其智能电话上运行的媒体会话,而第二孩子可以具有在他的游戏控制台和其桌面型计算机上运行的媒体会话。同时,一个父母可以具有在他的eBook阅读器上运行的媒体会话,并且另一父母可以具有在她的智能电视上运行的媒体会话。那就是,许多设备上的许多媒体会话全部都在一个本地空间中,很可能共享网络连接。

常规地,每个媒体会话都是运行在一个设备上的本地会话并且由该一个设备控制。每个会话可以具有特定于其上正运行该会话的一种类型的设备的其自己的用户接口。由于每个会话的本地性质,在该许多设备上协调和控制该许多会话可能是有问题的,如果甚至有可能的话。然而这样的控制可能被例如想要确保其孩子正在学习或仅仅以准许的音量在准许的时间参与准许的活动的父母所寻求。另外,父母可能希望针对工作相关的活动或针对其配偶的电影观看体验而优化带宽使用。常规地,父母可能必须定位小孩、定位其设备、控制这些设备或搞清楚如何使小孩控制设备,并且持续监视复杂情景。这可能是困难的,如果甚至有可能的话,尤其是当父母遇到具有其不熟悉的新接口的新设备时。这种情形在例如其中多个学生具有多个设备(例如,平板电脑、智能电话)的教室设定中可能甚至更为复杂。



技术实现要素:

本发明内容被提供用来以简化形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识要求保护的主题的关键特征或必要特征,其也不意图用于限制要求保护的主题的范围。

示例装置和方法通过从单个设备发现和控制远程媒体会话而改进常规方案。示例装置和方法允许单个设备(例如,父母的智能电话)发现媒体会话(例如,游戏、电影、音乐、播客),并且然后控制(例如,开始/停止、增大/减小音量、增大/减小带宽)媒体会话。示例装置和方法可以使用对于该单个设备而言本机的外壳(shell)用户接口执行控制。因此,父母可以能够发现孩子的媒体会话和其配偶的媒体会话,并且然后使用他熟悉的单个接口控制那些会话,而无需使用多个不同种装置上的多个不同接口。例如,父母可以使用对于他的智能电话而言本机的且该用户熟悉的控件悉数从其智能电话调低其女儿的音乐会话的音量、停止其儿子的视频游戏以及向其妻子的电影分配附加网络带宽。

示例装置和方法可以促进用户发现和控制不仅在他们正在使用的设备上而且在连接到同一网络或以其他方式相关的其他设备上的媒体会话(例如,音乐、视频、照片幻灯片显示、游戏、播客)。这种连接体验可以模糊硬件边界以便促进提升设备用户的生产力和连接体验。常规地,媒体应用可能已经实现一些传输控件并且使用其自己的协议来发现和控制本地媒体会话。该常规方案在产生对于用户而言不一致的体验的同时,产生纯粹本地的结果同时引起本地应用的显著负担。示例装置和方法产生在外壳级别下被实现并且因而不产生本地应用的附加负担的一致体验。

附图说明

附图图示出本文中描述的各种示例装置、方法和其他实施例。将领会的是,图中所图示的元件边界(例如,框、框组或其他形状)表示边界的一个示例。在一些示例中,一个元件可以被设计为多个元件,或者多个元件可以被设计为一个元件。在一些示例中,示出为另一元件的内部组件的元件可以被实现为外部组件,并且反之亦然。此外,元件可能不按比例绘制。

图1图示了发现第二设备上的媒体会话的示例第一设备。

图2图示了发现多个第二设备上的媒体会话的示例第一设备。

图3图示了控制第二设备上的媒体会话的示例第一设备。

图4图示了控制多个第二设备上的媒体会话的示例第一设备。

图5图示了与远程媒体会话的发现和控制相关联的示例方法。

图6图示了与远程媒体会话的发现和控制相关联的示例方法。

图7图示了其中设备可以发现和控制远程媒体会话的示例云操作环境。

图8是描绘可以发现和控制远程媒体会话的示例性移动通信设备的系统图。

图9图示了发现和控制远程媒体会话的示例装置。

图10图示了发现和控制远程媒体会话的示例装置。

图11图示了由发现和控制远程媒体会话的方法或装置所呈现的示例用户接口。

具体实施方式

示例装置和方法提供用于发现和控制远程媒体会话的基于外壳的解决方案。在计算机科学中并且如本申请中使用的,“外壳”是这样的进程,其提供用于访问操作系统的服务的用户接口。操作系统可以提供各种服务,包括例如文件管理、进程管理、通信和其他服务。外壳可以与操作系统内核应用编程接口(API)和其他API(例如,联网)进行交互。外壳可以通过提供输入选择、检测输入事件和响应那些事件来管理用户-系统交互。示例装置和方法可以提供涉及由基于外壳的解决方案所发现的远程媒体会话的输入选择。由于外壳并非操作系统的一部分并且并非媒体会话的一部分,所以可以独立于操作系统和媒体会话二者精心设计外壳。独立于将被检测和控制的媒体会话移除了媒体播放器应用开发者的编程负担。独立于操作系统移除了操作系统开发者和维护者的编程负担。

不同媒体会话可以与不同媒体应用相关联。例如,媒体会话可以包括电影、游戏、书籍、歌曲、播客或其他媒体。如本文中使用的“媒体会话”是指与呈现一段媒体相关联的进程、线程或其他可执行文件的实例。虽然不同类型的媒体可以具有不同类型的控件,但是可以抽象所有类型的媒体并且因而所有类型的媒体会话以促进基于外壳的控制。例如,正在媒体会话中播放的许多类型的媒体可以包括开始/停止或播放/暂停抽象。其他抽象可以包括更响亮/更柔和、前进/后退、当前位置和总媒体长度。另外,所有媒体可以具有某种标识符(例如,名称)并且可以具有某种关联的插图(art)(例如,专辑封面、书籍封面)。

示例装置和方法可以发现其上正运行基于外壳的解决方案的本地设备上的媒体会话。示例装置和方法也可以发现与其上正运行基于外壳的解决方案的设备远程相距的设备上的媒体会话。例如,远程媒体会话可以在本地装置正使用的网络上的其他装置上被检测到。远程媒体会话可以被登记为远程设备上的本地进程或者可以以其他方式向远程设备上的操作系统提供信息。基于外壳的解决方案可以从涉及活动的媒体会话的远程设备请求信息。获取关于媒体会话的信息可以是发现过程的一部分。关于所发现的媒体会话的信息然后可以使用本地设备的用户所熟悉的控件在本地设备上被呈现。示例装置和方法可以提供不同的输出。例如,可以显示远程媒体会话的综合列表以及用于在列表中导航的工具。可以使用用户接口技术(例如,轻击)从列表中选择特定媒体会话。也可以通过使用例如用户接口图标(例如,翻阅器(flipper))翻阅所发现的各会话来选择特定媒体会话。

图1图示了与远程设备110交互的设备100。媒体会话112正在远程设备110上运行。示例装置和方法促进设备100定位关于媒体会话112的信息。例如,可以获取包括媒体类型(例如,书籍、电影、游戏、播客)的信息。另外,可以获取包括媒体长度、媒体中的当前位置、媒体是活动的还是被暂停、与媒体相关联的艺术作品以及其他信息的信息。在一个实施例中,媒体会话112可以仅在远程设备110已经决定暴露其媒体会话的情况下才被发现。在一个实施例中,关于媒体会话112的信息可以仅在媒体会话112也已经决定暴露其信息的情况下才被获取。

图2图示了与多个远程设备交互的设备200。第一远程设备210正在运行第一媒体会话212,第二远程设备220正在运行第二媒体会话222,并且第N远程设备230正在运行第N媒体会话232,N为数字。不同远程设备可以是不同类型的设备(例如,智能电话、平板电脑、膝上型电脑、游戏控制台、智能电视)。不同媒体会话可以与不同类型的媒体(例如,电影、网络研讨会、播客、eBook、游戏)相关联。

图3图示了与其上正运行媒体会话312的远程设备310交互的设备300。设备300具有正与外壳进程314交互的外壳进程304,所述外壳进程314正在远程设备310上运行。外壳进程314可以具有关于媒体会话312的信息。外壳进程304可以与外壳进程314交互以获取关于媒体会话312的信息。外壳进程304提供呈现关于媒体会话312的信息的用户接口306。用户接口306提供用户接口元件以控制媒体会话312。例如,用户接口306可以提供开始按钮和停止按钮。用户接口306可以使用对于设备300而言本机的图标和布局,而不是使用对于媒体会话312而言本机的图标和布局。

图4图示了与多个远程设备交互的设备400。第一远程设备410可以正运行第一媒体会话412,第二远程设备420可以正运行第二媒体会话422,并且第N远程设备430可以正运行媒体会话432和第N媒体会话434,N为数字。远程设备430或其他远程设备可以运行一个或多个媒体会话。该一个或多个媒体会话可以用于不同类型的媒体。设备400可以正运行外壳进程,并且远程设备也可以正运行外壳进程。设备400上的外壳进程可以发现远程设备上的媒体会话并且获取关于媒体会话的信息。远程设备可以是不同类型的设备,并且媒体会话可以涉及不同类型的媒体。设备400可以呈现具有用于控制所发现的媒体会话的用户接口元件的用户接口。例如,用户接口的部分402可以为媒体会话412提供前进、后退和停止按钮。类似地,部分404可以为媒体会话422提供前进、后退和停止按钮,并且部分408可以为媒体会话434提供前进、后退和停止按钮。虽然部分402、404和408被图示为显示用于它们所与之关联的媒体会话的相同的一组控件,但是不同用户接口部分可以显示适合于正被控制的媒体会话类型的不同用户接口元件(例如,开始、停止、前进、向后、快进、暂停、更响亮、更安静、更多带宽、更少带宽)。

虽然设备400可以呈现包括用于所有发现的远程媒体会话的信息和控件的用户接口,但是在一个实施例中,可以呈现关于少于所有发现的远程媒体会话的信息。例如,可以呈现涉及单个远程媒体会话的信息并且可以提供用户接口元件以便容易地在其他发现的远程媒体会话之间导航。在一个实施例中,用户接口也可以呈现关于一个或多个本地媒体会话的信息。

图11图示了示例用户接口的屏幕截图1100。该屏幕截图1100示出了关于单段媒体的信息并且提供用于导航到关于与其他发现的远程媒体会话相关联的其他段媒体的信息的控件1130。缩略图片1110显示与当前正被显示的媒体相关联的艺术作品。信息区域1120可以提供关于当前正被显示的媒体的信息(例如,标题、艺术家)。控件1130促进导航(例如,翻阅)到与下一远程媒体会话相关联的下一段媒体。信息区域1150提供关于其上正播放远程媒体会话的设备(例如,Jambox)的信息并且也提供关于媒体长度(例如,2:43)和媒体中的当前位置(例如,1:18)的信息。用户接口元件1140促进控制媒体。如果用户激活控件1130,那么可以针对正由另一远程媒体会话播放的另一段媒体做出类似的呈现。由于用户可以具有在他们试图在其上控制其他媒体会话的设备上运行的媒体会话,所以在一个实施例中,也可以呈现关于本地媒体会话的信息。

在对于存储器内的数据位的操作的算法和符号表示方面呈现具体实施方式的下面的一些部分。这些算法描述和表示被本领域技术人员用来向其他人传达其工作的实质。算法被认为是产生结果的操作的序列。操作可以包括创建和操纵可以采取电子值形式的物理量。创建或操纵电子值形式的物理量产生具体、有形、有用、真实世界的结果。

已经证明有时候方便(主要出于常见使用的原因)的是,将这些信号称为位、值、元素、符号、字符、项、数字和其他术语。然而,应当记住的是,这些和类似术语应与适当的物理量相关联并且仅仅是应用于这些量的方便标记。除非另有具体说明,应领会的是,在说明书全文中包括处理、计算和确定在内的术语是指操纵和转换被表示为物理量的数据(例如,电子值)的计算机系统、逻辑、处理器或类似电子设备的动作和进程。

参照流程图可以更好地领会示例方法。为了简单起见,所图示的方法被示出和描述为一系列块。然而,这些方法可以不受这些块的次序限制,因为在一些实施例中这些块可以以不同于所示出和描述的次序发生。而且,可以要求少于所有所图示的块来实现示例方法。可以将块组合或分割成多个组件。此外,附加或可替换方法可以采用附加的、未图示出的块。

图5图示了用于发现和控制远程媒体会话的示例方法500。在一个实施例中,方法500可以在本地计算设备上的外壳进程中被执行。在一个实施例中,本地计算设备和其上发现远程媒体会话的远程计算设备正使用同一计算机网络。虽然本地计算设备和远程计算设备可以使用同一计算机网络,但是在一个实施例中这些设备可以在不同网络上。在一个实施例中,远程设备是数字生活网络联盟(DLNA)设备并且外壳进程与DLNA服务交互。可以发现和控制其他类型的通用、专用或基于标准的设备和服务。

方法500包括在510处发现在一个或多个远程计算设备上运行的一个或多个远程媒体会话。在一个实施例中,发现远程媒体会话包括与在远程计算设备上运行的外壳进程交互。发现远程媒体会话可以包括获取关于远程媒体会话的数据。所获取的关于远程媒体会话的数据可以是关于一段媒体的数据、关于媒体会话的数据或者关于播放该段数据的设备的数据。该数据可以将媒体标识为一段媒体或者可以标识与该段媒体相关联的状态。例如,关于作为媒体的媒体的数据可以包括与一段媒体相关联的插图、该段媒体的名称或者该段媒体的持续时间。关于媒体状态的数据可以包括该段媒体中的当前位置、其上正呈现该段媒体的远程计算设备、或其他信息。在一个实施例中,发现远程媒体会话包括在与计算机网络上的远程设备相关联的操作系统上定位媒体会话的登记。

方法500包括在520处在本地计算设备上呈现用户接口。用户接口呈现涉及在510处被发现的所述一个或多个远程媒体会话的数据。用户接口也包括用于控制所述一个或多个远程媒体会话的一个或多个用户接口元件。用户接口元件可以包括例如开始元件、停止元件、音量元件、改变频道元件、带宽元件或其他元件。用户接口元件可以对于本地计算设备而言是本机的。例如,可以由设备上的操作系统或用户接口系统提供与在这些元件上执行的动作(例如,轻击、双击、划扫)相关联的按钮、滑块、菜单和事件。方法500使用这些内建的元件和事件。在一个实施例中,用户接口包括用于在远程媒体会话之间进行选择的导航元件。导航元件可以是例如循环通过各远程媒体会话的翻阅器按钮。在一个实施例中,可以至少部分地通过媒体的类型确定为某个媒体会话呈现的用户接口元件。例如,视频游戏可以具有暂停和音量控件,而电影可以具有开始、停止、暂停、前进、倒转、快速、慢速、字幕和音量控件。

方法500还包括在530处通过用户接口接受用于控制所述一个或多个远程媒体会话的成员的输入。该成员可以与不同类型的媒体和不同类型的媒体播放器相关联。例如,该成员可以与电影、视频游戏、电子书、歌曲、播客、网络研讨会或其他媒体相关联。另外,可以在远程设备上播放该成员,所述远程设备包括智能电话、平板计算机、膝上型计算机、桌面型计算机、游戏控制台或其他设备。

方法500还包括在540处至少部分地基于所述输入控制所述成员。在一个实施例中,控制所述成员包括与在远程计算设备上运行的外壳进程交互。控制所述成员可以包括开始一段媒体、暂停一段媒体、改变该媒体播放所处的音量、改变可用于该媒体的帧速率、或其他动作。

图6图示了方法500的另一实施例。该实施例包括附加动作。例如,该实施例包括在515处发现在本地计算设备上运行的一个或多个本地媒体会话。涉及本地媒体会话的数据可以类似于涉及远程媒体会话的数据。虽然本地媒体会话被图示为在远程媒体会话之后被发现,但是本地媒体会话可以在远程媒体会话之前或者与远程媒体会话并行地被发现。因而,可以在520处显示关于所述一个或多个本地媒体会话的数据。类似地,用于控制本地媒体会话的用户接口元件和动作可以类似于与控制远程媒体会话相关联的那些用户接口元件和动作。因此,可以在520处呈现用户接口元件并且可以在530处接受输入。

方法500的该实施例也可以包括在545处至少部分地基于所述输入控制本地媒体会话。控制本地媒体会话可以包括例如开始一段媒体、停止一段媒体、改变媒体播放所处的音量、改变用于媒体播放器的流送速率、或其他动作。

虽然图5和6图示了串行发生的各个动作,但是应领会的是,图5和6中图示的各个动作可以基本上并行地发生。通过举例说明的方式,第一进程可以控制媒体会话的发现,第二进程可以控制基于外壳的用户接口的呈现以呈现关于所发现的媒体会话的信息,并且第三进程可以促进控制媒体会话。虽然描述了三个进程,但是应领会的是,可以采用更多或更少数目的进程,并且可以采用轻量进程、常规进程、线程和其他方案。

在一个示例中,方法可以实现为计算机可执行指令。因而,在一个示例中,计算机可读存储介质可以存储计算机可执行指令,所述指令在由机器(例如,计算机、电话、平板电脑)执行的情况下促使该机器执行本文中描述或要求保护的、包括方法500在内的方法。虽然与所列出的方法相关联的可执行指令被描述为存储在计算机可读存储介质上,但是应领会的是,与本文中描述或要求保护的其他示例方法相关联的可执行指令也可以存储在计算机可读存储介质上。在不同的实施例中,可以以不同方式触发本文中描述的示例方法。在一个实施例中,可以由用户手动地触发方法。在另一示例中,可以自动地触发方法。

图7图示了示例云操作环境700。云操作环境700支持递送计算、处理、存储、数据管理、应用和其他功能性作为抽象服务而不是单独产品。服务可以由可以被实现为一个或多个计算设备上的一个或多个进程的虚拟服务器提供。在一些实施例中,进程可以在服务器之间迁移而不中断云服务。在云中,可以通过网络向包括服务器、客户端和移动设备在内的计算机提供共享资源(例如,计算、存储)。不同的网络(例如,以太网、Wi-Fi、802.x、蜂窝)可以用来访问云服务。与云交互的用户可以无需知晓实际提供服务(例如,计算、存储)的设备的详情(例如,位置、名称、服务器、数据库)。用户可以经由例如web浏览器、瘦客户端、移动应用或以其他方式访问云服务。

图7图示了驻留在云700中的示例远程媒体会话服务760。远程媒体会话服务760可以依赖于服务器702或服务704来执行处理并且可以依赖于数据存储装置706或数据库708来存储数据。虽然图示了单个服务器702、单个服务704、单个数据存储装置706和单个数据库708,但是服务器、服务、数据存储装置和数据库的多个实例可以驻留在云700中,并且因此可以由远程媒体会话服务760使用。

图7图示了访问云700中的远程媒体会话服务760的各种设备。这些设备包括计算机710、平板电脑720、膝上型计算机730、桌面型监视器770、电视760、个人数字助理740和移动设备(例如,蜂窝电话、卫星电话)750。可能的是,在不同位置处使用不同设备的不同用户可以通过不同网络或接口访问远程媒体会话服务760。在一个示例中,远程媒体会话服务760可以由移动设备750访问。在另一示例中,远程媒体会话服务760的各部分可以驻留在移动设备750上。远程媒体会话服务760可以执行动作,包括例如发现远程媒体会话、呈现显示关于所发现的远程媒体会话的信息的用户接口、控制远程媒体会话、或其他动作。在一个实施例中,远程媒体会话服务760可以执行本文中描述的方法(例如,方法500)的各部分。

图8是描绘包括一般地在802处示出的各种可选硬件和软件组件的示例性移动设备800的系统图。移动设备800中的组件802可以与其他组件通信,但是为了便于图示并非所有连接都被示出。移动设备800可以是各种计算设备(例如,蜂窝电话、智能电话、平板电脑、平板手机、手持式计算机、个人数字助理(PDA)等)并且可以允许与一个或多个移动通信网络804(诸如蜂窝或卫星网络)的无线双向通信。示例装置可以将处理能力、存储器和连接性资源集中在移动设备800中,期望移动设备800可以能够与其他设备(例如,平板电脑、监视器、键盘)交互并且为那些其他设备提供远程媒体会话控制。

移动设备800可以包括用于执行任务的控制器或处理器810(例如,信号处理器、微处理器、专用集成电路(ASIC)或其他控制和处理逻辑电路系统),所述任务包括输入事件处置、输出事件生成、信号编码、数据处理、输入/输出处理、功率控制或其他功能。操作系统812可以控制组件802的分配和使用并且支持应用程序814。应用程序814可以包括媒体会话、移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息发送应用)、视频游戏、电影播放器、电视播放器、生产力应用或其他应用。

移动设备800可以包括存储器820。存储器820可以包括不可移除存储器822或可移除存储器824。不可移除存储器822可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘或其他存储器存储技术。可移除存储器824可以包括闪存或GSM通信系统中已知的订户身份模块(SIM)卡、或诸如“智能卡”之类的其他存储器存储技术。存储器820可以用于存储用于运行操作系统812和应用814的数据或代码。示例数据可以包括将经由一个或多个有线或无线网络向一个或多个网络服务器或其他设备发送或从其接收的远程媒体会话标识符、远程媒体会话属性、媒体标识符、媒体属性、控制事件数据、web页面、文本、图像、声音文件、视频数据或其他数据集合。存储器820可以存储诸如国际移动订户身份(IMSI)之类的订户标识符和诸如国际移动设备标识符(IMEI)之类的设备标识符。这些标识符可以被传送给网络服务器以便标识用户或设备。存储器820可以足以存储远程媒体会话信息,所述信息可以然后提供给外壳以供在用户接口中使用。

移动设备800可以支持一个或多个输入设备830,包括但不限于既触摸敏感又悬停敏感的屏幕832、麦克风834、相机836、物理键盘838或轨迹球840。移动设备800也可以支持输出设备850,包括但不限于扬声器852和显示器854。显示器854可以并入触摸敏感和悬停敏感i/o接口中。其他可能的输入设备(未示出)包括加速度计(例如,一维的、二维的、三维的)、陀螺仪、温度计、气压计、测光计和测声计。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以服务于多于一个输入/输出功能。输入设备830可以包括自然用户接口(NUI)。NUI是这样的接口技术,其使得用户能够以“自然的”方式与设备交互而不受由诸如鼠标、键盘、遥控器和其他输入设备之类的输入设备所强加的人为约束。NUI方法的示例包括依赖于语音识别、触摸和触笔识别、手势识别(在屏幕上和邻近屏幕二者)、空中手势、头眼追踪、话音和语音、视觉、触摸、手势和机器智能的那些方法。NUI的其他示例包括使用加速度计/陀螺仪的运动手势检测、面部识别、三维(3D)显示器、头部、眼睛和凝视追踪、沉浸式增强现实和虚拟现实系统(它们都提供更为自然的接口),以及用于使用电场感测电极感测脑活动的技术(脑电图(EEG)和相关方法)。因而,在一个特定示例中,操作系统812或应用814可以包括语音识别软件作为话音用户接口的一部分,其允许用户经由话音命令操作设备800。进一步地,设备800可以包括允许经由用户的空间手势的用户交互(诸如检测和解释与控制输出动作相关联的触摸和悬停手势)的输入设备和软件。

无线调制解调器860可以耦合到天线891。在一些示例中,使用射频(RF)滤波器并且处理器810无需针对选定的频率波段选择天线配置。无线调制解调器860可以支持处理器810与外部设备之间的单向或双向通信。通信可以涉及被提供为至少部分地由远程媒体会话逻辑899控制的媒体或媒体会话数据。调制解调器860被一般地示出并且可以包括用于与移动通信网络804和/或其他基于无线电的调制解调器(例如,蓝牙864或Wi-Fi 862)通信的蜂窝调制解调器。无线调制解调器860可以被配置用于与一个或多个蜂窝网络通信,所述一个或多个蜂窝网络诸如用于单个蜂窝网络内、蜂窝网络之间或者在移动设备与公共交换电话网络(PSTN)之间的数据和话音通信的移动通信全球系统(GSM)网络。移动设备800也可以使用例如近场通信(NFC)元件892而本地地通信。

移动设备800可以包括至少一个输入/输出端口880、电源882、卫星导航系统接收机884(诸如全球定位系统(GPS)接收机)、加速度计886或物理连接器890(其可以是通用串行总线(USB)端口、IEEE 1394(火线)端口、RS-232端口或其他端口)。所图示的组件802并不是要求的或者全包含的,因为可以删除或添加其他组件。

移动设备800可以包括远程媒体会话逻辑899,其提供用于移动设备800并且用于与远程媒体会话交互的功能性。例如,远程媒体会话逻辑899可以提供用于与服务(例如,服务760,图7)交互的客户端。本文中描述的示例方法的各部分可以由远程媒体会话逻辑899执行。类似地,远程媒体会话逻辑899可以实现本文中描述的装置的各部分。在一个实施例中,远程媒体会话逻辑899可以检测远程媒体会话、获取关于远程媒体会话的信息、在用户接口中呈现信息、接受来自用户接口的输入以及基于所述输入控制远程媒体会话。

图9图示了可以发现和控制远程媒体会话的装置900。装置900可以是例如智能电话、膝上型电脑、平板电脑或其他计算设备。在一个示例中,装置900包括连接处理器910、存储器920和一组逻辑930的物理接口940。该组逻辑930可以促进发现和控制远程媒体会话。更一般地,该组逻辑930可以促进发现和控制在其他装置上运行的媒体应用的实例。装置900的各元件可以被配置成与彼此通信,但是为了图示的清楚性没有示出所有连接。

装置900可以包括第一逻辑932,其在装置900与其上正运行媒体应用的实例的第二装置之间通信。在一个实施例中,第一逻辑932使用外壳进程在装置900与第二装置之间通信。外壳进程可以提供装置900与第二装置之间的实际通信进程的抽象。该抽象促进降低编码复杂度,因为开发者可以向外壳和抽象编码而不是向任何特定协议编码。该抽象可以定义包括例如从远程实例读取数据和向远程实例提供控制信号在内的动作。

装置900可以包括第二逻辑934,其获取关于实例的信息。关于实例的该信息可以描述媒体项目、媒体会话、媒体播放器或第二装置。例如,该信息可以标识正由该实例呈现的媒体的身份(例如,名称、ISBN、GUID)、正由该实例呈现的媒体的类型(例如,电影、书籍、游戏)、正由该实例呈现的媒体的持续时间、正由该实例呈现的媒体中的目前位置以及其上正播放该媒体的设备的类型(例如,智能电话、平板电脑、游戏控制台)。ISBN是指国际标准书刊号,GUID是指全球唯一标识符。

装置900可以包括第三逻辑936,其使用外壳进程呈现关于实例的数据,所述外壳进程提供用于与实例的抽象进行交互的用户接口。在一个实施例中,第三逻辑936从对于装置900而言本地的用户接口元件构建用户接口。例如,智能电话可以具有用于控制应用的内建的一组触摸事件。智能电话也可以具有在多个不同应用中呈现的内建的一组元件(例如,按钮、滑块、菜单)。触摸事件可以包括在按钮上轻击、在按钮上双击、在图片上展开、在图片上夹捏、划扫滑块控件或其他动作。由第三逻辑936提供的用户接口可以使用内建到智能电话或者由例如智能电话上的操作系统提供的用户接口元件和事件。使用内建元件、事件和控件降低了用于使用装置900的学习曲线并且减少了向装置900添加远程控制功能性所要求的资源量。

装置900可以包括第四逻辑938,其至少部分地基于与用户接口的交互控制实例。虽然不同媒体播放器和不同类型的媒体可以具有不同的唯一属性,但是所有媒体共享一些属性和动作。例如,所有媒体都具有长度和当前观看/收听/阅读位置。类似地,所有媒体都可以被开始或停止。因而,在一个实施例中,用户接口元件提供开始功能性、停止功能性、音量功能性、前进功能性、倒转功能性、改变频道功能性或带宽控制功能性。可以提供其他功能性。在一个实施例中,用户接口可以仅显示与媒体会话有关的功能性。

装置900可以提供与常规系统相比时更优的结果,因为用户可访问远程媒体会话以及本地媒体会话,并且可以更容易地对媒体会话施加控制。父母可以不再需要告诉孩子调低音量,因为父母可以能够远程地控制设备。类似地,被认为是“带宽看守者”的个人可以能够从单个位置向不同媒体会话分配带宽。例如,用户可以将观看体验从1200 dpi改变至300 dpi或者可以改变帧速率。个人可以不必学习到多个不同机器上的多个不同应用的多个不同接口以便能够控制和协调呈现。例如,戏剧制作者可以能够完全在同一时间从单个设备、完全使用对于该单个设备而言本机的接口控制若干媒体播放器。在一个实施例中,对于例如学校教师可以有用的是,装置900可以能够同时控制一组或者甚至所有远程媒体会话。例如,教师可以能够使用与用户接口的单次交互暂停教室中的所有媒体会话,给出指令,并且然后使用与用户接口的另一单次交互重启所有媒体会话。

装置900可以包括存储器920。存储器920可以包括不可移除存储器和可移除存储器。不可移除存储器可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘或其他存储器存储技术。可移除存储器可以包括闪存或诸如“智能卡”之类的其他存储器存储技术。存储器920可以被配置成存储远程媒体会话数据、用户接口数据、控制数据或其他数据。

装置900可以包括处理器910。处理器910可以是例如信号处理器、微处理器、专用集成电路(ASIC)或用于执行包括信号编码、数据处理、输入/输出处理、功率控制或其他功能在内的任务的其他控制和处理逻辑电路系统。

在一个实施例中,装置900可以是通用计算机,其通过包括该组逻辑930已经被转换成专用计算机。装置900可以通过例如计算机网络与其他装置、进程和服务交互。

在一个实施例中,与该组逻辑930相关联的功能性可以至少部分地由硬件逻辑组件执行,所述硬件逻辑组件包括但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统系统(SOC)或复杂可编程逻辑器件(CPLD)。

图10图示了装置900的另一实施例。装置900的该实施例包括第五逻辑939,其获取关于在装置900上运行的媒体应用的本地实例的信息。当关于本地实例的信息也可用时,那么第三逻辑936也可以使用外壳进程呈现关于本地实例的数据。类似地,第四逻辑938可以至少部分地基于与用户接口的交互控制本地实例。注意,各媒体会话并未被链接,并且装置900并未与远程设备共享媒体体验。装置900只是允许使用对于装置900而言本机的接口对多个媒体会话的远程控制。

某些实施例的方面

在一个实施例中,装置包括处理器、存储器和一组逻辑。该装置可以包括用以连接处理器、存储器和该组逻辑的物理接口。该组逻辑包括在装置与其上正运行媒体应用的实例的第二装置之间通信的第一逻辑。该组逻辑还包括获取关于该实例的信息的第二逻辑。关于该实例的信息可以描述媒体项目、媒体播放器或第二装置。该组逻辑还可以包括使用外壳进程呈现关于该实例的数据的第三逻辑,所述外壳进程提供用于与该实例的抽象进行交互的用户接口。该装置还可以包括至少部分地基于与用户接口的交互控制该实例的第四逻辑。该装置还可以包括获取关于在该装置上运行的媒体应用的本地实例的信息的第五逻辑。当关于本地实例的信息也可用时,那么第三逻辑也使用外壳进程呈现关于本地实例的数据。类似地,第四逻辑可以至少部分地基于与用户接口的交互控制本地实例。

在另一实施例中,系统包括智能电话和游戏控制台。在该系统中,在智能电话上运行的外壳进程标识与游戏控制台相关联的媒体会话。外壳进程还呈现用于控制该媒体会话的图形用户接口。该图形用户接口包括对于智能电话而言本地的用户接口元件。所述用户接口元件对应于在用于该媒体会话的游戏控制台上可用的功能性。

在另一实施例中,在本地计算设备上执行的方法可以包括发现在远程计算设备上运行的远程媒体会话。发现远程媒体会话可以包括获取关于远程媒体会话的信息。也可以发现本地媒体会话。该方法还可以包括在本地计算设备上呈现用户接口。该用户接口包括涉及远程媒体会话的数据和用于控制该远程媒体会话的用户接口元件。该方法还可以包括通过该用户接口接受用于控制远程媒体会话的输入。一旦接收到输入,该方法可以通过至少部分地基于该输入控制该成员而继续。也可以控制本地会话。

定义

下文包括本文中采用的选定术语的定义。这些定义包括落入术语的范围内且可以用于实现的组件的各种示例或形式。这些示例不意图是限制性的。单数和复数两种形式的术语都可以在定义之内。

对“一个实施例”、“一实施例”、“一个示例”和“一示例”的引用指示如此描述的(多个)实施例或(多个)示例可以包括特定特征、结构、特性、性质、元件或限制,但是并不是每个实施例或示例一定包括该特定特征、结构、特性、性质、元件或限制。此外,短语“在一个实施例中”的反复使用并不一定是指同一个实施例,尽管可能如此。

如本文中使用的“计算机可读存储介质”是指存储指令或数据的介质。“计算机可读存储介质”不是指传播信号。计算机可读存储介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘、磁带和其他介质。易失性介质可以包括例如半导体存储器、动态存储器和其他介质。计算机可读存储介质的常见形式可以包括但不限于软盘、柔性盘、硬盘、磁带、其他磁介质、专用集成电路(ASIC)、致密盘(CD)、随机存取存储器(RAM)、只读存储器(ROM)、存储器芯片或卡、记忆棒以及计算机、处理器或其他电子设备可以从其读取的其他介质。

如本文中使用的“数据存储装置”是指可以存储数据的物理或逻辑实体。数据存储装置可以是例如数据库、表格、文件、列表、队列、堆、存储器、寄存器和其他物理贮存装置。在不同的示例中,数据存储装置可以驻留在一个逻辑或物理实体中或者可以分布在两个或更多逻辑或物理实体之间。

如本文中使用的“逻辑”包括但不限于用以执行(多个)功能或(多个)动作或者用以引起来自另一逻辑、方法或系统的功能或动作的硬件、固件、在机器上执行的软件或每个的组合。逻辑可以包括软件控制的微处理器、分立逻辑(例如,ASIC)、模拟电路、数字电路、编程逻辑器件、包含指令的存储器设备以及其他物理设备。逻辑可以包括一个或多个门、门的组合或其他电路组件。在描述多个逻辑性逻辑的情况下,可以可能的是将多个逻辑性逻辑合并成一个物理逻辑。类似地,在描述单个逻辑性逻辑的情况下,可以可能的是将该单个逻辑性逻辑分布在多个物理逻辑之间。

就术语“包含”或“含有”在具体实施方式或权利要求中被采用的范围而言,其意图以类似于术语“包括”在该术语用作权利要求中的过渡词时被解释的那样的方式是包含性的。

就术语“或”在具体实施方式或权利要求中被采用(例如,A或B)的范围而言,其意图意指“A或B或二者”。当申请人意图指示“仅仅A或B而不是二者”时,那么将采用术语“仅仅A或B而不是二者”。因而,本文中术语“或”的使用是包含性的而不是排他性的使用。参见Bryan A. Garner, A Dictionary of Modern Legal Usage 624 (2d. Ed. 1995)。

尽管已经以特定于结构特征或方法动作的语言描述了主题,但是应理解的是,所附权利要求中限定的主题不一定限于上面描述的特定特征或动作。相反,上面描述的特定特征和动作是作为实现权利要求的示例形式而公开的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1