Virtual reality (VR) and augmented reality (AR) applications with interactions are usually delay-sensitive. For example, a bit rate of Wi-Fi transmission for the VR or AR applications should be ranging from 100 Mbps (million bits per second) to 200 Mbps, 75th percentile video frame latency is preferred to be less than 5 ms (millisecond), 95th percentile video frame latency is preferred to be less than 10 ms, and 99th percentile video frame latency is preferred to be less than 50 ms. However, an overlapped basic service set (OBSS) scenario may cause much interference to Wi-Fi transmission which leads unpredictable channel fading and unpredictable latency. Therefore, if the OBSS interference causes a lot of packet errors, a packet retransmission mechanism will be triggered frequently, causing a large latency of packet transmission.
It is therefore an objective of the preset invention to provide a control method of an electronic device, which duplicates at least a portion of MPDUs (Media access control (MAC) Protocol Data Unit) of intra-coded pictures (I-frames) actively, to solve the above-mentioned problems.
According to one embodiment of the present invention, a control method of an electronic device comprises the steps of: obtaining a plurality of MPDUs, wherein the plurality of MPDUs corresponds to at least one I-frame and at least one P-frame; selectively duplicating the MPDUs corresponding to the at least one I-frame or the at least one P-frame to generate a plurality of duplicated MPDUs; and aggregating the plurality of MPDUs and the plurality of duplicated MPDUs in at least one PPDU in at least one link among multiple links.
According to one embodiment of the present invention, a circuitry within an electronic device is configured to perform the steps of: obtaining a plurality of MPDUs, wherein the plurality of MPDUs corresponds to at least one I-frame and at least one P-frame; selectively duplicating the MPDUs corresponding to the at least one I-frame or the at least one P-frame to generate a plurality of duplicated MPDUs; and aggregating the plurality of MPDUs and the plurality of duplicated MPDUs in at least one PPDU in at least one link among multiple links.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to ...”. The terms “couple” and “couples” are intended to mean either an indirect or a direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
In order to reduce the packet loss to shorten video frame latency of the video stream transmission between the electronic devices 110 and 120, the electronic device 110 actively performs packet duplication to increase the probability of the electronic device 120 successfully receiving the packets. Specifically, referring to
In a first embodiment, the specific parameter may be a packet error rate (PER), wherein the packet error rate can be calculated based on a number of packets not successfully received by the electronic device 120 and a number of packets transmitted from the electronic device 110 to the electronic device 120. For example, if the packet error rate is greater than a first threshold value, it is determined that the packet error rate satisfies the first condition, and the flow enters Step 310; and if the packet error rate is not greater than the first threshold value, it is determined that the packet error rate does not satisfy the first condition, and the flow enters Step 312.
In a second embodiment, the specific parameter may be an available bandwidth capable of being used to transmit the video stream to the electronic device 120. If the available bandwidth is greater than a threshold, it is determined that the available bandwidth satisfies the first condition, and the flow enters Step 310; and if the available bandwidth is not greater than the threshold, it is determined that the available bandwidth does not satisfy the first condition, and the flow enters Step 312.
In a third embodiment, the specific parameter may be an aggregation count of the MPDUs within one PPDU, that is how many MPDUs can be included in in a PPDU at most. If the aggregation count is available for adding the duplicated MPDUs in the PPDU, it is determined that the available bandwidth satisfies the first condition, and the flow enters Step 310; and if the aggregation count is not available for adding the duplicated MPDUs in the PPDU (e.g., too many MPDUs are generated), it is determined that the aggregation count does not satisfy the first condition, and the flow enters Step 312.
In one embodiment, the above three embodiments of the specific parameters can be considered together to determine if the specific parameters satisfy the first condition. For example, the first condition is satisfied only when the packet error rate is greater than the first threshold value, the available bandwidth is greater than the threshold, and the aggregation count is available for adding the duplicated MPDUs in the PPDU.
It is noted that the above embodiments for executing Step 308 are for illustrative, not a limitation of the present invention. That is, the above packet error rate can be replaced by any parameter capable of representing a packet transmission quality, and the available bandwidth and the aggregation count can be replaced by any parameter capable of representing an ability of processing the MPDUs. In one embodiment, the specific parameter can be one of SINR (Signal to Interference plus Noise Ratio), Doppler, Mobility Speed from smart phone GPS/GNSS, QoS priority, Application priority from smart phone
In Step 310, the MAC layer 118 duplicates all of the MPDUs corresponding to the I-frame(s), and the original MPDUs and the duplicated MPDUs corresponding to the I-frame (s) are aggregated into one or more PPDUs. Taking
In Step 312, the MAC layer 118 determines if one or more specific parameters of the electronic device 110 satisfy a second condition, if yes, the flow enters Step 314; and if not, the flow enters Step 316. In one embodiment, the specific parameter may be a packet error rate, and if the packet error rate is greater than a second threshold value lower than the first threshold value mentioned in Step 308, it is determined that the packet error rate satisfies the second condition, and the flow enters Step 314; and if the packet error rate is not greater than the second threshold value, it is determined that the packet error rate does not satisfy the second condition, and the flow enters Step 316. In another embodiment, the specific parameter may be an available bandwidth capable of being used to transmit the video stream to the electronic device 120. If the available bandwidth is greater than another threshold which is lower than the threshold mentioned in Step 308, it is determined that the available bandwidth satisfies the second condition, and the flow enters Step 314; and if the available bandwidth is not greater than the other threshold, it is determined that the available bandwidth does not satisfy the second condition, and the flow enters Step 316. In another embodiment, the specific parameter may be an aggregation count of the MPDUs within one PPDU, that is how many MPDUs can be included in in a PPDU at most. If the aggregation count is available for adding the duplicated MPDUs in the PPDU, it is determined that the available bandwidth satisfies the second condition, and the flow enters Step 314; and if the aggregation count is not available for adding the duplicated MPDUs in the PPDU (e.g., too many MPDUs are generated), it is determined that the aggregation count does not satisfy the second condition, and the flow enters Step 316.
Step 314, the MAC layer 118 duplicates only part of the MPDUs corresponding to the I-frame(s), and the original MPDUs and the duplicated MPDUs corresponding to the I-frame (s) are aggregated into one or more PPDUs. Taking
In Step 316, the MAC layer 118 does not duplicate any MPDU, that is any two of the MPDUs aggregated in to the PPDU do not have the same sequence number.
In Step 318, the physical layer 119 wirelessly transmits the PPDU to the electronic device 120. After receiving the PPDU, the electronic device 120 can use a legacy circuitry to filter out the duplicated MPDU (if both the original MPDU and the duplicated MPDU are successfully received), for the following operations.
In the above embodiments shown in
In the above embodiments, only the MPDUs corresponding to the I-frames are duplicated, so the PPDU may comprises the original MPDUs corresponding to the I-frame, the duplicated MPDUs corresponding to the I-frame and the original MPDUs corresponding to the P-frame. In an alternative embodiment, the MAC layer 118 may also duplicate part or all of the MPDUs corresponding to the P-frame, that is, the PPDU may comprises the original MPDUs corresponding to the I-frame, the duplicated MPDUs corresponding to the I-frame, the original MPDUs corresponding to the P-frame, and the duplicated MPDUs corresponding to the P-frame.
In one embodiment, the electronic device 110 can establish multiple links with the electronic device 120, wherein the multiple links may correspond to different frequency bands or the same channel frequency. For example, the electronic device 110 may use channels belonging to a 2.4 GHz band and 5 GHz band (e.g., 4.915 GHz - 5.825 GHz) to communicate with the electronic device 120 simultaneously, or the electronic device 110 may use channels belonging to a 2.4 GHz band and 6 GHz band (e.g., 5.925 GHz - 7.125 GHz) to communicate with the electronic device 120 simultaneously. Based on the multiple links established between the electronic device 110 and the electronic device 120, another control method of the electronic device 100 is provided in
In Step 610, the MAC layer 118 determines if one or more specific parameters of the electronic device 110 satisfy a first condition, if yes, the flow enters Step 612; and if not, the flow enters Step 614. The operation of the Step 610 is similar to the Step 308 shown in
In Step 612, the MAC layer 118 duplicates all of the MPDUs corresponding to the I-frame(s), and the original MPDUs and the duplicated MPDUs corresponding to the I-frame(s) are aggregated to the PPDUs corresponding to different links. Taking
In Step 614, the MAC layer 118 determines if one or more specific parameters of the electronic device 110 satisfy a second condition, if yes, the flow enters Step 616; and if not, the flow enters Step 618. The operation of the Step 614 is similar to the Step 312 shown in
Step 616, the MAC layer 118 duplicates only part of the MPDUs corresponding to the I-frame(s), and the original MPDUs and the duplicated MPDUs corresponding to the I-frame (s) are aggregated into different PPDUs. Taking
In Step 618, the MAC layer 118 does not duplicate any MPDU, that is any two of the MPDUs aggregated in to the PPDU do not have the same sequence number.
In Step 620, the physical layer 119 wirelessly transmits the first PPDU and the second PPDU to the electronic device 120 via the first link and the second link, respectively. It is noted that the first PPDU may further have MPDUs corresponding to P-frames, and the second PPDU may also have other MPDUs.
In order to reduce the packet loss to shorten video frame latency of the video stream transmission between the electronic device 910 and the station 930, the electronic device 910 actively performs packet duplication to increase the probability of the station 930 successfully receiving the packets. Similar to the embodiment shown in
After receiving the PPDU from the electronic device 910, the station 930 will filter output the duplicated MPDUs and regenerate the PPDU having the filtered MPDUs, and the regenerated PPDU is transmitted to the electronic device 920. In order to reduce the packet loss to shorten video frame latency of the video stream transmission between the station 930 and the electronic device 920, the electronic device 920 can actively send a request to the station 930 to request the station 930 to adopt the MPDU duplication mechanism.
Briefly summarized, in the embodiments of the present invention, by actively duplicating part or all of the MPDUs corresponding to the I-frames, the probability of the electronic device successfully receiving the MPDUs corresponding to the I-frames will become higher, and the video latency can be shortened. In addition, because the I-frames are basic frames for the decoding operation, successfully receiving the MPDUs corresponding to the I-frames t means that the video can be played fluently.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 63/341,435, filed on May 13th, 2022. The content of the application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63341435 | May 2022 | US |