IP Library Granted Patent US 9,036,092
Granted Patent B2
US 9,036,092 · App. 13/963,950 · Granted May 19, 2015

Video channel change system

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 9,036,092
App. No.
13/963,950
Granted
May 19, 2015
Kind
B2
Abstract

A video channel change system may include one or more processors and a memory. The one or more processors may receive first packets including first video frames associated with a first video channel and second packets including second video frames associated with a second video channel. The one or more processors may decode the first packets and display the first video frames while buffering, in a buffer, the second packets. The one or more processors may determine that a packet of the second packets includes a random access point without decoding the packet, discard the second packets from the buffer that were received prior to the packet, buffer additional second packets received subsequent to the packet, and decode the second packets stored in the buffer and display the second video frames included therein, in response to a request to change from the first video channel to the second video channel.

Claims (46)

1. A method for performing video channel change, the method comprising:

receiving first packets that include first video frames and second packets that include second video frames;

decoding the first packets and displaying the first video frames while buffering, in a buffer, the second packets;

determining that one of the second packets includes a random access point without decoding the one of the second packets; and

discarding the second packets from the buffer that were received prior to the one of the second packets that includes the random access point and buffering, in the buffer, additional second packets received subsequent to the one of the second packets that includes the random access point.

2. The method of claim 1 , wherein the first video frames are associated with a first video channel, the second video frames are associated with a second video channel, and the method further comprising:

decoding the second packets stored in the buffer and displaying the second video frames included therein, in response to a request to change from the first video channel to the second video channel.

3. The method of claim 2 , further comprising:

outputting audio frames that correspond to the second video frames while displaying the second video frames.

4. The method of claim 3 , further comprising:

increasing an output rate of the audio frames and dropping at least a portion of the second video frames.

5. The method of claim 2 , further comprising:

outputting audio frames associated with third video frames while displaying, and dropping at least a portion of, the second video frames, wherein the third video frames are received subsequent to the second video frames.

6. The method of claim 1 , wherein each of the first packets comprises a portion of one of the first video frames and each of the second packets comprises a portion of one of the second video frames.

7. The method of claim 6 , wherein each of the second packets comprises a frame start indicator that indicates whether the portion of the one of the second video frames included in each of the second packets comprises a start of one of the second video frames.

8. The method of claim 7 , further comprising:

determining estimated frame lengths of the second video frames based at least in part on a number of the second packets that are received between each of the second packets that includes the start of one of the second video frames, as indicated by the frame start indicator of each of the second packets.

9. The method of claim 8 , wherein determining that the one of the second packets includes the random access point without decoding the one of the second packets comprises:

determining that the one of the second packets includes the random access point when the one of the second packets comprises the start of the one of the second video frames for which the estimated frame length satisfies a threshold.

10. The method of claim 8 , wherein determining that one of the second packets includes the random access point without decoding the one of the second packets, comprises:

determining that the one of the second packets includes the random access point when the one of the second packets includes the start of the one of the second video frames for which the estimated frame length exceeds the estimated frame length of at least one other second video frame by a threshold amount.

11. The method of claim 8 , further comprising:

determining a group of pictures (GOP) size associated with the second video frames; and

setting a length of the buffer to the GOP size.

12. The method of claim 11 , wherein the GOP size is determined based at least in part on the estimated frame lengths of the second video frames.

13. The method of claim 1 , wherein the second packets are encrypted.

14. A computer program product comprising instructions stored in a tangible non-transitory computer-readable storage medium, the instructions comprising:

instructions to receive and decode a first plurality of packets each comprising a portion of one of a first plurality of video frames and displaying the first plurality of video frames while receiving a second plurality of packets each comprising a portion of one of a second plurality of video frames and an indication of whether the portion of the one of the second plurality of video frames comprises a start of the one of the second plurality of video frames;

instructions to determine, without decoding the second plurality of packets, a most recently received packet of the second plurality of packets that includes a starting portion of the one of the second plurality of frames that comprises a random access point; and

instructions to decode the second plurality of packets starting from the most recently received packet of the second plurality of packets that includes the starting portion of the one of the second plurality of frames that comprises the random access point and displaying the second plurality of video frames starting from the one of the second plurality of video frames that comprises the random access point, in response to a request therefor.

15. The computer program product of claim 14 , wherein the instructions further comprise:

instructions to determine estimated frame lengths of the second plurality of video frames based at least in part on a number of the second plurality of packets that are received between each of the second plurality of packets that includes the indication that the included portion of the one of the second plurality frames comprise the start of the one of the second plurality of video frames.

16. The computer program product of claim 15 , wherein the instructions to determine, without decoding the second plurality of packets, the most recently received packet of the second plurality of packets that includes the starting portion of the one of the second plurality of frames that comprises the random access point comprises:

instructions to determine, without decoding the second plurality of packets, that the most recently received packet of the second plurality of packets that includes the starting portion of the one of the second plurality of frames comprises the random access point when the estimated frame length of the one of the second plurality of video frames satisfies a threshold.

17. The computer program product of claim 15 , wherein the instructions for determining, without decoding the second plurality of packets, the most recently received packet of the second plurality of packets that includes the starting portion of the one of the second plurality of frames that comprises the random access point comprises:

instructions to determine, without decoding the second plurality of packets, that the most recently received packet of the second plurality of packets that includes the starting portion of the one of the second plurality of frames comprises the random access point when the estimated frame length of the one of the second plurality of video frames exceeds the estimated frame length of others of the second plurality of video frames by a threshold amount.

18. A method for performing video channel change, the method comprising:

receiving a first plurality of packets multiplexed with a second plurality of packets, wherein each of the first plurality of packets comprises a first portion of one of a first plurality of video frames of a first program and each of the second plurality of packets comprises a second portion of one of a second plurality of video frames of a second program, each of the second plurality of packets further comprising a frame start indicator that indicates whether the second portion of the second plurality of packets comprises a starting portion of one of the second plurality of video frames;

demultiplexing the first plurality of packets from the second plurality of packets;

decoding the first plurality of packets and displaying, on a display, the first plurality of video frames of the first program while buffering, in a buffer, the second plurality of packets;

determining, without decoding the second plurality of packets, estimated frame lengths of the second plurality of video frames based at least in part on a number of the second plurality of packets that are received between each of the second plurality of packets that includes the frame start indicator that indicates that each of the second plurality of packets comprises the starting portion of the one of the second plurality of video frames;

when the estimated frame length of one of the second plurality of video frames satisfies a threshold, flushing the buffer of the second plurality of packets received prior to the one of the second plurality of packets that includes the start of the one of the second plurality of video frames that satisfies the threshold;

buffering, in the buffer, additional packets of the second plurality of packets received subsequent to the one of the second plurality of packets that includes the start of the one of the second plurality of video frames; and

decoding the second plurality of packets stored in the buffer and displaying, on the display, the second plurality of video frames of the second program starting from the one of the second plurality of video frames for which the estimated frame length satisfies the threshold, in response to a request to change from the first program to the second program.

19. The method of claim 18 , wherein the second plurality of packets are encrypted.

20. The method of claim 19 , wherein determining the estimated frame lengths of the second plurality of video frames is performed without decoding or decrypting the second plurality of packets.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2013
From: KELLERMAN, MARCUS CHRISTOPHER
To: BROADCOM CORPORATION
Reel/Frame 031002/0329 →