FMUSER Wirless Overfør video og lyd enklere!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
is.fmuser.org -> islandsk
id.fmuser.org -> indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> litauisk
mk.fmuser.org -> makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
es.fmuser.org -> spansk
sw.fmuser.org -> Swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Yiddish
OSD (On Screen Display) er en slags skjermvisningsteknologi som brukes til å vise tegn, grafikk og bilder på skjermterminalen.
Videominne, også kjent som rammebuffer, brukes til å lagre gjengivelsesdata behandlet eller i ferd med å bli ekstrahert av grafikkbrikken. I likhet med dataminne er videominne en komponent som brukes til å lagre grafisk informasjon som skal behandles. Bildet vi ser på skjermen er sammensatt av individuelle piksler, og hver piksel bruker 4-32 eller til og med 64-biters data for å kontrollere lysstyrken og fargen. Disse dataene må lagres gjennom videominnet. Deretter tildeles den av skjermbrikken og CPUen, og til slutt blir resultatet av operasjonen konvertert til grafikk og output til skjermen.
1. Beregning av videominne:
bredde * høyde * PIXEL_SIZE (bitdybde)
8bit 16bit 32bit
U32 * p = (U32 *) GetMemoryAddr ();
p [y * bredde + x] = 0xffff0000;
For eksempel er oppløsningen 1280 * 720, bildemodus er ARGB8888, og videominnebufferen din er 1280 * 720 * 4. Hvis det er ARGB1555, representerer 1280 * 720 * 2, 4 og 2 bitdybden, som er antall byte
Oppløsningen er 1280 * 720, og bildemodus er ARGB8888. På en skjerm er det 1280 piksler i en rad og 720 piksler i en kolonne. En piksel styres av 4 byte data.
2. Realiseringsprosessen er: innholdet i videominnet tilsvarer pikslene på skjermterminalen en til en. Denne en-til-en-korrespondansen blir vanligvis satt av registre, og deretter implementert av maskinvaren. Driften av minneinnholdet endrer skjermpikslene, slik at visningen av et bestemt grensesnitt kan realiseres. Dette er faktisk også metoden for generell digital skjerm for visning. For eksempel: 320 * 240 monokromatisk (1 bit) piksel OSD krever 40 * 240 byte lagringsplass for å svare til det; 320 * 240 16 farger (4 bit) piksel OSD krever 160 * 240 byte lagringsplass for å tilsvare den
Nå er det mulig å endre piksler på skjermmenyen ved å endre innholdet på lagringsenheten, men det er fortsatt et sentralt spørsmål om hvordan du opererer i henhold til behov, det vil si hvordan du setter en bestemt piksel til en spesifisert farge. Deretter vil vi introdusere konseptet med fargeprøver.
Innholdet av de nedre fire bitene i en byte tilsvarer en piksel en-til-en, og dens verdi er "3", deretter blir fargen representert av tallet "3" bestemt av fargepaletten, og deretter OSD-skjermen drives for å sette pikselet til den angitte fargen. På samme måte,
Det korresponderende forholdet mellom denne fargepaletten og den fysiske skjermbildet for OSD blir vanligvis satt av registeret, noe som garanteres av maskinvaren. For et bestemt visningsmiljø er denne fargepaletten vanligvis fast
Det er for tiden to hovedmetoder for OSD-implementering: overlagring og syntese mellom den eksterne OSD-generatoren og videoprosessoren; videoprosessoren støtter OSD internt, og direkte overfører OSD-informasjon inne i videobufferen.
1. Realiseringsprinsippet for superposisjonssyntesen mellom den eksterne OSD-generatoren og videoprosessoren er: en tegngenerator og skjermbuffer innebygd i MCU, ved hjelp av Fast-Blank-signalet for å bytte TV-skjerm og OSD-skjerminnhold, Lag OSD-tegn og annet innhold som er lagt på den endelige skjermbildet, i OSD- og skjermbildet overlagringsprosessen, ved å justere forholdet mellom de to kan oppnå OSD semi-transparent (Blending) -effekt. Samtidig kan forskjellige OSD-fargeeffekter oppnås ved å omkode de røde, grønne og blå signalene i OSD-signalet.
2. En annen implementeringsmetode er å støtte OSD inne i videoprosessoren, og direkte overføre OSD-informasjon inne i videobufferen. Denne typen videobehandling har vanligvis et eksternt minne eller en liten mengde interne linjebuffere, samt en OSD-generator. OSD-syntese og kontroll fullføres direkte i videobufferen, og den har også de ovennevnte gjennomsiktighets- og fargekontrollfunksjonene. OSD har to typer: Fontbasert og Bit-Map.
Tegn OSD: For å lagre skjermbufferen bruker tidlige og rimelige løsninger en tegn OSD-generator. Prinsippet er å dele skjerminnholdet i OSD i blokker i henhold til et bestemt format (12 × 18, 12 × 16, etc.), for eksempel tall 0-9, bokstaver az, ofte brukt lysstyrke, kontrastsymboler, etc. , og dette innholdet er størknet i ROM eller Flash, bare det tilsvarende indeksnummeret er lagret i skjermbufferen, en slik "ordbok" -struktur kan reduseres kraftig Vis behovet for hurtigbufring. For å gi kontroll over fargen og andre attributter til hvert tegn, er det vanligvis en attributtbuffer av samme størrelse som skjermbufferen og dens attributter (forgrunnsfarge, bakgrunnsfarge, flimmer osv.) er effektive for hver piksel i hele tegnet. For å kompensere for mangelen ved ikke å kunne spesifisere fargen for hver piksel på denne måten, gir designeren av OSD-generatoren en løsning for å presentere flerfargetegn ved å kombinere flere skjermbuffere. Prinsippet er at hver skjermbuffer bestemmer et fargevalg. Når to eller flere skjermbuffere slås sammen, kan flerfargede tegn med mer enn to farger "samles". Fordelen med tegnet OSD er at den kan bruke mindre skjermbuffer inne i skjermmenyen, og MCU trenger bare å spesifisere indeksen for skjerminnholdet for å vise den tilsvarende OSD-informasjonen, som kan implementeres på en relativt lavhastighets MCU. Men det er nettopp på grunn av det ovennevnte
Skjerminformasjonen og fargekodingsmetoden er ikke intuitiv nok, noe som vil føre til noen problemer for firmwareutviklingen av tegnet OSD. Vanligvis bruker LCD-skjermer, rimelige flatskjerm-TV-er og tradisjonelle CRT-TV-er denne typen OSD, og de opptar fortsatt den vanlige posisjonen i markedet. Sammenlignet med tegnet OSD er prosesseringsprinsippet for bitmap OSD mer intuitivt og enkelt: ved å endre hver piksel i et bestemt område av det endelige visningsinnholdet, legges OSD-informasjonen direkte på den endelige skjermbildet,
Piksel-for-piksel-kontrollen kan sikre flerfarget og tilstrekkelig ytelsesevne. Bitmap OSD-generatoren er vanligvis innebygd i videoprosessoren og deler hovedskjermbufferen. Det finnes også profesjonelle OSD-bitmapgeneratorer uavhengig av videoprosessoren, for eksempel Maxims MAX4455. Vanligvis krever denne typen brikker en ekstern SDRAM som skjermbuffer. Visningseffekten av bitmap OSD kan teoretisk være veldig perfekt. Det kan gi forskjellige objekter en tredimensjonal effekt som ligner på Windows, for eksempel skyggelagte knapper, fargerik grafikk og tekst, osv. Ulempen er at den må ha nok OSD-skjermbuffer, og hastighetskravene for MCU etter piksel-for- pikselbehandling. Denne typen OSD brukes vanligvis på store high-end flatskjerm-TVer og profesjonelle skjermer. Med den kontinuerlige utviklingen av teknologi og den kontinuerlige nedgangen i minnekostnadene, bør fremtidige OSD-er alt kartlegges.
osd-tegning bruker vanligvis en dobbeltbuffer-cachemekanisme
En buffer er hva vi kan se, og den andre er usynlig. Når du tegner, må du først behandle dataene i bufferen som ikke kan sees. Når du tegner, kopierer du dataene til denne bufferen for å se.
|
Skriv inn e-post for å få en overraskelse
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
is.fmuser.org -> islandsk
id.fmuser.org -> indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> litauisk
mk.fmuser.org -> makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
es.fmuser.org -> spansk
sw.fmuser.org -> Swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Yiddish
FMUSER Wirless Overfør video og lyd enklere!
Kontakt
Adresse:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620
Type kategori
Nyhetsbrev