Digital Media Dr. Jim Rowan Chapter 2

advertisement
Digital Media
Dr. Jim Rowan
Chapter 2
The Question:
• How do you put stuff in a computer
– so that you can manipulate it
– so that you can send it
– so that someone else can see and use it?
• How do you represent the real world in
a digital world?
The answer:
•
•
•
•
•
Represent the real world as numbers
Store the numbers
Transmit the numbers
Retrieve the numbers
Display them in a form humans
understand
Today:
• Chapter 2 is a “first cut” of nearly all the
material that will be covered in greater
detail this semester
• About the real world
• About digital representation
File formats and extensions
• Indication to us (the humans) what kind
of file this is
• Some software looks at the extension
– so... some software will try to open files
with improper extensions
– results in “file corrupted” error message
– try it... change the extension from .doc to
.jpg
File formats and extensions
• Some software looks at the data in the file for
more definitive answer
– important file-related information is encoded in the
data of the file
• for example: some image formats have color tables to
reduce the size of the file
• some video just saves the changes from one frame to the
next
• we’ve seen this before when we used hexfiend to look at
images… image size is stored in the header
But it’s all just numbers, and
binary numbers at that!
Note on paper
Picture
Song: fieldsOfGold.mp3
Video
Numbering systems:
Decimal
Binary
Hexadecimal
Numbering systems
• Humans: decimal
– Humans: 10 fingers, 10 digits
– 0, 1, 2, 3, 4, 5, 6, 7, 8 & 9
• Computers: binary
– Computers: 1 finger, 2 digits
–0&1
Hexadecimal
• Humans and Computers: hexadecimal
– Hexadecimal: 16 fingers, 16 digits
– 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
– Each of these can be represented as binary by
using 4 binary digits for each hex digit
• while this seems complicated it is actually easier for
humans to deal with 16 different digits than 4 0s and 1s
– with 4 binary digits you can represent 16 different
things… 2**4=16
How to count using a different
number of fingers
(it’s the same process but different number sets)
• 10 fingers: Counting in decimal
– 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
– start over with 0 and increment the digit to the left
• 1 finger: Counting in binary
– 0, 1
– start over with 0 but increment the digit to the left
• 16 fingers: Counting in hexadecimal
– 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
– start over with 0 but increment the digit to the left
Binary Coding
• Data for a computer... binary
– zeros and ones,
– off and on
– false and true
• Data for humans... ASCII, Hex... (others)
– Two of the coding schemes used are:
• Hexadecimal represented by 1 Hex => 4 bits
• ASCII represented by 2 Hex codes => 8 bits
• BUT…
– they all end up as 0’s and 1’s
Example: ASCII Code
• Humans and Computers: ASCII
– ASCII code for C (from text pg 329)
• decimal: 67
• hexadecimal: 43
• binary: 0100 0011
From the Real World
to
Stuff on a computer
• A note
– Paper and pen -> bits (0s and 1s)
• A picture
– Reflected light -> bits (0s and 1s)
• A song
– Pressure waves in air -> bits (0s and 1s)
• A video
– Pressure waves in air and Reflected light ->
bits (0s and 1s)
First, the real world:
Discrete
&
Continuous
Phenomena in the Real world:
discrete vs continuous
•
•
•
•
Things in the real world can be discrete
They either ARE or ARE NOT there
These things can be counted
Examples:
– The number of cars in the parking lot
– The number of beans in a jar
Phenomena in the Real world:
discrete vs continuous
• Things in the real world can be continuous
• Continuous can’t be counted, it must be
measured
• Examples:
– Atmospheric pressure
– Height of an ocean wave
– Frequency of a sound wave
But...
computers can only count
• Discrete data is easy for a computer
– count it and store it as a number
• Continuous data... easy? not so much
– music:
• measure the frequency & amplitude
• encode as a collection of numbers
– pictures:
• measure the amount and frequency of light (its color) in a
number of regular places (pixels)
• encode the frequency and the amount as a collection of
numbers
Question...
• If computers only store 0s and 1s...
• How does all this continuous stuff end
up in a computer so that we can save it
and play it back?
• Answer
– Continuous data must be converted to
discrete data
From the Real World
…and Back!
Continuous phenomenon to digital data?
-SAMPLE!
Consists of two processes
1) stop to take a measurement
the number per time period is called the
sample rate
2) take the measurement
take
the number of different values each sample can
on is called the quantization level
Digital data back to continuous phenomenon:
– Display samples using “sample and hold”
• Play the sample for the duration of the sample time
But...
How many samples do you
need?
It depends…
single sample
single sample
single sample
(sample and hold)
two samples
two samples
two samples
(sample and hold)
three samples
three samples
three samples
(sample and hold)
four samples
four samples
four samples
(sample and hold)
five samples
five samples
five samples
(sample and hold)
How frequently should I
sample?
• too few
– small file size (good)
– not a faithful representation when replayed
• too many
– large file size (bad)
– excellent representation when replayed
• The Nyquist rate
– twice as many samples as the frequency
– ok file size
– faithful representation when replayed
CD quality is
44,000 samples per second
• Why?
– Human hearing response is in the range of 20
to 22,000 cycles per second
• Nyquist sample rate =
highest frequency to be captured = 22,000 CPS
2 x 22,000 = 44,000 samples per second
Looking at FieldsOfGold.mp3…
• 4 minutes and 59 seconds long
• 1,201,173 bytes in length
Can this be right?
• CD quality
– 44,000 samples per second (sample rate)
– 16 bit samples (quantization level is 16 bit)
– 16 bits can store 65,536 different levels
• (2**16 = 65,536 individual levels)
FieldsOfGold.mp3
• 4’59 = 299 seconds long
• 299 x 44,000 samples per second
= 13,156,000 samples
• 13,156,000 x 2 bytes/sample
– 26,312,000 bytes
•
•
•
•
Stereo: 2 channels => 52,624,000 bytes
Should be 52+ megabytes!
Why does it show only 1.2 megabytes?
HMMMmmm...
FieldsOfGold.mp3
• Why 52+ megabytes not 1.2 megabytes?
– wait for it…
FieldsOfGold.mp3
• Why 52+ megabytes not 1.2 megabytes?
• This is an MP3!
• Data COMPRESSION!
Further reading
• http://en.wikipedia.org/wiki/Nyquist_rate
• http://en.wikipedia.org/wiki/Sampling_%
28signal_processing%29
• http://en.wikipedia.org/wiki/Mp3
Project 1 preliminary
Download Audacity
Play with it
Record your voice
Add some effects
Edit out some stuff
Save it as a wav file
Play it back using Quicktime
The side effects of sampling:
sampling artifacts
Sampling Artifacts
• Under-sampling (too few samples) of
continuous data can produce undesired
artifacts
– audio distortion
– jagged edges on images
– Moire’ patterns on images
– retrograde motion on video
Sampling Artifacts
Retrograde Motion
4 samples/cycle, 2 cycles
2 samples/cycle, 2 cycles
Sampling Artifacts (cont.)
• Not enough quantization levels when sampling
continuous data can produce undesired artifacts
• Images
–
–
–
–
–
too few colors: colors look artificial
loss of fine distinction
too few grey levels: gradients become steps
too few brightness levels: posterization
moire’ patterns
Sampling Artifacts (cont.)
• Not enough quantization levels when sampling
continuous data can produce undesired artifacts
• Audio
– too few amplitude levels, quantization noise - hiss
• 8 bits (256 amplitude levels) produces discernable noise
• 16 bits (65536 amplitude levels) CD quality, no discernable hiss
– general sound “fuzziness”
– Not enough quantization levels when sampling continuous
data can produce undesired artifacts
• Image artifacts
Data Representations
How stuff is stored in a computer
• Images
• Bitmapped
• Vector
• Audio
• Animation
• Video
• Text
Images, bitmapped
• Are stored as arrays of pixels
• Can be stored directly
– TIFF for example
• Can have an associated color map
– JPEG for example
• Generating these pixels from the stored
model is called rendering
Images, vector graphic
• Are stored as mathematical descriptions
• Often smaller than bitmapped
• Size is independent of resolution or image
size
• Not suitable for some type of images
Example & Comparison
• Bitmapped graphics
– Defined as spots (pixels) of color
– Problems scaling
– File size unaffected by image complexity
– File size affected by the image size
• Vector graphics
– Defined by their parts
– File size affected by image complexity
– File size unaffected by the image size
(scaling is easy)
Moving images
• Captured live with camera
– iMovie
– Stored as video
• Generated from animation
– Blender
– Similar to vector graphics… but with a means
of creating motion
Networks
Networks
• Local Area Network (LAN)
– local routers, bridges, switches...
• Internet
– Uses TCP/IP protocol (the rules your
communication must follow)
– http://en.wikipedia.org/wiki/TCP/IP
– you get access through an ISP
Network access...
• dial up connection
– phone modem
– limited to 56,000 bps (bits, not bytes) max
downstream (internet to modem)
– 33.6 kbps upstream (modem to internet)
– rarely get these speeds
Network access...
• ADSL
– asymmetric digital subscriber line
– over copper phone wires
– limited to short distance from phone switch
– 6.1 mbps (million bps) downstream
– 640 kbps upstream
Network access...
• Other options
–
–
–
–
–
–
Cable modem (also asynchronous)
satellite with phone (also asynchronous)
satellite alone (expensive but available in the boonies)
local wireless networks
high altitude tethered balloons
transmission over power lines
Commercial internet users
• Provide web servers for others to put
websites on
• Large commercial enterprises will have
their own web server
• T1 connection 1.544 mbps
• T3 connection 44.7 mbps
Time-To-Load calculations
• The Speeds:
– Dial-Up
• 56,000 bps internet to modem (downstream)
• 33,600 bps modem to internet (upstream)
– ADSL
• 6.1 mbps (million bps) downstream
• 640 kbps (thousand bps) upstream
– T1
• 1.544 mbps
– T3
• 44.7 mbps
NOTE!
bps is bits per
second while filesize
is stated in
bytes
To Repeat…
NOTE!
bps is bits per second while
filesize is stated in bytes
Time-To-Load calculations
Work this out in class
For this 1.2 megabyte video:
http://wiki.ggc.usg.edu/mediawiki/images/a/a4/Anand1new.mov
How long would it take to load it to youTube over
-fastest dialup
-adsl
-T1
-T3
How long would it take to download it from youTube over
-fastest dialup
-adsl
-T1
-T3
Servers and Clients
Servers & Clients...
• Clients consume internet content
• Your browser is a client
• Clients request content from servers
– by sending a server an HTTP://URL message which is a request for a
web page
• Servers respond to requests for internet content
– send requested web pages to Clients
• The content is sent in HTML code
– HTML is interpreted by the client (browser) and displayed on your
machine
Servers & Clients...
•
•
•
•
•
•
URL is a human-readable name
uniform resource locator
takes the form www.amazon.com/newStuff/index.html
The domain name: www.amazon.com
The file you want to see is: newStuff.index.html
the name maps to a number called an IP address
• http://en.wikipedia.org/wiki/IP_address
Servers & Clients...
• servers have fixed IPs so they are easy to find
• your computer probably uses DHCP which is a
dynamic (changing) IP
• An example: my IP right now (assigned through
dhcp) is: 10.0.106.91
• my IPv6 address (new addressing scheme) is
fe80:0000:0000:0000:0211:24ff:fe8f:abb6
you at home
running a browser
(client)
DHCP:
yahoo.com
(server)
235.01.30.564
ggc.usg.edu
(server)
145.67.33.73
The Internet
walmart.com
(server)
100.43.153.07
you at home
running a browser
(client)
DHCP: 10.0.91.35
yahoo.com
(server)
235.01.30.564
ggc.usg.edu
(server)
145.67.33.73
ISP
The Internet
walmart.com
(server)
100.43.153.07
you at home
running a browser
(client)
http://www.yahoo.com
The Internet
www.yahoo.com
=
235.01.30.564
yahoo.com
(server)
235.01.30.564
ggc.usg.edu
(server)
145.67.33.73
walmart.com
(server)
100.43.153.07
you at GGC
running a browser
(client)
DHCP:
yahoo.com
(server)
235.01.30.564
ggc.usg.edu
(server)
145.67.33.73
The Internet
walmart.com
(server)
100.43.153.07
you at GGC
running a browser
(client)
DHCP: 322.21.5.36
yahoo.com
(server)
235.01.30.564
ISP
ggc.usg.edu
(server)
145.67.33.73
The Internet
walmart.com
(server)
100.43.153.07
you at starbucks
running a browser
(client)
HTTP://www.walmart.com
The Internet
www.walmart.com
=
100.43.153.07
yahoo.com
(server)
235.01.30.564
ggc.usg.edu
(server)
145.67.33.73
walmart.com
(server)
100.43.153.07
Questions?
Download