Background of the Invention
1. Field of the Invention
The present invention relates to an image processor for producing a special effect, particularly cross fade, during the visual display of image data.
2. Description of the Prior Art
One special effect known as "dissolve (cross fade)" is commonly used in the display of still images, for example, on a monitor screen. This special effect exhibits, rather than an immediate shift from one picture to another, a so-called cross fading in which the current image is faded out while a subsequent image is faded in. If the data of the current image is denoted A, the data of the subsequent image is denoted B, and a control signal is denoted .alpha., the "dissolve" effect is expressed as:
where the effect is realized by gradually varying .alpha. from 1 to 0. This visual effect becomes feasible using hardware such as a multiplier or a ROM having a lookup table. With respect to circuitry simplicity and high-speed operation, the use of a ROM is more advantageous. A technique using the ROM will now be described.
The image data of the current and subsequent images and the control signal .alpha. are fed to the ROM and together serve as an address signal of the ROM. Then, the ROM produces two resultant outputs denoting the products A.multidot..alpha. and B.multidot.(1-.alpha.) corresponding to previously stored data. A.multidot..alpha. and B.multidot.(1-.alpha.) are then summed to obtain intermediate image data C denoting a cross faded image.
If each original image data A and B consists of an 8-bit word and the control signal .alpha. consists of a 5-bit word, the ROM must accept a 13-bit address signal and thus, must at least have a memory capacity of 8 Kbits. Since the control signal .alpha. contains 5-bits, the intermediate image data C is produced in the form of 32 gradations; 31/31, 30/31, . . . , 1/31, and 0/31, corresponding to the variation of .alpha. from 1 to 0. If each of the resultant intermediate image data C is displayed for 1/30 second, the total duration of the display shift from the current image A to the subsequent image B as .alpha. varies from 1 to 0 takes a period of 1/30.times.31 second or about one second. The longer the display shift duration, the more noticeable the shift from the image data A to the image data B will be. However, if the duration of the display shift is increased by extending the display time of each intermediate image, the "dissolve" effect will appear jerky (not smooth). For increasing the duration of the "dissolve" effect and at the same time exhibiting a smooth visual effect, it is necessary to increase the number of bits of the control signal .alpha.. However, this would require that the memory capacity of the ROM in a prior art image processor also be increased. Also, if the case where a multiplier is employed, the number of bits of a multiplication coefficient would have to be increased and thus, an arithmetic operation at a higher speed would be necessary.
Summary of the Invention
It is an object of the present invention to provide an image processor capable of producing a smooth display image shift by increasing the duration of the "dissolve" effect with requiring an increased memory capacity of a ROM.
For achievement of the above object, an improved image processor according to the present invention is characterized by the following relations:
where l denotes the number of bits of an address signal applied to a ROM, m denotes the number of bits of a control signal .alpha., n denotes the number of bits of an image data, and k.sub.1 and k.sub.2 are values determined by the value of .alpha.. The lower k bits of either the image data or the control signal are selected on a bit-by-bit basis according to the value of the control signal .alpha. and then fed to the ROM. Accordingly, the apparent number of bits of the control signal .alpha. can be increased from (m-k) to m so that the duration of display shift is extended. As the result, a smooth shift of one image to another on a display screen (the "dissolve" effect) will be ensured.
Brief Description of the Drawings
FIG. 1 is a block diagram of an image processing calculator provided in an image processor according to the present invention; and
FIG. 2 is a block diagram of the image processor showing one embodiment of the present invention.
Description of the Preferred Embodiments
In the display of a series of image data on a monitor screen, a "dissolve (cross fade)" technique entails gradually shifting from one image to another. More particularly, the technique allows a current image to be faded out and a subsequent image to be simultaneously faded in. If the data of the current image is denoted A and the data of the following image is denoted B, this effect is expressed as:
The data of a transit cross faded image denoted by C varies as the control signal .alpha..sub.1 is shifted from 1 to 0 and simultaneously, the control signal .alpha..sub.2 is shifted from 0 to 1. FIG. 1 illustrates an image processing calculator 24 provided in an image processor of the present invention for carrying out the above arithmetic operation.
Each image data A and B is received in an n-bit digital form and each control signal .alpha..sub.1 and .alpha..sub.2 is represented by an m-bit binary number. As shown, ROMs 3 and 4 are read-only memories each for receiving an l-bit address signal and generating an n-bit output. The relationship between l, m, and n is expressed as:
Referring first to the image data A, a selector signal A generator 6 is arranged for decoding the value of the control signal .alpha..sub.1 and generating a corresponding selector signal 8. The selector signal 8 in turn actuates a selector 1 to extract the lower k bits from each of the image data A and the control signal .alpha..sub.1 for transmission. The number of bits k is obtained from:
It is assumed that the lower k bits of the image data a is expressed as a.sub.k-1, a.sub.k=2, . . . , a.sub.1, and a.sub.0 and the same of the control signal .alpha..sub.1 is expressed as c.sub.k-1, c.sub.k=2, . . . , c.sub.1, and c.sub.0. In operation, the selector 1 chooses one of the pairs; a.sub.k-1 and c.sub.0, a.sub.k=2 and c.sub.1, . . . , a.sub.1 and c.sub.k=2, or a.sub.0 and c.sub.k-1. As the result, the selector 1 outputs the upper k.sub.2 bits of the lower k bits of the image data A and the upper k.sub.1 bits of the lower k bits of the control signal .alpha..sub.1. The numerals k.sub.1 and k.sub.2 are determined by:
Then, the upper (n-k.sub.1) bits of the image data A and the upper (m-k.sub.2) bits of the control signal .alpha..sub.1 are fed to the ROM 3 as an address signal in order to access prestored product data. The resultant n-bit product data is transferred to one of two inputs of the adder 5.
As shown in FIG. 1, a selector 2 and a ROM 4, similar to the selector 1 and the ROM 3, are provided for the image data B. A selector signal B generator 7 is also provided for decoding the value of a control signal .alpha..sub.2 to the extraction selector signal 9. The selector signal 9 triggers the extraction of the lower k bits of each of the image data B and control signal .alpha..sub.2 signal. Then, after the selector 2 carries out a bit selection like that of the selector 1 described above, the upper (n-k.sub.1) bits of the image data B and the upper (m-1.sub.2): bits of the control signal .alpha..sub.2 are applied to the ROM 4 as an address signal to access product data which is then transferred to the other input of the adder 5. Finally, the two resultant product data are summed by the adder 5 to produce the image data C.
An example of the foregoing operation will now be described assuming that n=8, m=7, and k=2. The numerals k.sub.1 and k.sub.2 are determined according to the contents of the control signal .alpha., as shown in Table 1. Table 1 depicts a binary representation (c.sub.7, c.sub.6, c.sub.5, . . . , c.sub.2, c.sub.1, and c.sub.0) and a decimal representation of the control signal .alpha..
When decimal representation of the control signal ranges from 0 to 123, k.sub.1 =2 and k.sub.2 =0. When the control signal ranges from 124 to 127, k.sub.1 =0 and k.sub.1 =2. The selector signal A generator 6 and the selector signal B generator 7 may be formed of ROMs having a 7-bit input and 1-bit input. Also, they may instead be formed of logic circuits for detecting when the upper 5 bits (c.sub.6, c.sub.5, c.sub.4, c.sub.3, and c.sub.2) of the control signal are "1"s. The selector signal 8 from the selector signal A generator 6 actuates the selector 1 to transmit the lower 2 bits of the control signal .alpha..sub.1 when the control signal .alpha..sub.1 is 124 to 127. Also, the same selecting action of the selector 2 is triggered by the selector signal 9 according to the control signal .alpha..sub.2.
Table 2 shows the decimal representation and the corresponding multiplication coefficient .alpha.' of the control signal .alpha..
As shown in Table 1, the lower 2 bits of the control signal .alpha. is not fed to the ROM when the value of the control signal .alpha. is 124 to 127. Hence, the number of gradations during the change of the multiplication coefficient .alpha.' from 0 to 1 or 1 to 0 becomes 125. Accordingly, the denominator of the multiplication coefficient .alpha.' is equal to 124. When the value of the control signal .alpha. is 0 to 123, the image data less the lower 2 bits thereof is multiplied by the multiplication coefficient .alpha.'. When the value of the control signal .alpha. is 124 to 127, the 8-bit value of the image data is effectively multiplied by 124/124. The resultant product data is output from each of the ROMs 3 and 4 where relevant data are previously stored representative of the foregoing multiplying operations.
In operation, the shift from the image data A to the image data B on the screen of a display monitor is gradually executed by decreasing the decimal value of the control signal .alpha..sub.1 from 127 to 126, . . . , 2, 1, and 0 and at the same time, increasing the decimal value of the control signal .alpha..sub.2 from 0 to 1, 2, . . . , to 127, to produce a series of the intermediate image data C which are displayed in sequence on the screen of the display monitor. For a shift from the image data B to the image data A, a reverse processing of the two control signals .alpha..sub.1 and .alpha..sub.2 is carried out.
FIG. 2 is a block diagram of the image processor of the present invention. In operation, image data from an interface 26 are stored into an image memory A 20 and an image memory B 21 by the operation of an image memory controller 22. The image processing calculator 24 is arranged as illustrated in FIG. 1. The image data 10 (image data A) and 11 (image data B) are read out of the image memory A 20 and image memory B 21, respectively, under control of the image memory controller 22. The image processing calculator 24 subjects the read-out image data 10 and 11 to the above-described processing according to control signals .alpha..sub.1 and .alpha..sub.2, denoted by reference numerals 12 and 13, generated by a control signal generator 23 to produce the image data C denoted by reference numeral 14. The image data C 14 is transmttted to a D/A converter 25 where it is converted into an analog output signal 27 which is in turn fed to a display monitor.
Although the shift of the image data A to the image data B in the embodiment is carried out by decreasing the control signal .alpha..sub.1 from 1 to 0 and simultaneously, increasing the control signal .alpha..sub.2 from 0 to 1, the same effects can be achieved by varying the two control signals .alpha..sub.1 and .alpha..sub.2 from 0 to 1. In this case, however, the generation of a selector signal 9 in the selector signal B generator 7 and the data stored in the rom 4 are different from those in the foregoing embodiment. The corresponding operation will be described assuming that n=8, m=7, and k-2. The generation of a selector signal 8 at the selector signal A generator 6 and the data stored in the ROM 3 are in accordance with the lists shown in Tales 1 and 2. The generation of the selector signal 9 in the selector signal B generator 7 and the data stored in the ROM 4 comply with Tables 3 and 4.
As shown in Table 3, the selector signal B generator 7 produces a selector signal 9 upon detecting that the upper 5 bits c.sub.6, c.sub.5, c.sub.4, c.sub.3, and c.sub.2) of the control signal o: in binary form are "0"s. Also, as shown in Table 4, the ROM 4 is arranged for holding data so that when the decimal value of the control signal .alpha..sub.2 is 0 to 3, the multiplication coefficient .alpha.' is 124/124. Accordingly, the values of k.sub.1, k.sub.2, and .alpha.' in Tables 3 and 4 are equal to those in Tables 1 and 2 when the bits of the control signal are all inverted.
The effects of the present invention are equally established when l, m, n, and k are other arbitrary numbers.
Also, as a specific case of the embodiment, the relation between the two control signal .alpha..sub.1 and .alpha..sub.2 may be expressed as: