DATA COMMUNICATION PROCESS AND APPARATUS THEREFOR

Abstract: There is disclosed a process for transmitting mixed data, composed of character code data and bit image data in blocks and an apparatus therefor. Efficient transmission can be achieved by selecting the size of blocks suitably according to the quantity of data in each block or the number of blocks.

Description: The present invention relates to a process for data transmission and an apparatus therefor, and in particular to those for transmitting mixed data. For transmitting mixed data of different kinds, such as character code data and bit image data, there is already proposed a process of dividing a text into a plurality of character code blocks and bit image block, and transmitting the blocks in succession. However, in case many characters, photographs and pictures are mixedly present, there will be involved a large number of blocks, which require a complicated protocol in transmission and a long time for reconstruction of the text upon reception, thus leading to a deteriorated efficiency of transmission. An example of a prior art arrangement is disclosed in European patent application EP-A-0081767. In that application it is mentioned that it is known to provide a character and image processing apparatus having combined functions of the optical character reader and facsimile apparatus. Such a known arrangement recognises character data and image data on a sheet to provide coded character data and non-coded image data to a host computer. In application EP-A-0081767 there is disclosed an arrangement in which a character-coded data output area and an image data output area can be arbitrarily and directly specified on the document thereby enabling the processing of a document having a free format. However, in this known arrangement the individual character coded output areas and individual image data output areas are then transmitted separately. This known arrangement thus still places a heavy burden on the transmission. According to the present invention, a data communication process for transmitting data representative of mixed text and image on a single page of the kind which comprises the steps of: (a) dividing the contents of the page into one or more first kind of block comprising only text and one or more second kind of block comprising only image; (b) transmitting data representative of the said blocks is characterised in that: (c) prior to the transmission, any of a plurality of the first kind of block are consolidated into a single text data block and any of a plurality of the second kind of block are consolidated into a single image data block, and data representative of the spacial location of non-text areas is added to the single text data block and data representative of the spacial location of non-image areas is added to the single image data block. According to the present invention a data communication apparatus, for transmitting data representative of mixed text and image on a single page of the kind which comprises: (a) means for dividing the contents of the page into one or more first kind of block comprising only text and one or more second kind of block comprising only image; (b) means for transmitting data representative of the said blocks is characterised in that: (c) there are means for consolidating into a single text data block any of a plurality of the first kind of block and means for consolidating any of a plurality of the second kind of block into a single image data block, prior to the transmission, and means for adding to the single text data block data, representative of the spacial location of the non-text areas and for adding to the single image data block data representative of the spacial location of non-image areas. Fig. 1 is a block diagram of a communication terminal apparatus employing a transmission process of the present invention; Fig. 2 is a perspective view of a communication apparatus embodying the present invention; Figs. 3, 4A to 4C, 6, 7A to 7E and 9 are views showing data formats; and Figs. 5, 8A, 8B and 10 are flow charts showing a transmitting process. Fig. 1 is a block diagram of anembodiment of the present invention, and Fig. 2 is a perspective view of the embodiment. A reader 10 is provided to generate an electrical signal by reading an original document. A facsimile apparatus 20 is provided with a reader/printer interface 21; an image compression unit (ICU) 22; a program memory (PMEM) 23; a bit move unit (BMU) 24; an image memory (IMEM) 25; a video random access memory (VRAM); a central processing unit (CPU) 27; a communication interface 28; a bus 29; and a communication control unit (CCU) 30. The image compression unit (ICU) 22 is provided for compressing or expanding data, and employs a two-dimensional compression (high compression) for increasing the encoding rate. The program memory (PMEM) 23 is provided with memory areas for an operation system program and an application program for controlling input/output devices and various units of the facsimile apparatus 20, for a font memory for converting character code data into image bit data, and for storing and editing text code data or character data obtained by key entry or word processing. The program memory (PMEM) 23 is provided with a memory management unit (MMEU) and a work area functioning as a buffer for transmitting data from a rigid disk 50 through the communication control unit (CCU) 30 or receiving data from the unit 30 to the rigid disk 50 and for transmission speed matching between the rigid disk and the communication channel. The bit move unit (BMU) 24 is provided for image processing such as enlargement, reduction, rotation, displacement or extraction of a predetermined image in bit unit on a cathode ray tube 60. The image memory (IMEM) 25 has a capacity of 4 Mbytes for storing image data from the reader, edited image data obtained from the bit move unit 24, or bit data (for example of 1 bit per pixel) converted into an image from text code data, mixed data or character code data obtained by key entry or word processing. The mixed data include both bit image data and character code data in a page. These data are divided into image blocks and character blocks, each of which is given an identification code for administration and storage. The image memory 25 is also utilized as a buffer for temporarily storing predetermined data, thereby matching the speed of the reader 10, printer 70 and communication channel 40. The video random access memory (VRAM) 26 is provided for storing image data to be displayed on the cathode ray tube 60 by a bit map data for example of a bit per pixel. As non-volatile external memories there are provided a rigid (hard) disk memory 50 and a floppy disk memory 51, which may be replaced by another non-volatile backup memory, for storing data to be transmitted or data received. A keyboard 61 is provided for entering command data for transmission or reception, command data for word processing or image processing, and character data for word processing. A pointing device 62 is used for moving a cursor image on the cathode ray tube 60, thus designating a position for image processing etc. Also the device 62 is used for block designation of mixed data. Coordinates indicating the blocks are stored and administered by the program memory (PMEM) and treated as a part of identification code data or header at data transmission. For high-speed transmission of a large amount of image data with a high resolving power (density), the communication channel 40 is preferably composed of a digital channel, for example a digital data network or a digital data packet network, of for example 64 Kbit/sec. The printer 70 is composed of a laser beam printer capable of data printing at a rate of 3 Mbps. Fig. 3 shows a page of mixed data divided into blocks 1 - 8, corresponding to the display frame of a page on the cathode ray tube 60, to the data of one page at data transmission, or to the print sheet of a page at the printing of received data. In case of preparing such mixed data of plural pages, storing the same in the rigid disk 50 and transmitting the data at a time, header data 1 - n are attached in front of block data 1 - n as shown in Fig. 4, and each header indicates whether succeeding block data are image data or character data, the size of the block data, and the position thereof in a page. Signal A is an acknowledge signal for transmission or reception of block data, and a signal EOP is emitted when the transmission of a page is completed. Data of a page of the original from the reader 10 are stored in the image memory 25, then transferred to the VRAM 26 and displayed on the cathode ray tube 60. The image thus displayed is trimmed, through the bit move unit 24 according to editing instructions given by the keyboard 61 or the pointing device 62, to obtain an image corresponding to a block 3, which is again stored in the memory 25. Text code data from the keyboard 61 are stored in the memory 23, then converted into bit data, transferred to the VRAM 26 and displayed, as a text of one page, on the cathode ray tube 60. The data are edited in the same manner as the image processing to obtain character data corresponding to blocks 1 - 6 shown in Fig. 3, and again stored in the memory 23, in the form of codes. Position data of each block are controlled, together with the attribute of data, in the memory 23. Then, in response to a next command, image data and position data of the blocks 7, 8 of the memory 25 are read and displayed, through the VRAM, in the position of the block 3 on the cathode ray tube 60, thus finally providing a display of blocks 1 - 8 shown in Fig. 3. These mixed data are read from the memories 23, 25 in the order of blocks 1 - 8 and are stored in the rigid disk 50. Fig. 3(c) shows an example of the document of a page after editing, wherein blocks 1 to 6 are character code blocks, and blocks 7, 8 are bit image blocks. Thus there is required a large number of blocks in transmission if character code blocks and bit image blocks are mixed in the document. These blocks can however be converted into two blocks 9, 10 as shown in Figs. 3(a) and 3(b). Fig. 3(a) shows the code block 9, in which an area corresponding to the block 7 need not be filled with codes since it is positioned at the end of lines, but, in an area corresponding to the block 8, spaces between character codes are filled in with blank codes such as space or tabulator codes. Fig. 3(b) shows the bit image block 10 which is selected as a smallest rectangular block at least including the blocks 7 and 8, but there may be employed any rectangular block without limitation in size. An area corresponding to the character code block shown in Fig. 3(c) is totally filled with white bits. Fig. 5 is a flow chart for block conversion. At first a document as shown in Fig. 3(c) is obtained by combining the bit image data from the reader 10 and the code data from the keyboard 61 on the cathode ray tube 60 through a process as explained before, and there are entered a code indicating the boundary of block (for example indicating a starting coordinate of the block and the dimension thereof) and an attribute code indicating the nature of the block. Then there is discriminated, from the attribute code, whether a character code block is present (2), then, if present, there is discriminated whether plural blocks are present (3), and, if plural blocks are present, the block area 8 between such plural blocks is filled with space codes (4). The block 7 need not be filled with the space codes because return codes are present at the boundary with the block 2. Then a block consisting solely of character codes is obtained by deleting such codes indicating the block boundary and changing the attribute of the block and is stored in the PMEM (5). Subsequently there is discriminated where a bit image block is present (6), then, if present, there is discriminated whether plural blocks are present (7), and, if plural blocks are present, the space between the blocks is filled with white bits (8). Subsequently the attribute of the block is changed by deleting the codes indicating the boundary of the blocks, and a block consisting solely of bit images is stored in the IMEM (9). Then there is discriminated whether plural blocks are present in total (10). As there are the character code block 9 and image block 10 in this case, an overlapping attribute code is set in the PMEM, instructing to overlay these blocks, taking a point A of the block 9 as the reference. Then, in response to the entry of a transmission instruction, there are emitted, in succession, said overlapping attribute code, code data and bit image data respectively stored in the PMEM and IMEM. The attribute code may be transmitted after the transmission of the document data. At the receiving side, the transmitted data of blocks 9, 10 are stored in the disk 50, and transferred to the PMEM and IMEM. Then the overlapping attribute code transmitted before or after the data reception, then the data of the block 9 are converted into bit image data by a character generator, while the encoded data of the block 10 are decoded into bit image data by a decoder, and the data of these blocks are superposed with the point A as the reference to reproduce the transmitted next shown in Fig. 3(c), on the cathode ray tube 60 or on the printer 70. Fig. 6(c) shows a document which contains, between character code blocks 11 and 13, a block 12 in which character codes and bit image data are overlapped. The block 12 can be divided, for transmission, into a code block 12-1 and a bit image block 12-2 of a same size. In this case there will be required four blocks, but a higher efficiency of transmission can be attained in comparison with a case of further dividing the block 12 into overlapped blocks and non-overlapped blocks. In this case an overlapping attribute code is attached to the block 12 while the boundary and attribute thereof are retained, and, at the receiving side, the original text is regenerated by superposing the transmitted blocks 12-1, 12-2 only. Fig. 6(a) and 6(b) show two blocks, i.e. a character code block 14 and a bit image block 15 constituting one page of the text (c) including an overlapped block. Also in this case, as explained before, the boundary of the blocks is eliminated, then an overlapping attribute code, indicating an overlay with a reference point B, is given, and transmission is effected. At the receiving side, the data of the blocks 14, 15 are synthesized according to the attribute code, and the text thus obtained is displayed or printed. It is also possible to develop the code block 12-1 of the overlapping block 12 into bit image data in the program memory PMEM, then overlaying the data with the bit image data of the image block 12-2 and storing thus obtained image pattern (c) into the image memory IMEM. In this case there are required only three blocks 11, 12, 13 because the boundary and attribute of the code block 12-1 are eliminated, so that a higher transmission efficiency can be attained. The boundary and attribute of the block 12 are same as those of the bit image block 12-2. The boundary position and attribute code of the blocks 11 - 13 are contained in the headers C, I of the blocks shown in Fig. 4. In the following there will be explained optimum division of transmitting blocks. Figs. 7A to 7E illustrate examples of division of a text of one page containing a character code data area C and an image data area I. In the example shown in Fig. 7A, the character code area is divided into blocks C1, C2 while the image area is taken as a block 11, without transparent overlapping. In this case the transmission is effected in three blocks C1, C2 and I1. The starting points and sizes of the blocks can be defined by the coordinates of the points P1 and P2. In the example shown in Fig. 7B, a character code block C'1 and an image block I1 are subjected to transparent overlapping. In the block C'1, an area outside C1 have no character code data, but the return codes at the ends of character rows of the area C1. In this case the transmission is conducted in three blocks C'1, C2 and I1. In the example shown in Fig. 7C, the character areas C1, C2 are unified as a one-page block CA which is subjected to transparent overlapping with the image area I1. In this case the transmission is conducted by a page CA and a block I1. In the example shown in Fig. 7D, the character area C1, C2 and the image area I1 are respectively unified as pages CA and IA which are subjected to transparent overlapping. In this case the transmission is conducted in two pages. The transmission efficiencies in these examples are variable, but, in the present example where characters represent a considerable area, a transmission with a page of character codes and a block of image shown in Fig. 7C is estimated efficient because the header codes for the blocks C1, C2 can be dispensed with. The example shown in Fig. 7D also does not require header codes of the blocks, but during image formation IA, an area outside the area I1 has to be filled with uniform white or black data, which increases the amount of information even when compressed. Consequently this case is considered disadvantageous. However, if two blocks I1, I2 almost occupy a page as shown in Fig. 7E, there may become advantageous the two-page transmission shown in Fig. 7D, wherein I1 and I2 are considered as a group 1 and C1 to C3 are considered as a group 2. In this manner the selection of division becomes different according to the nature and distribution of the information. In order to identify an optimum division the total amounts of data in various divisions are calculated and compared, and the transmission is conducted according a method of division giving a minimum amount of information. Fig. 8 shows a flow chart of a procedure for such identification. At first a step S-0 sets "4" as the number n of division of one-page data corresponding to a frame of the cathode ray tube as shown in Fig. 7. A step S-1 effects an area division shown in Fig. 7A, and determines the amounts of data C1m, C2m respectively corresponding to the code data of the block C1 and those of the block C2 in the program memory PMEM, according to the position data P1, P2 at the aforementioned text editing. The data amounts can be obtained from the memory address to the position P2, stored in advance in the memory PMEM. Then a step S-2 compresses the bit data corresponding to the block I1 in the image memory IMEM by means of the ICU 22 to obtain the compressed data amount I1m. Then the total amount of data M1 = C1m + C2m + I1m is determined and stored in the program memory PMEM. The compressed data are temporarily stored in the rigid disk 50. Subsequently the program returns to the step S-1 to effect the division of Fig. 7B, thus determining the amount of data corresponding to the block C'1. In this case the amount is almost same as that of the block C1 shown in Fig. 7A. The obtained amount of data is M2 in this case. Then there is effected the division shown in Fig. 7C to obtain the data amount corresponding to the block CA, with the total data amount M3. Then there is effected the division shown in Fig. 7D to obtain the data amount corresponding to the block IA. In the block, the amount of data is obtained by adding, to I1m, the amount of data obtained by compressing white bits outside the block I1. The total data amount in this case is M4. The number n of divisions is already set as 4. A step S-3 effects a decrement from the number n for each calculation of the total data amount, and a step S-4 discriminates whether the number has reached zero. Then a step S-5 compares the total amounts of data M1 - M4 to determine the dividing mode giving the minimum data amount. Subsequently the page data are divided according to thus determined dividing mode and are stored in the rigid disk, and thus divided blocks are transmitted in succession in response to the transmission command. In the foregoing explanation the dividing mode is determined according to the total amount of data, but, if the total amount of data does not vary significantly as in the cases shown in Figs. 7B and 7C, the mode is preferably determined according to the number of blocks since the transmission of two blocks may be more advantageous in efficiency than the transmission of three blocks. The number of blocks is stored for each of the divisions shown in Figs. 7A to 7D. It is also possible to achieve block division by manually selecting one of such dividing modes. In the foregoing there has been explained a mode of determining an appropriate division in response to a transmission command and automatically effecting transmission upon completion of the divison, but it is also possible to effect an appropriate division in response to a preliminary command, then to provide a display of the appropriate division and to effect transmission in response to a transmission command given thereafter. Also as another embodiment it is possible to normally effect a standard block division as shown in Fig. 7A, but, in case the number of blocks exceeds a predetermined maximum number, for example 31, to focedly select a dividing mode in which the number of blocks becomes less than the maximum level. In such case a discrimination is made as to whether the number of blocks exceeds a maximum number MAX as shown in Fig. 8B, and, if the maximum number is exceeded, a flow chart shown in Fig. 8A is executed to determine an optimum dividing mode from the amounts of information in various dividing modes not exceeding the maximum number. In this manner the time required for preliminary process prior to transmission can be shortened. In the following there will be explained an embodiment provided with a character recognizing function in addition to the above-explained functions. Also in this embodiment the structure is same as that shown in Fig. 1. Data of an original text read by the reader 10 are stored in the image memory 25, then subjected to character recognition by the CPU 27 and a corresponding code is allotted to each recognized character. The character recognition can be conducted by an already known process. In such character recognition of the original, certain characters may remain unrecognizable. There will be required a large number of blocks if such unrecognized characters are transmitted as image data of respectively different blocks. In the present embodiment, therefore, the recognized characters are transmitted as code block as shown in Fig. 3, while the unrecognized characters are transmitted as a bit image block, and both are overlaid at the receiving side. Fig. 9 shows an example of the fourth embodiment. In the character recognition of an original text shown in Fig. 9(a), it is assumed that two groups of characters remain unrecognized. In the code block shown in Fig. 9(b), blank codes are given to the unrecognized characters. Fig. 10 is a flow chart showing the control procedure of the CPU 27 in the fourth embodiment. Now referring to Fig. 10, a step S1 causes the CPU 27 to store the bit image data of the original text, read by the reader 10, into the image memory 25. Succeeding steps S2 - S6 effect character recognition character by character. In the character recognition, the bit image data stored in the image memory 25 are at first scanned to recognize a character row, and, upon completion of the recognition, each character column is recognized. In this manner the bit image data of the original text are divided into rows and columns of characters, and each character is then recognized. However the character recognition is not necessarily limited to the process of the present embodiment but may be conducted in various methods. Steps S-2 and S-3 effect recognition of a character, and a step S-4 stores a corresponding character code into a code block area of the program memory 23 if the character is recognized, or, if the character is unrecognized, stores a space code in the code block area and the bit image data of the unrecognized character in a bit image preparation area of the memory 23, at an address of the unrecognized character. The program memory (PMEM) 23 is provided with a code block area, a bit image preparation area, and a bit image block area. The code block area and the bit image preparation area are respectively provided with addresses of a number of divisions for character recognition (character rows x character columns). The bit image of a character to be recognized is given size information (a, b) of the character bit image block as shown in Fig. 9(c). When a succeeding step S-6 identifies the completion of recognition of all the characters, a step S-7 discriminates the presence of unrecognizable characters. If the step S-7 identifies the absence of such unrecognizable characters, a step S-8 attaches information of address and size of the code block, for example (x, y) and (x', y') shown in Fig. 9(b), information indicating the arrangement of characters and identification data indicating a code block, in front of the data of the code block area in the program memory 23, and the transmission is conducted as code block data. On the other hand, if the step S-7 identifies the presence of unrecognizable characters, steps S-9 to S-12 read the minimum address x min = x₁, y min = y₁, and the maximum address x max = x n , y max = y n (see Fig. 9(c)) of the bit image data of the unrecognizable characters in the bit image preparation area of the program memory 23, and steps S-13 to S-15 prepare a bit image block. At first the step S-13 sets the address of the starting point (x min , y min ) of the bit image block and the size information (x max +a-x min , y max +b-y min ), and the step S-14 sets identification information indicating that the block is bit image data and an overlap attribute indicating that the block is to be overlapped with the code block. Then the step S-15 stores the bit image data of the bit image preparation area respectively in the areas of unrecognizable characters in the bit image block area, thus obtaining bit image data as shown in the bit image block in Fig. 9(c). The bit image data thus prepared in the step S-15 are stored as bit image block data in the program memory 23, together with the information set in the steps S-13 and S-14. In this operation, the bit image data may be encoded by the ICU 22. Then a step S-16 adds, to the code data in the code block area, address information and size information of the code block, identification information and information indicating the arrangement of characters, then stores thus obtained code block data in the program memory 23, and transmits the code block and the bit image block to the destination. As explained in the foregoing, the fourth embodiment effects encoding of characters by character recognition, and is therefore capable of saving manpower in comparison with the character input through the keyboard 61, thus reducing the time required for communication. Besides the unrecognized characters are transmitted in bit image data to achieve secure transmission of the original data. Furthermore the recognized characters and unrecognized characters are respectively transmitted in a code block and a bit image block, so that the number of block is reduced in comparision with the case of dividing the data into plural blocks. In addition the data communication time is therefore reduced and the data processing at the transmitting and receiving sides is simplified. Furthermore, the above-mentioned code block obtained by character recognition may include code data of a text prepared by a word processor. Examples of different data include graphic code data, character code data, line image bit data, halftone image data etc.

Claims: A data communication process for transmitting data representative of mixed text and image on a single page of the kind which comprises the steps of: (a) dividing (1) the contents of the page into one or more first kind of block (2) comprising only text and one or more second kind of block (6) comprising only image; (b) transmitting data representative of the said blocks (2, 6) characterised in that: (c) prior to the transmission, any of a plurality of the first kind of block (2) are consolidated into a single text data block (5) and any of a plurality of the second kind of block (6) are consolidated into a single image data block (9), and data (4) representative of the spacial location of non-text areas is added to the single text data block (5) and data (8) representative of the spacial location of non-image areas is added to the single image data block (9). Data communication apparatus, for transmitting data representative of mixed text and image on a single page of the kind which comprises: (a) means for dividing (1) the contents of the page into one or more first kind of block (2) comprising only text and one or more second kind of block (6) comprising only image; (b) means for transmitting data representative of the said blocks (2, 6) characterised in that: (c) there are means for consolidating into a single text data block (5) any of a plurality of the first kind of block (2) and means for consolidating any of a plurality of the second kind of block (6) into a single image data block (9), prior to the transmission, and means for adding to the single text data block (5) data (4), representative of the spacial location of the non-text areas and for adding to the single image data block (9) data (8) representative of the spacial location of non-image areas. A process as claimed in claim 1 in which there is at least a partial overlap (12) between image and text on the said page, characterised in that the process includes the step of dividing the page into one text data block (12-1) and one image data block (12-2) and sending the data representative of the overlapping portion as two blocks of data with information that indicates the two blocks of data (12-1, 12-2) are at least partially overlapping. Data communication apparatus as claimed in Claim 2 in which there is at least a partial overlap (12) between image and text on the said page, characterised in that the apparatus includes means for dividing the page into one text data block (12-1) and one image data block (12-2) and means for sending the data representative of the overlapping portion as two blocks of data (12-1, 12-2) with information that indicates that two blocks of data are at least partially overlapping. A data communication process as claimed in claim 1 in which the character code data of the overlapped data portion is converted into image data and the converted image data is combined with the image data of the overlapped data portion. Data communication apparatus as claimed in Claim 2 having means whereby the character code data of the overlapped data portion is converted into image data and the converted image data is combined with the image data of the overlapped data portion. A data communication process as claimed in any of claims 1, 3 or 5 including means to insert space code data into the character code data block in those areas in which the image data would be in the original. Data communication apparatus as claimed in any of claims 2, 4 or 6 including means to insert space code data into the character code data block in those areas in which the image data would be in the original.

Inventors: ABE, SHINTARO, ADACHI, MUNEO, OKADA, NAOYUKI, SHIMAMURA, YASUHITO
Applicants: CANON KABUSHIKI KAISHA
Application year: 1986
Main classification: H04N1
IPC codes: H04N1