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更輕鬆地傳輸視頻和音頻!
聯絡我們
分類
電子通訊