RTP Payload Format for European Telecommunications Standards Institute (ETSI) European Standard ES 201 108 Distributed Speech Recognition Encoding
Extracted elements (19)
DSR architecture uses the remote device as a thin front-end client that processes and compresses speech optimally for recognition, sending feature streams to a speech engine server. This avoids the degradation caused by using mobile voice codecs (designed for audible quality) as input to speech recognizers.
Using fewer FPs per packet lowers bandwidth efficiency due to RTP/UDP/IP header overhead, while more FPs increase end-to-end delay and recognition latency, and raise the probability of catastrophic packet loss that speech recognizers struggle to handle. The recommendation to minimize FPs balances these competing concerns.
The assignment of an RTP payload type for this packet format is outside the scope of this document; the RTP profile in use will assign a payload type or specify dynamic binding.
After all FPs in a transmission segment are sent, the front-end SHOULD indicate the end of the current transmission segment by sending one or more Null FPs.
Each FP MUST be padded with 4 zeros at the end to align it to the 32-bit word boundary, making the size of an FP 96 bits (12 octets). This padding is separate from padding indicated by the P bit in the RTP header.
For the Null FP, the 4-bit CRC MUST be calculated the same way as described in section 6.2.4 of ES 201 108, and 4 zeros MUST be padded to the end to make it 32-bit word aligned.
If a high packet loss ratio is expected, implementations MAY explicitly choose a maxptime value shorter than the default (80ms) to reduce the impact of consecutive FP losses on speech recognizer performance.
It is RECOMMENDED that the number of FPs per DSR payload packet be minimized, subject to meeting the application's requirements on network bandwidth efficiency, to reduce end-to-end delay and catastrophic packet loss impact.
The 4-bit CRC MUST be calculated using the formula defined in section 6.2.4 of ES 201 108.
The maxptime parameter value SHOULD be a multiple of the frame pair size (20ms). If maxptime is not present, 80ms is assumed as the default.
The mel-cepstral frame format defined in ES 201 108 MUST be used. Pairs of quantized 10ms mel-cepstral frames MUST be grouped together and protected with a 4-bit CRC, forming a 92-bit FP.
Discontinuous Transmission (DTX) is supported: a set of DSR frames coding an unbroken speech segment is called a transmission segment. The end of a segment is determined when consecutive non-speech frames exceed a hangover time threshold (typically 1.5 seconds).
SDP mapping: MIME type 'audio' goes in 'm=', subtype 'dsr-es201108' goes in 'a=rtpmap' as encoding name, optional 'rate' goes in 'a=rtpmap' as clock rate, and 'ptime'/'maxptime' go in 'a=ptime'/'a=maxptime' attributes.
The ES 201 108 DSR RTP payload consists of a standard RTP header followed by a DSR payload formed by concatenating a series of ES 201 108 DSR Frame Pairs (FPs). FPs are always packed bit-contiguously beginning with the most significant bit.
The RTP timestamp corresponds to the sampling instant of the first sample encoded for the first FP in the packet. The timestamp clock frequency equals the sampling frequency (in samples). The timestamp increments by 160, 220, or 320 for each consecutive FP at 8, 11, or 16 kHz sampling rates respectively.
This document registers the MIME subtype audio/dsr-es201108 for the ES 201 108 DSR RTP payload format. Optional parameters include 'rate' (default 8000; valid values 8000, 11000, 16000), 'maxptime' (default 80ms), and 'ptime'.
Implementations using this payload are subject to the security considerations of the RTP specification (RFC 3550) and the RTP profile (RFC 3551). This payload format does not specify any additional security services.
A Null FP is defined by setting the first and second frame content to null (filling the first 88 bits with zeros), followed by the 4-bit CRC calculated per ES 201 108 section 6.2.4, and 4 zero padding bits for 32-bit alignment, totaling 96 bits.
Each Frame Pair (FP) for ES 201 108 is 96 bits (12 octets): two 44-bit mel-cepstral frames plus a 4-bit CRC, padded with 4 zero bits to achieve 32-bit word alignment. Each FP represents 20ms of original speech.