NL8302544A - Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen. - Google Patents

Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen. 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
English (en)
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/nl
Publication of NL8302544A publication Critical patent/NL8302544A/nl

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)

Description

,· ' i
Ocë-Nederland B.V., te Ven!o
Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen
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.
Een dergelijke werkwijze wordt beschreven op bladzijdai 219-222 van het tijdschrift "DISPLAYS" dat is gepubliceerd 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.
De uitvinding stelt zich ten doel een werkwijze te verschaffen waarin het bovengenoemde nadeel wordt vermeden.
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-
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.
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:
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. 3 een gedeelte van het raster voorstelt,
Fig. 4 het raster en het fictieve raster voorstelt,
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. 7 een schematische voorstelling is van een schakeling waarmee de werkwijze volgens de uitvinding kan worden uitgévoerd,
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. 9 een gunstige volgorde aangeeft, waarin de elementen van matrix A worden verwerkt.
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 « «
* *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 een
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.
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.
Fig. 2B geeft een matrix B weer die op deze wijze is verkregen. 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.
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.
Een werkwijze, waarmee een beeld kan worden geroteerd, en waarbij geen gaten ontstaan zal worden besproken met behulp van Fig. 4 en Fig. 5.
Bij deze werkwijze wordt gebruik gemaakt van een fictief raster 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:
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.
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.
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.
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.
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 Θ.
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).
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.
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.
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.
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.
Een schakeling voor het roteren is weergegeven 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*.
Een besturingsschakeling 104 is verbonden met de besturingsingangen van 8302544 • > -7- de geheugens 100 en 102 via de besturingsbussen 105 respectievelijk 106.
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.
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.
15 De adresgenerator 117 bevat een opteller 130, een aantal registers 131,...,140 en een 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.
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.
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.
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.
20 In het stroomdiagram zijn een aantal stappen te onderscheiden:
Stap 1: initiatie.
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.
met behulp van besturingsschakelaar 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 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).
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-
W 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.
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.
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:
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.
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.
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:
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.
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.
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.
Dit gaat op de volgende wijze:
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.
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.
De printer of CRT kan de uitgelezen gegevens gebruiken om het geroteerde beeld zichtbaar te maken.
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.
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.
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.
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.
2. De afstand tussen twee geselecteerde rasterpunten die behoren bij de elementen am+in en amn+x is gelijk aan twee maal een rasterafstand.
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.
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.
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:
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.
__i 8302544

Claims (1)

  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
NL8302544A 1983-07-15 1983-07-15 Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen. NL8302544A (nl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL8302544A NL8302544A (nl) 1983-07-15 1983-07-15 Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8302544A NL8302544A (nl) 1983-07-15 1983-07-15 Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen.
NL8302544 1983-07-15

Publications (1)

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

Family

ID=19842170

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8302544A NL8302544A (nl) 1983-07-15 1983-07-15 Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen.

Country Status (1)

Country Link
NL (1) NL8302544A (nl)

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
US5073958A (en) Method of detecting edges in images
JPS5975758A (ja) イメ−ジ・フイ−ルドの変換方法
CN101533522B (zh) 用于处理计算机图形的方法和设备
JPS5930229B2 (ja) 輝度制御装置
KR890004306B1 (ko) 라스터주사 디지탈 디스플레이 시스템과 상기 시스템의 예정된 데이타조합 및 화소 검출방법과 그래픽제어 시스템 및 그 방법
NL8302544A (nl) Werkwijze voor het geroteerd weergeven van een beeld dat rastervormig is opgebouwd uit afzonderlijke beeldelementen.
JP3022405B2 (ja) 画像メモリ制御装置
JPS6042943B2 (ja) 表示装置
KR101106080B1 (ko) 데이터 저장 제어 장치, 데이터 저장 제어 방법 및 데이터 저장 제어 프로그램이 기록된 기록 매체
KR101311311B1 (ko) 프로그래밍 가능한 데이터 처리 회로
US4656468A (en) Pattern data processing apparatus
US6429873B1 (en) Addressing of monolithic texture maps
US6842179B2 (en) Graphics processing system
JP2833137B2 (ja) パターンマッチング方法
JP2000351242A (ja) 画像形成装置
JPS5850439A (ja) ディジタルメモリ式赤外線映像装置
CN111489382B (zh) 编码条纹图的获取以及基于结构光的重构的方法和装置
JPS62187884A (ja) 回転画像表示装置
JPS58177635A (ja) Ct画像表示装置
JPH03196376A (ja) 全フイールド記憶装置から複数の隣接記憶位置に並列にアクセスするアドレス指定機構
JPS64692B2 (nl)
KR101327792B1 (ko) 텍스쳐 매핑을 위한 메모리 억세스 장치 및 방법
JP2000354200A (ja) 画像処理装置および画像処理方法ならびに画像処理プログラムを記録したコンピュータ読み取り可能な情報記録媒体

Legal Events

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