Multiport conference circuit with voice level coding
CROSS REFERENCES TO RELATED APPLICATIONS 
     Ser. No. 064,203, 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 Multi-frame Summing&#34; and &#34;Multiport Conference Circuit with Multi-frame 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 multiport 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 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 simplify the above described type of operation by eliminating the multiple comparison steps for each conferee. 
     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 decoded and assigned a peg value of 0, 1, 2, 4, or 9 depending on the strength relative to a predetermined threshold level. The conferee with the greatest number of pegs, representing the greatest total energy, at the end of the frame shall have control during the next frame. If no conferee&#39;s peg count exceeds the last speaker, or if the last speaker is tied, the last speaker shall retain control. 
     Conference control is based on a threshold level of PCM code 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 peg value is determined by 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 code 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 such as the GTD120. 
    
    
     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 (MSI) 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. 
     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=Al 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.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. C.X-1 is also used to transfer the newly selected conferee identity from Temporary Speaker Counter Buffers 707 to 710 to the last Speaker Count Buffers (711 to 714). Signal C.Z-1 is used to preset the Conferee Buffers (801 to 808) via gate 825, 826, 827, 823 and 824, 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), allows the update control at gate (611), and enables the PCM Decoder 601. Signal CD-1 is combined with signal Z-1 at gate 822 to load the conferee buffer, 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 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.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 conferees. 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 peg sum buffer 507, 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.CCθSC4.CC8θSC8. 
    
     THRESHOLD COMPARISON/PCM DECODER (FIG. 6). 
     The three most significant bits on leads CPCM4-1, CPCM5-1 and CPCM6-1, of the PCM sample taken from the output of the Conferee Buffers 801 through 807 are decoded by a MSI circuit 601 and AND gates 603 to 606 and assigned a peg value depending on the PCM&#39;s relationship to the threshold. Signals DBφ-1, DB1-1, DB2-1 and DB3-1 (DBφ-1 is the least significant bit, DB3-1 is the most significant bit) of the assigned binary peg value are then available for the peg value comparison. The peg values are assigned according to the following table: 
     
         ______________________________________                                    
Conference PCM   Peg Value                                                
CPCM6  CPCM5    CPCM4    DB3  DB2  DB1  DB0                               
______________________________________                                    
0      0        0        1    0    0    1    9 Pegs                       
0      0        1        0    1    0    0    4 Pegs                       
0      1        0        0    0    1    0    2 Pegs                       
0      1        1        0    0    0    1    1 Peg                        
1      0        0        0    0    0    0    0 Pegs                       
1      0        1        0    0    0    0    0 Pegs                       
1      1        0        0    0    0    0    0 Pegs                       
1      1        1        0    0    0    0    0 Pegs                       
0      1        1        THRESHOLD                                        
______________________________________                                    
 
    
     PEG SUM COMPARISON (FIG. 5). 
     The four bits DBφ-1, DB1-1, DB2-1 and DB3-1 are routed to the comparator 509 where the new peg value is compared to the highest peg value previously received and stored in the temporary peg sum buffer 507. The peg sum buffer 507 will hold the peg value of the last speaker, unless a conferee has exceeded the last speaker. If the new value is larger then signal UPDATE-1 is generated to load the new value into the temporary peg sum buffer. 
     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). The identity ending up in Temporary Speaker Count Buffer at the end of the frame is the identity to have control over the next frame. The Equation for this signal is 
     
         Update=A&gt;B+LASD+A&lt;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 signal CZ. The Temporary Speaker Buffer (809 to 816) contains the code of the largest PCM for the selection set. During each frame of the selection set the selected conferee&#39;s PCM will be transferred to the Speaker PCM Buffer 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-φ (417) allows this PCM code 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), 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&#39;s 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 decoded via PCM Decoder 601 and NOR gates 603-606 to form a weighted binary code. The decoder is in this example wired to decode the 3 PCM bits to a binary code of φ, 1, 2, 4, or 9 (φφφφ, φφφ1, φφ1φ, φ1φφ, 1φφ1), depending on the PCM&#39;s relationship to a fixed threshold level. Decoded bits DB3-1, DB2-1, DB1-1, DB0-1 are the weighted outputs and are determined by the following PCM values: 
     
         ______________________________________                                    
Decoder       Decoder                                                     
Inputs        Outputs                                                     
CPCM-         DB-                                                         
______________________________________                                    
-6    -5      -4      -3    -2    -1    -0                                
0     0       0       1     0     0     1                                 
0     0       1       0     1     0     0                                 
0     1       0       0     0     1     0                                 
0     0       0       0     0     0     1                                 
1     0       0       0     0     0     0     (0)                         
1     0       1       0     0     0     0     (0)                         
1     1       0       0     0     0     0     (0)                         
1     1       1       0     0     0     0     (0)                         
______________________________________                                    
 
    
     The weighted binary code is then routed to the input of comparator 509. However, since this is the first frame, that data would be 00 H . The new peg value is then compared to the data in the Temporary Peg Sum Buffer 507, via comparator 509. At this point the data in buffer 507 would be 00 H , as it would have been cleared by timing signal CZ-1 via NAND gate 705 previous to the beginning of the conference. At this point if the conferee&#39;s peg total is less than or equal to the data in temporary peg sum buffer 507, no update occurs. However, if the result of the new peg comparison generated from comparator 509, which is responsible for generating the signal UPDATE-1 via update control gates 607-611, is greater, the new peg sum is loaded into the temporary peg sum buffer 507. 
     This data now becomes the basis for future conferee peg 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 conference 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. 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, which 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 converted to a weighted binary code, and compared to the code in the Temporary Peg Sum Buffer 507. Again, if the peg sum total at that time slot is less than or equal to the peg sum in the Temporary Peg Sum Buffer 507 no update occurs. If the new peg sum total is greater than the sum in the Temporary Peg Sum Buffer 507, then an update occurs placing the new peg sum in the buffer, 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. CPD-1 resets the Conferee Counter 701 to 0000, so that it is ready for the first conferee in the next frame. 
     Time slot 94 is used for the final conferee selection operation. The identity of the conferee with the largest peg 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 Buffer 711-714. For the next frame 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. 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 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 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 peg sum total is compared to that in the Temporary Peg Sum Buffer 507, no update occurs if the peg sum is less 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.