The present invention relates to a method and a device for reducing the scheduling delay in a digital communication system. More particularly, and not by way of limitation, the invention relates to a method and a device for reducing the scheduling delay between a speech processing unit and one or more radio network nodes.
Speech processing units are an important part of modern digital communication systems such as, for example, mobile communication systems. These speech processing units are usually located in a switching node of the communication system and consist of a coding entity and a decoding entity, in short: a codec. In many third generation (3G) mobile communication systems, speech processing units are connected to the radio network via packet-switched transmission links. The bandwidth of these transmission links is shared by a large number of speech and/or data channels. Unlike narrow-band circuit-switched links, compressed speech frames can be transported over a packet-switched transmission link in a very short time. For example, in second generation (2G) Global System for Mobile Communications (GSM) systems, the transport of an adaptive multi-rate (AMR) speech packet over a 16-kbps Abis link takes about 17 ms, whereas in the Universal Mobile Telecommunications System (UMTS) the same packet can be sent over a 2-Mbps lu link in less than 1 ms.
The overall speech signal delay depends on the transmission delay and the scheduling delay between the radio network and the speech processing unit. Since the transmission delay between radio network nodes and speech processing unit is rather small, the speech signal delay between radio network nodes and speech processing unit is mainly limited by the availability of processing capacity of the speech processing unit. The maximum number of channels handled by the speech processing unit is limited by its total processing capacity divided by the speech coding algorithm complexity.
A speech coder provides processing capacity by means of one or several digital signal processors (DSPs). The processing of speech coding algorithms is usually based on small segments, so called frames. Every speech frame of each channel requires a certain amount of time to be processed, both for the uplink and the downlink direction. The processing time of these frames typically ranges between 10 and 20 milliseconds. For example, in GSM all speech codecs, i.e. Full Rate (FR), Enhanced Full Rate (EFR), Half Rate (HR) and Adaptive Multi-Rate (AMR) are based on 20 ms frame processing. The processing window of the speech processing unit is divided into a number of time slots. Some of the time slots in a frame are used for encoding tasks while the remainder are used for decoding tasks.
In a delay-optimised scenario, the processing power of the speech processing unit would be available for each of the channels exactly when needed, that is, each channel would run in an ideal time slot of the processing window, which minimizes the scheduling delay for all channels to be processed by the speech processing unit. In UMTS systems, for example, speech processing units are implemented in media gateways, which are connected to the radio network via asynchronous transfer mode (ATM). Since no synchronisation between the radio network nodes and the speech processing units in the core network exists, the data processing (more specifically, the encoding and decoding tasks in the speech processing unit) in general suffers from severe scheduling delays. These delays exist in the downlink direction from the speech processing unit to the radio network nodes as well as in the uplink direction from the radio network nodes to the speech processing unit.
In the downlink, a time alignment procedure to minimize the buffer delay in a radio network node (for example, a radio network controller (RNC)), is performed between the speech processing unit and the RNC. This time alignment procedure is proposed in the Third Generation Partnership Project (3GPP) standardization document 25.415 and is mainly based on a ‘request/acknowledge scheme’. That means, the radio network node orders the offset correction in the uplink direction, and the speech coder executes and acknowledges the time alignment in the downlink direction. By such a time alignment request, a specific encoding or decoding task is assigned to a new time slot in the speech processing unit. The time slot, which yields minimal scheduling delay for further processing of a data packet, is called the target time slot.
The problem with this procedure is that the radio network node is not aware whether the speech processing unit is able to fulfil the request at the moment it is requested to do so. Since the speech processing unit supports several channels simultaneously, the target time slot minimizing the scheduling delay may currently be used for processing another user's data packet. This is even more likely when the speech processing unit is heavily loaded, for example during so called ‘busy-hours’. In this case, the speech processing unit returns a ‘time alignment not possible’ to the requesting radio network node. As described in the 3GPP standardization document 25.415, this problem is currently being solved by repeating the time alignment request for a certain number of times. However, it is fairly unlikely that the moment that any of these time alignment requests is received at the speech processing unit will exactly match the moment that the speech processing unit releases the target time slot (or another delay-reducing time slot) for processing. On the other hand, too many time alignment requests in short intervals will result in a lot of unnecessary traffic between the speech processing unit and the radio network nodes.
In the uplink, there also exists a certain probability that data packets coming from a radio network node may be processed with severe scheduling delays in the speech processing unit.
The above described problems in downlink and uplink transmission exist both in the case of a single radio network node communicating with a speech processing unit, and in the case of multiple radio network nodes communicating with a single speech processing unit.
There is a need for a method and a device for efficiently reducing the scheduling delay of data packets between a speech processing unit and one or several radio network nodes in a digital communication system in the downlink direction as well as in the uplink direction, and also for reducing the roundtrip delay, i.e. the combination of scheduling delay in the uplink and downlink directions.
It is therefore an object of the present invention to overcome the above mentioned problems and to provide a method of reducing a scheduling delay between a speech processing unit and a radio network node, wherein data packets associated with a channel are processed in the speech processing unit in a plurality of time slots that are subunits of frames. The method includes the steps of receiving timing information from the radio network node that identifies a beginning and an ending of processing periods in the radio network node; and selecting in the speech processing unit, one of the time slots within a first frame as a target time slot. The target time slot has a position within the first frame such that the scheduling delay between the ending of a processing period in the radio network node and the beginning of the target time slot is minimized. This is followed by assigning a data packet associated with the channel to the target time slot within the first or a subsequent frame such that the scheduling delay is reduced; and adjusting the phase of the frame after assigning the data packet to the target time slot by erasing superfluous data packets. With this method, the scheduling delay between a speech processing unit and a radio network node is efficiently reduced, time alignment is performed in an efficient manner, and unnecessary time alignment requests, which may not be fulfilled when requested, are avoided.
In another aspect, the present invention is directed to a computer program product comprising code portions run on a computing device for reducing a scheduling delay between a speech processing unit and a radio network node. Data packets associated with a channel are processed in the speech processing unit in a plurality of time slots that are subunits of frames. The computer program product includes a timing code portion in the speech processing unit that receives timing information from the radio network node. The timing information identifies a beginning and an ending of processing periods in the radio network node. A selecting code portion in the speech processing unit selects one of the time slots within a first frame as a target time slot. The target time slot has a position within the first frame such that the scheduling delay between the ending of a processing period in the radio network node and the beginning of the target time slot is minimized. The computer program product also includes an assigning code portion that assigns a data packet associated with the channel to the target time slot within the first or a subsequent frame such that the scheduling delay is reduced; and an adjusting code portion that adjusts the phase of the frame after assigning the data packet to the target time slot by erasing superfluous data packets.
In yet another aspect, the present invention is directed to a device within a speech processing unit for reducing a scheduling delay between the speech processing unit and a radio network node, wherein data packets associated with a channel are processed in the speech processing unit in a plurality of time slots that are subunits of frames. The device includes means for receiving timing information from the radio network node that identifies a beginning and an ending of processing periods in the radio network node; and means for utilizing the timing information to select one of the time slots within a first frame as a target time slot. The target time slot has a position within the first frame such that the scheduling delay between the ending of a processing period in the radio network node and the beginning of the target time slot is minimized. The device also includes means for assigning a data packet associated with the channel to the target time slot within the first or a subsequent frame such that the scheduling delay is reduced; and means for adjusting the phase of the frame after assigning the data packet to the target time slot by erasing superfluous data packets.
In the following section, the invention will be described with reference to exemplary embodiments illustrated in the figures, in which:
a-3b are diagrams of a frame that consists of several time slots for encoding and decoding tasks;
a-4b are diagrams illustrating transmission between a speech processing unit and a radio network node in downlink and uplink, respectively; and
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular embodiments, circuits, signal formats etc. in order to provide a thorough understanding of the present invention. It will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In particular, while the different embodiments described herein below are incorporated in a Wideband Code Division Multiple Access (WCDMA) communication system, the present invention is not limited to such an implementation, but may be also used in other communication systems such as, for example the General Packet Radio Service (GPRS) or Enhanced Data rates for GSM Evolution (EDGE) systems. Moreover, those skilled in the art will appreciate that the functions explained herein below may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed microprocessor or general purpose computer, using an application specific integrated circuit (ASIC), and/or using one or more digital signal processors (DSPs).
With respect to assigning a data packet of a specific channel to a new time slot position (as compared to the original time slot position associated with the same channel) it is apparent to someone skilled in the art that making use of free time slots which are not in use by the speech processing unit in the first or subsequent frames is the most straightforward approach. The advantage of this procedure is that it can easily be implemented and does not have any impact on the processing of other users' data in the speech processing unit.
However, if the speech processing unit experiences a heavy load due to high data traffic, the situation may occur, for example, that there are no free time available, or only a few free time slots in each frame are available, which may yield the same or an even increased scheduling delay if used to process the data packets of the channel for which time alignment has been requested. In this case, some or all of the time slots within a frame may be rearranged in order to provide a time slot with reduced scheduling delay to the data packet of the channel for which time alignment has been requested. It is apparent to one skilled in the art, that various schemes or algorithms may be applied in order to do the above mentioned rearrangement. These may vary from being easily implemented schemes to very sophisticated algorithms. The advantage of this procedure is that it can be applied in any situation and at any time, even if the speech processing unit experiences high processing load as in so called ‘busy-hours’.
Even if the scheduling delay can be reduced for a certain channel for a first frame, it may also be possible that the scheduling delay may be further reduced for the same channel by assigning data packets of the above channel to new time slots, and then adjusting the phase after assigning a sequence of data packets to new time slots in a sequence of frames. If one employs this procedure, the scheduling delay may iteratively be reduced until it reaches a certain level, e.g., until it becomes minimal or falls below a predefined scheduling delay limit.
The speech processing unit performs encoding and decoding tasks for various channels. Therefore it is beneficial to reduce the scheduling delay not only for data packets associated with a single channel, but for data packets associated with more than one channel and hence one or more radio network nodes. In this case it is necessary for the speech processing unit to control all time alignment requests that are to be processed related to the data packets of different channels. Therefore, the present invention provides a method for storing each time alignment request until it has been fulfilled, and for making use of a specific delay metric to calculate the ‘overall’ scheduling delay for the data packets of the different channels. One example of a suitable metric is the sum of all absolute delay values of channels for which time alignment is to be performed. However, as will be apparent to one skilled in the art, other metrics may also be suitable. The scheduling delay may then be reduced for all channels for which combined time alignment is performed.
With this approach, the scheduling delay may be optimized for all channels that are to be processed in the speech processing unit. Hence, with a rather low signaling effort consisting mainly of a one time alignment request for each channel, the scheduling delay may be optimized. If one assumes that the delay is optimized with respect to the above mentioned example of a metric consisting of the sum of all absolute delay values, the ‘overall’ scheduling delay would thus be minimal. If scheduling delay is optimized, system performance is consequently improved for all involved channels.
The speech processing unit performs encoding and decoding tasks, wherein encoding tasks correspond to the processing of data packets that are to be transferred to radio network nodes in the downlink direction, and wherein decoding tasks correspond to the processing of data packets that are received by the speech processing unit in the uplink direction. It is fairly straightforward to reduce scheduling delay in a single transmission direction. Therefore, the present invention may first reduce the scheduling delay, for example, for downlink encoding tasks of the speech processing unit in the transmission direction from the speech processing unit to the radio network nodes. The present invention may then provide a method for reducing the scheduling delay in the uplink direction. Alternatively, the present invention may first reduce the scheduling delay for uplink decoding tasks of the speech processing unit in the transmission direction from the radio network nodes to the speech processing unit. The present invention may then provide a method for reducing the scheduling delay in the downlink direction.
If data packets are assigned to new time slots of the speech processing unit for the uplink direction, the user may experience audible interferences like unwanted ‘clicks’ or other unwanted noises. However, there are times during the uplink transmission, for example during speech breaks of a user, when no information is transmitted. In UMTS systems, a discontinuous transmission (DTX) mode is activated if no voice activity of a user is detected. In this case, data packets may be assigned to new time slots, and because no user information is being transmitted, audible interferences are avoided. Therefore, to minimize scheduling delay in this case, it is advantageous to assign data packets as quickly as possible, that is, to the identified target time slot in the first and subsequent frames.
In order to further reduce the scheduling delay between the speech processing unit and the radio network nodes, it becomes clear from the above that scheduling delay needs to be reduced in both transmission directions, downlink and uplink, in a combined manner. The present invention provides a method for reducing the scheduling delay in both transmission directions, that is, the roundtrip delay in a combined manner. The present invention may be implemented as a hardware solution or as a computer program product comprising program code portions for performing the steps discussed above when the computer program product is run on a computing device. The computer program product may be stored on a data carrier in fixed association with or removable from the computing device.
The scheduling delay may be further reduced if the steps of assigning a data packet to a new time slot and adjusting the phase are performed more than one time and hence for more than one frame. Therefore, the present invention provides a device that assigns data packets associated with a channel to new time slots in a sequence of frames, and adjusts the phase for the same sequence of frames, thereby further reducing the scheduling delay.
As also described above, the scheduling delay may be reduced for data packets that are associated with more than one channel and one or more radio network nodes. In this case, the speech processing unit needs to control all of the time alignment requests that are to be processed related to the data packets of different channels. Therefore, the present invention provides a device capable of storing each time alignment request until it has been fulfilled, and making use of a specific delay metric to calculate the ‘overall’ scheduling delay for the data packets associated with more than one channel and one or more radio network nodes. Independent of whether a simple or sophisticated delay metric is applied, the device is capable of optimizing the scheduling delay with respect to the delay metric.
Referring to
a-3b are diagrams of a frame that consists of several time slots for encoding and decoding tasks. The SPU 100 is responsible for encoding and decoding tasks, where one or more DSPs within the SPU may perform these tasks. Speech processing is performed in frames 300 of a particular duration such as 20 ms. Each frame is subdivided into a plurality of time slots. Some of the time slots may be assigned to encoding tasks 310, while other time slots are used for decoding tasks 320, as depicted in
a and 4b are diagrams illustrating transmission between a speech processing unit and a radio network node in the downlink and the uplink directions. While
As is apparent to one skilled in the art, the timing grid of
After the target time slot 415 has been identified in each frame, time slots 4201, 4202, 4203, 4204, responsible for processing data in the SPU for a specific radio network node are reassigned to new slots within subsequent frames in order to reduce scheduling delay. This may be done in several steps over a sequence of frames until assignment of the target time slot has been reached, or may be performed in a single step as shown in
The beginning of a frame in
After the target time slot has been identified, the time slot in each frame responsible for processing data packets for a specific radio network node, here slots 4501, 4502, 4503, 4504, are changed in order to reduce scheduling delay. This may be done in several steps over a sequence of frames until assignment of the target time slot has been reached, or may be performed in a single step as shown in
The target time slot for network node 1 (TT1) with respect to minimal scheduling delay is the third time slot of each SPU frame. The target time slot for network node 2 (TT2) is the fifth time slot of each SPU frame. In SPU frame 1, speech processing tasks for radio network node 1 are performed in the first time slot. In the second, third, and fourth frames, the assignment is changed to the third time slot. An immediate change from any time slot in a frame of the speech processing unit to the corresponding target time slot may in particular be done in the uplink, if the discontinuous transmission (DTX) mode is applied. If the used time slot is changed and phase adjustment is performed while DTX mode is used, audible defects or disturbances are avoided.
Regarding radio network node 2, speech processing tasks for radio network node 2 are performed in the second time slot in SPU frames 1 and 2. After these first two frames, the assignment is changed to the fourth time slot in frame 3, and to the fifth time slot in frame 4. Therefore, the assignment of the target time slot is achieved in an iterative manner according to the present invention.
While the present invention has been described with respect to particular embodiments, those skilled in the art will recognize that the present invention is not limited to the specific embodiments described and illustrated herein. Therefore, while the present invention has been described in relation to its preferred embodiments, it is to be understood that this disclosure is only illustrative in nature. Accordingly, it is intended that the invention be limited only by the scope of the claims appended hereto.
Number | Name | Date | Kind |
---|---|---|---|
5914950 | Tiedemann et al. | Jun 1999 | A |
6205125 | Proctor et al. | Mar 2001 | B1 |
7164919 | Chen | Jan 2007 | B2 |
20020055356 | Dulin et al. | May 2002 | A1 |
20030100314 | Czaja et al. | May 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20040204932 A1 | Oct 2004 | US |