IP Library › Granted Patent US 11,438,673
Granted Patent B2
US 11,438,673 · App. 17/151,037 · Granted Sep 6, 2022

Presenting media items on a playing device

Inventors: Joshua James Pressnell (Dayton, OH); Brian Kline (New Providence, NJ)
Assignee: PENTHERA PARTNERS, INC.
H04N21/8456H04L65/60H04N21/23439H04N21/26258
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 11,438,673
App. No.
17/151,037
Granted
Sep 6, 2022
Kind
B2
Abstract

In general, in an aspect, versions of representations of segments of a media item are received and temporarily stored on a media playing device. The segments have a sequence. The temporarily stored versions are used in sequence to present at least part of the media item to a user. One or more other versions of representations of segments of the media item are also received and persistently stored on the media playing device. The one or more persistently stored other versions are used to enhance the presentation of at least part of the media item to the user.

Claims (71)

1. A method comprising:

obtaining a first particular segment of a media item, wherein the first particular segment has a first bitrate;

storing the first particular segment in a storage unit;

after obtaining the first particular segment, receiving, via a first communication channel, from a media player that is being executed on a first device a request for the first particular segment; and

determining a transmission rate for the first particular segment based solely on a quality of a second communication channel, wherein the second communication channel is different than the first communication channel and is used by a process to obtain from a content server segments of the media item;

after receiving the request for the first particular segment having the first bitrate, obtaining the first particular segment from the storage unit and then transmitting the first particular segment to the media player via the first communication channel using the transmission rate that was chosen based solely on the quality of the second communication channel; and

after transmitting the first particular segment to the media player via the first communication channel, receiving, via the first communication channel, from the media player a request for a second particular segment, wherein

the media item comprises a first segment group (S 1 ) comprising a first ordered set of N segments S 1 1 , to S 1 N and a second segment croup (S 2 ) comprising a second ordered set of N segments S 2 1 to S 2 N ,

the first particular segment is segment S 1 i , where i>0 and i<N;

the second particular segment is segment S 2 j , where j>i and j≤N.

2. The method of claim 1 , wherein

the first communication channel has a bandwidth, and

the chosen transmission rate is less than the bandwidth of the first communication channel.

3. The method of claim 1 , wherein

the second segment quality is a segment quality that is higher than the first segment quality of the first particular segment, and

the method further comprises:

in response to receiving the request for the second particular segment, sending to a server a request for the second particular segment;

receiving the second particular segment; and

delivering the second particular segment to the media player.

4. The method of claim 1 , further comprising:

after receiving the request for the second particular segment, determining that the storage unit contains a third particular segment containing the same media item content as the second particular segment but having a different segment quality than the segment quality of the second particular segment; and

as a result of determining that the storage unit contains the third particular segment containing the same media item content, responding to the request for the second particular segment by delivering to the media player the third particular segment.

5. The method of claim 1 , further comprising:

after receiving the request for the second particular segment, determining that the storage unit does not contain either the second particular segment or any corresponding segment having a higher segment quality than the segment quality of the second particular segment; and

as a result of the determination, sending to the server a request for the second particular segment.

6. The method of claim 4 , wherein the method is performed by a helper process and the storage unit is co-located with the helper.

7. The method of claim 6 , wherein the helper is executing on a second device that is separate from the first device on which the media player is executing.

8. The method of claim 1 ,

after receiving the request for the first particular segment and before receiving from the media player any other request for any other segment of the media item, transmitting to a server a request for the second particular segment of the media item, receiving the second particular segment from the server, and storing the second particular segment in the storage unit.

9. The method of claim 1 , wherein the storage unit is a component of the first device on which the media player is executing.

10. The method of claim 1 , wherein the first particular segment is a streaming-format file.

11. A method comprising:

receiving from a media player a request for a first particular segment of a media item;

after receiving the request for the first particular segment, transmitting a request to a server for the first particular segment, receiving the first particular segment from the server, and, after receiving the first particular segment from the server, delivering the first particular segment of the media item to the media player; and

after receiving the first particular segment of the media item from the server and before receiving from the media player any other request for any other segment of the media item and without receiving from the media player any information pertaining to segments the media player anticipates requesting, transmitting to the server a request for a second particular segment of the media item, receiving the second particular segment from the server, and storing the second particular segment of the media item in a storage unit, wherein

the media item comprises a first segment group (S 1 ) comprising a first ordered set of N segments S 1 1 to S 1 N and a second segment group (S 2 ) comprising a second ordered set of N segments S 2 1 to S 2 N ,

the first particular segment is segment S 1 i , where i>0 and i<N;

the second particular segment is either segment S 1 j or segment S 2 j where j>i and j≤N.

12. The method of claim 11 , wherein the first particular segment and the second particular segment are of different qualities.

13. The method of claim 12 , wherein the second particular segment is of a higher quality than the first particular segment.

14. The method of claim 11 , further comprising:

prior to transmitting the request for the second particular segment to the server, determining that a quality of a communication channel that is used to transmit the request meets or exceeds a threshold quality.

15. The method of claim 11 , further comprising:

after storing the second particular segment of the media item, receiving from the media player a request for the second particular segment; and

after receiving from the media player the request for the second particular segment, retrieving the second particular segment and delivering the second particular segment to the media player.

16. The method of claim 11 , wherein the second particular segment is of a lower quality than the first particular segment.

17. A method comprising:

receiving from a media player a request for a first particular segment of a media item;

after receiving the request for the first particular segment, transmitting a request to a server for the first particular segment, receiving the first particular segment from the server, and, after receiving the first particular segment from the server, delivering the first particular segment of the media item to the media player; and

after receiving the first particular segment of the media item from the server and before receiving from the media player any other request for any other segment of the media item, transmitting to the server a request for a second particular segment of the media item, receiving the second particular segment from the server, and storing the second particular segment of the media item in a storage unit, wherein

the media item comprises a first segment group (S 1 ) comprising a first ordered set of N segments S 1 1 to S 1 N and a second segment group (S 2 ) comprising a second ordered set of N segments S 2 1 to S 2 N ,

the first particular segment is segment S 1 i , where i>0 and i<N;

the media item further comprises a third segment group (S 3 ) comprising a third ordered set of N segments S 3 1 to S 3 N ,

the second particular segment is segment S 2 j , where j>i and j≤N; and

the method further comprises:

after storing the second particular segment (S 2 j ), receiving from the media player a request for a third particular segment of the media item, wherein the third particular segment is segment S 1 j or segment S 3 j ; and

in response to receiving from the media player the request for segment S 1 j or segment S 3 j , retrieving segment S 2 j from the storage unit and delivering segment S 2 j to the media player.

18. The method of claim 17 , wherein the segment quality of the second particular segment is higher than the segment quality of the third particular segment.

19. The method of claim 11 , further comprising:

after receiving the first particular segment of the media item from the server and before receiving from the media player any other request for any other segment of the media item, transmitting to the server a request for a third particular segment of the media item, receiving the third particular segment from the server, and storing the third particular segment of the media item in the storage unit.

20. The method of claim 19 , wherein the third particular segment has a segment quality different than the segment quality of the second particular segment.

21. The method of claim 15 , wherein delivering the segment S 2 j to the media player comprises transmitting the first particular segment to the media player via a first communication channel using a transmission rate that was chosen based on a quality of a second communication channel.

22. The method of claim 21 , wherein the request for the second particular segment of the media item is transmitted to the server via the second communication channel.

23. The method of claim 11 , further comprising:

receiving from the media player a request for a third particular segment of the media item;

after receiving the request for the third particular segment, determining that the storage unit contains a fourth particular segment containing the same media item content as the third particular segment but having a different segment quality than the segment quality of the third particular segment; and

as a result of determining that the storage unit contains the fourth particular segment containing the same media item content, responding to the request for the third particular segment by delivering to the media player the fourth particular segment.

24. The method of claim 23 , wherein the segment quality of the fourth particular segment is higher than the segment quality of the third particular segment.

25. The method of claim 4 , wherein the segment quality of the third particular segment is higher than the segment quality of the second particular segment.

26. The method of claim 7 , wherein the storage unit is a component of a third device that is separate from the first device and the second device.

27. The method of claim 1 , wherein the first segment quality is the same as the second segment quality.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: PRESSNELL, JOSHUA JAMES; KLINE, BRIAN
To: PENTHERA PARTNERS, INC.
Reel/Frame 056452/0129 →
Continuity (2)
Division 17018836 · Sep 11, 2020
Related Publication 20220086535A1 · Mar 17, 2022