崔 婷
(四川長虹多媒體產業(yè)公司技術研發(fā)中心平板顯示技術研究所 四川 綿陽 621000)
近年來,隨著視頻壓縮技術的持續(xù)發(fā)展,進一步促進了數(shù)字高清電視技術的有效發(fā)展,市場上有關視頻解碼及處理方面的芯片越來越多,如264解碼等。值得注意的是,若要充分應用此類處理芯片,就需圖像引擎的支持,其在數(shù)字高清電視系統(tǒng)中占據(jù)著重要地位,故強化對圖像引擎系統(tǒng)的設計與實現(xiàn)就顯得尤為重要。
針對引擎而言,其主要是指整個系統(tǒng)中的關鍵部分,來源于機器工業(yè)領域的一種術語,在虛擬仿真操作系統(tǒng)里,圖形引擎屬于重要的支撐基礎,比較常見的圖形引擎包括OpenGVS、OSG等,且已逐漸邁入了三維時代。值得注意的是,由于三維圖形引擎所包含的內容具有多樣性,除了涉及專業(yè)知識,還包括數(shù)學算法等內容,故在進行研究開發(fā)時就存在一定難度?,F(xiàn)階段,以計算機為前提,實現(xiàn)的三維圖形編輯大多是使用OpecCI,但該引擎存在一定不足,即后期開發(fā)研究中處理操作場景,抑或是設計場景等存在較大難度。另外,OCRE圖形主要面向的是C++編程開發(fā)模式,具有靈活性的特點,以OpencL及Direet3D系統(tǒng)抽象細節(jié)為前提,且還包含了部分開放的數(shù)據(jù)接口,在進行三維場景的構建時,可使用少量代碼就可達到目的。值得注意的是,此引擎采用的程序架構可擴展,資源管理呈高新狀態(tài),進行配置時靈活性較大,尤其適用于場景類型[1-2]。
OGRE引擎系統(tǒng)是通過使用C++編程開發(fā)的,是一款十分靈活的3D圖形引擎。它抽象了底層Direct3D與OpenGL系統(tǒng)庫的所有細節(jié),并開放了基于實際對象的接口。開發(fā)人員可以用少量代碼就可以實現(xiàn)3D場景構建工作,可以更加方便、直接地開發(fā)基于三維硬件設備中的應用程序。
OGRE引擎由于采用了可以拓展的程序架構,使其具有高效與高度可配置的資源管理器,支持多種場景類型和高效的插件架構,同時可以使用高效的網(wǎng)格數(shù)據(jù)格式進行存儲模型數(shù)據(jù),并且有著清晰整潔設計與更全面文檔的支持。另外,OGRE引擎屬于開源引擎,可以做到快速更新,使其功能越來越強大。它是由麻省理工學院(MIT)授權的,使用時不會產生授權費用。OGRE引擎在涉及3D圖形渲染的模擬和游戲中具有廣闊的應用前景。
整個3D場景的入口點也就是根節(jié)點,它必須最先創(chuàng)建,然后最后發(fā)布,它的作用是配置系統(tǒng)中其他對象。設置場景的渲染屬性并執(zhí)行渲染操作,由渲染系統(tǒng)完成。場景管理器負責管理組織場景,生成和管理元素,包括燈光、攝像機、場景節(jié)點、實體和材質等。攝像機作用是觀察創(chuàng)建渲染后場景,并且可以通過視口將渲染后場景顯示到屏幕。燈光作用是為場景提供照明,其包括聚光源、有向光源、點光源。實體通常由網(wǎng)格創(chuàng)建,屬于場景中的幾何。材質屬于場景中幾何圖形的表面屬性。它不僅支持從圖像文件的多種格式加載紋理,并且可以具有足夠的紋理層,每層紋理都支持多種渲染特殊效果,更可以支持動畫紋理。場景管理器通過使用“場景節(jié)點”來識別實體、燈光、攝像機和其他元素的方向和位置。OGRE場景其組織的原理通過將場景劃分成多個抽象空間,這些抽象空間可以繼續(xù)分為多個子空間,而每個子空間都用一個場景節(jié)點管理。比如:實體和燈光之類的場景元素并不負責空間位置的相關行為,所有行為都移交給了場景節(jié)點管理。OGRE依據(jù)空間的劃分和層次把大量的場景節(jié)點構建成樹狀結構,以此來完成整個場景的有序組織管理[3-4]。
由于標清電視使用的是早期的圖形引擎,早期的圖形引擎系統(tǒng)功能比較單一,所支持的內容也相對有限,所以只能處理單一畫面或混合顯示,并不能對復雜的動態(tài)圖像進行處理;其對色彩方面的處理也非常有限和單調,只支持8色、16色、32色3種類型。圖像分辨率無法支持高清格式,只有一般720×480顯示格式。另外,標清電視顯示的時候只能隔行顯示,這就導致顯示需求高的時候,CPU就要中斷響應,使系統(tǒng)效率降低。
數(shù)字高清電視在標清電視的基礎上有了巨大進步,可以支持所有像素的操作,并支持動態(tài)圖形,內容豐富且無限制,在分辨率上也有大的改善,可以支持1920×1080格式。在顯示上支持隔行和逐行顯示,從而CPU效率的運用也有了很大的提高?;诖?,就數(shù)字高清電視的圖形引擎系統(tǒng)對比標清電視的圖形引擎系統(tǒng),所有功能上都有了極大的進步和改善。
數(shù)字高清電視系統(tǒng)圖像引擎的組成部分包含BLT及CDU,前者的功能主要體現(xiàn)于對圖形、圖像的各種編輯操作,后者則可實現(xiàn)圖像的顯示,也能對圖形進行處理及混合圖形前的整合。此系統(tǒng)的硬件整體設計架構主要以Host IF相關寄存器為前提,通過相應操作指令及地址的提供,由系統(tǒng)總線讀取一些信息后,再經BLT、CDU模塊處理,以達到順利輸出信號的目的。
通常來講,該模塊是系統(tǒng)處理部分的核心,可以實現(xiàn)矩形切割,邏輯運算、雙圖源操作等,加之CDU相關功能可促進整體圖形引擎操作功能的提高,故在一定程度上擴大了適用范圍。在處理圖形源1、2的數(shù)據(jù)時,BLT支持格式較多,包含了8bpp、32bpp、YCbCr格式等,但必須注意32bpp和YCbCr格式是需要對應的機制進行轉換才能實現(xiàn)。另外,BLT模塊還可以同時操作處理兩幅圖,這歸因于內部算數(shù)邏輯運算單元,其可以支持對兩個圖像源執(zhí)行相應的邏輯運算、包含運算、非運算等,并且可以將兩個圖像彼此集成。該模塊也可以以透明效果覆蓋或顯示[5]。
對于彩色鍵功能模塊,其主要功能是對某些像素進行操作,通常是處理特定范圍內的像素。當它停留在特定的像素范圍內時,可以有選擇地提取或替換它。此功能主要基于色度功能,并且對于提取圖形中的特定對象效果尤為明顯。另外,關于矩形切割模塊功能,可以在主要圖形中隨意選擇矩形區(qū)域進行操作,且對于一系列點或直線也可以進行操縱,特別是對于像素點集中在二維圖形處理方面,Color Key模塊可以充分發(fā)揮其優(yōu)勢。當模塊充滿顏色時,將替換由圖像源2生成的連續(xù)固定顏色值。此時,可以基于矩形裁剪功能來填充單色像素。
CDU結構的功能主要體現(xiàn)在對一層視頻層及三層圖形層進行疊加操作處理,通過存儲器實現(xiàn)對圖形層的提取,并在視頻處理模塊中獲得視頻層。需要注意疊加操作主要的順序是視頻層、圖層第1層、第2層和第3層。視頻層模式輸入常以隔行或逐行輸入,通常格式為YCbCr4:2:2。第1層和第2層圖層的顯示分辨率為1920×1080,都具有放大2倍的功能。此時,圖形層3的分辨率顯示為32×32,功能主要為光標層。圖層間的混合通常使用BLT中的ɑ混合模式混合,首先將圖層1與視頻層進行混合,混合后與圖層2進行混合,最后再與圖層3進行混合,就可以獲得覆蓋或者是半透明等不同的差異效果。數(shù)字高清電視系統(tǒng)中圖像引擎系統(tǒng)的亮點是在CDU中的兩個放大模塊,其內部使用更加先進的邊緣檢測插值算法,能夠插值處理亮度、色度兩方面的信號,可實現(xiàn)對圖形邊緣特性的保護[6-7]。
通常來講,數(shù)字高清電視系統(tǒng)的集中式圖像引擎是以HDTV源SoC平臺作為支點,主要是通過視頻處理的SoC芯片和利用高清電視系統(tǒng)MPEG-2解碼實現(xiàn)。在HDTV SoC系統(tǒng)的前提下,主要包含了CPU、系統(tǒng)總線、存儲控制、視頻處理等。MEPG-2作用是對整個電視信號進行解碼和處理,然后在圖形引擎模塊和3層圖形層中完成合成并輸出。對于芯片系統(tǒng)型號類型,主要包含了控制及數(shù)據(jù)信號,均需通過MPEG-2的解碼,CPU的主要功能是發(fā)出控制信號,之后通過系統(tǒng)總線寫到具有音頻解碼功能的Host IF寄存器上,其接收的數(shù)據(jù)信號在通過系統(tǒng)總線存儲在存儲器中,達到SDRAM,之后與圖形層同時被輸出[8]。
綜上所述,對于數(shù)字電視系統(tǒng)集中圖像引擎系統(tǒng)的設計來講,其主要集成在HDTV SoC芯片的內部,在處理圖形層方面充分發(fā)揮著協(xié)助作用,與視頻層合成后,就可以系統(tǒng)的形式達到輸出的目的,在進一步分析了圖形引擎硬件結果后,具體的參數(shù)經過了BLT、CDU模塊的設計,實現(xiàn)了HDTV SoC系統(tǒng)的圖形層支持功能提供。