IP Library Granted Patent US 10,826,964
Granted Patent B2
US 10,826,964 · App. 16/122,584 · Granted Nov 3, 2020

Priority-based tile transmission system and method for panoramic video streaming

Inventors: Bo Han (Bridgewater, NJ); Vijay Gopalakrishnan (Edison, NJ); Zhengye Liu (Pleasanton, CA); Feng Qian (Bloomington, IN)
Assignees: AT&T Intellectual Property I, L.P.; The Trustees of Indiana University
H04L65/608H04L65/601H04N19/37H04N21/816H04N21/8456
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 10,826,964
App. No.
16/122,584
Granted
Nov 3, 2020
Kind
B2
Abstract

Aspects of the subject disclosure may include, for example, a device that includes a processing system with a processor, a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations including receiving a request that identifies a first list of tiles for streaming a panoramic video, determining a first total number of data packets required to transmit tiles in the first list of tiles, maintaining a second total number of empty data packets enqueued into a transport control protocol (TCP) buffer, maintaining a third total number of empty data packets dequeued from the TCP buffer, and enqueuing empty data packets into the TCP buffer whenever the first total number of data packets is greater than a difference between the second total number of empty data packets and the third total number of empty data packets. Other embodiments are disclosed.

Claims (50)

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:

receiving a request that identifies a first list of tiles for streaming a panoramic video;

determining a first total number of data packets required to transmit tiles in the first list of tiles;

maintaining a second total number of empty data packets enqueued into a transport control protocol (TCP) buffer;

maintaining a third total number of empty data packets dequeued from the TCP buffer; and

enqueuing empty data packets into the TCP buffer whenever the first total number of data packets is greater than a difference between the second total number of empty data packets and the third total number of empty data packets.

2. The device of claim 1 , wherein the operations further comprise:

filling an empty data packet dequeued from the TCP buffer with data from the tiles in the first list of tiles to form a transmission data packet; and

sending the transmission data packet over a network to a panoramic video client application.

3. The device of claim 2 , wherein the operations further comprise:

receiving an updated request identifying a new list of tiles; and

updating the first total number of data packets with a number of data packets required to transmit the tiles in the new list of tiles.

4. The device of claim 3 , wherein the operations further comprise:

marking an empty data packet dequeued from the TCP buffer with an identifier to form an empty transmission data packet; and

sending the empty transmission data packet over the network to the panoramic video client application.

5. The device of claim 1 , wherein the processing system comprises a plurality of processors operating in a distributed processing environment, and wherein the panoramic video is streamed using a dynamic adaptive streaming over hypertext transport protocol (DASH).

6. The device of claim 1 , wherein the operations further comprise ranking the tiles in the first list of tiles for an order of transmission.

7. The device of claim 6 , wherein the ranking is based chronologically.

8. The device of claim 7 , wherein the ranking is further based on a size of an area of a projection of each tile in the first list of tiles.

9. The device of claim 8 , wherein the first list of tiles is formed from an equi-rectangular projection.

10. The device of claim 8 , wherein the first list of tiles is formed from a cube map projection.

11. A machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising:

determining a first total number of data packets required to transmit tiles in a first list of tiles received from a video player application for streaming a panoramic video over a network;

maintaining a second total number of empty data packets enqueued into a transport control protocol (TCP) buffer;

maintaining a third total number of empty data packets dequeued from the TCP buffer; and

enqueuing empty data packets into the TCP buffer whenever the first total number of data packets is greater than a difference between the second total number of empty data packets and the third total number of empty data packets.

12. The machine-readable medium of claim 11 , wherein the operations further comprise:

receiving a new list of tiles; and

updating the first total number of data packets with a number of data packets required to transmit tiles in the new list of tiles.

13. The machine-readable medium of claim 12 , wherein the operations further comprise:

marking an empty data packet dequeued from the TCP buffer with an identifier to form an empty transmission data packet; and

sending the empty transmission data packet over the network to the video player application.

14. The machine-readable medium of claim 11 , wherein the operations further comprise:

filling an empty data packet dequeued from the TCP buffer with data from the tiles in the first list of tiles to form a transmission data packet; and

sending the transmission data packet over a network to the video player application.

15. The machine-readable medium of claim 14 , wherein the processing system comprises a plurality of processors operating in a distributed processing environment, and wherein the operations further comprise: ranking the tiles in the first list of tiles for an order of transmission.

16. The machine-readable medium of claim 15 , wherein the ranking is based chronologically.

17. The machine-readable medium of claim 16 , wherein the ranking is further based on a size of an area of a projection of each tile in the first list of tiles.

18. A method, comprising:

receiving, by a processing system including a processor, a new list of tiles for streaming a panoramic video over a network;

calculating, by the processing system, a total number of data packets to send data for tiles in the new list of tiles;

enqueuing, by the processing system, empty data packets in a transmission control protocol (TCP) buffer whenever there are fewer data packets in the TCP buffer than the total number of data packets;

dequeuing, by the processing system, an empty data packet from the TCP buffer;

determining, by the processing system, whether a tile associated with a next data to send is in the new list of tiles;

filling, by the processing system, the empty data packet with the next data to form a transmission data packet if the tile associated with the next data is in the new list of tiles; and

sending, by the processing system, the transmission data packet over the network.

19. The method of claim 18 , comprising: ranking, by the processing system, tiles in the new list of tiles for an order of transmission.

20. The method of claim 19 , wherein the ranking is based chronologically and then by a size of an area of a projection of the tiles in the new list of tiles.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2018
From: QIAN, FENG
To: THE TRUSTEES OF INDIANA UNIVERSITY
Reel/Frame 047287/0952 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2018
From: HAN, BO; GOPALAKRISHNAN, VIJAY; LIU, ZHENGYE
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 046970/0828 →
Continuity (1)
Related Publication 20200076867A1 · Mar 5, 2020
Cited By (1)
US 12,537,984