Functionality Principle RTProc Terminal
The RTProc Terminal is mainly composed of two main components which are shown in Figure 1,
- The audio frontend.
- The network backend.
The audio frontend is responsible to capture and playback the audio signals involved in the communication. Principally, the number of involved microphones as well as the loudspeakers is not limited. Also, different quality levels are supported, in particular narrowband, wideband, super wideband and fullband audio bandwidth.
Principally, the RTProc Terminal is an algorithm component realized in the RTProc Platform. However, compared to the components defined in the context of the RTProc Platform, the signal processing components involved in the RTProc Terminal are more specific. A mechanism exists to exploit multicore CPU architectures to speed up processing, and it is also possible to use algorithm components designed for the conventional RTProc Platform as one specific component in the RTProc Terminal.
Being defined based on a clearly specified application programmable interface (API) in C/C++ also the RTProc Terminal allows developers to focus solely on isolated specific components to be developed, investigated, optimized and verified in the context of an offline development system as well as the operation in real-time in public telephone networks.
Currently only audio signals are treated by the RTProc Terminal based on the RTProc technology. However, extensions towards video telephony have been prepared for integration.
In the capture-path of the terminal, the input signals are captured and preprocessed. Possible functionality realized in the preprocessor block would be to e.g. apply a beamforming preprocessor or a noise canceling. From here, the input signals enter the acoustic echo compensator in which a possible acoustic echo feedback can be removed. Finally the postprocessor processes the output signal which is passed to the network backend. A typical functionality of the postprocessor would be a single channel noise reduction which removes the unwanted noise from the captured audio signals to increase the communication quality.
In the playback-path, the signal from the far speaker (the person to be connected to) enters the audio frontend from the network backend. The signal is at first preprocessed before entering the acoustic echo compensator. A gain control or a bandwidth extension would be typical examples to be realized in the preprocessor block. Finally the signal is postprocessed before being played by the loudspeakers.
In the network backend, the audio signal coming from the audio frontend is prepared to be transmitted over the network: A source encoder transforms the audio samples into a binary packet which is passed to the network gateway which encapsulates the network topology.
The signals which are received from the connected partner are at first passed to the source decoder and from there to the adaptive jitter buffer. The task of the decoder is to transform the binary packages transmitted from the connected side into an audio signal. The jitter buffer shall compensate possible jitters in the timing of the arrival of the incoming packages. In case packages are lost during the transmission, an error concealment block compensates and removes possible signal gaps.
RTProc Terminal Screenshot
An exemplary image of a screeshot of the RTProc Terminal is given in Figure 1.