Embodiment
At first method embodiment of the present invention is described.
As shown in Figure 1, the method for removing data package jitter for one embodiment of the invention can comprise:
S101: receive a plurality of packets.
Wherein, packet can be meant the packet of any one form, for example the packet of the packet of the packet of speech business, data service or signaling form.
In addition, can use sequence number (SN, Sequence Number) to come the time order and function ordinal relation of identification data packet, for example, the sequence number of supposing the 1st packet is that the sequence number of 1, the 2 packet is 2, by that analogy, then the sequence number of n packet is n.For convenience of explanation, follow-up time order and function for packet adopts sequence number to represent in proper order, and the time of the more little representative data packet generation of sequence number more early.
S102: if a plurality of packet occurs out of order or shake, then all or part packet in a plurality of packets of buffer memory.
Generally, a plurality of packets all are to arrive a network entity successively, but owing to certain or some reason, for example terminal certain packet of issuing network side is eating dishes without rice or wine to be retransmitted repeatedly, a plurality of packets also may not be to arrive a network entity successively, for example just might could arrive network entity after the sequence number packet bigger than it at the packet of eating dishes without rice or wine to be retransmitted repeatedly, that is, a plurality of packets have taken place out of order.
In addition, under the normal condition, a plurality of packets all are to arrive a network entity with identical Transmission Time Interval, but owing to certain or some reason, a plurality of packets may not be to arrive a network entity with identical Transmission Time Interval, promptly, shake has taken place in a plurality of packets, for example, suppose that a plurality of packets comprise that sequence number is respectively 1,2, three packets of 3, under the normal condition, sequence number is that 1 packet and sequence number are to need at interval between 2 the packet that 20ms arrives network entity, sequence number is that 2 packet and sequence number are to need also at interval between 3 the packet that 20ms arrives network entity, but for a certain reason, sequence number be 1 packet and sequence number be between 2 the packet at interval 20ms arrived network entity, but sequence number is 2 packet and sequence number be between 3 the packet at interval 25ms arrived network entity, like this, a plurality of packet just is not to arrive network entity with identical Transmission Time Interval.
When receiving a plurality of packet, can judge whether the order of these packets arrival is correct, if it is out of order to illustrate that then a plurality of packets do not occur, otherwise it is out of order to illustrate that a plurality of packets have occurred.In addition, can judge also whether the time interval of these packets arrival is consistent, if, illustrate that then shake does not appear in a plurality of packets, otherwise, illustrate that shake has appearred in a plurality of packets.
For receiving a plurality of packets out of order or shake, can be earlier once with a plurality of data pack buffers.Concrete, if spatial cache is bigger, then can with a plurality of packets all buffer memory get up, certainly, if spatial cache is smaller, then can only buffer memory part packet, this moment can the big a part of packet of buffer memory sequence number, that is, in this part packet of buffer memory, the sequence number of each packet all sequence number than any one packet of buffer memory not is big.For example, suppose that spatial cache can 5 packets of buffer memory, if a plurality of packets that receive are 3 packets, then spatial cache can be with the whole buffer memorys of a plurality of packets, but if a plurality of packets that receive are 6 packets, then spatial cache just can not the whole packet of buffer memory, and at the most can only 5 packets of buffer memory, but also be 5 packets that should the back in 6 packets receive.
The size of spatial cache can be decided according to the actual requirements, and also can decide according to certain or some indexs.For example, the size of spatial cache can be decided according to the time delay scope of keeping for buffer memory, and keep for the time delay scope of buffer memory to determine to the time delay accepted of the subscriber equipment that receives packet by the subscriber equipment that sends packet to the real time and the packet of the subscriber equipment that receives packet by the subscriber equipment that sends packet according to packet, perhaps according to packet by the real time of the subscriber equipment that sends packet to the subscriber equipment that receives packet, packet is determined to the time delay accepted of the subscriber equipment that receives packet and the retransmission delay time of eating dishes without rice or wine by the subscriber equipment that sends packet, wherein, packet can be obtained by actual measurement by the real time of the subscriber equipment that sends packet to the subscriber equipment that receives packet, packet can be decided according to actual conditions to the time delay accepted of the subscriber equipment that receives packet by the subscriber equipment that sends packet, generally all bigger than the real time, the retransmission delay time of eating dishes without rice or wine can be provided with according to actual needs, also can decide according to the number of retransmissions of eating dishes without rice or wine of the reality of statistics.
Being carried on the HSUPA channel with the circuit domain speech business is example.The tentation data bag is 280ms by the time delay accepted that the subscriber equipment that sends packet arrives the subscriber equipment that receives packet, packet is 160ms by the real time that the subscriber equipment that sends packet arrives the subscriber equipment that receives packet, the overall delay of eating dishes without rice or wine so to retransmit and reserve to buffer memory is 120ms, because the main effect of buffer memory is exactly to remove to eat dishes without rice or wine to retransmit the shake that causes, so, give to eat dishes without rice or wine to retransmit and respectively reserve identical time delay with buffer memory, be 60ms, the spatial cache of 60ms time delay can 3 AMR VoPs of buffer memory.Certainly, above-mentioned a kind of mode of just calculating the time delay scope of keeping for buffer memory, in actual applications, the time delay scope that can also have multiple mode to calculate to keep for buffer memory.A kind of mode wherein is, suppose that HSUPA adopts 2ms Transmission Time Interval and non-scheduling mode, giving the overall delay of eating dishes without rice or wine to retransmit with the buffer memory reservation is 120ms, in the manner described above, should respectively reserve 60ms to eat dishes without rice or wine re-transmission and buffer memory, but find through statistics, eat dishes without rice or wine to retransmit average out to 3 times, retransmitting each time needs 16ms, and eating dishes without rice or wine to retransmit the actual maximum delay that causes so is 48ms, like this, keep for the time delay scope of buffer memory can be adjusted to 72ms.
S103: send a plurality of packets with identical Transmission Time Interval.
Once mentioned at S102,, then can hold all continuous packets, like this, can send each packet with identical Transmission Time Interval if the space of buffer memory is enough big.But, if the insufficient space of buffer memory is to hold all continuous packets, and can only hold the bigger packet of a part of sequence number, then can not send there being data in buffer to wrap in synchronization, afterwards, send each cached data packet with identical Transmission Time Interval again, wherein, cached data packet is not identical with the Transmission Time Interval that sends each cached data packet with the time interval that sends for the first time between the cached data packet to send all.
Still being carried on the HSUPA channel with the circuit domain speech business is example, supposes that a plurality of packets have 5 packets, and sequence number is respectively 1,2,3,4,5.If the space of buffer memory can hold this 5 packets, then can send this 5 packets according to sequence number order from low to high by every 20ms; If the space of buffer memory can only hold 3 packets, then buffer memory is that sequence number is 5,4,3 packet, like this, constantly is that 1,2 packet sends with sequence number at first, during the 20ms of interval, transmitting Sequence Number is 3 packet again, same, and transmitting Sequence Number successively with the interval of 20ms respectively is 4,5 packet, certainly, 20ms is provided with a kind of time, in actual applications, all is feasible as long as the delay variation scope that can accept with core net sends packet at interval.
The executive agent of said method embodiment can be RNC, shake removal function can be at the PDCP (PDCP of RNC, Packet Data Conver Protocol) realizes in the layer, also can be at the Radio Link control (RLC of RNC, Radio Link Control) realizes in the layer, certainly, shake removal function also can be arranged on other sides of RNC, and what a plurality of packets that RNC sends arrived is core net.The executive agent of said method embodiment also can be certain functional unit in the terminal, and what a plurality of packets that this functional unit sends arrived is the decoder of terminal.In addition, the executive agent of said method embodiment can also be any one network element that may receive a plurality of packets of out of order or shake, enumerates no longer one by one here.
Said method embodiment can realize that as shown in Figure 2, a kind of jittering device that goes for one embodiment of the invention can comprise: packet receiving element 201 is used to receive a plurality of packets by the device of various ways; Buffer unit 202 if a plurality of packet occurs out of order or shake, then is used for all or part packet of a plurality of packets of data cached bag receiving element 201 receptions; Packet transmitting element 203, be used for sending all packets of a plurality of packets of buffer unit 202 buffer memorys with identical Transmission Time Interval, perhaps send all not cached data packet at synchronization, send buffer unit 202 cached data packet with identical Transmission Time Interval again, wherein, cached data packet is not identical with the Transmission Time Interval that sends each buffer unit 202 cached data packet with the time interval that sends for the first time between buffer unit 202 cached data packet to send all.
For a plurality of packets out of order or shake that packet receiving element 201 receives, buffer unit 202 can be earlier with a plurality of data pack buffers once.Concrete, if the memory space of buffer unit 202 is bigger, then can with a plurality of packets all buffer memory get up, certainly, if the memory space of buffer unit 202 is smaller, then can only buffer memory part packet, this moment can the big a part of packet of buffer memory sequence number.For example, suppose that buffer unit 202 can 5 packets of buffer memory, if a plurality of packets that packet receiving element 201 receives are 3 packets, then buffer unit 202 can be with the whole buffer memorys of a plurality of packets, but if a plurality of packets that receive are 6 packets, then buffer unit 202 just can not the whole packet of buffer memory, and at the most can only 5 packets of buffer memory, but also be 5 packets that packet receiving element 201 should the back receives in 6 packets.
The capacity of buffer unit 202 can be decided according to the actual requirements, and also can decide according to certain or some indexs.For example, the capacity of buffer unit 202 can be decided according to the time delay of buffer unit 202 data cached bags, and the time delay of buffer unit 202 data cached bags can be determined to the time delay accepted of the subscriber equipment that receives packet by the subscriber equipment that sends packet to the real time and the packet of the subscriber equipment that receives packet by the subscriber equipment that sends packet according to packet, perhaps according to packet by the real time of the subscriber equipment that sends packet to the subscriber equipment that receives packet, packet is determined to the time delay accepted of the subscriber equipment that receives packet and the retransmission delay time of eating dishes without rice or wine by the subscriber equipment that sends packet, wherein, packet can be obtained by actual measurement by the real time of the subscriber equipment that sends packet to the subscriber equipment that receives packet, packet can be decided according to actual conditions to the time delay accepted of the subscriber equipment that receives packet by the subscriber equipment that sends packet, generally all bigger than the real time, the retransmission delay time of eating dishes without rice or wine can be provided with according to actual needs, also can decide according to the number of retransmissions of eating dishes without rice or wine of the reality of statistics.
With said apparatus be arranged among the RNC, to be carried on the HSUPA channel be example in the circuit domain speech business.The tentation data bag is 280ms by the time delay accepted that the subscriber equipment that sends packet arrives the subscriber equipment that receives packet, packet is 160ms by the real time that the subscriber equipment that sends packet arrives the subscriber equipment that receives packet, the overall delay of eating dishes without rice or wine so to retransmit with buffer unit 202 data cached bags is 120ms, because the main effect of buffer unit 202 data cached bags is exactly to remove to eat dishes without rice or wine to retransmit the shake that causes, so, give to eat dishes without rice or wine to retransmit and respectively reserve identical time delay with buffer unit 202 data cached bags, be 60ms, the capacity of the corresponding buffer unit 202 of 60ms time delay is 3 AMR VoPs.Certainly, above-mentioned a kind of mode of just calculating the time delay of buffer unit 202 data cached bags in actual applications, can also have multiple mode to calculate the time delay of buffer unit 202 data cached bags.A kind of mode wherein is, suppose that HSUPA adopts 2ms Transmission Time Interval and non-scheduling mode, giving the overall delay of eating dishes without rice or wine to retransmit with buffer unit 202 data cached bags reservations is 120ms, in the manner described above, should respectively reserve 60ms to eat dishes without rice or wine re-transmission and buffer unit 202 data cached bags, but find through statistics, eat dishes without rice or wine to retransmit average out to 3 times, retransmitting each time needs 16ms, eating dishes without rice or wine to retransmit the actual maximum delay that causes so is 48ms, like this, the time delay of buffer unit 202 data cached bags can be adjusted to 72ms.
If the space of buffer unit 202 is enough big, then buffer unit 202 can hold all continuous packets, and like this, packet transmitting element 203 can send each packet with identical Transmission Time Interval.But, if the insufficient space of buffer unit 202 is to hold all continuous packets, and can only hold the bigger packet of a part of sequence number, then packet transmitting element 203 can not send there being data in buffer to wrap in synchronization, afterwards, send each cached data packet with identical Transmission Time Interval again, wherein, cached data packet is not identical with the Transmission Time Interval that sends each cached data packet with the time interval that sends for the first time between the cached data packet to send all.Need to prove, if a part of packet in a plurality of packets that buffer unit 202 data cached bag receiving elements receive, then packet transmitting element 203 can be at a time, and that receive and buffer unit 202 does not have another part packet of buffer memory together to send with packet receiving element 201.
Still being carried on the HSUPA channel with the circuit domain speech business is example, supposes that a plurality of packets have 5 packets, and sequence number is respectively 1,2,3,4,5.If buffer unit 202 can hold this 5 packets, then packet transmitting element 203 can send this 5 packets according to sequence number order from low to high by every 20ms; If buffer unit 202 can only hold 3 packets, then buffer unit 202 buffer memorys is that sequence number is 5,4,3 packet, like this, packet transmitting element 203 constantly is that 1,2 packet sends with sequence number at first, during the 20ms of interval, transmitting Sequence Number is 3 packet again, equally, transmitting Sequence Number successively with the interval of 20ms respectively is 4,5 packet, certainly, 20ms is provided with a kind of time, in actual applications, all is feasible as long as the delay variation scope that can accept with core net sends packet at interval.
Said apparatus can be included among the RNC, and at this moment, what a plurality of packets that said apparatus sends arrived is core net.In addition, said apparatus also can be included in the terminal, and what a plurality of packets that send of said apparatus arrived so is the decoder of terminal.In addition, said apparatus can also be included in any one network element that may receive a plurality of packets of out of order or shake, enumerates no longer one by one here.
Said method and device can be applied to any a plurality of packet, and business out of order or shake may take place, the networking telephone (the VoIP of packet domain (PS) for example, Voice over Internet Protocol) business, when circuit domain (CS) speech business is carried on the DCH channel, can be applied to video telephone (VP) business, video stream traffic etc.
The above only is a preferred implementation of the present invention; should be pointed out that for those skilled in the art, under the prerequisite that does not break away from the principle of the invention; can also make some improvements and modifications, these improvements and modifications also should be considered as protection scope of the present invention.