Methods, devices, and systems for updating streaming panoramic video content due to a change in user viewpoint
Abstract
Aspects of the subject disclosure may include, for example, embodiments comprising obtaining a plurality of original frames for video content, receiving a first viewpoint from a mobile device, and processing the plurality of original frames according to the first viewpoint generating a plurality of first viewpoint frames. Further embodiments include providing the plurality of first viewpoint frames to the mobile device, generating a group of delta frames in response to receiving a change in viewpoint from the mobile device, and providing the group of delta frames to the mobile device. The mobile device processes a portion of the plurality of first viewpoint frames according to the group of delta frames to generate a group of second viewpoint frames and the mobile device presents the group of second viewpoint frames. Other embodiments are disclosed.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A device, comprising:
a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: determining a first viewpoint of the device; receiving, from a server, a plurality of first viewpoint frames representing a first view corresponding to the first viewpoint of the device; inserting the plurality of first viewpoint frames in a buffer until viewed at the device; detecting a change in viewpoint from the first viewpoint of the device to a second viewpoint of the device; sending a request to the server, wherein the request includes information describing the second viewpoint and a frame index corresponding to one of the plurality of first viewpoint frames in the buffer; receiving, from the server, a group of delta frames; and applying the group of delta frames to at least a portion of the plurality of first viewpoint frames in the buffer starting at a first viewpoint frame corresponding to the frame index to create second viewpoint frames representing a second view corresponding to the second viewpoint of the device.
2 . The device of claim 1 , wherein the operations further comprise determining the frame index to send to the server based on a current frame index, a latency value, and a video frame rate.
3 . The device of claim 1 , wherein:
the receiving the plurality of first viewpoint frames comprises receiving the plurality of first viewpoint frames using a first streaming protocol; and the receiving the group of delta frames comprises receiving the group of delta frames using a second streaming protocol different from the first streaming protocol.
4 . The device of claim 3 , wherein the first streaming protocol comprises one of real-time messaging protocol (RTMP), real-time transport protocol (RTP), or Web Real-time Communications (WebRTC) protocol.
5 . The device of claim 3 , wherein the operations further comprise modifying the first streaming protocol resulting in the second streaming protocol.
6 . The device of claim 1 , wherein the detecting the change in viewpoint from the first viewpoint to the second viewpoint comprises receiving the change in viewpoint from a sensor on the device.
7 . The device of claim 1 , wherein the group of delta frames comprises reprocessed versions of a portion of the plurality of first viewpoint frames according to the change in viewpoint.
8 . The device of claim 1 , wherein the device comprises a mobile device.
9 . A non-transitory, machine-readable medium, comprising executable instructions that, when executed by a processing system of a device including a processor, facilitate performance of operations, the operations comprising:
determining a first viewpoint of the device; receiving, from a server, a plurality of first viewpoint frames representing a first view corresponding to the first viewpoint of the device; inserting the plurality of first viewpoint frames in a buffer until viewed at the device; detecting a change in viewpoint from the first viewpoint of the device to a second viewpoint of the device; sending a request to the server, wherein the request includes information describing the second viewpoint and a frame index corresponding to one of the plurality of first viewpoint frames in the buffer; receiving, from the server, a group of delta frames; and applying the group of delta frames to at least a portion of the plurality of first viewpoint frames in the buffer starting at a first viewpoint frame corresponding to the frame index to create second viewpoint frames representing a second view corresponding to the second viewpoint of the device.
10 . The non-transitory, machine-readable medium of claim 9 , wherein the operations further comprise determining the frame index to send to the server based on a current frame index, a latency value, and a video frame rate.
11 . The non-transitory, machine-readable medium of claim 9 , wherein:
the receiving the plurality of first viewpoint frames comprises receiving the plurality of first viewpoint frames using a first streaming protocol; and the receiving the group of delta frames comprises receiving the group of delta frames using a second streaming protocol different from the first streaming protocol.
12 . The non-transitory, machine-readable medium of claim 9 , wherein the detecting the change in viewpoint from the first viewpoint to the second viewpoint comprises receiving the change in viewpoint from a sensor on the device.
13 . The non-transitory, machine-readable medium of claim 9 , wherein the detecting the change in viewpoint from the first viewpoint to the second viewpoint comprises analyzing a captured image of a user of the device.
14 . The non-transitory, machine-readable medium of claim 9 , wherein the group of delta frames comprises reprocessed versions of a portion of the plurality of first viewpoint frames according to the change in viewpoint.
15 . The non-transitory, machine-readable medium of claim 9 , wherein the device comprises a mobile device.
16 . A method, comprising:
determining, by a processing system in a device including a processor, a first viewpoint of the device; receiving, by the processing system, from a server, a plurality of first viewpoint frames representing a first view corresponding to the first viewpoint of the device; inserting, by the processing system, the plurality of first viewpoint frames in a buffer until viewed at the device; detecting, by the processing system, a change in viewpoint from the first viewpoint of the device to a second viewpoint of the device; sending, by the processing system, a request to the server, wherein the request includes information describing the second viewpoint and a frame index corresponding to one of the plurality of first viewpoint frames in the buffer; receiving, by the processing system, from the server, a group of delta frames; and applying, by the processing system, the group of delta frames to at least a portion of the plurality of first viewpoint frames in the buffer starting at a first viewpoint frame corresponding to the frame index to create second viewpoint frames representing a second view corresponding to the second viewpoint of the device.
17 . The method of claim 16 , further comprising determining the frame index to send to the server based on a current frame index, a latency value, and a video frame rate.
18 . The method of claim 16 , wherein:
the receiving the plurality of first viewpoint frames comprises receiving the plurality of first viewpoint frames using a first streaming protocol; and the receiving the group of delta frames comprises receiving the group of delta frames using a second streaming protocol different from the first streaming protocol.
19 . The method of claim 18 , wherein the first streaming protocol comprises one of real-time messaging protocol (RTMP), real-time transport protocol (RTP), or Web Real-time Communications (WebRTC) protocol.
20 . The method of claim 18 , further comprising modifying the first streaming protocol resulting in the second streaming protocol.Join the waitlist — get patent alerts
Track US2022224953A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.