CN103020025A - 用于文档内容的自动动画化的技术 - Google Patents
用于文档内容的自动动画化的技术 Download PDFInfo
- Publication number
- CN103020025A CN103020025A CN2012104588155A CN201210458815A CN103020025A CN 103020025 A CN103020025 A CN 103020025A CN 2012104588155 A CN2012104588155 A CN 2012104588155A CN 201210458815 A CN201210458815 A CN 201210458815A CN 103020025 A CN103020025 A CN 103020025A
- Authority
- CN
- China
- Prior art keywords
- difference
- animation
- layout
- document
- change
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
Abstract
描述了用于文档内容的自动动画化的技术。装置可包括:用于接收文档的原布局以及文档的新布局的差异组件,该新布局对应于将一个或多个改变应用到了文档的原布局;该差异组件用于确定原布局和新布局之间的差异集;以及,用于从该差异集中生成动画层集的动画层生成组件。对其他实施例也予以描述并要求保护。
Description
技术领域
本发明涉及用于使文档内容自动化的技术,尤其涉及用于使文档的改变自动化的技术。
背景技术
在编辑文档时,通过该文档的屏幕上显示中的改变来表示该文档的改变。在基本实现中,可显示文档的第一版本、可接收编辑、以及随后可改变显示而无需转变为示出经编辑的文档。对于某些基本改变(诸如,将新的字符添加到文本行的末端),对经编辑文档的立即显示可足以用提供更愉悦的视觉体验的较平滑显示来传送文档已改变的方式。对于较复杂或实质性的改变,可以用捕捉文档的一个或多个改变的显示来向用户提供附加的清晰度,而不是仅仅将对文档的原版本的显示切换为对新版本的显示。本发明的改进正是针对这些和其他考虑事项而需要的。
发明内容
下面提供了简化的发明内容,以便提供对此处所描述的一些新颖实施例的基本理解。本发明内容不是广泛的概览,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更具体实施例的序言。
各个实施例一般涉及用于文档内容的自动化动画的技术。某些实施例尤其涉及用于文档内容的自动化动画以呈现文档的改变或编辑的技术。在一个实施例中,例如,装置可包括:用于接收文档的原布局以及文档的新布局的差异组件,该新布局对应于将一个或多个改变应用到了文档的原布局,该差异组件用于确定原布局和新布局之间的差异集;以及,用于根据该差异集来生成动画层集的动画层生成组件。对其他实施例也予以描述并要求保护。
为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将变得显而易见。
附图说明
图1示出用于文档内容的自动化动画的系统的一实施例。
图2示出图1的系统的逻辑流程的一实施例。
图3示出应用变化集合之前和之后的示例性文档。
图4示出对应于图3中描绘的各改变的三个动画层。
图5示出用于图1的系统的集中式系统的一实施例。
图6示出用于图1的系统的分布式系统的一实施例。
图7示出计算体系结构的一实施例。
图8示出通信体系结构的一实施例。
具体实施方式
各个实施例涉及用于文档内容的自动化动画的技术。编辑应用(诸如文字处理器、电子表格程序、演示程序和用于创建和编辑文档的其他程序)允许用户作出改变,并且这些程序随后通过文档的屏幕上显示中的改变来表示这些改变。在某些情况下,这可被称为所见即所得(即,WYSIWYG)编辑。最基本地,可通过简单地将对文档的前编辑版本的显示替换为对文档的后编辑版本的显示来描绘这些改变。可以通过对文档的新版本的立即显示来充分地描绘某些改变,诸如少量字符的添加或删除等,但是较平滑的显示仍可提供较愉悦的视觉体验。对于较复杂或实质性的改变,可以用捕捉文档的一个或多个改变的显示来向用户提供附加的清晰度,而不是仅仅将对文档的原版本的显示切换为对文档的新版本的显示。动画系统可以接收文档的原布局以及文档的新布局,并且新布局对应于将一个或多个改变应用到了文档的原布局。动画系统可以确定原布局和新布局之间的差异集合,并根据该差异集合来生成动画层的集合。可随后使用这些动画层来生成一个或多个改变的动画,可向用户显示该动画以描绘这些改变。以这种方式,用户可以编辑文档并接收对其编辑过程的较全面的描绘,从而允许得到对通过这些编辑来改变文档的方式的更好的理解。此外,除了对清晰度的任何改进以外,对编辑过程的较全面的描绘还可提供动态和愉悦的视觉体验。
现在将参考附图,全部附图中相同的附图标记用于指代相同的元素。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施例。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出动画系统100的框图。在一个实施例中,动画系统100可包括具有一个或多个软件应用和/或组件的计算机实现的动画系统100。尽管图1中示出的动画系统100具有按照某种拓扑结构的有限数量的元件,但可以理解,动画系统100可以视给定实现的需要而包括按照替代拓扑结构的更多或更少元件。
在图1所示的实施例中,动画系统100包括差异组件110、动画层生成组件120、动画组件130、显示组件140和数据存储150。差异组件110一般用于接收文档的原布局和文档的新布局,该新布局对应于将一个或多个改变应用到了文档的原布局,该差异组件110用于确定该原布局和该新布局之间的差异集合。动画层生成组件120一般用于根据该差异集合来生成动画层集合。动画组件130一般用于使用所生成的动画层集合来生成一个或多个改变的动画。显示组件140一般用于显示该动画。
在各个实施例中,差异组件110一般用于接收文档160的原布局以及文档160的新布局,该新布局对应于将一个或多个改变应用到了文档160的原布局,该差异组件110用于确定该原布局和该新布局之间的差异集合。文档160的布局的改变可对应于可用于改变文档160的任何方法。在各个实施例中,布局的改变可对应于用户发起的对文档160的一个或多个改变,例如用户用诸如文字处理程序、演示程序、办公生产力程序、布局程序或用户用来编辑文档的任何其他程序(诸如,具有对文档显示的基本上实时更新的那些程序)之类的编辑程序来编辑文档160。
文档160的布局可包括文档160的内容(在文档160中以及不在文档160中的内容)以及文档160的各元素的定位两者。对文档160的改变或编辑可因此对应于对出现在文档160内的内容的任何改变或修改,或对文档160内的内容的定位的任何改变或修改。对出现在文档160内的内容的改变或修改可以是将元素添加到文档160中或将元素从文档160中移除,或者可以是对文档160的一个或多个元素的改变,诸如格式改变。对文档160的改变可对应于将一个或多个新元素添加到或插入文档160中。对文档160的改变可对应于将一个或多个现有元素从文档160中移除或删除。对文档160的改变可对应于元素的替换,诸如将第一元素从文档160中移除,并将第二元素置于其位置。对文档160的改变可对应于文档内的一个或多个元素的位置的改变,诸如将一个或多个元素从第一位置移动到第二位置。对文档160的改变可对应于一个或多个元素的大小的改变,诸如将一个或多个元素从第一大小改变为第二大小。对文档160的改变可对应于经组合的移动和重设大小,诸如将一个或多个元素从第一位置移动到第二位置,同时将该一个或多个元素的大小从第一大小改变为第二大小。
在各个实施例中,改变可以指用于文档160的编辑应用的用户发起、通过程序发起或通过外部发起的命令或命令集。在各个实施例中,对文档160的改变可表示与编辑文档有关的用户视角。改变可对应于用户动作,诸如编辑应用中的输入文档或发起命令或例程。
在各个实施例中,原布局和新布局之间的差异可对应于在盘上、存储器中、高速缓存中或使用存储或管理布局的任何其他装置所存储的布局表示中的差异。在各个实施例中,所存储的文档160的布局表示可以不包含用户发起的对该布局的改变的记录,而只包含这些改变已修改所存储的该布局表示的程度。因此,改变可对应于对文档160执行的动作,而差异对应于所存储的文档160的布局中的差异。在各个实施例中,差异可以是如文档160的布局中所反映出的改变的结果。在各个实施例中,所存储的文档160的布局除了包含所存储的布局中的差异之外,可以不包含文档160的各改变的表示。在某些实施例中,对发起差异和动画过程或直接在差异和动画过程之前的用户动作的知识可用于生成动画。在某些实施例中,如果用户发起一动作,则诸如通过延长该动画与该动作相关联的部分的持续时间或通过对该部分使用较复杂或不同类型的动画,该部分可以成为所生成的动画的焦点。类似地,诸如通过限制该动画不与该动作相关联的各部分的持续时间或者对这些部分使用较不复杂或较不明显的类型的动画,可以使这些部分静默或以其他方式来减少这些部分的聚焦度。例如,如果图片被插入文档,则可以使该动画涉及插入该图片(诸如该图片的出现)的部分成为所生成的动画的焦点,而减少该动画的其他部分的聚焦度。在一些实施例中,这可意味着用户动作的直接影响(诸如,插入元素的出现)成为所生成的动画的焦点,而用户动作的间接影响(诸如,周围元素的重定位)不成为所生成的动作的焦点。另外地或另选地,差异组件110除了利用以所存储的文档160的原布局和新布局来表示的改变之外,可能不利用或可能无法利用对文档160的改变的任何知识。
在各个实施例中,差异组件110可用于确定原布局的第一部分以及新布局的第二部分,第二部分对应于应用了一个或多个改变之后的第一部分,差异组件用于生成包括第一部分和第二部分之间的差异的差异结构,该差异结构用于确定差异集。布局的一部分可包括该布局的区域,包括以几何形状(诸如,矩形)为界的一个区域。在各个实施例中,布局的一部分可包括限制该布局的区域的特定矩形的内容。
在一些实施例中,可以使用分层结构来存储文档160。在这些实施例中,布局的一部分可以包括该分层结构的分支。例如,可基于以下分层结构以从该分层结构的最高级别(该分层的最接近根的级别)到最低级别(该分层的最远离根的级别)的次序来存储布局:形状、文本框、表格行、表格单元格、文本行和文本范围。例如,形状可在其中包含文本框,文本框由各文本行组成,每一文本行由文本范围组成。布局的一部分可因此包括该分层结构的以这些元素类型中的一个为根的子集,诸如树形分层结构的子树。例如,布局的一部分可对应于文本框以及该文本框内的所有文本行和文本范围。由此,在某些实施例中,如果第二部分在该分层结构中与第一部分在被应用一个或多个改变之前占据相同的位置,第二部分对应于应用了该一个或多个改变之后的第一部分。例如,如果文档的第一部分对应于文本行,且改变对应于将字符添加到该文本行中,则第二部分将对应于相同的文本行,但将在其中包括附加的字符。在这些实施例中,第一部分和第二部分之间的差异将包括分层结构的对应于这些部分的子集中的差异。
在各个实施例中,差异组件110可一般用于:确定多个差异结构,每一差异结构具有一类型;并用于将相同类型的兼容差异结构组合在一起。在各个实施例中,每一差异结构可对应于文档160的分层存储内的特定元素以及包含在该特定元素内的所有元素。类型可对应于差异的特性,诸如插入、删除、移动、重设大小、移动并重设大小或替换。插入可对应于在文档160的布局内创建新的元素。删除可对应于将元素从文档160的布局中移除。移动可对应于文档160的布局内的元素的位置的改变。重设大小可对应于文档160的布局内的元素的大小的改变。移动并重设大小可对应于经组合的文档160的布局内的元素的位置的改变和大小的改变。替换可对应于移除第一元素并将第二元素插入在布局中的相同位置处或者布局的分层存储中的相同位置处,或者可对应于元素的格式的改变,诸如颜色的改变或将任何其他改变或者将不改变被改元素的大小的视觉元素添加至该元素(诸如,添加下划线或删除线)。
在各个实施例中,两个差异结构在它们对应于同一类型的差异并对应于为分层结构内同一元素的相邻的儿子的各元素的情况下可适于组合。例如,对应于两个文本范围中的差异的差异结构在它们是同一文本行的相邻的成员并且两者都是文本插入的情况下可适于组合。类似地,对应于两个表格单元格的差异结构(这两个表格单元格中的每一个可包含一个或多个文本行或文本范围)在相应的表格单元格是同一表格行内的相邻表格单元格并且两者都是对表格单元格的删除的情况下适于组合。这种组合可允许改变的较自然的动画。不是将两个单元格的移除分开地动画化,而是可显示针对这两个单元格的移除的单个动画。可将这种组合应用于所有这种类型的差异。
在各个实施例中,差异组件110可一般用于通过以迭代较小的范围针对兼容性和类型分析多个差异结构来确定哪些差异结构要组合在一起。例如,差异组件110可首先确定对应于各形状的差异结构是否可被组合,随后确定对应于各文本框的差异结构是否可被组合,并依此向下确定对应于各文本范围的差异结构是否可被组合。一般来说,差异组件110可一般用于确定最小差异结构集,使得每一差异结构均对应于该分层结构的最高级别、最大范围,从而使得该差异结构所存储的差异表示在该分层结构的该级别处的单个类型的改变。
在各个实施例中,新布局可包括命令提示集,这些命令提示指示有关一个或多个改变中的一个或多个的信息,差异组件用于使用这些命令提示来确定差异集。命令提示可表示布局内包含的、描述用于生成布局中的特定改变的命令的结构。命令提示在基于所存储的布局中的各差异难以确定布局的改变的情况下可以是合适的。例如,用编辑应用中的单个命令对各表格作出的改变可能要求若干编辑动作被编辑应用运行。命令提示可用于将该多个编辑动作封装在单个动作中,该单个动作和与新布局中的经编辑元素相关联的命令提示结构存储在一起。命令提示可允许由该命令提示所表示的命令所引起的对单个差异结构的创建,该单个差异结构包括原布局和新布局之间的差异。在各个实施例中,命令提示可用于影响用于描绘该命令所引起的改变的动画的类型或持续时间。在各个实施例中,命令提示可用于将未经改变的元素包括在差异结构中,以便产生更全面或清楚的动画。例如,命令提示可以指定当仅表格的单元格的子集的大小被改变时,表格的大小的改变将被作为整体来描绘,而不是将经改变的各个单元格逐个地动画化。
在各个实施例中,动画层生成组件120一般用于从差异集中生成动画层集。动画层可以是布局的用于生成改变的动画的一部分的图形表示。一动画层可专用于特定类型的差异。在各个实施例中,每一动画层可以与所生成的单个差异或差异结构相关联。插入动画层可对应于插入差异,插入动画层包含插入到文档中的一个或多个元素,插入动画层因此包含新布局的、对应于在应用了将一个或多个新元素插入文档中的改变之后的布局中差异的那部分。删除动画层可对应于删除差异,删除动画层包含从文档中移除的一个或多个元素,删除动画层因此包含原布局的、对应于在应用将一个或多个元素从文档中移除的改变之前的布局中差异的那部分。移动动画层可对应于移动差异,移动动画层包含文档内被移动了的一个或多个元素,移动动画层因此包含该布局的、在应用移动一个或多个元素的改变期间移动的一部分。重设大小动画层可对应于重设大小差异,重设大小动画层包含文档内被重设大小了的一个或多个元素,重设大小动画层因此包含该布局的、在应用将一个或多个元素重设大小的改变期间被重设大小的一部分。移动并重设大小动画层可对应于移动并重设大小差异,移动并重设大小动画层包含文档内被移动并被重设大小了的一个或多个元素,移动并重设大小动画层因此包含该布局的、在应用将一个或多个元素移动并重设大小的改变期间被移动并被重设大小的一部分。替换差异可具有一对相应的动画层,第一相应动画层为插入动画层,第二相应动画层是删除动画层,插入动画层包含插入该文档的一个或多个元素,删除动画层包含从该文档移除的一个或多个元素。应该理解,插入动画层可对应于经重新格式化或以其他方式改变的元素的新版本,而不必仅对应于将附加元素添加到布局中的那些情况。类似地,应该理解,删除动画层可对应于经重新格式化或以其他方式改变的元素的原版本,而不必仅对应于将元素从布局中移除的那些情况。本领域的技术人员将理解,这个差异类型的列表并不是穷尽性的,而可使用其他相关类型的动画层。在一些实施例中,可使用一个或多个类型的特殊情况动画层。例如,通过单词打包处理而从一行的末端移动到下一行的开头的单词可能需要特殊情况动画层和/或特殊情况动画,以便避免将该单词描绘为正跨现有文本滑动。在某些实施例中,该特殊情况可以通过描绘单词离开第一行的第一动画及其后面的描绘单词进入第二行的第二动画来描绘。
在各个实施例中,动画层生成组件120可一般用于检索原布局的呈现的各部分以便生成包含原布局的各部分的动画层。删除动画层、移动动画层、移动并重设大小动画层以及替换动画层都将使用原布局的呈现的某一部分。在各个实施例中,动画层生成组件120可一般用于检索新布局的呈现的各部分以便生成包含新布局的各部分的动画层。因此,动画层生成组件120可一般用于调用新布局的呈现,以便能够检索新布局的各部分。插入动画层和替换动画层两者将使用新布局的呈现的某一部分。在各个实施例中,动画层生成组件120可用于高速缓存原布局的呈现,以便检索用于生成各动画层的所需部分,而无需重新呈现原布局并且无需存储原布局的副本以供呈现。在各个实施例中,动画层生成组件120可用于在新布局的呈现之前检索原布局的呈现的各部分,使得不需要同时存储原布局的呈现和新布局的呈现,例如在新布局的呈现将在存储器中替换原布局的呈现的情况下。因此,动画层生成组件120可用于在接收用户编辑和由用户编辑导致的新布局的呈现之间的时间间隙内操作。在各个实施例中,用于表示存储结构中的布局的各单元可以不与用于表示所呈现的布局的各单元相同。本领域的普通技术人员将理解,可以使用任何数量的现有技术来在存储测量单元和呈现布局单元之间进行转换。
在各个实施例中,动画组件130可一般用于使用所生成的动画层集来生成一个或多个改变的动画。该动画可利用用于从各动画层中生成动画的任何公知的技术。使用各动画层可以允许仅使用对作为整体的动画层执行动作的那些技术和效果。这些动画技术可以包括但不限于:淡入、淡出、移动、重设大小、显露、二维旋转和在三维轴上的翻转。
将插入差异动画化可以包括淡入插入动画层,使得所插入的一个或多个元素逐渐地出现在合适的位置中,或者可包括用于描绘元素出现在特定位置处任何其他技术。将删除差异动画化可以包括淡出删除动画层,使得所删除的一个或多个元素逐渐地从该合适的位置处消失,或者可包括用于描绘元素从特定位置处消失的任何其他技术。
将移动差异动画化可包括将移动动画层从一个或多个元素在原布局中的原位置移动到该一个或多个元素在新布局中的新位置,使得被移动的一个或多个元素在显示位置上从原位置转移至新位置。在某些情况下,诸如在该一个或多个元素仅转移了较小的距离的情况下,直接的移动可被完整地描绘。在某些情况下,诸如在该一个或多个元素转移了较长的距离(诸如,跨越了大部分屏幕)的情况下,或者在该一个或多个元素跨其他元素转移时,将移动差异动画化可以包括描绘仅该移动的一部分,诸如仅移动的开始或结束或者任何其他经缩短的移动动画。一般来说,移动差异将生成捕捉一个或多个元素从第一位置到第二位置的转移的动画。
将重设大小差异动画化可包括将重设大小动画层重设大小,使得经重设大小的一个或多个元素在大小上逐渐地从其原大小转变为其新大小。将重设大小差异动画化可包括用于描绘从原大小到新大小的改变的任何技术。将重设大小差异动画化可包括描绘一个或多个元素的原显示和一个或多个元素的新显示之间的转变,使得大小的改变被描绘。例如,如果一个或多个元素在大小上被增加,则可该一个或多个元素以新大小的呈现可被缩小为原大小,并随后可被描绘为在大小上增加到新大小。或者,如果一个或多个元素在大小上被减小,则该一个或多个元素以原大小的呈现可被描绘为在大小上减少到新的、较小的大小。
将移动并重设大小差异动画化可包括将移动并重设大小动画层移动并且重设大小,使得被移动并重设大小的一个或多个元素被逐渐并同时地在显示位置和大小上从原位置和原大小转变为其新位置和新大小。一般来说,将移动并重设大小差异动画化可包括用于将移动差异和重设大小差异动画化的技术的任何组合。
将替换差异动画化可包括用于第一图像和第二图像间的转变的任何动画技术。在一些实施例中,将替换差异动画化可包括在淡入插入动画层时同时地淡出删除动画层,或者可另选地包括顺序地淡出删除动画层并随后淡入插入动画层,使得被移除的一个或多个元素逐渐地消失,而一个或多个替换元素逐渐地出现。在一些实施例中,将替换差异动画化可包括删除动画层和插入动画层之间的擦除(wiping)、可包括执行删除动画层和插入动画层之间的三维翻转、或可包括将第一动画层和第二动画层组合成传送从第一动画层到第二动画层的转变的单个效果的任何动画效果。
在各个实施例中,动画组件130可一般用于基于以下各项中的一个或多个来确定动画的持续时间:文档160的显示页面的复杂度、差异集的复杂度、紧接在调用新布局之前执行的命令的权重、编辑的动量、缩放因子、文档160的显示部分中可见的页数以及最大持续时间。在一些实施例中,动画的持续时间可以基于以上列出的因素中的所有因素。在一些实施例中,动画的持续时间可以基于以上列出的因素中的仅一些因素或仅一个因素。此外,本领域的普通技术人员将理解,附加因素可用于确定动画的持续时间。动画组件130可以对较复杂的差异集使用相对较长的持续时间,使得较复杂的文档的改变被给予较多的视觉冲击。如果文档160的显示页面较复杂,则动画组件130可以使用相对较短的持续时间。动画组件130可以检查差异集的复杂度与文档160的显示页面的复杂度的比,使得对表示文档160的显示页面的总复杂度的更大百分比的变化或差异使用较长的动画持续时间。编辑的动量可对应于用户编辑文档160的速度或强度,如果用户正以较大的速度进行编辑或者已经持续编辑达较长的时间段,则编辑的动量较大,而如果用户正以较小的速度进行编辑或者已经持续编辑达较小的时间段,则编辑的动量较小。动画组件130对于较大编辑的动量可以使用相对较短的持续时间,以便向用户的编辑提供较少的分心或干扰。缩放因子可以对应于文档160的显示的放大程度,其中较大的缩放因子对应于较大的放大程度。动画组件130对于较大的缩放因子可以使用相对较长的持续时间,因为对布局的显示可能要较多聚焦于经编辑部分,并且因此经编辑部分的改变可能将占据该显示的较大部分并因此保证较多的关注。动画组件130对于在文档160的显示部分中大量页面可见的情况可以使用相对较短的持续时间,因为布局的显示可能将较少聚焦于经编辑部分,并且因此经编辑部分的改变可能将占据该显示的较少部分并因此保证较少的关注。最大持续时间可以对应于动画的所允许的最大持续时间。在各个实施例中,可以根据以下公式来计算动画持续时间:
在这个公式中,差异集的复杂度永远都不会大于显示页面的复杂度,并且因此捕捉这两者间的比的分数永远都不会大于1。该命令的权重可在0和1之间变化,并且可以根据预先计算的所有可用编辑命令的权重来确定。动量可以在1和无穷数之间变化,使得上述动量的倒数永远都不大于1。缩放因子可以在10和500之间变化,其中500表示500%的缩放,且10表示与显示大小达因子10的减小相对应的10%的缩放因子,但是应该理解可以使用另选的缩放因子的上边界和下边界。一般来说,在动画持续时间的计算中缩放因子将除以其上边界,使得缩放因子除以相关联的常数永远都不会大于1。在某些实施例中,将使用另选的除数,诸如通过使用取整函数或用于获得最大结果的其他函数,缩放因子除以相关联的除数的结果被设上限(capped)为1。页数可永远不小于1,使得以上页数的倒数永远不大于1。因此,最大持续时间经常将乘以一系列分数,这些分数中的每一个永远不大于1,由此导致所确定的持续时间将永远都不大于该最大持续时间。
在各个实施例中,显示组件140可一般用于显示动画。显示动画可以用数个用于将动画显示在合适的显示器上的公知技术中的任何一个来实现。
此处所包括的是一组表示用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流程图或流程图表形式示出的一个或多个方法被示出并且描述为一系列动作,但是可以理解,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域的技术人员将明白并理解,方法可被替换地表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。
图2示出逻辑流程200的一个实施例。逻辑流程200可表示由在此描述的一个或多个实施例所执行的操作中的部分或全部。
在操作210,启动逻辑流程200的操作。
在操作220,接收文档的原布局和文档的新布局,新布局对应于向文档的原布局应用了一个或多个改变。文档的布局的改变可对应于可改变文档的任何方法。在各个实施例中,布局的改变可对应于用户发起的对文档的一个或多个改变,诸如用户用诸如文字处理程序、演示程序、办公生产力程序、布局程序或用户用来编辑文档的任何其他程序(诸如,具有对文档显示的基本上实时更新的那些程序)之类的编辑程序来编辑文档。
文档的布局可以包括文档的内容(在文档中以及不在文档中的内容)以及文档的各元素的定位两者。对文档的改变或编辑可因此对应于对出现在文档内的内容的任何改变或修改,或对文档内的这些内容的定位的任何改变或修改。对出现在文档内的内容的改变或修改可以是将元素添加到文档中或将元素从文档中移除,或者可以是对文档的一个或多个元素的改变,诸如格式改变。对文档的改变可以对应于将一个或多个新元素添加到或插入文档中。对文档的改变可以对应于将一个或多个现有元素从文档中移除或删除。对文档的改变可以对应于对元素的替换,诸如将第一元素从文档中移除并将第二元素置于其位置的情况。对文档的改变可以对应于对文档内的一个或多个元素的位置的改变,诸如将一个或多个元素从第一位置移动到第二位置。对文档的改变可以对应于对一个或多个元素的大小的改变,诸如将一个或多个元素从第一大小改变为第二大小。对文档的改变可以对应于组合的移动和重设大小,诸如将一个或多个元素从第一位置移动到第二位置,同时将该一个或多个元素的大小从第一大小改变为第二大小。
在各个实施例中,改变可以指用于文档的编辑应用的用户发起、通过程序发起或通过外部发起的命令或命令集。在各个实施例中,对文档的改变可以表示与编辑文档有关的用户视角。改变可对应于用户动作,诸如输入文档或编辑应用中的发起命令或例程。
在操作230,确定原布局和新布局之间的差异集。原布局和新布局之间的差异可对应于在盘上、存储器中、高速缓存中或使用存储或管理布局的任何其他装置的所存储的布局表示中的差异。在各个实施例中,所存储的文档的布局表示可以不包含用户发起的对该布局的改变的记录,而只包含这些改变已修改该所存储的布局表示的程度。因此,改变可以对应于对文档执行的动作,而差异对应于所存储的文档布局中的差异。在各个实施例中,差异可以是如文档的布局中所反映出的改变的结果。在各个实施例中,所存储的文档布局除了包含该所存储的布局中的差异之外,可以不包含对文档的改变的表示。在某些实施例中,除了利用文档的经存储的原布局和新布局中表示的改变之外,对原布局和新布局之间的差异集的确定可能不利用或可能无法利用对文档的改变的任何知识。
在各个实施例中,可以确定原布局的第一部分和新布局的第二部分,第二部分对应于应用了一个或多个改变之后的第一部分。可以生成包括第一部分和第二部分之间的差异的差异结构,该差异结构用于确定差异集。布局的一部分可包括该布局的区域,包括以几何形状(诸如,矩形)为界的一个区域。在各个实施例中,布局的一部分可包括限制该布局的区域的特定矩形的内容。
在一些实施例中,可以使用分层结构来存储文档。在这些实施例中,布局的一部分可以包括该分层结构的分支。例如,可基于以下分层结构以从该分层结构的最高级别(该分层结构的最接近根的级别)到最低级别(该分层结构的最远离根的级别)的次序来存储布局:形状、文本框、表格行、表格单元格、文本行和文本范围。例如,形状可将文本框包含在其中,文本框由各文本行组成,每一文本行由文本范围组成。布局的一部分可因此包括该分层结构的以这些元素类型中的一个为根的子集,诸如树形分层结构的子树。例如,布局的一部分可对应于文本框以及该文本框内的所有文本行和文本范围。由此,在某些实施例中,如果第二部分在该分层结构中与应用了一个或多个改变之前的第一部分占据相同的位置,第二部分对应于应用了该一个或多个改变之后的第一部分。例如,如果文档的第一部分对应于文本行,并且改变对应于将字符添加到该文本行中,则第二部分将对应于相同的文本行,但将在其中包括附加的字符。在这些实施例中,第一部分和第二部分之间的差异将包括分层结构的对应于这些部分的子集中的差异。
在各个实施例中,可确定多个差异结构,每一差异结构具有一类型,并随后将相同类型的兼容差异结构组合在一起。在各个实施例中,每一差异结构对应于文档的分层存储内的特定元素以及该特定元素内包含的所有元素。这些类型可对应于差异的特性,诸如插入、删除、移动、重设大小、移动并重设大小或替换。插入可对应于在文档的布局内创建新元素。删除可对应于将元素从文档的布局中移除移动可对应于改变文档的布局内的元素的位置。重设大小可对应于改变文档的布局内的元素的大小。移动并重设大小可对应于经组合的文档的布局内的元素的位置的改变和大小的改变。替换可对应于移除第一元素以及将第二元素插入到布局中的相同位置处或者布局的分层存储中的相同位置处,或者可对应于元素的格式的改变,诸如颜色的改变或任何其他改变或者将不改变被改元素的大小的视觉元素添加至该元素(诸如,添加下划线或删除线)。
在各个实施例中,两个差异结构在它们对应于同一类型的差异并对应于为分层结构内的同一元素的相邻儿子的各元素情况下可适于组合。例如,对应于两个文本范围中的差异的差异结构在它们是同一文本行的相邻成员并且两者都是文本插入的情况下可适于组合。类似地,对应于两个表格单元格的差异结构(这两个表格单元格中的每一个可包含一个或多个文本行或文本范围)在相应表格单元格是同一表格行内的相邻表格单元格并且两者都是对表格单元格的删除的情况下可适于组合。这种组合可允许改变的较自然的动画。不是将两个单元格的移除分开地动画化,而是可显示这两个单元格的移除的单个动画。
在各个实施例中,可通过以迭代较小的范围针对兼容性和类型分析多个差异结构来确定哪些差异结构要组合在一起。例如,可首先确定对应于形状的差异结构是否可被组合,随后确定对应于文本框的差异结构是否可被组合,并依此向下确定对应于文本范围的差异结构是否可被组合。一般来说,可确定最小差异结构集,使得每一差异结构均对应于该分层结构的最高级别、最大范围,从而使得该差异结构所存储的差异表示在该分层结构的该级别处的单个类型的改变。
在一些实施例中,在组合差异结构时,除了经组合的差异结构的那些元素外,可以将附加的元素包括在差异结构中。在一些实施例中,如果特定元素的两个或更多个子元素具有相关联的差异结构,则可将该特定元素的所有子元素均包括在经组合的差异结构中。在将分层结构内的特定元素的所有子元素动画化将发生更好的视觉结果时,可使用以上操作。例如,如果一行中除了一个单元格以外所有单元格都改变了,则可将未改变的单元格包括在经组合的差异结构中以为该动画产生更统一的视觉结果。
在各个实施例中,新布局可包括命令提示集,这些命令提示指示有关一个或多个改变中的一个或多个的信息,差异组件用于使用这些命令提示来确定差异集。命令提示可表示布局内包含的、描述用于生成该布局中的特定改变的命令的结构。命令提示在基于所存储的布局中的差异可能难以确定对布局的改变的情况下可以是合适的。例如,使用编辑应用中的单个命令对表格作出的改变可能需要该编辑应用运行若干编辑动作。命令提示可用于将该多个编辑动作封装在单个动作中,该单个动作和与经编辑元素相关联的命令提示结构一起被存储在新布局中。命令提示可允许对单个差异结构的创建,该单个差异结构包括由命令提示所表示的命令导致的原布局和新布局之间的差异。在各个实施例中,命令提示可用于影响用于描绘命令所导致的改变的动画的类型或持续时间。在各个实施例中,命令提示可用于将未经改变的元素包括在差异结构中,以便产生更全面或清楚的动画。例如,命令提示可以指定当仅表格的单元格的子集在大小上被改变时,表格的大小的改变将被作为整体来描绘,而不是将被改变的各个单元格逐个地动画化。
在操作240,可以从差异集中生成动画层集。动画层可以是布局的用于生成改变的动画的一部分的图形表示。一动画层可专用于特定类型的差异。在各个实施例中,每一动画层可以与所生成的单个差异或差异结构相关联。插入动画层可对应于插入差异,插入动画层包含插入到文档中的一个或多个元素,插入动画层因此包括新布局的、对应于在应用了将一个或多个新元素插入文档中的改变之后的布局中的差异的那部分。删除动画层可对应于删除差异,删除动画层包含从文档中移除的一个或多个元素,删除动画层因此包含原布局的、对应于在应用将一个或多个元素从文档中移除的改变之前的布局中差异的那部分。移动动画层可对应于移动差异,移动动画层包含文档内移动了的一个或多个元素,移动动画层因此包含该布局的、在应用移动一个或多个元素的改变期间移动的一部分。重设大小动画层可对应于重设大小差异,重设大小动画层包含文档内被重设大小了的一个或多个元素,重设大小动画层因此包含该布局的、在应用对一个或多个元素重设大小的改变期间被重设大小的一部分。移动并重设大小动画层可对应于移动并重设大小差异,移动并重设大小动画层包含文档内被移动并被重设大小了的一个或多个元素,移动并重设大小动画层因此包含该布局的、在应用将一个或多个元素移动并重设大小的改变期间被移动并被重设大小的一部分。替换差异可具有一对相应的动画层,第一相应动画层为插入动画层,第二对应动画层是删除动画层,插入动画层包含插入该文档的一个或多个元素,删除动画层包含从该文档移除的一个或多个元素。应该理解,插入动画层可对应于经重新格式化的或以其他方式改变的元素的新版本,并且不必仅对应于将附加元素添加到布局中的那些情况。类似地,应该理解,删除动画层可对应于经重新格式化的或以其他方式改变的元素的原版本,而不必仅对应于将元素从布局中移除的那些情况。本领域的技术人员将理解,这个差异类型的列表并不是穷尽性的,而可使用其他相关类型的动画层。在一些实施例中,可使用一个或多个特殊情况动画层。例如,通过单词打包处理而从一行的末端移动到下一行的开头处的单词可能需要特殊情况动画层和/或特殊情况动画,以便避免将该单词描绘为正跨现有文本滑动。在某些实施例中,该特殊情况可以通过描绘单词离开第一行的第一动画及其后面的描绘单词进入第二行的第二动画来描绘。
在各个实施例中,可以检索原布局的呈现的各部分,以便生成包含该原布局的各部分的动画层。删除动画层、移动动画层、移动并重设大小动画层以及替换动画层都将使用原布局的呈现的某一部分。在各个实施例中,可以检索新布局的呈现的各部分,以便生成包含该新布局的各部分的动画层。因此,可以调用新布局的呈现,以便能够检索该新布局的各部分。插入动画层和替换动画层两者都将使用新布局的呈现的某一部分。在各个实施例中,可以高速缓存原布局的呈现,以便检索用于生成各动画层的所需部分,而无需重新呈现原布局并且无需具有经存储的原布局的副本以供呈现。在各个实施例中,可在新布局的呈现之前检索原布局的呈现的各部分,使得无需同时存储新布局的呈现和原布局的呈现,例如在新布局的呈现将在存储器中替换原布局的呈现的情况下。因此,动画层生成过程可用于在接收用户编辑和由用户编辑导致的新布局的呈现之间的时间间隙内操作。在各个实施例中,用于表示存储结构中的布局的各单元可以不与用于表示所呈现的布局的各单元相同。本领域的普通技术人员将理解,任何数量的现有技术可用于在存储测量单元和呈现布局单元之间转换。
在操作250,使用所生成的动画层集来生成一个或多个改变的动画。该动画可利用用于从各动画层中生成动画的任何公知技术。使用各动画层可以允许仅使用对作为整体的动画层执行动作的那些技术和效果。这些动画技术可以包括但不限于:淡入、淡出、移动、重设大小、显露、二维旋转和在三维轴上的翻转。
将插入差异动画化可以包括淡入插入动画层,使得所插入的一个或多个元素逐渐地出现在合适的位置中,或者可包括用于描绘元素在特定位置处的出现任何其他技术。将删除差异动画化可以包括淡出删除动画层,使得所删除的一个或多个元素逐渐地从该合适的位置处消失,或者可包括用于描绘元素从特定位置处消失的任何其他技术。
将移动差异动画化可包括将移动动画层从一个或多个元素在原布局中的原位置移动到该一个或多个元素在新布局中的新位置,使得被移动的一个或多个元素在显示位置上从原位置转移至新位置。在某些情况下,诸如在该一个或多个元素仅转变了较短距离的情况下,直接移动可被完整地描绘。在某些情况下,诸如在该一个或多个元素转移了较长距离(诸如,跨越了大部分屏幕)的情况下,或者在该一个或多个元素跨其他元素转移时,将移动差异动画化可以包括仅描绘该移动的一部分,诸如仅移动的开始或结束或者任何其他经缩短的动画。一般来说,移动差异将生成捕捉一个或多个元素从第一位置到第二位置的转移的动画。
将重设大小差异动画化可包括将重设大小动画层重设大小,使得经重设大小的一个或多个元素在大小上逐渐地从其原大小转变为其新大小。将重设大小差异动画化可包括用于描绘从原大小到新大小的改变的任何技术。将重设大小差异动画化可包括描绘一个或多个元素的原显示和一个或多个元素的新显示之间的转变,使得大小上的改变被描绘。例如,如果一个或多个元素在大小上被增加,则该一个或多个元素的以新大小的呈现可被缩小为原大小,并随后可被描绘为在大小上增加到新大小。或者,如果一个或多个元素在大小上被减小,则该一个或多个元素的以原大小的呈现可被描绘为在大小上减少到新的、较小的大小。
将移动并重设大小差异动画化可包括将移动并重设大小动画层移动并重设大小,使得被移动并重设大小的一个或多个元素被逐渐并同时地在显示位置和大小上从原位置和原大小转变为其新位置和新大小。一般来说,将移动并重设大小差异动画化可包括用于将移动差异和重设大小差异动画化的技术的任何组合。
将替换差异动画化可包括用于第一图像和第二图像间的转变的任何动画技术。在一些实施例中,将替换差异动画化可包括在淡入插入动画层时同时地淡出删除动画层,或者可另选地包括顺序地淡出删除动画层并随后淡入插入动画层,使得被移除的一个或多个元素逐渐地消失,而一个或多个替换元素逐渐地出现。在一些实施例中,将替换差异动画化可包括删除动画层和插入动画层之间的擦除、可包括执行删除动画层和插入动画层之间的三维翻转、或可包括将第一动画层和第二动画层组合成传送从第一动画层到第二动画层的转变的单个效果的任何动画效果。
在各个实施例中,可基于以下各项中的一个或多个来确定动画的持续时间:文档的显示页面的复杂度、差异集的复杂度、紧接在调用新布局之前执行的命令的权重、编辑的动量、缩放因子、文档的显示部分中可见的页数以及最大持续时间。在一些实施例中,动画的持续时间可以基于上面列出的所有因素。在一些实施例中,动画的持续时间可以基于以上列出的因素中的仅一些因素或仅一个因素。此外,本领域的普通技术人员将理解,附加因素可用于确定动画的持续时间。对较复杂的差异集可使用相对较长的持续时间,使得较复杂的对文档的改变被给予较多的视觉影响。如果文档的显示页面较复杂,则可使用相对较短的持续时间。可以检查差异集的复杂度与文档的显示页面的复杂度的比,使得对表示文档的显示页面的总复杂度的较大百分比的变化或差异使用较长的动画持续时间。编辑的动量可对应于用户编辑文档的速度或强度,其中如果用户正以较大的速度进行编辑或者已经持续编辑达较长的时间段,则编辑的动量较大,而如果用户正以较小的速度进行编辑或者已经持续编辑达较小的时间段,则编辑的动量较小。对较大的编辑的动量可以使用相对较短的持续时间,以便向用户的编辑提供较少的分心或干扰。缩放因子可以对应于对文档的显示的放大程度,其中较大的缩放因子对应于较大的放大程度。对于较大的缩放因子可以使用相对较长的持续时间,因为对布局的显示可能要较多聚焦于经编辑部分,并且因此对经编辑部分的改变可能要占据该显示的较大部分并因此保证较多的关注。当在文档的显示部分中大量页面可见时可以使用相对较短的持续时间,因为对布局的显示可能要较少聚焦于经编辑部分,并且因此经编辑部分的改变可能将占据该显示的较少部分并因此保证较少的关注。最大持续时间可以对应于动画的所允许的最大持续时间。在各个实施例中,可以根据以下公式来计算动画持续时间:
在这个公式中,差异集的复杂度永远都不会大于显示页面的复杂度,并且因此捕捉这两者间的比的分数永远都不会大于1。命令的权重可在0和1之间变化,并且可以依据预先计算的所有可用编辑命令的权重来确定。动量可以在1和无穷数之间变化,使得上述动量的倒数永远都不大于1。缩放因子可以在10和500之间变化,其中500表示500%的缩放,且10表示与显示大小达因子10的减小相对应的10%的缩放因子,但是应该理解可以使用另选的缩放因子的上边界和下边界。一般来说,在动画持续时间的计算中缩放因子将除以其上边界,使得缩放因子除以该相关联的常数永远都不会大于1。在某些实施例中,将使用另选的除数,诸如通过使用取整函数或用于获得最大结果的其他函数,缩放因子除以相关联的除数的结果被设上限(capped)为1。页数可永远不小于1,使得以上页数的倒数永远不大于1。因此,最大持续时间经常将乘以一系列分数,这些分数中的每一个都永远不大于1,由此导致所确定的持续时间永远都不会大于该最大持续时间。
在各个实施例中,可显示所生成的动画。显示动画可以用数个用于将动画显示在合适的显示器上的公知技术中的任何一个来实现。
图3参考图1示出应用变化集之前和之后的示例性文档160。
原布局300包括多个元素。示例性形状即圆形310包含文本框315,该文本框315由五行文本组成。另一示例性形状即方形320包含文本框325,该文本框325由两行文本组成。星形是不具有文本框的第三示例性形状。文本框330包含九行文本,其中文本行335包括文本框330的最后一行文本。新布局350包含许多相同的元素,但具有一些改变。圆形360包含文本框365,该文本框365由与文本框315相同的五行文本组成。方形370包含文本框375,该文本框375由与文本框325相同的两行文本组成。文本框380包含九行文本,其中文本行385包括文本框380的最后一行,该最后一行现在包括读为“geometryexisted.”的文本范围390。
如所能看见的,在原布局300和新布局350之间发生了多个改变:星形340已被删除,圆形310和方形320已连同它们包含的文本框一起被移动,并且文本范围“geometry existed.”已被添加到段落的文本的最后一行的末端。最小差异结构集将因此包括对应于圆形310和方形320的组合移动的差异、对应于星形340的删除的差异、以及对应于文本290的插入的差异。尽管在一些实施例中可能为移动圆形310和方形320生成了分开的差异结构,因为这两者中的任一个既不是另一个的子元素也不包含在另一个中,但迭代合并过程将确定这两个差异是相同类型的并且是兼容的。
图4参考图1和图3示出了对应于上述的三个差异结构的三个动画层400、410和420。插入动画层400对应于将文本390“geometry existed.”插入文档160。如之前所讨论的,可以通过使插入动画层400逐渐地淡入视图来将插入动画层400动画化。如之前所讨论的,插入动画层400的生成将涉及从新布局350的呈现中提取文本390的图像。
移动动画层410对应于将圆形310和方形320以及它们相应的文本框从第一位置移动到第二位置。如之前所讨论的,可以通过将移动动画层410的位置从其在文档160中的开始位置逐渐地转移到其结束位置来将移动动画层410动画化。如之前所讨论的,移动动画层410的生成将涉及从原布局300的呈现中提取为圆形310和方形320的图像以及它们相应的文本框315和325。
删除动画层420对应于将星形340从文档160中移除。如之前所讨论的,可通过使删除动画层420从视图中逐渐地淡化来将删除动画层420动画化。如之前所讨论的,删除动画层420的生成将涉及从原布局300的呈现中提取为星形340的图像。
图5示出了集中式系统500的框图。集中式系统500可在单个计算实体(诸如完全在单个计算设备520内)中实现系统100的结构和/或操作的部分或全部。
计算设备520可使用处理组件530执行系统100的处理操作或逻辑。处理组件530可包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可根据如给定实现所需的任何数量的因素而变化,这些因素诸如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
计算设备520可使用通信组件540来执行系统100的通信操作或逻辑。通信组件540可以实现任何公知的通信技术和协议,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。通信组件540可以包括各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质520包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质520。
在各实施例中,并且参考图1,处理组件530可包括差异组件110、动画层生成组件120、动画组件130和显示组件140中的全部或部分。
图6示出了分布式系统600的框图。分布式系统600可使系统100、300的结构和/或操作的各部分跨多个计算实体分布。分布式系统600的示例可包括但不限于,客户机-服务器架构、3层架构、N层架构、紧耦合或群集的架构、对等架构、主-从架构、共享数据库架构、以及其他类型的分布式系统。各实施例不限于该上下文。
客户机系统610和服务器系统650可使用处理组件630和670处理信息,处理组件630和670类似于参考图5描述的处理组件530。客户机系统610和服务器系统650可经由通信组件635和675使用通信信号642通过通信介质640彼此通信,通信组件635和675类似于参考图5描述的通信组件540。
在一个实施例中,例如,分布式系统600可被实现为客户机-服务器系统。客户机系统610可实现显示器组件140。服务器系统650可以实现差异组件110、动画层生成组件120和动画组件130。
在各实施例中,客户机系统610可包括或使用用于执行根据所描述的实施例的各种方法的一个或多个客户机计算设备和/或客户机程序。在各个实施例中,客户机系统610可以包括用于访问在服务器系统650的一部分中实现的编辑程序的客户计算机。在各个实施例中,服务器系统可用于通过媒介640使用信号642从客户机系统610接收编辑命令、执行上述用于生成动画的过程、以及通过媒介640使用642将所生成的动画传送回客户机系统610,以供客户机系统610使用客户机显示组件620来显示。
在各实施例中,服务器系统650可包括或使用用于执行根据所描述的实施例的各种方法的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性服务器系统650可包括例如操作诸如操作系统、操作系统、操作系统或其他合适的基于服务器的操作系统等服务器操作系统的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如Office Communications Server(办公室通信服务器,OCS)等用于管理传入和传出消息的通信服务器程序,诸如Exchange Server(交换服务器)等用于提供对电子邮件、语音邮件、VoIP、即时消息收发(IM)、群IM、增强的在场、以及音频-视频会议的统一消息收发(UM)的消息收发服务器程序、和/或根据所描述的实施例的其他类型的程序、应用、或服务。
图7示出适用于实现上述各实施例的示例性计算体系结构700的实施例。如在本申请中所使用的,术语“系统”和“组件”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件,其示例由示例性计算架构700提供。例如,组件可以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。此外,组件可以通过各种类型的通信介质可通信地彼此耦合以协调操作。该协调可以涉及单向或双向信息交换。例如,组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。
在一个实施例中,计算架构700可包括电子设备的一部分或作为电子设备的一部分实现。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。各实施例不限于该上下文。
计算体系结构700包括各种常见计算元件,如一个或多个处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施例不限于由计算体系结构700来实现。
如图7所示,计算体系结构700包括处理单元704、系统存储器706以及系统总线708。处理单元704可以是可购得的各种处理器中的任一种。双微处理器和其他多处理器体系结构也可用作处理单元704。系统总线708向包括但不限于系统存储器706的各系统组件提供到处理单元704的接口。系统总线708可以是若干类型总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。
计算架构700可包括或实现各种制品。制品可包括存储逻辑的计算机可读的存储介质。计算机可读存储介质的示例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器,可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括使用诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、视觉代码等任何合适类型的代码来实现的可执行计算机程序指令。
系统存储器706可以包括一个或多个更高速的存储器单元的形式的各种类型的计算机可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图7所示的说明性实施例中,系统存储器706可包括非易失性存储器710和/或易失性存储器712。基本输入/输出系统(BIOS)可被存储在非易失性存储器710中。
计算机702可包括一个或多个较低速的存储器单元的形式的各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD)714、用于读写可移动磁盘718的磁软盘驱动器(FDD)716、以及用于读写可移动光盘722(例如,CD-ROM或DVD)的光盘驱动器720。HDD 714、FDD 716、以及光盘驱动器720可分别由HDD接口724、FDD接口726和光盘驱动器接口728连接到系统总线708。用于外置驱动器实现的HDD接口724可包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。
驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可被存储在驱动器和存储器单元710、712中,包括操作系统730、一个或多个应用程序732、其他程序模块734和程序数据736。
一个或多个应用程序732、其他程序模块734、以及程序数据736可包括例如差异组件110、动画层生成组件120、动画组件130和显示组件140。
用户可以通过一个或多个有线/无线输入设备,例如键盘738和诸如鼠标740等定点设备将命令和信息输入到计算机702中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线708的输入设备接口742连接到处理单元704,但也可通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
监视器744或其他类型的显示设备也经由诸如视频适配器746等接口连接到系统总线708。除了监视器744之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。
计算机702可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机748)的逻辑连接在联网环境中操作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机702描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备750。所描绘的逻辑连接包括到局域网(LAN)752和/或例如广域网(WAN)754等更大网络的有线/无线连接。这种LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN联网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器756连接到LAN 752。适配器756可以方便到LAN 752的有线和/或无线通信,并且还可包括其上设置的用于使用适配器756的无线功能进行通信的无线接入点。
当在WAN联网环境中使用时,计算机702可包括调制解调器758,或连接到WAN 754上的通信服务器,或具有用于诸如通过因特网等通过WAN 754建立通信的其他装置。或为内置或为外置以及有线和/或无线设备的调制解调器758经由输入设备接口742连接到系统总线708。在联网环境中,相对于计算机702所描绘的程序模块或其部分可以存储在远程存储器/存储设备750中。将明白,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机702可操作来使用IEEE 802标准系列来与有线和无线设备或实体进行通信,这些设备或实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE 802.11空中调制技术)的无线设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE 802.11x(a、b、n、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关的介质和功能)。
图8示出适用于实现上述各实施例的示例性通信体系结构800的框图。通信体系结构800包括各种常见通信元件,如发射机、接收机、收发机、无线电、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施例并不限于通信体系结构800的实现。
如图8所示,通信体系结构800包括一个或多个客户机802和服务器804。客户端802可实现客户机系统610。服务器804可实现服务器系统650。客户机802和服务器804可操作地连接到可被用来存储相应客户机802和服务器804本地的信息(如cookie和/或相关联的上下文信息)的一个或多个相应客户机数据存储802和服务器数据存储810。
客户机802和服务器804可以使用通信框架806在彼此之间传递信息。通信框架806可实现任何公知的通信技术和协议,诸如参考系统100、500、600以及700所描述的那些通信技术和协议。通信框架806可以被实现为分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)。
一些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例中”并不必全都指的是同一实施例。此外,一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。
要强调,本公开的摘要是为了允许读者快速确定本技术公开的性质而提供的。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施例中。此公开方法将不被解释为反映所要求保护的实施例要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施例的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施例。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。
Claims (10)
1.一种装置,包括:
逻辑设备(704);
在所述逻辑设备上操作的差异组件(110),所述差异组件用于接收文档(160)的原布局以及所述文档的新布局,所述新布局对应于将一个或多个改变应用到了所述文档的所述原布局,所述差异组件用于确定所述原布局和所述新布局之间的差异集;以及
在所述逻辑设备上操作的动画层生成组件(120),所述动画层生成组件用于从所述差异集中生成动画层集。
2.如权利要求1所述的装置,其特征在于,所述差异组件用于确定所述原布局的第一部分以及所述新布局的第二部分,所述第二部分对应于应用了所述一个或多个改变之后的所述第一部分,所述差异组件用于生成包括所述第一部分和所述第二部分之间的差异的差异结构,该差异结构用于确定所述差异集。
3.如权利要求1所述的装置,其特征在于,所述差异组件用于确定多个差异结构,每一差异结构具有一类型,并用于通过以下方式将相同类型的兼容的差异结构组合在一起:通过以迭代较小的范围针对兼容性和类型分析所述多个差异结构来确定哪些差异结构要组合在一起。
4.如权利要求1所述的装置,其特征在于,所述新布局包括命令提示集,所述命令提示指示有关一个或多个改变中的一个或多个的信息,所述差异组件用于使用所述命令提示来确定所述差异集。
5.如权利要求1所述的装置,其特征在于,包括动画组件(130),所述动画组件用于使用所生成的动画层集来生成所述一个或多个改变的动画,并用于基于以下各项中的一个或多个来确定所述动画的持续时间:所述文档的显示页面的复杂度、所述差异集的复杂度、紧接在调用所述新布局之前执行的命令的权重、编辑的动量、缩放因子、在所述文档的显示部分中可见的页数以及最大持续时间。
6.一种方法,包括:
接收文档的原布局以及所述文档的新布局,所述新布局对应于将一个或多个改变应用到了所述文档的所述原布局(220);
确定所述原布局和所述新布局之间的差异集(230);以及
从所述差异集中生成动画层集(240)。
7.如权利要求6所述的方法,其特征在于,包括:
确定所述原布局的第一部分以及所述新布局的第二部分,所述第二部分对应于应用了所述一个或多个改变之后的所述第一部分;以及
生成包括所述第一部分和所述第二部分之间的差异的差异结构,该差异结构用于确定所述差异集。
8.如权利要求6所述的方法,其特征在于,包括:
确定多个差异结构,每一差异结构具有一类型;
通过以迭代较小的范围针对兼容性和类型分析所述多个差异结构来确定哪些差异结构要组合在一起;以及
将相同类型的兼容的差异结构组合在一起。
9.如权利要求6所述的方法,其特征在于,包括使用所生成的动画层集来生成所述一个或多个改变的动画(250);以及
基于以下各项中的一个或多个来确定所述动画的持续时间:所述文档的显示页面的复杂度、所述差异集的复杂度、紧接在调用所述新布局之前执行的命令的权重、编辑的动量、缩放因子、在所述文档的显示部分中可见的页数以及最大持续时间。
10.一种包括包含指令的存储介质的制品,所述指令在被执行时使得系统执行如权利要求6、7、8或9中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/297,697 US9645978B2 (en) | 2011-11-16 | 2011-11-16 | Techniques for the automatic animation of changes to document content |
US13/297,697 | 2011-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020025A true CN103020025A (zh) | 2013-04-03 |
CN103020025B CN103020025B (zh) | 2016-10-26 |
Family
ID=47968644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210458815.5A Active CN103020025B (zh) | 2011-11-16 | 2012-11-15 | 用于文档内容的自动动画化的技术 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9645978B2 (zh) |
CN (1) | CN103020025B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016184360A1 (zh) * | 2015-05-21 | 2016-11-24 | 阿里巴巴集团控股有限公司 | 数据对象删除方法及设备 |
CN106708386A (zh) * | 2016-12-05 | 2017-05-24 | 广州视源电子科技股份有限公司 | 一种用于页面的控制方法及装置 |
CN109669751A (zh) * | 2018-12-14 | 2019-04-23 | Oppo广东移动通信有限公司 | 一种输入框的绘制方法、装置、终端及计算机存储介质 |
CN110647624A (zh) * | 2018-06-26 | 2020-01-03 | 富士施乐株式会社 | 呈现企业消息传递中的文档差异的动画预览的自动生成 |
CN110809756A (zh) * | 2017-06-29 | 2020-02-18 | 微软技术许可有限责任公司 | 代码评审重新设定差异 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542366B2 (en) | 2011-12-20 | 2017-01-10 | Apple Inc. | Smart text in document chat |
US9230356B2 (en) * | 2011-12-20 | 2016-01-05 | Apple Inc. | Document collaboration effects |
US20130326342A1 (en) * | 2012-06-05 | 2013-12-05 | Adobe Systems Incorporated | Object scalability and morphing and two way communication method |
US9298681B2 (en) * | 2013-01-03 | 2016-03-29 | International Business Machines Corporation | Dynamic webpage change animation |
US20140195949A1 (en) * | 2013-01-08 | 2014-07-10 | Samsung Electronics Co., Ltd. | Content delivery system with sequence generation mechanism and method of operation thereof |
US10140269B2 (en) * | 2013-03-12 | 2018-11-27 | Microsoft Technology Licensing, Llc | Viewing effects of proposed change in document before committing change |
US10157593B2 (en) | 2014-02-24 | 2018-12-18 | Microsoft Technology Licensing, Llc | Cross-platform rendering engine |
CN104866506B (zh) * | 2014-02-25 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 一种播放动画的方法及装置 |
US10238973B2 (en) * | 2014-10-24 | 2019-03-26 | Electronic Arts Inc. | Generating digital elements using non-deterministic selection |
US10706278B2 (en) * | 2017-07-14 | 2020-07-07 | Adobe Inc. | Syncing digital and physical documents |
US11295504B1 (en) * | 2019-08-01 | 2022-04-05 | Meta Platforms, Inc. | Systems and methods for dynamic digital animation |
JP2021047693A (ja) * | 2019-09-19 | 2021-03-25 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US11520974B2 (en) | 2020-03-30 | 2022-12-06 | Adobe Inc. | Sharing of user markings between printed and digital documents |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1834954A (zh) * | 2005-03-14 | 2006-09-20 | 杨晓华 | 一种用于实现电子文档自动生成的系统和方法 |
US20080303826A1 (en) * | 2007-06-11 | 2008-12-11 | Adobe Systems Incorporated | Methods and Systems for Animating Displayed Representations of Data Items |
CN101499057A (zh) * | 2008-01-29 | 2009-08-05 | 鸿富锦精密工业(深圳)有限公司 | 电子文档生成系统及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6091422A (en) * | 1998-04-03 | 2000-07-18 | Avid Technology, Inc. | System for editing complex visual data providing a continuously updated rendering |
US7698635B2 (en) | 2005-04-21 | 2010-04-13 | Omegablue, Inc. | Automatic authoring and publishing system |
US20070069973A1 (en) * | 2005-05-10 | 2007-03-29 | Gerbacia William E | Controlled and Monitored Remote Advertising and Information Display System |
US7477254B2 (en) * | 2005-07-13 | 2009-01-13 | Microsoft Corporation | Smooth transitions between animations |
US20070067714A1 (en) | 2005-09-16 | 2007-03-22 | Shui-Shun Lin | Modularized web page editing system and method thereof |
US20090006996A1 (en) | 2006-08-07 | 2009-01-01 | Shoumen Saha | Updating Content Within A Container Document For User Groups |
US20080177623A1 (en) | 2007-01-24 | 2008-07-24 | Juergen Fritsch | Monitoring User Interactions With A Document Editing System |
US20080303827A1 (en) * | 2007-06-11 | 2008-12-11 | Adobe Systems Incorporated | Methods and Systems for Animating Displayed Representations of Data Items |
US20090327921A1 (en) | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Animation to visualize changes and interrelationships |
US20130335425A1 (en) * | 2009-03-02 | 2013-12-19 | Adobe Systems Incorporated | Systems and Methods for Combining Animations |
US9043698B2 (en) * | 2011-03-28 | 2015-05-26 | Aleksandar Tucovic | Method for users to create and edit web page layouts |
US8902235B2 (en) * | 2011-04-07 | 2014-12-02 | Adobe Systems Incorporated | Methods and systems for representing complex animation using scripting capabilities of rendering applications |
-
2011
- 2011-11-16 US US13/297,697 patent/US9645978B2/en active Active
-
2012
- 2012-11-15 CN CN201210458815.5A patent/CN103020025B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1834954A (zh) * | 2005-03-14 | 2006-09-20 | 杨晓华 | 一种用于实现电子文档自动生成的系统和方法 |
US20080303826A1 (en) * | 2007-06-11 | 2008-12-11 | Adobe Systems Incorporated | Methods and Systems for Animating Displayed Representations of Data Items |
CN101499057A (zh) * | 2008-01-29 | 2009-08-05 | 鸿富锦精密工业(深圳)有限公司 | 电子文档生成系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016184360A1 (zh) * | 2015-05-21 | 2016-11-24 | 阿里巴巴集团控股有限公司 | 数据对象删除方法及设备 |
CN106293367A (zh) * | 2015-05-21 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 数据对象删除方法及设备 |
CN106293367B (zh) * | 2015-05-21 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 数据对象删除方法及设备 |
CN106708386A (zh) * | 2016-12-05 | 2017-05-24 | 广州视源电子科技股份有限公司 | 一种用于页面的控制方法及装置 |
WO2018103419A1 (zh) * | 2016-12-05 | 2018-06-14 | 广州视源电子科技股份有限公司 | 一种用于页面的控制方法及装置 |
CN110809756A (zh) * | 2017-06-29 | 2020-02-18 | 微软技术许可有限责任公司 | 代码评审重新设定差异 |
CN110809756B (zh) * | 2017-06-29 | 2023-11-17 | 微软技术许可有限责任公司 | 代码评审重新设定差异 |
CN110647624A (zh) * | 2018-06-26 | 2020-01-03 | 富士施乐株式会社 | 呈现企业消息传递中的文档差异的动画预览的自动生成 |
CN109669751A (zh) * | 2018-12-14 | 2019-04-23 | Oppo广东移动通信有限公司 | 一种输入框的绘制方法、装置、终端及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20130124952A1 (en) | 2013-05-16 |
CN103020025B (zh) | 2016-10-26 |
US9645978B2 (en) | 2017-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020025A (zh) | 用于文档内容的自动动画化的技术 | |
US10163173B1 (en) | Methods for generating a cover photo with user provided pictures | |
NL2007908B1 (en) | Temporal task-based tab management. | |
CN102637444A (zh) | 用于信息电子集聚的技术 | |
CN102929867A (zh) | 用于自动化的文档翻译的技术 | |
CN101110837B (zh) | 一种手机博客的实现系统及方法 | |
CN102999482A (zh) | 用于管理协作文档的技术 | |
CN102541638A (zh) | 基于条件的资源布置 | |
CN104571877A (zh) | 一种页面的显示处理方法及装置 | |
CN103150081A (zh) | 移动终端通知栏自定义快捷图标的方法和装置 | |
CN106503059B (zh) | 展示页面推送方法及装置 | |
CN103176628A (zh) | 手写笔系统以及数据输入方法 | |
US8787985B2 (en) | Screen capture method of mobile communication terminal | |
CN102929922A (zh) | 用于网格上呈现磁贴的动态布局的技术 | |
CN106610774A (zh) | 网页表格编辑方法及装置 | |
JP2023533457A (ja) | マルチメディアコンテンツの投稿と返信の方法、装置、及びデバイス | |
CN102707884A (zh) | 显示互动工具的方法、互动数据收集方法和终端 | |
CN106407390A (zh) | 一种全域智能建站系统及其方法 | |
CN110532495A (zh) | 一种网页信息的展示方法及装置 | |
CN105843618A (zh) | 一种自定义编辑主题的桌面系统 | |
CN109977310A (zh) | 一种用户好友圈动态信息折叠显示的方法与设备 | |
CN103761253A (zh) | 漫画显示系统和漫画显示方法 | |
CN111831815A (zh) | 问卷显示的控制方法、装置、存储介质和电子设备 | |
CN103608803A (zh) | 用于生成表示内容文件的自定义对象的技术 | |
CN104731833A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150728 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150728 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |