Motion blur special effects rendering method for high-speed rotation

By pre-discrete sampling of high-speed rotating objects to generate 3D textures, the pseudo-contour and high hardware requirements in high-speed rotating motion blur rendering are solved, and real-time rendering effect on mobile or web platforms is achieved.

CN114937116BActive Publication Date: 2025-08-22SHANGHAI GOLDFISH SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210142105.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-16
Publication Date
2025-08-22
Estimated Expiration
2042-02-16

AI Technical Summary

Technical Problem

The existing motion fuzzy simulation algorithms have problems with insufficient pseudo-contours or blur in the rendering effect of high-speed rotating motion, and have high hardware requirements, making it difficult to realize real-time rendering on mobile or web platforms.

Method used

By collecting the polar coordinates and rotation speed of the rendered object, pre-discrete sampling is performed to generate 3D textures, and obtain color values ​​based on the current speed check table during rendering. The blur effect of the object is rendered in real-time rendering scenes using a simple texture mapping method.

Benefits of technology

It realizes the motion blur effect consistent with the real-time image under low hardware requirements, effectively overcomes the pseudo-contour problem, and is suitable for real-time rendering of high-speed rotational motion on mobile or web platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114937116B_ABST
    Figure CN114937116B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for rendering motion blur special effects for high-speed rotation, comprising the following steps: selecting a preset rendering object, collecting the polar coordinates of the motion trajectory of the rendering object and the changes in the rotation speed when the rendering object is imaged; pre-discretely sampling the rendering object according to the changes in the polar coordinates of the motion trajectory of the rendering object and the rotation speed to obtain discrete sampling data; caching the discrete sampling data into a 3D texture; when rendering, looking up the 3D texture table according to the current rotation speed of the rendering object to obtain the color value of the rendering object; pasting the color value of the rendering object in the form of a texture to the quadrilateral grid of the real-time rendering scene. The present invention is based on a fast calculation method of simple texture mapping, which can produce a motion blur effect consistent with the real-life image, and effectively overcomes the shortcomings of traditional algorithms such as pseudo contours. This solution only involves 3D texture operations, has low requirements for rendering hardware, and is more suitable for deployment on mobile or Web platforms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of motion blur characteristic rendering calculation, and in particular to a motion blur special effect rendering method for high-speed rotation. Background Art

[0002] Motion blur (MB) is a specific image characteristic produced by the human visual system or camera when the scene and the camera move. Both cameras and the human visual system require a certain exposure time ∆t. During this process, any shift in the position of any object in the scene relative to the camera can cause photoreceptors in multiple locations to receive light from the same point in the scene (as shown in Figure 1), resulting in blurred images. The human visual system has evolved over time to interpret this unique blur as a reflection of the speed of an object's "motion," making it an essential component of computer animation and film special effects.

[0003] Motion blur is essentially the cumulative effect of light on a sensor over time. Fully simulating it requires tracing all the paths of light rays in a scene over time, which is computationally intensive. Early computer graphics (CG) techniques directly solved simplified mathematical models of this phenomenon, making it one of the most time-consuming computational processes in the CG field. After years of technological exploration, motion blur simulation has become a viable option for real-time rendering pipelines, and multiple technical approaches have evolved.

[0004] Ray Tracing [4] (RT), as one of the most accurate global illumination techniques, directly solves the equation by exhaustive enumeration:

[0005] (1)

[0006] Although its rendering effect is realistic, its speed is far from meeting the requirements of real-time rendering. Different from the rendering requirements of static scenes, motion blur simulation needs to calculate the effect of light accumulation over a period of time. Its calculation amount is much larger than that of general RT algorithms, and ordinary Monte Carlo acceleration methods cannot effectively improve its calculation speed. Since the CG field generally uses triangular meshes to represent virtual objects, its final rendering calculation can be decomposed into the drawing of multiple basic primitives (points, line segments and triangles). Therefore, the motion form of objects in the scene can also be decomposed into the motion of the primitives (mainly triangles) thereon, and converted into the motion envelope of the primitives in three-dimensional space within one exposure time. The motion envelope of the primitive can be further decomposed into four translucent surfaces (such as Figure 2), replacing dynamic rendering over a period of time with static scene rendering containing semi-transparent primitives. Traditional real-time rendering methods can complete rendering relatively quickly. These rendering methods, which utilize geometric substitution (GT), can be embedded into conventional CG rendering pipelines and combined with pre-processed or online geometry analysis steps to further accelerate the rendering process. Furthermore, experimental results show that geometric substitution rendering methods produce significantly less image noise than real-time algorithms accelerated solely by Monte Carlo methods.

[0007] Many scholars have noticed that the above equation (1) is based on a 4D space with a 3D space plus a 1D time dimension. Its high dimensionality is the fundamental reason for the high computational complexity. The GT method is essentially "decoupled space and time sampling". It first samples the time dimension, reduces the 4D space problem to 3D space, and then solves it. The reconstruction filter method (RF) first samples the space, projects the scene onto a 2D plane, and then solves the motion blur effect in the time domain based on the projected velocity field. The RF method first projects the scene onto the imaging plane according to the ordinary rendering pipeline, and also projects the scene motion velocity field into the video memory. At this point, the above equation (1) has been converted into a 2D image and convolution calculation is performed in the time domain according to the velocity field, which greatly reduces the amount of calculation. McGuire et al. further found that the velocity field does not require high-precision projection, and only low-resolution sampling data is needed to achieve a rendering effect acceptable to the human eye, which can achieve real-time rendering speed.

[0008] Assuming the scene maintains constant motion throughout the exposure time, the image convolution computation involved in the RF method can be simplified to a multi-frame (MF) summation operation. The MF method completely abandons the illumination integration process involved in motion blur. Instead, it splits the image from a single exposure time into multiple rendered frames of a static scene, ultimately performing a weighted summation of these frames. Due to object movement, the resulting image positions of objects in these rendered frames vary slightly, resulting in a "ghosting" blur effect after summation, similar to motion blur. Both RF and MF methods are essentially post-processing (PP) methods, with RF offering higher computational accuracy and MF faster computation speed, each with its own advantages.

[0009] Methods such as RT, RF, and MF require graphics hardware that supports shader functionality and can quickly manipulate video memory data such as the frame buffer, depth buffer, and pixel velocity buffer. This can be subject to hardware limitations on mobile or web-based VR platforms. Since motion blur is caused by the cumulative (multiple) imaging processes of a scene within the exposure time, the simultaneous imaging of multiple objects (MO) can approximate the multiple imaging processes of a single object. MO methods artificially replicate moving objects in a scene as multiple overlapping transparent objects, maintaining a certain spacing between these objects. The resulting overlay rendering effect can be viewed as the discrete sampling of the moving object's image within a single exposure time. MO methods are only applicable to scenes with a small number of moving objects. Their rendering method is identical to traditional rendering pipelines and does not require special hardware. The number of overlapping objects in MO methods directly determines the quality of the blur effect. For fast-moving objects, excessive rendering objects may be required, potentially compromising real-time computational performance.

[0010] Existing motion blur simulation algorithms suffer from artifacts or insufficient blur when rendering high-speed rotational motion, and the rendering pipeline also places high demands on hardware. After a detailed analysis of the theoretical models of existing algorithms, a new method for rendering motion blur effects specifically for high-speed rotational motion is proposed. Summary of the Invention

[0011] According to an embodiment of the present invention, a method for rendering motion blur effects for high-speed rotation is provided, comprising the following steps:

[0012] Select a preset rendering object and collect the polar coordinates of the rotation trajectory and the change of the rotation speed of the rendering object during imaging;

[0013] Pre-discrete sampling of the rendering object is performed according to the changes in the polar coordinates and rotation speed of the motion trajectory of the rendering object to obtain discrete sampling data;

[0014] Cache discrete sample data into a 3D texture;

[0015] When rendering, the 3D texture table is looked up according to the current rotation speed of the rendered object to obtain the color value of the rendered object;

[0016] Map the color value of the rendered object to the quadrilateral mesh of the real-time rendering scene in the form of a texture.

[0017] Furthermore, during imaging, the camera exposure time is , the starting position of the rendering object is , the end position is E, and the motion trajectory is , then:

[0018]

[0019] in , 、 is the polar coordinate of the rendered object, The rotation speed of the rendering object, 0 is the center of rotation.

[0020] Furthermore, when the rotation speed of the rendering object exceeds Rendering objects in one exposure time will exceed 360°, One or several full circles are generated, so the motion trajectory can be regarded as finite length.

[0021] Furthermore, the final imaging value of the rendered object rotation is The accumulation of all pixels above, the final imaging value is:

[0022]

[0023] Among them I is the position on the imaging plane XY The pixel brightness, A function representing the light reflected by the rendered object, represents the exposure function produced by the camera shutter, is the exposure start time, Exposure end time.

[0024] Furthermore, polar coordinates The value range is , polar coordinates .

[0025] Furthermore, the final imaging value of the rendered object after a full circle is calculated as , and the calculation result around n full circles is n ; Decompose the rotation angle of the rendered object within the exposure time into a full circle angle and a residual angle. The rotation angle expression is: , after substituting the rotation angle expression into the final imaging value formula, the pixel value formula of the rendered object can be obtained as follows: .

[0026] Further, for In the motion trajectory Set sampling points evenly , we can get the discrete sampling data calculation formula:

[0027]

[0028]

[0029] Where K represents the total number of sampling points and k represents the sequence number of the sampling point.

[0030] Furthermore, the size of the 3D texture is 256 .

[0031] Furthermore, the rendered object is transparent in the rendered scene, and the afterimage of the blurred part of the rendered object will project the background image.

[0032] According to the method for rendering motion blur effects for high-speed rotation according to an embodiment of the present invention, the path of the rotational motion is pre-sampled, and color accumulation operations are performed along the sampling points. The calculation results are stored in the GPU video memory in the form of 3D textures. When actually rendering a rotating target, it is only necessary to perform a texture lookup table calculation based on the current rotation speed to quickly and accurately obtain the color mixing results generated by the rotational motion. This fast calculation method based on simple texture mapping can produce a motion blur effect consistent with the actual image, and effectively overcomes the shortcomings of traditional algorithms such as pseudo contours. This solution only involves 3D texture operations, has low requirements for rendering hardware, and is more suitable for deployment on mobile or Web platforms.

[0033] It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the technology as claimed. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 Schematic diagram of the principle of motion blur generation.

[0035] Figure 2 Schematic diagram of the object motion area within the exposure time.

[0036] Figure 3 4 is a flowchart of a method for rendering motion blur effects for high-speed rotation according to an embodiment of the present invention.

[0037] Figure 4 This is a motion trajectory diagram of a rendering object according to a method for rendering motion blur effects for high-speed rotation according to an embodiment of the present invention.

[0038] Figure 5 2 is a schematic diagram of a method for rendering motion blur effects for high-speed rotation according to an embodiment of the present invention.

[0039] Figure 6 Schematic diagram of the correspondence between discrete sampling data calculation method and 3D texture cache in a motion blur special effect rendering method for high-speed rotation according to an embodiment of the present invention. DETAILED DESCRIPTION

[0040] The preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings to further illustrate the present invention.

[0041] First, combine Figures 3 to 6 A motion blur special effect rendering method for high-speed rotation according to an embodiment of the present invention is described, which is used to perform motion blur special effect rendering on a rendering object and has a wide range of application scenarios.

[0042] like Figures 3 to 6 As shown, the method for rendering motion blur effects for high-speed rotation according to an embodiment of the present invention includes the following steps:

[0043] In S1, as Figure 3 As shown, a preset rendering object is selected, and the polar coordinates of the motion trajectory and the change in rotation speed of the rendering object during imaging are collected. In this embodiment, although there is no upper limit to the motion speed of the high-speed rotating rendering object, the motion path of the rendering object is fixed, single, and limited. Regardless of the rotation speed, the motion trajectory of the rendering object is always a repeating circular arc (such as Figure 4 ), which can be estimated in advance.

[0044] Furthermore, during imaging, the camera exposure time is , the starting position of the rendering object is , the end position is E, and the motion trajectory is , then:

[0045]

[0046] in , 、 is the polar coordinate of the rendered object, The rotation speed of the rendering object, 0 is the center of rotation.

[0047] When the rotation speed of the rendering object Contains one or more full circles, so the motion trajectory can be considered as a finite length. The final imaging value of the rendered object rotation is The accumulation of all pixels above, the final imaging value is:

[0048]

[0049] Among them I is the position on the imaging plane XY The pixel brightness, A function representing the light reflected by the rendered object, represents the exposure function produced by the camera shutter, is the exposure start time, Exposure end time.

[0050] For the speed Although its upper limit is unbounded, The rotation path after the rotation can be decomposed into several full circles and an arc. The imaging value of the full circle part is fixed (the average value of all pixels on the circumference), and only the arc part changes with the rotation speed. Therefore, the final imaging value formula can only consider the rotation speed in [0, ] interval situation.

[0051] In S2, as Figure 3 As shown, according to the changes in the polar coordinates and rotation speed of the motion trajectory of the rendering object, the rendering object is pre-discretely sampled to obtain discrete sampling data.

[0052] In S3, such as Figure 3 As shown, discrete sampling data is cached into a 3D texture.

[0053] In S4, as Figure 3 As shown, during rendering, the 3D texture table is looked up according to the current rotation speed of the rendering object to obtain the color value of the rendering object.

[0054] In S5, such as Figure 3 As shown, the color value of the rendered object is applied to the quadrilateral mesh of the real-time rendering scene in the form of a texture.

[0055] Furthermore, polar coordinates The value range is , polar coordinates .

[0056] Furthermore, when the rotation speed of the rendering object exceeds Rendering objects in one exposure time The angle will exceed 360°, which means a complete circle is generated. For the rendered object, the final imaging value is calculated as , and the calculation result around n full circles is n ; Decompose the rotation angle of the rendered object within the exposure time into a full circle angle and a residual angle. The rotation angle expression is: , after substituting the rotation angle expression into the final imaging value formula, the pixel value formula of the rendered object can be obtained as follows: .

[0057] Further, for In the motion trajectory Set sampling points evenly , we can get the discrete sampling data calculation formula:

[0058]

[0059]

[0060] Where K represents the total number of sampling points and k represents the sequence number of the sampling point.

[0061] Furthermore, in this embodiment, the spatial size of the 3D texture, Width × Heigh × Depth, directly determines the approximation accuracy of the pixel value of the rendered object. The size of the 3D texture is 256 , which can achieve good visual effects in most scenarios.

[0062] Calculated in advance by discrete sampling data calculation formula After that, it can be stored into the 3D texture 𝑇𝑒𝑥MB[ ],like Figure 5 As shown, at the user specified speed Finally, our method updates the surface texture of the rotating object in real time.

[0063] Table 1 Real-time motion blur lookup algorithm Precomputation: 𝑇𝑒𝑥𝑀𝐵[𝑟,𝜑,𝜙] Input: moving object texture T, speed 𝜔 Output: Blurred texture#timg# Decomposing the rotation angle: 6𝜔∆𝑡= 360#timg#𝑛+ 𝜙 for all pixels I( ,𝑗) do Coordinate transformation (𝑟,𝜑) ← (𝑖,𝑗) #timg# ← 𝑇𝑒𝑥𝑀𝐵[𝑟,𝜑, 360] #timg# ← 𝑇𝑒𝑥𝑀𝐵[𝑟,𝜑, 360] #timg# ( ,𝑗) ← 𝑛∙#timg# +#timg# end for Update object texture I ←#timg#

[0064] Above, refer to Figures 3 to 6 The present invention describes a method for rendering motion blur effects for high-speed rotation according to an embodiment of the present invention. In this case, the path of the rotational motion is pre-sampled, and color accumulation operations are performed along the sampling points. The calculation results are stored in the GPU video memory in the form of 3D textures. When actually rendering a rotating target, it is only necessary to perform a texture lookup table calculation based on the current rotation speed to quickly and accurately obtain the color mixing results generated by the rotational motion. This fast calculation method based on simple texture mapping can produce a motion blur effect consistent with the actual image, and effectively overcomes the shortcomings of traditional algorithms such as pseudo contours. This solution only involves 3D texture operations, has low requirements for rendering hardware, and is more suitable for deployment on mobile or Web platforms.

[0065] It should be noted that, in this specification, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the elements.

[0066] Although the present invention has been described in detail through the above preferred embodiments, it should be understood that the above description is not intended to limit the present invention. After reading the above description, various modifications and substitutions of the present invention will become apparent to those skilled in the art. Therefore, the scope of protection of the present invention should be defined by the appended claims.

Claims

1. A method for rendering motion blur effects for high-speed rotation, characterized in that: The following steps are included: Selecting a preset rendering object, and collecting the polar coordinates of the rotation trajectory and the change of the rotation speed of the rendering object during imaging; Pre-discrete sampling of the rendering object is performed according to the changes in the polar coordinates and the rotation speed of the motion trajectory of the rendering object to obtain discrete sampling data; caching the discrete sample data into a 3D texture; During rendering, the 3D texture is looked up in a table according to the current rotation speed of the rendering object to obtain the color value of the rendering object; Applying the color value of the rendered object to a quadrilateral grid of a real-time rendering scene in the form of a texture; When imaging, the camera exposure time is , the starting position of the rendering object is , the end position is E, and the motion trajectory is , then: ; in , 、 are the polar coordinates of the rendered object, is the rotation speed of the rendering object, 0 is the center of rotation; When the rotation speed of the rendering object exceeds The rendering object is exposed in one exposure time will exceed 360°, One or more full circles are generated, so the motion trajectory can be considered to be of finite length.

2. The method for rendering motion blur effects for high-speed rotation according to claim 1, wherein: The final imaging value of the rendered object rotation is The accumulation of all pixels above, the final imaging value formula is: ; Among them I is the position on the imaging plane XY The pixel brightness, A function representing the light reflected by the rendered object, represents the exposure function produced by the camera shutter, is the exposure start time, Exposure end time.

3. The method for rendering motion blur effects for high-speed rotation according to claim 2, wherein: The calculation result of the final imaging value of the rendered object around a full circle is , and the calculation result around n full circles is n ; Decompose the rotation angle of the rendering object within the exposure time into a full circle angle and a residual angle. The rotation angle expression is: , after substituting the rotation angle expression into the final imaging value formula, the pixel value formula of the rendered object can be obtained as follows: .

4. The method for rendering motion blur effects for high-speed rotation according to claim 3, wherein: For the The motion trajectory is Set sampling points evenly , we can get the discrete sampling data calculation formula: ; ; Where K represents the total number of sampling points and k represents the sequence number of the sampling point.

5. The method for rendering motion blur effects for high-speed rotation according to claim 3, wherein: The rendering object is in a transparent state in the rendering scene, and the afterimage of the blurred part of the rendering object will project a background image.

Citation Information

Patent Citations

  • Surface shading using stored texture map based on bidirectional reflectance distribution function

    US20020080136A1