Progressive enhancement mechanism for representation of 3D objects
The progressive enhancement mechanism addresses the challenge of delivering high-quality point clouds in real-time by seamlessly integrating refined point clouds into the compression chain, thereby enhancing user experience in 3D video applications.
Patent Information
- Application Number
- PCT/EP2024/085880
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-15
- Filing Date
- 2024-12-12
- Publication Date
- 2025-06-19
AI Technical Summary
Existing 3D video applications face challenges in delivering high-quality point clouds in real-time, as current compression techniques prioritize bandwidth reduction over quality enhancement, and real-time refinement of point clouds is not always feasible.
A progressive enhancement mechanism that allows refined point clouds to be seamlessly inserted into the compression chain, enabling quality enhancement of 3D data delivery without compromising real-time availability.
This solution ensures that users receive enhanced quality 3D data in real-time or near-real-time, improving the overall user experience in 3D video applications while accommodating the need for refined point clouds.
Smart Images

Figure EP2024085880_19062025_PF_FP_ABST
Abstract
Description
[0001] PROGRESSIVE ENHANCEMENT MECHANISM FOR REPRESENTATION OF 3D OBJECTS
[0002] 1. Technical Field
[0003] The present principles generally relate to the domain of encoding, transmitting of point clouds. In particular, the present principles relate to managing different qualities of point cloud representations in real time according to the performances of a remote client Tenderer.
[0004] 2. Background
[0005] The present section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present principles that are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present principles. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
[0006] In 3D world representation, point clouds representation is of foreground importance. Point clouds captures produce a large amount of data. Compression techniques have been developed to reduce this amount of data. For example, MPEG has produced two standards: V- PCC standing for Video-based Point Cloud compression and G-PCC standing for Geometrybased Point Cloud Compression. 3D video applications (as telepresence, 3D video conferencing, video immersive experiences...) are relying on cameras (simple RGB or depth cameras) as capture devices. Complex and potentially expensive devices as Lidar, delivering huge point clouds, are reserved to applications requiring a high-level of precision in the point cloud representation, such as Build Information Model, Computer Aided Designed or even automotive applications. Regarding 3D video applications, a trade-off cursor relates to bandwidth reduction. The priority is set on the user experience of fluid access to the 3D content. To that purpose, V-PCC, for example, is well suited for this kind of applications as it compresses models with a bitrate compatible with network capabilities. However, such a representation of 3D objects is not designed to improve the quality of the captured point clouds. So, the rendering at the output of the transmission chain is automatically approximative. Techniques to refine and clean point clouds data have been developed to compensate the lack of capture quality. Point cloud cleaning and refinement techniques may not provide a result in real-time. On their side, 3D video applications, like teleleaming, may not require real time processing and accommodate with the delay requested to refine an original point cloud capture. So, there is a lack for a mechanism to manage and seamlessly insert refined point clouds in the compression chain so that the 3D data delivered by decoder reflects to the users the quality enhancement on the restituted object.
[0007] 3. Summary
[0008] The following presents a simplified summary of the present principles to provide a basic understanding of some aspects of the present principles. This summary is not an extensive overview of the present principles. It is not intended to identify key or critical elements of the present principles. The following summary merely presents some aspects of the present principles in a simplified form as a prelude to the more detailed description provided below.
[0009] The present principles relate to a method for delivering a representation of a 3D point cloud to a client. The client sends a request for the representation at a first level of quality. If the representation is available at this level of quality, sending downloading references to the client. Else if the representation is under preparation at least another level of quality, sending a description of the other levels of quality to the client and receive a subscription information from the client. If the client subscribed, warn the client each time a new level of quality for the representation is available.
[0010] The present principles also relate to a device comprising a processor and a memory associated with the processor that is configured to implement the method above.
[0011] 4. Brief Description of Drawings
[0012] The present disclosure will be better understood, and other specific features and advantages will emerge upon reading the following description, the description making reference to the annexed drawings wherein:
[0013] - Figure 1 shows a module architecture according to the present principles;
[0014] - Figure 2 illustrates process 1 of Figure 1 according to the present principles;
[0015] - Figure 3 shows an example architecture of a device which may be configured to implement one or several modules of the system of Figure 1 according to an embodiment of the present principles; - Figure 4, corresponding to process 2 of Figure 1, illustrates the reception by the Availability Controller of a new object / animation according to the present principles;
[0016] - Figure 5 illustrates process 3 of Figure 1 that applies when a representation in preparation becomes available;
[0017] - Figure 6 illustrates process 4 of Figure 1 that applies when a cleaned and refined version of a series of point-clouds becomes available;
[0018] - Figure 7 illustrates process 5 of Figure 1.
[0019] 5. Detailed description of embodiments
[0020] The present principles will be described more fully hereinafter with reference to the accompanying figures, in which examples of the present principles are shown. The present principles may, however, be embodied in many alternate forms and should not be construed as limited to the examples set forth herein. Accordingly, while the present principles are susceptible to various modifications and alternative forms, specific examples thereof are shown by way of examples in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the present principles to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present principles as defined by the claims.
[0021] The terminology used herein is for the purpose of describing particular examples only and is not intended to be limiting of the present principles. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises", "comprising," "includes" and / or "including" when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Moreover, when an element is referred to as being "responsive" or "connected" to another element, it can be directly responsive or connected to the other element, or intervening elements may be present. In contrast, when an element is referred to as being "directly responsive" or "directly connected" to other element, there are no intervening elements present. As used herein the term "and / or" includes any and all combinations of one or more of the associated listed items and may be abbreviated as" / ". It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the teachings of the present principles.
[0022] Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
[0023] Some examples are described with regard to block diagrams and operational flowcharts in which each block represents a circuit element, module, or portion of code which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in other implementations, the function(s) noted in the blocks may occur out of the order noted. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending on the functionality involved.
[0024] Reference herein to “in accordance with an example” or “in an example” means that a particular feature, structure, or characteristic described in connection with the example can be included in at least one implementation of the present principles. The appearances of the phrase in accordance with an example” or “in an example” in various places in the specification are not necessarily all referring to the same example, nor are separate or alternative examples necessarily mutually exclusive of other examples.
[0025] Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims. While not explicitly described, the present examples and variants may be employed in any combination or sub-combination.
[0026] Point cloud cleaning and refinement techniques may not provide a result in real-time. On their side, 3D video applications, like teleleaming, may not require real time processing and accommodate with the delay requested to refine an original point cloud capture. For instance, a user may capture her / himself to prepare a point cloud representing him / herself. This Point Cloud may be further used in teleconferencing applications, as an avatar for instance, but not immediately. The initial capture can be sent meanwhile to an ad-hoc Point Cloud cleaning and refinement processor to be cleaned and refined not in real-time.
[0027] 3D video applications, like sport playback or teleconferencing, may require in some cases real-time availability of a captured object. In other cases, for instance, a 3D avatar representing a participant may be refined during the conference. In another example, a user may capture an object as a point cloud (or an animated object as a series of point clouds) with a smartphone camera with the purpose of sharing it with the other participants and use it as a support for a discussion. The object should be available in real-time (or almost in real-time), even in low quality. But the elapsed time, in the continuation of the 3D conference, can be profitable to get a result from a Point Cloud cleaning and refinement processor. A refined Point Cloud (or series of point clouds in case of an animated object) may become available and used instead of the original one(s).
[0028] According to the present principles, the new refined Point Cloud(s) are seamlessly inserted in the compression chain so that the 3D data delivered by decoder reflects to the users the quality enhancement on the restituted object. In this context, the refinement process is previously launched.
[0029] Figure 1 shows a module architecture according to the present principles. Processes 1 to 5 are implemented in a functional block 10 called Availability Controller. Each of these processes may be implemented in a separate circuit of performed by an electronic device like a processor. Processes 1 to 5 are detailed below. Process 1 relates to interactions between the Availability Controller 10 and a client about representations of an 3D object or a 3D animation. Process 2 concerns the reception by the Availability Controller of a new 3D object 3D animation. Process 3 is used when a representation in preparation becomes available. When a cleaned and refined version of a series of point-clouds becomes available, process 4 is performed. Process 5 manages the interactions between a Refinement Policy Manager and the Availability Controller to start refinement processes according to its policy.
[0030] According to the present principles, the Availability Controller maintains an availability list of the 3D objects or 3D animations and their associated representations. This availability list is shared with the clients. The availability list comprises (at least), for each represented 3D object or 3D animation, an object / animation id, a list of the available representations (for example a V-PCC representation) for the object / animation, a list of the representations of the object / animation that are in preparation, and a list of client devices. Each entry of the list of the available representations describes one representation, for example a V- PCC representation. It comprises at least the name of the representation, the Id of the point clouds used to generate it, a reference, and the necessary elements to get the representation on the storage (Server name, URL and path for instance, ... ). Each entry of the list of the representations in preparation describes one representation in preparation. It comprises at least the name of the representation, the Id of the point clouds used to generate it. In addition, it may comprise a status and a reference of the refinement process, a status on the encoding process (which can only start when the refinement process is completed), and a provisional availability time so that the client receives an information about the duration of time to expect before obtaining the representation in preparation. This duration is an estimation. It may also comprise a client list containing the client Id of each client which has requested to get the representation in preparation when it is available. The client list contains the client Id of each client which has requested to be notified when a new refinement process for this object / animation is initiated.
[0031] Figure 2 illustrates process 1 of Figure 1 according to the present principles. Figure 1 details how interactions between the Availability Controller and clients are managed. An example client may be a scene compositor which requires 3D objects to compose a 3D scene among which 3D objects’ representations. When receiving a request from a client at a step 21, the Availability controller uses the 3D object / animation Id to check whether there is a corresponding entry in the 3D objects / animations list. It then uses the information contained by the corresponding entry to organize its exchange with the client. Using in first the “available representations” list, it sends to the client the references of the existing representations, at a step 23. A reference is the necessary information to directly download the chosen representation (i.e., server name, URL, path) and some information about the series of point clouds used to encode the representation (point clouds id, refinement algo id... ), so that the client can select which representation to download and then can directly download it from the server. Then, using the “In preparation representations” list, the Availability Controller, at a step 24, informs the client of each representation in preparation, delivers information about the refinement process (refinement algorithm used, status) and indicates a provisional availability time for each representation in preparation, so that the client has the necessary information elements to decide whether it requires to be notified when a representation in preparation is available. The Availability Controller updates the client list associated to this representation in preparation according to the client’s decision. The provisional availability time depends on the time necessary to complete the cleaning and refinement process as well as the encoding process. It may involve exchanges between the Availability Controller and the Cleaning and Refinements Processes and the V-PCC encoders during the application of processes 3 and 4 of Figure 1. Its value is provisional and may be updated during the refinement and encoding processes. Then, the Availability Controller asks the client whether a subscription to the global list attached to this 3D object / animation is required. If so, the client is notified by the Availability Controller each time anew representation comes into preparation (i.e., when anew refinement process is initiated) for this 3D object / animation.
[0032] Figure 4, corresponding to process 2 of Figure 1, illustrates the reception by the Availability Controller of a new object / animation according to the present principles. The Availability Controller also handles the reception from a source (for example a client or a server or a memory) of a new 3D object / animation. The 3D object / animation is one or a series of point clouds. When a new series of Point Clouds is received, it is transmitted to encoders (for example V-PCC encoders, but other representations are eligible to the present principles). So, the corresponding encoded sequence is available as soon as possible. Depending on the policy of the Refinement Policy Manager, the Availability Controller initiates one or several Cleaning and Refinement Processes for these series of Point Clouds. The refinement policy may be adjusted according to the clients’ needs. The refinement policy is implemented in the Refinement Policy Manager and the Refinement Policy Manager may exchange with the clients to adjust its policy. The Availability Controller has also to create a new entry in the list of the 3D objects / animations. For this new entry, the Availability Controller creates at least one entry in the “in preparation representations” list, which corresponds to the representations being encoded with the original point clouds. It also creates one entry per each on-going cleaning and refinement process. For each entry, the Availability Controller indicates a provisional availability time which may be further updated. In an embodiment, the Availability Controller sends a message (broadcast, multicast. . . ) to the clients to inform them about the new entry in the 3D objects / animations list, so that clients can improve their own application with this new 3D representation.
[0033] Figure 5 illustrates process 3 of Figure 1 that applies when a representation in preparation becomes available. When the encoding process of a series of refined point clouds ends, a representation in preparation becomes available. The Availability Controller updates the entry of the corresponding 3D object / animation, moving the representation from the list “in preparation” to the list “available”. The Availability Controller goes through the client list associated to this representation and notify each client which requested it. For the same 3D object, other representations may still be “in preparation”. This is the case when a cleaning and refinement process (or several) or when an encoding process (or several) corresponding to point clouds representing the 3D object / animation are still on-going. In that case, the Availability Controller optionally sends in addition a reminder of the other representations in preparation to the same list of clients. When a client receives a new representation for a 3D object, it may be actually using the previously received representation of this 3D object. As the new representation is of a higher quality, the client may switch on the fly from the old to the newly received representation.
[0034] Figure 6 illustrates process 4 of Figure 1 that applies when a cleaned and refined version of a series of point-clouds becomes available. The series of point clouds corresponds to a 3D object / animation. When a refinement process is completed, the Availability Controller sends the refined point-clouds to encoders to inform that a new representation of the 3D object / animation using the refined point-clouds is available and ready to be encoded so that the Availability Controller gets the new encoded sequence as soon as possible. The cleaning and refinement policy is under the control of the Refinement Policy Manager. It determines the need of cleaning and refinement processes following clients’ needs or any potential default policy, when a new input has arrived for instance. This policy is sent to the Availability Controller that may request to start new cleaning and refinement processes. In this case, the Availability Controller updates the 3D object corresponding entry by adding a new entry to the “in preparation representation list” and goes through the client list attached to the 3D object / animation to propose to each client to subscribe to the client list of the new “in preparation representation” entry (i.e. to be notified when this representation is available).
[0035] Figure 7 illustrates process 5 of Figure 1. The Refinement Policy Manager is in charge of the refinement policy. The Refinement Policy Manager may request the Availability Controller to start a new refinement process for a 3D object / animation at any time, for example at the end of a refinement process whose output may be used as input of a new process, or when exchanges with clients expressing their needs occur, or for computational resources management reasons. In this case, the Availability Controller updates the 3D object corresponding entry by adding a new entry to the “in preparation representation list” and goes through the client list attached to the 3D object / animation to propose to each client to subscribe the client list of the new “in preparation representation” entry (i.e., to be notified when this representation is available).
[0036] Figure 3 shows an example architecture of a device 30 which may be configured to implement one or several modules of the system of Figure 1 according to an embodiment of the present principles. The device is linked with other devices via their bus 31 and / or via I / O interface 36.
[0037] Device 30 comprises following elements that are linked together by a data and address bus 31 :D
[0038] - a processor 32 (or CPU), which is, for example, a DSP (or Digital Signal Processor);
[0039] - a ROM (or Read Only Memory) 33;
[0040] - a RAM (or Random Access Memory) 34;
[0041] - a storage interface 35;
[0042] - an I / O interface 36 for reception of data to transmit, from an application; and
[0043] - a power supply (not represented in Figure 2), e.g. a battery.
[0044] In accordance with an example, the power supply is external to the device. In each of mentioned memory, the word « register » used in the specification may correspond to area of small capacity (some bits) or to very large area (e.g. a whole program or large amount of received or decoded data). The ROM 33 comprises at least a program and parameters. The ROM 33 may store algorithms and instructions to perform techniques in accordance with present principles. When switched on, the CPU 32 uploads the program in the RAM and executes the corresponding instructions.
[0045] The RAM 34 comprises, in a register, the program executed by the CPU 32 and uploaded after switch-on of the device 30, input data in a register, intermediate data in different states of the method in a register, and other variables used for the execution of the method in a register.
[0046] The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a computer program product, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users.
[0047] Device 30 is linked, for example via bus 31 to a set of sensors 37 and to a set of rendering devices 38. Sensors 37 may be, for example, cameras, microphones, temperature sensors, Inertial Measurement Units, GPS, hygrometry sensors, IR or UV light sensors or wind sensors. Rendering devices 38 may be, for example, displays, speakers, vibrators, heat, fan, etc.
[0048] In accordance with examples, the device 30 belongs to a set comprising:
[0049] - a mobile device;
[0050] - a communication device;
[0051] - a game device;
[0052] - a tablet (or tablet computer);
[0053] - a laptop;
[0054] - a still picture camera;
[0055] - a video camera.
[0056] An example of a possible organization of the 3D objects / animations list is provided below. When receiving a new series of point clouds, the Availability Controller creates a new entry in the 3D objects / animations list. This entry comprises a list of available representations, a list of representations in preparation and a client list. For each representation in preparation, there is a client list which comprises the client id of each client which requested to be notified when the representation is available. Such a list is optional for the available representation, as far as, it is immediately available and there is no need to register for a future delivery. To communicate with a client, additional information beyond the client id is necessary. As well, point clouds (or series of point clouds corresponding to the same 3D animation) are referenced in the example only with their Id, as far as the purpose of the example here is only to illustrate the description of the representation associated to a 3D object / animation in the frame of the invention. Additional information is necessary to further describe these point clouds. Additional information, beyond point clouds and client description, may also be necessary. ListOfObjects Animations": [
[0057] "Obj ectAnimationld" : "obj_animated_#001 ", "AvailableRepresentationList": [
[0058] "Name": "original_representation", "InputPointCloudld": "pc_#001_original", "RefmementMethodld" : "none", "Path": "original_rep_%04d.bin", "ServerName": "storage", "Url": sequences / rpc_001 / VPCC / r22 / original_rep / stream. mpd"
[0059] "Name": "rep_v01", "InputPointCloudld": "pc_#001_v01", "Path": "rep_meshFix v01_%04d.bin", "ServerName": "storage",
[0060] "Url": "sequences / rpc_001 / VPCC / r22 / rep_v01 / stream.mpd"
[0061] ],
[0062] "InPreparationRepresentationList" : [
[0063] "Name": "rep_v02", "InputPointCloudld": "pc_#001_v02", "Refinementstatus" : "refinementTerminated", "RefmementMethodld" : "holeFilling volFill", "EncodingStatus": "encodingOngoing",
[0064] "ProvisionnalAvailabilityTime": "UTC:2023-08-22: 18:24:05", "ClientList": [ Clientld": "client#004
[0065] Clientld": "client#010
[0066] "Clientld": "client#018"
[0067] ]
[0068] "Name": "rep_v03",
[0069] "InputPointCloudld": "pc_#001_v03",
[0070] "Refinementstatus" : "refmementOngoing", "RefmementMethodld" : "holeFilling Liepa", "EncodingStatus": "encodingNotStarted", "ProvisionnalAvailabilitytime": "UTC:2023-08-22: 19:02:47", "ClientList": [
[0071] "Clientld": "client#004"
[0072] "Clientld": "client#018"
[0073] ]
[0074] ],
[0075] "ClientGlobalList":[
[0076] Clientld": "client#004 Clientld": "client#007
[0077] Clientld": "client#018
[0078] "Obj ectAnimationld" : "obj_animated_#002",
[0079] "AvailableRepresentationList": [
[0080] ],
[0081] "InPreparationRepresentationList" : [
[0082] "Name": "original_representation",
[0083] "InputPointCloudld" : "pc_#002_original",
[0084] "Refinementstatus" : "refinementTerminated",
[0085] "RefinementMethodld" : "none",
[0086] "EncodingStatus": "encodingOngoing", "ProvisionnalAvailabilitytime": "UTC:2023-08-22: 16:44: 17", "ClientList": [
[0087] "Clientld" : "client#002"
[0088] "Clientld" : "client#010"
[0089] "Name": "rep_v01",
[0090] "InputPointCloudld" : "pc_#002_v01 ",
[0091] "Refinementstatus" : "refinementOngoing", "RefmementMethodld" : "holeFilling Liepa", "EncodingStatus": "encodingNotStarted",
[0092] "ProvisionnalAvailabilitytime" : "UTC :2023 : 08 :22: 16: 52: 00", "ClientList": [
[0093] "Clientld" : "client#002"
[0094] "Clientld" : "client#010"
[0095] ],
[0096] "ClientGlobalList":[
[0097] "Clientld": "client#002"
[0098] "Clientld": "client#007"
[0099] "Clientld": "client#010"
[0100] ]
[0101] The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a computer program product, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, Smartphones, tablets, computers, mobile phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users.
[0102] Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications associated with data encoding, data decoding, view generation, texture processing, and other processing of images and related texture information and / or depth information. Examples of such equipment include an encoder, a decoder, a post-processor processing output from a decoder, a pre-processor providing input to an encoder, a video coder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.
[0103] Additionally, the methods may be implemented by instructions being performed by a processor, and such instructions (and / or data values produced by an implementation) may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette (“CD”), an optical disc (such as, for example, a DVD, often referred to as a digital versatile disc or a digital video disc), a random access memory (“RAM”), or a read-only memory (“ROM”). The instructions may form an application program tangibly embodied on a processor-readable medium. Instructions may be, for example, in hardware, firmware, software, or a combination. Instructions may be found in, for example, an operating system, a separate application, or a combination of the two. A processor may be characterized, therefore, as, for example, both a device configured to carry out a process and a device that includes a processor-readable medium (such as a storage device) having instructions for carrying out a process. Further, a processor-readable medium may store, in addition to or in lieu of instructions, data values produced by an implementation.
[0104] As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry as data the rules for writing or reading the syntax of a described embodiment, or to carry as data the actual syntax-values written by a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium. A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations are contemplated by this application.
Claims
CLAIMS1. A method for delivering a representation of a virtual asset to a client, the method comprising:- receiving from the client a request for a representation of the virtual asset at a first level of quality;- if the representation of the virtual asset is available at the first level of quality, sending downloading references to the client;- else if a representation of the virtual asset is under preparation at a second level of quality, sending a description of the second level of quality to the client and receiving a subscription for the second level of quality from the client;- sending a warning to the client when the representation of the virtual asset at the second level of quality is available.
2. The method of claim 1, wherein a representation of the 3D point cloud is under preparation at several second levels of quality.
3. The method of claim 1 or 2, wherein the description of the second level of quality comprises an information indicating an availability time.
4. The method of one of claims 1 to 3, wherein the virtual asset is a 3D point cloud.
5. A device for delivering a representation of a virtual asset to a client, the device comprising a memory associated with a processor configured for:- receiving from the client a request for a representation of the virtual asset at a first level of quality;- if the representation of the virtual asset is available at the first level of quality, sending downloading references to the client;- else if a representation of the virtual asset is under preparation at a second level of quality, sending a description of the second level of quality to the client and receiving a subscription for the second level of quality from the client;- sending a warning to the client when the representation of the virtual asset at the second level of quality is available.
6. The device of claim 5, wherein a representation of the 3D point cloud is under preparation at several second levels of quality.
7. The device of claim 5 or 6, wherein the description of the second level of quality comprises an information indicating an availability time.
8. The device of one of claims 5 to 7, wherein the virtual asset is a 3D point cloud.
Citation Information
Patent Citations
Cloud-centric platform for collaboration and connectivity on 3D virtual environments
US20210049827A1
System and method of server-side dynamic adaptation for split rendering
US20230224512A1
AU2021296280A1