Systems and methods for reducing uplink traffic
By transmitting delta data to a remote server for generating candidate data and approving suitable data transmission, the system addresses UL throughput limitations and power consumption issues in UEs, enhancing data transmission efficiency.
Patent Information
- Application Number
- PCT/IB2024/051687
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2025-08-28
AI Technical Summary
Existing methods for reducing uplink traffic and power consumption in user equipment (UEs) are inadequate, as UL channels often lack sufficient throughput and quickly drain battery power due to transmission power disparities and inefficient data processing.
Implementing a system where UEs transmit delta data to a remote computing device, which generates candidate data based on the initial data and delta instructions, allowing the UE to approve and transmit only suitable data over downlink channels, thereby optimizing bandwidth and reducing power consumption.
This approach reduces UL traffic and power consumption by leveraging remote computing resources to generate and transmit high-quality data efficiently, utilizing predictive generative AI for optimized data transmission.
Smart Images

Figure IB2024051687_28082025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR REDUCING UPLINK TRAFFICTECHNICAL FIELD
[0001] Disclosed are embodiments related to systems and methods for reducing uplink traffic.BACKGROUND
[0002] Applications running on user equipments (UEs), such as smartphones and extended reality (XR) devices, may require large quantities of uplink data to be transmitted over mobile networks. Examples of such applications include uploading a high-quality picture or a video stream from a smartphone and offloading XR heavy processing tasks to a nearby server. The application, as an example, may require data processing in the order of 100s of megabyte per second and an uplink throughput above 1 gigabyte per second. (See e.g., reference [1]). One problem with such heavy uplink (UL) traffic is that UL channels may not support the required level of throughput due to a transmission power disparity between a macro base station and a battery-powered UE with a small number of UE antennas. Another problem is that uploading quickly drains the batteries of UEs as it is a very power hungry operation.SUMMARY
[0003] Certain challenges presently exist. For instance, some proposed methods to address both the UL insufficiency and the UE power consumption problems involve using software on the UE to process, compress and / or limit data for uploading / offloading. (See e.g., reference [2]). This solution typically relies on encoding / decoding data, processing data, and generating data in real time. For example, in XR applications, key image frames may be encoded and sent over a network to offload processing tasks including generating spatial maps and point cloud datasets, object detection, and overlay generation. Afterwards, an encoded video stream and a mesh are sent back to the UE. But a problem with these proposed methods is that the software tools do not generate data (e.g., video, audio, or XR data) predictively on the network side. That is, there is no predictive data generation performed on a base station (BS) orelsewhere, excluding the UE, on how the data that the UE manipulates could look in the future based on its current data.
[0004] In another instance, predictive generative Al may be used to generate rich textual, visual and audial content. The content may include the creation of realistic avatars, modifications of human faces and expressive features, 3D object and scene reconstruction, animation and motion synthesis including topologically complex meshes and detailed images. (See e.g., reference [3]). Pre-trained Al transformer-based models, either following user instructions, such as prompts in natural language, or proactively from data encountered in the recent past, may perform the data generation. But a problem with predictive generative Al for content generation is it is not used for predicting or replacing UE data when the data is transmitted over a mobile network.
[0005] In another instance, as complex network traffic incorporates increasingly complex and simultaneously updating types of information, models of information transmission may reduce the complexity of communication down to only strictly necessary components. Doing so greatly aids in reducing synchronization and latency burdens on telecommunications infrastructure. (See e.g., reference [6]). For example, the transmission of critical semantic differences may be used in traffic for synchronization of quick-refreshing synchronous media in XR. (See e.g., references [7] and [8]). As such, there is a need for a method that reduces uplink information transmission to an even higher degree while preserving tools that allow for errorcorrection in representational media.
[0006] Accordingly, in one aspect there is provided a method performed by a UE. The method includes transmitting a first set of data. The method includes transmitting a data generation request message comprising delta data. The delta data indicates a difference between the first set of data and a second set of data. The method includes receiving a data generation response message including candidate data that was generated using the first set of data and the delta data. The method includes determining whether the candidate data satisfies a condition. The method includes, as a result of determining that the candidate data satisfies the condition, transmitting a candidate response message responsive to the data generation response message. The candidate response message indicates that the candidate data satisfies the condition.
[0007] In another aspect there is a method performed by a computing device. The method includes receiving a first set of data. The method includes receiving a data generation request message comprising delta data. The delta data indicates a difference between the first set of data and a second set of data. The method includes generating candidate data using the first set of data and the delta data. The method includes transmitting the candidate data. The method includes receiving a response message. The response message indicates that the candidate data satisfies a condition.
[0008] In another aspect there is a method performed a UE. The method includes transmitting a first set of data. The method includes generating a second set of data using a first data generating function (DGF). The second set of data is generated based on the first set of data and a first parameter. The method includes providing the first parameter to a remote computing device having access to a second DGF to enable the remote computing device to use the first set of data, the first parameter, and the second DGF to generate the second set of data.
[0009] In another aspect there is provided a UE, where the UE is configured to perform any one of the methods disclosed herein. In some embodiments, the UE includes processing circuitry and a memory containing instructions executable by the processing circuitry, whereby the UE is configured to perform any one of the methods disclosed herein.
[0010] In another aspect there is provided a computing device, where the computing device is configured to perform any one of the methods disclosed herein. In some embodiments, the computing device includes processing circuitry and a memory containing instructions executable by the processing circuitry, whereby the computing device is configured to perform any one of the methods disclosed herein.
[0011] In another aspect there is provided a computer program comprising instructions which when executed by processing circuitry of a network node causes the network node to perform any one of the methods disclosed herein. In another aspect there is provided a carrier containing the computer program, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.
[0012] An advantage of embodiments disclosed herein is that they reduce the use of UL resources which are more restricted and less stable when compared to downlink (DL) resources.UL resources are often insufficient for high-bandwidth data transfers, such as those of high- bitrate audio, video or XR data.
[0013] Another advantage of embodiments disclosed herein is reducing the power consumption and processing requirements of UEs by generating data in a separate computing device. Another advantage of embodiments disclosed herein is reducing the uplink traffic of a mobile network.BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0015] FIG. 1 illustrates a system according to an embodiment.
[0016] FIG. 2 is a signaling diagram according to an embodiment.
[0017] FIG. 3 is a signaling diagram according to an embodiment.
[0018] FIG. 4 is a signaling diagram according to an embodiment.
[0019] FIG. 5 is a flowchart illustrating a process according to an embodiment.
[0020] FIG. 6 is a flowchart illustrating a process according to an embodiment.
[0021] FIG. 7 is a flowchart illustrating a process according to an embodiment.
[0022] FIG. 8 is a hardware block diagram of a device according to an embodiment.DETAIEED DESCRIPTION
[0023] FIG. 1 illustrates a system 100 according to an embodiment. System 100 includes a UE 102, a server 104, and a destination service 112. Server 104 may include a predictive service 106 and a generator 108. In some embodiments, predictive service 106 and generator 108 may be located in separate computing devices. In some embodiments, UE 102 is in communication with destination service 112 via a network 110 (e.g., the Internet, mobile network, or other network). UE 102 may include an application which requires UE 102 to upload large quantities of data to destination service 112 via network 110. For example, the application may require UE 102 to generate high-quality audio, video or XR data and upload the data to online storage offered by a cloud service. UE 102 can be any type of devicecapable of communicating with destination service 112 and server 104. Also, while server 104 is show as being separate from destination service 112, in some embodiments, server 104 is a part of destination service 112.
[0024] Generating high-quality audio, video or XR data on UE 102, however, is costly and sometimes even infeasible in terms of computing power and power consumption. In UEs, such as UE 102, processing power and memory may be limited compared to other computing devices with dedicated graphics processing units (GPUs) and memory banks, e.g., computing devices of cloud services. Also, UE 102 may be a small battery-powered, heat-dissipating device with constrained power output. Generating similar data, even in larger quantities, may be relatively cheaper on a dedicated server, such as server 104. Server 104, for example, may be part of a dedicated service hosted in a cloud and may be able to use hardware and / or software that is not available to UE 102. Server 104 may generate higher quality data than UE 102, even if at the expense of an overall increase of computing resources and / or power costs at server 104.
[0025] Additionally, in current downlink-centric mobile networks, the UL is less resourceful, much more restricted, and less stable than DL. Also, UL resources are often insufficient for high-bandwidth data transfers, such as those of high-bitrate audio, video or XR data.
[0026] System 100 reduces UL traffic by integrating data generation techniques into specific UE-initiated communications to optimize bandwidth savings, the bandwidth savings being predominantly on the UE side. Instead of uploading data, UE 102 may upload characteristics of the data which is used by server 104 to generate data very similar to the data UE 102 intended to upload. UE 102 may receive (e.g., download) the generated data and approve the data before server 104 transmits the generated data to service device 112 via network 110. System 100 exchanges UE UL traffic for server-generated DL traffic in scenarios requiring high UL bandwidth.
[0027] In some embodiments, UE 102 may run a high-UL-requiring application which requires UE 102 to upload large quantities of data to destination service 112. For example, UE 102 may transmit multiple high-quality photos to a cloud storage service offered by destination service 112. UE 102 may transmit a first set of data, e.g., a first image, to destination service 112 and server 104. UE 102 may then generate a second set of data, e.g., a second image. The secondimage may be a modified version of the first image. Instead of transmitting the second set of data to destination service 112, UE 102 may transmit a data generation request message comprising delta data to server 104. The delta data may indicate a difference between the first set of data and the second set of data. The size of the delta data may also be smaller than the size of the second set of data. The delta data, for example, may indicate that the lighting in the second image is brighter than the first image.
[0028] Generator 108 may generate data candidates based on the first set of data and the delta data. UE 102 may obtain (e.g., download) one or more of the data candidates from server 104 as DL traffic and determine whether server 104 should transmit any of the data candidates to destination service 112. For example, the data candidates may be one or more images which are similar to the second image. UE 102 may compare the data candidates to the second image and determine if any of the data candidates are similar enough to the second image. In some embodiments, the data candidates downloaded by UE 102 may be smaller, sampled representations of the data candidates generated at generator 108. For instance, in a case where the data candidates generated by generator 108 include a 3D scene’s mesh of a large size, the data candidates downloaded by UE 102 may be visual 2D frames rendered from a few perspectives of the 3D scene.
[0029] As a result of determining that one or more of the data candidates should be transmitted to destination service 112, UE 102 may transmit a candidate response message to server 104. The candidate response message may indicate an approved data candidate and server 104 should transmit the approved data candidate to destination service 112. In some embodiments, UE 102 may not approve of any of the data candidates and transmit the second data set to destination service 112.
[0030] As mentioned above, server 104 may include predictive service 106 and generator 108. Generator 108 may be configured to generate high-quality data, such as audio, video or XR data, given some initial data and delta data indicating how the initial data should change. In some embodiments, generator 108 may use encoding / decoding-based techniques employed in predictive generative Al to generate a multitude of data candidates that are statistically likely to be similar to the second data set. Predictive service 106 may manage the application-specificinteraction between UE 102 and generator 108. Predictive service 106 may also transmit the UE approved data candidates over network 110 to destination service 112.
[0031] The delta data may include instructions on how to modify the initial data (e.g., the first set of data). In some embodiments, the instructions may be expressed in structured format, such as, a parametric description indicating a modification. For example, the first set of data may include an array of vertices together with an array of faces (e.g., triplets of vertices)) and the delta data may include its transformation (e.g. as a list of mesh transformation operations). In another example, the delta data may include a parameter indicating that the brightness and / or contrast of an image should be increased. In some embodiments, the delta data may also include unstructured data, such as, a textual natural language description of how the initial data should change. For example, the delta data may include instructions to “brighten the image.” Such instructions may be used in state-of-the-art XR / augmented reality (AR) / virtual reality (VR) data renderings with conventional 3D rendering engines as well as in e.g. text-to-image and image-to- image data processing with novel transformer-based generative Al tools. (See e.g., references [4] and [5]).
[0032] As an illustrative example, UE 102 may initially upload a picture of a face and then wish to transmit a picture of that face smiling. In one scenario, UE 102 may generate the desired image, e.g. by taking a new photo or using software, and compute the delta data as the difference between the original and new images. The delta data may include changes in key features or qualities. UE 102 may then transmit the delta data to generator 108 via predictive service 106 for generating the desired photo. Generator 108 may use an image encoding / decoding software to generate the desired photo. After UE 102 downloads and approves the generated desired photo, predictive service 106 may transmit the photo to destination service 112.
[0033] In another scenario, the delta data may include instructions to "make it smiling" and reference the original photo. Generator 108 may use a generative Al image&text-to-image model deployed to generates multiple candidates of a smiling face, which are then sent to UE 102 for selecting the best one to be further transmitted.
[0034] In another illustrative example including the generation and animation of volumetric data, UE 102 may upload a set of images and contextual information such as depthinformation, multi-view composite information, or extracted compressible mesh information. UE 102 may want to send an animation of this image data in volumetric form to be enjoyed by another user in an AR application.
[0035] In one scenario, a user rotates their face, but rather than uploading a new mesh, an application detects face rotation, translates that into instructions “rotate so and so”, and sends this as delta data alongside the initial face mesh. Generator 108 generates rotated face candidates, which are downloaded to UE 102. An application running on UE 102 may select the candidate with the highest similarity to the actual mesh of rotated face. In some embodiments, if the application rejects all the candidates, UE 102 may upload the actual mesh of the rotated face.
[0036] In another scenario, UE 102 may generate the desired volumetric input data. For example, the user captures a likeness of their cat using several images with a camera using a light detection and ranging (LiDAR) sensor. A program on UE 102 may then extract the features of this data necessary to construct a volumetric likeness of the cat for XR media, e.g., the relevant textures and a working geometric mesh of the cat. UE 102 may then send this information and a series of instructions to generator 108 for how to use these features to generate a particular set of actions or representations of the cat in a novel piece of XR media. Generator 108 may then carry out these instructions on a server, send a preliminary version or versions of the request to the user for approval, and then sends the approved data to a destination over downlink channels.
[0037] In yet another scenario, UE 102 generates a sparse set of input data, e.g., the user simply sends several likenesses of their cat through pictures. UE 102 then transmits these images to generator 108 with a series of instructions on how to transform these images into a volumetric representation of their cat. The instructions may include a textual description stating “create a 3D version of my cat jumping through flaming hoops for an AR application.” Generator 108 then generates volumetric media from these instructions, sends a preliminary version or versions of the request to UE 102 for approval, and then sends the approved data to a destination over downlink channels.
[0038] FIG. 2 is a signaling diagram illustrating a process 200 for predictive generation of uplink traffic according to one embodiment. Process 200 begins with step s202 in which UE 102 transmits initial data and delta data to predictive service 106. After receiving the initial data and the delta data, predictive service 106 forwards the initial data and delta data to generator 108at step s204. In some embodiments, at step s206, predictive service 106 may request data generated from the initial data and the delta data. At step s208, generator 108 generates data candidates based on the received initial data and delta data. Generator 108 may generate the data candidates using a pre-installed data generation module, such as a rendering engine or a generative pre-trained transformer.
[0039] After generating the data candidates, generator 108 transmits the data candidates to predictive service 106, at step s210, which forwards the data candidates to UE 102 at step s212. UE 102 has the ability to approve certain data candidates that are considered sufficient for transmission over the network. To accomplish this, UE 102 may utilize readily available methods to assess the similarities between its own data (e.g., images, video, audio, XR mesh) and the data candidates. In some embodiments, the comparison may be relevant when the delta data includes structured instructions on how the initial data should be modified. For example, if the delta data is expressed as textual descriptions in natural language, UE 102 may employ existing tools (e.g., image-to-text transformers) to generate textual descriptions of the data candidates. These descriptions may then be compared to the initial data and the delta data.
[0040] In some embodiments, UE 102 may transmit a candidate response message, at step s214, indicating one or more of the data candidates is approved and / or satisfies a condition. In some embodiments, UE 102 may reject one or more of the data candidates and may transmit a rejection message to predictive service 106 at step s216. In response to receiving the rejection message, predictive service 106 and generator 108 may generate new data candidates for UE 102. In some embodiments, UE 102 may reject all data candidates and transmit a message to predictive service 106 indicating so at step s218. In such embodiments, UE 102 may transmit a modified version of the initial data to predictive service 106, at step s220, and predictive service 106 may forward the modified version to destination service 112. In embodiments where UE 102 approves of one or more data candidates, predictive service 106 may transmit the approved data candidates to destination service 112 at step s222.
[0041] In some embodiments, UE 102 may wish to transmit a modified version of the approved data candidates to destination service 112. Here, UE 102 may transmit first delta data indicating how the initial data should change or second delta data indicating how the approved data candidates should change. Generator 108 may generate the modified version of theapproved data candidates based on the initial data and the first delta data or the approved data candidates and the second delta data. Upon approval of UE 102, predictive service 106 may transmit the modified version of the approved data candidates to destination service 112.
[0042] Process 200 may include a triggering mechanism for beginning process 200 prior to step s202. In some embodiments, UE 102 may detect when an UL-hungry service starts running. For example, UE 102 may determine when an application associated with high UL resources, such as an XR application, is running. Upon detecting that the application is running, UE 102 may begin process 200. In some embodiments, UE 102 may monitor its UL throughput and / or measure its UL / DL throughput. UE 102 may begin process 200 in response to the measured UL throughput and / or the UL / DL throughput being greater than a threshold.
[0043] In some embodiments, predictive service 106, or another network node, may detect whether UE 102 is running an UL-hungry application. For instance, a network management system (NMS) or 5G network data analytic function (NWDAF) may identify a dedicated network slice or UE 102’s prolonged / increased use of UL. In some embodiments, predictive service 106 may use information about other UEs available and consider their expected transmission time through UL. When high UL conditions are met, predictive service 106 may trigger the UL / DL exchange mechanism of process 200 with UE 102.
[0044] In some embodiments, UE 102’s approval of the data candidates is optional where generator 108 is already deemed to be trusted for an application. Here, predictive service 106 may maintain a trust score of generator 108. If the trust score is above a threshold, the data candidates are not downloaded to UE 102 but instead are transmitted it over the network without UE 102’s approval. If the trust score is below the threshold, predictive service 106 acts as described in FIG. 2 but also appropriately modifies the trust score depending on whether UE 102 accepts or completely rejects the data candidates.
[0045] FIG. 3 is a signaling diagram illustrating a process 300 for predictive generation of uplink traffic according to one embodiment. Process 300 is the same as process 200 with the addition of step s302. At step s302, predictive service 106 modified the trust score of generator 108. If UE 102 approves of one or more of the data candidates, predictive service 106 increases the trust score. If UE 102 rejects one or more of the data candidates, predictive service 106 decreases the trust score.
[0046] In some embodiments, a version of the globally trained generator 108 is downloaded by UE 102 to be run locally. Here, power on UE 102 may not be restricted while UL capacity may remain constrained. UE 102 may generate one or more data candidates using its local generating function based on initial data and one or more parameters. UE 102 may transmit the initial data and the one or more parameters to generator 108. Generator 108 may recreate the one or more data candidates using the initial data and the one or more parameters. Predictive service 106 may transmit the recreated one or more data candidates to destination service 112.
[0047] As an illustrative example, UE 102 may want to modify an image and may download a machine learning model from server 104. UE 102 may input the image into the machine learning model with instructions to modify the image to include a sunset. The machine learning model may output multiple modified images. Each of the modified images may include a different version of the image with a sunset. UE 102 may select one of the modified images and obtain the one or more parameters the machine learning model used to generate the selected image. UE 102 may transmit the initial image and the one or more parameters to generator 108. Generator 108 may recreate the selected image using the initial image and the one or more parameters. In some embodiments, generator 108 may recreate the selected image using the same machine learning model which UE 102 downloaded.
[0048] FIG. 4 is a signaling diagram illustrating a process 400 for predictive generation of uplink traffic according to one embodiment. Process 400 begins with step s402. At step s402, UE 102 may transmit a request message to predictive service 106 to request a version of generator 108. The version of generator 108 may be, for example, a machine learning model. Predictive service 106 may forward the request to generator 108 at step s404. At steps s406 and s408, predictive service 106 may receive the version of the generator from generator 108 and record a UE identifier identifying UE 102 and a generator identifier identifying the version of the generator. At step s410, predictive service 106 transmits the version of the generator to UE 102. In some embodiments, predictive service 106 transmits the generator identifier to UE 102. UE 102 may then transmit initial data, at step s412, to predictive service 106 which forwards the data to generator 108.
[0049] UE 102 may want to send a modified version of the initial data to destination service 112. The initial data may include one or more chunks of data. For each data chunk, UE102 may generate a set of candidates using its local version of the generator at step s414. UE 102 may then select, at step s416, the best candidate from the set of candidates. The best candidate was generated by the local version of the generator using the initial data and a generator input vector (e.g., one or more parameters). At step 418, if the best candidate satisfies a criteria, UE 102 may transmit the generator input vector to predictive service 106. In some embodiments, UE 102 transmits the generator identifier to predictive service 106.
[0050] At step s420, predictive service 106 forwards the generator input vector, with the UE identifier and the generator identifier, to generator 108. Generator 108 may generate the best candidate using the initial data and the generator input vector. In some embodiments, generator 108 uses the generator identifier to identify the version of the generator located on the UE. Generator 108 may generate the best candidate using the same version of generator located on the UE. Afterwards, generator 108 may transmit the modified data to predictive service 106 at step s422.
[0051] In some embodiments, the set of candidates for a chunk of data are insufficient and UE 102 may transmit a modified chuck of data to predictive service 106 at step 424. The chunk of data, for example, may be embodied as a set of video and / or audio frames of a modified version of an initial video file. At step s426, predictive service 106 transmits either the modified chunk of data from step s424 or the modified data from step s422 to destination service 112.
[0052] In some embodiments, the downloaded version of the generator will go stale after a period of time and UE 102 may have to download a new version. In some embodiments, the local version of the generator (e.g., machine learning model) is used similarly to the decoder portion of an auto-encoder. In some embodiments, the local version of the generator may be a smaller version of the remote one at generator 108 that is compatible with UE 102 (e.g. it generates video of lower quality in terms of bitrate but with the same content if one gives it the same input vector). In some embodiments, although generator 108 sends customized data candidates to every UE, it could start collapsing models for similar data and deltas that are sent. For example, the UEs may not have the resources to run the model used by generator 108. As such, generator 108 may create smaller collapsed models which are capable of running on a UE based on its own model. In some embodiments, the collapsed model may be specialized for atype of data, a type of UE, and / or a specific UE. This may allow generator 108 to save computational resources by sending a previously created collapsed model to a UE.
[0053] FIG. 5 is a flowchart illustrating a process 500 according to an embodiment.Process 500 may be performed by a UE. Process 500 may begin in step s502.
[0054] Step s502 comprises transmitting a first set of data.
[0055] Step s504 comprises transmitting a data generation request message comprising delta data. The delta data indicates a difference between the first set of data and a second set of data.
[0056] Step s506 comprises receiving a data generation response message including candidate data that was generated using the first set of data and the delta data.
[0057] Step s508 comprises determining whether the candidate data satisfies a condition.
[0058] Step s510 comprises, as a result of determining that the candidate data satisfies the condition, transmitting a candidate response message responsive to the data generation response message. The candidate response message indicates that the candidate data satisfies the condition.
[0059] In some embodiments, the delta data comprise instructions on how to modify the first set of data to generate the second set of data. In some embodiments, the instructions comprise a textual natural language description on how to modify the first set of data to generate the second set of data or a set of parameters indicating how to modify the first set of data to generate the second set of data. In some embodiments, the first set of data comprises an image, a set of images (e.g., video stream), a set of audio frames, or an extended reality mesh. In some embodiments, if the first set of data comprises the image, the delta data comprises an operation (e.g., brightening the image) to be performed on the image, if the first set of data comprises the set of images, the delta data comprises an operation to be performed on the set of images or a textual description indicating how to modify the set of images, if the first set of data comprises the set of audio frames, the delta data comprises an operation to be performed on the set of audio frames or a textual description indicating how to modify the set of audio frames, and if the first set of data comprises the extended reality mesh, the delta data comprises a list of mesh transformation operations.
[0060] In some embodiments, process 500 comprises transmitting a second data generation request message comprising second delta data. The second delta data indicates a difference between the first set of data and a third set of data, or the second delta data indicates a difference between the candidate data and the third set of data.
[0061] In some embodiments, process 500 comprises transmitting destination data, wherein the destination data indicates a destination service for the candidate data, and the destination service and the UE are different.
[0062] In some embodiments, the candidate data comprises a plurality of candidate data sets, and determining whether the candidate data satisfies the condition comprises determining one of the candidate data sets in the plurality of candidate data sets satisfies the condition.
[0063] In some embodiments, process 500 comprises receiving an initial data generation response message including initial candidate data that was generated using the first set of data and the delta data; determining whether the initial candidate data satisfies the condition; and as a result of determining that the initial candidate data does not satisfy the condition, transmitting an initial candidate response message responsive to the initial data generation response message, wherein the initial candidate response message indicates that the initial candidate data does not satisfy the condition.
[0064] In some embodiments, process 500 comprises determining that an upload data level is greater than a threshold, wherein the data generation request message is transmitted as a result of determining the upload data level is greater than the threshold; or receiving an upload level message, wherein the data generation request message is transmitted as a result of receiving the upload level message.
[0065] FIG. 6 is a flowchart illustrating a process 600 according to an embodiment.Process 600 may be performed by a computing device. Process 600 may begin in step s602.
[0066] Step s602 comprises receiving a first set of data.
[0067] Step s604 comprises receiving a data generation request message comprising delta data. The delta data indicates a difference between the first set of data and a second set of data.
[0068] Step s606 comprises generating candidate data using the first set of data and the delta data.
[0069] Step s608 comprises transmitting the candidate data. For example, the candidate data may be sent to a UE.
[0070] Step s610 comprises receiving a response message. The response message indicates that the candidate data satisfies a condition.
[0071] In some embodiments, the delta data comprise instructions on how to modify the first set of data to generate the candidate data.
[0072] In some embodiments, the instructions comprise a textual natural language description on how to modify the first set of data to generate the candidate data or a set of parameters indicating how to modify the first set of data to generate the candidate data.
[0073] In some embodiments, the first set of data comprises an image, a set of images (e.g., video stream), a set of audio frames, or an extended reality mesh.
[0074] In some embodiments, if the first set of data comprises the image, the delta data comprises an operation (e.g., brightening the image) to be performed on the image, if the first set of data comprises the set of images, the delta data comprises an operation to be performed on the set of images or a textual description indicating how to modify the set of images, if the first set of data comprises the set of audio frames, the delta data comprises an operation to be performed on the set of audio frames or a textual description indicating how to modify the set of audio frames, and if the first set of data comprises the extended reality mesh, the delta data comprises a list of mesh transformation operations.
[0075] In some embodiments, process 600 comprises receiving a second data generation request message comprising second delta data. The second delta data indicates a difference between the first set of data and a third set of data, or the second delta data indicates a difference between the candidate data and the third set of data.
[0076] In some embodiments, process 600 comprises obtaining an indication of a destination service; and transmitting the candidate data to the destination service, wherein the destination service and the UE are different.
[0077] In some embodiments the candidate data comprises a plurality of candidate data sets, and response message indicates one of the candidate data sets in the plurality of candidate data sets satisfies the condition.
[0078] In some embodiments, process 600 comprises generating an initial set of data using the first set of data and the delta data; transmitting the initial set of data to a user equipment (UE); and receiving an initial response message, wherein the initial response message indicates that the initial set of data does not satisfy the condition.
[0079] In some embodiments, process 600 comprises determining that an upload data level for the UE is greater than a threshold; and transmitting a data generation initiation message, wherein the data generation request message was transmitted in response to the data generation initiation message.
[0080] FIG. 7 is a flowchart illustrating a process 700 according to an embodiment.Process 700 may be performed by a UE. Process 700 may begin in step s702.
[0081] Step s702 comprises transmitting a first set of data.
[0082] Step s704 comprises generating a second set of data using a first data generating function (DGF). The second set of data is generated based on the first set of data and a first parameter.
[0083] Step s706 comprises providing the first parameter to a remote computing device having access to a second DGF to enable the remote computing device to use the first set of data, the first parameter, and the second DGF to generate the second set of data.
[0084] In some embodiments, process 700 comprises generating a third set of data using the first DGF, wherein the third set of data is generated based on the first set of data and a second parameter; and selecting the second set of data from a plurality of sets of data including the second set of data and the third set of data, wherein the first parameter is transmitted as a result of the second set of data being selected.
[0085] In some embodiments, process 700 comprises receiving the first DGF.
[0086] In some embodiments, process 700 comprises transmitting an identifier of theDGF.
[0087] In some embodiments, the DGF is a machine learning model.
[0088] FIG. 8 is a block diagram of a computing device 800, such as, for example, UE 102 or server 104, according to some embodiments. Computing device 800 can implement anyY1 one of the methods / processes disclosed herein. As shown in FIG. 8, computing device 800 may comprise: processing circuitry (PC) 802, which comprises one or more processors (P) 855 (e.g., one or more general purpose microprocessors and / or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (e.g., computing device 800 may be a distributed computing apparatus comprising two or more computers or a monolithic computing apparatus consisting of a single computer); at least one network interface 848 (e.g., a physical interface or air interface) comprising a transmitter (Tx) 845 and a receiver (Rx) 847 for enabling computing device 800 to transmit data to and receive data from other nodes connected to a network 110 (e.g., an Internet Protocol (IP) network) to which network interface 848 is connected (physically or wirelessly) (e.g., network interface 848 may be coupled to an antenna arrangement comprising one or more antennas for enabling computing device 800 to wirelessly transmi t / receive data); and a storage unit (a.k.a., “data storage system”) 808, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where PC 802 includes a programmable processor, a computer readable storage medium (CRSM) 842 may be provided. CRSM 842 may store a computer program (CP) 843 comprising computer readable instructions (CRI) 844. CRSM 842 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 844 of computer program 843 is configured such that when executed by PC 802, the CRI causes computing device 800 to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, computing device 800 may be configured to perform steps described herein without the need for code. That is, for example, PC 802 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and / or software.
[0089] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possiblevariations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
[0090] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.
[0091] REFERENCES
[0092] [1] Diego Gonzalez Morin, Toward the Distributed Implementation of ImmersiveAugmented Reality Architectures on 5G Networks, IEEE (2022), https: / / ieeexplore.ieee.org / document / 9722829.
[0093] [2] Fredrik Alriksson, XR and 5G: Extended reality at scale with time-critical communication, IEEE (2021), https: / / ieeexplore.ieee.org / abstract / document / 9904681.
[0094] [3] Hua Xuan Qin, Empowering the Metaverse with Generative Al: Survey andFuture Directions, RESEARCHGATE, (2023), https: / / www.researchgate.net / profile / Hua-Xuan- Qin / publication / 370132434_Empowering_the_Metaverse_with_Generative_AI_Survey_and_Fut ure_Directions / links / 6442b55376364938df622b08 / Empowering-the-Metaverse-with-Generative- AI-Survey-and-Future-Directions.pdf.
[0095] [4] Stable Diffusion 2.1 Demo, STABILITYAI, https: / / huggingface.co / spaces / stabilityai / stable-diffusion.
[0096] [5] Tim Brooks, InstructPix2Pix Learning to Follow Image Editing Instructions,UNIVERSITY OF CALIFORNIA (2023), https: / / www.timothybrooks.com / instruct-pix2pix / .
[0097] [6] Sridhar Iyer, A Survey on Semantic Communications for Intelligent WirelessNetworks, SPRINGER (2022) https: / / orbilu.uni.lu / bitstream / 10993 / 54329 / l / sl 1277-022-10111- 7.pdf.
[0098] [7] Jianrui Chen, Age of Incorrect Information in Semantic Communications forNOMA Aided XR Applications, IEEE (2023), https: / / www.researchgate.net / publication / 370731040_Age_of_Incorrect_Information_in_Semant ic_Communications_for_NOMA_Aided_XR_Applications.
[0099] [8] Bowen Zhang, Semantic Sensing and Communications for Ultimate ExtendedReality, (2022), https: / / arxiv.org / pdf / 2212.08533.pdf.
Claims
CLAIMS1. A method (500) performed by a user equipment (UE), the method comprising: transmitting (s502) a first set of data; transmitting (s504) a data generation request message comprising delta data, wherein the delta data indicates a difference between the first set of data and a second set of data; receiving (s506) a data generation response message including candidate data that was generated using the first set of data and the delta data; determining (s508) whether the candidate data satisfies a condition; and as a result of determining that the candidate data satisfies the condition, transmitting (s510) a candidate response message responsive to the data generation response message, wherein the candidate response message indicates that the candidate data satisfies the condition.
2. The method of claim 1 , wherein the delta data comprise instructions on how to modify the first set of data to generate the second set of data.
3. The method of claim 2, wherein the instructions comprise a textual natural language description on how to modify the first set of data to generate the second set of data or a set of parameters indicating how to modify the first set of data to generate the second set of data.
4. The method of any of claims 1-3, wherein the first set of data comprises an image, a set of images (e.g., video stream), a set of audio frames, or an extended reality mesh.
5. The method of claim 4, wherein if the first set of data comprises the image, the delta data comprises an operation to be performed on the image, if the first set of data comprises the set of images, the delta data comprises an operation to be performed on the set of images or a textual description indicating how to modify the set of images,if the first set of data comprises the set of audio frames, the delta data comprises an operation to be performed on the set of audio frames or a textual description indicating how to modify the set of audio frames, and if the first set of data comprises the extended reality mesh, the delta data comprises a list of mesh transformation operations.
6. The method of any one of claims 1-5, wherein the method further comprises: transmitting a second data generation request message comprising second delta data, wherein: the second delta data indicates a difference between the first set of data and a third set of data, or the second delta data indicates a difference between the candidate data and the third set of data.
7. The method of any one of claims 1-6, wherein the method further comprises: transmitting destination data, wherein the destination data indicates a destination service for the candidate data, and the destination service and the UE are different.
8. The method of any one of claims 1-7, wherein the candidate data comprises a plurality of candidate data sets, and determining whether the candidate data satisfies the condition comprises determining one of the candidate data sets in the plurality of candidate data sets satisfies the condition.
9. The method of any one of claims 1-8, wherein the method further comprises: receiving an initial data generation response message including initial candidate data that was generated using the first set of data and the delta data; determining whether the initial candidate data satisfies the condition; and as a result of determining that the initial candidate data does not satisfy the condition, transmitting an initial candidate response message responsive to the initial data generation response message, wherein the initial candidate response message indicates that the initial candidate data does not satisfy the condition.
10. The method of any one of claims 1-9, wherein the method further comprises: determining that an upload data level is greater than a threshold, wherein the data generation request message is transmitted as a result of determining the upload data level is greater than the threshold; or receiving an upload level message, wherein the data generation request message is transmitted as a result of receiving the upload level message.
11. A method (600) performed by a computing device, the method comprising: receiving (s602) a first set of data; receiving (s604) a data generation request message comprising delta data, wherein the delta data indicates a difference between the first set of data and a second set of data, generating (s606) candidate data using the first set of data and the delta data; transmitting (s608) the candidate data; and receiving (s610) a response message, wherein the response message indicates that the candidate data satisfies a condition.
12. The method of claim 11, wherein the delta data comprise instructions on how to modify the first set of data to generate the candidate data.
13. The method of claim 12, wherein the instructions comprise a textual natural language description on how to modify the first set of data to generate the candidate data or a set of parameters indicating how to modify the first set of data to generate the candidate data.
14. The method of claim 11, wherein the first set of data comprises an image, a set of images (e.g., video stream), a set of audio frames, or an extended reality mesh.
15. The method of claim 11, wherein if the first set of data comprises the image, the delta data comprises an operation to be performed on the image,if the first set of data comprises the set of images, the delta data comprises an operation to be performed on the set of images or a textual description indicating how to modify the set of images, if the first set of data comprises the set of audio frames, the delta data comprises an operation to be performed on the set of audio frames or a textual description indicating how to modify the set of audio frames, and if the first set of data comprises the extended reality mesh, the delta data comprises a list of mesh transformation operations.
16. The method of any of claims 11-15, wherein the method further comprises: receiving a second data generation request message comprising second delta data, wherein: the second delta data indicates a difference between the first set of data and a third set of data, or the second delta data indicates a difference between the candidate data and the third set of data.
17. The method of any of claims 11-16, wherein transmitting the candidate data comprises transmitting the candidate data to a user equipment (UE), and the method further comprises: obtaining an indication of a destination service; and transmitting the candidate data to the destination service, wherein the destination service and the UE are different.
18. The method of any of claims 11-17, wherein the candidate data comprises a plurality of candidate data sets, and response message indicates one of the candidate data sets in the plurality of candidate data sets satisfies the condition.
19. The method of any of claims 11-18, wherein the method further comprises: generating an initial set of data using the first set of data and the delta data;transmitting the initial set of data to a user equipment (UE); and receiving an initial response message, wherein the initial response message indicates that the initial set of data does not satisfy the condition.
20. The method of any of claims 11-19, wherein the method further comprises: determining that an upload data level for a user equipment (UE) is greater than a threshold; and transmitting a data generation initiation message, wherein the data generation request message was transmitted in response to the data generation initiation message.
21. A method (700) performed by a user equipment (UE), the method comprising: transmitting (s702) a first set of data; generating (s704) a second set of data using a first data generating function (DGF), wherein the second set of data is generated based on the first set of data and a first parameter; and providing (s706) the first parameter to a remote computing device having access to a second DGF to enable the remote computing device to use the first set of data, the first parameter, and the second DGF to generate the second set of data.
22. The method of claim 21, wherein the method further comprises: generating a third set of data using the first DGF, wherein the third set of data is generated based on the first set of data and a second parameter; and selecting the second set of data from a plurality of sets of data including the second set of data and the third set of data, wherein the first parameter is transmitted as a result of the second set of data being selected.
23. The method of claim 21 or 22, wherein the method further comprises: receiving the first DGF.
24. The method of any of claims 21-23, wherein the method further comprises: transmitting an identifier of the DGF.
25. The method of any of claims 21-24, wherein the DGF is a machine learning model.
26. A computer program (843) comprising instructions (844) which when executed by processing circuitry (802) of a computing device (800) causes the computing device to perform the method of any one of claims 1-25.
27. A user equipment (UE), (800), the UE being configured to perform a method comprising: transmitting (s502) a first set of data; transmitting (s504) a data generation request message comprising delta data, wherein the delta data indicates a difference between the first set of data and a second set of data; receiving (s506) a data generation response message including candidate data that was generated using the first set of data and the delta data; determining (s508) whether the candidate data satisfies a condition; and as a result of determining that the candidate data satisfies the condition, transmitting (s510) a candidate response message responsive to the data generation response message, wherein the candidate response message indicates that the candidate data satisfies the condition.
28. The UE of claim 27, wherein the UE is further configured to perform the method of any one of claims 2-10.
29. A computing device (800), the computing device being configured to perform a method comprising: receiving (s602) a first set of data; receiving (s604) a data generation request message comprising delta data, wherein the delta data indicates a difference between the first set of data and a second set of data, generating (s606) candidate data using the first set of data and the delta data; transmitting (s608) the candidate data; and receiving (s610) a response message, wherein the response message indicates that the candidate data satisfies a condition.
30. The computing device of claim 29, wherein the computing device is further configured to perform the method of any one of claims 12-20.
31. A user equipment (UE) (800), the UE being configured to perform a method comprising: transmitting (s702) a first set of data; generating (s704) a second set of data using a first data generating function (DGF), wherein the second set of data is generated based on the first set of data and a first parameter; and providing (s706) the first parameter to a remote computing device having access to a second DGF to enable the remote computing device to use the first set of data, the first parameter, and the second DGF to generate the second set of data.
32. The UE of claim 31, wherein the UE is further configured to perform the method of any one of claims 22-25.
Citation Information
Patent Citations
A method for generating a delta file for in-place updating of memory content and a method for memory updating
EP3355184A1
Perception based predictive tracking for head mounted displays
US20140354515A1