System and method for controlling quality of service of data units via multiple communication layers
By identifying and processing multiple sets of data packets associated with the output of a specific application layer, and performing packet processing based on group-level characteristics or group-specific characteristics, it is solved that it is difficult to effectively control the data unit QoS in multiple communication layers in the prior art. The problem of this paper realizes more efficient and efficient packet processing and QoS control.
Patent Information
- Application Number
- CN202380048890.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-22
- Filing Date
- 2023-08-23
- Publication Date
- 2025-02-14
AI Technical Summary
The prior art is difficult to effectively control the quality of service (QoS) of data units in multiple communication layers, especially in non-interruptible transmission scenarios where multiple types of communications are required to provide a variety of types of communications according to user needs.
By identifying multiple sets of packets associated with a specific application layer output and processing based on the specific delay characteristics shared by each set of packets, multiple packets are concurrently processed using group-level characteristics or group-specific characteristics. For example, control the processing of data packets by specifying QoS levels.
A more efficient and efficient packet processing method is implemented, and packet forwarding and discarding can be performed according to group-level characteristics or group-specific characteristics, thereby effectively controlling the QoS of the data unit in multiple communication layers.
Smart Images

Figure CN119452620A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 63 / 400,282, filed on August 23, 2022, entitled “SYSTEMS AND METHODS OF CONFIGURING PROTOCOL DATA UNIT SETS,” all of which are hereby incorporated by reference in their entirety and for all purposes as if fully and adequately set forth herein. Technical Field
[0003] The present embodiments generally relate to communications, including but not limited to controlling quality-of-service (QoS) of data units via multiple communication layers. Background Art
[0004] Users are increasingly demanding better access to information in greater quantities and with lower latency. Users are also increasingly demanding interactive content or instant communications to be provided through a wider range of computing platforms. However, various computing platforms may lack such a communication framework: the communication framework is sufficient to provide uninterrupted transmission of multiple types of communications according to user needs. Summary of the invention
[0005] The technical solution at least relates to: identifying multiple groups of data packets associated with a specific application layer output; and processing the multiple groups of data packets based on specific latency characteristics common to each group of data packets. For example, a data packet may include a protocol data unit (PDU), and a group of data packets may include a PDU set. For example, an application layer output may include a single frame of a video sent as multiple data packets. Here, each data packet or PDU may be associated with a specific frame, and a data packet group or PDU set may include all data packets associated with the specific frame. A frame may include a video frame, for example. The technical solution may provide such a technical improvement: the technical improvement at least includes a more efficient and / or more effective method for processing data packets or PDUs (e.g., forwarding and / or discarding PDUs). Specifically, multiple data packets (e.g., multiple PDUs) in a specific group (e.g., a PDU set) may be processed concurrently based on group-level characteristics or group-specific characteristics, rather than on characteristics specific to a single packet / PDU. For example, the group-level characteristics or group-specific characteristics may include a QoS level specified on a per-PDU set basis. For example, one or more PDU sets may be associated with one or more different QoS levels, each QoS level being associated with a specific single PDU set.Therefore, a technical solution for controlling QoS of data units via multiple communication layers is provided.
[0006] At least one aspect relates to a method. The method may include: identifying, by a wireless communication device, one or more of a plurality of data units corresponding to one or more communication types, respectively. The method may include: determining, by a wireless communication device, one or more parameters from one or more of the plurality of data units according to the one or more communication types, each parameter indicating the importance level of a corresponding data unit in the plurality of data units. The method may include: selecting, by a wireless communication device, one or more selected data units corresponding to parameters satisfying a second heuristic from one or more of the plurality of data units according to one or more of the one or more parameters satisfying a first heuristic, the first heuristic indicating a communication type in the one or more communication types, the second heuristic corresponding to a QoS level for the communication type. The method may include: sending, by a wireless communication device, one or more of the one or more selected data units according to the second heuristic.
[0007] At least one aspect relates to a system. The system may include a memory and one or more processors. The system may: identify one or more of a plurality of data units corresponding to one or more communication types, respectively, through a wireless communication device. The system may: determine one or more parameters from one or more of the plurality of data units according to one or more communication types through a wireless communication device, each parameter indicating the importance level of a corresponding data unit in the plurality of data units. The system may: select one or more selected data units corresponding to parameters satisfying a second probe from one or more of the plurality of data units through a wireless communication device according to one or more of the one or more parameters satisfying a first probe, the first probe indicating a communication type in the one or more communication types, and the second probe corresponding to a QoS level for the communication type. The system may: send one or more of the one or more selected data units through a wireless communication device according to the second probe.
[0008] At least one aspect relates to a non-transitory computer-readable medium, which may include one or more instructions stored thereon and capable of being executed by a processor. The processor may: identify one or more of a plurality of data units corresponding to one or more communication types, respectively. The processor may: determine one or more parameters from one or more of the plurality of data units based on the one or more communication types, each parameter indicating the importance of a corresponding data unit in the plurality of data units. The processor may: select one or more selected data units corresponding to parameters satisfying a second probe from one or more of the plurality of data units based on one or more of the one or more parameters satisfying a first probe, the first probe indicating a communication type in the one or more communication types, and the second probe corresponding to a QoS level for the communication type. The processor may: send one or more of the one or more selected data units based on the second probe. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] These and other aspects and features of the present embodiments are depicted by way of example in the drawings discussed herein. The present embodiments may relate to, but are not limited to, the examples depicted in the drawings discussed herein. Therefore, the present disclosure is not limited to any drawings or portions thereof depicted or referenced herein, or any aspects described herein with respect to any drawings depicted or referenced herein.
[0010] Figure 1 is a schematic diagram of a system environment including an artificial reality system according to an example embodiment of the present disclosure.
[0011] Figure 2 is a schematic diagram of a head wearable display according to an exemplary embodiment of the present disclosure.
[0012] Figure 3 is a block diagram of a computing environment according to an example implementation of the present disclosure.
[0013] Figure 4 An example transport architecture is depicted according to example implementations of the present disclosure.
[0014] Figure 5 An example communication architecture is depicted according to an example implementation of the present disclosure.
[0015] Figure 6 An example service layer architecture is depicted according to example implementations of the present disclosure.
[0016] Figure 7 A wireless layer architecture according to an example implementation of the present disclosure is depicted.
[0017] Figure 8 A method of controlling QoS of a data unit via multiple communication layers according to an example embodiment of the present disclosure is described.
[0018] Fig. 9 A method of controlling QoS of a data unit via multiple communication layers according to an example embodiment of the present disclosure is described. DETAILED DESCRIPTION
[0019] Various aspects of the technical solution are described herein with reference to the accompanying drawings, which are illustrative examples of the technical solution. The following drawings and examples are not intended to limit the scope of the technical solution to this embodiment or to a single embodiment, and other embodiments according to the present embodiment are possible, such as by replacing some or all of the elements described or shown in each element. In the case where known components can be used to partially or completely implement certain elements of the present embodiment, only those parts necessary for understanding the present embodiment are described in these known components, and detailed descriptions of other parts of these known components are omitted to avoid blurring the present embodiment. Unless explicitly stated herein, the terms in the specification and claims should not be given uncommon or special meanings. In addition, the present technical solution and the present embodiment cover the current known equivalents and future known equivalents of the known components cited by description, illustration or example herein.
[0020] Artificial realities such as virtual reality (VR), augmented reality (AR), or mixed reality (MR) provide an immersive experience to users. In one example, a user wearing a head wearable display (HWD) can turn his head, and an image of a virtual object corresponding to the position of the HWD and the user's gaze direction can be displayed on the HWD to allow the user to feel as if he is moving in an artificial reality space (e.g., VR space, AR space, or MR space). The image of the virtual object can be generated by a console that is communicatively coupled to the HWD. In some embodiments, the console can access a network.
[0021] A packet group or PDU set may be associated with different QoS levels (e.g., QoS requirements). For example, each packet group (or PDU set) may be assigned to a corresponding QoS level so that all packets / PDUs in a packet group (or PDU set) may support or be subject to the single QoS level. The QoS level may include a priority for transmitting / processing a PDU, and / or an acceptable packet error rate or error rate threshold for transmitting a PDU. The QoS level may include a delay requirement that indicates the maximum allowable delay associated with a particular transmission. For example, a first packet group associated with a first video frame may have a delay requirement of 30 milliseconds (ms) (e.g., corresponding to a first QoS), while a second packet group associated with a second video frame may have a delay requirement of 90ms (e.g., corresponding to a second QoS), and may be presented 60ms later than the first video frame. The present technical solution may map each packet in a packet group (e.g., a PDU set) to a corresponding data radio bearer (DRB) or channel. For example, the technical solution may include a mechanism for performing one or more of the operations discussed herein (e.g., forwarding PDUs, discarding PDUs, aggregating PDUs into PDU sets, mapping PDU sets to DRBs and / or QoS levels) at / in layer 2 (e.g., on one or more sublayers of layer 2), the AS layer (e.g., on one or more sublayers of the AS layer), and / or the Service Data Adaptation Protocol (SDAP) layer.
[0022] The technical solution may include, for example, performing aggregation / packaging / grouping / combining of IP packets (PDUs) belonging to the same PDU set into a single packet / frame (e.g., for mapping to the same DRB) at the SDAP layer. In some embodiments, if no packets / PDUs belonging to the PDU set are lost, aggregation into a single packet / frame and / or subsequent transmission of a single packet / frame may be achieved. For example, if there is packet loss, the SDAP layer may not be able to complete the aggregation and / or may not be able to send a single packet / frame. In some embodiments, aggregation into a single packet / frame may be achieved when the number of lost packets is within a limit / threshold (e.g., this can be remedied via redundancy processing).
[0023] The technical solution may include redundancy processing, which is used to recover the data carried in the PDU set (or data packet group) based on a specific number or percentage of PDUs (or data packets) successfully received in the PDU set. Because some PDUs in the PDU set are lost, the number of PDUs received may be less than the total number of data packets sent in the PDU set (data packet group). The technical solution may include a discard timer, which is used to discard one or more data packets (for example, not becoming available in the buffer for transmission before the expiration time of the discard timer). In some embodiments, if the destination supports redundancy processing and data recovery (for example, when the number of discarded packets is less than a defined threshold), the solution can aggregate those PDUs available in the buffer (for example, aggregate into a PDU set or frame) and send it to the destination. When the number of discarded packets from the PDU set is equal to or greater than a defined threshold, the solution can discard the PDU or the PDU set (for example, at the sender or at the destination). For example, in a data packet group with 25% redundancy processing, less than 75% of the data packets received within a predetermined time period will cause the data packet group to be discarded. In some other embodiments, if any one or more PDUs in the PDU set are discarded / lost, the SDAP layer, for example, may determine not to aggregate the remaining PDUs and / or send / forward the remaining PDUs to a destination.
[0024] In some embodiments, the application layer has a first QoS requirement and the PDU set has a second QoS requirement. When the Session Description Protocol (SDP) layer maps the PDU set to the DRB, the QoS level resulting from the mapping may be combined with one or both of the first QoS requirement and the second QoS requirement. For example, the resulting QoS level may be a function of the first QoS requirement and the second QoS requirement, or some or all of the first QoS requirement may override the second QoS requirement, or some or all of the second QoS requirement may override the first QoS requirement. For example, the function may include a weighted sum of the corresponding QoS requirements.
[0025] Various discard operations, sending / forwarding operations, and / or mapping operations may be specified or configured according to one or more rules (e.g., mapping rules, discard rules, forwarding rules), and various discard operations, sending / forwarding operations, and / or mapping operations may be implemented in any one or more layers / sublayers of the above-mentioned layers / sublayers (e.g., in the SDAP layer). The one or more layers / sublayers of the layers / sublayers may apply the one or more rules to perform discarding, sending / forwarding, and / or mapping.
[0026] Figure 1 is a block diagram of an example artificial reality system environment 100 in which a console 110 operates. Figure 1 The following example environment is provided: in this environment, devices can transmit traffic streams with different latency sensitivities / requirements. In some embodiments, the artificial reality system environment 100 includes a HWD 150 worn by a user, and a console 110 that provides artificial reality content to the HWD 150. The HWD may be referred to as, include, or be part of a head-mounted display (HMD), a head-mounted device (HMD), a head wearable device (HWD), a head-worn display (HWD), or a head-worn device (HWD). In one aspect, the HWD 150 may include various sensors for detecting the position, orientation, and / or gaze direction of the user wearing the HWD 150, and providing the detected position, orientation, and / or gaze direction to the console 110 via a wired connection or a wireless connection. The HWD 150 may also identify an object (e.g., body, hand, face).
[0027] The console 110 may determine a field of view within the artificial reality space corresponding to the detected position, orientation, and / or gaze direction, and generate an image depicting the determined field of view. The console 110 may also receive one or more user inputs and modify the image based on the user inputs. The console 110 may provide the image to the HWD 150 for rendering. An image of the artificial reality space corresponding to the user's field of view may be presented to the user. In some embodiments, the artificial reality system environment 100 includes a plurality of Figure 1 The components shown may be more components, fewer components, or include components similar to those shown. Figure 1In some embodiments, the functionality of one or more components in artificial reality system environment 100 may be distributed among the components in a manner different from that described herein. For example, some functions of console 110 may be performed by HWD 150, and / or some functions of HWD 150 may be performed by console 110.
[0028] In some embodiments, HWD 150 is an electronic component that can be worn by a user and can present or provide an artificial reality experience to the user. HWD 150 can render one or more images, videos, audio, or some combination thereof to provide an artificial reality experience to the user. In some embodiments, audio is presented via an external device (e.g., a speaker and / or headphones) that receives audio information from HWD 150, console 110, or both and presents audio based on the audio information. In some embodiments, HWD 150 includes sensor 155, eye tracker 160, communication interface 165, image renderer 170, electronic display 175, lens 180, and compensator 185. These components can operate together to detect the position of HWD 150 and / or the gaze direction of the user wearing HWD 150, and render an image of a field of view corresponding to the detected position of HWD 150 and / or the gaze direction of the user within the artificial reality. In other embodiments, HWD 150 includes a sensor 155, an eye tracker 160, a communication interface 165, an image renderer 170, an electronic display 175, a lens 180, and a compensator 185. Figure 1 The components shown may be more components, fewer components, or include components similar to those shown. Figure 1 The components shown in the figure are different components.
[0029] In some embodiments, sensor 155 includes electronic components that detect the position and / or orientation of HWD 150, or electronic components and software multiple gyroscopes, one or more magnetometers, or another suitable type of sensor that detects motion and / or position. For example, one or more accelerometers can measure translational motion (e.g., forward / backward, up / down, left / right), and one or more gyroscopes can measure rotational motion (e.g., pitch, yaw, roll). In some embodiments, sensor 155 detects translational motion and / or rotational motion and determines the orientation and position of HWD 150. In one aspect, sensor 155 can detect translational motion and / or rotational motion relative to the previous orientation and position of HWD 150, and determine the new orientation and / or position of HWD 150 by accumulating or integrating the detected translational motion and / or rotational motion. For example, assuming that HWD 150 is facing a direction 25 degrees from a reference direction, sensor 155 may determine that HWD 150 is now facing or facing a direction 45 degrees from the reference direction in response to detecting that HWD 150 has turned 20 degrees. For another example, assuming that HWD 150 is located two feet away from a reference point in a first direction, sensor 155 may determine that HWD 150 is now located at the vector product of two feet in the first direction and three feet in the second direction in response to detecting that HWD 150 has moved three feet in the second direction.
[0030] In some embodiments, the eye tracker 160 includes an electronic component, or a combination of an electronic component and a software component, that determines a gaze direction of a user of the HWD 150. In some embodiments, the HWD 150, the console 110, or the combination can generate image data for artificial reality in conjunction with the gaze direction of the user of the HWD 150. In some embodiments, the eye tracker 160 includes two eye trackers, each of which captures an image of a corresponding eye and determines a gaze direction of the eye. In one example, the eye tracker 160 determines an angular rotation of the eye, a translation of the eye, a torsional change of the eye, and / or a shape change of the eye based on the captured eye image, and determines a relative gaze direction relative to the HWD 150 based on the determined angular rotation of the eye, the translation of the eye, and the torsional change of the eye. In one approach, the eye tracker 160 may illuminate or project a predetermined reference pattern or structured pattern on a portion of an eye, and capture an image of the eye to analyze the pattern projected on the portion of the eye to determine a relative gaze direction of the eye relative to the HWD 150. In some embodiments, the eye tracker 160 determines the gaze direction of the user in conjunction with the orientation of the HWD 150 and the relative gaze direction relative to the HWD 150. For example, assuming that the HWD 150 is oriented in a direction 30 degrees from the reference direction, and the relative gaze direction of the HWD 150 relative to the HWD 150 is -10 degrees (or 350 degrees), the eye tracker 160 may determine that the gaze direction of the user is 20 degrees from the reference direction. In some embodiments, the user of the HWD 150 may configure the HWD 150 (e.g., via user settings) to enable or disable the eye tracker 160. In some embodiments, the user of the HWD 150 is prompted to enable or disable the eye tracker 160.
[0031] In some embodiments, hand tracker 162 includes electronic components, or a combination of electronic components and software components, that track a user's hand. In some embodiments, hand tracker 162 includes, or is coupled to, an imaging sensor (e.g., a camera) and an image processor that can detect the shape, position, and / or orientation of a hand. Hand tracker 162 can generate hand tracking measurements that indicate the shape, position, and / or orientation of the detected hand.
[0032] In some embodiments, the communication interface 165 includes an electronic component, or a combination of an electronic component and a software component, that communicates with the console 110. The communication interface 165 can communicate with the communication interface 115 of the console 110 via a communication link. The communication link can be a wireless link, a wired link, or both. Examples of wireless links can include a cellular communication link, a near field communication link, Wi-Fi, Bluetooth, or any wireless communication link for communication. Examples of wired links can include a universal serial bus (USB), Ethernet, Firewire, a high-definition multimedia interface (HDMI), or any wired communication link. In an embodiment where the console 110 and the HWD 150 are implemented on a single system, the communication interface 165 can communicate with the console 110 via a bus connection or a conductive trace. Through the communication link, the communication interface 165 can send sensor measurements to the console 110, which indicate the determined position of the HWD 150, the orientation of the HWD 150, the determined gaze direction of the user, and / or hand tracking measurements. Additionally, via the communication link, the communication interface 165 may receive instructions from the console 110 or sensor measurements corresponding to an image to be rendered.
[0033] The console 110 (or HWD 150) may use the communication interface to coordinate operations on the link 101 to reduce conflicts or interference. For example, the console 110 may coordinate communications between the console 110 and the HWD 150. In some embodiments, the console 110 may periodically send a beacon frame to announce / notify that a wireless link exists between the console 110 and the HWD 150 (or between two HWDs). In one embodiment, the HWD 150 may monitor or receive beacon frames from the console 110, and may schedule communications with the HWD 150 (e.g., using information in the beacon frame, such as an offset value) to avoid conflicts with or interference with communications between the console 110 and / or the HWD 150 and other devices.
[0034] The console 110 and the HWD 150 may communicate using a link 101 (e.g., an inline link). Data (e.g., a traffic flow) may flow in the direction of the link 101. For example, the console 110 may communicate using a downlink (DL) communication to the HWD 150, and the HWD 150 may communicate using an uplink (UL) communication to the console 110.
[0035] In some embodiments, the image renderer 170 includes, for example, an electronic component that generates one or more images for display according to a change in the field of view in the artificial reality space, or a combination of an electronic component and a software component. In some embodiments, the image renderer 170 is implemented as a processor (or a graphics processing unit (GPU)) that executes instructions to perform the various functions described herein. The image renderer 170 can receive data describing the image to be rendered through the communication interface 165, and then render the image through the electronic display 175. In some embodiments, the data from the console 110 can be encoded, and the image renderer 170 can decode the data to generate and render an image. In one aspect, the image renderer 170 receives an encoded image from the console 110 and decodes the encoded image so that the communication bandwidth between the console 110 and the HWD 150 can be reduced.
[0036] In some embodiments, the image renderer 170 receives additional data from the console 110, the additional data including object information indicating a virtual object in the artificial reality space, and information indicating the depth (or distance from the HWD 150) of the virtual object. Accordingly, the image renderer 170 may receive the object information and / or depth information from the console 110. The image renderer 170 may also receive updated sensor measurements from the sensors 155. The following process may be computationally expensive and may not be performed within a frame time (e.g., less than 11ms or 8ms): detecting the position and orientation of the HWD 150, and / or the gaze direction of the user wearing the HWD 150 by the HWD 150, and generating a high-resolution image (e.g., 1920 by 1080 pixels, or 2048 by 1152 pixels) corresponding to the detected position and gaze direction by the console 110 and sending the high-resolution image to the HWD 150.
[0037] In some embodiments, the image renderer 170 may perform shading, reprojection, and / or blending to update the artificial reality image to correspond to the updated position and / or orientation of the HWD 150. Assuming that the user turns his head after the initial sensor measurement, the image renderer 170 may generate a small portion (e.g., 10%) of the image corresponding to the updated field of view in the artificial reality based on the updated sensor measurement results, and append the portion to the image in the image data from the console 110 by reprojection, rather than reconstructing the entire image in response to the updated sensor measurement results. The image renderer 170 may perform shading and / or blending on the additional edges. Thus, the image renderer 170 can generate an image of the artificial reality without reconstructing the image of the artificial reality based on the updated sensor measurement results.
[0038] In other embodiments, when no image is received from the console 110 within a frame time, the image renderer 170 generates one or more images through a shading process and a re-projection process. For example, the shading process and the re-projection process may be adaptively performed according to a change in the field of view in the artificial reality space.
[0039] In some embodiments, the electronic display 175 is an electronic component that displays an image. The electronic display 175 may be, for example, a liquid crystal display or an organic light-emitting diode (OLED) display. The electronic display 175 may be a transparent display that allows the user to see through. In some embodiments, when the user wears the HWD 150, the electronic display 175 is located near the user's eyes (e.g., less than 3 inches). In one aspect, the electronic display 175 emits light or projects light toward the user's eyes according to the image generated by the image renderer 170.
[0040] In some embodiments, lens 180 is a mechanical component that changes the light received from electronic display 175. Lens 180 can magnify the light from electronic display 175 and correct the optical errors associated with the light. Lens 180 can be a Fresnel lens, a convex lens, a concave lens, a filter, or any suitable optical component that changes the light from electronic display 175. Although electronic display 175 is very close to both eyes, light from electronic display 175 can still pass through lens 180 to the pupil so that the user can see the image displayed by electronic display 175.
[0041] In some embodiments, compensator 185 includes electronic components, or a combination of electronic components and software components, that compensate for any distortion or aberration. In one aspect, lens 180 introduces optical aberrations (e.g., chromatic aberration), pincushion distortion, barrel distortion, etc. Compensator 185 can determine compensation (e.g., pre-distortion) to be applied to an image to be rendered by image renderer 170 to compensate for the distortion caused by lens 180, and apply the determined compensation to the image from image renderer 170. Compensator 185 can provide the pre-distorted image to electronic display 175.
[0042] In some embodiments, console 110 is an electronic component, or a combination of electronic and software components, that provides content to be rendered to HWD 150. In one aspect, console 110 includes communication interface 115 and content provider 130. These components can operate in conjunction to determine a field of view of an artificial reality corresponding to the position of HWD 150 and / or the gaze direction of a user of HWD 150 (e.g., the user's field-of-view (FOV)), and can generate an image of the artificial reality corresponding to the determined field of view. In other embodiments, console 110 includes more than one component. Figure 1 The components shown may be more components, fewer components, or include components similar to those shown. Figure 1 150. In some embodiments, the console 110 is integrated as part of the HWD 150. In some embodiments, the communication interface 115 is an electronic component, or a combination of an electronic component and a software component, that communicates with the HWD 150. The communication interface 115 can be a corresponding component of the communication interface 165, which communicates with the communication interface 115 of the console 110 via a communication link (e.g., a USB cable, a wireless link). Through the communication link, the communication interface 115 can receive sensor measurements from the HWD 150, which indicate the determined position and / or orientation of the HWD 150, the determined gaze direction of the user, and / or hand tracking measurements. In addition, through the communication link, the communication interface 115 can send data describing the image to be rendered to the HWD 150.
[0043] The content provider 130 may include or correspond to a component that generates content to be rendered based on the position and / or orientation of the HWD 150, the gaze direction of the user, and / or the hand tracking measurement results. In one aspect, the content provider 130 determines the field of view of the artificial reality based on the position and orientation of the HWD 150, and / or the gaze direction of the user of the HWD 150. For example, the content provider 130 maps the position of the HWD 150 in the physical space to a position in the artificial reality space, and determines the field of view of the artificial reality space from the mapped position in the artificial reality space along a direction corresponding to the orientation of the HWD 150 and / or the gaze direction of the user.
[0044] The content provider 130 may generate image data describing an image of the determined artificial reality space field of view and send the image data to the HWD 150 via the communication interface 115. The content provider 130 may also generate a hand model (or other virtual object) corresponding to the user's hand based on the hand tracking measurements and generate hand model data indicating the shape, position, and orientation of the hand model in the artificial reality space.
[0045] In some embodiments, the content provider 130 generates metadata associated with the image (including motion vector information, depth information, edge information, object information, etc.), and sends the metadata and the image data to the HWD 150 through the communication interface 115. The content provider 130 may encode the data describing the image, and may send the encoded data to the HWD 150. In some embodiments, the content provider 130 generates an image periodically (e.g., every second) and provides the image to the HWD 150.
[0046] Figure 2 2 is a schematic diagram 200 of HWD 150 according to an example embodiment. In some embodiments, HWD 150 includes a front rigid body 205 and a belt 210. Front rigid body 205 includes: electronic display 175 ( Figure 2 Not shown), lens 180 ( Figure 2 ), sensor 155, eye tracker 160, communication interface 165, and image renderer 170. Figure 2 In the illustrated embodiment, the sensor 155 is located within the front rigid body 205 and may not be visible to the user. In other embodiments, the HWD 150 may have a Figure 2 For example, the image renderer 170, the eye tracker 160 and / or the sensor 155 may be located in a different configuration than that shown in FIG. Figure 2 The positions shown in the figure are different positions.
[0047] Various operations described herein can be implemented on a computer system. Figure 3 300 shows a block diagram of a representative computing system 314 capable of implementing the present disclosure. In some embodiments, the console 110, the HWD 150, or both ( Figure 1 ) can be implemented by a computing system 314. The computing system 314 can be implemented, for example, by a consumer electronic device, such as a smartphone, other mobile phone, tablet computer, wearable computing device (e.g., smart watch, glasses, HWD), desktop computer, laptop computer; or can be implemented using a distributed computing device. The computing system 314 can be implemented to provide a VR experience, an AR experience, an MR experience. In some embodiments, the computing system 314 may include traditional computer components, such as a processing unit 316, a storage device 318, a network interface 320, a user input device 322, and a user output device 324.
[0048] The network interface 320 may provide a connection to a wide-area-network (WAN) (e.g., the Internet), to which a WAN interface of a remote server system is also connected. The network interface 320 may include a wired interface (e.g., Ethernet) and / or a wireless interface that implements various radio frequency (RF) data communication standards, such as Wi-Fi, Bluetooth, or cellular data network standards (e.g., 3G, 4G, 5G, 60 GHz, Long Term Evolution (LTE), etc.).
[0049] The network interface 320 may include a transceiver to allow the computing system 314 to send data to a remote device (e.g., an access point (AP), a station (STA)) using a transmitter and to receive data from a remote device using a receiver. The transceiver may be configured to support such transmission / reception: the transmission / reception supports industrial standards for implementing two-way communication. An antenna may be attached to the transceiver housing and electrically coupled to the transceiver. Additionally or alternatively, a multi-antenna array may be electrically coupled to the transceiver so that multiple beams pointing in different directions may facilitate sending and / or receiving data.
[0050] The transmitter may be configured to wirelessly transmit a frame, time slot, or symbol generated by the processing unit 316. Similarly, the receiver may be configured to receive a frame, time slot, or symbol, and the processing unit 316 may be configured to process the frame. For example, the processing unit 316 may be configured to determine the type of frame and process the frame and / or fields of the frame accordingly.
[0051] User input device 322 may include any device (or devices) via which a user may provide signals to computing system 314. Computing system 314 may interpret these signals as indicating a particular user request or information. User input device 322 may include any or all of the following: a keyboard; a touch pad; a touch screen; a mouse or other pointing device; a scroll wheel; a click wheel; a dial; a button; a switch; a keypad; a microphone; and sensors (e.g., motion sensors, eye tracking sensors, etc.), among others.
[0052] User output device 324 may include any device via which computing system 314 can provide information to a user. For example, user output device 324 may include a display for displaying images generated by or delivered to computing system 314. The display may be combined with various image generation technologies and supporting electronic devices (e.g., digital-to-analog converters or analog-to-digital converters, or signal processors, etc.), such as liquid crystal displays (LCDs), light-emitting diodes (LEDs) (including OLEDs), projection systems, or cathode ray tubes (CRTs), etc. Devices that act as both input devices and output devices, such as touch screens, may be used. Output device 324 may be provided in addition to or in place of a display. Examples include indicator lights, speakers, tactile "display" devices, and printers, etc.
[0053] Some embodiments include electronic components storing computer program instructions in computer-readable storage media (e.g., non-transient computer-readable media), such as microprocessors, storage devices, and memories. Many of the multiple features described in this specification may be implemented as a process: the process is specified as a set of program instructions encoded on a computer-readable storage medium. These program instructions, when executed by one or more processors, cause the processor to perform the various operations indicated in these program instructions. Examples of program instructions or computer codes include machine codes and files, which are generated, for example, by a compiler, and the files include high-level codes executed by a computer, electronic component, or microprocessor using an interpreter. Through suitable programming, the processing unit 316 can provide various functions for the computing system 314, including any of the following: functions described herein as being executed by a server or client, or other functions associated with a message management service.
[0054] It will be understood that computing system 314 is illustrative and various variations and modifications may be made. The computer system used in conjunction with the present disclosure may have other capabilities not explicitly described herein. In addition, although computing system 314 is described with reference to specific blocks, it should be understood that these blocks are defined for the convenience of description and are not intended to imply a specific physical arrangement of component parts. For example, different blocks may be located in the same facility, in the same server rack, or on the same motherboard. In addition, these blocks do not have to correspond to physically different components. Each block may be configured to perform various operations, for example, by programming a processor or providing appropriate control circuits, and various blocks may or may not be reconfigurable, depending on how to achieve the initial configuration. Embodiments of the present disclosure may be implemented in a variety of devices, including electronic devices implemented using any combination of circuits and software.
[0055] A packet group or PDU set may be associated with different QoS levels (e.g., QoS requirements) differently. For example, each packet group (or PDU set) may be assigned to a corresponding QoS level so that all packets / PDUs in a packet group (or PDU set) may support or be subject to the single QoS level. The QoS level may include a priority for transmitting / processing a PDU, and / or an acceptable packet error rate or error rate threshold for transmitting a PDU. The QoS level (or QoS characteristics / parameters) may include, for example, a priority level, a packet delay budget, a packet error rate, a maximum data burst size, and / or an averaging window.
[0056] The present technical solution includes a PDU set, which may contain content with a specific application layer output (e.g., a video frame or an audio frame) that is considered to be self-correlated. The present technical solution may combine the attributes of individual PDUs into the PDU set. The present technical solution may control packet traffic based on the correlation of the PDU set, and may provide more efficient wireless utilization and device power management by selectively performing transmission based on parameters (e.g., including a transport block size (TBS) size parameter).
[0057] The PDU set may include multiple slices based on at least one or more i-frames, one or more p-frames, and / or one or more b-frames. For example, an i-frame may be a reference frame, a p-frame may refer to an i-frame, and a b-frame may refer to both a p-frame and an i-frame. For example, an i-slice may be a reference slice, a p-slice may refer to an i-slice, and a b-slice may refer to both a p-slice and an i-slice. The technical solution may provide such technical improvements: in a specific scenario, the delivery of a video data packet is prioritized over the delivery of an audio data packet, and / or in a specific scenario, the delivery of an audio data packet is prioritized over the delivery of a video data packet.
[0058] Figure 4 An example transmission architecture according to the present embodiment is depicted. Figure 4 As shown in the example of , the example transmission architecture 400 may include at least a first burst 402 , a second burst 404 , a third burst 406 , and a plurality of PDUs 440 .
[0059] The first burst 402 may correspond to a portion of a transmission according to the link 101. For example, the first burst 402 may include a first plurality of PDU sets corresponding to a first transmission according to a duty cycle or a transmission cycle. The first burst 402 may include a first PDU set 410 and a second PDU set 412.
[0060] The first PDU set 410 may include one or more PDUs, each corresponding to any type of extended reality (XR) (or other) service. For example, the first PDU set 410 may correspond to a game session communication having a first parameter associated therewith. For example, the first parameter may include a priority for minimizing latency of a video of the game session, a QoS requirement, or any combination thereof.
[0061] The second PDU set 412 may include one or more PDUs, each PDU corresponding to any type of specific XR service. For example, the second PDU set 412 may correspond to a video call communication having a second parameter associated with it. For example, the second parameter may include a priority, a QoS requirement, or any combination thereof to minimize the latency of the audio of the video call session. The second PDU set 412 may be sent after the first PDU set 410. Although various types of XR services are discussed by way of example, the first PDU set 410 and the second PDU set 412 may relate to any type of similar, identical, or different services.
[0062] The second burst 404 may include one or more PDUs, each corresponding to a specific XR service. For example, the second burst 404 may be sent after the first burst 402 according to any duty cycle or delay. The second burst 404 may correspond at least partially to the first burst 402 in one or more of the structure and operation. The second burst 404 may include a third PDU set 420, a fourth PDU set 422, and a fifth PDU set 424. The third PDU set 420 may correspond at least partially to at least one of the PDU sets 410 or 412 in one or more of the structure and operation. The third PDU set 420 may be sent after the second PDU set 412. The fourth PDU set 422 may correspond at least partially to at least one of the PDU sets 410, 412, or 420 in one or more of the structure and operation. The fourth PDU set 422 may be sent after the third PDU set 420. The fifth PDU set 424 may correspond at least partially in one or more of structure and operation to at least one of the PDU sets 410, 412, 420, or 422. The fifth PDU set 424 may be transmitted after the fourth PDU set 422. The third PDU set 420, the fourth PDU set 422, and the fifth PDU set 424 may relate to any type of similar, identical, or different traffic with respect to each other, with respect to at least one of the PDU sets 410 or 412, or any combination thereof.
[0063] The third burst 406 may include one or more PDUs, each corresponding to a specific XR service. For example, the third burst 406 may be sent after the second burst 404 according to any duty cycle or delay. The third burst 406 may correspond at least partially to at least one of the first burst 402 or the second burst 404 in one or more of structure and operation. The third burst 406 may include a sixth PDU set 430.
[0064] The sixth PDU set 430 may correspond at least partially in one or more of structure and operation to at least one of the PDU sets 410, 412, 420, 422, or 424. The sixth PDU set 430 may be sent after the fifth PDU set 424. The sixth PDU set 430 may relate to any type of similar, identical, or different traffic relative to each other, relative to at least one of the PDU sets 410, 412, 420, 422, or 424, or any combination thereof.
[0065] Each PDU 440 may include a corresponding payload indicating the XR service content, and may include one or more parameters identifying one or more of the following: the PDU, the PDU set corresponding to the PDU, the correlation between the PDU and another PDU other than the PDU, the correlation between the PDU set including the PDU and another PDU set other than the PDU set including the PDU, or any combination thereof. Each PDU 440 may include any number and type of parameters and payloads, and may include a combination of the following: similar parameters or payloads, the same parameters or payloads, or different parameters or payloads.
[0066] Figure 5 An example communication architecture according to the present embodiment is depicted. Figure 5 As shown in the example in , the example communication architecture 500 may include at least an application layer 502, a service layer 504, a radio layer (e.g., a wireless link layer) 506, and application communication 510. For example, the architecture 500 may correspond to the console 110 or the head wearable display 150.
[0067] The application layer 502 may correspond to instructions generated, sent, and received at or by an application of the architecture 500. For example, the application layer 502 may process and route communications from one or more applications executed at the application layer 502. For example, the application may correspond to one or more of the following: a video call application, a game application, an audio call application, or any combination thereof. The application layer may have a first QoS requirement, and the PDU set may have a second QoS requirement. When the SDP layer maps the PDU set to the DRB, the QoS level resulting from the mapping may be combined with one or both of the first QoS requirement and the second QoS requirement. For example, the resulting QoS level may be a function of the first QoS requirement and the second QoS requirement, or some or all of the first QoS requirement may override the second QoS requirement, or some or all of the second QoS requirement may override the first QoS requirement. For example, the function may include a weighted sum of the corresponding QoS requirements.
[0068] Each application may include one or more application communications 510, each corresponding to a respective communication type corresponding to a plurality of applications (e.g., video data, audio data, or a video call / game session with multiple channels). Each application communication 510 may each correspond to a communication type. For example, an application communication 510 may correspond to a content type sent or received by an application in the application layer 502. For example, the content type may correspond to call video, call audio, game video, game audio, game data, call metadata, or any combination thereof. For example, an application communication 510 may correspond to the format of a communication sent or received by an application of the application layer 502. For example, the format of the communication may correspond to any encoding, bandwidth, compression, or combination thereof, or any combination thereof, corresponding to a particular application communication 510.
[0069] The service layer 504 may convert one or more of the application communications 510 to one or more corresponding links 101, or convert one or more of the application communications 510 from one or more corresponding links 101. For example, the service layer 504 may correspond to or include a service data adaptation protocol (SDAP) layer. For example, the service layer 504 may include one or more processors or circuits for transmitting one or more of the application communications 510, or one or more parts of the one or more application communications, between the application layer 502 and the wireless layer 506, in any communication direction between them. For example, the service layer 504 may optimize / control / manage the transmission of one or more of the application communications 510 according to one or more heuristics discussed herein to achieve technical improvements, thereby reducing or eliminating the loss of video, audio, data, or any combination thereof via one or more of the links 101. For example, the service layer 504 may determine or detect the type of the application communication 510 by one or more parameters in one or more PDUs or PDU sets of the corresponding application communication 510. The service layer 504 may include a first QoS channel 520 , a second QoS channel 522 , a third QoS channel 524 , a first QoS mapping communication 530 , a second QoS mapping communication 532 , and a third QoS mapping communication 534 .
[0070] The first QoS channel 520 may correspond to a first priority level of the first type of application communication 510. For example, the first QoS channel 520 may correspond to a low priority channel. For example, the first QoS channel 520 may be configured according to a first bandwidth level that is lower than a corresponding bandwidth level of the second QoS channel 522 or the third QoS channel 524. For example, the first QoS channel 520 may be configured according to a first packet priority that is lower than a corresponding packet priority of the second QoS channel 522 or the third QoS channel 524. The service layer 504 may assign one or more of the application communications 510 to the first QoS channel 520 based on one or more probes corresponding to the type of application communication 510 and the first QoS channel 520. For example, a video call probe may indicate that a video communication channel of a video call communication is about to be assigned to the first QoS channel 520 to reduce the priority of video delivery in the call. For example, a game session probe may indicate that an audio communication channel of a game communication is about to be assigned to the first QoS channel 520 to, for example, reduce the priority of audio delivery corresponding to the highest relative latency in the game session.
[0071] The second QoS channel 522 may correspond to a second priority level of the first type of application communication 510. For example, the second QoS channel 522 may correspond to a medium priority channel. For example, the second QoS channel 522 may be configured according to a second bandwidth level that is higher than the first bandwidth level but lower than a third bandwidth level of the third QoS channel 524. For example, the second QoS channel 522 may be configured according to a second packet priority that is higher than the first packet priority but lower than a third packet priority of the third QoS channel 524. The service layer 504 may assign one or more of the application communications 510 to the second QoS channel 522 according to one or more probes corresponding to the type of application communication 510 and the second QoS channel 522. For example, a video call probe may indicate that an audio communication channel of a video call communication is about to be assigned to the second QoS channel 522 to prioritize video delivery in the call at an intermediate level. For example, a gaming session probe may indicate that a data communication channel of a gaming communication is about to be assigned to the second QoS channel 522 to prioritize data delivery in a gaming session corresponding to an intermediate relative latency, for example.
[0072] The third QoS channel 524 can correspond to a third priority level for the first type of application communication 510. For example, the third QoS channel 524 can correspond to a high priority channel. For example, the third QoS channel 524 can be configured according to a third bandwidth level, which is higher than the first bandwidth level and the second bandwidth level. For example, the third QoS channel 524 can be configured according to a third packet priority, which is higher than the first packet priority and the second packet priority. The service layer 504 can assign one or more of the application communications 510 to the third QoS channel 524 based on one or more probes corresponding to the type of application communication 510 and the third QoS channel 524. For example, a game session probe can indicate that the video communication channel of the game communication is about to be assigned to the third QoS channel 524, for example, to prioritize the video delivery corresponding to the lowest relative latency in the game session at the highest level.
[0073] The first QoS mapping communication 530 may correspond to a transmission by the first QoS channel 520 of the service layer 504. For example, the first QoS channel 520 may derive or generate the first QoS mapping communication 530 from the application communication 510 according to a heuristic to link the application communication 510 to the first QoS mapping communication 530 based on the type of the application communication 510. The second QoS mapping communication 532 may correspond to a transmission by the second QoS channel 522 of the service layer 504. For example, the second QoS channel 522 may derive or generate the second QoS mapping communication 532 from the application communication 510 according to a heuristic to link the application communication 510 to the second QoS mapping communication 532 based on the type of the application communication 510. The third QoS mapping communication 534 may correspond to a transmission by the third QoS channel 524 of the service layer 504. For example, the third QoS channel 524 may derive or generate the third QoS mapping communication 534 from the application communication 510 according to a heuristic to link the application communication 510 to the third QoS mapping communication 534 based on the type of the application communication 510. First QoS mapping communication 530, second QoS mapping communication 532, and third QoS mapping communication 534 are not limited to the directions or characteristics shown herein. For example, first QoS mapping communication 530, second QoS mapping communication 532, and third QoS mapping communication 534 can be sent from wireless layer 506 to service layer 504.
[0074] According to one or more of the various probes discussed herein, the wireless layer 506 may support or include one or more links / channels 101 corresponding to one or more of the QoS mapping communications 503, 532, or 534. For example, the wireless layer 506 may correspond to or include a radio link control (RLC) layer. The wireless layer 506 may include a first wireless channel 540 and a second wireless channel 542. The first wireless channel 540 may include a wireless transceiver or wireless transceiver controller configured to send or receive one or more links according to the first QoS mapping communication 530. For example, the first wireless channel 540 may correspond to a dedicated wireless transceiver controller, or a dedicated portion of a working cycle or communication cycle of a wireless transceiver. For example, the first wireless channel 540 may be linked to or assigned to the first QoS channel 520. However, the first wireless channel 540 is not limited to any particular QoS channel or QoS channel combination discussed herein.
[0075] The second wireless channel 542 may include a wireless transceiver or wireless transceiver controller configured to send or receive one or more links according to the second QoS mapping communication 532. For example, the second wireless channel 542 may correspond to a dedicated wireless transceiver controller, or a dedicated portion of a duty cycle or communication cycle of the wireless transceiver. For example, the second wireless channel 542 may be linked to or allocated to the second QoS channel 522 and the third QoS channel 524. For example, the transmission bandwidth or power allocation of the second wireless channel 542 may be greater than the transmission bandwidth or power allocation of the first wireless channel 540 to achieve technical improvements in reliable transmission of medium priority QoS communications and high priority QoS communications. However, the first wireless channel 540 is not limited to any specific QoS channel or QoS channel combination discussed herein.
[0076] For example, the system may select one or more second selected data units corresponding to the parameters satisfying the third probe from one or more of the multiple data units according to one or more of the one or more parameters satisfying the third probe by the wireless communication device, and the third probe indicates the second communication type of the one or more communication types. For example, the system may send one or more of the one or more second selected data units according to the fourth probe corresponding to the second QoS level for the second communication type by the wireless communication device. For example, the system may determine that one or more of the one or more parameters satisfy the encoding corresponding to the first probe and indicating the communication type by the wireless communication device. For example, the system may determine that one or more of the one or more parameters satisfy the data size corresponding to the first probe and indicating the communication type by the wireless communication device. For example, the system may repeat the sending of one or more of the one or more selected data units according to the second probe by the wireless communication device. For example, the system may send one or more of the one or more selected data units according to the second probe and the metric indicating the confirmation of the sending by the wireless communication device. For example, the identification, determination, selection and sending may be performed via the application layer of the wireless communication device.
[0077] For example, the system may include a computer-readable medium. For example, the computer-readable medium may include one or more instructions that can be executed by a processor. The processor may select one or more second selected data units corresponding to parameters that satisfy a third probe from one or more of the multiple data units based on one or more of the one or more parameters satisfying a third probe, the third probe indicating a second communication type in one or more communication types. For example, the computer-readable medium may include one or more instructions that can be executed by a processor. The processor may send one or more of the one or more second selected data units based on a fourth probe corresponding to a second QoS level for a second communication type. For example, the computer-readable medium may include one or more instructions that can be executed by a processor. The processor may determine that one or more of the one or more parameters satisfy an encoding that corresponds to the first probe and indicates a communication type.
[0078] Figure 6 Depicted is an example service layer architecture according to the present disclosure. Figure 6 As shown in the example, the service layer architecture 600 may include at least an application layer input / output interface 602, a wireless layer input / output interface 604, a PDU input / output processor 610, a PDU collection processor 620, a QoS threshold processor 630, a QoS mapping processor 640 and a wireless layer I / O processor 650.
[0079] The application layer I / O interface 602 may obtain one or more application communications 510 via the application layer 502. For example, the application layer I / O interface 602 may include one or more traces, lanes, or a combination thereof to receive or send one or more application communications 510, or one or more corresponding or concurrent bits, or blocks, etc. of these application communications 510. The wireless layer I / O interface 604 may obtain one or more links 101 via the wireless layer 506. For example, the wireless layer I / O interface 604 may include one or more traces, lanes, or a combination thereof to receive or send one or more links 101, or one or more corresponding or concurrent bits, or blocks, etc. of these links 101.
[0080] The PDU input / output processor 610 may determine or identify one or more PDUs corresponding to one or more application communications 510. For example, the PDU input / output processor 610 may identify, via one or more specific applications, one or more PDUs in one or more corresponding bursts of application communications 510. The PDU input / output processor 610 may identify the application associated with the particular PDU and may identify parameters of the one or more PDUs.
[0081] The PDU set processor 620 can identify a PDU set including one or more specific PDUs. For example, the PDU set processor 620 can assign a specific PDU to a PDU set, or identify one or more PDUs linked or corresponding to a specific PDU set, based on the identification of an application or application communication by the PDU input and output processor 610. The PDU set processor 620 may include a PDU type processor 622. The PDU type processor 622 can determine a communication type corresponding to one or more PDUs or PDU sets. For example, the PDU type processor 622 can determine that a specific PDU set corresponds to a specific communication type in multiple communication types. For example, the PDU type processor 622 can determine a communication type in each communication type, including but not limited to a game session, an XR conversation communication, a video call, a voice call, or any combination thereof. For example, the PDU type processor 622 can determine the communication type of a separate PDU within or across one or more PDU sets. For example, the PDU type processor 622 can receive one or more PDUs that are part of any PDU set or are different from any PDU set. For example, the PDU type processor 622 may receive identification information, headers, or metadata corresponding to the PDU from the PDU input / output processor 610. For example, the PDU type processor 622 may extract identification information, headers, or metadata corresponding to the PDU from the PDU input / output processor 610 from one or more PDUs or sets of PDUs provided to the PDU type processor 622 from or via the PDU input / output processor 610.
[0082] The QoS threshold processor 630 may assign one or more application communications 510 to one or more corresponding QoS channels. For example, the QoS threshold processor 630 may store one or more heuristics, each corresponding to a particular communication type, and the QoS threshold processor may compare the stored heuristics with the one or more application communications and their associated applications to assign a particular application communication 510 to a particular QoS channel. The QoS threshold processor 630 may include an importance resolution processor 632, a TBS controller 634, a repetition mode selector 636, and an acknowledgement mode selector 638.
[0083] The importance resolution processor 632 may apply the importance parameter based on the importance parameter obtained via one or both of the application layer 502 and the service layer 504. For example, the importance resolution processor 632 may select the importance parameter from a plurality of importance parameters corresponding to a particular PDU or a particular set of PDUs. For example, the importance resolution processor 632 may select the importance parameter based on one or more importance heuristics to resolve conflicts between multiple importance parameters associated with the same PDU or the same set of PDUs. For example, the importance resolution processor 632 may select the importance parameter based on one or more importance heuristics to impute the importance parameter to one or more PDUs or sets of PDUs associated with the PDU or set of PDUs having the importance parameter.
[0084] The QoS threshold processor 630 can set one or more parameters of the one or more PDU sets or PDUs according to one or more components of the components of the one or more PDU sets or PDUs. The TBS controller 634 can determine the size of the transport block corresponding to the PDU or PDU set. For example, the TBS controller 634 can write TBS parameters to one or more PDUs or PDU sets. For example, the TBS controller 634 can map a PDU with higher importance to a media access control (MAC) TBS corresponding to a lower modulation and coding strategy (MCS). This mapping can at least provide such technical improvements: increase the protection of data integrity at the wireless layer 506 and improve the coding efficiency at the wireless layer.
[0085] The repetition mode selector 636 may determine the repetition cadence of one or more PDUs or PDU sets. For example, the repetition mode selector 636 may embed instructions in one or more PDUs or PDU sets to allow PDUs with an importance level that meets an importance threshold to be repeated. For example, the importance threshold may correspond to the bandwidth or throughput of the base station (gNB). The confirmation mode selector 638 may select a confirmation mode based on the importance level corresponding to one or more PDUs or PDU sets. For example, the confirmation mode selector 638 may select a non-confirmation mode based on determining that the PDU or PDU set meets the importance threshold. For example, the confirmation mode selector 638 may select a confirmation mode based on determining that the PDU or PDU set does not meet the importance threshold. Therefore, the present technical solution can at least provide such a technical improvement by eliminating the confirmation requirement for one or more PDUs or PDU sets that meet the importance threshold: reducing the latency of high-importance services based on each PDU or each PDU set.
[0086] The QoS mapping processor 640 may map one or more application communications 150 to one or more QoS mapping communications, or map one or more application communications 150 from one or more QoS mapping communications. For example, a discard operation, a send / forward operation, and / or a mapping operation may be specified or configured according to one or more rules (e.g., mapping rules, discard rules, forwarding rules), and the discard operation, the send / forward operation, and / or the mapping operation may be implemented in any one or more of the above-mentioned layers / sublayers (e.g., in the SDAP layer). The one or more layers / sublayers in the layers / sublayers may apply the one or more rules to perform discarding, sending / forwarding, and / or mapping. The wireless layer I / O processor 650 may correspond at least partially to the wireless layer 506 in one or both of the structure and operation, and may receive or send one or more links 101 corresponding to one or more QoS mapping communications.
[0087] Figure 7 Depicted is an example application layer architecture according to the present disclosure. Figure 7 As shown in the example, the application layer architecture 700 may include at least an application input / output interface 702, a service layer input / output interface 704, an application input / output processor 710, a multi-service processor 720, a service threshold processor 730, a PDU mapping processor 740 and a service layer I / O processor 750.
[0088] The application input / output interface 702 may obtain one or more instructions from one or more discrete applications executable at the application layer 502. For example, the application input / output interface 702 may include one or more traces, channels, or any combination thereof to receive or send one or more outputs of one or more applications, or one or more corresponding or concurrent bits, or blocks, etc. of instructions corresponding to the outputs of one or more applications. For example, the application input / output interface 702 may be coupled with one or more interfaces of one or more applications or an operating system to provide one-way or two-way communication between the application layer architecture 700 and one or more applications corresponding to the application layer 502.
[0089] The service layer input / output interface 704 can obtain one or more application communications 510 via the application layer 502. For example, the service layer input / output interface 704 can include one or more traces, channels, or any combination thereof to receive or send one or more application communications 510, or one or more corresponding or concurrent bits, blocks, etc. of these application communications 510. For example, the service layer input / output interface 704 can be coupled with the application layer I / O interface 602 to provide unidirectional or bidirectional communication between the service layer architecture 600 and the application layer architecture 700.
[0090] The application I / O processor 710 may obtain one or more instructions from one or more discrete applications passing through the application I / O processor 710, which may include one or more processes corresponding to an operating system hosting the one or more applications, or a kernel module, etc. For example, the application I / O processor 710 may extract or identify one or more attributes corresponding to one or more types, or communications corresponding to a particular application I / O processor 710.
[0091] The multi-service processor 720 may identify communications corresponding to a specific output of a specific application or any portion thereof. For example, the multi-service processor 720 may assign a specific output of a specific application or a portion thereof to an application process or thread, etc., based on the identification of the application or application communication by the application I / O processor 710. For example, the multi-service processor 720 may identify a portion of a stream or a burst of streams of a gaming session or XR conversation service. The multi-service processor 720 may include a service type processor 722.
[0092] The business type processor 722 can determine a communication type corresponding to one or more outputs of a particular application. For example, the business type processor 722 can determine that a particular stream corresponds to a particular communication type among multiple communication types. For example, the business type processor 722 can determine a communication type among various communication types, including but not limited to game sessions, XR conversation communications, video calls, voice calls, or any combination thereof. For example, the business type processor 722 can determine the communication type of a single application communication 150. For example, the application communication 150 can correspond to a portion of the output of the application discussed herein. For example, the business type processor 722 can receive identification information, headers, or metadata corresponding to the output from the application I / O processor 710. For example, the business type processor 722 can extract identification information, headers, or metadata corresponding to the application communication 150.
[0093] The traffic threshold processor 730 may set one or more parameters of the one or more application communications according to one or more of the components of the one or more application communications 150. The traffic threshold processor 730 may include a traffic scale selector 732, a packet controller 734, and an encoding controller 736.
[0094] The service level selector 732 may selectively apply or modify one or more importance metrics to the application communication 150 based on the type of communication. For example, the service level selector 732 may identify a video quality metric that indicates the importance of video data corresponding to a particular application communication 150 or type of application communication 150. For example, the service level selector 732 may identify an audio quality metric that indicates the importance of audio data corresponding to a particular application communication 150 or type of application communication 150. The service level selector 732 may set the video quality metric to a higher value than the audio quality metric based on determining that the type of application communication 150 corresponds to a communication type with high importance associated with video data. For example, a gaming session may correspond to a communication type with high importance associated with video data. The service level selector 732 may set the audio quality metric to a higher value than the video quality metric based on determining that the type of application communication 150 corresponds to a communication type with high importance associated with audio data. For example, a video call may correspond to a communication type with high importance associated with audio data.
[0095] The packet controller 734 may selectively apply or modify the size of one or more packets corresponding to the application communication 150 according to the communication type of the application communication 150. For example, for application communications 150 having a higher importance or an importance level that satisfies an importance threshold, the packet controller 734 may apply a rateless code corresponding to a larger size packet. For example, the rateless code may correspond to a fountain code, but is not limited thereto. Such application of the rateless code may at least achieve such a technical improvement: achieving a higher recovery rate of the application communication 150 from transmission loss.
[0096] The encoding controller 736 can selectively apply or modify the encoding of at least a portion of the application communication 150 based on the communication type of the application communication 150. For example, the encoding controller 736 can apply error correction coding with a protection level corresponding to a particular communication type. For example, the protection level can correspond to the amount or percentage of the transmitted data that is recoverable in the event of data loss. For example, the encoding controller 736 can apply error correction coding with a protection level corresponding to a higher redundancy to the application communication 150 corresponding to a predetermined communication type.
[0097] The PDU mapping processor 740 may map one or more outputs of one or more applications to or from one or more application communications 150. For example, the PDU mapping processor 740 may generate one or more application communications 150 having one or more attributes or content corresponding to one or more outputs of the corresponding application, or instructions corresponding to those outputs. For example, the PDU mapping processor 740 may generate an application communication 150 having one or more structures or contents corresponding to the outputs of the application, or both. For example, the application communication 150 may generate an application communication 150 having one or more PDUs having attributes corresponding to attributes identified by the traffic threshold processor 730 or controlled by the traffic threshold processor 730. The service layer I / O processor 750 may correspond at least in part to the PDU input / output processor 610 in one or both of structure and operation. For example, the service layer I / O processor 750 may perform unidirectional or bidirectional communication with the PDU input / output processor 610.
[0098] Figure 8 An example method of controlling QoS of a data unit via multiple communication layers according to the present disclosure is depicted. At least one of the environment 100 or the system 314 (or any one or more elements / components thereof, such as a computing device or a wireless communication device) may perform the method 800. At 810, the method 800 may identify one or more of the multiple data units. At 812, the method 800 may identify multiple data units for one or more communication types, respectively. At 814, the method 800 may identify by the wireless communication device.
[0099] At 820, the method 800 may determine one or more parameters, each indicating an importance level. At 822, the method 800 may determine multiple parameters, each indicating an importance level of a corresponding data unit in the multiple data units. At 824, the method 800 may determine multiple parameters based on the one or more communication types, each indicating an importance level. For example, the method may include: determining, by the wireless communication device, that one or more of the one or more parameters satisfy an encoding corresponding to the first probe and indicating a communication type. For example, the method may include: sending, by the wireless communication device, one or more of each second selected data unit according to a fourth probe corresponding to a second QoS level for a second communication type. For example, the method may include: determining, by the wireless communication device, that one or more of the one or more parameters satisfy a data size corresponding to the first probe and indicating a communication type. At 826, the method 800 may determine, by the wireless communication device, from one or more of the multiple data units.
[0100] Fig. 9 An example method of controlling QoS of a data unit via multiple communication layers in accordance with the present disclosure is depicted. At least one of the environment 100 or the system 314 (or any one or more elements / components thereof, such as a computing device or a wireless communication device) may perform the method 900. For example, the method may include: identifying, determining, selecting, or sending performed via a service layer of a wireless communication device or an application layer of a wireless communication device. For example, the method may include: identifying, determining, selecting, and sending performed via a service layer of a wireless communication device or an application layer of a wireless communication device.
[0101] At 910, the method 900 may select one or more selected data units from one or more of the plurality of data units. At 912, the method 900 may select data units corresponding to parameters that satisfy a second probe. At 914, the method 900 may select data units for a QoS level of a communication type. At 916, the method 900 may select data units based on one or more of the parameters satisfying a first probe. At 918, the method 900 may select data units that satisfy a first probe, the first probe indicating a communication type among the communication types. For example, the method may include: selecting, by a wireless communication device, one or more second selected data units corresponding to parameters that satisfy a third probe from one or more of the plurality of data units, the third probe indicating a second communication type among the communication types based on one or more of the parameters satisfying a third probe.
[0102] At 920, method 900 may transmit one or more of the one or more selected data units. At 922, method 900 may transmit, by the wireless communication device, the selected data units. At 924, method 900 may transmit, by the wireless communication device, the selected data units in accordance with a second probe. For example, the method may include transmitting, by the wireless communication device, one or more of the one or more selected data units in accordance with the second probe and a metric indicating an acknowledgment of the transmission. For example, the method may include repeating, by the wireless communication device, the transmission of one or more of the one or more selected data units in accordance with the second probe.
[0103] Now that some illustrative embodiments have been described, the foregoing, which has been presented by way of example, is illustrative and not restrictive. Specifically, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and these elements may be combined in other ways to achieve the same purpose. The actions, elements, and features discussed in conjunction with one embodiment are not intended to be excluded from similar roles in other embodiments.
[0104] The words and terms used herein are for descriptive purposes and should not be considered limiting. The use of "comprising," "including," "having," "containing," "involving," "characterized by," "characterized by," and variations thereof herein is meant to encompass the items listed thereafter, their equivalents and additional items, and to include alternative embodiments consisting exclusively of the items listed thereafter. In one embodiment, the systems and methods described herein include one, each combination of more than one of the described elements, acts, or components, or all of them.
[0105] References to "or" may be interpreted as inclusive, so that any term described using "or" may indicate any one of a single term, more than one term, and all terms in the terms described. References to at least one term in a combined list of terms may be interpreted as inclusive or (OR) to indicate any one of a single term, more than one term, and all terms in the terms described. For example, references to "at least one of 'A' and 'B'" may include only 'A', only 'B', and both 'A' and 'B'. Such references used in conjunction with "include" or other open terms may include additional items. References to "is" or "for" may be interpreted as non-restrictive to the embodiments or actions referenced in conjunction with the term. Unless otherwise specified herein, the terms "is" or "for", or any tense or derivative form thereof, are interchangeable and synonymous with "may be" used herein.
[0106] The directional indicators depicted herein are example directions for facilitating understanding of the examples discussed herein, and are not limited to the directional indicators depicted herein. Unless otherwise specified herein, any directional indicator depicted herein may be modified to the opposite direction, or may be modified to include both the depicted direction and the direction opposite to the depicted direction. Although multiple operations are depicted in a particular order in the accompanying drawings, these operations do not need to be performed in the particular order shown or in a sequential order, and not all operations shown need to be performed. The actions described herein may be performed in different orders. In the case where the technical features in the accompanying drawings, the specific embodiments or any claims are followed by reference numerals, these reference numerals have been included to increase the understandability of the accompanying drawings, the specific embodiments and the claims. Therefore, these reference numerals or their absence do not have any limiting effect on the scope of any claim element.
[0107] Thus, the scope of the systems and methods described herein is indicated by the appended claims rather than the foregoing description. The scope of the claims shall include equivalents to the meaning and scope of the appended claims.
Claims
1. A method comprising: identifying, by the wireless communication device, one or more of a plurality of data units corresponding to the one or more communication types, respectively; determining, by the wireless communication device, one or more parameters from one or more of the plurality of data units based on the one or more communication types, each parameter indicating an importance of a corresponding data unit in the plurality of data units; selecting, by the wireless communication device, one or more selected data units from one or more of the plurality of data units corresponding to parameters satisfying a second heuristic based on one or more of the one or more parameters satisfying a first heuristic, the first heuristic indicating a communication type from the one or more communication types, the second heuristic corresponding to a quality of service (QoS) level for the communication type; as well as One or more of the one or more selected data units are sent by the wireless communication device in accordance with the second probe.
2. The method according to claim 1, further comprising: The wireless communication device selects, based on one or more of the one or more parameters satisfying a third probe, one or more second selected data units from one or more of the multiple data units corresponding to parameters that satisfy the third probe, wherein the third probe indicates a second communication type from the one or more communication types.
3. The method according to claim 2, further comprising: One or more of the one or more second selected data units are transmitted by the wireless communication device in accordance with a fourth heuristic corresponding to a second quality of service (QoS) level for the second communication type.
4. The method according to claim 1, further comprising: It is determined, by the wireless communication device, that one or more of the one or more parameters satisfies a code corresponding to the first heuristic and indicative of the communication type.
5. The method according to claim 1, further comprising: It is determined, by the wireless communication device, that one or more of the one or more parameters satisfies a data size corresponding to the first heuristic and indicative of the communication type.
6. The method according to claim 1, further comprising: The sending of one or more of the one or more selected data units is repeated by the wireless communication device in accordance with the second probe.
7. The method according to claim 1, further comprising: One or more of the one or more selected data units are transmitted by the wireless communication device in accordance with the second probe and a metric indicative of an acknowledgment of the transmission.
8. The method according to claim 1, wherein: The identifying, the determining, the selecting, and the sending are performed via an application layer of the wireless communication device.
9. A system comprising: A memory and one or more processors configured to: identifying, by the wireless communication device, one or more of a plurality of data units corresponding to the one or more communication types, respectively; determining, by the wireless communication device, one or more parameters from one or more of the plurality of data units based on the one or more communication types, each parameter indicating an importance of a corresponding data unit in the plurality of data units; selecting, by the wireless communication device, one or more selected data units from one or more of the plurality of data units corresponding to parameters satisfying a second heuristic based on one or more of the one or more parameters satisfying a first heuristic, the first heuristic indicating a communication type from the one or more communication types, the second heuristic corresponding to a quality of service (QoS) level for the communication type; as well as One or more of the one or more selected data units are sent by the wireless communication device in accordance with the second probe.
10. The system of claim 9, wherein the one or more processors are configured to: The wireless communication device selects, based on one or more of the one or more parameters satisfying a third probe, one or more second selected data units from one or more of the multiple data units corresponding to parameters that satisfy the third probe, wherein the third probe indicates a second communication type from the one or more communication types.
11. The system of claim 10, wherein the one or more processors are configured to: One or more of the one or more second selected data units are transmitted by the wireless communication device in accordance with a fourth heuristic corresponding to a second quality of service (QoS) level for the second communication type.
12. The system of claim 9, wherein the one or more processors are configured to: It is determined, by the wireless communication device, that one or more of the one or more parameters satisfies a code corresponding to the first heuristic and indicative of the communication type.
13. The system of claim 9, wherein the one or more processors are configured to: It is determined, by the wireless communication device, that one or more of the one or more parameters satisfies a data size corresponding to the first heuristic and indicative of the communication type.
14. The system of claim 9, wherein the one or more processors are configured to: The sending of one or more of the one or more selected data units is repeated by the wireless communication device in accordance with the second probe.
15. The system of claim 9, wherein the one or more processors are configured to: One or more of the one or more selected data units are transmitted by the wireless communication device in accordance with the second probe and a metric indicative of an acknowledgment of the transmission.
16. The system of claim 9, wherein: The identifying, the determining, the selecting, and the sending are performed via an application layer of the wireless communication device.
17. A non-transitory computer readable medium comprising one or more instructions stored thereon and executable by a processor to: identifying, by a processor, one or more of a plurality of data units corresponding to one or more communication types, respectively; determining, by the processor, one or more parameters from one or more of the plurality of data units based on the one or more communication types, each parameter indicating an importance of a corresponding data unit in the plurality of data units; selecting, by the processor, one or more selected data units from one or more of the plurality of data units corresponding to parameters satisfying a second heuristic based on one or more of the one or more parameters satisfying a first heuristic, the first heuristic indicating a communication type from the one or more communication types, the second heuristic corresponding to a quality of service (QoS) level for the communication type; as well as One or more of the one or more selected data units are sent, by the processor, in accordance with the second heuristic.
18. The computer-readable medium of claim 17, further comprising one or more instructions executable by the processor to: Selecting, by the processor, one or more second selected data units from one or more of the plurality of data units corresponding to parameters satisfying a third probe based on one or more of the one or more parameters satisfying the third probe, the third probe indicating a second communication type from the one or more communication types.
19. The computer-readable medium of claim 18, further comprising one or more instructions executable by the processor to: One or more of the one or more second selected data units are sent, by the processor, in accordance with a fourth heuristic corresponding to a second quality of service (QoS) level for the second communication type.
20. The computer-readable medium of claim 17, further comprising one or more instructions executable by the processor to: Determining, by the processor, that one or more of the one or more parameters satisfies an encoding corresponding to the first heuristic and indicative of the communication type.