1 / 19

Real-time multi-user transcoding for push to talk over cellular (PoC)

Real-time multi-user transcoding for push to talk over cellular (PoC). Stéphane Coulombe. Why transcoding for PoC?. Interoperability is hurting wireless multimedia applications: Browsing, MMS, content delivery & sharing, etc Main causes: Different device capabilities and products’ evolution

garan
Download Presentation

Real-time multi-user transcoding for push to talk over cellular (PoC)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real-time multi-user transcoding for push to talk over cellular (PoC) Stéphane Coulombe

  2. Why transcoding for PoC? • Interoperability is hurting wireless multimedia applications: • Browsing, MMS, content delivery & sharing, etc • Main causes: • Different device capabilities and products’ evolution • Transcoding is a must: • Fixes interoperability issues • Enables products’ evolution without ‘breaking’ the service • New formats (H.264, etc.), increased bitrate & resolution, etc • Situation is not different with PoC

  3. Outline • What is PoC? • What is the problem? • How can we fix it? • Conclusions and future work

  4. What is PoC? • PoC service allows mobile users to create group sessions: • Voice and data communications • 1-to-1 or 1-to-many sessions • PoC service feels like walkie-talkie • Dedicated «talk» button • Short talk bursts are copied from the one who talks to the others

  5. What is PoC? • PoC service is built on top of a SIP/IP core (e.g. 3GPP or 3GPP2 IMS) • Participating PoC function (PPF) • Provides PoC session handling (policy enforcement for PoC sessions) • Relays TBC messages between the PoC client and the CPF. • May also relay RTP media between the PoC client and the CPF. • Controlling PoC function (CPF) • Centralized PoC session mgmt: • RTP media distribution • copies of RTP packets • Talk Burst Control (TBC) • controls who talks • Policy enforcement • who can participate

  6. What is the problem? • Interoperability is again the problem: • 3GPP mandates AMR speech codec (+AMR wideband if 16kHz supported) • 3GPP2 mandates EVRC speech codec • Therefore 3GPP and 3GPP2 terminals won’t be able to communicate • More problems will emerge with video and products’ evolution • PoC standard (v1.0 and v2.0) mention that transcoding is needed: • No means for achieving transcoding is provided • PoC v2.0 introduces the PoC Interworking Function • It may, among other things, perform transcoding • But its realization is outside the scope of the OMA • Bottom line: PoC has interoperability issues without a solution

  7. What is the problem? Currently, the session setup obviously fails

  8. How can we fix it? • Issues to address: • Control plane adaptation • SIP INVITES must reflect transcoding capabilities of the system • Media transcoding • Media packets must travel through a transcoder when needed • Efficiency: • We want to minimize the number of transcoding operations • Multi-user session support • Sessions contains many users • Sessions are dynamic (people leave and join, talker changes) • Compatibility with existing Terminals • The solution must not require any change to mobile terminals • The network-side will have to deal with the problem!

  9. How can we fix it? Solution 1: Transcoding distributed among the various PPFs • Must be performed at each receiving PPF • This is how a back to back user agent (B2BUA) solution would be implemented • This is sub-optimal from processing perspective • The same transcoding may be replicated more than once (for each user)

  10. How can we fix it? Solution 2: Transcoding centralized at the CPF • The CPF has two main responsibilities with respect to enabling transcoding: 1. Manage session control operations: • Setup: • fix codec incompatibilities, • manage transcoding server’s (TS) operations • Update: update transcoding operations dynamically • Different speaker • Usersleaving and joining the session 2. Manage the flow of media streams between users: • Media streams (RTP packets) have to flow through a TS

  11. How can we fix it? Solution 2: Transcoding centralized at the CPF 1. Manage session control operations: Setup • Enhance SIP INVITE’s SDP with codecs supported by the TS • Use TS’s IP address and ports in SIP INVITEs for routing

  12. How can we fix it? Solution 2: Transcoding centralized at the CPF 1. Manage session control operations: Setup

  13. How can we fix it? Solution 2: Transcoding centralized at the CPF 1. Manage session control operations: Update • TS session must beupdated as new membersjoin or leave • TS session isupdatedbased on whotalks (TS ops + routing)

  14. How can we fix it? Solution 2: Transcoding centralized at the CPF 2. Manage the flow of media streams between users: • Manage flow of TBC (who speaks) and speech packets • 2 options: • All the media packets arrive at the CPF • speech packets forwarded to TS, TS transcodes media and returns it to CPF or sends it directly to destination • All the media packets arrive at the TS • TBC packets forwarded to CPF, processed and returned to TS or sent directly to destination • From a scalability and general performance perspective, this option is more efficient

  15. How can we fix it? Solution 2: Transcoding centralized at the CPF 2. Manage the flow of media streams between users: • 1. All the media packets arrive at the TS • 2. All the media packets arrive at the CPF

  16. How can we fix it? • There are actually more details to consider which can’t be shown here… • Precise modifications to SDP messages • Codecs and IP addresses & ports • Precise messaging flow and content for: • Session setup • Session update • Request for talking • TBC and speech packets • Precise operations taking place in the TS • More details in the paper and in the references

  17. Conclusions and future work • We proposed a solution to fix the problem!!! • Transparent for all PoC clients • Only requires changes to PoC servers • Compatible with existing PoC specifications • Works for all PoC group session scenarios: • 1 to 1, 1 to many, 1 to many to 1, ad hoc, etc. • Scalable by offloading work to various TSs • Extensible to other SIP/SDP-based real-time multi-party applic. • Allows minimization of the processing required for transcoding • Can perform transcoding once for many destinations • Allows transcoding to be customized for each user • Select a distinct AMR bitrate for every PoC client

  18. Conclusions and future work • Future research topics • Investigate a proxy-based transcoding solution • not requiring any change to PoC servers or to PoC clients already deployed. • Study the problem of optimally selecting TSs in a distributed configuration • based on transmission and processing costs over the network. • Trade-off between quality and processing cost.

  19. Thank you for your attention.Questions? • Contact: Stéphane Coulombe Department of Software and IT Engineering   École de technologie supérieure Montréal, Canada Phone : (514) 396-8407 e-mail: stephane.coulombe@etsmtl.ca   • The author would like to thank Vantrix (www.vantrix.com) corporation for supporting this research.

More Related