CN113923519B - Video rendering method, device, computer equipment and storage medium - Google Patents

Video rendering method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN113923519B
CN113923519B CN202111333000.XA CN202111333000A CN113923519B CN 113923519 B CN113923519 B CN 113923519B CN 202111333000 A CN202111333000 A CN 202111333000A CN 113923519 B CN113923519 B CN 113923519B
Authority
CN
China
Prior art keywords
rendering
preset
list
video
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111333000.XA
Other languages
Chinese (zh)
Other versions
CN113923519A (en
Inventor
陈明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wondershare Software Co Ltd
Original Assignee
Shenzhen Wondershare Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Wondershare Software Co Ltd filed Critical Shenzhen Wondershare Software Co Ltd
Priority to CN202111333000.XA priority Critical patent/CN113923519B/en
Publication of CN113923519A publication Critical patent/CN113923519A/en
Application granted granted Critical
Publication of CN113923519B publication Critical patent/CN113923519B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the invention discloses a video rendering method, a video rendering device, computer equipment and a storage medium. The application is applied to the technical field of video playing, and comprises the following steps: generating a rendering list according to a preset video rendering instruction, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists; if a preset idle slot allocation instruction sent by a preset output queue is received, acquiring a current frame index corresponding to a rendering list; based on the current frame index, constructing a main rendering task and a plurality of sub rendering tasks, and executing the sub rendering tasks in parallel; if the fact that the preset state modification instruction is sent to the preset output queue is detected, executing a main rendering task, adding 1 to an index value corresponding to the current frame index, and returning to the executing step two until the index value corresponding to the current frame index is equal to the total frame number; and storing the video frame obtained after the main rendering task is executed into a free slot corresponding to a preset free slot allocation instruction. The video rendering method and device can improve video rendering efficiency.

Description

Video rendering method, device, computer equipment and storage medium
Technical Field
The embodiment of the invention relates to the technical field of video playing, in particular to a video rendering method, a video rendering device, computer equipment and a storage medium.
Background
At present, video editing is very popular on both a PC end and a mobile end, such as premier software on the PC end and video editing software such as tremble sound on the mobile end. General users can carry out picture color mixing, small object modification, text addition and the like on the shot video, namely, the video is rendered, and then the rendered video is shared with other people or stored locally. Video rendering is generally inefficient because video rendering itself requires a higher processing load.
Disclosure of Invention
The embodiment of the invention provides a video rendering method, a video rendering device, computer equipment and a storage medium, which aim to solve the problem of low efficiency of the existing video rendering.
In a first aspect, an embodiment of the present invention provides a video rendering method, including:
if a preset video rendering instruction is received, generating a rendering list according to the preset video rendering instruction, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists;
if a preset idle slot allocation instruction sent by a preset output queue is received, acquiring a current frame index corresponding to the rendering list;
If the current frame index meets a preset detection condition, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and executing the plurality of sub rendering tasks in parallel;
if a preset state modification instruction sent to the preset output queue is detected, executing the main rendering task, adding 1 to an index value corresponding to the current frame index, and returning to execute the step of acquiring the current frame index corresponding to the rendering list until the index value corresponding to the current frame index is equal to the total frame number if a preset allocation idle slot instruction sent by the preset output queue is received;
if a preset completion instruction sent to the preset output queue is detected, storing the video frame obtained after the main rendering task is executed into an idle slot corresponding to the preset allocation idle slot instruction in the output queue.
Further, judging whether the rendering list can be split according to the degree of ingress of the nodes in the rendering list; if the rendering list can be split, splitting the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists.
Further, splitting the rendering list in a subtree manner to obtain a plurality of sub rendering lists; nodes corresponding to all nodes in the plurality of sub-rendering lists are removed from the rendering list to obtain a main rendering list.
Further, searching a plurality of leaf nodes in the rendering list; and traversing the nodes in the rendering list to the root node according to the plurality of leaf nodes respectively to obtain a plurality of sub rendering lists.
Further, detecting whether the current frame count in a preset sequence lock is the current frame index; and if the current frame count in the preset sequence lock is the current frame index, judging that the current frame index meets a preset detection condition.
Further, a preset frame loss sign related to the current video frame is obtained according to the current frame index, and whether the preset frame loss sign is a preset frame loss value or not is judged; if the preset frame loss mark is not the preset frame loss value, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists, and executing the plurality of sub rendering tasks in parallel; and if the preset frame loss mark is the preset frame loss value, storing the preset frame loss mark into an idle slot corresponding to the preset idle slot allocation instruction in the output queue.
Further, if a preset frame acquisition instruction is received, acquiring the rendered video frame and a frame number corresponding to the video frame from the preset output queue; and playing or exporting the video according to the video frame and the frame number.
In a second aspect, an embodiment of the present invention further provides a video rendering apparatus, including:
the generating unit is used for generating a rendering list according to a preset video rendering instruction if the preset video rendering instruction is received, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists;
the first acquisition unit is used for acquiring a current frame index corresponding to the rendering list if a preset allocation idle slot instruction sent by a preset output queue is received;
the construction unit is used for respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index if the current frame index meets a preset detection condition, and executing the plurality of sub rendering tasks in parallel;
a rendering unit, configured to execute the main rendering task if a preset state modification instruction sent to the preset output queue is detected, and add 1 to an index value corresponding to the current frame index at the same time, and return to execute the step of acquiring the current frame index corresponding to the rendering list if a preset allocation idle slot instruction sent by the preset output queue is received, until the index value corresponding to the current frame index is equal to a total frame number;
And the storage unit is used for storing the video frame obtained after the main rendering task is executed into the idle slot corresponding to the preset allocation idle slot instruction in the output queue if the preset completion instruction sent to the preset output queue is detected.
In a third aspect, an embodiment of the present invention further provides a computer device, which includes a memory and a processor, where the memory stores a computer program, and the processor implements the method when executing the computer program.
In a fourth aspect, embodiments of the present invention also provide a computer readable storage medium storing a computer program which, when executed by a processor, implements the above method.
The embodiment of the invention provides a video rendering method, a video rendering device, computer equipment and a storage medium. Wherein the method comprises the following steps: if a preset video rendering instruction is received, generating a rendering list according to the preset video rendering instruction, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists; if a preset idle slot allocation instruction sent by a preset output queue is received, acquiring a current frame index corresponding to the rendering list; if the current frame index meets a preset detection condition, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and executing the plurality of sub rendering tasks in parallel; if a preset state modification instruction sent to the preset output queue is detected, executing the main rendering task, adding 1 to an index value corresponding to the current frame index, and returning to execute the step of acquiring the current frame index corresponding to the rendering list until the index value corresponding to the current frame index is equal to the total frame number if a preset allocation idle slot instruction sent by the preset output queue is received; if a preset completion instruction sent to the preset output queue is detected, storing the video frame obtained after the main rendering task is executed into an idle slot corresponding to the preset allocation idle slot instruction in the output queue. According to the technical scheme, the main rendering list and the sub rendering lists are generated by splitting the rendering list, so that the sub rendering lists corresponding to the current frame can be executed in parallel, and after the sub rendering lists are executed, the main rendering list corresponding to the current frame and the video rendering of the next frame can be executed in parallel, so that the video rendering efficiency can be improved as a whole.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a video rendering method according to an embodiment of the present invention;
fig. 2 is a schematic sub-flowchart of a video rendering method according to an embodiment of the present invention;
fig. 3 is a schematic sub-flowchart of a video rendering method according to an embodiment of the present invention;
fig. 4 is a flowchart of a video rendering method according to another embodiment of the present invention;
fig. 5 is a schematic block diagram of a video rendering device according to an embodiment of the present invention; and
fig. 6 is a schematic block diagram of a computer device according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
It should be understood that the terms "comprises" and "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
As used in this specification and the appended claims, the term "if" may be interpreted as "when..once" or "in response to a determination" or "in response to detection" depending on the context. Similarly, the phrase "if a determination" or "if a [ described condition or event ] is detected" may be interpreted in the context of meaning "upon determination" or "in response to determination" or "upon detection of a [ described condition or event ]" or "in response to detection of a [ described condition or event ]".
Referring to fig. 1, fig. 1 is a flowchart illustrating a video rendering method according to an embodiment of the invention. The video rendering method provided by the embodiment of the invention can be applied to intelligent terminal equipment such as a smart phone, a portable computer, a desktop computer, a notebook computer and the like, and is realized through software installed on the terminal such as an application program named as audio/video editing software, so that the video rendering efficiency is improved. The video rendering method is described in detail below. As shown in fig. 1, the method includes the following steps S100 to S140.
S100, if a preset video rendering instruction is received, generating a rendering list according to the preset video rendering instruction, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists.
In the embodiment of the invention, a user inputs a rendering requirement in audio/video editing software and clicks a play button of the audio/video editing software, so that the transmission of a preset video rendering instruction is triggered, namely, if the audio/video editing software receives the preset video rendering instruction, a rendering list is generated according to the preset video rendering instruction. In practical applications, for example, a video needs to be played and a rabbit ear attached at the same time, then specific function implementations (people, beauty, rabbits, etc.) need to be disassembled into each rendering node, and they are connected to obtain a rendering list. It is understood that the nodes in the rendering list are various processes for processing video pictures, which are essentially a series of frame data to be rendered. After the rendering list is generated, the task module of the audio/video editing software splits the rendering list to generate a main rendering list and a plurality of sub rendering lists.
It should be noted that, in the embodiment of the present invention, in order to implement the video rendering method, the audio/video editing software includes a preset output queue, a working thread pool, a task module, a performance monitoring module, and the like.
Referring to fig. 2, in an embodiment, for example, in an embodiment of the present invention, the step S100 includes the following steps S101-S103.
S101, judging whether the rendering list can be split according to the degree of entering of the nodes in the rendering list, if so, executing a step S102, otherwise, executing a step S103;
s102, splitting the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists;
and S103, taking the rendering list as a main rendering list, and storing video frames obtained after the main rendering task corresponding to the main rendering list is executed into a free slot corresponding to the preset free slot allocation instruction in the output queue.
In the embodiment of the invention, the rendering list is split into a main rendering list and a plurality of sub rendering lists. Specifically, judging whether the rendering list can be split according to the degree of ingress of the nodes in the rendering list; if the rendering list can be split, indicating that nodes with the degree of incidence being greater than or equal to 2 exist in the rendering list, splitting the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub-rendering lists, wherein the preset list splitting method is to split the rendering list according to a subtree mode to obtain the main rendering list and the plurality of sub-rendering lists. In practical application, a plurality of leaf nodes in the rendering list are searched first, then the nodes in the rendering list are traversed to a root node according to the plurality of leaf nodes to obtain a plurality of sub-rendering lists, and finally nodes corresponding to all the nodes in the plurality of sub-rendering lists are removed from the rendering list to obtain a main rendering list. Understandably, if the rendering list cannot be split, it indicates that the rendering list does not have a node with an input degree greater than or equal to 2, then the rendering list is directly used as a main rendering list, then a main rendering task is built according to a current frame index and the main rendering list, the main rendering task is executed, and finally a video frame obtained after the main rendering task is executed is saved to a free slot corresponding to the preset free slot allocation instruction in the output queue. For example, assuming that nodes in the rendering list are Video1, effect2, video2, effect3, effect4, mix, effect5, and pushto queue, respectively, the implemented functions are that Video1 overlaps two filters Effect1 and Effect2, video2 overlaps two filters Effect3 and Effect4, and then Video1 and Video2 after overlapping the filters are overlapped, i.e., mix overlapping operation is performed, after Mix overlapping operation, the last Video PushToQuue can be obtained by adding a filter Effect5, and from the above, the Video1 and the Video2 are leaf nodes, mix is root node, the ingress of the root node Mix is 2, so that the rendering list can be split to generate two sub rendering lists and a main rendering list, the two sub rendering lists are respectively Video1, effect2, video2, effect3 and Effect4, and the main rendering list is Mix, effect5 and PushToQuue.
S110, if a preset idle slot allocation instruction sent by a preset output queue is received, acquiring a current frame index corresponding to the rendering list.
In the embodiment of the invention, after splitting the rendering list to generate the main rendering list and the plurality of sub rendering lists, a request for allocating the idle slot is sent to a preset output queue through a polling mechanism, and specifically, the request for allocating the idle slot is sent to the preset output queue at intervals of 1 ms. In practical application, if a preset idle slot allocation instruction sent by a preset output queue is received, stopping sending an idle slot allocation request to the preset output queue; if the preset allocation idle slot instruction sent by the preset output queue is not received, after waiting for 1ms, sending an allocation idle slot request to the preset output queue. Understandably, if a preset allocation idle slot instruction sent by a preset output queue is received, which indicates that there is an idle slot in the preset output queue, a rendered video frame may be stored, at this time, the idle slot state is set to a Ready state (occupying state), and a current frame index corresponding to the rendering list is obtained. It should be noted that, in the embodiment of the present invention, after the rendering list is generated, a start frame number and a total frame number corresponding to the rendering list are generated, where the start frame number is a current frame index.
And S120, if the current frame index meets a preset detection condition, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and executing the plurality of sub rendering tasks in parallel.
In the embodiment of the invention, after the current frame index corresponding to the rendering list is acquired, whether the current frame index meets a preset detection condition is detected. Specifically, whether the current frame count in a preset sequence lock is the current frame index is detected; if the current frame count in the preset sequence lock is the current frame index, indicating that the previous video frame of the current video frame is processed, judging that the current frame index meets a preset detection condition; otherwise, if the current frame count in the preset sequence lock is not the current frame index, which indicates that the previous video frame of the current video frame is not processed, and the processing of the current video frame needs to be blocked, judging that the current frame index does not meet the preset detection condition. In practical application, video frames are rendered according to frame index numbers in sequence through mutual exclusion lock mutex.
Referring to fig. 3, in an embodiment, for example, in the embodiment of the present invention, the step S120 includes the following steps S121-S123.
S121, acquiring a preset frame loss mark related to a current video frame according to the current frame index, judging whether the preset frame loss mark is a preset frame loss value, if not, executing a step S122, otherwise, executing a step S123;
s122, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists, and executing the plurality of sub rendering tasks in parallel;
and S123, storing a preset frame loss mark into an idle slot corresponding to the preset idle slot allocation instruction in the output queue.
In the embodiment of the invention, if the current frame index meets a preset detection condition, a preset frame loss mark related to a current video frame is firstly obtained from a performance monitoring module according to the current frame index; and judging whether the preset frame loss mark is a preset frame loss value or not, if the preset frame loss mark is not the preset frame loss value, indicating that the current video frame is not required to be discarded and needs to be rendered, respectively constructing a main rendering task and a plurality of sub rendering tasks by the plurality of sub rendering lists and the main rendering list, and executing the plurality of sub rendering tasks in parallel. It is understood that the construction of the main rendering task and the plurality of sub rendering tasks is a technology well known to those skilled in the art, and will not be described herein. In practical application, if the preset frame loss flag is a preset frame loss value, which indicates that the current video frame meets a frame loss policy, and the current video frame needs to be discarded, the preset frame loss flag is saved to an idle slot corresponding to the preset idle slot allocation instruction in the output queue.
And S130, if a preset state modification instruction sent to the preset output queue is detected, executing the main rendering task, adding 1 to an index value corresponding to the current frame index, and returning to execute the step of acquiring the current frame index corresponding to the rendering list until the index value corresponding to the current frame index is equal to the total frame number if a preset allocation idle slot instruction sent by the preset output queue is received.
In an embodiment of the present invention, after the plurality of sub-rendering tasks are executed in parallel, a preset state modification instruction is sent to the preset output queue, where the preset state modification instruction is to modify an idle slot state corresponding to the preset allocation idle slot instruction from a Ready state (occupying state) to a Half state (semi-complete state), in practical application, if it is detected that the preset state modification instruction is sent to the preset output queue, which indicates that the plurality of sub-rendering tasks have been completed, the main rendering task is executed, and at the same time, an index value corresponding to the current frame index may be increased by 1, and, understandably, if the index value corresponding to the current frame index is 1, after the addition of 1, the index value corresponding to the current frame index is 2, and if the index value corresponding to the current frame index is within a total frame number, the step of returning to execute, if the preset allocation idle slot instruction sent by the preset output queue is received, and then obtaining the current frame index corresponding to the rendering list is executed.
It should be noted that, in the embodiment of the present invention, not only a plurality of sub-rendering lists corresponding to the current frame may be executed in parallel, but also after the execution of the plurality of sub-rendering lists is completed, the main rendering list corresponding to the current frame may be executed, and at the same time, the video rendering of the next frame may be executed, so that the efficiency of video rendering may be improved as a whole.
And S140, if a preset completion instruction sent to the preset output queue is detected, storing the video frame obtained after the main rendering task is executed into an idle slot corresponding to the preset allocation idle slot instruction in the output queue.
In the embodiment of the invention, after the main rendering task is executed, a preset completion instruction is sent to the output queue, so that the idle slot state corresponding to the preset allocation idle slot instruction is modified from the halof state (semi-completion state) to Done (rendering completion state), that is, if the preset completion instruction sent to the preset output queue is detected, the video frame obtained after the main rendering task is executed is saved to the idle slot corresponding to the preset allocation idle slot instruction in the output queue, so that the video frame is conveniently acquired, and the playing efficiency is further improved.
Fig. 4 is a flowchart of a video rendering method according to another embodiment of the present invention, as shown in fig. 4, in which the video rendering method according to the embodiment of the present invention includes steps S200 to S260. Steps S200 to S240 are similar to steps S100 to S140 in the above embodiment, and are not described herein. Steps S250 and S260 added in the present embodiment are described in detail below.
S250, if a preset frame acquisition instruction is received, acquiring the rendered video frame and a frame number corresponding to the video frame from the preset output queue;
and S260, playing or exporting the video according to the video frame and the frame number.
In the embodiment of the invention, after the video frame is rendered, if a preset frame acquisition instruction is received, acquiring the rendered video frame and a frame number corresponding to the video frame from the preset output queue; specifically, detecting whether the video frame exists in the current idle slot of the preset output queue; if the video frame exists in the current idle slot, acquiring the video frame from the current idle slot, and adding 1 to a frame number corresponding to the video frame; if the video frame does not exist in the idle slot, skipping the current idle slot, taking the next idle slot as the current idle slot, and returning to execute the step of detecting whether the video frame exists in the current idle slot of the preset output queue until a preset completion instruction is received. And playing or exporting the video according to the video frame and the frame number. In the embodiment of the present invention, when the rendered video frame is obtained from the preset output queue, the frame number is not specified, that is, the frame number corresponding to the video frame in the current idle slot is assigned to be 1, and the frame numbers corresponding to the subsequent video frames are sequentially added with 1.
Fig. 5 is a schematic block diagram of a video rendering apparatus 200 according to an embodiment of the present invention. As shown in fig. 5, the present invention also provides a video rendering apparatus 200 corresponding to the above video rendering method. The video rendering apparatus 200 includes a unit for performing the video rendering method described above, and may be configured in a terminal. Specifically, referring to fig. 5, the video rendering apparatus 200 generates a unit 201, a first acquisition unit 202, a construction unit 203, a rendering unit 204, and a storage unit 205.
The generating unit 201 is configured to generate a rendering list according to a preset video rendering instruction if the preset video rendering instruction is received, and split the rendering list into a main rendering list and a plurality of sub rendering lists; the first obtaining unit 202 is configured to obtain a current frame index corresponding to the rendering list if a preset allocation idle slot instruction sent by a preset output queue is received; the constructing unit 203 is configured to, if the current frame index meets a preset detection condition, respectively construct a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and execute the plurality of sub rendering tasks in parallel; the rendering unit 204 is configured to execute the main rendering task if a preset state modification instruction sent to the preset output queue is detected, and add 1 to an index value corresponding to the current frame index at the same time, and return to execute the step of acquiring the current frame index corresponding to the rendering list if a preset allocation idle slot instruction sent by the preset output queue is received, until the index value corresponding to the current frame index is equal to a total frame number; the saving unit 205 is configured to save, if a preset completion instruction sent to the preset output queue is detected, a video frame obtained after the main rendering task is executed to a free slot corresponding to the preset allocation free slot instruction in the output queue.
In some embodiments, for example, in the present embodiment, the generating unit 201 includes a first determining unit 2011 and a splitting unit 2012.
The first determining unit 2011 is configured to determine whether the rendering list can be split according to the degree of ingress of the nodes in the rendering list; the splitting unit 2012 is configured to split the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists if the rendering list can be split. Specifically, searching a plurality of leaf nodes in the rendering list; traversing nodes in the rendering list to a root node according to the plurality of leaf nodes respectively to obtain a plurality of sub rendering lists; nodes corresponding to all nodes in the plurality of sub-rendering lists are removed from the rendering list to obtain a main rendering list.
In some embodiments, for example, in the present embodiment, the constructing unit 203 includes a second judging unit 2031, a constructing subunit 2032, and a saving subunit 2033.
The second judging unit 2031 is configured to obtain a preset frame loss flag related to the current video frame according to the current frame index, and judge whether the preset frame loss flag is a preset frame loss value; the constructing subunit 2032 is configured to, if the preset frame loss flag is not the preset frame loss value, respectively construct a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists, and execute the plurality of sub rendering tasks in parallel; the storing subunit 2033 is configured to store the preset frame loss flag to an idle slot corresponding to the preset allocation idle slot instruction in the output queue if the preset frame loss flag is the preset frame loss value.
In some embodiments, for example, the video rendering device 200 further includes a second obtaining unit 206 and a playing unit 207.
The second obtaining unit 206 is configured to obtain, if a preset frame obtaining instruction is received, the rendered video frame and a frame number corresponding to the video frame from the preset output queue; the playing unit 207 is configured to play or derive a video according to the video frame and the frame number.
The specific implementation manner of the video rendering device 200 in the embodiment of the present invention corresponds to the above-mentioned flow verification method, and is not described herein again.
The video rendering apparatus described above may be implemented in the form of a computer program which is executable on a computer device as shown in fig. 6.
Referring to fig. 6, fig. 6 is a schematic block diagram of a computer device according to an embodiment of the present application. The computer device 300 is a terminal, which may be an electronic device with a communication function, such as a smart phone, a desktop computer, a portable computer, a tablet computer, and the like.
Referring to fig. 6, the computer device 300 includes a processor 302, a memory, and a network interface 305 connected by a system bus 301, wherein the memory may include a storage medium 303 and an internal memory 304.
The storage medium 303 may store an operating system 3031 and a computer program 3032. The computer program 3032, when executed, may cause the processor 302 to perform a video rendering method.
The processor 302 is used to provide computing and control capabilities to support the operation of the overall computer device 300.
The internal memory 304 provides an environment for the execution of a computer program 3032 in the storage medium 303, which computer program 3032, when executed by the processor 302, causes the processor 302 to perform a video rendering method.
The network interface 305 is used for network communication with other devices. Those skilled in the art will appreciate that the architecture shown in fig. 6 is merely a block diagram of a portion of the architecture in connection with the present application and is not intended to limit the computer device 300 to which the present application is applied, and that a particular computer device 300 may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
Wherein the processor 302 is configured to execute a computer program 3032 stored in a memory to implement the following steps: if a preset video rendering instruction is received, generating a rendering list according to the preset video rendering instruction, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists; if a preset idle slot allocation instruction sent by a preset output queue is received, acquiring a current frame index corresponding to the rendering list; if the current frame index meets a preset detection condition, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and executing the plurality of sub rendering tasks in parallel; if a preset state modification instruction sent to the preset output queue is detected, executing the main rendering task, adding 1 to an index value corresponding to the current frame index, and returning to execute the step of acquiring the current frame index corresponding to the rendering list until the index value corresponding to the current frame index is equal to the total frame number if a preset allocation idle slot instruction sent by the preset output queue is received; if a preset completion instruction sent to the preset output queue is detected, storing the video frame obtained after the main rendering task is executed into an idle slot corresponding to the preset allocation idle slot instruction in the output queue.
In some embodiments, for example, in this embodiment, when implementing the step of splitting the rendering list into a main rendering list and a plurality of sub rendering lists, the processor 302 specifically implements the following steps: judging whether the rendering list can be split according to the degree of entering of the nodes in the rendering list; if the rendering list can be split, splitting the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists.
In some embodiments, for example, in this embodiment, when the step of splitting the rendering list according to the preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists is implemented by the processor 302, the following steps are specifically implemented: splitting the rendering list according to a subtree mode to obtain a plurality of sub rendering lists; nodes corresponding to all nodes in the plurality of sub-rendering lists are removed from the rendering list to obtain a main rendering list.
In some embodiments, for example, in this embodiment, when implementing the step of splitting the rendering list in a subtree manner to obtain a plurality of sub-rendering lists, the processor 302 specifically implements the following steps: searching a plurality of leaf nodes in the rendering list; and traversing the nodes in the rendering list to the root node according to the plurality of leaf nodes respectively to obtain a plurality of sub rendering lists.
In some embodiments, for example, in this embodiment, when the step of if the current frame index meets the preset detection condition is implemented by the processor 302, the following steps are specifically implemented: detecting whether the current frame count in a preset sequence lock is the current frame index; and if the current frame count in the preset sequence lock is the current frame index, judging that the current frame index meets a preset detection condition.
In some embodiments, for example, in this embodiment, when implementing the steps of constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and executing the plurality of sub rendering tasks in parallel, the processor 302 specifically implements the following steps: acquiring a preset frame loss mark related to a current video frame according to the current frame index, and judging whether the preset frame loss mark is a preset frame loss value or not; if the preset frame loss mark is not the preset frame loss value, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists, and executing the plurality of sub rendering tasks in parallel; and if the preset frame loss mark is the preset frame loss value, storing the preset frame loss mark into an idle slot corresponding to the preset idle slot allocation instruction in the output queue.
In some embodiments, for example, in this embodiment, after implementing the step of storing the video frame obtained after executing the main rendering task in the free slot corresponding to the preset allocation free slot instruction in the output queue if the preset completion instruction sent to the preset output queue is detected, the specific implementation further includes the following steps: if a preset frame acquisition instruction is received, acquiring the rendered video frame and a frame number corresponding to the video frame from the preset output queue; and playing or exporting the video according to the video frame and the frame number.
It should be appreciated that in embodiments of the present application, the processor 302 may be a central processing unit (Central Processing Unit, CPU), the processor 302 may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf Programmable gate arrays (FPGAs) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. Wherein the general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Those skilled in the art will appreciate that all or part of the flow in a method embodying the above described embodiments may be accomplished by computer programs instructing the relevant hardware. The computer program may be stored in a storage medium that is a computer readable storage medium. The computer program is executed by at least one processor in the computer system to implement the flow steps of the embodiments of the method described above.
Accordingly, the present invention also provides a storage medium. The storage medium may be a computer readable storage medium. The storage medium stores a computer program. The computer program is executed by at least one processor in the computer system to implement the flow steps of the embodiments of the video rendering method described above.
The storage medium may be a U-disk, a removable hard disk, a Read-Only Memory (ROM), a magnetic disk, or an optical disk, or other various computer-readable storage media that can store program codes.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps described in connection with the embodiments disclosed herein may be embodied in electronic hardware, in computer software, or in a combination of the two, and that the elements and steps of the examples have been generally described in terms of function in the foregoing description to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the several embodiments provided by the present invention, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of each unit is only one logic function division, and there may be another division manner in actual implementation. For example, multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed.
The steps in the method of the embodiment of the invention can be sequentially adjusted, combined and deleted according to actual needs. The units in the device of the embodiment of the invention can be combined, divided and deleted according to actual needs. In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The integrated unit may be stored in a storage medium if implemented in the form of a software functional unit and sold or used as a stand-alone product. Based on such understanding, the technical solution of the present invention is essentially or a part contributing to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a terminal, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention.
In the foregoing embodiments, the descriptions of the embodiments are focused on, and for those portions of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.
While the invention has been described with reference to certain preferred embodiments, it will be understood by those skilled in the art that various changes and substitutions of equivalents may be made and equivalents will be apparent to those skilled in the art without departing from the scope of the invention. Therefore, the protection scope of the invention is subject to the protection scope of the claims.

Claims (7)

1. A video rendering method, comprising:
if a preset video rendering instruction is received, generating a rendering list according to the preset video rendering instruction, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists;
If a preset idle slot allocation instruction sent by a preset output queue is received, acquiring a current frame index corresponding to the rendering list;
if the current frame index meets a preset detection condition, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index, and executing the plurality of sub rendering tasks in parallel;
if a preset state modification instruction sent to the preset output queue is detected, executing the main rendering task, adding 1 to an index value corresponding to the current frame index, and returning to execute the step of acquiring the current frame index corresponding to the rendering list until the index value corresponding to the current frame index is equal to the total frame number if a preset allocation idle slot instruction sent by the preset output queue is received;
if a preset completion instruction sent to the preset output queue is detected, storing a video frame obtained after the main rendering task is executed into an idle slot corresponding to the preset allocation idle slot instruction in the output queue;
the splitting the rendering list into a main rendering list and a plurality of sub rendering lists includes:
Judging whether the rendering list can be split according to the degree of entering of the nodes in the rendering list;
if the rendering list can be split, splitting the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists;
splitting the rendering list according to a preset list splitting method to obtain a main rendering list and a plurality of sub rendering lists, including:
searching a plurality of leaf nodes in the rendering list;
traversing nodes in the rendering list to a root node according to the plurality of leaf nodes respectively to obtain a plurality of sub rendering lists;
nodes corresponding to all nodes in the plurality of sub-rendering lists are removed from the rendering list to obtain a main rendering list.
2. The video rendering method according to claim 1, wherein if the current frame index satisfies a preset detection condition, comprising:
detecting whether the current frame count in a preset sequence lock is the current frame index;
and if the current frame count in the preset sequence lock is the current frame index, judging that the current frame index meets a preset detection condition.
3. The video rendering method according to claim 1, wherein the constructing a main rendering task and a plurality of sub rendering tasks from the main rendering list and the plurality of sub rendering lists, respectively, based on the current frame index, and executing the plurality of sub rendering tasks in parallel, comprises:
acquiring a preset frame loss mark related to a current video frame according to the current frame index, and judging whether the preset frame loss mark is a preset frame loss value or not;
if the preset frame loss mark is not the preset frame loss value, respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists, and executing the plurality of sub rendering tasks in parallel;
and if the preset frame loss mark is the preset frame loss value, storing the preset frame loss mark into an idle slot corresponding to the preset idle slot allocation instruction in the output queue.
4. The video rendering method according to claim 1, wherein if a preset completion instruction sent to the preset output queue is detected, storing a video frame obtained after the main rendering task is executed in a free slot corresponding to the preset allocation free slot instruction in the output queue, and further comprising:
If a preset frame acquisition instruction is received, acquiring the rendered video frame and a frame number corresponding to the video frame from the preset output queue;
and playing or exporting the video according to the video frame and the frame number.
5. A video rendering apparatus, comprising:
the generating unit is used for generating a rendering list according to a preset video rendering instruction if the preset video rendering instruction is received, and splitting the rendering list into a main rendering list and a plurality of sub rendering lists;
the first acquisition unit is used for acquiring a current frame index corresponding to the rendering list if a preset allocation idle slot instruction sent by a preset output queue is received;
the construction unit is used for respectively constructing a main rendering task and a plurality of sub rendering tasks according to the main rendering list and the plurality of sub rendering lists based on the current frame index if the current frame index meets a preset detection condition, and executing the plurality of sub rendering tasks in parallel;
a rendering unit, configured to execute the main rendering task if a preset state modification instruction sent to the preset output queue is detected, and add 1 to an index value corresponding to the current frame index at the same time, and return to execute the step of acquiring the current frame index corresponding to the rendering list if a preset allocation idle slot instruction sent by the preset output queue is received, until the index value corresponding to the current frame index is equal to a total frame number;
The storage unit is used for storing the video frames obtained after the main rendering task is executed into the idle slots corresponding to the preset allocation idle slot instructions in the output queue if the preset completion instructions sent to the preset output queue are detected;
wherein the generating unit includes:
the first judging unit is used for judging whether the rendering list can be split according to the degree of incorporations of the nodes in the rendering list;
the splitting unit is used for splitting the rendering list according to a preset list splitting method if the rendering list can be split, so as to obtain a main rendering list and a plurality of sub rendering lists;
the splitting unit specifically comprises searching a plurality of leaf nodes in the rendering list; traversing nodes in the rendering list to a root node according to the plurality of leaf nodes respectively to obtain a plurality of sub rendering lists;
nodes corresponding to all nodes in the plurality of sub-rendering lists are removed from the rendering list to obtain a main rendering list.
6. A computer device comprising a memory and a processor, the memory having stored thereon a computer program, the processor implementing the video rendering method of any of claims 1-4 when the computer program is executed.
7. A computer readable storage medium, characterized in that the storage medium stores a computer program which, when executed by a processor, implements the video rendering method according to any of claims 1-4.
CN202111333000.XA 2021-11-11 2021-11-11 Video rendering method, device, computer equipment and storage medium Active CN113923519B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111333000.XA CN113923519B (en) 2021-11-11 2021-11-11 Video rendering method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111333000.XA CN113923519B (en) 2021-11-11 2021-11-11 Video rendering method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113923519A CN113923519A (en) 2022-01-11
CN113923519B true CN113923519B (en) 2024-02-13

Family

ID=79246173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111333000.XA Active CN113923519B (en) 2021-11-11 2021-11-11 Video rendering method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113923519B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484487B (en) * 2022-08-23 2023-12-05 北京奇艺世纪科技有限公司 Video playing method and device, electronic equipment and storage medium
CN116866621B (en) * 2023-09-05 2023-11-03 湖南马栏山视频先进技术研究院有限公司 Cloud synchronization method and system for video real-time rendering

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0612028A2 (en) * 1993-02-15 1994-08-24 Canon Kabushiki Kaisha Image Processing
CN102685239A (en) * 2012-05-18 2012-09-19 北京尔宜居科技有限责任公司 Distribution type rendering method
CN103049924A (en) * 2012-12-11 2013-04-17 广东威创视讯科技股份有限公司 Multi-image-layer distribution type rendering method and system
CN103077088A (en) * 2013-01-17 2013-05-01 浙江大学 Method for balancing dynamic feedback load based on PKDT (Prediction KD Tree) in cluster rendering environment
CN103106679A (en) * 2013-01-05 2013-05-15 广东威创视讯科技股份有限公司 Method, system and platform for distributed type three-dimensional (3D) multichannel rendering
CN103310475A (en) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 Animation playing method and device
CN103544727A (en) * 2013-06-26 2014-01-29 Tcl集团股份有限公司 Scenario rendering and optimizing method, system and mobile terminal based on predict braches
CN104881320A (en) * 2015-05-22 2015-09-02 北京京东尚科信息技术有限公司 Scalable text generation method
CN106296785A (en) * 2016-08-09 2017-01-04 腾讯科技(深圳)有限公司 A kind of picture rendering intent and picture rendering apparatus
CN106469190A (en) * 2016-08-30 2017-03-01 广联达科技股份有限公司 Three-dimensional scenic management method and three-dimensional scenic management system
CN107333176A (en) * 2017-08-14 2017-11-07 北京百思科技有限公司 The method and system that a kind of distributed video is rendered
CN107845144A (en) * 2017-07-21 2018-03-27 浙江科澜信息技术有限公司 A kind of method of high-efficiency tissue and switching OpenGL rendering states
WO2018103218A1 (en) * 2016-12-08 2018-06-14 武汉斗鱼网络科技有限公司 Display processing method and device for ui interface
CN110213636A (en) * 2018-04-28 2019-09-06 腾讯科技(深圳)有限公司 Video frame generating method, device, storage medium and the equipment of Online Video
CN111026541A (en) * 2019-05-22 2020-04-17 珠海随变科技有限公司 Rendering resource scheduling method, device, equipment and storage medium
CN111427912A (en) * 2020-03-31 2020-07-17 拉卡拉支付股份有限公司 Task processing method and device, electronic equipment and storage medium
CN111612881A (en) * 2019-02-22 2020-09-01 深圳晶源信息技术有限公司 Multithreading-based image rendering method and system and electronic equipment
CN112423111A (en) * 2020-11-05 2021-02-26 上海哔哩哔哩科技有限公司 Graphic engine and graphic processing method suitable for player
CN112612597A (en) * 2020-12-30 2021-04-06 中国农业银行股份有限公司 Method and device for generating linear task queue
CN112929728A (en) * 2021-01-20 2021-06-08 北京奇艺世纪科技有限公司 Video rendering method, device and system, electronic equipment and storage medium
CN113407325A (en) * 2021-06-30 2021-09-17 深圳市斯博科技有限公司 Video rendering method and device, computer equipment and storage medium
CN113497898A (en) * 2020-04-02 2021-10-12 北京字节跳动网络技术有限公司 Video special effect configuration file generation method, video rendering method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2801971A1 (en) * 2013-05-10 2014-11-12 Rightware Oy A method of and system for rendering an image

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0612028A2 (en) * 1993-02-15 1994-08-24 Canon Kabushiki Kaisha Image Processing
CN103310475A (en) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 Animation playing method and device
CN102685239A (en) * 2012-05-18 2012-09-19 北京尔宜居科技有限责任公司 Distribution type rendering method
CN103049924A (en) * 2012-12-11 2013-04-17 广东威创视讯科技股份有限公司 Multi-image-layer distribution type rendering method and system
CN103106679A (en) * 2013-01-05 2013-05-15 广东威创视讯科技股份有限公司 Method, system and platform for distributed type three-dimensional (3D) multichannel rendering
CN103077088A (en) * 2013-01-17 2013-05-01 浙江大学 Method for balancing dynamic feedback load based on PKDT (Prediction KD Tree) in cluster rendering environment
CN103544727A (en) * 2013-06-26 2014-01-29 Tcl集团股份有限公司 Scenario rendering and optimizing method, system and mobile terminal based on predict braches
CN104881320A (en) * 2015-05-22 2015-09-02 北京京东尚科信息技术有限公司 Scalable text generation method
CN106296785A (en) * 2016-08-09 2017-01-04 腾讯科技(深圳)有限公司 A kind of picture rendering intent and picture rendering apparatus
CN106469190A (en) * 2016-08-30 2017-03-01 广联达科技股份有限公司 Three-dimensional scenic management method and three-dimensional scenic management system
WO2018103218A1 (en) * 2016-12-08 2018-06-14 武汉斗鱼网络科技有限公司 Display processing method and device for ui interface
CN107845144A (en) * 2017-07-21 2018-03-27 浙江科澜信息技术有限公司 A kind of method of high-efficiency tissue and switching OpenGL rendering states
CN107333176A (en) * 2017-08-14 2017-11-07 北京百思科技有限公司 The method and system that a kind of distributed video is rendered
CN110213636A (en) * 2018-04-28 2019-09-06 腾讯科技(深圳)有限公司 Video frame generating method, device, storage medium and the equipment of Online Video
CN111612881A (en) * 2019-02-22 2020-09-01 深圳晶源信息技术有限公司 Multithreading-based image rendering method and system and electronic equipment
CN111026541A (en) * 2019-05-22 2020-04-17 珠海随变科技有限公司 Rendering resource scheduling method, device, equipment and storage medium
CN111427912A (en) * 2020-03-31 2020-07-17 拉卡拉支付股份有限公司 Task processing method and device, electronic equipment and storage medium
CN113497898A (en) * 2020-04-02 2021-10-12 北京字节跳动网络技术有限公司 Video special effect configuration file generation method, video rendering method and device
CN112423111A (en) * 2020-11-05 2021-02-26 上海哔哩哔哩科技有限公司 Graphic engine and graphic processing method suitable for player
CN112612597A (en) * 2020-12-30 2021-04-06 中国农业银行股份有限公司 Method and device for generating linear task queue
CN112929728A (en) * 2021-01-20 2021-06-08 北京奇艺世纪科技有限公司 Video rendering method, device and system, electronic equipment and storage medium
CN113407325A (en) * 2021-06-30 2021-09-17 深圳市斯博科技有限公司 Video rendering method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN113923519A (en) 2022-01-11

Similar Documents

Publication Publication Date Title
CN113923519B (en) Video rendering method, device, computer equipment and storage medium
US9201693B2 (en) Quota-based resource management
EP3547715A1 (en) Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker
KR20070027613A (en) System for dynamic arbitration of a shared resource on a device
US11587560B2 (en) Voice interaction method, device, apparatus and server
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
US10447924B2 (en) Camera usage notification
US11209951B2 (en) Method and apparatus for displaying application program, terminal device, and storage medium
JP7481475B2 (en) Method and device for determining functional areas of dialogue text
TW202125274A (en) Method and apparatus for scheduling resource, electronic device and computer readable storage medium
CN115237613B (en) Multi-party secure computing task scheduling method and device and readable storage medium
CN110286954B (en) Application program starting method and device and storage medium
EP3945420A1 (en) Method and apparatus for data processing, server and storage medium
CN111026532B (en) Message queue management method for voice data
CN113407325A (en) Video rendering method and device, computer equipment and storage medium
CN111669599A (en) Video decoding method, video decoding device and terminal equipment
CN107124353B (en) Message processing method and device, computer device and storage medium
CN110457077B (en) Intelligent service method, device and equipment
CN113360254A (en) Task scheduling method and system
CN110874730B (en) Information processing method, information processing device and mobile terminal
CN110874723B (en) Electronic red envelope detection method, electronic red envelope detection device and mobile terminal
CN113268325A (en) Method, device and storage medium for scheduling task
WO2019237780A1 (en) Android system activity launching method and device
WO2020220534A1 (en) Middleware-based data processing method and related apparatus
CN111694628A (en) Page display method based on application program thread and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant