EP1986407A1

Efficient buffer allocation for current and predicted active speakers in voice conferencing systems

Abstract

A method and computer program product allows for the efficient allocation of buffers for current and predicted active speakers in voice conferencing systems (200). The method and computer program product, implemented by a server hosting an audio conference for a plurality of speakers, minimizes the loss of audio data for speakers as they switch from "non-active" to "active" status (208). This is accomplished by employing a set of active speaker buffers (210) and a set of predicted active speakers buffers (220). The predicted active speaker buffers (220) maintain a collection of the most recent x packets or milliseconds of "non-active" speaker audio data, and transfer a portion of the data from the predicted active speaker buffers to the active speaker buffers as speakers become "active" speakers. The x packets or m milliseconds of stored "non-active" speaker audio data can be used only up to a pre-determined jitter buffer fill-level in order to avoid introducing additional audio packet delivery delay to participants of the conference.

EP1986407A1, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 25 January 2022, 4.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

4 claims: 2 independent, 2 dependent

  1. 1
    A method for minimizing the loss of audio data for a plurality of speakers as they switch from "non-active" to "active" status within an audio conferencing system, comprising the steps of:(1) receiving a plurality of packets from a speaker participating in a conference, wherein said speaker is not currently designated as an active speaker;(2) storing said plurality of packets in a "non-active" speaker buffer;(3) discarding a first subset of said plurality of packets after the lapse of a pre-determined time interval;(4) determining whether said speaker should be designated as an active speaker;and (5) when the determination of step (4) is positive: (a) allocating one of a set of n active speaker buffers to said speaker;and (b) transferring a second subset of said plurality of packets from said non-active speaker buffer to said one of said set of n active speaker buffers allocated to said speaker.
  2. 3
    A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to minimize the loss of audio data for a plurality of speakers as they switch from "non-active" to "active" status within an audio conferencing system, said control logic comprising:first computer readable program code means for causing the computer to receive a plurality of packets from a speaker participating in a conference, wherein said speaker is not currently designated as an active speaker;second computer readable program code means for causing the computer to store said plurality of packets in a "non-active" speaker buffer;third computer readable program code means for causing the computer to discard a first subset of said plurality of packets after the lapse of a pre-determined time interval;fourth computer readable program code means for causing the computer to determine whether said speaker should be designated as an active speaker;and fifth computer readable program code means for causing the computer to allocate, when the determination of said fourth computer readable program code means is positive, one of a set of n active speaker buffers to said speaker;and sixth computer readable program code means for causing the computer to transfer, when the determination of said fourth computer readable program code means is positive, a second subset of said plurality of packets from said non-active speaker buffer to said one of said set of n active speaker buffers allocated to said speaker.