FMUSER更轻松地传输视频和音频!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
OSD(屏幕显示)是一种屏幕显示技术,用于在显示终端上显示字符,图形和图像。
视频存储器,也称为帧缓冲器,用于存储图形芯片处理或将要提取的渲染数据。 像计算机内存一样,视频内存是用于存储要处理的图形信息的组件。 我们在显示器上看到的图片由单个像素组成,每个像素使用4-32甚至64位数据来控制其亮度和颜色。 这些数据必须通过视频存储器保存。 然后由显示芯片和CPU分配,最后将运算结果转换为图形并输出到显示器。
1.显存计算:
宽度*高度* PIXEL_SIZE(位深度)
8位16位32位
U32 * p =(U32 *)GetMemoryAddr();
p [y *宽度+ x] = 0xffff0000;
例如,分辨率为1280 * 720,图像模式为ARGB8888,而视频内存缓冲区为1280 * 720 * 4。 如果是ARGB1555,则1280 * 720 * 2、4和2表示位深度,即字节数
分辨率为1280 * 720,图像模式为ARGB8888。 在一个屏幕上,一行有1280像素,一列有720像素。 一个像素由4个字节的数据控制。
2,实现过程为:视频存储器的内容一一对应于显示终端上的像素。 这种一一对应的关系通常由寄存器设置,然后由硬件实现。 存储器内容的操作改变了屏幕的像素,从而可以实现特定界面的显示。 实际上,这也是用于普通数字显示器的显示方法。 例如:320 * 240单色(1位)像素OSD需要40 * 240字节的存储空间才能对应。 320 * 240 16色(4位)像素OSD需要160 * 240字节的存储空间才能与其对应
现在可以通过修改存储单元的内容来更改OSD的像素,但是仍然存在一个关键问题,即如何根据需要进行操作,即如何将某个像素设置为指定的颜色。 接下来,我们将介绍色板的概念。
字节中低四位的内容与像素一对一对应,其值为“ 3”,然后由调色板确定由数字“ 3”表示的颜色,然后确定OSD屏幕驱动将像素设置为指定的颜色。 相似地,
此调色板和物理OSD显示屏之间的对应关系通常由寄存器设置,这由硬件保证。 对于特定的显示环境,此调色板通常是固定的
当前有两种主要的OSD实现方法:外部OSD生成器和视频处理器之间的叠加和合成; 视频处理器内部支持OSD,并直接在视频缓冲区内叠加OSD信息。
1.外部OSD发生器与视频处理器之间叠加合成的实现原理是:内置在MCU中的字符发生器和显示缓冲器,利用Fast-Blank信号切换电视屏幕和OSD显示内容,制作OSD字符和其他内容叠加在最终显示屏上,在OSD和显示屏叠加过程中,通过调整两者之间的比例可以实现OSD半透明(混合)效果。 同时,通过在OSD信号中重新编码红色,绿色和蓝色信号,可以获得不同的OSD颜色效果。
2.另一种实现方法是在视频处理器内部支持OSD,并将OSD信息直接叠加在视频缓冲区内部。 这种类型的视频处理通常具有外部存储器或少量内部行缓冲器以及OSD生成器。 OSD合成和控制直接在视频缓冲区中完成,并且还具有上述的半透明和颜色控制功能。 OSD有两种类型:基于字体的和位图。
字符OSD:为了节省显示缓存,早期且低成本的解决方案使用字符OSD生成器。 原理是将OSD中的显示内容根据特定格式(例如数字12-18,字母az,常用亮度,对比度符号等)划分为块(12×16、0×9等)。 ,并且这些内容在ROM或Flash中固化,只有相应的索引号存储在显示缓存中,这样的“字典”结构可以大大减少显示缓存的需要。 同时,为了提供对每个字符的颜色和其他属性的控制,通常有一个与显示缓冲区大小相同的属性缓冲区及其属性(前景色,背景色,闪烁等)。对整个角色中的每个像素都有效。 为了弥补无法以此方式为每个像素指定颜色的缺点,OSD生成器的设计人员提供了一种通过组合多个显示缓冲区来呈现多色字符的解决方案。 原理是每个显示缓冲区都确定一种配色方案。 合并两个或多个显示缓冲区时,可以将“具有两个以上颜色的多色字符”组合在一起。 字符OSD的优点是它可以在OSD内部使用较少的显示缓冲区,并且MCU仅需要指定显示内容的索引即可显示相应的OSD信息,这可以在速度相对较低的MCU上实现。 但这正是因为上述原因
显示信息和颜色编码方法不够直观,这将给字符OSD的固件开发带来一些麻烦。 通常,LCD显示器,低成本平板电视和CRT传统电视都使用这种OSD,但它们仍占据着市场的主流地位。 与字符OSD相比,位图OSD的处理原理更加直观简单:通过改变最终显示内容的特定区域中的每个像素,将OSD信息直接叠加在最终显示屏幕上;
其逐像素控制可确保多色和足够的性能。 位图OSD生成器通常内置在视频处理器中,并共享其主显示缓冲区。 还有一些独立于视频处理器的专业OSD位图生成器,例如Maxim的MAX4455。 通常,这种类型的芯片需要外部SDRAM作为显示缓冲区。 理论上,位图OSD的显示效果可以非常完美。 它可以为各种对象提供类似于Windows的三维效果,例如阴影按钮,彩色图形和文本等。缺点是它必须具有足够的OSD显示缓存,并且逐个像素地要求MCU的速度。像素处理。 这种OSD通常用于大型高端平板电视和专业显示器。 随着技术的不断发展和内存成本的不断下降,未来的OSD都应进行位图映射。
osd绘图通常使用双缓冲区缓存机制
我们可以看到一个缓冲区,而另一个是不可见的。 绘制时,首先处理缓冲区中看不到的数据。 绘制时,复制此缓冲区的数据以查看。
|
输入电子邮件以获取惊喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
FMUSER更轻松地传输视频和音频!
联系我们
分类目录
订阅电子邮件