Enabling
Technologies
Chapter 2
Digital Multimedia, 2nd edition
Enabling
Technologies Enabling Technologies
Chapter 2
Digital Multimedia, 2nd edition
Enabling
Technologies
•
Bit: 0 or 1, on or off, …•
Byte: eight bits, one character•
1000 Bytes (1KB)•
75KB Low resolution image (640X480)•
1,000,000 Bytes (1MB)•
5MB 4 minute song (MP3)•
1 billion Bytes (1GB)•
3GB 100 minutes DVD quality videoRemember Bits and Bytes?
•
Bit: 0 or 1, on or off, …•
Byte: eight bits, one character•
1000 Bytes (1KB)•
75KB Low resolution image (640X480)•
1,000,000 Bytes (1MB)•
5MB 4 minute song (MP3)•
1 billion Bytes (1GB)•
3GB 100 minutes DVD quality video 2•
Bit: 0 or 1, on or off, …•
Byte: eight bits, one character•
1000 Bytes (1KB)•
75KB Low resolution image (640X480)•
1,000,000 Bytes (1MB)•
5MB 4 minute song (MP3)•
1 billion Bytes (1GB)•
3GB 100 minutes DVD quality videoRemember Bits and Bytes?
32–33
•
Bit: 0 or 1, on or off, …•
Byte: eight bits, one character•
1000 Bytes (1KB)•
75KB Low resolution image (640X480)•
1,000,000 Bytes (1MB)•
5MB 4 minute song (MP3)•
1 billion Bytes (1GB)•
3GB 100 minutes DVD quality video•
Numbers to base 2 (binary)•
01100001 = 97 decimal•
Characters – associate bit patterns (numbers) with characters via a character set•
01100001 = a in ASCII•
Brightness of an image at a point,•
instantaneous amplitude of a sound wave, etcInterpretation of Bits
•
Numbers to base 2 (binary)•
01100001 = 97 decimal•
Characters – associate bit patterns (numbers) with characters via a character set•
01100001 = a in ASCII•
Brightness of an image at a point,•
instantaneous amplitude of a sound wave, etc 2•
Numbers to base 2 (binary)•
01100001 = 97 decimal•
Characters – associate bit patterns (numbers) with characters via a character set•
01100001 = a in ASCII•
Brightness of an image at a point,•
instantaneous amplitude of a sound wave, etcInterpretation of Bits
33
•
Numbers to base 2 (binary)•
01100001 = 97 decimal•
Characters – associate bit patterns (numbers) with characters via a character set•
01100001 = a in ASCII•
Brightness of an image at a point,•
instantaneous amplitude of a sound wave, etc•
Each byte can be identified by its position in the sequence of all bytes in memory – its address•
Collections of bytes can be combined into data structures using addresses•
e.g. store an image as a sequence ofbrightness values, use address of the first to access the image data
•
store a video sequence as series of images, add address of next and previous to each frameAddresses
•
Each byte can be identified by its position in the sequence of all bytes in memory – its address•
Collections of bytes can be combined into data structures using addresses•
e.g. store an image as a sequence ofbrightness values, use address of the first to access the image data
•
store a video sequence as series of images, add address of next and previous to each frame2
•
Each byte can be identified by its position in the sequence of all bytes in memory – its address•
Collections of bytes can be combined into data structures using addresses•
e.g. store an image as a sequence ofbrightness values, use address of the first to access the image data
•
store a video sequence as series of images, add address of next and previous to each frameAddresses
34
•
Each byte can be identified by its position in the sequence of all bytes in memory – its address•
Collections of bytes can be combined into data structures using addresses•
e.g. store an image as a sequence ofbrightness values, use address of the first to access the image data
•
store a video sequence as series of images, add address of next and previous to each frame•
Converting a signal from analogue to digital form•
Analogue signal can vary continuously, digital is restricted to discrete values•
Two-stage process•
Sampling – measure the value at discrete intervals•
Quantization – restrict the value to a fixed set of quantization levelsDigitization
•
Converting a signal from analogue to digital form•
Analogue signal can vary continuously, digital is restricted to discrete values•
Two-stage process•
Sampling – measure the value at discrete intervals•
Quantization – restrict the value to a fixed set of quantization levels2
•
Converting a signal from analogue to digital form•
Analogue signal can vary continuously, digital is restricted to discrete values•
Two-stage process•
Sampling – measure the value at discrete intervals•
Quantization – restrict the value to a fixed set of quantization levelsDigitization
35–36
•
Converting a signal from analogue to digital form•
Analogue signal can vary continuously, digital is restricted to discrete values•
Two-stage process•
Sampling – measure the value at discrete intervals•
Quantization – restrict the value to a fixed set of quantization levelsSampling and Quantization
2
Sampling and Quantization
36
Sampling and Quantization
2
Sampling and Quantization
36
•
Only certain signal values are valid•
Relatively immune to corruption by noise•
Do not degrade when copied or transmitted over network•
Some information lost•
Undersampling•
Samples 'too far apart' so cannot accurately reconstruct original signalDigital Signals
•
Only certain signal values are valid•
Relatively immune to corruption by noise•
Do not degrade when copied or transmitted over network•
Some information lost•
Undersampling•
Samples 'too far apart' so cannot accurately reconstruct original signal2
•
Only certain signal values are valid•
Relatively immune to corruption by noise•
Do not degrade when copied or transmitted over network•
Some information lost•
Undersampling•
Samples 'too far apart' so cannot accurately reconstruct original signalDigital Signals
36–37
•
Only certain signal values are valid•
Relatively immune to corruption by noise•
Do not degrade when copied or transmitted over network•
Some information lost•
Undersampling•
Samples 'too far apart' so cannot accurately reconstruct original signalUnder-sampling
2
Under-sampling
Under-sampling
2
Under-sampling
•
Any periodic waveform can be decomposed into a collection of frequency components•
Each component is a pure sine wave specified by amplitude, frequency, etc.•
fh is highest frequency of any component•
The signal can be properly reconstructed if it has been sampled at a frequency > 2fhFrequency Domain
•
Any periodic waveform can be decomposed into a collection of frequency components•
Each component is a pure sine wave specified by amplitude, frequency, etc.•
fh is highest frequency of any component•
The signal can be properly reconstructed if it has been sampled at a frequency > 2fh2
•
Any periodic waveform can be decomposed into a collection of frequency components•
Each component is a pure sine wave specified by amplitude, frequency, etc.•
fh is highest frequency of any component•
The signal can be properly reconstructed if it has been sampled at a frequency > 2fhFrequency Domain
38–39
•
Any periodic waveform can be decomposed into a collection of frequency components•
Each component is a pure sine wave specified by amplitude, frequency, etc.•
fh is highest frequency of any component•
The signal can be properly reconstructed if it has been sampled at a frequency > 2fh•
Undersamping leads to aliasing•
Sound distortion•
image 'jaggies' or Moiré patterns•
jerky or retrograde motionSampling Theorem
•
Undersamping leads to aliasing•
Sound distortion•
image 'jaggies' or Moiré patterns•
jerky or retrograde motion2
•
Undersamping leads to aliasing•
Sound distortion•
image 'jaggies' or Moiré patterns•
jerky or retrograde motionSampling Theorem
40–41
•
Undersamping leads to aliasing•
Sound distortion•
image 'jaggies' or Moiré patterns•
jerky or retrograde motionVideo Sampling
•
Second hand – sampled every 15 seconds 2Video Sampling
•
Second hand – sampled every 15 secondsUnder-sampling Video
2
Under-sampling Video
Over-sampling
•
Audio: Can not tell 100 KHz from 200 KHz•
Video: Can not tell 60 fpm from 120 fpm•
Images: Can not tell 512 shade-gradient from 1024 shades.•
Over sampling means you use extra bits,memory, but humans don’t see any increase in quality, precision, etc.
•
Audio: Can not tell 100 KHz from 200 KHz•
Video: Can not tell 60 fpm from 120 fpm•
Images: Can not tell 512 shade-gradient from 1024 shades.•
Over sampling means you use extra bits,memory, but humans don’t see any increase in quality, precision, etc.
2
Over-sampling
•
Audio: Can not tell 100 KHz from 200 KHz•
Video: Can not tell 60 fpm from 120 fpm•
Images: Can not tell 512 shade-gradient from 1024 shades.•
Over sampling means you use extra bits,memory, but humans don’t see any increase in quality, precision, etc.
•
Audio: Can not tell 100 KHz from 200 KHz•
Video: Can not tell 60 fpm from 120 fpm•
Images: Can not tell 512 shade-gradient from 1024 shades.•
Over sampling means you use extra bits,memory, but humans don’t see any increase in quality, precision, etc.
Over-sampled / Under- sampled
2
Over-sampled / Under-
sampled
•
Reducing memory requirements by using fewer bits for each value means fewer quantization levels are available•
Cannot distinguish between values that fall between levels•
Images: banding and posterization•
Sound: coarse hiss, loss of quiet passages, general fuzziness (quantization noise)Too Few Quantization Levels
•
Reducing memory requirements by using fewer bits for each value means fewer quantization levels are available•
Cannot distinguish between values that fall between levels•
Images: banding and posterization•
Sound: coarse hiss, loss of quiet passages, general fuzziness (quantization noise)2
•
Reducing memory requirements by using fewer bits for each value means fewer quantization levels are available•
Cannot distinguish between values that fall between levels•
Images: banding and posterization•
Sound: coarse hiss, loss of quiet passages, general fuzziness (quantization noise)Too Few Quantization Levels
41–42
•
Reducing memory requirements by using fewer bits for each value means fewer quantization levels are available•
Cannot distinguish between values that fall between levels•
Images: banding and posterization•
Sound: coarse hiss, loss of quiet passages, general fuzziness (quantization noise)•
Consumption•
Capabilities of typical consumer systems determine limits of what is feasible•
Mobile devices may impose even tighter limitations•
Production•
Highly demanding on processor power,memory, secondary storage (especially for video)
Hardware Requirements
•
Consumption•
Capabilities of typical consumer systems determine limits of what is feasible•
Mobile devices may impose even tighter limitations•
Production•
Highly demanding on processor power,memory, secondary storage (especially for video)
2
•
Consumption•
Capabilities of typical consumer systems determine limits of what is feasible•
Mobile devices may impose even tighter limitations•
Production•
Highly demanding on processor power,memory, secondary storage (especially for video)
Hardware Requirements
42–45
•
Consumption•
Capabilities of typical consumer systems determine limits of what is feasible•
Mobile devices may impose even tighter limitations•
Production•
Highly demanding on processor power,memory, secondary storage (especially for video)
•
High capacity disks connected via high speed buses•
Firewire 400, Firewire 800, USB 2.0, SCSI III•
RAID arrays•
Graphics tablet and pressure-sensitive pen•
High-resolution monitor•
Digital camera, scanner, DV camera,…Peripherals
•
High capacity disks connected via high speed buses•
Firewire 400, Firewire 800, USB 2.0, SCSI III•
RAID arrays•
Graphics tablet and pressure-sensitive pen•
High-resolution monitor•
Digital camera, scanner, DV camera,…2
•
High capacity disks connected via high speed buses•
Firewire 400, Firewire 800, USB 2.0, SCSI III•
RAID arrays•
Graphics tablet and pressure-sensitive pen•
High-resolution monitor•
Digital camera, scanner, DV camera,…Peripherals
46–47
•
High capacity disks connected via high speed buses•
Firewire 400, Firewire 800, USB 2.0, SCSI III•
RAID arrays•
Graphics tablet and pressure-sensitive pen•
High-resolution monitor•
Digital camera, scanner, DV camera,…•
Applications for different media types•
Images: image editing, painting and drawing (Photoshop, Illustrator)•
Text: editors, layout programs•
Video: editing and post-production(Premiere, After Effects, Final Cut Pro)
•
Animation: drawing, interpolation (Flash)•
Sound: editing and effects (Audition, Bias Peak)Software Requirements
•
Applications for different media types•
Images: image editing, painting and drawing (Photoshop, Illustrator)•
Text: editors, layout programs•
Video: editing and post-production(Premiere, After Effects, Final Cut Pro)
•
Animation: drawing, interpolation (Flash)•
Sound: editing and effects (Audition, Bias Peak)2
•
Applications for different media types•
Images: image editing, painting and drawing (Photoshop, Illustrator)•
Text: editors, layout programs•
Video: editing and post-production(Premiere, After Effects, Final Cut Pro)
•
Animation: drawing, interpolation (Flash)•
Sound: editing and effects (Audition, Bias Peak)Software Requirements
48
•
Applications for different media types•
Images: image editing, painting and drawing (Photoshop, Illustrator)•
Text: editors, layout programs•
Video: editing and post-production(Premiere, After Effects, Final Cut Pro)
•
Animation: drawing, interpolation (Flash)•
Sound: editing and effects (Audition, Bias Peak)•
Applications for combining media types•
'Authoring systems'•
Timeline-based (e.g. Director)•
Markup-based for WWW (e.g.Dreamweaver)
•
May require some programming in a scripting language to provide interactivity•
Behaviours provide prefabricated parameterized actionsSoftware Requirements
•
Applications for combining media types•
'Authoring systems'•
Timeline-based (e.g. Director)•
Markup-based for WWW (e.g.Dreamweaver)
•
May require some programming in a scripting language to provide interactivity•
Behaviours provide prefabricated parameterized actions2
•
Applications for combining media types•
'Authoring systems'•
Timeline-based (e.g. Director)•
Markup-based for WWW (e.g.Dreamweaver)
•
May require some programming in a scripting language to provide interactivity•
Behaviours provide prefabricated parameterized actionsSoftware Requirements
48
•
Applications for combining media types•
'Authoring systems'•
Timeline-based (e.g. Director)•
Markup-based for WWW (e.g.Dreamweaver)
•
May require some programming in a scripting language to provide interactivity•
Behaviours provide prefabricated parameterized actions•
Local area networks (LANs) connect several computers on one site (Ethernet)•
LANs connected together by routers, bridges and switches form an internet•
The Internet is a global network of networks (internet) communicating via TCP/IP protocols•
Mostly operated by commercial Internet Service Providers (ISPs)•
Domestic users connect via telephone, cable or satelliteNetworks
•
Local area networks (LANs) connect several computers on one site (Ethernet)•
LANs connected together by routers, bridges and switches form an internet•
The Internet is a global network of networks (internet) communicating via TCP/IP protocols•
Mostly operated by commercial Internet Service Providers (ISPs)•
Domestic users connect via telephone, cable or satellite2
•
Local area networks (LANs) connect several computers on one site (Ethernet)•
LANs connected together by routers, bridges and switches form an internet•
The Internet is a global network of networks (internet) communicating via TCP/IP protocols•
Mostly operated by commercial Internet Service Providers (ISPs)•
Domestic users connect via telephone, cable or satelliteNetworks
50
•
Local area networks (LANs) connect several computers on one site (Ethernet)•
LANs connected together by routers, bridges and switches form an internet•
The Internet is a global network of networks (internet) communicating via TCP/IP protocols•
Mostly operated by commercial Internet Service Providers (ISPs)•
Domestic users connect via telephone, cable or satellite•
Dial-up connection uses modem and analogue telephone line•
V90 modem, 56kbps maximum•
Broadband always-on digital connection (may be as little as 512kbps, not true broadband)•
ADSL•
Cable•
Satellite•
Dedicated line (T1, T3)Internet Acess
•
Dial-up connection uses modem and analogue telephone line•
V90 modem, 56kbps maximum•
Broadband always-on digital connection (may be as little as 512kbps, not true broadband)•
ADSL•
Cable•
Satellite•
Dedicated line (T1, T3)2
•
Dial-up connection uses modem and analogue telephone line•
V90 modem, 56kbps maximum•
Broadband always-on digital connection (may be as little as 512kbps, not true broadband)•
ADSL•
Cable•
Satellite•
Dedicated line (T1, T3)Internet Acess
51–52
•
Dial-up connection uses modem and analogue telephone line•
V90 modem, 56kbps maximum•
Broadband always-on digital connection (may be as little as 512kbps, not true broadband)•
ADSL•
Cable•
Satellite•
Dedicated line (T1, T3)(max)kbps 100kB image slow modem 28.8 1.5s
Download Times
slow modem 28.8 1.5s
fast modem 56 1s
T1 line 1544 <1s Typical
broadband 6000 <1s T3 line 44736 <1s
2
100kB
image 100kB
image 4MB movie
1.5s 28s 19mins
Download Times
53
1.5s 28s 19mins
1s 14s 9mins
<1s 1s 21s
<1s <1s 5s
<1s <1s 1s
•
Servers listen on a communication channel for requests from clients and send responses•
Often servers (the programs) run ondedicated machines, also referred to as servers
•
Clients run on separate machines (e.g.desktop computer)
•
Interaction is governed by protocolsClients and Servers
•
Servers listen on a communication channel for requests from clients and send responses•
Often servers (the programs) run ondedicated machines, also referred to as servers
•
Clients run on separate machines (e.g.desktop computer)
•
Interaction is governed by protocols2
•
Servers listen on a communication channel for requests from clients and send responses•
Often servers (the programs) run ondedicated machines, also referred to as servers
•
Clients run on separate machines (e.g.desktop computer)
•
Interaction is governed by protocolsClients and Servers
54
•
Servers listen on a communication channel for requests from clients and send responses•
Often servers (the programs) run ondedicated machines, also referred to as servers
•
Clients run on separate machines (e.g.desktop computer)
•
Interaction is governed by protocols•
HTTP – Hypertext Transfer Protocol•
Client (Web browser) sends request for a Web page, server returns it (HTML document)•
Identify server and location of page from a URL•
http://domain name/path•
e.g. http://www.digitalmultimedia.org/DMM/index.html•
Server may create page dynamically•
Communicates with other program via CGI etcThe World Wide Web
•
HTTP – Hypertext Transfer Protocol•
Client (Web browser) sends request for a Web page, server returns it (HTML document)•
Identify server and location of page from a URL•
http://domain name/path•
e.g. http://www.digitalmultimedia.org/DMM/index.html•
Server may create page dynamically•
Communicates with other program via CGI etc2
•
HTTP – Hypertext Transfer Protocol•
Client (Web browser) sends request for a Web page, server returns it (HTML document)•
Identify server and location of page from a URL•
http://domain name/path•
e.g. http://www.digitalmultimedia.org/DMM/index.html•
Server may create page dynamically•
Communicates with other program via CGI etcThe World Wide Web
54–56
•
HTTP – Hypertext Transfer Protocol•
Client (Web browser) sends request for a Web page, server returns it (HTML document)•
Identify server and location of page from a URL•
http://domain name/path•
e.g. http://www.digitalmultimedia.org/DMM/index.html•
Server may create page dynamically•
Communicates with other program via CGI etc•
Need to identify the type of media data in a data stream in a platform-independent way•
MIME (Multipurpose Internet Mail Extension)•
Originally designed to allow inclusion of data other than text in email, adopted by HTTP•
Content-type: type/subtype•
Types include text, image, audio, video,application, subtypes define specific formats
•
e.g. text/html, image/gifMIME Types
•
Need to identify the type of media data in a data stream in a platform-independent way•
MIME (Multipurpose Internet Mail Extension)•
Originally designed to allow inclusion of data other than text in email, adopted by HTTP•
Content-type: type/subtype•
Types include text, image, audio, video,application, subtypes define specific formats
•
e.g. text/html, image/gif2
•
Need to identify the type of media data in a data stream in a platform-independent way•
MIME (Multipurpose Internet Mail Extension)•
Originally designed to allow inclusion of data other than text in email, adopted by HTTP•
Content-type: type/subtype•
Types include text, image, audio, video,application, subtypes define specific formats
•
e.g. text/html, image/gifMIME Types
56–57
•
Need to identify the type of media data in a data stream in a platform-independent way•
MIME (Multipurpose Internet Mail Extension)•
Originally designed to allow inclusion of data other than text in email, adopted by HTTP•
Content-type: type/subtype•
Types include text, image, audio, video,application, subtypes define specific formats
•
e.g. text/html, image/gif•
"Standards are documented agreementscontaining technical specifications … to be used consistently … to ensure that materials,
products, processes and services are fit for their purpose" (ISO)
•
Ensure things that conform to standards are interchangeable•
Multimedia standards concern file formats,markup languages etc, and especially network protocols
Standards
•
"Standards are documented agreementscontaining technical specifications … to be used consistently … to ensure that materials,
products, processes and services are fit for their purpose" (ISO)
•
Ensure things that conform to standards are interchangeable•
Multimedia standards concern file formats,markup languages etc, and especially network protocols
2
•
"Standards are documented agreementscontaining technical specifications … to be used consistently … to ensure that materials,
products, processes and services are fit for their purpose" (ISO)
•
Ensure things that conform to standards are interchangeable•
Multimedia standards concern file formats,markup languages etc, and especially network protocols
Standards
57–58
•
"Standards are documented agreementscontaining technical specifications … to be used consistently … to ensure that materials,
products, processes and services are fit for their purpose" (ISO)
•
Ensure things that conform to standards are interchangeable•
Multimedia standards concern file formats,markup languages etc, and especially network protocols
•
ISO (International Organization for Standards)•
All technical fields except electrical and electronic engineering•
IEC (International Electrotechnical Commission)•
ITU (International Telecommunications Union)•
IT dealt with by joint ISO/IEC technical committeeStandards Organizations
•
ISO (International Organization for Standards)•
All technical fields except electrical and electronic engineering•
IEC (International Electrotechnical Commission)•
ITU (International Telecommunications Union)•
IT dealt with by joint ISO/IEC technical committee2
•
ISO (International Organization for Standards)•
All technical fields except electrical and electronic engineering•
IEC (International Electrotechnical Commission)•
ITU (International Telecommunications Union)•
IT dealt with by joint ISO/IEC technical committeeStandards Organizations
58–59
•
ISO (International Organization for Standards)•
All technical fields except electrical and electronic engineering•
IEC (International Electrotechnical Commission)•
ITU (International Telecommunications Union)•
IT dealt with by joint ISO/IEC technical committee•
Internet Architecture Board (IAB)•
Internet Engineering Task Force (IETF) deals with technical development•
Internet Assigned Numbers Authority (IANA) registers MIME types, language codes, etc•
World Wide Web Consortium (W3C)•
No official status, but Recommendations are treated as standards for the WWWInternet Standards
•
Internet Architecture Board (IAB)•
Internet Engineering Task Force (IETF) deals with technical development•
Internet Assigned Numbers Authority (IANA) registers MIME types, language codes, etc•
World Wide Web Consortium (W3C)•
No official status, but Recommendations are treated as standards for the WWW2
•
Internet Architecture Board (IAB)•
Internet Engineering Task Force (IETF) deals with technical development•
Internet Assigned Numbers Authority (IANA) registers MIME types, language codes, etc•
World Wide Web Consortium (W3C)•
No official status, but Recommendations are treated as standards for the WWWInternet Standards
60