CN108141629B - 在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质 - Google Patents

在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质 Download PDF

Info

Publication number
CN108141629B
CN108141629B CN201680053804.5A CN201680053804A CN108141629B CN 108141629 B CN108141629 B CN 108141629B CN 201680053804 A CN201680053804 A CN 201680053804A CN 108141629 B CN108141629 B CN 108141629B
Authority
CN
China
Prior art keywords
user interface
application
media
operating system
virtual operating
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.)
Active
Application number
CN201680053804.5A
Other languages
English (en)
Other versions
CN108141629A (zh
Inventor
斯图尔特·赖希林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN108141629A publication Critical patent/CN108141629A/zh
Application granted granted Critical
Publication of CN108141629B publication Critical patent/CN108141629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供用于在显示设备上呈现诸如虚拟操作系统用户界面的用户界面的方法、系统和介质。在一些实施方式中,提供一种用于呈现虚拟操作系统用户界面(虚拟OS UI)的方法,该方法包括:接收为耦合到媒体接收设备的显示器提供虚拟OS UI的请求;选择应用;生成包括应用的虚拟OS UI;使媒体接收设备在显示器上呈现虚拟OS UI;从遥控器接收选择第二应用的信号;执行第二应用;使媒体接收设备在显示器上呈现第二应用;从遥控器接收选择媒体内容的信号;使媒体接收设备请求所选择的媒体内容;以及使媒体接收设备使用显示器呈现所请求的媒体内容。

Description

在显示设备上呈现虚拟操作系统用户界面的方法、系统和 介质
相关申请的交叉引用
本申请要求于2015年12月3日提交的U.S.专利申请No.14/958,640的优先权,其全部内容通过应用被并入本文。
技术领域
提供用于在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质。
背景技术
安装有完整操作系统的数字媒体接收器和智能电视可以执行允许用户选择要呈现的媒体内容并且呈现所选择的媒体内容的应用。然而,与不具有完整操作系统的设备相比,这种数字媒体接收器通常相对昂贵。类似地,执行完整操作系统和/或应用所需的硬件也会增加新电视的成本。
现有不执行完整操作系统的低成本数字媒体接收器。相反,这些设备通常从媒体内容源流式传输媒体内容,但要求移动设备或个人计算机来选择要流式传输的媒体内容。
因此,期望用于在显示设备上呈现对应于或表示虚拟操作系统或被描述为虚拟操作系统的用户界面的方法、系统和介质。
发明内容
根据所公开的主题的一些实施方式,提供用于在显示设备上呈现诸如虚拟操作系统用户界面的用户界面的机制。
根据所公开的主题的一些实施方式,提供一种用于呈现诸如虚拟操作系统用户界面的用户界面的方法,所述方法包括:使用移动设备的硬件处理器接收为可操作地耦合到媒体接收设备的显示设备提供虚拟操作系统用户界面的请求;选择要呈现在所述虚拟操作系统用户界面中的多个应用;使用所述移动设备的所述硬件处理器生成包括对应于所述多个应用中的至少一个的用户界面元素的所述虚拟操作系统用户界面;使用所述移动设备的硬件处理器,使得所述媒体接收设备在所述显示设备上呈现所述虚拟操作系统用户界面;使用所述移动设备的硬件处理器,使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素;使用所述移动设备的硬件处理器从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号;使用所述移动设备的所述硬件处理器执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面;使用所述移动设备的硬件处理器使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面;使用所述移动设备的所述硬件处理器从所述遥控设备接收选择对应于媒体内容项的所述第二应用的用户界面元素的一个或多个信号;使用所述移动设备的硬件处理器使得所述媒体接收设备从与所述第二应用相关联的远程服务器请求所选择的媒体内容项;以及使用所述移动设备的硬件处理器使得所述媒体接收设备使用所述显示设备呈现所请求的媒体内容项。
根据所公开的主题的一些实施方式,提供一种用于呈现诸如虚拟操作系统用户界面的用户界面的系统,所述系统包括:包括硬件处理器的移动设备,所述硬件处理器被编程为:接收为可操作地耦合到媒体接收设备的显示设备提供虚拟操作系统用户界面的请求;选择要呈现在所述虚拟操作系统用户界面中的多个应用;生成包括对应于所述多个应用中的至少一个的用户界面元素的所述虚拟操作系统用户界面;使得所述媒体接收设备在所述显示设备上呈现所述虚拟操作系统用户界面;使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素;从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号;执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面;使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面;从所述遥控设备接收选择选择对应于媒体内容项的所述第二应用的用户界面元素的一个或多个信号;使得所述媒体接收设备从与所述第二应用相关联的远程服务器请求所选择的媒体内容项;以及使得所述媒体接收设备使用所述显示设备呈现所请求的媒体内容项。
根据所公开的主题的一些实施方式,提供一种包含计算机可读指令的非暂时性计算机可读介质,当由处理器执行时,所述计算机可读指令使所述处理器执行一种用于呈现诸如虚拟操作系统用户界面的用户界面的方法,所述方法包括:在移动设备处,接收为可操作地耦合到媒体接收设备的显示设备提供虚拟操作系统用户界面的请求;选择要呈现在所述虚拟操作系统用户界面中的多个应用;通过所述移动设备生成包括对应于所述多个应用中的至少一个的用户界面元素的所述虚拟操作系统用户界面;通过所述移动设备使得所述媒体接收设备在所述显示设备上呈现所述虚拟操作系统用户界面;通过所述移动设备使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素;通过所述移动设备从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号;通过所述移动设备执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面;通过所述移动设备使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面;在所述移动设备处,从所述遥控设备接收选择对应于媒体内容项的所述第二应用的用户界面元素的一个或多个信号;通过所述移动设备使得所述媒体接收设备从与所述第二应用相关联的远程服务器请求所选择的媒体内容项;以及通过所述移动设备使得所述媒体接收设备使用所述显示设备呈现所请求的媒体内容项。
根据所公开的主题的一些实施方式,提供一种用于呈现诸如虚拟操作系统用户界面的用户界面的系统,所述系统包括:用于接收为可操作地耦合到媒体接收设备的显示设备提供虚拟操作系统用户界面的请求的装置;用于选择要呈现在所述虚拟操作系统用户界面中的多个应用的装置;用于生成包括对应于所述多个应用中的至少一个的用户界面元素的所述虚拟操作系统用户界面的装置;用于使得所述媒体接收设备在所述显示设备上呈现所述虚拟操作系统用户界面的装置;用于使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素的装置;用于从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号的装置;用于执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面的装置;用于使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面的装置;用于从所述遥控设备接收选择对应于媒体内容项的所述第二应用的用户界面元素的一个或多个信号的装置;用于使得所述媒体接收设备从与所述第二应用相关联的远程服务器请求所选择的媒体内容项的装置;以及用于使得所述媒体接收设备使用所述显示设备呈现所请求的媒体内容项的装置。
在一些实施方式中,所述应用用户界面被格式化以呈现在所述显示设备上,其中,所述第二应用与提供对一个或多个媒体内容项的访问的服务相关联,并且其中,所述应用用户界面包括多个用户界面元素,每个用户界面元素对应于所述一个或多个媒体内容项中的至少一个。
在一些实施方式中,该系统进一步包括:用于从所述遥控设备接收暂停呈现所选择的媒体内容项的信号的装置;以及用于使得所述媒体接收设备暂停呈现所选择的媒体内容项的装置。
在一些实施方式中,该系统进一步包括:用于在呈现所选择的媒体内容项期间,从所述遥控设备接收回到前一屏的信号的装置;以及用于响应于接收到回到前一屏的所述信号,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面的装置。
在一些实施方式中,该系统进一步包括:用于在呈现所选择的媒体内容项期间,从所述遥控设备接收呈现主屏的信号的装置;以及用于响应于接收到转到主屏的信号,使得所述媒体接收设备呈现所述虚拟操作系统用户界面的装置。
在一些实施方式中,用于使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面的装置在所述移动设备处于禁止显示状态的情况下是可操作的。
在一些实施方式中,所述多个应用中的至少一部分是从安装在所述移动设备上的应用中选择的。
附图说明
参考结合以下附图考虑的公开主题的下述详细描述,可以更全面地理解所公开的主题的各种目的、特征和优点,在附图中相同的附图标记标识相同的元件。
图1示出根据所公开的主题的一些实施方式的用于在显示设备上呈现虚拟操作系统的系统的示例。
图2示出根据所公开的主题的一些实施方式的在其上可以实现如本文所述的用于在显示设备上呈现虚拟操作系统的机制的系统的概括示意图的示例。
图3示出根据所公开的主题的一些实施方式的可用于实现图1和图2中描绘的计算设备之一、媒体接收设备之一和遥控器的硬件的示例。
图4示出根据所公开的主题的一些实施方式的用于在显示设备上呈现虚拟操作系统的过程的示例。
图5示出根据所公开的主题的一些实施方式的用于生成虚拟操作系统用户界面的过程的示例。
图6示出根据所公开的主题的一些实施方式的用于导航(navigate)虚拟操作系统用户界面和应用用户界面的过程的示例。
图7A-7C示出根据所公开的主题的一些实施方式的将本文所述的机制用于使得虚拟操作系统呈现在来自图1和图2中描绘的计算设备之一的显示设备上的示例。
图8A到8H示出根据所公开的主题的一些实施方式的将本文所述的机制用于使用图1和图2中描绘的计算设备和遥控器中的一个在显示装置上呈现和导航虚拟操作系统的示例。
图9示出根据所公开的主题的一些实施方式的用于呈现媒体内容的过程的示例。
图10示出根据所公开的主题的一些实施方式的用于使用媒体接收设备接收和呈现媒体内容的过程的示例。
图11示出根据所公开的主题的一些实施方式的用于从计算设备的锁定屏幕生成要发送到媒体接收设备的命令的过程的示例。
图12A-12B示出根据所公开的主题的一些实施方式的用于控制媒体接收设备的锁定屏幕用户界面的示例。
图13示出根据所公开的主题的一些实施方式的用于从计算设备上提供的通知中控制媒体内容项的呈现的过程的示例。
图14A-14F示出根据所公开的主题的一些实施方式的使用本文描述的机制用于呈现与计算设备一起使用的内容的示例。
图15A-15E示出根据所公开的主题的一些实施方式的使用本文描述的机制用于呈现与运行浏览器的计算设备一起使用的内容的示例。
具体实施方式
根据所公开的主题的一些实施方式,提供用于在显示设备上呈现诸如虚拟操作系统用户界面的用户界面的机制(包括方法、系统和介质)。
在一些实施方式中,本文所述的机制可以使用由计算设备(例如智能电话、平板电脑或个人电脑等)提供并且呈现在显示设备上的虚拟操作系统用户界面,便于与显示设备(例如电视机、车载娱乐系统、投影仪等)交互。在一些实施方式中,计算设备可以生成要呈现在显示设备上的虚拟操作系统用户界面。例如,智能电话可以生成要呈现在电视屏(诸如不具有操作系统或具有有限操作系统的电视屏)上的虚拟操作系统用户界面。
在一些实施方式中,计算设备可以通过与虚拟操作系统用户界面和/或显示设备兼容、由计算设备执行以访问媒体内容(例如,视频、音乐、照片等)的应用填充虚拟操作系统用户界面。例如,智能电话可以确定安装在智能电话上的哪些应用与虚拟操作系统和/或电视上的呈现兼容,并且可以使得这些应用的图标呈现在虚拟操作系统用户界面中。
在一些实施方式中,计算设备可以将虚拟操作系统用户界面流式传输到显示设备和/或通过局域网连接到显示设备的媒体接收设备。例如,智能电话可以通过本地无线网络(例如,Wi-Fi网络),将虚拟操作系统用户界面作为视频流式传输到HDMI电视棒(HDMIdongle)设备,所述HDMI电视棒设备被配置为流式传输来自智能电话和/或远程内容服务器的媒体内容。在这样的示例中,然后,HDMI电视棒设备可以经由HDMI电视棒设备和电视机之间的一个或多个HDMI连接,将流式传输的虚拟操作系统用户界面输出到电视机。
在一些实施方式中,计算设备可以接收选择应用的输入,并且呈现用于所选择的应用的应用用户界面。在这样的实施方式中,计算设备可以接收选择可经由应用获得的媒体内容的进一步输入,并且可以使得显示设备和/或媒体接收设备流式传输所选择的媒体内容。例如,智能电话从遥控器接收选择呈现在虚拟操作系统用户界面中的应用的输入。在更具体的示例中,可以选择用于浏览和/或观看视频的应用,并且智能电话可以将用于所选择的应用的用户界面的视频流式传输到HDMI电视棒设备以在电视上呈现。在这样的更具体的示例中,智能电话可以从遥控器接收选择特定视频的输入,随后,智能电话可以使得从与该应用相关联的服务器由HDMI电视棒设备流式传输所选择的视频。
应注意到,尽管用户界面在本文中通常被描述为虚拟操作系统用户界面,但可以在显示设备上呈现任何适当的用户界面。例如,在一些实施例中,可能不涉及实际的虚拟操作系统,其中,计算设备执行生成一个或多个用户界面(例如,用于控制被呈现在显示设备上的媒体内容的界面)的应用并且将包含一个或多个用户界面的视频流传送到显示设备以呈现和/或交互。在继续该示例中,正在向显示设备传送包含一个或多个用户界面的视频流的计算设备可以被配置为与正在显示设备上呈现的用户界面交互(例如,远程控制交互),其中,由计算设备接收的交互可以被传送到显示设备以执行所接收的命令或交互。在更具体的示例中,经由计算设备呈现在显示设备上的用户界面可以包括媒体操作用户界面,其呈现用于控制呈现在显示设备上的媒体内容的选项,诸如媒体回放选项。在另一更具体的示例中,经由计算设备呈现在显示设备上的用户界面可以包括呈现用于选择呈现在显示设备上的应用相关内容的选项,诸如应用启动选项、应用设置选项、应用下载选项等的应用用户界面。
转向图1,根据所公开的主题的一些实施方式,示出用于在显示设备上呈现用户界面,诸如虚拟操作系统用户界面的系统的示例100。在一些实施方式中,系统100可以包括媒体接收设备102,其可以包括输入/输出连接器104。输入/输出连接器104可以是用于与媒体回放设备106通信的任何合适的输入和/或输出连接器。例如,输入/输出连接器104可以是高清多媒体接口(HDMI)端口、通用串行总线(USB)连接器(例如,USB 3.0连接器)、THUNDERBOLT连接器、数字视频接口(DVI)连接器、TOSLINK连接器(例如、光纤音频连接器)、独立视频(S-Video)连接器、任何其他合适的连接器和/或任何合适的连接器组合。
在一些实施方式中,媒体回放设备106可以是包括用于呈现从一个或多个媒体内容源接收的媒体的硬件和/或软件的显示设备。例如,媒体回放设备106可以包括电视、智能电视、监视器、机顶盒、音频视频(AV)接收机、任何其他合适的媒体回放设备和/或其任何合适的组合。更具体地,媒体回放设备106可以包括显示器108、扬声器、用于呈现诸如模拟和/或数字视频和/或音频数据的媒体内容的硬件和/或软件、电源等。媒体回放设备106可以包括用于从各种源接收视频和/或音频数据的各种输入端口。这样的输入端口可以包括一个或多个HDMI端口、一个或多个分量视频端口、一个或多个复合视频端口、一个或多个USB端口、一个或多个S视频端口、一个或多个TOSLINK端口、一个或多个同轴端口、一个或多个以太网端口(不论是有线或无线)等。
在一些实施方式中,媒体接收设备102可以通过连接110连接到媒体回放设备106。媒体接收设备102和媒体回放设备106可以使用任何合适的技术来连接。例如,连接110可以包括插入到媒体回放设备106的相应插座端口中的媒体接收设备102的输入/输出连接器104的插头。作为另一示例,诸如HDMI电缆的合适的电缆可以连接在输入/输出连接器104和媒体回放设备106的端口之间。附加地或可替选地,媒体接收设备102可被包括作为媒体回放设备106的硬件和/或软件。
在一些实施方式中,媒体接收设备102可以使用通信链路114耦合到计算设备112。计算设备112可以是任何合适的计算设备,诸如智能电话、平板计算机、可穿戴计算机、膝上型计算机、个人计算机、电子阅读器、数字媒体接收机、智能电视、游戏机、任何其他合适的计算设备或其任何合适的组合。在一些实施方式中,通信链路114可以包括任何合适的通信链路,例如,如下文结合图2所述。另外,通信链路114可以包括诸如具有有线和/或无线连接的局域网(LAN)的网络。附加地或可替选地,通信链路114可以包括在计算设备112和媒体接收设备102之间的、诸如自组织(ad hoc)无线网络的无线连接。在一些实施方式中,可以使用任何合适的加密技术来加密通过通信链路114在计算设备112和媒体接收设备102之间的通信。例如,可以使用任何合适的加密方案(例如,使用用于消息加密和解密的公钥-私钥对)来加密从计算设备112发送到媒体接收设备102的消息。作为另一示例,可以使用传输层安全(TLS)来加密通过通信链路114的通信。
在一些实施方式中,计算设备112可以包括用于向用户呈现用户界面的显示器116。在本文描述的一些示例(例如结合图7A-7C和8A-8H所述的示例)中,计算设备112可以是诸如智能电话或平板计算机的移动计算设备,并且显示器116可以包括用于接收输入并向用户显示用户界面和/或媒体内容的触摸屏。在一些实施方式中,计算设备112可以进一步包括用于控制计算设备112的音量的音量控制118。
在一些实施方式中,计算设备112可以通过通信链路126与内容发现服务器122通信。计算设备112可以与内容发现服务器122通信以发现和/或浏览内容分发服务器120可用的内容。例如,用户可以使用计算设备112来通过与内容发现服务器122交互来查找要呈现的媒体内容。在一些实施方式中,可以使用计算设备112的显示器116呈现这样的媒体内容。在一些实施方式中,计算设备112可以通过从内容分发服务器120请求媒体内容项并通过通信链路124接收媒体内容项来呈现使用内容发现服务器122选择的媒体内容项。在一些实施方式中,内容分发服务器120和/或内容发现服务器122中的每个可以在任何合适数量的服务器上实现。附加地或可替选地,在一些实施方式中,由内容分发服务器120和内容发现服务器122执行的功能可以由相同的设备(例如,由公共服务器计算机)执行。
在一些实施方式中,通信链路124和/或126可以包括局域网(例如,家庭网络)和/或非本地网络(例如,互联网)。例如,计算设备112可以连接到诸如家庭网络的公共LAN,并且可以通过互联网连接到内容发现服务器122和/或内容分发服务器120。作为另一示例,内容分发服务器120和/或内容发现服务器122可以连接到计算设备112公用的LAN。在更具体的示例中,内容分发服务器120和/或内容发现服务器122可以定位为远离计算设备112,并且通信链路124和/或126可以包括诸如互联网的非本地网络,用于访问来自内容分发服务器120的内容和/或使用内容发现服务器122发现内容。在另一个更具体的示例中,内容分发服务器120和/或内容发现服务器122可以本地定位到计算设备112,并且通信链路124和/或126可以包括内容分发服务器120和/或内容发现服务器122所连接到的本地网络,诸如家庭网络。在这样的示例中,当访问来自内容分发服务器120的内容和/或使用内容分发服务器122发现内容时,可以不使用通信链路124和/或126(如果存在)的非本地网络。
在一些实施方式中,计算设备112的用户可以使内容分发服务器120可用的媒体内容被传送到媒体接收设备102,媒体接收设备102又可以使得媒体内容呈现在媒体接收设备102连接到的媒体回放设备106的显示器108上。在一些实施方式中,媒体接收设备102可以通过连接110从媒体回放设备106接收电力,并且仅当通过连接110接收电力时(例如,当媒体接收设备102所连接到的端口被选为有效输入端口时)才可用于接收媒体内容。
在一些实施方式中,如果用户已经从内容分发服务器120选择了要呈现的媒体内容项,则用户可以选择结合所选择的媒体内容项,选择呈现给用户的图标,以使得使用媒体接收设备102和媒体回放设备106来呈现媒体内容项。
在一些实施方式中,当要使用媒体接收设备102从内容分发服务器120呈现媒体内容项时,可以通过通信链路128将媒体内容项传送到媒体接收设备102。通信链路128可以包括局域网(例如,家庭网络)和/或非本地网络(例如,互联网)。例如,媒体接收设备102和计算设备112两者都可以连接到诸如家庭网络的公共LAN,并且可以通过互联网连接到内容分发服务器120。作为另一示例,内容分发服务器120可以连接到计算设备112和/或媒体接收设备102公用的LAN。在更具体的示例中,内容分发服务器120可以定位为远离媒体接收设备102和/或计算设备112,并且通信链路128可以包括诸如互联网的非本地网络,用于从内容分发服务器120访问内容。在另一更具体的示例中,内容分发服务器可以本地定位到媒体接收设备102和/或计算设备112,并且通信链路128可以包括本地网络,诸如家庭网络,媒体接收设备102和内容分发服务器120都连接到本地网络。在这样的示例中,当从内容分发服务器120访问内容时,可以不使用通信链路128的非本地网络(如果存在)。
在一些实施方式中,用户可以从计算设备112的存储器来选择要使用媒体接收设备102呈现的媒体内容项(例如,用户可以选择本地存储在计算设备112上的视频)。附加地或可替选地,用户可以选择存储在存在于相同局域网上的另一计算设备(例如,网络附加存储器、家庭网络上的个人计算机的存储器、相同网络上的服务器上的存储器等)上的要使用媒体接收设备102来呈现的媒体内容项。可以通过通信链路114(或任何其它合适的通信链路)将存储在连接到局域网的计算设备上的这样的媒体内容项从计算设备112发送到媒体接收机102,而不通过内容分发服务器120传送。
在一些实施方式中,遥控器130可以包括用于接收对应于要发出的、用于控制由计算设备112呈现的用户界面和/或媒体内容,和/或使用媒体接收设备102和/或媒体回放设备106呈现的用户界面和/或媒体内容的命令的用户输入的一个或多个输入设备(例如,按钮、触摸屏等)。例如,遥控器130可以发出下文结合图8A-8H描述的命令。在一些实施方式中,当遥控器130要向计算设备112发出命令时,可以通过通信链路132传送命令。在一些实施方式中,通信链路132可以包括任何合适的通信链路,例如如下文结合图2所描述的。另外,在一些实施方式中,通信链路132可以包括计算设备112和媒体接收设备102之间的无线连接。例如,通信链路132可以包括使用诸如蓝牙、无线USB等的近距离通信协议的连接。作为另一示例,通信链路132可以包括使用任何合适的通信标准,诸如无线通信标准的IEEE802.11系列之一的自组织无线连接。附加或可替选地,在一些实施方式中,通信链路132可以包括网络,诸如具有有线和/或无线连接的局域网(LAN)。
图2示出根据所公开主题的一些实施方式的系统的概括示意图的示例200,在该系统上可以实现如本文所述的在显示设备上呈现用户界面(诸如,虚拟操作系统用户界面)的机制。如图所示,系统200可以包括一个或多个计算设备112。计算设备112可以是本地的或彼此远离。计算设备112可以通过一个或多个通信链路202连接到通信网络204,通信网络204可以经由通信链路206链接到媒体接收设备102,经由通信链路208链接到内容分发服务器120,经由通信链路212链接到内容发现服务器122,经由通信链路202链接到其他计算设备112并且经由通信链路210链接到遥控器130。
在一些实施方式中,计算设备112、内容分发服务器120、内容发现服务器122、媒体接收设备102和遥控器130中的每一个可以是诸如计算机的通用设备或诸如客户端、服务器等的专用设备中的任何一个。这些通用或专用设备中的任一个可以包括任何合适的组件,例如硬件处理器(其可以是微处理器、数字信号处理器、控制器等)、存储器、通信接口、显示控制器、输入设备等。例如,计算设备112可以被实现为智能电话、平板计算机、可穿戴计算机、个人计算机、膝上型计算机、游戏控制台、数字媒体接收机、机顶盒、智能电视、服务器等。
通信网络204可以是任何合适的计算机网络或这样的网络的组合,包括互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字用户线(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网络(VPN)等。通信链路202、206、208和212可以是适于在计算设备112、媒体接收设备102、内容分发服务器120、内容发现服务器122和遥控器130之间传送数据的任何通信链路,诸如,网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或这些链路的任何合适的组合。计算设备112可以使用任何合适的技术来发现、浏览、下载、流式传输、存储、回放、发送和/或以其它方式呈现在计算设备112处本地存储或远程存储在内容分发服务器120处的内容。
系统200可以包括如上文结合例如图1所述的媒体接收设备102,并且可以包括在计算设备112的一个或多个上安装和/或运行的媒体接收应用214,其可以使用计算设备112复制媒体接收设备102的功能。
系统200可以包括一个或多个内容分发服务器120。内容分发服务器120可以是任何合适的服务器,用于根据本文所描述的机制,提供对媒体内容项的访问,诸如处理器、计算机、数据处理设备和/或这些设备的任何合适的组合。
系统200可以包括一个或多个内容发现服务器122。内容发现服务器122可以是用于根据本文所述的机制促进发现和/或浏览可在内容分发服务器120上访问的媒体内容项的任何合适的服务器,诸如处理器、计算机、数据处理设备和/或这些设备的任何合适的组合。
在一些实施方式中,上面结合图1描述的通信链路114可以包括通信链路202、通信网络204和通信链路206;上文结合图1描述的通信链路124可以包括通信链路202、通信网络204和通信链路208;上文结合图1描述的通信链路126可以包括通信链路206、通信网络204和通信链路212;上文结合图1描述的通信链路128可以包括通信链路206、通信网络204和通信链路208;以及上文结合图1描述的通信链路132可以包括通信链路202、通信网络204和通信链路210。
图3示出根据所公开的主题的一些实施方式的可以用于实现图1和图2中描绘的计算设备112、媒体接收设备102和遥控器130之一的硬件的示例300。参考图3,计算设备112可以包括可以互连的硬件处理器312、显示/输入设备314、存储器316和发射机/接收机318。在一些实施方式中、存储器316可以包括用于存储用于控制硬件处理器312的计算机程序的存储设备(例如非暂时性计算机可读介质)。
硬件处理器312可以使用计算机程序在显示/输入设备314上呈现媒体内容和/或界面,其允许用户除了别的以外使得呈现在显示/输入设备314上的媒体内容呈现在诸如媒体接收设备102的媒体接收设备上。还应当注意,可以从任何合适的源接收通过通信链路202、通信链路132或任何其他通信链路接收到的数据。在一些实施方式中,硬件处理器312可以使用例如发射机、接收机、发射机/接收机、收发机或任何其它合适的通信设备(例如发射机/接收机318)通过通信链路202、通信链路132或任何其它通信链路来发送和接收数据。显示/输入设备314可以包括触摸屏、平板显示器、阴极射线管显示器、投影仪、扬声器和/或任何其它合适的显示和/或呈现设备,并且还可以包括计算机键盘、计算机鼠标、麦克风、触摸板、语音识别电路、触摸屏的触摸界面和/或任何其它合适的输入设备。发射机/接收机318可以包括用于发射和/或接收除了别的之外的、包括音频和/或视频内容的媒体内容的任何合适的发射机和/或接收机。
媒体接收设备102可以包括可以互连的硬件处理器322、显示器输出324、存储器326和发射机/接收机328。在一些实施方式中,存储器326可以包括用于存储用于控制硬件处理器322的计算机程序的存储设备(诸如非暂时性计算机可读介质)。
硬件处理器322可以使用计算机程序来提供媒体内容和/或用于呈现媒体内容的显示输出324的用户界面和/或在媒体回放设备上的用户界面。还应当注意,可以从任何合适的源接收通过通信链路206或任何其它通信链路接收的数据。在一些实施方式中,硬件处理器322可以使用例如发射机、接收机、发射机/接收机、收发机或任何其它合适的通信设备,诸如发射机/接收机328,通过通信链路206或任何其它通信链路来发送和接收数据。显示输出324可以包括用于以任何合适格式将媒体内容和/或用户界面输出到媒体回放设备(诸如媒体回放设备106)的硬件、软件和/或固件,并且可以包括如上结合图1所述的输入/输出连接器104。发射机/接收机328可以包括用于发射和/或接收除了别的之外的、包括音频和/或视频内容的媒体内容的任何合适的发射机和/或接收机。
遥控器130可以包括可以互连的硬件处理器332、显示/输入设备334、存储器336和发射机/接收机338。在一些实施方式中,存储器336可以包括用于存储通过通信链路132或通过其他链路接收的数据的存储设备。存储设备(诸如非暂时性计算机可读介质)可以进一步包括用于控制硬件处理器332的远程控制程序。
硬件处理器332可以使用远程控制程序与计算设备112和/或媒体接收设备102通信。还应当注意,可以从任何合适的源接收通过通信链路132或任何其它通信链路接收的数据。在一些实施方式中,硬件处理器332可以使用例如发射机、接收机、发射机/接收机、收发机或任何其它合适的通信设备,诸如发射机/接收机338,通过通信链路132或任何其它通信链路来发送和接收数据。在一些实施方式中,硬件处理器332可以接收由一个或多个用户发射的命令和/或值。显示/输入设备334可以包括触摸屏、投影仪、扬声器和/或任何其它合适的显示和/或呈现设备,并且可以进一步包括键矩阵、麦克风、触控板、语音识别电路、触摸屏的触摸界面和/或任何其它合适的输入设备。发射机/接收机338可以包括用于发射和/或接收除了别的之外的、包括音频和/或视频内容的媒体内容的任何合适的发射机和/或接收机。
图4示出根据所公开的主题的一些实施方式的用于在显示设备上呈现诸如虚拟操作系统用户界面的用户界面的过程的示例400。在402处,过程400可以接收为显示设备提供虚拟操作系统用户界面的请求。在一些实施方式中,这样的请求可以使用任何合适的技术或技术的组合来接收,和/或可以从任何合适的源接收。例如,在一些实施方式中,过程400可以响应于用于在显示设备上呈现虚拟操作系统的应用正在执行过程400的计算设备上被启动和/或打开而接收请求。在更具体的示例中,过程400可以被执行为呈现虚拟操作系统的应用的一部分。
作为另一示例,过程400可以从与执行过程400的计算设备相关联的媒体接收设备(例如,媒体接收设备102)接收请求,这指示媒体接收设备102当前未呈现媒体内容和/或未请求呈现媒体内容。在更具体的示例中,当由媒体接收设备102输出的音频和/或视频数据正由显示设备(例如,媒体回放设备106和/或耦合到媒体回放设备106的显示器)呈现,但当前未呈现媒体内容时,媒体接收设备102可以发送这样的请求。在另一更具体的示例中,媒体接收设备102可以在媒体接收设备102最初通电源时发送这样的请求。在又一更具体的示例中,当媒体接收设备102连接到的媒体回放设备106的输入被选择为有效输入时,媒体接收设备102可以发送这样的请求。
作为又一示例,过程400可以响应于用户选择指示存在能被用于在显示设备上呈现虚拟操作系统用户界面的媒体接收设备(例如,媒体接收设备102)的通知和/或用户界面元素来接收该请求。在更具体的示例中,执行过程400的计算设备(例如,计算设备112)可以检测媒体接收设备102的存在并且告知用户该媒体接收设备102可以被用来在显示设备上呈现可以被用来例如使用显示设备浏览要被呈现在显示设备上的媒体内容的虚拟操作系统用户界面。
在404处,过程400可以使用任何合适的技术或技术的组合来生成用于由显示设备呈现的虚拟操作系统用户界面。如下文结合图5所述,过程400可以选择要被包括在虚拟操作系统用户界面中的一个或多个应用,在使用显示设备初次呈现虚拟操作系统用户界面时,选择要呈现哪些应用,可以基于显示设备的属性格式化虚拟操作系统用户界面等。
在一些实施方式中,由过程400生成的虚拟操作系统用户界面可以是图形用户界面,其包括任何合适的图形、任何合适的功能部件和/或任何合适的用户界面风格。例如,虚拟操作系统用户界面可以通过用于这些功能和/或应用的相应的用户界面元素包括菜单功能、设置功能、一个或多个应用、搜索功能等。
在406处,过程400可以使媒体接收设备使用显示设备呈现虚拟操作系统用户界面。在一些实施方式中,过程400可以使用任何合适的技术或技术的组合来使媒体接收设备呈现虚拟操作系统用户界面。例如,过程400可以使得执行过程400的计算设备(例如,计算设备112)将虚拟操作系统用户界面流式传输到媒体接收设备(例如,媒体接收设备102),作为要由媒体接收设备102呈现的音频和/或视频。在更具体的示例中,虚拟操作系统用户界面可以被流式传输到媒体接收设备102,而无需被执行过程400的计算设备112的显示器(例如,显示/输入设备314)呈现。在这样的示例中,显示/输入设备314可以呈现:与正呈现的虚拟操作系统用户界面有关的信息(例如,指示虚拟操作系统用户界面正被流式传输到媒体接收设备102的信息、标识媒体流式传输设备102的信息、遥控器用户界面等);与虚拟操作系统用户界面无关的应用(例如,电子邮件应用、网页浏览器等);用于计算设备112的操作系统的用户界面;计算设备112的锁定屏幕;和/或根本不显示(例如,显示/输入设备314可以处于诸如低功率状态或关闭状态的禁止显示状态)。
作为另一更具体的示例,虚拟操作系统用户界面可以被流式传输到媒体接收设备102,并且可以同时由计算设备112呈现,使得正由媒体接收设备102使用的显示设备镜像计算设备112的屏幕以呈现虚拟操作系统用户界面。
在408处,过程400可以接收选择虚拟操作系统用户界面的用户界面元素的用户输入。在一些实施例中,可以使用任何合适的技术或技术的组合来选择虚拟操作系统用户界面的用户界面元素。例如,如下文结合图6和8A-8H所述,可以经由向执行过程400的计算设备(例如,计算设备112)发送命令的遥控器(例如遥控器130)来提供选择用户界面元素的输入。作为另一示例,可以经由诸如计算设备112的触摸屏的计算设备112的输入设备来提供用户输入。在更具体的示例中,触摸屏可以被用来呈现遥控器用户界面,该遥控器用户界面可以用来选择正由媒体接收设备102呈现的虚拟操作系统用户界面的用户界面元素。在另一更具体的示例中,触摸屏可以被用来呈现可以被用来输入对正由媒体接收设备102呈现的虚拟操作系统用户界面的媒体内容、应用和/或功能的搜索查询的键盘。在又一更具体的示例中,触摸屏可以被用来将用户输入接收为处于显示禁止状态中的手势,诸如在用户界面元素之间导航的滑动、选择用户界面元素的点击并按下等。
在410处,过程400可以确定是否已经选择了应用。如果还未选择应用(410处的“否”),则过程400可以返回到408并且可以继续接收选择虚拟操作系统用户界面的用户界面元素的输入。例如,如果选择菜单用户界面元素、搜索用户界面元素、设置用户界面元素等,则过程400可以使虚拟操作系统用户界面呈现对应于所选择的功能的适当的用户界面。
否则,如果过程400确定已经选择了应用(在410处为“是”),则过程400可以进行到412。在412处,过程400可以生成用于所选择的应用的应用用户界面。例如,在一些实施方式中,过程400可以使用任何合适的技术或技术的组合来生成应用用户界面。例如,可以基于与应用相关联的指令来生成应用用户界面。在这样的示例中,应用的创建者和/或发布者可以包括用于通过正由媒体接收设备102使用以呈现虚拟操作系统用户界面的显示设备的格式向显示设备呈现应用的用户界面的指令。这些指令可以使得要在电视上呈现与将在智能电话或平板电脑(例如,具有触摸屏界面的计算设备)上呈现的用户界面不同的用户界面,并且该用户界面也不同于将在个人计算机(例如,具有键盘和指示设备,诸如鼠标的计算设备)上呈现的用户界面。相反,在一些实施方式中,这些指令可以使得呈现适合于使用遥控器(例如,遥控器130、由计算设备112呈现的遥控用户界面等)导航的用于电视的应用用户界面。作为另一示例,可以基于从远程服务器接收的指令来生成应用用户界面。在更具体的示例中,应用用户界面可以是从与应用相关联的地址请求的网页。这样的网页可以被用来以适合于显示设备的格式生成应用用户界面。
作为又一示例,执行过程400的计算设备(例如,计算设备112)可以基于用于生成用于计算设备112的应用用户界面的指令来生成应用用户界面。
在414处,过程400可以使得媒体接收设备(例如,媒体接收设备102)使用显示设备来呈现应用用户界面。在一些实施方式中,过程400可以使用任何合适的技术或技术的组合来使媒体接收设备呈现虚拟操作系统用户界面。例如,如上文结合在406处呈现虚拟操作系统用户界面所述,过程400可以使得执行过程400的计算设备(例如,计算设备112)将应用用户界面流式传输到媒体接收设备(例如,媒体接收设备102),作为要由媒体流式传输设备呈现的音频和/或视频。
另外,在一些实施方式中,过程400可以接收用于导航应用用户界面和/或选择要呈现的媒体内容的输入。可以使用任何合适的技术或技术的组合(例如上文结合在408处接收选择虚拟操作系统用户界面的用户界面元素的输入描述的技术)来接收这样的输入。
在416处,过程400可以确定是否已经使用媒体接收设备选择了一个或多个媒体内容项用于呈现。如果过程400确定还没有使用媒体接收设备选择一个或多个媒体内容项用于呈现(在416处为“否”),则过程400可以返回到414并且继续呈现应用用户界面和/或接收导航应用用户界面的输入。
否则,如果过程400确定已经使用媒体接收设备选择了一个或多个媒体内容项用于呈现(“是”),则过程400可以进行到418。在418,过程400可以使得媒体接收设备请求和/或呈现在416处选择的一个或多个媒体内容项。在一些实施方式中,过程400可以使得使用任何合适的技术或技术的组合来呈现一个或多个媒体内容项。例如,过程400可以向媒体接收设备(例如,媒体接收设备102)发送指令以从特定地址请求媒体内容和/或请求对应于特定标识信息的媒体内容。作为另一示例,过程400可以使得所选择的媒体内容流式传输到媒体接收设备(例如,在所选择的媒体内容由执行过程400的计算设备本地存储的情况下,在媒体接收设备102未被配置成直接流式传输媒体内容而由执行过程400的计算设备下载和/或流式传输所选择的媒体内容的情况下等)。作为又一示例,过程400可以使得使用下文结合图9-15E所述的技术(诸如通过使用下文结合除了别的之外的图9所述的发送方应用)呈现一个或多个媒体内容项。
图5示出根据所公开的主题的一些实施方式的用于生成虚拟操作系统用户界面的过程的示例500。在502处,过程500可以接收将在其上呈现虚拟操作系统用户界面的显示设备的一个或多个属性。在一些实施方式中,一个或多个属性可以从任何合适的源接收和/或可以使用任何合适的技术或技术的组合来接收。例如,在一些实施方式中,可以从将使用显示设备呈现虚拟操作系统用户界面的媒体接收设备(例如,媒体接收设备102)接收显示设备的一个或多个属性。在这样的示例中,媒体接收设备102可以(例如,经由通过HDMI连接的通信)与显示设备通信以接收显示器的一个或多个属性。作为另一示例,显示设备的一个或多个属性可以经由用户对执行过程500的计算设备(例如,计算设备112)的输入来接收。作为又一示例,可以从远程服务器接收显示设备的一个或多个属性,作为对指定关于显示设备的信息的查询的响应。在这样的示例中,关于显示设备的信息可以是标识显示设备的品牌的信息、标识显示设备的型号的信息、显示设备的图像等等。
在504处,过程500可以基于应用属性和/或所接收的一个或多个显示属性来选择要被包括在虚拟操作系统用户界面中的一个或多个应用。在一些实施方式中,过程500可以使用任何合适的技术或技术的组合来选择一个或多个应用和/或可以使用任何合适的一个或多个标准来选择一个或多个应用。例如,过程500可以选择提供对媒体内容的访问的应用。作为另一示例,过程500可以响应于来自媒体接收设备102的对媒体内容的请求,选择与直接流式传输到媒体接收设备(例如,媒体接收设备102)的媒体内容兼容的服务相关联的应用。作为又一示例,过程500可以基于应用元数据来选择应用,这指示应用包括用于格式化用于对应于显示设备的设备类型的应用用户界面的指令。作为又一示例,过程500可以基于与使用遥控器(例如,代替或除了使用触摸屏的导航之外)的导航兼容的用户界面来选择应用。
在一些实施方式中,过程500可以从安装在执行过程500的计算设备(例如,计算设备112)上的应用中选择。附加地或可替选地,在一些实施方式中,过程500可以从可以或可以不被安装在计算设备上但是流行用于在正在使用的显示设备的类型上呈现内容(例如,基于所接收的一个或多个设备属性)和/或响应于来自媒体接收设备102的对媒体内容的请求与直接流式传输到媒体接收设备(例如,媒体接收设备102)的媒体内容兼容的服务相关联的应用中选择。在这样的实施方式中,未安装在计算设备上的应用(和/或未安装用于在显示设备上呈现应用用户界面的版本的应用)可以被下载并且安装在计算设备上和/或这样的应用可以由远程服务器执行,并且用于在显示设备上呈现的应用用户界面可以被流式传输到媒体接收设备,作为来自远程服务器的视频对象。
在一些实施方式中,过程500可以选择任何合适类型的应用,诸如用于浏览和/或观看视频内容(例如电影、视频剪辑等)的应用、用于浏览和/或播放音频内容(例如音乐、音频书籍、播客等)的应用、用于浏览和/或观看视觉内容(例如,照片、文本、网页、地图等)的应用和/或任何其它合适类型的应用。
在506处,过程500可以在初始呈现操作系统(例如,操作系统的主屏幕)时选择要呈现的一个或多个应用。在一些实施方式中,过程500可以使用任何合适的技术或技术的组合在初始呈现操作系统时选择要呈现的一个或多个应用。例如,过程500可以基于执行过程500的计算设备使用应用的频率来选择用于初始呈现的应用。作为另一示例,过程500可以基于与媒体接收设备的关联使用应用的频率,选择用于初始呈现的应用。作为又一示例,过程500可以基于与媒体接收设备一起使用的受欢迎程度来选择用于初始呈现的应用。
在508处,过程500可以基于在504和/或506处选择的应用来格式化用于在显示设备上初始呈现的虚拟操作系统用户界面。在一些实施例中,过程500可以使用任何合适的技术或技术的组合以格式化虚拟操作系统用户界面。例如,过程500可以用对应于在504和/或506处选择的应用的用户界面元素来填充虚拟操作系统用户界面。作为另一示例,过程500可以基于存储在执行过程500的计算设备的存储器中的指令来生成图形用户界面元素。
图6示出根据所公开的主题的一些实施方式的用于导航虚拟操作系统用户界面和应用用户界面的过程的示例600。如图6所示,在602处,过程600可以使得使用显示设备由媒体接收设备(例如,媒体接收设备102)呈现虚拟操作系统用户界面,并且可以突出显示对应于第一应用的虚拟操作系统用户界面的用户界面元素。在一些实施方式中,可以使用任何合适的技术或技术的组合突出显示对应于第一应用的用户界面元素。
在604处,过程600可以从与执行过程600的计算设备(例如,计算设备112)通信的遥控器(例如,遥控器130)和/或执行过程600的计算设备的触摸屏接收输入。在一些实施方式中,输入可以对应于用于导航虚拟操作系统用户界面的任何合适的命令和/或指令。例如,输入可以对应于用于使得与当前突出显示的用户界面元素相邻的用户界面元素被突出显示的方向输入(例如上、下、左、右等)。作为另一示例,输入可以对应于将由虚拟操作系统执行的功能(例如,主页、返回、最近应用、搜索、电源等)。
在606处,过程600可以基于在604处接收的输入来导航虚拟操作系统用户界面。例如,过程600可以基于在604处接收的输入来突出显示新的用户界面元素。作为另一示例,过程600可以基于在604处接收的输入,突出显示用于输入搜索查询的搜索用户界面元素。作为又一示例,过程600可以基于在604处接收的输入来选择当前突出显示的用户界面元素。
在608处,过程600可以确定是否已经选择了对应于应用的用户界面元素。如果过程600确定还未选择对应于应用的用户界面元素(608处为“否”),则过程600可以返回到604并且继续接收用于导航虚拟操作系统用户界面的输入。
否则,如果过程600确定已经选择了对应于应用的用户界面元素(608处为“是”),则过程600可以进行到610。在610,过程600可以使媒体接收设备使用显示设备呈现应用用户界面。在一些实施方式中,过程600可以使用任何合适的技术或技术的组合来呈现应用用户界面,诸如上文结合图4的414所述的技术。
在612处,过程600可以从与执行过程600的计算设备(例如,计算设备112)通信的遥控器(例如遥控器130)和/或执行过程600的计算设备的触摸屏接收导航应用用户界面的输入。在一些实施方式中,过程600可以使用任何合适的技术或技术的组合来导航应用用户界面,诸如如上结合604和606所述的导航虚拟操作系统用户界面的技术。
在614,过程600可以确定是否已经接收到关闭应用用户界面和/或以其他方式导航回到虚拟操作系统用户界面的输入。在一些实施方式中,过程600可以基于任何合适的输入来确定将呈现虚拟操作系统用户界面(例如,用户已经选择从应用用户界面导航回到虚拟操作系统用户界面)。例如,过程600可以从指示已经选择遥控器(例如遥控器130)上的“主页”按钮的输入确定要呈现虚拟操作系统用户界面。作为另一示例,过程600可以从指示当正在呈现应用用户界面的主屏的同时已经选择遥控器(例如,遥控器130)上的“返回”按钮的输入确定要呈现虚拟操作系统用户界面。作为又一示例,过程600可以从指示已经调用“最近应用”的输入确定要呈现虚拟操作系统用户界面以向用户呈现已经被用来便于选择那些最近应用中的一个的最近的应用。
如果过程600确定不呈现虚拟操作系统用户界面(614为“否”),则过程600可以返回到610并且继续使得呈现应用用户界面。否则,如果过程600确定要呈现虚拟操作系统用户界面(614处为“是”),则过程600可以返回到602以使得呈现虚拟操作系统用户界面。
图7A-7C示出根据所公开的主题的一些实施方式的将本文所述的机制用于使得虚拟操作系统呈现在来自计算设备112的显示设备上的示例,其可以包括过程400、过程500和过程600中的每一个的至少一部分。
图7A示出根据所公开的主题的一些实施方式,在媒体回放设备106呈现除了虚拟操作系统用户界面之外的内容的同时,计算设备112使用显示器116,呈现包括能由计算设备112执行的多个应用的移动操作系统用户界面的示例。在图7A所示的例子中,移动操作系统用户界面包括对应于用于根据本文所述的机制在显示设备上呈现诸如虚拟操作系统用户界面的用户界面的应用的用户界面元素702。如图7A所示,通知704可以指示媒体接收设备(例如,媒体接收设备102)当前可用于使用媒体回放设备106的显示器108呈现诸如虚拟操作系统用户界面的用户界面。在一些实施方式中,如上结合图4的400所述,启动对应于应用元素702的应用可以使得向过程400提供请求以提供虚拟操作系统用户界面。另外,在一些实施例中,当媒体接收设备102存在时和/或当计算设备112可以使得使用媒体接收设备102呈现虚拟操作系统用户界面和/或媒体内容时,可以呈现通知704。
图7B示出了根据所公开的主题的一些实施方式,在媒体回放设备106呈现除虚拟操作系统用户界面之外的内容的同时,当媒体接收设备102可用于呈现诸如虚拟操作系统用户界面的用户界面时,由计算设备112呈现的移动操作系统用户界面的示例。在一些实施方式中,用户可以执行预定动作,诸如从计算设备112的触摸屏的顶部边框滑动以导航至通知屏。
图7C示出根据所公开的主题的一些实施方式,在媒体回放设备106呈现除了虚拟操作系统用户界面之外的内容的同时,计算设备112的移动操作系统用户界面的通知屏的示例。在一些实施方式中,可以在用于告知用户媒体接收设备102可用于呈现虚拟操作系统用户界面的通知屏中呈现通知706。在一些实施方式中,通知706可以包括标识媒体接收设备的信息(例如,诸如“起居室TV”的语义上有意义的名称)以及指示选择该通知将导致在连接到媒体接收设备102的显示设备(例如媒体回放设备106)上呈现虚拟操作系统用户界面的信息。
图8A-8H示出根据所公开的主题的一些实施方式,将本文所述的机制用于使用计算设备112和遥控器130,在显示设备上呈现和导航诸如虚拟操作系统用户界面的用户界面的示例,其可以包括过程400、过程500和/或过程600中的每一个的至少一部分。
图8A示出根据所公开的主题的一些实施方式,由计算设备112生成的、流式传输到媒体接收设备102并且使用媒体回放设备106的显示器108呈现的虚拟操作系统用户界面的示例。如上结合图6的602所述,可以突出显示虚拟操作系统用户界面的第一应用用户界面元素802,如图8A中用黑框所示。然而,这仅仅是示例,并且可以使用任何合适的技术或技术组合来突出显示应用元素802。请注意,尽管在图8A中仅示出了对应于应用的用户界面元素,但这仅仅是为了方便,并且对应于操作系统的其他功能,诸如菜单功能、设置功能、搜索功能等的用户界面元素可以被包括在由显示器108呈现的用户界面中。
如图8A所示,用户可以按下遥控器130上的按钮,诸如“右”方向按钮,以控制在显示器108上呈现的用户界面。在一些实施方式中,按下如图8A所示的右方向按钮可以使得“向右”命令(例如,经由上文结合图1所述的通信链路132)从遥控器130发送到计算设备112。响应于该命令,在一些实施方式中,计算设备112可以改变和/或更新正被发送到媒体接收设备102的视频数据,以示出现在突出显示和可选择新的应用用户界面元素804,如图8B所示。
图8B示出由计算设备112生成的、流式传输到媒体接收设备102并且使用媒体回放设备106的显示器108呈现的、具有突出显示的第二应用元素804的虚拟操作系统界面的示例。如图8B所示,用户可以按下遥控器130上的按钮,诸如“OK”,以控制显示器108上呈现的用户界面来选择当前突出显示的用户界面元素。在图8B所示的示例中,第二应用元素804将被选择,其指示计算设备112将启动对应于第二应用元素804的应用(例如,电影应用)。
图8C示出由计算设备112生成、流式传输到媒体接收设备102并且使用媒体回放设备106的显示器108呈现的用于在图8B的示例中选择的应用的应用用户界面的示例。在一些实施方式中,如上结合图4的412和图6的610所述,由计算设备生成和/或呈现应用用户界面。如图8C所示,应用用户界面包括对应于可从与应用相关联的服务提供商获得的媒体内容项(例如,电影),包括突出显示为可选的第一电影806(例如,图8C中的电影“#1”)的用户界面元素。如图8C所示,用户可以按下遥控器130上的“OK”按钮来选择当前突出显示的电影。
图8D示出在图8C的示例中选择的、由媒体接收设备102接收的并且使用媒体回放设备106的显示器108呈现的媒体内容项的示例。如上结合图4的418所述,以及如下结合图9的918和图10的1002所述,响应于来自媒体接收设备102的对媒体内容项的请求,可以由媒体接收设备102从远程内容服务器(例如,内容分发服务器120)接收使用显示器108呈现的媒体内容。另外,如下结合图10的1006和图11的1108所述,可以将来自计算设备112的信号发送到媒体接收设备102以控制媒体内容项的回放。如图8D所示,用户可以按下遥控器130上的“播放/暂停”按钮,以基于其当前状态,使当前正由媒体接收设备102呈现的媒体内容项暂停和/或取消暂停。可以将“播放/暂停”命令从遥控器130发送到计算设备112,反过来,该计算设备112可以将该指令发送到媒体接收设备102以暂停或取消暂停当前正呈现的媒体内容。
图8E示出响应媒体接收设备102从计算设备112接收暂停指令,在以暂停状态呈现的图8D的示例中呈现的媒体内容项的示例。如图8E所示,用户可以按下遥控器130上的“返回”按钮以使得呈现前一用户界面,诸如被用来选择当前由媒体接收设备102呈现的媒体内容项的应用的应用用户界面。
图8F示出被用来选择由计算设备112生成、流式传输到媒体接收设备102并且使用媒体回放设备106的显示器108呈现的、图8D和8E的示例中呈现的媒体内容的应用的应用用户界面的示例。如图8F所示,用户可以按下遥控器130上的“主页”按钮以使虚拟操作系统用户界面呈现。
图8G示出由计算设备112生成、流式传输到媒体接收设备102且使用媒体回放设备106的显示器108呈现的虚拟操作系统用户界面的示例。如图8F所示,用户可按下遥控器130上的“电源”按钮以禁止呈现在计算设备112的请求下呈现的虚拟操作系统用户界面和/或媒体内容。
图8H示出响应计算设备112断电媒体接收设备102和/或改变将使用显示器108呈现的输入源的指令,呈现来自除媒体接收设备102外的源的内容的媒体回放设备106的显示器108的示例。附加或可替选地,不是将输出切换到备用源,而是电源命令可以使媒体接收设备102向媒体回放设备106发送关闭电源的指令。
图9示出根据所公开的主题的一些实施方式的用于呈现媒体内容的过程的示例900。在902,可以在具有发送方应用的计算设备上启动内容呈现应用。内容呈现应用可以包括任何合适的内容呈现功能,诸如发现和/或浏览要呈现的内容,使得能够渲染和/或呈现诸如视频和/或音频内容(其可以包括静止图像)的内容的软件。
在一些实施方式中,发送方应用可以作为内容呈现应用的一部分并且/或者作为可以由运行内容呈现应用的计算设备(例如,计算设备112)的操作系统执行的单独的应用被包含。在一些实施方式中,发送方应用可以是用于与接收方应用通信的应用编程接口(API),例如,如下所述。这样的发送方应用可以被配置为从诸如计算设备112的计算设备接收命令,并将这些命令发送到媒体接收设备(例如,媒体接收设备102)。除其他之外,发送方应用可以指令计算设备执行以下功能:使运行应用的计算设备发现媒体接收设备(例如,在家庭网络上的媒体接收设备102等)的存在;接收运行发送方应用的计算设备要与之进行通信的媒体接收设备的选择;并且与所选择的媒体接收设备建立一个或多个通信信道以能够发送和/或接收通信。
在一些实施方式中,发送方应用可以包括标准软件指令集,诸如软件开发人员工具包(SDK)(例如,内容发送方SDK)的一个或多个部分,用于执行除了别的之外的上述内容功能。发送方应用可以例如展示诸如播放、暂停、停止和音量控制的媒体接收设备(诸如媒体接收设备102)的某些控件。此外,发送方应用可以周期性地从媒体接收设备接收关于例如媒体内容项是否在被播放、媒体内容项的标识、媒体内容项的时间等的状态更新。
在一些实施方式中,发送方应用可以响应于计算设备启动内容呈现应用而启动。或者,当计算设备被启动并作为后台应用运行时,发送方应用可以启动,或响应于用户选择与用于使用发送方应用在媒体接收设备上呈现媒体内容的功能相对应的图标而启动。
在904,内容呈现应用可以使用运行内容呈现应用的计算设备来发现和/或浏览内容。例如,内容呈现应用可以是允许应用的用户查看视频共享服务的用户上传的视频的视频共享服务的应用。这样的内容呈现应用可以允许应用的用户使用搜索功能、建议、策划列表、频道、随机地或用于促进用户发现和/或浏览内容的任何其他合适的技术发现要观看的视频。作为另一示例,内容呈现应用可以是Web浏览器,其可以除了别的之外允许用户发现和/或浏览网页。
在906处,发送方应用可以使运行发送方应用的计算设备发现存在于计算设备所连接到的网络(例如,家庭网络)上的媒体接收设备(例如,媒体接收设备102)。可以使用任何合适的技术来发现设备,诸如将消息多播到在网络上的特定地址,并且启动事件监听器以监听来自接收到多播消息的网络上的设备的回复。此外,在一些实施方式中,与执行过程900的设备相关联的事件监听器可以监听从媒体接收设备(例如,媒体接收设备102)发送的消息,其可能不是对先前由这样的设备发送的多播消息的响应。这样的消息可以是由媒体接收设备发送的广播、多播或单播消息。在一些实施方式中,响应于计算设备启动内容呈现应用和/或启动发送方应用、响应于用户选择如下面结合910描述的“发送”图标,周期性地或在任何其他合适的时间,发送方应用可以在906处启动和发现设备。
在908,内容呈现应用可以接收要呈现的媒体内容项的用户指示,并且媒体内容项的呈现可以在运行内容呈现应用的计算设备上开始。附加地或可替选地,所选择的媒体内容项可以在选择时不在计算设备上呈现,而是内容呈现应用可以等待用户指令来呈现媒体内容项。
在910,内容呈现应用和/或发送方应用可以确定用户是否已经选择了“发送”图标(或者用于将媒体内容项发送到媒体接收设备的任何其他合适的指示,诸如语音命令,输入文本命令等)以将所选择的媒体内容项发送到媒体接收设备(例如,媒体接收设备102)。可以使用任何合适的技术(例如,通过从运行内容呈现应用的计算设备接收到指示已经接收到“发送”图标的用户选择的信号)来确定用户是否选择了“发送”图标。如果内容呈现应用和/或发送方应用确定尚未接收到“发送”图标的用户选择(在910处为“否”),则过程900可以返回到908并继续呈现所选择的媒体内容项(如果被呈现)。否则,如果内容呈现应用和/或发送方应用确定已经接收到“发送”图标的用户选择(在910处为“是”),则处理900可以进行到912。
在912,发送方应用可以使运行发送方应用的计算设备呈现可以使所选择的媒体内容项被呈现的媒体接收机设备的列表。可以基于在906处发现的媒体接收设备来创建媒体接收设备(例如,包括媒体接收设备102)的列表。在一些实施方式中,先前已经用于使用发送方应用呈现媒体内容项的设备可以被包括在该列表中,无论设备在906处是否响应于发现请求。例如,先前已经使用的设备可以在设备列表中呈现给用户,并指示未发现该设备(例如,设备在网络中脱机或不在线)。在一些实施方式中,例如,如果用户先前已经选择了用于呈现内容的默认媒体接收设备,和/或如果在906处的设备发现期间仅检测到一个媒体接收设备,则可以省略向用户呈现设备列表。在一些实施方式中,响应于在910处选择“发送”用户界面元素(例如,响应于910处的“是”),以及/或在任何其他合适的时间,可以在908处与内容呈现并行地执行在906处的设备发现。
在914,发送方应用可以接收媒体接收设备用于呈现在908所选择的内容的指示。例如,发送方应用可以从运行设备的发送方应用的计算设备接收信号,该设备被用户选择为用于呈现在908所选择的媒体内容项的媒体接收设备。
在一些实施方式中,响应于在914接收到媒体设备的选择,可以发起运行发送方应用的计算设备和所选择的媒体接收设备之间的通信会话。该会话的发起可以使得在运行发送方应用的通信设备和运行接收方应用的所选择的媒体接收设备之间创建安全的连接。该会话可以包括通过网络发送对所选择的媒体接收设备的呼叫,并且启动用于使得使用所选择的媒体接收设备呈现在908处选择的媒体内容项的应用。
在一些实施方式中,发起会话可以进一步包括启动用于从在所选择的媒体接收设备上运行的接收方应用接收通信的监听器。在会话被发起之后,可以创建用于在运行内容呈现应用的计算设备上运行的发送方应用与在所选择的媒体接收设备上运行的接收方应用(下面结合图10描述)之间直接通信的信道。该信道可以用于从运行发送方应用的计算设备向运行接收方应用的所选择的媒体接收方应用发送命令,诸如呈现所选择的媒体内容项的命令、播放媒体内容项的命令、暂停媒体内容项的命令等。如上所述,当在其间建立信道时,运行发送方应用的计算设备和媒体接收设备在这里有时被称为是配对设备。附加地或可替选地,在一些实施方式中,发送方应用可以发送任何合适的命令和/或指令,诸如用于通过上述信道和/或使用非持久连接呈现特定内容(例如,在908上选择的内容)的命令和/或指令。例如,可以通过使用暂时性信道向媒体接收设备发送请求(例如,使用寻址到媒体接收设备的超文本传输协议消息进行通信),通过非持久连接来发送命令和/或指令。在一些实施方式中,在媒体接收设备的初始化周期期间和/或当媒体接收设备的接收方应用启动时,在建立持久连接之前、在持久通信信道的初始化期间和/或在任何其它合适的定时,可以使用非持久连接来发送某些命令和/或指令。
在一些实施方式中,当在运行发送方应用的计算设备和媒体接收方设备之间创建信道时,发送方应用可以发送指令以启动与用于在904处发现和/或浏览内容和/或在908处选择内容的内容呈现应用相对应的内容流式传输应用。
在916,发送方应用可以确定媒体内容项的源是本地的(例如,在运行发送方应用的计算设备上)还是远程的(例如,在内容分发服务器上、在网络附加储存上、在网络上的个人计算机上等)。如果发送方应用确定媒体内容项的源是远程的(在916处为“REMOTE”),则过程900可以进行到918。
在918处,发送方应用可以使所选择的媒体接收设备使用任何合适的通信协议来从从其可获得内容项的远程源(例如,远程服务器、网络附加储存等)请求内容项,该任何合适的通信协议例如是超文本传输协议(HTTP)、任何合适的流传输协议、文件传输协议(FTP)、对应于数字生活网络联盟(DLNA)标准的协议或任何其它合适协议。在一些实施方式中,如果由运行内容呈现应用的计算设备呈现媒体内容项,则媒体接收方应用可以使当计算设备中断呈现媒体内容项时呈现媒体内容项。
否则,如果发送方应用确定媒体内容项的源是本地的(在916处为“LOCAL”),则过程900可以进行到920。
在920,发送方应用可以使运行内容呈现应用的计算设备通过网络将内容发送到所选择的媒体接收设备。然后,发送方应用可以使用在运行发送方应用的计算设备和所选择的媒体接收设备之间建立的信道来使所选择的媒体接收设备呈现内容。在一些实施方式中,用于从执行过程900的设备(例如,计算设备112)向所选择的媒体接收设备(例如,媒体接收设备102)发送内容的信道可以与用于发送命令和/或指令到媒体接收设备102的信道分离。例如,用于发送命令和/或指令的信道可以是控制信道,而用于发送内容的信道可以是数据信道。或者,可以通过与命令和/或指令相同的信道发送内容。
在一些实施方式中,媒体内容项可以包括网页或由计算设备112呈现的网页的一部分。在这样的实施方式中,网页可以被认为是本地存储的媒体内容项,并且可以是从计算设备112直接传输到作为视频对象的媒体接收机102(例如,通过诸如家庭网络的网络)(例如,网页可以由计算设备112呈现,并且与内容相对应的视频可被传送到媒体接收机102)。或者,网页可以被认为是远程媒体内容项,并且可以由媒体接收设备102请求并使用例如由媒体接收设备102启动的web浏览器应用进行呈现。
图10示出使用运行接收方应用的媒体接收设备来接收和呈现媒体内容的过程的示例1000。如上所述,媒体接收设备(例如,媒体接收设备102)可以运行用于从运行发送方应用的计算设备接收请求和命令的接收方应用。当从发送方应用接收到发现请求时,接收方应用可以使得媒体接收设备响应于发现请求,并响应于发送方应用指示要建立信道而与发送发现请求的计算设备建立控制和/或数据信道。
在一些实施方式中,接收方应用可以是用于如上所述与发送方应用通信的应用编程接口(API)。这样的接收方应用可以由媒体接收设备(例如,媒体接收设备102)执行以从运行在诸如计算设备112的计算设备上的发送方应用接收命令。除了别的事情之外,接收方应用可以执行以下功能:响应于由运行发送方应用的计算设备发送的发现请求;与计算设备建立一个或多个通信信道以能够发送和/或接收通信;下载和/或启动用于呈现内容的流式传输应用;以及将通过所述一个或多个通信信道接收的指令中继给所述媒体接收设备正在使用来呈现媒体内容项的流式传输应用。
在一些实施方式中,接收方应用可以包括标准软件指令集,诸如用于执行上述功能的软件开发方工具包(SDK)(例如,内容接收机SDK)的一个或多个部分。例如,接收方应用可以启动用于从运行发送方应用的计算设备(例如,计算设备112)接收发现请求的监听器,创建与计算设备的持久连接以发送和接收命令和/或消息,下载和呈现流式传输应用,从运行发送方应用的计算设备接收命令,并将命令中继到流式传输应用(例如,以默认格式或以特定于与流式传输应用相关联的内容源的格式)。此外,接收方应用可以周期性地从媒体接收设备发送关于例如媒体内容项是否被播放、媒体内容项的标识、媒体内容项的时间等的状态更新。在一些实施方式中,特定于特定内容呈现应用和/或内容流式传输应用的命令可以由接收方应用发送和/或接收。这样的应用特定命令可以经由发送方应用和接收应用从内容呈现应用中继到流式传输应用,反之亦然。例如,需要认证令牌来接收和呈现媒体内容项的流式传输应用可以通过接收方应用和发送方应用从内容呈现应用请求这样的认证令牌。
在一些实施方式中,接收方应用可以响应于媒体接收设备被启动(例如,上电)而启动。此外,接收方应用可以作为后台应用运行和/或响应于在从发送方应用接收发现请求的媒体接收设备上运行的监听器应用而启动。
在一些实施方式中,运行接收方应用的媒体接收设备可以接收指令以启动与在运行发送方应用的计算设备上运行的内容呈现应用相对应的内容流式传输应用。这样的指令可以包括其中可以下载内容流式传输应用的地址信息(例如,URI、URL、URN、IP地址和/或任何其他合适的地址信息)、与内容流式传输应用相对应的软件、要启动的预先安装的内容流式传输应用的指示或用于启动内容流式传输应用的任何其他合适的指令。
在一些实施方式中,接收方应用可以使得媒体接收设备从接收到的地址下载内容流式传输应用。然后可以由媒体接收应用呈现内容流式传输应用,以便呈现内容项(例如,在908选择的内容项)。内容流式传输应用可以包括用于使媒体接收设备在连接的媒体回放设备上呈现内容项的任何合适的软件。例如,流式传输应用可以包括超文本标记语言(HTML)、JavaScript(JS)或任何其它合适的编程语言。
在一些实施方式中,当接收方应用启动内容流式传输应用时,接收方应用可以使得创建应用场境。例如,可以创建识别为“Fling”的应用场境作为由内容流式传输应用从接收方应用接收的消息的来源。在一些实施方式中,当内容流式传输应用完成被呈现时,接收方应用可以为从发送方应用接收的命令设置任何合适的目标。例如,接收方应用可以将内容流式传输应用的视频标签设置为从发送方应用接收的命令的目标。作为另一示例,接收方应用可以将内容流式传输应用的视频元素设置为从发送方应用接收的命令的目标。然后,当从发送方应用接收到命令时,这些命令可以由媒体接收设备执行。附加地或可替选地,可以将从发送方接收的命令的目的地设置为特定的事件处理程序,其可以接收命令并确定如何对所接收的命令进行适当的响应。
在1002,运行接收方应用的媒体接收设备(例如,媒体接收设备102)可以在已经启动流式传输应用之后使由发送方应用指定的内容呈现在媒体回放设备(例如,媒体回放设备106)上。可以从发送方应用指定的特定地址请求内容,和/或可以从运行发送方应用的计算设备接收内容。
在1004,运行接收方应用的媒体接收设备可以周期性地向已经与其建立了信道的任何计算设备发送状态。这样的状态可以包括例如播放/暂停状态、媒体内容项的完成百分比、与正在呈现的媒体内容项有关的元数据和/或任何其它合适的信息。
在1006,运行接收方应用的媒体接收设备可以接收来自耦合到媒体接收应用的计算设备的指令。例如,指令可以包括播放命令、暂停命令、音量命令等。
在1008,运行接收方应用的媒体接收设备可以基于从耦合设备接收的指令来执行动作。例如,响应于接收到暂停命令,媒体接收设备可以指令正使媒体内容项被呈现的流式传输应用暂停媒体内容项的呈现。在1008执行任何动作之后,过程1000可以返回到1004并继续发送状态更新。在一些实施方式中,运行发送方应用的计算设备可以发送对于状态更新的请求,并且接收方应用可以使状态更新异步地发送(例如,不与特定的周期相对应,每当接收到来自命令的预定子集的命令时可以发送状态更新,等等)。
在一些实施方式中,媒体接收设备可以被配置为支持单个并发媒体流播放。例如,可以配置在媒体接收设备上运行的文档对象模型(DOM),使得在任何给定时间只能创建和/或执行一个有效视频元素。
在一些实施方式中,媒体接收设备可以被配置为呈现以预定格式子集之一接收的媒体内容。可以使用任何合适的视频和/或音频格式,其可以包括任何合适的视频和/或音频编码和/或解码协议、代码、软件等。例如,媒体接收设备可以支持数字版权管理(DRM)格式的预定子集,例如Widevine、Playready或任何其他合适的DRM格式。作为另一示例,媒体接收设备可以支持视频格式的预定子集,例如VP8或者任何其它合适的视频格式。作为另一示例、媒体接收设备可以支持音频格式的预定子集,例如MP3、CELT/OPUS或任何其它合适的音频格式。作为另一示例,媒体接收设备可以支持诸如MP4、分段MP4(fMP4)、WebM或任何其它合适的音频-视频格式的音频-视频格式(例如,容器格式)的预定子集。作为进一步的示例,媒体接收设备可以支持媒体流式传输格式的预定子集,例如基于任何合适的流式传输技术的自适应比特率流式传输或任何其它合适的媒体流式传输格式。在一些实施方式中,由媒体接收设备接收的音频和/或视频可以使用任何合适的加密技术进行加密。例如,由媒体接收设备接收的音频和/或视频可以使用公共加密方案(CENC)或任何其他合适的加密方案进行加密。
在一些实施方式中,由发送方应用发送的命令可以包括:
LOAD
在一些实施方式中,LOAD命令可以包括用于“source”的字段,其可以包含〈content id〉、“title”的字段、“autoplay”的布尔(例如,真/假)字段、“content_info”字段和/或任何其它合适的字段。此命令可用于将新内容加载到媒体播放器中。〈content id〉可以包含要加载的媒体的标识,其可以具有任何合适的格式。例如,〈contentid〉可以包括统一资源标识符(URI)、统一资源定位符(URL)、统一资源名称(URN)、IP地址和/或用于指定内容和/或内容项的特定源的任何其他合适信息。在一些实施方式中,〈内容id〉可以包括源的标识信息和/或从源可获得的媒体内容项的标识信息。该字段的格式可以由内容呈现应用、内容流式传输应用、媒体播放器和/或使用任何其他合适的技术来定义。
如果在LOAD中将autoplay字段指定为“真”,则内容流式传输应用可以在它被加载时开始播放内容。在一些实施方式中,即使没有指定autoplay,也可以将媒体流式传输应用配置为立即开始播放。如果播放开始,则在状态消息中的播放器状态可以被设置为“PLAYING(播放)”,否则它可以设置为“STOPPED(停止)”。
title字段可以可选地为正在加载的内容提供用户可读的描述性字符串。如果提供的话,该内容流式传输应用可以使用该字符串作为从内容流式传输应用和/或接收方应用发送的每个STATUS对象的title字段的初始值。无论是否在LOAD消息中提供标题,内容流式传输应用可以基于内容流式传输应用的实施方式在任何点修改title字段。
content_info字段可以包含JSON对象,该对象可以提供与正在加载的内容有关的更深入的信息,例如,电视服务的标识、剧集号等。如果提供,则可以将content_info对象用作每个STATUS消息(如下所述)的content_info字段的初始值。内容流式传输应用和/或接收方应用可以在任何点,基于例如利用要呈现的媒体内容项接收的元数据来修改content_info。
PLAY
在一些实施方式中,PLAY命令可以使得利用加载调用加载的内容的播放开始,和/或可以改变当前加载的内容的播放位置。PLAY命令可以包括position字段,它可以以秒为单位给出,并且可以指定当前内容中从其开始播放的位置。如果未指定位置,则可以从当前位置继续播放。如果提供的位置在当前内容的有效位置的范围之外,则内容流式传输应用可以确定尽可能地接近所请求的位置的有效位置。在一些实施方式中,当接收到PLAY命令时,STATUS消息可以被接收方应用发送到配对的计算设备。
STOP
在一些实施方式中,STOP命令可以使得内容的播放停止。在一些实施方式中,当接收到STOP命令时,STATUS消息可以被接收方应用发送到配对的计算设备。
VOLUME
在一些实施方式中,VOLUME消息可以使得媒体接收设备(例如,媒体接收设备102)输出的音量被调整,和/或可以使得向连接到媒体流式传输设备的媒体回放设备发出命令以更改媒体回放设备输出的音量。VOLUME消息可以包括要设置的音量的字段。这样的字段可以被给出为在预定范围中的数字(例如0.0至1.0),其中每个十进制值可以对应于特定的音量。另外,在一些实施方式中,VOLUME消息可以包括用于指定音量被静音或取消静音(例如,基于音量的当前状态)的muted字段。在一些实施方式中,muted字段可以是布尔标志,其如果为真,则如果当前未静音那么可以使得音量静音,并且如果当前静音,则取消静音,而其如果为假,则可以使得对当前静音状态不采取任何动作。
STATUS
STATUS消息可以从在媒体接收应用上运行的内容流式传输应用和/或接收方应用发送到在配对的计算设备上运行的发送方应用和/或内容呈现应用。该状态消息可以包含与内容流式传输应用和/或内容流式传输应用当前正在呈现的内容的状态相关的状态信息。这种状态信息可以包括状态对象。
在一些实施方式中,状态对象可以包括用于“event_sequence”、“state”、“active_input”、“content_id”、“title”、“time_progress”、“current_time”、“duration”、“volume”、“content_info”、“identity”、“error”的字段和任何其他合适的字段。
在一些实施方式中,“event_sequence(事件序列)”可以包括可用于识别响应于操作(例如,LOAD、PLAY等)而接收的状态事件的相对位置的序列号,以及从非请求状态更新(例如,定期更新)接收的那些。当响应于操作接收到状态事件时,可以忽略以小于响应的序列号的序列号接收的任何状态事件。此外,播放器状态消息可以在与用于发送和/或接收命令的信道分开的信道上递送。因此,event_sequence会变得相对于命令而失序。
在一些实施方式中,“状态”可以包括内容和/或内容流式传输应用的当前状态。在一些实施方式中,这可以由从零到2的整数表示,使得:0对应于IDLE,1对应于STOPPED,2对应于PLAYING。在一些实施方式中,如果“state(状态)”对应于IDLE,则可以忽略除“sequence_number”和“error”之外的所有字段。
在一些实施方式中,“active_input”可以是布尔(例如,真/假)字段,其用于指示正由执行内容流式传输应用的设备输出的内容是否正由耦合到执行内容流式传输应用的设备的显示器呈现。例如,“active_input”可以指示执行内容流式传输应用的设备耦合到的电视机的电视的HDMI输入端口是否是电视的当前选择的输入。
在一些实施方式中,“content_id”可以包括由内容流式传输应用当前加载的内容的服务特定标识符,其可以是自由格式的字符串,并且可以特定于内容流式传输应用。
在一些实施方式中,“title(标题)”可以包括由内容流式传输应用当前加载的内容的描述标题。在一些实施方式中,内容流式传输应用可以基于在LOAD消息中给出的“content_id”或“title”独立地检索标题信息。
在一些实施方式中,“time_progress”可以包括当前加载的内容的媒体时间是否正在进行的指示。在一些实施方式中,如果“time_progress”的值为假,则可以指令运行发送方应用的计算设备停止推断媒体时间。在一些实施方式中,由于媒体时间可以在任何状态(例如,因为错误、因为缓冲等)而停止,所以“time_progress”可以独立于“状态”。
在一些实施方式中,“current_time”可以包括内容流式传输应用相对于内容的开头的当前位置,其可以以秒为单位给出。如果内容是直播流内容,则“current_time”可以表示从直播流开始起的以秒为单位的时间。
在一些实施方式中,“duration(持续时间)”可以包括可以以秒为单位给出的当前播放内容的持续时间的表示。如果内容是直播流,则该字段可以设置为null(空)。
在一些实施方式中,“音量”可以包括当前音量水平,其可以例如由0.0和1.0之间的值指示。
在一些实施方式中,“content_info”可以包括可以提供与当前内容有关的深入信息的服务特定对象。在一些实施方式中,可以由发送方应用在LOAD消息中提供“content_info”的初始值。在一些实施方式中,内容流式传输应用可以修改“content_info”的内容以提供由内容流式传输应用获得的信息。
在一些实施方式中,“identity(标识)”可以包括自动识别的认证令牌。当与诸如服务提供商内容递送网络、数字版权管理服务器和/或任何其它合适的外部系统之类的外部系统进行通信时,可以使用认证令牌。认证令牌可用于识别在与外部系统通信时运行接收方应用的媒体接收设备,而不使用例如可以增强数字接收设备的隐私和安全性的操作系统标识或设备标识令牌。
在一些实施方式中,“error(错误)”可以包括媒体接收设备遇到的最近的一个错误。如果没有遇到错误,则将“error”可以设置为null(空)。另外,“error”可以包括可以用于提供与独立应用(诸如接收方应用、内容流式传输应用等)相对应的错误的“ErrorDomain(错误域)”。
在一些实施方式中,多个计算设备112可以用于使用相同或不同的内容呈现应用将内容发送到公共媒体回放设备。在这种实施方式中,媒体接收设备102可以被配置为中断当前正在呈现的内容、将新发送的内容添加到在呈现当前正在呈现的内容之后要呈现的队列中、返回指示内容的显示已被禁止的消息或用于确定要呈现哪个内容的任何其他合适的技术。在一些实施方式中,在媒体接收设备102上运行的内容流式传输应用的设置可以确定是否中断当前呈现的内容、是否将新的内容项添加到队列、是否拒绝接受新的内容项或用于确定要呈现哪个内容的任何其他技术。
图11示出根据所公开的一些实施方式的用于从运行发送方应用的计算设备的锁定屏幕生成要发送到媒体接收设备的命令的过程的示例1100。在1102,媒体接收设备(例如,媒体接收设备102)可以通过响应于来自计算设备(例如,计算设备112)的合适命令开始内容的回放来使得呈现内容。
在1104,运行发送应用的计算设备112可以进入计算设备的锁定屏幕,其可以是下述屏幕,其中用户必须在访问计算设备的功能部件的一些之前执行“解锁”计算设备的动作。附加地或可替选地,计算设备112可以进入“休眠模式”,其中计算设备可以进入低功率状态(例如,通过关闭显示器)。在一些实施方式中,计算设备可以响应于某些事件(诸如接收消息(例如,电话呼叫、文本消息等)、特定的用户输入(例如,在特定按钮上的按下按钮、用户对计算设备的特定移动等)和/或任何其它合适的事件)从睡眠模式唤醒。
在1106,如果计算设备112处于睡眠模式,则如上所述,计算设备106可以接收从睡眠模式唤醒的指示。
在1108,计算设备112可以接收用户输入,并且发送方应用可以响应于用户输入而生成发送到媒体接收设备102的命令。
在一些实施方式中,与使得使用媒体接收设备呈现媒体内容的计算设备不同的第二计算设备可以耦合到媒体接收设备,并且可以控制媒体接收设备上的内容的呈现。例如,第二计算设备可以耦合到媒体接收设备,该媒体接收设备正用于通过选择用于与媒体接收设备配对的图标来在媒体回放设备上呈现内容。可以选择特定设备,并且如果第二计算设备满足指定的标准(例如,在相同网络上、允许耦合到媒体接收设备、媒体接收设备被配置为接受来自多个计算设备的控制等等),则第二计算设备可以被耦合并且可以控制媒体内容在媒体接收设备上的呈现。
在一些实施方式中,耦合到媒体接收设备的第二计算设备可以用于例如从锁定屏幕来控制媒体内容的呈现的某些属性。此外,不具有用于呈现内容项的特定内容呈现应用的第二计算设备仍然可以用于控制内容项的呈现的方面,诸如播放/暂停、音量、查找等,但是可能被禁止发现和/或浏览附加的媒体内容项。
图12A示出根据一些实施方式的锁定屏幕用户界面的示例。在图12A所示的示例中,计算设备112已经使媒体接收设备102呈现要在媒体回放设备106的显示器108上呈现的媒体内容项。在一些实施方式中,在运行发送应用的计算设备112的锁定屏幕中,可以向所述用户呈现关于正在呈现的媒体内容的标识的信息,其可以包括标题信息、剧集信息等。锁定屏幕还可以包括用于控制媒体回放设备106上的媒体内容项的回放的控件1202-1206。例如,锁定屏幕可以包含播放图标1202,其可以用于控制播放还是暂停(或停止)媒体内容项的呈现,可以使用来控制这种行为的向后寻找或前一内容项图标1204和向前寻找或下一内容项图标1206。在一些实施方式中,如果计算设备112检测到对控件1202-1206之一的用户输入,则发送方应用可以制定可以通过在计算设备112和媒体接收设备102之间建立的信道发送的相应命令。媒体接收设备102可以使用接收方应用接收命令,并且使得呈现内容的内容流式传输应用可以响应于所接收的命令来控制内容的呈现。
在一些实施方式中,锁定屏幕可以包括其他用户界面项和/或信息,诸如:可以用于从特定位置播放媒体内容的滑动条(scrubber)(例如,指示媒体内容的进度时间的条);预览功能,其可以在使用滑动条对特定时间的用户选择指示的时间处向用户呈现内容的屏幕截图;用于呈现通过锁定屏幕上呈现的标题识别的内容的媒体接收设备的标识;和/或任何其他合适的信息或界面项。
图12B示出根据所公开的主题的一些实施方式的来自计算设备的锁定屏幕的音量控件的示例。在图12B所示的示例中,锁定屏幕中的计算设备112可以例如响应于用户按压音量控件118来检测音量控件118的激活。在一些实施方式中,响应于计算设备112在使用媒体接收设备102呈现媒体内容期间检测到锁定屏幕中的音量控件118的激活,发送方应用可以向媒体接收设备发送作为VOLUME命令的用于改变音量的命令。指定的音量可以改变音量控件118的每次激活的预定量(例如,对于每次按压,音量可以改变0.1)。在一些实施方式中,媒体接收设备102可以响应于接收方应用接收VOLUME命令而使得输出音量被改变,并且可以使当前音量1210被呈现在媒体回放设备106的显示器108上。
图13示出根据所公开的一些实施方式的用于控制从计算设备上提供的通知中的媒体内容项的呈现的过程的示例1300。在1302,媒体接收设备(例如,媒体接收设备102)可以通过响应于来自计算设备(例如,计算设备112)的合适命令开始播放内容来使内容被呈现。
在1304,使得内容被呈现的计算设备112可以导航离开用于发起内容呈现的内容呈现应用。例如,响应于用户指令计算设备112打开Web浏览器应用,计算设备112可以打开Web浏览器应用。作为另一示例,响应于用户导航到计算设备112的主屏幕,可以将内容呈现应用最小化或放入后台模式。
在1306,运行在计算设备112上的发送方应用可以使用媒体接收设备102接收正在呈现的内容的状态。响应于接收内容的状态,可能例如正在后台状态下运行的发送方应用和/或内容呈现应用可以创建和/或更新与内容的状态相关的通知。在一些实施方式中,计算设备112可以将这样的通知放置在可以通过接收预定输入来访问的通知中心或通知页面中。
在1308,计算设备112可以通过在1306处创建和/或更新的通知来接收输入以控制内容的呈现。例如,计算设备可以响应于接收到预定输入而打开通知页面,并且可以接收与特定命令相对应的进一步输入。更具体地,可以接收可以与暂停命令相对应的输入,并且发送方应用可以响应于在通知中接收到这样的输入而生成暂停命令。作为另一示例,可以接收可以与打开内容呈现应用的指令相对应的输入。
图14A-14F示出根据所公开的主题的一些实施方式的使用与计算设备112一起使用的本文描述的用于呈现内容的机制的示例,其可以来包括过程900和过程1100中的每一个的至少一部分。
图14A示出用于使用显示器116来呈现媒体内容项的计算设备112的示例。在图14A中所示的示例中,媒体内容项可以是使用内容呈现应用来呈现的电视剧的剧集,该内容呈现应用允许用户访问便于电影和电视节目流在各种设备上播放的服务。内容呈现应用的用户界面可以包括图标1402,其使得在计算设备112上运行的发送方应用和/或内容呈现应用启动用于使得使用诸如媒体接收设备102的媒体接收设备呈现正在显示器116上呈现的内容的机制。在一些实施方式中,如果在内容项未通过媒体接收设备102呈现时在媒体回放设备106上选择了与媒体接收设备102(例如,媒体接收设备插入的HDMI端口)相对应的输入,则媒体接收设备102可以呈现默认屏幕。
图14B示出响应于计算设备112接收与图标1402的选择相对应的输入由发送方应用可以呈现的用户界面的示例。如图14B所示的示例中,发送方应用可以呈现可以使所选择的媒体内容项(例如,正在图14A中的显示器116上呈现的电视节目)呈现的媒体接收机设备的列表1404。在一些实施方式中,当呈现列表1404时,媒体内容项的播放可以在用户选择时被暂停或以其他方式禁止。或者,可以通过计算设备112在播放媒体内容项期间呈现列表1404。
图14C示出在内容呈现应用在计算设备112上有效的同时媒体接收设备102在媒体回放设备106的显示器108上呈现的媒体内容项的示例。在一些实施方式中,可以在使用媒体接收设备102呈现其内容的同时在计算设备112上呈现与媒体内容相关的信息。
图14D示出在计算设备112处于主屏幕的同时媒体接收设备102在媒体回放设备106的显示器108上呈现的媒体内容项的示例。在一些实施方式中,用户可以执行预定的动作,诸如从计算设备112的触摸屏的顶部边框滑动以导航到通知屏幕。
图14E示出在计算设备112处于通知屏幕的同时由媒体接收设备102在媒体回放设备106的显示器108上呈现的媒体内容项的示例。如上文结合图13所述,可以创建与使用媒体接收设备102呈现的媒体内容项相对应的通知1406,并且通知1406可以用于通过例如接收已选择暂停图标的指示来控制媒体接收设备102对媒体内容的呈现。
图14F示出用户正在选择与正在显示的媒体内容相对应的图标的示例。这样的图标的选择可以使得计算设备112导航到内容呈现应用,例如如图14C所示。
在一些实施方式中,可以在如例如图14E和14F所示的通知中显示诸如节目标题、剧集标题、封面艺术等的信息。
图15A-15E示出根据所公开的主题的一些实施方式的、使用与运行包括发送方应用的浏览器的计算设备一起使用的本文描述的用于呈现内容的机制的示例,其包括过程900和过程1100中的每一个的至少一部分。
图15A示出用于呈现媒体内容项的浏览器1502的示例。在图15A所示的例子中,媒体内容项可以是使用允许用户访问由视频共享服务可用的视频的视频共享服务的网页呈现的视频共享服务的用户可用的视频。网页的用户界面可以包括图标1504,其使得发送方应用和/或浏览器1502发起用于使得使用媒体接收设备(诸如媒体接收设备102)来呈现在网页中呈现的内容的机制。在一些实施方式中,如果在媒体接收设备102没有呈现内容项的情况下,在媒体回放设备106上选择与媒体接收设备102(例如,媒体接收设备插入的HDMI端口)相对应的输入,则媒体接收设备102可以呈现默认屏幕,如图15A所示。
图15B示出在接收到对图标1504的选择之后的浏览器1502的示例,其中可以使得呈现所选择的媒体内容项(例如,在图15B中播放的视频)的媒体接收机设备的列表1506。附加地或可替选地,在一些实施方式中,在选择图标1504之后,列表1506可以呈现为从图标1504的下拉列表,和/或响应于标题栏中的图标的选择,列表1506可以呈现为从标题栏下拉(例如,如图15B所示)。在一些实施方式中,图15C示出选择列表1506中与连接到媒体回放设备106的媒体接收设备102相对应的媒体接收设备的光标。
图15D示出由媒体接收设备102在媒体回放设备106的显示器108上呈现的在浏览器1502中呈现的视频的示例。在一些实施方式中,当媒体内容项在由媒体回放设备102呈现时,指示这一点的消息可以在浏览器1502中取代视频被呈现。另外,用于控制由媒体接收设备102的呈现的控件1508可以由浏览器1502呈现给用户。在一些实施方式中,当媒体内容项最初由媒体接收应用呈现在例如显示器108上时,可以将标识媒体内容项的诸如标题等的信息呈现为叠加等。
图15E示出在显示器108上以全屏模式在呈现在浏览器1502上呈现的视频的示例。
在一些实施方式中,本文描述的包括虚拟操作系统、移动操作系统、发送方应用、接收方应用、内容呈现应用、内容流式传输应用和/或任何其他合适的机制的机制可以包括服务器侧软件、服务器侧硬件、客户端侧软件、客户端侧硬件或其任何合适的组合。例如,应用可以包括以由硬件处理器312、硬件处理器322和/或硬件处理器332可识别的编程语言编写的计算机程序(例如,用诸如Java、C、Objective-C、C++、C#、Javascript、Visual Basic的编程语言编或任何其他合适的方法编写的程序)。作为另一示例,应用可以包括与一个或多个网页或网页部分相对应的代码(例如,通过任何合适的编码,诸如超文本标记语言(“HTML”)、动态超文本标记语言(“DHTML”)、可扩展标记语言(“XML”)的Java服务器页面(“JSP”)、动态服务器页面(“ASP”)、冷聚变(Cold Fusion)或其他任何合适的方法)。
在一些实施方式中,任何合适的计算机可读介质可以用于存储用于执行本文所述的功能和/或过程的指令。例如,在一些实施方式中,计算机可读介质可以是暂时性的或非暂时性的。例如,非暂时性计算机可读介质可以包括下述介质,诸如磁介质(例如硬盘、软盘等)、光学介质(例如光盘、数字视频盘、蓝光光盘等)、半导体介质(例如闪速存储器、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等)、在传输期间不是短暂的或没有持久性的外表的任何合适的介质和/或任何合适的有形介质。作为另一示例,暂时性计算机可读介质可以包括在网络上、在导线、导体、光纤、电路、在传输期间短暂且没有任何持久性外表的任何合适的介质和/或任何合适的无形介质中的信号。
应当理解,图4-15E的过程的上述步骤可以以不限于图中所示和描述的顺序和序列的任何顺序或序列来执行或进行。此外,图4-15E的过程中的一些上述步骤可以在适当时基本上同时或并行执行或进行以减少延迟和处理时间。
还应当注意,如本文所使用的,术语机制可以包括硬件、软件、固件或其任何合适的组合。
因此,提供用于在显示设备上呈现诸如虚拟操作系统用户界面的用户界面的系统、方法和介质。
虽然已经在前述说明性实施方式中描述和示出了本发明,但是应当理解,本公开仅作为示例示出,并且可以在不脱离仅由所附权利要求限制的本发明的精神和范围的情况下对本发明的实施方式的细节进行许多变化。所公开的实施方式的特征可以以各种方式组合和重新排列。

Claims (18)

1.一种用于呈现虚拟操作系统用户界面的方法,包括:
使用移动设备的硬件处理器,检测能够呈现虚拟操作系统的一个或多个虚拟操作系统用户界面的一个或多个媒体接收设备,其中所述一个或多个媒体接收设备中的每一个可操作地耦合到显示设备;
使用所述移动设备的所述硬件处理器,使得在所述移动设备的显示器上呈现可选择通知,其中所述可选择通知指示已经检测到能够呈现所述一个或多个虚拟操作系统用户界面的所述一个或多个媒体接收设备;
响应于接收到与所述一个或多个媒体接收设备中的媒体接收设备相对应的、对所述可选择通知的选择,使用所述移动设备的所述硬件处理器,接收与所述媒体接收设备相关联的、将在其上呈现虚拟操作系统用户界面的显示设备的一个或多个属性,并且选择要呈现在所述虚拟操作系统用户界面中的多个应用;
使用所述移动设备的所述硬件处理器,基于所述显示设备的所述一个或多个属性并且基于所述多个应用的应用属性来生成所述虚拟操作系统用户界面,其中所述虚拟操作系统用户界面包括对应于所述多个应用中的至少一个的用户界面元素;
使用所述移动设备的所述硬件处理器,将包括所生成的虚拟操作系统的媒体流发送至所述媒体接收设备以在所述显示设备上呈现所述虚拟操作系统用户界面;
使用所述移动设备的所述硬件处理器,使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素;
使用所述移动设备的所述硬件处理器,从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号;
使用所述移动设备的所述硬件处理器,执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面,其中所述应用用户界面被格式化以呈现在所述显示设备上,其中,所述第二应用与提供对一个或多个媒体内容项的访问的服务相关联,并且其中,所述应用用户界面包括多个用户界面元素,每个用户界面元素对应于所述一个或多个媒体内容项中的至少一个;以及
使用所述移动设备的所述硬件处理器,将所述第二应用的应用用户界面发送至所述媒体接收设备以在所述显示设备上呈现所述第二应用的所述应用用户界面。
2.根据权利要求1所述的方法,进一步包括:
从所述遥控设备接收暂停呈现所选择的媒体内容项的信号;以及
使得所述媒体接收设备暂停呈现所选择的媒体内容项。
3.根据权利要求1所述的方法,进一步包括:
在呈现所选择的媒体内容项期间,从所述遥控设备接收回到前一屏的信号;以及
响应于接收到回到前一屏的所述信号,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面。
4.根据权利要求1所述的方法,进一步包括:
在呈现所选择的媒体内容项期间,从所述遥控设备接收呈现主屏的信号;以及
响应于接收到转到所述主屏的所述信号,使得所述媒体接收设备呈现所述虚拟操作系统用户界面。
5.根据权利要求1所述的方法,其中,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面是在所述移动设备处于禁止显示状态的情况下执行的。
6.根据权利要求1所述的方法,其中,所述多个应用中的至少一部分是从安装在所述移动设备上的应用中选择的。
7.一种用于呈现虚拟操作系统用户界面的系统,包括:
包括硬件处理器的移动设备,所述硬件处理器被编程为:
检测能够呈现虚拟操作系统的一个或多个虚拟操作系统用户界面的一个或多个媒体接收设备,其中所述一个或多个媒体接收设备中的每一个可操作地耦合到显示设备;
使得在所述移动设备的显示器上呈现可选择通知,其中所述可选择通知指示已经检测到能够呈现所述一个或多个虚拟操作系统用户界面的所述一个或多个媒体接收设备;
响应于接收到与所述一个或多个媒体接收设备中的媒体接收设备相对应的、对所述可选择通知的选择,接收与所述媒体接收设备相关联的、将在其上呈现虚拟操作系统用户界面的显示设备的一个或多个属性,并且选择呈现在所述虚拟操作系统用户界面中的多个应用;
基于所述显示设备的所述一个或多个属性并且基于所述多个应用的应用属性来生成所述虚拟操作系统用户界面,其中所述虚拟操作系统用户界面包括对应于所述多个应用中的至少一个的用户界面元素;
将包括所生成的虚拟操作系统的媒体流发送至所述媒体接收设备以在所述显示设备上呈现所述虚拟操作系统用户界面;
使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素;
从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号;
执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面,其中所述应用用户界面被格式化以呈现在所述显示设备上,其中,所述第二应用与提供对一个或多个媒体内容项的访问的服务相关联,并且其中,所述应用用户界面包括多个用户界面元素,每个用户界面元素对应于所述一个或多个媒体内容项中的至少一个;以及
将所述第二应用的应用用户界面发送至所述媒体接收设备以在所述显示设备上呈现所述第二应用的所述应用用户界面。
8.根据权利要求7所述的系统,其中,所述硬件处理器还被编程为:
从所述遥控设备接收暂停呈现所选择的媒体内容项的信号;以及
使得所述媒体接收设备暂停呈现所选择的媒体内容项。
9.根据权利要求7所述的系统,其中,所述硬件处理器还被编程为:
在呈现所选择的媒体内容项期间,从所述遥控设备接收回到前一屏的信号;以及
响应于接收到回到前一屏的所述信号,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面。
10.根据权利要求7所述的系统,其中,所述硬件处理器还被编程为:
在呈现所选择的媒体内容项期间,从所述遥控设备接收呈现主屏的信号;以及
响应于接收到转到所述主屏的所述信号,使得所述媒体接收设备呈现所述虚拟操作系统用户界面。
11.根据权利要求7所述的系统,其中,所述硬件处理器还被编程为在所述移动设备处于禁止显示状态的同时,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面。
12.根据权利要求7所述的系统,其中,所述多个应用中的至少一部分是从安装在所述移动设备上的应用中选择的。
13.一种包含计算机可读指令的非暂时性计算机可读介质,当由处理器执行时,所述计算机可读指令使所述处理器执行一种用于呈现虚拟操作系统用户界面的方法,所述方法包括:
在移动设备处,检测能够呈现虚拟操作系统的一个或多个虚拟操作系统用户界面的一个或多个媒体接收设备,其中所述一个或多个媒体接收设备中的每一个可操作地耦合到显示设备;
由所述移动设备使得在所述移动设备的显示器上呈现可选择通知,其中所述可选择通知指示已经检测到能够呈现所述一个或多个虚拟操作系统用户界面的所述一个或多个媒体接收设备;
响应于接收到与所述一个或多个媒体接收设备中的媒体接收设备相对应的、对所述可选择通知的选择,由所述移动设备接收与所述媒体接收设备相关联的、将在其上呈现虚拟操作系统用户界面的显示设备的一个或多个属性,并且选择要呈现在所述虚拟操作系统用户界面中的多个应用;
由所述移动设备基于所述显示设备的所述一个或多个属性并且基于所述多个应用的应用属性,生成所述虚拟操作系统用户界面,其中所述虚拟操作系统用户界面包括对应于所述多个应用中的至少一个的用户界面元素;
由所述移动设备将包括所生成的虚拟操作系统的媒体流发送至所述媒体接收设备以在所述显示设备上呈现所述虚拟操作系统用户界面;
由所述移动设备使得在所述虚拟操作系统用户界面中突出显示对应于所述多个应用中的第一应用的第一用户界面元素;
由所述移动设备从遥控设备接收选择对应于所述多个应用中的第二应用的第二用户界面元素的一个或多个信号;
由所述移动设备执行所述第二应用以生成将由所述显示设备呈现的所述第二应用的应用用户界面,其中所述应用用户界面被格式化以呈现在所述显示设备上,其中,所述第二应用与提供对一个或多个媒体内容项的访问的服务相关联,并且其中,所述应用用户界面包括多个用户界面元素,每个用户界面元素对应于所述一个或多个媒体内容项中的至少一个;
由所述移动设备将所述第二应用的应用用户界面发送至所述媒体接收设备以在所述显示设备上呈现所述第二应用的所述应用用户界面。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,所述方法进一步包括:
从所述遥控设备接收暂停呈现所选择的媒体内容项的信号;以及
使得所述媒体接收设备暂停呈现所选择的媒体内容项。
15.根据权利要求13所述的非暂时性计算机可读介质,其中,所述方法进一步包括:
在呈现所选择的媒体内容项期间,从所述遥控设备接收回到前一屏的信号;以及
响应于接收到回到前一屏的所述信号,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面。
16.根据权利要求13所述的非暂时性计算机可读介质,其中,所述方法进一步包括:
在呈现所选择的媒体内容项期间,从所述遥控设备接收呈现主屏的信号;以及
响应于接收到转到所述主屏的所述信号,使得所述媒体接收设备呈现所述虚拟操作系统用户界面。
17.根据权利要求13所述的非暂时性计算机可读介质,其中,使得所述媒体接收设备在所述显示设备上呈现所述第二应用的所述应用用户界面是在所述移动设备处于禁止显示状态的情况下执行的。
18.根据权利要求13所述的非暂时性计算机可读介质,其中,所述多个应用中的至少一部分是从安装在所述移动设备上的应用中选择的。
CN201680053804.5A 2015-12-03 2016-11-30 在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质 Active CN108141629B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/958,640 US10326822B2 (en) 2015-12-03 2015-12-03 Methods, systems and media for presenting a virtual operating system on a display device
US14/958,640 2015-12-03
PCT/US2016/064147 WO2017095879A1 (en) 2015-12-03 2016-11-30 Methods, systems and media for presenting a virtual operating system user interface on a display device

Publications (2)

Publication Number Publication Date
CN108141629A CN108141629A (zh) 2018-06-08
CN108141629B true CN108141629B (zh) 2021-02-09

Family

ID=57610389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680053804.5A Active CN108141629B (zh) 2015-12-03 2016-11-30 在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质

Country Status (4)

Country Link
US (1) US10326822B2 (zh)
EP (1) EP3384379B1 (zh)
CN (1) CN108141629B (zh)
WO (1) WO2017095879A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326822B2 (en) * 2015-12-03 2019-06-18 Google Llc Methods, systems and media for presenting a virtual operating system on a display device
CN106991108A (zh) * 2016-09-27 2017-07-28 阿里巴巴集团控股有限公司 一种信息的推送方法及装置
USD820309S1 (en) * 2017-03-01 2018-06-12 Cox Automotive, Inc. Display screen or a portion thereof with graphical user interface
US11043205B1 (en) * 2017-06-27 2021-06-22 Amazon Technologies, Inc. Scoring of natural language processing hypotheses
US11081104B1 (en) * 2017-06-27 2021-08-03 Amazon Technologies, Inc. Contextual natural language processing
US20190007745A1 (en) * 2017-06-30 2019-01-03 Google Inc. Methods, systems, and media for presenting notifications on associated devices
KR101955259B1 (ko) * 2017-09-28 2019-03-08 주식회사 이노피아테크 스마트 모듈을 활용한 패밀리 보드 서비스 제공 방안
US10346122B1 (en) * 2018-10-18 2019-07-09 Brent Foster Morgan Systems and methods for a supplemental display screen
US20200233573A1 (en) * 2019-01-22 2020-07-23 Apple Inc. Remotely controlling the output of content on a device
DE102019106281A1 (de) * 2019-03-12 2020-09-17 tooz technologies GmbH System, Verfahren, Computerprogramm, mobile Vorrichtung und Kit zum Betreiben einer Vorrichtung mit niedriger Rechenleistung
CN110389736A (zh) * 2019-06-05 2019-10-29 华为技术有限公司 一种投屏显示方法及电子设备
WO2020262920A1 (en) 2019-06-26 2020-12-30 Samsung Electronics Co., Ltd. Display apparatus and the control method thereof
EP3925229A4 (en) * 2019-06-26 2022-03-30 Samsung Electronics Co., Ltd. DISPLAY DEVICE AND CONTROL METHOD THEREOF
JP7199326B2 (ja) * 2019-09-13 2023-01-05 株式会社東芝 情報装置、装置制御方法、装置制御システム、装置制御プログラム
KR20210074877A (ko) * 2019-12-12 2021-06-22 삼성전자주식회사 디스플레이 장치 및 그 동작방법
CN111045749B (zh) * 2019-12-18 2021-06-08 青岛海信传媒网络技术有限公司 应用程序启动方法及设备
CN111510780B (zh) * 2020-04-10 2021-10-26 广州方硅信息技术有限公司 视频直播控制、桥接、流控、播控方法及客户端
CN114125513B (zh) * 2020-08-28 2022-10-11 华为终端有限公司 投屏方法、装置及投送端
CN112907754A (zh) * 2021-01-22 2021-06-04 四川智能小子科技有限公司 Ar导览系统及ar导览方法
CN113032029A (zh) * 2021-03-26 2021-06-25 北京字节跳动网络技术有限公司 音乐应用的续听处理方法、装置及设备
US20230038101A1 (en) * 2021-08-03 2023-02-09 Dish Network L.L.C. Remote application controller
CN114047862B (zh) * 2021-09-27 2024-09-24 北京小米移动软件有限公司 界面控制方法及装置、设备、存储介质
CN116389801B (zh) * 2023-05-31 2023-07-28 北京庭宇科技有限公司 一种多端一体的云串流客户端实现方法
CN117873506B (zh) * 2024-03-12 2024-06-11 山东乾云启创信息科技股份有限公司 一种基于voi的镜像运行实现方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384864A (zh) * 2011-02-22 2013-11-06 国际商业机器公司 内容的页面上操纵和实时替换
CN103713830A (zh) * 2012-10-04 2014-04-09 索尼公司 用于提供用户界面的方法和装置
CN104219791A (zh) * 2013-06-04 2014-12-17 金士顿数位股份有限公司 通用环境扩展器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885654B2 (en) * 2006-10-10 2011-02-08 Apple Inc. Dynamic carrier selection
US9706241B2 (en) * 2009-09-29 2017-07-11 Verizon Patent And Licensing Inc. Systems and methods for casting a graphical user interface display of a mobile device to a display screen associated with a set-top-box device
US8589952B2 (en) * 2010-06-30 2013-11-19 Palm, Inc. Dual operating system operation and configuration
CN103229156B (zh) 2010-10-01 2016-08-10 Flex Electronics ID Co.,Ltd. 多操作系统环境中的对接系统的自动配置
US20120173979A1 (en) 2010-12-31 2012-07-05 Openpeak Inc. Remote control system and method with enhanced user interface
TW201232406A (en) 2011-01-20 2012-08-01 Hon Hai Prec Ind Co Ltd Apparatus and method for displaying television and corresponding forum in virtual environment
US20120282914A1 (en) 2011-05-06 2012-11-08 Lael Andrew Alexander Smart phone companion loop
KR20140017429A (ko) * 2012-08-01 2014-02-11 삼성전자주식회사 화면 동작 방법 및 그 전자 장치
EP3005649B1 (en) 2013-06-06 2019-03-13 Google LLC Systems, methods, and media for presenting media content
KR102078867B1 (ko) * 2013-09-17 2020-02-18 삼성전자주식회사 제어권 관리 방법, 그에 따른 클라이언트 기기 및 그에 따른 마스터 기기
US9766781B2 (en) 2014-04-28 2017-09-19 Google Inc. Methods, systems, and media for presenting related content in a user interface navigated using directional controls
US10326822B2 (en) * 2015-12-03 2019-06-18 Google Llc Methods, systems and media for presenting a virtual operating system on a display device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384864A (zh) * 2011-02-22 2013-11-06 国际商业机器公司 内容的页面上操纵和实时替换
CN103713830A (zh) * 2012-10-04 2014-04-09 索尼公司 用于提供用户界面的方法和装置
CN104219791A (zh) * 2013-06-04 2014-12-17 金士顿数位股份有限公司 通用环境扩展器

Also Published As

Publication number Publication date
CN108141629A (zh) 2018-06-08
EP3384379A1 (en) 2018-10-10
EP3384379B1 (en) 2023-01-04
WO2017095879A1 (en) 2017-06-08
US20170244779A1 (en) 2017-08-24
US10326822B2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN108141629B (zh) 在显示设备上呈现虚拟操作系统用户界面的方法、系统和介质
US11936938B2 (en) Systems, methods, and media for presenting media content
US11727441B2 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
KR101511881B1 (ko) 원격 장치 상에서의 적응성 미디어 콘텐츠 스크러빙
JP5728675B2 (ja) ネットワーク内のインターネットマルチメディアコンテンツを管理および/またはレンダリングするためのシステムおよび方法
US20160210665A1 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
JP5270608B2 (ja) コンテンツ再生制御システム、コンテンツ再生制御方法、コンテンツサーバ、携帯端末及びプログラム
EP3360101A1 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
TW201415360A (zh) 在多個電子裝置上提供應用
KR20120022156A (ko) 기기 간 무선 통신을 수행하는 영상 표시 기기 및 그에 따른 영상 표시 방법
WO2015063872A1 (ja) コンテンツ配信装置、視聴装置、ネットワーク視聴システム
TWI521957B (zh) A method and a device for sharing multimedia messages in a remote sequence

Legal Events

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