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
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 –Humans organize 0s and 1s into groups of 4 –These groups of 4 are can be represented by a single hexadecimal digit (2**4 = 16) –0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
How to count using a different number of fingers 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 –Coding schemes are used by humans to reduce the volume of binary digits –Two coding schemes used Hexadecimal 4 bits => 1 Hex ASCII –All end up as 0’s and 1’s
ASCII Humans and Computers: ASCII –Made of two hexadecimal codes –One ASCII character - two hex codes –ASCII code for R (from text pg 317) hexadecimal: 52 binary:
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 of light and its color at each spot encode 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
Continuous phenomenon to digital data: -Do sampling Requires two processes sampling - equally spaced quantization - measuring at each sample Digital data back to continuous phenomenon: –Display samples using “sample and hold” Play the sample for the duration of the sample time From the Real World and Back!
But... How many samples?
single sample
single sample (sample and hold)
two samples
two samples (sample and hold)
three samples
three samples (sample and hold)
four samples
four samples (sample and hold)
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 Is this right? CD quality –44,000 samples per second (sample rate) –16 bit samples (quantity stored for each sample) (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 Should be 26.3 megabytes! Why only 1.2 megabytes? HMMMmmm...
FieldsOfGold.mp3 Why 26.3 megabytes not 1.2 megabytes? This is an MP3! Data COMPRESSION!
Further reading signal_processing%29
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
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”
Multimedia Hardware Requirements
Multimedia Hardware Requirements Production vs Consumption Multimedia consumption? –requires only a lower powered machine Multimedia production? –requires a more powerful computer –consider “fields of gold.mp3” 26+megabytes of data uncompressed 1.2 megabytes of data compressed –images are produced in layers then flattened for consumption
Hardware requirements Video capture requires large areas of contiguous disk space Frequent disk defragmentation is required
defragmentation black is occupied space white is available space memory before memory after largest contiguous space is 5 largest contiguous space is 11 and there are 6 of these
Hardware requirements: Form factor... screen real estate makes a difference –size is smaller? –can/should affect the format of the display cannot simply display the same page on –a desktop computer –a cell phone –a pda
Hardware requirements Form factor... Displayed unmodified laptop display of my GGCwiki site Treo LG VX3400
Hardware... RAID Redundant Array of Inexpensive Disks Designed as a hardware failsafe –multiple copies of the same data Can be used to speed data transfer –(you may need this in multimedia production)
RAID redundant disk #1 disk #2 disk #3 disk #4 disk #5 disk #6 disk #7 disk #8
RAID overlapped (fast) disk #1 disk #2 disk #3 disk #4 disk #5 disk #6 disk #7 disk #8
Networks
Local Area Network (LAN) –local routers, bridges, switches... Internet –Uses TCP/IP protocol (the rules your communication must follow) – –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 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 –T mbps –T 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: 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 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 The domain name: The file you want to see is: newStuff.index.html the name maps to a number called an 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: my IPv6 address (new addressing scheme) is fe80:0000:0000:0000:0211:24ff:fe8f:abb6
yahoo.com (server) The Internet you at home running a browser (client) DHCP: walmart.com (server) ggc.usg.edu (server)
yahoo.com (server) The Internet you at home running a browser (client) DHCP: walmart.com (server) ggc.usg.edu (server) ISP
yahoo.com (server) The Internet = you at home running a browser (client) walmart.com (server) ggc.usg.edu (server)
yahoo.com (server) The Internet you at GGC running a browser (client) DHCP: walmart.com (server) ggc.usg.edu (server)
yahoo.com (server) The Internet you at GGC running a browser (client) DHCP: walmart.com (server) ggc.usg.edu (server) ISP
yahoo.com (server) The Internet = you at starbucks running a browser (client) walmart.com (server) ggc.usg.edu (server)
MIME types Multipurpose Internet Mail Extension Allows the transmission of more than just ASCII text (like you’d expect in an ) MIME types are specified in the header Huge variety of MIME types are allowed –audio, images, video –compressed files
A word about standards Standards allow cooperation But standards require agreement Works well during slow growth But in a rapidly changing environment... –frequently obsolete before adopted One company may dominate the market becoming the de-facto standard
Questions?