图形设计文档中的内容检查的制作方法
未命名
08-06
阅读:75
评论:0
图形设计文档中的内容检查
背景技术:
1.近年来,用于实现人工智能和机器学习模型的计算机系统有了显著的改进。例如,计算机系统可以实现机器学习模型(诸如,神经网络模型)来标识数字图形中描绘的对象、生成数字动画和其他内容等。这些进步是由于与训练数据源和生成、特征工程、模型工程(例如,修改机器学习架构和参数)、模型训练和改进的模型操作相关的许多因素而发生的。
2.结果,应用越来越多地集成机器学习以用于各种目的。例如,图形编辑系统,诸如图形设计应用,包括供用户创建和编辑可视合成(也称为“图形”或“图形设计”)的工具。例如,机器学习使得能够进行自动内容生成以作为工具添加到此类图形设计应用中。然而,此类应用在设计时并未考虑到机器学习。因此,虽然机器学习可以被集成到应用中以扩展它们的功能性,但图形设计应用从根本上仍然是常规的应用,它没有充分利用基于机器学习的完全集成的图形设计应用的机器学习能力。
技术实现要素:
3.这里介绍的是能够使用语义层来管理图形设计文档的技术/技术。在一些实施例中,图形设计系统使得能够使用语义绘图工具生成内容。此类工具允许用户选择内容类型,然后通过例如在数字画布上绘画内容纹理、从内容库中拖放内容模型等方式来将内容添加到绘图中。添加此类内容时,与内容相关联的机器学习模型用于生成要添加的内容。因为绘图工具是语义感知的,所以关于要添加到绘图的内容的语义信息是已知的。相应地,图形设计系统创建针对新内容的语义层,该语义层包括关于内容的语义信息。
4.在一些实施例中,语义信息用于生成针对绘图的语义上下文。语义上下文用于标识文档中的空间的、格式的或其他错误或不一致。例如,可以基于内容在绘图中的添加位置以及与该位置相邻的内容来自动缩放内容。附加地,层的z顺序可以基于语义上下文而被分析,并且基于层的内容而被修改。
5.在一些实施例中,语义信息也可以用于在语义上组织绘图。例如,场景图表示绘图的层和/或内容以及这些层之间的关系。使用语义场景图,用户可以更容易地选择各层进行编辑或其他操纵。附加地,语义场景图提供了对绘图的有组织的总结,这对于可能有附加工作要添加到绘图的其他用户更有用。
6.本公开的示例性实施例的附加特征和优点将在随后的描述中阐明,并且部分地从描述中变得明显,或者可以通过这些示例性实施例的实践来了解。
附图说明
7.参考附图描述详细描述,在附图中:
8.图1图示了根据一个或多个实施例的基于机器学习的内容创建过程的示意图;
9.图2图示了根据一个或多个实施例的语义绘图工具的用户界面的示例;
10.图3至图5图示了根据一个或多个实施例的基于语义信息管理各层的z顺序的示例;
11.图6图示了根据一个或多个实施例的层管理器的示意图;
12.图7图示了根据一个或多个实施例的用于提供内容建议的用户界面的示例;
13.图8图示了根据一个或多个实施例的内容建议系统的示例;
14.图9图示了根据一个或多个实施例的图形设计系统的示意图;
15.图10图示了根据一个或多个实施例的基于机器学习的内容生成方法中的一系列动作的流程图;
16.图11图示了根据一个或多个实施例的基于语义信息的内容检查(linting)过程的示意图;
17.图12图示了根据一个或多个实施例的大小调整错误的示例;
18.图13图示了根据一个或多个实施例的新内容的自动大小调整的示例;
19.图14图示了根据一个或多个实施例的新内容的自动大小调整的备选示例;
20.图15图示了根据一个或多个实施例的图形设计应用中的内容检查的示例;
21.图16图示了根据一个或多个实施例的图形设计系统的示意图;
22.图17图示了根据一个或多个实施例的基于语义信息的内容检查方法中的一系列动作的流程图;
23.图18图示了根据一个或多个实施例的分层语义层组织的过程的示意图;
24.图19图示了根据一个或多个实施例的语义场景图的示例;
25.图20图示了根据一个或多个实施例的图形设计系统的示意图;
26.图21图示了根据一个或多个实施例的分层语义层组织的方法中的一系列动作的流程图;
27.图22图示了根据一个或多个实施例的图形处理系统可以在其中操作的示例性环境的示意图;以及
28.图23图示了根据一个或多个实施例的示例性计算设备的框图。
具体实施方式
29.本公开的一个或多个实施例包括基于机器学习的图形设计系统,其在用户的图形设计项目被绘制时对其进行语义组织。例如,许多图形编辑系统允许用户创建和编辑单独的内容层,以修改其图形组件的对应的可视特性或位置。为了说明,图形编辑系统可以包括具有选项的图形设计应用,选项供用户经由各层来添加元素、组织元素和/或修改图形的所有或一些元素的特性(例如,颜色、照明等)。然而,层的管理和组织通常留给用户,这意味着它们经常未被充分利用,甚至可以增加导航文档的复杂性。
30.实施例提供语义层,其包括知晓其内容的层。与用户手动绘制内容的传统图形设计工具不同,语义图形设计工具允许基于用户输入来生成特定类型的内容(例如,使用机器学习、内容库等)。例如,用户可以使用“草”绘图工具来绘画数字画布的区域,并且该区域将被生成的草填充。与可能只知道某些属性(例如,栅格设计工具中的像素特性;向量设计工具中的向量属性等)的传统设计工具相比,此类语义工具固有地携带关于正在创建的内容的附加信息。
31.使用该信息,图形设计系统基于用户与绘图的交互来自动生成语义层。这使图形设计系统能够为用户组织绘图,而不需要附加输入。这可以包括对相似内容的各层进行分
组或合并,基于各层的内容以适当的z顺序排列各层,在添加内容时基于其在绘图中的位置和任何相邻的内容或层来自动调整内容大小等。附加地,从该语义上下文,图形设计系统可以应用内容检查规则。与传统检查类似,其中分析代码是否存在程序或格式错误,内容检查会基于绘图的语义上下文确定绘图的各层和/或内容之间的空间的、语义的或其他不一致。
32.附加地,语义信息可以用于分层地组织绘图。例如,场景图表示绘图的各层以及这些层之间的关系。使用语义信息,这些关系可以包括捕获不同层的内容如何彼此相关的语义关系。使用语义场景图,用户可以更容易地选择各层进行编辑或其他操纵。附加地,语义场景图提供了对绘图的有组织的总结,这对于可能有附加工作要添加到绘图的其他用户更有用。这对于远程团队正在处理的协作文档特别有用,其中附加上下文很有帮助。
33.图1图示了根据一个或多个实施例的基于机器学习的内容创建过程的示意图。如图1所示,图形设计系统100可以在附图标记1处从用户、系统、应用或其他实体接收一个或多个输入选择102。图形设计系统100包括使用户能够选择他们希望创建的内容然后将其添加到绘图画布的语义绘图和绘画工具。例如,如果用户想要将草添加到绘图中,则用户可以选择“草”工具,然后利用草工具“绘画”画布的一个区域。然后,一个或多个机器学习模型在绘画的区域生成草内容。
34.在各种实施例中,机器学习模型包括一个或多个经过训练以生成一个或多个类型的内容的神经网络。例如,一种机器学习模型可以包括生成性对抗网络(gan),该生成性对抗网络已经被训练为基于输入来生成新的或变化的内容。取决于应用、正在生成的内容等,可以使用各种类型的神经网络。神经网络可以包括机器学习模型,该机器学习模型可以基于训练输入而被调整(例如,训练)以逼近未知函数。特别地,神经网络可以包括互连的数字神经元模型,其传送和学习逼近复杂函数并且基于提供给模型的多个输入来生成输出。例如,神经网络包括一个或多个机器学习算法。换言之,神经网络是一种实现深度学习技术的算法,即利用算法集合尝试对数据中的高级抽象进行建模的机器学习。
35.如图1所示,输入选择102可以由用户界面管理器104接收。用户界面管理器104提供用户界面,用户通过该用户界面使用图形设计系统100来编辑或创建绘图。在一些实施例中,用户界面管理器104提供画布(例如,在其中进行绘图的用户界面的面板)以及对各种绘图工具的访问。例如,用户界面可以包括与用户可以选择添加到绘图的不同内容相对应的纹理。在附图标记2处,输入选择被提供给画布管理器106。例如,画布管理器106可以通过接收与在触摸屏或其他输入设备上的用户的光标、手指或触笔位置相关联的位置数据来检测用户经由用户界面管理器选择的画布区域。附加地,画布管理器106可以接收选择的纹理。
36.在附图标记3处,画布管理器向内容生成模型114发送内容请求。在一些实施例中,该请求包括所选择的区域并且内容类型被提供给内容生成模型114。在一些实施例中,内容类型与特定的内容生成模型相关联。在这些实例中,画布管理器维持内容纹理到内容生成模型的映射,并且在用户使用所选纹理绘画区域时将该请求路由到适当的模型。在一些实施例中,将用生成的内容填充的区域边界被提供给内容生成模型。附加地或备选地,在一些实施例中,(多个)输入选择102包括从内容模型中选择对象。例如,内容库108可以提供可以被添加到绘图的各种对象(例如,树、人、交通工具等)。在一些实施例中,这些是从库中获取的静态对象。备选地,当所选对象的实例被添加到画布时,对象的外观可以由机器学习模型(诸如,内容生成模型)生成。在这些实例中,在附图标记4处,画布管理器106向内容库108发
送对所选内容的请求。
37.在附图标记5处,画布管理器接收所请求的内容(例如,来自内容生成模型114的生成的内容、来自内容库108的内容等)并且将该内容添加到画布。当接收到该新内容时,画布管理器在附图标记6处向层管理器110发送请求以生成用于该内容的新层。层管理器110接收与检测新内容的层相关联的信息,并且从画布管理器106接收与新内容相关联的语义信息。层可以被限定为覆盖与新内容相同的区域。备选地,如果相同或相似的内容存在于画布的其他地方,则新内容可以被添加到现有层、添加到与现有层分组的新层,或者以其他方式与相似内容链接,如下面进一步讨论的。
38.在各种实施例中,从画布管理器106接收的语义信息可以包括内容类型、添加内容的位置、用户添加内容的方式(例如,绘画、拖放等)、附近的层和/或内容类型等。在附图标记7处,层管理器将语义信息编码到新层中,并且在附图标记8处将与新层相关联的条目添加到层数据112。层数据112可以包括维持与每个层相关联的语义信息的数据存储库或数据结构。在一些实施例中,如下所述,层数据112用于基于各层之间的语义关系来组织文档。随着用新内容更新的画布,在附图标记9处,更新的画布120经由用户界面管理器104被呈现给用户。例如,画布在生成时用附加内容实时或接近实时地更新。
39.在一些实施例中,现有文档可以由图形设计系统100导入。这些文档可以包括不包括语义信息的层。在这些实例中,新添加到文档的内容可能会与上述语义层相关联。虽然这提供了对组织新内容有用的附加信息,但与旧内容和各层的关系仍不清楚。相应地,在一些实施例中,现有文档由语义分类器处理。语义分类器接收输入文档(或其层)并且返回针对输入文档的每个层的内容的可能的标签。如果文档是不包括层的栅格图形,则分类器返回与每个像素相关联的类。共享类的像素可以被添加到新的语义层和与该层相关联的语义类。
40.图2图示了根据一个或多个实施例的语义绘图工具的用户界面的示例。如图2所示,用户界面200包括画布202和内容面板204和206,以及层面板208。图2的示例用户界面不旨在作为这种界面的唯一实现并且为了便于解释而包括在内。例如,备选的用户界面元素、空间组织等可以根据运行用户界面200的硬件平台(例如,平板计算机、智能电话、膝上型计算机、台式计算机等)来实现。附加地,备选的用户界面元素可以用于显示内容选项、层等。
41.在图2的示例中,画布202图示了层图。这是可编辑的画布,用户可以在其上添加内容,然后该内容被生成并且显示在用户界面的单独面板中(未示出)。用户可以从形状面板204中选择形状并且将所选择的形状拖放到画布202上。例如,用户可以从形状面板204的飞机形状212中选择飞机并且将其拖到画布上。飞机210就是这样的示例。用户可以在画布上绘画其他内容,诸如湖泊、天空、山脉等。例如,用户可以从纹理面板206中选择对应的纹理并且使用绘画工具(例如,画笔、铅笔等)在数字画布上绘画内容。然后如上所述生成对应的内容。
42.如上所述,当用户向画布添加内容时,语义层会被自动添加到绘图中,其包括关于已添加对象的语义信息。在此示例中,如层面板208中所示添加飞机层214。由于飞机的放置(例如,在绘图中的天空中),飞机层214被示为嵌套在天空层216中。这种组织可以基于内容的定位(例如,在天空内容218之上的飞机内容210)以及飞机层、天空层两者的内容的语义知识和关于飞机和天空通常是如何相关的信息而被自动执行。同样,层208包括对应于山脉
内容222的山脉层220和对应于树木内容226的树木层224。
43.图3至图5图示了根据一个或多个实施例的基于语义信息管理层的z顺序的示例。如图3所示,用户界面200包括说明层图的画布202,如上面关于图2所描述的,以及说明对应生成的内容的画布300。在图3的示例中,用户从纹理面板206中选择云纹理302,然后将云内容“绘画”到层图202上。例如,用户的光标304变成画笔头,然后用户点击并且拖动(或点击和拖动等,取决于界面实现)以将云内容添加到绘图中。此处,添加了对应于云内容310和312的云层306和308,如内容画布300中所示。
44.如图4所示,一旦绘制了云内容,云区域400就在山脉区域402的前面,如区域404中所示。这代表了可能不现实的结果,因为云覆盖可能不旨在处于山脉的顶部/前面。这可以基于对层内容(例如,山脉内容和云内容)的知识和定义不同类型的内容如何相关的语义规则而被语义地确定。例如,文档的语义关系可以定义默认情况下云是背景内容,并且其他内容应该出现在云内容的前面。这包括山脉内容402。如此,图4中所示的层的z顺序是不正确的。
45.在一些实施例中,层管理器110负责在将内容添加到画布时管理层的z顺序。例如,如图5所示,层的z顺序已被适当地更新以将云层500置于山脉层之后,从而在504处产生对这些元素的更真实的描绘。在一些实施例中,当基于层之间的语义关系和内容在画布上的放置创建内容时,该z顺序更新被执行。附加地或备选地,用户输入可以用于在创建内容时定义z顺序(例如,通过指定z顺序、撤消自动更新等)。
46.图6图示了根据一个或多个实施例的层管理器的示意图。如图6所示,层管理器110在附图标记1处接收(多个)输入选择102。如上所述,输入选择可以由用户界面管理器和/或画布管理器传递到层管理器。附加地或备选地,对层管理器110的输入可以由画布管理器基于从用户接收的输入选择来生成。特别地,层管理器110包括内容检测器600、层编码器606和z顺序管理器608。
47.在附图标记2处,内容检测器600标识与输入选择102相关联的内容类型602和放置数据604。使用图3至图5的示例,内容类型包括“云纹理”,并且放置数据包括表示画布区域的数据,用户已经用云纹理绘画了该画布区域。这可以包括画布坐标系中定义用户选择区域的边界的坐标。在一些实施例中,放置数据604还包括与文档中现有内容相比的新内容的相对放置(例如,新内容位置的其他附近层等)。
48.在附图标记3处,关于新内容的信息被提供给z顺序管理器608。z顺序管理器608负责在附图标记4处为文档的层确定适当的z顺序。在一些实施例中,z顺序管理器608使用一个或多个语义规则610,一个或多个语义规则610定义由图形设计系统支持的内容的不同语义类之间的关系。这包括由图形设计系统的提供方(例如,应用开发人员、插件开发人员等)、使用或托管图形设计系统的终端用户或组织或其他实体提供的规则。例如,语义规则610可以定义内容类型相对于彼此的常见排列。在一些实施例中,语义规则可以包括z顺序网络,诸如被训练以预测与已知内容类型相关联的一个或多个层的可能z顺序的神经网络。可以在公开可用的图形设计文档数据集、表示“房屋风格”的文档或其他训练数据集上训练这样的z顺序网络。在一些实施例中,z顺序管理器可选地考虑用户输入612,在附图标记5处。例如,用户可以选择特定z顺序或覆盖呈现的z顺序(例如,通过热键,响应于屏幕提示或其他用户输入)。基于语义规则和可选的用户输入,在附图标记6处,层编码器606从内容检
测器接收与新内容相关联的语义信息以及从z顺序管理器608接收的z顺序,并且利用该数据来编码新的语义层。在附图标记7处,新语义层被添加到层数据112。在一些实施例中,当更新针对新层的z顺序时,层编码器附加地用更新的z顺序信息更新任何现有层。
49.图7图示了根据一个或多个实施例的用于提供内容建议的用户界面的示例。如图7所示,图形设计系统的用户界面700可以包括画布702和内容面板704。与上述用户界面类似,内容面板可以包括各种对象和/或纹理,这些对象和/或纹理可以用于创建在画布702上示出的绘图。用户界面700还可以包括预测面板706,其基于关于其时已经被添加到画布上的内容的语义信息来提供内容推荐。
50.在图7的示例中,该绘图是海滩场景,以水、山、鹈鹕等为特色。可以使用内容推荐模型来定制针对该场景的内容推荐。内容推荐模型可以是在场景数据上训练的神经网络。场景数据可以用每个场景的内容的语义类来标记,并且可以训练内容推荐模型来预测给定输入类的集合时可能出现的内容类。这样的模型在部署后可以在用户创建文档时对与文档关联的类的集合执行推理。例如,每次添加新内容时,都会向模型发送一个新的推理请求,并且返回一个或多个预测的内容类。这些然后经由预测面板706被呈现给用户。在这个示例中,预测的类包括房屋、冲浪板和泥土纹理,以及各种灌木对象。
51.图8图示了根据一个或多个实施例的内容建议系统的示例。如所讨论的,在一些实施例中,经由图形设计系统用户界面向用户提供内容推荐。例如,现有画布数据802被提供给内容推荐系统800的推荐引擎806。在一些实施例中,内容推荐系统被实现为图形设计系统100的部分。附加地或备选地,内容推荐系统800被实现为单独的系统或服务。例如,内容推荐系统800可以被实现为基于云的服务,作为基于云的应用套件的部分。图形设计系统可以定期提供现有画布数据、或者在检测到特定事件时(例如,由于添加了新的内容类型而对现有画布数据进行了改变)提供现有画布数据。
52.现有画布数据802可以包括与用户的当前绘图相关联的内容类804。在一些实施例中,内容类804被提供作为结构化数据。在一些实施例中,内容类首先由另一神经网络预处理以生成内容类集合的表示,然后将其提供给内容推荐模型。内容推荐模型808然后对内容类集合804执行推理,并且预测可能被包括在包括该内容类集合的绘图中的一个或多个内容类。预测类然后被提供作为内容推荐810并且经由用户界面呈现给用户,如上所述。在一些实施例中,具有大于阈值的概率的预测类被呈现,而具有低于阈值的概率的那些预测类被丢弃。
53.图9图示了根据一个或多个实施例的图形设计系统(例如,上述“图形设计系统”)的示意图。如图所示,图形设计系统900可以包括但不限于用户界面管理器902、画布管理器904、层管理器906、神经网络管理器908、内容推荐系统910和存储管理器912。神经网络管理器908包括内容生成模型914和内容推荐模型916。存储管理器912包括层数据918和绘图数据920。
54.如图9所示,图形设计系统900包括用户界面管理器902。例如,用户界面管理器902允许用户请求生成内容并且将其添加到由图形设计系统900提供的画布上。这包括通过一个或多个用户界面面板、菜单或其他用户界面元素来提供工具访问。附加地,用户可以通过使用提供的绘图工具绘画内容纹理、拖放对象和/或直接编辑画布来直接在画布上创建和编辑绘图。在一些实施例中,用户界面管理器902提供用户界面,用户可以通过该用户界面
来选择内容纹理和对象、绘图工具等,如上所述。备选地或附加地,用户界面使用户能够从本地或远程存储位置打开和编辑现有绘图(例如,通过提供与文档存储库相关联的地址(例如,url或其他端点))。在一些实施例中,用户界面基于与绘图中已经存在的内容相关联的语义信息来提供内容推荐。用户可以浏览推荐内容并且选择是否将任何推荐内容添加到绘图中。
55.如图9所示,图形设计系统900还包括画布管理器904。如所讨论的,画布管理器经由用户界面管理器902从用户接收对新内容的请求,并且协调对应于内容的新语义层的创建以及通过内容生成模型914来生成内容。例如,当用户选择要添加到画布的内容类型并且用所选内容来绘画画布区域时,内容类型和绘画区域由画布管理器904提供给内容生成模型914。如所讨论的,内容生成模型914可以特定于内容类型。生成内容后,画布管理器会适当地更新画布。附加地,画布管理器可以向层管理器906发送请求以生成用于新内容的新语义层。该请求可以包括关于要包括在层数据918中的内容的语义信息。更新的绘图可以被存储在绘图数据920中。
56.如图9所示,图形设计系统900还包括层管理器906。如所讨论的,层管理器906从画布管理器904接收语义层信息。层管理器906创建新的语义层并且在该层中编码语义信息。这可以包括与该层相关联的内容、该层在画布上的位置和附近的层、层的z顺序等。一旦创建了新的语义层,其相关联的层数据918就与其他层的层数据一起被存储,并且可以用于组织绘图、提供内容推荐等。
57.如图9所示,图形设计系统900还包括神经网络管理器908。神经网络管理器908可以托管多个神经网络或其他机器学习模型,诸如内容生成模型914和内容推荐模型916。神经网络管理器908可以包括执行环境、库和/或执行机器学习模型所需的任何其他数据。在一些实施例中,神经网络管理器908可以与专用软件和/或硬件资源相关联以执行机器学习模型。如所讨论的,内容生成模型914和内容推荐模型916可以被实现为各种类型的神经网络。在一些实施例中,神经网络管理器908包括多个内容生成模型,每个内容生成模型与要生成的不同内容相关联(例如,不同的内容纹理可以与不同的模型相关联)。
58.如图9所示,图形设计系统900图形设计系统900还包括内容推荐系统910。在一些实施例中,内容推荐系统910被实现为图形设计系统900的部分。备选地,内容推荐系统910被实现为与图形设计系统通信的单独系统。附加地,在内容推荐系统被单独实现的此类实施例中,内容推荐系统本身托管内容推荐模型(例如,在其自己的神经网络管理器或其他模型托管环境中)。周期性地,当用户使用图形设计系统900来创建绘图时,与绘图的至少一些层相关联的语义信息被提供给内容推荐系统。如所讨论的,内容推荐模型916在绘图数据上被训练,使得它了解哪种类型的内容通常一起出现。内容推荐模型返回对可能与内容一起出现在绘图中的一个或多个类型的内容的预测,并且经由用户界面管理器将推荐的内容类型返回给用户。
59.如图9所示,图形设计系统900还包括存储管理器912。存储管理器912维持图形设计系统900的数据。存储管理器912可以维持执行图形设计系统900的功能所需的任何类型、大小或种类的数据。如图9所示,存储管理器912包括层数据918。层数据918可以包括与绘图的层相关联的语义信息,如上面另外详细讨论的。特别地,在一个或多个实施例中,层数据918包括与在每个层中表示的内容类型相关联的语义信息。在一些实施例中,层数据包括关
于层在画布上的相对定位(例如,附近层)和层的z顺序的信息。存储管理器912还包括绘图数据920。绘图数据920可以包括由图形设计系统900创建或可编辑的绘图文件。
60.图形设计系统900的组件902至910中的每个组件及其对应的元素(如图9所示)可以使用任何合适的通信技术彼此通信。将认识到,尽管组件902至912和它们对应的元素在图9中被示为是分离的,但是任何组件902至912和它们对应的元素可以组合成更少的组件,诸如组合成单个设施或模块,分成更多组件,或配置成不同组件,以便可以服务于特定实施例。
61.组件902至912及其对应的元素可以包括软件、硬件或两者。例如,组件902至912及其对应的元素可以包括存储在计算机可读存储介质上并且由一个或多个计算设备的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,图形设计系统900的计算机可执行指令可以使客户端设备和/或服务器设备执行本文描述的方法。备选地,组件902至912及其对应元素可以包括硬件,诸如用以执行特定功能或功能组的专用处理设备。附加地,组件902至912及其对应元素可以包括计算机可执行指令和硬件的组合。
62.此外,例如,图形设计系统900的组件902至912可以被实现为一个或多个独立应用、应用的一个或多个模块、一个或多个插件、一个或多个库函数或可以被其他应用调用的函数,和/或作为云计算模型。因此,图形设计系统900的组件902至912可以被实现为独立的应用,诸如桌面或移动应用。此外,图形设计系统900的组件902至912可以被实现为托管在远程服务器上的一个或多个基于web的应用。备选地或附加地,图形设计系统900的组件可以在移动设备应用或“应用”的套件中实现。为了说明,图形设计系统900的组件可以被实现为应用或应用套件的部分,包括但不限于adobe creative cloud、adobe photoshop、adobe acrobat、adobe illustrator、adobe lightroom和adobe indesign。“adobe”、“creative cloud”、“photoshop”、“acrobat”、“illustrator”、“lightroom”和“indesign”是adobe公司在美国和/或其他国家/地区的注册商标或商标。
63.图1至图9、对应的文本和示例提供了允许在绘图文档中创建和管理语义层的多个不同的系统和设备。除了前述之外,还可以根据流程图来描述实施例,该流程图包括用于实现特定结果的方法中的动作和步骤。例如,图10图示了根据一个或多个实施例的示例性方法的流程图。关于图10描述的方法可以用更少或更多的步骤/动作来执行,或者可以按照不同的顺序来执行这些步骤/动作。附加地,本文描述的步骤/动作可以彼此平行地重复或执行,或者与相同或相似步骤/动作的不同实例平行地执行。
64.图10图示了根据一个或多个实施例的基于机器学习的内容生成方法中的一系列动作的流程图1000。在一个或多个实施例中,方法1000在包括图形设计系统900的数字介质环境中执行。方法1000旨在说明根据本公开的一个或多个方法并且不旨在限制潜在的实施例。备选实施例可以包括与图10中所阐述的那些步骤相比附加的、更少的或不同的步骤。
65.如图10所示,方法1000包括接收对要生成的内容类型的选择的动作1002。如所讨论的,图形设计系统的用户界面可以向用户提供多种内容类型。可以经由图形设计系统的用户界面管理器进行选择。一些内容类型包括内容纹理,其使用户能够用内容类型(例如,云、天空、泥土、海洋等)绘画数字画布的区域,然后由机器学习模型生成对应的内容。附加地,内容可以包括对象模型,诸如动物、树木、交通工具、人等,它们可以被选择然后拖放(或以其他方式添加)到数字画布上。
66.如图10所示,方法1000包括接收对数字画布中的、以放置内容类型的内容的位置的选择的动作1004。如所讨论的,可以通过图形设计系统的用户界面管理器进行选择。例如,用户可以绘画数字画布的区域(例如,选择绘图工具和所选择的内容类型,然后在区域上绘画以选择它)。备选地,对象可以被拖放到数字画布上的特定位置。
67.如图10所示,方法1000包括使用一个或多个机器学习模型在数字画布中的位置处生成所选择内容类型的内容的动作1006。如所讨论的,画布管理器可以向内容生成模型发送请求以生成对应的内容。该请求可以包括内容类型和要填充的区域。
68.如图10所示,方法1000包括基于与内容相关联的语义标签将内容自动添加到与数字画布相关联的层的动作1008。如所讨论的,画布管理器可以请求生成内容,并且可以请求层管理器创建针对新内容的新语义层。该请求可以包括与新内容相关联的语义信息(例如,内容类型、位置等)。在一些实施例中,将内容自动添加到与数字画布相关联的层包括标识与内容类型相关联的现有层,并且将内容添加到现有层。
69.在一些实施例中,将内容自动添加到与数字画布相关联的层包括生成与内容相关联的新层,其中数字画布与关联于内容类型的多个层相关联。在一些实施例中,该方法还包括响应于生成新层,基于与内容相关联的语义标签和基于与多个层相关联的一个或多个语义标签来确定多个层和新层的新z顺序。在一些实施例中,该方法还包括将与内容类型相关联的多个层组合成层组,其中每个层包括与内容类型相关联的内容。在一些实施例中,层组包括基于一个或多个内容类型在语义上组织的层的层次(例如,如下所述的语义层次)。
70.在一些实施例中,确定新的z顺序包括使用语义标签基于一个或多个语义排序规则来确定新的z顺序。在一些实施例中,用户可以指定z顺序放置。例如,该方法可以包括接收指示针对新层的z顺序放置的用户输入,以及基于用户输入来确定第二新z顺序。
71.检查是静态代码分析工具,用于标识代码中的漏洞、错误和格式问题。这允许在开发或部署的后期阶段导致更大的问题之前标识和纠正程序员可能容易错过的小错误。在绘图上下文中,许多小错误(例如,对象相对于其他对象的放置、对象内的几何关系、不切实际的物理等)都可以影响绘图的感知方式,但所需的修正对于用户而言可能并不总是很明显。
72.常规的图形设计应用包括非常少的(如果有的话)关于正在创建的内容的信息。这种常规系统通常仅限于像素值(例如,颜色、透明度等)、向量图形的属性(例如,线宽、填充、曲线参数等)而没有任何语义理解。这使得内容检查(例如,验证)即使不是不可能也很困难,因为几乎没有上下文用于确定绘图中是否存在错误。
73.语义绘图工具包括关于其中包括的内容的信息。例如,可以将内容添加到还包括关于内容的语义信息(例如,内容类型、与其他层或内容的相对位置等)的语义层。结果,可以获取对整个绘图的语义理解。然后可以基于这种语义理解对绘图执行内容检查,从而使得多个验证规则能够应用于绘图以纠正错误,诸如放置、大小调整、定向等。
74.图11图示了根据一个或多个实施例的基于语义信息的内容检查过程的示意图。可以与上述的图形设计系统100类似地实现图形设计系统1100。如图11所示,图形设计系统1100接收用户输入1102,其可以包括内容选择1104和放置选择1106。用户界面管理器1108提供用户界面,用户通过该用户界面使用图形设计系统1100来编辑或创建绘图。在一些实施例中,用户界面管理器1108提供画布(例如,在其中进行绘图的用户界面的面板)以及对各种绘图工具的访问,如上面关于图1所讨论的。
75.在附图标记2处,经由用户界面管理器1108做出的内容选择1104和放置选择1106由放置上下文管理器1110接收。在附图标记3处,放置上下文管理器1110生成与新内容相关联的放置上下文。如所讨论的,放置选择1106可以包括数字画布上正在添加内容的位置。例如,用内容纹理绘画的区域、插入对象的光标位置等。放置上下文包括数字画布上的位置以及从层数据1112获取的关于该位置的信息。在实施例中,层数据包括与层相关联的语义信息、关于画布上层的相对定位(例如,附近层)和层的z顺序的信息。在一些实施例中,可以在层数据中查找任何特定的画布位置,以标识附近的层及其相关联的内容。例如,可以确定数字画布上的坐标位于第一层之上,该第一层位于第二层之上。然后,放置上下文可以包括数据结构,该数据结构捕获坐标与第一层和第二层的关系,以及这两个层中内容的语义类。
76.然后在附图标记4处将放置上下文提供给内容分析器1114。内容分析器1114可以基于在附图标记5处的放置上下文来将内容规则1116应用于新内容。内容规则1116可以包括大小(例如,比例)规则、对齐(例如,定向)规则等。例如,大小规则定义了与内容类型一致的内容类型的大小范围。可以相对定义规则(例如,一种内容类型的大小取决于已添加到绘图中的内容类型的大小)。类似地,对齐规则定义了内容应如何与其他内容对齐。例如,如果将汽车对象添加到道路纹理,则对齐规则可以定义汽车对象应当与道路纹理的距离以及相对于道路纹理定向的汽车定向。内容规则可以由用户、他们的组织或其他实体定义。例如,默认内容规则可以由图形设计系统的开发者提供。
77.当接收到新的放置选择时(例如,由于用户在数字画布上移动他们的光标位置),可以在循环中处理从附图标记1到附图标记5的一般步骤序列。相应地,可以实时或接近实时地更新放置上下文,并且然后可以由内容分析器分析更新的放置上下文,如上所述。例如,这可能导致对象的大小随着用户在画布周围移动光标直到对象被放置在其最终位置而变化。备选地,可以在发生特定事件时离散地处理从附图标记1到附图标记5的步骤序列。例如,当用户在画布上放置内容时,会在该位置确定放置上下文并且分析内容。
78.在一些实施例中,内容分析器1114的结果包括要对内容做出的改变以符合内容规则。例如,可能需要移动对象(例如,移动多个像素)以使其与相邻层对齐。备选地,可能需要调整对象的大小,或者可能需要更改层的z顺序。在一些实施例中,可以标识多个规则违反。
79.在附图标记6处,内容分析的结果被提供给画布管理器1118。基于分析,画布管理器1118修改添加到画布的内容或生成符合内容规则的新内容,在附图标记7处。例如,画布管理基于内容分析将内容移动多个像素、调整内容的大小、重新定向内容等。在一些实施例中,这包括向内容生成模型发送请求以生成新内容。可选地,在一些实施例中,在附图标记8处,内容改变1120经由用户界面管理器1108被呈现给用户以在做出内容改变之前接受或拒绝。备选地,改变是自动进行的,并且用户有机会回滚任何不希望的改变。一旦做出改变,更新的画布1122就经由用户界面管理器1108呈现给用户。
80.图12图示了根据一个或多个实施例的大小调整错误的示例。如上所述,实施例提供了一种图形设计系统,其使得用户能够添加要生成的内容。例如,图形设计系统可以提供多个画布,诸如提供层图的画布1200和示出对应于层图的绘图的生成内容的画布1202。该内容包括内容纹理,其使得用户能够在画布上绘画一些内容类型(例如,云、天空、草、水等),然后使用机器学习模型生成该内容。此内容还包括从内容库拖放到画布上的对象。这样的对象包括但不限于人、动物、交通工具、建筑物等。对象可以包括3d模型,该3d模型可以
在画布上任意定向并且其外观可以由机器学习模型生成或从内容库中获取(例如,作为固定外观的集中的一个固定外观)。
81.如图12所示,奶牛对象已被添加到画布1200。在该示例中,奶牛以默认大小被添加,而不管它在画布上的位置。附加地,与奶牛相关联的新层按照与绘图的其余元素不一致的z顺序而被放置。例如,奶牛比前景树大,但至少部分在它们后面,同时也在看起来嵌入奶牛的背景树后面,如1206所示。这些示出了将新内容添加到画布时可能引入的示例内容错误。在常规系统中,留给用户手动调整绘图以使新内容与现有内容一致。然而,如所讨论的,实施例可以应用多个内容规则,这些内容规则利用关于新内容和现有内容的已知语义信息来在创建内容时纠正这样的错误。
82.图13图示了根据一个或多个实施例的新内容的自动大小调整的示例。如图13所示,当奶牛被放置在画布1300中的不同位置时,它的大小会根据其放置上下文进行适当调整。例如,放置在位置1304处的奶牛1302的大小会被调整为与其在场景距离中的位置以及相对于附近的灌木的位置一致。类似地,放置在位置1308处的奶牛1306比奶牛1302大,并且在前景中的位置1312处的奶牛1310更大。如所讨论的,每头奶牛与根据其放置位置1304、1308、1312确定的不同放置上下文相关联。在图13的示例中,当将奶牛放置在画布上时,它的大小被适当地调整。
83.图14图示了根据一个或多个实施例的覆盖内容检查规则的备选示例。如图14所示,在一些实施例中,当内容被添加到画布时,内容会基于用户的光标位置而被动态调整大小。在这个示例中,鸟1400被添加到画布上。如所讨论的,该鸟可以是从内容库添加的3d模型,并且可以在放置时生成鸟的外观。尽管画布仅示出了层图,但在各种实施例中,图形设计系统包括层画布和内容画布,如先前示例中所示。备选地,图形设计系统可以仅包括示出绘制内容的内容画布。
84.当用户将他们的光标移动到不同的位置时,放置上下文可以被动态地确定并且用于适当地调整对象的大小。例如,当从位置1402处开始时,放置上下文包括鸟被定位在山脉层上方和靠近树对象。因此,可以基于附近的对象来调整鸟的大小,使得其看起来是其飞行区域的真实大小。当用户将光标拖到画布上时,放置上下文会改变,并且鸟的属性也会更新。例如,在位置1404,这只鸟在天空层上方并且不是特别靠近任何其他对象。因此,可以缩小鸟的大小以表示鸟在离观察者更远的距离飞行。类似地,当重新定位到位置1406时,这只鸟现在离前景中的观察者更近了,并且大小增大了。
85.图15图示了根据一个或多个实施例的图形设计应用中的内容检查的示例。如所讨论的,内容检查使绘图中的小错误能够被检测和纠正,否则这些小错误对于用户来说可能难以标识。例如,已经讨论过的示例绘图的背景中的马对象被示出在绘图段1500中。马被示出为正在从湖中饮水。然而,马被应该在背景中的灌木部分遮挡,如1502所示。附加地,马部分站立在湖之上,而不是在海岸线上,如1504所示。
86.当马被添加到绘图时,由放置上下文管理器1110为马生成放置上下文,如所讨论的。在此示例中,放置上下文可以包括附近的灌木层、海岸层和湖层。在一些实施例中,可以基于层数据和/或表示绘图的内容和/或层的语义场景图(例如,语义层次)来生成放置上下文。内容分析器1114可以分析放置上下文并且标识马对象部分地在湖层的顶部。内容规则可以定义可以真实地描绘在水层顶部的对象类(例如,船、滑雪者、鱼、鸟等)和通常不真实
地描绘在水层顶部的对象类(例如,陆生动物、人、陆地交通工具等)。因此,内容分析器可以确定用以使马移动以使得其不部分地越过湖面的、以像素为单位的距离。附加地,内容分析器可以确定马和灌木的z顺序与其相对位置不一致,并且确定更新的z顺序以将马放置在灌木层的前面。
87.根据可用语义信息的量,内容规则可以是粗粒度的或细粒度的。例如,针对马的语义类可以比“马”更具体。例如,马可以被分类为“饮水的马”或指示马被描绘为执行的动作的其他标签。在这些实例中,内容分析器可以确定移动马以使得只有它的头在湖上的距离。类似地,如果马被归类为“吃草的马”,则内容分析器可以确定移动马以使得其完全在地面层(例如,草、海岸、泥土等)上而不是在水层上的距离。
88.利用由内容分析器1114标识的改变,画布管理器1118然后可以将这些改变应用到画布上的马。例如,如1506所示,马已经向左移动,因此它不再在湖上。附加地,z顺序已经被更新,使得马不在灌木后面。
89.图16图示了根据一个或多个实施例的图形设计系统(例如,上述的“图形设计系统”)的示意图。如图所示,图形设计系统1600可以包括但不限于用户界面管理器1602、放置上下文管理器1604、内容分析器1606、画布管理器1608和存储管理器1610。存储管理器1610包括层数据1618、绘图数据1620、放置上下文数据1622和内容规则1624。在一些实施例中,图形设计系统1600还包括至少关于图形设计系统900描述的组件中的一些或全部组件。
90.如图16所示,图形设计系统1600包括用户界面管理器1602。例如,用户界面管理器1602允许用户请求生成内容并且将其添加到由图形设计系统1600提供的画布上。这包括通过一个或多个用户界面面板、菜单或其他用户界面元素提供工具访问。附加地,用户可以通过使用提供的绘图工具绘画内容纹理、拖放对象和/或直接编辑画布来直接在画布上创建和编辑绘图。在一些实施例中,用户界面管理器1602提供用户界面,用户可以通过该用户界面来选择内容纹理和对象、绘图工具等,如上所述。备选地或附加地,用户界面使用户能够从本地或远程存储位置打开和编辑现有绘图(例如,通过提供与文档存储库相关联的地址(例如,url或其他端点))。在一些实施例中,用户界面经由用户界面管理器1602向用户呈现内容检查改变以纠正错误,用户可以选择接受或拒绝该内容检查改变。备选地,用户界面管理器1602使用户能够回滚响应于检测到的错误而自动做出的改变。
91.如图16所示,图形设计系统1600还包括放置上下文管理器1604。如所讨论的,放置上下文管理器1604负责生成放置上下文1622,该放置上下文1622包括与画布上的新内容的放置位置相关联的数据。放置选择可以包括数字画布上正在添加内容的位置(例如,正在用内容纹理绘制的区域、正在插入对象的光标的位置等)。放置上下文包括数字画布上的位置以及从层数据1618获取的关于该位置的信息,诸如关于层在画布上的相对定位(例如,附近的层)和层的z顺序的信息。在一些实施例中,放置上下文管理器在层数据中查找放置位置以标识附近的层及其相关联的内容。然后,放置上下文可以是包括与放置位置相关联的层和内容信息的数据结构。
92.如图16所示,图形设计系统1600还包括内容分析器1606。内容分析器1606将内容规则1624应用于由放置上下文管理器1604生成的放置上下文以标识文档中的错误。如所讨论的,内容规则1624可以包括大小(例如,比例)规则、对齐(例如,定向)规则等。例如,大小规则定义了与内容类型一致的内容类型的大小范围。可以相对定义规则(例如,一种内容类
型的大小取决于已添加到绘图中的内容类型的大小)。类似地,对齐规则定义了内容应当如何与其他内容对齐。例如,新内容具有相关联的属性。当对象(例如,3d模型)被添加到文档中时,它的大小、定向、外观等被存储(例如,作为对象和/或文档元数据)。当所有内容添加到文档时,内容的这些属性被记录下来。新内容的属性可以与放置上下文中引用的内容的属性进行比较(例如,将对象的对齐属性与相关层的对齐进行比较等)。内容规则1624可以定义内容的不同类型之间可接受的属性值(或属性值的差异)的范围。通过将内容规则1624应用于内容,内容分析器1606可以根据内容规则来标识无效的属性,并且可以标识要对内容做出的使内容有效的改变。
93.如图16所示,图形设计系统1600还包括画布管理器1608。如所讨论的,画布管理器经由用户界面管理器1602从用户接收对新内容的请求,并且协调对应于内容的新语义层的创建和内容生成模型1614的内容生成。附加地,画布管理器可以从内容分析器1606接收内容分析,该内容分析器1606标识要对画布上的内容做出的改变,使得它符合内容规则1624。在一些实施例中,画布管理器自动将改变应用到相关联的内容,如上所述。备选地,改变首先经由用户界面管理器1602呈现给用户,以在画布管理器1608将改变应用于绘图之前接受或拒绝。一旦更新,更新的绘图就可以被存储在绘图数据1620中。
94.如图16所示,图形设计系统1600还包括存储管理器1610。存储管理器1610维持图形设计系统1600的数据。存储管理器1610可以维持执行图形设计系统1600的功能所需的任何类型、大小或种类的数据。如图16所示,存储管理器1610包括层数据1618。层数据1618可以包括与绘图的层相关联的语义信息,如上面另外详细讨论的。特别地,在一个或多个实施例中,层数据1618包括与在每个层中表示的内容的类型相关联的语义信息。在一些实施例中,层数据包括关于层在画布上的相对定位(例如,附近层)和层的z顺序的信息。在一些实施例中,层数据被表示为语义层次(也称为语义场景图),如下面进一步讨论的。存储管理器1610还包括绘图数据1620。绘图数据1620可以包括由图形设计系统1600创建或可编辑的绘图文件。
95.附加地,存储管理器1610包括放置上下文1622。如所讨论的,放置上下文包括与数字画布上的特定坐标相关联的层和内容信息。在一些实施例中,放置上下文管理器在使用后添加和丢弃新内容时生成放置上下文。备选地,为添加到数字画布的每条内容维持放置上下文1622,并且随着内容改变、移动等而更新。存储管理器1610还包括内容规则1624。内容规则1624包括大小(例如,比例)规则、对齐(例如,定向)规则等。例如,大小规则定义与内容类型一致的内容类型的大小范围。可以相对定义规则(例如,一种内容类型的大小取决于已添加到绘图中的内容类型的大小)。类似地,对齐规则定义了内容应如何与其他内容对齐。
96.图形设计系统1600的组件1602至1610中的每个组件及其对应的元素(如图16所示)可以使用任何合适的通信技术彼此通信。将认识到,尽管组件1602至1612和它们的对应元素在图16中被示为分离的,但是任何组件1602至1612和它们的对应元素可以组合成更少的组件,诸如组合成单个设施或模块,分成更多组件,或配置成不同组件,以便可以服务于特定实施例。
97.组件1602至1612及其对应的元素可以包括软件、硬件或两者。例如,组件1602至1612及其对应的元素可以包括存储在计算机可读存储介质上并且由一个或多个计算设备
的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,图形设计系统1600的计算机可执行指令可以使客户端设备和/或服务器设备执行本文描述的方法。备选地,组件1602至1612及其对应元素可以包括硬件,诸如用以执行特定功能或功能组的专用处理设备。此外,组件1602至1612及其对应的元素可以包括计算机可执行指令和硬件的组合。
98.此外,例如,图形设计系统1600的组件1602至1612可以被实现为一个或多个独立应用、应用的一个或多个模块、一个或多个插件、一个或多个库函数或可以被其他应用调用的函数,和/或作为云计算模型。因此,图形设计系统1600的组件1602至1612可以被实现为独立的应用,诸如桌面或移动应用。此外,图形设计系统1600的组件1602至1612可以被实现为托管在远程服务器上的一个或多个基于web的应用。备选地或附加地,图形设计系统1600的组件可以在移动设备应用或“应用”的套件中实现。为了说明,图形设计系统1600的组件可以被实现为应用或应用套件的部分,包括但不限于adobe creative cloud、adobe photoshop、adobe acrobat、adobe illustrator、adobe lightroom和adobe indesign。“adobe”、“creative cloud”、“photoshop”、“acrobat”、“illustrator”、“lightroom”和“indesign”是adobe公司在美国和/或其他国家/地区的注册商标或商标。
99.图11至图16、对应的文本和示例提供了允许在绘图文档中创建和管理语义层的多个不同系统和设备。除了前述之外,还可以根据流程图来描述实施例,该流程图包括用于实现特定结果的方法中的动作和步骤。例如,图17图示了根据一个或多个实施例的示例性方法的流程图。关于图17描述的方法可以用更少或更多的步骤/动作来执行,或者可以按照不同的顺序来执行这些步骤/动作。附加地,本文描述的步骤/动作可以彼此平行地重复或执行,或者与相同或相似步骤/动作的不同实例平行地执行。
100.图17图示了根据一个或多个实施例的基于语义信息的内容检查方法1700中的一系列动作的流程图。在一个或多个实施例中,方法1700在包括图形设计系统1600的数字介质环境中执行。方法1700旨在说明根据本公开的一个或多个方法并且不旨在限制潜在实施例。备选实施例可以包括与图17中所阐述的那些相比附加的、更少的或不同的步骤。
101.如图17所示,方法1700包括接收对要生成的内容类型的选择的动作1702。如所讨论的,图形设计系统的用户界面可以向用户提供多种内容类型。可以经由图形设计系统的用户界面管理器进行选择。一些内容类型包括内容纹理,其使用户能够使用内容类型(例如,云、天空、泥土、海洋等)来绘画数字画布的区域,然后由机器学习模型生成对应的内容。附加地,内容可以包括对象模型,诸如动物、树木、交通工具、人等,它们可以被选择然后拖放(或以其他方式添加)到数字画布上。
102.如图17所示,方法1700包括接收对数字画布中的、用以放置内容类型的内容的位置的选择的动作1704。如所讨论的,可以通过图形设计系统的用户界面管理器进行选择。例如,用户可以绘画数字画布的区域(例如,选择绘图工具和所选择的内容类型,然后在区域上绘画以选择它)。备选地,对象可以被拖放到数字画布上的特定位置。
103.如图17所示,方法1700包括确定与数字画布中的位置相关联的放置上下文的动作1706。如所讨论的,放置上下文包括关于靠近数字画布中所选位置的层和/或内容的信息。例如,在给定坐标处(或在坐标的阈值距离内)可以存在多个层,并且与这些层中的每个层相关联的语义信息可以被添加到放置上下文中。附加地,与内容相关的属性(例如,外观、位置、定向等)也可以被添加到放置上下文中。在一些实施例中,放置上下文包括以下一项或
多项:内容类型、位置附近的一个或多个内容类型(例如,空间上相邻的内容和/或层)、与该位置相关联的现有层、或层z顺序。在一些实施例中,该方法还包括至少基于数字画布的层的语义层次(例如,下文进一步讨论)来标识至少一个空间相邻层。
104.如图17所示,方法1700包括基于放置上下文的静态分析为内容标识一个或多个内容规则的动作1708。例如,内容规则可以包括大小规则、对齐规则等。在一些实施例中,标识一个或多个内容规则包括标识与内容相关联的大小内容规则,以及使用大小内容规则基于放置上下文来确定该位置处内容的默认大小。
105.如图17所示,方法1700包括使用一个或多个机器学习模型、使用一个或多个内容规则在数字画布中的位置处生成所选内容类型的内容的动作1710。如所讨论的,画布管理器可以向内容生成模型发送请求以生成对应的内容。该请求可以包括内容类型和要填充的区域。这可以包括符合内容规则的请求的更新内容。例如,如果在场景中重新对齐对象,则可以生成现在重新对齐的对象的新外观。
106.在一些实施例中,内容规则可以在内容放置在数字画布上之前应用于内容。例如,用户可以将对象从用户界面的内容面板拖到画布上,在此过程中遍历画布上的各个位置。随着对象移动,可以生成新的放置上下文,并且可以相应地修改内容。例如,该方法还包括接收基于光标位置的改变对新位置的选择,以及基于大小内容规则和新位置来确定内容的新默认大小。在一些实施例中,内容规则可以被用户覆盖。例如,在一些实施例中,该方法还包括接收对内容大小的选择,以及基于对大小的选择来覆盖大小内容规则。
107.在一些实施例中,标识一个或多个内容规则还包括标识与内容和数字画布的至少一个空间相邻层相关联的对齐规则,以及确定一个或多个对齐参数以将内容与至少一个空间相邻层对齐。
108.场景图是提供场景内容的表示的数据结构。图的节点可以表示场景中的对象,并且节点之间的连接可以指示连接的对象之间的关系(例如,逻辑、空间等)。然而,传统的图形设计应用包括非常少(如果有的话)关于正在创建的内容的信息。这种传统系统通常仅限于像素值(例如,颜色、透明度等)、向量图形的属性(例如,线宽、填充、曲线参数等)而没有任何语义理解。这使得内容检查(例如,验证)即使不是不可能也很困难,因为几乎没有上下文用于确定绘图中是否存在错误。因此,系统通常没有关于场景中表示哪些对象或它们如何相关的任何信息。附加地,在栅格图形编辑器中,系统通常根本不知道应该将什么视为对象。这使得在传统系统中构建这样的场景图变得困难或不可能。
109.语义绘图工具包括关于其中包含的内容的信息。例如,内容可以被添加到还包括关于内容的语义信息的语义层(例如,内容类型、与其他层或内容的相对位置等)。结果,可以获取对整个绘图的语义理解。该语义信息可以用于生成语义场景图,该语义场景图可以在用户创建绘图时构建。具有语义场景图简化了绘图的编辑和管理,尤其是多个用户。例如,语义场景图提供了场景摘要,其使不熟悉的用户更容易理解绘图。附加地,不同用户对绘图所做的改变可以反映在两个场景图之间的差异上。场景图对于通过从图中而不是直接在画布上选择内容来选择要编辑的内容也很有用。
110.图18图示了根据一个或多个实施例的分层语义层组织的过程的示意图。图形设计系统1800可以与上述图形设计系统100和1100类似地实现。如图18所示,图形设计系统1800可以接收附图标记1处的输入文档1802。输入文档可以是预先存在的绘图文档或用户正在
创建的新绘图文档。在一些实施例中,用户可以经由用户界面管理器1804提供输入文档1802。例如,用户界面管理器1804为图形设计系统1800提供用户界面。用户界面可以包括使用户能够请求打开(例如,来自本地或远程存储位置的)现有文档或创建新文档的用户界面元素。
111.在一些实施例中,用户请求生成针对输入文档1802的语义场景图。备选地,一旦文档被图形设计系统1800打开,就自动生成针对该文档的语义场景图。在一些实施例中,画布管理器1806可以获取与在附图标记2处的输入文档相关联的层数据。例如,如所讨论的,层数据包括与层相关联的语义信息、关于画布上的层的相对定位(例如,附近的层)和层的z顺序的信息,如上所述。可以取回针对现有文档的层数据,或者可以在创建绘图时生成层数据,如上所述。
112.在附图标记3处,与输入文档相关联的层数据被提供给语义层次管理器1810。在附图标记4处,语义层次管理器1810可以标识层数据中的语义关系1812和语义节点1814。例如,语义节点包括场景中表示的语义类的每个实例。在一些实施例中,每个语义层对应于特定对象或内容类型。在这些实例中,层与语义节点之间存在至少一对一的关系。在一些实施例中,层数据包括层组,其中组中的每个层对应于相同的内容类型。例如,包括森林的场景可以包括多个树,并且每棵树可以是具有自己的层的对象。这些树层可以被分组成树组。附加地,层之间的空间关系也可以在层数据中表示。例如,云层被放置在天空层的顶部,树层在地面层的顶部等。语义层次管理器可以将这些表示为语义关系1812,其连接语义节点以形成语义层次(例如,语义场景图)。
113.在附图标记5处,语义场景图(例如,语义关系和语义节点)可以被存储在语义层次数据存储库1816中。备选地,语义层次可以与层数据1808一起存储。在附图标记6处,可以返回语义层次1820以便经由用户界面管理器1804向用户示出。在一些实施例中,用户界面可以包括为用户可视化图形的语义层次面板。用户可以与图交互以选择特定层、标识意外或不正确的语义关系,或以其他方式管理绘图。附加地,图形设计系统可以将语义图用于其他增强功能。例如,可以在内容检查期间使用语义场景图用以标识相关层。
114.图19图示了根据一个或多个实施例的语义场景图的示例。如所讨论的,语义场景图可以是包括通过多个连接而被连接的多个节点的数据结构。每个节点表示绘图中描绘的不同语义类,并且每个连接包括节点之间的空间关系和/或语义关系。如图19所示,生成针对绘图1900的语义场景图,其中语义场景图的根节点是它所表示的绘图。
115.如图19所示,该绘图是景观,其包括空中部分和地面部分。因此,图19的示例语义场景图中的第一层节点包括空中节点1902和地面节点1904。空中节点1902与表示空中元素的层具有关系,诸如天空层(由天空节点1906表示),其描绘了绘图1900中的天空和表示绘图中的鸟的鸟节点1908。鸟节点表示飞行中的鸟,因此与空中节点一起组织。栖息的鸟可能与它栖息的树或结构等组织在一起。类似地,表示所描绘飞机的飞机节点1910被链接到天空节点1906,因为它被描绘在天空层上并且在飞行中。
116.地面节点1904与连接到地面的各个层有关系,诸如马1912、山脉1914和湖1916。在一些实施例中,可以使用附加的或更少的节点来表示绘图1900中的层。例如,地面1904可以进一步划分为附加层,诸如草、岩石等,每个层都有自己对应的节点。马1912被链接到饲养马1918和饮水的马1920。将马连接到马节点的每条边可以包括关于马的空间信息,诸如与
每匹马相关联的绘图中的坐标。在一些实施例中,在饮水的马节点1920与湖节点1916之间建立附加连接,其中边包括将饮水的马链接到湖中位置的空间信息。类似地,在一些实施例中,鸟节点1908和马节点1912进一步链接在一起,因为它们都表示动物类的成员。
117.地面可以被链接到对应于地面上的附加对象的附加层,诸如灌木1922和树木1924。这些节点可以表示属于相同类的层的分组。例如,绘图1900中的每个灌木可以具有对应的层和语义场景图中的节点1926至1928。同样,绘图1900中的每棵树在语义场景图中可以具有对应的层和节点1930至1932。灌木节点1922和树木节点1924也可以被链接为属于植物类。附加地,湖节点1916与湖上的船相链接。这包括链接到船-1 1936和船-2 1938的船节点1934。如所讨论的,将这些船连接到船节点1934的边可以包括有关船如何与湖相关的信息,诸如绘图中的坐标。附加地,船节点1934可以被连接到飞机节点1910,因为它们都属于交通工具类。
118.图20图示了根据一个或多个实施例的图形设计系统(例如,上述的“图形设计系统”)的示意图。如图所示,图形设计系统2000可以包括但不限于用户界面管理器2002、画布管理器2004、语义层次管理器2006和存储管理器2010。存储管理器2010包括层数据2018、绘图数据2020和语义层次数据2022。在一些实施例中,图形设计系统2000还包括至少关于图形设计系统900和1600描述的组件中的一些或全部组件。
119.如图20所示,图形设计系统2000包括用户界面管理器2002。例如,用户界面管理器2002允许用户请求生成内容并且将其添加到由图形设计系统2000提供的画布上。这包括通过一个或多个用户界面面板、菜单或其他用户界面元素提供工具访问。附加地,用户可以通过使用提供的绘图工具绘画内容纹理、拖放对象和/或直接编辑画布来直接在画布上创建和编辑绘图。在一些实施例中,用户界面管理器2002提供用户界面,用户可以通过该用户界面来选择内容纹理和对象、绘图工具等,如上所述。备选地或附加地,用户界面使用户能够从本地或远程存储位置打开和编辑现有绘图(例如,通过提供与文档存储库相关联的地址(例如,url或其他端点))。附加地,用户界面管理器接收生成针对输入文档(例如,绘图等)的语义层次2022(例如,语义场景图)的请求。在一些实施例中,语义层次是在创建绘图时生成的。备选地,使用用户界面管理器2002打开现有文档(例如,选择用户界面元素以打开现有文档)。当打开文档时,或者根据用户的请求,向画布管理器2004提供请求以协调语义层次的创建。
120.如图20所示,图形设计系统2000还包括画布管理器2004。如所讨论的,画布管理器协调生成针对文档的语义层次。例如,如上所述,画布管理器2004经由用户界面管理器2002从用户接收对新内容的请求,并且使用内容生成模式、内容库等来协调对应于内容的新语义层的创建和内容的生成,如上所述。如所讨论的,随着内容被添加到绘图,新的语义层被创建,其包括与新内容相关联的语义信息。对于现有文档,画布管理器可以经由存储服务2010来获取与输入文档相关联的层数据2018。例如,如所讨论的,层数据包括与层相关联的语义信息、关于层在画布上的相对定位(例如,附近的层)和层的z顺序的信息,如上所述。可以取回针对现有文档的层数据,或者可以在创建绘图时生成层数据,如上所述。
121.如图20所示,图形设计系统2000还包括语义层次管理器2006。语义层次管理器2006然后使用从画布管理器2004获取的层数据来生成语义层次2022。例如,语义层次管理器2006可以标识层数据中的语义关系和语义节点。例如,语义节点包括场景中表示的语义
类的每个实例。节点可以对应于每个语义层、语义层组等,或者多个语义层所属的类。如所讨论的,每个语义层可以对应于特定对象或内容类型。在这种实例中,层与语义节点之间存在至少一对一的关系。在一些实施例中,层数据包括层组,其中组中的每个层对应于相同的内容类型。节点之间的关系(例如,绘图中描绘的内容之间的关系)可以被编码为连接相关节点的边。例如,对应于绘图中对象与另一层重叠的位置的绘图坐标可以被存储为将表示对象的节点连接到表示层的节点的边的属性。
122.如图20所示,图形设计系统2000还包括存储管理器2010。存储管理器2010维持图形设计系统2000的数据。存储管理器2010可以维持执行图形设计功能所需的任何类型、大小或种类的数据。如图20所示,存储管理器2010包括层数据2018。层数据2018可以包括与绘图的层相关联的语义信息,如上面更详细地讨论的。特别地,在一个或多个实施例中,层数据2018包括与在每个层中表示的内容的类型相关联的语义信息。在一些实施例中,层数据包括关于层在画布上的相对定位(例如,附近层)和层的z顺序的信息。存储管理器2010还包括绘图数据2020。绘图数据2020可以包括由图形设计系统2000创建或可编辑的绘图文件。
123.附加地,存储管理器2010还包括语义层次2022。如所讨论的,语义层次2022(例如,语义场景图)可以是表示使用图形设计系统2000生成的或由图形设计系统2000可读取的绘图的数据结构。语义层次2022可以包括由多个边连接的多个节点。如所讨论的,多个节点各自表示对应于绘图中内容的语义类。例如,一些节点表示特定的语义层,其他节点可以表示多个语义层在其之下的类等。边包括链接节点的信息。例如,内容之间的关系(例如,空间的、逻辑的关系等)可以与边相关联。
124.图形设计系统2000的组件2002至2010中的每个组件及其对应的元素(如图20所示)可以使用任何合适的通信技术彼此通信。将认识到,尽管组件2002至2012和它们的对应元素在图20中被示为是分离的,但是任何组件2002至2012和它们的对应元素都可以组合成更少的组件,诸如组合成单个设施或模块、分成更多组件、或配置成不同组件,以便可以服务于特定实施例。
125.组件2002至2012及其对应的元素可以包括软件、硬件或两者。例如,组件2002至2012及其对应的元素可以包括存储在计算机可读存储介质上并且由一个或多个计算设备的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,图形设计系统2000的计算机可执行指令可以使客户端设备和/或服务器设备执行本文描述的方法。备选地,组件2002至2012及其对应元素可以包括硬件,诸如用以执行特定功能或功能组的专用处理设备。附加地,组件2002至2012及其对应元素可以包括计算机可执行指令和硬件的组合。
126.此外,例如,图形设计系统2000的组件2002至2012可以被实现为一个或多个独立应用、应用的一个或多个模块、一个或多个插件、一个或多个库函数或可以被其他应用调用的函数,和/或作为云计算模型。因此,图形设计系统2000的组件2002至2012可以被实现为独立的应用,诸如桌面或移动应用。此外,图形设计系统2000的组件2002至2012可以被实现为托管在远程服务器上的一个或多个基于web的应用。备选地或附加地,图形设计系统2000的组件可以在移动设备应用或“应用”的套件中实现。为了说明,图形设计系统2000的组件可以被实现为应用或应用套件的部分,包括但不限于adobe creative cloud、adobe photoshop、adobe acrobat、adobe illustrator、adobe lightroom和adobe indesign。“adobe”、“creative cloud”、“photoshop”、“acrobat”、“illustrator”、“lightroom”和“indesign”是adobe公司在美国和/或其他国家/地区的注册商标或商标。
127.图18至图20、对应的文本和示例提供了允许在绘图文档中创建和管理语义层的多个不同系统和设备。除了前述之外,还可以根据流程图来描述实施例,该流程图包括用于实现特定结果的方法中的动作和步骤。例如,图21图示了根据一个或多个实施例的示例性方法的流程图。关于图21描述的方法可以用更少或更多的步骤/动作来执行,或者可以以不同的顺序来执行这些步骤/动作。附加地,本文描述的步骤/动作可以彼此平行地重复或执行,或者与相同或相似步骤/动作的不同实例平行地执行。
128.图21图示了根据一个或多个实施例的分层语义层组织的方法2100中的一系列动作的流程图。在一个或多个实施例中,方法2100在包括图形设计系统2000的数字介质环境中执行。方法2100旨在说明根据本公开的一种或多种方法并且不旨在限制潜在的实施例。备选实施例可以包括与图21中所阐述的那些步骤相比附加的、更少的或不同的步骤。
129.如图21所示,方法2100包括获取文档的动作2102。例如,如所讨论的,用户界面管理器可以接收打开(例如,来自本地或远程存储位置的)现有文档的请求。附加地或备选地,可以创建新文档。如所讨论的,文档是图形设计文档(例如,绘图),诸如栅格绘图、向量绘图等。
130.如图21所示,方法2100包括标识与文档相关联的多个层的动作2104。例如,图形设计系统可以维持与文档相关联的层数据。在一些实施例中,层数据可以是与文档数据包括在一起的元数据,由图形设计系统单独存储,或者以其他方式与文档相关联并且由图形设计系统可访问。
131.如图21所示,方法2100包括确定与多个层相关联的多个语义标签的动作2106。如所讨论的,语义绘图工具可以在将内容添加到文档时创建针对内容的语义层。语义层可以包括与层中的内容相关联的语义信息、与其他层中的内容的关系等。在各种实施例中,语义标签从与文档相关联的语义信息中确定。在一些实施例中,确定与多个层相关联的多个语义标签还包括由机器学习模型利用多个层中的每个层的对应的语义标签来注释所述多个层中的每个层,机器学习模型被训练为生成针对与层相关联的内容的语义标签。
132.如图21所示,方法2100包括确定多个层的语义层层次的动作2108。在一些实施例中,确定语义层层次包括基于对应的语义标签来确定多个层之间的语义关系。在一些实施例中,语义关系被包括在与语义层相关联的语义信息中。备选地,语义规则或其他信息可以定义语义类如何彼此相关。
133.如图21所示,方法2100包括至少基于语义层层次来组织多个层的动作2110。在一些实施例中,至少基于语义层层次来组织多个层包括基于语义相似层对应的语义标签来标识语义相似层,以及创建包括语义相似层的层组,每个组与组标签相关联。在一些实施例中,该方法还包括基于语义相似组对应的组标签来标识语义相似组,以及创建包括语义相似组的多个组的组。在一些实施例中,组织多个层还包括基于语义层层次来确定多个层的z顺序;以及将z顺序存储在语义层层次中。
134.在一些实施例中,该方法还包括接收对要生成的内容类型的选择,接收对文档的数字画布中的、用以放置该内容类型的内容的位置的选择,使用一个或多个机器学习模型在数字画布中的该位置处生成所选择的内容类型的内容,以及将内容添加到文档的新层,其中该新层与对应于内容类型的语义标签相关联。在一些实施例中,该方法还包括至少基
于新层来更新语义层层次。
135.图22图示了根据一个或多个实施例的图形处理系统900、1600、2000可以在其中操作的示例性环境2200的示意图。在一个或多个实施例中,环境2200包括服务提供方2202,服务提供方2202可以包括经由一个或多个网络2208连接到多个客户端设备2206a至2206n的一个或多个服务器2204。客户端设备2206a至2206n、一个或多个网络2208、服务提供方2202和一个或多个服务器2204可以使用适合于传输数据和/或通信信号的任何通信平台和技术彼此通信或与其他组件通信,通信平台和技术包括支持远程数据通信的任何已知的通信技术、设备、介质和协议,其示例将在下文关于图23更详细地描述。
136.尽管图22图示了客户端设备2206a至2206n、一个或多个网络2208、服务提供方2202和一个或多个服务器2204的特定布置,但各种附加布置是可能的。例如,客户端设备2206a至2206n可以直接与一个或多个服务器2204通信,绕过网络2208。或者备选地,客户端设备2206a至2206n可以直接彼此通信。服务提供方2202可以是公共云服务提供方,其在一个或多个数据中心中拥有并且运营他们自己的基础设施,并且按需向客户和终端用户提供该基础设施以在一个或多个服务器2204上托管应用。服务器可以包括一个或多个硬件服务器(例如,主机),各自具有自己的计算资源(例如,处理器、存储器、磁盘空间、联网带宽等),该计算资源可以在多个客户之间安全地划分,其中每个可以在一个或多个服务器2204上托管他们自己的应用。在一些实施例中,服务提供方可以是维持针对单个组织的云基础设施的私有云提供方。一个或多个服务器2204可以类似地包括一个或多个硬件服务器,各自具有其自己的计算资源,它们在由一个或多个服务器托管的应用之间划分以供组织成员或其客户使用。
137.类似地,尽管图22的环境2200被描绘为具有各种组件,但是环境2200可以具有附加的或备选的组件。例如,环境2200可以在具有图形设计系统900、1600、2000的单个计算设备上实现。特别地,图形设计系统900、1600、2000可以全部或部分在客户端设备2202a上实现。
138.如图22所示,环境2200可以包括客户端设备2206a至2206n。客户端设备2206a至2206n可以包括任何计算设备。例如,客户端设备2206a至2206n可以包括一个或多个个人计算机、膝上型计算机、移动设备、移动电话、平板计算机、专用计算机、tv或其他计算设备,包括下文关于图23描述的计算设备。尽管在图22中示出了三个客户端设备,但是应当理解,客户端设备2206a至2206n可以包括任何数目的(大于或小于所示出的)客户端设备。
139.此外,如图22所示,客户端设备2206a至2206n和一个或多个服务器2204可以经由一个或多个网络2208进行通信。一个或多个网络2208可以表示单个网络或网络集合(诸如,互联网、公司内联网、虚拟专用网络(vpn)、局域网(lan)、无线局域网(wlan)、蜂窝网络、广域网(wan)、城域网(man),或两种或更多种此类网络的组合。因此,一个或多个网络2208可以是客户端设备2206a至2206n可以通过其访问服务提供方2202和服务器2204的任何合适的网络,或反之亦然。一个或多个网络2208将在下面关于图23更详细地讨论。
140.另外,环境2200还可以包括一个或多个服务器2204。一个或多个服务器2204可以生成、存储、接收和传输任何类型的数据。例如,服务器2204可以从客户端设备(诸如,客户端设备2206a)接收数据,并且将数据发送到另一客户端设备,诸如客户端设备2202b和/或2202n。服务器2204还可以在环境2200的一个或多个用户之间传输电子消息。在一个示例实
施例中,服务器2204是数据服务器。服务器2204还可以包括通信服务器或web托管服务器。关于服务器2204的附加细节将在下面关于图23进行讨论。
141.如所提及的,在一个或多个实施例中,一个或多个服务器2204可以包括或实现图形设计系统900、1600、2000的至少部分。特别地,图形设计系统900、1600、2000可以包括在一个或多个服务器2204上运行的应用,或者图形设计系统900、1600、2000的部分可以从一个或多个服务器2204下载。例如,图形设计系统900、1600、2000可以包括web托管应用,其允许客户端设备2206a至2206n与在一个或多个服务器2204上托管的内容交互。为了说明,在环境2200的一个或多个实施例中,一个或多个客户端设备2206a至2206n可以访问由一个或多个服务器2204支持的网页。特别地,客户端设备2206a可以运行web应用(例如,web浏览器)以允许用户访问、查看在一个或多个服务器2204处托管的网页或网站和/或与在一个或多个服务器2204处托管的网页或网站交互。
142.在客户端设备2206a访问一个或多个服务器2204处托管的网页或其他web应用时,在一个或多个实施例中,一个或多个服务器2204可以使用户能够打开、编辑或创建存储在一个或多个服务器2204处的文档(例如,绘图文件)。此外,客户端设备2206a可以接收请求(即,经由用户输入)将内容添加到文档并且将该请求提供给一个或多个服务器2204。在接收到请求时,一个或多个服务器2204可以自动执行上述方法和过程以将内容添加到文档。一个或多个服务器2204可以基于新内容来更新文档并且将更新的文档返回给客户端设备2206a以显示给用户。
143.如刚刚描述的,图形设计系统900、1600、2000可以全部或部分地由环境2200的各个元素2202至2208实现。应当理解,尽管图形设计系统900、1600、2000的某些组件在前面的示例中关于环境2200的特定元素进行了描述,但各种备选实现是可能的。例如,在一个或多个实施例中,图形设计系统900、1600、2000在任何客户端设备2206a至2206n上实现。类似地,在一个或多个实施例中,图形设计系统900、1600、2000可以在一个或多个服务器2204上实现。此外,图形设计系统900、1600、2000的不同组件和功能可以在客户端设备2206a至2206n、一个或多个服务器2204和网络2208之中单独实现。
144.本公开的实施例可以包括或利用专用或通用计算机,该专用或通用计算机包括计算机硬件,诸如例如一个或多个处理器和系统存储器,如下面更详细讨论的。本公开范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。特别地,这里描述的一个或多个过程可以至少部分地实现为包含在非瞬态计算机可读介质中并且由一个或多个计算设备(例如,这里描述的任何介质内容存取设备)可执行的指令。一般而言,处理器(例如,微处理器)从非瞬态计算机可读介质(例如,存储器等)接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文描述的一个或多个过程。
145.计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制,本公开的实施例可以包括至少两种截然不同种类的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
146.非瞬态计算机可读存储介质(设备)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram)、闪存、相变存储器(“pcm”)、其他类型的存储器、其他光盘存储装
置、磁盘存储装置或其他磁存储设备,或者可以用于以计算机可执行指令或数据结构的形式存储期望程序代码装置、并且可以由通用或专用计算机访问的任何其他介质。
[0147]“网络”被定义为能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(有线、无线或有线或无线的组合)传输或提供给计算机时,计算机会将该连接恰当地视为传输介质。传输介质可以包括网络和/或数据链路,其可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置、并且可以由通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
[0148]
此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以从传输介质被自动传输到非瞬态计算机可读存储介质(设备)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓存在网络接口模块(例如,“nic”)内的ram中,然后最终被传输到计算机系统ram和/或计算机系统处的非易失性计算机存储介质(设备)。因此,应当理解,非瞬态计算机可读存储介质(设备)可以被包括在也(或甚至主要)利用传输介质的计算机系统组件中。
[0149]
计算机可执行指令包括例如指令和数据,当它们在处理器处被执行时,使通用计算机、专用计算机或专用处理设备执行特定功能或功能组。在一些实施例中,计算机可执行指令在通用计算机上执行以将通用计算机转变成实现本公开的元素的专用计算机。计算机可执行指令可以是例如二进制文件、中间格式指令(诸如汇编语言)或甚至源代码。尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中限定的主题不必然限于上述描述的特征或行为。相反,所描述的特征和动作被公开为实现权利要求的示例形式。
[0150]
本领域的技术人员将理解,本公开可以在具有多种类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实践,其中本地和远程计算机系统通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合),两者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
[0151]
本公开的实施例也可以在云计算环境中实现。在本描述中,“云计算”被定义为用于实现对可配置计算资源共享池的按需网络访问的模型。例如,可以在市场中采用云计算来提供对可配置计算资源的共享池的无处不在并且方便的按需访问。可配置计算资源的共享池可以经由虚拟化快速配置,并且以较低的管理工作量或服务提供方交互进行释放,然后进行相应的扩展。
[0152]
云计算模型可以由各种特性组成,诸如例如按需自助服务、广泛的网络访问、资源池化、快速弹性、可测量的服务等。云计算模型还可以公开各种服务模型,诸如例如软件即服务(“saas”)、平台即服务(“paas”)和基础设施即服务(“iaas”)。云计算模型也可以使用不同的部署模型进行部署,诸如私有云、社区云、公共云、混合云等。在本说明书和权利要求书中,“云计算环境”是采用云计算的环境。
[0153]
图23以框图形式图示了示例性计算设备2300,其可以被配置为执行上述过程中的
一个或多个过程。将理解,诸如计算设备2300的一个或多个计算设备可以实现图像处理系统。如图23所示,计算设备可以包括处理器2302、存储器2304、一个或多个通信接口2306、存储设备2308和一个或多个i/o设备/接口2310。在某些实施例中,计算设备2300可以包括比图23中所示的组件更少或更多的组件。现在将更详细地描述图23中所示的计算设备2300的组件。
[0154]
在特定实施例中,(多个)处理器2302包括用于执行指令的硬件,诸如构成计算机程序的那些指令。作为示例而非限制,为了执行指令,(多个)处理器2302可以从内部寄存器、内部高速缓存、存储器2304或存储设备2308取回(或获取)指令并且译码以及执行它们。在各种实施例中,(多个)处理器2302可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、现场可编程门阵列(fpga)、片上系统(soc)或者(多个)其他处理器或处理器的组合。
[0155]
计算设备2300包括耦合到(多个)处理器2302的存储器2304。存储器2304可以用于存储数据、元数据和由用于(多个)处理器执行的程序。存储器2304可以包括易失性和非易失性存储器中的一个或多个存储器,诸如随机存取存储器(“ram”)、只读存储器(“rom”)、固态盘(“ssd”)、闪存、相变存储器(“pcm”)或其他类型的数据存储装置。存储器2304可以是内部存储器或分布式存储器。
[0156]
计算设备2300还可以包括一个或多个通信接口2306。通信接口2306可以包括硬件、软件或两者。通信接口2306可以提供一个或多个接口用于计算设备与一个或多个其他计算设备2300或一个或多个网络之间的通信(诸如例如,基于分组的通信)。作为示例而非限制,通信接口2306可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或者用于与无线网络(诸如,wi-fi)进行通信的无线nic(wnic)或无线适配器。计算设备2300还可以包括总线2312。总线2312可以包括将计算设备2300的组件彼此耦合的硬件、软件或两者。
[0157]
计算设备2300包括存储设备2308包括用于存储数据或指令的存储装置。作为示例而非限制,存储设备2308可以包括上述的非瞬态存储介质。存储设备2308可以包括硬盘驱动器(hdd)、闪存、通用串行总线(usb)驱动器或这些或其他存储设备的组合。计算设备2300还包括一个或多个输入或输出(“i/o”)设备/接口2310,提供这些设备/接口以允许用户向计算设备2300(诸如用户笔划)提供输入、从其接收输出以及以其他方式向/从计算设备2300传输数据。这些i/o设备/接口2310可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的i/o设备或这样的i/o设备/接口2310的组合。可以用触笔或手指激活触摸屏。
[0158]
i/o设备/接口2310可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示器驱动器),一个或多个音频扬声器,以及一个或多个音频驱动器。在某些实施例中,i/o设备/接口2310被配置为向显示器提供图形数据以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
[0159]
在前述说明书中,已经参考其特定示例性实施例描述了实施例。参考本文讨论的细节描述了各种实施例,并且附图图示了各种实施例。上面的描述和附图是对一个或多个实施例的说明,不应被解释为限制性的。描述了许多具体细节以提供对各种实施例的透彻
理解。
[0160]
实施例可以包括其他特定形式而不背离其精神或基本特征。所描述的实施例在所有方面都被认为仅是说明性的而不是限制性的。例如,本文描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序执行。此外,本文描述的步骤/动作可以彼此平行地重复或执行,或者与相同或相似步骤/动作的不同实例平行地执行。因此,本发明的范围由所附权利要求而不是由前述描述指示。在权利要求等效的含义和范围内的所有变化都应包含在其范围内。
[0161]
在上述各种实施例中,除非另外特别指出,否则诸如短语“a、b或c中的至少一个”的区分性语言旨在被理解为表示a、b或c,或其任何组合(例如,a、b和/或c)。因此,区分性语言不旨在也不应被理解为暗示给定实施例需要a中的至少一个、b中的至少一个或c中的至少一个各自存在。
技术特征:
1.一种方法,包括:接收对要被生成的内容类型的选择;接收对数字画布中的、用以放置所述内容类型的内容的位置的选择;确定与所述数字画布中的所述位置相关联的放置上下文;基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则;以及使用一个或多个机器学习模型,使用所述一个或多个内容规则在所述数字画布中的所述位置处生成所选择的所述内容类型的内容。2.根据权利要求1所述的方法,其中所述放置上下文包括以下一项或多项:所述内容类型、所述位置附近的一个或多个内容类型、与所述位置相关联的现有层、或层z顺序。3.根据权利要求2所述的方法,其中基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则,还包括:标识与所述内容相关联的大小内容规则;以及使用所述大小内容规则,基于所述放置上下文来确定所述位置处的所述内容的默认大小。4.根据权利要求3所述的方法,还包括:基于光标位置中的改变来接收对新位置的选择;以及基于所述大小内容规则和所述新位置来确定所述内容的新默认大小。5.根据权利要求3所述的方法,还包括:接收对所述内容的大小的选择;以及基于对所述大小的所述选择来覆盖所述大小内容规则。6.根据权利要求2所述的方法,其中基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则,还包括:标识与所述内容和所述数字画布的至少一个空间相邻层相关联的对齐规则;以及确定一个或多个对齐参数以将所述内容与所述至少一个空间相邻层对齐。7.根据权利要求6所述的方法,还包括:至少基于所述数字画布的层的语义层次来标识所述至少一个空间相邻层。8.一种包括被存储在其上的指令的非瞬态计算机可读存储介质,所述指令在由至少一个处理器执行时使所述至少一个处理器:接收对要被生成的内容类型的选择;接收对数字画布中的、用以放置所述内容类型的内容的位置的选择;确定与所述数字画布中的所述位置相关联的放置上下文;基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则;以及使用一个或多个机器学习模型,使用所述一个或多个内容规则在所述数字画布中的所述位置处生成所选择的所述内容类型的内容。9.根据权利要求8所述的非瞬态计算机可读存储介质,其中所述放置上下文包括以下一项或多项:所述内容类型、所述位置附近的一个或多个内容类型、与所述位置相关联的现有层、或层z顺序。10.根据权利要求9所述的非瞬态计算机可读存储介质,其中为了基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则,所述指令在被执行时还使所述至
少一个处理器:标识与所述内容相关联的大小内容规则;以及使用所述大小内容规则,基于所述放置上下文来确定所述位置处的所述内容的默认大小。11.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述指令在被执行时,还使所述至少一个处理器:基于光标位置中的改变来接收对新位置的选择;以及基于所述大小内容规则和所述新位置来确定所述内容的新默认大小。12.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述指令在被执行时,还使所述至少一个处理器:接收对所述内容的大小的选择;以及基于对所述大小的所述选择来覆盖所述大小内容规则。13.根据权利要求9所述的非瞬态计算机可读存储介质,其中为了基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则,所述指令在被执行时还使所述至少一个处理器:标识与所述内容和所述数字画布的至少一个空间相邻层相关联的对齐规则;以及确定一个或多个对齐参数以将所述内容与所述至少一个空间相邻层对齐。14.根据权利要求13所述的非瞬态计算机可读存储介质,其中所述指令在被执行时,还使所述至少一个处理器:至少基于所述数字画布的层的语义层次来标识所述至少一个空间相邻层。15.一种图形设计系统,包括:至少一个处理器;以及存储器,包括被存储在其上的指令,所述指令在由所述至少一个处理器执行时使所述图形设计系统:接收对要被生成的内容类型的选择;接收对数字画布中的、用以放置所述内容类型的内容的位置的选择;确定与所述数字画布中的所述位置相关联的放置上下文;基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则;以及使用一个或多个机器学习模型,使用所述一个或多个内容规则在所述数字画布中的所述位置处生成所选择的所述内容类型的内容。16.根据权利要求15所述的图形设计系统,其中所述放置上下文包括以下一项或多项:所述内容类型、所述位置附近的一个或多个内容类型、与所述位置相关联的现有层、或层z顺序。17.根据权利要求16所述的图形设计系统,其中为了基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则,所述指令在被执行时还使所述图形设计系统:标识与所述内容相关联的大小内容规则;以及使用所述大小内容规则,基于所述放置上下文来确定所述位置处的所述内容的默认大小。
18.根据权利要求17所述的图形设计系统,其中所述指令在被执行时还使所述图形设计系统:基于光标位置中的改变来接收对新位置的选择;以及基于所述大小内容规则和所述新位置来确定所述内容的新默认大小。19.根据权利要求17所述的图形设计系统,其中所述指令在被执行时,还使所述图形设计系统:接收对所述内容的大小的选择;以及基于对所述大小的所述选择来覆盖所述大小内容规则。20.根据权利要求16所述的图形设计系统,其中为了基于对所述放置上下文的静态分析来标识对所述内容的一个或多个内容规则,所述指令在被执行时还使所述图形设计系统:标识与所述内容和所述数字画布的至少一个空间相邻层相关联的对齐规则;以及确定一个或多个对齐参数以将所述内容与所述至少一个空间相邻层对齐。
技术总结
本公开实施例涉及图形设计文档中的内容检查(linting)。公开了用于在图形设计系统中执行内容检查的实施例。一种内容检查的方法包括:接收对要被生成的内容类型的选择,接收对数字画布中的、用以放置内容类型的内容的位置的选择,确定与数字画布中的位置相关联的放置上下文,基于对放置上下文的静态分析来标识内容的一个或多个内容规则,以及使用一个或多个机器学习模型,使用一个或多个内容规则在数字画布中的位置处生成所选择的内容类型的内容。画布中的位置处生成所选择的内容类型的内容。画布中的位置处生成所选择的内容类型的内容。
技术研发人员:G
受保护的技术使用者:奥多比公司
技术研发日:2022.11.10
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种板环传感器生产用打磨设备的制作方法 下一篇:梯度电场结构的制作方法
