IP Library Granted Patent US 10,142,707
Granted Patent B2
US 10,142,707 · App. 15/441,362 · Granted Nov 27, 2018

Systems and methods for video streaming based on conversion of a target key frame

Inventor: Chen-Wei Chou (New Taipei, TW)
Assignee: CYBERLINK CORP.
H04N21/8455H04N21/2387H04N21/23418H04N21/41407H04N21/47217H04N21/6371
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,142,707
App. No.
15/441,362
Granted
Nov 27, 2018
Kind
B2
Abstract

In a computing device for streaming media content, information relating to a video bitstream is transmitted to a client device for displaying a user interface. An input signal is received from the client device indicating a desired start time in the video bitstream. Based on the start time, a target key frame is identified within the video, the target key frame comprising a nearest key frame in the video bitstream preceding the desired start time. A target frame header comprising a nearest header frame in the video preceding the target key frame is identified within the video bitstream. If necessary, the target key frame is converted to a first frame type. Only the target frame header, the target key frame, and video bitstream that follows the converted target key frame is sent to the client device, where the original frame referencing encoded in the video bitstream is utilized.

Claims (56)

1. A method implemented in a computing device for streaming a video to a client device, wherein the video comprises at least one key frame, the method comprising:

transmitting information relating to a video bitstream to a client device, the client device displaying a user interface to a user based on the information relating to the video bitstream;

receiving an input signal from the client device indicating a desired start time in the video bitstream, the desired start time specifying a point in the video bitstream to begin streaming;

based on the start time, identifying a target key frame within the video bitstream, the target key frame comprising a nearest key frame in the video bitstream preceding the desired start time;

identifying a target frame header within the video bitstream, the target frame header comprising a nearest header frame in the video preceding the target key frame;

converting the target key frame to a first frame type;

determining whether any video data is located between the target frame header and the target key frame;

based on the determination, removing any video data located between the target frame header and the target key frame; and

sending only the target frame header, the target key frame, and video bitstream that follows the converted target key frame to the client device, wherein an original frame referencing encoded in the video bitstream is utilized, and wherein the client device decodes the video bitstream utilizing the target frame header and the target key frame.

2. The method of claim 1 , wherein any start frame located between the target frame header and the target key frame is not sent to the client device.

3. The method of claim 1 , wherein converting the target key frame to the first frame type is performed if the target key frame is an inter coded frame.

4. The method of claim 3 , wherein the inter coded frame is a B-frame or a P-frame.

5. The method of claim 1 , wherein the key frame comprises an I-frame.

6. The method of claim 1 , wherein the target key frame is converted to the first frame type such that the first frame type specifies a frame in the video bitstream in which no frame after the first frame type references any frame preceding the first frame type.

7. The method of claim 1 , where the first frame type comprises an Instantaneous Decoding Refresh (IDR) frame type in accordance with the H.264 standard.

8. The method of claim 1 , wherein the computing device comprises one of: a server, PC, notebook and mobile device, and wherein the client device comprises a display device.

9. A method implemented in a computing device for streaming a video to a client device, wherein the video comprises at least one key frame, the method comprising:

transmitting information relating to a video bitstream to a client device, the client device displaying a user interface to a user based on the information relating to the video bitstream;

receiving an input signal from the client device indicating a desired start time in the video bitstream, the desired start time specifying a point in the video bitstream to begin streaming;

based on the start time, identifying a target key frame within the video bitstream, the target key frame comprising a nearest key frame in the video bitstream preceding the desired start time;

identifying a target frame header within the video bitstream, the target frame header comprising a nearest header frame in the video preceding the target key frame;

inserting a blank frame directly preceding the target key frame, wherein inserting the blank frame directly preceding the target key frame is performed if the target key frame is an inter coded frame, wherein the blank frame comprises a first frame type;

determining whether any video data is located between the target frame header and the target key frame;

based on the determination, removing any video data located between the target frame header and the target key frame; and

sending only the target frame header, the target key frame, and video bitstream that follows the target key frame to the client device, wherein an original frame referencing encoded in the video bitstream is utilized, and wherein the client device decodes the video bitstream utilizing the target frame header and the target key frame.

10. The method of claim 9 , wherein the first frame type comprises a frame in the video bitstream in which no frame after the first frame type references any frame preceding the first frame type.

11. A system, comprising:

a memory storing instructions; and

a processor coupled to the memory and configured by the instructions to at least:

transmit information relating to a video bitstream to a client device, the client device displaying a user interface to a user based on the information relating to the video bitstream;

receive an input signal from the client device indicating a desired start time in the video bitstream, the desired start time specifying a point in the video bitstream to begin streaming;

based on the start time, identify a target key frame within the video bitstream, the target key frame comprising a nearest key frame in the video bitstream preceding the desired start time;

identify a target frame header within the video bitstream, the target frame header comprising a nearest header frame in the video preceding the target key frame;

convert the target key frame to a first frame type;

determine whether any video data is located between the target frame header and the target key frame;

based on the determination, remove any video data located between the target frame header and the target key frame; and

send only the target frame header, the target key frame, and video bitstream that follows the converted target key frame to the client device, wherein an original frame referencing encoded in the video bitstream is utilized, and wherein the client device decodes the video bitstream utilizing the target frame header and the target key frame.

12. The system of claim 11 , wherein any start frame located between the target frame header and the target key frame is not sent to the client device.

13. The system of claim 11 , wherein the processor converts the target key frame to the first frame type if the target key frame is an inter coded frame.

14. The system of claim 13 , wherein the inter coded frame is a B-frame or P-frame.

15. The system of claim 11 , wherein the key frame comprises an I-frame.

16. The system of claim 11 , wherein the target key frame is converted to the first frame type such that the first frame type specifies a frame in the video bitstream in which no frame after the first frame type references any frame preceding the first frame type.

17. The system of claim 11 , where the first frame type comprises an Instantaneous Decoding Refresh (IDR) frame type in accordance with the H.264 standard.

18. A non-transitory computer-readable storage medium storing instructions to be implemented by a computing device having a processor, wherein the instructions, when executed by the processor, cause the computing device to at least:

transmit information relating to a video bitstream to a client device, the client device displaying a user interface to a user based on the information relating to the video bitstream;

receive an input signal from the client device indicating a desired start time in the video bitstream, the desired start time specifying a point in the video bitstream to begin streaming;

based on the start time, identify a target key frame within the video bitstream, the target key frame comprising a nearest key frame in the video bitstream preceding the desired start time;

identify a target frame header within the video bitstream, the target frame header comprising a nearest header frame in the video preceding the target key frame;

convert the target key frame to a first frame type;

determine whether any video data is located between the target frame header and the target key frame;

based on the determination, remove any video data located between the target frame header and the target key frame; and

send only the target frame header, the target key frame, and video bitstream that follows the converted target key frame to the client device, wherein an original frame referencing encoded in the video bitstream is utilized, and wherein the client device decodes the video bitstream utilizing the target frame header and the target key frame.

19. The non-transitory computer-readable storage medium of claim 18 , wherein, wherein the processor converts the target key frame to the first frame type if the target key frame is an inter coded frame.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the key frame comprises an I-frame type.

21. The non-transitory computer-readable storage medium of claim 18 , wherein the target key frame is converted to the first frame type such that the first frame type specifies a frame in the video bitstream in which no frame after the first frame type references any frame preceding the first frame type.

22. The non-transitory computer-readable storage medium of claim 18 , where the first frame type comprises an Instantaneous Decoding Refresh (IDR) frame type in accordance with the H.264 standard.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2026
From: CYBERLINK CORP.
To: DF BARLEY LLC
Reel/Frame 074689/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2017
From: CHOU, CHEN-WEI
To: CYBERLINK CORP.
Reel/Frame 041366/0409 →
Continuity (2)
Provisional Application 62299589 · Feb 25, 2016
Related Publication 20170251284A1 · Aug 31, 2017