專(zhuān)利名稱(chēng):一種用于圖像顯示的抖動(dòng)算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于圖像顯示的抖動(dòng)算法。
背景技術(shù):
從最簡(jiǎn)單的意義上講,抖動(dòng)是通過(guò)混合各種顏色,使用戶(hù)在屏幕上看到實(shí)際并不存在的顏色。通常的抖動(dòng)是指,對(duì)灰度圖像經(jīng)過(guò)抖動(dòng)處理后所形成的二值圖像能夠模擬原始圖像灰度的變化,從而使人眼能感受到灰度的連續(xù)變化。
早期的抖動(dòng)技術(shù)是用一組黑白點(diǎn)的陣列來(lái)代替原始圖像中的一個(gè)灰度像素,而用白點(diǎn)的多少反映該像素的灰度等級(jí),此方法實(shí)質(zhì)上是用空間換取灰度級(jí)的。隨著應(yīng)用的擴(kuò)展,這項(xiàng)技術(shù)目前已經(jīng)應(yīng)用到了彩色數(shù)字圖像的顯示。
但是上述的抖動(dòng)技術(shù)存在這樣一個(gè)問(wèn)題即一個(gè)像素可供使用的位數(shù)的物理限制,使得其對(duì)一種特定顏色不能以足夠的深度加以顯示,因此產(chǎn)生大量的抖動(dòng)算法用以補(bǔ)償截?cái)嗾`差,最有名的算法如Floyd-Steinberg抖動(dòng)算法、有序抖動(dòng)算法、Stucki抖動(dòng)算法、Burkers抖動(dòng)算法、Sierra抖動(dòng)算法等等,美國(guó)專(zhuān)利5479594和中國(guó)專(zhuān)利1489758A都給出了類(lèi)似的抖動(dòng)方法和裝置。
但是上述所有的已知抖動(dòng)算法不是太復(fù)雜,就是需要大量存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器,消耗過(guò)多的硬件資源,導(dǎo)致成本大大提高,增加不必要的開(kāi)支。
發(fā)明內(nèi)容
本發(fā)明提供的一種用于圖像顯示的抖動(dòng)算法,可將多位寬的輸入像素值轉(zhuǎn)換成較少位寬的輸出值,計(jì)算過(guò)程簡(jiǎn)單,計(jì)算速度快。
為了達(dá)到上述目的,本發(fā)明提供了一種用于圖像顯示的抖動(dòng)算法,其包含以下步驟步驟1、輸入該圖像當(dāng)前像素的像素值In(x,y),其中x和y分別表示該像素在數(shù)字圖像中所處的行數(shù)和列數(shù);
步驟2、讀取該點(diǎn)像素的輸入像素值的比特?cái)?shù)n,設(shè)定該點(diǎn)像素的輸出像素值的比特?cái)?shù)為m,并將該輸入像素值的高m位的數(shù)值賦值給B;步驟3、令k=n-m,k表示該輸入像素值被截掉的低位比特?cái)?shù),并將該輸入像素值的低k位的數(shù)值賦值給A;步驟4、令i=mod(x,k),通過(guò)取余函數(shù),將x除以k得到的余數(shù)賦值給i;令j=mod(y,k),通過(guò)取余函數(shù),將y除以k得到的余數(shù)賦值給j;步驟5、將計(jì)算得到的i和j作為行數(shù)和列數(shù),在預(yù)先固定的閾值矩陣中映射讀取對(duì)應(yīng)位置的值F(i,j);步驟6、將A值與F(i,j)值相加,取進(jìn)位值并賦值給C;步驟7、令D=B+C;步驟8、判斷計(jì)算得到的D的值是否大于預(yù)先設(shè)定的最大值MAX,如果是,則輸出MAX值作為該點(diǎn)像素的輸出像素值;如果否,則輸出D值作為該點(diǎn)像素的輸出像素值;步驟9、判斷是否已經(jīng)對(duì)數(shù)字圖像所有的像素統(tǒng)計(jì)完畢,如果否,則按順序繼續(xù)遍歷數(shù)字圖像的下一個(gè)像素,并返回循環(huán)執(zhí)行步驟1~步驟9;如果是,則結(jié)束。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,步驟1中,可輸入圖像像素的R、G、B的分量值進(jìn)行處理,不會(huì)對(duì)圖像產(chǎn)生任何模糊邊緣的影響。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,步驟6中,得到的進(jìn)位值C為0或1。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,步驟9中,可按先行后列,或先列后行的順序遍歷到圖像的所有像素。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,將多位寬的輸入像素值轉(zhuǎn)換成較少位寬的輸出值,計(jì)算過(guò)程簡(jiǎn)單,計(jì)算速度快,適用于高速的數(shù)字圖像處理,可應(yīng)用于各種數(shù)字顯示器或液晶顯示器。
圖1是本發(fā)明提供的用于圖像顯示的抖動(dòng)算法的流程圖。
具體實(shí)施例方式
以下根據(jù)圖1來(lái)具體說(shuō)明本發(fā)明的一種最佳實(shí)施方式如圖1所示,是本發(fā)明提供的用于圖像顯示的抖動(dòng)算法的流程圖,其包含如下步驟步驟1、輸入該圖像當(dāng)前像素的像素值In(x,y),其中x和y分別表示該像素在數(shù)字圖像中所處的行數(shù)和列數(shù);步驟2、讀取該點(diǎn)像素的輸入像素值的比特?cái)?shù)n=8,設(shè)定該點(diǎn)像素的輸出像素值的比特?cái)?shù)為m=6,并將該輸入像素值的高m位,即高6位的數(shù)值賦值給B;步驟3、令k=n-m=2,k表示該輸入像素值被截掉的低位比特?cái)?shù),并將該輸入像素值的低k位,即低2位的數(shù)值賦值給A;步驟4、令i=mod(x,2),通過(guò)取余函數(shù),將x除以2得到的余數(shù)賦值給i;令j=mod(y,2),通過(guò)取余函數(shù),將y除以2得到的余數(shù)賦值給j;步驟5、將計(jì)算得到的i和j作為行數(shù)和列數(shù),在預(yù)先固定的閾值矩陣中映射讀取對(duì)應(yīng)位置的值F(i,j),該閾值矩陣是一個(gè)大小為2×2的矩陣;步驟6、將A值與F(i,j)值相加,取進(jìn)位值并賦值給C,C的值一般為1或0;步驟7、令D=B+C;步驟8、判斷計(jì)算得到的D的值是否大于預(yù)先設(shè)定的最大值MAX,如果是,則輸出MAX值作為該點(diǎn)像素的輸出像素值;如果否,則輸出D值作為該點(diǎn)像素的輸出像素值;步驟9、判斷是否已經(jīng)對(duì)數(shù)字圖像所有的像素統(tǒng)計(jì)完畢,如果否,則按順序繼續(xù)遍歷數(shù)字圖像的下一個(gè)像素,并返回循環(huán)執(zhí)行步驟1~步驟9;如果是,則結(jié)束。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,步驟1中,可輸入圖像像素的R、G、B的分量值進(jìn)行處理,不會(huì)對(duì)圖像產(chǎn)生任何模糊邊緣的影響。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,步驟6中,得到的進(jìn)位值C為0或1。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,步驟9中,可按先行后列,或先列后行的順序遍歷到圖像的所有像素。
本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,將8位比特寬的輸入像素值轉(zhuǎn)換成6位比特寬的輸出值,計(jì)算過(guò)程簡(jiǎn)單,計(jì)算速度快,適用于高速的數(shù)字圖像處理,可應(yīng)用于各種數(shù)字顯示器或液晶顯示器。
權(quán)利要求
1.一種用于圖像顯示的抖動(dòng)算法,特征在于,其包含以下步驟步驟1、輸入該圖像當(dāng)前像素的像素值In(x,y),其中x和y分別表示該像素在數(shù)字圖像中所處的行數(shù)和列數(shù);步驟2、讀取該點(diǎn)像素的輸入像素值的比特?cái)?shù)n,設(shè)定該點(diǎn)像素的輸出像素值的比特?cái)?shù)為m,并將該輸入像素值的高m位的數(shù)值賦值給B;步驟3、令k=n-m,k表示該輸入像素值被截掉的低位比特?cái)?shù),并將該輸入像素值的低k位的數(shù)值賦值給A;步驟4、令i=mod(x,k),通過(guò)取余函數(shù),將x除以k得到的余數(shù)賦值給i;令j=mod(y,k),通過(guò)取余函數(shù),將y除以k得到的余數(shù)賦值給j;步驟5、將計(jì)算得到的i和j作為行數(shù)和列數(shù),在預(yù)先固定的閾值矩陣中映射讀取對(duì)應(yīng)位置的值F(i,j);步驟6、將A值與F(i,j)值相加,取進(jìn)位值并賦值給C;步驟7、令D=B+C;步驟8、判斷計(jì)算得到的D的值是否大于預(yù)先設(shè)定的最大值MAX,如果是,則輸出MAX值作為該點(diǎn)像素的輸出像素值;如果否,則輸出D值作為該點(diǎn)像素的輸出像素值;步驟9、判斷是否已經(jīng)對(duì)數(shù)字圖像所有的像素統(tǒng)計(jì)完畢,如果否,則按順序繼續(xù)遍歷數(shù)字圖像的下一個(gè)像素,并返回循環(huán)執(zhí)行步驟1~步驟9;如果是,則結(jié)束。
2.如權(quán)利要求1所述的用于圖像顯示的抖動(dòng)算法,其特征在于,步驟1中,可輸入圖像像素的R、G、B的分量值。
3.如權(quán)利要求1所述的用于圖像顯示的抖動(dòng)算法,其特征在于,步驟6中,所述的進(jìn)位值C為0或1。
4.如權(quán)利要求1所述的用于圖像顯示的抖動(dòng)算法,其特征在于,步驟9中,可按先行后列,或先列后行的順序遍歷到圖像的所有像素。
全文摘要
本發(fā)明提供一種用于圖像顯示的抖動(dòng)算法,包含以下步驟將當(dāng)前像素的輸入像素值中被截掉的低k位的值與預(yù)先固定的閾值矩陣中對(duì)應(yīng)位置的值相加,取進(jìn)位值,再將該進(jìn)位值與輸入像素值中的高m位的值相加,若相加得到的值大于預(yù)先設(shè)定的最大值,則輸出該最大值為當(dāng)前像素的輸出像素值,若相加得到的值小于預(yù)先設(shè)定的最大值,則輸出該相加值為當(dāng)前像素的輸出像素值;依此,遍歷整個(gè)圖像,對(duì)所有像素完成上述操作。本發(fā)明提供的用于圖像顯示的抖動(dòng)算法,將多位寬的輸入像素值轉(zhuǎn)換成較少位寬的輸出值,計(jì)算過(guò)程簡(jiǎn)單,計(jì)算速度快,適用于高速的數(shù)字圖像處理。
文檔編號(hào)H04N5/202GK1767595SQ20051002952
公開(kāi)日2006年5月3日 申請(qǐng)日期2005年9月8日 優(yōu)先權(quán)日2005年9月8日
發(fā)明者陳柏欽, 侯鋼, 王國(guó)中 申請(qǐng)人:上海廣電(集團(tuán))有限公司中央研究院