麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

掃描卡、LED顯示屏控制系統及圖像數據處理方法與流程

文檔序號:11097208閱讀:2094來源:國知局
掃描卡、LED顯示屏控制系統及圖像數據處理方法與制造工藝

本發明涉及視頻圖像處理技術領域,尤其涉及一種掃描卡、一種LED顯示屏控制系統以及一種圖像數據處理方法。



背景技術:

目前,LED顯示屏控制系統在降低LED顯示屏的亮度時,通常會出現低Bit(位)灰度丟失,導致顯示色調不連續。

由于LED的線性響應特性,目前的LED顯示屏控制需要對輸入的n位灰度數據進行反伽瑪(Gamma)校正映射到m位灰度數據后再做灰度實現(m>n)。設x為輸入灰度數據,值域為0到(2n-1),y為反伽瑪校正后的灰度數據,值域為0到(2m-1),γ為Gamma值,映射關系如下:

當需要降低LED顯示屏亮度時,現有技術是將反伽瑪校正后的y值直接乘以亮度百分比,比如需要將亮度降到50%,就將y值乘以0.5。如此得到的結果有一個明顯的特征,即校正后低Bit灰度的數據代表了校正前部分高Bit信息。由于現今驅動芯片低Bit較難實現,所以目前直接丟棄低Bit灰度的做法使得顯示屏低亮度顯示效果較差。

參見圖1,現有的LED顯示屏控制系統主要由發送卡、掃描卡以及電連接掃描卡的LED燈板組成,其中各個LED燈板共同拼接形成LED顯示屏。在LED顯示屏控制系統中最為關鍵的是掃描卡(或稱接收卡),而掃描卡主要實現視頻圖像數據的解包、校正以及LED燈板驅動芯片時序輸出三個基本功能,其原理框圖如圖2所示。圖2僅表達出像素數據的傳遞及轉換且假設原始數據源為8bit(也即23bit)。具體地,在圖2中,掃描卡的功能實現主要包括四個部分:數據接收模塊、存儲控制模塊、數據轉換模塊以及顯示驅動模塊。對于掃描卡來說,數據源是從發送卡發送過來的圖像數據包、命令包、參數包等各種數據。數據接收模塊對這些數據包進行解析,并經由存儲控制模塊將圖像有效數據保存至存儲器例如SDRAM,以備其它模塊做處理;數據轉換模塊根據走線表經由存儲控制模塊從SDRAM中讀取數據按需進行校正,校正結果根據顯示驅動模塊要求進行Bit分離并經由存儲控制模塊保存至SDRAM;顯示驅動模塊產生LED燈板驅動芯片用控制時序,并根據控制時序經由存儲控制模塊從SDRAM中讀取數據,通過排線送至LED燈板。

若原始視頻圖像源是8bit(如圖2所示),在經過反Gamma校正、亮度校正等各種校正后,數據已然變成了16bit(也即24bit),其相當于bit信息分散化。由于LED燈板驅動芯片低Bit灰度實現困難,加之刷新率越來越高的要求,直接將其舍棄必會造成灰度過渡不連續的顯示效果。



技術實現要素:

因此,為克服現有技術的缺陷和不足,本發明提出將旋轉抖動矩陣算法和幀間誤差累積算法結合的視頻圖像處理技術應用于掃描卡,以實現多Bit信息壓縮,在降低數據存儲量的同時,仍能較完整地表達原始圖像的信息,解決灰度過渡不連續的顯示效果,達到整體色調連續的效果。

具體地,本發明實施例提出的一種掃描卡,包括:數據接收模塊、存儲控制模塊、數據轉換模塊和顯示驅動模塊,所述數據接收模塊用于接收輸入的圖像數據并經由所述存儲控制模塊存儲至存儲器中,所述數據轉換模塊用于經由所述存儲控制模塊從所述存儲器中獲取圖像數據以進行校正和Bit分離再經由所述存儲控制模塊將Bit分離后的圖像數據存儲至所述存儲器,所述顯示驅動模塊用于產生控制時序并根據所述控制時序經由所述存儲控制模塊從所述存儲器讀取Bit分離后的圖像數據以進行輸出。此外,所述數據轉換模塊包括:Bit優化模塊,用于利用周期性旋轉抖動矩陣結合幀間誤差累積減小在進行所述校正之后且在進行所述Bit分離之前的圖像數據的位寬。

在本發明的一個實施例中,所述數據轉換模塊包括Gamma校正模塊、亮度校正模塊和Bit分離模塊;所述校正包括利用所述Gamma校正模塊進行的反Gamma校正和在進行所述反Gamma校正之后利用所述亮度校正模塊進行的亮度校正,且所述Bit分離模塊用于進行所述Bit分離。

在本發明的一個實施例中,所述校正包括用于對經由所述存儲控制模塊從所述存儲器中獲取的位寬為2nbit的圖像數據進行反Gamma校正以映射成位寬為2mbit的圖像數據,其中n<m;所述Bit優化模塊具體用于利用k×k維的周期性旋轉抖動矩陣結合幀間誤差累積將在進行所述校正之后且在進行所述Bit分離之前的圖像數據的位寬減小至(2m-N)bit,且N>k≥2,其中N,K均為正整數。

在本發明的一個實施例中,所述掃描卡包括可編程邏輯器件,所述存儲器外接于所述可編程邏輯器件,且所述數據接收模塊、所述存儲控制模塊、所述數據轉換模塊和所述顯示驅動模塊整合于所述可編程邏輯器件。

在本發明的一個實施例中,上述利用周期性旋轉抖動矩陣結合幀間誤差累積減小在進行所述校正之后且在進行所述Bit分離之前的圖像數據的位寬具體包括:對當前圖像數據幀進行降灰階處理以得到降灰階處理后圖像數據,其中所述降灰階處理將所述當前圖像數據幀中的圖像數據位寬縮減Nbit;將所述降灰階處理后圖像數據的各個像素點位置的像素值小數部分與k×k維的周期性旋轉抖動矩陣中的一個相對應旋轉抖動矩陣進行比較以確定像素值整數部分是否需要加1,并根據公式result=(1/(k×k))×ceil(Dec/(1/(k×k)))得到像素值小數部分的實現結果,其中ceil()表示向上取整函數,result表示像素值小數部分的實現結果,Dec表示像素值小數部分,k≥2且偶數,N>k且為奇數;獲取所述實現結果與所述降灰階處理后圖像數據幀的各個像素點位置的像素值小數部分之間的差值;以及將所述差值累積至下一個圖像數據幀進行降灰階處理后的圖像數據中。

再者,本發明實施例提出的一種LED顯示屏控制系統,包括:發送卡、前述任意一種掃描卡、以及LED燈板;所述掃描卡電連接所述發送卡和所述LED燈板。

另外,本發明實施例提出的一種圖像數據處理方法,適于執行于包括掃描卡和LED顯示屏的LED顯示屏控制系統。所述圖像數據處理方法包括步驟:(i)接收輸入的圖像數據;(ii)對所述圖像數據進行校正以得到校正后的圖像數據;(iii)利用k×k維的周期性旋轉抖動矩陣結合幀間誤差累積將所述校正后的圖像數據的位寬減小Nbit以得到Bit優化后的圖像數據,其中N>k≥2且k為偶數;(iv)對所述Bit優化后的圖像數據進行Bit分離以得到Bit分離后的圖像數據;(v)產生控制時序并根據所述控制時序將所述Bit分離后的圖像數據輸出以供驅動所述LED顯示屏。

在本發明的一個實施例中,步驟(iii)包括:根據場同步信號、所述掃描卡的起始像素點坐標和所述掃描卡帶載的圖像數據大小確定每一幀圖像數據中的每一個像素值對應到所述LED顯示屏的位置坐標和相對應的旋轉抖動矩陣。

在本發明的一個實施例中,步驟(iii)還包括:對當前圖像數據幀進行降灰階處理以得到降灰階處理后圖像數據,其中所述降灰階處理將所述當前圖像數據幀中的圖像數據位寬減少Nbit;將所述降灰階處理后圖像數據的各個像素點位置的像素值小數部分與k×k維的周期性旋轉抖動矩陣中的一個相對應旋轉抖動矩陣進行比較以確定像素值整數部分是否需要加1,并根據公式result=(1/(k×k))×ceil(Dec/(1/(k×k)))得到像素值小數部分的實現結果,其中ceil()表示向上取整函數,result表示像素值小數部分的實現結果,Dec表示像素值小數部分,k為偶數,N為奇數;獲取所述實現結果與所述降灰階處理后圖像數據幀的各個像素點位置的像素值小數部分之間的差值;以及將所述差值累積至下一個圖像數據幀進行降灰階處理后的圖像數據中。

在本發明的一個實施例中,步驟(ii)中的所述校正包括依序進行的反Gamma校正和亮度校正。

由上可知,本發明實施例針對現有技術中存在低Bit灰度丟失的問題,提出了將旋轉抖動矩陣處理算法與幀間誤差累積結合應用于掃描卡功能實現中。通過對相鄰幀的視頻圖像數據采用不同的旋轉矩陣做處理、并做殘差累積,實現在高位寬數據到低位寬數據轉換的同時,仍能較完整地表達原始視頻圖像的信息,減小了驅動芯片低Bit未實現對灰度表現的影響,使得灰度過渡更為平滑,另一方面,由于減小了bit的實現位數,所以刷新率也提高了。

通過以下參考附圖的詳細說明,本發明的其它方面和特征變得明顯。但是應當知道,該附圖僅僅為解釋的目的設計,而不是作為本發明的范圍的限定。還應當知道,除非另外指出,不必要依比例繪制附圖,它們僅僅力圖概念地說明此處描述的結構和流程。

附圖說明

下面將結合附圖,對本發明的具體實施方式進行詳細的說明。

圖1為現有技術中的一種LED顯示屏控制系統的架構示意圖。

圖2為現有技術中的掃描卡功能實現原理框圖。

圖3為本發明實施例提出的一種掃描卡功能實現原理框圖。

具體實施方式

為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖對本發明的具體實施方式做詳細的說明。

本發明下述實施例針對現有技術中掃描卡的功能實現原理框架上存在低Bit(位)信息丟失的問題,利用旋轉抖動矩陣算法和幀間誤差累積算法相結合的視頻圖像處理技術對其進行改進,實現在降低資源開銷或提高刷新率的同時,仍可以保證鄰近位置上的像素灰度效果保持不變,達到整體色調連續的效果。

具體地,為便于理解本實施例,首先對本實施例采用的一種旋轉抖動矩陣算法進行說明如下:

數字半色調技術是基于人眼視覺特性和圖像呈色特性,利用數學、計算機等工具,在二值(或多色二值)呈色設備上實現圖像最優再現的一門技術。當在一定距離下觀察時,人眼將圖像中空間上接近的部分視為一個整體。利用此特性,人眼觀察到的半色調圖像局部平均灰度近似于原始圖像的局部平均灰度值,從而整體上形成連續色調的效果。

目前應用較廣的數字半色調技術是旋轉抖動矩陣算法,其原理是將高位的顯示信息通過旋轉抖動矩陣計算分配到相鄰的空間中,使得圖像質量得到明顯改善,提高了顯示的灰度級數。

以2×2旋轉抖動矩陣為例,算法的具體實現步驟如下:

(1)獲取旋轉抖動矩陣:旋轉抖動矩陣是由一個基本抖動矩陣按照逆時針或順時針旋轉而來,而基本抖動矩陣則是由Limb矩陣經過矩陣運算得到的。

①Limb矩陣:

②依據公式求解出(n+1)×(n+1)維的基本抖動矩陣,其中Un表示n×n的全一矩陣,例如

③將基本抖動矩陣按照順時針或者逆時針旋轉,得到周期性旋轉抖動矩陣。以2×2的基本抖動矩陣為例,若按照逆時針方向旋轉,可以得到2×2個旋轉抖動矩陣:

(2)當前視頻圖像幀framecurrent的處理:設原始視頻是8bit(也即256級)數據源,現要用6bit(也即64級)的數據位寬表示該視頻,算法的具體實現包括以下步驟:

①將每個像素值進行8bit到6bit的轉換(也即實現2bit縮減),也即進行降灰階處理,轉換后的像素值包含兩部分:整數部分(Int)和小數部分(Dec);例如像素值122轉換成64級后的值為Value,則Value=64×122/256=30.5=Int+Dec。

②將當前處理視頻圖像幀framecurrent的小數部分與對應的旋轉抖動矩陣比較:

(i).確定當前處理視頻圖像幀framecurrent對應的旋轉抖動矩陣:i=rem((current/4),其中rem()為求余函數,current為當前處理視頻圖像幀的序號(例如第一個視頻圖像幀對應current=1),i表示與當前處理視頻圖像幀framecurrent對應的旋轉抖動矩陣的序號。

(ii).計算當前處理視頻圖像幀framecurrent中每個像素位置的比較結果:假設current=5,則其對應旋轉抖動矩陣為Mat1;從當前處理視頻圖像幀framecurrent的左上角出發,依次截取經降灰階處理后2×2維的像素值,將其小數部分與旋轉抖動矩陣Mat1作比較,依據四舍五入法則進行取舍。即,若小數部分大于Mat1中對應位置的值,則framecurrent對應像素位置的整數部分加1,否則不加(也即整數部分不變),此處旋轉抖動矩陣的序號i的取值范圍為1~4。

然而,若要實現更多Bit例如3bit縮減,比如將8bit(256級)信息縮減至5bit(32級);由于3×3維的旋轉抖動矩陣較難處理,一般會選擇2×2維的旋轉抖動矩陣對其處理,而要實現該信息的完整表達,必須保證轉換精度至少為0.125,而2×2維旋轉抖動矩陣精度為0.25,因此此時僅僅使用旋轉抖動矩陣算法并不能準確地表述每一個圖像像素點的信息。舉例說明,8bit的原始圖像信息為37,則Value=32×37/256=4.625=Int+Dec,使用2×2維的旋轉抖動矩陣處理后,結果為1,1,1,0,即三幀數據的整數部分有加1、一幀數據沒有加1,這樣處理后的最終結果為0.75,與要實現的0.625相比,存在一定誤差。

因此,本實施例提出將旋轉抖動矩陣算法與幀間誤差累積算法相結合的視頻圖像處理方法應用于掃描卡,其原理下面將通過步驟化的方式進行解析。假設要實現的目標圖像數據值為Value,當前處理的視頻圖像幀為framecurrent,則實現步驟如下:

(a)對原始圖像數據值逐像素進行降灰階處理得到轉換后的整數部分和小數部分,即Value=Int+Dec;

(b)根據公式i=rem((current/4),將進行降灰階處理后得到的小數部分與相對應的旋轉抖動矩陣進行對比,確定整數部分是否需要加1;并且根據公式result=(1/(2×2))×ceil(Dec/(1/(2×2)))=0.25×ceil(Dec/0.25),其中ceil()表示向上取整函數,得到最終的實現結果result,此公式表示采用2×2維的旋轉抖動矩陣,實現結果只可能是0,0.25,0.5,0.75中的一個。若旋轉抖動矩陣的維數改變,則同時需要將該公式中的1/4換成其對應的矩陣k×k可實現的精度,比如4×4維的精度是1/(k×k)=1/(4×4)=0.0625;

(c)將實現結果與欲實現的小數做差:error=result-Dec,并將結果累積到下一幀的計算中:Value=Value-error=Int+Dec;

(d)重復以上步驟(a)至(c),實現圖像數據值的準確表達。

承上述,改進后的掃描卡功能實現原理框圖如圖3所示。需要說明的是,圖3僅表達出圖像數據的傳遞及轉換,其假設數據源為8bit且做Nbit=3bit優化以及其采用的k×k矩陣為2×2維矩陣,此處N>k。再者,在本實施例中,圖3中的數據接收模塊31、存儲控制模塊33、數據轉換模塊35和顯示驅動模塊37例如是由運行在掃描卡30的可編程邏輯器件像FPGA(Field Programmable Gate Array,現場可編程門陣列)上的軟件模塊實現,或者說數據接收模塊31、存儲控制模塊33、數據轉換模塊35和顯示驅動模塊37均整合于外接有存儲器例如SDRAM的可編程邏輯器件。

具體地,圖3中增加的Bit優化模塊356即為利用旋轉抖動矩陣算法和幀間誤差累積算法相結合實現大位寬數據到小位寬數據轉換的功能。由于Gamma校正模塊350用于對視頻圖像像素數據進行反Gamma校正,其為一種非線性校正,且亮度校正模塊352和其它校正模塊354(例如色度校正模塊等,當然也可以無其它校正模塊)使得數據高Bit的信息更多地轉移到了低Bit上,而Bit分離模塊358已丟失了原有圖像數據的位置信息;所以將Bit優化模塊356設置在各個校正模塊(包含Gamma校正模塊350、亮度校正模塊352和其它校正模塊354)與Bit分離模塊358之間。再者,在圖3所示舉例中,原始視頻圖像源是8bit,在經過反Gamma校正、亮度校正等各種校正后,數據已然變成了16bit(也即24bit),之后經由本實施例的Bit優化模塊356的Bit優化處理后縮減至13bit,再經由Bit分離模塊358進行Bit分離處理后由存儲控制模塊33保存至存儲模塊例如SDRAM中供顯示驅動模塊37使用。

對于每個掃描卡30來說,都可以從前端發送卡得到三個關鍵信息:場同步信號、掃描卡的起始像素點坐標(StartX,StartY)和掃描卡帶載的圖像數據大小(TotalX,TotalY)。依據這三個參數,可得到當前處理視頻圖像幀序號以及每個像素在整個LED顯示屏的具體位置,從而確定與之對應的旋轉抖動矩陣值,通過比較最終實現大位寬數據到小位寬數據的轉換。假設(StartX,StartY)=(0,128)、(TotalX,TotalY)=(128,128)且掃描卡30上SDRAM的數據存儲格式為每行存儲Col=256個像素數據,計算步驟如下:

(一)計算接收到的像素值所對應的整個LED顯示屏的具體位置。在數據轉換模塊35中,根據走線表可以得到原始視頻圖像數據像素值在SDRAM中的行列坐標(RowAddr,ColAddr)。由于原始圖像數據像素值是按序存放的,所以可通過計算得到其對應到LED顯示屏上的具體位置坐標(i,j)。同理,通過場同步信號可得到數據幀計數framecnt。假設為RowAddr為0,ColAddr為200,framecnt為5,則該像素值對應到LED顯示屏的具體位置坐標(i,j)以及與之對應的旋轉抖動矩陣Matm中的序號m為:

(i,j)=(StartX+fix((RowAddr×Col+ColAddr)/TotalY),StartY+rem(RowAddr×Col+

ColAddr,TotalY)-1)

=(0+fix((0×256+200)/128),128+rem(0×256+200,128)-1)

=(1,199)

m=rem(framecnt/4)=rem(5/4)=1

其中,fix()為取整函數,rem()為求余函數。

(二)根據旋轉抖動矩陣算法,對當前處理的像素和確定的旋轉抖動矩陣Matm做比較,并將殘差保存至提前分配好的存儲空間例如SDRAM空間中對應的位置,以備下一幀處理使用。此處,“對應”的意思是殘差值與原圖像像素值的存儲位置一一對應,方便后續規劃以及程序實現,這一點可以通過走線表得以實現。若像素的具體位置坐標i,j均為偶數,則其與旋轉抖動矩陣Mat1中(0,0)位置的數據比較;若i為偶數且j為奇數,則其與Mat1中(0,1)位置的數據比較;若i奇數為且j為偶數,則其與Mat1中(1,0)位置的數據比較;若i,j均為奇數,則其與Mat1中(1,1)位置的數據比較。

假設要實現的8bit像素值為45,則有:

A).8bit像素值轉換為5bit像素值:Value=Value-error=45×32/256-error=5.625-error=Int=Dec。若為第一幀,則error為0,之后的數據幀的error為上一幀數據的殘差;

B).由于framecnt為5,若i,j均為奇數,所以將其小數部分與Mat1中(1,1)位置的數據作比較,結果為1,轉換后的整數部分Int加1;

C).根據公式result=(1/(2×2))×ceil(Dec/(1/(2×2)))=0.25×ceil(Dec/0.25),得到最終的實現結果result=0.75,并將其與原來欲實現的小數部分作殘差:error=result-Dec=0.75-0.625=0.125;

D).根據走線表將該殘差存放至提前規劃好的對應的SDRAM空間,以備下一幀數據處理過程使用。

(三)將處理后的圖像像素數據送至Bit分離模塊358進行Bit分離處理。

鑒于數據接收模塊31接收到的數據是數據流,所以重復以上三個步驟(a)-(c)即可完成Bit優化。

假設截取的2×2維的原始像素為:待實現的小數部分則根據以上的步驟,可以很容易得到四幀圖像數據處理后的結果,分別如下:

像素轉換得到的小數部分:

小數部分比較結果:

殘差:

從以上的結果可以看出,經過了四幀數據的累積處理,殘差已然變成了0,四幀數據疊加累積實現的結果為由于人眼觀察到的圖像是局部的均值效果,所以(其中sum(Vavg)表示矩陣Vavg中各元素求和),即最終實現的小數部分就等于欲實現的小數部分,完成原圖像數據的準確表達。

本質上說,要實現數據的準確表達,即關鍵是小數部分的精確轉換。本實施例提出的視頻圖像處理方法就是將小數部分信息轉移到相鄰數據幀中,在數據幀累積的過程中,將殘差也累積,實現精度的分散實現。結合人眼的惰性特性:局部平均灰度近似于原始圖像的局部平均灰度,得到整體色調連續的效果。由于數據位寬明顯較小,所以在降低資源開銷或者提高刷新率的前提下,仍能較完整準確地表達原始圖像的信息。

綜上所述,本發明前述實施例針對現有技術中存在低Bit灰度丟失的問題,提出了將旋轉抖動矩陣處理算法與幀間誤差累積結合應用于掃描卡功能實現中。通過對相鄰幀的視頻圖像數據采用不同的旋轉矩陣做處理、并做殘差累積,實現在高位寬數據到低位寬數據轉換的同時,仍能較完整地表達原始視頻圖像的信息,減小了驅動芯片低Bit未實現對灰度表現的影響,使得灰度過渡更為平滑,另一方面,由于減小了bit的實現位數,所以刷新率也提高了。

此外值得一提的是,可以將本發明前述實施例的掃描卡應用于圖1所示的LED顯示屏控制系統以得到改進的LED顯示屏控制系統。

最后值得一提的是,根據前述實施例的描述,還可以歸納出一種圖像數據處理方法,適于執行于包括掃描卡和LED顯示屏(由一個或多個LED燈板拼接而成)的LED顯示屏控制系統。所述圖像數據處理方法例如包括步驟:接收輸入的圖像數據;對所述圖像數據進行校正以得到校正后的圖像數據;利用k×k維的周期性旋轉抖動矩陣結合幀間誤差累積將所述校正后的圖像數據的位寬減小Nbit以得到Bit優化后的圖像數據,其中N>k≥2;對所述Bit優化后的圖像數據進行Bit分離以得到Bit分離后的圖像數據;以及產生控制時序并根據所述控制時序將所述Bit分離后的圖像數據輸出以供驅動所述LED顯示屏。

以上所述,僅是本發明的較佳實施例而已,并非對本發明作任何形式上的限制,雖然本發明已以較佳實施例揭露如上,然而并非用以限定本發明,任何熟悉本專業的技術人員,在不脫離本發明技術方案范圍內,當可利用上述揭示的技術內容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發明技術方案內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發明技術方案的范圍內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 明溪县| 天等县| 洪湖市| 江永县| 古田县| 怀柔区| 蒙山县| 扶余县| 攀枝花市| 正定县| 永兴县| 平原县| 香港| 丁青县| 唐河县| 台东县| 招远市| 萨迦县| 阿拉善右旗| 万州区| 普兰店市| 大渡口区| 同德县| 淳安县| 新兴县| 哈密市| 安图县| 济南市| 百色市| 贡嘎县| 白银市| 通榆县| 宣恩县| 大城县| 东乡县| 韩城市| 车险| 富裕县| 大丰市| 鹿邑县| 六枝特区|