Proxy Assisted Panoramic Video Streaming at Mobile Edge
Abstract
Aspects of the subject disclosure may include, for example, system for tile-based video streaming using a proxy executing at a mobile edge cloud, which adaptively offloads decoding and merging of video tiles from mobile devices to the mobile edge cloud. A processing system including the proxy communicates with a video server and a client device. The proxy receives a request for video content from a client device; the request includes historical field of view (FoV) information. The proxy predicts a client FoV, requests video tiles from the server, downloads the tiles from the server, generates a video chunk by decoding and merging the downloaded tiles, and delivers the video chunk to the client device. The client device performs local decoding and rendering of the generated video chunk. 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 comprising:
determining an encoding quality based on a request for video content, the video content comprising a plurality of chunks corresponding to spatial subdivisions of the video content, each chunk of the plurality of chunks comprising a plurality of tiles;
identifying a field of view (FoV) corresponding to the request;
determining whether a stored chunk meets criteria based on the FoV and the encoding quality; and
responsive to the stored chunk not meeting the criteria:
downloading the plurality of tiles from a video server to obtain a plurality of downloaded tiles;
decoding the plurality of downloaded tiles to obtain a plurality of decoded tiles;
merging the plurality of decoded tiles to obtain a merged tile corresponding to a viewport of a video player; and
generating a video chunk comprising the merged tile to obtain a generated video chunk, wherein a response to the request for video content comprises the video chunk.
2 . The device of claim 1 , wherein the processing system comprises a proxy executing at a cloud edge.
3 . The device of claim 1 , wherein the plurality of tiles comprising a chunk correspond to spatial subdivisions of that chunk.
4 . The device of claim 1 , wherein the video content comprises a panoramic video presentation.
5 . The device of claim 1 , wherein the request comprises a video player request received from a client device.
6 . The device of claim 5 , wherein the processing system and a video server communicate via a first network, and wherein the processing system and the client device communicate via a second network different from the first network.
7 . The device of claim 6 , wherein the client device comprises a mobile device, and wherein the second network comprises a cellular network.
8 . The device of claim 1 , wherein the criteria comprise an overlap criterion with respect to the predicted FoV.
9 . The device of claim 1 , wherein the operations further comprise:
storing the generated video chunk in a first memory; and storing the plurality of tiles in a second memory.
10 . The device of claim 9 , wherein at least one of the first memory and the second memory comprises a cache memory.
11 . A method comprising:
determining, by a processing system including a processor, an encoding quality based on a request for video content comprising a plurality of chunks corresponding to spatial subdivisions of the video content, each chunk of the plurality of chunks comprising a plurality of tiles; identifying, by the processing system, a field of view (FoV) corresponding to the request; determining, by the processing system, whether a stored chunk meets criteria based on the predicted FoV and the encoding quality; and responsive to the stored chunk not meeting the criteria:
downloading, by the processing system, the plurality of tiles to obtain a plurality of downloaded tiles;
merging, by the processing system, the plurality of downloaded tiles to obtain a merged plurality of tiles corresponding to a viewport of a video player; and
generating, by the processing system, a video chunk comprising the merged plurality of tiles to obtain a generated video chunk, wherein a response to the request for video content comprises the video chunk.
12 . The method of claim 11 , further comprising providing, by the processing system responsive to the stored chunk meeting the criteria, the stored chunk to a client device, wherein the video content is requested by a client device.
13 . The method of claim 11 , wherein the criteria comprise an overlap criterion with respect to the predicted FoV.
14 . The method of claim 11 , further comprising:
storing, by the processing system, the generated video chunk in a first memory; and storing, by the processing system, the plurality of tiles in a second memory, wherein at least one of the first memory and the second memory comprises a cache memory.
15 . The method of claim 11 , wherein a client device receives the generated video chunk and performs a local decoding and rendering of the generated video chunk, and wherein a total time required for the downloading, generating, delivering, local decoding, and rendering meets a timing budget.
16 . The method of claim 15 , wherein the local decoding is performed using a graphics processing unit (GPU) accelerated decoder.
17 . A non-transitory, machine-readable medium comprising executable instructions that, when executed by a processing system including a processor and comprising a proxy executing at a cloud edge, facilitate performance of operations comprising:
determining an encoding quality based on a request for video content, the video content comprising a plurality of chunks corresponding to subdivisions of the video content, each chunk of the plurality of chunks including a plurality of tiles corresponding to spatial subdivisions of that chunk; identifying a field of view (FoV) corresponding to the request; determining whether a stored chunk meets criteria based on the FoV and the encoding quality; and responsive to the stored chunk not meeting the criteria:
obtaining the plurality of tiles;
decoding the plurality of tiles to obtain a plurality of decoded tiles;
combining the plurality of decoded tiles to obtain a composite tile corresponding to a viewport of a video player; and
generating a video chunk comprising the composite tile to obtain a generated video chunk responsive to the request for video content.
18 . The non-transitory, machine-readable medium of claim 17 , wherein the operations further comprise transmitting, responsive to the stored chunk meeting the criteria, the stored chunk to a client device requesting the video content.
19 . The non-transitory, machine-readable medium of claim 17 , wherein the encoding quality is based on an estimated throughput rate for data transmission between the processing system and a client device.
20 . The non-transitory, machine-readable medium of claim 17 , wherein a client device receiving the generated video chunk performs a local decoding and rendering of the generated video chunk.Join the waitlist — get patent alerts
Track US2022353557A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.