Image transformation apparatus and method

Abstract: In an image transformation apparatus, the image formed by an input video signal is stored into a memory, and the input video signal is read based on a read-address data of a predetermined read-address generating means, to execute a predetermined image transformation with respect to an image. The transformed image is formed by using a function in which a distance from the center of the transformed image is changeable corresponding to an angle from the center of that, so as to obtain the lens effect transforming the image into images having various curvilinearly shapes.

Description: This invention relates to an image transformation apparatus and method, and more particularly, to video special effect processing for rendering a special effect, for example, to a video signal. Heretofore, an image transformation apparatus has been disclosed, for example, in U.S. Patent No. 5,070,465. In this type of image transformation apparatus, an input signal is sequentially written to a predetermined region of a frame memory on the basis of write-address data output from a write-address generating circuit, and data in the frame memory is read based on read-address data input from a read-address generating circuit, so that the video signal is subjected to various special effects to display the modified image. In such image transformation apparatus of the read-address control system, it has been difficult to provide a special effect for forming a curvilinearly modified picture image eg. consisting of a star or heart. EP-A-0437074 discloses image transformation apparatus in which input video data is stored in a memory. Rectangular address coordinates are converted to polar coordinates and the polar coordinates are transformed according to the desired special effect. The transformed polar coordinates may then be converted back to rectangular coordinates for accessing the memory. The transformation can produce an effect whereby the input image appears to be wrapped around a sphere, or appears circularly ruffed or modulated into flower, heart or other shapes. The input rectangular coordinates may be offset according to the desired location of the centre of the effect in the image. Various aspects of the invention are set out in the accompanying claims. Embodiments of the invention provide an image transformation apparatus in which, a lens effect for transforming an image into a curvilinearly modified picture image such as of a star or heart can be obtained. In the compute means 24 and 25, the transformation computation with respect to the input read-address may be obtained by the following equation: Here, "r" is representative of a curvature radius of the transforming image, and "G()" is representative of the shape of the transforming image. Further, in the compute means 24 and 25 the transformation computation may be rendered with respect to the input read-address by the following equation: G'() = M() = R P R S Here, "R p " is representative of a radius of pattern of the transforming image, and "R S " is representative of a radius of a circumcircle with respect to the transforming image. Further, in the compute means 24 and 25, the transformation computation with respect to the input read-address may be rendered bv the following equation: G'() = G( + P S ) Here, "" is representative of the angle from the center of the transforming image, "P S " is representative of a rotation angle of the pattern of the transforming image, and "G()" is representative of the shape of the transforming image. Further, in the compute means 24 and 25, the transformation computation with respect to the input read-address may be rendered by the following equation: G'() = M( + P S ) x G( + P S ) Here, "" is representative of the angle from the center of the transforming image, "P S " is representative of the rotation angle of the pattern of the transforming image, G() is representative of the shape of the transforming image, and "M()" is representative of a value obtained by dividing the radius of the pattern of the transforming image R P by the radius of the circumcircle with respect to the transforming image R S . Further, in the compute means 24 and 25, the transformation computation with respect to the input read-address may be rendered by the following equation: G'() = M( + P S ) x G() Here, "" is representative of the angle from the center of the transforming image, "P S " is representative of the rotation angle of the pattern of the transforming image, "G()" is representative of the shape of the transforming image, and "M()" is representative of the value obtained by dividing the radius of the pattern of the transforming image R P by the radius of the circumcircle with respect to the transforming image R S . Further, in the compute means 24 and 25, the transformation computation with respect to the input read-address may be rendered by the following equation: G'() = M() x G( + P S ) Here, "" is representative of the angle from the center of the transforming image, "P S " is representative of the rotation angle of the pattern of the transforming image, "G()" is representative of the shape of the transforming image, and "M()" is representative of the value obtained by dividing the radius of the pattern of the transforming image R P by the radius of the circumcircle with respect to the transforming image R S . Further, the compute means 24 and 25 may compute a function forming the transforming image F wherein, first, the primary differential coefficient constantly increases as a function forming the transforming image, and if a predetermined level R S is exceeded, it fixedly increases along the constant increasing curve. Further, the compute means 24 and 25 may compute a function forming the transforming image F wherein, first, the primary differential coefficient constantly increases as a function forming the transforming image, and if a predetermined level R S is exceeded, it fixedly increases away from the constant increasing curve. Further, the compute means 24 and 25 may compute a function forming the transforming image F wherein, first, the primary differential coefficient constantly increases as a function forming the transforming image, and if a predetermined change point level R S is exceeded, it fixedly increases away from the constant increasing curve, and the change point level R S may be changed. Further, the compute means 24 and 25 may change the function representing the shape of the transforming image G. Further, the compute means 28 and 29 may apply off-set data X C , Y C to the input read-address data and execute the transformation computation, and then again apply the off-set data. Furthermore, the compute means 28 and 29 may apply stepped off-set data to the input read-address data and execute the transformation computation, and then again apply the stepped off-set data to the transformed read-address data. As described above, in embodiments of this invention, a transformed image is formed by using a function by which the distance from the center of the transformed image varies corresponding to its angle about such center. Thereby can be realized an image transformation apparatus in which various shapes of lens effect can be obtained. Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings in which: Fig. 1 is a block diagram showing an embodiment of image transformation apparatus according to this invention; Fig. 2 is a flowchart illustrating the generation processing of a lens effect read-address in the image transformation apparatus shown in Fig. 1; Fig. 3 is a curve linear diagram showing the function G() used in the image transformation apparatus shown in Fig. 1; Figs. 4A and 4B are schematic diagrams illustrating star and heart transformed images obtained by the image transformation apparatus shown in Fig. 1; Fig. 5 is a schematic diagram illustrating an outline of the aspect ratio function M() used in the image transformation apparatus shown in Fig. 1; Figs. 6A and 6B are schematic diagrams illustrating the function F(r) used in the image transformation apparatus shown in Fig. 1, and the output transformed image; Fig. 7 is a block diagram showing an embodiment of the construction of a read-address generating circuit in the image transforming apparatus shown in Fig. 1; Fig. 8 is a schematic diagram explaining an operation of the case where the center of lens is offset in the image transformation apparatus shown in Fig. 1; and Fig. 9 is a schematic diagram showing the effect of the multiplexed lens effect. In Fig. 1, 10 generally shows an image transformation apparatus, where a digitalized input video signal S1 is written to a frame memory 11 without transforming the image, on the basis of a write-address signal S2 output from a sequential write-address counter 12. Further, a read-address generating circuit 13 for generating read-address data for reading image data from the frame memory 11, receives a sequential read-address signal S3 to process it, and then outputs the processed read-address data to the frame memory 11 as a read-address signal S4, so that an output video signal S5 is read out from the frame memory 11 based on the above read-address data to form an image in which the input signal S1 is transformed in the predetermined manner. Fig. 2 shows the processing for generation of a lens effect read-address in the read-address generating circuit 13. The read-address generating circuit 13 starts the above processing at the step SP1, and at the succeeding step SP2, inputs the sequential read-address data designated by the orthogonal coordinate system (x, y), on the basis of the read-address signal S3, and then proceeds to the succeeding step SP3. At the step SP3, the read-address generating circuit 13 obtains the offset from the center of the effect, x (= x-X c ) and y (= y - Y c ), and at the succeeding step SP4, the orthogonal coordinates (x, y) are transformed into the polar coordinates (r, ) by the following equations: r = x 2 + y 2 Further, at the succeeding step SP5, the read-address generating circuit 13 executes the lens effect processing by the following equations: ' =  Here, since the function G() in Equation (9) is the pattern function for regulating the shape of a lens, when generating a pattern A as shown in Fig. 3, if the radius of a reference circle S is represented by "R S ", and the radius of the pattern A at an angle  is represented by "R P ", the function G() becomes the periodic function represented by the following equation: G() = R P R S (0 ≦  < 2 x π) By using such periodic function, for example, a star pattern B (Fig. 4A) and a heart pattern C (Fig. 4B) can be formed. Further, since the periodic function can be modified into the following equation: G'() = M( + P S ) x G( + P S ) the control of it is possible by a rotation angle P S of a lens pattern D and an aspect ratio A S of the pattern as shown in Fig. 5. Provided that, in Fig. 5, if the radius of an inscribed circle S IN is represented by "R 1 " and the radius of a circumcircle S OUT is represented by "R 2 ", the function M() of  must satisfy the following equations: M() = R P R 2 A S = R 1 R 2 Further, the function F(r) is a function for regulating the manner by which the image appears when seen through a lens, and as shown in Figs. 6A and 6B, if the curvature of the lens is represented by "D S ", and the radius of the lens is represented by "R S ", it may be controlled by curvatures D S1 and D S2 . Upon completing processing of the lens effect at the step SP5 of Fig. 2 in this manner, the read-address generating circuit 13 proceeds to the succeeding step SP6 to transform the polar coordinates (r', ') into the orthogonal coordinates (X, Y) by the following equations: X = r' x cos(') Y = r' x sin(') and at the succeeding step SP7, adds respective the center of the effect (X C , Y C ) to the orthogonal coordinates (X, Y), to obtain the read-address data generating the lens effect X and Y. Here, as shown in Fig. 7, the read-address generating circuit 13 sends the sequential read-address x to a RAM 28 and a subtracter 31. The RAM 28 to which the center of the effect X C has been stored, transforms the read-address x into the center data X C and outputs it to the subtracter 31. The subtracter 31 obtains the subtraction value between the read-address x and the center data X C , and outputs it to a coordinate transforming circuit 23. Also, the sequential read-address y is sent to a RAM 29 and a subtracter 32. The RAM 29 to which the center of the effect Y C has been stored, transforms the read address y into the center data Y C and outputs it to the subtracter 32. The subtracter 32 obtains the subtraction value between the read-address y and the center data Y C , and outputs it to the coordinate transforming circuit 23. The coordinate transforming circuit 23 transforms the orthogonal coordinates (x, y) into the polar coordinates (R, ) and outputs a distance data R to a multiplier 33. Further, angle data  is input to RAMs 25, 26, and 27. Each of RAMs 25, 26, and 27 is a table to refer to in accordance with the angle data . In the RAM 25, the data of r'' = 1/(G()) has been selected by the CPU 39, in the RAM 26, the data of cos(') = cos() has been selected by the CPU 39, and in the RAM 27, the data of sin(') = sin() has been selected by the CPU 39. Further, the output of the RAM 25 is sent to the multiplier 33 to multiply by the distance data R output from the coordinate transforming circuit 23, and then input to a RAM 24. In the RAM 24, the data of r' = F(r) has been selected by the CPU 39. The output of the RAM 24 is input to the divider 38 to be divided by the output of the RAM 25. The output of the divider 38 is then input to multipliers 34 and 35 to apply the output of the RAM 26 in the multiplier 34, and the output of the RAM 27 in the multiplier 35. The output of the multiplier 34 is input to the adder 36 to add the output of the RAM 28, and then output as a read-address X. The output of the multiplier 35 is input to the adder 37 to add the output of the RAM 29, and then output as a read-address Y. According to the above construction, the processing related to the function G() which is determined by the radius R s of the reference circle S and the radius R p of the lens pattern D at an angle  is added in computing the read-address, so that the shape of the lens can be varied to those other than a circle, for example, a star, a heart, etc. Note that, in the above embodiments, only one lens pattern is formed on a screen. However, this invention is not limited to this, but for example, based on the relation between the center of the lens (X c , Y c ) and the tables in the RAMs 28 and 29 as shown in Fig. 8, a plurality of lens pattern may be formed by setting the repetition interval of the lenses as W x , W y as shown in Fig. 9. Further, in the above embodiments, the lens effect is obtained on a two-dimensional plane. However, this invention is not limited to this, but the sequential read-address (x, y) input to the read-address generating circuit 13, may be one which has been processed through a three-dimensional matrix. That is, if the read-address processed through the three-dimensional matrix is represented by "x 3D , Y 3D ", and a three-dimensional converting matrix is represented by "a 11 to a 33 ", the read-address (x 3D , y 3D ) represented by the following equations: x 3D = α 11 × x + α 12 × y + α 13 α 31 × x + α 32 × y + α 33 y 3D = α 21 × x + α 22 × y + α 23 α 31 × x + α 32 × y + α 33 may be input to the read-address generating circuit 13. While preferred embodiments of the invention have been described, it will be appreciated by those skilled in the art that various changes and modifications may be made without departing from the scope of the invention.

Claims: Apparatus for transforming input video data representing an input video image, the apparatus comprising: memory means (11) for storing said input video data; means (13, 23) for converting a sequential rectangular coordinate address, representing a location in a transformed image, to a polar coordinate address having a radius coordinate and an angular coordinate; transforming means (13, 24, 25, 33, 38) for transforming said polar coordinate address to a transformed polar coordinate address, having a transformed radius coordinate and a transformed angular coordinate, in accordance with first and second pattern functions (G', M) corresponding to first and second patterns which establish the pattern of said transformed image, and a curvature function (F) which is a function of the radius coordinate of the polar coordinate address, a virtual lens (D) having a predetermined radius of curvature (D s ) producing said transformed image as if the input video image is viewed through said virtual lens having said predetermined radius of curvature, at least one of said first and second pattern functions (G', M) being dependent upon said angular coordinate of said polar coordinate address and a rotation angle (P s ) which establishes a rotational view of the respective pattern, said transforming means including dividing means for dividing said radius coordinate by said first pattern function to produce a dividing result, curvature transforming means for transforming said dividing result by said curvature function, which has a primary differential coefficient that constantly increases up to a predetermined level after which said primary differential coefficient remains constant, and multiplying means for multiplying the result of the transformatton by said curvature function by said first pattern function; means (13, 26, 27, 34, 35) for converting said transformed polar coordinate address to a transformed rectangular coordinate address; and means (13) for retrieving from said memory means (11) said input video data corresponding to said transformed rectangular coordinate address of said input video image and providing said retrieved input video data as data for said rectangular coordinate address of said transformed image. Apparatus as claimed in claim 1, wherein one of said pattern function corresponds to a ratio of the radius (R p ) of said pattern of said transformed image at said polar coordinate address to the radius (R s ) of a predetermined reference circle. Apparatus as claimed in claim 1 or claim 2, wherein said first pattern is a circle having a first radius (R 1 ) and said second pattern is a circle having a second radius (R 2 ) different from said first radius such that the pattern of said transformed image is an oval pattern having an aspect ratio (A s ) equal to the ratio of said first radius to said second radius. Apparatus as claimed in any preceding claim, wherein the curvature function used by said transforming means (13, 24, 25, 33) to transform said polar coordinate address comprises first and second curvature functions which are functions of the radius coordinate of the polar coordinate address and a virtual lens (D) having a respective one of two different predetermined radii of curvature (D S1 , D S2 ) to produce said transformed image as if the input video image is viewed through said virtual lens having said respective one of said two different radii of curvature. Apparatus as claimed in claim 4, wherein the two radii of curvature (D S1 , D S2 ) of the virtual lens are concentric with one another. Apparatus for transforming input video data representing an input video image, the apparatus comprising; memory means (11) for storing said input video data; means (28, 29, 31) for offsetting a sequential rectangular coordinate address, representing a location in a transformed image having a plurality of regions, by a centre coordinate (X c, , Y c ) of the region of said transformed image in which said rectangular coordinate address is located; means (13, 23) for converting said rectangular coordinate address to a polar coordinate address; transforming means (13, 24, 25, 33, 38) for transforming said polar coordinate address to a transformed polar coordinate address in accordance with a pattern function (G) and a curvature function (F) which establish the pattern and curvature, respectively, of said region of said transformed image in which said rectangular coordinate address is located as if the input video image is viewed through a plurality of lenses (D), said transforming means including dividing means for dividing a radius coordinate of said polar coordinate address by said pattern function to produce a dividing result, curvature transforming means for transforming said dividing result by said curvature function, which has a primary differential coefficient that constantly increases up to a predetermined level after which said primary differential coefficient remains constant, and multiplying means for multiplying the result of the transformation by said curvature function by said pattern function; means (26, 27, 34 to 37) for converting said transformed polar coordinate address to a transformed rectangular coordinate address; and means (13) for retrieving from said memory means (11) said input video data corresponding to said transformed rectangular coordinate address of said input video image and providing said retrieved input video data as data for said rectangular coordinate address of said transformed image. Apparatus as claimed in claim 6, including means (36, 37) for back-offsetting said transformed rectangular coordinate address by said centre coordinate (X c , Y c ) of said region of said transformed image in which said transformed rectangular coordinate address is located. A method of transforming input video data representing an input video image, comprising the steps of: storing said input video data in a memory (11); supplying (SP2) a sequential rectangular coordinate address representing a location in a transformed image; converting (SP4) said rectangular coordinate address to a polar coordinate address having a radius coordinate and an angular coordinate; transforming (SP5) said polar coordinate address to a transformed polar coordinate address, having a transformed radius coordinate and a transformed angular coordinate, in accordance with first and second pattern functions (G', M) corresponding to first and second patterns which establish the pattern of said transformed image, and a curvature function (F) which is a function of the radius coordinate of the polar coordinate address, a virtual lens (D) having a predetermined radius of curvature (D s ) producing said transformed image as if the input video image is viewed through said virtual lens having said predetermined radius of curvature, at least one of said first and second pattern functions (G', M) being dependent upon a rotation angle (P s ) which establishes a rotational view of the respective pattern, said transforming including dividing said radius coordinate by said first pattern function to produce a dividing result, transforming said dividing result by said curvature function, which has a primary differential coefficient that constantly increases up to a predetermined level after which said primary differential coefficient remains constant, and multiplying the result of the transformation by said curvature function by said first pattern function;; converting (SP6) said transformed polar coordinate address to a transformed rectangular coordinate address; and retrieving from said memory (11) said input video data corresponding to said transformed rectangular coordinate address of said input video image and providing said retrieved input video data as data for said rectangular coordinate address of said transformed image. A method as claimed in claim 8, wherein said first pattern is a circle having a first radius (R 1 ) and said second pattern is a circle having a second radius (R 2 ) different from said first radius such that the pattern of said transformed image is an oval pattern having an aspect ratio (A S ) equal to a ratio of said first radius to said second radius. A method as claimed in claim 8 or claim 9, wherein the curvature function (F) used in the transforming step comprises first and second curvature functions which are functions of the radius coordinate of the polar coordinate address and a virtual lens (D) having a respective one of two different predetermined radii of curvature (D S1 , D S2 ) producing said transformed image as if the input video image is viewed through said virtual lens having said respective one of said two different radii of curvature. A method as claimed in claim 10, wherein the two radii of curvature (D S1 , D S2 ) of the virtual lens (D) are concentric with one another. A method of transforming input video data representing an input video image, comprising the steps of: storing said input video data in a memory (11); supplying (SP2) a sequential rectangular coordinate address representing a location in a transformed image having a plurality of regions; offsetting (SP3) said rectangular coordinate address by a centre coordinate (X c , Y c ) of the region of said transformed image in which said rectangular coordinate address is located; converting (SP4) said rectangular coordinate address to a polar coordinate address; transforming (SP5) said polar coordinate address to a transformed polar coordinate address in accordance with a pattern function (G) and a curvature function (F) which establish the pattern and curvature, respectively, of said region of said transformed image in which said rectangular coordinate address is located as if the input video image is viewed through a plurality of lenses (D), said transforming including dividing a radius coordinate of said polar coordinate address by said pattern function to produce a dividing result, transforming said dividing result by said curvature function, which has a primary differential coefficient that constantly increases up to a predetermined level after which said primary differential coefficient remains constant, and multiplying the result of the transformation by said curvature function by said pattern function; converting (SP6) said transformed polar coordinate address to a transformed rectangular coordinate address; and retrieving from said memory (11) said input video data corresponding to said transformed rectangular coordinate address of said input video image and providing said retrieved input video data as data for said rectangular coordinate address of said transformed image.

Inventors: MORIWAKE KATSUAKIRA, SHIRAISHI TOSHIHIRO, MORIWAKE, KATSUAKIRA, SHIRAISHI, TOSHIHIRO, MORIWAKE, KATSUAKIRA, C/O INTELLECTUAL PTY DIV., SHIRAISHI, TOSHIHIRO, C/O INTELLECTUAL PTY DIV.
Applicants: SONY CORP, SONY CORPORATION
Application year: 1994
Main classification: H04N5
IPC codes: G06T3, H04N5