專利名稱:圖像縮放方法和設備的制作方法
技術領域:
本申請案涉及圖像處理,且更明確地說,涉及圖像縮放。
背景技術:
用于視頻應用的圖像傳感器可對場景進行取樣。圖像處理技術可提供高質量、彩色 靜止或視頻圖像。圖像處理技術的實例包含色彩校正、去馬賽克和縮放。圖像處理可改 進視覺圖像質量屬性,例如色調再現、色彩飽和度、色度再現和銳利度。
發明內容
一個方面涉及一種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中 N大于M。所述方法包括相對于輸出樣本的相位對輸入樣本進行縮放;使經縮放的樣 本與前面輸入樣本的平均值相加以提供總和;基于經縮放樣本和前面輸入樣本的縮放而 使所述總和規格化,以實現單位增益;基于經規格化的總和,產生輸出樣本;以及使用 對應于輸出樣本的相位延遲的縮放將所述總和初始化為經縮放的輸入樣本的經縮放型 式。
另一方面涉及一種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中 N大于M。所述方法包括求第一組圖像數據輸入樣本的總和,其中所述第一組包括至少 一個第一分數圖像數據輸入樣本;使經求和的第一組圖像數據輸入樣本除以分數以產生 第一輸出樣本;求第二組圖像數據輸入樣本的總和,其中所述第二組包括至少一個第二 分數圖像數據輸入樣本;以及使經求和的第二組圖像數據輸入樣本除以所述分數以產生 第二輸出樣本。
另一方面涉及一種方法,所述方法包括用M/N濾波器來縮小第一組圖像數據,其 中N表示輸入樣本的數目,且M表示輸出樣本的數目,其中N大于M;以及用相控 M/N濾波器來縮小第二組圖像數據。
另一方面涉及一種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中 N大于M。所述方法包括使計數器遞增M;使相位遞增(K〈Qs),其中Qs表示相位中 分數位的數目;確定所述計數器是否大于或等于N;如果所述計數器不大于或等于N,那么更新accum:accum + (輸入《Qs)和步長步長+(l Qs);如果計數器大于或等于 N,那么計算輸出相位=相位-相位—輸出,Dl =相位>>(31, D2 = (1《Qs) - Dl且步長= 步長+D2,其中Ql表示相位縮放的Q格式,相位—輸出表示(N/M)"1《Q1);計算輸出 樣本=(^011!1 + (輸入*02))/步長;以及復位accum二D"輸入,步長-Dl,計數=計數-N。
另一方面涉及一種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中
N大于M。所述方法包括使計數器遞增M;確定所述計數器是否大于或等于N;如果
所述計數器不大十或等于N,那么更新accum = accum + (輸入《(>)和步長=步長+ (l Qs),其中Qs表示相位中分數位的數冃;如果計數器大于或等于N,那么計算輸 出相位=(計數-N"l, Dl =相位>>01, D2 = (l Qs) - Dl和步長=步長+D2,其中Ql 表示相位縮放的Q格式;計算輸出樣本-(accum + (輸入+D2))/步長;以及復位accum = DP輸入,步長二Dl,計數計數-N。
另--方面涉及一種設備,所述設備包括濾波器,其操作以將圖像數據從N個輸入樣 本縮小到M個輸出樣本,其中N大于M。所述濾波器經配置以相對于輸出樣本的相 位而縮放輸入樣本;使經縮放的樣本與前面輸入樣本的平均值相加以提供總和;基于所 述經縮放樣本和前面輸入樣本的縮放而使所述總和規格化,以實現單位增益;基于所述 經規格化的總和,產生輸出樣本;以及使用對應于輸出樣本的相位延遲的縮放而將所述 總和初始化為經縮放的輸入樣本的經縮放型式。
另一方面涉及一種設備,所述設備包括用于相對于輸出圖像數據樣本的相位而縮 放輸入圖像數據樣本的裝置;用于使經縮放的樣本與前面輸入柞本的平均值相加以提供 總和的裝置;用于基于所述經縮放樣本和前面輸入樣本的縮放而使所述總和規格化以實 現單位增益的裝置用于基于所述經規格化的總和而產生輸出樣本的裝置;以及用于使 用對應于所述輸出樣本的相位延遲的縮放來使所述總和初始化為所述經縮放輸入樣本 的經縮放型式的裝置。
另一方面涉及一種設備,所述設備包括機器可讀存儲媒體,其存儲一組指令,所述 指令可操作以將圖像數據從N個輸入樣本縮小到M個輸出樣本,其中N大于M。所述 指令包括求第一組圖像數據輸入樣本的總和,其中所述第一組包括至少一個第一分數 圖像數據輸入樣本;使經求和的第一組圖像數據輸入樣本除以分數以產生第一輸出樣 本;求第二組圖像數據輸入樣本的總和,其中所述第二組包括至少一個第二分數圖像數 據輸入樣本;以及使經求和的第二組圖像數據輸入樣本除以所述分數以產生第二輸出樣 本。另一方面涉及一種設備,所述設備包括可配置圖像縮放器,所述可配置圖像縮放器 操作以用M/N濾波器來縮小第一組圖像數據,其中N表示輸入樣本的數目,且M表 示輸出樣本的數目,其中N大于M;且用相控M/N濾波器來縮小第二組圖像數據。
另一方面涉及一種設備,所述設備包括機器可讀存儲媒體,所述機器可讀存儲媒體 存儲一組指令,所述指令可操作以將圖像數據從N個輸入樣本縮小到M個輸出樣本, 其中N大于M。所述指令包括使計數器遞增M;使相位遞增(K〈Qs),其中Qs表示 相位中分數位的數目;確定所述計數器是否大于或等于N;如果所述計數器不大于或等 于N,那么更新accun^accum + (輸入《Qs)和步長步長+(l《Qs);如果計數器大于或 等于N,那么計算輸出相位=相位-相位—輸出,D1:相位》Q1, D2 = (l Qs)-Dl和步 長=步長+ D2,其中Ql表示相位縮放的Q格式,相位—輸出表示(N/M"(1《Q1):計算 輸出樣本=(accum + (輸入^D2))/步長;以及復位accum = DP輸入,步長-Dl,計數=計 數-N。
另一方面涉及一種設備,所述設備包括機器可讀存儲媒體,其存儲一組指令,所述 指令可操作以將圖像數據從N個輸入樣本縮小到M個輸出樣本,其中N大于M。所述
指令包括使計數器遞增M;確定所述計數器是否大于或等于N;如果所述計數器不人
于或等于N,那么更新accum = accum + (輸入《(^)和步長=步長+(l Qs),其中Qs表 示相位中分數位的數目;如果計數器大于或等于N,那么計算輸出相位=(計數^)*1, Dl =相位》(^1, D2 = (l Qs)-Dl和步長-步長+D2,其中Ql表示相位縮放的Q格式; 計算輸出樣本=(accum + (輸入*02))/步長;以及復位accum = D"輸入,步長=01,計 數=計數-N。
在附圖和下文的描述內容中陳述一個或一個以上實施例的細節。
圖1說明經配置以處理數字圖像的設備。
圖2說明使用M/N濾波器的實例,其可由圖1的設備實施。
圖3說明使用相控M/N濾波器的實例,其可由圖l的設備實施。
圖4說明子取樣比率和樣本延遲差異。
圖5說明樣本間差異的實例。
圖6說明可由圖1的設備執行的相控M/N濾波方法。 圖7A說明圖6的相控M/N濾波方法的更詳細實施方案。 圖7B說明圖7A的實施方案的另一實施例。圖8說明相控M/N濾波器,其可在圖l的設備中實施。
圖9說明對應于圖6的結構。
圖10A說明對應于圖7A的結構。
圖10B說明對應于圖7B的結構。
具體實施例方式
圖1說明經配置以處理數字圖像和/或數字視頻的設備100。設備100可捕獲、創建、
處理、修改、縮放、編碼、解碼、傳輸、存儲和顯示圖像和/或視頻序列。設備100可表
示裝置或在裝置中實施,所述裝置例如是數字電視機、數字直播系統、無線通信裝置、
個人數字助理(PDA)、膝上型計算機、桌上型計算機、數碼相機、數字記錄裝置、具 有網絡功能的數字電視機、蜂窩式電話、衛星電話、基于陸地的無線電話、直接雙向通 信裝置(有時被稱為"對講機")或任何其它具有圖像處理能力的裝置。
設備100可包含傳感器101、圖像處理單元110、收發器130和顯示器和/或輸出端 120。傳感器101可以是適合于捕獲圖像或視頻序列的相機或視頻相機傳感器。所述傳 感器可包含布置在個別傳感器的表面上的彩色濾光片陣列(CFA)。
圖像處理單元IIO可包含處理器102、其它硬件U4和存儲單元104。存儲單元104 可存儲處理之前和之后的圖像或視頻序列。存儲單元104可包含易失性存儲裝置106和 非易失性存儲裝置108。存儲單元104可包括任何類型的數據存儲裝置,例如動態隨機 存取存儲器(DRAM)、快閃存儲器、"或非(NOR)"或"與非(NAND)"門存儲器或 任何其它數據存儲技術。
圖像處理單元110可處理圖像和/或視頻序列。圖像處理單元UO可包括用于移動無 線電話的芯片集,其可包含硬件、軟件、固件和/或一個或一個以上微處理器、數字信號 處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或其各種組合。
處理單元110可包含耦合到前端圖像/視頻處理單元和圖像/視頻編碼單元的局部存 儲器。所述編碼單元可包括用于對數字視頻數據進行編碼(或壓縮)和解碼(或解壓縮) 的編碼器/解碼器(CODEC)。局部存儲器可包括相對于存儲單元104更小且更快的存儲 器空間。舉例來說,局部存儲器可包括同步動態隨機存取存儲器(SDRAM)。局部存儲 器可包括與處理單元IIO的其它組件集成的"芯片上"存儲器,以在處理器密集型編碼 過程期間提供對數據的快速存取。
圖像處理單元IIO可對視頻序列的幀執行一種或一種以上圖像處理計數以改進圖像 質量,且從而改進視頻序列的質量。舉例來說,圖像處理單元IIO可執行例如去馬賽克、透鏡消散校正(lens rolloff correction)、縮放、色彩校正、色彩轉換和空間濾波的技術。 圖像處理單元UO還可執行其它技術。
收發器130可接收經編碼的圖像或視頻序列且/或將經編碼的圖像或視頻序列傳輸 到另一裝置。收發器130可使用無線通信標準,例如碼分多址(CDMA)。 CDMA標準 的實例包含CDMA、 lxEV-DO、 WCDMA等。
除圖1所示的元件之外或代替圖1所示的元件,設備100中可包含其它元件。圖l 中所說明的結構僅僅是實例。可用多種其它結構來實施本文所描述的技術。
齢
縮小圖像出于若干原因可能有用。第一,縮小減少了存儲在存儲器中且/或由硬件中 隨后的圖像處理模塊處理的數據量。第二,對于來自待顯示在液晶顯示器(LCD)上的 圖像傳感器的數據可能需要縮小。最后,縮小圖像可用于變焦支持以將圖像的大小調整 成所需的圖片大小。
到達縮小模塊的輸入可以是紅色、綠色、藍色(R、 G、 B)或亮度和色度(Y、 Cb、 Cr)通道。對于RGB數據來說,個別通道可每一者具有相同的大小(R圖像大小二G 圖像大小二B圖像大小)。對于YCbCr數據來說,通道大小可不同。縮放模塊可用于不 同模式,例如取景器模式和捕獲模式。所述模塊可支持處理整個幀(對于取景器模式) 和/或處理個別R塊(對于捕獲模式)。縮放比率設置可針對區塊處理被配置一次,以減 小編程頻率。水平和垂直縮小比率可以是1個輸出樣本對32個輸入樣本,以支持水平 縮放中用于3MP傳感器輸入(2048X1600)的最小取景器大小(80X48),即(2048/80 =25.6),以及垂直縮放中用于8MP傳感器輸入(3264X2448)的最小拇指甲大小(48 X80),且(2448/80 = 30.6)。
M/N濾波器
-種用于縮小圖像的技術使用M/N計數器。N表示輸入像素(或樣本),且M表示 輸出像素(或樣本)。M/N計數器針對每一輸入像素(或樣本)遞增M,且在N處轉返。 像素是每一轉返點處的輸出。理想的是,M和N應為相對質數。M/N計數器的偽代碼
可表達為
count = 0; while (1) { if (count >= n) count = count - n;else
count = count + m;
此計數器的一些特性可包含 計數序列以周期N呈周期性; 轉返點在一個周期內均勻分布;以及
一個周期內存在M個轉返點。
這些特性使得此計數器對于非整數圖像小型化操作(例如,M/N=2/5)來說具有吸 引力。以下代碼描述如何使用M/N計數器來實現非整數圖像小型化。所述實例只在水平 方向上執行小型化,爐.可在垂直方向上類似地進行所述過程。
M=新分辨率中水平像素的數目; N=舊分辨率中水平像素的數目; for (x=0; x < N; x++) {
count = count + M;
if (count >=N) {
new—line [index] = (accum + original—line[x])/step;
accum = 0;
index++;
count = count -N; step 二 1; } else {
accum = accum + original—line[x]; step++;
基本上,當N/M是非整數(例如,N/M = 5/2)時,經縮小的M個值中的每一者被 計算為輸入的「7V/M,個值或輸入的L^/M」個值的平均值,其中「^表示上限或大于x的
最小整數,且^」表示下限或小于x的最大整數。舉例來說,如果N=5且M=2,那么 N/M = 5/2 = 2.5,上限(N/M)-3,且下限(N/M):2。更具體地說,將N個值映射到輸入 的「yV/M,個值的re/^Awv^個區塊和輸入的L^/M」個值的M-^n〖W/M〗個區塊中,即總共有M個非重疊的連續區塊。項^m(;c/;y〗表示整數x與y之間的除法的余數。求這M個區 塊中的每一者的平均值,以針對輸入的每N個值得出輸出的M個值。以下等式進一步 展示N如何分布到M個區塊'11。
TV = (rem(7V / A/ )〖/V / M1 + (M - rem(iV / M ))[iV / M」
圖2說明使用M/N濾波器的實例,其可由圖1的設備IOO來實施。在圖2中,M = 2且N = 5,但M和N可使用其它值。3和5處的"X"表示兩個所需輸出樣本的位置(相 位)。計數在0處開始,接著以M遞增到2、 4和6。當計數(例如,6)人于或等于N (其為5)時,第一輸出被確定。第一輸出等于(A+B+C)/3。使計數復位到1,且接著以 M遞增到3和5。當計數(例如,5)再次大于或等于N時,第.一.輸出被確定,其等于 (D+E)/2。
在圖2中,"相位增加"(還稱為取樣周期,其對應于取樣速率)針對樣本3處的第 一輸出樣本為"3",且針對樣本5處的第二輸出為"2"。所述相位不是恒定的。非恒定 的相位或速率可導致抖動(不均勻的線)或視覺上不合需要的經縮放圖像。在一些應用 中可能需要恒定的相位。
當設計最佳圖像子取樣(縮小)算法時,可考慮許多參數。當設計子取樣系統時, 以下特性可能是重要的阻帶抑制或混淆的能量(可能在相關的頻帶中混淆的能量); 下降(在通帶中波動);以及系統的相位響應(即,輸出樣本上不相等的群延遲)。當使 用簡化的子取樣方法(即,M/N濾波)時,系統的相位響應成為一個問題。
設計過程可能進一步復雜,因為傅立葉分析不能"按現狀"用于描繪系統性能。縮 放算法的實施方案(軟件和/或硬件)可對存儲器消耗(分接頭的數目)和復雜性強加限 制。
以下描述內容分析M/N濾波器,且接著引入可在M/N濾波結果并不得出所需質量 的情況下使用的新方法。
M/N濾波器(M<N)以產生從N個樣本中求平均的M的比率來產生上限(N/M) 和下限(N/M)的平均值。舉例來說,如果N:5且M-2,那么N/M = 5/2 = 2.5,上限 (N/M) =3,且下限(N/M) =2。 M/N濾波器代表有吸引力的硬件解決方案,因為其逐 狀態地對應于一個分接頭的濾波器(一個樣本保持器或累加器)。M/N濾波器可提供非 常高效且合理的質量子取樣方案,尤其針對子取樣比率遠小于1時的情況。
當求不同數目個元素的平均值(例如,針對第一輸出求3個元素的平均值,且接著 針對圖2屮的第二輸出求2個元素的平均值)時,應考慮兩個重要結果從不同平均值獲得輸出的不同混淆能量(阻帶抑制);以及從不同平均值獲得的輸出的不同樣本(相 位)延遲。如果N/M為整數(例如,1/1、 1/2、 1/3、…、1/n的子取樣速率M/N),那 么只產生-個平均值,且M/N濾波器接著在阻帶頻率(例如,低通濾波器)和相位差異 方面具有相同的抑制(針對所有樣本)。
對于產生為(M1+M2)/(N1+N2)的子取樣速率,其中指數對應于來自上文所述的列表 的兩個鄰近頻率,即2/3、 2/5、…、2/(2*n+l),阻帶抑制并非在所有樣本上都均勻,但 相位差異是相同的。就M/N二^的輸出取樣速率來說,相位抖動(輸出相位不是恒定的)
可說明如下
<formula>formula see original document page 14</formula>
樣本延遲(其應為4/3T)針對相同情況現為T,且針對其它情況為1.5T。"安全" 子取樣比率或頻率(具有恒定樣本延遲,即恒定輸出相位的子取樣比率或頻率)和樣本 延遲差異在圖4中相對于子取樣速率(即,M/N比率)而展示。
基于較低數目的平均符號(即,針對子取樣比率j^到l)而使樣本延遲差異規格化,
使用一個或兩個樣本的平均值來產生輸出序列。由于樣本的較小的數字為1,所以使用 1來使0.5個樣本延遲規格化。
接著針對以恒定的相位差異非常接近于其它子取樣比率的子取樣比率,出現一個問 題連續多次選擇兩個平均值中的一者,而使用另一平均值一次。這在圖5中展示,圖 5說明樣本間差異的實例,其出于說明的目的具有M/N = 6/7的子取樣。樣本延遲如果 發生在45度線處,那么可能導致可見缺陷。離"安全"頻率越近,缺陷就越看得見。盡管針對除了一些樣本處的1、 %、 1/3等之外的子取樣速率觀察到不同的阻帶抑
制,但阻帶抑制并不足夠,其不可能是不可見的。對于子取樣比率1/Q(Q不必是整數), 如果使用Q個樣本來獲得平均值且接著輸出所述平均值,那么所得的帶通濾波器是在 1/(^Fs/2處具有第一個零的正弦濾波器。如果Q不是整數,那么兩個正弦濾波器交替 1/卜.限(Q"Fs/2禾Q 1/卜限(Q"Fs/2。 線性內插
對于M/N濾波器,取樣差異針對1到)^子取樣比率間隔可能是最差的。在所述間
隔中,使用l個和2個樣本的平均總和。線性內插可通過利用圍繞輸出樣本時間的樣本 來提供有效解決方案。線性內插求兩個樣本的平均值。線性內插產生均勻的樣本延遲, 且提供固定的最大阻帶抑制,其獨立于縮放比率(即,低通濾波器的恒定最大截止頻率)。 舉例來說,正規M/N濾波器針對1到%游比率使用
;y(w) = fcx〖w -1) + (1 - A:);c(nJ
其中k為0或X。線性內插針對k使用某一范圍的值(基于實施方案),且實現可
比較的阻帶抑制(平均),同時維持恒定相位(或取樣速率)。線性內插針對1到^的 子取樣比率提供視覺上更令人愉悅的結果。但線性內插可能不支持非常小的縮放比率 (例如,小于7/2)(或對非常小的縮放比率來說可能不合需要)。
在圖4中,即使在較低的子取樣比率下也存在顯著的樣本延遲差異。舉例來說,對
于在%到1/3范圍內的子取樣比率,樣本延遲差異為0.33個(經規格化的)樣本。線
性內插將提供恒定的樣本差異,但在阻帶中將不具有足夠的抑制,因為線性內插只使用 兩個最靠近輸出樣本延遲的樣本。將線性內插修改為三次的以便包含更多樣本將需要保 存兩個最后樣本而不是一個,這可能使得硬件實施方案低效。 相控M/N濾波
為了從M/N濾波的平均化質量中獲益且實現與線性內插相關聯的更恒定的樣本延 遲,引入相控M/N濾波器,月.用圖l、圖3和圖6到圖8來描述所述相控M/N濾波器。
圖8說明相控M/N濾波器800,其可被實施在圖1的設備100中。相控M/N濾波 器可像正規M/N濾波器那樣工作,有王個例外或差異,如圖6中所示。
圖6說明可由圖1的設備執行的具有這三個例外的方法。在框600中,相控M/N濾波器800相對于輸出樣本的相位對最后一個輸入樣本進行縮放(以與前面的輸入樣本 的平均值相加以提供總和)。這實現了使用M/N濾波器對可能已經存在于兩個輸出樣本 之間的相位差異的控制。在框602中,相控M/N濾波器800基于對參與樣本(經縮放的 樣本和前面的輸入樣本)的縮放而將輸入總和規格化,以實現單位增益。在框604中, 在輸出輸出樣本之后,用對應于最后一個輸出樣本的相位延遲的縮放將所述總和初始化 為最后一個輸入樣本的經縮放型式。這些操作可隨著圖3、圖7A和圖7B在下文被描述 而更加明顯。
圖3說明使用相控M/N濾波器的實例,其可由圖1的設備IOO實施。在圖3中,M 二2且N:5,但可對M使用任何值,且可對N使用任何值。2.5和5處的"X"表示兩 個所需輸出樣本的位置(相位)。2.5表示分數(非整數)相位,其可由軟件編程。A、 B、 C、 D和E表示輸入樣本值。第一輸出(在2.5處)等于(A + B + 1/2C)/(1 + 1 + 1/2),其
表示2.5樣本平均值。除法計算類似于M/N濾波器。XC表示加權輸入值。
第二輸出(在5處)等于()^€ + 0 + £)/(1/2+ 1 + 1),其勺第一輸出具有類似的相
位(2.5)。此恒定相位(2.5)類似線性內插。
以下C代碼序列表示相控M/N濾波器的實例。
M=新分辨率中水平像素的數目; N=舊分辨率中水平像素的數目; PHASE—Q—BITS = 3; 〃相位中分數位的數目 Ql = 12;〃相位縮放的Q格式
SI = 1.0/M * (1<<(Q1+ PHASE—Q_BITS)); 〃相位縮放
for (x = 0; x < N; x++) { count = count + M; if (count >=N) {
dl = count - N;
dl=dl *S1;
dl = dl》Ql;
d2 = (1 PHASE—Q—BITS)-dl; step += d2;new—line[index] = (accum + (original_line[x]*d2))/step; accum = dl* original—line [x]; 〃 "accum"保存輸出樣本 index++;
count = count -N; step = dl; else {
accum = accum + (original—line[x]《PHASE—Q—BITS); step+=(l<< PHASE—Q—BITS);
對于2百萬像素相機來說,M可以是700,且N可以是1600。表達"<<"表示C 編程語言中的左移,因此1《(Q1+ PHASE—Q—BITS) = 2(Q1+PHASE-Q-BITS) = 2(12+3) = 2'5。 Ql視輸入大小而定。表達"》"表示右移。計數可在零處開始,且以M遞增。表達"x十+" 意指x二x+l。表達"dl =dl *S1"意指dl乘以權數Sl。 PHASE—Q—BITS是分數取樣 相位。如果PHASE—Q_BITS = 3,那么存在8個相位分數位。
將以上代碼應用于圖3,對于圖3中的第一輸出,accum = (A +B + 1/2C)且步長二(1 + 1 + 1/2)。
如上述代碼展示,可用對M/N濾波器頂部的較少修改來實施相控M/N濾波器,且 可通過設置PHASE_Q—BITS = 0來將相控M/N濾波器減少到M/N濾波器。如果 PHASE—Q_BITS = 0,那么以上的偽代碼可與M/N濾波器相同,其只考慮取樣相位的整 數部分。相控M/N濾波器的帶寬(阻帶抑制)可與M/N濾波器相同,但具有由相位不 連續性導致的較少諧波噪聲。通過與M/N濾波器相比對相控M/N濾波器以較精細的粒 度對輸出相位進行量化來實現上述情況。
圖7 A以流程圖說明上文所列出的C代碼序列,其為圖6的方法的更詳細實施方案。 圖7B說明圖7A的實施方案的另一實施例。N表示輸入像素數目,且M表示輸出像素 數目。圖7A中的Qs (或上文的描述中的PHASE—Q_BITS)表示相位中分數位的數目。 Ql表示相位縮放的Q格式。SI表示(1.0/M)沐(1《(Q1+Qs))。
在圖7A的框700屮,相控M/N濾波器確定最后』-個樣本是否已經被處理。如果未 被處理,那么濾波器在框702中更新計數器=計數+M。在圖7B的框720中,濾波器更 新計數器計數+M,且將相位更新為相位+(1<<(31)。
在框704中,濾波器確定計數是否大于或等于N。如果不是,那么濾波器在框706中更新狀態3(^11111 = 3"1101 + (輸入樣本<<(35),且步長=步長+ (1<<QS)。
如果在框704中,計數大于或等于N,那么濾波器在框708中計算輸出相位、Dl、 D2和步長。在圖7B的框722中,使用加法器而不是乘法器來計算相位。 在框710中,濾波器計算輸出樣本。
在框712中,濾波器使狀態復位。框714表示一個輸入樣本過程的結束。
相控M/N濾波器可減少到針對1到1/2的縮放范圍使用兩個樣木,且針對K到>
的縮放范圍使用三個樣本,其可被視為速率控制的阻帶抑制。
圖7B說明針對相位縮放使用加法器(框722)而不是乘法器(圖7A中的框708) 的另一實施方案。圖7B的實施方案可表達為
M=新分辨率中水平像素的數目; N=舊分辨率中水平像素的數目; PHASE—QJBITS = 3; 〃相位中分數位的數目 Ql= 12;〃相位縮放的Q格式 poly—phase—mult = N/M * (1<<Q1); 〃相位縮放 for (x=0; x < N; x++) { count = count + M;
phase—accum = phase—accum + (1<<Q1); if (count >=N) {
phase—accum — phase—accum - poly—phase—mult;
if (phase—accum > (1<<Q1))
phase—accum = (1《Q1); dl = phaseaccum》Ql; d2 = (1<< PHASE—Q—BITS)-dl; step += d2;
new—line[index] = (accum + (original—line[x]*d2))/step;
accum = dl* original—line [x];
index++;
count = count -N; step = d 1;
elaccum = accum + (original_line[x]《PHASE_Q—BITS); step+=(l PHASE—Q—BITS);
相控M/N濾波的.'些優勢可包含:
當與線性內插相比時,針對1到^的子取樣比率,實際上具有相同的質量,當只
使用兩個點時,線性內插是最佳方法;
在較低子取樣比率下工作同時維持阻帶抑制優于線性內插且相位響應
由于M/N濾波器的能力;
可高效地插入或實施到當考慮硬件解決方案時具有較少或沒有額外復雜性的M/N 濾波器結構、架構和/或系統中;以及
可相對較容易地接通和斷開相位控制的效應,這使相控M/N濾波器減少到普通M/N 濾波器。
相控M/N濾波器可組合M/N濾波器與線性內插濾波器的優勢,而不具有任一方法 的可見劣勢。相控M/N濾波器在相位控制與阻帶抑制之間提供良好的折衷。相控M/N 濾波器可以是硬件高效的解決方案,因為其可使用與M/N濾波器相同的線緩沖器。相控 M/N濾波器可以是用于ID或2D縮小的良好替補。
圖9說明對應于圖6的結構。
圖IOA說明對應于圖7A的結構。
圖10B說明對應于圖7B的結構。
可使用多種不同技術和技法中的任一者來表示信息和信號。舉例來說,可貫穿以上 描述內容而引用的數據、指令、命令、信息、信號、位、符號和碼片可由電壓、電流、 電磁波、磁場或微粒、光場或微粒或其任何組合來表示。
結合本文所揭示的方面而描述的各種說明性邏輯區塊、模塊、電路和算法步驟可實 施為屯子硬件、計算機軟件或上述兩者的組合。為了清楚地說明硬件與軟件的這種可互 換性,上文已經大體上根據各種說明性組件、區塊、模塊、電路和步驟的功能性描述了 各種說明性組件、區塊、模塊、電路和步驟。將此類功能性實施為硬件還是軟件取決于 特定應用和強加于整個系統的設計約束條件。所屬領域的技術人員可針對每個特定應用 以不同的方式來實施所描述的功能性,但此類實施決策不應被解釋為限制。
可用以下裝置來實施或執行結合本文所揭示的方面而描述的各種說明性邏輯區塊、模塊和電路通用處理器、DSP、 ASIC、 FPGA或其它可編程邏輯裝置、離散門或晶體 管邏輯、離散硬件組件或其經設計以執行本文所述的功能的任何組合。通用處理器可以 是微處理器,但在替代方案中,處理器可以是任何常規處理器、控制器、微控制器或狀 態機。處理器還可實施為計算裝置的組合,例如DSP與微處理器的組合、多個微處理器、 結合DSP核心的一個或一個以上微處理器或任何其它此類配置。
結合木文所禍示的實施例而描述的方法或算法的動作可直接在硬件中、在由處理器 執行的軟件模塊中或在上述兩者的組合中實施。軟件模塊可駐存在RAM存儲器、快閃 存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移除盤、 CD-ROM或任何其它形式的存儲媒體中。存儲媒體耦合到處理器,使得處理器可從存儲 媒體讀取信息和向存儲媒體寫入信息。在替代方案中,存儲媒體可與處理器成一體式。 處理器和存儲媒體可駐存在ASIC中。ASIC可駐存在用戶終端中。在替代方案中,處理 器和存儲媒體可作為離散組件駐存在用戶終端中。
所屬領域的技術人員可易于了解對所描述方面的各種修改,且本文所定義的一般原 理可在不脫離本發明的精神或范圍的情況下應用于其它實施例。因此,本發明并不希望 被限于本文所展示的實施例,而是將被賦予與本文所揭示的原理和新穎特征一致的最寬 范圍。
權利要求
1. 一種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中N大于M,所述方法包括相對于輸出樣本的相位而縮放輸入樣本;使所述經縮放的樣本與前面的輸入樣本的平均值相加以提供總和;基于對所述經縮放樣本和所述前面的輸入樣本的縮放而將所述總和規格化,以實現單位增益;基于所述經規格化的總和,產生輸出樣本;以及用對應于所述輸出樣本的相位延遲的縮放來將所述總和初始化為所述經縮放輸入樣本的經縮放型式。
2. 根據權利要求1所述的方法,其中所述相位包括分數。
3. —種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中N大于M,所 述方法包括求第一組圖像數據輸入樣本的總和,其中所述第一組包括至少一個第一分數圖像 數據輸入樣本;使所述經求和的第一組圖像數據輸入樣本除以分數,以產生第一輸出樣本; 求第二組圖像數據輸入樣本的總和,其中所述第二組包括至少一個第二分數圖像 數據輸入樣本;以及使所述經求和的第二組圖像數據輸入樣本除以所述分數,以產生第二輸出樣本。
4. 根據權利要求3所述的方法,其進一步包括在無線信道上傳輸所述第一和第二輸出 樣本。
5. 根據權利要求3所述的方法,其進一步包括顯示所述第一和第二輸出樣本。
6. —種方法,其包括使用M/N濾波器來縮小第一組圖像數據,其中N表示輸入樣本的數目,且M表 示輸出樣本的數目,其中N大于M;以及使用相控M/N濾波器來縮小第二組圖像數據。
7. 根據權利要求6所述的方法,其進一步包括取決于M和N的值而在所述M/N濾波 器與所述相控M/N濾波器之間切換。
8. 根據權利要求7所述的方法,其迸一步包括如果M/N以恒定的相位差接近其它子 取樣比率,那么從所述M/N濾波器切換到所述相控M/N濾波器。
9. 根據權利要求7所述的方法,其進一步包括如果縮放比率(M/N)不等于1/s,那 么從所述M/N濾波器切換到所述相控M/N濾波器,其中s為整數,s=l、
10. 根據權利要求9所述的方法,其進一步包括當s >16時,從所述相控M/N濾波器切 換冋M/N濾波器。
11. 一種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中N大于M,所 述方法包括;使計數器遞增M;使相位遞增(K〈Qs),其中Qs表示相位中分數位的數目; 確定所述計數器是否大于或等于N;如果所述計數器不大于或等于N,那么更新accum = accum + (輸入《Qs)和步長二 步長+(l《Qs);如果計數器大于或等于N,那么計算輸出相位=相位-相位一輸出,Dl =相位>>01, D2 = (l Qs) - Dl且步長=步長+D2,其中Ql表示相位縮放的Q格式,相位—輸 出表示(NZM"(k(Ql);計算輸出樣本二(accum + (輸入+D2))/步長;以及復位accum-D"輸入,步長=01,計數=計數-N。
12. 根據權利要求ll所述的方法,其進一步包括確定最后一個輸入樣本是否已經被處理;以及 如果未被處理,那么繼續處理輸入樣本。
13. —種將圖像數據從N個輸入樣本縮小到M個輸出樣本的方法,其中N大于M,所 述方法包括使計數器遞增M;確定所述計數器是否大于或等于N;如果所述計數器不大于或等于N,那么更新accum = accum + (輸入《Qs)和步長二 步長+(1<<0),其中Qs表示相位中分數位的數冃;如果計數器大于或等于N,那么計算輸出相位—計數-N)", D1:相位》Q1, D2 =(l Qs) - Dl且步長=步長+ D2,其中Ql表示相位縮放的Q格式;計算輸出樣本=(accum+ (輸入*02))/步長以及復位accum-D"輸入,步長=01,計數=計數-N。
14. 一種設備,其包括濾波器,其操作以將圖像數據從N個輸入樣本縮小到M個輸出樣本,其中N大 于M,所述濾波器經配置以相對于輸出樣本的相位而縮放輸入樣本;使所述經縮放的樣本與前面的輸入樣本的平均值相加以提供總和;基于對所述經縮放樣本和所述前面的輸入樣本的縮放而將所述總和規格化,以 實現單位增益;基于所述經規格化的總和,產生輸出樣木;以及用對應于所述輸出樣本的相位延遲的縮放來將所述總和初始化為所述經縮放 輸入樣本的經縮放型式。
15. —種設備,其包括用于相對于輸出圖像數據樣本的相位而縮放輸入圖像數據樣本的裝置; 用于使所述經縮放的樣本與前面的輸入樣本的平均值相加以提供總和的裝置; 用于基于對所述經縮放樣本和所述前面的輸入樣本的縮放而將所述總和規格化 以實現單位增益的裝置;用于基于所述經規格化的總和而產生輸出樣本的裝置;以及用于用對應于所述輸出樣本的相位延遲的縮放將所述總和初始化為所述經縮放 輸入樣本的經縮放型式的裝置。
16. —種設備,其包括機器可讀存儲媒體,所述機器可讀存儲媒體存儲一組指令,所述 指令可操作以將圖像數據從N個輸入樣本縮小到M個輸出樣本,其中N大于M,所述指令包括求第一組圖像數據輸入樣本的總和,其中所述第一組包括至少一個第一分數圖像數據輸入樣本使所述經求和的第一組圖像數據輸入樣本除以分數,以產生第一輸出樣本; 求第二組圖像數據輸入樣本的總和,其中所述第二組包括至少一個第二分數圖像 數據輸入樣本;以及使所述經求和的第二組圖像數據輸入樣本除以所述分數,以產生第二輸出樣本。
17. 根據權利要求16所述的設備,其中所述設備包括數碼相機。
18. 根據權利要求16所述的設備,其中所述設備包括無線通信裝置,所述設備進一步 包括收發器,所述收發器可操作以在無線通信信道上傳輸所述第一和第二輸出樣 本。
19. 一種設備,其包括可配置的圖像縮放器,所述圖像縮放器操作以用M/N濾波器來縮小第一組圖像數據,其中N表示輸入樣本的數目,且M表示 輸出樣本的數目,其中N大于M;以及用相控M/N濾波器來縮小第二組圖像數據。
20. 根據權利要求19所述的設備,其進一步包括開關,所述開關經配置以取決于M和 N的值而在所述M/N濾波器與所述相控M/N濾波器之間切換。
21. —種設備,其包括機器可讀存儲媒體,所述機器可讀存儲媒體存儲一組指令,所述 指令可操作以將圖像數據從N個輸入樣本縮小到M輸出樣本,其中N大于M,所 述指令包括使計數器遞增M;使相位遞增(1<<(^),其中Qs表示相位中分數位的數目;確定所述計數器是否大于或等于N;如果所述計數器不大于或等于N,那么更新accum = accum + (輸入<<(^)和步長= 步長+ (l Qs);如果計數器大T或等于N,那么計算輸出相位=相位-相位—輸出,Dl =相位>>(31,D2 = (l Qs) - Dl且步長=步長+D2,其中Ql表示相位縮放的Q格式,相位—輸 出表示(N/M"(k〈Ql);計算輸出樣本=(accum + (輸入*02))/步長;以及復位accum:D"輸入,步長-Dl,計數=計數-N。
—種設備,其包括機器可讀存儲媒體,所述機器可讀存儲媒體存儲一組指令,所述 指令可操作以將圖像數據從N個輸入樣本縮小到M輸出樣木,其中N大于M,所 述指令包括使計數器遞增M;確定所述計數器是否大于或等于N;如果所述計數器不大于或等于N,那么更新accum = accum + (輸入《(^)和步長= 步長+(k〈Qs),其中Qs表示相位中分數位的數目;如果計數器大于或等于N,那么計算輸出相位=(計數^)*1, 01=相位>>(31, D2 =(l Qs) - Dl且步長=步長+ D2,其中Ql表示相位縮放的Q格式;計算輸出樣本二(accum + (輸入+D2))/步長;以及復位accum = D"輸入,步長-Dl,計數=計數-N。
全文摘要
本發明揭示一種用于縮小圖像數據的方法和設備。一種方法控制M/M濾波器的相位,其中N表示輸入樣本的數目,且M表示輸出樣本的數目。N大于M。另一種方法可在M/N濾波器與相控M/N濾波器之間切換。
文檔編號G06T3/40GK101421760SQ200780013553
公開日2009年4月29日 申請日期2007年4月19日 優先權日2006年4月20日
發明者卡林·阿塔納索夫, 塞澤波·羅伯特·洪, 李向川 申請人:高通股份有限公司