NO309078B1 - FremgangsmÕte og innretning for utskriving i overensstemmelse med et infografisk sprÕk - Google Patents

FremgangsmÕte og innretning for utskriving i overensstemmelse med et infografisk sprÕk Download PDF

Info

Publication number
NO309078B1
NO309078B1 NO932199A NO932199A NO309078B1 NO 309078 B1 NO309078 B1 NO 309078B1 NO 932199 A NO932199 A NO 932199A NO 932199 A NO932199 A NO 932199A NO 309078 B1 NO309078 B1 NO 309078B1
Authority
NO
Norway
Prior art keywords
intermediate code
image
code data
memory
raster
Prior art date
Application number
NO932199A
Other languages
English (en)
Other versions
NO932199D0 (no
NO932199L (no
Inventor
Luis Trabb Pardo
Jorge Phillips
Original Assignee
Canon Kk
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
Priority claimed from US07/898,532 external-priority patent/US5680521A/en
Priority claimed from US07/911,030 external-priority patent/US5515481A/en
Application filed by Canon Kk filed Critical Canon Kk
Publication of NO932199D0 publication Critical patent/NO932199D0/no
Publication of NO932199L publication Critical patent/NO932199L/no
Publication of NO309078B1 publication Critical patent/NO309078B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1807Receiving job control commands relating to the print image preparation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1809Receiving job control commands relating to the printing process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

Bakgrunn for oppfinnelsen
Oppfinnelsens område
Oppfinnelsen angår en fremgangsmåte og en innretning for trykking av et bilde i overensstemmelse med en infografisk språkstrøm.
Beskrivelse av beslektet teknikk
I den senere tid er sådanne trykkeinnretninger som laserstråleskrivere, som danner bilder ved selektiv trykking av bildeelementer på en side, blitt stadig mer populære på grunn av sin fleksibilitet, trykkehastighet og lave pris. Slike trykkeinnretninger trykker bilder ved å avsøke over en side mens de selektivt trykker individuelle bildeelementer på avsøkingslinjen. Siden fremflyttes (i sådanne skrivere som laserstråleskrivere fremflyttes siden kontinuerlig under trykking), og ytterligere avsøkingslinjer dannes. Samlingen av trykte bildeelementer fra alle avsøkingslinjer på siden danner det ønskede bilde.
Hvor vidt bildeelementer trykkes på siden og hvor disse bildeelementer trykkes under en avsøkingsoperasjon, bestemmes av en skriver-styreenhet som opererer i overensstemmelse med et lagret rasterbilde av trykksiden. Et raster er en datamaskin-representasjon av hvert av bildeelementene i trykksiden, og lagres i et punktmatriselager i styreenheten. I et punktmatriselager er det en én-for-én-overensstemmelse mellom bildeelementer på den trykte side og lagersteder i punktmatriselageret.
Alle trykkeinnretninger må arbeide innenfor begrens-ningene til de tilgjengelige ressurser. For eksempel har styreenheten, som typisk er en mikroprosessor som danner en sentral prosessorenhet ("CPU"), bare en begrenset mengde behand-lingskraft, og er i stand til å manipulere bare en begrenset mengde av data innbefattet bildedata innenfor hvilken som helst gitt tidsperiode. Styreenheten har tilgang til bare en begrenset mengde lagerplass medregnet punktmatriselageret. Noen skrivere er forsynt med andre ressurser, så som ytre lageranordninger som er tilgjengelige via en kommunikasjonslinje som har bare en begrenset båndbredde (eller dataoverføringshastighet).
Konvensjonelle trykkeinnretninger utnytter den begren-sede mengde ressurser som er tilgjengelige for disse, bare på ineffektiv måte. For eksempel viser fig. 11 en illustrasjon av et typisk CPU-ressursanvendelsesmønster i en skriver. Som vist på fig. 11, varierer CPU-anvendelsen i stor utstrekning innenfor maksimal CPU-anvendelse og forholdsvis lav CPU-anvendelse. Maksimal CPU-anvendelse opptrer mellom trykte sider under dannelse av rasterbildet i punktmatriselageret, mens lav CPU-anvendelse opptrer når en side er i ferd med å trykkes eller skrives ut.
Grunnen til denne ineffektivitet er at trykkeinnretninger, såsom laserstråleskrivere som danner bildeelementer ved avsøking, må ha et fullstendig rasterbilde av utskriftsbildet utviklet i punktmatriselageret før trykking eller utskrift kan starte, for at bildet skal skrives ut på riktig måte. Dette er på grunn av at avsøkende trykkeinnretninger skriver med ensartet hastighet mens et bilde er i ferd med å skrives ut. Dette betyr at så snart sidetrykking eller sideutskriving har startet, fortsetter utskriving med ensartet hastighet inntil sideutskriving slutter. For å sikre at trykkeinnretningen ikke løper tom for data for utskriving (en tilstand som er kjent som dataunderf lyt), utvikles følgelig hele det bilde som skal utskrives, til et rasterbilde i punktmatriselageret før utskriving starter. CPU-enheten er ansvarlig for utvikling av rasterbildet inn i punktmatriselageret, og denne prosess representerer maksimal CPU-anvendelse. Under virkelig utskriving av bildet trenger imidlertid CPU-enheten bare å overvåke punktmatriselageret for å sikre at rasterbildet tilføres til utskriftsmaskinen med den samme hastighet som utskriftsmaskinen skriver det ut. Denne forholdsvis enkle oppgave representerer lav CPU-anvendelse.
Tilsvarende, og slik som videre vist på fig. 11, er lageranvendelsen på sitt minimum når CPU-anvendelsen er på sitt maksimum. Dette er fordi punktmatriselageret er fullt bare i en periode like før bildeutskriving. Slik som beskrevet ovenfor, svarer dette til en periode når CPU-funksjonene er minimale.
For de enkleste utskriftssystemer kan slike ineffektiviteter tåles. For å skrive ut f.eks. et enkelt svart/hvitt-bilde med lav oppløsning, så som 300 punkter pr. tomme (dpi), på et standard 28,6 x 28 cm papirark, krever et punktmatriselager på omtrent 1 megabitgruppe eller megabyte (Mb). Prisen på et lager på 1 Mb er tilstrekkelig lav, slik at det er akseptabelt at store deler av lageret er ubenyttet i lange tidsperioder. Dette forblir slik selv om punktmatriselageret er dobbeltbufret, dvs. et lager på 2 Mb er tilveiebrakt. Dobbeltbufring er ønskelig på grunn av at det tillater CPU-enheten å utvikle en etterføl-gende side av bildedata til et rasterbilde i én buffer på samme tid som CPU-enheten skriver ut en løpende side av bildedata fra den andre buffer. Dobbeltbufring hjelper til å tilveiebringe en kontinuerlig strøm av rasterbildedata til utskriftsmaskinen, og oppnår derved bedre inter- eller mellomsidegjennomløp på en forholdsvis omkostningseffektiv måte.
Etter hvert som oppløsningen øker, og etter hvert som større muligheter (for eksempel halvtone og farge) ønskes, kan imidlertid slike ineffektiviteter ikke lenger tåles. Med for eksempel en oppløsning på 600 dpi er det nødvendig med fire ganger så mye lager enn hva som er nødvendig med 300 dpi, for å lagre et fullstendig rasterbilde. Virkningen blir enda mer utpreget når halvtone- eller fargebilder betraktes. For for eksempel å tilveiebringe seksten grå-nivåer for hvert bildeelement i et halvtonebilde, kreves fire biter pr. bildeelement. Multiplisering av fire biter pr. bildeelement med fire Mb for å lagre et 600 dpi rasterbilde, resulterer i et behov for et lager på 16 Mb for å lagre et halvtone-rasterbilde. Når farge betraktes, blir lagerbehovene enda større. Å kode for eksempel fire farger pr. bildeelement med 8 biter for hver farge betyr at 32 biter er nødvendig for hvert bildeelement. Multiplisering av 32 biter med 4 Mb for et 600 dpi rasterbilde resulterer i et behov for et lager på 128 Mb for å lagre et fullstendig 600 dpi fargerasterbilde. Prisen for slike store lagermengder er ikke akseptabel for utstrakt kommersiell godkjennelse, og blir enda verre når dobbeltbufring tilveiebringes for å redusere mellom-sideforsinkelse.
Det er blitt overveid å øke den tilsynelatende stør-relse av fysisk lager ved benyttelse av et virtuelt lager i hvilket frakoplede eller off-line lageranordninger, så som et platedrev, benyttes for å tilveiebringe ytterligere lagerplass, og som er koplet til en skriverstyreenhet via en kommunikasjonsforbindelse. Bruken av virtuelt lager i en skriverinnretning har ikke vist seg å være helt tilfredsstillende. Dette er på grunn av den usikkerhet som er forbundet med å sikre at det er tilstrekkelig båndbredde i kommunikasjonsforbindelsen til å tilveiebringe bildeelementdata i tide til utskriftsmaskinen og unngå data-underflyt.
Videre er høykvalitets rasterbaserte anordninger, så som laserstråleskrivere og blekkstråle- eller boblestråleskrivere og liknende, blitt alminnelig tilgjengelige. Disse anordninger mottar bildedata fra en vertsdatamaskin og genererer et rasterbilde i et punktmatriselager for senere avbildning og/eller utskriving.
Fig. 1 viser den rasteriseringsprosess ved hvilken hvert bildeelement i et punktmatriselager dannes, og ved hvilken kvaliteter (så som farge, grånivå eller halvtoning) gis til hvert bildeelement. Som vist på fig. 1, oppdeles punktmatriserasteret 100 i rammer eller felter (frames) F som definerer områder i punktmatriserasteret. For hvert bildeelement 101 i feltet defineres en maske M og en bakgrunn B. Masken M definerer hvorvidt bildeelementet skal omgjøres (be rendered) til punktmatriselager eller ikke, og det sted hvor bildeelementet skal omgjøres. Bakgrunnen B definerer de kvaliteter med hvilke bildeelementet 101 skal omgjøres. For eksempel kan bakgrunnen B bestå av en farge som er knyttet til bildeelementet, eller den kan bestå av en halvtonetetthet. Dersom det ønskes, kan det også defineres et klippeområde for å spesifisere de effektive områder av masken og tillate mer nøyaktig kontroll over maskene. Rasteriseringen av bildeelementet 101 i punktmatriselageret er skjæringen mellom feltinformasjonen, bakgrunnsinformasjonen, klippeområdeinformasjonen og maskeinformasjonen, det hele som vist på fig. 1.
Etter hvert som allsidigheten av rasterskriveanord-ninger har øket, er det blitt utviklet mer avanserte teknikker for å instruere hvordan rasterbildet skal dannes. Dvs., det er vanligvis ikke praktisk å overføre et fullstendig rasterbilde til skriveren. I stedet benyttes et beskrivende språk, så som sidebeskrivelsesspråk (PDL = page description language). Et sidebeskrivelsesspråk er en rekke kommandoer som beskriver alle tegn for hvert element på hver side av dokumentet, så som tekst, grafikk, avsøkte bilder. PDL-språket kan også inneholde informasjon som beskriver dokumentredigering og arkhåndtering (kollasjon, etc). Vertsdatamaskinen sender sidebeskrivelsesspråk til skriveanordningen, og anordningen tolker sidebeskrivelsesspråket slik at rasterbildet omgjøres.
Fig. 2 er illustrerende for denne prosess. Fig. 2 viser moduler i en skriveanordning som aksepterer sidebeskrivelsesspråk i den ene ende og frembringer et punktmatriserasterbilde i den andre ende. Som vist på fig. 2, mottar en kommunikasjonsgrense-snittmodul 102 PDL-kommandoer og sender dem til en PDL-tolker 104. PDL-tolkeren dirigerer PDL-kommandoer til et grafikksjikt 105, en skrifttypemodul 106 og et lagerforråd (storage pool) 107 slik det er passende for den spesielle PDL-kommando som behandles av tolkeren. En rasterdanner (raterizer) 109 aksepterer utmating fra grafikksjiktet og skrifttypemodulen og lagerforrådet, og danner et rasterbilde i et punktmatriselager. Spesielt aksepterer rasterdanneren 109 et tomt raster fra et punktmatriserasterforråd 110 og returnerer et fylt raster til rasterforrådet. Det fylte raster avbildes av skriveanordningen, i løpet av hvilken tid et ytterligere tomt raster (svarende til en etterfølgende side) fylles av rasterdanneren 109.
Skriverkommandoer, så som PDL-kommandoer, er normalt anordningsuavhengige, hvilket betyr at det endelige dokument vil se likedan ut for de samme PDL-kommandoer uten hensyn til den skriveanordning som mottar PDL-kommandoene. Selv om dette er fordelaktig i noen henseender, har det forårsaket vanskeligheter ved at hver forskjellig skriver, på grunn av dens egne spesielle egenskaper, må være konstruert med sin egen spesielle PDL-tolker 104 som oversetter anordningsuavhengige PDL-kommandoer til tilsvarende rasterbilder.
Sammendrag av oppfinnelsen
Det er et formål med oppfinnelsen å benytte ressurser i en skriver på mer effektiv måte, slik at det tilveiebringes en skriver som har større muligheter uten behov for å øke mengden av fysiske ressurser som er tilgjengelige for denne.
Sett fra én side er oppfinnelsen en utskrivingsinnret-ning i hvilken et bilde lagres i en kodet, kompakt representasjon eller fremstilling før det omgjøres til et fullstendig, rasterisert bilde. Fremstillingen er slik at de ressurser som er nødvendige for å omgjøre et fullstendig, rasterisert bilde, kan forutsies med stor nøyaktighet. Forutsigerfunksjoner er tilveiebrakt for å forutsi ressursanvendelse, slik at det forut for utskriving bestemmes hvorvidt skriveren har tilstrekkelige ressurser til å utføre utskriving. Dersom tilstrekkelige ressurser er tilgjengelige, utføres utskriving. Dersom ressursene ikke er tilgjengelige, kan det foretas bortbyttinger (trade-offs) mellom ressurser, for å tillate utskriving å finne sted.
Et annet formål med oppfinnelsen er å tilveiebringe en innretning i hvilken hver av forskjellige skrivere ikke nødven-digvis har sin egen PDL-tolker.
Sett fra én side frembringer oppfinnelsen dokument-beskrivelseskommandoer ved benyttelse av et infografisk språk basert på utskriftskommandoer som omfatter anordningsuavhengige utskriftskommandoer. Feltbeskrivelser for rasterfelter i dokumentet genereres ut fra utskriftskommandoene lik som også dokumentredigeringskommandoer som definerer hvordan rasterf eltene anbringes på siderasteret. Feltbeskrivelsene utmates på et første operasjonstrinndelt (pipelined) grensesnitt, og dokumentredigeringskommandoene utmates på et andre operasjonstrinndelt grensesnitt. Dokumentredigeringskommandoene kan inneholde informasjon med hensyn til hvordan felter avbildes på et papirark, og kan også inneholde dokumentavslutningsinstruksjoner, så som heftings- og kollasjonsinstruksjoner. Feltbeskrivelsene kan være rasterbaserte beskrivelser og er vanligvis anord-ningsavhengige. Oppfinnelsen kan realiseres i en rasterbasert ut-skrivings- eller fremvisningsanordning, så som en laserstråle-skriver eller blekkstråle- eller boblestråleskriver, men den kan også realiseres i en skriverdriver i en vertsdatamaskin og utføres som del av vertsdatamaskinprosesser.
Sett fra en annen side er oppfinnelsen en infografisk-språk-prosessor som omfatter en maskegenerator for generering av bildeelement-maskeobjekter i et felt. En bakgrunnsgenerator er tilveiebrakt for generering av bakgrunner mot hvilke objektene anbringes. En tolker tolker en strøm av infografisk-språk-kommandoer som innmates i prosessoren, og aktiverer maskegeneratoren og bakgrunnsgeneratoren i overensstemmelse med det infografiske språk. En rasterdanner tilfører maskeobjektene til bakgrunnen på et punktmatriselager. Maskegeneratoren kan omfatte flere forskjellige maskegeneratorer, og disse mange maskegeneratorer kan være organisert i operasjonstrinndelte strukturer, slik at de aktiveres, i overensstemmelse med det infografiske språk, av tolkeren. Likeledes kan bakgrunnsgeneratoren omfatte flere bakgrunnsgeneratorer av hvilke hver genererer en forskjellig bak-grunnstype, og hver av disse bakgrunnsgeneratorer kan være organisert i operasjonstrinndelte strukturer slik at de aktiveres ved hjelp av passende infografisk-språk-kommandoer via tolkeren. En koordinator kan være tilveiebrakt for koordinering av operasjonstrinndelingen blant strukturene. De maskeobjekter som genereres av maskegeneratoren, kan være primitive objekter som er kompakte representasjoner av bildeelementobjekter, eller maskeobjektene kan være segmenter av punktmatrisebilder. Dersom det ønskes, kan en klipper være tilveiebrakt for å klippe utgangssignalet fra maskegeneratoren. Likeledes kan det i visse utførelser benyttes et tidsklareringsprogram (dispatcher) for fortløpende å velge rasterområder og for å bringe maskegeneratoren og bakgrunnsgeneratoren og rasterdanneren til henholdsvis å operere på de utvalgte rasterområder. For eksempel kan tidsklareringsprogrammet bringe båndinndelte partisjoner eller områder (banded partitions) av rasteret til å utvelges fortløp-ende og opereres på av maskegeneratoren og bakgrunnsgeneratoren og rasterdanneren.
Sett fra en annen side er oppfinnelsen en utskrifts-metode som omfatter de trinn å innmate kodede utskriftsdata, så som PDL-utskriftskommandoer, å oversette de kodede utskriftsdata til en første kodet representasjon, å oversette den første kodede representasjon til en andre kodet representasjon som er forskjellig fra den første kodede representasjon, og å danne et rasterbilde ut fra den andre kodede representasjon. De første og andre kodede representasjoner kan inneholde felles kodegrunnord (code primitives), og den andre kodede representasjon kan være mottakelig for nøyaktig modellering eller utforming, slik at anvendelse av skriverressursene ved rasterdannelse av representasjonen kan forutsies nøyaktig, slik at rasterdannelsesprosessen kan endres dersom ikke tilstrekkelige utskriftsressurser skulle være tilgjengelige.
Dette korte sammendrag er blitt tilveiebrakt slik at oppfinnelsens natur kan forstås raskt. En mer fullstendig forståelse av oppfinnelsen kan oppnås ut fra den etterfølgende beskrivelse i forbindelse med de resterende tegninger, der fig. 1 er en illustrasjon som viser en rasterisering av bildeelementer i et punktmatrise-rasterlager, fig. 2 viser en fremstilling av en PDL-skriverprosess, fig. 3 viser en skriver ifølge oppfinnelsen, fig. 4 viser en infografisk-språk-prosessor ifølge oppfinnelsen, fig. 5 viser et diagram som illustrerer grensesnittet mellom sidebeskrivelsesspråket og et infografisk språk ifølge oppfinnelsen, fig. 6 er et diagram som illustrerer hvordan en maske anbringes mot en bakgrunn på et raster, fig. 7 er et detaljert riss som viser maskegeneratorer og bakgrunnsgeneratorer i overensstemmelse med infografisk-språk-prosessoren ifølge oppfinnelsen, og fig. 8, 9 og 10 er riss som viser forskjellige ut-førelser av infografisk-språk-prosessoren, hvor fig. 8 er en sekvensiell prosessor, fig. 9 er en sammensluttet (banded) prosessor, og fig. 10 er en operasjonstrinndelt (pipelined) prosessor, fig. 11 er et diagram som illustrerer prosessor-enhets(CPU)- og lageranvendelse under en utskriftssyklus, fig. 12 er et diagram som illustrerer ressursinnhylling (resource envelope) som er tilgjengelig for en skriver, fig. 13 viser et blokkskjerna av en styreenhet for skriveren på fig. 3, fig. 14 er et diagram som illustrerer lageranvendelse i skriveren på fig. 3, fig. 15 og 16 er flytskjemaer som illustrerer operasjon av skriveren på fig. 3, fig. 17 fremstiller kodede bilderepresenta-sjoner ifølge oppfinnelsen, og fig. 18-22 fremstiller objekt-bilder som er vist på fig. 17.
Nærmere beskrivelse av den foretrukne utførelse
[Første utførelse]
I en infografisk språkstrøm er grafiske beskrivelser for rammer eller felter (frames) i en side atskilt fra dokumentredigeringsinformasjon som beskriver hvordan feltene er plassert på siden, og hvor de grafiske beskrivelser og dokumentredigeringsinformasjonen utmates på separate, operasjonstrinndelte (pipelined) grensesnitt. En grafisk-språk-prosessor er anordnet for å oppfange (intercept) den infografiske språk-strøm. Prosessoren separerer den infografiske språkstrøm i maskeinf ormas jon og bakgrunnsinformasjon mot hvilken maskene anbringes, opererer uavhengig på maske- og bakgrunnsinformasjonen for å frembringe feltrastere, og benytter dokumentredigeringsinformasjonen til å avbilde feltrastrene på siden.
Fig. 3 viser en laserstråle-uskriftsinnretning ifølge opp f innelsen.
Som vist på fig. 3, omfatter en lasertråleskriver 10 en styreenhet 11 som styrer de forskjellige mekaniske og elektriske funksjoner i skriveren. Spesielt aksepterer styreenheten 11 bildedata som er avledet av en ikke vist vertsdatamaskin via en kommunikasjonsport 12, og behandler bildedataene slik at det avledes et lasermodulasjonssignal som tilføres til en laserdriver 14. Bildedataene fra kommunikasjonsporten 12 er fortrinnsvis i en meget kompakt form, så som et sidebeskrivelsesspråk ("PDL"-språk) som ganske enkelt definerer objekter og objektenes beliggenhet på siden, i stedet for å definere et fullstendig rasterbilde av utskriftsbildet, men hvilken som helst form for bildedata kan benyttes. I overensstemmelse med det bildesignal som tilveiebringes av styreenheten 11, driver laserdriveren 14 en laser 15 slik at den bringer denne til å utsende en laserstråle 16. Et roterbart, mangekantet speil 17 avbøyer på avsøkende måte laserstrålen 16 via et speil 19 på overflaten av en lysfølsom trommel 20. Den lysfølsomme trommel 20 roteres i retning av pilen A forbi en lader 21. Den på avsøkende måte avbøyde laserstråle 16 danner et latent bilde på overflaten av den ladede, lysfølsomme trommel, og det latente bilde fremkalles til et tonerbilde med en fremkaller 22.
I koordinasjon med avsøking av overflaten av trommelen 20 forårsaker styreenheten 11 at det øverste papirark fra en stabel 24 fremmates av en opptakervalse 25 og transporteres av valser 26 og 27 gjennom en bildepassasje 29 til den lysfølsomme trommel 20. Det tonerfremkalte, latente bilde på trommelen 20 overføres til dette ark ved hjelp av en overføringslader 30 og transporteres av valser 31 og 32 til en fikseringsanordning 34. I fikseringsanordningen 34 fikserer en kombinasjon av varme og trykk tonerbildet permanent til arket, og arket utstøtes av valser 35 inn på et utmatingsbrett 36.
Fig. 4 er et riss som viser styreenheten 11. På fig. 4 likner et kommunikasjonsgrensesnitt 202 og en PDL-tolker 204 i det vesentlige på kommunikasjonsgrensesnittet og PDL-tolkeren som er vist på fig. 2, og beskrivelse av disse er utelatt.
Som vist på fig. 4, behandles sidebeskrivelsesspråk av PDL-tolkeren 204 og ledes fra PDL-tolkeren 204 til en modul 205 for generering av infografisk språk. Infografisk-språk-genereringsmodulen 205 oversetter PDL-språket til et infografisk språkdokument ifølge oppfinnelsen. I overensstemmelse med PDL-språket genererer infografisk-språk-genereringsmodulen 205 spesielt det infografiske språkdokument i to deler. Først genererer genereringsmodulen 205 feltbeskrivelseskommandoer i infografisk språk som vist ved 206. Feltbeskrivelseskommandoene beskriver en rasterfeltsekvens av primitive rasteroperasjoner. Således beskriver feltbeskrivelseskommandoene objekter og regler angående hvordan objektene skal anbringes på rasterfeltene. For eksempel kan feltbeskrivelseskommandoene gi infografisk-språk-prosessoren instruks om å plassere et ruteformet sett av bildeelementer over en fargebildebakgrunn, og å anbringe de resulterende bildeelementer på et bestemt lagersted i et punktmatrise-rasterlager. Eventuelt kan feltkommandoene gi infografisk-språk-prosessoren instruks om å danne et felles brevhode som et første felt, et tekstbilde omfattende en bokstav som et andre felt, og et bilde av en signatur som et tredje felt. Feltbeskrivelseskommandoer skal beskrives nærmere nedenfor.
Slik som videre vist på fig. 4, er den andre utgang fra genereringsmodulen 205 dokumentredigeringsinformasjon 207. Dokumentredigeringsinformasj onen beskriver hvordan de felter som er definert av feltbeskrivelseskommandoene 206, skal anbringes på et punktmatriseraster som svarer til en dokumentside. Spesielt omfatter dokumentredigeringsinf ormas j onen informasjon med hensyn til hvordan feltene avbildes på rasterlageret. For eksempel kan dokumentredigeringskommandoer gi infografisk-språk-prosessoren ordre om å avbilde flere felter på forskjellige og eventuelt overlappende posisjoner i punktmatriserasteret for en side. Når det dreier seg om trykkbare eller skrivbare dokumenter, kan dokumentredigeringsinf ormas j onen omfatte spesialiserte skriveinstruk-s joner, så som dupleksskriving, og den kan også inneholde papirarkhåndterings- og avslutningsinstruksjoner, så som stifting og kollasjonsinstruksjoner.
Grafisk-språk-kommandoene 206 og dokumentredigeringsinformasjonen utmates på de operasjonstrinndelte (pipelined) utganger via et grensesnitt 208. Grensesnittet 208 kan være et fysisk grensesnitt mellom separate anordninger, så som grensesnittet mellom en vertsprosessorenhet og en utskriftsmaskin. Det er for eksempel mulig å realisere kommunikasjonsgrensesnittet 202, PDL-tolkeren 204 og modulen 205 for generering av infografisk språk som en skriverdriver i en vertsprosessorenhet. I dette tilfelle blir sidebeskrivelsesspråkkommandoer som genereres i vertsdatamaskinen, også omformet til infograf isk-språk-kommandoer 206 og dokumentredigeringsinf ormas jon 207, og utmates over et operasjonstrinndelt grensesnitt direkte til en utskriftsmaskin. I den her beskrevne utførelse er imidlertid grensesnittet 208 et grensesnitt mellom to moduler i styreenheten 11. Modulene kan realiseres enten i programvare eller i maskinvare.
De infografiske språkkommandoer 206 innmates til en infografisk-språk-prosessor (GL-prosessor) 209 som omgjør de infografiske språkkommandoer til et tomt raster som tilveiebringes fra et punktmatriserasterforråd 210. Det fylte raster tilveiebringes til et utskriftsmaskin-videogrensesnitt 212 som tilveiebringer inngangen til skriverens laserdriver 14.
Dokumentredigeringsfunksjonen 207 tilveiebringes til en systemfordeler 214 som koordinerer drift av de forskjellige moduler. Spesielt tilveiebringer systemfordeleren 214 et tomt raster fra punktmatriserasterforrådet 210 til GL-prosessoren 209 og gir GL-prosessoren instruks om å begynne å omgjøre bildeele-mentbilder inn i rasteret. Når GL-prosessoren 209 fullfører omgjøring av rasterbildet, gir systemfordeleren 214 utskriftsmaskin-videogrensesnittet 212 instruks om å begynne å tilveiebringe data til laserdriveren 14 i overensstemmelse med det omgjorte rasterbilde. I synkronisme med modulering av laserstrålen gir systemfordeleren 214 utskriftsmaskinmodulen 215 instruks om å begynne operasjon av de forskjellige mekaniske sider av skriveren 10, så som arkfremmating, trommelrotasjon og valsefik-sering. Systemfordeleren 214 gir også instruks om dupleksskriving, papirutmating, stifting, kollasjon og annen doku-mentavslutningsinf ormas jon i overensstemmelse med dokumentredigeringsinformasjonen 207.
Fig. 5 viser et detaljert riss av GL-prosessoren 209. Slik det fremgår av figuren, omfatter prosessoren 209 en infografisk-språk-tolker (GL-tolker) 220 som analyserer en strøm av infografiske språkkommandoer og tolker de infografiske språkkommandoer. Spesielt lagrer GL-tolkeren GL-objekter 224 etter hvert som disse objekter påtreffes i strømmen av infografiske språkkommandoer. GL-tolkeren overfører også maskeanbringelseskommandoer til en maskegenerator 221, og overfører bakgrunnsgenereringskom-mandoer til en bakgrunnsgenerator 222 når disse kommandoer påtreffes i strømmen av infografiske språkkommandoer. Maskegeneratoren 221 genererer maskeinformasjon, så som masken M som er vist på fig. 1. Likeledes genererer bakgrunnsgeneratoren 222 bakgrunnsinformasjon, så som bakgrunnen B som er vist på fig. 1. Både maskegeneratoren 221 og bakgrunnsgeneratoren 222 benytter eller disponerer over GL-objekter som er lagret i et GL-objekt-lager 224.
De masker som genereres av maskegeneratoren 221, overføres til en klipper 225 som klipper maskene, dersom det ønskes, i overensstemmelse med GL-kommandoene. Klipperen 225 disponerer også over GL-ob jekter som er lagret i GL-ob jektlageret 224.
Utgangssignalet fra klipperen 225 og utgangssignalet fra bakgrunnsgeneratoren 222 tilføres til en raster-OP-maskin 226. Raster-OP-maskinen 226 tjener til å anbringe den maske som genereres av maskegeneratoren 221, slik den er klippet av klipperen 225, på den bakgrunn som genereres av bakgrunnsgeneratoren 222. Raster-OP-maskinen anbringer masken i overensstemmelse med en anbringelses funksjon som defineres av et GL-tilstandslager 227. Som vist på fig. 6, er det f.eks. blitt spesifisert en ugjennomsiktig anbringelsesfunksjon. Når raster-OP-maskinen anbringer den maske som er generert av generatoren 221 og klippet av klipperen 225, på det bakgrunnsplan som er generert av generatoren 222, slettes følgelig en eventuell informasjon i det innledende raster ved forming av det resulterende raster. Andre anbringelsesfunksjoner er mulige, for eksempel gjennomsiktige anbringelsesfunksjoner eller additive anbringel-sesf unks joner .
Det raster på hvilket raster-OP-maskinen 226 opererer, tilveiebringes fra et punktmatrise-rasterforråd 229 slik som koordinert av systemfordeleren 214. Når alle anbringelser er blitt avsluttet, som angitt i dokumentredigeringsinformasjonen 207, tilveiebringer raster-OP-maskinen et fylt raster tilbake til punktmatrise-rasterforrådet, og det fylte raster utskrives av skriveren 10.
Fig. 7 er et detaljert prinsippriss som viser oppbyg-ningen av maskegeneratoren 221 og bakgrunnsgeneratoren 222, og som dessuten viser raster-OP-maskinens 226 anbringelsesprosess. På fig. 7 er noen av de elementer som er vist på fig. 5, ikke vist, for å forenkle den etterfølgende fremstilling.
Som vist på fig. 7, omfatter maskegeneratoren 221 flere maskegeneratorer som er blitt konstruert spesielt for å frembringe spesialiserte bildeelement-primitive objekter. Spesielt omfatter maskegeneratoren 221 en punktmatrise-maskegenerator 221a, en trapes-maskegenerator 221b, en linjegenerator 221c, en kjørelengde-maskegenerator 221d, en rutemaske-generator (boxmask generator) 221e, og en generator 221f som genererer andre kompakte representasjoner. Mer detaljert frembringer punktmatrise-maskegeneratoren 221a en punktmatrisemaske som reaksjon på GL-kommandoer fra GL-tolkeren 220. Punktmatrisemasker er bit-for-bit-bildeelement-representasjoner av en maske.
Trapes-maskegeneratoren 221b genererer en trapesformet maske som reaksjon på GL-kommandoer fra GL-tolkeren 220. Trapesmasker definerer trapesformede objekter i rasterlageret.
Linjegeneratoren 221c genererer strektegninger med spesiell tykkelse som reaksjon på GL-kommandoer fra GL-tolkeren 220.
Kjørelengde-maskegeneratoren 221d koder kjørelengde-masker basert på kjørelengden av bildeelementer innenfor masken.
Rutemaskegeneratoren 22le genererer en ruteformet maske med spesiell bredde og høyde som reaksjon på kommandoer fra GL-tolkeren 220.
Andre kompakte representasjoner er mulige, og ovennevnte sett skal ikke betraktes som begrensende, men snarere bare som representativt for de typer av masker som genereres av maskegeneratoren 221.
Bakgrunnsgeneratoren 222 omfatter en fargebakgrunns-generator 222a, en flisbakgrunnsgenerator 222b, og en bildebakgrunnsgenerator 222c.
Mer detaljert reagerer fargebakgrunnsgeneratoren 222a på GL-kommandoer fra GL-tolkeren 220 og genererer en massiv fargebakgrunn med spesifisert farge.
En flisbakgrunnsgenerator (tile background generator) 222b genererer og gjentar en flis som er spesifisert av GL-tolkeren 220. Flismønsteret gjentas tvers over hele bakgrunnen
i det område som er spesifisert av GL-tolkeren.
En bildebakgrunnsgenerator 222c tilveiebringer en bildebakgrunn i et bilde-for-bilde-format, slik som spesifisert av GL-tolkeren 220.
Andre bakgrunnsgeneratorer er mulige, og ovennevnte liste må ikke betraktes i begrensende betydning, men snarere bare som representativ for den type bakgrunnsgeneratorer som kan være inkludert i bakgrunnsgeneratoren 222.
Fig. 7 illustrerer også hvordan et aktuelt raster 230 oppdateres av raster-OP-maskinen 226 som reaksjon på infografiske språkkommandoer, slik at det frembringes et oppdatert raster 231. Som vist på fig. 7, har GL-tolkeren 220 mottatt infografisk-språk-kommandoen "anbring klippet rute (w,h) ved <x,y> med bildebakgrunn" . (En liste av infografisk-språk-kommandoer er gitt i Tillegg A. ) Som reaksjon på den første del av GL-kommandoen, nemlig "anbring klippet rute (w,h)", aktiverer GL-tolkeren 220 rutemaskegeneratoren 221e. Rutemaskegeneratoren 221e genererer en ruteformet maske med bredde w og høyde h som illustrerende vist ved utgangen av maskegeneratoren 221. Deretter benytter klipperen 225 infografisk-språk-objektene som er lagret i lageret 224, for å tilveiebringe en klippet form, som illustrerende vist ved siden av klipperen 225. Den resulterende klippede rute tilveiebringes til raster-OP-maskinen 226.
Som reaksjon på den senere del av GL-kommandoen, nemlig "med bakgrunn", aktiverer GL-tolkeren 220 bildebakgrunnsgeneratoren 222c. Bildebakgrunnsgeneratoren 222c benytter infografisk-språk-objektene som er lagret i lageret 224, og tilveiebringer bildebakgrunnen, som kan være en fargebildebakgrunn, til raster-OP-maskinen 226.
Som reaksjon på den informasjon som er tilveiebrakt av klipperen 225 og bakgrunnsgeneratoren 222, påfører raster-OP-maskinen 226 den klipte maske på bakgrunnen i overensstemmelse med den anbringelsesfunksjon som er spesifisert av tilstands-lageret 227. Anbringelsesfunksjonen er her spesifisert ved "ugjennomsiktig", i overensstemmelse med hvilken raster-OP-maskinen 226 anbringer de maskerte og klipte område av bakgrunnen i posisjonen <x,y> av det aktuelle raster, slik at den oppnår det oppdaterte raster som er vist ved 231. De foregående trinn utføres for hver kommando i strømmen av infografiske språkkommandoer for hvert felt, hvoretter dokumentredigeringsinformasjonen 207 utnyttes for å bestemme hvordan feltet anbringes på det totale punktmatriseraster.
Fig. 7 er blitt forklart som om prosessen var en sekvensiell prosess, som vist på fig. 8. Dvs., i trinn 1 genererer maskegeneratoren 221 en maske som tilveiebringes til klipperen 225. I trinn 2 klipper klipperen 225 masken passende og tilveiebringer denne til raster-OP-maskinen 226. I trinn 3 tilveiebringer bakgrunnsgeneratoren 222 en bakgrunn til raster-OP-maskinen 226, og i trinn 4 påfører raster-OP-maskinen 226 masken på bakgrunnen og skriver den inn i rasterbildet i punkt-matriserasterlageret. Selv om dette er én mulig utførelse av infografisk-språk-prosessoren, er andre utførelser mulige.
Som vist på fig. 9, er det således tilveiebrakt et tidsklareringsprogram 330 for å koordinere aktivitetene til maskegeneratoren 321, klipperen 325, bakgrunnsgeneratoren 322 og raster-OP-maskinen 326. Spesielt gir tidsklareringsprogrammet 330 hver av disse moduler instruks om å operere på et bestemt område av rasterbildet, så som området 330a. Et slik område er typisk et bånd i et oppdelt og båndinndelt (banded) område av et punktmatriselager, men dette er ikke nødvendigvis tilfelle, og området kan være hvilket som helst vilkårlig område i bildet. Tidsklareringsprogrammet 330 sekvenserer i serie gjennom hele området, for eksempel fra bånd til bånd, inntil hele siden i punktmatriselageret er blitt omgjort (rendered). Tidsklareringsprogrammet 330 forårsaker således at maskegeneratoren 321, bakgrunnsgeneratoren 322, klipperen 325 og raster-OP-maskinen 326 opererer på sekvensielle områder av punktmatriselageret, men opererer på bare et eneste område ad gangen. Infografisk-språk-objekter som er spesifisert for andre områder, blir midlertidig ignorert, og behandles først ved et senere tidspunkt når tidsklareringsprogrammet 330 indikerer at dette område nå skal behandles. Av denne grunn kan lageromkostninger (memory overhead) være nødvendige for konstruksjonen på fig. 9 for midlertidig å lagre infografisk-språk-kommandoene (GL-kommandoene). Omkostningene kan minimeres ved å sikre at de områder som velges fortløpende av tidsklareringsprogrammet 330, er tilstrekkelig store, slik at mengden av GL-kommandoer som trenger å lagres, minimeres.
Fig. 10 viser en annen utførelse av infografisk-språk-prosessoren i hvilken det er anordnet en koordinator 440 for å koordinere en operasjonstrinndelingsledning eller rørledning (pipeline) mellom maskegeneratoren 421, bakgrunnsgeneratoren 422, klipperen 425 og raster-OP-maskinen 426. I den utførelse som er vist på fig. 10, er spesielt hver av modulene en operas jonstrinn-delt modul som er konstruert for å operere på den informasjon det enn må være som for øyeblikket er først tilgjengelig i dens rørledning. Hver modul opererer på sin egen operasjonstrinndelte instruksjon i parallell og på samme tid, slik som generelt beskrevet i "Computer Architecture: A Quantitative Approach", D.A. Patterson og J.L. Hennessy, kapittel 6, Morgan Kaufman Publishing Company (1990). Som sådan er koordinatoren 440 anordnet for å sikre at modulene starter i synkronisme, og forblir i synkronisme gjennom hele operasjonen. Mens for eksempel bakgrunnsgeneratoren 422 således vil tilveiebringe en bakgrunn direkte til raster-OP-maskinen 426, er maskegeneratoren 421 ikke i stand til å tilveiebringe et tilsvarende maskeobjekt direkte til raster-OP-maskinen, på grunn av at klipperen 425 er innskutt mellom maskegeneratoren 421 og raster-OP-maskinen 426. Således sikrer koordinatoren 440 at den klipte maske som utmates av klipperen 425, er knyttet til den riktige bakgrunnsutmating fra bakgrunnsgeneratoren 422, slik at raster-OP-maskinen 426 opererer på innbyrdes tilknyttede informasjoner.
Den grafisk-språk-prosessor som er beskrevet i det foregående, kan kombineres med en skriver med en annen oppbyg-ning, så som den som er beskrevet i det følgende. I kombinasjon med de teknikker som er beskrevet i denne søknad, er det mulig å oversette de infografisk-språk-kommandoer som er beskrevet her, til en ytterligere DART-representasjon. DART-representasjonen er mottakelig for nøyaktig utforming av skriverressurser, slik at det er mulig å bestemme før en utskriftsoperasjon starter, hvorvidt det finnes tilstrekkelige skriverressurser til å fullføre utskriftsoperasjonen. Dersom tilstrekkelige ressurser er tilgjengelige, starter skriveren. På den annen side, dersom det ikke finnes tilstrekkelige skriverressurser, kan skriver-operasjonen endres, slik at det sikres at utskriftsoperasjonen kan fullføres.
[Andre utførelse]
I det følgende skal det beskrives en annen utførelse i hvilken den ovennevnte utførelse fortrinnsvis anvendes.
Den foreliggende utførelse angår en fremgangsmåte og en innretning for utskriving av et bilde hvor en utskrivings-operasjon kan endres før utskrivingsoperasjonen starter, i overensstemmelse med forutsigelser med hensyn til hvor mye av skriverens ressurser som vil bli benyttet ved utskriving av bildet, som nevnt i den foregående utførelse. Bildet lagres i en kodet representasjon før det omformes til et fullstendig rasterbilde, idet den kodede representasjon er mottakelig for nøyaktig utforming av ressurser som benyttes ved omforming til et fullstendig rasterbilde. Anvendelsen av skriverressurser ved omforming av den kodede representasjon av bildet til et fullstendig rasterbilde kan følgelig forutsies nøyaktig, og det kan bestemmes før utskriving hvorvidt skriveren har tilstrekkelige ressurser til å utskrive bildet. I det tilfelle at forutsigelsen indikerer at det er utilstrekkelige ressurser, kan ressurser tildeles på nytt (omfordeles), for å tillate bildet å utskrives.
På grunn av at den kodede representasjon tillater dynamisk og adaptiv bruk av skriverressurser, omtales representasjonen i det følgende som dynamisk, adaptiv ressurs-(eller oppløsnings-) teknologi, eller "DART"-representasjon.
Betrakt for eksempel de ressurser som er fremstilt grafisk på fig. 12, nemlig CPU-kraft, lager og båndbredde. CPU-kraft refererer til den hastighet og dyktighet med hvilken en CPU-enhet eller prosessorenhet i en skriverstyreenhet kan manipulere data og behandle disse fra én form til en annen. Lager refererer til den lagermengde som er tilgjengelig for skriveren. Båndbredde refererer til båndbredden eller dataoverføringshas-tigheten til en kommunikasjonsforbindelse til en ytre lageranordning. Inkludert i båndbredde er eventuelle kjente forsinkelser av den ytre lageranordning, for eksempel tilgangstid, mag-netplatehodeforsinkelser, og magnetplaterotasjonshastighet.
Hvilken som helst skriver vil ha tilgjengelig for denne en innhylling eller omhylling (envelope) av ressurser som er definert ved et punkt som representerer den maksimale CPU-kraft, det maksimale lager, og den maksimale båndbredde. Dersom forutsigerfunksjoner forutsier at omgjøring av DART-representasjonen til et fullstendig rasterbilde vil overskride den ene av disse ressurser, kan ressurs-bortbytting utføres. Dersom det for eksempel bestemmes at det er utilstrekkelig lager til å lagre bildet, men at CPU-kraft er underutnyttet (representert ved punktet A på fig. 12), er det mulig å sette i stedet en forskjellig DART-representasjon, nemlig en som bruker mindre lager, men som krever mer CPU-kraft for å omgjøre representasjonen til et fullstendig rasterbilde. Lager er således blitt byttet bort eller utvekslet med CPU-kraft. Denne bortbytting forskyver punkt A til punkt A' som ligger innenfor den ressursomhylling som er tilgjengelig for skriveren, og tillater utskriving å begynne.
Det er også mulig å forringe bildet, for eksempel ved å senke utskriftsoppløsningen eller ved å begrense antallet av grånivåer for halvtonebilder eller farger for fargebilder. Forringelse av bildet letter krav til lager uten å legge en ytterligere byrde på CPU-enheten. Denne bortbytting resulterer i en forskyvning av punkt A til punkt A" som ligger innenfor skriverressursomhyllingen og som tillater utskriving å begynne.
Omvendt kan forutsigerfunksjonene forutsi at CPU-enheten har utilstrekkelig CPU-kraft til å omgjøre et fullstendig rasterbilde fra DART-representasjonen på tilstrekkelig tid til å tilveiebringe rasterbildet til utskriftsmaskinen, dvs. det ville foreligge dataunderflyt. Dersom det er tilstrekkelig lager tilgjengelig (representert ved punkt B på fig. 12), kan CPU-kraft utveksles eller bortbyttes med lagerplass, f.eks. ved forhånds-rasterdannelse av den del av bildet som krever altfor mye CPU-kraft. Denne bortbytting forskyver punkt B til punkt B' som ligger innenfor utskrivingsinnretningens ressursomhylling, slik at utskriving kan begynne.
Likeledes er det også mulig å bortbytte CPU-kraft og/eller lager med båndbredde. For eksempel i et tilfelle som punkt C, hvor det forutsies at maksimal CPU-kraft allerede er i ferd med å oppbrukes for å omgjøre et fullstendig rasterbilde fra DART-representasjonen, men at lagerressurser likevel er overskredet, er det mulig å bytte bort lager med båndbredde, f.eks. ved å forårsake at en del av bildet lagres linje-frakoplet (off-line) og gjenfinnes ved behov via en kommunikasjonsforbindelse. Dette forskyver punkt C til punkt C som ligger innenfor utskrivingsinnretningens ressursomhylling. Forutsigerfunksjonene sikrer at båndbredden er tilstrekkelig, slik at rasterbildedata tilveiebringes i rett tid til utskriftsmaskinen, og utskriftsmaskinen ikke lider av dataunderflyt.
Fig. 13 viser et blokkskjerna av styreenheten 11. Enhver fysisk forbindelse i styreenheten 11 er ikke vist på fig. 13, men i stedet er fig. 13 ment å vise flyten av prosesser i styreenheten .
Som vist på fig. 13, omfatter styreenheten 11 en CPU-enhet (prosessorenhet) 41 som aksepterer bildedata, så som sidebeskrivelsesspråk fra kommunikasjonsgrensesnittet 12. CPU-enheten 41 omformer sidebeskrivelsesspråk-bildeinformasjon til et infografisk språk (eller en infografisk språkstrøm) ved benyttelse av en GL-oversetter 42. Infografisk språk (graphics language) er et språk som koder bildedata på et nivå mellom det meget kompakte PDL-nivå og det fullstendige rasterbilde-datanivå. Slik som beskrevet mer fullstendig nedenfor, inneholder et infografisk språk (GL-språk) primitiver (primitives), og regler med hensyn til hvordan disse primitiver anvendes på et punktmatriselager for å danne et fullstendig rasterbilde.
Ut fra GL-representasjonen ved 42 genererer CPU-enheten 41 en DART-representasjon via en generator 43. DART-representasjonen som frembringes av generatoren 43, er en kompakt, kodet representasjon for et rasterbilde i hvilken de ressurser som benyttes til å omforme fra DART-representasjonen til et fullstendig rasterbilde, kan forutsies med stor nøyaktighet. Den DART-representasjon som genereres av generatoren 43, benytter mange av de samme primitiver som GL-representasjonen. Til forskjell fra GL-språket som virker på et rasterbilde som helhet, virker imidlertid den DART-representasjon som genereres av generatoren 43, bare på båndinndelte oppdelinger (banded partitions) av bildet. Følgelig, og på grunn av at mer kompliserte primitiver som finnes i GL-representasjonen, ikke benyttes, kan nøyaktige forutsigere av ressursanvendelse tilveiebringes for DART-representasjonen, mens derimot slike forutsigere ikke kan tilveiebringes for GL-språket.
Den DART-representasjon som genereres av generatoren 43 for hvert bånd, lagres i et lager 44. Da utskriftsmaskinen 45 krever data som svarer til avsøking av laserstrålen 16 på den lysfølsomme trommel 20, omgjøres den representasjon som er lagret i lageret 44, til et fullstendig rasterbilde av båndet ved hjelp av en omgjører 46, og transporteres eller sendes av en avsender (shipper) 47 til utskriftsmaskinen.
Fig. 14 viser et representativt riss av hvordan et bilde oppdeles (eller båndinndeles) i overensstemmelse med den DART-representasjon som genereres av generatoren 43. Som vist på fig. 14, er sidebilder oppdelt i bånd som svarer til utskrifts-maskinens avsøkingsretning, her den horisontale retning. Typisk er omtrent 27 bånd tilstrekkelig til å behandle et bilde på 21,6 x 28 cm effektivt, selv om så mange bånd for enkelhetens skyld ikke er vist på fig. 14.
Lageret 44 er det samme lagerområde som det som i konvensjonelle skrivere svarer til punktmatriselageret. Lageret benyttes som en kø: etter hvert som DART-bilder genereres, brukes lageret opp, og etter hvert som de omgjøres og avsendes til utskriftsmaskinen, frigjøres lageret. Så snart en ny side skal frembringes, tildeles lager ved starten av fritt lager. Det er sørget for rundhopp fra enden av fysisk lager til begynnelsen av dette. Så snart alle DART-objekter og anvendelser er blitt generert for siden, og båndrasterlagring tilføyd til siden, startes etterfølgende sider ved slutten av den aktuelle sides lager. Så snart denne side er blitt fullstendig avsendt, blir dens båndrastere, objekter og sideinformasjonsstruktur fraordnet og gjort tilgjengelig for gjentatt bruk.
Hvert av de bånd som er vist på fig. 14, behandles sekvensielt av generatoren 43. Således behandler for eksempel generatoren 43 først bånd0 av side i, og lagrer den således oppnådde DART-representasjon på toppen av lageret 44. Generatoren 43 behandler deretter båndx for side i og lagrer den således oppnådde DART-representasjon i det neste sekvensielle område i lageret 44. Behandlingen fortsetter inntil det siste bånd av side i, svarende til båndk, ved hvilket tidspunkt en DART-representasjon for hele siden lagres i lageret 44. Ved dette tidspunkt eksisterer ennå ikke et fullstendig rasterisert bilde for side i, men i stedet bare den båndinndelte DART-representasjon.
Etter hvert som hvert bånd behandles av generatoren 43, benytter CPU-enheten 41 forutsigerfunksjoner til å sikre at de ressurser som er tilgjengelige i skriveren 10, ikke vil bli overskredet når den DART-representasjon som er lagret i lageret 44, omgjøres til et fullstendig rasterbilde. Slike forutsigelser er mulige på grunn av strukturen av primitivene i DART-representasjonen, og på grunn av sikkerheten av den kode som omgjør det fullstendige rasterbilde fra DART-representasjonen. Dersom det antas at hvert av båndene kan omgjøres uten å overskride skriverens ressurser, tilføyer CPU-enheten 41 to blanke eller tomme båndrastere (dvs. båndraster0 og båndrasterx) til slutten av side i i lageret 44. Hvert av de tomme båndrastere er på stør-relse med et fullstendig punktmatrisebilde for et eneste bånd med den ønskede utskriftsoppløsning.
Generatoren 43 begynner deretter å generere en båndinndelt DART-representasjon for den neste side, nemlig side i + 1.
I mellomtiden begynner omgjøreren 46 å omgjøre de båndinndelte DART-representasjoner av bildet av side i til et fullstendig rasterbilde på de blanke eller tomme bånd. Først omgjør omgjøreren 46 bånd0 til båndraster0. Deretter omgjør omgjøreren 46 DART-representasjonen i båndx til et fullstendig rasterbilde i båndraster^ I mellomtiden, mens båndx er<*> i ferd med å omgjøres, avsender avsenderen 47 det fullstendige punktmatriserasterbilde i båndraster0 til utskriftsmaskinen 45, slik at dette bånd utmates. Ved det tidspunkt da båndraster0 er blitt avsendt til maskinen 45, har omgjøreren 46 omgjort et fullstendig rasterbilde for utskriving av båndx i båndraster^ Tilgjen-geligheten av tilstrekkelige ressurser for å tilveiebringe det fullstendige rasterbilde i tide til å unngå utskriftsmaskin-dataunderflyt, er blitt garantert før utskrivingen ved hjelp av forutsigerfunksj onene. ;Avsenderen 47 avsender deretter det fullstendige rasterbilde som er tilgjengelig i båndraster^ I mellomtiden omgjør omgjøreren 46 et fullstendig punktmatriserasterbilde ut fra den rasterrepresentasjon som er lagret i bånd2. Denne prosess fortsetter inntil hele side i er blitt omgjort av omgjøreren 46 og avsendt til utskriftsmaskinen 45 av avsenderen 47. ;I løpet av den periode da DART-representasjonen av side i er i ferd med å omgjøres til et fullstendig rasterbilde og avsendes for utskriving, utnyttes eventuell ledig CPU-tid til å omforme PDL-språket for den neste side, nemlig side i + 1, til en DART-representasjon på samme måte som beskrevet ovenfor for side i. ;Dersom CPU-enheten 41 i ovennevnte prosess bestemmer, ved hjelp av bruken av forutsigerfunksjonene, at omgjøring av et fullstendig rasterbilde fra DART-representasjonen vil overskride de tilgjengelige ressurser, utføres ressurs-bortbytting eller gjen-tildeling (re-allocation). Dersom det for eksempel bestemmes at DART-representasjonen er større enn et fullstendig rasterbilde av utskriftsinformasjonen, hvilket indikerer at DART-representasjonen er mindre ytedyktig enn et fullstendig rasterbilde, kan en forskjellig og mer kompakt DART-representasjon genereres av generatoren 43 dersom CPU-kraft fremdeles er tilgjengelig. Omvendt, dersom det bestemmes at CPU-enheten 41 ikke vil ha tilstrekkelig kraft til å omgjøre et fullstendig rasterbilde fra DART-representasjonen på den tid som kreves for å behandle et bånd av informasjon, hvilket ville resultere i utskriftsmaskin-dataunderflyt, er det mulig å forhåndsrasterisere det krenkende bånd (eller å forhåndsrasterisere hele eller noe av den side som inneholder det krenkende bånd), slik at allerede rasteriserte data kan leveres til avsenderen 47 ved det riktige tidspunkt. ;Den samlede prosess er fremstilt på fig. 15. Prosess-trinnene på fig. 15 er lagret i et ikke vist lager i styreenheten 11 og utføres av CPU-enheten 41. ;I trinn S601 innmater styreenheten 11 bildedata fra kommunikasjonsporten 12. Bildedataene genereres typisk av en ikke vist vertsdatamaskin som sender bildedataene til styreenheten 11 i en kompakt kode, så som et sidebeskrivelsesspråk. ;I trinn S602 oversetter oversetteren 42 PDL-bildedataene til GL-bildedata. I trinn S603 genererer generatoren 42 en DART-representasjon ut fra GL-dataene og lagrer denne i lageret 44. Etter hvert som DART-representasjonen genereres, båndinndeles den i trinn S604, og i trinn S605 opprettholder CPU-enheten 41 et løpende regnskap med ressursanvendelse som vil bli påkrevd ved omgjøring av DART-representasjonen til et fullstendig rasterbilde. Spesielt blir det for hver av de forskjellige DART-representasjoner tilveiebrakt forutsigere som forutsier (a) CPU-kraft påkrevd for å omgjøre DART-representasjonen, og (b) lager påkrevd for å lagre DART-representasjonen. Dersom skriveren 10 var utstyrt med et ytre lager som var forbundet med CPU-enheten 41 via en båndbreddebegrenset kommunikasjonslinje, ville en tredje forutsiger være anordnet med hensyn til båndbreddekravene ;for hver DART-representasjon. ;De ressurser som er beskrevet her, nemlig CPU-kraft, lager og båndbredde, er representative for de typer av ressurser som skriveren 10 kan være forsynt med. For hver ytterligere ressurs er tilsvarende forutsigerfunksjoner likeledes tilveiebrakt og benyttes av CPU-enheten 41 for å holde regnskap med ressursanvendelse. ;I trinn S606 bestemmer CPU-enheten 41, basert på regnskapet fra f orutsiger funksjonene, hvorvidt ressursanvendelse vil bli overskredet ved omgjøring av DART-representasjonen for det aktuelle bånd til et fullstendig rasterbilde i båndrasterne. Trinnet S606 kan utføres periodisk under DART-generering, f.eks. etter at hver DART-representasjon er generert, eller det kan utføres etter at DART-representasjonen for det fullstendige bånd er generert. Når det dreier seg om beskrivelse av hvor vidt lageranvendelse er overskredet av DART-representasjonen, foretrekkes det å utføre trinn S606 periodisk, for eksempel hver gang et nytt DART-objekt frembringes. ;Dersom CPU-enheten 41 i trinn S606 bestemmer at res-surskrav for å omgjøre det aktuelle bånd ikke kan oppfylles, rykker flyten frem til trinn S607 hvor CPU-enheten 41 bestemmer hvor vidt det finnes ytterligere GL-kode for den aktuelle side. Dersom det finnes mer GL-kode for siden, returnerer flyten til trinn S604 inntil de resterende bildedata er blitt behandlet. ;Når DART-representasjoner for alle bånd i siden er blitt generert, rykker flyten frem fra trinn S607 til trinn S608 hvor to blankbåndrastere tilføyes til den DART-representasjon som er lagret i lageret 44. Dersom flyten har rykket frem til dette trinn, er det kjent at de ressurser som er tilgjengelige i skriveren, er tilstrekkelige til å omgjøre DART-representasjonen bånd for bånd til et fullstendig rasterbilde uten fare for å overskride skriverressurser, f .eks. det finnes tilstrekkelig CPU-kraft til å unngå dataunderflyt til utskriftsmaskinen. ;I trinn S610 omgjøres DART-representasjoner bånd for bånd til avvekslende rastere av paret av båndrastere, slik som beskrevet ovenfor i forbindelse med fig. 14. I trinn S611 avsender deretter avsenderen 47 rasterbildet til utskriftsmaskinen 45. Trinnene S610 og S611 utføres samtidig og sekvensielt, slik at, som beskrevet i forbindelse med fig. 14, etter hvert som avsenderen 47 avslutter avsendelse av ett rasterbildebånd fra det ene båndraster, har omgjøreren 46 fullført omgjøring av det neste bånd av DART-representasjon til det andre båndraster. ;Det er også mulig å tilveiebringe mer enn to blankbåndrastere, i hvilket tilfelle omgjøreren 46 fullfører omgjøring av et fast antall bånd foran avsenderen 47. ;Etter at den aktuelle side er blitt utskrevet, eller når CPU-tid tillater det under omgjøring og avsendelse i trinnene S610 og S611, begynner CPU-enheten 41 å behandle den neste side (trinn S612) i overensstemmelse med den totale flyt som er vist på fig. 15. ;Dersom CPU-enheten 41 i trinn S606 bestemmer at utilstrekkelige ressurser er tilgjengelige i skriveren, er det kjent at de ressurser som er nødvendige for å omgjøre eller lagre den aktuelle DART-representasjon, overskrider skriverens ressursomhylling. Flyten rykker da frem til trinn S613 hvor CPU-enheten 41 utfører ressurs-bortbytting eller gjen-tildeling i et forsøk på å passe DART-representasjonen inn i skriverens ressursomhylling. I begynnelsen utvelges en forskjellig DART-representasjon for det krenkende bånd. Dersom for eksempel lagerressursen er blitt overskredet, kan en lagerintensiv DART-representasjon erstattes av en forskjellig representasjon som bruker forholdsvis mindre lager. Likeledes, dersom CPU-ressursen er blitt overskredet, kan en CPU-intensiv DART-representasjon erstattes av en forskjellig representasjon som bruker forholdsvis mindre CPU-enhet. For eksempel kan det krenkende bånd forhåndsrasteriseres og lagres i lageret 44, slik at det er klart for utskriving ved hjelp av utskriftsmaskinen uten noen ytterligere CPU-behandling. ;I trinn S614 forutsies ressursanvendelse med de forskjellige DART-representas joner på nytt. Dersom ressursanvendelse nå faller innenfor ressursomhyllingen, går strømmen videre til trinn S607 og fortsetter slik som beskrevet ovenfor. Dersom ressursanvendelse fremdeles er overskredet, kan ytterligere forsøk gjøres på å bringe ressursanvendelsen innenfor skriveromhyllingen (trinn S613 og S614). ;Alternativt, eller i det tilfelle hvor det ikke er mulig for DART-representasjonen å bli brakt innenfor ressursomhyllingen, forringes bildet forut for utskriving. Forringelse reduserer automatisk ressurskravene. I det eksempel som er gitt her, forringes bildet ved å redusere oppløsningen (eller bildeelementtettheten) fra 600 punkter pr. tomme (dpi) til 300 dpi. Bildeforringelse kan også anta andre former: for et halvtonebilde kan forringelse også omfatte reduksjon av antallet av grånivåer; for et fargebilde kan forringelse også omfatte reduksjon av antallet av farger. ;I trinn S616, som forberedelse for oppløsningsfor-ringelse, fullføres behandling for alle tidligere sider i lageret 44, dvs. DART-representasjoner for tidligere sider omgjøres og avsendes som vist i trinnene S610 og S611. ;I trinn S617 forringes bildeoppløsning ved omgjøring av de DART-representasjoner som allerede er blitt generert av generatoren 43. DART-representasjonene omgjøres på stedet i lageret 44, men med den forringede oppløsning. Deretter blir GL-språk, som ikke allerede er blitt behandlet, omformet til et forringet rasterbilde i lageret 44. Omformingen skjer enten direkte til det forringede rasterbilde, eller indirekte ved først å generere en DART-representasjon og deretter omgjøre denne. ;I trinn S618 avsender avsenderen 47 det forringede rasterbilde til utskriftsmaskinen. Når forringelse er nødvendig, bør den fortrinnsvis suppleres med en eller annen form for bildeforsterkning, slik at virkningene av forringelse minimeres. Når det for eksempel dreier seg om oppløsningsforringelse, kan en utjevningskrets, så som den som er beskrevet i US-patentskrift 4 878 068, benyttes ved det tidspunkt da det forringede bilde avsendes, for å oppmyke utseendet av det utskrevne, forringede bilde. ;I trinn S619 begynner behandling av den neste side, men uten forringelse. ;Trinnene S613 til S619 sørger for gjentatte forsøk på å tildele ressursanvendelse på nytt, slik at tilstrekkelige ressurser er tilgjengelige for DART-representasjonen. I en enkleste form for ressursbortbytting, og i den utførelse som for tiden foretrekkes, antar imidlertid ressursbortbytting formen av øyeblikkelig bildeforringelse når det bestemmes at ressurser er blitt overskredet, slik at fargen, gråskalaen eller bildeelementtettheten (eller oppløsningen) forringes. Når det dreier seg om et enkelt svart/hvitt-bilde som er i ferd med å omgjøres til f .eks. et 600 dpi rasterbilde, kan oppløsningen forringes til 300 dpi og et fullstendig rasterbilde kan lagres i lageret 44. I dette tilfelle omformes DART-representasjonen på stedet til et forringet, men fullstendig rasterbilde av bildedataene, hvoretter det fullstendige rasterbilde avsendes via avsenderen 47 til utskriftsmaskinen 45. Dersom det ønskes, kan bildeutjevningsteknik-ker anvendes, så som de som er beskrevet i US-patentskrift 4 878 068, for å forbedre utseendet av bildet med lavere oppløsning. ;Fig. 16 viser den enkleste form for ressurs-bortbytting. På fig. 16 er trinnene S601 til S604 de samme som å fig. 15, og en beskrivelse av disse utelates. ;I trinn S605 opprettholder CPU-enheten 41 et løpende regnskap med ressursanvendelse som vil bli påkrevd ved omgjøring av DART-representasjonen til et fullstendig rasterbilde. Slik som i utførelsen på fig. 15, er det for hver av de forskjellige DART-representas joner tilveiebrakt forutsigere for å forutsi CPU-kraft, lageranvendelse, båndbredde osv. I tillegg, for å sikre at det er tilstrekkelig lager til å rasterisere et forringet bilde i punktmatriselageret (dersom forringelse er nødvendig), opprettholdes et løpende regnskap med det lager som vil være påkrevd for å rasterisere et fullstendig punktmatrisebilde med den forringede oppløsning. ;Trinnene S607 til S608 er de samme som på fig. 15 og beskrivelse av disse utelates. ;I trinn S606, dersom det bestemmes at ressursanvendelse er blitt overskredet, eller dersom det bestemmes at det lager som kreves for å rasterisere et fullstendig punktmatrisebilde med den forringede oppløsning, overskrider tilgjengelig lager, blir bildet umiddelbart forringet, slik at ressursanvendelse bringes innenfor skriverens ressursomhylling. Bildeforringelse utføres i trinnene S620, S621, S622 og S623 som er de samme som de respektive trinn S616, S617, S618 og S619 på fig. 15. ;De forskjellige DART-representas joner av bildet som for tiden foretrekkes, og de forutsigerfunksjoner som er knyttet til disse representasjoner, er gitt som følger. ;De primitiver som benyttes for representasjonen, er objekter og bakgrunner. DART-representasjonen omfatter en rekke anvendelser av forskjellige av disse objekter til forskjellige av bakgrunnene. ;En bakgrunn består av enten en punktmatriseflis eller et bilde. Punktmatrisef liser avledes fra GL-bilderepresentasjonen fra oversetteren 42. Farge kan avbildes på en punktmatriseflis ved avbildning av farger inn på fargeflåtene (color planes) av tilsvarende fliser. Et bilde er en bilderepresentasjon og optimeres for rask omgjøring og forutsigelse. ;De objektprimitiver som utnyttes i rasterrepresenta-sjonen, foretrekkes på grunn av at deres omgjøring til fullstendige rasterbilder kan forutsies med sikkerhet og med nøyaktighet. Det foretrukne sett av objektprimitiver omfatter punktmatriser, kjørelengdesekvenser, trapes-sekvenser, ruter og kodede punktmatriser med fast grense (fast boundary encoded bit maps). Hvert av disse objekter defineres med større spesifisitet nedenfor. ;En eneste anbringelse av en DART-kodet bilderepresentasjon på et fullstendig rasterisert punktmatriselager er fremstilt på fig. 17. En bakgrunnsf unks jon som er definert ved en flis eller et bilde, er der tilveiebrakt til en anbringelsesmaskin (raster-OP-maskin i den første utførelse). Et objekt, så som en punktmatrise, kjørelengde, trapes, rute eller kodet punktmatrise med fast grense, er også tilveiebrakt til anbringelsesmaskinen. Anbringelsesmaskinen anbringer objektet på bakgrunnen i et spesifisert område i punktmatrisen for båndet under betraktning, slik at det innledende raster i punktmatrisen omformes til det resulterende raster som er vist på fig. 17. ;Forskjellige omgjørings f unks joner (rendering functions) benyttes for forskjellige DART-objekter, og hver omgjøringsfunk-sjon er skreddersydd for å omgjøre sitt tilhørende DART-objekt så effektivt som mulig. Omgjøringsfunksjonene er fortrinnsvis optimert for hastigheten på styreenhetens CPU-enhet og for kodekompaktheten. Passende omgjøringsfunksjoner er beskrevet av Foley, van Dam, Feiner og Hughes i "Computer Graphics: Principles and Practice" (2. utgave), publisert i 1987 av Addison-Wesley Publishing Company. ;Forutsigere for DART-representasjonen forutsier både det lager som kreves for å lagre DART-representasjonen, og den tid (eller CPU-kraft) som er nødvendig for å omgjøre DART-representasjonen. Det lager som kreves for å lagre DART-representasjonen mens det i'te bånd i et bilde omgjøres, er generelt hvor BåndStørrelse^ er den lagermengde som vil være frigjort etter at det k'te bånd er omgjort, BåndRasterStørrelse er stør-relsen av de fullstendig rasteriserte båndrastere som er tilføyd til slutten av sidelageret, og n er antallet av for øyeblikket lagrede bånd av DART-objekter. CPU-enheten 41 sikrer at dette lagerkrav ikke overskrider tilgjengelig lager. I utførelser som er lik den utførelse som er vist på fig. 16, hvor bilder omgjøres med forringet oppløsning når utilstrekkelige ressurser er tilgjengelige for utskriving med høyere oppløsning, sikrer CPU-enheten 41 også at lagerkravene ikke overskrider hva som er nødvendig for å omgjøre bildet med den forringede oppløsning, nemlig: hvor BåndRasterStørrelseForringet er størrelsen av båndrastere med den forringede oppløsning. ;Når det gjelder forutsigere av den tid (eller CPU-kraft) som er nødvendig for å omgjøre DART-representasjonen, da omgjøring innebærer generering av både objekter og bakgrunner, så vel som anbringelsen eller anvendelsen av objektene og bakgrunnene på rasteret, er den tid som kreves for å omgjøre, avhengig av summen av tidene for disse funksjoner. Forutsigerfunksjonene avspeiler denne avhengighet. I praksis tilføyes også en administrasjonsfaktor for å gi rom for systemadministrative prosesser i omgjøringsprosessen. ;Nærmere beskrivelser av objektene og deres tilhørende f orutsigerf unks joner skal gis i det følgende. I alminnelighet har imidlertid alle forutsigerfunksjoner for CPU-enheten formen hvor Anbr±ngelsesT±d er den tid som er nødvendig for å anbringe DART-objektet, BaJcgxrunnsTid er den tid som er nødvendig for å utvide bakgrunnen, og Admin istrasjonsFaktor er den forannevnte administrasjonsfaktor for å gi rom for system-administrative prosesser. Bakgzrunnstid avhenger av det område av bakgrunnen som utvides for omgjøring, og er også avhengig av typen av bakgrunn og dens utvidelsesalgoritme. ;Slik som navnet antyder, er et punktmatriseobjekt ganske enkelt et punktmatrise-rasterbilde av et objekt. Som vist på fig. 18, omfatter objektet 71 således en identifikasjons-merkelapp etterfulgt av et punktmatrise-rasterisert bilde av objektet 71. ;Anbringelsen av et parti 72 av punktmatriseobjektet i et bånd er også vist på fig. 18. Som vist på figuren, skal objektet anbringes på båndet idet det begynnes med en forskyvning forsk fra begynnelsen av objektet, og skal anbringes i en posisjon by. x og for en høyde ht innenfor båndet. Anbringelsen er vist ved 73 og omfatter en modusdefinisjon som definerer den bakgrunn over hvilken objektet skal anbringes, så vel som bx- og by-koordinatene innenfor båndet ved hvilke objektet skal anbringes, og den høyde bt over hvilken objektet skal anbringes. ID-merkelappen for objektet er spesifisert, og forskyvningen innenfor objektet er inkludert. Forutsigerfunksj onen for den CPU-kraft som er nødvendig for å omgjøre en punktmatriseanbringelse, er ;hvor Nx er en iverksettelsesfaktor som er relatert til antallet av CPU-sykluser som er nødvendig for å anbringe hver rekke av punktmatriseobj ektet. ;Kjørelengdeobjekter er vist på fig. 19. Kjørelengde-objekter er segmentert, idet hvert segment beskriver suksessive avsøkingslinjer og hver avsøkingslinje består av en eneste kjørelengde. Som vist på fig. 19, omfatter således kjørelengde-ob j ektet 81 segmenter 1-4. ;DART-representasjonen av et kjørelengdeobjekt er vist ved 82. Objektet omfatter en ID-merkelapp og en segmentindeks som inneholder informasjon om det segment som omgjør tidsberegning. Denne informasjon benyttes av f orutsiger funksjonen. Hvert segment inneholder beskrivelse av opp til et forutbestemt antall kjørelengder, og hvert segment er stilt kant i kant med bitgrup-pegrenser (byte boundaries). ;Et segment definerer suksessive kjørelengder på differensiell måte, ved å modifisere segmenttilstanden under gjennomgang. Segmentet består av to par av konturtilstander (venstre og høyre). Hver kontur består av en posisjon x og et inkrement dx. ;Ved begynnelsen av segmentet gjelder: ;;For hver avsøkingslinje i definerer segmentet et fremrykkingstrinn (advance step) på formen: step1=<advl1, advri>, som benyttes på følgende måte: ;Anbringelsen av et parti 83 av et kjørelengdeobjekt 81 i et bånd 84 er også vist på fig. 19. Partiet 83 av kjøre-lengdeob j ektet 81 anbringes der i en posisjon by, x innenfor båndet 84 og fortsetter over en høyde ht. Den kodede representasjon for denne anbringelse er vist ved 85 og omfatter en modus som definerer den type bakgrunn over hvilken kjørelengdeobjektet anbringes. Det er tilveiebrakt X-, by- og lit-koordinatinf ormas jon så vel som en ID-merkelapp, segmentet fra segmentindeksen, og forskyvningen (doff) fra segmentets begynnelse. ;Forutsigerfunksj onen for den CPU-kraft som er nødvendig for å omgjøre et kjørelengdeobjekt, er hvor parametrene N2 og N3 likner på parametrene for punktmatriseobj ekter. ;Fig. 20 viser trapes-objekter. Trapes-objekter er ikke segmentert, i motsetning til kjørelengdeobjekter. Dette er på grunn av at det antas at trapes-sekvenser vanligvis ikke er beregnet å anvendes på nytt (de beskriver store områder av rasteret). ;Hvert objekt beskriver suksessive avsøkingslinjer, idet hver avsøkingslinje består av en eneste kjørelengde. ;En trapes-sekvens definerer suksessive kjørelengder med en DDA-algoritme. Tilstanden består av to par av konturtilstander (venstre og høyre). Hver konturtilstand består av en posisjon x og en helling (slope). ;Ved begynnelsen av trapes-sekvensen gjelder: ;Objektet består av en sekvens av handlinger. Disse handlinger er enten modifisere (modify) eller male (paint). En modifiseringshandling er et par: som påvirker tilstanden ;En malehandling (paint action) definerer en talltelling (number count) av kjørelengder ved å gjenta følgende trinntel-lingstider: ;En malehandling med telling null betegner slutten av ;trapes-sekvensen. ;Fig. 20 viser også anbringelsen av et parti 93 av et trapes-objekt i et bånd 94. Slik som vist der, anbringes partiet 93 på båndet 94 i en posisjon by. x og fortsetter over en høyde lit i båndet. Anbringelsen er vist ved 95, og omfatter en modus som definerer den bakgrunn mot hvilken objektet anbringes, så vel som x-, by- og lit-koordinatene innenfor båndet. ID-merkelappen for objektet er tilveiebrakt. Ingen ytterligere informasjon er nødvendig på grunn av at trapes-objekter ikke er segmentert, og hele trapeset anbringes over avstanden bt. ;Forutsigerfunksjonen for den CPU-kraft som er nødvendig for å omgjøre en trapesanbringelse, er ;;hvor N4 og N5 er parametere som likner på parametrene for punktmatriseobj ekter. ;Ruteobjekter er vist på fig. 21. Rektangulære ruter er et så vanlig objekt at de fortjener sin egen optimerte representasjon. I dette tilfelle er det ikke noe behov for å ha et objekt som sådant, da anbringelsen definerer ruten, som vist på figuren. ;Anbringelsen av et ruteobjekt på et bånd 104 er også vist på fig. 21. Som vist på figuren, anbringes ruteobjektet i en posisjon by. x og fortsetter over en høyde lit og en bredde w i båndet. Anbringelsen er definert ved 105 som omfatter et modusord som definerer den bakgrunn mot hvilken ruten anbringes, og omfatter koordinater x, by og Jlt for anbringelsen. Et tomtegnord er tilveiebrakt etterfulgt av rutens bredde. ;Forutsigerf unks j onen for den CPU-kraft som er nødvendig for å omgjøre et ruteobjekt, er ;;hvor N6 er en parameter som likner på parametrene for punktmatriseobj ekter. ;Fastgrense-kodede (FBE = fast boundary encoded) objekter er vist på fig. 22. Et FBE-segment beskriver suksessive avsøkingslinjer, og hver avsøkingslinje består av flere kjøre-lengder . ;Også her inneholder segmentindeksen informasjon ( dt- fbePred- t- post) om segmentomgjørings-tidsberegningen som benyttes av forutsigerfunksjonene. Denne informasjon er større enn den informasjon som benyttes for kjørelengdeobjektene. ;Et segment definerer suksessive kjørelengder på differensiell måte, ved å modifisere segmenttilstanden under gj ennomgang. ;Segmenttilstanden består av et stort antall konturtilstander. Hver kontur består av en posisjon x og et inkrement dx. ;Ved begynnelsen av segmentet gjelder: ;;Segmentet består av en rekke kommandoer som er valgt blant følgende: • adv r fremflytte tilsvarende kontur slik som i tilfellet for RL-sekvenser. ;• close : slette de neste to konturer. ;• open : innføre to nye konturer mellom den aktuelle kontur og den neste. For hver avsøkingslinje i definerer segmentet et fremrykkings- eller fremflyttingstrinn på formen ;som benyttes til å omforme segmenttilstanden. Linjeendrlng spesifiserer endringen (økning eller minskning) av antallet av par av konturer i forhold til den foregående avsøkingslinje, eller en nullstilling ved segmentgrenser. Utførelsen av consm^, comm2.... , comm^ bringer antallet av konturer i overensstemmelse med linjeendring. En l±njeendr±ng som gjør antallet av konturpar negativt, betegner slutten av segmentet. ;Fig. 22 viser også hvordan et parti 114 av FBE-objektet ;111 anbringes på et bånd 115. Som vist på fig. 22, anbringes partiet 114 på båndet i en posisjon by. x for en høyde bt som begynner ved en forskyvning doff fra begynnelsen av segmentet 3. ;Anbringelsen er definert ved 116 som omfatter et modusord for å definere den bakgrunn mot hvilken FBE-objektet anbringes. 116 omfatter videre x-, by- og ht-koordinatene for anbringelsen, så vel som ID-merkelappen for objektet, det segment som skal anbringes, og forskyvningen fra begynnelsen av segmentet. ;Forutsigerf unks j onen for den CPU-kraft som er nødvendig for å omgjøre en FBE-anbringelse, er summen av den CPU-kraft som er nødvendig for hvert segment, hvor CPU-kraften for hvert segment er avhengig av det antall kjørelengder som trenger å omgjøres, og høyden av segmentet. ;Tillegg A ;INSTRUKSJONSSETT FOR INFOGRAFISK- SPRÅK- KOMMANDOER ;Dette tillegg er et sammendrag av instruksjonssettet av GL-kommandoer. Det definerer instruksjoner uttrykt ved deres virkninger på systemet og semantiske handlinger. ;Notasjonen nedenfor beskriver den stakklagermanipulasjon som grafikkprosessoren utfører når den utfører en instruksjon: Instruksjon arg1 arg2 ... argn Instruksjon result1 ... resultk;hvor sekvensen argx arg2 ... argn betegner argumentlisten på det stakklager (med argrn på toppen) som instruksjonen forbruker. Utførelse av instruksjonen erstatter argumentlisten med sekvensen result1 ... resultk. ;ARITMETISKE OG BESLEKTEDE OPERASJONER ;Benytt disse instruksjoner til å utføre aritmetiske og beslektede operasjoner på systemstakklageret. (I nedenstående uttrykk er number = tall). ;add. nvmberx number2 GLop.add number (= number^ + ;number2) ;Addisjon. ;sub. numberi nvmber2 GLop.sub number (= nvmberx - ;nvmber2) ;Subtraksjon. ;mul nvmbernvmber2 GLop. mul number number! <*>
numi>er2)
Multiplikasjon,
div number! number2 GLop.div number (= number!
/number2)
Divisjon (heltallig),
mod number! numbér2 GLop.mod number (= number!
mod.number2)
Modul.
neg number GLop.neg number (= -number)
Aritmetisk negasjon,
shright numberx number2 GLop. shright number numberx
>> number2)
Skift høyre.
shleft number! number2 GLop.shright number (= number!
<< number2)
Skift venstre.
ANDRE ARITMETISKE/BESLEKTEDE INSTRUKSJONER
GL-kommandoer understøtter et antall utvidede operasjoner, deriblant vektoraritmetiske operasjoner (idet det benyttes faste koordinater) og de nødvendige faste aritmetiske, trigonometriske funksjoner (raske approksimasjoner).
STAKKLAGERMANIPULASJON
Disse operasjoner håndterer systemets stakklager. loadq_0 GLop.loadq_0 num(=0)
loadq_lGLop.loadq_l num(=1)
loadq_2GLop.loadq_2 num(= 2)
loadq_3GLop.loadq_3 num(= 3)
loadq_4GLop.loadq_4 num(=4)
loadq_5GLop.loadq_5 num(= 5)
loadq_6GLop.loadq_6 num(= 6)
loadq_7GLop.loadq_7 num(= 7)
Benytt kvikklastingsfamilien (loadquick family) av instruksjoner til å laste systemstakklageret meget raskt med de mest vanlig benyttede, aritmetiske verdier, (anyvalue i nedenstående uttrykk betyr "hvilken som helst verdi).
pop anyvalue GLop.pop
Kasserer toppen av stakklageret.
dup anyvalue GLop.dup anyvalue anyvalue
Dupliserer toppen av stakklageret.
exch anyvalue! anyvalue2 GLop.exch anyvalue2
anyvalue!
Skifter ut de øverste to celler i stakklageret .
ANDRE STAKKLAGER-MANIPULERINGSINSTRUKSJONER
GL-kommandoer understøtter et antall mulige ut-videlsesoperasjoner for håndtering av stakklageret, deriblant indeksering, kopiering, etc.
POSTER
Benytt poster til å lagre permanent informasjon. Informasjonen i en post er strukturert som en datatabell (array). Infografisk-språk-kommandoer forårsaker at poster lagres som GL-ob jekter i GL-objektlageret (se nedenfor).
Begrepet med en aktuell post tjener som en mekanisme for å komprimere GL-kode: Så snart et objekt er erklært i den aktuelle post, refererer alle laste- og lagre-operasjoner til dette objekt.
Ved begynnelsen av hvert felt tilveiebringer systemet en normalpost (default record).
record object/ d/ GLop.record
Objektet object/ d/ blir den aktuelle post.
load dlspl GLop.load
Skyver innholdet i lageret i postbeliggenheten displ inn på stakklageret.
store value dlspl GLop.store
Utleser value på toppen av stakklageret inn i postbeliggenheten dlspl.
DATATABELLBEHANDLING
Disse instruksjoner frembringer datatabeller og skaffer tilgang til datatabellelementer på stakklageret.
OBJEKTBEHANDLING
Disse instruksjoner frembringer og manipulerer GL-ob jekter .
objdelete objHandle GLop.objdelete
Fjerner objektet handle fra lager,
objmake objHandle slze GLop.objcopy
Utfører en "sletting" ("delete") på objektet objHandle, og frembringer deretter et nytt objekt med størrelsen slze.-markarrayGLop.markarray + n + bx + ... + bn inlineHandle
markbitmapGLop.markbitmap + n + bx + ... + bn inlineHandle
marktrap GLop.marktrap + n + bx + ... <+> bn inlineHandle
markproc GLop.markproc + n + bx + ... + bn inlineHandle
Disse instruksjoner erklærer et inline-objekt, idet et inlineHandle-håndgrep etterlates på toppen av stakklageret for fremtidig referanse.
objdef inlineHandle objHandle GLop.objdef
Utfører "sletting" på objektet objHandle, frembringer et nytt objekt med spesifisert størrelse, og kopierer deretter innholdet av inlineHandle på det nye objekt.
STYRING
Disse instruksjoner styrer utførelsesstrømmen for GL-prosessoren .
call executahleArray GLop.call
Anroper den prosedyre som er betegnet med håndgrepet (handle) executableArray.
return GLop.return
Returnerer utførbar flyt tilbake fra den prosedyre som for øyeblikket utfører. Dersom GL-prosessoren ikke utfører en prosedyre, avslutter denne instruksjon det aktuelle felt.
i f bool execArra<y>trueGLop.if
ifelse bool execArra<y>true execArrayfalse<G>Lop.ifelse
Disse operasjoner utfører betinget den tilsvarende prosedyre i overensstemmelse med verdien av bool (0 betyr falsk, ikke null betyr sann).
loop number execArray GLop.loop
execArray utføres et antall ganger lik numier. Et negativt tall (number) frembringer en ubegrenset sløyfe (loop).
break GLop.break
continue GLop.continue
Bryter eller fortsetter innenfor den for øyeblikket utførte sløyfe.
switch number GLop.switch --
Omkopler til det programsegment som svarer til saks-verdi-tallet (case value number). Saksverdier er begrenset til settet B={ 0.. 255}
KONTEKSTBEHANDLING
context contextNumber GLop.context —
Innstiller den aktive kontekst på contextNumber. Det finnes et fast antall av mulige kontekster.
contexDefexecutableArray contextWumber GLop.context-Def
Definerer kontekst contextWumber ifølge prosedyre executableArray. Kontekstprosedyrer inneholder en omkoplings-setning som benyttes til å avbilde koder på handlinger.
PROSEDYREDEFINISJONER
Prosedyrer er ganske enkelt utførbare datatabeller. Et prosedyre-håndgrep (procedure handle) er et datatabellhåndgrep eller et objekthåndgrep.
SYSTEMTJENESTETILGANG
Det skaffes tilgang til systemtjenester på samme måte som for normale prosedyrer, bortsett fra at systemprosedyre-håndgrep inngår i et fremtredende (distinguished) sett.
MASKEGENERERING
Disse instruksjoner aktiverer primitiv-maskegeneratorene som tilveiebringes av GL.
Før aktivering av noen av generatorene, må et GL-program innstille den tilstandsinf ormas jon som svarer til genera-torparametrene.
PixelBit bitmapHandle x y GLop.PixelBit
Utfører en bildeelementbit-operasjon av bitmapHandle i en posisjon <x, y>.
Trapezoidtr apezoidHandle GLop.Trapezoid
Aktiverer trapes-maskegeneratoren.
RLE GLop.RLE
Aktiverer den kjørelengdekodede maskegenerator.
LINJEGENERERINGSMASKER
Disse instruksjoner aktiverer maskegeneratorene for linj eomgj øring.
Disse maskegeneratorer benytter GL-tilstandsvariable til implisitt å definere posisjon, linjebredde, etc.
AKSESSERING AV JOBBSTRØMMEN
Medlemmer av denne klasse av primitiver skaffer tilgang til jobbstrømmen, for å frembringe objekter i stakklageret og/eller datatabell-stakklageret.
Henter de neste 1 til 4 bitgrupper (betegnet bl, b2, b3 og b4) fra jobbstrømmen og anbringer dem på stakklageret som en skalar, heltallig verdi.
BAKGRUNNSGENERERING
image a b c d e f image GLop.Image
Innstiller bilde (image) som bakgrunnsbilde-datatabellen. Transformasjonen [abcdef] betegner avbildningen av rasterbildeelementer på bildedatatabellelementer.
image 0 GLop.Image
Nullstiller bakgrunnsbilde-datatabellen som tom.
gray grayLevel GLop.gray
Innstiller bakgrunnen på grått, med nivå grayLevel.
bgtile bitmapHandle GLop.bgtile
Innstiller den bakgrunn som skal "flislegges" av bitmapHandle.
bgmodify offsetX offsetY rotation GLop.bgtile Modifiserer bakgrunnsflisen ved å forskyve den
<offsetX, offsetY> og rotere den med det beløp som er spesifisert i rotation.
TILSTANDSOPERASJONER
screen objHandle GLop.screen
Innstiller den skjelvende bildeflate av objHandle.
clip trapHandle GLop.clip
Tilføyer trapHandle til det klippende område,
clip 0 GLop.clip
Nuller det klippende område.
PRAGMATIKK
GL-tolkeren ignorerer denne klase av instruksjoner. Pragmatikken er for anvendelse av andre delsystemer og/eller verktøy (Feilfinningsmodul, Generering Datatek, etc.)
GL-tolkeren ignorerer de (n+2) bitgrupper som omfatter denne instruksjon. Benytt pragma som kommentar, synkroniserings-etikett for feilfinningsformål, grupperingsetikett, etc.

Claims (36)

1. Bildebehandlingsinnretning omfattende en omformingsanordning (41, 43; S603) som er innrettet til å omforme utskriftskommandoer (PDL) til første mellomkodedata, en omdanningsanordning (46) som er innrettet til å omdanne de første mellomkodedata til et rasterbilde, og en utskriftsmaskin (45) som er innrettet til å utføre en skriveoperasjon ved benyttelse av rasterbildet, karakterisert ved at mellomkoden er dynamisk justerbar for å omforme en utskriftskommando ved hjelp grunnelementer av mellomkoden som krever forskjellige menger av ressurser, og at innretningen videre omfatter en første bestemmelsesanordning (41; S606) som er innrettet til å bestemme hvorvidt en skriveoperasjon er mulig eller ikke på grunnlag av bruk av et antall skriverressurser som kreves av de første mellomkodedata, og en styreanordning (41; S613) for - når bestemmelsesanordningen bestemmer at utskrifitsoperasjonen er umulig - generering av andre mellomkodedata slik at mellomkoden justeres til antallet av eksisterende skriverressurser for å muliggjøre skriveoperasj onen, og for styring av omdanningsanordningen og utskriftsmaskinen slik at skriveoperasjonen utføres ved benyttelse av et rasterbilde som oppnås ved å omdanne de andre mellomkodedata.
2. Innretning ifølge krav 1, omfattende en andre bestemmelsesanordning (41) som er innrettet til å bestemme hvorvidt skriveoperasjonen er mulig på grunnlag av et nivå av skriverressursbruk som kreves ved benyttelse av de andre mellomkodedata, karakterisert ved at styreanordningen, dersom det bestemmes at skriveoperasjonen ikke er mulig, er innrettet til å styre omdanningsanordningen slik at de andre mellomkodedata omdannes til et rasterbilde med forringet bildekvalitet.
3. Innretning ifølge krav 1 eller 2, karakterisert ved at de skriverressurser som tas i betraktning, omfatter minst én av beregningskraft, lager- eller minnekraft, og båndbredde.
4. Innretning ifølge krav 3, karakterisert ved at skriverressursene omfatter i det minste minne, og at styreanordningen er tilpasset til å generere de andre mellomkodedata for å benytte mer beregningskraft i det tilfelle at nødvendig minnebruk overskrider den tilgjengelige minneressurs.
5. Innretning ifølge krav 3, karakterisert ved at bestemmelsesanordningen er innrettet til å bestemme at skriveoperasjonen er mulig dersom den nødvendiggjør beregningskraftbruk ikke overskrider den tilgjengelige beregningskraftressurs.
6. Innretning ifølge krav 3, karakterisert ved at skriverressursene omfatter minst én av beregnings-kraften og minnet, og at styreanordningen er innrettet til å benytte andre mellomkodedata som utnytter mer båndbredde i det tilfelle at den nødvendige beregningskraft eller minnebruk overskrider henholdsvis tilgjengelig beregningskraft- eller minnebrukressurs.
7. Innretning ifølge ett av de foregående krav, karakterisert ved at bestemmelsesanordningen er innrettet til å gjenkjenne ressursbruk i overensstemmelse med de grunnelementer som benyttes til å danne de første mellomkodedata.
8. Innretning ifølge ett av de foregående krav, karakterisert ved at minst ett av de første og andre mellomkodedata omfatter minst ett av et punktmatirseobjekt, et kjørelengdeobjekt, et trapesobjekt, et boksobjekt og et fastgrense-kodingsobjekt.
9. Innretning ifølge krav 8, karakterisert ved at omdanningsanordningen omfatter en anordning for anbringelse av et objekt mot en bakgrunn med en bruksfunksjon, for å oppnå en rasterdannelse av representasjonen.
10. Innretning ifølge ett av de foregående krav, karakterisert ved at den omfatter et minne (44) som er tilpassbart oppdelt i minst første og andre deler, idet den første del er for lagring av de første mellomkodedata og den andre del er for lagring av i det minste en del av et rasterbilde, og at omdanningsanordningen er innrettet til å omdanne de første mellomkodedata som er lagret i den første del av minnet, til et rasterbilde i den andre del av minnet.
11. Innretning ifølge krav 10, karakterisert ved at den første del av minnet er tilpasset til å lagre de første mellomkodedata i bånd, og at den andre del av minnet er tilpasset til å lagre rasterbilder av tilsvarende bånd av informasjon.
12. Innretning ifølge krav 10, karakterisert ved at båndet, når det er utilstrekkelig beregningskraft til å omdanne informasjonsbåndet i en forutbestemt tidsperiode, ved hjelp av omdanningsanordningen forhåndsrasterformes inn i en tredje del av minnet.
13. Innretning ifølge krav 10, karakterisert ved at det i det tilfelle at utilstrekkelige ressurser er tilgjengelige for et informasjonsbånd, forringes dette informasjonsbånd og noen andre bånd forringes ikke.
14. Innretning ifølge krav 2, karakterisert ved at det forringede bilde er et bilde som har en lavere oppløsning.
15. Innretning ifølge krav 2, karakterisert ved at det forringede bilde er et bilde som har en lavere fargeoppløsning eller et mindre halvtoneantall.
16. Innretning ifølge ett av de foregående krav, karakterisert ved at utskriftsmaskinen er innrettet til på avsøkende måte å utskrive utskriftsinformasjon med ensartet hastighet.
17. Innretning ifølge krav 10, karakterisert ved at omdanningsanordingen er innrettet til å utsette omdanning av de andre mellomkodedata til et fullstendig rasterbilde inntil tidligere utskriftsoperasjoner er blitt fullført.
18. Innretning ifølge ett av de foregående krav, karakterisert ved at den omfatter en foratsigelsesanordning som er innrettet til å forutsi et antall bruksnivåer av respektive skriverressurser som kreves for at utskriftsmaskinen skal utføre skriveoperasjonen ved benyttelse av mellomkodedataene, hvorved bestemmelsesanordningen er innrettet til å bestemme hvorvidt en skriveoperasjon er mulig eller ikke på grunnlag av de forutsagte nivåer.
19. Fremgangsmåte for bildebehandling, omfattende de trinn å omforme (S603) utskriftskommandoer til første mellomkodedata, å omdanne de første mellomkodedata til et rasterbilde, og å utføre en skriveoperasjon ved operasjon av en utskriftsmaskin (45) som benytter rasterbildet, karakterisert ved at mellomkoden er dynamisk justerbar for å omforme en utskriftskommando ved hjelp av grunnelementer av mellomkoden som krever forskjellige mengder av ressurser, og at fremgangsmåten videre omfatter de trinn å bestemme (S606) hvorvidt en skriveoperasjon er mulig eller ikke på grunnlag av bruk av et antall skriverressurser som kreves av de første mellomkodedata, og når det bestemmes at skriveoperasjonen er umulig, å styre (S613) genereringen av andre mellomkodedata for å justerere mellomkoden til antallet av skriverressurser, og styre omdanningstrinnet og utskriftsmaskinen slik at av skriveroperasj onen utføres ved benyttelse av et rasterbilde som oppnås ved å omdanne de andre mellomkodedata.
20. Fremgangsmåte ifølge krav 19, omfattende et andre bestemmelsestrinn for å bestemme hvorvidt skriveoperasjonen er mulig på grunnlag av et nivå av skriverressursbruk som kreves ved benyttelse av de andre mellomkodedata, karakterisert ved at styringstrinnet, dersom det bestemmes at skriveoperasjonen ikke er mulig, styrer omdanningsanordningen slik at de andre mellomkodedata omdannes til et rasterbilde som har forringet bildekvalitet.
21. Fremgangsmåte ifølge krav 19, karakterisert ved at de skriverressurser som tas i betraktning, omfatter minst én av beregningskraft, minnekraft og båndbredde.
22. Fremgangsmåte ifølge krav 21, karakterisert ved at skriverressursene omfatter i det minste minne, og at styringstrinnet genererer de andre mellomkodedata for å benytte mer beregningskraft i det tilfelle at nødvendig minnebruk overskrider den tilgjengelige minneressurs.
23. Fremgangsmåte ifølge krav 21, karakterisert ved at bestemmelsestrinnet bestemmer at skriveoperasjonen er mulig dersom den nødvendige beregningskraft ikke overskrider den tilgjengelige beregningskraftressurs.
24. Fremgangsmåte ifølge krav 21, karakterisert ved at skriverressursene omfatter minst én av begreningskraft og minne, og at styringstrinnet benytter andre mellomkodedata som utnytter mer båndbredde i det tilfelle at den nødvendige beregningskraft eller minnebruk overskrider henholdsvis den tilgjengelige beregningskraft- eller minnebrukressurs.
25. Fremgangsmåte ifølge krav 20, karakterisert ved at skriverressursene omfatter minst én av beregningskraft, minnekraf og båndbredde.
26. Fremgangsmåte ifølge krav 19, karakterisert ved at minst ett av de første og andre mellomkodedata omfatter minst ett av et punktmatirseobj ekt, et kjørelengdeobjekt, et trapesobjekt, et boksobjekt og et fastgrense-kodingsobjekt.
27. Fremgangsmåte ifølge krav 26, karakterisert ved at omdanningsanordningen anbringer et objekt mot en bakgrunn med en bruksfunksjon slik at det oppnås en rasterdannelse av representasjonen.
28. Fremgangsmåte ifølge ett av kravene 19-27, karakterisert ved at et minne oppdeles tilpassbart i minst første og andre deler, at de første mellomkodedata lagres i den første del og i det minste en del av et rasterbilde lagres i den andre del, og at omdanningstrinnet omdanner de første mellomkodedata som er lagret i den første del av minnet, til et rasterbilde i den andre del av minnet.
29. Fremgangsmåte ifølge krav 28, karakterisert ved at den første del av minnet lagrer de første mellomkodedata i bånd, og at den andre del av minnet lagrer rasterbilder av tilsvarende bånd av informasjon.
30. Fremgangsmåte ifølge krav 28, karakterisert ved at båndet, når det er utilstrekklig beregningskraft til å omdanne informasjonsbåndet i en forutbestemt tidsperiode, ved hjelp av omdanningstrinnet forhåndsrasterformes inn i en tredje del av minnet.
31. Fremgangsmåte ifølge krav 28, karakterisert ved at det i det tilfelle at utilstrekkelige ressurser er tilgjengelige for et informasjonsbånd, forringes dette informasjonsbånd og noen andre bånd forringes ikke.
32. Fremgangsmåte ifølge krav 20, karakterisert ved at det forringede bilde er et bilde som har lavere oppløsning.
33. Fremgangsmåte ifølge krav 20, karakterisert ved at det forringede bilde er et bilde som har lavere fargeoppløsning eller et mindre halvtoneantall.
34. Fremgangsmåte ifølge ett av kravene 19-33, karakterisert ved at utskriftsmaskinen på avsøkende måte utskriver utskriftsinformasjon med ensartet hastighet.
35. Fremgangsmåte ifølge krav 20, karakterisert ved at omdanningstrinnet utsetter omdanning av de andre mellomkodedata til et fullstendig rasterbilde inntil tidligere utskriftsoperasjoner er blitt fullført.
36. Fremgangsmåte ifølge ett av kravene 19-35, omfattende det trinn å forutsi et antall bruksnivåer av respektive skriverressurser som kreves for skriveoperasjonen ved benyttelse av mellomkodedataene, karakterisert ved at bestemmelsestrinnet bestemmer hvorvidt en skriveoperasjon er mulig eller ikke, på grunnlag av de forutsagte nivåer.
NO932199A 1992-06-15 1993-06-15 FremgangsmÕte og innretning for utskriving i overensstemmelse med et infografisk sprÕk NO309078B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/898,532 US5680521A (en) 1992-06-15 1992-06-15 Printing method and apparatus
US07/911,030 US5515481A (en) 1992-07-08 1992-07-08 Method and apparatus for printing according to a graphic language

Publications (3)

Publication Number Publication Date
NO932199D0 NO932199D0 (no) 1993-06-15
NO932199L NO932199L (no) 1993-12-16
NO309078B1 true NO309078B1 (no) 2000-12-11

Family

ID=27129207

Family Applications (1)

Application Number Title Priority Date Filing Date
NO932199A NO309078B1 (no) 1992-06-15 1993-06-15 FremgangsmÕte og innretning for utskriving i overensstemmelse med et infografisk sprÕk

Country Status (6)

Country Link
EP (1) EP0575134B1 (no)
JP (1) JP3159837B2 (no)
DE (1) DE69327888T2 (no)
FI (1) FI106228B (no)
NO (1) NO309078B1 (no)
SG (1) SG49820A1 (no)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPM822394A0 (en) * 1994-09-16 1994-10-13 Canon Inc. Object based rendering system
JP3919242B2 (ja) * 1995-07-04 2007-05-23 キヤノン株式会社 印刷システム及びその制御方法
JP3154393B2 (ja) 1995-11-28 2001-04-09 キヤノン株式会社 情報処理装置及び情報処理方法
US5726760A (en) * 1996-04-03 1998-03-10 Oce-Nederland, B.V. Method and apparatus for converting image representation formats as well as an image production system provided with such an apparatus
JPH09300703A (ja) * 1996-05-20 1997-11-25 Brother Ind Ltd 印刷装置
JPH1023271A (ja) 1996-07-05 1998-01-23 Canon Inc 画像形成方法とその装置
JP4323618B2 (ja) 1999-05-31 2009-09-02 キヤノン株式会社 画像処理装置及び画像処理方法
US6724496B1 (en) * 1999-10-29 2004-04-20 Hewlett-Packard Development Company, L.P. Remote print job processing
AUPQ905800A0 (en) * 2000-07-28 2000-08-24 Canon Kabushiki Kaisha Rendering page descriptions
JP5428516B2 (ja) 2009-05-18 2014-02-26 富士ゼロックス株式会社 画像処理装置及びプログラム
JP6926394B2 (ja) 2016-03-23 2021-08-25 富士フイルムビジネスイノベーション株式会社 印刷装置及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02123486A (ja) * 1988-11-02 1990-05-10 Toshiba Corp 光学的文字読取装置
JP2845380B2 (ja) * 1990-01-19 1999-01-13 キヤノン株式会社 印刷装置及びその制御方法
JPH0412874A (ja) * 1990-05-01 1992-01-17 Minolta Camera Co Ltd プリンタ制御装置
JP3105903B2 (ja) * 1990-07-13 2000-11-06 キヤノン株式会社 印刷制御装置及び印刷装置
EP0470782B1 (en) * 1990-08-08 1996-02-14 The Peerless Group Image rendering process and apparatus
JP2562514B2 (ja) * 1990-09-03 1996-12-11 キヤノン株式会社 印刷制御装置及びイメージデータ描画方法
JPH04146179A (ja) * 1990-10-09 1992-05-20 Canon Inc 印刷装置

Also Published As

Publication number Publication date
DE69327888D1 (de) 2000-03-30
FI932712A (fi) 1993-12-16
DE69327888T2 (de) 2000-08-17
JPH0687251A (ja) 1994-03-29
JP3159837B2 (ja) 2001-04-23
FI106228B (fi) 2000-12-15
NO932199D0 (no) 1993-06-15
FI932712A0 (fi) 1993-06-14
NO932199L (no) 1993-12-16
EP0575134A3 (en) 1994-12-28
EP0575134B1 (en) 2000-02-23
SG49820A1 (en) 1998-06-15
EP0575134A2 (en) 1993-12-22

Similar Documents

Publication Publication Date Title
US5515481A (en) Method and apparatus for printing according to a graphic language
US5680521A (en) Printing method and apparatus
JP3252329B2 (ja) ページ映像描写装置
US6052202A (en) Output device, information processing apparatus memory control method and memory medium
US5136688A (en) Print data processing apparatus for an image forming apparatus
US20050237574A1 (en) Image processing apparatus and method
US7009622B2 (en) Image processing apparatus, image processing method, and image processing program
NO309078B1 (no) FremgangsmÕte og innretning for utskriving i overensstemmelse med et infografisk sprÕk
GB2217492A (en) Output apparatus
JP3902907B2 (ja) 画像処理装置及び方法と画像形成装置
JP4063918B2 (ja) 表示のためのグラフィックス情報を含むイメージを作成する装置と方法
JPH04325267A (ja) 出力方法及び装置
JP4323618B2 (ja) 画像処理装置及び画像処理方法
JPH07168681A (ja) Pdlデータ処理装置及びその制御方法、及びパターン展開装置
JP4336470B2 (ja) 描画制御装置および描画制御方法およびプログラム
JP3997808B2 (ja) 描画処理装置および描画処理方法
JP2001312383A (ja) 印刷装置、高速印刷方法、及び記憶媒体
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JPH10151815A (ja) 印刷処理装置
JP2878094B2 (ja) 印刷装置
JPH1016298A (ja) 情報処理装置及び方法、印刷装置及び方法、情報処理システム、並びに記憶媒体
JP2004034588A (ja) 印刷装置
JP2001222393A (ja) 画像形成装置
JPH01228263A (ja) 印刷装置
JPH11144062A (ja) 印刷処理装置

Legal Events

Date Code Title Description
MK1K Patent expired