Special effect rendering method and device and electronic equipment

By reusing rendered special effects nodes in the live stream and combining them with new special effects nodes to render images, the problem of excessive resource consumption and frame rate drop caused by special effects switching in online live streaming is solved, achieving a more stable live streaming effect.

CN121665053APending Publication Date: 2026-03-13BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-11
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

During live streaming, frequent switching of special effects leads to excessive consumption of device resources and a drop in frame rate.

Method used

By reusing the rendered special effects nodes in the live stream and combining them with new special effects nodes to render the image, a second live stream is generated, reducing redundant data processing.

Benefits of technology

It reduced the resource consumption for generating a second live stream, stabilized the live stream frame rate, and reduced frame rate drops caused by effect switching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121665053A_ABST
    Figure CN121665053A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a special effect rendering method and device and electronic equipment, and the method comprises the steps: displaying a live broadcast interface, and displaying a first live broadcast image of a sharing user in the live broadcast interface; the first live broadcast picture is obtained by applying a first special effect to a collected first video source image, and the first special effect comprises one or more first special effect rendering nodes; in response to a received request associated with a second special effect, determining a target special effect rendering node shared by the first special effect and the second special effect; obtaining a first picture of the first video source image after passing through the target special effect rendering node; using a second special effect rendering node different from the target special effect rendering node in the second special effect to render the first picture to obtain a second live broadcast picture; the first live broadcast picture corresponding to the first video source image is displayed in the live broadcast interface, the second live broadcast picture is displayed in a window, and the live broadcast interface comprises the window.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a special effects rendering method, apparatus, and electronic device. Background Technology

[0002] With the development of internet technology, users can now conduct live streaming through online platforms. In live streaming, the broadcaster's terminal device transmits multimedia content in real time to the viewer's terminal device via the network. Viewers can browse the live content shared by the broadcaster's terminal device and interact with the broadcaster through their own terminal devices. Summary of the Invention

[0003] This disclosure provides a special effects rendering method, apparatus, and electronic device.

[0004] In a first aspect, embodiments of this disclosure provide a special effects rendering method, comprising: displaying a live streaming interface, wherein the live streaming interface displays a first live streaming frame shared by a user; the first live streaming frame is obtained by applying a first special effect to a captured first video source image, the first special effect including one or more first special effect rendering nodes; in response to receiving a request associated with a second special effect, determining a target special effect rendering node shared by the first special effect and the second special effect; acquiring a first frame of the first video source image after passing through the target special effect rendering node; rendering the first frame using a second special effect rendering node that is different from the target special effect rendering node to obtain a second live streaming frame; displaying the first live streaming frame corresponding to the first video source image in the live streaming interface, and displaying the second live streaming frame in a window, wherein the live streaming interface includes the window.

[0005] Secondly, embodiments of this disclosure provide a special effects rendering apparatus, comprising: a first display unit for displaying a live streaming interface, wherein the live streaming interface displays a first live streaming image shared by a user; the first live streaming image is obtained by applying a first special effect to a captured first video source image, the first special effect including one or more first special effect rendering nodes; a determining unit for determining a target special effect rendering node shared by the first special effect and the second special effect in response to receiving a request associated with a second special effect; a first rendering unit for acquiring a first image after the first video source image passes through the target special effect rendering node; a second rendering unit for rendering the first image using a second special effect rendering node in the second special effect that is different from the target special effect rendering node, to obtain a second live streaming image; and a second display unit for displaying the first live streaming image corresponding to the first video source image in the live streaming interface, and displaying the second live streaming image in a window, wherein the live streaming interface includes the window.

[0006] Thirdly, embodiments of this disclosure provide an electronic device, including: a processor and a memory;

[0007] The memory stores computer-executed instructions;

[0008] The processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the method described in the first aspect above and various possible designs of the first aspect.

[0009] Fourthly, embodiments of this disclosure provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the methods described in the first aspect and various possible designs of the first aspect.

[0010] Fifthly, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect above and various possible designs of the first aspect.

[0011] The special effects rendering method, apparatus, and electronic device provided in this embodiment, by displaying a live streaming interface, displays a first live streaming screen of a sharing user; the first live streaming screen is obtained by applying a first special effect to a captured first video source image, the first special effect including one or more first special effect rendering nodes; in response to receiving a request associated with a second special effect, a target special effect rendering node shared by the first special effect and the second special effect is determined; a first screen of the first video source image after passing through the target special effect rendering node is obtained; the first screen is rendered using a second special effect rendering node in the second special effect that is different from the target special effect rendering node to obtain a second live streaming screen; the first live streaming screen corresponding to the first video source image is displayed in the live streaming interface, and the second live streaming screen is displayed in a window, the live streaming interface including the window, thereby reusing the first screen output by the target special effect rendering node among multiple first special effect rendering nodes of the first special effect to generate the second live streaming screen during the process of applying the first special effect to the first video source image to obtain the first live streaming screen and applying the second special effect to the first video source image to obtain the second live streaming screen. Compared to using multiple first-effect rendering nodes with a first effect to apply to a first video source image to obtain a first live stream image, and using multiple second-effect rendering nodes with a second effect to apply to a first video source image to obtain a second live stream image, the solution provided in this embodiment eliminates the rendering process of the target rendering node on the first video source image when generating the second live stream image. Therefore, it reduces the amount of data processing required to generate the second live stream image, which can reduce the resource consumption required to generate the first and second live stream images. This is beneficial to improving the problem of frame rate drop caused by responding to requests related to other effects during the live stream. Attached Figure Description

[0012] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0013] Figure 1 This is a schematic diagram of an application scenario;

[0014] Figure 2 Flowchart of the special effects rendering method provided in the embodiments of this disclosure Figure 1 ;

[0015] Figure 3 Flowchart of the special effects rendering method provided in the embodiments of this disclosure Figure 2 ;

[0016] Figure 4 Flowchart of the special effects rendering method provided in the embodiments of this disclosure Figure 3 ;

[0017] Figure 5 This is a schematic diagram of the structure of the special effects rendering device provided in the embodiments of this disclosure;

[0018] Figure 6 This is a schematic diagram of the electronic device structure provided in an embodiment of this disclosure. Detailed Implementation

[0019] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0020] To enhance the visual appeal and enrich the content of a live stream, broadcasters can add special effects. Typically, broadcasters can test special effects before applying them to the live multimedia feed.

[0021] like Figure 1 As shown, Figure 1 This is a diagram illustrating an application scenario. For example... Figure 1As shown, the terminal device used by the user (which can be the broadcaster) can display a live streaming interface 101, which can display a live video stream. A list of special effects 102 can be displayed on the live streaming interface. The special effects list 102 can include multiple candidate special effects items (referred to as effects) for the user to choose from. For example, the list can include Effect 1, Effect 2, Effect 3, and Effect 4. During the live stream, the user can select one effect (e.g., Effect 1) from the effect selection list 102 to try it out.

[0022] When trying out the special effects, the client can display a window in addition to the live stream interface. The live stream interface can display the live stream image pushed to the audience, and window 103 can display the effect of applying special effect 1 to the live stream image.

[0023] As one implementation method, in the above process, the rendering of the live broadcast screen in the live broadcast interface and the effect display image in the window are rendered separately.

[0024] In some application scenarios, the live stream interface may include effects already applied to the live stream. These effects may contain the same rendering nodes as the trial effects. The above implementation renders the live stream and the trial effects separately. Because live streaming requires continuously applying effects to and transmitting images from different frames, it consumes significant device resources. Simultaneously rendering the effect display further exacerbates resource consumption, potentially reducing the live stream's frame rate when resource consumption is severe.

[0025] The special effects rendering method, apparatus, and electronic equipment disclosed herein can reduce redundant data processing when rendering the live broadcast image and the effect display image of the trial special effects by reusing the image after the rendering node rendered in the live broadcast and performing trial special effects rendering node rendering on the basis of the reused image. This reduces the total resource consumption of the trial special effects during the live broadcast and helps to stabilize the frame rate of the live broadcast.

[0026] Please refer to Figure 2 , Figure 1 A flowchart illustrating the special effects rendering method provided in this disclosure. Figure 1 ,like Figure 1 As shown, the method includes the following steps:

[0027] S201: Display the live streaming interface, which shows the first live stream screen of the sharing user; the first live stream screen is obtained by applying a first special effect to the first video source image captured, and the first special effect includes one or more first special effect rendering nodes.

[0028] In this embodiment, the execution entity of the special effects rendering method can be a terminal device, such as the terminal device of the sharing user (e.g., a live streamer). The terminal device can be equipped with a video capture device to capture a first video source. This first video source can, for example, include multiple frames of video images captured by a camera, including images of the sharing user. The terminal device can process the captured multiple frames of video images from the first video source to generate a live video stream. Processing the multiple frames of video images from the first video source can include applying a first special effect to the multiple frames of video images from the first video source. This first special effect can be a special effect pre-selected by the sharing user and applied to the live video stream, or it can be a built-in special effect configured for the live video stream by a live streaming client running on the terminal device.

[0029] The first effect can include one or more first effect rendering nodes. These first effect rendering nodes can include, for example, filters, beauty effects, makeup effects, stickers, etc. The rendering order of each effect rendering node in the effect can be determined according to a preset effect rendering order rule. The same rendering order rule applies to the same effect rendering nodes in different effects.

[0030] In the preset special effects rendering order rules, for example, the rendering order of filters is the first order, beauty effects is the second order, makeup effects is the third order, and stickers is the fourth order, etc. Illustratively, if an effect includes filter, beauty, makeup, and sticker rendering nodes, the order in which these nodes are applied to the video image is: filter, beauty, makeup, sticker. If an effect does not have a first-order rendering node, the second-order rendering node can be used as the priority rendering node for that effect, and so on. For example, if an effect includes beauty, makeup, and sticker rendering nodes, the order in which these nodes are applied to the video image is: beauty, makeup, sticker.

[0031] For each frame of the aforementioned first video source, that frame can be rendered through multiple rendering nodes corresponding to the first special effect. The aforementioned first live broadcast displays multiple frames of the first video source after the first special effect has been applied.

[0032] S202: In response to receiving a request associated with the second effect, determine the target effect rendering node shared by the first and second effects.

[0033] During the live stream, the sharing user can change to a second special effect. This second effect can be any effect other than the first one. The sharing user's terminal device's live stream interface can display a list of effects, and the sharing user can select an effect from the list as the second effect and initiate a trial request for the second effect.

[0034] The requests associated with the second effect may include, for example, one of the following: a trial request, a usage request, a parameter adjustment request, etc. These requests associated with the second effect enable the application of the second effect to the first video source image.

[0035] In some application scenarios, the above-mentioned requests associated with the second special effect are trial requests. In order to ensure that the replaced special effect can be displayed well, the special effect to be replaced can be tried on the local side first. That is, the trial effect of the special effect is shown to the sharing user in the above-mentioned execution entity.

[0036] In some application scenarios, the aforementioned request associated with the second effect can be a usage request. In these scenarios, the sharing user can apply both the first and second effects to the first video source image simultaneously.

[0037] In some application scenarios, the aforementioned request associated with the second effect can be a parameter adjustment request. During the process of applying the first effect to the first video source, the second effect can be selected for the first video source image and the parameters of the second effect can be adjusted.

[0038] Because the user's terminal device needs to continuously capture video images for an extended period and process them to obtain the live stream, the amount of data that the user's terminal device needs to process in real time is large, consuming significant terminal device resources. To reduce the further increase in resource consumption caused by requests associated with the second special effect, a target special effect rendering node shared by the first and second special effects can be identified.

[0039] Specifically, the first rendering node of the first effect can be compared with the first rendering node of the second effect. If they are the same, then the first rendering node is a target effect rendering node. After the first rendering node of the first effect and the first rendering node of the second effect are the same, the second rendering node of the first effect can be compared with the second rendering node of the second effect. If they are the same, then the second rendering node is a target effect rendering node. And so on, at least one target effect rendering node of the first effect and the second effect can be obtained.

[0040] S203: Obtain the first frame of the first video source image after passing through the target effect rendering node.

[0041] The first video image can be the current frame video source image captured by the image acquisition device.

[0042] Since the first special effect has not been replaced, the aforementioned implementing entity still needs to apply the first special effect to the first video source image.

[0043] When applying the first effect to the first video source image, one or more first effect rendering nodes in the first effect need to be applied to the first video source image in their respective rendering order.

[0044] Taking the first special effect A, which includes filter, beauty mode, and makeup rendering nodes, as an example, among these first special effect rendering nodes, the rendering order of filter is higher than that of beauty mode, which is higher than that of makeup, and makeup is higher than that of stickers. Correspondingly, the order in which each first special effect rendering node is applied to the first video source image is as follows: filter, beauty mode, makeup.

[0045] Specifically, when applying the first special effect A to the first video source image, the first video source image can be input to a filter rendering node. The filter rendering node uses its filter resources and corresponding parameters to apply to multiple pixels of the first video source image, resulting in a second video source image with the filter indicated by the filter rendering node. Then, the second video source image is used as input to a beautification rendering node. In the beautification rendering node, its beautification resources and parameters are applied to multiple pixels of the second video source image, resulting in a third video source image with the beautification indicated by the beautification node. The third video source image is then used as input to a makeup rendering node. In the makeup rendering node, its makeup resources and parameters are applied to the third video source image to obtain the live stream.

[0046] During the process of rendering the first video source image using one or more first effect rendering nodes of the first effect, the image obtained after the target effect rendering node in one or more first effect rendering nodes can be used as the first screen. Taking the first effect A above as an example, if the target effect rendering node is a filter, then the second video source image is the first screen. If the target effect rendering node includes filters and makeup, then the third video source image is used as the first screen.

[0047] S204: Use a second effect rendering node that is different from the target effect rendering node to render the first screen and obtain the second live screen.

[0048] The second effect can include multiple second effect rendering nodes, and the multiple second effect rendering nodes can include the target effect rendering node.

[0049] Since the second special effect includes the same target effect rendering node as the first special effect, and these nodes perform the same special effect rendering processing on the first video source image data, the image data obtained after the target effect rendering node in the first special effect applies to the first video source image data is the same as the image data obtained after the target effect rendering node in the second special effect applies to the first video source image data. To reduce resource consumption from performing the same processing on the same image data, the first frame output by the target effect rendering node in the first special effect can be copied, and then the first frame can be rendered using a second effect rendering node that is different from the target effect rendering node in the second special effect, thus obtaining the second live stream frame.

[0050] S205: Display the first live stream image corresponding to the first video source image in the live stream interface, and display the second live stream image in a window. The live stream interface includes a window.

[0051] The live streaming interface on the user's terminal device screen displays the first live stream screen and window, and the second live stream screen can be displayed in the window.

[0052] In some applications, the size of the aforementioned window is smaller than the size of the first live stream screen. In other applications, the aforementioned window can cover part of the first live stream screen.

[0053] In this embodiment, when sharing a user's live stream of a video source with the first effect applied, if a request associated with the second effect is received, the target effect rendering node shared by the first and second effects is determined. During the process of rendering the first video source image with the first effect to obtain the first live stream image, the first image output after the first video source image passes through the target effect rendering node is copied. The first image is then rendered using a second effect rendering node that is different from the target effect node to obtain the second live stream image. The first live stream image and the window are displayed in the live stream interface, and the second live stream image is displayed in the window. Thus, in the process of applying the first effect to the first video source image to obtain the first live stream image and responding to the request associated with the second effect, the first image output by the target effect rendering node of the first effect is reused to generate the second live stream image. Compared to using multiple first-effect rendering nodes to apply a first effect to a first video source image to obtain a first live stream image, and using multiple second-effect rendering nodes to apply a second effect to the first video source image to obtain a second live stream image, the solution provided in this embodiment eliminates the rendering process of the target rendering node on the first video source image when generating the second live stream image based on requests associated with the second effect. Therefore, it reduces the amount of data processing required to generate the second live stream image and can reduce the resource consumption required to simultaneously generate both the first and second live stream images. This helps to mitigate the frame rate drop problem caused by responding to requests associated with other effects during live streaming.

[0054] Please refer to Figure 3 , Figure 3 Flowchart of the special effects rendering method provided in the embodiments of this disclosure Figure 2 ,like Figure 3 As shown, the method includes the following steps:

[0055] S301: Display the live streaming interface, which shows the first live stream screen of the sharing user; the first live stream screen is obtained by applying a first special effect to the first video source image captured, and the first special effect includes one or more first special effect rendering nodes.

[0056] In this embodiment, the entity executing the special effects rendering method can be the terminal device of the sharing user. When the sharing user is live streaming using the terminal device, the first special effect can be applied to the captured first video source image to obtain the first live stream image. The aforementioned terminal device can also push the first live stream image to the terminal devices of multiple viewers via the network.

[0057] In this embodiment, the specific implementation of step S301 can be referred to Figure 2 The description of step S201 in the illustrated embodiment will not be repeated here.

[0058] S302: In response to receiving a request associated with a second effect, a first rendering queue and a second rendering queue are created. The first rendering queue stores one or more first effect rendering node information, and the second rendering queue stores one or more second effect rendering node information.

[0059] In the first rendering queue, each first effect rendering node corresponds to one first effect rendering node, and multiple first effect rendering node information are arranged in the first rendering queue according to the rendering order of the multiple first effect rendering nodes. In the second rendering queue, each second effect rendering node corresponds to one second effect rendering node, and multiple second effect rendering node information are arranged in the second rendering queue according to the rendering order of the multiple second effect rendering nodes.

[0060] Special effects can include multiple special effects rendering nodes. The rendering order of each special effects rendering node in a special effect can be determined according to a preset special effects rendering order rule, and the same special effects rendering node of different special effects shall be subject to the same special effects rendering order rule.

[0061] Each special effects rendering node corresponds to one or more preset special effects resources and preset rendering parameters.

[0062] The first special effects rendering node information includes one or more of the following:

[0063] The first special effects rendering node identifier, the information of the special effects resource corresponding to the first special effects rendering node, and the rendering parameters corresponding to the first special effects rendering node;

[0064] The second special effects rendering node information includes one or more of the following:

[0065] The second special effects rendering node identifier, the information of the special effects resource corresponding to the second special effects rendering node, and the rendering parameters corresponding to the second special effects rendering node.

[0066] According to the preset special effects rendering order rules, multiple special effects rendering nodes within the same special effect have their own preset rendering order. Special effects rendering nodes with smaller rendering order numbers take precedence over special effects rendering nodes with larger rendering order numbers.

[0067] Upon receiving a request associated with the second special effect, the aforementioned executing entity can create a first rendering queue for the first special effect and a second rendering queue for the second special effect.

[0068] In some application scenarios, the first rendering queue mentioned above can also be created before receiving the second effects trial request. In these application scenarios, only the second rendering queue can be created after receiving the second effects trial request.

[0069] Schematic illustration: the first effect rendering node information corresponding to multiple first effect rendering nodes of the first effect can be stored in the first rendering queue in ascending order of effect rendering sequence number. Similarly, the second effect rendering node information corresponding to multiple second effect rendering nodes of the second effect can be stored in the second rendering queue in ascending order of effect rendering sequence number.

[0070] Information about special effects resources may include, for example, the address of the special effects resources stored on the network or locally. These special effects resources may include, but are not limited to, one or more of the following: texture maps, user interface elements, scripts or code, lighting settings, animation sequences, etc.

[0071] Schematic illustration: If the first effect rendering node is for beautification, then the first effect rendering node identifier is an identifier indicating beautification. Beautification resources may include, for example, scripts or code used for beautification. The aforementioned beautification resource information may include, for example, the storage address of the script or code implementing whitening. This address may be, for example, a network address, and the rendering parameters corresponding to beautification may include, for example, whitening levels.

[0072] The multiple first-effect rendering nodes in the first effect and the multiple second-effect rendering nodes in the second effect all follow the preset effect rendering order rules. Since the rendering order of the filter effect rendering node is the first order, if there is a filter effect rendering node in the first and second effects, then the filter effect rendering node is the first effect rendering node of the first effect and the first effect rendering node of the second effect.

[0073] S303: Starting from the head of the queue, match the information of each first effect rendering node in the first rendering queue with the information of each second effect rendering node in the second rendering queue according to their order in the queue, and determine the target effect rendering node based on the matching results.

[0074] The head (first position) of the first rendering queue corresponds to the first effect rendering node with the highest rendering priority among multiple first effect rendering nodes. Similarly, the head (first position) of the second rendering queue corresponds to the second effect rendering node with the highest rendering priority among multiple second effect rendering nodes.

[0075] Starting from the first position, the information of the first effect rendering node in the first rendering queue is compared with the information of the second effect rendering node in the second rendering queue, based on their positions in the queue. If the information of the first effect rendering node at the first position in the first rendering queue is the same as the information of the second effect rendering node at the first position in the second rendering queue, then the first effect rendering node (or second effect rendering node) at the first position is the target effect rendering node. After the first effect rendering node at the first position is the target effect rendering node, the information of the first effect rendering node at the second position in the first rendering queue is compared with the information of the second effect rendering node at the second position in the second rendering queue. If the comparison result indicates that they are different, the comparison is terminated, and the first effect rendering node at the first position is output as the target effect rendering node; if the comparison result indicates that they are the same, then the first effect rendering node at the second position is the target effect rendering node. After the first effect rendering node at the second position is the target effect rendering node, the comparison begins at the third position in the queue, and so on, to obtain one or more target effect rendering nodes.

[0076] It is understandable that for the same image data, even the same special effects resources, if the special effects rendering parameters are different, the image data after processing by the special effects rendering node will also be different. Therefore, when judging whether the special effects rendering nodes are the same based on the rendering information of the first special effects rendering node in the first rendering queue and the rendering information of the second special effects rendering node in the second rendering queue, it is necessary to combine the information of the special effects resources and the special effects rendering parameters to make the judgment.

[0077] S304: Obtain the first frame of the first video source image after passing through the target effect rendering node.

[0078] S305: Use a second effect rendering node that is different from the target effect rendering node to render the first screen and obtain the second live screen.

[0079] S306: Display the first live stream image corresponding to the first video source image in the live stream interface, and display the second live stream image in a window. The live stream interface includes a window.

[0080] For specific implementation details of steps S304 to S306 above, please refer to [reference needed]. Figure 1 The relevant descriptions of steps S203 to S205 in the illustrated embodiment will not be repeated here.

[0081] In this embodiment, by creating a first rendering queue and a second rendering queue, information of multiple first special effects rendering nodes is stored in the first rendering queue according to the rendering order of the special effects, and information of multiple second special effects rendering nodes is stored in the second rendering queue. The information of first and second special effects rendering nodes at the same position in the first and second rendering queues can be matched to determine the target special effects rendering node. This improves the efficiency of determining the target special effects rendering node from the first and second special effects.

[0082] Please refer to Figure 4 , Figure 4 Flowchart of the special effects rendering method provided in the embodiments of this disclosure Figure 3 ,like Figure 4 As shown, the method includes the following steps:

[0083] S401: Display the live streaming interface, which shows the first live stream screen of the sharing user; the first live stream screen is obtained by applying a first special effect to the first video source image captured, and the first special effect includes one or more first special effect rendering nodes.

[0084] In this embodiment, the entity executing the special effects rendering method can be the terminal device of the sharing user. When the sharing user is live streaming using the terminal device, the first special effect can be applied to the captured first video source image to obtain the first live stream image. The aforementioned terminal device can also push the first live stream image to the terminal devices of multiple viewers via the network.

[0085] In this embodiment, the specific implementation of step S401 can be referred to Figure 2 The description of step S201 in the illustrated embodiment will not be repeated here.

[0086] S402: In response to receiving a second effect trial request, create a first rendering queue and a second rendering queue. The first rendering queue stores one or more first effect rendering node information, and the second rendering queue stores one or more second effect rendering node information.

[0087] In this process, each first special effects rendering node corresponds to one first special effects rendering node, and multiple first special effects rendering node information are arranged in the first rendering queue according to the order of rendering; in the second rendering queue, each second special effects rendering node corresponds to one second special effects rendering node, and multiple second special effects rendering node information are arranged in the order of rendering.

[0088] In this embodiment, the specific implementation of step S402 can be referred to Figure 3 Step S302 in the illustrated embodiment will not be described in detail here.

[0089] S403: Create a position identifier. The initial value of the position identifier indicates the position before the head of the first rendering queue and the position before the head of the second rendering queue.

[0090] S404: Starting from the initial value, perform the following first operation: determine the position of the first rendering queue and the position of the second rendering queue indicated by the value of the position identifier; match the target first effect rendering node information stored at the next position indicated by the value of the position identifier with the target second effect rendering node information; if the match is successful, increment the value of the position identifier by 1 and repeat the first operation; until the match fails, end the matching.

[0091] S405: Based on the target value of the position identifier after the matching is completed, determine at least one target effect rendering node.

[0092] The value of the aforementioned position identifier is used to indicate the position in the queue, and the value of the position identifier can be changed. The initial value of the aforementioned position identifier can be, for example, 0, which can indicate the position before the head of the first rendering queue and the position before the head of the second rendering queue.

[0093] During the first operation, the initial value of the position identifier points to the position before the head of the first rendering queue and the position before the head of the second rendering queue. The initial value of the position identifier indicates that the next position is the head of the first rendering queue and the head of the second rendering queue. During the first operation, the target first effect rendering node information stored at the head of the first rendering queue can be matched with the target second effect rendering node information stored at the head of the second rendering queue. For example, the effect identifier, effect resource address information, and effect parameters indicated by the target first effect rendering node information can be compared with the effect identifier, effect resource address information, and effect parameters indicated by the target second effect rendering node information. Only when the comparison results corresponding to the effect identifier, effect resource address information, and effect parameters all indicate the sameness, is the target first effect rendering node information at the head of the first rendering queue successfully matched with the target second effect rendering node information at the head of the second rendering queue; otherwise, the match fails.

[0094] After the target first effect rendering node information corresponding to the head of the first rendering queue successfully matches the target second effect rendering node information corresponding to the head of the second rendering queue, the position identifier value can be incremented by 1. The value of the position identifier after incrementing by 1 (e.g., "1") indicates the head of the first rendering queue and the head of the second rendering queue. The next position after the head of the queue is the second position, corresponding to the second first effect rendering node information of the first rendering queue and the second second effect rendering node information of the second rendering queue.

[0095] Correspondingly, the information of the second first effect rendering node in the first rendering queue can be matched with the information of the second second effect rendering node in the second rendering queue. If the match is successful, the value of the position identifier is incremented by 1. Then the value of the position identifier points to the second position.

[0096] Repeat the last operation until a match fails.

[0097] After matching is complete, the position identifier value remains unchanged. The position identifier value can be used as the target value. The target effect rendering node can be determined based on the position of the first effect rendering node in either the first or second rendering queue indicated by the target value. For example, if the target value is 1, then the first effect rendering node corresponding to the first effect rendering node information in the first rendering queue is the target effect rendering node. If the target value is 2, then the second effect rendering node indicated by the first and second effect rendering node information in the second rendering queue is the target effect rendering node.

[0098] In this embodiment, by setting a location identifier, the target special effects rendering node is determined from the special effects rendering information in the first rendering queue or the second rendering queue based on the value of the location identifier.

[0099] S406: Obtain the first frame of the first video source image after passing through the target effect rendering node.

[0100] In some implementations, step S406 above includes the following steps:

[0101] First, starting from the head of the queue, the first video source image is rendered sequentially using the first effect rendering node information corresponding to the first effect rendering node in the first rendering queue.

[0102] Secondly, in response to detecting the last target effect rendering node rendered to the target value indication, the image output by the last target effect rendering node is used as the first screen, and the first screen is copied. The copied first screen is used to generate the second live screen.

[0103] Finally, the first effect rendering node corresponding to the subsequent first effect rendering node information in the first rendering queue is used to render the first screen to obtain the live broadcast screen.

[0104] The information of each first effect rendering node is extracted sequentially from the head to the tail of the first rendering queue. Then, the first effect rendering node indicated by each first effect rendering node information extracted from the first rendering queue is used to process the first video source image.

[0105] Each time the first effect rendering node information is retrieved from the first rendering queue, it can be determined whether the position of the retrieved first effect rendering node information in the first rendering queue is the position indicated by the target value of the position identifier. If it is determined that the position of the retrieved first effect rendering node information in the first rendering queue is the position indicated by the target value, then the first effect rendering node indicated by the first effect rendering node information is the last target effect rendering node.

[0106] After processing the input image using the last target effect rendering node, the first frame obtained from the processed image is copied. This copied first frame is used to generate the second live stream frame.

[0107] In these implementations, by using the target value of the location identifier to indicate information about one or more target effect rendering nodes, during the process of multiple first effect rendering nodes corresponding to the first rendering queue rendering the first video source image to obtain a live broadcast, the target value of the location identifier helps determine whether the first frame should be copied. The copied first frame is used to generate a second live broadcast in response to a request associated with the second effect. This can improve the efficiency of obtaining the first frame during the rendering of the first video source image by multiple first effect rendering nodes, and is beneficial for quickly and accurately generating the second live broadcast.

[0108] S407: Use a second effect rendering node that is different from the target effect rendering node to render the first screen and obtain the second live screen.

[0109] In some implementations, step S407 includes the following steps:

[0110] First, delete the second effect rendering node information corresponding to the target effect rendering node from the second rendering queue to obtain the target second rendering queue.

[0111] Next, the second special effects rendering node indicated by the second special effects rendering node information in the target second rendering queue is used to render the first screen to obtain the second live screen.

[0112] In these implementations, after obtaining the target value of the location identifier, the information of the second effects rendering node (the target effects rendering node's information) from the head of the original second rendering queue to the position indicated by the target value can be deleted to obtain the target second rendering queue. The obtained target second rendering queue includes information corresponding to second effects rendering nodes that are different from the target effects rendering node. The first screen can be rendered directly using each second effects rendering node in the target second rendering queue to obtain the second live screen, which helps to quickly and efficiently generate the second live screen.

[0113] In these implementations, by using the target value of the location identifier to obtain the first frame input to the second rendering queue, it is possible to accurately obtain the reused first frame during the rendering process of the first video source image by the first special effect, thereby improving the accuracy of the generated second live frame.

[0114] S408: Display the first live stream image corresponding to the first video source image in the live stream interface, and display the second live stream image in a window. The live stream interface includes a window.

[0115] In this embodiment, by creating a location identifier, the value of the location identifier indicates the information corresponding to the target effect rendering node in the first rendering queue and the second rendering queue. Thus, during the process of multiple first effect rendering nodes corresponding to the first rendering queue rendering the first video source image to obtain the first live stream frame, the target value of the location identifier helps determine whether the first frame should be copied. The copied first frame is used to generate the second live stream frame. This improves the efficiency of determining the first frame and the accuracy of generating the second live stream frame by reusing the target effect rendering node.

[0116] Corresponding to the above text Figures 2 to 4 The special effects rendering method in the embodiment, Figure 5 This is a schematic structural block diagram of a special effects rendering apparatus provided for embodiments of this disclosure. For ease of explanation, only the parts relevant to embodiments of this disclosure are shown. (Refer to...) Figure 5 The device 50 includes: a first display unit 501, a determining unit 502, a first rendering unit 503, a second rendering unit 504, and a second display unit 505.

[0117] The first display unit 501 is used to display the live broadcast interface, which displays the first live broadcast screen of the sharing user; the first live broadcast screen is obtained by applying a first special effect to the captured first video source image, and the first special effect includes one or more first special effect rendering nodes.

[0118] The determining unit 502 is used to determine the target effect rendering node shared by the first effect and the second effect in response to receiving a request associated with the second effect;

[0119] The first rendering unit 503 is used to obtain the first frame of the first video source image after passing through the target effect rendering node;

[0120] The second rendering unit 504 is used to render the first image using a second special effect rendering node that is different from the target special effect rendering node, so as to obtain the second live broadcast image.

[0121] The second display unit 505 is used to display the first live broadcast image corresponding to the first video source image in the live broadcast interface, and to display the second live broadcast image in the window. The live broadcast interface includes the window.

[0122] In some embodiments, the determining unit 502 is further configured to:

[0123] Create a first rendering queue and a second rendering queue. The first rendering queue stores one or more first effect rendering node information. Each first effect rendering node information corresponds to one first effect rendering node. Multiple first effect rendering node information are arranged in the order in which they are rendered. The second rendering queue stores one or more second effect rendering node information. Each second effect rendering node information corresponds to one second effect rendering node. Multiple second effect rendering node information are arranged in the order in which they are rendered.

[0124] Starting from the head of the queue, the information of each first effect rendering node in the first rendering queue is matched with the information of each second effect rendering node in the second rendering queue according to their position in the queue. The target effect rendering node is determined based on the matching results.

[0125] In some embodiments, the apparatus 50 further includes a position identifier creation unit (not shown in the figure), which is used to create a position identifier, the initial value of which indicates the position before the head of the first rendering queue and the position before the head of the second rendering queue.

[0126] The determining unit 502 is further used for:

[0127] Starting from the initial value, perform the following first operation:

[0128] Determine the positions of the first and second rendering queues indicated by the position identifier value. Match the target first effect rendering node information stored at the next position indicated by the position identifier value with the target second effect rendering node information. If the match is successful, increment the position identifier value by 1 and repeat the first operation. Continue until the match fails, then end the matching process.

[0129] Based on the target value of the position identifier after the matching is completed, at least one target effect rendering node is determined.

[0130] In some embodiments, the first rendering unit 503 is further configured to:

[0131] Starting from the head of the queue, the first video source image is rendered sequentially using multiple first effect rendering nodes corresponding to multiple first effect rendering node information in the first rendering queue.

[0132] In response to detecting the last target effect rendering node rendered to the target value indication, the image output by the last target effect rendering node is used as the first frame; the first frame is copied, and the copied first frame is used to generate the second live stream frame; and

[0133] Continue using the first effect rendering node corresponding to the subsequent first effect rendering node information in the first rendering queue to render the first screen and obtain the first live screen.

[0134] In some embodiments, the second rendering unit 504 is further configured to:

[0135] Delete the second effect rendering node information corresponding to the target effect rendering node from the second rendering queue to obtain the target second rendering queue;

[0136] The second special effects rendering node, indicated by the second special effects rendering node information in the target second rendering queue, is used to render the first screen to obtain the second live screen.

[0137] In some embodiments, the first effect rendering node information includes one or more of the following:

[0138] The first special effects rendering node identifier, the information of the special effects resource corresponding to the first special effects rendering node, and the rendering parameters corresponding to the first special effects rendering node;

[0139] The second special effects rendering node information includes one or more of the following:

[0140] The second special effects rendering node identifier, the information of the special effects resource corresponding to the second special effects rendering node, and the rendering parameters corresponding to the second special effects rendering node.

[0141] To implement the above embodiments, this disclosure also provides an electronic device.

[0142] refer to Figure 6The diagram illustrates a structural schematic of an electronic device 600 suitable for implementing embodiments of the present disclosure. The electronic device 600 can be a terminal device or a server. The terminal device can include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), tablet computers, portable media players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0143] like Figure 6 As shown, electronic device 600 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 602 or a program loaded from storage device 608 into random access memory (RAM) 603. RAM 603 also stores various programs and data required for the operation of electronic device 600. The processing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0144] Typically, the following devices can be connected to I / O interface 605: input devices 606 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 607 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 608 including, for example, magnetic tapes, hard disks, etc.; and communication devices 609. Communication device 609 allows electronic device 600 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 An electronic device 600 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0145] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, it performs the functions defined in the methods of embodiments of this disclosure.

[0146] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0147] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0148] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods shown in the above embodiments.

[0149] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0150] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0151] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".

[0152] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0153] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0154] In a first aspect, according to one or more embodiments of this disclosure, a special effects rendering method is provided, comprising: displaying a live streaming interface, wherein the live streaming interface displays a first live streaming screen shared by a user; the first live streaming screen is obtained by applying a first special effect to a captured first video source image, the first special effect including one or more first special effect rendering nodes; in response to receiving a request associated with a second special effect, determining a target special effect rendering node shared by the first special effect and the second special effect; acquiring a first screen after the first video source image has passed through the target special effect rendering node; rendering the first screen using a second special effect rendering node that is different from the target special effect rendering node in the second special effect to obtain a second live streaming screen; displaying the first live streaming screen corresponding to the first video source image in the live streaming interface, and displaying the second live streaming screen in a window, wherein the live streaming interface includes a window.

[0155] According to one or more embodiments of this disclosure, in response to receiving a request associated with a second special effect, determining a target special effect rendering node shared by the first and second special effects includes: creating a first rendering queue and a second rendering queue; the first rendering queue stores one or more first special effect rendering node information, each first special effect rendering node information corresponding to one first special effect rendering node, and the multiple first special effect rendering node information are arranged in the order in which the multiple first special effect rendering nodes are rendered; the second rendering queue stores one or more second special effect rendering node information, each second special effect rendering node information corresponding to one second special effect rendering node, and the multiple second special effect rendering node information are arranged in the order in which the multiple second special effect rendering nodes are rendered; starting from the head of the queue, matching each first special effect rendering node information in the first rendering queue with each second special effect rendering node information in the second rendering queue in sequence according to their position in the queue, and determining the target special effect rendering node based on the matching result.

[0156] According to one or more embodiments of this disclosure, the method further includes: creating a position identifier, the initial value of which indicates the position before the head of the first rendering queue and the position before the head of the second rendering queue; and sequentially matching the information of each first special effects rendering node in the first rendering queue with the information of each second special effects rendering node in the second rendering queue according to their position order in the queue, and determining a target special effects rendering node based on the matching result, including: starting from the initial value, performing the following first operation: determining the position of the first rendering queue and the second rendering queue indicated by the value of the position identifier, matching the target first special effects rendering node information stored at the next position indicated by the value of the position identifier with the target second special effects rendering node information; if the matching is successful, incrementing the value of the position identifier by 1 and repeating the first operation; until the matching fails, ending the matching; and determining at least one target special effects rendering node based on the target value of the position identifier after the matching is completed.

[0157] According to one or more embodiments of this disclosure, obtaining a first frame of a first video source image after passing through a target effect rendering node includes: starting from the head of the queue, sequentially using multiple first effect rendering nodes corresponding to multiple first effect rendering node information in a first rendering queue to render the first video source image; in response to detecting that the last target effect rendering node has been rendered to the target value indication, using the image output by the last target effect rendering node as the first frame, copying the first frame, and using the copied first frame to generate a second live broadcast frame; and continuing to use the first effect rendering nodes corresponding to subsequent first effect rendering node information in the first rendering queue to render the first frame to obtain the first live broadcast frame.

[0158] According to one or more embodiments of this disclosure, rendering a first screen using a second special effects rendering node that is different from the target special effects rendering node in the second special effects to obtain a second live screen includes: deleting the second special effects rendering node information corresponding to the target special effects rendering node in the second rendering queue to obtain a target second rendering queue; and rendering the first screen using the second special effects rendering node indicated by the second special effects rendering node information in the target second rendering queue to obtain a second live screen.

[0159] According to one or more embodiments of this disclosure, the first special effects rendering node information includes one or more of the following: a first special effects rendering node identifier, information of the special effects resource corresponding to the first special effects rendering node, and rendering parameters corresponding to the first special effects rendering node; the second special effects rendering node information includes one or more of the following: a second special effects rendering node identifier, information of the special effects resource corresponding to the second special effects rendering node, and rendering parameters corresponding to the second special effects rendering node.

[0160] Secondly, according to one or more embodiments of this disclosure, a special effects rendering apparatus is provided, comprising: a first display unit for displaying a live streaming interface, wherein the live streaming interface displays a first live streaming image shared by a user; the first live streaming image is obtained by applying a first special effect to a captured first video source image, the first special effect including one or more first special effect rendering nodes; a determining unit for determining a target special effect rendering node shared by the first special effect and the second special effect in response to receiving a request associated with a second special effect; a first rendering unit for acquiring a first image after the first video source image has passed through the target special effect rendering node; a second rendering unit for rendering the first image using a second special effect rendering node that is different from the target special effect rendering node in the second special effect to obtain a second live streaming image; and a second display unit for displaying the first live streaming image corresponding to the first video source image in the live streaming interface and displaying the second live streaming image in a window, the live streaming interface including a window.

[0161] According to one or more embodiments of this disclosure, the determining unit is further configured to:

[0162] Create a first rendering queue and a second rendering queue. The first rendering queue stores one or more first effect rendering node information. Each first effect rendering node information corresponds to one first effect rendering node. Multiple first effect rendering node information are arranged in the order in which they are rendered. The second rendering queue stores one or more second effect rendering node information. Each second effect rendering node information corresponds to one second effect rendering node. Multiple second effect rendering node information are arranged in the order in which they are rendered.

[0163] Starting from the head of the queue, the information of each first effect rendering node in the first rendering queue is matched with the information of each second effect rendering node in the second rendering queue according to their position in the queue. The target effect rendering node is determined based on the matching results.

[0164] According to one or more embodiments of the present disclosure, the apparatus further includes a position identifier creation unit, which is used to create a position identifier, wherein the initial value of the position identifier indicates the position before the head of the first rendering queue and the position before the head of the second rendering queue.

[0165] The determining unit is further used to: starting from the initial value, perform the following first operation:

[0166] Determine the positions of the first and second rendering queues indicated by the position identifier value. Match the target first effect rendering node information stored at the next position indicated by the position identifier value with the target second effect rendering node information. If the match is successful, increment the position identifier value by 1 and repeat the first operation. Continue until the match fails, then end the matching process.

[0167] Based on the target value of the position identifier after the matching is completed, at least one target effect rendering node is determined.

[0168] According to one or more embodiments of this disclosure, the first rendering unit is further configured to:

[0169] Starting from the head of the queue, the first video source image is rendered sequentially using multiple first effect rendering nodes corresponding to multiple first effect rendering node information in the first rendering queue.

[0170] In response to detecting the last target effect rendering node rendered to the target value indication, the image output by the last target effect rendering node is used as the first frame; the first frame is copied, and the copied first frame is used to generate the second live stream frame; and

[0171] Continue using the first effect rendering node corresponding to the subsequent first effect rendering node information in the first rendering queue to render the first screen and obtain the first live screen.

[0172] According to one or more embodiments of this disclosure, the second rendering unit is further configured to:

[0173] Delete the second effect rendering node information corresponding to the target effect rendering node from the second rendering queue to obtain the target second rendering queue;

[0174] The second special effects rendering node, indicated by the second special effects rendering node information in the target second rendering queue, is used to render the first screen to obtain the second live screen.

[0175] According to one or more embodiments of this disclosure, the first special effects rendering node information includes one or more of the following:

[0176] The first special effects rendering node identifier, the information of the special effects resource corresponding to the first special effects rendering node, and the rendering parameters corresponding to the first special effects rendering node;

[0177] The second special effects rendering node information includes one or more of the following:

[0178] The second special effects rendering node identifier, the information of the special effects resource corresponding to the second special effects rendering node, and the rendering parameters corresponding to the second special effects rendering node.

[0179] Thirdly, according to one or more embodiments of the present disclosure, an electronic device is provided, comprising: at least one processor and a memory;

[0180] The memory stores the instructions that the computer executes;

[0181] At least one processor executes computer execution instructions stored in memory, causing at least one processor to perform the methods described in the first aspect above and various possible designs of the first aspect.

[0182] Fourthly, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided that stores computer-executable instructions, which, when executed by a processor, implement the methods described in the first aspect and various possible designs of the first aspect.

[0183] Fifthly, according to one or more embodiments of the present disclosure, a computer program product is provided, including a computer program, and a method for implementing the first aspect and various possible designs of the first aspect when the computer program is executed by a processor.

[0184] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0185] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0186] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A special effects rendering method, characterized in that, include: The live streaming interface displays the first live stream screen shared by the user. The first live stream image is obtained by applying a first special effect to a captured first video source image, and the first special effect includes one or more first special effect rendering nodes; In response to receiving a request associated with a second effect, determine the target effect rendering node shared by the first effect and the second effect; Obtain the first frame of the first video source image after passing through the target effect rendering node; The first image is rendered using a second special effect rendering node that is different from the target special effect rendering node to obtain a second live broadcast image; The live streaming interface displays the first live stream image corresponding to the first video source image, and displays the second live stream image in a window. The live streaming interface includes the window.

2. The method according to claim 1, characterized in that, The step of responding to receiving a request associated with a second effect and determining the target effect rendering node shared by the first effect and the second effect includes: A first rendering queue and a second rendering queue are created. The first rendering queue stores one or more first special effects rendering node information, each first special effects rendering node information corresponding to one first special effects rendering node, and the multiple first special effects rendering node information are arranged in the order in which they are rendered. The second rendering queue stores one or more second special effects rendering node information, each second special effects rendering node information corresponding to one second special effects rendering node, and the multiple second special effects rendering node information are arranged in the order in which they are rendered. Starting from the head of the queue, the information of each first effect rendering node in the first rendering queue is matched with the information of each second effect rendering node in the second rendering queue according to their position in the queue. The target effect rendering node is determined based on the matching result.

3. The method according to claim 2, characterized in that, The method further includes: Create a position identifier, the initial value of which indicates the position before the head of the first rendering queue and the position before the head of the second rendering queue; And the process of matching the information of each first effect rendering node in the first rendering queue with the information of each second effect rendering node in the second rendering queue, starting from the head of the queue and according to their order in the queue, and determining the target effect rendering node based on the matching results, includes: Starting from the initial value, perform the following first operation: Determine the positions of the first and second rendering queues indicated by the value of the position identifier, and match the target first special effects rendering node information stored at the next position indicated by the value of the position identifier with the target second special effects rendering node information; if the match is successful, increment the value of the position identifier by 1 and repeat the first operation; until the match fails, the matching ends. Based on the target value of the location identifier after the matching is completed, at least one target effect rendering node is determined.

4. The method according to claim 3, characterized in that, The step of obtaining the first frame of the first video source image after passing through the target effect rendering node includes: Starting from the head of the queue, the first video source image is rendered sequentially using the multiple first effect rendering nodes corresponding to the multiple first effect rendering node information in the first rendering queue. In response to detecting the last target effect rendering node rendered to the target value indication, the image output by the last target effect rendering node is used as the first frame, the first frame is copied, and the copied first frame is used to generate the second live stream frame; and Continue using the first special effects rendering node corresponding to the subsequent first special effects rendering node information in the first rendering queue to render the first image to obtain the first live broadcast image.

5. The method according to any one of claims 2-4, characterized in that, The step of rendering the first image using a second special effects rendering node that is different from the target special effects rendering node to obtain a second live broadcast image includes: Delete the second effect rendering node information corresponding to the target effect rendering node in the second rendering queue to obtain the target second rendering queue; The first image is rendered using the second special effects rendering node indicated by the second special effects rendering node information in the target second rendering queue, to obtain the second live broadcast image.

6. The method according to claim 3, characterized in that, The first special effects rendering node information includes one or more of the following: The first special effects rendering node identifier, the information of the special effects resource corresponding to the first special effects rendering node, and the rendering parameters corresponding to the first special effects rendering node; The second special effects rendering node information includes one or more of the following: The second special effects rendering node identifier, the information of the special effects resource corresponding to the second special effects rendering node, and the rendering parameters corresponding to the second special effects rendering node.

7. A special effects rendering device, characterized in that, include: The first display unit is used to display the live streaming interface, which displays the first live streaming screen of the sharing user. The first live stream image is obtained by applying a first special effect to a captured first video source image, and the first special effect includes one or more first special effect rendering nodes; A determining unit is configured to, in response to receiving a request associated with a second special effect, determine a target special effect rendering node shared by the first special effect and the second special effect; The first rendering unit is used to acquire the first frame of the first video source image after passing through the target effect rendering node; The second rendering unit is used to render the first image using a second special effect rendering node that is different from the target special effect rendering node in the second special effect, so as to obtain a second live broadcast image. The second display unit is used to display the first live screen corresponding to the first video source image in the live broadcast interface, and to display the second live screen in a window, wherein the live broadcast interface includes the window.

8. An electronic device, characterized in that, include: Processor and memory; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, implement the method as described in any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 6.