WO2013097210A1 - Online rendering method and offline rendering method and relevant device based on cloud application - Google Patents

Online rendering method and offline rendering method and relevant device based on cloud application Download PDF

Info

Publication number
WO2013097210A1
WO2013097210A1 PCT/CN2011/085117 CN2011085117W WO2013097210A1 WO 2013097210 A1 WO2013097210 A1 WO 2013097210A1 CN 2011085117 W CN2011085117 W CN 2011085117W WO 2013097210 A1 WO2013097210 A1 WO 2013097210A1
Authority
WO
WIPO (PCT)
Prior art keywords
rendering
frame
frames
unit
display unit
Prior art date
Application number
PCT/CN2011/085117
Other languages
French (fr)
Chinese (zh)
Inventor
朱旭琪
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201180003228.0A priority Critical patent/CN103299347B/en
Priority to PCT/CN2011/085117 priority patent/WO2013097210A1/en
Publication of WO2013097210A1 publication Critical patent/WO2013097210A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Definitions

  • the present invention relates to the field of rendering cloud applications, and more particularly to an online rendering method and an off-line rendering method and related apparatus based on a cloud application.
  • Cloud computing is highly virtualized with hardware resources and network storage, with efficient resource utilization and dynamic features, making it easy to perform the high-performance computing required for rendering.
  • Rendering a cloud-accelerated rendering task is handled internally in a similar way to rendering a cluster. It also breaks down the rendering tasks into small units and then uses the cloud's powerful computing power to perform these task units.
  • Embodiments of the present invention provide an online rendering method and an offline rendering method and related devices based on a cloud application, which are used to improve rendering efficiency.
  • An online rendering method based on cloud applications including:
  • the model file is divided into two display units, and the display unit is a minimum unit of compression and transmission, wherein each display unit includes several playing units.
  • Arranging adjacent frames wherein at least N r l display units include W frames;
  • W rendering units are assigned to W different rendering nodes for rendering.
  • An online rendering device based on a cloud application comprising:
  • a first receiving module configured to receive a rendering task request
  • a first determining module configured to determine, according to the rendering task request, a model file that needs to be rendered
  • a first decomposition module configured to divide the model file into two display units according to a playing order of each frame in the model file, where the display unit is compressed And a minimum unit of transmission; wherein each display unit includes a plurality of frames adjacent to each other in play order, wherein at least N r l display units include W frames; and a first combination module is used for each display unit
  • the frames in the same playing order are composed of the rendering units to obtain the W rendering units.
  • the playing order in the unit of each frame in the display unit is the playing order of the frame relative to other frames in the display unit to which it belongs.
  • the first allocation module is configured to allocate W rendering units to W different rendering nodes for rendering.
  • An offline rendering method based on a cloud application comprising:
  • the model file is divided into N 2 groups, wherein at least N 2 -1 groups include Z frames, Z is greater than 0 and less than the number of available rendering nodes;
  • the frames in the same playing order are grouped into rendering units to obtain Z rendering units, wherein the playing order of each frame in each group is the playing order of the frame relative to other frames in the group to which it belongs; Z rendering units are assigned to Z different rendering nodes for rendering.
  • An offline rendering device based on a cloud application comprising:
  • a second receiving module configured to receive a rendering task request
  • a third determining module configured to determine, according to the rendering task request, a model file that needs to be rendered
  • a second decomposition module configured to divide the model file into N 2 groups according to a playing order of each frame in the model file, where at least N 2 -1 groups contain Z frames, Z is greater than 0 and less than available rendering Number of nodes;
  • a second combination module configured to group the frames with the same playing order in each group into a rendering unit, to obtain Z rendering units, where the playing order of each frame in each group is the frame relative to the group to which it belongs The order in which other frames are played;
  • the second allocation module is configured to respectively allocate Z rendering units to Z different rendering nodes for rendering.
  • an embodiment of the present invention provides an online rendering method and an offline rendering method and related devices based on a cloud application.
  • online rendering according to a playback order of frames in a model file that needs to be rendered,
  • the model file is divided into a plurality of display units, and then frames with the same playing order in the display unit are combined into a rendering unit, wherein each rendering unit has different priorities regarding the playing order, and then each rendering unit is respectively assigned to a different rendering.
  • the node realizes frame parallel rendering of each display unit, and each display unit can be rendered in the order of playing time; in offline rendering, in order to save rendering time, rationally utilize resources, and perform task decomposition before rendering, effectively Improve the efficiency of rendering.
  • FIG. 1 is a flowchart of a cloud application-based online rendering method according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a cloud application-based online rendering method according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of another process of an online rendering method according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of an online rendering device based on a cloud application according to an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of another online rendering apparatus according to an embodiment of the present invention
  • FIG. 7 is a flowchart of an offline rendering method based on a cloud application according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of a conventional offline rendering method
  • FIG. 10 is a schematic structural diagram of an offline rendering device based on a cloud application according to an embodiment of the present disclosure
  • FIG. 11 is a schematic structural diagram of another offline rendering apparatus according to an embodiment of the present invention.
  • Embodiments of the present invention provide an online rendering method and an offline rendering method and related devices based on a cloud application, which are used to improve rendering efficiency.
  • the embodiment of the invention provides an online rendering method based on a cloud application.
  • the method includes:
  • step S101 and step S102 may be: the user triggers an online 3D application, which is equivalent to submitting an online rendering task request to the background, and determining a model file, or scene, to be rendered according to the online rendering task request.
  • Document 1 the user triggers an online 3D application, which is equivalent to submitting an online rendering task request to the background, and determining a model file, or scene, to be rendered according to the online rendering task request.
  • the model file may be obtained in advance, or may be obtained by real-time calculation of the frame information in the model file according to the trigger condition; it is not specifically limited herein.
  • the model file to be rendered contains a frame
  • M in the model file is divided into display units according to the playing order of each frame in the model file
  • the display unit is the smallest unit of compression and transmission
  • the display unit includes a plurality of frames adjacent to each other in the playing order, that is, the frames in each display unit are a set of frames arranged in the playing order thereof, and at least N r l display units in the plurality of display units Contains W frames.
  • the total number of frames in the rendered model file can be set to be a frame
  • the expression indicates that when it can be divisible by W, the display unit is one, and each display unit contains W frames; when it cannot be divisible by W, the fractional part of the result is rounded off, and the integer part is + 1 It is found that the number of display units is N l , wherein the first N r l display units contain W frames, and the last display unit has (M Ni- x W ) frames.
  • the frame of the same playback order in each unit of the display unit is composed into a rendering unit, to obtain W rendering units, where the playing order of each frame in the display unit is the frame relative to other frames in the display unit to which the frame belongs. Play order
  • the first frame played in the unit is composed into a rendering unit.
  • the second frame played in the unit is composed into a rendering unit, and so on, and the W frames played in the unit are composed.
  • a rendering unit so that to get W rendering units.
  • the playing order in the unit of each frame in the display unit is the playing order of the frame relative to other frames in the display unit to which it belongs;
  • the first frame played in the first display unit is the first frame played by all the frames of the model file, and if the model file includes a display unit, Frame, the last frame played in the unit is the Wth frame of all frames of the model file; if the first frame played in the last display unit is the first frame of the model file ( ( Nrl ) x W+1 ) frames played, the last frame played in the unit is the XWth frame of all frames of the model file.
  • the cloud application-based online rendering method provided in this embodiment is applicable not only to a 3D animation model file that needs to be rendered in advance, but also to real-time calculation of each frame scene by an artificial intelligence or the like.
  • a model file of content and parameters that is, the model file is obtained by real-time calculation of the information of the frame according to the trigger condition;
  • the frame may be first divided into several display units, and then decomposed into W rendering units.
  • each frame is calculated in real time according to the playing order of the frame, And sequentially assigned to W rendering units frame by frame, and assigned to W different rendering nodes for rendering. In essence, they are all rendered by a frame that is composed of the same playback order in each unit of the display unit.
  • the cloud application-based online rendering method divides the model file into a plurality of display units according to the playing order of the frames in the model file to be rendered, and then renders the frames with the same playing order in the display unit. a unit, wherein each rendering unit has a different priority with respect to the playing order, and then each rendering unit is respectively assigned to a different rendering node, that is, the task is decomposed before rendering, and the frame parallel of each display unit is realized. Rendering, try to ensure that they complete rendering at the same time; and each display unit can be rendered in the order of playback time, which effectively improves the rendering efficiency.
  • the embodiment of the invention further provides an online rendering method based on a cloud application, which performs evaluation of the rendering capability of the allocated rendering nodes to undertake rendering tasks of rendering units of different priorities.
  • the method includes:
  • step S201 is the same as that of step S101
  • step S202 is the same as that of step S102, and the related description may be referred to, and will not be specifically described herein.
  • each display unit is a minimum unit of compression and transmission, where each display unit includes a plurality of frames adjacent to the play order, where At least N r l display units include W frames;
  • the model file to be rendered may be a 3D animation sequence containing frames; according to the playing order of each frame in the model file, the M in the model file is divided into display units.
  • the display unit is a minimum unit of compression and transmission; each display unit includes a plurality of frames adjacent to each other in play order, that is, each display unit is a set of frames arranged in the play order of the frames therein, and At least N r l display orders in the display unit
  • the element includes W frames, wherein the first N r l display units include W frames, and the N 1 display unit includes (M ( N l ) W ) frames.
  • the expression indicates that when Mi can be divisible by W, the display unit is one, and each display unit contains W frames; when it cannot be divisible by W, the fractional part of the result is rounded off, the integer part +1 indicates that the number of display units is N. Among them, there may be W frames in one display unit, and (M Ni-x W ) frames in the last display unit.
  • T CT is the total time required for the difference compression (Compression) and transmission (Transmission) W frame, and resolution Res, network speed B, display unit size W and the difference encoding compression ratio R used;
  • T tol is the tolerance time, that is, the sum of the system waiting time and the frameless compensation time after the last frame rendering in one display unit is completed.
  • f is the frame rate, the unit is s (frames per second), which is the number of frames played per second.
  • the rendering result of the 3D animation model file is an image sequence
  • the image sequence obtained after the rendering is completed needs to be subjected to difference encoding and network transmission difference encoding
  • the difference encoding refers to a series of images rendered (equivalent In the process of compressing one frame and one frame in the video, when the compression of the first image is completed, the other images in the back can be compared with the first image, and then the difference image, that is, the two images. Different parts are compressed, which can get better compression effect.
  • the resolution res can also be called resolution, which is the precision of the screen image, which refers to the number of pixels that the display can display;
  • the lack of frame compensation means that the frame that has not been completed within the waiting time cannot be processed, and the image frame method such as motion prediction and interpolation needs to be used to estimate the frame image by using the obtained frame before and after the playback order. For example, if the 10th frame in a display unit is not completed within the waiting time, the ninth and eleventh frames can be used to estimate the 10th frame, so that all the frames of one display unit are completed.
  • the frame number of the forward and backward reference may be changed, and may not be one frame, and may be two frames or three frames, which is not specifically limited herein.
  • the frame rate f can be considered as given.
  • the average network speed B, the difference code compression ratio R and the tolerance time T tol of the current or time period can be collected inside the system.
  • the maximum single frame rendering time max(t!(res), t 2 (res), ...ti(res), ...t w (res)) is not strongly correlated with W, so the system can be used.
  • the maximum rendering time of the empirical value estimate is represented; the local configuration and rendering time can also be provided by the user as a reference, and combined with the configuration of the current rendering node, the maximum single frame rendering time is comprehensively estimated.
  • the frame of the same playback order in each unit of the display unit is formed into a rendering unit, to obtain W rendering units, where the playing order of each frame in the display unit is the frame relative to other frames in the display unit to which the frame belongs. Play order
  • each frame is played in the order of playing in each display unit.
  • the frame in the display unit is given a frame number;
  • the frame number "1" can be given.
  • the frame number "2" can be given, and so on, for the display unit.
  • the frame number "i” can be given, and the frame number "W” can be given to the last frame in the display unit, that is, the Wth frame. " , so that the same frame number can be given to the frames in the same playback order in the units in each display unit.
  • the frames having the same playing order in the units in each display unit are combined into a rendering unit, and the frames in which the same frame number is given in each display unit may be composed into one rendering unit;
  • a frame with a frame number "1" is assigned to form a rendering unit.
  • a rendering unit composed of a frame with a frame number "1” can be recorded as a rendering unit 1.
  • the rendering unit composed of the frame number given with the frame number "2" is referred to as the rendering unit 2, and so on, and the rendering unit composed of the frame to which the frame number "i" is given can be referred to as the rendering unit i, and the frame number is given.
  • the rendering unit composed of the frame of W" can be recorded as the rendering unit W, so that the frames with the same playing order in the units in each display unit can be composed into the rendering unit to obtain W rendering units.
  • the playing order in the unit of each frame in the display unit is the playing order of the frame relative to other frames in the display unit to which it belongs;
  • the frame to which the frame number "1" is given in the first display unit is the first frame of the frame of all the model files, which is given the frame number "W".
  • the frame is the Wth played frame of all the frames of the model file, but the frame given the frame number "1" in the second display unit is the first frame played in the second display unit, but the frame is the model.
  • the W+1th frame of all the frames of the file is the 2 x W play frames of all frames of the model file; therefore, for the second and subsequent kth display units , k is an integer greater than 1 and less than ⁇ , and the frame given the frame number "1" in the unit is the ((k-1) X W+1) played frame of all frames of the model file, which is given the frame
  • the frame of the serial number "W” is the kxth frame of the frame of all the model files.
  • the frame number of each frame in the display unit can be given in the order of play, as shown in the frame in the figure.
  • the order of these frames in the entire model file is the number shown on the horizontal axis below. 3, it is considered that the model file preclude the use of cross-frame is decomposed to achieve the rendering.
  • step S203 and step S204 the frames decomposed into the same rendering unit can be assigned the same frame number according to the playing order of the frames; it can be understood that the decomposed rendering units have different meanings regarding the playing order.
  • Priority since the priority of each rendering unit is determined by the playback time sequence of the frames it contains, there are no two frames played at the same time, so the playback time must be sequential, so each rendering unit must have different priorities. level.
  • each frame has a smaller frame number, the frame needs to be played earlier, and is also a reference object of the subsequently played frame.
  • a related description about the difference image compression process may be contacted to indicate the frame to be played later. Compression is done with the previous frame as the reference object.
  • a rendering unit including a frame having a small frame number can be considered to have a high priority, and a rendering unit including a frame having a large frame number can be considered to have a low priority.
  • the high-priority rendering unit needs to be handed over to the rendering node with strong rendering capability
  • the low-priority rendering unit needs to be handed over to the rendering node with weak rendering capability.
  • the rendering nodes are sequentially assigned to the rendering nodes from strong to weak according to the priority of the rendering unit from high to low.
  • the rendering ability of the rendering node can be evaluated and determined by hardware configuration information and real-time load statistics.
  • the hardware configuration information of the rendering node may mainly include the following parameters: memory size, swap area SWAP size, CPU (Central Processing Unit) core and its processing speed, file system size, network bandwidth, etc.
  • the real-time load statistics can include the following parameters: memory, swap area, CPU and file system occupancy, process, number of threads, network transfer rate, and so on. These parameters are comprehensively scored, and the ability scores of each render node are calculated. For example, the strength of the marked rendering capability is 0 to 100 points, and the rendering node with the highest score indicates that the rendering node has the strongest rendering capability.
  • the W rendering nodes with the strongest rendering ability in the system are selected to participate in the rendering of the W rendering units; if the W rendering nodes participating in the rendering are marked according to the strength of the rendering capability, the rendering capability is the most A strong render node is denoted as render node 1, and so on, and the render node with the weakest rendering ability can be recorded as the render node W. S206.
  • the W rendering units are respectively allocated to the W rendering nodes that have the strongest rendering capability for rendering, and the rendering units composed of the frames with the earlier playing order in the display unit are sequentially allocated to the rendering nodes with stronger rendering capabilities. Rendering, and assigning a rendering unit consisting of a frame having a lower playing order in the display unit to a rendering node having a weak rendering capability for rendering;
  • the rendering unit composed of the frame with the earlier playing order in the display unit is allocated to the rendering node with stronger rendering ability for rendering; as shown in step S204, the frame given the frame number "1" can be rendered.
  • the unit is denoted as rendering unit 1, and the frame given the frame number "1" can be represented as the first played frame in the display unit to which it belongs, so it can be considered that the rendering unit 1 is assigned to the rendering with the strongest rendering ability. Node 1 is rendered;
  • the rendering unit 2 is assigned to the rendering node 2 for rendering; and so on, the rendering unit composed of the frames with the later playing order in the display unit is assigned to the rendering node with weak rendering ability for rendering, and the frame is to be given
  • the frame of the serial number "W" can be regarded as the last played frame in the display unit to which it belongs, and the rendering unit W is assigned to the rendering node W having the weakest rendering ability for rendering.
  • the rendering capability of the rendering node allocated to the rendering unit to which the unfinished frame belongs in the display unit is scored again within the waiting time, and the waiting time is The waiting time in the tolerance time in step S203, wherein the tolerance time is the sum of the waiting time of the system and the time of the frameless compensation after the last frame rendering in one display unit is completed.
  • rendering node If there is a rendering node that does not participate in the task and the score is higher than the rendering node of the currently unfinished rendering task, then the rendering node is replaced, and the new rendering node completes the subsequent frame of the rendering unit originally rendered by the replaced rendering node. Rendering task. If there are multiple rendering nodes that need to be replaced, the rendering nodes of the corresponding rendering capabilities are assigned according to the priority of the rendering unit.
  • the cloud application-based online rendering method provided in this embodiment is applicable not only to a 3D animation model file that needs to be rendered in advance, but also to real-time calculation of each frame scene by an artificial intelligence or the like.
  • a model file of content and parameters, that is, the model file is obtained by real-time calculation of the information of the frame according to the trigger condition;
  • the frame may be first divided into several display units, and then decomposed into W rendering units. , assigned to W different rendering nodes for rendering, please refer to Figure 3;
  • each frame is calculated in real time according to the play order of the frame, and is sequentially allocated to W rendering units frame by frame, and allocated. Rendering for W different render nodes, see Figure 4. In essence, they are all rendered by a frame that is composed of the same playback order in each unit of the display unit.
  • the online rendering method based on the cloud application provided by the embodiment, according to the playing sequence of the frame in the model file to be rendered, the model file is divided into several display units, and then the frames with the same playing order in the display unit are rendered. a unit, wherein each rendering unit has a different priority with respect to the playing order, and then is sequentially assigned to a rendering node with a rendering capability from strong to weak according to the priority of the rendering unit from high to low.
  • the task is decomposed before rendering, but also the frame parallel rendering of each display unit is realized, which effectively improves the rendering efficiency, and also performs task scheduling for the decomposition result, and renders the rendering node before assigning the rendering node. Perform strength and weakness assessments to make rendering more reasonable.
  • the following embodiment uses an online 3D animation design rendering cloud application as an example application scenario, and specifically describes the online rendering method proposed by the present invention.
  • This embodiment can be a network working situation of a professional animator or a self-oriented self.
  • 3D creative entertainment After completing a certain animation design, the user needs to preview his own creation effect on the line. At this time, the user sends a request to render the specified animation to the rendering cloud server, and the server can analyze and obtain according to the user's model file/scene file and other materials. The total number of frames, frame rate, resolution, etc. that need to be rendered, and then rendered using the method proposed by the present invention.
  • each rendering node it is scored and named according to the rendering ability from strong to weak, that is, the rendering node 1 has the highest score, indicating that the rendering capability is the strongest, and the rendering capability of the rendering node 50 is the weakest.
  • the maximum time to render a frame is max res t ⁇ res tiOes), ••• wOes)) is 500ms. It is known that the number of rendering nodes available in the system is 50, and the frame rate f is 24 ⁇ ⁇ . According to the calculation method of W above, 4 It is estimated that after several attempts, the size of the display unit is 24, and the time T CT and the tolerance time T tol of the difference compression and transmission are 100 ms in total.
  • the total number of rendered frames in the embodiment is 2400 frames
  • the first, second, second, second, second, and second frames are the first rendering unit; the second, the second, the second, the second and second
  • the first to the 2400th frames are cross-decomposed into 24 rendering units, and are divided into 100 display units of a group of 24 frames in the order in which the frames are played.
  • the rendering unit 1 can be assigned to the rendering node 1 for rendering, and so on, and the rendering unit 24 can be assigned to the rendering node 24 for rendering.
  • the rendering node 20 is re-scored, and the other is not The current scores of the participating render nodes 25-50 are compared. If it is found that the score of the rendering node 25 is higher than the rendering node 20 at this time, then the rendering node 25 is used instead of the rendering node 20, and the subsequent rendering task of the rendering unit 20 is performed, that is, the 44th, 68, 2396 frames are rendered.
  • the cloud application-based online rendering method proposed by the present invention divides 2400 frames in the model file into 100 display units according to the playback order of the frames in the model file to be rendered, and then displays the display unit.
  • Frames with the same playback order form a rendering unit to get 24 rendering units.
  • each rendering unit has a different priority with respect to the playing order, and then according to the rendering unit
  • the priority levels are assigned from high to low, and are sequentially assigned to rendering nodes with strong rendering capabilities, that is, rendering units 1-24 are sequentially assigned to rendering nodes 1-24. In this way, after the user issues a preview request, it can wait up to 600ms to see the continuous and smooth rendered animation.
  • This embodiment uses the cloud application-based online rendering method proposed by the present invention, which not only decomposes the task before rendering according to the playing order of the frame, but also realizes frame parallel rendering of each display unit, effectively improving the rendering.
  • the efficiency of the task is also scheduled for the result of the decomposition, that is, the higher the priority of the rendering unit, the stronger the rendering ability of the rendering node, making the rendering more reasonable; in line with the real-time requirements of online rendering, high timeliness, users Experience is good.
  • the method of the present invention can also be applied to an online 3D game scene under the premise that the speed of network transmission, I/O storage, and rendering can meet the real-time interaction requirements of the game.
  • the method provided by the embodiment of the present invention can be used for task decomposition and scheduling to implement rendering.
  • the specific process can refer to the content of the relevant steps of the method embodiment, which will not be described in detail herein;
  • the logic of the game engine needs to perform real-time calculation of each frame scene by the operation of artificial intelligence, as shown in FIG. 4, the specific process can refer to the content of the relevant steps of the method embodiment, which will not be described in detail herein.
  • the embodiment uses the online rendering method proposed by the present invention, which effectively improves the rendering efficiency, meets the requirements of online rendering real-time, has high timeliness, and has a good user experience.
  • the embodiments of the present invention further provide related devices for implementing the foregoing solutions.
  • An embodiment of the present invention provides an online rendering device based on a cloud application, and a schematic structural diagram thereof is shown in FIG. 5.
  • the device includes:
  • the first receiving module 101 is configured to receive a rendering task request.
  • a first determining module 102 configured to determine, according to a rendering task request, a model file that needs to be rendered
  • a first decomposition module 103 configured to divide the model file into a display unit according to a playing order of each frame in the model file, where the display unit is a minimum unit of compression and transmission; wherein each display unit includes a plurality of frames adjacent to each other in play order, wherein at least N r l display units include W Frames
  • the first combination module 104 is configured to form a frame with the same playing order in each unit of the display unit to obtain a rendering unit, where the playing order of each frame in the display unit is the frame relative to the frame. Display the playing order of other frames in the unit;
  • the first allocation module 105 is configured to allocate W rendering units to W different rendering nodes for rendering.
  • the cloud application-based online rendering device divides the model file into a plurality of display units according to the playing order of the frames in the model file to be rendered, and then renders the frames with the same playing order in the display unit. a unit, wherein each rendering unit has a different priority with respect to the playing order, and then each rendering unit is respectively assigned to a different rendering node, that is, the task is decomposed before rendering, and the frame parallel of each display unit is realized. Rendering, try to ensure that they complete rendering at the same time; and each display unit can be rendered in the order of playback time, which effectively improves the rendering efficiency.
  • an embodiment of the present invention further provides an online rendering device based on a cloud application, including: a first receiving module 101, a first determining module 102, a first splitting module 103, a first combining module 104, and an evaluating module 106.
  • the second determining module 107, the first allocating module 105, wherein the first receiving module 101, the first determining module 102, and the first splitting module 103 can be specifically implemented according to the function module function description in the foregoing device embodiment, where Explain in detail.
  • the first combination module 104 in this embodiment may include:
  • the first frame numbering sub-module 1041 is configured to assign a frame number of the same frame to the same playing sequence in the unit in each display unit according to the playing sequence of the frames in each display unit;
  • the first combination sub-module 1042 is configured to group the frames in the respective display units with the same frame number into one rendering unit.
  • the evaluation module 106 in the embodiment of the present invention is configured to evaluate the strength of the rendering capability of the rendering node by rendering the hardware configuration information of the node and the real-time load statistics.
  • the second determining module 107 is configured to determine that the W rendering nodes with the strongest rendering capability participate in the rendering of the W rendering units obtained by the first combining module 104.
  • the first distribution module 105 is instructed to perform an action.
  • the first distribution module 105 may include: a first allocation sub-module 1051, configured to allocate W rendering units to the W rendering nodes determined by the second determining module 206 to perform rendering;
  • the second allocation sub-module 1052 is configured to sequentially allocate a rendering unit consisting of a frame with a higher playing order in the display unit to a rendering node with a stronger rendering capability, and perform a rendering of a frame having a lower playing order in the belonging display unit.
  • the rendering unit is assigned to render nodes with weak rendering capabilities for rendering.
  • cloud application-based online rendering device provided in this embodiment may be implemented by using the method in the foregoing method embodiment, and the specific implementation process may refer to the related description of the foregoing method embodiment. I will not repeat them here.
  • the online rendering device based on the cloud application provided by the above embodiment performs the decomposition of the task before rendering, realizes the parallel rendering of each display unit, and ensures that they are simultaneously rendered at the same time; and each display unit can follow The playback time sequence is rendered, which effectively improves the rendering efficiency.
  • An embodiment of the present invention provides an offline rendering method based on a cloud application.
  • the method includes:
  • step S301 and step S302 may be: the user triggers a self-service rendering service, which is equivalent to submitting an offline rendering task request to the background, and determining a model file to be rendered according to the offline rendering task request, or Scene file
  • the model file may be a self-service rendering or rendering corresponding model file such as a farm, which is not specifically limited herein.
  • N 2 groups divide the model file into N 2 groups according to a play order of each frame in the model file, where at least N 2 -1 groups include Z frames, where Z is greater than 0 and less than the number of available render nodes; S301 and S302 can know that if the model file to be rendered includes an M 2 frame; according to the playing order of each frame in the model file, the M 2 frame in the model file is divided into N 2 groups; each group includes several playing sequences. adjacent frames, i.e., each group is a collection of frames arranged in order of playback within its frame, and at least N 2 -l groups contained in Z frames in the N 2 groups.
  • the expression indicates that when M 2 can be divisible by Z, it is divided into N 2 groups, and each group contains Z frames; when M 2 cannot be divisible by Z, the fractional part of the result is discarded.
  • the integer part +1 gives the number of packets as N 2 , where it can be that the first N 2 - l groups contain Z frames, and the last group has (M 2 -( N 2 - l) x Z ) frame.
  • the first frame played in the group is composed into a rendering unit.
  • the second frame played in the group is composed into a rendering unit, and so on, and the Z frames in the group are composed into one frame. Render the unit so that you get Z rendering units.
  • the intra-group play order of each frame in each group is the play order of the frame relative to other frames in the group to which it belongs;
  • the first frame played in the first group is the first frame played in the frame of the model file, if the model file N contains 2 Z groups.
  • the last frame played in the group is the Zth frame of all frames of the model file; if the first frame played in the last group is the first frame of the model file ((N 2 - l) ⁇ ⁇ +1) played frames, the last frame played in the group is the N 2 x Z play frames of all frames of the model file.
  • a frame number is assigned to a frame in each group according to a play sequence of frames in each group;
  • the frame number "1" can be given.
  • the frame number "2" can be given, and so on, for the first in the group.
  • the frame having the same playing order in each group is composed of a frame, and the frame with the same frame number in each group is composed into one rendering unit;
  • the frame with the frame number "1" is assigned to form a rendering unit.
  • the rendering unit composed of the frame with the frame number "1" can be recorded as the rendering unit 1.
  • the rendering unit composed of the frame number given with the frame number "2" is denoted as the rendering unit 2, and so on, and the rendering unit composed of the frame given the frame number "X" can be recorded as the rendering unit X, and the frame number is given.
  • the rendering unit of the frame can be recorded as a rendering unit, so that the frames with the same playing order in each group can be composed into rendering units to obtain one rendering unit.
  • the frame given the frame number "1" in the first group is the first frame of the frame of all the model files, which is given the frame number " ⁇ ".
  • the frame is the next frame played by all frames of the model file, but for the frame in the second group that is given the frame number " ⁇ " is the first frame played in the second group, but the frame is the entire frame of the model file.
  • the Z+1th frame, the frame to which the frame number " ⁇ " is given is the second frame of the frame of all the model files; therefore, for the second and subsequent yth groups, y is greater than 1 and less than An integer of N 2 whose frame is given the frame number "1" is the ((y-1) xZ+1)-played frame of all the frames of the model file, and the frame to which the frame number "Z” is given is
  • the yxZ-played frames of all frames of the model file as shown in FIG. 8, frame numbers can be assigned to the frames in each group according to the play order, as shown in the frame, and the order of the frames in the entire model file. Is the number shown on the horizontal axis below; as shown in Figure 8, it can be considered that the frame in the model file is By decomposition to achieve cross-rendering.
  • a rendering unit composed of frames of the frame number "1" in each group can be recorded as the rendering unit 1, and similarly, a rendering unit composed of frames with the frame number "2" can be composed. It can be recorded as rendering unit 2, and so on, the rendering unit composed of the frame given the frame number "Z" can be recorded as the rendering unit Z; for ease of understanding, the rendering node rendering the rendering unit 1 can be recorded as a rendering node 1. Similarly, the rendering node that renders the rendering unit 2 can be recorded as the rendering node 2, and so on, and the rendering node that renders the rendering unit Z can be recorded as the rendering node Z.
  • the cloud application-based offline rendering method proposed by the present invention according to a frame in a model file that needs to be rendered
  • the playing sequence divides the model file into several groups, and then frames the same playing sequence in the group into a rendering unit, and then assigns each rendering unit to a different rendering node, which can make the rendering task decomposition more reasonable. , improve rendering efficiency, thus reducing the rendering time to complete the entire task.
  • an application scenario of a 3D animation model file rendering cloud application is taken as an example, and the offline rendering method based on the cloud application is specifically described.
  • the rendering unit (sharding) is generated step by piece according to the time sequence of the frame, and each fragment is randomly selected by the same probability to render the rendering node.
  • the number of rendering nodes participating in the rendering is mainly in the embodiment, and the number of rendering nodes is set to .
  • the rendering node 1 can be set to render rendering unit 1, ie, 1st to 100th Frame, render node 2 renders render unit 2, ie 101st to 200th frames, and so on. Since the complexity and setting of each frame of the animated model file are different, it can be assumed that most of the frames need to be completed every 20s per frame, but the 505th to 600th frames need to be completed for 50s per frame.
  • the rendering node 1 can complete the rendering task of the allocated rendering unit 1 in 2000s
  • the time required to complete the rendering of the entire animated model file is the maximum rendering time of the rendered rendering unit for each rendering node, ie 4880s. It can be found that at this time, the other 23 rendering nodes complete the task in 2000s, and then all wait for the rendering node 6, so the completion of the entire task is delayed.
  • FIG. 8 The same 2400 frames are rendered, the number of participating rendering nodes is 24, and the rendering unit size is 100.
  • the decomposition results of its tasks can be referred to Table 2:
  • 1 25 49 73 2353 2377 frame is the first rendering unit, assigned to rendering node 1; 2 26 50 74 2354 2378 frame is the second rendering unit, assigned to rendering node 2; analogy.
  • the 506th to 600th frames which are thus rendered for a long time, are distributed to all 24 rendering nodes for processing.
  • the rendering unit 2 of the rendering 2 includes the four complex frames 506, 530, 554, and 578, and the total time is also 2120s, and so on. In this way, all render nodes complete the assigned render unit with 2120s, and the total task time is 2120s. Compared to the 4880s used in the prior art method, the rendering time is greatly reduced.
  • the offline rendering method based on the cloud application proposed by the embodiment of the invention can make the rendering task decomposition more reasonable, improve the rendering efficiency, and shorten the rendering time of completing the entire task.
  • online rendering cloud applications also face different rendering time of each frame, but it is less likely to be due to large differences in complexity between adjacent consecutive frames; and tolerance time during rendering It is also set to take into account the effects of small differences that may exist between successive frames of complexity.
  • the assumption of rendering time is only to simulate the actual situation in a simple and clear way, and in actual cases, the rendering time of each frame is continuously floating and changing, which is not so simple. split into two. However, this assumption is similar to the actual situation and can fully explain the problems faced.
  • the embodiments of the present invention further provide related devices for implementing the foregoing solutions.
  • An embodiment of the present invention provides an offline rendering device based on a cloud application.
  • the device includes:
  • a second receiving module 301 configured to receive a rendering task request
  • the third determining module 302 is configured to determine, according to the rendering task request, the model file that needs to be rendered; the second decomposition module 303 is configured to divide the model file into N 2 groups according to a playing order of each frame in the model file, where at least There are Z frames in N 2 -1 groups, Z is greater than 0 and less than the number of available rendering nodes;
  • the second combining module 304 is configured to group the frames with the same playing order in each group into the rendering unit to obtain Z rendering units, wherein the playing order of each frame in each group is the group relative to the group to which the frame belongs. The order in which other frames are played;
  • the second allocation module 305 is configured to respectively allocate Z rendering units to Z different rendering nodes for rendering.
  • the second combining module 304 in the offline rendering apparatus may include:
  • the second frame numbering sub-module 3041 is configured to assign a frame number of the same frame to the same playing sequence in each group according to the playing sequence of the frames in each group;
  • the second combination sub-module 3042 is configured to form frames of the same frame number in each group into one rendering unit.
  • cloud application-based offline rendering device provided in this embodiment may be implemented in accordance with the method in the foregoing method embodiment, and the specific implementation process may refer to the related description of the foregoing method embodiment. I will not repeat them here.
  • the offline rendering device based on the cloud application proposed by the embodiment of the invention can make the rendering task decomposition more reasonable, improve the rendering efficiency, and shorten the rendering time of completing the entire task.
  • a person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to the program instructions.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Abstract

Disclosed are an online rendering method and offline rendering method and relevant device based on cloud application, for improving rendering efficiency. The embodiments of the present invention include: receiving a rendering task request; determining a model file to be rendered according to the rendering task request; dividing the model file into N1 display units according to the play order of each frame in the model file, the display unit being the minimum unit for compression and transmission, wherein each display unit contains several frames, the play orders of which are adjacent, with at least N1-1 display units including W frames; composing the frames with the same intra-unit play order in each display unit into a rendering unit so as to obtain W rendering units, wherein the intra-unit play order of each frame in the display unit is the play order of the frame relative to other frames in the display unit to which it belongs; and respectively allocating W rendering units to W different rendering nodes for rendering.

Description

基于云应用的在线渲染方法和离线渲染方法及相关装置 技术领域  Online application method and offline rendering method based on cloud application and related device
本发明涉及渲染云应用领域,尤其是一种基于云应用的在线渲染方法和离 线渲染方法及相关装置。  The present invention relates to the field of rendering cloud applications, and more particularly to an online rendering method and an off-line rendering method and related apparatus based on a cloud application.
背景技术 Background technique
近年来, 云计算的出现与渲染服务应用的需求不谋而合, 诞生了渲染云。 云计算通过对硬件资源和网络存储的高度虚拟化 ,具有高效资源利用率和动态 特性, 可以很容易地完成渲染所需的高性能计算。 渲染云加速渲染任务的内部 处理方式与渲染集群类似,也是将渲染任务分解为小单元,再利用云的强大计 算能力来执行这些任务单元。  In recent years, the emergence of cloud computing coincides with the needs of rendering service applications, and the rendering cloud has been born. Cloud computing is highly virtualized with hardware resources and network storage, with efficient resource utilization and dynamic features, making it easy to perform the high-performance computing required for rendering. Rendering a cloud-accelerated rendering task is handled internally in a similar way to rendering a cluster. It also breaks down the rendering tasks into small units and then uses the cloud's powerful computing power to perform these task units.
渲染云的应用方式主要分为两类: 一是自助式渲染服务, 用户可以自己递 交、控制渲染任务, 目的是借助渲染云的强大计算能力快速完成大量的渲染工 作, 也可称为离线渲染 (Offline Rendering) , 通常用在 3D动画制作、 电影特 效等领域, 可以为了追求真实感而消耗大量计算资源和时间; 二是支持各 种在线的渲染应用, 称为实时渲染(Real-time Rendering)或在线渲染, 由于 在线渲染应用的业务形式非常丰富,并且随着人们在各个领域对特效等视觉效 果的更高追求, 其应用范围将急速扩张。 例如在线的三维(3D, 3-Dimensions ) 设计、 3D导航、 3D展示, 甚至随着网络的能力提升也可以支持实时的 3D游 戏等。  There are two main types of application methods for rendering clouds: First, self-service rendering services, users can submit and control rendering tasks themselves. The purpose is to quickly complete a large number of rendering tasks by rendering the cloud's powerful computing power. It can also be called offline rendering ( Offline Rendering), commonly used in 3D animation, film effects, etc., can consume a lot of computing resources and time for the pursuit of realism; Second, support a variety of online rendering applications, called Real-time Rendering (Real-time Rendering) or Online rendering, due to the rich business form of online rendering applications, and the increasing pursuit of visual effects such as special effects in various fields, its application range will rapidly expand. For example, online 3D (3-Dmensions) design, 3D navigation, 3D display, and even real-time 3D games can be supported as the network improves.
可是目前基于云应用的渲染, 其渲染效率不高, 用户体验较差。  However, current cloud-based renderings have low rendering efficiency and poor user experience.
发明内容 Summary of the invention
本发明实施例提供了一种基于云应用的在线渲染方法和离线渲染方法及 相关装置, 用于提高渲染效率。  Embodiments of the present invention provide an online rendering method and an offline rendering method and related devices based on a cloud application, which are used to improve rendering efficiency.
有鉴于此, 本发明实施例提供:  In view of this, the embodiments of the present invention provide:
一种基于云应用的在线渲染方法, 包括:  An online rendering method based on cloud applications, including:
接收渲染任务请求;  Receiving a rendering task request;
根据渲染任务请求确定需要渲染的模型文件;  Determining the model file to be rendered according to the rendering task request;
按照模型文件中各帧的播放顺序, 将该模型文件划分为 ^个显示单元, 显示单元是压缩和传输的最小单位, 其中,每个显示单元中包含若干个播放顺 序相邻的帧, 其中至少有 Nrl个显示单元中包含 W个帧; According to the playing order of each frame in the model file, the model file is divided into two display units, and the display unit is a minimum unit of compression and transmission, wherein each display unit includes several playing units. Arranging adjacent frames, wherein at least N r l display units include W frames;
将各显示单元中单元内播放顺序相同的帧组成渲染单元, 以得到 W个渲 染单元, 其中,显示单元中每个帧的单元内播放顺序为该帧相对于其所属显示 单元中其它帧的播放顺序;  Forming a rendering unit with the same playing order in each unit of the display unit to obtain W rendering units, wherein the playing order of each frame in the display unit is the playing of the frame relative to other frames in the display unit to which it belongs Order
将 W个渲染单元分别分配给 W个不同的渲染节点进行渲染。  W rendering units are assigned to W different rendering nodes for rendering.
一种基于云应用的在线渲染装置, 包括:  An online rendering device based on a cloud application, comprising:
第一接收模块, 用于接收渲染任务请求;  a first receiving module, configured to receive a rendering task request;
第一确定模块, 用于根据渲染任务请求确定需要渲染的模型文件; 第一分解模块, 用于按照模型文件中各帧的播放顺序,将该模型文件划分 为 ^个显示单元, 显示单元是压缩和传输的最小单位; 其中, 每个显示单元 中包含若干个播放顺序相邻的帧,其中至少有 Nrl个显示单元中包含 W个帧; 第一组合模块 ,用于将各显示单元中单元内播放顺序相同的帧组成渲染单 元以得到 W个渲染单元; 其中, 显示单元中每个帧的单元内播放顺序为该帧 相对于其所属显示单元中其它帧的播放顺序; a first determining module, configured to determine, according to the rendering task request, a model file that needs to be rendered; a first decomposition module, configured to divide the model file into two display units according to a playing order of each frame in the model file, where the display unit is compressed And a minimum unit of transmission; wherein each display unit includes a plurality of frames adjacent to each other in play order, wherein at least N r l display units include W frames; and a first combination module is used for each display unit The frames in the same playing order are composed of the rendering units to obtain the W rendering units. The playing order in the unit of each frame in the display unit is the playing order of the frame relative to other frames in the display unit to which it belongs.
第一分配模块,用于将 W个渲染单元分别分配给 W个不同的渲染节点进 行渲染。  The first allocation module is configured to allocate W rendering units to W different rendering nodes for rendering.
一种基于云应用的离线渲染方法, 包括:  An offline rendering method based on a cloud application, comprising:
接收渲染任务请求;  Receiving a rendering task request;
根据渲染任务请求确定需要渲染的模型文件;  Determining the model file to be rendered according to the rendering task request;
按照模型文件中各帧的播放顺序, 将该模型文件划分为 N2个组, 其中至 少有 N2-l个组中包含 Z个帧, Z大于 0且小于可用渲染节点数目; According to the playing order of each frame in the model file, the model file is divided into N 2 groups, wherein at least N 2 -1 groups include Z frames, Z is greater than 0 and less than the number of available rendering nodes;
将各组内播放顺序相同的帧组成渲染单元, 以得到 Z个渲染单元, 其中, 各组中每个帧的组内播放顺序为该帧相对于其所属的组中其它帧的播放顺序; 将 Z个渲染单元分别分配给 Z个不同的渲染节点进行渲染。  The frames in the same playing order are grouped into rendering units to obtain Z rendering units, wherein the playing order of each frame in each group is the playing order of the frame relative to other frames in the group to which it belongs; Z rendering units are assigned to Z different rendering nodes for rendering.
一种基于云应用的离线渲染装置, 包括:  An offline rendering device based on a cloud application, comprising:
第二接收模块, 用于接收渲染任务请求;  a second receiving module, configured to receive a rendering task request;
第三确定模块, 用于根据渲染任务请求确定需要渲染的模型文件; 第二分解模块, 用于按照模型文件中各帧的播放顺序,将该模型文件划分 为 N2个组, 其中至少有 N2-l个组中包含 Z个帧, Z大于 0且小于可用渲染 节点数目; a third determining module, configured to determine, according to the rendering task request, a model file that needs to be rendered; a second decomposition module, configured to divide the model file into N 2 groups according to a playing order of each frame in the model file, where at least N 2 -1 groups contain Z frames, Z is greater than 0 and less than available rendering Number of nodes;
第二组合模块, 用于将各组内播放顺序相同的帧组成渲染单元, 以得到 Z 个渲染单元, 其中, 各组中每个帧的组内播放顺序为该帧相对于其所属的组中 其它帧的播放顺序;  a second combination module, configured to group the frames with the same playing order in each group into a rendering unit, to obtain Z rendering units, where the playing order of each frame in each group is the frame relative to the group to which it belongs The order in which other frames are played;
第二分配模块, 用于将 Z个渲染单元分别分配给 Z个不同的渲染节点进 行渲染。  The second allocation module is configured to respectively allocate Z rendering units to Z different rendering nodes for rendering.
从以上技术方案可以看出,本发明实施例提供了一种基于云应用的在线渲 染方法和离线渲染方法及相关装置,在在线渲染中,根据需要渲染的模型文件 中帧的播放顺序,将该模型文件划分为若干个显示单元, 进而将显示单元内播 放顺序相同的帧组成渲染单元, 其中, 各渲染单元具有了关于播放顺序的不同 的优先级, 然后将各渲染单元分别分配给不同的渲染节点, 实现了每个显示单 元的帧并行渲染,各显示单元之间可以按照播放时间顺序进行渲染; 在离线渲 染中, 为了节约渲染时间, 合理利用资源, 在渲染前进行任务的分解, 有效地 提高了渲染的效率。  As can be seen from the foregoing technical solutions, an embodiment of the present invention provides an online rendering method and an offline rendering method and related devices based on a cloud application. In online rendering, according to a playback order of frames in a model file that needs to be rendered, The model file is divided into a plurality of display units, and then frames with the same playing order in the display unit are combined into a rendering unit, wherein each rendering unit has different priorities regarding the playing order, and then each rendering unit is respectively assigned to a different rendering. The node realizes frame parallel rendering of each display unit, and each display unit can be rendered in the order of playing time; in offline rendering, in order to save rendering time, rationally utilize resources, and perform task decomposition before rendering, effectively Improve the efficiency of rendering.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要 使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一 些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还 可以根据这些附图获得其他的附图。  In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following description of the embodiments will be briefly described. It is obvious that the drawings in the following description are only some embodiments of the present invention. One of ordinary skill in the art can also obtain other drawings based on these drawings without undue creative effort.
图 1为本发明实施例提供的一种基于云应用的在线渲染方法的流程图; 图 2为本发明实施例提供的一种基于云应用的在线渲染方法的流程图; 图 3为本发明实施例提供的在线渲染方法的过程示意图;  FIG. 1 is a flowchart of a cloud application-based online rendering method according to an embodiment of the present invention; FIG. 2 is a flowchart of a cloud application-based online rendering method according to an embodiment of the present invention; A schematic diagram of the process of the online rendering method provided by the example;
图 4为本发明实施例提供的在线渲染方法的另一过程示意图;  4 is a schematic diagram of another process of an online rendering method according to an embodiment of the present invention;
图 5 为本发明实施例提供的一种基于云应用的在线渲染装置的结构示意 图;  FIG. 5 is a schematic structural diagram of an online rendering device based on a cloud application according to an embodiment of the present invention; FIG.
图 6为本发明实施例提供的另一种在线渲染装置的结构示意图; 图 7为本发明实施例提供的一种基于云应用的离线渲染方法的流程图; 图 8为本发明实施例提供的离线渲染方法的过程示意图;  FIG. 6 is a schematic structural diagram of another online rendering apparatus according to an embodiment of the present invention; FIG. 7 is a flowchart of an offline rendering method based on a cloud application according to an embodiment of the present invention; A schematic diagram of the process of the offline rendering method;
图 9为一种现有的离线渲染方法的示意图; 图 10为本发明实施例提供的一种基于云应用的离线渲染装置的结构示意 图; 9 is a schematic diagram of a conventional offline rendering method; FIG. 10 is a schematic structural diagram of an offline rendering device based on a cloud application according to an embodiment of the present disclosure;
图 11为本发明实施例提供的另一种离线渲染装置的结构示意图。  FIG. 11 is a schematic structural diagram of another offline rendering apparatus according to an embodiment of the present invention.
具体实施方式 detailed description
本发明实施例提供了一种基于云应用的在线渲染方法和离线渲染方法及 相关装置, 用于提高渲染效率。  Embodiments of the present invention provide an online rendering method and an offline rendering method and related devices based on a cloud application, which are used to improve rendering efficiency.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其它实施例, 都属于本发明保护的范围。  BRIEF DESCRIPTION OF THE DRAWINGS The technical solutions in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative work are within the scope of the present invention.
以下分别进行详细说明。  The details are described below separately.
本发明实施例提供了一种基于云应用的在线渲染方法,其方法流程请参考 图 1 , 该方法包括:  The embodiment of the invention provides an online rendering method based on a cloud application. For the method flow, please refer to FIG. 1 , the method includes:
S101、 接收渲染任务请求;  S101. Receive a rendering task request.
S102、 根据渲染任务请求确定需要渲染的模型文件;  S102. Determine, according to the rendering task request, a model file that needs to be rendered;
在某些实施方式中, 步骤 S101与步骤 S102可以为: 用户触发一个在线 3D应用, 相当于向后台递交一个在线渲染任务请求, 根据该在线渲染任务请 求确定出所要渲染的模型文件, 或称场景文件;  In some embodiments, step S101 and step S102 may be: the user triggers an online 3D application, which is equivalent to submitting an online rendering task request to the background, and determining a model file, or scene, to be rendered according to the online rendering task request. Document
该模型文件可以是预先得到的 ,也可以由模型文件中帧的信息根据触发条 件实时演算得到的; 此处不作具体限定。  The model file may be obtained in advance, or may be obtained by real-time calculation of the frame information in the model file according to the trigger condition; it is not specifically limited herein.
S103、 按照模型文件中各帧的播放顺序, 将该模型文件划分为 ^个显示 单元, 显示单元是压缩和传输的最小单位, 其中, 每个显示单元中包含若干个 播放顺序相邻的帧, 其中至少有 Nr l个显示单元中包含 W个帧; S103. Divide the model file into a display unit according to a play order of each frame in the model file, where the display unit is a minimum unit of compression and transmission, where each display unit includes a plurality of frames adjacent to each other in a play order. At least N r l display units include W frames;
由步骤 S101、 S102可以知道, 若所要渲染的模型文件包含 帧; 按照 模型文件中各帧的播放顺序,将模型文件中的 M 划分为 个显示单元;显 示单元是压缩和传输的最小单位;每个显示单元中包含若干个播放顺序相邻的 帧, 即每个显示单元内的帧是按其播放顺序进行排列的帧的集合, 且在 ^个 显示单元中至少有 Nr l个显示单元中包含 W个帧。 It can be known from steps S101 and S102 that if the model file to be rendered contains a frame, M in the model file is divided into display units according to the playing order of each frame in the model file; the display unit is the smallest unit of compression and transmission; The display unit includes a plurality of frames adjacent to each other in the playing order, that is, the frames in each display unit are a set of frames arranged in the playing order thereof, and at least N r l display units in the plurality of display units Contains W frames.
在某些实施方式中, 可以设定渲染的模型文件中总帧数为 帧, 由于显 示单元是压缩和传输的最小单位,若已知此时保证流畅显示所需的显示单元内 帧数为 W, 则显示单元的个数 N1 = ― ; In some embodiments, the total number of frames in the rendered model file can be set to be a frame, The display unit is the smallest unit of compression and transmission. If it is known that the number of frames in the display unit required for smooth display at this time is W, the number of display units N 1 = ― ;
W 其中, 该式子表示, 当 能被 W整除, 则显示单元为 个, 且每个显 示单元中都含有 W个帧; 当 不能被 W整除, 则将结果中小数部分舍去, 整数部分 +1得出显示单元的个数为 Nl 其中, 可以是前 Nrl个显示单元中含 有 W个帧, 则最后一个显示单元中有 (M Ni- x W ) 帧。 W where, the expression indicates that when it can be divisible by W, the display unit is one, and each display unit contains W frames; when it cannot be divisible by W, the fractional part of the result is rounded off, and the integer part is + 1 It is found that the number of display units is N l , wherein the first N r l display units contain W frames, and the last display unit has (M Ni- x W ) frames.
5104、 将各显示单元中单元内播放顺序相同的帧组成渲染单元, 以得到 W个渲染单元, 其中, 显示单元中每个帧的单元内播放顺序为该帧相对于其 所属显示单元中其它帧的播放顺序;  5104. The frame of the same playback order in each unit of the display unit is composed into a rendering unit, to obtain W rendering units, where the playing order of each frame in the display unit is the frame relative to other frames in the display unit to which the frame belongs. Play order
针对各显示单元, 将单元内第一个播放的帧组成一个渲染单元, 同理, 将 单元内第二个播放的帧组成一个渲染单元, 以此类推, 将单元内第 W个播放 的帧组成一个渲染单元, 这样, 以得到 W个渲染单元。  For each display unit, the first frame played in the unit is composed into a rendering unit. Similarly, the second frame played in the unit is composed into a rendering unit, and so on, and the W frames played in the unit are composed. A rendering unit, so that to get W rendering units.
需要说明的是,显示单元中每个帧的单元内播放顺序为该帧相对于其所属 显示单元中其它帧的播放顺序;  It should be noted that the playing order in the unit of each frame in the display unit is the playing order of the frame relative to other frames in the display unit to which it belongs;
例如: 按照模型文件中各帧的播放顺序,对于第一个显示单元中第一个播 放的帧是模型文件全部帧的第一个播放的帧, 若该模型文件 ^个显示单元内 均含 W个帧,则该单元内最后一个播放的帧是模型文件全部帧的第 W个播放 的帧; 若对于最后一个显示单元中第一个播放的帧, 则是模型文件全部帧的第 ( ( Nrl ) x W+1 )个播放的帧, 该单元内最后一个播放的帧是模型文件全部 帧的第 X W个播放的帧。  For example: According to the playing order of each frame in the model file, the first frame played in the first display unit is the first frame played by all the frames of the model file, and if the model file includes a display unit, Frame, the last frame played in the unit is the Wth frame of all frames of the model file; if the first frame played in the last display unit is the first frame of the model file ( ( Nrl ) x W+1 ) frames played, the last frame played in the unit is the XWth frame of all frames of the model file.
5105、 将 W个渲染单元分别分配给 W个不同的渲染节点进行渲染; 可以理解的是,每个渲染单元都需要分配给一个渲染节点进行渲染,同时, 为了保证一个显示单元的所有帧同时产生,因此参与渲染的节点数目也是为 W 个。  5105. Assign W rendering units to W different rendering nodes for rendering; it can be understood that each rendering unit needs to be assigned to a rendering node for rendering, and at the same time, to ensure that all frames of one display unit are simultaneously generated. Therefore, the number of nodes participating in rendering is also W.
需要说明的是,本实施例提供的基于云应用的在线渲染方法, 不仅适用于 可以预先得到需要渲染的如 3D动画模型文件, 还可以适用于需要通过人工智 能等运算来实时计算各帧场景的内容和参数的模型文件,即该模型文件由其中 帧的信息根据触发条件实时演算得到的; 若针对第一种情形下的模型文件, 则根据总的帧数 Ml 以及显示单元的 大小 W, 根据帧的播放顺序, 可以先将 帧划分为若干个显示单元, 再分解 成 W个渲染单元, 分配给 W个不同的渲染节点进行渲染; 若针对第二种情形 下的模型文件, 则根据总的帧数 Ml 以及显示单元的大小 W, 按照帧的播放 顺序实时计算得到每一帧, 并依次逐帧分配给 W个渲染单元, 并分配给 W个 不同的渲染节点进行渲染。 实质上, 它们都是将各显示单元中单元内播放顺序 相同的帧组成渲染单元来进行渲染的。 It should be noted that the cloud application-based online rendering method provided in this embodiment is applicable not only to a 3D animation model file that needs to be rendered in advance, but also to real-time calculation of each frame scene by an artificial intelligence or the like. a model file of content and parameters, that is, the model file is obtained by real-time calculation of the information of the frame according to the trigger condition; For the model file in the first case, according to the total frame number M l and the size W of the display unit, according to the play order of the frame, the frame may be first divided into several display units, and then decomposed into W rendering units. , assigned to W different rendering nodes for rendering; if for the model file in the second case, according to the total number of frames M l and the size of the display unit W, each frame is calculated in real time according to the playing order of the frame, And sequentially assigned to W rendering units frame by frame, and assigned to W different rendering nodes for rendering. In essence, they are all rendered by a frame that is composed of the same playback order in each unit of the display unit.
以上实施例提供的一种基于云应用的在线渲染方法,根据需要渲染的模型 文件中帧的播放顺序,将该模型文件划分为若干个显示单元, 进而将显示单元 内播放顺序相同的帧组成渲染单元, 其中,各渲染单元具有了关于播放顺序的 不同的优先级, 然后将各渲染单元分别分配给不同的渲染节点, 即在渲染前进 行了任务的分解, 实现了每个显示单元的帧并行渲染,尽量保证它们同时完成 渲染; 并且各显示单元之间可以按照播放时间顺序进行渲染,有效地提高了渲 染的效率。  The cloud application-based online rendering method provided by the above embodiment divides the model file into a plurality of display units according to the playing order of the frames in the model file to be rendered, and then renders the frames with the same playing order in the display unit. a unit, wherein each rendering unit has a different priority with respect to the playing order, and then each rendering unit is respectively assigned to a different rendering node, that is, the task is decomposed before rendering, and the frame parallel of each display unit is realized. Rendering, try to ensure that they complete rendering at the same time; and each display unit can be rendered in the order of playback time, which effectively improves the rendering efficiency.
本发明实施例还提供一种基于云应用的在线渲染方法,对分配的渲染节点 进行渲染能力强弱的评估, 以承担不同优先级的渲染单元的渲染任务。 如图 2 所示, 该方法包括:  The embodiment of the invention further provides an online rendering method based on a cloud application, which performs evaluation of the rendering capability of the allocated rendering nodes to undertake rendering tasks of rendering units of different priorities. As shown in Figure 2, the method includes:
5201、 接收渲染任务请求;  5201. Receive a rendering task request.
5202、 根据渲染任务请求确定需要渲染的模型文件;  5202. Determine, according to the rendering task request, a model file that needs to be rendered;
可以理解的是,步骤 S201与步骤 S101的内容相同,步骤 S202与步骤 S102 内容相同, 可参考相关描述, 此处不再作具体阐述。  It can be understood that the content of step S201 is the same as that of step S101, and the content of step S202 is the same as that of step S102, and the related description may be referred to, and will not be specifically described herein.
5203、 按照模型文件中各帧的播放顺序, 将该模型文件划分为 个显示 单元, 显示单元是压缩和传输的最小单位, 其中, 每个显示单元中包含若干个 播放顺序相邻的帧, 其中至少有 Nr l个显示单元中包含 W个帧; 5203. Divide the model file into a display unit according to a play order of each frame in the model file, where the display unit is a minimum unit of compression and transmission, where each display unit includes a plurality of frames adjacent to the play order, where At least N r l display units include W frames;
由步骤 S201、 S202可以知道, 若在在线渲染中, 所要渲染的模型文件可 以是一个包含 帧的 3D动画序列; 按照模型文件中各帧的播放顺序, 将模 型文件中的 M 划分为 个显示单元; 显示单元是压缩和传输的最小单位; 每个显示单元中包含若干个播放顺序相邻的帧 ,即每个显示单元是按其内的帧 的播放顺序进行排列的帧的集合,且在 个显示单元中至少有 Nr l个显示单 元中包含 W个帧, 其中可以是前 Nrl个显示单元中包含 W个帧, 第N1个显 示单元中含有 ( M ( N l ) W )个帧。 It can be known from steps S201 and S202 that, in the online rendering, the model file to be rendered may be a 3D animation sequence containing frames; according to the playing order of each frame in the model file, the M in the model file is divided into display units. The display unit is a minimum unit of compression and transmission; each display unit includes a plurality of frames adjacent to each other in play order, that is, each display unit is a set of frames arranged in the play order of the frames therein, and At least N r l display orders in the display unit The element includes W frames, wherein the first N r l display units include W frames, and the N 1 display unit includes (M ( N l ) W ) frames.
在某些实施方式中, 可以设定渲染的模型文件中总帧数为 帧, 由于显 示单元是压缩和传输的最小单位, 若已知此时保证流畅显示所需的帧数为 W, 则显示单元的个数 Nl =「 i] ; In some embodiments, the total number of frames in the rendered model file can be set to be a frame. Since the display unit is the smallest unit of compression and transmission, if it is known that the number of frames required for smooth display at this time is W, the display is performed. The number of units Nl = "i];
W 其中, 该式子表示, 当 Mi能被 W整除, 则显示单元为 个, 且每个显 示单元中都含有 W个帧; 当 不能被 W整除, 则将结果中小数部分舍去, 整数部分 +1得出显示单元的个数为 N 其中, 可以是 个显示单元中含 有 W个帧, 则最后一个显示单元中有 (M Ni- x W ) 帧。  W where, the expression indicates that when Mi can be divisible by W, the display unit is one, and each display unit contains W frames; when it cannot be divisible by W, the fractional part of the result is rounded off, the integer part +1 indicates that the number of display units is N. Among them, there may be W frames in one display unit, and (M Ni-x W ) frames in the last display unit.
需要说明的是, 保证流畅显示所需的帧数 W, 可以根据以下式子推出: It should be noted that the number of frames required to ensure smooth display W can be derived according to the following formula:
W≥ {[max(ti(res), t2(res), · . - ti(res), · . - tw(res)) + TcT(res, B, W, R) + Ttoi] x f} ( 1 ) , 其中, t es)为所分配的渲染节点 i渲染一帧需要的时间, i取值为 1到 W 的整数; 主要与分辨率 res相关; max ^res), t2(res), ...ti(res), ... tw(res))则为最 大的单帧渲染时间; TCT为差值压缩 (Compression )和传输(Transmission ) W帧需要的总时间, 与分辨率 res、 网速 B、 显示单元大小 W以及所釆用的差 值编码压缩率 R有关; Ttol为容忍时间, 即完成一个显示单元中最后一帧渲染 后系统等待时间和缺帧补偿时间之和; f为帧率,单位为 s( frames per second ), 即每秒播放的帧数。 W≥ {[max(ti(res), t 2 (res), · . - ti(res), · . - tw(res)) + TcT(res, B, W, R) + Ttoi] xf} ( 1) , where t es) is the time required to render a frame for the assigned render node i, i is an integer from 1 to W; mainly related to resolution res; max ^res), t 2 (res), ...ti(res), ... t w (res)) is the maximum single frame rendering time; T CT is the total time required for the difference compression (Compression) and transmission (Transmission) W frame, and resolution Res, network speed B, display unit size W and the difference encoding compression ratio R used; T tol is the tolerance time, that is, the sum of the system waiting time and the frameless compensation time after the last frame rendering in one display unit is completed. ; f is the frame rate, the unit is s (frames per second), which is the number of frames played per second.
通常地, 3D动画模型文件的渲染结果为图像序列, 渲染完成后得到的图 像序列需要经过差值编码和网络传输差值编码后的图像,其中差值编码是指渲 染出来的一系列图像(相当于视频中的一帧一帧)进行压缩的过程中, 当完成 第一幅图像的压缩后,后面的其他图像可以和第一幅图像做差值, 然后将差值 图像, 也就是两幅图像不同的部分进行压缩, 这样可以得到更好的压缩效果; 另外, 分辨率 res ( resolution ) , 也可称为解析度, 就是屏幕图像的精密度, 是指显示器所能显示的像素的多少;  Generally, the rendering result of the 3D animation model file is an image sequence, and the image sequence obtained after the rendering is completed needs to be subjected to difference encoding and network transmission difference encoding, wherein the difference encoding refers to a series of images rendered (equivalent In the process of compressing one frame and one frame in the video, when the compression of the first image is completed, the other images in the back can be compared with the first image, and then the difference image, that is, the two images. Different parts are compressed, which can get better compression effect. In addition, the resolution res (resolution) can also be called resolution, which is the precision of the screen image, which refers to the number of pixels that the display can display;
缺帧补偿就是指对在等待时间内未完成的帧不能不处理,需要用其播放顺 序前后的已得到的帧进行运动预测、 插值等图像处理方法来估算出该帧图像。 比如, 若一个显示单元中第 10帧没有在等待时间内完成, 就可以用第 9帧和 第 11帧来估算出第 10帧, 这样才算是一个显示单元的所有帧都完成。 当然, 向前和向后参考的帧数是可以变动的, 不一定是一帧, 可以是两帧、 三帧, 此 处不作具体限定。 The lack of frame compensation means that the frame that has not been completed within the waiting time cannot be processed, and the image frame method such as motion prediction and interpolation needs to be used to estimate the frame image by using the obtained frame before and after the playback order. For example, if the 10th frame in a display unit is not completed within the waiting time, the ninth and eleventh frames can be used to estimate the 10th frame, so that all the frames of one display unit are completed. The frame number of the forward and backward reference may be changed, and may not be one frame, and may be two frames or three frames, which is not specifically limited herein.
一般地, 当用户递交一个渲染任务请求并进入系统后, 其总帧数 Ml 分 辨率 res, 帧率 f 可以认为已给定。 系统内部可以收集到当前或一段时间内的 平均网速 B , 差值编码压缩率 R 和容忍时间 Ttol。 而最大的单帧渲染时间 max(t!(res), t2(res), ...ti(res), ...tw(res))与 W的相关性不强, 因此可以使用系统 经验值估计的最大渲染时间来代表;也可以由用户提供本地配置和渲染时间作 为参考, 并结合当前渲染节点的配置, 综合估计出这个最大单帧渲染时间。 Generally, when a user submits a rendering task request and enters the system, its total frame number M l resolution res, the frame rate f can be considered as given. The average network speed B, the difference code compression ratio R and the tolerance time T tol of the current or time period can be collected inside the system. The maximum single frame rendering time max(t!(res), t 2 (res), ...ti(res), ...t w (res)) is not strongly correlated with W, so the system can be used. The maximum rendering time of the empirical value estimate is represented; the local configuration and rendering time can also be provided by the user as a reference, and combined with the configuration of the current rendering node, the maximum single frame rendering time is comprehensively estimated.
关于压缩和传输的最小单位, 即显示单元的大小 W, 通常地, 可以釆取 以下步骤获得: 第一步, 根据系统内可用的渲染节点数目, 给定一个 W的初 始值 Wo, Wo的取值为大于零且小于系统内可用的渲染节点数目之间的整数; 其中,可用的渲染节点可以理解为空闲或渲染节点的能力分值高于预设阈值的 渲染节点; 第二步, 将 WQ代入公式(1 )的右边, 计算得到一个值 West(1), 如 果 Wo≥ West(l) , 则令 W=W。, 至此完成了 W的计算; 如果 WQ < West(l) , 则需 要以一定步长△ W减小 W。的取值,得到 WfW。-△ W,并记录 = West(l) - Wo , 然后重复第二步的计算得到 West(2),如果 Wi≥ West( , 则令 w=Wl 完成 W的 计算; 如果 Wl < West(2) , 则继续以步长 Δ w减小 , 得到 W2=Wr Δ w, 记录 ^W2 = West(2) - Wl 0 依次类推, 直到得到 W的值。 The minimum unit of compression and transmission, that is, the size of the display unit W, can generally be obtained by the following steps: First, according to the number of rendering nodes available in the system, given an initial value of W Wo, Wo The value is greater than zero and less than the integer between the number of render nodes available in the system; wherein, the available render node can be understood as a render node whose idle or render node has a capability score higher than a preset threshold; Q is substituted into the right side of the formula (1), and a value W est(1 ) is calculated. If Wo ≥ West(l), W=W is obtained. At this point, the calculation of W is completed; if WQ < West(l), it is necessary to reduce W by a certain step size ΔW . Value, get WfW. -△ W and record = West(l) - Wo, then repeat the calculation of the second step to get W est(2 ). If Wi≥ W est (, let w=W l complete the calculation of W; if Wl < West (2), then continue to decrease in step size Δ w to obtain W 2 = W r Δ w , record ^W2 = West(2) - Wl 0 and so on, until the value of W is obtained.
如果在大于等于 1且小于 WQ的正整数里无法得到合适的 W的值, 则说 明无法保证用户端流畅的显示效果, 并选择使得 取值最小的 的最大 值作为 W, 其中, j=l, 2, 3, ... ^ 。 If a suitable value of W cannot be obtained in a positive integer greater than or equal to 1 and less than W Q , the smooth display effect of the user end cannot be guaranteed, and the maximum value that minimizes the value is selected as W, where j=l , 2, 3, ... ^ .
S204、 将各显示单元中单元内播放顺序相同的帧组成渲染单元, 以得到 W个渲染单元, 其中, 显示单元中每个帧的单元内播放顺序为该帧相对于其 所属显示单元中其它帧的播放顺序; S204. The frame of the same playback order in each unit of the display unit is formed into a rendering unit, to obtain W rendering units, where the playing order of each frame in the display unit is the frame relative to other frames in the display unit to which the frame belongs. Play order
在某些实施方式中, 可以认为按照各显示单元中帧的播放先后顺序,给各 显示单元中的帧赋予一个帧序号; In some embodiments, it may be considered that each frame is played in the order of playing in each display unit. The frame in the display unit is given a frame number;
例如: 对于各显示单元中的第一个帧, 可以赋予帧序号 "1" , 相应的, 对 于各显示单元中的第二个帧, 可以赋予帧序号 "2" , 以此类推, 对于显示单元 中的第 i个帧, i=l,2,3,...,W, 可以赋予帧序号 "i" , 对于显示单元中的最后一 个帧, 即第 W个帧, 可以赋予帧序号 "W" , 这样就可以得到各显示单元中单 元内播放顺序相同的帧赋予了一个相同的帧序号。  For example: For the first frame in each display unit, the frame number "1" can be given. Correspondingly, for the second frame in each display unit, the frame number "2" can be given, and so on, for the display unit. In the i-th frame, i=l, 2, 3, ..., W, the frame number "i" can be given, and the frame number "W" can be given to the last frame in the display unit, that is, the Wth frame. " , , so that the same frame number can be given to the frames in the same playback order in the units in each display unit.
其中,将各显示单元中单元内播放顺序相同的帧组成渲染单元,可以是将 各个显示单元内赋予了相同帧序号的帧组成一个渲染单元;  Wherein, the frames having the same playing order in the units in each display unit are combined into a rendering unit, and the frames in which the same frame number is given in each display unit may be composed into one rendering unit;
例如: 对于各显示单元中赋予了帧序号 "1" 的帧组成一个渲染单元, 为 便于理解, 可以将赋予了帧序号 "1" 的帧组成的渲染单元记为渲染单元 1 , 同理, 可以将赋予了帧序号 "2" 的帧组成的渲染单元记为渲染单元 2, 以此 类推, 可以将赋予了帧序号 "i" 的帧组成的渲染单元记为渲染单元 i, 赋予了 帧序号 "W" 的帧组成的渲染单元可记为渲染单元 W, 这样就可以将各显示 单元中单元内播放顺序相同的帧组成渲染单元, 以得到了 W个渲染单元。  For example: For each display unit, a frame with a frame number "1" is assigned to form a rendering unit. For ease of understanding, a rendering unit composed of a frame with a frame number "1" can be recorded as a rendering unit 1. Similarly, The rendering unit composed of the frame number given with the frame number "2" is referred to as the rendering unit 2, and so on, and the rendering unit composed of the frame to which the frame number "i" is given can be referred to as the rendering unit i, and the frame number is given. The rendering unit composed of the frame of W" can be recorded as the rendering unit W, so that the frames with the same playing order in the units in each display unit can be composed into the rendering unit to obtain W rendering units.
需要说明的是,显示单元中每个帧的单元内播放顺序为该帧相对于其所属 显示单元中其它帧的播放顺序;  It should be noted that the playing order in the unit of each frame in the display unit is the playing order of the frame relative to other frames in the display unit to which it belongs;
例如: 按照模型文件中各帧的播放顺序,对于第一个显示单元中的赋予了 帧序号 "1" 的帧是模型文件全部帧的第一个播放的帧, 其赋予了帧序号 "W" 的帧是模型文件全部帧的第 W个播放的帧, 但是对于第二个显示单元中赋予 了帧序号 "1" 的帧是第二个显示单元内最先播放的帧, 但该帧是模型文件全 部帧的第 W+1个帧, 其赋予了帧序号 "W" 的帧是模型文件全部帧的第 2 x W个播放的帧; 因此, 对于第二个以及后续的第 k个显示单元, k为大于 1且 小于 ^的整数,其单元内赋予了帧序号" 1 "的帧是模型文件全部帧的第(( k- 1 ) X W+1 )个播放的帧, 其赋予了帧序号 "W" 的帧是模型文件全部帧的第 k x W个播放的帧, 如图 3所示, 可以按照播放顺序给每个显示单元内的帧赋予 帧序号,如图中帧内编号, 而这些帧在整个模型文件中的顺序是下面横轴所示 的编号; 如图 3所示, 可以认为, 该模型文件中的帧是釆用交叉分解来实现渲 染的。  For example: According to the playback order of each frame in the model file, the frame to which the frame number "1" is given in the first display unit is the first frame of the frame of all the model files, which is given the frame number "W". The frame is the Wth played frame of all the frames of the model file, but the frame given the frame number "1" in the second display unit is the first frame played in the second display unit, but the frame is the model. The W+1th frame of all the frames of the file, the frame given the frame number "W" is the 2 x W play frames of all frames of the model file; therefore, for the second and subsequent kth display units , k is an integer greater than 1 and less than ^, and the frame given the frame number "1" in the unit is the ((k-1) X W+1) played frame of all frames of the model file, which is given the frame The frame of the serial number "W" is the kxth frame of the frame of all the model files. As shown in FIG. 3, the frame number of each frame in the display unit can be given in the order of play, as shown in the frame in the figure. The order of these frames in the entire model file is the number shown on the horizontal axis below. 3, it is considered that the model file preclude the use of cross-frame is decomposed to achieve the rendering.
S205、通过渲染节点的硬件配置信息和实时负载统计信息评估渲染节点渲 染能力的强弱,确定出渲染能力最强的 w个渲染节点参与 w个渲染单元的渲 染; S205. Evaluating a rendering node rendering by rendering hardware information of the node and real-time load statistics The strength of the dyeing ability, determine that the rendering nodes with the strongest rendering ability participate in the rendering of w rendering units;
由步骤 S203与步骤 S204可知,可以根据帧的播放顺序,被分解到同一渲 染单元中的帧赋予了相同的帧序号; 可以理解的是,被分解的各渲染单元具有 了关于播放顺序的不同的优先级,由于各渲染单元的优先级是由其包含的帧的 播放时间顺序决定的, 没有同时播放的两个帧, 所以播放时间是一定有先后顺 序的, 因此各渲染单元也一定有不同优先级。  It can be seen from step S203 and step S204 that the frames decomposed into the same rendering unit can be assigned the same frame number according to the playing order of the frames; it can be understood that the decomposed rendering units have different meanings regarding the playing order. Priority, since the priority of each rendering unit is determined by the playback time sequence of the frames it contains, there are no two frames played at the same time, so the playback time must be sequential, so each rendering unit must have different priorities. level.
另外, 由于每个显示单元中, 帧序号越小的帧需要越早播放, 并且也是后 续播放的帧的参考对象, 此处可以联系关于差值图像压缩过程的相关描述,表 示后面播放的帧的压缩是要以前面的帧为参考对象进行的。  In addition, since each frame has a smaller frame number, the frame needs to be played earlier, and is also a reference object of the subsequently played frame. Here, a related description about the difference image compression process may be contacted to indicate the frame to be played later. Compression is done with the previous frame as the reference object.
因此, 应该保证帧序号越小的帧被最先渲染出来。 基于此, 包含帧序号小 的帧的渲染单元可以认为具有高的优先级,包含帧序号大的帧的渲染单元可以 认为具有低的优先级。  Therefore, it should be ensured that frames with smaller frame numbers are rendered first. Based on this, a rendering unit including a frame having a small frame number can be considered to have a high priority, and a rendering unit including a frame having a large frame number can be considered to have a low priority.
这样在任务调度的角度上看,对高优先级的渲染单元需要交给渲染能力强 的渲染节点来处理,对低优先级的渲染单元需要交给渲染能力弱的渲染节点来 处理。 在本实施例中, 即根据渲染单元的优先级从高到低, 依次分配到渲染能 力从强到弱的渲染节点。  In terms of task scheduling, the high-priority rendering unit needs to be handed over to the rendering node with strong rendering capability, and the low-priority rendering unit needs to be handed over to the rendering node with weak rendering capability. In this embodiment, the rendering nodes are sequentially assigned to the rendering nodes from strong to weak according to the priority of the rendering unit from high to low.
渲染节点的渲染能力的强弱,可以通过从硬件配置信息和实时负载统计信 息来评估确定。在本领域中,渲染节点的硬件配置信息主要可以包括以下参数: 内存大小、 交换区 SWAP大小、 中央处理器( CPU, Central Processing Unit ) 核数和其处理速度、 文件系统大小、 网络带宽等; 而实时负载统计信息可以包 括以下参数: 内存、 交换区、 CPU 和文件系统的占用率, 进程、 线程数目, 网络传输速率等。 将这些参数进行综合打分, 计算出各渲染节点的能力分值, 比如以 0至 100分进行标示渲染能力的强弱,分值最高的渲染节点说明该渲染 节点当前渲染能力最强。  The rendering ability of the rendering node can be evaluated and determined by hardware configuration information and real-time load statistics. In the art, the hardware configuration information of the rendering node may mainly include the following parameters: memory size, swap area SWAP size, CPU (Central Processing Unit) core and its processing speed, file system size, network bandwidth, etc. The real-time load statistics can include the following parameters: memory, swap area, CPU and file system occupancy, process, number of threads, network transfer rate, and so on. These parameters are comprehensively scored, and the ability scores of each render node are calculated. For example, the strength of the marked rendering capability is 0 to 100 points, and the rendering node with the highest score indicates that the rendering node has the strongest rendering capability.
在本实施例中, 优选地, 选取系统中渲染能力最强的 W个渲染节点参与 W个渲染单元的渲染;若按照渲染能力的强弱标示参与渲染的 W个渲染节点, 可以将渲染能力最强的渲染节点记为渲染节点 1 , 以此类推, 可以将渲染能力 最弱的渲染节点记为渲染节点 W。 S206、将 W个渲染单元分别分配给确定出渲染能力最强的 W个渲染节点 进行渲染,依次将所属显示单元内播放顺序较前的帧组成的渲染单元分配给渲 染能力较强的渲染节点进行渲染,将所属显示单元内播放顺序较后的帧组成的 渲染单元分配给渲染能力较弱的渲染节点进行渲染; In this embodiment, preferably, the W rendering nodes with the strongest rendering ability in the system are selected to participate in the rendering of the W rendering units; if the W rendering nodes participating in the rendering are marked according to the strength of the rendering capability, the rendering capability is the most A strong render node is denoted as render node 1, and so on, and the render node with the weakest rendering ability can be recorded as the render node W. S206. The W rendering units are respectively allocated to the W rendering nodes that have the strongest rendering capability for rendering, and the rendering units composed of the frames with the earlier playing order in the display unit are sequentially allocated to the rendering nodes with stronger rendering capabilities. Rendering, and assigning a rendering unit consisting of a frame having a lower playing order in the display unit to a rendering node having a weak rendering capability for rendering;
可以理解的是,将所属显示单元内播放顺序较前的帧组成的渲染单元分配 给渲染能力较强的渲染节点进行渲染; 由步骤 S204可知, 可以将赋予了帧序 号 "1" 的帧组成渲染单元记为渲染单元 1 , 而赋予了帧序号 "1" 的帧在其所 属的显示单元内则可表示为第一个播放的帧,因此可以认为将渲染单元 1分配 给渲染能力最强的渲染节点 1进行渲染;  It can be understood that the rendering unit composed of the frame with the earlier playing order in the display unit is allocated to the rendering node with stronger rendering ability for rendering; as shown in step S204, the frame given the frame number "1" can be rendered. The unit is denoted as rendering unit 1, and the frame given the frame number "1" can be represented as the first played frame in the display unit to which it belongs, so it can be considered that the rendering unit 1 is assigned to the rendering with the strongest rendering ability. Node 1 is rendered;
同理, 将渲染单元 2分配给渲染节点 2进行渲染; 以此类推, 将所属显示 单元内播放顺序较后的帧组成的渲染单元分配给渲染能力较弱的渲染节点进 行渲染, 即将赋予了帧序号 "W" 的帧在其所属的显示单元内可认为是最后一 个播放的帧, 则将渲染单元 W分配给渲染能力最弱的渲染节点 W进行渲染。  Similarly, the rendering unit 2 is assigned to the rendering node 2 for rendering; and so on, the rendering unit composed of the frames with the later playing order in the display unit is assigned to the rendering node with weak rendering ability for rendering, and the frame is to be given The frame of the serial number "W" can be regarded as the last played frame in the display unit to which it belongs, and the rendering unit W is assigned to the rendering node W having the weakest rendering ability for rendering.
优选地, 当每个显示单元中最后一帧完成渲染后,会在等待时间内对该显 示单元中未完成的帧所属的渲染单元分配的渲染节点的渲染能力进行再一次 打分, 该等待时间为步骤 S203中的容忍时间内的等待时间, 其中容忍时间是 指完成一个显示单元中最后一帧渲染后系统的等待时间和缺帧补偿的时间之 和。  Preferably, after the last frame in each display unit is completed, the rendering capability of the rendering node allocated to the rendering unit to which the unfinished frame belongs in the display unit is scored again within the waiting time, and the waiting time is The waiting time in the tolerance time in step S203, wherein the tolerance time is the sum of the waiting time of the system and the time of the frameless compensation after the last frame rendering in one display unit is completed.
如果存在未参与此次任务而分值高于当前未完成渲染任务的渲染节点的 渲染节点, 则进行渲染节点替换, 由新的渲染节点来完成所替换的渲染节点原 本渲染的渲染单元的后续帧的渲染任务。 如果存在多个渲染节点均需要替换, 则按照渲染单元的优先级分配相应渲染能力的渲染节点。  If there is a rendering node that does not participate in the task and the score is higher than the rendering node of the currently unfinished rendering task, then the rendering node is replaced, and the new rendering node completes the subsequent frame of the rendering unit originally rendered by the replaced rendering node. Rendering task. If there are multiple rendering nodes that need to be replaced, the rendering nodes of the corresponding rendering capabilities are assigned according to the priority of the rendering unit.
需要说明的是,本实施例提供的基于云应用的在线渲染方法, 不仅适用于 可以预先得到需要渲染的如 3D动画模型文件, 还可以适用于需要通过人工智 能等运算来实时计算各帧场景的内容和参数的模型文件,即该模型文件由其中 帧的信息根据触发条件实时演算得到的;  It should be noted that the cloud application-based online rendering method provided in this embodiment is applicable not only to a 3D animation model file that needs to be rendered in advance, but also to real-time calculation of each frame scene by an artificial intelligence or the like. a model file of content and parameters, that is, the model file is obtained by real-time calculation of the information of the frame according to the trigger condition;
若针对第一种情形下的模型文件, 则根据总的帧数 Ml 以及显示单元的 大小 W, 根据帧的播放顺序, 可以先将 帧划分为若干个显示单元, 再分解 成 W个渲染单元, 分配给 W个不同的渲染节点进行渲染, 请参考图 3; 若针 对第二种情形下的模型文件, 则根据总的帧数 Ml 以及显示单元的大小 W, 按照帧的播放顺序实时计算得到每一帧, 并依次逐帧分配给 W个渲染单元, 并分配给 W个不同的渲染节点进行渲染, 请参考图 4。 实质上, 它们都是将 各显示单元中单元内播放顺序相同的帧组成渲染单元来进行渲染的。 For the model file in the first case, according to the total frame number M l and the size W of the display unit, according to the play order of the frame, the frame may be first divided into several display units, and then decomposed into W rendering units. , assigned to W different rendering nodes for rendering, please refer to Figure 3; For the model file in the second case, according to the total frame number M l and the size W of the display unit, each frame is calculated in real time according to the play order of the frame, and is sequentially allocated to W rendering units frame by frame, and allocated. Rendering for W different render nodes, see Figure 4. In essence, they are all rendered by a frame that is composed of the same playback order in each unit of the display unit.
本实施例提供的一种基于云应用的在线渲染方法,根据需要渲染的模型文 件中帧的播放顺序,将该模型文件划分为若干个显示单元, 进而将显示单元内 播放顺序相同的帧组成渲染单元, 其中,各渲染单元具有了关于播放顺序的不 同的优先级, 然后根据渲染单元的优先级从高到低,依次分配到渲染能力从强 到弱的渲染节点。 不仅在进行渲染前对任务进行分解, 实现了每个显示单元的 帧并行渲染, 有效地提高了渲染的效率, 还针对分解的结果进行了任务调度, 在分配渲染节点之前对渲染节点的渲染能力进行强弱评估,使得渲染更具有合 理性。  The online rendering method based on the cloud application provided by the embodiment, according to the playing sequence of the frame in the model file to be rendered, the model file is divided into several display units, and then the frames with the same playing order in the display unit are rendered. a unit, wherein each rendering unit has a different priority with respect to the playing order, and then is sequentially assigned to a rendering node with a rendering capability from strong to weak according to the priority of the rendering unit from high to low. Not only the task is decomposed before rendering, but also the frame parallel rendering of each display unit is realized, which effectively improves the rendering efficiency, and also performs task scheduling for the decomposition result, and renders the rendering node before assigning the rendering node. Perform strength and weakness assessments to make rendering more reasonable.
以下实施例以一个在线 3D动画设计的渲染云应用为例的应用场景, 对本 发明提出的在线渲染方法进行具体阐述。  The following embodiment uses an online 3D animation design rendering cloud application as an example application scenario, and specifically describes the online rendering method proposed by the present invention.
本实施例可以是专业动画设计人员的网络工作情形,或是面向大众的自我 This embodiment can be a network working situation of a professional animator or a self-oriented self.
3D创意的娱乐情况。 当完成一定的动画设计后, 用户需要在线即时预览自己 的创作效果, 此时用户向渲染云服务端发出渲染指定动画的请求,服务端根据 用户的模型文件 /场景文件及其他素材, 可以分析获取需要渲染的总帧数、 帧 率、 分辨率等信息, 然后釆用本发明提出的方法进行渲染。 3D creative entertainment. After completing a certain animation design, the user needs to preview his own creation effect on the line. At this time, the user sends a request to render the specified animation to the rendering cloud server, and the server can analyze and obtain according to the user's model file/scene file and other materials. The total number of frames, frame rate, resolution, etc. that need to be rendered, and then rendered using the method proposed by the present invention.
若假设系统中共有 50个可用的渲染节点, 且硬件配置相同。 按照各渲染 节点的渲染能力进行打分, 并根据渲染能力由强到弱进行排列和命名, 即渲染 节点 1打分最高, 表示渲染能力最强, 渲染节点 50的渲染能力最弱。  Suppose there are 50 available render nodes in the system and the hardware configuration is the same. According to the rendering ability of each rendering node, it is scored and named according to the rendering ability from strong to weak, that is, the rendering node 1 has the highest score, indicating that the rendering capability is the strongest, and the rendering capability of the rendering node 50 is the weakest.
设渲染一帧的最大时间 max res t^res tiOes),••• wOes))为 500ms,已知 系统内可用渲染节点数为 50, 帧率 f为 24φδ, 根据前述 W的推算方法, 可以 4 设经过若干次尝试估计得出显示单元的大小为 24, 此时差值压缩和传输的 时间 TCT和容忍时间 Ttol合计为 100ms。 The maximum time to render a frame is max res t^res tiOes), ••• wOes)) is 500ms. It is known that the number of rendering nodes available in the system is 50, and the frame rate f is 24φ δ . According to the calculation method of W above, 4 It is estimated that after several attempts, the size of the display unit is 24, and the time T CT and the tolerance time T tol of the difference compression and transmission are 100 ms in total.
为方便计算和理解, 假设本实施例中总渲染帧数为 2400帧, 则有 100个 显示单元, 且每个显示单元均为 24帧, 由此可以推出, 渲染单元为 100个, 所需要同时参与渲染的渲染节点为 24个,一个渲染单元的大小也就为 100帧。 按照本发明提供的一种基于云应用的在线渲染方法,可参照图 3的方法过 程示意图, 针对该实施例应用场景, 其任务分解结果可参照表一: For the convenience of calculation and understanding, assuming that the total number of rendered frames in the embodiment is 2400 frames, there are 100 display units, and each display unit is 24 frames, thereby being able to be launched, and the rendering unit is 100, which is required at the same time. There are 24 rendering nodes involved in rendering, and a rendering unit is also 100 frames in size. According to the cloud application-based online rendering method provided by the present invention, reference may be made to the method process diagram of FIG. 3, and the application scenario is applied to the embodiment.
表一  Table I
Figure imgf000015_0001
Figure imgf000015_0001
由表一数据可知, 第 1、 25、 49、 73 2353、 2377帧为第一个渲染 单元; 第 2、 26、 50、 74 2354、 2378帧为第二个渲染单元; 以此类推, 这样从第 1到第 2400帧, 交叉分解为 24个渲染单元,按帧的播放顺序被分为 24帧一组的 100个显示单元。  As can be seen from the data in Table 1, the first, second, second, second, second, and second frames are the first rendering unit; the second, the second, the second, the second, the second and second The first to the 2400th frames are cross-decomposed into 24 rendering units, and are divided into 100 display units of a group of 24 frames in the order in which the frames are played.
由前述的 50个渲染节点渲染能力的强弱, 可以将渲染单元 1分配给渲染 节点 1来渲染, 以此类推, 将渲染单元 24分给渲染节点 24渲染。  By the strength of the rendering capabilities of the aforementioned 50 render nodes, the rendering unit 1 can be assigned to the rendering node 1 for rendering, and so on, and the rendering unit 24 can be assigned to the rendering node 24 for rendering.
如果在第一个显示单元中最后一帧, 即第 24 帧渲染完成后, 发现第 20 帧在容忍时间中的等待时间内仍未完成渲染,则对渲染节点 20进行重新打分, 并与其他未参与的渲染节点 25〜50的当前分数进行对比。如果发现此时渲染节 点 25的分值高于渲染节点 20, 那么就釆用渲染节点 25来代替渲染节点 20, 进行渲染单元 20的后续渲染任务, 也就是渲染第 44、 68 2396帧。  If the last frame in the first display unit, that is, after the 24th frame is completed, it is found that the 20th frame has not finished rendering within the waiting time in the tolerance time, the rendering node 20 is re-scored, and the other is not The current scores of the participating render nodes 25-50 are compared. If it is found that the score of the rendering node 25 is higher than the rendering node 20 at this time, then the rendering node 25 is used instead of the rendering node 20, and the subsequent rendering task of the rendering unit 20 is performed, that is, the 44th, 68, 2396 frames are rendered.
在本例中釆用本发明提出的基于云应用的在线渲染方法,根据需要渲染的 模型文件中帧的播放顺序,将该模型文件中的 2400帧划分为 100个显示单元, 进而将显示单元内播放顺序相同的帧组成渲染单元,以得到了 24个渲染单元。 其中,各渲染单元具有了关于播放顺序的不同的优先级, 然后根据渲染单元的 优先级从高到低, 依次分配到渲染能力从强到弱的渲染节点, 即将渲染单元 1〜24依次分配到渲染节点 1〜24。 这样, 用户在发出预览请求后, 最多需要等 待 600ms, 即可看到连续流畅的渲染后的动画播放结果。 In this example, the cloud application-based online rendering method proposed by the present invention divides 2400 frames in the model file into 100 display units according to the playback order of the frames in the model file to be rendered, and then displays the display unit. Frames with the same playback order form a rendering unit to get 24 rendering units. Wherein each rendering unit has a different priority with respect to the playing order, and then according to the rendering unit The priority levels are assigned from high to low, and are sequentially assigned to rendering nodes with strong rendering capabilities, that is, rendering units 1-24 are sequentially assigned to rendering nodes 1-24. In this way, after the user issues a preview request, it can wait up to 600ms to see the continuous and smooth rendered animation.
该实施例釆用了本发明提出的基于云应用的在线渲染方法,不仅根据帧的 播放顺序,在进行渲染前对任务进行分解,实现了每个显示单元的帧并行渲染, 有效地提高了渲染的效率,还针对分解的结果进行了任务调度, 即优先级越高 的渲染单元分配的渲染节点渲染能力越强,使得渲染更具有合理性; 符合了在 线渲染实时的需求, 时效性高, 用户体验好。  This embodiment uses the cloud application-based online rendering method proposed by the present invention, which not only decomposes the task before rendering according to the playing order of the frame, but also realizes frame parallel rendering of each display unit, effectively improving the rendering. The efficiency of the task is also scheduled for the result of the decomposition, that is, the higher the priority of the rendering unit, the stronger the rendering ability of the rendering node, making the rendering more reasonable; in line with the real-time requirements of online rendering, high timeliness, users Experience is good.
另外, 在网络传输、 I/O存储、 渲染的速度能够达到游戏实时交互需求的 前提下, 也可以釆用本发明的方法应用于在线 3D游戏场景。  In addition, the method of the present invention can also be applied to an online 3D game scene under the premise that the speed of network transmission, I/O storage, and rendering can meet the real-time interaction requirements of the game.
当用户触发一个关卡或情节时,如果通过游戏引擎可以预先得到需要渲染 的 3D动画模型文件, 则可釆用本发明实施例提供的方法进行任务分解和调度 来实现渲染, 其过程示意图可参考图 3 , 其具体过程可参考方法实施例相关步 骤的内容, 此处不再具体描述;  When the user triggers a level or a plot, if the 3D animation model file that needs to be rendered can be obtained in advance by the game engine, the method provided by the embodiment of the present invention can be used for task decomposition and scheduling to implement rendering. 3, the specific process can refer to the content of the relevant steps of the method embodiment, which will not be described in detail herein;
如果通过游戏引擎的逻辑需要通过人工智能等运算来实时演算各帧场景 现渲染, 如图 4所示, 其具体过程可参考方法实施例相关步骤的内容, 此处不 再作具体描述。  If the logic of the game engine needs to perform real-time calculation of each frame scene by the operation of artificial intelligence, as shown in FIG. 4, the specific process can refer to the content of the relevant steps of the method embodiment, which will not be described in detail herein.
同样地, 该实施例釆用了本发明提出的在线渲染方法,有效地提高了渲染 的效率, 符合了在线渲染实时的需求, 时效性高, 用户体验好。  Similarly, the embodiment uses the online rendering method proposed by the present invention, which effectively improves the rendering efficiency, meets the requirements of online rendering real-time, has high timeliness, and has a good user experience.
为便于更好的实施本发明实施例的技术方案,本发明实施例还提供用于实 施上述方案的相关装置。  In order to facilitate the implementation of the technical solutions of the embodiments of the present invention, the embodiments of the present invention further provide related devices for implementing the foregoing solutions.
本发明实施例提供了一种基于云应用的在线渲染装置,其结构示意图请看 考图 5, 该装置包括:  An embodiment of the present invention provides an online rendering device based on a cloud application, and a schematic structural diagram thereof is shown in FIG. 5. The device includes:
第一接收模块 101 , 用于接收渲染任务请求;  The first receiving module 101 is configured to receive a rendering task request.
第一确定模块 102, 用于根据渲染任务请求确定需要渲染的模型文件; 第一分解模块 103 , 用于按照模型文件中各帧的播放顺序, 将该模型文件 划分为 个显示单元, 显示单元是压缩和传输的最小单位; 其中, 每个显示 单元中包含若干个播放顺序相邻的帧, 其中至少有 Nrl个显示单元中包含 W 个帧; a first determining module 102, configured to determine, according to a rendering task request, a model file that needs to be rendered; a first decomposition module 103, configured to divide the model file into a display unit according to a playing order of each frame in the model file, where the display unit is a minimum unit of compression and transmission; wherein each display unit includes a plurality of frames adjacent to each other in play order, wherein at least N r l display units include W Frames
第一组合模块 104, 用于将各显示单元中单元内播放顺序相同的帧组成渲 染单元以得到 W个渲染单元; 其中, 显示单元中每个帧的单元内播放顺序为 该帧相对于其所属显示单元中其它帧的播放顺序;  The first combination module 104 is configured to form a frame with the same playing order in each unit of the display unit to obtain a rendering unit, where the playing order of each frame in the display unit is the frame relative to the frame. Display the playing order of other frames in the unit;
第一分配模块 105 , 用于将 W个渲染单元分别分配给 W个不同的渲染节 点进行渲染。  The first allocation module 105 is configured to allocate W rendering units to W different rendering nodes for rendering.
以上实施例提供的一种基于云应用的在线渲染装置,根据需要渲染的模型 文件中帧的播放顺序,将该模型文件划分为若干个显示单元, 进而将显示单元 内播放顺序相同的帧组成渲染单元, 其中,各渲染单元具有了关于播放顺序的 不同的优先级, 然后将各渲染单元分别分配给不同的渲染节点, 即在渲染前进 行了任务的分解, 实现了每个显示单元的帧并行渲染,尽量保证它们同时完成 渲染; 并且各显示单元之间可以按照播放时间顺序进行渲染,有效地提高了渲 染的效率。  The cloud application-based online rendering device provided by the above embodiment divides the model file into a plurality of display units according to the playing order of the frames in the model file to be rendered, and then renders the frames with the same playing order in the display unit. a unit, wherein each rendering unit has a different priority with respect to the playing order, and then each rendering unit is respectively assigned to a different rendering node, that is, the task is decomposed before rendering, and the frame parallel of each display unit is realized. Rendering, try to ensure that they complete rendering at the same time; and each display unit can be rendered in the order of playback time, which effectively improves the rendering efficiency.
请参考图 6,本发明实施例还提供一种基于云应用的在线渲染装置,包括: 第一接收模块 101 , 第一确定模块 102, 第一分解模块 103 , 第一组合模 块 104, 评估模块 106, 第二确定模块 107, 第一分配模块 105 , 其中, 第一接 收模块 101 , 第一确定模块 102, 第一分解模块 103可以根据上述装置实施例 中的功能模块功能描述具体实现, 此处不再具体阐述。  Referring to FIG. 6, an embodiment of the present invention further provides an online rendering device based on a cloud application, including: a first receiving module 101, a first determining module 102, a first splitting module 103, a first combining module 104, and an evaluating module 106. The second determining module 107, the first allocating module 105, wherein the first receiving module 101, the first determining module 102, and the first splitting module 103 can be specifically implemented according to the function module function description in the foregoing device embodiment, where Explain in detail.
其中, 本实施例中第一组合模块 104可以包括:  The first combination module 104 in this embodiment may include:
第一赋帧序号子模块 1041 , 用于按照各显示单元中帧的播放先后顺序, 给各显示单元中单元内播放顺序相同的帧赋予一个相同的帧序号;  The first frame numbering sub-module 1041 is configured to assign a frame number of the same frame to the same playing sequence in the unit in each display unit according to the playing sequence of the frames in each display unit;
第一组合子模块 1042, 用于将各个显示单元内赋予了相同帧序号的帧组 成一个渲染单元。  The first combination sub-module 1042 is configured to group the frames in the respective display units with the same frame number into one rendering unit.
本发明实施例中的评估模块 106, 用于通过渲染节点的硬件配置信息和实 时负载统计信息评估渲染节点渲染能力的强弱;  The evaluation module 106 in the embodiment of the present invention is configured to evaluate the strength of the rendering capability of the rendering node by rendering the hardware configuration information of the node and the real-time load statistics.
第二确定模块 107, 用于确定出渲染能力最强的 W个渲染节点参与第一 组合模块 104得到的 W个渲染单元的渲染。  The second determining module 107 is configured to determine that the W rendering nodes with the strongest rendering capability participate in the rendering of the W rendering units obtained by the first combining module 104.
在评估模块 106与第二确定模块 107动作完成后, 指示第一分配模块 105 执行动作, 此时, 第一分配模块 105可以包括: 第一分配子模块 1051 ,用于将 W个渲染单元分别分配给第二确定模块 206 确定出的渲染能力最强的 W个渲染节点进行渲染; After the operation of the evaluation module 106 and the second determination module 107 is completed, the first distribution module 105 is instructed to perform an action. At this time, the first distribution module 105 may include: a first allocation sub-module 1051, configured to allocate W rendering units to the W rendering nodes determined by the second determining module 206 to perform rendering;
第二分配子模块 1052, 用于依次将所属显示单元内播放顺序较前的帧组 成的渲染单元分配给渲染能力较强的渲染节点进行渲染,将所属显示单元内播 放顺序较后的帧组成的渲染单元分配给渲染能力较弱的渲染节点进行渲染。  The second allocation sub-module 1052 is configured to sequentially allocate a rendering unit consisting of a frame with a higher playing order in the display unit to a rendering node with a stronger rendering capability, and perform a rendering of a frame having a lower playing order in the belonging display unit. The rendering unit is assigned to render nodes with weak rendering capabilities for rendering.
可以理解的是, 本实施例提供的基于云应用的在线渲染装置, 其各个功能 模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以 参照上述方法实施例的相关描述, 此处不再赘述。  It can be understood that the cloud application-based online rendering device provided in this embodiment may be implemented by using the method in the foregoing method embodiment, and the specific implementation process may refer to the related description of the foregoing method embodiment. I will not repeat them here.
以上实施例提供的一种基于云应用的在线渲染装置,在渲染前进行了任务 的分解, 实现了每个显示单元的帧并行渲染, 尽量保证它们同时完成渲染; 并 且各显示单元之间可以按照播放时间顺序进行渲染, 有效地提高了渲染的效 率。  The online rendering device based on the cloud application provided by the above embodiment performs the decomposition of the task before rendering, realizes the parallel rendering of each display unit, and ensures that they are simultaneously rendered at the same time; and each display unit can follow The playback time sequence is rendered, which effectively improves the rendering efficiency.
本发明实施例提供了一种基于云应用的离线渲染方法,其方法流程请参考 图 7, 该方法包括:  An embodiment of the present invention provides an offline rendering method based on a cloud application. For the method flow, please refer to FIG. 7. The method includes:
S301、 接收渲染任务请求;  S301. Receive a rendering task request.
5302、 根据渲染任务请求确定需要渲染的模型文件;  5302. Determine, according to the rendering task request, a model file that needs to be rendered;
在某些实施方式中,步骤 S301与步骤 S302可以为: 用户触发一个自助式 渲染服务,相当于向后台递交一个离线渲染任务请求,根据该离线渲染任务请 求确定出所要渲染的模型文件, 或称场景文件;  In some embodiments, step S301 and step S302 may be: the user triggers a self-service rendering service, which is equivalent to submitting an offline rendering task request to the background, and determining a model file to be rendered according to the offline rendering task request, or Scene file
该模型文件可以是自助式渲染或渲染农场等对应的模型文件,此处不作具 体限定。  The model file may be a self-service rendering or rendering corresponding model file such as a farm, which is not specifically limited herein.
5303、 按照模型文件中各帧的播放顺序, 将该模型文件划分为 N2个组, 其中至少有 N2-l个组中包含 Z个帧, Z大于 0且小于可用渲染节点数目; 由步骤 S301、 S302可以知道, 若所要渲染的模型文件包含 M2帧; 按照 模型文件中各帧的播放顺序,将模型文件中的 M2帧划分为 N2个组;每个组包 含若干个播放顺序相邻的帧,即每个组是按其内的帧的播放顺序进行排列的帧 的集合, 且在 N2个组中至少有 N2-l个组中包含 Z个帧。 在某些实施方式中, 可以设定渲染的模型文件中总帧数为 M2帧并将其 组, 若设定组内含有 Z个帧, 其中 Z大于 0且小于可用渲染节点数目, 则 组的个数 N2 =5303. Divide the model file into N 2 groups according to a play order of each frame in the model file, where at least N 2 -1 groups include Z frames, where Z is greater than 0 and less than the number of available render nodes; S301 and S302 can know that if the model file to be rendered includes an M 2 frame; according to the playing order of each frame in the model file, the M 2 frame in the model file is divided into N 2 groups; each group includes several playing sequences. adjacent frames, i.e., each group is a collection of frames arranged in order of playback within its frame, and at least N 2 -l groups contained in Z frames in the N 2 groups. In some embodiments, the total number of frames in the rendered model file may be set to M 2 frames and grouped, if the set group contains Z frames, where Z is greater than 0 and less than the number of available rendering nodes, then the group Number of N 2 =
Figure imgf000019_0001
其中, 该式子表示, 当 M2能被 Z整除, 则分为 N2组, 且每个组中都含 有 Z个帧; 当 M2不能被 Z整除, 则将结果中小数部分舍去, 整数部分 +1得 出分组的个数为 N2, 其中, 可以是前 N2- l个组中含有 Z个帧, 则最后一组中 有 (M2-( N2- l) x Z ) 帧。
Figure imgf000019_0001
Wherein, the expression indicates that when M 2 can be divisible by Z, it is divided into N 2 groups, and each group contains Z frames; when M 2 cannot be divisible by Z, the fractional part of the result is discarded. The integer part +1 gives the number of packets as N 2 , where it can be that the first N 2 - l groups contain Z frames, and the last group has (M 2 -( N 2 - l) x Z ) frame.
S304、 将各组内播放顺序相同的帧组成渲染单元, 以得到 Z个渲染单元, 其中,各组中每个帧的组内播放顺序为该帧相对于其所属的组中其它帧的播放 顺序;  S304. The frames in the same playing order in each group are combined into a rendering unit to obtain Z rendering units, where the playing order of each frame in each group is the playing order of the frame relative to other frames in the group to which it belongs. ;
针对各个组, 将组内第一个播放的帧组成一个渲染单元, 同理, 将组内第 二个播放的帧组成一个渲染单元,以此类推,将组内第 Z个播放的帧组成一个 渲染单元, 这样, 以得到 Z个渲染单元。  For each group, the first frame played in the group is composed into a rendering unit. Similarly, the second frame played in the group is composed into a rendering unit, and so on, and the Z frames in the group are composed into one frame. Render the unit so that you get Z rendering units.
需要说明的是,各组中每个帧的组内播放顺序为该帧相对于其所属的组中 其它帧的播放顺序;  It should be noted that the intra-group play order of each frame in each group is the play order of the frame relative to other frames in the group to which it belongs;
例如: 按照模型文件中各帧的播放顺序,对于第一个组内第一个播放的帧 是模型文件全部帧的第一个播放的帧, 若该模型文件 N2个组内均含 Z个帧, 则该组内最后一个播放的帧是模型文件全部帧的第 Z个播放的帧;若对于最后 一个组内第一个播放的帧, 则是模型文件全部帧的第((N2- l ) χ Ζ+1 )个播放 的帧, 该组内最后一个播放的帧是模型文件全部帧的第 N2 x Z个播放的帧。 For example: According to the playing order of each frame in the model file, the first frame played in the first group is the first frame played in the frame of the model file, if the model file N contains 2 Z groups. Frame, then the last frame played in the group is the Zth frame of all frames of the model file; if the first frame played in the last group is the first frame of the model file ((N 2 - l) χ Ζ +1) played frames, the last frame played in the group is the N 2 x Z play frames of all frames of the model file.
优选地, 在某些实施方式中, 可以认为按照各组中帧的播放先后顺序, 给 各组中的帧赋予一个帧序号;  Preferably, in some embodiments, it may be considered that a frame number is assigned to a frame in each group according to a play sequence of frames in each group;
例如: 对于各组中的第一个帧, 可以赋予帧序号 "1" , 相应的, 对于各组 中的第二个帧,可以赋予帧序号" 2" ,以此类推,对于组中的第 X个帧, x=l,2,3,...: Z, 可以赋予帧序号 "X" , 对于各组中的最后一个帧, 即第 Z个帧, 可以赋予 帧序号 "Z" ,这样就可以得到各组内播放顺序相同的帧赋予了一个相同的帧序 号。 其中,将各组内播放顺序相同的帧组成渲染单元可以是将各个组内赋予了 相同帧序号的帧组成一个渲染单元; For example: For the first frame in each group, the frame number "1" can be given. Correspondingly, for the second frame in each group, the frame number "2" can be given, and so on, for the first in the group. X frames, x=l, 2, 3,... : Z, can give the frame number "X", for the last frame in each group, that is, the Zth frame, the frame number "Z" can be given, It is possible to obtain a frame number with the same frame sequence in the same playback order in each group. Wherein, the frame having the same playing order in each group is composed of a frame, and the frame with the same frame number in each group is composed into one rendering unit;
例如: 对于各组中赋予了帧序号 "1" 的帧组成一个渲染单元, 为便于理 解, 可以将赋予了帧序号 "1" 的帧组成的渲染单元记为渲染单元 1, 同理, 可以将赋予了帧序号 "2" 的帧组成的渲染单元记为渲染单元 2, 以此类推, 可以将赋予了帧序号 "X" 的帧组成的渲染单元记为渲染单元 X, 赋予了帧序 号 "Ζ" 的帧组成的渲染单元可记为渲染单元 Ζ, 这样就可以将各组内播放顺 序相同的帧组成渲染单元, 以得到了 Ζ个渲染单元。  For example: For each group, the frame with the frame number "1" is assigned to form a rendering unit. For the sake of understanding, the rendering unit composed of the frame with the frame number "1" can be recorded as the rendering unit 1. For the same reason, The rendering unit composed of the frame number given with the frame number "2" is denoted as the rendering unit 2, and so on, and the rendering unit composed of the frame given the frame number "X" can be recorded as the rendering unit X, and the frame number is given. The rendering unit of the frame can be recorded as a rendering unit, so that the frames with the same playing order in each group can be composed into rendering units to obtain one rendering unit.
例如: 按照模型文件中各帧的播放顺序,对于第一个组中的赋予了帧序号 "1" 的帧是模型文件全部帧的第一个播放的帧, 其赋予了帧序号 "Ζ" 的帧是 模型文件全部帧的第 Ζ个播放的帧, 但是对于第二个组中赋予了帧序号 "Γ 的帧是第二个组内最先播放的帧, 但该帧是模型文件全部帧的第 Z+1 个帧, 其赋予了帧序号 "Ζ" 的帧是模型文件全部帧的第 2χΖ个播放的帧; 因此, 对于第二个以及后续的第 y个组, y为大于 1且小于 N2的整数, 其组内赋予 了帧序号 "1" 的帧是模型文件全部帧的第 ((y-1 ) xZ+1 )个播放的帧, 其赋 予了帧序号 "Z" 的帧是模型文件全部帧的第 yxZ个播放的帧, 如图 8所示, 可以按照播放顺序给每个组内的帧赋予帧序号, 如图中帧内编号, 而这些帧在 整个模型文件中的顺序是下面横轴所示的编号; 由图 8所示, 可以认为, 该模 型文件中的帧是釆用交叉分解来实现渲染的。 For example: According to the playback order of each frame in the model file, the frame given the frame number "1" in the first group is the first frame of the frame of all the model files, which is given the frame number "Ζ". The frame is the next frame played by all frames of the model file, but for the frame in the second group that is given the frame number "Γ" is the first frame played in the second group, but the frame is the entire frame of the model file. The Z+1th frame, the frame to which the frame number "Ζ" is given is the second frame of the frame of all the model files; therefore, for the second and subsequent yth groups, y is greater than 1 and less than An integer of N 2 whose frame is given the frame number "1" is the ((y-1) xZ+1)-played frame of all the frames of the model file, and the frame to which the frame number "Z" is given is The yxZ-played frames of all frames of the model file, as shown in FIG. 8, frame numbers can be assigned to the frames in each group according to the play order, as shown in the frame, and the order of the frames in the entire model file. Is the number shown on the horizontal axis below; as shown in Figure 8, it can be considered that the frame in the model file is By decomposition to achieve cross-rendering.
S305、 将 Z个渲染单元分别分配给 Z个不同的渲染节点进行渲染; 可以理解的是,每个渲染单元都需要分配给一个渲染节点进行渲染, 因此 参与渲染的节点数目也是为 Z个。  S305. Assign Z rendering units to Z different rendering nodes for rendering. It can be understood that each rendering unit needs to be assigned to a rendering node for rendering, so the number of nodes participating in rendering is also Z.
优选地, 由步骤 S304可知, 可以将各组中赋予了帧序号 "1" 的帧组成的 渲染单元记为渲染单元 1, 同理, 可以将赋予了帧序号 "2" 的帧组成的渲染 单元可记为渲染单元 2, 以此类推, 赋予了帧序号 "Z" 的帧组成的渲染单元 可记为渲染单元 Z; 为便于理解, 可以将对渲染单元 1进行渲染的渲染节点记 为渲染节点 1, 同理, 可以将对渲染单元 2进行渲染的渲染节点记为渲染节点 2, 以此类推, 可以将对渲染单元 Z进行渲染的渲染节点记为渲染节点 Z。  Preferably, it is known from step S304 that a rendering unit composed of frames of the frame number "1" in each group can be recorded as the rendering unit 1, and similarly, a rendering unit composed of frames with the frame number "2" can be composed. It can be recorded as rendering unit 2, and so on, the rendering unit composed of the frame given the frame number "Z" can be recorded as the rendering unit Z; for ease of understanding, the rendering node rendering the rendering unit 1 can be recorded as a rendering node 1. Similarly, the rendering node that renders the rendering unit 2 can be recorded as the rendering node 2, and so on, and the rendering node that renders the rendering unit Z can be recorded as the rendering node Z.
本发明提出的基于云应用的离线渲染方法,根据需要渲染的模型文件中帧 的播放顺序,将该模型文件划分为若干个组, 进而将组内播放顺序相同的帧组 成渲染单元, 然后将各渲染单元分别分配给不同的渲染节点, 该方法可以使得 其渲染任务分解更合理,提高了渲染效率,从而缩短完成整个任务的渲染时间。 The cloud application-based offline rendering method proposed by the present invention, according to a frame in a model file that needs to be rendered The playing sequence divides the model file into several groups, and then frames the same playing sequence in the group into a rendering unit, and then assigns each rendering unit to a different rendering node, which can make the rendering task decomposition more reasonable. , improve rendering efficiency, thus reducing the rendering time to complete the entire task.
以下实施例以一个 3D动画模型文件的渲染云应用为例的应用场景, 对本 发明提出基于云应用的离线渲染方法进行具体阐述。  In the following embodiment, an application scenario of a 3D animation model file rendering cloud application is taken as an example, and the offline rendering method based on the cloud application is specifically described.
对模型文件来说, 可能存在各个帧的复杂度和渲染效果不同的问题, 这导 致在一段动画中各帧需要的渲染时间可能不同。以现有技术中一种离线渲染方 法进行说明, 如图 9, 为一种现有的离线渲染任务分解方式的示意图。 若支设 总共有 M2帧需要渲染, 以每 N2帧分为一片作为一个渲染单元, 其中若 M2能 被 N2整除,则可分为 Z个渲染单元,分别由 Z个渲染节点参与任务, 即 M2=Z x N2, 令 l≤x≤Z , x代表第 x个渲染单元或者第 x个渲染节点。 当所有分片 即所有渲染单元均完成渲染,则可以打包下载这些序列图片。这里渲染单元(分 片)的产生是按照帧的时间顺序逐段实现的, 并且各分片是以同等概率随机选 择渲染节点进行渲染。 For model files, there may be problems with the complexity and rendering effects of individual frames, which may result in different rendering times for each frame in an animation. An offline rendering method in the prior art is illustrated. FIG. 9 is a schematic diagram of an existing offline rendering task decomposition manner. If there are a total of M 2 frames to be rendered, one frame per N 2 frames is used as a rendering unit. If M 2 can be divisible by N 2 , it can be divided into Z rendering units, which are respectively participated by Z rendering nodes. The task, that is, M 2 = Z x N 2 , let l ≤ x ≤ Z, where x represents the xth rendering unit or the xth rendering node. When all the shards, ie all rendering units, have been rendered, these sequence images can be packaged for download. Here, the rendering unit (sharding) is generated step by piece according to the time sequence of the frame, and each fragment is randomly selected by the same probability to render the rendering node.
需要说明的是,在该实施例中, 此处主要是以参与渲染的渲染节点数目相 实施例中, 设定渲染节点的个数为 。  It should be noted that, in this embodiment, the number of rendering nodes participating in the rendering is mainly in the embodiment, and the number of rendering nodes is set to .
若假设需要渲染的总帧数 M2为 2400, 参与渲染的节点数 Z为 24, —个 渲染单元的大小 N2为 100; 可以设定渲染节点 1渲染渲染单元 1 , 即第 1〜第 100帧, 渲染节点 2渲染渲染单元 2, 即第 101〜第 200帧, 以此类推。 由于动 画模型文件的各帧的复杂度和设置不同, 可以假设大部分帧平均需要每帧 20s 来完成, 但是第 505〜第 600帧平均每帧需要 50s来完成。 由此可推算, 渲染 节点 1可以在 2000s完成所分配的渲染单元 1的渲染任务,渲染节点 2也是可 以在 2000s完成所分配的渲染单元 2的渲染任务, 以此类推; 可是由于渲染节 点 6需要渲染第 505〜第 600帧, 需要 20x4+50x96=4880s。 这样, 完成整个动 画模型文件的渲染需要的时间为各渲染节点渲染所分配的渲染单元的最大渲 染时间, 即 4880s。 由此可以发现, 此时另外 23个渲染节点都在 2000s完成了 任务, 然后都在等待渲染节点 6, 所以延误了整个任务的完成。 如果釆用本发明提出的基于云应用的离线渲染方法, 可参照图 8。 同样对 2400帧进行渲染, 参与渲染节点为 24个, 渲染单元大小为 100。 其任务的分 解结果可以参考表二: If it is assumed that the total number of frames M 2 to be rendered is 2400, the number of nodes participating in rendering Z is 24, and the size of a rendering unit N 2 is 100; the rendering node 1 can be set to render rendering unit 1, ie, 1st to 100th Frame, render node 2 renders render unit 2, ie 101st to 200th frames, and so on. Since the complexity and setting of each frame of the animated model file are different, it can be assumed that most of the frames need to be completed every 20s per frame, but the 505th to 600th frames need to be completed for 50s per frame. It can be inferred that the rendering node 1 can complete the rendering task of the allocated rendering unit 1 in 2000s, the rendering node 2 can also complete the rendering task of the allocated rendering unit 2 in 2000s, and so on; however, since the rendering node 6 needs Rendering the 505th to 600th frames requires 20x4+50x96=4880s. Thus, the time required to complete the rendering of the entire animated model file is the maximum rendering time of the rendered rendering unit for each rendering node, ie 4880s. It can be found that at this time, the other 23 rendering nodes complete the task in 2000s, and then all wait for the rendering node 6, so the completion of the entire task is delayed. If the cloud application-based offline rendering method proposed by the present invention is used, reference may be made to FIG. 8. The same 2400 frames are rendered, the number of participating rendering nodes is 24, and the rendering unit size is 100. The decomposition results of its tasks can be referred to Table 2:
表二  Table II
Figure imgf000022_0001
Figure imgf000022_0001
根据表二数据可知: 第 1 25 49 73 2353 2377帧为第一个渲 染单元, 分配给渲染节点 1 ; 第 2 26 50 74 2354 2378帧为第二 个渲染单元, 分配给渲染节点 2; 以此类推。 这样渲染时间较长的第 506〜第 600帧被分散到了全部 24个渲染节点来处理。 此时, 渲染节点 1渲染的渲染 单元 1中包含第 505、 第 529、 第 553和第 577这四个复杂帧, 因此完成渲染 单元 1的总时间为 20x96+50x4=2120s; 同样地, 渲染节点 2渲染的渲染单元 2中包含第 506、 第 530、 第 554、 第 578这四个复杂帧, 总用时也是 2120s, 依此类推。 这样, 所有渲染节点都是用 2120s完成所分配的渲染单元, 整个任 务的总用时也就是 2120s, 相比于釆用现有技术中方法使用的 4880s, 渲染用 时得到大幅减少。  According to the data in Table 2: 1 25 49 73 2353 2377 frame is the first rendering unit, assigned to rendering node 1; 2 26 50 74 2354 2378 frame is the second rendering unit, assigned to rendering node 2; analogy. The 506th to 600th frames, which are thus rendered for a long time, are distributed to all 24 rendering nodes for processing. At this time, the rendering unit 1 rendered by the rendering node 1 includes the four complex frames 505, 529, 553, and 577, so the total time to complete the rendering unit 1 is 20x96+50x4=2120s; likewise, the rendering node The rendering unit 2 of the rendering 2 includes the four complex frames 506, 530, 554, and 578, and the total time is also 2120s, and so on. In this way, all render nodes complete the assigned render unit with 2120s, and the total task time is 2120s. Compared to the 4880s used in the prior art method, the rendering time is greatly reduced.
本发明实施例提出的基于云应用的离线渲染方法,可以使得其渲染任务分 解更合理, 提高了渲染效率, 从而缩短完成整个任务的渲染时间。  The offline rendering method based on the cloud application proposed by the embodiment of the invention can make the rendering task decomposition more reasonable, improve the rendering efficiency, and shorten the rendering time of completing the entire task.
在实际应用中,在线渲染云应用中也会面临各帧渲染时间不同的问题,但 是考虑到由于邻近的连续帧之间复杂度存在较大差异的可能性较低;而且渲染 过程中的容忍时间,也是有考虑到连续帧间的复杂度可能存在的微小差异带来 的影响而设置的。 另夕卜,针对离线渲染的应用场景中,对渲染时间的假设只是用一种简单明 了的方法模拟实际情况, 而在实际情况下各帧渲染时间是连续浮动和变化的, 不会这样简单的一分为二。 不过, 这种假设是近似符合实际情况的, 可以充分 说明面临的问题。 In practical applications, online rendering cloud applications also face different rendering time of each frame, but it is less likely to be due to large differences in complexity between adjacent consecutive frames; and tolerance time during rendering It is also set to take into account the effects of small differences that may exist between successive frames of complexity. In addition, in the application scenario of offline rendering, the assumption of rendering time is only to simulate the actual situation in a simple and clear way, and in actual cases, the rendering time of each frame is continuously floating and changing, which is not so simple. split into two. However, this assumption is similar to the actual situation and can fully explain the problems faced.
为便于更好的实施本发明实施例的技术方案,本发明实施例还提供用于实 施上述方案的相关装置。  In order to facilitate the implementation of the technical solutions of the embodiments of the present invention, the embodiments of the present invention further provide related devices for implementing the foregoing solutions.
本发明实施例提供了一种基于云应用的离线渲染装置,其结构示意图请看 考图 10, 该装置包括:  An embodiment of the present invention provides an offline rendering device based on a cloud application. For a schematic structural diagram, see FIG. 10, the device includes:
第二接收模块 301 , 用于接收渲染任务请求;  a second receiving module 301, configured to receive a rendering task request;
第三确定模块 302, 用于根据渲染任务请求确定需要渲染的模型文件; 第二分解模块 303 , 用于按照模型文件中各帧的播放顺序, 将该模型文件 划分为 N2个组, 其中至少有 N2-l个组中包含 Z个帧, Z大于 0且小于可用渲 染节点数目; The third determining module 302 is configured to determine, according to the rendering task request, the model file that needs to be rendered; the second decomposition module 303 is configured to divide the model file into N 2 groups according to a playing order of each frame in the model file, where at least There are Z frames in N 2 -1 groups, Z is greater than 0 and less than the number of available rendering nodes;
第二组合模块 304, 用于将各组内播放顺序相同的帧组成渲染单元, 以得 到 Z个渲染单元,其中,各组中每个帧的组内播放顺序为该帧相对于其所属的 组中其它帧的播放顺序;  The second combining module 304 is configured to group the frames with the same playing order in each group into the rendering unit to obtain Z rendering units, wherein the playing order of each frame in each group is the group relative to the group to which the frame belongs. The order in which other frames are played;
第二分配模块 305,用于将 Z个渲染单元分别分配给 Z个不同的渲染节点 进行渲染。  The second allocation module 305 is configured to respectively allocate Z rendering units to Z different rendering nodes for rendering.
优选地,请参考图 11 , 本实施例提供的离线渲染装置中第二组合模块 304 可以包括:  Preferably, referring to FIG. 11, the second combining module 304 in the offline rendering apparatus provided in this embodiment may include:
第二赋帧序号子模块 3041 , 用于按照各组中帧的播放先后顺序, 给各组 内播放顺序相同的帧赋予一个相同的帧序号;  The second frame numbering sub-module 3041 is configured to assign a frame number of the same frame to the same playing sequence in each group according to the playing sequence of the frames in each group;
第二组合子模块 3042, 用于将各个组内赋予了相同帧序号的帧组成一个 渲染单元。  The second combination sub-module 3042 is configured to form frames of the same frame number in each group into one rendering unit.
可以理解的是, 本实施例提供的基于云应用的离线渲染装置, 其各个功能 模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以 参照上述方法实施例的相关描述, 此处不再赘述。  It can be understood that the cloud application-based offline rendering device provided in this embodiment may be implemented in accordance with the method in the foregoing method embodiment, and the specific implementation process may refer to the related description of the foregoing method embodiment. I will not repeat them here.
本发明实施例提出的基于云应用的离线渲染装置,可以使得其渲染任务分 解更合理, 提高了渲染效率, 从而缩短完成整个任务的渲染时间。 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储 介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质。 The offline rendering device based on the cloud application proposed by the embodiment of the invention can make the rendering task decomposition more reasonable, improve the rendering efficiency, and shorten the rendering time of completing the entire task. A person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to the program instructions. The foregoing program may be stored in a computer readable storage medium, and the program is executed when executed. The foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
以上对本发明所提供的一种基于云应用的在线渲染方法和离线渲染方法 及相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例 的思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书 内容不应理解为对本发明的限制。  The cloud application-based online rendering method and offline rendering method and related devices provided by the present invention are described in detail above. For those skilled in the art, according to the embodiments of the present invention, in the specific implementation manner and application scope There is a change in the above, and the contents of the present specification should not be construed as limiting the invention.

Claims

权 利 要 求 Rights request
1、 一种基于云应用的在线渲染方法, 其特征在于, 包括:  1. An online rendering method based on a cloud application, comprising:
接收渲染任务请求;  Receiving a rendering task request;
根据所述渲染任务请求确定需要渲染的模型文件;  Determining a model file that needs to be rendered according to the rendering task request;
按照所述模型文件中各帧的播放顺序, 将该模型文件划分为 ^个显示单 元, 所述显示单元是压缩和传输的最小单位, 其中, 每个显示单元中包含若干 个播放顺序相邻的帧, 其中至少有 Nr l个显示单元中包含 W个帧; Dividing the model file into a display unit according to a play order of each frame in the model file, where the display unit is a minimum unit of compression and transmission, wherein each display unit includes a plurality of play sequences adjacent to each other. a frame, wherein at least N r l display units include W frames;
将各显示单元中单元内播放顺序相同的帧组成渲染单元, 以得到 W个渲 染单元, 其中,显示单元中每个帧的单元内播放顺序为该帧相对于其所属显示 单元中其它帧的播放顺序;  Forming a rendering unit with the same playing order in each unit of the display unit to obtain W rendering units, wherein the playing order of each frame in the display unit is the playing of the frame relative to other frames in the display unit to which it belongs Order
将所述 W个渲染单元分别分配给 W个不同的渲染节点进行渲染。  The W rendering units are respectively assigned to W different rendering nodes for rendering.
2、 根据权利要求 1所述的方法, 其特征在于, 所述将所述 W个渲染单元 分别分配给 W个不同的渲染节点进行渲染之前进一步包括:  The method according to claim 1, wherein the distributing the W rendering units to the W different rendering nodes for rendering before further comprises:
通过渲染节点的硬件配置信息和实时负载统计信息评估渲染节点渲染能 力的强弱;确定出渲染能力最强的 W个渲染节点参与所述 W个渲染单元的渲 染。  The rendering node's rendering capability is evaluated by rendering the node's hardware configuration information and real-time load statistics. It is determined that the W rendering nodes with the strongest rendering capabilities participate in the rendering of the W rendering units.
3、 根据权利要求 2所述的方法, 其特征在于, 所述将所述 W个渲染单元 分别分配给 W个不同的渲染节点进行渲染, 包括:  The method according to claim 2, wherein the assigning the W rendering units to W different rendering nodes for rendering comprises:
将所述 W个渲染单元分别分配给所述确定出的渲染能力最强的 W个渲染 节点进行渲染,依次将所属显示单元内播放顺序较前的帧组成的渲染单元分配 给渲染能力较强的渲染节点进行渲染,将所属显示单元内播放顺序较后的帧组 成的渲染单元分配给渲染能力较弱的渲染节点进行渲染。  The W rendering units are respectively allocated to the determined W rendering nodes with the strongest rendering capability for rendering, and the rendering units composed of the frames with the earlier playing order in the display unit are sequentially assigned to the rendering capability. The rendering node performs rendering, and the rendering unit composed of the frames with the later playing order in the display unit is allocated to the rendering node with weak rendering ability for rendering.
4、 根据权利要求 1所述的方法, 其特征在于, 所述将各显示单元中单元 内播放顺序相同的帧组成渲染单元, 包括:  The method according to claim 1, wherein the frame having the same playing order in the units in each display unit is composed of a rendering unit, and includes:
按照各显示单元中帧的播放先后顺序,给各显示单元中单元内播放顺序相 同的帧赋予一个相同的帧序号;  According to the playing sequence of the frames in each display unit, the same frame number is given to the same frame in the unit in each display unit;
将各个显示单元内赋予了相同帧序号的帧组成一个渲染单元。  Frames given the same frame number in each display unit constitute one rendering unit.
5、 根据权利要求 1至 4任一项所述的方法, 其特征在于, 所述 W满足: W≥ |[max(ti(res), t2(res), · .. ti(res), · . . tw(res)) + TcT(res, B, W, R) + Tt。i] x f| , 其中, t es) 为所分配的渲染节点 i渲染一帧需要的时间, i取值为 1到 W的整数; TCT为差值压缩和传输 W帧的总时间; Ttol为容忍时间, 所述容 忍时间为完成一个显示单元中最后一帧渲染后的等待时间和缺帧补偿时间之 和; f为帧率, 所述帧率为每秒播放的帧数; res为分辨率、 B为网速、 R为差 值编码压缩率。 The method according to any one of claims 1 to 4, wherein the W satisfies: W ≥ |[max(ti(res), t2(res), · .. ti(res), .tw(res)) + TcT(res, B, W, R) + Tt. i] xf| , Where t es) is the time required to render a frame for the assigned render node i, i is an integer from 1 to W; T CT is the total time for the difference compression and transmission of the W frame; T tol is the tolerance time, The tolerance time is the sum of the waiting time and the frameless compensation time after the last frame in one display unit is completed; f is the frame rate, the frame rate is the number of frames played per second; res is the resolution, B is the network Speed, R is the difference encoding compression ratio.
6、 一种基于云应用的在线渲染装置, 其特征在于, 包括:  6. An online rendering device based on a cloud application, comprising:
第一接收模块, 用于接收渲染任务请求;  a first receiving module, configured to receive a rendering task request;
第一确定模块, 用于根据所述渲染任务请求确定需要渲染的模型文件; 第一分解模块, 用于按照所述模型文件中各帧的播放顺序,将该模型文件 划分为 个显示单元, 所述显示单元是压缩和传输的最小单位; 其中, 每个 显示单元中包含若干个播放顺序相邻的帧, 其中至少有 Nr l个显示单元中包 含 W个帧; a first determining module, configured to determine, according to the rendering task request, a model file that needs to be rendered; a first decomposition module, configured to divide the model file into a display unit according to a playing order of each frame in the model file, where The display unit is a minimum unit of compression and transmission; wherein each display unit includes a plurality of frames adjacent to each other in a play order, wherein at least N r l display units include W frames;
第一组合模块 ,用于将各显示单元中单元内播放顺序相同的帧组成渲染单 元以得到 W个渲染单元; 其中, 显示单元中每个帧的单元内播放顺序为该帧 相对于其所属显示单元中其它帧的播放顺序;  a first combination module, configured to form a rendering unit with the same playback order in each unit of the display unit to obtain a rendering unit; wherein, the playing order of each frame in the display unit is the display relative to the frame to which the frame belongs. The order in which other frames in the unit are played;
第一分配模块,用于将所述 W个渲染单元分别分配给 W个不同的渲染节 点进行渲染。  a first allocation module, configured to allocate the W rendering units to W different rendering nodes for rendering.
7、 根据权利要求 6所述的装置, 其特征在于, 该装置还包括:  7. The device according to claim 6, wherein the device further comprises:
评估模块,用于通过渲染节点的硬件配置信息和实时负载统计信息评估渲 染节点渲染能力的强弱;  An evaluation module, configured to evaluate the rendering capability of the rendering node by rendering hardware information of the node and real-time load statistics;
第二确定模块, 用于确定出渲染能力最强的 W个渲染节点参与所述第一 组合模块得到的 W个渲染单元的渲染。  The second determining module is configured to determine that the W rendering nodes with the strongest rendering capability participate in the rendering of the W rendering units obtained by the first combining module.
8、 根据权利要求 7所述的装置, 其特征在于, 所述第一分配模块包括: 第一分配子模块, 用于将 W个渲染单元分别分配给所述第二确定模块确 定出的渲染能力最强的 W个渲染节点进行渲染;  The device according to claim 7, wherein the first allocating module comprises: a first allocating submodule, configured to respectively allocate W rendering units to the rendering capability determined by the second determining module The strongest W rendering nodes are rendered;
第二分配子模块,用于依次将所属显示单元内播放顺序较前的帧组成的渲 染单元分配给渲染能力较强的渲染节点进行渲染,将所属显示单元内播放顺序 较后的帧组成的渲染单元分配给渲染能力较弱的渲染节点进行渲染。  a second allocation sub-module, configured to sequentially allocate a rendering unit consisting of a frame with a higher playing order in the display unit to a rendering node with a stronger rendering capability, and render the frame with a later playing sequence in the belonging display unit. Units are allocated for rendering nodes that have weak rendering capabilities.
9、 根据权利要求 6所述的装置, 其特征在于, 所述第一组合模块包括: 第一赋帧序号子模块, 用于按照各显示单元中帧的播放先后顺序,给各显 示单元中单元内播放顺序相同的帧赋予一个相同的帧序号; The device according to claim 6, wherein the first combination module comprises: a first frame number sub-module, configured to assign a frame number of the same frame to the same playing sequence in each unit of the display unit according to the playing sequence of the frames in each display unit;
第一组合子模块,用于将各个显示单元内赋予了相同帧序号的帧组成一个 渲染单元。  The first combination sub-module is configured to form a frame by assigning frames of the same frame number in each display unit.
10、 根据权利要求 6至 9任一项所述的装置, 其特征在于, 所述 W满足: 10. Apparatus according to any one of claims 6 to 9, wherein said W satisfies:
W≥ |[max(ti(res), t2(res), · .. ti(res), · . . tw(res)) + TcT(res, B, W, R) + Tt。i] x f| , 其中, t es)为所分配的渲染节点 i渲染一帧需要的时间, i取值为 1到 W 的整数; TCT为差值压缩和传输 W帧的总时间; Ttol为容忍时间, 所述容忍时 间为完成一个显示单元中最后一帧渲染后的等待时间和缺帧补偿时间之和; f 为帧率, 所述帧率为每秒播放的帧数; res为分辨率、 B为网速、 R为差值编 码压缩率。 W ≥ |[max(ti(res), t2(res), · .. ti(res), · . . tw(res)) + TcT(res, B, W, R) + Tt. i] xf| , where t es) is the time required to render a frame for the assigned render node i, i is an integer from 1 to W; T CT is the total time for difference compression and transmission of W frames; T tol To tolerate time, the tolerance time is the sum of the waiting time and the frameless compensation time after the last frame is rendered in one display unit; f is the frame rate, the frame rate is the number of frames played per second; res is the resolution Rate, B is the network speed, and R is the difference encoding compression ratio.
11、 一种基于云应用的离线渲染方法, 其特征在于, 包括:  11. An offline rendering method based on a cloud application, comprising:
接收渲染任务请求;  Receiving a rendering task request;
根据所述渲染任务请求确定需要渲染的模型文件;  Determining a model file that needs to be rendered according to the rendering task request;
按照所述模型文件中各帧的播放顺序, 将该模型文件划分为 N2个组, 其 中至少有 N2-l个组中包含 Z个帧, 所述 Z大于 0且小于可用渲染节点数目; 将各组内播放顺序相同的帧组成渲染单元, 以得到 Z个渲染单元, 其中, 各组中每个帧的组内播放顺序为该帧相对于其所属的组中其它帧的播放顺序; 将所述 Z个渲染单元分别分配给 Z个不同的渲染节点进行渲染。 According to the playing order of each frame in the model file, the model file is divided into N 2 groups, wherein at least N 2 -1 groups include Z frames, and the Z is greater than 0 and smaller than the number of available rendering nodes; The frames in the same playing order are grouped into rendering units to obtain Z rendering units, wherein the playing order of each frame in each group is the playing order of the frame relative to other frames in the group to which it belongs; The Z rendering units are respectively assigned to Z different rendering nodes for rendering.
12、 根据权利要求 11所述的方法, 其特征在于, 所述将各组内播放顺序 相同的帧组成渲染单元, 包括:  The method according to claim 11, wherein the frame having the same playing order in each group is composed of a rendering unit, including:
按照各组中帧的播放先后顺序,给各组内播放顺序相同的帧赋予一个相同 的帧序号;  According to the playing sequence of the frames in each group, the same frame number is given to the frames in the same playing sequence in each group;
将各个组内赋予了相同帧序号的帧组成一个渲染单元。  Frames assigned the same frame number within each group constitute one rendering unit.
13、 一种基于云应用的离线渲染装置, 其特征在于, 包括:  13. An offline rendering device based on a cloud application, comprising:
第二接收模块, 用于接收渲染任务请求;  a second receiving module, configured to receive a rendering task request;
第三确定模块, 用于根据所述渲染任务请求确定需要渲染的模型文件; 第二分解模块, 用于按照所述模型文件中各帧的播放顺序,将该模型文件 划分为 N2个组,其中至少有 N2-l个组中包含 Z个帧,所述 Z大于 0且小于可 用渲染节点数目; Third determining module, based on the rendering model file for a task request determined to be rendered; second decomposition module configured in accordance with the model file playback order of each frame, the model file is divided into N 2 groups, At least N 2 -1 groups include Z frames, and the Z is greater than 0 and less than Use the number of render nodes;
第二组合模块, 用于将各组内播放顺序相同的帧组成渲染单元, 以得到 Z 个渲染单元, 其中, 各组中每个帧的组内播放顺序为该帧相对于其所属的组中 其它帧的播放顺序;  a second combination module, configured to group the frames with the same playing order in each group into a rendering unit, to obtain Z rendering units, where the playing order of each frame in each group is the frame relative to the group to which it belongs The order in which other frames are played;
第二分配模块, 用于将所述 Z个渲染单元分别分配给 Z个不同的渲染节 点进行渲染。  And a second allocation module, configured to respectively allocate the Z rendering units to Z different rendering nodes for rendering.
14、 根据权利要求 13所述的装置, 其特征在于, 所述第二组合模块包括: 第二赋帧序号子模块, 用于按照各组中帧的播放先后顺序,给各组内播放 顺序相同的帧赋予一个相同的帧序号;  The device according to claim 13, wherein the second combination module comprises: a second frame numbering sub-module, configured to play the same sequence in each group according to a play sequence of frames in each group Frames are given the same frame number;
第二组合子模块,用于将各个组内赋予了相同帧序号的帧组成一个渲染单 元。  The second combination sub-module is configured to form a rendering unit by assigning frames of the same frame number within each group.
PCT/CN2011/085117 2011-12-31 2011-12-31 Online rendering method and offline rendering method and relevant device based on cloud application WO2013097210A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180003228.0A CN103299347B (en) 2011-12-31 2011-12-31 Online rendering intent based on cloud application and off-line rendering intent and relevant apparatus
PCT/CN2011/085117 WO2013097210A1 (en) 2011-12-31 2011-12-31 Online rendering method and offline rendering method and relevant device based on cloud application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/085117 WO2013097210A1 (en) 2011-12-31 2011-12-31 Online rendering method and offline rendering method and relevant device based on cloud application

Publications (1)

Publication Number Publication Date
WO2013097210A1 true WO2013097210A1 (en) 2013-07-04

Family

ID=48696267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/085117 WO2013097210A1 (en) 2011-12-31 2011-12-31 Online rendering method and offline rendering method and relevant device based on cloud application

Country Status (2)

Country Link
CN (1) CN103299347B (en)
WO (1) WO2013097210A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104740873A (en) * 2015-04-13 2015-07-01 四川天上友嘉网络科技有限公司 Image rendering method for game
WO2021249358A1 (en) * 2020-06-08 2021-12-16 华为技术有限公司 Rendering method, device and system
WO2023066122A1 (en) * 2021-10-22 2023-04-27 华为技术有限公司 Three-dimensional model data processing method, three-dimensional model data generation method, and related apparatuses

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214978A (en) * 2017-07-01 2019-01-15 武汉斗鱼网络科技有限公司 Accelerated processing method, storage medium, electronic equipment and the system of filtering effects
CN112473130A (en) * 2020-11-26 2021-03-12 成都数字天空科技有限公司 Scene rendering method and device, cluster, storage medium and electronic equipment
CN116389831B (en) * 2023-06-06 2023-08-15 湖南马栏山视频先进技术研究院有限公司 Yun Yuansheng-based offline rendering system and method
CN116680086B (en) * 2023-07-25 2024-04-02 联通沃音乐文化有限公司 Scheduling management system based on offline rendering engine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101218562A (en) * 2005-05-27 2008-07-09 Ati技术公司 Applying non-homogeneous properties to multiple video processing units (VPUs)
US7456833B1 (en) * 2005-06-15 2008-11-25 Nvidia Corporation Graphical representation of load balancing and overlap
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN101595510A (en) * 2006-11-15 2009-12-02 Iam集团公司 Be used to create, make and the method for distributing three-dimensional models

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1204494C (en) * 2003-04-03 2005-06-01 浙江大学 Load balancing design method based space-time transform used in parallel drawing system of computer cluster
US20080211816A1 (en) * 2003-07-15 2008-09-04 Alienware Labs. Corp. Multiple parallel processor computer graphics system
US20060271717A1 (en) * 2005-05-27 2006-11-30 Raja Koduri Frame synchronization in multiple video processing unit (VPU) systems
US8212838B2 (en) * 2005-05-27 2012-07-03 Ati Technologies, Inc. Antialiasing system and method
US9270783B2 (en) * 2008-12-06 2016-02-23 International Business Machines Corporation System and method for photorealistic imaging workload distribution

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN101218562A (en) * 2005-05-27 2008-07-09 Ati技术公司 Applying non-homogeneous properties to multiple video processing units (VPUs)
US7456833B1 (en) * 2005-06-15 2008-11-25 Nvidia Corporation Graphical representation of load balancing and overlap
CN101595510A (en) * 2006-11-15 2009-12-02 Iam集团公司 Be used to create, make and the method for distributing three-dimensional models

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104740873A (en) * 2015-04-13 2015-07-01 四川天上友嘉网络科技有限公司 Image rendering method for game
WO2021249358A1 (en) * 2020-06-08 2021-12-16 华为技术有限公司 Rendering method, device and system
WO2023066122A1 (en) * 2021-10-22 2023-04-27 华为技术有限公司 Three-dimensional model data processing method, three-dimensional model data generation method, and related apparatuses

Also Published As

Publication number Publication date
CN103299347B (en) 2016-11-02
CN103299347A (en) 2013-09-11

Similar Documents

Publication Publication Date Title
WO2013097210A1 (en) Online rendering method and offline rendering method and relevant device based on cloud application
RU2771008C1 (en) Method and apparatus for processing tasks based on a neural network
CN104750543B (en) Thread creation method, service request processing method and relevant device
CN104021040B (en) Based on the cloud computing associated task dispatching method and device under time constraint condition
CN104363463B (en) A kind of method for processing video frequency, apparatus and system
CN106034129B (en) A kind of FBSG method for game synchronization
CN111367630A (en) Multi-user multi-priority distributed cooperative processing method based on cloud computing
CN110069341A (en) What binding function configured on demand has the dispatching method of dependence task in edge calculations
US11645117B2 (en) System and method for multi-tenant implementation of graphics processing unit
Lin et al. Parallelizing video transcoding with load balancing on cloud computing
US20210026696A1 (en) Scheduling of a plurality of graphic processing units
Xiao et al. A priority based scheduling strategy for virtual machine allocations in cloud computing environment
CN111290841A (en) Task scheduling method and device, computing equipment and storage medium
CN106325976B (en) A kind of rendering task scheduling processing method and server
CN103268253A (en) Intelligent scheduling management method for multi-scale parallel rendering jobs
CN110048966B (en) Coflow scheduling method for minimizing system overhead based on deadline
Chen et al. When learning joins edge: Real-time proportional computation offloading via deep reinforcement learning
CN109448092B (en) Load balancing cluster rendering method based on dynamic task granularity
CN105578073B (en) A kind of video monitoring picture display process and device
CN112988363B (en) Resource scheduling method, device, server and storage medium
CN111193802A (en) Dynamic resource allocation method, system, terminal and storage medium based on user group
CN109343940A (en) Multimedia Task method for optimizing scheduling in a kind of cloud platform
CN116010051A (en) Federal learning multitasking scheduling method and device
CN112769788B (en) Charging service data processing method and device, electronic equipment and storage medium
CN108885565A (en) The operating system of game mode is supported

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11878846

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11878846

Country of ref document: EP

Kind code of ref document: A1