Aspects of the present disclosure generally relate to wireless communication, and more particularly to techniques and apparatuses for controlling negative acknowledgement (NACK) transmissions for video communications.
Wireless communication systems are widely deployed to provide various telecommunication services, such as telephony, video, data, messaging, and broadcasts. Typical wireless communication systems may employ multiple-access technologies capable of supporting communication with multiple users by sharing available system resources (e.g., bandwidth, transmit power, and/or the like). Examples of such multiple-access technologies include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, single-carrier frequency divisional multiple access (SC-FDMA) systems, and time division synchronous code division multiple access (TD-SCDMA) systems.
These multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different wireless devices to communicate on a municipal, a national, a regional, and even a global level. An example of a telecommunication standard is Long Term Evolution (LTE). LTE is a set of enhancements to the Universal Mobile Telecommunications System (UMTS) mobile standard promulgated by Third Generation Partnership Project (3GPP). LTE is designed to better support mobile broadband Internet access by improving spectral efficiency, lowering costs, improving services, using new spectrum, and integrating with other open standards using OFDMA on the downlink (DL), SC-FDMA on the uplink (UL), and multiple-input multiple-output (MIMO) antenna technology.
In some aspects, a method of wireless communication may include determining, by a wireless communication device, that a video frame was not properly received by the wireless communication device; determining, by the wireless communication device, whether a reference frame is stored in a buffer of the wireless communication device based at least in part on determining that the video frame was not properly received; and selectively transmitting, by the wireless communication device, a negative acknowledgement (NACK) indication based at least in part on determining whether the reference frame is stored in the buffer.
In some aspects, a wireless communication device may include a memory and one or more processors operatively coupled to the memory. The one or more processors may be configured to determine that a video frame was not properly received by the wireless communication device; determine whether a reference frame is stored in a buffer of the wireless communication device based at least in part on determining that the video frame was not properly received; and selectively transmit a NACK indication based at least in part on determining whether the reference frame is stored in the buffer.
In some aspects, a non-transitory computer-readable medium may store one or more instructions for wireless communication. The one or more instructions, when executed by one or more processors, may cause the one or more processors to determine that a video frame was not properly received by a wireless communication device; determine whether a reference frame is stored in a buffer of the wireless communication device based at least in part on determining that the video frame was not properly received; and selectively transmit a NACK indication based at least in part on determining whether the reference frame is stored in the buffer.
In some aspects, an apparatus for wireless communication may include means for determining that a video frame was not properly received by the apparatus; means for determining whether a reference frame is stored in a buffer of the apparatus based at least in part on determining that the video frame was not properly received; and means for selectively transmitting a NACK indication based at least in part on determining whether the reference frame is stored in the buffer. Numerous other aspects are provided.
Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user equipment, wireless communication device, and processing system as substantially described herein with reference to and as illustrated by the accompanying drawings.
The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed herein, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purpose of illustration and description, and not as a definition of the limits of the claims.
So that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.
The detailed description set forth below, in connection with the appended drawings, is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for providing a thorough understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details.
The techniques described herein may be used for one or more of various wireless communication networks such as code division multiple access (CDMA) networks, time division multiple access (TDMA) networks, frequency division multiple access (FDMA) networks, orthogonal FDMA (OFDMA) networks, single carrier FDMA (SC-FDMA) networks, or other types of networks. A CDMA network may implement a radio access technology (RAT) such as universal terrestrial radio access (UTRA), CDMA2000, and/or the like. UTRA may include wideband CDMA (WCDMA) and/or other variants of CDMA. CDMA2000 may include Interim Standard (IS)-2000, IS-95 and IS-856 standards. IS-2000 may also be referred to as 1x radio transmission technology (1xRTT), CDMA2000 1X, and/or the like. A TDMA network may implement a RAT such as global system for mobile communications (GSM), enhanced data rates for GSM evolution (EDGE), or GSM/EDGE radio access network (GERAN). An OFDMA network may implement a RAT such as evolved UTRA (E-UTRA), ultra mobile broadband (UMB), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, and/or the like. UTRA and E-UTRA may be part of the universal mobile telecommunication system (UMTS). 3GPP long-term evolution (LTE) and LTE-Advanced (LTE-A) are example releases of UMTS that use E-UTRA, which employs OFDMA on the downlink and SC-FDMA on the uplink. UTRA, E-UTRA, UMTS, LTE, LTE-A and GSM are described in documents from an organization named “3rd Generation Partnership Project” (3GPP). CDMA2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2). The techniques described herein may be used for the wireless networks and RATs mentioned above as well as other wireless networks and RATs.
E-UTRAN 105 may support, for example, LTE or another type of RAT. E-UTRAN 105 may include eNBs 110 and other network entities that can support wireless communication for UEs 145. Each eNB 110 may provide communication coverage for a particular geographic area. The term “cell” may refer to a coverage area of eNB 110 and/or an eNB subsystem serving the coverage area on a specific frequency channel.
SGW 115 may communicate with E-UTRAN 105 and may perform various functions, such as packet routing and forwarding, mobility anchoring, packet buffering, initiation of network-triggered services, and/or the like. MME 120 may communicate with E-UTRAN 105 and SGW 115 and may perform various functions, such as mobility management, bearer management, distribution of paging messages, security control, authentication, gateway selection, and/or the like, for UEs 145 located within a geographic region served by MME 120 of E-UTRAN 105. The network entities in LTE are described in 3GPP TS 36.300, entitled “Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN); Overall description,” which is publicly available.
RAN 125 may support, for example, GSM or another type of RAT. RAN 125 may include base stations 130 and other network entities that can support wireless communication for UEs 145. MSC 135 may communicate with RAN 125 and may perform various functions, such as voice services, routing for circuit-switched calls, and mobility management for UEs 145 located within a geographic region served by MSC 135 of RAN 125. In some aspects, IWF 140 may facilitate communication between MME 120 and MSC 135 (e.g., when E-UTRAN 105 and RAN 125 use different RATs). Additionally, or alternatively, MME 120 may communicate directly with an MME that interfaces with RAN 125, for example, without IWF 140 (e.g., when E-UTRAN 105 and RAN 125 use a same RAT). In some aspects, E-UTRAN 105 and RAN 125 may use the same frequency and/or the same RAT to communicate with UE 145. In some aspects, E-UTRAN 105 and RAN 125 may use different frequencies and/or RATs to communicate with UEs 145. As used herein, the term base station is not tied to any particular RAT, and may refer to an eNB (e.g., of an LTE network) or another type of base station associated with a different type of RAT.
In general, any number of wireless networks may be deployed in a given geographic area. Each wireless network may support a particular RAT and may operate on one or more frequencies. A RAT may also be referred to as a radio technology, an air interface, and/or the like. A frequency or frequency ranges may also be referred to as a carrier, a frequency channel, and/or the like. Each frequency or frequency range may support a single RAT in a given geographic area in order to avoid interference between wireless networks of different RATs.
UE 145 may be stationary or mobile and may also be referred to as a mobile station, a terminal, an access terminal, a wireless communication device, a subscriber unit, a station, and/or the like. UE 145 may be a cellular phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, and/or the like. UE 145 may be included inside a housing 145′ that houses components of UE 145, such as processor components, memory components, and/or the like.
Upon power up, UE 145 may search for wireless networks from which UE 145 can receive communication services. If UE 145 detects more than one wireless network, then a wireless network with the highest priority may be selected to serve UE 145 and may be referred to as the serving network. UE 145 may perform registration with the serving network, if necessary. UE 145 may then operate in a connected mode to actively communicate with the serving network. Alternatively, UE 145 may operate in an idle mode and camp on the serving network if active communication is not required by UE 145.
UE 145 may operate in the idle mode as follows. UE 145 may identify all frequencies/RATs on which it is able to find a “suitable” cell in a normal scenario or an “acceptable” cell in an emergency scenario, where “suitable” and “acceptable” are specified in the LTE standards. UE 145 may then camp on the frequency/RAT with the highest priority among all identified frequencies/RATs. UE 145 may remain camped on this frequency/RAT until either (i) the frequency/RAT is no longer available at a predetermined threshold or (ii) another frequency/RAT with a higher priority reaches this threshold. In some aspects, UE 145 may receive a neighbor list when operating in the idle mode, such as a neighbor list included in a system information block type 5 (SIB 5) provided by an eNB of a RAT on which UE 145 is camped. Additionally, or alternatively, UE 145 may generate a neighbor list. A neighbor list may include information identifying one or more frequencies, at which one or more RATs may be accessed, priority information associated with the one or more RATs, and/or the like.
The number and arrangement of devices and networks shown in
Each eNB 210 may be assigned to a respective cell 220 and may be configured to provide an access point to a RAN. For example, eNB 110, 210 may provide an access point for UE 145, 250 to E-UTRAN 105 (e.g., eNB 210 may correspond to eNB 110, shown in
As shown in
A modulation and multiple access scheme employed by access network 200 may vary depending on the particular telecommunications standard being deployed. In LTE applications, OFDM is used on the downlink (DL) and SC-FDMA is used on the uplink (UL) to support both frequency division duplexing (FDD) and time division duplexing (TDD). The various concepts presented herein are well suited for LTE applications. However, these concepts may be readily extended to other telecommunication standards employing other modulation and multiple access techniques. By way of example, these concepts may be extended to Evolution-Data Optimized (EV-DO) or Ultra Mobile Broadband (UMB). EV-DO and UMB are air interface standards promulgated by the 3rd Generation Partnership Project 2 (3GPP2) as part of the CDMA2000 family of standards and employs CDMA to provide broadband Internet access to mobile stations. As another example, these concepts may also be extended to UTRA employing WCDMA and other variants of CDMA (e.g., such as TD-SCDMA, GSM employing TDMA, E-UTRA, and/or the like), UMB, IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM employing OFDMA, and/or the like. UTRA, E-UTRA, UMTS, LTE and GSM are described in documents from the 3GPP organization. CDMA2000 and UMB are described in documents from the 3GPP2 organization. The actual wireless communication standard and the multiple access technology employed will depend on the specific application and the overall design constraints imposed on the system.
The eNBs 210 may have multiple antennas supporting MIMO technology. The use of MIMO technology enables eNBs 210 to exploit the spatial domain to support spatial multiplexing, beamforming, and transmit diversity. Spatial multiplexing may be used to transmit different streams of data simultaneously on the same frequency. The data streams may be transmitted to a single UE 145, 250 to increase the data rate or to multiple UEs 145, 250 to increase the overall system capacity. This may be achieved by spatially precoding each data stream (e.g., applying a scaling of an amplitude and a phase) and then transmitting each spatially precoded stream through multiple transmit antennas on the DL. The spatially precoded data streams arrive at the UE(s) 145, 250 with different spatial signatures, which enables each of the UE(s) 145, 250 to recover the one or more data streams destined for that UE 145, 250. On the UL, each UE 145, 250 transmits a spatially precoded data stream, which enables eNBs 210 to identify the source of each spatially precoded data stream.
Spatial multiplexing is generally used when channel conditions are good. When channel conditions are less favorable, beamforming may be used to focus the transmission energy in one or more directions. This may be achieved by spatially precoding the data for transmission through multiple antennas. To achieve good coverage at the edges of the cell, a single stream beamforming transmission may be used in combination with transmit diversity.
In the detailed description that follows, various aspects of an access network will be described with reference to a MIMO system supporting OFDM on the DL. OFDM is a spread-spectrum technique that modulates data over a number of subcarriers within an OFDM symbol. The subcarriers are spaced apart at precise frequencies. The spacing provides “orthogonality” that enables a receiver to recover the data from the subcarriers. In the time domain, a guard interval (e.g., cyclic prefix) may be added to each OFDM symbol to combat inter-OFDM-symbol interference. The UL may use SC-FDMA in the form of a DFT-spread OFDM signal to compensate for high peak-to-average power ratio (PAPR).
The number and arrangement of devices and cells shown in
In LTE, an eNB may send a primary synchronization signal (PSS) and a secondary synchronization signal (SSS) for each cell in the eNB. The primary and secondary synchronization signals may be sent in symbol periods 6 and 5, respectively, in each of subframes 0 and 5 of each radio frame with the normal cyclic prefix (CP). The synchronization signals may be used by UEs for cell detection and acquisition. The eNB may send a Physical Broadcast Channel (PBCH) in symbol periods 0 to 3 in slot 1 of subframe 0. The PBCH may carry certain system information.
The eNB may send a Physical Control Format Indicator Channel (PCFICH) in the first symbol period of each subframe. The PCFICH may convey the number of symbol periods (M) used for control channels, where M may be equal to 1, 2 or 3 and may change from subframe to subframe. M may also be equal to 4 for a small system bandwidth, e.g., with less than 10 resource blocks. The eNB may send a Physical HARQ Indicator Channel (PHICH) and a Physical Downlink Control Channel (PDCCH) in the first M symbol periods of each subframe. The PHICH may carry information to support hybrid automatic repeat request (HARQ). The PDCCH may carry information on resource allocation for UEs and control information for downlink channels. The eNB may send a Physical Downlink Shared Channel (PDSCH) in the remaining symbol periods of each subframe. The PDSCH may carry data for UEs scheduled for data transmission on the downlink.
The eNB may send the PSS, SSS, and PBCH in the center 1.08 MHz of the system bandwidth used by the eNB. The eNB may send the PCFICH and PHICH across the entire system bandwidth in each symbol period in which these channels are sent. The eNB may send the PDCCH to groups of UEs in certain portions of the system bandwidth. The eNB may send the PDSCH to specific UEs in specific portions of the system bandwidth. The eNB may send the PSS, SSS, PBCH, PCFICH, and PHICH in a broadcast manner to all UEs, may send the PDCCH in a unicast manner to specific UEs, and may also send the PDSCH in a unicast manner to specific UEs.
A number of resource elements may be available in each symbol period. Each resource element (RE) may cover one subcarrier in one symbol period and may be used to send one modulation symbol, which may be a real or complex value. Resource elements not used for a reference signal in each symbol period may be arranged into resource element groups (REGs). Each REG may include four resource elements in one symbol period. The PCFICH may occupy four REGs, which may be spaced approximately equally across frequency, in symbol period 0. The PHICH may occupy three REGs, which may be spread across frequency, in one or more configurable symbol periods. For example, the three REGs for the PHICH may all belong in symbol period 0 or may be spread in symbol periods 0, 1, and 2. The PDCCH may occupy 9, 18, 36, or 72 REGs, which may be selected from the available REGs, in the first M symbol periods, for example. Only certain combinations of REGs may be allowed for the PDCCH.
A UE may know the specific REGs used for the PHICH and the PCFICH. The UE may search different combinations of REGs for the PDCCH. The number of combinations to search is typically less than the number of allowed combinations for the PDCCH. An eNB may send the PDCCH to the UE in any of the combinations that the UE will search.
As indicated above,
A UE may be assigned resource blocks 410a, 410b in the control section to transmit control information to an eNB. The UE may also be assigned resource blocks 420a, 420b in the data section to transmit data to the eNB. The UE may transmit control information in a physical UL control channel (PUCCH) on the assigned resource blocks in the control section. The UE may transmit only data or both data and control information in a physical UL shared channel (PUSCH) on the assigned resource blocks in the data section. A UL transmission may span both slots of a subframe and may hop across frequencies.
A set of resource blocks may be used to perform initial system access and achieve UL synchronization in a physical random access channel (PRACH) 430. The PRACH 430 carries a random sequence and cannot carry any UL data/signaling. Each random access preamble occupies a bandwidth corresponding to six consecutive resource blocks. The starting frequency is specified by the network. That is, the transmission of the random access preamble is restricted to certain time and frequency resources. There is no frequency hopping for the PRACH. The PRACH attempt is carried in a single subframe (e.g., of 1 ms) or in a sequence of few contiguous subframes and a UE can make only a single PRACH attempt per frame (e.g., of 10 ms).
As indicated above,
In the user plane, the L2 layer 520 includes, for example, a media access control (MAC) sublayer 530, a radio link control (RLC) sublayer 540, and a packet data convergence protocol (PDCP) sublayer 550, which are terminated at the eNB on the network side. Although not shown, the UE may have several upper layers above the L2 layer 520 including a network layer (e.g., IP layer) that is terminated at a packet data network (PDN) gateway on the network side, and an application layer that is terminated at the other end of the connection (e.g., a far end UE, a server, and/or the like).
The PDCP sublayer 550 provides retransmission of lost data in handover. The PDCP sublayer 550 also provides header compression for upper layer data packets to reduce radio transmission overhead, security by ciphering the data packets, and handover support for UEs between eNBs. The RLC sublayer 540 provides segmentation and reassembly of upper layer data packets, retransmission of lost data packets, and reordering of data packets to compensate for out-of-order reception due to hybrid automatic repeat request (HARQ). The MAC sublayer 530 provides multiplexing between logical and transport channels. The MAC sublayer 530 is also responsible for allocating the various radio resources (e.g., resource blocks) in one cell among the UEs. The MAC sublayer 530 is also responsible for HARQ operations.
In the control plane, the radio protocol architecture for the UE and eNB is substantially the same for the physical layer 510 and the L2 layer 520 with the exception that there is no header compression function for the control plane. The control plane also includes a radio resource control (RRC) sublayer 560 in Layer 3 (L3 layer). The RRC sublayer 560 is responsible for obtaining radio resources (i.e., radio bearers) and for configuring the lower layers using RRC signaling between the eNB and the UE.
As indicated above,
In the DL, upper layer packets from the core network are provided to controller/processor 605. The controller/processor 605 implements the functionality of the L2 layer. In the DL, the controller/processor 605 provides header compression, ciphering, packet segmentation and reordering, multiplexing between logical and transport channels, and radio resource allocations to the UE 145, 250 based, at least in part, on various priority metrics. The controller/processor 605 is also responsible for HARQ operations, retransmission of lost packets, and signaling to the UE 145, 250.
The TX processor 610 implements various signal processing functions for the L1 layer (e.g., physical layer). The signal processing functions includes coding and interleaving to facilitate forward error correction (FEC) at the UE 145, 250 and mapping to signal constellations based, at least in part, on various modulation schemes (e.g., binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), M-phase-shift keying (M-PSK), M-quadrature amplitude modulation (M-QAM)). The coded and modulated symbols are then split into parallel streams. Each stream is then mapped to an OFDM subcarrier, multiplexed with a reference signal (e.g., pilot) in the time and/or frequency domain, and then combined together using an Inverse Fast Fourier Transform (IFFT) to produce a physical channel carrying a time domain OFDM symbol stream. The OFDM stream is spatially precoded to produce multiple spatial streams. Channel estimates from a channel estimator 615 may be used to determine the coding and modulation scheme, as well as for spatial processing. The channel estimate may be derived from a reference signal and/or channel condition feedback transmitted by the UE 145, 250. Each spatial stream is then provided to a different antenna 620 via a separate transmitter TX, for example, of transceiver TX/RX 625. Each such transmitter TX modulates an RF carrier with a respective spatial stream for transmission.
At the UE 145, 250, each receiver RX, for example, of a transceiver TX/RX 640 receives a signal through its respective antenna 645. Each such receiver RX recovers information modulated onto an RF carrier and provides the information to the receiver (RX) processor 650. The RX processor 650 implements various signal processing functions of the L1 layer. The RX processor 650 performs spatial processing on the information to recover any spatial streams destined for the UE 145, 250. If multiple spatial streams are destined for the UE 145, 250, the spatial streams may be combined by the RX processor 650 into a single OFDM symbol stream. The RX processor 650 then converts the OFDM symbol stream from the time-domain to the frequency domain using a Fast Fourier Transform (FFT). The frequency domain signal comprises a separate OFDM symbol stream for each subcarrier of the OFDM signal. The symbols on each subcarrier, and the reference signal, are recovered and demodulated by determining the most likely signal constellation points transmitted by the eNB 110, 210, 230. These soft decisions may be based, at least in part, on channel estimates computed by the channel estimator 655. The soft decisions are then decoded and deinterleaved to recover the data and control signals that were originally transmitted by the eNB 110, 210, 230 on the physical channel. The data and control signals are then provided to the controller/processor 660.
The controller/processor 660 implements the L2 layer. The controller/processor 660 can be associated with a memory 665 that stores program codes and data. The memory 665 may include a non-transitory computer-readable medium. In aspects, memory 665 may include or be a buffer (e.g., for storing one or more reference frames), such as a jitter buffer and/or the like. In the UL, the controller/processor 660 provides demultiplexing between transport and logical channels, packet reassembly, deciphering, header decompression, control signal processing to recover upper layer packets from the core network. The upper layer packets are then provided to a data sink 670, which represents all the protocol layers above the L2 layer. Various control signals may also be provided to the data sink 670 for L3 processing. The controller/processor 660 is also responsible for error detection using an acknowledgement (ACK) and/or negative acknowledgement (NACK) protocol to support HARQ operations.
In the UL, a data source 675 is used to provide upper layer packets to the controller/processor 660. The data source 675 represents all protocol layers above the L2 layer. Similar to the functionality described in connection with the DL transmission by the eNB 110, 210, 230, the controller/processor 660 implements the L2 layer for the user plane and the control plane by providing header compression, ciphering, packet segmentation and reordering, and multiplexing between logical and transport channels based, at least in part, on radio resource allocations by the eNB 110, 210, 230. The controller/processor 660 is also responsible for HARQ operations, retransmission of lost packets, and signaling to the eNB 110, 210, 230.
Channel estimates derived by a channel estimator 655 from a reference signal or feedback transmitted by the eNB 110, 210, 230 may be used by the TX processor 680 to select the appropriate coding and modulation schemes, and to facilitate spatial processing. The spatial streams generated by the TX processor 680 are provided to different antenna 645 via separate transmitters TX, for example, of transceivers TX/RX 640. Each transmitter TX, for example, of transceiver TX/RX 640 modulates an RF carrier with a respective spatial stream for transmission.
The UL transmission is processed at the eNB 110, 210, 230 in a manner similar to that described in connection with the receiver function at the UE 145, 250. Each receiver RX, for example, of transceiver TX/RX 625 receives a signal through its respective antenna 620. Each receiver RX, for example, of transceiver TX/RX 625 recovers information modulated onto an RF carrier and provides the information to a RX processor 630. The RX processor 630 may implement the L1 layer.
The controller/processor 605 implements the L2 layer. The controller/processor 605 can be associated with a memory 635 that stores program code and data. The memory 635 may be referred to as a computer-readable medium. In aspects, memory 635 may include or be a buffer (e.g., for storing one or more reference frames), such as a jitter buffer and/or the like. In the UL, the controller/processor 605 provides demultiplexing between transport and logical channels, packet reassembly, deciphering, header decompression, control signal processing to recover upper layer packets from the UE 145, 250. Upper layer packets from the controller/processor 605 may be provided to the core network. The controller/processor 605 is also responsible for error detection using an ACK and/or NACK protocol to support HARQ operations.
In some aspects, one or more components of UE 145, 250 may be included in a housing 145′, as shown in
The number and arrangement of components shown in
A video frame 715 may include information that represents a still image that is part of a series of images that combine to create a video when presented sequentially. In some cases, a video frame 715 may be an instantaneous decoder refresh (IDR) frame 720. An IDR frame 720 is a type of intra-coded picture frame (e.g., an I-frame), which can be used to generate an image of a video without requiring any information from other frames (e.g., may not depend on any other frames). Upon receipt of an IDR frame 720, a receiving device 710 may clear the contents of a reference picture buffer, and all subsequently received frames can be decoded by the receiving device 710 without referencing any frames received prior to the IDR frame 720.
In some cases, a video frame 715 may be a long term reference (LTR) frame 725. An LTR frame 725 may be used to define one or more subsequent frames. For example, a subsequent frame may depend on an LTR frame 725 by indicating information in the LTR frame 725 that is the same for the subsequent frame, by indicating a difference between the subsequent frame and the LTR frame 725, and/or the like, rather than carrying all information for a frame, thereby permitting video compression and conserving network resources. An LTR frame 725 may act as a reference for an immediate subsequent frame and/or one or more subsequent frames that are not immediately subsequent to the LTR frame 725, in contrast to a short term reference (STR) frame, which may act as a reference frame for only a frame immediately subsequent to the STR frame. A subsequent frame that relies on a reference frame for image generation may be referred to as a predicted frame 730 (e.g., a P-frame).
As further shown in
As shown by reference number 735, the receiving device 710 may fail to properly receive a video frame 715 (e.g., shown as video frame F7). For example, the video frame 715 may be lost during transmission, may be received with an error, may not be decodable, and/or the like. In this case, the receiving device 710 may send a negative acknowledgement (NACK) indication 740 to the sending device 705 to indicate that the video frame 715 was not properly received by the receiving device 710. For example, the NACK indication 740 may indicate one or more sequence numbers of missing video frames 715. When the sending device 705 receives the NACK indication 740, the sending device 705 may send a new IDR frame 720 to the receiving device 710, as shown by reference number 745. The receiving device 710 may continue playback using the new IDR frame 720 and subsequently received predicted frames 730. However, due to the round trip time 750 associated with communicating the NACK indication 740 and the new IDR 720, the receiving device 710 may miss several video frames 715, causing interruption of video playback. Furthermore, the transmission of the NACK indication 740 and the new IDR 720 consumes network resources and processing resources. As described in more detail below in connection with
As indicated above,
As further shown in
As shown by reference number 820, the receiving device 810 may determine that a video frame 815 (e.g., F149) was not properly received by the receiving device 810. For example, the video frame 815 may be lost during transmission, may be received with an error, may not be decodable, and/or the like. In this case, rather than immediately sending a NACK indication, the receiving device 810 may determine whether a reference frame (e.g., an IDR frame, an LTR frame, an STR frame, and/or the like) is stored in a buffer of the receiving device 810. In some aspects, the buffer may be a de-jitter buffer (e.g., included in a memory or processor) of the receiving device 810, which may be used to buffer frames prior to decoding and/or playback in case frames are received out of order, are received with a delay, are lost during transmission, and/or the like. Additionally, or alternatively, frames stored in the buffer may be processed at an Internet Protocol Multimedia Subsystem (IMS) layer of the receiving device 810.
In some aspects, the receiving device 810 may selectively transmit a NACK indication based at least in part on determining whether the reference frame is stored in the buffer. For example, the receiving device 810 may prevent generation and/or transmission of the NACK indication when the reference frame is stored in the buffer, as shown by reference number 825 (e.g., shown as NACK 149 cancelled). In this case, the receiving device 810 may use the reference frame, stored in the buffer, to decode subsequent packets associated with the video frame 815 (e.g., packets that include frames that follow the lost video frame 815 in a video). For example, if the reference frame stored in the buffer is F150, then the receiving device 810 may use this reference frame to decode frames F151, F152, F153, and/or the like. In this way, the receiving device 810 may conserve processing resources and/or network resources by reducing and/or preventing generation and/or transmission of a NACK indication and a subsequent generation and/or transmission of a reference frame by the sending device 805 in response to receiving the NACK indication (e.g., as shown in
In some aspects, the receiving device 810 may at least one of generate or transmit the NACK indication when a reference frame is not stored in the buffer. In this case, when the buffer does not store a reference frame, the receiving device 810 may transmit a NACK indication to the sending device 805, and may receive a reference frame from the sending device 805 in response to the NACK indication, as described above in connection with
As indicated above,
As shown in
As further shown in
As further shown in
Although
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the aspects to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the aspects.
As used herein, the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. As used herein, a processor is implemented in hardware, firmware, or a combination of hardware and software.
It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the aspects. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based, at least in part, on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible aspects. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible aspects includes each dependent claim in combination with every other claim in the claim set. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the terms “set” and “group” are intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and/or the like), and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” and/or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
This application claims priority to U.S. Provisional Patent Application No. 62/510,411, filed on May 24, 2017, entitled “TECHNIQUES AND APPARATUSES FOR CONTROLLING NEGATIVE ACKNOWLEDGEMENT (NACK) TRANSMISSIONS FOR VIDEO COMMUNICATIONS,” which is hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62510411 | May 2017 | US |