CN101561824B - 用于加速播放富互联网应用的系统和方法 - Google Patents

用于加速播放富互联网应用的系统和方法 Download PDF

Info

Publication number
CN101561824B
CN101561824B CN2009101335942A CN200910133594A CN101561824B CN 101561824 B CN101561824 B CN 101561824B CN 2009101335942 A CN2009101335942 A CN 2009101335942A CN 200910133594 A CN200910133594 A CN 200910133594A CN 101561824 B CN101561824 B CN 101561824B
Authority
CN
China
Prior art keywords
frame
rich internet
timing signal
ria
frames
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
CN2009101335942A
Other languages
English (en)
Other versions
CN101561824A (zh
Inventor
J·科比特
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN101561824A publication Critical patent/CN101561824A/zh
Application granted granted Critical
Publication of CN101561824B publication Critical patent/CN101561824B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了用于加速播放富互联网应用的系统和方法。例如,本发明的一个实施方式包括具有下述步骤的方法:确定与富互联网应用相关联的帧速率,该富互联网应用包括多个帧;确定富互联网应用将生成的至少一个定时信号;以及确定根据该帧速率将在其处输出该定时信号的至少一个帧。该方法进一步包括:以高于该帧速率的速率生成富互联网应用的多个帧的每一个;以及当生成了与该定时信号相关联的至少一个帧时,输出该至少一个定时信号。在另一实施方式中,一种计算机可读介质包括用于执行这种方法的代码。

Description

用于加速播放富互联网应用的系统和方法
技术领域
本申请总体上涉及富互联网应用的播放,并且更具体地涉及用于加速播放富互联网应用的系统和方法。
背景技术
自从首次可为公众所用开始,互联网和万维网已经取得了巨大发展。最开始,仅具有文本或者具有文本或图像的网页可用,而且通常是利用将被web浏览器解析和显示的超文本标记语言(HTML)手动编码的。在这种早期的网页中,网页的大部分内容或者全部内容都在HTML文件中明确(explicitly)记载,并且被简单地编排格式以供web浏览器显示。对于这种页面,对于搜索引擎基于检查网页的源代码来从网页中提取信息而言相对简单。然而,网页已经日渐复杂,并且网页常常非明确地包括在网页上呈现内容所需的所有代码。具体地,富互联网应用(RIA)的代码不一定包括在网页中,而是取而代之地可以由播放例程从远程服务器加载。
这样,对RIA执行搜索可能比较困难,因为不存在以实际的速率搜索RIA的内容的有效方式。虽然可以以RIA的固有帧速率在RIA中步进,但是这会花费相当大量的时间,对于具有很长的动画序列的RIA而言更是如此。
发明内容
本发明的实施方式提供了用于加速播放富互联网应用的系统和方法。例如,本发明的一个实施方式包括具有下述步骤的方法:确定富互联网应用的帧速率,该富互联网应用包括多个帧;确定富互联网应用将生成的至少一个定时信号;确定根据该帧速率将在其处输出该定时信号的至少一个帧。该方法进一步包括:以高于该帧速率的速率生成富互联网应用的多个帧的每一个;生成至少一个定时信号;以及当生成了与该定时信号相关联的至少一个帧时,输出该至少一个定时信号。在另一实施方式中,一种计算机可读介质包括用于执行这种方法的代码。
提及这些示例性实施方式并不意在限制或定义本发明,而是意在提供示例以帮助理解本发明。在具体实施方式中讨论了示例性实施方式,并且将在该部分提供本发明的进一步描述。通过研究本说明书,本发明各种实施方式提供的益处能够得到进一步的理解。
附图说明
当参照附图阅读下述具体实施方式时,本发明的这些和其他特征、方面和优势能够得到更好的理解。在附图中:
图1是示出了根据本发明一个实施方式的RIA主菜单屏幕的屏幕截图;
图2示出了根据本发明一个实施方式的图1中RIA的树型结构的部分的框图;
图3示出了根据本发明一个实施方式的用于加速播放RIA的系统的框图;
图4示出了根据本发明一个实施方式的用于加速播放富互联网应用的方法的流程图;
图5示出了根据本发明一个实施方式的用于加速播放富互联网应用的方法的流程图;以及
图6示出了根据本发明一个实施方式的用于加速播放富互联网应用的方法的流程图。
具体实施方式
本发明的实施方式提供了用于加速播放富互联网应用的系统和方法。
示意性的富互联网应用的加速播放
很多现代的网站将富互联网应用并入该站点上可用的内容,诸如Abode
Figure G2009101335942D00031
FlashTM动画或游戏。为了对富互联网应用(“RIA”)内的内容编制目录以供日后搜索,搜索引擎需要对RIA的每一帧进行解析,并识别可以被解析并分类以供搜索的文本域或其他内容。由于某些RIA可能包含较长的动画或其他帧序列,可能需要尽可能快地在RIA中步进并分析之。
本发明的一个示例性实施方式被配置用于尽可能快地分析RIA内的每个帧。示例性实施方式被配置用于忽略RIA内规定的任何固有帧速率限制,并且尽可能快地执行RIA。此示例性实施方式还被配置用于:在关于RIA加速执行的正确时间处,生成RIA内规定的任何定时信号或者同步事件。
给出此示例性示例是为了向读者介绍在此讨论的总体主题。本发明并不限于此示例。以下部分描述了用于加速播放富互联网应用的方法和系统的各种额外实施方式。
富互联网应用
富互联网应用(RIA)通常是这种内容的集合,即,其可以被包裹在将被播放例程执行的编程代码中。例如,某些富互联网应用可以具有flash或SWF格式,并且可以包括动画、界面、游戏和/或其他交互式或被动式的内容。另外,RIA通常包括程序代码以指示播放例程(称为“RIA播放器”)如何显示RIA的内容,并在其中前进。例如,Adobe
Figure G2009101335942D00032
FlashTM是一种RIA播放器,而开放源码的Gnash软件是另一种RIA播放器。不过,基于帧的RIA和RIA播放器的其他变种也是可用的,或者可以成为可用的。
非常简单的RIA可以包括单个动画,其在第一帧开始,运行到最后一帧,然后退出。更复杂的RIA可以包括多个动画、用户界面和交互式游戏。
现在参考图1,图1是示出了根据本发明一个实施方式的RIA主菜单屏幕的屏幕截图。在本发明的一个示例性实施方式中,RIA100包括SWF文件格式的富互联网应用。RIA 100包括游戏和动画、以及导航RIA 100的菜单。图1中所示RIA 100包括可以以特定顺序或者根据输入而输出的多个帧。例如,RIA 100内的动画根据RIA100中规定的帧速率顺序地执行。但是,RIA 100内的交互式游戏可以基于用户的输入的顺序来显示帧,其中用户的输入的顺序诸如选择游戏内的选项的顺序和玩游戏本身的顺序。
由于RIA 100具有不同的选项,所以在RIA内存在用户可以选择的不同分支。这种RIA包括描述RIA内帧的布置或帧的组的布置的树型结构。RIA接收的输入可以引起RIA沿着树的一个分支或者另外的分支向下遍历,并输出与树中每个被遍历的分支相关联的帧。
除了RIA 100内的内容外,RIA 100还包括另外的信息。例如,具有动画或其他帧序列的RIA还可以包括帧速率、用于与RIA播放器通信的定时信号、或者引起发生RIA内事件的其他信号。RIA播放器可以检查信息(诸如,帧速率)来确定如何播放RIA,并且可以解释接收自RIA的信号,以指示播放正在被正确地进行或者调用其他内容。
在图1所示RIA 100中,RIA 100包括多个动画。为了配置RIA播放器以正确播放动画序列,RIA 100包括用于内嵌在RIA 100内的不同动画的多个帧速率。RIA还包括与动画相关联的多个定时信号。在本发明的某些实施方式中,并不基于帧速率生成RIA内的定时信号,而是与RIA的执行异步地生成。例如,可以每50ms发生定时信号,而不管RIA内的指定帧速率是多少。
对于每个动画、游戏和界面的部分,RIA包括可以被生成的多个帧。在播放RIA期间,RIA播放器可以以特定顺序输出RIA内的帧,诸如通过顺次播放动画的帧来实现。备选地,RIA播放器可以以用户输入指定的顺序生成帧。例如,RIA可以首先显示菜单帧,以允许用户选择如何播放RIA 100内的帧。RIA播放器可以随后基于用户的选择前进至RIA 100内的不同帧。
例如,RIA 100的主菜单帧101在菜单120中显示文本性的信息和界面元素,诸如按钮110、111和滚动条112。图1中示出的RIA 100允许用户通过使用滚动条112在动画和游戏的菜单中滚动。当用户希望观看动画之一或者希望玩一个游戏时,用户可以选择期望的菜单项,并按下“选择”按钮111。RIA 100将随后向用户显示动画,或者允许用户玩游戏。备选地,试图为了可搜索的文本而解析RIA100的搜索引擎可以识别菜单120上的所有文本域,并随后试图通过遍历RIA 100的树型结构来选择和解析可用的动画和游戏的每一个。
图2示出了根据本发明一个实施方式的图1中RIA 100的树型结构的部分的框图。树包括连接树内节点的多个分支。图2所示树中的每个节点包括RIA的一个或多个帧。例如,主菜单节点101包括单个帧,即,主菜单屏幕,而节点211包括与动画1相关联的所有帧。当主菜单屏幕101显示给用户时,用户可以选择菜单中可用的项目之一。响应于接收到项目的选择,RIA播放器可以遍历树200,直到具有选定内容的节点为止。
例如,用户可以从主菜单屏幕101选择游戏9,这将引起RIA播放器遍历树,直到游戏9菜单节点210为止。从这里,用户可以试图选择四个菜单选项的每一个:游戏的描述220、游戏的指令221、播放222游戏,或者查看游戏的信用223。这些菜单选项的每一个都可以导致额外的屏幕,例如,指令菜单选项221允许搜索引擎取回关于游戏的指令信息的三个页面230-232。并且,这些屏幕的每一个可以包括包含有多个帧的动画。
一旦用户已经完成游戏,则用户可以返回主菜单框101,并随后选择动画1211。RIA播放器随后可以播放动画211。
不过,常规的RIA播放器以它们的正常播放速度来播放动画。根据用于用户使用的RIA播放器的逻辑,搜索引擎通常试图对关于web内容的数据快速编制目录,而这对于较长的动画而言,会引起为关于RIA的信息编制目录花费太长的时间。然而,本发明的实施方式可以允许加速播放动画或者其他逐帧序列,同时允许搜索引擎从这种动画或序列的每个帧提取可搜索的项目。
富互联网应用的加速播放
图3示出了根据本发明一个实施方式的用于加速播放RIA的系统300的框图。系统300包括具有处理器310和存储器320的计算机301。在存储器内,计算机具有RIA 330和加速播放例程331。
加速播放例程331被配置以作为输入读取RIA 330,并播放RIA330。加速播放例程331被配置用于在RIA 330的帧内步进,包括遍历任何菜单选项,以及处理并输出每个帧。然而,加速播放例程331被配置用于以加速的速率来执行RIA 330,而不考虑RIA的固有帧速率。通过忽略固有帧速率,加速播放例程能够以加速的速率来解析RIA的帧。例如,如果RIA 330包括动画(该动画具有1,200个帧,固有帧速率是30帧/秒),则动画可以在40秒完成。然而,通过忽略固有帧速率,加速播放例程能够以更高的速率解析并输出每个帧,从而潜在地允许搜索引擎或者其他程序以比按照RIA的固有帧速率分析RIA更快速地分析RIA的内容。
例如,系统300可以以由系统300的速度和系统300内的资源可用性限制的速率(以下称为“尽可能快地”)来生成帧。例如,系统300可以生成动画的第一帧,并马上开始处理动画的第二帧,从而试图尽可能快地执行和/或播放RIA。在类似实施方式中,系统300可以以加速的速率生成RIA的帧的子集,诸如,基于另一应用的请求生成。例如,搜索引擎可以请求系统300生成30个帧,并随后等待下一请求。
然而,RIA的加速播放可以由RIA的内在特性复杂化。例如,很多RIA并入了内在同步机制或者定时设备。这些同步机制或者定时设备可以独立于帧速率而操作。如果以固定的速率或者任意速率加速RIA,则那些同步机制或者定时设备可能不能正常起作用,而RIA可能不能生成适当的输出,或者RIA根本不能起作用。这样,RIA的加速播放可能需要附加的考虑,诸如,在与被呈现的内容相关的适当时间生成定时信号,而不考虑播放速度。本发明的某些实施方式在RIA内提供了这种同步机制和定时设备。
现在参考图4,图4示出了根据本发明一个实施方式的用于加速播放富互联网应用的方法的流程图。将参照图3中所示系统300给出图4的描述。在所示实施方式中,RIA包括一个动画,然而,实施方式可以包括具有多个动画的RIA,诸如上述描述的那些。在这些实施方式中,图4中所示方法可以应用到每个动画。
在框410中,系统300确定RIA的帧速率。例如,包括动画的RIA可以包括用于动画的帧速率。系统300可以例如通过读取包括RIA的文件,或者通过向RIA发送请求或者其他信号以请求帧速率,来确定帧速率。例如,RIA可以包括FlashTM动画。在这种情况下,系统300可以通过从RIA请求帧速率而确定动画的帧速率。例如,在一个实施方式中,RIA包括FlashTM RIA。在这种实施方式中,系统300可以通过从动画的Stage(阶段)对象读取frameRate(帧速率)值,来确定动画的帧速率。
在某些实施方式中,RIA可以包括多个帧速率。例如,RIA可以包括多个动画,其中每个动画具有相关联的帧速率。在图1所示的实施方式中,RIA 100包括多个动画,每个包括帧速率。在类似实施方式中,RIA内的多个动画的每个动画包括与其他动画不同的帧速率。
在本发明的一个实施方式中,系统300通过从包括RIA的文件读取数据来确定RIA的帧速率。例如,文件可以包括与RIA相关联的数据和程序代码。系统300可以读取文件的内容,并提取与RIA相关联的帧速率。
在框420中,系统300确定应用将要生成的至少一个定时信号。定时信号可以包括一次性信号或者周期性信号。一次性信号可以在动画期间的特定时间生成。例如,可以对应于动画序列的中间点生成一次性信号,或者可以在动画期间的特定时间生成。
可以在播放动画期间的固定间隔生成周期性定时信号。例如,系统300可以确定:动画将在每500毫秒(ms)生成定时信号。在这种实施方式中,当运行动画时,动画约每500ms会使定时信号生成并输出之。
在本发明的一个实施方式中,系统300通过从包括RIA的文件读取数据来确定将要生成的至少一个定时信号。例如,文件可以包括与RIA相关联的数据和程序代码。系统300可以读取文件的内容,并提取描述与RIA相关联的定时信号的数据。备选地,系统300可以从远程计算机接收RIA,诸如作为网页一部分通过网络连接接收。
描述定时信号的数据可以包括周期,诸如帧的数量或时间间隔,在其之后将输出定时信号。例如,在一个实施方式中,定时信号可以包括指示周期为10个帧的数据。在这种情况下,数据指示应当每10帧生成定时信号,而不管定时信号之间已经过去了多少时间。在另一实施方式中,定时信号可以包括指示周期为250ms的数据。在这种情况下,数据指示应当每250ms生成定时信号,而不管在定时信号之间生成了多少帧。
在框430处,系统确定与定时信号相关联的至少一个帧。如上所述,如果RIA的播放和/或执行被加速,则同步机制或者定时机制便不能正确起作用。这样,可能需要以不同的速率或次数来生成对应于这种机制的信号,以便正确地与RIA的加速播放和/或执行相关。
例如,在本发明的一个实施方式中,RIA可以包括这样的动画,其帧速率为30帧/秒(fps),定时信号的周期为500ms。系统300可以确定:对于加速播放,应当每15个帧生成定时信号,而不管RIA被执行或播放的速率如何。在本发明的另外实施方式中,确定与定时信号相关联的至少一个帧可以包括:确定与一次性定时信号相关联的帧。例如,一次性信号可以被配置为将20秒放入动画序列中。在这种实施方式中,动画的帧速率是45fps。这样,确定应当在动画序列的帧900处生成定时信号。
一旦已经确定,则可以存储将定时信号与一个或多个帧相关的信息。例如,在一个实施方式中,系统300可以把将定时信号与一个或多个帧相关的信息存储在存储器中的表内。系统300计算与定时信号相关联的每一帧的帧号码,并将帧号码与定时信号关联存储在表中。这种表可以包括标识信号的列和随后的附加列,这些附加列具有用于每个信号的帧号码,其标识哪个或哪些帧应当引起信号被生成。备选地,系统可以通过存储表示定时号码之间的帧数量的帧间隔,来存储一个或多个帧与定时信号之间的关联。这种帧间隔可以与计数器协调使用。计数器可以针对每一帧而递增,直到其等于帧间隔为止,在该时间,可以生成信号,并且重置计数器。
在图4所示实施方式中,框440-480代表对RIA的单个帧进行的处理。本发明的各种实施方式可以以不同的速率和/或以不同顺序执行框440-480。例如,在图4所示实施方式中,尽可能快地执行框440-480。另一实施方式可以以双倍帧速率执行步骤440-480。另一实施方式可以以加速的速率或者以请求的速率,对RIA内的帧的被请求子集执行步骤440-480。另外,步骤410-480不需要以指定的顺序执行。例如,在本发明的一个实施方式中,确定定时信号是否与帧相关联(步骤450)可以发生在生成帧(步骤440)之前。
在框440中,系统300生成富互联网应用的帧。在本发明的一个实施方式中,生成RIA的帧可以包括:识别帧内的对象,例如,文本对象或者图形对象;计算帧内对象位置;和/或从计算机可读介质加载信息(诸如,图形信息或文本)。
在框445,在生成的帧中识别至少一个文本域。例如,搜索引擎可以解析生成的帧以识别文本域,以便对RIA进行分类以供后续搜索。备选地,系统300可以输出生成的帧中某些或全部文本域的标识。应当注意,框445对于加速播放而言并不是必须的,不过,其可以允许搜索引擎提取域,以用于将RIA中的内容归类。
在框450中,系统300确定信号是否与生成的帧相关联。例如,在本发明的一个实施方式中,系统可以搜索描述帧号码与定时信号之间关联的表。在一个实施方式中,系统300可以对代表定时信号之间帧数量的计数器进行递减。当计数器到达零时,系统300可以确定定时信号与该生成的帧相关联。系统300随后可以重置计数器。相关的实施方式可以将计数器递增,直到到达间隔值为止。系统300随后可以确定定时信号与该生成的帧相关联。系统300然后可以将计数器重置为0。如果系统300确定定时信号不与该帧相关联,则方法前进至框460。如果系统300确定定时信号与帧相关联,则方法前进至框470。
在框460,系统300生成与帧相关联的定时信号,并且在框470,系统300输出该定时信号。例如,系统300可以将定时信号输出至事件处理器,或者专用于定时信号的其他例程。
在框480,系统300输出该帧。例如,在一个实施方式中,系统可以在与计算机301通信的显示器上显示帧。在另一实施方式中,系统300可以将帧输出至存储器320。在另一实施方式中,系统300可以将帧输出至另一应用,诸如搜索引擎,用于分析。例如,系统300可以将帧传输至搜索引擎,该搜索引擎可以随后针对文本域或其他可搜索的内容来分析该帧。在本发明的一个实施方式中,系统300将定时信号和帧输出至不同的目的地。在输出了帧之后,方法返回框440,以生成下一帧。
图5示出了根据本发明一个实施方式的用于加速播放富互联网应用的方法的流程图。
在框510中,系统300确定RIA的帧速率,如以上针对图4的框410所述。在所示实施方式中,RIA包括一个动画;然而,实施方式可以包括具有多个动画的RIA,如上所述。在这种实施方式中,图5中所示方法可以应用到每个动画。
在框520中,系统300确定应用将要生成的至少一个定时信号。在图5所示实施方式中,系统识别与RIA相关联的定时信号。针对该定时信号,系统300确定定时信号的类型以及应当以何种间隔(对于周期定时信号)或者在何时(对于一次性定时信号)生成并输出定时信号。系统300存储在其处应当生成并输出定时信号的间隔或时间。
在框530中,系统300生成动画的帧,如以上针对图4的框440所述。在框535中,系统300在生成的帧中识别至少一个文本域,如以上针对图4的框445所述。应当注意,对于图5中所示的方法而言,框535并不是必须的,但是在本发明的一个或多个实施方式中可能是有益的。
在框540处,系统300至少部分基于帧速率确定逝去的时间。例如,在一个实施方式中,系统300可以维持运行指示逝去时间的计数器。在这种实施方式中,系统可以将计数器增大约等于至少部分基于帧速率的帧之间的时间的量。例如,在一个实施方式中,RIA可以指定帧速率为30fps。在这种实施方式中,系统300可以在生成第一帧之后将计数器设为0。在生成第二帧之后,系统300可以将计数器增大33.3ms。系统300随后能够维持逝去时间计数器,该计数器代表在动画以指定的帧速率运行时可能逝去的时间。
在框550中,系统300确定定时信号是否与帧相关联。在图5所示实施方式中,系统可以至少部分基于逝去的时间和定时信号来确定定时信号与帧是否相关联。例如,系统将逝去的时间除以周期,并且如果结果是整数,则系统确定该定时信号与该帧相关联。备选地,系统可以计算逝去的时间与定时信号间隔的模。例如,如果逝去的时间是1500ms,并且定时信号的周期是500ms,则系统300可以计算1500对500的模。如果结果是0,则系统300确定该定时信号与该帧相关联。
在某些实施方式中,或者对于某些帧速率或定时信号周期而言,定时信号可能不能与帧完全对齐。例如,如果帧速率是30fps,而定时信号的周期是250ms,则定时信号会落在帧之间的时间处。在这种情况下,动画的帧8在233.3ms后出现,而帧9可以在266.6ms之后出现,而定时信号应当在250ms之后生成。在这种实施方式中,系统300可以选择与帧8或帧9一起生成定时信号,但不能与两者一起生成。例如,RIA播放器可以允许较早地生成定时信号,而不允许较晚生成。在这种情况下,系统300可以与帧8一起生成定时信号。
如果定时信号与该帧相关联,则方法前进至框560。如果定时信号不与该帧相关联,则方法前进至框580。
在框560中,系统300生成定时信号,如以上针对图4中的框460所述。在框570中,系统300输出定时信号,如以上针对图4中的框470所述。
在框580,系统300输出该帧,如以上针对图4中的框480所述。
图6示出了根据本发明一个实施方式的用于加速播放富互联网应用的方法的流程图。在框610中,方法开始于抓取万维网。例如,在本发明的一个实施方式中,诸如搜索引擎的系统抓取万维网(WWW)以找到网页并对其编制索引。
在框620中,在web抓取期间,接收网页。例如,在本发明的一个实施方式中,搜索引擎可以访问网站中的网页,并且该网页包括RIA。搜索引擎可以针对词语或短语对网页中的文本域进行分析,以便对其归类以供生成搜索结果。搜索引擎还可以试图针对将被归类的内容搜索RIA。
在框630中,以加速的速率播放RIA。例如,在本发明的一个实施方式中,框630包括图4中所示方法。在本发明的另一实施方式中,框630包括图5中所示方法。
在框640中,在RIA的一个或多个帧中识别文本域,并且提取一个或多个文本域内的文本。例如,在本发明的一个实施方式中,搜索引擎识别RIA的一个或多个帧内的文本域,并且从文本域中提取文本。
在框650中,从文本域提取的文本被归类。例如,在本发明的一个实施方式中,搜索引擎确定与从RIA内的文本域提取的文本相关联的至少一个类别。
在框660中,存储已经被归类的文本,以用于生成搜索结果。例如,搜索引擎可以根据相关联的类别,将文本存入数据库中。
再次参考图3,本发明的实施方式可以以数字电子电路,或者计算机硬件、固件、软件或其组合实现。在一个实施方式中,计算机301可以包括一个或者多个处理器310。处理器310包括计算机可读介质,诸如耦合至处理器的随机存取存储器(RAM)。处理器310执行存储在存储器320中的计算机可读程序指令,诸如执行用于编辑图像的一个或多个计算机程序。这种处理器可以包括:微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和状态机。这种处理器可以进一步包括可编程的电子设备,诸如PLC、可编程的中断控制器(PIC)、可编程的逻辑设备(PLD)、可编程的只读存储器(PROM)、电子可编程的只读存储器(EPROM或者EEPROM),或者其他类似设备。
这种处理器可以包括介质,例如计算机可读介质,其可以存储这样的指令,当由处理器执行时,可以引起处理器执行在此描述的由处理器完成或协助的步骤;或者与这样的介质通信。计算机可读介质的实施方式可以包括但不限于:电的、光的、磁的或者其他存储或传输设备,其能够向诸如web服务器中的处理器提供计算机可读指令。介质的其他示例包括但不限于:软盘、CD-ROM、磁盘、存储器芯片、ROM、RAM、ASIC、配置的处理器、所有的光介质、所有的磁带或者其他磁介质,或者计算机处理器可以从其读取的任何其他介质。而且,各种其他设备都可以使用,诸如,路由器、私有或公共网络,或者包括某些计算机可读介质形式的其他传输设备。描述的处理器和处理可以在一个或多个结构中,并且可以分布在一个或多个结构中。处理器可以包括用于完成在此描述的一个或多个方法(或方法的部分)的代码。
总结
已经仅为了示出和描述的目的,给出了本发明实施方式的前述描述,其不是意在穷举,或者将本发明限制于所公开的精确形式。在不脱离本发明精神和范围的前提下,本发明的各种改进和修改对于本领域技术人员而言是显然的。

Claims (18)

1.一种用于加速播放富互联网应用的方法,包括:
确定与富互联网应用相关联的帧速率,所述富互联网应用包括多个帧;
确定所述富互联网应用将要生成的至少一个定时信号;
确定依照所述帧速率将在其处输出所述至少一个定时信号的所述多个帧的至少一个帧;
以高于所述帧速率的速率生成所述富互联网应用的多个帧的每一个;
当生成了与所述定时信号相关联的至少一个帧时,输出所述至少一个定时信号;
在生成每个帧之后:
解析生成的帧以标识与生成的所述帧相关联的至少一个文本域;以及
从所述至少一个文本域提取文本。
2.如权利要求1所述的方法,进一步包括:对上述文本进行归类,以供搜索。
3.如权利要求1所述的方法,其中所述富互联网应用包括具有至少两个分支的树,所述树描述了所述多个帧的顺序。
4.如权利要求3所述的方法,其中生成所述富互联网应用的多个帧的每一个包括:至少部分地基于所述树,以深度优先的顺序生成所述多个帧的每一个。
5.如权利要求3所述的方法,其中生成所述富互联网应用的多个帧的每一个包括:至少部分地基于所述树,以广度优先的顺序生成所述多个帧的每一个。
6.如权利要求1所述的方法,其中所述速率包括具有所述帧速率倍数的固定速率。
7.如权利要求1所述的方法,其中所述速率是尽可能地快。
8.如权利要求1所述的方法,其中所述富互联网应用包括SWF格式的应用。
9.一种用于加速播放富互联网应用的装置,包括:
用于确定与富互联网应用相关联的帧速率的装置,所述富互联网应用包括多个帧;
用于确定所述富互联网应用将要生成的至少一个定时信号的装置;
用于确定依照所述帧速率将在其处输出所述定时信号的至少一个帧的装置;
用于以高于所述帧速率的速率生成所述富互联网应用的多个帧的每一个的装置;
用于当生成了与所述定时信号相关联的至少一个帧时,输出所述至少一个定时信号的装置;
用于在生成每个帧之后:
解析生成的帧以标识与生成的所述帧相关联的至少一个文本域的装置;以及
从所述至少一个文本域提取文本的装置。
10.如权利要求9所述的装置,其中所述富互联网应用包括具有至少两个分支的树,所述树描述了所述多个帧的顺序。
11.如权利要求10所述的装置,其中用于生成所述富互联网应用的多个帧的每一个的装置包括:用于至少部分地基于所述树,以深度优先的顺序生成所述多个帧的每一个的装置。
12.如权利要求10所述的装置,其中用于生成所述富互联网应用的多个帧的每一个的装置包括:用于至少部分地基于所述树,以广度优先的顺序生成所述多个帧的每一个的装置。
13.如权利要求9所述的装置,其中所述速率包括具有所述帧速率倍数的固定速率。
14.如权利要求9所述的装置,其中所述速率是尽可能地快。
15.如权利要求9所述的装置,其中所述富互联网应用包括FlashTM应用。
16.一种用于加速播放富互联网应用的方法,包括:
执行web抓取;
接收网页;
确定所述网页包括富互联网应用,所述富互联网应用包括多个帧;
确定与所述富互联网应用相关联的帧速率;
确定所述富互联网应用将要生成的至少一个定时信号;
确定依照上述帧速率将在其处输出所述至少一个定时信号的所述多个帧的至少一个帧;
以高于所述帧速率的速率生成所述富互联网应用的多个帧的每一个;
当生成了与所述定时信号相关联的至少一个帧时,输出所述至少一个定时信号;
在生成每个帧之后:
解析生成的帧以标识与生成的所述帧相关联的至少一个文本域;
从所述至少一个文本域提取文本;
确定与所述文本相关联的至少一个类别;以及
存储所述文本,以用于生成搜索结果。
17.如权利要求16所述的方法,其中所述速率是尽可能地快。
18.如权利要求16所述的方法,其中所述富互联网应用包括SWF格式的应用。
CN2009101335942A 2008-04-16 2009-04-16 用于加速播放富互联网应用的系统和方法 Active CN101561824B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/104,248 2008-04-16
US12/104,248 US8230039B2 (en) 2008-04-16 2008-04-16 Systems and methods for accelerated playback of rich internet applications

Publications (2)

Publication Number Publication Date
CN101561824A CN101561824A (zh) 2009-10-21
CN101561824B true CN101561824B (zh) 2012-10-10

Family

ID=41201999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101335942A Active CN101561824B (zh) 2008-04-16 2009-04-16 用于加速播放富互联网应用的系统和方法

Country Status (2)

Country Link
US (2) US8230039B2 (zh)
CN (1) CN101561824B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2122500A1 (en) * 2007-02-09 2009-11-25 Novarra, Inc. Method and system for converting interactive animated information content for display on mobile devices
US8504555B2 (en) 2008-06-25 2013-08-06 Microsoft Corporation Search techniques for rich internet applications
US8571935B2 (en) * 2009-06-04 2013-10-29 Viacom International Inc. Dynamic integration and linear presentation of advertising content and media content
US9595040B2 (en) 2009-10-09 2017-03-14 Viacom International Inc. Integration of an advertising unit containing interactive residual areas and digital media content
US8752083B2 (en) 2009-11-05 2014-06-10 Viacom International Inc. Integration of an interactive advertising unit containing a fully functional virtual object and digital media content
US20120215646A1 (en) 2009-12-09 2012-08-23 Viacom International, Inc. Integration of a Wall-to-Wall Advertising Unit and Digital Media Content
US8490114B1 (en) * 2010-06-15 2013-07-16 Adobe Systems Incorporated Method and apparatus for accessing rich internet content
US9619915B2 (en) * 2011-01-19 2017-04-11 Adobe Systems Incorporated Method and apparatus for converting an animated sequence of images into a document page
CA2790379C (en) * 2012-09-20 2020-02-25 Ibm Canada Limited - Ibm Canada Limitee Crawling rich internet applications
US9600351B2 (en) 2012-12-14 2017-03-21 Microsoft Technology Licensing, Llc Inversion-of-control component service models for virtual environments
CN104009866B (zh) * 2014-05-09 2018-04-17 烽火通信科技股份有限公司 基于ria的web网管系统模块化实现方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328275B1 (en) * 2000-05-30 2008-02-05 Perttunen Cary D Wirelessly retrieving and locally caching child and sibling items in a browsing session

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675752A (en) * 1994-09-15 1997-10-07 Sony Corporation Interactive applications generator for an interactive presentation environment
EP0720114B1 (en) * 1994-12-28 2001-01-24 Siemens Corporate Research, Inc. Method and apparatus for detecting and interpreting textual captions in digital video signals
EP1135722A4 (en) * 1998-07-27 2005-08-10 Webtv Networks Inc ACCESS TO A REMOTE COMPUTER
US6313833B1 (en) * 1998-10-16 2001-11-06 Prophet Financial Systems Graphical data collection and retrieval interface
US6614930B1 (en) * 1999-01-28 2003-09-02 Koninklijke Philips Electronics N.V. Video stream classifiable symbol isolation method and system
WO2001063919A1 (en) * 2000-02-23 2001-08-30 Penta Trading Ltd. Systems and methods for generating and providing previews of electronic files such as web files
US20020069263A1 (en) * 2000-10-13 2002-06-06 Mark Sears Wireless java technology
US7360149B2 (en) * 2001-04-19 2008-04-15 International Business Machines Corporation Displaying text of video in browsers on a frame by frame basis
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US7234133B2 (en) * 2003-05-20 2007-06-19 Sap Aktiengesellschaft Software expiry before delivery
US7873668B2 (en) * 2003-08-15 2011-01-18 Laszlo Systems, Inc. Application data binding
US20050138674A1 (en) * 2003-12-17 2005-06-23 Quadrock Communications, Inc System and method for integration and synchronization of interactive content with television content
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US7937458B2 (en) * 2006-02-14 2011-05-03 Nanamura Roberto N On-demand software service system and method
US20070204003A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Downloading a file over HTTP from multiple servers
US8777737B2 (en) * 2006-04-13 2014-07-15 Igt Method and apparatus for integrating remotely-hosted and locally rendered content on a gaming device
EP2122500A1 (en) * 2007-02-09 2009-11-25 Novarra, Inc. Method and system for converting interactive animated information content for display on mobile devices
US20090089677A1 (en) * 2007-10-02 2009-04-02 Chan Weng Chong Peekay Systems and methods for enhanced textual presentation in video content presentation on portable devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328275B1 (en) * 2000-05-30 2008-02-05 Perttunen Cary D Wirelessly retrieving and locally caching child and sibling items in a browsing session

Also Published As

Publication number Publication date
US8230039B2 (en) 2012-07-24
US20120240034A1 (en) 2012-09-20
US20090265367A1 (en) 2009-10-22
CN101561824A (zh) 2009-10-21

Similar Documents

Publication Publication Date Title
CN101561824B (zh) 用于加速播放富互联网应用的系统和方法
CN104704851B (zh) 节目推荐装置和节目推荐方法
US20070050719A1 (en) System and method for dynamic assistance in software applications using behavior and host application models
WO2015012580A1 (ko) 동영상의 구간별 댓글과 통계정보 제공 장치 및 그 방법
CN102880607A (zh) 网络动态内容抓取方法及网络动态内容爬虫系统
CN102890692A (zh) 一种网页信息抽取方法及抽取系统
CN101443751A (zh) 用于应用爬取器的方法和装置
CN100362858C (zh) 采用浏览器技术实现扩展epg功能的方法
CN106227883A (zh) 一种多媒体内容的热度分析方法和装置
CN102163213B (zh) 一种语音浏览方法及浏览器
CN101000627A (zh) 一种相关信息的发布方法和装置
CN103744987B (zh) 基于dom树匹配的视频网站媒资聚合方法和系统
CN102831229A (zh) 适合盲人使用的网页浏览方法
CN107566906B (zh) 一种视频评论处理方法及装置
CN103885764A (zh) 网络媒介信息展示系统、方法、装置和服务器
CN113377373A (zh) 基于解析引擎的页面加载方法、装置、计算机设备及介质
CN101826096A (zh) 基于鼠标指点的信息显示方法、装置系统
CN105302906A (zh) 信息标注方法及装置
CN110072140A (zh) 一种视频信息提示方法、装置、设备及存储介质
CN102426842A (zh) 基于浏览器的歌词显示方法及终端
CN114816391A (zh) 一种组件渲染方法及装置
JP2010198058A (ja) 文書処理システム及び方法
JP4774087B2 (ja) 動画評価方法、装置及びプログラム
US20230205981A1 (en) System for superimposed communication by object oriented resource manipulation on a data network
CN112162905A (zh) 一种日志处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant