FMUSER Wirless Transmit video și audio mai ușor!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albaneză
ar.fmuser.org -> arabă
hy.fmuser.org -> Armeană
az.fmuser.org -> azeră
eu.fmuser.org -> bască
be.fmuser.org -> bielorusă
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> catalană
zh-CN.fmuser.org -> Chineză (simplificată)
zh-TW.fmuser.org -> Chineză (tradițională)
hr.fmuser.org -> croată
cs.fmuser.org -> cehă
da.fmuser.org -> Daneză
nl.fmuser.org -> Dutch
et.fmuser.org -> estonă
tl.fmuser.org -> filipinez
fi.fmuser.org -> finlandeză
fr.fmuser.org -> Franceză
gl.fmuser.org -> Galeză
ka.fmuser.org -> Georgiană
de.fmuser.org -> germană
el.fmuser.org -> greacă
ht.fmuser.org -> Creole haitian
iw.fmuser.org -> ebraică
hi.fmuser.org -> Hindi
hu.fmuser.org -> Maghiară
is.fmuser.org -> islandeză
id.fmuser.org -> indoneziană
ga.fmuser.org -> irlandeză
it.fmuser.org -> Italiană
ja.fmuser.org -> japoneză
ko.fmuser.org -> coreeană
lv.fmuser.org -> letonă
lt.fmuser.org -> lituaniană
mk.fmuser.org -> macedoneană
ms.fmuser.org -> Malay
mt.fmuser.org -> malteză
no.fmuser.org -> norvegiană
fa.fmuser.org -> persană
pl.fmuser.org -> poloneză
pt.fmuser.org -> portugheză
ro.fmuser.org -> Română
ru.fmuser.org -> rusă
sr.fmuser.org -> sârbă
sk.fmuser.org -> slovacă
sl.fmuser.org -> Slovenă
es.fmuser.org -> spaniolă
sw.fmuser.org -> Swahili
sv.fmuser.org -> suedeză
th.fmuser.org -> Thai
tr.fmuser.org -> turcă
uk.fmuser.org -> ucraineană
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnameză
cy.fmuser.org -> galeză
yi.fmuser.org -> idiș
OSD (On Screen Display) este un fel de tehnologie de afișare a ecranului utilizată pentru a afișa caractere, grafice și imagini pe terminalul de afișare.
Memoria video, cunoscută și sub numele de frame buffer, este utilizată pentru a stoca datele de redare procesate sau pe cale să fie extrase de cipul grafic. La fel ca memoria computerului, memoria video este o componentă utilizată pentru stocarea informațiilor grafice care urmează să fie procesate. Imaginea pe care o vedem pe ecran este compusă din pixeli individuali, iar fiecare pixel folosește date de 4-32 sau chiar 64 de biți pentru a controla luminozitatea și culoarea acestuia. Aceste date trebuie salvate prin memoria video. Apoi este atribuit de cipul de afișare și CPU și, în cele din urmă, rezultatul operației este convertit în grafică și ieșire pe afișaj.
1. Calculul memoriei video:
lățime * înălțime * PIXEL_SIZE (adâncime de biți)
8 biți 16 biți 32 biți
U32 * p = (U32 *) GetMemoryAddr ();
p [y * width + x] = 0xffff0000;
De exemplu, rezoluția este 1280 * 720, modul imagine este ARGB8888, iar memoria tampon de memorie video este 1280 * 720 * 4. Dacă este ARGB1555, 1280 * 720 * 2, 4 și 2 reprezintă adâncimea de biți, care este numărul de octeți
Rezoluția este 1280 * 720, iar modul imagine este ARGB8888. Pe un ecran, există 1280 pixeli într-un rând și 720 pixeli într-o singură coloană. Un pixel este controlat de 4 octeți de date.
2. Procesul de realizare este: conținutul memoriei video corespunde pixelilor de pe terminalul de afișare unu la unu. Această corespondență individuală este în general setată de registre și apoi implementată de hardware. Funcționarea conținutului de memorie modifică pixelii ecranului, astfel încât afișarea unei interfețe specifice să poată fi realizată. De fapt, aceasta este și metoda de afișare a afișajului digital general. De exemplu: 320 * 240 monocromatic (1 bit) pixel OSD necesită 40 * 240 octeți spațiu de stocare pentru a corespunde acestuia; 320 * 240 16 culori (4 biți) pixeli OSD necesită 160 * 240 octeți spațiu de stocare pentru a corespunde acestuia
Acum este posibil să schimbați pixelii OSD modificând conținutul unității de stocare, dar există încă o problemă cheie cum să funcționați în funcție de nevoi, adică cum să setați un anumit pixel la o culoare specificată. În continuare, vom introduce conceptul de mostre.
Conținutul celor patru biți inferiori într-un octet corespunde unui pixel unu la unu, iar valoarea acestuia este „3”, apoi culoarea reprezentată de numărul „3” este determinată de paleta de culori, apoi de ecranul OSD este condus pentru a seta pixelul la culoarea specificată. În mod similar,
Relația corespunzătoare dintre această paletă de culori și ecranul de afișare OSD fizic este stabilită în general de registru, care este garantat de hardware. Pentru un mediu de afișare specific, această paletă de culori este în general fixă
În prezent există două metode principale de implementare OSD: suprapunerea și sinteza între generatorul OSD extern și procesorul video; procesorul video acceptă OSD intern și suprapune direct informații OSD în memoria tampon video.
1. Principiul de realizare a sintezei de suprapunere între generatorul OSD extern și procesorul video este: un generator de caractere și un buffer de afișare încorporat în MCU, utilizând semnalul Fast-Blank pentru a comuta ecranul TV și conținutul afișat pe OSD, Faceți caractere OSD și alt conținut suprapus pe ecranul de afișare final, în OSD și procesul de suprapunere a ecranului de afișare, prin ajustarea raportului dintre cele două poate realiza efectul OSD semi-transparent (Blending). În același timp, prin recodarea semnalelor roșii, verzi și albastre din semnalul OSD, se pot obține diferite efecte de culoare OSD.
2. O altă metodă de implementare este de a sprijini OSD în interiorul procesorului video și de a suprapune direct informațiile OSD în memoria tampon video. Acest tip de procesare video are de obicei o memorie externă sau o cantitate mică de buffere de linie interne, precum și un generator OSD. Sinteza și controlul OSD sunt completate direct în buffer-ul video și are, de asemenea, funcțiile de transluciditate și control al culorii menționate mai sus. OSD are două tipuri: bazat pe font și bit-hartă.
Caracter OSD: Pentru a salva memoria cache, soluțiile timpurii și low-cost folosesc un generator de caractere OSD. Principiul este împărțirea conținutului afișat în OSD în blocuri în funcție de un anumit format (12 × 18, 12 × 16 etc.), cum ar fi numerele 0-9, literele az, luminozitatea utilizată în mod obișnuit, simboluri de contrast etc. , iar aceste conținuturi sunt solidificate în ROM sau Flash, doar numărul index corespunzător este stocat în memoria cache, o astfel de structură de „dicționar” poate fi redusă foarte mult Arată nevoia de cache. În același timp, pentru a oferi control asupra culorii și a altor atribute ale fiecărui caracter, există de obicei un tampon de atribute de aceeași dimensiune ca tamponul de afișare și atributele acestuia (culoarea de prim-plan, culoarea de fundal, pâlpâire etc.) sunt eficiente pentru fiecare pixel din întregul personaj. Pentru a compensa deficiența de a nu putea specifica culoarea pentru fiecare pixel în acest mod, proiectantul generatorului OSD oferă o soluție pentru prezentarea caracterelor multicolore prin combinarea mai multor tampoane de afișare. Principiul este că fiecare tampon de afișare determină o schemă de culori. Atunci când două sau mai multe buffere de afișare sunt îmbinate, caractere multicolore cu mai mult de două culori pot fi „asamblate”. Avantajul caracterului OSD este că poate utiliza mai puțin buffer de afișare în interiorul OSD, iar MCU trebuie doar să specifice indexul conținutului afișat pentru a afișa informațiile corespunzătoare OSD, care pot fi implementate pe un MCU cu viteză relativ mică. Dar tocmai din cauza celor de mai sus
Informațiile de afișare și metoda de codare a culorilor nu sunt suficient de intuitive, ceea ce va aduce unele probleme dezvoltării firmware-ului caracterului OSD. De obicei, monitoarele LCD, televizoarele cu ecran plat cu cost redus și televizoarele tradiționale CRT utilizează acest tip de OSD și încă ocupă poziția principală pe piață. În comparație cu caracterul OSD, principiul de procesare al bitdap OSD este mai intuitiv și mai simplu: prin schimbarea fiecărui pixel într-o anumită zonă a conținutului final de afișare, informațiile OSD sunt suprapuse direct pe ecranul final de afișare,
Controlul său pixel cu pixel poate asigura capacități de performanță multicolore și suficiente. Generatorul OSD bitmap este de obicei încorporat în procesorul video și partajează memoria sa principală de afișare. Există, de asemenea, generatoare de biți OSD profesionale independente de procesorul video, cum ar fi Maxim's MAX4455. De obicei, acest tip de cip necesită o SDRAM externă ca tampon de afișare. Efectul de afișare al bitdap OSD poate fi teoretic foarte perfect. Poate oferi diverse obiecte cu un efect tridimensional similar cu Windows, cum ar fi butoanele umbrite, grafica și text colorate, etc. Dezavantajul este că trebuie să aibă suficientă memorie cache de afișare OSD și cerințele de viteză pentru MCU de la pixel la ... procesarea pixelilor. Acest tip de OSD este utilizat de obicei pe televizoare cu ecran plat de dimensiuni mari și monitoare profesionale. Odată cu dezvoltarea continuă a tehnologiei și scăderea continuă a costului memoriei, OSD-urile viitoare ar trebui să fie toate bitmapate.
desenul OSD folosește, în general, un mecanism de stocare în cache dublu-tampon
Un tampon este ceea ce putem vedea, iar celălalt este invizibil. Când desenați, prelucrați mai întâi datele din buffer care nu pot fi văzute. La desen, copiați datele acestui buffer pentru a le vedea.
|
Introduceți adresa de e-mail pentru a primi o surpriză
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albaneză
ar.fmuser.org -> arabă
hy.fmuser.org -> Armeană
az.fmuser.org -> azeră
eu.fmuser.org -> bască
be.fmuser.org -> bielorusă
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> catalană
zh-CN.fmuser.org -> Chineză (simplificată)
zh-TW.fmuser.org -> Chineză (tradițională)
hr.fmuser.org -> croată
cs.fmuser.org -> cehă
da.fmuser.org -> Daneză
nl.fmuser.org -> Dutch
et.fmuser.org -> estonă
tl.fmuser.org -> filipinez
fi.fmuser.org -> finlandeză
fr.fmuser.org -> Franceză
gl.fmuser.org -> Galeză
ka.fmuser.org -> Georgiană
de.fmuser.org -> germană
el.fmuser.org -> greacă
ht.fmuser.org -> Creole haitian
iw.fmuser.org -> ebraică
hi.fmuser.org -> Hindi
hu.fmuser.org -> Maghiară
is.fmuser.org -> islandeză
id.fmuser.org -> indoneziană
ga.fmuser.org -> irlandeză
it.fmuser.org -> Italiană
ja.fmuser.org -> japoneză
ko.fmuser.org -> coreeană
lv.fmuser.org -> letonă
lt.fmuser.org -> lituaniană
mk.fmuser.org -> macedoneană
ms.fmuser.org -> Malay
mt.fmuser.org -> malteză
no.fmuser.org -> norvegiană
fa.fmuser.org -> persană
pl.fmuser.org -> poloneză
pt.fmuser.org -> portugheză
ro.fmuser.org -> Română
ru.fmuser.org -> rusă
sr.fmuser.org -> sârbă
sk.fmuser.org -> slovacă
sl.fmuser.org -> Slovenă
es.fmuser.org -> spaniolă
sw.fmuser.org -> Swahili
sv.fmuser.org -> suedeză
th.fmuser.org -> Thai
tr.fmuser.org -> turcă
uk.fmuser.org -> ucraineană
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnameză
cy.fmuser.org -> galeză
yi.fmuser.org -> idiș
FMUSER Wirless Transmit video și audio mai ușor!
Contact
Adresa:
Nr. 305 Clădirea HuiLan nr. 273 Huanpu Road Guangzhou China 510620
Categorii
Stiri lunare via e-mail