f;~:; 7 /9

I The Implementation of a Personal Computer-Based ~ Digital Facsimile Information Distribution System;

A Thesis Presented to

The Faculty of the College of Engineering and Technology

Ohio University

In Partial Fulfillment

of the Requirements for the Degree

Master of Science

by f'it Edward C. Chung; J November, 1991 iii ACKNOWLEDGEMENTS

I would like to take this opportunity to express my sincere gratitude to those people who provided me with encouragement and guidance during the completion of this education endeavor. Special thanks is given to my thesis advisor, Dr. Mehmet Celenk, for his patience, understanding and support throughout the project. His dedication to work and attention to detail have always been my inspiration. I am also grateful to my other committee members; to Dr. Hari Shankar, Dr. Jeffery Dill and Dr. H. Klock for their time and valuable suggestions.

lowe much thanks to Mrs. Lolly Chan and Mr. Issidore Chan ofEDISSI Systems

Technology, Inc., Beverly Hills, C.A., for their invaluable support. Mr. Issidore Chan is an exceptional friend whose suggestions are often inspirational and challenging. Partial funding ofthis project by EDISSI Systems Technology, Inc., is gratefully acknowledged.

Also deserving acknowledgement are the following individuals for their kind assistance. Mr. Timothy Bambeck who provided me with numerous ideas, insights and moral support. And most important of all, his willingness to listen to my problems when things got tough. Mrs. Denise Ragan who gave her time to assist me with things that I could not have lived without. Mr. Bryan Jordan for doing the layout of the printed circuit board used in this project. Mr. Jordan's expertise in printed circuit boards is very much admired. Ms. Lisa Lung for her spiritual and emotional support. She also reminded me of those things which are really essential in my life that I sometimes overlooked.

Lastly, my heartfelt gratitude goes to my family. My grandfather, Mr. Men-han

Cheng, for his love and his confidence in my ability. My sister, Ms. Vivian Chung, for iv her emotional support. My parents, Dora and Eric Chung, for their encouragement, support, love and friendship which I cherish now and will treasure forever. v TABLE OF CONTENTS

ACKNOWLEDGEMENTS iii

1. INTRODUCTION ...... 1

2. INFORMATION TRANSMISSION OVER BAND-LIMITED CHANNELS .. 6

2.1 Information Handling Capacity of a Channel 6

2.2 Intersymbol Interference...... 7

3. THE FAX INFORMATION DISTRIBUTION SYSTEM HARDWARE .... 13

4. SOURCE CODING FAX DOCUMENTS ...... 30

4.1 The Source ...... 32

4.2 Modified Huffman Coding and Recommendation T.4 32

4.3 Optional Coding Schemes Supported by Recommendation T.4 ... .. 38

4.3.1 2-D Modified READ Coding 38

4.3.2 The Three Coding Modes in 2-D Modified READ Coding

...... 40

4.3.3 Two-dimensional Coding Procedure 46

5. SYNCHRONIZATION AND SIGNALLING PROCEDURES 52 vi 5.1 Binary Coded Signal Functions and Formats ...... 52

5.2 Facsimile Call Placement 60

5.3 Description of Facsimile Call Phases 61

5.4 Optional and Non-standard Facilities Call...... 73

5.5 Fax Broadcasting 74

5.6 Polling Called Party ...... 76

6. ERROR CORRECTION SCHEMES IN GROUP 3 FAX TRANSMISSION .. 80

6.1 Error Concealment Techniques ...... 80

6.2 Error Limiting Mode ...... 82

6.3 Error Correction Mode and HDLC Framing ...... 87

7. FAX DOCUMENT CONVERSION FROM OTHER ELECTRONIC

DOCUMENT FORMATS 123

7.1 Converting ASCII Text Files 124

7.2 Decoding PCX Graphics Format Files 128

8. LAN FAX-SERVER 140

8.1 LAN User Initiated Fax Transmission 141

8.2 LAN User Initiated Fax Reception 144

8.3 PSTN User Initiated Fax Services 145 vii

9. CONCLUSION 149

REFERENCES 152 CHAPTER 1

INTRODUCTION

Facsimile, or fax for short, is the method by which written documents or photographic materials are converted into electrical signals, transmitted over telephone lines to reproduce as duplicates at the receiving end. A fax system consists of the mechanisms to transform the graphical materials to electrical signals suitable for transmission over telephone lines, a modem that transmits the signals to the receiving station, and the mechanisms to record and replicate the original documents. One can think of the fax system as a "remote copier machine" or an "instant mail facility."

Although the basic principle of fax communication was known as early as 1843 [1], its real use for business communication did not begin until 1970 [2]. This was the direct result from the lack of any form of standard protocols for fax equipment.

The Consultative Committee on International Telegraph and Telephone (CCITI) realized the need for such standards and developed the Group 1 Fax Recommendation in 1968. Even though Group 1 units generally worked better than the earlier fax systems, they were slow (requiring four to six minutes of transmission time for an A4 size document) and the copies produced were ofpoor quality. Few manufacturers adopted this standard. The CCITI Group 2 Recommendation came eight years later, in 1976, to improve the performance of Group 1 machines.

Although Group 1 and Group 2 fax standards had triggered the worldwide acceptance of fax communication, their techniques were inherently slow and produced low-resolution copies. It was until 1980 when the CCITI developed the Group 3 Recommendation for digital facsimile, that marked the new era of fax 2 communication. In fact, the first digital facsimile system made its debut' eleven years before the Group 3 standard was recommended. During this time, different coding techniques were developed to improve the performance of digital facsimile. Among the many coding schemes, some of them are one-dimensional (I-D) run-length codes; e.g.,

Bl-code [3], Truncated Huffman code [4] and Modified Huffman code [5], which utilize the statistical dependency of adjacent pictures within individual scan lines.

Other more complex schemes; e.g., Kalle-Infotec code [6], Dacom code [7],

Kokusai Denshin Denwa code [8] and TUH-code [9], which also exploit the line-to- line dependencies in a picture are denoted as two-dimensional (2-D) coding [10].

The standardization of Group 3 digital facsimile apparatus resulted in universally compatible fax systems that are reliable, efficient and produce high quality copies.

Consequently, the fax growth rate was doubled in 1987 and in 1988, making a worldwide population of over fourteen million Group 3 digital fax apparatus by the end of 1989. It was predicted that this number would be doubled by the year 1991 [11].

As the demand for fax communication increases, the cost of stand-alone fax units drops substantially. However low-end fax units still lack the useful features such as regular (instead of thermal) paper output, fax broadcasting to a group of recipients, automatic resending upon error, etc.. Even high-end fax units may not be suitable for use as networking fax-stations or electronic document storage devices. The solution is to employ computer-based facsimile systems. Similar systems were used in the design of

1 The first digital facsimile made its debut in 1969. This was the DACOM's Rapidfax 100 utilizing the single-line adaptive ron-length coding algorithm patented by Donald Weber. 3 document delivery systems such as the ARTEMIS [12] and the request for quote

(RFQ) system utilized by the Houston Lighting and Power Company with proven success.

A PC-based fax adapter employs the programming power and the mass storage facilities of the personal computer (PC). This allows the PC to emulate the advanced features of a Group 3 fax system. With features that expedite the document delivery process, the popularity of PC-based facsimile adapters is growing rapidly. Nevertheless, none of the existing units can be considered as an integral part of the information distribution system [13]. Interfacing the existing systems to commercially available wordprocessors, graphics editors and desktop publishers are limited and none deals with interfacing to image databases. Error correction mode and LAN fax server implementations are rare and expensive. Furthermore, some of these adapters are either command-line-driven or carry awkward user interfaces making them very hard to use.

This thesis describes an information distribution system that merges the personal computer and facsimile technologies to enhance and expand the capabilities of existing stand-alone Group 3 facsimile machines (see Figure 1). The goal is to identify and develop mechanisms to:

1. dispatch or receive a page of text or graphical material to or from any place on

the globe within one minute,

2. maintain an accurate reproduction of the original documents,

3. provide universal compatibility that allows message exchanging with all Group 3

fax terminals regardless of their make or model, 4 4. automate sending and receiving processes in a user-friendly, menu-driven PC

based environment to minimize human intervention,

5. integrate information dispatching with existing PC wordprocessors, graphics

editors, desktop publishers and image databases,

6. maintain reliable transmissions via noisy telephone lines by incorporating an error

correction scheme,

7. facilitate the implementation of a Local Area Network (LAN) fax sever, and

8. provide a cost effective solution for information exchange that rivals existing

document delivery systems.

The remaining part of this thesis is organized as follows. Chapter 2 addresses problems involved with information transmissions over band-limited channels. The implementation of the PC-based fax adapter is described in Chapter 3. Chapter 4 presents the source coding techniques that deal with the task of forming efficient descriptions of source information used in fax transmissions. Chapter 5 is devoted to the synchronization and signal procedures described by the T.30 recommendations for Group 3 fax units.

Chapter 6 deals with High-level Data Link Control (HDLC) framing and error correction schemes. Chapter 7 treats fax document conversion from different text and graphical materials and discusses the integration with an image database. The implementation of a LAN fax server is presented in Chapter 8. The LAN fax server is configured as a spooler that schedules fax transmission jobs; similar to a printer spooler. The conclusion of the thesis is in Chapter 9. 5

Standalone FAX-1 Standalone FAX-2

~ (PSTN) ~

11111111/1111111 1111111111111111

Fax Server

D (LA N) {~UMMfter ~\ J n.~\\ Workstation-1 Workstation-2

Workstation-3 D

~ 1111111111111111 ~ o 11111111111111' Database[Fileserver Network Printer Figure 1 General overview of the fax information distribution server. 6 CHAPTER 2

INFORMATION TRANSMISSION OVER BAND-LIMITED CHANNELS

The facsimile information distribution system discussed here would not be feasible if private dedicated communication links or channels were required. A private channel is expensive to maintain and limits the number of subscribers it can attain. The solution is to tab into existing public communication resources such as the standard phone lines, also known as the PSTN (Public Switched Telephone Network).

2.1 Information Handling Capacity of a Channel

A problem with the standard phone lines, or the PSTNs, is that they were designed to handle voice and cannot be used to transmit pulse signals. The bandwidth of standard phone lines is only about 3000 Hz. Transmitting digital signals through this low- pass media distorts the signals considerably.

From the basic information theory standpoint, Shannon [14] stated that if the input information rate to a band-limited channel is less than the capacity C in bits per

2 second (bps) , a code exists for which the error rate approaches zero as the message length becomes infinite. Conversely, if the input rate exceeds the channel capacity C, the error rate cannot be reduced below some finite positive number.

The PSTN is a voice channel which can be approximated by a Gaussian band-

2. In Shannon's paper, the unit for channel capacity C is bits per second (bps). Since his equations are derived for binary systems, the units bits per second and are interchangeable within that context. 7 limited channel (GBLC) with additive Gaussian noise. Consider a signal wave with mean power of S watts applied to the input of an ideal low-pass filter that has a bandwidth of

W hertz and contains an internal Gaussian noise with mean power of N watts uniformly distributed over the . Shannon proved that the maximum capacity of an ideal channel can be expressed as

C = W·log2(1 + SIN) bps (1)

Neglecting all other impairments, some typical values for a voice-grade analog channel for data transmission are W = 3000 hertz, S = 0.0001 watts (-1OdBm), N = 0.0000004 watts (-34dBm). Applying Shannon's capacity formula with these numbers, the value of

Cis

C = 3ooo·log2(1 + 250) = 24,000 bps

However, we can seldom achieve a rate greater than 3,000 baud because there are no ideal modems and numerous perturbations in every real channel exist besides those taken into account by Shannon's equation. Nevertheless, this equation provides an upper theoretical bound to a binary channel. It is important to realize that, due to the nature of the function log., the value of C can be increased more readily by increasing

W rather than by increasing the signal-to-noise ratio (SIN).

2.2 Intersymbol Interference

Another important aspect which tends to reduce the achievable channel capacity,

C, has not been accounted for in Shannon's equation is intersymbol (or interbit) 8 interference. If a rectangular pulse is input to a band-limited channel, the pulse tends not to die out immediately and the bandwidth limitation of the channel rounds the "comers" of the pulse which causes overshoots or "tails" to appear at the output signal. As depicted in Figure 2 the overshoot parts will interfere with previous or subsequent pulses, adding uncertainty to the signal; i.e., the signal may be misinterpreted at the receiving end.

Nyquist analyzed the intersymbol interference problem and developed an ideal rounded pulse shape for which the disturbances are minimized [15]. This resulted in the definition of the Nyquist rate as 2W symbols per second, where W is the bandwidth in hertz of the band-limited channel. In binary transmission we are limited to 2W bps, where a symbol is a single bit that represents either a 1 or a O. As in the case of voice- grade phone lines, W = 3,000 Hz, the maximum data rate attainable is 6000 bps even if no noise exists on the line. At this data rate, it may not be possible to transmit an A4­ size fax document within a minute. The major issue in designing the proposed PC-based fax system is to increase the data rate, preferably more than 6000 bps, while keeping the error rate reasonable.

h(t) input pulse Output

Overshoot

t

Figure 2 Pulse response through a band-limited channel 9 Data rate cannot be increased by sampling the faster. This approach is ineffective since the higher frequency components that such sampling could recover would be filtered out by the low-pass property of the channel. If the signals consist of M discrete symbols or levels then the maximum data rate based on Nyquist's theorem is:

R = 2W·log~ bps (2)

By increasing the number of M discrete levels, the maximum data rate can be increased without the cost of expanding the bandwidth. This can be achieved by adopting an appropriate signalling scheme. The modulation method CCITT adopted for Group 3 fax units to transmit data at a rate of 9600 bps is called 16-QAM [16,17,18,19]

(Quadrature ). The term "16" in 16-QAM signifies that the modulation scheme produces 16 discrete levels; i.e., encoding 4 bits of digital data, at a time. QAM signalling is also known as amplitude phase keying (APK) since it is a combination of amplitude shift keying (ASK) and phase shift keying (PSK). The specification of the CCITT 16-QAM modem is described in Recommendation V.29. It utilizes eight phases with two possible signal amplitudes at each phase change to represent a total of sixteen different states.

The carrier frequency for the V.29 modem is 1700 Hz and it operates at a modulation speed of 2400 baud. This modem is specified to operate at 9600 bps with automatic fallback mechanisms to rates at 7200 bps and 4800 bps. It includes an automatic adaptive equalizer [20] to compensate for amplitude and group delay 10 distortions in the telephone line. Group delay is caused by signals at higher frequencies propagating faster than signals at lower frequencies through the .

Since the characteristics of channel distortion depend on the telephone line connection route, the equalizer is automatically adjusted for each line connection. The data stream to be transmitted is scrambled, then divided into sets of four bits (quadbits). The first bit (Q1) of each quadbit determines the amplitude of the transmitted signal. The remaining three bits (Q2, Q3 and Q4) determine the phase shift to be applied. The resultant signal space diagram shown in Figure 3 is often called the constellation pattern.

The purpose of scrambling is to randomize data so that the energy of the modulated carrier is spread over the transmitted bandwidth. The result is to make each possible value of phase angle to have an equal chance of occurrence. This provides the receiver demodulator with enough phase shifts to recover the clocking signal from the received data. Naturally a descrambler is included in the design to decode the scrambled information back into the original form.

At the fallback rate of 7200 bps, only three bits per baud are encoded and there is no amplitude change. At the fallback rate of 4800 bps, two bits per baud are encoded and they specify only four phase shifts. Both of these constellation patterns are shown in Figures 4 and 5. 11

Rel8tlwe Signal AbllOlu"~ Q1 Element Amplitude 0 3 0°,90°, 180°,2700 1 5 0 v-r 45°.135°,225°,3150 1 3V2

Bit Ql Determines Amplitude

Q2 Q3 Q4 Pha8e Change·

0 0 1 00 0 0 0 45° 0 1 0 goo 0 1 1 1350 1 1 1 1SOO 1 1 0 2250 1 0 0 2700 1 0 1 3150

-Note - The phase change is the actual on-line phase shift in the transition reg40n from the center 01 one signaling element to the center of the tollowing signaling element.

Bits Q2, Q3 and Q4 Determine Phase Shift

180-_ ...... --.....-.~__--a.--__t --....- 00 ABSOLUTE 5

27fr

Figure 3 Signal Space Diagram for a V.29 modem operating at 9600 bps. 12

45 0

270 0 Figure 4 Constellation pattern of a V.29 modem operating at 7200 bps.

180°----888811------

Figure 5 Constellation pattern of a V.29 modem operating at 4800 bps. 13 CHAPTER 3

THE FAX INFORMATION DISTRIBUTION SYSTEM HARDWARE

The information distribution system discussed in this thesis consists of two main

components; hardware interface and system software. This chapter is devoted to the

hardware. Three approaches are considered in this hardware implementation. The relative

merits of each approach are presented below.

Approach 1 utilizes a programmable processing (DSP) integrated circuit (IC). This approach requires the DSP chip to be programmed with various modem

specifications including CCITT V.29, V.27ter, V.23 and V.21. The T.4 and T.30 facsimile protocols are implemented in software and executed by the host computer. The advantage of this approach is that the DSP chip can be programmed to support future modem specifications without the need for redesigning the hardware. For instance, the

DSP chip can be reprogrammed to include support for the recently approved CCITT

modem specification V.17. This specification defines a 14,400 bps high speed modem to be incorporated as an option for Group 3 fax units. The 14,400 bps data rate is achieved by Trellis-coded modulation [21,22]. This approach is versatile but requires an expensive nsp chip. Furthermore, the complexity entails in programming and debugging the hardware make this method less desirable.

Approach 2 utilizes a specialized fax modem chip set. A typical modem chip set includes a single-chip modem [23] that has all the required modem specifications

built in, and a specialized microcontroller that interfaces directly to the modem. Adding

a microcontroller to the design increases cost and power consumption. However, this 14 approach gains the advantage ofperforming the T. 4 and T. 30 functions off line from the host computer. In this case, the host computer devotes its time on graphics conversion, routing, and scheduling various fax services.

Approach 3 has certain advantages of approaches 1 and 2 without adding the cost of a microcontroller. It utilizes a specialized single-chip fax modem to handle all the modem functions while using the host PC to process the T.4 and T.30 protocols. In addition, the PC is responsible for converting, scheduling, and routing fax documents.

Since this design is less expensive and easier to implement and debug comparing to the former approaches, it is chosen for this thesis. In order to handle the computationally intensive jobs demanded from the host computer, an AT-class PC with a 12 MHz 80286

CPU, running at O-wait state, is employed. The system software is programmed to run under MS/PCDOS version 3.0 or above. The software, including the T. 4 and T. 30 protocols, is written in C. The C compiler used for this project is Turbo C 2.0. With sufficient system memory and a fast-access hard disk, the PC-based fax system is capable of handling fax jobs required by a typical business office.

The MD96DX [24] single-chip modem manufactured by Yamaha Corporation is selected for this project. It is designed for synchronous communication conforming with the CCITT specifications V.29 (9600 or 7200 bps, half-duplex), V.27ter (4800 or

2400 bps, half-duplex), V.21ch2 (300 bps, half-duplex) and V.2l (300 bps, full-duplex).

The MD96DX is designed with considerations for use with PSTNs. It has built-in programmable functions to generate and detect dual-tone multifrequency (DTMF) tones.

The MD96DX also provides hardware HDLC framing functions. This feature simplifies 15 the implementation of the optional Group 3 error correction mode (ECM). The internal analog to digital (A/D) and digital to analog (D/A) converters of the MD96DX are programmable todigitize and play back voice messages with high fidelity. These features of the MD96DX enables interactive voice and fax functions to be implemented with only a simple external circuitry.

The fax modem interfaces to the host computer through the PC's parallel system bus, called the Industrial System Architecture (ISA) bus. The complete hardware, as shown in Figure 6, is organized into eight functional blocks: ISA bus, address decoder, data buffer, modem IC, speaker circuit, analog front end circuit, telephone line interface and diagnostic circuit. The following sections describe these blocks in more detail.

_~ SPEAKER ~ CIRCUIT

en :::l ~ m ~

CONmOL SIGNALS

EYE PATTERN ..._ CRYSTAL OSCILlATOR CIRCUIT

Figure 6 Facsimile communication hardware block diagram. 16 ISA bus:

The ISA bus provides all the necessary address, data and control signals for interfacing a peripheral with the host computer. It also provides four direct current (DC) voltages

(+ 5V and + 12V) to power all attached peripherals. The ISA bus is designed by IBM corporation for their PC/XT/AT series of personal computers. Two ISA standards are available. The 8-bit data path ISA bus is designed as an input/output (I/O) expansion channel for PC/XT-class machines using the Intel 8088 microprocessors. The second standard is the 16-bit data path ISA bus. It is designed for the AT-class machines using the Intel 80286, 80386 and 80486 microprocessors. Currently, the more powerful 80386 and 80486 PC's have adopted two other I/O channel standards namely the Micro Channel

Architecture (MCA) and the Extended Industry Standard Architecture (EISA). Both of these standards support a 32-bit data path and I/O transfer rates up to 14.3 MHz, which is twice the rate of the ISA bus. Our design utilizes the 8-bit data path ISA bus because of its simplicity. Since the modem circuit does not demand high speed I/O operations such as direct memory access (DMA) so the facilities provided by the 8-bit data path ISA bus are adequate for this application.

Address Decoder:

The function of the address decoder is to map the modem interface to an available port address of the PC. IBM PC has defined certain standard port address for specific devices. A device can be a serial port, a printer port, a joystick port or any other peripherals. The predefined port addresses and their intended functions are listed in Table 17 I. There are eight user-selectable port addresses that can be set by three jumpers on the fax modem board. No two devices should occupy the same port address. Otherwise access contentions will occur when the PC tries to address any device that shares the same port address with another.

Table I Port address selection for the facsimile communication interface.

Choose among the eight port addresses provided by the Fax Board

Port Address Actual Addresses Used Ox0280 OX0280 to OX029F ox02AO OX02AO to OX02BF Ox02CO OX02CO to OX02DF OX02EO OX02EO to OX02FF Ox0380 OX0380 to OX039F OX03AO Ox03AO to Ox03BF OX03CO Ox03CO to Ox03DF OX03EO OX03EO to OX03FF

If You Have Which Uses Addresses Don't Use for Fax Board COM3 OX02E8 to Ox02EF OX02EO COM4 Ox03EO to Ox03E7 OX03EO

COM3 and COM4 are extended asynchronous ports supported by MS/PCDOS version 3.3 or above. All port addresses are listed in hexadecimal values.

Data Buffer:

The data buffer is necessary to latch any data being passed between the host computer and the fax modem chip. The buffer is implemented with a tristate bi- directional buffer [25] controlled by the PC. 18 Modem rc.

A summary of the features of the MD96DX fax modem Ie is given in Table II.

The pin description diagram of the MD96DX is give in Figure 7.

Table II Communication protocols supported by MD96DX.

Communication Transmission Modulation Carrier Communication method protocols speed (bps) speed (Baud) (Hz) method

9600 2400 1700 16-QAM CCITT V.29 7100 :!400 1700 8-QAM Half-duplex (two-wirel 4800 1600 1800 8-PSK Synchronous CCID V.27ter 2400 1200 1800 4-PSK

Space 1180 CH1 300 300 FSK Mark 980 Full-duplex (two-wire) CCITT or two-wire by CH2 V.21 Space 1850 CH2 300 300 FSK Half-duplex synchronous Mark 1650

Transmission only CCITTV.23 Space 450 (Full-duplex (two-wire) is 75 75 FSK Backward Mark 390 available by the combination CH of V. 27ter reception)

Space 1070 300 300 FSK CH1 Mark 1270 BELL 103 Full-d uplex (two-wire) Space 2025 300 300 FSK CH2 Mark 2225 19

VOO 1. 40 /IRQ IRESET 2 39 ICS [TEST 3 38 IWR DO 4 37 fRO 01 5 36 /CABlE2 D2 6 35 lCABLE 1 03 7 34 ICD M 04 8 33 RXD D 05 9 9 32 TXD 06 10 6 31 ICTS D7 11 D 30 IRTS X RSO 12 29 RT RSl 13 28 ST RS2 14 27 EYECLK RS3 15 26 EYEPAT AVDD 16 25 XTAL2 MNT 17 24 XTALl TXO 18 23 PSV RXI 19 22 VSS RXF 20 21 MP

Figure 7 MD96DX 40-pin dual in-line package (DIP). 20

Table ill Pin assignments for the MD96DX DIP.

PIN NAME TYPE PIN No. FUNCTION

VDD PWR 1 Digital +5V powersupply PSV DI :!~ Powersave control input

XTALI XI 24 Input from crystal oscillator or external clock (9.~3()4 MHz) XTAL~ XO ~~ Crystal oscillator output

IRESET DI 2 System reset input (active when/RESET is LOW) ,TEST DIP 1 Test mode input (normally HIGH or OPEN)

EYEPAT DO 26 serial output EYFCLK DO ~7 Eye pattern clock output (4.915~ MHz)

ST DO 28 Transmitter clement timing output RT DO 29 Transmitter/receiver element timing output IRTS DIP 30 Request-to-send input (pull-up resister incorporated) .crs DO 31 Clear-to-send input TXO DIP 32 Transmit data input (pull-up resister incorporated) RXD DO 33 Receive data output «:o DO 34 Received carrier detection output

DO-D7 010 4- ]1 Data bus (Hbits)

RSO- RS3 Of 12- 15 Register selection input (4 bits)

/RD Of 37 Read strohc input /WR DI 3~ Write strobe input /CS OJ 39 Chip selection input /IRQ DOD 40 Interrupt request output (open-drain)

/CABLE 1 DIP 35 Subscriber cable equalizer selection input ICA8I.E2 DIP :'0 (pull-up resister incorporated)

AVDD PWR 16 Analog + 5V powersupply VSS GND 22 A nalog ground

TXO AO 18 Transmit signal analog output RXI AI ]9 Receive signal analog input RXF AD 20 Capacitor pin for AID conversion t\1P AD 21 Reference voltage pin for AID conversion MNT AD 17 Analog output for monitoring

Note) I indicates negative logic. 21 Speaker Circuit:

The speaker circuit is a simple low power audio amplifier implemented with an operational amplifier (opamp) Ie of type LM386. Signals SPKRH and SPKRL stand for speaker level high and speaker level low respectively. Their function is to control the output sound level. They do so by operating digital switches that select various resistor values in the resistive network at the opamp's input stage. The resistive network provides audio attenuations in 6 dB steps for high, medium, low and off settings. This circuit permits status of the fax modem during a call establishment phase (Phase A) to be monitored by the user audibly. The MNT pin of the MD96DX is fed into the speaker circuit to provide this monitoring function. The SPKREN signal is used to control a pair ofFET switches that delivers power to the amplifier circuit. Power is removed from the amplifier by pulling SPKREN logic-low when the speaker circuit is not required.

+12V

R19

LEU(l SPK~ H SPKRL HIGH 1 1 SPKR GND "EO 1 a LO'" 0 1 OFF 0 , Figure 8 Speaker circuit. 22 Analog Front End Circuit:

The analog front end circuit consists of a transmission and a reception filter. The transmission filter is a third-order Butterworth low-pass filter designed to eliminate harmonic components and quantizing noise caused by DfA conversion. The transmission filter circuit and its characteristics are given in Figure 9.

C4

RI R2 R3 C6 T X 0 ~N----+--IV'J\r--+----..N,\;------I ~TXA lR4 AGND R8

R9

AGND

odB gain +-6 dB gain

ItI 12 kQ 15 kQ }{2 12 k!) 15 kQ It3 12 k{2 15 k~l !{4 12 kQ 12 k~l 1{8 (0 12) short 10 kfl 1~9 (00 n) open 10 k~2

C3 3900 pF' 3900pF C4 10000 pF 2000 pl~ C5 560 pl~ 1500 pF C6 0.1 J.LF 0.1 ~I~

Figure 9 Analog transmission filter for MD96DX. 23 The reception filter is a second-order low-pass filter as shown in Figure 10. Its purpose is to eliminate noises from the receiving signal. The characteristics of this filter are determined considering the frequency characteristics of the anticipated noises. The anticipated noises may be a combination of:

1. noise generated in the digital circuit of the host computer or in the digital part of the

modem board,

2. noise in the power supply circuit,

3. crosstalk caused by the transmitted signals, and

4. noise carried on the telephone line such as impulse noise [26] and thermal noise

[27].

C7

C9 I--ORXI

I:t5 27 kG R6 27 ){O C7 1300 pF C8 330pF C9 0.1 f.LF (capacitor for cutting the direct current) Figure 10 Analog reception filter for MD96DX. 24 Telephone Line Interface:

The telephone line interface is often known as the data access arrangement

(DAA). It is responsible for five major phone line control functions. The first is telephone line loop-current control. When the fax modem needs to initiate an outgoing fax call or to answer an incoming service request call, it must connect itself to the phone line. The DAA accomplishes this task by engaging a relay to connect the Tip and Ring conductors of a two-wire telephone line. When these two conductors are connected, a current path between the DAA and the local telephone central office is created. This condition is known as off-hook. When the DAA is off-hook, a DC current of approximately 25 rnA flows through the Tip and Ring conductors. This in turn triggers a current-sensing circuit at the local office to inform the telephone system that the fax modem is requesting a service. When telephone service is no longer needed, the DAA disengages its relay and put itself on-hook. On-hook is the condition that the interface is disconnected from the telephone line. The Tip and Ring conductors are no longer connected and the current path is broken. Furthermore, the relay employed to put the interface on-hook and off-hook can be programmed for two other control functions which are pulse dialing and billing-delay.

Pulse dialing is accomplished by keying the on-/off-hook connect relay to interrupt the telephone line current at definite time intervals. Each interruption generates a pulse by putting the interface on-hook and then off-hook. If a sequence of pulses is generated uniformly at a rate of ten pulses per second (pps), then the total count of the pulses in the sequence represents the number to be dialed. Therefore a sequence with 25 seven pulses represents the number 7. A sequence of ten pulses is generated to represent the number O. The percentage of time spent on-hook, also known as the percent break time, should be slightly longer than the time spent off-hook. The percent break time is typically between 54% and 64% of a total pulse cycle.

Billing-delay is a function utilized to ensure that billing information may be exchanged between telephone company central offices without interference. This function, required by Part 68 of the Federal Communications Commission (FCC) rules and regulations [28], assures that no signals are put on the telephone line for at least

2 seconds immediately after a phone line connection is established.

R2-1

RXA

C31 •.IU'

Figure 11 Telephone interface circuit. 26 The fourth function of the DAA is ring detection. It employs an optically isolated

NPN transistor which is ac coupled across the Tip and Ring conductors of the telephone line. The transistor turns on when a ring signal is present on the phone line. It provides a transistor-transistor logic (TTL) compatible output signal (RING) to the host computer for ring detection. Since the transistor is optically coupled, it offers complete isolation between the fax modem board and the telephone line up to 1,500 volts. This voltage rating, which meets FCC Part 68 requirements, is limited only by the components used for the implementation.

The fifth and final function of the DAA is direct coupling with the telephone line.

This function involves matching the telephone line impedance, which is typically 600

Ohms, surge protection, hazardous voltage isolation, and leakage current protection. This function must meet specifications defined under Part 68 of FCC rules and regulations in order to protect the fax modem board and the telephone line from interfering with each other.

Diagnostic Circuit:

The diagnostic circuit facilitates debugging and trouble-shooting during the testing phase of the fax modem board. It also provides a way to verify that the fax modem board is operating normally. The diagnostic circuit is an eye pattern that produces waveforms, called eye patterns, to be observed on an oscilloscope. The inputs of the diagnostic circuit are connected to the eye pattern output pins (EYEPAT and EYECLK; see Figure 7) of the MD96DX modem chip. The eye pattern is a series of consecutive 27 signals received by the MD96DX, during a fax reception, that are superimposed on each other. With this pattern, the performance at the transmission station can be shown and the required performance of the receiver can be determined [29]. The eye pattern can also provide a simple visual representation of the effect caused by telephone line noise.

When noise is present on the phone line, it becomes superimposed on the received signals and causes a reduction in amplitude of the eye pattern. By choosing a sample point at the peak level of the received signal and setting the receiver at a particular sampling threshold level, the maximum amount of receiver noise tolerance can be found.

A typical eye pattern and the diagnostic circuit are shown in Figures 12 and 13.

EYEXO-X7 } Eye pattern data in two's EYE YO -Y7 complement representation Figure 12 Eye pattern of the received signals from the MD96DX. 28

EYECLK ----t> .....

164 X:3 EY EPAT 173 X 4 A QA ~~ L e QB ~---_+_+-__f I 0 Q ~----+-+----I 20 1 AD5!58 I 2 ac r-t>-l 2 V ~ CK QO 1------+-+-----1 3D 20 lJ .. · 1------+--+----140 L!: QE :~ ~ ~~SBIVCC X-AXIS ... sv QF l-- .....- /GI n 86 VOUT I-- U QG -.-...... - /G2 as VSEN l leLR QH ~ ~CK 1M ~ 84 VSEL I- [CLR IN 83 GNO ~ .....-_--.1 ~ 82 GND ~ ..-----. IF BI ICE ~ '--I~-""'--f 9 0 ICS ~ "----+--+-+---1 r( LSB) ------

~

...... A QA ..- [ ~ 8 OS QC lJ~12V ...- CK QD QE Y-AXIS +5V QF ~ -r- QG ~ u l ICLR QH ...... -- [

~ A QA - B QS W QC ~ CK QD QE "~Vl QF QG ICLR QH

Figure 13 Eye pattern observation circuit. 29 The entire fax modem circuit is constructed on a printed circuit board (PCB).

Breadboarding circuits that deal with high frequency components such as this is virtually infeasible since they are very sensitive to noise generated between jumper wires. Even when using a PCB, utmost precaution must be taken to ensure proper trace-spacing and to eliminate noise in both the digital and analog sections of the circuit. Traces routed too close together cause crosstalk interferences even on a PCB. Ground loop noises can be generated if the analog and digital sections are not properly isolated.

Figure 14 The 2-layer PCB artwork and the fax modem interface. 30 CHAPTER 4

SOURCE CODING FAX DOCUMENTS

Facsimile transmission is the process of transmitting a two-dimensional image, which may consist of text and graphics, as a sequence of consecutive scan lines. The position of the scan lines and the position along a scan line are quantized into spatial locations that specify a two-dimensional grid of picture elements called pels or pixels.

Consider a standard CCITI fax page defined by the ISO A4 paper size. It has a width of 8.27 in. (210 mm) and a length of 11.7 in. (297 mm), nearly the size of a letter size page (8.5 in. by 11.0 in.), The CCITI Recommendation T.4, referring to Group 3 type apparatus, specifies the spatial quantization for standard resolution is 1728 black and white pels per scan line and 1145 scan lines per standard fax page. The T.4 recommendation also defines two higher resolution quantizations of 2048 pels per line with 2290 lines per document and 2432 pels per line with 2290 lines per document known as the fine and the super fine resolutions respectively. The total number of black and white pels of a standard-resolution fax transmission is 1,978,560 and this number of pels is more than doubled (4 x 1()6) for the higher resolutions. It is interesting to compare these values with the number of pels in the NTSC (National Television Standard

Committee) standard commercial television which has 640 pels per line x 480 visible lines or 307,200 pels. Even at standard-resolution, the Group 3 fax document has

6.4 times higher resolution than a standard TV picture. In order to transmit this massive number of bits efficiently and reliably, we have to improve the transmission efficiency or to reduce the data rate descriptions of the source. The former issue is already 31 discussed in Chapter 3. The latter issue can be resolved by source coding or the process.

Table IV CCITI Group 3 fax supported resolutions.

Standard - Optional-

Pels per Line 1728 2048 2432 Horizontal Pels per Inch 203 Pels per Millimeter 8

Vertical Pels per Inch 97.80 195.6 Pels per Millimeter 3.85 7.7

Scan Width Inches 8.46 10.0 11.9

Millimeters 215 23~ 303

Coding ModifiedHuffman Modift~dRead

Data Modem V.27(ter) V.29 Bits per Second 4800/2400 96OOn200

Signaling Modem V.21 V.27(ter) Bits per Second 300 2400

Milliseconds per Recording Line 20 O,~, 10,40 32 4.1 The Source

For discrete sources like the fax image, source coding is related to the information content and the statistical correlation among the source symbols. The fax image contains the relative brightness or darkness of the scanned image at each position in the scan quantized into two levels; black (B) and white (W). Since the signal observed during a line scan is a two-tone pattern representing black and white image intensity changes under the scan, a horizontal scan line across the scanned document will exhibit long runs of B and W levels.

The standard CCITI run-length coding scheme is based on the modified variable­ length Huffman code to compress the black and white runs. This compression algorithm exploits the two properties: In typical two-tone images, (1) most pels are white and (2) the black pels occur with a regularity that manifests itself in the form of characters, connected boundaries, or symbols.

4.2 Modified Huffman Codin2 and Recommendation T.4

The CCITI Recommendation T.4 specifies that all Group 3 fax apparatus must incorporate the I-D modified Huffman run-length coding [30] as the standard scheme for coding the scanning lines. The code words are listed in Table V, VI and VII. A line ofdata is composed ofa series of variable length code words. Each code word represents a run length of either all white pels or all black pels. Two sets of code words are used to identify runs of white and runs of black. White and black runs alternate. Each set of code words is made up of two types of codes; Terminating codes and Make-up codes. 33 Each run length is represented by either one Terminating code or one Make-up code followed by a Terminating code.

Run lengths in the range of 0 to 63 pels are coded with the corresponding black or white Terminating code. For run lengths longer than 63 pels, they are encoded first by the Make-up code representing the run length which is equal to or shorter than that required. This is then succeeded by the Terminating code representing the difference between the required run length and the run length represented by the Make-up code.

Note that the Make-up code identifies runs with lengths that are multiples of 64. The standard resolution utilizes the standard Make-up code table for up to 1728 pels. For higher resolutions, the extended Make-up code table is also required. 34

Table V I-D Modified Huffman Terminating codes.

White run length Code word Black run length Code word

oo110111סס 0 00110101 0 1 000111 1 010 2 Ollt 2 11 3 1000 3 10 4 1011 4 011 S 1100 5 0011 6 1110 6 0010 7 1111 7 00011 8 10011 8 000101 9 10100 9 000100 10 00111 10 eeoeice oo101סס 11 01000 11 12 001000 12 eooem oo100ססeoeou 13 0 13 oo111סס0 14 110100 14 oo11000סס 15 110101 5[ oo101 Itסס0 16 101010 16 oo11000סס0 11 101011 17 18 0100111 18 o00ooo1000 oo1100111סס 19 0001100 19 oo1101000סס 20 0001000 20 oo1101100סס 21 0010111 21 oo110111ססOOOOOlt 22 0 22 oo101000ססcoeoroe 23 0 23 24 0101000 24 o00ooo10111 25 01010]1 2S o00ooo11000 oo11001010סס 26 0010011 26 oo11001011סס 27 0100100 27 oo11001100סס 28 0011000 28 oo11001101סס o00ooo10 29 29 oo1101000ססo00ooo11 30 0 30 oo1101001סס0001JOI0 31 0 31 oo1101010סס0 32 00011011 32 oo1101011סס0 33 00010010 33 oo11010010סס 34 00010011 34 oo11010011סס 35 00010100 35 oo11010100סס 36 00010101 36 oo11010101סס 37 00010110 37 38 00010111 38 oeoei JOI0110 oo11010111סס 39 00101000 39 oo1101100סס0010tool 40 0 40 oo1101101סס4t 0 00101010 41 oo11011010סס 42 00101011 42 oo11011011סס 43 00101100 43 oo1010100סס0 44 00101101 44 oo1010101ססoo100 45 0סס4S 0 oo1010110ססoo10] 46 0סס0 46 oo1010111ססoo1010 47 0סס 47 oo1100100ססoo1011 48 0סס 48 oo1100101סס0 49 01010010 49 oo1010010סס0 50 01010011 50 oo1010011סס0 51 01010100 51 52 01010101 52 o00ooot00100 53 00100100 53 o00oooIt011t 54 00100101 54 o00ooo111000 55 01011000 S5 o00ooo100111 56 01011001 56 o00ooo101000 oo 10II 000סס0 57 01011010 57 oo]011001סס0 58 01011011 58 59 01001010 59 o00ooo101011 60 01001011 60 o00ooo101100 oo1011010סס0 61 00110010 61 oo1100110סס0 62 00110011 62 oo1100111סס0 63 00110100 63 35 Table VI I-D Modified Huffman standard Make-up codes.

White run lengths Code word Black run (enlth. Code word

64 11011 64 o00ooo1111 oo11001000סס 128 10010 128 oo11001001סס 192 010111 192 oo1011011סס0 256 0110111 256 320 00110110 320 o00ooo110011 384 00110111 384 o00ooo110100 448 01100100 448 o00ooo110101 512 01100101 512 o00ooo1101100 576 01101000 576 o00ooo1 tOt101 640 OJ100111 640 o00ooo1001010 104 011001100 704 o00ooo1001011 168 011001101 768 o00ooo10011 00 832 011010010 832 o00ooo1001101 896 011010011 896 o00ooo1110010 960 011010100 960 o00ooo1110011 1024 011010101 1024 o00ooo1110100 1088 0110101 to 1088 o00ooo11 tOtOl 1152 OJ1010111 1152 o00ooo1110110 1216 011011000 1216 o00ooo1 I 10111 1280 011011001 1280 o00ooo1010010 1344 OJ1011010 1344 o00ooo1010011 1408 0110t tOll 1408 o00ooo1010100 1472 010011000 1472 o00ooo1010101 1536 010011001 1536 0000001011010 1600 010011010 1600 o00ooo1011 OJ1 1664 011000 1664 o00ooo1tOOl00 1728 010011011 1728 o00ooo1 100101 EOL OOOOOOOOOOOI EOL OOOOOOOOOOOt

Note - II is recognized that machines exist which accommodate larger paper widths maintaining the standard horizontal resolution. This option has been provided for by the addition of the Make-up code set defined as follows:

Table VII I-D Modified Huffman extended Make-up codes.

Run length .Make-up codes (black and 'Nhite)

1792 00000001000 1856 00000001100 1920 00000001 101 1984 000000010010 2048 000000010011 21 12 000000010100 2176 000000010101 2240 000000010110 2304 000000010111 2368 000000011100 2432 000000011101 2496 000000011110 2560 000000011111 36 To ensure that the receiver maintains brightness level synchronization with the transmitter, all scan lines will begin with a white run-length code word. In case the actual scan line begins with a black run, a zero length white run code is sent. A unique End-Of­

Line (EOL) code word is also defined to indicate that no more pels follow the current scan line, hence the next line should be started. The EOL code word can never be found within a valid line of Data. Therefore, with the EOL resynchronization after an error burst is possible. Moreover, this signal will occur prior to the first Data line of a page,

3 right after the signalling Phase B • The format of the EOL signal is 0000 0000 0001

(eleven bits of 0 followed by a bit of 1).

A pause may be inserted in the message flow by transmitting a Fill pattern. A Fill may only be placed between a line of Data and an EOL, but never within a line ofData.

A Fill must be included to ensure the transmission time for Data, Fill and EOL is not less than the minimum transmission time of the total coded scan line established in the pre-message control procedure. The standard minimum transmission time for a total coded scan line is 20 ms. Chapter 5 will discuss this in more detail. The Fill pattern is simply a variable length string of Os, similar to zero-padding in binary file transmissions.

To determine the end of a document transmission, a Retum-To-Control (RTC) code word is appended to the very end of each fax page. The RTC is made up of six consecutive EOL signals. Following the RTC signal, the transmitter will send the post message commands in the framed format and the data signalling rate of the control signals specified in Recommendation T.30. Figures 15 and 16 depict the relationships of

3 Phase B is the signalling procedure described in Recommendation T.30. See Chapter 4 for details. 37 the signals defined herein. A coding example is given in Figure 17. r Start of phase C ,If ~ DATA ~ DATA FilL ~ DATA .. I ;.If l ~T

rEnd of phase C At r:::::-l " DATA ~ DATA _ # I I ~ RTC ~ Figure 16 The last coded scan line of a page.

RUN LENGTH 2W 58 5W 28 585W- 599

MHCODE 0111 0011 1100 11 01101000 10100· 27 BITS

COMPRESSION RATIO 599/27 .. 22.2

Figure 17 I-D Modified Huffman coding example.

The identification and choice of either the standard or the extended code tables is to be determined in the pre-message (Phase B) portion of the Recommendation T.30. 38

4.3 Optional Codin~ Schemes Supported by Recommendation T.4

Three optional coding schemes are included in the Recommendation T.4. to reduce the effects of noise and errors on the data or to recover the data from such disturbances. These schemes are the 2-D modified READ Coding, the Error-Correction­

Mode (ECM) and the Error-Limiting-Mode (ELM). Since ECM and ELM are related to the fax signalling procedures described in Recommendation T.30, their discussions are deferred till Chapter 5.

4.3.1 2-D Modified READ Coding

There is a high degree of vertical correlation between the scan lines in a document. The 2-D modified READ, Relative Element Address Designate, algorithm is a derivation of the relative addressing code (RAC) that utilizes this vertical correlation to achieve a higher compression than the Modified Huffman coding method.

Whenever there is a noise pulse generated by lightning, switching transients or static impairments, the fax signal is distorted causing errors in the image pattern at the receiving end. Since the Modified READ code utilizes the correlations between scan lines, errors in one scan line may propagate down the entire fax page. To limit the distorted area, 1-D coding should be used to send scan lines periodically. At standard resolution, this is usually done every second scan line (K=2), and at the optional higher resolutions, it is performed every fourth line (K=4). This is referred to as the Parameter

K. The Recommendation T.4 specifies that after each line coded I-D, at most K-l successive lines shall be coded two dimensionally. I-D coded lines may be transmitted 39 more frequently then every K lines, but the efficiency of the Modified READ coding scheme is decreased. After a one-dimensional line is transmitted, the next series of up to K-l two-dimensional lines is initiated.

standard Resolution ( K = 2 )

------> modified Huffman coded *************************************> 2-D modified READ coded ------> modified Huffman coded *************************************> 2-D modified READ coded

Fine Resolution ( K = 4 )

------> modified Huffman coded *************************************> 2-D modified READ coded *************************************> 2-D modified READ coded *************************************> 2-D modified READ coded ------> modified Huffman coded

Figure 18 The role of Parameter K in 2-D modified READ coding.

The modified READ coding method actually combines the 1-D Modified Huffman and the 2-D RAe coding schemes to achieve a high compression rate and a high noise- rejection ratio. Here, the one-dimensional coding specifications are identical to the

Modified Huffman coding describes in Section 4.2. Depending on the degree of vertical correlations between any two adjacent scan lines, one of the three coding modes (pass mode, vertical mode and horizontal mode) are chosen for the 2-D coding. 40 4.3.2 The Three Coding Modes in 2-D Modified READ Coding

This is a line-by-line coding procedure in which the location of each changing picture element on the current or coding line is coded with respect to the location of a corresponding reference pel situated on either the coding line itself or the reference line which lies immediately above the coding line. After the coding line has been coded, it becomes the reference line for the next scan line to be coded.

Looking at the reference line and coding line, move form left to right along the pair of scan lines until a pelon either line changes its relative brightness level or "color"

(i.e., black or white). This is defined as the changing picture element. A total of five reference points are utilized to identify the positions of the changing pels along the reference and coding lines. Three of the reference points, Clo, a, and a2, are located on the coding line and the remaining two, b, and b., are located on the reference line.

an The reference or starting changing pelon the coding line. Initially aois set

on an imaginary white changing pel situated to the immediate left of the

first element on the coding line. During the coding of the coded line, the

location of 30 is defined by the coding mode used previously (to be

discussed in next section).

at The next changing pel to the right of 30 on the coding line.

a2 The next changing pel to the right of at on the coding line.

bl The first changing pelon the reference line to the right of 30 and of

opposite color to 30.

b2 The next changing pel to the right of b, on the reference line. 41 From the definitions for the reference points, it is not difficult to see that 30 is

used for marking the beginning of a new run (either black or white) and al marks the end of this run or the beginning of a run with an opposite color from 30. Since white and black runs alternate throughout a scan line, b, is used to mark the beginning of a run which is located on the reference line that has an opposite color from ao. b2 simply marks the end of the run referenced by bl or the beginning of a run having a different color from bl on the reference line. The runs marked by aoal must have a different color from b.b, and a1a2• While b1b2 and a1a2 must have the same color, the former run is located on the reference line right on top of the latter run which is on the coding line. By examining the relative positions of these reference points, the correlations between adjacent runs can be determined.

Reference line Coding line

aD -, '2 Figure 19 Changing picture elements in 2-D modified READ coding.

The three coding modes are chosen according to the coding procedure described in Section 4.4. Examples of all modes are given below.

A) Pass mode

This mode is used to skip two changing pels on the reference line that

has no correlation with the changing pels on the coding line. This is the case

when the position of b, lies to the left of ale After this mode has been coded, 42

30 is set on the element of the coding line below b2 in preparation for the next

coding (i.e., on position a'o marked in the Figure 20).

bZ

Reference line Coding line a. aD Figure 20 Pass mode in 2-D modified READ coding.

It is important to note that the situation where b, occurs right above

at is not considered as a pass mode. It is apparent that the run btb2 is

somewhat connected to the run marked by at as shown in Figure 21.

Reference line Coding line

Figure 21 An example that does not correspond to a Pass mode.

B) Vertical mode

This mode is selected when a pair of changing pels on the adjacent

scan lines (i.e., the reference and the coding lines) match and the distance

between the adjacent changing pels is within three pels. Upon identification 43

of this mode, the position of a, is coded relative to the position of bl by the

relative distance a.b., which can take one of the seven values V(O), VR(l),

VR(2), VR(3) , VL(l), VL(2), VL(2) and VL(3). Each of these values is

represented by a different code word as described in Table VIII. The

subscripts R and L signify that a, is to the right or left respectively of b.,

The number inside each bracket denotes the value of the relative distance

a.b., After vertical mode coding has occurred, the position ao is set on al in

preparation for the next coding.

C) Horizontal mode

If the changing pels are not within the 3-pel proximity, the vertical

mode is not used. Instead, the run lengths 30'11 and a.a, are coded using the

code words H + M(3o'1l) + M(ala2). Here, H is the flag code word 001

which indicates that horizontal mode is used. M(3o'11) and M(a1a2) are code

words which represent the length and the color of the runs 30'11 and ala2

respectively. These code words are taken from the appropriate white or black

I-D Modified Huffman code tables as described in Table V, VI and VII.

After coding, the new location of ao is set on a2.

When coding begins at the first pel of the coding line, the reference

position ao is set at an imaginary position just before the first pel, and is

regarded as a white pel. If it is necessary to use the horizontal mode for the

first element on the coding line, then the length of 30'11-1 is used instead of

30'11- Accordingly, if the first element is black, then a white run length of 44 zero is coded. This is consistent with how ao is defined.

Table vm 2-D modified READ code table.

Mode Elements to be coded Notation Code word

Pass bit b2 P 0001

Horizontal 8oB" 8,82 H 001 + M(aoa,) + M(atal) (see Note I)

Vertical at just under b, alb t - 0 YeO) 1

at to the right of b, atb, .- I VR(I) 011

a,bl - 2 VR(2) oeecn oo11ססa.bt - 3 VR(3) 0

a. to the left of b, a.b, - I Vdt) 010

a.b, - 2 VL(2) ooeore oo10ססalb, - 3 VL(J) 0

Extension 2-D (extensions) o00ooo1 xxx 0ooooo1xxxסI·D (extensions) 0 (see Note 2)

Note I - Code M( ) of the horizontal mode represents the one-dimensinal code words. Note 2 - It is suggested the uncompressed mode is recognized as an optional extension of two-dimensional coding scheme Group 3 apparatus. The bit assignment for for the xxx bits is t II for the uncompressed mode of operation

Note J - Further study is needed to define other unspecified xxx bit assignments and their use for any further extensions. Note -I - If the suggested uncompressed mode is used on a line designated to be one-dimensinalJy coded. tbe coder must not switch into uncompressed mode followina any code word ending in the sequence 000. This is because any code 0ooooo1 word end in. inסfollowed by 0 000 a switching code will be mistaken for an end-of-.

Vertical mode

Reference line Coding line

Figure 22 Vertical mode and Horizontal mode coding example. 45 An optional extension coding mode is included as part of the 2-D coding scheme.

This allows Recommendation T.4 to support any optional compression modes in the future. At the present, the uncompressed mode described in Table IX is the only recognized extension for this 2-D coding scheme. This mode is desirable when the run lengths are very small or random as in the areas of halftone images.

Table IX Uncompressed mode extension code words.

0ooooo111 tסEntrance code to On one-dimensionally coded line: 0 uncompressed mode On two-dimensionally coded line: o00ooo1111

Image pattern Code word t t 01 01 Uncompressed mode code 001 001 0001 0001 ooeo: oooor oo1ססoo 0סס0

000000lT 0 oooooootT Exit from uncornpressed 00 00000000lT mode code oo1 Tססoo0סס 000 ooooooo ITסoס 0000

T denotes a tag bit which tells the colour of the next run (black .. t ~ white -.: 0). 46

4.3.3 Two-dimensional Codin~ Procedure

The coding procedure identifies the appropriate encoding mode to be used. Based on the two main steps described below, it selects a corresponding code word for each changing pel along the coding line. The flowchart for the coding procedure is given in

Figure 23.

Step 1

A) If a passed mode is identified, the word 0001 is used for coding. After this

procedure, the reference point a'0 is placed right beneath b2 and is regarded

as the new starting pel a, for the next coding.

B) If a pass mode is not detected, proceed to Step 2.

Step 2

A) Calculate the absolute value of the relative distance albl.

B) If I a.b, I <3, a.b, is coded by the vertical mode. At the end of this

procedure, position at is regarded as the new starting pel a, for the next

coding.

C) In case I a.b, I > 3, following horizontal mode code (H) 001, 3o'l1 and a1a2

are coded by I-D Modified Huffman coding respectively. After this process,

position a2 is regarded as the new pel 30 for the next coding. 47

b~~~:'l~~·ltat One-dimension._ picture element coding

No

Ves

No

No

Figure 23 Flowchart for 2-D modified READ coding. 48

The coding procedure continues to process the alternating black and white runs on the coding line until the position of the reference changing pel is situated right after the last actual pel that has been coded. In standard resolution (1728 pels per scan line), the reference pel is located at the imaginary position 1729 when the end of the coding line is reached. This position may be signified by a., if the vertical mode coding is used,

or by a2 , if the horizontal mode is used. Furthermore, if b, and/or b2 are not detected at any time during the coding of the line, they are placed at the imaginary changing pel situated just after the last actual pelon the reference line. ooסס OOסס) Line synchronization is achieved by inserting the EOL code word

0001) to the end of a line, similar to the case in 1-D Modified Huffman coding. To identify whether I-D coding or 2-D coding is used for the next line, a single tag bit is appended to the end of the EOL signal. An EOL + 1 signifies one-dimensional coding while an EOL + 0 indicates two-dimensional coding for the next line. Moreover, an

EOL plus the tag bit 1 code word will occur prior to the first data line of a page since the first scan line is always I-D modified Huffman coded.

In order to give the receiving station enough time to process the acquired data, a Fill is inserted between a line of Data and the line synchronization signal, EOL + tag bit. The Fill signal is consisted of a variable number of Os. It is employed to ensure that the total transmission time for Data, Fill and EOL plus tag bit is at least the minimum transmission time of the total scan line (T) set in the pre-message phase as described by the T.30 protocol.

To indicate the end of a fax page is reached, the RTC signal, consisted of six 49 consecutive ( EOL + 1 ) synchronization code words are used. This is slightly different from the standard 1-D MH coding scheme. Figures 24 and 25 further demonstrate the relationship of the signals defined herein. Both figures are presented for the case of K

= 2.

DATA DATA DATA (two- FILL 1 EOL + 1 eOl + D EOL + (one-dimensional) (on8- dimensional) dimen- r sionalt ~ I.. ~ T

T Minimum transmit time of a total coded scan Hoe

Figure 24 First part of a 2-D modified READ coded fax page.

End of rphase C r I DATA (two- DATA EOt.,. 0 EOL + , EOL + 1 EOL + , EOL + 1 eOL + 1 EOl + 1 dimen- I sionall

or

DATA EOl - 1 (one·dimen. FILL sionall

Figure 25 Last part of a 2-D modified READ coded fax page. 50

1 1

1 ,

/~ ~ ~~{/ I"' '/~ I'l..l

'l~

p

10

HCO.])

Figure 26 Coding examples: First parts of 2-D modified READ coded scan lines.

Figure 26 shows coding examples of the first part of certain scan lines. Figure 27

shows coding examples of the last part of some scan lines while Figure 28 shows the

middle part of some scan lines. The picture elements marked with black dots in these

examples indicate the changing pels to be coded. 51

1728 1728 1728 • • • V(O~, • V(O) V(OJ. 0 VR C2J V(D), 0 0) Vl (2). VeO) 1728 1728 1728 • • V(O'. VL (2) • V(O) 0 VIO), V p, I' 0 R(3J 0 yeo) I

• •

Figure 27 Coding examples: Last parts of 2-D modified READ coded scan lines.

p V (1) veo) L --. 000 1 -010 1 001 01' 0001

Figure 28 Coding examples: Scan lines of a 2-D modified READ coded fax page. 52 CHAPTER 5

SYNCHRONIZATION AND SIGNALLING PROCEDURES

In digital data communications, almost all digital data streams embody some sort of frame structure. The frame structure allows the receiver to interpret the incoming data stream by means of synchronization with the transmitter. Frame synchronization in the

Group 3 facsimile distribution system is accomplished with the aid of the CCITT

Recommendation T.30 signalling procedures. The T.30 protocol is designed for fax equipment operating over the general switched telephone network. It supports two separate signalling methods; a simple tonal method using frequency tones as handshaking signals and a binary coded procedure which offers a wide range of signals for more complex and comprehensive automatic functions. The tonal signalling is devised to provide compatibility with Group 1 and Group 2 analog fax apparatus. Since both Group

1 and 2 fax machines have limited capabilities and are regarded as obsolete, our facsimile distribution system has excluded this method.

5.1 Binary Coded Signal Functions and Formats

For Group 3 digital fax units, the binary coded procedure is the standard signalling arrangement. This procedure is based on the HDLe [31,32] format developed by the International Organization for Standardization (ISO) [33]. The basic

HDLC structure comprises a number of frames, each of which is subdivided into a number of fields. This structure provides for frame labeling, error checking and confirmation ofcorrectly received information. One advantage ofusing the HDLC format 53 is that the frames can be easily extended for optional features.

Figure 29 depicts the HDLC frame field format used by Recommendation T.30 for an initial identification sequence.

Preamble I Binary coded information l ~~ , ~ , ~ >------, ~~ , ~ , , ~~ , , ~ , .JIll '" Non-standard Called subscriber Oigita~ facilities frame identiftcation frame identification frame ~- , ..,,- I, ."..- t HOLe information field , ,\ -- \ Facsimile Frame Facs'mile checking Flag Flag Address Control control information Flag (DIS)-- sequence ------G1 and G2 Basic G3 Additional G3 capability ca pabiHty + capabilities

Figure 29 The HDLC frame structure used in binary coded facsimile control procedures.

The first signal sent is the preamble. Its function is to ensure that all elements of the (e.g., telephone line echo suppressor) are properly conditioned. It also provides frame synchronization so that the subsequent data may be passed unimpaired. A preamble precedes all binary coded signals whenever a new transmission begins between the connected fax stations (i.e., for sending and acknowledging each scan line). The preamble may be represented by a series of 1's if the signalling is set at 300 bps or a long training modem sequence if the signalling rate 54 is set at the optional 2400 bps.

The eight bit HDLC flag sequence is employed to denote the beginning and the end of a frame. For facsimile procedures, the flag sequence is used to institute bit and frame synchronization. To facilitate this, the preamble should be used prior to the first frame. Subsequent frames use the flag sequence. Continued transmission of the flag sequence may be used to signal the connecting station that the machine remains on line but is presently preparing to proceed with the fax procedures. The flag sequence has the format 0111 1110.

The HDLC address field follows after the flag sequence that marks the beginning of each frame. This eight bit field is intended to provide identification of specific fax units in a multi-station arrangement. For transmissions on the PSTN this field is limited to a single format (1111 1111).

Following the address filed is the HDLC eight bit control field. It provides the capability ofencoding the commands and responses unique to the fax control procedures. oo for non-final frames within the procedure. For the finalסס It takes the format 1100 frames within the procedure, the control field will contain the code 1100 1000. A final frame is defined as the last frame transmitted prior to an expected response from the connecting station.

The HDLC information field is sent after the HDLC control field. This field has a variable length and contains the specific information for the control and message interchange between the 2 connected fax units. In Recommendation T.30, this field is divided into two sub-fields; the facsimile control field (FCF) and the facsimile 55 information field (FIF).

The FCF is defined to be the first 8 bits or 16 bits of the HDLC information field. An 8-bit FCF is used for the standard T.4 encoding modes while a 16-bit FCF is used only for the optional T.4 error correction mode. The FCF contains the complete information regarding the type of information being exchanged and the position in the overall sequence. The kinds of signals that the FCF may contain include: initial identification, commands to send, commands to receive, pre-message response signals, in-message procedure, post message commands, post message responses, and other line control signals.

The FCF is generally followed by the transmission of additional 8-bit octets to further clarify the facsimile procedure. This information is located in the FIF. It provides information in the DIS, DCS, DTC, CSI, CIG, TSI, NSC, NSF, VSS, eTC, PPS and

PPR signals. A summary of these signals and their functions is given below in Table X and XI. 56

Table X Index of handshaking signals in Recommendation T.30 (sheet 1 of 2).

Abbreviation Function Signal format

CED Called station identification 2100 Hz CFR Confirmation to receive XOI0 0001 1850 or 1650 Hz for 35 CRP Command repeal X10l 1000 eIG Calling subscriber identification 1000 0010 eNG Calling tone 1100 Hz for SOO ms oo 0010סס CSI Called subscriber identification CTC Continue to correct Xl00 1000 CTR Response to continue to correct XOIO 0011 DeN Disconnect Xl01 till DC:S Digital command signal Xl00 0001 oo 0001סס DIS Digital identification signal DTC Digital transmit command 1000 0001 EOM End of message XIII 0001 1100 Hz EOP End of procedure XIII 0100 EOR End of retransmission XIII 0011 ERR Responsefor end of retransmission XOt 1 tOOO ooסס FeD Facsimile coded date 01 to FCF Facsimile control field - FIF Facsimile informtion field - FTT Failure to train XOtO 0010 GC Group command 1300 Hz for 1.5-10.0 s 2100 Hz for 1.5-10.0 s OJ Group identification 1650 or 18S0 Hz HDLe High level data link control - LCS Line conditioning signals 1100 Hz MCF Message confirmation XOI t OOOJ 1650 or 1850 Hz MPS Multi-page signal XIII 0010 NSC Non-standard facilities command tOOO 0100 oo 0100סס NSF Non-standard facilities NSS Non-standard set-up X100 0100 57

Table XI Index of handshaking signals in Recommendation T.30 (sheet 2 of 2).

Abbreviation Function Signal format

PIN Procedural interrupt negative XOll 0100 PIP Procedural interrupt positive XOll 0101 PIS Procedure interrupt signal 462 Hz for 3 s PPS Partial page signal XIII 1101 PPR Partial page request XOll t 101 PRI-EOM Procedure interrupt-EOM Xl111001 PRI-EOP Procedure interrupt-EOP XlII 1100 PRI-MPS Procedure interrupt-MPS Xl111010 Rep Return to control for partial page 0110 OOOt RNR Receive not ready XOll 01 t1 RR Receive ready Xlt 1 0110 RTN Retrain negative XOl1 0010 RTP Retrain positive XOl1 0011 reF Training check Zeros for 1.5 s TSI Transmitting subscriber identification Xl00 0010

The information fields of the DIS, DTC and DCS are especially important since they signify the capabilities of the connecting fax apparatus. A total of five 8-bit octets

(i.e., forty bits) are currently utilized to identify these capabilities. Table XII and XIII

list the definitions and of the bits in the FIP of the DIS, DTC and DCS signals. 58 Table XII DIS, DTC and DCS bit settings in Recommendation T.30 (sheet 1 of 2).

Bit No. DIS/OTC Des

1 Transmitter - T.2 operation

2 Receiver - T.2 operation Receiver - T.2 operation

3 T.2IOC - 116 T.2 fOe - 116

4 Transmitter - T.3 operation

5 Receiver - T.3 operation RKeiver - T.3 operation

6 Reserved for future T.3 operation features

7 Reserved for future T.3 operation features

8 Reserved for future T.3 operation features

9 Transmitter - T.4 operation

10 Receiver - T.4 operation Receiver - T.4operalion

11, 12 Oata signalling rate Data signallinl rate (0,0) V.27 ter fallback mode 2400 bitls V.27 ter (0,1) V.27 ter 4800 bitls V.27 ter (1,0) V.29 9600 bitls V.29 (1,1) V.27 ter and V.29 1200 bitls V.29

13 Reserved for new modulation system

14 Reserved for new modulation system

15 Vertical resolution - 7.7 line/mm Vertical resolution - 1.1line/mm

16 Two-dimensional coding capability Two-dimensional coding

17,18 Recording width capabilities Reoordinl width (0,0) 1728 picture elements alonl scan line length of 1128 picture elements along scan line length of 215 mm ± 10/0 21S mm ± t~o (0,1) t728 picture elements along scan line length of 2432 picture elements along scan line length of 215 mm ± 10/0 and 303 mm ± 1% 2048 picture elements along scan line Jenath of 255 mm ± 1% and 2432 picture elements along scan line length of 303 mm ± 1% (1,0) 1728 picture elements along scan line length of 2048 picture elements aloDa scan line length of 21S mm ± 1% and 2SS mm ± 1'1. 2048 picture elements along scan line length of 255 mm ± 1% (l,t) Invalid (see Note 7) Invalid

19,20 Maximum recording length capability Maximum recordinl lenath (0,0) A4 (297 mm) A4 (297 mm) (0,1) Unlimited Unlimited (l,O) A4 (291 mm) and 84 (364 mm) 84 (364 mm) n.n Invalid Invalid 59

Table xm DIS, DTC and Des bit settings in Recommendation T.30 (sheet 2 of 2).

Bit No. DIS/DTC DCS

21, 22, 23 Minimum scan line time capability at the receiver Minimum scan line time (0,0,0) 20 ms at 3.8S I/mm: T7.7 - T3J S 20ma (0,0,1) 40 ms at 3.8S I/mm: T,.1 - T3.•S 40ms (0,1,0) 10 ms at 3.8S I/mm: T7.1 -T3.. s tOms (1,0,0) S ms at 3.85 I/mm: T7.1 - T3•8S S ms (0,1,1) 10 ms at 3.8S I/mm: T,.1 - 1/2 T3.85 (1,1,0) 20 ms at 3.8S I/mm: T·7.7 - 1/2 T3.., (1,0,1) 40 ms at 3.8S I/rnm: T7.1 - 1/2 T3.15 u.r.i) Oms at 3.8S I/mm: T,.1 .. T3.•S oms

24 Extend field Extend field

25 2400 bit Is handshaking 2400 bitls handshaking

26 Uncompressed mode Uncompressed mode

27 Error correction mode Error correction mode

28 Set to 4'0" Frame size 0 - 256 octets t - 64 octets

29 Error limiting mode Error limitina mode

30 Reserved for 04 capability on PSTN Reserved for G4 capability on PSTN

31 Unassigned

32 Extend field Extend field

33 Validity of bits 17, 18 Recording widtb (0) Bits 17, 18 are valid Recordina width indicated by bits 17, 18 (I) Bits 17, 18 are invalid Recording width indicated by this field bit information

34 Recording width capability 1216picture elements Middle 1216 elements of 1728 picture elements along scan line length of 1S1 mm ± 10/0

35 Recording width capability 864 picture elements Middle 864 elements of 1728 picture elements alonl scan line length of 107 mm ± 1%

36 Recordinl width capability 1728 picture elements Invalid along scan line lenlth of lSI mm ± IY.

37 Recordinc width capability 1728 picture elements Invalid alo08 scan line length of 107 mm ± tt'.

38 Reserved for future recording width capability

39 Reserved for future recording width capability

40 Extend field Extend field 60 The frame checking sequence (FCS) is a 16-bit sequence calculated from the content of the data being sent. The receiving unit calculates the same sequence based on the received data to confirm the validity of the transmission. The FCS is the 1's complement of the modulo-2 sum of:

5 14 3 2 2 1) the remainder of xk·(r + X + r + r + ... + x + X + 1) divided

(modulo-2) by the generator polynomial r 6 + r 2 + r + 1, where k is the

number of bits in the frame existing between, but excluding, the final bit of

the opening flag and the first bit of the FCS, ignoring bits inserted for

transparency, and

2) the remainder after multiplication by x" and then divided (modulo-2) by the

generator polynomial of the content of the frame as described above.

5.2 Facsimile Call Placement

The Recommendation T.30 consists of complex operational procedures that support four operating methods as shown in Table XIV. Each of these methods may be described by five separate and consecutive time phases. The time phases of a facsimile call is illustrated in Figure 30.

(1) Phase A - Call setup.

(2) Phase B - Pre-message procedure for identifying and selecting the required

facilities.

(3) Phase C - Fax message transmission including phasing and synchronization

where appropriate. 61

(4) Phase D- Post-message procedure including end-of-message (BOM), confirmation

and multi-document procedures.

(5) Phase E - Call release.

Table XIV Operating methods for Group 3 fax apparatus.

Overall Method No. Description of operatinl method Direction of facsimile transmission desi,nation

ManudJ operation at callinl station and Calling station transmits to called station r-r 1 Manudl operation at called station Calling station recriyes from called station l-R

Manudl operation at calling station and Calling station transmit» to called station 2-T 2 Automatic operation at called station Calling station rem.es from called station 2-R

Automatic operation at calling station and Calling station transmits to called station 3-T 3 ManuQloperation at called station CaJlins station receiyes from called station 3-R

Automatic operation at calling station and Caning station transmits to called station 4-T 4 Automatic operation at called station Calling station receives from caned station 4-R

Note - There may also be operating methods which will allow messages to be received by more than one station (multipoint connection).

5.3 Description of Facsimile Call Phases

(1) Phase A - Call Setup:

Phase A is for identifying and establishing a fax call. This can be done by verbal confirmation with the calling party or by automatic detection of the Calling Tone (CNG) after the called fax unit answers the phone. The verbal confirmation is usually done by human operators. A more sophisticated computerized verbal confirmation facility is incorporated into our facsimile distribution system to provide fully automated fax 62

In-message r procedure Phase C1 Phase A Phase B Phase 0 Phase E Phase C2 Message transmission J ....-- ...... ,..- Facsimile procedure .... Facsimile call ,...-- -.~

I Activity progress ~

Figure 30 Time phases of a facsimile call.

services. The details of these services are given in Chapter 8.

The CNG signal is mandatory for automatic calling units to indicate a calling non-

speech terminal but optional for manual units. This signal is also utilized to indicate that

the calling unit is in the transmit mode and is ready to transmit upon receipt of the called

station identification (CED) signal from the called station. The format of the CNG signal is shown in Figure 31.

After answering the phone, the fax distribution system tries to detect the eNG signal. If no CNG is present, the call is assumed to be initiated by a human operator. A digitized voice prompt then greets the caller and identifies the system itself. Special fax services may now be selected by the caller by means of a Touch-Tone?' phone. If the eNG signal is detected, the called system sends a continuous 2100 HZ CED tone for a duration of not less than 2.6 seconds and not more than 4.0 seconds. A fax call is 63

1100 Hz

---- jIIIIII..-II

0.5 s 35 .., t~

1100 Hz, ON for 0.5 second, OFF for 3 seconds.

Note - Tolerances: timing + 15(~)~ frequency 1100 Hz + 38 Hz.

Figure 31 Calling tone (CNG) used to indicate a calling non-speech terminal.

recognized and the fax procedure proceeds into Phase B of the operation.

(2) Phase B - Premessage Procedure:

Following the CED signal is a short burst of the DIS signal at 300 bps or at the optional speed of 2400 bps in a synchronous fashion. This signal identifies the capabilities of the called fax apparatus. In return, the calling fax unit acknowledges by sending the DCS signal to select the compatible features to be used for this fax transmission. A short modem training signal followed by a 1.5-second TCF signal is appended to the DCS to check whether the called station is obtaining error-free bits. If these signals are received properly, the CFR signal is returned from the receiver to notify the caller that the entire pre-message procedure has been completed and fax data transmission may commence. 64

(3) Phase C- In-message Procedure and Message Transmission:

Phase C begins after the calling station detects the CFR signal. It then sends a short modem training sequence followed by the fax data. The formats and specific signals for the in-message procedure and message transmission are covered by the

Recommendation T.4 described in Chapter 4.

(4) Phase D- Post-message Procedure:

At the end of the fax page being transmitted, the RTC command is sent to switch the fax call procedure back to the 300 bps signalling mode. The post-message procedure

(Phase D) now begins. This procedure includes information regarding the end-of­ message, message confirmation, multiple-page, and end-of-facsimileprocedure signalling.

The details of these signals and the complete control flow of the post-message procedure are given in Figure 32 to Figure 40.

(5) Phase E - Call Release:

When the fax data transmission is completed, the calling unit terminates the call by sending the disconnect (DeN) signal. This command indicates the initiation of Phase

E. After sending this command the calling station hangs up the phone without waiting for any response from the called party. Meanwhile, the called station receives this command and also disconnects itself from the telephone line. 65

No

r---- : Transmit >----( B :L CGN J:

Yes

Figure 32 Flow chart for Recommendation T.30 signalling procedures (sheet 1 of 9). 66

RtlCtJlving ststion

,,"""...... ,,'-<, Phase B ", GC ...... ~ 3 Tries? ...... Pre-message ...... REe? ,...... "" procedures I I :~f~~_~ r~-:J~~-~ I r __ I I " Go to \ I I Go to tonal' I non-specified \ Identify capabilities t procedures ) (procedures , ~ J ~ J I " : \ Note 1 " I I I I I I I I I I I •I Com":'and appropriate mode Yes

No

f ,I I I I Check phasing/training I I I I I I I I I I I i I I I I I I I I I t I Phase C Message transmission i I Yes t I I I No I I I I I I I I I :, III

Figure 33 Flowchart for Recommendation T.30 signalling procedures (sheet 2 of 9). 67

No

Yes es ~~'PIN' ...... ' or .... > ~E <,,PIP? .,.,,, C ...... ," O No Yes

Yes ., ... . s .,.,.,PlN ...... E : or :> ~ <,~IP~.,.,' No

r----...J..----,o I I I Alert I : operator :

__------L------~--Jr...-...---J ,,1...... NO ~~1 "" T3 ...... , No," LINE ...... > <,.... .!lapsed7 ,.,~)4--<, .... , REO? .,,~

., .... ~e. r--:~](~~--, " CA- ...... Y .," CA- ...... J;' v es .,~ PABLE <,> s " , 'ABLE ...> : Transmit : ~ ... AE- , ~T .... RE- ~ ...... XMJT?' ,," ...... ~MI~.,'" : PRt.Q? : No...... " _ A ~----I----J r------, I I : Phone to line : I I L---~I:---.J N O <:~~c~~~:> ,_~r~~_, , Go to \ ~B f begining of ~ " phase B / ...... _-_ .. ~..",

Timers

T1 - 35 + 5 s T2- 6+1s T3· 10 + 5 s

Figure 34 Flowchart for Recommendation T.30 signalling procedures (sheet 3 of 9). 68

Receiving Itatian ,i I I I ,I , , i I Phase 0 No Post-mellage procedures r------, I I : Alert Operator : L----1----J .> ...... Yes " LINE ..., REO .... >

" '::J:'JRD ..., Yes <...... "J;:PRI-Q? ," No .... .,c"'Opy...... ~",,?K~//, QUALITY'>

r------, 1----, r----I-~·~_, Ir---- II I : Transmit Yes ,,'LocAL'...... : Transmit PIN: : Transmit PIP : I PIN or PIP <,...... INT? ~ ~ I I >------,L I'L I L----r----.J ...... , .... r------, t • No : Phone to line : I I L---~-~I~,---~ No :=:~~~~e~~::> Yes ~_:[y~~, [B / Go to " I begining of I \,_~~~s~!_ .... /

, Ph se E Call Release I I I I I I I .I

Figure 35 Flowchart for Recommendation T.30 signalling procedures (sheet 4 of 9). 69

Transmit DeN

3 --., .-"roeess I optional r­ Disconnect I response I the line L ..

T4 4.5s ± 15o/(J, for manual units T4 3.0s 150/0, for automatic units

Figure 36 Flowchart for Recommendation T.30 signalling procedures (sheet 5 of 9). 70

D,sconnect line

Response CRP

Figure 37 Flowchart for Recommendation T.30 signalling procedures (sheet 6 of 9). 71

Left-hand side ofbeginning ofphase B of the flow diagram

r------, I I Tran$mit eNG L.I JI ~,~" ,':S' ,~ GI '" No ,'" or OTC" " received 1 , ">+---< " at 2400 , ,~' " bit/s , ~ __~l:'_-, r--~t~--, : Go to tonal :: Continue with I I procedure II DHS 2400 :

L ~ ~___biv s_ __ ~

Note - DHS = Digital handshaking speed Dotted lines == optional

Right-hand side ofbeginning ofphase B ofthe flow diagram

No ""',, , ,,' GC "" No ";'2 received r-=-+< tries " ?,' ',?,' r-_~r~~_, 'l:" I I" -, I Go ro tonal I ,'DHS" I prOCed~reI No =300 bits;s ) L ~ ", 1 " " ~ y es ~------, r---I ---, : Set 0 HS I: Set OHS : I 2 300 bits!s : I'" 2400 bitS/s I L. ~ L ~

Note - The: slat ion listens to a response at 300 bits/s (240{) bills) after transmitting a command at 300 hills (2400 bills) and continues with the detected DHS.

Figure 38 Flowchart for Recommendation T.30 signalling procedures (sheet 7 of 9). 72

COMMAND REC The "command received" subroutine searches for an error-free standard command. The decision diamonds in the flow diagram refer to the most recent standard command received (e.g., EOM, MPS, etc.).

COMPT REMOTE The FIF associated with the DIS has indicated a "compatible remote receiver". REC DOC TO XMIT The station has "at least one document to be transmitted".

COMPT REMOTE The FIF associated with the DIS has indicated a "compatible remote transmitter" XMTR which has documents to send.

RESPONSE REC The "response received" subroutine which searches for an error-free standard response.

LAST DOC The "last document", for the given operating mode, has been transmitted.

SET MODE The system controller will "set the appropriate mode" of operation.

3RD TRY The command has been repeated three times without an appropriate response.

CAPABLE The transmitting station is "capable of retransmitting" a document which was not RE-XMIT received with acceptable quality.

MSG CARRIER The "message channel carrier has been received". This carrier is 1800 Hz for the REC Group 3 modulation scheme, and 1100 Hz for the Group 3 optional modulation scheme, 2100 Hz for the Group 2 , and 1300-2100 Hz for the Group 1 modulation scheme.

PHASE/TRAIN The phasing/training-TCF signal has been analyzed and the results of "phasing/ OK training were OK"'.

CHANGE MODE The transmitting unit desires to exit from the transmitting mode of operation and reestablish the capabilities.

NSP REQ A "non-specified procedure" has been "recognized" by a unit compatible with the station initiating that procedure.

COpy QUALITY By some algorithm, the "copy quality was deemed OK". OK REPHASE/TRAIN By some algorithm, it is deemed desirable to transmit a new phasing/training signal.

FLAG There has been the detection of a "flag",

RECEIVE A FRAME The unit has "received one complete HDLe frame".

FCS ERROR The HOLe frame received contained an uFCS error".

OPTIONAL The HDLe frame received contained one of the listed "optional responses". RESPNS OPTIONAL The HDLe frame received contained one of the listed "optional commands". COMMAND CRP OPTION The facsimile unit has the "CRP option" and can, therefore, request an immediate retransmission of the most recent command.

LOCAL (NT Either the "local' machine or the "local" operator wishes to generate an interrupt of the standard facsimile procedures. An operator would use this as a means to request the establishment of voice contact.

Figure 39 Flowchart of Recommendation T.30 signalling procedures: key words (sheet 8 of 9). 73

LINE REQJ This means that the local operator has "requested" that the telephone line be connected to the handset for voice contact with the remote end.

PRI-Q A general term referring to either PRI-EOM, a PRI-MPS, or a PRI·EOP post-message command, i.e... the fifth bit or the standard post-message command is set to 1.

Note J - The non-specified procedure, NSP, refers to a procedure which takes 6 seconds or less to complete. It may not necessarily be a definable signal sequence.

Note 1 - This signal pertains to Group 3 apparatus only.

Note J - The PRI-EOM, PRI-EOP, PRI-MPS post-message commands are sent when a local interrupt request is pending.

Note 4 - At any time during the operation an interrupt may be generated which would result in a procedural interrupt. It is understood that if this interrupt happens during the transmission of the document, the EO M/RTC signal will be transmitted prior to invoking the procedural interrupt.

Note 5 - Where the symbol/is used, the term to the left of the symbol refers to Groups 1 and 2 equipment. and the term to the right of the symbol refers to Group 3 equipment.

Note 6 - Where the symbols ~ } are used, the signals within these symbols are a response to DIS from the calling unit wishing to receive.

Note 7 - Where the symbols ( ) are used, the signals within these symbols are optional. Figure 40 Flowchart of the Recommendation T.30 signalling procedures: key words (sheet 9 of 9).

5.4 Optional and Non-standard Facilities Call

One of the design considerations in Group 3 fax systems is the ability to incorporate valuable optional proprietary features as they become available. These extended features may be invoked during handshake in a manner that will not interfere with the basic Group 3 services. The NSF (nonstandard facilities) and the CSI (called subscriber identification) signals may be added ahead of the DIS. The NSF indicates the fax receiver has the ability to use proprietary features not incorporated in the CCIn

Series-T recommendations. After interpreting the NSF, the calling fax unit returns its own NSS (non-standard setup) signal to lock in the called fax unit to operate under the non-standard specifications. For example, a number of manufacturers have their own 74 proprietary error-correction schemes that can only be used between the same brand of fax units. Since this kind of extended facilities may not be available among all fax systems, it is mandatory that Group 3 fax units with NSS capabilities also have standard capabilities to operate with other standard fax apparatus.

To identify which fax station is calling or which fax station is being called, the

CSI and TSI signals are used. The CSI signal may be coded with the telephone number of the called fax unit. Some fax units can display this number so that a human operator can check if the fax is received by the intended unit. The sending fax unit also records this number in its electronic log for future references. On the other hand, the sending fax uses the TSI (transmit subscriber identification) signal to send its telephone number to the receiving party.

So far this chapter has dealt with the basic procedure of fax signalling and transmission. In order to distribute fax information efficiently, more sophisticated fax transmission arrangements are needed. Some of these arrangements can be implemented by utilizing the optional and non-standard facility signals; e.g., NSF, NSC and NSS.

Such fax transmission arrangements include fax broadcasting and polling. They are discussed in the following sections.

5.5 Fax Broadcasting

Fax broadcasting provides an effective means of distributing information from a central office to a group of people locating at remote sites. For instance, an urgent meeting for all the branch managers is suddenly called for. Notifying the managers by 75 mail may be too late. Contacting the managers in person by phone will be inefficient since detailed information concerning the meeting must be verbally given to each one.

The fax distribution system solves the problem by using its fax broadcasting feature.

With a wordprocessor, the secretary prepares the meeting notice on a networking PC and submits it to the fax distribution server as an out-going fax job. The secretary then selects the managers needed for the meeting from the company employee database. After the selection is made, the database generates a list, called the broadcast list, containing the chosen names and their corresponding fax numbers. This broadcast list is also submitted as a part of the fax job. Once the fax server receives both the list and the document, it schedules to send the meeting notice (i.e., the document) to the recipients sequentially by using the standard T.30 signalling procedures. The whole process is automatically controlled by the fax server and if any of the fax numbers is busy, the system retries until the notice is delivered. To avoid any long delays caused by a malfunctioning equipment or phone line, the system tries to deliver the notice for a pre-programmed number of times. After that the system gives up and proceeds with the next recipient. All transmission activities are electronically logged into a file so that the system operator can check for transmission errors. With its simplicity, fax broadcasting is exceptionally convenient for sending notices, telemarketing and advertising. 76 5.6 Polling Called Party

A fax transmission arrangement called polling enables an orderly sending ofonce­ per-day information from many fax units to a single fax system at a central point. The central fax system can be programmed to call the sending units sequentially and command each one to send documents from memory or its preloaded automatic document feeder. Without polling it would be difficult to avoid line busy conditions when remote sending stations compete with each other to access the central fax system at the same time. Our fax information distribution system has incorporated a delay-calling mechanism with an automatic dialer which allows polling at night when phone rates are low. Figure

41 illustrates a setup where the fax information distribution system is installed at the central office. At the end of the day, the regional offices and individual salesmen set their fax units to polling transmit and load them with purchase orders and inventory slips.

Later in the night, when the phone rate is low, the fax distribution system calls each branch office's and individual salesman's fax stations to request for these documents. If a particular station has nothing to transmit, it signals the polling receiver to disconnect immediately and continue to poll other stations. 77

REGIONAL OFFICE

REGIONAL OFFICE (~PSTN)

D

\ CENTRAL POLLIING OFFICE INTERNATIONAL OFFICE

INTERNATIONAL OFFICE

o .•• es D

OFFICE

REGIONAL OFFICE Figure 41 Polling center that automatically requests documents from remote fax stations. 78 There are two common types of polling arrangements. The standard polling procedure is described in the T.30 protocol as the calling station wishes to receive from the called station. The signalling procedures involved in this standard polling transmission is given in Figure 42. Since no polling identification numbers or security codes are involved here, any remote polling unit can poll a pre-loaded fax station freely.

This operation is usually referred as free polling.

Calling receiver Called transceiver

Phase A .-.. Called station identification

.- Capabilities identification (DIS) Transmit command (DTC) ----. Phase B .-.. Receive command (DeS) .-- Phasing/trainin~ Confirmation to receive (CFR) --+

Phase C <== Message

.-.. End of message (EOM) . Phase 0 Message confirmation (M CF) ---.

Figure 42 Calling station is receiving (polling the called station).

To avert unauthorized polling activities, the fax distribution system is provided with secure polling. With this arrangement, transmissions from any remote fax terminal take place only when the following two conditions are met: 79 (1) The central polling system has its Remote Terminal Identification (RTI) programmed with its fax number. The same RTI of the remote unit must also be programmed into the remote polled unit as a Polling Permission Number (PPN).

(2) The central polling system has its System Security Identification (SSI) programmed, and the same SSI is also programmed into the remote polled unit as a Polling

Identification Number (PIN).

Secure polling is a non-standard facility that only works with systems that support this option. When a central polling station tries to poll a remote terminal, the RTI and

SSI of the polling unit is automatically compared with the programmed list of PPN's and

PIN's of the remote terminal. Transmission is permitted only when the compared numbers match. The comparison of the security codes takes place during Phase B (i.e., the pre-message procedure) of the fax call. After answering the call from the polling fax system, the polled unit sends the CED followed by the DIS. The central polling station replies with sends the NSC (nonstandard command) indicating a secure polling services is requested. The RTI and 55I numbers are stored in the FIF following NSC signal. The polled fax unit compares the RTI and SSI with its own PPN and PIN. After verifying the identification numbers, the polled unit then takes over the session until it has sent all of the pages destined for the calling fax unit. 80

CHAPTER 6

ERROR CORRECTION SCHEMES IN GROUP 3 FAX TRANSMISSION

The PSTN is susceptible to error during digital data transmission. When transmission error occurs, streaks of black lines are typically created on the output copy making it unreadable. Conventional fax units have only limited error controlling ability to recover from such transmission errors. The simplest technique to detect an error is to utilize error-check markers. In Recommendation T.4 the error-check markers are implemented by transmitting the EOL codeword between each scan line. If the receiver does not detect the EOL codeword at the expected location in the data stream, it assumes that an error has occurred on the scan line following the last correctly received EOL code. After the error is detected, error concealment techniques can be applied to minimize the visual effects of transmission error on the received copy.

6.1 Error Concealment Techniques

There are four different error concealment techniques in the fax information distribution system which are developed for the modified READ coded fax documents.

These techniques are discussed below.

1. Print White (PW):

The first erroneous line and all succeeding lines are coded white until a one­

dimensional modified Huffman coded line is received correctly. This method

is used when an error is detected at the beginning of the fax page. 81

2. Print Previous Line (PPL):

The first erroneous line and all succeeding lines are replaced by the previous

correctly received line until a one-dimensional modified Huffman coded line

is received correctly. This method is used when errors are detected in the

middle of the fax page.

3. Print Previous Line Then Print White (PLW):

This processing technique combines the previous two ideas. The first

erroneous line is replaced by the previous correctly received line, and all

subsequent lines are coded white until a one-dimensional Modified Huffman

coded line is correctly received. When an error is detected near the end of the

fax page, this method is employed.

4. Normal Decode then Print Previous Line (NDPL):

In this case the first erroneous line is decoded in the normal manner up to the

point in the line where the error is detected. From this point onwards, the

remainder of this erroneous line is replaced by the corresponding pels in the

previous correctly received line. The resultant line is then used as a new

reference line for the subsequent erroneous line. The process is repeated until

a one-dimensional Modified Huffman coded line is correctly received and

decoded. This error processing technique is particularly advantageous in

situations where a transmission error occurs near the end (the right end of a 82 page) of a scan line period. When this occurs it is possible to preserve most

of the scan line that was corrupted as well as most of the subsequent scan lines

before a correct Modified Huffman coded line is received again.

Another error control scheme is to compute the number of corrupted or erroneous lines at the receiver by using the EOL code, and request the retransmission of a page if the number of lines in error exceeds a threshold; e.g., 230 lines, which is 20 percent of a standard page.

6.2 Error Limiting Mode

The error limiting mode is an option defined in Recommendation T. 4 to minimize disturbed areas in the output fax copy when transmission errors occur. This option applies only to I-D Modified Huffman coding. The initial step divides the pels of each scan line into parts before coding. Table XV shows three different ways of dividing a scan line depending on the resolution used for transmission. Each part is classified to be either all white (W), if it is composed of all white pels, or not-white (NW) if it contains at least one black pel. For each coded scan line an extended scan line descriptor (ELD) is assembled. The length of ELD depends on the number of parts used for dividing a scan line. 83

Table XV Code table for the code bit number variations (sheet 1 of 2).

Absolute value Absolute value Code Code of variation of variation

0 100000 51 xi III 1 010101 I X0000 1 52 XI II 11 010110 2 XOOOIO 53 XI1111 0101 II J X000 I 1 54 Xltlll011000 4 XOO1OO 55 Xltl1t 011001 5 XOOI01 S6 Xlll1t 011010 6 XOOIIO 57 Xll111 01t01l 7 XOO111 58 Xl11l1 011 100 8 XOlOOO 59 Xltlll011101 9 XOlOOI 60 XI1111011110 10 XOIOI0 61 XI 111 I 100000 11 X010ll 62 X1l11l 100001 12 XOllOO 63 XI till 100010 13 XOIIOI 64 Xllll1 100011 14 XOl110 6S XI till 100100 IS XOlll1 66 xmu 100101 16 X 10000 67 XI1J It 100110 17 XIOOOI 68 XliII I 100111 18 Xl0010 69 xni 11 tOl000 19 XIOOll 70 Xll1l1 101001 20 XIOlOO 71 XI1t 11 101010 2. XlOIOl 72 XI1I11 101011 22 XIOII0 73 XI1I11 101100 23 XI0111 74 Xlll11101101 24 X 11000 75 Xll1l1 101110 25 XIIOOI 76 Xll111 101111 26 XUOIO 77 Xll111 110000 27 X 11011 78 Xl 111t 110001 28 XlIJOO 79 Xll111 110010 29 X1I10l 80 Xll111 110011 30 Xli 110 81 XI till 110100 82 Xl11 11 110101

31 XIll11000001 83 XIII 11 110110 32 Xl1111 000010 84 Xl11ll 11011 t 33 XI 1111 000011 8S Xll1ll 111000 34 XI It11 000100 86 Xl 1111 111001 35 Xl1111 000101 87 xiu11 IUOIO 36 XI 1111 OOOtJO 88 Xl1tJI111011 37 xu til 000111 89 XI1111 111100 38 XIll11 001000 90 Xll111 111101

39 Xll111 001001 91 XIt lit Xl1110 010000 40 X 11111 001010 92 XIIlIl XIIlII 000001 41 xiuu ocion 93 xu i n XIIIII 000010 42 Xl1111oo1100 94 XIIIII XI1111 000011 43 Xlll11 001101 95 Xl1ll1 xruu 000100 44 Xll11loo1110 96 xru n XI11l1 000101 45 xu n r ocuu 97 X 11111 X11111 000110 46 X11111010000 98 xu i II XII 11I 000111 47 Xl till 010001 99 XlIIl1 Xl1111 001000 48 XJl1l1 010010 100 xuiu X1IIII 001001 49 XlIlllOIOOI1 101 XIIl1t XI1 111 001010 50 XIIIIIOI0100 102 Xl1111 xu 111 001011 84

Table XVI Code table for the code bit number variations (sheet 2 of 2).

Absolute value Absolute value Code Code of variation of variation

103 Xlllll XIIIIl 001100 119 Xl111l xmu 011100 104 Xll111 Xllttl OOtl01 120 xiuu Xl1111 011101 105 Xl1111 XIII11 001110 121 Xl1111 XIIIII 011110 ooססxnin XIIIII 001111 122 XIIIII XIIIII 10 106 oo1ססoo 123 Xll111 Xl1111 1ססxnru XIIIII 01 107 108 X1I111 XIIIII 010001 124 XIIIII xmu 100010 109 Xllltl XliII! 010010 125 xiuu XlIII. 100011 110 Xll111 XIIII I 010011 126 XIIIII XII1I1100100

III Xltltl XIIIII 010100 127 XlItll xinu 100101 112 Xll111 xiun 010101 128 Xl1111 XllliliOOll0 113 Xll1t1 XIII11 010111 129 xiuu XIIIII 100111 114 Xtttli xum 010111 130 XIIIIl XIIIII 101000 115 xuru xuru 011000 131 XIII11 XIII11101001 116 Xll111 Xll111 011001 132 XIII11 Xl111l101010 117 Xll111 XIIIII 011010 133 XIIIIl Xll11l10l0l1 118 xmu XlII t1 011011 134 Xlllll XtllJll01100

Note - Bit X corresponds to the sign of the variation.

ELD represents a sequence where the bit number is equal to the part number in a scan line; i.e., each part has a corresponding bit in the sequence. The bit is equal to

1 if the part is NW and it is equal to 0 if the part is W. W-parts are not encoded. Each

NW-part is encoded independent of any other parts in the given scan line. The coding method used for each part conforms to I-D Modified Huffman coding as described in

Recommendation T.4. However, the last run of each NW-part is not encoded and is sent as raw data bits with 1 representing black pels and 0 representing white pels. The resultant Coded Run Lengths (CRL), including the data for the last run, of all parts are 85 sent directly one after another. No special code word is utilized to mark the end of each

CRL of the different parts in a scan line. Instead, the number ofcoded bits for each NW­ part is coded and sent to the receiver. For this purpose the code bit number of the previous NW-part, qi-l' is subtracted from the code bit number of the currently coding

NW-part, qj. The resulting difference, also called the Code Bit Number Variation

(CBNV), qj-qj-l is coded by using code words for I-D modified Huffman coding. For the first NW-part in a scan line qo is taken to be 40. In the code words given in Table XV, the bit X corresponds to the sign of the variation Qj-Cli-l. When the variation is positive, bit X equals O. When the variation is negative, bit X equals 1. Figure 43 is the flowchart for the ELM coding procedure. The data formats for scan lines containing a different number of NW-parts are shown in Figures 44, 45 and 46. ooסס OOסס) To facilitate synchronization and error detection the EOL code word

0001) is sent at the beginning of a page and at the end of each data line. There is a slight probability of occurrence of the same pattern for ELD and the EOL. This is taken into account in the decoding algorithm by counting the number of pixels received from the transmission. In addition, fill patterns and RTC are used to control the data flow as described in Section 4.2. When decoding in ELM, the error concealment techniques described in Section 6.1 are applied to the corrupted parts of a scan line to limit the visual effect of transmission errors. This option reduces the affected areas to parts of a scan line rather than the entire scan line. 86

START

EOL

==- 1

Yes

ELD(i) 1

Run leng""th coding

CBNV coding

-f- 1

Line codes ou't.put

ETC

End

Figure 43 Flowchart for ELM coding procedures. 87

ELD CBNV CBN ~~] CBNVI_C_R_L...... __

Data

Figure 44 Data format for the scan line containing several NW-parts.

Data

Figure 45 Data format for the scan line containing one NW-part.

000000000000

ELD

Data

Figure 46 Data format for the scan line containing 1728 white picture elements.

6.3 Error Correction Mode and HDLC Framing

The Error Correction Mode (ECM) option is designed to be more effective in handling errors than the ELM option. The design objectives for ECM are that the number of changes in the standard operations described in the CCITT Recommendations

T.4 and T.30 are minimized. ECM also operates well in a burst error environment. ECM is designed with a low overhead to maintain efficient transmissions. The error control technique employed is based on the half-duplex page selective repeating automatic repeat 88 request (ARQ) concept. The basic idea is for the receiver to detect fallacious frames and to request retransmission from the transmitter only for those frames that are not properly received. The strategy is similar to ARPANET ARQ[34]. Typically ARQ requires only one retransmission per frame in error.

The coding procedure starts with dividing one page ofbinary coded fax messages into a number of blocks. This option applies to both I-D modified Huffman and 2-D modified READ coded fax messages. An HDLC frame structure is utilized for sending all binary coded fax messages as specified in Recommendation T.4. Each block contains

256 frames. A transmitted block or a number of transmitted frames is also known as a

Partial Page (PP). The last block of a page may contain less than 256 frames and is called a short block. The size of a frame may be either 64 bytes or 256 bytes long. The frame size to be used is determined by the transmitting terminal, using the DCS signal, during Phase B of a fax transmission as discussed in Section 5.3. At this phase in ECM, two more pre-message signals are needed in addition to the ones used for standard fax transmission. They are the Continue To Correct (CTC) and response for Continue To

Correct (CTR) signals. CTC is sent from the transmitter to indicate that it has detected an error and continues to correct the previous message. In response to eTC, the receiver acknowledges with CTR to indicate that it is ready for retransmission of faulty frames.

Actual fax data transmission begins at Phase C. The transmitter sends the first block of 256 frames of data without waiting for any acknowledgement from the receiver in between frames. To enable error detection on each transmitted frame, ECM defines two types of frames. They are the Facsimile Coded Data Frame (FCD) and the Return 89 to Control for Partial page (RCP) frame. The FIF in an FCD frame contains the frame number (0 to 255) needed for identifying the transmitted frames and the actual binary coded facsimile data. Following this FIF is a 16-bit frame checking sequence (FCS). FCS is a sequence of parity-check bits calculated by polynomial coding or cyclic redundancy coding [35] (CRC). When an error occurs in a frame, the receiver finds a mismatch between the transmitted FCS and the FCS calculated based on the received data. The receiver then determines which frames are containing errors.

Request for retransmissions of these faulty frames is necessary. The function of an RCP frame is to provide a frame boundary between successive blocks of frames. At the end of a partial page or a block transmission, three consecutive RCP frames are sent.

There is no information in the RCP frames and they are not counted as parts of the 256 frames defined for a block. Figures 47 and 48 depict an initial partial page (PP) and a last PP frame structure respectively. ::1 ~ ~ Initial PP ~ ... ~ ~ Facsimile ~ Synchronization coded data Rep ~~. (FeD) [ ~ ~ [ l-Cj FeD frame FeD frame FCD frame RCP frame RCP frame Rep frame cfJ 0 1 ~~------~---~-~--~-----~------~-~ n (l) ,.-.. ~ ~ ~ ~~~~~~~~~~~~~~~~~~(Not~ 3 (l) , Frame Facsimile V} ~F F A C FCD FCS F No. n-1 coded data F~ (j2 ~. z ~FCF J. FIF ~I (a ~. ::s 1st Rep frame otI1 ~ ~ F I A I C IRCP I FCS [TI A I C I RCP IFCS IT] A I C IRCP IFCS ~J

~ ~ ~FCFJ FCFJ 15t FCD frame End of phase C Frame Facsimile F A C FCD FCS FF A /F No.O coded data ci

~FCP J.. FIF J \0 o ~ ~. I last PP ~ . ~ ~ QC Facsimile Variable length Synchronization ATe Rep ~ coded data string of zeros tI) f'"'+ ~ a. ~ ...... ~ FeD frame FCD frame FeD frame crJ ------~------~~~~-~~~------Rep frame Rep frame Rep frame (1) 0 1 m

~ ~ ~ ~ 14 mth TCD frame ~ote ~ 3 (1) , tI) Frame Facsimile Variable length F A C FCD RTe FCS F 'F No.m- coded data string of zeros F~ 2(j ) 2 ~FCF J. FIF J ~ ~. =:s 1st Rep frame otI1 ~ ~F I A I C IRCP IFCS IT] A I C IRCP IFCS rnA I C IRCP IFCS I F I ~ ~ ~~~~j End of phase C

Frame Facsimile F A C FCD FCS F F ~F No.O coded data A C\ ) LFCF J. FIF J

\0~ 92

Following the Rep frames, the transmitter sends the post message command to the receiver. This command is usually the partial-page signal (PPS) to inform the receiver that a partial page of facsimile information is sent. It also indicates that the transmitter is waiting for a post message response from the receiver. When the receiver reports that no error is detected, the transmission procedure is returned to the beginning of Phase B or C depending on what is left to be transmitted. The complete PPS command has five parts. The first part is the pattern to identify the signal itself which is stored in the FCFl of the HDLC information field. The second part is in the FCF2 which indicates the condition of the transmitter; e.g., the end of a complete page is sent or multiple pages are on the way, etc.. The last three parts are used together to identify the page, the block and the number of frames in the most recently sent partial page. Details of the frame construction of the PPS command is given in Figure 49. 93

HOLC information field

FAC FCF1 FeF2 11 12 13 FCS F (PPS) (PC) (ec) (Fe)

transmit left to right

FCF1: Facsimile Contro: Field 1; Extention signal for error correction (PPSL FeF2: Facsimile Controf Field 2; Post message command (NULL, MPS. EOM, EOP and PR1-Q) 11 (PC): Information field 1; Page counter (8 bits); modulo 256) 12(BC): Information field 2; Block counter (8 bits; modulo 256) r3(FC~: Information field 3: (Number of framesJ-1 ln each partial page (8 bits: maximum 255)

Note 1 - FeF2 indicates the post message commands in case of the T.4 error correction mode and the format of FeF2 is shown hereafter. FeF2 Meaning 0000 0000 NULL code which indicates the partial page boundary. 1111 0001 EOM in optional T.4 error correction mode 1111 0010 MPS in optional T.4 error correction mode 1111 0100 EOP in optional T.4 error correction mode 1111 1001 PRI-EOM in optional T.4 error correction mode 1111 1010 PRI-MPS in optional T.4 error correction mode 1111 1100 PR l-EOP in optional T.4 error correction mode The other bit combinations are not used. Note 2 - II; Page counter shows the page sequence modulo number in each caU establishment for one direction of message transfer. Page counter is started from "Q" and up to 40'255 ", The page counter is reset at the start of each call establishment. Note 3 - 12~ Block counter shows the block sequence modulo number in each page. Block counter is started from 1'0'" and up to "255". The block counter is reset at the start of each page. Note 4 - 13: Frame counter shows the total transmitted frame number minus 1 in each partial page. (maximum 255). Note 5 - The least significant bit in 11-13 should be transmitted first.

Figure 49 HDLC information field used in ECM.

In response to the transmitter's PPS, the receive returns the partial page request signal (PPR). This signal signifies that the previous message has not been satisfactorily received. The erroneous frames are specified in the facsimile information field (FIF) associated with the PPR signal and are required to be retransmitted. The FIF of the PPR signal has a fixed length of 256 bits. Each bit corresponds to a previously received FCD frame; e.g., the fist bit represents the fist FeD frame. The corresponding bits in the FIF 94 are set to 0 for FCD frames which are received correctly. Any frame that is improperly received or missing in transmission, the corresponding bit is set to 1. Once the transmitter obtains the PPR from the receiver, it begins retransmission of the requested faulty frames. The frame construction of PPR response is given in Figure 50.

HOLe information field

Flag Address Control FCF FIF FCS Flag (PPR)

o 1 :I 3 255 bits FIF: o •••• ••••

Figure 50 The frame construction of the PPR command.

When more than one retransmission is needed for any frame in the same block, multiple PPR signals, referencing the same block, are sent. The bit corresponding to any

FCD frame which has been received correctly is always set to O. This is done to ensure that no time is wasted on retransmitting previously received frames that are correct. The process of an ECM transmission is illustrated in Figure 51. 95

Send Receive Frame 0 1 Frame 1 X Error frame Frame 2 Frame 3 X

I Frame 255 ,

PPS·EOP FIF(PPR) ...... rO 1 PPA -~ ...- ml--···-··-···-·0 1 .-...-..-...-..

Frame 1 X 4\'- Error frame Frame 3 j

PPS·EOP -.... 0 1 2 3 2SS PPR -..~ ~ ~ , 0 1 .••••...... • Frame 1 J bV Pps·EOP t Corrected retransmission ..

MCF .....~ Figure 51 The process of error correction in ECM. 96 There are situations when a partial page has less than 256 frames; e.g., a number of retransmitted frames or a short block at the end of a fax page. Under these circumstances there may be bits in the PPR FIF that do not correspond to any frames.

These undefined bits are set to 1 as shown in Figure 53.

Send Receive Frame 0 \ ---J Error frame Frame 1 X 1, J N <; 255 Frame N I

pps·eop -.... PPR ......

HOLe information field

Flag Address Control FCF FIF FCS Flag (PPR)

o 2 3 N 2SS bits o •••

Extra bits Figure 52 Transmitting a PP having less than 256 frames. 97 Under ECM, flow control in the transmitting station is made by continuously sending the flag sequence between frames and before the first frame. In case of transmission on a noisy channel, a long flag sequence can be destroyed by noise. To handle this situation, the receiver is programmed to discard invalid frames which are obtained from erroneous flag sequences. Flow control in the receiving station is achieved by using four additional handshaking signals, Receive Ready (RR), Receive Not Ready

(RNR), End Of Retransmission (EOR) and End of Retransmission Response (ERR). RNR is sent from the receiver to inform the transmitter that it is not ready to receive more data at the moment. In return the transmitter sends the RR to inquire the status of the receiver. It keeps on inquiring the receiver until an MCF or an ERR response is returned back. The receiver continues to send RNR signals until it is ready to receive more data.

When the receiver is ready to accept new data, it replies the transmitter's RR signal with the Message Confirmed (MCF) signal. Transmission of the next PP then resumes. If the

RNR response is not received properly, an RR signal is resent to the receiver. When errors continue to appear in a certain frame, the transmitter terminates the retransmission of this frame by sending EOR. Transmission of the next block begins upon receipt of the

ERR response from the receiver. After three unsuccessful attempts to correct the frames, the transmitter sends a DCN command to release the call. Figure 53 shows how the transmitter and receiver utilize the handshaking signals during transmission. The detailed flowcharts in Figure 54 to Figure 77 show the signalling and control procedures during the phases B, C D and E of a fax transmission using ECM. 98

Send Receive \ Fax message J PPS-MPS -......

...... PPR ..... Training ... r

Retransmission frame \ J

PPS-MPS .... A: r Receive not T4 1 I ready I RNA I ~ A ...- I I T5 I I RR ... fA I .. T41 I RNR ~ I J ..... I J ,f RR .,.... :I I T4 1 I I J r I MCF Receive I I I~... ready Reset the T5 timer Training .... r Fax message \

Figure 53 Flow control in ECM transmission. 99

Transmitting nation

j------, Transmit I IL eNG .JI

... ······~~·r:~······· ... <... correction? ••.::------, ...... •...... Vel

___---1/ IV

Figure 54 Flowchart for ECM signalling procedures (sheet 1 of 24). 100

Receiving station , I ,I , , , ,I Phase B Pre-message proce,dures ,'-', " ..... , , "~C '~' ,I REC; ...... 3 Trie.? <, , '" , ...,... '" ", I I I r-_:~I~~_, r--~:I£~-, ,I , I " Go to non- , Identify capabilities " Go to tonal j ; apecifi.t ' ,procedures I ,proCltdure., i ~~~~~_~ I \ 1 } ,I , I No I I I ,I I I I Command appropri te mode V..~•...•..··L~~~L··...... ~;~~ .

No <.~~~:.....No ·····.~~~r=~······

...... _------y..... <:~~~~~:::>

No

Check ph •• ng/training

...... ~.;~~; . • i···porrection7...... ··· a I No •I •I I I I I Phase C Message transmission v••

No

VI 111

See the following page Note - The last command, except RR, was one of EON, PPS-EOM or EOR-EOM?

Figure 55 Flowchart for ECM signalling procedures (sheet 2 of 24)_ 101

Tranlmitting ltation

Yes

® r----.J..----, : Alert : : operator : ,l~o L---~I~---j ..., " ", T3 <, No ", LINE '" <... , .Iapsed? ... ,~ ..., REO? , ...>

<,J;'~:: r--~'~I~~_, : Transmit : I PRI-O I I I A L-----I----~ r------, : Phone : I to line I I I L---~I:---j

No " ...... OK to" ...... ~ntinu~~ > ,_:l~~,

" Go to '\ ~B ~ begining • \ of pha.. B " ' ..... __ .. _--,

Timtlrs Tl = 35 + 51 T2"" 6 + 1 I T3· 10'" 51

Figure 56 Flowchart for ECM signalling procedures (sheet 3 of 24)_ 102

(Set the preceding pege) Receiving station

Yes

No

r------, Ves PhaseD : Alert PO.t~lIag. : operltor I procedures L----r----.J

Yel ","LINE" .... " " REO? ,,> "'I~:

", .... , " 3RO '''', <"'~:"

, ... NO ,''COpy''.... : QUALITY '> " OK1 ", ...... " r----L----, r----I~~--, : Transmit :: T,.ansmit : I PIN 'I PIP I IL ~•IL ~,

No

Ves

Ph 18 E c.lI releese I I I I ,I

Figure 57 Flowchart for ECM signalling procedures (sheet 4 of 24). 103

Transmitting station

Interrupt

Yes

Figure 58 Flowchart for ECM signalling procedures (sheet 5 of 24). 104

Transmitting station

Transmit PPS-NULL

Ves

Transmit tr.ining

Transmit error fr.mel

Transmit Rep

Figure 59 Flowchart for ECM signalling procedures (sheet 6 of 24). 105

Transmitting station

Transmit PPS-MPS (PPS·PRI-MPS) No

No

Yes

Yes

...... ••....• PIP . _.. or PIN?..4.•:;. Yes:...... •....

£E "'a;~ Transmit training

Transmit error frames

Transmit Rep

Figure 60 Flowchart for ECM in signalling procedures (sheet 7 of 24). 106

Transmitting station

Transmit PPS-EOP (PPS-PRI-EOP)

No

Yes

Yes

.... ············~I~············ . es...... or PIN? . c5E .•....~:.•. Transmit training

Transmit error frames

Transmit Rep

Figure 61 Flowchart for ECM in signalling procedures (sheet 8 of 24). 107

Transmitting station

Transmit PPS-eOM (PPS·PRI-EOM)

Yes

No

Go to begining of phase B Transmit ...... ;~; . training .r ..... or PIN? •....•> E .•...d3~... Transmit cB .rror frames

Transmit Rep

Figure 62 Flowchart for ECM signalling procedures (sheet 9 of 24). 108

Transmitting station

No

No

Yes

Figure 63 Flowchart for ECM signalling procedures (sheet 10 of 24). 109

Transmitting station

Transmit EOR-NULL

Yes

Yes

Figure 64 Flowchart for ECM signalling procedures (sheet 11 of 24). 110

Transmitting station

Transmit EOR-MPS ceOR ·PRI·MPS)

Yes

Yes

...... PIN? ":: yes···...... -

No

Figure 65 Flowchart for ECM signalling procedures (sheet 12 of 24). 111

Transmitting station

Transmit EOR-EOP (EOR ·PRI-EOP)

Yes

...... -...... •••..•.. PIN? .•..•...••. -.. . Ves ...... No

Figure 66 Flowchart for ECM signalling procedures (sheet 13 of 24). 112

Transmitting station

Transmit EOA-EOM (EOR-PRI-EOM)

Yes

Yes

...... ' PIN? ::. yes···...... ' t...... , ...... No

E c

Figure 67 Flowchart for ECM signalling procedures (sheet 14 of 24). 113

Receiving station

...... er •~~~ PAl-a? ~~~~~~~~~~~~~~~~~~~~~~~_ ...... Ves 1 ...... ALERT Ves OPERATOR

Respond eTR <::~~~~~::::]~:~~~::>. Yes ...... •••••• T3 ••••••• •:..... elapsed? ....•: No ········l:~····· 8 ...... ~ ...... r . Transmit Transmit Transmit PIP PIN PIN or PIP

···..··..······1···..··· ··· ..·..· ··.. ~I· ··...... J. ------..-..-..-.-..-..-..-..1-..-..-..-..-..-..-.------

Phone to line :······....·····T····..·..··...... <. .••••••. OK "<, .:.... to continue? ...•:------...... No Yes

Go to B begining of phase B

Figure 68 Flowchart for ECM signalling procedures (sheet 15 of 24). 114

Receiving station E( ...... ~~ PPS·PRI~;~·~~~~~~~~~~~~~~~~~~~~~~~~ ..•..•.. .•..•...• Yes ...... 1 . ~~;~ . .::' QUALITY·:: ...... OK? Yes Ves ......

No

No

Respond PPR

Respond RNR

...... :······~~CAL INT?······:. ALERT OPERATOR No ...... •...... ················1··············· ...... l~~~ . .. Transmit ········~INE RE·~;·····:: PIP ...... Yes ··········r~~··· ...... ~ .

..... ' ...... 3RD . Yes ··· ~PS·PR 1-07 ···

<.,~~..•

Respond VII MCF Yes

Figure 69 Flowchart for ECM signalling procedures (sheet 16 of 24). 115 C( Receiving station ~~.~~~~;~~~~~~~~~~~~~~~~~~~~~~~~- <..> Yes

Yes

IX81----....------

Yes

Respond RNR

...... :..... LOCAL INTi····:. ALERT OPERATOR No ...... •....•.. ..•....•...... ···l··~es ················1··············· ...... Transmit .:: ~;~~. ~.~~; :: PIN ...... Yes -e...... ~ .. ·····f~~ . ~~ . :::.. EOR-PRI·O? ..:::- Yes ...... ~: .

Respond ERR II Yes

Figure 70 Flowchart for ECM signalling procedures (sheet 17 of 24). 116

Receiving station

No

Figure 71 Flowchart for ECM signalling procedures (sheet 18 of 24). 117

No

Rese' 6s timer T2

No

Ves No

Di.connect line

Response CRP

Figure 72 Flowchart for ECM signalling procedures (sheet 19 of 24). 118

rransm.' DeN

3

Process I .----,Oplional -----~ Disconnect I respon,e I the line L ..

14 4.55 ± 15%, for manual units T4 3.05 ± 15%, for automatic units

Figure 73 Flowchart for ECM signalling procedures (sheet 20 of 24). 119

Enter

Trllnsmit RR

Yes

Return (No) Return (Yes)

T5==601±5s

Figure 74 Flowchart for ECM signalling procedures (sheet 21 of 24). 120

Enter

SET MODE

Transmit eTC

Yes

No No

Return (No) Return (Yes)

Figure 75 Flowchart for ECM signalling procedures (sheet 22 of 24). 121

COMMAND REC The "command received" subroutine searches for an error-free standard command. The decision diamonds in the flow diagram refer to the most recent standard command received (e.g., EOM, MPS, etc.), COMPT REMOTE The FI F associated with the DIS has indicated a "compatible remote receiver", REC DOC TO XMIT The station has ··at least one document to be transmitted", COMPT REMOTE The FIF associated with the DIS has indicated a "compatible remote transmitter" which XMTR has documents to send. RESPONSE REC The "response received" subroutine which searches for an error-free standard response. LAST DOC The "last document", for the liven operating mode, has been transmitted. SET MODE The system controller will "set the appropriate mode" of operation. 3RD TRY The command has been repeated three times without an appropriate response. CAPABLE RE-XMIT The transmitting station is "capable of retransmitting" a document which was not received with acceptable quality. MSG CARRIER The "message channel carrier has been received", This carrier is 1800 Hz for the Group 3 REC modulation scheme, and 1700 Hz for the Group 3 optional modulation scheme, 2100 Hz for the Group 2 modulations, and 1300-2100 Hz for the Group 1 modulation scheme. PHASE/TRAIN OK. The phasing/training-TCF signal has been analyzed and the results of "phasing/training were OK·'. CHANGE MODE The transmitting unit desires to exit from the transmitting mode of operation and reestablish the capabilities. NSP REQ A "non-specified procedure" has been "recognized" by a unit compatible with the station initiating that procedure. COpy QUALITY OK. By some algorithm, the "copy quality was deemed OK.". REPHASEITRAIN By some algorithm, it is deemed desirable to transmit a new phasing/training signal. FLAG There has been the detection of a "flag". RECEIVE A FRAME The unit has "received one complete HDLe frame". FeS ERROR The HDLC frame received contained an "FeS error". OPTIONAL RESPNS The HOLC frame received contained one of the listed "optional responses". OPTIONAL The HOLe frame received contained one of the listed "optional commands". COMMAND CRP OPTION The facsimile unit has the ·'CRP option" and can, therefore, request an immediate retransmission of the most recent command. LOCAL INT Either the "local" machine or the "local" operator wishes to generate an interrupt of the standard facsimile procedures. An operator would use this as a means to request the establishment of voice contact. LINE REQ This means that the local operator has "requested" that the telephone line be connected to the handset for voice contact with the remote end. PRI-Q A general term referring to either PRI-EOM, a PRI-MPS, or a PRJ-EOP post-message command, i.e., the fifth bit of the standard post-message command is set to I. END OF PAGE? The transmitting station may have further data to transmit to complete the page. 4TH PPR'! PPR· has been received 4 times. TRANSMIT ERROR The frames defined in the information field associated with PPR are transmitted using the FRAMES V.27 ter/V.29 modulation system. CONTINUE TO The transmitting station by some algorithm decides to continue correcting the previous CORRECT? message.

Figure 76 Flowchart for ECM signalling procedures (sheet 23 of 24). 122

CONT WITH The transmitting station by some algorithm decides to continue and transmit the next NEXT MSG1 message. The previous message was not satisfactorily transmitted. PPS·PRI-Q1 The terminal has "received either PPS· PRI-EOM, pps. PR[-MPS~ or PPS· PRI-EOP post-message command". pps.Q? The terminal has "received either PPS·EOM, PPS·MPS, Pps·EOP or Pps·Null post­ message command." EOR·PRI-Q? The terminal has "received either EOR·PRI-EOM, EOR·PRI-MPS, or EOR·PRI-EOP post-message command." EOR·Q? The terminal has "received either EOR·EOM, EOR·MPS, EOR·EOP or EOR·Null post-message command". RECEIVE READY? The receiving station is ready to receive the next message. RR RESPONSE The "RR response received" subroutine searches for an error-free response for the RR ItEe? command. eTC RESPONSE The "eTC response received" subroutine searches for an error-free response for the eTC REe? command.

Note 1 - The non-specified procedure. NSP, refers to a procedure which takes 6 seconds or less to complete. It may not necessarily be a definable signal sequence.

Note 2 - This signal pertains to Group 3 apparatus only.

Note 3 - The PR1-EOM, PRI-EOP, PRI·MPS post-message commands are sent when a local interrupt request is pending.

Note 4 - At any time during the operation an interrupt may be generated which would result in a procedural interrupt. It is understood that if this interrupt happens during the transmission of the document, the EOM/RTC signal will be transmitted prior to invoking the procedural interrupt.

Note J- Where the symbol I is used, the term to the left of the symbol refers to Groups t and 2 equipment, and the term to the right of the symbol refers to Group 3 equipment.

Note 6 - Where the symbols { J are used, the signals within these symbols are a response to DIS from the calling unit wishing to receive.

Note 7 - Where the symbols () are used, the signals within these symbols are optional.

Figure 77 Flowchart for ECM signalling procedures (sheet 24 of 24). 123 CHAPTER 7

FAX DOCUMENT CONVERSION FROM OTHER ELECTRONIC DOCUMENT

FORMATS

Digitized images in themselves have limited value unless they can be put into a

form that can be recognized and manipulated by other computer applications. To make

this possible, different applications must agree on a certain standard format for storing image data. However this is a very difficult subject to agree on since different software developers have their own design philosophies. For instance, a Group 3 fax apparatus can only send and receive images conforming the T.4 facsimile format. On the other hand, none of the popular desktop publishers, optical scanners and graphics editors can read or generate T.4 fax image files. In order for the fax system to utilize image files generated by these applications, a graphics conversion module becomes essential.

The graphics conversion module serves the purpose of importing various image format files and converting them into the T.4 format for Group 3 fax transmissions. This

module is integrated into the facsimile information distribution system so that file conversions are done automatically. The file conversion process involves four main steps.

Recognizing the format of the imported file. Decoding the imported file according to its

format. Extracting the raw data and store them in memory for further manipulation. And

finally, encoding the raw data into the format that can be utilized by the intended application.

Among the numerous file formats in the PC community, our fax system has

chosen to support the American Standard Code for Information Interchange (ASCII) and 124 PCX which are the most widely accepted formats.

7.1 Converting ASCII Text Files into T.4 Fax Image Files

The source of facsimile transmissions is any graphical image stored in the T.4 format recommended by CCI'IT. Typical stand-alone fax units utilize a built in optical scanner to convert a printed hardcopy page of textual or graphical material into a raster image of pixels. In the case of the PC-based systems most documents are generated by word-processors or spreadsheets. An optical scanner becomes an optional accessory since computer generated documents can be directly converted into fax format files without the need for the printing and scanning processes.

Nearly all commercially available wordprocessors, databases and spreadsheets can generate textual documents in the ASCII format. Each character in the ASCII set is represented by a unique codeword as shown in Figure 78 . To convert an ASCII text file into a T.4 fax image file, the graphics conversion module utilizes a character generator to produce a matrix of dots or bits representing the image of each character. Since a standard fax page has a resolution of 200 dots per inch (dpi) horizontally by 100 dpi vertically, we choose a 24-column by 18-row bit-image matrix for each character to correct the aspect ratio problem. Each bit-image matrix of a character is called a font.

The fonts of the entire character set are stored into a file called the font file. By using different font files, this design allows users to employ various font styles for their fax documents.

The character generator is a software routine that maps the bit-images of the 125

The following table lists the characters in the ASCII character set and their octal and hexadecimal equivalents.

Char Oct H~r CMr Oct Hex eJuzr Oct Hex ChIlr Oct Hex , nul 0 0 sp 40 20 8 100 40 140 60 soh 1 1 ! 41 21 A 101 41 a 141 61 stx 2 2 ,. 42 22 B 102 42 b 142 62 etx 3 3 t 43 23 c 103 43 c 143 63 eot 4 4 $ 44 24 D 104 44 d 144 64 enq 5 5 , 45 25 E 105 45 e 145 65 ack 6 6 &, 46 26 F 106 46 f 146 66 bel 7 1 47 27 G 107 47 CJ 147 67 bs 10 8 ( 50 28 H 110 48 h 150 68 ht 11 9 ) 51 29 I 111 49 i 151 69 nl 12 A * 52 2A J 112 4A j 152 6A vt 13 B + 53 28 K 113 4B k 153 68 np 14 C , 54 2C L 114 4C 1 154 6C cr 15 0 - 55 20 M 115 40 m 155 60 so 16 E . 56 2E N 116 4E n 156 6E si 17 F / 57 2F 0 117 4F 0 157 6F dIe 20 10 0 60 30 p 120 50 p 160 70 del 21 11 1 61 31 Q 121 51 q 161 71 dc2 22 12 2 62 32 R 122 52 r 162 72 dc3 23 13 3 63 33 s 123 53 s 163 73 dc4 24 14 4 64 34 T 124 54 t 164 74 nak 25 15 5 65 3S u 125 55 u 165 75 syn 26 16 6 66 36 V 126 56 v 166 76 8th 27 17 1 67 37 w 127 57 w 167 77 can 30 18 8 70 38 X 130 58 x 170 78 em 31 19 9 71 39 y 131 59 y 171 79 sub 32 lA : 72 3A z 132 SA z 172 7A esc 33 IB ; 73 3B [ 133 58 { 173 78 fs 34 Ie < 74 3C \ 134 5C I 174 7C 9 8 35 10 75 3D ] 135 50 } 175 70 rs 36 IE -> 76 3E A 136 SE ~ 176 7E uS 37 IF ? 77 3F 137 SF del 177 7F

Figure 78 ASCII code table for text files. characters ofthe input ASCII text file into a two-dimensional array. This array represents the raster image plane of the converted document. Each bit in the image plane corresponds to a pel; 1 meaning black and 0 meaning white in the fax image. Figure 80 illustrates how the character generator produces a raster image of ASCII characters.

The conversion process begins with reading each line of characters from the input 126

7 6 543 2 1 0 765 4 321 0

:3 7' :3 a h. :3 Q CC h :3 1 a c h. :3 1 a c h. :3 1 a c h. :3 1 a c h. :3 1 a c h. :3 1 a c h. :3 1 a c h. :3 1 a c h. Figure 79 A bit-mapped character font.

ASCII file into a memory buffer, called the line buffer. The character generator then maps the first bit-image row of the characters in the line buffer, from left to right, into a line of 17284 bits of l's or 0' s in the image plane. This process is repeated for the same line of characters until all the 18 rows of bit patterns for each corresponding font is mapped into the image plane. For an A4-size fax page with standard resolution, the resultant image plane has the size of 1728 bits by 1145 lines. The resultant raster image has better quality than that produced by scanning the document using an optical scanner.

This is because all noises and distortions related to the mechanical scanning process are eliminated. After the raster image of the original document is generated, the source coding process described in Chapter 4 is applied to convert it into a T.4 fax format file.

4 The standard fax resolution utilizes 1728 pels per line. Higher resolutions using 2048 and 2432 pels are optional. 127

.~ .

~.

.,. :x I ]to

• .-; -...... -.... 4~.. ~---.-' ~.~~.

__ _ _••• ~..... • 0 : J I ::'.;:~'~: ~ :i~~.~\;'; ~:~::.;'.'. '.;'.::.~'. :-::-:-::~:t;~:::.:" :t;J·l-'::.::r'1':~.tfj:~·-tlj~;:··lll·:~ti:t i:r: -r-.~ --:~.~ .~.~t:t-: ,.~. ':T'~' "(-:'~llT -- ••• : ..... ; .. nt·; 'i- :"j""i1'r Figure 80 The bit-image of each character font is mapped into memory row by row. 128

7.2 Decoding PCX Graphics Format Files

Unlike ASCII text files which contain the codewords that describe the characters in the files, PCX files are themselves raster image files. The conversion module would appear to be a simple program to write since all it has to do is to decode the input file format and extract the image data into a 2-D image buffer. The next step would be applying the T.4 encoding process to encode the image data into the fax compatible format. The decoding process however is not as simple as it may appear. First, all image file formats employ some form of compression algorithm to minimize the storage space of the image data. The compression methods used by the file format must be well understood before the image data can be extracted. Second, the dimensions of the encoded image may vary and must be scaled properly to fit into a standard fax page.

Furthermore, these files may contain monochrome, grey-level or color image data. For grey-level and color images, a color palette or grey-level palette may be included as part of the file. Since the T.4 fax format only supports monochrome images, a process called dithering [36] must be applied to color or grey-level images to produce black and white images. In addition, some file formats are hardware dependent. For instance PCX files created for VGA (Video Graphics Array) display adapters are not compatible with the eGA (Color Graphics Adapter) or EGA (Enhanced Graphics Adapter) hardware. The conversion module must be able to recognize all these variations, extract and process the image data accordingly and then converts the image into a fax format file.

The PCX file format was developed by ZSoft Incorporated to be used with its commercial paint program PC Paintbrush?'. It was one of the earliest attempts in the PC 129 community to enable storage and standardization of graphical images. The current version, PC PaintBrush IV, has extended its file format to support up to 256 colors. The latest PCX format is a collection of three major types of images; monochrome PCX, 16­ color PCX and 256-color PCX. The monochrome PCX is simply a bit-mapped image using a bit 1 to represent a black pixel and a bit 0 to represent a white pixel. The 16­ color PCX file is actually four monochrome images, each having a different color attribute, interleaved to produce an image with 16 colors. The 256-color PCX works quite differently from the monochrome or the 16-color PCX files. It employs a 256-color palette to identify the color attribute of each pixel in the image. This color palette may also contain grey-level values thus making a 256-color image into a 256-grey-Ievel image. To distinguish which type of image is involved, all PCX files carries a 128-byte header. This PCX file header identifies the dimensions of the image, the type (i.e., monochrome, 16-color or 256-color), the color palette, if the image is a color PCX, and the compression method used to encode the image data. The layout of a typical PCX graphics file is illustrated in Figure 81. 130 0,.------Main Header Info PCXlPCC file header 16-color palette values 128 bytes exactly

Aux Header Info 127 ,.-- --1 128

Raster Image Data Length as required for image. Higher Run length encoded resolution implies more length.

Optional 769 bytes exactly Extended Color 1 tag Palette 768 bytes of RGB data

Figure 81 PCX file structure. 131

The PCX format is not very flexible with regard to the information that it can contain. Once the graphics conversion module interprets the information contained in the file header, the PCX file structure can be determined. The schematic of a PCX file header is shown in Figure 82.

char Manufacturer Byte char Version char Encoding char Bit_Per_Pixel int Xmin int Vmin int Xmax int Vmax int Hres int Vres char Palette[48] char Reserved char Color_Planes int Bytes_Per_Line int Palette_Type char Fill_Pattern[58]

Figure 82 The contents of the 128-byte PCX file header.

The Manufacturer byte in the PCX file header is utilized to determine if a file is a valid PCX file. This byte must always have the value of ten, i.e. AO in hexadecimal.

The Version field provides the PCX revision level used to encode the contained image. The major revision levels are listed in Table XVII. 132

Table XVII Version number and the corresponding PCX software version.

version PCX Software Revision o version 2.5 2 version 2.8 with palette 3 version 2.8 or 3.0 without palette 5 version 3.0 with palette

The Encode field indicates if the contained image is RLL (run length limited) encoded or byte packed. If the image is RLL encoded, this field will contain the value one. If the value is zero then the image is byte packed. Presumably ZSoft Inc. could introduce a second compression scheme in the future and make this byte a flag that identifies which other compression technique is used. At the present, all PCX files are

RLL encoded to save storage space. Thus this encode field always contains the value one.

The Bit-Per-Pixel value determines how many bits per pixel per bit-plane are used in the image. For 16-color, 4-bit-plane EGA images, the value of this field is one. A related field, Color-Planes, in this case would be set to four. In 256-color VGA images, the value for Bit-Per-Pixel would be eight and Color-Planes would be one.

The fields Xmin, Ymin, Xmax, and Ymax delineate the dimensions of the raster image contained in the PCX file.

The fields Hres and Vres contain the resolution of the display adapter required to display the raster image.

The Bytes-Per-Line field contains the number of uncompressed data bytes 133 necessary to contain a full line of image data. For 640 x 480 monochrome images, Bit-

Per-Pixel is equal to one and Bytes-Per-Line is equal eighty (640 pixels + 8 pixels per byte).

The Palette-Type field is used for 256-color PCX images. This field contains a value of one if the image is intended to be displayed in 256 grey-levels. If the field contains a value of two then the image has 256 different colors.

The beginning of the compressed image data follows immediately after the last byte of PCX file header. The image data is compressed by the RLL method developed by ZSoft Incorporated. In this method, each row of image data is compressed individually. Each row is encoded into a series of packets each containing a key byte and a data byte. The key byte specifies how the data is compressed. If the most significant two bits of a key byte are zeros, then the following data byte is not compressed and is stored directly into the image buffer as actual data. Otherwise, if the most significant two bits of the key byte are set to one, then the following data byte is RLL coded. The lower six bits of this key byte now contain the repeat count value of the current image packet.

When decoding the data byte, its value is written as image data as many times as it is specified by the repeat count value. Since the repeat count value can only use six bits, up to 63 bytes of identical bit-patterns can be compressed into one data byte. Longer bit­ patterns are compressed into more than one packet. Figure 83 describes how a monochrome PCX file is decoded. 134

START

Get a Byte

Are 2 high I*s set? NO YES

Write this Index ­ byte byte AND 3FH

DuplIcate next byte 'lndex' times

Is the whole line unpacked?

NO I YES

STOP Figure 83 The procedure for decompressing a PCX file. 135

Figure 84 A nice looking PCX monochrome image.

When dealing with multi-color PCX file formats, we need to understand the corresponding graphics adapter that the images are created with. For instance, 16-color

PCX images are intended for EGA display hardware. There are four bit-planes in a 16­ color PCX. The compressed d.ata consists of a row from each of the component bit­ planes. The order of the bit-planes is blue, green, red and intensity. That is, the fist data row represents the blue component, followed by the data row for the green component, then the data row for the red component, and finally, the data row for the intensity component of the original image. Figure 86 shows a 16-color PCX picture separated into four monochrome bit-planes. These four bit-planes, when loaded into the corresponding

EGA video buffers, will result in a complete 16-color picture. 136

1 pixel

4 image planes

Figure 85 Pixels interleaved into four image planes to create a 16-color picture. 137

.Original Image

Figure 86 The four planes of a 16-color PCX EGA image.

256-color PCX files are intended for VGA display hardware. Color palette information is appended to the end of the compressed image data in a 256-color PCX file. The color palette is a lookup table in which each entry consists of three bytes representing the percentages of red, green and blue light intensities required to form a specific color on the display screen. Every pixel of the color image uses a byte to store the reference number that specifies the corresponding color palette entry. In this case the image requires only one bit-plane but eight bits per pixel to store the reference number.

The process to decode the color PCX images is similar to the decoding procedures 138 used for monochrome PCX images. However, when dealing with color images the graphics conversion module must keep track of the color components involved in the image. The information stored in the different color bit-planes and in the color palette must be properly interpreted. These information are then processed by a dithering subroutine to generate binary images that gives a gray scale rendition of the original color images. The dithering subroutine utilizes an error diffusion algorithm called Floyd­

Steinberg filtering [37]. The Floyd-Steinberg filter is chosen to do the job since it has the best performance-to-complexity ratio among the other dithering methods, including

Bayer, Burkes and Stucki [38]. Some examples are shown in Figure 87.

The chapter has touched on the techniques for file format conversion and some of the related hardware issues. With the graphics conversion module, images created by various graphics software can be transformed into fax compatible files. The similar conversion process can be applied to convert fax format files into PCX image files.

These PCX files can then be imported to image databases, desktop publishers and graphics editors. File format conversion is a very intricate topic and to describe all the graphics file formats available in the PC industry is beyond the scope of this thesis. Until all software manufacturers agree on a specific graphics format to store images, file conversion continues to be an essential element in sharing image data among various applications. 139

Floyd-Steinberg dither - 16 seconds

Burkes dither - 22 seconds

Stucki dither - 33 seconds Figure 87 Results from dithering a color image using various error diffusion filters. 140

CHAPTER 8

LAN FAX-SERVER

A stand-alone fax unit can only be regarded as an information transmission facility but not an information distribution system. To make a fax unit as a complete information distribution system, the components to convert, store, maintain and distribute facsimile information must be incorporated into the design. These components allow documents generated by any computer application to be converted and transmitted as fax documents in a robust fashion. Furthermore, massive storage is required to handle the storage requirement for incoming fax documents. The system must also have the ability to route the received fax documents to their intended readers automatically.

The facsimile information distribution system (FIDS) described here is implemented at the application layer of an Open Systems Interconnection (OSI) LAN model [39] as a fax information server. As shown in Figure 88, the FIDS is a gateway that provides fax services to users across the OSI LAN and the PSTN. Each authorized user is assigned a subdirectory on one's local workstation to store facsimile documents. Each of these subdirectories is treated as a personal fax-mail box. All incoming and outgoing fax documents are routed to or from their owners' fax-mail boxes. Security levels and user-defined passwords can be ascribed so that sensitive materials can only be seen by the intended viewers. To provide services to document request from a remote stand-alone fax machine, the fax distribution system must be able to answer a user's phone call automatically. The system then greets the caller by a digitized voice message and allows the request for fax documents by means of a touch- 141 tone telephone. By decoding the DTMp5 signals, the system is capable of accepting instructions and selections from the caller.

The establishment of a fax call may be realized either manually, if a system operator is in attendance, or automatically. This establishment is described by the procedures for call setup during Phase A of any fax transmissions. Different fax services are provided by the fax server depending on how the fax call is initiated. These services can be classified into four types; LAN user initiated fax transmission, LAN user initiated fax reception, PSTN user initiated fax transmission and PSTN user initiated fax reception. These services are discussed in the following sections.

8.1 LAN User Initiated Fax Transmission

When a LAN user desires to transmit a fax document, the first step is to access the fax server's fax! phone database. This database stores names of contacts and companies, telephone and fax numbers, home and office addresses, and specific remarks.

The next step is for the user to select a particular person from the list of names to be the recipient of the fax document. If the recipient's name is not on the list, the user can choose to add it to the database. Any updates of the recipient's record can also be done at this time. After the selection, the system asks for the files to be sent as fax documents.

As discussed in Chapter 7, these files can be ASCII text, PCX graphics or T.4 fax image files. Depending on the file types the user selects, the graphics conversion module will

5. Dual-tone multifrequency (DTMF) dialing is the generic term for the widely used term Touch-Tone' dialing which is a registered trademark of the Bell System. 142

Layer FIOS

7 FAX UNITS 6

5

4

3

2

1

OSI LAN PSTN

Figure 88 The fax information distribution system acts as a gateway between the OSI LAN and PSTN. 143 automatically convert each one into the T.4 Group 3 fax format. At this point, the user is asked to begin fax transmission immediately or schedule the process for a later time.

The user may decide to send the fax at late night when the phone rates are low. Either way, a fax job description file containing information about the senders station identification (ID) number, the destination fax number, time of job submission, files involved in the transmission and the scheduled time for transmission is prepared. This job description file along with all the converted T.4 fax documents are now sent to the fax server to be serviced. Once the fax server obtains these files, it schedules to transmit at the requested time. Iftoo many requests are needed to be serviced at any time interval, the server sets up a queue table. Each request is serviced according to their time of arrival as recorded in the queue table. If two or more jobs arrive at the exact same time, then the workstation ID number is used to decide which one get serviced first. The workstation with the smallest ID number is served with the highest priority.

The fax/ phone database also allows the user to categorize a number of stored names into specialized groups. These groups are useful for group fax broadcasting. With the broadcasting feature, the user only needs to select a specific group to be the recipient of a fax document. Selecting individual members of the group is not necessary. Imagine you need to send the same notice to two hundred branch managers of an organization.

With the group selection feature, you just need to pick the group named "Manager" and start sending the document immediately. The time savings between making one selection and two hundred selections are tremendous. This is provided when you add each manager's name into the database, you have also assigned each one with the group name 144 "Manager". You can assign up to three group names to each person's record in the fax/ phone database. The user may optionally choose to temporarily remove certain members from the specified group for a particular fax transmission. When the transmission time comes, the server automatically searches for the fax number of the people belonging to the selected group. A list of the names of each recipient in the group is generated in alphabetical order. The server then delivers the fax document in sequence according to this list.

8.2 LAN User Initiated Fax Reception

Fax polling services are handled the same way as group fax broadcasting. Except in this case, the user wants to receive documents from various people rather than sending to them. A group of people is selected by the user to be polled at a particular time. The group names is submitted to the fax server for polling service. For secure polling, a extra file containing specific RTI numbers of each polled machine is also submitted as part of the fax job. These numbers are passwords for accessing individual polled fax units. The

RTI numbers are obtaining from the people at the remote sites. This RTI file is encrypted so that the passwords can be kept confidential. See Section 6.6 for details concerning polling services. At the specified time the server calls each person in the group for obtaining certain fax documents. Once the documents are received, they are routed to the fax-mail box of the user who initiated the job. A message file is send to the users workstation to notify him or her that the polling service is done. A log file is also sent, as in all fax services, to keep tack of what documents are received from which polled 145 unit. In addition, all errors occurred during the service are recorded into the log file.

8.3 PSTN User Initiated Fax Services

Obtaining fax services through the PSTN requires human interaction through voice communication. This method of establishing a fax call is designed for manual operation at both calling and called station. The original idea is to allow human operators to verbally identify and establish a fax transmission. However, in our facsimile distribution system, the human operator is replaced by a digitized voice prompt. This allows fully automated fax transmission on the receiving end.

Upon answering the phone, a digitized voice prompt greets the caller with the system's identification followed by a list of options for the caller to select. By using a touch-tone telephone, the caller can press the number corresponding to a desired selection. Through DTMF decoding, the system identifies the selected option and proceed with the appropriate fax services. This interactive voice response mechanism allows the facsimile distribution system to provide the following services (see Figure 89):

1. Deposit fax mail to a specify fax mailbox. A digitized voice message requests

to enter the fax mailbox number. After the caller enters the number, it is

repeated by the system for confirmation. An optional request for password

may be included. After the confirmation, the system will then prompt the

caller to switch his or her unit on line. The fax procedure then begins.

2. Store-and-forward fax documents. The user selects this function and deposit

a fax document into the server. The fax distribution system then inquires the 146

LINE CNG __~ FaxjVoice Access Switch Public Are

NoCNG Deposit Voice Fax Mail Prompt

Transmit Selected Access Fax Selected File Fax File (DTMF Decode) Notify User SetLog ~-

Figure 89 Fax deposit and retrieval services provided to PSTN users. 147 fax number of the destination and the time scheduled for the delivery. When

the scheduled time is reached, the documents will be forwarded to the desired

fax station. This facility is most useful for users who travel frequently. Its

worth noting that this service involves two parts. The service is initiated by a

user from the PSTN to deposit the document. However, when the time for

forwarding the document is reached, it is the server that initiates the

transmission to complete the job.

3. On-demand fax document retrieval service is provided to all users who can

gain access to the public service telephone network. The user selects a

particular document by a preset catalog number. The fax server searches its

document database using the catalog number as the key. When the document

is found, a digitized voice from the fax server prompts the user to press the

start button on his or her fax machine to begin reception.

With voice capabilities, the system can be designed to handle voice mail as well.

Voice messages are digitized by special AID conversion circuits into binary files. These files are stored in specific subdirectories of local workstations. These subdirectories can be regarded as voice-mail boxes. The only difference between fax-mail and voice-mail is that the latter can only handle incoming messages. If a LAN user wants to send a voice message, special hardware for recording the message is required. It is not cost­ effective to install voice-recording hardware in each and every workstation. To avoid the need for extra hardware, the user can call the information distribution server through the 148

PSTN. By using the telephone and the fax modem circuits installed in the server, the user can now deposit a voice message into his or her own voice-mail box for future use. 149 CHAPTER 9

CONCLUSION

This thesis has demonstrated that a sophisticated information system can be constructed by combining the computation power and architectural flexibility of PC's with the advanced digital facsimile technologies of Group 3 fax apparatus. Since the system is implemented for LAN applications, users connected to the LAN may benefit from all the facsimile services without the cost of fax modem hardware for every individual work station. The automatic scheduling and routing services provided by the fax manager program simplifies the process of sending and receiving fax documents. The password protection option is essential for sending and receiving confidential documents.

The broadcasting and polling services are especially efficient to handle massive information disbursement and collection. The entailed error correction mechanisms allow the system to perform efficiently even under noisy telephone line conditions. With the application interface and graphics conversion modules, fax documents can be prepared by all commercially available wordprocessors, spreadsheets, desktop publishers or optical scanners. By using the same modules, fax documents received from other fax systems may be imported to graphics editors, character recognition programs or image databases for further manipulations. The included interactive voice capabilities permit users outside the LAN to access the system by using touch-tone telephones. Voice recognition mechanisms can be introduced to the system allowing even more users to gain access to the system through the PSTN.

The transmission speed of the system can be improved by adding a CCITT 150 V.17/V.33 compatible modem into the hardware. With the V.17/V.33 modem, the system will be able to send and receive fax data at speeds up to 14400 bps. The considerations on this upgrade are compatibility and cost of the hardware. Since CCITT has recently included the modem specifications V.17IV.33 as an option for Group 3 fax apparatus, few fax machine manufactures have adopted this option. The majority of

Group 3 fax machines operating today still support transmission speeds up to 9600 bps only. Fax machines capable of operation at 14400 bps will have to transmit at 9600 bps in order to be compatible with the rest of the world. This makes the extra hardware useless. By the same token, only a few chip manufactures produce modem integrated circuits that conforms to the V.17IV.33 specifications. Until public demand forces more manufacturers to produce such kind of fax modem chip, the cost of it remains high and the availability remains low. However, it will not be surprising to see the population of

14400 bps fax units grows rapidly within the next year.

To improve the performance of the system in terms of handling fax documents, a coprocessor can be incorporated into the fax modem hardware. With the coprocessor and sufficient local memory, all T.4 and T.30 functions can be performed directly by the fax modem interface. This enhancement turns a host-controlled interface into a self­ contained intelligent peripheral. The intelligent fax modem allows the host computer to devote its computation power on scheduling and routing fax documents fully. The new system can be designed to run on a multi-tasking platform so that it can handle multiple telephone lines. For this purpose, more than one intelligent fax interface can be installed in a single host computer. A high speed data modem can also be added into the design 151 for E-mail and binary file transfers. The only disadvantage here is the cost of the coprocessor, local memory, firmware, direct memory access (DMA) circuitry and other related circuits. The hardware will be more complex and the control program will be more complicated. 152 REFERENCES

1. D. M. Costigan, Fax: The Principles and Practice of Facsimile Communication, Philadelphia, Chilton, 1971, pp. 1-11.

2. D. M. Costigan, Electronic delivery of Documents and Graphics, New York, Van Nostrand Reinhold, 1978, pp. 1-21.

3. H. Meyer, G. Rodolsky, F. Schaerer, and T. S. Huang, "Optimum run-length codes," IEEE Trans. on Commun., vol. COM-22, June 1974, pp. 826-835.

4. Federal Republic of Germany, "Relations between transmission time, transmission , maximum line feed speed, and buffer memory size in run length coded facsimile systems," CCITT Study Group XIV, temp. docum. No. 11, Sept. 1976.

5. Graphic Sciences, Inc. et. al., (no title, one-dimensional run-length code proposed for standardization), CCITT Study Group XIV, temp. docum. No.7, Sept. 1976.

6. Kalle Infotec U. K. Ltd., "Redundancy reduction technique for fast black-and-white facsimile apparatus," CCITT Study Group XIV, temp. docum. No.7, Sept. 1976.

7. D. R. Weber, "An adaptive run length encoding algorithm," Int. Conf. on Communications, San Francisco, U.S.A., 1975, pp. 7/4-7/7.

8. Kokusia Denshin Denwa Ltd., "Proposals for redundancy reduction technique of digital facsimile signals," CCITT Study Group XIV, temp. docum. No. 18, April 1975.

9. D. Preuss, "Two-dimensional facsimile source encoding based on a Markov model," Nachrichtentechn, Zeitschrift, vol. 28, Oct. 1975, pp. 358-363.

10. D. A. Huffmam, "A method for the construction of minimum redundancy codes," Proc. IRE, vol. 40, Sept. 1952, pp. 1098-1101.

11. K. R. McConnell, D. Bodson, and R. Schaphorst, FAX: Digital Facsimile Technology & Applications, Norwood, MA, Artech House, 1989, pp. 1-24.

12. A. Norman and D. A. Little, Electronic DOCllment Delivery: The ARTEMIS concept for document digitalisation and teletransmission, Learned Information (Europe) Ltd., 1981.

13. B. Brown, "PC to Paper: FAX Grows Up," PC Magazine, vol. 8, no. 7, April 11, 1989, pp. 94-144.

14. C. E. Shannon and W. Weaver, The Mathematical Theory of Communication, University of Illinois Press, Urbana, 1963. 153 15. H. Nyquist, "Certain Topics in Telegraph Transmission Theory," Bell System Technical Journal, April 1928, pp. 617-644.

16. C. R. Cahn, "Combined Digital Phase and Amplitude Modulation Communication Systems," IRE Trans. on Communications Systems, CS-8, 1960, pp. 150-154.

17. J. C. Hancock and R.W. Lucky, "Performance of Combined Amplitude and Phase­ Modulated Communication Systems," IRE Trans. Communications Systems, CS-8, 1960, pp. 232-237.

18. C. N. Campopiano and B. G. Glazer, "A Coherent Digital Amplitude and Scheme," IRE Trans. Communications Systems, CS-10, 1962, pp. 90-95.

19. R. W. Lucky and J. C. Hancock, "On the Optimal Performance of N-ary Systems Having Two Degrees of Freedom, " IRE Trans. Communications Systems, CS-10, 1962, pp.185-192.

20. F. K. Becker, L. N. Holzman, R. W. Lucky, and E. Port, "Automatic equalization for digital communication", Proc. IEEE, vol. 53, Jan. 1965, pp. 96-97.

21. G. Ungerboeck, "Trellis-Coded Modulation with Redundant Signals Sets," IEEE Commun. Mag., vol. 25, no. 2, Feb. 1987, pp. 5-21.

22. H. K. Thapar, "Real-Time Approach of Trellis Coding to High-Speed Voiceband Data Transmission," IEEE J. Sel. Areas Commun., vol. SAC2, no. 5, Sept. 1984, pp.648-658.

23. David M. Taylor, "Inside a Single-Chip Modem," Data Communications, Nov. 1982, pp. 111-115.

24. Yamaha LSI, MD96DX YTM401 9600bps Fax Modem Application Manual, Yamaha Catalog, No. LSI-2471092, Aug. 1990.

25. J. P. Hayes, Computer Architecture and Organization, 2nd Edition, McGraw-Hill, New York, 1988.

26. F. P. Duffy and T. W. Thatcher, Jr., "Analog Transmission Performance on the Switched Network," Bell System Technical Journal, vol. 50, pp. 1311-1348, April 1971.

27. H. Nyquist, "Thermal Agitation of Electric Charge in Conductors, " Phys. Rev., vol. 32, July 1928, pp. 110-113.

28. Title 47 of the Code of Federal Regulations, Telecommunications, Part 68, National Archives and Records Administration, Oct. 1, 1989. 154 29. Bell Labs, Transmission Systems for Communications, Bell Labs, PP 708-714.

30. D. A. Huffman, "A Method for the Construction of Minimum Redundancy Codes," Proc. IRE., vol.40 Sept.1952, pp.l098-1101.

31. F. Halsall, Introduction to Data Communications and Computer Networks, Addison­ Wesley, Wokingham, England, 1985.

32. Wayne D. Brodd, "HDLC, ADCCP, and SDLC: What's the difference?", Data Communications, pp. 115-122, Aug. 1983.

33. E. Loshe, "The role of the ISO in telecommunications and information systems standardization," IEEE Commun. Mag., vol. 23, pp. 18-24, January 1985.

34. H. Frank, R. E. Kahn, and L. Kleinrock, "Computer Communication Network Design _ Experience with Theory and Practice," AFIPS Conf. Proc., vol. 40, pp. 255­ 270, 1972.

35. W. W. Peterson and D. T. Brown, "Cyclic Codes for Error Detection," Proc. IRE, vol. 49, Jan. 1961, pp. 228-235.

36. B. Lippel, M. Kurland, and A. H. March, "Ordered Dither Patterns for Coarse Quantization of Pictures," Proc. IEEE 59, no. 3, March 1971, pp. 429-431.

37. R. W. Floy, and L. Steinberg, "An Adaptive Algorithm for spatial Gray Scale," SID International Symposium Digest of Technical Papers, vol. 1975m.

38. P. Stucki, "MECCA - A Multiple-error Correction Computation Algorithm for Bilevel Image Hard Copy Reproduction," Research Report RZI060, IBM Research Laboratory, Zurich, Switzerland.

39. J. Henshall and A. Shaw, OSI Explained: End to End Computer Communication Standards, Chichester, England, Ellis Horwood, 1988.