Lens speed changing processing method and device, storage medium and electronic device

By automatically switching the camera speed curve between 3D animation software and video editing software, the problems of low efficiency and easy data loss in existing technologies are solved, and efficient speed-shifting camera production is achieved.

CN116342757BActive Publication Date: 2026-07-24NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NETEASE (HANGZHOU) NETWORK CO LTD
Filing Date
2023-02-27
Publication Date
2026-07-24

AI Technical Summary

Technical Problem

In existing technologies, the speed curves of 3D animation production software and video editing software are inconsistent, which requires repeated "import-adjust-output" processes when creating speed-changing shots, resulting in low efficiency and easy data loss.

Method used

A method for processing camera speed changes is provided, which converts the FT curve of 3D animation software into the VT curve of video editing software, makes adjustments in the middle, and finally renders the result to obtain the camera speed change result, thereby realizing the automatic conversion of the camera speed change curve.

Benefits of technology

It improves the efficiency and quality of variable speed camera production, avoids data loss, and enhances the collaboration efficiency between video editing software and 3D animation production software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116342757B_ABST
    Figure CN116342757B_ABST
Patent Text Reader

Abstract

The application discloses a lens variable speed processing method and device, a storage medium and an electronic device. The method comprises the following steps: acquiring a first lens variable speed curve, wherein the first lens variable speed curve is a curve recording the speed of frame playing in a variable speed lens relative to time; converting the first lens variable speed curve to a second lens variable speed curve, wherein the second lens variable speed curve is a curve recording the absolute frame number of each playing in the variable speed lens relative to time; adjusting at least part of the variable speed data on the second lens variable speed curve to obtain a third lens variable speed curve, wherein the at least part of the variable speed data is used to determine the display attribute of the variable speed lens; converting the third lens variable speed curve back to a fourth lens variable speed curve; and rendering the fourth lens variable speed curve to obtain a lens variable speed result to be displayed. The application solves the technical problem that the related variable speed lens processing method is lacking in the related art, which leads to low variable speed lens production efficiency and easy data loss.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to a lens speed-changing processing method, apparatus, storage medium, and electronic device. Background Technology

[0002] In film and animation production, variable-speed shots are frequently used to express a specific mood or highlight the artistic effect of a particular action. The process of creating a variable-speed shot typically involves: creating a semi-finished animation shot in 3D animation software, and then adjusting the speed curve of this semi-finished shot using video editing software to match the overall shot. However, the speed curves of 3D animation software and video editing software are not consistent. It is usually impossible to apply the speed curve from the 3D animation software to the video editing software in real time, nor is it easy to apply the speed curve from the video editing software back to the 3D animation software. Therefore, in related technologies, technicians need to repeatedly import-adjust-output between the 3D animation software and the video editing software to modify the variable-speed shot. This results in low efficiency in the collaborative work of the 3D animation production and editing processes, leading to low efficiency in variable-speed shot production, and the aforementioned iterative process may also cause data loss.

[0003] There is currently no effective solution to the above problems.

[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0005] This application provides at least some embodiments of a lens speed processing method, apparatus, storage medium, and electronic device to at least solve the technical problem in the related art that the lack of a related speed lens processing method leads to low efficiency in speed lens manufacturing and easy data loss.

[0006] According to one embodiment of this application, a lens speed-changing processing method is provided, comprising: acquiring a first lens speed-changing curve, wherein the first lens speed-changing curve is a curve recording the playback speed of frames in a speed-changing lens relative to time; converting the first lens speed-changing curve to a second lens speed-changing curve, wherein the second lens speed-changing curve is a curve recording the absolute number of frames played each time in a speed-changing lens relative to time; adjusting at least a portion of the speed-changing data on the second lens speed-changing curve to obtain a third lens speed-changing curve, wherein at least a portion of the speed-changing data is used to determine the display attributes of the speed-changing lens; converting the third lens speed-changing curve back to a fourth lens speed-changing curve; and rendering the fourth lens speed-changing curve to obtain a lens speed-changing result to be displayed.

[0007] According to one embodiment of this application, a lens speed-changing processing device is also provided, comprising: an acquisition module for acquiring a first lens speed-changing curve, wherein the first lens speed-changing curve is a curve recording the playback speed of frames in a speed-changing lens relative to time; a first conversion module for converting the first lens speed-changing curve to a second lens speed-changing curve, wherein the second lens speed-changing curve is a curve recording the absolute number of frames played each time in a speed-changing lens relative to time; an adjustment module for adjusting at least a portion of the speed-changing data on the second lens speed-changing curve to obtain a third lens speed-changing curve, wherein at least a portion of the speed-changing data is used to determine the display attributes of the speed-changing lens; a second conversion module for converting the third lens speed-changing curve back to a fourth lens speed-changing curve; and a rendering module for rendering the fourth lens speed-changing curve to obtain a lens speed-changing result to be displayed.

[0008] According to one embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and the computer program is configured to execute the lens speed change processing method described in any of the above claims when it is run.

[0009] According to one embodiment of this application, an electronic device is also provided, comprising: a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the lens speed change processing method described in any of the preceding claims.

[0010] In at least some embodiments of this application, a first shot speed-change curve is obtained, wherein the first shot speed-change curve is a curve recording the playback speed of frames in a speed-change shot relative to time; the first shot speed-change curve is converted to a second shot speed-change curve, wherein the second shot speed-change curve is a curve recording the absolute number of frames played each time in a speed-change shot relative to time; at least a portion of the speed-change data on the second shot speed-change curve is adjusted to obtain a third shot speed-change curve, wherein at least a portion of the speed-change data is used to determine the display attributes of the speed-change shot; the third shot speed-change curve is converted back to a fourth shot speed-change curve; the fourth shot speed-change curve is rendered to obtain the shot speed-change result to be displayed. The method provided by this application achieves the purpose of automatically converting the two shot speed-change curves involved in the production process of a speed-change shot to produce a shot speed-change result, thereby achieving the technical effect of improving the production efficiency and quality of speed-change shots, and solving the technical problem in related technologies where the lack of related speed-change shot processing methods leads to low production efficiency and easy data loss. Attached Figure Description

[0011] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0012] Figure 1 This is a hardware structure block diagram of a mobile terminal according to one embodiment of the lens speed processing method of this application.

[0013] Figure 2 This is a flowchart of a lens speed adjustment method according to one embodiment of this application;

[0014] Figure 3 This is a schematic diagram of an optional lens speed-changing process according to one embodiment of this application;

[0015] Figure 4 This is a structural block diagram of a lens speed-changing processing device according to one embodiment of this application;

[0016] Figure 5 This is a schematic diagram of an electronic device according to one embodiment of the present application. Detailed Implementation

[0017] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0018] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0019] It should be noted that, in the specification of this application, the word "for example" is used to mean "used as an example, illustration, or description." Any embodiment described as "for example" in this application is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is provided to enable any person skilled in the art to make and use this application. In the following description, details are set forth for purposes of explanation. It should be understood that those skilled in the art will recognize that this application can be made without using these specific details. In other instances, well-known structures and processes will not be described in detail to avoid unnecessarily obscuring the description of this application. Therefore, this application is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed in this application.

[0020] In the description of the embodiments of this application, some nouns or terms appearing shall be interpreted as follows:

[0021] Variable speed shots: often referred to as "slow motion" and "fast motion." Variable speed shots can create certain special artistic effects. In actual film and television shooting, changing the speed at which the film is shot within the camera and then projecting the result at normal speed creates a variable speed shot.

[0022] Lens speed curve: mainly includes two types: playback rate-time curve and playback frame-time curve.

[0023] Playback speed-time curve: A curve that records the playback speed of a video frame relative to time, similar to the curve in physics that records the velocity of an object relative to time (the slope represents acceleration). Based on the playback speed-time curve, the video speed can be adjusted by changing the frame playback speed. Frame playback speed is represented by v (velocity), and time is represented by t (time), so the playback speed-time curve is represented as a vt curve. The vt curve is suitable for video editing software that uses seconds as the production unit or game engines that are not sensitive to frame numbers.

[0024] Playback Frame-Time Curve: A curve recording the playback frame relative to time, similar to a curve in physics recording the displacement of an object over time (the slope represents velocity). Based on the playback frame-time curve, the video speed can be adjusted by changing the playback frame number at the corresponding time. If the currently playing frame number is denoted as f (frame) and the time is denoted as t, then the playback frame-time curve is represented as the ft curve. The ft curve is suitable for 3D animation software that uses frames as the production unit.

[0025] 3D animation production software: In this embodiment of the application, it is a digital content creation (DCC) tool, such as Maya, Houdini, Nuke, Unreal Engine, etc.

[0026] Video editing software: Software that performs non-linear editing of video sources, such as Adobe Premiere, Adobe After Effects, Final Cut Pro, Nuke, etc.

[0027] Frame rate (Frames Per Second, FPS): refers to the number of frames transmitted per second. In layman's terms, it refers to the number of images displayed per second.

[0028] Currently, in the production of speed-changing shots in videos or animations, the speed-changing curve of 3D animation software is usually an ft curve, while the speed-changing curve of video editing software is usually a VT curve. When a high frame rate semi-finished animation produced by 3D animation software is handed over to video editing software for speed-changing effect adjustment, the preview animation of the speed-changing shot cannot be displayed. Technicians need to repeatedly perform the "import-adjust-output" process between 3D animation software and video editing software to modify the speed-changing shot.

[0029] The aforementioned method of creating variable-speed shots through repeated "import-adjust-output" processes has the following drawbacks: the effect review of variable-speed shots occurs at the back end of the workflow, and modifications to the rhythm of variable-speed shots lead to a large amount of rework in the front-end workflow; high-frame-rate animation in 3D animation software generates a large number of redundant frames, causing subsequent animation production and special effects calculations to consume a lot of time and resources on the creation of redundant frames; during the modification of variable-speed shots, the shot speed data cannot be automatically converted between 3D animation software and video editing software, but requires multiple simulations, which leads to data loss of shot speed data.

[0030] In one possible implementation of this application, the method commonly used in computer technology for modifying speed-shifting shots in video or animation production involves repeated "import-adjust-output" processes between 3D animation software and video editing software. However, after practice and careful research, the inventors found that this method still suffers from low efficiency and data loss. Therefore, the application scenarios of this application can include computer video editing, computer animation production, and video game speed-shifting effect production. The video game speed-shifting effect production scenario can target game types such as action, adventure, simulation, role-playing, and casual games.

[0031] This application proposes a method for lens speed change processing. It adopts the technical concept of automatically converting two lens speed change curves involved in the production of a speed change lens to produce a lens speed change result. This achieves the technical effect of improving the production efficiency and quality of speed change lenses, and solves the technical problem that the lack of relevant speed change lens processing methods in related technologies leads to low production efficiency and easy data loss in speed change lens production.

[0032] The methods described in this application can be executed in a terminal device (e.g., a mobile terminal, a computer terminal, or a similar computing device). Taking a mobile terminal as an example, the mobile terminal can be a smartphone, tablet computer, PDA, mobile internet device, PAD, game console, or other terminal device.

[0033] Figure 1 This is a hardware structure block diagram of a mobile terminal according to one embodiment of a lens speed adjustment method of this application. Figure 1 As shown, a mobile terminal may include one or more ( Figure 1 (Only one is shown) Processor 102, memory 104, transmission device 106, input / output device 108, and display device 110. Taking the camera speed processing method applied to a video game scene through this mobile terminal as an example, processor 102 calls and runs the computer program stored in memory 104 to execute the camera speed processing method. The generated camera speed result to be displayed is transmitted to input / output device 108 and / or display device 110 through transmission device 106, thereby providing the camera speed result to be displayed to the player.

[0034] Still as Figure 1 As shown, the processor 102 may include, but is not limited to, processing devices such as: Central Processing Unit (CPU), Graphics Processing Unit (GPU), Digital Signal Processing (DSP) chip, Microcontroller Unit (MCU), Field Programmable Gate Array (FPGA), Neural-Network Processing Unit (NPU), Tensor Processing Unit (TPU), Artificial Intelligence (AI) type processor, etc.

[0035] Those skilled in the art will understand that Figure 1The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal described above. For example, the mobile terminal may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0036] In some optional embodiments primarily focused on gaming scenarios, the aforementioned terminal device may also provide a human-computer interaction interface with a touch-sensitive surface. This interface can sense finger contact and / or gestures to interact with a graphical user interface (GUI). The human-computer interaction functions may include the following: creating web pages, drawing, word processing, creating electronic documents, playing games, video conferencing, instant messaging, sending and receiving emails, call interfaces, playing digital videos, playing digital music, and / or web browsing, etc. Executable instructions for performing the aforementioned human-computer interaction functions are configured / stored in one or more processor-executable computer program products or readable storage media.

[0037] The methods described in this application can also be executed on a server. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Taking the camera speed adjustment method applied to a video game scene via a video game server as an example, the video game server can generate a camera speed adjustment result to be displayed in the video game scene based on this method and provide the result to the player (e.g., by rendering it on the player's terminal display screen, or by providing it to the player through holographic projection, etc.).

[0038] According to one embodiment of this application, an embodiment of a lens speed adjustment method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0039] This embodiment provides a lens speed adjustment method that operates on the aforementioned mobile terminal. Figure 2 This is a flowchart of a lens speed adjustment method according to one embodiment of this application, such as... Figure 2 As shown, the method includes the following steps:

[0040] Step S21: Obtain the first shot speed change curve, wherein the first shot speed change curve is a curve recording the playback speed of frames in the speed change shot relative to time.

[0041] Step S22: Convert the first shot speed change curve to the second shot speed change curve, wherein the second shot speed change curve is a curve that records the absolute number of frames played each time in the speed change shot relative to time.

[0042] Step S23: Adjust at least some of the speed data on the second lens speed curve to obtain the third lens speed curve, wherein at least some of the speed data is used to determine the display attributes of the speed-changing lens.

[0043] Step S24: Convert the speed change curve of the third lens back to the speed change curve of the fourth lens.

[0044] Step S25: Render the speed change curve of the fourth shot to obtain the speed change result to be displayed.

[0045] In one embodiment of this application, the first shot speed change curve is a vt curve, and the second shot speed change curve is an ft curve. The specific implementation of obtaining the first shot speed change curve can be from the editing records of video editing software, or determined by the speed-changing shots edited by video editing software. The second shot speed change curve is applicable to 3D animation production software (such as DCC software) that uses frames as the production unit.

[0046] Specifically, converting the speed change curve of the first lens to the speed change curve of the second lens may also include other methods and steps, which can be referred to in the further description of the embodiments of this application below, and will not be repeated here.

[0047] The speed change curve for the second shot can be adjusted in the DCC software according to the application scenario requirements (such as adjusting the speed change rhythm). The speed change curve for the second shot after adjustment by the DCC software is denoted as the speed change curve for the third shot. The speed change curve for the third shot is the ft curve.

[0048] The speed change curve for the fourth shot mentioned above is a VT curve. To facilitate editing the speed-changing shots modified by DCC software using video editing software, the speed change curve for the third shot mentioned above is converted back to the speed change curve for the fourth shot. Furthermore, the speed change curve for the fourth shot is rendered in the video editing software to obtain the speed change result of the shot to be displayed.

[0049] To address the problem of low collaboration efficiency between video editors and 3D animation producers in the lens speed processing methods provided by related technologies, which leads to low efficiency in speed-changing lens production, the lens speed processing method provided in this application, after converting the first lens speed curve (i.e., the VT curve) used by the video editor to the second lens speed curve (i.e., the FT curve) used by the 3D animation producer, adjusts the FT curve accordingly based on the 3D animation producer's adjustments to the current speed-changing lens (e.g., increasing the speed of the speed-changing lens, adjusting the time of the speed-changing lens, modifying the special effects of the speed-changing lens, etc.), to obtain the adjusted FT curve (i.e., the third lens speed curve). Therefore, after converting the aforementioned third-shot speed change curve back to the fourth-shot speed change curve, the fourth-shot speed change curve obtained by the video editor can represent the adjustment information of the current speed change shot by the 3D animation production team using DCC software. The speed change result of the shot to be displayed obtained by rendering based on the fourth-shot speed change curve includes the effect of the 3D animation production team adjusting the second-shot speed change curve using DCC software. This achieves synchronized modification between the video editor and the 3D animation production team, improves the collaboration efficiency between the video editor and the 3D animation production team, and thus improves the production efficiency of speed change shots.

[0050] The aforementioned 3D animation production team adjusted the current variable speed shot by using DCC software to adjust at least some of the variable speed data on the shot speed curve of the current variable speed shot. For example, the variable speed data includes: variable speed time, variable speed, variable speed effect parameters, number of frames to be changed, etc. The adjustment operations performed include, but are not limited to: adding, deleting, replacing, and increasing or decreasing values.

[0051] In application scenarios, 3D animation producers use DCC software to adjust some or all of the speed data on the speed curve of a speed-changing shot, based on scene requirements. Some or all of the speed data is used to determine the display attributes of the speed-changing shot. For example, some speed data is used to determine the display attributes of corresponding segments of the speed-changing shot (such as transition speed effects, segment speed changes, speed-changing segment start time, speed-changing segment duration, etc.), while all speed data is used to determine the overall display attributes of the speed-changing shot (such as the total duration of the speed-changing shot, the speed-changing rhythm, and the segment division of the speed-changing shot, etc.).

[0052] It is easy to understand that, according to the shot speed adjustment method provided in steps S21 to S25 above, the VT curve in the video editing software is first converted into an FT curve suitable for DCC software. Then, the FT curve is adjusted using DCC software, and the adjusted FT curve is converted back into a VT curve. Finally, the converted VT curve is rendered using video editing software to obtain the shot speed adjustment result to be displayed. This shot speed adjustment result to be displayed is the latest version of the shot speed adjustment result after adjustment by DCC software.

[0053] It should be noted that the video editing software mentioned above is only one example of software that uses VT curves for camera speed adjustment. In practical applications, software that renders the fourth camera speed adjustment curve can also be a game engine that is not sensitive to frame numbers. Similarly, the DCC software mentioned above is only one example of software that uses FT curves for camera speed adjustment.

[0054] The aforementioned camera speed-up results can be camera speed-up effects in video game scenes. The corresponding game types for these video game scenes can be: action games (e.g., first-person or third-person shooters, 2D or 3D fighting games, war action games, and sports action games), adventure games (e.g., exploration games, collection games, puzzle games), simulation games (e.g., sandbox simulation games, simulation games, strategy simulation games, city-building simulation games, business simulation games), role-playing games, and casual games (e.g., board games, casual competitive games, rhythm games, dress-up games, etc.).

[0055] It is readily understood that the shot speed processing method provided in this application embodiment can convert between two shot speed curves, thereby achieving automatic conversion of shot speed data between 3D animation production software and video editing software. This method is a general, principle-based approach applicable to various 3D animation production software and video editing software, and has strong scalability. By automatically converting shot speed data between 3D animation production software and video editing software, this method avoids data loss caused by the simulation process of shot speed data. Furthermore, this method can bring the review of shot speed effects forward into the animation production process, thereby avoiding the waste of time and resources caused by creating a large number of redundant frames in related technologies, and improving the production efficiency of speed-shifting shots.

[0056] Through steps S21 to S25 of the embodiments of this application, a first shot speed change curve is obtained, wherein the first shot speed change curve is a curve recording the playback speed of frames in a speed-changing shot relative to time; the first shot speed change curve is converted to a second shot speed change curve, wherein the second shot speed change curve is a curve recording the absolute number of frames played each time in a speed-changing shot relative to time; at least a portion of the speed change data on the second shot speed change curve is adjusted to obtain a third shot speed change curve, wherein at least a portion of the speed change data is used to determine the display attributes of the speed-changing shot; the third shot speed change curve is converted back to a fourth shot speed change curve; the fourth shot speed change curve is rendered to obtain the shot speed change result to be displayed. The method provided by this application achieves the purpose of automatically converting the two shot speed change curves involved in the production process of a speed-changing shot to produce a shot speed change result, thereby achieving the technical effect of improving the production efficiency and quality of speed-changing shots, and solving the technical problem in related technologies where the lack of related speed-changing shot processing methods leads to low production efficiency and easy data loss.

[0057] The lens speed change processing method provided in this application embodiment can be applied, but is not limited to, to scenarios involving speed change lens production in video or animation production in the field of computer technology, especially speed change lens production scenarios in the field of video games. The following uses the speed change lens production scenario of video games as an example to further describe the above method in this application embodiment.

[0058] When creating variable-speed shots (such as slow-motion effects, fast-motion effects, etc.) for video game scenes, it typically involves using DCC software (Maya is used as an example in the following embodiments of this application) and a game engine (UE is used as an example in the following embodiments of this application). In 3D animation production software and video editing software, a corresponding playback rate-time curve (vt curve) or playback frame-time curve (ft curve) is usually used according to the basic time unit used when creating the animation. In the following further description of the embodiments of this application, when creating variable-speed shots using Maya, an ft curve is used. When creating variable-speed shots using UE, a vt curve is used.

[0059] According to the principles of calculus, the VT curve is the differential curve of the corresponding FT curve, and the FT curve is the definite integral curve of the corresponding VT curve. In other words, differentiating the FT curve yields the corresponding VT curve, and definite integrating the VT curve yields the corresponding FT curve. This application's embodiments, based on the aforementioned principles of calculus, realize the mutual conversion between the FT curve and the VT curve involved in the manufacturing process of a variable-speed lens.

[0060] The following explanation addresses the variable names or terms that appear in the further description of the variable camera scene in a video game, using it as an example.

[0061] (1) Denote any time frame of the video playback as t. For example, the actual number of frames played is 1001 to 1030. The corresponding playback time is 1 to 30 frames, and the t-th frame represents a frame among the above 1 to 30 frames.

[0062] (2) Let v(t) be the playback rate of the t-th frame of the video, which also refers to the playback interval between two adjacent playback frames. The default value of v(t) is 1, in which case the playback interval between the previous frame and the next frame is 1 frame. If v(t) is 2, then the playback interval between the previous frame and the next frame is 2 frames.

[0063] (3) Let f(t) be the number of frames that the t-th frame of the video corresponds to in the actual playback frame. For example, the first frame of the video playback corresponds to the 1001st frame of the actual playback frame.

[0064] (4) An intermediate frame is a frame between two frames, also known as a fractional frame. In 3D animation production, a smooth transition of the motion of objects in two frames is achieved by performing linear interpolation between the two frames. The result of linear interpolation is multiple intermediate frames.

[0065] (5) The Time1 node is a node in Maya software used to implement speed change effects. The Time1 node is used to provide the current time of all nodes in Maya.

[0066] (6) Time Dilation track refers to the track used in UE to achieve the effect of changing the speed of the shot.

[0067] Optionally, obtaining the first lens speed change curve in step S21 may include the following steps:

[0068] Step S211: Generate a first shot speed curve in the first application, wherein the first application is a 3D animation application that provides shot speed rendering function.

[0069] The first application mentioned above is a 3D animation application that provides camera speed-changing rendering functionality. This 3D animation application can be video editing software or a game engine (such as UE) that is not sensitive to frame rates. The first camera speed-changing curve mentioned above is a VT curve. Taking the creation of a speed-changing camera scene in a video game as an example, the VT curve of the current speed-changing camera is generated in UE.

[0070] Figure 3 This is a schematic diagram of an optional lens speed-changing process according to one embodiment of this application, such as... Figure 3 As shown, taking the speed-shifting camera scene in a video game as an example, in the UE (such as...) Figure 3 The variable speed shot data created in the software application shown (which uses seconds as the time unit, equivalent to the first application mentioned above) needs to be exported to Maya (such as...). Figure 3 For fine animation production using a software application that uses frames as the basic time unit (as shown), it is necessary to convert the playback rate-time curve (vt curve) used by UE into the playback frame-time curve (ft curve) used by Maya. First, generate the vt curve in UE (equivalent to the speed change curve of the first shot mentioned above).

[0071] Optionally, in step S22, converting the first lens speed change curve to the second lens speed change curve may include the following steps:

[0072] Step S221: Obtain the playback rate of each video frame in the multiple video frames contained in the first time period from the first shot speed change curve, wherein the first time period is the range of shot time length corresponding to the first shot speed change curve.

[0073] Step S222: Determine the actual number of playback frames corresponding to each video frame in the multiple video frames based on the playback rate;

[0074] Step S223: Convert the correspondence between playback rate and playback time frame into the correspondence between actual playback frame number and playback time frame to obtain the second shot speed change curve.

[0075] In the above optional embodiments, the first duration is the range of shot time length corresponding to the first shot edge curve. The shot speed change data corresponding to the first shot speed change curve includes the playback rate corresponding to each video frame in the multiple video frames included within the first duration, and also includes the time value corresponding to each video frame. For example, the first time can be the playback time frame of the speed-changing shot, from 1 to 30 frames. The first shot speed change curve is a vt curve, and the vt data corresponding to this vt curve includes v(t) corresponding to each video frame in the above 1 to 30 frames.

[0076] Taking the speed-shifting camera scene in a video game as an example, such as Figure 3 As shown, based on the vt curve obtained in the UE, the actual number of playback frames of the first frame in the time range corresponding to the variable speed shot is obtained as f(1), and the playback rate of each video frame in the time range corresponding to the variable speed shot is obtained. The t corresponding to the time range is 1 to 30, and the corresponding playback rate is denoted as v(1) to v(30).

[0077] Based on the principles of calculus, the actual number of playback frames f(1) to f(30) corresponding to each video frame in the multiple video frames are determined based on the playback rates v(1) to v(30). Then, the correspondence between v(t) and t is converted into the correspondence between f(t) and t, which is to obtain the ft curve (i.e., the second shot speed change curve mentioned above).

[0078] It is easy to understand that, through the above optional implementation method, the playback rate data (i.e., the correspondence between playback rate and playback time frames) obtained from the first shot speed change curve can be automatically converted into actual playback frame data (i.e., the correspondence between the actual number of playback frames and playback time frames), thereby avoiding the need for repeated manual import processes between different software to realize the production of speed change shots according to the methods provided by related technologies, and improving the production efficiency of speed change shots.

[0079] Optionally, in step S222, determining the actual number of playback frames corresponding to each video frame among multiple video frames based on the playback rate may include the following execution steps:

[0080] Step S2221: Obtain the number of playback frames and the playback rate of the preceding video frame in each pair of adjacent video frames from multiple video frames.

[0081] Step S2222: Calculate the actual number of playback frames corresponding to the next video frame in each of two adjacent video frames using the playback frame number and playback rate corresponding to the previous video frame, until the actual number of playback frames corresponding to each video frame in multiple video frames is determined.

[0082] In the above optional embodiments of this application, since the playback rate v(t) of the t-th frame of the video represents the playback interval between two adjacent playback frames, for each two adjacent video frames of multiple video frames, the actual number of playback frames corresponding to the previous video frame is added to the playback rate corresponding to the previous video frame to obtain the actual number of playback frames corresponding to the next video frame.

[0083] Taking the speed-shifting scene in a video game as an example, for two adjacent video frames t and t+1, there is a frame playback conversion expression f(t+1) = f(t) + v(t). Based on the above frame playback conversion expression, and using the actual playback frame number f(1) and playback rate v(1) of the first frame obtained from the vt curve, the actual playback frame number f(2) = f(1) + v(1) of the second frame can be derived. By analogy, the actual playback frame number corresponding to all frames within the time range corresponding to the speed-shifting scene can be derived, that is, f(2) to f(30). For example, the actual playback frame number f(1) corresponding to the first frame of the speed-shifting scene (i.e., t=1) is 1001, then the actual playback frame number f(2) corresponding to the second frame of the speed-shifting scene (i.e., t=2) is 1002, ..., and the actual playback frame number f(30) corresponding to the thirtieth frame of the speed-shifting scene (i.e., t=30) is 1030.

[0084] By using the above methods and steps, the vt data corresponding to the vt curve in the UE can be converted into ft data, which means that the correspondence between the actual number of playback frames f(t) and the playback time frame t is obtained.

[0085] like Figure 3 As shown, based on the ft data calculated by UE, a corresponding ft curve (i.e., the second shot speed change curve mentioned above) is created in Maya, and the created playback frame-time curve (ft curve) is connected to the Time1 node for use. This realizes the automatic conversion and export of the shot speed change data set in UE to Maya for use.

[0086] Optionally, in step S23, adjusting at least a portion of the speed change data on the second lens speed change curve to obtain the third lens speed change curve may include the following steps:

[0087] Step S231: Connect the second lens speed curve to the time node in the second application, wherein the second application is a video editing application or digital content generation application that provides lens speed adjustment function, and the time node is used to provide time recording for the lens speed adjustment function.

[0088] Step S232: Adjust at least some of the speed-changing data based on the time node to update the display attributes of the speed-changing lens, and obtain the speed-changing curve of the third lens.

[0089] In the above-described optional embodiments of this application, the second application is a video editing application or digital content generation application (i.e., DCC software) that provides a camera speed adjustment function. The time node is used to provide time recording for the camera speed adjustment function. For example, the second application is Maya, and the time node is the Time1 node in Maya.

[0090] Taking the speed-shifting camera scene in a video game as an example, such as Figure 3 As shown, based on the ft data calculated by UE, a corresponding ft curve (i.e., the second shot speed change curve mentioned above) is created in Maya, and the created playback frame-time curve (ft curve) is connected to the Time1 node. Based on the ft curve already connected to the Time1 node, some speed change data on the ft curve is adjusted according to the speed change shot production requirements of video games to obtain an adjusted ft curve (equivalent to the third shot speed change curve mentioned above). This adjusted ft curve can update the display attributes of the corresponding speed change shot (such as the speed change display effects of video game scenes). This realizes the automatic conversion and export of the shot speed change data set in UE to Maya for adjustment.

[0091] Furthermore, the adjustment of the speed curve in Maya can be performed automatically according to the adjustment scheme preset by the art technicians. That is to say, for the technicians, after setting the camera speed curve adjustment scheme according to the application scenario requirements, the camera speed processing method provided in the embodiments of this application can automatically convert the VT curve used in UE into the FT curve used in Maya, and automatically adjust the FT curve according to the camera speed curve adjustment scheme to obtain the adjusted FT curve (that is, the third camera speed curve mentioned above).

[0092] Optionally, in step S24, converting the third lens speed change curve back to the fourth lens speed change curve may include the following steps:

[0093] Step S241: Obtain the playback frame number corresponding to each video frame in the multiple video frames included in the second duration from the third shot speed change curve, wherein the second duration is the range of shot time length corresponding to the third shot speed change curve.

[0094] Step S242: Determine the actual playback rate of each video frame in the multiple video frames based on the number of playback frames;

[0095] Step S243: Convert the correspondence between the number of playback frames and the playback time frames into the correspondence between the actual playback rate and the playback time frames to obtain the speed change curve of the fourth shot.

[0096] In the optional embodiments described above in this application, the second duration is the range of shot duration corresponding to the third shot speed change curve. After adjusting the second shot speed change curve in Maya (i.e., the second application), the second duration can be equal to or unequal to the first duration. For example, in Maya, the actual playback speed of the speed-changing shot is increased, and the playback time frames of the original second shot speed change curve are changed from 1 to 30 frames to 1 to 20 frames, that is, t is 1 to 20 at this time.

[0097] Taking the speed-shifting camera scene in a video game as an example, such as Figure 3 As shown, after adjusting the ft curve in Maya, converting the adjusted ft curve back to a vt curve and importing it into UE can automatically render and output the lens speed change result corresponding to the adjusted lens speed change data.

[0098] Based on the ft curve adjusted by Maya, obtain the number of playback frames corresponding to each video frame within the time range of the variable speed shot, denoted as f(1) to f(20).

[0099] Based on the principles of calculus, the actual playback rates v(1) to v(20) corresponding to each video frame in the multiple video frames are determined based on the aforementioned playback frame numbers f(1) to f(20) for each video frame. Then, the correspondence between f(t) and t is converted into the correspondence between v(t) and t, which yields the vt curve (i.e., the speed change curve of the fourth shot mentioned above).

[0100] It is easy to understand that, through the above optional implementation method, the playback frame data (i.e., the correspondence between the number of playback frames and the playback time frames) obtained from the third shot speed curve can be automatically converted into actual playback rate data (i.e., the correspondence between the actual playback rate and the playback time frames), thereby avoiding the need for repeated manual import processes between different software to achieve the production of speed-changing shots according to the methods provided by related technologies, and improving the production efficiency of speed-changing shots.

[0101] Optionally, in step S242, determining the actual playback rate corresponding to each video frame among multiple video frames based on the number of playback frames may include the following execution steps:

[0102] Step S2421: Obtain the number of playback frames corresponding to the previous video frame and the number of playback frames corresponding to the next video frame in each pair of adjacent video frames of multiple video frames.

[0103] Step S2422: Calculate the actual playback rate of the preceding video frame in each pair of adjacent video frames using the playback frame number corresponding to the previous video frame and the playback frame number corresponding to the following video frame, until the actual playback rate of each video frame in multiple video frames is determined.

[0104] In the above optional embodiments of this application, since the actual playback rate v(t) of the t-th frame of the video represents the playback interval between two adjacent playback frames, for each two adjacent video frames of multiple video frames, the actual playback rate corresponding to the previous video frame can be obtained by subtracting the number of playback frames corresponding to the next video frame from the number of playback frames corresponding to the previous video frame.

[0105] Taking the speed-shifting scene in a video game as an example, for two adjacent video frames t and t+1, there is a frame playback conversion expression v(t) = f(t+1) - f(t). Based on the above frame playback conversion expression, and considering the playback frame numbers f(1) and f(2) of the first and second frames of the speed-shifting scene in the Maya-adjusted ft curve, the actual playback rate of the first frame v(1) = f(2) - f(1) can be calculated. Similarly, the actual playback rate of each frame within the time range corresponding to the speed-shifting scene can be calculated, thus deriving v(2) to v(20).

[0106] By following the above steps, the ft data corresponding to the adjusted ft curve in Maya can be converted into vt data, which means that the correspondence between the actual playback rate v(t) and the playback time frame t is obtained.

[0107] Optionally, in step S25, rendering the fourth lens speed change curve to obtain the lens speed change result may include the following steps:

[0108] Step S251: Connect the fourth lens speed change curve to the time dilation track in the first application, wherein the time dilation track is used to provide time recording for the lens speed change rendering function.

[0109] Step S252: Render the speed change curve of the fourth shot based on the time dilation trajectory to obtain the shot speed change result.

[0110] Taking the speed-shifting camera scene in a video game as an example, such as Figure 3 As shown, the VT curve obtained by converting the FT curve adjusted in Maya is used in the time dilation track of UE. Specifically, based on the VT data corresponding to the converted VT curve (i.e., the fourth shot speed change curve), a corresponding VT curve is created in UE, and the created VT curve is applied to the time dilation track of UE. UE performs speed change shot rendering based on the created VT curve to obtain the shot speed change result to be displayed. This realizes the automatic conversion and export of the shot speed change data adjusted in Maya to UE for use.

[0111] The above-described shot speed change processing method provided in this application embodiment can meet the need for multiple software programs to share shot speed change data, move the shot speed change process forward to the animation special effects production stage, reduce the amount of rework caused by incorrect shot rhythm in subsequent processes, and thus improve the overall efficiency of shot speed change production.

[0112] It is easy to understand that in the above optional embodiments of this application, a general method is used to convert the data of the shot speed change curve, and the shot speed change data used by different software is converted into a unified form for recording, so as to realize the sharing of shot speed change data between different software. The above process is independent of the specific DCC software and video editing software used. In other words, the above method is applicable to a variety of 3D animation production software and video editing software, and has strong scalability.

[0113] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as a magnetic disk or optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0114] This embodiment also provides a lens speed adjustment device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0115] Figure 4 This is a structural block diagram of a lens speed-changing processing device according to one embodiment of this application, such as... Figure 4As shown, the device includes: an acquisition module 41 for acquiring a first shot speed-changing curve, wherein the first shot speed-changing curve is a curve recording the playback speed of frames in a speed-changing shot relative to time; a first conversion module 42 for converting the first shot speed-changing curve to a second shot speed-changing curve, wherein the second shot speed-changing curve is a curve recording the absolute number of frames played each time in a speed-changing shot relative to time; an adjustment module 43 for adjusting at least a portion of the speed-changing data on the second shot speed-changing curve to obtain a third shot speed-changing curve, wherein at least a portion of the speed-changing data is used to determine the display attributes of the speed-changing shot; a second conversion module 44 for converting the third shot speed-changing curve back to a fourth shot speed-changing curve; and a rendering module 45 for rendering the fourth shot speed-changing curve to obtain the shot speed-changing result to be displayed.

[0116] Optionally, the acquisition module 41 is further configured to: generate a first shot speed curve in a first application, wherein the first application is a 3D animation application that provides shot speed rendering functionality.

[0117] Optionally, the first conversion module 42 is further configured to: obtain the playback rate corresponding to each video frame in the plurality of video frames included within the first duration from the first shot speed change curve, wherein the first duration is the range of shot time length corresponding to the first shot speed change curve; determine the actual number of playback frames corresponding to each video frame in the plurality of video frames based on the playback rate; convert the correspondence between playback rate and playback time frame into the correspondence between actual number of playback frames and playback time frame to obtain the second shot speed change curve.

[0118] Optionally, the first conversion module 42 is further configured to: obtain the number of playback frames and the playback rate of the preceding video frame in each pair of adjacent video frames of multiple video frames; calculate the actual number of playback frames corresponding to the following video frame in each pair of adjacent video frames using the number of playback frames and the playback rate of the preceding video frame, until the actual number of playback frames corresponding to each video frame in multiple video frames is determined.

[0119] Optionally, the adjustment module 43 is further configured to: connect the second lens speed change curve to a time node in a second application, wherein the second application is a video editing application or a digital content generation application that provides lens speed adjustment function, and the time node is used to provide time recording for the lens speed adjustment function; adjust at least some of the speed change data based on the time node to update the display attributes of the speed-changing lens, thereby obtaining the third lens speed change curve.

[0120] Optionally, the second conversion module 44 is further configured to: obtain the number of playback frames corresponding to each video frame in the plurality of video frames included in the second duration from the third shot speed change curve, wherein the second duration is the range of shot time length corresponding to the third shot speed change curve; determine the actual playback rate corresponding to each video frame in the plurality of video frames based on the number of playback frames; convert the correspondence between the number of playback frames and the playback time frame into the correspondence between the actual playback rate and the playback time frame to obtain the fourth shot speed change curve.

[0121] Optionally, the second conversion module 44 is further configured to: obtain the number of playback frames corresponding to the previous video frame and the number of playback frames corresponding to the next video frame in each pair of adjacent video frames; calculate the actual playback rate corresponding to the previous video frame in each pair of adjacent video frames using the number of playback frames corresponding to the previous video frame and the number of playback frames corresponding to the next video frame, until the actual playback rate corresponding to each video frame in the multiple video frames is determined.

[0122] Optionally, the rendering module 45 is further configured to: connect the fourth lens speed change curve to the time dilation track in the first application, wherein the time dilation track is used to provide time recording for the lens speed change rendering function; and render the fourth lens speed change curve based on the time dilation track to obtain the lens speed change result.

[0123] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0124] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when run.

[0125] Optionally, in this embodiment, the computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0126] Optionally, in this embodiment, the computer-readable storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0127] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:

[0128] S1, Obtain the first shot speed change curve, where the first shot speed change curve is a curve recording the playback speed of frames in the speed change shot relative to time.

[0129] S2, convert the first shot speed change curve to the second shot speed change curve, where the second shot speed change curve is a curve that records the absolute number of frames per second in each shot relative to time.

[0130] S3, adjust at least some of the speed data on the second lens speed curve to obtain the third lens speed curve, wherein at least some of the speed data is used to determine the display attributes of the speed-changing lens;

[0131] S4, converts the third-lens speed curve back to the fourth-lens speed curve;

[0132] S5 renders the speed change curve of the fourth shot to obtain the speed change result to be displayed.

[0133] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: generating a first shot speed curve in a first application, wherein the first application is a 3D animation application that provides shot speed rendering functionality.

[0134] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: obtaining the playback rate corresponding to each video frame among a plurality of video frames contained within a first duration from the first shot speed change curve, wherein the first duration is the range of shot time length corresponding to the first shot speed change curve; determining the actual number of playback frames corresponding to each video frame among the plurality of video frames based on the playback rate; converting the correspondence between playback rate and playback time frames into a correspondence between the actual number of playback frames and playback time frames to obtain the second shot speed change curve.

[0135] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: obtaining the number of playback frames and the playback rate of the preceding video frame in every two adjacent video frames of a plurality of video frames; calculating the actual number of playback frames corresponding to the following video frame in every two adjacent video frames using the number of playback frames and the playback rate of the preceding video frame, until the actual number of playback frames corresponding to each video frame in the plurality of video frames is determined.

[0136] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: integrating the second lens speed change curve into a time node in a second application, wherein the second application is a video editing application or digital content generation application that provides lens speed adjustment functionality, and the time node is used to provide time recording for the lens speed adjustment functionality; adjusting at least a portion of the speed change data based on the time node to update the display attributes of the speed-changing lens, thereby obtaining a third lens speed change curve.

[0137] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: obtaining the number of playback frames corresponding to each video frame in a plurality of video frames contained within a second duration from the third shot speed change curve, wherein the second duration is the range of shot time length corresponding to the third shot speed change curve; determining the actual playback rate corresponding to each video frame in the plurality of video frames based on the number of playback frames; converting the correspondence between the number of playback frames and the playback time frames into the correspondence between the actual playback rate and the playback time frames to obtain the fourth shot speed change curve.

[0138] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: obtaining the number of playback frames corresponding to the preceding video frame and the number of playback frames corresponding to the following video frame in every two adjacent video frames of multiple video frames; calculating the actual playback rate corresponding to the preceding video frame in every two adjacent video frames using the number of playback frames corresponding to the preceding video frame and the number of playback frames corresponding to the following video frame, until the actual playback rate corresponding to each video frame in multiple video frames is determined.

[0139] Optionally, the aforementioned computer-readable storage medium is further configured to store program code for performing the following steps: connecting the fourth lens speed change curve to a time dilation track in the first application, wherein the time dilation track is used to provide time recording for the lens speed change rendering function; rendering the fourth lens speed change curve based on the time dilation track to obtain the lens speed change result.

[0140] In the computer-readable storage medium of the above embodiments, a technical solution for implementing a lens speed-changing processing method is provided. The method involves: acquiring a first lens speed-changing curve, wherein the first lens speed-changing curve is a curve recording the playback speed of frames in a speed-changing shot relative to time; converting the first lens speed-changing curve to a second lens speed-changing curve, wherein the second lens speed-changing curve is a curve recording the absolute number of frames played each time in the speed-changing shot relative to time; adjusting at least a portion of the speed-changing data on the second lens speed-changing curve to obtain a third lens speed-changing curve, wherein at least a portion of the speed-changing data is used to determine the display attributes of the speed-changing shot; converting the third lens speed-changing curve back to a fourth lens speed-changing curve; and rendering the fourth lens speed-changing curve to obtain the lens speed-changing result to be displayed. The method provided in this application achieves the purpose of automatically converting the two lens speed-changing curves involved in the production of a speed-changing shot to produce a lens speed-changing result, thereby achieving the technical effect of improving the production efficiency and quality of speed-changing shots, and solving the technical problem of low production efficiency and easy data loss in related technologies due to the lack of related speed-changing shot processing methods.

[0141] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a computer-readable storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this application.

[0142] In exemplary embodiments of this application, a computer-readable storage medium stores a program product capable of implementing the methods described above in this embodiment. In some possible implementations, various aspects of the embodiments of this application may also be implemented as a program product including program code, which, when the program product is run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this embodiment according to various exemplary embodiments of this application.

[0143] The program product for implementing the above-described method according to embodiments of this application may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the embodiments of this application is not limited thereto. In the embodiments of this application, the computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0144] The aforementioned program product may take the form of any combination of one or more computer-readable media. Such computer-readable storage media may be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples (not exhaustive) of computer-readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0145] It should be noted that the program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0146] Embodiments of this application also provide an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0147] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0148] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0149] S1, Obtain the first shot speed change curve, where the first shot speed change curve is a curve recording the playback speed of frames in the speed change shot relative to time.

[0150] S2, convert the first shot speed change curve to the second shot speed change curve, where the second shot speed change curve is a curve that records the absolute number of frames per second in each shot relative to time.

[0151] S3, adjust at least some of the speed data on the second lens speed curve to obtain the third lens speed curve, wherein at least some of the speed data is used to determine the display attributes of the speed-changing lens;

[0152] S4, converts the third-lens speed curve back to the fourth-lens speed curve;

[0153] S5 renders the speed change curve of the fourth shot to obtain the speed change result to be displayed.

[0154] Optionally, the processor may also be configured to perform the following steps via a computer program: generating a first shot speed curve in a first application, wherein the first application is a 3D animation application that provides shot speed rendering functionality.

[0155] Optionally, the processor may also be configured to perform the following steps via a computer program: obtaining the playback rate corresponding to each video frame in a plurality of video frames contained within a first duration from the first shot speed change curve, wherein the first duration is the range of shot time length corresponding to the first shot speed change curve; determining the actual number of playback frames corresponding to each video frame in the plurality of video frames based on the playback rate; converting the correspondence between playback rate and playback time frames into a correspondence between the actual number of playback frames and playback time frames to obtain the second shot speed change curve.

[0156] Optionally, the processor may also be configured to perform the following steps via a computer program: obtaining the number of playback frames and the playback rate of the preceding video frame in each pair of adjacent video frames; calculating the actual number of playback frames in the following video frame in each pair of adjacent video frames using the number of playback frames and the playback rate of the preceding video frame, until the actual number of playback frames in each pair of video frames is determined.

[0157] Optionally, the processor may also be configured to perform the following steps via a computer program: inputting the second lens speed change curve into a time node in a second application, wherein the second application is a video editing application or digital content generation application that provides lens speed adjustment function, and the time node is used to provide time recording for the lens speed adjustment function; adjusting at least part of the speed change data based on the time node to update the display attributes of the speed-changing lens, thereby obtaining a third lens speed change curve.

[0158] Optionally, the processor may also be configured to perform the following steps via a computer program: obtaining the number of playback frames corresponding to each video frame in the plurality of video frames contained within the second duration from the third shot speed change curve, wherein the second duration is the range of shot time length corresponding to the third shot speed change curve; determining the actual playback rate corresponding to each video frame in the plurality of video frames based on the number of playback frames; converting the correspondence between the number of playback frames and the playback time frame into the correspondence between the actual playback rate and the playback time frame to obtain the fourth shot speed change curve.

[0159] Optionally, the processor may also be configured to perform the following steps via a computer program: obtaining the number of playback frames corresponding to the preceding video frame and the number of playback frames corresponding to the following video frame in each pair of adjacent video frames; calculating the actual playback rate corresponding to the preceding video frame in each pair of adjacent video frames using the number of playback frames corresponding to the preceding video frame and the number of playback frames corresponding to the following video frame, until the actual playback rate corresponding to each video frame in the multiple video frames is determined.

[0160] Optionally, the processor may also be configured to perform the following steps via a computer program: connecting the fourth lens speed change curve to a time dilation track in the first application, wherein the time dilation track is used to provide time recording for the lens speed change rendering function; rendering the fourth lens speed change curve based on the time dilation track to obtain the lens speed change result.

[0161] In the electronic device described in the above embodiments, a technical solution for implementing a lens speed-changing processing method is provided. The method involves: acquiring a first lens speed-changing curve, wherein the first lens speed-changing curve is a curve recording the playback speed of frames in a speed-changing shot relative to time; converting the first lens speed-changing curve to a second lens speed-changing curve, wherein the second lens speed-changing curve is a curve recording the absolute number of frames played each time in the speed-changing shot relative to time; adjusting at least a portion of the speed-changing data on the second lens speed-changing curve to obtain a third lens speed-changing curve, wherein at least a portion of the speed-changing data is used to determine the display attributes of the speed-changing shot; converting the third lens speed-changing curve back to a fourth lens speed-changing curve; and rendering the fourth lens speed-changing curve to obtain the lens speed-changing result to be displayed. The method provided in this application achieves the purpose of automatically converting the two lens speed-changing curves involved in the speed-changing shot production process to produce a lens speed-changing result, thereby achieving the technical effect of improving the production efficiency and quality of speed-changing shots, and solving the technical problem of low production efficiency and easy data loss caused by the lack of related speed-changing shot processing methods in related technologies.

[0162] Figure 5 This is a schematic diagram of an electronic device according to one embodiment of this application. Figure 5 As shown, the electronic device 500 is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0163] like Figure 5 As shown, the electronic device 500 is presented in the form of a general-purpose computing device. The components of the electronic device 500 may include, but are not limited to: at least one processor 510, at least one memory 520, a bus 530 connecting different system components (including memory 520 and processor 510), and a display 540.

[0164] The memory 520 stores program code that can be executed by the processor 510, causing the processor 510 to perform the steps described in the method section of the embodiments of this application according to various exemplary implementations of this application.

[0165] The memory 520 may include a readable medium in the form of volatile memory cells, such as random access memory (RAM) 5201 and / or cache memory 5202, and may further include read-only memory (ROM) 5203, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.

[0166] In some instances, memory 520 may also include programs / utilities 5204 having a set (at least one) of program modules 5205, including but not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Memory 520 may further include memory remotely located relative to processor 510, which can be connected to electronic device 500 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0167] Bus 530 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, peripheral bus, graphics acceleration port, processor 510, or a local bus using any of the various bus structures.

[0168] The display 540 may be, for example, a touch-screen liquid crystal display (LCD) that allows a user to interact with the user interface of the electronic device 500.

[0169] Optionally, the electronic device 500 can also communicate with one or more external devices 600 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 500, and / or any device that enables the electronic device 500 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via the input / output (I / O) interface 550. Furthermore, the electronic device 500 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via a network adapter 560. Figure 5As shown, network adapter 560 communicates with other modules of electronic device 500 via bus 530. It should be understood that, although... Figure 5 As not shown, other hardware and / or software modules may be used in conjunction with electronic device 500, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, Redundant Arrays of Independent Disks (RAID) systems, tape drives, and data backup storage systems.

[0170] The aforementioned electronic device 500 may also include: a keyboard, a cursor control device (such as a mouse), an input / output interface (I / O interface), a network interface, a power supply, and / or a camera.

[0171] Those skilled in the art will understand that Figure 5 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, the electronic device 500 may also include components that are more... Figure 5 The more or fewer components shown, or having the same Figure 5 Different configurations are shown. The memory 520 can be used to store computer programs and corresponding data, such as the computer program and corresponding data corresponding to the lens speed processing method in this embodiment. The processor 510 executes various functional applications and data processing by running the computer program stored in the memory 520, thereby implementing the aforementioned lens speed processing method.

[0172] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0173] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0174] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0175] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0176] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0177] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0178] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A lens speed adjustment method, characterized in that, include: Obtain the first shot speed change curve, wherein the first shot speed change curve is a curve recording the playback speed of frames in the speed change shot relative to time; The playback rate of each video frame in a plurality of video frames contained within a first duration is obtained from the first shot speed change curve, wherein the first duration is the range of shot time length corresponding to the first shot speed change curve. The actual number of playback frames corresponding to each video frame in the plurality of video frames is determined based on the playback rate; The correspondence between the playback rate and the playback time frame is converted into the correspondence between the actual number of playback frames and the playback time frame to obtain the second shot speed change curve; At least a portion of the speed change data on the second lens speed change curve is adjusted to obtain a third lens speed change curve, wherein the at least a portion of the speed change data is used to determine the display attributes of the speed change lens; Convert the speed change curve of the third lens back to the speed change curve of the fourth lens; The speed change curve of the fourth lens is rendered to obtain the speed change result to be displayed.

2. The lens speed adjustment method according to claim 1, characterized in that, Obtaining the speed change curve of the first lens includes: The first shot speed curve is generated in a first application, wherein the first application is a 3D animation application that provides shot speed rendering functionality.

3. The lens speed adjustment method according to claim 1, characterized in that, Determining the actual number of playback frames corresponding to each of the plurality of video frames based on the playback rate includes: Obtain the number of playback frames corresponding to the preceding video frame in each pair of adjacent video frames and the playback rate corresponding to the preceding video frame; The actual number of playback frames corresponding to the next video frame in each of the preceding two video frames is calculated using the number of playback frames corresponding to the previous video frame and the playback rate corresponding to the previous video frame, until the actual number of playback frames corresponding to each video frame in the plurality of video frames is determined.

4. The lens speed adjustment method according to claim 1, characterized in that, Adjusting at least a portion of the speed change data on the second lens speed change curve to obtain the third lens speed change curve includes: The second lens speed curve is connected to the time node in the second application, wherein the second application is a video editing application or digital content generation application that provides lens speed adjustment function, and the time node is used to provide time recording for the lens speed adjustment function. Based on the time node, at least a portion of the speed change data is adjusted to update the display attributes of the speed change lens, thereby obtaining the speed change curve of the third lens.

5. The lens speed adjustment method according to claim 1, characterized in that, Converting the speed change curve of the third lens back to the speed change curve of the fourth lens includes: The playback frame number corresponding to each video frame in the multiple video frames included within the second duration is obtained from the third shot speed change curve, wherein the second duration is the range of shot time length corresponding to the third shot speed change curve. The actual playback rate corresponding to each video frame in the plurality of video frames is determined based on the number of playback frames; The correspondence between the number of playback frames and the playback time frames is converted into the correspondence between the actual playback rate and the playback time frames to obtain the speed change curve of the fourth shot.

6. The lens speed adjustment method according to claim 5, characterized in that, Determining the actual playback rate for each of the plurality of video frames based on the number of playback frames includes: Obtain the number of playback frames corresponding to the previous video frame and the number of playback frames corresponding to the next video frame in each pair of adjacent video frames from the plurality of video frames. The actual playback rate corresponding to the preceding video frame in each pair of adjacent video frames is calculated using the playback frame number corresponding to the preceding video frame and the playback frame number corresponding to the following video frame, until the actual playback rate corresponding to each video frame in the plurality of video frames is determined.

7. The lens speed adjustment method according to claim 2, characterized in that, Rendering the speed change curve of the fourth shot yields the speed change result to be displayed, including: The fourth lens speed curve is connected to the time dilation track in the first application, wherein the time dilation track is used to provide time recording for the lens speed rendering function; The speed change curve of the fourth shot is rendered based on the time dilation trajectory to obtain the speed change result of the shot to be displayed.

8. A lens speed-changing processing device, characterized in that, include: The acquisition module is used to acquire the first shot speed change curve, wherein the first shot speed change curve is a curve that records the playback speed of frames in the speed change shot relative to time. A first conversion module is used to obtain the playback rate corresponding to each video frame in a plurality of video frames contained within a first duration from the first shot speed change curve, wherein the first duration is the range of shot time length corresponding to the first shot speed change curve; determine the actual number of playback frames corresponding to each video frame in the plurality of video frames based on the playback rate; and convert the correspondence between the playback rate and the playback time frame into the correspondence between the actual number of playback frames and the playback time frame to obtain a second shot speed change curve. An adjustment module is used to adjust at least a portion of the speed change data on the second lens speed change curve to obtain a third lens speed change curve, wherein the at least a portion of the speed change data is used to determine the display attributes of the speed change lens; The second conversion module is used to convert the third lens speed change curve back to the fourth lens speed change curve. The rendering module is used to render the speed change curve of the fourth lens to obtain the speed change result to be displayed.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program is configured to execute the lens speed processing method according to any one of claims 1 to 7 when run by a processor.

10. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the lens speed change processing method according to any one of claims 1 to 7.