<Desc/Clms Page number 1>
- WERKWIJZE EN INRICHTING VOOR HET GENEREN VAN EEN
LITHOGRAFISCH RASTER-
De uitvinding heeft betrekking op een werkwijze voor het genereren van een uit rasterpunten opgebouwd lithografisch raster waarbij voor elk rasterpunt een, aan een intensiteit van dat rasterpunt toegekend, datablok wordt geselecteerd uit een in een geheugen opgeslagen voorafbepaalde reeks datablokken waarin elk datablok telkens voor een intensiteit van een te genereren raster een verzameling coordinaten bevat die een bij die intensiteit behorende vorm van het te genereren rasterpunt vastlegt, en waarbij een resolutiefactor wordt ingesteld die wordt bepaald door een resolutie gekozen voor het te genereren rasterpunt.
Een dergelijke werkwijze wordt bijvoorbeeld gebruikt bij het drukken van een uit een raster van beeldpunten opgebouwd beeld of bij het belichten van een film. Elk beeldpunt is op zijn beurt opgebouwd uit een aantal microbeeldpunten die telkens onder de vorm van een datablok zijn opgeslagen. Zo is er voor een voorafbepaald aantal, bijvoorbeeld 256, intensiteiten van een beeldpunt telkens een datablok van micro-beeldpunten. Deze verzameling datablokken is in een geheugen opgeslagen. Wanneer er nu een rasterpunt moet worden gegenereerd dan wordt de intensiteit waarmede dat rasterpunt moet worden gegenereerd vastgelegd in een intensiteitsignaal dat aan een adresgenerator wordt aangeboden.
Op basis van dat intensiteitsignaal genereert de adresgenerator nu een adres ten einde het bij de aangeboden intensiteit behorende datablok te selecteren. Eenmaal het datablok geselecteerd wordt er door de adresgenerator een reeks adressen gegenereerd ten einde de in het gekozen datablok opgeslagen micro-beldpuntdata. uit te lezen. Het gehele raster wordt met een gekozen resolutie gegenereerd, welke resolutie bepaald wordt
<Desc/Clms Page number 2>
door de resolutie van de individuele punten. Hiertoe wordt een resolutiefaktor ingesteld. Om meerdere redenen, zoals onder meer kleurscheiding, is het soms noodzakelijk het rasterpunt geroteerd ten opzichte de volgorde volgens dewelke ze in het geheugen opgeslagen zijn weer te geven. Hiertoe is het dan noodzakelijk het datablok geroteerd uit te lezen en dus de reeks adressen te roteren.
Ten einde dit te realiseren is de adresgenerator voorzien van micro-beeldpunt- rotatiemiddelen, die genoemde reeks adressen aan een rotatie operatie onderwerpt ten einde een verdere reeks adressen te genereren waardoor de microbeeldpunten volgens een andere volgorde worden uitgelezen zodanig dat het rasterpunt geroteerd wordt gegenereerd. Bij het genereren wordt een intensiteit omgezet in twee waarden, aan of uit, waarbij de tussenliggende toonwaarden worden verkregen door de onderlinge oppervlakte verhouding te varieren. Elk van deze datablokken representeert zo'n verschillende oppervlakte verhouding, en de bij het vormen van het raster gebruikte matrix vermenigvuldiging van het beeld is dus in feite een intensiteitstransformatie die bovendien moet voldoen aan het bemonsteringstheorema (Nyquist frequentie).
Een probleem bij een dergelijke werkwijze is dat door het gebruik van bemonsteringen er zijbanden ontstaan in het gevormde beeld welke zich uiten door interferentie patronen.
Deze patronen zijn een functie van de rotatiehoek, de intensiteit, de vorm en de grootte van het beeldpunt. Deze interferentie patronen geven een storende invloed aan het beeld, zeker in het geval er een raster met een hoge resolutie moet worden gegenereerd.
De uitvinding beoogt een werkwijze voor het genereren van een lithografisch raster voor te schrijven waarbij het effect van de interferentie patronen aanzienlijk verminderd
EMI2.1
is.
Een werkwijze volgens de uitvinding heeft daartoe het kenmerk dat voor elk datablok een nxm matrix wordt gevormd door voor elke (i, j) coördinaat uit het datablok een deelverzameling bevattende genoemde (i, j) coordinaat en aan die (i, j) coördinaat naburige coordinaten samen te stellen, waarbij
<Desc/Clms Page number 3>
het aantal elementen uit genoemde deelverzameling bepaald wordt door genoemde resolutiefaktor, en waarbij voor elke (i, j) de deelverzameling een convolutiewaarde wordt bepaald uitgaande van
EMI3.1
de data van die deelverzameling en de convultie waarde op de (i, matrixpositie (1 i n, l m) van de nxm matrix wordt geschreven, en dat bij het genereren van het rasterpunt er wordt uitgegaan van genoemde nxm matrix en elke convolutiewaarde wordt genormaliseerd tot een, uit een ten minste twee normgetallen bevattende verdere verzameling,
gekozen normgetal, en telkens het verschil wordt bepaald tussen de waarde gerepresenteerd door het gekozen normgetal en de convolutiewaarde, welk verschil, indien aanwezig, naar ten minste een verdere convolutiewaarde wordt overgebracht. Door het genereren van een nxm matrix opgebouwd uit convolutiewaarden, die elk uitgaande van een deelverzameling van naburige elementen is gevormd, is het mogelijk rasterpunten te vormen op basis van die convolutiewaarden. Zodoende wordt het, door gebruik te maken van bemonsteringen, optredende interferentie patroon gestoord omdat nu niet meer van bemonsteringswaarden maar van convolutiewaarde wordt uitgegaan.
Daar echter bij het genereren van het raster het nodig is een intensiteit om te zetten in twee waarden aan of uit en toonwaarden variaties door oppervlakte variaties weer te geven, is het noodzakelijk deze convolutiewaarden tot normgetallen te converteren. De fout onstaan door het normaliseren wordt gecompenseerd door het overbrengen van het verschil naar verdere convolutiewaarden. Hierdoor is het nu mogelijk een raster met een hoge resolutie te genereren zonder dat interferentie patronen optreden of dat gebruik dient te worden gemaakt van een duur drukorgaan. Door verder de convolutie operatie los te laten op de elementen van het datablok wordt deze telkens toegepast op een beperkt aantal elementen waardoor het bepalen van de convolutiewaarden niet omslachtig en niet tijdrovend is, wat het geval zou zijn indien de convolutie operatie zou worden uitgevoerd op het gehele beeld.
Het dient te worden vermeld dat het gebruik van een convolutie operaties op zichzelf bekend is. Echter bij
<Desc/Clms Page number 4>
de bekende convolutie operatie wordt eerst het rasterbeeld opgesteld en wordt vervolgens de convolutie operatie toegepast op het totale beeld. Dit is een tijdrovende operatie die in de praktijk nauwelijks uitvoerbaar is. De werkwijze volgens de uitvinding onderscheidt zich van de bekende werkwijze doordat de convolutie operatie niet op beeldniveau wordt uitgevoerd maar op niveau van de puntvorm. Dit vergt aanzienlijk minder tijd en is eenvoudiger uit te voeren dan een convolutie operatie op beeldniveau.
Wanneer de datablokken telkens gevormd zijn door een eerste nxm matrix is het gunstig dat genoemde nxm matrix wordt gevormd door voor elk te bepalen deelverzameling telkens een n'x m' (n' < n, m' < m) deelmatrix uit genoemde nxm matrix te kiezen. Aangezien de datablokken reeds als matrices zijn opgeslagen zijn de deelverzamelingen eenvoudig te kiezen door telkens een n'x m'deelmatrix die de (i, j) coördinaat omvat te kiezen.
Indien het te genereren rasterpunt geroteerd wordt ten opzichte van een beginpositie door de geheugen locaties waarop genoemde eerste matrix is opgeslagen in een volgorde geroteerd ten opzichte van diegene volgens dewelke ze zijn opgeslagen te adresseren is het gunstig dat bij het vormen van genoemde n'x m'deelmatrix eenzelfde geroteerde adres volgorde wordt aangehouden. Hierdoor wordt de rotatie van het rasterpunt eveneens verdisconteerd bij het vormen van de convolutiewaarde.
Een voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk dat een rechthoekig convolutievenster wordt genomen voor het bepalen van genoemde convolutiewaarde, welke bepaald wordt door de gemiddelde waarde te nemen over de in de deelverzameling aanwezige waarden. Dit vereenvoudigt de convolutie operatie.
Een verdere voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk dat voor elke geadresseerde convolutiewaarde verschillend van de eerste geadresseerde convolutiewaarde uit genoemde nxm matrix, een somwaarde wordt bepaald door bij de geadresseerde convo-
<Desc/Clms Page number 5>
lutiewaarde de aan die convolutiewaarde toegekende fraktie van genoemd verschil op te tellen en dat genoemde somwaarde wordt genormaliseerd tot een eerste normgetal respectievelijk een tweede normgetal indien genoemde somwaarde gelijk of groter respectievelijk kleiner is dan een voorafbepaalde waarde.
Het is gunstig dat genoemde verschil in een eerste respectievelijk een tweede deel wordt verdeeld waarbij het eerste respectievelijk het tweede deel naar een convolutiewaarde van een zelfde adresrij respectievelijk een volgende adres rij wordt overgedragen. Hierdoor wordt het verschil beter over naburige rasterpunten verdeeld.
De uitvinding heeft eveneens betrekking op een inrichting voor het uitvoeren van de werkwijze.
De uitvinding zal nu nader worden toegelicht aan de hand van het in de tekening weergegeven uitvoeringsvoorbeeld. Het zal duidelijk zijn dat de uitvinding niet beperkt is tot de in tekening weergegeven uitvoeringsvoorbeeld en dat binnen het kader van de uitvinding meerdere varianten mogelijk zijn. In de tekening laat :
Figuur 1 schematisch de voornaamste componenten zien van een drukinrichting geschikt voor toepassing van een werkwijze volgens de uitvinding ;
Figuur 2 een beeldpuntgenerator zien welke onderdeel is van een inrichting volgens de uitvinding ;
Figuur 3 een stroomdiagram zien van de verschillende stappen van een werkwijze voor het vormen van een nxm matrix van convolutiewaarden.
Figuur 4 de rotatie van rasterpunten en convolutieoppervlakten zien.
Figuur 5 een stroomdiagram zien waarmede de verschillende stappen voor het normaliseren van de convolutiewaarden en het bepalen van genoemd verschil geillustreerd worden.
Figuur 6 een voorbeeld zien van een uit beeldpunten opgebouwd beeld ;
<Desc/Clms Page number 6>
Figuur 7 een verder voorbeeld zien van een uit beeldpunten opgebouwd beeld waarin een interferentie patroon duidelijk zichtbaar is ;
Figuur 8 eenzelfde beeld zien als in figuur 7 maar gedrukt door gebruik te maken van een inrichting volgens de uitvinding.
In de tekening is aan eenzelfde of analoog element eenzelfde verwijzingscijfer toegekend.
De in figuur 1 weergegeven inrichting laat schematisch de voornaamste componenten zien van een voorbeeld van een drukinrichting volgens de uitvinding. De inrichting bevat een data verwerkende eenheid 1, bijvoorbeeld een microprocessor, voorzien van een adresgenerator. De data verwerkende eenheid is verbonden met een communicatiebus 3 waarop verder een geheugen 2 is aangesloten. Een eerste 4 respectievelijk en tweede 6 ingangs/uitgangsinterface verbindt de communicatiebus 3 met een bedieningspaneel 5, respectievelijk het druk-of belichtingsorgaan 7. Dit laatste bevat ondermeer een drukkop of een leser voorzien om de via de communicatiebus 3 aangeboden en in het drukorgaan verwerkte data op een drukplaat, bijvoorbeeld gevormd door een blad papier, of op een film over te dragen.
Een derde interface 8 is eveneens verbonden met de communicatiebus 3. Met dit derde interface is een datainvoerorgaan 9 verbonden, bijvoorbeeld een floppy disc leser of een aftastorgaan met lijnsgewijze aftasting zoals bekend uit facsimile apparatuur. Middels dit data invoerorgaan is het mogelijk beelddata te laden in de inrichting.
Het in figuur 2 weergegeven voorbeeld van een beeldpuntgenerator bevat een adresgenerator 10 alsook een geheugen 20 waarvan een adresingang verbonden is met een uitgang van de adresgenerator 10.
Het geheugen 20 maakt bij voorkeur deel uit van het in figuur 1 weergegeven geheugen 2. Het geheugen 20 is bijvoorbeeld van het type "pagina georganiseerd" wat inhoudt dat het geheugen meerdere, bijvoorbeeld 256 pagina's bevat waarin telkens specifieke data is opgeslagen.
<Desc/Clms Page number 7>
De adresgenerator 10 is onderdeel van de data verwerkende eenheid 1 en bevat een aantal bijvoorbeeld acht, modules 11,12, 13 die voorzien zijn om telkens uit de aangeboden data bijvoorbeeld beelddata afkomstig van het datainvoerorgaan een intensiteitsignaal te genereren dat de intensiteit van een te drukken beeldpunt weergeeft, en vervolgens uit dat intensiteitsignaal een selectiesignaal te genereren voor het selecteren van data, bijvoorbeeld een pagina, uit het geheugen 20. Verder bevat de adresgenerator nog een verdere module 14 waarvan een uitgang met een adresingang van het geheugen 20 verbonden is.
In het geheugen 20 zijn een reeks datablokken opgeslagen. Deze datablokken zijn bijvoorbeeld telkens onder de vorm van een matrix of van een vector opgeslagen waarbij elk datablok een verzameling van microbeeldpuntdata bevat die telkens voor een intensiteit van een te drukken beeldpunt, de bij die intensiteit behorende vorm van het beeldpunt vastlegt. Bij de beschrijving van het uitvoeringsvoorbeeld zal er worden uitgegaan van eerste matrices als datablokken. De eerste matrices zijn bijvoorbeeeld telkens op een aparte pagina van het pagina georganiseerd geheugen opgeslagen. De matrices zijn bijvoorbeeld telkens 64 x 64 matrices.
Wanneer nu een beeldpunt moet worden gedrukt, zonder toepassing van een convolutie operatie, zoals bijvoorbeeld het beeldpunt 30 of 31 uit het in figuur 6 weergegeven beeld, dan wordt beelddata aan de adres generator aangeboden. Op basis van deze beelddata wordt door de modules 11,12 en 13 een intensiteitssignaal gegenereerd dat de intensiteit van het te drukken beeldpunt weergeeft. Op basis van dit intensiteitssignaal wordt dan. een adres gegenereert, bijvoorbeeld een 8 bits adres, ten einde een bij de intensiteit van het te drukken beeldpunt behorende eerste matrix of pagina te kiezen. De verschillende geheugenlocaties binnen de gekozen eerste matrix worden dan geadresseerd door middel van een reeks adressen gegenereerd door de verdere module 14. De adressen van genoemde reeks zijn bijvoorbeeld 12 bits breed.
<Desc/Clms Page number 8>
Het adresseren van geheugenlocaties binnen een gekozen eerste matrix heeft nu tot gevolg dat de aldaar opgeslagen microbeeldpuntdata wordt uitgelezen en naar het drukorgaan wordt overgebracht om zodoende als stuurinformatie voor een drukkop of een leser te worden gebruikt. Elk te drukken beeldpunt is dus opgebouwd uit een eerste matrix van micro-beeldpunten. Doordat er meerdere eerste matrices zijn opgeslagen is het mogelijk om met verschillende intensiteiten te drukken. Zo is bijvoorbeeld de intensiteit van beeldpunt 30 zwakker dan diegene van beeldpunt 31. Het totale beeld is opgebouwd uit een raster van beeldpunten. Het raster wordt gegenereerd door het uitlezen van telkens een matrix waar de vorm van het te drukken punt voor de gekozen intensiteit is opgeslagen.
De mogelijke intensiteiten worden daarbij omgezet in twee waarden, aan of uit, waarbij de tussenliggende toonwaarden worden verkregen door de onderlinge oppervlakte verhouding te varieren. Dat is dus een transformatie van de intensiteit wat in feite neerkomt op het vermenigvuldigen van het beeld met de eerste matrix. Deze transformaties zullen moeten voldoen aan het bemonsteringstheorema, wat vermeldt dat de bemonsteringsfrequentie minimaal twee maal de hoogst voorkomende frequentie moet zijn.
Om druktechnische redenen, voornamelijk bij het drukken in kleur, is het noodzakelijk de rasters voor de verschillende kleurscheidingen met onderling verschillende hoeken te genereren. Hiertoe is het noodzakelijk de eerste matrices om rotatiehoeken te laten roteren, wat in de praktijk neerkomt op het uitvoeren van een rotatie operatie op de reeks adressen bestemd om de verschillende geheugenlocaties van de eerste matrix opeenvolgend uit te lezen. Hiertoe bevat de verdere module 14 micro-beeldpunt rotatiemiddelen die voorzien zijn om uitgaande van genoemde reeks adressen en verdere reeks adressen te genereren waardoor de micro-beeldpunt data in een zodanige volgorde worden uitgelezen dat het beeldpunt gedraaid over de rotatiehoekwordt afgedrukt.
Een rotatie wordt uitgevoerd door de eerste matrix uit te lezen met : adres x = x cos f + y sin y
<Desc/Clms Page number 9>
adres y-y cos x sinw
Alvorens echter nader in te gaan op een convolutie operatie in een uitvoeringsvorm volgens de uitvinding, is het noodzakelijk in te gaan op het verschijnsel van interferentie patronen dat optreedt bij het gebruik van eerste matrices en rotatie daarvan bij het drukken.
Een gerasterd beeld is de twee dimensionale pulsduur modulatie van het oorspronkelijke beeld, onstaan door het vermenigvuldigen van dit beeld met een ander beeld (het raster).
Het bemonsteringstheorema vermeldt dat
EMI9.1
wanneer de fourier transformatie F () van een signaal functie f (t) nul is voor alle frequenties f (t) eenduidig gedefinieerd door de bemonsteringswaarden fn = f (nT). Deze waarden zijn een opeenvolging van bemonsteringen met een tussenruimte van l/2fc = Toc 1 2 = T uit elkaar. f (t) is dus gegeven door :
EMI9.2
(x zonde bemonsterings frequentie moet dus minimaal twee maal de hoogst voorkomende frequentie (Nyquist frequentie) in de bemonsterde data zijn.
Dit is eveneens af te leiden uit de modulatie theorie, bemonsteren kan namelijk ook worden gezien als modulatie van de bemonsterde data frequentie met de bemonsterings frequentie, daar moduleren overeen komt met vermenigvuldigen in het frequentie domein. De zijbanden die ontstaan zijn de gespiegelde frequentie spectra van de bemonsterde data. Deze zijbanden mogen niet het frequentie spectrum overlappen dat wordt ingenomen door de data, wat zieh door interferentie zou uiten.
De enige uitzondering hierop is het geval dat de bemonsterings frequentie gelijk is aan, en in fase met, de hoogste data frequentie. Bij een rasterpunt generator is dit bijvoorbeeld het geval bij 256 bemonsteringen per punt (256 intensiteiten) of een veelvoud hiervan en nul of 90 graden hoek
<Desc/Clms Page number 10>
verdraaiing. Voor elke andere hoek moet voldaan worden aan het bemonsterings theorema.
Wanneer nu bijvoorbeeld de data frequentie, dat is de frequentie waarmede de micro-beeldpunten uit de eerste matrix worden gelezen, 256 microbeeldpunten (16 x 16 matrix) per beeldpunt is, dan zijn er om interferentie te voorkomen 512 bemonsteringen nodig (Nyquist). Immers om 256 verschillende intensiteiten te verkrijgen is het noodzakelijk 16 x 16 matrices te gebruiken anders is er onvoldoende data om de intensiteitsverschillen aan te geven wanneer gebruik gemaakt wordt van binaire data. Daar er bij de adres generatie ook nog afrondingsfouten zullen optreden komt dit neer op een punt van 26 x 26 micro-beeldpunten data. Wanneer punten gegenereerd moeten worden kleiner dan 26 x 26 microbeeldpunten zal de data dus moeten worden begrensd, bijvoorbeeld voor een punt van 16 x 16 microbeeldpunten, op 64 intensiteiten. Dit leidt dan onherroepelijk tot het ontstaan van banden.
Het blijkt dus dat het problemen oplevert om rasters te genereren waarvan een punt is opgebouwd uit minder dan 26 x 26 micro-beeldpunten. Voor een drager met een resolutie van bijvoorbeeld 1. 574 lijnen per cm is raster 60 dus het hoogst haalbare, en voor een resolutie van 1. 000 lijnen per cm is dat raster 38.
Om de storende invloed van deze interferentiepatronen aanzienlijk te verminderen en dus nagenoeg weg te werken, worden bij een werkwijze volgens de uitvinding de datablokken geconvolueerd met een oppervlakte afgeleid uit de afstand tussen twee bemonsteringen en eventueel de rotatiehoek van het gewenste raster en de intensiteitsfout die in een micro-beeldpunt ontstaat te kompenseren in de aangrenzende micro-beeldpunten. In feite is er dan geen grens meer aan het aantal micro-beeldpunten waaruit een punt is samengesteld.
Het stroomdiagram weergegeven in figuur 3 illustreert de verschillende stappen voor het bepalen van een nxm matrix van convolutiewaarden volgens de uitvinding. Het opstellen van deze matrix wordt uitgevoerd onder besturing van de dataverwerkende eenheid 1 met behulp van een stuurprogramma, bijvoorbeeld opgeslagen in het geheugen 2. De verschillende
<Desc/Clms Page number 11>
stappen voor het opstellen van deze matrix zullen nu nader worden toegelicht. Ook hier is verondersteld dat het datablok telkens door een eerste nxm matrix gevormd is.
40 STRT : Het verwerkingsprogramma wordt gestart.
41 SL R : De resolutie faktor R wordt gekozen en ingesteld.
Deze resolutie faktor heeft bijvoorbeeld een vaste waarde of is vrij door de gebruiker te bepalen. In dit laatste geval wordt de resolutie faktor berekend door de resolutie van de te vormen convolutiematrix te delen door de resolutie van de gewenste rasterpunten.
42 DT n, m : De dimensie van de te vormen convolutiematrix wordt bepaald. Wanneer het datablok reeds als een eerste matrix in het geheugen is opgeslagen dan heeft de convolutiematrix bij voorkeur dezelfde dimensie als die van de eerste matrix want anders ontstaan er afrondingsfouten.
43 DT n', m' : Op basis van de resolutie faktor R worden nu de waarden n'en m'bepaald ten einde telkens een deelverzameling uit het datablok te bepalen. Deze deelverzameling wordt bepaald om de nodige in beschouwing te nemen micro-beeldpunten te bepalen welke bij de convolutie operatie worden betrokken. Stel bijvoorbeeld dat de resolutie faktor R = 4 bedraagt, dan is de deelverzameling een 4 x 4 submatrix.
44 RT : Er wordt nagegaan of de eerste matrix al dan niet geroteerd moet worden uitgelezen.
45 x, y : Wanneer de eerste matrix niet geroteerd wordt uitgelezen, wordt de adresgenerator zodanig ingesteld dat de eerste matrix sequentieel wordt geadresseerd.
46 x', y' : Wanneer de eerste matrix geroteerd dient te worden uitgelezen, wordt de adresgenerator zodanig ingesteld dat de data geroteerd over een voorafbepaalde rotatiehoek wordt geadresseerd.
47 1 AD : Een eerste adres (i, j) voor het adresseren van een geheugenlocatie wordt gegenereerd.
48 AD ML : De op het gevormde adres opgeslagen micro-beeldpunt data wordt gelezen.
49 RD n'm' : Uitgaande van de geadresseerde geheugenlocatie wordt met naburige geheugenlocaties een rond de geadresseerde
<Desc/Clms Page number 12>
(i, j) locatie gelegen submatrix gevormd en worden de data uit die n'x m'submatrix gelezen. Deze submatrix bevat ook de locatie (i, j) Bij het bepalen van deze submatrix wordt rekening gehouden met het feit of de eerste matrix al dan niet geroteerd wordt uitgelezen. Wordt de matrix geroteerd over een hoek uitgelezen, dan wordt het convolutieoppervlak (W) dat gebruik wordt om de submatrix te vormen mede geroteerd zoals weergegeven in figuur 4. Eenvoudigheidshalve is het convolutievenster W rechthoekig gekozen. In het voorbeeld gegeven in figuur 4 is de submatrix een 3 x 3 matrix bevattende de geadresseerde lokatie (i, j).
Het adres waarvoor de convolutie data moet worden berekend bevindt zich in het centrum van het convolutievenster, bij voorbeeld op positie (i, j) voor submatrix W1 uit figuur 4.
50 DT CV : De convolutiewaarde wordt nu bepaald. Zo zal bijvoorbeeld voor submatrix W1 en geheugenlokatie (i, j) uit figuur 4 de convolutiewaarde bepaald worden door een convolutie operatie los te laten op de data behorende tot submatrix Wl.
Wanneer het convolutievenster rechthoekig is, wordt de convolutiewaarde bepaald door het bepalen van de gemiddelde waarde van de data behorende tot de submatrix.
51 WR CV : De zojuist bepaalde convolutiewaarde wordt nu opgeslagen in een verder geheugen, bijvoorbeeld het geheugen 21 op een geheugenlocatie korresponderend met de geadresseerde geheugenlocatie (bijvoorbeeld de geheugenlocatie (i, j) uit figuur 4). De convolutiewaarde is bij voorkeur een meerbits binaire waarde.
52 AL ? : Er wordt nagegaan of alle adressen van het datablok geadresseerd werden, ten einde na te gaan of de convolutiematrix volledig is opgesteld.
53 ADD + l : De adresgenerator genereert een volgend adres.
54 STP : Dit is de afsluiting van de convolutie operatie.
De convolutie operatie wordt uitgevoerd voor elk der opgeslagen datablokken. Indien de datablokken door vectoren zijn gevormd geschiedt het bepalen van de convolutiewaarde op analoge wijze. Echter worden er dan geen
<Desc/Clms Page number 13>
submatrices als deelverzameling gebruikt maar telkens een deelverzameling van de vector.
Bij het genereren van een uit rasterpunten opgebouwd lithografisch raster wordt er nu uitgegaan van de matrix van convolutiewaarden. Het adresseren en uitlezen van de convolutiewaarden alsook het vormen van een rasterpunt zal nu worden beschreven aan de hand van het in figuur 5 beschreven stroomdiagram. De verschillende stappen worden onder besturing van de dataverwerkende eenheid 1 uitgevoerd.
60 STRT : Dit is het starten van het stuurprogramma.
61 FT R : De resolutiefaktor wordt opgehaald. Deze is bijvoorbeeld in een buffergeheugen opgeslagen. De resolutiefaktor is een noodzakelijk gegeven voor de adresgenerator, welke op deze wijze een verkleining van het rasterbeeld kan vertalen in het selectief lezen van de convolutiematrix.
62 RT ? : Er wordt nagegaan of de convolutiematrix al dan niet geroteerd moet worden uitgelezen.
63 x, y : Wanneer de convolutiematrix niet geroteerd wordt uitgelezen, wordt de adresgenerator zodanig ingesteld dat de convolutiematrix sequentieel wordt geadresseerd.
64 x', y' : Wanneer de convolutiematrix geroteerd dient te worden uitgelezen, wordt de adresgenerator zodanig ingesteld dat de data geroteerd over dezelfde rotatiehoek als diegene gebruikt bij het opstellen van de convolutiematrix wordt geadresseerd.
Voor dit doeleinde werd de rotatiehoek bijvoorbeeld gebufferd.
65 INT : Een eerste adres voor het adresseren van een geheugenlocatie uit de convolutiematrix wordt gevormd.
66 RD CV : De geadresseerde convolutiewaarde wordt opgehaald.
67 CR ? : Er wordt nagegaan of er bij de geadresseerde convolutiewaarde een verschilwaarde moet worden opgesteld. Immers zoals reeds beschreven is de convolutiewaarde niet een een bits waarde maar een meerbits waarde ontstaan uit een convolutie operatie zoals hiervoor uiteengezet. Echter voor het vormen van het raster dient deze meerbits waarde tot een een bitswaarde te worden omgezet aangezien de drukkop of de
<Desc/Clms Page number 14>
lichtbron alleen bestuurbaar is met een aan/uit signaal. Daartoe worden de convolutie waarden tot een een bits (normgetal 0 of 1) waarde genormaliseerd zoals verderop zal worden uiteengezet. Bij deze normalisatie ontstaat een verschil dat naar een verdere naburige convolutiewaarde wordt overgedragen zoals eveneens verderop zal worden beschreven.
Dat verschil wordt tijdelijk gebufferd ten einde beschikbaar te zijn voor het optellen bij een verdere naburige convolutiewaarde. Bij het adresseren en ophalen van een convolutiewaarde is het dus noodzakelijk na te gaan of er voor de geadresseerde convolutiewaarde een verschilwaarde gebufferd is.
68 CR - CV + CR : Indien een verschil waarde gebufferd was voor de geadresseerde convolutiewaarde wordt deze bij de convolutiewaarde opgeteld.
69 CR > M ? : Er wordt nu nagegaan of de geadresseerde convolutiewaarde, en eventueel de daarbij opgetelde verschilwaarde, groter of gelijk zijn aan een normwaarde (M).
Wanneer bijvoorbeeld de convolutiewaarde een vier bits waarde is bedraagt de normwaarde 15 M, dus de maximale waarde.
70 F1 : Wanneer de convolutiewaarde (+ verschilwaarde, groter dan of gelijk is aan de normwaarde M wordt deze tot het normgetal"l"genormaliseerd en wordt het microbeeldpunt voor de geadresseerde positie gevormd.
71 FO : Wanneer de convolutiewaarde (+ verschilwaarde) kleiner is dan de normwaarde M wordt deze tot het normgetal"0" genormaliseerd en wordt er geen microbeeldpunt voor de geadresseerde positie gevormd.
72 SCR : De verschilwaarde wordt bepaald en gebuffeerd.
Het bepalen van de verschilwaarde geschiedt door het normwaarde M of te trekken van de convolutiewaarde (+ daarbij te voegen verschilwaarde). De aldus verkregen verschilwaarde wordt dan gebufferd ten einde deze bij een of meer naburige convolutiewaarden op te tellen. Zo'n naburige convolutiewaarde is dan bijvoorbeeld een convolutiewaarde uit dezelfde rij van de matrix of van een volgende rij. Wanneer de naburige convolutiewaarde in de volgende rij gelegen is wordt bij voorkeur het verschil opgeteld bij een convolutiewaarde gelegen
<Desc/Clms Page number 15>
is een kolom die verschillend is van diegene waarin de convolutiewaarde gelegen is waaruit het verschil is ontstaan. Bij voorkeur wordt wanneer de convolutiewaarde in kolom k (k > n en n > 0) gelegen is, dat verschil opgeteld bij een naburige convolutiewaarde gelegen in kolom k-n.
Wanneer k < n is wordt dat verschil verwaarloosd. De verdeling over naburige convolutiewaarden is bijvoorbeeld de helft van de verschilwaarde naar diegene van dezelfde rij en de overige helft naar diegene van de volgende rij. Een andere mogelijke verdeling van de verschilwaarde is bijvoorbeeld 3/8 van de verschilwaarde naar de convolutiewaarde van de volgende kolom uit dezelfde rij, 3/8 naar diegene van de volgende en 2/8 naar diegene van de volgende rij en volgende kolom.
73 AL ? : Er wordt nagegaan of alle geheugenlokaties geadresseerd zijn.
74 ADD + 1 : De adresgenerator genereert het volgende adres voor het adresseren van de volgende convolutiewaarde.
75 STP : Dit is de afsluiting van het stuurprogramma.
De hiervoor beschreven werkwijze zal nu nog worden toegelicht aan de hand van een voorbeeld.
Stel het aantal micro-beeldpunten per punt is 14 x 14 en dat de nxm matrices 64 x 64 matrices zijn. De te sommeren data beslaan dan een oppervlakte van 4, 57 maal 4, 57 adressen (64/14 = 4, 57) met het adres waar de genormaliseerde som wordt geplaatst als centrum. Vallen er adressen buiten de matrix dan moet deze gespiegeld voort gezet worden.
Deze optelling moet nu nog genormaliseerd worden naar 128 zijnde de maximale data van de geconvolueerde matrix. Dit geeft namelijk de mogelijkheid het meest significante bit rechtstreeks te gebruiken als uitgangssignaal van d & beeldpunt generator.
Het normaliseren vindt plaats door de verkregen som bijvoorbeeld te vermenigvuldigen met 128 gedeeld door het aantal adressen waarover is gesommeerd. In het voorbeeld moet dus gedeeld worden 4, 57 x 4, 57 = 20, 9. Indien alle uitgelezen adressen dus 1 waren zal de genormaliseerde som precies 128 zijn.
<Desc/Clms Page number 16>
Deze genormaliseerde som wordt dan de data van de convolutie matrix. Dit wordt voor elk adres en elke intensiteit gedaan waarmee de totale convolutie matrix is gevormd.
Wanneer het punt opgebouwd uit 64 x 64 micro-beeldpunten of meer hoeft natuurlijk niet geconvolueerd te worden, de de data wordt dan 128 of nul.
Bij het uitlezen van de convolutie matrix, wordt de gelezen data gesommeerd in een 7 bit register. Dit register moet bij het begin van een nieuwe lijn geladen worden met 64 voor een juiste afronding. Een overflow geeft dan het uitgangssignaal voor de beeldpunt generator.
Dit heeft als resultaat dat de intensiteitsfout wordt gekompenseerd in de volgende uitlezing waardoor de banden structuur wordt voorkomen.
Figuur 8 laat een beeld zien gedrukt door gebruik te maken van de werkwijze volgens de uitvinding. Uit deze figuur is duidelijk te zien dat er geen interferentiepatroon optreedt.
<Desc / Clms Page number 1>
- METHOD AND DEVICE FOR GENERATING A
LITHOGRAPHIC GRID
The invention relates to a method for generating a lithographic grid built up of grid points, wherein for each grid point a data block, assigned to an intensity of that grid point, is selected from a predetermined series of data blocks stored in a memory, in which each data block each for an intensity of a grid to be generated contains a set of coordinates that defines a shape of the grid point to be generated associated with that intensity, and wherein a resolution factor is set which is determined by a resolution chosen for the grid point to be generated.
Such a method is used, for example, when printing an image composed of a grid of pixels or when exposing a film. Each pixel is in turn composed of a number of micro pixels, each of which is stored in the form of a data block. Thus, for a predetermined number, for example, 256 intensities of a pixel, there is always a data block of micro pixels. This collection of data blocks is stored in a memory. Now when a grid point is to be generated, the intensity with which that grid point is to be generated is recorded in an intensity signal which is presented to an address generator.
On the basis of that intensity signal, the address generator now generates an address in order to select the data block associated with the offered intensity. Once the data block is selected, the address generator generates a series of addresses in order to store the micro-bubble point data stored in the selected data block. to read out. The entire grid is generated with a selected resolution, which resolution is determined
<Desc / Clms Page number 2>
by the resolution of the individual points. A resolution factor is set for this. For several reasons, such as color separation, it is sometimes necessary to display the grid point rotated relative to the order in which they are stored in memory. For this purpose it is then necessary to read the data block rotated and thus rotate the series of addresses.
In order to realize this, the address generator is provided with micro-pixel rotation means, which subjects said series of addresses to a rotation operation in order to generate a further series of addresses, whereby the micro-pixels are read in a different order such that the frame point is generated rotated. When generating, an intensity is converted into two values, on or off, whereby the intermediate tonal values are obtained by varying the mutual surface ratio. Each of these data blocks represents such a different area ratio, and the matrix multiplication of the image used in forming the grid is thus, in effect, an intensity transformation that must moreover satisfy the sampling theorem (Nyquist frequency).
A problem with such a method is that the use of samples creates sidebands in the formed image which are expressed by interference patterns.
These patterns are a function of the angle of rotation, the intensity, the shape and the size of the pixel. These interference patterns interfere with the image, especially when a high-resolution grid is to be generated.
The object of the invention is to prescribe a method for generating a lithographic grid in which the effect of the interference patterns is considerably reduced
EMI2.1
is.
To this end, a method according to the invention is characterized in that an nxm matrix is formed for each data block by a subset containing said (i, j) coordinate for each (i, j) coordinate from the data block and adjacent (i, j) coordinate to compile coordinates, where
<Desc / Clms Page number 3>
the number of elements from said subset is determined by said resolution factor, and for each (i, j) the subset a convolution value is determined from
EMI3.1
the data of that subset and the convult value is written at the (i, matrix position (1 in, lm) of the nxm matrix, and that when the grid point is generated, this nxm matrix is assumed and each convolution value is normalized to a , from a further set containing at least two standard numbers,
selected standard number, and each time the difference is determined between the value represented by the chosen standard number and the convolution value, which difference, if present, is transferred to at least a further convolution value. By generating an nxm matrix built from convolution values, each of which is formed from a subset of neighboring elements, it is possible to form grid points based on those convolution values. Thus, by using sampling, the interference pattern that arises is disturbed because it is now no longer based on sampling values but on convolution value.
However, since generating the raster requires converting an intensity into two values on or off and tonal variations by displaying surface variations, it is necessary to convert these convolution values into standard numbers. The error resulting from normalization is compensated for by transferring the difference to further convolution values. As a result, it is now possible to generate a high-resolution screen without interference patterns or the use of an expensive printer. Furthermore, by releasing the convolution operation on the elements of the data block, it is always applied to a limited number of elements, so that determining the convolution values is not laborious and time-consuming, which would be the case if the convolution operation were performed on the whole picture.
It should be noted that the use of convolution operations is known per se. However at
<Desc / Clms Page number 4>
the known convolution operation is first drawn up in the raster image and then the convolution operation is applied to the total image. This is a time-consuming operation that is hardly feasible in practice. The method according to the invention differs from the known method in that the convolution operation is performed not at the image level but at the point shape level. This takes considerably less time and is easier to perform than an image-level convolution operation.
When the data blocks are each formed by a first nxm matrix, it is advantageous that said nxm matrix is formed by an n'x m '(n') for each subset to be determined. <n, m ' <m) to select sub-matrix from said nxm matrix. Since the data blocks are already stored as matrices, the subsets are easy to select by selecting an n'x m'section matrix each comprising the (i, j) coordinate.
If the grid point to be generated is rotated relative to an initial position by addressing the memory locations on which said first matrix is stored in an order rotated relative to the one according to which they are stored, it is advantageous that in forming said n'x m the same rotated address sequence is followed. As a result, the rotation of the grid point is also discounted when the convolution value is formed.
A preferred embodiment of a method according to the invention is characterized in that a rectangular convolution window is taken for determining said convolution value, which is determined by taking the average value over the values present in the subset. This simplifies the convolution operation.
A further preferred embodiment of a method according to the invention is characterized in that for each addressed convolution value different from the first addressed convolution value from said nxm matrix, a sum value is determined by calculating at the addressed
<Desc / Clms Page number 5>
addition value add the fraction of said difference assigned to said convolution value and said sum value is normalized to a first norm number or a second norm number, respectively, if said sum value is equal to or greater or less than a predetermined value.
It is advantageous that said difference is divided into a first and a second part, the first and the second part being transferred to a convolution value of the same address row or a next address row. As a result, the difference is better distributed over neighboring grid points.
The invention also relates to an apparatus for carrying out the method.
The invention will now be explained in more detail with reference to the exemplary embodiment shown in the drawing. It will be clear that the invention is not limited to the exemplary embodiment shown in the drawing and that several variants are possible within the scope of the invention. In the drawing:
Figure 1 schematically shows the main components of a printing device suitable for applying a method according to the invention;
Figure 2 shows a pixel generator which is part of a device according to the invention;
Figure 3 shows a flow chart of the various steps of a method for forming an nxm matrix of convolution values.
Figure 4 shows the rotation of grid points and convolution surfaces.
Figure 5 shows a flow chart illustrating the various steps for normalizing the convolution values and determining said difference.
Figure 6 shows an example of an image built up from pixels;
<Desc / Clms Page number 6>
Figure 7 shows a further example of an image built up of pixels in which an interference pattern is clearly visible;
Figure 8 shows the same image as in Figure 7 but printed using an apparatus according to the invention.
In the drawing, the same or analogous element is assigned the same reference numeral.
The device shown in figure 1 schematically shows the main components of an example of a printing device according to the invention. The device contains a data processing unit 1, for example a microprocessor, provided with an address generator. The data processing unit is connected to a communication bus 3 to which a memory 2 is further connected. A first 4 respectively and second 6 input / output interface connects the communication bus 3 to a control panel 5, respectively the printing or exposure member 7. The latter includes, among other things, a print head or a reader provided for the data presented via the communication bus 3 and processed in the printing member on a printing plate, for example formed by transferring a sheet of paper, or on a film.
A third interface 8 is also connected to the communication bus 3. A data input 9 is connected to this third interface, for example a floppy disc reader or a line scanning scanner as known from facsimile equipment. By means of this data input member it is possible to load image data into the device.
The example of a pixel generator shown in Figure 2 comprises an address generator 10 as well as a memory 20, an address input of which is connected to an output of the address generator 10.
The memory 20 is preferably part of the memory 2 shown in Figure 1. The memory 20 is, for example, of the "page organized" type, which means that the memory contains several, for example 256 pages, in which specific data is stored.
<Desc / Clms Page number 7>
The address generator 10 is part of the data processing unit 1 and contains a number of, for example, eight modules 11, 12, 13, which are each time provided to generate an intensity signal from the data presented, for example image data from the data input device, that the intensity of a pixel, and then generate a selection signal from that intensity signal for selecting data, for example a page, from the memory 20. Furthermore, the address generator contains a further module 14, an output of which is connected to an address input of the memory 20.
A series of data blocks are stored in memory 20. These data blocks are, for example, always stored in the form of a matrix or of a vector, each data block containing a collection of micro-pixel data, each of which records the shape of the pixel corresponding to that intensity for an intensity of a pixel to be printed. The description of the exemplary embodiment will be based on first matrices as data blocks. For example, the first matrices are each stored on a separate page of the organized memory page. The matrices are, for example, each 64 x 64 matrices.
Now, if a pixel is to be printed without the use of a convolution operation, such as, for example, the pixel 30 or 31 from the image shown in Figure 6, image data is presented to the address generator. On the basis of this image data, an intensity signal is generated by modules 11, 12 and 13, which represents the intensity of the pixel to be printed. Based on this intensity signal,. generates an address, for example an 8-bit address, in order to select a first matrix or page associated with the intensity of the pixel to be printed. The different memory locations within the selected first matrix are then addressed by means of a series of addresses generated by the further module 14. The addresses of said series are, for example, 12 bits wide.
<Desc / Clms Page number 8>
Addressing memory locations within a selected first matrix now results in the micro-pixel data stored there being read out and transferred to the printer to be used as control information for a print head or a leser. Each pixel to be printed is thus composed of a first matrix of micro pixels. Because several first matrices are stored, it is possible to print with different intensities. For example, the intensity of pixel 30 is weaker than that of pixel 31. The total image is made up of a grid of pixels. The grid is generated by reading out a matrix in each case where the shape of the point to be printed for the selected intensity is stored.
The possible intensities are converted into two values, on or off, whereby the intermediate tonal values are obtained by varying the mutual surface ratio. So that is a transformation of the intensity, which basically amounts to multiplying the image by the first matrix. These transformations will have to conform to the sampling theorem, which states that the sampling frequency must be at least twice the highest frequency.
For technical printing reasons, especially when printing in color, it is necessary to generate the screens for the different color separations with mutually different angles. To this end it is necessary to rotate the first matrices to rotate angles, which in practice amounts to performing a rotation operation on the series of addresses intended to read the different memory locations of the first matrix sequentially. To this end, the further module 14 contains micro-pixel rotation means which are provided to generate starting from said series of addresses and further series of addresses, whereby the micro-pixel data is read in such an order that the pixel is printed rotated over the rotation angle.
A rotation is performed by reading the first matrix with: address x = x cos f + y sin y
<Desc / Clms Page number 9>
address y-y cos x sinw
However, before going further into a convolution operation in an embodiment of the invention, it is necessary to elaborate on the phenomenon of interference patterns that occurs with the use of first matrices and their rotation during printing.
A rasterized image is the two-dimensional pulse duration modulation of the original image, created by multiplying this image by another image (the raster).
The sampling theorem states that
EMI9.1
when the fourier transform F () of a signal function f (t) is zero for all frequencies f (t) unambiguously defined by the sampling values fn = f (nT). These values are a sequence of samples spaced 1 / 2fc = Toc 1 2 = T apart. So f (t) is given by:
EMI9.2
(x without sampling frequency must therefore be at least twice the highest frequency (Nyquist frequency) in the sampled data.
This can also be deduced from the modulation theory, since sampling can also be seen as modulation of the sampled data frequency with the sampling frequency, since modulation corresponds to multiplication in the frequency domain. The sidebands that arise are the mirrored frequency spectra of the sampled data. These sidebands should not overlap the frequency spectrum occupied by the data, which would express by interference.
The only exception to this is the case that the sampling frequency is equal to, and in phase with, the highest data frequency. With a grid point generator this is the case, for example, with 256 samples per point (256 intensities) or a multiple thereof and a zero or 90 degree angle
<Desc / Clms Page number 10>
distortion. For any other angle, the sampling theorem must be satisfied.
For example, if the data frequency, that is, the frequency at which the micro pixels are read from the first matrix, is 256 micro pixels (16 x 16 matrix) per pixel, then 512 samples are required to avoid interference (Nyquist). After all, in order to obtain 256 different intensities, it is necessary to use 16 x 16 matrices, otherwise there is insufficient data to indicate the intensity differences when using binary data. Since rounding errors will also occur with the address generation, this amounts to a point of 26 x 26 micro-pixels data. Thus, if points are to be generated smaller than 26 x 26 micro pixels, the data will have to be limited, for example for a point of 16 x 16 micro pixels, at 64 intensities. This then irrevocably leads to the formation of bonds.
So it turns out that it is problematic to generate frames of which a point is built up of less than 26 x 26 micro pixels. For a carrier with a resolution of, for example, 1,574 lines per cm, raster 60 is therefore the highest attainable, and for a resolution of 1,000 lines per cm, that raster is 38.
In order to considerably reduce the disturbing influence of these interference patterns and thus virtually eliminate them, in a method according to the invention the data blocks are convolved with an area derived from the distance between two samples and possibly the rotation angle of the desired grid and the intensity error which is a micro-pixel arises to compensate in the adjacent micro-pixels. In fact, there is then no longer a limit to the number of micro-pixels that make up a point.
The flow chart shown in Figure 3 illustrates the various steps for determining an nxm matrix of convolution values according to the invention. The preparation of this matrix is carried out under the control of the data processing unit 1 with the aid of a driver, for example stored in the memory 2. The various
<Desc / Clms Page number 11>
steps for drawing up this matrix will now be explained in more detail. Here, too, it is assumed that the data block is each time formed by a first nxm matrix.
STRT: The processing program is started.
41 SL R: The resolution factor R is selected and set.
For example, this resolution factor has a fixed value or is freely definable by the user. In the latter case, the resolution factor is calculated by dividing the resolution of the convolution matrix to be formed by the resolution of the desired grid points.
42 DT n, m: The dimension of the convolution matrix to be formed is determined. If the data block is already stored in memory as a first matrix, the convolution matrix preferably has the same dimension as that of the first matrix, otherwise rounding errors will occur.
43 DT n ', m': Based on the resolution factor R, the values n 'and m' are now determined in order to determine a subset each time from the data block. This subset is determined to determine the necessary micro-pixels to be considered that are involved in the convolution operation. For example, suppose the resolution factor is R = 4, then the subset is a 4 x 4 sub-matrix.
44 RT: It is checked whether the first matrix should be read rotated or not.
45 x, y: When the first matrix is read rotated, the address generator is set so that the first matrix is addressed sequentially.
46 x ', y': When the first matrix is to be rotated read out, the address generator is set so that the data is rotated addressed by a predetermined angle of rotation.
47 1 AD: A first address (i, j) for addressing a memory location is generated.
48 AD ML: The micro-pixel data stored at the formed address is read.
49 RD n'm ': Based on the addressed memory location, neighboring memory locations become one around the addressee
<Desc / Clms Page number 12>
(i, j) location located sub-matrix is formed and the data is read from that n'x m's sub-matrix. This sub-matrix also contains the location (i, j). In determining this sub-matrix, the fact whether the first matrix is read rotated or not is taken into account. When the matrix is rotated read at an angle, the convolution surface (W) used to form the sub-matrix is also rotated as shown in Figure 4. For simplicity, the convolution window W is chosen rectangular. In the example given in Figure 4, the sub-matrix is a 3 x 3 matrix containing the addressed location (i, j).
The address for which the convolution data is to be calculated is located in the center of the convolution window, for example at position (i, j) for sub-matrix W1 of figure 4.
50 DT CV: The convolution value is now determined. For example, for sub-matrix W1 and memory location (i, j) of Figure 4, the convolution value will be determined by releasing a convolution operation on the data belonging to sub-matrix W1.
When the convolution window is rectangular, the convolution value is determined by determining the average value of the data belonging to the sub-matrix.
WR WR: The convolution value just determined is now stored in a further memory, for example the memory 21 in a memory location corresponding to the addressed memory location (for example, the memory location (i, j) of Figure 4). The convolution value is preferably a multi-bit binary value.
52 AL? : It is checked whether all addresses of the data block have been addressed, in order to check whether the convolution matrix is completely set.
53 ADD + 1: The address generator generates the following address.
54 STP: This is the conclusion of the convolution operation.
The convolution operation is performed for each of the stored data blocks. If the data blocks are formed by vectors, the determination of the convolution value takes place in an analogous manner. However, there will be none
<Desc / Clms Page number 13>
sub-matrices use as subset only one subset of the vector.
The generation of a lithographic grid composed of grid points is now based on the matrix of convolution values. Addressing and reading the convolution values as well as forming a grid point will now be described with reference to the flow chart described in Figure 5. The different steps are performed under the control of the data processing unit 1.
60 STRT: This is the start of the driver.
61 FT R: The resolution factor is retrieved. This is stored in a buffer memory, for example. The resolution factor is a necessary data for the address generator, which in this way can translate a reduction of the raster image into the selective reading of the convolution matrix.
62 RT? : It is checked whether the convolution matrix should be read rotated or not.
63 x, y: When the convolution matrix is not read rotated, the address generator is set so that the convolution matrix is addressed sequentially.
64 x ', y': When the convolution matrix is to be read rotated, the address generator is set so that the data is rotated by the same rotation angle as used in setting up the convolution matrix.
For example, the rotation angle was buffered for this purpose.
65 INT: A first address for addressing a memory location from the convolution matrix is formed.
66 RD CV: The addressed convolution value is retrieved.
67 CR? : It is examined whether a difference value must be set with the addressed convolution value. After all, as already described, the convolution value is not a one-bit value but a multi-bit value arising from a convolution operation as explained above. However, to form the frame, this multi-bit value must be converted to a one-bit value since the print head or the
<Desc / Clms Page number 14>
light source can only be controlled with an on / off signal. To this end, the convolution values are normalized to a one-bit (standard number 0 or 1) value as will be explained below. This normalization creates a difference which is transferred to a further neighboring convolution value as will also be described later.
That difference is buffered temporarily to be available for addition to a further neighboring convolution value. When addressing and retrieving a convolution value it is therefore necessary to check whether a difference value has been buffered for the addressed convolution value.
68 CR - CV + CR: If a difference value was buffered for the addressed convolution value, it is added to the convolution value.
69 CR> M? : It is now checked whether the addressed convolution value, and possibly the difference value added to it, is greater than or equal to a norm value (M).
For example, when the convolution value is a four bit value, the standard value is 15 M, i.e. the maximum value.
70 F1: When the convolution value (+ difference value, greater than or equal to the norm value M, it is normalized to the norm number "1" and the micro pixel for the addressed position is formed.
71 FO: When the convolution value (+ difference value) is smaller than the norm value M, it is normalized to the norm number "0" and no micro-pixel is formed for the addressed position.
72 SCR: The difference value is determined and buffered.
The difference value is determined by subtracting the norm value M or from the convolution value (+ difference value to be added). The difference value thus obtained is then buffered in order to add it to one or more neighboring convolution values. Such an adjacent convolution value is then, for example, a convolution value from the same row of the matrix or from a following row. When the adjacent convolution value is located in the next row, the difference is preferably added to a convolution value located
<Desc / Clms Page number 15>
is a column that is different from the one containing the convolution value from which the difference arose. Preferably, when the convolution value is in column k (k> n and n> 0), that difference is added to an adjacent convolution value located in column k-n.
When k <n is that difference is neglected. For example, the distribution over neighboring convolution values is half the difference value to the one on the same row and the other half to the one of the next row. For example, another possible distribution of the difference value is 3/8 of the difference value to the convolution value of the next column from the same row, 3/8 to the one of the next row, and 2/8 to the one of the next row and next column.
73 AL? : Verifies that all memory locations are addressed.
74 ADD + 1: The address generator generates the following address for addressing the next convolution value.
75 STP: This is the driver termination.
The method described above will now be explained by means of an example.
Suppose the number of micro pixels per point is 14 x 14 and that the nxm matrices are 64 x 64 matrices. The data to be summed then covers an area of 4.57 times 4.57 addresses (64/14 = 4.57) with the address where the normalized sum is placed as the center. If addresses fall outside the matrix, this must be continued mirrored.
This addition has yet to be normalized to 128 being the maximum data of the convolved matrix. This gives the possibility to use the most significant bit directly as an output signal from the pixel generator.
Normalization takes place by, for example, multiplying the sum obtained by 128 divided by the number of addresses that have been summed. In the example, we have to divide 4, 57 x 4, 57 = 20, 9. So if all the addresses read out were 1, the normalized sum will be exactly 128.
<Desc / Clms Page number 16>
This normalized sum then becomes the data of the convolution matrix. This is done for every address and intensity with which the total convolution matrix is formed.
Of course, if the point made up of 64 x 64 micro-pixels or more does not have to be convolved, the data then becomes 128 or zero.
When reading the convolution matrix, the read data is summed in a 7 bit register. This register must be loaded with 64 at the start of a new line for correct rounding. An overflow then provides the output signal for the pixel generator.
As a result, the intensity error is compensated for in the next reading preventing the tire structure.
Figure 8 shows an image printed using the method of the invention. This figure clearly shows that no interference pattern occurs.