用于渲染在多个窗口上观看的视频的方法和系统转让专利

申请号 : CN201310000989.1

文献号 : CN103268207B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : P·K·S·帕拉N·拉杰普特

申请人 : 国际商业机器公司

摘要 :

用于渲染在第一页面上已经被第二页面的后续观看阻塞观看的视频的显示以便在该后续观看的第二页面上观看的计算机实现的方法、计算机程序产品和计算机系统。从该第一页面的源代码中识别该视频的源位置,获取所识别的视频源,并且随后将其输入到该第二页面的源代码中以向该第二页面传递该视频。然后可以在该第二页面上显示该视频。计算机程序产品和计算机系统都可以包括大量用于实现该视频从第一页面到第二页面的传递以便该视频的连续无阻碍或无阻塞观看的程序指令。

权利要求 :

1.一种用于渲染视频的计算机实现的方法,包括:

观看计算机化设备上的第一页面,所述第一页面具有可视内容;

在观看所述第一页面之后观看所述计算机化设备上的第二页面,所述第二页面阻塞所述第一页面上的所述可视内容的显示;

从所述第一页面的源代码内识别所述可视内容的源位置;

获取所述可视内容的源位置;

将所述可视内容的源位置输入到所述第二页面的源代码中以向所述第二页面传递所述可视内容;以及在所述第二页面上显示所述可视内容。

2.如权利要求1所述的计算机实现的方法,其中所述第一页面包括窗口内的第一标签,并且所述第二页面包括所述窗口或第二窗口内的第二标签。

3.如权利要求1所述的计算机实现的方法,其中所述第一页面包括第一窗口,并且所述第二页面包括所述第一窗口或第二窗口内的标签。

4.如权利要求1所述的计算机实现的方法,其中所述可视内容包括视频。

5.如权利要求1所述的计算机实现的方法,还包括:所述第一页面具有所述可视内容和音频两者,从而所述可视内容和所述音频被传递到并且被显示在所述第二页面处。

6.如权利要求1所述的计算机实现的方法,其中所述第一页面包括被所述第二页面的观看或开启阻塞的可视内容的多个显示,并且可视内容的这些多个显示中的一个或多个显示被传递到所述第二页面以便在所述第二页面上显示。

7.如权利要求1所述的计算机实现的方法,还包括:在所述计算机化设备上开启多个页面,所述多个开启页面中的所选择的页面上具有一个或多个可视内容;

将所述一个或多个可视内容中的所选择的可视内容从所述多个开启页面中的一个或多个开启页面传递到所述第二页面。

8.如权利要求7所述的计算机实现的方法,其中按时间顺序存储所述多个开启页面,基于所述时间顺序在所述第二页面上显示所述一个或多个可视内容。

9.如权利要求7所述的计算机实现的方法,其中基于用户偏好来显示在所述第二页面上显示的所述一个或多个可视内容。

10.如权利要求1所述的计算机实现的方法,其中基于用户偏好来在所述第二页面上显示所述可视内容。

11.如权利要求1所述的计算机实现的方法,其中用户能够持续观看所述可视内容,同时在所述第二页面上进行多任务。

12.如权利要求1所述的计算机实现的方法,还包括将所述可视内容从所述第二页面传递到阻塞在所述第二页面上观看所述可视内容的另一个后续观看的页面,使得持续渲染所述可视内容以便观看。

13.如权利要求1所述的计算机实现的方法,还包括:确定所述计算机化设备上的所有开启页面;

将所有所述开启页面的标识存储在列表中;

从已识别的开启页面的所述列表中识别在其上具有可视内容的所选择的页面;

在所选择的页面上识别被所述列表中的任意其他开启页面阻塞的可视内容;

获取被阻塞的可视内容的源位置;并且

将所述被阻塞的可视内容的源位置嵌入到所述第二页面的源代码内以无阻塞地观看所述可视内容。

14.如权利要求1所述的计算机实现的方法,其中所述可视内容包括从包括以下视频的组群中选择的视频:正在所述第一页面上播放的视频、在所述第一页面上暂停的视频、在所述第一页面上停止的视频。

15.如权利要求1所述的计算机实现的方法,其中将所述可视内容的源位置整体传递到所述第二页面的源代码中,使得将整个可视内容传递到所述第二页面。

16.如权利要求1所述的计算机实现的方法,其中将所述可视内容的源位置的一部分传递到所述第二页面的源代码中,使得将所述可视内容的一部分传递到所述第二页面。

17.如权利要求1所述的计算机实现的方法,还包括:识别所述第一页面中的所述可视内容在被阻塞之前已播放的时间,将所述可视内容的源位置和已播放时间输入到所述第二页面的源代码中,并且用户在所述第二页面上从所述已播放时间向前观看所述可视内容。

18.如权利要求1所述的计算机实现的方法,其中在云计算环境中实现所述方法步骤。

19.一种用于渲染视频的系统,包括:

第一模块,其被配置为从在计算机化设备上观看的第一页面的源代码中识别可视内容的源位置,所述可视内容被在所述计算机化设备上的第二页面的观看阻塞;

第二模块,其被配置为获取所述可视内容的源位置;

第三模块,其被配置为将所述可视内容的源位置输入到所述第二页面的源代码中以向所述第二页面传递所述可视内容;以及第四模块,其被配置为在所述第二页面上显示所述可视内容。

说明书 :

用于渲染在多个窗口上观看的视频的方法和系统

技术领域

[0001] 本发明总体涉及视频在计算机上的显示,并且更具体而言涉及在计算机化设备上的多个窗口上观看视频和网络视频内容。

背景技术

[0002] 因特网是一种分配并且观看来自各种媒体源的视频内容以及用户生成的视频内容的盛行手段。可以在计算机化设备上显示来自各种源的各种不同类型的视频。例如,所显示的视频可以包括视频广告、录像广播视频(例如新闻广播、有线和/或电视表演和台等等)、用户生成的视频(例如由个体创建并且上传到特定网站的视频)以及甚至实时数据流视频(例如实况新闻覆盖、视频会议等等)。
[0003] 用户通常将在计算机化设备的窗口中开启并且观看视频。窗口可以包括一个或多个允许同时执行多个程序(即允许多任务)的程序并且在每个窗口中可以包括一个或多个标签。在第一标签中开启视频之后并且有可能甚至当正在播放视频时,用户可能开启该窗口中的另一个标签或者甚至开启该计算机化设备上的不同的窗口。例如,用户可以接收聊天消息并且开始聊天或者决定开启另一个标签或者甚至转到电子邮件。在该情况中,第一标签中开启并且正在播放的视频变得阻塞(即阻碍),从而用户不能观看该视频。视频的阻塞还可能导致视频完全停止播放。
[0004] 在视频变得阻塞之后,用户将遗漏观看该视频的内容直到用户回到具有该视频的窗口为止。在用户回到该窗口/标签之前,视频可能已经前进得很远了并且因而用户将必须从他早先离开的地方开始典型地通过手工处理来重放该视频。在从因特网缓冲视频的情况中,用户将必须再次缓冲该视频片段。
[0005] 在其他实例中,在视频变得阻塞之后,用户可能必须在各种开启标签和/或窗口之间来回浏览以观看开启的视频。当重新开启具有之前观看的视频的标签或窗口时,用户可能发现该水平已经停止播放或者如果页面已经前进到视频序列中的下一个视频则用户可能需要搜索该视频。通常,如果用户需要重新开启视频,则该视频不在该视频停止播放的地方开启。而是从视频的开头加载该视频并且用户必须再次观看整个视频。
[0006] 在其他实例中,用户可能在计算机化设备上开启多个窗口并且在不同的窗口上同时播放不同的视频。用户还可能需要在不同的开启视频之间来回浏览以观看正在上面播放的视频,因而,用户将错过当前未被观看的窗口上正在被播放的视频部分。
[0007] 因此,在本领域中一直需要一种用于渲染在多窗口计算机系统中观看的视频的计算机实现的方法、装置和计算机程序代码,其中在该系统中用户在多个窗口和/或标签上观看内容。

发明内容

[0008] 根据本发明的一个实施方式,本发明涉及一种通过在计算机化设备上观看具有可视内容的第一页面并且在观看该第一页面之后在该计算机化设备上观看第二页面来渲染视频的计算机实现的方法。通过这么做,该第二页面阻塞该第一页面上的该可视内容的显示。然后从该第一页面的源代码中识别该可视内容的源位置,并且获取该可视内容的该源位置。然后将该可视内容的该源位置输入到该第二页面的源代码中以向该第二页面传递该可视内容。然后可以在该第二页面上显示该可视内容。
[0009] 在其他实施方式中,本发明涉及一种用于渲染视频的计算机程序产品。该计算机程序产品包括计算机可读存储介质以及全部都存储在该计算机可读存储介质上的第一程序指令、第二程序指令、第三程序指令和第四程序指令。该第一程序指令从在计算机化设备上开启的第一页面的源代码中识别可视内容的源位置,该可视内容被该计算机化设备上的第二页面的开启阻塞。该第二程序指令获取该可视内容的该源位置。该第三程序指令将该可视内容的该源位置输入到该第二页面的源代码中以向该第二页面传递该可视内容。该第四程序指令在该第二页面上显示该可视内容。
[0010] 在其他实施方式中,本发明涉及一种包括中央处理器(CPU)、计算机可读存储器和计算机可读存储介质的计算机系统。该计算机系统还包括全部都存储在该计算机可读存储介质上以便被该CPU经由该计算机可读存储器执行的第一程序指令、第二程序指令、第三程序指令和第四程序指令。该第一程序指令从在计算机化设备上开启的第一页面的源代码中识别可视内容的源位置,该可视内容被该计算机化设备上的第二页面的开启阻塞。该第二程序指令获取该可视内容的该源位置。该第三程序指令将该可视内容的该源位置输入到该第二页面的源代码中以向该第二页面传递该可视内容。该第四程序指令在该第二页面上显示该可视内容。

附图说明

[0011] 图1A是在所选择页面上的一个或多个视频被后续观看或开启的视频阻塞的多个不同页面的表示。
[0012] 图1B-C是根据本发明的各种实施方式用于显示被传递到后续观看或开启的页面的被阻塞的视频以便该视频的无阻塞观看的不同页面的表示。
[0013] 图2A-B示出了根据本发明的各种实施方式用于在页面上渲染无阻塞视频的示例性处理流程和步骤的流程图。
[0014] 图3A-B显示了可以在其中实现本发明的实施方式的数据处理环境的示例图。
[0015] 注意到附图不是按比例画的。附图仅仅适用于本发明的典型的方案,并且因此不应该被视为限制本发明的范围。在附图中,在多个附图之间类似的附图标记表示相同的元素。

具体实施方式

[0016] 现在参考本发明的实施方式。但是应该理解本发明不限于具体描述的实施方式。而是预计以下特征和元素的任意组合来实现并且实施本发明,而不管是否涉及不同的实施方式。此外,虽然本发明的实施方式可以比其他可能的技术方案和/或现有技术实现优点,但是给定实施方式是否实现特定的优点不是本发明的限制。因此,下文的方案、特征、实施方式和优点仅仅是示例性的。类似地,对于“本发明”的参考不应该被解释为本文公开的任意创造性主题的概括。
[0017] 通常,当用户观看计算机化设备的第一页面上的视频并且随后点击另一个页面(即该第一窗口中的另一个标签或者开启新窗口)时,在该第一页面上正在被观看的视频变得阻塞。即新开启的页面阻碍观看在该第一页面上停留并且播放的视频。本发明的各种实施方式提供用于阻止当前正在被观看并且/或者收听的视频和/或音频被后续开启的页面阻塞的方法、系统和计算机程序产品。本发明的方法、系统和计算机程序产品使得能够将当前正在被观看并且/或者收听的视频和/或音频携带到新开启的页面(即后续观看的那些页面),使得该视频的观看和收听可以继续。
[0018] 非限制性的,为了易于理解本发明的各种实施方式,如本文所使用的术语“阻塞”是指由于新页面的开启而阻碍或者妨碍用户观看和/或收听的数字内容以及被停止一起播放或者操作的内容。本文中使用的术语“页面”是指计算机化设备上的窗口和标签。该窗口可以包括一个标签或者甚至在该窗口中同时开启的一个或多个标签。页面也可以是两个不同的窗口,每个窗口具有一个或多个在该计算机化设备上同时开启的标签。在本文中所使用的术语“内容”是指与视频、音频相关的数字数据或视频和音频数字数据,但并不局限于此。可视内容可以例如包括在计算机化设备上观看的静音的视频(即没有声音),音频内容可以是正在播放的歌曲,并且可视和音频内容都可以包括既包括可视输出又包括听觉输出的非静音视频(例如音乐视频、电影、新闻剪辑、实时视频会议等等)。
[0019] 本文所使用的术语仅仅是为了描述具体实施方式的目的并且不意图限制本发明。本文中所使用的单数形式“一”、“一个”和“该”还意图包括复数形式,除非上下文明确地另外指示。进一步要认识到,术语“包括”当在说明书中使用时指定所声明的特征、完整物体、步骤、操作和/或组件的出现但不排除一个或多个其他特征、完整物体、步骤、操作、组件和/或它们的组群的出现或添加。
[0020] 如本领域的熟练技术人员所理解的,可以将本发明的方案实现为系统、方法或计算机程序产品。因此,本发明的方案可以采取完全硬件的实施方式、完全软件的实施方式(包括固件、驻留软件、微代码等等)或者组合在这里可以通称为“电路”、“模块”或“系统”的软件和硬件方案的实施方式。此外,本发明的方案可以采取被实现在一个或多个具有实现在其上的计算机可读程序代码的计算机可读介质中的计算机程序产品的形式。
[0021] 可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电、磁、光、电磁、红外或半导体系统、装置或设备或前述的任意适当组合。计算机可读存储介质的更具体的实例(非详尽列表)包括以下各项:具有一个或多个电线的电气连接、便携式计算机盘片、随机访问存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备或前述的任意组合。
[0022] 在本文的背景中,计算机可读存储介质可以是任意有形介质,其可以包括、存储、通信、传播或者传输由或者结合指令执行系统、装置或设备使用的程序。注意,计算机可使用或计算机可读介质甚至可以是在其上打印程序的纸质或其他合适的介质,因为可以例如经由纸质或其他介质的光学扫描来电子地获取该程序然后编译、解释或者根据需要以合适的方式处理并且在计算机存储器中存储该程序。
[0023] 计算机可读信号介质可以包括具有实现在其中的计算机可读程序代码的传播数字信号,例如在基带中或者作为载波的一部分。这种传播信号可以采取多种形式中的任意形式,包括但不限于电磁、光或它们的任意合适的组合。计算机可读信号介质可以是非计算机可读存储介质并且可以通信、传播或者传输由或者结合指令执行系统、装置或设备使用的程序的任意计算机可读介质。可以使用任意合适的介质包括但不限于无线、有线、光纤电缆、RF等等或前述的任意合适的组合来发射实现在计算机可读介质上的程序代码。
[0024] 可以用一个或多个编程语言的任意组合来编写用于执行本发明的方案的操作的计算机程序代码,该编程语言包括面向对象的编程语言如Java、Smalltalk、C++等等和常规的过程编程语言如“C”编程语言或类似的编程语言。所述程序代码可以在用户的计算机上完整地、在用户的计算机上部分地、作为独立的软件包、在用户的计算机上部分地并且在远程计算机上部分地或者在远程计算机或服务器上完整地执行。在后一种情况中,可以通过包括局域网(LAN)或广域网(WAN)的任意类型的网络将远程计算机连接到用户的计算机,或者可以连接到外部计算机(例如通过使用因特网服务提供商的因特网)。
[0025] 下文参考根据本发明的实施方式的方法、装置(系统)和计算机程序产品的流程图说明和/或方框图来描述本发明的方案。将要认识到,可以由计算机程序指令实现流程图说明和/或方框图的每个方框以及流程图说明和/或方框图中的方框的组合。这些计算机程序指令也可以存储在可以指导计算机或其他可编程数据处理装置以特定方式运行的计算机可读介质中,使得存储在计算机可读介质中的指令产生包括用于实现流程图和/或方框图的方框中指定的功能/动作的指令模块的制品。
[0026] 还可以将计算机程序指令加载到计算机或其他可编程数据处理装置中以使得在计算机或其他可编程装置上执行一系列操作步骤,以产生计算机实现的过程。在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或方框图的方框中指定的功能/动作的过程。
[0027] 可以通过云计算架构向最终用户提供本发明的实施方式。云计算通常是指提供可扩展计算资源作为网络上的服务。更正式地说,云计算可以被定义为在计算资源与它的潜在技术架构(例如服务器、存储器、网络)之间提供提取的计算能力,使得能够便捷、按需地网络接入到可以被快速提供并且利用最少管理努力或服务提供商交互所提供和释放的可配置计算资源的共享池。因此,云计算允许用户访问“云”中的虚拟计算资源(例如存储器、数据、应用以及甚至完全虚拟化的计算系统),而不管用于提供计算资源的底层物理系统(或那些系统的位置)。
[0028] 典型而言,基于按每次使用付费来向用户提供云计算资源,其中仅针对实际使用的计算资源(例如由用户消耗的存储器空间的数量或者由用户实例化的虚拟系统的数量)向用户收费。用户可以在任意时间并且在因特网中的任意地方访问云中的资源。在本发明的背景中,用户可以访问在云中可用的应用或相关数据,允许从一个窗口/标签向另一个窗口/标签传递视频和/或音频。
[0029] 例如云计算环境的硬件、软件、网络、连接、服务等等向用户提供连续观看视频的在线服务,而不管用户是否通过将视频从它的原始窗口/标签(例如从原始URL)传递到该用户当前正在观看的窗口/标签来观看该窗口/标签。云计算识别视频并且将视频定位到该视频所处的窗口/标签的源代码中的确切的源位置,拷贝该视频的源位置并且将其上传到当前正在被用户观看的窗口/标签,使得向用户提供以无阻塞的方式观看视频的服务。当在云环境中主控浏览器时,浏览器被修改为接受云环境中的应用以便提供并且实现本发明的各种实施方式的服务。
[0030] 现在参考附图,图1A是计算机化设备上的多个不同页面打开的表示。作为在这里使用的术语页面,这些页面也可以是不同的窗口1、2、3、4等等或者开启窗口中的不同的标签1、2、3、4等等。页面“3”被显示为具有两个不同的视频,即视频1和视频2。可选择地,视频1可以在与视频2不同的页面上。视频1、2中的任意一个或两个可以在它们各自的页面上播放。在用户开启页面“4”之后,其中页面“4”再次可以是另一个标签或另一个窗口,视频1和视频2都被阻塞。在该情况中,用户无法观看视频1和视频2,因为这两个视频都被页面“4”阻塞,或者视频1和2中的任意一个或两个已经被页面“4”的开启停止播放。
[0031] 为了避免视频被如图1A中所示的后续页面开启所阻塞,本发明的各种实施方式使得来自以前开启页面的视频能够依附并且传递到后续开启页面以便在后续开启页面上观看。参考图1B,以前开启页面(例如页面“3”)上面可以具有一个或多个视频。这些视频中的至少一个或多个视频可以在该以前页面上被开启并且播放。当用户开启新页面(例如页面“4”)时,在以前页面(例如页面“3”)上开启并且播放的视频中的至少一个或多个与该新开启页面(例如页面“4”)一起移动。
[0032] 图1B显示了与该新开启页面(例如页面“4”)一起移动的至少一个视频(例如视频2)。但是,取决于由用户选择的特定偏好,可以将多个视频依附到另一个开启页面,包括来自不同页面的被依附到单个新开启页面的视频。图1C显示了被传递到新开启页面(例如页面“4”)的多个视频。例如可以从第一页面向新页面(例如页面“4”)传递一个或多个视频(例如来自页面“3”的视频1、2),并且可以从第二页面传递其他视频(例如来自页面“2”的视频3)。
[0033] 为了易于理解本发明,在这里参考被传递到新开启页面或后续开启页面的视频。但是,应该认识到并且理解视频可以被传递到开启页面的序列中的当前观看页面。用户可以从多个不同页面中选择希望的页面(或者多个页面)以向其传递一个或多个视频。这样,用户可以在多个不同页面之间来回浏览,同时在浏览不同页面的整个时间期间始终仍然能够观看视频。
[0034] 例如,如果用户在计算机化设备上具有五(5)个不同的页面开启,用户可以选择设备上的选项,该选项用于将由用户选择要传递的视频传递到该五(5)个不同的页面中的一个特定页面。作为一个实例,并且不是意味着限制,如果用户具有五(5)个不同的搜索窗口开启,其中一个或多个该搜索窗口具有视频,并且五个开启窗口是电子邮件窗口,则用户可以选择用于将一个或多个所选择视频传递到用户的电子邮件窗口以便用户可以观看该视频同时检查电子邮件的选项。这样,当用户检查电子邮件时,从具有视频的第一窗口到具有电子邮件的第二窗口的切换不阻塞或者阻碍第一窗口的视频。而是将该视频传递到第二窗口以便被用户观看。
[0035] 根据本发明的各种实施方式,视频被传递到的页面可以是最新开启页面(即最新开启窗口/标签)或者其可以位于由该用户开启的页面序列中(即多个窗口/标签)。在可选择的实施方式中,不是由用户选择将视频传递到哪个页面,而是通过默认设置,视频可以自动被传递到开启页面序列中的最新开启页面或者甚至传递到该页面序列中的每个都具有由用户观看的选项的全部页面。即,用户不必在视频被传递到的页面上观看该视频,而是用户可以具有在上面观看该视频的选项(例如通过选择观看视频选项键)。
[0036] 参考图2A-2B显示了本发明的用于根据本发明的一个或多个实施方式将视频传递到希望的或当前开启页面(窗口或标签)的处理流程。
[0037] 在开始本发明的方法、系统和程序产品之后,窗口定位器10组件定位计算机化设备上的开启页面。这些页面再次可以是不同的开启窗口或者一个或多个开启窗口中的一个或多个开启标签。在一个或多个实施方式中,定位的开启页面可以是计算机化设备上的全部开启页面(即每个开启页面)。在其他实施方式中,定位的开启页面可以仅仅是已经被用户特别选择或者指定的那些页面。即,用户可以选择特定感兴趣页面,该页面具有要被传递到希望的最终结果目标页面的视频。
[0038] 窗口定位器10唯一性地定义每个开启页面以及它的对应页面位置。页面标识可以包括页面URL或者可以在计算机化设备上或因特网上定义它的地址。将用于识别开启页面和它们的位置的数据存储在本发明的第一数据库12中。存储的页面标识也可以是以前开启页面中开启的或者由用户选择的窗口和/或标签的URL或者地址。
[0039] 视频检测器14组件获取存储在数据库12中的全部页面,包括与页面标识和位置相关的全部信息。视频检测器14获取每个页面的数字数据并且可以按照时间顺序或者该页面的开启顺序对这些页面进行组织和排序。可选择地,可以按照时间顺序或者下文将进一步讨论的本发明的焦点提取器18的顺序对所获取的页面进行组织和排序。
[0040] 在所获取的页面数据上执行查询16。可以由位于视频检测器14内部的组件执行或者可以由与视频检测器14独立的组件执行该查询16。查询16确定由视频检测器14获取的每个页面是否包括一个或多个视频和/或音频。具体而言,确定来自视频检测器14的任意页面是否具有视频/音频正在播放、被暂停或被停止播放。典型而言,视频显示包括音频(例如音乐视频)并且音频包括可视显示(例如停止、暂停和播放控制、音量控制、震动控制等等)。在各种实施方式中,定位并且识别全部这种可视和听觉信号以便根据本发明传递到不同的页面。
[0041] 如果不存在具有视频和/或音频的页面,则处理流程回到数据库12以继续处理任意由用户后续开启的页面。即本发明可以持续运行,因而在计算机化设备上的用户的当前会话期间在由用户开启的全部页面上实现本发明。存储数据也可以被保存用于稍后的会话并且在用户进入设备上的新会话之后被获取。
[0042] 参考查询16,如果确定来自被视频检测器14获取的页面的特定页面确实具有视频/音频正在播放、被暂停或被停止播放,则识别具有该视频和/或音频的那些页面。与具有视频和/或音频的这种页面的身份(例如URL)相关的信息被传递到本发明的焦点提取器18组件。还向焦点提取器18发送由视频检测器14获取的全部页面的完整列表。视频检测器14也可以按页面被打开的时间顺序对页面进行排序或者焦点提取器18可以按时间顺序对这些页面进行排序。
[0043] 通过查询20来分析具有视频和/或音频的页面的标识和按时间顺序排序的页面的列表。该分析确定包括视频/音频的任意所识别页面是否具有一个或多个被后续开启页面阻塞的视频/音频。查询组件20可以位于焦点提取器18中或者可以是与其独立的组件。
[0044] 具体而言,在已经生成按时间顺序开启页面的列表之后,将被识别为具有视频和/或音频的那些页面与时间顺序列表进行比较,以确定该页面中的哪个或哪些页面具有被后续页面的开启阻塞的视频/音频。即检测被阻塞的视频并且识别该被阻塞的视频/音频所处于的页面。这些被阻塞的视频和/或音频可能已经被开启并且播放,并且随后被下一个页面的开启阻塞。可选择地,视频/音频可能已经被暂停以意图在稍后继续播放,或者甚至被完全停止播放。暂停和停止的视频可以被另一个页面的后续开启阻塞。
[0045] 在确定并且生成被阻塞的视频和/或音频的列表之后,数据获取器22获取具有被阻塞的视频和/或音频的页面的数字数据。该数据包括被阻塞的视频的位置以及其在被阻塞前已经被播放的时间量。另一个数据获取器24获取目标页面36的数字数据。目标页面36是被阻塞的视频和/或音频要被传递到以便在上面观看或播放的最终结果页面。
[0046] 网页解析器26分析来自数据获取器22的被阻塞的视频页面的数字数据,以获取并且识别被阻塞的视频的源位置。在这么做时,可以确定被阻塞的视频的开始和结束(即起始和停止),识别该位置并且随后将其存储在数据库30中。也可以将具体的页面的位置和标识(例如URL)存储在数据库30中。可选择地,如果被阻塞的视频被暂停或停止,则可以与该视频的结束时间一起确定该视频被暂停或停止的时刻。视频被暂停或停止的时间(例如具体时间或该视频的已播放的时间量)和该视频的结束时间被识别并且被存储在数据库30中。在一个或多个实施方式中,可以识别来自一个或多个页面的多个被阻塞的视频的源位置(例如每个视频的起始和结束、视频被暂停/停止的时间点、结束时间等等),其中该多个被阻塞的视频数据全部被存储在数据库30中。
[0047] 网页解析器28分析来自数据获取器24的目标页面36的数字数据。在这么做时,目标页面36的源代码和数字数据结构被确定并且被存储在数据库32中。目标页面36的源代码和数字数据结构可以包括目标页面上该被阻塞的视频在该目标页面上可以被观看的一个或多个位置的标识。用户可以具有用于选择在该目标页面36上的哪里观看该视频的选项。即,可以由用户根据用户的偏好来选择在该目标页面上的哪里播放视频的位置、多个要播放的视频中所选择的视频以及播放视频的次序。可选择地,可以由目标页面的源代码默认地设置用于观看视频的精确位置。也可以向目标页面提供用于设置观看可以被传递到该新目标页面的多个视频中的特定视频的次序和优先级的源代码(即指令)。例如,当多个视频被阻塞并且被传递到目标页面时,本发明可以对实况流视频(例如与一个或多个个体的实况/实时聊天(即视频会议、skype等等)给予最高优先级,全部该个体的视频被同时移动以便被用户继续观看全部),次高优先级被给予流视频(例如youtube视频)、再次高优先级给予从计算机化设备本地播放的视频,以此类推。当然,用户可以基于希望的用户偏好而总是改变该设置。
[0048] 为了在目标页面36上观看被阻塞的视频,页面聚合器34接收来自数据库30的被阻塞的视频数据、来自数据库32的目标页面36的源代码和数字数据结构以及任意所选择的用户偏好。使用被阻塞的视频数据,页面聚合器34从该页面上该被阻塞的视频被识别为所处于的位置获取该被阻塞的视频。获取的数据可以是该被阻塞的视频的源位置。源位置是指这样一种具体位置,其中从该具体位置获取该被阻塞的视频。通常,在网页的源代码中可能不包括视频,而是具有到该视频在不同页面上所位于的源位置的链接。到视频的源位置的该链接可以被获取并且上传到第二页面的源代码中。可以例如从特定URL获取源位置,其中网页从该特定URL处嵌入视频(例如http://WWW.youtube.com/watch?v=trFfrOiCSWQ),可以从最终用户的计算设备上的特定存储单元获取该源位置,或者还可以从流应用如视频聊天系统如Skype获取该源位置。被传递的内容是在以前窗口中被播放的视频的位置和时间。将位置的链接与有助于将视频嵌入到新的目标页面中的任意附加代码一起嵌入到该新的目标页面中。
[0049] 页面聚合器34可以获取整个视频或者视频的一部分。可选择地,在已经识别有兴趣将多个视频传递到稍后开启的页面的情况中,可以完整地传递这些视频中所选择的视频,同时可以部分传递其他视频。
[0050] 页面聚合器34还获取目标页面36的源代码和数字数据结构。可以将视频将要被传递到目标页面36上的确切位置包括在由页面聚合器34接收的该目标页面的源代码和数字数据结构中。可选择地,可以根据用户偏好来设置该位置。页面聚合器34然后将被阻塞的视频的源位置和所需代码上传到目标页面的源代码和数字数据结构的所识别位置中。源位置的这种上传和包括修改了希望的最终页面(即目标页面的原始源代码)以导致新目标页面36具有不阻塞视频的源位置。将一个或多个视频传递到新目标页面36,以使得能够以不阻塞的方式观看该视频。
[0051] 根据本发明的各种实施方式,当开启新标签或窗口(即新目标页面36)时,由于视频被传递到该新标签或窗口,所以用户能够持续观看视频。用户还可以从一个或多个不同的标签或不同的窗口向该新目标页面36传递一个或多个视频。在一个或多个实施方式中,新目标页面仍然可以是最近开启的标签/窗口。由于可以将视频的一部分传递到新目标页面36,所以用户不仅可以在来自以前观看页面的视频的开头而且可以从该视频的任意部分在该新目标页面上观看该视频。例如,用户可能能够从该视频在以前窗口或标签中被停止的时刻观看该视频。这样,当用户从一个页面到该设备上的另一个页面时,无论是整个视频还是视频的一部分将不会丢失。通过观看来自以前页面的视频以及对该目标页面执行原任务,用户还可以在该新目标页面36上进行多任务(例如检查电子邮件、浏览、购物、聊天、即时消息、在线视频聊天等等)。
[0052] 应该认识到并且理解,本发明不仅用于预先记录的视频或在线存储的视频的传递,而且还包括在线视频聊天能力到当前观看页面(其可以是最近开启页面)的传递。实时视频聊天会议可以例如被自动移动并且传递到最近观看页面。虽然已经参考作为最近开启页面的页面,但是应该认识到并且理解该页面可以是多个开启的页面中的最近观看页面,因而在这些各种开启页面之间来回传递视频,从而可以由用户在所有时间观看该视频。即可以按照与用户观看多个不同标签/窗口的顺序相对应的顺序来顺次传递视频。
[0053] 本发明的各种实施方式携带并且保持多个标签或窗口上的视频和音频(例如歌曲)以避免视频被其他标签或窗口阻塞。可以在该视频中的特定时间点保存并且携带视频,因而用户可以在该视频中的该特定时刻或时间上观看或者重新开始播放。即通过将可视内容的源位置和已播放时间输入到第二页面的源代码中,可以识别可视内容在被阻塞之前在第一页面中被播放的时间。用户然后可以在第二页面上从该视频被阻塞的时刻(即从所识别的已播放时间开始)之后开始观看可视内容。当视频未开始播放时该已播放时间可以是时间t=0或者其可以是t=X,其中X是指在其已经开始播放之后该视频中的任意时刻或位置。在各种实施方式中,不管已播放时间是否已被识别并且随后被传递到第二页面,都可以将整个该视频传递到第二页面,使得用户可以从已播放时间“t”开始观看该视频,或者用户可以通过使用视频滑动器以从开头开始该视频来从开头观看该视频。本发明还向用户提供控制以设置用于选择并且观看希望的视频和/或音频的特定偏好。
[0054] 在图3A-B中显示了数据处理环境的示例图,其中可以在该数据处理环境中实现本发明的实施方式。应该认识到并且理解,这些附图仅仅是示例性的并且不适用于断言或暗示关于可以在其中实现不同实施方式的环境的任意限制。可以做出对所述环境的许多修改。
[0055] 在图3A中显示了可以在其中实现本发明的实施方式的数据处理系统的网络的表示。网络数据处理系统100可以是可以在其中实现示例性实施方式的计算机的网络。网络数据处理系统100包括网络102,网络102是用于提供在该网络数据处理系统100中被连接在一起的各种设备与计算机之间的通信链路的介质。网络102可以包括连接如电线、无线通信链路或光纤电缆。
[0056] 在所示实例中,服务器104和服务器106与存储单元108一起连接到网络102。另外,客户端110、112和114(例如个人计算机或网络计算机)连接到网络102。服务器可以向客户端110、112和114提供诸如启动文件、操作系统图像和应用之类的数据。网络数据处理系统100可以包括未显示的附加服务器、客户端和其他设备。位于网络数据处理系统100中的程序代码可以被存储在计算机可记录存储介质上并且被下载到数据处理系统或其他设备上以便使用。例如,程序代码可以被存储在服务器104上的计算机可记录存储介质上并且被通过网络102下载到客户端110上以便在客户端110上使用。
[0057] 网络数据处理系统100可以是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)族的协议来彼此通信的网络和网关的广域集合。在因特网的核心是主节点与主机之间的高速数据通信线路的骨干,其包括数千个商业、政府、教育或用于路由数据和消息的其他计算机系统。当然,还可以将网络数据处理系统100实现为例如内联网、局域网(LAN)、广域网(WAN)或者实现在云计算环境中的多种不同类型的网络。这些附图也是意味着实例而不是作为用于不同的示例性实施方式的架构性的限制。
[0058] 图3B的方框图示出了本发明的特定实施方式的数据处理系统。数据处理系统200是计算机(如图3A中的服务器或客户端110)的实例,其中用于实现该过程的计算机可用程序代码或指令可以位于该计算机中。数据处理系统200可以包括通信构造202,其提供处理器单元204、存储器206、永久存储器208、通信单元210、输入/输出(I/O)单元202与显示器214之间的通信。
[0059] 中央处理器(CPU)204用于执行可能装载在存储器206中的软件的指令。根据具体应用,处理器单元204可以是一个或多个处理器的集合或者可以是多处理器内核。此外,可以使用一个或多个异构处理器系统来实现处理器单元204,其中在该异构处理器系统中主处理器与从处理器一起存在于单个芯片上。作为另一个示例性实例,处理器单元204可以是包括多个相同类型的处理器的对称多处理器系统。
[0060] 存储器206和永久存储器208是存储器设备的实例。存储器设备可以是能够暂时和/或永久存储信息的任意硬件。在这些实例中,存储器206可以是例如随机访问存储器或任意其他合适的易失性或非易失性存储设备。永久存储器208可以根据具体的实现采取各种形式。永久存储器208可以例如包括一个或多个组件或设备。永久存储器208可以例如是硬盘驱动器、闪存、可重写光盘、可重写磁带或者以上的一些组合。由永久存储器208使用的介质还可以是可拆卸的。例如可拆卸硬盘驱动器可以用于永久存储器208。
[0061] 通信单元210提供与其他数据处理系统或设备的通信。在这些实例中,通信单元210可以是网络接口卡。通信单元210可以通过物理和无线通信链路中的任意一种或两种的使用来提供通信。输入/输出单元212允许与可能被连接到数据处理系统200的其他设备的数据的输入和输出。输入/输出单元212可以例如通过键盘和鼠标提供用于用户输入的连接。此外,输入/输出单元212可以向打印机发送输出。显示器214提供用于向用户显示信息的机制。
[0062] 用于操作系统和应用的指令或程序位于永久存储器208上。这些指令可以被加载到存储器206中以便被处理器单元204执行。可以由处理器单元204使用可以位于存储器(如存储器206)中的计算机实现的指令来执行不同实施方式的过程。这些指令被称为可以由处理器单元204中的处理器读取并且执行的程序代码、计算机可用程序代码或者计算机可读程序代码。可以将不同实施方式中的程序代码实现在不同的物理或有形计算机可读介质如存储器206或永久存储器208上。
[0063] 程序代码216可以以功能性的形式位于可以被选择性地拆卸的计算机可读介质218上,并且可以被装载到或者传递到数据处理系统200以便被处理器单元204执行。在这些实例中程序代码216(即指令)和计算机可读介质218形成计算机程序产品220。计算机可读介质218可以具有有形的形式,例如是被插入到或放置到驱动器或作为永久存储器208的一部分的其他设备中,以便传递到存储设备(如作为永久存储器208的一部分的硬盘驱动器)的光或磁盘。有形形式的计算机可读介质218还可以采取永久存储器的形式如硬盘驱动器、U盘或被连接到数据处理系统200的闪存。有形形式的计算机可读介质218还被称为计算机可记录存储介质。在一些实例中,计算机可读介质218可以是不可拆卸的。
[0064] 可选择地,可以将程序代码216经过到通信单元210的通信链路和/或经过到输入/输出单元202的连接,传递到数据处理系统200。在所示实例中该通信链路和/或连接可以是物理的或无线的。计算机可读介质还可以采取无形介质的形式如包括程序代码的通信链路或无线传输。
[0065] 在一些示例性实施方式中,可以通过网络将程序代码216从另一个设备或数据处理系统下载到永久存储器208以便在数据处理系统200中使用。可以例如通过网络,将服务器数据处理系统中的计算机可读存储介质中存储的程序代码从服务器下载到数据处理系统200。提供程序代码216的数据处理系统可以是服务器计算机、客户端计算机或能够存储和发送程序代码216的一些其他设备。
[0066] 数据处理系统200的这些实例同样不意味着限制。而是可以以各种形式实现数据处理系统200。数据处理系统200可以例如是计算机、工作站、膝上电脑、移动电话、个人数字助理或一些其他合适类型的数据处理系统。可以使用能够执行程序代码的任意硬件设备或系统来实现本发明的各种实施方式。
[0067] 附图中的流程图和方框图示出了根据本发明的各种实施方式的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。就这点而言,流程图或方框图中的每个方框可以表示模块、段或包括一个或多个用于实现指定的逻辑功能的可执行指令的代码的一部分。应该注意,在一些可选择的实现中,在方框中所示的功能可以不按照图中所示的次序发生。根据所涉及的功能,事实上可以例如基本上同时地执行或者可以按相反的次序执行连续显示的两个方框。还将注意到,可以由用于执行指定的功能或动作的基于专用硬件的系统或者专用硬件与计算机指令的组合来实现方框图和/或流程图中的每个方框和方框图和/或流程图中的方框的组合。
[0068] 为了说明和描述的目的给出了本发明的描述,并且不适用于穷举或将本发明限于所公开的形式。对于本领域的熟练技术人员而言许多改进和变形将是显而易见的。选择并且描述该实施方式以便最好地解释本发明的原理、实际应用并且允许本领域的普通技术人员理解本发明,具有各种改进的各种实施方式适用于所设想的具体使用。
[0069] 附图说明:
[0070] 图1A、B、C:
[0071] Video:视频
[0072] 图2A、B:
[0073] 10:窗口定位器
[0074] 12:开启窗口/标签和它们的位置的数据库
[0075] 14:视频检测器
[0076] 16:窗口具有视频?
[0077] 18:焦点提取器
[0078] 20:窗口被阻塞?
[0079] 22:获取用于具有被阻塞的视频的窗口的数据
[0080] 24:获取用于目标页面(即希望的窗口)的数据
[0081] 26:网页解析器:解析窗口以获得视频的URL和/或视频的源代码
[0082] 28:网页解析器:解析目标页面以获得结构数据和用户偏好数据
[0083] 30:存储被阻塞的视频数据
[0084] 32:存储目标页面数据
[0085] 34:页面聚合器
[0086] 36:具有无阻塞视频的新目标页面
[0087] 图3A
[0088] 102:网络
[0089] 108:存储器
[0090] 104、106:服务器
[0091] 110、112、114:客户端
[0092] 图3B
[0093] 204:处理器单元
[0094] 206:存储器
[0095] 208:永久存储器
[0096] 210:通信单元
[0097] 212:输入/输出单元
[0098] 214:显示器
[0099] 218:计算机可读介质
[0100] 216:程序代码