Apparatus for image transformation

Abstract: An apparatus for image transformation having an input image memory (2) for storing image data representative of an image at the position of each pixel of an input image, address generation means for generating a read address according to a desired transformation function, and calculation means (5, 8A to 8D, 9A to 9C) for performing an interpolating calculation on a plurality of sets of image data read out from the input image memory (2) according to the read address output from the address generation means thereby generating image data at the position of each pixel of an output image, in which it is adapted such that it is detected whether or not a position designated by an address generated by the address generation means is located inside the input image stored in the input image memory (2), and when the position designated by an address generated by the address generation means is located inside the image data stored in the input image memory (2), image data read out from the input image memory (2) is supplied to the calculation means (5, 8A to 8D, 9A to 9C) and, when the same is located outside the image data stored in the input image memory (2), background image data is supplied to the calculation means (5, 8A to 8D, 9A to 9C).

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to an apparatus for image transformation transforming an input image for generating an output image and more particularly to an apparatus for image transformation adapted to reduce an area singing occurring at the edge portion of the output picture when an input image is transformed. Description of the Prior Art An apparatus for image transformation which, in its application to television broadcasting and production of an animation, subjects an input image to such transformation as rotation, magnification, reduction, and movement, or spreads an input image over a curved surface in a three-dimensional coordinate system, to thereby generate an output image is made well known by such references, for example, as the gazette of Japanese Laid-open Patent Publication No. 61-230477. In an apparatus for image transformation of a type which, when generating an output image by transforming an input image, produces the image data of each pixel of the output image by performing an interpolating calculation on four sets of picture data of the input image, the output image obtained by such a transformation of an input image becomes jagged exhibiting a stair-step appearance at its edge portion, or there occurs the so-called area singing. There has so far been known an art to reduce such an area singing by applying a two-dimensional digital filter to an output image so that the data at the edge portion of the output image are averaged. However, if image data are averaged by means of such a two-dimension digital filter, the edge portion of the output image becomes a blurred line and the resolution there becomes deteriorated. GB-A-2,119,594 describes an image transformation system in which successive input image pixels are processed in order to calculate their contribution to an output image and entries are made at appropriate locations in a framestore. When a subsequent input pixel contributes to an output pixel for which a contribution has already been registered then feedback from the framestore causes interpolation between the input image pixels which are making a contribution to that output image location. GB-A-2,200,266 describes a system in which input image data is transformed by reference to a straight line. Background image data can be added to the transformed image data. SUMMARY OF THE INVENTION OBJECT An object of the present invention is to provide an apparatus for image transformation adapted so as to reduce an area singing occurring at the edge portion of an output image without deteriorating resolution of the output image at the edge portion. Summary of the invention In order to achieve the above mentioned object of the invention, according to the present invention there is provided an apparatus for image transformation having: an input image memory for storing image data representative of an image in respect of every pixel location within said image; calculation means for generating image data in respect of each pixel location within an output image, the calculation means being adapted to perform an interpolation on image data input thereto; read address generation means for generating read addresses defining which image data is to be supplied to the calculation means for generation of image data in respect of each pixel of the output image, the read address generation means generating read addresses according to a desired image transformation function; and background image data generating means for generating data representative of a background image; characterised in that there is provided detection means for detecting whether or not a read address generated by the read address generation means corresponds to a pixel location in respect of which there is image data in the input image data memory; and switch means responsive to the output signal from the detection means for selectively supplying the calculation means with image data from the input image memory according to the read address generated by the read address generation means or, when the detection means determines that the read address corresponds to a pixel location in respect of which there is no image data in the input image data memory, supplying the calculation means with image data from said background image data generating means, whereby the output image data of each pixel to become a boundary line of the output image is obtained by interpolating input image data mixed with background data. BRIEF DESCRIPTION OF THE DRAWINGS FIG.1 is a schematic diagram showing an example of an input image; FIG.2 is a schematic diagram showing an example of an output image; FIG.3 and FIG.4 are schematic diagrams for explaining the principle on which output image data is generated by interpolation; FIG.5 is a schematic diagram showing a state where an area singing is produced at the edge portion of an output image; FIG.6 is a block diagram showing an embodiment of the apparatus for image transformation of the present invention; FIG.7 is a block diagram showing another embodiment of the apparatus for image transformation of the present invention; FIG.8 is a schematic diagram showing an example of an input image; FIG. 9 is a schematic diagram showing an example of an output image; FIG. 10 is a block diagram showing a further embodiment of the apparatus for image transformation of the present invention; FIG. 11 is a schematic diagram for explaining the principle of the present invention on which image data on a boundary line between the front surface and the rear side of an output image is obtained by interpolation; and FIG. 12 is a schematic diagram for explaining the principle of the present invention on which image data on a boundary line between the front surface of an output image and the background image is obtained by interpolation. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing a particular structure of the present invention, description will be given of the principle of the image transformation in the apparatus for image transformation of the present invention to generate image data of each pixel of the output image through an interpolating calculation performed on four sets of image data of the input image, thereby obtaining a transformed output image of an input image. Considering a transformation of a pixel of an input image, whose coordinates are (x, y), on an x-y plane to cause the pixel to rotate about the point (0, 0) through an angle α , the coordinate transformation function for obtaining the coordinates (x′, y′) of the output image after the transformation is expressed as Now, if a desired function is established as a coordinate transformation function, it is made possible to achieve an image transformation whereby an input image I, whose coordinates are x, y as shown in FIG. 1, is first spread over a curved surface and then reduced in size. The form after the transformation becomes, for example, as shown in FIG. 2. In such case, the position of each pixel (indicated by ×) of the output image O in the input image I and the pixel of the input image (indicated by ) are, in general, not in agreement with each other as shown in FIG. 3. Therefore, the image data O i·j of each pixel of the output image O is obtained by an interpolating calculation performed on image data of the input image I. More specifically, the image data O i·j of a pixel O i·j of the output image O is obtained by an interpolating calculation performed on four sets of image data I i·j , I i+l·j , I i·j+l , and I i+l·j+l of the input image surrounding the pixel O i·j as shown in FIG. 3. In the interpolation, the image data of the output image O is obtained from the following equation O i·j = I i·j · (l - dx)(l - dy) + I i+l·j · dx(l - dy) + I i·j+l · (l - dx)dy +I i+l·j+l · dx · dy where dx and dy are distances between the position of a pixel of the output image and four sets of image data of the input image surrounding the pixel of the output image. In an output image obtained as a result of the image transformation according to the above described image transformation system as shown in FIG. 2, for example, the pixels of the output image located along the boundary (edge) lines A 1 , A 2 , A 3 between the transformed output image and the background are not always obtainable by the interpolating calculation of four sets of pixel data of the input image I surrounding each of the pixel of the output image. Now, we indicate the boundary of an input image on an output image by a dotted line Q as shown in FIG. 4. The pixel data O m·n of the pixel PO m·n located in the vicinity of the boundary may be obtained by an interpolating calculation performed on the pixel data I m·n , I m+l·n (indicated by Δ ) of pixels located outside the input image and the pixel data I m·n+l , I m+l·n+l of pixels located inside the input image. However, since, conventionally, there are present no data of the pixels (indicated by Δ) located outside the input image, a smooth interpolating calculation cannot be performed for the portion along the boundary. Therefore, the portion along the boundary exhibits a stair-step appearance, that is, the so-called area singing occurs there, and the image is thereby deteriorated. According to the present invention, the above described problem can be solved. Below will be given detailed description of the structure of the apparatus for image transformation of the present invention. FIG. 6 is a block diagram showing an embodiment of the apparatus for image transformation according to the present invention. Referring to the diagram, reference numeral 1 denotes a unit (VTR, camera) delivering a video signal to be subjected to an image transformation and 2 denotes a digital image input unit constituted of an input image memory or an A/D converter. Reference numeral 3 denotes a mapping memory for accepting image data from the digital image input unit 2 at predetermined timing and outputting the image data according to a read address signal. Writing data into and reading data out of the mapping memory 3 is controlled by a control unit (CPU) 5 to which an image transformation function is input from a keyboard 4. The CPU 5 sequentially reads out image data I i·j , I i+l·j , I i·j+l , and I i+l·j+l of four pixels surrounding each pixel of an output image from the mapping memory 3 according to a given transformation function, and supplies the data to input terminals on one side of changeover switches S 1 , S 2 S 3 , and S 4 , respectively. The input terminals on the other side of the changeover switches S 1 , S 2 , S 3 , and S 4 are supplied with image data becoming the background of the output image from a background data output unit 7 and the switches S 1 , S 2 , S 3 , and S 4 are controlled for switching by outputs of a controller 6. The controller 6 decides whether or not the position designated by a read address is inside the input image, and when it decides that the position designated by the read address is located outside the input image, it allows the data from the background data output unit 7 to be output to the corresponding switch S n selected thereby out of the switches S 1 , S 2 , S 3 , and S 4 . Reference numerals K 1 , K 2 , K 3 , and K 4 denote coefficient units for calculating image data of each pixel of the output image. The coefficient units K 1 , K 2 , K 3 , and K 4 accept, in order to perform the interpolating calculation according to equation (1), from the CPU 5, distances dx and dy between the four pixels of the input image corresponding to each pixel of the output image and the pixel of the output image and supply these values to multipliers 8A, 8B, 8C, and 8D. The products obtained by the multipliers 8A, 8B, 8C, and 8D are added by adders 9A, 98, and 9C, and thereby, the output image data corresponding to each pixel of the output image is generated. Reference numeral 10 denotes an output image memory storing image data corresponding to each of the pixels of the output image, thereby generating one field. Tile apparatus for image transformation of the present invention is adapted, while performing the interpolating calculation of image data, to change over the corresponding switch S n of the switches S 1 , S 2 , S 3 , and S 4 when an address outside the input image is specified for the mapping memory 3, so that a preset image data corresponding to the background is selected and the thus selected data is used in the interpolating calculation as described above. Hence, the output image data of each pixel to become the boundary line of the output image is obtained as a result of the interpolating calculation on the input image data mixed with the background data. Therefore, it becomes possible to smooth the edge portion of the output image and reduce the area singing. When addresses specified for the mapping memory 3 of the four points are all located inside the input image, the output image data, as a matter of course, is generated by the interpolating calculation on four input image data read out from the mapping memory. Now, another embodiment of the apparatus for image transformation according to the present invention will be described with reference to FIG. 7, the embodiment being adapted to suppress the occurrence of a stair-step appearance at the edge portion (area singing) of the output image when an image written in the input image memory is converted (transformed) and written into the output image memory 10 having image data written therein. Denoting parts like those in FIG. 6 by corresponding reference numerals, explanation thereof will be omitted. In this embodiment, when the address specified for the mapping memory 3 is located outside the input image, it allows the data stored in the output image memory 10 to be read out therefrom and used for the interpolating calculation. By so doing, the area singing occurring at the edge of the output image can be reduced. The image data and I i·j , I i+l·j , I i·j+l , and I i+l·j+l of four pixels surrounding each pixel of the output image are sequentially read out and supplied to the input terminals on one side of the changeover switches S 1 , S 2 , S 3 , and S 4 . The input terminals on the other side of the changeover switches S 1 , S 2 , S 3 , and S 4 are supplied with data read out from the output image memory 10. The output image memory 10 is adapted to store, as initial value, background data becoming the background of the output image supplied from the background data output unit 7, in advance. The switches S 1 , S 2 , S 3 , and S 4 are selectively operated by the controller 6. The controller 6 decides whether the address specified for the mapping memory 3 is inside the input image or outside it, and when it is located outside the input image, it allows the data read out from the output image memory 10 to be supplied to the multiplier through the corresponding switch S n selected thereby out of the switches S 1 , S 2 , S 3 , and S 4 . The output image memory 10 is constituted of a dual type field memory storing image data corresponding to each pixel of the output image and allowing the data to be read according to address data output from the control unit 5. In the normal state, image data of four pixels surrounding each pixel of the output image are read out and used as the data for the interpolating calculation. However, in the interpolating calculation of the output image data, when an address outside the input image is specified for the mapping memory 3, the corresponding switch S n out of the switches S 1 , S 2 , S 3 , and S 4 is changed over, whereby the data corresponding to the address (t he image data corresponding to the background) is adapted to be read out from the output image memory 10 and used for the interpolating calculation. Hence, the image data of each pixel to constitute the boundary line is provided by the image data read out from the output image memory 10 mixed with the data read out from the mapping memory 3. Therefore, it becomes possible to obtain image data of the pixels in the boundary line through satisfactory interpolation thereby smoothing the boundary line. Thus, the area singing can be reduced. When, as a coordinate transformation function, a coordinate transformation function to include a coordinate transformation about z-axis is established, then an input image I as shown in FIG. 8 can be transformed into an output image O spread over a three-dimensional curved surface as shown in FIG. 9. More specifically, in the first process, image stored in the mapping memory 3 is transformed according to the coordinate transformation function, whereby the output image on the face indicated by character K in FIG. 9 is stored in the output image memory 10. In the next process, the image stored in the mapping memory 3 is transformed and overwritten in the output image memory 10, whereby the output image on the face indicated by character L in FIG. 9 is formed in the output image memory 10, and in the next process, the image stored in the mapping memory 3 is transformed and overwritten in the output image memory 10, whereby the output image on the face indicated by character M in FIG. 9 is stored in the output image memory 10. Through such procedure, an image of the folded form as a whole in the three-dimensional coordinate system can be generated. In order to reduce the area singing occurring in the above described transformation, it is adapted in the present invention such that image data of each pixel in the boundary line generated by the front surface of a transformed output image overlapping the reverse side of the same is obtained by an interpolating calculation performed on image data of the rear side stored in the output image memory 10 and image data read out from the mapping memory 3. Image data of each pixel in the boundary line between the front surface of the transformed output image and the background is obtained by an interpolating calculation performed on background data supplied from the background data output unit 7 and image data read out from the mapping memory 3. Such an embodiment will be described with reference to FIG. 10. Reference numeral 1 denotes a unit (VTR, TV camera) for supplying a video signal to be subjected to an image transformation, 2 denotes a digital image input unit constituted of an input image memory or an A/D converter, and 3 denotes a mapping memory accepting image data from the digital image input unit 2 at predetermined timing and generating input image data according to a read address supplied from a pixel address generator 5E. Writing data into and reading data out of the mapping memory 3 are controlled by the control unit (CPU) 5 to which the image transformation function is input from the keyboard 4. The CPU 5 specifies the address of the position of the pixel of image data subjected to the image transformation according to transformation parameters. The CPU 5 includes an arithmetic unit 5A, which determines to what point of the pixel of the input image the position of the transformed pixel corresponds and calculates data dx, dy, l - dx, l - dy representing the distances between the positions of four pixels of the input image surrounding the pixel of the output image and the position of the pixel of the output image. The CPU 5 further includes a front/rear flag generator 5B for generating a set of data indicating the front surface and that indicating the rear side (signs indicating the depths) of an output image produced when an input image is transformed into a form as if it is spread over a three-dimensional curved surface according to an image transformation function and a flag memory 5C for storing the flag data (0, 1). The flag memory 5C is adapted such that the sign (flag) indicative of the depth of a transformed image is written therein according to the address supplied from an address generator 5D supplying an address signal to the mapping memory 3. The flag is read out according to the address output from a pixel address generator 5E, which generates a read address for the mapping memory 3, together with mapping data I (i·j· l+i·l+j) . Reference numeral 5F denotes a distance data output unit for loading data representative of distances between four pixels of the input image surrounding each pixel of the output image and the pixel of the output image into later described coefficient units K 1 to K 4 , respectively. As described above, the image data I i·j , I i+l·j , I i·j+l , and I i+l·j+l of four pixels surrounding each pixel of the output image are sequentially read out from the mapping memory 3 and supplied to first input terminals 1 ○ of the changeover switches S 1 , S 2 , S 3 , and S 4 . Second input terminals 2 ○ of the changeover switches S 1 , S 2 , S 3 , and S 4 are supplied with output image data from the output image memory 10. Further, third input terminals 3 ○ are supplied with the background data from the background data output unit 7. The switches S 1 , S 2 , S 3 , and S 4 are changed over by the controller 6. The controller 6 determines, according to the flag supplied from the flag memory 5C, whether the read address from the pixel address generator 5E is inside the input image to be transformed presently, inside the background, or inside the output image already transformed. The controller 6, when the read address generated by the pixel address generator 5E is inside the input image to be transformed presently, changes over the corresponding switch S n to the first input terminal, when it is inside the background, changes over the corresponding switch S n to the third input, and when it is inside the output image already transformed, changes over the corresponding switch S n to the second input. The coefficient units K 1 to K 4 , in order to perform the interpolating calculation according to the above described equation (1), supply the four data dx, dy, l - dx, l - dy corresponding to the pixel of the output image supplied from the distance data output unit 5F to the multipliers 8A, 8B, 8C, and 8D. The products obtained by the multipliers 8A, 8B, 8C, and 8D are added by the adders 9A, 9B, and 9C, whereby the output image data 0 i·j corresponding to each pixel of the output image is generated and the data is stored in the output image memory 10. Now, the changeover of the switches S 1 , S 2 , S 3 , and S 4 by the controller 6 will be described. When a boundary line is formed by the front surface of the output image currently transformed overlapping the rear side of the output image transformed already, there are mixedly present the flag "0" indicating the front and the flag "1" indicating the rear. For the address with the flag "0" attached thereto, the image data currently read out from the input image memory is accepted through the switch S n , while for the address with the flag "1" attached thereto, the image data earlier transformed and stored in the output image memory 10 is accepted through the switch S n . Then, by an interpolating calculation performed on the image data output from the switches S 1 , S 2 , S 3 , and S 4 , the output image is generated and written into the output image memory 10. At the time of the interpolating calculation, if there is any address at which any image data is not stored in the mapping memory 3, that is, an address provided with neither flag "0" nor flag "1", then background data from the background data output unit 7 is taken in through a switch S n . Thereupon, an output image is generated through an interpolating calculation performed on the image data output from the switches S 1 , S 2 , S 3 , and S 4 , and the output image is written into the output image memory 10. When the front surface L overlaps the rear side K, pixel data of pixels Q 1 , Q 2 , and Q 3 at the shallow portion (on the front surface L) indicated by □ are obtained by using image data of pixels P 1 , P 2 located outside the surface L (pixels on the rear side K) for interpoiation. More specifically, data stored in the output image memory 10 as the output image data at the deep portion (on the rear side K) indicated by x and the input image data read out from the mapping memory 3 (indicated by ) are supplied to the multipliers through the switches S 1 , S 2 , S 3 , and S 4 for the interpolating calculation. Even when there is produced a boundary line between the front surface L and the rear side K, there can be formed a boundary line γ 2 between the front surface and the background as shown in FIG. 9. Image data of each pixel constituting the boundary line between the front surface L and the background, as shown in FIG. 12, is obtained by supplying the background data (indicated by Δ) and the input image data read out from the mapping memory 3 (indicated by ) to the multipliers 8A, 8B, 8C, and 8D through the switches S 1 , S 2 , S 3 , and S 4 for the interpolating calculation. Thus, when generating an output image by transforming an input image according to a desired transformation function, it is made possible by the apparatus for image transformation of the present invention to have a smooth edge portion of the output image.

Claims: An apparatus for image transformation having: an input image memory (2) for storing image data (I ij ) representative of an image in respect of every pixel location within said image; calculation means (K 1 -K 4 ,8,9) for generating image data (O ij ) in respect of each pixel location within an output image, the calculation means being adapted to perform an interpolation on image data input thereto; read address generation means (5) for generating read addresses defining which image data is to be supplied to the calculation means for generation of image data in respect of each pixel of the output image, the read address generation means generating read addresses according to a desired image transformation function; and background image data generating means (7) for generating data representive of a background image; characterised in that there is provided detection means (6) for detecting whether or not a read address generated by the read address generation means corresponds to a pixel location in respect of which there is image data in the input image data memory; and switch means (S 1 -S 4 ) responsive to the output signal from the detection means for selectively supplying the calculation means (8,9) with image data from the input image memory (2) according to the read address generated by the read address generation means (5) or, when the detection means (6) determines that the read address corresponds to a pixel location in respect of which there is no image data in the input image data memory, supplying the calculation means with image data from said background image data generating means (7), whereby the output image data of each pixel (O m·n , fig.4) to become a boundary line (ℓ) of the output image is obtained by interpolating input image data (I m·n+1 , I m+1·n+1 , fig.4) mixed with background data (I m·n ,I m+1·n , fig.4). Image transformation apparatus according to claim 1, wherein the background image data generating means (7,10) comprises an output image memory (10) for storing image data output by the calculation means (8,9) and a background image data source (7) for supplying data representative of a background image to said output image memory (10) as initial image data. Image transformation apparatus according to claim 1, and further comprising flag generation means (5B,5C) for generating flags indicative of whether read addresses designated by the read address generator correspond to pixels on a front surface of the input image or pixels on a rear surface of the input image; and an output image memory for storing image data output by the calculation means (8,9); wherein the detection means (6) is supplied with the flags from the flag generation means for detecting whether a position designated by the read address generated by the read address generation means corresponds to a position on the front or the rear surface of the input image or on neither of these, and wherein the switch means (S 1 -S 4 ) is adapted, when the detection means (6) detects that a read address corresponds to a position on the front surface, to supply the calculation means (8,9) with image data from the input image memory (2) and, when the detection means (6) detects that a read address corresponds to a position on the rear surface, to selectively supply the calculation means (8,9) with image data from the output image memory (10). Image transformation apparatus according to claim 2 or 3, and comprising second read address generation means for generating a read address for said output image memory according to an address generated by said read address generation means.

Inventors: KATO TETSURO, NAKAMURA YOSHIYUKI, KATO, TETSURO, NAKAMURA, YOSHIYUKI, KATO, TETSURO, C/O SONY CORPORATION, NAKAMURA, YOSHIYUKI, C/O SONY CORPORATION
Applicants: SONY CORP, SONY CORPORATION
Application year: 1990
Main classification: G06T3
IPC codes: H04N5, G06T3