📄 rfc741.txt
字号:
Following is the definition for the format of the SIMPLE-SIMPLE coding, according to Tables-Set-#1: For each parcel: PITCH 6 bits (PITCH=0 for UNVOICED) GAIN 5 bits I(1) 7 bits I(2) 7 bits I(3) 6 bits I(4) 6 bits I(5) 5 bits I(6) 5 bits I(7) 5 bits I(8) 5 bits I(9) 5 bits I(10) 5 bits where each of the I(j) is an index for inverse sine coding. If K(j)=arcsin(Theta(j)) and N bits are assigned for its transmission, then I(j)=(Theta(j)/Pi)*2**N. Hence at each transmission interval (128 samples times 150 microseconds) 67 bits are sent, which results in a data rate of 3490 bps. Since this bandwidth is well within the capabilities of the network, SIMPLE-SIMPLE coding is used, which requires the least computation by the hosts. Note that this data rate is a peak rate, without the use of silence.Cohen [Page 14]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) 4. EXAMPLES FOR THE CONTROL PROTOCOL Here is an example for a connection: (377) C: 1,<WHO>,<WHOM>,340 Please talk to me on 340/341. (340) A: 2,1 I refuse, since I'm busy. Another example: (377) C: 1,<WHO>,<WHOM>,360 Please talk to me on 360/361. (360) A: 6,350 OK. You talk to me on 350/351. (350) C: 1,<WHO>,<WHOM> I want to talk to you. (360) A: 3,1,1,2 Can you do CVSD? (ANSWERER tries to be the NEGOTIATION MASTER) (350) C: 12,1 I want to be it. (360) A: 13,1 That's OK with me. (350) C: 3,1,1,2 Can you do CVSD? (360) A: 5,1,1 No, but I can do LPC. (350) C: 3,1,1,3 Can you do RELP? (360) A: 5,1,1 No, but I can do LPC. (350) C: 3,1,1,1 How about LPC? (360) A: 4,1,1 LPC is fine with me. (350) C: 3,2,1,150 Can you use 150 microseconds sampling? (360) A: 4,2,150 I can use 150 microseconds. (350) C: 3,4,3,976,1040,2016 Can you use 976, 1040, or 2016 bits/msg? (360) A: 4,4,976 I can use 976. (350) C: 3,5,1,10 Can you send 10 coefficients? (360) A: 4,5,10 I can send 10.Cohen [Page 15]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) (350) C: 3,6,1,64 Can you use a 64 sample transmission? (360) A: 4,6,64 I can use 64. (350) C: 3,7,2,1,2 SIMPLE or OPTIMIZED acoustic coding? (360) A: 4,7,2 OPTIMIZED! (350) C: 3,8,1,1 Can you do SIMPLE info coding? (360) A: 4,8,1 I can do SIMPLE. (350) C: 3,9,1,58 mu = 0.90625? (360) A: 4,9,58 Fine with me. (350) C: 3,10,1 Table set #1? (360) A: 4,10,1 Of course! (350) C: 6 I am ready. (Note: No "RINGING" sent) (350) C: 8 And you? (360) A: 6 I am ready, too. ....... Data is exchanged now, ....... on 351 and 361. (350) C: 10,1234 Echo it, please. (360) A: 11,1234 Here it comes! ....... (360) A: 10,3333 Now ANSWERER wants to measure (350) C: 11,3333 ...the delays, too. ....... (???) X: 2,3 Termination by either user.Cohen [Page 16]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) Another example: (377) C: 1,<WHO>,<WHOM>,360 Please talk to me on 360/361. (360) A: 6,340 Fine. You send on 340/341. (340) C: 1,<WHO>,<WHOM> I want to talk to you. (360) A: 3,3,1,1 Can you use V1? (340) C: 4,3,1 Yes, V1 is OK. (360) A: 3,4,1,1984 Can you use up to 1984 bits/msg? (340) C: 5,4,976 No, but I can use 976. (360) A: 3,4,1,976 Can you use up to 976 bits/msg? (340) C: 4,4,976 I can use 976. (360) A: 9 Ringing (note how short this negotiation is!!). ....... (340) C: 8 Still there? (360) A: 9 Still ringing. ....... (340) C: 8 Still there? (360) A: 9 Still ringing. ....... (340) C: 8 How about it? (360) A: 9 Still ringing. (340) C: 2 Forget it! (No reason given.)Cohen [Page 17]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) APPENDIX 1 THE DEFINITION OF: TABLES-SET-#1 by John D. Markel Speech Communication Research Laboratory Santa Barbara, CaliforniaCohen [Page 18]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) TABLES-SET-#1 This set includes tables for: PITCH - 64 values, PITCH table GAIN - 32 values, GAIN table I( 1) - 128 values, INDEX7 table I( 2) - 128 values, INDEX7 table I( 3) - 64 values, INDEX6 table I( 4) - 64 values, INDEX6 table I( 5) - 32 values, INDEX5 table I( 6) - 32 values, INDEX5 table I( 7) - 32 values, INDEX5 table I( 8) - 32 values, INDEX5 table I( 9) - 32 values, INDEX5 table I(10) - 32 values, INDEX5 table These tables are defined specifically for a sampling period of 150 microseconds.Cohen [Page 19]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) GENERAL COMMENTS The following tables are arranged in three columns, {X(j)}, {j}, and {R(j)}. Note that the entries in the {X(j)} column are half a step off the other columns. This is to indicate that INTERVALS from X-domain (pitch, gain, and the Ks) are mapped into CODES {j}, which are transmitted over the network, to be translated by the receiver into the {R(j)}. These intervals are defined as OPEN-CLOSE intervals. For example, the PITCH value (at the transmitter) of 4131 belongs to the interval "(4024,4131]", hence it is coded as j=6 which is mapped by the receiver to the value 21. Similarly, the value of 2400 for INDEX7 is found to belong to the interval "(2009,2811]", coded into the CODE 3 and mapped back into 2411. Note that if N bits are used by a certain CODE, then there are 2**N+1 entries in the X-table, but only 2**N entries in the R-table. The transformation values used for PITCH, GAIN, and the K-parameters (in the X- and R-tables) are as defined in NSC Note 42. Values above and below the range of the X-table are mapped into the maximum and minimum table indices, respectively. Note that R(J) of INDEX5 is identical to R(2J) of INDEX6, and that R(J) of INDEX6 is identical to R(2J) of INDEX7. Therefore, it is possible to store only the R-table of INDEX7, without the R-tables of INDEX5 and INDEX6. In the SPS-41 implementation there is no need to store any R-table for the K-parameters. The transmitted index can be used directly (with the appropriate scaling) as an index into the SPS built-in TRIG tables. COMMENTS ON THE PITCH TABLE The level J=0 defines the UNVOICED condition. The receiver maps it into the number of samples per frame (here 128). This PITCH table differs significantly from previous tables and supersedes the table published in NSC Note 36. Details of the calculation of the table can be found in NSC Note 42. Immediate questions should be referred to John Markel.Cohen [Page 20]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) COMMENTS ON THE GAIN TABLE The level J=0 defines absolute silence. This table is designed for a maximum of 12-bit A/D input, and allows for a dynamic range of 43.5 dB. NSC Notes 36, 45, 56 and 58 supply background for the GAIN table. Gain is the energy of the pre-emphasized, windowed signal. This table is the NEW GAIN table. NSC Notes 56 and 58 explain the reasoning behind the NEW GAIN. COMMENTS ON THE INDEX7 TABLE Positive values are coded into the range [0-63, decimal]. Negative values are coded into the 7-bits two's complement of the codes of their absolute value [65-127, decimal]. Note that all values -403 < V < 403 are coded as (and mapped into) 0. Note also that the code -64 (100 octal) is never used. In SPS-41 implementation, the R-table is not needed, since TRIG(2J) is the needed value R(J). COMMENTS ON THE INDEX6 TABLE Positive values are coded into the range [0-31, decimal]. Negative values are coded into the 6-bits two's complement of the codes of their absolute values [33-63, decimal]. Note that all values -805 < V < 805 are coded as (and mapped into) 0. Note also that the code -32 (40 octal) is never used. In SPS-41 implementation, the R-table is not needed, since TRIG(4J) is the needed value R(J). COMMENTS ON THE INDEX5 TABLE Positive numbers are coded into the range [0-15, decimal]. Negative numbers are coded into the 5-bits two's complement of their absolute values, i.e., [17-31, decimal]. Note that all values -1609 < V < 1609 are coded as (and mapped into) 0. Note also that the code -16 (20 octal) is never used. In SPS-41 implementation, the R-table is not needed, since TRIG(8J) is the needed value R(J).Cohen [Page 21]NWG/RFC 741 DC 22 Nov 77 42444Specifications for the Network Voice Protocol (NVP) THE PITCH TABLE (as of 10-29-74) X(J) J R(J) X(J) J R(J) X(J) J R(J) 0 6002 10770 0 128* 21 33 42 61 0 6168 11080 1 18 22 34 43 63 3630 6338 11399 2 19 23 35 44 65 3724 6515 11728 3 19 24 36 45 67 3821 6696 12067 4 20 25 37 46 69 3921 6883 12417 5 20 26 38 47 71 4024 7075 12776 6 21 27 39 48 73 4131 7274 13147 7 22 28 40 49 75 4240 7478 13529 8 22 29 41 50 77 4353 7689 13922 9 23 30 43 51 80 4469 7905 14327 10 24 31 44 52 82 4588 8129 14745
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -