WO2011055170A1 - Conference call system, method, and computer program product - Google Patents

Conference call system, method, and computer program product Download PDF

Info

Publication number
WO2011055170A1
WO2011055170A1 PCT/IB2009/054943 IB2009054943W WO2011055170A1 WO 2011055170 A1 WO2011055170 A1 WO 2011055170A1 IB 2009054943 W IB2009054943 W IB 2009054943W WO 2011055170 A1 WO2011055170 A1 WO 2011055170A1
Authority
WO
WIPO (PCT)
Prior art keywords
dominant
value
streams
conference call
speaker
Prior art date
Application number
PCT/IB2009/054943
Other languages
French (fr)
Inventor
Robert Krutsch
Radu D Pralea
Original Assignee
Freescale Semiconductor Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc. filed Critical Freescale Semiconductor Inc.
Priority to CN200980162321.9A priority Critical patent/CN102598644B/en
Priority to US13/501,472 priority patent/US8619963B2/en
Priority to JP2012537451A priority patent/JP5511106B2/en
Priority to EP09851060.5A priority patent/EP2497258A4/en
Priority to PCT/IB2009/054943 priority patent/WO2011055170A1/en
Publication of WO2011055170A1 publication Critical patent/WO2011055170A1/en
Priority to US14/143,053 priority patent/US9094526B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
    • H04M3/569Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants using the instant speaker's algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/50Aspects of automatic or semi-automatic exchanges related to audio conference
    • H04M2203/5072Multiple active speakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/06Lines and connections with preferential service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/563User guidance or feature selection
    • H04M3/566User guidance or feature selection relating to a participants right to speak

Definitions

  • This invention relates to a conference call system and method, as well as a computer program product.
  • a speaker selection algorithm in a conferencing bridge detects active speakers and creates an output stream by mixing the audio for the active speakers or active participants. The active stream is then communicated to the participants on the conference call.
  • selection of the active speakers involves selecting a predetermined number of most active speakers, commonly referred to as the dominant speakers, based on energy levels of voice communications received from the telephony endpoints where the active speakers are located. All other speakers are excluded from the speaker selection algorithm when speech from the dominant speakers is received.
  • United States Patent Application publication US2007/263821 A1 describes a method and apparatus to provide speaker selection in a multi-party conference call.
  • the method comprises processing a speaker queue for at least one new speaker and monitoring when a number of dominant speakers is less than a predetermined number of dominant speakers. When the predetermined number of dominant speakers is less than the predetermined number, the method automatically, without human intervention, adds the new speaker from the speaker queue to the dominant speakers.
  • the present invention provides a conference call system, a conference call method, and a computer program product as described in the accompanying claims.
  • Figure 1 schematically shows a block diagram of an example of an embodiment of a conference call system.
  • Figure 2 schematically shows a block diagram of an example of an embodiment of a selection control unit , suitable for the example of FIG. 1.
  • Figure 3 schematically shows a block diagram of an example of an embodiment of a new dominant speaker detector.
  • Figure 4 schematically shows a block diagram of an example of an embodiment of a decrement evaluation unit.
  • Figure 5 schematically shows perspective view of a computer readable media.
  • Figure 6 schematically shows a graph illustrating recent past, distance past and overall past time windows.
  • Figure 7 schematically shows a graph illustrating classifying input streams in different categories, using the loudness as a classifier.
  • Figure 8 schematically shows a graph illustrating classifying input streams in different categories, using the difference in loudness between input streams as a classifier.
  • the example of a conference call system 1 shown therein comprises an input interface 14.
  • input streams 101-103 containing audio are received at the interface 14.
  • Each of the input streams originates from another source 10-12, e.g. a telephone or other communication unit of a speaker.
  • another source 10-12 e.g. a telephone or other communication unit of a speaker.
  • other input streams may be received, which may or may not originate from the same sources.
  • multiple persons may share the same telephone or other audio communication unit.
  • the term "dominant speaker” refers to a source selected as a "dominant speaker" which may be used by one person or more than one person.
  • non-dominant speaker refers to a source which may or may not exhibits behaviour satisfying the criteria for a dominant speaker but which is not selected as a dominant speaker.
  • additional dominant speaker refers to a source which exhibits behaviour satisfying the criteria for a dominant speaker but which is not yet selected as a dominant speaker.
  • the input streams each comprise data or signals representing at least audio from the source, and may in addition thereto comprise video and/or data.
  • the audio may for example consist of voiced audio, e.g. speech, and comprise other types of audio as well, such as background noise, non-voiced sounds, background rumour.
  • the audio may for example be unfiltered or have been filtered to remove undesired components, such as noise, non-voiced sounds, background rumour or otherwise.
  • the conference call system 1 shown in FIG. 1 further comprises a selection unit 15 which is connected to the input interface 14.
  • the selection unit 15 selects, when the system 1 is in operation, a number of dominant speaker streams out of the input streams 101 -103.
  • the selected number K is less than or equal to a maximum number of dominant speaker value K max .
  • the maximum number of dominant speaker value K max is set to 2 and a number of input streams 102 ,103 equal to the maximum number of dominant speaker value is selected. However, a number lower than the maximum number of dominant speaker value may be selected as well.
  • the selection may be performed using any criteria suitable to select dominant speaker streams.
  • the selection may be performed automatically, without human interference by selecting the K max number of loudest streams.
  • the term "loudest" refers to the streams in which the highest intensity in a signal of interest is observed.
  • the signal of interest may for example be the audio signal as a whole or a part of the audio signal, such as the voiced part thereof, without background noise and non-voiced parts.
  • the signal of interest may for example be taken over one or more periods of time, e.g . the loudness during one or a multiple of time-windows may be used as a selection criterion.
  • a loudness number ⁇ may be calculated for the audio in each stream and the streams with the K max highest loudness numbers ⁇ - ⁇ , ⁇ 2 , ... , A Km ax may be selected .
  • a suitable method for calculating the loudness number is described in: Prasad, Venkatesha R. ; Kuri, Joy; Jamadagni, H S; Dagale, Haresh; and Ravindranath, Ravi A., "Automatic Addition and Deletion of Clients in VoIP Conferencing," ISCC, pp.0386, Sixth IEEE Symposium on Computers and Communications (ISCC'01 ), 2001 , hereinafter referred to as "the ISCC 2001 paper” and incorporated herein by reference.
  • the loudness number ⁇ may for example be a function of the present and past amplitudes of the input stream.
  • the loudness number ⁇ , of a stream i can for example be computed from the current activity l_i during a "recent past" window W rp , the past activity L 2 in a "distant past” window W dp and the overall past activity L 3 in a "overall past” window W op .
  • the current activity l_i may for example be the moving average of the amplitude during the recent past window W rp , .
  • the past activity L 2 may for example be the moving average of the amplitude during the distant past window W dp .
  • the past activity L 2 may for example be the moving average of the amplitude during the distant past window W dp .
  • the overall past activity L 3 may for example be the moving average of the amplitude during the distant past window W ap .
  • the recent past window W rp may extend from a current point in time T 0 to a past point in time T_i preceding current point in time T 0 .
  • the "distant past” window W dp may extend , e.g. from the current point in time T 0 , to a distant point in time T_ 2 preceding past point in time T_i .
  • the "overall past” window W op may extend , e.g . from the current point in time T 0 , to the more distant point in time T_ 3 preceding distant point in time T_ 2 .
  • the activities L 2 , L 3 may for example be calculated by performing an operation as can be described by the mathematical formula:
  • X k is the amplitude of the k-th sample of the i-th input stream.
  • is a binary operation which operates relative to the maximum amplitude max(X(k)) found in the input streams and may for example be calculated by performing an operation as can be described by the mathematical formula:
  • the value 0.1 is a threshold value, which may be set to any value suitable for the specific implementation and for example be selected from the group of 01 . and 0.2, as well as all intermediate points between 0.1 and 0.2.
  • the loudness number ⁇ may for example be a weighted sum of the activities l_i , L 2 , L 3 , and for example be calculated by performing an operation as can be described by the mathematical formula: :
  • A a l * L l + a 2 * L 2 + a 3 * L 3 (3)
  • the dominant speaker streams may be selected in another manner, and for example be selected based on the content of the speech in the input streams, e.g. in the manner described in US 2007/263821 or any other suitable manner.
  • a mixer 16 is connected to the selection unit 15.
  • the mixer 16 mixes, in operation, the selected streams into an output stream 110.
  • an output interface 17 is connected to the mixer 16 in order to receive the output stream 110.
  • the output stream 110 is outputted to one or more communication units connected to the conference call system 1 , in this example to the communication units which constitutes the sources 10-12.
  • the persons participating in a conference call can both speak and listen to other participants.
  • the output stream 110 may also be outputted to other communications units which allow the participant to listen only, for example communication units with a speaker unit on "mute" or from which the input stream is not selected as a dominant speaker stream. For example in a conference call with a large number of participants and a limited number of speaker, the output stream may be broadcast into the network to all participants.
  • the output interface 117 splits the output stream 110 into multiple streams 111-113.
  • the output interface 117 may output the output stream 110 which is then distributed further to the respect communication units by another node in a telecommunication network.
  • a selection control unit 18 is shown which is connected to the selection unit 14 and the input interface 15.
  • the selection control unit 18 dynamically sets, during the conference call, the maximum number of dominant speakers value K max based on dynamics of the conference.
  • K max the maximum number of dominant speakers value
  • the selection control unit 18 may be implemented to set the maximum number of dominant speakers value K max based on dynamics of the conference in any manner suitable for the specific implementation. For example, the selection control unit 18 may set the maximum number of dominant speakers value K max to equal the number of input streams of which the loudness exceeds a predetermined threshold or any other suitable manner.
  • the selection control unit 18 may comprise a comparator 181. As shown, a memory unit 303 is connected to the comparator 181 and the comparator is further connected to the input interface 14. In the memory 303, the maximum number of dominant speakers value K max is stored.
  • the comparator 181 can compare the input streams 101-103 and select the dominant speaker streams out of the input streams 101-103.
  • a suitable technique for selecting the dominant speaker streams is described in Prasad, Venkatesha R.; Jamadagni, HS; and Shankar, HN: "On the Problem of Specifying the Number of Floors for a Voice-Only Conference on Packet Networks", International Conference on Information Technology: Research and Education, 2003. ITRE2003, 1 1-13 August, New Jersey,USA, 22 -26, hereinafter referred to as "the ITRE2003 paper”, incorporated herein by reference.
  • the comparator 181 may for example select the inputs streams for which the loudness number ⁇ exceed a predetermined threshold representative for dominant speaker streams, up to a maximum of K max . If the number of input streams above the threshold exceeds K max as explained above, the comparator 181 may for example compare the input streams to select the K max number of input streams with the highest loudness numbers. The comparator 181 may periodically repeat the comparison, and may thereby avoid that a dominant stream remains selected even when the corresponding input stream does not contain voice any more.
  • the comparator 181 is connected to the input interface 14 via respective calculators 188-190 which are arranged to calculate for each of the input streams 101- 103 the loudness value ⁇ from a parameter of the respective input stream representative of the loudness of the audio, e.g. as explained above.
  • a separate calculator is present for each input stream 101-103 and the calculators 188-190 are connected to the input interface 14.
  • a voice detector 185-187 is connected with an input to the input interface 14. The voice detectors 185-187 can detect voice in the input streams 101-103.
  • the voice detectors 185-187 enable the respective calculator 188-190 when voice is detected and disable the respective calculator 188-190 or otherwise ensure that it outputs the lowest loudness number when no voice is detected. Thereby, only those input streams from which voiced signals are receive can potentially be selected by the comparator 181.
  • the voice detectors 185-187 may be implemented in any manner suitable to detect voice, such as known in the art, and for the sake of brevity are not described in further detail.
  • the selection control unit 18 may for instance comprise a first logic unit 301 and a second logic unit 302.
  • the logic units 301 ,302 are connected with their respective inputs to the interface 14.
  • the logic units 301 ,302 are connected with their outputs to the memory unit 303 in which the maximum number of dominant speaker value K max is stored.
  • the first logic unit 301 may increase the maximum number of dominant speakers value K max when a dominant speaker increase criterion is met whereas the second logic unit 302 may decrease the maximum number of dominant speakers value when a dominant speaker decrease criterion is met.
  • the first logic unit 301 may for example be connected to a new speaker detector 180.
  • the new speaker detector connects the first logic unit 301 to the input interface 14.
  • other units may be present between the first logic unit 301 and the input interface 14.
  • the new dominant speaker detector 180 can detect out of the input streams additional dominant speaker streams, i.e. additional to the input streams selected as dominant speaker streams. If the detectors 180 detects an additional dominant speaker stream, the detector 180 outputs an additional dominant speaker notification to the first logic unit 301. The first logic unit 301 then determines, e.g. in response to the notification, whether or not to increase the maximum number of dominant speakers value. For example, when the current number of dominant speakers is below the maximum number of dominant speakers value K max , the first logic unit 301 may maintain the maximum number of dominant speakers value as is, and when the current number of dominant speakers is equal to the maximum number of dominant speakers value, the first logic unit 301 may increment the value K max by 1.
  • the new dominant speaker detector 180 can detect additional dominant speaker streams in any manner suitable for the specific implementation. To that end, the new dominant speaker detector 180 can compare one or more parameters of the input stream with one or more criteria suitable to detect additional dominant speaker streams.
  • the parameter may for example be the loudness.
  • the new dominant speaker detector 180 may for example comprise one or more calculators 188- 190 connected to the input interface 14.
  • the calculators calculate for each of the input streams 101-103 a loudness value ⁇ , ⁇ 2 , ⁇ 3 from a parameter of the respective input stream representative of the loudness of the audio.
  • a respective calculator 188-190 is present which is connected with a calculator input to a respective detector input 182-183 of the new dominant speaker detector 180. At the detector inputs 182-183 the input streams 101-103 may be received.
  • the new dominant speaker detector 180 further includes voice detectors 185-187 connected with their inputs to the detector inputs 182-183 and with their outputs to respective control inputs of the calculators 188-190.
  • the voice detectors 185-187 compare one or more parameters of the input streams with criteria suitable to detect voice in the input streams.
  • the new dominant speaker detectors 180 enable a corresponding calculator when voice is detected in an input stream which before did not comprise voice. Thereby, it may be ensured that only input streams which comprise voice can be assigned as dominant speakers and that, for example, input streams with a high audio amplitude due to noise or non-voiced audio (e.g. music) remain non-dominant and accordingly, the overall quality of the conference call can be improved .
  • voice detectors 185-187 are shown for each of the input streams 101-103, it will be apparent that the voice detectors 185-187 may be applied alternatively to only some of the input streams, such as the non-dominant speaker streams thereof.
  • the shown new dominant speaker detector 180 further comprises a classifier 191 connected to the calculator.
  • the classifier 191 classifies a non-dominant stream of the input streams 101-103 based on at least the loudness value ⁇ , corresponding to the respective non-dominant stream i in one or more categories M-
  • the classifier 191 classifies the input stream in respective categories of two sets Mi-M 6 and Ni-N 7 .
  • the classification in the first set M-p M 6 is based on the loudness value ⁇
  • the classification in the second set Ni-N 7 is based on the differential loudness value ⁇ , which is the difference between the loudness value ⁇ , and the loudness value ⁇ 3 of the last dominant speaker elected at the point the last dominant speaker was elected .
  • Fig. 7 shows a graph of the categories Mi-M 6 as a function of the loudness value ⁇
  • Fig. 7 shows a graph of the categories Ni-N 7 as a function of the differential loudness value ⁇
  • the vertical axis indicates a weighing factor W M ,W N which are respectively a function of the loudness value ⁇ , and the differential loudness value ⁇ ,.
  • upper and lower limits T1-T5 determine the membership of the input stream to the respect categories M-
  • Upper and lower limits P1 -P6 determine the membership of the input stream to the respect categories N-
  • the input stream will be classified in categories M2 and M3 with a weighing factor W m2 (A) for M2 as defined by the continuous line and a weighing factor W m3 (A) for M3 as defined by the dashed line.
  • the shown new dominant speaker detector 180 further comprises a detector logic unit 192 connected to the classifier 191.
  • the detector logic unit 192 evaluates one, or more than one, rule based on the classification and determines for each of the rules an evaluation value.
  • the detector logic unit 192 may evaluate the following rules R0-R19, where i refers to input stream i:
  • E q D q *(W M (q)+W N ( q )
  • W M ( q ) and W N(Q ) represent the weighing factors for the categories M q and N q used in the rule q.
  • E 18 D 18 *(WM2(A)+W N3 (B)).
  • the shown new dominant speaker detector 180 further comprises an adder 193 connected to the detector logic unit 192 and a comparator 194 connected to the adder 193.
  • the adder 193 receives from the detector logic unit 192 the evaluation values and adds the evaluation values
  • the comparator 194 compares the summed value ⁇ with a threshold value Tr and outputs, at the detector output 195, a maximum number of dominant speakers value increase notification when the summed value ⁇ exceeds the threshold value Tr.
  • the second logic unit 302 may be connected to a decrement evaluation unit 200.
  • the decrement evaluation unit 200 may be arranged to compare one, or more than one, parameter of one, or more than one, of the dominant speaker streams with a predetermined maximum number of dominant speakers value reduction criterion and output to the second logic unit 302 a maximum number of dominant speakers decrease notification when the parameter meets the predetermined maximum number of dominant speakers value reduction criterion.
  • the second logic unit 302 can decrease the maximum number of dominant speakers value stored in the memory 303
  • the decrement evaluation unit 200 comprises a voice detector 204- 206 connected to the input interface 14. The voice detector 204-206, when in operation, detects voice in the dominant speaker streams.
  • the second logic unit 302 further comprises a loudness comparator 211 connected to the input interface 14.
  • the loudness comparator 211 compares an intensity of at least voice in one, or more than one, of the dominant speaker streams with a loudness threshold value.
  • the example of FIG. 4 comprises respective calculators 207-209 which are arranged to calculate for each of the input streams the loudness value ⁇ from a parameter of the respective input stream representative of the loudness of the audio, e.g. as explained above.
  • an separate calculator is present for each input stream and the calculators are connected to the input interface 14.
  • a voice detector 204-206 is connected with an input to the input interface 14.
  • the voice detectors 204-206 can detect voice in the input streams and enable the respective calculator 207-209 when voice is detected and disable the respective calculator 207- 209, or otherwise ensure that it outputs a loudness number below the threshold Tr, when no voice is detected.
  • the decrement evaluation unit 200 When in one, or more than one, of the dominant speaker streams no voice is detected and/or when for one, or more than one, of the dominant speaker streams the intensity is determined by the loudness comparator 211 to be below the loudness threshold value, Tr, the decrement evaluation unit 200 outputs the notification to the second logic unit 302. In response to the notification, the second logic unit 302 then decreases the maximum number of dominant speakers value K max .
  • the shown example comprises an OR-gate 213 which is connected with a first input port to the comparator 211 and with a second input port to the voice detectors.
  • the first input port is asserted by the loudness comparator 211 when one, or more than one, of the dominant speaker streams the intensity is determined by the loudness comparator 211 to be below the loudness threshold value, Tr.
  • the second input port is asserted when one or more of the voice detectors 204-206 does not detect voice.
  • the OR-gate 213 outputs a notification in the form of a binary 1 when at least one of the input ports is asserted, and outputs nothing (in the form of a binary 0) when none of the input ports is asserted.
  • the decrement evaluation unit 200 shown in FIG. 4 further comprises selectors 210,212 connected to respectively the calculator 207-209 and the voice detector 204-206 of the last dominant speaker stream elected as an input to the comparator 213.
  • selectors 210,212 connected to respectively the calculator 207-209 and the voice detector 204-206 of the last dominant speaker stream elected as an input to the comparator 213.
  • the decrement evaluation unit 200 may alternatively evaluator other dominant speaker streams as well, and for example comprise a dedicated comparator and voice detector for each of the dominant speaker stream.
  • the invention may also be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the invention when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the invention.
  • a computer program is a list of instructions such as a particular application program and/or an operating system.
  • the computer program may for instance include one or more of: a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.
  • the computer program may be stored internally on computer readable storage medium, e.g. as shown in FIG. 5, or transmitted to the computer system via a computer readable transmission medium. All or some of the computer program may be provided on computer readable media permanently, removably or remotely coupled to an information processing system.
  • the computer readable media may for instance be a computer readable medium for placement in a receptacle for being read and include, for example and without limitation, any number of the following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; nonvolatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc.
  • the computer readable medium may also be data transmission media including computer networks, point-to-point telecommunication equipment, and carrier wave transmission media, just to name a few.
  • a computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process.
  • An operating system is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources.
  • An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system.
  • the computer system may for instance include at least one processing unit, associated memory and a number of input/output (I/O) devices.
  • I/O input/output
  • the computer system processes information according to the computer program and produces resultant output information via I/O devices.
  • connections as discussed herein may be any type of connection suitable to transfer signals from or to the respective nodes, units or devices, for example via intermediate devices. Accordingly, unless implied or stated otherwise, the connections may for example be direct connections or indirect connections.
  • the connections may be illustrated or described in reference to being a single connection, a plurality of connections, unidirectional connections, or bidirectional connections. However, different embodiments may vary the implementation of the connections. For example, separate unidirectional connections may be used rather than bidirectional connections and vice versa.
  • plurality of connections may be replaced with a single connections that transfers multiple signals serially or in a time multiplexed manner. Likewise, single connections carrying multiple signals may be separated out into various different connections carrying subsets of these signals. Therefore, many options exist for transferring signals.
  • each signal described herein may be designed as positive or negative logic.
  • the signal In the case of a negative logic signal, the signal is active low where the logically true state corresponds to a logic level zero.
  • the signal In the case of a positive logic signal, the signal is active high where the logically true state corresponds to a logic level one.
  • any of the signals described herein can be designed as either negative or positive logic signals. Therefore, in alternate embodiments, those signals described as positive logic signals may be implemented as negative logic signals, and those signals described as negative logic signals may be implemented as positive logic signals.
  • assert or “set” and “negate” (or “deassert” or “clear”) are used herein when referring to the rendering of a signal, status bit, or similar apparatus into its logically true or logically false state, respectively. If the logically true state is a logic level one, the logically false state is a logic level zero. And if the logically true state is a logic level zero, the logically false state is a logic level one.
  • logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements.
  • architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality.
  • the voice detectors and calculators shown in Figs. 2-4 may be shared by the different units.
  • the illustrated examples may be implemented as circuitry located on a single integrated circuit or within a same device.
  • the conference call system may be implemented as a suitable programmed processor, such as a general purpose microprocessor or a digital signal processor.
  • the examples may be implemented as any number of separate integrated circuits or separate devices interconnected with each other in a suitable manner.
  • the examples, or portions thereof may implemented as soft or code representations of physical circuitry or of logical representations convertible into physical circuitry, such as in a hardware description language of any appropriate type.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A conference call system comprises an input interface for receiving during a conference call at least two input streams of audio signal, each from another source. A selection unit is connected to the input interface, for selecting a number of dominant speaker streams out of the input streams, the number being less than or equal to a maximum number of dominant speakers value and each of the dominant speaker streams representing speech from a respective dominant speaker. A mixer is connected to the selection unit, for mixing the selected streams into an output stream. The conference call system comprises an output interface for outputting the output stream and a selection control unit connected to the selection unit and the input interface, for dynamically setting, during the conference call, the maximum number of dominant speakers value based on dynamics of the conference call.

Description

Title : conference call system, method, and computer program product
Description Field of the invention
This invention relates to a conference call system and method, as well as a computer program product.
Background of the invention
In current voice conferencing systems, a speaker selection algorithm in a conferencing bridge detects active speakers and creates an output stream by mixing the audio for the active speakers or active participants. The active stream is then communicated to the participants on the conference call. However, selection of the active speakers involves selecting a predetermined number of most active speakers, commonly referred to as the dominant speakers, based on energy levels of voice communications received from the telephony endpoints where the active speakers are located. All other speakers are excluded from the speaker selection algorithm when speech from the dominant speakers is received.
For example, United States Patent Application publication US2007/263821 A1 describes a method and apparatus to provide speaker selection in a multi-party conference call. The method comprises processing a speaker queue for at least one new speaker and monitoring when a number of dominant speakers is less than a predetermined number of dominant speakers. When the predetermined number of dominant speakers is less than the predetermined number, the method automatically, without human intervention, adds the new speaker from the speaker queue to the dominant speakers.
Conventional speaker selection algorithms by design end up not allowing new speakers to join until one of the dominant speakers has been quiet for a while. Although this eliminates interruptions it also precludes new speakers from the opportunity to speak if the dominant speakers continue to keep speaking. Summary of the invention
The present invention provides a conference call system, a conference call method, and a computer program product as described in the accompanying claims.
Specific embodiments of the invention are set forth in the dependent claims.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.
Brief description of the drawings
Further details, aspects and embodiments of the invention will be described, by way of example only, with reference to the drawings. In the drawings, like reference numbers are used to identify like or functionally similar elements. Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale.
Figure 1 schematically shows a block diagram of an example of an embodiment of a conference call system.
Figure 2 schematically shows a block diagram of an example of an embodiment of a selection control unit , suitable for the example of FIG. 1.
Figure 3 schematically shows a block diagram of an example of an embodiment of a new dominant speaker detector.
Figure 4 schematically shows a block diagram of an example of an embodiment of a decrement evaluation unit.
Figure 5 schematically shows perspective view of a computer readable media.
Figure 6 schematically shows a graph illustrating recent past, distance past and overall past time windows.
Figure 7 schematically shows a graph illustrating classifying input streams in different categories, using the loudness as a classifier.
Figure 8 schematically shows a graph illustrating classifying input streams in different categories, using the difference in loudness between input streams as a classifier.
Detailed description of the preferred embodiments
Because the illustrated embodiments of the present invention may for the most part, be implemented using electronic components and circuits known to those skilled in the art, details will not be explained in any greater extent than that considered necessary for the understanding and appreciation of the underlying concepts of the present invention and in order not to obfuscate or distract from the teachings of the present invention.
Referring to FIG. 1 , the example of a conference call system 1 shown therein comprises an input interface 14. During a conference call two, or more than two, input streams 101-103 containing audio are received at the interface 14. Each of the input streams originates from another source 10-12, e.g. a telephone or other communication unit of a speaker. It will be apparent that in addition to these input streams, other input streams may be received, which may or may not originate from the same sources. In addition, it will be apparent that multiple persons may share the same telephone or other audio communication unit. In the following the term "dominant speaker" refers to a source selected as a "dominant speaker" which may be used by one person or more than one person. The term "non-dominant speaker" refers to a source which may or may not exhibits behaviour satisfying the criteria for a dominant speaker but which is not selected as a dominant speaker. The term "additional dominant speaker" refers to a source which exhibits behaviour satisfying the criteria for a dominant speaker but which is not yet selected as a dominant speaker.
The input streams each comprise data or signals representing at least audio from the source, and may in addition thereto comprise video and/or data. The audio may for example consist of voiced audio, e.g. speech, and comprise other types of audio as well, such as background noise, non-voiced sounds, background rumour. The audio may for example be unfiltered or have been filtered to remove undesired components, such as noise, non-voiced sounds, background rumour or otherwise.
The conference call system 1 shown in FIG. 1 further comprises a selection unit 15 which is connected to the input interface 14. The selection unit 15 selects, when the system 1 is in operation, a number of dominant speaker streams out of the input streams 101 -103. The selected number K is less than or equal to a maximum number of dominant speaker value Kmax. As shown in the example, the maximum number of dominant speaker value Kmax is set to 2 and a number of input streams 102 ,103 equal to the maximum number of dominant speaker value is selected. However, a number lower than the maximum number of dominant speaker value may be selected as well.
The selection may be performed using any criteria suitable to select dominant speaker streams. For example, the selection may be performed automatically, without human interference by selecting the Kmax number of loudest streams. In this respect, the term "loudest" refers to the streams in which the highest intensity in a signal of interest is observed. The signal of interest may for example be the audio signal as a whole or a part of the audio signal, such as the voiced part thereof, without background noise and non-voiced parts. The signal of interest may for example be taken over one or more periods of time, e.g . the loudness during one or a multiple of time-windows may be used as a selection criterion.
For instance, a loudness number λ may be calculated for the audio in each stream and the streams with the Kmax highest loudness numbers λ-ι , λ2, ... , AKmax may be selected . A suitable method for calculating the loudness number is described in: Prasad, Venkatesha R. ; Kuri, Joy; Jamadagni, H S; Dagale, Haresh; and Ravindranath, Ravi A., "Automatic Addition and Deletion of Clients in VoIP Conferencing," ISCC, pp.0386, Sixth IEEE Symposium on Computers and Communications (ISCC'01 ), 2001 , hereinafter referred to as "the ISCC 2001 paper" and incorporated herein by reference.
The loudness number λ may for example be a function of the present and past amplitudes of the input stream. The loudness number λ, of a stream i can for example be computed from the current activity l_i during a "recent past" window Wrp, the past activity L2 in a "distant past" window Wdp and the overall past activity L3 in a "overall past" window Wop. The current activity l_i may for example be the moving average of the amplitude during the recent past window Wrp, . The past activity L2 may for example be the moving average of the amplitude during the distant past window Wdp. The past activity L2 may for example be the moving average of the amplitude during the distant past window Wdp. The overall past activity L3 may for example be the moving average of the amplitude during the distant past window Wap.
As illustrated in FIG. 6, the recent past" window Wrp may extend from a current point in time T0 to a past point in time T_i preceding current point in time T0. The "distant past" window Wdp may extend , e.g. from the current point in time T0, to a distant point in time T_2 preceding past point in time T_i . The "overall past" window Wop may extend , e.g . from the current point in time T0, to the more distant point in time T_3 preceding distant point in time T_2. The activities L2, L3 may for example be calculated by performing an operation as can be described by the mathematical formula:
1 1 -^3 k '
L\ = -^—/_, Xk,j '' ^2 = ~^~ /_, ^k,i ; L3 k '= L3 k + & * IX ; L3 k = L3 k '-—r— (1 )
WrP Wrp Wdp Wdp Wap
, in which Xk is the amplitude of the k-th sample of the i-th input stream. Θ is a binary operation which operates relative to the maximum amplitude max(X(k)) found in the input streams and may for example be calculated by performing an operation as can be described by the mathematical formula:
fl i ¾ > 0.1 * max(JW)
O else
, in this equation (2), the value 0.1 is a threshold value, which may be set to any value suitable for the specific implementation and for example be selected from the group of 01 . and 0.2, as well as all intermediate points between 0.1 and 0.2.
The loudness number λ may for example be a weighted sum of the activities l_i , L2, L3, and for example be calculated by performing an operation as can be described by the mathematical formula: :
A = al * Ll + a2 * L2 + a3 * L3 (3) where a a2, a3 are constants with a suitable value. Values suitable have found to be, for instance, ;=0.6; o¾=0.3; 3=0.3 but other values may be used as well.
The dominant speaker streams may be selected in another manner, and for example be selected based on the content of the speech in the input streams, e.g. in the manner described in US 2007/263821 or any other suitable manner.
In the example shown in FIG. 1 , a mixer 16 is connected to the selection unit 15. The mixer 16 mixes, in operation, the selected streams into an output stream 110. As shown, an output interface 17 is connected to the mixer 16 in order to receive the output stream 110. Via the output interface 17 the output stream 110 is outputted to one or more communication units connected to the conference call system 1 , in this example to the communication units which constitutes the sources 10-12. Thus, via the shown communication units, the persons participating in a conference call can both speak and listen to other participants. It will be apparent that the output stream 110 may also be outputted to other communications units which allow the participant to listen only, for example communication units with a speaker unit on "mute" or from which the input stream is not selected as a dominant speaker stream. For example in a conference call with a large number of participants and a limited number of speaker, the output stream may be broadcast into the network to all participants.
In the shown example, the output interface 117 splits the output stream 110 into multiple streams 111-113. However, alternatively, the output interface 117 may output the output stream 110 which is then distributed further to the respect communication units by another node in a telecommunication network. In the example of FIG. 1 , a selection control unit 18 is shown which is connected to the selection unit 14 and the input interface 15. The selection control unit 18 dynamically sets, during the conference call, the maximum number of dominant speakers value Kmax based on dynamics of the conference. Thus, new dominant speakers can be added, thereby avoiding that one or more participants which at a point in time are dominant speakers block the input streams from other other participants in the conference call that are trying to speak in the call.
The selection control unit 18 may be implemented to set the maximum number of dominant speakers value Kmax based on dynamics of the conference in any manner suitable for the specific implementation. For example, the selection control unit 18 may set the maximum number of dominant speakers value Kmax to equal the number of input streams of which the loudness exceeds a predetermined threshold or any other suitable manner.
Referring to FIG. 2, the selection control unit 18 may comprise a comparator 181. As shown, a memory unit 303 is connected to the comparator 181 and the comparator is further connected to the input interface 14. In the memory 303, the maximum number of dominant speakers value Kmax is stored.
The comparator 181 can compare the input streams 101-103 and select the dominant speaker streams out of the input streams 101-103. A suitable technique for selecting the dominant speaker streams is described in Prasad, Venkatesha R.; Jamadagni, HS; and Shankar, HN: "On the Problem of Specifying the Number of Floors for a Voice-Only Conference on Packet Networks", International Conference on Information Technology: Research and Education, 2003. ITRE2003, 1 1-13 August, New Jersey,USA, 22 -26, hereinafter referred to as "the ITRE2003 paper", incorporated herein by reference. The comparator 181 may for example select the inputs streams for which the loudness number λ exceed a predetermined threshold representative for dominant speaker streams, up to a maximum of Kmax. If the number of input streams above the threshold exceeds Kmax as explained above, the comparator 181 may for example compare the input streams to select the Kmax number of input streams with the highest loudness numbers. The comparator 181 may periodically repeat the comparison, and may thereby avoid that a dominant stream remains selected even when the corresponding input stream does not contain voice any more.
In the shown example, the comparator 181 is connected to the input interface 14 via respective calculators 188-190 which are arranged to calculate for each of the input streams 101- 103 the loudness value λ from a parameter of the respective input stream representative of the loudness of the audio, e.g. as explained above. In the shown example, a separate calculator is present for each input stream 101-103 and the calculators 188-190 are connected to the input interface 14. For each of the calculators 188-190 a voice detector 185-187 is connected with an input to the input interface 14. The voice detectors 185-187 can detect voice in the input streams 101-103. The voice detectors 185-187 enable the respective calculator 188-190 when voice is detected and disable the respective calculator 188-190 or otherwise ensure that it outputs the lowest loudness number when no voice is detected. Thereby, only those input streams from which voiced signals are receive can potentially be selected by the comparator 181. The voice detectors 185-187 may be implemented in any manner suitable to detect voice, such as known in the art, and for the sake of brevity are not described in further detail. A suitable implementation is described in for example Prasad, Venkatesha R.; Sangwan, Abhijeet; Jamadagni, HS; Chiranth, MC and Sah, Rahul "Comparison of Voice Activity Detection Algorithms for VoIP", Seventh International Symposium on Computers and Communications, 2002. ISCC 2002, 1-4 July, Taormina-Giardini Naxos, Italy, pp. 530-535, hereinafter referred to as the "ISCC 2002 paper" and incorporated herein by reference.
The selection control unit 18 may for instance comprise a first logic unit 301 and a second logic unit 302. In the shown example, the logic units 301 ,302 are connected with their respective inputs to the interface 14. The logic units 301 ,302 are connected with their outputs to the memory unit 303 in which the maximum number of dominant speaker value Kmax is stored.
As explained below in more detail with reference to FIGs. 3 and 4, the first logic unit 301 may increase the maximum number of dominant speakers value Kmax when a dominant speaker increase criterion is met whereas the second logic unit 302 may decrease the maximum number of dominant speakers value when a dominant speaker decrease criterion is met.
The first logic unit 301 may for example be connected to a new speaker detector 180. In the shown example, the new speaker detector connects the first logic unit 301 to the input interface 14. However, it will be apparent that other units may be present between the first logic unit 301 and the input interface 14.
The new dominant speaker detector 180 can detect out of the input streams additional dominant speaker streams, i.e. additional to the input streams selected as dominant speaker streams. If the detectors 180 detects an additional dominant speaker stream, the detector 180 outputs an additional dominant speaker notification to the first logic unit 301. The first logic unit 301 then determines, e.g. in response to the notification, whether or not to increase the maximum number of dominant speakers value. For example, when the current number of dominant speakers is below the maximum number of dominant speakers value Kmax, the first logic unit 301 may maintain the maximum number of dominant speakers value as is, and when the current number of dominant speakers is equal to the maximum number of dominant speakers value, the first logic unit 301 may increment the value Kmax by 1.
The new dominant speaker detector 180 can detect additional dominant speaker streams in any manner suitable for the specific implementation. To that end, the new dominant speaker detector 180 can compare one or more parameters of the input stream with one or more criteria suitable to detect additional dominant speaker streams.
The parameter may for example be the loudness. Referring to the example shown in FIG. 3, the new dominant speaker detector 180 may for example comprise one or more calculators 188- 190 connected to the input interface 14. The calculators calculate for each of the input streams 101-103 a loudness value λι, λ2, λ3 from a parameter of the respective input stream representative of the loudness of the audio. In the shown example, a respective calculator 188-190 is present which is connected with a calculator input to a respective detector input 182-183 of the new dominant speaker detector 180. At the detector inputs 182-183 the input streams 101-103 may be received. In the shown example, the new dominant speaker detector 180 further includes voice detectors 185-187 connected with their inputs to the detector inputs 182-183 and with their outputs to respective control inputs of the calculators 188-190. The voice detectors 185-187 compare one or more parameters of the input streams with criteria suitable to detect voice in the input streams. The new dominant speaker detectors 180 enable a corresponding calculator when voice is detected in an input stream which before did not comprise voice. Thereby, it may be ensured that only input streams which comprise voice can be assigned as dominant speakers and that, for example, input streams with a high audio amplitude due to noise or non-voiced audio (e.g. music) remain non-dominant and accordingly, the overall quality of the conference call can be improved . Although in the example of FIG.3 voice detectors 185-187 are shown for each of the input streams 101-103, it will be apparent that the voice detectors 185-187 may be applied alternatively to only some of the input streams, such as the non-dominant speaker streams thereof.
The shown new dominant speaker detector 180 further comprises a classifier 191 connected to the calculator. The classifier 191 classifies a non-dominant stream of the input streams 101-103 based on at least the loudness value λ, corresponding to the respective non-dominant stream i in one or more categories M-|-M6,N-|-N7. In the shown example, the classifier 191 classifies the input stream in respective categories of two sets Mi-M6 and Ni-N7. The classification in the first set M-p M6 is based on the loudness value λ, whereas the classification in the second set Ni-N7 is based on the differential loudness value Δλ, which is the difference between the loudness value λ, and the loudness value λ3 of the last dominant speaker elected at the point the last dominant speaker was elected . Fig. 7 shows a graph of the categories Mi-M6 as a function of the loudness value λ,. Fig. 7 shows a graph of the categories Ni-N7 as a function of the differential loudness value Δλ,. The vertical axis indicates a weighing factor WM,WN which are respectively a function of the loudness value λ, and the differential loudness value Δλ,. As shown, upper and lower limits T1-T5 determine the membership of the input stream to the respect categories M-|-M6. Upper and lower limits P1 -P6 determine the membership of the input stream to the respect categories N-|-N7.
For example, for a loudness value λ, of T2, the input stream i will be classified in category M2 with WM=1 . For a loudness value λ, of T3, the input stream will be classified in category M3 with WM=1 . For a loudness value λ, between T2 and T3, e.g. λ, = A, the input stream will be classified in categories M2 and M3 with a weighing factor Wm2(A) for M2 as defined by the continuous line and a weighing factor Wm3(A) for M3 as defined by the dashed line.
The shown new dominant speaker detector 180 further comprises a detector logic unit 192 connected to the classifier 191. When in operation, the detector logic unit 192 evaluates one, or more than one, rule based on the classification and determines for each of the rules an evaluation value. For example, the detector logic unit 192 may evaluate the following rules R0-R19, where i refers to input stream i:
R0: IF (ieM2 & ie N1 ) then D=1 OR
R1 : IF (ieM2 & ie N2) then D=1 OR
R2: IF (ieM2 & ie N3) then D=1 OR R3: IF (ieM3 & ieN1) then D=1 OR
R4: IF (ieM3 & ieN2) then D=1 OR
R5: IF (ieM3 & ieN3) then D=1 OR
R6: IF (ieM3 & ieN4) then D=1 OR
R7: IF (ieM3 & ieN5) then D=1 OR
R8: IF (ieM4 & ieN1) then D=1 OR
R9: IF (ieM4 & ieN2) then D=1 OR
R10: IF( ieM4 & EN3)then D=1 OR
R11: IF( ieM4 & ≡N4)then D=1 OR
RR1122:: IIFF( ( iieeMM44 && ieN5) then D=1 OR
R13: IF( ieM5& ≡N1)then D=1 OR
R14: IF( ieM5& ≡N2)then D=1 OR
R15: IF( ieM5& EN3)then D=1 OR
R16: IF( ieM5& EN4)then D=1 OR
RR1177:: IIFF( ( iieeMM55&& ieN5) then D=1 OR
R18: IF( ieM5& EN6)then D=1 OR
R19: IF ieM6 then D=1.
The detector logic unit 192 may for each of these rules calculate an evaluation value E, for example by performing a calculation as can be described by Eq= Dq*(WM(q)+WN(q)), in which WM(q) and WN(Q) represent the weighing factors for the categories Mq and Nq used in the rule q. For example for R18, supposing that as illustrated in FIGs.7 and 8 λ,=Α, Δλ,= B, then ieM2 and ieN3, the result would be E18= D18*(WM2(A)+WN3(B)).
The shown new dominant speaker detector 180 further comprises an adder 193 connected to the detector logic unit 192 and a comparator 194 connected to the adder 193. The adder 193 receives from the detector logic unit 192 the evaluation values and adds the evaluation values
E1,E2,...,Ej to obtain a summed value∑. The comparator 194 then compares the summed value∑ with a threshold value Tr and outputs, at the detector output 195, a maximum number of dominant speakers value increase notification when the summed value∑ exceeds the threshold value Tr.
Referring to back to FIG. 2, the second logic unit 302 may be connected to a decrement evaluation unit 200. The decrement evaluation unit 200 may be arranged to compare one, or more than one, parameter of one, or more than one, of the dominant speaker streams with a predetermined maximum number of dominant speakers value reduction criterion and output to the second logic unit 302 a maximum number of dominant speakers decrease notification when the parameter meets the predetermined maximum number of dominant speakers value reduction criterion. In response to the notification, the second logic unit 302 can decrease the maximum number of dominant speakers value stored in the memory 303 In the example of FIG. 4, the decrement evaluation unit 200 comprises a voice detector 204- 206 connected to the input interface 14. The voice detector 204-206, when in operation, detects voice in the dominant speaker streams.
The second logic unit 302 further comprises a loudness comparator 211 connected to the input interface 14. The loudness comparator 211 compares an intensity of at least voice in one, or more than one, of the dominant speaker streams with a loudness threshold value. The example of FIG. 4 comprises respective calculators 207-209 which are arranged to calculate for each of the input streams the loudness value λ from a parameter of the respective input stream representative of the loudness of the audio, e.g. as explained above. In the shown example, an separate calculator is present for each input stream and the calculators are connected to the input interface 14. For each of the calculators 207-209 a voice detector 204-206 is connected with an input to the input interface 14. The voice detectors 204-206 can detect voice in the input streams and enable the respective calculator 207-209 when voice is detected and disable the respective calculator 207- 209, or otherwise ensure that it outputs a loudness number below the threshold Tr, when no voice is detected.
When in one, or more than one, of the dominant speaker streams no voice is detected and/or when for one, or more than one, of the dominant speaker streams the intensity is determined by the loudness comparator 211 to be below the loudness threshold value, Tr, the decrement evaluation unit 200 outputs the notification to the second logic unit 302. In response to the notification, the second logic unit 302 then decreases the maximum number of dominant speakers value Kmax. For generating the notification, the shown example comprises an OR-gate 213 which is connected with a first input port to the comparator 211 and with a second input port to the voice detectors. The first input port is asserted by the loudness comparator 211 when one, or more than one, of the dominant speaker streams the intensity is determined by the loudness comparator 211 to be below the loudness threshold value, Tr. The second input port is asserted when one or more of the voice detectors 204-206 does not detect voice. The OR-gate 213 outputs a notification in the form of a binary 1 when at least one of the input ports is asserted, and outputs nothing (in the form of a binary 0) when none of the input ports is asserted.
The decrement evaluation unit 200 shown in FIG. 4 further comprises selectors 210,212 connected to respectively the calculator 207-209 and the voice detector 204-206 of the last dominant speaker stream elected as an input to the comparator 213. Thus, only the parameters of the last dominant speaker stream are subject to the evaluation in this example. However, the decrement evaluation unit 200 may alternatively evaluator other dominant speaker streams as well, and for example comprise a dedicated comparator and voice detector for each of the dominant speaker stream.
The invention may also be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the invention when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the invention. A computer program is a list of instructions such as a particular application program and/or an operating system. The computer program may for instance include one or more of: a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.
The computer program may be stored internally on computer readable storage medium, e.g. as shown in FIG. 5, or transmitted to the computer system via a computer readable transmission medium. All or some of the computer program may be provided on computer readable media permanently, removably or remotely coupled to an information processing system. The computer readable media may for instance be a computer readable medium for placement in a receptacle for being read and include, for example and without limitation, any number of the following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; nonvolatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc. The computer readable medium may also be data transmission media including computer networks, point-to-point telecommunication equipment, and carrier wave transmission media, just to name a few.
A computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system.
The computer system may for instance include at least one processing unit, associated memory and a number of input/output (I/O) devices. When executing the computer program, the computer system processes information according to the computer program and produces resultant output information via I/O devices.
In the foregoing specification, the invention has been described with reference to specific examples of embodiments of the invention. It will, however, be evident that various modifications and changes may be made therein without departing from the broader spirit and scope of the invention as set forth in the appended claims.
For example, instead of the linear functions illustrated in FIGs. 7 and 8 other functions, such as parabolic or hyperbolic may be used. Also, a different number of categories M,N and/or input streams may be used.
Also, the connections as discussed herein may be any type of connection suitable to transfer signals from or to the respective nodes, units or devices, for example via intermediate devices. Accordingly, unless implied or stated otherwise, the connections may for example be direct connections or indirect connections. The connections may be illustrated or described in reference to being a single connection, a plurality of connections, unidirectional connections, or bidirectional connections. However, different embodiments may vary the implementation of the connections. For example, separate unidirectional connections may be used rather than bidirectional connections and vice versa. Also, plurality of connections may be replaced with a single connections that transfers multiple signals serially or in a time multiplexed manner. Likewise, single connections carrying multiple signals may be separated out into various different connections carrying subsets of these signals. Therefore, many options exist for transferring signals.
Furthermore, each signal described herein may be designed as positive or negative logic. In the case of a negative logic signal, the signal is active low where the logically true state corresponds to a logic level zero. In the case of a positive logic signal, the signal is active high where the logically true state corresponds to a logic level one. Note that any of the signals described herein can be designed as either negative or positive logic signals. Therefore, in alternate embodiments, those signals described as positive logic signals may be implemented as negative logic signals, and those signals described as negative logic signals may be implemented as positive logic signals.
Furthermore, the terms "assert" or "set" and "negate" (or "deassert" or "clear") are used herein when referring to the rendering of a signal, status bit, or similar apparatus into its logically true or logically false state, respectively. If the logically true state is a logic level one, the logically false state is a logic level zero. And if the logically true state is a logic level zero, the logically false state is a logic level one.
Those skilled in the art will further recognize that the boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements. Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. For example, the voice detectors and calculators shown in Figs. 2-4 may be shared by the different units.
Also for example, in one embodiment, the illustrated examples may be implemented as circuitry located on a single integrated circuit or within a same device. For example, the conference call system may be implemented as a suitable programmed processor, such as a general purpose microprocessor or a digital signal processor. Alternatively, the examples may be implemented as any number of separate integrated circuits or separate devices interconnected with each other in a suitable manner.
Also for example, the examples, or portions thereof, may implemented as soft or code representations of physical circuitry or of logical representations convertible into physical circuitry, such as in a hardware description language of any appropriate type.
However, other modifications, variations and alternatives are also possible. The specifications and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word 'comprising' does not exclude the presence of other elements or steps then those listed in a claim. Furthermore, the terms "a" or "an," as used herein, are defined as one or more than one. Also, the use of introductory phrases such as "at least one" and "one or more" in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim element to inventions containing only one such element, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an." The same holds true for the use of definite articles. Unless stated otherwise, terms such as "first" and "second" are used to arbitrarily distinguish between the elements such terms describe. Thus, these terms are not necessarily intended to indicate temporal or other prioritization of such elements The mere fact that certain measures are recited in mutually different claims does not indicate that a combination of these measures cannot be used to advantage.

Claims

Claims
1 . A conference call system, comprising:
an input interface for receiving during a conference call at least two input streams of audio signals, each of said input streams from another source;
a selection unit connected to the input interface, for selecting a number of dominant speaker streams out of said input streams, said number being less than or equal to a maximum number of dominant speakers value and each of said dominant speaker streams representing speech from a respective dominant speaker;
a mixer connected to said selection unit, for mixing said selected streams into an output stream;
an output interface for outputting said output stream; and
a selection control unit connected to said selection unit and said input interface, for dynamically setting, during said conference call, said maximum number of dominant speakers value based on dynamics of said conference call.
2. The conference call system as claimed in claim 1 , wherein said selection control unit comprises:
a first logic unit for increasing said maximum number of dominant speakers value when a dominant speaker increase criterion is met; and
a second logic unit for decreasing said maximum number of dominant speakers value when a dominant speaker decrease criterion is met.
3. The conference call system as claimed in claim 2, comprising a new dominant speaker detector connected to said input interface, for detecting additional dominant speaker streams out of said input streams; and
wherein said first logic unit connected to said new dominant speaker detector and is arranged to, when said first logic unit is in operation, increase said maximum number of dominant speakers value when said number is equal to said maximum number of dominant speakers value and said dominant speaker detector detects an additional dominant speaker stream.
4. The conference call system as claimed in claim 3, wherein said dominant speaker detector comprises:
a calculator connected to said input interface, for calculating for each of said input streams a loudness value from a parameter of the respective input stream representative of the loudness of said audio;
a classifier connected to said calculator, for classifying a non-dominant stream of said input streams based on at least the loudness value corresponding to said non-dominant stream; and a logic unit connected to the classifier, for evaluating at least one rule based on said classification and determining for each of said rules an evaluation value; an adder for adding said evaluation values to obtain a summed value; and a comparator connected to said adder, for comparing said summed value with a threshold value and outputting a maximum number of dominant speakers value increase signal when said summed value exceeds said threshold value.
5. The conference call system as claimed in claim 2, 3 or 4, comprising a decrement evaluation unit connected to said input interface, for comparing at least one parameter of at least one of said dominant speaker streams with a predetermined maximum number of dominant speakers value reduction criterion; and
wherein said second logic unit is connected to said decrement evaluation unit and arranged to and to decrease, when in operation, said maximum number of dominant speakers value when said parameter meets the predetermined maximum number of dominant speakers value reduction criterion.
6. The conference call system as claimed in claim 5, wherein
said decrement evaluation unit comprises:
a voice detector connected to said input interface, for detecting voice in said dominant speaker streams; and
a loudness comparator connected to said input interface, for comparing an intensity of voice in at least one of said dominant speaker stream with a loudness threshold value; and wherein said second logic unit is arranged to decrease the maximum number of dominant speakers value when in at least one of said dominant speaker stream no voice is detected and/or when for at least one of said dominant speaker streams said intensity is determined by said loudness comparator to be below said loudness threshold value.
7. A conference calling method, comprising:
receiving during a conference call at least two input streams of audio signals, each of said input streams from another source;
selecting a number of dominant speaker streams out of said input streams, said number being less than or equal to a maximum number of dominant speakers value and each of said dominant speaker streams representing speech from a respective dominant speaker;
mixing said selected streams into an output stream;
outputting said output stream; and
dynamically setting, during said conference call, said maximum number of dominant speakers value based on dynamics of said conference call.
8. A computer program product containing a computer program executable by a programmable apparatus, said computer program having code portions for performing the method of the preceding claim when executed by said programmable apparatus.
PCT/IB2009/054943 2009-11-06 2009-11-06 Conference call system, method, and computer program product WO2011055170A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200980162321.9A CN102598644B (en) 2009-11-06 2009-11-06 Conference call system and method
US13/501,472 US8619963B2 (en) 2009-11-06 2009-11-06 Conference call system, method, and computer program product
JP2012537451A JP5511106B2 (en) 2009-11-06 2009-11-06 Teleconference system, method and computer program product
EP09851060.5A EP2497258A4 (en) 2009-11-06 2009-11-06 Conference call system, method, and computer program product
PCT/IB2009/054943 WO2011055170A1 (en) 2009-11-06 2009-11-06 Conference call system, method, and computer program product
US14/143,053 US9094526B2 (en) 2009-11-06 2013-12-30 Conference call system, method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2009/054943 WO2011055170A1 (en) 2009-11-06 2009-11-06 Conference call system, method, and computer program product

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/501,472 A-371-Of-International US8619963B2 (en) 2009-11-06 2009-11-06 Conference call system, method, and computer program product
US14/143,053 Continuation US9094526B2 (en) 2009-11-06 2013-12-30 Conference call system, method, and computer program product

Publications (1)

Publication Number Publication Date
WO2011055170A1 true WO2011055170A1 (en) 2011-05-12

Family

ID=43969610

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2009/054943 WO2011055170A1 (en) 2009-11-06 2009-11-06 Conference call system, method, and computer program product

Country Status (5)

Country Link
US (2) US8619963B2 (en)
EP (1) EP2497258A4 (en)
JP (1) JP5511106B2 (en)
CN (1) CN102598644B (en)
WO (1) WO2011055170A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015130508A3 (en) * 2014-02-28 2015-10-29 Dolby Laboratories Licensing Corporation Perceptually continuous mixing in a teleconference
US20170322819A1 (en) * 2014-10-19 2017-11-09 Televic Confrence Nv Device for Audio Input/Output

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074581B2 (en) 2007-10-12 2011-12-13 Steelcase Inc. Conference table assembly
US10631632B2 (en) 2008-10-13 2020-04-28 Steelcase Inc. Egalitarian control apparatus and method for sharing information in a collaborative workspace
US20140361954A1 (en) 2013-06-07 2014-12-11 Lewis Epstein Personal control apparatus and method for sharing information in a collaboration workspace
US10884607B1 (en) 2009-05-29 2021-01-05 Steelcase Inc. Personal control apparatus and method for sharing information in a collaborative workspace
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
US10057426B2 (en) * 2016-12-16 2018-08-21 Red Hat, Inc. Speaker priority for conference calls
EP3949368B1 (en) 2019-04-03 2023-11-01 Dolby Laboratories Licensing Corporation Scalable voice scene media server

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059487A (en) * 1999-03-04 2000-10-05 김영환 Device for speaking by telephone among subscribers of radio interface unit in wireless local loop
JP2000332753A (en) * 1999-05-24 2000-11-30 Nec Corp Large-scale multicast data transmission system
US20060146735A1 (en) * 2005-01-06 2006-07-06 Cisco Technology, Inc. Method and system for providing a conference service using speaker selection
KR20070080017A (en) * 2006-02-06 2007-08-09 엘지전자 주식회사 Terminal for managing conference call and method for offering conference call

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4388717A (en) * 1981-01-14 1983-06-14 International Telephone And Telegraph Corporation Conference circuit for PCM system
DE3148886C1 (en) * 1981-12-10 1983-08-11 Standard Elektrik Lorenz Ag, 7000 Stuttgart Method and circuit arrangement for establishing a conference connection
US4499578A (en) * 1982-05-27 1985-02-12 At&T Bell Laboratories Method and apparatus for controlling signal level in a digital conference arrangement
CA1191630A (en) * 1982-09-27 1985-08-06 Bruce D. Shuh Pcm conference circuit
US4466094A (en) * 1982-12-27 1984-08-14 Gte Automatic Electric Inc. Data capture arrangement for a conference circuit
US4757493A (en) * 1987-06-01 1988-07-12 Motorola Inc. Multi-party telephone conferencing apparatus
US4845499A (en) * 1987-11-02 1989-07-04 Ag Communication Systems Corporation Method for generating PCM logarithmic values from linear values
JPH10145764A (en) * 1996-11-05 1998-05-29 Fujitsu Ltd Method for detecting speaker and multi-spot television conference system
JP2000175170A (en) * 1998-12-04 2000-06-23 Nec Corp Multi-point video conference system and its communication method
DE19918801A1 (en) 1999-04-26 2000-11-02 Thomson Brandt Gmbh Device for reading or writing to optical recording media
US6728358B2 (en) * 2001-01-25 2004-04-27 Paltalk Holdings, Inc. Efficient buffer allocation for current and predicted active speakers in voice conferencing systems
US6804340B2 (en) * 2001-05-03 2004-10-12 Raytheon Company Teleconferencing system
US7292543B2 (en) * 2002-04-17 2007-11-06 Texas Instruments Incorporated Speaker tracking on a multi-core in a packet based conferencing system
US7330541B1 (en) * 2003-05-22 2008-02-12 Cisco Technology, Inc. Automated conference moderation
US7865180B2 (en) * 2003-06-23 2011-01-04 Palm, Inc. Automated telephone conferencing method and system
US7190775B2 (en) * 2003-10-29 2007-03-13 Broadcom Corporation High quality audio conferencing with adaptive beamforming
US20070019802A1 (en) * 2005-06-30 2007-01-25 Symbol Technologies, Inc. Audio data stream synchronization
WO2007003683A1 (en) * 2005-06-30 2007-01-11 Nokia Corporation System for conference call and corresponding devices, method and program products
US8971511B2 (en) * 2006-03-31 2015-03-03 Cisco Technology, Inc. Method and apparatus for enhancing speaker selection
WO2008011902A1 (en) * 2006-07-28 2008-01-31 Siemens Aktiengesellschaft Method for carrying out an audio conference, audio conference device, and method for switching between encoders
JP4716962B2 (en) * 2006-09-21 2011-07-06 沖電気工業株式会社 CONFERENCE SYSTEM, CONFERENCE SERVER, AND CONFERENCE SYSTEM DISTRIBUTION VOICE CONTROL METHOD
JP2008306541A (en) * 2007-06-08 2008-12-18 Yamaha Corp Conference communication controller
US8428939B2 (en) * 2007-08-07 2013-04-23 Nec Corporation Voice mixing device, noise suppression method and program therefor
US8289362B2 (en) * 2007-09-26 2012-10-16 Cisco Technology, Inc. Audio directionality control for a multi-display switched video conferencing system
US8436888B1 (en) * 2008-02-20 2013-05-07 Cisco Technology, Inc. Detection of a lecturer in a videoconference
US8411835B2 (en) * 2008-02-28 2013-04-02 At&T Intellectual Property I, L.P. Methods and apparatus to manage conference calls
US9143618B2 (en) * 2008-12-29 2015-09-22 Shoretel, Inc. Distributed audio conferencing architecture with optimum resource utilization and seamless scalability
US9154730B2 (en) * 2009-10-16 2015-10-06 Hewlett-Packard Development Company, L.P. System and method for determining the active talkers in a video conference

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059487A (en) * 1999-03-04 2000-10-05 김영환 Device for speaking by telephone among subscribers of radio interface unit in wireless local loop
JP2000332753A (en) * 1999-05-24 2000-11-30 Nec Corp Large-scale multicast data transmission system
US20060146735A1 (en) * 2005-01-06 2006-07-06 Cisco Technology, Inc. Method and system for providing a conference service using speaker selection
KR20070080017A (en) * 2006-02-06 2007-08-09 엘지전자 주식회사 Terminal for managing conference call and method for offering conference call

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2497258A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015130508A3 (en) * 2014-02-28 2015-10-29 Dolby Laboratories Licensing Corporation Perceptually continuous mixing in a teleconference
CN106063238A (en) * 2014-02-28 2016-10-26 杜比实验室特许公司 Perceptually continuous mixing in a teleconference
US10009475B2 (en) 2014-02-28 2018-06-26 Dolby Laboratories Licensing Corporation Perceptually continuous mixing in a teleconference
US20170322819A1 (en) * 2014-10-19 2017-11-09 Televic Confrence Nv Device for Audio Input/Output
US10310875B2 (en) * 2014-10-19 2019-06-04 Televic Conference Nv Device for audio input/output

Also Published As

Publication number Publication date
JP2013509841A (en) 2013-03-14
CN102598644B (en) 2015-05-27
US20140112464A1 (en) 2014-04-24
US8619963B2 (en) 2013-12-31
US9094526B2 (en) 2015-07-28
EP2497258A4 (en) 2013-05-01
JP5511106B2 (en) 2014-06-04
US20120207295A1 (en) 2012-08-16
CN102598644A (en) 2012-07-18
EP2497258A1 (en) 2012-09-12

Similar Documents

Publication Publication Date Title
US9094526B2 (en) Conference call system, method, and computer program product
CN102461139B (en) Enhanced communication bridge
US7292543B2 (en) Speaker tracking on a multi-core in a packet based conferencing system
US7664246B2 (en) Sorting speakers in a network-enabled conference
US8126705B2 (en) System and method for automatically adjusting floor controls for a conversation
US8249235B2 (en) Conference call prioritization
US9246962B2 (en) Conference mixing using turbo-VAD
US10771631B2 (en) State-based endpoint conference interaction
US7020257B2 (en) Voice activity identiftication for speaker tracking in a packet based conferencing system with distributed processing
CN109327633B (en) Sound mixing method, device, equipment and storage medium
CN111628992A (en) Multi-person call control method and device, electronic equipment and storage medium
CN109819129B (en) Conference comfort noise mixing system and method based on sound evaluation
EP3437312B1 (en) Muting microphones of physically colocated devices
US20150022623A1 (en) Source selection for conference bridges
US10237413B2 (en) Methods for the encoding of participants in a conference
KR102505345B1 (en) System and method for removal of howling and computer program for the same
US9042536B2 (en) Progressive, targeted, and variable conference feedback tone
ES2838399T3 (en) Method and apparatus for calculating the perceived quality of a multi-participant audiovisual or audio telecommunications service or system
US7145884B2 (en) Speaker tracking on a single core in a packet based conferencing system
EP4037339A1 (en) Selecton of audio channels based on prioritization
EP3280123A2 (en) State-based endpoint conference interaction
JP2000049948A (en) Speech communication device and speech communication system
CN114173011B (en) Mixing control method for collaborative command media engine
CN112751978A (en) Sound amplification control method and mobile terminal

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980162321.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09851060

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13501472

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012537451

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2009851060

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE