IMAGE SIGNAL PROCESSING

Abstract: An image signal processing apparatus comprises a memory (12) and an address generator (14) that generates addresses for allocation to successive words of a digital input signal (10) representing an input image for mapping those words (or words obtained by interpolation therefrom) into the memory (12) in such a manner that individual portions of the mapped image stored in the memory may be compressed and/or rotated with respect to corresponding portions of the input image. A digital filter (40) of variable bandwidth effects two-dimensional filtering of the image before it is stored in the memory (12). Local scaling factor computation means (42) monitors the addresses allocated by the address generator (14) to successive sets of words of the input signal corresponding to successive local image areas and computes from each set of addresses, for the corresponding set of words, a local scaling factor representing the extent of compression and/or rotation of the local area. Bandwidth control means (44) is responsive to the successive local scaling factors computed by the computation means (44) to vary the bandwidth of the filter (40) in a sense to minimise aliasing that would be caused by compression and/or rotation of the local areas.

Description: This invention relates to image signal processing apparatus and methods. It has been proposed to manipulate an image signal in the spatial domain by mapping words of the signals into a memory in such a manner that, when the mapped image is read out from the memory, it will have been manipulated by virtue of the mapping process in a manner dictated by the mapping function that is employed in carrying out the process. Such a technique may, for example, be employed in the creation of digital video effects. The mapping process may involve compression and/or rotation of the image. Moreover, the extents of compression and rotation may each vary from area to area of the mapped image. As is explained in more detail below, both compression and rotation may lead to aliasing, which will cause degradation of the image. The present invention is directed to preventing or at least minimising aliasing of an image signal due to compression and rotation caused by the mapping process. UK Patent Application Publication No GB-A-2 158 322 discloses an image signal processing apparatus comprising a memory, a write address generator for generating addresses for allocation to successive words of a digital input signal representing an input image for writing the words into the memory, a digital filter of variable bandwidth operative to effect two-dimensional filtering of the input image, local scaling factor computation means responsive to information indicative of manipulation to which the input image is to be subjected by the apparatus (which manipulation may involve individual portions of the input image being compressed and/or rotated) to generate successive local scaling factors representing the extent of compression of successive local image areas, and bandwidth control means responsive to the successive local scaling factors to vary the bandwidth of the digital filter in accordance with the extent of compression of the local areas. The addresses generated by the write address generator are such that the input signal is stored in the memory at locations in the sequence of pixels of a raster of the input signal. That is, the input image is not at this time manipulated. The stored image is read out of the memory under the control of a read address generator in accordance with a transform generated by a computer so as to effect the manipulation. The computer generates also the inverse of the transform, and the inverse transform serves as said information indicative of the manipulation. Although GB-A-2 158 322 recognises that manipulation may involve both compression and rotation of the input image, it recognises only that compression may (occasionally) cause a problem. Specifically, it says that compression by a factor (extent) of more than 2 will involve difficulty in resolving detail of short wavelength in the output signal. US Patent No US-A-4 432 009 also discloses an image signal processing apparatus and recognises that image rotation in manipulation gives rise to aliasing. To overcome this, use is made of a digital filter of variable bandwidth operative to effect two-dimensional filtering of the input image prior to its being stored in memory (again in non-manipulated form). The bandwidth of the filter is controlled in accordance with a programmed angle of rotation of the output image with respect to the input image. According to the present invention there is provided an image signal processing apparatus comprising: a memory; a write address generator for generating addresses for allocation to successive words of a digital input signal representing an input image for writing the words into the memory; a digital filter of variable bandwidth operative to effect two-dimensional filtering of the input image; local scaling factor computation means responsive to information indicative of manipulation to which the input image is to be subjected by the apparatus (which manipulation may involve individual portions of the input image being compressed and/or rotated) to generate successive local scaling factors representing the extent of compression of successive local image areas; and bandwidth control means responsive to the successive local scaling factors to vary the bandwidth of the digital filter in accordance with the extent of compression of the local areas; characterised in that: the write address generator is operative to allocate addresses to the successive words of the input signal such that said manipulation is performed by mapping the words into the memory in accordance with the manipulation; said information to which the local scaling factor computation means is responsive comprises said addresses allocated to said successive sets of words of the input signal by the write address generator; the local scaling factor computation means is responsive to said addresses allocated to each said successive set of words of the input signal to compute both compression information representing the extent of compression of the corresponding local area and rotation information representing the extent of rotation of the corresponding local area and to combine said compression information and said rotation information to generate a local scaling factor representing both the extent of compression and the extent of rotation of the corresponding local area; and the bandwidth control means is responsive to the successive local scaling factors to vary the bandwidth of the digital filter in a sense to minimise aliasing that would be caused by both compression and rotation of the successive local areas. The invention also provides an image signal processing method comprising: generating addresses for allocation to successive words of a digital input signal representing an input image for writing the words into a memory; effecting two-dimensional filtering of the input image by means of a digital filter of variable bandwidth; in response to information indicative of manipulation to which the input image is to be subjected (which manipulation may involve individual portions of the input image being compressed and/or rotated), generating successive local scaling factors representing the extent of compression of successive local image areas; and varying the bandwidth of the digital filter in response to the successive local scaling factors in accordance with the extent of compression of the local areas; characterised in that: said address generation step comprises allocating addresses to the successive words of the input signal such that said manipulation is performed by mapping the words into the memory in accordance with the manipulation; said information in response to which the local scaling factor generation step is carried out comprises said addresses allocated to said successive sets of words of the input signal to write them into the memory; the local scaling factor generation step comprises computing, from said addresses allocated to each said successive set of words of the input signal, both compression information representing the extent of compression of the corresponding local area and rotation information representing the extent of rotation of the corresponding local area, and combining said compression information and said rotation information to generate a local scaling factor representing both the extent of compression and the extent of rotation of the corresponding local area; and the bandwidth of the digital filter is varied in accordance with the successive local scaling factors in a sense to minimise aliasing that would be caused by both compression and rotation of the successive local areas. The apparatus and method not only minimise aliasing due to both compression and rotation, but take account of the fact that the degree or extent of both compression and rotation can vary (independently of one another) over the mapped image and match the filtering (specifically, the bandwidth of the filter) optimally to that required for each local area of the image. Further, by virtue of the fact that the local scaling factor is computed from the allocated addresses, the apparatus will operate regardless of the particular mapping function that is employed. The invention will now be further described, by way of illustrative and non-limiting example, with reference to the accompanying drawings, in which like references indicate like items throughout, and in which: Figures 1 to 3 are schematic views of an image signal processing apparatus for mapping a digital image signal into a memory so that the image can be manipulated in the spatial domain, Figure 1 showing a case in which the image is not manipulated and Figures 2 and 3 showing respective different forms of mapping/manipulation; Figure 4 shows the frequency response of a sampled image signal in the frequency domain, that is it is a graph of amplitude v. frequency (Hz), and shows how image compression can cause aliasing; Figure 5 shows the two-dimensional bandwidth in the spatial domain of a system for handling an image signal; Figure 6 repeats the showing of Figure 5, but shows how rotation of the image can cause aliasing; Figure 7 is a block schematic diagram of an image signal processing apparatus embodying the present invention; Figure 8 is a diagram used for explaining the operations performed in a local scaling factor computation means of the apparatus of Figure 7; Figure 9 is a block schematic diagram of a local scaling factor computation means of the apparatus of Figure 7; and Figure 10 is a block schematic diagram of a bandwidth control means and a variable bandwidth two-dimensional filter of the apparatus of Figure 7. In the art of image signal manipulation, for example in the creation of digital video effects, it has been proposed to map an image signal into a memory in accordance with a desired mapping function in order to manipulate or transform the image into a desired form. Figure 1 shows, in outline, an image signal processing apparatus that enables this to be accomplished. An input image or picture signal is applied to an input port or terminal 10 of a memory shown schematically at 12. The input image signal comprises a sequence of digital words (for example 8 bit words) which may comprise digitised samples (sampling frequency or rate fs) of, for example, a raster scan video signal obtained, for instance, from a television camera. The memory 12, which may for example be a field store or a frame store in the case of a video signal, is operative to store or write the respective input words or samples in respective locations of the memory in accordance with addresses allocated to the respective samples by an address generator 14. The address generator 14 generates addresses at the frequency fs in accordance with a mapping function so as to map the samples into the memory 12 in such a manner that, when the contents of the memory are read out to produce an output image signal at the frequency fs on an output port or terminal 16, the output picture or image represented by the output image signal will have been manipulated in appearance, as compared to the input picture or image, in a manner determined by the mapping function, so as to achieve a desired visual effect. The operation of the arrangement of Figure 1 will now be described in more detail, considering first a case in which the addresses generated by the address generator 14 are such that no image manipulation is achieved. The address allocated to each sample of the input signal comprises information in coded-bit form which represents or points to the x and y coordinates of a memory location in an x, y coordinate system of which the upper left hand corner of the memory 12 as represented in Figure 1 can be considered to constitute the origin. Thus, the first sample of the input image signal, which is the first sample of a first line of the image, is allocated an address pointing to a memory location (0,1), that is a memory location having the address coordinates: x = 0, y = 1. Successive samples of the first line are allocated addresses corresponding to the memory locations (0,2), (0,3).....(0,n), where n is the number of samples per line. The samples of successive lines are allocated addresses (1,1) to (1,n), (2,1) to (2,n) and so forth, up to (m,1) to (m,n) for the last line, where m is the number of lines in the image. At this point, the whole image (for example one field or frame of a video signal) has been stored. The stored image then is read out by outputting the contents of the memory locations in the order (0,1) to (0,n), (1,1) to (1,n).....(m,1) to (m,n). As will be apparent, the output image represented by the output image signal is in this case an unmanipulated representation of the input image. It should, of course, be appreciated that the relative dispositions of the respective memory locations in Figure 1 are shown schematically and that they need not in practice be relatively disposed in the manner shown in Figure 1. A description will now be given, with reference to Figure 2, of a case in which the input image is manipulated. In this case, the input image is to be manipulated so that the output image will appear within an area 18 shown in Figure 2. The area 18, which has been selected arbitrarily to illustrate by way of example the points discussed below, can be considered, for ease of understanding, as a "still" perspective representation of a fluttering flag (and in the case of a video signal could be changed for successive fields or frames so that the image is manipulated in such a manner that its plane is distorted to lie on the surface of a moving fluttering flag). Thus, a three-dimensional effect is achieved. The address generator 14 is operative in this case to map the successive input samples into memory locations corresponding to the area 18. Thus, the first sample is not in this case stored in the memory location (0,1), but instead is stored in a location (x a , y a ). Similarly, the next sample is not stored in the location (0,2), but is stored in a location (x b , y b ); and so on. When the image is read out, the memory locations are read in the same order as in the case of Figure 1, namely in the order (0,1) to (0,n), (1,1) to (1,n).....(m,1) to (m,n). Consequently, the output image has been manipulated in that an image which, in the absence of manipulation, would have conformed to the border of the memory 12 as represented in Figure 2, will instead adopt the form represented by the area 18. The output image has been subjected to manipulation of two types, namely (i) compression and (ii) rotation. Considering first compression, in the example illustrated in Figure 2 the image has been compressed (reduced in size) with respect to the original image in both the horizontal direction (along the lines of the original or input image) and the vertical direction (transverse to the lines of the original or input image). Overall, in both directions, the degree of compression in both directions is about 2:1. However, the degree of compression in either or both directions varies over the area 18. That is, it will in general be lesser over portions of the area intended to appear relatively near to the viewer and greater over portions of the area intended to appear further from the viewer. More generally, the degree or extent of compression (also referred to herein as the "scaling factor") is, at least in general, specific to small portions of the image. This can perhaps more readily be appreciated by an inspection of Figure 3, which shows a case in which the input image is mapped on to an area 18′ to give an effect equivalent to a perspective view of the input image plane. It will be seen that in this case the horizontal scaling factor (the degree of compression in the horizontal direction) increases in the downward direction. With regard to rotation, it will be evident that, for example, a portion of the area 18 indicated at 20 in Figure 2 is subjected to little or no rotation with respect to the corresponding portion of the input picture, whereas a portion indicated at 22 has been rotated by about 45°. As will now be described in detail, in the absence of corrective measures both compression and rotation of the picture can give rise to aliasing, which will degrade the quality of the output image. Aliasing due to compression will be considered first. As is known to those skilled in the art, an image can be characterised by a two-dimensional parameter known as spatial frequency, which is proportional to the reciprocal of the angle subtended to the eye of the viewer by the visual spectral components of the image. The concept of spatial frequency can more readily be appreciated by considering an image in the form of a series of uniformly spaced straight lines. For a fixed position of the viewer with respect to such an image, the image has a single spatial frequency which is inversely proportional to the apparent spacing of the lines. (The spatial frequency is horizontal if the lines are spaced horizontally, vertical if the lines are spaced vertically, and diagonal in other cases). Clearly, if the image is compressed, so that the lines appear to the viewer to become closer together whereby the angle they subtend to the eye of the viewer decreases, the spatial frequency increases. The scaling theorem in Fourier analysis states that if an image signal is compressed in the spatial domain, that is if the spatial frequency of the image is increased, then the Fourier transform of the signal increases in the frequency domain (that is, the frequency (in Hz) of the signal increases); and vice versa . It will be recalled that the image signal discussed above is a sampled signal. Nyquist's Rule concerning the sampling of signals states that, in order not to lose information contained in a signal, the signal must be sampled at a frequency (fs) that is equal to at least twice the bandwidth (fB) of the signal. Naturally, this criterion is complied with when the digital input signal is formed initially by sampling an analog signal. The frequency spectrum (Fourier transform) of the sampled signal in the frequency domain is shown by the solid lines in Figure 4, which is a graph of amplitude v. frequency (Hz). The frequency spectrum comprises a baseband component 24 (up to fB). Also, the baseband is reflected symetrically around the sampling frequency fs and its harmonics 2fs, 3fs etc. to produce higher frequency components 26. Provided that Nyquist's Rule is complied with (so that fs/2 is greater than fB) and provided that the signal is band-limited (low-pass filtered) so as to have a cut-off frequency of about fs/2, the higher frequency components 26 will be suppressed. As explained above, when the sampled signal is subjected to compression in the spatial domain, its Fourier transform exhibits expansion in the frequency domain. Thus, the bandwidths of the components 24,26 in Figure 4 increase. As shown by dotted lines in Figure 4, this can result in aliasing of the signal in that the bandwidth fB of the signal can exceed the Nyquist limit (fs/2) so that part of at least the lowest one of the higher frequency components 26 extends down into and is mixed with the baseband so as to degrade the signal and therefore the image that it represents. The phenomenon of aliasing due to rotation will now be described. As is known to those skilled in the art, the bandwidth of a system for handling the two-dimensional (vertical/horizontal) sampled image signal can be represented in the spatial domain by a two-dimensional frequency response as represented in Figure 5. In Figure 5, the horizontal axis represents a scale of horizontal spatial frequency in the positive and negative senses (H+ and H-) in units of cycles per picture width, the vertical axis represents a scale of vertical spatial frequency in the positive and negative senses (V+ and V-) in units of cycles per picture height, and the rectangle 28 represents the two-dimensional bandwidth of the system, the vertical and horizontal bandwidths being assumed to be approximately equal. It can be seen from Figure 5 that diagonal frequencies (e.g. that shown at 30) of values higher than the vertical and horizontal bandwidths will fall within the two-dimensional bandwidth 28. If, for example, the vertical and horizontal bandwidths are equal, then diagonal frequencies of values up to √ 2 times the horizontal/vertical bandwidth fall within the two-dimensional bandwidth 28. However, as will now be explained, this holds true only if the image is not rotated. Figure 6 repeats the showing of Figure 5 and shows also the frequency space 32 of an image which would fall just within the bandwidth 28 (in both dimensions) if the image had not been rotated, but which in fact has been rotated through 45°. As will be seen, the corner regions (shown cross-hatched) of the frequency space 32 fall outside of the bandwidth 28 and therefore may exceed the Nyquist limit (fs/2) in the frequency domain, whereby they are reflected back into the bandwidth 28 (as shown by dotted lines) to mix with the baseband and cause aliasing in a generally similar manner to that explained above for the case of aliasing due to compression. The extent of aliasing will depend upon the angle of rotation. If the horizontal and vertical bandwidths are the same, it will be appreciated that there is a maximum likelihood of aliasing for angles of rotation of 45°, 135°, 225° and 315° and a minimum likelihood of aliasing for angles of rotation of 0°, 90°, 180°, 270°. An image signal processing apparatus embodying the invention and described hereinbelow with reference to Figures 7 to 10 is designed so as to eliminate or at least reduce aliasing due to local compression and/or rotation of the image by monitoring the addresses allocated to successive sets of at least three words or samples (spaced vertically and horizontally) corresponding to successive local areas of the image, computing from the addresses, for each such set of samples, a local scaling factor representing the extent of compression and the extent of rotation of the corresponding local area, and varying the bandwidth of the signal before it is mapped into the memory in accordance with the local scaling factor in a sense to minimise aliasing that otherwise would be caused by compression and/or rotation. The image signal processing apparatus of Figure 7 comprises, like the apparatus of Figure 1, an input port or terminal 10, a memory 12, an address generator 14 and an output port or terminal 16, and is operative, like the apparatus of Figure 1, to process a digital input image signal applied to the input port or terminal 10, by mapping it into the memory 12 in response to addresses produced by the address generator 14 in accordance with a mapping function, to produce a manipulated image output signal at the output port or terminal 16. Additionally, however, the apparatus of Figure 7 includes a variable bandwidth digital filter 40 which is operative to effect two-dimensional filtering of the input signal before it is mapped into the memory 12, a local scaling factor computation means 42 connected to the address generator 14 to compute local scaling factors from the addresses allocated to successive sets of samples, as just described, and bandwidth control means 44 responsive to the successive computed local scaling factors to vary the bandwidth of the filter 40, as just described, in a sense to minimise aliasing due to local compression and/or rotation of the image. The apparatus includes also a clock signal source (not shown) operative to produce clock pulses at the sample rate fs so as to cause the various illustrated components of the apparatus to perform their respective functions during respective successive clock periods T each equal to 1/fs. In Figure 7, as in Figure 1, the input samples comprise multi-bit words. The bits of each word of the input signal generally will arrive in parallel (at the frequency or rate fs). Also, the bits of words produced internally of the apparatus generally are transferred between the various elements of the apparatus in parallel. Further, bits of each word (sample) of the output signal generally will be generated in parallel. (The same applies to Figures 9 and 10 described below). Accordingly, it will be appreciated that items in Figures 7, 9 and 10 that are shown or described as lines generally will in fact be in the form of busses or highways. A preferred form of implementation of the apparatus shown in Figure 7 will be described hereinbelow with reference to Figures 9 and 10. Firstly, however, the principle of operation of the apparatus will be described with reference to Figure 8. Figure 8 is a representation of the samples (words) of the input signal. The samples X₀₁, X₀₂, X₀₃, X₀₄ etc. represent the samples of the first line of the image, the samples X₁₁, X₁₂, X₁₃, X₁₄ etc. represent the samples of the second line of the image, and so on, As explained above, a respective address is generated for each sample by the address generator 14, the address representing the x and y coordinates of a location in the memory 12 into which the sample is to be mapped. During each clock period, the local scaling factor computation means 42 is operative as explained above to compute a local scaling factor based upon the addresses allocated to a set of at least three samples corresponding to a local image area. Provided that the set includes two samples that are relatively spaced horizontally and two samples that are relatively spaced vertically (which two groups of two samples may include one sample in common so that a set of only three samples suffices), the words of the set may have any desired predetermined relative disposition. One convenient form of set comprises two adjacent samples in one line and a sample appearing exactly one line after the earlier sample in the first-mentioned line. In this case, the sets of addresses monitored in successive clock periods would be those corresponding to the words X₀₁, X₀₂, X₁₁; X₀₂, X₀₃, X₁₂; X₀₃, X₀₄, X₁₃.....X₁₁, X₁₂, X₂₁; X₁₂, X₁₃, X₂₂; and so on, as represented, for the first such set, by the dotted line boundary 46 in Figure 8. Consider what happens when, for example, the set of samples 46, namely the samples X₀₁, X₀₂, X₁₁, is mapped to locations in the memory 12 represented in Figure 8 as I₁, I₂ and I₃, respectively. The locations I₁, I₂ and I₃ are represented in Figure 8 in their relative geometrical orientations in the output image and, as will be evident, the corresponding local image area has been subjected to rotation. It will be assumed also that the local image area has been subjected to compression in both the horizontal and vertical directions and that the extent or degree of compression (scaling factor) for each such direction differs from the other. Assume also that the x, y coordinates of the locations I₁, I₂ and I₃, as indicated by their addresses, are (x₁, y₁), (x₂, y₂) and (x₃, y₃), respectively. Simple trigonometry shows that the distance between the locations I₁ and I₂, which correspond to a pair of samples spaced horizontally by 1/fs (one pixel) in the input image, is given by: Accordingly, since the distance between the input samples X₀₁, X₀₂ corresponding to the locations I₁, I₂ is unity (one pixel), the degree of horizontal compression of the local area corresponding to the sample set 46 is given by: Similarly, it can be shown that the degree of vertical compression of the local area corresponding to the sample set 46 is given by: The bandwidth control means 44 is operative on the filter 40 during each clock period to reduce its horizontal and vertical bandwidths (as compared to the values of those bandwidths for the case when the image is not compressed) by the factors given in Equations (1) and (2), respectively, thereby preventing or at least reducing the generation of aliasing due to compression which otherwise would occur in the manner described above with reference to Figure 4. However, doing this alone would not prevent (or at least reduce) aliasing caused by rotation, which occurs for the reason explained above with reference to Figures 5 and 6. The prevention or reduction of aliasing due to rotation is accomplished as follows. The local scaling factor computation means 42 computes also the extent of rotation of the image. Specifically, it calculates the angle ϑ h of the line I₁-I₂ to the horizontal and the angle ϑ v of the line I₁-I₃ to the vertical, which angles indicate the amounts by which the local area has been rotated with respect to the horizontal and vertical, respectively, and which (in general) may not be the same. In practice, rather than computing ϑ h and ϑ v , it is more convenient to calculate their tangents, since tanϑ h and tanϑ v can be computed easily from the addresses of the points I₁, I₂ and I₃ by the equations: Knowledge of the angles ϑ h and ϑ v (or their tangents) alone is not sufficient to deduce the amount of bandwidth reduction necessary to prevent aliasing due to rotation. As will be recalled from the explanation given above with reference of Figures 5 and 6, knowledge also is required of the likelihood of aliasing for the angle concerned. (For example, as indicated above, in the case of substantially equal horizontal and vertical bandwidths the likelihood of aliasing is maximum (and therefore maximum bandwidth reduction is required) if the angle is 45°, 135°, 225° or 315°, whereas the likelihood of aliasing is minimum (and therefoer minimum bandwidth reduction is required) if the angle is 0°, 90°, 180° and 270°). It is possible for the local scaling factor computation means 42 to calculate, from the computed values of tanϑ h and tanϑ v , corresponding values for F(ϑ h ) and F(ϑ v ), namely the reductions in the horizontal and vertical bandwidths, respectively, of the filter 40, needed to prevent aliasing due to rotation. Preferably, however, the computation means 42 contains look-up tables of F(ϑ h ) and F(ϑ v ) for various values of tanϑ h and tanϑ v and is operative to provide values of F(ϑ h ) and F(ϑ v ) appropriate to the calculated values of tanϑ h and tanϑ v by consulting the look-up tables. Knowledge of both the compression bandwidth reduction factors as given by Equations (1) and (2) and of the rotation bandwidth reduction factors F(ϑ h ) and F(ϑ v ) enables the computation in the local scaling factor computation means 42 of horizontal and vertical scaling factors representing the extent by which the horizontal and vertical bandwidths of the filter 40 must be reduced (with respect to the values of those bandwidths when the image is neither compressed nor rotated) to prevent aliasing due to both compression and rotation. Specifically, the horizontal local scaling factor (horizontal bandwidth reduction factor) HLSF is given by and the vertical local scaling factor (vertical bandwidth reduction factor) VLSF is given by A preferred form of implementation of the local scaling factor computation means 42 will now be described with reference to Figure 9. During each clock period T(=1/fs), the address allocated by the address generator to the current input sample is passed to a delay network 50 comprising a Z -LINE delay element (line store) 52 and two Z⁻¹ delay elements (one sample delay elements) 54,56. The Z⁻¹ delay elements 54,56 may comprise latches that introduce a delay (T=1/fs) equal to one sample and the Z -LINE delay element 52 may comprise a series of latches that produce a delay (n.T = n/fs) equal to the number n of samples per line of the image. If the current input sample is X₁₂, then the address A(X₁₂) of that sample is applied to inputs of the delay elements 52 and 56. In this event, as will readily be appreciated from a study of the delay network 50, the addresses then produced on output lines 58,60,62 of the delay elements 54,52 and 56 are, respectively, the address A(X₀₁) allocated to the sample X₀₁ and therefore representing the position of the location I₁, the address A(X₀₂) allocated to the sample X₀₂ and therefore representing the position of the location I₂, and the address A(X₁₁) allocated to the sample X₁₁ and therefore representing the position of the location I₃. That is, at this time, the addresses on the output lines 58,60 and 62 contain all the information necessary to enable the horizontal and vertical scaling factors HLSF and VLSF for the local image area corresponding to the set of three words indicated at 46 in Figure 8 to be calculated in accordance with Equations (1) to (6). The output lines 58,60 are connected to a calculation block 64 that solves Equation (1) and passes the result to a first input of a multiplier 66. Similarly, the output lines 58,62 are connected to a calculation block 68 that solves Equation (2) and passes the result to a first input of a multiplier 70. Further, the output lines 58,60 are connected to a calculation block 72 that calculates tanϑ h in accordance with Equation (3) and the output lines 58,62 are connected to a calculation block 74 that calculates tanϑ v in accordance with Equation (4). Outputs of the calculation blocks 72,74 are passed to programmable read only memories (PROMs) 76 and 78, respectively, that store the above-mentioned look-up tables containing values of F(ϑ h ) and F(ϑ v ) for different values of ϑ h and ϑ v as calculated in the blocks 72 and 74. The PROMs 76 and 78 supply values of F(ϑ h ) and F(ϑ v ), respectively, appropriate to the calculated values of ϑ h and ϑ v , to second inputs of the multipliers 66,70. The multipliers 66 and 70 multiply the values of F(ϑ h ) and F(ϑ v ) supplied by the PROMs 76,78 with the calculated values supplied by the calculation blocks 64,68 to calculate values for the for the horizontal and vertical local scaling factors HLSF and VLSF in accordance with Equations (5) and (6). Thus, for each clock period T, the multipliers 66,70 supply values of HLSF and VLSF appropriate to a successive respective local image area corresponding to a set of three samples in the manner described generally above with reference to Figure 8. As described above with reference to Figures 7 and 8, the values of HLSF and VLSF are supplied to the bandwidth control means 44 to control the vertical and horizontal bandwidths of the two-dimensional filter 40. Naturally, there is a propagation delay through the local scaling factor computation means 42 and also through the filter 40. It may therefore be necessary to incorporate a compensating delay somewhere in the apparatus to ensure the correct temporal relationship between the dynamic control of the filter bandwidth and the signal being filtered. The bandwidth control means 44 and the two-dimensional (2D) filter 40 will now be described in more detail with reference to Figure 10. The filter 40 can be of any suitable type. Preferably, however, a finite impulse response (FIR) type of filter is employed. The design of 2D FIR filters is known per se and therefore the preferred form of filter will not be described in great detail. As is known to those skilled in that art, a 2D-FIR filter is operative during each clock period T (=1/fs) to calculate a filtered output word or sample by multiplying a predetermined set of vertically and horizontally spaced samples of the input signal by respective weighting coefficients and summing the products of the multiplication operations. To this end, a 2D FIR filter generally will comprise a plurality of multipliers supplied with respective weighting coefficients, a plurality of Z⁻¹ delay elements (one sample delay elements) and Z -LINE delay elements (one line delay elements or line stores) arranged upstream or downstream of the multipliers to delay the samples of the input signal by different amounts to form the predetermined set of vertically and horizontally spaced samples, and a summing means to sum the delayed, weighted products. Since the filter 40 can be of a variety of configurations, it has been represented in a rather general and simplified form in Figure 10 as comprising a plurality of multipliers 80, a plurality of delay elements 82 and a summing means 84. Respective different weighting coefficients are supplied to the multipliers 80 on lines 86 extending from the bandwidth control means 44. As is known to those skilled in the art, the vertical and horizontal bandwidths of a 2D FIR filter of a particular configuration depend upon the values chosen for the weighting coefficients. That is to say, the vertical and horizontal bandwidths of the filter 40 may be varied simply be varying the values of the weighting coefficients. To this end, the bandwidth control means may be responsive to the values of the horizontal and vertical local scaling factors HLSF and VLSF to compute appropriate values for the weighting coefficients to achieve a reduction in horizontal and vertical bandwidth of the filter 40 appropriate to the values of HLSF and VLSF. Preferably, however, a range of sets of weighting coefficient values appropriate to all possible values of HLSF and VLSF is computed at the design stage and the bandwidth control means 44 is implemented in the form of PROM that stores a look-up table of the pre-computed sets of weighting coefficient values and outputs appropriate values of the weighting coefficients to the filter 40 at each clock period in accordance with the values of HLSF and VLSF received from the local scaling factor computation means 42. It was explained above with reference to Figure 8 that, for example, the set of samples 46, namely the samples X₀₁, X₀₂, X₁₁, is mapped to locations in the memory 12 represented in Figure 8 as I₁, I₂ and I₃, respectively. Due to compression and/or rotation, the locations I₁, I₂ and I₃, may not correspond to exact pixel sites (discrete raster or array positions spaced by 1/fs) of the output image signal or output array. In practice, in the case of generation of digital video effects it is generally desirable that the locations in the memory 12 into which the words of the input signal are mapped should in fact correspond to exact pixel sites, since it is generally required that the output array should correspond to the input array. One way of accomplishing this would be for the address generator 14 to generate, for each word of the input signal, an address representing the pixel site (memory position) that is closest to the position into which the mapping function indicates that the input word should be mapped. The input word therefore is mapped into that pixel site. Obviously, while this approach may be satisfactory, it would give rise to inaccuracy. An alternative approach would be for the address generator 14 to generate, for each word of the input signal, an address that indicates precisely (without restriction to exact pixel sites) the position into which the mapping function indicates that the word should be mapped. That address is passed to the local scaling factor computation means 42 for processing in the manner described above. The address comprises a major address portion representing the x and y coordinates of the pixel site that is closest to the position into which the mapping function indicates that the input word should be mapped, and a residual address portion representing the difference between the x and y coordinates of that pixel site and that position. Of these, only the major address position is supplied to the memory 12. Consequently, in this case also the input word is mapped into the closest pixel site. While this approach also may be satisfactory, it also will give rise to inaccuracy. The above-mentioned inaccuracy can be overcome (or at least reduced) by adopting the following approach. As in the second of the approaches mentioned above, the full address is applied to the local scaling factor computation means 42 and the major address portion only is supplied to the memory 12. Additionally, however, the residual address portion is applied to interpolation means (not shown) which is positioned either before the filter 40 or between the filter 40 and the memory 12. The interpolation means is responsive to the value of the position increment from the closest pixel site, as represented by the residual address portion, to interpolate between the values of available input samples or words to produce, for each input sample or word, an interpolated sample or word which corresponds to that point in the input image which, using the mapping function, would map exactly on to the selected closest pixel site. That interpolated sample or word, rather than the input sample or word, is sent to the memory 12 for storage in the selected pixel site. Thus, in contrast to the previous approaches described above, a precise desired relationship (as dictated by the mapping function) is maintained between the different positions of the memory 12 and the positions in the input image of the samples stored therein. An interpolation technique as just set forth is described in our copending European Patent Application Publication No. EP-A-0 194 066 and in our copending UK Patent Application Publication No. GB-A-2 172 167. As will be appreciated, the above-described image processing apparatus embodying the invention can be considered as incorporating a filter that is adaptive in the sense that its vertical and horizontal bandwidths are adapted continuously in accordance with the extent of compression and rotation of local areas of the mapped image in a sense to prevent or minimise aliasing. This can lead to the production of high quality visual effects in that the filtering is matched optimally to that required at each point in the image. The preferred implementation of the apparatus can lead to very compact hardware implementation and allows commonality of hardware between vertical and horizontal filtering requirements. The apparatus functions by operating directly on the addresses as they are calculated by the address generator 14, so that the apparatus will operate regardless of the mapping function being used. Although the invention is applicable specifically in the creation of digital video effects, it should be appreciated that the invention is more generally applicable to the processing of digital image signals in a variety of other applications.

Claims: An image signal processing apparatus comprising: a memory (12); a write address generator (14) for generating addresses for allocation to successive words of a digital input signal representing an input image for writing the words into the memory; a digital filter (40) of variable bandwidth operative to effect two-dimensional filtering of the input image; local scaling factor computation means (42) responsive to information indicative of manipulation to which the input image is to be subjected by the apparatus, which manipulation may involve individual portions of the input image being compressed and/or rotated, to generate successive local scaling factors representing the extent of compression of successive local image areas; and bandwidth control means (44) responsive to the successive local scaling factors to vary the bandwidth of the digital filter (40) in accordance with the extent of compression of the local areas; characterised in that: the write address generator (14) is operative to allocate addresses to the successive words of the input signal such that said manipulation is performed by mapping the words into the memory (12) in accordance with the manipulation; said information to which the local scaling factor computation means (42) is responsive comprises said addresses allocated to said successive sets of words of the input signal by the write address generator (14); the local scaling factor computation means (42) is responsive to said addresses allocated to each said successive set of words of the input signal to compute both compression information representing the extent of compression of the corresponding local area and rotation information representing the extent of rotation of the corresponding local area and to combine said compression information and said rotation information to generate a local scaling factor representing both the extent of compression and the extent of rotation of the corresponding local area; and the bandwidth control means (44) is responsive to the successive local scaling factors to vary the bandwidth of the digital filter (40) in a sense to minimise aliasing that would be caused by both compression and rotation of the successive local areas. Apparatus according to claim 1, wherein the local scaling factor computation means (42) is operative to calculate, for each set of addresses, both a horizontal local scaling factor (HLSF) representing both the extent of compression of the corresponding local area in the direction of a horizontal axis of the input image and the extent of rotation of the corresponding local area with respect to the horizontal axis and a vertical local scaling factor (VLSF) representing both the extent of compression of the corresponding local area in the direction of a vertical axis of the input image and the extent of rotation of the corresponding local area with respect to the vertical axis, and the bandwidth control means (44) is operative to vary horizontal and vertical bandwidths of the filter (40) in accordance with the horizontal and vertical local scaling factors, respectively. Apparatus according to claim 2, wherein the filter (40) comprises a finite impulse response filter and the bandwidth control means (44) is operative to apply to the filter (40), for each set of addresses, a set of weighting coefficients that will cause the filter to have horizontal and vertical bandwidths appropriate to the horizontal and vertical local scaling factors (HLSF, VLSF), respectively. Apparatus according to claim 3, wherein the bandwidth control means (44) comprises a look-up table storing a plurality of sets of weighting coefficients for different values of the horizontal and vertical local scaling factors, the bandwidth control means (44) being operative, for each set of addresses, to apply to the filter (40) a set of weighting coefficients appropriate to the values of the horizontal and vertical local scaling factors (HLSF, VLSF) computed by the local scaling factor computation means (42). Apparatus according to claim 2, claim 3 or claim 4, wherein the local scaling factor computation means (42) is responsive to the addresses allocated to a set (46) of at least three words of the input signal that bear a predetermined positional relationship in the input image, the set (46) comprising at least two words that are relatively horizontally spaced in the input signal and at least two words (at least one of which may be common to the first-mentioned at least two words) that are relatively vertically spaced in the input signal. Apparatus according to claim 5, wherein the local scaling factor computation means (42) comprises: (i) means (72) for calculating the angle Θ h to the horizontal of a line joining the positions (I₁, I₂) signified by the addresses allocated to the at least two words of the input signal that are relatively horizontally spaced; (ii) means (74) for calculating the angle Θ v to the vertical of a line joining the positions (I₁, I₃) signified by the addresses allocated to the at least two words of the input signal that are relatively vertically spaced; and (iii) means (76, 78) for determining respective values F(Θ h ) and F(Θ v ) that indicate the likelihood of aliasing for the calculated angles Θ h and Θ v , respectively. Apparatus according to claim 6, wherein the means (76, 78) for determining the respective values F(Θ h ) and F(Θ v ) comprises look-up tables storing different values of F(Θ h ) and F(Θ v ) for different values of the angles Θ h and Θ v and is operative to select appropriate values of F(Θ h ) and F(Θ v ) in accordance with the calculated values of the angles Θ h and Θ v . Apparatus according to claim 6 or claim 7, wherein the local scaling factor computation means (42) comprises: (a) means (64) for determining the spacing between the positions (I₁, I₂) signified by the addresses allocated to the at least two words of the input signal that are relatively horizontally spaced; (b) means (68) for determining the spacing between the positions (I₁, I₃) signified by the addresses allocated to the at least two words of the input signal that are relatively vertically spaced; and (c) means (66, 70) for multiplying said spacings by the respective values F(Θ h ) and F(Θ v ), respectively, to produce the horizontal and vertical local scaling factors (HLSF, VLSF), respectively. An image signal processing method comprising: generating (14) addresses for allocation to successive words of a digital input signal representing an input image for writing the words into a memory (12); effecting two-dimensional filtering of the input image by means of a digital filter (40) of variable bandwidth; in response to information indicative of manipulation to which the input image is to be subjected, which manipulation may involve individual portions of the input image being compressed and/or rotated, generating (42) successive local scaling factors representing the extent of compression of successive local image areas; and varying (44) the bandwidth of the digital filter (40) in response to the successive local scaling factors in accordance with the extent of compression of the local areas; characterised in that: said address generation step (14) comprises allocating addresses to the successive words of the input signal such that said manipulation is performed by mapping the words into the memory (12) in accordance with the manipulation; said information in response to which the local scaling factor generation step (42) is carried out comprises said addresses allocated to said successive sets of words of the input signal to write them into the memory (12); the local scaling factor generation step (42) comprises computing, from said addresses allocated to each said successive set of words of the input signal, both compression information representing the extent of compression of the corresponding local area and rotation information representing the extent of rotation of the corresponding local area, and combining said compression information and said rotation information to generate a local scaling factor representing both the extent of compression and the extent of rotation of the corresponding local area; and the bandwidth of the digital filter (40) is varied in accordance with the successive local scaling factors in a sense to minimise aliasing that would be caused by both compression and rotation of the successive local areas. A method according to claim 9, wherein the local scaling factor generation step (42) comprises, for each set of addresses, calculating both a horizontal local scaling factor (HLSF) representing both the extent of compression of the corresponding local area in the direction of a horizontal axis of the input image and the extent of rotation of the corresponding local area with respect to the horizontal axis and a vertical local scaling factor (VLSF) representing both the extent of compression of the corresponding local area in the direction of a vertical axis of the input image and the extent of rotation of the corresponding local area with respect to the vertical axis, and wherein horizontal and vertical bandwidths of the filter (40) are varied in accordance with the horizontal and vertical local scaling factors, respectively. A method according to claim 10, wherein the filter (40) comprises a finite impulse response filter and its bandwidth is varied by applying to the filter (40), for each set of addresses, a set of weighting coefficients that will cause the filter to have horizontal and vertical bandwidths appropriate to the horizontal and vertical local scaling factors (HLSF, VLSF), respectively. A method according to claim 11, wherein a plurality of sets of weighting coefficients for different values of the horizontal and vertical local scaling factors (HLSF, VLSF) are stored in a look-up table (44) and, for each set of addresses, a set of weighting coefficients appropriate to the calculated values of the horizontal and vertical local scaling factors are applied to the filter (40). A method according to claim 10, claim 11 or claim 12, wherein said addresses employed for the computation effected in the local scaling factor generation step (42) comprise addresses allocated to a set (46) of at least three words of the input signal that bear a predetermined positional relationship in the input image, the set (46) comprising at least two words that are relatively horizontally spaced in the input signal and at least two words (at least one of which may be common to the first-mentioned at least two words) that are relatively vertically spaced in the input signal. A method according to claim 13, wherein the computation effected in the local scaling factor generation step (42) comprises: (i) calculating (72) the angle Θ h to the horizontal of a line joining the positions (I₁, I₂) signified by the addresses allocated to the at least two words of the input signal that are relatively horizontally spaced; (ii) calculating (74) the angle Θ v to the vertical of a line joining the positions (I₁, I₃) signified by the addresses allocated to the at least two words of the input signal that are relatively vertically spaced; and (iii) determining (76, 78) respective values F(Θ h ) and F(Θ v ) that indicate the likelihood of aliasing for the calculated angles Θ h and Θ v , respectively. A method according to claim 14, wherein different values of F(Θ h ) and F(Θ v ) for different values of the angles Θ h and Θ v are stored in look-up tables (76, 78) and appropriate values of F(Θ h ) and F(Θ v ) are selected in accordance with the calculated values of the angles Θ h and Θ v . A method according to claim 14 or claim 15, wherein the horizontal local scaling factor (HLSF) generation step comprises: (a) determining (64) the spacing between the positions (I₁, I₂) signified by the addresses allocated to the at least two words of the input signal that are relatively horizontally spaced; (b) determining (68) the spacing between the positions (I₁, I₃) signified by the addresses allocated to the at least two words of the input signal that are relatively vertically spaced; and (c) multiplying (66, 70) said spacings by the respective values F(Θ h ) and F(Θ v ), respectively, to produce the horizontal and vertical local scaling factors (HLSF, VLSF), respectively.

Inventors: DAVID, MORGAN WILLIAM AMOS, HEDLEY, DAVID JOHN, RICHARDS, JOHN WILLIAM
Applicants: SONY CORPORATION
Application year: 1986
Main classification: G06F15
IPC codes: G06T5, H04N5, G06T3