(19)
(11) EP 0 593 012 A2

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
20.04.1994 Bulletin 1994/16

(21) Application number: 93116496.6

(22) Date of filing: 12.10.1993
(51) International Patent Classification (IPC)5G09G 1/16, G06F 3/14
(84) Designated Contracting States:
DE GB

(30) Priority: 13.10.1992 JP 274035/92

(71) Applicant: HITACHI, LTD.
Chiyoda-ku, Tokyo 100 (JP)

(72) Inventors:
  • Kohiyama, Tomohisa
    Totsuka-ku, Yokohama-shi (JP)
  • Yamagishi, Masami
    Zama-shi (JP)
  • Yamada, Takahiro
    Yokohama-shi (JP)
  • Kamo, Munekazu
    Hadano-shi (JP)
  • Nomi, Makoto
    Katsuta-shi (JP)
  • Iwai, Noriyuki, Hitachi Utsukushigaokaryo W232
    Midori-ku, Yokohama-shi (JP)
  • Minobe, Randy
    San Jose, Ca 95124 (US)
  • Jenney, Kim
    San Jose, Ca 95126 (US)

(74) Representative: Altenburg, Udo, Dipl.-Phys. et al
Patent- und Rechtsanwälte, Bardehle . Pagenberg . Dost . Altenburg . Frohwitter . Geissler & Partner, Galileiplatz 1
81679 München
81679 München (DE)

   


(54) Video picture display device and method for controlling video picture display


(57) A video picture written in the bit map memory (4) is displayed in a redetermined area on the display screen (70) of the display device (7) within the computer main body (100). The masking memory (2) having a bit number equal to or less than the number of the pixels of the video picture to be inputted is provided separate from the bit map memory (4). When the pixel data of the video picture data has been inputted, the input pixel data is selectively written in the bit map memory (4) based on the contents of the masking memory (2). In displaying a compressed picture of the input video picture on the display screen, an oblique line generating algorithm is used.




Description

BACKGROUND OF THE INVENTION



[0001] The present invention relates to a picture display device known as a scan converter, and relates more particularly to a video picture display device which is suitable for displaying an inputted video picture on a display screen of a computer equipped with a window environment.

[0002] The scan rate of a display screen of a personal computer (hereinafter to be abbreviated as a "PC") or a work station (hereinafter to be abbreviated as a "WS") which is used as a computer is generally different from that of a screen of a television set or the like. Therefore, a video picture display device for displaying a video picture on the display screen of the PC or the WS by combining video pictures of a television set or the like requires a change of the scan rate. Accordingly, the video picture display device is also called a scan converter.

[0003] Normally, the scan converter stores data of a video signal in a video memory which is a memory unit (also called a frame memory). In the present specification, the scan converter will hereinafter be called a "video VRAM (video random access memory)" in order to distinguish between this memory unit and a video memory for graphics which is located in the computer such as a PC and a WS. A read control unit within the scan converter (a graphics display unit) reads data within the video VRAM to match a display timing signal at the computer side and a picture change over control unit suitably changes over between read data from the video VRAM and read data for graphics display at the computer side and send the data to the display device. Thus, video pictures of the television or the like are combined for display on the display screen of the computer. Generally, a CRT display or a liquid crystal panel is used as a display device of the computer such as a PC or a WS.

[0004] In recent years, great importance has come to be attached to an application for monitoring a television broadcasting program or for displaying a motion picture or a still picture such as animation pictures, for example, on the display device of the computer. An application for displaying various kinds of pictures as described above will be called a multi-media application in the present specification.

[0005] In the mean time, along with the improvement in the performance of a processor for controlling a computer system as a whole and an increase in the capacity of the main memory loaded in the computer, a system environment as represented by a window system (hereinafter to be referred to as a "window environment") has come to be employed extensively in recent years. Under this window environment, a user opens (or displays) at least one square window called a window on the screen of the display device to have a display of a desired application program within each window.

[0006] Based on the window environment, a plurality of video pictures can be displayed simultaneously on a single screen so that this window environment can be combined with a multi-media application in a very suitable manner. Since the user can open a plurality of windows at desired positions on the screen of the display device under the window environment, there is a case, however, that the windows may be superimposed with each other. For example, when two windows are partly superimposed, the rear side window portion which is hidden by the front window needs to be controlled not to be displayed.

[0007] When a multi-media application has been operated in the window environment, there arises such a case that a video picture is displayed within a window at the rear side of a plurality of windows which are partly superimposed with each other so that a part of the video picture can not be displayed. Since the video picture data is being stored within the video VRAM which is separate from the graphics video memory, as mentioned above, it is necessary to have some skill to read video picture data in order to make a display of the video picture (particularly a motion picture) that has such an undisplayed portion as described above.

[0008] Broadly, two methods are known as methods for obtaining a video picture which has a partly hidden portion.

[0009] One method is to control so that writing of a partly hidden portion is prohibited when video picture data is to be written in the video VRAM. This method will be called a writing mask control system in the present specification.

[0010] The other method is to control, at the time of reading video picture data from the video VRAM, so as to select which one of video picture data that has been read from the video VRAM and graphics data that has been read from the graphics video memory should be displayed. This method will be called a keying control system in the present specification.

[0011] A conventional writing mask control system is disclosed in the "Nikkei Electronics", June 24, 1991 issue (No. 530), pp. 165-176. In the above literature, a 16-plane video memory is disclosed which combines the graphics video memory and the video VRAM into one. One of the 16 planes is used as a writing mask plane for video picture data and the remaining 15 planes are allocated to either the video VRAM or the graphics video memory.

[0012] Based on this structure, before writing video picture data into the planes that have been allocated to the video VRAM, it is necessary to read mask data of the mask plane and check for each dot data of the video picture to see whether the corresponding dot data is writable or write prohibited in the video VRAM planes. If the mask data that has been read shows a write permit, the corresponding dot data is written in the video VRAM planes, and otherwise the data is abandoned.

[0013] Under the above-described structure, the writing mask data is necessary by the number equivalent to that of the pixels that constitute the display screen of the computer display device. For example, when the display screen of the display device is structured by the pixels of 1280 x 1024, minimum 1280 x 1024 x 1 bits are necessary and since the mask plane is structured by combining a plurality of general semiconductor memory devices, 2048 x 1024 x 1 bits are necessary in total. This corresponds to two semiconductor memory devices of one megabits.

[0014] On the other hand, in the case of a video signal of a television set, it is general that the video signal is digitally sampled by about 640 x 480 pixels in the case of the NTSC system, for example. Accordingly, it is a waste of the memory to prepare, for one kind of video picture, pixels of the number corresponding to that of the display screen of the display device. In the case of loading a scan converter function in the computer such as a PC or a WC, the style of an option board is taken most. Such an option board is required to be low in price, take small space for loading and consume low energy.

[0015] Fig. 3 schematically shows, in the structure of the video memory of the above-described literature, an operation from when video picture data is inputted in the graphics display device to when this video picture data is displayed on the display screen of the computer in the state a part of the video picture data is hidden by the other window.

[0016] In Fig. 3, 70 shows a display screen of the display device of a computer. In the display, a window 71 for displaying a video picture and a graphics display window 72 are partly superimposed with each other on the display screen 70. 20' shows a mask plane in which a mask pattern as shown has been written in advance by a processor (not shown) within the computer by referring to information relating to the layout of windows of the display screen.

[0017] In the mask plane 20', a hatched area 21 corresponds to a window 71 for displaying a video picture in the display screen 70, and mask information (1 bit, for example "0") at this portion shows a permit of writing of video picture data in the video VRAM plane. Mask information (1 bit, for example "1") in other area 22 shows a prohibition of writing of video picture data in the video VRAM plane.

[0018] The area 22 includes a cut portion 23 which corresponds to the portion of the window 71 hidden by the window 72 in the display screen 70.

[0019] 10 schematically shows a memory capacity of the video picture data of 640 x 480 pixels. The inputted video picture data is sequentially written in the address corresponding to the window 71 on the display screen 70 of the video VRAM plane. In this case, writing of a part of the video picture data is prohibited by the mask information of the cut portion 23.

[0020] As described above, a video picture can also be cut in the structure of the video memory of the above-described literature. However, there is a problem in this structure that no consideration has been given to simultaneously displaying a plurality of kinds of video pictures on the display screen due to the fact that as a mask plane a masking memory of the capacity equivalent to that of the pixels of the display screen of the computer is necessary, that the masking memory and the video picture data are written within the same memory and that only one bit (1 plane) is provided as mask information of the mask plane.

[0021] Further, in the structure of the above-described literature, no consideration has been given to an expansion or a scaling down of a motion picture following an expansion or a scaling down of the window, and therefore, the size of the motion picture will not change even if the sizes of the window have been changed.

[0022] Considering the processing of the write control unit for controlling the writing of input video picture data into the video VRAM plane, the write control unit needs to generate a two-dimensional address, and a method of generating the address becomes complex when it is desired to carry out a scaling of an expansion or a scaling down of a video picture on the display screen or to carry out a reversed display, that is an inversion of up and down and right and left, of the video picture by applying a special effect. In the case of carrying out a scaling, the structure will become further complex when an occurrence of an alias (ruggedness in the display) is to be mitigated.

[0023] Further, when the user has changed the shape of the window on the display screen in the structure of the conventional video memory, it is necessary to update (rewrite) the mask pattern data of the mask plane in accordance with this change. However, if video picture data of the video VRAM plane has been rewritten in the middle of the updating of the mask pattern data, the video picture which is displayed becomes unnatural because considerable updating time is required. In general, during an updating of the mask pattern data, the stopping of the writing of the video picture data is considered. However, when the video picture is a motion picture, a stop motion results during the write stopping period.

[0024] Further, when the user has changed the shape of the window, the video picture data is written in a new window. In this case, if the video picture data so far been displayed in the window has not been deleted properly, the video picture data remains as a so-called "garbage data" in the display screen and the video VRAM plane, thus causing an inconvenient situation.

SUMMARY OF THE INVENTION



[0025] It is an object of the present invention to provide a video picture display device and a method for controlling the video picture display suitable for displaying a video picture in the computer system which employs a window environment.

[0026] It is another object of the present invention to provide a video picture display device and a method for controlling the video picture display which can perform a multiple picture processing in spite of a relatively simple structure.

[0027] In order to achieve the above-described objects, according to the preferred embodiments of the present invention, a masking memory is provided independent of a video VRAM in the video picture input unit and the mask data of the masking memory is corresponded to the number of pixels that structure the video picture.

[0028] Further, two mask memories may be provided in video picture input unit so that these mask memories are changed over at each end of video picture signal.

[0029] Further, the mask data of the masking memory may be divided into groups for each scanning line of relevant video picture input and information relating to position of the display screen and picture processing may be added to each group.

BRIEF DESCRIPTION OF THE DRAWINGS



[0030] Fig. 1 is a configuration diagram of a first embodiment of the present invention.

[0031] Fig. 2 is an explanatory diagram for explaining the process up to the display according to the present invention.

[0032] Fig. 3 is a configuration diagram for explaining the display operation according to the prior art technique.

[0033] Fig. 4 is a configuration diagram of a second embodiment of the present invention.

[0034] Fig. 5 is a configuration diagram for showing one example of the masking memory structure.

[0035] Fig. 6 is a diagram for showing an example of the structure of the masking memory when the window in the display screen is further divided.

[0036] Fig. 7 is a configuration diagram for showing another example of the masking memory structure.

[0037] Fig. 8 is a configuration diagram of a third embodiment of the present invention.

[0038] Fig. 9 is a configuration diagram of a fourth embodiment of the present invention.

[0039] Fig. 10 is configuration diagram of a fifth embodiment of the present invention.

[0040] Fig. 11 is a memory configuration diagram for showing a sharing of the keying and mask data storing memories.

[0041] Fig. 12 is an explanatory diagram of the scaling system to which the straight line generation algorithm is applied.

[0042] Fig. 13 is an explanatory diagram for showing an example of the 1/2 scale down.

[0043] Fig. 14 is an explanatory diagram for showing an example of the 7/26 scale down.

[0044] Fig. 15 is a flow chart for showing one example of the straight line generation algorithm.

[0045] Fig. 16 is a flow chart for showing another example of the straight line generation algorithm.

[0046] Fig. 17 is a configuration diagram of a sixth embodiment of the present invention.

[0047] Fig. 18 is a configuration diagram of a seventh embodiment of the present invention.

[0048] Fig. 19 is a configuration diagram for showing an example of the pixel and line averaging unit.

[0049] Fig. 20 is a diagram for showing a detailed structure of pixel averaging in the embodiment shown in Fig. 19.

[0050] Fig. 21 is a diagram for showing an example of the weighting pattern for averaging which is used in the structure shown in Fig. 20.

[0051] Fig. 22 is a configuration diagram of an eighth embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS



[0052] At first, a first embodiment of the present invention will be explained with reference to Fig. 1 and Fig. 2.

[0053] Fig. 1 is a configuration diagram of the first embodiment of the present invention and Fig. 2 is an explanatory diagram for explaining the process until an input multi-media video picture is displayed. Referring to Fig. 1, 110 designates a video picture display device, 1 an input unit of multi-media video picture data such as a motion picture and a still picture, 3 a write control unit of a video VRAM 4, 2 a mask data storing memory, 5 a read control unit of the video VRAM 4, 8 a graphics display unit within a computer main body 100, the graphics display unit including a memory of a bit map corresponding to pixels that structure the display screen of the display device, 6 a change-over control unit for controlling pictures between the multi-media picture output of the video VRAM 4 and the graphics display output of the graphics display unit 8, and 7 a display device within the computer main body 100. 101 designates a CPU within the computer main body 100. Fig. 2 is a diagram for explaining the data flow up to the stage where input data 10 of the picture data input unit 1 is displayed on a display screen 70 of the display device 7.

[0054] The mask data storing memory 2 in Fig. 1 has mask bits corresponding to the number of pixels of the video VRAM 4, and it is assumed that data as shown by mask data 20 in Fig. 2 has been written in advance in the mask data storing memory 2 by the CPU 101 within the main body. In Fig. 2, a hatched area 21 corresponds to a data display area (or a window) 71 of the multi-media video picture data in the display screen 70 of the display device 7, and this area is filled with information of mask disabling for writing the input video picture data 10 in the video VRAM 4. Other area 22 corresponds to a part of a graphics data display area 72 other than the multi-media data display area 71 in the display screen 70, and this area is filled with information of write mask for not writing the input data 10 in the video VRAM 4.

[0055] The write control unit 3 sequentially reads in advance the address of the mask data storing memory corresponding to the input video picture data 10. If the contents of the address is a mask disabling (area 21), the write control unit 3 operates so that the input data 10 is written in the video VRAM 4 and if the contents of the address is a write mask (area 22) the write control unit 3 operates so that the input video picture data 10 is not written in the video VRAM 4. In other words, the write control unit 3 for assigning the write position (address) to the video VRAM 4 reads the mask data of the masking memory 2 corresponding to the pixels of the video picture data and controls the writing by making decision whether the pixels are to be written in the VRAM 4 according to the contents of the read mask data. Based on this control, the input video picture data is clipped in the shape written in advance in the masking memory 2.

[0056] In the case of a television video signal, it is general that the television video signal is digitally sampled in about 640 x 480 pixel size in the case of the NTSC system, for example. Accordingly, if a write masking memory is available that has at most the capacity of the number of bits equal to that of the digital sample, it is possible to display the picture in a shape of a desired write area at a desired position even in the video VRAM that has a bit map (for example, 1280 x 1024) larger than the number of digital sample. In comparing the masking memory of this system with the above-described prior-art technique, the masking memory 2 shown in Fig. 1 requires a capacity of at most the number of the bits equal to that of the digital sample of the input video picture data, while the masking plane of the prior-art technique is integrated with the graphics VRAM and the masking plane requires the bit map of the size equal to that of the pixel structure of the display screen of the display device.

[0057] If a write masking memory 2 for allocating one bit to digital sample data of two pixels of an input video picture has been allocated, it is possible to further reduce the capacity of the write masking memory 2 to one half. To be more specific, it is more common that when a video picture input is to be digitalized in the display system of YUV (luminance, chrominance 1, chrominance 2) in stead of RGB (red, green, blue), for example, the chrominance component of the UV is sub-sampled. In this case, since one set of chrominance component UV becomes input data for two luminance component Y, it is more convenient to use two pixels as a unit for the write masking processing. In this case, it is possible to reduce the capacity of the write masking memory 2 to one half of the original capacity.

[0058] In general, when one bit of one-bit writing masking memory has been allocated to n-pixel digital sample data, the capacity of the write masking memory 2 can be reduced to one n-th of the digital sample number of the input data. More specifically, when the chrominance component has also been sampled in a vertical direction in the YUV display system as described above, or when one set of chrominance component UV becomes input data for the luminance component Y of total four pixels, including two pixels both vertically and laterally, it is more convenient to carry out the write masking processing based on four pixels as a unit. In this case, it is possible to reduce the capacity of the write masking memory 2 to one quarter of the original capacity. As described above, according to the present embodiment, the capacity of the write masking memory 2 can be minimized so that the cost relating to the memory can be reduced.

[0059] According to the prior-art technique, since the masking plane has been integrated with the video VRAM and the graphics VRAM shared memory, it has been necessary that the video VRAM 4 is read modified written when the write masking processing is performed. However, when the write masking memory 2 is separated from the video VRAM 4 as in the present embodiment, it is possible to carry out a pipe line processing by setting parallel the reading of the write masking memory 2 and the writing into the video VRAM 4, so that the bus band width of the video VRAM 4 can be improved to be about double in the case of writing other picture in the video VRAM 4. With this arrangement, there is an effect that a maximum number of pictures that can be displayed simultaneously can be increased.

[0060] In many cases, a display of a plurality of motion picture windows is necessary in the video picture display device. The present invention can meet this requirement, and the present embodiment has a large effect of reducing the capacity of the write masking memory 2 which is necessary when a plurality of input units 1 are installed.

[0061] As descried above, it is general that a video signal such as a television signal is digitally sampled in the size of about 640 x 480 pixels in the case of the NTSC system, for example. Accordingly, if a write masking memory having the capacity of at most the number of bits equal to the number of digital samples is available, it is possible to display a video picture in the shape of a desired write area at a desired position even in the video VRAM having a bit map (for example, 1280 x 1024) which is larger than the number of the digital samples. In other words, a designation of a writing position id the video VRAM is carried out by a unit for assigning the write position of the picture, and the video picture is clipped in a shape written in advance in the write masking memory by a unit for reading the write masking memory according to the picture input and by a write control unit for controlling the writing by making a decision whether the picture input should be written in the VRAM or not according to the contents of the write masking memory.

[0062] A second embodiment of the present invention will be explained next with reference to Fig. 4, Fig. 5, Fig. 6 and Fig. 7. Fig. 4 is a configuration diagram of the second embodiment of the present invention in which a mask data storing unit 20 and a coordinate data storing unit 24 are provided in the masking memory 2. Referring to Fig. 4, 31 designates an address generating unit, 32 a unit for controlling the reading of coordinates / mask data, and 33 an address initialization control unit for the address generating unit 31. The address generating unit 31 is structured by an address resistor 34, a change-over unit 37, a ±1 arithmetic unit 36 and a ±1 arithmetic unit control resistor 35, as an example for generating a one dimensional writing address. Other units are the same as those provided with the same symbol marks in Fig. 1.

[0063] Fig. 5 shows one example of the configuration of the masking memory 2. The coordinate data storing unit 24 in Fig. 5 stores the coordinate data (address) of the video VRAM for writing picture data for each horizontal scanning of the input video picture data. In the coordinate data storing unit 24, the CPU 101 in the computer main body 100 stores in advance, as initial values, write starting coordinates (addresses) 240, 241, 242, 243, 244, 245, --- on the display screen 70 of the picture data of each horizontal line corresponding to each horizontal line of the video picture input. In the master data storing unit 20 which follows the coordinate data storing unit 24, the CPU also stores in advance write masking information 200, 201, 202, 203, 204, 205, --- for the video VRAM 4 that are determined according to the shapes of windows in the display screen 70.

[0064] Fig. 6 shows an example of other configuration of the masking memory 2. In Fig. 6, the CPU 101 within the computer main body 100 writes data in the masking memory 2 in the state that one window 71 on the display screen 70 is divided into four from the beginning. In other words, the mask data within the masking memory 2 is divided into four mask data groups of 20-1, 20-2, 20-3, and 20-4, and coordinate data on the video VRAM 4 is provided in each group for each horizontal scanning line of the video picture.

[0065] With this arrangement, when the video picture input is a result of a combination of a plurality of video pictures, the divided window portions can be freely moved within the range of the data write range of each video VRAM 4 when the coordinate data of each mask data is rewritten from the video picture display device side.

[0066] If the window 71 is to be used as the original one window, the coordinate data added to each group is determined so that the end of the left side mask data group is connected to the starting of the right side mask data group for each horizontal line of the input video picture. It is needless to mention that although Fig. 6 shows an example of one window divided into four, the window can be divided into any desired number.

[0067] Fig. 7 shows another example of the configuration of the masking memory 2. In the coordinate data storing unit 24 of Fig. 7, an address scanning direction of the horizontal line on the video VRAM 4 that is generated by the address generator 31, that is, direction flags 250, 251, 252, 253, 254, 255, --- for assigning + (a scan in the right direction) or - (a scan in the left direction) are stored in advance, in addition to the write starting coordinates (addresses) 240, 241, 242, 243, 244, 245, --- on the video VRAM 4 of the picture data of each horizontal line corresponding to each horizontal line of the picture input. The contents of the mask data storing unit 20 that follow the coordinate data storing unit 24 are the same as those explained with reference to Fig. 5.

[0068] The operation will be explained next with reference to Fig. 4 and Fig. 7. The control unit 32 for controlling the reading of coordinates / mask data sequentially reads one line data of the coordinates memory storing unit 24 of the masking memory 2, that is, the direction control flag 250 and the write starting coordinates 24. The read data are inputted to the address initialization control unit 33. The address initialization control unit 33 sets the contents of the direction control flag 250 in the ±1 arithmetic unit control register 35 and then sets the address based on the contents of the write starting coordinates 240 in the address register 34 based on the change-over unit 37.

[0069] Then, the control unit 32 for controlling the reading of coordinates / mask data controls the writing by determining whether the data from the picture input unit 1 is to be written in the video VRAM 4 or not by reading the mask data 200. In synchronization with this, the address generating unit 31 generates a write address to the video VRAM by adding one to or subtracting one from the contents of the address register 34 according to the contents of the direction control flag 250, with the address based on the contents of the write starting coordinates 240 set as an initial value. Thereafter, each time when the processing for one line has been completed, the coordinate / mask data read controlling unit 32 proceeds the processing by reading a direction control flag 251, a write starting coordinates 241, --- corresponding to the next line.

[0070] As described above, according to the present embodiment, it is possible to develop inputted picture data in a desired direction from a desired position in a line unit by storing in advance, in the coordinate data storing unit 24, the write starting coordinates to the video VRAM 4 and the writing direction. In other words, when the coordinate data has been set so as to write sequentially from the top downwards in the coordinate data storing unit 24 as explained above, the coordinate data are exploded from top to down. If the coordinate data has been set so as to perform writing in the opposite direction, the coordinate data are exploded from bottom upwards. Therefore, an up and down inverse display of the picture data can be performed easily. Further, when the direction flags 250, 251, 252, 253, 254, 255, --- to be stored in the arithmetic unit control register 35 are rewritten, the picture data are exploded from the right to the left by generating the addresses from the right to the left by the address generator 31. When the addresses are generated from the left to the right, the picture data are also exploded from the left to the right. Therefore, the left and right inversion display can be performed with ease. It is, of course, possible to control these for each line so that these can also be applied to obtain a special effect. Further, since it is sufficient that the address generator 31 generates only addresses for one line, it is not only possible to reduce the scale of the logical circuit that structures the address generator but also there is an effect that a more complex address can be generated.

[0071] The system for executing the control data by reading them in a line unit as described in the present embodiment can also be expanded as shown in Fig. 6. In other words, by equally dividing one line into m, a coordinate data storing unit 24 and a mask data storing unit 20 shown in Fig. 5 and Fig. 7 are provided corresponding to each line of the l/m length. To be more specific, the masking memory 2 shown in Fig. 5 and Fig. 7 is arranged by m number in the horizontal direction so that the coordinate / mask data read control unit 32 reads the coordinate storing unit 24 and the mask data storing unit 20 in the unit of l/m of one line to perform the processing. With the above-described arrangement, it is possible to display an input dynamic data of one screen by dividing the data into m parts in the horizontal direction.

[0072] In the case of a division of data into a vertical direction, the data can be divided in one line unit by merely changing the coordinate data stored in the coordinate data storing unit as described above. For example, when the vertical direction has been divided into p, an input one screen of dynamic data is divided into small screens of p x m pieces and the data stored in the mask data storing unit 20 is changed to make it possible to make a superimposed display of motion pictures on the respective small screens. In this case, the coordinate / mask data read control unit 32, the address initialization control unit 33 and the address generator 31 can share the processing of m times for all the processing so that the display of a screen data divided into p x m small screens is made possible without an increase in the number of the control circuit. If p x m small screens have been combined before the dynamic data is inputted, it is possible to provide, by using this function, a device in a single input picture display device which is equivalent to the multi-input picture display device. This multiple function is a large effect that can be obtained by the present embodiment.

[0073] A third embodiment of the present invention will be explained next. Fig. 8 is a configuration diagram for showing the third embodiment of the present invention that has two write mask data storing units. In Fig. 8, 25 designates a mask A, 26 a mask B, and each mask may be added with a coordinate data storing unit shown in Fig. 5 and Fig. 7. 41 designates a mask change-over instruction register, 42 a vertical timing generator, 43 a D flip-flop, 44 a pointer A for generating a reading address for the mask A 25, 45 a pointer B for generating a reading address for the mask B 26, and 46 a selector for changing over between the pointer A 44 and the pointer B 45. The other units are the same as those having the same symbol marks in Fig. 1 to Fig. 7.

[0074] It is necessary to have at least two write mask data memories. By referring to a state display flag that shows a state of the selector 46 which is the change-over control unit for the mask A 25 and the mask B 26 that are the write mask data storing units, if the input video picture is being displayed by using the mask A 25 which is the first write mask data storing unit, it is possible to write new write mask data in the mask B 26 which is another write mask data storing unit.

[0075] When the writing of the mask data has been finished, the change-over instruction register 41 which is a change-over instruction unit of the mask data storing unit instructs a change-over from the mask A 25 to the mask B 26. Upon knowing the instruction of the change-over given by the change-over instruction register 41, the selector 46 changes over between the mask A 25 and the mask B 26 based on a synchronization timing signal sent from the vertical synchronization timing generator 42 that generates a timing which is synchronous with the vertical synchronization signal of the input motion picture, and then changes the state of the flag. The change-over of the mask data storing units is carried out immediately in the timing synchro nous with the vertical synchronization signal of the input motion picture, as described above.

[0076] The detailed operation will be explained next. To simplify the explanation, it is assumed that write mask information corresponding to the picture input currently being displayed is being set to the mask A 25 as an initial state and that the pointer A 44 has been selected by the change-over instruction register 41 and the selector 46. It is also assumed that the state in this case is being reflected in the state display flag which is an output of the D flip-flop 43. When it has become necessary to change the shape of the mask based on the operation of the user, a control unit such as a processor (not shown, and hereinafter to be simply referred to as a "processor") checks the state display flag of the output of the D flip-flop 43 and it is recognized that the current mask A 25 is currently in the active state. The processor writes new mask information in the mask B 26 and, when this has been finished, rewrites the contents of the change-over instruction register 41 so that the mask B 26 is selected. The contents of the change-over instruction register 41 are held until when the vertical synchroniza tion timing generator 42 generates a timing signal synchronous with the vertical synchronization signal from the picture data input unit 1. The generation of the timing signal synchronous with the vertical synchronization signal is awaited in this case in order to wait for a completion of the explosion of one-frame or one-field picture data in the video VRAM 4. When a timing signal synchronous with the vertical synchroniza tion signal has been generated, the contents of the change-over instruction register 41 are reflected in the output of the D flip-flop 43, the pointer B 45 is selected by the selector 46 and the change-over to the mask B 26 has been completed. A change-over from the mask B 26 to the mask A 25 can also be achieved in the similar procedure.

[0077] As described above, according to the present embodiment, a change-over between the mask A 25 and mask B 26 can be effected immediately in the timing synchronous with the vertical synchronization signal of the input motion picture. Therefore, the contents of the video VRAM can not be rewritten carelessly by incomplete mask data or the motion picture currently being displayed can not be placed in a stopped motion.

[0078] Because of the above-described characteristics, there is an effect that whole picture data can be obtained without a loss unlike a loss of dynamic data during a stopped motion experienced in the past. This effect is very important, particularly in the case of picture data obtained from a broadcasting program, because most of such picture data can not be retransmitted.

[0079] A fourth embodiment of the present invention will be explained next. Fig. 9 shows a configuration diagram for showing the fourth embodiment of the present invention according to which picture data already written in the window by an old mask of the video VRAM 4 can be deleted automatically when the write mask data has been changed over. In Fig. 9, 47 designates a shift register and 48 designates a color data change-over unit for changing over between the picture data from the picture data input unit 1 and specific color data. Other units are the same as those with the same symbol marks shown in Fig. 8.

[0080] At least two mask data storing units are provided. Accordingly, by referring to the state display flag for showing the state of the selector 46, if the mask A 25 is being used to carry out a display of a picture, new mask data is to be written in the mask B 26 which is another write mask data storing unit. When the writing of the mask data has been finished, the change-over instruction register 41 instructs a change-over from the mask A 25 to the mask B 26. The operation up to this stage is the same as that of Fig. 8.

[0081] Upon knowing the instruction of change-over given by the change-over instruction register 41, the selector 46 forcibly changes over the input dynamic data to data of a specific color after waiting for a synchronization timing signal from the vertical synchronization timing generator 42 which generates a timing synchronous with the vertical synchronization signal of the input motion picture. The data of the specific color is the data of a color which is used to delete a picture such as a black color, for example. The selector 46 further waits for a synchronization timing signal from the vertical synchronization timing generator 42 to change over between the mask A 25 and the mask 26 to change the state of the state display flag. During this period, the deletion of the picture data in the area in which the dynamic data has been written is completed and therefore, the "garbage data" can be securely deleted at the moment when the write area of the motion picture changes.

[0082] A detailed operation will be explained next. To simplify the explanation, as in the case of the preceding embodiment, it is assumed that write masking information corresponding to the picture input currently being displayed has been set in the mask A 25 and that the pointer A 44 has been selected by the change-over instructing register 41 and the selector 46. It is also assumed that the status in this case has been reflected in the status display flag which is the output of the D flip-flop 43. When it becomes necessary to change the shape of the mask by the operation of the user, the processor checks the status display flag of the output of the D flip-flop 43 to recognize that the mask A 25 is currently in the active state. The processor writes new mask information to the mask B 26, and after finishing the writing, rewrites the contents of the change-over instruction register 41 so that the mask B 26 is to be selected. The contents of the change-over instruction register 41 are held until the timing signal synchronous with the vertical synchronization signal from the picture data input unit 1 has been generated three times from the vertical synchronization timing generator 42. The generation of the timing signal synchronous with a first vertical synchronization signal is awaited in order to wait for the completion of the explosion of the picture data of the first field in the video VRAM 4.

[0083] A signal of the intermediate tap of the shift register 47 that has been changed as a result is inputted to the color data change-over unit 48. After a timing signal which is synchronous with the vertical synchronization signal has been generated by further two times, that is, after one-frame time has elapsed, the contents of the change-over instruction register 41 are reflected in the output of the D flip-flop 43 and the pointer B 45 is selected by the selector 46, thus completing the change-over to the mask B 26.

[0084] As is clear from the above explanation, during the period from when the signal of the intermediate tap of the shift register 47 changed to when the signal of the status display flag which is the output of the D flip-flop 43 has changed, both signals which are supplied to the color data change-over unit 48 take different values. The fact that both signals take different values can be detected by an exclusive logical sum or other unit. Therefore, based on the result of this detection, the color data change-over unit 48 takes the data of the picture input unit 1 if the values of both signals are the same, and operates to output specific color data in stead of the data of the picture input unit 1 if the values of both signals are different. The specific color refers to the color to be used at the time of deleting the picture, like a black color, as described before. Since the input of the specific color continues during the period of the input of the picture of one frame, the area of the mask A 25 which has been used so far is completely refilled with the specific color, thus completing the deletion. A change-over from the mask B 26 to the mask A 25 can also be achieved in a similar manner.

[0085] As described above, according to the present embodiment, the picture data in the mask area which has so far been used until the change-over between the mask A 25 and the mask B 26 can be deleted automatically. Accordingly, the load of the software can be reduced and the deletion can be made at the timing synchronous with the input of the picture. Therefore, there is an effect that no unnecessary flickering occurs and that an automatic deletion function can be added with an extremely small number of circuits.

[0086] Next, a fifth embodiment of the present invention will be explained with reference to Fig. 10 and Fig. 11. Fig. 10 is a block configuration diagram of the fifth embodiment of the present invention. In Fig. 10, 2 designates a mask data storing memory, 9 a keying data storing memory, and 11 a keying and mask data storing memory. Other units are the same as those having the same symbol marks in Fig. 1.

[0087] The keying data will be explained first. The picture change-over control unit 6 changes over between the picture data from the video VRAM 4 and the graphics display data from the graphics display unit 8. In this case, information for showing which data should be selected at this change-over stage is the keying data. The keying data is stored in the keying data storing memory 9. The read control unit 5 of the video VRAM reads the keying data storing memory 9 in synchronization with the reading of the video VRAM 4. In the present embodiment, the keying data storing memory 9 and the mask data storing memory 2 are being shared by the keying and masking data storing memory 11.

[0088] Normally, the video VRAM 4 and the keying and masking data storing memory 11 are structured by using a multi-port memory having at least the random access memory (RAM) and the serial access memory (SAM). What is important in this case is that the keying data from the keying data storing memory 9 to the picture change-over unit 6 is transmitted through the SAM unit of the keying and masking data storing memory 11 and the masking data from the masking data storing memory 2 to the write control unit 3 of the video VRAM is trans mitted through the RAM unit of the keying and mask data storing memory 11, in order to transmit the picture data from the video VRAM 4 to the picture change-over control unit 6 through the SAM unit of the video VRAM 4. With the above arrangement, the mask data storing memory 2 and the keying data storing memory 9 can be shared to form the keying and masking data storing memory 11.

[0089] An example of the bit map of the keying and masking data storing memory 11 is shown in Fig. 11. The keying and masking data storing memory 11 has a bit map of 2048 x 1024, of which 1280 x 1024 bits are used for the keying data storing memory 9 with the rest for the mask data storing memory 2. A half of the mask data storing memory 2 is used for the mask A 25 and the remaining half for the mask B 26. Normally, the memory is loaded in a value of a power of 2 such as 2048 x 1024. As is clear from Fig. 11, a spare area of the keying data storing memory 9 can not only be efficiently used for the masking data storing memory 2 but also be shared to reduce the size of the memory elements. Therefore, there is an effect that the device can be provided at low price and power consumption for the device can be reduced.

[0090] According to the present invention, a video picture displayed on the window of the display screen can be scaled to be expanded and compressed within the window. Particularly in the present invention, an evident effect can be obtained for the scaling down.

[0091] A scaling down scaling can be achieved by a thinning of pixels in the horizontal direction and by a thinning of horizontal lines in the vertical direction.

[0092] A sixth embodiment of the present invention will be explained next. In the present embodiment, the input video picture is scaled by using a line generator. The line generator of the present embodiment is characterized in that the pixels or horizontal line to be thinned is determined by using a known oblique line generation algorithm. Fig. 15 shows one example of the oblique line generation algorithm of the line generator and Fig. 16 shows another example of the oblique line generation algorithm. In Fig. 15, A designates an error accumulator, n a quotient obtained by dividing a number x of the input picture data by a number y of output data after a scale down, and r a remainder in this case. Fig. 15 shows a processing for drawing a horizontal line component which is structured by (n + 1) dots when a value of an accumulated error has exceeded 1 after an error less than one dot has been accumulated by r each time when a horizontal line component structured by n dots is drawn. At an initialization processing step 100, the value of the error accumulator A is set to 0. At an error accumulation processing step 101, the value r for showing an error of less than one dot per one time is added to the error accumulator A. At a condition decision processing step 102, a decision is made whether a resultant accumulated error has exceeded 1 or not. If the accumulated error has exceeded 1, the exceeded 1 is subtracted at an accumulated value correction processing step 103, and an output processing of (n +1) is executed at a step 104. If the accumulated error has not exceeded 1, an (n) output processing is executed at step 105.

[0093] Depending on the values of x and y, the above r may become a recurring decimal and there may occur an error at the time of an accumulation. An example of Fig. 16 takes this case into account and facilitates to solve this problem in the hardware. In Fig. 16, R is a result of a rationalization by multiplying r by y. By carrying out this processing, the processing for drawing a horizontal line component structured by (n + 1) dots when the value of the accumulated errors in the error accumulator A has exceeded y, that is, an (n + 1) output processing, is carried out at step 114. Further, in order to simplify the condition decision processing step 112, y is subtracted in advance at the initialization processing step 110. With this arrangement, at the condition decision processing step 112, A is not compared with y but A is compared with O.

[0094] In summary, at the initialization processing step 110, the value of the error accumulator A is set to -y. At the error accumulation processing step 111, the value R for showing the error less than y (1 dot) at one time is added to the error accumulator A. At the condition decision processing step 112, a decision is made whether the resultant accumulated error has exceeded 0 or not. If the accumulated error has exceeded 0, the exceeded y is subtracted at the accumulated value correction processing step 113, and the (n + 1) output processing is carried out at the step 114. If the accumulated error has not exceeded 0, the (n) output processing is carried out at the step 115.

[0095] Fig. 17 is a block configuration diagram of the sixth embodiment of the present invention. In Fig. 17, 51 designates a horizontal line generator, 52 a pixel selector, 53 a vertical line generator, and 54 a line selector. Other units are the same as the units having the same symbol marks in Fig. 5. As described above, the scaling down scaling can be achieved by thinning the pixels in the horizontal direction and by thinning the horizontal lines in the vertical direction.

(1) thinning of pixels in the horizontal direction



[0096] Referring to Fig. 12, consider the case that a straight line is to be drawn from an origin (0, 0) to a point (x - 1, y - l) in the first quadrant of an xy orthogonal coordinates system, where x and y are integers respectively and x corresponds to the number of picture data of picture input and y corresponds to the number of pixel data after scaling down scaling for writing into the video VRAM. It is assumed that each dot for structuring a straight line can be drawn only at a position of an integer value of a coordinate axis. Now, since a scaling down scaling is being considered, there is a relationship of x ≧ y and an angle ϑ to be formed by the straight line and the x axis is 0 ≧ ϑ > 45°,

[0097] If the straight line is drawn by using a known oblique line drawing algorithm, the straight line can be expressed as a set of y horizontal line components of at least one dot. In this case, the length of each horizontal line component can be considered to represent the number of pixel data of a picture input corresponding to one pixel data after the scaling down scaling for writing into the video VRAM. The length of individual horizontal line component may be different, when a window has a cut-out portion, for example, or all the horizontal line components may have the same length. In general, if the length of each horizontal line is expressed as n, the scaling down scaling in the horizontal direction can be achieved when one pixel data is selected from the picture data of n picture inputs by using the pixel selector 52 and the selected pixel data is written in the video VRAM 4.

[0098] Fig. 13 shows an example of a half scale down, where it is assumed that 26 input data is compressed to a half, that is, 13 input data, for example. The length n of the 13 horizontal line components for structuring the straight line becomes 2, which shows that one output may be selected for two input pixel data. Fig. 14 shows an example of a 7/26 scale down, which assumes that 26 input data are to be compressed to 7 input data. The length n of the 7 horizontal line components for structuring the straight line, that is, the number of pixels, becomes 3 or 4, which shows that one output may be selected for three or four input pixel data. Thus, the horizontal line generator 51 generates the length n of the y horizontal line components per one line and gives this number n to the pixel selector 52 and also gives address update information of the y times to the address generator 31. The pixel selector 52 selects one pixel data from the n pixel data from the input unit 1 based on the given number n, and gives the selected data to the next line selector 54. In selecting data, either the first data or the last data may be selected, or the intermediate data may be selected.

(2) thinning of horizontal lines in the vertical direction



[0099] When the scanning system is the one for sequentially scanning the picture input in the order from the top downwards as in the case of the non-interlace system, the processing similar to the one described above is also carried out in the vertical direction. When the scanning system is the interlace system, that is the skip scanning system, lines to be thinned are determined in advance by using the vertical line generator 53 and picture data to be inputted in the horizontal unit is controlled by determining whether the picture data is to be written in the VRAM 4 for each horizontal line or not, and writing of the lines to be thinned in the video VRAM is prohibited. The vertical line generator 53 generates a length n' of y' horizontal line components per one field as described above and gives the length n' to the line selector 54. The line selector 54 selects pixel data of one line from the pixel data of n' lines from the pixel selector 52 based on the given n', and gives the selected data to the video VRAM 4. In selecting lines, either the first lines or the last lines may be selected, or the intermediate lines may be selected. For the selected lines to be written in the video VRAM 4, the scaling down scaling in the vertical direction can be achieved by setting write starting coordinates so that only the selected lines can continue in the vertical direction in the coordinates data storing unit 24 described in the second embodiment of the present invention.

[0100] As described above, according to the present embodiment, motion picture data can be scaled into a desired size so that there is an effect that multi-media data can be freely displayed in the window environment.

[0101] It is also good, as described in the second embodiment of the present invention, to store in advance initial values necessary for the horizontal line generator 51, the vertical line generator 53 or the pixel selector 52, in the coordinates data storing unit 24 for the mask data storing memory 2, and to initialize at the beginning of each line by the coordinates / master data read controlling unit 32. Particularly, the line selector 54 needs only information on whether the current lines are necessary or not and, therefore, there is an effect that the vertical line generator 53 can be omitted. Further, since the initial value of scaling can be changed in line unit, it becomes possible to have a more complex special effect, such as a trapezoidal display of a dynamic window or a mapping in an area covered by a curve. Similarly, by combining the effect of the present embodiment with the split control function of small screens of p x m described in the second embodiment, it is possible to have an independent scaling in the respective small screens. In this case, it is also possible to have a multi-function without a substantial alteration to the control circuit.

[0102] Next, a seventh embodiment of the present invention will be explained with reference to Figs. 18 to 21. While in the sixth embodiment of the present invention, one pixel data has been selected from the pixel data of n picture input data by using the pixel selector 52 or the line selector 54 and the remaining pixel data has been abandoned, a picture filtering processing will be carried out to mitigate the occurrence of an alias (a ruggedness in the display) in the seventh embodiment of the present invention. In Fig. 18, 55 designates a pixel averaging unit in place of the pixel selector used in Fig. 7 and 56 designates a line averaging unit in place of the line selector 54 used in Fig. 17. Other units are the same as those having the same symbol marks in Fig. 17. Fig. 19 is a block configuration diagram for showing an example of the pixel averaging unit 55 and the line averaging unit 56. In Fig. 19, 551 designates a pixel input weighting unit, 552 a pixel adder, 553 a register for the accumulator, 554 a pixel gate, 555 a pixel output shifter, 556 a pixel average control unit, 561 a line input weighting unit, 562 a line adder, 563 a line buffer, 564 a line gate, 565 a line output shifter, and 566 line average control unit.

(1) picture filtering processing in the horizontal direction



[0103] For the value n outputted by the horizontal line generator 51 in place of the pixel selector 52, the pixel averaging unit 55 arranges the pixel data of n dots of the picture input to average the n-dot pixel data of the picture input, thus performing the picture filtering processing in the horizontal direction. The horizontal line generator 51 generates the length n of y horizontal line components per one line as described above and gives the length n to the pixel average control unit 556 of the pixel selector 52 and, at the same time, gives address updating information of y times to the address generator 31. Inside the pixel averaging unit 55, the pixel average control unit 556 averages the n pixel data from the input unit 1 based on the given value n, and controls to give the averaged result to the next line averaging unit 56. In other words, the pixel input weighting unit 551 sets the input data to be multiplied by one or two by the shifter, and the adder 552 adds the result to the contents of the accumulator 553, thus accumulating the values in the accumulator 553. The pixel gate 554 is for giving the initial value of the accumulator 553 and is controlled by the pixel average control unit 556 to output data of 0 for the first pixel of the given n. The pixel average control unit 556 controls the pixel input weighting unit 551 so that the sum of the weight of the accumulated values becomes a power of 2 when the accumulation of the n pixels has been finished. The pixel output shifter 555 is controlled by the pixel average control unit 556 to carry out a right shifting so that the weight is returned to 1 when the accumulation of the n pixels has been completed. With the above arrangement, the n dot pixel data of the picture input are averaged to achieve the picture filtering in the horizontal direction.

[0104] A further detailed configuration example of the pixel average control unit 556 and one example of the control method therefor will be explained with reference to Fig. 20 and Fig. 21. Fig. 20 shows an example of the configuration of the pixel average control unit and Fig. 21 shows an example of the pixel average control method using this pixel average control unit. How the pixel average control unit 556 controls to set the weight of the accumulated value of n input pixels to a power of 2 and how the pixel output shifter 555 returns the weight to 1 will be explained below based on the cases of the input pixel n = 6 and n = 13 respectively.

[0105] 606 schematically shows how six input pixels are weighted when n = 6. Six rectangles correspond to six input pixels and height of each rectangle shows a weighting. Assume that the rectangles of a smaller height shows the weight of 1 and the rectangles of a larger height shows the weight of 2. Assume that the rectangle at the right end shows the first input pixel and then the second, third, ---, and sixth pixels from the right to the left are to be inputted in this order. This shows that when n = 6, or when the six input pixels are averaged, the weights of the input pixels are 1, 1, 2, 2, 1, 1 respectively so that the sum of the weights is 8 which is 2 to the third power, that is, 2³.

[0106] When n = 13, or when 13 input pixels are averaged, the weighting of the respective input pixels is made to be such that the weight of 1 is repeated five times, 2 is repeated three times and 1 is repeated five times in this order so that the sum of the weights is 16 which is 2 to the fourth power.

[0107] As described above, it is possible to put a plurality of input pixels into one set by accumulating the inputs by multiplying the inputs by one or two and then by multiplying the sum by a minus power of 2. With this arrangement, it is possible to set the hardware structure for averaging in a very simple structure. It is assumed here that the operation of putting a plurality of input pixels into one set is expressed as averaging.

[0108] Fig. 21 shows a case the n is other number. Fig. 21 shows an example of the method for weighting when n is 1 (601) to n is 31 (631), and it can be easily confirmed that by implementing the weighting as shown in Fig. 21, all the sums become 2 to the power of some number.

[0109] The structure shown in Fig. 20 is the structure for performing the averaging control by weighting based on the method as shown in Fig. 21. In Fig. 20, those units having the same symbol marks as those in Fig. 19 are the same units. In other words, 551 designates the pixel input weighting unit, 552 the adder, 553 the accumulator, 554 the pixel gate, 555 the pixel output shifter, and 556 the pixel average control unit. 570 designate a control signal generator, 571 a change-over unit, 572 a decrementer, 573 a register, 574 a zero detector, 575 and 576 comparators and 577 an OR gate.

[0110] The change-over unit 571, the decrementer 572, the register 573 and the zero detector 574 constitute a down-counter, and the comparators 575 and 576 and the OR gate 577 constitute a window comparator. By loading the given value of n and down counting for each input of the pixels, the down-counter generates n outputs from (n -1) to 0 as described later and specifies the order of the current input pixel among the total input pixels so far. The window comparator generates a weight control signal 585 for controlling to determine the weight of 1 or 2 to each pixel. The control signal generator 570 outputs an upper limit value signal line 583 to be given to the comparator 575 for comparing the upper value at the window comparator, a lower limit value signal line 582 to be given to the comparator 576 for comparing the lower limit value, and a shift value control line 586 of the pixel output shifter 555, based on the data value of n inputted from a signal line 580, respectively.

[0111] A table inside the block of the control signal generator 570 shows an outline of how and what signal the control signal generator 570 generates each time based on the value of the data n inputted from the signal line 580. For the sake of simplicity, it is assumed that the value of n ranges from 1 to 31 and the tables shows which value each signal line takes within each range of data value n of 1, 2 to 3, 4 to 7, 8 to 15, and 16 to 31. Figures shown in the column of the shifter show fractions into which each value accumulated in the accumulator 553 within each range of the value of n shown on the left side is to be finally shifted by the picture output shifter 555 (reference Fig. 21). D4 to D0 show the n values expressed in binary numbers and x shows a portion which changes into 0 or 1 based on the value of n shown on the left end. S4 to S0 which are the upper value signal lines 583 are the values of only the highest order 1 being taken out from the D4 to D0 which are the signal lines 580, and a person engaged in this business can easily produce these values from the D4 to D0 by using a known technique known as a priority encoder. L4 to L0 which are the lower limit value signal lines 582 are the highest order 1 of the D4 to D0 changed to 0, and these values can be generated by carrying out an exclusive logical sum of the D4 to D0 and the S4 to S0. By comparing the necessary shift values shown in the column of the shifter with the values generated by the S4 to S0, it can be known that these values correspond to each other at 1 to 1. Therefore, a person engaged in this business can easily understand that the S4 to S0 can be used as they are or the shift value control lines 586 can be generated with some conversion.

[0112] The operation when n is 6 will be explained in order. When n is 6, the D4 to D0 become "00110" and the S4 to S0 of the upper limit value signal lines 583 become "00100" because only the highest order 1 of the D4 to D0 is taken out. The L4 to L0 of the lowest limit value signal lines 582 become "00010" because the highest order 1 of the D4 to D0 is changed to 0. Further, based on the values of the S4 to S0, the shift value control lines 586 output the values which make the pixel output shifter 555 to carry out the shifting of 1/8. When the initial value of the register 573 at the down-counter is 0, the zero detector 574 detects 0 and controls the change-over unit 571 to input the value of n "00110" to the decrementer 572. The decrementer 572 outputs to the register 573 the value "00101" which is the result of the input subtracted by 1. After this value has been loaded to the register 573 and the output values of the C4 to C0 of the register 573 have become "00101", the zero detector 574 controls the change-over unit 571 to input the output values of the register 573 to the decrementer 572. Thereafter, down counting is continued until the output values of the C4 to C0 of the register 573 have become 0. This state is shown in C4 to C0. Next, the comparator 575 for structuring the window comparator always compares the S4 to S0 of the upper limit signal lines 583 (the value in this case is "00100") with the outputs C4 to C0 of the register 573 and outputs H during the first two pixels period. Further, the comparator 576 always compares the L4 to L0 of the lower limit signal lines 582 (the value in this case is "00010") with the outputs C4 to C0 of the register 573 and outputs H during the last two pixels period. The results of these are logically summed by the OR gate 577, and L is outputted during the intermediate two pixels components period during which the H is not being outputted by the comparators 575 and 576. With the above arrangement, it is possible to generate the desired weight control signal 585 when n is 6.

[0113] The operation when n is 13 will be explained below. When n is 13, the D4 to D0 become "01101" and the S4 to S0 of the upper limit value signal lines 583 become "01000". The L4 to L0 of the lowest limit value signal lines 582 become "00101". Further, based on the values of the S4 to S0, the shift value control lines 586 output the values which make the pixel output shifter 555 to carry out the shifting of 1/16. When the initial value of the register 573 at the down-counter is 0, the decrementer 572 outputs the value "01100" which is the result of the input value n subtracted by 1. After this value has been loaded to the register 573, down counting is continued until the output values of the C4 to C0 of the register 573 have become 0. This state is shown in C4 to C0. Next, the comparator 575 always compares the S4 to S0 of the upper limit value signal lines 583 (the value in this case is "01000") with the outputs C4 to C0 of the register 573 and outputs H during the first five pixels period. Further, the comparator 576 always compares the L4 to L0 of the lower limit value signal lines 582 (the value in this case is "00101") with the outputs C4 to C0 of the register 573 and outputs H during the last five pixels period. The results of these are logically summed by the OR gate 577, and L is outputted during the intermediate three pixels components period during which the H is not being outputted by the comparators 575 and 576. With the above arrangement, it is possible to generate the desired weight control signal 585 when n is 13.

[0114] Based on the above-described procedures, it will be easily understood that the pixel average control unit 556 can generate desired control signal groups when n is other than 6 or 13.

(2) picture filtering processing in the vertical direction



[0115] The line averaging unit 56 averages the pixel data included in a plurality of lines in the vertical direction and achieves the picture filtering processing in the vertical direction. The operation is the same as the above-described processing in the horizontal direction except that the processing is in line unit. In averaging the pixel data, based on the n' from the vertical line generator 53, the line input weighting unit 561 weights each line for each data of the n' lines for which the above-described picture filtering processing in the horizontal direction has been carried out. The line adder 562 stores the accumulation result in the line buffer 563. The line gate 564 is used to prevent the data from the line buffer 563 from being inputted to the line adder 562 for the first line of the n' lines which are to be compressed. In accumulating the n'-th line to be compressed, the accumulation is carried out so that the sum of the weighting becomes 2 to the power of some number, and the accumulation is controlled by the line output shifter 565 so that the weight becomes 1. The result of the control is written in the video VRAM 4 by using the horizontal unit write control unit, thus achieving the pixel data averaging both in the horizontal direction and the vertical direction.

[0116] As described above, according to the present embodiment, it is possible to carry out scaling while carrying out the picture filtering processing of the input dynamic data in desired sizes, so that there is an effect that the multi-media data can be displayed in high quality in the window environment.

[0117] Further, as described in the sixth embodiment of the present invention, it is also good to initialize each line by the coordinates / mask data read control unit 32 by storing in advance the initial values which are necessary for the horizontal line generator 51, the vertical line generator 53 or the line averaging unit 56 in the coordinates data storing unit 24 of the mask data storing memory 2. Particularly, the line averaging unit 56 requires only the information of whether the current lines are necessary and information of input weighting coefficient and line buffer output coefficient, so that there is an effect that the vertical line generator 53 can be omitted and the line average control unit 566 can be replaced by a simple register. Further, since the initial value of the scaling can be changed in line unit, a more complex special effect can be obtained such as, for example, a trapezoidal display of the dynamic window or a mapping in the area encircled by a curve is made possible. Similarly, in combination with the p x m small screen split control function as descried in the second embodiment, it is needless to mention that the scaling can be carried out independently while performing the picture filtering in the small screen unit. A multi-function can also be obtained in this case without a substantial change in the control circuit.

[0118] An eighth embodiment of the present invention will be explained with reference to Fig. 22. Fig. 22 is a block configuration diagram of the eighth embodiment of the present invention. Referring to Fig. 22, three video pictures of a picture data input unit A 12, a picture data input unit B 13 and a picture data input unit C 14 are inputted. Although the number of the input video pictures is assumed to be three in the present embodiment, it is needless to mention that the present invention can be applied to any desired number of at least two input video pictures. 2' designates a mask data storing memory having a 2-bit depth, and this mask data storing memory has a mask plane 2-1 for storing mask data of a first bit position and a mask plane 2-2 for storing mask data of a second bit position. Other units are the same as those units having the same symbol marks shown in Fig. 1. Each of a video VRAM 4', the mask planes 2-1 and 2-2 has bit a number corresponding to the number of pixels of the display screen 70 of the display device 7.

[0119] In the mask data storing memory 2' having the same bit map as that of the graphics VRAM 4' and having a depth of a plurality bits, one of the plurality of picture input numbers can be written, as in the case of the color display in the conventional graphics VRAM. For example, it is possible to express four ways in the masking memory having a 2-bit depth and 256 ways in the masking memory having an 8-bit depth. Normally, one way is allocated to the graphics display and no allocation is made to correspond to any picture data input for the video VRAM. Accordingly, the maximum number of picture data input units that can be handled in the mask data storing memory 2 having the n-bit depth becomes 2 to the power of n - 1. In the plurality of picture data input unit, picture input numbers are defined exclusively in the respective picture data inputs corresponding to each picture data input unit. For example, the input unit A 12 has "01", the input unit B 13 has "10" and the input unit C 14 has "11", in the binary unit respectively. "00" has been allocated to the graphics VRA within the graphics display unit 8. Which input picture is to be displayed at what position on the display screen within the computer main body is determined by assigning the picture input number in 2 bits using two mask planes for each pixel on the display screen. The CPU within the computer main body writes in advance the mask data in the two mask planes 2-1 and 2-2 as in the case of the preceding embodiments.

[0120] The video VRAM write control unit 3 reads the mask data storing memory 1' corresponding to the coordinates of the video VRAM 4' into which the inputted pixel data is to be written. In this case, a detection of coincidence between the picture input number defined in the picture data input unit and the contents of the write mask data storing memory 2' is carried out. If the defined picture input number coincides with the contents of the write mask data storing memory 2', the video VRAM write control unit 3 writes the picture data in the video VRAM 4. It is only sufficient to fill in the window square area with the data of the picture input number in the write mask data storing memory 2 just like drawing a window in the conventional graphics VRAM. At most one number can be written in one pixel component area of the mask data storing memory 2', so that a plurality of pictures will never be written at the same position of the video VRAM 4 if the number of a motion picture input has been defined exclusively.

[0121] Therefore, according to the present embodiment, it is possible to display a motion picture window by merely drawing in the mask data storing memory the number data of the motion picture input to be displayed, in the manner similar to that of the conventional graphics drawing. As a result, there is an effect that the operator can handle the window display without being conscious about the dynamic window.


Claims

1. A video picture display device, comprising:
   means (1) for inputting pixel data corresponding to each pixel of a video picture structured by a predetermined number of pixels;
   a bit map memory (4) for storing said inputted pixel data;
   means (5, 6) for displaying said video picture on a display screen (70) of display means (7) within a computer main body (100) based on pixel data stored in said bit map memory (4); and
   a masking memory (2) for masking pixel data according to the shape of a display area of said video picture displayed on said display screen (70), characterized in that:
   said masking memory (2) has a bit number equal to or less than said predetermined number of inputted pixel data,
   said masking memory (2) is provided separate from said bit memory (4), and
   said video picture display device (110) further includes write control means (3), disposed between said pixel data input means (1) and said bit map memory (4) and connected with said masking memory (2), for reading mask data corresponding to pixel data from said masking memory (2) in response to input pixel data from said pixel data input means and for controlling, without reading said bit map memory, to determine whether said pixel data is to be written in said bit map memory or not.
 
2. A video picture display device according to Claim 1, characterized in that:
   said mask data (200 - 205) are being divided for each plurality of scanning lines of said video picture within said masking memory (2),
   each of said divided mask data is added with coordinates data (240 - 245) for expressing a write starting address to said bit map memory of a plurality of pixel data that structure scanning lines corresponding to said divided mask data, and
   said write control means (3) determines an address within said bit map memory of pixel data to be written in said bit map memory, based on said coordinates data.
 
3. A video picture display device according to Claim 2, characterized in that:
   within said masking memory (2), said mask data is divided into a scanning line direction and a subscanning line direction of said video picture respectively so that said mask data is divided into a plurality of mask groups (20 - 1 to 20 - 4),
   each of said divided groups is added with coordinates data (24 - 1 to 24 - 4) for expressing write starting address to said bit map memory of a plurality of pixel data that structure scanning lines belonging to each of said divided mask group, and
   said write control means (3) determines an address within said bit map memory of pixel data to be written in said bit map memory, based on said coordinates data.
 
4. A video picture display device according to Claim 2 or 3, characterized in that each of said coordinates data includes direction data (250 - 255) for showing in which direction of a forward direction or a backward direction a column structured by a plurality of pixel data corresponding to each of said coordinates data is written within said bit map memory.
 
5. A video picture display device according to any one of Claims 2 to 4, characterized in that said coordinates data can be rewritten from said video picture display device side.
 
6. A video picture display device according to any one of Claims 1 to 3, including at least two of said masking memories (25 and 26), characterized in that
   said write control means (3) includes:
   means (41) for instructing one of said at least two masking memories as a masking memory to be used;
   synchronization timing generating means (42) for generating a timing signal synchronous with a vertical synchronizing signal of said video picture; and
   means (32) for selecting one from said at least two masking memories in response to an instruction from said instructing means during a generation of said timing signal,
   an updating of said mask data being carried out for an un-selected masking memory of said at least two masking memories.
 
7. A video picture display device according to Claim 6, characterized in that said write control means (3) further includes means (48) for changing over said input picture data with data of a specific color during a generation of a timing signal from said synchronization timing signal generating means (42) in response to an instruction from said instructing means, and
   said selecting means (32) selects one from said at least two masking memories in response to said instructing means during a generation of a next timing signal.
 
8. A video picture display device according to Claim 1, further including:
   means (5) for reading pixel data stored in said bit map memory (4);
   picture change-over means (6) disposed between said bit map memory (4) and said display means (7), for changing over between picture data read out from said bit map memory and graphics data from graphics display means (8) within said computer main body (100) and sending changed data to said display means; and
   a keying data memory (9) for storing keying data for changing over pictures of a bit number corresponding to a number of pixels that structure a display screen (70) of said display means to be used by said picture change-over means (6),
   said masking memory (2) and said keying data memory (9) being disposed within the same memory.
 
9. A video picture display device according to Claim 2 or 3, wherein, when a compressed picture of said input video picture is to be displayed on said display screen (70), said write control means (3) further includes:
   first decision means (51) for determining at least one pixel data to be allocated from a plurality of pixel data for structuring one scanning line of said input video picture to each of a plurality of pixels that structure one scanning line of said compressed picture, by using an oblique line generating algorithm;
   first selecting means (52) for selecting one from at least one pixel data allocated by said first decision means (51) to each of a plurality of pixels that structure one scanning line of said compressed picture;
   second decision means (53) for determining at least one scanning line to be allocated from a plurality of scanning lines for structuring said input video picture to each of a plurality of scanning lines that structure said compressed picture, by using an oblique line generating algorithm; and
   second selecting means (54) for selecting one from at least one scanning line allocated by said second decision means (53) to each of a plurality of scanning lines that structure said compressed picture, and characterized in that
   said masking memory (2) stores data necessary for the processing of said first and second decision means and said first and second selecting means as a part of said coordinates data (24), and
   said writing means (3) selectively writes in said bit map memory (4) said selected pixel data by said selected scanning line based on mask data within said masking memory (2).
 
10. A video picture display device according to Claim 2 or 3, wherein, when a compressed picture of said input video picture is to be displayed on said display screen (70), said write control means (3) further includes:
   first decision means (51) for determining at least one pixel data to be allocated from a plurality of data for structuring one scanning line of said input video picture to each of a plurality of pixels that structure one scanning line of said compressed picture, by using an oblique line generating algorithm;
   first averaging means (55) for averaging at least one pixel data allocated by said first decision means (51) to each of a plurality of pixels that structure one scanning line of said compressed picture;
   second decision means (53) for determining at least one scanning line to be allocated from a plurality of scanning lines for structuring said input video picture to each of a plurality of scanning lines that structure said compressed picture, by using an oblique line generating algorithm; and
   second averaging means (55) for averaging at least one scanning line allocated by said second decision means (53) to each of a plurality of scanning lines that structure said compressed picture, and characterized in that
   said masking memory (2) stores data necessary for the processing of said first and second decision means and said first and second averaging means as a part of said coordinates data (24), and
   said writing means (3) selectively writes in said bit map memory (4) said averaged pixel data by said averaged scanning line based on mask data within said masking memory (2).
 
11. A video picture display device according to Claim 10, characterized in that said first averaging means (55) includes first shifting means (551) for obtaining a power of 2 for each value of pixel data that has been allocated by said first decision means (51);
   first adding means (552 - 554) for adding pixel data values that have been processed by said first shifting means (551); and
   second shifting means (555) for obtaining a minus power of 2 for said added pixel data value.
 
12. A video picture display device according to Claim 11, characterized in that said second averaging means (56) includes third shifting means (561) for obtaining 2 to a power of 2 for each pixel data of each pixel data group corresponding to scanning line groups allocated by said second decision means (53);
   second adding means (562 -564) for adding pixel data values that have been processed by said first shifting means (551); and
   fourth shifting means (565) for obtaining a minus power of 2 for said added pixel data value.
 
13. A video picture display device, comprising:
   means (12 - 14) for inputting pixel data corresponding to each pixel of a video picture structured by a predetermined number of pixels;
   a bit map memory (4'), having a bit number corresponding to a number of pixels that structure a display screen of display means (7), for storing said inputted pixel data;
   means (5, 6) for displaying on a display screen (70) of said display means (7) based on pixel data stored in said bit map memory (4'); and
   a masking memory (2') for masking pixel data according to the shape of a display area of said video picture displayed on said display screen, characterized in that:
   said input means (12 - 14) inputs a plurality of video pictures and said plurality of input video pictures are given different numbers,
   said masking memory (2') has mask data of a plurality of bits for each of a plurality of pixels that structure said display screen and assigns a number of an input video picture to be displayed on said pixel with said plurality of mask data,
   said masking memory (2') is provided separately from said bit map memory (4'), and
   said video picture display device further includes write control means (3) write control means (3), disposed between said pixel data input means (12 - 14) and said bit map memory (4') and connected with said masking memory (2'), for reading mask data of a plurality of bits corresponding to pixel data from said masking memory (2') in response to input pixel data from said pixel data input means and a video picture number, for comparing a value of said plurality of bits that have been read with said video picture number, and writing in said bit map memory said pixel data when both values coincide with each other.
 
14. A method for controlling a video picture display for inputting motion picture data and displaying said motion picture data by using a bit map memory, characterized in that said method includes the processing of:
   storing write mask data of said motion picture data;
   reading said write mask data corresponding to said motion picture data;
   assigning a write position of a picture corresponding to said motion picture data; and
   determining whether said motion picture data should be written in said bit map memory or not according to the contents of said write mask data that have been read out.
 
15. A method for controlling a video picture display for inputting motion picture data and displaying said motion picture data by using a bit map memory, characterized in that said method includes the processing of:
   storing coordinates data for writing said motion picture data for each horizontal scanning;
   generating at least one dimensional write address;
   reading said coordinates data to be written prior to the writing for each horizontal scanning; and
   setting said coordinates data that have been read in an initial address of said write address.
 
16. A method for controlling a video picture display for inputting motion picture data and displaying said motion picture data by using a bit map memory, characterized in that said method includes the processing of:
   storing at least two sets of write mask data;
   generating a timing signal synchronous with a vertical synchronization signal of said motion picture data;
   instructing a change-over of said mask data;
   controlling a change-over of said write mask data according to said timing signal and said instruction; and
   generating a status display flag for showing a status of said change-over.
 
17. A method for controlling a video picture display according to Claim 16, further including the processing of forcibly changing over said motion picture data to data of a special color.
 
18. A method for controlling a video picture display for inputting a plurality of motion picture data and displaying said motion picture data by using a bit map memory, characterized in that said method includes the processing of:
   storing assigned plurality of bits corresponding to each bit map of said bit map memory;
   exclusively defining own picture input number corresponding to each one of said plurality of motion picture data;
   detecting a coincidence between said picture input number and the contents of said assigned plurality of bits for each bit map; and
   writing only said motion picture data of which coincidence has been detected, in said bit map memory.
 
19. A method for controlling a display of a video picture for displaying a compressed picture of a video picture written in a bit map memory (4) within a predetermined area on a display screen (70) of display means within a computer main body (100), comprising the steps of:
   inputting a video picture structured by a first predetermined number of pixels for each pixel data;
   determining at least one pixel data to be allocated from a plurality of pixel data for structuring one scanning line of said input video picture to each of a plurality of pixels that structure one scanning line of said compressed picture, by using an oblique line generating algorithm;
   selecting one from at least one pixel data allocated to each of a plurality of pixels that structure one scanning line of said compressed picture;
   determining at least one scanning line to be allocated from a plurality of scanning lines for structuring said input video picture to each of a plurality of scanning lines that structure said compressed picture, by using an oblique line generating algorithm;
   selecting one from at said least one scanning line allocated to each of a plurality of scanning lines that structure said compressed picture; and
   writing in said bit map memory (4) said selected pixel data by said selected scanning line.
 
20. A method for controlling a display of a video picture for displaying a compressed picture of a video picture written in a bit map memory (4) within a predetermined area on a display screen (70) of display means within a computer main body (100), comprising the steps of:
   inputting a video picture structured by a first predetermined number of pixels for each pixel data;
   determining at least one pixel data to be allocated from a plurality of pixel data for structuring one scanning line of said input video picture to each of a plurality of pixels that structure one scanning line of said compressed picture, by using an oblique line generating algorithm;
   averaging one pixel data from said at least one pixel data allocated to each of a plurality of pixels that structure one scanning line of said compressed picture;
   determining at least one scanning line to be allocated from a plurality of scanning lines for structuring said input video picture to each of a plurality of scanning lines that structure said compressed picture, by using an oblique line generating algorithm;
   averaging said at least one scanning line allocated to each of a plurality of scanning lines for structuring said compressed picture; and
   writing in said bit map memory (4) said averaged pixel data by said averaged scanning line.
 
21. A method for controlling a display of a video picture according to Claim 19, further including a masking memory (2) for masking pixel data according to the shape of the display area of said video picture to be displayed on said display screen (70), characterized in that:
   said selected pixel data in said selected scanning line is selectively written in said bit map memory (4) based on mask data within said masking memory (2).
 
22. A method for controlling a display of a video picture according to Claim 20, further including a masking memory (2) for masking pixel data according to the shape of a display area of said video picture to be displayed on said display screen (70), characterized in that:
   said masking memory (2) has mask data of a bit number equal to or less than a predetermined number of said inputted pixel data;
   said masking memory (2) is provided separate from said bit map memory (4); and
   said averaged pixel data in said averaged scanning line is selectively written in said bit map memory (4) based on mask data within said masking memory (2).
 
23. A method for controlling a display of a video picture according to Claim 19 or 21, characterized in that said step of selecting at least one pixel data comprises the following steps of:
   setting a quotient obtained by dividing a number of pixels for structuring said input video picture by a number of pixels of a compressed picture on said display screen as the number of basic pixel data of said selected pixel data;
   adding remainders of said division for each pixel of said compressed picture (step 101);
   comparing said added remainder with 1 (step 102); and
   when a result of said comparison is at least 1, setting the number of said selected pixel data for a corresponding pixel of the compressed picture to said basic pixel data + 1 (step 104).
 
24. A method for controlling a display of a video picture according to Claim 20 or 22, characterized in that said step of selecting at least one pixel data comprises the following steps of:
   setting a quotient obtained by dividing a number of pixels for structuring said input video picture by a number of pixels of a compressed picture on said display screen as the number of basic pixel data of said averaged pixel data;
   adding remainders of said division for each pixel of said compressed picture (step 101);
   comparing said added remainder with 1 (step 102); and
   when a result of said comparison is at least 1, setting the number of said averaged pixel data for a corresponding pixel of the compressed picture to said basic pixel data + 1 (step 104).
 
25. A method for controlling a display of a video picture according to Claim 19 or 21, characterized in that said step of selecting at least one pixel data comprises the following steps of:
   setting a quotient obtained by dividing a number of pixels for structuring said input video picture by a number of pixels of a compressed picture on said display screen as the number of basic pixel data of said selected pixel data;
   substituting - (the number of pixels of a compressed picture on said display screen) as an initial value of a value A (step 110);
   adding to said value A value R which is a result of a remainder of said division multiplied by a number of pixels of a compressed picture on said display screen, to obtain a new value A (step 111);
   comparing said value A with 0 (step 112); and
   when a result of said comparison is at least 0, setting the number of said selected pixel data for a corresponding pixel of the compressed picture to said basic pixel data + 1 (step 114).
 
26. A method for controlling a display of a video picture according to Claim 20 or 22, characterized in that said step of selecting at least one pixel data comprises the following steps of:
   setting a quotient obtained by dividing a number of pixels for structuring said input video picture by a number of pixels of a compressed picture on said display screen as the number of basic pixel data of said selected pixel data;
   substituting - (the number of pixels of a compressed picture on said display screen) as an initial value of a value A (step 110);
   adding to said value A value R which is a result of a remainder of said division multiplied by a number of pixels of a compressed picture on said display screen, to obtain a new value A (step 111);
   comparing said value A with 0 (step 112); and
   when a result of said comparison is at least 0, setting the number of said selected pixel data for a corresponding pixel of the compressed picture to said basic pixel data + 1 (step 114).
 




Drawing