FreeCalypso > hg > gsm-codec-lib
view doc/TFO-transform @ 551:8f44d7064c56
document gsmfr-tfo-xfrm
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 05 Oct 2024 06:48:44 +0000 |
parents | doc/FR1-library-API@a3300483ae74 |
children | ebcf414b7d99 |
line wrap: on
line source
TFO transform: general definition and goal ========================================== "TFO transform" is the term adopted by Themyscira Wireless for the non-trivial transform on GSM codec frames called for by the TFO spec, 3GPP TS 28.062 section C.3.2.1.1. We have a goal of implementing TFO transform for all 3 classic GSM codecs (FR, HR and EFR) in our Themyscira codec libraries; in the present release, only GSM-FR version has been implemented. The input to this transform is the stream of received uplink frames from call leg A, possibly containing BFI frame gaps and SID frames if call leg A uses DTXu. The output from the transform is a "pristine" stream of good codec frames to be transmitted on the radio downlink for call leg B: good speech frames only in the non-DTXd case, or a mixture of good speech and valid SID frames with DTXd. TFO transform is expected to be an identity transform when the input is 100% good speech frames, but it becomes non-trivial when it has to insert synthetic "speech" frames for comfort noise or as error concealment. TFO transform for FRv1 ====================== This transform is implemented in libgsmfr2 in both DTXd=0 and DTXd=1 configurations. DTXd=0 version of FRv1 TFO transform is mostly identical with the Rx DTX handler preprocessor stage of regular speech decoding (the only difference is in details of the in-band homing function); DTXd=1 version is specific to this TFO/TrFO application. In addition to libgsmfr2 functions documented in FR1-library-API article, there is a command line test program that exercises our implementation of this TFO transform. Its usage is: gsmfr-tfo-xfrm [-d] input.hex output.hex Both input and output files are in TW-TS-005 Annex A hexadecimal format. The input will typically consist of TW-TS-001 extended RTP format, whereas the output is always emitted in the basic format, pure GSM-FR codec frames only. -d option enables DTXd, which is disabled by default.