GB2073988A - Video picture processing - Google Patents

Video picture processing Download PDF

Info

Publication number
GB2073988A
GB2073988A GB8108467A GB8108467A GB2073988A GB 2073988 A GB2073988 A GB 2073988A GB 8108467 A GB8108467 A GB 8108467A GB 8108467 A GB8108467 A GB 8108467A GB 2073988 A GB2073988 A GB 2073988A
Authority
GB
United Kingdom
Prior art keywords
picture
points
area
picture points
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB8108467A
Other versions
GB2073988B (en
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micro Consultants Ltd
Original Assignee
Micro Consultants Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micro Consultants Ltd filed Critical Micro Consultants Ltd
Priority to GB8108467A priority Critical patent/GB2073988B/en
Publication of GB2073988A publication Critical patent/GB2073988A/en
Application granted granted Critical
Publication of GB2073988B publication Critical patent/GB2073988B/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/602Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

In a processing system for effecting angular displacement of at least part of a television picture, the picture is subdivided into picture areas each containing a plurality of picture points and a number of storage devices (30-53) respectively receive information on each picture point within the area at a designated storage location. On read out, the location of a particular area is accessed by means of a picture point and line counter 58 in a single read operation. Information on particular picture points within the area is selectively made available for interpolation via latches 30A-53A to allow construction of the displaced picture. The area accessed for read out can be modified relative to writing into the store in order to cope with any selected degree of displacement. <IMAGE>

Description

SPECIFICATION Video picture processing The invention relates to the manipulation of television pictures to effect angular displacement resulting at least in partial rotation of the picture.
In the known picture manipulation systems e.g. Quantel DPE 5000 series of equipments, a range of facilities and effects are available that are able to emulate the action of a lens entirely by electronic means.
Pictures can be enlarged, compressed, moved, changed in shape and even frozen, far removed from the original camera and lens system. The demands for such equipment come from both the creative and engineering staff of television since these facilities allow a degree of creativity and flexibility that previously has, at best, been very time consuming and, at worst, been quite impossible.
The ultimate effect that has so far eluded manufacturers has been the ability to rotate an image in the plane of the T.V. screen in an adequate manner. The applications of this facility would range from the special effect to the simple lining up of material shot at an odd angle during the original take.
For a simple change in linear dimension new picture points must be generated from the existing points in such a way that not only are they derived from the appropriate part of the original image but that the necessary interpolation is obtained. Put simply, if a picture is to be shrunk to half size, every other picture point and every other line could be skipped during read out from a framestore and the result would indeed be a half size image. The flaw in this approach is that quality would be poor since the skipped points and lines have made no contribution to the final picture causing a certain raggedness. However, a still more important consideration is that this simple approach will only work for 1/2, 1/4, 1/8, 1/16 size pictures. The problem becomes more interesting when non-binary changes of size are required.A ratio of 0.9:1 for example cannot be achieved by merely skipping one picture point and one line in ten but, as can be seen from Figure 1 the new information must be interpolated from adjacent input points. A full description of the manner in which interpolation is possible is given in U.S. Patent No. 4,163,249 for example.
A brief consideration of Figure 1 reveals that, difficult as the above interpolation process is to realise in real time, it is much simplified by the fact that the output raster is in the same orientation as the input i.e. a whole line of output information is obtained from two whole lines of input information.
Consider now the situation for the case of the picture rotation. Figure 2 shows two rasters rotated with respect to one another by approximately 30 degrees. The horizontal raster could be regarded as the input to a framestore and the rotated version the output. It will be seen that, in this case, horizontal information on the output (remember this is information parallel to the rotated raster) clearly is influenced by totally different vertical lines of input for its whole length. This simple fact causes enormous problems for the designer of the framestore architecture and is further compounded when interpolation is required to obtain suitable quality of result.
Bulk semiconductor storage media (e.g. Dynamic RAM chips) are slower than the required data rate for real time frame storage of video and so, traditionally, incoming information is demultiplexed before entry into the store and then remultiplexed after read out of several points in parallel.
It is usual to read out, in the non-rotated case, two lines in parallel deriving all the output points required from these same two lines when interpolating. This is clearly impossible in the rotated case as information is required from more than two lines of picture synthesis for the angled (rotated) line now required.
The problem is to determine whether there is a way of demultiplexing the store to make use of existing high capacity, low power and low cost storage elements that are relatively slow (i.e. which operate at an accessing rate substantially less than picture point rate). U.S. Patent No. 4,183,058 for example shows a typical demultiplexing system for a conventional framestore and its basic store configuration is now shown in Figure 3. In this case groups of 16 picture points are written into or read out from the store at the same time. These 16 points are adjacent along the line of video being considered and can comprise for example the 16 picture points referenced in Figure 1.Thus each 8 bit word for picture points 1 to 16 are latched into respective input latches 10a - lOp. Thus after the occurrance of 16 picture points, each latch now holds data on 1 picture point and thus a single write cycle of RAMs ila - 11 p will simultaneously enter the respective data for all 16 picture points, thus allowing the capability of the RAMs operating at 1/16 video rate. For read out the data for each RAM is received by respective output latches 12a - 12p and thus read out from the RAMs is at 1/16th video rate, the data is available from the laches at normal video rate.Although each RAM 11 a etc is shown simplified as a single block, in practice this block would typically comprise two sets of 8 chips each chip in the set being used to receive 1 bit of the 8 bit word from the input latches and each set being switched at field rate so that one set holds field A whilst the other holds field B. At read out the single bits are read out to provide that 8 bit word to the output latches.
For the reasons stated above this technique is unusable where output information is derived from different input vertical lines for the length of the output line as is required for rotation of the picture and this information is not available quickly enough with such a store demultiplexing configuration.
The present invention is concerned with providing a system capable of giving rotational effects without noticably sacrificing picture quality.
According to the invention there is provided a processing system for effecting angular displacement of at least part of a television picture comprising storage means for storing at least one video field subdivided into picture areas and containing a plurality of picture points, said storage means comprising a plurality of devices adapted to access all picture points within a designated area in a single read operation, modifying means for selectively changing the position of the accessed area relative to that written into the storage means, and processing means for synthesising picture points from information within the area accessed in dependence on the angular displacement required.
Further according to the invention there is provided a method of effecting angular displacement of at least part of a television picture comprising storing at least one video field subdivided into picture areas each containing a plurality of picture points, accessing all picture points within a designated area in a single read operation, selectively changing the position of the accessed area relative to that chosen for the storage step, and selectively synthesising picture points from information within the area accessed in dependence on the angular displacement required.
The invention will now be described by way of example with reference to the accompanying drawings, in which: Figure 1 shows a representation of the manipulation of the input raster to provide a compressed picture, Figure 2 shows the manipulation requirements for picture rotation, Figure 3 shows a known frame store configuration capable of handling sequential picture points, Figure 4 shows demultiplexing picture points in a configuration of the present invention to provide access to a picture point patch, Figure 5 shows a situation requiring modification of the relative patch locations, Figure 6shows an example of suitable modification of one of the demultiplex patches, Figure 7 illustrates an embodiment of the store configuration of the present invention dealing with the write side of the system, Figure 8 shows a corresponding configuration checking with the read side of the system, Figure 9 shows the internal construction of a RAM store block capable of handling 8 bit picture points from two fields, Figure 10 shows the selector mechanism for choosing 4 picture points from the available 24.
Figure 11 shows the arithmetic unit for interpolation, Figure 12 shows an example of the computation of coefficients for a particular synthesis step, Figure 13 shows an embodiment of the system capable of determining the picture points and coefficients required for synthesis dependent of the rotational angle selected Figure 14 shows a chart of typical processing results using the system of Figure 13 above, Figure 15 illustrates the relative movement of patches within the picture, Figure 16 shows a mechanism for achieving this modification, Figure 17 shows an embodiment of the rotator block and Figure 18 shows an alternative embodiment to Figure 17.
The simple linear demultiplexer described in Figure 3 is now replaced in the present invention by what we shall call a "patch demultipiexer". Figure 4 shows such a concept. Supposing the store were to be organised such that two dimensional patches of information were available - say 6 picture points wide by 6 lines tall as shown encompassed by the broken lines. Five points of information can be easily derived vertically or horizontally or in fact in any direction from such a patch. It will be clear that, using this technique, a five to one demultiplex has been achieved as all picture points within this matrix of 6 x 6 can be read out in one cycle of the store and interpolated in turn to derive the 5 new picture points for the rotational effect.Of course, 36 points have had to be made available to achieve the five level demultiplex but nevertheless this technique has made it possible to use slow RAM in the rotatorframestore.
The technique has been shown to work for the example in Figure 4 but we have found that this is a special case with the rotated line being generated starting in the top left hand corner of the patch. Figure 5 shows that if a straight-forward view is taken of splitting up the store into patches then the idea fails since in Patch B of the figure a demultiplex of only two is achieved, as only two picture points can be synthesised from the 36 available from patch B.
If then the principle is to work in all circumstances, we have found that the placing of the "patches" in the store must be modified as shown in the example of Figure 6 with each new patch starting such that a corner sits on the line to be generated. The position of a corner will of course be dependent on the degree of rotation selected and thus the slope of the line to be synthesised. This has the result that it must be possible to define the origin of the patch to an accuracy of one picture point in the original raster in spite of the fact that 36 picture points are made available at once and that the patch need only be 'moved' every five output points generated.
In other words the patch is somewhat like a window which can be moveable to encompass the 36 picture points required for the picture synthesis, the requirement being variable, dependent on the degree of rotation.
Before moving on to describe a typical realisation of the patch demultiplexer one other subtle but important aspect of the rotator must be covered. At first sight it would appear that the patch must be square since when a picture is rotated at 909 lines move down the patch and therefore, six elements must be available to give the 5:1 demultiplex.
However, if each field is treated separately, and since each field only contains every other line of the complete image, it is only necessary to have a patch of 4 lines by 6 picture points in order to be able to create 5 picture points in any direction. This saving however cannot be made if interpolation is carried out between fields.
If the picture points in the image are on a grid which has different horizontal and vertical scaling, this can be accommodated by changing the shape of the "patch" or by altering the demultiplex ratio to create, say, only 4 output picture points from each 6 x 4 patch.
A further problem is how to realise a system that allows access to the patch of 6 x 4 points in such a manner that the origin can be located to the accuracy of a single picture point. However, for ease of understanding the store mechanism will first be described neglecting the requirement for accuracy of the origin, so as to illustrate the basic system operation of the invention initially.
Figure 7 shows an embodiment of the store configuration of the present invention which includes a matrix of RAM stores 30-52, arranged for ease of understanding in rows and columns corresponding to one of the patches of 24 picture points already described. This figure shows the write side of the store system only (i.e.
the mechanism for outputting data is not shown here for the sake of clarity). Incoming picture point data is received by the various input latches 30c-53c which each receives data on a respective particular picture point as an 8 bit word. The latches are expediently provided with dual locations to allow one picture point to be available for write in to the RAM whilst receiving another picture point at its second location in a similar manner to that disclosed in U.S. patent 4,183,058. The picture point and line counter 54 is in practice used to address the same location in all the RAMs simultaneously but for clarity the connection therebetween has been omitted (the addressing forms a common connection to the RAMs). It is clear from the description how this and the multipiexers 55 and 56 are connected.
Expediently the picture points can be available to all latches and by using the normal picture point and line counter 54 with an input multiplexer 56, only 1 column (30c, 36c, 42c, 48c for picture point no. 1) will actually capture the data in dependence on the enable signal provided for multiplexer 56 (1 to 6 multiplex). Thus one of the six outputs from multiplexer 56 is connected to all latches in that column. Although the same picture point is available to RAMs 30, 36,42 and 48 it is only written into RAM 30 due to the presence of address strobe multiplexer 55 having one of its four outputs connected to all RAMs in that row, which multiplexer will therefore provide a strobe signal only to one of the four RAMs in the row during a write cycle (1 of 4 multiplex).If RAM block 30 (and the other blocks) is of 16K storage capacity then up to 16,000 patches can be handled by the entire store. Looking at patch A for example, points 1 to 6 are latched respectively as they occur into each of the four latches of the six columns, the second location in each latch then being available to receive the points 1 to 6 of patch B. Whilst these second series of 6 points are being handled a write cycle of the RAMs is effected for (say) the first address location within each of the RAMs 30-53, the address for writing this data into being provided by the counter 54. However, because of the presence of address strobe multiplexer 55 only one of the four rows (in this case RAMs 30-35) receives a strobe so that only the 'top' RAMs receive respectively picture points 1 to 6 of patch A.It is clear that only 1 write cycle of the RAMs is required every 6 picture points received thus the store cycle is operating at 1/6th data rate which is slow enough to be handled by these dynamic RAM chips. The picture points 1 to 6 of patch B will eventually go into the second address location within RAMs 30-35 respectively and so on until all picture points along the first video line are stored (up to 128 write cycles). At the next line received (i.e. point 7 of patch A), the procedure is similar, that is points 7 to 12 are latched in sequence in the six columns and then during a write cycle of the RAMs, the address multiplexer 55 will allow only strobing of RAMs 36-41, so that each of these picture points goes into the first address location of these RAMs. The operations continue until all picture points of all patches are entered.
Thus such an operation will handle a patch of 24 picture points. On read out these picture points can be used for synthesising the required picture points in that part of the rotated line. (Modification of the number of rows and columns could be made in other embodiments if demultiplexing ratio needed to be changed).
The read side of the store configuration will now be considered.
Consider Figure 8 that shows the matrix of RAM with a series of latches on the output. For clarity input data latching and addressing mechanisms have been omitted from this Figure. The RAMs 30-53 are shown with two output latches 30A-53A and 30B to 53B respectively. The basic operation with a single read cycle is that all 24 RAMs in the matrix are addressed in dependence on the output of picture point and line counter 58 giving the desired address location which output is common to all the RAMs. In the read situation all RAMs are strobed and so an address strobe multiplexer similar to block 55 of Figure 7 is not required. Thus all picture points within that patch are read out from the RAMs into their respective latches (say latch A) in one read cycle.Thus addressing the first location in each RAM will output the picture points 1 to 24 for patch A of Figure 7 into the latches 30A-53A.
Incrementing the addressing for the next read cycle will output the 24 picture points from patch B of Figure 7 and these can be held in latch B (i.e. latches 30B-53B respectively).
A latch enabling multiplexer block 57 for example can be provided with a pair of outputs respectively for all latches A or B to select which latches are to be utilised at any one time. It will be clear therefore that the arrangement as shown is capable of producing 24 points for one address cycle of the store since one store cycle loads all of one set of output latches in parallel then leaving them to be examined at will by high speed read circuitry described later. While the first set are being read the second set are being loaded from the RAM store into the other set of output latches.
By arranging the store in such a configuration this technique can produce 24 points for one store cycle which are related to the 6 x 4 patch in the image plane. Each single RAM chip 30-53 attached to each of the 24 output latch locations is sufficient to store the image (using either 8K or 16K RAM), and this allows the address arrangements to be organised such that the top row of RAM as drawn holds data from lines 1, 5,9, 13 etc., the second from 2, 6, 10, 14 the third 3,7, 11,15 and the fourth 4,8,12, 16 etc. In other words, the physical drawing as shown truely can represent the patch of 6 picture points by 4 lines read out from the store.Thus considering a T.V. field to comprise approximately 250 lines each with 500 picture points thereon, then in the case of patches comprising 24 picture points, nearly 8000 such patches will be required to cover the entire picture area of that field. Hence an 8K memory will handle one field and 16K an entire frame (i.e. two fields).
In practice, although the RAMs 30 etc of Figures 7 and 8 are shown as single blocks in reality each will comprise a number of individual RAM chips, an example being shown in Figure 9. Thus RAM block 30 comprises a first set of chips 60-67 and a second set of chips 68-75. Each chip can handle 1 bit of the 8 bit word for a particular picture point received from latch 30c to a total of 8K. The chip outputs are received by latch 30A (or 30B) and on read out again form the 8 bit word for that stored picture point. The two sets are respectively concerned with handling data from one of the two fields of the frame. To control which set handles the data, a switch 76 is shown which is ganged so as to allow one set to be operated in the read mode whilst the other set is operating in the write mode and vice versa.Although mechanical switching is shown for simplicity this would normally be controlled electronically to switch at field rate in known manner.
This allows field B to be written into one set whilst the other set is available for read out of field A.
Adopting such a system avoids any requirement for the inclusion of a "cross-over" mechanism for the store when "write before read" changes to "read before write". As explained in U.S. patent 4,183,058 this sudden change in delay through the machine of one frame would otherwise result in picture splitting when the subject on the screen moves at cross over. For the rotator the point of cross over is changing throughout the store and accordingly, in the example of the rotator being discussed, the difficulty of fabricating a suitable mechanism is avoided by having two groups of RAM attached to the sets of output latches - one group is being written into whilst the other is being read from. At the end of the field the two then change state as just described under the control of switch 76. Thus a conflict between write and read for a particular field is avoided.
The 24 picture points available for interpolation at any time in a particular patch following read out therefore comprise 6 picture points from 4 (sequential) lines in the same field. Although normally these are two interlaced fields in the frame, in this arrangement to prevent conflict it is not possible to look at the lines from both fields together for interpolation and dependent on the position of a synthesised picture point relative to the normal line position some vertical resolution in the synthesised picture may be lost although horizontal resolution is unchanged. In practice this is not noticeable to the eye when dealing with rotational effects.
Returning to Figure 8, for interpolation between any 4 points within the patch to generate the new picture point, it is necessary to select the desired 4 latches at any one time from the possible 24. A suitable arrangement for achieving this is shown in Figure 10. The output latches 30A, 30B-53A, 53B of Figure 8 are shown connected to a tristate driver 30D-53D. The outputs from the drivers are broken down into 4 highways. The connection of the drivers in the manner shown ensures that any 4 adjacent picture points can be made available together and thus the 4 highways can provide the 4 picture points required for interpolation.Only one of each pair of latches 30A or 30B etc are in a read state so that data can be made available from any such latch so that any picture point within the patch can be output to the highway in dependence on the enabling of the respective drivers. As already explained the four picture points used for interpolation will be required to change 5 times to generate the new picture points within the patch, thus 5 such enabling operations are carried out following each read cycle of the store. To control which picture points are placed on the highway, the enabling is expediently organised by defining the coordinates of the driver location and the six columns are now calied by way of explanation C0 to C5 and the four rows Ro to R3.
By providing two enables (row and column) it is possible to select any desired driver. A driver will only produce the output when both a row and column enable are received. Thus by providing CO, Ro driver 30D is enabled; C1, Ro enables 31 D; C0, R1 enables 36D and C1, R1 enables 37D. Thus a first picture point (see Figure 7) used for the rotational synthesis can be calculated from original picture points 1, 2,7 and 8 from patch A.
The interpolation is effected in arithmetic unit 80. An embodiment of the arithmetic unit is shown in more detail in Figure 11.
The four picture points for the interpolation are received at the input of the respective multipliers 81-84 where the particular picture point is multiplied by a coefficient NA to ND. The result is added in adder 85. The sum of NA, NB, Ne and ND will normally be unity. The values of NA through ND are selected in dependence on the position of the new picture point synthesised for the rotation relative to that occupied by the original picture points.
A specific example is illustrated in Figure 12 in which the 4 original picture points are shown as 1, 2,7 and 8 (following the example selected in Figure 10) and these are used to synthesise picture point P which we will deem to be required in the relative position shown, viz 2/sth of the way between 1 and 2 and 3/sth of the way between 1 and 7. We will take it that the coefficients available for use by the multipliers range from /64 to 64/64. The nearer the new picture point is to an existing picture point the greater the percentage of the existing picture point is used for interpolation.
Thus from the chart of Figure 12: 30 NA = 64 64 B 64 W4 No = 18 64 ND = 6 Nod = 64 64 the summation of which gives unity.
The values of the coefficients chosen in practice are determined in dependence on the degree of rotation selected and a mechanism for providing the coefficients is shown in Figure 13.
The rotation is achieved on the read side of the store as already explained. Modification of the read addressing is required compared to the write operation in order to select the desired patch at any particular time. Thus picture point counter 90 and line counter 91 which will be counting the picture points and the lines as normal for a frame read out, and these counts are received by rotator block 92 which produces a modification of the addressing in dependence on the angle Ofor rotation selected. The rotator block transforms the addressing according to the relatively straightforward law PR = PcosB-LsinB and LR = Psin0+Lcos6 where P is the original picture point address and PR is the rotated picture point address and where L is the original line address and LR is the rotated line address.
The transformed picture point count is provided as an x address and the transformed line address is provided as they address relative to the full store. This will be provided from rotator 92 to an accuracy of 1/8ths for reasons as illustrated in Figure 12 and thus this gives the actual location of the picture point to be synthesised. This calculation will be continuously updated at picture point rate as picture point counter 90 is incremented.
As the picture has been broken down into patches and as already explained data cannot be read out from the RAMs at normal data rate, then it is necessary to include additional circuit elements to provide the necessary addressing capabilities. The number of patches for the frame can be considered to total up to 128 x 128.
The full store x address is received by divide by six counter 94 which provides the patch x address (0-127), remembering that there are 6 picture points horizontally in the patch.
The full store y address is received by divide by four counter 96 which provides the patchy address (0-127), remembering that the patch comprises picture points taken from 4 lines. Thus the location of the designated patch has been calculated and the data from these 24 picture points read out from the RAMs into the output latches (see Figures 8 and 10). As already explained above the patch will be used to synthesise 5 picture points before another patch is required and thus dividers 94 and 96 need only be sampled every 5 picture points as no change in whole patch addressing will occur during this interval. To select the 4 picture points for interpolation for each of the 5 picture points synthesised, additional dividers 95 and 97 are provided.
Divide by six divider 95 is used to provide the remainder from the full store x address (i.e. divider 94 provides the integer). This remainder (0-5) effectively defines the x address within the patch and this is passed to look up table 101 which is provided with 6 output lines corresponding to the column enables Co-CS of Figure 10.
The table is arranged to enable not only the driver column designed by the remainder (Cn) but also the next driver column in the patch (Cn + 1). This is necessary to provide access to the picture points of interest.
Similarly an additional divide by four counter 97 is provided to give the remainder from the full store address (i.e. divider 96 provides the integer). This remainder (0-3) effectively defines they address within the patch and this is passed to look up table 102 whichis provided with 4 output lines corresponding to the row enables Ro - R3 of Figure 10. The LUT is arranged to enable not only the driver row designated by the remainder (Rn) but also the next row (Rn + 1). Thus it is clear that this mechanism can be used to access the 4 picture points of interest within the patch in the way discussed in relation to Figure 10 above. The dividers 95 and 97 will be updated at picture point rate so that five different combinations of 4 picture points can be selected for interpolation within the period before the next read operation of the RAMs.By including additional circuit blocks 98 and 99 it is possible also to determine the coefficient required for each of the multipliers of Figure 11. As already explained the output of rotator block 92 can provide the x and y addressing to an accuracy of 1/sths. Any fractional part of the x andy address is used by the blocks 98 and 99 respectively and these blocks can be look up tables as shown so that if FRx is the fractional remainder received by block 98 then it produces two outputs of FRX and (1 - FRx). Similarly with block 99 it will produce two outputs viz FRy and (1 - FRy).
An example of a calculation process is shown in the chart of Figure 14 with reference to Figure 13.
The two x interpolation coefficients from block 98 and the two y interpolation coefficients from block 99 are used to perform the calculation of NA, Ne, Ne and ND in a similar manner to the example shown in Figure 12.
In practice this calculation can be performed by programmable read only memory 103 which uses the inputs to address internal locations which have been pre-programmed with the correct arithmetical result.
In practice the PROM will also require the output from dividers 95 and 97 to establish where the picture point on any of the 4 highways is relative to its geometric position. In other words looking at Figure 10 it is clear that the output of driver 37D may be, under various circumstances, the bottom right hand picture point from the four RAMs 30,31,36 and 37 or the top right hand picture point from the four RAMs 36,37,42 and 43 or the bottom left hand picture point from the four RAMs 31,32,37 and 38 or the top left hand picture point from the four RAMs 37,38,43 and 44. This information is thus made available to the PROM 103 as shown. In other words the combination of inputs effectively define a particular address location with the PROM and the coefficient stored at that location is used as the input to the respective associated multiplier 81-84 of Figure 11.
The system of Figure 13 thus has the capability of defining the patch and selecting the desired picture points to be output for interpolation and the fractional parts of the addressing controlling the interpolator arithmetic multiplier weights. The adressing to the RAMs is updated every 5 picture points and the enabling of the drivers for the output latches are updated every picture point.
These techniques place the patch with an accuracy of 6 picture points horizontally and 4 lines vertically and the MOS RAM address is common to all the RAMs.
Clearly, it would be possible to place the patch with higher accuracy, if the address were not common to all RAMs but the physical realisation of such a scheme would be so difficult as to make this approach non-viable.
A way for achieving such accuracy is now considered using Figure 15 which shows some of the various patches for the picture. As already mentioned in connection with Figures 5 and 6, it is necessary to be able to synthesise five picture points from information contained within a single patch. Dependent on the angle of rotation selected, the diagonal line representing the synthesised line of information will not always be positioned such that it can use the patch information available to generate all 5 picture points, and thus would normally require two or three read cycles of the RAM for the synthesis of the points, which is clearly not available.This is illustrated in this example by patch A being capable of providing from its 24 picture points all the information required to synthesise the desired 5 picture points but patch B only being of use to synthesise two picture points, the remaining 3 having to be obtained from patch D.
If however patch B could be offset downwards by 2 lines as represented by patch B1 then it is clear that this patch can be used to synthesise all 5 picture points without having to operate more than one read cycle of the RAM. Similarly patch C1 shows the possibility of moving the patch effectively to the right to provide any necessary offset.
Figure 15 illustrates that it is possible in the present invention to achieve this offset by using the store configuration described but by incrementing by one the row and/or column addressing of the particular RAM to the right or below the normal boundary, the relevant 24 picture points can be found from a single read cycle.
Thus patch A can be considered to be located horizontally at address nx and vertically at address m, which address is provided by blocks 94 and 96 respectively of Figure 13. In practicethesetwo addresses are equivalent to the row and column address strobed within the RAM, and during a read cycle of the RAMs the single picture point from each of RAMs 30-53 will constitute the 24 picture points in the patch. With patch B it is apparent from its modified position (BI) that the first two lines of the patch are from address my and the last two lines are from address (my + 1). Nevertheless there are still 24 picture points in this patch.To allow read access from the RAMs of picture points from the two addresses the system of Figure 16 is used which under normal circumstances (without offset) will produce a patch x address andy address from blocks 94 and 96 of Figure 13 respectively and these pass via the multiplexer 120 to provide the normal row and column addresses which are strobed into the RAM in the usual manner as described above and in the aforementioned patent The row and column address will be the same for all 24 RAM blocks 30-53, although for simplification only one block 30 is shown. The row/column address passes to adder 122 which is controlled by the output from look up table 123. The LUT 123 is provided with 24 output lines one of each going to respective RAMs 30-53, and in practice each of the other RAMs 31-53 will have an adder associated with it. The output from LUT 123 will tell a particular adder (say adder 122) that it is required to add a nought or one to the RAM address (either row or column) received at that particular time and this can be simply achieved as a single output signal (high or low logic level). In this way individual addressing of each RAM is given without the necessity of actually addressing all the individual address lines as were thought initially to be necessary.
Whilst the system has been described generally as having one RAM block on each card the argument applies equally well to putting more than one block on each card as long as each has its associated address adder.
The LUT 123 receives its decision making information from the x address remainder from block 95 of Figure 13, and they address remainder from block 97 of that figure. Thus in the example shown where the patch was required to be in an identical position to its equivalent at the write side, at the start of the addressing calculation there would be no remainder from blocks 95 and 97, and no signal for adder 122 etc for that patch will be provided so no modification in the addressing is used. In the situation of Bl however at the start of the patch the divider block 95 would produce a remainder of zero and block 97 would produce a remainder of 2.The look up table 123 effectively produces the situation of adding 1 to the RAM addressing to any address in the row below the remainder (i.e. below 2 in this case) and adding a 1 to the RAM addressing to any address in the column below the remainder (in this case no remainder - so no addition). It is clear that such action will provide the 24 picture points desired.
The rotator block 92 of Figure 13 can be realised using the Figure 17 arrangement which takes the outputs from picture point counter 90 which is passed to multipliers 130 and 131 which also respectively receive values of cos 0 and sin 0. These can conveniently be provided from look up table 136. The value of 0 can be provided in the simplest case by known digital thumbwheel switches 137, or alternatively may use software especially if 0 is being continually updated.
The output from line counter 91 is received by multipliers 133 and 134 which also respectively receive the cos 0 and sin 0values. The picture point count multiplied by cos H is subtracted in subtractor 132 from the line count multiplied by sin 0. The picture point count multiplied by sin 0 is added to the line count multiplied by cos 0 in adder 135. The output from subtractor 132 provides the transformed picture point count and the adder output provides the transformed line count.
In practice the number of multipliers can be reduced by using the Figure 18 arrangement which incorporates switch 140 and latches 141 and 142. As the line count only changes once per line, the multiplication of the line count by cos 0 and sin 0 respectively can be carried out during line blanking by placing switch 140 in the appropriate position. This result is then held in latches 142 and 141 respectively for the entire line, and switch 140 is changed to pass the picture point count for multiplication incremented at picture point rate.
If the angle of rotation 0 is chosen to remain constant after setting, then the computation will provide similar results frame by frame. If the angle is updated each frame the resultant picture appears to rotate or spin.
If the point of rotation is to be moved this can be achieved by modifying the picture point counts and line counts respectively.
The system described so far above is suitable for a monochrome system. In the colour situation, the above system can be used to deal with luminance information. A further two stores are required to handle the two colour difference channels respectively. However because of the reduced bandwidth requirements for the chrominance channels, patches of dimensions 2 x 2 picture points are all that is strictly necessary.
Although the system has been described in terms of basic picture rotation involving constant angular change throughout the picture, the machine is capable of many additional distortions or effects involving angular changes that vary line by line or even picture point by picture point and these are all intended to fall within the term "angular displacement". Thus only parts of the picture could be subjected to displacement in this way. The effects possible include rotary wipes, spirals and circular folds and for example can be augmented by inserting offset constants in the various stages of the address transform.
It is also possible to accomplish conventional changes in size, shape and position in the store mechanism and interpolate in a similar manner to that described in the aforementioned patents.
Although the system described has used single field interpolation, by including a further frame store it would be possible to provide a modified system using interpolation from both fields of the frame.
Although the description has been generally directed to a system incorporating dynamic RAMs, even in a system designed to incorporate static RAMs (which operate at a faster speed), the requirement for accessing an area of picture (e.g. x 2 picture points) would be required if interpolation is to be effected. The area would have to be manipulated in a similar way to the above system to allow the window of picture points to be movable to select the desired 4 picture points used for interpolation at any one time.

Claims (22)

1. A processing system for effecting angular displacement of at least part of a television picture comprising: storage means for storing at least one video field subdivided into picture areas and containing a plurality of picture points, said storage means comprising a plurality of devices adapted to access all picture points within a designated area in a single read operation, modifying means for selectively changing the position of the accessed area relative to that written into the storage means, and processing means for synthesising picture points from information within the area accessed in dependence on the angular displacement required.
2: A system as claimed in claim 1, wherein said storage means includes a plurality of input latches each associated with a storage device and connected to a common input bus and wherein input multiplexing means are provided to input a sequence of picture points into at least some of the respective latches and input addressing means are provided to enter data therefrom into at least some of the storage devices during a single write operation.
3. A system as claimed in claim 1 or 2, wherein said storage means includes a plurality of output latches each associated with a storage device and wherein output addressing means are provided to exit data into said latches from all the storage devices during a single read operation.
4. A system as claimed in claim 3, wherein each of the output latches are connected to one of four highways such that four adjacent picture points within the selected area are available together.
5. A system as claimed in any one of claims 1 to 4, wherein each storage device comprises two sets of memory elements adapted to handle data from respective fields to prevent conflict between write and read operations.
6. A system as claimed in any one of claims 1 to 5, wherein the modifying means comprises a comparator for comparing the relative horizontal and vertical locations of the picture points within an area to determine whether an offset is required and wherein an adder is provided for selectively adding a zero or one to the binary address of the respective storage devices in dependence on the output from said comparator.
7. A system as claimed in any one of claims 1 to 6, wherein the processing means includes an interpolator for synthesising a new picture point from information on adjacent picture points.
8. A system as claimed in any one of claims 1 to 7, wherein calculator means are provided for determining the area selected and the picture point information accessed within'the selected area for use by the processing means, in dependence on the designated angular displacement.
9. A system as claimed in claim 8, wherein the calculator means includes an arithmetic device for providing the relative locations, picture point by picture point, of the synthesised picture points computed from the cosine and sine values of the selected displacement angle.
10. A system as claimed in claim 9, wherein means are provided for selecting the displacement angle and means are provided for converting this angle into its sine and cosine equivalents.
11. A system as claimed in claim 8, 9 or 10, wherein the calculator means includes a coefficient selector for controlling the relative proportions of the information used in the synthesis.
12. A system as claimed in any one of claims 8 to 11, wherein the calculator means includes a first calculator for determining the horizontal location of the selected area within the picture and a second calculator for determining the vertical location of the selected area within the picture.
13. A system as claimed in claim 12, wherein a third calculator is provided for determining the horizontal location of the picture point adjacent the points to be synthesised and a fourth calculator is provided for determining the vertical location of the picture points adjacent the point to be synthesised.
14. A system as claimed in any one of claims 8 to 13 wherein the arithmetic device comprises a first multiplier for receiving the picture point count corresponding to the normal orientation of the picture and the cosine value of the displacement angle respectively, a second multiplier for receiving the picture point count and the sine value of the displacement angle respectively, a third multiplier for receiving the line count corresponding to the normal orientation of the picture and the cosine value of the displacement angle respectively, a fourth multiplier for receiving the line count and the sine value of the displacement angle respectively, an adder for receiving the output from said second and third multipliers respectively, and a subtractor for receiving the output from said first and fourth subtractors respectively, the output from said subtractor corresponding to the transformed picture point count and the output from said adder corresponding to the transformed line count.
15. A system as claimed in claim 14, wherein the first, second, third and fourth multipliers are formed from a pair of common multipliers and wherein switching means are provided to allow the line count to be calculated during line blanking.
16. A method of effecting angular displacement of at least part of a television picture comprising: storing at least one video field subdivided into picture areas each containing a plurality of picture points; accessing all picture points within a designated area in a single read operation; selectively changing the position of the accessed area relative to that chosen for the storage step; and selectively synthesising picture points from information within the area accessed in dependence on the angular displacement required.
17. A method as claimed in claim 16, including the step of comparing the relative horizontal and vertical locations of the picture points within an area to determine whether an offset in the accessed area is required.
18. A method as claimed in claim 16 or 17, wherein the synthesising step includes interpolation of information on adjacent picture points.
19. A method as claimed in claim 16, 17 or 18, including the step of calculating the area selected and the picture point information accessed within the selected area for use by the processing means, in dependence on the designated angular displacement.
20. A method as claimed in claim 19, wherein the calculation step includes providing the relative locations, picture point by picture point, of the synthesised picture points computed from the cosine and sine values of the selected displacement angle.
21. A processing system for effecting angular displacement of at least part of a television picture substantially as described herein and with reference to the accompanying drawings.
22. A method of effecting angular displacement of at least part of a television picture substantially as described herein.
GB8108467A 1980-04-10 1981-03-18 Video picture processing Expired GB2073988B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB8108467A GB2073988B (en) 1980-04-10 1981-03-18 Video picture processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8011834 1980-04-10
GB8108467A GB2073988B (en) 1980-04-10 1981-03-18 Video picture processing

Publications (2)

Publication Number Publication Date
GB2073988A true GB2073988A (en) 1981-10-21
GB2073988B GB2073988B (en) 1984-09-26

Family

ID=26275122

Family Applications (1)

Application Number Title Priority Date Filing Date
GB8108467A Expired GB2073988B (en) 1980-04-10 1981-03-18 Video picture processing

Country Status (1)

Country Link
GB (1) GB2073988B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2523787A1 (en) * 1982-03-19 1983-09-23 Quantel Ltd METHOD AND DEVICE FOR VIDEO PROCESSING FOR IMAGE ROTATION
FR2532136A1 (en) * 1982-03-19 1984-02-24 Quantel Ltd Addressing device and method of supplying addresses for video systems.
GB2153621A (en) * 1984-01-20 1985-08-21 Dainippon Screen Mfg Image processor
DE3512278A1 (en) * 1984-04-25 1985-11-07 Quantel Ltd., Kenley, Surrey IMAGE SIGNAL PROCESSING DEVICE
EP0174700A1 (en) * 1984-09-14 1986-03-19 Philips Electronics Uk Limited Apparatus for processing video signals
GB2187006A (en) * 1986-02-25 1987-08-26 Sony Corp Random access memory apparatus
EP0260997A2 (en) * 1986-09-19 1988-03-23 Questech Limited Improvements in and relating to the processing of video image signals
EP0288672A2 (en) * 1987-03-30 1988-11-02 International Business Machines Corporation Method and device for image manipulation
EP0375057A2 (en) * 1988-12-23 1990-06-27 Philips Electronics Uk Limited A display apparatus, a method of storing an image and a storage device wherein an image has been stored
EP0655710A3 (en) * 1993-11-29 1995-10-11 Olympus Optical Co Image rotating and superimposing apparatus.

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3309846A1 (en) * 1982-03-19 1983-09-29 Quantel Ltd., Kenley, Surrey IMAGE ROTATING DEVICE
FR2532136A1 (en) * 1982-03-19 1984-02-24 Quantel Ltd Addressing device and method of supplying addresses for video systems.
FR2523787A1 (en) * 1982-03-19 1983-09-23 Quantel Ltd METHOD AND DEVICE FOR VIDEO PROCESSING FOR IMAGE ROTATION
GB2153621A (en) * 1984-01-20 1985-08-21 Dainippon Screen Mfg Image processor
DE3512278A1 (en) * 1984-04-25 1985-11-07 Quantel Ltd., Kenley, Surrey IMAGE SIGNAL PROCESSING DEVICE
DE3512278C2 (en) * 1984-04-25 1987-09-10 Quantel Ltd., Kenley, Surrey, Gb
DE3512278C3 (en) * 1984-04-25 1992-11-19 Quantel Ltd IMAGE SIGNAL PROCESSING DEVICE
EP0174700A1 (en) * 1984-09-14 1986-03-19 Philips Electronics Uk Limited Apparatus for processing video signals
GB2187006B (en) * 1986-02-25 1990-01-10 Sony Corp Random access memory apparatus
GB2187006A (en) * 1986-02-25 1987-08-26 Sony Corp Random access memory apparatus
EP0260997A2 (en) * 1986-09-19 1988-03-23 Questech Limited Improvements in and relating to the processing of video image signals
EP0260997A3 (en) * 1986-09-19 1991-01-09 Questech Limited Improvements in and relating to the processing of video image signals
EP0288672A3 (en) * 1987-03-30 1991-06-26 International Business Machines Corporation Method and device for image manipulation
EP0288672A2 (en) * 1987-03-30 1988-11-02 International Business Machines Corporation Method and device for image manipulation
EP0375057A2 (en) * 1988-12-23 1990-06-27 Philips Electronics Uk Limited A display apparatus, a method of storing an image and a storage device wherein an image has been stored
EP0375057A3 (en) * 1988-12-23 1991-07-03 Philips Electronics Uk Limited A display apparatus, a method of storing an image and a storage device wherein an image has been stored
EP0655710A3 (en) * 1993-11-29 1995-10-11 Olympus Optical Co Image rotating and superimposing apparatus.
US6636254B1 (en) 1993-11-29 2003-10-21 Olympus Optical Co., Ltd, Image processing apparatus for performing turn or mirror inversion on an input video signal and outputting different images simultaneously

Also Published As

Publication number Publication date
GB2073988B (en) 1984-09-26

Similar Documents

Publication Publication Date Title
US4437121A (en) Video picture processing apparatus and method
US4694407A (en) Fractal generation, as for video graphic displays
US4563703A (en) Video processing systems
US4460958A (en) Window-scanned memory
US4462024A (en) Memory scanning address generator
EP0264726B1 (en) Picture transformation memory
US4794566A (en) Random access memory apparatus
KR19990014285A (en) Storage devices and access methods
JPH0662312A (en) Video image mapping device
JPH0343647B2 (en)
JPH04504629A (en) scaler gate array
US4757384A (en) Video signal processing systems
US4811413A (en) System of reconfigurable pipelines of generalized neighborhood function morphic image processors
EP0162503B1 (en) Video signal processing arrangement
GB2073988A (en) Video picture processing
KR0122741B1 (en) Memory having parallel architecture
GB2220540A (en) Device for the digital processing of images to obtain special geometrical effects
US4339803A (en) Video frame store and real time processing system
KR19990023405A (en) Data preposition device and method
GB2119594A (en) Video processing systems
JPH02276383A (en) Method for accessing two-dimensional part of digital picture signal
GB2289818A (en) Programmable video transformation
EP0786738B1 (en) An image processing system and method
EP0069541A2 (en) Data processing arrangement
US5638310A (en) Pixel matrix filter

Legal Events

Date Code Title Description
732 Registration of transactions, instruments or events in the register (sect. 32/1977)
PE20 Patent expired after termination of 20 years

Effective date: 20010317