CN103907357B - 用于呈现视频流的系统和方法 - Google Patents

用于呈现视频流的系统和方法 Download PDF

Info

Publication number
CN103907357B
CN103907357B CN201280052144.0A CN201280052144A CN103907357B CN 103907357 B CN103907357 B CN 103907357B CN 201280052144 A CN201280052144 A CN 201280052144A CN 103907357 B CN103907357 B CN 103907357B
Authority
CN
China
Prior art keywords
video flowing
equipment
media device
request
client device
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
CN201280052144.0A
Other languages
English (en)
Other versions
CN103907357A (zh
Inventor
杰夫·T·卢
皮埃尔-伊夫·拉利冈
马克·林德纳
贾斯汀·戈
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
Priority to CN201810282674.3A priority Critical patent/CN108600820B/zh
Publication of CN103907357A publication Critical patent/CN103907357A/zh
Application granted granted Critical
Publication of CN103907357B publication Critical patent/CN103907357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4112Peripherals receiving signals from specially adapted client devices having fewer capabilities than the client, e.g. thin client having less processing power or no tuning capabilities
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • 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
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords

Abstract

介绍了用于呈现视频流的系统、存储至少一个程序的计算机可读存储介质以及计算机实现的方法。从客户端设备的用户接收视频流的标识符,该视频流通过耦接到客户端设备的至少一个输入端口的媒体设备可访问。向在客户端设备上执行的媒体设备服务发送不指明设备的请求,以获得媒体设备并且从媒体设备获取视频流,媒体设备服务被配置成将不指明设备的请求映射到针对媒体设备的特定于设备的请求。响应于不指明设备的请求,通过至少一个输入端口接收视频流。生成包括视频流的用户界面。在耦接到客户端设备的输出设备上呈现包括视频流的用户界面。

Description

用于呈现视频流的系统和方法
技术领域
所公开的实施例总体上涉及呈现视频流。
背景技术
对于充当在媒体设备(例如电视机顶盒)和输出设备(例如电视显示器)之间的中间设备的客户端设备,期望在客户端设备上执行的应用基于从用户接收的输入来显示视频信号的增强和/或修改的版本。然而,在开发该应用期间,用于客户端设备的该应用的开发者不知道在多个媒体设备中的哪些媒体设备将连接到客户端设备。在开发该应用期间为所有可能的媒体设备将特定于设备的功能和/或协议包括在该应用中对该应用的开发者来说是繁重且不切实际的。
附图说明
在附图的图中作为示例而非作为限制图示了在本文所公开的实施例。在整个附图中,相同参考数字指代相应部分。
图1是图示根据一些实施例的示例网络系统的框图。
图2是图示根据一些实施例的服务器的示例模块的框图。
图3是图示根据一些实施例的客户端设备的示例模块的框图。
图4是图示根据一些实施例的应用框架的示例模块的框图。
图5是图示根据一些实施例的示例服务器的框图。
图6是图示根据一些实施例的示例客户端设备的框图。
图7是根据一些实施例的、用于在客户端设备的输出设备上呈现视频流的方法的流程图。
图8是根据一些实施例的、用于从用户接收对视频流的选择的方法的流程图。
图9是根据一些实施例的、用于生成包括视频流的用户界面的方法的流程图。
具体实施方式
下述描述包括使说明性实施例具体化的示例系统、方法、技术、指令序列以及计算机器程序产品。在下述描述中,出于说明目的,阐述了大量具体细节,以便提供对创造性主题的各种实施例的理解。然而,对本领域技术人员应当显而易见的是,可以在没有这些具体细节的情况下,实践本创造性主题的实施例。总的来说,没有详细地示出众所周知的指令实例、协议、结构和技术。
在本文所述的实施例提供了用于在客户端设备的输出设备上呈现视频流的技术。
系统架构
图1是图示根据一些实施例的示例网络系统100的框图。网络系统100包括用户106的耦接到输出设备102、媒体设备103和输入设备105的客户端设备101。在一些实施方式中,客户端设备101是电视机顶盒。在一些实施例中,输出设备102包括监视器、投影仪、电视和扬声器中的一个或多个。
在一些实施方式中,客户端设备101是被配置成控制耦接到客户端设备101的设备(例如,媒体设备103、输出设备102等)并且被配置成提供增强的多媒体功能的中间设备。增强的多媒体功能包括但不限于:在输出设备102上提供画中画能力,其允许用户106在观看和/或收听在输出设备102的较小区域中呈现的媒体项的实例(例如,视频)时同时在输出设备102(例如,电视显示器)上访问(例如,浏览和/或另外与之交互)网站;在输出设备102上提供用户界面,其允许用户106搜索在对用户106的客户端设备101来说可访问的内容源(例如,特定电视频道、流媒体服务等)上可用的媒体项的实例;以及对从媒体设备103接收的音频和/或视频信号进行修改(例如,使图形对象覆盖在视频流上、将音频插入音频流中等)并且将经修改的音频和/或视频信号输出到输出设备102以向用户106呈现。
应注意,“媒体项的实例”可以指媒体项在特定日期和/或时间在特定内容源上的特定示出(例如,辛普森一家的第一集在2011年1月3日晚上10点在空中电视服务的频道2上的放映等)或媒体项在特定内容源上的特定副本(例如,在流式视频服务1上的辛普森一家的第一集以供出租、在流式视频服务2上的辛普森一家的第一集以供购买等)。
媒体项包括但不限于:电影、视频、电视节目(例如,电视连续剧的剧集、单独电视节目等)、书籍、一期杂志、文章、歌曲以及游戏。
内容源包括但不限于:数字视频录像机、卫星无线电频道、空中无线电频道、空中电视频道、卫星电视频道、有线电视频道、有线音乐频道、网际协议电视频道以及流媒体服务(例如,视频点播服务、流式视频服务、流式音乐服务等)。
在一些实施方式中,用户106使用输入设备105来指示客户端设备101执行关于输出设备102和/或媒体设备103的各种动作。例如,用户106可以使用输入设备105来指示客户端设备101增加输出设备102的音量。类似地,用户106可以使用输入设备105来指示客户端设备101指示媒体设备103获取媒体项的实例。此外,用户106可以使用输入设备105来指示客户端设备101搜索满足搜索查询的媒体项的实例。参考图3和4更详细地描述了在用户106、客户端设备101、输出设备102和媒体设备103之间的交互。
输入设备105包括但不限于:指示设备(例如,鼠标、触控板、触摸板、自由空间指示设备)、键盘、触敏显示设备(例如,触摸屏显示器和/或控制器)、远程控制器、包括远程控制器应用的智能手机以及视觉手势识别系统(例如,捕捉并识别用户的运动和/或手势并且将运动和/或手势转换成输入命令的系统)。
在一些实施例中,媒体设备103被配置成从内容源获取媒体项的实例,并且提供音频和/或视频信号以使用输出设备102来向用户106呈现。
在一些实施例中,媒体设备103从本地内容源104获取媒体项的实例(例如,媒体项154的实例)。在一些实施方式中,本地内容源104包括下述中的一个或多个:媒体设备103的数字视频录像机、媒体设备103的硬盘驱动器以及媒体设备103可访问的网络存储设备。
在一些实施例中,媒体设备103通过网络121从内容提供商130提供的内容源140获取媒体项的实例(例如,媒体项150和151的实例)。“内容提供商”是提供一个或多个内容源的实体或服务,以及“内容源”是媒体项(例如,电视频道、无线电频道、网站、流媒体服务等)的实例的源。在一些实施方式中,网络121包括下述中的一个或多个:有线电视服务、卫星电视服务、卫星无线电服务、空中电视服务、空中无线电服务以及数据网络(例如,网络120、因特网、虚拟专用网络等)。
在一些实施例中,媒体设备103通过网络120从内容提供商131提供的内容源141获取媒体项的实例(例如,媒体项152和153的实例)。在一些实施方式中,内容提供商131是流媒体服务(例如,流式视频服务、流式音频服务等)。网络120一般可以包括能够将计算节点耦接在一起的任何类型的有线或无线通信信道。这包括但不限于:局域网、广域网或网络的组合。在一些实施例中,网络120包括因特网。
总的来说,媒体设备103可以从下述的任何组合获取媒体项的实例:本地内容源、通过网络121可用的内容源以及通过网络120可用的内容源。
在一些实施例中,媒体设备103包括物理设备。该物理设备包括但不限于:数字视频录像机、卫星无线电机顶盒、空中无线电调谐器、空中电视调谐器、卫星电视机顶盒、有线电视机顶盒、网际协议电视机顶盒以及游戏控制台。
在一些实施例中,媒体设备103包括在客户端设备101上执行的虚拟设备(例如,软件模块)。该虚拟设备包括但不限于:在客户端设备101上执行的web浏览器以及在客户端设备101上执行的流媒体应用。
总的来说,媒体设备103可以包括物理设备和虚拟设备的任何组合。
在一些实施例中,网络系统100包括耦接到网络120的服务器110。在这些实施例中,服务器110从元数据提供商111和/或从因特网上的网站获取媒体项的实例的元数据、基于媒体项的实例的元数据来构建媒体项的数据库并且返回与满足搜索查询且在对客户端设备101来说可访问的内容源上可用的媒体项的实例有关的信息。对(用户106的)客户端设备101来说可访问的内容源包括客户端设备101已预订了的内容源(例如,有线或卫星电视频道、流媒体服务等)、客户端设备101对于其拥有用来从内容源接收媒体项的适当媒体设备(例如,空中电视或无线电调谐器、网络接口设备、针对流媒体服务的应用等)的内容源以及客户端设备101对于其已购买了获取媒体项的权利的内容源(例如,视频点播服务、视频租赁服务等)。应注意,客户端设备101可以仅仅能够访问特定内容源集。例如,客户端设备101可以仅仅能够访问在有线电视服务上的特定频道。类似地,客户端设备101可以能够访问第一流媒体服务,但是不能访问第二流媒体服务。因此,有益的是,向用户106仅提供在对客户端设备101来说可访问的内容源上可用的媒体项的实例的信息。
媒体项的实例的元数据包括但不限于:媒体项的实例在其上可用的内容源、媒体项的实例可用的日期和时间、与媒体项的实例相关联的演员、与媒体项的实例相关联的音乐家、与媒体项的实例相关联的制片人、与媒体项的实例相关联的导演、媒体项的实例的概要、媒体项的实例的首播日期、媒体项的实例对于其是成员的连续剧(例如,电视连续剧等)、媒体项的实例的类型(例如,喜剧、戏剧、游戏节目、恐怖、悬疑、现实等)以及媒体项的实例的成本。
与媒体项的实例有关的信息包括但不限于:媒体项的实例的元数据的至少子集、到与媒体项有关的内容的链接(例如,到出现在媒体项中的演员的网页的链接等)以及从另一个数据库(例如,私有数据库)和/或从包括与媒体项有关的内容的网页(例如,针对电视节目的网页、针对演员的网页等)获取的、与媒体项有关的内容。
在一些实施方式中,将先前查询和搜索结果存储在缓存中以使查询响应加速。可以周期性地从该缓存移除先前查询和搜索结果来确保该缓存不为不再可用的媒体项的实例(例如,电视连续剧的剧集的播出时间自与该剧集的实例有关的信息被存储在缓存中以来可能已经过去)存储搜索结果。
在下面参考图2更详细地描述了服务器110。
应注意,尽管图1图示了客户端设备101被耦接到一个媒体设备(例如,媒体设备103)、一个输出设备(例如,输出设备102)和一个输入设备(例如,输入设备105),然而,客户端设备101可以被耦接到多个媒体设备、多个输出设备和多个输入设备。类似地,尽管图1图示了一个客户端设备(例如,客户端设备101)和一个元数据提供商(例如,元数据提供商111),然而,网络系统100可以包括多个客户端设备和元数据提供商。此外,尽管图1图示了耦接到网络121的一个内容提供商(例如,内容提供商130)和耦接到网络120的一个内容提供商(例如,内容提供商131),然而,多个内容提供商可以被耦接到每一个网络。
此外,尽管图1示出了服务器110的一个实例,然而,多个服务器可以存在于网络系统100中。例如,服务器110可以包括多个分布式服务器。多个分布式服务器可以提供负载平衡和/或可以向附近计算机系统提供低延迟接入点。分布式服务器可以位于单个位置(例如,数据中心、建筑物等)内或可以在地理上跨多个位置分布(例如,在各种地理位置的数据中心等)。
在下面参考图3、4和6更详细地描述了客户端设备101。在下面参考图2和5更详细地描述了服务器110。
图2是图示根据一些实施例的服务器110的示例模块的框图。服务器110包括前端模块201、可用性模块202、内容映射模块205、元数据导入器模块206-207以及web爬取器模块208。前端模块201提供在服务器110的模块和客户端设备101之间的接口。可用性模块202识别满足从客户端设备101接收的搜索查询并且在对客户端设备101来说可访问的内容源上可用的媒体项的实例。如上所述,客户端设备101可以仅能够访问特定内容源集。因此,有益的是,向用户106仅提供在对客户端设备101来说可访问的内容源上可用的媒体项的实例的信息。内容映射模块205对元数据导入器模块206-207和web爬取器模块208所获取的元数据进行处理来生成搜索索引203和可用性数据库204。
下述论述说明了用于导入媒体项的实例的元数据的示例过程。元数据导入器模块206-207分别从元数据提供商111和220获取媒体项的实例的元数据240和241。在一些实施方式中,服务器110包括针对每一个元数据提供商的元数据导入器模块。Web爬取器模块208导入并处理网页221来产生媒体项的实例的元数据242。元数据240、241和242可以包括复制信息。例如,元数据提供商111和元数据提供商220可能两者均提供从特定有线电视服务可用的媒体项的实例的元数据。然而,每一个元数据提供商可以将不同标识符用于从该特定有线电视服务可用的媒体项的实例。因此,在一些实施例中,内容映射模块205对媒体项的实例的元数据240、241和242进行分析来识别独特媒体项。例如,内容映射模块205通过将媒体项的实例的元数据的预先确定的子集对于其相匹配的媒体项的实例进行聚组,来识别独特媒体项(例如,当对组中的媒体项的实例的每一个来说,连续剧名称、剧集编号和演员相匹配时,形成媒体项的实例组等)。内容映射模块205然后为每一个独特媒体项生成内容标识符243,并且为独特媒体项生成元数据244。在一些实施例中,内容标识符包括用于相关媒体项系列的标识符(例如,电视连续剧的内容标识符)和媒体项的标识符(例如,电视连续剧的剧集的内容标识符)。独特媒体项的元数据244包括但不限于:该独特媒体项的内容标识符243、该独特媒体项的每一个实例的元数据240、241和242的至少子集。例如,“辛普森一家”的第1集可以具有跨各种内容源的6个实例。内容映射模块205可以将具有值“1”的内容标识符243分配给“辛普森一家”的第1集,并且可以包括“辛普森一家”的第1集的每一个实例的元数据。内容映射模块205使用独特媒体项的实例的内容标识符243和元数据244来生成用来为媒体项高效地识别内容标识符243的搜索索引203。内容映射模块205还使用独特媒体项的实例的内容标识符243和元数据244来生成通过内容标识符243和媒体项的对应实例在其上可用的内容源进行索引的可用性数据库204。
下述论述说明了用于对来自客户端设备101的搜索查询进行响应的示例过程。前端模块201从客户端设备101接收搜索查询230,并且将搜索查询230分派给可用性模块202。在将搜索查询230分派给可用性模块202之前,前端模块201可选地规范化并扩展搜索查询230。前端模块201可选地从客户端设备101接收与对客户端设备101来说可访问的内容源231有关的信息。替选地,可用性模块202从数据库(例如,客户端设备101的用户106的简档、客户端设备101的简档等)获取与对客户端设备101来说可访问的内容源231有关的信息。可用性模块202使用搜索查询230来查询搜索索引203,以获取满足搜索查询230的媒体项的实例的内容标识符232和元数据233。可用性模块202然后使用内容标识符232和对客户端设备101来说可访问的内容源231来查询可用性数据库204,以获取在对客户端设备101来说可访问的内容源231上可用的媒体项的实例234。换句话说,媒体项的实例234(1)在对客户端设备101来说可访问的内容源231上可用并且(2)满足搜索查询230。
可用性模块202然后基于在对客户端设备101来说可访问的内容源231上可用的媒体项的实例234和元数据233,来生成搜索结果235和聚合信息236。在一些实施方式中,搜索结果235包括与媒体项的实例234有关的信息(例如,电视连续剧的剧集的名称和/或剧集编号、电视连续剧的名称、电影的名称等)以及与独特媒体项相对应的聚合信息236。媒体项的聚合信息236包括但不限于:在对客户端设备101来说可访问的内容源231上可用的连续剧的剧集数、在对客户端设备101来说可访问的内容源231上可用的媒体项的最近实例(例如,即将到来的新剧集、先前已播出的最新剧集等)、在对客户端设备101来说可访问的内容源231上可用的媒体项的最旧实例(例如,试播剧集等)、在对客户端设备101来说可访问的内容源231上可用的媒体项的实例的完整性(例如,所有剧集均可用)、在其上媒体项的实例对客户端设备101来说可访问的独特内容源231数、最频繁被选择的内容源231、在其期间媒体项在内容源231上可用的时段、媒体项将在内容源231上可用的未来时间、媒体项在内容源231上可访问的剩余时间、媒体项被购买的日期。
可用性模块202然后通过前端模块201将搜索结果235和/或聚合信息236返回给客户端设备101。
在一些实施例中,服务器110的模块被包括在客户端设备101中以便于搜索存储在本地内容源104中的媒体项。
图3是图示根据一些实施例的客户端设备101的示例模块的框图。在一些实施方式中,客户端设备101包括应用框架301,其响应于从输入设备105接收的输入事件来控制耦接到客户端设备101的设备303(例如,媒体设备103、输出设备102等),并且被配置成提供增强的多媒体功能(例如,如在上面参考图1所述的)。在下面参考图4更详细地描述了应用框架301。
在一些实施方式中,客户端设备101包括输入设备端口302、控制设备303、输入端口304以及输出端口305。输入设备端口302从输入设备105接收输入事件。控制设备303将特定于设备的请求和/或特定于设备的命令传输给媒体设备103和/或输出设备102。在一些实施方式中,控制设备303包括下述中的一个或多个:红外收发器、串行接口设备、蓝牙收发器以及网络接口设备。输入端口304从媒体设备103接收音频信号和/或视频信号。输出端口305将音频信号和/或视频信号传输给输出设备102。在一些实施方式中,输入端口304和输出端口305包括下述中的一个或多个:通用串行总线(USB)端口、蓝牙收发器、以太网端口、Wi-Fi收发器、HDMI端口、DisplayPort端口、Thunderbolt端口、复合视频端口、分量视频端口、光端口以及RCA音频端口。
在一些实施方式中,输出设备102与客户端设备101集成在一起。例如,客户端设备101和输出设备102可以被包括在同一外壳(例如,电视机)中。
下述论述说明了用于对从输入设备105接收的请求和/或命令进行处理的示例过程。应用框架301通过输入设备端口302从输入设备105接收输入事件310。输入事件310包括但不限于:键按下、指示器位置、指示设备按钮按下、滚轮位置、手势以及对图形用户界面(GUI)对象(例如,链接、图像等)的选择。
输入事件310中的一个或多个可以对应于不指明设备(device-agnostic)的请求和/或不指明设备的命令。不指明设备的请求(例如,对获得媒体设备的请求、对获取媒体项的实例的请求等)是可以向多个设备发出而与对于多个特定设备的请求的特定于设备的句法无关的一般请求。类似地,不指明设备的命令(例如,用来增加音量级别的命令、用来更换频道的命令等)是可以向多个设备发出而与对于多个特定设备的请求的特定于设备的句法无关的一般命令。
应用框架301将不指明设备的请求映射到针对媒体设备103的特定于设备的请求311。类似地,应用框架301将不指明设备的命令映射到针对媒体设备103的特定于设备的命令312。应用框架使用控制设备303将特定于设备的请求311和/或特定于设备的命令312传输给媒体设备103。
响应于特定于设备的请求311和/或特定于设备的命令312,媒体设备103传输应用框架301通过输入端口304接收的音频信号313和/或视频信号314。
应用框架301然后使用音频信号313和/或视频信号314来生成音频信号315和/或视频信号316,以提供增强的多媒体功能(例如,使GUI覆盖在视频信号314上、使音频覆盖在音频信号313上)。
应用框架301然后使用输出端口305将音频信号315和/或视频信号316传输给输出设备102。
在一些实施方式中,应用框架301便利通过在输出设备102上显示的GUI的web搜索和/或web浏览。
图4是图示根据一些实施例的应用框架301的示例模块的框图。应用框架301包括在应用框架301中执行的媒体设备服务401、媒体设备服务应用编程接口(API)402、在应用框架301中执行的应用403以及媒体设备库405。媒体设备服务401提供在应用403、媒体设备和输出设备之间的抽象接口,以使应用开发者能够在不必知道耦接到客户端设备101的特定媒体设备和/或特定输出设备的细节(例如,特定于设备的句法、特定于设备的协议、特定于设备的API等)的情况下为客户端设备101开发应用。此外,媒体设备服务401通过维护状态转换并且监视在客户端设备101、输出设备102和媒体设备103之间发生的异步动作的进展来隐藏这些异步动作的复杂性。媒体设备库405提供在从在应用框架301中执行的应用403接收的不指明设备的请求和不指明设备的命令分别到对于目标媒体设备的特定于设备的请求和特定于设备的命令之间的映射。这些映射允许应用开发者调用媒体设备服务API402的媒体设备服务函数404来向媒体设备发出请求(例如,向媒体设备发出不指明设备的请求)和/或向媒体设备发出命令(例如,向媒体设备发出不指明设备的命令),而不必预先知道用户正在使用哪些特定媒体设备或用户能够访问哪些。
下述论述说明了用于对从输入设备105接收的请求和/或命令进行处理的示例过程。应用403接收输入事件310并且将输入事件310解释成请求和/或命令。应用403调用媒体设备服务API402的媒体设备服务函数404来向媒体设备服务401发出不指明设备的请求411和/或不指明设备的命令412。媒体设备服务401使用不指明设备的请求411和/或不指明设备的命令412的目标媒体设备的媒体设备库405,来将不指明设备的请求411和/或不指明设备的命令412分别映射到对应的特定于设备的请求311和/或对应的特定于设备的命令312。媒体设备服务401然后向控制设备303发出特定于设备的请求311和/或特定于设备的命令312。
媒体设备服务401向应用403提供音频信号313和/或视频信号314。应用403可以使音频信号313和/或视频信号314增强,来产生音频信号315和/或视频信号316。
图5是图示根据一些实施例的服务器110的框图。服务器110典型地包括用于执行程序(例如,存储在存储器510中的程序)的一个或多个处理单元(CPU,有时被称为处理器)502、一个或多个网络或其他通信接口504、存储器510以及用于使这些组件互连的一个或多个通信总线509。通信总线509可以包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。服务器110可选地包括(但是典型地不包括)用户接口505,其包括显示设备506和输入设备508(例如,键盘、鼠标、触摸屏、小键盘等)。存储器510包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及典型地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器510可选地包括位于远离CPU502的地方的一个或多个存储设备。存储器510或替选地在存储器510内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器510或存储器510的计算机可读存储介质存储下述程序、模块和数据结构或其子集:
·操作系统512,其包括用于处理各种基本系统服务以及用于执行依赖硬件的任务的过程;
·通信模块514,其用于通过一个或多个通信接口504(有线或无线)以及一个或多个通信网络,诸如因特网、其他广域网、局域网、城域网等,将服务器110连接到其他计算机;
·可选用户接口模块516,其通过输入设备508从用户接收命令,并且在显示设备506中生成用户界面对象;
·前端模块201,如在本文所述的;
·可用性模块202,如在本文所述的;
·内容映射模块205,如在本文所述的;
·元数据导入器模块206-207,如在本文所述的;
·web爬取器模块208,如在本文所述的;
·搜索索引203,其包括媒体项的实例的内容标识符243和元数据244,如在本文所述的;以及
·可用性数据库204,其包括媒体项的实例的内容标识符243和元数据244,如在本文所述的。
在一些实施例中,上面识别的程序或模块对应于用于执行上述功能的指令集。指令集可以由一个或多个处理器(例如,CPU502)执行。上面识别的模块或程序(即,指令集)不必被实现为独立软件程序、过程或模块,因此可以在各种实施例中对这些程序或模块的各种子集进行组合或另外重新安排。在一些实施例中,存储器510存储在上面识别的模块和数据结构的子集。此外,存储器510可以存储在上面未描述的另外模块和数据结构。
尽管图5示出了“服务器”,然而,图5比作为在本文所述的实施例的结构示意更意在作为可以存在于一组服务器中的各种特征的功能描述。实际上并且如本领域普通技术人员所认识到的,可以对单独示出的项进行组合,并且可以使一些项分离。例如,在图5中单独示出的一些项可以在单个服务器上实现,并且单个项可以由一个或多个服务器实现。用来实现服务器110的服务器的实际数量以及在它们之间如何分配特征将随实施方式不同而变化,并且可以部分取决于系统在高峰使用时段期间以及在平均使用时段期间必须处理的数据业务量。
图6是图示根据一些实施例的客户端设备101的框图。客户端设备101典型地包括用于执行程序(例如,存储在存储器610中的程序)的一个或多个处理单元(CPU,有时被称为处理器)602、一个或多个网络或其他通信接口604、存储器610、输入设备端口302、控制设备303、输入端口304、输出端口305以及用于使这些组件互连的一个或多个通信总线609。通信总线609可以包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器610包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及典型地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器610可选地包括位于远离CPU602的地方的一个或多个存储设备。存储器610或替选地在存储器610内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器610或存储器610的计算机可读存储介质存储下述程序、模块和数据结构或其子集:
·操作系统612,其包括用于处理各种基本系统服务以及用于执行依赖硬件的任务的过程;
·通信模块614,其用于通过一个或多个通信接口604(有线或无线)以及一个或多个通信网络,诸如因特网、其他广域网、局域网、城域网等,将客户端设备101连接到其他计算机;
·用户接口模块616,其通过输入设备608从用户接收命令,并且在显示设备(例如,输出设备102)中生成用户界面对象;以及
·应用框架301,其包括自身包括媒体设备服务API402的媒体设备服务401、自身包括媒体设备服务函数404的应用403以及媒体设备库405,如在本文所述的。
在一些实施例中,上面识别的程序或模块对应于用于执行上述功能的指令集。指令集可以由一个或多个处理器(例如,CPU602)执行。上面识别的模块或程序(即,指令集)不必被实现为独立软件程序、过程或模块,因此可以在各种实施例中对这些程序或模块的各种子集进行组合或另外重新安排。在一些实施例中,存储器610存储在上面识别的模块和数据结构的子集。此外,存储器610可以存储在上面未描述的另外模块和数据结构。
尽管图6示出了“客户端设备”,然而,图6比作为在本文所述的实施例的结构示意更意在作为可以存在于客户端设备中的各种特征的功能描述。实际上并且如本领域普通技术人员所认识到的,可以对单独示出的项进行组合,并且可以使一些项分离。
在客户端设备的输出设备上呈现视频流
图7是根据一些实施例的用于在客户端设备101的输出设备102上呈现视频流的方法700的流程图。在一些实施例中,方法700由应用403执行。应用403从客户端设备101的用户106接收(702)视频流的标识符,其中该视频流通过耦接到客户端设备101的输入端口304的媒体设备103可访问。视频流包括但不限于:电影、视频剪辑、电视节目、来自数字视频录像机上的记录的视频流、来自电视频道的视频流、来自视频点播服务的视频流以及来自游戏的视频流。在一些实施方式中,视频流的标识符是统一资源标识符(URI)。例如,电视节目的URI可以具有格式:“TV://program_name=<program name>?channel=<channel number>?channel_name=<channel name>?time=<time>”,其中用节目名称代替“<program_name>”,用频道编号代替“<channel_number>”,用频道名称代替“<channel_name>”以及用时间代替“<time>”。
应用403向在客户端设备101上执行的媒体设备服务401发送(704)不指明设备的请求,以获得媒体设备103并且从媒体设备103获取视频流。
如上所述,应用框架301包括媒体设备服务的应用编程接口(例如媒体设备服务API402),其允许客户端设备101的应用的开发者开发能够与媒体设备交互的应用,而无需开发者具有媒体设备的特定于设备的函数和/或协议的实际知识。在一些实施例中,当向媒体设备服务401发送(704)不指明设备的请求时,应用403至少将视频流的标识符用作为不指明设备的请求函数的参数来调用媒体设备服务401的应用编程接口的不指明设备的请求函数(例如媒体设备服务API402的媒体设备服务函数404)。在一些实施例中,当向媒体设备服务401发送(704)不指明设备的请求时,应用403调用媒体设备服务401的应用编程接口的不指明设备的命令函数(例如媒体设备服务API402的媒体设备服务函数404)。
响应于不指明设备的请求,应用403通过输入端口304接收(706)视频流。
应用403生成(708)包括视频流的用户界面并且在耦接到客户端设备101的输出设备102上呈现(710)包括视频流的用户界面。在下面参考图9更详细地描述了操作708。
在一些实施例中,结合从用户接收的对视频流的选择来接收视频流的标识符。图8是根据一些实施例的用于从用户接收对视频流的选择的方法800的流程图。在一些实施例中,方法800由应用403执行。应用403向媒体设备服务401发送(802)查询,以识别通过耦接到客户端设备101的输入端口304的至少一个媒体设备,来对客户端设备101可用的至少一个视频流。
响应于该查询,应用403接收(804)与该至少一个视频流有关的信息。与该至少一个视频流有关的信息包括与该至少一个视频流相对应的至少一个标识符。
应用403在客户端设备101的输出设备102上呈现(806)与该至少一个视频流有关的信息。例如,应用403可以在输出设备102上呈现视频流列表。用户106然后可以使用输入设备105来选择视频流。应用403从用户106接收(808)对视频流的选择。
图9是根据一些实施例的用于生成(708)包括视频流的用户界面的方法900的流程图。在一些实施例中,方法900由应用403执行。应用403获取(902)用户界面的布局规范,其中布局规范包括用来呈现视频流的区域。例如,对于画中画用户界面,布局规范可以指定用户界面的第一区域待被用来显示来自web浏览器的内容,以及叠加在用户界面的第一区域顶部的用户界面的第二区域待被用来呈现视频流。
在一些实施方式中,用户界面的布局规范包括以使用HTML标签的HTML编写的布局规范。可以对HTML标签进行修改以包括私有扩展来协助用户界面的布局。在一些实施方式中,用户界面的布局规范包括使用应用框架301提供的函数和/或标记语言的布局规范。
应用403使用布局规范来生成(904)用户界面。应用403然后在用来呈现视频流的区域中呈现(908)视频流。例如,应用403可以基于布局规范和视频流来生成视频和/或音频信号,并且通过输出端口305将这些视频和/或音频信号传输给输出设备102。
在一些实施例中,应用403通过对视频流进行缩放以适合用来呈现视频流的区域,来在用来呈现视频流的区域中呈现视频流。
图7-9中所图示的方法可以受被存储在计算机可读存储介质中并且由客户端设备的一个或多个处理器执行的指令控制。图7-9中所示的操作中的每一个可以对应于存储在非暂时性计算机存储器或计算机可读存储介质中的指令。在各种实施方式中,非暂时性计算机可读存储介质包括磁或光盘存储设备、诸如闪存的固态存储设备、或一个或多个其他非易失性存储器设备。存储在非暂时性计算机可读存储介质上的计算机可读指令可以以源代码、汇编语言代码、目标代码或由一个或多个处理器解释和/或可执行的其他指令格式。
可以为在本文被描述为单个实例的组件、操作或结构提供多个实例。最后,在各种组件、操作和数据存储之间的边界有些任意性,并且在特定说明性配置的情境下说明了特定操作。功能的其他分配是预期的,并且可以落在实施例的范围内。总的来说,被展现为示例配置中的分离组件的结构和功能可以被实现为组合的结构或组件。类似地,被展现为单个组件的结构和功能可以被实现为分离组件。这些和其他变化、修改、添加和改进落在实施例的范围内。
还应当理解的是,尽管用语“第一”、“第二”等可以在本文用来描述各种元素,然而,这些元素不应当受这些用语限制。这些用语仅用来区分不同元素。例如,第一联系人可以被称为第二联系人,并且类似地,第二联系人可以被称为第一联系人,其改变描述的含义,只要“第一联系人”的所有出现均被一致地重命名,并且第二联系人的所有出现均被一致地重命名。第一联系人和第二联系人两个都是联系人,但是他们不是同一联系人。
在本文所使用的术语仅出于描述特定实施例的目的,并且并不意在限制权利要求。如在对实施例和所附权利要求的描述中所使用的,除非上下文另外清楚表明,单数形式不定冠词和定冠词意在也包括复数形式。还应当理解的是,如在本文所使用的用语“和/或”是指并且包括相关联的列出的项中的一个或多个的任何和所有可能组合。应当进一步理解的是,用语“包括”和/或“包含”当在本说明书中使用时,指定陈述的特征、完整物、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其他特征、完整物、步骤、操作、元素、组件和/或其组的存在或添加。
如在本文所使用的,取决于上下文,用语“如果”可以被解释成意为“在…时”或“当…时”或“响应于确定”或“根据…确定”或“响应于检测到”陈述的先决条件为真。类似地,取决于上下文,短语“如果确定(陈述的先决条件为真)”或“如果(陈述的先决条件为真)”或“当(陈述的先决条件为真)时”可以被解释成意为“当确定…时”或“响应于确定”或“根据…的确定”或“当检测到…时”或“响应于检测到”陈述的先决条件为真。
出于说明目的,已参考特定实施例描述了前面描述。然而,上面的说明性论述并不意在穷尽或将实施例限制在所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择并描述了实施例,以便最好地说明原理及其实际应用,从而使本领域技术人员能够最好地利用所述实施例以及带有适于预期的特定用途的各种修改的各种实施例。

Claims (22)

1.一种用于由客户端设备上的应用框架内的应用执行的呈现视频流的方法,所述客户端设备具有至少一个处理器和至少存储所述应用的存储器,所述应用用于由所述至少一个处理器执行以执行所述方法,所述方法包括:
从所述客户端设备的用户接收获取视频流的不指明设备的请求,所述不指明设备的请求包括所述视频流的统一资源标识符URI,所述URI包括:(1)对所述视频流的多个内容源类型的特定内容源类型的引用以及(2)所述视频流的至少一个特定于内容源类型的参数;
基于所述特定内容源类型,确定所述视频流能够从耦接到所述客户端设备的多个媒体设备的特定媒体设备获得,所述特定媒体设备具有所述特定内容源类型的内容;
在所述客户端设备上的所述应用框架内执行的媒体设备服务处将所述不指明设备的请求映射到针对所述特定媒体设备的特定于设备的请求,包括映射所述至少一个特定于内容源类型的参数;
将所述特定于设备的请求发送到所述特定媒体设备;
响应于所述不指明设备的请求,从所述特定媒体设备接收所述视频流;
生成包括所述视频流的用户界面;以及
在耦接到所述客户端设备的输出设备上呈现包括所述视频流的所述用户界面。
2.根据权利要求1所述的方法,其中所述应用框架包括所述媒体设备服务的应用编程接口。
3.根据权利要求2所述的方法,进一步包括:至少将所述视频流的所述URI用作为所述媒体设备服务的所述应用编程接口的不指明设备的请求函数的参数,来调用所述不指明设备的请求函数。
4.根据权利要求3所述的方法,其中接收所述视频流包括响应于对所述应用编程接口的所述不指明设备的请求函数的所述调用,接收所述视频流。
5.根据权利要求2所述的方法,进一步包括通过调用所述媒体设备服务的所述应用编程接口的不指明设备的命令函数来向所述媒体设备服务发送不指明设备的命令,所述媒体设备服务被配置成将所述不指明设备的命令函数映射到针对所述媒体设备的特定于设备的命令。
6.根据权利要求5所述的方法,其中所述媒体设备服务包括多个媒体设备库,其中相应媒体设备库包括在不指明设备的命令和针对相应媒体设备的特定于设备的命令之间的映射。
7.根据权利要求1所述的方法,其中所述媒体设备服务包括多个媒体设备库,其中相应媒体设备库包括在不指明设备的请求和针对相应媒体设备的特定于设备的请求之间的映射。
8.根据权利要求1所述的方法,进一步包括在从所述客户端设备的所述用户接收所述特定于设备的请求之前:
向所述媒体设备服务发送查询,以识别通过耦接到所述客户端设备的至少一个媒体设备对所述客户端设备可用的至少一个视频流;
响应于所述查询,接收与所述至少一个视频流有关的信息,其中所述至少一个视频流包括所述视频流,以及其中与所述至少一个视频流有关的所述信息包括与所述至少一个视频流相对应的至少一个标识符;
在所述客户端设备的所述输出设备上呈现与所述至少一个视频流有关的所述信息;以及
从所述用户接收对所述视频流的选择。
9.根据权利要求1所述的方法,其中生成包括所述视频流的所述用户界面包括:
获取所述用户界面的布局规范,所述布局规范包括用来呈现所述视频流的区域和用来呈现与第一内容不同的第二内容的第二区域;
使用所述布局规范来生成所述用户界面;以及
在所述区域中呈现所述视频流以及在所述第二区域中呈现所述第二内容。
10.根据权利要求9所述的方法,其中在所述区域中呈现所述视频流包括对所述视频流进行缩放以适合在所述区域中。
11.根据权利要求1所述的方法,其中所述媒体设备从由下述组成的组中来选择:
数字视频录像机;
卫星无线电机顶盒;
空中无线电调谐器;
空中电视调谐器;
卫星电视机顶盒;
有线电视机顶盒;
网际协议电视机顶盒;以及
游戏控制台。
12.根据权利要求1所述的方法,其中所述视频流从由下述组成的组中来选择:
电影;
视频剪辑;
电视节目;
来自数字视频录像机上的记录的视频流;
来自电视频道的视频流;
来自视频点播服务的视频流;以及
来自游戏的视频流。
13.根据权利要求1所述的方法,其中所述输出设备从由下述组成的组中来选择:
监视器;
投影仪;以及
电视。
14.一种用于由客户端设备上的应用框架内的应用执行的呈现视频流的系统,所述客户端设备具有至少一个处理器和至少存储所述应用的存储器,所述应用用于由所述至少一个处理器执行,所述系统包括:
用于从所述客户端设备的用户接收获取视频流的不指明设备的请求的装置,所述不指明设备的请求包括所述视频流的统一资源标识符URI,所述URI包括:(1)对所述视频流的多个内容源类型的特定内容源类型的引用以及(2)所述视频流的至少一个特定于内容源类型的参数;
用于基于所述特定内容源类型,确定所述视频流能够从耦接到所述客户端设备的多个媒体设备的特定媒体设备获得的装置,所述特定媒体设备具有所述特定内容源类型的内容;
用于在所述客户端设备上的应用框架内执行的媒体设备服务处将所述不指明设备的请求映射到针对所述特定媒体设备的特定于设备的请求,包括映射所述至少一个特定于内容源类型的参数的装置;
用于将所述特定于设备的请求发送到所述特定媒体设备的装置;
用于响应于所述不指明设备的请求,从所述特定媒体设备接收所述视频流的装置;
用于生成包括所述视频流的用户界面的装置;以及
用于在耦接到所述客户端设备的输出设备上呈现包括所述视频流的所述用户界面的装置。
15.根据权利要求14所述的系统,其中所述应用框架包括所述媒体设备服务的应用编程接口。
16.根据权利要求15所述的系统,其中用于向所述特定媒体设备服务发送所述特定于设备的请求的所述装置包括:用于至少将所述视频流的所述URI用作为所述媒体设备服务的所述应用编程接口的不指明设备的请求函数的参数来调用所述不指明设备的请求函数的装置。
17.根据权利要求14所述的系统,进一步包括用于在从所述客户端设备的所述用户接收所述不指明设备的请求之前进行以下的装置:
向所述媒体设备服务发送查询,以识别通过耦接到所述客户端设备的至少一个媒体设备对所述客户端设备可用的至少一个视频流;
响应于所述查询,接收与所述至少一个视频流有关的信息,其中所述至少一个视频流包括所述视频流,以及其中与所述至少一个视频流有关的所述信息包括与所述至少一个视频流相对应的至少一个标识符;
在所述客户端设备的所述输出设备上呈现与所述至少一个视频流有关的所述信息;以及
从所述用户接收对所述视频流的选择。
18.根据权利要求14所述的系统,其中用于生成包括所述视频流的所述用户界面的所述装置包括:
用于获取所述用户界面的布局规范的装置,所述布局规范包括用来呈现所述视频流的区域和用来呈现与第一内容不同的第二内容的第二区域;
用于使用所述布局规范来生成所述用户界面的装置;以及
用于在所述区域中呈现所述视频流以及在所述第二区域中呈现所述第二内容的装置。
19.根据权利要求18所述的系统,其中用于在所述区域中呈现所述视频流的所述装置包括用于对所述视频流进行缩放以适合在所述区域中的装置。
20.根据权利要求14所述的系统,其中所述媒体设备从由下述组成的组中来选择:
数字视频录像机;
卫星无线电机顶盒;
空中无线电调谐器;
空中电视调谐器;
卫星电视机顶盒;
有线电视机顶盒;
网际协议电视机顶盒;以及
游戏控制台。
21.根据权利要求14所述的系统,其中所述视频流从由下述组成的组中来选择:
电影;
视频剪辑;
电视节目;
来自数字视频录像机上的记录的视频流;
来自电视频道的视频流;
来自视频点播服务的视频流;以及
来自游戏的视频流。
22.根据权利要求14所述的系统,其中所述输出设备从由下述组成的组中来选择:
监视器;
投影仪;以及
电视。
CN201280052144.0A 2011-08-26 2012-08-24 用于呈现视频流的系统和方法 Active CN103907357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810282674.3A CN108600820B (zh) 2011-08-26 2012-08-24 用于呈现视频流的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161528111P 2011-08-26 2011-08-26
US61/528,111 2011-08-26
PCT/US2012/052370 WO2013032944A1 (en) 2011-08-26 2012-08-24 System and method for presenting a video stream

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810282674.3A Division CN108600820B (zh) 2011-08-26 2012-08-24 用于呈现视频流的系统和方法

Publications (2)

Publication Number Publication Date
CN103907357A CN103907357A (zh) 2014-07-02
CN103907357B true CN103907357B (zh) 2018-04-27

Family

ID=47756769

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810282674.3A Active CN108600820B (zh) 2011-08-26 2012-08-24 用于呈现视频流的系统和方法
CN201280052144.0A Active CN103907357B (zh) 2011-08-26 2012-08-24 用于呈现视频流的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810282674.3A Active CN108600820B (zh) 2011-08-26 2012-08-24 用于呈现视频流的系统和方法

Country Status (5)

Country Link
US (1) US20150181272A1 (zh)
EP (1) EP2749035A4 (zh)
KR (1) KR101952666B1 (zh)
CN (2) CN108600820B (zh)
WO (1) WO2013032944A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959795B (zh) * 2011-10-04 2018-02-13 谷歌有限责任公司 用于获得视频流的系统和方法
KR102227161B1 (ko) * 2015-12-16 2021-03-15 그레이스노트, 인코포레이티드 동적 비디오 오버레이
US10140271B2 (en) 2015-12-16 2018-11-27 Telltale, Incorporated Dynamic adaptation of a narrative across different types of digital media
CN105681705A (zh) * 2016-01-28 2016-06-15 中国科学技术大学先进技术研究院 一种视频投影方法和系统
KR20200040212A (ko) * 2017-05-10 2020-04-17 휴메인, 인코포레이티드 웨어러블 멀티미디어 디바이스 및 애플리케이션 에코 시스템을 갖는 클라우드 컴퓨팅 플랫폼
US10362356B2 (en) * 2017-06-22 2019-07-23 Google Llc Efficient insertion of media items in media streams
US10791003B2 (en) 2017-10-30 2020-09-29 Intel Corporation Streaming on diverse transports
US10820023B2 (en) 2017-12-28 2020-10-27 Dish Network L.L.C. Remotely generated encoding metadata for local content encoding
US10375441B2 (en) 2017-12-28 2019-08-06 Dish Network L.L.C. Locally generated spot beam replacement
US11079916B2 (en) * 2019-01-14 2021-08-03 Microsoft Technology Licensing, Llc Multiple source media management
US11196787B2 (en) * 2019-07-08 2021-12-07 Microsoft Technology Licensing, Llc Server-side rendered audio using client audio parameters
US11651749B2 (en) * 2020-11-02 2023-05-16 Panduit Corp. Display layout optimization of multiple media streams
CN112751932A (zh) * 2020-12-30 2021-05-04 北京云派网络科技有限公司 通过视频流及固定指令远程查看手机应用信息的方法
CN114339314A (zh) * 2021-12-28 2022-04-12 杭州海康威视系统技术有限公司 取流控制方法及装置
CN114630134B (zh) * 2022-03-04 2023-08-04 北京奇艺世纪科技有限公司 一种针对新增码流的处理方法和系统
KR102482423B1 (ko) 2022-10-12 2022-12-28 주식회사 와이드테크 인터넷 텔레비전을 이용한 애플리케이션 마켓형 플랫폼 서비스 제공 방법 및 이를 제공하는 텔레비전
KR102504102B1 (ko) 2022-10-19 2023-02-28 주식회사 와이드테크 인터넷 텔레비전을 이용한 라이브 방송 송출 서비스 제공 방법을 제공하는 텔레비전

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233621A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd 参照情報送信システム、方法、およびプログラム
CN1890662A (zh) * 2003-09-29 2007-01-03 千兆科技(深圳)有限公司 内容定向的索引和搜索方法与系统
CN1961561A (zh) * 2004-04-07 2007-05-09 诺基亚公司 传送sip中的内容间接使用的uri的方法和装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473804B1 (en) * 1999-01-15 2002-10-29 Grischa Corporation System for indexical triggers in enhanced video productions by redirecting request to newly generated URI based on extracted parameter of first URI
US6326982B1 (en) * 1999-06-24 2001-12-04 Enreach Technology, Inc. Method and apparatus for automatically accessing web pages based on television programming information
KR100424481B1 (ko) * 2000-06-24 2004-03-22 엘지전자 주식회사 디지털 방송 부가서비스 정보의 기록 재생장치 및 방법과그에 따른 기록매체
US7206853B2 (en) * 2000-10-23 2007-04-17 Sony Corporation content abstraction layer for use in home network applications
US7305697B2 (en) * 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
US7831992B2 (en) * 2002-09-18 2010-11-09 General Instrument Corporation Method and apparatus for forwarding television channel video image snapshots to an auxiliary display device
US7496845B2 (en) * 2002-03-15 2009-02-24 Microsoft Corporation Interactive presentation viewing system employing multi-media components
WO2008060140A1 (en) * 2006-11-14 2008-05-22 Adjustables B.V. System for video presentations with adjustable display elements
US20080178198A1 (en) * 2007-01-22 2008-07-24 Media Ripple, Llc Distributed digital media management
US8417804B2 (en) * 2007-04-20 2013-04-09 At&T Intellectual Property I, Lp System for presenting media programs
CN101388883B (zh) * 2007-09-12 2012-04-25 华为技术有限公司 多媒体会话中特定设备的管理方法、系统和设备
US20090094646A1 (en) * 2007-10-04 2009-04-09 At&T Knowledge Ventures, L.P. Method and system for content mapping
CN101926089B (zh) * 2008-01-29 2013-11-06 Nxp股份有限公司 具有功率放大器的电路和放大方法
KR101443632B1 (ko) * 2008-04-11 2014-11-03 엘지전자 주식회사 녹화/재생 장치, 콘텐츠 위치 관리 서버, 정보저장매체,콘텐츠 정보 관리 방법 및 콘텐츠 정보 관리 방법을 기록한기록매체
US8402497B2 (en) * 2009-02-05 2013-03-19 Purplecomm Inc. Meta channel network-based content download technology
US9602775B2 (en) 2009-05-07 2017-03-21 Centurylink Intellectual Property Llc Auto discovery and auto provisioning of set top boxes
US8904450B2 (en) * 2009-10-13 2014-12-02 Sony Corporation Individual internet video link channel
CN101794298A (zh) * 2010-01-22 2010-08-04 中兴通讯股份有限公司 一种实现页面适配的方法、页面适配系统及通信系统
US8543660B2 (en) * 2011-05-27 2013-09-24 Verizon Patent And Licensing Inc. Systems and methods for bridging and managing media content associated with separate media content networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233621A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd 参照情報送信システム、方法、およびプログラム
CN1890662A (zh) * 2003-09-29 2007-01-03 千兆科技(深圳)有限公司 内容定向的索引和搜索方法与系统
CN1961561A (zh) * 2004-04-07 2007-05-09 诺基亚公司 传送sip中的内容间接使用的uri的方法和装置

Also Published As

Publication number Publication date
CN108600820B (zh) 2021-03-16
US20150181272A1 (en) 2015-06-25
KR20140053375A (ko) 2014-05-07
CN108600820A (zh) 2018-09-28
CN103907357A (zh) 2014-07-02
EP2749035A1 (en) 2014-07-02
EP2749035A4 (en) 2015-04-08
KR101952666B1 (ko) 2019-02-27
WO2013032944A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
CN103907357B (zh) 用于呈现视频流的系统和方法
US11212571B2 (en) Aggregation and presentation of video content items with search service integration
US10555020B2 (en) Aggregation and presentation of video content items for multiple users
CN103959795B (zh) 用于获得视频流的系统和方法
EP2617190B1 (en) Content capture device and methods for automatically tagging content
US8849827B2 (en) Method and apparatus for automatically tagging content
CN103959286B (zh) 用于识别媒体项的可用性的系统和方法
US8666978B2 (en) Method and apparatus for managing content tagging and tagged content
CN103918277B (zh) 用于确定媒体项正被呈现的置信水平的系统和方法
CN104065979A (zh) 一种动态显示和视频内容相关联信息方法及系统
US20120067954A1 (en) Sensors, scanners, and methods for automatically tagging content
JP2021193620A (ja) 静的ナレッジグラフおよび時間的ナレッジグラフに基づいて用語の曖昧性を除去するためのシステムおよび方法
US11758212B2 (en) Aggregation and presentation of video content items with feed item customization
JP2005130196A (ja) コンテンツ提供サービスシステム
US9124906B2 (en) System and method for simplifying discovery of content availability for a consumer
Wang et al. Personalized Smart TV System Developed Using a Service Composition Platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant