Visual data editing method and device, electronic equipment, medium and program product
By identifying operational dependencies and multimodal information input in visual data editing, nonlinear editing is achieved, which solves the problem of high editing complexity in existing technologies and improves editing efficiency and user experience.
Patent Information
- Application Number
- CN202510885776.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-10-10
AI Technical Summary
In existing visual editing technologies, the editing process is highly complex and non-linear editing is difficult to implement, resulting in low editing efficiency, which is especially unfriendly in large-scale data editing scenarios.
By acquiring visual data and operation instruction sets, identifying the dependencies between operations, supporting non-linear editing, allowing direct adjustment of specific operations and their associated operations while retaining the results of non-associated operations, using large models to parse multimodal information input, and combining tree structures to record dependencies, non-linear editing is achieved.
It improves the efficiency and flexibility of visual data editing and reduces the complexity of editing, especially in large-scale data editing scenarios, and enhances the editing experience and universality of non-professional users.
Smart Images

Figure CN120769119A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, in particular to the fields of visual editing, artificial intelligence, etc., and specifically to a method, device, electronic device, computer-readable storage medium, and computer program product for visual data editing. Background Art
[0002] With the development of artificial intelligence, technologies related to visual editing are also constantly evolving, providing users with more convenient editing methods and expanding the possibilities for editing visual materials. Continuously improving the user experience during the visual editing process is also a hot topic that the industry continues to focus on.
[0003] The approaches described in this section are not necessarily approaches that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any approach described in this section is prior art simply by virtue of its inclusion in this section. Similarly, unless otherwise indicated, the issues raised in this section should not be considered as having been recognized in any prior art. Summary of the Invention
[0004] The present disclosure provides a visual data editing method, apparatus, electronic device, computer-readable storage medium, and computer program product.
[0005] According to one aspect of the present disclosure, a method for editing visual data is provided, comprising: obtaining visual data to be edited and an operation instruction set, the operation instruction set indicating a plurality of operations for editing the visual data; executing the plurality of operations in sequence based on the operation instruction set to obtain operation results corresponding to each of the plurality of operations; in response to obtaining a request to adjust a target operation among the plurality of operations, determining associated operations that have a dependency relationship with the target operation and non-associated operations that have no dependency relationship among the plurality of operations; adjusting the target operation and the operation results corresponding to the associated operations based on the request, while retaining the operation results corresponding to the non-associated operations; and obtaining an editing result of the visual data based on the adjusted operation results.
[0006] According to another aspect of the present disclosure, a visual data editing device is provided, including: an information acquisition module, configured to acquire visual data to be edited and an operation instruction set, wherein the operation instruction set indicates multiple operations for editing the visual data; an operation execution module, configured to execute the multiple operations in sequence based on the operation instruction set to obtain operation results corresponding to each of the multiple operations; an association determination module, configured to determine, in response to a request to adjust a target operation among the multiple operations, associated operations that have a dependency relationship with the target operation and non-associated operations that do not have a dependency relationship among the multiple operations; an editing adjustment module, configured to adjust the target operation and the operation results corresponding to the associated operations based on the request, while retaining the operation results corresponding to the non-associated operations; and a result acquisition module, configured to obtain an editing result of the visual data based on the adjusted operation results.
[0007] According to another aspect of the present disclosure, an electronic device is provided, comprising at least one processor; and a memory communicatively connected to the at least one processor; the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method of the present disclosure as described above.
[0008] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, where the computer instructions are used to cause a computer to execute the method described above in the present disclosure.
[0009] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, which implements the method of the present disclosure when executed by a processor.
[0010] According to one or more embodiments of the present disclosure, non-linear editing can be implemented, thereby improving the editing efficiency of video data.
[0011] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings illustrate exemplary embodiments and constitute a part of the specification. Together with the description of the specification, they serve to explain exemplary implementation of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals designate similar, but not necessarily identical, elements.
[0013] Figure 1 A schematic diagram illustrating an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;
[0014] Figure 2 A flowchart of a method for editing visual data according to an embodiment of the present disclosure is shown;
[0015] Figure 3 A schematic diagram of obtaining an operation instruction set according to an embodiment of the present disclosure is shown;
[0016] Figure 4 A schematic diagram showing a tree structure according to an embodiment of the present disclosure is shown;
[0017] Figure 5 shows a structural block diagram of a visual data editing device according to an embodiment of the present disclosure;
[0018] Figure 6 shows a structural block diagram of a visual data editing device according to another embodiment of the present disclosure; and
[0019] Figure 7 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0020] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be appreciated by those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0021] In this disclosure, unless otherwise specified, the use of terms such as "first" and "second" to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, while in some cases, based on the context of the description, they may also refer to different instances.
[0022] The terms used in the descriptions of the various examples described in this disclosure are for the purpose of describing specific examples only and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. In addition, the term "and / or" used in this disclosure encompasses any one and all possible combinations of the listed items.
[0023] In the related art, software or applications for visual editing usually provide editing services to users in the form of a function panel, and users can implement editing by selecting or clicking various preset operations in the function panel. However, as the complexity of visual editing increases, the preset operations in the function panel and the corresponding operation processes that users need to master are also becoming more complicated, which unexpectedly increases the difficulty of visual editing and reduces its universality for general users. In addition, due to the limitations of this editing idea of preset operations, the editing process is often linear, which means that it is impossible to directly trace back to a specific operation to make local modifications. This is not friendly to large-scale data editing application scenarios such as large file volumes of visual materials or a large number of editing operations, resulting in low editing efficiency.
[0024] To this end, embodiments of the present disclosure provide a more efficient video editing method.
[0025] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0026] Figure 1 FIG2 is a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more applications.
[0027] In an embodiment of the present disclosure, the server 120 may run to enable execution of one or more services or software applications described in the embodiment of the present disclosure.
[0028] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.
[0029] exist Figure 1In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may, in turn, utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0030] The user can use the client device 101, 102, 103, 104, 105 and / or 106 to edit the visual material. The client device can provide an interface that enables the user of the client device to interact with the client device. The client device can also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure can support any number of client devices.
[0031] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux, or Linux-like operating systems (such as Google Chrome OS); or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. Client devices are capable of executing a variety of different applications, such as various internet-related applications, communication applications (such as email applications), and short message service (SMS) applications, and may use various communication protocols.
[0032] The network 110 may be any type of network known to those skilled in the art that can support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.
[0033] Server 120 may include one or more general-purpose computers, specialized server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0034] The computing units in the server 120 may run one or more operating systems including any of the operating systems described above as well as any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.
[0035] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and / or 106. Server 120 may also include one or more applications to display the data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and / or 106.
[0036] In some embodiments, server 120 may be a distributed system server or a server integrated with blockchain. Server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host equipped with artificial intelligence technology. A cloud server is a host product within the cloud computing service system that addresses the management difficulties and poor scalability of traditional physical hosts and virtual private servers (VPS) services.
[0037] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in a variety of locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different types. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
[0038] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0039] Figure 1 The system 100 may be configured and operated in various ways to enable application of the various methods and apparatuses described in accordance with the present disclosure.
[0040] Figure 2 FIG. 2 is a flowchart of a visual data editing method 200 according to an embodiment of the present disclosure.
[0041] like Figure 2 As shown, method 200 includes step S201, step S202, step S203, step S204 and step S205.
[0042] In step S201, visual data to be edited and an operation instruction set are obtained, wherein the operation instruction set indicates a plurality of operations for editing the visual data.
[0043] In an example, visual data may refer to the visual material mentioned above, which may include various basic visual elements and materials for creating or enhancing visual content. The visual material may be in the form of a file in a digital format.
[0044] In the example, an operation instruction set may be provided by a user, which may include one or more operation instructions. The operation of editing visual data may involve the process of modifying, adding or deleting the visual data. For example, a user may need to add a certain filter to the visual data, so it may correspond to the operation of adding a filter. Similarly, a user may also need to further add certain subtitles after adding a filter, so it may correspond to the operation of adding a filter and the operation of adding subtitles. An operation may correspond to one operation instruction or to multiple operation instructions. For example, when a user wants to add a filter, he may first issue an operation instruction to instruct to learn a certain filter style first, and then issue an operation instruction to instruct to apply the filter style.
[0045] In this example, a user can provide an operation instruction set on a dialog flow page. The dialog flow page is similar to a dialog input box and can be used to unidirectionally receive information provided by the user. In addition, the dialog flow page can also support interaction with the user. The dialog flow page can be linked to a large language model (hereinafter referred to as the large model) so that the large model can identify the operation the user wishes to perform by parsing the information provided by the user on the dialog flow page or by parsing the content of the interaction with the user.
[0046] In step S202, the multiple operations are executed in sequence based on the operation instruction set to obtain operation results corresponding to each of the multiple operations.
[0047] In this example, the set of operation instructions can be provided by the user all at once, or can be provided step by step during the editing process. Therefore, in the former case, all multiple operations can be completed at once; while in the latter case, one or more operation instructions can be received first, the corresponding operations can be performed, and then one or more operation instructions can be received again, and the corresponding operations can be performed again.
[0048] In step S203 , in response to obtaining a request to adjust a target operation among the multiple operations, associated operations having a dependency relationship with the target operation and non-associated operations having no dependency relationship with the target operation among the multiple operations are determined.
[0049] In the example, each operation can have specific operation parameters, such as the configuration parameters of the filter to be added. Each operation can also have input and output, where the input can refer to the context of the operation and the output can refer to the operation result corresponding to the operation. If the input of an operation depends on the output of the previous operation, then the two operations have a dependency relationship, that is, the operation depends on its previous operation (such as increasing the brightness of a certain segment after intercepting it). Conversely, if the input of an operation does not depend on the output of the previous operation, then the two operations do not have a dependency relationship (such as cropping the picture first and then increasing the brightness of the picture).
[0050] In step S204, the target operation and the operation results corresponding to the associated operation are adjusted based on the request, while the operation results corresponding to the non-associated operation are retained.
[0051] In the example, there is often such an application scenario in actual applications, that is, the user may find that a certain operation does not meet expectations during the editing process, and therefore hopes to adjust the operation to perform local modifications through instruction backtracking. However, the traditional method may not be able to achieve the user's above intention because it only supports linear editing. For example, suppose that increasing brightness, adding filters, and adding screen borders are performed in sequence. If the user wants to adjust the operation of increasing brightness at this time, then according to the traditional linear editing method, the two operations of adding screen borders and adding filters need to be undone in sequence before the operation of increasing brightness can be re-executed. However, the method of the embodiment of the present disclosure supports non-linear editing, and the operation of increasing brightness can be directly adjusted without undoing the two operations of adding screen borders and adding filters. In addition, since the operation of adding filters depends on the previous operation of increasing brightness, and the operation of adding screen borders has no dependency on the operation of increasing brightness, the operation of adding filters can also be adjusted at the same time without adjusting the operation of adding screen borders.
[0052] In step S205 , based on the adjusted operation result, an editing result of the visual data is obtained.
[0053] Therefore, the embodiments of the present disclosure can provide a more effective nonlinear visual data editing method. In this method, since the dependencies between multiple operations executed based on the operation instruction set can be determined, when only a specific operation among the multiple operations is desired to be adjusted, the specific operation and the associated operations with which it has a dependency relationship can be directly traced back and the results of these operations can be directly modified, thereby achieving nonlinear visual data editing, which can more effectively cope with large-scale data editing application scenarios and improve the efficiency of visual data editing.
[0054] In the technical solutions disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0055] In some embodiments, the operation instruction set may include multiple operation instructions, at least one operation instruction among the multiple operation instructions corresponds to one operation among the above-mentioned multiple operations, and each operation instruction may include information of at least one modality.
[0056] In the example, as described above, the user can provide an operation instruction set on the dialog flow page, which can facilitate supporting information input in different modes. For example, the user can input the operation instruction in a multi-modal manner such as text, voice, etc.
[0057] In the example, the operation intended by the user may be to require the visual editing software or application to first learn the filter style of a visual data, and then apply the learned filter style to another visual data, that is, the operation intended by the user is to add a filter. However, this operation involves two operation instructions, one is to learn the filter style, and the other is to apply the filter style. Therefore, this operation corresponds to more than one operation instruction. At the same time, since the first operation instruction can include the visual data uploaded by the user for filter style learning, and the text content entered by the user to instruct learning, the operation instruction can correspond to more than one modal information.
[0058] In this example, the user-provided information in different modalities can be parsed by the large model into a structured sequence of operations to clarify the user's intended actions. In other words, this structured sequence of operations can serve as an instruction set. Furthermore, information from different modalities can be fused using an attention mechanism to more accurately understand user intent.
[0059] Therefore, supporting multimodal information input at the granularity of operation instructions can help accurately understand user intent and help determine the editing operation the user desires, thereby improving editing effectiveness. Furthermore, since operations and operation instructions do not require a one-to-one correspondence, the semantics of operation instructions serving the same operation can be enriched, thereby improving the comprehensiveness of the operation itself and facilitating the implementation of more complex editing logic.
[0060] In some embodiments, the information of the at least one modality may include image information, which carries annotation information for explaining the corresponding operation.
[0061] In the example, such application scenarios often exist in actual applications, such as the user wants to modify a specific area in a certain picture, or modify another picture based on the content or characteristics of the specific area, etc. However, the traditional idea of relying on function panels to provide editing services cannot cope with this application scenario very well. The method of the embodiment of the present disclosure can support users to provide pictures with annotations, such as circling a specific area in the picture, which is conducive to explaining the corresponding operations. For example, suppose a user wants to add a person to a specific area in a picture, and the person comes from the circled area in another picture. The user can upload this picture with the person circled and the picture to be edited with the circled editing area, and instruct to add the circled person in the former to the circled area in the picture to be edited.
[0062] Therefore, by allowing users to provide annotated images, we can further expand the ways and means for users to provide instructions, helping to clarify the user's desired operation. At the same time, this instruction provision method also provides a foundation for the implementation of more complex editing logic.
[0063] In some embodiments, as combined Figure 2 Acquiring the operation instruction set in step S201 may include: guiding the user to provide operation instructions for explaining the corresponding operation through interaction.
[0064] In this example, a user may provide an original set of operation instructions containing multiple operation instructions, but when parsing the original set of operation instructions, the large model finds that it cannot clearly confirm the operations corresponding to the multiple operation instructions. In this case, the user can be guided to provide further operation instructions by interacting with the user in the dialogue flow page. When the further operation instructions can confirm the above-mentioned multiple operations, the further operation instructions can be added to the corresponding position in the original set of operation instructions, thereby generating the final set of operation instructions.
[0065] This approach allows for a clearer understanding of the user's editing intent, reducing misunderstandings and errors caused by ambiguous or inaccurate instructions. It also provides an intuitive and user-friendly editing experience, lowering the barrier to entry for visual editing professionals and enabling non-professional users to perform complex creations.
[0066] Figure 3 A schematic diagram of obtaining an operation instruction set according to an embodiment of the present disclosure is shown.
[0067] like Figure 3As shown, the user provides an operation instruction set 300, which includes a first operation instruction 301, a second operation instruction 302, a third operation instruction 303, a fourth operation instruction 304, and a fifth operation instruction 305. By parsing this operation instruction set 300, the large model discovers that the first operation instruction 301 and the second operation instruction 302 are used together to perform the first operation 310, the third operation instruction 303 may be used to perform the second operation 320, and the fourth operation instruction 304 and the fifth operation instruction 305 are used together to perform the third operation 330. In other words, at this point, the large model cannot clearly confirm whether the third operation instruction 303 is indeed used for the second operation 320, or whether the second operation 320 only requires the execution of the third operation instruction 303. In this case, the user can be guided to provide further operation instructions by interacting with the user in the dialog flow page. For example, the user can be asked questions on the dialogue flow page. Assuming that the user further provides a sixth operation instruction 306 during the interaction process, so that the large model can confirm the corresponding second operation 320 based on the third operation instruction 303 and the sixth operation instruction 306, the sixth operation instruction 306 can be added to the operation instruction set 300, and it is used together with the third operation instruction 303 to perform the second operation 320.
[0068] In some embodiments, as combined Figure 2 The method 200 may further include recording the dependency relationship between multiple operations in a predetermined tree structure, wherein the nodes of two operations with a dependency relationship constitute a parent node and a child node, so that the operation result of the operation corresponding to the parent node serves as the context of the operation corresponding to the child node.
[0069] The step of recording the dependency relationship in the predetermined tree structure may be performed in conjunction with Figure 2 The step S202 is then executed. Figure 4 It is further described that the dependency relationship between multiple operations is recorded in the tree structure.
[0070] Figure 4 A schematic diagram of a tree structure 400 according to an embodiment of the present disclosure is shown.
[0071] like Figure 4 As shown, in tree structure 400, root node 401 can correspond to the visual data itself. During the execution of multiple operations, tree structure 400 is used to represent the dependencies between operations to accurately record these dependencies. In other words, recording dependencies in tree structure 400 means determining the correct node position within tree structure 400 so that the dependencies can be recorded at the corresponding locations.
[0072] The operation corresponding to the root node 401 can be regarded as empty, that is, no operation. When the root node 401 is used as the parent node, the first operation 410 performed on the visual data can correspond to the child node of the parent node, that is, the first node 402. Similarly, when the first node 402 is used as the parent node, the second operation 420 that continues the operation result of the first operation 410 (that is, the second operation 420 depends on the first operation 410) can correspond to the child node of the parent node, that is, the second node 403. Since the context (that is, the input) of the second operation 420 is the operation result of the first operation 410, the second operation 420 depends on the first operation 410, and the two have a dependency relationship, and then the nodes of the two constitute the parent node and the child node in the tree structure 400. In other words, if the second operation 420 depends on the first operation 410, it needs to be recorded in the tree structure 400 according to the above-mentioned branch structure to accurately reflect the dependency relationship between the two.
[0073] By analogy, the operation corresponding to the third node 404 in the same hierarchy as the first node 402 can be considered empty, i.e., no operation. Thus, although the root node 401 and the third node 404 also have a parent-child relationship in the tree structure 400, because the operation corresponding to the third node 404 is empty, the branch between the parent and child nodes does not indicate any dependency relationship.
[0074] In this way, the dependencies between operations can be recorded synchronously with the execution of the operations, and such dependencies can be integrated into the structural characteristics of the tree structure itself for representation, thereby making it easy to manage the operation history and thus helping to support non-linear editing methods.
[0075] In some embodiments, the nodes of two operations that have no dependency relationship can be located on different branches in a tree structure, and the node of the earlier operation of the two operations has a parallel node that shares the same parent node at the same level, so that the parallel node and the node of the later operation of the two operations constitute a parent node and a child node, and the parallel node indicates that the operation is empty.
[0076] Still refer to Figure 4 As shown, in the tree structure 400, the nodes starting from the first node 402 corresponding to the first operation 410 can have a parallel node sharing the same parent node in the same level, and the parallel node indicates that the operation is empty. For example, for the first node 402, the third node 404 is its parallel node. Similarly, the parallel node of the second node 403 sharing the same parent node 402 in the same level is the fourth node 405.
[0077] Similar to the second node 403, the fifth node 406 also corresponds to the second operation 420, the only difference being that the fifth node 406 branches out from the third node 404 whose operation is null, while the second node 403 branches out from the first node 402 corresponding to the first operation 410. Similarly, the parallel node of the fifth node 406 sharing the same parent node 404 in the same level is the sixth node 407. Figure 4 Observe the first node 402 corresponding to the first operation 410 and the fifth node 406 corresponding to the second operation 420. The fifth node 406 and the parallel node of the first node 402, namely the third node 404, form a parent node and a child node. Therefore, if the second operation 420 does not depend on the first operation 410, it needs to be recorded in the tree structure 400 according to the above branch structure to accurately reflect that the two have no dependency relationship.
[0078] Since the non-linear editing method provided by the method of the embodiment of the present disclosure can support not adjusting the operation results of unexpected operations, accurately recording operations that have no dependencies in the tree structure can help to accurately divide those operations that do not need to be adjusted, thereby realizing non-linear editing.
[0079] It is understood that for illustrative purposes, Figure 4 Only two operations are used as examples for illustration, but the scope of the embodiments of the present disclosure is not limited thereto.
[0080] In some embodiments, as combined Figure 2 The step S203 of determining the associated operations that have a dependency relationship with the target operation and the non-associated operations that do not have a dependency relationship among multiple operations may include: in response to determining that the node of the target operation has a child node, determining the operation corresponding to the child node as an associated operation; and in response to determining that the parallel node of the node of the target operation has a child node, determining the operation corresponding to the child node as a non-associated operation.
[0081] Still Figure 4 Taking the example shown, assuming that in one scenario two operations (taking the first operation as the target operation as an example) are respectively recorded at the positions of the first node 402 and the second node 403, then it meets the first situation mentioned above, and the two operations are associated operations with a dependency relationship; and if in another scenario two operations (still taking the first operation as the target operation as an example) are respectively recorded at the positions of the first node 402 and the fifth node 406, then it meets the second situation mentioned above, and the two operations are non-associated operations without a dependency relationship.
[0082] Therefore, according to the path and branch recorded in the tree structure, whether there is a dependency relationship between each operation can be characterized in preparation, so that it can be determined from the record that each operation and the target operation are associated operations or non-associated operations, and then the non-linear editing is accurately implemented.
[0083] In some embodiments, the visual data can include at least one of an image, a video, or an animation.
[0084] In an example, as mentioned before, the visual data in the embodiments of the present disclosure can be visual material to be edited, which can be original or processed. The image can include a picture, an illustration, an icon, a vector image, etc. The video can include a short film, a dynamic image, etc. The animation can include a two-dimensional or three-dimensional animation sequence, etc.
[0085] In actual application scenarios, the demand of users for editing visual data such as images, videos, or animations is high, especially in common scenarios such as video creation, film post-production, etc. The method of the embodiments of the present disclosure is particularly beneficial to these high-demand scenarios, which can greatly reduce the complexity of editing operations, reduce the operation threshold of non-professional users, and improve the universality of the method.
[0086] In some embodiments, the method of the embodiments of the present disclosure can be executed in at least one of a cloud device or an edge device. For example, high-load tasks can be set to be executed in a cloud device, while providing real-time preview on an edge device. Taking the deployment of a matting model as an example, the matting model can be deployed on both the cloud device and the edge device, but in practice it can be dynamically adjusted, for example, through a bandwidth adaptive algorithm to determine the task allocation of the cloud device and the edge device. A lightweight rendering agent can be used on the edge device to dynamically allocate computing resources.
[0087] In some embodiments, the method of the embodiments of the present disclosure can also be combined with the use of a function panel. The user can still use the function panel for manual editing when needed until the desired editing result is obtained.
[0088] In some embodiments, the conversation flow page in the actual application scenario can be a specific input box dedicated to editing, which can support selecting pictures, videos, voices, etc. The user can input editing instructions according to the above forms through the input box. The large model can parse and recognize the information provided by the user in the conversation box and understand the information as corresponding editing instructions. Then, the corresponding editing result can be generated according to the corresponding instructions. The user can be prompted to choose manual editing or direct publishing on the display of the editing result. If the user is not satisfied with the editing result, the user can continue to input through the conversation box to indicate the content to be modified and modify it until the expected editing result is obtained.
[0089] An embodiment of the present disclosure also provides a visual data editing device.
[0090] Figure 5 FIG. 5 shows a structural block diagram of a visual data editing apparatus 500 according to an embodiment of the present disclosure.
[0091] like Figure 5 As shown, the apparatus 500 includes an information acquisition module 501 , an operation execution module 502 , an association determination module 503 , an editing and adjustment module 504 and a result acquisition module 505 .
[0092] The information acquisition module 501 is configured to acquire visual data to be edited and an operation instruction set, where the operation instruction set indicates a plurality of operations for editing the visual data.
[0093] The operation execution module 502 is configured to execute multiple operations in sequence based on the operation instruction set to obtain operation results corresponding to each of the multiple operations.
[0094] The association determination module 503 is configured to, in response to obtaining a request to adjust a target operation among multiple operations, determine associated operations having a dependency relationship with the target operation and non-associated operations having no dependency relationship among the multiple operations.
[0095] The editing and adjusting module 504 is configured to adjust the target operation and the operation results corresponding to the associated operation based on the request, while retaining the operation results corresponding to the non-associated operation.
[0096] The result acquisition module 505 is configured to obtain the editing result of the visual data based on the adjusted operation result.
[0097] The information acquisition module 501, the operation execution module 502, the association determination module 503, the editing and adjustment module 504 and the result acquisition module 505 may correspond to the following respectively: Figure 2 The operations of steps S201, S202, S203, S204 and S205 are shown in FIG. Therefore, details of each aspect thereof will not be repeated here.
[0098] Figure 6 FIG. 6 shows a structural block diagram of a visual data editing apparatus 600 according to another embodiment of the present disclosure.
[0099] like Figure 6 As shown, the apparatus 600 may include an information acquisition module 601, an operation execution module 602, an association determination module 603, an edit adjustment module 604, and a result acquisition module 605. The operations of these modules may be similar to those described above. Figure 5 The operations of the acquisition module 501 , the operation execution module 502 , the association determination module 503 , the editing and adjustment module 504 and the result acquisition module 505 are the same.
[0100] In some embodiments, the information acquisition module 601 may include an interactive guidance module 6011 configured to interactively guide the user to provide operation instructions for explaining corresponding operations.
[0101] In some embodiments, the device 600 may further include a relationship recording module 606, which is configured to record the dependency relationship between multiple operations in a predetermined tree structure. The nodes of the two operations with a dependency relationship constitute a parent node and a child node, so that the operation result of the operation corresponding to the parent node serves as the context of the operation corresponding to the child node. The nodes of the two operations without a dependency relationship are located in different branches in the tree structure, and the node of the first operation of the two operations has a parallel node that shares the same parent node at the same level, so that the parallel node and the node of the second operation of the two operations constitute a parent node and a child node, and the parallel node indicates that the operation is empty.
[0102] In some embodiments, the association determination module 603 may include: an association operation determination module 6031, which is configured to determine the operation corresponding to the child node as an association operation in response to determining that the node of the target operation has a child node; and a non-association operation determination module 6032, which is configured to determine the operation corresponding to the child node as a non-association operation in response to determining that the parallel node of the node of the target operation has a child node.
[0103] According to an embodiment of the present disclosure, an electronic device is also provided, comprising at least one processor; and a memory communicatively connected to the at least one processor, wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described above.
[0104] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable a computer to execute the method described above.
[0105] According to an embodiment of the present disclosure, a computer program product is further provided, including a computer program, wherein the computer program implements the method described above when executed by a processor.
[0106] refer to Figure 7, a block diagram of an electronic device 700 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0107] like Figure 7 As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. Various programs and data required for the operation of the electronic device 700 can also be stored in the RAM 703. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0108] Multiple components within electronic device 700 are connected to I / O interface 705, including an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. Input unit 706 can be any type of device capable of inputting information into electronic device 700. Input unit 706 can receive input numeric or character information and generate key signal input related to user settings and / or function control of the electronic device. It can include, but is not limited to, a mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 707 can be any type of device capable of presenting information, and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. Storage unit 708 can include, but is not limited to, a magnetic disk or an optical disk. Communication unit 709 allows electronic device 700 to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunication networks. It can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0109] The computing unit 701 can be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above. For example, in some embodiments, the method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the method described above can be performed. Alternatively, in other embodiments, the computing unit 701 can be configured to perform the method in any other appropriate manner (e.g., by means of firmware).
[0110] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0111] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0112] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0113] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0114] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.
[0115] The computer system can include clients and servers. This relationship can be remote or on-site. The servers can be cloud servers, servers of a distributed system, or servers combined with a blockchain.
[0116] It should be understood that the various forms of flow shown above can be used to reorder, add, or remove steps. For example, the steps described in the present disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, which are not limited herein.
[0117] Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-described methods, systems, and devices are merely exemplary embodiments or examples, and the scope of the present disclosure is not limited by these embodiments or examples, but is only limited by the granted claims and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples can be combined in various ways. It is important that many of the elements described herein can be replaced by equivalent elements that appear after the present disclosure as technology evolves.
Claims
1. A method for editing visual data, comprising: Acquire visual data to be edited and an operation instruction set, wherein the operation instruction set indicates a plurality of operations for editing the visual data; Executing the plurality of operations in sequence based on the operation instruction set to obtain operation results corresponding to the plurality of operations; In response to obtaining a request to adjust a target operation among the multiple operations, determining associated operations having a dependency relationship with the target operation and non-associated operations having no dependency relationship with the target operation among the multiple operations; adjusting the target operation and the operation result corresponding to the associated operation based on the request, while retaining the operation result corresponding to the non-associated operation; as well as Based on the adjusted operation result, an editing result of the visual data is obtained.
2. The method according to claim 1, wherein The operation instruction set includes multiple operation instructions, at least one operation instruction among the multiple operation instructions corresponds to one operation among the multiple operations, and each operation instruction includes information of at least one modality.
3. The method according to claim 2, wherein: The information of the at least one modality includes image information, and the image information carries annotation information for explaining the corresponding operation.
4. The method according to claim 2 or 3, wherein: The acquisition operation instruction set includes: The user is guided to provide the operation instruction for explaining the corresponding operation through interaction.
5. The method according to any one of claims 1 to 4, wherein The method further comprises: The dependency relationship between the multiple operations is recorded in a predetermined tree structure, wherein the nodes of two operations with a dependency relationship constitute a parent node and a child node, so that the operation result of the operation corresponding to the parent node serves as the context of the operation corresponding to the child node.
6. The method according to claim 5, wherein: The nodes of two operations that have no dependency relationship are located in different branches in the tree structure, and the node of the earlier operation of the two operations has a parallel node that shares the same parent node at the same level, so that the parallel node and the node of the later operation of the two operations constitute a parent node and a child node, and the parallel node indicates that the operation is empty.
7. The method according to claim 6, wherein: The determining, among the multiple operations, associated operations that have a dependency relationship with the target operation and non-associated operations that have no dependency relationship with the target operation includes: In response to determining that the node of the target operation has a child node, determining the operation corresponding to the child node as the associated operation; and In response to determining that a parallel node of the node of the target operation has a child node, the operation corresponding to the child node is determined as the non-association operation.
8. The method according to any one of claims 1 to 7, wherein The visual data includes at least one of an image, a video, or an animation.
9. A visual data editing device comprising: an information acquisition module configured to acquire visual data to be edited and an operation instruction set, wherein the operation instruction set indicates a plurality of operations for editing the visual data; an operation execution module, configured to execute the plurality of operations in sequence based on the operation instruction set to obtain operation results corresponding to the plurality of operations; an association determination module configured to, in response to obtaining a request to adjust a target operation among the multiple operations, determine associated operations having a dependency relationship with the target operation and non-associated operations having no dependency relationship with the target operation among the multiple operations; an editing and adjusting module, configured to adjust the target operation and the operation result corresponding to the associated operation based on the request, while retaining the operation result corresponding to the non-associated operation; as well as The result acquisition module is configured to obtain the editing result of the visual data based on the adjusted operation result.
10. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.
11. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to enable a computer to execute the method according to any one of claims 1-8.
12. A computer program product comprising a computer program, wherein The computer program implements the method according to any one of claims 1 to 8 when executed by a processor.
Citation Information
Patent Citations
Editing operation processing method and device and electronic equipment
CN110389796A
Method for editing image information with aid of computer and editing system
EP0843311A2
Non-linear video editing system
US20010036356A1
Nonlinear video editing system
WO1999046934A1
