Volume video processing system and method

By embedding time codes into the texture in the volume video processing system, generating embedded textures, and storing and transmitting them with the 3D model, the problem of low volume video streaming efficiency is solved, and efficient real-time transmission and user experience are improved.

CN119544942APending Publication Date: 2025-02-28VIVERSE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411197613.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-31
Filing Date
2024-08-29
Publication Date
2025-02-28

Smart Images

  • Figure CN119544942A_ABST
    Figure CN119544942A_ABST
Patent Text Reader

Abstract

The invention provides a volumetric video processing system and method. The volumetric video processing system includes a memory circuit and a processor. The storage circuit is configured to store a program code. The processor is coupled to the storage circuit and accesses the program code to perform the following operations: obtaining a texture of a frame of the volumetric video; generating a time code based on a frame number of the frame; embedding the time code into the texture to generate an embedded texture; obtaining a three-dimensional model of the frame; and storing the embedded texture together with the three-dimensional model as a volumetric video.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a volumetric video processing system; in particular, the present disclosure relates to a volumetric video processing system and a volumetric video processing method. Background Art

[0002] In order to bring an immersive experience to users, technologies related to extended reality (XR), such as augmented reality (AR), virtual reality (VR) and mixed reality (MR), are being developed. AR technology enables users to bring virtual elements into the real world. VR technology enables users to enter a new virtual world to experience a different life. MR technology merges the real world with the virtual world. In addition, in order to bring a complete immersive experience to users, visual content, audio content or other sensory content can be provided to users through the network. Summary of the invention

[0003] The present disclosure relates to a volumetric video processing system and a volumetric video processing method to achieve real-time streaming of volumetric video.

[0004] In the present disclosure, a volumetric video processing system is provided. The volumetric video processing system includes a storage circuit and a processor. The storage circuit is configured to store program code. The processor is coupled to the storage circuit and accesses the program code to perform the following operations: obtain a texture of a frame of a volumetric video; generate a time code based on a frame number of the frame; embed the time code into the texture to generate an embedded texture; obtain a three-dimensional (3D) model of the frame; and store the embedded texture together with the 3D model as a volumetric video.

[0005] In the present disclosure, a volumetric video processing method is provided, which includes: obtaining a texture of a frame of a volumetric video; generating a time code based on a frame number of the frame; embedding the time code into the texture to generate an embedded texture; obtaining a 3D model of the frame; and storing the embedded texture together with the 3D model as a volumetric video.

[0006] In the present disclosure, a volumetric video processing method is provided. The volumetric video processing method includes: obtaining a frame of a volumetric video; obtaining a texture video from the frame of the volumetric video; obtaining a texture and a time code based on an embedded texture of the texture video; obtaining a frame number of the frame based on the time code; obtaining a 3D model of the frame from the volumetric video based on the frame number; and applying the texture to the 3D model to generate a rendered 3D model.

[0007] Based on the above, according to the volumetric video processing system and method, the volumetric video is streamed over a network in an efficient and low-latency manner based on the time code embedded in the volumetric video.

[0008] In order to make the above contents easier to understand, several embodiments accompanying the drawings will be described in detail below. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The accompanying drawings are included to provide a further understanding of the present disclosure, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the present disclosure and together with the description serve to explain the principles of the present disclosure.

[0010] Figure 1 is a schematic diagram of a volumetric video processing system according to an embodiment of the present disclosure.

[0011] Figure 2 is a schematic flow chart of a volumetric video processing method according to an embodiment of the present disclosure.

[0012] Figure 3 is a schematic diagram of a rendering scene of a 3D model according to an embodiment of the present disclosure.

[0013] Figure 4 is a schematic diagram of an embedding scene of an embedded texture according to an embodiment of the present disclosure.

[0014] Figure 5 is a schematic diagram of a rendering scene of a 3D model according to an embodiment of the present disclosure.

[0015] Figure 6 is a schematic diagram of the file format of a SXRWEB file using adaptive streaming according to an embodiment of the present disclosure.

[0016] Figure 7 is a schematic diagram of a file format of a SXRWEB file without adaptive streaming according to an embodiment of the present disclosure.

[0017] Figure 8 It is a schematic flowchart of a playback scenario of a volumetric video according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0018] Reference will now be made in detail to exemplary embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numerals are used in the drawings and the description to refer to the same or like components.

[0019] Certain terms are used throughout the specification and claims of this disclosure to refer to specific components. It will be understood by those skilled in the art that electronic device manufacturers may refer to the same components by different names. It is not intended herein to distinguish between components that have the same function but different names. In the following description and claims, words such as "comprise" and "include" are open-ended terms and should be interpreted as "including but not limited to...".

[0020] The term "coupling (coupling) (or connection (connection))" used throughout the entire specification of the present application (including the attached claims) may refer to any direct or indirect connection mode. For example, if the first device is described herein as being coupled (or connected) to the second device, it should be interpreted as the first device being directly connected to the second device, or the first device being indirectly connected to the second device through other devices to be connected or some connection modes. The terms "first (first)", "second (second)" and similar terms mentioned throughout the entire specification of the present application (including the attached claims) are only used to name discrete elements or to distinguish different embodiments or scopes. Therefore, the terms should not be regarded as limiting the upper or lower limits of the number of elements and should not be used to limit the order of arrangement of elements. In addition, the elements / components / steps using the same reference numbers in the drawings and embodiments are used as much as possible to represent the same or similar parts. In different embodiments, the same reference numbers or the same terms can be used to refer to the relevant descriptions of the elements / components / steps.

[0021] It should be noted that in the following embodiments, the technical features of several different embodiments may be replaced, recombined and mixed to complete other embodiments without departing from the spirit of the present disclosure. As long as the features of each embodiment do not violate the spirit of the present disclosure or conflict with each other, the embodiments may be mixed and used together at will.

[0022] In order to bring immersive experience to users, technologies related to extended reality (XR), such as augmented reality (AR), virtual reality (VR) and mixed reality (MR), are being developed. AR technology enables users to bring virtual elements into the real world. VR technology enables users to enter a new virtual world to experience a different life. MR technology merges the real world with the virtual world. In addition, in order to bring a complete immersive experience to users, visual content, audio content or other sensory content can be provided to users through the network.

[0023] For example, each frame in a volumetric video is not a two-dimensional image but a type of video of a three-dimensional model that is generated from video captured from multiple different angles. Traditionally, each model consists of three-dimensional (3D) data (a mesh) and a texture applied to the mesh. Volumetric video typically has 25, 30, or 60 reconstructed 3D models per second, which means that in order to be able to stream volumetric video over a network, a large amount of data needs to be transmitted.

[0024] When a volumetric video including 3D geometric data is streamed to a user via a network, speed is important when the user loads the content of the volumetric video. Therefore, at the stage of creating the volumetric video, the size and composition of the content of the volumetric video are important.

[0025] Furthermore, when a user is watching a volumetric video, conventional methods of loading a volumetric video over a network often load all data at once at startup (which results in a long loading time). That is, the user may not be able to choose to change the quality of the volumetric video based on the conditions of the Internet. Therefore, the user experience may be interrupted by the waiting time for loading. In view of the above, those skilled in the art seek to provide an efficient and low-latency way to stream volumetric video over a network.

[0026] Figure 1 is a schematic diagram of a volumetric video processing system according to an embodiment of the present disclosure. Figure 1 , depicting a volumetric video processing system 100. In various embodiments, the volumetric video processing system 100 may be implemented as various intelligent devices and / or computer devices, but is not limited thereto. In one embodiment, the volumetric video processing system 100 may be used as an encoder to generate a volumetric video. In another embodiment, the volumetric video processing system 100 may be a decoder, a player for playing a volumetric video, or a game engine.

[0027] exist Figure 1 In the embodiment, the volumetric video processing system 100 includes a storage circuit 102 and a processor 104. The storage circuit 102 is, for example, any type of fixed or removable random access memory (RAM), read-only memory (ROM), flash memory, hard disk, other similar devices or a combination of these devices, and can be used to record multiple program codes or modules.

[0028] Processor 104 is coupled to memory circuit 102 and may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors combined with a digital signal processor core, a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), any other kind of integrated circuit, a state machine, an advanced reduced instruction set computer (RISC) machine (ARM) based processor, and the like.

[0029] In an embodiment of the present invention, the processor 104 may access the modules and program codes recorded in the storage circuit 102 to implement the volumetric video processing method proposed in the present disclosure, and the details thereof will be described below.

[0030] Figure 2 is a schematic flow chart of a volumetric video processing method according to an embodiment of the present disclosure. Figure 1 and Figure 2 The volume video processing method of this embodiment can be performed by Figure 1 The volume video processing system 100 in FIG. 1 is executed, and the following will be combined with Figure 1 The components shown are used to illustrate Figure 2 Details of each step in the.

[0031] First, in step S210, the processor 104 may be configured to obtain a texture of a frame (also referred to as a selected frame) of a volumetric video. In one embodiment, the volumetric video may include a plurality of frames, and each frame of the volumetric video corresponds to a texture, a 3D model, and a frame number. The texture may be applied to the 3D model to form 3D geometric data of the frame. The frame number may be configured to represent the order of the frame within the plurality of frames. However, the present disclosure is not limited thereto.

[0032] Next, in step S220, the processor 104 may be configured to generate a time code based on the frame number of the frame (the selected frame). In one embodiment, the frame number may be converted from text to an image to generate the time code. That is, the frame number may be represented in a graphical form by the time code (e.g., a binary image). However, the present disclosure is not limited thereto.

[0033] Thereafter, in step S230, the processor 104 may be configured to embed (or encode) the time code into the texture to generate an embedded texture. That is, by loading the embedded texture of a specific frame, the frame number of the specific frame may be identified. In one embodiment, the time code may be placed at the bottom of the texture. In another embodiment, the time code may be placed at the top of the texture. However, the present disclosure is not limited thereto. In other words, the present disclosure does not limit the location of the time code in the texture.

[0034] In addition, in step S240, the processor 104 may be configured to obtain a 3D model of the frame. In one embodiment, the 3D model may include a plurality of vertices, and the plurality of vertices may form a plurality of triangular meshes. By applying the embedded mesh to the 3D model, 3D geometric data of a frame may be formed.

[0035] Furthermore, in step S250, the processor 104 may be configured to store the embedded texture together with the 3D model as a volumetric video. In one embodiment, the embedded texture and the 3D model may be stored together and streamed over a network.

[0036] Based on the above, since the time code is located in the embedded texture, when the user is searching for a certain frame of the volumetric video, only a portion of the embedded texture of multiple frames may need to be loaded. In other words, the user can smartly and easily load frames near the current time code. Therefore, the volumetric video can be streamed over the network in an efficient and low-latency manner.

[0037] In addition, the implementation details of the volumetric video processing system 100 and the volumetric video processing method 200 can be referred to in the following Figures 3 to 8 In some embodiments, the functions of the volumetric video generator and / or the functions of the player or game engine for playing the volumetric video can be performed by the processor 104 of the volumetric video processing system 100, but the present disclosure is not limited thereto.

[0038] Figure 3 is a schematic diagram of a rendering scene of a 3D model according to an embodiment of the present disclosure. Figure 3 , the rendering scene 300 shows an original 3D model 301 and a rendered 3D model 302 .

[0039] In one embodiment, a 3D model in a volumetric video may be created by converting a mesh of multiple vertices into a triangular mesh of the multiple vertices, as shown in the original 3D model 301. In addition, a list of the multiple vertices and a list of indices connecting the vertices into triangles may be stored. In addition, for each vertex, the position and uv coordinates are stored, while the normal may be discarded. In addition, the 3D mesh may be compressed into a Draco file (i.e., with a file extension of .drc) using the Draco algorithm. However, the present disclosure is not limited thereto. In addition, a volumetric video having any type of volumetric video file format may be read to extract mesh data of a 3D model from the volumetric video. That is, all types of volumetric video file formats may be supported and utilized to create a 3D model.

[0040] In one embodiment, the rendered 3D model 302 may be generated by applying a texture to the triangle mesh of the original 3D model 301. The process of applying a texture to the original 3D model 301 to create the rendered 3D model 302 is generally referred to as "rendering."

[0041] It is worth noting that in order to create a volumetric video (e.g., an animated 3D model), the rendered 3D model 302 may move frame by frame. Therefore, a frame number may be used to represent each frame of the rendered 3D model 302. Conventionally, the texture and mesh of the original 3D model 301 are stored in the volumetric video frame by frame. That is, for each frame, the texture and mesh of the original 3D model 301 are stored separately. For example, for a volumetric video with 30 frames, there may be 30 textures and 30 meshes of 30 original 3D models 301. Therefore, the total capacity of the volumetric video may be huge. In other words, the compression ratio of the volumetric video is low.

[0042] In one embodiment, in order to reduce the size of the volumetric video, the textures of all frames of the volumetric video may be compressed into a video to improve the compression ratio. Then, the compressed textures and meshes of the original 3D model 301 may form a volumetric video together. For example, for a volumetric video with 30 frames, there may be 1 video of the compressed textures and 30 meshes. However, most volumetric video players do not provide the exact frame number that the player is currently playing. That is, when the user is searching for a certain frame of the volumetric video, the player needs to load the entire rendered 3D model 302. In other words, before the player plays the volumetric video, the entire volumetric video must first be loaded.

[0043] It is worth mentioning that since most volumetric videos are quite large files (e.g., gigabytes in size), the loading time may be very long, thereby increasing the waiting time. Therefore, for efficiency, the frame number can be converted into a time code to be embedded or encoded in each frame of the texture of the volumetric video, thereby reducing the waiting time.

[0044] Figure 4 is a schematic diagram of an embedded scene of an embedded texture according to an embodiment of the present disclosure. Figures 1 to 4 , embedding scene 400 illustrates an exemplary embodiment of embedding time code 402 into texture 401 .

[0045] In one embodiment, in order to reduce the waiting time, the frame number may be converted into a time code 402, and the time code 402 may be embedded or encoded in the texture 401 of each frame of the volumetric video to generate an embedded texture 403 for each frame. That is, when the user is searching for a certain frame of the volumetric video, the player of the volumetric video may only need to load the embedded texture 403 near the current frame (rather than loading the texture 401 of all frames or loading both the texture 401 of all frames and the original 3D model 301). In other words, when the player reads the embedded texture 403 from the volumetric video, the exact frame number of the current frame (also referred to as the current frame number) can be obtained by sampling the embedded texture 403. Then, since the mesh of the original 3D model 301 is stored as a separate file, it is easy to grab the matching mesh near the current frame based on the current frame number, and then render the texture 401 together with the mesh to generate the rendered 3D model 302 near the current frame.

[0046] In one embodiment, the frame number may be first converted into a binary number, and then the binary number may be converted into a binary image referred to as a time code 402. That is, the time code 402 may be configured to represent the frame number in a graphical form. In one embodiment, the time code 402 may be visually added (set) at the top or bottom of the texture 401 of the original 3D model 301. For example, the time code 402 may be represented by a row of black squares (■) and white squares (□), and the black squares may represent 0 or 1, and the white squares may represent 1 or 0. In one embodiment, the time code 402 may be set at the left or right side of the texture 401 of the original 3D model 301. For example, the time code 402 may be represented by a column of black squares and white squares. In addition, the time code 402 may be represented by any other specific pattern such as a circle, a dot, a triangle, a star, ... That is, the present disclosure is not limited to a specific pattern used to represent the time code 402. In addition, the leftmost square may represent the least significant bit (LSB) of a binary number, and the rightmost square may represent the most significant bit (MSB) of a binary number. However, the present disclosure is not limited thereto. In this way, when the user is searching for a certain frame of the volumetric video, only a portion (e.g., the bottom) of the embedded texture 403 may need to be loaded. Therefore, the user does not need to wait for a long time when the content of the volumetric video is loaded, thereby increasing the user experience.

[0047] Figure 5 is a schematic diagram of a rendering scene of a 3D model according to an embodiment of the present disclosure. Figures 1 to 5 , the rendering scene 500 illustrates the process of generating a rendered 3D model 503 by applying an embedded texture 502 to an original 3D model 501 .

[0048] Similar to the rendering scene 300, in the rendering scene 500, the rendering process of the volumetric video can be carried out by combining the embedded texture 502 with the mesh data of the original 3D model 501. The difference is that during the rendering process, the player can read the time code 402 from the embedded texture 502 to check the frame number of the embedded texture 502. That is, it is possible to self-check (introspection) which frame is being played or will be played based only on the embedded texture 502. In other words, instead of reading the frame number first and then finding the corresponding texture 401 separately, by reading the embedded texture 502, the frame number and the corresponding texture 401 can be captured together. Therefore, the player can efficiently find the texture 401 of the correct frame based on the embedded texture 502.

[0049] Next, the time code 402 in the embedded texture 502 may be ignored, and the texture 401 captured from the embedded texture 502 may be applied to the original 3D model 501 to generate the rendered 3D model 503. By rendering the rendered 3D model 503 frame by frame, the volumetric video may be played by a player and displayed by a display.

[0050] It is worth noting that, as described above, since the volumetric video only includes the rendered 3D model 503, the entire volumetric video needs to be loaded before playing the volumetric video. Therefore, instead of storing the rendered 3D model 503 in the volumetric video, the original 3D model 501 and the embedded texture 502 can be stored separately in the volumetric video. In this way, when starting the playback, the player only needs to load the original 3D model 501 and the embedded texture 502 of the first few frames, and the real-time playback of the volumetric video can be achieved.

[0051] Figure 6 is a schematic diagram of a file format of a streaming extended reality web (SXRWEB) file using adaptive streaming according to an embodiment of the present disclosure.

[0052] Figure 7 FIG. 4 is a schematic diagram of a file format of a SXRWEB file that does not utilize adaptive streaming according to an embodiment of the present disclosure. Figures 5 to 7 , file format 600 is an exemplary content of volumetric video using adaptive streaming, while file format 700 is an exemplary content of volumetric video not using adaptive streaming.

[0053] In one embodiment, in order to store the original 3D model 501 and the embedded texture 502 separately, the file format 600 or the file format 700 may be used to store the embedded texture 502 together with the mesh data (e.g., Draco file) of the original 3D model 501 but separately in a container file. In one embodiment, the container file may be referred to as a streaming extended reality web (SXRWEB) file (i.e., the file extension is .sxrweb). That is, the file format of the container file may be referred to as SXRWEB, but the present disclosure is not limited thereto.

[0054] It is worth noting that the container file can be streamed over the network or played in a game engine to provide XR content. Most websites may support adaptive streaming (e.g., Hypertext Transfer Protocol (HTTP) Live Streaming (HLS)), while most game engines (e.g., Unreal Engine or Unity Engine) may not support adaptive streaming. Therefore, the file format of the container file for streaming over the network may be different from the file format of the container file for the game engine.

[0055] In one embodiment, by converting the texture 401 with timecode 402 into a video (i.e., a frame embedded with the texture 403), a video production application software such as FFmpeg can be used to create an HLS adaptive bitrate video stream or separate videos output at different resolutions (e.g., 2k, 1k, 500p). In one embodiment, the video may be referred to as a texture video, but the present disclosure is not limited to this. If there is an audio stream, the video production application can also be used to add the audio stream or store the audio stream separately in the container file. These videos can be stored in the container file together with other information such as mesh data (e.g., Draco files).

[0056] refer to Figure 6 , the file format 600 may be an exemplary file format of a container file using adaptive streaming. Figure 6 As shown, each container file may include a header file, a JavaScript Object Notation (JSON) file, mesh data of the original 3D model 501 (e.g., a Draco file), an HLS video fragment (HLS chunk) (i.e., a frame of the embedded texture 502), and a playlist file.

[0057] In one embodiment, the header file may be configured to save general information of the file within the container file. For example, the header file may describe some basic information and the location of the JSON file. In addition, the JSON file may be configured to describe the position (position) of the remaining files in the container file. For example, the JSON file may describe the start position and end position of each mesh. In addition, the mesh data may include meshes of the original 3D model 501 for all frames. In addition, the HLS video fragment may be configured to be decoded by adaptive streaming to obtain a video of the embedded texture 502 at an appropriate or selected resolution. In addition, the playlist file is configured to store the playback order of the HLS video fragments. However, the present disclosure is not limited to this.

[0058] refer to Figure 7 , the file format 700 may be an exemplary file format of a container file that does not utilize adaptive streaming. Figure 7 As shown, each container file may include a header file, a JSON file, mesh data of the original 3D model 501 (eg, a Draco file), a low-quality video, a normal (medium) quality video, and a high-quality video.

[0059] In one embodiment, the header file may be configured to store general information of the file in the container file. For example, the header file may describe some basic information and the location of the JSON file. In addition, the JSON file may be configured to describe the location (positioning) of the remaining files in the container file. For example, the JSON file may describe the start and end positions of each grid. In addition, the grid data may include the grids of the original 3D model 501 of all frames. In addition, low-quality video, medium-quality video, and high-quality video may be configured to be played by the player based on an appropriate or selected resolution. However, the present disclosure is not limited thereto.

[0060] Figure 8 is a schematic flow chart of a playback scenario of a volumetric video according to an embodiment of the present disclosure. Figures 1 to 8 , the playback scene 800 depicts the playback process of the volumetric video. In one embodiment, when the user intends to play the volumetric video through a network or using a game engine, the user can use a player to perform the playback process of the volumetric video. However, the present disclosure is not limited thereto.

[0061] First, in step S801, a header file of a container file (e.g., SXRWEB file) of a volumetric video may be downloaded from a server using an HTTP range request. In response to the HTTP range request, the server may provide the header file to a player or a game engine. Next, in step S802, the player or the game engine may parse (decode) the header file to find out the locations of all files within the container file. For example, by parsing the header file, the location of a JSON file may be located and the JSON file may be downloaded. Based on the JSON file, the locations of the remaining files in the container file may be obtained. However, the present disclosure is not limited thereto.

[0062] Thereafter, in step S803, the player or game engine may use HLS to open a video stream for adaptive streaming or may open a video file of a specific quality (e.g., low quality, medium quality, or high quality) for the game engine. For example, the current frame of the volumetric video may be obtained from an opened video stream or an opened video file. Based on the time code 402 of the current frame in the volumetric video, the frame number of the current frame may be obtained. In one embodiment, the opened video includes an embedded texture 502 of the current frame. That is, the opened video may be referred to as a texture video. Then, in step S804, based on the time code 402, the corresponding mesh of the original 3D model 501 near the current frame number may be loaded (or downloaded) and the corresponding mesh may be decoded. That is, not only the mesh of the current frame of the original 3D model 501 may be obtained, but also the mesh of the original 3D model 501 of at least one nearby frame may be obtained.

[0063] Thereafter, in step S805, when a new frame of the video stream or video file arrives at the player or game engine, a copy of the embedded texture 502 captured from the video stream or video file may be created on the graphics processing unit (GPU). Then, in step S806, the GPU may be configured to obtain the time code 402 (e.g., read from the bottom row of the embedded texture 502).

[0064] Subsequently, in step S807, based on the time code 402, the corresponding mesh of the original 3D model 501 may be selected (from the meshes downloaded in step S804). Then, in step S808, a copy of the embedded texture 502 (stored in the GPU in step S804) may be loaded, and the texture 401 in the embedded texture 502 may be used as a color map for the mesh of the original 3D model 501. That is, by applying the texture 401 (captured from a video stream or a video file) to the mesh of the original 3D model 501, a frame of the volumetric video (i.e., the rendered 3D model 503) around the current frame may be obtained and played. In addition, if the volumetric video does not end at the current frame, steps S804 to S808 may be repeatedly performed until the volumetric video ends.

[0065] In summary, according to the volumetric video processing system 100, the volumetric video processing method 200, and the playback scene 800, since the time code 402 is located in the embedded texture 403, when the user is searching for a certain frame of the volumetric video, it may be necessary to load only a portion of the embedded texture 403 of multiple frames. In other words, the user can easily load frames near the current time code 402. Therefore, the volumetric video can be streamed on the network in an efficient and low-latency manner.

[0066] It is obvious to those skilled in the art that various modifications and variations can be made to the disclosed embodiments without departing from the scope or spirit of the present disclosure. In summary, the present disclosure is intended to cover modifications and variations within the scope of the following claims and their equivalents.

[0067] [Explanation of Symbols]

[0068] 100: Volumetric Video Processing System

[0069] 102: Storage Circuit

[0070] 104: Processor

[0071] 200: Volumetric Video Processing Methods

[0072] 300, 500: Render the scene

[0073] 301, 501: Original 3D model

[0074] 302, 503: Rendered 3D model

[0075] 400: Embedded scene

[0076] 401: Texture

[0077] 402: Timecode

[0078] 403, 502: Embedded texture

[0079] 600, 700: File format

[0080] 800: Play scene

[0081] S210, S220, S230, S240, S250, S801, S802, S803, S804, S805, S806, S807, S808: Steps

Claims

1. A volumetric video processing system, characterized in that: include: A storage circuit for storing program codes; as well as A processor is coupled to the storage circuit and accesses the program code to perform the following operations: Get the texture of the frame of the volumetric video; generating a time code based on a frame number of the frame; embedding the time code into the texture to generate an embedded texture; obtaining a three-dimensional model of the frame; as well as The embedded texture is stored together with the three-dimensional model as the volumetric video.

2. The volumetric video processing system according to claim 1, characterized in that: The processor also performs the following operations: The frame number is converted from text to image to generate the time code.

3. The volumetric video processing system according to claim 1, characterized in that: The time code is a binary image.

4. The volumetric video processing system according to claim 1, characterized in that: The time code is a row of black squares and white squares or a column of black squares and white squares.

5. The volumetric video processing system according to claim 1, characterized in that: The processor also performs the following operations: The time code is placed at the top, bottom, left or right side of the texture to produce the embedded texture.

6. A volumetric video processing method, characterized in that: include: Get the texture of the frame of the volumetric video; generating a time code based on a frame number of the frame; embedding the time code into the texture to generate an embedded texture; obtaining a three-dimensional model of the frame; as well as The embedded texture is stored together with the three-dimensional model as the volumetric video.

7. The volumetric video processing method according to claim 6, characterized in that: Also includes: The frame number is converted from text to image to generate the time code.

8. The volumetric video processing method according to claim 6, characterized in that: The time code is a binary image.

9. The volumetric video processing method according to claim 6, characterized in that: The time code is a row of black squares and white squares or a column of black squares and white squares.

10. The volumetric video processing method according to claim 6, characterized in that: Also includes: The time code is placed at the top, bottom, left or right side of the texture to produce the embedded texture.

11. A volumetric video processing method, characterized in that: include: Get frames of volumetric video; From the frames of the volumetric video, obtaining a texture video; Obtaining texture and time code based on the embedded texture of the texture video; Based on the time code, obtaining a frame number of the frame; Based on the frame number, obtaining a three-dimensional model of the frame from the volumetric video; as well as The texture is applied to the three-dimensional model to generate a rendered three-dimensional model.