everything you ever wanted to know about a codec but were afraid to ask????

26
Everything you ever wanted to know about a Codec But were afraid to ask????

Upload: suzanna-hart

Post on 17-Dec-2015

226 views

Category:

Documents


1 download

TRANSCRIPT

Everything you ever wanted to know about a Codec

But were afraid to ask????

It’s software

• In simplest form, a codec is a software algorithm that transforms data from one format to another

• Stands for coder-decoder or compressor-de-compressor

• Codec used to compress file must be the same used to decompress file

Two main types

• Lossless codecs – the original can be recreated exactly for the compressed file

• Lossy codecs – decompressed file is an approximation of the original file. How approximate depends on amount of compression used

Many file formats use codecs

• JPEG images - lossy

• GIF images - lossy

• ZIP files - lossless

• StuffIt archives - lossless

How lossless codecs work

• Original files can be recreated exactly• Takes advantage of redundant information

reprenting more efficiently• AAAAAAAA becomes 8A – reducing storage by

75%• Huffman coding replaces frequently occurring

sequences with shorter code – Hyper Text Markup Language becomes HTML.

• When de-compressed HTML becomes Hyper Text Markup Language

• Great for quality concerns – but minimal compression ratios.

• Would not work well for Streaming Media, for example.

Lossy codecs

•GIF

•JPEG

They are only approximations of the original image

• Achieve much higher rates of file size reduction by discarding data that is deemed unnecessary or redundant.

• Since information is discarded, recreating the original file exactly is not possible when file is de-compressed.

• Ideally, some data can be discarded and not missed.

Poor, poor Codecs

• The codecs job is difficult and underappreciated – they must try to keep the most important information in the file and discard the rest.

• In cases of extreme compression, codecs MUST be ruthless in discarding data

• They try to retain original quality – or to retain at least enough information to keep you interested.

• Try to take some time to tell codecs you love and appreciate them.

• Theirs is a tough and thankless job.

Streaming Media Codecs

• It’s a tough job – but somebody’s gotta do it.– Uncompressed audio = 1.4Mbits per second– Raw video >25Mbytes per second for full

screen NTSC (National Television Standards Committee decided on 30 frames per second as the standard)

– 56K modem downloading at the speed of wait

Extreme Compression

• Staggering divide between raw bit rates of audio and video and bit rates available to Internet users bridged by codecs

• If sustained 34K data rate (of 56K modem) CD-quality audio must be compressed approximately 40:1.

• With video, compression numbers are ludicrous

Perceptual Coding

• What is a conscientious codec to do?– Use models about how humans perceive

audio and video– Allow for reasonably intelligent decisions

about what to keep and what to throw out

• When digitizing audio and video, goal is to accurately represent input signal– Audio: sample input 44,100 times per second,

using 16-bit words to represent each sample. Assumes our ears give equal attention to each and frequency

– Video: assumes that 24 bits of information needed for every pixel on the screen, all 640 X 480 of them, 30 times a second - NOT

• Human eyes and ears register extremely wide range of audio and video inputs, though both are more sensitive to particular ranges of audio and video spectrum.

• And, what is perceived is determined by the brain, which filters raw information.

• Perceptual coding makes decisions about compressing audio and video based on how humans perceive sight and sound.

• For example – loud sounds take precedence over quieter sounds in the brain; bright objects and movement take visual precedence

• Evolved from primitive survival characteristics – it was more important to hear the saber tooth tiger roaring at you than your wife telling you to take out the trash; and, you want to be able to see that bright tiger running through the grass toward you.

• Humans retain these perceptual characteristics –

• perceptual coding is effective in keeping what is “important” and “discarding” what is not important.

Audio Codecs• Balance between fidelity, frequency

response, dynamics & number of channels.

• Collapsing from stereo to mono – cuts amount of data in half

• Sampling rate – further reduces data to be processed – – frequency response and – sample bit depth

• FM radio – frequency - 12KhZ – drop frequency response and maintain quality

• For voice – 8kHz or even 5kHz

• Thus don’t have to use full 16 bits to represent dynamic range

• Technology making it even better – need less to sound good

What about music?

• Must be prepared for wide range of sounds – from screaming bass guitar to cymbals to soft flute in the background.

• Thus, special AND different codecs for audio, speech and video

• Voice codecs and music codecs are completely different

• Not interchangeable – voice codecs make music sound awful –

• and mostly visa versa.

Video Coding

• Video content with motion – smooth at about 20 fps

• Little motion can go below that

• But that is still not enough

• Economize by using inter-frame compression

• Theoretically, much of frame will remain unchanged between frames

• Digitize or encode only the section of the frame that changes

• Video codec digitizes one complete frame to establish all elements in the frame

• After background established – subsequent frames digitize only changing elements or differences –

• Establishing frames are keyframes

• Rest are called difference frames

• Video keyframes allow you to change an effect over time, or move the position and size of the frame over time.

• Video keyframes are used during custom special effects, but are not needed for most common operations.

• That’s all I want to confuse you with

• Just remember the jist