CODECS – Everything You Always Wanted to Know

Download Report

Transcript CODECS – Everything You Always Wanted to Know

RMAUG Professional Development Series
2/11/09
Dwight Reifsnyder
“If you have an apple and I have an apple and we
exchange apples then you and I will still each have
one apple. But if you have an idea and I have an
idea and we exchange these ideas, then each of us
will have two ideas.”
George Bernard Shaw
2

Codec background and concepts

Comparisons and basic features

Voice Codec specifics

Application in an Avaya environment



Codec is short for
Coder/Decoder
Just like a Dick Tracy!
But what are the concepts
involved?

Examples of coding include:
◦
◦
◦
◦
◦
Pictures
Writing
Music
Language translation
Encryption

1876 Alexander Graham Bell
◦ Audio to electricity

1894 Guglielmo Marconi
◦ Audio to radio

1916 Theodore Case
◦ Audio to optical

An analog or analogue signal
is any continuous signal for
which the time varying feature
(variable) of the signal is a
representation of some other time varying
quantity, i.e. analogous to another time
varying signal. Analog is usually thought of in
an electrical context; however, mechanical,
pneumatic, hydraulic, and other systems may
also convey analog signals

1937 - Alec H. Reeves
◦ Pulse Code Modulation invented (PCM)

1942 - John V. Atanasoff, Clifford Berry
◦ First computer

1962 – Bell Labs
◦ PCM first used in commercial telephony

A digital system uses discrete
(discontinuous) values, usually
but not always symbolized
numerically (hence called "digital")
to represent information. By contrast, nondigital (or analog) systems use a continuous
range of values to represent information.

The word digital is most commonly used in
computing and electronics, especially where
real-world information is converted to binary
numeric form as in digital audio and digital
photography.

Analog
◦ Continuous, modulates in direct relation
to original data

Digital
◦ Discrete data (individual values) with no intuitive or
obvious correlation to original data

Encoding is changing form. Data may be
encoded, transmitted, stored, and decoded

Analog (encoding or transmission)

Digital (encoding or transmission)
TIF (TIFF)
Tagged
Image
File
Format
GIF
Graphics
Interchange
Format
PNG
Portable
Network
Graphic
JPG (JPEG)
Joint
Photographic
Experts
Group
TIF (TIFF)
576K
PNG
232K
No
Compression
(lossless)
No
Compression
(lossless)
GIF
97K
JPG (JPEG)
105K
Compressed
(lossy)
Compressed
(lossy)


If the pictures all look the same, why do we
need different Codecs?
Different types of Codecs are optimized for
different types of data

GIF uses Run Length Encoding (RLE)
AAAABBBBBCCCCDDDDDDEEEEEEEE
4A4B4C6D8E

Max of 256 colors, fewer colors=smaller file

JPG uses multiple steps
We should create 8x8 DCT matrix using this formula:
DCT = 1/sqr(N),
if i=0 ij DCT = sqr(2/N)*cos[(2j+1)*i*3.14/2N],
if i > 0 ij N = 8, 0 < i < 7 , 0 < j < 7
in result we have:
DCT =
|.353553
.353553 . 353553
.353553 . 353553 .353553 .353553 .353553|
|.490393 .415818 .277992 .097887 -.097106 -.277329 -.415375 -.490246|
|.461978 .191618 -.190882 -.461673 -.462282 -.192353 .190145 .461366|
|.414818 -.097106 -.490246 -.278653 .276667 .490710 .099448 -.414486|
|.353694 -.353131 -.354256 .352567 .354819 -.352001 -.355378 .351435|
|.277992 -.490246 .096324 .416700 -.414486 -.100228 .491013 -.274673|
|.191618 -.462282 .461366 -.189409 -.193822 .463187 -.460440 .187195|
JPG (JPEG)
Quality “30” – 16K
JPG (JPEG)
Quality “100” 105k
GIF 32 Colors
(lossy)
17K
GIF 256 Colors
(lossless)
97k



There are many codec choices – the goal is
for it to be transparent to the user
Codecs can contain multiple
encoding/compression steps
Codec choice should consider type of audio,
available bandwidth, and CPU usage

There a many audio codecs
◦ Quicktime
◦ Real Player
◦ MP3

Voice Specific Codecs
◦ Industry Standard (ITU)
◦ Optimized for speech
ITU-T Codec
Standard
Coding Scheme
Used
Bit Rate
Encoding Delay Mean Opinion
Time
Score
G.711
PCM
64 kbps
<1 msec
4.7
G.722
SB-ADPCM
64 kbps
4 msec
4.5
G.726
ADPCM
32 kbps
1 msec
4.2
G.728
LC-CELP
16 kbps
2 msec
4.2
G.729
CS-ACELP
8 kbps
15 msec
4.2
G.723.1
MPMLQ
6.3 kbps
37.5 msec
3.98
G.723.1
ACELP
5.3 kbps
37.5 msec
3.5


For most users, the main consideration in
choosing a codec is bandwidth
This can be complex when considering calls
between multiple regions
http://marketingtools.avaya.com/knowledgebase/ipoffice/general/bandwidth/
ITU-T Codec
Standard
Coding Scheme
Used
Bit Rate
Encoding Delay Mean Opinion
Time
Score
G.711
PCM
64 kbps
<1 msec
4.7
G.722
SB-ADPCM
64 kbps
4 msec
4.5
G.726
ADPCM
32 kbps
1 msec
4.2
G.728
LC-CELP
16 kbps
2 msec
4.2
G.729
CS-ACELP
8 kbps
15 msec
4.2
G.723.1
MPMLQ
6.3 kbps
37.5 msec
3.98
G.723.1
ACELP
5.3 kbps
37.5 msec
3.5

Initiator
◦ Encoding (DSP usage)

Transmit
◦ Network transmit
◦ Jitter Buffer

Receiver
◦ Encoding (DSP usage)
ITU-T Codec
Standard
Coding Scheme
Used
Bit Rate
Encoding Delay Mean Opinion
Time
Score
G.711
PCM
64 kbps
<1 msec
4.7
G.722
SB-ADPCM
64 kbps
4 msec
4.5
G.726
ADPCM
32 kbps
1 msec
4.2
G.728
LC-CELP
16 kbps
2 msec
4.2
G.729
CS-ACELP
8 kbps
15 msec
4.2
G.723.1
MPMLQ
6.3 kbps
37.5 msec
3.98
G.723.1
ACELP
5.3 kbps
37.5 msec
3.5

VAD
◦ Voice Activity Detection
◦ “Clipping”

CNG
◦ Comfort Noise Generation

PLC
◦ Packet Loss Concealment
G.711A (a-law)
G.711MU (m-law)
G.722-64k
G.722.1-24k
G.722.1-32k
G.723.1-5.3k
G.723.1-6.3k
G.726A-32k
G.729
G.729B
G.729AB
SIREN14-24k
SIREN14-32k
SIREN14-48k
SIREN14-S48k
SIREN14-S56k
SIREN14-S64k
SIREN14-S96k

Human Hearing
◦ 5hz to 20khz

Narrowband Codecs
◦ 200hz to 4khz

Wideband Codecs
◦ 50hz to 7khz
G.xxx
H.xxx
e.g. G.722, G.711
e.g. H.323, H.264
Voice Encoding
Call Control
V.xxx
T.xxx
e.g. V.32, V.90
e.g. T.30, T.38
Modem Encoding
Fax Control


VoIP is not a conducive to
fax or modem usage
Special settings
◦
◦
◦
◦
G.711 only
Turns off VAD, CNG, PLC
Relay
Redundancy

Two codecs walk into a bar…