SLIDE 1 Had You Looked Where I'm Looking? Cross-user Similarities in Viewing Behavior for 360-degree Video and Caching Implications
Niklas Carlsson, Linköping University Derek Eager, University of Saskatchewan
- Proc. ACM/SPEC ICPE, April 2020
SLIDE 2
Before I start ...
SLIDE 3
eractive services over the
The 360-degree experience ...
SLIDE 4 eractive services over the
The 360-degree experience ...
- Put the user in control of their experience
- Opportunity to revolutionize the viewing experience
SLIDE 5 eractive services over the
The 360-degree experience ...
- Put the user in control of their experience
- Opportunity to revolutionize the viewing experience
SLIDE 6 Highly bandwidth intensive ...
- 360-degree video streaming highly bandwidth intensive
- Important to identify and understand bandwidth saving opportunities
SLIDE 7 Highly bandwidth intensive ...
- 360-degree video streaming highly bandwidth intensive
- Important to identify and understand bandwidth saving opportunities
SLIDE 8 Saving bandwidth ...
- Users only see what is in the viewport
- Many techniques prioritize the region visible to the user
viewport
SLIDE 9 Saving bandwidth ...
viewport
- Users only see what is in the viewport
- Many techniques prioritize the region visible to the user
SLIDE 10
eractive services over the
Uncertainty in both ... … and want to avoid stalls ...
SLIDE 11
eractive services over the
Uncertainty in both ... … and want to avoid stalls ...
SLIDE 12
HAS/DASH + Til iling
SLIDE 13 HTTP-based Adaptive Streaming (H (HAS)
- HTTP-based adaptive streaming
– Video is split into chunks – Each chunk in multiple bitrates (qualities) – Clients adapt quality encoding based on buffer/network conditions
SLIDE 14 HTTP-based Adaptive Streaming (H (HAS)
- HTTP-based adaptive streaming
– Video is split into chunks – Each chunk in multiple bitrates (qualities) – Clients adapt quality encoding based on buffer/network conditions
SLIDE 15 HTTP-based Adaptive Streaming (H (HAS)
Chunk1 Chunk2 Chunk4 Chunk3 Chunk5
- HTTP-based adaptive streaming
– Video is split into chunks – Each chunk in multiple bitrates (qualities) – Clients adapt quality encoding based on buffer/network conditions
SLIDE 16 360 HAS with tiles
- In addition to chunks, we have
– Tiles of different quality in each direction
- Clients adapt quality encoding of each chunk and tile based on both
- buffer/network conditions, and
- expected view field
“Chunk 1”
SLIDE 17 360 HAS with tiles
- In addition to chunks, we have
– Tiles of different quality in each direction
- Clients adapt quality encoding of each chunk and tile based on both
- buffer/network conditions, and
- expected view field
“Chunk 1” “Chunk 2” “Chunk 3” “Chunk 4”
SLIDE 18 360 HAS with tiles
- In addition to chunks, we have
– Tiles of different quality in each direction
- Clients adapt quality encoding of each chunk and tile based on both
- buffer/network conditions, and
- expected view field
“Chunk 1” “Chunk 2” “Chunk 3” “Chunk 4”
SLIDE 19 Contributions
- Trace-driven analysis of caching opportunities in this context ...
- We present the first characterization of
- the similarities in the viewing directions of users watching the same 360° video,
- the overlap in viewports of these users (both instantaneously and on a per-
chunk basis), and
- the potential cache hit rates for different video categories and network
conditions.
- Results provide insights into the conditions under which overlap can
be considerable and caching effective, and can inform the design of new caching system policies tailored for 360° video. Addressing both these uncertainties in simultaneously results in a p
SLIDE 20 Contributions
- Trace-driven analysis of caching opportunities in this context ...
- We present the first characterization of
- the similarities in the viewing directions of users watching the same 360° video,
- the overlap in viewports of these users (both instantaneously and on a per-
chunk basis), and
- the potential cache hit rates for different video categories and network
conditions.
- Results provide insights into the conditions under which overlap can
be considerable and caching effective, and can inform the design of new caching system policies tailored for 360° video. Addressing both these uncertainties in simultaneously results in a p
SLIDE 21 Contributions
- Trace-driven analysis of caching opportunities in this context ...
- We present the first characterization of
- the similarities in the viewing directions of users watching the same 360° video,
- the overlap in viewports of these users (both instantaneously and on a per-
chunk basis), and
- the potential cache hit rates for different video categories and network
conditions.
- Results provide insights into the conditions under which overlap can
be considerable and caching effective, and can inform the design of new caching system policies tailored for 360° video. Addressing both these uncertainties in simultaneously results in a p
SLIDE 22 Head movement traces
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 23 Head movement traces
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 24 Head movement traces
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 25 2 5
Head movement traces
Rides Moving focus Exploration Static focus
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 26 2 6
Head movement traces
Rides Moving focus Exploration Static focus
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 27 2 7
Head movement traces
Rides Moving focus Exploration Static focus
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 28 2 8
Head movement traces
Rides Moving focus Exploration Static focus
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 29 2 9
Head movement traces
Rides Moving focus Exploration Static focus
- Oculus rift
- YouTube 360 videos with 4K resolution
- Five categories
- Rides: “virtual ride ...”
- Exploration: “no particular focus ...”
- Static focus: “main focus of attention static ...”
- Moving focus: “object of attention moves ...”
- Miscellaneous: “unique feel ...”
- Focus on “representative” videos
- Viewed by 32 views per video
- Rest got 8-13 views per video
Almquist et al. "The Prefetch Aggressiveness Tradeoff in 360 Video Streaming", Proc. ACM MMSys, 2018.
SLIDE 30
Part 1: : In Instantaneous similarities
SLIDE 31 Part 1: : In Instantaneous similarities
Pairwise viewport overlap
SLIDE 32
Part 1: : In Instantaneous similarities
SLIDE 33 Part 1: : In Instantaneous similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 34 Part 1: : In Instantaneous similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 35 Part 1: : In Instantaneous similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 36 Part 1: : In Instantaneous similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 37 Part 1: : In Instantaneous similarities
Multi-user scenario
SLIDE 38
Part 1: : In Instantaneous similarities
SLIDE 39 Part 1: : In Instantaneous similarities
Explore Static
SLIDE 40 Part 1: : In Instantaneous similarities
Substantial differences in how quickly overlap increase with more clients
- Explore vs static (above)
Note: Initial exploration phase for static
SLIDE 41 Part 1: : In Instantaneous similarities
Substantial differences in how quickly overlap increase with more clients
- Explore vs static (above)
Exception: Initial exploration phase for static
Exploration phase
SLIDE 42
Part 2: : Per-chunk similarities
SLIDE 43 Part 2: : Per-chunk similarities
Define per-chunk coverage
Viewport time t0
SLIDE 44 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 45 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 46 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 47 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 48 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 49 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 50 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 51 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 52 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 53 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 54 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 55 Part 2: : Per-chunk similarities
Define per-chunk coverage
SLIDE 56 Part 2: : Per-chunk similarities
Per-chunk coverage overlap
User A
SLIDE 57 Part 2: : Per-chunk similarities
Per-chunk coverage overlap
User A User B
SLIDE 58 Part 2: : Per-chunk similarities
Per-chunk coverage overlap
User A User B
SLIDE 59 Part 2: : Per-chunk similarities
Per-chunk coverage overlap
SLIDE 60 Part 2: : Per-chunk similarities
Per-chunk coverage overlap Also, some details for handling wraparound ...
SLIDE 61
Part 2: : Per-chunk similarities
SLIDE 62 Part 2: : Per-chunk similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 63 Part 2: : Per-chunk similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 64 Part 2: : Per-chunk similarities
Explore category has much smaller pairwise overlap than other categories
SLIDE 65 Part 2: : Per-chunk similarities
Explore category has much smaller pairwise overlap than other categories Explore category has much bigger variation (due to larger head movements)
SLIDE 66 Part 2: : Per-chunk similarities
Explore category has much smaller pairwise overlap than other categories Explore category has much bigger variation (due to larger head movements)
SLIDE 67
Part 3: : Cache simulations
SLIDE 68 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
Different categories
SLIDE 69 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
Different categories
Byte vs object Bandwidth traces Average bandwidth
SLIDE 70 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
Different categories
SLIDE 71 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 72 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 73 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 74 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 75 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, 80% more misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 76 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, 80% more misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 77 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, 80% more misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 78 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, on average 80% less misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
Different categories
Byte vs object Bandwidth traces Average bandwidth
SLIDE 79 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, 80% more misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 80 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, 80% more misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 81 Part 3: : Cache simulations
- Significant differences in bandwidth usage
- E.g., for 4th client, 80% more misses
- Byte hit rates greater than object hit rates
- Even greater bandwidth savings
- Greatest hit rates under stable network conditions
- Greatest hit rates at low/high bandwidth scenarios
SLIDE 82
Conclusions
SLIDE 83 Conclusions
- First trace-driven characterization of caching opportunities
- Category-based comparisons
- Substantial differences between different video categories
- Overlap in viewports (both instantaneously and on a per-chunk basis)
- Potential cache hit rates for different video categories and network conditions
- Some of the same things that improve user QoE without a cache also
improve cache performance (e.g., as measured by cache hit rates)
- Improved viewport prediction techniques (as provided in client-side)
- Stable network conditions (motivating the use of cap-based network/server-side
solutions) and less quality switches (suggesting less greedy client-side solutions)
SLIDE 84 Conclusions
- First trace-driven characterization of caching opportunities
- Category-based comparisons
- Substantial differences between different video categories
- Overlap in viewports (both instantaneously and on a per-chunk basis)
- Potential cache hit rates for different video categories and network conditions
- Some of the same things that improve user QoE without a cache also
improve cache performance (e.g., as measured by cache hit rates)
- Improved viewport prediction techniques (as provided in client-side)
- Stable network conditions (motivating the use of cap-based network/server-side
solutions) and less quality switches (suggesting less greedy client-side solutions)
SLIDE 85 Conclusions
- First trace-driven characterization of caching opportunities
- Category-based comparisons
- Substantial differences between different video categories
- Overlap in viewports (both instantaneously and on a per-chunk basis)
- Potential cache hit rates for different video categories and network conditions
- Some of the same things that improve user QoE without a cache also
improve cache performance (e.g., as measured by cache hit rates)
- Improved viewport prediction techniques (as provided in client-side)
- Stable network conditions (motivating the use of cap-based network/server-side
solutions) and less quality switches (suggesting less greedy client-side solutions)
SLIDE 86 Niklas Carlsson (niklas.carlsson@liu.se)
Thanks for listening!
Had You Looked Where I'm Looking? Cross-user Similarities in Viewing Behavior for 360-degree Video and Caching Implications
Niklas Carlsson and Derek Eager