IP Library Granted Patent US 9,516,225
Granted Patent B2
US 9,516,225 · App. 13/691,654 · Granted Dec 6, 2016

Apparatus and method for panoramic video hosting

Inventors: Bill Banta (San Francisco, CA); Geoff Donaldson (San Francisco, CA)
Assignee: Amazon Technologies, Inc.
H04N5/23238H04N2101/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,516,225
App. No.
13/691,654
Granted
Dec 6, 2016
Kind
B2
Abstract

A server includes an input node to receive video streams forming a panoramic video. A module forms a suggested field of view in the panoramic video. An output node sends the suggested field of view to a client device.

Claims (36)

1. A server, comprising:

an input node to receive a plurality of video streams forming a panoramic video;

a module to select a suggested field of view from the panoramic video, wherein forming the suggested field of view comprises:

receiving data representing a plurality of fields of view from the panoramic video, wherein a first field of view of the plurality of fields of view and a second field of view of the plurality of fields of view have been requested for display by at least one client device;

determining that the first field of view was requested for display more times than the second field of view was requested for display;

selecting the first field of view as the suggested field of view, wherein the suggested field of view includes a viewing angle that is less than a full field of view angle of the panoramic video, and wherein the suggested field of view comprises a first portion captured by a first camera and a second portion captured by a second camera; and

an output node to send to a first client device a segment of the panoramic video from a viewpoint of the suggested field of view.

2. The server of claim 1 wherein receiving the data representing the plurality of fields of view comprises receiving a field of view selection from the first client device.

3. The server of claim 1 wherein receiving the data describing the plurality of fields of view from the panoramic video comprises receiving a panning sequence from the first client device.

4. The server of claim 1 wherein forming the suggested field of view comprises selecting as the suggested field of view a most popular field of view from the plurality of fields of view.

5. The server of claim 1 , wherein the output node sends the segment to the first client device by sending to the client device the segment and a buffer positioned around at least a portion of the segment.

6. The server of claim 5 wherein the server is programmed to:

receive an indication of a client device panning speed requested by the first client device; and

set a size of the buffer based upon client device panning speed.

7. The server of claim 1 wherein receiving the data describing the plurality of fields of view from the panoramic video comprises receiving from a second client device a current user center point within the panoramic video.

8. The server of claim 1 wherein receiving the data describing the plurality of fields of view from the panoramic video comprises receiving from a second client device a current user field of view within the panoramic video.

9. The server of claim 1 , wherein the server is programmed to configured to modulate panoramic video delivered to the first client device based upon a dynamic assessment of available network bandwidth.

10. The server of claim 1 , wherein to send the segment of the panoramic video to the first client device, the output node is configured to: send a modified panoramic video to the client device, wherein the modified panoramic video has a higher resolution in the suggested field of view than outside the suggested field of view.

11. The server of claim 1 configured to evaluate time stamps associated with the plurality of video streams.

12. A method of serving a panoramic video to a first client device, the method comprising:

receiving, by a server, a plurality of video streams, wherein a first video stream from the plurality of video streams is captured by a first video camera and a second video stream from the plurality of video streams is captured by a second video camera;

stitching, by the server, the plurality of video streams to generate the panoramic video;

receiving, by the server, data representing a plurality of fields of view from the panoramic video, and wherein a first field of view of the plurality of fields of view and a second field of view of the plurality of fields of view have been requested for display by at least one client device;

determining, by the server, that the first field of view was requested for display more times than the second field of view was requested for display;

selecting, by the server, the first field of view as a suggested field of view, wherein the suggested field of view includes a viewing angle that is less than a full field of view angle of the panoramic video, and wherein the suggested field of view comprises at least a portion of the first video stream and at least a portion of the second video stream; and

sending, by the server, a segment of the panoramic video including from a viewpoint of the suggested field of view to the first client device.

13. The method of claim 12 wherein receiving the data representing the plurality of fields of view comprises receiving a field of view selection from the first client device.

14. The method of claim 12 wherein receiving the data describing the plurality of fields of view from the panoramic video comprises receiving a panning sequence from a second client device.

15. The method of claim 12 wherein selecting the suggested field of view comprises selecting as the suggested field of view a most popular field of view from the plurality of fields of view.

16. The method of claim 12 , further comprising sending a buffer positioned around at least a portion of the segment of the panoramic video from the viewpoint of the suggested field of view to the first client device.

17. The method of claim 16 , further comprising:

receiving, by the server, an indication of a client device panning speed requested by the first client device; and

setting, by the server, a size of the buffer.

18. The method of claim 12 wherein receiving the data representing the plurality of fields of view from the panoramic video comprises receiving from a second client device at least one current user center point within the panoramic video.

19. The method of claim 12 wherein receiving the data representing the plurality of fields of view from the panoramic video comprises receiving from a second client device at least one current user field of view within the panoramic video.

20. The method of claim 12 , wherein the segment is a first segment and the viewpoint is a first viewpoint, the method further comprising sending a modified panoramic video to the client device, wherein the modified panoramic video includes a second segment of the panoramic video from a second viewpoint outside the suggested field of view, and wherein the first segment of the panoramic video has a higher resolution in the suggested field of view than the resolution of the second segment from the second viewpoint outside the suggested field of view.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: STEALTHHD LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 038338/0297 →
CHANGE OF NAME Recorded Jan 9, 2015
From: STEALTHHD, INC.
To: STEALTHHD LLC
Reel/Frame 034749/0590 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2014
From: BANTA, BILL; DONALDSON, GEOFF
To: STEALTHHD, INC.
Reel/Frame 033761/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2013
From: BANTA, BILL; DONALDSON, GEOFF
To: STEALTH HD CORP.
Reel/Frame 030493/0420 →
Continuity (2)
Provisional Application 61566269 · Dec 2, 2011
Related Publication 20130141523A1 · Jun 6, 2013