IDF Presentation 2001
Download
Report
Transcript IDF Presentation 2001
On Multimedia Technology &
Infrastructure for Emerging Applications:
from Desktop to Wireless to Peer-to-Peer
Minerva M. Yeung, Ph.D.
<[email protected]>
Media Technology Research
Microprocessor Research Labs
Intel Corporation.
Feb 20, 2001.
Stanford Seminar
Copyright © 2001 Intel Corporation.
Intel
Acknowledgements*
Media Technology
Yen-Kuang Chen, Ph.D.
Matthew Holliman
Rainer Lienhart, Ph.D.
Skip Macy, Ph.D.
Igor Kozintsev, Ph.D
Andre Zaccarin, Ph.D.
Valery Kuriakin and the iNNL-MPL team
(Russia)
And many others
* Key collaborators/contributors to the work mentioned in the talk.
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 2
MRL/TRL
Intel
Ubiquitous Multimedia
Media Technology
MRL/TRL
Wired and Wireless
Interactive, High Performance,
Enriched Media
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 3
Intel
Digital Media: from desktop, to Internet, to
hand-helds, to wireless, and to Peer-to-Peer
Media Technology
MRL/TRL
Data Farms /
Storage
Edge server
E-Commerce
Server
Media Server
Web Server
Edge server
Apps/DB
Server
Wireless Comm Server
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 4
Intel
Implications:
–
–
–
–
Media Technology
Blurring of Core vs. Edge
Migration from client-server to peer-to-peer framework
Where should data come from?
Where should computations be done?
– Optimal partitioning of computations
Inequality: compute, bandwidth,
storage and display
Platform
CPU
Memory
Storage
B/W
Screen
Server
Multiple
1GHz+
2GB
100G to
Terabytes
1+ Gbps
N/A
PC
Single
1GHz+
256M
40G
100 Mbps
1600 x 1200
Laptop
600 MHz
128M
10G
100 Mbps
1024 x 768
Media
PDA
200MHz
16M
8M
19.2
kbps
320 x 240
PDA
70MHz
8M
8M
19.2 kbps
160 x 160
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 5
MRL/TRL
Intel
Media Technology
Challenges
MRL/TRL
What
is the optimal multimedia
content distribution mechanism?
What is the optimal multimedia
processing methodology?
What are the technology building
blocks?
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 6
Intel
Multimedia data
Same
content can exist in different
resolutions, bit rate and quality
Can be gracefully degraded
Can be transformed to multiple
representations
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 7
Media Technology
MRL/TRL
Intel
P2P for Multimedia
Media Technology
MRL/TRL
Maintain key features and extend
– Supports traditional (existing) file sharing systems
– Facilitates sharing of resources like CPU cycles, storage,
computation process or arbitrary functionalities that can be
abstracted by the user as resources.
Facilitates exchange of data with real time
requirements, exemplified by video or audio
transmission.
– Choice and flexibility of transport mechanisms
– Meeting diverse application requirements
Efficient multimedia services
– Integrates media transformation/transcoding
Flexible query interfaces to facilitate multimedia
search
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 8
Intel
MAPS: Media Accelerating Peer Services
Media Technology
MRL/TRL
Technology, platform architecture, and
software infrastructure
– facilitates efficient, transparent and highperformance media content delivery & processing
– can take advantage of, integrate into, and bring out
the benefits of the P2P computing infrastructure
MAPS
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
MAPS
Page 9
MAPS
Intel
System Architecture
Media Technology
MRL/TRL
Application
MAPS API
Script language
Support modules of other
types of applications
(Document editing, distributed
processing, etc.)
Multi-media application
Support modules
(Transcoding, compression,
security/watermarking, etc.)
(Multimedia)
Media
Accelerating
Peer
Service
Layer
Platform
Optimization
Traditional
application
MAPS API
Peer-to-Peer Service Layer (general security,
Directory service, data replication, flow control, etc.)
Network Transport Services (TCP socket, CORBA, DCOM, SOAP)
operating system
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 10
Intel
System Components
Media Technology
MRL/TRL
Platform Optimization (Media Acceleration)
– Detect and analyze the optimal platform configuration and
operation at a particular time instant
– Dynamic optimization via cost-function analysis across a
global or local set of peer nodes: the result determines a best
operational mode for a particular media delivery or
processing operation
– Optimization is built upon (and calling) a set of support
modules, like streaming, transcoding, etc. for multimedia
delivery operations, and other support modules like
distributed image processing primitives for multimedia
processing operations.
– Invisible and seamless to the applications
– Overall results cascaded into an enhanced service
experience
– fast delivery, higher satisfaction, lower abort rates, and better
viewing/listening/interactive experiences, …
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 11
Intel
Minimal Cost to Deliver a
Resource to a Peer Node
Media Technology
MRL/TRL
To find the minimal of
– cost of getting a copy locally and transcoding if
necessary,
– cost of getting a copy from a peer node + cost of
transmission
Minimal cost
i
Minimal cost
j
Minimal cost
k
Minimal cost
Minimal cost
m
n
Minimal cost
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 12
Intel
Media Technology
Cost Analysis
MRL/TRL
Request to evaluate cost
of R
If the file is not cached
(local), then find the
minimal cost from the set
of neighbors (can extend
from local to global)
Cost of transcoding
computation
Cost of transmission
available network
bandwidth
Other cost factors can be
formulated
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 13
Cost of
retrieval,
transcoding, &
transmission
Compare the
minimal cost
Repeat for
the set of
neighbors
Cache the
result
Return
Intel
Minimal Cost to Perform
a computation
Media Technology
MRL/TRL
For a computation task on data (resource R),
optimize with respect to several variables
such as delay, power consumption, temp
storage, etc. (constraint parameters P)
To find the minimal of
– cost of performing the computation locally,
– cost of transmitting the data to a peer (or multiple
peers), perform the computation there and
transmitting the result back
– cost of finding the same data on a peer, perform
the computation there and transmitting the result
back
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 14
Intel
Media Technology
Cost Computation & Estimation
What is the cost?
–Cost should be dynamic
– Resource availability at “server”
– Resource availability at “client”
– Network availability
How to measure?
How to estimate?
Methodology?
Tools?
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 15
MRL/TRL
Methodology for Estimating End-to-End
Computing Performance and Analyzing
Network Computing Models
Intel
Media Technology
MRL/TRL
In a networked & distributed computing
environment, end-to-end performance of
applications depend on capability of components in
the system and their interaction.
Need methodology to estimate end-to-end system
performance.
Results of performance estimation used to make
computing decisions.
– Best distribution of computational tasks.
– Best algorithm choice.
– Most effective hardware improvement.
– Enhanced security
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 16
Intel
Overview
Media Technology
MRL/TRL
Methodology
operations
performance
metrics
models
results
processing rates
grayscale
response time
queuing
network
best
distribution
data size
scale size
maximum
throughput
calculations
lowest
cost
inputs
network bandwidth
compression
cost
cost weights
halftone
quality
…
encryption
security
digital
signatures
Sample Operations
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 17
best
algorithm
Intel
Sample Results: Computation Distribution
Media Technology
MRL/TRL
Color convert 512x512 to gray, scale to 128x128, halftone to 1-bit/pixel
Assumptions:
– server processing rate >> client
processing rate
– Simplest model; other server/client
disparities not included
0.4
0.3
server process
0.25
server network
0.2
client network
0.15
client process
0.1
total
0.05
0
0
4
8
12
arrival rate (requests/sec)
response time (sec)
1.4
Figure 1
Server: grayscale, scale, halftone
Client: none
Results:
– Processing rate limited.
– Lowest response time.
Figure 2 (Left)
Server: grayscale, scale
Client: halftone
1.2
1
0.8
0.6
0.4
Figure 3 (Right)
0.2
0
0
2
4
6
8
10
arrival rate (requests/sec)
Server: grayscale,
scale, compress
Client: decompress,
halftone
Results:
Bandwidth rate limited.
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 18
3
response time (sec)
response time (sec)
0.35
2.5
2
1.5
1
0.5
0
0
3
6
9
12
arrival rate (requests/sec)
Results:
– Highest request throughput
– client process raises time
15
Intel
Sample Results: Quality as a Performance Metric
Media Technology
MRL/TRL
Compare JPEG2000, SPIHT and JPEG
– Order of processing rate: JPEG, SPIHT, JPEG2000
– Order of compression ratio for given PSNR: JPEG2000, SPIHT, JPEG
Server and Client can have equal capability (measured on PIII 600 MHz systems for the following)
50
Compression
Decompression
(Mb/s)
(Mb/s)
PSNR
JPEG2000
2
3
30.9
JPEG
l6
15
27.8
SPIHT
12
12
29.0
Method
compression
40
JPEG2000
30
JPEG
20
SPIHT
10
0
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
PSNR
Delay increases
with PSNR
delay (sec)
8
6
JPEG2000
4
JPEG
SPIHT
2
0
26 28 30 32 34 36 38
PSNR
@1.5 Mbps.
JPEG2000 closer to
40
JPEG and SPIHT
for slower network
Delay for low arrival rate against PSNR
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Comparison of processing rates
maximum throughput
Compression vs PSNR 128x128 24-bit Lena
3
2.5
2
JPEG2000
1.5
1
JPEG
SPIHT
0.5
0
26
Processing
limited
28
30
32
34
PSNR
36
38
40
Network limits
throughput
deceases with
PSNR
Maximum throughput for 1.5 Mbps
Page 19
Multimedia Support
“Malleability”/“flexibility” of (bulky) Multimedia
–
–
–
–
Intel
Media Technology
MRL/TRL
Graceful degradation
Various representations
Complexity b/w and compute intensive!
More flexibility more opportunities
Special technology components in MAPS
– Universal across multiple platforms
– Media Adaptive Transcoding
– e.g. MPEG2 (6Mbps) MPEG4 (300kps)
–
–
–
–
Audio/video Streaming
Robust, error resilient coding and transmission
Enhanced Multimedia Processing
Technology modules for media security & tracking
(encryption/watermarking)
– Technology that facilitates multimedia browsing/search/management
Intel® MPL can serve as a basic media software infrastructure that
provides some core media technology components while facilitates
the building of the other ones
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 20
Intel
Intel MPL - Media Processing Library
(presented at IDF Fall’99, Fall’00)
Media Technology
MRL/TRL
General purpose, high performance software infrastructure
with API’s for MPEG encode/decode and processing
BUILDING BLOCK enabling NEW rich-media apps: targeted for
applications beyond standard encode/decode/display, e.g.,
ease-of-use of video, allow interactivity with digital video
Universal & Ubiquitous:
– Common API’s across multiple OS: Windows, Linux
– Optimized for multiple architecture: IA, XScale™ (in progress)
– Can extend to network applications (Internet, wireless, etc.)
Scalable solution
–
–
–
–
Low bit rate to high bit rate
Low resolution to high resolution
1 processor to multiple processors
Small devices to high end servers
Rich features, high performance, ease-of-development
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 21
MPL – PC and Internet Multimedia S/W
infrastructure for Diverse Platforms
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 22
Intel
Media Technology
MRL/TRL
Reference: MPL features
Intel
Media Technology
MRL/TRL
Support MPEG-1 and MPEG-2 up to HDTV, MPEG4
Optimized with MMX™ technology and SIMD Streaming Extensions, Pentium™ 4
Advanced Features - the highlights:
– Random access to any frames with near constant-time
– Fast extraction of reduced frames
– Simultaneous decode of multiple MPEG sequences.
– Access via callbacks (API) to non-frame level information in the MPEG
bitstream, such as raw bits, blocks, macroblocks, GOP and slice, etc.
[structured access to compressed video/audio]
– Flexible input plugins: MPL - DTV, MPL – Network
– Audio support (AC3, audio level 1, 2 and 3 – MP3, AAC)
– SMP support; multithreaded design
– Transcoding capabilities
Ease-of-development and deployment
– Windows*, Linux*
– MPL as Component: COM objects (for VB, VC++, DirectShow*)
– IPP support for audio & video (2001)
– cross-platform optimization: Pentium™ processor families, Xscale™ core
architecture based processors (in planning)
* Other names and brands are property of their respective owners
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 23
150
100
50
0
126
128,2
136,2
Inside the MPL pipeline
High performance
performance Media
Infrastructure
Media input
Video
processing
control
Control algorithm
Preconditioning
Motion vector
search algorithm
Motion estimation
Video
encoding
control
DCT
Bitrate control
Quantization
Huffman coding
Headers generation
Encoder user callback function
MPEG encoder
Users may easily
plug in their own
algorithms to
encoder’s pipeline
and, also, fully
control encoding and
decoding processes.
Intel
Media Technology
MRL/TRL
Various
input streams
from various
devices
Tbird (1GHz) PIII (1GHz) P4 (1.1 GHz)
Decoder user callback function
Decoding rate
(FPS)
Comparison of MPL decoding
(MPEG-2 704x480)
Video
output
MPEG decoder
Motion Compensation
Inverse DCT
Dequantization
Huffman decoding
Headers processing
Mixer
Splitter
Output system
Input system
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Encoded stream
Page 24
Core Bitstream
Enhancement Bitstream 1
Enhancement Bitstream 2
Demultiplex
Elementary
sreams
N
E
T
W
O
R
K
Intel
MPL Next Steps
Media Technology
MRL/TRL
MPEG-4 (simple to advanced profiles)
Low bitrate, acceptable quality
Scenes
decoding
Person
Voice
Decoder A
Scene Graph
2D background
Sprite
Furniture
Globe
A/V object 1
A/V object 2
Desk
BIFS
Objects
decoding
2D-Mesh
Natural video
3D-Mesh
Synthetic video
Decoder B
Average bitrate, good quality
Decoder C
High bitrate, excellent quality
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 25
Face&Body animation
Intel
MPL Next Steps
Media Technology
MRL/TRL
Extend to embrace & integrate more technology
building blocks
– wireless
– P2P – embrace technology catering to and take advantage of
the “inequalities” inherent in the computing platforms
– low power considerations
– Merging of video & graphics
Strive to
–
–
–
–
Cater to diversity (universal)
Be among the best in performance
Be flexible, and maximize utility/usability
Be a key building block infrastructure for emerging
applications
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 26
Intel
Media Technology
Facilitating Multimedia Search
MRL/TRL
Automatic media content analysis
algorithms AND meta-data can improve
search efficiency.
New browsing tools and methodologies can
be deployed for distributed media sharing,
storage and retrieval, and collaboration.
Flexible query interfaces to facilitate
multimedia search
Search can be based on BOTH the file
names and content descriptions.
– e.g. MPEG7 or XML
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 27
Intel
Media Technology
Content analysis & Search
Example: Video Search
– Very compact representations
– Fast Matching on Compact
Signatures
representation:
4.26 real numbers per frame of
video*
250 min of video searched
within 7 sec on a PII 400
against 50 frame query
* achieved using window size 30 and
polynomial degree 1;
histograms of Y, U, V channels
quantized into 16, 8 and 8 bins
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 28
Matched Clips
MRL/TRL
Intel
On Compact Representations & Fast Search
Media Technology
MRL/TRL
(Naphade, Yeo & Yeung, earlier work)
Extract compressed low-resolution temporal signature
– Compute spatial low resolution signature - for MPEG video, extract/estimate
DC images for I/P/B frames, on compressed data
– Fit polynomial of N degrees over M samples in time
– Describe temporal trace using the N degree polynomial for each M samples
Achieved matching rate of 6000+ frames/sec on a low-end PC
Reduce complex MM search/matching to a fast string-matching
Same signature & compact size regardless of resolution of video
Incoming Video
DC Sequence
Database of Polynomial Coefficients
Retrieved Clips
Similarity Metric
Computation
Histogram Sequence
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Histogram Sequence
Approximated Histogram
Sequence
DC Sequence
Page 29
Incoming Query
Intel
Media Technology
MRL/TRL
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 30
Intel
Building MAPS into a P2P
computing platform
Media Technology
MRL/TRL
The enhanced multimedia peer service layer can be
integrated into existing/emerging P2P infrastructure
– To make P2P media-aware and optimized for media delivery
and media applications…
APIs can be defined on P2P platform to facilitate
multimedia applications development
Prototype & experimentation at Intel MRL
“edge” service
Internet Service
Peer-to-Peer Service
Media Accelerating
Peer Service MAPS
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 31
Intel
Media Technology
Prototype system
MRL/TRL
(Intel MRL 2001)
Peer
Daemon
– Low level
primitives
– High level
controllers
Other
Peer
Other
Peer
P2P
Daemon
Internet
Client
API
Client APIs
– Application
access to P2P
network
Peer
Applications
P2P
Daemon
The Global Network
Universe
Peer -to- peer “super” daemon
Application -to daemon APIs
Media transcoding
module
Other
Peer
Client
API
Daemon -to -daemon
communication
Applications
Cost evaluation
module
User defined modules
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 32
Intel
Seamless Multimedia for Dynamic and
Heterogeneous Environment
•
•
•
•
Media Technology
MRL/TRL
Transcoding for bandwidth management
Robust Wireless Streaming/transmission
Multi-platform Encode/Decode
Resource Optimization
10/100baseT
HUB
10/100baseT
Tablets
PDA’s & devices
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 33
Intel
Peer Media Explorer
Snapshot
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 34
Media Technology
MRL/TRL
Intel
Extending Multimedia Apps and
Technology from Desktop to P2P
Media Technology
MRL/TRL
Emerging media-centric applications:
Content Transaction, Tracking and Monitoring
Media content indexing, browsing & organization
Interactive video, and merged video and graphics
Enhanced virtual reality
Enhanced video conferencing
Networked multimedia games
Goal: to enable multimedia apps development and
deployment on P2P with enhanced user experience.
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 35
Streaming, sharing and
collaborating on digital media
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 36
Intel
Media Technology
MRL/TRL
Intel
Building Blocks
Ease-of-use
Interactive Video
Media Technology
MRL/TRL
Media Delivery
as a natural data type
Manipulation/processing
fast, intuitive,
on un/compressed media,
“Word for Video”
Automatic content
analysis & abstraction
Search, browse, and
retrieve
Object recognition &
segmentation
“Rendering” of video,
graphics (& audio)
Scalable streaming
FGS
Optimization of
interactive streaming
Robust/resilient delivery
theory and practice
MPEG4 Technology
and Apps Utilization
Transcoding
B/W-compute adaptability
Smarter delivery schemes
MPL Call-back/hooks
Watermarking
Encryption, Security
Next-gen CODEC’s
Desktop Networked Wired to wireless ubiquity P2P
Performance
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Power
Page 37
Resource Inequality
Intel
Wireless Multimedia:
Media Technology
Robust Video Delivery over Wireless
Networks (IP, Bluetooth, and beyond)
TCP
MPEG
file
Generate
FEC
Packetize
File Selection
Packets
Wireless
Access Point
Decode
MPEG
Got ACK?
Buffer
ACK
Decode
FEC
New Results
Buffer
Wireless
Access Point
Packets
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Can
Decode?
Send
ACK
Page 38
MRL/TRL
Intel
Looking forward…
Media Technology
MRL/TRL
What is the optimal multimedia content distribution
mechanism?
What is the optimal multimedia processing
methodology?
What are the technology building blocks?
Many more questions…
– What are the computing models of the future?
– What are the best algorithms?
– What are the performance criteria?
Many good problems for research
New framework, new formulation, …
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 39
More on Intel MRL
Media Research
University collaborations
Summer internships
Copyright © 2001 Intel Corporation.
Intel
Augmenting Research via University
Collaboration & Partnerships
Collaborations
Media Technology
MRL/TRL
(2000-01)
–UC Berkeley
–Polytech University (NY)
–others
Partnerships
–Internships
–Technical exchanges, hosting visits
–Courses, resource utilization (e.g. s/w h/w
research infrastructure)
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 41
Intel
Media Technology
Summer Internships @ Intel MRL
MRL/TRL
May/June to August/September 2001 (12-13
weeks, can be renewed to 9 months)
Looking for outstanding candidates (MS,
Ph.D., and very exceptional BS students)
Areas:
1. Algorithms research and development (general,
in various fields) – video, audio
2. Low power research
3. P2P System research
4. Wireless multimedia, communications
– Email: [email protected] and Matt
will forward to appropriate researchers
Copyright © 2001 Intel Corporation.
Copyright © 2001 Intel Corporation. M. Yeung, 2/20.
Page 42