欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種顯示數(shù)據(jù)的傳輸方法及裝置的制作方法

文檔序號:2530904閱讀:333來源:國知局
專利名稱:一種顯示數(shù)據(jù)的傳輸方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種顯示數(shù)據(jù)的傳輸方法及裝置。
技術(shù)背景目前很多移動終端都可支持橫屏和豎屏兩種顯示方式,且兩種顯示方式之 間可以無縫切換。
一般選定其中一種為默認顯示方式,而另一種為非默認方式,在默認方式下顯示圖像不需要進行90度/270度旋轉(zhuǎn)處理,而在'非默認方式下(橫 屏或者豎屏)旋轉(zhuǎn)引擎需要對圖像進行90度/270度旋轉(zhuǎn)后送給液晶顯示屏(LCD ) 顯示。圖像的旋轉(zhuǎn)顯示一般分為兩類,非實時旋轉(zhuǎn)和實時旋轉(zhuǎn)。非實時旋轉(zhuǎn)是旋 轉(zhuǎn)引擎(可以是由軟件或者硬件實現(xiàn))先對顯示內(nèi)存中的每幀圖像進行旋轉(zhuǎn)處 理后寫回顯示內(nèi)存,顯示控制器(DisplayController)按正常的逐行掃描順序從 顯示內(nèi)存中讀取已經(jīng)過旋轉(zhuǎn)的圖像送往LCD顯示,非實時旋轉(zhuǎn)引擎的處理速率 必須至少能滿足顯示內(nèi)存的更新幀率,以Video (視頻)播放為例一^:為15幀/ 秒~30幀/秒。實時旋轉(zhuǎn)是把旋轉(zhuǎn)引擎集成到Display Controller中,Display Controller在把圖像讀入的同時進行旋轉(zhuǎn)處理,然后把旋轉(zhuǎn)后的圖像送往LCD, 對于這種方式而言,旋轉(zhuǎn)引擎的處理速率必須滿足LCD的顯示幀率(一般60幀/ 秒)。圖l.a和圖l.b是現(xiàn)有技術(shù)一采用實時旋轉(zhuǎn)(圖1.a為90度,圖1.b為270度旋轉(zhuǎn)), 片內(nèi)集成靜態(tài)隨機訪問存儲器(SRAM, Static Random Access Memory)作為顯 示內(nèi)存使用實現(xiàn)旋轉(zhuǎn)顯示的方案。如圖l.a和圖l.b所示,對顯示數(shù)據(jù)以正常的逐 行掃描順序?qū)懭腼@示內(nèi)存(圖中虛線l表示寫入顯示內(nèi)存的軌跡),Display Controller按逐列掃描Single (單模)傳輸方式的順序從顯示內(nèi)存中讀出(虛線2表示從Display Controller中讀出凄史據(jù)的掃描軌跡),比如,Display Controller可 采用局部總線對顯示內(nèi)存進行讀訪問?,F(xiàn)有技術(shù)一中,顯示內(nèi)存至少要能存放完整的一幀顯示圖像,如果在Video 播放應(yīng)用場景下需要支持Flip (翻轉(zhuǎn))操作,那么需要緩存2 3幀,因此現(xiàn)有技 術(shù)一的該技術(shù)方案中作為顯示內(nèi)存的存儲器容量大,占用片上的面積大,成本 高。以顯示繪圖陣列(VGA, Video Graphic Array)片源分辨率,像素16bpp為 例,片內(nèi)SRAM顯示內(nèi)存至少需要600Kbyte緩存一幀。現(xiàn)有技術(shù)二的功能實現(xiàn)與現(xiàn)有技術(shù)一類似,不同之處在于,采用片外的動 態(tài)RAM,比如,同步動態(tài)隨機訪問存儲器(SDRAM, Synchronous Dynamic Random Access Memory)或雙倍率同步動態(tài)隨機訪問存儲器(DDR SDRAM, Double Data Rata Synchronous Dynamic Random Access Memory)訐<替片內(nèi)的 SRAM作為顯示內(nèi)存,該方案與現(xiàn)有技術(shù)一相比節(jié)省了片內(nèi)SRAM的面積,進而 降低了芯片成本,但該技術(shù)方案需要片外動態(tài)隨機訪問存儲器(DRAM, Dynamic Random Access Memory)作為顯示內(nèi)存,S走轉(zhuǎn)讀入日于Display Controller^j"顯示內(nèi) 存按列方向進行掃描,每次以Single傳輸從DRAM讀入一個像素,讀地址按行偏 移量line—offset (—行像素所占的地址空間)遞增。假設(shè)四通道同時訪問DRAM的 任意塊(Bank)任意行,則一次Single讀才乘作平均延遲為35 40個總線時鐘周期, 那么總線時鐘頻率為133MHz的條件下,顯示幀分辨率的典型值僅為常用的圖像 才示;li^f匕才各式(QCIF, Quarter common intermediate format)。 另夕卜,由于每;欠讀 地址幾乎都要跨DRAM的ROW (行),需要進行激活行(Activate Row)的操作, 因此耗電比較大。綜上所示現(xiàn)有技術(shù)二的訪問DRAM的負載重,功耗大,顯示 分辨率低。發(fā)明內(nèi)容本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種顯示數(shù)據(jù)的傳輸方法及 裝置。降低訪問顯示內(nèi)存的負載和功耗,提高顯示幀的分辨率。為了解決上述技術(shù)問題,本發(fā)明實施例提供了 一種顯示數(shù)據(jù)的傳輸方法,該方法包括通過Z字掃描結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多個子帶的顯 示數(shù)據(jù);并按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀取的顯示數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。相應(yīng)的,本發(fā)明實施例還提供了一種顯示數(shù)據(jù)的傳輸裝置,該裝置包括 數(shù)據(jù)獲取單元,用于通過Z字掃描方式結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù);存儲器,用于按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;讀控制器,用于按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀取的顯示數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。本發(fā)明實施例通過Z字掃描結(jié)合突發(fā)式的傳輸方式讀取顯示內(nèi)存中的顯示數(shù)據(jù)后按列方向進行存儲,Z字掃描每次以一個子帶為掃描對象,降低了訪問顯示內(nèi)存的負載和功耗,突發(fā)方式的傳輸方式降低了時鐘延時,提高顯示幀的分辨率。


圖1.a是現(xiàn)有技術(shù)一采用實時90度旋轉(zhuǎn),SRAM作為顯示內(nèi)存實現(xiàn)旋轉(zhuǎn)顯示的方案的原理示意圖;圖1 .b是現(xiàn)有技術(shù)一采用實時270度旋轉(zhuǎn),SRAM作為顯示內(nèi)存實現(xiàn)旋轉(zhuǎn)顯示的方案的原理示意圖;圖2.a是本發(fā)明的顯示數(shù)據(jù)的傳輸裝置的第一實施例的結(jié)構(gòu)組成示意圖; 圖2.b是本發(fā)明的顯示數(shù)據(jù)的傳輸裝置的第二實施例的結(jié)構(gòu)組成示意圖; 圖3是本發(fā)明的顯示數(shù)據(jù)的傳輸方法的一個流程示意圖; 圖4.a和圖4.b分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)旋轉(zhuǎn)顯示的方案的第一實施例的原理示意圖;圖4.c是本發(fā)明的DMA通道的狀態(tài)轉(zhuǎn)移機制的一個實施例示意圖;示的方案的第二實施例的原理示意圖;圖6.a-圖6.d分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)旋轉(zhuǎn)顯示 的方案的第三實施例的原理示意圖;圖7.a-圖7.d分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)旋轉(zhuǎn)顯示 的方案的第四實施例的原理示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明 作進一步地詳細描述。圖2.a是本發(fā)明的顯示數(shù)據(jù)的傳輸裝置的一個實施例的結(jié)構(gòu)組成示意圖;具 體實現(xiàn)中,該顯示數(shù)據(jù)的傳輸裝置可以是一個顯示控制器(Display Controller), 且支持數(shù)據(jù)以RGB格式進行存儲。如圖2.a所示,本實施例的顯示數(shù)據(jù)的傳輸 裝置包括數(shù)據(jù)獲取單元l、存儲器2、讀控制器3,其中,所述數(shù)據(jù)獲取單元1,用于通過Z字掃描方式結(jié)合突發(fā)傳輸方式(Burst) 依次讀取顯示內(nèi)存中存儲的多個子帶(Stripe)的顯示數(shù)據(jù);具體實現(xiàn)中,該數(shù) 據(jù)獲取單元1可為直接內(nèi)存訪問通道(Direct Memory Access )。顯示數(shù)據(jù)在顯示 內(nèi)存中采用RGB格式進行存儲。所述存儲器2,用于按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;具體實 現(xiàn)中,所述存儲器2可為SRAM充當?shù)腞otation Buffer,顯示數(shù)據(jù)在Rotation Buffer中采用RGB格式進行存儲。具體實現(xiàn)中,存儲器2可按90度旋轉(zhuǎn)或者 270度旋轉(zhuǎn)法則對顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲,由于采用Z字掃描和突發(fā)傳輸方式以 子帶為單位讀取顯示內(nèi)存中的顯示數(shù)據(jù),因此存儲器2的容量滿足至少可以緩 存一個子帶。所述讀控制器3,用于按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀 取的顯示數(shù)據(jù)發(fā)送給顯示"i殳備(比如,LCD顯示屏)進行顯示。仍參考圖2.a,所述數(shù)據(jù)獲取單元1可以進一步包括第一判斷單元10、獲取 單元11以及存儲控制單元12,其中,所述第一判斷單元10用于判斷所述存儲 器2是否已滿;所述獲取單元11用于在接收到所述第一判斷單元10輸出的否 定判斷結(jié)果時,通過Z字掃描方式結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的顯 示數(shù)據(jù);所述存儲控制單元12用于采用地址連續(xù)遞增的方式按列方向?qū)⑼话l(fā)讀 取的顯示數(shù)據(jù)旋轉(zhuǎn)存儲到所述存儲器2中或采用地址間隔的方式按列方向?qū)⑼?發(fā)讀取的顯示數(shù)據(jù)旋轉(zhuǎn)存儲到所述存儲器2中。進一步,在采用地址間隔的存 儲方式時,所述存儲控制單元12包括第二判斷單元和存儲指示單元,所述第二 判定單元用于判斷所述存儲器是否存儲完一個子帶的顯示數(shù)據(jù);所述存儲指示 單元用于在所述第二判斷單元輸出肯定的判斷時,控制進一步將數(shù)據(jù)存儲到所 述存儲器中前一次存儲地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲 得的地址處;否則,將數(shù)據(jù)存儲到所述存儲器中前一次存儲地址加上一個子帶 數(shù)據(jù)的高度后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址處,所述地 址為按照像素單位計算出的邏輯地址。仍參考圖2.a,所述讀控制器3可以進一步包括第三判斷單元30、讀取單元 31以及讀取控制單元32,其中,所述第三判斷單元30用于判斷所述存儲器是 否為空;所述讀取單元31用于在接收到所述第三判斷單元30輸出的否定判斷 結(jié)果時,按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù);所述讀取控制單元32用于控L滋數(shù)據(jù)或者采用地址間隔的方式按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)。進一步在采用地址間隔的讀取方式時,所述讀取控制單元32包括第四判斷 單元和讀取指示單元,其中所述第四判斷單元用于判斷所述讀控制器是否讀取 完一個子帶的顯示數(shù)據(jù);所述讀取指示單元,用于在所述第四判斷單元輸出肯 定的判斷結(jié)果時,控制所述讀控制器讀取前一次讀地址加1后,對存儲所述數(shù) 據(jù)的存儲器的深度取模后獲得的地址;否則,繼續(xù)判斷前一次讀取地址對應(yīng)的 存儲單元中所有像素是否讀取完,如果判斷為是,控制所述讀控制器讀取前一 次讀取地址加上一個子帶數(shù)據(jù)的寬度后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址,所述地址為按照像素單位計算出的邏輯地址。具體實現(xiàn)中,可以采用空/滿標志來標識所述存儲器2是否已滿或已空,當 滿標志有效的時候,標識所述存儲器2已滿,當空標志有效時,標識所述存儲 器為空。本實施例中,Z字掃描的掃描方式可為首先,通過突發(fā)傳輸方式(Burst) 依次讀取第一子帶的每行顯示數(shù)據(jù);然后,依次讀取后續(xù)子帶的顯示數(shù)據(jù),針 對每一子帶,通過突發(fā)傳輸方式(Burst)依次讀取所述子帶的每行顯示數(shù)據(jù)。 具體的,Z字掃描每次以一個子帶的一行數(shù)據(jù)為掃描對象,并采用外部存^f諸器(采 用片外的動態(tài)RAM,比如,SDRAM、 DDR SDRAM等)作為顯示內(nèi)存,占用 少量的SRAM作為存儲器(比如,Display Controller的Rotation Buffer)旋轉(zhuǎn)存 儲讀取的數(shù)據(jù)。由于顯示內(nèi)存外置,可減小片內(nèi)存儲器的面積,且采用Burst訪 問方式對顯示內(nèi)存中的顯示數(shù)據(jù)(圖像或文字)進行讀取和旋轉(zhuǎn)存儲,大大節(jié) 省了總線負載,降低了功耗,且與現(xiàn)有方案二采用Single訪問方式相比,可支 持更大的顯示幀分辨率。圖2.b是本發(fā)明的顯示數(shù)據(jù)的傳輸裝置的第二實施例的結(jié)構(gòu)組成示意圖;如 圖2.b所示,本實施例的顯示數(shù)據(jù)傳輸裝置與圖2.a中第一實施例的不同之處在 于,顯示數(shù)據(jù)在顯示內(nèi)存及存儲器中可通過RGB格式、YUV422 packet格式、 YUV422 planner格式、YUV420 planner格式或者YUV420 semi planner格式進行 存儲,因此,本實施例的顯示數(shù)據(jù)傳輸裝置與第一實施例相比,擴展了數(shù)據(jù)獲 取單元的功能,如圖2.b所示,本實施例的數(shù)據(jù)獲取單元擴展了數(shù)據(jù)分解單元, 用于根據(jù)顯示數(shù)據(jù)在顯示內(nèi)存中的存儲格式,控制所述獲取單元通過Z字掃描 結(jié)合突發(fā)傳輸方式分別讀取顯示數(shù)據(jù)在所述存儲格式下的多個lt據(jù)分量;所述 存儲器對所述多個數(shù)據(jù)分量分開進行旋轉(zhuǎn)存儲。比如,當數(shù)據(jù)包括Y、 U和V 三個分量時,Y、 U和V三個分量可分別存儲(采用YUV422 planner格式或 YUV420 planner格式),也可合并存儲(YUV422 packet格式),也可為U和V 分量合并存儲,而Y分量與它們分開存儲(YUV420 semi planner格式)。則, 所述數(shù)據(jù)分解單元,則可根據(jù)所述數(shù)據(jù)的存儲格式控制所述獲取單元分別讀取所述存儲格式下的各數(shù)據(jù)分量。相應(yīng)的,本實施例的顯示數(shù)據(jù)傳輸裝置與第一 實施例相比,擴展了讀控制器的功能,如圖2.b所示,本實施例的讀控制器擴展 了次數(shù)控制單元,用于根據(jù)所述顯示數(shù)據(jù)在所述存儲器中的存儲格式,控制所 述讀取單元按行單次或按行多次分別按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)的各數(shù)據(jù)分量。比如,當數(shù)據(jù)在所述存儲器中按RGB格式存儲時,所述次數(shù)控制 單元控制所述讀取單元按行單次讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),當數(shù)據(jù)在所述 存儲器中按Y、 U和V三個分量可分別存儲(采用YUV422 planner 4各式或 YUV420 planner格式)時,對于Y分量,所述次數(shù)控制單元控制所述讀耳又單元 按行單次讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),對于U和V分量,按行兩次讀耳又所述 旋轉(zhuǎn)存儲的顯示數(shù)據(jù)。相應(yīng)的,本實施例與第一實施例相比,還包括一數(shù)據(jù)轉(zhuǎn) 換單元,用于將所述讀控制器讀取的數(shù)據(jù)格式(采用YUV422 planner格式、 YUV420 planner格式、YUV422 packet格式或YUV420 semi planner格式)轉(zhuǎn)換 為RGB格式,并將所述RGB格式數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。本實施例中,Z字掃描的掃描方式可為首先,通過突發(fā)傳輸方式(Burst) 依次讀取第一子帶的每行顯示數(shù)據(jù);然后,依次讀取后續(xù)子帶的顯示數(shù)據(jù),針 對每一子帶,通過突發(fā)傳輸方式(Burst)依次讀取所述子帶的每行顯示數(shù)據(jù)。 具體的,Z字掃描每次以一個子帶的一行數(shù)據(jù)為掃描對象,并采用外部存儲器(釆 用片外的動態(tài)RAM,比如,SDRAM、 DDR SDRAM等)作為顯示內(nèi)存,占用 少量的SRAM作為存儲器(比如,Display Controller的Rotation Buffer)旋轉(zhuǎn)存 儲讀取的數(shù)據(jù)。由于顯示內(nèi)存外置,可減小片內(nèi)存儲器的面積,且采用Burst訪 問方式對顯示內(nèi)存中的顯示數(shù)據(jù)(圖像或文字)進行讀取和旋轉(zhuǎn)存儲,大大節(jié) 省了總線負載,降低了功耗,且與現(xiàn)有方案二采用Single訪問方式相比,可支 持更大的顯示幀分辨率。圖3是本發(fā)明的顯示數(shù)據(jù)的傳輸方法的一個流程示意圖;如圖3所示,本 方法包括步驟S100,通過Z字掃描結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多 個子帶的顯示數(shù)據(jù);Z字掃描的掃描方式可為首先,通過突發(fā)傳輸方式(Burst)依次讀取第一子帶的每行顯示數(shù)據(jù);然后,依次讀取后續(xù)子帶的顯示數(shù)據(jù),針 對每一子帶,通過突發(fā)傳輸方式(Burst)依次讀取所述子帶的每行顯示凄t據(jù)。 具體實現(xiàn)中,顯示數(shù)據(jù)在顯示內(nèi)存中可通過RGB格式、YUV422 packet沖各式、 YUV422 planner格式、YUV420 planner格式或者YUV420 semi planner格式進行 存儲,針對不同的存儲格式,可采用不同的存儲方式,比如包括Y、 U和V三 個分量進行數(shù)據(jù)存儲時,Y、 U和V三個分量可分別存儲(采用YUV422 planner 格式或YUV420 planner格式),也可合并存儲(YUV422 packet格式),也可為 U和V分量合并存儲,而Y分量與它們分開存儲(YUV420 semi planner格式)。 因此,在掃描顯示內(nèi)存中的顯示數(shù)據(jù)時,可根據(jù)所述顯示數(shù)據(jù)的存儲格式及存 儲方式對所述數(shù)據(jù)進行整體掃描或?qū)Ω鞣至窟M行分別掃描,在傳輸所述掃描獲 得的顯示數(shù)據(jù)時,也可將所述顯示數(shù)據(jù)進行整體傳輸或?qū)Ω鞣至坎捎锚毩⑼ǖ溃?分別進行傳輸。進一步,在步驟S100通過Z字掃描結(jié)合突發(fā)傳輸方式依次讀取 顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù)步驟中,在每次通過Z字掃描結(jié)合突發(fā) 傳輸方式讀取顯示內(nèi)存中存儲的顯示數(shù)據(jù)前,還可以包括如下步驟判斷用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器是否已滿,如果判斷為否,則通 過Z子掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的顯示數(shù)據(jù),并按列方向?qū)?所述突發(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;即,當用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的 存儲器沒有滿時,才被允許發(fā)起新一次的Burst傳輸,這樣可防止數(shù)據(jù)在用于旋 轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器處發(fā)生丟失或錯誤,提高了數(shù)據(jù)傳輸?shù)目煽啃浴?具體的,可采用滿標志來標識所述存儲器是否已滿,當滿標志有效時,標識所 述存儲器已滿。具體實現(xiàn)中,判定用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器已滿的 條件可設(shè)定為所述存儲器的當前存儲指針等于當前讀取指針,且存儲指針反 轉(zhuǎn)標志等于讀取指針反轉(zhuǎn)標志。并且,為保證滿標志的使用可靠性,當讀控制 器從用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器中讀取一個子帶的最后一行時,將所 述存儲器的讀取更新為當前讀: 又的列號;否則,讀取指針保持不變。另外,如前所示,顯示數(shù)據(jù)在顯示內(nèi)存及存儲器中可通過RGB格式、 YUV422 packet格式、YUV422 planner格式、YUV420 planner格式或者YUV420semi planner格式進行存儲,因此在步驟S100通過Z字掃描結(jié)合突發(fā)傳輸方式 依次讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù)步驟中,可根據(jù)所述顯示數(shù)據(jù) 在顯示內(nèi)部中的存儲格式,通過Z字掃描結(jié)合突發(fā)傳輸方式分別讀取顯示數(shù)據(jù) 在所述存儲格式下的多個數(shù)據(jù)分量。比如,當Y、 U和V三個分量分別存儲(采 用YUV422 planner格式或YUV420 planner格式)時,步驟S100中通過Z字掃 描結(jié)合突發(fā)傳輸方式分別讀取所述Y、 U和V三個分量;當U和V分量合并存 儲,而Y分量與它們分開存儲(YUV420 semi planner格式)時,步驟S100中 分別讀取Y分量和UV分量。步驟S101,按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;可按90度旋轉(zhuǎn) 或者270度旋轉(zhuǎn)法則對顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲,由于采用Z字掃描和突發(fā)方式 以子帶為單位讀取顯示內(nèi)存中的顯示數(shù)據(jù),因此用于存儲突發(fā)讀取的顯示數(shù)據(jù) 的存儲器的容量滿足至少可以緩存一個子帶即可。具體實現(xiàn)中,顯示數(shù)據(jù)在用 于旋轉(zhuǎn)存儲讀取的顯示數(shù)據(jù)的存儲器中可通過RGB格式、YUV422 packet格式、 YUV422 planner格式、YUV420 planner格式或者YUV420 semi planner格式進行各數(shù)據(jù)分量分開進行旋轉(zhuǎn)存儲;比如,步驟SIOO中通過Z字掃描結(jié)合突發(fā)傳輸 方式分別讀: 又所述Y、 U和V三個分量時,在步驟SIOI則可將所述Y、 U和V 三個分量分開存儲到三塊存儲單元中。步驟S102,按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀取的顯示 數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示,在步驟S102,在按行方向讀取所述旋轉(zhuǎn)存^f渚的 顯示數(shù)據(jù)的步驟之前還可以包括判斷用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器是 否為空,如果判斷為否,則按行方向讀取所述旋轉(zhuǎn)存儲的顯示凄t據(jù)。即,當存 儲器非空時,讀控制器才可從用于旋轉(zhuǎn)存儲顯示數(shù)據(jù)的存儲器中獲取新的像素, 這樣可防止數(shù)據(jù)在讀控制器處發(fā)生丟失或錯誤,提高了數(shù)據(jù)傳輸?shù)目煽啃浴>?體的,可采用空標志來標識所述存儲器是否為空,當空標志有效時,標識所述 存儲器已空。具體實現(xiàn)中,判定用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器為空的條 件可為所述存儲器的當前存儲指針等于當前讀取指針,且存儲指針反轉(zhuǎn)標志不等于讀取指針反轉(zhuǎn)標志;或者所述存儲器的當前讀取行號等于零,且當所述存儲器為非滿時,當前存儲指針等于當前讀取的列號。并且,為保證空標志的 使用可靠性,當讀控制器從用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器中讀取一個子帶的最后一行時,將所述存儲器的讀取更新為當前讀取的列號;否則,讀取指 針保持不變。具體的,當數(shù)據(jù)在顯示內(nèi)存中采用YUV422 packet格式、YUV422 planner格式、YUV420 planner格式以及YUV420 semi planner格式等進行存儲 時,步驟S102具體可包括根據(jù)所述顯示數(shù)據(jù)在用于旋轉(zhuǎn)存儲所述顯示^t據(jù)的 存儲器中的存儲格式,按行單次或按行多次分別讀取所述顯示數(shù)據(jù)的各凄t據(jù)分 量,比如,當顯示數(shù)據(jù)在用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器中采用YUV420 planner格式存儲時,可將顯示數(shù)據(jù)的Y、 U、 V三個分量分別進行讀取,在按行 方向讀取所述YUV420 planner格式的數(shù)據(jù)時,Y分量采用單行單次掃描,U、 V分量采用單行兩次掃描。進一步,當數(shù)據(jù)在顯示內(nèi)存中采用YUV422 packet格式、YUV422 planner 格式、YUV420 planner格式以及YUV420 semi planner格式等進行存儲時,從讀 控制器輸出的數(shù)據(jù)可先轉(zhuǎn)換為RGB格式后,然后發(fā)送給顯示設(shè)備進行顯示,因 此本實施例的方法在按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)(數(shù)據(jù)在顯示內(nèi)存 中采用YUV422 packet格式、YUV422 planner格式、YUV420 planner格式以及 YUV420 semi planner格式)后,還包括將所述讀取的顯示數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn) 換為RGB格式,并將所述RGB格式數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。另外,具體實現(xiàn)中,可以在按列方向進行數(shù)據(jù)旋轉(zhuǎn)存儲時,采用地址連續(xù) 遞增的方式按列存儲所述數(shù)據(jù);以及在按行方向讀取旋轉(zhuǎn)存儲的數(shù)據(jù)時,按照 掃描順序,采用地址間隔的方式按行方向讀取所述數(shù)據(jù);或在按列方向進行數(shù) 據(jù)旋轉(zhuǎn)存儲時,按照掃描順序,采用地址間隔的方式按列存儲所述數(shù)據(jù);以及 在按行方向讀取旋轉(zhuǎn)存儲的數(shù)據(jù)時,采用地址連續(xù)遞增的方式按行讀取所述數(shù) 據(jù)。其中,所述的在按行方向讀取旋轉(zhuǎn)存儲的數(shù)據(jù)時,按照掃描順序,采用地子帶的顯示數(shù)據(jù),如果判斷為是,進一步讀取前一次讀地址加1后,對存卩諸所 述數(shù)據(jù)的存儲器的深度取^^莫后獲得的地址;否則,繼續(xù)判斷前一次讀取J也址對 應(yīng)的存儲單元中所有像素是否讀取完,如果判斷為是,讀取前一次讀取地址加 上一個子帶數(shù)據(jù)的寬度后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址,所述地址為按照像素單位計算出的邏輯地址;其中,所述的在按列方向進4亍數(shù) 據(jù)旋轉(zhuǎn)存儲時,按照掃描順序,采用地址間隔的方式按列存儲所述數(shù)據(jù)的步驟 具體包括判斷是否存儲完一個子帶的顯示數(shù)據(jù),如果判斷為是,進一步將數(shù) 據(jù)存儲到前一次存儲地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取才莫后獲得 的地址;否則,將數(shù)據(jù)存儲到前一次存儲地址加上一個子帶數(shù)據(jù)的高度后,對 存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址,所述地址為按照像素單位計 算出的邏輯地址。本方法Z字掃描每次以一個子帶的一行數(shù)據(jù)為掃描對象,并采用外部存4渚 器(采用片外的動態(tài)RAM,比如,SDRAM、 DDR SDRAM等)作為顯示內(nèi)存, 占用少量的SRAM作為存儲器(比如,Display Controller的Rotation Buffer)旋 轉(zhuǎn)存儲讀取的數(shù)據(jù)。由于顯示內(nèi)存外置,可減小片內(nèi)存儲器的面積,且采用Burst 訪問方式對顯示內(nèi)存中的顯示數(shù)據(jù)(圖像或文字)進行讀取和旋轉(zhuǎn)存儲,大大 節(jié)省了總線負載,降低了功耗,且與現(xiàn)有方案二采用Single訪問方式相比,可 支持更大的顯示幀分辨率。下面以顯示數(shù)據(jù)的傳輸裝置為Display Controller為例結(jié)合具體實施例對本 發(fā)明進行詳細說明。圖4.a和圖4.b分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)^:轉(zhuǎn)顯 示的方案的第一實施例的原理示意圖;如圖4.a和圖4.b所示,本實施例中,圖 像顯示幀在Rotation Buffer中以RGB格式存儲,顯示幀以Display Controller DMA通道的Burst長度劃分成多個子帶(Stripe),在本實施例中,定義一輪Z字 掃描完成一個Stripe的數(shù)據(jù)的讀取,設(shè)圖像高度為img—h(以像素為單位),DMA 通道的Burst長度為burst—1,那么一輪Z字掃描(圖4.a和圖4.b中虛線4.0為Z 字掃描的掃描軌跡)將進行img一h次Burst傳輸,每次Burst讀入的像素按Y方向以列的形式寫入(存入)Display Contoller的Rotation Buffer (用于茲:轉(zhuǎn)存儲 讀取的圖像數(shù)據(jù)的緩存器,虛線4.1為按列方式寫入Display Contoller的軌跡), Rotation Buffer的大小至少可以緩存一個Stripe,但不限于一個Stripe也不限于 Stripe大小的整數(shù)倍,其容量只要滿足不小于Stripe即可。Display Controller的 讀控制器按X方向以行掃描的形式(虛線4.2為從Display Controller中讀出數(shù) 據(jù)的掃描軌跡)依次從Rotation Buffer中讀出像素送往LCD顯示, 一次X方向 的行掃描寬度就是img—h, —個Stripe需要進行burst_l次行掃描。在本實施例 中,Burst長度,Rotation Buffer的地址和深度都以像素為單位,因此在32bit存 儲系統(tǒng)而采用RGB16bit存儲格式時,實際物理地址是該以像素為單位的地址左 移一位得到的,而移出的位為0時表示該《象素存于32bit存儲單元的低16bit,為 1時表示存于高16bit。本實施例中,DMA通道對顯示內(nèi)存按4.a和圖4.b所示的Z字掃描順序從 顯示內(nèi)存中讀取圖像數(shù)據(jù),然后按Y方向以列的形式寫入Rotation Buffer,它的 狀態(tài)轉(zhuǎn)移如圖4x所示。當系統(tǒng)復(fù)位(reset)后,DMA通道進入空閑(IDLE) 狀態(tài),在每幀的幀起始時刻轉(zhuǎn)入Burst讀狀態(tài)(BURST—RD),對Stripe 1的第一 行像素進行讀入并寫入Rotation Buffer中,然后轉(zhuǎn)入下一行(NEXT—LINE)狀 態(tài),將DMA Burst讀起始地址指向Stripe 1的下一行,在Rotation Buffer非滿的 條件下跳回BURST—RD進行下一4亍的Burst讀操作。當DMA完成對某個Stripe 的Z字掃描后,轉(zhuǎn)入更新Stripe(NEW—STRIPE)狀態(tài),將DMA Burst讀起始i也 址調(diào)整到下一個Stripe的起始點,當整幀圖像掃描完畢后轉(zhuǎn)回IDLE狀態(tài),等待 下一巾貞的起始時刻。具體實現(xiàn)中,最后一個Stripe的寬度可能與其他Stripe不同, 設(shè)Stripel的寬度為stripe_cmw,圖像的寬度為img一w,那么最后一個Stripe的 寬度為stripe」astw:濁口果img—w mod stripel_cmw ==0,刃卩么stripe—lastw = stripel—cmw,否則stripe—lastw = img—w mod stripel—cmw,即DMA通道對一巾貞最 后一個Stripe進行Z字掃描時耳又Burst長度stripe—lastw。如圖4.a和圖4.b所示,DMA通道按Y方向以列的形式依次將每次Burst 讀入的像素寫入Rotation Buffer,讀控制器按X方向以行掃描的形式從Rotation用如下兩種不同的方式方式一寫入時地址連續(xù)遞增,讀出時地址按掃描順序間隔。其中,讀出 時地址間隔的方式具體包括判斷是否讀取完Stripe的顯示數(shù)據(jù),如果判斷為是, 讀取前一次讀地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址; 否則,繼續(xù)判斷前一次讀取地址對應(yīng)的存儲單元中所有像素是否讀取完,如果 判斷為是,讀取前一次讀取地址加上Stripe數(shù)據(jù)的寬度后,對存儲所述數(shù)據(jù)的存 儲器的深度取模后獲得的地址,本實施例中數(shù)據(jù)在32bit存儲系統(tǒng)采用RGB16bit 存儲格式,因此,讀出時按行掃描一次即可。以下面的例子進一步說明本實施例中讀出地址的間隔方式i殳讀掃描的當前4亍號為rd—line, 當前列號為rd—column, 當前讀i也i止為 raddr_cur, 前一;大讀;也i止為raddr_pre, Ratation Buffer的;罙度為buf_dep, 當讀 控制器每完成一次完整的Stripe的讀掃描,rdjine歸零。每完成一次完整的 Rotation Buffer的讀掃描,rd—column歸零,如前所述,定義一輪Z字掃描完成 一個Stripe的數(shù)據(jù)的讀取,設(shè)圖像高度為img_h (以像素為單位),DMA通道 的Burst長度為burst J,那么 一輪Z字掃描(圖4.a和圖4.b中虛線4.0為Z字掃 描的掃描軌跡)將進行img一h次Burst傳輸, 一次X方向的行掃描寬度就是img—h, 一個Stripe需要進行burst—1次行掃描,那么如果rd—line == burst—1, 且rd_column == img_h:貝'J raddr_cur = (raddr_pre +1) mod buf_dep;否則raddr—cur = (raddr_pre + burst—1) mod buf一dep;方式二讀出時地址連續(xù)遞增,寫入時地址按掃描順序間隔,其中,寫入時地址間隔的方式具體包括判斷是否存儲完Stripe的顯示數(shù)據(jù),如果判斷為是,將數(shù)據(jù)存儲到前一次存 儲地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址;否則,將 數(shù)據(jù)存儲到前一次存儲地址加上Stripe數(shù)據(jù)的高度后,對存儲所述數(shù)據(jù)的存儲器 的深度取模后獲得的地址,所迷地址為按照像素單位計算出的邏輯地址。以下面的例子說明進一步說明本實施例寫入地址的間隔方式i殳寫掃描的當前4亍號為wr_line, 當前列號為wr—column, 當前寫i也i止為 waddr—cur, 前一次寫地址為waddr_pre, Rotation Buffer的深度為buf—dep, 當 DMA每完成一次Burst的寫掃描,wr—line歸零。每完成一次完整的Rotation Buffer的寫掃描,wr—column歸零,那么如果wr_line == burst—l, 且wr_column == img_h:則waddr—cur = (waddr_pre + 1) mod buf_dep;否貝'J: waddr一cur = (waddr_pre + img—h) mod buf—dep 。本實施例中,Rotation Buffer的滿標志用于控制DMA通道進行Burst讀入 的恰當時刻,即滿標志無效的時候DMA通道才被允許發(fā)起新一次Burst傳輸。 因此,本實施例在每一次通過Z字掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲 的顯示數(shù)據(jù)時,需判斷所述Rotation Buffer的滿標識是否有效。Rotation Buffer 的空標志用于通知讀控制器進行讀操作的恰當時刻,即空標志無效時讀控制器 才可從Rotation Buffer中取得新的像素,因此,本實施例在讀控制器按X方向 讀取所述Rotation Buffer中存儲的數(shù)據(jù)時,需判斷所述Rotation Buffer的空標志 是否有效。設(shè)wptr—toggle為Rotation Buffer的存儲(寫)指針反轉(zhuǎn)標志,它的 復(fù)位值為0 ,為保證所述滿標志的長期可靠性,每當DMA通道按Y方向以列 掃描的方式掃完Rotation Buffer的所有像素單元后,wptr_toggle自身耳又反; rptrjoggle為的Rotation Buffer的讀取(讀)指針反轉(zhuǎn)標志,它的復(fù)位^i為1 , 為保證所述空標志的長期可靠性,每當讀控制器按X方向以行掃描的方式掃完 Rotation Buffer的所有像素單元后,rptr—toggle自身耳又反。另設(shè)rptr為讀取指針、wptr為存儲指針當rd—line == burst—l, rptr = rd_column,否則rptr保持不變,wptr為當前寫掃描的列號。那么滿標志有效的標志如下wptr — rptr, 并且rptr—toggle == wptr—toggle??諛酥居行У臉酥救缦聎ptr == rptr, 并且rptr—toggle != wptr—toggle,或者rd—line==0且fbll==0時,wptr rd_column圖5.a和圖5.b分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)旋轉(zhuǎn)顯 示的方案的第二實施例原理示意圖;如圖5.a和圖5.b所示,本實施例與圖4.a 及圖4.b所示實施例的不同之處是顯示幀在Rotation Buffer中以YUV422 Packet 格式存儲,每相鄰兩個像素占32bit存儲單元。在該存儲格式下DMA通道對顯 示內(nèi)存的掃描方式和寫入Rotation Buffer的掃描方式與圖4.a及圖4.b所示實施 例是一致的,不同之處是讀控制器的掃描順序以及RotationBuffer的空滿標志的 產(chǎn)生。在本實施例中Burst長度,Rotation Buffer的地址和深度都以32bit存4諸單元 為單位。如圖5.a和圖5.b所示,DMA通道按Y方向以列的形式依次將每次Burst 讀入的像素寫入Rotation Buffer,讀控制器按X方向以行掃描的形式從Rotation Buffer中讀出像素,與圖4.a及圖4.b所示實施例的不同之處是,在圖4.a及圖 4.b所示實施例中每次行掃描僅掃描一次,而本實施例中每次4亍掃描需要掃描兩 次,第一次讀取32bit存儲單元中的第一個像素,第二次讀取32bit存儲單元中 的第二個像素(90度旋轉(zhuǎn)時第一個像素在顯示內(nèi)存中位于第二個像素的后一列, 270度旋轉(zhuǎn)時第一個像素在顯示內(nèi)存中位于第二個像素的前一列)。相應(yīng)的,本 實施例中,讀寫地址的控制可以釆用如下兩種不同的方式方式一寫入時地址連續(xù)遞增,讀出時地址按掃描順序間隔。其中,讀出 時地址間隔的方式具體包括判斷是否讀取完Stripe的顯示數(shù)據(jù),如果判斷為是, 讀取前一次讀地址加l后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址; 否則,繼續(xù)判斷前一次讀取地址對應(yīng)的存儲單元中所有像素是否讀取完,如果 判斷為是,讀取前一次讀取地址加上Stripe數(shù)據(jù)的寬度后,對存儲所述數(shù)據(jù)的存 儲器的深度取模后獲得的地址,本實施例中數(shù)據(jù)在32bit存儲系統(tǒng)采用RGB16bit 存儲格式,因此,讀出時按行掃描一次即可。以下面的例子進一步說明本實施例中讀出地址的間隔方式設(shè)讀掃描的當前行號為 rd—line ,當前行掃描的次凄史為 rd_scan—num(rd__scan_num==0表示當前4亍的第一次掃4笛,rd—scan—num==l日十表示當前行的第二次掃描),當前列號為rd—column,當前讀地址為raddr—cur,前 一次讀地址為raddr_pre, Ratation Buffer的深度為buf_dep,當讀控制器每完成一 個完整的Stripe的讀掃描,rd一line歸零。每完成一個完整的Rotation Buffer的讀 掃描,rd一column歸零,那么如果rdjine == burst—1 , 且rd—column —— img—h/2 , rd_scan—num== 1:則raddr—cur = 〈raddr_pre + 1) mod buf_dep否貝寸raddr—cur = (raddr_pre + burst—1) mod buf_dep;方式二讀出時每次行掃描地址連續(xù)遞增,且每行掃描兩次,行于4亍之間 地址也連續(xù)。寫入時地址按掃描順序間隔,其中,寫入時地址間隔的方式具體 包括判斷是否存儲完Stripe的顯示數(shù)據(jù),如果判斷為是,將數(shù)據(jù)存儲到前一次存 儲地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址;否則,將 數(shù)據(jù)存儲到前一次存儲地址加上Stripe數(shù)據(jù)的高度后,對存儲所述數(shù)據(jù)的存儲器 的深度取模后獲得的地址,所述地址為按照像素單位計算出的邏輯地址。以下面的例子說明進一 步說明本實施例寫入地址的間隔方式i殳寫掃描的當前4亍號為wr—line,當前列號為wr—column,當前寫》也i止為 waddr_cur,前一次寫i也址為waddr_pre, Rotation Buffer的5罙度為.buf—dep, 當 DMA每完成一次Burst的寫掃描,wrjine歸零。每完成一次完整的Rotation Buffer的寫掃描,wr—column歸零,那么i口果wr—line == burst—1,且wr—column ==img—h/2:貝寸waddr_cur = (waddr_pre + 1) mod buf一dep;否貝'J: waddr_cur = (waddr_pre + img—h/2) mod buf_dep本實施例中,Rotation Buffer的滿標志用于控制DMA通道進行Burst讀入 的恰當時刻,即滿標志無效的時候DMA通道才被允許發(fā)起新一次Burst傳輸。 因此,本實施例在每一次通過Z字掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲 的顯示數(shù)據(jù)時,需判斷所述Rotation Buffer的滿標識是否有效。Rotation Buffer 的空標志用于通知讀控制器進行讀操作的恰當時刻,即空標志無效時讀控制器才可從Rotation Buffer中取得新的像素,因此,本實施例在讀控制器按X方向 讀取所述Rotation Buffer中存儲的數(shù)據(jù)時,需判斷所述Rotation Buffer的空標志 是否有效。設(shè)wptr一toggle的復(fù)位值為0,為保證所述滿標志的長期可靠性,每 當DMA通道按Y方向以列掃描的方式掃完Rotation Buffer的所有單元后, wptr一toggle自身取反;rptr—toggle的復(fù)位值為1 ,為保證所述空標志的長期可靠 性,每當讀控制器按X方向以行掃描的方式掃完Rotation Buffer的所有單元后, rptr—toggle自身取反。另i殳rptr:當rd—line == burst—l,且rd—scan_num ==1時,rptr — rd—column,否 則rptr保持不變;那么滿標志有效的標志如下wptr —— rptr, 并且rptr_toggle — 一 wptr—toggle??諛酥居行У臉酥救缦聎ptr —■ rptr, 并且rptr—toggle != wptr_toggle,或者 rd—line==0且flill==0時,wptr == rd—column。圖6.a-圖6.d分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)旋轉(zhuǎn)顯示 的方案的第三實施例原理示意圖;其中,圖6.a和圖6.b表示顯示數(shù)據(jù)在Rotation Buffer中按YUV422 Planar方式存儲,圖6.c和圖6.d表示顯示數(shù)據(jù)在Rotation Buffer中按YUV 420 Planar方式存儲。本實施例與圖5.a及圖5.b所示實施例的 不同之處在于,DMA通道將顯示數(shù)據(jù)寫入Rotation Buffer時,將Y,U,V三個分 量分開,分別存入三塊地址空間(該三塊地址空間可以是三塊物理SRAM,也 可以是在同一塊物理SRAM中)。本實施例中,Burst長度以像素為單位,Rotation Buffer的地址和深度都以 8bit存儲單元為單位。本實施的Rotation Buffer的寫掃描與圖4.a及圖4.b所示 實施例以及圖5 .a及圖5 .b所示實施例類似,只是DMA通道需要在寫入Rotation Buffer時對YUV422 planner或YUV420 planner的Y、 U、 V分量進行分解,將 Y, U, V分量分別寫入三塊地址空間,在Rotation Buffer按420 Planar方式存 儲時,DMA通道讀入時丟棄偶數(shù)行(或奇數(shù)行)的UV分量,只把奇數(shù)行(或偶數(shù)行)的UV分量寫入U/V Rotation Buffer。讀出時Y分量按X方向進行img—h 次行掃描,U, V分量按X方向分別進行img—h/2次行掃描,且對U、 V分量的 行掃描為每行兩次,在Rotation Buffer采用420 Planar方式存^f諸時,行掃描時每 個U/V分量被連續(xù)讀取兩次然后掃描指針才指向下一個U/V。相應(yīng)的,本實施例中,對于Y、 U、 V中任一個分量的讀寫地址的控制可以 采用如下兩種不同的方式方式一寫入時地址連續(xù)遞增,讀出時地址按掃描順序間隔。其中,讀出 時地址間隔的方式具體包括判斷是否讀取完Stripe的顯示數(shù)據(jù),如果判斷為是, 讀取前一次讀地址加l后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址; 否則,繼續(xù)判斷前一次讀取地址對應(yīng)的存儲單元中所有像素是否讀取完,如果 判斷為是,讀取前一次讀取地址加上Stripe數(shù)據(jù)的寬度后,對存儲所述數(shù)據(jù)的存 儲器的深度取模后獲得的地址,以下面的例子進一步說明本實施例中讀出地址的間隔方式Rotation Buffer無論采用422 Planar還是420 Planar存儲方式,Y分量的讀 地址間隔法則與第一實施例一致。U/V分量的間隔法則是A) 422 Planar存儲格式下設(shè)uv—buf_dep為存儲U或V分量Buffer的深度如果rd—line —— burst—1/2 , 且rd—columnimg—h, rd—scan—num== 1:貝寸raddr—cur = (raddr_pre + 1) mod buf—dep否貝寸raddr—cur = (raddr_pre + burst—1/2) mod buf一dep;B) 420 Planar存儲格式下設(shè)rd_uv—toggle在每幀開始時刻復(fù)位到0,讀控制器每讀一次U/V Buffer進 行自身取反,如果rd—line == burst_l/2,且rd—column == img_h/2, rd—scan—num==l, rd—uv_toggle==l:貝寸raddr—cur = (raddr_pre + 1) mod buf_dep否貝'J: 當rd—uv—toggle ==1 時,raddr—cur = (raddr_pre + burst—1/2) modbuf—dep;方式二寫入時地址間隔,讀出時對于Y分量地址始終連續(xù),對于U/V分 量,每次行掃描地址連續(xù)遞增,且每行被掃描兩次,4亍于行之間地址也連續(xù), 其中,寫入時地址間隔的方式包括判斷是否存儲完Stripe的顯示數(shù)據(jù),如果判斷為是,將數(shù)據(jù)存儲到前一次存 儲地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址;否則,將 數(shù)據(jù)存儲到前一次存儲地址加上Stripe數(shù)據(jù)的高度后,對存儲所述數(shù)據(jù)的存^f諸器 的深度耳又才莫后獲得的地址,所述地址為按照像素單位計算出的邏輯地址。 以下面的例子說明進一步說明本實施例寫入地址的間隔方式 Rotation Buffer無論釆用422 Planar還是420 Planar存儲方式,Y分量的寫 地址間隔法則與實施例一致。U/V分量的間隔法則是 A) 422 Planar存儲格式下如果wr_line == burst—1/2, 且wr—column == img_h: 貝寸waddr一cur = (waddr_pre + 1) mod uv—buf_dep 否貝寸waddr_cur ■—— (waddr_pre + img_h) mod uv—buf—dep B) 420 Planar存儲格式下如果wr—lineburst_l/2 , 且wr—column == img_h/2: 貝'J waddr_cur = (waddr_pre + 1) mod uv_buf—dep 否貝'J: waddr一cur = (waddr_pre + img_h/2) mod uv—buf—dep。 本實施例中,Y, U, V三個分量各自的Rotation Buffer產(chǎn)生各自的空滿標 志,在三個Buffer都為非滿的條件下DMA通道可啟動Burst讀傳輸,當三個 Buffer都為非空時讀控制器可進行讀操作。Y Buffer的空滿標志的產(chǎn)生與圖4.a 及圖4.b所示實施例一致,而U和V Buffer空滿標志的產(chǎn)生與Y類似,只是讀 指針rptr的更新規(guī)則有所區(qū)分 A) 422 Planar存儲格式下;當rd—line —— burst—1/2,且rd—scan—num ==1時,rptr — rd—column,否貝'J rptr 保持不變;B)在420 Planar存儲格式下當rd—line == burst—1/2,且rd_scan—num ==1, rd—uv—toggle==l時, rptr = rd—column,否則rptr ^f呆4爭不變。圖7.a-圖7.d分別是本發(fā)明采用實時90度旋轉(zhuǎn)和270度旋轉(zhuǎn)實現(xiàn)旋轉(zhuǎn)顯示 的方案的第四實施例原理示意圖。其中,圖7.a和圖7.b為顯示數(shù)據(jù)在Rotation Buffer中按YUV420 Planar格式存儲的原理示意圖,圖7.c和圖7.d分別為顯示 數(shù)據(jù)在Rotation Buffer中按YUV420 Semi Planar格式存儲的原理示意圖。本實 施例Rotation Buffer的讀寫掃描和空滿標志的產(chǎn)生與圖6.a-圖6.d所示實施例中 Rotation Buffer采用420 Planar存儲方式時一致。不同之處是在本實施例中每個 獨立的DMA邏輯通道(非物理通道)對應(yīng)每個獨立的顯示數(shù)據(jù)的分量內(nèi)存塊。 本發(fā)明實施例的顯示內(nèi)存可采用片外的DRAM,與現(xiàn)有技術(shù)一相比,節(jié)省 了作為顯示內(nèi)存使用的片內(nèi)SRAM。本發(fā)明只要求片內(nèi)集成Rotation Buffer,該 Rotation Buffer的最小容量是可以緩存顯示幀內(nèi)的一塊Stripe,以支持VGA分辨率 (640X480)的片源為例,在Stripe寬度取4個像素時,RotationBuffer的容量僅為 一幀的1/160,而現(xiàn)有方案一的片內(nèi)SRAM則至少需要緩存完整一幀。本發(fā)明實 施例對顯示片源分辨率的支持更加靈活?,F(xiàn)有技術(shù)一由于片內(nèi)顯示內(nèi)存固定, 因此只能支持分辨率小于顯示內(nèi)存的片源,而本發(fā)明由于可使用的片外DRAM 作為顯示內(nèi)存使用,因此容量可靈活伸縮。與現(xiàn)有方案二采用Single讀方式對片 外的顯示內(nèi)存DRAM進行訪問相比,本發(fā)明由于采用了高效的Bursi傳輸方式對 片外顯示內(nèi)存進行訪問,從而減輕了DRAM的訪問負載和功耗。以RGB16bit存 儲格式為例進行分析,假設(shè)Burst長度為8 (以像素為單位),DRAM的Row激活 時間是3個時鐘周期,Data Read Latency為4個時鐘周期,那么DRAM的訪問負載 是現(xiàn)有方案二的20%, Activate Row的功耗是現(xiàn)有方案二的12.5%。另夕卜,與現(xiàn) 有方案二相比,本發(fā)明實施例可支持更大的顯示幀分辨率。假設(shè)DMA的四個通 道同時訪問DRAM的任意塊(Bank)任意行,仿真結(jié)果表明 一次Single讀操作平 均延遲為35 40個總線時鐘周期,那么總線時鐘頻率為133MHz的條件下,方案 二的顯示幀分辨率的典型應(yīng)用僅為QCIF ( 176X144像素的分辨率),而本發(fā)明可最大支持1024X1024的分辨率。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之 權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1、一種顯示數(shù)據(jù)的傳輸方法,其特征在于,包括通過Z字掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù);按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀取的顯示數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。
2、 如權(quán)利要求1所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,所述的通過Z 字掃描結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù)的步 驟包括通過突發(fā)傳輸方式依次讀取第一子帶的每行顯示數(shù)據(jù); 依次讀取后續(xù)子帶的顯示數(shù)據(jù),針對每一子帶,通過突發(fā)傳輸方式依次讀 取所述子帶的每行顯示數(shù)據(jù)。
3、 如權(quán)利要求1所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,在執(zhí)行通過Z 字掃描結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多個子帶的顯示凄i:據(jù)的步 驟時,每一次通過Z字掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的顯示數(shù)據(jù) 的步驟包括判斷用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器是否已滿,如果判斷為否,則通 過Z字掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的顯示數(shù)據(jù)。
4、 如權(quán)利要求1所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,所述的按行方 向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)的步驟包括判斷用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器是否為空,如果判斷為否,則按 行方向讀耳又所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)。
5、如權(quán)利要求1所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,所述通過Z字掃描結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù)的步驟包括沖艮據(jù)所述顯示數(shù)據(jù)在顯示內(nèi)存中的存儲格式,通過Z字掃描結(jié)合突發(fā)傳輸 方式分別讀取顯示數(shù)據(jù)在所述存儲格式下的多個數(shù)據(jù)分量;所述按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲的步驟包括按列方向 將所述分別讀取的各數(shù)據(jù)分量分開進行旋轉(zhuǎn)存儲;所述的按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)的步驟包括根據(jù)所述顯示數(shù)據(jù)在用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器中的存儲格式, 按行單次或按行多
6、如權(quán)利要求5所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,還包括 將所述顯示數(shù)據(jù)在顯示內(nèi)存的存儲格式中的各分量在所述顯示內(nèi)存中分開 存儲。
7、如權(quán)利要求6所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,所述的根據(jù) 所述顯示數(shù)據(jù)在顯示內(nèi)存中的存儲格式,通過Z字掃描結(jié)合突發(fā)傳輸方式分別 讀取顯示數(shù)據(jù)在所述存儲格式下的多個數(shù)據(jù)分量的步驟包括采用獨立通道,通過Z字掃描結(jié)合突發(fā)傳輸方式分別依次讀取顯示內(nèi)存中 存儲的多個子帶的顯示數(shù)據(jù)的各存儲格式下的各數(shù)據(jù)分量。
8、如權(quán)利要求1-5中任一項所述的顯示數(shù)據(jù)的傳輸方法,其特;f正在于,所 述旋轉(zhuǎn)存儲采用的存儲方式為采用地址連續(xù)遞增的方式所述按行方向讀取采用的讀取方式為采用地址間隔的方式;或 所述旋轉(zhuǎn)存儲采用的存儲方式為采用地址間隔的方式;所述按行方向讀取采用的讀取方式為采用地址連續(xù)遞增的方式。
9、 如權(quán)利要求8所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,當所述旋轉(zhuǎn)存 儲采用的存儲方式為采用地址間隔的方式時,所述地址間隔的方式包4舌判斷是否存儲完一個子帶的顯示數(shù)據(jù),如果判斷為是,將數(shù)據(jù)存儲到前一 次存儲地址加l后,對存儲所述數(shù)據(jù)的存儲器的深度耳X^莫后獲得的地址;否則, 將數(shù)據(jù)存儲到前一次存儲地址加上一個子帶數(shù)據(jù)的高度后,對存儲所述數(shù)據(jù)的 存儲器的深度取模后獲得的地址,所述地址為按照像素單位計算出的邏輯地址。
10、 如權(quán)利要求8所迷的顯示數(shù)據(jù)的傳輸方法,其特征在于,當所述按行 方向讀取采用的讀取方式為采用地址間隔的方式時,所述地址間隔的方式包括判斷是否讀取完一個子帶的顯示數(shù)據(jù),如果判斷為是,讀取前一次讀地址 加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址;否則,繼續(xù)判斷 前一次讀取地址對應(yīng)的存儲單元中所有像素是否讀取完,如果判斷為是,讀取 前一次讀取地址加上一個子帶數(shù)據(jù)的寬度后,對存儲所述凄t據(jù)的存儲器的深度 取模后獲得的地址,所述地址為按照像素單位計算出的邏輯地址。
11、 如權(quán)利要求3所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,還包括當讀控制器從用于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器中讀:f又一個子帶的最后 一行時,將所述存儲器的讀取指針的數(shù)值更新為當前讀取的列號;否則,讀取 指針保持不變。
12、 如權(quán)利要求11所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,所述判斷用 于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器是否已滿的步驟中,判定用于旋轉(zhuǎn)存儲所述 顯示數(shù)據(jù)的存儲器已滿的條件為所述存儲器的當前存儲指針等于當前讀取指針,且存儲指針反轉(zhuǎn)標志等于 讀取指針反轉(zhuǎn)標志。
13、 如權(quán)利要求11所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,所述判斷用 于旋轉(zhuǎn)存儲所述顯示數(shù)據(jù)的存儲器是否為空的步驟中,判定用于旋轉(zhuǎn)存儲所述 顯示數(shù)據(jù)的存儲器為空的條件為所述存儲器的當前存儲指針等于當前讀取指針,且存儲指針反轉(zhuǎn)標志不等 于讀取指針反轉(zhuǎn)標志;或者所述存儲器的當前讀取行號等于零,且當所述存儲器為非滿時,當前 存儲指針等于當前讀取的列號。
14、 如權(quán)利要求1所述的顯示數(shù)據(jù)的傳輸方法,其特征在于,在按行方向 讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)的步驟后還包括將所述讀取的顯示數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn)換為RGB格式,并將所述RGB格式 數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。
15、 一種顯示凄t據(jù)的傳輸裝置,其特征在于,包括數(shù)據(jù)獲取單元,用于通過Z字掃描結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù);存儲器,用于按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;讀控制器,用于按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀取的顯示數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。
16、 如權(quán)利要求15所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述數(shù)據(jù)獲 取單元為顯示控制器的直接內(nèi)存訪問通道。
17、 如權(quán)利要求15所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述數(shù)據(jù)獲 取單元包括第一判斷單元,用于判斷所述存儲器是否已滿;獲取單元,用于在接收到所述第一判斷單元輸出的否定判斷結(jié)果時,通過Z 字掃描方式結(jié)合突發(fā)傳輸方式讀取顯示內(nèi)存中存儲的顯示數(shù)據(jù)。
18、 如權(quán)利要求17所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述的數(shù)據(jù) 獲取單元還包括分解控制單元,用于根據(jù)顯示數(shù)據(jù)在顯示內(nèi)存中的存儲格式,控制所述獲 取單元通過Z字掃描結(jié)合突發(fā)傳輸方式分別讀取顯示數(shù)據(jù)在所述存儲格式下的 多個數(shù)據(jù)分量;所述存儲器對所述多個數(shù)據(jù)分量分開進行旋轉(zhuǎn)存儲。
19、 如權(quán)利要求15-18所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述的數(shù) 據(jù)獲取單元包括數(shù)據(jù)旋轉(zhuǎn)存儲到所述存儲器中或采用地址間隔的方式按列方向?qū)⑼话l(fā)讀取的顯 示數(shù)據(jù)旋轉(zhuǎn)存儲到所述存儲器中。
20、 如權(quán)利要求19所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,當所述存^f渚 單元采用地址間隔的方式按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)旋轉(zhuǎn)存儲到所述存儲 器中時,所述存儲控制單元包括第二判斷單元,用于判斷所述存儲器是否存儲完一個子帶的顯示數(shù)據(jù); 存儲指示單元,用于在所述第二判斷單元輸出肯定的判斷時,控制進一步 將數(shù)據(jù)存儲到所述存儲器中前一次存儲地址加1后,對存儲所述數(shù)據(jù)的存儲器 的深度取模后獲得的地址處;否則,將數(shù)據(jù)存儲到所述存儲器中前一次存儲地 址加上一個子帶數(shù)據(jù)的高度后,對存儲所述數(shù)據(jù)的存儲器的深度取4莫后獲得的 地址處,所述地址為按照像素單位計算出的邏輯地址。
21、 如權(quán)利要求15所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述讀控制器包括第三判斷單元,用于判斷所述存儲器是否為空;讀取單元,用于在接收到所述第三判斷單元^T出的否定判斷結(jié)果時,按行 方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù)。
22、如權(quán)利要求21所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述讀控制 器還包括次數(shù)控制單元,用于根據(jù)所述顯示數(shù)據(jù)在所述存儲器中的存儲格式,控制 所述讀取單元按行單次或按行多次分別按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù) 的各數(shù)據(jù)分量。
23、如權(quán)利要求21所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,所述讀控制 器還包括讀取控制單元,用于控制所述讀取單元采用地址連續(xù)地址的方式按行方向 存儲的顯示數(shù)據(jù)。
24、如權(quán)利要求23所述的顯示數(shù)據(jù)的傳輸裝置,其特征在于,當所述讀取 控制單元控制所述讀取單元采用地址間隔的方式按行方向讀取所述旋轉(zhuǎn)存儲的 顯示數(shù)據(jù)時,所述讀取控制單元包括第四判斷單元,用于判斷所述讀控制器是否讀取完一個子帶的顯示數(shù)據(jù); 讀取指示單元,用于在所述第四判斷單元輸出肯定的判斷結(jié)果時,控制所述讀控制器讀取前一次讀地址加1后,對存儲所述數(shù)據(jù)的存儲器的深度取模后 獲得的地址;否則,繼續(xù)判斷前一次讀取地址對應(yīng)的存儲單元中所有像素是否 讀取完,如果判斷為是,控制所述讀控制器讀取前一次讀取地址加上一個子帶 數(shù)據(jù)的寬度后,對存儲所述數(shù)據(jù)的存儲器的深度取模后獲得的地址,所述地址 為按照像素單位計算出的邏輯地址。
25、如權(quán)利要求15所迷的顯示數(shù)據(jù)的傳輸裝置,其特征在于,還包括 數(shù)據(jù)轉(zhuǎn)換單元,用于將所述讀控制器讀取的數(shù)據(jù)格式轉(zhuǎn)換為RGB格式,并 將所述RGB格式數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。
全文摘要
本發(fā)明實施例公開提供了一種顯示數(shù)據(jù)的傳輸方法及裝置。其中,本發(fā)明實施例提供的一種顯示數(shù)據(jù)的傳輸方法包括通過Z字掃描結(jié)合突發(fā)傳輸方式依次讀取顯示內(nèi)存中存儲的多個子帶的顯示數(shù)據(jù);并按列方向?qū)⑼话l(fā)讀取的顯示數(shù)據(jù)進行旋轉(zhuǎn)存儲;按行方向讀取所述旋轉(zhuǎn)存儲的顯示數(shù)據(jù),并將所述讀取的顯示數(shù)據(jù)發(fā)送給顯示設(shè)備進行顯示。本發(fā)明實施例與現(xiàn)有技術(shù)相比,具有可降低訪問顯示內(nèi)存的負載和功耗,并提高顯示幀的分辨率的優(yōu)點。
文檔編號G09G5/395GK101236740SQ20081008216
公開日2008年8月6日 申請日期2008年2月29日 優(yōu)先權(quán)日2008年2月25日
發(fā)明者淵 季, 童朝伍, 駿 黃 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
雷波县| 涿鹿县| 孟州市| 四川省| 定安县| 武宣县| 海南省| 洛川县| 北安市| 长岛县| 曲阜市| 蒙自县| 弋阳县| 益阳市| 贵南县| 岳阳市| 台中市| 临汾市| 奉新县| 郁南县| 莱西市| 宕昌县| 雷州市| 大邑县| 镇平县| 霍州市| 宝山区| 寿光市| 泸州市| 广汉市| 常宁市| 农安县| 井冈山市| 建宁县| 眉山市| 深州市| 彭州市| 察隅县| 曲阳县| 穆棱市| 郯城县|