CA2188171C - Data/voice/fax advanced priority statistical multiplexer - Google Patents
Data/voice/fax advanced priority statistical multiplexerInfo
- Publication number
- CA2188171C CA2188171C CA002188171A CA2188171A CA2188171C CA 2188171 C CA2188171 C CA 2188171C CA 002188171 A CA002188171 A CA 002188171A CA 2188171 A CA2188171 A CA 2188171A CA 2188171 C CA2188171 C CA 2188171C
- Authority
- CA
- Canada
- Prior art keywords
- data
- voice
- high priority
- packets
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00281—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1682—Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
- H04J3/1688—Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/24—Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially
- H04J3/247—ATM or packet multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/253—Telephone sets using digital voice transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
- H04M11/06—Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
- H04M11/064—Data transmission during pauses in telephone conversation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00281—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
- H04N1/00302—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a telephonic apparatus, e.g. telephone answering machine or videotex terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00281—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
- H04N1/00312—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a digital transmission apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, SMS or ISDN device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6424—Access arrangements
- H04L2012/6427—Subscriber Access Module; Concentrator; Group equipment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6445—Admission control
- H04L2012/6459—Multiplexing, e.g. TDMA, CDMA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6445—Admission control
- H04L2012/6462—Movable boundaries in packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6464—Priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6486—Signalling Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6494—Silence suppression
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S370/00—Multiplex communications
- Y10S370/916—Multiplexer/demultiplexer
Abstract
A data multiplexing network is described which multiplexes a plurality of asynchronous data channels with an asynchronous data stream representing compressed voice signals and or facsimile signals onto a single synchronous data packet stream. The single synchronous data packet stream is then transmitted by a high speed statistical multiplexer over a composite link to a second site using a modified high-level synchronous data link control protocol with an overlay of an advanced priority statistical multiplexing algorithm. The asynchronous data channels and the compressed voice channel and/or facsimile signals are demultiplexed and reconstructed for sending to other asynchronous computer terminals and to a standard telephone or facsimile analog port at the second site, respectively. PBX trunk interfaces are also provided to allow PBX's to share the composite link between sites. Communication between the first site by voice or facsimile and the second site is transparent to the users. The multiplexer efficiently allocates the bandwidth of the composite link by detecting silence periods in the voice signals and suppressing the sending of the voice information to preserve bandwidth. An advanced priority statistical multiplexer is also described which dynamically allocates composite link bandwidth to both time-sensitive and non-time-sensitive data to maximize data throughout efficiency and quality while simultaneously reducing multiplexer processing overhead.
Description
woss/2ss76 ~l~817l r~l~u~c~v34 DATA/VOlCI ~ AX AnvAN(~l~ Pl~[~l I'Y
STAT~STI('Al . MTn :nPI ~Xh R
Fiel~l of the Tnventir~n The present invention relates to data r~""""",~ ", and in particular to automatic data bandwidth allocation in 1llllllllllll;,~l;,,l~ ""~ which multiplex data, facsimile and ~;UIII,UI~i~.,d voice over a single composite lirlk.
n~. ~, Uul ,~ of the Tnyentir)n Data ~ in the ~PIr ~lllllll~lll;l A~ field are used to combine several asynchronous and iiy~-~l--ul-uuii data r~ "~ ., signals from indiYidual data terminal equipment (DTE) sources such as computer 15 tem~inals or personal computers (PC's) onto a single composite link The individual asynchronous and s~ lllu~uui~ signals from the PCs are connected to the ~ul~ channel inputs and converted into a single signal called the composite signal which is then sent over a single analog or digital link called the composite link. Of course, the composite link may be a dedicated 20 telephone line, a leased line, or a single private wire.
The data IllulL;~ combines the channel signals from individual PCs rnto a composite signal by using one of a va~iety of techniques such as frequency division ",.,1l;l)l. ^;~,g~ time division "i; ' g and statistical ti~ne division Illllll;lllr~;~lg Frequency division .,.,.1~ rl~
25 assign sepatate ~equencies to each signal and combine the frequencies onto the single composite link. Time division ~ assign a time slice of a single catrier to each of the channels being combined. Statistical time division ~ are an adaptation of time division ~ in which only those channels actually sending data get a slice of tirne. This results in a 30 more efficient use of the composite link Typically, a data Illul~ ~. l is used as an efficient altemative ~ to ttaditional data illllllllllll;l l1;1-"~ in which a single channel uses a single telephone line link By combining a plurality of ~ ,ll.ullous channels into a composite link fewer telephone lines or leased Irnes and less equipment is 35 used to transfer the data. This is especially cost effective ~vhen a four wire WO 95/29576 r~ ... or ~7`1 2 '`
"leased" line is used to connect a pair of synchrorious modems. This type of private line offers a degree of security that public dial-up telephone lines cannot match. In addition, the superior error correction of a synchronous network is preferred over the single telephone line a~yll~hlu~luu~
5 ~l.""~. l;.",~ Better yet, the use of a digital line with a DSU (Digital Service Unit) connection is more reliable and error free than analog.
Figure I shows a typical Al 1~11~111` ' 1~ for a prior art connection of a plurality of PCs at building A 101 and a computer system at building B
102. The computer system at building B may be personal computers (PC's) 10 103 such as those shown in building A or any variety of computer equipment devices. Traditional dial-up telephone links 105a, 105b, 105c through 105n are used between the plurality of PC's in building A 101 and the plurality of data terminal equipment (DTE) devices of building B such as a VAX
computff 106. Each ~yll~LIullu~ link, therefore, requires its own dial-up 15 link lO5a, lOSb, 105c through lOSn, which is rn many cases not cost effective. The Illlll~r~ 1;,.,,~ may be between two sites, or multiple sites maybe connected.
Figure 2 shows a prior art data Illl~ A ~I scheme in which a plurality of PC's 203 at building "A" 201 are 111~ using a data 20 ~ lL~I~lc~cil and ~ylll,lLIUIIUlJ~ modem 207 to transmit the ;-.r,.,.,~l;"" over a single telephone link 205 to building "B" 202. The signals are then llrlllllll;l~ l by a similar ,..,.ll;l,l. Il/~ll~IClll 208 and transmitted to the DTE of building "B" 202, which for illustrative purposes is shown as a VAX
computer 206.
In geneal, Figure 2 describes a data lllulL.~JI~l 207 and, in particular, a device ll~lllr~LulcJ by the assigrlee of the present invention called the MultiMuA (mcdel 900, 1600 or 3200) product from Multi-Tech Systems, Inc. of Mounds View, Minnesota. The product allows for up to n-RS232 (,~ - -- .- - l ;- -, ,~ to local PCs 203, dumb terminals, host computers such as 30 a DEC VAX 206, or other devices which l~ via ~yl~,LIu luu~
connection. In one product environment, n equals eight where eight PC's or other ~yll~,hlulluu~ devices can be attached to eight RS232 ports. The woss/29s76 ~817~ r~ o 4 composite link is typically handled through an proprietary protocol with data rates up to 64 kilobytes per second. Not shown is a command port for menu driven control of the operational settings of the data ~
('nnn~tinn~ from one site to another site over a composite link S using a dedicated line is an efficient use of the line resources, however additional line 1~l.llll~ l;..,,~ are still typically needed between the two sites or more sites for traditional telephone voice or facsimile ~ ."~ between the sites. There is a~need in the art, therefore, to combine w~ Ld voice grade telephone signals with data signals and facsimile signals and transmit all10 over a composite link to further increase the efficient use of a single telephone line cnnn~tinn ~here is yet a further need in the alt to combine voice grade telephone signals with both synchronous and a~yll~,LIulluu~ data signals for 1"-"~ ;---- over a composite link for erlhanced efficiency of a single telephone line connection.
S~nnmS~y of the Tnventinn The present invention solves the: ~ r.~ IrlTI`;rl l~ Of the prior art and solves other problems that ~vill be understood and d~ ' ' by those skilled in the art upon reading and . ~ ;. ,V the 20 present ~1~ .;IT. ,.1 ;... ,. The present invention describes a data ".. ~11 ;l.l. ~ ;..P
network which combines a plurality of ~ ul~uu~ and ~ylll,LIulluu~ data channels with an ~ Lulluu~ datd stream ~I~.Ll~ ~Il..y..~ I voice signals andlor facsimile signals onto a single ~ ul~uu~ data packet stream.
The single ~yll,lllulluL~ datd packet stream is then transmitted by a high speed25 statistical '~i ' over a composite link to a second site using a modified high-level ~yll~LIullulls data link control protocol with an overlay of an advanced priority statistical ~ v algoritbm. The a~ lll,lllUIIUUJ
~yll~LIulluu~ datd channels and tlle Wlll~ l voice channel and/or facsirnile signals are ~' "i ' ' and ~;u.~LIu.,t~l at the second site for sending to 30 other a~yll~,LLulluu~ and ~yll~hlu~lu~s data terminal e~uipment and to a standard telephone or facsimile analog port or PBX interface, respectively.
" ~ ,A ' ~
4 , .
CI~ between the first site by voice O} facsimile and the second site istransparent to the users.
The total bandwidth of the composite link ~ "~
between sites may be ;"~ , vu~ly allocated to high priorit~Y data (time sensitive) and low priorit~Y data (non-time-sensitive) based on ;1 ~ vl ~
systemdemands. Invoiceoverdata~..,,,,,,~,;(rII..,,~itispossibletogreatly reduce bandwidth allocated to the high priority voice packet ;., r. " I I IA~ byeliminAtin~ ofrepeatedsilentpackes. Thevoicedetection algorithm tells the data processor that the packet is empty which is IC~JlC:~lClll~LiVC
of silerlce. The data processor then does not send the packet, but instead sends a flag to the other side of the composite link to indicate no voice is being sent. In the event of silence, the maAimum low priority data (~llcluu~luu~ or ~yllcluulluu~ data) packet size is dynamically chAnged based on the use of the voice channel. If there is a lot of silence, or the voice channel is not active at all, then the maAimum low priority data packet size can grow to be quite large providing a larger ~.rll~ hlulluu~ and ~y~ ulluu~ data channel throughput. An advanced priority statistical ulul~ ,Acl ensures maAimum data throughput qualitY and efficiency while ~;",.,1 ,. ~ y reducing .,..~ , processing overhead.
Advanced prioitY statistic~l ~""' ~ is performed by allowing the system to periodically review whether the received packeS have changed bet~veen Yoice; " r..., . IA1 ;.., . and data informAti~m by setting a barrier ca~led the interrupt boundary byte count (IBBC) as a periodic sampling coumt.
The IBBC is the number of low priority bytes transmitted when the maAimum high priority bytes are being transferred by the system. The number of low priorit~Y bytes will increase as the number of high prioritY packets decreases.
This provides a dynamic packing of the low priority bytes about the high priority bytes of the system, whereby the ~ " ,~ effort is aided by having a " ~ 1 sampling time equal to the inter~upt boundarY byte count.
Descr~ption of the Drawln~
In the drawings, where like numerals describe like ~ , A,~END~D S~EEr ~ ~ 8 8 ~ 4 ,, -tbroughout the several views, Figure I is a drawing of a prior art connection between building A
and building B using traditional dial-up telephone links by modem;
Figure 2 is a prior art description of the connection between building A and building B using a statistical ~ link;
Figure 3 is a general block diagram showing the preferred embodiment of the present invention which combines both telephone and -facsimile " ~ r. ~ " . ~ through a number of possible alternative interfaces with digital data infilrrn~ti~n for ~ to and ~ at a remote site;
'D~3 S~iE~T
WO 95/29S76 1~,111.).,,~, ~ 1 218~171 5 Figure 4A (two sheets of drawings) is a detailed block diagram showing the use of the '~ij ' 300 of the present invention to combines both telephone (wice), facsimile through a variety of ~ lr~ with data over a single composite link to a remote site;
Figure 4B is a detailed block diagram showing the division of major ll~ q~ of the data/voice/fax ~ " of Figure 4A including the FXS, FXO and E&M interfaces;
Figure 5A is a diagi~im showing a first one of the preferred ~l ll ll lr~ 1;1 ll l~ of the present invention which ~ voice telephone, 10 facsimile info~.AAtir)n and digital data r ~ for IIAI~ to and ~lr~ at a remote site for connection to other DTE devices and for connection to remote voice telephone and facsiriAile equipment;
Figure 5B is a diaglam showing a second one of the preferred lllr~ of tbe present invention which ~""II;l.Il i voice telephone, 15 facsimile i,-rl~.",A~;"" and digital data ill~lllllA~;Illl for IIAII~ to and .Ir.111111;1~ at a remote site for cormection to other DTE devices and to a remote PBX;
Figure 5C is a &agram showing a third one of the preferred , 1 Il ll .. . 1;. .. ,~ of the present inverltion which " ."II ;~ voice telephone, 20 facsimile jl,~ I and digital data r '- for IIA~ ;IIII to and llrll. ~ at a rernote site for connection to other DTE devices and to remote voice telephone and facsimile equipment through a remote PBX;
Figure 5D is a diagram showing a fourth one of the preferred rJ ~ ;"- ,~ of the present invention which ~ voice telephone and 25 facsimile r " through a locai PBXwith local digital data ;"IA.. AI;, for l~A ~ I to and ~l "~ at a remote site for connection to other DTE devices and to remote PBX for remote voice telephone and facsin ile equipment;
Figures 6A, 6B and 6C are detailed block diagiams of the 30 a~ lLlulll~ ; chaAAnel car~s, the aggregate car~is ~ind the voice/ fax carcs, IQ~Liv~ly~ of the IIIL~ A~I shown in Figure 4B;
W0 95/29576 F~
218817l 6 Figures 7A-71, 8A-81, 9A-91 and IOA-IOI are detailed electrical schematic diagrams of the voice!fax card of Figure 6C, Figure 11 is a signal flow diagraTn of the speech ,Ulll~JlQ~iVII
algoritnm;
Figure 12A is a detailed function flow diagram of the speech ~,VllllJlQ:~iUII algorithm;
Figure 12B is a signal flow diag~am of the speech ~UIII~JI~i algorithm showing details of the code bvok synthesis;
Figure 13 is a detailed function flow diagram of the speech 10 ~v~ ~ion algorithm;
Figure 14 is a flow chart of the modified HDLC 1, Al~
packet protocol using priorit,v statistical '~,il ' ' ~ of the data/voice!fax ~ulli~l~,~vl of Figures 6A, 6B and 6C;
Figure 15 shows a Link R~quest Frame used to initiate and 15 Qstablish a connection between ""~ using modified HDLC with Advanced Priority Statistical ~ -~
Figure 16 shows a Voice/Fax Data Fratne used to transmitvoice/fax channel data;
Figure 17 shows a Network Contrvl FraTne used in a 20 networking ~IIVilUIIIII~
Figure 18 shows an A~yll~LIullu~ Channel Data Frame used to transmit ~yll~LIullvu~ channel data;
Figure 19 shows an A~ uwl~ Frame used to a.,lu,uwl~ between ,.., ~
Figure 20A shows one rl . .l ~1;" ,. .1 of a two priority level Figure 20B shows a portion of the ,.. 1l;l,l - 1 high priority and low priority data transmitTed by one c. . ~ of a two priority level advancedpriority statistical ,1,,lll;l,ll .. "
Figure 21 is an example of ~ , two priority levels of data in a hybrid framc;
~8~I7I
Figure 22 is another example of ~ , two priority levels of data in a hybrid frame; and Figure23showsoner~ ol1;lll 1l of athreeprioritylevel 1.l,l11;l,1. ~rl D~f~ Descrirtinn of th~ Preferred Fmho~1im~nte In the following Detailed Description of the Preferred Embodiment, reference is made to the a~,co~ yil~g drawings which form a part hereof and in which is shown by way of illust~ation specific e" .l ,o.l;., . . ~ in which the invention may be practiced. These r~ u.ll~ are described in sufficient detail to enable those skilled in the art to practice and use the invention, and it is to be understood that other ~mhoflimPnte may be utilized and that electrical, logical, amd structural changes may be made without departing from the spirit and the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims.
One attempt at telephone line multiplex channeling of voice and digital; " r. ,, . " ~ . was made by Richard D. Greenblatt in U.S. Pat. No.
5,136,5~6. Greenblatt described a system which used guard band signals to separate voice and digital infnrms~finn transmitted over a telephone line. Another attempt by Doney, et al., in EP 0 582 537 described l . Al 1~111. ~;'1'~ of highpriority real time traffic on low speed ~,11111111.1111. -1;l lllC links Neither systern describes an interrupt boundary byte count for use in improving receiver sampling rates, as described herein.
Syet.~m Oveniew Figure 3 is a block diagram showing a plurality of cormection nnmhin~tlnne for the preferred r. ~ o.l; ~ of the present invention which is a ~...""".~ . :;nn system in which a data/voice/fax l, ll;lll rl 300a is configured to take voice infnrm ~rinn from telephone equipment, facsimile l,, r.., ., . 1 ;"" from facsimile machines amd ~ylll,LIuiluu~ and ~yl~Ll~lu~luu~ data from data terminal ~MENDE~ SHEEl 8 ~ ~ ~ 7 ; " ~
quipment ~DTE) devices and combine this infnrrn~tinrl and data for over a single composite cl.., ..". ": ~ " .. link. Data/voice/faA
,A~I~ 300a arld 300b (generAlly referred to as data/voice/faA ",.,~
300)areidenticallyconfiguredforl,,,,11.l,l~ ;~and~1f ,,,ll~1,l lllf~lthisdataand infnrrn~tinn The result of this connection allows telephone, facsimile and data c.,..".,.l"~ betweensites"A"and"B"inamethodof...,.lll.,.,. ~n which appears to users at both sites to be .~ and tr~ncr~rf~n~
A,!~lE~I,E~ S~EET
WO 95/29~i76 ~ 1..3~ v34
STAT~STI('Al . MTn :nPI ~Xh R
Fiel~l of the Tnventir~n The present invention relates to data r~""""",~ ", and in particular to automatic data bandwidth allocation in 1llllllllllll;,~l;,,l~ ""~ which multiplex data, facsimile and ~;UIII,UI~i~.,d voice over a single composite lirlk.
n~. ~, Uul ,~ of the Tnyentir)n Data ~ in the ~PIr ~lllllll~lll;l A~ field are used to combine several asynchronous and iiy~-~l--ul-uuii data r~ "~ ., signals from indiYidual data terminal equipment (DTE) sources such as computer 15 tem~inals or personal computers (PC's) onto a single composite link The individual asynchronous and s~ lllu~uui~ signals from the PCs are connected to the ~ul~ channel inputs and converted into a single signal called the composite signal which is then sent over a single analog or digital link called the composite link. Of course, the composite link may be a dedicated 20 telephone line, a leased line, or a single private wire.
The data IllulL;~ combines the channel signals from individual PCs rnto a composite signal by using one of a va~iety of techniques such as frequency division ",.,1l;l)l. ^;~,g~ time division "i; ' g and statistical ti~ne division Illllll;lllr~;~lg Frequency division .,.,.1~ rl~
25 assign sepatate ~equencies to each signal and combine the frequencies onto the single composite link. Time division ~ assign a time slice of a single catrier to each of the channels being combined. Statistical time division ~ are an adaptation of time division ~ in which only those channels actually sending data get a slice of tirne. This results in a 30 more efficient use of the composite link Typically, a data Illul~ ~. l is used as an efficient altemative ~ to ttaditional data illllllllllll;l l1;1-"~ in which a single channel uses a single telephone line link By combining a plurality of ~ ,ll.ullous channels into a composite link fewer telephone lines or leased Irnes and less equipment is 35 used to transfer the data. This is especially cost effective ~vhen a four wire WO 95/29576 r~ ... or ~7`1 2 '`
"leased" line is used to connect a pair of synchrorious modems. This type of private line offers a degree of security that public dial-up telephone lines cannot match. In addition, the superior error correction of a synchronous network is preferred over the single telephone line a~yll~hlu~luu~
5 ~l.""~. l;.",~ Better yet, the use of a digital line with a DSU (Digital Service Unit) connection is more reliable and error free than analog.
Figure I shows a typical Al 1~11~111` ' 1~ for a prior art connection of a plurality of PCs at building A 101 and a computer system at building B
102. The computer system at building B may be personal computers (PC's) 10 103 such as those shown in building A or any variety of computer equipment devices. Traditional dial-up telephone links 105a, 105b, 105c through 105n are used between the plurality of PC's in building A 101 and the plurality of data terminal equipment (DTE) devices of building B such as a VAX
computff 106. Each ~yll~LIullu~ link, therefore, requires its own dial-up 15 link lO5a, lOSb, 105c through lOSn, which is rn many cases not cost effective. The Illlll~r~ 1;,.,,~ may be between two sites, or multiple sites maybe connected.
Figure 2 shows a prior art data Illl~ A ~I scheme in which a plurality of PC's 203 at building "A" 201 are 111~ using a data 20 ~ lL~I~lc~cil and ~ylll,lLIUIIUlJ~ modem 207 to transmit the ;-.r,.,.,~l;"" over a single telephone link 205 to building "B" 202. The signals are then llrlllllll;l~ l by a similar ,..,.ll;l,l. Il/~ll~IClll 208 and transmitted to the DTE of building "B" 202, which for illustrative purposes is shown as a VAX
computer 206.
In geneal, Figure 2 describes a data lllulL.~JI~l 207 and, in particular, a device ll~lllr~LulcJ by the assigrlee of the present invention called the MultiMuA (mcdel 900, 1600 or 3200) product from Multi-Tech Systems, Inc. of Mounds View, Minnesota. The product allows for up to n-RS232 (,~ - -- .- - l ;- -, ,~ to local PCs 203, dumb terminals, host computers such as 30 a DEC VAX 206, or other devices which l~ via ~yl~,LIu luu~
connection. In one product environment, n equals eight where eight PC's or other ~yll~,hlulluu~ devices can be attached to eight RS232 ports. The woss/29s76 ~817~ r~ o 4 composite link is typically handled through an proprietary protocol with data rates up to 64 kilobytes per second. Not shown is a command port for menu driven control of the operational settings of the data ~
('nnn~tinn~ from one site to another site over a composite link S using a dedicated line is an efficient use of the line resources, however additional line 1~l.llll~ l;..,,~ are still typically needed between the two sites or more sites for traditional telephone voice or facsimile ~ ."~ between the sites. There is a~need in the art, therefore, to combine w~ Ld voice grade telephone signals with data signals and facsimile signals and transmit all10 over a composite link to further increase the efficient use of a single telephone line cnnn~tinn ~here is yet a further need in the alt to combine voice grade telephone signals with both synchronous and a~yll~,LIulluu~ data signals for 1"-"~ ;---- over a composite link for erlhanced efficiency of a single telephone line connection.
S~nnmS~y of the Tnventinn The present invention solves the: ~ r.~ IrlTI`;rl l~ Of the prior art and solves other problems that ~vill be understood and d~ ' ' by those skilled in the art upon reading and . ~ ;. ,V the 20 present ~1~ .;IT. ,.1 ;... ,. The present invention describes a data ".. ~11 ;l.l. ~ ;..P
network which combines a plurality of ~ ul~uu~ and ~ylll,LIulluu~ data channels with an ~ Lulluu~ datd stream ~I~.Ll~ ~Il..y..~ I voice signals andlor facsimile signals onto a single ~ ul~uu~ data packet stream.
The single ~yll,lllulluL~ datd packet stream is then transmitted by a high speed25 statistical '~i ' over a composite link to a second site using a modified high-level ~yll~LIullulls data link control protocol with an overlay of an advanced priority statistical ~ v algoritbm. The a~ lll,lllUIIUUJ
~yll~LIulluu~ datd channels and tlle Wlll~ l voice channel and/or facsirnile signals are ~' "i ' ' and ~;u.~LIu.,t~l at the second site for sending to 30 other a~yll~,LLulluu~ and ~yll~hlu~lu~s data terminal e~uipment and to a standard telephone or facsimile analog port or PBX interface, respectively.
" ~ ,A ' ~
4 , .
CI~ between the first site by voice O} facsimile and the second site istransparent to the users.
The total bandwidth of the composite link ~ "~
between sites may be ;"~ , vu~ly allocated to high priorit~Y data (time sensitive) and low priorit~Y data (non-time-sensitive) based on ;1 ~ vl ~
systemdemands. Invoiceoverdata~..,,,,,,~,;(rII..,,~itispossibletogreatly reduce bandwidth allocated to the high priority voice packet ;., r. " I I IA~ byeliminAtin~ ofrepeatedsilentpackes. Thevoicedetection algorithm tells the data processor that the packet is empty which is IC~JlC:~lClll~LiVC
of silerlce. The data processor then does not send the packet, but instead sends a flag to the other side of the composite link to indicate no voice is being sent. In the event of silence, the maAimum low priority data (~llcluu~luu~ or ~yllcluulluu~ data) packet size is dynamically chAnged based on the use of the voice channel. If there is a lot of silence, or the voice channel is not active at all, then the maAimum low priority data packet size can grow to be quite large providing a larger ~.rll~ hlulluu~ and ~y~ ulluu~ data channel throughput. An advanced priority statistical ulul~ ,Acl ensures maAimum data throughput qualitY and efficiency while ~;",.,1 ,. ~ y reducing .,..~ , processing overhead.
Advanced prioitY statistic~l ~""' ~ is performed by allowing the system to periodically review whether the received packeS have changed bet~veen Yoice; " r..., . IA1 ;.., . and data informAti~m by setting a barrier ca~led the interrupt boundary byte count (IBBC) as a periodic sampling coumt.
The IBBC is the number of low priority bytes transmitted when the maAimum high priority bytes are being transferred by the system. The number of low priorit~Y bytes will increase as the number of high prioritY packets decreases.
This provides a dynamic packing of the low priority bytes about the high priority bytes of the system, whereby the ~ " ,~ effort is aided by having a " ~ 1 sampling time equal to the inter~upt boundarY byte count.
Descr~ption of the Drawln~
In the drawings, where like numerals describe like ~ , A,~END~D S~EEr ~ ~ 8 8 ~ 4 ,, -tbroughout the several views, Figure I is a drawing of a prior art connection between building A
and building B using traditional dial-up telephone links by modem;
Figure 2 is a prior art description of the connection between building A and building B using a statistical ~ link;
Figure 3 is a general block diagram showing the preferred embodiment of the present invention which combines both telephone and -facsimile " ~ r. ~ " . ~ through a number of possible alternative interfaces with digital data infilrrn~ti~n for ~ to and ~ at a remote site;
'D~3 S~iE~T
WO 95/29S76 1~,111.).,,~, ~ 1 218~171 5 Figure 4A (two sheets of drawings) is a detailed block diagram showing the use of the '~ij ' 300 of the present invention to combines both telephone (wice), facsimile through a variety of ~ lr~ with data over a single composite link to a remote site;
Figure 4B is a detailed block diagram showing the division of major ll~ q~ of the data/voice/fax ~ " of Figure 4A including the FXS, FXO and E&M interfaces;
Figure 5A is a diagi~im showing a first one of the preferred ~l ll ll lr~ 1;1 ll l~ of the present invention which ~ voice telephone, 10 facsimile info~.AAtir)n and digital data r ~ for IIAI~ to and ~lr~ at a remote site for connection to other DTE devices and for connection to remote voice telephone and facsiriAile equipment;
Figure 5B is a diaglam showing a second one of the preferred lllr~ of tbe present invention which ~""II;l.Il i voice telephone, 15 facsimile i,-rl~.",A~;"" and digital data ill~lllllA~;Illl for IIAII~ to and .Ir.111111;1~ at a remote site for cormection to other DTE devices and to a remote PBX;
Figure 5C is a &agram showing a third one of the preferred , 1 Il ll .. . 1;. .. ,~ of the present inverltion which " ."II ;~ voice telephone, 20 facsimile jl,~ I and digital data r '- for IIA~ ;IIII to and llrll. ~ at a rernote site for connection to other DTE devices and to remote voice telephone and facsimile equipment through a remote PBX;
Figure 5D is a diagram showing a fourth one of the preferred rJ ~ ;"- ,~ of the present invention which ~ voice telephone and 25 facsimile r " through a locai PBXwith local digital data ;"IA.. AI;, for l~A ~ I to and ~l "~ at a remote site for connection to other DTE devices and to remote PBX for remote voice telephone and facsin ile equipment;
Figures 6A, 6B and 6C are detailed block diagiams of the 30 a~ lLlulll~ ; chaAAnel car~s, the aggregate car~is ~ind the voice/ fax carcs, IQ~Liv~ly~ of the IIIL~ A~I shown in Figure 4B;
W0 95/29576 F~
218817l 6 Figures 7A-71, 8A-81, 9A-91 and IOA-IOI are detailed electrical schematic diagrams of the voice!fax card of Figure 6C, Figure 11 is a signal flow diagraTn of the speech ,Ulll~JlQ~iVII
algoritnm;
Figure 12A is a detailed function flow diagram of the speech ~,VllllJlQ:~iUII algorithm;
Figure 12B is a signal flow diag~am of the speech ~UIII~JI~i algorithm showing details of the code bvok synthesis;
Figure 13 is a detailed function flow diagram of the speech 10 ~v~ ~ion algorithm;
Figure 14 is a flow chart of the modified HDLC 1, Al~
packet protocol using priorit,v statistical '~,il ' ' ~ of the data/voice!fax ~ulli~l~,~vl of Figures 6A, 6B and 6C;
Figure 15 shows a Link R~quest Frame used to initiate and 15 Qstablish a connection between ""~ using modified HDLC with Advanced Priority Statistical ~ -~
Figure 16 shows a Voice/Fax Data Fratne used to transmitvoice/fax channel data;
Figure 17 shows a Network Contrvl FraTne used in a 20 networking ~IIVilUIIIII~
Figure 18 shows an A~yll~LIullu~ Channel Data Frame used to transmit ~yll~LIullvu~ channel data;
Figure 19 shows an A~ uwl~ Frame used to a.,lu,uwl~ between ,.., ~
Figure 20A shows one rl . .l ~1;" ,. .1 of a two priority level Figure 20B shows a portion of the ,.. 1l;l,l - 1 high priority and low priority data transmitTed by one c. . ~ of a two priority level advancedpriority statistical ,1,,lll;l,ll .. "
Figure 21 is an example of ~ , two priority levels of data in a hybrid framc;
~8~I7I
Figure 22 is another example of ~ , two priority levels of data in a hybrid frame; and Figure23showsoner~ ol1;lll 1l of athreeprioritylevel 1.l,l11;l,1. ~rl D~f~ Descrirtinn of th~ Preferred Fmho~1im~nte In the following Detailed Description of the Preferred Embodiment, reference is made to the a~,co~ yil~g drawings which form a part hereof and in which is shown by way of illust~ation specific e" .l ,o.l;., . . ~ in which the invention may be practiced. These r~ u.ll~ are described in sufficient detail to enable those skilled in the art to practice and use the invention, and it is to be understood that other ~mhoflimPnte may be utilized and that electrical, logical, amd structural changes may be made without departing from the spirit and the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims.
One attempt at telephone line multiplex channeling of voice and digital; " r. ,, . " ~ . was made by Richard D. Greenblatt in U.S. Pat. No.
5,136,5~6. Greenblatt described a system which used guard band signals to separate voice and digital infnrms~finn transmitted over a telephone line. Another attempt by Doney, et al., in EP 0 582 537 described l . Al 1~111. ~;'1'~ of highpriority real time traffic on low speed ~,11111111.1111. -1;l lllC links Neither systern describes an interrupt boundary byte count for use in improving receiver sampling rates, as described herein.
Syet.~m Oveniew Figure 3 is a block diagram showing a plurality of cormection nnmhin~tlnne for the preferred r. ~ o.l; ~ of the present invention which is a ~...""".~ . :;nn system in which a data/voice/fax l, ll;lll rl 300a is configured to take voice infnrm ~rinn from telephone equipment, facsimile l,, r.., ., . 1 ;"" from facsimile machines amd ~ylll,LIuiluu~ and ~yl~Ll~lu~luu~ data from data terminal ~MENDE~ SHEEl 8 ~ ~ ~ 7 ; " ~
quipment ~DTE) devices and combine this infnrrn~tinrl and data for over a single composite cl.., ..". ": ~ " .. link. Data/voice/faA
,A~I~ 300a arld 300b (generAlly referred to as data/voice/faA ",.,~
300)areidenticallyconfiguredforl,,,,11.l,l~ ;~and~1f ,,,ll~1,l lllf~lthisdataand infnrrn~tinn The result of this connection allows telephone, facsimile and data c.,..".,.l"~ betweensites"A"and"B"inamethodof...,.lll.,.,. ~n which appears to users at both sites to be .~ and tr~ncr~rf~n~
A,!~lE~I,E~ S~EET
WO 95/29~i76 ~ 1..3~ v34
2~8gl71 8 ~ ' The present invention shown in Figure 3 cormects a plurality of data terminal equipment (DTE) devices such as computers, terminals, printers, modems, etc., through ~ayll~hlullvu~ and synchronous channels to the data/voice/fax IIIIIILi~ A~l 300 at site "A". Also, telephone equipment such as S telephone desk sets, PBX equipment and facsimile (fax) equipment are also connected to datalvoice/faA IIIUlLi~l~A~I 300. The datalvoice/faA IIIUIL;~ A~
300 is configured to take arralog voice channel rnputs from telephone equipment through specially configured voice channel interfaces to be digitized, UUI~ and encoded into a special packet protocol using a voice 10 ~;vlll~JIraaiull algorithm. MultipleAer 300 is also configured to cormect to faA
equipment to receive and ~i~mn l~ the faA picLure data to place the decoded picture data into the special packet protocol. The ~ ullvua~ Llulluua data received by IIIUI~ A~I 300 from the DTE devices is combined with packetized picture data and packetized compressed voice ;, f )~ for ""~ e and ayll~hlulluua llall~ ll over the composite link.
At site l'B", IIIUI~ A~I 300b operates identically to Illlll~ A~,I
300a at Site "A" to multiplex outgorng data, voice or fax I l lfi )l l l lal ;l ll l and to rncoming data from site "A". Each IllUltilJl~A~l 300 operates to compress or V~Ill~ a the digitized voice data from telephone equipment 20 using a voice wlll~ aaiull algorithm described more fully below.
Multiplexers 300 also operate to modulate and ~1~mn~ t-o the fax picture data so that all three forms of data (DTE data, ~u -~ ~l voice data and facsimile picture data) are combined using a special packet protocol for llall~",;~;""
over the composite link, and ayll~lllulluu~ data, such as LAN sigrrals are 25 modulated and ~Ir~ lllllalr~l as well. The composite Iink 313 may be an analog Irne such as a public telephone Irne us;ng s~nchronous modems, a private leased line using ~yll~LIulluua modems or a digital Irne using DSU
(Digital Service Units).
H~rd~re OYerYiew As shown in Figure 4, the present invention combines a plurality of ~ayll~,LIull~lua data channels 302a-302n, which in many cases are . ., I !i;! A ~t ~ tA ~ J~
W095/29576 r~,~. ~ 4 2 1 8 8 1 7 1 i f; ~
RS232 interfaces 303a through 303n, along with a data packet stream of WllliUl~b~d voice or facsimile infnrrn:ltinn into a single data strea~n. Ihe single packetized data streain is transmitted using ~yll~luulluu~ modem 314 over a single telephone line 315 to a remote site (Site "B"). As described 5 more fully below, the composite lirlk 313 may be selected tû be an analog linesuch as a public telephone line using synchronous modems, a private leased line using ~yll~ luulluu~ modems or a &gital line using DSU (Digital Selvice Units). Figure 4 shows only one such composite link ;...l.l..,~ ..l,,l;.... which is a public telephone line 315 using ~yll~luullu~ modems 314.
As shown in Figure 4, the basic elements at the local site (Site "A") connected to ' il ' 300a æ terminals or PCs 301a-301n which are connected to channel ports 302a-302n which in tum connect to RS232 interfaces 303a-303n. The charmel ports 302a-302n provide access to data buffers 304a-304n controlled by IIU~IUI~JIUI~lVl 306 which assernbles the data 15 packets for the data processor 318. The combined data packets are connected to the phone line 315 by ~yll~luulluu~ modem 314 for l.. ~ .. ,. at high speeds over the dedicated phone line 315.
A~ luulluu~ data from the individual PCs contain start and stop flags. The ~yll~ luulluu~ data is collected from the individual PCs and is 20 assembled into ~yll~luulluu~ data packets, each with a header and a trailer.
Typically, 85% to 90% of an asynchronous line is not used efficiently since the line is not ca~rying any data most of the time. By using a statistical ulliul~ 314, the sporadic data activity of several individual channels 302a-302n connected to PCs 301a-301n can be combined onto a single line 25 315 to make more efficient use of that line. The IIU~;IU!JIV~;~VI statistically "",~ and collects the asynchronous data and packetizes it into ~yll~,luvlluu~ data packets for 1....~...;~;~ ...
Syll~uulluu~ data l.,,..~,..;~;....~ also gain efficiency over a~yll~luullu~ data ll,...~...;~;....c by reducing framing overhead~ By way of 30 example of the data ~ . efficiency gain, ~ luulluu~ data is by def~nition formatted by frarning each character with a start and stop bit. This process can account to up to one-third of the bits in a single ll, ,~ ." on WO 95/29576 r`~ 4 2188I7I ~ ~
10 1 ~
an a~ lLvlluu~ link. In contrast to this, synchronous data is transmined in a packet that f~rst contains a header (which contairls destination address), follo~ved by a block of data characters and followed by trailer ;"r..""~l;....
(such as error checking codes, checks sums, etc.). Since the packet is 5 addressed, a statistic31 ~I~ulli~ can arrange the packet in any order with the other asynchronous data based on demand and use of the ~ hlulluu~
data lines.
Data from the asynchronous channels 302a-202n connected to the PC's 301a-301n is sent to the Illlk,lU,!JlU~.~UI for statistical "",~
10 after frrst being buffered through buffer 305 and collected by intcrnal IlU~,IU~JIU~a~UI 306. The IIII~,IUIJIU~,~UI 306 assembles the data into the synch~onous data stre3m in the form of ~II~LUIIUU:i data packets which are framed by the address and error correcting data and sent to data processor 318 for ""~ ;"~ with voice and fax data pækets for 1".,.~",: . . .", over the 15 ~yll~hlu..uu~ composite lir~
The composite link 315 may be a digital or analog net~vork link, a simple analog leased line, a four-wire le3sed line or private line.
t'l~llllll.l.. . ~1.ll~ over the composite link is through a special ~yll~hlulluu~
modems operating typically at 300 to 19.2kbps, 38.4kbps or DSUs (Digital 20 Service Units) operating at 9600 to in excess of 256Kbps. The . . .~"~" .~. ,1 and control for~nat of the data transmitted over the composite link is describedmore fully below. This format is similar to the high-level ~l~h~ulluu~ data link control forrnat (HDLC) used for inter-modem or DSU .1~...1.111..;1,.~;~.1. A
proprietary modified form of the HDLC is used with the preferred 25 , ~ ' of the present invention ~vhich is called Modified HDLC or MHDLC. MHDLC is used m r~ with an Advanced Priority Statistical ~ 1~ (APSM) algorithm to achieve a highly efficient use of the composite link.
l~lllt~l~Y~ OverviP`I~
Figure 4B is a block diagram of a single data/voice/fax .;~JI~ 300 with the circuits shcn~n divided æcording to the physic31 WO 9512g~7C I ~
~ 2188I7~ ll ;",~ ;"" on multiple cards. Those skilled in the art will re3dily recogr~ize that the physical ;~ rll~ of the presert irlvention need not follow the physical partitioning ~ rl here. The l il ' 300 uses statistical time divisiorl "~ to transmit data, voice and facsimile data 5 in a fashion that appe3rs ~; ""~ ru~ to the user at each end. In the illustrated rl l ll ~ ; l lrl ll of the present irlventio4 two eight-charmel irlterface cards 401a and 401b are included to provide a total of sixteen RS232 a~yll~,luulluu~ ports for cormection to PCs, mainframe computers, arld other DTE devices, although as shown below, more char~nel cards rnay be added to 10 extend the number of a~ IUUllUU~ charmels serviced. In the preferrd ;.",, 32 ~,y~,luu~uu~ charmels are interfaced using four 8-channel cards. The channels are buffered arld connected to the host or aggregate card 400 of the "i ' 300 for I l ll llI ;l ~Ir~ with packetized voice or facsimile from Voice Charmel Equipment (VCE) Charmel I circuit 308 or 15 VCE Channel 2 circuit 309 (both VCE channels ;Illl,I. ..lrl,~r,l on a single card).
Those skilled in the art will readily recognize that a variable number of ~:lyll~luulluu~ RS232 port cards and a variable nurnber of voice or facsimile interface cards may be combined in the preferred Gll~ ' ' of the 20 present invention without limiting the scope of the invention. Thus, the design of the J~;~/vu;~r~ ~ ul 300 is modular to allow the addition of cards to expand the capability of the system. In the preferrGd .l ;l .l l shown in Figure 4B, two VCE channel circuits 308 and 309 on a single card are used to :~lld/lG~;~._ facsimile or analog voice 25 ;"r.."",.1;.." ~1.l.ll. . 1;,."~ for l~- L~ and ~ -, over the composite link lines 313a and 313b. As part of the modular desig4 the preferred ;",1,1. .llr.ll~l;llll of data vui~C/r~l ".il ' 300 is shown with two dedicated lines 313a and 313b corlnected to ports 403a and 403b IG~ y. Network ports 403a and 403b each interface to separate lines using dedicated 30 ~yll~luulluu~ modems 314 for analog lines or to DSU's (Data Service Units) for digital lines.
wo 95/295~6 F~,ll~l~. ' 1 2188 ~1 12 , Ihe facsimile ;~r~ ., from a fax macbine is received as a telephone cormection on VOE channel 1 cr~cuit 308 or VCE charmel 2 circuit 309. The facsimile;, . r~ .. " ,Al ;. .., is taken off the analog carrier by .~1. . ".lf 1"l~: ;"p the ca~rier so that the picture or pixel packets are recovered.
S The picture or pixel packets are then passed through dual port RAM 307 to be received by the data processor 318. The data processor 318 combme the facsimile or pixel packets ~-vith the synchronous data packets received from the asyn~h,u,luw data channels 401a-401b for statistical i~ and l ~ AI I~ ;I )I I over one of the composite link lines 313a or 313b through 10 net~ork ports 403a or 403b, respectively.
In addition, or dlL~ iv~ly, telephone equipment connected to either VCE channel I circuit 308 or VOE channel 2 circuit 309 ~-vill receive analog voice ;~r~ , digitize the voice ;--f~"..~ ;---- compress and encode the digitized voice i, .~... ", - ;. ", into packets and load the packets into dual 15 port RAM (Random Access Memory) 307 for receipt by the data processor 318. These ~,UIII~ i voice packets are then statistically ",.lll;l,l....I with the facsrLnile picture packets and/or the a:~yll,lllUllUW data packets from as~ ,l,lul.uw channel cards 401a and 401b for ~ 1 llAl~ l over the composite link Imes 313a or 313b. The packets are collected and 20 transmitted over the telephone Ime -wing a proprietary ~yll~Lu~uw data link format which, for purposes of the present discussion, is described as a modified high speed data link control or MHDLC uwing a proprietary advanced priorit~ statistical ~ algoritbm described more fully below.
Orn~Atirn ~f the V~ irP~F~imilr l~h~nnPI Tnt~f:lrP
The VCE channel I circuit 308 and VCE channel 2 cr~cuit 309 of Figure 4B are identical circuits which are capable of operating in parallel to t~nsmit and receive signals to and from telephones and facsimile machines.
30 Illwtrated in Figure 4B for VOE channel I cr;cuit 308 and VCE channel 2 circuit 309 are three types of telephone line interfaces labeled FXS, FXO, and E&M The FXS acronym st nw for Foreign Exchange Station. The FXS
woss/2ss76 r~ ,3.~ 4 2188I7~ 13 interface mimics the subscriber-side of a standard tip and ring two-wire telephone connection either as a loop or a ground start ~nnfigl~tinn The FXO acronym stands for Foreign Exchange Office. The FXO interface mimics the central offce or provider-side of a standard tip and ring t~vo-wire 5 telephone connection. The E&M acronym was historically designated in telephone circuit diagrams as the "e" in "received" and the "m" in "transmit"
for trunk signalling. The E&M interface mimics a typical PBX trunk interface.
As sho~-vn in more detail in Figure 6C, each voice channel card 10 is capable of handling the three interfaces: FXS, FXO and E&M to provide a wide variety of C~ ivi~y for interfacing to different types of telephone equipment. Four of these types of ~l ll ll l. ~ I ;. 1l l!~ are illustrated in Figures SA
though 5D.
As shown in Figure 5A, a telephone or facsimile machine may 15 be connected to the FXS interface at Site "A", which will appear to this equipment as though it were connected to the subscriber side of a standard tip and ring two-wire analog telephone connection. The FXS cormection on VCE
channel I circuit 308 or VOE channel 2 circuit 309 shown in Figures 4A and 4B would appear to be a telephone central office (CO) to this telephone 20 equipment (or a PBX-mimic of a CO). Th~s, if a user picked up the handset of a standard telephone connected to the FXS interface at Site "A" of Figure 5A, the telephone or fax machine at site "B" would ring.
A PBX may be cormected to the FXO interface on VOE
channel 1 circuit 308 or VCE channel 2 crrcuit 308 shoun in Figures 4A and 25 4B. Referring to Figure 5B, the PBX at site "B" is attached to the FXO
interface of the ~ IL;~ A~I 300b. The PBX at site "B" will see the '~i ' FXO interface as a piece of telephone equipment responding to the PBX rnnnff~tion A tclephone or fax machine at site "A" is connected to the FXS interface of IIIUI~ A~I 300a but will appear to be connected to the 30 station cormection of the PBX at site "B". The telephone or fax machine at site "A" will then be able to dial any extension serviced by the PBX at site "B" or dial out to the local Public Switched Telephones Network (PSTN) WO 95~29576 F~ 4 from the PBX The telephone or faA equipment at site "A" appears to be directly connected to the PBX at site "B".
A PBX trunk interface ma~ also be connected to the E&~
interface on VOE channel I circuit 308 or VCE channel 2 circuit 308 shown S in Figures 4A and 4B. Referring to Figure 5C, the trunk interface of the PBX
at site "B" is attached to the E&~M interface of the III~It;~ A~ 300b. The PBX at site "B" will see the I~ Ac I E&~ interface as a trurlk telephone line responding to the PBX connection. A telephone or faA machine at site "A" is connected to the FXS interface of '`i ' 300a but will appe3r to 10 be connected to the PBX at site "B" through the t~nk interface. The telephone or faA machine at site "A" will then be able to dial any eAtension serviced by the PBX at site "B" or dial out to the local Public Switched Telephones Network (PSTN) from the PBX The telephone or faA equipment at site "A" appears to be directly connected to the PBX at site "B". The 15 telephone or fa~A equipment serviced by the PBX at site "B" can a~cess the telephone or faA equipment at site "A" by calling the appropriate tr~k nunlber for site "A".
A PBX trunk interface of PBX equipment at both sites "A" and "B" may be connected to the E&M interface on VOE channel I circuit 308 or 20 VOE channel 2 circuit 308 shown in Figures 4A and 4B. Referring to Figure SD, a trurlk irlterface of the PBX at site "A" is attached to the E&M interface of the Illul~ ,A~l 300a and a trunk interface of the PBX at site "B" is attached to the E&~I interface of the IIIUI~ A~I 300b. The PBX at site "A"
will see the ~ Jl. A~l E&~ interface as a trunk telephone line responding 25 to tbe PBX connection and the PBX at site "B" will see the IIIIJI~i,Jl~A~ I E&:M
interface as a trunk telephone line responding to the PBX connfflion. Both PB7~s will see the other PBX as a direct connfflion through a trunk line.
The telephone or faA machine at site "A" will then be able to dial any eAtension serviced by the PBX at site "B" or dial out to the local Public 30 Switched Telephones Network (PSTN) from the PBX at site "B" Similarly, the telephone or faA machine at site "B" will then be able to dial any woss/2ss76 2~88I71 15 ' r~ c5v~4 extension serviced by the PBX at site "A" or dial out to the local Public Switched Telephones Net vork (PSTN) from the PBX at site "A"
A~y~ """.,.,~ nnrl (~ lc Figure 6A is a detailed block diagrams of the ~yll~,hlvlluu~
ehannel eards. As deseribed above, the present system is modular in its design to allo v a variable number of asynchronous channel interfaees. Thus, Figure 6A such ehannel boards 600a, 600b, 600c, 600d, each eapable of collecting ~yll~hlulluu~ data from eight RS 232 interfaees for a total of 32 10 RS 232 ~y~Lv~vu~ interfaees.
Eaeh ehannel board 600a, 600b, 600e, 600d, is identical in design and eommonly refereneed as ehannel board 600. Each ehannel board 600 is eontrolled by a ehannel proeessor 306 to eolleet and distribute asynehronous data to and from the eight ehannels through I/O interfaces 602a, 15 602b, 602c, 602d. The l/O interfaees ~1)111111.111'. . ~ . with ehannel proeessor 306 via a bus to share a data path. Channel prvcessor 306 utilizes a loeal RAM memory 604 for storing the operation and eontrol prograrns. The ~ayll~LIullvu~ data eolleeted or the ~,y--,l--u -uu~ data to be distributed is transferted to and from the aggregate e~rd or board 400 of figure 6B along 20 channel data bus 605. The ehannel data bus 605 is eontinued on Figure 6B
through eonnection point A.
In an alternate rl~ 1 of the present invention, the channel prveessor 306 can compress the asynehrvnous data usrng a ;VII algorithrn sueh as the algcrithm used in the CCITT V.42b is 25 standard. Also, the ehannel boards 600a, 600b, 600c, 600d, may operate to reeeive ~y~,h~olluu~ data for ",.,l~ over the eomposite Irnk.
A~ .~t~ d Aggregate catd 400 of Figute 4B is shown in greater detail in 30 the bloek diagram of Figute 6B. A data proeessor 318 conttols the internal operation of aggregate eard 400 and petforrns the funetions of eollecting ~yll~LIvllvu~ data ftom bus 605, eolleeting voiee and fax data paekets ftom WO 95/29576 `-I/L \' l 4 2188I71 i6' interface 607, and mllltirl~xin~ and framing the various data packets and call sigrlalling packets mto synchronous data packets. Data processor 318 in tne preferred ~",I.~-T;",~ .,1 is a Z180 IIIi~IV~IU~UI. A RAM memory 611 on mternal bus 608 supporis data processor 318 to store control programs and to 5 buffer packet irfnrmsl~irn rece*ed from the voice/fax board 402 via cormection 607. The synchronous data packets are sent from data rnrocessor 318 along mternal bus 608 to a serial ~ 1".~ controller 609. Serial controller 609 operate under the control of tbe data processor 318 via control lines separate rom the intemal bus 608. The syl.~,l..u..uu~
10 data stream may be transmitted via a variety of paths through serial . 1 ll l l. l ll ll l.l ~1~ ;~ ll l~ controller 609 as composite lir~s. Exte~ ylll.LlolluLo modems 314a and 314b provide modem ~ ,-"~ -"~ ûver active two-wire or four-wire leased lines or an alternative ~.,."..,... ~ path may be established via DSU (Digital Service Units) 610a arld 610b to digitr~l data 15 networks.
Data processor 318 is under direct control of command processor 612 which suppûrts a loc~l connection to a status and control PC
613 and a remote connection to the status arld control PC at the remote site through dial-up modem 615 for wu~d;l.dliu.. of ~I~,.r~ ;,.f~ ", and 20 operating parameters. The command rrocessor maintains the rnnfi~lr~tir,n infnrm~tir,n and operating rarameters in a non-volatile EPRO~ memory 614.
Vnirr~Fax ~'~d A dual charmel voice/fax card 402 is sho~n m the detailed 25 block diagram of Figure 6C. Voice Channel Equipment (VCE) Charmel I
circuit 402a and VCE Channel 2 circuit 4û2b of Figure 5 are ;~ on a single card 402 shown in Figure 6C. The local incoming analog voioe ;, ~ r~ " " ,~ " . or fax carrier is received on the FXS interfaces. Ihe remote l~wl~llu~i analog voice ;,.G"",A:;"" or fax carrier is produoed locally on 30 the FXO interfaoes. The PBX trunk sigralling is produoed on the E&M
interfaces.
woss/2ss76 2188171 ` r~lm s ~e The incorning analog voice infnrrnHtinn or fax carrier is received on the FXS interface 624a and 624b and converted from analog i"r".".~i,... to digital samples by analog to digital converters 622a or 622b, respectively. The digital samples are passed to digital signal processor 620 S ~vhich either decodes the fax carrier i. .r. - ~ if fax i" r. " ~ ;. .l. is detected or compresses the voice data if voice i- .r .. ., IH~ l l was detected. The voice WIII~ >il)ll algorithms are described more fully below. The Cvlll~
voice data is placed in packets by the digital signal processor 620 and passed to the data processor 318 of Figure 6B in via interface 607 through coMection 10 point B. The fax picture data is similarly packetized by the digital signal processor 620 and passed to the data processor 318 of Figure 6B.
~PtHilPA FlP~f HI Sf hptnHtic ~iS~rns Figures 7A-7I, 8A-8I, 9A-9I and IOA-IOI are detailed electrical 15 schematic diagrams of the circuits depicted m block diagram for~n in Figures 6C. In Figure 7A, the DSP 56002 circuit U14 ~ JVllJ~> to the digital signal processor (DSP) 620 of Figure 6C which functions to compress and d~VI~ digitized voice signals and handle the call progress signals. The call p}ogress signalling establishes the calls before the voice ~~ ;vll or 20 lil~Vll~ >;VII starts through the FXS, FXO and E&M interfæes. DSP 56002 also functions to detec~ the fax tones and perforrn fax mnrl.llHtinn and . "...1 1~: ;.... and to perform far-end echo-- ~ . f 11 ' ;.." in the digital domain.
DSP 56002 circuit U14 controls the FXS, FXO and E&M
interfæes to handle the call progress via the data bus DO-D23 through buffer 25 circuits U2 and U3 for channel I and channel 2, rcspectively. For c-xample, for the FXS intcrfæc-, the DSP 56002 circuit U14 opcratcs to corhrol the ring of the telephone and detcct the off-hook of the telcphone. For the FXO
interfæe, DSP 56002 circuit U14 operatcs to dctcct the ring from the PBX
- and returns an off-hook signal to the station side of the PBX For the E&M
30 inter~æe, DSP 56002 circuit U14 opcratcs to conncct to the trunk of the PBX
to primarily control the E-lead and M-lcad for trunk signalling. Integrated wo ss/2ss76 2 1 8 8 1 7 1 18 . ~ll. 4 circuit Ul is a buffer circuit used to control the status indicator LED's shown in Figure .7B.
As described above, channel I and charmel 2 of the voice/fax board are identical and correspond to Voice Channel Equipment (VCE) S Channel I circuit 402a or VCE Channel 2 circuit 402b of Figure 5. Only one channel circuit is shown in the electrical schematic &agrams of Figures 10A
and 10B and the control signal labels shown in the electrical schematic diagram of Figure 7B rnatch by placing a "B" in front of any control signal label to indicate channel 1. For example, the signal E&ME of the electrical 10 schematic diag~am of Figure 7B matches the signal E&~E of the electrical schernatic diagram of Figure 10A for channel 2 and the signal BE& ME of the electrical schernatic diagram of Figure 7B matches the signal E&ME of the electrical schennatic diagram of Figure 10A for channel 1. In Figures 10A
and 10B, the FXS, FXO and E&M ~l~llll. . l;.."~ for the voice/fax card 402 are 15 shown to the right of Figure 10B. The E&M trunk line wnnector J5 handles both tw~wire and four-wire interfaces.
Referring to Figures 8A and 8B, the duaL port RAM memory U10 WI~ )Ulld~ to the dual port RAM memory 307 of Figures 6C, S and 4.
Dual port RAM 307 is used to transfer the voice and fax packets to and from 20 the command processor 612 of Figure 6B. SRAM circuits U5, U6 and U7 in the upper parts of Figure 8A and 8B wlrespond to the RAM memory 618 of Figure 6C. This memor~ wntains the operating programs for DSP U14 of Figure 7A (W~ JOI~dill~ to DSP 620 of Figure 6C). DSP U14 executes the program wde from SRAM memory circuits U5, U6 and U7 but the wde is 25 ~,~l.Lo~ Lly stored in non-volatile EPROM memory 619 of Figure 6C
WL~ ' ,, to EPROM circuits U8 and U69 of Figure 8B. The wde executes much faster from the RAM memory 618 so the operating program wde is loaded from the EPROM 618 to the RAM 619 upon power up of the system.
Referring to Figures 9A and 9B, wMector Jl is the interface 607 with the main aggre~te board of Figure 6B. The operational amplifiers in the top portion of Figure 9B are used for gain control and level control of 19 '' '' the analog voice signals. Not shown in these schematic diagrams are the AC
(ring voltage) and DC voltage sources.
CODEC 621 a for channel I of Figure 6C UUIlC~UUlldS to CODEC
circuit U24 of Figure 8B. CODEC 621b for channel 2 of Figure 6C ;u~ uull~b to CODEC circuit U16 of Figure 8B. CODEC's U24 and U16 include an analog to digital (A/D) converter and a digital to analog (D/A) converter.
Additionf I detail regarding echo f Tlnf f~ tif n, voice fli~iti7~tif~n and voice ~ulll,ul~a~lull can be found in U.S. Patent No. 5,452,289, issued on September l9, 1995 entitled "COMPUTER-BASED MULTIFUNCTION
PERSONAL COMMUNICATIONS SYSTEM". This patent is assigned to the same assignee as the present invention. The DSP 56002 DSP U14 is described more fully in the DSP56002 Digital Signal Processor User's Manual published in 1993 Motorola, Inc. CODEC chips U16 and U24, in the preferred ~ ." ,1 o~ are part number T7540 Digital Telephone CODEC . . l~
and sold by AT&T Micluel~ ulfl~ A more detailed description of this telephone CODEC chip U12 is described in the T7540 Digital Telephone CODEC Data Sheet and Addendum published July, 1991 by AT&T
Mi~,~u~le~ ulfius.
Speech C~nl,nrf-ciiinn The Speech Compression Algorithm for ~ulll~lc~alllg/~cculll,ulci~ ~ the digiti_ed speech inff~rTn rif~n of the present system is ~f.,.,l,l;l,. .1 via the DSP 620 of Figure 6C. The analog voice signals are received and digiti_ed by the telephone CODEC circuits 621a or 621b. The digiti_ed voice inff rms~tif~n is passed from the digital telephone CODEC circuits to the digital signal processor (DSP) 620 which is ~IU~Iallllll~,d to do the voice f ULIllUlCa~;Ul~ algorithm. The DSP 620 CU~ IlUlCj~ l the speech and places the cUIIllJlCa lc~ digital IC~JlUi~C.lL~l~iUII~ of the speech into special voice packets described more fully below. As a result of the voice ,U114/lC~i~;Oll algorithm, the culll~ulc~ac~ voice infnrTn~tinn is /`i.',i'~';,, ~ SrlEi'T
WO 95/2957G ~ 34 2~8171 ;
20' passed to the dual port RAM: ciicuit 307 for forwarding to the aggregate board in Figure 6B.
Sp~h ~nmrn ccinn Al~nrithm To multiplex high-fidelity speech with digital data and transmit both over the OVff the telephone line, a high available bandwidth would norinally be required. In the present invention, the analog voice infnrm~tinn is digitized mto 8-bit PCM data at an 8 kHz sampling rate producing a senal bit stream of 64,000 bps serial data rate. This rate cannot be transinitted over10 the telephone Ime. ~ith the Speech Compi~ssion algorithm described below, the 64 kbs digital voice data is compiessed into a 9500 bps encoding bit strearn using a fixed-point (non-floating point) DSP such that the CU~ d speech of channel I can be transinitted over the telephone line " " .l ;l ,ll . . ~l with fax data, compressed speech of channel 2, or aa.yll~,LIollu~ data. This is 15 ~ l in an efficient manner such that enough machine cycles remain during real time speech Wlll~ ll to allow to ailow for echo r~n~PIl~tion in the same fixed-point DSP 620.
A silenoe detection function is used to detect quiet intervals in the speech signal which allows the data prooessor 620 to substitute 20 asyl..l..~,l.uu~ data in lieu of voioe data pækets over the composite lir~k to efficiently time multiplex the voioe and ~.yll~.lllUIIUI~ data ~ ",;~;.", The allocation of time for ~,yll~ luu~ data IIAII~II ...'.11~ is constantly changingdepending on how much silenoe is on either of the voioe charmels.
The voioe ~114~ algorithm of the present system relies 25 on a model of human speech which shows that h= speech coritains redundancy inherent in the voioe patierns. Only the u~ ~l UlllU~ai;OI~
(changes) need to be tr~ncn ~ The algorithm operates on 128 digitized speech samples (20 millis~nnrlc at 6400 Hz), divides the speech samples into time segments of 32 samples (5 millis~nn(lc) eæh, and uses predicted coding 30 on each segment. Thus, the input to the aigorithm could be either PCM data sampled at 6400 Hz or 8000 Hz If the sampling is at 8000 EL or any other selected sampling rate, the mput sample data stream must be decimated from wo gsl2gs76 3 r ~ 4 8000 Hz to 6400 Hz before proce~sirlg the speech data. At the output, the 6400 Hz PCM signal is il~ ldt~ back to 8000 Hz and passed to the CODEC.
~Ith this algorithm~ the current segment is predicted as best as S possible based on the past recredted segments arld a difference signal is ~I,ot~rmin~A Ihe difference values are compared to the stored difference values in a lookup table or code book, and the address of the closest value is sent to the remote site along ~vith the predicted gain and pitch values for eachsegment. In this fashion, the entire 20 millic~cnnrl~ of speech can be 10 ~ t~ by 190 bits.
To produce this CUIII~ ;UIL the present system irlcludes a unique Vector Qll~ 11 (VQ) speech Cu~ ;ull algorithm designed to provide maximum fidelity ~vith minimum compute power and bandwidth. The VQ algorithm has two major ~ The first section reduces the 15 dynamic range of the input speech signal by removing short term and long term 1,,l...,.1,.". ;~ ~ Ihis reduction is done in the waveform domain, with the~ylllll.O;~J patt used as the reference for ~' " the ill,l~ l "ne~' content. The second section maps the residual signal into a code book optimiæd for preservmg the general spectral shape of the speech signal.
Figure 11 is a high level signal f~ow block diagram of the speech WIII~ ;UII algorithm used in the present system to compress the digitized voice for ~ - . over the telephone line in the voice over ddta mode of operation or for storage and use on the personal computer. The transmitter and receiver ~ are ;-~qll- "- ~t--l using the DSP 620 of 25 Figure 6C
Ihe DC removal stage I l01 receives the digitiæd speech signal and re~noves the D.C. bias by calculating the longterm average and subtractimg it from each sample. This ensures that the digital samples of the speech are centered about a æro mean value. The pre-emphasis stage 1103 3û whitens the spectral conterlt of the speech signal by balancing the extra energy in the low band with the reduced energ~ in the high band.
WO 95129576 r~
2i~8171 ~ f . i ~
The system finds the innovation in the current speech segment by subtracting 1109 tlle prediction from l~UIIaLlu~ past samples syrlthesized from synthesis stage 1107. This process requires the syrlthesis of the past speech samples locally (analysis by synthesis). The synthesis block 5 1107 at the transmitter perforrns the same function as the synthesis block 1113 at the receiver. When the ~C~,UIiSUUU~ previous segment of specch is subtracted from the present segment (beforc prediction), a difference term is produced irl the form of an error signal. This residual error is used to fLnd the best match in the code book 1105. The code book 1105 quantiæs the error 10 signal usirlg a code book gerlerated from a l~lcacll~ e set of speakers and c~ ul~ lb. A mir~imum mean squared error match is deterrr~ined in segments. In addition, the code book is designed to provide a ~
error with spec~al rolloff ~igher ~ l error for low frequencies and lo~ver ~ ;"~ error for higher frequencies). Thus, the .~ ;"~;.... noise 15 spectrum in the reconstructed signal will always tend to be smaller than the underlyirlg speech signal.
The channel l l l l ~,ullca~ullJa to the aggregate board 402 and the composite link m which the compressed speech bits are ~ with data bits using a packet forrnat described below. The voice bits are sent in packets of 5 frames each, each frame wllca~JullL~g to 20ms of speech in 128 samples. The sr~e of the packets depends upon the type of UU114)1~;UII used.
Three ~u~ ~a;ull algorithms are described which will be called 8K, 9.6K
and 16K The 8K and 9.6K algorithms results in a 24 byte packet while the 16K algorithm produces a packet of 48 bytes for each 20 ms speech segment.
Each frame of 20nns is divided into 4 sub-blocks or segments of 5ms each. In each sub-block of the data consists of a plurality of bits for the long term predictor, a plurality of bits for the long term predictor gain, a plurality of bits for the sub-block gain, and a plurality of bits for each code book entry for each 5ms. The bits for the code book entries consists of four or five table entries in a 256 long code book of 1.25 ms duration. In the code book block, each 1.25ms of speech is looked up in a 256 word code book for the best match. The table entry is trans-mitted rather than the actual samples.
wog5129576 ~188I71 ~ 4 The wde book entries are pre-womputed from l~lul~- ~l~iive speech segments, as described more fully below.
On the receivmg end 1200, the synthesis block 1113 at the receiver performs the same function as the synthesis block 1107 at the S trarlsmitter. The synthesis block 1113 lew~ u~b the original signal from the voice data packets by using the gain and pitch values and wde book address w~ ,uulld;llg to the error sigral most closely matched in the wde book. The code book at the receiver is similar to the cwde book 1105 m the transmitter.
Thus the synthesis block recreates the original pre-cllq~ rll signal. The 10 de-emphasis stage 1115 inverts the pre-emphasis operation by restoring the balance of original speech signal.
The complete speech Culll~ algorithm is ~ r~l as follows:
a) Digitally sample the voice to produce a PCM sarnple bit strearn sampled at 16,000 sarnples per sewnd, 9600 samples per secwnd or 8,000 samples per second.
b) Decirnate the sarnpled data to produce a cwmmon samplmg rate of 8,000 sarnples per second from all of the actual sarnple rates.
c) Remove any D.C. bias in the speech signal.
d) Pre-emphasize the signal.
e) Fmd the innovation in the current speech segment by subtracting the prediction from 1~.4UII:~IlUe1~i past sarnples.
This step re~uires the synthesis of the past speech samples locally (analysis by syr~hesis) sur,h that the residual error is fed back into the systern.
f) Quantize the error signal using a code book generated from a lc~u~ ive set of speakers and cllvil~ b. A
mrnunum mean squared error match is determined in 5ms segments. In addition, the code book is designed to provide a ~rlA. Il;~i'll;lll l error with spectral rolloff (higher ~rlA~
error for low fiequencies and lower ~ error for WO 95/29s7C ~ - P~ 4 ~8~
higher frequencies). Ihus, the flllAnti7Atir~n noise spectrwn in the I~UI~LIU~l~A signal will always tend to be srnaller than the underlying speech signal.
g) At the transmitter and the receiver, reconstruct the speech from the quanti_ed error signal fed into the inverse of the function in step (e) abo ~e. Use this signal ffJr analysis by synthesis and for tbe output to the ~;ul~ iOn stage below.
h) Use a de-emphasis filter to reconstruct the output.
The major advantages of tbis approach over other low-bit-rate 10 algoritbms are that there is no need for any u , ' ' calculation of reflection coefficients (no nlatrix inverse or lattice filter rJ....I..,~ .li....~). Also, the .l" .. ,l ;"~ i. ,., noise in the output speech is hidden under tne speech sigrlal and there are no pitch tracking artifacts: the speech sounds "nat~al", with only minor increases of ~uu~-J hiss at lower bit-rates. Ihe ~-1.,,,l,~,l~;..., ,1 15 load is reduced slf~liL~llly compared to a VSA P algorithm and variations of the present algorithm thus provides bit rates of 8, 9.6 and 16 KbiVs, and can also provide bit rates of 9.2kbits/s, 9.5kbits/s and many other rates. The total delay tirou~h the atAaAysis section is less than 20 ...;ll;~ ". l~ in the preferred U.11lrAJ~ rl 1~ Ihe present algorithm is A~ 11y~ rA I completely in 20 the waveform domain and there is no spectral ;. ,1; .. ~ ;.. being computed and no filter ~l...~l...l~l;.."~ are needed.
il,-A ~kcf~tir~n of the Srm~h Comrn~ion Al~f~rithm Ihe speech Culll~ iùll algorithm is described in greater detail 25 with refercnce to Figures 11 through 13, and with reference to the block diagram of the hardware fA 111 q 1111 Ir- Il ~ of tne present system shown at Figure 6C. Ako, reference is n~ade to the detailed schernatic diagrarns in Figures 7A-lOB. The voice wlll~ul~ion algorithm operates withrn the IJIU~ 1~1111111_ control of the DSP circuit 620. In operation. the speech or anaAog voice 30 sigrlal is received through the telephone interfaces such as FXS and is digiti_ed by the CODEC circlAit 621a or 621b. Ihe CODEC for circuit 621a or 621b is a ~ ~lllql ~ law CODEC Tlle at~alog voice signal from the WO 95/29~i76 1 ~ 4 telephone interface is band-limited to about 3,000 Hz and sarnpled at a selected sarnpling rate by digit31 telephone CODEC 621a or 621b. The sarrfple rates in the preferred ~ ' of the present invention are 8kb/s, 9.6kb/s and 16kb/s. Each sarr~ple is encoded into 8-bit PCM data producing a 5 serial 64kb/s, 76.8kb/s or 128kb/s signal, ~ ly~ The digitiæd samples are passed to the DSP 620. There, the 8-bit ,u-law PCM data is converted to 13-bit linear PCM data. The 13-bit ~ f~liull is necessary to accurately represent the line~fr version of the logarithmic 8-bit ,u-law PCM data. With line3r PCM data, simpler " ,~ f ;~ ~ may be performed on the PCM data.
Ihe safnpled and digitized PCM voice signals from the telephone u-law CODEC 621a or 621b afe passed to the DSP 620 via direct data lines clocked and ~yll~lllulfi~d to a clocking frequency. The sample rates in CODEC 621a or 621b in the preferred ~" ~1 nJI~ 1 of the present invention are 8kb/s, 9.6kb/s and 16kb/s. The digital samples are loaded into DSP 620 15 one at a time through the serial input and stored into an internal queue held in RAM, converted to linear PCM data and decimated to a sample rate of 6.4Kb/s. As the samples are loaded into the end of the queue in the RAM of the DSP 62û, the samples at the head of the queue are operated upon by the voice WIII~JIQ:~;UI~ a,gorithm. The voice WIIIIJIQ;!l;VII algorithm then produces 20 a greatly wlll~ ,ulQ~ ~lion of the speech signals in a digital packet form The WIIIIJIQ~l speech signa. packets are then passed to the dua. port RAM circuit 308 shown in Figure 6C for use by the data processor 318 for flf".~ ,.", Concurrent with this transmit operation, DSP 620 is receiving 25 WIII~JIQ~W voice data packets from dua'f port RAM circuit 307, UllWl14)lQ~lllg the voice data and ~ f~ -, ;"~ the Ull~,Ulll~JlQ:>ell and ~ wl~lu~ l &gita PCM voice data to the digital telephone CODEC 621a or 621b for digita to analog corlversion and eventual transfer to the user through one of the telephone interfaces of Figure 6C. This is the receive mode of 30 operation of the DSP 620 WllQ~)Ulld;llg to receiver block 1200 of Figure 11 and WllC~IJUllV-llg to the dt~Wlll~JlQ~iUII algorithm of FigLrre 13. Thus, the WO 9S/29576 P~ ,34 ~1&~7I ~ 26 -~ --DSP circuit 620 is processing the volce data in both directions in a full-duplexfashion.
Digital Signal Processor (DSP) 620 operates at a clock frequency of ~ u~ y 24.576MHz while processing data at sampling S rates of ~u~Jlu~dll~ly 8KHz in both dr~ections. Ihe voice cul.~,ul~iulld~ulll,ulc~iull algorithms and l)~ ; ", of the voice data is "l,l~ .l in a quick and efficient fashion to ensure that all processing is done in real-time without loss of voioe ;11~ This is ~ lr~l in an efficient manner such that enough machine cycles remain in the voice 10 control DSP circuit 620 during real time speech Wlll~ ;UII to allow real time acoustic and Irne echo . A~ in the same fLxed-point DSP.
In ~)IU~Idllllll~AI operation, the availability of an eight-bit sample of PCM voice data from the !l-law digital telephone CODEC circuit 621a or 621b causes an interrupt in DSP 620 where the sarnple is loaded mto mternal 15 registers for processrng Once loaded into an irlternal register it is transferred to a RAM address which holds a queue of samples. The queued PCM digital voice samples are converted from 8-bit ,u-law data to a 13-bit Imear data format using table lookup for the conversion. Ihose skilled in the art will readily recognize that the digital telephone CODEC circuit 621a or 621b could 20 also be a linear CODEC.
~rrlPIP l~tP l~irn~irm Ihe sampled and digitized PCM voice signals fro3n the telephone ,u-law CODE~C 621a or 621b shown in Figure 6C are passed DSP
25 620 via direct data lines clocked and ~yll~,LIulli~ to a docking frequency.
The sample rates in the preferred ~ .. ,1~.1;.. 11 of the present invention are 8kb/s, 9.6kb/s and 16kb/s. The digital sannples for the 9.6K and 8K
algorithms are decimated using a digital decimation proccss to produces a 6.4K and 6K sample rate, respectively. At the 16K sampling rate for the 16K
30 algorithm, no decimation is needed for the voice CU~ UII algorithm.
F~eferring to Figure 11, the decimated digital samples are shown as speech entermg the transmitter block 1100. Ihe transmitter block, of WO 95/29576 r~ S
~8~t71 ~ 3 '' '' ~
wurse~ is the mode of operation of DSP 620 operating to receive local digitized voice ;~ , compress it and packetize it for trarlsfer to the dual port RAM 307 for eventual ~ and ll,."~ ;,." on the wrnposite link, which WIIQIJUIIV~:i to the channel 1111 of Figure 11. A frame 5 rate for the voice W11411~iUII algorithrn is 20 m:llic~nn-lc of speech for each W114~1~;VII. Ihis wrrelates to 128 samplec to process per frame for the 6.4K decimated sampling rate. When 128 samples are ~ r~l in the queue of the internal DSP RAM, the WIII~JIQ::~;VII of that sample frame is begwn.
rklt51 Flnw r~Pc. rq~ n DSP circuit 620 is ~)IV~I~UIIIII~I to first remove the DC
wmponent 1101 of the inwming speech The DC removal is an adaptive function to establish a center bæe line on the voice sigr~l by digitally 15 adjusting the values of the PCM data Ihis WIII~IJVIIV~ to the DC removal stage 1203 of the software flow chart of Figwre 12. Ihe forrnula for removal of the DC bias or drift is as follows:
x(n) = s(n) - s(n-1) + a * x (n-1) where a =
and where n = sample nrnr~er, s(n) is ~e c~ent sample, and x(n) is ~he sample with the ~C bias removed Ihe removal of the DC is for the 20 milli~ n-1 frame of voice which amounts to 128 samples at the 6.4K decrmated sampling rate which WII~IJUIIV~ to the 9.6K algorithm. Ihe selection of a is based on empirical 30 observation to provide the best result.
Referring agarn to Figure 12, the voice ~u~ ;vll algorithm in a control flow diagram is shown which will acsict in the 1l, l~ ;"~ of the block diagram of Fig~re 11. Figure 12B is a sirnplified data flow description of the flow chart of Figure 12A showing the sample rate 35 decimator 1241 and the sarnple rate ill~ lLul 1242. The analysis and W0 95/29576 , ~
218~171 28 ~U~llUlQ~iUll begin at block 1201 where the 13-bit lineAr PCM speech samplQ
are A-~ 1..111 IIAl~l until 128 sam~lQ (for the 6.4K decimated sam~ling rate) ~-QU.li-.~ 20 milli~c~nfi~ of voice or one fr_me of voice is passed to the DC removal portion of code operating within the DSP 620. The DC removal 5 portion of the code dQcribed above ~~ the base line of the frame of voice by using an adaptive DC removal technique.
A silence detection algorithm 1205 is also included in the ~u~.u~ l ccde of the DSP 620. The silence detection function is a summation of the squ re of each sample of the voice signal over the frame.
10 If the power of the voice frAme falls below a preselected threshold, this ~vould indicate a silent frame. Tbe detection of a silence frame of speech is impor~nt for later ~ of the V-data (voice data) and C-data (asynchronous computer data) dQcribed below. During silent portions of the speech, data processor 318 will tr_nsfer wll~lal~iul~l digital data (C-data) over 15 the telephone line irl lieu of voice data (V-data). l[he formula for computing tbe power is 20 PWR= ~ x (n) * x (n) n=0 wheoe n is ~e samp~e mm~er, and x ~n) is ~e s mple value If the power PWR is lower thAn a preselected threshold, then the present voice fr_me is fiagged as containing silence. The 128-sAmple 30 silent frame is still processed by the voice ~ullll,l~;ull algorithm; however, the silent frame packets are disc_rded by the data processor 318 so that ~ hlulluu~ digital dala may be trAnsferred in lieu of voice data The rQt of tbe voice Cul--u~Q~iull is operated upon in se~ments where there are four segments per fr_me amounting to 32 samplQ of data per segment. It is only 35 the DC removal arld silence detectioll which is ~ "~ i over an enti~e 20 milli~ n-l frame.
WO95129576 ~188171 ,~ C~' 4 The pre-emphasis 1207 of the voice w~ JIcaaiull algorithm shown in Figure 12A is the rlext step. The sub-blocks are first passed through a pre-emphasis stage which whiterls the spe~l wntent of the speech signal by balancing the extra energy in the low band with the reduced energy in the S high band. The pre-emphasis essentially flattens the signal by reducing the dynamic range of the signal. By ucing pre-emphasis to flatten the dynamic range of the signal, less of a signal rarlge is required for wlll~ aa;ull makingthe WIII~ li(Jll algorithm operate more efficiently. The formula for the pre-emphasis is x (n) = x ~n) - p * x (n-l) whele p = Q5 and wnere n is the sample mnnber, x (n) is ~e sample Each segment thus amourlts to five millicc~n~lc of voice which is equal to 32 samples. Pre-emphasis then is done on each segment. The selection of p is based on empirical observation to provide the best result The next step is the longterm prediction (LTP). The longterm prediction is a method to detect the innovation in the voice signal. Since the 20 voice signal wntains many redundant voice segments, we can detect these "",~ and only send ;..~ ;-. . about the changes in the signal from one segment to the next This is ~ by comparing the speech samples of the current segment on a sample by sample basis to the I~Ul~LIu.;lc~ speech samples from the previous seg~nents to obtain the5 innovation inf~rm~tir~n and an indicator of the elTor in the prediction.
The long-term predictor gives the pitch and the LTP-Gain of the sub-block which are encoded in the ttansmitted bit Stt~L In order to predict the pitch in the current segment, we need at least 3 pact sub-blocks of l~wllaLI~l~Lcd speech. This gives a pitch value in the range of MIN PITCH
30 (32) to MAX PITCEI (95). This value is coded with 6-bits. But, in order to ~ IJll,ll,llN~..t the ~ data rate witnin a 9600 bps link, the pitch for segtnents 0 and 3 is encoded with 6 bits, while the pitch for segments I and 2 .
W095129576 ~88~ u~ l 4 is encoded with S bits. When perfor~ning the predietion of the Pitch for segrnents 1 and 2, the eorrelation lag is adjusted around the predieted pitch value of the previous segtnent. This gives us a good chance of predicting the correct pitch for the eurrent seg~nent even though the entire range for 5 predietion is not used. The ~ - l1 U~ for the long-terrn eorrelation lag PITCH and associated LTP gain factor ~ j (where j = 0, 1, 2, 3 w..c~u..L.g to each of the four segrnents of the frarne) are done as follows:
For j = r~n~teh .... rnax_piteh first perfor~n the following U~ between the eurrent speech sarnples xfr~) and the past 10 1~ lrll speeeh samples x~n) 5~ G) = ~X fi) ~ X~ fi + M~X PITC~ j) i~
Ssr G) = ~x~ (i + MAX PlTC~-j) * x' (i+M~X PlTCH-j) i=o The Pitch is chosen a3 that whieh rnaximizes 25 Since ~ j is positive, only j with positive S~, 2 is consider~
Since the Pitch is encoded with different nurnber of bits for eaeh su~segrnent, the value of Imn_ptch and m~ pitch (range of the synthesized speeeh for piteh predietion of the eurrerlt segrnent) is computed asfollows:
wo 95129~76 218~I71 if (se~ number = 0 or 3) {
rnin pitch = MIN_PITCH
rnax_pitch = MAX PITCH
}
if (seg_nurnber = 1 or 2) {
rnin_pitch = prev pitch - 15 if (prev_pitch < MIN_PTTCH + 15) rnin pitch = MIN_PITCH
if (prev_pitch > MAX PITCH + 15) rnin_pitch = MAX PTTCH - 30 rnax_pitch = rnin_pitch + 30 }
The p~v~lrh pararneter in the above equation, is the pitch of the previous sub-segment. The pitch j is the encoded in 6 bits or 5 bits as:
encoded bits = j - rmn~tch Tbe LTP-Gain is given by S~a) ~ = for Sr~O~0 S~Sa) The value of the ~ is a normaliæd quantity between zero and unity for this segment where ,B is an indicator of the correlation between the segments. For example, a perfect sine wave would produce a ,~ which would 30 be close to unity since the correlation be~ween the current segments and the previous ~ tlu~l segments should be almost a per~ect match so ~ is one.
The LTP gain factor is quantiæd from a LTP Gain Encode Table. This table WO 95/29576 r~"~ 4 21881rl1; ` `~
is . ~ 1 in Table 1. The resulting index (bcode) is trarlsmitted to the far end. At the receiver, the LTP Gain Factor is retrieved from Table 2, as follows:
S ~q = dlb_tab[bcode]
i~asLE 1: Læ Gain Encode Table 0.1 . 0.3 0.5 0.7 0.9 bcode= o 1 2 3 4 5 TA13I~E 2: Læ ~;n Decode Table ~= o.o 0.2 0.4 0.5 0.8 1.0 l~cod~O 1 2 3 4 5 After the Long-Term P~diction, we pass the signal through a 30 pitch filter to whiten the signal so that all the pitch effects are rernoved. The pitch filter is given by:
e (n) =x ~n) - ,eq ~ x' (n-~
where j is the Lag, and ~q is the associated Gain.
Next,~the error signal is normali_ed with respect to the maxirnum amplitude in the sub-segment for vector-~ nti7~h~n of the error signal. The maximum amplitude in the segrnent is obtained as follows:
WO 95/29576 ~ J.,,','C~ 4 G = MAX{ ¦ e(n) ¦ }
The maximum amplitude (G3 is enwded using the Gain Enwde Table. This table is . I ~ l in Table 3. The enwded amplitude (gcode) S is transmitted to the far end. At the receiver, the maximum amplitude is retrieved from Table 4, as follows:
Gq = dlg tab~gcode/
The error sigrlal e(n) is then normalized by efn) 0 e(n)=
Gq ~aElLE 3: Gain Encode Table G=16 32 64 128 256 512 1024 2048 4096 8192 o 1 2 3 4 5 6 7 8 9 (gcode) TA~3LE 4: Gairl Decode Table G=16 32 64 128 256 512 1024 2048 4096 8192 o 1 2 3 4 5 6 7 8 9 (gcode) From the Gain and LTP Gain Encode tables, we can see that ~e would require 4 bits for gcode and 3 bits for bcode. This results m total of 7 bits for both parameters. In order to reduce the bandwidth of the Wlll~ >ed bit s~eam, the gcode and bcode pa~ameters are encoded together in 6 bits, as follows:
W0 95129576 2 ~ ~ 8 1 71 p~ 4 BGCODE = 6 ~ gcode + i~code Ihe encoded bits for the G and LTP-Gain (~) at the receiver can be obtained as follows:
g ie = BGCODE 16 bco~ie = BGCODE-:6 ~ gcode Each segment of 32 sAmples is divided into 4 vectors of 8 10 samples each Each vector is compared to the vectors stored in the CodeBook and the ~dex of the Code Vectorthat is closest to the signal vector is selected. Ihe CodeBook corlsistCi of 512 entries (512 addreises). The index chosen has the least difference according to the following ,..;..;.,,,,l;,,,l;,...
formuia:
Min {~ (x j yl)2}
i~
where Xj = the input vector of 8 samples, and y, = the code book vector of 8 sampies Ihe l..;,.;... A~ ., to fmd the best match betweer the ~ ( arld the code book erltries is ~ A~;llllAlly intensive. A
brute force ~lll~ ;~Jll may exceeci the available machne cycles if reai time 25 processirlg is to be ~., ....l.l;~1,~ .1 Ih~ls, some shorthand processing approaches are taken to reduce the ~ Al i- ll l~ required to find the best fit.
The above formula can be computed in a shorthand fashion as follows.
By expanding out the above formula, some of the u~ uy terms may be removed and some fixed terms may be pre-computed:
W095129~;76 218817 r ~ c~v~4 (xj - Yi) = (xj - Yi) (xj yj) = (xj2 - XYj - xjyj + y 2 = (X2 - 2xjyi + Yi ) 5 where x jZ is a constant so it may be dropped from the formula, and the value of -1/2 ~yj2 may be ~ L;;d and stored as the 9th value in the wde book so that the only real-time .~ "~ )" involved is the following formula:
M;n {~ (x j yj )}
Thus, for a segment of 32 samples, we will transmit 4 15 CodeBook Indexes (9 bits each) WII~IJl)lldlllg to 4 ~"1,.~. ~". ."~ of 8 samples each. Tbis means, for e~ch segment, we have 36 bits to transmit.
After the appropriate index into the wde book is chosen, the input speech samples are replaced by the C~ ll~lg vectors in the chosen indexes. These values are then multiplied by the Gq to ~ ' ' the 20 ~ylllL~i~l error signal, e'(n). This signal is then passed through the Inverse Pitch Filter to reintro-duce the Pitch effects that was taken out by the Pitch filter. The Inverse Pitch Filter is performed as follows:
yfn) = e~(n) + ~Bq * x' (n -j) where ~q is the decoded LTP Gain from Table 3, and j is the Lag.
The Inverse Pitch Filter output is used to update the ~llIL~;~
speech buffer which is used for the analysis of the next sub-segment. The update of the state buffer is as follows:
x' ~) =x' (k + MDV PITC~
where k = 0, ..., (MAX PITCH - MIN_PITCH) - I
x~(~) =y(n) WO 95/29576 : P~ J.,,5~'C~;v34 where I = MAX PITCH ~ PTTCH, ..., MAX PITCH - I
The signal is then passed through the ~l~hs~cic filter since yl~lllyl~a;a was performed at the beginning of the processing. In the S analysis, only the yl~illyl~ia state is updated so that we properly satisfy the Analysis-by-Synthesis method of performing the CVIIIYI~;VIL In the Synthesis, the output of the deemphasis filter, s' (n), is passed on to the D/A
to generate analog speech. The deemphasis filter is ;~ 1 as follows:
s'(n) =y (r~) + p * s' (n - 1) where p = 0.5 The voice is I~VllaLlU~ at the receiving end of the voice-over data link according to the reverse of the ~vl~lyl~iaalvll algorithm as shown as the d~vlllyl~aiv~l algorithm in Figure 13.
If a silence frame is received, the ~Vlllyl~ivll algorithm simply discards the received frame and initialize the output with æros. lf a speech frame is received the pitch, LTP-Gain and GAIN are decoded æ
explained above. The error signal is l~llaLIu~ from the codebook indexes, which is then ~ ,. ."~ l with respcct to the GAIN value. This 20 sigr~l is then pæsed through the Irlverse filter to generate the I~Wlla~
signal. The Pitch and the LTP-Gain are the decoded values, same æ those used in the Analysis. The filtered sij~nal is pæsed through the Deemphasis filter whose output is pæsed on to the D/A to put out analog syeech.
Ihe wlllyl~aa~J frame contains 23 8-bit words and one ~bit 25 word Thus a total of 24 wvrds. Total number of bits t~nsferred is 190, which WllC,ayVlld:~ to 9500 bps æ shown in Table 5.
Wo ss/2s~76 2 1 g 8 1 7 1 r~ c~ ,4 Table S Cr ~. ~;a~d Fr~me Packet for 9.6K Alvorithm 5 7 6 5 4 3 2 1 0 Bit Number S S pO Po Po p 2 p ' pOo Comp Frrime[0]
V28v,8 Vo8 p~4 p 3 p 2 p I p, cOmp_Frr~me[l]
V58V48 V38 P24 P23 p22 P2 P2 Comp_Frr~me[2]
V,8V 8 p 5 p 4 P 3 p 2 p ~ p3 Comp_Frame[3]
10V98 V88 BGo5 BGo4 BGo3 BGo2 BGol BGo Comp_Frrlme[4]
Vl~8 V,o8 BG,5 BG~4 BG~3 BG~2 BG~' BG~ Comp_Frr~me[5]
V,38 V,28 BG25 BG2~ BG23 BG22 BG,' BG2 Comp_Frr~me[6]
V~58 V,48 BG35 BG34 BG33 BG32 BG31 BG3 Comp_Frame[7]
VQo7 VQo6 VQo5 VQo~ VQo3 VQo2 VQol VQo Comp_Frr~me[8]=
LS 8 bits VQ[0]
15VQ~7 VQ,6 VQI5 VQI4 VQI3 VQI2 VQ~I VQ, Comp_Frrdme[9]=
LS 8 bits VQ[I]
VQ~4 VQ,4 VQII VQI~ VQI4 VQI4 VQI~ VQ,4 Comp Frrlme[22]
7 6 S ~ 3 2 I LS 8 bits VQ[14]
VQI5 VQI5 VQls VQ,5 VQI5 VQ~5 VQ~j VQ~s Comp_Frr~me[23]
20 ' 6 5 4 3 2 1 LS 8 bits VQ[I5]
wber~ BG = Be~/G~ = I'it:h, VQ = Codenooli Irdel od S = S~-re Bitc W0 95/29S76 ~ 1 ~ 8 1 7 1 38 ~ P~
(`~ Bnok l~c~ nc The code books used for the VQ algorithm described above are differerlt for the 8K, 9.6K and 16K algorithms. Table 6 describes the format S of the code book for the 9.6K algorithm. The code book vaiues are stored in a signed fioatirlg point format which is converted to a Q22 value fixed point digital forrnat when stored in the lookup tables of the present invention.
There are 256 erltries irl each code book ~:U~ to 256 different speech segrnents ~vhich can be used to encode and recorlstruct the speech.
T~ 6: c~ r ~ r ~
15 ~ Code Book Entries ~ --I/2 Sum2 Constant--8 entries I erltry For the 9.6K algorithm, the code book cornprises a table of 20 riine colum!ns and 256 rows of floating point data The first 8 rows correspond to the 8 saDnples of speech and the rlinth entry is the ~l~;ul~
corlstant described above as -1/2 ~ yi2~ An example of the code book data is shown in Table 7.
wo 95129576 P~ 0~ 1 Table 7: Coae Book ExamPle for the 9.6K Al~orithm 0.786438 1.132875 1.208375 1.206750 1.114250 0.937688 0.772062 0.583250 393769 0.609667 1 019167 0.909167 0.957750 0.999833 0 854333 1.005667 0.911250 3.36278 5 0.614750 1.150750 1.477750 1.548750 1.434750 1.304250 1.349750 t.428250 6.95291 0.657000 1.132909 1.279909 1.204727 1.335636 1.280818 1.162000 0.958818 5 24933 0.592429 0.897571 1.101714 1.337286 1.323571 1.349000 1.304857 1.347143 5.6239 0.325909 0.774182 1.035727 1.263636 1.456455 1.356273 1.076273 0.872818 4.628 The code books are converted into Q22 format and stored in PROM memory accessible by the Voice DSP as a lookup table. Ihe table data is loaded into local DSP memory upon the selection of the appropriate algorith~n to increa3e access speed. The code books comprise a table of data in which each entry is a sequential address from 000 to 511. For the 9.6K
15 algoritl~n, a 9 X 512 code book is u3ed. For the 16K algorithm, a 9 X 512 code book is used and for the 8K algorithm, a 9 X 512 code book is used.
Depending upon which voice ~;Ulll~ll~i~;VII quality and ~UIII~C~iUII rate is selected, the WllCù~JUlldlllg code book is used to ulu~d~/u~u~ the speech samples.
('~nPration of the ~ P Bn-~t c The code books are generated statistically by encoding a wide variety of speech pattem3. Ihe code books are generated in a learning mode for the above-described algorithm m which each speech segment which the 25 W.llylr~:,;v.. algorithm is first exposed to is placed m the code book until 512 entries are recorded. Then the algorithm is continually fed a variety of speech pattern3 upon which the code book is adjusted. A3 new speech segments are ~I~VUIIl~i, the code book is searched to frnd the best match If the error between the observed speech segment and the code book values exceed a 30 ~ rl",;.,. ~I thre3hold, then the close3t speech segment in the code book and the new speech segment is averaged and the new average is placed in the code book rn place of the closest match. In this learning mode, the code book WO95/29576 r~ o l t ~88~ 40 Ç`-is continually adjusted to have the lowest difference ratio bet~een observed speech segment values and code book values. ne learning mode of operation may take hours or days of exposure to &fferent speech pattems to adjust the code books to the b~s~ fit.
The code books may be exposed to a single person's speech which will result in a code book being tailored to that particular persons method of speaking For a mass market sale of this product, the speech pattems of a wide variety of speakers of boll1 genders are exposed to the code book leaming algorithm for the average fit for a given language. For other 10 languages, it is best to expose the algorithm to speech pattems of only one language such as English or Japanese.
Vl~irP or Fax ~tA p~lrtrPt When the DSP circuit 620 completes the WIII~ ;VII of one 15 20ms portion of voice or fax ;"r- " " ,,~ .", it will send a block of voice or fax data every 20 ms to the dual port RAM 307 where the data processor 318 can retrieve it for l . ~"~" ,;~,. ,l, Each voice or fax data packet has three header bytes and 23 bytes of voice or fax data (for 9200 baud voice WIII~ iOll) or 43 byte~ of voice data (for 16K baud voice WIIJ~ ;VII) in the dual port 20 RAM ~he header bytes indicate the destination address, destination channel, frarne ID, byte count, etc. Bits 6 and 7 of the first header byte indicate the packet type. The voicelfax packet is described in Table 5.
Bits 6 and 7 of the first byte of the header cor~ams the packet identifier which identifies the contents of the packet (see Table 5 above).
25 These bits are defined as follows:
00 = the following voice packet cor~ains silent sound 01 = the following voice!fax packet contains ;~ ~r " " 1"1 ;, ."
10 = the following packet cor~ s telephone sigaalling or control ;"1~"",~;.", 11 = reserved w0 95/29576 P~ C~ 4 i, nrP ~llrrre.cci~n If there is a silence period indicated by the DSP 620 m an empty packet sent to the data processor 318 through the dual port RAM 307, the data processor 318 will not send the silence packets to the remote site.
5 Instead, the data processor will send a two-byte packet indicating no voice inforTnation to be sent or the data processor will set a bit in one of the ~ch~vv.!~l~,ul~cllL, dat3, or netw-vrk control packets to alert the receiving side.
The detection and ~U~)IJI~;Vll of the ~ ";~,- " of the voice packets frees up bandwidth for the ~"~ " .;~;. " ~ of other data. In this fashion, the use of 10 the bandwidth over the composite link is dynamically allocated bet veen voice, fax and data. Since hurnan speech is typically 60% silence (pauses between spoken words and sentences), a higbly efficient ~ e is a~""~
~)LC Pr~-tnrr,l With A~vanrPA Priori~ ~tatictiral Ml~lt~lexiT~
Referring once again to Figure 4, the "",ll;l.l.. l data over composite link 313 between the synchronous ~ "~ 300 uses advanced priorit~v statistical ~ e (APSM) on top of a modified form of high-level s,yll~LlVllVU i data link control (HDLC) to transrnit and receive the datapackets. In general, this protocol follows the CCITI V.32 standard and the 20 like for ~ e and . ~....1.. ",;, ~1;"" In the initial handshake period in ~ e a .1..lllllllll: ~ ;,."~ link~ a special link protocol is used This protocol is described in the flow chart of Figure 14.
T ink Pr )tnrnl Both ,.,.,l~;l,l~ - "~ 300 and the associated composite link (either analog or digital) transmit and receive a link request A or link request B, and a link a~ lvwlc~clll,l.L as shown in Figure 15. Data cannot be transferred until the link has been ,~ctahlich, d Link Request A (LRA) is transmitted by the initiating modem to the rernote and receiving modem to initiate a link 30 process. This link request is ll ' every three seconds until link request B is received WO 95/29576 1 ~,l/L.~
2~'~g'~
Ihe called, or receiving, modem transmits Link Request B
(LRB) to the l.,,..~..,;ll;..~ IIII~IL';~ U~ a~er LRA is received. LRB is transmitted every tbree seconds until link a LIvwl~ is received. Link A~h~uwl~ (LA) is tr~msmitted to remote ""~ only aPter LRA
5 is sent and LRB is received, and LRA is received and LRB is sent, by the "l~ and receiving modems, .~ y~
A~LIuwl~d~ lll blocks are used to a.h.u..kAi~ valid 10 (ll,~. ~.."~ l) data blocks that were received as well as to relay control ;"~"",~,,.., to tbe remote ~ An ækno~ is always transmitted witb the sequence number of the last received data block as shov~n in Figure 19. Forced æL~u./l~J~ .L are a~hlu./l~d~ b which must be transmitted illllll~ i;dL~ly. If one of the follov~ing cQnditions exist, a forced 15 a.hlu..l~l~ll.u.l is required:
l .) Control i., r~.. " . ~ needs tQ be sent to tbe remote r". ,1~ ;1.1. ~ For example, a receive buffer of a local channel is full.
2.) Four data blocks have been received without an d~hlu.I~ L.
300 is configured to take arralog voice channel rnputs from telephone equipment through specially configured voice channel interfaces to be digitized, UUI~ and encoded into a special packet protocol using a voice 10 ~;vlll~JIraaiull algorithm. MultipleAer 300 is also configured to cormect to faA
equipment to receive and ~i~mn l~ the faA picLure data to place the decoded picture data into the special packet protocol. The ~ ullvua~ Llulluua data received by IIIUI~ A~I 300 from the DTE devices is combined with packetized picture data and packetized compressed voice ;, f )~ for ""~ e and ayll~hlulluua llall~ ll over the composite link.
At site l'B", IIIUI~ A~I 300b operates identically to Illlll~ A~,I
300a at Site "A" to multiplex outgorng data, voice or fax I l lfi )l l l lal ;l ll l and to rncoming data from site "A". Each IllUltilJl~A~l 300 operates to compress or V~Ill~ a the digitized voice data from telephone equipment 20 using a voice wlll~ aaiull algorithm described more fully below.
Multiplexers 300 also operate to modulate and ~1~mn~ t-o the fax picture data so that all three forms of data (DTE data, ~u -~ ~l voice data and facsimile picture data) are combined using a special packet protocol for llall~",;~;""
over the composite link, and ayll~lllulluu~ data, such as LAN sigrrals are 25 modulated and ~Ir~ lllllalr~l as well. The composite Iink 313 may be an analog Irne such as a public telephone Irne us;ng s~nchronous modems, a private leased line using ~yll~LIulluua modems or a digital Irne using DSU
(Digital Service Units).
H~rd~re OYerYiew As shown in Figure 4, the present invention combines a plurality of ~ayll~,LIull~lua data channels 302a-302n, which in many cases are . ., I !i;! A ~t ~ tA ~ J~
W095/29576 r~,~. ~ 4 2 1 8 8 1 7 1 i f; ~
RS232 interfaces 303a through 303n, along with a data packet stream of WllliUl~b~d voice or facsimile infnrrn:ltinn into a single data strea~n. Ihe single packetized data streain is transmitted using ~yll~luulluu~ modem 314 over a single telephone line 315 to a remote site (Site "B"). As described 5 more fully below, the composite lirlk 313 may be selected tû be an analog linesuch as a public telephone line using synchronous modems, a private leased line using ~yll~ luulluu~ modems or a &gital line using DSU (Digital Selvice Units). Figure 4 shows only one such composite link ;...l.l..,~ ..l,,l;.... which is a public telephone line 315 using ~yll~luullu~ modems 314.
As shown in Figure 4, the basic elements at the local site (Site "A") connected to ' il ' 300a æ terminals or PCs 301a-301n which are connected to channel ports 302a-302n which in tum connect to RS232 interfaces 303a-303n. The charmel ports 302a-302n provide access to data buffers 304a-304n controlled by IIU~IUI~JIUI~lVl 306 which assernbles the data 15 packets for the data processor 318. The combined data packets are connected to the phone line 315 by ~yll~luulluu~ modem 314 for l.. ~ .. ,. at high speeds over the dedicated phone line 315.
A~ luulluu~ data from the individual PCs contain start and stop flags. The ~yll~ luulluu~ data is collected from the individual PCs and is 20 assembled into ~yll~luulluu~ data packets, each with a header and a trailer.
Typically, 85% to 90% of an asynchronous line is not used efficiently since the line is not ca~rying any data most of the time. By using a statistical ulliul~ 314, the sporadic data activity of several individual channels 302a-302n connected to PCs 301a-301n can be combined onto a single line 25 315 to make more efficient use of that line. The IIU~;IU!JIV~;~VI statistically "",~ and collects the asynchronous data and packetizes it into ~yll~,luvlluu~ data packets for 1....~...;~;~ ...
Syll~uulluu~ data l.,,..~,..;~;....~ also gain efficiency over a~yll~luullu~ data ll,...~...;~;....c by reducing framing overhead~ By way of 30 example of the data ~ . efficiency gain, ~ luulluu~ data is by def~nition formatted by frarning each character with a start and stop bit. This process can account to up to one-third of the bits in a single ll, ,~ ." on WO 95/29576 r`~ 4 2188I7I ~ ~
10 1 ~
an a~ lLvlluu~ link. In contrast to this, synchronous data is transmined in a packet that f~rst contains a header (which contairls destination address), follo~ved by a block of data characters and followed by trailer ;"r..""~l;....
(such as error checking codes, checks sums, etc.). Since the packet is 5 addressed, a statistic31 ~I~ulli~ can arrange the packet in any order with the other asynchronous data based on demand and use of the ~ hlulluu~
data lines.
Data from the asynchronous channels 302a-202n connected to the PC's 301a-301n is sent to the Illlk,lU,!JlU~.~UI for statistical "",~
10 after frrst being buffered through buffer 305 and collected by intcrnal IlU~,IU~JIU~a~UI 306. The IIII~,IUIJIU~,~UI 306 assembles the data into the synch~onous data stre3m in the form of ~II~LUIIUU:i data packets which are framed by the address and error correcting data and sent to data processor 318 for ""~ ;"~ with voice and fax data pækets for 1".,.~",: . . .", over the 15 ~yll~hlu..uu~ composite lir~
The composite link 315 may be a digital or analog net~vork link, a simple analog leased line, a four-wire le3sed line or private line.
t'l~llllll.l.. . ~1.ll~ over the composite link is through a special ~yll~hlulluu~
modems operating typically at 300 to 19.2kbps, 38.4kbps or DSUs (Digital 20 Service Units) operating at 9600 to in excess of 256Kbps. The . . .~"~" .~. ,1 and control for~nat of the data transmitted over the composite link is describedmore fully below. This format is similar to the high-level ~l~h~ulluu~ data link control forrnat (HDLC) used for inter-modem or DSU .1~...1.111..;1,.~;~.1. A
proprietary modified form of the HDLC is used with the preferred 25 , ~ ' of the present invention ~vhich is called Modified HDLC or MHDLC. MHDLC is used m r~ with an Advanced Priority Statistical ~ 1~ (APSM) algorithm to achieve a highly efficient use of the composite link.
l~lllt~l~Y~ OverviP`I~
Figure 4B is a block diagram of a single data/voice/fax .;~JI~ 300 with the circuits shcn~n divided æcording to the physic31 WO 9512g~7C I ~
~ 2188I7~ ll ;",~ ;"" on multiple cards. Those skilled in the art will re3dily recogr~ize that the physical ;~ rll~ of the presert irlvention need not follow the physical partitioning ~ rl here. The l il ' 300 uses statistical time divisiorl "~ to transmit data, voice and facsimile data 5 in a fashion that appe3rs ~; ""~ ru~ to the user at each end. In the illustrated rl l ll ~ ; l lrl ll of the present irlventio4 two eight-charmel irlterface cards 401a and 401b are included to provide a total of sixteen RS232 a~yll~,luulluu~ ports for cormection to PCs, mainframe computers, arld other DTE devices, although as shown below, more char~nel cards rnay be added to 10 extend the number of a~ IUUllUU~ charmels serviced. In the preferrd ;.",, 32 ~,y~,luu~uu~ charmels are interfaced using four 8-channel cards. The channels are buffered arld connected to the host or aggregate card 400 of the "i ' 300 for I l ll llI ;l ~Ir~ with packetized voice or facsimile from Voice Charmel Equipment (VCE) Charmel I circuit 308 or 15 VCE Channel 2 circuit 309 (both VCE channels ;Illl,I. ..lrl,~r,l on a single card).
Those skilled in the art will readily recognize that a variable number of ~:lyll~luulluu~ RS232 port cards and a variable nurnber of voice or facsimile interface cards may be combined in the preferred Gll~ ' ' of the 20 present invention without limiting the scope of the invention. Thus, the design of the J~;~/vu;~r~ ~ ul 300 is modular to allow the addition of cards to expand the capability of the system. In the preferrGd .l ;l .l l shown in Figure 4B, two VCE channel circuits 308 and 309 on a single card are used to :~lld/lG~;~._ facsimile or analog voice 25 ;"r.."",.1;.." ~1.l.ll. . 1;,."~ for l~- L~ and ~ -, over the composite link lines 313a and 313b. As part of the modular desig4 the preferred ;",1,1. .llr.ll~l;llll of data vui~C/r~l ".il ' 300 is shown with two dedicated lines 313a and 313b corlnected to ports 403a and 403b IG~ y. Network ports 403a and 403b each interface to separate lines using dedicated 30 ~yll~luulluu~ modems 314 for analog lines or to DSU's (Data Service Units) for digital lines.
wo 95/295~6 F~,ll~l~. ' 1 2188 ~1 12 , Ihe facsimile ;~r~ ., from a fax macbine is received as a telephone cormection on VOE channel 1 cr~cuit 308 or VCE charmel 2 circuit 309. The facsimile;, . r~ .. " ,Al ;. .., is taken off the analog carrier by .~1. . ".lf 1"l~: ;"p the ca~rier so that the picture or pixel packets are recovered.
S The picture or pixel packets are then passed through dual port RAM 307 to be received by the data processor 318. The data processor 318 combme the facsimile or pixel packets ~-vith the synchronous data packets received from the asyn~h,u,luw data channels 401a-401b for statistical i~ and l ~ AI I~ ;I )I I over one of the composite link lines 313a or 313b through 10 net~ork ports 403a or 403b, respectively.
In addition, or dlL~ iv~ly, telephone equipment connected to either VCE channel I circuit 308 or VOE channel 2 circuit 309 ~-vill receive analog voice ;~r~ , digitize the voice ;--f~"..~ ;---- compress and encode the digitized voice i, .~... ", - ;. ", into packets and load the packets into dual 15 port RAM (Random Access Memory) 307 for receipt by the data processor 318. These ~,UIII~ i voice packets are then statistically ",.lll;l,l....I with the facsrLnile picture packets and/or the a:~yll,lllUllUW data packets from as~ ,l,lul.uw channel cards 401a and 401b for ~ 1 llAl~ l over the composite link Imes 313a or 313b. The packets are collected and 20 transmitted over the telephone Ime -wing a proprietary ~yll~Lu~uw data link format which, for purposes of the present discussion, is described as a modified high speed data link control or MHDLC uwing a proprietary advanced priorit~ statistical ~ algoritbm described more fully below.
Orn~Atirn ~f the V~ irP~F~imilr l~h~nnPI Tnt~f:lrP
The VCE channel I circuit 308 and VCE channel 2 cr~cuit 309 of Figure 4B are identical circuits which are capable of operating in parallel to t~nsmit and receive signals to and from telephones and facsimile machines.
30 Illwtrated in Figure 4B for VOE channel I cr;cuit 308 and VCE channel 2 circuit 309 are three types of telephone line interfaces labeled FXS, FXO, and E&M The FXS acronym st nw for Foreign Exchange Station. The FXS
woss/2ss76 r~ ,3.~ 4 2188I7~ 13 interface mimics the subscriber-side of a standard tip and ring two-wire telephone connection either as a loop or a ground start ~nnfigl~tinn The FXO acronym stands for Foreign Exchange Office. The FXO interface mimics the central offce or provider-side of a standard tip and ring t~vo-wire 5 telephone connection. The E&M acronym was historically designated in telephone circuit diagrams as the "e" in "received" and the "m" in "transmit"
for trunk signalling. The E&M interface mimics a typical PBX trunk interface.
As sho~-vn in more detail in Figure 6C, each voice channel card 10 is capable of handling the three interfaces: FXS, FXO and E&M to provide a wide variety of C~ ivi~y for interfacing to different types of telephone equipment. Four of these types of ~l ll ll l. ~ I ;. 1l l!~ are illustrated in Figures SA
though 5D.
As shown in Figure 5A, a telephone or facsimile machine may 15 be connected to the FXS interface at Site "A", which will appear to this equipment as though it were connected to the subscriber side of a standard tip and ring two-wire analog telephone connection. The FXS cormection on VCE
channel I circuit 308 or VOE channel 2 circuit 309 shown in Figures 4A and 4B would appear to be a telephone central office (CO) to this telephone 20 equipment (or a PBX-mimic of a CO). Th~s, if a user picked up the handset of a standard telephone connected to the FXS interface at Site "A" of Figure 5A, the telephone or fax machine at site "B" would ring.
A PBX may be cormected to the FXO interface on VOE
channel 1 circuit 308 or VCE channel 2 crrcuit 308 shoun in Figures 4A and 25 4B. Referring to Figure 5B, the PBX at site "B" is attached to the FXO
interface of the ~ IL;~ A~I 300b. The PBX at site "B" will see the '~i ' FXO interface as a piece of telephone equipment responding to the PBX rnnnff~tion A tclephone or fax machine at site "A" is connected to the FXS interface of IIIUI~ A~I 300a but will appear to be connected to the 30 station cormection of the PBX at site "B". The telephone or fax machine at site "A" will then be able to dial any extension serviced by the PBX at site "B" or dial out to the local Public Switched Telephones Network (PSTN) WO 95~29576 F~ 4 from the PBX The telephone or faA equipment at site "A" appears to be directly connected to the PBX at site "B".
A PBX trunk interface ma~ also be connected to the E&~
interface on VOE channel I circuit 308 or VCE channel 2 circuit 308 shown S in Figures 4A and 4B. Referring to Figure 5C, the trunk interface of the PBX
at site "B" is attached to the E&~M interface of the III~It;~ A~ 300b. The PBX at site "B" will see the I~ Ac I E&~ interface as a trurlk telephone line responding to the PBX connection. A telephone or faA machine at site "A" is connected to the FXS interface of '`i ' 300a but will appe3r to 10 be connected to the PBX at site "B" through the t~nk interface. The telephone or faA machine at site "A" will then be able to dial any eAtension serviced by the PBX at site "B" or dial out to the local Public Switched Telephones Network (PSTN) from the PBX The telephone or faA equipment at site "A" appears to be directly connected to the PBX at site "B". The 15 telephone or fa~A equipment serviced by the PBX at site "B" can a~cess the telephone or faA equipment at site "A" by calling the appropriate tr~k nunlber for site "A".
A PBX trunk interface of PBX equipment at both sites "A" and "B" may be connected to the E&M interface on VOE channel I circuit 308 or 20 VOE channel 2 circuit 308 shown in Figures 4A and 4B. Referring to Figure SD, a trurlk irlterface of the PBX at site "A" is attached to the E&M interface of the Illul~ ,A~l 300a and a trunk interface of the PBX at site "B" is attached to the E&~I interface of the IIIUI~ A~I 300b. The PBX at site "A"
will see the ~ Jl. A~l E&~ interface as a trunk telephone line responding 25 to tbe PBX connection and the PBX at site "B" will see the IIIIJI~i,Jl~A~ I E&:M
interface as a trunk telephone line responding to the PBX connfflion. Both PB7~s will see the other PBX as a direct connfflion through a trunk line.
The telephone or faA machine at site "A" will then be able to dial any eAtension serviced by the PBX at site "B" or dial out to the local Public 30 Switched Telephones Network (PSTN) from the PBX at site "B" Similarly, the telephone or faA machine at site "B" will then be able to dial any woss/2ss76 2~88I71 15 ' r~ c5v~4 extension serviced by the PBX at site "A" or dial out to the local Public Switched Telephones Net vork (PSTN) from the PBX at site "A"
A~y~ """.,.,~ nnrl (~ lc Figure 6A is a detailed block diagrams of the ~yll~,hlvlluu~
ehannel eards. As deseribed above, the present system is modular in its design to allo v a variable number of asynchronous channel interfaees. Thus, Figure 6A such ehannel boards 600a, 600b, 600c, 600d, each eapable of collecting ~yll~hlulluu~ data from eight RS 232 interfaees for a total of 32 10 RS 232 ~y~Lv~vu~ interfaees.
Eaeh ehannel board 600a, 600b, 600e, 600d, is identical in design and eommonly refereneed as ehannel board 600. Each ehannel board 600 is eontrolled by a ehannel proeessor 306 to eolleet and distribute asynehronous data to and from the eight ehannels through I/O interfaces 602a, 15 602b, 602c, 602d. The l/O interfaees ~1)111111.111'. . ~ . with ehannel proeessor 306 via a bus to share a data path. Channel prvcessor 306 utilizes a loeal RAM memory 604 for storing the operation and eontrol prograrns. The ~ayll~LIullvu~ data eolleeted or the ~,y--,l--u -uu~ data to be distributed is transferted to and from the aggregate e~rd or board 400 of figure 6B along 20 channel data bus 605. The ehannel data bus 605 is eontinued on Figure 6B
through eonnection point A.
In an alternate rl~ 1 of the present invention, the channel prveessor 306 can compress the asynehrvnous data usrng a ;VII algorithrn sueh as the algcrithm used in the CCITT V.42b is 25 standard. Also, the ehannel boards 600a, 600b, 600c, 600d, may operate to reeeive ~y~,h~olluu~ data for ",.,l~ over the eomposite Irnk.
A~ .~t~ d Aggregate catd 400 of Figute 4B is shown in greater detail in 30 the bloek diagram of Figute 6B. A data proeessor 318 conttols the internal operation of aggregate eard 400 and petforrns the funetions of eollecting ~yll~LIvllvu~ data ftom bus 605, eolleeting voiee and fax data paekets ftom WO 95/29576 `-I/L \' l 4 2188I71 i6' interface 607, and mllltirl~xin~ and framing the various data packets and call sigrlalling packets mto synchronous data packets. Data processor 318 in tne preferred ~",I.~-T;",~ .,1 is a Z180 IIIi~IV~IU~UI. A RAM memory 611 on mternal bus 608 supporis data processor 318 to store control programs and to 5 buffer packet irfnrmsl~irn rece*ed from the voice/fax board 402 via cormection 607. The synchronous data packets are sent from data rnrocessor 318 along mternal bus 608 to a serial ~ 1".~ controller 609. Serial controller 609 operate under the control of tbe data processor 318 via control lines separate rom the intemal bus 608. The syl.~,l..u..uu~
10 data stream may be transmitted via a variety of paths through serial . 1 ll l l. l ll ll l.l ~1~ ;~ ll l~ controller 609 as composite lir~s. Exte~ ylll.LlolluLo modems 314a and 314b provide modem ~ ,-"~ -"~ ûver active two-wire or four-wire leased lines or an alternative ~.,."..,... ~ path may be established via DSU (Digital Service Units) 610a arld 610b to digitr~l data 15 networks.
Data processor 318 is under direct control of command processor 612 which suppûrts a loc~l connection to a status and control PC
613 and a remote connection to the status arld control PC at the remote site through dial-up modem 615 for wu~d;l.dliu.. of ~I~,.r~ ;,.f~ ", and 20 operating parameters. The command rrocessor maintains the rnnfi~lr~tir,n infnrm~tir,n and operating rarameters in a non-volatile EPRO~ memory 614.
Vnirr~Fax ~'~d A dual charmel voice/fax card 402 is sho~n m the detailed 25 block diagram of Figure 6C. Voice Channel Equipment (VCE) Charmel I
circuit 402a and VCE Channel 2 circuit 4û2b of Figure 5 are ;~ on a single card 402 shown in Figure 6C. The local incoming analog voioe ;, ~ r~ " " ,~ " . or fax carrier is received on the FXS interfaces. Ihe remote l~wl~llu~i analog voice ;,.G"",A:;"" or fax carrier is produoed locally on 30 the FXO interfaoes. The PBX trunk sigralling is produoed on the E&M
interfaces.
woss/2ss76 2188171 ` r~lm s ~e The incorning analog voice infnrrnHtinn or fax carrier is received on the FXS interface 624a and 624b and converted from analog i"r".".~i,... to digital samples by analog to digital converters 622a or 622b, respectively. The digital samples are passed to digital signal processor 620 S ~vhich either decodes the fax carrier i. .r. - ~ if fax i" r. " ~ ;. .l. is detected or compresses the voice data if voice i- .r .. ., IH~ l l was detected. The voice WIII~ >il)ll algorithms are described more fully below. The Cvlll~
voice data is placed in packets by the digital signal processor 620 and passed to the data processor 318 of Figure 6B in via interface 607 through coMection 10 point B. The fax picture data is similarly packetized by the digital signal processor 620 and passed to the data processor 318 of Figure 6B.
~PtHilPA FlP~f HI Sf hptnHtic ~iS~rns Figures 7A-7I, 8A-8I, 9A-9I and IOA-IOI are detailed electrical 15 schematic diagrams of the circuits depicted m block diagram for~n in Figures 6C. In Figure 7A, the DSP 56002 circuit U14 ~ JVllJ~> to the digital signal processor (DSP) 620 of Figure 6C which functions to compress and d~VI~ digitized voice signals and handle the call progress signals. The call p}ogress signalling establishes the calls before the voice ~~ ;vll or 20 lil~Vll~ >;VII starts through the FXS, FXO and E&M interfæes. DSP 56002 also functions to detec~ the fax tones and perforrn fax mnrl.llHtinn and . "...1 1~: ;.... and to perform far-end echo-- ~ . f 11 ' ;.." in the digital domain.
DSP 56002 circuit U14 controls the FXS, FXO and E&M
interfæes to handle the call progress via the data bus DO-D23 through buffer 25 circuits U2 and U3 for channel I and channel 2, rcspectively. For c-xample, for the FXS intcrfæc-, the DSP 56002 circuit U14 opcratcs to corhrol the ring of the telephone and detcct the off-hook of the telcphone. For the FXO
interfæe, DSP 56002 circuit U14 operatcs to dctcct the ring from the PBX
- and returns an off-hook signal to the station side of the PBX For the E&M
30 inter~æe, DSP 56002 circuit U14 opcratcs to conncct to the trunk of the PBX
to primarily control the E-lead and M-lcad for trunk signalling. Integrated wo ss/2ss76 2 1 8 8 1 7 1 18 . ~ll. 4 circuit Ul is a buffer circuit used to control the status indicator LED's shown in Figure .7B.
As described above, channel I and charmel 2 of the voice/fax board are identical and correspond to Voice Channel Equipment (VCE) S Channel I circuit 402a or VCE Channel 2 circuit 402b of Figure 5. Only one channel circuit is shown in the electrical schematic &agrams of Figures 10A
and 10B and the control signal labels shown in the electrical schematic diagram of Figure 7B rnatch by placing a "B" in front of any control signal label to indicate channel 1. For example, the signal E&ME of the electrical 10 schematic diag~am of Figure 7B matches the signal E&~E of the electrical schernatic diagram of Figure 10A for channel 2 and the signal BE& ME of the electrical schernatic diagram of Figure 7B matches the signal E&ME of the electrical schennatic diagram of Figure 10A for channel 1. In Figures 10A
and 10B, the FXS, FXO and E&M ~l~llll. . l;.."~ for the voice/fax card 402 are 15 shown to the right of Figure 10B. The E&M trunk line wnnector J5 handles both tw~wire and four-wire interfaces.
Referring to Figures 8A and 8B, the duaL port RAM memory U10 WI~ )Ulld~ to the dual port RAM memory 307 of Figures 6C, S and 4.
Dual port RAM 307 is used to transfer the voice and fax packets to and from 20 the command processor 612 of Figure 6B. SRAM circuits U5, U6 and U7 in the upper parts of Figure 8A and 8B wlrespond to the RAM memory 618 of Figure 6C. This memor~ wntains the operating programs for DSP U14 of Figure 7A (W~ JOI~dill~ to DSP 620 of Figure 6C). DSP U14 executes the program wde from SRAM memory circuits U5, U6 and U7 but the wde is 25 ~,~l.Lo~ Lly stored in non-volatile EPROM memory 619 of Figure 6C
WL~ ' ,, to EPROM circuits U8 and U69 of Figure 8B. The wde executes much faster from the RAM memory 618 so the operating program wde is loaded from the EPROM 618 to the RAM 619 upon power up of the system.
Referring to Figures 9A and 9B, wMector Jl is the interface 607 with the main aggre~te board of Figure 6B. The operational amplifiers in the top portion of Figure 9B are used for gain control and level control of 19 '' '' the analog voice signals. Not shown in these schematic diagrams are the AC
(ring voltage) and DC voltage sources.
CODEC 621 a for channel I of Figure 6C UUIlC~UUlldS to CODEC
circuit U24 of Figure 8B. CODEC 621b for channel 2 of Figure 6C ;u~ uull~b to CODEC circuit U16 of Figure 8B. CODEC's U24 and U16 include an analog to digital (A/D) converter and a digital to analog (D/A) converter.
Additionf I detail regarding echo f Tlnf f~ tif n, voice fli~iti7~tif~n and voice ~ulll,ul~a~lull can be found in U.S. Patent No. 5,452,289, issued on September l9, 1995 entitled "COMPUTER-BASED MULTIFUNCTION
PERSONAL COMMUNICATIONS SYSTEM". This patent is assigned to the same assignee as the present invention. The DSP 56002 DSP U14 is described more fully in the DSP56002 Digital Signal Processor User's Manual published in 1993 Motorola, Inc. CODEC chips U16 and U24, in the preferred ~ ." ,1 o~ are part number T7540 Digital Telephone CODEC . . l~
and sold by AT&T Micluel~ ulfl~ A more detailed description of this telephone CODEC chip U12 is described in the T7540 Digital Telephone CODEC Data Sheet and Addendum published July, 1991 by AT&T
Mi~,~u~le~ ulfius.
Speech C~nl,nrf-ciiinn The Speech Compression Algorithm for ~ulll~lc~alllg/~cculll,ulci~ ~ the digiti_ed speech inff~rTn rif~n of the present system is ~f.,.,l,l;l,. .1 via the DSP 620 of Figure 6C. The analog voice signals are received and digiti_ed by the telephone CODEC circuits 621a or 621b. The digiti_ed voice inff rms~tif~n is passed from the digital telephone CODEC circuits to the digital signal processor (DSP) 620 which is ~IU~Iallllll~,d to do the voice f ULIllUlCa~;Ul~ algorithm. The DSP 620 CU~ IlUlCj~ l the speech and places the cUIIllJlCa lc~ digital IC~JlUi~C.lL~l~iUII~ of the speech into special voice packets described more fully below. As a result of the voice ,U114/lC~i~;Oll algorithm, the culll~ulc~ac~ voice infnrTn~tinn is /`i.',i'~';,, ~ SrlEi'T
WO 95/2957G ~ 34 2~8171 ;
20' passed to the dual port RAM: ciicuit 307 for forwarding to the aggregate board in Figure 6B.
Sp~h ~nmrn ccinn Al~nrithm To multiplex high-fidelity speech with digital data and transmit both over the OVff the telephone line, a high available bandwidth would norinally be required. In the present invention, the analog voice infnrm~tinn is digitized mto 8-bit PCM data at an 8 kHz sampling rate producing a senal bit stream of 64,000 bps serial data rate. This rate cannot be transinitted over10 the telephone Ime. ~ith the Speech Compi~ssion algorithm described below, the 64 kbs digital voice data is compiessed into a 9500 bps encoding bit strearn using a fixed-point (non-floating point) DSP such that the CU~ d speech of channel I can be transinitted over the telephone line " " .l ;l ,ll . . ~l with fax data, compressed speech of channel 2, or aa.yll~,LIollu~ data. This is 15 ~ l in an efficient manner such that enough machine cycles remain during real time speech Wlll~ ll to allow to ailow for echo r~n~PIl~tion in the same fixed-point DSP 620.
A silenoe detection function is used to detect quiet intervals in the speech signal which allows the data prooessor 620 to substitute 20 asyl..l..~,l.uu~ data in lieu of voioe data pækets over the composite lir~k to efficiently time multiplex the voioe and ~.yll~.lllUIIUI~ data ~ ",;~;.", The allocation of time for ~,yll~ luu~ data IIAII~II ...'.11~ is constantly changingdepending on how much silenoe is on either of the voioe charmels.
The voioe ~114~ algorithm of the present system relies 25 on a model of human speech which shows that h= speech coritains redundancy inherent in the voioe patierns. Only the u~ ~l UlllU~ai;OI~
(changes) need to be tr~ncn ~ The algorithm operates on 128 digitized speech samples (20 millis~nnrlc at 6400 Hz), divides the speech samples into time segments of 32 samples (5 millis~nn(lc) eæh, and uses predicted coding 30 on each segment. Thus, the input to the aigorithm could be either PCM data sampled at 6400 Hz or 8000 Hz If the sampling is at 8000 EL or any other selected sampling rate, the mput sample data stream must be decimated from wo gsl2gs76 3 r ~ 4 8000 Hz to 6400 Hz before proce~sirlg the speech data. At the output, the 6400 Hz PCM signal is il~ ldt~ back to 8000 Hz and passed to the CODEC.
~Ith this algorithm~ the current segment is predicted as best as S possible based on the past recredted segments arld a difference signal is ~I,ot~rmin~A Ihe difference values are compared to the stored difference values in a lookup table or code book, and the address of the closest value is sent to the remote site along ~vith the predicted gain and pitch values for eachsegment. In this fashion, the entire 20 millic~cnnrl~ of speech can be 10 ~ t~ by 190 bits.
To produce this CUIII~ ;UIL the present system irlcludes a unique Vector Qll~ 11 (VQ) speech Cu~ ;ull algorithm designed to provide maximum fidelity ~vith minimum compute power and bandwidth. The VQ algorithm has two major ~ The first section reduces the 15 dynamic range of the input speech signal by removing short term and long term 1,,l...,.1,.". ;~ ~ Ihis reduction is done in the waveform domain, with the~ylllll.O;~J patt used as the reference for ~' " the ill,l~ l "ne~' content. The second section maps the residual signal into a code book optimiæd for preservmg the general spectral shape of the speech signal.
Figure 11 is a high level signal f~ow block diagram of the speech WIII~ ;UII algorithm used in the present system to compress the digitized voice for ~ - . over the telephone line in the voice over ddta mode of operation or for storage and use on the personal computer. The transmitter and receiver ~ are ;-~qll- "- ~t--l using the DSP 620 of 25 Figure 6C
Ihe DC removal stage I l01 receives the digitiæd speech signal and re~noves the D.C. bias by calculating the longterm average and subtractimg it from each sample. This ensures that the digital samples of the speech are centered about a æro mean value. The pre-emphasis stage 1103 3û whitens the spectral conterlt of the speech signal by balancing the extra energy in the low band with the reduced energ~ in the high band.
WO 95129576 r~
2i~8171 ~ f . i ~
The system finds the innovation in the current speech segment by subtracting 1109 tlle prediction from l~UIIaLlu~ past samples syrlthesized from synthesis stage 1107. This process requires the syrlthesis of the past speech samples locally (analysis by synthesis). The synthesis block 5 1107 at the transmitter perforrns the same function as the synthesis block 1113 at the receiver. When the ~C~,UIiSUUU~ previous segment of specch is subtracted from the present segment (beforc prediction), a difference term is produced irl the form of an error signal. This residual error is used to fLnd the best match in the code book 1105. The code book 1105 quantiæs the error 10 signal usirlg a code book gerlerated from a l~lcacll~ e set of speakers and c~ ul~ lb. A mir~imum mean squared error match is deterrr~ined in segments. In addition, the code book is designed to provide a ~
error with spec~al rolloff ~igher ~ l error for low frequencies and lo~ver ~ ;"~ error for higher frequencies). Thus, the .~ ;"~;.... noise 15 spectrum in the reconstructed signal will always tend to be smaller than the underlyirlg speech signal.
The channel l l l l ~,ullca~ullJa to the aggregate board 402 and the composite link m which the compressed speech bits are ~ with data bits using a packet forrnat described below. The voice bits are sent in packets of 5 frames each, each frame wllca~JullL~g to 20ms of speech in 128 samples. The sr~e of the packets depends upon the type of UU114)1~;UII used.
Three ~u~ ~a;ull algorithms are described which will be called 8K, 9.6K
and 16K The 8K and 9.6K algorithms results in a 24 byte packet while the 16K algorithm produces a packet of 48 bytes for each 20 ms speech segment.
Each frame of 20nns is divided into 4 sub-blocks or segments of 5ms each. In each sub-block of the data consists of a plurality of bits for the long term predictor, a plurality of bits for the long term predictor gain, a plurality of bits for the sub-block gain, and a plurality of bits for each code book entry for each 5ms. The bits for the code book entries consists of four or five table entries in a 256 long code book of 1.25 ms duration. In the code book block, each 1.25ms of speech is looked up in a 256 word code book for the best match. The table entry is trans-mitted rather than the actual samples.
wog5129576 ~188I71 ~ 4 The wde book entries are pre-womputed from l~lul~- ~l~iive speech segments, as described more fully below.
On the receivmg end 1200, the synthesis block 1113 at the receiver performs the same function as the synthesis block 1107 at the S trarlsmitter. The synthesis block 1113 lew~ u~b the original signal from the voice data packets by using the gain and pitch values and wde book address w~ ,uulld;llg to the error sigral most closely matched in the wde book. The code book at the receiver is similar to the cwde book 1105 m the transmitter.
Thus the synthesis block recreates the original pre-cllq~ rll signal. The 10 de-emphasis stage 1115 inverts the pre-emphasis operation by restoring the balance of original speech signal.
The complete speech Culll~ algorithm is ~ r~l as follows:
a) Digitally sample the voice to produce a PCM sarnple bit strearn sampled at 16,000 sarnples per sewnd, 9600 samples per secwnd or 8,000 samples per second.
b) Decirnate the sarnpled data to produce a cwmmon samplmg rate of 8,000 sarnples per second from all of the actual sarnple rates.
c) Remove any D.C. bias in the speech signal.
d) Pre-emphasize the signal.
e) Fmd the innovation in the current speech segment by subtracting the prediction from 1~.4UII:~IlUe1~i past sarnples.
This step re~uires the synthesis of the past speech samples locally (analysis by syr~hesis) sur,h that the residual error is fed back into the systern.
f) Quantize the error signal using a code book generated from a lc~u~ ive set of speakers and cllvil~ b. A
mrnunum mean squared error match is determined in 5ms segments. In addition, the code book is designed to provide a ~rlA. Il;~i'll;lll l error with spectral rolloff (higher ~rlA~
error for low fiequencies and lower ~ error for WO 95/29s7C ~ - P~ 4 ~8~
higher frequencies). Ihus, the flllAnti7Atir~n noise spectrwn in the I~UI~LIU~l~A signal will always tend to be srnaller than the underlying speech signal.
g) At the transmitter and the receiver, reconstruct the speech from the quanti_ed error signal fed into the inverse of the function in step (e) abo ~e. Use this signal ffJr analysis by synthesis and for tbe output to the ~;ul~ iOn stage below.
h) Use a de-emphasis filter to reconstruct the output.
The major advantages of tbis approach over other low-bit-rate 10 algoritbms are that there is no need for any u , ' ' calculation of reflection coefficients (no nlatrix inverse or lattice filter rJ....I..,~ .li....~). Also, the .l" .. ,l ;"~ i. ,., noise in the output speech is hidden under tne speech sigrlal and there are no pitch tracking artifacts: the speech sounds "nat~al", with only minor increases of ~uu~-J hiss at lower bit-rates. Ihe ~-1.,,,l,~,l~;..., ,1 15 load is reduced slf~liL~llly compared to a VSA P algorithm and variations of the present algorithm thus provides bit rates of 8, 9.6 and 16 KbiVs, and can also provide bit rates of 9.2kbits/s, 9.5kbits/s and many other rates. The total delay tirou~h the atAaAysis section is less than 20 ...;ll;~ ". l~ in the preferred U.11lrAJ~ rl 1~ Ihe present algorithm is A~ 11y~ rA I completely in 20 the waveform domain and there is no spectral ;. ,1; .. ~ ;.. being computed and no filter ~l...~l...l~l;.."~ are needed.
il,-A ~kcf~tir~n of the Srm~h Comrn~ion Al~f~rithm Ihe speech Culll~ iùll algorithm is described in greater detail 25 with refercnce to Figures 11 through 13, and with reference to the block diagram of the hardware fA 111 q 1111 Ir- Il ~ of tne present system shown at Figure 6C. Ako, reference is n~ade to the detailed schernatic diagrarns in Figures 7A-lOB. The voice wlll~ul~ion algorithm operates withrn the IJIU~ 1~1111111_ control of the DSP circuit 620. In operation. the speech or anaAog voice 30 sigrlal is received through the telephone interfaces such as FXS and is digiti_ed by the CODEC circlAit 621a or 621b. Ihe CODEC for circuit 621a or 621b is a ~ ~lllql ~ law CODEC Tlle at~alog voice signal from the WO 95/29~i76 1 ~ 4 telephone interface is band-limited to about 3,000 Hz and sarnpled at a selected sarnpling rate by digit31 telephone CODEC 621a or 621b. The sarrfple rates in the preferred ~ ' of the present invention are 8kb/s, 9.6kb/s and 16kb/s. Each sarr~ple is encoded into 8-bit PCM data producing a 5 serial 64kb/s, 76.8kb/s or 128kb/s signal, ~ ly~ The digitiæd samples are passed to the DSP 620. There, the 8-bit ,u-law PCM data is converted to 13-bit linear PCM data. The 13-bit ~ f~liull is necessary to accurately represent the line~fr version of the logarithmic 8-bit ,u-law PCM data. With line3r PCM data, simpler " ,~ f ;~ ~ may be performed on the PCM data.
Ihe safnpled and digitized PCM voice signals from the telephone u-law CODEC 621a or 621b afe passed to the DSP 620 via direct data lines clocked and ~yll~lllulfi~d to a clocking frequency. The sample rates in CODEC 621a or 621b in the preferred ~" ~1 nJI~ 1 of the present invention are 8kb/s, 9.6kb/s and 16kb/s. The digital samples are loaded into DSP 620 15 one at a time through the serial input and stored into an internal queue held in RAM, converted to linear PCM data and decimated to a sample rate of 6.4Kb/s. As the samples are loaded into the end of the queue in the RAM of the DSP 62û, the samples at the head of the queue are operated upon by the voice WIII~JIQ:~;UI~ a,gorithm. The voice WIIIIJIQ;!l;VII algorithm then produces 20 a greatly wlll~ ,ulQ~ ~lion of the speech signals in a digital packet form The WIIIIJIQ~l speech signa. packets are then passed to the dua. port RAM circuit 308 shown in Figure 6C for use by the data processor 318 for flf".~ ,.", Concurrent with this transmit operation, DSP 620 is receiving 25 WIII~JIQ~W voice data packets from dua'f port RAM circuit 307, UllWl14)lQ~lllg the voice data and ~ f~ -, ;"~ the Ull~,Ulll~JlQ:>ell and ~ wl~lu~ l &gita PCM voice data to the digital telephone CODEC 621a or 621b for digita to analog corlversion and eventual transfer to the user through one of the telephone interfaces of Figure 6C. This is the receive mode of 30 operation of the DSP 620 WllQ~)Ulld;llg to receiver block 1200 of Figure 11 and WllC~IJUllV-llg to the dt~Wlll~JlQ~iUII algorithm of FigLrre 13. Thus, the WO 9S/29576 P~ ,34 ~1&~7I ~ 26 -~ --DSP circuit 620 is processing the volce data in both directions in a full-duplexfashion.
Digital Signal Processor (DSP) 620 operates at a clock frequency of ~ u~ y 24.576MHz while processing data at sampling S rates of ~u~Jlu~dll~ly 8KHz in both dr~ections. Ihe voice cul.~,ul~iulld~ulll,ulc~iull algorithms and l)~ ; ", of the voice data is "l,l~ .l in a quick and efficient fashion to ensure that all processing is done in real-time without loss of voioe ;11~ This is ~ lr~l in an efficient manner such that enough machine cycles remain in the voice 10 control DSP circuit 620 during real time speech Wlll~ ;UII to allow real time acoustic and Irne echo . A~ in the same fLxed-point DSP.
In ~)IU~Idllllll~AI operation, the availability of an eight-bit sample of PCM voice data from the !l-law digital telephone CODEC circuit 621a or 621b causes an interrupt in DSP 620 where the sarnple is loaded mto mternal 15 registers for processrng Once loaded into an irlternal register it is transferred to a RAM address which holds a queue of samples. The queued PCM digital voice samples are converted from 8-bit ,u-law data to a 13-bit Imear data format using table lookup for the conversion. Ihose skilled in the art will readily recognize that the digital telephone CODEC circuit 621a or 621b could 20 also be a linear CODEC.
~rrlPIP l~tP l~irn~irm Ihe sampled and digitized PCM voice signals fro3n the telephone ,u-law CODE~C 621a or 621b shown in Figure 6C are passed DSP
25 620 via direct data lines clocked and ~yll~,LIulli~ to a docking frequency.
The sample rates in the preferred ~ .. ,1~.1;.. 11 of the present invention are 8kb/s, 9.6kb/s and 16kb/s. The digital sannples for the 9.6K and 8K
algorithms are decimated using a digital decimation proccss to produces a 6.4K and 6K sample rate, respectively. At the 16K sampling rate for the 16K
30 algorithm, no decimation is needed for the voice CU~ UII algorithm.
F~eferring to Figure 11, the decimated digital samples are shown as speech entermg the transmitter block 1100. Ihe transmitter block, of WO 95/29576 r~ S
~8~t71 ~ 3 '' '' ~
wurse~ is the mode of operation of DSP 620 operating to receive local digitized voice ;~ , compress it and packetize it for trarlsfer to the dual port RAM 307 for eventual ~ and ll,."~ ;,." on the wrnposite link, which WIIQIJUIIV~:i to the channel 1111 of Figure 11. A frame 5 rate for the voice W11411~iUII algorithrn is 20 m:llic~nn-lc of speech for each W114~1~;VII. Ihis wrrelates to 128 samplec to process per frame for the 6.4K decimated sampling rate. When 128 samples are ~ r~l in the queue of the internal DSP RAM, the WIII~JIQ::~;VII of that sample frame is begwn.
rklt51 Flnw r~Pc. rq~ n DSP circuit 620 is ~)IV~I~UIIIII~I to first remove the DC
wmponent 1101 of the inwming speech The DC removal is an adaptive function to establish a center bæe line on the voice sigr~l by digitally 15 adjusting the values of the PCM data Ihis WIII~IJVIIV~ to the DC removal stage 1203 of the software flow chart of Figwre 12. Ihe forrnula for removal of the DC bias or drift is as follows:
x(n) = s(n) - s(n-1) + a * x (n-1) where a =
and where n = sample nrnr~er, s(n) is ~e c~ent sample, and x(n) is ~he sample with the ~C bias removed Ihe removal of the DC is for the 20 milli~ n-1 frame of voice which amounts to 128 samples at the 6.4K decrmated sampling rate which WII~IJUIIV~ to the 9.6K algorithm. Ihe selection of a is based on empirical 30 observation to provide the best result.
Referring agarn to Figure 12, the voice ~u~ ;vll algorithm in a control flow diagram is shown which will acsict in the 1l, l~ ;"~ of the block diagram of Fig~re 11. Figure 12B is a sirnplified data flow description of the flow chart of Figure 12A showing the sample rate 35 decimator 1241 and the sarnple rate ill~ lLul 1242. The analysis and W0 95/29576 , ~
218~171 28 ~U~llUlQ~iUll begin at block 1201 where the 13-bit lineAr PCM speech samplQ
are A-~ 1..111 IIAl~l until 128 sam~lQ (for the 6.4K decimated sam~ling rate) ~-QU.li-.~ 20 milli~c~nfi~ of voice or one fr_me of voice is passed to the DC removal portion of code operating within the DSP 620. The DC removal 5 portion of the code dQcribed above ~~ the base line of the frame of voice by using an adaptive DC removal technique.
A silence detection algorithm 1205 is also included in the ~u~.u~ l ccde of the DSP 620. The silence detection function is a summation of the squ re of each sample of the voice signal over the frame.
10 If the power of the voice frAme falls below a preselected threshold, this ~vould indicate a silent frame. Tbe detection of a silence frame of speech is impor~nt for later ~ of the V-data (voice data) and C-data (asynchronous computer data) dQcribed below. During silent portions of the speech, data processor 318 will tr_nsfer wll~lal~iul~l digital data (C-data) over 15 the telephone line irl lieu of voice data (V-data). l[he formula for computing tbe power is 20 PWR= ~ x (n) * x (n) n=0 wheoe n is ~e samp~e mm~er, and x ~n) is ~e s mple value If the power PWR is lower thAn a preselected threshold, then the present voice fr_me is fiagged as containing silence. The 128-sAmple 30 silent frame is still processed by the voice ~ullll,l~;ull algorithm; however, the silent frame packets are disc_rded by the data processor 318 so that ~ hlulluu~ digital dala may be trAnsferred in lieu of voice data The rQt of tbe voice Cul--u~Q~iull is operated upon in se~ments where there are four segments per fr_me amounting to 32 samplQ of data per segment. It is only 35 the DC removal arld silence detectioll which is ~ "~ i over an enti~e 20 milli~ n-l frame.
WO95129576 ~188171 ,~ C~' 4 The pre-emphasis 1207 of the voice w~ JIcaaiull algorithm shown in Figure 12A is the rlext step. The sub-blocks are first passed through a pre-emphasis stage which whiterls the spe~l wntent of the speech signal by balancing the extra energy in the low band with the reduced energy in the S high band. The pre-emphasis essentially flattens the signal by reducing the dynamic range of the signal. By ucing pre-emphasis to flatten the dynamic range of the signal, less of a signal rarlge is required for wlll~ aa;ull makingthe WIII~ li(Jll algorithm operate more efficiently. The formula for the pre-emphasis is x (n) = x ~n) - p * x (n-l) whele p = Q5 and wnere n is the sample mnnber, x (n) is ~e sample Each segment thus amourlts to five millicc~n~lc of voice which is equal to 32 samples. Pre-emphasis then is done on each segment. The selection of p is based on empirical observation to provide the best result The next step is the longterm prediction (LTP). The longterm prediction is a method to detect the innovation in the voice signal. Since the 20 voice signal wntains many redundant voice segments, we can detect these "",~ and only send ;..~ ;-. . about the changes in the signal from one segment to the next This is ~ by comparing the speech samples of the current segment on a sample by sample basis to the I~Ul~LIu.;lc~ speech samples from the previous seg~nents to obtain the5 innovation inf~rm~tir~n and an indicator of the elTor in the prediction.
The long-term predictor gives the pitch and the LTP-Gain of the sub-block which are encoded in the ttansmitted bit Stt~L In order to predict the pitch in the current segment, we need at least 3 pact sub-blocks of l~wllaLI~l~Lcd speech. This gives a pitch value in the range of MIN PITCH
30 (32) to MAX PITCEI (95). This value is coded with 6-bits. But, in order to ~ IJll,ll,llN~..t the ~ data rate witnin a 9600 bps link, the pitch for segtnents 0 and 3 is encoded with 6 bits, while the pitch for segments I and 2 .
W095129576 ~88~ u~ l 4 is encoded with S bits. When perfor~ning the predietion of the Pitch for segrnents 1 and 2, the eorrelation lag is adjusted around the predieted pitch value of the previous segtnent. This gives us a good chance of predicting the correct pitch for the eurrent seg~nent even though the entire range for 5 predietion is not used. The ~ - l1 U~ for the long-terrn eorrelation lag PITCH and associated LTP gain factor ~ j (where j = 0, 1, 2, 3 w..c~u..L.g to each of the four segrnents of the frarne) are done as follows:
For j = r~n~teh .... rnax_piteh first perfor~n the following U~ between the eurrent speech sarnples xfr~) and the past 10 1~ lrll speeeh samples x~n) 5~ G) = ~X fi) ~ X~ fi + M~X PITC~ j) i~
Ssr G) = ~x~ (i + MAX PlTC~-j) * x' (i+M~X PlTCH-j) i=o The Pitch is chosen a3 that whieh rnaximizes 25 Since ~ j is positive, only j with positive S~, 2 is consider~
Since the Pitch is encoded with different nurnber of bits for eaeh su~segrnent, the value of Imn_ptch and m~ pitch (range of the synthesized speeeh for piteh predietion of the eurrerlt segrnent) is computed asfollows:
wo 95129~76 218~I71 if (se~ number = 0 or 3) {
rnin pitch = MIN_PITCH
rnax_pitch = MAX PITCH
}
if (seg_nurnber = 1 or 2) {
rnin_pitch = prev pitch - 15 if (prev_pitch < MIN_PTTCH + 15) rnin pitch = MIN_PITCH
if (prev_pitch > MAX PITCH + 15) rnin_pitch = MAX PTTCH - 30 rnax_pitch = rnin_pitch + 30 }
The p~v~lrh pararneter in the above equation, is the pitch of the previous sub-segment. The pitch j is the encoded in 6 bits or 5 bits as:
encoded bits = j - rmn~tch Tbe LTP-Gain is given by S~a) ~ = for Sr~O~0 S~Sa) The value of the ~ is a normaliæd quantity between zero and unity for this segment where ,B is an indicator of the correlation between the segments. For example, a perfect sine wave would produce a ,~ which would 30 be close to unity since the correlation be~ween the current segments and the previous ~ tlu~l segments should be almost a per~ect match so ~ is one.
The LTP gain factor is quantiæd from a LTP Gain Encode Table. This table WO 95/29576 r~"~ 4 21881rl1; ` `~
is . ~ 1 in Table 1. The resulting index (bcode) is trarlsmitted to the far end. At the receiver, the LTP Gain Factor is retrieved from Table 2, as follows:
S ~q = dlb_tab[bcode]
i~asLE 1: Læ Gain Encode Table 0.1 . 0.3 0.5 0.7 0.9 bcode= o 1 2 3 4 5 TA13I~E 2: Læ ~;n Decode Table ~= o.o 0.2 0.4 0.5 0.8 1.0 l~cod~O 1 2 3 4 5 After the Long-Term P~diction, we pass the signal through a 30 pitch filter to whiten the signal so that all the pitch effects are rernoved. The pitch filter is given by:
e (n) =x ~n) - ,eq ~ x' (n-~
where j is the Lag, and ~q is the associated Gain.
Next,~the error signal is normali_ed with respect to the maxirnum amplitude in the sub-segment for vector-~ nti7~h~n of the error signal. The maximum amplitude in the segrnent is obtained as follows:
WO 95/29576 ~ J.,,','C~ 4 G = MAX{ ¦ e(n) ¦ }
The maximum amplitude (G3 is enwded using the Gain Enwde Table. This table is . I ~ l in Table 3. The enwded amplitude (gcode) S is transmitted to the far end. At the receiver, the maximum amplitude is retrieved from Table 4, as follows:
Gq = dlg tab~gcode/
The error sigrlal e(n) is then normalized by efn) 0 e(n)=
Gq ~aElLE 3: Gain Encode Table G=16 32 64 128 256 512 1024 2048 4096 8192 o 1 2 3 4 5 6 7 8 9 (gcode) TA~3LE 4: Gairl Decode Table G=16 32 64 128 256 512 1024 2048 4096 8192 o 1 2 3 4 5 6 7 8 9 (gcode) From the Gain and LTP Gain Encode tables, we can see that ~e would require 4 bits for gcode and 3 bits for bcode. This results m total of 7 bits for both parameters. In order to reduce the bandwidth of the Wlll~ >ed bit s~eam, the gcode and bcode pa~ameters are encoded together in 6 bits, as follows:
W0 95129576 2 ~ ~ 8 1 71 p~ 4 BGCODE = 6 ~ gcode + i~code Ihe encoded bits for the G and LTP-Gain (~) at the receiver can be obtained as follows:
g ie = BGCODE 16 bco~ie = BGCODE-:6 ~ gcode Each segment of 32 sAmples is divided into 4 vectors of 8 10 samples each Each vector is compared to the vectors stored in the CodeBook and the ~dex of the Code Vectorthat is closest to the signal vector is selected. Ihe CodeBook corlsistCi of 512 entries (512 addreises). The index chosen has the least difference according to the following ,..;..;.,,,,l;,,,l;,...
formuia:
Min {~ (x j yl)2}
i~
where Xj = the input vector of 8 samples, and y, = the code book vector of 8 sampies Ihe l..;,.;... A~ ., to fmd the best match betweer the ~ ( arld the code book erltries is ~ A~;llllAlly intensive. A
brute force ~lll~ ;~Jll may exceeci the available machne cycles if reai time 25 processirlg is to be ~., ....l.l;~1,~ .1 Ih~ls, some shorthand processing approaches are taken to reduce the ~ Al i- ll l~ required to find the best fit.
The above formula can be computed in a shorthand fashion as follows.
By expanding out the above formula, some of the u~ uy terms may be removed and some fixed terms may be pre-computed:
W095129~;76 218817 r ~ c~v~4 (xj - Yi) = (xj - Yi) (xj yj) = (xj2 - XYj - xjyj + y 2 = (X2 - 2xjyi + Yi ) 5 where x jZ is a constant so it may be dropped from the formula, and the value of -1/2 ~yj2 may be ~ L;;d and stored as the 9th value in the wde book so that the only real-time .~ "~ )" involved is the following formula:
M;n {~ (x j yj )}
Thus, for a segment of 32 samples, we will transmit 4 15 CodeBook Indexes (9 bits each) WII~IJl)lldlllg to 4 ~"1,.~. ~". ."~ of 8 samples each. Tbis means, for e~ch segment, we have 36 bits to transmit.
After the appropriate index into the wde book is chosen, the input speech samples are replaced by the C~ ll~lg vectors in the chosen indexes. These values are then multiplied by the Gq to ~ ' ' the 20 ~ylllL~i~l error signal, e'(n). This signal is then passed through the Inverse Pitch Filter to reintro-duce the Pitch effects that was taken out by the Pitch filter. The Inverse Pitch Filter is performed as follows:
yfn) = e~(n) + ~Bq * x' (n -j) where ~q is the decoded LTP Gain from Table 3, and j is the Lag.
The Inverse Pitch Filter output is used to update the ~llIL~;~
speech buffer which is used for the analysis of the next sub-segment. The update of the state buffer is as follows:
x' ~) =x' (k + MDV PITC~
where k = 0, ..., (MAX PITCH - MIN_PITCH) - I
x~(~) =y(n) WO 95/29576 : P~ J.,,5~'C~;v34 where I = MAX PITCH ~ PTTCH, ..., MAX PITCH - I
The signal is then passed through the ~l~hs~cic filter since yl~lllyl~a;a was performed at the beginning of the processing. In the S analysis, only the yl~illyl~ia state is updated so that we properly satisfy the Analysis-by-Synthesis method of performing the CVIIIYI~;VIL In the Synthesis, the output of the deemphasis filter, s' (n), is passed on to the D/A
to generate analog speech. The deemphasis filter is ;~ 1 as follows:
s'(n) =y (r~) + p * s' (n - 1) where p = 0.5 The voice is I~VllaLlU~ at the receiving end of the voice-over data link according to the reverse of the ~vl~lyl~iaalvll algorithm as shown as the d~vlllyl~aiv~l algorithm in Figure 13.
If a silence frame is received, the ~Vlllyl~ivll algorithm simply discards the received frame and initialize the output with æros. lf a speech frame is received the pitch, LTP-Gain and GAIN are decoded æ
explained above. The error signal is l~llaLIu~ from the codebook indexes, which is then ~ ,. ."~ l with respcct to the GAIN value. This 20 sigr~l is then pæsed through the Irlverse filter to generate the I~Wlla~
signal. The Pitch and the LTP-Gain are the decoded values, same æ those used in the Analysis. The filtered sij~nal is pæsed through the Deemphasis filter whose output is pæsed on to the D/A to put out analog syeech.
Ihe wlllyl~aa~J frame contains 23 8-bit words and one ~bit 25 word Thus a total of 24 wvrds. Total number of bits t~nsferred is 190, which WllC,ayVlld:~ to 9500 bps æ shown in Table 5.
Wo ss/2s~76 2 1 g 8 1 7 1 r~ c~ ,4 Table S Cr ~. ~;a~d Fr~me Packet for 9.6K Alvorithm 5 7 6 5 4 3 2 1 0 Bit Number S S pO Po Po p 2 p ' pOo Comp Frrime[0]
V28v,8 Vo8 p~4 p 3 p 2 p I p, cOmp_Frr~me[l]
V58V48 V38 P24 P23 p22 P2 P2 Comp_Frr~me[2]
V,8V 8 p 5 p 4 P 3 p 2 p ~ p3 Comp_Frame[3]
10V98 V88 BGo5 BGo4 BGo3 BGo2 BGol BGo Comp_Frrlme[4]
Vl~8 V,o8 BG,5 BG~4 BG~3 BG~2 BG~' BG~ Comp_Frr~me[5]
V,38 V,28 BG25 BG2~ BG23 BG22 BG,' BG2 Comp_Frr~me[6]
V~58 V,48 BG35 BG34 BG33 BG32 BG31 BG3 Comp_Frame[7]
VQo7 VQo6 VQo5 VQo~ VQo3 VQo2 VQol VQo Comp_Frr~me[8]=
LS 8 bits VQ[0]
15VQ~7 VQ,6 VQI5 VQI4 VQI3 VQI2 VQ~I VQ, Comp_Frrdme[9]=
LS 8 bits VQ[I]
VQ~4 VQ,4 VQII VQI~ VQI4 VQI4 VQI~ VQ,4 Comp Frrlme[22]
7 6 S ~ 3 2 I LS 8 bits VQ[14]
VQI5 VQI5 VQls VQ,5 VQI5 VQ~5 VQ~j VQ~s Comp_Frr~me[23]
20 ' 6 5 4 3 2 1 LS 8 bits VQ[I5]
wber~ BG = Be~/G~ = I'it:h, VQ = Codenooli Irdel od S = S~-re Bitc W0 95/29S76 ~ 1 ~ 8 1 7 1 38 ~ P~
(`~ Bnok l~c~ nc The code books used for the VQ algorithm described above are differerlt for the 8K, 9.6K and 16K algorithms. Table 6 describes the format S of the code book for the 9.6K algorithm. The code book vaiues are stored in a signed fioatirlg point format which is converted to a Q22 value fixed point digital forrnat when stored in the lookup tables of the present invention.
There are 256 erltries irl each code book ~:U~ to 256 different speech segrnents ~vhich can be used to encode and recorlstruct the speech.
T~ 6: c~ r ~ r ~
15 ~ Code Book Entries ~ --I/2 Sum2 Constant--8 entries I erltry For the 9.6K algorithm, the code book cornprises a table of 20 riine colum!ns and 256 rows of floating point data The first 8 rows correspond to the 8 saDnples of speech and the rlinth entry is the ~l~;ul~
corlstant described above as -1/2 ~ yi2~ An example of the code book data is shown in Table 7.
wo 95129576 P~ 0~ 1 Table 7: Coae Book ExamPle for the 9.6K Al~orithm 0.786438 1.132875 1.208375 1.206750 1.114250 0.937688 0.772062 0.583250 393769 0.609667 1 019167 0.909167 0.957750 0.999833 0 854333 1.005667 0.911250 3.36278 5 0.614750 1.150750 1.477750 1.548750 1.434750 1.304250 1.349750 t.428250 6.95291 0.657000 1.132909 1.279909 1.204727 1.335636 1.280818 1.162000 0.958818 5 24933 0.592429 0.897571 1.101714 1.337286 1.323571 1.349000 1.304857 1.347143 5.6239 0.325909 0.774182 1.035727 1.263636 1.456455 1.356273 1.076273 0.872818 4.628 The code books are converted into Q22 format and stored in PROM memory accessible by the Voice DSP as a lookup table. Ihe table data is loaded into local DSP memory upon the selection of the appropriate algorith~n to increa3e access speed. The code books comprise a table of data in which each entry is a sequential address from 000 to 511. For the 9.6K
15 algoritl~n, a 9 X 512 code book is u3ed. For the 16K algorithm, a 9 X 512 code book is used and for the 8K algorithm, a 9 X 512 code book is used.
Depending upon which voice ~;Ulll~ll~i~;VII quality and ~UIII~C~iUII rate is selected, the WllCù~JUlldlllg code book is used to ulu~d~/u~u~ the speech samples.
('~nPration of the ~ P Bn-~t c The code books are generated statistically by encoding a wide variety of speech pattem3. Ihe code books are generated in a learning mode for the above-described algorithm m which each speech segment which the 25 W.llylr~:,;v.. algorithm is first exposed to is placed m the code book until 512 entries are recorded. Then the algorithm is continually fed a variety of speech pattern3 upon which the code book is adjusted. A3 new speech segments are ~I~VUIIl~i, the code book is searched to frnd the best match If the error between the observed speech segment and the code book values exceed a 30 ~ rl",;.,. ~I thre3hold, then the close3t speech segment in the code book and the new speech segment is averaged and the new average is placed in the code book rn place of the closest match. In this learning mode, the code book WO95/29576 r~ o l t ~88~ 40 Ç`-is continually adjusted to have the lowest difference ratio bet~een observed speech segment values and code book values. ne learning mode of operation may take hours or days of exposure to &fferent speech pattems to adjust the code books to the b~s~ fit.
The code books may be exposed to a single person's speech which will result in a code book being tailored to that particular persons method of speaking For a mass market sale of this product, the speech pattems of a wide variety of speakers of boll1 genders are exposed to the code book leaming algorithm for the average fit for a given language. For other 10 languages, it is best to expose the algorithm to speech pattems of only one language such as English or Japanese.
Vl~irP or Fax ~tA p~lrtrPt When the DSP circuit 620 completes the WIII~ ;VII of one 15 20ms portion of voice or fax ;"r- " " ,,~ .", it will send a block of voice or fax data every 20 ms to the dual port RAM 307 where the data processor 318 can retrieve it for l . ~"~" ,;~,. ,l, Each voice or fax data packet has three header bytes and 23 bytes of voice or fax data (for 9200 baud voice WIII~ iOll) or 43 byte~ of voice data (for 16K baud voice WIIJ~ ;VII) in the dual port 20 RAM ~he header bytes indicate the destination address, destination channel, frarne ID, byte count, etc. Bits 6 and 7 of the first header byte indicate the packet type. The voicelfax packet is described in Table 5.
Bits 6 and 7 of the first byte of the header cor~ams the packet identifier which identifies the contents of the packet (see Table 5 above).
25 These bits are defined as follows:
00 = the following voice packet cor~ains silent sound 01 = the following voice!fax packet contains ;~ ~r " " 1"1 ;, ."
10 = the following packet cor~ s telephone sigaalling or control ;"1~"",~;.", 11 = reserved w0 95/29576 P~ C~ 4 i, nrP ~llrrre.cci~n If there is a silence period indicated by the DSP 620 m an empty packet sent to the data processor 318 through the dual port RAM 307, the data processor 318 will not send the silence packets to the remote site.
5 Instead, the data processor will send a two-byte packet indicating no voice inforTnation to be sent or the data processor will set a bit in one of the ~ch~vv.!~l~,ul~cllL, dat3, or netw-vrk control packets to alert the receiving side.
The detection and ~U~)IJI~;Vll of the ~ ";~,- " of the voice packets frees up bandwidth for the ~"~ " .;~;. " ~ of other data. In this fashion, the use of 10 the bandwidth over the composite link is dynamically allocated bet veen voice, fax and data. Since hurnan speech is typically 60% silence (pauses between spoken words and sentences), a higbly efficient ~ e is a~""~
~)LC Pr~-tnrr,l With A~vanrPA Priori~ ~tatictiral Ml~lt~lexiT~
Referring once again to Figure 4, the "",ll;l.l.. l data over composite link 313 between the synchronous ~ "~ 300 uses advanced priorit~v statistical ~ e (APSM) on top of a modified form of high-level s,yll~LlVllVU i data link control (HDLC) to transrnit and receive the datapackets. In general, this protocol follows the CCITI V.32 standard and the 20 like for ~ e and . ~....1.. ",;, ~1;"" In the initial handshake period in ~ e a .1..lllllllll: ~ ;,."~ link~ a special link protocol is used This protocol is described in the flow chart of Figure 14.
T ink Pr )tnrnl Both ,.,.,l~;l,l~ - "~ 300 and the associated composite link (either analog or digital) transmit and receive a link request A or link request B, and a link a~ lvwlc~clll,l.L as shown in Figure 15. Data cannot be transferred until the link has been ,~ctahlich, d Link Request A (LRA) is transmitted by the initiating modem to the rernote and receiving modem to initiate a link 30 process. This link request is ll ' every three seconds until link request B is received WO 95/29576 1 ~,l/L.~
2~'~g'~
Ihe called, or receiving, modem transmits Link Request B
(LRB) to the l.,,..~..,;ll;..~ IIII~IL';~ U~ a~er LRA is received. LRB is transmitted every tbree seconds until link a LIvwl~ is received. Link A~h~uwl~ (LA) is tr~msmitted to remote ""~ only aPter LRA
5 is sent and LRB is received, and LRA is received and LRB is sent, by the "l~ and receiving modems, .~ y~
A~LIuwl~d~ lll blocks are used to a.h.u..kAi~ valid 10 (ll,~. ~.."~ l) data blocks that were received as well as to relay control ;"~"",~,,.., to tbe remote ~ An ækno~ is always transmitted witb the sequence number of the last received data block as shov~n in Figure 19. Forced æL~u./l~J~ .L are a~hlu./l~d~ b which must be transmitted illllll~ i;dL~ly. If one of the follov~ing cQnditions exist, a forced 15 a.hlu..l~l~ll.u.l is required:
l .) Control i., r~.. " . ~ needs tQ be sent to tbe remote r". ,1~ ;1.1. ~ For example, a receive buffer of a local channel is full.
2.) Four data blocks have been received without an d~hlu.I~ L.
3.) Two cQnsecutive out-of-sequence data blocks are received.
4.) A window flow time expires (see below).
Unforced d~hluv.'~ .lb are transmitted only after all of the following conditions are checked:
1.) A forced ~h~u..~ l cQnditiQn doesn't exist.
2.) A lru ,."~. ";~;. " ,~ of a data block is not necessary.
3.) There are no new data blocks to send.
4.) One or more data blocks have been received without an ækno~ledgement being tr~n~m ~d The frame in Fig. 19 is -wed to acknowledge ~ayll Llulluw 30 channel data frames, trarsn~it control ;..ro"., ~ - and provide syll l~ul~iu between ~"~-11;111- ~ Block ID with bit 7 set indicates a forced a~hlu./l~;cl.l~ condition due to the receive buffers being full or a change WO 95/29576 2 1 $ 8 1 7 ~ 4 in EIA signals. Block IDs witn bits S and/or 6 set indicates silence for tne respective voice channel. Bit 6 set indicates silence for voice channel 2 and bit 6 being set indicates voice channel I is silent. Sequence numbers are N0-N8 where N represents the buffer number of the ~h.~..'~l asynchrûnous
Unforced d~hluv.'~ .lb are transmitted only after all of the following conditions are checked:
1.) A forced ~h~u..~ l cQnditiQn doesn't exist.
2.) A lru ,."~. ";~;. " ,~ of a data block is not necessary.
3.) There are no new data blocks to send.
4.) One or more data blocks have been received without an ækno~ledgement being tr~n~m ~d The frame in Fig. 19 is -wed to acknowledge ~ayll Llulluw 30 channel data frames, trarsn~it control ;..ro"., ~ - and provide syll l~ul~iu between ~"~-11;111- ~ Block ID with bit 7 set indicates a forced a~hlu./l~;cl.l~ condition due to the receive buffers being full or a change WO 95/29576 2 1 $ 8 1 7 ~ 4 in EIA signals. Block IDs witn bits S and/or 6 set indicates silence for tne respective voice channel. Bit 6 set indicates silence for voice channel 2 and bit 6 being set indicates voice channel I is silent. Sequence numbers are N0-N8 where N represents the buffer number of the ~h.~..'~l asynchrûnous
5 data frame.
~151f~1 Tr~nef~r A voice/fax data frame is shown in Figure 16 and an ~yll l,.u luu~ channel data frame is shown in Figure 18. Transfer of data takes place under the following conditions:
A.) A Ir~.,,,,~.,l;~;.,ll of data blocks is needed if one or two events occur:
1.) Duplicate acknûwledgements (consecutive acknow-ledgements with the same sequence number) are received while ul~ data blocks still exist.
15 2.) Ihe .~.~"",~", .. " timer expires.
Rl ~ .";~ l of a data block should start with the frst unforced ~L.uwl~ . Data blocks follow in sequential order.
B.) New data blocks are transmitted only if data exists in the transmit buffer and all of the following conditions are met:
1.) Forced a~ L,uwl~ condition doesn't exist.
2.) 1~ ", of dqta is not necessary.
3.) The source channel doesn't have more than four ulll~lsllll~;ll~ ul~hlluwl~l~al conditions.
4.) Tne total number of ~ A~ data blocks doesn't exceed seven.
Tne frame in Figure 16 is a Voicc/Fax/Data Frame. This frame transmits voicei/fax channel data. The frame in Figure 18 is an ~yll~luulluu~i channel data frame and is used to transmit ~.~ u~uu~i channel dta A byte - count of zero (0) represents a break condition and requires the respective 30 destination channel to transmit a break. Block IDs with bits 5 and/or 6 set indicates silence for the respective voice channel. Bit 5 being set indicates a W095129576 .-~- F~ll-J.. .'t' 4 ~88I71 44 silent packet for voice channel 2 and bit 6 being set indicates a silent packet for voice channel 1.
S The following timers are used for the present modified ~LC:
1. A link request timet is a tbree second timer which is initiated on a reset of the ~ L~ 300 or if the Link Request A (described above) is received. Ihis timer is cancelled once the link has been established. Ihis timer is reset each time LRA (Link Request A), LRB (Link Request B) or LA (Link A~,hluwl~l~ ul~) is ~ncmitt~
æ) A window fiow timer is a three second timer uhich is iniùated after the link has been established This timer is reset only when an auhluwled~;~l,l..ll (forced or unforced) is ~ncmitt~A If this timer expired, a forced ~L.u . ~1~;1~;,1ll~ll~ is required.
3.~ An a~hluvvl~ ,lll..lt timer is a two second timer which is inittated when a valid data block is received. This timer is cancelled when an a~hlu~ lL is h~ncmitt~
Ihis timer is ne~er reset but it is either initiated or cancelled.
If tbis timer expires, a forced ~hlu~.h~ is requr~ed.
4.) A retransmit timer is a four second timer which is initiated at the time a data block is ~ncmitt~ This timer is reset when a positive ~lu.~l~d~ L (an ~huu~ llL
for any ollt~t~n~fin~ data blocks) is received or when a duplicate ackno~l.l~.ll~.lL is received u~ile an otlt~tqn~lin~ exists. The latter is a .~ condition. This tirner is cancelled when all olltct~n~lin~ data blocks have been acknowledged.
Ihis timer should only be initiated if this timer ~tas been cancelled and a data block is to be h~ngmitt~ If thts timer expires"~ ",;~ " of all blocks is required starting uith the first w~h~u~ ai block.
~151f~1 Tr~nef~r A voice/fax data frame is shown in Figure 16 and an ~yll l,.u luu~ channel data frame is shown in Figure 18. Transfer of data takes place under the following conditions:
A.) A Ir~.,,,,~.,l;~;.,ll of data blocks is needed if one or two events occur:
1.) Duplicate acknûwledgements (consecutive acknow-ledgements with the same sequence number) are received while ul~ data blocks still exist.
15 2.) Ihe .~.~"",~", .. " timer expires.
Rl ~ .";~ l of a data block should start with the frst unforced ~L.uwl~ . Data blocks follow in sequential order.
B.) New data blocks are transmitted only if data exists in the transmit buffer and all of the following conditions are met:
1.) Forced a~ L,uwl~ condition doesn't exist.
2.) 1~ ", of dqta is not necessary.
3.) The source channel doesn't have more than four ulll~lsllll~;ll~ ul~hlluwl~l~al conditions.
4.) Tne total number of ~ A~ data blocks doesn't exceed seven.
Tne frame in Figure 16 is a Voicc/Fax/Data Frame. This frame transmits voicei/fax channel data. The frame in Figure 18 is an ~yll~luulluu~i channel data frame and is used to transmit ~.~ u~uu~i channel dta A byte - count of zero (0) represents a break condition and requires the respective 30 destination channel to transmit a break. Block IDs with bits 5 and/or 6 set indicates silence for the respective voice channel. Bit 5 being set indicates a W095129576 .-~- F~ll-J.. .'t' 4 ~88I71 44 silent packet for voice channel 2 and bit 6 being set indicates a silent packet for voice channel 1.
S The following timers are used for the present modified ~LC:
1. A link request timet is a tbree second timer which is initiated on a reset of the ~ L~ 300 or if the Link Request A (described above) is received. Ihis timer is cancelled once the link has been established. Ihis timer is reset each time LRA (Link Request A), LRB (Link Request B) or LA (Link A~,hluwl~l~ ul~) is ~ncmitt~
æ) A window fiow timer is a three second timer uhich is iniùated after the link has been established This timer is reset only when an auhluwled~;~l,l..ll (forced or unforced) is ~ncmitt~A If this timer expired, a forced ~L.u . ~1~;1~;,1ll~ll~ is required.
3.~ An a~hluvvl~ ,lll..lt timer is a two second timer which is inittated when a valid data block is received. This timer is cancelled when an a~hlu~ lL is h~ncmitt~
Ihis timer is ne~er reset but it is either initiated or cancelled.
If tbis timer expires, a forced ~hlu~.h~ is requr~ed.
4.) A retransmit timer is a four second timer which is initiated at the time a data block is ~ncmitt~ This timer is reset when a positive ~lu.~l~d~ L (an ~huu~ llL
for any ollt~t~n~fin~ data blocks) is received or when a duplicate ackno~l.l~.ll~.lL is received u~ile an otlt~tqn~lin~ exists. The latter is a .~ condition. This tirner is cancelled when all olltct~n~lin~ data blocks have been acknowledged.
Ihis timer should only be initiated if this timer ~tas been cancelled and a data block is to be h~ngmitt~ If thts timer expires"~ ",;~ " of all blocks is required starting uith the first w~h~u~ ai block.
6 ' . ~, IIU.~ 4 ,~ 218817I
Mig~ lc Receive Status Bytes are bytes which are included in the acknow-ledgement frame. 'Ihe nu~nber of Receive Status Bytes is a minimurn of one byte (for an eight channel I~ A~I) and a maximum of four (for a S thirty-two channel lll.-l~ ) in the preferred t " ll .o~ One bit is assigned per channel whereby each bit represents the status of the ~ullc~luull~lhl~ channel receive buffer (ie.: bit zero of Receive Status Byte number one w,.c~luu.-~ to channel I and bit five of Receive Stat~ls Byte number four UUIIC~IJUll~ to chal3nel 30). Each bit being set indicates that tne 10 cu~ u~dillg channel receive buffer is full. In such a condition, the remote lllllll;~Uh~A~I will hold any data blocks that are intended for that channel. If the bit is clear, then the uu~ uu~Ji~lg receive buffer is dear for receiving data.
Any change in status of any of thege bits causes a forced a~h,u.~ i to be sent.
Remote Pararneter Bytes are byte used to wnfigure the remote slave unit ( '~il ' ) 300 and are included in the LRA (Iink Request A) and LRB (LinA Request B) frames only if the local '~i ' 300 is configured as a master unit. ~he .~ r~ of a master or slaYe is by selection of switches on the ~lulli~l~c;~ 300. ~here are 59 bytes per eight 20 channels with a minirnum of 59 bytes (for eight chal3nels) and a maximum of 236 bytes (for a 32 channel III~ A~
~ he present invention will emulate the Hewlett-Pækard ENQ/ACK flow wntrol~ If the ENQ is received by a channel port, it is passed througn to the remote site and an ACK (~hluvvl~;.,.ll~.~l) is 25 illl~ l; Ldy transrnitted by the local channel to the HP deyice. If the r~note d3annel detects ENQ in its data stream to the HP (Hewlett-Packard) device, it will transmit the l~NQ and wait for a ACK (æhl~u.~ ) to be received before l,,",~",;lli"~ any more data. Once t}3e ACK is r~ceived, l,.."~".: ~;,." is wntinued and the ACK is &scarded.
wo 95129s76 ~188171 ;
Network Con~l The l~ulLi~l~Aul 300 may be a patt of a series or chain of identical ~ 300 conrlected to pass data, voice and faA i"r. " " ,~, ;, .. .
along the chain. Thus, aggregate card 400 of Figure 6B shows LWO composite 5 lirLks 610a and 610b which may be connected to "upstrearn" and llduwl~LIca~ 5 300. The aggregate card 400 contains pass-tbrough buffers which simply pass along pækets to the other ~ if those pækets are not æddressed to the loc~l site.
~he network control frarne shown in Figure 17 is used for 10 network congestion control. If the pass-through buffers of tne local ~ulLi~l~Acl become full, the local IIIUI~ A~1 must tell the upstream ;l llrY . ~ that are sending packets to stop until the ~luwl~Lr~ll ",.,~ ,l... ,.s have emptied the local pass-through buffers. The network control frarne of Figure 17 is sent upstrearn to all ~ until it is 15 received by the IllUlLi~l~,A~l on tne end of tne chain. The pæket of Figure 17 is then retumed duw-~LIcdlll as a form of a~L-uwled~..c.ll that all "",ll;l,l.. s upstteam have ceased sending packets.
The frarne in Figure 17 is a network control frame. This frame is irlitiated when the reSpeCtiVe pass through buffer (Link A > Buffer 9, ~ine 20 B > Buffer 4) of a IllUlLi~ A~,l has changed status (Empty < > Full). This frame is only used in a networking cll~dlulllllcll~. The initiating mUA generates the frrst four bytes (Block ID, Buffer Full/Empty, Byte Count and Source Node Number). All ill~l. ' muxes in the network receive this cornrol frame. They set/reset flags to ~Lu~/lcau l~c ~ 1 of the nodes in the 25 network that utili~e the pass-through buffet of the initiating node. After setting the appropriate flags, the ;,11r. ".. .l; ~. muxes append their source node nurnber to the frame, increment the byte count and pass the frame out the other composite link port. The end node receives tne conttol frame, sets resets its flags, appends its source node nurnber, increments the byte 30 count, and transmits the control frame out the same cornposite link port. Thecontrol frame is terminated after the originating muA receives the frame with all source node numbers of the adjacent muAes ap~ended to the original W0 95/29576 ~ 4 2~88171 frame. The initiating mux generates this control frame every five (5) seconds until it receives the original control frame.
v n P1inri~ ~tAtiCtirAI Ml ~It~plf~
In one r,~ Il of the present invention, an advanced priority statistical ""~ P scheme is i"~ rll to mAximize data throughput on any particular ~..""".",;. A~;nn channel while preserving quality and reliability of high priority data and g the efficiency of statistical A proprietary advanced priority statistical Illlll~;lllr~ (APSM) paradigm is ;,,q.ll .". .l1r,1 in ~Annjlm~Atinn with the above-described modified HDLC prvtocol to allow high-priority (tirne sensitive) data such as voice, fax, LAN (local area network), ~y~ lvu~, and video to be ~ ,1 with low priority data (such as ~yll~h-v~ data) over a composite link. The rl" ,. IA. I l. . Il Al difference bet~veen the two groups of data is the absence of the modified HDLC protocol overhead with high priority data. This absence of the modified HDLC protocol overhead is due to the time-sensitive nature of the high priority data which requires that the high priority data be transmittedand received with a minimal aTnount of delay. The tirne sensitive condition 20 removes any type of error correction or detection scheme, any type of "...~ or any type of ~hl~vwl~l~L~ b that are associated with the modified HDLC protocol employed with high priority data.
This advanced priority statistical ~ uses variable-length packets and statistical ' i~ of low priority data for ~IAII~III;~;~III
25 efficiency and quality. Advanced priority statistical 1lllll~ also assures predictable and minirnal delay of higher priority packets by ;"t~ IOW
priority data IIAII~ ;IIII when hi~her ~riority data is ready for IIAII~III;~;IIII
Over~Aew nf T~Eh Prinn~ ~nrl Low Prinrity ~tA
In genelal, packeti_ed data may be A~Atf gnri7P~I as high priority or low priority. Data which is designated as high priority data is time-criticaldata. Tirne-critical data is any data which must be transferred in a given time WO 95129576 ~ ~ 8 8 1 7 ~ s period due to tbe nature of the i"r. " " ,~ " transferred. Some examples of time-critical (high priority) data are voice and video data. An example of low priority data is ~yllLlllulluu~ digital data, such as a binary file. T,~"~."~
and reception of voice data must occur regularly to ensure that the voice 5 ;~r~ is not delayed or garbled, however, binary files can be transferred in bursts and ~ .l at tbe receiver over an extended period of time.
~herefore the ~ . of high priority data takes precedence over low priority data in order tû meet the time criticality of the high priorit~ data. If the .~Illll~llll,. ~il)ll channel has bandwidth in excess of tbat needed to transmit 10 the maximum number of high priority data bytes, then there is bandwidtb available for the l,,",~",~ .". of low priority data. By "., l~ the low priority data within the tr~ncmie~inne of high priority data, the total bandwidth of the composite link can be exploited, resulting in greater throughput and efficiency of data transferred over the composite link.
.An A~van~ l Prinrity ~:ltieti~ llty-l~ riru~ Syst~m Figure 20A is a block diagram of one ~" ll ~ l, . . ,. l~ of the present mvention. High priority data is h~nemitt~ received, packetized and I by high priority packet module (HPP~ 2001. High priority 20 packet module 2001 can be any transceiver of high priority data, such as voicelfax board 402, shown in Figure 6C. High priority packet module 2001 may perform other functions as well, such as ~U~ ;UII and dt ~,UIII~ ;UII
of high priority data. Low priority data is h~nemittPA, received, packetized and ", q .,.. L ~; ~tY I by low priority packet module (LPPM) 2003. Low priority25 packet module 2003 is any generator of low priority data, such as channel board 401, shown in Figure 6A. Those skilled m the art will readily recognize that several other generators of high priority and low priority data are possible without departing from the scope and spLrit of this ~ ho.l;.ll~ of the present rnvention, and these e~amples are not offered m a limiting or 30 exhaustive sense.
High priority packet module 2001 ~ ".,~ with aggregate module (AM) 2005 via common memory 2002, and low priority packet
Mig~ lc Receive Status Bytes are bytes which are included in the acknow-ledgement frame. 'Ihe nu~nber of Receive Status Bytes is a minimurn of one byte (for an eight channel I~ A~I) and a maximum of four (for a S thirty-two channel lll.-l~ ) in the preferred t " ll .o~ One bit is assigned per channel whereby each bit represents the status of the ~ullc~luull~lhl~ channel receive buffer (ie.: bit zero of Receive Status Byte number one w,.c~luu.-~ to channel I and bit five of Receive Stat~ls Byte number four UUIIC~IJUll~ to chal3nel 30). Each bit being set indicates that tne 10 cu~ u~dillg channel receive buffer is full. In such a condition, the remote lllllll;~Uh~A~I will hold any data blocks that are intended for that channel. If the bit is clear, then the uu~ uu~Ji~lg receive buffer is dear for receiving data.
Any change in status of any of thege bits causes a forced a~h,u.~ i to be sent.
Remote Pararneter Bytes are byte used to wnfigure the remote slave unit ( '~il ' ) 300 and are included in the LRA (Iink Request A) and LRB (LinA Request B) frames only if the local '~i ' 300 is configured as a master unit. ~he .~ r~ of a master or slaYe is by selection of switches on the ~lulli~l~c;~ 300. ~here are 59 bytes per eight 20 channels with a minirnum of 59 bytes (for eight chal3nels) and a maximum of 236 bytes (for a 32 channel III~ A~
~ he present invention will emulate the Hewlett-Pækard ENQ/ACK flow wntrol~ If the ENQ is received by a channel port, it is passed througn to the remote site and an ACK (~hluvvl~;.,.ll~.~l) is 25 illl~ l; Ldy transrnitted by the local channel to the HP deyice. If the r~note d3annel detects ENQ in its data stream to the HP (Hewlett-Packard) device, it will transmit the l~NQ and wait for a ACK (æhl~u.~ ) to be received before l,,",~",;lli"~ any more data. Once t}3e ACK is r~ceived, l,.."~".: ~;,." is wntinued and the ACK is &scarded.
wo 95129s76 ~188171 ;
Network Con~l The l~ulLi~l~Aul 300 may be a patt of a series or chain of identical ~ 300 conrlected to pass data, voice and faA i"r. " " ,~, ;, .. .
along the chain. Thus, aggregate card 400 of Figure 6B shows LWO composite 5 lirLks 610a and 610b which may be connected to "upstrearn" and llduwl~LIca~ 5 300. The aggregate card 400 contains pass-tbrough buffers which simply pass along pækets to the other ~ if those pækets are not æddressed to the loc~l site.
~he network control frarne shown in Figure 17 is used for 10 network congestion control. If the pass-through buffers of tne local ~ulLi~l~Acl become full, the local IIIUI~ A~1 must tell the upstream ;l llrY . ~ that are sending packets to stop until the ~luwl~Lr~ll ",.,~ ,l... ,.s have emptied the local pass-through buffers. The network control frarne of Figure 17 is sent upstrearn to all ~ until it is 15 received by the IllUlLi~l~,A~l on tne end of tne chain. The pæket of Figure 17 is then retumed duw-~LIcdlll as a form of a~L-uwled~..c.ll that all "",ll;l,l.. s upstteam have ceased sending packets.
The frarne in Figure 17 is a network control frame. This frame is irlitiated when the reSpeCtiVe pass through buffer (Link A > Buffer 9, ~ine 20 B > Buffer 4) of a IllUlLi~ A~,l has changed status (Empty < > Full). This frame is only used in a networking cll~dlulllllcll~. The initiating mUA generates the frrst four bytes (Block ID, Buffer Full/Empty, Byte Count and Source Node Number). All ill~l. ' muxes in the network receive this cornrol frame. They set/reset flags to ~Lu~/lcau l~c ~ 1 of the nodes in the 25 network that utili~e the pass-through buffet of the initiating node. After setting the appropriate flags, the ;,11r. ".. .l; ~. muxes append their source node nurnber to the frame, increment the byte count and pass the frame out the other composite link port. The end node receives tne conttol frame, sets resets its flags, appends its source node nurnber, increments the byte 30 count, and transmits the control frame out the same cornposite link port. Thecontrol frame is terminated after the originating muA receives the frame with all source node numbers of the adjacent muAes ap~ended to the original W0 95/29576 ~ 4 2~88171 frame. The initiating mux generates this control frame every five (5) seconds until it receives the original control frame.
v n P1inri~ ~tAtiCtirAI Ml ~It~plf~
In one r,~ Il of the present invention, an advanced priority statistical ""~ P scheme is i"~ rll to mAximize data throughput on any particular ~..""".",;. A~;nn channel while preserving quality and reliability of high priority data and g the efficiency of statistical A proprietary advanced priority statistical Illlll~;lllr~ (APSM) paradigm is ;,,q.ll .". .l1r,1 in ~Annjlm~Atinn with the above-described modified HDLC prvtocol to allow high-priority (tirne sensitive) data such as voice, fax, LAN (local area network), ~y~ lvu~, and video to be ~ ,1 with low priority data (such as ~yll~h-v~ data) over a composite link. The rl" ,. IA. I l. . Il Al difference bet~veen the two groups of data is the absence of the modified HDLC protocol overhead with high priority data. This absence of the modified HDLC protocol overhead is due to the time-sensitive nature of the high priority data which requires that the high priority data be transmittedand received with a minimal aTnount of delay. The tirne sensitive condition 20 removes any type of error correction or detection scheme, any type of "...~ or any type of ~hl~vwl~l~L~ b that are associated with the modified HDLC protocol employed with high priority data.
This advanced priority statistical ~ uses variable-length packets and statistical ' i~ of low priority data for ~IAII~III;~;~III
25 efficiency and quality. Advanced priority statistical 1lllll~ also assures predictable and minirnal delay of higher priority packets by ;"t~ IOW
priority data IIAII~ ;IIII when hi~her ~riority data is ready for IIAII~III;~;IIII
Over~Aew nf T~Eh Prinn~ ~nrl Low Prinrity ~tA
In genelal, packeti_ed data may be A~Atf gnri7P~I as high priority or low priority. Data which is designated as high priority data is time-criticaldata. Tirne-critical data is any data which must be transferred in a given time WO 95129576 ~ ~ 8 8 1 7 ~ s period due to tbe nature of the i"r. " " ,~ " transferred. Some examples of time-critical (high priority) data are voice and video data. An example of low priority data is ~yllLlllulluu~ digital data, such as a binary file. T,~"~."~
and reception of voice data must occur regularly to ensure that the voice 5 ;~r~ is not delayed or garbled, however, binary files can be transferred in bursts and ~ .l at tbe receiver over an extended period of time.
~herefore the ~ . of high priority data takes precedence over low priority data in order tû meet the time criticality of the high priorit~ data. If the .~Illll~llll,. ~il)ll channel has bandwidth in excess of tbat needed to transmit 10 the maximum number of high priority data bytes, then there is bandwidtb available for the l,,",~",~ .". of low priority data. By "., l~ the low priority data within the tr~ncmie~inne of high priority data, the total bandwidth of the composite link can be exploited, resulting in greater throughput and efficiency of data transferred over the composite link.
.An A~van~ l Prinrity ~:ltieti~ llty-l~ riru~ Syst~m Figure 20A is a block diagram of one ~" ll ~ l, . . ,. l~ of the present mvention. High priority data is h~nemitt~ received, packetized and I by high priority packet module (HPP~ 2001. High priority 20 packet module 2001 can be any transceiver of high priority data, such as voicelfax board 402, shown in Figure 6C. High priority packet module 2001 may perform other functions as well, such as ~U~ ;UII and dt ~,UIII~ ;UII
of high priority data. Low priority data is h~nemittPA, received, packetized and ", q .,.. L ~; ~tY I by low priority packet module (LPPM) 2003. Low priority25 packet module 2003 is any generator of low priority data, such as channel board 401, shown in Figure 6A. Those skilled m the art will readily recognize that several other generators of high priority and low priority data are possible without departing from the scope and spLrit of this ~ ho.l;.ll~ of the present rnvention, and these e~amples are not offered m a limiting or 30 exhaustive sense.
High priority packet module 2001 ~ ".,~ with aggregate module (AM) 2005 via common memory 2002, and low priority packet
7 ~
W095/Z9576 2188171 `` ~ r~,ll~)... .'~J..4 module 2003 ...,."." ". ,~rs with aggregate module 2005 via common memory 2004. Aggregate module 2005 transceives high priori~ pækets (HPPs) and low priorit,v packets (LPPs) from high priority packet module 201)1 and low priority packet module 2004, ~ ~Li~ . Aggregate module 5 2005 contains hardware and finnware to prioritize, multiplex, and .~ .,."~
the high priority pækets and low priority packets transceived between high priorit,v packet module 2001 and low priorit~v packet module 2004, ,G,~Li~,ly. One example of an aggregate module 2005 is aggregate board 400 shown in Figure 6B.
In one ~ odi~ lL of the present invention in which voice over data ~ ,. ". . ,~ ."~ are performed, it is important to transmit the voice packets as highest priority to minimize system voice delay. Advanced priorit,v statistical ""~ can ensure llall~ ;.." quality and efficiency by ""lll;~ Y;"~ the voice pækets as high priority packets and digital data 15 pækets as low priorit~v pækets.
Another t "11~1; ~ 1 of the present invention includes multiple high priorit,v pæket modules 2001 which have ;. ,.1. 1 ~ . ,.l. . .l high priority pæket times. Such systems must use the shortest high priority pæket time in order to preserve the time-criticalit,v of eæh high priority pæket in the 20 system. Additionally, thereare other~ . ~ ' ' ofthepresent invention having network topologies which result in high priorit,v pæket traffic passing through a node. The advanced priority statistical 1 ~ scheme must account for the worst case number of high priorit,v generators in each node to determine both the smallest high priority pæket time and the largest number 25 of hl'gh priorit,v pækets which may be transmitted during that high priority pæket time. This i"r..,.,.A;i.)., is necessary to ensure &t the high priorit~
data is given priority in the time multiplex and that the composite link will have sufficient bandwidth to handle the worst case high priority traffic.
Those skilled in the att will readily recognize &t other 30 ~l " . ,l ,;. ,~ i.... ~ of modules are possible without departing from the scope and spirit of this ~..lI,oJ;~ .-t of the present invention. For example, this ~.,.,l,o~li ,.. .11 of the present invention is not affected if the comrnon memories W095/29576 ~1 ~ 8 I 7~ r~l~uL~ c~v~4 so 2002 and 2004 resided in the same storage device or separate storage devices.
Another example is the data stored in common memories 2002 and 2004 cou d be saved in a packetized format or in a raw binary format. Other variations are possible as well without departing from the scope and spirit of 5 the present mvention.
High priority pækets typically do not require e~ror detection or dll`l~ , however low priority pæket data typically rnust be transceived error free, so error detection and Irf,A,,~",;~;.", is ilIWI~JUIdL~; into low priority pæket ~ ".: ~ . .",~ Aggregate module 2005 contains soft~vare and 10 hardware to perfor n the necessary error detection and ll ~I AI I~I I I;~;. II I
functions. It also constructs a new voice and data frame (a hybrid frame) according to a new protocol which is discussed below.
A rf yAnrrYf Pri~ ,y StAti ctirA ~, ~ R n ~i h A I I n n 0~ erview In the present systern, if the bandwidth of the sampled high priority data is much lower than the bandwidth of the composite link over which it is ~`l ,. . " . ,. " ,.. ~. l then the bigh priority data appe~rs as packetized bursts over the composite link As tbe band~vidth of the hig'n priority data approaches the bandwidt'n of the composite link the high priorrty data appears 20 as a continuous l~ 1 of data, with few spaces ;.11r.~ l As long as tbe bandwidth of the composite link exceecs the bandwidth of the bigh priority data there is room for !lllll~ 1 of low priority data.
However, the ... ~lt;l l ~ problem is .l...,l,l. ~ -1 by the fæt that high priority data packets may be generated m different ~ l ,;, lAf ;""~
25 resulting m varying burst lengths. Two approaches to, ....l~ ;l l A ;~1~ such data are: (I) reserving an mterval in the time multiplex for the maAvimum number of high priority data bytes which potentia ly could be sent by the system and ll..,.~.";;;; ,f~ low priority bytes around this 'reserved space' m the time multiplex; and (2) by ll~tll~ high priority data bytes whenever they are 30 generated and i, I~ IY pæking low priorrty data bytes around the bigh priority data bytes.
woss/2ss76 ~.,,r.~J~.34 21 881 71 51 1 ~1l Method (I) is adequate if the statistical variation in high priority packet lengLh is relatively small when compared to the average packet length, however, if large n". I,,~li,,,,~ in high priority packet lengLh are observed, then method (I) results in a substantial loss of unused bandwidth S which could be exploited for ~1.."~",;~ , of low priority data. Method (2) can utilize the entire bandwidth of the composite link, but is much more processor intensive than method (I) due to corlstant monitoring for gaps in high priority data.
One rll~l,~l,l,.. .~ of the present invention ~ low 10 priority packetized data by periodically illt~ g the low priority packet datastream to trarlsmit high priority packet data The interrupt period is based on the highest possible bandwidth of high priority packet data, and low priority packet data is sent in increments based on the interrupt period when high priority packet data is not being sent. The multiplex erlsures that the 15 maximum possible high priorit,v packet data will always be sent with only periodic ill~~ iUlL7 of the low priority packet data. Gaps in high priority packet L~ ".;~ ",~ are filed to efficiently use the entire bandwidth of the channel to transmit low priority packet daLa on a lower priority basis. This of the present invention offers mcreased throughput over method 20 (1) and reduced processor time over method (2).
~Ir~ ti~n of the Tnr~m~ Peri~
The resulting data 1,,."~",;~;.",~ can be ~1,~.,,. ~. ;,~1 by various in&ces such as high priority packet time (EIPPT) which is a measure of the 25 time high priority packet module 2001 needs to construct a high priority packet. The high priority packet time is . ~ ." " " ,~ with the sampling rate of the high priority rnput and is dictated by the nature of the high priority signal, level of C~ .7.7;~J11 of that signal, and r~usite bandwidth. Each high priority packet is loaded into shared memor~ _002 by high priority 30 packet module 2001 for later 11. "~-";~ , by aggregate module 2005.
Aggregate module 2005 trar~7ceives the packets at the same rate as high priority packet module 2001 so each packet will be transferred within one W0 95129576 r~
2~88~1 52 ~ --high priority pæket time, ensuring that the high priority data is timely. If thehigh priority pæket module 2001 is the voice/fax card 308, then the high priority packet time is dependent on the speech WIll~Jlc~;ull algorithm selected. For example, the e;~rlier section entitled "Speech Compression 5 Algo}ithm" described a 20ms speech sample time. In this case tbe high priority pæket time would be 20ms, since voice pækets are generated and must be processed every 20ms. The high priority packet time multiplied by the overall baud I,,."~".~ rate of the link sets the maximum bandwidth (in bytes) which may be allocated to high priority pæket l,~ ; ",, knoun as 10 HPPTn. Another index is the interrupt boundary byte wunt (IBBC), which is the excess overhead of the .~ ., .... " " ", ~ chaDnel assumiDg the rnaximum number of high priority pæket bytes were wntinually 1~n~mht~ The calculation of the interrupt boundary byte count is described below by the following~ ",l- I,.u~lu.~.5 1. Detelmine the high priority packet time (HPPT), which is the amount of time it takes an ætive high priority pæket module 2001 to construct a high priority pæket and load it rn shared memory 2002 for l,,~..~.";~ .,. by the aggaegate module 2005.0 2. Determine the total number of bytes trarlsmitted by the system in oDe high priority pæket time (HPPTn) uhere:
HPPTn = link baud rate x HPPT.
3. Deterrnine the nurr~er of high priority channels rn the node and channels passing through.
4. Determine the maxi~n number of high priority bytes transmitted per channel. In the case of voice over data ~. ,,, ,, l ,l ll l; ~: ,. ., l~, for instance, it is conoeivable that the number of high priority bytes would be multiplied by a fætor of j for j voioe generators being transmitted by the link (either originating at the link or passing through).
W095/29576 2~ 7~ r ~ ( 4 5. Calculate the sum of the maximum number of high priority bytes transmitted over all the channels, HPPT~n.
6. Calculate the interrupt boundaly byte count, which is equal to HPPTn - HPPTs"~".
A l,,..,~.";~ , period is defned as the amount of time it takes to transfer one byte of i"r. " " ,~1 ;. ", For irlstance, if the bytes in the system are eight (8) bits long and the baud rate is 9,600 baud, then a l"",~ ;.", 10 period is equal to 8/9,600 of a second or ~ ~ly 833 l---,, u~w .d~.
The "",~ ;"~ algorithm creates and updates an interrupt counter (IC) which polls shared memory 2002 every IBBC l,,."~."i~;.ll, periods after the last high priority pæket byte is tr~ncmitt~l The IC must mcrement on eæh ll""~ ;.", period ~vhether data is being transmitted or not, since the 15 interrupt boundary byte count interrupt must occur regularly in time, even ifthere is no low priority packet data to transmit. This ensures that at least every rBBC l.~"~",;~;,)" periods the shared memory 2002 æsociated with pending high priority pæket data is polled, and therefore, the high priority packet data is regularly detected and irAn~mitt~
FrAm~ Protoc~ Al~rithm In this ~ " of the present invention ag8regate module 2005 monitors for and detects pending high priority packet and low priority packet data in order to properly multiplex the pendmg d t~ Pending high 25 priority data is high priority data stored in comrnon memory 2002 and awaiting 1, ,,. l~ ;l .l l via a8gregate module 2005. Similarly, pending low priority data is low priority data stored in common memory 2004 and awaiting l~ .". . .: ", via aggregate module 2005. If aggregate module 2005 polls the shared memories 2002 and 2004 and determines that the only 30 pending data is high priorrty pæket data, voice or fax data, for example, then aggregate module 2005 tr~smits a voice frame æcording to the protocol given in Figure 16. If aggregate module 2005 has only digital asynchronous wossJ2ss76 218817~
data to transfer, then the pæket is sent æcording to the asynchronous charmel data frarne of Figure 18. If high priority packet data is pending during the tr~ncmiccir~n of low priority packet data, this t-,~ of the present invention will interrupt the low priority packet data l"-"~"i~ , on the 5 IBBCth byte of low priority pæket data transfer to insert the high priority pæket data with an identifying header byte to denote which type of data follows. This way the interpreler at the receiving end need only scan the first byte of header ;~r~ "~ on e ~ery IBBC+lth word to deterrnine whether the following data is hi~h priority packet or low priority pæket data. Therefore, 10 in this ~ vùv;~ of the present invention, tbe voicelfax frarne of Figure 16 contains only voice/fax data, however, the d~yll~lllUllUU~ channel data frame ofFigure 18 is modified to include both low priority packet and high priority packet data, yielding a hybrid frame similar in fornnat to Figure 18. The hybrid frame length, Fn~ is limited by ~ such as buffer memor~
15 sizes and link speed.
~ he l"~ algorithm must check for one potential arnbiguity in Wl~LlU~;LiUll of the hybrid frame. Since illrllliri. n ;llll nurnbers are used in the hybrid frame to signal a switch in the datastream from high priority packet to low priority packet data, the "~ algorithrn must 20 check for the case of when a data byte in the IBBC~+l position in the frame is identical to a voice/fax i,l~..,l;ri,~;,." number. The receiver would ~ ill~eL such a byte as an indicator that the datastream switched over to vûice ~, wl~lerl irl 1~ , tuhe b~;~te is r.erely a data 1vyte v.A~ich rln~c~nled '.rlle ; ri~ l nurnber only by chance. To correct this condition, when a 25 potential ~ ll;ri~ ~1;,.., problem arises, the current hybrid frame is terminated and a new hybrid frame is tr~ncmilt~ The .",~ ;ri~ ;1.,. is impossible in the new packet, smce the heaver inf~rm~ti-)n clearly defimes the following bytes as data However, every time an i~ 1; ri~ ,. . word is present in the IBBCth bytS this procedure must be performed to prevent the receiver from 30 IIIi~ Lillg the resulting frame. The chances of this happening are statistically low, and therefore the correctivn will occur inf~equently. For exarnplS in one cl.llvvd;lll.,ll~ where there are 256 possible i~ l;ri~ ... codes 21g8I7I , .
55 '' '' there is a 1/256 chance of a luiailll~llJIciaiiull7 assuming a random generation of data bytes.
The following algorithm can be used to multiplex the data:
1. Select a low priority byte count (~ I based on available buffer memory size and 1 ~, "~ rr n~irlr~r~tiong)~ Fn~ and 2. Transmit high priority packet and low priority packet data:
2a. if only high priority packet data is pending, transmit the high priority packet data and complete the tr~n~mie~ir~n of high priority packet data before sending low priorrty packet data or hybridized low priority packet and high priority packet data (tr~n~nni~ir~n of the high priority data is æcording to the frame protocol of Figure 16);
2b. if low priority packet data is pending, - transmit header infr~rrn~tir~n for the frame, - transmit X bytes of low priority packet data, wherein X is less than or equal to IBBC
(depending on whether the packet length is greater than or equal to IBBC), and - check for pending high priority packet data;
2c. if there is high priority packet data, insert it into the datastream with the appropriate ir~Pntifir ~tir)n number for the high priority packet data at the X+lth byte;
2d. if there is no pending high priority packet data, then check the IBBCth +I byte to ensure it is not equivalent to an irl. .,1;1;. -Il.,.. byte;
2e. if this byte is equivalent, then terminate the present frame and send the remaining data via a new rame;
2 if the byte is not equivalent, then add IBBC bytes of the low priority packet to the present frame or until the end of frame is reached (Fn bytes in the frame);
A~ 3E3 SHEET
WO95/29S76 ~8171 56 r~l,O~
2g continue l "~ low priority packet and hi8h priority packet data in the frarne until end of frame is reached (Fn bytes in the frame); and 2h. add error correction bytes to the end of the frarne (CRC1 and CRC2).
Using this algorithrn, aggregate module 2005 polls for high priority data at the begirrning of each l~."~ ." of a frarne and in IBBC
byte intervals measured from the l. ,,. .~, l .;~;. ., . of the last high priority data byte. In one Cll l ~ ' of the present invention the low priority packet 10 module 2003 transfers packetized data to common mem~ry 2004 upon three conditions: (I) reach ng a I,lr lr~rl " ,;". .1 maximum low priority packet packet byte count; ~2) when a flash timer signals the trarlsfer prior to filling the packet up to the packet byte count; or (3) if a high priority header occurs on the IBBC+lth byte in the hybrid stream. Therefore, X may be less than 15 IBBC, since the low priority pæket byte count is lesc than IBBC bytes in cases (I) and (2).
Ihis alg~rithrn ,, l~ lly adjusts the dynarnic bandwidth of the high priority pækets baced on the ;..~ volume of high priority pæket r '' ~ncmi~A Similarly, the bandwidth associated with the 20 low priority pækets is also ~n~m~'r~lly adjusted to fill the remaining bandwidth left urrused by the high priority pækets. Assurning an ample arnount of low priority packet i"~..."~ ;~... to be transferred, the bandwidth iul~ is described by the equation:
No. of high p~io~ity packetc b~ceived + No. of low plion~y packets transceived = H~Prn (per HPlJr interval).
This method ensures that the high priority pæket i. . r~ .. " ,~ ;. ." is 30 always current within every high priority pæket time interval as long as the interrupt boundary byte count is greater than zer~. The extent to which the interrupt boundary byte count exceeds ~ero is indicative of the available 2188t7~ 57 bandwidtb for low priority packet data Therefore, the bandwidths of both the high priority packet and low priority packet data are constantly changing to provide continuous transfer of high prioritv packet data, and maximum bandwidth for transfer of low priority packet data An alternate ~ ,o~ of the present invention combines the features of the above ~mhorlimr~nt with an additional rnr riti7atir~n scheme forsystems with multiple high priority packet modules. For example, if multiple high priority packet modules are ~ ,;Villg; " r. 1. ~ . ;"" on the system, then latency for packets passing through the system can be minimized by ~ ; "~
the high priority and low priority packets in the following descending order:
1. pass-through high priority packets, 2. Iocal high priority packets, 3. pass-through low priority packets, and 4. local low priority packets.
Using this rrir riti7atir~n the latency for packets passing through is minimi7r~r~
Receiver D~ .,..,lli, ,li ~;.,~ Al,~r rithm In one r mhQrlimant of the present invention the interrupt boundary byte count can be coded into the header of the frames transmitted from one node to the next. Other .., .I .o l " " . ,1~ might employ an interrupt boundary byte count nr~ntiatir~n when link c~ are initiated, enabling the interrupt boundary byte count to be known by all active nodes m the system priorto the illLtl~ r ~ , of low priority and high priority packet infr~nmahr~n Assuming the receiving node has the interrupt boundary byte coumt infr~nmarir~n the receiver can rl~ ., . . ,11 ;l.!~ ~ received packets by the following algorithm:
1. Iow priority byte counter is set to Fc.
2. if the frame is an r~ Ll UllUl~a channel data frame, then the process is as follows:
AM'~'~E~ S~tEET
21881 7I ~8 '' '' 2a. reading X bytes of data, wherein X is the lesser of the number of bytes reæd before the end of packet is reached or IBBC bytes are read (the first time this operation is performed, the data must be low priority packet data to start with);
2b. checking the IBBCth+1 byte for am i ~ ; r ~i.", byte idenfifying the following data as continuing low priority packet data or high priority packet data;
2c. subtracting X from the low priority byte counter;
2d. if tbe i~ntif~/`Rfi. n byte indicates a switch between low priority packet and _igh priority packet data, then storing the following data in the appropriate memory buffer; and 2e. if the low priority byte coumter is greater than zero, repeating this process.
3. if the frame is a voicelfax frame, t_en .~ the voice infi-rmRtil~n according to the frarne shown in Figure 16.
D~m~ltirl~ d high priority pæket i" r.. ~ may be instantly used by t_e receiver, since error correction and ~ ".;~,.... is not typically performed on high priority packet data. This allows the high priority (for instance, voice/fax i " r..., ., ~ ;....) received to be used ~ /, and potentially prior to complete ~ i.." of the hybrid frame by the transmitter.
Frror Correction In tbis ~mhot1im~nt of fhe present invention" . ,~ ., . of purely high priority data (for ex~tmple, voiceJfax data) employs no error checking ,, ,~ . l ,~. ,i~" ,c Defective high priority frames are discarded or used by the system without significant impact to ~ ;.", fidelity. Hybridized frames have error checking ;ll(.,Ul~JUI~ into both the voice and data portions of the frame, however, the receiver requests, ~, .. "~., . :~ .., of only the corrupt data portions (low priority) of each ~
One skilled in the art would readily recognize that other frame protocols could be ill~,U~iJUl_~,d v~ithout departing from the scope and spirit of Ai~`'uE~ S~iE'tT
W0 95129576 218 81 71 r~ 9 59 ~:
the present invention, and that other forms of infnnns~tinn, such as video, could be ~1,~.,.. ~. . ;~r/I as low priority packet and high priority packet data for the purposes of this invention. Therefore this c, ~ of the present invention is not limiting or exclusive. ~ther error checking and 5 lr~ 111 schemes are also possible without modifying the spirit and scope of the present invention.
Advanced priority statistical ~ lv not only ensures high quality and efficient l,~.,~,.l;~;...l~ but actually reduces processor overhead in the composite link as the aggregate baud rate of the link increases. As baud 10 rates increase, typically interrupt boundary byte count values also increase,since a larger average number of low priority bytes may be transmitted with the high priority bytes. lhis results in less interrupts to the "i ' hardware in aggregate module 2005 as link speed increases, since such interrupts are based on the interrupt boundary byte count. The result is an 1~ efficient, high quality throughput of the low priority and high priority data with a statistically minimal arnount of processor overhead at both the l",.,~...;1:;..~ and receiving ends, with improved efficiency with increasing baud r_te F.Y~I~ nf ~ybri~l Frs~m~ M... ll~ Ucir~
~t~v~n~ 1 Prirri~ st~ti~tir~
The following eY~nples are provided for .1. .,,~...~l,,.~;,,PV
different c. . ,l ,~ of the present invention and are not exclusive or limiting. Those skilled in the art would readily recogn~ze that the parameters 25 and procedures 1~ may be modified without departing from the spirit and scope of the present mvention.
Figure 20B shows the output from one c. . ~ r~ ~l of a two priority level advanced priority statistical ",..1l;l~l Data segment 2020 is an c,llcuv~"ll"l~ of one segment of duration equal to one high priority pæket 30 time taken from an output data stream 2010. The number of bytes which can be trarlsmitted in one high priority pæket time is HPPTn 2012. In order to graphically illustrate the interrupt boundary byte count, the high priority wo 95129576 , ~ 4 portion of the segment 2020 ~ the maximum nurnber of high priority data bytes which can be transrnitted in one high priority packet time, HPPTs"", 2022 The difference bet veen HPPTn 2012 and HPPT5"", 2022 is the interrupt boundar~v byte count 2024. However, in ordinary 1.~ the S high priority portion of a segment may have anywhere from æro to HPPTs",l, bytes of high priority data.
Figure 21 llrllll~ r~ how 150 bytes of low priority packet data (LPP~) could be Illllllllllr~,ll with high priority pæket data The details of one example are given in Table 8 belo v. In this example, high priority 10 packet time is ~2iven as 20 msec and tbe baud rate is 7 bytes/msec, thereforeHPPT~ is 140 bytes. HPPT""~, is given as 92 bytes, so the IBBC is 140 minus 92 or 48 bytes. As the first byte of LPPX is being trarlsmitted 48 bytes (IBBC) of LPPX are sent in frame segment 2101. During that segment 1"~ -.. HPP0 becomes available for l.,-~ -,. Since the shared 15 memory 2002 is polled every IBBC I I AI I~ periods after the last high priority packet byte is sent, HPP0 is detected and sent in the next segrnent, 2102, which is only 24 bytes long. Since there is still low priority packet data to send (rscall LPPX is 150 bytes long) segment 2103 consists of 48 bytes (IBBC) of LPPX data, however, there is no pending high priority packet data, 20 so another low priority packet frarne segment is sent 2104 of 48 (IBBC) bytes. Since HPP0 has become available in segment 2104, it is detected arld transmitted at byte 168 as 24 bytes of HPP0 in segment 2105. During the 1 of segment 2105 HPPl, 2, and 3 have become available, so a total of 68 bytes of HPPl, 2, and 3 are sent in segments 2106, 7, arld 8, 25 ~ h,.,ly. These packets are follo ved by the rernaining 6 bytes of LPPX in segment 2109.
woss/2ss76 218~I7I r~
Link Speed = 56,000 bps = 7 Kbytes!sec = 7 bytes!msec HPPT = 20 msec No. high priorit~v channels in mode = 2 (HPP0, HPPI) No. high priorit~v channels pæsing through = 2 (HPP2, HPP3) Max. no. of high priority bytes irl HPPT = 92 bytes HPP0 = 24 bytes HPP1 = 33 b~vtes HPP2 = æ bytes HPP3 = 13 bytes Max. no of b,vtes per HPPT = 7 bytes!msec x 20 msec = 140 bytes IBBC = 140 - 92 = 48 bytes LPPX = 150 bytes Figure æ 1~ .".."~ how LPPy of 128 b~vtes is l~
with pending high priorit~v packet data. The details of one example are given 20 in Table 9 below. The high priority packet time is given æ 20 msec, therefore with a baud rate of 2.4 bytes/msec the HPPTn is 48 bytes. HPPTs,....
is given æ 46 bytes, so IBBC is 48 minus 46 or 2 bytes. Vlewing the data transfer æ the first byte of LPPy is being h~n.~mi1t~, 2 bytes (IBBC) of LPPy are sent in segment æOI. Then, since HPrl has become available during the 25 Il""~."....,.. of this segment, HPP1 is sent in segment 2202, which is only 23 bytes long. Next, æ bytes of low priority packet data are sent m 11 . ,.. ,~., ..~;". .~ of 2 bytes in segment 2204. HPPl has become available in the 11th ll ,.. .~ l l, so ~ " .;~; ll l of LPPy is paused to transmit 23 bytes of HPPl in segment æo~. Meanwhile, HPP0 hæ become available, so the 23 30 bytes of HPP0 are sent in segment 2206. The remaining bytes of low priority packet data will be sent in 2 byte increments ;.~ J between high priority packet bytes in the same fashion æ ,].."....~
WO 95/29576 . . ~ l / V~
21881 71 62 , .;
Link speed = 19,200 BPS = 2,400 Bytes/sec = 2.4 bytes/msec HPPT = 20 msec =
No. high prionty chimnels in node = 2 (HPP0, HPPI) No. high pnority channels passing through = 0 10 Max no. high priority bytes in HPPT = 46 bytes HPP0 = 23 bytes HPPI = 23 byf~es Max. no. bytes per HPPT = 2.4 bytes/msec x 20 msec = 48 bytes IBBC = 48 - 46 = 2 bytes LPPy = 128 Bytes ~lf~n~f.o r",~ ;".. .~1~ f~lr Tl,l"~ ;.", -fTl,f. .",..l - ~ Pri~if~y ~ro Figure 23 shows the topology of an altemate ~ l.Ludi ll~ of the present invention i". ~ a new data pnority level. Figure 23 is similar to Figure 20A in that it illustrates a low priority packet module 2303, common memories 2304 and 2302, and high priority packet module 2301, but shows the addition of a medium priority pilcket module (MPPM) 2310 which 25 ~ r~rlllr~ -WILIl an advan~:K~ aggreg~e mo~u;e 23û~ via common memory 2312. Medium priority packet module 2310 generates medium priority data, which is data with less time~riticality than high priority data but greater time-criticalit~ than the low priority data. An example of medium priority data is ~yll~LIol-uu~ data or LAN di3ta. The medium pnonty i,~i"",~ " is 30 1 ~ 1 with the high priority data and the low pnority data by assigning primary prionty to high priority data, secondary pnority to the medium priority data, and third prionty to the low priority data The addition of medium priority ds3ta to the present invention rec.uires that the excess non-high priority bandwidth be shared between the W0 95/29576 ~ 4 21 881 71 63 ~ ' f- ~ -Iow priority data and the medium priority data, based on system needs and the particularities of the low priority and medium priority data. In one of the present invention the medium priority data takes absolute precedence over the low priority data transferred. Therefore, after all the high5 priorrty data is transferred, all mediurn priority data is transferred before low priority data can be transferred In another ~"11~,.l;.,....,l ofthe present invention low priority data and medium priority data can share the non-high priority bandwidths during IIAI~ I`, SO as to not transfer all medium priority inf~rmAti~-n prior to the transfer of low priority illf'~lllllA;;~Ill This 10 may be A~ lIrlI by setting a medium priority ma~nrnum bandwidth which must be selected to satisfy the l l al l~ b of the mediurn priority data, yet still transfer some low priorrty data. For instance, the system could transfer high priority ;l lf ll l l lAI ;I -I I as stated in earlier ~..L, " and then transfer only 100 byte increments of the medium 15 priority data, depending on the interrupt boundary byte count, filling the remaining bandwidth with low priorrty data The aspects taught for the low and high priority data in preceding sections apply directly to ;"t ." ~ level systems. Calculation of the various l l a~ indices is for a three level system is identical to that 20 for a two level system, except that the interrupt boundary byte count must be shared between the medium and low priority data. The ", ~ and llrlll~ 3~ schemes are similar as well, except new i,~ ;1." bytes must be used to identify ;"t. .Ill~l;A~r priorrty packets in the frame. In addition, further checking will be needed to ensure that those new 25 i-l~ntifi~ til-n bytes are not l~ .,t~l by the receiver by checking the IBBC+lth byte for both high priority and i"l~""..l; .. priority i~l. .,l;ri. al;l)"
codes.
Other ;. l~rl 1 l l. . l;al r priority levels are possible and can be arbitrated in a similar fashion. For example, a four level system (two 30 ;"~..",~ .l;alr levels) or five level system (three ' Ievels) is 1 1 ' by different c~ of the present invention. In addition, tirne criticality is not the only factor by which data may be segregated, and .... .. . .. . . _ _ , , W0 95~29576 , ~,- r ~ 3~
~188I71 64 other factors knov~n to those skilled in ~he art may be substituted. For example, priority could be assigned to pækets æcording to a priority based on their origination or destination, rather than on a time rriority basis.
Priority could also be assigned based on the content of the pæket i"f~ ,,, . .~l i~,. .
5 (other than time-criticality).
Several priority hierarchies can be established within the scope and spirit of the present invention and many variations of priority assign~nent are possible. Therefore, the exa~oles given are for illushative purposes and are not limiting or exclusive.
M~ny of the examples given in this description conce~n the voice over data application of advanced priority statistical ~ ' il ' . ~
however, several other arrli~Ah~nc exist and the concepts of low, high, and ;"t. "". .~ rriority data apply equally well to those ~ 1 " as well. In specific voice over data rl~ the words "voice data" and "high 15 priority data" were often used i..t...,l~.~ly, as were "a~ lulluu~ data"
and "low rriority data". Those skilled in the a~t will readily appreciate that the concepts of the rresent invention which were applied to high priority, j"t. . - ,. ~ priority, and low rriority data are applicable to a variety of " -: - " ,~ and are not limited to the specific ~ rresented.
20 High priority data could be video as well as voice. 1"~ . priority data could be ~yll~LIulluu~ data or LAN data. O~er variations known to those skilled in the a~t are included as well.
T~mrlri~ tiru~ of F~imile r-,fi.,., ~;..., The 1-""~"-:~ " of fæsimile i~r~ A~ is rerformed by ~iPmrrilllAtin~ the fax 1,....~ sending only the facsimile image packets over the ",.,i~ .I composite link and IC~ lA~ the fæsimile signals at the remote site for Irl . ,., .~. ": ~ ., over an analog telephone line to a remote fæsimile mæhine. The ~iPnn~il IlAtjn~ and Irl 11~ ~ b ~1~1 i .g of the facsimile30 image pækets by the present invention is h ansparent to the fæsimile mæhines except that certain proprieta}~ fæsimile protocols are suppressed by the stripping off the propriet~3ry ;., r...., .~1 i..., from the fæsimile header packets.
WO 95129576 2 1 8 8 1 7 1 P~ 4 65 ' - -The facsimile tone is llr ~ rll the digital domain by DSP 620 and the facsimile data is placed in a data packet sirnilar to the voice data packet described above in Table 2 except the header of the packet llictin~ h between voice data and facsimile data.
Con~ll Icion Although specific t." ~l ,o li "~ have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any ,-,, I~r~ which is calculated to achieve the same purpose may be 10 substituted for the specific ~I.IL ' shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.
5 ~ r~ r~
W095/Z9576 2188171 `` ~ r~,ll~)... .'~J..4 module 2003 ...,."." ". ,~rs with aggregate module 2005 via common memory 2004. Aggregate module 2005 transceives high priori~ pækets (HPPs) and low priorit,v packets (LPPs) from high priority packet module 201)1 and low priority packet module 2004, ~ ~Li~ . Aggregate module 5 2005 contains hardware and finnware to prioritize, multiplex, and .~ .,."~
the high priority pækets and low priority packets transceived between high priorit,v packet module 2001 and low priorit~v packet module 2004, ,G,~Li~,ly. One example of an aggregate module 2005 is aggregate board 400 shown in Figure 6B.
In one ~ odi~ lL of the present invention in which voice over data ~ ,. ". . ,~ ."~ are performed, it is important to transmit the voice packets as highest priority to minimize system voice delay. Advanced priorit,v statistical ""~ can ensure llall~ ;.." quality and efficiency by ""lll;~ Y;"~ the voice pækets as high priority packets and digital data 15 pækets as low priorit~v pækets.
Another t "11~1; ~ 1 of the present invention includes multiple high priorit,v pæket modules 2001 which have ;. ,.1. 1 ~ . ,.l. . .l high priority pæket times. Such systems must use the shortest high priority pæket time in order to preserve the time-criticalit,v of eæh high priority pæket in the 20 system. Additionally, thereare other~ . ~ ' ' ofthepresent invention having network topologies which result in high priorit,v pæket traffic passing through a node. The advanced priority statistical 1 ~ scheme must account for the worst case number of high priorit,v generators in each node to determine both the smallest high priority pæket time and the largest number 25 of hl'gh priorit,v pækets which may be transmitted during that high priority pæket time. This i"r..,.,.A;i.)., is necessary to ensure &t the high priorit~
data is given priority in the time multiplex and that the composite link will have sufficient bandwidth to handle the worst case high priority traffic.
Those skilled in the att will readily recognize &t other 30 ~l " . ,l ,;. ,~ i.... ~ of modules are possible without departing from the scope and spirit of this ~..lI,oJ;~ .-t of the present invention. For example, this ~.,.,l,o~li ,.. .11 of the present invention is not affected if the comrnon memories W095/29576 ~1 ~ 8 I 7~ r~l~uL~ c~v~4 so 2002 and 2004 resided in the same storage device or separate storage devices.
Another example is the data stored in common memories 2002 and 2004 cou d be saved in a packetized format or in a raw binary format. Other variations are possible as well without departing from the scope and spirit of 5 the present mvention.
High priority pækets typically do not require e~ror detection or dll`l~ , however low priority pæket data typically rnust be transceived error free, so error detection and Irf,A,,~",;~;.", is ilIWI~JUIdL~; into low priority pæket ~ ".: ~ . .",~ Aggregate module 2005 contains soft~vare and 10 hardware to perfor n the necessary error detection and ll ~I AI I~I I I;~;. II I
functions. It also constructs a new voice and data frame (a hybrid frame) according to a new protocol which is discussed below.
A rf yAnrrYf Pri~ ,y StAti ctirA ~, ~ R n ~i h A I I n n 0~ erview In the present systern, if the bandwidth of the sampled high priority data is much lower than the bandwidth of the composite link over which it is ~`l ,. . " . ,. " ,.. ~. l then the bigh priority data appe~rs as packetized bursts over the composite link As tbe band~vidth of the hig'n priority data approaches the bandwidt'n of the composite link the high priorrty data appears 20 as a continuous l~ 1 of data, with few spaces ;.11r.~ l As long as tbe bandwidth of the composite link exceecs the bandwidth of the bigh priority data there is room for !lllll~ 1 of low priority data.
However, the ... ~lt;l l ~ problem is .l...,l,l. ~ -1 by the fæt that high priority data packets may be generated m different ~ l ,;, lAf ;""~
25 resulting m varying burst lengths. Two approaches to, ....l~ ;l l A ;~1~ such data are: (I) reserving an mterval in the time multiplex for the maAvimum number of high priority data bytes which potentia ly could be sent by the system and ll..,.~.";;;; ,f~ low priority bytes around this 'reserved space' m the time multiplex; and (2) by ll~tll~ high priority data bytes whenever they are 30 generated and i, I~ IY pæking low priorrty data bytes around the bigh priority data bytes.
woss/2ss76 ~.,,r.~J~.34 21 881 71 51 1 ~1l Method (I) is adequate if the statistical variation in high priority packet lengLh is relatively small when compared to the average packet length, however, if large n". I,,~li,,,,~ in high priority packet lengLh are observed, then method (I) results in a substantial loss of unused bandwidth S which could be exploited for ~1.."~",;~ , of low priority data. Method (2) can utilize the entire bandwidth of the composite link, but is much more processor intensive than method (I) due to corlstant monitoring for gaps in high priority data.
One rll~l,~l,l,.. .~ of the present invention ~ low 10 priority packetized data by periodically illt~ g the low priority packet datastream to trarlsmit high priority packet data The interrupt period is based on the highest possible bandwidth of high priority packet data, and low priority packet data is sent in increments based on the interrupt period when high priority packet data is not being sent. The multiplex erlsures that the 15 maximum possible high priorit,v packet data will always be sent with only periodic ill~~ iUlL7 of the low priority packet data. Gaps in high priority packet L~ ".;~ ",~ are filed to efficiently use the entire bandwidth of the channel to transmit low priority packet daLa on a lower priority basis. This of the present invention offers mcreased throughput over method 20 (1) and reduced processor time over method (2).
~Ir~ ti~n of the Tnr~m~ Peri~
The resulting data 1,,."~",;~;.",~ can be ~1,~.,,. ~. ;,~1 by various in&ces such as high priority packet time (EIPPT) which is a measure of the 25 time high priority packet module 2001 needs to construct a high priority packet. The high priority packet time is . ~ ." " " ,~ with the sampling rate of the high priority rnput and is dictated by the nature of the high priority signal, level of C~ .7.7;~J11 of that signal, and r~usite bandwidth. Each high priority packet is loaded into shared memor~ _002 by high priority 30 packet module 2001 for later 11. "~-";~ , by aggregate module 2005.
Aggregate module 2005 trar~7ceives the packets at the same rate as high priority packet module 2001 so each packet will be transferred within one W0 95129576 r~
2~88~1 52 ~ --high priority pæket time, ensuring that the high priority data is timely. If thehigh priority pæket module 2001 is the voice/fax card 308, then the high priority packet time is dependent on the speech WIll~Jlc~;ull algorithm selected. For example, the e;~rlier section entitled "Speech Compression 5 Algo}ithm" described a 20ms speech sample time. In this case tbe high priority pæket time would be 20ms, since voice pækets are generated and must be processed every 20ms. The high priority packet time multiplied by the overall baud I,,."~".~ rate of the link sets the maximum bandwidth (in bytes) which may be allocated to high priority pæket l,~ ; ",, knoun as 10 HPPTn. Another index is the interrupt boundary byte wunt (IBBC), which is the excess overhead of the .~ ., .... " " ", ~ chaDnel assumiDg the rnaximum number of high priority pæket bytes were wntinually 1~n~mht~ The calculation of the interrupt boundary byte count is described below by the following~ ",l- I,.u~lu.~.5 1. Detelmine the high priority packet time (HPPT), which is the amount of time it takes an ætive high priority pæket module 2001 to construct a high priority pæket and load it rn shared memory 2002 for l,,~..~.";~ .,. by the aggaegate module 2005.0 2. Determine the total number of bytes trarlsmitted by the system in oDe high priority pæket time (HPPTn) uhere:
HPPTn = link baud rate x HPPT.
3. Deterrnine the nurr~er of high priority channels rn the node and channels passing through.
4. Determine the maxi~n number of high priority bytes transmitted per channel. In the case of voice over data ~. ,,, ,, l ,l ll l; ~: ,. ., l~, for instance, it is conoeivable that the number of high priority bytes would be multiplied by a fætor of j for j voioe generators being transmitted by the link (either originating at the link or passing through).
W095/29576 2~ 7~ r ~ ( 4 5. Calculate the sum of the maximum number of high priority bytes transmitted over all the channels, HPPT~n.
6. Calculate the interrupt boundaly byte count, which is equal to HPPTn - HPPTs"~".
A l,,..,~.";~ , period is defned as the amount of time it takes to transfer one byte of i"r. " " ,~1 ;. ", For irlstance, if the bytes in the system are eight (8) bits long and the baud rate is 9,600 baud, then a l"",~ ;.", 10 period is equal to 8/9,600 of a second or ~ ~ly 833 l---,, u~w .d~.
The "",~ ;"~ algorithm creates and updates an interrupt counter (IC) which polls shared memory 2002 every IBBC l,,."~."i~;.ll, periods after the last high priority pæket byte is tr~ncmitt~l The IC must mcrement on eæh ll""~ ;.", period ~vhether data is being transmitted or not, since the 15 interrupt boundary byte count interrupt must occur regularly in time, even ifthere is no low priority packet data to transmit. This ensures that at least every rBBC l.~"~",;~;,)" periods the shared memory 2002 æsociated with pending high priority pæket data is polled, and therefore, the high priority packet data is regularly detected and irAn~mitt~
FrAm~ Protoc~ Al~rithm In this ~ " of the present invention ag8regate module 2005 monitors for and detects pending high priority packet and low priority packet data in order to properly multiplex the pendmg d t~ Pending high 25 priority data is high priority data stored in comrnon memory 2002 and awaiting 1, ,,. l~ ;l .l l via a8gregate module 2005. Similarly, pending low priority data is low priority data stored in common memory 2004 and awaiting l~ .". . .: ", via aggregate module 2005. If aggregate module 2005 polls the shared memories 2002 and 2004 and determines that the only 30 pending data is high priorrty pæket data, voice or fax data, for example, then aggregate module 2005 tr~smits a voice frame æcording to the protocol given in Figure 16. If aggregate module 2005 has only digital asynchronous wossJ2ss76 218817~
data to transfer, then the pæket is sent æcording to the asynchronous charmel data frarne of Figure 18. If high priority packet data is pending during the tr~ncmiccir~n of low priority packet data, this t-,~ of the present invention will interrupt the low priority packet data l"-"~"i~ , on the 5 IBBCth byte of low priority pæket data transfer to insert the high priority pæket data with an identifying header byte to denote which type of data follows. This way the interpreler at the receiving end need only scan the first byte of header ;~r~ "~ on e ~ery IBBC+lth word to deterrnine whether the following data is hi~h priority packet or low priority pæket data. Therefore, 10 in this ~ vùv;~ of the present invention, tbe voicelfax frarne of Figure 16 contains only voice/fax data, however, the d~yll~lllUllUU~ channel data frame ofFigure 18 is modified to include both low priority packet and high priority packet data, yielding a hybrid frame similar in fornnat to Figure 18. The hybrid frame length, Fn~ is limited by ~ such as buffer memor~
15 sizes and link speed.
~ he l"~ algorithm must check for one potential arnbiguity in Wl~LlU~;LiUll of the hybrid frame. Since illrllliri. n ;llll nurnbers are used in the hybrid frame to signal a switch in the datastream from high priority packet to low priority packet data, the "~ algorithrn must 20 check for the case of when a data byte in the IBBC~+l position in the frame is identical to a voice/fax i,l~..,l;ri,~;,." number. The receiver would ~ ill~eL such a byte as an indicator that the datastream switched over to vûice ~, wl~lerl irl 1~ , tuhe b~;~te is r.erely a data 1vyte v.A~ich rln~c~nled '.rlle ; ri~ l nurnber only by chance. To correct this condition, when a 25 potential ~ ll;ri~ ~1;,.., problem arises, the current hybrid frame is terminated and a new hybrid frame is tr~ncmilt~ The .",~ ;ri~ ;1.,. is impossible in the new packet, smce the heaver inf~rm~ti-)n clearly defimes the following bytes as data However, every time an i~ 1; ri~ ,. . word is present in the IBBCth bytS this procedure must be performed to prevent the receiver from 30 IIIi~ Lillg the resulting frame. The chances of this happening are statistically low, and therefore the correctivn will occur inf~equently. For exarnplS in one cl.llvvd;lll.,ll~ where there are 256 possible i~ l;ri~ ... codes 21g8I7I , .
55 '' '' there is a 1/256 chance of a luiailll~llJIciaiiull7 assuming a random generation of data bytes.
The following algorithm can be used to multiplex the data:
1. Select a low priority byte count (~ I based on available buffer memory size and 1 ~, "~ rr n~irlr~r~tiong)~ Fn~ and 2. Transmit high priority packet and low priority packet data:
2a. if only high priority packet data is pending, transmit the high priority packet data and complete the tr~n~mie~ir~n of high priority packet data before sending low priorrty packet data or hybridized low priority packet and high priority packet data (tr~n~nni~ir~n of the high priority data is æcording to the frame protocol of Figure 16);
2b. if low priority packet data is pending, - transmit header infr~rrn~tir~n for the frame, - transmit X bytes of low priority packet data, wherein X is less than or equal to IBBC
(depending on whether the packet length is greater than or equal to IBBC), and - check for pending high priority packet data;
2c. if there is high priority packet data, insert it into the datastream with the appropriate ir~Pntifir ~tir)n number for the high priority packet data at the X+lth byte;
2d. if there is no pending high priority packet data, then check the IBBCth +I byte to ensure it is not equivalent to an irl. .,1;1;. -Il.,.. byte;
2e. if this byte is equivalent, then terminate the present frame and send the remaining data via a new rame;
2 if the byte is not equivalent, then add IBBC bytes of the low priority packet to the present frame or until the end of frame is reached (Fn bytes in the frame);
A~ 3E3 SHEET
WO95/29S76 ~8171 56 r~l,O~
2g continue l "~ low priority packet and hi8h priority packet data in the frarne until end of frame is reached (Fn bytes in the frame); and 2h. add error correction bytes to the end of the frarne (CRC1 and CRC2).
Using this algorithrn, aggregate module 2005 polls for high priority data at the begirrning of each l~."~ ." of a frarne and in IBBC
byte intervals measured from the l. ,,. .~, l .;~;. ., . of the last high priority data byte. In one Cll l ~ ' of the present invention the low priority packet 10 module 2003 transfers packetized data to common mem~ry 2004 upon three conditions: (I) reach ng a I,lr lr~rl " ,;". .1 maximum low priority packet packet byte count; ~2) when a flash timer signals the trarlsfer prior to filling the packet up to the packet byte count; or (3) if a high priority header occurs on the IBBC+lth byte in the hybrid stream. Therefore, X may be less than 15 IBBC, since the low priority pæket byte count is lesc than IBBC bytes in cases (I) and (2).
Ihis alg~rithrn ,, l~ lly adjusts the dynarnic bandwidth of the high priority pækets baced on the ;..~ volume of high priority pæket r '' ~ncmi~A Similarly, the bandwidth associated with the 20 low priority pækets is also ~n~m~'r~lly adjusted to fill the remaining bandwidth left urrused by the high priority pækets. Assurning an ample arnount of low priority packet i"~..."~ ;~... to be transferred, the bandwidth iul~ is described by the equation:
No. of high p~io~ity packetc b~ceived + No. of low plion~y packets transceived = H~Prn (per HPlJr interval).
This method ensures that the high priority pæket i. . r~ .. " ,~ ;. ." is 30 always current within every high priority pæket time interval as long as the interrupt boundary byte count is greater than zer~. The extent to which the interrupt boundary byte count exceeds ~ero is indicative of the available 2188t7~ 57 bandwidtb for low priority packet data Therefore, the bandwidths of both the high priority packet and low priority packet data are constantly changing to provide continuous transfer of high prioritv packet data, and maximum bandwidth for transfer of low priority packet data An alternate ~ ,o~ of the present invention combines the features of the above ~mhorlimr~nt with an additional rnr riti7atir~n scheme forsystems with multiple high priority packet modules. For example, if multiple high priority packet modules are ~ ,;Villg; " r. 1. ~ . ;"" on the system, then latency for packets passing through the system can be minimized by ~ ; "~
the high priority and low priority packets in the following descending order:
1. pass-through high priority packets, 2. Iocal high priority packets, 3. pass-through low priority packets, and 4. local low priority packets.
Using this rrir riti7atir~n the latency for packets passing through is minimi7r~r~
Receiver D~ .,..,lli, ,li ~;.,~ Al,~r rithm In one r mhQrlimant of the present invention the interrupt boundary byte count can be coded into the header of the frames transmitted from one node to the next. Other .., .I .o l " " . ,1~ might employ an interrupt boundary byte count nr~ntiatir~n when link c~ are initiated, enabling the interrupt boundary byte count to be known by all active nodes m the system priorto the illLtl~ r ~ , of low priority and high priority packet infr~nmahr~n Assuming the receiving node has the interrupt boundary byte coumt infr~nmarir~n the receiver can rl~ ., . . ,11 ;l.!~ ~ received packets by the following algorithm:
1. Iow priority byte counter is set to Fc.
2. if the frame is an r~ Ll UllUl~a channel data frame, then the process is as follows:
AM'~'~E~ S~tEET
21881 7I ~8 '' '' 2a. reading X bytes of data, wherein X is the lesser of the number of bytes reæd before the end of packet is reached or IBBC bytes are read (the first time this operation is performed, the data must be low priority packet data to start with);
2b. checking the IBBCth+1 byte for am i ~ ; r ~i.", byte idenfifying the following data as continuing low priority packet data or high priority packet data;
2c. subtracting X from the low priority byte counter;
2d. if tbe i~ntif~/`Rfi. n byte indicates a switch between low priority packet and _igh priority packet data, then storing the following data in the appropriate memory buffer; and 2e. if the low priority byte coumter is greater than zero, repeating this process.
3. if the frame is a voicelfax frame, t_en .~ the voice infi-rmRtil~n according to the frarne shown in Figure 16.
D~m~ltirl~ d high priority pæket i" r.. ~ may be instantly used by t_e receiver, since error correction and ~ ".;~,.... is not typically performed on high priority packet data. This allows the high priority (for instance, voice/fax i " r..., ., ~ ;....) received to be used ~ /, and potentially prior to complete ~ i.." of the hybrid frame by the transmitter.
Frror Correction In tbis ~mhot1im~nt of fhe present invention" . ,~ ., . of purely high priority data (for ex~tmple, voiceJfax data) employs no error checking ,, ,~ . l ,~. ,i~" ,c Defective high priority frames are discarded or used by the system without significant impact to ~ ;.", fidelity. Hybridized frames have error checking ;ll(.,Ul~JUI~ into both the voice and data portions of the frame, however, the receiver requests, ~, .. "~., . :~ .., of only the corrupt data portions (low priority) of each ~
One skilled in the art would readily recognize that other frame protocols could be ill~,U~iJUl_~,d v~ithout departing from the scope and spirit of Ai~`'uE~ S~iE'tT
W0 95129576 218 81 71 r~ 9 59 ~:
the present invention, and that other forms of infnnns~tinn, such as video, could be ~1,~.,.. ~. . ;~r/I as low priority packet and high priority packet data for the purposes of this invention. Therefore this c, ~ of the present invention is not limiting or exclusive. ~ther error checking and 5 lr~ 111 schemes are also possible without modifying the spirit and scope of the present invention.
Advanced priority statistical ~ lv not only ensures high quality and efficient l,~.,~,.l;~;...l~ but actually reduces processor overhead in the composite link as the aggregate baud rate of the link increases. As baud 10 rates increase, typically interrupt boundary byte count values also increase,since a larger average number of low priority bytes may be transmitted with the high priority bytes. lhis results in less interrupts to the "i ' hardware in aggregate module 2005 as link speed increases, since such interrupts are based on the interrupt boundary byte count. The result is an 1~ efficient, high quality throughput of the low priority and high priority data with a statistically minimal arnount of processor overhead at both the l",.,~...;1:;..~ and receiving ends, with improved efficiency with increasing baud r_te F.Y~I~ nf ~ybri~l Frs~m~ M... ll~ Ucir~
~t~v~n~ 1 Prirri~ st~ti~tir~
The following eY~nples are provided for .1. .,,~...~l,,.~;,,PV
different c. . ,l ,~ of the present invention and are not exclusive or limiting. Those skilled in the art would readily recogn~ze that the parameters 25 and procedures 1~ may be modified without departing from the spirit and scope of the present mvention.
Figure 20B shows the output from one c. . ~ r~ ~l of a two priority level advanced priority statistical ",..1l;l~l Data segment 2020 is an c,llcuv~"ll"l~ of one segment of duration equal to one high priority pæket 30 time taken from an output data stream 2010. The number of bytes which can be trarlsmitted in one high priority pæket time is HPPTn 2012. In order to graphically illustrate the interrupt boundary byte count, the high priority wo 95129576 , ~ 4 portion of the segment 2020 ~ the maximum nurnber of high priority data bytes which can be transrnitted in one high priority packet time, HPPTs"", 2022 The difference bet veen HPPTn 2012 and HPPT5"", 2022 is the interrupt boundar~v byte count 2024. However, in ordinary 1.~ the S high priority portion of a segment may have anywhere from æro to HPPTs",l, bytes of high priority data.
Figure 21 llrllll~ r~ how 150 bytes of low priority packet data (LPP~) could be Illllllllllr~,ll with high priority pæket data The details of one example are given in Table 8 belo v. In this example, high priority 10 packet time is ~2iven as 20 msec and tbe baud rate is 7 bytes/msec, thereforeHPPT~ is 140 bytes. HPPT""~, is given as 92 bytes, so the IBBC is 140 minus 92 or 48 bytes. As the first byte of LPPX is being trarlsmitted 48 bytes (IBBC) of LPPX are sent in frame segment 2101. During that segment 1"~ -.. HPP0 becomes available for l.,-~ -,. Since the shared 15 memory 2002 is polled every IBBC I I AI I~ periods after the last high priority packet byte is sent, HPP0 is detected and sent in the next segrnent, 2102, which is only 24 bytes long. Since there is still low priority packet data to send (rscall LPPX is 150 bytes long) segment 2103 consists of 48 bytes (IBBC) of LPPX data, however, there is no pending high priority packet data, 20 so another low priority packet frarne segment is sent 2104 of 48 (IBBC) bytes. Since HPP0 has become available in segment 2104, it is detected arld transmitted at byte 168 as 24 bytes of HPP0 in segment 2105. During the 1 of segment 2105 HPPl, 2, and 3 have become available, so a total of 68 bytes of HPPl, 2, and 3 are sent in segments 2106, 7, arld 8, 25 ~ h,.,ly. These packets are follo ved by the rernaining 6 bytes of LPPX in segment 2109.
woss/2ss76 218~I7I r~
Link Speed = 56,000 bps = 7 Kbytes!sec = 7 bytes!msec HPPT = 20 msec No. high priorit~v channels in mode = 2 (HPP0, HPPI) No. high priorit~v channels pæsing through = 2 (HPP2, HPP3) Max. no. of high priority bytes irl HPPT = 92 bytes HPP0 = 24 bytes HPP1 = 33 b~vtes HPP2 = æ bytes HPP3 = 13 bytes Max. no of b,vtes per HPPT = 7 bytes!msec x 20 msec = 140 bytes IBBC = 140 - 92 = 48 bytes LPPX = 150 bytes Figure æ 1~ .".."~ how LPPy of 128 b~vtes is l~
with pending high priorit~v packet data. The details of one example are given 20 in Table 9 below. The high priority packet time is given æ 20 msec, therefore with a baud rate of 2.4 bytes/msec the HPPTn is 48 bytes. HPPTs,....
is given æ 46 bytes, so IBBC is 48 minus 46 or 2 bytes. Vlewing the data transfer æ the first byte of LPPy is being h~n.~mi1t~, 2 bytes (IBBC) of LPPy are sent in segment æOI. Then, since HPrl has become available during the 25 Il""~."....,.. of this segment, HPP1 is sent in segment 2202, which is only 23 bytes long. Next, æ bytes of low priority packet data are sent m 11 . ,.. ,~., ..~;". .~ of 2 bytes in segment 2204. HPPl has become available in the 11th ll ,.. .~ l l, so ~ " .;~; ll l of LPPy is paused to transmit 23 bytes of HPPl in segment æo~. Meanwhile, HPP0 hæ become available, so the 23 30 bytes of HPP0 are sent in segment 2206. The remaining bytes of low priority packet data will be sent in 2 byte increments ;.~ J between high priority packet bytes in the same fashion æ ,].."....~
WO 95/29576 . . ~ l / V~
21881 71 62 , .;
Link speed = 19,200 BPS = 2,400 Bytes/sec = 2.4 bytes/msec HPPT = 20 msec =
No. high prionty chimnels in node = 2 (HPP0, HPPI) No. high pnority channels passing through = 0 10 Max no. high priority bytes in HPPT = 46 bytes HPP0 = 23 bytes HPPI = 23 byf~es Max. no. bytes per HPPT = 2.4 bytes/msec x 20 msec = 48 bytes IBBC = 48 - 46 = 2 bytes LPPy = 128 Bytes ~lf~n~f.o r",~ ;".. .~1~ f~lr Tl,l"~ ;.", -fTl,f. .",..l - ~ Pri~if~y ~ro Figure 23 shows the topology of an altemate ~ l.Ludi ll~ of the present invention i". ~ a new data pnority level. Figure 23 is similar to Figure 20A in that it illustrates a low priority packet module 2303, common memories 2304 and 2302, and high priority packet module 2301, but shows the addition of a medium priority pilcket module (MPPM) 2310 which 25 ~ r~rlllr~ -WILIl an advan~:K~ aggreg~e mo~u;e 23û~ via common memory 2312. Medium priority packet module 2310 generates medium priority data, which is data with less time~riticality than high priority data but greater time-criticalit~ than the low priority data. An example of medium priority data is ~yll~LIol-uu~ data or LAN di3ta. The medium pnonty i,~i"",~ " is 30 1 ~ 1 with the high priority data and the low pnority data by assigning primary prionty to high priority data, secondary pnority to the medium priority data, and third prionty to the low priority data The addition of medium priority ds3ta to the present invention rec.uires that the excess non-high priority bandwidth be shared between the W0 95/29576 ~ 4 21 881 71 63 ~ ' f- ~ -Iow priority data and the medium priority data, based on system needs and the particularities of the low priority and medium priority data. In one of the present invention the medium priority data takes absolute precedence over the low priority data transferred. Therefore, after all the high5 priorrty data is transferred, all mediurn priority data is transferred before low priority data can be transferred In another ~"11~,.l;.,....,l ofthe present invention low priority data and medium priority data can share the non-high priority bandwidths during IIAI~ I`, SO as to not transfer all medium priority inf~rmAti~-n prior to the transfer of low priority illf'~lllllA;;~Ill This 10 may be A~ lIrlI by setting a medium priority ma~nrnum bandwidth which must be selected to satisfy the l l al l~ b of the mediurn priority data, yet still transfer some low priorrty data. For instance, the system could transfer high priority ;l lf ll l l lAI ;I -I I as stated in earlier ~..L, " and then transfer only 100 byte increments of the medium 15 priority data, depending on the interrupt boundary byte count, filling the remaining bandwidth with low priorrty data The aspects taught for the low and high priority data in preceding sections apply directly to ;"t ." ~ level systems. Calculation of the various l l a~ indices is for a three level system is identical to that 20 for a two level system, except that the interrupt boundary byte count must be shared between the medium and low priority data. The ", ~ and llrlll~ 3~ schemes are similar as well, except new i,~ ;1." bytes must be used to identify ;"t. .Ill~l;A~r priorrty packets in the frame. In addition, further checking will be needed to ensure that those new 25 i-l~ntifi~ til-n bytes are not l~ .,t~l by the receiver by checking the IBBC+lth byte for both high priority and i"l~""..l; .. priority i~l. .,l;ri. al;l)"
codes.
Other ;. l~rl 1 l l. . l;al r priority levels are possible and can be arbitrated in a similar fashion. For example, a four level system (two 30 ;"~..",~ .l;alr levels) or five level system (three ' Ievels) is 1 1 ' by different c~ of the present invention. In addition, tirne criticality is not the only factor by which data may be segregated, and .... .. . .. . . _ _ , , W0 95~29576 , ~,- r ~ 3~
~188I71 64 other factors knov~n to those skilled in ~he art may be substituted. For example, priority could be assigned to pækets æcording to a priority based on their origination or destination, rather than on a time rriority basis.
Priority could also be assigned based on the content of the pæket i"f~ ,,, . .~l i~,. .
5 (other than time-criticality).
Several priority hierarchies can be established within the scope and spirit of the present invention and many variations of priority assign~nent are possible. Therefore, the exa~oles given are for illushative purposes and are not limiting or exclusive.
M~ny of the examples given in this description conce~n the voice over data application of advanced priority statistical ~ ' il ' . ~
however, several other arrli~Ah~nc exist and the concepts of low, high, and ;"t. "". .~ rriority data apply equally well to those ~ 1 " as well. In specific voice over data rl~ the words "voice data" and "high 15 priority data" were often used i..t...,l~.~ly, as were "a~ lulluu~ data"
and "low rriority data". Those skilled in the a~t will readily appreciate that the concepts of the rresent invention which were applied to high priority, j"t. . - ,. ~ priority, and low rriority data are applicable to a variety of " -: - " ,~ and are not limited to the specific ~ rresented.
20 High priority data could be video as well as voice. 1"~ . priority data could be ~yll~LIulluu~ data or LAN data. O~er variations known to those skilled in the a~t are included as well.
T~mrlri~ tiru~ of F~imile r-,fi.,., ~;..., The 1-""~"-:~ " of fæsimile i~r~ A~ is rerformed by ~iPmrrilllAtin~ the fax 1,....~ sending only the facsimile image packets over the ",.,i~ .I composite link and IC~ lA~ the fæsimile signals at the remote site for Irl . ,., .~. ": ~ ., over an analog telephone line to a remote fæsimile mæhine. The ~iPnn~il IlAtjn~ and Irl 11~ ~ b ~1~1 i .g of the facsimile30 image pækets by the present invention is h ansparent to the fæsimile mæhines except that certain proprieta}~ fæsimile protocols are suppressed by the stripping off the propriet~3ry ;., r...., .~1 i..., from the fæsimile header packets.
WO 95129576 2 1 8 8 1 7 1 P~ 4 65 ' - -The facsimile tone is llr ~ rll the digital domain by DSP 620 and the facsimile data is placed in a data packet sirnilar to the voice data packet described above in Table 2 except the header of the packet llictin~ h between voice data and facsimile data.
Con~ll Icion Although specific t." ~l ,o li "~ have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any ,-,, I~r~ which is calculated to achieve the same purpose may be 10 substituted for the specific ~I.IL ' shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.
5 ~ r~ r~
Claims (4)
1. A data multiplexes, comprising:
a plurality of asynchronous data interfaces;
collection means for collecting the asynchronous data from the plurality of asynchronous data interfaces, and for producing therefrom collected asynchronous data packets;
a telephone interface for receiving voice band signals;
conversion means for converting the voice band signals into digital samples;
compression means for compressing and encoding the digital samples and for producing therefrom compressed digital voice data;
means for placing the compressed digital voice data into compressed digital voice data packets;
multiplexer means connected for receiving the collected asynchronous data packets, for receiving the compressed digital voice data packets and for multiplexing the collected asynchronous data packets and the compressed digital voice data packets into a synchronous data stream; and means for transmitting the synchronous data stream.
a plurality of asynchronous data interfaces;
collection means for collecting the asynchronous data from the plurality of asynchronous data interfaces, and for producing therefrom collected asynchronous data packets;
a telephone interface for receiving voice band signals;
conversion means for converting the voice band signals into digital samples;
compression means for compressing and encoding the digital samples and for producing therefrom compressed digital voice data;
means for placing the compressed digital voice data into compressed digital voice data packets;
multiplexer means connected for receiving the collected asynchronous data packets, for receiving the compressed digital voice data packets and for multiplexing the collected asynchronous data packets and the compressed digital voice data packets into a synchronous data stream; and means for transmitting the synchronous data stream.
2, The data multiplexer of claim 1 wherein the telephone interface means is further operable for receiving facsimile data and the multiplexer means is further operable for receiving the facsimile data and for multiplexing the collected asynchronous data packets, the compressed digital voice data packets and the facsimile data into a synchronous data stream.
3, The data multiplexer of claim 1 wherein the telephone interface means further includes private branch exchange (PBX) interface means for connecting to a private branch exchange (PBX) for exchange of voice facsimile signals.
4. A method of sending voice data and asynchronous data over the same composite link, comprising the steps of:
receiving analog voice signals;
digitizing the analog voice signals to produce digital voice information;
compressing the digital voice information to produce compressed voice information packets;
collecting asynchronous data and producing therefrom asynchronous data packets;
multiplexing the compressed voice information packets with the asynchronous data packets to produce a synchronous data stream; and sending the synchronous data stream over a composite link.
receiving analog voice signals;
digitizing the analog voice signals to produce digital voice information;
compressing the digital voice information to produce compressed voice information packets;
collecting asynchronous data and producing therefrom asynchronous data packets;
multiplexing the compressed voice information packets with the asynchronous data packets to produce a synchronous data stream; and sending the synchronous data stream over a composite link.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002276196A CA2276196A1 (en) | 1994-04-19 | 1995-04-18 | Multiplex information network |
CA002276198A CA2276198A1 (en) | 1994-04-19 | 1995-04-18 | Advanced priority statistical multiplexing communication method |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/229,958 US5682386A (en) | 1994-04-19 | 1994-04-19 | Data/voice/fax compression multiplexer |
US08/229,958 | 1994-04-19 | ||
US08/333,365 US5757801A (en) | 1994-04-19 | 1994-11-02 | Advanced priority statistical multiplexer |
US08/333,365 | 1994-11-02 | ||
PCT/US1995/005034 WO1995029576A2 (en) | 1994-04-19 | 1995-04-18 | Data/voice/fax advanced priority statistical multiplexer |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002276196A Division CA2276196A1 (en) | 1994-04-19 | 1995-04-18 | Multiplex information network |
CA002276198A Division CA2276198A1 (en) | 1994-04-19 | 1995-04-18 | Advanced priority statistical multiplexing communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2188171A1 CA2188171A1 (en) | 1995-11-02 |
CA2188171C true CA2188171C (en) | 1999-10-26 |
Family
ID=26923779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002188171A Expired - Fee Related CA2188171C (en) | 1994-04-19 | 1995-04-18 | Data/voice/fax advanced priority statistical multiplexer |
Country Status (7)
Country | Link |
---|---|
US (4) | US5757801A (en) |
EP (2) | EP0756796B1 (en) |
JP (1) | JP3193054B2 (en) |
AT (1) | ATE196708T1 (en) |
CA (1) | CA2188171C (en) |
DE (1) | DE69518980T2 (en) |
WO (1) | WO1995029576A2 (en) |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389010B1 (en) * | 1995-10-05 | 2002-05-14 | Intermec Ip Corp. | Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones |
US5696764A (en) * | 1993-07-21 | 1997-12-09 | Fujitsu Limited | ATM exchange for monitoring congestion and allocating and transmitting bandwidth-guaranteed and non-bandwidth-guaranteed connection calls |
WO1997008871A1 (en) * | 1995-08-31 | 1997-03-06 | Ntt Mobile Communications Network Inc. | Atm transmission method having silence compression controlling function, and system, transmitter and receiver using the method |
US20030112795A1 (en) * | 1998-07-22 | 2003-06-19 | Wilkes T. Clay | Voice internet transmission system |
US5983278A (en) * | 1996-04-19 | 1999-11-09 | Lucent Technologies Inc. | Low-loss, fair bandwidth allocation flow control in a packet switch |
US5878119A (en) * | 1996-06-20 | 1999-03-02 | Northern Telecom Limited | Idle suppression and signal threshold determination therefor |
US5946323A (en) * | 1996-11-20 | 1999-08-31 | At&T Corp | Asynchronous transfer mode integrated access service |
US6078958A (en) * | 1997-01-31 | 2000-06-20 | Hughes Electronics Corporation | System for allocating available bandwidth of a concentrated media output |
US6188436B1 (en) | 1997-01-31 | 2001-02-13 | Hughes Electronics Corporation | Video broadcast system with video data shifting |
US6005620A (en) * | 1997-01-31 | 1999-12-21 | Hughes Electronics Corporation | Statistical multiplexer for live and pre-compressed video |
US6084910A (en) * | 1997-01-31 | 2000-07-04 | Hughes Electronics Corporation | Statistical multiplexer for video signals |
US6418122B1 (en) * | 1997-03-21 | 2002-07-09 | Scientific-Atlanta, Inc. | Method and apparatus for assuring sufficient bandwidth of a statistical multiplexer |
KR100259082B1 (en) * | 1997-04-02 | 2000-06-15 | 김영환 | Method for determining priority in network traffic |
US6324188B1 (en) * | 1997-06-12 | 2001-11-27 | Sharp Kabushiki Kaisha | Voice and data multiplexing system and recording medium having a voice and data multiplexing program recorded thereon |
US5897613A (en) * | 1997-10-08 | 1999-04-27 | Lucent Technologies Inc. | Efficient transmission of voice silence intervals |
DE19757195A1 (en) * | 1997-12-22 | 1999-06-24 | Philips Patentverwaltung | Method for transmitting an asynchronous data stream over a synchronous data bus, and circuit arrangement for carrying out the method |
EP0964558A1 (en) | 1998-06-08 | 1999-12-15 | THOMSON multimedia | Method for accessing internet applications from home network devices |
GB9815615D0 (en) * | 1998-07-18 | 1998-09-16 | Nds Ltd | Statistical multiplexing |
US6424675B1 (en) * | 1998-08-05 | 2002-07-23 | Paradyne Corporation | System and method for implementing V.90 central site modem functionality at a customer premises |
CA2317708A1 (en) * | 1998-11-02 | 2000-05-11 | Koninklijke Philips Electronics N.V. | Communication system using a multiplex signal carrying an auxiliary signal |
KR100317251B1 (en) * | 1998-12-14 | 2002-02-19 | 서평원 | Apparatus for multiplexing line |
IL127698A (en) * | 1998-12-23 | 2002-11-10 | Eci Telecom Ltd | Device, system and method for signal compression in a telecommunication network |
US7295554B1 (en) * | 1999-03-12 | 2007-11-13 | Lucent Technologies Inc. | Word Multiplexing of encoded signals into a higher bit rate serial data stream |
US6134221A (en) * | 1999-04-15 | 2000-10-17 | Motorola, Inc. | Method for evaluating a communication link between a first and a second communication site |
JP4516176B2 (en) * | 1999-04-20 | 2010-08-04 | 関東化学株式会社 | Substrate cleaning solution for electronic materials |
DE60038016T2 (en) * | 1999-05-11 | 2009-02-12 | British Telecommunications P.L.C. | OPTICAL COMMUNICATION NETWORK |
US6765913B1 (en) | 1999-06-15 | 2004-07-20 | Telstrat International | Bandwidth manager linked list optimization scheme in a digital loop carrier system |
US6853651B1 (en) | 1999-06-17 | 2005-02-08 | Cingular Wireless Ii, Inc. | System and method for outbox-capable wireless transmission |
DE19933264A1 (en) * | 1999-07-15 | 2001-01-25 | Siemens Ag | Broadband network access device for voice and data transmission |
US6665314B1 (en) * | 1999-10-18 | 2003-12-16 | Gateway, Inc. | Wireless printer adjunct |
US6622019B1 (en) | 1999-11-17 | 2003-09-16 | Eci Telecom, Ltd. | Increasing channel capacity in fixed cellular networks |
JP3546788B2 (en) * | 1999-12-20 | 2004-07-28 | 日本電気株式会社 | Memory control circuit |
US7389368B1 (en) * | 2000-01-24 | 2008-06-17 | Agere Systems Inc. | Inter-DSP signaling in a multiple DSP environment |
US6757301B1 (en) * | 2000-03-14 | 2004-06-29 | Cisco Technology, Inc. | Detection of ending of fax/modem communication between a telephone line and a network for switching router to compressed mode |
WO2001075634A1 (en) * | 2000-04-01 | 2001-10-11 | Tellus Technology, Inc. | System utilizing a network management protocol for dual local/remote network access |
IL135744A (en) | 2000-04-18 | 2008-08-07 | Mosaid Technologies Inc | Telephone communication system over a single telephone line |
US6792455B1 (en) * | 2000-04-28 | 2004-09-14 | Microsoft Corporation | System and method for implementing polling agents in a client management tool |
US7499453B2 (en) * | 2000-05-19 | 2009-03-03 | Cisco Technology, Inc. | Apparatus and methods for incorporating bandwidth forecasting and dynamic bandwidth allocation into a broadband communication system |
US7274667B2 (en) | 2000-05-19 | 2007-09-25 | Scientific-Atlanta, Inc. | Monitoring and allocating access across a shared communications medium |
US6886181B1 (en) * | 2000-07-07 | 2005-04-26 | Critical Telecom Corp. | Extended distribution of ADSL signals |
US7298975B2 (en) * | 2000-07-13 | 2007-11-20 | L-3 Communications Integrated Systems L.P. | Synchronous collapsed ring architecture for real-time signal switching and distribution |
ES2245692T5 (en) | 2000-07-27 | 2012-01-04 | Synthes Ag Chur | CRANIAL FLAG TIGHTENING DEVICE. |
EP1179932A1 (en) * | 2000-08-07 | 2002-02-13 | Telefonaktiebolaget L M Ericsson (Publ) | A method and device for transmitting two different categories of signals |
US7369838B1 (en) | 2000-10-03 | 2008-05-06 | At&T Corporation | Intra-premises wireless broadband service using lumped and distributed wireless radiation from cable source input |
SE522704C2 (en) * | 2000-10-09 | 2004-03-02 | Ericsson Telefon Ab L M | Transmission of audio data and non-audio data between a portable ch communication device and an external terminal |
US7319667B1 (en) | 2000-11-15 | 2008-01-15 | Cisco Technology, Inc. | Communication system with priority data compression |
KR100372344B1 (en) * | 2000-12-21 | 2003-02-15 | 엘지전자 주식회사 | Device for Transmitting Data for Data Communication in Analogue Exclusive Line |
DE10122042A1 (en) * | 2001-05-07 | 2002-11-14 | Philips Corp Intellectual Pty | Network with prioritized data forwarding between sub-networks |
US7133372B2 (en) * | 2001-06-29 | 2006-11-07 | Intel Corporation | Reducing power consumption in packet based networks with Quality of Service (QoS) features |
US6804692B2 (en) * | 2001-12-21 | 2004-10-12 | Agere Systems, Inc. | Method and apparatus for reassembly of data blocks within a network processor |
US7333496B1 (en) * | 2001-12-31 | 2008-02-19 | Cisco Technology, Inc. | System and method for indicating the priority of voice over internet protocol (VoIP) calls |
KR100434053B1 (en) * | 2001-12-31 | 2004-06-04 | 엘지전자 주식회사 | Is-95a/b vocoder |
ES2197794B1 (en) * | 2002-01-18 | 2005-03-16 | Diseño De Sistemas En Silicio, S.A | DATA TRANSMISSION PROCEDURE FOR A MULTI-USER DIGITAL DATA TRANSMISSION SYSTEM POINT TO MULTIPOINT. |
US7143157B2 (en) * | 2002-03-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Managing the network impact of a digital transmitter |
US7970044B2 (en) * | 2002-08-26 | 2011-06-28 | Hardman Clayton M | Soft chip modem |
PL355707A1 (en) * | 2002-08-26 | 2004-03-08 | Advanced Digital Broadcast Ltd. | Multiplexer, data multiplex opweration system and method of data multiplex operation with data flow management system using multiplexer or data multiplex operation system |
JP3792631B2 (en) * | 2002-09-30 | 2006-07-05 | Necインフロンティア株式会社 | Packet transmission method and apparatus, base station apparatus, wireless LAN terminal apparatus, and wireless LAN system using the same |
US7643518B2 (en) * | 2002-10-29 | 2010-01-05 | Global Tel*Link Corporation | Method for transferring and separating telephone call data |
KR100490901B1 (en) * | 2002-12-02 | 2005-05-24 | 한국전자통신연구원 | Dynamic Bandwidth Allocation Method and Apparatus based on Class of Service over Ethernet Passive Optical Network |
US20040179555A1 (en) * | 2003-03-11 | 2004-09-16 | Cisco Technology, Inc. | System and method for compressing data in a communications environment |
JP2004336487A (en) * | 2003-05-08 | 2004-11-25 | Ricoh Co Ltd | Facsimile machine, program and storage medium |
US7397774B1 (en) | 2003-05-23 | 2008-07-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Downlink data multiplexer |
GB0321423D0 (en) * | 2003-09-12 | 2003-10-15 | Ericsson Telefon Ab L M | Method and apparatus for providing a multimedia service |
US7733793B1 (en) | 2003-12-10 | 2010-06-08 | Cisco Technology, Inc. | System and method for suppressing silence data in a network environment |
FR2863797B1 (en) * | 2003-12-15 | 2006-02-24 | Cit Alcatel | LAYER TWO COMPRESSION / DECOMPRESSION FOR SYNCHRONOUS / ASYNCHRONOUS MIXED TRANSMISSION OF DATA FRAMES WITHIN A COMMUNICATIONS NETWORK |
IL159838A0 (en) | 2004-01-13 | 2004-06-20 | Yehuda Binder | Information device |
US8929524B2 (en) | 2004-04-27 | 2015-01-06 | Value-Added Communications, Inc. | System and method for determining and associating tariff rates for institutional calls |
US7903690B2 (en) * | 2005-04-28 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Method and system of sending an audio stream and a data stream |
US20070060373A1 (en) * | 2005-09-12 | 2007-03-15 | Bigfoot Networks, Inc. | Data communication system and methods |
US20070127521A1 (en) * | 2005-12-02 | 2007-06-07 | The Boeing Company | Interface between network data bus application and avionics data bus |
US20070140217A1 (en) * | 2005-12-16 | 2007-06-21 | Benco David S | System and method to support VoIP session by sharing existing packet data resource |
JP2007288342A (en) * | 2006-04-13 | 2007-11-01 | Nec Corp | Media stream relay device and method |
US8046775B2 (en) * | 2006-08-14 | 2011-10-25 | Marvell World Trade Ltd. | Event-based bandwidth allocation mode switching method and apparatus |
WO2008020149A1 (en) * | 2006-08-16 | 2008-02-21 | Arm Limited | Bit ordering for packetised serial data transmission on an integrated circuit |
US7738392B2 (en) * | 2006-09-20 | 2010-06-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to provide services over integrated broadband communication systems |
US7986700B2 (en) | 2006-09-25 | 2011-07-26 | Futurewei Technologies, Inc. | Multiplexed data stream circuit architecture |
US8660152B2 (en) * | 2006-09-25 | 2014-02-25 | Futurewei Technologies, Inc. | Multi-frame network clock synchronization |
US8340101B2 (en) | 2006-09-25 | 2012-12-25 | Futurewei Technologies, Inc. | Multiplexed data stream payload format |
US8494009B2 (en) * | 2006-09-25 | 2013-07-23 | Futurewei Technologies, Inc. | Network clock synchronization timestamp |
US8976796B2 (en) * | 2006-09-25 | 2015-03-10 | Futurewei Technologies, Inc. | Bandwidth reuse in multiplexed data stream |
US8588209B2 (en) | 2006-09-25 | 2013-11-19 | Futurewei Technologies, Inc. | Multi-network compatible data architecture |
US7809027B2 (en) * | 2006-09-25 | 2010-10-05 | Futurewei Technologies, Inc. | Network clock synchronization floating window and window delineation |
US8295310B2 (en) | 2006-09-25 | 2012-10-23 | Futurewei Technologies, Inc. | Inter-packet gap network clock synchronization |
EP2127291B1 (en) * | 2006-12-12 | 2019-10-16 | Vestas Wind Systems A/S | A multiprotocol wind turbine system and method |
US8654638B2 (en) * | 2006-12-19 | 2014-02-18 | Marcin Godlewski | Dynamically adjusting bandwidth usage among subscriber streams |
CN101578794B (en) * | 2007-01-26 | 2012-12-12 | 华为技术有限公司 | Multiplexed data stream circuit architecture |
US8611378B2 (en) | 2007-05-29 | 2013-12-17 | Red Hat, Inc. | Message handling multiplexer |
US8505028B2 (en) * | 2007-05-30 | 2013-08-06 | Red Hat, Inc. | Flow control protocol |
US7992153B2 (en) * | 2007-05-30 | 2011-08-02 | Red Hat, Inc. | Queuing for thread pools using number of bytes |
US8116337B2 (en) * | 2007-07-27 | 2012-02-14 | Marcin Godlewski | Bandwidth requests transmitted according to priority in a centrally managed network |
WO2009029889A1 (en) * | 2007-08-31 | 2009-03-05 | Clear Channel Management Services, L.P. | Radio receiver and method for receiving and playing signals from multiple broadcast channels |
US9203445B2 (en) | 2007-08-31 | 2015-12-01 | Iheartmedia Management Services, Inc. | Mitigating media station interruptions |
US8886612B2 (en) * | 2007-10-04 | 2014-11-11 | Core Wireless Licensing S.A.R.L. | Method, apparatus and computer program product for providing improved data compression |
KR20100123924A (en) * | 2008-04-28 | 2010-11-25 | 파나소닉 주식회사 | Method for driving plasma display panel and plasma display device |
US20100207743A1 (en) * | 2009-02-19 | 2010-08-19 | Verne Stephen Jackson | Control of devices by way of power wiring |
US8761174B2 (en) * | 2009-03-11 | 2014-06-24 | Sony Corporation | Quality of service traffic recognition and packet classification home mesh network |
RU2462751C2 (en) * | 2010-12-13 | 2012-09-27 | Российская Федерация, от имени которой выступает Министерство обороны Российской Федерации | Multifunctional system for reception, demodulation and processing of communication line signals |
TWI497950B (en) | 2011-05-05 | 2015-08-21 | Ind Tech Res Inst | Network transceiver and bandwidth management method thereof |
US8483516B2 (en) * | 2011-08-16 | 2013-07-09 | National Taiwan University | Super resolution system and method with database-free texture synthesis |
US8543748B2 (en) * | 2011-09-09 | 2013-09-24 | General Electric Company | Fieldbus device control system |
US9455922B2 (en) * | 2014-05-19 | 2016-09-27 | Intel Corporation | Technologies for moderating packet ingress interrupt generation |
US9351077B1 (en) | 2014-12-11 | 2016-05-24 | L-3 Communications Integrated Systems Lp | Systems and methods for independent and control-isolated audio processing (ICIAP) |
US10817320B2 (en) * | 2015-12-11 | 2020-10-27 | International Business Machines Corporation | High resolution timer expiry in live partition migration |
US10182369B2 (en) * | 2016-06-29 | 2019-01-15 | Intel IP Corporation | Flow control with acknowledgment feedback |
US10104710B1 (en) | 2017-06-19 | 2018-10-16 | Global Tel*Link Corporation | Dual mode transmission in a controlled environment |
US10333870B2 (en) | 2017-07-06 | 2019-06-25 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
Family Cites Families (250)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US34034A (en) * | 1861-12-24 | Improvement in bee-hives | ||
US3304372A (en) * | 1963-06-28 | 1967-02-14 | Ibm | Voice-data multiplexing system for transmitting data during pauses in the voice signals |
US3789165A (en) * | 1972-04-24 | 1974-01-29 | Communications Satellite Corp | Echo canceller with variable threshold |
US3781818A (en) * | 1972-05-08 | 1973-12-25 | Univ Johns Hopkins | Data block multiplexing system |
US3904830A (en) * | 1972-07-03 | 1975-09-09 | Mek Tronix Lab | Call tracing and identification system |
US3997732A (en) * | 1972-07-03 | 1976-12-14 | Mek-Tronix Laboratories Corporation | Call tracing and identification system |
US3973089A (en) | 1973-10-29 | 1976-08-03 | General Electric Company | Adaptive hybrid circuit |
GB1529452A (en) | 1975-04-10 | 1978-10-18 | Ansafone Ltd | Detection of direct currents or voltages |
US3973081A (en) * | 1975-09-12 | 1976-08-03 | Trw Inc. | Feedback residue compression for digital speech systems |
US4107471A (en) * | 1977-03-22 | 1978-08-15 | International Telephone & Telegraph Corp. | Frequency division multiplex communications system |
US4100377A (en) * | 1977-04-28 | 1978-07-11 | Bell Telephone Laboratories, Incorporated | Packet transmission of speech |
DE2730446A1 (en) | 1977-07-06 | 1979-01-18 | Ego Elektro Blanc & Fischer | ELECTRIC TIMER |
US4284850A (en) * | 1977-12-23 | 1981-08-18 | Storage Technology Corporation | Digital memory providing fixed and variable delays in a TASI system |
US4205202A (en) * | 1978-01-18 | 1980-05-27 | Kahn Leonard R | Method and means for improving the spectrum utilization of multichannel telephone systems |
IT1202809B (en) | 1978-12-22 | 1989-02-09 | Sits Soc It Telecom Siemens | LINE TRANSLATOR FOR RADIO-TELEPHONE SYSTEMS |
US4354273A (en) * | 1979-06-12 | 1982-10-12 | Nippon Electric Company, Ltd. | ADPCM System for speech or like signals |
US4445213A (en) * | 1979-07-31 | 1984-04-24 | Bell Telephone Laboratories, Incorporated | Communication line interface for controlling data information having differing transmission characteristics |
US4355388A (en) | 1979-09-27 | 1982-10-19 | Communications Satellite Corporation | Microprogrammable TDMA terminal controller |
JPS5723356A (en) * | 1980-07-02 | 1982-02-06 | Hitachi Ltd | Sound signal converter |
US4377860A (en) * | 1981-01-05 | 1983-03-22 | American Microsystems, Inc. | Bandwidth reduction method and structure for combining voice and data in a PCM channel |
FR2500704A1 (en) * | 1981-02-20 | 1982-08-27 | Devault Michel | ASYNCHRONOUS TIME SWITCH FOR DIGITAL NETWORK WITH INTEGRATION OF SERVICES |
US4649548A (en) | 1981-03-11 | 1987-03-10 | Crane Ronald C | Local computer network transceiver |
US4380687A (en) | 1981-03-27 | 1983-04-19 | Gte Automatic Electric Laboratories, Inc. | Power supply control circuit for subscriber carrier telephone system |
JPS57168567A (en) | 1981-04-10 | 1982-10-16 | Hitachi Ltd | Electric power feeding system |
EP0070949B1 (en) * | 1981-07-28 | 1986-05-07 | International Business Machines Corporation | Transmission method for voice and digital data and arrangement for carrying out said method |
US4425661A (en) * | 1981-09-03 | 1984-01-10 | Applied Spectrum Technologies, Inc. | Data under voice communications system |
US4476559A (en) * | 1981-11-09 | 1984-10-09 | At&T Bell Laboratories | Simultaneous transmission of voice and data signals over a digital channel |
US4500987A (en) * | 1981-11-24 | 1985-02-19 | Nippon Electric Co., Ltd. | Loop transmission system |
JPS6011360B2 (en) * | 1981-12-15 | 1985-03-25 | ケイディディ株式会社 | Audio encoding method |
IT1155661B (en) | 1982-03-24 | 1987-01-28 | Cselt Centro Studi Lab Telecom | ELECTRONIC CIRCUIT FOR DETECTION OF THE MICROPHONE RELEASE IN THE PRESENCE OF THE CALL CURRENT |
JPS594382A (en) | 1982-06-30 | 1984-01-11 | Nippon Telegr & Teleph Corp <Ntt> | Encoding system of drawn picture |
US4495620A (en) * | 1982-08-05 | 1985-01-22 | At&T Bell Laboratories | Transmitting data on the phase of speech |
US4531023A (en) | 1982-08-13 | 1985-07-23 | Hlf Corporation | Computer security system for a time shared computer accessed over telephone lines |
US4479195A (en) * | 1982-09-07 | 1984-10-23 | At&T Bell Laboratories | Data conference system |
FR2533789B1 (en) * | 1982-09-24 | 1987-10-23 | France Etat | HYBRID LOCAL COMMUNICATION NETWORK IN CIRCUIT AND LOOP PACKET MODES CARRYING A TIME MULTIPLEX |
US4447675A (en) | 1982-10-29 | 1984-05-08 | Bell Telephone Laboratories, Incorporated | Ring-trip detector |
US4534024A (en) * | 1982-12-02 | 1985-08-06 | At&T Bell Laboratories | System and method for controlling a multiple access data communications system including both data packets and voice packets being communicated over a cable television system |
US4609788A (en) * | 1983-03-01 | 1986-09-02 | Racal Data Communications Inc. | Digital voice transmission having improved echo suppression |
US4652703A (en) * | 1983-03-01 | 1987-03-24 | Racal Data Communications Inc. | Digital voice transmission having improved echo suppression |
GB2137057B (en) | 1983-03-18 | 1986-07-02 | Telspec Ltd | Improvements in and relating to signal transmission devices |
US4587651A (en) * | 1983-05-04 | 1986-05-06 | Cxc Corporation | Distributed variable bandwidth switch for voice, data, and image communications |
US4598397A (en) * | 1984-02-21 | 1986-07-01 | Cxc Corporation | Microtelephone controller |
US4524244A (en) * | 1983-08-05 | 1985-06-18 | Cygnet Technologies, Inc. | Digital and voice telecommunication apparatus |
US4578537A (en) * | 1983-08-05 | 1986-03-25 | International Remote Imaging Systems, Inc. | Telecommunication apparatus serving as an interface between a digital computer and an analog communication medium |
JPS60130235A (en) * | 1983-12-16 | 1985-07-11 | Fujitsu Ltd | Data and voice transmitter |
US4546212A (en) * | 1984-03-08 | 1985-10-08 | Crowder, Inc. | Data/voice adapter for telephone network |
JPS60203059A (en) * | 1984-03-14 | 1985-10-14 | Hashimoto Corp | Switching connection device of telephone line |
DE3409532A1 (en) | 1984-03-15 | 1985-09-19 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | COMMUNICATION TERMINAL |
US4593389A (en) * | 1984-06-28 | 1986-06-03 | Henry Wurzburg | Simultaneous voice and asynchronous data telephone |
USRE34034E (en) | 1985-10-11 | 1992-08-18 | Spectrum Information Technologies, Inc. | Cellular telephone data communication system and method |
US4697281A (en) * | 1986-03-14 | 1987-09-29 | Spectrum Cellular Communications Corporation, Inc. | Cellular telephone data communication system and method |
GB8423017D0 (en) * | 1984-09-12 | 1984-10-17 | Plessey Co Plc | Echo canceller |
US4622680A (en) | 1984-10-17 | 1986-11-11 | General Electric Company | Hybrid subband coder/decoder method and apparatus |
GB2166320B (en) * | 1984-10-25 | 1988-10-12 | Stc Plc | Packet switching system |
US4629829A (en) * | 1984-12-14 | 1986-12-16 | Motorola, Inc. | Full duplex speakerphone for radio and landline telephones |
US4751736A (en) * | 1985-01-31 | 1988-06-14 | Communications Satellite Corporation | Variable bit rate speech codec with backward-type prediction and quantization |
GB2171576B (en) * | 1985-02-04 | 1989-07-12 | Mitel Telecom Ltd | Spread spectrum leaky feeder communication system |
DE3504064A1 (en) | 1985-02-07 | 1986-08-07 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Transceiver for transmitting handwritten recordings |
US4750169A (en) * | 1985-03-12 | 1988-06-07 | Pacific Bell | Telephone system and method for transmitting digital information |
EP0200842B1 (en) * | 1985-04-30 | 1992-10-14 | International Business Machines Corporation | Modem controlling a modem network |
JPS6297036A (en) | 1985-07-31 | 1987-05-06 | テキサス インスツルメンツ インコ−ポレイテツド | Calculator system |
US4718082A (en) * | 1985-09-18 | 1988-01-05 | Ark Electronics | Modem for effecting full duplex asynchronous/synchronous digital data communications over voice grade telephone link |
DE3686111T2 (en) | 1985-09-20 | 1993-01-07 | Nec Corp | SUBSCRIBER LINE INTERFACE CIRCUIT WITH MEANS FOR COMBINING DC AND AC COUNTER-SIGNAL SIGNALS. |
JPH0752845B2 (en) * | 1985-10-04 | 1995-06-05 | 日本電気株式会社 | Differential encoding circuit |
DE3585034D1 (en) * | 1985-10-30 | 1992-02-06 | Ibm | METHOD FOR DETERMINING A FLAT Echo Path Delay, and Echo Compensator Using This Method. |
US4700341A (en) * | 1985-10-30 | 1987-10-13 | Racal Data Communications Inc. | Stochastic time division multiplexing |
US4804957A (en) | 1985-11-27 | 1989-02-14 | Triad Communications, Inc. | Utility meter and submetering system |
NL8600087A (en) * | 1986-01-17 | 1987-08-17 | Philips Nv | DEVICE FOR FULL-DUPLEX DATA TRANSMISSION ON TWO-WIRE CONNECTIONS. |
US4740963A (en) * | 1986-01-30 | 1988-04-26 | Lear Siegler, Inc. | Voice and data communication system |
EP0239293A3 (en) * | 1986-03-24 | 1988-12-14 | Gpt Limited | Data transmission systems |
US4932048A (en) * | 1986-04-15 | 1990-06-05 | Canon Kabushiki Kaisha | Data communication apparatus with voice communication control |
US4926448A (en) * | 1986-05-06 | 1990-05-15 | Hayes Microcomputer Products, Inc. | Method and apparatus for implementing an escape sequence |
US4761646A (en) | 1986-05-20 | 1988-08-02 | International Business Machines Corporation | Method and system for addressing and controlling a network of modems |
JPS62281553A (en) * | 1986-05-29 | 1987-12-07 | Fujitsu Ltd | Bypassing method for line terminating equipment |
JPH0763171B2 (en) * | 1986-06-10 | 1995-07-05 | 株式会社日立製作所 | Data / voice transmission / reception method |
US5008926A (en) * | 1986-07-17 | 1991-04-16 | Efrat Future Technology Ltd. | Message management system |
DE3630469A1 (en) | 1986-09-06 | 1988-03-10 | Standard Elektrik Lorenz Ag | Pressure-sensitive input tablet |
US4813040A (en) * | 1986-10-31 | 1989-03-14 | Futato Steven P | Method and apparatus for transmitting digital data and real-time digitalized voice information over a communications channel |
JPH07118749B2 (en) * | 1986-11-14 | 1995-12-18 | 株式会社日立製作所 | Voice / data transmission equipment |
DE3780013T2 (en) * | 1986-11-17 | 1993-01-21 | Alcatel Nv | ADJUSTABLE ECHO COMPENSATOR. |
US4839802A (en) * | 1986-11-19 | 1989-06-13 | Extel Corporation | Adaptation of computer to communication operation |
KR900005796B1 (en) | 1986-12-02 | 1990-08-11 | 삼성전자 주식회사 | Method for controlling the power supply of modem |
ZA883232B (en) | 1987-05-06 | 1989-07-26 | Dowd Research Pty Ltd O | Packet switches,switching methods,protocols and networks |
US4845746A (en) * | 1987-06-23 | 1989-07-04 | Rockwell International Corporation | Echo canceller with relative feedback control |
FR2618624B1 (en) * | 1987-07-24 | 1992-04-30 | Michel Servel | HYBRID TIME MULTIPLEX SWITCHING SYSTEM WITH OPTIMIZED BUFFER MEMORY |
US4987586A (en) | 1987-07-31 | 1991-01-22 | Compaq Computer Corporation | Modem-telephone interconnect |
US4891806A (en) | 1987-09-18 | 1990-01-02 | Racal Data Communications Inc. | Constellation multiplexed inband secondary channel for voiceband modem |
GB2210236B (en) * | 1987-09-24 | 1991-12-18 | Newbridge Networks Corp | Speech processing system |
JP2602847B2 (en) * | 1987-09-29 | 1997-04-23 | 株式会社日立製作所 | Multimedia mail system |
US5008901A (en) * | 1987-10-29 | 1991-04-16 | U.S. Robotics, Inc. | Asymmetrical duplex error-controlled modem |
US4827085A (en) * | 1987-11-19 | 1989-05-02 | Ovonic Imaging Systems, Inc. | Voice and image teleconferencing system including paperless facsimile means |
DE3742939A1 (en) * | 1987-12-18 | 1989-07-06 | Standard Elektrik Lorenz Ag | METHOD FOR HYBRID PACKING AND DEVICES THEREFOR |
US4995059A (en) * | 1988-01-14 | 1991-02-19 | Canon Kabushiki Kaisha | Predictive coding device |
JP2692104B2 (en) * | 1988-02-12 | 1997-12-17 | 株式会社日立製作所 | Voice multiplexing system |
US5025443A (en) * | 1988-02-24 | 1991-06-18 | Integrated Network Corporation | Digital data over voice communication |
JPH02503368A (en) | 1988-02-29 | 1990-10-11 | インフォメーション・リソーセス・インコーポレーテッド | Passive data collection system for market research data |
JPH01221042A (en) * | 1988-02-29 | 1989-09-04 | Toshiba Corp | Congestion control method for packet exchange |
CA1314965C (en) * | 1988-03-01 | 1993-03-23 | Gerald Molnar | Data interface for telephone system |
US4890282A (en) * | 1988-03-08 | 1989-12-26 | Network Equipment Technologies, Inc. | Mixed mode compression for data transmission |
DE3883519T2 (en) * | 1988-03-08 | 1994-03-17 | Ibm | Method and device for speech coding with multiple data rates. |
US4887265A (en) * | 1988-03-18 | 1989-12-12 | Motorola, Inc. | Packet-switched cellular telephone system |
US4847900A (en) * | 1988-05-02 | 1989-07-11 | Northern Telecom Limited | Infrared hookswitch for a telephone |
US5177734A (en) | 1988-05-02 | 1993-01-05 | Itt Corporation | Multirate wire line modem apparatus |
US5195130A (en) | 1988-05-05 | 1993-03-16 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly computer interface and enhanced integrity features |
SE461308B (en) * | 1988-06-03 | 1990-01-29 | Ericsson Telefon Ab L M | ADAPTIVE DIGITAL FILTER INCLUDING A NON-RECURSIVE PART AND A RECURSIVE PART |
US4991169A (en) * | 1988-08-02 | 1991-02-05 | International Business Machines Corporation | Real-time digital signal processing relative to multiple digital communication channels |
JPH0744511B2 (en) * | 1988-09-14 | 1995-05-15 | 富士通株式会社 | High suburb rate multiplexing method |
US4864559A (en) * | 1988-09-27 | 1989-09-05 | Digital Equipment Corporation | Method of multicast message distribution |
WO1990003701A1 (en) | 1988-09-27 | 1990-04-05 | Texas Instruments Japan Ltd. | Method of matching operation mode of a modem |
US4905282A (en) * | 1988-10-19 | 1990-02-27 | Hayes Microcomputer Products, Inc. | Feature negotiation protocol and dynamically adjustable retraining sequence for a high speed half duplex modem |
US4953210A (en) * | 1988-10-19 | 1990-08-28 | Hayes Microcomputer Products, Inc. | Feature negotiation protocol for a synchronous modem |
US4912758A (en) * | 1988-10-26 | 1990-03-27 | International Business Machines Corporation | Full-duplex digital speakerphone |
US4890316A (en) * | 1988-10-28 | 1989-12-26 | Walsh Dale M | Modem for communicating at high speed over voice-grade telephone circuits |
US5001745A (en) * | 1988-11-03 | 1991-03-19 | Pollock Charles A | Method and apparatus for programmed audio annotation |
US5107519A (en) * | 1988-11-17 | 1992-04-21 | Canon Kabushiki Kaisha | Coding device and a decoding device |
US5130985A (en) | 1988-11-25 | 1992-07-14 | Hitachi, Ltd. | Speech packet communication system and method |
US5406560A (en) | 1988-11-25 | 1995-04-11 | Hitachi, Ltd. | Speech packet communication system |
DE3840433A1 (en) * | 1988-12-01 | 1990-06-07 | Philips Patentverwaltung | Echo compensator |
US4914650A (en) * | 1988-12-06 | 1990-04-03 | American Telephone And Telegraph Company | Bandwidth allocation and congestion control scheme for an integrated voice and data network |
FR2641093B1 (en) * | 1988-12-23 | 1994-04-29 | Alcatel Business Systems | |
US4935954A (en) * | 1988-12-28 | 1990-06-19 | At&T Company | Automated message retrieval system |
US5081647A (en) * | 1989-01-06 | 1992-01-14 | American Telephone & Telegraph Company | Communication of a voice signal via continuous quadrature amplitude modulator |
US4972457A (en) * | 1989-01-19 | 1990-11-20 | Spectrum Information Technologies, Inc. | Portable hybrid communication system and methods |
US5020058A (en) * | 1989-01-23 | 1991-05-28 | Stratacom, Inc. | Packet voice/data communication system having protocol independent repetitive packet suppression |
NZ232222A (en) | 1989-01-27 | 1993-03-26 | British Telecomm | Alternate burst communication for cordless phones: burst formats |
US5208850A (en) | 1989-02-09 | 1993-05-04 | Fujitsu Limited | Multi-media information service center and multi-media communication system |
CA2012868C (en) | 1989-03-23 | 1994-03-22 | Shin-Ichiro Hayano | Call control with transmission priority in a packet communication network of an atm type |
US4912756A (en) * | 1989-04-07 | 1990-03-27 | Unilink Corporation | Method and apparatus for error-free digital data transmission during cellular telephone handoff, etc. |
JPH02272500A (en) | 1989-04-13 | 1990-11-07 | Fujitsu Ltd | Code driving voice encoding system |
IT1230235B (en) * | 1989-06-07 | 1991-10-18 | Telettra Spa | STRUCTURING AND PACKAGE TRANSMISSION OF THE INFORMATION GENERATED BY CODER FOR VIDEO SIGNALS. |
US5036513A (en) * | 1989-06-21 | 1991-07-30 | Academy Of Applied Science | Method of and apparatus for integrated voice (audio) communication simultaneously with "under voice" user-transparent digital data between telephone instruments |
US5261027A (en) | 1989-06-28 | 1993-11-09 | Fujitsu Limited | Code excited linear prediction speech coding system |
JPH0332228A (en) * | 1989-06-29 | 1991-02-12 | Fujitsu Ltd | Gain-shape vector quantization system |
US5062133A (en) * | 1989-07-07 | 1991-10-29 | Logotronix Incorporated | Multi-function telephone call management system |
JPH0344218A (en) | 1989-07-12 | 1991-02-26 | Fujitsu Ltd | Adaptive echo canceller |
FR2651077B1 (en) | 1989-08-18 | 1994-06-10 | Letourneur Gregoire | DEVICE FOR TREATING ECHO, ESPECIALLY ACOUSTIC, IN A TELEPHONE LINE |
CA2026558C (en) | 1989-09-28 | 1994-07-05 | Kensaku Fujii | Adaptive digital filter including low-pass filter |
US5095497A (en) | 1989-10-02 | 1992-03-10 | At & T Bell Laboratories | Technique for achieving the full coding gain of encoded digital signals |
US5001710A (en) * | 1989-10-24 | 1991-03-19 | At&T Bell Laboratories | Customer programmable automated integrated voice/data technique for communication systems |
CA2001277C (en) * | 1989-10-24 | 1994-07-12 | Bruce Leigh Townsend | Hands free telecommunications apparatus and method |
WO1991007038A2 (en) | 1989-11-03 | 1991-05-16 | Microcom Systems, Inc. | Method and apparatus for effecting efficient transmission of data |
US5051720A (en) * | 1989-11-13 | 1991-09-24 | Secure Telecom, Inc. | Remote control system using power line of remote site |
US5083310A (en) * | 1989-11-14 | 1992-01-21 | Apple Computer, Inc. | Compression and expansion technique for digital audio data |
US4977591A (en) * | 1989-11-17 | 1990-12-11 | Nynex Corporation | Dual mode LMS nonlinear data echo canceller |
US5175817A (en) | 1989-11-20 | 1992-12-29 | Digital Equipment Corporation | Data representation protocol for communications between different networks |
US5136586A (en) | 1989-12-04 | 1992-08-04 | Academy Of Applied Science | Method and apparatus for telephone line multiplex channeling of toll-quality voice and digital information |
JPH03226051A (en) | 1990-01-31 | 1991-10-07 | Fujitsu Ltd | Speed notice system for modulator-domodulator |
US5044010A (en) * | 1990-03-29 | 1991-08-27 | At&T Bell Laboratories | Arrangement and method for selecting an available communication channel for a cordless telephone |
JPH03280797A (en) * | 1990-03-29 | 1991-12-11 | Nec Corp | Data line terminal device in customer station equipment |
US5065395A (en) * | 1990-04-09 | 1991-11-12 | Dsc Communications Corporation | Rudimentary digital speech interpolation apparatus and method |
US5054055A (en) | 1990-04-26 | 1991-10-01 | Bell Atlantic Network Services, Inc. | Telephone system and method for the intelligent use of individual calling line identification information |
NL9001016A (en) | 1990-04-27 | 1991-11-18 | Philips Nv | DIGITAL ECHO COMPENSATOR WITH A DOUBLE-VOICE DETECTOR. |
JP2823320B2 (en) | 1990-05-23 | 1998-11-11 | 株式会社東芝 | Modem pooling system |
US5127041A (en) | 1990-06-01 | 1992-06-30 | Spectrum Information Technologies, Inc. | System and method for interfacing computers to diverse telephone networks |
US5127046A (en) | 1990-06-18 | 1992-06-30 | Compaq Computer Corporation | Push/pull modem interface circuit |
US5127001A (en) * | 1990-06-22 | 1992-06-30 | Unisys Corporation | Conference call arrangement for distributed network |
US5115429A (en) * | 1990-08-02 | 1992-05-19 | Codex Corporation | Dynamic encoding rate control minimizes traffic congestion in a packet network |
EP0474172A3 (en) | 1990-09-06 | 1993-03-03 | Teletron Ltd. | Telephone line monitoring apparatus and method |
JP2503747B2 (en) | 1990-09-12 | 1996-06-05 | 日本電気株式会社 | FIR type eco-canceller |
JPH04123621A (en) | 1990-09-14 | 1992-04-23 | Nippon Telegr & Teleph Corp <Ntt> | Echo eraser |
US5473676A (en) | 1990-09-27 | 1995-12-05 | Radish Communications Systems, Inc. | Telephone handset interface for automatic switching between voice and data communications |
US5365577A (en) | 1990-09-27 | 1994-11-15 | Radish Communications Systems, Inc. | Telecommunication display system |
US5444770A (en) | 1990-09-27 | 1995-08-22 | Radish Communications Systems, Inc. | Telephone handset interface for automatic switching between voice and data communications |
US5164982A (en) | 1990-09-27 | 1992-11-17 | Radish Communications Systems, Inc. | Telecommunication display system |
US5493609A (en) | 1990-09-27 | 1996-02-20 | Radish Communications Systems, Inc. | Telecommunication system for automatic switching between voice and data communications |
US5193110A (en) | 1990-10-09 | 1993-03-09 | Boston Technology, Incorporated | Integrated services platform for telephone communication system |
US5247591A (en) | 1990-10-10 | 1993-09-21 | Interfax, Inc. | Method and apparatus for the primary and secondary routing of fax mesages using hand printed characters |
JPH04168973A (en) | 1990-10-31 | 1992-06-17 | Toshiba Corp | Power supply circuit and driving circuit employing said power supply circuit |
FR2669657B1 (en) | 1990-11-28 | 1993-01-22 | Ollivier Jean | TEMPORARY SIGNALING ELEMENT FOR PUBLIC HIGHWAY. |
EP0488685B1 (en) | 1990-11-29 | 2000-11-02 | Fujitsu Limited | ISDN interface unit |
CA2051029C (en) | 1990-11-30 | 1996-11-05 | Pradeep S. Sindhu | Arbitration of packet switched busses, including busses for shared memory multiprocessors |
GB2251097B (en) | 1990-12-08 | 1995-05-10 | Dowty Information Systems | An adaptive data compression system |
US5214656A (en) | 1990-12-13 | 1993-05-25 | At&T Bell Laboratories | Multiplexed coded modulation with unequal error protection |
NL9002790A (en) | 1990-12-18 | 1992-07-16 | Philips Nv | ECHO COMPENSATOR WITH IMPROVED DOUBLE-VOICE DETECTION. |
FR2670973B1 (en) | 1990-12-19 | 1994-04-15 | Ouest Standard Telematique Sa | PACKET TRANSMISSION SYSTEM WITH DATA COMPRESSION, METHOD AND EQUIPMENT THEREOF. |
US5263019A (en) | 1991-01-04 | 1993-11-16 | Picturetel Corporation | Method and apparatus for estimating the level of acoustic feedback between a loudspeaker and microphone |
US5187591A (en) | 1991-01-24 | 1993-02-16 | Micom Communications Corp. | System for transmitting and receiving aural information and modulated data |
JP2842026B2 (en) | 1991-02-20 | 1998-12-24 | 日本電気株式会社 | Adaptive filter coefficient control method and apparatus |
DE69213436T2 (en) | 1991-02-21 | 1997-01-09 | Vmx Inc | INTEGRATED APPLICATION CONTROLLED CALL PROCESSING AND MESSAGE SYSTEM |
US5341374A (en) | 1991-03-01 | 1994-08-23 | Trilan Systems Corporation | Communication network integrating voice data and video with distributed call processing |
JPH0739968B2 (en) | 1991-03-25 | 1995-05-01 | 日本電信電話株式会社 | Sound transfer characteristics simulation method |
US5150410A (en) | 1991-04-11 | 1992-09-22 | Itt Corporation | Secure digital conferencing system |
WO1992019062A1 (en) | 1991-04-15 | 1992-10-29 | Northern Telecom Limited | Current limited circuit for subscriber interface |
US5283638A (en) | 1991-04-25 | 1994-02-01 | Compuadd Corporation | Multimedia computing and telecommunications workstation |
US5283819A (en) | 1991-04-25 | 1994-02-01 | Compuadd Corporation | Computing and multimedia entertainment system |
US5276731A (en) | 1991-04-26 | 1994-01-04 | Rolm Company | Method and apparatus for handling incoming telephone calls |
US5526423A (en) | 1991-05-08 | 1996-06-11 | Canon Kabushiki Kaisha | Communication apparatus and method with service execution according to dial number |
US5479407A (en) | 1991-05-24 | 1995-12-26 | Ko; Cheng-Hsu | Channel utilization method and system for ISDN |
TW327488U (en) | 1991-05-29 | 1998-02-21 | Video Tech Eng | Digital cordless telephone apparatus |
US5206900B1 (en) | 1991-05-31 | 1998-06-09 | David Callele | Automated attendant |
JP3432822B2 (en) | 1991-06-11 | 2003-08-04 | クゥアルコム・インコーポレイテッド | Variable speed vocoder |
DE69221949T2 (en) | 1991-06-13 | 1998-04-02 | Nec Corp | Method and device for echo cancellation in a digital telecommunications system |
FR2677831B1 (en) | 1991-06-17 | 1994-12-09 | Apple Computer | MODEM WITH AN IMPROVED LINE INTERFACE CIRCUIT, ESPECIALLY FOR A COMPUTER. |
FR2678121B1 (en) * | 1991-06-18 | 1994-04-29 | Matra Communication | DEVICE FOR INSERTING DIGITAL PACKETS IN A TRANSMISSION CHANNEL. |
US5379292A (en) * | 1991-07-08 | 1995-01-03 | Naldec Corporation | Apparatus having priority order storages for recovery from failure of multiplex data transmission |
US5307413A (en) | 1991-07-19 | 1994-04-26 | Process Software Corporation | Method and apparatus for adding data compression and other services in a computer network |
US5233606A (en) * | 1991-08-02 | 1993-08-03 | At&T Bell Laboratories | Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment |
US5379340A (en) | 1991-08-02 | 1995-01-03 | Betterprize Limited | Text communication system |
US5444704A (en) | 1991-08-12 | 1995-08-22 | At&T Corp. | Dial restoral method and apparatus |
US5309562A (en) | 1991-08-19 | 1994-05-03 | Multi-Tech Systems, Inc. | Method and apparatus for establishing protocol spoofing from a modem |
US5233660A (en) | 1991-09-10 | 1993-08-03 | At&T Bell Laboratories | Method and apparatus for low-delay celp speech coding and decoding |
JP3226945B2 (en) | 1991-10-02 | 2001-11-12 | キヤノン株式会社 | Multimedia communication equipment |
GB2260670A (en) | 1991-10-18 | 1993-04-21 | * Norm Pacific Automation Corporation | Multi-functional telephone system with speech recognition and control device |
US5371853A (en) | 1991-10-28 | 1994-12-06 | University Of Maryland At College Park | Method and system for CELP speech coding and codebook for use therewith |
US5377260A (en) | 1991-12-05 | 1994-12-27 | Sierra Semiconductor Corporation | Telephone circuit to control off-hook status during receipt of caller-ID signal |
US5276703A (en) | 1992-01-13 | 1994-01-04 | Windata, Inc. | Wireless local area network communications system |
US5425089A (en) | 1992-01-27 | 1995-06-13 | Chan; John Y. | Low cost telephone caller identification device and method |
US5305312A (en) | 1992-02-07 | 1994-04-19 | At&T Bell Laboratories | Apparatus for interfacing analog telephones and digital data terminals to an ISDN line |
CA2086694C (en) | 1992-03-05 | 1996-12-31 | Steven K. Miller | System, data processing method and program to provide a programmable interface between a workstation and an archive server to automatically store telephone transaction information |
US5249218A (en) | 1992-04-06 | 1993-09-28 | Spectrum Information Technologies, Inc. | Programmable universal interface system |
US5295136A (en) | 1992-04-13 | 1994-03-15 | Motorola, Inc. | Method of performing convergence in a, least mean square, adaptive filter, echo canceller |
US5550649A (en) | 1992-05-14 | 1996-08-27 | Current Logic Systems, Inc. | Multi-function telecommunications instrument |
US5282197A (en) | 1992-05-15 | 1994-01-25 | International Business Machines | Low frequency audio sub-channel embedded signalling |
US5327520A (en) | 1992-06-04 | 1994-07-05 | At&T Bell Laboratories | Method of use of voice message coder/decoder |
JPH066428A (en) | 1992-06-18 | 1994-01-14 | Nec Corp | Telephone set with incoming call identifying function |
US5235660A (en) | 1992-07-10 | 1993-08-10 | Peachtree Fiberoptics, Inc. | Graded polymer optical fibers and process for the manufacture thereof |
US5388150A (en) | 1992-07-28 | 1995-02-07 | Schneyer; Robin | Automatic incoming telephone call identification and disposition system |
US5301246A (en) | 1992-07-29 | 1994-04-05 | At&T Bell Laboratories | Data communications equipment security device using calling party directory number |
US5343473A (en) | 1992-08-07 | 1994-08-30 | International Business Machines Corporation | Method of determining whether to use preempt/resume or alternate protocol for data transmission |
US5317604A (en) | 1992-12-30 | 1994-05-31 | Gte Government Systems Corporation | Isochronous interface method |
JP2546120B2 (en) | 1993-01-05 | 1996-10-23 | 日本電気株式会社 | Error correction concatenated coding method |
US5463616A (en) | 1993-01-07 | 1995-10-31 | Advanced Protocol Systems, Inc. | Method and apparatus for establishing a full-duplex, concurrent, voice/non-voice connection between two sites |
JPH06318951A (en) | 1993-01-07 | 1994-11-15 | Toshiba Corp | Method and system for transferring cell |
US5452289A (en) | 1993-01-08 | 1995-09-19 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5535204A (en) | 1993-01-08 | 1996-07-09 | Multi-Tech Systems, Inc. | Ringdown and ringback signalling for a computer-based multifunction personal communications system |
US5453986A (en) | 1993-01-08 | 1995-09-26 | Multi-Tech Systems, Inc. | Dual port interface for a computer-based multifunction personal communication system |
US5406557A (en) | 1993-02-01 | 1995-04-11 | National Semiconductor Corporation | Interenterprise electronic mail hub |
DE69432928T2 (en) | 1993-02-17 | 2004-05-13 | Silicon Systems, Inc., Tustin | TEMPERATURE COMPENSATION FOR TRANSHYBRID LOSS IN A MINIATURIZED DATA ACCESS ARRANGEMENT |
JP3290231B2 (en) | 1993-03-02 | 2002-06-10 | 株式会社日立製作所 | Audio-visual communication device |
WO1994023526A1 (en) | 1993-03-26 | 1994-10-13 | Sni Innovation, Inc. | Automatic routing of incoming telephone calls to a plurality of receiving devices based on caller identification |
US5355365A (en) | 1993-03-31 | 1994-10-11 | Multi-Tech Systems, Inc. | Intelligent local area network modem node |
US5483576A (en) | 1993-03-31 | 1996-01-09 | Data Race, Inc. | Method and apparatus for communicating data over a radio transceiver with a modem |
US5384780A (en) | 1993-05-14 | 1995-01-24 | Codex Corporation | High speed modem, method and system for achieving synchronous data compression |
US5448555A (en) | 1993-06-14 | 1995-09-05 | At&T Corp. | Simultaneous analog and digital communication |
JPH0758830A (en) | 1993-08-13 | 1995-03-03 | Hashimoto Corp | Telephone terminal set having call interrupt detection means |
IL106746A (en) | 1993-08-19 | 1997-02-18 | News Datacom Ltd | CATV systems |
US5472351A (en) | 1993-10-06 | 1995-12-05 | U.S. Robotics, Inc. | Personal computer modem card interface construction |
US5479475A (en) | 1993-11-15 | 1995-12-26 | Qualcomm Incorporated | Method and system for providing communication between standard terminal equipment using a remote communication unit |
US5457601A (en) | 1993-12-08 | 1995-10-10 | At&T Corp. | Credit card-sized modem with modular DAA |
US5515398A (en) | 1994-03-15 | 1996-05-07 | U.S. Robotics, Inc. | Modem line probing signal techniques |
US5390239A (en) | 1994-03-17 | 1995-02-14 | Morris; Gregory A. | Method for increasing digital data throughput over telephone lines |
US5438614A (en) | 1994-05-25 | 1995-08-01 | U.S. Robotics, Inc. | Modem management techniques |
US5416776A (en) | 1994-05-27 | 1995-05-16 | U.S. Robotics, Inc. | Modem backplane techniques |
JPH089017A (en) | 1994-06-23 | 1996-01-12 | Matsushita Electric Ind Co Ltd | Automatic answering telephone system |
US5546448A (en) | 1994-11-10 | 1996-08-13 | Multi-Tech Systems, Inc. | Apparatus and method for a caller ID modem interface |
GB2299482B (en) | 1995-03-24 | 1999-03-17 | Northern Telecom Ltd | Telephone circuit |
US5699417A (en) | 1995-04-21 | 1997-12-16 | Cidco Incorporated | Text transmission using DTMF signalling |
US5675640A (en) | 1995-05-19 | 1997-10-07 | Lucent Technologies Inc. | Telephone ringing signal detector |
US5745558A (en) | 1995-10-27 | 1998-04-28 | United States Advanced Network, Inc. | Three-way call detection and response system |
JP3162052B1 (en) | 1999-07-09 | 2001-04-25 | 松下電器産業株式会社 | Optical disc, recording device, reproducing device, recording method and reproducing method thereof |
-
1994
- 1994-11-02 US US08/333,365 patent/US5757801A/en not_active Expired - Lifetime
-
1995
- 1995-04-18 AT AT95917143T patent/ATE196708T1/en not_active IP Right Cessation
- 1995-04-18 JP JP52781695A patent/JP3193054B2/en not_active Expired - Fee Related
- 1995-04-18 CA CA002188171A patent/CA2188171C/en not_active Expired - Fee Related
- 1995-04-18 WO PCT/US1995/005034 patent/WO1995029576A2/en active IP Right Grant
- 1995-04-18 EP EP95917143A patent/EP0756796B1/en not_active Expired - Lifetime
- 1995-04-18 EP EP99200742A patent/EP0998092A3/en not_active Withdrawn
- 1995-04-18 DE DE69518980T patent/DE69518980T2/en not_active Expired - Fee Related
-
1997
- 1997-06-30 US US08/885,534 patent/US6275502B1/en not_active Expired - Fee Related
-
2000
- 2000-03-27 US US09/536,309 patent/US6570891B1/en not_active Expired - Fee Related
-
2002
- 2002-10-15 US US10/272,463 patent/US20030152105A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JPH09512402A (en) | 1997-12-09 |
CA2188171A1 (en) | 1995-11-02 |
EP0998092A3 (en) | 2001-05-02 |
WO1995029576A3 (en) | 1996-06-13 |
ATE196708T1 (en) | 2000-10-15 |
EP0998092A2 (en) | 2000-05-03 |
EP0756796B1 (en) | 2000-09-27 |
JP3193054B2 (en) | 2001-07-30 |
US6570891B1 (en) | 2003-05-27 |
DE69518980D1 (en) | 2000-11-02 |
DE69518980T2 (en) | 2001-03-15 |
EP0756796A1 (en) | 1997-02-05 |
US5757801A (en) | 1998-05-26 |
US20030152105A1 (en) | 2003-08-14 |
WO1995029576A2 (en) | 1995-11-02 |
US6275502B1 (en) | 2001-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2188171C (en) | Data/voice/fax advanced priority statistical multiplexer | |
US5682386A (en) | Data/voice/fax compression multiplexer | |
US5812534A (en) | Voice over data conferencing for a computer-based personal communications system | |
EP0331094B1 (en) | Multimedia data transmission system | |
US6721282B2 (en) | Telecommunication data compression apparatus and method | |
ES2427434T3 (en) | Procedures and apparatus for grouping network signals and reducing bandwidth | |
EP0529104B1 (en) | Telecommunication system | |
US20070121611A1 (en) | Methods and Apparatus for Providing Voice Communications Through a Packet Network | |
CA2233126C (en) | Serial data transmission of variable length mini packets using statistical multiplexing | |
US6009082A (en) | Computer-based multifunction personal communication system with caller ID | |
JPS625745A (en) | Digital circuit multiplexer | |
US6330613B1 (en) | System for dynamically downloading a software image to a digital modem | |
CN1242893A (en) | Method for propagation delay control | |
WO1999018728A1 (en) | Interconnecting multimedia data streams having different compressed formats | |
US6212228B1 (en) | Apparatus for modulation and demodulating digital data | |
US20020015415A1 (en) | Transmission apparatus capable of transmitting high speed modem signal | |
US6041064A (en) | Voice server module for ATM switch | |
US6466546B1 (en) | Communication apparatus for multiplexing and communicating a plurality of types of data, communication system, and control method therefor | |
WO1996015601A2 (en) | Voice over data conferencing communications system | |
JP4311507B2 (en) | How to establish a voice call | |
KR100304010B1 (en) | Dedicated line compression concentrator and transmission system using it | |
CA2204416C (en) | Computer-based multifunction personal communication system with caller id | |
EP1053612A1 (en) | Atm switch voice server module utilizing flag signalling | |
US20030154303A1 (en) | Digital circuit multiplexing device | |
CA2276196A1 (en) | Multiplex information network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |