Marking keyframes for a communication session
First Claim
Patent Images
1. A method for marking a keyframe of a media stream in a communication system, comprising:
- performing, by each entry media switch of one or more entry media switches, the following;
facilitating communication of a plurality of packets in a plurality of media streams from a plurality of endpoints, each endpoint configured to support communication of packets, each packet having an endpoint sequence number assigned by the endpoint;
selecting an endpoint of the plurality of endpoints as an active speaker of a conference session, an active media stream of the active speaker to be sent to the other endpoints;
receiving the active media stream from the selected endpoint, the active media stream comprising a keyframe operable to be decoded independently of any other frame, the keyframe indicating a switch to the active speaker;
assigning, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and
notifying a downstream media switch of the keyframe by marking the keyframe with a keyframe indicator and sending the active media stream to the downstream media switch in an output media stream to allow the down stream media switch configured to receive a combined stream comprising the one or more output media streams and the one or more keyframe indicators of the one or more output media streams, the down stream media switch configured to apply a reordering scheme to establish the order of the packets of the combined stream in accordance with the one or more keyframe indicators by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet.
1 Assignment
0 Petitions
Accused Products
Abstract
Marking a keyframe of a media stream in a communication system involves one or more entry media switches in communication with one or more endpoints. An entry media switch receives a media stream from an endpoint, where the media stream comprises a sequence of packets with a keyframe. The keyframe is detected and marked with a keyframe indicator. The keyframe indicator is operable to notify a downstream device of the keyframe. An output media stream is outputted.
25 Citations
21 Claims
-
1. A method for marking a keyframe of a media stream in a communication system, comprising:
performing, by each entry media switch of one or more entry media switches, the following; facilitating communication of a plurality of packets in a plurality of media streams from a plurality of endpoints, each endpoint configured to support communication of packets, each packet having an endpoint sequence number assigned by the endpoint; selecting an endpoint of the plurality of endpoints as an active speaker of a conference session, an active media stream of the active speaker to be sent to the other endpoints; receiving the active media stream from the selected endpoint, the active media stream comprising a keyframe operable to be decoded independently of any other frame, the keyframe indicating a switch to the active speaker; assigning, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and notifying a downstream media switch of the keyframe by marking the keyframe with a keyframe indicator and sending the active media stream to the downstream media switch in an output media stream to allow the down stream media switch configured to receive a combined stream comprising the one or more output media streams and the one or more keyframe indicators of the one or more output media streams, the down stream media switch configured to apply a reordering scheme to establish the order of the packets of the combined stream in accordance with the one or more keyframe indicators by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet. - View Dependent Claims (2, 3, 4, 5)
-
6. A system for marking a keyframe of a media stream in a communication system, comprising:
one or more entry media switches in communication with a plurality of endpoints of a conference session, an entry media switch of the one or more entry media switches operable to; facilitate communication of a plurality of packets in a plurality of media streams from the plurality of endpoints, each endpoint configured to support communication of packets, each packet having an endpoint sequence number assigned by the endpoint; select an endpoint of the plurality of endpoints as an active speaker of the conference session, an active media stream of the active speaker to be sent to the other endpoints; receive the active media stream from the selected endpoint, the active media stream comprising a keyframe operable to be decoded independently of any other frame, the keyframe indicating a switch to the active speaker; assign, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and notify a downstream media switch of the keyframe by marking the keyframe with a keyframe indicator and sending the active media stream to the downstream media switch in an output media stream to allow the down stream media switch configured to receive a combined stream comprising the one or more output media streams and the one or more keyframe indicators of the one or more output media streams, the down stream media switch configured to apply a reordering scheme to establish the order of the packets of the combined stream in accordance with the one or more keyframe indicators by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet. - View Dependent Claims (7, 8, 9, 10)
-
11. A non-transitory computer readable medium encoded with a software for marking a keyframe of a media stream in a communication system, the software operable to:
performing, by each entry media switch of one or more entry media switches, the following; facilitate communication of a plurality of packets in a plurality of media streams from a plurality of endpoints, each endpoint configured to support communication of packets, each packet having an endpoint sequence number assigned by the endpoint; select an endpoint of the plurality of endpoints as an active speaker of a conference session, an active media stream of the active speaker to be sent to the other endpoints; receive the active media stream from the selected endpoint, the active media stream comprising a keyframe operable to be decoded independently of any other frame, the keyframe indicating a switch to the active speaker; assign, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and notify a downstream media switch of the keyframe by marking the keyframe with a keyframe indicator and sending the active media stream to the downstream media switch in an output media stream to allow the down stream media switch configured to receive a combined stream comprising the one or more output media streams and the one or more keyframe indicators of the one or more output media streams, the down stream media switch configured to apply a reordering scheme to establish the order of the packets of the combined stream in accordance with the one or more keyframe indicators by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet. - View Dependent Claims (12, 13, 14, 15)
-
16. A system for marking a keyframe of a media stream in a communication system, comprising:
means for performing, by each entry media switch of one or more entry media switches, the following; facilitating communication of a plurality of packets in a plurality of media streams from a plurality of endpoints, each endpoint configured to support communication of packets, each packet having an endpoint sequence number assigned by the endpoint; selecting an endpoint of the plurality of endpoints as an active speaker of a conference session, an active media stream of the active speaker to be sent to the other endpoints; receiving the active media stream from the selected endpoint, the active media stream comprising a keyframe operable to be decoded independently of any other frame, the keyframe indicating a switch to the active speaker; assigning, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and notifying a downstream media switch of the keyframe by marking the keyframe with a keyframe indicator and sending the active media stream to the downstream media switch in an output media stream to allow the down stream media switch configured to receive a combined stream comprising the one or more output media streams and the one or more keyframe indicators of the one or more output media streams, the down stream media switch configured to apply a reordering scheme to establish the order of the packets of the combined stream in accordance with the one or more keyframe indicators by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet.
-
17. A method for marking a keyframe of a media stream in a communication system, comprising:
-
performing, by each entry media switch of one or more entry media switches, the following; facilitating communication of a plurality of packets in a plurality of media streams from a plurality of endpoints, each endpoint configured to support communication of packets, each packet having an endpoint sequence number assigned by the endpoint; selecting an endpoint of the plurality of endpoints as an active speaker of a conference session, an active media stream of the active speaker to be sent to the other endpoints; receiving the active media stream from the selected endpoint, the active media stream comprising a keyframe operable to be decoded independently of any other frame, the keyframe indicating a switch to the active speaker; assigning, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and notifying a downstream media switch of the keyframe by marking the keyframe with a keyframe indicator and sending the active media stream to the downstream media switch in an output media stream, marking the keyframe with the keyframe indicator further comprising placing a particular value in a header extension of an upstream sequence number assigned to the keyframe; receiving the one or more output media streams; combining the one or more output media streams to yield a combined stream; receiving a combined stream comprising the one or more output media streams, the combined stream comprising a plurality of packets of the one or more output media streams; and assigning each packet of the plurality of packets a downstream sequence number in accordance with the order of the plurality of packets in the combined stream; receiving the combined stream comprising the one or more output media streams, the combined stream comprising the one or more keyframe indicators of the one or more output media streams; and applying a reordering scheme to establish the order of the packets of the combined stream in accordance with the one or more keyframe indicators by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet.
-
-
18. A method comprising:
performing, by each entry media switch of one or more entry media switches, the following; facilitating communication of a plurality of packets in a plurality of media streams from a plurality of endpoints, each packet having an endpoint sequence number assigned by an endpoint; selecting an endpoint of the plurality of endpoints as an active speaker of a conference session, an active media stream of the active speaker to be sent to the other endpoints; receiving the active media stream from the selected endpoint, the media stream comprising a keyframe indicating a switch to the active speaker and operable to be decoded independently of any other frame; assigning, by the each entry media switch, an upstream sequence number to each packet of the active media stream such that the each packet has an upstream sequence number and an endpoint sequence number, the upstream sequence number used to establish the order of the packets; and marking the keyframe with a keyframe indicator and sending the media stream to a downstream media switch in an output media stream, the output media stream to be combined with one or more other output media streams to yield a combined stream comprising the keyframe indicators of the output media streams, the keyframe indicators used to establish the order of the packets of the combined stream by calculating a corrected downstream sequence number using the upstream sequence numbers to allow the down stream media switch to apply a reordering scheme to establish the order of the packets of the combined stream by calculating a corrected downstream sequence number from a difference between an upstream sequence number and a correction factor, the correction factor determined from a function of an upstream sequence number of a switching packet of the media stream of the active speaker, a downstream sequence number of the switching packet, and a header extension sequence number of the switching packet.
-
19. A method comprising:
-
receiving a combined stream comprising one or more output media streams, each output media stream comprising a plurality of packets, each packet having an endpoint sequence number assigned by an endpoint and an upstream sequence number assigned by an entry media switch, each output media stream comprising a keyframe indicator indicating a keyframe, the keyframe indicating a switch to an active speaker and operable to be decoded independently of any other frame; determining a correction factor from a function of an upstream sequence number of a switching packet of an output media stream; calculating a corrected downstream sequence number for each packet from a difference between an upstream sequence number of the each packet and the correction factor; and establishing the order of the packets of the combined stream in accordance with the corrected downstream sequence numbers.
-
-
20. A non-transitory computer readable medium encoded with a software for marking a keyframe of a media stream in a communication system, the software operable to:
-
receive a combined stream comprising one or more output media streams, each output media stream comprising a plurality of packets, each packet having an endpoint sequence number assigned by an endpoint and an upstream sequence number assigned by an entry media switch, each output media stream comprising a keyframe indicator indicating a keyframe, the keyframe indicating a switch to an active speaker and operable to be decoded independently of any other frame; determine a correction factor from a function of an upstream sequence number of a switching packet of an output media stream; calculate a corrected downstream sequence number for each packet from a difference between an upstream sequence number of the each packet and the correction factor; and establish the order of the packets of the combined stream in accordance with the corrected downstream sequence numbers.
-
-
21. An apparatus comprising one or more processors configured to:
-
receive a combined stream comprising one or more output media streams, each output media stream comprising a plurality of packets, each packet having an endpoint sequence number assigned by an endpoint and an upstream sequence number assigned by an entry media switch, each output media stream comprising a keyframe indicator indicating a keyframe, the keyframe indicating a switch to an active speaker and operable to be decoded independently of any other frame; determine a correction factor from a function of an upstream sequence number of a switching packet of an output media stream; calculate a corrected downstream sequence number for each packet from a difference between an upstream sequence number of the each packet and the correction factor; and establish the order of the packets of the combined stream in accordance with the corrected downstream sequence numbers.
-
Specification