IP Library Granted Patent US 9,510,023
Granted Patent B2
US 9,510,023 · App. 14/016,658 · Granted Nov 29, 2016

Mid-GOP fast channel-change

Inventors: Ariel Zentner (Hevel Yericho, IL); Yair Mirsky (Jerusalem, IL); Netanel Lipschuetz (Jerusalem, IL); Len Sundy (Ramat Beit Shemesh, IL); Keren Tal (Ramat Gan, IL)
Assignee: Cisco Technology, Inc.
H04N21/231H04N21/4384H04N21/6581H04N21/222
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,510,023
App. No.
14/016,658
Granted
Nov 29, 2016
Kind
B2
Abstract

A system comprising a decoder to receive an encoded video stream including video frames including reference and non-reference frames, and decode the reference frames, a processor to receive a request from an end-user rendering device requiring a first reference frame as part of decoding the encoded video stream of the first channel from the middle of a group of pictures of the encoded video stream, wherein a second reference frame is a reference frame for the first reference frame in the received encoded video stream, an encoder to encode the decoded first reference frame yielding a re-encoded first reference frame so that decoding the re-encoded first reference frame is not dependent upon the second reference frame, and a transmitter to transmit the re-encoded first reference frame to the end-user rendering device. Related apparatus and methods are also described.

Claims (47)

1. A server comprising:

a decoder to:

receive an encoded video stream for a first channel, the encoded video stream including a plurality of video frames including a plurality of reference frames and a plurality of non-reference frames; and

decode the reference frames of the received encoded video stream for the first channel yielding the reference frames in decoded format;

a processor to receive a request from an end-user rendering device external to the server, the end-user rendering device requiring a first one of the reference frames as part of decoding the encoded video stream of the first channel from the middle of a group of pictures of the encoded video stream of the first channel, wherein a second one of the reference frames is a reference frame for the first reference frame in the received encoded video stream;

an encoder to encode the decoded first reference frame yielding a re-encoded first reference frame so that decoding the re-encoded first reference frame is not dependent upon the second reference frame; and

a transmitter to transmit the re-encoded first reference frame to the end-user rendering device so that the end-user rendering device can start decoding the encoded video stream for the first channel from the middle of the group of pictures, wherein:

the video frames of the group of pictures of the encoded video stream of the first channel include a plurality of first temporal references starting at zero and incrementing by one such that each of the video frames of the group of pictures has a different one of the first temporal references;

the encoder is operative to provide a new video sequence including a plurality of video frames such that:

the new video sequence includes the re-encoded first reference frame but excludes the second reference frame; and

the video frames of the new video sequence include a plurality of second temporal references so that: a different one of the second temporal references is provided for each of the video frames of the new video sequence; and the second temporal references of the video frames in the new video sequence plus the first temporal references of the video frames of the group of pictures of the encoded video stream of the first channel received by the end-user rendering device cover all the integers from zero to x, inclusive of zero and x, where x is the largest temporal reference of the first temporal references of the video frames in the group of pictures; and

the transmitter is operative to transmit the new video sequence to the end-user rendering device so that the end-user rendering device can start decoding the encoded video stream for the first channel from the middle of the group of pictures.

2. The server according to claim 1 , wherein:

the end-user rendering device requires the first reference frame and a third one of the reference frames as part of decoding the encoded video stream of the first channel from the middle of the group of pictures; and

the encoder is operative to encode the decoded first reference frame and the decoded third reference frame in the new encoded video sequence which includes the re-encoded first reference frame and a re-encoded third reference frame, the new video sequence being encoded so that decoding the new video sequence is not dependent upon the second reference frame.

3. The server according to claim 2 , wherein the encoder is operative to encode the decoded first reference frame and the decoded third reference frame so that in the new encoded video sequence, the first reference frame is a reference frame for the third reference frame.

4. The server according to claim 1 , wherein:

in the received encoded video stream, the first reference frame is not a random access point; and

the re-encoded first reference frame is a random access point.

5. The server according to claim 1 , wherein the processor is operative to determine which of the reference frames is required by the end-user rendering device in order to decode the encoded video stream of the first channel from the middle of the group of pictures.

6. The server according to claim 5 , wherein the request from the end-user rendering device includes a frame reference of a frame from which decoding of the encoded video stream of the first channel received by the end-user rendering device is going to commence.

7. The server according to claim 5 , wherein the request from the end-user rendering device includes a most recently received timestamp in the channel tuned to before the first channel or a current system clock value.

8. The server according to claim 1 , wherein the request from the end-user rendering device includes a list of which one or ones of the reference frames are required by the end-user rendering device in order to decode the encoded video stream of the first channel from the middle of the group of pictures.

9. The server according to claim 1 , wherein the encoder is operative to provide the new video sequence such that at least two of the video frames in the new video sequence include no new video data.

10. The server according to claim 1 , wherein the request relates to the end-user rendering device changing channels to the first channel in the middle of a group of pictures of the encoded video stream of the first channel.

11. A method performed in a server comprising:

receiving an encoded video stream for a first channel, the encoded video stream including a plurality of video frames including a plurality of reference frames and a plurality of non-reference frames;

decoding the reference frames of the encoded video stream for the first channel yielding the reference frames in decoded format;

receiving a request from an end-user rendering device which is external to the server, the end-user rendering device requiring a first one of the reference frames as part of decoding the encoded video stream of the first channel from the middle of a group of pictures of the encoded video stream of the first channel, wherein a second one of the reference frames is a reference frame for the first reference frame in the received encoded video stream;

encoding the decoded first reference frame yielding a re-encoded first reference frame so that decoding the re-encoded first reference frame is not dependent upon the second reference frame; and

transmitting the re-encoded first reference frame to the end-user rendering device so that the end-user rendering device can start decoding the encoding video stream for the first channel from the middle of the group of pictures, wherein:

the video frames of the group of pictures of the encoded video stream of the first channel include a plurality of first temporal references starting at zero and incrementing by one such that each of the video frames of the group of pictures has a different one of the first temporal references;

the encoding including providing a new video sequence including a plurality of video frames such that:

the new video sequence includes the re-encoded first reference frame but excludes the second reference frame; and

the video frames of the new video sequence include a plurality of second temporal references so that: a different one of the second temporal references is provided for each of the video frames of the new video sequence; and the second temporal references of the video frames in the new video sequence plus the first temporal references of the video frames of the group of pictures of the encoded video stream of the first channel received by the end-user rendering device cover all the integers from zero to x, inclusive of zero and x, where x is the largest temporal reference of the first temporal references of the video frames in the group of pictures; and

the transmitting includes transmitting the new video sequence to the end-user rendering device so that the end-user rendering device can start decoding the encoded video stream for the first channel from the middle of the group of pictures.

12. The method according to claim 11 , wherein the first reference frame and a third one of the reference frames is required as part of decoding the encoded video stream of the first channel from the middle of the group of pictures, and further comprising encoding the decoded first reference frame and the decoded third reference frame in the new encoded video sequence which includes the re-encoded first reference frame and a re-encoded third reference frame, the new video sequence being encoded so that decoding the new video sequence is not dependent upon the second reference frame.

13. The method according to claim 12 , wherein encoding the decoded first reference frame and the decoded third reference frame is performed so that in the new encoded video sequence, the first reference frame is a reference frame for the third reference frame.

14. The method according to claim 11 , wherein:

in the received encoded video stream, the first reference frame is not a random access point; and

the re-encoded first reference frame is a random access point.

15. The method according to claim 11 , further comprising determining which of the reference frames is required by the end-user rendering device in order to decode the encoded video stream of the first channel from the middle of the group of pictures.

16. The method according to claim 15 , wherein the request from the end-user rendering device includes a frame reference of a frame from which decoding of the encoded video stream of the first channel received by the end-user rendering device is going to commence.

17. The method according to claim 15 , wherein the request from the end-user rendering device includes a most recently received timestamp in the channel tuned to before the first channel or a current system clock value.

18. The method according to claim 11 , wherein the request from the end-user rendering device includes a list of which one or ones of the reference frames are required by the end-user rendering device in order to decode the encoded video stream of the first channel from the middle of the group of pictures.

19. The method according to claim 11 , further comprising providing the new video sequence such that at least two of the video frames in the new video sequence include no new video data.

20. The method according to claim 11 , wherein the request relates to the end-user rendering device changing channels to the first channel in the middle of a group of pictures of the encoded video stream of the first channel.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE 26 APPLICATION NUMBERS ERRONEOUSLY RECORDED AGAINST ON THE ATTACHED LIST PREVIOUSLY RECORDED AT REEL: 048513 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 18, 2021
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 056623/0708 →
CHANGE OF NAME Recorded Mar 6, 2019
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 048513/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2013
From: ZENTNER, ARIEL
To: CISCO TECHNOLOGY INC.
Reel/Frame 031542/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2013
From: LIPSCHUETZ, NETANEL
To: CISCO TECHNOLOGY INC.
Reel/Frame 031533/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2013
From: TAL, KEREN
To: CISCO TECHNOLOGY INC.
Reel/Frame 031533/0931 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2013
From: MIRSKY, YAIR
To: CISCO TECHNOLOGY INC.
Reel/Frame 031533/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2013
From: SUNDY, LEN
To: CISCO TECHNOLOGY INC.
Reel/Frame 031533/0925 →
Continuity (1)
Related Publication 20140132843A1 · May 15, 2014