ADT公司G729 方案指标

ADT公司G729 方案指标

G.729 Voice Compression Algorithm and its many annexes

G.729 is used in wireless voice, voice-over-packet-networks, multimedia, and voice circuit multiplexing applications.

FEATURES

  1. Functions are C-callable.
  2. Multi-channel capable.
  3. The encoder and decoder meet all ITU G.729 compliance and interoperability requirements.
  4. Can be integrated with echo cancellers.
  5. Capable of in-band synchronization.
  6. Available as part of Adaptive Digital’s G.PAK turnkey DSP software packages

 

Platform

G.729

G.729 A

G.729 B

G.729 AB

G.729 D

G.729 F

G.729 I & E

TI TMS320C64x+ / C66x

Available

Available

Available

Available

Available

Available

 

TI TMS320C67/674x

Available

Available

Available

Available

Available

Available

Available

TI TMS320C64x

Available

Available

Available

Available

Available

Available

 

TI TMS320C62x

 

 

 

Available

 

 

 

TI TMS320C55x

Available

Available

Available

Available

Available

 

 

TI TMS320C54x

Available

Available

Available

Available

Available

 

 

ARM9E

 

 

 

Available

 

 

 

ARM11

 

 

 

Available

 

 

 

ARM Cortex A8

 

Available

 

Available

 

 

 

ARM Cortex A9

 

Available

 

Available

 

 

 

ARM Cortex A15

 

Available

 

Available

 

 

 

ARM Cortex M3

 

Available

 

Available

 

 

 

ARM Cortex M4

 

Available

 

Available

 

 

 

Win32 Static**

 

 

 

Available

Available

 

 

Win32 DLL**

 

Available

 

Available

Available

 

 

 

** Windows 32 DLL - Contact Sales for specifications.

DESCRIPTION

The Adaptive Digital Technologies' G.729 voice coder software is an implementation of ITU Recommendation G.729 8 kbit/s CS-ACELP Speech Codec.

G.729 is an umbrella of vocoder standards. The G.729 vocoders perform voice compression at bit rates that vary between 6.4 and 12.4 kbps. The figure below shows an example of the G.729 vocoder connected to a digital communication channel. The input speech is fed into the G.729 encoder as a stream of16-bit PCM samples, sampled at a rate of 8000 samples/second. The G.729 encoder compresses the data into the Encode Stream. The encoder also outputs the DTX status, which is discussed later in this data sheet. The digital channel carries the data stream and DTX status to the decoder, which regenerates a representation of the original speech, and outputs it as the output speech – again as 16-bit PCM at a sampling rate of 8000 samples/second. Since G.729 is a uses lossy compression, the output speech is not identical to the input speech.

The decoder is also fed a frame erase flag, which is an indication that the decode stream has temporarily been corrupted. The decoder is able to “smooth over” the output , doing its best to conceal the loss of data and minimize the loss in voice quality. This process is known as packet loss concealment (PLC). It works surprisingly well even under high packet loss rates.

Adaptive Digital's G.729AB voice compression algorithm is a highly optimized version of the G.729 ITU Annex A and Annex B standard. G.729 AB offers toll quality speech at a reasonably low bit rate of 8Kbps. The G.729 AB codec uses Discontinuous Transmission (DTX), Voice Activity Detection (VAD), and Comfort Noise Generation (CNG) to reduce bandwidth usage. G.729AB is used in wireless voice, voice-over-packet-networks, multimedia, and voice circuit multiplexing applications.

Data sheet .pdf  

Click here for G.729 information on the following topics. G.729 comparisons and differences.

✓ DECIPHERING THE MANY ANNEXES & APPENDICES of G.729

✓ PATENT ISSUES

✓ COMPARISON SHOPPING

 

SPECIFICATIONS

TI TMS320C6000

G.729 C64x, C64x+ / C66x

CPU UTILIZATION & MEMORY REQUIREMENTS

All Memory usage is given in units of byte.

Annex AB

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729AB C64x

Enc

5.2

--

--

2400

2148

Dec

1.2

--

--

800

2200

Enc/Dec

6.3

63k

6.7k

3200

4344

G.729AB C64x+ / C66x

Enc

4.8

--

--

2400

2148

Dec

1.2

--

--

800

2200

Enc/Dec

6.0

57k

6.7k

3200

4344

 

Annex D

Function

MIPS

Program Memory

Scratch Memory

Per Channel Data Memory

G.729D
C64x

Enc

20.5 (8 kbps)
  17.1 (6.4 kbps)

--

--

2392

Dec

4.1 (8 kbps)
 4.4 (6.4 kbps)

--

--

1572

Enc Dec

24.6  (8 kbps)
  21.5 (6.4 kbps)

124K

8192

3964

 

Annex B & F

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729B / G.729F
C64x

Enc

20.4

--

--

8192

2388

Dec

4.7

--

--

0

1568

Enc Dec

25.7

119k

7.2K

8192

3956

G.729B / G.729F
C64x
+ / C66x

Enc

19.6

--

--

8192

2388

Dec

5.1

--

--

0

1568

Enc Dec

24.7

84k

7.2K

8192

3956

 

C674x

CPU UTILIZATION & MEMORY REQUIREMENTS

Annex AB

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729I*

Enc

33

--

--

--

3776

Dec

12

--

--

--

2560

Enc/Dec

45

121k

500

8000

6336

 

CPU UTILIZATION & MEMORY REQUIREMENTS

Annex AB

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729E

Enc

42

--

--

--

3776

Dec

18

--

--

--

2560

Enc/Dec

60

174k

500

800

6336

*G.729  B, D, E - G.729 Annex I combines G 729 D (6.4kbps rate) , G729 (8kbps rate) and G729 E (11.8 kbps rate).  Annex B is integrated into all 3 rates. Giving 5 different possible rates: 0, 1.6k, 6.4k, 8k and 11.8k The 3 bit rates are switchable frame to frame by the host.


C6x

CPU UTILIZATION & MEMORY REQUIREMENTS

Annex AB

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729AB C62x/67x

Enc

5.2

--

--

2400

2148

Dec

1.3

--

--

800

2200

Enc/Dec

6.5

72k

6.1k

3200

4344

 

TI TMS320C5000

G.729 C55x

CPU UTILIZATION & MEMORY REQUIREMENTS

All Memory usage is given in units of byte.

C55x

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729AB

Enc

8.3

28354

9272

1976

2156

Dec

2.0

13654

6310

436

1848

 

C55x

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729B

Enc

37

33421

9120

4960

2400

Dec

7.8

1024

1440

 

C55x

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729D

Enc

32.2 (8 kbps)
20.5 (6.4 kbps)

24780

6570

4960

1980

Dec

5.9 (8 kbps)
6.4 (6.4 kbps)

12607

6574

1024

1416

G.729D

Enc/Dec

38.1 (8 kbps)
26.9 (6.4 kbps)

28040

6630

4960

3396

 

G.729 C54x

CPU UTILIZATION & MEMORY REQUIREMENTS

All Memory usage is given in units of 16-bit word.

C54x

Function

MIPS

Common Program Memory

Program Memory

Data Memory

Common Data Memory

Per Channel Data Memory

G.729

Enc

18.07

2086

6191

194

3100

808

Dec

3.0

2086

2908

113

3100

670

G.729A

Enc

9.7

2162

6215

194

2899

976

Dec

1.8

2162

1989

113

2899

838

G.729B

Enc

18.9

4223

8571

194

3401

763

Dec

3.2

4223

3552

113

3401

670

G.729AB

Enc

10.0

4236

8567

246

3200

931

Dec

2.2

4236

2625

113

3200

838

 


ARM ® DEVICES

G.729 ARM Cortex-A8/A9/A15

CPU UTILIZATION & MEMORY REQUIREMENTS

All Memory usage is given in units of byte.

Annex AB

Function

MIPS
A8/A9/15

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729AB,

G.729A

Enc

22.5

--

--

2400

2148

Dec

8.3

--

--

800

2200

Enc/Dec

30.8

124.5K

6080

3200

4348

G.729 ARM Cortex-M3/M4

CPU UTILIZATION & MEMORY REQUIREMENTS

All Memory usage is given in units of byte.

Annex AB

Function

MIPS
M3/M4

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729AB,

G.729A

Enc

25

--

--

2400

2148

Dec

11

--

--

800

2200

Enc/Dec

35

73024

6016

3200

4348

G.729 ARM9E / ARM11

CPU UTILIZATION & MEMORY REQUIREMENTS

All Memory usage is given in units of byte.

Annex AB

Function

MIPS

Program Memory

Data Memory

Scratch Memory

Per Channel Data Memory

G.729AB

G.729A

Enc

27.3

--

--

2400

2148

Dec

10.9

--

--

800

2200

Enc/Dec

38.2

142.2k

6016

3200

4348

 

 

API function call summary

G729_ADT_encodeInit(. . .)                Initializes the G.729 encoder software
G729_ADT_decodeInit(. . .)                Initializes the G.729 encoder software
G729_ADT_encode(. . .)                    Executes the G.729 encoder         
G729_ADT_decode(. . .)                    Executes the G.729 decoder
G729_ADT_Annex_(A. . .I)_encoderInit(. . .)   Initializes the G.729 (A. . .I)_ encoder software
G729_ADT_Annex_(A. . .I)_decoderInit(. . .)   Initializes the G.729 (A. . .I)_ encoder software
G729_ADT_Annex_(A. . .I)_encode(. . .)    Executes the G.729 (A. . .I)_ encoder    
G729_ADT_Annex_(A. . .I)_decode(. . .)    Executes the G.729 (A. . .I)_ decoder

 

posted @ 2015-01-14 23:48  杭州桓泽  阅读(1413)  评论(1编辑  收藏  举报