IP Library Granted Patent US 10,142,605
Granted Patent B1
US 10,142,605 · App. 15/589,446 · Granted Nov 27, 2018

Systems and methods for playing a video clip of an encoded video file

Inventor: Hank J. Hundemer (Bellevue, KY)
Assignee: Tribune Broadcasting, LLC
H04N9/87
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,605
App. No.
15/589,446
Granted
Nov 27, 2018
Kind
B1
Abstract

Systems and processes are disclosed for providing a video output of a subset of an encoded video file. In one example, a process includes accessing an encoded video file that includes an initial frame and scanning the encoded video file for a start frame of a video clip. This process can also include decoding the video clip of the encoded video file to generate decoded video data corresponding to the video clip and populating memory with the decoded video data. Further, the process can include setting a playout pointer that indicates a location in the memory populated with the decoded video data and corresponding to the start frame of the video clip. In addition, the process can include causing a video player to read, beginning at the playout pointer, from the decoded video data in the memory so as to output, via an output port of the video playout card, a video stream of the video clip.

Claims (57)

1. A non-transitory computer readable medium encoded with a set of program instructions that when executed by a processor cause performance of functions comprising:

accessing an encoded video file that includes an initial frame;

scanning the encoded video file for a start frame of a video clip, wherein the start frame is after the initial frame;

decoding the video clip of the encoded video file to generate decoded video data corresponding to the video clip, wherein the decoding the video clip includes decoding a nearest reference frame preceding the start frame and decoding intervening frames through the start frame;

populating memory with the decoded video data;

setting a playout pointer that indicates a location in the memory populated with the decoded video data and corresponding to the start frame of the video clip; and

causing a video player to read, beginning at the playout pointer, from the decoded video data in the memory so as to output, via an output port of a video playout card, a video stream of the video clip.

2. The non-transitory computer readable medium of claim 1 , the functions further comprising populating the decoded video data corresponding to the reference frame and intervening frames in the memory.

3. The non-transitory computer readable medium of claim 1 , the functions further comprising:

accessing a second encoded video file that includes a second initial frame;

scanning the second encoded video file for a second start frame of a second video clip;

decoding the second video clip of the second encoded video file to generate second decoded video data corresponding to the second video clip;

populating memory with the second decoded video data;

setting a second playout pointer that indicates a second location in the memory populated with the second decoded video data and corresponding to the second start frame of the second video clip; and

responsive to the video player outputting the video stream of the first-named video clip, causing the video player to read, beginning at the second playout pointer, from the second decoded video data in the memory such that the video stream output from the video player via the output port switches from being in accordance with the first-named decoded data to being in accordance with the second decoded data.

4. The non-transitory computer readable medium of claim 3 , the functions further comprising populating the first-named decoded video data in a first memory and populating the second decoded video data in a second memory.

5. The non-transitory computer readable medium of claim 3 , wherein the decoding the second video clip and the populating the memory with the second decoded data are carried out while the video player outputs the video stream according to the first-named decoded data.

6. The non-transitory computer readable medium of claim 3 , wherein the video stream output from the video player via the output port switches from being in accordance with the first-named decoded data, in one frame, to being in accordance with the second decoded data, in a frame subsequent to the one frame.

7. The non-transitory computer readable medium of claim 3 , the functions further comprising scanning the first-named encoded video file for an end frame of the first-named video clip, wherein the first-named decoded video data includes the first-named start frame and the end frame, and wherein the video stream output from the video player via the output port switches such that, the end frame of video according to the first-named decoded data immediately precedes the start frame of the second decoded data.

8. The non-transitory computer readable medium of claim 3 , the functions further comprising providing the video stream from the output port to a single input port of a production switcher.

9. The non-transitory computer readable medium of claim 1 , the functions further comprising scanning through header information associated with the encoded video file to identify the nearest reference frame.

10. A method comprising:

accessing an encoded video file that includes an initial frame;

receiving data identifying a start frame of a video clip, wherein the start frame is after the initial frame;

decoding the video clip of the encoded video file to generate decoded video data corresponding to the video clip, wherein the decoding the video clip includes decoding a frame preceding the start frame and decoding intervening frames through the start frame;

populating memory with the decoded video data;

setting a playout pointer that indicates a location in the memory populated with the decoded video data and corresponding to the start frame of the video clip; and

causing a video player to read, beginning at the playout pointer, from the decoded video data in the memory so as to output, via an output port of a video playout card, a video stream of the video clip.

11. The method of claim 10 , further comprising:

accessing a second encoded video file that includes a second initial frame;

decoding the second video clip of the second encoded video file to generate second decoded video data corresponding to the second video clip;

populating memory with the second decoded video data;

setting a second playout pointer that indicates a second location in the memory populated with the second decoded video data and corresponding to the second start frame of the second video clip; and

responsive to the video player outputting the video stream of the first-named video clip, causing the video player to read, beginning at the second playout pointer, from the second decoded video data in the memory such that the video stream output from the video player via the output port switches from being in accordance with the first-named decoded data to being in accordance with the second decoded data.

12. The method of claim 11 , further comprising the video playout module receiving second data identifying the second start frame, which is after the second initial frame.

13. The method of claim 10 , wherein the decoding the video clip includes decoding a nearest reference frame preceding the start frame and decoding intervening frames through the start frame.

14. The method of claim 13 , further comprising scanning through header information associated with the encoded video file to identify the nearest reference frame.

15. A system comprising:

a video player; and

a control system configured to provide instructions to the video player to:

retrieve an encoded video file defined, in part, by an initial frame;

decode a video clip of the encoded video file to generate decoded video data corresponding to the video clip, wherein a start frame of the video clip is after the initial frame, and wherein the instructions to decode the video clip include instructions to decode a frame preceding the start frame and to decode intervening frames through the start frame;

store the decoded video data in memory; and

set a playout pointer that indicates a location in the memory that includes the decoded video data and corresponds to the start frame of the video clip;

wherein the control system is also configured to provide instructions to a video playout card to cause the video playout card to read the decoded video data from the memory, beginning at the playout pointer, so as to output a video stream via an output port of the video playout card.

16. The system of claim 15 , wherein the control system is further configured to provide instructions to the video player to:

track portions of the memory read by the video playout card; and

responsive to the portions of the memory being read by the video playout card, store subsequently generated decoded data in the portions of the memory read by the video playout card.

17. The system of claim 15 , further comprising a second video player, wherein the control system is further configured to provide instructions to the second video player to:

access a second encoded video file that includes a second initial frame;

decode the second video clip of the second encoded video file to generate second decoded video data corresponding to the second video clip;

store the second decoded video data in memory; and

set a second playout pointer that indicates a second location in the memory that includes the second decoded video data and corresponds to a second start frame of the second video clip,

and wherein the control system is further configured to provide instructions to the video playout card, responsive to the video playout card outputting the video stream of the first-named video clip, to cause the video playout card to read, beginning at the second playout pointer, from the second decoded video data in the memory such that the video stream output from the video playout card via the output port switches from being in accordance with the first-named decoded data to being in accordance with the second decoded data.

18. The system of claim 17 , wherein the first-named and second video players are configured to operate in parallel.

19. The system of claim 15 , wherein the instructions to decode the video clip include instructions to decode a nearest reference frame preceding the start frame and decoding intervening frames through the start frame.

20. The system of claim 19 , wherein the control system is further configured to provide instructions to the video player to scan through header information associated with the encoded video file to identify the nearest reference frame.

Assignments (6)
RELEASE - REEL/FRAME 048783/0537 Recorded Sep 24, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: TRIBUNE BROADCASTING COMPANY, LLC
Reel/Frame 050473/0797 →
RELEASE - REEL/FRAME 045506/0033 Recorded Sep 24, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: TRIBUNE BROADCASTING COMPANY, LLC
Reel/Frame 050473/0901 →
SECURITY AGREEMENT Recorded Sep 19, 2019
From: CHICAGOLAND TELEVISION NEWS, INC.; KPLR, INC.; KSTU, LLC; KSWB, LLC; KTLA, LLC; KTVI, LLC; KWGN, LLC; TRIBUNE BROADCASTING COMPANY, LLC; TRIBUNE BROADCASTING DENVER, LLC; TRIBUNE BROADCASTING FORT SMITH, LLC; TRIBUNE ENTERTAINMENT COMPANY, LLC; TRIBUNE MEDIA COMPANY; TRIBUNE TELEVISION NEW ORLEANS, INC.; WDAF LICENSE, INC.; WDCW, LLC; WGHP, LLC; WGN CONTINENTAL BROADCASTING COMPANY, LLC; WHNT, LLC; WJW TELEVISION, LLC; WNEP, LLC; WPIX, LLC; WQAD, LLC; WREG, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 050438/0004 →
SECURITY INTEREST Recorded Apr 3, 2019
From: TRIBUNE BROADCASTING COMPANY, LLC
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 048783/0537 →
SECURITY INTEREST Recorded Mar 6, 2018
From: TRIBUNE BROADCASTING COMPANY, LLC
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 045506/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2017
From: HUNDEMER, HANK J
To: TRIBUNE BROADCASTING COMPANY, LLC
Reel/Frame 042294/0463 →
Continuity (1)
Continuation 13838990 · Mar 15, 2013