屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝置,從OSD數(shù)據(jù)中分離出alpha通道數(shù)據(jù)與RGB通道數(shù)據(jù),當(dāng)alpha通道數(shù)據(jù)為固定值時(shí),alpha通道數(shù)據(jù)無需經(jīng)過DDR,不占用內(nèi)存空間,通過第一壓縮方式將RGB通道數(shù)據(jù)壓縮后寫入DDR;當(dāng)alpha通道數(shù)據(jù)為非固定值時(shí),采用第二壓縮方式對(duì)alpha通道數(shù)據(jù)壓縮、采用第一壓縮方式對(duì)RGB通道數(shù)據(jù)壓縮,將壓縮后的alpha通道數(shù)據(jù)與RGB通道數(shù)據(jù)寫入DDR,之后從DDR中讀出并解壓,此時(shí),壓縮后的alpha通道數(shù)據(jù)與RGB通道數(shù)據(jù)占用的內(nèi)存空間小于對(duì)OSD數(shù)據(jù)整體壓縮后占用的內(nèi)存空間。
【專利說明】
屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明實(shí)施例涉及電子技術(shù)領(lǐng)域,尤其涉及一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝 置。
【背景技術(shù)】
[0002] 目前,隨著技術(shù)的不斷發(fā)展,帶有顯示設(shè)備的終端,如電視、電腦等廣泛進(jìn)入人們 的日常生活,不同用戶對(duì)顯示設(shè)備的顯示效果有著不同層次的需求。屏幕調(diào)節(jié)菜單(On Screen Display,0SD)通過提供一個(gè)直觀的用戶界面(User Interface,UI),方便用戶對(duì)顯 示設(shè)備的顯示特性進(jìn)行調(diào)節(jié)。
[0003] 當(dāng)用戶調(diào)出0SD時(shí),終端的處理芯片通過對(duì)0SD數(shù)據(jù)進(jìn)行處理從而實(shí)現(xiàn)0SD用戶界 面的畫質(zhì)提升。處理時(shí),顯示設(shè)備的系統(tǒng)芯片(System on Chip,SoC)輸出的0SD數(shù)據(jù)通過輸 入先進(jìn)先出(First Input First Output,F(xiàn)IF0)模塊之后,輸入至雙倍速率同步動(dòng)態(tài)隨機(jī) 存儲(chǔ)器(Double Data Rate,DDR),之后通過內(nèi)存直接訪問(Direct Memory Access,DMA)從 DDR讀出數(shù)據(jù)并進(jìn)行縮放等處理,最后送入輸出FIFO模塊。
[0004] 該過程中,為0SD分配內(nèi)存,0SD數(shù)據(jù)占用大量的DDR空間。因此,如何提成一種0SD 數(shù)據(jù)處理方式,使得0SD數(shù)據(jù)在寫入DDR時(shí)占用較小的內(nèi)存空間,實(shí)為業(yè)界亟待解決的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝置,先將0SD數(shù)據(jù)進(jìn)行壓縮后再 寫入DDR,使得0SD數(shù)據(jù)在寫入DDR時(shí)占用較小的內(nèi)存空間。
[0006] 第一方面,本發(fā)明實(shí)施例提供一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法,包括:
[0007] 從第一屏幕調(diào)節(jié)菜單0SD數(shù)據(jù)中分離出透明通道數(shù)據(jù)與紅綠藍(lán)RGB通道數(shù)據(jù);
[0008]將所述RGB通道數(shù)據(jù)通過第一壓縮方式壓縮后寫入雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器 DDR;
[0009]從所述DDR讀出經(jīng)過所述第一壓縮方式壓縮的RGB通道數(shù)據(jù)并解壓;
[0010]根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二0SD數(shù)據(jù)。
[0011]第二方面,本發(fā)明實(shí)施例提供一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置,包括:
[0012]分離模塊,用于從第一屏幕調(diào)節(jié)菜單0SD數(shù)據(jù)中分離出透明alpha通道數(shù)據(jù)與紅綠 藍(lán)RGB通道數(shù)據(jù);
[0013]寫入模塊,用于將所述RGB通道數(shù)據(jù)通過第一壓縮方式壓縮后寫入雙倍速率同步 動(dòng)態(tài)隨機(jī)存儲(chǔ)器DDR;
[0014]讀取模塊,用于從所述DDR讀出經(jīng)過所述第一壓縮方式壓縮的RGB通道數(shù)據(jù)并解 壓;
[0015]合成模塊,用于根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二0SD數(shù) 據(jù)。
[0016]本發(fā)明實(shí)施例提供的屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝置,在將0SD數(shù)據(jù)寫入DDR之 前,先對(duì)OSD數(shù)據(jù)進(jìn)行壓縮處理,使得OSD數(shù)據(jù)的大小減小,再將壓縮后的OSD數(shù)據(jù)寫入DDR, 由于壓縮后的OSD數(shù)據(jù)占用的DDR物理內(nèi)存空間小,因此可以提高DDR物理內(nèi)存空間的利用 率。同時(shí),為了進(jìn)一步的提高0SD數(shù)據(jù)壓縮率,對(duì)0SD數(shù)據(jù)處理時(shí),從0SD數(shù)據(jù)中分離出alpha 通道數(shù)據(jù)與RGB通道數(shù)據(jù),通過第一壓縮方式將RGB通道數(shù)據(jù)壓縮后寫入DDR,之后從DDR中 讀出并解壓,根據(jù)解壓縮后的RGB與alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù),當(dāng)alpha通道數(shù)據(jù)為 固定值時(shí),從0SD數(shù)據(jù)中分離出的alpha通道數(shù)據(jù)無需經(jīng)過DDR,不占用內(nèi)存空間,當(dāng)alpha通 道數(shù)據(jù)為非固定值時(shí),采用第二壓縮方式對(duì)alpha通道數(shù)據(jù)壓縮后寫入DDR,此時(shí),壓縮后的 alpha通道數(shù)據(jù)與RGB通道數(shù)據(jù)占用的內(nèi)存空間小于對(duì)0SD數(shù)據(jù)整體壓縮后占用的內(nèi)存空 間,因此,可以進(jìn)一步的節(jié)約DDR的內(nèi)存空間,使得DDR中的空閑空間可以分配給其他模塊, 提高了DDR物理內(nèi)存空間的利用率。
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明方法實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要 使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明方法的一些實(shí)施例, 對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0018] 圖1為目前畫質(zhì)處理過程示意圖;
[0019] 圖2為目前0SD數(shù)據(jù)處理過程示意圖;
[0020]圖3為目前DDR物理空間分配示意圖;
[0021]圖4為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法中將0SD數(shù)據(jù)壓縮后寫入DDR的過程示意 圖;
[0022]圖5為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法實(shí)施例一的流程圖;
[0023]圖6A為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法中根據(jù)解壓后的RGB通道數(shù)據(jù)與預(yù)存 alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù)的過程示意圖;
[0024] 圖6B為圖6A對(duì)應(yīng)的DDR物理空間分配示意圖;
[0025]圖7A為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法中根據(jù)解壓后的RGB通道數(shù)據(jù)與解壓后 的alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù)的過程示意圖;
[0026] 圖7B為圖7A對(duì)應(yīng)的DDR物理空間分配示意圖;
[0027] 圖8為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0028] 圖9為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置實(shí)施例二的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0029]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0030]本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"、"第二"、"第三"、"第 四"等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理 解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除 了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語"包括"和"具有"以及他們的任何 變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn) 品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@ 些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0031]目前,顯示設(shè)備在對(duì)視頻、圖像等進(jìn)行顯示時(shí),若用戶調(diào)出0SD,顯示設(shè)備的處理芯 片通過對(duì)0SD數(shù)據(jù)以及當(dāng)前播放的視頻(Video)數(shù)據(jù)進(jìn)行處理,以提升視頻畫面和0SD用戶 界面。具體的,可參見圖1,圖1為目前畫質(zhì)處理過程示意圖。
[0032] 請(qǐng)參照?qǐng)D1,終端的系統(tǒng)芯片輸出Video數(shù)據(jù)與0SD數(shù)據(jù),畫質(zhì)處理芯片對(duì)該Video 數(shù)據(jù)與OSD數(shù)據(jù)進(jìn)行處理。對(duì)于Video數(shù)據(jù),畫質(zhì)處理芯片從SoC接收到該Video數(shù)據(jù),對(duì) Video數(shù)據(jù)進(jìn)行運(yùn)動(dòng)估計(jì)(Motion Estimation,ME)、運(yùn)動(dòng)補(bǔ)償(Motion Compensation,MC)、 對(duì)比度調(diào)節(jié)、銳度調(diào)節(jié)、色度調(diào)節(jié)以及白平衡調(diào)節(jié)等,處理后的數(shù)據(jù)送入顯示設(shè)備,從而在 屏幕上顯不視頻畫面。對(duì)于0SD數(shù)據(jù),0SD數(shù)據(jù)可以為透明紅綠藍(lán)(Alpha Red Green Blue, ARGB)格式、RGB格式或RGBA格式等,以ARGB格式為例,畫質(zhì)處理芯片從SoC接收到該ARGB格 式的0SD數(shù)據(jù),將該0SD數(shù)據(jù)通過輸入FIFO送入DDR,DDR中預(yù)先為0SD數(shù)據(jù)分配一定的內(nèi)存, 然后,通過DMA從DDR讀出數(shù)據(jù)并進(jìn)行縮放等處理,最后送入輸出緩存(buffer)。具體的,可 參見圖2,圖2為目前0SD數(shù)據(jù)處理過程示意圖。在對(duì)Video數(shù)據(jù)與0SD數(shù)據(jù)進(jìn)行處理后,對(duì)處 理后的0SD數(shù)據(jù)與video數(shù)據(jù)進(jìn)行混合后顯示。該過程中,為0SD分配內(nèi)存,0SD數(shù)據(jù)占用大量 的DDR空間。具體的,可參見圖3,圖3為目前DDR物理空間分配示意圖。
[0033] 請(qǐng)參照?qǐng)D3,由于DMA讀取過程中也要求物理地址對(duì)齊,因此,基于對(duì)齊原則分配內(nèi) 存物理空間。假設(shè)DDR的總空間為128MByte,依據(jù)對(duì)齊原則為系統(tǒng)、Video數(shù)據(jù)、0SD數(shù)據(jù)、模 塊A、模塊B分配的內(nèi)存物理空間大小依次為:16MByte、64MByte、32MByte、8MByte、8MByte。 實(shí)際中,Video數(shù)據(jù)占用60MByte,OSD數(shù)據(jù)占用30MByte,系統(tǒng)占用16MByte,模塊A占用 6MBy t e,模塊B占用6MBy te,導(dǎo)致未使用的空間為4個(gè)區(qū)域,包括一個(gè)4MBy t e的區(qū)域和3個(gè) 2MByte的區(qū)域(即圖中豎線填充的區(qū)域)。對(duì)于0SD數(shù)據(jù)來說,其占用的內(nèi)存物理空間為 30MByte,占用的內(nèi)存物理空間較大,無法為其他模塊分配物理空間。
[0034]有鑒于此,本發(fā)明實(shí)施例提供一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法及裝置,先將0SD數(shù) 據(jù)進(jìn)行壓縮后再寫入DDR,使得0SD數(shù)據(jù)在寫入DDR時(shí)占用較小的內(nèi)存空間。具體的,再請(qǐng)參 照?qǐng)D3,本發(fā)明實(shí)施例中,本發(fā)明實(shí)施例中,0SD數(shù)據(jù)例如為ARGB格式、RGB格式或RGBA格式的 數(shù)據(jù)。0SD數(shù)據(jù)處理過程中,先對(duì)0SD數(shù)據(jù)進(jìn)行壓縮,例如,進(jìn)行無損壓縮、有損壓縮等。壓縮 后的0SD數(shù)據(jù)的大小小于壓縮之前的0SD數(shù)據(jù)的大小。在對(duì)0SD數(shù)據(jù)進(jìn)行壓縮后,將該壓縮后 的0SD數(shù)據(jù)寫入DDR。然后,從DDR讀出壓縮后的0SD數(shù)據(jù)并解壓縮,最后根據(jù)解壓后的0SD數(shù) 據(jù),得到第二0SD數(shù)。
[0035] 以分辨率為3480X2160的0SD來說,如果采用兩個(gè)buffer輪詢,則需要的DDR空間 為3480 X 2160 X 4 X 2 = 64Mbyte,一幀圖像需要32Mbyte。為避免0SD數(shù)據(jù)占用大量的DDR空 間,將0SD數(shù)據(jù)進(jìn)行壓縮后寫入DDR。具體的,可參見圖4,圖4為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處 理方法中將0SD數(shù)據(jù)壓縮后寫入DDR的過程示意圖。
[0036] 請(qǐng)參照?qǐng)D4,在寫入DDR之前,對(duì)0SD數(shù)據(jù)進(jìn)行壓縮。結(jié)合圖3的例子,壓縮之前,0SD 數(shù)據(jù)的大小為30MByte,經(jīng)過壓縮后,0SD數(shù)據(jù)的大小小于30MByte,比如為25MByte,此時(shí)0SD 數(shù)據(jù)部分的空閑區(qū)域的大小為7MByte,可以分配給其他需求空間小于7MByte的模塊使用。
[0037] 上述OSD數(shù)據(jù)處理過程中,在將OSD數(shù)據(jù)寫入DDR之前,先對(duì)OSD數(shù)據(jù)進(jìn)行壓縮處理, 使得0SD數(shù)據(jù)的大小減小,再將壓縮后的0SD數(shù)據(jù)寫入DDR,由于壓縮后的0SD數(shù)據(jù)占用的DDR 物理內(nèi)存空間小,因此可以提高DDR物理內(nèi)存空間的利用率。
[0038] 然而,一般來說,DDR內(nèi)存空間固定分配且連續(xù),不能隨意改動(dòng)。壓縮時(shí),設(shè)定最小 壓縮率,對(duì)0SD數(shù)據(jù)有損壓縮。當(dāng)0SD數(shù)據(jù)比較簡(jiǎn)單時(shí),壓縮率一般比較大,例如,0SD用戶界 面為單色。當(dāng)0SD內(nèi)容比較復(fù)雜時(shí),則必須壓縮到一定程度,才能減少占用的內(nèi)存。但是,內(nèi) 存分配為物理地址連續(xù)分配,而且,出于效率的考慮,DMA讀取過程中要求物理地址對(duì)齊。然 而,上述的0SD數(shù)據(jù)處理過程中,繼續(xù)沿用圖3所示的例子,雖然在寫入DDR之前進(jìn)行壓縮,使 得0SD數(shù)據(jù)部分的空閑區(qū)域的大小為7MByte。但是,若有一個(gè)需求空間大于7MByte的模塊請(qǐng) 求分配空間,則無法為其分配空間。也就說,雖然采用本發(fā)明圖4所示過程,在寫入DDR之前 對(duì)0SD數(shù)據(jù)進(jìn)行壓縮,但是壓縮能力有限,壓縮后,連續(xù)的空閑空間不夠大。
[0039]因此,針對(duì)壓縮后連續(xù)空閑空間不夠大的問題,本發(fā)明對(duì)0SD數(shù)據(jù)處理方法進(jìn)一步 進(jìn)行改進(jìn),具體的,可參見圖5,圖5為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法實(shí)施例一的流程 圖,包括:
[0040] 101、從第一屏幕調(diào)節(jié)菜單0SD數(shù)據(jù)中分離出透明通道數(shù)據(jù)與紅綠藍(lán)RGB通道數(shù)據(jù)。
[0041] 102、將所述RGB通道數(shù)據(jù)通過第一壓縮方式壓縮后寫入雙倍速率同步動(dòng)態(tài)隨機(jī)存 儲(chǔ)器DDR。
[0042] 103、從所述DDR讀出經(jīng)過所述第一壓縮方式壓縮的RGB通道數(shù)據(jù)并解壓。
[0043] 104、根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二0SD數(shù)據(jù)。
[0044]具體的,本發(fā)明實(shí)施例中,0SD數(shù)據(jù)例如為ARGB格式或RGBA格式的數(shù)據(jù),其包括兩 部分,一部分為透明(alpha)通道數(shù)據(jù),另一部分為RGB通道數(shù)據(jù)。其中,alpha通道數(shù)據(jù)例如 為一個(gè)8位的灰度通道,該通道用0~255級(jí)灰度記錄圖像中的透明度信息,通過位操作等將 0SD數(shù)據(jù)中的alpha通道數(shù)據(jù)分離出來,得到alpha通道數(shù)據(jù)與RGB通道數(shù)據(jù)。在分離出alpha 通道數(shù)據(jù)與RGB通道數(shù)據(jù)后,對(duì)RGB通道數(shù)據(jù)采用第一壓縮方式進(jìn)行壓縮,并將壓縮后的數(shù) 據(jù)寫入DDR。然后,通過DMA方式讀取經(jīng)過第一壓縮方式壓縮的RGB通道數(shù)據(jù)。其中,DMA為一 種快速搬移數(shù)據(jù)的方法,在接收到處理器的命令后,進(jìn)行數(shù)據(jù)搬運(yùn),搬運(yùn)過程無需CHJ參與, 從而保證CPU在數(shù)據(jù)搬運(yùn)的同時(shí)可以去處理別的任務(wù)。最后,對(duì)alpha通道數(shù)據(jù)進(jìn)行的判斷, 根據(jù)判斷結(jié)果以及解壓后的RGB通道數(shù)據(jù)合成第二0SD數(shù)據(jù)。
[0045] 例如,若alpha通道數(shù)據(jù)為固定數(shù)據(jù),說明用戶界面沒有漸變效果,alpha通道數(shù)據(jù) 的壓縮率可以很高,高于第一壓縮方式的壓縮率。此時(shí),舍棄從0SD數(shù)據(jù)中分離出的alpha數(shù) 據(jù),而是對(duì)解壓后的RGB通道數(shù)據(jù)與預(yù)存alpha通道數(shù)據(jù)進(jìn)行合成,從而得到第二0SD數(shù)據(jù)。 具體的,請(qǐng)參照?qǐng)D6A,圖6A為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法中根據(jù)解壓后的RGB通道數(shù) 據(jù)與預(yù)存alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù)的過程示意圖。
[0046] 請(qǐng)參照?qǐng)D6A,該過程中,SoC輸出的0SD數(shù)據(jù)在輸入FIFO模塊被分離,得到alpha通 道數(shù)據(jù)與RGB通道數(shù)據(jù),RGB通道數(shù)據(jù)經(jīng)過第一壓縮方式壓縮后寫入DDR,而alpha數(shù)據(jù)并未 繼續(xù)壓縮及寫入內(nèi)存,而是直接舍棄。在從DDR讀取出RGB通道數(shù)據(jù)后,進(jìn)行解壓縮,將解壓 縮的RGB數(shù)據(jù)與數(shù)據(jù)合成模塊中的預(yù)存alpha數(shù)據(jù)合成第二0SD數(shù)據(jù)。該過程中,從0SD數(shù)據(jù) 中分離出的alpha數(shù)據(jù)不用經(jīng)過DDR,不占用任何DDR內(nèi)存。其中,預(yù)存alpha通道數(shù)據(jù)為合成 模塊產(chǎn)生的全局alpha通道數(shù)據(jù),通過對(duì)合成模塊進(jìn)行配置,使得合成模塊后續(xù)可以輸出特 定的alpha數(shù)據(jù),即預(yù)存alpha通道數(shù)據(jù),而不必使用從OSD數(shù)據(jù)中分離出的alpha通道數(shù)據(jù)。 [0047]再結(jié)合圖3的例子,本實(shí)施例中,若RGB通道數(shù)據(jù)經(jīng)過第一壓縮方式壓縮后,占用的 DDR空間至多為15MByte,則由于原始為0SD數(shù)據(jù)分配的DDR空間為30MByte,因此,可以節(jié)省 至少15MByte的DDR物理空間。具體的,可參見圖6B,圖6B為圖6A對(duì)應(yīng)的DDR物理空間分配示 意圖,其中,方格填充部分為節(jié)省出的DDR空間。此時(shí),依據(jù)對(duì)齊原則分配給0SD數(shù)據(jù)的物理 空間有17Mbyte的空閑,若有一個(gè)需求空間小于17MByte的模塊請(qǐng)求分配空間,則可以為其 分配空間。
[0048]再如,若alpha通道數(shù)據(jù)為非固定數(shù)據(jù),說明用戶界面具有漸變效果,此時(shí),則將從 0SD數(shù)據(jù)中分離出的alpha通道數(shù)據(jù)通過第二壓縮方式壓縮后寫入DDR,從DDR讀出經(jīng)過第二 壓縮方式壓縮的alpha通道數(shù)據(jù)并解壓;合成模塊根據(jù)解壓后的RGB通道數(shù)據(jù)與解壓后的 alpha通道數(shù)據(jù),合成第二0SD數(shù)據(jù)。具體的,請(qǐng)按照?qǐng)D7A,圖7A為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù) 處理方法中根據(jù)解壓后的RGB通道數(shù)據(jù)與解壓后的alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù)的過程 示意圖。
[0049] 再結(jié)合圖3的例子,對(duì)于分辨率3480X2160的0SD,本實(shí)施例中,若RGB通道數(shù)據(jù)經(jīng) 過第一壓縮方式壓縮后,占用的DDR空間至多為15MByte,alpha通道數(shù)據(jù)經(jīng)過第二壓縮方式 壓縮后,占用的DDR空間至多為4MByte,則由于預(yù)先為0SD數(shù)據(jù)分配的DDR空間為32MByte,因 此,可以節(jié)省至少1 IMByte的DDR物理空間。具體的,可參見圖7B,圖7B為圖7A對(duì)應(yīng)的DDR物理 空間分配示意圖,其中,方格填充部分為節(jié)省出的DDR空間。此時(shí),依據(jù)對(duì)齊原則分配給0SD 數(shù)據(jù)的物理空間有13Mbyte的空閑,若有一個(gè)需求空間大于4MByte的模塊請(qǐng)求分配空間,貝1J 可以為其分配空間。
[0050] 本發(fā)明實(shí)施例提供的0SD數(shù)據(jù)處理方法,在將0SD數(shù)據(jù)寫入DDR之前,先對(duì)0SD數(shù)據(jù) 進(jìn)行壓縮處理,使得0SD數(shù)據(jù)的大小減小,再將壓縮后的0SD數(shù)據(jù)寫入DDR,由于壓縮后的0SD 數(shù)據(jù)占用的DDR物理內(nèi)存空間小,因此可以提高DDR物理內(nèi)存空間的利用率。同時(shí),為了進(jìn)一 步的提高0SD數(shù)據(jù)壓縮率,對(duì)0SD數(shù)據(jù)處理時(shí),從0SD數(shù)據(jù)中分離出alpha通道數(shù)據(jù)與RGB通道 數(shù)據(jù),通過第一壓縮方式將RGB通道數(shù)據(jù)壓縮后寫入DDR,之后從DDR中讀出并解壓,根據(jù)解 壓縮后的RGB與alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù),當(dāng)alpha通道數(shù)據(jù)為固定值時(shí),從0SD數(shù)據(jù) 中分離出的alpha通道數(shù)據(jù)無需經(jīng)過DDR,不占用內(nèi)存空間,當(dāng)alpha通道數(shù)據(jù)為非固定值 時(shí),采用第二壓縮方式對(duì)alpha通道數(shù)據(jù)壓縮后寫入DDR,此時(shí),壓縮后的alpha通道數(shù)據(jù)與 RGB通道數(shù)據(jù)占用的內(nèi)存空間小于對(duì)0SD數(shù)據(jù)整體壓縮后占用的內(nèi)存空間,因此,可以進(jìn)一 步的節(jié)約DDR的內(nèi)存空間,使得DDR中的空閑空間可以分配給其他模塊,提高了DDR物理內(nèi)存 空間的利用率。
[0051]上述0SD數(shù)據(jù)處理過程中,用于壓縮RGB通道數(shù)據(jù)的第一壓縮方式與用于壓縮 alpha通道數(shù)據(jù)的第二壓縮方式為不同的壓縮方式,例如,為壓縮率不同的壓縮方式。一般 來說,第一壓縮方式的壓縮率低于第二壓縮方式的壓縮方式,使得壓縮后的alpha通道數(shù)據(jù) 與RGB通道數(shù)據(jù)占用的內(nèi)存空間小于對(duì)0SD數(shù)據(jù)整體壓縮后占用的內(nèi)存空間。
[0052]下面,對(duì)如何從0SD數(shù)據(jù)中分離出alpha通道數(shù)據(jù)與RGB通道數(shù)據(jù)進(jìn)行詳細(xì)說明。 [0053] 具體的,以ARGB格式的0SD數(shù)據(jù)為例,用32比特16進(jìn)制表示,例如,0x123456789,其 中,0x12表示alpha通道數(shù)據(jù),0x34表示R通道數(shù)據(jù),0x56表示G通道數(shù)據(jù),0x78表示B通道數(shù) 據(jù)。假設(shè)SoC送入的數(shù)據(jù)如表1所示,表1為SoC按像素順序依次送入的數(shù)據(jù)。
[0056] 對(duì)OSD數(shù)據(jù)進(jìn)行分離后,RGB數(shù)據(jù)如表2所述,alpha數(shù)據(jù)如表3所示。
[0057] 表 2
[0062] 圖8為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置實(shí)施例一的結(jié)構(gòu)示意圖。本實(shí)施例提供 的屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置,其可實(shí)現(xiàn)本發(fā)明任意實(shí)施例提供的應(yīng)用于屏幕調(diào)節(jié)菜單數(shù) 據(jù)處理裝置的方法的各個(gè)步驟。具體的,本實(shí)施例提供的屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置包括:
[0063] 分離模塊11,用于從第一屏幕調(diào)節(jié)菜單0SD數(shù)據(jù)中分離出透明alpha通道數(shù)據(jù)與紅 綠藍(lán)RGB通道數(shù)據(jù);
[0064]寫入模塊12,用于將所述RGB通道數(shù)據(jù)通過第一壓縮方式壓縮后寫入雙倍速率同 步動(dòng)態(tài)隨機(jī)存儲(chǔ)器DDR;
[0065]讀取模塊13,用于從所述DDR讀出經(jīng)過所述第一壓縮方式壓縮的RGB通道數(shù)據(jù)并解 壓;
[0066]合成模塊14,用于根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二0SD 數(shù)據(jù)。
[0067]本發(fā)明實(shí)施例提供的屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置在將0SD數(shù)據(jù)寫入DDR之前,先對(duì) OSD數(shù)據(jù)進(jìn)行壓縮處理,使得OSD數(shù)據(jù)的大小減小,再將壓縮后的OSD數(shù)據(jù)寫入DDR,由于壓縮 后的0SD數(shù)據(jù)占用的DDR物理內(nèi)存空間小,因此可以提高DDR物理內(nèi)存空間的利用率。同時(shí), 為了進(jìn)一步的提高0SD數(shù)據(jù)壓縮率,對(duì)0SD數(shù)據(jù)處理時(shí),從0SD數(shù)據(jù)中分離出alpha通道數(shù)據(jù) 與RGB通道數(shù)據(jù),通過第一壓縮方式將RGB通道數(shù)據(jù)壓縮后寫入DDR,之后從DDR中讀出并解 壓,根據(jù)解壓縮后的RGB與alpha通道數(shù)據(jù)合成第二0SD數(shù)據(jù),當(dāng)alpha通道數(shù)據(jù)為固定值時(shí), 從0SD數(shù)據(jù)中分離出的alpha通道數(shù)據(jù)無需經(jīng)過DDR,不占用內(nèi)存空間,當(dāng)alpha通道數(shù)據(jù)為 非固定值時(shí),采用第二壓縮方式對(duì)alpha通道數(shù)據(jù)壓縮后寫入DDR,此時(shí),壓縮后的alpha通 道數(shù)據(jù)與RGB通道數(shù)據(jù)占用的內(nèi)存空間小于對(duì)0SD數(shù)據(jù)整體壓縮后占用的內(nèi)存空間,因此, 可以進(jìn)一步的節(jié)約DDR的內(nèi)存空間,使得DDR中的空閑空間可以分配給其他模塊,提高了DDR 物理內(nèi)存空間的利用率。
[0068] 圖9為本發(fā)明屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置實(shí)施例二的結(jié)構(gòu)示意圖。請(qǐng)參照?qǐng)D9,可 選的,在本發(fā)明一實(shí)施例中,上述的裝置還包括:
[0069] 判斷模塊15,用于在所述合成模塊14根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道 數(shù)據(jù),合成第二0SD數(shù)據(jù)之前,判斷所述透明通道數(shù)據(jù)是否為固定值;
[0070] 所述寫入模塊12,還用于在所述判斷模塊15判斷出所述透明通道數(shù)據(jù)為非固定值 時(shí),將所述透明通道數(shù)據(jù)通過第二壓縮方式壓縮后寫入所述DDR;
[0071] 所述讀取模塊13,還用于從所述DDR讀出經(jīng)過所述第二壓縮方式壓縮的透明通道 數(shù)據(jù)并解壓;
[0072]所述合成模塊14,具體用于根據(jù)解壓后的RGB通道數(shù)據(jù)與解壓后的透明通道數(shù)據(jù), 合成所述第二0SD數(shù)據(jù)。
[0073] 可選的,在本發(fā)明一實(shí)施例中,所述第一壓縮方式與所述第二壓縮方式為不同的 壓縮方式。
[0074] 再請(qǐng)參照?qǐng)D9,可選的,在本發(fā)明一實(shí)施例中,判斷模塊15,用于在所述合成模塊14 根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二0SD數(shù)據(jù)之前,判斷所述透明通 道數(shù)據(jù)是否為固定值;
[0075]所述合成模塊14,具體用于若所述判斷模塊15判斷出所述透明通道數(shù)據(jù)為非固定 值,則根據(jù)解壓后的RGB通道數(shù)據(jù)與預(yù)存透明通道數(shù)據(jù)合成所述第二0SD數(shù)據(jù)。
[0076]可選的,在本發(fā)明一實(shí)施例中,所述判斷模塊15,具體用于判斷所述0SD數(shù)據(jù)對(duì)應(yīng) 的用戶界面是否為具有漸變效果的用戶界面,若具有漸變效果,則所述透明通道數(shù)據(jù)為非 固定值;若沒有漸變效果,則所述透明通道數(shù)據(jù)為固定值
[0077]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通 過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程 序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R〇M、RAM、磁碟或 者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0078]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依 然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn) 行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù) 方案的范圍。
【主權(quán)項(xiàng)】
1. 一種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理方法,其特征在于,包括: 從第一屏幕調(diào)節(jié)菜單OSD數(shù)據(jù)中分離出透明通道數(shù)據(jù)與紅綠藍(lán)RGB通道數(shù)據(jù); 將所述RGB通道數(shù)據(jù)通過第一壓縮方式壓縮后寫入雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器DDR; 從所述DDR讀出經(jīng)過所述第一壓縮方式壓縮的RGB通道數(shù)據(jù)并解壓; 根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二OSD數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透 明通道數(shù)據(jù),合成第二OSD數(shù)據(jù)之前,還包括: 判斷所述透明通道數(shù)據(jù)是否為固定值; 若所述透明通道數(shù)據(jù)為非固定值,則將所述透明通道數(shù)據(jù)通過第二壓縮方式壓縮后寫 入所述DDR; 從所述DDR讀出經(jīng)過所述第二壓縮方式壓縮的透明通道數(shù)據(jù)并解壓; 所述根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二OSD數(shù)據(jù),包括: 根據(jù)解壓后的RGB通道數(shù)據(jù)與解壓后的透明通道數(shù)據(jù),合成所述第二OSD數(shù)據(jù)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一壓縮方式與所述第二壓縮方式為 不同的壓縮方式。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透 明通道數(shù)據(jù),合成第二OSD數(shù)據(jù)之前,還包括:判斷所述透明通道數(shù)據(jù)是否為固定值; 所述根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二OSD數(shù)據(jù),包括: 若所述透明通道數(shù)據(jù)為非固定值,則根據(jù)解壓后的RGB通道數(shù)據(jù)與預(yù)存透明通道數(shù)據(jù) 合成所述第二OSD數(shù)據(jù)。5. 根據(jù)權(quán)利要求2~4任一項(xiàng)所述的方法,其特征在于,所述判斷所述透明通道數(shù)據(jù)是 否為固定值,包括: 判斷所述OSD數(shù)據(jù)對(duì)應(yīng)的用戶界面是否為具有漸變效果的用戶界面,若具有漸變效果, 則所述透明通道數(shù)據(jù)為非固定值;若沒有漸變效果,則所述透明通道數(shù)據(jù)為固定值。6. -種屏幕調(diào)節(jié)菜單數(shù)據(jù)處理裝置,其特征在于,包括: 分離模塊,用于從第一屏幕調(diào)節(jié)菜單OSD數(shù)據(jù)中分離出透明alpha通道數(shù)據(jù)與紅綠藍(lán) RGB通道數(shù)據(jù); 寫入模塊,用于將所述RGB通道數(shù)據(jù)通過第一壓縮方式壓縮后寫入雙倍速率同步動(dòng)態(tài) 隨機(jī)存儲(chǔ)器DDR; 讀取模塊,用于從所述DDR讀出經(jīng)過所述第一壓縮方式壓縮的RGB通道數(shù)據(jù)并解壓; 合成模塊,用于根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成第二OSD數(shù)據(jù)。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 判斷模塊,用于在所述合成模塊根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成 第二OSD數(shù)據(jù)之前,判斷所述透明通道數(shù)據(jù)是否為固定值; 所述寫入模塊,還用于在所述判斷模塊判斷出所述透明通道數(shù)據(jù)為非固定值時(shí),將所 述透明通道數(shù)據(jù)通過第二壓縮方式壓縮后寫入所述DDR; 所述讀取模塊,還用于從所述DDR讀出經(jīng)過所述第二壓縮方式壓縮的透明通道數(shù)據(jù)并 解壓; 所述合成模塊,具體用于根據(jù)解壓后的RGB通道數(shù)據(jù)與解壓后的透明通道數(shù)據(jù),合成所 述第二OSD數(shù)據(jù)。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一壓縮方式與所述第二壓縮方式為 不同的壓縮方式。9. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 判斷模塊,用于在所述合成模塊根據(jù)解壓后的RGB通道數(shù)據(jù)與所述透明通道數(shù)據(jù),合成 第二0SD數(shù)據(jù)之前,判斷所述透明通道數(shù)據(jù)是否為固定值; 所述合成模塊,具體用于若所述判斷模塊判斷出所述透明通道數(shù)據(jù)為非固定值,則根 據(jù)解壓后的RGB通道數(shù)據(jù)與預(yù)存透明通道數(shù)據(jù)合成所述第二0SD數(shù)據(jù)。10. 根據(jù)權(quán)利要求7~9任一項(xiàng)所述的裝置,其特征在于,所述判斷模塊,具體用于判斷 所述0SD數(shù)據(jù)對(duì)應(yīng)的用戶界面是否為具有漸變效果的用戶界面,若具有漸變效果,則所述透 明通道數(shù)據(jù)為非固定值;若沒有漸變效果,則所述透明通道數(shù)據(jù)為固定值。
【文檔編號(hào)】G06F3/14GK106095365SQ201610397149
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月7日 公開號(hào)201610397149.7, CN 106095365 A, CN 106095365A, CN 201610397149, CN-A-106095365, CN106095365 A, CN106095365A, CN201610397149, CN201610397149.7
【發(fā)明人】孫進(jìn)偉, 隋星光
【申請(qǐng)人】青島海信電器股份有限公司