Compound electronic apparatus

Abstract: There is provided a compound electronic apparatus of a personal computer and a facsimile which are compatible with a general personal computer, comprising: a group of ports and a common memory which are provided between the personal computer and the facsimile and are used to transmit and receive various data; and an interruption signal generator to generate an interruption signal to the reception side when data is supplied from one of the personal computer and the facsimile to the other through the ports, wherein an interruption processing program which is started when the interruption signal is received is provided in a main memory of a central processing unit of each of the personal computer and the facsimile. With the apparatus, various softwares for general personal computers can be used without any change, while the facsimile function to transmit and receive image data via a line can be effectively used.

Description: The present invention relates to a compound electronic apparatus and, more particularly, to a compound electronic apparatus which can function both as a general personal computer and a facsimile. In recent years, electronic techniques have developed remarkably. Particularly, in the field of the personal computer, not only the hardware has been improved but also the quality of the software. In general, it is well known that for the now widely spread personal computer there is a wide variety of software available. Therefore, when an ordinary person considers buying a personal computer, in many cases he first considers the range of software which can be operated by the personal computer or its associated operating system (OS). On the other hand, on the side of the software maker, it is advantageous to manufacture software which can be used by personal computers because the market share of such apparatuses is large. An apparatus which is constructed by combining both a personal computer and a facsimile apparatus will now be considered. Explanation about the personal computer function is omitted here. To realize the facsimile function, additional features such as reading section to read a document, a printing section to print the received image, a line, a line controller to connect with the line, etc. are necessary. However, the OS of a personal computer (electronic apparatus) to which such new features have been added inevitably cannot help becoming unique. Therefore, the software of, for example, a word processor or the like which is operated by the above apparatus must be also independently developed. This raises the problem that a great amount of software resources which are widely commercially available cannot be utilized. For example the resolution output by the printing section of a facsimile is not controllable in the manner required by users of personal computers because of its different operating system. The present invention is made in consideration of the above problems and has as a concern to provide a compound electronic apparatus which can utilize the software which is commercially available for general personal computers without any change and can effectively use the function of a facsimile which transmits and receives image data through a telephone line. PCT Patent Specification WO-A-8808564 discloses a method of communicating data between the central processing unit of a host computer system and the central processor of a co-processor computer system using dual port interface hardware. This prior specification gives no consideration to the problem with which the present invention is concerned. In accordance with the present invention there is provided a compound electronic apparatus as set out in Claim 1. Fig. 1 is a block arrangement diagram of a compound electronic apparatus in an embodiment; Figs. 2A to 2C are external views of the compound electronic apparatus in the embodiment, respectively; Fig. 3 is a diagram showing the relation between the memory maps of CPUs in a personal computer and a facsimile in the embodiment; Fig. 4 is a cross sectional view of an image scanner and a printer and its peripheral devices in the facsimile in the embodiment; Fig. 5 is a diagram showing the positional relation between a touch panel and a display screen in the embodiment; Fig. 6 is a diagram for explaining the communication principle in the personal computer and the facsimile in the embodiment; Fig. 7 is a flowchart showing a processing procedure for a printer task in the facsimile in the embodiment; Fig. 8 is a diagram showing a general reading processing procedure by the image scanner; Fig. 9 is a diagram showing a format of FAX received data which was formed in the embodiment; Fig. 10 is a diagram showing the flow of data read by an image scanner in the embodiment; Fig. 11 is a flowchart for an application software using the image scanner which operates in the personal computer; Fig. 12 is a flowchart regarding the selection of a reading object which is started when an image reading process is instructed; Fig. 13 is a flowchart showing the content of an initializing process of the scanner in the case where the FAX received data is used as an object to be read; Fig. 14 is a flowchart showing the content of a parameter setting process in the case where the FAX received data is used as an object to be read; Fig. 15 is a flowchart showing the content of a skipping process of n lines in the case where the FAX received data is used as an object to be read; Fig. 16 is a flowchart showing the content of a reading process of one line in the case where the FAX received data is used as an object to be read; and Fig. 17 is a flowchart showing the content of a skipping process of one line in the case where the FAX received data is used as an object to be read. An embodiment according to the invention will be described in detail hereinbelow with reference to the drawings. <Description of the outline of construction> A compound electronic apparatus of the embodiment is constructed by a personal computer and a facsimile (which can be also used as a telephone by using a handset). The personal computer is compatible with a personal computer XT (hereinafter, simply referred to as PC-XT) made by IBM Corporation of U.S.A. and can directly use the commercially available software for the PC-XT. Although the personal computer and the facsimile independently operate, they can also interlockingly operate by a construction, which will be explained hereinlater. A standard "MS-DOS" (registered trade name of Microsoft Corporation of U.S.A.) of the PC-XT is used as an operating system (OS) which is operated by the personal computer. Fig. 1 shows a block arrangement diagram of the compound electronic apparatus of the embodiment. Figs. 2A to 2C show external views (a keyboard is not shown) of the compound electronic apparatus. Reference numeral 10 denotes a central processing unit (CPU) in the personal computer. A CPU "8086" of 16 bits made by Intel Corporation of U.S.A. which is used in the PC-XT is used as a CPU 10. A CRT 11, a keyboard 12, a memory 13, an auxiliary memory device (floppy disk device) 14, a serial port 15, a printer port (based on the standard of Centronics Corporation) 16, expansion slots 17, and the like are provided to construct the personal computer which is compatible with the PC-XT. Since those components are also provided for ordinary personal computers and are general components, their detailed descriptions are omitted here. "V50" made by NEC Corporation is used as a CPU 20 to control the whole facsimile. A transparent touch panel 21 arranged in front of the CRT 11, an image scanner 22 to read a document, a printer (line printer) 23 for visualizing a received image and outputting, a FAX controller 24 to control the transmission and reception of the facsimile, and a memory 27 which is used during the operation of the CPU 20 are connected to the CPU 20. Fig. 2A shows a state in which a document 207 is being read. Fig. 2B shows a state in which the FAX received image is being printed onto a thermal recording paper. A thermal recording paper 222 has a roll-shape and is held in the rear portion of the main body. Fig. 2C shows a state in which a lid 227 of the rear portion of the main body is opened. It will be understood that the roll-shaped recording paper 222 is enclosed in the rear portion. Reference numeral 204 in the diagram denotes a stacker to set documents to be read. Reference numeral 226 denotes a feed roller of the recording paper 222. When the lid 227 is closed, a gear 228 attached to a shaft of the roller 226 is come into engagement with a gear (not shown) of the main body, thereby allowing the rotation of a paper feed motor to be transferred. Fig. 4 shows a cross sectional view of a document reading mechanism and a mechanism regarding the recording onto the thermal recording paper 222 and its peripheral components. In the diagram, reference numerals 205 and 206 denote document guides which are set by an operator in correspondence to a width of documents (the document surface is set to the lower side) stacked on the stacker 204. When a pickup roller 308 is located at the position shown by a broken line in Fig. 4, the documents 207 on the stacker 204 are pulled out onto a conveying path by the pickup roller 308 and are separated one by one by a separating roller 309. Each paper is conveyed on the conveying path toward the side of a platen 300. When the document 207 is conveyed to the position where it is sandwiched by the platen 300 and a pinch roller 401, the pickup roller 308 is moved up to a position shown by a solid line in the diagram and the conveyance of the next document is inhibited. Reference numeral 403 denotes a sensor which is arranged on the conveying path on the downstream side of the pickup roller 308 and detects the presence or absence of the sheets on the stacker 204. Reference numeral 404 indicates a document sensor which is arranged on the conveying path on the downstream side of the separating roller 309 and detects the conveyance of the sheet by the separating roller 309. The document 207 sandwiched between the platen 300 and the pinch roller 401 is guided to the image scanner (which is in contact with the platen with a predetermined pressure) 22 and stopped. After that, the document 207 is sandwiched by the platen 300 and the pinch roller 401 and is read one line by one by the rotations thereof, while the document is discharged to the outside by a discharge roller 244. The above description relates to the outline of the operation of the image scanner 22 in the embodiment. The operation of the printer 23 to print onto a thermal recording paper will now be described with reference to Fig. 4. The thermal recording paper 222 which is wound like a roll is rotatably enclosed in the main body of the apparatus. One end of the paper is sandwiched between the roller 226 and a thermal line head 113. The paper 222 which was recorded by the head 113 is discharged to the outside by the rotation of the roller 226. Obviously, the thermal line head 113 has almost the same width as that of the thermal recording paper 222 and is arranged almost perpendicularly to the conveying direction of the paper 222, thereby recording one line by one. Reference numeral 223 denotes a sensor which is arranged on the upstream side of the roller 226 and detects the presence or absence of the thermal recording paper, 224 indicates a sensor to detect that the lid 227 in the rear portion of the main body was opened upon exchange of the paper 222, and 225 represents a cutter to cut the paper 222 after data of one page was recorded onto the paper 222. Returning to Fig. 1, the personal computer and the facsimile are connected through various ports and registers and a common memory which is commonly used by the CPUs 10 and 20. That is, in the diagram, command ports 30 and 32, status registers 31 and 33, a common memory 34, and a printer port (based on the standard of Centronics Corporation) 35 are used to connect the personal computer and the facsimile. The above ports, registers, and the like excluding the common memory 34 are constructed by one gate array. When inputting a certain instruction from the personal computer side to the facsimile, it is sufficient to output (set) command data as an instructed content to the facsimile through the command port 30 (actually, a strobe signal is output after the command data was output to the command port). When the command data was set to the command port 30, a BUSY terminal of the status register 31 is turned on in a hardware manner. The status of the BUSY terminal is turned off (ready) when the facsimile side can accept the next command. The CPU 20 sets a signal indicative of such a command acceptable state to the status register, thereby turning off the BUSY terminal. If parameters or the like which are transmitted to the facsimile exist upon generation of a command, it is sufficient to generate the command data after the parameters or the like were set into the common memory 34. Since the received command data is analyzed on the facsimile side, the presence or absence of the parameter data can be discriminated. By the similar principle, when the CPU 20 of the facsimile outputs the command data to the personal computer, the command port 32 and the status register 33 and, if necessary, the common memory 34 are used. Since the operation in this case is substantially the same as that in the case of transmitting the data from the CPU 10 to the CPU 20, its detailed description is omitted. There is the printer port 35 as another device in the case where the personal computer side generates an interruption signal to the CPU 20 of the facsimile. The printer port 35 is similar to the printer port 16 provided for the personal computer which has already been shown. When data of an object to be printed is output to the facsimile side through the printer port 35, interruption occurs in the CPU 20. Ordinarily, the print-out data of the personal computer is output via the printer port 35. Although details will be explained hereinlater, the printer port 16 provided for the personal computer is used to connect the "second printer". Fig. 3 shows memory maps of the CPUs 10 and 20 in the personal computer and the facsimile in the embodiment. On the personal computer side, the operating system MS-DOS uses an area "A", addresses "A0000" to "CFFFF H (H indicates the hexadecimal number), and addresses "FC000" to "FFFFF H " and the user (or application program) can use only about 640 kbytes until address "A0000" excluding the area "A". In the embodiment, a driver program which is necessary to couple with the facsimile is always provided in addresses "D0000" to "FBFFF H " as a free storage area of the MS-DOS. In the above free storage area, the space of 64 kbytes in addresses "D0000" to "DFFFF H " is constructed by the common memory 34. However, the common memory is an RAM having a capacity of 128 kbytes and executes a bank switching on a 64-kbyte unit basis. On the other hand, the memory 27 on the facsimile side is accessed by the CPU 20 and cannot be directly accessed by the CPU 10. Therefore, the memory space of the CPU 20 doesn't need to be controlled by the general operating system as in the personal computer as shown in the diagram. However, in addition to an interrupting processing, which will be explained hereinlater, processings regarding the transmission and reception of data of the facsimile, character font patterns, and the like, a program to emulate a printer which is connected to the PC-XT is stored in an ROM area of addresses "E0000" to "FFFF H " The data received through the printer port 35 is printed by the printer 23. The outline of the construction of the electronic apparatus in the embodiment has been described above. <Description of data transmission and reception> The outline of the processings regarding the data transmission and reception between the personal computer and the facsimile will now be described. The CPU 10 of the personal computer executes various application programs under the management of the operating system "MS-DOS" in a manner as already described above. When considering that the application program is a software for the PC-XT, to access to the command ports 30 and 32, status registers 31 and 33, common memory 34, and the like excluding the printer port 35, the user may think that the application software must have been programmed so that they can be accessed. However, it is not always necessary to program the application software in such a manner. In the embodiment, the program of the device driver or the like using the command port and the like is always provided in the space area of the "MS-DOS" as already described by using Fig. 3. The program is started by the interruption signal which is generated when the CPU 20 of the facsimile sets the command data to the command port 32. When the CPU 10 of the personal computer receives the interruption signal, the application or the like which has been executed so far is interrupted and the program which is always provided in the space area is executed. In the beginning of the program, a processing to analyze the command data which was set in the command port 32 is first executed and a subroutine corresponding to the result of the analysis is called. Various command data are output to the facsimile side through the command port 30 in accordance with the necessity by each of the subroutines. Since the communication between the personal computer and the facsimile is started by the execution of the above procedure, the subsequent communication is performed by the program to transmit and receive each command data. Such a processing procedure is clearly shown in Fig. 6. The CPU 20 on the transmission side of the command data waits until the CPU 10 as a reception side of the command data is set to a receivable state. After that, if parameters or the like associated with the command data exist, they are set into the common memory 34 and the command data is set to the command port 32. On the other hand, the CPU 10 on the reception side first analyzes the received command data by the interrupting processing. If the parameters associated with the command data exist, the CPU 10 also reads the parameter data from the common memory 34. The processing corresponding to the received command is started and a signal to turn off the BUSY terminal is output to the status register 33 when a timing at which the reception of the next command data can be permitted has come. Although Fig. 6 shows the case where the CPU generated the command data to the CPU 10, substantially the same processings are also executed even in the case opposite to the above. The above data transmission and reception are also executed during the processing corresponding to each command data. It is possible to consider that the facsimile outputs command data to the personal computer when it is determined that, fundamentally, the facsimile side receives some information and must send to the personal computer. For instance, there is considered a case where the CPU 20 detected that the touching operation has been executed to the touch panel 21, or the like. Although the positional relation between the touch panel 21 and the CRT 11 has already been described, a practical example is as shown in Fig. 5. Marks 50 and 51 such as "FAX", "TEL", or the like are printed at a right upper position of the touch panel 21 by a size such as not to obstruct the display content on the display screen of the CRT 11. When the mark 50 is touched, that is, when a command to execute the facsimile transmission is given, the CPU 20 of the facsimile generates command data indicating that the touch panel 21 was touched, data indicative of the touched position, and the like via the command port 32 and common memory 34. Due to this, the CPU 10 of the personal computer receives the interruption signal and temporarily interrupts the processing of the application program (or the command input waiting state of the OS) which has been executed so far or the like and executes a displaying processing of a menu or the like regarding the facsimile transmission (the content displayed until now is saved into the space area). Then, by selecting one of the menus, the document image is set onto the stacker 204 according to circumstances and, then, dial numbers displayed on the CRT 11 are touched or the like, thereby outputting the data such as partner's telephone number of the like which is necessary for transmission to the facsimile side. At this time, it is also possible to display a telephone directory or the like on the display screen and to select either one of them by the operator. In any of the above cases, the CPU 20 of the facsimile knows that the parameter such as partner's telephone number or the like exists in the common memory 34 by receiving and analyzing the received data. After that, the CPU 20 executes a well-known procedure such that the document image which was read by the image scanner 22 is facsimile transmitted. In the case of calling, the operator picks up a handset 26 or touches the mark 51, so that he can call. The case of first generating command data from the facsimile to the personal computer is not limited to only the above example. For instance, command data is also generated in the case where if an originating call was input from the outside, a message indicative of the presence of the originating call is displayed on the CRT 11 or the case where a message indicative of the absence of the thermal recording paper 222 is displayed, or the like <Document printing> As also already described above, the personal computer side outputs the printing data (one-byte unit) through the printer port 35. The CPU 20 on the facsimile side fetches the printing data from the printer port 35 and stores into a reception buffer or the like by an interrupting routine which is received at this time. Further, in general, the program to emulate the printer which is connected as a standard printer to the FC-XT is started and the printing data is printed by the printer 23. Due to this, by executing the printing by the application program which can be operated by the personal computer side, a visual image can be output by the printer 23 provided for the facsimile. The data which is printed at this time is not limited to only "sentences" in this meaning. This is because, the application softwares such as CAD, spread sheet, and the like which can be operated by the PC-XT can be printed by at least a printer which can be connected to the PC-XT without limiting to only the word processor software. This is because the printer is obviously emulated in the embodiment. In this case, a thermal recording paper is used as a recording paper to be printed. To print by using another printer (such as a wire-dot printer or the like) which can be connected to the PC-XT, such a printer is connected to the printer port 16 provided for the personal computer side. It is sufficient to merely install a device driver program to switch an output object port from the printer port 35 to the printer port 16. <Word processor transmission> Generally, in the case of executing the facsimile transmission, the document image which was read by the image scanner 22 is transmitted by the FAX controller 24. In the embodiment, in addition to the facsimile transmission, for the application program (for instance, English word processor, spread sheet type, or software such as CAD or the like) which can be operated by the personal computer, a print image (document, figure, or the like) can be directly facsimile transmitted by merely selecting the print command menu which is provided by the program without changing the application program at all. An example in the case of FAX transmitting a document which was formed by the English word processor software which is operated by the PC-XT will now be explained. Fundamentally, it is sufficient that command data indicating that data which will be output from now via the printer port 35 is used not for printing but for facsimile transmission is output to the facsimile side during the activation of the English word processor software (it is also possible to output such a command data before the English word processor software is not started). That is, by touching the mark 50 of "FAX" on the touch panel 21, a message indicative of the execution of the FAX transmission is informed to the CPU 10. Although the CPU 10 displays the menu picture frame by the interrupting routine at this time, an item indicative of the execution of the word processor transmission is provided in the menu. The operator sees and touches this item. The facsimile side informs the data indicative of the touched position or the like to the personal computer side, so that the CPU 10 can know that the word processor transmitting mode was selected. After that, buttons to input a telephone number are displayed on the display screen and the proper buttons corresponding to the telephone number on the partner side to be transmitted are sequentially touched, thereby inputting the telephone number of the destination of transmission. After completion of the data setting regarding the facsimile transmission, the command data indicative of the word processor transmitting mode and the parameters such as destination telephone number and the like are sent to the facsimile and the inherent word processor software is restarted. By instructing the printing operation during the operation of the word processor software, the document data is output to the facsimile through the printer port 35. Since the facsimile has already received the command indicative of the word processor transmission and the parameter (telephone number of the destination of the transmission), the facsimile has already, known that the "printing data" from the personal computer is used not for printing but for facsimile transmission. Thus, the facsimile is in the standby mode for the word processor transmitting processing at this time point. In this task, the dot image data to print the received data by using an emulating function is stored into a space area in the memory 27 (the processings until now are the same as those in the ordinary printing of sentences of the like). After that, it is sufficient to execute substantially the same processing as that in the case of transmitting the document image which was read by the image scanner 22. Briefly explaining, the image stored in the memory is compressed and encoded and is transmitted to a facsimile apparatus on the partner side connected to the line in accordance with a predetermined protocol. The above word processor transmitting processings will now be summarized. The following characteristic advantages can be obtained. First of all, in the case of the application software which is operated by the PC-XT as well as the word processor software, the data or the like which was formed (generated) by such a software can be FAX transmitted by substantially the same operation as the ordinary printing operation. Second, a program such that the file stored in the conventional disk is converted into the file for transmission in a software manner is effective to only the limited application software and is not general. However, the embodiment can cope with every application software. Therefore, although the embodiment has been described with respect to the case of <Word processor transmission>, it will be easily presumed that such an explanation has been made for convenience of description. On the other hand, there is also an advantage such that the personal computer is rapidly released from the printing operation in dependence on the capacity of the reception buffer in the facsimile as a reception side of print data. <Description of printer task processing> Substantially the same processings are merely executed for the above-described <Document printing> and <Word processor transmission> when they are seen from the application software which is operated by the personal computer. In brief, there is a difference between them with respect to whether or not a command for the word processor transmission has been given to the facsimile by touching the mark 50 or the like on the touch panel 21 during the operation of the application software before "print" as one of the functions of the softwares is instructed. In other words, the print data is printed or FAX transmitted by the processing on the facsimile side as a reception side of the print data. The content of the operation processings of the CPU 20 on the facsimile side will not be described in accordance with a flowchart of Fig. 7. In addition to the flowchart shown in the diagram, a processing to receive the print data exists as an interrupting processing. The interrupting processing is started when the personal computer outputted the print data to the printer port 35. The data latched in the printer port 35 is fetched and stored into the reception buffer provided in the memory 27. In step S11, the apparatus waits until the reception buffer is filled with data by the interrupting processing or the timer has timed out. "time out" denotes the case where the next data is not input from the personal computer side even after the elapse of a predetermined time and copes with the word processor transmission. (the details will be explained hereinlater). If the "full state" of the reception buffer or "time out" occurred, step S12 follows and the print image corresponding to the received print data is stored into the printing buffer. After that, a check is made to see if a command for the word processor transmission has already been received from the personal computer or not. If the print data was received without receiving any command, this means that the stored image data is the data to be printed by the printer 23. Therefore, the processing routine advances to step S14 and the emulation as an ordinary printer which is connected to the PC-XT is executed, thereby printing by the printer 23. The printer 23 is a line printer and is inherently used for a facsimile, so that the resolution differs from that of the printer to be emulated. Therefore, an interpolating (or thinning-out) processing or the like is executed for the stored image data and the image data is printed at the same character size as that in the case where it was printed by the emulated printer. Since a well-known processing is used as an interpolating or thinning-out processing, its detailed description is omitted here. If command data (including parameter data for the like) indicative of the word processor transmission was received from the personal computer before the print data is received, the processing routine advances sto step S15. It is known that the FAX transmission is executed on a page unit basis and, upon FAX transmission, data indicating whether the target page is the last data (the data which is subsequently transmitted exists) or not is also transmitted to the facsimile apparatus on the partner side. However, since the data which is sent from the personal computer is fundamentally the print data, if the received data is simply sequentially stored as image data and converted into the MH-encoded data and the like, the transmission side cannot discriminate which data is the last transmission data. Therefore, in the embodiment, if the next data is not input even after the elapse of a predetermined time after the latest print data had been received, that is, when the foregoing "time out" has come, it is determined that the data which was received so far is the data to be transmitted. In step S15, the stored image data is encoded into the MH data and stored into a temporary file (200 kbytes are provided as shown in Fig. 3). Then, if it is decided that the temporary file is not filled with the image data, the processing routine advances from step S16 to step S17 and a check is made to see if "time out" has occurred or not. If NO, the processing routine is returned to step S11 for preparation of the reception of the next data. If it is determined that the temporary file was full, step S18 follows and a check is made to see if the temporary file which was full at this time point is the first time file or not. If YES, step S19 follows and command data indicative of the "full state" of the temporary file is sent to the personal computer via the command port 32. In response to this command data, the personal computer starts the interrupting processing and displays selection menus indicating "Only the very page is transmitted", "All of the pages are transmitted", "The transmission is halted", or the like on the CRT 11. The user looks at the display and selects proper one of the menus through the touch panel 21. The data transmission and reception between the personal computer and the facsimile after the menus were displayed are executed as follows. If the facsimile detects that the touch panel 21 was touched after the display of the menus, a command indicating that the touch panel was touched, the coordinates of the position on the touch panel which was touched, and the like are sent to the personal computer via the command port 32 and common memory 34. Since the personal computer receives the above data and can determine which menu was selected, the command data indicative of the selected menu is output to the facsimile. When the result of the selection is received in step S20, the processing routine advances to step S21. In accordance with the result of the selection by the user, the processing routine advances to either one of steps S22, S23, and S25. However, if it is decided in step S17 that "time out" occurred, step S22 follows In step S22, it is determined that the very page is the final page in the FAX transmission, and the FAX task is started by regarding as "the next data is absent". In step S23, it is determined that "the next data is present", and the FAX task is started. In step S24, the apparatus waits for completion of the transmission of the very page and the processing routine is returned to step S11. In step S25, the halt of the transmitting processing is instructed to the FAX task. In step S26, a processing (the temporary buffer is cleared or the like) regarding the transmission halt is executed. After that, the processing routine is returned to step S11. The FAX task denotes a processing to transmit the MH-encoded data stored in the temporary file to the designated destination on a page unit basis. The FAX task is also called in the ordinary case of reading the document image and transmitting. Since the above processing is not so different from the ordinary facsimile transmission, its detailed description is omitted. The discriminating process in step S18 is provided to deal with the situation when the operator wants to transmit only the head page of the formed document or the like in the case of the word processor transmission. Step S18 is also provided to quit the annoying menu display for the second and subsequent pages in the case where, for instance,. the "whole page transmission" was selected. <Description of image reading> An example in which the printer 23 of the facsimile and the facsimile transmission are effectively used has been described above. An example in which the image scanner 22 to read the document or the image which was received by the facsimile is utilized will now be described hereinbelow. That is, the following operations are realized without changing the application software for the PC-XT at all. 1 ○ The read data from the image scanner 22 of the facsimile is returned to the application side as the same result as that of a general scanner which is connected to the PC-XT (for example, serial port). 2 ○ The data which was FAX received is returned to the application side as the same result as that of a general scanner connected to the PC-XT. In the case where no command is given to the facsimile side, the image which was received via the line is ordinarily printed by the printer 23 by a predetermined receiving processing. However, by outputting predetermined command data from the personal computer via the command port 30, the personal computer receives via the common memory 34 the data which was received through the line and can store into the auxiliary memory device 14. The objective operation of the item 2 ○ uses the FAX received data stored in the auxiliary memory device 14. The facsimile apparatus compresses the image data by the MH-encoded data and transmits. By the above processing, the apparatus can store the received NH-encoded data into the memory device 14 as a file. Fig. 9 shows the details of a reception file. "common header", "reserved data", and "No. of whole pages" to specify the reception file, "page header", and the encoded data for each page are arranged in the reception file. The number of whole pages of the document images which were received is stored in the "No. of whole pages" and two bytes are allocated. On the other hand, information as shown in the diagram is stored as a content of the page header. An image reading processing of the embodiment will now be described hereinbelow in consideration of the foregoing outline. A processing to fetch the read data of the application (for example, image edition or OCR or the like) which is operated by the PC-XT and uses a scanner will now be simply explained. It will be obviously understood that a device driver program to read the data from the scanner is provided before the application is operated. Such a kind of image scanner scans the document surface to be read one line by one in a manner similar to the image scanner 22 of the facsimile. The scanning direction is set to the main scanning direction and the relative moving direction (moving direction of the document or scanner) of the image scanner and the document which is perpendicular to the main scanning direction is set to the sub scanning direction. In the software using the scanner, the following processings are ordinarily executed to specify a reading range of the document surface. 1. The reading start position and the number of dots to be read are designated for the main scanning direction. 2. For the sub scanning direction, a specified range is read by skipping the lines. The processing flow is as shown in a flowchart of Fig. 8 in detail. First, the scanner is initialized (step S81). The initialization also includes a paper discharge processing or the like in the case where, for instance, the preceding reading operation or the like was stopped. Then, parameters of the scanner are set (step S82). The parameters include resolutions in the main and sub scans, a reading start position in the main scanning direction, a reading width in the main scan, a reading density, a reading mode (binary, dither, multivalue, etc.), and a data type (raw data, run length, MH data, etc.). After the parameters were set, step S83 follows and a line skipping processing is executed until the scanner reaches the line to be read (n lines from the start of the reading). After the scanner reached the line to be read, a processing to read the data one line by line is executed (steps S84 and S85) because a reading interval (m lines) comes. After that, a processing to skip the lines until the end of the document is executed and the reading of one document is finished. In the embodiment, the application paid an attention to that the scanner reads the data in the above processings, the apparatus operates as if the scanner scanned the image, and the data is returned to the application. The processings will be executed as shown in Fig. 10. Through a scanner emulation driver software provided in the personal computer, an object to be read is set to the FAX reception data stored in the auxiliary memory device 14, the image scanner 22 (referred to as an FAX scanner) of the facsimile, or the inherent image scanner (deferred to as a personal computer scanner or PC scanner) which is connected to the personal computer. Ordinarily, when an application software using the image scanner (PC scanner) is started, the scanner driver is loaded into the memory before the application software is started. However, in the embodiment, a driver having three functions of the personal computer scanner, FAX scanner, and FAX reception data which have been prepared is provided and they are previously loaded before the application is started. As shown in a flowchart of Fig. 11, most of the application softwares using the image scanner fundamentally select one of the processing menus and repetitively execute the processing regarding the selected menu. Among them, if a command to execute an image reading process from the scanner is given, the above-described driver is activated and menus to select an object to be read are displayed as shown in Fig. 12. The operator selects either one of the menus by using the touch panel 21, so that the processings of Fig. 8 descirbed above are started. The case where an object to be read by the image scanner was set to the FAX reception data will now be described. In this case as well, the image data is fetched through the processings shown in Fig. 8 and the processing contents are as follows. First, an initializing processing of the scanner in step S81 will be described with reference to Fig. 13. In step S131, the MH file stored in the auxiliary memory device 14 is opened. If it is decided in step S132 that there is no MH file to be opened, an error code (e.g., absent of document) is set (step S133) and the processing routine is returned to the application. On the contrary, if the relevant file exists, the header of the MH file is read and a check is made to see if a page image to be read exists or not. If YES, the processing (step S82) at the next stage is executed. If NO, step S133 follows. After the scanner was correctly initialized, the processing routine advances to step S82 to execute a parameter setting processing. The parameter setting processing will be described in detail by using Fig. 14. A pointer indicative of the special position in the NH file which was opened by the foregoing processing is first moved to the head position of the target page (page data and encoded data) (step S141). The page header of the target page is read (step S142). In step S143, a check is made to see if the target page is a page to be read or not (which is designated by the operator). The target page is sequentially updated until the very page comes. After the pointer was updated to the page to be read, the processing routine advances to step S144 and the reading start position and reading width in the main scanning direction are set or the data type is set. The other parameters are set in accordance with the NH file. After the parameter setting processing in step S82 was finished, step S83 follows and a processing to skip n lines is executed. An example of the n-line skipping processing will be explained in accordance with Fig. 15. In step S151, a check is first made to see if the lines until the end of the page are skipped or not. If YES, step S152 follows and an EOP (end of page) code is returned as a return code when returning to the application. If NO in step S151, the NH file is opened (step S153) and the data of 972 bytes in the encoded data of the target page is read (step S154) and converted into the raw data, that is, dot image data (step S155). After that, the pointer is updated to the position of the NH data of the next line (step S156). A check is made to see if one page has been completed or not on the basis of the value of the pointer (step S157). If it is determined that the processing of one page has been completed, the EOP code is returned as a return code to return the processing routine to the application. Step S161 then follows and the file is closed. On the other hand, if NO in step S157, a check is made to see if the number of lines to be skipped has reached n or not (step S159). The processings in step S153 and subsequent steps are repeated until the number of lines to be skipped reaches n (i.e., YES) in step S159. If YES in step S159, a normal code indicating that the line skipping processing has correctly been executed is returned as a return code to return to the application (step S160). The file is closed (step S161). The reason why the reading unit was set to 972 bytes is because in the NH data, a data length of one line is unknown and its maximum length is set to 972 bytes. When the reading line comes, the processing routine advances to step S84 and a processing to actually emulate the image reading processing of one line is executed. The reading processing of the data of one line is executed in accordance with a flowchart of Fig. 16. First, the NH file is opened (step S171) and the data of 972 bytes in the NH data is read (step S172). Then, by encoding the encoded data, the image data of the target line is generated (step S173). After that, the reading starting position and the reading width which have been set before are set for the image data of the target line derived (steps S174 and S175). Then, the data type is discriminated. For instance, if the data type indicates the run length data, the dot data at the designated position is converted into the run length data. If there is no need to execute such a conversion, nothing is performed and step S178 follows. In step S178, the data obtained by the conversion or the image data in the designated range is transferred to the designated area, thereby preparing to transfer the data to the application side. At this time, a processing such as thin-out, interpolation, or the like of the derived image data is also executed so as to match with the resolution which was designated by the foregoing parameter setting processing. After that, the pointer is updated to the position of the MH data of the next line (step S179) and the file is closed (step S180). A check is made to see if the line to be read has reached the end of the page or not (step S181). If the line to be read has reached the page end, the EOP code is set as a return code. If it is in the part-way of the page, the normal code is set as a return code. After that, the processing routine is returned to the inherent routine. After that, the processing to skip the lines until the end of document in step S86 is executed in accordance with a processing procedure shown in Fig. 17. That is, the target NH file is opened (step S191) and the data of 972 bytes in the NH data is read. The image data of one line is generated (step S193). The reason why the image data of one line is generated is because it is imposible to discriminate the end point of the image data of one line. Then, the pointer is updated to the position of the NH data of the next line (step S194) and the NH file is closed. A check is then made to see if the image data of one line which was generated as a dummy relates to the end of one page or not (step S196). The processing corresponding to the result in the discriminating step S196 is executed in step S197 or S198, respectively. After that, the processing routine is returned. The processings described above relate to the example in which the emulation is executed as if the FAX received data stored in the auxiliary memory devices was read by the image scanner. However, in the case of using the image scanner 22 of the facsimile, the image data is fetched via the common memory 34. At this time, the image data can be fetched to the facsimile/by transmitting and receiving command data. For instance, as a facsimile, it is sufficient to construct in a manner such that the image data which was read by the image scanner 22 is once stored into the memory 27 and, thereafter, the data of one line is interpolated or thinned out so as to obtain the designated resolution each time a command is input from the personal computer, the interpolated or thinned-out data is written into the common memory 34, and the command data indicative of the execution of such a processing is informed to the personal computer side. As described above, according to the embodiment, the facsimile function can be integrated while keeping compatibility with the general personal computer. Moreover, the function accompanied with the facsimile apparatus can be utilized without modifying the application software which is operated by the general personal computer. For instance, the image data which was formed by the application software and is the data to be printed can be obviously printed and output as a visible image by the facsimile and can be also directly transmitted to a remote facsimile apparatus by an ordinary printing operating procedure. On the other hand, in the case of the application software using the image scanner, the image scanner on the facsimile side can be used in place of such an image scanner or the FAX received data itself can be also processed as if it was read by the image scanner. The apparatus of the invention has an extremely large generality. Further, since the common memory (64 kbytes) of a large capacity is provided between the personal computer and the facsimile, for instance, the processing program or the like for the facsimile can be also supplied. Therefore, debugging or the like of the facsimile can be easily performed. The embodiment has been described with respect to the case where, for instance, PC-XT made by IBM Corporation of U.S.A. was used as a general personal computer and "MS-DOS" made by Microsoft Corporation of U.S.A. was used as an OS. However, the invention is not limited to the above case. That is, the invention can be also applied to other personal computers of different hardwares and other OSs. As described above, according to the invention, while the softwares which are operated by the general personal computer are used, the facsimile function can be effectively used and integrated. On the other hand, if a print command is generated from the personal computer, the printing can be performed by the printer on the facsimile apparatus side, so that the facsimile function can be effectively used. When predetermined command data was previously received from the personal computer irrespective of the application software which can be operated by the personal computer, the received print data can be converted into the data for facsimile transmission and can be transmitted. On the other hand, the document image which was read by the facsimile or the facsimile received data can be also transmitted to the application of the personal computer as if it was read by the image scanner. Its application range can be remarkably widened.

Claims: A compound electronic apparatus comprising a general purpose personal computer (10); a facsimile (20) having a printer (23) for printing at facsimile resolution data received from another facsimile; a memory (34) which is common to both the facsimile and the computer so that data received by or generated by either the computer or the facsimile can be transmitted from one to the other; and a group of ports (30, 32, 35) whereby commands and data can be transferred between the computer and the facsimile, and characterised by emulation means (35) whereby data transmitted from the computer to the facsimile can be printed by the printer (23) of the facsimile (20) at a resolution designated by the computer (10) which is different from the facsimile resolution. An apparatus according to claim 1, wherein when the facsimile receives predetermined command data and parameters and image data from the personal computer through the ports and the common memory, the facsimile facsimile-transmits image data of the print data on the basis of the command data and the parameters. An apparatus according to claim 1 or claim 2, wherein when the facsimile receives predetermined command data from the personal computer through the ports, the facsimile supplies the facsimile data which was subsequently received through a line to the personal computer via the common memory, and the personal computer stores the supplied facsimile data into an auxiliary memory device provided in the personal computer. An apparatus according to any preceding claim, wherein the personal computer has a driver software to supply the image data which was read by document reading means provided in the facsimile or the facsimile data which was stored in an auxiliary memory device provided in the personal computer to an application software which is operated by the general personal computer. An apparatus according to any preceding claim, wherein the facsimile has a transparent touch-type coordinate input plate which is located in front of a display screen of the personal computer and means for supplying data regarding detected coordinates to the personal computer side via the ports and the common memory. An apparatus according to claim 5, wherein marks of processing items are written at predetermined positions of the touch-type coordinate input plate.

Inventors: NAKAZAWA TOSHIYUKI, OGAWA OSAMU, TABATA HISAYA, TANAKA NOBUYOSHI, YOKOTA MASAYUKI, NAKAZAWA, TOSHIYUKI, OGAWA, OSAMU, TABATA, HISAYA, TANAKA, NOBUYOSHI, YOKOTA, MASAYUKI, NAKAZAWA, TOSHIYUKI, CANON K. K., OGAWA, OSAMU, CANON K. K., TABATA, HISAYA, CANON K. K., TANAKA, NOBUYOSHI, CANON K. K., YOKOTA, MASAYUKI, CANON K. K.
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1990
Main classification: H04N1
IPC codes: H04N1, G06F3, G06T1