These and other aspects and advantages will become more apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the preferred embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
The call flow is based on the OMA PoCv2.0 standardization documents.
Since the PoC Client B1 received the relative time (RTP timestamps) for each media stream (within message containing the media) and since the PoC Client B1 also receives for all the media streams the relative times (e.g. RTP timestamps) related to the Talk Burst Request time, the terminating PoC Client can synchronize all the media stream playbacks.
The message 1, Talk Burst Request, in
The SDP parameters of initial INVITE request messages (1. INVITE, 2. INVITE, 3. INVITE, 4. INVITE, 5. INVITE in
These parameters are then used by the PoC Server X (controlling), in message 3, Talk Burst Taken messages as shown in
In one embodiment, the Talk Burst Request message (or Media Burst Request message) contains for each associated media stream a set of optional fields. Each set contains the following information:
media stream identification (e.g. Session Description Protocol SDP label value used during PoC Session initiation or modification), which uniquely identifies the media stream in PoC Session for the PoC Server and sending PoC Client
current relative time (e.g. RTP timestamp) of the media stream (e.g. related to the time of the Talk Burst Request message creation).
Additionally, if multiple Media-floor Control Entities are part of the PoC Session, the following information can be inserted into Talk Burst Request message (or Media Burst Request message) as an optional field:
current absolute (e.g. NTP timestamp) time information (related to the time of the Talk Burst Request message creation).
In a further embodiment, the Talk Burst Taken message (or Media Burst Taken message) contains for each associated media stream a set of optional fields. Each set contains the following information:
media stream identification (e.g. SDP label value used during PoC Session initiation or modification), which uniquely identifies the media stream in PoC Session for the PoC Server and receiving PoC Client. The PoC Server translates the media stream identification used by the sending PoC Client in Talk Burst Request message (or INVITE or Media Burst Request message) to the media stream identification known by the receiving PoC Client.
relative time (e.g. RTP timestamp) values of the media stream as received in the Talk Burst Request message (or INVITE or Media Burst Request message) of the sending PoC Client.
Additionally, if multiple Media-floor Control Entities are part of the PoC Session, the following information can be inserted into Talk Burst Taken message (or Media Burst Taken message) as optional field:
current absolute (e.g. NTP timestamp) time information as received in the Talk Burst Request message (or INVITE or Media Burst Request message) of the sending PoC Client
In a further embodiment, the INVITE message contains in SDP in the media-level section of each media stream the following information:
current relative time (e.g. RTP timestamp) of the media stream (related to the time of the INVITE message was created).
Additionally, if multiple Media-floor Control Entities are part of the PoC Session, the following information can be inserted into INVITE message:
current absolute (NTP timestamp) time information (related to the time of the INVITE message creation).
In another embodiment, the receiving PoC Clients synchronizes the media streams in the following way: The PoC Session contains two media streams (m1 and m2) bound to the same Media-floor Control Entity.
The media stream m1 is sampled with well know frequency fm1 (given in the standard). The media stream m2 is sampled with well know frequency fm2 (given in the standard).
The sending PoC Client states in the Talk Burst Request that at the Talk Burst Request generation, the media stream m1 has the current relative time rtfrm1 and the media stream m2 has the current relative time rtfrm2. The PoC Server provides this information to the receiving PoC Clients.
The sending PoC Client receives Talk Burst Granted.
The sending PoC Client sends media of both the media steams and includes in the messages containing the media the relative time formation of the media generation at the PoC Client
Now the receiving PoC Client wants to play media of the media stream m1 and m2 in synchronized fashion. If the receiving PoC Client wants to play m1 media with the relative time information X, the receiving PoC Client needs to figure out the relative time information Y for the m2 media based on of the provided information (X, fm1, fm2, rfrm1, rfrm2). The formula is Y=((X−rtfrm1)/fm1)*fm2+rtfrm2
In another embodiment, using MBCP, the PoC Session contains two media streams (m1 and m2) bound to the different Media-floor Control Entities (m1 to mce1, m2 to mce2). Media stream m1 is sampled with well know frequency fm1 (given in the standard) and media stream m2 is sampled with well know frequency fm2 (given in the standard). The sending PoC Client states in the Talk Burst Request of mce1 that at the Talk Burst Request generation, the media stream m1 has the current relative time rtfrm1 and the absolute time (in seconds) when Talk Burst Request was generated is atmce1fr1).
The sending PoC Client receives Talk Burst Granted. Then the sending PoC Client sends media of the media steams m1 and includes in the messages containing the media the relative time formation of the media generation at the PoC Client. In parallel, the sending PoC Client states in the Talk Burst Request of mce2 that at the Talk Burst Request generation, the media stream m2 has the current relative time rtfrm2 and the absolute time (in seconds) when Talk Burst Request was generated is atmce2fr2.
The sending PoC Client receives Talk Burst Granted.
The sending PoC Client sends media of both the media steams and includes in the messages containing the media the relative time formation of the media generation at the PoC Client.
Now the receiving PoC Client wants to play media of the media stream m1 and m2 in synchronized fashion. So if the receiving PoC Client wants to play m1 media with the relative time information X, the receiving PoC Client needs to figure out the relative time information y for the m2 media based on of the provided information (X, atmce2fr2, atmce1fr1, fm1, fm2, rtfrm1, rtfrm2). The formula is Y=(((X−rtfrm1)/fm1)+atmce1fr1−atmce2fr2)*fm2+rtfrm2.
A description has been provided with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the claims which may include the phrase “at least one of A, B and C” as an alternative expression that means one or more of A, B and C may be used, contrary to the holding in Superguide v. DIRECTV, 358 F3d 870, 69 USPQ2d 1865 (Fed. Cir. 2004).
Number | Date | Country | Kind |
---|---|---|---|
06016880 | Aug 2006 | EP | regional |