<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.4//EN" "ep-patent-document-v1-4.dtd">
<ep-patent-document id="EP07842899B1" file="EP07842899NWB1.xml" lang="en" country="EP" doc-number="2067347" kind="B1" date-publ="20130619" status="n" dtd-version="ep-patent-document-v1-4">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIRO..CY..TRBGCZEEHUPLSK....IS..MT..........................</B001EP><B003EP>*</B003EP><B005EP>J</B005EP><B007EP>DIM360 Ver 2.40 (30 Jan 2013) -  2100000/0</B007EP></eptags></B000><B100><B110>2067347</B110><B120><B121>EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B1</B130><B140><date>20130619</date></B140><B190>EP</B190></B100><B200><B210>07842899.2</B210><B220><date>20070920</date></B220><B240><B241><date>20090420</date></B241></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B300><B310>826341 P</B310><B320><date>20060920</date></B320><B330><ctry>US</ctry></B330></B300><B400><B405><date>20130619</date><bnum>201325</bnum></B405><B430><date>20090610</date><bnum>200924</bnum></B430><B450><date>20130619</date><bnum>201325</bnum></B450><B452EP><date>20130102</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>H04M   3/56        20060101AFI20080418BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>SYSTEME UND VERFAHREN ZUR IMPLEMENTIERUNG GENERALISIERTER KONFERENZEN</B542><B541>en</B541><B542>SYSTEMS AND METHODS FOR IMPLEMENTING GENERALIZED CONFERENCING</B542><B541>fr</B541><B542>SYSTÈMES ET PROCÉDÉS DE MISE EN OEUVRE D'UN SERVICE DE CONFÉRENCE GÉNÉRALISÉE</B542></B540><B560><B561><text>EP-A- 1 505 815</text></B561><B561><text>EP-A- 1 526 706</text></B561><B561><text>US-B1- 6 178 237</text></B561></B560></B500><B700><B720><B721><snm>WENGROVITZ, Michael, S.</snm><adr><str>1315 Old Marlboro Road</str><city>Concord, MA 01742</city><ctry>US</ctry></adr></B721></B720><B730><B731><snm>Alcatel Lucent</snm><iid>101322554</iid><irf>800 285-EP-EPT</irf><adr><str>3 avenue Octave Gréard</str><city>75007 Paris</city><ctry>FR</ctry></adr></B731></B730><B740><B741><snm>Wetzel, Emmanuelle</snm><sfx>et al</sfx><iid>100818093</iid><adr><str>Alcatel Lucent 
Intellectual Property &amp; Standards</str><city>70430 Stuttgart</city><ctry>DE</ctry></adr></B741></B740></B700><B800><B840><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>HU</ctry><ctry>IE</ctry><ctry>IS</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LT</ctry><ctry>LU</ctry><ctry>LV</ctry><ctry>MC</ctry><ctry>MT</ctry><ctry>NL</ctry><ctry>PL</ctry><ctry>PT</ctry><ctry>RO</ctry><ctry>SE</ctry><ctry>SI</ctry><ctry>SK</ctry><ctry>TR</ctry></B840><B860><B861><dnum><anum>US2007079066</anum></dnum><date>20070920</date></B861><B862>en</B862></B860><B870><B871><dnum><pnum>WO2008036834</pnum></dnum><date>20080327</date><bnum>200813</bnum></B871></B870></B800></SDOBI>
<description id="desc" lang="en"><!-- EPO <DP n="1"> -->
<heading id="h0001"><b>BACKGROUND OF THE INVENTION</b></heading>
<heading id="h0002"><u>Technical Field of the Invention</u></heading>
<p id="p0001" num="0001">The present invention relates in general to communications systems, and in particular, to conferencing systems for managing conference calls.</p>
<heading id="h0003"><u>Description of Related Art</u></heading>
<p id="p0002" num="0002">Over the past several years, multi-party voice conference services have become common in the marketplace. Voice conferencing services enable three or more parties on different telephone devices to participate in a single call. Traditionally, such conferencing services were provided by a private branch exchange (PBX) or local exchange carrier (LEC) that allowed a conference call originator to manually dial the other parties of the conference call, place them on "hold" and then patch them together by simultaneously releasing the holds.</p>
<p id="p0003" num="0003">More recently, conference bridges have been developed that are able to combine multimedia communications from multiple telephone devices in a multi-party conference call. A similar device is disclosed in the document <patcit id="pcit0001" dnum="US6178237B1"><text>US 6 178 237 B1</text></patcit> (HORN DAVID N [US]), published on the 23rd January 2001. A conference bridge may be located within a public or private network and may be implemented on a single centralized conference bridge switch. or on multiple centralized or distributed switches. In conference bridge applications, the conference originator may reserve a certain number of<!-- EPO <DP n="2"> --><!-- EPO <DP n="3"> --> connections (i.e., ports) on a conference bridge by manually interacting with an operator of the conference bridge or by directly interacting with an automated conferencing bridge system. Once the conference originator has reserved the requisite number of ports, the conference originator provides each participant with a dial-in telephone number and access code for the conference bridge and an access code for entering the conference call. To join the conference call, each participant must dial the dial-in telephone number for the conference bridge, and when prompted, enter the access code for the conference call.</p>
<p id="p0004" num="0004">However, because conference participants can only hear and speak to others within the boundary of a single conference room, existing conferencing systems have significant limitations, especially in applications such as security, first-response medical, emergency communications, as well as next-generation internet applications, such as social networking, online learning, simulations and gaming. For example, in an emergency situation involving coordination between police officers, firemen and an incident commander whose job it is to manage the combined team's overall response, if the police officers are speaking and listening to each other in one conference room and the firemen are speaking and listening to each other in another conference room, the incident commander must be separately connected to both conference rooms which may employ differing types of communication devices (i.e., telephones, two-way radios, etc.) to coordinate the response. Current conferencing technology does not allow a conference participant to use a single communication device to simultaneously speak and/or listen within multiple conference rooms.</p>
<p id="p0005" num="0005">In fact, current conferencing systems do not at all match the way in which groups of people naturally communicate. Specifically, in real-life situations, people do not speak and listen to each other within the fixed boundaries of conference rooms. For example, at a party or an informal meeting involving a number of people in various conversation groups, a person within one conversation group may be listening not only to this group, but also to one or more other groups. Similarly, when this person speaks, he/she may not only be heard by people in<!-- EPO <DP n="4"> --> his/her conversation group, but also by one or more people in one or more other conversation groups. In addition, the person hosting the party may not be participating in any of the conversation groups, and may make an announcement that is heard by everyone, or almost everyone, in all, or almost all, of the conversation groups. Existing conferencing systems are unable to accommodate such commonplace conversation scenarios to which we are all accustomed. Realistic online gaming and social internet voice applications must evolve so as to accurately simulate such types of naturally occuring scenarios.</p>
<p id="p0006" num="0006">Therefore, what is needed is a system that is able to support generalized conferencing in complex conferencing scenarios.</p>
<heading id="h0004"><b>SUMMARY OF THE INVENTION</b></heading>
<p id="p0007" num="0007">A conference server, in one embodiment of the present invention, enables generalized conferencing by maintaining and applying a conferencing matrix. The conferencing matrix defines the respective output media provided to each of the conference participants based on the respective input media received from other conference participants. In particular, the conference server includes an interface communicatively coupled to a plurality of media devices operated by the conference participants, a conferencing module operable to manage the conference calls by utilizing the conferencing matrix and processing circuitry operable to control the conferencing module and coupled to receive the input media from the conference participants via the interface and to provide the input media to the conferencing module and further coupled to receive the output media from the conferencing module and to provide the output media to the conference participants via the interface.</p>
<p id="p0008" num="0008">In one embodiment, the conferencing matrix includes real-valued coefficients associated with the conference participants. The coefficients can be time-varying and/or determined based on one or more conference policies, such as time of day, speaking conference participants, simulated physical distance between speaking and listening conference participants, number of<!-- EPO <DP n="5"> --> speaking and/or listening conference participants, preferences of speaking and/or listening conference participants and other conference server policies.</p>
<p id="p0009" num="0009">In a further embodiment, the input media includes one or more streams of voice and data, and each of the coefficients defines whether one of the conference participants is able to receive the input media from other conference participants. In another embodiment, each of the coefficients defines a gain to be applied to voice streams associated with a particular speaking one of the conference participants as heard by a particular listening one of the conference participants. For example, the output media provided to respective listening ones of the conference participants can be a linear weighted combination of voice streams associated with the speaking ones of the conference participants, in which the linear weighted combination is determined by respective gains applied to the speaking ones of the conference participants as defined by one row of the conferencing matrix.</p>
<p id="p0010" num="0010">In still a further embodiment, the conference server includes conference rooms for managing respective conference calls, each involving multiple conference participants, and the conferencing module is further operable to partition the conferencing matrix into respective constituent conferencing matrices, each associated with one of the conference rooms, when there is no overlap in conference participants between the conference rooms.</p>
<p id="p0011" num="0011">In yet a further embodiment, the conferencing matrix can be represented in singular value decomposition form. For example, the singular value decomposition form of the conferencing matrix can be calculated off-line and updated as conference participants leave or join conferences calls.</p>
<p id="p0012" num="0012">In another embodiment, the conferencing matrix can be a binary conferencing matrix. In this embodiment, the conferencing module may be able to decompose the binary conferencing matrix into the product of two subspace matrices to produce a subspace representation of the binary conferencing matrix. Alternatively, the conferencing module may be able to reduce the rank of the binary conferencing matrix.<!-- EPO <DP n="6"> --></p>
<p id="p0013" num="0013">A method for implementing generalized conferencing, in yet another embodiment of the present invention, includes providing a conferencing matrix of conference participants to conference calls and setting values of coefficients of the conferencing matrix to define a respective output media provided to each of the conference participants based on respective input media received from other conference participants. The method further includes receiving respective input media from conference participants, determining respective output media for each of the conference participants based on the conferencing matrix and providing the respective output media to the conference participants.</p>
<heading id="h0005"><b>BRIEF DESCRIPTION OF THE DRAWINGS</b></heading>
<p id="p0014" num="0014">A more complete understanding of the present invention may be obtained by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
<ul id="ul0001" list-style="none" compact="compact">
<li><figref idref="f0001">FIGURE 1</figref> illustrates an exemplary communications system including a conferencing server having a conferencing matrix that enables generalized conferencing to be implemented between conference participants in accordance with embodiments of the present invention;</li>
<li><figref idref="f0002">FIGURE 2</figref> illustrates an exemplary conference server in accordance with embodiments of the present invention;</li>
<li><figref idref="f0003">FIGURE 3</figref> illustrates exemplary conference rooms within the conference server that utilize the conferencing matrix to provide generalized conferencing for conference participants in accordance with embodiments of the present invention;</li>
<li><figref idref="f0004">FIGURE 4</figref> illustrates an exemplary operation of a conference server in accordance with embodiments of the present invention;</li>
<li><figref idref="f0005">FIGURE 5</figref> illustrates a more detailed operation of a voice mixer within the conference server in accordance with embodiments of the present invention;<!-- EPO <DP n="7"> --></li>
<li><figref idref="f0005">FIGURE 6</figref> illustrates an exemplary operation of a conference room in accordance with embodiments of the present invention; and</li>
<li><figref idref="f0002">FIGURE 7</figref> is a flowchart illustrating an exemplary process for implementing generalized conferencing in accordance with embodiments of the present invention.</li>
</ul></p>
<heading id="h0006"><b>DETAILED DESCRIPTION OF THE DRAWINGS</b></heading>
<p id="p0015" num="0015"><figref idref="f0001">FIGURE 1</figref> illustrates an exemplary communications system 10 providing generalized conferencing between multiple conference participants 30, in accordance with embodiments of the present invention. The communications system 10 includes a voice/data conference server 100 providing one or more conference rooms 150 for conference calls. Each conference room 150 is associated with a particular conference call, and is responsible for establishing the different connections (or legs) for the conference call and managing the states of the conference legs. For example, each conference room 150 can establish a respective conference leg for each voice and data connection to the conference call, add additional voice and/or data conference legs to the conference call, drop one or more voice and/or data conference legs and mute or un-mute one or more of the voice conference legs.</p>
<p id="p0016" num="0016">Each conference leg represents a logical connection between the conference server and a particular conference participant for a conference call. Such logical connections are illustrated in <figref idref="f0001">FIGURE 1</figref> as dotted lines. It should be understood that the actual physical connection associated with a conference leg is between the conference server and a communications device operated by the conference participant associated with that conference leg. By way of example, but not limitation, such communications devices may include plain old telephone sets (POTS), cellular telephones, PBX phone sets, VoIP and SIP phones, two-way radio devices, laptop computers, personal computers and other devices capable of communicating one or more forms of media (i.e., voice, text, video and/or multimedia)). It should further be understood that each participant may operate different communications devices for different conference legs, or may use one<!-- EPO <DP n="8"> --> communications device for multiple conference legs. However, for a particular communications device, all media destined for that communications device (whether for a single conference leg or multiple conference legs) is routed over a single physical connection (i.e., combined within the conference server). Similarly, all media sent from a particular communications device to the conference server 100 is provided to one or more conference rooms 150 within the conference server 100.</p>
<p id="p0017" num="0017">Thus, as shown in <figref idref="f0001">FIGURE 1</figref>, within the conference server 100, multiple conference rooms 150 (e.g., Conference Room A 150a, Conference Room B 150b, Conference Room C 150c), each capable of supporting multiple conference legs, are able to exist in parallel. In addition, in accordance with embodiments of the present invention, the conference server 100 is further able to support complex conferencing to accommodate any desired conferencing scenario between the participants 30 and the conference rooms 150. For example, the conference server 100 can allow one or more participants 30 to simultaneously participate in two or more conference calls in two or more conference rooms. In <figref idref="f0001">FIGURE 1</figref>, Participant C is simultaneously involved in conference calls with Participant A and Participant B through Conference Room A and with Participant D, Participant E and Participant F through Conference Room B. In addition, Participants E and F are involved in a conference call with Participants C and D through Conference Room B and in a separate conference call with each other through Conference Room C. However, voice between the conference rooms 150 is not mixed, so that participants 30 in one conference room (e.g., conference room 150a) do not unintentionally hear participants 30 in another conference room (e.g., conference room 150b). For example, Participants A and B will not be able hear Participant's D, E and F, and vice-versa.</p>
<p id="p0018" num="0018">To accommodate all of the different conferencing scenarios, the conference server 100 utilizes a conferencing matrix 155 that defines the individual outputs that are to be provided to each of the conference participants (i.e., Participants A-F) based on all of the different media inputs of all of the conference participants (i.e., Participants A-F). Thus, in its simplest form, the<!-- EPO <DP n="9"> --> conferencing matrix 155 is a matrix that maps participant inputs to participant outputs. More specifically, each element (or coefficient) of the conferencing matrix 155 defines whether one of the conference participants 30 is able to receive the input media from another one of the conference participants 30. For example, a unity value of a particular element of the conferencing matrix 155 denotes that a particular participant (e.g., Participant A) is able to receive the input media provided by another particular participant (e.g., Participant B), whereas a value of zero indicates the contrary.</p>
<p id="p0019" num="0019">With respect to voice conferences, the conferencing matrix 155 further allows weighting of the voices of the conference participants 30. For example, in voice conferencing applications, each coefficient of the conferencing matrix 155 can define a gain to be applied to voice streams associated with a particular speaking conference participant as heard by a particular listening conference participant. In addition, the real-valued coefficients of the conference matrix 155 can be time-varying and/or determined based on various factors, such as time of day, speaking conference participants, simulated physical distance between speaking and listening conference participants, number of speaking and/or listening conference participants, preferences of speaking and/or listening conference participants and other conference server policies.</p>
<p id="p0020" num="0020">In matrix-vector terms, the conferencing matrix 155 represents linear combinations of sampled speaker signals to produce the vector of sampled listener signals. To produce the individualized outputs provided to each listener, the conferencing matrix 155 premultiplies a vector of sampled speaker signals. For example, the conferencing matrix 155 can be represented within the following matrix-vector notation: <maths id="math0001" num="(Equation 1)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mfenced><mi>n</mi></mfenced><mo>=</mo><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mfenced><mi>n</mi></mfenced><mo>,</mo></math><img id="ib0001" file="imgb0001.tif" wi="111" he="12" img-content="math" img-format="tif"/></maths> where <i>C</i> represents the <i>NxN</i> conferencing matrix, <o ostyle="rightarrow">l</o>(<i>n</i>) represents an <i>Nx1</i> vector of listeners and <o ostyle="rightarrow">S</o>(<i>n</i>) represents an <i>Nx1</i> vector of speakers.<!-- EPO <DP n="10"> --></p>
<p id="p0021" num="0021">The <o ostyle="rightarrow">l</o>(<i>n</i>) and <o ostyle="rightarrow">S</o>(<i>n</i>) column vectors represent discrete-time sampled representations of the analog voice signals heard and spoken respectively by participants 30. For example, the <i>j<sup>th</sup></i> element of <o ostyle="rightarrow">S</o>(<i>n</i>), <i>s<sub>j</sub>(n)</i> is a discrete-time sampled signal corresponding to the actual analog signal <i>s<sub>j</sub>(t)</i>, spoken by the <i>j<sup>th</sup></i> speaker. Similarly, the <i>i<sup>th</sup></i> element of <o ostyle="rightarrow">l</o>(<i>n</i>), <i>l<sub>i</sub>(n)</i>, is a discrete-time sampled signal corresponding to the actual analog signal <i>l<sub>i</sub>(t)</i> heard by the <i>i<sup>th</sup></i> listener. A typical sampling rate for telephone quality speech is 8 kHz, so that each vector of values <o ostyle="rightarrow">l</o>(<i>n</i>) and <o ostyle="rightarrow">S</o>(<i>n</i>) occurs 125 µsec later in time than the previous vector of values. However, faster sampling rates can also be used so that the listener and speaker vectors represent speech signals with higher fidelity and quality.</p>
<p id="p0022" num="0022">Without loss of generality, assume that the <i>l<sub>i</sub>(h)</i> and <i>s<sub>i</sub>(n)</i> signals actually correspond to the same person. That is, <i>l<sub>i</sub>(n)</i> represent what the <i>i<sup>th</sup></i> participant hears, and <i>s<sub>i</sub>(n)</i> represents what this same <i>i<sup>th</sup></i> participant says. In the representation in Equation 1, the <i>ij<sup>th</sup></i> element of <i>C</i> represents the gain applied to the <i>j<sup>th</sup></i> speaker as heard by the <i>i<sup>th</sup></i> listener. Similarly, the <i>i<sup>th</sup></i> row of <i>C</i>, which is the <i>i<sup>th</sup></i> column of <i>C<sup>T</sup></i>, represents the set of weighting factors applied within the linear combination of speaker signals that contribute to the sound heard by the <i>i<sup>th</sup></i> listener. That is, <maths id="math0002" num="(Equation 2)"><math display="block"><msub><mi>l</mi><mi>i</mi></msub><mfenced><mi>n</mi></mfenced><mo>=</mo><msubsup><mover><mi>c</mi><mo>→</mo></mover><mi>i</mi><mi>T</mi></msubsup><mfenced><mi>n</mi></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mfenced><mi>n</mi></mfenced><mo>,</mo></math><img id="ib0002" file="imgb0002.tif" wi="108" he="13" img-content="math" img-format="tif"/></maths> where <i><o ostyle="rightarrow">c</o><sub>i</sub></i> is the <i>i<sup>th</sup></i> column of <i>C<sup>T</sup>.</i> In generalized conferencing, the <i>i<sup>th</sup></i> listener signal is created by forming a linear combination, or a weighted sum, of the N speaker signals.</p>
<p id="p0023" num="0023">Thus, the conferencing matrix 155 allows for the possibility that a listener might hear various speakers at different volume levels. For example, a conferencing matrix 155 with time-dependent coefficients based on active speakers can be used to preferentially weigh one speaker over others. As a further example, the conferencing matrix 155 coefficients can be set so that a listener might hear one speaker, who is located physically nearby, at a louder level than a second speaker, who is located farther away.<!-- EPO <DP n="11"> --></p>
<p id="p0024" num="0024">Unlike voice, other forms of media, such as text messaging and video signals, are not necessarily formed via a linear combination, or superposition, of input signals. For example, a video conference signal is typically formed using a tiling operation, so that each individual participant's video signal is visible within a different square of the total image. That is, unlike voice where the signals are added together, the total video image is not formed by adding together the individual video images. Rather, each image is distinctly visible within a separate physical region of the tiled image.</p>
<p id="p0025" num="0025">Nonetheless, the conferencing matrix 155 does provide a concise and uniform way of specifying how images and text messages are seen and shown in a generalized fashion by conference participants. For example, a unity value in the <i>ij<sup>th</sup></i> element of the conferencing matrix 155 denotes that the video signal transmitted by the <i>j<sup>th</sup></i> participant should appear within the tiled image seen by the <i>i<sup>th</sup></i> participant. This value set to zero either implies that the <i>j<sup>th</sup></i> participant does not want the <i>i<sup>th</sup></i> participant to see him, or that the <i>i<sup>th</sup></i> participant prefers not to see the <i>j<sup>th</sup></i> participant, or that there is a conferencing policy in effect.</p>
<p id="p0026" num="0026">Thus, in contrast to conventional video conferencing bridges, the conferencing matrix 155 offers each participant the opportunity to be seen by some participants within the conference and not seen by others. That is, unlike conventional video conferencing which offers the participant only the possibility to mute his video for all other viewers, the conferencing matrix 155 offers the possibility for a participant to mute his video for some users and not for others.</p>
<p id="p0027" num="0027">Similarly, the conferencing matrix 155 can represent a way of describing how text messages are exchanged between participants 30. A unity value of the <i>ij<sup>th</sup></i> element of the conferencing matrix 155 denotes that the <i>i<sup>th</sup></i> participant will receive instant messages sent by the <i>j<sup>th</sup></i> participant, whereas a value of zero indicates the contrary.</p>
<p id="p0028" num="0028">In general, the conferencing matrix 155 may include multiple conferencing matrices 155 for voice, video and instant messaging. For example, some participants 30 may be participating in a generalized text messaging session while simultaneously participating in a generalized voice<!-- EPO <DP n="12"> --> conference with other participants, while simultaneously participating in a generalized video conference with yet another set of other participants. In this case, the generalization of the generalized conferences may be represented as subscripted conferencing matrices 155 for voice, video and text, i.e., <i>C<sub>Voice</sub>, C<sub>Video</sub></i> and <i>C<sub>Text</sub>.</i> In another embodiment, participants in a generalized voice conference might be in the same generalized matrix 155 with other participants exchanging text and video. For example, members of a group that have eavesdropping capabilities might be able to see the text messages and video of one or more other groups as well as listen in.</p>
<p id="p0029" num="0029">Regardless of the type or number of conferencing matrices 155 within the conference server 100, each conferencing matrix 155 can be constructed and/or specified in a number of different ways. In one embodiment, a human operator manipulates a graphical user interface (GUI) containing a graphical rendition of the conferencing matrix 155 and clicks or checks boxes within the rows and columns of the graphical matrix. In this embodiment, the human operator is essentially filling in the elements of the conferencing matrix 155. Each participant 30 may be a dial-in caller, or alternately, may be dialed-out, for example by the operator or administrator managing the conference. The rows and columns might be labeled with names or reference numbers of the participants, or alternately, might be labeled with group names. The operator may also be able to renumber the participants, for example, by dragging columns or rows around, so that groups of 1's appear nearby each other in the conferencing matrix 155, or the conferencing matrix 155 may be able to perform this renumbering automatically. For example, the system may seek to automatically renumber the participants when a new participant joins or an existing participant leaves the conference.</p>
<p id="p0030" num="0030">In general, when a new participant joins the conference server 100 with <i>N</i> people already present, there are 2<i>N</i> + 1 additional 1's and 0's that must be specified. Of these, the first <i>N</i> values determine which of the <i>N</i> existing listeners hear the new speaker, the second <i>N</i> values determine which of the <i>N</i> existing speakers are heard by the new listener, and the additional diagonal element of the <i>(N</i> + 1)<i>x</i>(<i>N</i> + 1) conferencing matrix 155 an be set to either 1 or 0 in<!-- EPO <DP n="13"> --> order to reduce computation, as will be described in more detail below. If set to 1, the new listener signal must be post-processed to subtract off the new speaker.</p>
<p id="p0031" num="0031">In another embodiment, the new participant specifies the elements of the <i>N</i> + 1<i><sup>th</sup></i> column and the <i>N</i> + 1<i><sup>th</sup></i> row. However, it may be the case that just because the <i>N</i> + 1<i><sup>th</sup></i> participant seeks to hear or speak to other participants, they may not desire this to happen. For example, one or more other speakers may not wish to allow themselves to be heard by the new participant.</p>
<p id="p0032" num="0032">Therefore, in another embodiment, each of the existing participants, rather than the new participant, specifies the elements of the <i>N</i> + 1<i><sup>th</sup></i> column and the <i>N</i> + 1<i><sup>th</sup></i> row. However, it may the case that just because the <i>N</i> + 1<i><sup>th</sup></i> participants seek to hear or speak to the new participant, he/she may not desire this to happen. For example, the new participant may only wish to hear some of the existing participants proposing to be heard.</p>
<p id="p0033" num="0033">In yet another embodiment, the <i>N</i> + 1<i><sup>th</sup></i> column of <i>C</i> can be created as a combination of existing and new participant preferences. Specifically, this column can be formed as the dot product, or logical AND, of two column vectors <maths id="math0003" num=""><math display="inline"><mi>L</mi><mo>⁢</mo><mover><mi>e</mi><mo>→</mo></mover><mo>⋅</mo><mi>S</mi><mo>⁢</mo><mover><mi>n</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0003" file="imgb0003.tif" wi="15" he="7" img-content="math" img-format="tif" inline="yes"/></maths> representing the existing-listener intent vector and the new-speaker intent vector, respectively. The <i>i<sup>th</sup></i> element of <maths id="math0004" num=""><math display="inline"><mi>L</mi><mo>⁢</mo><mover><mi>e</mi><mo>→</mo></mover></math><img id="ib0004" file="imgb0004.tif" wi="6" he="7" img-content="math" img-format="tif" inline="yes"/></maths> is a 1 if the <i>i<sup>th</sup></i> existing listener intends to hear the new speaker, and the <i>i<sup>th</sup></i> element of <maths id="math0005" num=""><math display="inline"><mi>S</mi><mo>⁢</mo><mover><mi>n</mi><mo>→</mo></mover></math><img id="ib0005" file="imgb0005.tif" wi="7" he="8" img-content="math" img-format="tif" inline="yes"/></maths> is a 1 if the new speaker intends for the <i>i<sup>th</sup></i> existing listener to hear him. Therefore, the <i>i<sup>th</sup></i> element of the new column in <i>C</i> is only a 1 if the corresponding dot product is a 1; that is, if the <i>i<sup>th</sup></i> existing listener intends to hear the new speaker AND if the new speaker intends for the <i>i<sup>th</sup></i> existing listener to hear him.</p>
<p id="p0034" num="0034">Similarly, the <i>N</i> + 1<i><sup>th</sup></i> row of <i>C</i> can be created as the dot product of two row vectors <maths id="math0006" num=""><math display="inline"><mi>L</mi><mo>⁢</mo><msup><mover><mi>n</mi><mo>→</mo></mover><mi>T</mi></msup><mo>⋅</mo><mi>S</mi><mo>⁢</mo><msup><mover><mi>e</mi><mo>→</mo></mover><mi>T</mi></msup></math><img id="ib0006" file="imgb0006.tif" wi="18" he="8" img-content="math" img-format="tif" inline="yes"/></maths> representing new-listener intent vector and the existing-speaker intent vectors respectively. The <i>i<sup>th</sup></i> element of the row vector <maths id="math0007" num=""><math display="inline"><mi>L</mi><mo>⁢</mo><msup><mover><mi>n</mi><mo>→</mo></mover><mi>T</mi></msup></math><img id="ib0007" file="imgb0007.tif" wi="9" he="9" img-content="math" img-format="tif" inline="yes"/></maths> is a 1 if the new listener intends to hear the <i>i<sup>th</sup></i> existing speaker, and the <i>i<sup>th</sup></i> element of the row vector <maths id="math0008" num=""><math display="inline"><mi>S</mi><mo>⁢</mo><msup><mover><mi>e</mi><mo>→</mo></mover><mi>T</mi></msup></math><img id="ib0008" file="imgb0008.tif" wi="8" he="7" img-content="math" img-format="tif" inline="yes"/></maths> is a 1 if the <i>i<sup>th</sup></i> existing speaker intends for the new listener to hear him. Therefore, the <i>i<sup>th</sup></i> element of the new row in <i>C</i> is only a<!-- EPO <DP n="14"> --> 1 if the corresponding dot product is a 1; that is if the new listener intends to hear the <i>i<sup>th</sup></i> existing speaker, AND if the existing speaker intends to be heard by the <i>i<sup>th</sup></i> new listener.</p>
<p id="p0035" num="0035">Using this representation, the conferencing matrix 155 can be derived by forming two dot products of the four preference vectors <maths id="math0009" num=""><math display="inline"><mi>L</mi><mo>⁢</mo><mover><mi>e</mi><mo>→</mo></mover><mo>,</mo><mi>S</mi><mo>⁢</mo><mover><mi>n</mi><mo>→</mo></mover><mo>,</mo><mi>L</mi><mo>⁢</mo><msup><mover><mi>n</mi><mo>→</mo></mover><mi>T</mi></msup></math><img id="ib0009" file="imgb0009.tif" wi="22" he="7" img-content="math" img-format="tif" inline="yes"/></maths> and <maths id="math0010" num=""><math display="inline"><mi>S</mi><mo>⁢</mo><msup><mover><mi>e</mi><mo>→</mo></mover><mi>T</mi></msup><mn>.</mn></math><img id="ib0010" file="imgb0010.tif" wi="10" he="9" img-content="math" img-format="tif" inline="yes"/></maths> These preference vectors may be based on individual participants, or defined based on groups. For example, existing participants may belong to one or more groups, denoted, for example, as Groups 1-M, and the four preference vectors for each group are defined. Then, when a new participant joins and authenticates himself/herself as a member of the group, the four preference vectors are extracted from a table and used to derive the elements in the new column and new row of <i>C</i>.</p>
<p id="p0036" num="0036">In still another embodiment, policies might also be used to fill in the elements of the conferencing matrix 155. For example, one policy might be to allow a user who joins as a member of Group 3 to hear and speak with other Group 3 participants, as well as to only hear Group 1 participants. This policy might also override the preferences of the other participants. As another example, the policy might be used to honor the existing and new participant preferences, or in some cases, to override these preferences. In this embodiment, an override flag can be set for each value of the new column in <i>C</i>. For example, the <i>i<sup>th</sup></i> element of the new column might be formed as <maths id="math0011" num=""><math display="inline"><mover><mi>O</mi><mo>‾</mo></mover><mo>⁢</mo><msub><mi>c</mi><mi>i</mi></msub><mo>⋅</mo><mi>L</mi><mo>⁢</mo><msub><mi>e</mi><mi>i</mi></msub><mo>⋅</mo><mi>S</mi><mo>⁢</mo><msub><mi>n</mi><mi>i</mi></msub><mo>+</mo><mi>O</mi><mo>⁢</mo><msub><mi>c</mi><mi>i</mi></msub><mo>⋅</mo><mi>P</mi><mo>⁢</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo></math><img id="ib0011" file="imgb0011.tif" wi="45" he="11" img-content="math" img-format="tif" inline="yes"/></maths> where · denotes logical AND, + denotes logical OR, and - denotes logical NOT. If the override bit <i>Oc<sub>i</sub></i> was set to 0, the existing preferences would be honored, whereas if the override bit was set to 1, the policy bit <i>Pc<sub>i</sub></i> would be applied. In the latter case, setting the policy bit <i>Pc<sub>i</sub></i> to 1 would cause the <i>i<sup>th</sup></i> listener to hear the new speaker independent of the speaker or listener preferences. Similarly, the <i>i<sup>th</sup></i> element of the new row might be formed as <maths id="math0012" num=""><math display="inline"><mover><mi>O</mi><mo>‾</mo></mover><mo>⁢</mo><msub><mi>r</mi><mi>i</mi></msub><mo>⋅</mo><mi>L</mi><mo>⁢</mo><msub><mi>n</mi><mi>i</mi></msub><mo>⋅</mo><mi>S</mi><mo>⁢</mo><msub><mi>e</mi><mi>i</mi></msub><mo>+</mo><mi>O</mi><mo>⁢</mo><msub><mi>r</mi><mi>i</mi></msub><mo>⋅</mo><mi mathvariant="normal">P</mi><mo>⁢</mo><msub><mi mathvariant="normal">r</mi><mi>i</mi></msub><mn>.</mn></math><img id="ib0012" file="imgb0012.tif" wi="42" he="9" img-content="math" img-format="tif" inline="yes"/></maths> If the override bit <i>Or<sub>i</sub></i> was set to 0, the existing preferences would be honored whereas if the override bit was set to 1, the policy bit <i>Pr<sub>i</sub></i> would be applied. In the latter case, setting the policy bit <i>Pr<sub>i</sub></i> to 1 would case the new listener to hear the <i>i<sup>th</sup></i> participant independent of speaker or listener preferences.<!-- EPO <DP n="15"> --></p>
<p id="p0037" num="0037">In yet another embodiment, policy may be employed to honor the preferences of the new participant over that of the existing participants, or alternately, to honor the preference of the existing participant over that of the new participant. It should be understood that there are many similar possibilities and combinations, and only a few of these are specifically described herein.</p>
<p id="p0038" num="0038">A variety of mechanisms exist by which a new participant may authenticate himself/herself as belonging to a specific group. In one embodiment, the authentication occurs via entry of a multidigit dual tone multi-frequency (DTMF) access code when the new participant dials in. For example, the conference server 100 may be managed to have a scheduled recurring conference every Monday for the next six months starting at 9AM, lasting for 90 minutes, with five groups, each having a different specific 7-digit DTMF access code. If a caller dialed in during the scheduled time and entered the access code corresponding to one of the four groups, the conferencing matrix 155 would automatically be reconstructed according to four preference vectors for the user in the new group.</p>
<p id="p0039" num="0039">For example, Groups 1-4 might exist where participants hear and speak to only the other members in their group, whereas a member of Group 5 would not only speak to and listen to other Group 5 members, but also eavesdrop on Groups 1 and 3. In this example, a dial-in participant entering the access code corresponding to Group 5 would derive the special eavesdropping properties of Group 5, whereas a dial-in participant entering an access code corresponding to one of the other four groups would not have this property. Dial-in participants entering an invalid group code, or trying to join the generalized conference outside the scheduled time would be denied entry. Thus, in contrast to the traditional use of access codes to merely join a particular conference call, in accordance with embodiments of the present invention, the access code may be used to identify a dial-in caller as belonging to a specific group, and to thereby specify the elements of the conferencing matrix 155.</p>
<p id="p0040" num="0040">Group access codes may also be combined with leader and participant privileges. For example, each group may have separate leader and participant codes. Entry of a single access<!-- EPO <DP n="16"> --> code by the dial-in participant would designate both the group and the leader/participant status. In one embodiment, if a member of a group dialed out to another new participant, the new participant would belong to the same group. For example, a member of Group 3 could not dial out to a participant who would then belong to Group 5.</p>
<p id="p0041" num="0041">In another embodiment, a participant having special administrative properties, or who belongs to a group having special administrative properties, may be able to dial out and also designate the group code by DTMF entry. For example, an incident commander belonging to Group 5, may be able to dial out to a participant who is then joined to Group 1, or to Group 2.</p>
<p id="p0042" num="0042">A variation of the above access code techniques is to combine the policy bit with the group access properties. For example, if a specific policy bit was set to 1, this may allow a participant to modify his speaking and listening properties. As another example, policy may allow for a group moderator to be able to override properties for all members of his/her group. As a further example, an operator may have the ability to override the properties for one or more groups. It should be understood that there are many similar possibilities and combinations, and only a few of these are specifically described herein.</p>
<p id="p0043" num="0043">Referring again to <figref idref="f0001">FIGURE 1</figref>, in an exemplary operation of the conference server 100, a conference participant 30 or administrator/operator can initiate a conference call by providing an instruction to the conference server 100 that causes the conference server 100 to create a conference room 150 for the conference call and construct or reconstruct the conferencing matrix 155 based on the conference call. In one embodiment, the conference participant 30 or administrator/operator generates the instruction by operating a console that can invite multiple participants 30 to the conference. In this embodiment, the communications devices that the participants 30 are using may automatically answer, or alternately, one or more of the participants 30 may be required to accept the invite, for example, by depressing one or more dual tone multi-frequency (DTMF) keys on their communications device.<!-- EPO <DP n="17"> --></p>
<p id="p0044" num="0044">In another embodiment, a participant 30 or administrator/operator depresses a DTMF key or special sequence of keys on a communications device to generate an invitation to the conference server 100. In this embodiment, upon receipt of the invitation, the conference server 100 may automatically answer and then dial-out to invite a predetermined list of other participants 30 to the conference. In yet another embodiment, the conference participant 30 generates the instruction to the conference server 100 by dialing-in to the conference server 100, and either entering an access code and/or PIN or interacting with an IVR to individually invite each participant 30 or to invite a pre-designated list of participants 30 to a specific conference. In still another embodiment, the conference participant 30 or administrator/operator provides the instruction to the conference server 100 via a graphical user interface (GUI) that provides a conference application program interface (API) to the conference server 100. For example, the conference API can be accessed via a laptop computer, a personal computer, a cell phone, a personal digital assistant (PDA) or other similar data device.</p>
<p id="p0045" num="0045">As described above, once the conference server 100 receives the instruction to initiate a conference call, the conference server 100 creates a conference room 150 for the conference call and constructs or reconstructs the conferencing matrix 155 based on the conference call. The conference room 150 operates to establish and manage the conference call based on the conferencing matrix 155 and other conference policies maintained by the conference server 100. For example, the conference room 150 generates messages to invite conference participants to join the conference call, authenticates conference participants wanting to join the conference call (e.g., with a conference room identifier and/or a participant identifier), establishes a separate conference leg for each voice and data connection to the conference call, mixes incoming voice received from the conference participants and transmits the mixed voice back out to the conference participants via unicast data packets, provides various data conferencing services to the conference participants during the conference call, such as instant messaging, presentation sharing, desktop sharing and video, and implements various policies for managing the<!-- EPO <DP n="18"> --> conference legs of the conference call (e.g., muting or un-muting one or more participants, adding and/or dropping one or more participants). The conference room 150 is further operable to release one or more participants from the conference call either upon request from the participant (e.g., hang-up or via GUI) or based upon a policy associated with the conference call (e.g., based on a pre-determined time of release, occurrence of an event or action of another participant).</p>
<p id="p0046" num="0046">In an exemplary operation of the conference room 150, if during the conference call, the conference room 150 simultaneously receives voice from multiple participants 30, the conference room 150 mixes the voice and transmits the mixed voice back out to the participants 30 involved in the conference call. For example, if Conference Room A 150a receives incoming voice from Participant A and Participant B, based on the conferencing matrix 155, Conference Room A 150a mixes the voice and transmits the mixed voice back out to Participants A, B and C. To avoid echoes, Conference Room A 150a transmits the voice from Participant A to only Participants B and C, transits the voice from Participant B to Participants A and C, and transmits the voice from Participant C to Participants A and C.</p>
<p id="p0047" num="0047">In one embodiment, the conference server 100 creates and manages the conference rooms 150 in specialized conferencing hardware or circuitry. In another embodiment, the conference server 100 creates and manages and conference rooms 150 using a combination of specialized conferencing hardware or circuitry, software and/or firmware. In yet another embodiment, the conference server 100 executes software routines on a standard, general-purpose personal computer (PC) to create and manage the conference rooms 150. In this embodiment, the conference server 100 is designed to enable additional separate general-purpose PCs to be stacked together for increased system scalability and redundancy. As such, no special hardware or circuitry, such as DSP chips and boards and high speed audio busses, is required, thereby minimizing manufacturing costs of the conference server 100.<!-- EPO <DP n="19"> --></p>
<p id="p0048" num="0048">Referring now to <figref idref="f0002">FIGURE 2</figref>, a more detailed operation of the conference server 100 will now be described. The conference server 100 includes processing circuitry 110, a memory 120 and various interfaces 180, 185 and 190. For example, to check the status of the conference server (e.g., troubleshoot problems, receive status reports, etc.), the interfaces can include an input interface 185 coupled to receive operator input from an input device, such as a keyboard, mouse, IP network or other similar input device and an output interface 180 coupled to provide status information to an output device, such as a display, speakers, printer, IP network or other output device. In addition, the interfaces can include a network interface 190 communicatively coupled to transmit and receive voice and/or data to and from various communications devices.</p>
<p id="p0049" num="0049">The memory 120 includes an operating system 130 and a conferencing software module 140. The processing circuitry 100 includes one or more processors that are capable of executing the operating system 130 and the conferencing software module 140. As used herein, the term "processor" is generally understood to be a device that drives a general-purpose computer, such as a PC. It is noted, however, that other processing devices, such as microcontrollers, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), or a combination thereof, can be used as well to achieve the benefits and advantages described herein. The memory 120 includes any type of data storage device, including but not limited to, a hard drive, random access memory (RAM), read only memory (ROM), flash memory, compact disc, floppy disc, ZIP® drive, tape drive, database or other type of storage device or storage medium.</p>
<p id="p0050" num="0050">In a general operation of the conference server 100, the processing circuitry 110 accesses and runs the conferencing software module 140 to initiate and control a conference call between multiple participants. During execution of the conferencing software module 140, the processing circuitry 110 is operable to create a conference room 150 in the memory device 120 for the conference call and to connect the conference participants together in a conference call (i.e., establish the conference legs for the conference call) via the conference room 150. Once the conference room 150 is established, in an exemplary embodiment, the conference room 150<!-- EPO <DP n="20"> --> communicates with one or more external interfaces (e.g., network interface 190) to receive incoming media 170 (e.g., voice and/or data) from the conference participants, process the received media 170 using the processing circuitry 110 and transmit the processed media 170 (e.g., mixed voice and/or data) back out to the conference participants during the conference call.</p>
<p id="p0051" num="0051">In addition, the conference room 150 and/or processing circuitry 110 can construct, specify and manage the conferencing matrix 155 and access one or more predefined conference policies 160 to control and/or manage the conference call and conferencing matrix 155. Once accessed, the processing circuitry 110 performs routines dictated by the conferencing matrix 155 and/or policies 160. For example, in an exemplary embodiment, a policy 160 may identify one or more conference participants to be included in a conference call. In another exemplary embodiment, a policy 160 may control muting or un-muting of one or more participants during the conference call, and therefore, provide instructions for specifying elements of the conferencing matrix 155. In a further exemplary embodiment, a policy 160 may instruct the conference server 100 to create a conference room 150 for a conference call based on the time of day and/or day of week. Other examples of policies 160 include setting and/or changing the conferencing matrix 155 based on the current speaking conference participants, simulated physical distance between speaking and listening conference participants, number of speaking and/or listening conference participants and preferences of speaking and/or listening conference participants.</p>
<p id="p0052" num="0052">For example, in an exemplary embodiment, the conferencing matrix 155 may be static or be made time-dependent based on certain policies 160. Using the matrix-vector notation from before, a time-dependent conferencing matrix 155 may be represented as: <maths id="math0013" num="(Equation 3)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mfenced><mi>n</mi></mfenced><mo>=</mo><mi>C</mi><mfenced><mi>n</mi></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mfenced><mi>n</mi></mfenced></math><img id="ib0013" file="imgb0013.tif" wi="109" he="11" img-content="math" img-format="tif"/></maths> However, <i>C(n)</i> does not necessarily vary at the same rate required to adequately sample and represent the listener and speaker signals. For example, the coefficients of C may be a function<!-- EPO <DP n="21"> --> of time-dependent policies 160, such as the time of day, who is speaking, or the dynamic conferencing policies of the service provider or enterprise. Or, the coefficients of C may depend on other more complex time-dependent policies 160, such as the virtual distance between speakers and listeners, the number of currently active speakers, the number of currently active conferences, speaker preferences, listener preferences, conference server policies, and many other factors.</p>
<p id="p0053" num="0053">In general, the values of C are real-valued positive numbers, and the conferencing matrix representation <maths id="math0014" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0014" file="imgb0014.tif" wi="13" he="8" img-content="math" img-format="tif" inline="yes"/></maths> allows speakers to be weighted by different levels of gain for each listener. For example, in another exemplary embodiment, the conferencing matrix 155 may be an active-speaker dependent conferencing matrix 155 that allows one speaker to be heard preferentially over other speakers. For example, in a usage case involving three participants, with participant 3 listening but not speaking to participants 1 and 2, but preferring to hear participant 1, the processing circuitry 110 may select one of two possible conferencing matrices: <maths id="math0015" num="(Equation 4)"><math display="block"><mi>C</mi><mfenced><mn>1</mn></mfenced><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0015" file="imgb0015.tif" wi="105" he="23" img-content="math" img-format="tif"/></maths><br/>
or <maths id="math0016" num="(Equation 5)"><math display="block"><mi>C</mi><mfenced><mn>2</mn></mfenced><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>.25</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0016" file="imgb0016.tif" wi="106" he="27" img-content="math" img-format="tif"/></maths> <i>C(1)</i> would be selected at times whenever only participant 1 or participant 2 is actively speaking, and <i>C(2)</i> would be selected at all times when both speakers are active. In this case, at all times when there are two active speakers, the time-dependent conferencing matrix 155 allows participant 3 to preferentially hear participant 1 over participant 2.</p>
<p id="p0054" num="0054">In another usage case involving two students (participants 1 and 2) and a teacher (participant 3) together in a conference, if there was only a single active speaker, or two students<!-- EPO <DP n="22"> --> talking while the teacher is silent, the processing circuitry 110 would select for the conferencing matrix: <maths id="math0017" num="(Equation 6)"><math display="block"><mi>C</mi><mfenced><mn>1</mn></mfenced><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0017" file="imgb0017.tif" wi="106" he="25" img-content="math" img-format="tif"/></maths> whereas if one or both students and the teacher were talking at the same time, the processing circuitry 110 would select for the conferencing matrix: <maths id="math0018" num="(Equation 7)"><math display="block"><mi>C</mi><mfenced><mn>1</mn></mfenced><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>g</mi></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mi>g</mi></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0018" file="imgb0018.tif" wi="105" he="24" img-content="math" img-format="tif"/></maths> and g is some gain value where 0 &lt; <i>g</i> &lt; 1, so that the teacher is preferentially heard by the students.</p>
<p id="p0055" num="0055">Yet another usage case might involve several incident managers in an emergency response scenario talking at the same time. In this case, the processing circuitry 110 might weigh more heavily the more experienced managers' voices over the other managers' voices.</p>
<p id="p0056" num="0056">In one embodiment, the coefficients might change only if there are more than two active speakers. In another embodiment, the processing circuitry 110 might give preference to one speaker, and at other times, give preference to another speaker based on policies 160. In yet another embodiment, the processing circuitry 110 might give preference to speakers dependent upon how much they have been speaking recently, or not speaking recently.</p>
<p id="p0057" num="0057">In any case, to determine the active speakers for a time-dependent conferencing matrix 155, the processing circuitry 110 would use an algorithm that is more robust than simply selecting the highest amplitude signal levels. Otherwise, the conferencing matrix 155 might incorrectly weigh background noise, rather than the speech from preferred speakers. For example, an exemplary algorithm for determining the active speakers to a conference call selects the highest amplitude signal as a possible candidate, and then discards it if it does not have the characteristics of human speech, such as typical pitch period, frequency contrast and structure.<!-- EPO <DP n="23"> --></p>
<p id="p0058" num="0058">Since in many cases, not all speakers are actually speaking, the linear combination of N speaker signals in matrix-vector notation can be written as: <maths id="math0019" num="(Equation 8)"><math display="block"><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mstyle displaystyle="false"><mstyle displaystyle="true"><munder><mo>∑</mo><mrow><mi mathvariant="italic">j_for_active_spea</mi><mspace width="1em"/><mi>ker</mi><mspace width="1em"/><mi>s</mi></mrow></munder></mstyle><msub><mi>C</mi><mi mathvariant="italic">ij</mi></msub><mo>⁢</mo><msub><mi>s</mi><mi>j</mi></msub></mstyle></math><img id="ib0019" file="imgb0019.tif" wi="122" he="16" img-content="math" img-format="tif"/></maths> Therefore, one algorithm for implementing the conferencing matrix 155 is to first determine the values of <i>s<sub>j</sub></i> that are non-zero, then multiply these values by the corresponding weights <i>C<sub>ij</sub></i>, and then sum together the results. Using this algorithm, only the weighted values of <i>s<sub>j</sub></i> for active speakers are included within the <i>N</i> linear combinations computed by the processing circuitry 110.</p>
<p id="p0059" num="0059">In generalized conferencing, the specific linear combination of speaker signals is generally different for each listener, i.e., each row of <i>C</i> may differ from all other rows. However, in many cases some rows of C are either identical, or can be represented as linear combinations of other rows. Thus, the corresponding computation required by the processing circuitry 110 to perform the linear combination of speaker signals may be reduced. For example, consider the case where: <maths id="math0020" num="(Equation 9)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0020" file="imgb0020.tif" wi="119" he="42" img-content="math" img-format="tif"/></maths> Here, although each listener can be determined by a linear combination of speaker signals, it can be seen that <i>l<sub>1</sub></i>, <i>l<sub>2</sub></i> and <i>l<sub>3</sub></i> are determined by the exactly same combination of speaker signals, and that <i>l<sub>4</sub></i>, <i>l<sub>5</sub></i> and <i>l<sub>6</sub></i> are determined by exactly the same combination of speaker signals that is distinct from the first. Therefore, <maths id="math0021" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover></math><img id="ib0021" file="imgb0021.tif" wi="4" he="8" img-content="math" img-format="tif" inline="yes"/></maths> can be written in an outer-product form as:<!-- EPO <DP n="24"> --> <maths id="math0022" num="(Equation 10)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>+</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0022" file="imgb0022.tif" wi="150" he="42" img-content="math" img-format="tif"/></maths> i.e., C can be written as the sum of two matrices, so that: <maths id="math0023" num="(Equation 11)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><mfenced separators=""><msub><mi>C</mi><mn>1</mn></msub><mo>+</mo><msub><mi>C</mi><mn>2</mn></msub></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><mfenced separators=""><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>+</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn></msub><mo>⁢</mo><msubsup><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0023" file="imgb0023.tif" wi="137" he="12" img-content="math" img-format="tif"/></maths> In this case, only two separate linear combinations of the speaker inputs, <maths id="math0024" num=""><math display="inline"><msubsup><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0024" file="imgb0024.tif" wi="9" he="8" img-content="math" img-format="tif" inline="yes"/></maths> and <maths id="math0025" num=""><math display="inline"><msubsup><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0025" file="imgb0025.tif" wi="9" he="8" img-content="math" img-format="tif" inline="yes"/></maths> must be computed, and not <i>N</i> separate linear combinations, as might be implied by the <i>NxN</i> conferencing matrix. These linear combinations might also be performed for only the active speakers so that: <maths id="math0026" num="(Equation 12)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mfenced><mstyle displaystyle="false"><mstyle displaystyle="true"><munder><mo>∑</mo><mrow><mi mathvariant="italic">j_for_active_spea</mi><mspace width="1em"/><mi>ker</mi><mspace width="1em"/><mi>s</mi></mrow></munder></mstyle><msub><mi>u</mi><mrow><mn>1</mn><mo>⁢</mo><mi>j</mi></mrow></msub><msub><mi>s</mi><mi>j</mi></msub></mstyle></mfenced><mo>+</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn></msub><mfenced><mstyle displaystyle="false"><mstyle displaystyle="true"><munder><mo>∑</mo><mrow><mi mathvariant="italic">j_for_active_spea</mi><mspace width="1em"/><mi>ker</mi><mspace width="1em"/><mi>s</mi></mrow></munder></mstyle><msub><mi>u</mi><mrow><mn>2</mn><mo>⁢</mo><mi>j</mi></mrow></msub><msub><mi>s</mi><mi>j</mi></msub></mstyle></mfenced></math><img id="ib0026" file="imgb0026.tif" wi="133" he="17" img-content="math" img-format="tif"/></maths></p>
<p id="p0060" num="0060">In another exemplary embodiment, a simplification of the required number of linear combinations occurs whenever the matrix <i>C</i> is rank deficient. That is, whenever the matrix <i>C</i> is not full rank, some of its rows can be written as linear combinations of other rows. In the example matrix of Equation 9, rows 2 and 3 are a linear combination of row 1. Similarly, rows 5 and 6 are a linear combination of row 4. For the arbitrary conferencing matrix 155, <i>C</i> can always be written in the Singular Value Decomposition (SVD) form as: <maths id="math0027" num="(Equation 13)"><math display="block"><mi>C</mi><mo>=</mo><mi>U</mi><mo>⁢</mo><mi mathvariant="normal">Λ</mi><mo>⁢</mo><msup><mi>V</mi><mi>T</mi></msup></math><img id="ib0027" file="imgb0027.tif" wi="108" he="9" img-content="math" img-format="tif"/></maths> where the columns of the <i>NxN</i> matrix <i>U</i> span the range space of <i>C,</i> the columns of the <i>NxN</i> matrix <i>V</i> span the range space of <i>C<sup>T</sup></i>, and the values of the diagonal matrix A are the singular values. The number of non-zero singular values in A is the rank <i>of C.</i></p>
<p id="p0061" num="0061">In the SVD representation of <i>C,</i> the columns of <i>U</i> are the eigenvectors of <i>CC<sup>T</sup>,</i> the columns of <i>V</i> are the eigenvectors of <i>C<sup>T</sup>C,</i> and the singular values are the positive square roots of the eigenvalues of <i>CC<sup>T</sup></i> or of <i>C<sup>T</sup>C.</i> The rows of the matrix <i>C</i> (and the columns of the matrix <i>C</i>) are linear combinations of each other if and only if <i>C</i> is not full rank, i.e., if and only if there<!-- EPO <DP n="25"> --> exist some values of A that are zero. In this case, <i>C</i> can be written in a vector form that includes only those eigenvectors corresponding to principal non-zero singular values: <maths id="math0028" num="(Equation 14)"><math display="block"><mi>C</mi><mo>=</mo><mstyle displaystyle="false"><mstyle displaystyle="true"><munder><mo>∑</mo><mrow><msub><mi mathvariant="normal">λ</mi><mi>i</mi></msub><mo>≠</mo><mn>0</mn></mrow></munder></mstyle><msub><mover><mi>u</mi><mo>→</mo></mover><mi>i</mi></msub><mo>⁢</mo><msub><mi mathvariant="normal">λ</mi><mi>i</mi></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mi>i</mi><mi>T</mi></msubsup></mstyle></math><img id="ib0028" file="imgb0028.tif" wi="112" he="13" img-content="math" img-format="tif"/></maths> Thus, if there are <i>R</i> non-zero values in A, only <i>R</i> distinct linear combinations of speaker signals must be computed.</p>
<p id="p0062" num="0062">As an example, consider a generalized conferencing scenario involving <i>N</i> participants with a conferencing matrix <i>C</i> that is <i>NxN,</i> but that is only rank 2. Then, <maths id="math0029" num="(Equation 15)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mfenced separators=""><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msub><mi mathvariant="normal">λ</mi><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>+</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn></msub><mo>⁢</mo><msub><mi mathvariant="normal">λ</mi><mn>2</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0029" file="imgb0029.tif" wi="126" he="12" img-content="math" img-format="tif"/></maths> so that: <maths id="math0030" num="(Equation 16)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msub><mi>l</mi><mrow><mi>c</mi><mo>⁢</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn></msub><mo>⁢</mo><msub><mi>l</mi><mrow><mi>c</mi><mo>⁢</mo><mn>2</mn></mrow></msub></math><img id="ib0030" file="imgb0030.tif" wi="113" he="13" img-content="math" img-format="tif"/></maths> It can be seen that the listener vector is comprised of the weighted sum of two listener vectors <maths id="math0031" num=""><math display="inline"><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub></math><img id="ib0031" file="imgb0031.tif" wi="7" he="7" img-content="math" img-format="tif" inline="yes"/></maths> and <maths id="math0032" num=""><math display="inline"><msub><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn></msub><mo>,</mo></math><img id="ib0032" file="imgb0032.tif" wi="8" he="8" img-content="math" img-format="tif" inline="yes"/></maths> which are the first two columns of <i>U</i> in the SVD. The weights in this linear combination <i>l<sub>c1</sub></i> and <i>l<sub>c2</sub></i> are themselves derived from linear combinations of speaker signals, i.e.: <maths id="math0033" num="(Equation 17)"><math display="block"><msub><mi>l</mi><mrow><mi>c</mi><mo>⁢</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi mathvariant="normal">λ</mi><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0033" file="imgb0033.tif" wi="109" he="10" img-content="math" img-format="tif"/></maths> and <maths id="math0034" num="(Equation 18)"><math display="block"><msub><mi>l</mi><mrow><mi>c</mi><mo>⁢</mo><mn>2</mn></mrow></msub><mo>=</mo><msub><mi mathvariant="normal">λ</mi><mn>2</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mn>.</mn></math><img id="ib0034" file="imgb0034.tif" wi="109" he="11" img-content="math" img-format="tif"/></maths> where <maths id="math0035" num=""><math display="inline"><msub><mi mathvariant="italic">λ</mi><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup></math><img id="ib0035" file="imgb0035.tif" wi="10" he="8" img-content="math" img-format="tif" inline="yes"/></maths> and <maths id="math0036" num=""><math display="inline"><msub><mi mathvariant="italic">λ</mi><mn>2</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup></math><img id="ib0036" file="imgb0036.tif" wi="10" he="8" img-content="math" img-format="tif" inline="yes"/></maths> are obtained from the singular values and the first two columns of <i>V</i> in the SVD.</p>
<p id="p0063" num="0063">In this embodiment, the SVD of the conferencing matrix 155 is used to reduce the computation performed by the processing circuitry 110. Thus, instead of computing <i>N</i> linear combinations of the speaker inputs, only R linear combinations are required, where R is the rank of <i>C</i>. The linear combinations are formed using the columns of <i>V</i> from the SVD multiplied by the speaker vector. Each of these linear combinations, multiplied by its singular value, scales the<!-- EPO <DP n="26"> --> associated column of <i>U</i>, and the vector results are then added together to form the total listener signal.</p>
<p id="p0064" num="0064">Although calculation of the SVD can be computationally expensive, in exemplary embodiments, the SVD can be pre-computed by the processing circuitry for each conferencing matrix 155. For embodiments involving a dynamic conferencing matrix (e.g., a time-dependent matrix), multiple sets of SVDs can be pre-computed and then selected dynamically. For example, in a gaming environment, where the listener is wandering around a house in a virtual environment, there may be one SVD selected when the listener enters the living room and another SVD selected when the listener enters the kitchen.</p>
<p id="p0065" num="0065">Unlike the calculation of the listener vector, which must be computed in real-time at every sampling instance, the SVD need only be computed once every time there is a change in the conferencing matrix 155. For example, when a new participant joins the conference, the SVD may be computed during the short time interval that the participant is waiting to join the conference.</p>
<p id="p0066" num="0066">In another exemplary embodiment, in many cases, the participants in a generalized conference can be renumbered, and <i>C</i> can subsequently be expressed in the form: <maths id="math0037" num="(Equation 19)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><msub><mi>C</mi><mn>1</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>..</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>C</mi><mn>2</mn></msub></mtd><mtd><mn>..</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>..</mn></mtd><mtd><msub><mi>C</mi><mi>M</mi></msub></mtd></mtr></mtable></mfenced></math><img id="ib0037" file="imgb0037.tif" wi="121" he="25" img-content="math" img-format="tif"/></maths> where M is less than N. This form of <i>C</i> will be referred to herein as a partitioned conferencing matrix.</p>
<p id="p0067" num="0067">For example, if there are 100 participants, it may be the case that one set of 40 participants are involved in a conference call, that is completely distinct from another conference call involving a second set of 35 participants, that is completely distinct from yet another conference call involving a third set of 25 participants. In this case, <i>C<sub>1</sub></i> is of size 40x40, <i>C<sub>2</sub></i> is of size 35x35 and <i>C<sub>3</sub></i> is of size 25x25. Thus, instead of performing an SVD of the total 100x100<!-- EPO <DP n="27"> --> conferencing matrix <i>C</i> and calculating linear combinations involving 100x1 vectors, the computation may instead be partitioned into three separate SVDs of <i>C<sub>1</sub></i>, <i>C<sub>2</sub></i> and <i>C<sub>3</sub></i> of size 40x40, 35x35 and 25x25, and three separate linear combinations involving vectors of size 40x1, 35x1 and 25x1, respectively. In effect, since participants in each set cannot hear or speak with participants in another set, the total conferencing matrix 155 can be partitioned into entirely separate constituent conferencing matrices. It should be noted that, for example, if a 41<sup>st</sup> participant joined the first set, and again had no coupling with participants in the other sets, <i>C<sub>1</sub></i> would become a matrix of size 41x41, and only its SVD would need to be recalculated since there would be no change to <i>C<sub>2</sub></i> or <i>C<sub>3</sub></i>.</p>
<p id="p0068" num="0068">In an exemplary implementation, the processing circuitry 110 implements an algorithm that seeks to renumber the participants so that the conferencing matrix <i>C</i> takes on the partitioned form shown in Equation 19. In this way, the processing circuitry 110 partitions its computation into separate and distinct conference calls.</p>
<p id="p0069" num="0069">In the previous discussion, it was assumed that the values of <i>C</i> are real-valued, and therefore, preferential treatment, or weighting, can be given to different speakers and listeners through suitable choice of the coefficients <i>C<sub>ij</sub></i>. However, in many cases, arbitrary real-valued coefficients in <i>C</i> are not required, and simpler values of 1 and 0 can be used instead. For example, a value of <i>C<sub>ij</sub></i> = 1 means that the <i>j<sup>th</sup></i> speaker will contribute to the audio heard by the <i>i<sup>th</sup></i> listener (at time <i>n</i>), whereas a value of <i>C<sub>ij</sub></i> = 0 means that the <i>j<sup>th</sup></i> speaker will not contribute to the audio heard by the <i>i<sup>th</sup></i> listener (at time <i>n</i>). This special class of conferencing matrices having only 1's and 0's is referred to herein as a binary conferencing matrix.</p>
<p id="p0070" num="0070">Binary conferencing matrices can also be time-dependent, so that the presence of 1's and 0's within <i>C</i> can depend on many time-dependent factors (i.e., policies 160), such as speaker preference, listener preference, conference server policies, time of day, day of week, who is actively speaking, etc. However, to simplify notation, the time dependence will be represented implicitly. In addition, binary conferencing matrices can potentially be partitioned, so that a<!-- EPO <DP n="28"> --> single large binary conferencing matrix can be expressed as one or more constituent binary conferencing matrices, as shown in Equation 19, with <i>C<sub>1</sub></i>, <i>C<sub>2</sub></i> ... <i>C<sub>M</sub></i> having binary values.</p>
<p id="p0071" num="0071">In one embodiment, generalized conferencing using binary conferencing matrices can be implemented by calculating, for each listener <i>i</i>, the sum of all speakers having non-zero values in <maths id="math0038" num=""><math display="inline"><msubsup><mover><mi>c</mi><mo>→</mo></mover><mi>i</mi><mi>T</mi></msubsup><mo>,</mo></math><img id="ib0038" file="imgb0038.tif" wi="7" he="9" img-content="math" img-format="tif" inline="yes"/></maths> i.e.: <maths id="math0039" num="(Equation 20)"><math display="block"><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mstyle displaystyle="false"><mstyle displaystyle="true"><munder><mo>∑</mo><mrow><msub><mi>C</mi><mi mathvariant="italic">ij</mi></msub><mo>≠</mo><mn>0</mn></mrow></munder></mstyle><msub><mi>s</mi><mi>j</mi></msub></mstyle></math><img id="ib0039" file="imgb0039.tif" wi="108" he="15" img-content="math" img-format="tif"/></maths> That is, since the conferencing matrix 155 is binary, instead of forming a weighted sum of speakers, only the summation operation needs to be performed.</p>
<p id="p0072" num="0072">In another embodiment, since most of the speakers are typically not active, the conferencing computation can be further reduced as: <maths id="math0040" num="(Equation 21)"><math display="block"><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mstyle displaystyle="false"><mstyle displaystyle="true"><munder><mo>∑</mo><mrow><msub><mi>C</mi><mi mathvariant="italic">ij</mi></msub><mo>≠</mo><mn>0</mn></mrow></munder></mstyle><msub><mi mathvariant="italic">active_s</mi><mi>j</mi></msub></mstyle></math><img id="ib0040" file="imgb0040.tif" wi="110" he="16" img-content="math" img-format="tif"/></maths><br/>
by including only those active speakers within the summation operation.</p>
<p id="p0073" num="0073">The binary conferencing matrix can also be written in SVD form as: <maths id="math0041" num="(Equation 22)"><math display="block"><mi>C</mi><mo>=</mo><mi>U</mi><mo>⁢</mo><mi mathvariant="normal">Λ</mi><mo>⁢</mo><msup><mi>V</mi><mi>T</mi></msup></math><img id="ib0041" file="imgb0041.tif" wi="108" he="11" img-content="math" img-format="tif"/></maths><br/>
where the number of non-zero values in A corresponds to the rank of <i>C</i>. For example, consider the following conferencing matrix <i>C</i>: <maths id="math0042" num="(Equation 23)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0042" file="imgb0042.tif" wi="118" he="43" img-content="math" img-format="tif"/></maths><br/>
Here, <i>C</i> is a rank 2 matrix where: <maths id="math0043" num="(Equation 24)"><math display="block"><msubsup><mi mathvariant="italic">λ</mi><mn>1</mn><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msubsup><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mspace width="1em"/><mi>and</mi><mspace width="1em"/><msubsup><mi mathvariant="italic">λ</mi><mn>2</mn><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msubsup><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0043" file="imgb0043.tif" wi="146" he="12" img-content="math" img-format="tif"/></maths> and<!-- EPO <DP n="29"> --> <maths id="math0044" num="(Equation 25)"><math display="block"><msubsup><mi mathvariant="italic">λ</mi><mn>1</mn><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msubsup><mo>⁢</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mspace width="1em"/><mi>and</mi><mspace width="1em"/><msubsup><mi mathvariant="italic">λ</mi><mn>2</mn><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msubsup><mo>⁢</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>2</mn></msub><mo>=</mo><msup><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mi>T</mi></msup></math><img id="ib0044" file="imgb0044.tif" wi="148" he="12" img-content="math" img-format="tif"/></maths> so that: <maths id="math0045" num="(Equation 26)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><msub><mi mathvariant="italic">λ</mi><mn>1</mn></msub><mo>⁢</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>+</mo><msub><mi mathvariant="italic">λ</mi><mn>2</mn></msub><mo>⁢</mo><msub><mover><mi>u</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>v</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0045" file="imgb0045.tif" wi="113" he="11" img-content="math" img-format="tif"/></maths> The operation in Equation 26 is to form sums of the input speakers and to copy over a sum to each listener. The sum of the first three speakers is computed and copied over to each of the first three listeners, and the sum of the last three speakers is computed and copied over to the last three listeners. That is, <maths id="math0046" num="(Equation 27)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>+</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0046" file="imgb0046.tif" wi="136" he="43" img-content="math" img-format="tif"/></maths> As another example, assume <i>C</i> is: <maths id="math0047" num="(Equation 28)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0047" file="imgb0047.tif" wi="123" he="42" img-content="math" img-format="tif"/></maths> which is similar to the first example in Equation 23, except for the presence of an additional 1 in <i>C<sub>61</sub></i> that also increases the rank of C from 2 to 3. In this case, the SVD representation is given by: <maths id="math0048" num="(Equation 29)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0.39</mn></mtd><mtd><mo>-</mo><mn>0.41</mn></mtd><mtd><mo>-</mo><mn>0.9</mn></mtd></mtr><mtr><mtd><mn>0.39</mn></mtd><mtd><mo>-</mo><mn>0.41</mn></mtd><mtd><mo>-</mo><mn>0.9</mn></mtd></mtr><mtr><mtd><mn>0.39</mn></mtd><mtd><mo>-</mo><mn>0.41</mn></mtd><mtd><mo>-</mo><mn>0.9</mn></mtd></mtr><mtr><mtd><mn>0.36</mn></mtd><mtd><mn>0.43</mn></mtd><mtd><mo>-</mo><mn>0.42</mn></mtd></mtr><mtr><mtd><mn>0.36</mn></mtd><mtd><mn>0.43</mn></mtd><mtd><mo>-</mo><mn>0.42</mn></mtd></mtr><mtr><mtd><mn>0.52</mn></mtd><mtd><mn>0.32</mn></mtd><mtd><mn>0.78</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>3.2</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>2.87</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0.65</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>0.53</mn></mtd><mtd><mn>0.36</mn></mtd><mtd><mn>0.36</mn></mtd><mtd><mn>0.36</mn></mtd><mtd><mn>0.39</mn></mtd><mtd><mn>0.39</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>0.32</mn></mtd><mtd><mo>-</mo><mn>0.43</mn></mtd><mtd><mo>-</mo><mn>0.43</mn></mtd><mtd><mn>0.41</mn></mtd><mtd><mn>0.41</mn></mtd><mtd><mn>0.41</mn></mtd></mtr><mtr><mtd><mn>0.78</mn></mtd><mtd><mo>-</mo><mn>0.42</mn></mtd><mtd><mo>-</mo><mn>0.42</mn></mtd><mtd><mo>-</mo><mn>0.09</mn></mtd><mtd><mo>-</mo><mn>0.09</mn></mtd><mtd><mo>-</mo><mn>0.09</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0048" file="imgb0048.tif" wi="165" he="47" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="30"> --> Comparing this to Equation 27, it can be seen that the SVD for the second example has yielded a much more complicated expression for <maths id="math0049" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mn>.</mn></math><img id="ib0049" file="imgb0049.tif" wi="5" he="8" img-content="math" img-format="tif" inline="yes"/></maths> Specifically, the linear combination of the speaker values are no longer simple summations, and there is no copy over operation. Thus, the SVD has produced a rank 3 representation that no longer contains 1's and 0's. This example demonstrates that the SVD of a binary conferencing matrix is not necessarily binary itself. Therefore, the computational simplicity of using only summations and copy over operations cannot be achieved for all binary conferencing matrices through the use of the SVD.</p>
<p id="p0074" num="0074">As can be seen, the essential difference between the binary conferencing matrix in Example 1 and the binary conferencing matrix in Example 2 is the non-orthogonality of the columns (or rows). For Example 1, in Equation 23, the columns are either identical, thereby not contributing to an increase in rank, or orthogonal to each other, so that the SVD representation contains only 1's and 0's, whereas for Example 2 in Equation 28, the columns are not orthogonal. Since the SVD must yield an orthogonal basis set, the SVD produces many real-valued values in order to accomplish this. In other words, although the SVD has reduced the number of linear combinations required, these linear combinations now require general real-valued multiplication operations instead of simply summations, thereby increasing the computational demands on the processing circuitry 110.</p>
<p id="p0075" num="0075">Nonetheless, the presence of 1's and 0's in the binary conferencing matrix suggests that there may be another type of representation, such as a subspace binary conferencing matrix, that exploits the low rank of C in order to reduce computation, so that all linear combinations of speaker values are achieved using purely summation operations. It can be seen in the following discussion that although such representations use simple summation of speaker signals, the copy-over operation should be generalized to an accumulation operation, involving simple additions and subtractions, to derive the listener signals.</p>
<p id="p0076" num="0076">To derive the subspace binary conferencing matrix representation, the matrix C is expressed as the product of two matrices:<!-- EPO <DP n="31"> --> <maths id="math0050" num="(Equation 30)"><math display="block"><mi>C</mi><mo>=</mo><mi>D</mi><mo>⁢</mo><msup><mi>P</mi><mi>T</mi></msup></math><img id="ib0050" file="imgb0050.tif" wi="111" he="10" img-content="math" img-format="tif"/></maths> where <i>P<sup>T</sup></i> is of size <i>RxN, R</i> is the rank of C and <i>P<sup>T</sup></i> contains only 1's and 0's. When applied to an <i>Nx1</i> speaker vector, the <i>RxN</i> matrix <i>P<sup>T</sup></i> produces a vector that resides in an <i>R</i>-dimensional subspace, instead of in the full <i>N</i>-dimensional space. Since <i>P<sup>T</sup></i> contains only 1's and 0's, this subspace processing operation is achieved using only summations of the speaker signals. In other words, with subspace binary conferencing matrix processing: <maths id="math0051" num="(Equation 31)"><math display="block"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub><mo>=</mo><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0051" file="imgb0051.tif" wi="109" he="13" img-content="math" img-format="tif"/></maths> and <maths id="math0052" num="(Equation 32)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>D</mi><mo>⁢</mo><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub></math><img id="ib0052" file="imgb0052.tif" wi="107" he="13" img-content="math" img-format="tif"/></maths> where the subspace vector <maths id="math0053" num=""><math display="inline"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub></math><img id="ib0053" file="imgb0053.tif" wi="5" he="9" img-content="math" img-format="tif" inline="yes"/></maths> is an <i>Rx1</i> vector and is the result of performing a set of R summation operations applied to the elements in the speaker vector <maths id="math0054" num=""><math display="inline"><mover><mi>s</mi><mo>→</mo></mover><mn>.</mn></math><img id="ib0054" file="imgb0054.tif" wi="5" he="9" img-content="math" img-format="tif" inline="yes"/></maths> When each linear combination, i.e., summation operation, multiplies its corresponding column of D and the resultant vectors are added, the total listener vector is formed.</p>
<p id="p0077" num="0077">It should be noted that since each row of <i>D</i> may have multiple 1's (or -1's), each element in the listener vector is not necessarily derived by simply copying over a single element of <maths id="math0055" num=""><math display="inline"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub><mn>.</mn></math><img id="ib0055" file="imgb0055.tif" wi="9" he="9" img-content="math" img-format="tif" inline="yes"/></maths> Rather, one or more elements of <maths id="math0056" num=""><math display="inline"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub></math><img id="ib0056" file="imgb0056.tif" wi="5" he="9" img-content="math" img-format="tif" inline="yes"/></maths> should be accumulated, i.e., added or subtracted, in order to derive each element in <maths id="math0057" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mn>.</mn></math><img id="ib0057" file="imgb0057.tif" wi="7" he="7" img-content="math" img-format="tif" inline="yes"/></maths></p>
<p id="p0078" num="0078">In order to derive the matrix D, both sides of Equation 30 are post-multiplied by P(P<sup>T</sup>P)<sup>-1</sup>, so that: <maths id="math0058" num="(Equation 33)"><math display="block"><mi mathvariant="italic">CP</mi><mo>⁢</mo><msup><mfenced separators=""><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mi>P</mi></mfenced><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mi>D</mi></math><img id="ib0058" file="imgb0058.tif" wi="106" he="11" img-content="math" img-format="tif"/></maths> Substituting Equation 33 into Equation 30 yields: <maths id="math0059" num="(Equation 34)"><math display="block"><mi>C</mi><mo>=</mo><mi mathvariant="italic">CP</mi><mo>⁢</mo><msup><mfenced separators=""><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mi>P</mi></mfenced><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>⁢</mo><msup><mi>P</mi><mi>T</mi></msup></math><img id="ib0059" file="imgb0059.tif" wi="107" he="12" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="32"> --> The matrix <i>P(P<sup>T</sup>P)<sup>-1</sup>P<sup>T</sup></i> can be seen as a subspace projection matrix. Essentially, what Equation 34 is saying is that applying <i>C</i> to any speaker vector that is projected onto the null-perpendicular space of <i>C</i> is the same as applying <i>C</i> to the speaker vector itself.</p>
<p id="p0079" num="0079">It should be noted that it is not always possible to determine the matrix <i>D</i> for an arbitrary choice of <i>P<sup>T</sup></i>, i.e., to represent <i>C</i> as shown in Equations 30 and 34. First, the matrix <i>P<sup>T</sup>P</i> must be invertible, i.e., <i>the R</i> columns <i>of P</i> must be linearly independent. Second, the range-space of <i>P</i> must be identical to the null-space of <i>C.</i> Otherwise, some specific speaker vectors will not yield a contribution to the listener vector using the representation in Equation 30, whereas they would using only <i>C,</i> i.e., Equation 34 is only true if the range-space of <i>P</i> matches the null-perpendicular space of <i>C.</i></p>
<p id="p0080" num="0080">The range-space of <i>P</i> matching the null-perpendicular space of <i>C</i> also implies that the range-space of <i>P</i> matches the range-space of <i>C<sup>T</sup>.</i> That is, the space spanned by the columns of <i>P</i> must match the space spanned by the columns of <i>C<sup>T</sup></i>, which in turn implies that the space spanned by the rows of <i>P<sup>T</sup></i> must match the space spanned by the rows of <i>C.</i> In other words, a suitable choice for a row of <i>P<sup>T</sup></i> is some linear combination of any <i>R</i> linearly independent rows of <i>C.</i> One such linear combination is identically a row of <i>C</i> itself, i.e., the linear combination is unity. Therefore, a suitable choice for the rows of <i>P<sup>T</sup></i> are <i>R</i> linearly independent rows of <i>C</i> itself. In this case, <i>P<sup>T</sup></i> is an <i>RxN</i> matrix containing only 1's and 0's. For example, if <i>R</i> = 2: <maths id="math0060" num="(Equation 35)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><msub><mover><mi>d</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msubsup><mover><mi>p</mi><mo>→</mo></mover><mn>1</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>+</mo><msub><mover><mi>d</mi><mo>→</mo></mover><mn>2</mn></msub><mo>⁢</mo><msubsup><mover><mi>p</mi><mo>→</mo></mover><mn>2</mn><mi>T</mi></msubsup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><msub><mover><mi>d</mi><mo>→</mo></mover><mn>1</mn></msub><mo>⁢</mo><msub><mi>l</mi><mrow><mi>c</mi><mo>⁢</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mover><mi>d</mi><mo>→</mo></mover><mn>2</mn></msub><mo>⁢</mo><msub><mi>l</mi><mrow><mi>c</mi><mo>⁢</mo><mn>2</mn></mrow></msub></math><img id="ib0060" file="imgb0060.tif" wi="119" he="10" img-content="math" img-format="tif"/></maths> where <i>l<sub>c1</sub></i> and <i>l<sub>c2</sub></i> are the summation operations, i.e., linear combinations containing only 1's and 0's, performed on the speaker vector, since the elements of <maths id="math0061" num=""><math display="inline"><msub><mover><mi>p</mi><mo>→</mo></mover><mn>1</mn></msub></math><img id="ib0061" file="imgb0061.tif" wi="6" he="9" img-content="math" img-format="tif" inline="yes"/></maths> and <maths id="math0062" num=""><math display="inline"><msub><mover><mi>p</mi><mo>→</mo></mover><mn>2</mn></msub></math><img id="ib0062" file="imgb0062.tif" wi="6" he="9" img-content="math" img-format="tif" inline="yes"/></maths> are 1's and 0's.</p>
<p id="p0081" num="0081">To understand the relationship between the subspace binary conferencing matrix and the SVD of <i>C</i>, <i>C</i> can be written in its SVD form as: <maths id="math0063" num="(Equation 36)"><math display="block"><mi>C</mi><mo>=</mo><mi>U</mi><mo>⁢</mo><mi mathvariant="normal">Λ</mi><mo>⁢</mo><msup><mi>V</mi><mi>T</mi></msup><mo>=</mo><mover><mi>U</mi><mo>˜</mo></mover><mo>⁢</mo><mi>A</mi><mo>⁢</mo><mi mathvariant="normal">Λ</mi><mo>⁢</mo><mi>B</mi><mo>⁢</mo><msup><mover><mi>V</mi><mo>˜</mo></mover><mi>T</mi></msup></math><img id="ib0063" file="imgb0063.tif" wi="123" he="13" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="33"> --> where <i>U</i> represents the set of orthogonal vectors that span the range of <i>C, V</i> represents the set of orthogonal vectors that span the range of <i>C<sup>T</sup></i>, <i>Ũ</i> represents some set of linearly independent vectors that span the range of <i>C</i> but are not necessarily orthogonal, and <i>Ṽ</i> represents some set of linearly independent vectors that span the range of <i>C<sup>T</sup></i> but are not necessarily orthogonal. Then, <maths id="math0064" num="(Equation 37)"><math display="block"><mi>C</mi><mo>=</mo><mover><mi>U</mi><mo>˜</mo></mover><mo>⁢</mo><mi>E</mi><mo>⁢</mo><msup><mover><mi>V</mi><mo>˜</mo></mover><mi>T</mi></msup></math><img id="ib0064" file="imgb0064.tif" wi="109" he="11" img-content="math" img-format="tif"/></maths> which resembles the form of the SVD except that the <i>RxR</i> matrix <i>E</i> is not necessarily diagonal. Comparing this to Equation 34, it can be seen that: <maths id="math0065" num="(Equation 38)"><math display="block"><mover><mi>U</mi><mo>˜</mo></mover><mo>=</mo><mi mathvariant="italic">CP</mi><mo>⁢</mo><msup><mfenced separators=""><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mi>P</mi></mfenced><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mi>D</mi></math><img id="ib0065" file="imgb0065.tif" wi="123" he="12" img-content="math" img-format="tif"/></maths> and <maths id="math0066" num="(Equation 39)"><math display="block"><mi>E</mi><mo>⁢</mo><msup><mover><mi>V</mi><mo>˜</mo></mover><mi>T</mi></msup><mo>=</mo><msup><mi>P</mi><mi>T</mi></msup></math><img id="ib0066" file="imgb0066.tif" wi="109" he="11" img-content="math" img-format="tif"/></maths> The above represents <i>C</i> in a non-SVD rank R manner, such that the linear combinations of the speaker signals are purely summation operations. The matrix <i>D</i> represents the accumulation operations that must be performed on these summations to derive each element of the listener vector.</p>
<p id="p0082" num="0082">In the subspace binary conferencing matrix embodiment, the processing circuitry 110 implements the following algorithm: (1) compute <i>R</i> summation operations <maths id="math0067" num=""><math display="inline"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub><mo>=</mo><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0067" file="imgb0067.tif" wi="19" he="11" img-content="math" img-format="tif" inline="yes"/></maths> where the rows of <i>P<sup>T</sup></i> represent any set of <i>R</i> linearly independent rows of <i>C,</i> (2) form a weighted sum of the listener vectors <maths id="math0068" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>D</mi><mo>⁢</mo><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub><mn>.</mn></math><img id="ib0068" file="imgb0068.tif" wi="16" he="9" img-content="math" img-format="tif" inline="yes"/></maths> It can be shown that the matrix <i>D</i> contains only the values of 1, -1 or 0. To see this, both sides of Equation 30 can be transposed so that <maths id="math0069" num="(Equation 40)"><math display="block"><msup><mi>C</mi><mi>T</mi></msup><mo>=</mo><mi>P</mi><mo>⁢</mo><msup><mi>D</mi><mi>T</mi></msup></math><img id="ib0069" file="imgb0069.tif" wi="108" he="10" img-content="math" img-format="tif"/></maths> Since <i>P</i> contains only 1's and 0's, if <i>D</i> contained something other than 1, -1 or 0, <i>C<sup>T</sup></i> would no longer contain only 1's and 0's. Therefore, in an exemplary embodiment, the calculation of the listener vector can be formed as follows: (1) compute <i>R</i> summation operations <maths id="math0070" num=""><math display="inline"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub><mo>=</mo><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0070" file="imgb0070.tif" wi="19" he="10" img-content="math" img-format="tif" inline="yes"/></maths> where the rows of <i>P<sup>T</sup></i> represent any set of R linearly independent rows of <i>C,</i> (2) for each listener signal<!-- EPO <DP n="34"> --> i, add or subtract (dependent upon the <i>j<sup>th</sup></i> value of 1 or -1 in the <i>i<sup>th</sup></i> row of <i>D</i>) the corresponding <i>j<sup>th</sup></i> value of <maths id="math0071" num=""><math display="inline"><msub><mover><mi>l</mi><mo>→</mo></mover><mi>c</mi></msub><mn>.</mn></math><img id="ib0071" file="imgb0071.tif" wi="7" he="10" img-content="math" img-format="tif" inline="yes"/></maths> In another exemplary embodiment, step (1) above is performed for only active speakers.</p>
<p id="p0083" num="0083">For illustration purposes, consider the conferencing matrix in Equation 28 that yielded the complex non-binary SVD representation. This matrix is rank 3. A subspace matrix <i>P<sup>T</sup></i> is created by selecting 3 linearly independent rows of <i>C</i>. If one selects rows 1, 4 and 6, the 3x6 subspace projection matrix becomes: <maths id="math0072" num="(Equation 41)"><math display="block"><msup><mi>P</mi><mi>T</mi></msup><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0072" file="imgb0072.tif" wi="125" he="23" img-content="math" img-format="tif"/></maths> Using Equation 33 above, the 6x3 matrix <i>D</i> is computed yielding: <maths id="math0073" num="(Equation 42)"><math display="block"><mi>D</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0073" file="imgb0073.tif" wi="109" he="44" img-content="math" img-format="tif"/></maths> so that the subspace binary conferencing matrix becomes: <maths id="math0074" num="(Equation 43)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><mi>D</mi><mo>⁢</mo><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0074" file="imgb0074.tif" wi="136" he="43" img-content="math" img-format="tif"/></maths> It should be noted that even though the columns of <i>C</i> are not orthogonal, the computation requires only sums of the speaker values, and the listener values are derived through simple accumulation operations. For this example, the accumulations involve only 1's and not -1's, that is, <i>D</i> contains only 1's and 0's. In fact, the listener vector can be formed using simple copy-over operations.<!-- EPO <DP n="35"> --></p>
<p id="p0084" num="0084">Next, consider a more complex example of the subspace binary conferencing matrix such that: <maths id="math0075" num="(Equation 44)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0075" file="imgb0075.tif" wi="122" he="52" img-content="math" img-format="tif"/></maths> This matrix is rank 4. A subspace matrix <i>P<sup>T</sup></i> is formed by selecting any 4 linearly independent rows of <i>C</i>. For example, selecting rows 1, 2, 4 and 5, the subspace matrix is: <maths id="math0076" num="(Equation 45)"><math display="block"><msup><mi>P</mi><mi>T</mi></msup><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0076" file="imgb0076.tif" wi="124" he="31" img-content="math" img-format="tif"/></maths> Computing <i>D</i> using Equation 33 yields: <maths id="math0077" num="(Equation 46)"><math display="block"><mi>D</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0077" file="imgb0077.tif" wi="110" he="48" img-content="math" img-format="tif"/></maths> so that the subspace binary conferencing matrix becomes: <maths id="math0078" num="(Equation 47)"><math display="block"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><mi>D</mi><mo>⁢</mo><msup><mi>P</mi><mi>T</mi></msup><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0078" file="imgb0078.tif" wi="150" he="50" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="36"> --> The computation requires only sums of speaker values, and the listener values are derived through simple accumulations involving both 1's and -1's. For example, listener 7's value is derived by subtracting the first summation of speaker values (determined by the first row of <i>P<sup>T</sup></i>) and adding this result to the fourth summation of speaker values (determined by the fourth row of <i>P<sup>T</sup></i>).</p>
<p id="p0085" num="0085">Considering now the diagonal elements <i>C<sub>ij</sub></i> of the conferencing matrix <i>C</i>, these represent the volume level at which the <i>i<sup>th</sup></i> speaker hears himself. In general, it is desirable to prevent the <i>i<sup>th</sup></i> speaker from hearing himself, and therefore, it is preferable that the diagonal elements of the conferencing matrix or binary conferencing matrix be set to zero. However, including values of 1 along the diagonal can reduce the rank of a binary <i>C</i> in many cases, thereby reducing computation complexity. For example, consider a case where: <maths id="math0079" num="(Equation 48)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0079" file="imgb0079.tif" wi="123" he="42" img-content="math" img-format="tif"/></maths> In this case, participants 1-3 are in a conference together, and participants 4-6 are in a conference together, and each speaker cannot hear himself. The rank of this binary conferencing matrix is 6 for this simple two conference room scenario. Now, consider a second case where: <maths id="math0080" num="(Equation 49)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0080" file="imgb0080.tif" wi="122" he="42" img-content="math" img-format="tif"/></maths> In this second case, participants 1-3 are again in a conference together and participants 4-6 are again in a conference together, but now each speaker hears himself. The rank of this binary conferencing matrix is 2. These examples suggest that if the results of <maths id="math0081" num=""><math display="inline"><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0081" file="imgb0081.tif" wi="8" he="7" img-content="math" img-format="tif" inline="yes"/></maths> where <i>C</i> includes<!-- EPO <DP n="37"> --> unity elements on its diagonal, can be post-processed, we can derive computational benefits from the reduced rank of <i>C</i> without producing a disturbing echo signal. In an exemplary embodiment, the following algorithm can be used to reduce the rank of <i>C</i>: (1) compute <maths id="math0082" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0082" file="imgb0082.tif" wi="15" he="6" img-content="math" img-format="tif" inline="yes"/></maths> where <i>C</i> has a unity-valued diagonal, (2) post-process <maths id="math0083" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover></math><img id="ib0083" file="imgb0083.tif" wi="5" he="8" img-content="math" img-format="tif" inline="yes"/></maths> by subtracting <maths id="math0084" num=""><math display="inline"><mover><mi>s</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0084" file="imgb0084.tif" wi="6" he="9" img-content="math" img-format="tif" inline="yes"/></maths>, i.e., <maths id="math0085" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mo>=</mo><mover><mi>l</mi><mo>˜</mo></mover><mo>-</mo><mover><mi>s</mi><mo>→</mo></mover><mn>.</mn></math><img id="ib0085" file="imgb0085.tif" wi="20" he="11" img-content="math" img-format="tif" inline="yes"/></maths></p>
<p id="p0086" num="0086">However, it should be noted that the rank of <i>C</i> is not always reduced by simply setting all of its diagonal elements to unity. For example, consider the following binary conferencing matrix: <maths id="math0086" num="(Equation 50)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0086" file="imgb0086.tif" wi="121" he="49" img-content="math" img-format="tif"/></maths> which is rank 4 when all of the diagonal elements of <i>C</i> are set to unity. However, the rank of <i>C</i> can actually be reduced to 3 by setting <i>C<sub>77</sub></i> = 0, so that: <maths id="math0087" num="(Equation 51)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0087" file="imgb0087.tif" wi="122" he="48" img-content="math" img-format="tif"/></maths> The reduction in rank is evident since the last row is now seen to consist of a linear combination of the first row and the fourth row. Equivalently, the reduction in rank is evident since the rightmost column of <i>C</i> is not identically zero and thereby the rank of <i>C</i> is reduced by 1.</p>
<p id="p0087" num="0087">In general, either a 1 or a 0 must be selected for each diagonal element of <i>C,</i> in order to reduce its rank. If necessary, post-processing can ensure that the speakers do not hear themselves. The post-processing operation is to: (1) subtract off <i>s<sub>i</sub></i> from the <i>i<sup>th</sup></i> element of <maths id="math0088" num=""><math display="inline"><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover><mo>,</mo></math><img id="ib0088" file="imgb0088.tif" wi="8" he="7" img-content="math" img-format="tif" inline="yes"/></maths> <i>l<sub>i</sub></i>,<!-- EPO <DP n="38"> --> if a 1 was included in the <i>ii<sup>th</sup></i> element of <i>C,</i> (2) otherwise, leave the <i>i<sup>th</sup></i> element <i>l<sub>i</sub></i> intact. Thus, either a 1 or a 0 can be selected for each diagonal element, and the resultant <maths id="math0089" num=""><math display="inline"><mi>C</mi><mo>⁢</mo><mover><mi>s</mi><mo>→</mo></mover></math><img id="ib0089" file="imgb0089.tif" wi="7" he="8" img-content="math" img-format="tif" inline="yes"/></maths> can always be post-processed to yield <maths id="math0090" num=""><math display="inline"><mover><mi>l</mi><mo>→</mo></mover><mn>.</mn></math><img id="ib0090" file="imgb0090.tif" wi="8" he="8" img-content="math" img-format="tif" inline="yes"/></maths></p>
<p id="p0088" num="0088">One criteria for selecting the values of the diagonal elements is to seek to produce a <i>C</i> that is of minimum rank to minimize computation. In one embodiment, one algorithm for determining the lowest rank <i>C</i> consists of evaluating the rank of each of the 2<i><sup>N</sup></i> possible binary conferencing matrices with each diagonal element set to either a 1 or a 0, and then selecting the matrix <i>C</i> that has the lowest rank. In other words, this algorithm examines all possible choices of <i>C</i> with its diagonal elements set to 1 or 0 and selects the choice which yields the lowest rank. If multiple possibilities yield the same lowest rank, any of those choices for C can be used.</p>
<p id="p0089" num="0089">In another embodiment, a heuristic algorithm can be used that reduces the computation for determining the lowest rank <i>C</i> by seeking to select a choice of <i>C</i> that has a reduced, but not necessarily minimum, rank. An example of a heuristic algorithm includes: (1) set the <i>ii<sup>th</sup></i> element of <i>C</i> to 0, if the other elements of the <i>i<sup>th</sup></i> row are zero, (2) set the <i>ii<sup>th</sup></i> element of <i>C</i> to 0, if the other elements of the <i>i<sup>th</sup></i> column are zero, (3) set the <i>ii<sup>th</sup></i> element of <i>C</i> to 1 or 0, if doing so makes the <i>i<sup>th</sup></i> row match some other row, (4) set the <i>ii<sup>th</sup></i> element of <i>C</i> to 1 or 0, if doing so makes the <i>i<sup>th</sup></i> column match some other column.</p>
<p id="p0090" num="0090">Using the generalized conferencing matrix format, it is also possible to represent conventional conferencing scenarios. For example, consider the conventional conferencing scenario of two conference rooms, CR1 and CR2, where participants 1-3 hear and speak to each other in CR1 and participants 4-6 hear and speak to each other in CR2. This can be represented with a binary conferencing matrix as:<!-- EPO <DP n="39"> --> <maths id="math0091" num="(Equation 52)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0091" file="imgb0091.tif" wi="122" he="42" img-content="math" img-format="tif"/></maths> As a second example, consider the conventional scenario of participants 1, 2, 3 and 7 in R1 and participants 4, 5 and 6 in CR2, the binary conferencing matrix can be written as: <maths id="math0092" num="(Equation 53)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0092" file="imgb0092.tif" wi="121" he="50" img-content="math" img-format="tif"/></maths> It should be noted that for conventional conferencing, if all participants are un-muted and un-held, it is always possible to renumber the participants so that the binary conferencing matrix can be represented as a block diagonal matrix <i>C</i>. In this example, if the participants are renumbered so that participant 4 and participant 7 are interchanged, the binary conferencing matrix becomes: <maths id="math0093" num="(Equation 54)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0093" file="imgb0093.tif" wi="124" he="49" img-content="math" img-format="tif"/></maths> which is seen to be block-diagonal. In addition, when the binary conferencing matrix represents a conventional conference with all participants un-muted and un-held, it has a unity-valued diagonal and the associated speaker signal is subtracted from each listener so that each speaker does not hear himself.<!-- EPO <DP n="40"> --></p>
<p id="p0091" num="0091">It should be noted that conventional conferences can also be represented by the binary conferencing matrix when some or all participants are held or muted. For example, <maths id="math0094" num="(Equation 55)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0094" file="imgb0094.tif" wi="124" he="42" img-content="math" img-format="tif"/></maths> represents a conference server having two conference rooms CR1 and CR2, where participants 1 and 2 hear and speak to each other in CR1, participants 4-6 hear and speak to each other in CR2 and participant 3 is presently muted. Similarly, <maths id="math0095" num="(Equation 56)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0095" file="imgb0095.tif" wi="123" he="43" img-content="math" img-format="tif"/></maths> represents the same conference room where participant 3 is on hold. That is, participant 3 hears no one (the third row of <i>C</i> is zero), and no one hears participant 3 (the third column of <i>C</i> is zero).</p>
<p id="p0092" num="0092">In some conventional conferencing systems, whisper rooms are also supported, where two or more participants are participating in a sidebar conference, while simultaneously listening in to the main conference. Generalized conferencing can also be used to represent whisper rooms. For example, the 6x6 binary conferencing matrix below represents a 4-party conference where participants 3 and 4 are in a whisper room together: <maths id="math0096" num="(Equation 57)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></math><img id="ib0096" file="imgb0096.tif" wi="124" he="41" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="41"> --> That is, participants 1 and 2 speak and hear each other, participants 3 and 4 also hear participants 1 and 2, but participants 3 and 4 are able to speak, i.e., whisper, to each other without participants 1 and 2 hearing them.</p>
<p id="p0093" num="0093">Given this, it is evident that conventional conferences, including conferences with participants who are muted, held or in whisper rooms can always be represented with a block diagonal, or almost block-diagonal, binary conferencing matrix. Generalized conferences, in contrast, do not necessarily have binary conferencing matrices that can be written in block diagonal, or almost block-diagonal format. That is, in a generalized conference, any element of C can be a 1 or a 0, thereby allowing a participant to listen in on multiple conference rooms, speak in multiple conference rooms or any combination thereof.</p>
<p id="p0094" num="0094">Following are several examples of generalized conferencing scenarios that cannot be represented in conventional conference bridges. In a first example, consider a three-party generalized conference where: <maths id="math0097" num="(Equation 58)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0097" file="imgb0097.tif" wi="112" he="23" img-content="math" img-format="tif"/></maths> In this representation, participant 3 is the moderator, i.e., a go-between for participants 1 and 2. That is, participant 3 can speak and listen to participants 1 and 2, but participants 1 and 2 cannot speak to or hear each other.</p>
<p id="p0095" num="0095">In a second example, consider another three-party generalized conference where: <maths id="math0098" num="(Equation 59)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0098" file="imgb0098.tif" wi="109" he="24" img-content="math" img-format="tif"/></maths> In this representation, participant 3 is an advisor to participant 1. That is, participant 3 hears the two-way conversation between participants 1 and 2, but when participant 3 speaks, he is heard by only participant 1.</p>
<p id="p0096" num="0096">In a third example, consider yet another three-party generalized conference where:<!-- EPO <DP n="42"> --> <maths id="math0099" num="(Equation 60)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0099" file="imgb0099.tif" wi="111" he="24" img-content="math" img-format="tif"/></maths> In this representation, participant 3 is eavesdropping on participants 1 and 2. This case is similar to conventional conferencing, where participant 3 is in the conference but muted. However, the difference between the generalized eavesdropping and the conventional conference muted participant becomes evident when the eavesdropper is listening in to multiple conference rooms, such as in the following representation: <maths id="math0100" num="(Equation 61)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0100" file="imgb0100.tif" wi="111" he="36" img-content="math" img-format="tif"/></maths> Here, participant 5 is eavesdropping on CR1 and CR2. This generalized conference is not possible in existing conference bridge systems, and is of importance in security and monitoring scenarios, where, for example, participant 5 might take action dependent upon what is said in either of the two conference rooms.</p>
<p id="p0097" num="0097">In a fourth example, consider still another three-party generalized conference where: <maths id="math0101" num="(Equation 62)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0101" file="imgb0101.tif" wi="109" he="24" img-content="math" img-format="tif"/></maths> In this representation, participant 3 is an announcer who talks to participants 1 and 2 who are in a conference together, but this announcer is unable to hear the participants who may be having a private discussion.</p>
<p id="p0098" num="0098">Although some examples of the possible ways three people can participate in a generalized conference have been described herein, these are just a few of the many possibilities. For example, consider a binary conferencing matrix of:<!-- EPO <DP n="43"> --> <maths id="math0102" num="(Equation 63)"><math display="block"><mi>C</mi><mo>=</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr><mtr><mtd><mi>c</mi></mtd><mtd><mn>1</mn></mtd><mtd><mi>d</mi></mtd></mtr><mtr><mtd><mi>e</mi></mtd><mtd><mi>f</mi></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math><img id="ib0102" file="imgb0102.tif" wi="111" he="24" img-content="math" img-format="tif"/></maths> where each of the six parameters <i>a-f</i> may take on a value of 0 or 1, and the diagonal elements of <i>C</i> are set to unity, without loss of generality. There are a total of 2<sup>6</sup> possible choices for <i>C</i> corresponding to 64 different ways 3 participants may participate with each other in a generalized conference. The number of generalized conferencing scenarios grows quickly as the number of participants increases. For example, for 6 participants, there are 2<sup>28</sup>, or about 300 million, possible ways in which they might participate in a generalized conference.</p>
<p id="p0099" num="0099">Turning now to <figref idref="f0003">FIGURE 3</figref>, an exemplary operation of the conference server 100 to control participant voice mixing states of conference rooms 150 is illustrated in accordance with embodiments of the present invention. The conference server 100 includes processing circuitry 110, a matrix controller 310, a conferencing matrix 155 and multiple conference rooms 150, of which two are shown (Conference Room A and Conference Room B). Each conference room 150 is responsible for managing a different conference call involving different sets of participants 30. For example, Conference Room A is managing a conference call between Participant 1, Participant 4 and Participant 5, while Conference Room B is managing a conference call between Participant 1, Participant 2 and Participant 3.</p>
<p id="p0100" num="0100">Each conference room 150 includes a voice mixer 320 that operates to produce a particular combination of speech for each participant based on the voice mixing state of the conference room 150. The voice mixing state of one or more conference rooms is determined based on the coefficients of the conferencing matrix 155. For example, the conferencing matrix 155 can indicate whether voice originated by a particular speaking participant is to be muted or un-muted for one or more listening participants. In an exemplary embodiment, the processing circuitry 110 accesses the matrix controller 310 to retrieve the applicable coefficients from the conferencing matrix 155 for a particular conference room 150 and provides the retrieved<!-- EPO <DP n="44"> --> coefficients to that conference room 150 for proper voice mixing for each participant. More specifically, the processing circuitry 110 can determine the weights (or gains) to be applied to each input voice signal for a particular conference room 150 from the matrix 155 coefficients, and then provide these weights to the voice mixer 320 to enable the voice mixer 320 to correctly mix the input voice signals and produce the desired individualized mixed output voice to each listening participant in the conference room 150.</p>
<p id="p0101" num="0101">The processing circuitry 110 also operates with the matrix controller 310 to set the coefficient values of the conferencing matrix 155 based on conferencing policies, as described above. For example, in an exemplary embodiment, the processing circuitry 110 accesses pre-stored policies, and provide the policies to the matrix controller 310 to enable the matrix controller 310 to set the coefficient values of the conferencing matrix 155. In another exemplary embodiment, the processing circuitry 110 can receive an instruction 300 from a participant 30 that includes a new policy, and can provide the new policy to the matrix controller 310 for use by the matrix controller 310 in setting the coefficient values of the conferencing matrix 155. For example, the instruction 300 may be an instruction to add or remove participants from one or more conference calls, to set participant preferences for the conference call or to override other participant preferences for the conference call.</p>
<p id="p0102" num="0102"><figref idref="f0004">FIGURE 4</figref> illustrates an exemplary voice mixing operation of a conference room 150 in accordance with embodiments of the present invention. In <figref idref="f0004">FIGURE 4</figref>, multiple participants 30 (A, B, C and D) are engaged in one or more conference calls via the conference server 100 and are coupled to transmit respective input voice 330 to the conference server 100 and receive output voice 340 from the conference server 100. As described above, the conference server 100 includes a voice mixer 320 that operates to mix the input voice 330 received from all participants 30 based on the conferencing matrix 155 and transmit the mixed voice 340 back out to the participants. More specifically, the voice mixer 320 operates to mix the input voice 330 individually for each participant 30 (Participant A, Participant B, Participant C and Participant<!-- EPO <DP n="45"> --> D) to produce respective mixed voice outputs 340a, 340b, 340c and 340d, and to provide the respective mixed voice outputs 340a, 340b, 340c and 340d to the appropriate participants.</p>
<p id="p0103" num="0103">Thus, as shown in <figref idref="f0004">FIGURE 4</figref>, the voice mixer 320 is coupled to receive the input voice signals 330 (Voice A, Voice B, Voice C and Voice D) from all of the conference participants (Participant A, Participant B, Participant C and Participant D) and is operable to access the conferencing matrix 155 to determine what gain, if any, to apply to each input voice signal 330 for each listening conference participant 30. Based on the respective gains, the voice mixer 320 further operates to produce a linear combination of the received input voice signals 330 as the output voice signal 340 provided to the respective conference participant 30.</p>
<p id="p0104" num="0104">For example, if during the conference call, the conference server 100 simultaneously receives voice signals from Participant A (Voice A), Participant C (Voice C) and Participant D (Voice D), the voice mixer 320 accesses the conferencing matrix 155 to determine the weights (or gains) to be applied to each input voice signal for Participant A, and based on the gains, mixes Voice A, Voice C and Voice D to produce output voice signal 340a that is provided to Participant A. Similarly, the voice mixer 320 also accesses the conferencing matrix 155 to determine the weights (or gains) to be applied to each input voice signal for Participants B, C and D, respectively, and based on the gains, mixes Voice A, Voice C and Voice D to produce output voice signals 340b, 340c and 340d that are provided to Participants B, C and D, respectively.</p>
<p id="p0105" num="0105">To more clearly explain the operation of the voice mixer 320, reference is now made to <figref idref="f0005">FIGURE 5</figref>. As shown in <figref idref="f0005">FIGURE 5</figref>, input voice signals from three speaking participants, labeled Input Voice A 330a, Input Voice B 330b and Input Voice C 330c, are provided to the voice mixer 320. The voice mixer 320 retrieves from the conferencing matrix the coefficients associated with each input voice signal for a particular listening participant, labeled Coefficient A 350a, Coefficient B 350b and Coefficient C, 350c. The voice mixer 320 further multiplies, via respective multipliers 360a, 360b and 360c, each input voice signal 330a, 330b and 330c by the<!-- EPO <DP n="46"> --> respective coefficient 350a, 350b and 350c to produce weighted voice signals to a summation node 370. The summation node 370 adds together the weighted voice signals to produce the mixed output voice signal 340 that is output to that particular listening participant.</p>
<p id="p0106" num="0106"><figref idref="f0005">FIGURE 6</figref> illustrates another exemplary operation of a conference room, where each participant 30 is associated with one or more communications devices 20. Each communications device 20 is communicatively coupled to the conference server 100 via one or more networks (not shown, for simplicity). Examples of networks include a local area network (LAN), a wide area network (WAN), a privately managed internet protocol (IP) data network, an Internet-based virtual private network (VPN), a public Internet-based IP data network, a Public Switched Telephone Network (PSTN), a Public Land Mobile Network (PLMN), and/or any other type or combination of packet-switched or circuit-switched networks.</p>
<p id="p0107" num="0107">In <figref idref="f0005">FIGURE 6</figref>, Participant A 30a is associated with a personal computer (PC) with VoIP 20a, Participant B 30b is associated with a telephone 20b and Participant C 30c is associated with a laptop computer 20c and a cell phone 20d. Each communications device 20a-20d is capable of receiving voice and/or data from other communications devices 20a-20d via the conference room 150. For example, Participant A speaks into the microphone connected to the PC 20a to provide input voice 330a (Voice A) to the conference room 150, Participant B speaks into the telephone 20b to provide input voice 330c (Voice B) to the conference room 150, and Participant C speaks into the cell phone 20d to provide input voice 330d (Voice C) to the conference room 150.</p>
<p id="p0108" num="0108">Upon receipt of voice from one or more participants, the conference room 150 mixes the received voice and provides the mixed or combined voice back out to the communications devices 20a-20d, based on the coefficients of the conferencing matrix 155. For example, assuming all participants are un-muted to each other and equally weighted, if the conference room 150 simultaneously receives voice from VoIP personal computer 20a, telephone 20b and cell phone 20d, the conference room 150 combines the voice and outputs the combined voice<!-- EPO <DP n="47"> --> 340 to each of the participants. To avoid echoes, the conference room 150 transmits only Voice B/C 340a to the PC 20a, transmits only Voice A/C 340b to the telephone 20b and transmits only Voice A/B 340d to the cell phone 20d.</p>
<p id="p0109" num="0109">For data conferencing/collaboration, the conference room 150 is capable of receiving data (input Data) 330b from the personal computer 20a associated with Participant A 30a. The input data may include text and multi-media that provides a number of different data conferencing services, such as instant messaging, presentation sharing, desktop sharing and video. Input data 330b received from the VoIP personal computer 20a is output by the conference room 150 to the laptop computer 20c of Participant C 30c as output data 340c. In scenarios where the conference room 150 simultaneously receives voice and data from communications devices 350 other than the VoIP personal computer 20a, the conference room 150 combines the received voice and data and transmits the combined voice and data to the VoIP personal computer 20a.</p>
<p id="p0110" num="0110"><figref idref="f0002">FIGURE 7</figref> is a flowchart illustrating an exemplary process 700 for implementing generalized conferencing, in accordance with embodiments of the present invention. The process begins at step 710, where a conferencing matrix of conference participants is provided. More particularly, the conferencing matrix is a matrix of input conference participants to output conference participants. Thus, at step 720, each of the matrix coefficients is set to a real value that collectively defines a desired output for each conference participant based on inputs from the other conference participants.</p>
<p id="p0111" num="0111">Once the conference matrix values are set, the process continues at step 730, where input media is received from conference participants. At step 740, the conferencing matrix is used to determine the individualized output media to be provided to each conference participant based on the received input media. The process ends at step 750, where the desired individualized output media is provided to each conference participant.<!-- EPO <DP n="48"> --></p>
<p id="p0112" num="0112">As will be recognized by those skilled in the art, the innovative concepts described in the present application can be modified and varied over a wide rage of applications. Accordingly, the scope of patents subject matter should not be limited to any of the specific exemplary teachings discussed, but is instead defined by the following claims.</p>
</description>
<claims id="claims01" lang="en"><!-- EPO <DP n="49"> -->
<claim id="c-en-01-0001" num="0001">
<claim-text>A conference server (100), comprising:
<claim-text>an interface (190) communicatively coupled to a plurality of media devices operated by conference participants (30);</claim-text>
<claim-text>a conferencing module (140) operable to manage one or more conference calls by maintaining a conferencing matrix (155) of said conference participants (30) to said conference calls, said conferencing matrix (155) defining a respective output media provided to each of said conference participants (30) based on respective input media received from other ones of said conference participants (30); and</claim-text>
<claim-text>processing circuitry (110) operable to control said conferencing module and coupled to receive said input media from said conference participants (30) via said interface (190) and provide said input media to said conferencing module (140) and coupled to receive said output media from said conferencing module (140) and provide to said output media to said conference Participants (30) via said interface (190), the server <b>characterized by</b> comprising coefficients of said conferencing matrix (155) which are determined based on one or more pre-stored conference policies.</claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>The conference server of Claim 1, wherein each of said coefficients defines a gain to be applied to voice streams associated with a particular speaking one of said conference participants (30) as heard by a particular listening one of said conference participants (30), and wherein each of said coefficients of said conferencing matrix (155) indicates whether voice originated by said respective speaking one of said conference participants (30) is to be muted or un-muted as heard by said respective listening one of said conference participants (30).</claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>The conference server of Claim 1, wherein coefficients of said conferencing matrix (155) are time-varying.<!-- EPO <DP n="50"> --></claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>The conference server of Claim 1, wherein said conference policies includes one or more of time of day, day of week, speaking ones of said conference participants (30), simulated physical distance between said speaking ones of said conference participants (30) and listening ones of said conference participants (30), number of said speaking ones of said conference participants (30), number of said listening ones of said conference participants (30), preferences set by one or more said speaking ones of said conference participants (30), preferences set by one or more of said listening ones of said conference participants (30) and conference server policies.</claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>The conference server of Claim 1, wherein said conferencing matrix (155) is represented in singular value decomposition form.</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>The conference server of Claim 1, wherein said singular value decomposition form of said conferencing matrix (155) is calculated off-line and updated as ones of said conference participants (30) leave or join said conferences calls.</claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>The conference server of Claim 6, wherein said conferencing matrix (155) is a binary conferencing matrix (155).</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>The conference server of Claim 7, wherein said conferencing module (140) is further operable to decompose said binary conferencing matrix (155) into the product of two subspace matrices to produce a subspace representation of said binary conferencing matrix (155).<!-- EPO <DP n="51"> --></claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>The conference server of Claim 7, wherein said conferencing module (140) is further operable to reduce a rank of said binary conferencing matrix (155) using a brute force or heuristic algorithm.</claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>A method for implementing generalized conferencing, comprising:
<claim-text>providing a conferencing matrix (155) of conference participants (30) to conference calls;</claim-text>
<claim-text>setting values of coefficients of said conferencing matrix (155) to define a respective output media provided to each of said conference participants (30) based on respective input media received from other ones of said conference participants (30);</claim-text>
<claim-text>receiving said respective input media from said conference participants (30);</claim-text>
<claim-text>determining said respective output media for each of said conference participants (30) based on said conferencing matrix (155); and</claim-text>
<claim-text>providing said respective output media to said conference participants (30), the method being <b>characterized by</b> comprising setting values of said coefficients of said conferencing matrix (155) which are based on one or more pre-stored conference policies.</claim-text></claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>The method of Claim 10, wherein said setting values of said coefficients further comprises:
<claim-text>setting time-varying values of said coefficients of said conferencing matrix (155).</claim-text></claim-text></claim>
<claim id="c-en-01-0012" num="0012">
<claim-text>The method of Claim 10, further comprising:
<claim-text>representing said conferencing matrix (155) in singular value decomposition form.</claim-text></claim-text></claim>
<claim id="c-en-01-0013" num="0013">
<claim-text>The method of Claim 12, wherein said representing further comprises:<!-- EPO <DP n="52"> -->
<claim-text>calculating said singular value decomposition form of said conferencing matrix (155) off-line; and</claim-text>
<claim-text>updating said singular value decomposition form of said conferencing matrix (155) as ones of said conference participants (30) leave or join said conferences calls.</claim-text></claim-text></claim>
<claim id="c-en-01-0014" num="0014">
<claim-text>The method of Claim 10, wherein said conferencing matrix (155) is a binary conferencing matrix (155), and further comprising:
<claim-text>decomposing said binary conferencing matrix (155) into the product of two subspace matrices to produce a subspace representation of said binary conferencing matrix (155).</claim-text></claim-text></claim>
<claim id="c-en-01-0015" num="0015">
<claim-text>The method of Claim 10, wherein said conferencing matrix (155) is a binary conferencing matrix (155), and further comprising:
<claim-text>reducing a rank of said binary conferencing matrix (155) using a brute force or heuristic algorithm.</claim-text></claim-text></claim>
</claims>
<claims id="claims02" lang="de"><!-- EPO <DP n="53"> -->
<claim id="c-de-01-0001" num="0001">
<claim-text>Konferenzserver (100), umfassend:
<claim-text>Eine Schnittstelle (190), welche kommunikationsfähig an eine Vielzahl von von Konferenzteilnehmern (30) betriebenen Mediengeräten gekoppelt ist;</claim-text>
<claim-text>ein Konferenzmodul (140), welches betreibbar ist, um eine oder mehrere Konferenzverbindungen zu verwalten, indem es eine Conference-Matrix (155) der besagten Konferenzteilnehmer (30) für die besagten Konferenzverbindungen pflegt, wobei die besagte Conference-Matrix (155) ein jeweiliges an einen jeden der besagten Konferenzteilnehmer (30) bereitgestelltes Ausgabemedium auf der Basis von jeweiligen von anderen der besagten Konferenzteilnehmer (30) empfangenen Eingabemedien definiert; und</claim-text>
<claim-text>eine Verarbeitungsschaltungsanordnung (110), betreibbar für die Steuerung des besagten Konferenzmoduls und gekoppelt, um das besagte Eingabemedium von den besagten Konferenzteilnehmern (30) über die besagte Schnittstelle (190) zu empfangen und das besagte Eingabemedium an das besagte Konferenzmodul (140) bereitzustellen, und gekoppelt, um das besagte Ausgabemedium von dem besagten Konferenzmodul (140) zu empfangen und das besagte Ausgabemedium über die besagte Schnittstelle (190) an die besagten Konferenzteilnehmer (30) bereitzustellen, wobei der Server <b>dadurch gekennzeichnet ist, dass</b> er Koeffizienten der besagten Conference-Matrix (155) umfasst, welche auf der Basis einer oder mehrerer vorgespeicherter Konferenzrichtlinien bestimmt werden.</claim-text></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Konferenzserver nach Anspruch 1, wobei ein jeder der besagten Koeffizienten eine auf mit einem bestimmten sprechenden der besagten Konferenzteilnehmer (30) assoziierte Sprachdatenströme, wie sie von einem bestimmten zuhörenden der besagten Konferenzteilnehmer (30) gehört werden, anzuwendende Verstärkung definiert, und wobei ein jeder der besagten Koeffizienten der besagten Conference-Matrix (155) anzeigt, ob die von dem besagten jeweiligen sprechenden der besagten Konferenzteilnehmer (30) stammende Stimme, wie sie von dem besagten zuhörenden der besagten Konferenzteilnehmer (30) gehört wird, stummzuschalten oder lautzuschalten ist.</claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Konferenzserver nach Anspruch 1, wobei die Koeffizienten der besagten Conference-Matrix (155) zeitlich veränderlich sind.<!-- EPO <DP n="54"> --></claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Konferenzserver nach Anspruch 1, wobei die besagten Konferenzrichtlinien eines oder mehrere der folgenden Kriterien umfassen: Uhrzeit, Wochentag, sprechende der besagten Konferenzteilnehmer (30), simulierte physische Entfernung zwischen sprechenden der besagten Konferenzteilnehmer (30) und zuhörenden der besagten Konferenzteilnehmer (30), Anzahl der besagten sprechenden der besagten Konferenzteilnehmer (30), Anzahl der besagten zuhörenden der besagten Konferenzteilnehmer (30), von einem oder mehreren der besagten sprechenden der besagten Konferenzteilnehmer (30) eingestellte Präferenzen, von einem oder mehreren der besagten zuhörenden der besagten Konferenzteilnehmer (30) eingestellte Präferenzen, und Konferenzserver-Richtlinien.</claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Konferenzserver nach Anspruch 1, wobei die besagte Conference-Matrix (155) in der Form einer Singulärwertzerlegung dargestellt wird.</claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Konferenzserver nach Anspruch 1, wobei die besagte Form der Singulärwertzerlegung der besagten Conference-Matrix (155) offline berechnet und aktualisiert wird, wenn einer oder mehrere der besagten Konferenzteilnehmer (30) die besagten Konferenzverbindungen verlassen oder diesen beitreten.</claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Konferenzserver nach Anspruch 6, wobei die besagte Conference-Matrix (155) eine binäre Conference-Matrix (155) ist.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Konferenzserver nach Anspruch 7, wobei das besagte Konferenzmodul (140) weiterhin betreibbar ist, um die besagte binäre Conference-Matrix (155) in das Produkt von zwei Unterraummatrizen zu zerlegen, um eine Unterraumdarstellung der besagten binären Conference-Matrix (155) zu erzeugen.</claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Konferenzserver nach Anspruch 7, wobei das besagte Konferenzmodul (140) weiterhin betreibbar ist, um den Rang der besagten binären Conference-Matrix (155) unter Verwendung einer Brute-Force-Methode oder eines heuristischen Algorithmus zu reduzieren.</claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Verfahren zur Implementierung von generalisierten Konferenzen, umfassend:<!-- EPO <DP n="55"> -->
<claim-text>Bereitstellen einer Conference-Matrix (155) von Konferenzteilnehmern (30) an Konferenzverbindungen;</claim-text>
<claim-text>Einstellen von Koeffizientenwerten der besagten Conference-Matrix (155), um ein an einen jeden der besagten Konferenzteilnehmer (30) bereitgestelltes jeweiliges Ausgabemedium auf der Basis von jeweiligen von anderen der besagten Konferenzteilnehmer (30) empfangenen Eingabemedien zu definieren;</claim-text>
<claim-text>Empfangen der besagten jeweiligen Eingabemedien von den besagten Konferenzteilnehmern (30);</claim-text>
<claim-text>Bestimmten des besagten jeweiligen Ausgabemediums für einen jeden der besagten Konferenzteilnehmer (30) auf der Basis der besagten Conference-Matrix (155); und</claim-text>
<claim-text>Bereitstellen des besagten jeweiligen Ausgabemediums an die besagten Konferenzteilnehmer (30),</claim-text>
wobei das Verfahren <b>dadurch gekennzeichnet ist, dass</b> es das Einstellen der Werte der besagten Koeffizienten der besagten Conference-Matrix (155), welche auf einer oder mehreren vorgespeicherten Konferenzrichtlinien basieren, umfasst.</claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Verfahren nach Anspruch 10, wobei das besagte Einstellen der Werte der besagten Koeffizienten weiterhin umfasst:
<claim-text>Einstellen von zeitlich veränderlichen Werten der besagten Koeffizienten der besagten Conference-Matrix (155).</claim-text></claim-text></claim>
<claim id="c-de-01-0012" num="0012">
<claim-text>Verfahren nach Anspruch 10, weiterhin umfassend:
<claim-text>Darstellen der besagten Conference-Matrix (155) in der Form einer Singulärwertzerlegung.</claim-text></claim-text></claim>
<claim id="c-de-01-0013" num="0013">
<claim-text>Verfahren nach Anspruch 12, wobei das besagte Darstellen weiterhin umfasst:
<claim-text>Berechnen der besagten Form der Singulärwertzerlegung der besagten Conference-Matrix (155) offline; und</claim-text>
<claim-text>Aktualisieren der besagten Form der Singulärwertzerlegung der besagten Conference-Matrix (155), wenn einer oder mehrere der besagten Konferenzteilnehmer (30) die besagten Konferenzverbindungen verlassen oder diesen beitreten.</claim-text></claim-text></claim>
<claim id="c-de-01-0014" num="0014">
<claim-text>Verfahren nach Anspruch 10, wobei die besagte Conference-Matrix (155) eine binäre Conference-Matrix (155) ist, und weiterhin umfassend:<!-- EPO <DP n="56"> -->
<claim-text>Zerlegen der besagten binären Conference-Matrix (155) in das Produkt von zwei Unterraummatrizen, um eine Unterraumdarstellung der besagten binären Conference-Matrix (155) zu erzeugen.</claim-text></claim-text></claim>
<claim id="c-de-01-0015" num="0015">
<claim-text>Verfahren nach Anspruch 10, wobei die besagte Conference-Matrix (155) eine binäre Conference-Matrix (155) ist, und weiterhin umfassend:
<claim-text>Reduzieren eines Rangs der besagten binären Conference-Matrix (155) unter Verwendung einer Brute-Force-Methode oder eines heuristischen Algorithmus.</claim-text></claim-text></claim>
</claims>
<claims id="claims03" lang="fr"><!-- EPO <DP n="57"> -->
<claim id="c-fr-01-0001" num="0001">
<claim-text>Serveur de conférence (100), comprenant :
<claim-text>une interface (190) couplée en communication à une pluralité de dispositifs multimédia utilisés par des participants de conférence (30) ;</claim-text>
<claim-text>un module de conférence (140) permettant de gérer une ou plusieurs conférences téléphoniques en maintenant une matrice de conférence (155) desdits participants de conférence (30) auxdites conférences téléphoniques, ladite matrice de conférence (155) définissant un support de sortie respectif fourni à chacun desdits participants de conférence (30) sur la base de supports d'entrée respectifs provenant d'autres participants parmi lesdits participants de conférence (30) ; et</claim-text>
<claim-text>des circuits de traitement (110) permettant de commander ledit module de conférence et couplés pour recevoir lesdits supports d'entrée à partir desdits participants de conférence (30) par l'intermédiaire de ladite interface (190) et fournir lesdits supports d'entrée audit module de conférence (140) et couplés pour recevoir ledit support de sortie à partir dudit module de conférence (140) et fournir ledit support de sortie auxdits participants de conférence (30) par l'intermédiaire de ladite interface (190), le serveur étant <b>caractérisé en ce qu'</b>il comprend des coefficients de ladite matrice de conférence (155) qui sont déterminés sur la base d'une ou de plusieurs politiques de conférence pré-stockées.</claim-text></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Serveur de conférence selon la revendication 1, dans lequel chacun desdits coefficients définit un gain à appliquer à des flux vocaux associés à un participant particulier qui parle parmi lesdits participants de conférence (30) comme l'entend un participant particulier qui écoute parmi lesdits participants de conférence (30), et dans lequel chacun desdits coefficients de ladite matrice de conférence (155) indique si une voix provenant dudit participant respectif qui parle parmi lesdits participants de conférence (30) doit être mise en sourdine ou pas comme l'entend ledit participant respectif qui écoute parmi lesdits participants de conférence (30).</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Serveur de conférence selon la revendication 1, dans lequel des coefficients de ladite matrice de conférence (155) varient dans le temps.</claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Serveur de conférence selon la revendication 1, dans lequel lesdites politiques de conférence comprennent une ou plusieurs informations parmi l'heure, le jour de la semaine, les participants qui parlent parmi lesdits participants de conférence (30), la<!-- EPO <DP n="58"> --> distance physique simulée entre lesdits participants qui parlent parmi lesdits participants de conférence (30) et les participants qui écoutent parmi lesdits participants de conférence (30), plusieurs desdits participants qui parlent parmi lesdits participants de conférence (30), plusieurs desdits participants qui écoutent parmi lesdits participants de conférence (30), des préférences réglées par un ou plusieurs desdits participants qui parlent parmi lesdits participants de conférence (30), des préférences réglées par un ou plusieurs desdits participants qui écoutent parmi lesdits participants de conférence (30) et des politiques de serveur de conférence.</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Serveur de conférence selon la revendication 1, dans lequel ladite matrice de conférence (155) est représentée sous forme de décomposition en valeurs singulières.</claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Serveur de conférence selon la revendication 1, dans lequel ladite forme de décomposition en valeurs singulières de ladite matrice de conférence (155) est calculée hors ligne et mise à jour lorsque certains parmi lesdits participants de conférence (30) quittent lesdites conférences téléphoniques ou y participent.</claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Serveur de conférence selon la revendication 6, dans lequel ladite matrice de conférence (155) est une matrice de conférence binaire (155).</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Serveur de conférence selon la revendication 7, dans lequel ledit module de conférence (140) permet en outre de décomposer ladite matrice de conférence binaire (155) en un produit de deux matrices de sous-espace pour produire une représentation de sous-espace de ladite matrice de conférence binaire (155).</claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Serveur de conférence selon la revendication 7, dans lequel ledit module de conférence (140) permet en outre de réduire un rang de ladite matrice de conférence binaire (155) en utilisant une force brute ou un algorithme heuristique.</claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Procédé de mise en oeuvre d'un service de conférence généralisée, comprenant les étrapes suivantes :
<claim-text>fournir une matrice de conférence (155) de participants de conférence (30) pour des conférences téléphoniques ;</claim-text>
<claim-text>régler des valeurs de coefficients de ladite matrice de conférence (155) pour définir un support de sortie respectif fourni à chacun desdits participants de conférence (30) sur<!-- EPO <DP n="59"> --> la base de supports d'entrée respectifs provenant d'autres participants parmi lesdits participants de conférence (30) ;</claim-text>
<claim-text>recevoir lesdits supports d'entrée respectifs à partir desdits participants de conférence (30) ;</claim-text>
<claim-text>déterminer ledit support de sortie respectif pour chacun desdits participants de conférence (30) sur la base de ladite matrice de conférence (155) ; et</claim-text>
<claim-text>fournir ledit support de sortie respectif auxdits participants de conférence (30), le procédé étant <b>caractérisé en ce qu'</b>il comprend des valeurs de réglage desdits coefficients de ladite matrice de conférence (155) qui sont basés sur une ou plusieurs politiques de conférence pré-stockées.</claim-text></claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Procédé selon la revendication 10, dans lequel lesdites valeurs de réglage desdits coefficients comprennent en outre l'étape suivante :
<claim-text>régler des valeurs qui varient dans le temps desdits coefficients de ladite matrice de conférence (155).</claim-text></claim-text></claim>
<claim id="c-fr-01-0012" num="0012">
<claim-text>Procédé selon la revendication 10, comprenant en outre l'étape suivante :
<claim-text>représenter ladite matrice de conférence (155) sous forme de décomposition en valeurs singulières.</claim-text></claim-text></claim>
<claim id="c-fr-01-0013" num="0013">
<claim-text>Procédé selon la revendication 12, dans lequel ladite représentation comprend en outre les étapes suivantes :
<claim-text>calculer ladite forme de décomposition en valeurs singulières de ladite matrice de conférence (155) hors ligne ; et</claim-text>
<claim-text>mettre à jour ladite forme de décomposition en valeurs singulières de ladite matrice de conférence (155) lorsque certains parmi lesdits participants de conférence (30) quittent lesdites conférences téléphoniques ou y participent.</claim-text></claim-text></claim>
<claim id="c-fr-01-0014" num="0014">
<claim-text>Procédé selon la revendication 10, dans lequel ladite matrice de conférence (155) est une matrice de conférence binaire (155), et comprenant en outre l'étape suivante :
<claim-text>décomposer ladite matrice de conférence binaire (155) en un produit de deux matrices de sous-espace pour produire une représentation de sous-espace de ladite matrice de conférence binaire (155).</claim-text></claim-text></claim>
<claim id="c-fr-01-0015" num="0015">
<claim-text>Procédé selon la revendication 10, dans lequel ladite matrice de conférence (155) est une matrice de conférence binaire (155), et comprenant en outre l'étape suivante :<!-- EPO <DP n="60"> -->
<claim-text>réduire un rang de ladite matrice de conférence binaire (155) en utilisant une force brute ou un algorithme heuristique.</claim-text></claim-text></claim>
</claims>
<drawings id="draw" lang="en"><!-- EPO <DP n="61"> -->
<figure id="f0001" num="1"><img id="if0001" file="imgf0001.tif" wi="165" he="154" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="62"> -->
<figure id="f0002" num="2,7"><img id="if0002" file="imgf0002.tif" wi="130" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="63"> -->
<figure id="f0003" num="3"><img id="if0003" file="imgf0003.tif" wi="149" he="233" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="64"> -->
<figure id="f0004" num="4"><img id="if0004" file="imgf0004.tif" wi="158" he="194" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="65"> -->
<figure id="f0005" num="5,6"><img id="if0005" file="imgf0005.tif" wi="162" he="233" img-content="drawing" img-format="tif"/></figure>
</drawings>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>REFERENCES CITED IN THE DESCRIPTION</b></heading>
<p id="ref-p0001" num=""><i>This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.</i></p>
<heading id="ref-h0002"><b>Patent documents cited in the description</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><patcit id="ref-pcit0001" dnum="US6178237B1"><document-id><country>US</country><doc-number>6178237</doc-number><kind>B1</kind><date>20010123</date></document-id></patcit><crossref idref="pcit0001">[0003]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
