中文字幕无码日韩视频无码三区

一種對顯示數據進行壓縮和解壓縮的方法

文檔序號:9235983閱讀:984來源:國知局
一種對顯示數據進行壓縮和解壓縮的方法
【技術領域】
[0001] 本發明設及一種圖像壓縮技術,尤其是一種對顯示數據進行壓縮和解壓縮的方 法。
【背景技術】
[0002] 顯示設備的一般顯示原理是顯示控制器按照一定的屏幕刷新率從顯示緩沖區中 讀取顯示數據,進行處理后,依次輸出到顯示接口進行顯示。隨著顯示設備不斷向高色階、 高分辨率、高色深發展,在圖像顯示過程中顯示控制器對數據的讀取會占用巨大的總線帶 寬,嚴重影響系統性能。如果顯示緩沖區中的數據可W被壓縮,且壓縮后的數據量只有未壓 縮數據量的A%,那么讀取數據過程中對總線帶寬的占用和對內存的訪存次數都將減少到 原先的A%。但其代價是每當顯存數據被更新時,都需要對顯存數據進行壓縮。
[0003] 壓縮算法按照壓縮、解壓縮后是否造成圖像質量的下降,可分為有損壓縮和無損 壓縮兩類。有損壓縮算法的壓縮效率較高、但卻W犧牲圖像質量為代價。而無損壓縮算法 雖效率較低,但算法較為簡單,對計算資源占用小、且不會造成圖像質量的下降。為了在節 省帶寬的同時保證圖像質量,顯存壓縮技術多采用無損壓縮算法。
[0004] 根據壓縮時如何利用圖像中像素間的相關性,無損壓縮算法可W分為行壓縮和塊 壓縮。行壓縮是W行為單位進行壓縮,利用了左右相鄰像素的相關性;塊壓縮是W塊為單位 進行壓縮,利用了一個塊中像素的相關性。相比于塊壓縮,行壓縮地址計算較為簡單,更適 用于左右相鄰像素相關性較大的典型應用場景;而塊壓縮需要相應的地址查找表,更適用 于較為復雜的圖像、視頻處理。

【發明內容】

[0005] 本發明要解決的技術問題是:提出一種對顯示數據進行壓縮和解壓縮的方法,能 夠通過對顯存數據進行壓縮和解壓縮,降低在對高分辨率顯示過程中對總線帶寬的占用, W提高系統性能。
[0006] 本發明所采用的技術方案為;一種對顯示數據進行壓縮和解壓縮的方法,包括W 下步驟,
[0007]A、維護兩個顯示存儲區域,分別是存儲未壓縮圖像數據的原始顯存和存儲壓縮數 據的壓縮顯存;
[0008]B、當未壓縮顯存中的圖像數據被更新后,由CPU計算出被更新數據在未壓縮顯存 中所處的行地址,從未壓縮顯存中取出該行數據進行壓縮,并存儲到壓縮顯存中該行對應 的存儲地址中;
[0009]C、當顯存數據更新速率較快時,CPU停止對原始顯存中更新數據的壓縮,并通過對 顯示控制器寄存器的配置使顯示控制器在下一帖開始從未壓縮顯存中讀取數據;當原始顯 存中寫入的顯示數據相鄰像素間的相關性較低,使得壓縮后的顯示數據量比未壓縮的顯示 數據量更大時,CPU停止對原始顯存中的更新數據進行壓縮,并通過對顯示控制器寄存器的 配置使顯示控制器在下一帖開始從未壓縮顯存中讀取數據;
[0010] D、顯示控制器根據寄存器的配置命令,從相應顯存中讀取圖像數據;
[0011] E、若從壓縮顯存中讀取數據,顯示控制器對壓縮后的圖像數據進行解壓縮,并依 次輸出到顯示接口進行顯示;
[0012] F、若從未壓縮顯存中讀取數據,顯示控制器不用進行解壓縮處理,直接進行其他 相關處理后將顯示數據依次輸出到顯示接口進行顯示。
[0013] 進一步的說,本發明所述的步驟A包括:
[0014] A1、壓縮顯存中數據的存儲方式是由未壓縮顯存中存儲數據的分辨率決定的,未 壓縮顯存中數據的分辨率可通過配置寄存器設置,該顯示配置在一帖有效顯示過程中不允 許改變,W防止出現畫面錯誤;
[0015] A2、若未壓縮顯存中存儲的圖像數據的橫向分辨率為X_SIZE,縱向分辨率為Y_ SIZE,圖形緩存區的行存儲跨度為Stride,則壓縮顯存中每行的有效數據量為壓縮后的行 數據量,行數仍未Y_SIZE,壓縮顯存的行存儲跨度為未壓縮顯存的橫向分辨率X_SIZE乘W 色深再乘W1.5倍。
[0016] 再進一步的說,本發明所述的步驟B包括:
[0017] B1、W行為單位讀入未壓縮的行數據;使用壓縮后行數據中的前兩個字節存儲該 行壓縮后的總數據量;
[0018] B2、依次處理未壓縮行中的像素值,每次讀入的像素值稱為當前像素值,在當前像 素值之前讀入的像素值稱為之前像素值;讓當前像素值與之前像素值進行比較,利用左右 相鄰像素的相關性對比較結果進行編碼;
[0019] B3、圖形層數據的更新一般為局部更新,而非整帖更新,CPU每次向顯存中傳入數 據塊、數據塊的長寬、數據塊起始像素點在顯存中的地址信息;每當發生顯存更新時,并非 將整帖圖像重新壓縮,而是對發生更新的像素點所在的行進行壓縮,并將壓縮后的行數據 存放在壓縮顯存中對應的位置;視頻數據為整帖更新,在該種情況下,對視頻數據進行整帖 壓縮,再配置寄存器令顯示控制器從壓縮顯存中讀取數據進行顯示。
[0020] 再進一步的說,本發明所述的步驟C包括:
[0021] C1、進行顯存壓縮后,帶寬消耗比沒有進行顯存壓縮前帶寬的消耗小;若顯示控制 器從未壓縮顯存中讀取數據占用的帶寬是B,未壓縮的顯存數據大小是F,顯示器的屏幕刷 新率是化,則B=FXfr;
[0022] C2、若壓縮比是n,經過顯存壓縮后,顯示控制器從壓縮顯存中讀取數據占用的帶 寬是B',則B' =nXB;
[0023] C3、因為未壓縮顯存的更新,每秒鐘CPU需要從未壓縮顯存中讀取W的未壓縮數據 進行壓縮,經過壓縮后,該數據量變為nXW,CPU將nXW的數據量存放到壓縮顯存中,該 壓縮過程中占用的帶寬量為(i+n)xw;
[0024] C4、進行顯存壓縮后,帶寬消耗比沒有進行顯存壓縮前的帶寬消耗小;即B> nXB+(i+n)XW;
[0025] C5、每秒鐘從未壓縮顯存中讀取的未壓縮數據量滿足W< ^XB,根據評測數 據,壓縮比大于0. 5,顯存更新頻率為每秒60帖,則當W< 20XF時,采用顯存壓縮技術即可 取得效果;其中F等于顯示圖像的分辨率和色深的乘積;
[0026]C6、記錄1秒鐘內從未壓縮顯存中讀取的未壓縮數據量W,每秒鐘結束時按照巧 所述對W進行一次檢驗,若符合要求則繼續操作;若不符合要求,則停止對顯存數據進行壓 縮,通過寄存器配置,令顯示控制器從未壓縮顯存中讀取數據進行顯示;
[0027]C7、若壓縮后的數據量比未壓縮的數據量大,則需停止壓縮,記錄1秒鐘內讀取的 未壓縮顯存的數據量W和壓縮后寫入壓縮顯存的數據量W',每秒結束時對比W和W'的大 小,若W'〉W,則停止顯存壓縮,配置寄存器,令顯示控制器從未壓縮顯存中讀取數據。
[0028] 再進一步的說,本發明所述的步驟D包括:
[0029]D1、顯示控制器根據內部寄存器的配置進行工作,顯示控制器內部寄存器的更新 并非是實時的,而是需要等待寄存器更新窗口時間并進行異步握手處理;窗口時間是指在 兩帖顯示之間的一個特定時間點,即一帖顯示結束、下一帖顯示還未開始之前的場效應時 間;
[0030] D2、顯示控制器寄存器的更新方式是;配置寄存器后將負責標志是否更新的寄存 器相應位置"1";顯示控制器反復讀取負責標志是否更新的寄存器,查看相應的更新位;當 更新位被清"0"時,寄存器就完成更新;在等待過程中,不能對該部分的寄存器進行修改;
[0031] D3、顯示控制器根據寄存器的配置決定是否開啟解壓縮功能,當顯示控制器開啟 解壓縮功能時,先對讀取的顯示數據進行解壓縮,再依次送入顯示接口進行顯示;當顯示 控制器不開啟解壓縮功能時,對讀入的顯示數據進行相關處理后直接送入顯示接口進行顯 /J、- 〇
[0032] 本發明的有益效果是:能夠通過對顯存數據進行壓縮和解壓縮,降低在對高分辨 率顯示過程中對總線帶寬的占用
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1