日韩中文字幕久久久97都市激情,久久91网,亚洲天堂最新,国产精品嫩草影院九色,亚洲午夜精品一本二本,精品少妇一区二区三区蜜桃,av一道本

利用順序抖動技術處理數字圖像的方法

文檔序號:7633925閱讀:513來源:國知局
專利名稱:利用順序抖動技術處理數字圖像的方法
技術領域
本發明主要涉及處理數字圖像的技術,更具體地,涉及利用“順序抖動”技術從高分辨率圖像獲得低分辨率圖像的方法。
背景技術
在數字圖像顯示設備上呈現的圖像質量由顯示設備的彩色分辨率和空間分辨率確定。彩色分辨率由存儲圖像元素(像素)所需的比特數量定義,而空間分辨率由顯示設備的像素數量定義。被稱為“真彩色”的典型顯示系統使顯示設備的每一點與直接定義要顯示的顏色的數字值關聯。例如,像素值可由24比特的數字值代表,也就是,每一基色(R、G、B)的強度由8比特代表。
某些應用需要人們將高彩色分辨率的數字圖像轉換為較低分辨率的數字圖像,例如,人們想要利用小型顯示設備和/或想要利用降低尺度的視頻存儲器來存儲定義圖像的數據。各種已知技術利用人眼合并相鄰像素的色調或彩色值以感知中間色調值或顏色的能力,在即使這些情況下也獲得高質量的圖像,但是低彩色分辨率實際存在。這些技術之一,稱為“順序抖動”,對于圖像的每一基色水平,利用僅具有兩個可能強度水平之一的圖像元素代表整個強度值范圍。通過利用預定門限值的二維矩陣[抖動矩陣]檢查圖像來進行一個或另一強度水平的選擇。每一圖像元素值與抖動矩陣的對應門限值相比較,以根據該比較的結果呈現兩個預定值之一。抖動矩陣通常是大小為4×4或者8×8的方陣,重復地將其應用于待處理的圖像,這樣做是要完全覆蓋該圖像。對于構成圖像的所有顏色水平重復相同的操作。
存在很多將順序抖動技術付諸實踐的方法,但是都需要使用復雜的硬件和/或軟件系統。
從而強烈地需要一種盡可能少地需要硬件和/或軟件資源的方法。
該需要通過根據本發明以第一權利要求中通用術語限定的方法和從屬權利要求中說明的一些具體實現方式得到滿足。


本發明通過對于下面一些實現方式的說明將變得更加易于理解,利用示例給出的所述說明參考附圖,其中圖1是表示2×2抖動矩陣配置的示意表示,圖2表示如何從圖1的2×2抖動矩陣獲得4×4抖動矩陣,圖3,5和6是表示實現根據本發明的方法的三種途徑的框圖,圖4示意性地表示如何根據像素位置選擇兩個抖動矩陣的元素,圖7是以通用形式表示根據本發明的方法的框圖,圖8表示分配至圖7框圖中所示參數的值的表格。
具體實施例方式
如上簡述,順序抖動技術需要單色圖像的每一像素值p與門限值t比較。當p<t時,該方法設置p=a,否則p=b,其中a與b是兩個可用強度值。門限值對于每一像素位置可以相等(例如,它可以是算術平均,即兩個值a和b的平均)或者可根據像素位置具有不同的值。在后一種情況下,即根據位置使用抖動技術時,結果較好。
利用由兩個值a和b構成的配置檢查圖像的規則區域,然后移動該規則區域,直到覆蓋整個區域。例如參考圖1,利用由2×2元素形成的配置,其可僅為白色或黑色,可以模擬五個不同的灰度色調(GR_TN)定義在0和1之間的可能的灰度水平的區域,其被劃分為五個間隔(INT),如圖1所示。例如,包括在間隔1/8-3/8的所有灰度水平由色調1/4代表,該1/4色調由從左開始的第二個配置定義??赏ㄟ^利用門限值矩陣將該技術付諸實踐,該門限值矩陣包含間隔上限的規則配置并且定義每一像素位置的門限值。通常間隔是相等的,因此足夠定義像素值序列并且將它們安排至抖動矩陣。就圖1的示例而言,抖動矩陣是圖2中示出的2×2矩陣。作為通用的規則,如果給定n×n矩陣,那么矩陣的值k屬于0與n2-1間包括的整數集合并且與每一值k關聯的門限值從關系式(2k+1)/2n2獲得。為了生成更大的抖動矩陣,可使用遞歸方法,如圖2所示,從根據圖1示例的矩陣開始。
讓我們考慮根據圖3所示的本發明方法的實現形式。假設圖像由RGB(紅色,綠色,藍色)表示的三顏色水平或者通道構成,,并且由A表示的發光度(或者亮度)水平或者通道構成,。對于每一水平,執行在關于水平R的框中表示的算法。此算法通過將由in_value_r表示的8-比特強度輸入值轉換為由Out_r表示的4-比特強度值,實現圖像的順序抖動。
利用相同的n×n元素抖動矩陣處理通道RBA。使用不同的n×n元素抖動矩陣處理通道G(綠色)以考慮人眼對于綠顏色的不同敏感度。優選地,在2與8之間選擇n。
作為示例,下面以表格形式提供了可用于本發明方法的四個抖動矩陣。在表格中range=2bit_in-bit_out-1(其中,bit_in和bit_out分別表示輸入比特數和輸出比特數),elements=dim_Mtx2(其中dim_Mtx表示抖動矩陣的維數),round表示將括號中的表達式舍入至最近整數的運算符,并且每一對位置值(Xvalue,Yvalue),對應矩陣RBA的元素和矩陣G的元素。
2×2抖動矩陣

3*3抖動矩陣


4×4抖動矩陣


8×8抖動矩陣





通過觀察上述表格,可以推斷出,處理G通道的n×n抖動矩陣具有相同的元素,即用于處理RBA通道的各個n×n抖動矩陣的相同門限值,然而在所述矩陣中,用于處理G通道的抖動矩陣的元素的空間分布與用于處理RBA通道的抖動矩陣的元素的空間分布不同。
還要注意,在上述表格中,抖動矩陣的所有元素以參數形式表達,每一所述元素(除了具有零值的元素外)可作為下列參數的函數獲得抖動矩陣的維數、用于輸入數字值的比特數量(即,對應于待經抖動處理的數字圖像彩色分辨率的比特數量)以及用于輸出數字值的比特數量(即,對應于在抖動輸出端提供的數字圖像彩色分辨率的比特數量)。
門限值,即與組成圖像的各個通道像素強度值進行比較的抖動矩陣值,的選擇按照下面參考圖4解釋的方式進行。
定義圖像像素位置的坐標由X和Y表示。通過利用構成表示該位置的二進制數最低m比特的二進制數選擇該矩陣的門限值,其中m取決于所采用的抖動矩陣的維數。例如,當X=110100Y=110001m=3(8×8抖動矩陣)時,每一坐標的最后三比特,x=100y=001,表示矩陣DithermatrixRBA與DithermatrixG的門限值坐標。在此示例中,門限值由至多七比特構成的二進制數(RBA的抖動矩陣值,G的抖動矩陣值)表示。
當使用2×2抖動矩陣時,一比特足夠用于X-坐標并且一比特足夠用于Y-坐標,以尋址門限值。另一方面,對于3×3以及4×4抖動矩陣,需要兩比特用于X-坐標和兩比特用于Y-坐標。
回到圖3的框圖,使用的符號具有下列含義>>i右移i位,即去除最低i位<<i左移i位,即增加i個等于0的最低位>=大于或等于DIFF差分COMP比較MUX復用連線上的4,8,12表示在這些線上發送的二進制數的比特數量。
a和b構成各種功能塊的輸入值的二進制數(通常每一塊不同)。
出于更好地理解圖3中所示算法的目的,考慮根據下例的各種運算是有用的,其中,in_value_r=10101110并且“RBA的抖動矩陣值”=0111。
1.將輸入值In_value_r=10101110左移四位b=1010111000002.在DIFF1中計算b-aa=10101110b=101011100000b-a=1010001100103.b-a(運算2的結果)右移八位10104.將運算3的結果左移四位10100000并且在DIFF2中計算a-b(10101110-10100000)在輸出端的新a1110。
5.在DIFF3中計算a-b(1110-1010)DIFF3輸出端的新a01006.比較DIFF3輸出端的a與“RBA的抖動矩陣值”(=0111)如果大于或等于COMP的輸出=1否則
COMP的輸出=0在此示例中COMP的輸出=07.當操作3的結果(1010)不同于1111(等于十進制計法的15)時結果等于1否則結果等于0該結果引導復用器MUX1進行下列邏輯當它等于1時,選擇運算6的結果,當它等于0時,選擇值0。
在此示例中,結果等于0。
MUX1的輸出引導復用器MUX2。
8.MUX2的邏輯進入值選擇0運算3得到的值(1010)選擇1運算3得到的值增加一個單位(1011);根據運算7的結果(在此示例中等于0)在這兩個值間進行選擇,因此在MUX2的輸出端,我們得到值10109.MUX3的邏輯進入值選擇0in_value_r右移四位(1010)選擇1運算8的結果(1010)根據Enable的值(示例Enable=1,Out_r=1010)在這兩個值間進行選擇。
從抖動矩陣G提取的“G的抖動矩陣值”被用于G通道。
現在我們考慮由圖5表示的根據本發明的方法的第二實現形式。在這種情況下,再一次地,圖像由四個通道(RGBA)構成,并且對于每一通道執行在方框中關于通道R說明的算法。這次該算法通過將八-比特強度值(再一次地由in_value_r表示)轉換為五-比特強度值(再一次地由Out_r表示),執行圖像的順序抖動。
一個相同的n×n元素抖動矩陣用于處理通道RBA,而另一n×n元素抖動矩陣用于通道G。
在圖5中,再次使用具有相同含義的圖3所示的記號與符號。圖5還包含表示求和的記號ADD。
在這種情況下,再一次地,考慮特定示例形式中的各個運算可能是有用的,其中in_value_r=10101110并且“RBA的抖動矩陣值”=0111。
1.計算b-aa=101011100(通過將In_value_r左移一位獲得)b=101011100000000(通過將In_value_r左移七位獲得)在DIFF1的輸出端b-a=1010101101001002.將DIFF1的輸出右移10位結果101013.左移兩位,左移八位,并在ADD中求和10101+1010100+1010100000000=1010101101001。
4.將ADD的輸出右移五位,并且DIFF2中計算a-ba=10101110b=10101011a-b=115.比較。當DIFF2的輸出大于或等于“RBA的抖動矩陣值”時結果等于1,
否則結果等于0。
在此示例中,輸出DIFF2=11并且“RBA的抖動矩陣值”=0111,因此結果等于0。
6.當運算2的結果不同于11111(等于十進制計法的31)時結果等于1,否則結果等于0。
在此示例中,結果等于1。
該結果用于引導復用器MUX1。
MUX1的邏輯在運算6的結果等于一的情況下,選擇運算5的結果。
在運算6的結果等于零的情況下,選擇值0。
在此示例中,運算6的結果等于1,并因此選擇0。
MUX1的輸出用于引導復用器MUX2。
7.MUX2的邏輯進入值選擇0運算2的結果(10101)選擇1運算2的結果增加一個單位(10110)。
根據運算6的結果在這兩個值間進行選擇(在此示例中等于0),因此在MUX2的輸出端,我們得到值10101)。
9.MUX3的邏輯進入值選擇0in_value_r右移三位(10101)選擇1運算7的結果(10101)。
根據Enable的值(示例Enable=1,Out_r=10101)在這兩個值間進行選擇。
從抖動矩陣G提取的“G的抖動矩陣值”被用于G通道。
在由圖6表示的根據本發明的方法的第三實現方式中,圖像類似地由四個通道(RGBA)構造。對于每一通道執行在方框中關于通道R說明的順序抖動算法。在這種情況下,由每通道八比特組成的圖像被轉換為每通道六比特圖像。一個相同的n×n元素抖動矩陣被用于三個通道RBA,而另一n×n元素抖動矩陣被用于通道G。
圖6中使用的記號和符號與圖5中使用的相同。
將參考通道R說明關于特定示例的各種運算。我們考慮輸入強度值in_value_r=10101110并且抖動矩陣值等于0111的情況。
1.在DIFF1中計算a-ba=101011100(通過將in_value_r左移一位獲得)b=1010111000000000(通過將in_value_r左移八位獲得)在DIFF1的輸出端b-a=10101100101001002.在DIFF2中計算a-ba=1010110010100100b=10101110在DIFF2的輸出端a-b=10101011111101103.將DIFF2的輸出右移10位結果1010104.前面運算結果左移兩位和左移八位并且求和結果110101000結果210101000000000在ADD的輸出端,和10101010101000
5.將ADD的輸出右移六位并在DIFF3中計算a-bb=10101010a=10101110在DIFF3的輸出端a-b=1006.比較當DIFF3的輸出大于或等于“RBA的抖動矩陣值”(0111)時結果等于1否則結果等于0。
在此示例中(100小于0111)結果=0。
7.當運算3的結果不同于111111(等于十進制計法的63)時結果等于1否則結果等于0在此示例中(101010?。?1111)結果等于1。
該運算的結果用于引導復用器MUX1。
MUX1的邏輯在運算7的結果等于1的情況下,選擇運算6的結果,在運算7的結果等于0的情況下,選擇值0。
在此示例中,運算7的結果等于1,因此選擇落在值0,這是運算6的結果。
然后MUX1的輸出被用于引導復用器MUX2。
8.MUX2的邏輯進入值選擇零運算3的結果(101010)選擇1運算3的結果增加一個單位(101011);根據運算7的結果在這兩個值間進行選擇(在此示例中等于0),因此在MUX2的輸出端,我們得到值101010。
9.MUX3的邏輯進入值選擇0in_value_r右移兩位(101011)選擇1運算8的結果(101010)。
根據Enable的值(示例Enable=1,Out_r=101010)在這兩個值間進行選擇。
從抖動矩陣G提取的“G的抖動矩陣值”被用于G通道。
上述三種實現形式可由單個布圖(圖7所示)表示,其中各種功能塊由參數控制,這些參數如圖8的表格所示可呈現不同的值。示出的布圖指處理通道R的算法,但對于處理其它通道也有效,在通道G情況下的唯一變化是采用“G的抖動矩陣值”而不是“RBA的抖動矩陣值”。
如圖8表格中所示改變參數,可獲得在圖3、5和6中表示的算法,將八-比特輸入圖像分別轉換為四、五和六比特的輸出圖像。
上述實現形式使用的記號與符號相同,僅增加運算符,由ADD/DIFF表示,這些運算符根據參數(C3)的值(+或-)執行求和或差分功能。
作為一般的規則,可通過比較由應用圖7的算法獲得的低分辨率圖像與由應用作為示例的常規順序抖動方法獲得的等效低分辨率圖像的啟發式方法來選擇這些參數。當然在現階段,必須使用復雜的硬件系統和/或復雜的軟件。但是一旦選定了參數,圖7的算法比其常規的對應方法更有優勢,因為它基于簡單的運算(向右和向左“移位”),這些運算可以非常高速地執行,并且不需要復雜的硬件系統或者復雜的軟件。
權利要求
1.一種用于處理具有第一彩色分辨率并由N×M像素形成的起始圖像,獲得具有第二彩色分辨率的輸出圖像的順序抖動方法,所述第二分辨率小于所述第一彩色分辨率,所述起始圖像適于被分解為分別為R(紅色)、B(藍色)和G(綠色)的三彩色通道以及亮度通道(A),所述方法包括以下步驟-預先安排第一和第二抖動矩陣,每一所述矩陣包括以j行和j列排列的多個門限值,其中j小于N和M,-向該起始圖像的R、B和A通道重復應用該第一抖動矩陣并向該起始圖像的G通道重復應用該第二抖動矩陣,以比較組成所述通道的像素的每一的值與屬于各個抖動矩陣的所選各個門限值;其中所述第一與第二抖動矩陣包括相同的門限值,所述門限值在所述兩個矩陣中具有不同的空間分辨率。
2.根據權利要求1的所述順序抖動方法,所述第一和第二抖動矩陣的所述門限值中的每一可表達為下列參數的函數抖動矩陣的維數,定義所述起始圖像彩色分辨率的比特數量以及定義所述輸出圖像彩色分辨率的比特數量。
3.根據權利要求1的所述順序抖動方法,包括以下步驟-向起始圖像的通道的每一像素值施加由圖7的示意布圖表示的算法,以獲得輸出圖像的各個通道的像素值,其中in_value_r表示起始圖像的待處理像素值,Out_r表示輸出圖像的像素值,并且“抖動矩陣值”表示從正在被處理的特定像素的抖動矩陣中選擇的門限值,->>n與<<n分別表示從二進制輸入數字截短最低n位形成所述截短運算的運算以及向該二進制輸入數字增加n位零值作為最低位的運算,-+和-分別表示求和與相減的運算,-塊MUX表示復用運算,->=表示比較運算,-!=具有“不同于”的含義,并且其中C1-C5和n1-n10是參數,可根據利用上述步驟獲得的輸出圖像與具有所述輸出圖像的相同彩色分辨率并利用樣本方法獲得的等效圖像之間的比較,利用預定標準選擇這些參數。
4.根據權利要求3的所述方法,其中參數C1-C5和n1-n10呈現下表中所示的值,
其中“8至6”,“8至5”以及“8至4”表示由八-比特像素構成的圖像分別轉換至六-比特,五-比特以及四-比特圖像,其中與參數C3關聯的符號+或-表示在應用參數C3的塊中執行的運算分別是求和或者差分。
5.根據權利要求1的所述順序抖動方法,其中針對起始圖像中具有坐標X,Y的每一像素,通過利用以對應數字值表示所述X和Y坐標獲得的m個最低位,從所述矩陣之一選擇所述各自的門限值,其中m是整數,其取決于所述抖動矩陣的所述之一的維數。
全文摘要
應用順序抖動方法,以降低由通道R(紅色)、G(綠色)、B(藍色)表示的圖像的彩色分辨率,因此提供第一與第二抖動矩陣,它們包括相同的門限值,但以不同的空間分布排列。第一抖動矩陣應用于R、B和A通道,而第二抖動矩陣應用于G通道。
文檔編號H04N7/26GK1969534SQ200580005377
公開日2007年5月23日 申請日期2005年2月16日 優先權日2004年2月18日
發明者皮耶爾·路易吉·加爾代拉, 馬西米利亞諾·巴羅內, 加里·斯威特, 達尼洛·帕烏, 斯蒂芬·希爾, 西蒙·戈達 申請人:St微電子公司, St微電子有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1