Multiport conference circuit with multi-frame summing
CROSS REFERENCES TO RELATED APPLICATIONS 
     Ser. No. 064,202, and Ser. No. 064,201 filed concurrently herewith each in the names of T. Funderburk and D. W. McLaughlin entitled respectively &#34;Multiport Conference Circuit with Voice Level Coding&#34; and &#34;Multiport Conference Circuit with Multiframe Summing and Voice Level Coding&#34; and assigned to the same assignee as the present application. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates generally to transmission and switching techniques in telephone communication systems and, more particularly, to an improved conference technique whereby a number of channels in a telephone switching system employing pulse code modulation for transmission purposes are combined so that a number of subscribers may participate in a common telephone conversation. More particularly still, it relates to improvements in a multi-port conference circuit of the type disclosed in U.S. patent application Ser. No. 857,168 filed Dec. 5, 1977, now U.S. Pat. No. 4,175,215 issued Nov. 20, 1979, which is assigned to the same assignee as the present invention. 
     The present invention pertains to a multi-port conference circuit for use in a private automatic branch exchange similar to those units manufactured by GTE Automatic Electric Incorporated and designated GTD120. Circuitry with minimum modification could also be employed in class five central offices that employ digital switching. Such telephone systems employ a time switching network rather than a space divided switching network. 
     In time division switching networks a requirement exists to have sources of pulse code modulated voice samples associated with time slots. These time slots allow the conference to sequentially receive the code for each conferee. For the conference circuit to be effective, it must be able to recognize who the conferees are and, of course, who is not associated with the conference. The circuitry must also be capable of distributing the conference speakers&#39; code to each conferee. Information of this sort is, of course, available in the telephone switching systems referred to above. It should be understood that only telephone switching systems employing pulse code modulation can use the circuitry of the present invention, and such circuitry interfaces with time division portions of such switching networks. 
     2. Description of the Prior Art 
     An approach to the handling of pulse code modulated information and conference circuitry is taught by U.S. Pat. Nos. 3,699,264, 4,007,338 and 4,054,755, which are assigned to the same assignee as the present invention. In these noted patents, digital signals are not converted to analog; but rather the binary words from the participating channels are compared with the channel having the smallest binary numbers selected as the speaker. An improvement in the conference circuitry disclosed in these above-identified U.S. patents is disclosed in the above-referenced U.S. patent application Ser. No. 857,168 now U.S. Pat. No. 4,175,215. 
     PCM conferencing as taught in the above-identified patents and application requires a source of pulse code modulated (PCM) coded voice samples which have associated time slots. These time slots allow the conference to sequentially receive a code for each conferee. The conference circuitry must be able to recognize who the conferees are and who is not associated with the conference call. 
     In the above-referenced U.S. patent application Ser. No. 857,168 now U.S. Pat. No. 4,175,215 PCM samples are taken for each conferee from the time switch and via comparator circuits, a PCM sample is sent to the conferee. Since the selected PCM sample is not determined until all samples are compared, a frame delay is required after which all conferees except the selected conferee will receive the selected PCM sample from the previous frame. The selected conferee, in turn, receives a null code (perfect idle channel). To minimize speech clipping or selecting noise, two circuits, a preliminary and a preferred speaker preference circuit, are employed. 
     The preliminary preference circuit utilizes the identity of the previous selected speaker and after its PCM sample is compared, its binary weight is modified to the highest value of a corresponding curve segment. This is done by adding a bit between the segment and the step bits, allowing the binary value to be decreased. This technique permits the conference circuit to hold onto the previous speaker if the incoming PCM samples are in the same PCM segment or below in value. 
     The preferred speaker preference circuit functions when the magnitude of the present PCM sample exceeds the value of the preferred preference circuit threshold. When a speaker is selected for the succeeding frame and has a larger PAM (smaller PCM code) sample than the threshold, a preferred preference circuit creates a lower binary weight (apparently larger PAM) to the comparator, for the selected speaker, for a period of one frame. This reduces speech clipping during that time when two or more conferees are conversing simultaneously. 
     Neither the preliminary nor the preferred preference circuit alters the incoming or the outgoing PCM sample to the comparison circuit to favor the previous speaker. 
     Further improvements in the multi-port conference circuit taught in the above-referenced U.S. patent application Ser. No. 857,168 now U.S. Pat. No. 4,175,215 are directed to reduce or substantially eliminate the problem of high idle channel noise resulting from always choosing the largest signal above null code (quiet or absence of signal), the distortion of signals to the listeners and distortion of the speaker side tone, and finally difficulties from foreign signals. 
     A major contribution to the speech quality degradation in digital conferencing is due to signal reflections of the original signal circulating and fighting for control of the conference. To provide transmission of only the primary signal, a continuous threshold is established to pass the primary and exclude the reflection. It is only used in the selection process. For conditions which do not provide the threshold being met, the previous speaker is retained. 
     Multiple speaker operation still provides flip-flop operation and is very rapid as compared to echo suppressor type flip-flopping or speaker phone operation. Thus, the loss of syllables is not heard, however, one may notice the shift of background noise levels, especially if one has a background signal like a radio. 
     This constant switch is reduced, by a locking method where though the foreign signal is still present, it is not chopped up due to switching between idle channels. 
     The conference circuitry includes two threshold comparators, one for the new conferee and one for the temporary speaker. 
     The new conferee&#39;s PCM is measured against the threshold, as well as that which reaches a temporary speaker PCM buffer which is also sensed to see if it is the previous speaker. Only conferees with PCM codes greater than that of the temporary speaker are allowed to take over. A greater code is actually of less binary value so A&lt;B allows the update to exist. The A corresponds to the conferee PCM buffer when the B corresponds to the temporary speaker PCM buffer. If the conferee is the previous speaker, it is updated unless the temporary speaker signal is greater and also exceeds the threshold. Once in the temporary speaker PCM buffer, only conferees which meet the threshold and exceed the temporary speaker PCM buffer will be allowed to take over. If neither of the conditions occur (i.e., the previous speaker is not encountered for this decision) just the PCM code values are used with the last being allowed to take over the temporary buffer. 
     SUMMARY OF THE INVENTION 
     Accordingly, it is an object of this invention to improve the above described type of operation by eliminating the possibility of switching to an idle conferees channel because of the presence of suprious noise pulses. 
     This is accomplished within a similiar PCM environment where time slot 94 of the Network is dedicated for conferencing. The conference circuit monitors the networks control memory contents, and when Time Slot I.D. 94 is detected in the control &#34;A&#34; memory 202, the conference circuit receives the PCM samples into the PCM buffers for processing. The control &#34;B&#34; memory 203 contains the conferee&#39;s own time slot I.D. This improvement is accomplished by having each conferee&#39;s PCM. The conferee with the greatest total number representing the greatest total energy, at the end of the selected number of frames shall have control during the next set of frames. If no conferee&#39;s total exceeds the last speakers, or if the last speaker is tied, the last speaker shall retain control. 
     Conference control is based on the summed level of PCM code during a selected number of frames along with the requirement to have code values representing the largest PAM value. This corresponds to the least binary code value due to the nature of PCM coding. The total value is then determined by totaling the values of the three most significant bits of the conferees PCM, excluding the sign bit. 
     To allow synchronous operation with the network time switching of the PCM operation, timing signals are generated which are derived from the network clock. The conference circuit does not alter the normal operations of the network time switching functions when either connected to or disconnected from the EPABX. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a functional block diagram of a conference circuit in accordance with the invention. 
     FIG. 2 is a schematic block diagram of a switching network with which the conference circuit is used. 
     FIGS. 3 through 8 when arranged as shown on FIG. 9 comprise a schematic circuit of the conference circuit of this invention. 
     FIG. 9 illustrates the manner in which FIGS. 3 through 8 are to be placed together to form a complete system. 
     FIG. 10 is a pulse chart showing various ones of the system&#39;s pulses. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The conference circuit of this invention consists of a group of functional sub circuits. These are shown functionally connected on FIG. 1 and also to the PCM switching system of FIG. 2 with which they function. These sub circuits are also shown in greater detail on FIGS. 3 through 8. These circuits are made up of medium scale integrated circuit chips of the 7400 family of commercially available semiconductors. For example of the type shown in &#34;The Integrated Circuits Catalog for Design Engineers&#34; First Edition by Texas Instruments Incorporated. 
     Slave Time Slot And Frame Counter (FIG. 3). 
     This circuit operates in response to a clock signal CK(B)-φ, shown on FIG. 10, from the network information memory 201. It basically utilizes 4 bit fully synchronous binary counters 301, 302, 303 such as for example the type SN-74163. At the end of a frame the counters are reset by the RESET-φ signal. This forces synchronization of the slave counter to the timing of the information memory 201. The RESET-φ signal is also used to clock counter 304 at the end of each frame. Signal F15-1 is generated by gates 306 and 307 and is used to identify the end of the 15 frame selection set. 
     Function Generator (FIG. 3). 
     The outputs A-1, B-1, and C-1 from counter 301 are fed to this circuit to create timing signals Wφ, X-φ, Y-φ, and Z-φ. See FIG. 10. These occur during every time slot. These signals and their inverted true pulses are used for the conference control functions. The Logic Equations are as follows: 
     
         W=A1 B1 C1 
    
     
         X=A1 B1 C1 
    
     
         Y=A1 B1 C1 
    
     
         Z=A B C. 
    
     Conference Port Detection (FIG. 3). 
     When the time slot counter reads the conference port time slot (94) signal CPD-1 is generated by NOR gate 325 to indicate that the conference port is detected. This signal is used to enable the conference port control logic. The Equation for CPD is 
     
         CPD=S1·S2·C1·C2·C4·C8.multidot.C16. 
    
     Conference Port Control (FIG. 4). 
     During time slot 94 signal CPD-φ from driver 326 allows NOR gates 401, 402 and 403 to generate signals CW-1, C·X-1, and C·Z-1 respectively. Signal C·W-1 is used to advance the conference reset counter 411, via NAND gate 409. This counter resets and initiates the selection procedure. 
     Signal C·X-1 is used for outputting the selected conferee&#39;s PCM code to the network. It effects the transfer of the Temporary PCM Buffer 809 to 816 contents to the Speaker PCM Buffer 817 and 818 at time slot 94 of each frame. During TS-94 of frame 15 of the 15 frame selection set signal C·X-1 is combined with signal F15-1 at gate 706 to transfer the newly selected conferee identity from Temporary Speaker Counter Buffers 707 to 710 to the last Speaker Counter Buffers 711 to 714. Signal C·Z-1 is used to preset the Conferee Buffers 801 to 808 via gates 823, 824, 825, 826 and 827, and to preset the Temporary Speaker Buffers 809 to 816 via gates 825, 826 and 827. 
     Conferee Detection and Control (FIG. 4). 
     Conference participants are assigned a binary identity 94 (1011110) in the Control Memory A of the switching system. Gates 405, 406, 407, and 408 decode this condition along with the absence of the hold bit, CAH-1. When ID-94 appears, gate 410 resets the conference reset counter 411. The conferee detected flip-flop 412 is set by the signal X-1 from the function generator and its outputs then control the conference functions for that time slot. These functions include gating out the speaker&#39;s PCM code at gates 836 to 843, allowing the update control at gate 611, enabling the peg sum memory 503, 504 and enabling the PCM Decoder 601. Signal CD-1 is combined with signal Z-1 at gate 822 to load the conferee buffer, it is combined with signal Y-φ at gate 404 to advance the conferee counter 701, and is combined with signal Z-φ to set the latch consisting of gates 832 and 833, which gates the speakers PCM code or Null code to the network via steering gates 819 and 820. The latch is reset by gate 831 when the signal CD-φ is removed due to Flip-Flop 412 being reset on some following time slot Z-1 pulse when ID-94 is not present. The Equation for CD is 
     
         CD=CA6·CA5·CA4·CA3·CA2·CA1.multidot.CAφ·CAH (ID=TS94). 
    
     Conference Reset (FIG. 4). 
     This circuit initializes the conference circuit by sensing the absence of any conferee for 15 frames. Thus the presence of signal CD-φ resets this 15 frame counter 411. Signal C·W-1 along with the absence of a decode of count 15 at NAND gate 413 advances the counter. Once count 15 is decoded, the counter is stopped and NAND gate 414 begins the initialization. The conference is idle and the various functions are inhibited by the output of NAND gate 415. The Temporary Speaker Count Buffer preset and Temporary Speaker Buffer loading functions are also disabled. 
     Conferee Counter (FIG. 7). 
     The Conferee Counter 701 is operated by signal CD·Y-φ from the Conference Port Control which indicates a conferee has been detected. The counter is reset by signal CPD-1 from the Conference Port detection circuit, which occurs every frame during TS94. The counter then indicates the assigned conference cycle position of the conferee. The counter count will correspond to the PCM code stored in the Conferee PCM Buffer. If this PCM code is transferred to the Temporary Speaker Buffer, the counter count will also be stored in the Temporary Speaker Counter Buffer, retaining the identity. 
     Conferee Count Comparisons (FIG. 7). 
     The contents of the Conferee Counter 701 and that of the Last Speaker Count Buffers 711 to 714 are compared to aid in the decision to update a conferee to the temporary speaker status. The last speaker can be detected by comparing the Conferee Counter to the Last Speaker Count Buffer, and is indicated by signal LASD-1 from gate 721. Signal LASD-1 is used to force the update of the Temporary Speaker Buffers 809 to 816 via gates 829 and 830, to aid in the temporary update decision of the temporary sum buffer 507 and 508, via the update control circuit consisting of NOR gates 608 and 609 and AND gates 610 and 611. The Equation for LASD-1 is 
     
         LASD=CC1⊕SC1·CC2⊕SC2·CC4⊕SC4·CC8.sym.SC8. 
    
     Peg Summing and Comparison (FIG. 5). 
     Each party in the conference is given a location in Peg Sum Storage 503 and 504, where the PCM sum is accumulated during the selection set. Sum Storage is addressed by signals CC1-1, CC2-1, CC4-1, and CC8-1 from the conferee Counter 701 so the conferees memory location corresponds with the identity. With each conferee identity the previous PCM code accumulation at that address is added to the conferees latest PCM code value, indicated by CPCM4-1, CPCM5-1 and CPCM6-1, via adders 505 and 506. This new sum is compared to the sum of the lowest value previously determined as stored in the Temporary Peg Sum Buffer. The Peg Sum Buffers 507 and 508 will hold the sum of the last speaker, unless a conferee has a lower sum than the last speaker during the current selection set. The new conferee sum is compared to the Temporary Sum by comparitors 509 and 510, and if smaller, then signal UPDATE-1 is generated via 608, and 609, 610 and 611 which loads the new conferee sum into the Temporary Peg Sum Buffer. Whether the conferee Sum is smaller than that in the Temporary Peg Sum Buffer or not the new conferee sum is loaded into buffers 501 and 502 during the presence of signal Z-φ. Then, with the presence of signal W-φ the new conferee sum is loaded into its corresponding memory location, and replaces its previous value. The process is repeated for the next conferee identities. During the last frame of the selection set signal F15-φ clears buffers 501 and 502 to begin a new series of sum accumulations for the following selection set. 
     Update Control (FIG. 6). 
     Signal UPDATE-1 from AND gate 611 may be generated several times during each frame to update the Temporary Sum Buffers (507 and 508). However, only during the last frame of the selection set is the Temporary Speaker Count Buffer 707-710 updated. The identity ending up in Temporary Speaker Count Buffers 707 through 710 at the end of frame 15 is the identity to have control over the next 15 frames. A new Temporary Speaker is selected only after every 15 frames. The Equation for this signal is 
     
         Update=A&lt;B+LASD+A&gt;B·EN·(CD·Z). 
    
     PCM Buffers (FIG. 8). 
     The Conferee Buffers 801 to 808 are loaded by the signal CD·Z and contain the true PCM code from the network. The buffer is preset to all ones (least PAM) on either signal CZ or count 15. The Temporary Speaker Buffers 809 to 816 contain the code of the largest PCM for the selection set. During each frame of the selection set the selected conferee&#39;s PCM code will be transferred to the Speaker PCM Buffers 817 and 818 on signal CX-1. 
     PCM Output (FIG. 8). 
     Steering gates 819 and 820 gate out the speaker PCM Buffer whenever CD·Z (L)-φ occurs without LASD-1. When LASD-1 occurs a Null code (all ones) is gated. Gates 836 to 843 gate this output to the network and signal FCONF-φ via gate 417 allows this PCM to be sent via the network conference steering to the conferee. 
     EXAMPLE OF CONNECTIONS ILLUSTRATING FEATURES 
     The presently disclosed configuration allows for up to 10 conferees to be included in a conference. However, for the purpose of understanding the concepts, a simplified conference group of only 4 conferees will be described. Connections for more conferees would be achieved in the same manner as described for the 4. 
     In will be assumed that the conferees respective lines or trunks have been assigned the following time slot locations in the exchange switching system: 
     
         __________________________________________________________________________
Line       Assigned                                                       
                 Equip-                                                   
or         Time  ment Memory Address Data                                 
Conf.                                                                     
     Trunk Slot  No.  CHE   A     B                                       
__________________________________________________________________________
A    205    0    OD   7C00-0D                                             
                            7D00-5E                                       
                                  7D80-00                                 
B    250   13    3A   7C0D-3A                                             
                            7D0D-5E                                       
                                  7D8D-0D                                 
C     10   29    89   7C1D-89                                             
                            7D1D-5E                                       
                                  7D9D-1D                                 
     (Trunk)                                                              
D    291   55    63   7C37-53                                             
                            7D37-5E                                       
                                  7DB7-37                                 
__________________________________________________________________________
 
    
     The Channel Memory 204 has the transmit address and indicates the equipment number of the conferee to be transmitted to. The CON·A memory 202 contains the Data 5E (94 Decimal), indicating a participant in the conference, while the CON B Memory 203 contains the conferee&#39;s own time slot identification. 
     Frame φ 
     Time Slot 0: The presence of Channel A Memory data 5EH at the input to drivers 405, 406 and 407 and gate 408 produces at its output a logic 0 level signal ID-94-0 indicating the presence of a conferee in this time slot. Signal ID-94-0 with timing signal X-1 from the Function Generator NAND gate 315 and driver 319 set the conferee detection flip-flop 412. Signal CD-φ from flip-flop 412 combines with timing signal Y-φ from NAND gate 317 to clock the Conferee Counter 701. The outputs of flip-flop 412 are address lines CC8-1, CC4-1, and CC2-1, and CC1-1 and will now be logic levels 0, 0, 0, 1 respectively, indicating to the Temporary Speaker Count Buffers 707-710, and to the sum storage registers (504 and 505) that the first conferee is present. Signal CD-1, also from flip-flop 412, is combined with timing signal Z-1 via NAND gate 822 to clock the conferee&#39;s PCM sample into the Conferee Buffers 801-808. The outputs of buffers 805, 806 and 807 are respectively the three most significant bits of the PCM sample, excluding the sign bit. These signals, CPCM4-1, CPCM5-1, and CPCM6-1, are then added to that conferee&#39;s previous sum as stored in RAM memory sections 503 and 504, as selected by bits CC8-1, CC4-1, CC2-1 and CC1-1 from the conferee counter 701 indicating the conferee&#39;s position in the conference group. However, since this is the first frame, that data would be 00 H . Previous to the beginning of the conference the signal F15-φ would have cleared any data in buffers 501 and 502 then clearing that memory location in the RAM 503 and 504 at the same time that the new PCM data was being loaded into the conferee buffers 801-808. The data is added via binary adders 505 and 506. The new sum is then compared to the data in the Temporary Peg Sum Buffers 507 and 508, via comparators 509 and 510. At this point the data in buffers 507 and 508 would be 00 H , as they would have been cleared by F15-1 and timing signal CZ-1 via NAND gate 705 previous to the beginning of the conference. At this point if the conferee&#39;s sum total from 505 and 506, is greater than or equal to the data in temporary sum buffers 507 and 508, no update occurs, and the conferee&#39;s new total is loaded into his RAM location. However, if the new value generated from comparator 509 and 510 which is responsible for generating the signal UPDATE-1 via update control gates 607-611 smaller it will load the new sum into the temporary sum buffers 507 and 508. 
     This data now becomes the basis for future conferee sum comparison. Also, when UPDATE-1 is generated, that conferee&#39;s identity is loaded into temporary speaker count buffers 707-710, so that it is saved. 
     Time slots 13, 29 and 55: During a time slot where no conferee is present, signal ID-94-0 is at a logic high level so that signals CD-0 and CD-1 from flip-flop 412 are at the opposite levels needed for enabling the selection circuitry. During time slots 13, 29, and 55, where conferees are present the circuit performs as in time slot 0. The difference is that each time a conferee is detected the conferee counter 701 is incremented by 1 to provide that conferee&#39;s identity to the Temporary Speaker Count buffers and for his address in the RAM. As with the first conferee (slot 0), signals CC8-1, CC4-1, CC2-1, and CC1-1 became 0, 0, 0, 1 respectively. The signal will become 0, 0, 1, 0 with conferee B (slot 13); 0, 0, 1, 1 with conferee C (slot 29); and 0, 1, 0, 0, with conferee D (slot 55). These signals distinguish which conferee is being considered at that time slot. During these time slots, as in time slot 0, the PCM is added to his previous sum total from the RAM and compared to the value in the Temporary Peg Sum Buffers 507 and 508. Again, if the sum total at that time slot is greater than or equal to the sum in the Temporary Peg Sum Buffers 507 and 508 no update occurs. If the new total is smaller than the sum in the Temporary Peg Sum Buffers 507 and 508 then an update occurs placing the new sum in the buffers, and loading the conferee&#39;s identity into Temporary Speaker Count Buffers 707-710. 
     Time Slot 94: Time slot 94 is the time slot which is dedicated to conference selection, so there will never be a conferee present in that slot. Signal CPD-1 is generated by the Slave Time Slot Counter FIG. 3 to indicate when Time Slot 94 is present. CPD-1 is also used for various timing functions. During frames 0-14, CPD-1 resets the Conferee Counter 701 to 0000, so that it is ready for the first conferee in the next frame. 
     Frames 1 through 14. The operation during frames 1 through 14 is the same as for frame 0. During each time slot where a conferee is detected, the PCM is added and compared. Updates continue so that at the end of frame 14 the sum of the conferee with the largest total energy thus far is the Temporary Peg Sum Buffers 507, 508, and his identity is in the Temporary Speaker Buffers 809-816. 
     Frame 15. Frame 15 continues the comparison process as in frames 0-14 up to time slot 94. Time slot 94 of frame 15 is used for the final conferee selection operation. The identity of the conferee with the smallest total, or greatest total energy, is in the Temporary Speaker Count Buffers 707-710. At this time the contents of the Temporary Speaker Count Buffers 707-710 will be transferred to the Last Speaker Count Buffers 711-714. For the next 16 frames (0-15) that conferee will have speaker control. The outputs of the Last Speaker Count Buffers (711-714) form the signal LASD-1 which indicates when the last speaker is detected. The signal LASD-1 performs three main functions. (These are performed during the next 14 frames of the next selection set.) First, signal LASD-1 is combined with signal CD-1 and timing signal W-1 via NAND gate 829 to clock the conferee&#39;s PCM code from the Temporary Speaker Buffers 809-816 to the Speaker PCM buffers 817 and 818. Secondly, when timing signal C·X-1 clocks the PCM from the Speaker PCM Buffers 817 and 818 to the Null Steering Logic 819, and 820, signal LASD-1 steers the logic to output a null code to the selected conferee. The Speaker&#39;s, PCM code goes to all conferees except the speaker himself, who is designated by LASD-1. The PCM is then outputted to the system when a conferee is indicated by signal CD-0. The final function of LASD-1 is to provide an update in case of a tie. Normally, when a conferee&#39;s sum total is compared to that in the Temporary Peg Sum Buffers 507 and 508, no update occurs if the peg sum is greater than or equal to the contents of the buffers. However, if the conferee is the last speaker to have control, then an update will occur if the signals are equal.