NL8302544A - Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image - Google Patents

Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image Download PDF

Info

Publication number
NL8302544A
NL8302544A NL8302544A NL8302544A NL8302544A NL 8302544 A NL8302544 A NL 8302544A NL 8302544 A NL8302544 A NL 8302544A NL 8302544 A NL8302544 A NL 8302544A NL 8302544 A NL8302544 A NL 8302544A
Authority
NL
Netherlands
Prior art keywords
grid
point
grid point
rotated
matrix
Prior art date
Application number
NL8302544A
Other languages
Dutch (nl)
Original Assignee
Oce Nederland Bv
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 Oce Nederland Bv filed Critical Oce Nederland Bv
Priority to NL8302544A priority Critical patent/NL8302544A/en
Publication of NL8302544A publication Critical patent/NL8302544A/en

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/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)
  • Digital Computer Display Output (AREA)

Abstract

An original image displayed on the screen is made up of lit and unlit pixels, each of which has a horizontal and vertical position in the raster matrix. A control circuit scans the raster sequentially, generating a '1' for each lit pixel and a '0' for each unlit one. These data are stored in a first memory addressed by a generator consisting of row and line counters. The control circuit calculates the co-ordinates of the corresp. pixels in the rotated image, and controls a generator which addresses a second memory. As the data in the first memory are clocked into the second memory in serial form, the second address generator selects the appropriate new pixel address for every bit of data from the old image.

Description

,· ' i, I

Ocë-Nederland B.V., te Ven!oOcë-Nederland B.V., in Ven! O

Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementenMethod for displaying a rotated image that is built up in a grid-like manner from individual picture elements

De uitvinding heeft betrekking op een werkwijze voor het geroteerd weergeven van een beeld, dat rastervormig is opgebouwd uit afzonderlijke beeldelementen van uniforme helderheid, waarbij aan elk beeldelement een-eenduidig een rasterpunt van een eerste raster is toegekend en waarbij 5 aan elk rasterpunt een helderheidswaarde is toegekend die de helderheid van het bijbehorende beeldelement voorstelt, bij welke werkwijze steeds voor een beeldelement de plaats wordt bepaald waarop een voorafgekozen punt uit dat beeldelement door de rotatiebewerking terecht komt en waarbij volgens een voorafgekozen criterium een rasterpunt wordt geselec-10 teerd uit de rasterpunten die deze zo bepaalde plaats omringen en waarbij aan het geselecteerde rasterpunt de helderheidswaarde wordt toegevoegd die de helderheid van het genoemde beeldelement voorstelt.The invention relates to a method for displaying a rotated image, which is constructed in a grid-like manner from separate picture elements of uniform brightness, wherein each picture element is uniquely assigned a frame point of a first frame and wherein each frame point has a brightness value which represents the brightness of the associated picture element, in which method the location for a picture element is always determined at which a preselected point from that picture element ends up by the rotation operation and wherein, according to a preselected criterion, a frame point is selected from the frame points which surround this so determined location and add to the selected grid point the brightness value representing the brightness of said pixel.

Een dergelijke werkwijze wordt beschreven op bladzijdai 219-222 van het tijdschrift "DISPLAYS" dat is gepubliceerd in October 1982.Such a method is described on page 219-222 of the magazine "DISPLAYS" published in October 1982.

15 De werkwijze die beschreven wordt in het genoemde tijdschrift heeft het nadeel dat een aantal rasterpunten,die binnen de grenzen van het geroteerde beeld liggen,niet wordt geselecteerd. Dientengevolge worden aan deze rasterpunten geen helderheidswaarden toegekend. Bij het weergeven hebben beeldelementen die bij de niet-geselecteerde rasterpunten behoren een 20 afwijkende helderheid t.o.v. de omringende beeldelementen. De beeldelementen met de afwijkende helderheid vormen tesamen een storend regelmatig patroon dat zichtbaar is binnen de grenzen van het geroteerde beeld.The method described in said magazine has the drawback that a number of raster points which are within the boundaries of the rotated image are not selected. As a result, no brightness values are assigned to these grid points. When displaying, picture elements associated with the non-selected grid points have a different brightness from the surrounding picture elements. The picture elements with the deviating brightness together form a disturbing regular pattern that is visible within the boundaries of the rotated image.

De uitvinding stelt zich ten doel een werkwijze te verschaffen waarin het bovengenoemde nadeel wordt vermeden.The object of the invention is to provide a method in which the above-mentioned drawback is avoided.

25 Dit doel wordt volgens de uitvinding bereikt doordat een aantal rasterpunten van het eerste raster wordt uitgezocht, doordat aan elk uitgezócht rasterpunt op een voorafbepaalde wijze een fictief rasterpunt wordt toegekend, welk fictief rasterpunt niet samenvalt met het rasterpunt van een eerste raster, doordat voor elk fictief rasterpunt een helderheids-30 waarde wordt bepaald die een, per fictief rasterpunt gewogen, gemiddelde is van de helderheidswaarden die zijn toegekend aan de rasterpunten van het eerste raster, doordat voor elk fictief rasterpunt de plaats wordt bepaald waarop het door de rotatiebewerking terecht komt, doordat, telkens op dezelfde wijze, in de nabijheid van elke zo bepaalde plaats een 35 rasterpunt van het eerste raster wordt uitgekozen, doordat aan elk uit-According to the invention, this object is achieved in that a number of grid points of the first grid are selected, because each selected grid point is assigned a fictitious grid point in a predetermined manner, which fictitious grid point does not coincide with the grid point of a first grid, because for each fictitious grid point, a brightness-30 value is determined, which is an average, per fictional grid point, of the brightness values assigned to the grid points of the first grid, by determining for each fictional grid point the location where it ends up by the rotation operation, in that, in the same manner, in the vicinity of each location thus determined, a grid point of the first grid is selected, because each

Ja 8302544 -2- f gekozen rasterpunt de helderheidswaarde wordt toegekend die voor het bijbehorende fictieve rasterpunt is bepaald, doordat in een reeks codes voor elk geselecteerd en/of uitgekozen rasterpunt dat rasterpunt alsmede de daaraan toegekende helderheidswaarden dan wel één willekeurige 5 van de daaraan toegekende helderheidswaarden worden vastgelegd, en doordat deze reeks codes aan een rasterafdrukeenheid wordt toegevoerd, waarbij op de door de rasterpunten vastgestelde plaatsen beeldelementen worden gevormd van uniforme helderheid, welke helderheid overeenkomt met de helderheidswaarde die voor het betreffende rasterpunt in de reeks is 10 vastgelegd.Yes 8302544 -2- f selected grid point, the brightness value is assigned which is determined for the associated fictitious grid point, because in a series of codes for each selected and / or selected grid point that grid point as well as the assigned brightness values or any 5 of the assigned to it brightness values are recorded, and in that this series of codes is applied to a raster printer, where pixels of uniform brightness are formed at the locations determined by the raster points, said brightness corresponding to the brightness value recorded for the respective raster point in the series.

Hierdoor wordt bereikt dat de ten onrechte niet-geselecteerde rasterpunten alsnog worden uitgekozen en dat aan deze uitgekozen rasterpunten een helderheidswaarde wordt toegekend die bij benadering gelijk is aan de helderheidswaarde die aan de omringende rasterpunten is toegekend. In het 15 geroteerde beeld zullen dan geen regelmatige patronen meer zichtbaar zijn. De uitvinding zal nader worden toegelicht onder verwijzing naar de bijgaande Figuren, waarbij:This ensures that the wrongly selected grid points are still selected and that these selected grid points are assigned a brightness value which is approximately equal to the brightness value assigned to the surrounding grid points. Regular patterns will then no longer be visible in the rotated image. The invention will be further explained with reference to the accompanying Figures, in which:

Fig. 1 een beeld en een matrix, waardoor dit beeld kan worden voorgesteld, voorstelt, 20 Fig. 2 een geroteerd beeld en de matrix, waardoor dit geroteerde beeld kan worden voorgesteld, voorstelt,Fig. 1 represents an image and a matrix by which this image can be represented, FIG. 2 represents a rotated image and the matrix through which this rotated image can be represented,

Fig. 3 een gedeelte van het raster voorstelt,Fig. 3 represents part of the grid,

Fig. 4 het raster en het fictieve raster voorstelt,Fig. 4 represents the grid and the fictional grid,

Fig. 5 een gedeelte van het raster voorstelt, 25 Fig. 6 de plaatsen aangeeft, waar een aantal punten die samenvallen met de rasterpunten na rotatie terechtkomen,Fig. 5 represents a part of the grid, FIG. 6 indicates the places where a number of points that coincide with the grid points end up after rotation,

Fig. 7 een schematische voorstelling is van een schakeling waarmee de werkwijze volgens de uitvinding kan worden uitgévoerd,Fig. 7 is a schematic representation of a circuit with which the method according to the invention can be carried out,

Fig. 8 een stroomdiagram voorstelt waarmee de stappen worden aangegeven 30 waaruit deze werkwijze volgens de uitvinding bestaat en waarmee de volgorde wordt aangegeven waarin deze stappen moeten worden uitgevoerd,Fig. 8 represents a flow chart indicating the steps that make up this method of the invention and indicating the order in which these steps are to be performed,

Fig. 9 een gunstige volgorde aangeeft, waarin de elementen van matrix A worden verwerkt.Fig. 9 shows a favorable order in which the elements of matrix A are processed.

35 Het beeld 1, dat is weergegeven in Fig. IA bestaat uit een aantal beeldelementen 3, die zijn verspreid over een aantal rasterpunten 4. Rasterpunten 4 vormen tesamen een raster 7. Beeld 1 kan worden voorgesteld door een matrix. De rij en kolom indices (m resp. n) van een element a„,n van 8302544 « «The image 1 shown in FIG. 1A consists of a number of picture elements 3, which are spread over a number of grid points 4. Grid points 4 together form a grid 7. Image 1 can be represented by a matrix. The row and column indices (m or n) of an element a „, n of 8302544« «

* *i J* * i J

-3- een dergelijke matrix geven een rasterpunt aan en de waarde van het overeenkomstige matrixelement geeft de grijswaarde aan van het beeldelement op dat rasterpunt. Een matrix A, waardoor beeld 1 wordt voorgesteld is weergegeven in Fig. 1B. Een zwart beeldelement wordt aangegeven door een 5 'T' en een wit beeldelement wordt aangegeven door een "0". Matrixelemen-ten waardoor geen beeldelementen worden aangegeven zijn aangeduid met eenSuch a matrix indicates a grid point and the value of the corresponding matrix element indicates the gray value of the picture element at that grid point. A matrix A, by which image 1 is represented, is shown in fig. 1B. A black pixel is indicated by a 5 "T" and a white pixel is indicated by a "0". Matrix elements through which no picture elements are indicated are indicated with a

De matrices, waardoor een beeld wordt voorgesteld, zijn bij uitstek geschikt om in een digitaal geheugen opgeslagen te worden. Dit beeld kan 10 dan op een later tijdstip zichtbaar gemaakt worden met behulp van een beeldbuis of printer. Soms is het gewenst om het beeld in een geroteerde stand weer te geven. In dat geval moet een nieuwe matrix, waardoor dit geroteerde beeld wordt voorgesteld, worden samengesteld.The matrices through which an image is presented are ideally suited to be stored in a digital memory. This image can then be made visible at a later time using a picture tube or printer. Sometimes it is desirable to display the image in a rotated position. In that case, a new matrix, representing this rotated image, must be composed.

Ten einde deze nieuwe matrix te verkrijgen worden meestal voor elk matrix-15 element van matrix A de volgende stappen uitgevoerd. Een punt dat samenvalt met het rasterpunt dat overeenkomt met het relevente element van matrix A wordt geroteerd over de vereiste rotatiehoek (in het vervolg zullen deze geroteerde punten "geroteerde punten" genoemd worden). De posities van dit geroteerde punt worden bepaald. Het rasterpunt, dat het 20 dichtst gelegen is bij deze positie, wordt geselecteerd. De waarde van het relevante element van matrix A wordt toegekend aan dat element van de nieuwe matrix dat overeenkomt met het geselecteerde rasterpunt.In order to obtain this new matrix, the following steps are usually performed for each matrix-15 element of matrix A. A point that coincides with the grid point corresponding to the relevant element of matrix A is rotated by the required rotation angle (hereinafter these rotated points will be called "rotated points"). The positions of this rotated point are determined. The grid point closest to this position is selected. The value of the relevant element of matrix A is assigned to that element of the new matrix corresponding to the selected grid point.

Fig. 2B geeft een matrix B weer die op deze wijze is verkregen. Fig.Fig. 2B depicts a matrix B obtained in this manner. Fig.

2A geeft het beeld weer dat door matrix B wordt voorgesteld. Zoals in 25 Fig. 2B kan worden gezien is de bovenbeschreven werkwijze nadelig, omdat aan een aantal matrixelementen geen waarden worden toegekend,ofschoon deze matrixelementen wel beeldelementen binnen het geroteerde beeld aangeven. Dit resulteert in gaten 5 in het geroteerde beeld. De oorzaak van dit verschijnsel zal worden uitgelegd aan de hand van Fig. 3.2A shows the image represented by matrix B. As shown in FIG. 2B, the above-described method is disadvantageous because a number of matrix elements are not assigned values, although these matrix elements do indicate pixels within the rotated image. This results in holes 5 in the rotated image. The cause of this phenomenon will be explained with reference to Fig. 3.

30 In Fig. 3 is een gedeelte van raster 7 weergegeven. De weergegeven rasterpunten zijn aangeduid met de cijfers 80,...,88. De cijfers 90,...,93 duiden vier geroteerde punten aan die behoren bij vier naburige elementen 'tan* ajn+i n> 'tan+l en %+l n+1 van matrix A· Een gebied 89 wordt toegekend aan elk rasterpunt. Een rasterpunt wordt geselecteerd, als tenminste 35 een geroteerd punt binnen de grenzen ligt van het gebied,dat aan het rasterpunt is toegekend. Ofschoon rasterpunt 84 binnen de grenzen van het geroteerde beeld ligt, wordt het niet geselecteerd, omdat geen van de geroteerde punten 90,...,93 binnen de grenzen van gebied 94, dat aan het 8302544 t. · -4- t rasterpunt is toegekend, ligt.In FIG. 3, part of raster 7 is shown. The displayed grid points are indicated by the numbers 80, ..., 88. The digits 90, ..., 93 designate four rotated points associated with four neighboring elements 'tan * ajn + in>' tan + l and% + l n + 1 of matrix A · An area 89 is assigned to each grid point . A grid point is selected if at least 35 a rotated point is within the boundaries of the area assigned to the grid point. Although raster point 84 is within the boundaries of the rotated image, it is not selected because none of the rotated points 90, ..., 93 are within the boundaries of region 94, which is at 8302544 t. · -4- t grid point has been assigned.

Een werkwijze, waarmee een beeld kan worden geroteerd, en waarbij geen gaten ontstaan zal worden besproken met behulp van Fig. 4 en Fig. 5.A method by which an image can be rotated and no holes are created will be discussed with the aid of Figs. 4 and FIG. 5.

Bij deze werkwijze wordt gebruik gemaakt van een fictief raster 27.This method uses a fictitious grid 27.

5 Fig. 4 geeft de fictieve rasterpunten 26 van dat fictieve raster 27 en de rasterpunten 3 van raster 7 weer. Raster 27 is ten opzichte van raster 7 verschoven. De rij- en kolomindices van een element van matrix A geven een fictief rasterpunt 26 aan, en wel op dezelfde wijze als zij een rasterpunt 3 van raster 7 aangeven. Teneinde de nieuwe matrix, waar-10 door het geroteerde beeld wordt vertegenwoordigd te verkrijgen, worden de volgende stappen voor elk element van matrix A uitgevoerd:FIG. 4 represents the fictional grid points 26 of that fictional grid 27 and the grid points 3 of grid 7. Grid 27 is offset from grid 7. The row and column indices of an element of matrix A indicate a fictitious grid point 26 in the same way as they indicate a grid point 3 of grid 7. In order to obtain the new matrix, where-10 is represented by the rotated image, the following steps are performed for each element of matrix A:

De positie van een geroteerd punt dat overeenkomt met het relevante element van matrix A wordt bepaald. Het gebied, waarin dit geroteerde punt terecht komt, wordt bepaald. Het rasterpunt, waaraan dit gebied is 15 toegekend, wordt geselecteerd. De waarde van het relevante element van matrix A wordt toegekend aan dat element van de nieuwe matrix, dat overeenkomt met het geselecteerde rasterpunt. Vervolgens wordt een punt, dat samenvalt met het fictieve rasterpunt, dat overeenkomt met het relevante element van matrix A, geroteerd over de vereiste rotatiehoek (in het ver-20 volg worden deze punten "geroteerde fictieve punten" genoemd). De positie van het geroteerde fictieve punt wordt bepaald. Het gebied waarin het geroteerde punt terecht komt wordt bepaald. Het rasterpunt waaraan dit bepaalde gebied is toegekend, wordt geselecteerd. De waarde van het relevante element van matrix A wordt toegekend aan dat element van de nieuwe ma-25 trix, dat overeenkomt met het geselecteerde rasterpunt.The position of a rotated point corresponding to the relevant element of matrix A is determined. The area in which this rotated point ends will be determined. The grid point to which this area is assigned is selected. The value of the relevant element of matrix A is assigned to that element of the new matrix that corresponds to the selected grid point. Then, a point coinciding with the fictional grid point corresponding to the relevant element of matrix A is rotated by the required angle of rotation (these points are hereinafter referred to as "rotated fictional points"). The position of the rotated fictional point is determined. The area in which the rotated point ends up is determined. The grid point to which this particular area is assigned is selected. The value of the relevant element of matrix A is assigned to that element of the new matrix, which corresponds to the selected grid point.

Zoals hierboven is beschreven wordt een rasterpunt geselecteerd als tenminste een van de geroteerde punten of de geroteerde fictieve punten binnen de grenzen van het gebied dat aan dat rasterpunt is toegekend ligt. Het gevolg van dit selectiecriterium zal worden besproken met behulp van 30 Fig. 5.As described above, a grid point is selected as at least one of the rotated points or the rotated fictional points within the boundaries of the area assigned to that grid point. The consequence of this selection criterion will be discussed with the aid of Fig. 5.

Fig. 5 geeft een gedeelte van raster 7 weer. De rasterpunten worden aangeduid door de cijfers 31,...,39. Cijfers 40,...,43 duiden de vier geroteerde punten aan die behoren bij vier naburige elementen amn, am+ln» amn+l en '‘m+l n+1 van matr^x A· Het cijfer 44 duidt de positie van 35 een geroteerd fictief punt aan. De gebieden die zijn toegekend aan de rasterpunten 31,...,39 worden aangeduid met het cijfer 51. Gebieden die geen geroteerde rasterpunten binnen hun grenzen hebben (bijvoorbeeld ge- 8302544 * * * -5- bied 54) hebben geroteerde fictieve rasterpunten binnen hun grenzen en dientengevolge worden deze gebieden alsnog geselecteerd en zal het geroteerde beeld dus geen gaten binnen haar grenzen hebben.Fig. 5 represents a portion of raster 7. The grid points are indicated by the numbers 31, ..., 39. Numbers 40, ..., 43 indicate the four rotated points corresponding to four neighboring elements amn, am + ln »amn + l and '' m + l n + 1 of matr ^ x A · The number 44 indicates the position of 35 a rotated fictional point to. The areas assigned to the grid points 31, ..., 39 are indicated by the number 51. Areas that do not have rotated grid points within their boundaries (for example, ge 8302544 * * * -5- area 54) have rotated fictional grid points within their boundaries and consequently these regions are still selected and the rotated image will thus have no gaps within its boundaries.

De werkwijze voor het bepalen van de coördinaten van de geroteerde fictie-5 ve punten zal worden besproken aan de hand van Fig. 6.The method of determining the coordinates of the rotated fictional points will be discussed with reference to FIG. 6.

Fig. 6 geeft rasterpunten P, Q en R van raster 7 weer. De letter F duidt een fictief rasterpunt aan. De letters P', Q', R' en F' duiden de posities aan die zijn verkregen door rotatie van de punten die samenvallen met de rasterpunten P, Q en R en het fictieve rasterpunt F. De rotatie 10 is uitgevoerd rond 0 en de rotatiehoek is gelijk aan Θ.Fig. 6 represents grid points P, Q and R of grid 7. The letter F indicates a fictional grid point. The letters P ', Q', R 'and F' denote the positions obtained by rotation of the points coinciding with the grid points P, Q and R and the fictitious grid point F. The rotation 10 is performed around 0 and the rotation angle is equal to Θ.

De coördinaten van P, Q, R, F en 0 worden aangegeven door (Xp, Yp), (Xp + Δ X,Yp), (Xp,Yp + ΔΥ)* (Xp + |ΔΧ, Υρ + §ΔΥ), (X0, Y0) waarbij ΔΧ de afstand is tussen twee naburige rasterpunten in dezelfde rijen en δΥ de afstand is tussen twee naburige rasterpunten in dezelfe kolom (in het ver-15 volg wordt ΔΧ de horizontale rasterafstand en ΔΥ de vertikale rasteraf-stand genoemd). De coördinaten (Χρ', Yp') van een geroteerd punt P'kunnen worden bepaald met behulp van vergelijking (1).The coordinates of P, Q, R, F and 0 are indicated by (Xp, Yp), (Xp + Δ X, Yp), (Xp, Yp + ΔΥ) * (Xp + | ΔΧ, Υρ + §ΔΥ), (X0, Y0) where ΔΧ is the distance between two neighboring grid points in the same rows and δΥ is the distance between two neighboring grid points in the same column (in the following, ΔΧ is called the horizontal grid distance and ΔΥ is the vertical grid distance) . The coordinates (Χρ ', Yp') of a rotated point P'can be determined using equation (1).

f Xp'j __ /cos Θ -Slne\//xp\ /χ0\ /χ01 \V/ [sine cos0/\\.Yp/ \Y°// lY°/ 20 Het berekenen van de coördinaten van elk geroteerd punt m.b.v. vergelijking (1) is bewerkelijk. Een minder bewerkelijke methode voor het bepalen van de coördinaten van de geroteerde (fictieve) punten zal hierna worden beschreven.f Xp'j __ / cos Θ -Slne \ // xp \ / χ0 \ / χ01 \ V / [sine cos0 / \\. Yp / \ Y ° // lY ° / 20 Calculating the coordinates of each rotated point using equation (1) is laborious. A less laborious method for determining the coordinates of the rotated (fictional) points will be described below.

Indien de coördinaten van het geroteerde punt, dat behoort bij het ele-25 ment in de eerste rij en eerste kolom van matrix A, bekend zijn, kunnen de coördinaten van alle geroteerde punten die bij elementen van de eerste rij (of eerste kolom) behoren achtereenvolgend als volgt worden bepaald.If the coordinates of the rotated point associated with the element in the first row and first column of matrix A are known, the coordinates of all rotated points associated with elements of the first row (or first column) can be are determined sequentially as follows.

Bij de coördinaten van dat rasterpunt dat behoort bij het voorafgaande element van de eerste rij of eerste kolom van matrix A worden dan waar-30 den opgeteld, die de afstand tussen twee opeenvolgende geroteerde punten uitdrukken. Deze waarden zijn constant bij een gegeven rotatiehoek. Daarna kunnen de coördinaten van de andere geroteerde punten op dezelfde wijze bepaald worden. De coördinaten van een geroteerd fictief punt kunnen worden bepaald door het optellen van constante waarden bij de coördi-35 naten van het geroteerde rasterpunt dat behoort bij hetzelfde element van matrix A als waartoe het geroteerde fictieve punt behoort. Deze constante waarden kunnen worden bepaald m.b.v. vergelijking (1). De constante «. _ .Ji 8302544 « * -6- waarden zijn δΧ cos Θ en ΔΧ sin Θ voor de bepaling van de X- en de Y-coördinaat van het geroteerde punt dat behoort tot dezelfde rij. De constante waarden zijn -ΔΥ sin Θ en ΔΥ cos Θ voor de bepaling van de X- en de Y-coördinaat van het geroteerde punt dat behoort bij dezelfde kolom.Values which express the distance between two successive rotated points are then added to the coordinates of that grid point associated with the preceding element of the first row or first column of matrix A. These values are constant at a given angle of rotation. Then the coordinates of the other rotated points can be determined in the same way. The coordinates of a rotated fictional point can be determined by adding constant values to the coordinates of the rotated grid point associated with the same element of matrix A as the rotated fictional point belongs to. These constant values can be determined using equation (1). The constant «. _ .Ji 8302544 «* -6- values are δΧ cos Θ and ΔΧ sin Θ for determining the X and Y coordinates of the rotated point belonging to the same row. The constant values are -ΔΥ sin Θ and ΔΥ cos Θ for determining the X and Y coordinates of the rotated point associated with the same column.

5 In het geval dat het fictieve rasterpunt 27 over een halve horizontale rasterafstand en over een halve verticale rasterafstand is verschoven zijn de constante waarden voor de bepaling van de coördinaten van het fictieve geroteerde punt gelijk aan |(δΧ cos θ - δΥ sin Θ) en |(δΧ sin Θ + ΔΥ cos Θ). Het coördinatenstelsel iszodarrcj gekozen dat de gehele waarden 10 van de coördinaten de rasterpunten aangeven. In dat geval kunnen de gehele waarden van de coördinaten van de geroteerde (fictieve) punten gebruikt worden voor het selecteren van de rasterpunten. Deze gehele waarden geven de rasterpunten die geselecteerd moeten worden aan en deze gehele waarden worden gebruikt voor het aangeven van de rij en de kolom, waartoe dat 15 element van de nieuwe matrix behoort, dat overeenkomt met het geselecteerde rasterpunt.5 In case the fictitious grid point 27 has been shifted by half a horizontal grid distance and half a vertical grid distance, the constant values for determining the coordinates of the fictional rotated point are equal to | (δΧ cos θ - δΥ sin Θ) and | (δΧ sin Θ + ΔΥ cos Θ). The coordinate system is chosen so that the integer values of the coordinates indicate the grid points. In that case, the integer values of the coordinates of the rotated (fictional) points can be used to select the grid points. These integer values indicate the grid points to be selected and these integer values are used to indicate the row and column to which that element of the new matrix belongs corresponding to the selected grid point.

Een schakeling voor het roteren is weergegeven in Fig. 7.A circuit for rotating is shown in Fig. 7.

Een eerste geheugen is aangeduid door cijfer 100. Geheugen 100 wordt gebruikt voor de opslag van de matrix A, waardoor een beeld wordt vertegen-20 woordigd. De adresingangen 170 van geheugen 100 zijn verbonden met de adresbuffer/generator 115 via adresbus 108. Het adres van een geheugen-element van geheugen 100 is samengesteld uit twee delen. Een eerste deel, dat wordt geleverd door een rijteil er 119, geeft een rij van matrix A aan. Het tweede deel, dat wordt geleverd door een kolomteller 118 geeft 25 een kolom van matrix A aan. De inhoud van het geheugenelement dat op deze wijze wordt geadresseerd vertegenwoordigt de waarde van het matrixelement dat wordt aangegeven door dit adres. De data-uitgang 101 van geheugen 100 is verbonden met de data-ingang 103 van een tweede geheugen 102. Geheugen 102 wordt gebruikt voor opslag van de nieuwe matrix, waardoor een 30 geroteerde versie van een beeld wordt vertegenwoordigd. De adresingangen 171 van geheugen 102 zijn verbonden met adresbuffer 116 via adresbus 109. Het adres van een geheugenelement van geheugen 102 is samengesteld uit twee delen. Een eerste deel dat is opgeslagen in register 150 geeft een rij van de nieuwe matrix aan. Het tweede deel dat is opgeslagen in re-35 gister 151 geeft een kolom van de nieuwe matrix aan. De inhoud van het geheugenelement, dat op deze wijze is geadresseerd, vertegenwoordigt de waarde van het matrixelement dat wordt aangegeven door het adres*.A first memory is indicated by numeral 100. Memory 100 is used to store the matrix A, thereby representing an image. The address inputs 170 of memory 100 are connected to the address buffer / generator 115 via address bus 108. The address of a memory element of memory 100 is composed of two parts. A first part, which is provided by a row row 119, indicates a row of matrix A. The second part, which is provided by a column counter 118, indicates a column of matrix A. The contents of the memory element addressed in this manner represent the value of the matrix element indicated by this address. The data output 101 of memory 100 is connected to the data input 103 of a second memory 102. Memory 102 is used to store the new matrix, thereby representing a rotated version of an image. The address inputs 171 of memory 102 are connected to address buffer 116 via address bus 109. The address of a memory element of memory 102 is composed of two parts. A first part stored in register 150 indicates a row of the new matrix. The second part stored in re-yesterday 151 indicates a column of the new matrix. The contents of the memory element addressed in this manner represent the value of the matrix element indicated by the address *.

Een besturingsschakeling 104 is verbonden met de besturingsingangen van 8302544 • > -7- de geheugens 100 en 102 via de besturingsbussen 105 respectievelijk 106.A control circuit 104 is connected to the control inputs of the memories 100 and 102 through the control buses 105 and 106, respectively.

De klokingangen 120 respectievelijk 121 van de tellers 118 respectievelijk 119 zijn verbonden met de besturingsschakeling 104 via signaallijnen 114 respectievelijk 111. De carry-uitgangen van tellers 118 en 119 zijn ver-5 bonden met de besturingsschakeling 104 via respectievelijk de signaallijnen 113 en 112. Het signaal op de carry-uitgang van rijteller 119 duidt aan of het matrixelement, dat wordt aangegeven door het adres in buffer/ generator 115, wel of niet tot de laatste rij van matrix A behoort. Het signaal aan de carry-uitgang van kolomteller 118 duidt aan of dat matrix-10 element wel of niet tot de laatste kolom behoort.The clock inputs 120 and 121 of the counters 118 and 119, respectively, are connected to the control circuit 104 via signal lines 114 and 111, respectively. The carry outputs of counters 118 and 119 are connected to the control circuit 104, via the signal lines 113 and 112, respectively. signal on the carry output of row counter 119 indicates whether or not the matrix element, indicated by the address in buffer / generator 115, belongs to the last row of matrix A. The signal at the carry output of column counter 118 indicates whether or not that matrix-10 element belongs to the last column.

De reset-ingangen van de tellers 118 en 119 zijn verbonden met de besturingsschakeling 104 via respectievelijk de signaallijnen 161 en 162. Een adresgenerator 117 is verbonden met de besturingsschakeling 104 via een bus 110.The reset inputs of counters 118 and 119 are connected to the control circuit 104 through signal lines 161 and 162, respectively. An address generator 117 is connected to the control circuit 104 through a bus 110.

15 De adresgenerator 117 bevat een opteller 130, een aantal registers 131,...,140 en een multiplexer 146.The address generator 117 includes an adder 130, a number of registers 131, ..., 140 and a multiplexer 146.

Registers 131,...,140 worden gebruikt voor opslag van de constante waarden die nodig zijn voor de bepaling van de waarden van de coördinaten van de geroteerde (fictieve) punten. Registers 137 en 138 worden gebruikt 20 voor opslag van de waarden van de X-coördinaat en de Y-coördinaat van het geroteerde punt dat behoort bij het eerste matrixelement van de rij, die wordt aangeduid door de inhoud van rijteller 119 (in het vervolg wordt deze rij de rij in bewerking genoemd). Registers 139 en 140 worden gebruikt voor de opslag van de waarden van de X-coördinaat en de Y-coÖrdi-25 naat van het geroteerde punt dat behoort bij het matrixelement wat wordt aangeduid door het adres in adresgenerator/buffer 115 (in het vervolg wordt dit matrixelement het matrixelement in bewerking en wordt dit geroteerde punt het geroteerde punt in bewerking genoemd). De uitgangen van registers 131,...,140 zijn verbonden met een eerste ingang 141 van 30 opteller 130 via bus 142. De uitgangen van register 137,...,140 zijn verbonden met de tweede ingang 143 van opteller 130 via bus 144. De uitgang 145 van opteller 130 is via bus 148 verbonden met de eerste ingang 147 van multiplexer 146. Een tweede ingang 149 van multiplexer 146 is verbonden met besturingsschakeling 104 via bus 110. De uitgang van multi-35 plexer 146 is verbonden via bus 160 met de ingang van registers 131,..., 140 en met de registers 150 en 151 van adresbuffer 116.Registers 131, ..., 140 are used to store the constant values necessary for determining the values of the coordinates of the rotated (fictional) points. Registers 137 and 138 are used to store the X coordinate and Y coordinate values of the rotated point associated with the first array element of the row, which is indicated by the contents of row counter 119 (hereinafter, this row is called the row in progress). Registers 139 and 140 are used to store the values of the X coordinate and the Y coordinate of the rotated point associated with the matrix element indicated by the address in address generator / buffer 115 (hereinafter referred to as this matrix element is the matrix element in process and this rotated point is called the rotated point in process). The outputs of registers 131, ..., 140 are connected to a first input 141 of adder 130 via bus 142. The outputs of register 137, ..., 140 are connected to second input 143 of adder 130 via bus 144 The output 145 of adder 130 is connected via bus 148 to the first input 147 of multiplexer 146. A second input 149 of multiplexer 146 is connected to control circuit 104 via bus 110. The output of multi-35 plexer 146 is connected via bus 160 with the input of registers 131, ..., 140 and with the registers 150 and 151 of address buffer 116.

De inhoud van een van de registers 137,...,140, kan worden opgeteld bij de inhoud van een van de registers 131,...,136 met behulp van opteller 130.The contents of one of the registers 137, ..., 140 can be added to the contents of one of the registers 131, ..., 136 using adder 130.

8302544 -8-8302544 -8-

Het resultaat wordt in een van de registers 137,...,140, 150 of 151 opgeslagen. Deze processen worden bestuurd door besturingsschakeling 104 (de besturingssignal en zijn niet weergegeven). Daarbij selecteert de besturingsschakeling de uitgang van een van de registers 131,...,136 en de 5 uitgang van een van de registers 137,...,140. Als gevolg daarvan worden de gegevens op de geselecteerde uitgangen toegevoerd aan de ingangen 141 en 143 van de optel schakeling 130 via de bussen 142 en 144. De gegevens op de uitgang 145 van optel schakeling 130 vertegenwoordigen de som van de waarden die worden voorgesteld door de toegevoerde gegevens. Daarna 10 selecteert de besturingsschakeling 104 de eerste ingang 147 van multiplexer 146. Dientengevolge worden de gegevens aan de uitgang 145 van optel schakeling 130 toegevoerd aan bus 160 via bus 148 en multiplexer 146. Vervolgens selecteert besturingsschakeling 104 de ingang van een van de registers 137,...,140, 150 of 151 en dientengevolge worden de ge-15 gevensvia bus 160 geladen in het register waarvan de ingang is geselecteerd.The result is stored in one of registers 137, ..., 140, 150 or 151. These processes are controlled by control circuit 104 (the control signal and are not shown). The control circuit thereby selects the output of one of the registers 131, ..., 136 and the output of one of the registers 137, ..., 140. As a result, the data on the selected outputs is applied to the inputs 141 and 143 of the adder circuit 130 through the buses 142 and 144. The data on the output 145 of the adder circuit 130 represents the sum of the values represented by the data supplied. Thereafter, the control circuit 104 selects the first input 147 of multiplexer 146. As a result, the data at the output 145 of adder circuit 130 is supplied to bus 160 through bus 148 and multiplexer 146. Then, control circuit 104 selects the input from one of registers 137, ..., 140, 150 or 151 and as a result, the data is loaded via bus 160 into the register whose input is selected.

Het roteren van beelden met behulp van de schakeling die is weergegeven in Fig. 7 zal worden besproken aan de hand van stroomdiagram dat is weergegeven in Fig. 8.Rotating images using the circuit shown in Fig. 7 will be discussed with reference to flow chart shown in FIG. 8.

20 In het stroomdiagram zijn een aantal stappen te onderscheiden:A number of steps can be distinguished in the flowchart:

Stap 1: initiatie.Step 1: initiation.

Tijdens deze stap worden de kolomteller 118 en de rijteller 119 op nul gesteld. Het adres, dat door de tellers 118 en 119 geleverd wordt, geeft nu het element aan dat behoort tot de eerste 25 rij en de eerste kolom van matrix A. De constante waarden die nodig zijn voor de bepaling van de coördinaten van geroteerde (fictieve) punten worden berekend in en door de besturingsschakeling 104. Deze waarden worden in registers 131.....136 geladen.During this step, the column counter 118 and the row counter 119 are reset. The address, supplied by counters 118 and 119, now indicates the element belonging to the first 25 row and the first column of matrix A. The constant values required for the determination of the coordinates of rotated (fictional) points are calculated in and by the control circuit 104. These values are loaded into registers 131 ..... 136.

met behulp van besturingsschakelaar 104.using control switch 104.

30 De gegevens, die deze waarden vertegenwoordigen worden aan deze registers aangeboden via de bussen 110 en 160 en multiplexer 146. Behalve deze constante waarden berekent de besturingsschakeling 104 de waarden van de coördinaten (Xb, Yb) van het geroteerde punt in bewerking. De waarden van (Xb, Yb) worden geladen 35 in de registers 137,...,140 met behulp van besturingsschakeling 104. Deze gegevens, die deze waarden vertegenwoordigen worden via bussen 110 en 160 en multiplexer 146 aan deze registers aangeboden. De gehele waarden van Χκ resp. Yh worden in register 150 8302544 * » * -9- en 151 geladen. Deze waarden worden gebruikt voor de selectie van een rasterpunt. Deze waarden duiden namelijk de coördinaten van het geselecteerde rasterpunt aan. Bovendien geven deze waarden het geheugenelement van geheugen 102 aan dat overeenkomt met 5 het geselecteerde rasterpunt. Na de initiatie is de inhoud van register 131 gelijk aan ΔΧ cos Θ 132 -ΔΥ sin Θ 133 ΔΧ sin Θ 134 ΔΥ cos Θ 10 135 §(ΔΧ cos θ - ΔΥ sin Θ) 136 |(ΔΧ sin θ + ΔΥ cos Θ) 137 Xb 138 Yb 139 Xb 15 140 Yb 150 de gehele waarde van Xb 151 de gehele waarde van YbThe data representing these values is presented to these registers via buses 110 and 160 and multiplexer 146. In addition to these constant values, the control circuit 104 calculates the values of the coordinates (Xb, Yb) of the rotated point in process. The values of (Xb, Yb) are loaded 35 into registers 137, ..., 140 using control circuit 104. These data representing these values are presented to these registers via buses 110 and 160 and multiplexer 146. The integer values of Χκ resp. Yh are loaded into register 150 8302544 * »* -9- and 151. These values are used for the selection of a grid point. Namely, these values indicate the coordinates of the selected grid point. In addition, these values indicate the memory element of memory 102 corresponding to the selected grid point. After initiation, the contents of register 131 are equal to ΔΧ cos Θ 132 -ΔΥ sin Θ 133 ΔΧ sin Θ 134 ΔΥ cos Θ 10 135 § (ΔΧ cos θ - ΔΥ sin Θ) 136 | (ΔΧ sin θ + ΔΥ cos Θ) 137 Xb 138 Yb 139 Xb 15 140 Yb 150 the whole value of Xb 151 the whole value of Yb

Stap 2: Op het moment dat deze stap wordt uitgevoerd bevatten de registers 151 en 150 de gehele waarden van de coördinaten van het ge-20 roteerde punt in bewerking. Deze gehele waarden duiden de coör dinaten van het geroteerde punt in bewerking aan en deze gehele waarden geven het geheugenelement van geheugenelement 102 aan dat correspondeert met het geselecteerde rasterpunt. Tijdens deze stap wordt de waarde van het matrixelement in bewerking uit dat 25 element van geheugen 100 opgehaald dat wordt aangegeven door adresbuffer/generator 115. De opgehaalde waarde wordt in dat element van geheugen 102 opgeslagen dat wordt geadresseerd door registers 150 en 151. Het bovengenoemde proces wordt gecontroleerd door besturingsschakeling 104 (de besturingssignalen zijn niet 30 weergegeven).Step 2: As this step is performed, registers 151 and 150 contain the integer values of the coordinates of the rotated point in process. These integer values indicate the coordinates of the rotated point in process, and these integer values indicate the memory element of memory element 102 corresponding to the selected raster point. During this step, the value of the matrix element in operation is retrieved from that element of memory 100 indicated by address buffer / generator 115. The retrieved value is stored in that element of memory 102 addressed by registers 150 and 151. The above process is controlled by control circuit 104 (the control signals are not shown 30).

Stap 3: Gedurende deze stap wordt een nieuw adres van geheugen 102 bepaald. Dit adres komt overeen met het rasterpunt dat is geselecteerd uitgaande van het geroteerde fictieve punt dat behoort bij het matrixelement in bewerking. De bepaling van het nieuwe 35 adres gaat als volgt: 8302544 -10-Step 3: During this step, a new address of memory 102 is determined. This address corresponds to the grid point selected from the rotated fictional point associated with the matrix element being edited. The determination of the new 35 address is as follows: 8302544 -10-

W VW V

De coördinaten van het geroteerde fictieve punt dat overeenkomt met het matrixelement in bewerking worden bepaald. De X-coördi-naat wordt verkregen door optelling van de inhoud van register 135 bij de inhoud van register 139. De gehele waarde van het 5 resultaat wordt opgeslagen in register 150 van adresbuffer 116.The coordinates of the rotated fictional point corresponding to the matrix element in operation are determined. The X coordinate is obtained by adding the contents of register 135 to the contents of register 139. The entire value of the result is stored in register 150 of address buffer 116.

De Y-coördinaat wordt verkregen door optelling van de inhoud van register 136 bij de inhoud van register 140. De gehele waarde van het resultaat wordt opgeslagen in register 151 van adresbuffer 116.The Y coordinate is obtained by adding the contents of register 136 to the contents of register 140. The entire value of the result is stored in register 151 of address buffer 116.

10 Stap 4: Gedurende deze stap wordt de waarde van het matrixelement in bewerking opgeslagen in het geheugenelement van geheugen 102 dat overeenkomt met het geselecteerde rasterpunt. Dit gaat op de volgende manier:Step 4: During this step, the value of the matrix element in operation is stored in the memory element of memory 102 corresponding to the selected grid point. This is done in the following way:

De inhoud van het geheugenelement, dat wordt geadresseerd door 15 adresgenerator/buffer 115 wordt opgehaald uit geheugen 100 en wordt opgeslagen in geheugen 102 in het element dat wordt geadresseerd door adresbuffer 116.The contents of the memory element addressed by address generator / buffer 115 are retrieved from memory 100 and stored in memory 102 in the element addressed by address buffer 116.

Stap 5: Met behulp van de carry uitgang van de kolomteller 118 test de besturingsschakeling 104 of het matrixelement in bewerking in de 20 laatste kolom wel of niet tot de laatste kolom behoort. Indien dat niet het geval is wordt stap 6 uitgevoerd en anders wordt stap 7 uitgevoerd.Step 5: Using the carry output of the column counter 118, the control circuit 104 tests whether or not the matrix element in operation in the last column belongs to the last column. If not, step 6 is performed, otherwise step 7 is performed.

Stap 6: De kolomteller wordt vermeerderd met 1, via de klokingang en dientengevolge wordt het volgende element in de rij in bewerking van 25 matrix A het nieuwe matrixelement in bewerking. De coördinaten van het overeenkomstige geroteerde punt in bewerking worden bepaald op de volgend manier:Step 6: The column counter is incremented by 1, via the clock input and consequently the next element in the row in matrix A processing becomes the new matrix element in processing. The coordinates of the corresponding rotated point in process are determined as follows:

De X-coördinaat wordt verkregen door optelling van de inhoud van register 131 bij de inhoud van register 139. Het resultaat wordt 30 opgeslagen in register 139. De Y-coördinaat wordt verkregen door optelling van de inhoud van register 132 bij de inhoud van register 140. Het resultaat wordt opgeslagen in register 140. Een nieuw adres van een element van geheugen 102 wordt bepaald en opgeslagen op de volgende manier: 35 Nadat het resultaat van de optelling van de inhouden van registers 8302544 -11- 131 en 139 is opgeslagen in register 139 wordt het resultaat opgeslagen in register 150. Nadat het resultaat van de optelling van de inhouden van registers 132 en 140 is opgeslagen in register 140 wordt het gehele gedeelte van het resultaat opgeslagen in re-5 gister 151. Het zo bepaalde adres komt overeen met het rasterpunt dat wordt geselekteerd uitgaande van het geroteerde punt in bewerking. Als stap 6 is uitgevoerd wordt stap 2 opnieuw uitgevoerd.The X coordinate is obtained by adding the contents of register 131 to the contents of register 139. The result is stored in register 139. The Y coordinate is obtained by adding the contents of register 132 to the contents of register 140 The result is stored in register 140. A new address of an element of memory 102 is determined and stored in the following manner: 35 After the result of summing the contents of registers 8302544 -11-131 and 139 is stored in register 139, the result is stored in register 150. After the result of the addition of the contents of registers 132 and 140 is stored in register 140, the entire portion of the result is stored in register 151. The address thus determined corresponds to the grid point selected from the rotated point in process. If step 6 has been performed, step 2 is performed again.

Stap 7: Met behulp van de carry uitgang van rijteil er 119 test besturings-schakeling 104 of het lopende matrixelement wel of niet tot de 10 laatste rij behoort. Indien dit niet het geval is wordt stap 8 uit gevoerd» anders wordt stap 9 uitgevoerd.Step 7: Using the carry output of row tail 119 test control circuit 104 whether or not the running matrix element belongs to the last 10 row. If not, step 8 is performed »otherwise step 9 is performed.

Stap 8: De kolomteller wordt op nul gesteld. De rijteller wordt vermeerderd met 1. Als gevolg daarvan wordt de volgende rij de nieuwe rij in bewerking en wordt het eerste element in deze rij het 15 nieuwe matrixelement in bewerking. De coördinaten van het over eenkomstige geroteerde punt in bewerking worden bepaald en opgeslagen in de registers 139 en 140 en in de registers 137 en 138.Step 8: The column counter is reset to zero. The row counter is increased by 1. As a result, the next row becomes the new row in process and the first element in this row becomes the new matrix element in process. The coordinates of the corresponding rotated point in process are determined and stored in registers 139 and 140 and in registers 137 and 138.

Dit gaat op de volgende wijze:This is done in the following way:

De X-coördinaat wordt verkregen door optelling van de inhoud van 20 register 133 bij de inhoud van register 137. Het resultaat wordt opgeslagen in register 137 en register 139. De Y-coördinaat wordt verkregen door optelling van de inhoud van register 134 bij de inhoud van register 140. De gehele waarden van de resultaten worden opgeslagen in registers 150 en 151. Op deze manier wordt een 25 nieuw adres van het geheugenelement van geheugen 102 bepaald en opgeslagen. Dit nieuwe adres komt overeen met het rasterpunt dat is geselecteerd uitgaande van het geroteerde punt in bewerking. Nadat stap 8 is uitgevoerd wordt stap 2 opnieuw uitgevoerd.The X coordinate is obtained by adding the contents of register 133 to the contents of register 137. The result is stored in register 137 and register 139. The Y coordinate is obtained by adding the contents of register 134 to the contents of register 140. The integer values of the results are stored in registers 150 and 151. In this way, a new address of the memory element of memory 102 is determined and stored. This new address corresponds to the grid point selected from the rotated point in progress. After step 8 has been performed, step 2 is performed again.

Stap 9: Het rotatieproces wordt gestopt. In geheugen 102 is nu een matrix 30 opgeslagen waardoor het geroteerde beeld wordt voorgesteld. Ge heugen 102 kan nu worden uitgelezen door bijv. een printer of CRI.Step 9: The rotation process is stopped. A matrix 30 is now stored in memory 102, whereby the rotated image is represented. Memory 102 can now be read by e.g. a printer or CRI.

De printer of CRT kan de uitgelezen gegevens gebruiken om het geroteerde beeld zichtbaar te maken.The printer or CRT can use the readout data to display the rotated image.

8302544 -12-8302544 -12-

In de methode die hierboven is beschreven worden de coördinaten van alle fictieve geroteerde punten bepaald. Echter bepaling van de coördinaten van alle fictieve geroteerde punten is niet noodzakelijk. Bepaling van de coördinaten van die geroteerde fictieve punten die zijn gelegen in ge-5 bieden waarbinnen geen geroteerde punten zijn gelegen is voldoende. (In het vervolg wordt een gebied zonder geroteerde punten binnen haar grenzen een "leeg gebied" genoemd). Een methode waarmee getest kan worden of een gebied wel of niet leeg is zal hierna beschreven worden.In the method described above, the coordinates of all fictitious rotated points are determined. However, determination of the coordinates of all fictitious rotated points is not necessary. Determination of the coordinates of those rotated fictional points located in areas within which no rotated points are located is sufficient. (In the following, an area with no rotated points within its boundaries is called an "empty area"). A method with which to test whether an area is empty or not will be described below.

Zoals uit Fig. 3 blijkt komt een leeg gebied tot stand indien de vier 10 geroteerde punten 90,...,93 die verkregen zijn tijdens het verwerken van vier elementen amn, ara+1 n, amn+i en am+i n+l zijn gelegen in gebieden die het lege gebied omringen. (De rotatiehoek in Fig. 3 is ongeveer 45°. Echter als een andere rotatiehoek is gekozen zullen eveneens lege gebieden voorkomen.)Dus voor een test of een gebied wel of niet leeg is, is 15 het noodzakelijk dat de coördinaten bepaald worden van de vier geroteerde punten die behoren bij de elementen amn, a^i π, am+i n+l en ora die reden zal het testen bewerkelijk zijn.As shown in Fig. 3 appears to be an empty area if the four 10 rotated points 90, ..., 93 obtained during the processing of four elements amn, ara + 1 n, amn + i and am + i n + 1 are located in areas surrounding the empty area. (The rotation angle in Fig. 3 is approximately 45 °. However, if a different rotation angle is chosen, empty areas will also occur.) So for a test whether an area is empty or not, it is necessary to determine the coordinates of the four rotated points associated with the elements amn, a ^ i π, am + i n + l and ora therefore the testing will be laborious.

Met behulp van een eenvoudigere methode, die hierna beschreven zal worden, kan een verzameling gebieden worden bepaald die tenminste alle lege ge-20 bieden bevat.Using a simpler method, which will be described below, a set of areas can be determined that contains at least all the empty areas.

Zoals bijvoorbeeld in Fig. 3 gezien kan worden wordt een leeg gebied altijd omringd door de vier gebieden die behoren bij vier naburige matrixelemen-ten amn, am+x n, amn+p am+i π+χ (m en n kunnen willekeurig gekozen worden). Dus er is een leeg gebied ontstaan als aan de volgende twee condities wordt 25 voldaan: 1. De afstand tussen de twee geselecteerde rasterpunten die behoren bij de elementen amn en a^ η+χ is gelijk aan twee maal een rasterafstand.As, for example, in FIG. 3, an empty region is always surrounded by the four regions associated with four neighboring matrix elements amn, am + x n, amn + p am + i π + χ (m and n can be chosen arbitrarily). So an empty area has arisen if the following two conditions are met: 1. The distance between the two selected grid points belonging to the elements amn and a ^ η + χ is equal to twice a grid distance.

2. De afstand tussen twee geselecteerde rasterpunten die behoren bij de elementen am+in en amn+x is gelijk aan twee maal een rasterafstand.2. The distance between two selected grid points that belong to the elements am + in and amn + x is equal to twice a grid distance.

30 De elementen amn en am+| η+χ behoren tot dezelfde diagonaal van matrix A en datzelfde geldt voor elementen am+x n en amn+p Door nu de elementen van matrix A in een zodanige volgorde te verwerken dat twee opeenvolgende elementen tot dezelfde diagonaal van matrix A behoren kan een van de condities die boven zijn beschreven eenvoudig worden getest, door het 35 bepalen van de afstand tussen de twee rasterpunten die het laatst zijn geselecteerd. Indien deze afstand twee maal een rasterafstand is dan is aan een van de condities voldaan en bestaat de kans dat het gebied tussen 8302544 -r η l -13- de twee geselecteerde rasterpunten een leeg gebied is. (In het vervolg wordt de terra potentieel leeg gebied gebruikt voor zo'n gebied). Een testmethode die op de hierboven beschreven manier een verzameling gebieden bepaalt die bestaat uit tenminste alle lege gebieden zal besproken worden 5 aan de hand van Fig. 9. Fig. 9 geeft een matrix A weer. De elementen van matrix A worden verwerkt in de volgorde die wordt aangeduid door de pijlen.30 The elements amn and am + | η + χ belong to the same diagonal of matrix A and the same applies to elements am + xn and amn + p. By now processing the elements of matrix A in such a sequence that two consecutive elements belong to the same diagonal of matrix A, one of the conditions described above are simply tested, by determining the distance between the two grid points last selected. If this distance is twice a grid distance then one of the conditions is met and there is a chance that the area between 8302544 -r η l -13- the two selected grid points is an empty area. (In the future, the terra potentially empty area is used for such an area). A test method that determines a collection of areas consisting of at least all the empty areas in the manner described above will be discussed with reference to FIG. 9. FIG. 9 represents a matrix A. The elements of matrix A are processed in the order indicated by the arrows.

Bij deze volgorde kan steeds een van de twee hierboven beschreven condities worden getest voor elke mogelijke combinatie van a^, ajnn+ls %+ΐ n en am+i n+j. Op deze manier kan dus een verzameling gebieden die tenminste 10 alle lege gebieden omvat bepaald worden.In this order, one of the two conditions described above can always be tested for any possible combination of a ^, ajnn + ls% + ΐ n and am + i n + j. In this way, therefore, a set of areas comprising at least 10 all empty areas can be determined.

Een werkwijze voor het roteren die gebruik maakt van deze testmethode zal hierna worden beschreven. Teneinde de nieuwe matrix te verkrijgen worden bij deze werkwijze de elementen van matrix A verwerkt in de volgorde die is aangeduidt door de pijlen. Voor elk element worden de volgende 15 stappen uitgevoerd:A method of rotation using this test method will be described below. In order to obtain the new matrix, in this method the elements of matrix A are processed in the order indicated by the arrows. The following 15 steps are performed for each element:

De positie van het geroteerde punt dat overeenkomt met het relevante element van matrix A wordt bepaald. Het gebied waarin dit geroteerde punt is gelegen wordt bepaald. Het rasterpunt waaraan dat gebied is toegekend wordt geselecteerd. De waarde van het relevante element van matrix A wordt toe-20 gekend aan dat element van de nieuwe matrix, dat overeenkomt met het geselecteerde rasterpunt. Vervolgens wordt de afstand tussen de twee geselecteerde rasterpunten bepaald. Indien deze afstand gelijk is aan twee maal een rasterafstand, dan wordt de waarde van het relevante element van matrix A toegekend aan dat element van de nieuwe matrix dat overeenkomt met 25 het rasterpunt dat is gelegen tussen de twee laatst geselecteerde rasterpunten.The position of the rotated point corresponding to the relevant element of matrix A is determined. The area in which this rotated point is located is determined. The grid point to which that area is assigned is selected. The value of the relevant element of matrix A is assigned to that element of the new matrix corresponding to the selected grid point. Then the distance between the two selected grid points is determined. If this distance is equal to twice a grid distance, the value of the relevant element of matrix A is assigned to that element of the new matrix corresponding to the grid point located between the two last selected grid points.

__i 83025448302544

Claims (1)

* -14- Werkwijze voor het geroteerd weergeven van een beeld, dat raster-vormig is opgebouwd uit afzonderlijke beeldelementen van uniforme helderheid, waarbij aan elk beeldelement eeneenduidig een rasterpunt van een eerste raster is toegekend, en waarbij aan elk rasterpunt een helderheids-5 waarde is toegekend die de helderheid van het bijbehorende beeldelement voorstelt, bij welke werkwijze steeds voor een beeldelement de plaats wordt bepaald waarop een voorafgekozen punt uit dat beeldelement door de rotatiebewerking terechtkomt en waarbij volgens een voorafgekozen criterium een rasterpunt wordt geselecteerd uit de rasterpunten die deze zo 10 bepaalde plaats omringen en waarbij aan dit geselecteerde rasterpunt de helderheidswaarde wordt toegekend, die de helderheid van het genoemde beeldelement voorstelt, met het kenmerk, - dat een aantal rasterpunten van het eerste raster wordt uitgezocht, 15. dat aan elk uitgezocht rasterpunt op een voorafbepaal de wijze een fictief rasterpunt wordt toegekend, welk fictief rasterpunt niet samenvalt met een rasterpunt van het eerste raster, - dat voor elk fictief rasterpunt een helderheidswaarde wordt bepaald die een, per fictief rasterpunt gewogen, gemiddelde is van de helderheids- 20 waarden die zijn toegekend aan de rasterpunten van het eerste raster, - dat voor elk fictief rasterpunt de plaats wordt bepaald waarop het door de rotatiebewerking terecht komt, - dat, telkens op dezelfde wijze, in de nabijheid van elke zo bepaalde plaats een rasterpunt van het eerste raster wordt uitgekozen, 25. dat aan elk uitgekozen rasterpunt de helderheidswaarde wordt toegekend die voor het bijbehorende fictieve rasterpunt is bepaald, - dat in een reeks codes voor elk geselecteerd en/of uitgekozen rasterpunt dat rasterpunt alsmede de daaraan toegekende helderheidswaarden dan wel één willekeurige van de daaraan toegekende helderheidswaarden 30 worden vastgelegd - en dat deze reeks codes aan een rasterafdrukeenheid wordt toegevoerd, waarbij op de door de rasterpunten vastgelegde plaatsen beeldelementen worden gevormd van uniforme helderheid, welke helderheid overeenkomt met de helderheidswaarde die voor het betreffende rasterpunt in de 35 reeks is vastgelegd. 8302544* -14- Method for displaying a rotated image, which is built up in a grid-like manner from separate picture elements of uniform brightness, wherein each picture element is uniquely assigned a frame point of a first frame, and wherein each frame point has a brightness value of 5 which represents the brightness of the associated picture element, in which method the location for a picture element is always determined at which a preselected point from that picture element passes through the rotation operation and wherein according to a preselected criterion a grid point is selected from the grid points so that surrounding a particular location and assigning to this selected grid point the brightness value representing the brightness of said picture element, characterized in that - a number of grid points of the first grid are selected, 15. that each selected grid point is selected at a predetermined a fictitious grid point w which fictitious grid point does not coincide with a grid point of the first grid, - that for each fictional grid point a brightness value is determined which is an average, weighted per fictional grid point, of the brightness values assigned to the grid points of the first grid, - that for each fictitious grid point the location is determined where it ends up by the rotation operation, - that a grid point of the first grid is selected, in the same manner, in the vicinity of each location thus determined, 25. which each selected grid point is assigned the brightness value determined for the associated fictitious grid point, - that in a series of codes for each selected and / or selected grid point that grid point and the assigned brightness values or any of the assigned brightness values are assigned thereto - and that this series of codes is supplied to a raster printer, w thereby, at the locations defined by the grid points, picture elements are formed of uniform brightness, which brightness corresponds to the brightness value recorded for the respective grid point in the series. 8302544
NL8302544A 1983-07-15 1983-07-15 Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image NL8302544A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL8302544A NL8302544A (en) 1983-07-15 1983-07-15 Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8302544A NL8302544A (en) 1983-07-15 1983-07-15 Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image
NL8302544 1983-07-15

Publications (1)

Publication Number Publication Date
NL8302544A true NL8302544A (en) 1983-10-03

Family

ID=19842170

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8302544A NL8302544A (en) 1983-07-15 1983-07-15 Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image

Country Status (1)

Country Link
NL (1) NL8302544A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0177997A2 (en) * 1984-09-14 1986-04-16 Philips Electronics Uk Limited Method of an apparatus for processing video signals
US4689824A (en) * 1983-12-30 1987-08-25 International Business Machines Corporation Image rotation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689824A (en) * 1983-12-30 1987-08-25 International Business Machines Corporation Image rotation method
EP0177997A2 (en) * 1984-09-14 1986-04-16 Philips Electronics Uk Limited Method of an apparatus for processing video signals
EP0177997A3 (en) * 1984-09-14 1988-09-07 Philips Electronic And Associated Industries Limited Method of an apparatus for processing video signals

Similar Documents

Publication Publication Date Title
US10249264B2 (en) Controller for compensating mura defects, display apparatus having the same, and method for compensating mura defects
US4225861A (en) Method and means for texture display in raster scanned color graphic
EP0105707B1 (en) Apparatus for scaling fascimile image data
US5073958A (en) Method of detecting edges in images
CN101533522B (en) Method and apparatus for processing computer graphics
JPS5930229B2 (en) brightness control device
KR890004306B1 (en) Rasfer scan digital display system
NL8302544A (en) Image rotation circuit for VDU - uses two memories and address generators to relocate data from pixels in original image
JP3022405B2 (en) Image memory controller
JPH06348850A (en) Gradation picture processor
KR101106080B1 (en) Data storing controlling apparatus, data storing controlling method and a computer readable recording medium recorded thereon a data storing controlling program
KR101311311B1 (en) Programmable data processing circuit
US4656468A (en) Pattern data processing apparatus
US6429873B1 (en) Addressing of monolithic texture maps
US6842179B2 (en) Graphics processing system
JP3833366B2 (en) Image data storage device
JP2833137B2 (en) Pattern matching method
JP2000351242A (en) Image forming apparatus
JP3483751B2 (en) Motion vector detecting device and motion vector detecting method
JP2798541B2 (en) Image data processing device
JPS5850439A (en) Multi-point temperature displaying system
JPH04290176A (en) Image accumulating device and image processing device provided therewith
CN111489382B (en) Method and device for obtaining coded fringe pattern and reconstructing based on structured light
JPS62187884A (en) Rotary image display unit
JPS58177635A (en) Ct image display apparatus

Legal Events

Date Code Title Description
A85 Still pending on 85-01-01
BV The patent application has lapsed