CN102414681A - 用于处理文档对象模型(dom)以处理视频内容的方法和系统 - Google Patents
用于处理文档对象模型(dom)以处理视频内容的方法和系统 Download PDFInfo
- Publication number
- CN102414681A CN102414681A CN2010800190152A CN201080019015A CN102414681A CN 102414681 A CN102414681 A CN 102414681A CN 2010800190152 A CN2010800190152 A CN 2010800190152A CN 201080019015 A CN201080019015 A CN 201080019015A CN 102414681 A CN102414681 A CN 102414681A
- Authority
- CN
- China
- Prior art keywords
- dom
- node
- switching node
- script
- branch
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了用于处理文档对象模型(DOM)以及处理视频内容的方法和系统。接收信息内容,其由DOM表示并且包括与该信息内容相关联的脚本语言;并且在脚本语言的执行之后DOM的原始内容被保存。此外,针对客户端设备而对视频内容进行适配。与信息内容相关联的脚本语言可以随同经修改的DOM和经处理的视频内容被发送到客户端设备。例如,对脚本语言进行预处理,以标识与视频相关的节点,并且保持所有其他原始节点。
Description
相关申请的交叉引用
本专利申请要求2009年3月30日提交的美国临时专利申请序列号61/164,625的优先权,其全部内容通过引用结合于此,如同其完全记载在本说明书中一样。
技术领域
本申请总体上涉及web浏览和网络通信的领域。更具体地,本申请涉及一种用于对来自web页面的信息进行适配和呈现以显示在客户端设备上的系统和方法。
背景技术
现在,有很多万维网web页面(超文本标记语言(HTML)文档)可提供各种各样的文本和非文本内容类型。如已知的,Web页面通常是通过诸如HTML的标准页面描述语言来格式化的,其通常包含文本,并且可以引用图形、声音、动画和视频数据。HTML提供了基本文档格式化,并且允许Web内容提供者指定去往其他Web服务器和文件的锚或者超文本链接。当用户选择一个特定超文本链接时,web浏览器读取并且转译地址(该地址称为与该链接相关的统一资源定位符(URL)),与该地址处的web服务器连接,并且发起对链接中标识的文件的超文本传输协议(HTTP)请求。然后Web服务器向Web浏览器发送所请求的文件,以解释该文件并且向用户显示。
在运行标准web浏览器的、带有大屏幕的传统桌面计算机或膝上型个人计算机上,HTML内容类型容易地被布置和显示以供查看。例如,用于查找房地产经纪人房产列表的网站通常传送大量的图像和文本用于观众快速浏览感兴趣的房产。当用户找到感兴趣的房产时,用户然后可以阅读与该特定房产相关的细节并选择该图像用于关于该房产的进一步细节。
这时,通信(更具体地,无线电信)领域现在正在扩展。这种技术扩展允许诸如移动个人数字助理(PDA)、手机、寻呼机、移动计算机的电子设备以及其他电子设备连接到例如web服务器或数据库之类的相同信息源,这就与传统个人计算机(PC)和基于PC的浏览器一样。若干小型设备客户端浏览器是可获得的,其可以从web向手持设备递送内容。
但是,这些小设备的屏幕空间或导航能力通常不足以显示意在显示于桌面计算机或膝上型电脑上的web内容。例如,与桌面计算机显示器相比,手持设备可具有尺寸较小的显示器,并且与桌面计算机相比可具有较少的处理功率。因此,在桌面计算机显示器上可显示的部分web内容(例如,图像和文本)可能无法显示在手持计算设备显示器上,除非对该图像和文本进行某些修改。此外,由于缺乏处理功率,手持设备可能无法显示需要较多处理的内容,例如flash内容和视频。
发明内容
在一个示例方面,提供了一种提供信息内容以供显示的方法。该方法包括:接收信息内容,该信息内容由文档对象模型(DOM)表示,并且包括与该信息内容相关联的脚本语言;以及在DOM上运行该脚本语言,获得对DOM的修改。该方法还包括:在脚本语言修改DOM的位置向DOM插入切换节点,其中该切换节点具有指示DOM的原始内容的第一分支以及指示脚本语言所执行修改的第二分支。该方法还包括:如果切换节点具有指示第一数据内容的分支,则标记所述切换节点,通过遵循切换节点的分支来处理DOM,使得对于已标记的切换节点,经修改分支被遍历,而对于未标记的切换节点,原始分支被遍历;以及输出经处理的DOM。
在另一示例方面,提供一种计算机可读介质,其中存储有计算设备可执行的指令,使所述计算设备执行如下功能:接收信息内容,该信息内容由DOM表示并且包括与该信息内容相关联的脚本语言;,以及在DOM上执行脚本语言,获得对DOM的修改。所述功能还包括:在脚本语言修改DOM的位置向DOM插入切换节点,其中切换节点具有指示DOM的原始内容的第一分支以及指示脚本语言所执行修改的第二分支。所述功能还包括:如果切换节点具有指示第一数据内容的分支,则标记所述切换节点,通过遵循切换节点的分支来处理DOM,使得对于已标记的切换节点,经修改分支被遍历,而对于未标记的切换节点,原始分支被遍历;以及输出处理的DOM。
在又一示例方面,提供一种服务器,包括:处理器;以及存储器,其包括所述处理器可执行的机器语言指令以执行功能,包括:接收信息内容,该信息内容由DOM表示并且包括与该信息内容相关联的脚本语言;以及在DOM上执行脚本语言以获得对DOM的修改。所述功能还包括:在脚本语言修改DOM的位置向DOM插入切换节点,其中切换节点具有指示DOM的原始内容的第一分支以及指示脚本语言进行的修改的第二分支;以及如果切换节点具有指示第一数据内容的分支,则标记切换节点。服务器还包括规格化器(normalizer),用于通过遵循切换节点的分支来处理DOM,使得对于已标记的切换节点,经修改分支被遍历,而对于未标记的切换节点,原始分支被遍历;以及输出处理的DOM。
上述摘要仅是说明性的而并非任何形式的限制。除了上述说明的方面、实施方式和特征之外,其他方面、实施方式和特征将参考附图和下列详细说明变得更明白。
附图说明
图1所示为用于对电子设备的信息内容进行访问、适配以及呈现的示例系统。
图2所示为示例计算设备的框图。
图3是表示为树形结构的示例示意文档对象模型(DOM)。
图4所示为提供信息内容的方法的示例步骤的流程图。
图5是另一表示为树形结构的示例示意DOM。
图6所示为表示为树形结构的示例示意DOM以及脚本语言修改script(脚本)节点的情况。
图7所示为表示为树形结构的示例示意DOM以及脚本语言修改一般节点的情况。
图8所示为表示为树形结构的示例示意DOM以及脚本语言通过移除子节点修改一般节点的情况。
图9所示为表示为树形结构的示例示意DOM以及脚本语言通过在被修改的节点之前插入新节点修改DOM的情况。
图10所示为表示为树形结构的示例示意DOM以及脚本语言通过在被修改的节点之后插入新节点修改DOM的情况。
图11所示为表示为树形结构的示例示意DOM以及脚本语言通过改变属性值修改节点的情况。
图12所示为表示为树形结构的示例示意DOM以及脚本语言替换具有指定为HTML串的内容的给定节点的子节点的情况(例如,执行Javascript函数“setInnerHtml”)。
具体实施方式
在下列详细描述中,参考形成此处一部分的附图。在图中,类似的符号典型地标识类似的组件,除非上下文另行指示。详细描述中的描述的解释性的实施方式、图和权利要求并非要限制。可利用其他实施方式,以及可做出其他改变,而不脱离此处呈现的主体的精神和范围。将易于理解本公开的方面,如这里总体说明的和图中所示的,可按多种不同的配置被布置、替换、组合和设计,所有这些显然是被考虑到的且是本公开的一部分。
在示例实施方式中,信息内容由文档对象模型(DOM)表示,并且包括与该信息内容相关的脚本语言。方法操作以执行脚本语言,保存DOM的原始内容,以及为客户端设备适配视频内容。此外,与信息内容相关的脚本语言还可被发送到客户端设备并且由客户端设备执行,而不是由服务器执行脚本语言以及完全修改DOM,然后其可被发送到客户端设备而不带脚本语言。通过将脚本语言发送到客户端设备,客户端设备可执行网站的更多功能。而且,信息内容的视频内容可被处理,以便向客户端设备提供预览图像和链接,客户端设备的用户可选择预览图像和连接来请求显示视频。服务器可接收该请求,适配该视频以便在客户端设备上观看,并且向客户端设备发送经适配或转码的视频。
根据示例实施方式,在处理期间,可以向DOM添加切换节点,并且可以标记与视频内容相关的那些切换节点。一旦这些节点被添加到DOM并被标记,服务器(例如,自适应内容加速器(ACA))可被操作以向主文档DOM添加静态图像和实时流协议(RTSP)链接。例如,对脚本语言进行预处理,以标识与视频下相关的节点并且保持所有其他原始节点。
现在参考图1,其示出了图示用于对电子设备的信息内容进行访问、适配以及呈现的示例系统100的高层框图。系统100包括信息源102、服务器104和客户端设备106.
信息源102包括任何类型的设备,例如web服务器、应用服务器、数据库或其他后端系统,或与信息提供者的任何接口。信息源102还可包括支持与信息内容的连接的多种设备或接口。信息源102提供用标记语言表达的信息内容,例如,那些本领域公知的标记语言包括超文本标记语言(HTML)、带有或不带可扩展样式表(XSL)的可扩展标记语言(XML)、语音XML、可扩展超文本标记语言(XHTML)、无线标记语言(WML)或可被客户端设备106处理的其他类型的语言。而且,信息内容可以引用信息信息源102所提供的文本、图像、视频或音频。信息内容可以是例如网站或web页面,或若干web页面。
服务器104可以经由服务器浏览器108通过任何类型的网络来访问信息源102。服务器浏览器108可在任何类型的网络中通过客户端浏览器110与客户端设备106通信。服务器浏览器108可用作客户端浏览器110与信息源102之间的用于观看web页面内容的代理。服务器浏览器108可用作信息源102的客户端以获取信息内容。例如,使用公知的通信协议组,例如传输控制协议/因特网协议(TCP/IP),服务器浏览器108可向信息源102发出超文本传输协议(HTTP)请求。通过利用HTTP请求,服务器浏览器108可访问信息内容,包括在信息源102的应用、静态和动态内容。
服务器浏览器108和客户端浏览器110可以驻留在同一平台上也可相互独立。例如,服务器浏览器108可宿留在后端服务器上,而客户端浏览器110可驻留在手持电子设备上,如图1所示。备选地,客户端设备106和服务器104可共存于同一设备上,二者的功能由此可相互替换。例如,服务器浏览器108和客户端浏览器110可宿留在例如在电子设备的相同平台上(如果平台或电子设备具有适当的硬件和网络能力)。因此,在这里的很多实施方式中,功能可描述为客户端浏览器110的一部分或服务器浏览器108的一部分。客户端浏览器110可执行被解释为服务器浏览器108执行的功能,以及服务器浏览器108可执行被解释为客户端浏览器110执行的功能。通过利用服务器和客户端浏览器,具有有限硬件能力的电子设备可访问特征丰富的信息或数据。
一般地,服务器104和客户端设备106包括中央处理单元、存储器(主存储器单元和/或次存储器单元)、用于接收数据的输入接口、用于从一个或多个输入设备(例如键盘、鼠标等)接收输入信号的输入接口以及用于与输出设备(例如监视器)通信的输出接口。一般而言,应当理解,服务器104和客户端设备106可包括使用集成电路开发技术或通过一些其他方法开发的硬件对象,或可排序、确定参数并连接在软件环境中以实现此处所述的不同功能的硬件和软件对象的组合。而且,硬件对象可使用电信号通信,信号状态表示不同的数据。还应注意,服务器104和客户端设备106通常可在操作系统的控制下执行驻留在服务器104和客户端设备106处的应用程序。例如服务器浏览器108和客户端浏览器110的应用程序可以存储在服务器104和客户端设备106中的存储器上,以及可使用机器语言指令或带有面向对象指令的软件来提供,例如Java编程语言。然而,也可使用其他编程语言(例如,例如C++编程语言)。
作为一个示例,客户端浏览器110可驻留在可以是电子设备的客户端设备106上,包括:任一个人计算机(PC)、无线电话、个人数字助理(PDA)、手持计算机、网络装置以及可具有导航能力的大量其他类型的电子设备(例如键盘、触摸屏、鼠标等)以及用于观看下载的信息内容的可选的显示器。而且,客户端设备106可包括具有利用语音合成标记的能力例如万维网联盟(W3C)语音可扩展标记语言(语音XML)的任何类型的设备。计算机系统领域的技术人员将理解示例实施方式不限于用于客户端设备106的计算机的任何具体的类或模型,且将能选择适当的系统。
在该示例中,客户端浏览器110驻留在客户端设备106上而且PC宿留服务器浏览器108,并且客户端设备106和PC都连接到以太网。继而,客户端浏览器110和服务器浏览器108可在以太网中执行信息事务。这种事务可使用以太网或类似的IEEE802.3协议。但是,在这个示例中,客户端和服务器浏览器通过有线网络通信。通信可能还包括无线网络例如局域无线网(LAWN)、无线局域网(WLAN)或蜂窝无线网。而且,通信可包括使用其他公知的协议和技术例如蓝牙、无线应用协议(WAP)、时分多址(TDMA)或码分多址(CDMA)的无线网络。
再参考图1,客户端浏览器110可向服务器浏览器108发送信息请求。客户端浏览器110可包括事件转译器112,其将来自客户端浏览器110的例如HTTP请求(例如,WML、XHTML、cHTML等)的请求/响应协议转换为服务器浏览器108可识别的事件。转译过程可包括事件信息、内容信息和事件的上下文,使得客户端浏览器110与信息源102之间的事务(例如,HTML表单提交)被保护。
来自信息源102的信息内容被获取,并且可被调整以便由服务器浏览器108在客户端浏览器110上使用。备选地,服务器浏览器108可获取信息,并且向客户端浏览器110发送该信息,由客户端浏览器110自己适当地调整该信息以用于观看。内容转换可能是必需的,因为被请求的内容(例如web页面)可能原本被设计为在PC的大屏幕上观看,而不是在手持设备的有限尺寸的屏幕上观看。因此,服务器浏览器108和/或客户端浏览器110可执行信息内容转译转换或应用设备专用类型的表以帮助呈现(例如,显示或语音)和导航(例如,键盘、触摸屏或滚轴),以及为电子设备接受有限数量的数据执行内容分组。
为了提供这些能力,服务器浏览器108和客户端浏览器110可包括例如用户代理、cookie处理机、文档对象模型(DOM)、脚本执行器、规格化器以及串行器的模块(未示出)。属于信息内容转换或定制的附加信息包括在名称为“System and method for accessingcustomized information over the internet using a browser for a pluralityof electronic devices”的美国专利号7,072,984、名称为“System andMethod for Displaying Information Content with Selective HorizontalScrolling”的美国专利申请公布号2004/0049737、名称为“System andMethod for Adapting Information Content for Electronic Device”的美国专利号7,500,188、名称为“System and Method for Web NavigationUsing Images”的美国专利申请公布号2007/0073777以及名称为“Method and System for Converting Interactive Animated InformationContent for Display on Mobile Devices”的美国专利申请公布号2008/0195692,每个文件的内容通过引用结合于此,如同其完全记载于本说明书中一样。
系统100包括用于将web内容修改为显示在客户端设备106上的格式的软件(在客户端设备106或服务器104中)。如这里所使用的,web内容可以指从信息源102接收的web页面,或从信息源102下载的文件。例如,web内容可包括文本块、图片、音频或视频文件。修改具有一个特征的web内容以形成具有不同特征的web内容被称为web内容转译,以及更一般地称为转译。Web内容的示例特征可包括(但不限于)字体规格、图像尺寸、视频比特率等。
图2所示为示例计算设备200的框图。在一个示例中,计算设备200可用作客户端设备,如图1所示。在另一示例中,计算设备200可用作服务器,如图1所示。计算设备200在输入接口202接收信息内容。例如,可从信息源或从中间代理服务器接收信息内容。信息内容可以是网站数据的形式,以及可被转码用于在客户端设备上观看,或者备选地,可以按照本原形式被接收并且可由计算设备200转码(如果需要)。
输入接口202连接到处理器204和浏览器206。处理器204可处理数据并控制计算设备200中组件的功能。处理器204可实现为处理器,其访问存储器208以执行其中存储的软件功能。计算机系统设计领域的技术人员将理解,示例实施方式不限于处理器的任何具体类型或模型。处理器204可根据操作系统运行,该操作系统可以是任何合适的市场上可买到的嵌入式或基于磁盘的操作系统,或任何专用操作系统。而且,处理器204可包含一个或多个较小的中央处理单元,例如包括可编程数字信号处理引擎或者也可实现为单个专用集成电路(ASIC)以提高速度并节省空间。一般而言,应当理解,处理器204可包括使用集成电路开发技术或通过一些其他方法开发的硬件对象,或可排序、确定参数并连接在软件环境中以实现此处所述的不同功能的硬件和软件对象的组合。而且,硬件对象可使用电信号通信,信号状态表示不同的数据。
例如,存储器208还存储诸如先前发送或接收的信号之类的信息。例如,存储器208还包括随机访问存储器(RAM)、闪存或长期存储设备,例如只读存储器(ROM)或磁盘。存储器208还存储处理器204可执行以执行此处所述功能的机器语言指令(例如,例如图4中所示的方法)。
浏览器206可包括TCP/IP引擎210和视频播放器212。浏览器206可接收信息内容并准备显示该信息内容。为此,浏览器206可按需要对信息内容进行格式化,例如通过对内容进行转码以便显示在手持设备上。在此方面,浏览器206可用作服务器浏览器,用以对将要发送到客户端设备的信息内容进行转码。备选地,例如,浏览器206可用作客户端浏览器,其具有在从服务器收到内容之后对信息内容进行转码的完全功能。或者,例如,浏览器206可作为向具有有限功能的客户端浏览器,并且可接收信息内容以及按照接收到的形式显示该内容。
TCP/IP引擎210操作以接收和发送对信息内容的请求。计算设备200可由处理器204操作,以将信息内容转换成请求客户端设备可访问的形式。例如,客户端设备可请求通常的web页面,计算设备200由此将接入因特网并获取所请求的web页面,继而浏览器206可将该web页面转换成客户端设备可访问的形式。在一些情况中,web页面将包括视频、影片或flash播放器内容,因此计算设备200将获取web页面并且使用视频播放器212将其加载到浏览器206上。浏览器206继而可按照需要修改web页面或视频内容,并将经修改的内容发送到客户端设备。备选地,计算设备可用作客户端设备,并且可操作以在客户端设备处执行修改和转码。
计算设备200还可包括规格化器,其作为独立元素214或者作为处理器204或浏览器206的组件。例如,规格化器214可用于将信息内容转换或转码成显示在客户端设备上的格式。
客户端或手持浏览器可使用多种技术来辅助用户导航web页面。例如,客户端浏览器可改变web内容的布局,改变图像的定位或文本字符的尺寸,或改变web页面用于显示在客户端设备上。
Web页面通常包括一系列嵌套的对象。对象组成web页面的文档对象模型(DOM)。例如,DOM是平台中立和语言中立的接口,允许程序和脚本动态访问和更新内容、结构以及对象的类型。例如,DOM还可被处理,并且处理结果可结合回web页面中。DOM可表示为HTML语言的形式,并且定义用于访问和操作HTML文档的标准方式。在一个示例中,DOM可以是HTML文档,并且可表示为树形结构。
图3是表示为树形结构的示例示意文档对象模型(DOM)。该DOM包括HTML文档。HTML文档包含HTML元素,其一般形式具有3个组成部分:一对元素标签,带有开始标签和结束标签,给标签中的元素的元素属性,以及将呈现在显示器上的文本和图形信息内容。标签在web页面内容中被尖括号包围。HTML文档还可包括或可用例如Javascript语言加载脚本,这影响HTML处理器例如web浏览器的性能,以及层叠样式表(CSS)定义文本和其他材料的外观和布局。在图3所示的示例中,HTML文档可以是下面表1所示的形式。
表1
为了将HTML文档表示为树形结构,树开始于根元素“<html>”,并且提供去往下一次级的元素的分支,例如HTML文档的head和body元素。Head分支包括元素标题,并且以文本“title”结束。Body分支本身具有2个分支,包括锚元素“<a>”和头部元素“<h1>”。这些分支的每一个包括文本,并且锚元素分支还包括超链接的属性。
HTML文档或web页面还可包括与web页面相关联或者包括在web页面中的脚本语言或协议。脚本语言的一个示例是Javascript,其是面向对象的脚本语言,用于支持对客户端应用和其他应用中的对象的程序访问。Javascript引擎可实现为web浏览器的组件,并且当在web页面中遇到Javascript时,例如Javascript引擎可执行该Javascript以提供增强的用户界面和动态的网站。
当执行脚本语言时,脚本语言可修改DOM以提供将要显示在web页面上的更多功能。例如,可执行脚本语言,并且当遇到web页面上的视频内容时,脚本语言可指示加载视频播放器以显示视频内容。例如,脚本语言可指示加载其他应用,或在web页面上以功能性方式显示条目。
本申请描述了用于在客户端设备上允许视频支持的系统和方法。当客户端设备请求例如web页面的信息内容时,服务器可接收该请求并获取web页面。例如,服务器继而可以执行与网站相关联的任何脚本语言并且按照所执行脚本语言的指示来修改网站的原始DOM,或者仅在与视频内容有关或包括视频内容的方面修改网站的原始DOM。例如,服务器可执行脚本语言并修改DOM以处理所请求网站中的视频内容,并且将经修改的DOM发送给客户端设备。客户端设备继而能够显示经处理的视频内容。
可以根据客户端设备的类型和样式来执行方法。例如,在具有特定浏览器能力的类型的客户端设备上(例如,无线电话),这种浏览器能力例如与桌面计算机类似的浏览器能力(例如,高端电话(HEP)模式),视频可通过客户端浏览器在流视频过程中提供给客户端设备。每个客户端设备的浏览器能力可能不同,并且浏览器要求也可能根据要传输并显示在客户端设备上的视频的类型和数量而有所变化。
图4所示为提供信息内容的方法400的示例步骤的流程图。在一个示例中,方法400被服务器或代理服务器执行,如图1所示。在另一示例中,方法400可被客户端设备执行,如图1所示。
图4的流程图展示了本实施方式的一个可能的实现的功能和操作。在这里,每个框可表示一个模块、段或程序代码的一部分,其包括处理器可执行的用于实现处理中的特定逻辑功能或步骤的一个或多个指令。程序代码可存储在任何类型的计算机可读介质上,例如,例如,存储设备包括盘或硬盘驱动器。此外,每个框可表示被连线以执行处理中的特定逻辑功能的电路。可替换的实现包括在本申请的示例实施方式范围中,其中可不按所示的或讨论的顺序执行功能,包括基本一致或以相反的顺序,取决于涉及的功能,这将被本领域技术人员所理解。
在这个示例中,方法400由服务器执行,服务器例如可以从客户端设备接收对信息内容的请求,并且服务器将从信息源接收信息内容,如框402所示。
接下来,服务器可以确定信息内容是否包括选定的数据(例如,视频数据),如框404所示。例如,服务器可参考包括具有视频数据的网站的列表,如果信息内容在列表中,服务器可确定信息内容包括视频数据。示例的列表可包括用于高端电话(HEP)视频网站的操作、管理、维护和供应(OAMP)列表。备选地,服务器可在信息内容中查找指示信息内容包括视频数据的HTML标识符,例如嵌入标签或对象标签。根据所查找的数据的类型,服务器可定位并且表示信息内容是否包括此类数据。
仍是备选地,可移除框404,并且可对所有信息内容执行方法400。然而,执行框404可以说明例如当信息内容不包括视频数据时对信息内容的处理。而且,例如,如果信息内容至少潜在地包括视频数据,可对信息内容执行框402。
仍是备选地,例如,可移除框404,并且可以仅对不支持视频的请求设备执行方法400。
视频数据可以包括任何类型的数据,包括动画,例如AdobeFlash、Microsoft Silverlight,Sun JavaFX,W3C SVG,Windows media,RealMedia,Quicktime,MPEG等。这些数据可被提供在具有多种形式的数据文件中,例如,例如(sw)文件扩展,(flv)文件扩展,源材料的(fla)文件扩展,以及MPEG文件扩展。还可以根据信息内容中数据的标识符将数据认定为视频数据。例如,如果数据由HTML嵌入标签或对象标签所包含或者引用,则可以认为该数据是一种视频数据。
如果信息内容不包括视频数据,则在需要的情况下,服务器可对信息内容进行转码,如框406所示。例如,基于所请求web页面中存在的信息,可以进行多种不同的内容转换或转码。交互的动画内容信息特别要求适当的转换。动画和特殊效果可能使用帧驱动的可缩放矢量图文件而被包括在web页面内容中,并且此类内容将被转换以用于在客户端设备上观看。例如,动画可被呈现为包括开始帧和结束帧以及中间帧动画。在开始和结束关键帧之间,对象的尺寸、旋转、颜色或其它属性可以是变化的,以创建运动的外观。备选地,可通过改变连续帧的内容来呈现动画。交互的动画内容文件的任何或全部帧可被服务器修改以及之后发送到请求的客户端设备。
属于信息内容转换或定制的类型的其他信息被包括在名称为“System and method for accessing customized information over theinternet using a browser for a plurality of electronic devices”的美国专利号7,072,984、名称为“System and Method for Displaying InformationContent with Selective Horizontal Scrolling”的美国专利申请公布号2004/0049737以及名称为“System and Method for AdaptingInformation Content for an Electronic Device”的美国专利号7,500,188中,其全部内容通过引用结合于此,如同其被完全记载于本说明书中一样。
随后,服务器可向客户端设备发送经转码的内容,如框408所示。
如果信息内容包括视频数据,则服务器将执行可与信息内容相关联的脚本语言,如框410所示。例如,Javascript之类的脚本语言可与信息内容相关联或被包括在信息内容中。服务器可包括脚本语言引擎,其与服务器浏览器相关联或被包括在服务器浏览器中,并且可执行脚本语言;当该脚本语言引擎被执行时,对信息内容的DOM进行修改。例如,在获取信息内容之后,服务器可在服务器浏览器上加载信息内容,此时,服务器浏览器将执行内联(inline)脚本元素。执行脚本语言将导致对DOM的修改。例如,在视频数据的情况下,对视频数据执行脚本语言将向视频数据节点附加新的子节点,其可以是包含视频源数据的嵌入标签或对象标签。备选地,对视频数据执行脚本语言将向视频数据节点附加子节点,其包含文本“这个浏览器不支持视频”消息。作为另一示例,在非视频数据的情况下,执行脚本语言将增加或替换原始DOM中的非视频数据节点的子节点。作为又一示例,对于原始DOM中的给定节点,执行脚本语言可移除指向web页面的锚标签,并且将该锚标签替换为指向不同web页面的另一锚标签。
在DOM中由于执行脚本语言而做出修改的每个位置,插入一个切换节点,如框412所示。例如,当执行脚本语言时,如果要对DOM进行修改,当修改特定节点时,切换节点被插入。切换节点替换原始节点并包括2个分支。切换节点的第一分支通向原始节点,切换节点的第二分支通向由于执行脚本语言而对DOM做出的修改。以这种方式,切换节点用于保持DOM的原始格式,且也用于包括DOM的经修改格式。
如框414所示,如果切换节点包括第一数据内容(例如,视频内容),则切换节点被标记。切换节点是DOM的一个节点,由此,可以通过在切换节点上包括HTML属性来标记该切换节点。为了标识切换节点是否包括视频内容,可在脚本语言所修改的DOM中查找嵌入标签或对象标签或者视频数据的其他标识符。例如,预设或指定的嵌入标签或对象标签或其他标签可以指示DOM的节点包括或者引用视频数据。
在这个示例中,第一数据内容是视频内容。然而,第一数据内容可以是需要规格化器进行特定处理的任何类型的选定数据内容。例如,第一数据内容可以是可按特定方式处理的JPEG内容。备选地,第一数据内容可以是音频内容或文本内容。通过标记切换节点,可以选择和标识任何类型的内容,使得例如在规格化期间,可以按照不同于未标记切换节点的方式来处理已标记切换节点。
接下来,修改的DOM被传递给规格化器并被相应地处理,如框416所示。例如,可以通过遵循切换节点的分支来处理DOM,使得对于已标记的切换节点,经修改分支被遍历,而对于未标记的切换节点,原始分支被遍历。因此,在一个示例中,一旦文档解析已经完成并且脚本语言已被执行,可执行逻辑以确定在DOM的规格化期间使用所插入切换节点的哪个分支:仅原始分支,仅经修改分支,或检测切换节点上的“重载”属性。服务器继而将遵循DOM的指定分支对信息内容进行规格化,并且将规格化的信息内容发送到客户端设备。为了对信息内容进行规格化,信息内容可按需要被转码。
例如,规格化器将遵循未标记的切换节点的原始数据分支,使得未标记的切换节点被从经修改的DOM中被基本上移除。以这种方式,通过遵循DOM的原始数据内容,由于执行脚本语言引起的DOM改变而被插入以替换原始节点的、没有包括或引用选定数据类型(例如,视频数据)的任何切换节点将基本上被忽略。在一个示例中,对于不包括视频数据的节点,DOM的原始内容被保持。例如,DOM的修改版本被分析和处理,使得当遇到未标记的切换节点时,脚本语言所做的改变被忽略,因为包括关联的经修改分支的切换节点未被遍历,使得带有原始DOM内容的分支被保留和遍历。例如,DOM导航操作基于切换节点的属性来确定如何遍历切换节点。
以此方式,如果切换节点由于包含视频内容而被标记,则已标记切换节点的视频内容被处理。视频内容可以这样处理:标识来自该视频内容的静态图像,并且将视频内容替换为该静态图像(其可表示视频内容的预览)和链接。例如,图像和链接可以是视频数据的占位符。例如,服务器将获取或产生视频的快照,例如视频的第一帧的静态图像,以便在将要呈现给客户端设备的信息内容中包括或引用。服务器还可包括客户端设备的用户可选择的链接,以命令服务器将视频文件转码为客户端设备上可显示的格式。因此,当被提供给客户端设备时,该链接可被选择以请求对视频内容进行转码以便在客户端设备上观看。
备选地,例如,视频内容可以这样处理:对视频内容进行转码,并且在DOM中插入对经转码视频内容的引用。将来自具有一个特征的数字视频流的数字视频修改为具有不同特征的视频流一般被称为视频转码,并且可以使用多种不同技术将视频文件转码为用于在客户端设备上显示的格式。不同特征的示例包括例如受不同量化值影响的视频编码格式(例如MPEG1和MPEG2)和数据传输率。当一个视频流的所有视频信息在转码期间被保持时,认为进行的是视频流的无损转码。为了进行无损转码,第二视频流可用的带宽需要足够,以支持原始视频流中存在的数据。在一个示例中,视频编码格式之间的无损视频转码可以这样完成:对具有第一视频编码格式的第一视频流进行解码以生成绘制数据(图像数据),随后对绘制数据进行编码以生成具有第二视频编码格式的第二视频数据流。
转码的其他示例包括典型的MPEG2格式的视频文件,通过降低视频的分辨率或降低每秒的帧显示速率,通过移除一些帧,被转换用于在客户端设备上观看。特别地,用于电视接收机广播的MPEG2流可被转换为低分辨率流,例如,例如MPEG4流。转码器可接收MPEG2流以及解压包含在MPEG2流中的压缩的视频数据。然后转码器可将接收的视频数据转换为,例如,分辨率360像素*240行和10帧/秒用于移动客户端设备。
此外,转码可包括将视频尺寸从一个尺寸改变成另一尺寸(也称为缩放)。这可涉及将得到较大的视频并将视频压缩到较小尺寸以减少向客户端发送该视频所需的带宽量,以及保证客户端设备能显示产生的视频。因为当接收的视频尺寸太大时很多客户端失败,发送太大的视频可导致完全浪费带宽。因此,对每个移动设备确定正确的缩放因子是有用的。
其他转码技术涉及压缩视频文件。视频文件使用压缩来减小尺寸。原始格式的全尺寸视频对很多设备是太大了。因此使用“编解码器”或压缩算法的类型减少视频的尺寸变成以后可解码的文件格式。然而,当执行这个过程时,质量会降低并且一些编码转码器甚至是“有损”的,从而减少显示视频所需的数据量。这通常这样来执行:将视频的第一帧数字化为称为I帧的数据,继而将第一帧与下一帧进行比较。仅将两帧之间的差异记录在P帧中。这样,仅对帧之间的差异而非所有帧进行数字化,这使得较少的数据被用于存储视频。其他I帧也以一定间隔被发送,以允许从传输期间可能发生的任何数据损坏中进行恢复。
因为存在用于视频的多种不同编码转码器或压缩类型(对于视频文件的可视和可听的组件),了解哪些客户端支持特定的编码转码器是有帮助的。检测哪些客户端支持哪些格式允许选择要发送到特定客户端的视频质量。例如,AMR-NB(窄带)是一种音频编码转码器,它被优化为小尺寸并且对于人的声音而言是良好的,但是该编码转码器对于音乐的质量而言可能不佳。然而,MP4是一种这样的格式,其比较大并且仅被较少的客户端支持,但是对于音乐和多媒体而言是可接收的。
当被呈现给客户端设备时,转码的视频可被流式传输到客户端。流式传输允许视频开始播放而不需要整个视频文件被下载。流式传输还允许客户端释放视频已观看的部分使用的存储器。流式传输需要将视频文件切分成可被逐个发送到客户端的较小分组。将视频文件切分成分组的过程被称为“微调(hinting)”,其包括准备要切分的分组以及通知流式传输服务器怎样将切分的分组发送到客户端。很多流式传输服务器需要视频文件在将视频流式传输到客户端之前被提示。未被提示的视频文件可能不能被流式传输以及客户端因此接收一个错误。
对于更多有关转码视频数据的信息,读者可参考名称为“Methodand System for Transforming and Delivering Video File Content forMobile Devices”的美国专利申请公布号2008/0195698以及名称为“Method and System for Converting Interactive Animated InformationContent for Display on Mobile Devices”的美国专利申请公布号2008/0195692,每个文件的内容通过引用结合于此,如同其完全被记载于本说明书中一样。
回到图4,接下来,经处理的DOM被输出,如框418所示。例如,包括经处理的视频内容的经处理的DOM可被提供给客户端设备。此外,与信息内容相关联的脚本语言也可被提供给客户端设备。以此方式,客户端设备可以显示信息内容,并且在这样做时执行脚本语言。脚本语言可执行通常的任务,诸如在例如DOM的原始内容上插入下拉菜单。经处理的视频内容还可包括重命名的标识符,使得当执行脚本语言时,脚本语言将不修改经处理的视频内容。在此方面,经处理的视频内容可对脚本语言隐藏,使得客户端设备可执行脚本语言以执行所有操作,只有经处理的视频内容例外。
例如,如果脚本语言将要执行并且要在不支持此类视频内容的客户端设备上修改经处理的视频内容,则脚本语言将把经处理的视频内容替换为图像以及文本“不支持视频”。然而,通过向脚本语言隐藏经处理的视频内容,不支持视频内容的客户端设备可执行脚本语言并且显示经处理的视频内容,例如,其可以只包括静态图像和链接。
方法400操作以保存DOM的原始内容,并且针对客户端设备而对视频内容进行适配。此外,与信息内容相关联的脚本语言仍可被发送到客户端设备并由客户端设备执行,而不是由服务器执行脚本语言并完全修改DOM,DOM之后被发送到客户端设备而不带脚本语言。通过向客户端设备发送脚本语言,客户端设备可以执行网站的更多功能。
而且,通过以预览图像和链接的格式向客户端设备发送经处理的视频数据,客户端设备的用户可选择链接以请求显示视频。服务器可接收该请求,对该视频进行适配用于在客户端设备上观看,并向客户端设备发送适配的或转码的视频。视频可以根据客户端设备的能力或客户端浏览器的能力而被转换。
备选地,在接收到对链接的用户选择之后,服务器可对视频数据进行转码,并且在视频转换完成时通知用户。服务器可以通过多种方式通知用户,例如使用短消息服务(SMS)或推送包括链接的消息,以允许用户观看视频。通知消息可包括链接到相关联的已转码视频文件的标识符。在服务器向客户端设备发送通知消息之前,服务器可把视频文件标识符放在通知中。客户端设备转而可向服务器发送该标识符以获取相关的已转码视频文件。
因此,根据示例实施方式,服务器可向DOM添加切换节点,并且标记与视频内容相关的切换节点。一旦节点被增加到DOM并且被标记,服务器(例如,自适应内容加速器(ACA))可操作以向DOM添加图像和实时流协议(RTSP)链接。对脚本语言进行预处理,以标识与视频有关的节点,以及保持其他原始节点。
图5是表示为树形结构的另一示例示意DOM。在这个示例中,原始DOM包括body(体)元素,其具有到division标签(例如“div”)和script(脚本)标签的分支。在执行与DOM相关联的脚本语言时,div和script节点可被修改,切换节点由此被插入到DOM中的原始div和script节点的位置。切换节点存储“div”和“script”节点的两个版本。例如,第一版本包括DOM的原始内容,并且第二版本包括经修改的数据。对于表示script节点的切换节点,包括表示原始节点(例如script节点)和经修改节点的2个分支。“script”节点的经修改分支为空,因为这个节点将已被执行。
在这个示例中,div标签包括视频数据。对于表示div节点的切换节点,包括表示原始div节点和经修改节点的2个分支。经修改节点包括div标签和embed(嵌入)标签。embed(嵌入)/object(对象)标签可包括对视频内容的静态图像和链接的引用,如上所述。
这个示例中可增加服务器检测embed/object标签的逻辑,以便在原始DOM中查找这些标签。如果找到了一个,则下一步骤可以是在该分支中找到祖先切换节点以及在那些节点上设置称为“重载”的属性。这将具有如下影响,即,对这些节点的任何进一步DOM操作使用经修改分支。服务器的规格化器继而可通过视频转码器运行embed/object标签,并且利用得到的内容更新规格化DOM。
在处理了属于已标记切换节点的div标签的视频数据之后,未标记的切换节点例如被移除,并且得到的经修改DOM可被提供给客户端设备。此外,在向客户端设备发送经修改DOM之前,标记的切换节点本身可被移除。图5中的示例允许原始DOM携带受脚本语言影响的所有节点的之前和之后的知识。而且,如果客户端设备上执行的脚本语言可能试图覆盖由服务器生成的视频内容,例如,封装视频数据的“div”标签上的“id”属性可以改变,使得脚本语言将不覆盖该内容。
图6-12所示为表示为树形结构的示例示意DOM以及由于执行脚本语言DOM被修改的情况。
图6所示为表示为树形结构的示例示意DOM以及脚本语言修改script(脚本)节点的情况。当文档解析器执行脚本语言并且遇到script节点时,设置插入QuickDom切换状态,以所有DOM改变应当插入切换节点。如图5所示,原始script节点将被替换为具有2个分支的切换节点。切换节点的状态属性被设置为“original”。原始script标签节点和script标签节点的所有子节点变成切换节点的第一子节点(原始分支),并且将留下“空”作为切换节点的经修改分支,其被设置为切换节点的最后或第二子节点。
图7所示为表示为树形结构的示例示意DOM以及脚本语言修改一般节点的情况。如果节点A的父节点已经是切换节点,节点A的子节点可以简单地附加到节点A的拷贝。然而,如果节点A的父节点不是切换节点,则一个切换节点被创建和插入以替换节点A。原始节点A变成切换节点的第一子节点,并且节点A的拷贝变成第二子节点(经修改分支)。所有子节点则可被附加到节点A的拷贝。
图8所示为表示为树形结构的示例示意DOM以及脚本语言通过移除子节点修改一般节点的情况。如果节点A的父节点已经是切换节点,节点A的子节点可以简单地被移除。然而,如果节点A的父节点不是切换节点,则一个切换节点被创建和插入以替换节点A。原始节点A和子节点变成该切换节点的第一子节点,并且节点A的拷贝变成第二子节点(例如,经修改分支)。所有子节点被从节点A的拷贝(例如,经修改分支)移除。
图9所示为表示为树形结构的示例示意DOM以及脚本语言通过在被修改的节点之前插入新节点修改DOM的情况。如果节点A的父节点已经是切换节点,新节点可被插入到节点A之前。然而,如果节点A的父节点不是切换节点,则一个切换节点被创建和插入以替换节点A。原始父节点变成该切换节点的第一子节点,并且父节点的拷贝及其子节点变成第二子节点(例如,经修改分支)。使用父节点的拷贝,新节点被插入到节点A之前。
图10所示为表示为树形结构的示例示意DOM以及脚本语言通过在被修改的节点之后插入新节点修改DOM的情况。如果节点A的父节点已经是切换节点,新节点可被插入到节点A之后。然而,如果节点A的父节点不是切换节点,则一个切换节点被创建和插入以替换节点A。原始父节点变成该切换节点的第一子节点,并且父节点的拷贝及其子节点变成第二子节点(例如,修改的分支)。使用父节点的拷贝,新节点被插入到节点A之后。
图11所示为表示为树形结构的示例示意DOM以及脚本语言通过改变属性值修改节点的情况。如果节点A的父节点已经是切换节点,可设置节点A的新属性。然而,如果节点A的父节点不是切换节点,则一个切换节点被创建和插入以替换节点A的位置。原始节点A变成该切换节点的第一子节点,并且节点A的拷贝变成第二子节点(例如,经修改分支)。使用节点A的拷贝,可设置新属性A。
图12所示为表示为树形结构的示例示意DOM以及脚本语言替换具有被指定为HTML串的内容的给定节点的子节点的情况(例如,执行Javascript函数“setInnerHtml”)。如果节点A的父节点已经是切换节点,节点A的所有子节点可以被移除且新子节点可被添加。然而,如果节点A的父节点不是切换节点,则一个切换节点被创建和插入以替换节点A。原始节点A和子节点变成该切换节点的第一子节点,并且节点A的拷贝变成第二子节点(例如,经修改分支)。随后,子节点可从节点A的拷贝被移除,并且由输入HTML文本产生的新子节点可被添加到节点A的拷贝(例如,示为节点D和E)。
在又一示例中,如上所述,当节点的父节点或祖先是切换节点时,该节点不会被另一切换节点替换。此外,切换节点的属性将指示要遵循哪个分支。
在遇到embed或object标签的示例中,中,embed或object标签的父切换节点将具有被设置为“重载”的属性,以指示在所有将来的遍历操作中应当使用经修改分支。此外,切换节点的所有父节点同样可具有被设置为“重载”的属性。
在切换节点被插入之后,经修改的DOM被传送到规格化器以供处理,以便处理视频数据。规格化器可以尝试对切换节点进行规格化,然而,如果“重载”属性被设置在切换节点上,则遵循经修改分支,并且经修改分支的第一子节点被拷贝和返回。规格化沿经修改分支继续,忽略原始分支。如果检测到embed或object标签,标签被传递到示例逻辑,该逻辑通过视频处理方案来运行节点,并且得到的视频内容被附加到规格化DOM。遇到的所有其他切换节点将根据切换状态对来自原始分支的子节点进行规格化。最后,例如,规格化的DOM将不包含任何切换节点,仅包括属于切换状态所指定的分支的那些节点。
所述的示例方法可使用QuickDom规格化器功能对原始DOM执行功能。QuickDom规格化器可具有类例如SwitchState说明对给定的切换节点遵循什么分支(例如,缺省为原始)。SwitchState的值包括原始(遵循原始分支)、插入(当前插入内容)、修改(遵循修改分支)以及覆盖(取代所有DOM切换状态设置)。
QuickDom规格化器还可包括可被下面表2中所示的那些执行的方法。所述的其他类和方法也可包括在QuickDom规格化器中。
表2
虽然这里公开了各种方面和实施方式,其他方面和实施方式对本领域技术人员是明显的。这里公开的各种方面和实施方式是为了说明而不是要限制,真正的范围和精神由下列权利要求指明。
本公开不是要限制在本申请中所述的具体实施方式,其仅用于说明各种方面。可以做出很多修改和变更而不脱离其精神和范围,这对本领域技术人员是明显的。根据上述说明,除了此处列举的之外,本公开的范围中的功能等效的方法和装置对本领域技术人员是明显的。这些修改和变更意欲落在所附权利要求的范围内。本公开仅被所附权利要求以及这些权利要求给予的与它等效的全部范围所限制。应理解这个公开不限于具体的方法、试剂、混合物成分或生物系统,其当然可以变更。还应理解此处使用的术语仅用于说明具体实施方式,而不是为了限制。
虽然这里公开了各种方面和实施方式,其他方面和实施方式对本领域技术人员是明显的。这里公开的各种方面和实施方式是为了说明而不是要限制,真正的范围和精神由下列权利要求指明。
Claims (23)
1.一种提供信息内容以供显示的方法,包括:
接收信息内容,所述信息内容由文档对象模型(DOM)表示,并且包括与所述信息内容相关联的脚本语言;
在所述DOM上运行所述脚本语言,导致对所述DOM执行修改;
在所述脚本语言修改所述DOM的位置向所述DOM插入切换节点,所述切换节点具有指示所述DOM的原始内容的第一分支以及指示所述脚本语言所执行的修改的第二分支;
如果所述切换节点具有指示第一数据内容的分支,则标记所述切换节点;
通过遵循所述切换节点的分支来处理所述DOM,使得对于已标记的切换节点,经修改分支被遍历,并且对于未标记的切换节点,原始分支被遍历;以及
输出经处理的DOM。
2.根据权利要求1所述的方法,还包括:在每个切换节点上提供指示要使用哪个分支的属性。
3.根据权利要求1所述的方法,其中在所述DOM上运行所述脚本语言将所述DOM转换为所述DOM的经修改版本,并且所述方法还包括:
对所述DOM与所述DOM的所述经修改版本进行比较;以及
在所述脚本语言修改所述DOM的位置向所述DOM插入所述切换节点。
4.根据权利要求1所述的方法,其中标记所述切换节点包括:如果所述切换节点包括<embed>或<object>标签,则在所述切换节点上提供属性。
5.根据权利要求1所述的方法,其中所述第一数据内容是视频内容。
6.根据权利要求5所述的方法,其中所述视频内容包括选自包括如下项的组的内容:flash内容和MPEG内容。
7.根据权利要求5所述的方法,其中针对已标记的切换节点处理所述DOM包括:处理所述视频内容。
8.根据权利要求7所述的方法,还包括:在所述经处理的DOM中,在包括经处理视频内容的节点上提供标识符,所述标识符向所述脚本语言指示当所述脚本语言在客户端设备上被执行时不对所述节点执行修改。
9.根据权利要求7所述的方法,其中处理所述视频内容包括:将所述视频内容替换为预览图像和链接。
10.根据权利要求9所述的方法,还包括:
接收对所述链接的用户选择;
对所述视频内容进行转码;以及
提供经转码的视频内容。
11.根据权利要求1所述的方法,其中输出所述经处理的DOM包括:提供与所述信息内容相关联的所述脚本语言。
12.根据权利要求1所述的方法,还包括:
从客户端设备接收针对所述信息内容的请求;以及
从信息源获取所述信息内容。
13.根据权利要求1所述的方法,还包括:
确定所述信息内容是否包括视频内容;以及
基于所述确定,在所述DOM上执行所述脚本语言。
14.根据权利要求1所述的方法,还包括:
标识包括所述第一数据内容的分支中的所有祖先切换节点;以及
在所述祖先切换节点上设置属性,以指示使用经修改分支。
15.根据权利要求1所述的方法,其中所述DOM的节点是script节点,并且其中向所述DOM插入所述切换节点包括:
利用所述切换节点替换所述script节点;
将所述script节点置于所述切换节点的第一分支中,作为所述切换节点的第一子节点;以及
将“空”置于所述切换节点的第二分支中,作为所述切换节点的第二子节点。
16.根据权利要求1所述的方法,其中所述DOM的节点被脚本语言修改,并且其中向所述DOM插入所述切换节点包括:
利用所述切换节点替换所述节点;
将所述节点置于所述切换节点的第一分支中,作为所述切换节点的第一子节点;以及
将所述节点的拷贝置于所述切换节点的第二分支中,作为所述切换节点的第二子节点。
17.根据权利要求16所述的方法,还包括:向所述节点的所述拷贝附加所述节点的子节点。
18.一种计算机可读介质,其中存储有计算设备可执行的指令,使所述计算设备执行功能:
接收信息内容,所述信息内容由文档对象模型(DOM)表示,并且包括与所述信息内容相关联的脚本语言;
在所述DOM上运行所述脚本语言,导致对所述DOM执行修改;
在所述脚本语言修改所述DOM的位置向所述DOM插入切换节点,所述切换节点具有指示所述DOM的原始内容的第一分支以及指示所述脚本语言所执行的修改的第二分支;
如果所述切换节点具有指示第一数据内容的分支,则标记所述切换节点;
通过遵循所述切换节点的分支来处理所述DOM,使得对于已标记的切换节点,经修改分支被遍历,并且对于未标记的切换节点,原始分支被遍历;以及
输出经处理的DOM。
19.根据权利要求18所述的计算机可读介质,其中所述指令还可执行以执行功能:在每个切换节点上提供指示要使用哪个分支的指令。
20.根据权利要求18所述的计算机可读介质,其中所述第一数据内容是视频内容,其中针对已标记的切换节点而处理所述DOM包括处理所述视频内容,并且其中处理所述视频内容包括将所述视频内容替换为预览图像和链接。
21.一种服务器,包括:
处理器;
存储器,包括所述处理器可执行的机器语言指令,用以执行功能,包括:
接收信息内容,所述信息内容由文档对象模型(DOM)表示,
并且包括与所述信息内容相关联的脚本语言;
在所述DOM上运行所述脚本语言,导致对所述DOM执行修改;
在所述脚本语言修改所述DOM的位置向所述DOM插入切换节点,所述切换节点具有指示所述DOM的原始内容的第一分支以及指示所述脚本语言所执行的修改的第二分支;
如果所述切换节点具有指示第一数据内容的分支,则标记所述切换节点;
规格化器,用于通过遵循所述切换节点的分支来处理所述DOM,使得对于已标记的切换节点,经修改分支被遍历,并且对于未标记的切换节点,原始分支被遍历,其中所述规格化器输出经处理的DOM。
22.根据权利要求21所述的服务器,其中DOM的节点被所述脚本语言修改,并且其中向所述DOM插入所述切换节点包括:
利用所述切换节点替换所述节点;
将所述节点置于所述切换节点的第一分支中,作为所述切换节点的第一子节点;以及
将所述节点的拷贝置于所述切换节点的第二分支中,作为所述切换节点的第二子节点。
23.根据权利要求21所述的服务器,其中所述第一数据内容是视频内容,并且其中所述规格化器通过将所述视频内容替换为预览图像和链接来处理所述视频内容,其中响应于对所述链接的用户选择,所述规格化器对所述视频内容进行转码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16462509P | 2009-03-30 | 2009-03-30 | |
US61/164,625 | 2009-03-30 | ||
PCT/US2010/029269 WO2010117814A1 (en) | 2009-03-30 | 2010-03-30 | Methods and systems for processing document object models (dom) to process video content |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102414681A true CN102414681A (zh) | 2012-04-11 |
Family
ID=42341696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800190152A Pending CN102414681A (zh) | 2009-03-30 | 2010-03-30 | 用于处理文档对象模型(dom)以处理视频内容的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100306643A1 (zh) |
EP (1) | EP2414970A1 (zh) |
KR (1) | KR20120010248A (zh) |
CN (1) | CN102414681A (zh) |
RU (1) | RU2475832C1 (zh) |
WO (1) | WO2010117814A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789474A (zh) * | 2012-04-12 | 2012-11-21 | 北京京东世纪贸易有限公司 | 处理网页数据的方法和装置 |
CN103995835A (zh) * | 2014-04-25 | 2014-08-20 | 江苏思迈斯电子商务有限公司 | 用户界面框架的网页元素查找方法 |
CN104053072A (zh) * | 2013-03-15 | 2014-09-17 | 株式会社理光 | 分发控制系统、分发系统以及分发控制方法 |
CN105144146A (zh) * | 2013-04-26 | 2015-12-09 | 索尼公司 | 接收装置、接收装置中的信息处理方法、传输装置、信息处理装置和信息处理方法 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US8352954B2 (en) | 2008-06-19 | 2013-01-08 | Commvault Systems, Inc. | Data storage resource allocation by employing dynamic methods and blacklisting resource request pools |
US9128883B2 (en) | 2008-06-19 | 2015-09-08 | Commvault Systems, Inc | Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail |
US8725688B2 (en) | 2008-09-05 | 2014-05-13 | Commvault Systems, Inc. | Image level copy or restore, such as image level restore without knowledge of data object metadata |
US9058402B2 (en) | 2012-05-29 | 2015-06-16 | Limelight Networks, Inc. | Chronological-progression access prioritization |
US8321533B2 (en) | 2009-08-03 | 2012-11-27 | Limelight Networks, Inc. | Systems and methods thereto for acceleration of web pages access using next page optimization, caching and pre-fetching techniques |
US8495171B1 (en) | 2012-05-29 | 2013-07-23 | Limelight Networks, Inc. | Indiscriminate virtual containers for prioritized content-object distribution |
US8346784B1 (en) | 2012-05-29 | 2013-01-01 | Limelight Networks, Inc. | Java script reductor |
US9384299B2 (en) * | 2009-09-22 | 2016-07-05 | Thwapr, Inc. | Receiving content for mobile media sharing |
CN102136948B (zh) * | 2011-03-15 | 2014-04-02 | 华为技术有限公司 | 用于统计用户体验的方法、终端设备和系统 |
WO2013062599A1 (en) * | 2011-10-26 | 2013-05-02 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
CN103139260B (zh) | 2011-11-30 | 2015-09-30 | 国际商业机器公司 | 用于重用html内容的方法和系统 |
US20130145252A1 (en) * | 2011-12-02 | 2013-06-06 | Opera Software Asa | Page based navigation and presentation of web content |
US11232481B2 (en) | 2012-01-30 | 2022-01-25 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US10157184B2 (en) * | 2012-03-30 | 2018-12-18 | Commvault Systems, Inc. | Data previewing before recalling large data files |
US20130311859A1 (en) * | 2012-05-18 | 2013-11-21 | Barnesandnoble.Com Llc | System and method for enabling execution of video files by readers of electronic publications |
US9633216B2 (en) | 2012-12-27 | 2017-04-25 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
EP3193270B1 (en) * | 2013-02-12 | 2022-06-22 | Nippon Telegraph and Telephone Corporation | Output function dividing system |
US9459968B2 (en) | 2013-03-11 | 2016-10-04 | Commvault Systems, Inc. | Single index to query multiple backup formats |
US9277255B1 (en) * | 2013-03-15 | 2016-03-01 | Google Inc. | Metering of internet protocol video streams |
JP6337499B2 (ja) | 2013-03-15 | 2018-06-06 | 株式会社リコー | 配信制御システム、配信システム、配信制御方法、及びプログラム |
US9143840B2 (en) * | 2013-05-20 | 2015-09-22 | Veenome, Inc. | Systems and methods for evaluating online videos |
US9015348B2 (en) | 2013-07-19 | 2015-04-21 | Limelight Networks, Inc. | Dynamically selecting between acceleration techniques based on content request attributes |
US20150154617A1 (en) * | 2013-12-04 | 2015-06-04 | SaleMove, Inc. | Determining leads based on web site interactions and browser sessions |
US9798596B2 (en) | 2014-02-27 | 2017-10-24 | Commvault Systems, Inc. | Automatic alert escalation for an information management system |
US9648100B2 (en) | 2014-03-05 | 2017-05-09 | Commvault Systems, Inc. | Cross-system storage management for transferring data across autonomous information management systems |
US9740574B2 (en) | 2014-05-09 | 2017-08-22 | Commvault Systems, Inc. | Load balancing across multiple data paths |
US11169666B1 (en) | 2014-05-22 | 2021-11-09 | Amazon Technologies, Inc. | Distributed content browsing system using transferred hardware-independent graphics commands |
US10409884B2 (en) * | 2014-07-02 | 2019-09-10 | The Nielsen Company (Us), Llc | Methods and apparatus to identify sponsored media in a document object model |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US9582600B1 (en) * | 2014-09-23 | 2017-02-28 | Amazon Technologies, Inc. | Cloud browser DOM-based client |
US9740791B1 (en) | 2014-09-23 | 2017-08-22 | Amazon Technologies, Inc. | Browser as a service |
JP5832056B1 (ja) * | 2014-10-06 | 2015-12-16 | 株式会社シンメトリック | Webページの表示のためのプログラム、端末装置、およびサーバ装置 |
US9444811B2 (en) | 2014-10-21 | 2016-09-13 | Commvault Systems, Inc. | Using an enhanced data agent to restore backed up data across autonomous storage management systems |
KR20170006432A (ko) * | 2015-07-08 | 2017-01-18 | 삼성전자주식회사 | 웹 컨텐츠 표시 방법 및 이를 지원하는 전자 장치 |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US10742764B2 (en) | 2015-07-27 | 2020-08-11 | Adp, Llc | Web page generation system |
US10417317B2 (en) | 2015-07-27 | 2019-09-17 | Adp, Llc | Web page profiler |
US10324600B2 (en) * | 2015-07-27 | 2019-06-18 | Adp, Llc | Web page generation system |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US20170315849A1 (en) * | 2016-04-29 | 2017-11-02 | Microsoft Technology Licensing, Llc | Application target event synthesis |
US10554714B2 (en) * | 2016-05-11 | 2020-02-04 | Ebay Inc. | Managing data transmissions over a network connection |
US10838821B2 (en) | 2017-02-08 | 2020-11-17 | Commvault Systems, Inc. | Migrating content and metadata from a backup system |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10891069B2 (en) | 2017-03-27 | 2021-01-12 | Commvault Systems, Inc. | Creating local copies of data stored in online data repositories |
US10776329B2 (en) | 2017-03-28 | 2020-09-15 | Commvault Systems, Inc. | Migration of a database management system to cloud storage |
US11074140B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US20180338166A1 (en) * | 2017-05-22 | 2018-11-22 | Symantec Corporation | Remotely validating a webpage video stream |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US10997219B1 (en) * | 2017-08-10 | 2021-05-04 | Snap Inc. | Node embedding in multi-view feature vectors |
US10795927B2 (en) | 2018-02-05 | 2020-10-06 | Commvault Systems, Inc. | On-demand metadata extraction of clinical image data |
US10761942B2 (en) | 2018-03-12 | 2020-09-01 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent |
US10789387B2 (en) | 2018-03-13 | 2020-09-29 | Commvault Systems, Inc. | Graphical representation of an information management system |
US10860443B2 (en) | 2018-12-10 | 2020-12-08 | Commvault Systems, Inc. | Evaluation and reporting of recovery readiness in a data storage management system |
US11308034B2 (en) | 2019-06-27 | 2022-04-19 | Commvault Systems, Inc. | Continuously run log backup with minimal configuration and resource usage from the source machine |
EP4275110A1 (en) * | 2021-01-10 | 2023-11-15 | Blings IO Ltd | System and method for dynamic, data-driven videos |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564974A (zh) * | 2001-10-05 | 2005-01-12 | 松下电器产业株式会社 | 打印数据产生装置以及打印数据产生方法 |
US20060224690A1 (en) * | 2005-04-01 | 2006-10-05 | Microsoft Corporation | Strategies for transforming markup content to code-bearing content for consumption by a receiving device |
US20080139191A1 (en) * | 2006-12-08 | 2008-06-12 | Miguel Melnyk | Content adaptation |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2848426A (en) * | 1956-12-03 | 1958-08-19 | Shell Dev | Polyerpoxy polyethers, their preparation and polymers |
US4907149A (en) * | 1983-07-22 | 1990-03-06 | Texas Instruments Incorporated | Dynamic redirection of interrupts |
US5991760A (en) * | 1997-06-26 | 1999-11-23 | Digital Equipment Corporation | Method and apparatus for modifying copies of remotely stored documents using a web browser |
GB2340358B (en) * | 1998-07-31 | 2002-11-13 | Sony Uk Ltd | Video special effects |
US6377957B1 (en) * | 1998-12-29 | 2002-04-23 | Sun Microsystems, Inc. | Propogating updates efficiently in hierarchically structured date |
US7054952B1 (en) * | 1999-12-09 | 2006-05-30 | International Business Machines Corp. | Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing interactive javascript support |
US7500188B1 (en) * | 2000-04-26 | 2009-03-03 | Novarra, Inc. | System and method for adapting information content for an electronic device |
US20040049737A1 (en) | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
US7072984B1 (en) * | 2000-04-26 | 2006-07-04 | Novarra, Inc. | System and method for accessing customized information over the internet using a browser for a plurality of electronic devices |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
US6606604B1 (en) * | 2000-05-31 | 2003-08-12 | International Business Machines Corporation | Incremental updates of items and prices on a customer's computer to reduce download times for frequently purchased items in e-commerce transactions in a method, system and program |
US6785707B2 (en) * | 2000-11-14 | 2004-08-31 | Bitfone Corp. | Enhanced multimedia mobile content delivery and message system using cache management |
DE10219390B4 (de) * | 2002-04-30 | 2007-05-31 | Siemens Ag | Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten |
US6941310B2 (en) * | 2002-07-17 | 2005-09-06 | Oracle International Corp. | System and method for caching data for a mobile application |
US20040177094A1 (en) * | 2003-03-06 | 2004-09-09 | Sun Microsystems, Inc. | Association of application specific code with nodes of a document object model using extensions to an XML schema |
US20050138138A1 (en) * | 2003-12-22 | 2005-06-23 | Jelinek Lenka M. | Content provisioning for mobile devices using proximity awareness to a computer |
WO2007019571A2 (en) * | 2005-08-09 | 2007-02-15 | Compography, Inc. | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US7810049B2 (en) | 2005-09-26 | 2010-10-05 | Novarra, Inc. | System and method for web navigation using images |
JP4140916B2 (ja) * | 2005-12-22 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Webページにおける状態遷移を解析する方法 |
CA2676676C (en) | 2007-02-09 | 2015-01-20 | Novarra, Inc. | Method and system for converting interactive animated information content for display on mobile devices |
US20080196046A1 (en) * | 2007-02-09 | 2008-08-14 | Novarra, Inc. | Method and Apparatus for Providing Information Content for Display on a Client Device |
CA2676692A1 (en) * | 2007-02-09 | 2008-08-14 | Novarra, Inc. | Method and system for providing portions of information content to a client device |
EP2132935A2 (en) | 2007-02-09 | 2009-12-16 | Novarra, Inc. | Method and system for transforming and delivering video file content for mobile devices |
WO2009036301A1 (en) * | 2007-09-13 | 2009-03-19 | Myxer Inc. | System and method for mobilizing web content |
RU80296U1 (ru) * | 2008-07-17 | 2009-01-27 | Олег Игоревич Мухин | Система интерактивной коммуникации (варианты) |
US20100123908A1 (en) * | 2008-11-17 | 2010-05-20 | Fuji Xerox Co., Ltd. | Systems and methods for viewing and printing documents including animated content |
-
2010
- 2010-03-30 WO PCT/US2010/029269 patent/WO2010117814A1/en active Application Filing
- 2010-03-30 US US12/750,544 patent/US20100306643A1/en not_active Abandoned
- 2010-03-30 EP EP10720477A patent/EP2414970A1/en not_active Withdrawn
- 2010-03-30 RU RU2011143395/08A patent/RU2475832C1/ru not_active IP Right Cessation
- 2010-03-30 CN CN2010800190152A patent/CN102414681A/zh active Pending
- 2010-03-30 KR KR1020117025718A patent/KR20120010248A/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564974A (zh) * | 2001-10-05 | 2005-01-12 | 松下电器产业株式会社 | 打印数据产生装置以及打印数据产生方法 |
US20060224690A1 (en) * | 2005-04-01 | 2006-10-05 | Microsoft Corporation | Strategies for transforming markup content to code-bearing content for consumption by a receiving device |
US20080139191A1 (en) * | 2006-12-08 | 2008-06-12 | Miguel Melnyk | Content adaptation |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789474A (zh) * | 2012-04-12 | 2012-11-21 | 北京京东世纪贸易有限公司 | 处理网页数据的方法和装置 |
CN104053072A (zh) * | 2013-03-15 | 2014-09-17 | 株式会社理光 | 分发控制系统、分发系统以及分发控制方法 |
CN105144146A (zh) * | 2013-04-26 | 2015-12-09 | 索尼公司 | 接收装置、接收装置中的信息处理方法、传输装置、信息处理装置和信息处理方法 |
CN105144146B (zh) * | 2013-04-26 | 2018-06-05 | 索尼公司 | 接收装置、接收装置中的信息处理方法、传输装置、信息处理装置和信息处理方法 |
CN103995835A (zh) * | 2014-04-25 | 2014-08-20 | 江苏思迈斯电子商务有限公司 | 用户界面框架的网页元素查找方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100306643A1 (en) | 2010-12-02 |
EP2414970A1 (en) | 2012-02-08 |
WO2010117814A1 (en) | 2010-10-14 |
KR20120010248A (ko) | 2012-02-02 |
RU2475832C1 (ru) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102414681A (zh) | 用于处理文档对象模型(dom)以处理视频内容的方法和系统 | |
US20100281042A1 (en) | Method and System for Transforming and Delivering Video File Content for Mobile Devices | |
US20210067609A1 (en) | Content management and transformation system for digital content | |
US8032651B2 (en) | News architecture for iTV | |
US20080195698A1 (en) | Method and System for Transforming and Delivering Video File Content for Mobile Devices | |
US8595371B2 (en) | Sending a remote user interface | |
US9355681B2 (en) | MPEG objects and systems and methods for using MPEG objects | |
US7631260B1 (en) | Application modification based on feed content | |
US20080222504A1 (en) | Script-based system to perform dynamic updates to rich media content and services | |
JP2005513621A (ja) | マルチメディア用パブリッシングシステム、ワイヤレス装置用メディアプレーヤー、およびパブリッシングシステム | |
US20110191812A1 (en) | Video Download Mechanism for Transferring Large Data | |
CN101765979A (zh) | 用于移动设备的文档处理 | |
KR20110003213A (ko) | 컨텐츠 제공 방법 및 컨텐츠 제공 시스템 | |
JP5414792B2 (ja) | リッチメディアサービスを提供する方法及び装置 | |
US9736515B1 (en) | Converting digital publications into a format for sending to a user device | |
WO2010062761A1 (en) | Method and system for transforming and delivering video file content for mobile devices | |
EP2397953B1 (en) | A computer-implemented method, a computer program product and an embedded system for displaying data more efficiently | |
TW473673B (en) | Method and apparatus for compressing scripting language content | |
US20060168284A1 (en) | Multimedia file format | |
US10547878B2 (en) | Hybrid transmission protocol | |
US20040148637A1 (en) | Method and system for literal data access | |
EP1271956A1 (en) | Method and system for the conversion of XHTML/HTML documents to MPEG-4 documents | |
Viljamaa | Types and Methods of Content Adaptation | |
Coulombe et al. | Content adaptation for the mobile internet | |
GB2403046A (en) | A method for literal data access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120411 |