FMUSER Wirless Transmit Video And Audio More Easier !
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
OSD (On Screen Display) is a kind of screen display technology used to display characters, graphics and images on the display terminal.
Video memory, also known as frame buffer, is used to store the rendering data processed or about to be extracted by the graphics chip. Like computer memory, video memory is a component used to store graphics information to be processed. The picture we see on the display is composed of individual pixels, and each pixel uses 4-32 or even 64-bit data to control its brightness and color. These data must be saved through video memory. Then it is assigned by the display chip and CPU, and finally the result of the operation is converted into graphics and output to the display.
1. Video memory calculation:
width * height * PIXEL_SIZE (bit depth)
8bit 16bit 32bit
U32 *p = (U32*)GetMemoryAddr();
p[y * width + x] = 0xffff0000;
For example, the resolution is 1280*720, the image mode is ARGB8888, and your video memory buffer is 1280*720*4. If it is ARGB1555, 1280*720*2, 4 and 2 represent the bit depth, which is the number of bytes
The resolution is 1280*720, and the image mode is ARGB8888. On one screen, there are 1280 pixels in one row and 720 pixels in one column. One pixel is controlled by 4 bytes of data.
2. The realization process is: the content of the video memory corresponds to the pixels on the display terminal one to one. This one-to-one correspondence is generally set by registers, and then implemented by the hardware. The operation of the memory content changes the pixels of the screen, so that the display of a specific interface can be realized. In fact, this is also the method for general digital display to display. For example: 320*240 monochromatic (1 Bit) pixel OSD requires 40*240 Bytes storage space to correspond to it; 320*240 16 color (4 Bits) pixel OSD requires 160*240 Bytes storage space to correspond to it
Now it is possible to change the pixels of the OSD by modifying the content of the storage unit, but there is still a key issue how to operate according to needs, that is, how to set a certain pixel to a specified color. Next, we will introduce the concept of swatches.
The content of the lower four Bits in a Byte corresponds to a pixel one-to-one, and its value is "3", then the color represented by the number "3" is determined by the color palette, and then the OSD screen is driven to set the pixel to the specified color . Similarly,
The corresponding relationship between this color palette and the physical OSD display screen is generally set by the register, which is guaranteed by the hardware. For a specific display environment, this color palette is generally fixed
There are currently two main OSD implementation methods: superimposition and synthesis between the external OSD generator and the video processor; the video processor supports OSD internally, and directly superimposes OSD information inside the video buffer.
1. The realization principle of the superposition synthesis between the external OSD generator and the video processor is: a character generator and display buffer built in the MCU, using the Fast-Blank signal to switch the TV screen and OSD display content , Make OSD characters and other content superimposed on the final display screen, in the OSD and display screen superimposition process, by adjusting the ratio between the two can achieve the OSD semi-transparent (Blending) effect. At the same time, by re-encoding the red, green and blue signals in the OSD signal, different OSD color effects can be obtained.
2. Another implementation method is to support OSD inside the video processor, and directly superimpose OSD information inside the video buffer. This type of video processing usually has an external memory or a small amount of internal line buffers, as well as an OSD generator. OSD synthesis and control are directly completed in the video buffer, and it also has the above-mentioned translucency and color control functions. OSD has two types: Font-Based and Bit-Map.
Character OSD: In order to save the display cache, early and low-cost solutions use a character OSD generator. The principle is to divide the display content in the OSD into blocks according to a specific format (12×18, 12×16, etc.) , Such as numbers 0-9, letters az, commonly used brightness, contrast symbols, etc., and these contents are solidified in ROM or Flash, only the corresponding index number is stored in the display cache, such a "dictionary" structure can be greatly reduced Show the need for caching. At the same time, in order to provide control over the color and other attributes of each character, there is usually an attribute buffer of the same size as the display buffer, and its attributes (foreground color, background color, flicker, etc.) are effective for each pixel in the entire character. In order to make up for the shortcoming of not being able to specify the color for each pixel in this way, the designer of the OSD generator provides a solution for presenting multi-color characters by combining multiple display buffers. The principle is that each display buffer determines a color scheme. When two or more display buffers are merged, multi-color characters with more than two colors can be "pieced together". The advantage of the character OSD is that it can use less display buffer inside the OSD, and the MCU only needs to specify the index of the display content to display the corresponding OSD information, which can be implemented on a relatively low-speed MCU. But it is precisely because of the above
The display information and color coding method are not intuitive enough, which will bring some troubles to the firmware development of the character OSD. Usually LCD monitors, low-cost flat-panel TVs and CRT traditional TVs use this type of OSD, and they still occupy the mainstream position in the market. Compared with the character OSD, the processing principle of the bitmap OSD is more intuitive and simple: by changing each pixel in a specific area of the final display content, the OSD information is directly superimposed on the final display screen,
Its pixel-by-pixel control can ensure multi-color and sufficient performance capabilities. The bitmap OSD generator is usually built in the video processor and shares its main display buffer. There are also professional OSD bitmap generators independent of the video processor, such as Maxim's MAX4455. Usually this type of chip requires an external SDRAM as a display buffer. The display effect of bitmap OSD can theoretically be very perfect. It can provide various objects with a three-dimensional effect similar to Windows, such as shadowed buttons, colorful graphics and text, etc. The disadvantage is that it must have enough OSD display cache, and the speed requirements for MCU by pixel-by-pixel processing. This type of OSD is usually used on large-size high-end flat-panel TVs and professional monitors. With the continuous development of technology and the continuous decline of the cost of memory, future OSDs should all be bitmapped.
osd drawing generally uses a double-buffer caching mechanism
One buffer is what we can see, and the other is invisible. When drawing, first process the data in the buffer that cannot be seen. When drawing, copy the data of this buffer to see.
|
Enter email to get a surprise
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
FMUSER Wirless Transmit Video And Audio More Easier !
Contact
Address:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620
Categories
Newsletter