專利名稱:用于處理圖像的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于處理圖像的裝置和方法,更具體地說,涉及被配置來以預(yù)定規(guī)模讀取輸入圖像、處理圖像并生成輸出圖像的圖像處理裝置和方法。
背景技術(shù):
對于多媒體處理系統(tǒng),具體地說,針對手持設(shè)備的系統(tǒng),越來越需要增強(qiáng)照相機(jī)能力,具體地說,增加靜態(tài)圖像的像素?cái)?shù)并提高運(yùn)動圖像的處理性能。另一方面,也越來越需要增強(qiáng)每一個(gè)芯片上的功能密度。由于要平衡這兩個(gè)要求,因此為了改進(jìn)照相機(jī)能力,不能在不考慮增強(qiáng)一個(gè)芯片的功能密度的情況下單純增加電路面積。
在傳統(tǒng)的多媒體處理系統(tǒng)的圖像處理中,為了對從CCD(電荷耦合器件)或CMOS(互補(bǔ)金屬氧化物半導(dǎo)體)傳感器發(fā)送的Bayer數(shù)據(jù)執(zhí)行諸如伽馬(gamma)校正、色彩空間轉(zhuǎn)換和像素差值之類的圖像處理,需要以塊或行的形式讀取Bayer數(shù)據(jù)。
下面將對被配置來以塊形式讀取數(shù)據(jù)的圖像處理裝置給出描述。
圖15圖示了傳統(tǒng)塊讀取中的數(shù)據(jù)讀取順序。圖16是示出了用于讀取塊的傳統(tǒng)處理電路的框圖。當(dāng)讀取塊時(shí),一個(gè)圖像的Bayer數(shù)據(jù)800被分割為多個(gè)塊801,每個(gè)塊801由水平和垂直方向上的預(yù)定數(shù)目的像素組成,并且被順序的逐塊讀取。在圖示中,以塊序號的順序來讀取數(shù)據(jù),即,以從位于左上的塊1開始向右的順序來讀取數(shù)據(jù),即,塊1、塊2、塊3...,如圖15所示。在該數(shù)據(jù)讀取中,為了處理像素形式的圖像,數(shù)據(jù)以確保預(yù)定的重疊面積的方式讀取。
在逐塊讀取和處理電路中,以前述的塊順序經(jīng)由系統(tǒng)總線901a逐塊讀取Bayer數(shù)據(jù),然后將其臨時(shí)存儲在塊緩沖器0(902a)或塊緩沖器1(902b)中。選擇器903用來選擇保存在一個(gè)緩沖器中的數(shù)據(jù),然后將所選擇的數(shù)據(jù)輸出到色彩處理器904以處理圖像。為了增強(qiáng)處理效率,將數(shù)據(jù)經(jīng)由系統(tǒng)總線901a寫入到不與色彩處理器904連接的另一個(gè)緩沖器中。色彩處理器904對輸入像素?cái)?shù)據(jù)執(zhí)行圖像處理,然后將處理后的數(shù)據(jù)經(jīng)由系統(tǒng)總線901b輸出。
接著,下面將對被配置來以行形式讀取數(shù)據(jù)的圖像處理裝置進(jìn)行描述。圖17圖示了傳統(tǒng)的以行形式讀取數(shù)據(jù)的處理中的數(shù)據(jù)讀取順序。圖18是示出了傳統(tǒng)的逐行讀取和處理電路的框圖。在逐行讀取處理中,在一個(gè)水平行單元810上順序地讀取Bayer數(shù)據(jù)800。
逐行讀取和處理電路被配置來以從頂部到底部的順序逐行讀取Bayer數(shù)據(jù),然后將行數(shù)據(jù)臨時(shí)保存在行緩沖器905中。行緩沖器905能夠存儲色彩處理器904中的圖像處理所需數(shù)目的行。色彩處理器904對存儲在行緩沖器905中的像素?cái)?shù)據(jù)執(zhí)行圖像處理,然后將處理后的數(shù)據(jù)經(jīng)由系統(tǒng)總線901b輸出。
關(guān)于逐行讀取處理,提出了這樣一種圖像處理裝置,該圖像處理裝置被配置來將超過行存儲器的存儲容量(可讀水平像素)的初始圖像數(shù)據(jù)分割為與行存儲器的存儲容量相對應(yīng)的數(shù)據(jù)和從行存儲器溢出的剩余數(shù)據(jù)。(例如,參考日本未審查專利申請公開No.2002-252749(段落號 到 和圖2)。)然而,傳統(tǒng)的逐塊或逐行讀取處理難以在不增加電路規(guī)模的前提下增強(qiáng)圖像處理功能。具體地說,逐塊讀取處理使得可以壓縮色彩處理器中所包括的輸入緩沖器的大小,從而減小安裝面積。然而,其缺點(diǎn)是這種類型的讀取處理增加了訪問存儲輸入圖像和輸出圖像的幀緩沖器的次數(shù),因此需要更長的處理時(shí)間。因而,隨著組成要被處理的圖像的像素越來越多,處理時(shí)間也會越來越長。例如,從按下照相機(jī)快門開始,到處理圖像,再到將經(jīng)處理的圖像數(shù)據(jù)存儲在存儲介質(zhì)中的處理過程需要花費(fèi)很長時(shí)間。另一個(gè)缺點(diǎn)是這種讀取處理不適合于需要快速處理的運(yùn)動圖像。
至于逐行讀取處理,該處理所涉及的在從幀緩沖器讀取或向幀緩沖器寫入數(shù)據(jù)中所引起的突發(fā)效應(yīng)(burst effect)很大,使得可以縮短處理時(shí)間。但是,該處理需要具有一些全行大小的緩沖器作為色彩處理器的輸入緩沖器。這不利地導(dǎo)致使得安裝面積更大。因而,隨著組成要被處理的圖像的像素越來越多,安裝面積也越來越大。大的安裝面積阻礙了最終產(chǎn)品的小型化和輕便化。具體地說,該逐行讀取處理實(shí)際上不適合于希望更小、更輕便的諸如移動電話或數(shù)碼照相機(jī)之類的手持設(shè)備。
另外,在當(dāng)處理超過行存儲器的存儲容量的初始圖像數(shù)據(jù)時(shí)將初始圖像數(shù)據(jù)分割為與行存儲器的存儲容量相對應(yīng)的數(shù)據(jù)區(qū)域和從其存儲容量溢出的剩余數(shù)據(jù)區(qū)域的情況中,對應(yīng)于行存儲器容量的區(qū)域的大小并不與溢出區(qū)域吻合。這帶來了使得諸如大小之類的參數(shù)交換變得復(fù)雜的缺點(diǎn)。另外,由于當(dāng)處理圖像數(shù)據(jù)時(shí)將初始圖像數(shù)據(jù)分割為這兩個(gè)區(qū)域,因此有必要保證行存儲器的存儲容量最少對應(yīng)于估計(jì)的行的一半。該方法的另一個(gè)缺點(diǎn)是不能處理由較大量像素組成的圖像。
發(fā)明內(nèi)容
考慮到前述方面,作出了本發(fā)明,本發(fā)明的一個(gè)目的是提供一種處理圖像的裝置和方法,其被配置以增強(qiáng)圖像處理功能,而無需增大電路規(guī)模。
為了實(shí)現(xiàn)該目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種圖像處理裝置,用于在預(yù)定單位基礎(chǔ)上讀取圖像,處理該圖像,并生成要輸出的圖像。該圖像處理裝置包括臨時(shí)存儲單元,具有在寬度上有預(yù)定水平像素?cái)?shù)的存儲區(qū)域,用于在由預(yù)定水平像素?cái)?shù)組成的存儲區(qū)域中臨時(shí)地存儲輸入圖像的像素?cái)?shù)據(jù)的多個(gè)行;圖像分割單元,用于在輸入圖像的水平像素?cái)?shù)大于臨時(shí)存儲單元的預(yù)定水平像素?cái)?shù)時(shí),根據(jù)預(yù)定水平像素?cái)?shù)在沿垂直方向均等地分割輸入圖像,并控制每個(gè)分割區(qū)域處將輸入圖像的像素?cái)?shù)據(jù)順序傳送到臨時(shí)存儲單元中的操作;輸入數(shù)據(jù)傳送單元,用于將輸入圖像中屬于圖像分割單元所指向的分割區(qū)域的像素?cái)?shù)據(jù)順序傳送到臨時(shí)存儲單元;像素處理單元,用于對傳送到臨時(shí)存儲單元的輸入圖像的像素?cái)?shù)據(jù)執(zhí)行以單個(gè)或多個(gè)像素為單位的圖像處理;圖像耦合單元,用于控制每個(gè)分割區(qū)域處要從像素處理單元順序輸出的輸出像素?cái)?shù)據(jù)的傳送,將分割區(qū)域的輸出像素?cái)?shù)據(jù)彼此耦合,并生成要輸出的結(jié)果圖像;以及輸出數(shù)據(jù)傳送單元,用于將要由像素處理單元輸出的輸出像素?cái)?shù)據(jù)傳送到所指向的輸出圖像存儲區(qū)域。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種圖像處理方法,用于在預(yù)定單位基礎(chǔ)上讀取輸入圖像,處理圖像,并生成要輸出的最終圖像。在該圖像處理方法中,如果輸入圖像寬度上的水平像素?cái)?shù)大于存儲在臨時(shí)存儲單元中的預(yù)定水平像素?cái)?shù),則圖像分割單元根據(jù)寬度上的預(yù)定水平像素?cái)?shù),沿垂直方向均等地分割輸入圖像,其中,臨時(shí)存儲單元具有在寬度上有預(yù)定水平像素?cái)?shù)的存儲區(qū)域,并用于在寬度上有預(yù)定水平像素?cái)?shù)的存儲區(qū)域中臨時(shí)地存儲輸入圖像的像素?cái)?shù)據(jù)的多個(gè)行;圖像分割單元將輸入圖像中屬于每個(gè)分割區(qū)域的像素?cái)?shù)據(jù)順序傳送到臨時(shí)存儲單元;像素處理單元對被傳送到臨時(shí)存儲單元的輸入圖像的像素?cái)?shù)據(jù)執(zhí)行以單個(gè)或多個(gè)像素為單位的圖像處理;并且圖像耦合單元控制輸出數(shù)據(jù)傳送單元,使得從分割區(qū)域輸出的像素處理單元的輸出像素?cái)?shù)據(jù)彼此耦合。該圖像處理方法被配置來以每個(gè)分割區(qū)域的水平像素?cái)?shù)為單位,逐行地傳送輸入圖像的像素?cái)?shù)據(jù),處理該像素?cái)?shù)據(jù),并在像素處理終止后,將從分割區(qū)域輸出的輸出像素?cái)?shù)據(jù)彼此耦合,以生成要輸出的最終圖像。
從下面結(jié)合附圖的描述中,將清楚了解本發(fā)明以上和其他的目的、特征和優(yōu)點(diǎn),其中附圖以示例方式圖示了本發(fā)明的優(yōu)選實(shí)施例。
圖1是應(yīng)用到實(shí)施例的本發(fā)明的概念圖。
圖2圖示了將圖像分割為兩份的情況中的數(shù)據(jù)傳送順序。
圖3圖示了輸入圖像和輸出圖像之間的大小關(guān)系。
圖4是示出了根據(jù)本發(fā)明實(shí)施例的圖像處理裝置的示例性硬件配置的框圖。
圖5是示出了實(shí)施例中所包括的垂直2N分割電路的框圖。
圖6圖示了在本發(fā)明實(shí)施例中無分割情況下的地址計(jì)數(shù)器的操作。
圖7A和圖7B圖示了在本發(fā)明實(shí)施例中兩份分割處理中的地址計(jì)數(shù)器的操作。
圖8A、圖8B、圖8C和圖8D圖示了在本發(fā)明實(shí)施例中四份分割處理中的地址計(jì)數(shù)器的操作,其中,圖8A示出了第一分割區(qū)域中地址計(jì)數(shù)器的操作,圖8B示出了第二分割區(qū)域中地址計(jì)數(shù)器的操作,圖8C示出了第三分割區(qū)域中地址計(jì)數(shù)器的操作,圖8D示出了第四分割區(qū)域中地址計(jì)數(shù)器的操作。
圖9圖示了在將水平像素?cái)?shù)H為偶數(shù)的輸入圖像分割為兩份以處理圖像的情況下的耦合圖像的操作。
圖10圖示了在分割水平像素?cái)?shù)H為奇數(shù)的輸入圖像以處理圖像的情況下的耦合圖像的操作。
圖11圖示了根據(jù)本發(fā)明實(shí)施例,在將水平像素?cái)?shù)H為偶數(shù)的輸入圖像分割為兩份,并進(jìn)一步對分割區(qū)域中的水平像素?cái)?shù)H2(奇數(shù))進(jìn)行分割以處理輸入圖像的情況中,耦合圖像的操作。
圖12是示出了根據(jù)本發(fā)明實(shí)施例的圖像處理方法的步驟的流程圖。
圖13是示出了在根據(jù)本發(fā)明實(shí)施例的圖像處理方法中無分割情況下執(zhí)行的步驟的流程圖。
圖14是示出了在根據(jù)本發(fā)明實(shí)施例的圖像處理方法中垂直分割為四份的情況下執(zhí)行的步驟的流程圖。
圖15圖示了傳統(tǒng)逐塊讀取處理中的數(shù)據(jù)讀取順序。
圖16是示出了傳統(tǒng)的逐塊讀取和處理電路的框圖。
圖17圖示了傳統(tǒng)逐行讀取處理中的數(shù)據(jù)讀取順序。
圖18是示出了傳統(tǒng)的逐行讀取和處理電路的框圖。
具體實(shí)施例方式
下面將參考附圖描述本發(fā)明的實(shí)施例。首先,將對應(yīng)用到實(shí)施例的發(fā)明的概念給出描述。然后將描述這些實(shí)施例的具體內(nèi)容。
圖1圖示了應(yīng)用到實(shí)施例的發(fā)明的概念。
根據(jù)本發(fā)明的圖像處理裝置1具有這樣的功能輸入預(yù)定規(guī)模的輸入圖像2a,處理讀取的輸入圖像,并將處理后的圖像作為輸出圖像2b寫入到幀緩沖器2的給定區(qū)域。該圖像處理裝置1被配置為具有行緩沖器11、圖像分割器12、輸入數(shù)據(jù)傳送單元13、像素處理器14、圖像耦合器15和輸出數(shù)據(jù)傳送單元16。
行緩沖器11是臨時(shí)存儲裝置,用于臨時(shí)存儲要在圖像處理裝置1中處理的像素?cái)?shù)據(jù)。行緩沖器11能夠在由預(yù)定數(shù)目水平像素組成的寬度上臨時(shí)存儲輸入圖像2a的多個(gè)行的像素?cái)?shù)據(jù)。例如,由于運(yùn)動圖像的處理大小估計(jì)足夠達(dá)到最大為VGA(視頻圖形陣列)大小(由640×480像素組成),因此行緩沖器11具有寬度方向上至少大于VGA大小的數(shù)量的像素,垂直方向上至少與像素處理器14的單元像素相同數(shù)量的像素。例如,在使用5×5像素的圖像處理濾波器的情況中,提供了5行或6行。
圖像分割器12操作來將輸入圖像2a垂直地分割為偶數(shù)數(shù)目(表示為2N)的區(qū)域。即,圖像分割器12將輸入圖像2a的水平像素?cái)?shù)與行緩沖器11的水平像素?cái)?shù)相比較,如果前者大于后者,則在垂直方向均等地分割輸入圖像2a。在這種分割中,均等分割區(qū)域數(shù)被調(diào)整為2N。圖示中的輸入圖像2a被分割為四個(gè)區(qū)域1A、2A、3A和4A。然后,通過指向每個(gè)分割區(qū)域的讀取起始點(diǎn)和讀取線寬(跨過的水平像素的數(shù)目),圖像分割器12控制輸入數(shù)據(jù)傳送單元13,使得分割區(qū)域中輸入圖像2a的像素?cái)?shù)據(jù)可被順序地傳送到行緩沖器11。另外,行大小可由分割數(shù)目指示。
輸入數(shù)據(jù)傳送單元13從位于圖像分割器12所指向的分割區(qū)域的讀取起始點(diǎn)的行開始,順序逐行將輸入圖像2a的像素?cái)?shù)據(jù)傳送到行緩沖器11。另外,輸入數(shù)據(jù)傳送單元13可由CPU或DMA(直接存儲器訪問)控制器執(zhí)行的數(shù)據(jù)傳送程序?qū)崿F(xiàn)。
像素處理器14執(zhí)行使用圖像濾波器的處理,諸如像素插值和邊緣增強(qiáng),以及進(jìn)一步的基于像素的操作,諸如伽馬校正和色彩空間轉(zhuǎn)換,然后計(jì)算輸出像素?cái)?shù)據(jù)。圖像耦合器15操作來耦合被圖像分割器12分割、然后在每個(gè)分割區(qū)域處被像素處理器14處理的像素?cái)?shù)據(jù)。圖示中,圖像耦合器15與圖像分割器12相反地指向到輸出數(shù)據(jù)傳送單元16的寫入起始點(diǎn)和行大小,使得輸入圖像2a的分割區(qū)域1A的像素?cái)?shù)據(jù)可被傳送到輸出圖像2b的對應(yīng)分割區(qū)域1B。輸出數(shù)據(jù)傳送單元16操作來在圖像耦合器15的控制下,將每個(gè)分割區(qū)域處要被像素處理器14輸出的像素?cái)?shù)據(jù)傳送到用于輸出圖像2b的存儲區(qū)域的對應(yīng)區(qū)域中。另外,輸出數(shù)據(jù)傳送單元16可由CPU或DMA控制器執(zhí)行的數(shù)據(jù)傳送程序?qū)崿F(xiàn)。
代替輸入數(shù)據(jù)傳送單元13和輸出數(shù)據(jù)傳送單元16,可以提供兩個(gè)DMA通道以獨(dú)立地讀取和寫入數(shù)據(jù),或者可提供一個(gè)DMA通道以獨(dú)占地讀取或?qū)懭霐?shù)據(jù)。
接著,將對如上配置的圖像處理裝置1的操作給出描述。
圖像處理裝置1包括行緩沖器11以讀取行。行緩沖器使得能夠以預(yù)定數(shù)量的水平像素臨時(shí)存儲多個(gè)行。如果要被存儲在幀緩沖器2中的輸入圖像2a的水平像素?cái)?shù)大于行緩沖器11的行大小,則圖像分割器12操作來將輸入圖像2a垂直分割為2N份,并將輸入圖像2a劃分為多個(gè)矩形長條,每個(gè)矩形長條的寬度小于行大小。在圖1的圖示中,輸入圖像2a被分割為四個(gè)區(qū)域,即1A、2A、3A和4A分割區(qū)域。然后,圖像分割器12控制輸入數(shù)據(jù)傳送單元13,使得傳送單元13可以傳送分割區(qū)域中的輸入圖像2a的像素?cái)?shù)據(jù)。
例如,假定首先傳送分割區(qū)域1A的數(shù)據(jù),將數(shù)據(jù)傳送到行緩沖器11的操作被指示以分割區(qū)域1A的任一像素位置(左上)作為讀取起始點(diǎn),并以讀取的行的單位作為分割區(qū)域?qū)挾确较虻乃较袼財(cái)?shù)。輸入數(shù)據(jù)傳送單元13以分割區(qū)域中水平像素?cái)?shù)為讀取單元,將分割區(qū)域1A的數(shù)據(jù)從所指向的讀取起始點(diǎn)逐行地順序傳送到行緩沖器11。像素處理器14以單個(gè)像素或多個(gè)像素為單位,處理臨時(shí)存儲在行緩沖器11中的像素,然后輸出最終的像素?cái)?shù)據(jù)。圖像耦合器15根據(jù)輸出像素圖像2b的分割區(qū)域控制輸出數(shù)據(jù)傳送單元16,從而使得輸出數(shù)據(jù)傳送單元16可將輸出像素?cái)?shù)據(jù)傳送到對應(yīng)的分割區(qū)域。如果數(shù)據(jù)是從分割區(qū)域1A輸入的話,則圖像耦合器15指示輸出數(shù)據(jù)傳送單元16將輸出像素?cái)?shù)據(jù)傳送到與分割區(qū)域1A相對應(yīng)的分割區(qū)域1B。這些操作導(dǎo)致處理了輸入圖像2a的分割區(qū)域1A的像素?cái)?shù)據(jù),并指定了輸出圖像2b的分割區(qū)域1B。接著,處理分割區(qū)域2A的像素?cái)?shù)據(jù)。圖像分割器12操作來將讀取起始點(diǎn)移動當(dāng)獲得分割區(qū)域?qū)挾壬系乃较袼財(cái)?shù)時(shí)所導(dǎo)出的偏量值,然后執(zhí)行與分割區(qū)域1A類似的處理。圖像耦合器15也操作來將寫入起始點(diǎn)移動偏量值,然后將輸出像素?cái)?shù)據(jù)存儲在分割區(qū)域2B中。隨后,對其他的分割區(qū)域執(zhí)行類似的處理。
接著,將描述數(shù)據(jù)傳送順序。圖2圖示了在將圖像分割為兩份的情況中的數(shù)據(jù)傳送順序。
在圖2所示的圖示中,在Bayer數(shù)據(jù)21被分割為分割區(qū)域A(21a)和分割區(qū)域B(21b)后,傳送Bayer數(shù)據(jù)21。在圖像分割器12中,如果要被分割的圖像的水平像素?cái)?shù)為偶數(shù),則當(dāng)分割數(shù)據(jù)時(shí),水平像素?cái)?shù)的一半加上“m”對應(yīng)于寬度上的水平像素?cái)?shù)。這里,“m”是取決于圖像處理濾波器大小的參數(shù)。對于5×5的像素矩陣,給定m=2。然而,如果圖像的水平像素?cái)?shù)為奇數(shù),則水平像素?cái)?shù)不能分割為兩份。因而,每個(gè)分割區(qū)域被規(guī)定為具有位于水平中心位置的像素?cái)?shù)據(jù)列,并加上“+m”。在圖示中,執(zhí)行分割使得在分割區(qū)域A(21a)和B(21b)中都可以包括重疊部分21c。
在確定分割區(qū)域后,將數(shù)據(jù)以從分割區(qū)域A(21a)到B(21b)的順序傳送到行緩沖器。首先,數(shù)據(jù)傳送從分割區(qū)域A(21a)的行1的寬度上的水平像素開始,然后以從行1到38的順序進(jìn)行。接著,對分割區(qū)域B(21b)從頂部(圖2中的行39)開始執(zhí)行數(shù)據(jù)傳送。當(dāng)數(shù)據(jù)傳送終止時(shí),傳送最后一行(圖2中的行76)上的像素?cái)?shù)據(jù)。
另外,像素處理器14以相同順序輸出分割區(qū)域A(21a)和B(21b)的輸出像素?cái)?shù)據(jù)。圖像耦合器15控制數(shù)據(jù)傳送,使得輸出像素?cái)?shù)據(jù)可被傳送到輸出圖像的對應(yīng)位置,以耦合圖像。在該數(shù)據(jù)傳送過程中,分割區(qū)域B(21b)使得包含在兩個(gè)分割區(qū)域中的、位于水平中心位置的像素?cái)?shù)據(jù)列與分割區(qū)域A(21a)重疊。
如上所述,通過提供具有給定行大小的行緩沖器并根據(jù)行大小將輸入圖像在垂直方向上均等地分割以處理像素,可以相對快速地處理包含大量像素的圖像,并盡可能地壓縮行緩沖器的容量。由于根據(jù)行緩沖器的行大小分割輸入圖像,因此對于要被處理圖像的像素?cái)?shù)沒有給定上限。另外,由于具有少量像素的運(yùn)動圖像可以全行方式讀取(在這種方式中,所有行不加分割即可讀取),因此允許以高幀率實(shí)現(xiàn)數(shù)據(jù)處理。如上所述,圖像處理的功能被盡力增強(qiáng),而不用必須增加緩沖器容量。另外,輸入圖像可應(yīng)用于除了Bayer數(shù)據(jù)外的諸如YUV的像素?cái)?shù)據(jù)。
下文中將參考附圖詳細(xì)描述本發(fā)明的實(shí)施例。該實(shí)施例被配置使得對行大小配備有1024+α的行緩沖器,且輸入圖像可被分割至四份。另外,在5×5像素的圖像處理濾波器上執(zhí)行以多個(gè)像素為單位的像素處理。
這里,位于圖像處理裝置中的行緩沖器的行大小需要小到比輸入圖像寬度上的水平像素?cái)?shù)的一半稍大一點(diǎn),因?yàn)橹皇切枰獙⑤斎雸D像垂直分割為兩份,處理每個(gè)矩形圖像長條,并將這些圖像長條恢復(fù)為一個(gè)圖像。例如,廣泛可用的圖像大小可以是VGA(640×480像素)或SVGA(超級視頻圖形陣列(1204×768像素))。在這個(gè)實(shí)施例中,為了至少對應(yīng)于全行方式下的大小,寬度上的水平像素?cái)?shù)假定為1024+α(其中,α表示一些余量)。
如果行緩沖器的大小為1024+α像素且靜態(tài)圖像被分割為四份,則行緩沖器能夠處理水平像素?cái)?shù)為4096像素的圖像。另外,由于估計(jì)行緩沖器的大小只需要大到能夠覆蓋VGA大小,因此1024+α的行緩沖器大小可以以全行方式快速處理像素圖像。
下面將描述要被處理的圖像。圖3示出了輸入圖像和輸出圖像之間的大小關(guān)系。由于對于輸入圖像200a的大小(水平方向上H個(gè)像素,垂直方向上V個(gè)像素),執(zhí)行了5×5像素的圖像處理濾波器以處理像素,因此輸出圖像200b的大小被使得在垂直和水平方向上變小了兩個(gè)像素(水平方向上H-4像素,垂直方向上V-4像素)。下文中,輸入圖像的水平像素?cái)?shù)為H,其垂直像素?cái)?shù)為V。
接著,將參考圖4對圖像處理裝置的硬件配置給出描述。
圖像處理裝置被配置為具有圖像處理器10、幀緩沖器20、CPU(中央處理單元)30、DMA 40、RAM(隨機(jī)訪問存儲器)50和ROM(只讀存儲器)60,所有這些經(jīng)由系統(tǒng)總線70連接。CPU 30控制整個(gè)裝置。
圖像處理器10包括具有預(yù)定行大小的行緩沖器11,并且操作以預(yù)定行為單位,將存儲在幀緩沖器20中的輸入圖像的像素?cái)?shù)據(jù)傳送到行緩沖器11。在像素被處理之后,圖像處理器10將數(shù)據(jù)傳送到幀緩沖器20的圖像存儲區(qū)域。要被處理的輸入圖像的像素?cái)?shù)據(jù)和處理后的輸出圖像的像素?cái)?shù)據(jù)臨時(shí)存儲在幀緩沖器20中。CPU 30控制整個(gè)裝置,并通過執(zhí)行程序使得該裝置運(yùn)行為圖像分割器、圖像耦合器和圖像處理器。當(dāng)指定了傳送目的地、傳送源地址和傳送大小時(shí),DMA 40傳送數(shù)據(jù),而不經(jīng)由CPU30。RAM 50存儲CPU 30的處理所需的各種數(shù)據(jù)。ROM 60存儲OS(操作系統(tǒng))和相關(guān)的應(yīng)用程序。
前述硬件配置可以實(shí)現(xiàn)本實(shí)施例的處理功能。由于前述配置是示例性的,因此DMA 40可以采用兩個(gè)通道或一個(gè)通道,其中,兩個(gè)通道時(shí)數(shù)據(jù)的讀取和寫入是獨(dú)立執(zhí)行的,一個(gè)通道時(shí)數(shù)據(jù)的讀取和寫入是獨(dú)占執(zhí)行的。而且,CPU 30可負(fù)責(zé)數(shù)據(jù)的傳送。用于分割輸入圖像的圖像分割器可采用由CPU 30執(zhí)行的程序組成的軟件配置,或由圖像分割器組成的硬件配置。同樣地,圖像耦合器也可由軟件或硬件配置。
在本實(shí)施例中,圖像分割器由硬件配置。圖5是示出了根據(jù)本實(shí)施例的垂直2N分割器的框圖。
垂直2N分割器被配置為具有輸入圖像左上原點(diǎn)地址寄存器101、垂直像素?cái)?shù)(V)寄存器102、水平像素?cái)?shù)(H)寄存器103、二等分水平像素?cái)?shù)(稱為H2)寄存器104、四等分水平像素?cái)?shù)(稱為H4)寄存器105、用于對輸入值進(jìn)行二等分的二等分功能106和107、選擇器108、用于確定分割部分?jǐn)?shù)目(稱為分割數(shù))的判決電路109和用于控制數(shù)據(jù)傳送的地址計(jì)數(shù)器110。
輸入圖像左上原點(diǎn)地址寄存器101、V寄存器102和H寄存器103的各個(gè)給定值由CPU 30根據(jù)輸入圖像指定。對于地址寄存器101,指定了輸入圖像在幀緩沖器中所存儲的區(qū)域的讀取原點(diǎn)的左上地址。對于V寄存器102,指定了輸入圖像的垂直像素?cái)?shù)。對于H寄存器103,指定了輸入圖像的水平像素?cái)?shù)。
N表示用于對諸如0、1、2...的數(shù)字計(jì)數(shù)的計(jì)數(shù)器,并且當(dāng)判決電路109的輸出Hsel達(dá)到1(其中,確定了分割數(shù))時(shí)停止。
當(dāng)計(jì)數(shù)器N的計(jì)數(shù)值達(dá)到相應(yīng)值且判決電路109的輸出Hsel達(dá)到0(其中,未確定分割數(shù))時(shí),執(zhí)行二等分功能106和107,以計(jì)算通過對輸入的水平像素?cái)?shù)二等分得到的值Hsize,然后將值Hsize輸出到判決電路109。當(dāng)N=1且Hsel=0時(shí),二等分功能106將H寄存器103的二等分值存儲在H2寄存器104中,而當(dāng)N=2且Hsel=0時(shí),二等分功能107將H2寄存器104的二等分值存儲在H4寄存器105中。
選擇器108操作來將與計(jì)數(shù)器N的值相對應(yīng)的Hsize值輸出到判決電路109。選擇器108操作來在N=0時(shí)提供存儲在全行H寄存器103中的值,在N=1時(shí)提供存儲在H2寄存器104中的值,在N=2時(shí)提供存儲在H4寄存器105中的值。
判決電路109將被輸入的Hsize與行緩沖器的行大小1024+α相比較,并且當(dāng)Hsize小于行大小時(shí)確定有關(guān)的分割數(shù)。即,如果關(guān)系Hsize<=1024+α成立,則輸出Hsel=1(其中,確定了分割數(shù)),而如果該關(guān)系不成立,則輸出Hsel=0(其中,未確定分割數(shù))。
當(dāng)判決電路109的輸出Hsel變?yōu)?,從而確定了分割數(shù)時(shí),地址計(jì)數(shù)器110通過利用水平像素Hsize以及地址寄存器101和V寄存器102的值,來計(jì)算傳送數(shù)據(jù)的存儲地址。
接著,將對垂直2N分割器的操作給出描述。
首先,當(dāng)N變?yōu)?時(shí),存儲在H寄存器103中的輸入圖像的水平像素?cái)?shù)(H)被輸入到判決電路109。判決電路109將Hsize=H與1024+α相比較,并且在H小于1024+α?xí)r輸出Hsel=1以確定分割數(shù)為0。
此時(shí),如果Hsel=1不成立,則計(jì)數(shù)器N加1,即,給定N=1。N=1的關(guān)系使得二等分功能106計(jì)算H2,然后將所計(jì)算的H2存儲在H2寄存器104中,并將H2輸入到判決電路109。判決電路109將Hsize=H2與1024+α相比較,并且在H2小于1024+α?xí)r輸出Hsel=1以確定分割數(shù)為1。
此時(shí),如果Hsel=1不成立,則計(jì)數(shù)器N加1,即,給定N=2。N=2的關(guān)系使得二等分功能107計(jì)算H4,然后將所計(jì)算的H4存儲在H4寄存器105中,并將H4輸入到判決電路109。判決電路109將Hsize=H4與1024+α相比較,并且在H4小于1024+α?xí)r輸出Hsel=1以確定分割數(shù)為2。
當(dāng)給定Hsel=1時(shí),地址計(jì)數(shù)器110根據(jù)所確定的分割數(shù)以及地址寄存器101和V寄存器102的值,通過利用Hsize(H、H2或H4),執(zhí)行數(shù)據(jù)傳送控制。下文中將描述每種分割情況。
首先將參考圖6對無分割(分割數(shù)=0)情況中地址計(jì)數(shù)器的操作給出描述。在該實(shí)施例中,如果輸入圖像200的H小于1024+α,則無需任何分割即可處理諸如VGA和SVGA大小的圖像。由于考慮到運(yùn)動圖像的最大尺寸為VGA大小,因此無需任何分割也可處理運(yùn)動圖像。
由于沒有分割,因此執(zhí)行地址控制使得可以逐行地傳送數(shù)據(jù),其中地址寄存器101的值為讀取起始點(diǎn),H為行大小。這允許位于輸入圖像200水平上從原點(diǎn)地址(0,0)到第H地址的所有像素可作為一行讀取,然后傳送到行緩沖器中。接著,當(dāng)指向下一行的讀取起始點(diǎn)地址(0,1)時(shí),傳送位于從該地址到第H地址的一行的數(shù)據(jù)。重復(fù)前述操作,直到數(shù)據(jù)到達(dá)最終像素(H-1,V-1)。
接著,將參考圖7A和圖7B對兩份分割或二等分(分割數(shù)=1)情況中的地址計(jì)數(shù)器的操作給出描述。圖7A圖示了在本實(shí)施例的二等分處理中的分割區(qū)域1的地址計(jì)數(shù)器的操作。圖7B圖示了分割區(qū)域2的地址計(jì)數(shù)器的操作。例如,在這個(gè)實(shí)施例中,如果輸入圖像的H的范圍是從1024+α到2048,則通過二等分過程處理諸如SXGA(1280×1024像素)大小的圖像。
二等分情況中的數(shù)據(jù)傳送的執(zhí)行順序是從分割區(qū)域1(211)到分割區(qū)域2(212),其中分割區(qū)域1(211)和分割區(qū)域2(212)都是對輸入圖像進(jìn)行二等分的結(jié)果。如圖7A所示,對于分割區(qū)域1(211),執(zhí)行地址控制使得數(shù)據(jù)可逐行地傳送,其中原點(diǎn)地址(0,0)為讀取起始點(diǎn),H2為行大小。如上所述,H2由通過將輸入圖像二等分得到的值加上m(m是取決于圖像處理濾波器大小的參數(shù))來指定,且偏量S2根據(jù)參數(shù)m利用H2來計(jì)算。這使得水平上位于從原點(diǎn)地址(0,0)到第H2地址的像素被作為一行讀取,然后被傳送到行緩沖器中。一旦完成以H2為單位的一行,則順序地指向下一行的讀取起始點(diǎn),直到傳送了分割區(qū)域1(211)的最終像素(H2-1,V-1)處的數(shù)據(jù)為止。然后,如圖7B所示,對于分割區(qū)域2(212),利用偏量S2指定讀取起始地址(S2,0),并且以新指定的地址作為起始點(diǎn),以H2為單位逐行地傳送數(shù)據(jù)。與分割區(qū)域1類似,數(shù)據(jù)是逐行垂直地傳送,直到傳送了最終像素(H-1,V-1)。
接著,將參考圖8A到圖8D對四份分割或四等分處理(分割數(shù)=2)情況中的地址計(jì)數(shù)器的操作給出描述。圖8A圖示了本實(shí)施例的四等分處理的情況中的分割區(qū)域1中地址計(jì)數(shù)器的操作。類似地,圖8B圖示了分割區(qū)域2中地址計(jì)數(shù)器的操作。圖8C圖示了分割區(qū)域3中地址計(jì)數(shù)器的操作。圖8D圖示了分割區(qū)域4中地址計(jì)數(shù)器的操作。在這個(gè)實(shí)施例中,在輸入圖像的H的范圍是從2048到4096的情況中,通過四等分過程處理圖像。
在四等分處理中,數(shù)據(jù)傳送的執(zhí)行順序是從分割區(qū)域1(221)、分割區(qū)域2(222)、分割區(qū)域3(223)到分割區(qū)域4(224),其中所有四個(gè)分割區(qū)域都是對輸入圖像四等分的結(jié)果。如圖8A所示,對于分割區(qū)域1(221),執(zhí)行地址控制使得數(shù)據(jù)可逐行地傳送,其中原點(diǎn)地址(0,0)為讀取起始點(diǎn),H4為行大小。與H2類似,H4被指定為具有“m”,且根據(jù)“m”利用H4計(jì)算偏量S4。這使得水平上位于從原點(diǎn)地址(0,0)到第H4地址的像素被作為一行讀取,然后被傳送到行緩沖器中。然后,在垂直方向上以H4為單位順序地逐行傳送數(shù)據(jù),直到傳送了分割區(qū)域1(221)的所有數(shù)據(jù)為止。接著,如圖8B所示,對于分割區(qū)域2(222),執(zhí)行地址控制使得數(shù)據(jù)可以以H4為單位逐行地傳送,其中由偏量S4指定的讀取起始地址(S4,0)作為起始點(diǎn)。與分割區(qū)域1(221)類似,在垂直方向上以H4為單位順序地逐行傳送數(shù)據(jù),直到傳送了分割區(qū)域2(222)的所有數(shù)據(jù)為止。接著,如圖8C所示,對于分割區(qū)域3(223),執(zhí)行地址控制使得數(shù)據(jù)可以以H4為單位逐行地傳送,其中由偏量S2指定的起始點(diǎn)地址(S2,0)作為起始點(diǎn)。與分割區(qū)域1(221)類似,在垂直方向上以H4為單位順序地逐行傳送數(shù)據(jù),直到傳送了分割區(qū)域3(223)的所有數(shù)據(jù)為止。接著,如圖8D所示,對于分割區(qū)域4(224),執(zhí)行地址控制使得數(shù)據(jù)可以以H4為單位逐行地傳送,其中由偏量S2+S4指定的起始點(diǎn)地址(S2+S4,0)作為起始點(diǎn)。與分割區(qū)域1(221)類似,在垂直方向上以H4為單位順序地逐行傳送數(shù)據(jù),直到傳送了最終像素(H-1,V-1)為止。
如上所述,在垂直2N分割中,輸入圖像被分割為每個(gè)具有相同數(shù)目水平像素的多個(gè)區(qū)域,在這種分割中,當(dāng)從幀緩沖器中讀取輸入圖像的像素?cái)?shù)據(jù)時(shí)要執(zhí)行的地址遞增方法允許計(jì)數(shù)器操作通用于任何分割處理,除了水平坐標(biāo)上的偏量值。即,用于指向地址的參數(shù)只由偏量值更新,這使得可以執(zhí)行快速處理。另外,根據(jù)輸入圖像大小而增加分割區(qū)域也可以使得通過有限的資源(行緩沖器)處理任何大小的圖像。
接著,將對在前述處理中被垂直2N分割并被處理的輸出像素?cái)?shù)據(jù)的圖像耦合給出描述。像素處理器以前述的數(shù)據(jù)傳送順序輸出像素?cái)?shù)據(jù)。
對于無分割情況,以H為單位逐行地傳送像素?cái)?shù)據(jù),其中幀緩沖器的輸出圖像區(qū)域的原點(diǎn)地址(0,0)為寫入起始點(diǎn)。
對于兩個(gè)或更多分割的情況,取決于被分割前的水平像素?cái)?shù)(在以H2為單位耦合分割區(qū)域的情況中為H,在以H4為單位耦合分割區(qū)域的情況中為H2),即,像素?cái)?shù)是偶數(shù)還是奇數(shù),來劃分處理。對于偶像素?cái)?shù),直接耦合分割區(qū)域。對于奇像素?cái)?shù),耦合分割區(qū)域,使得一列的接合處彼此重疊。
首先,將參考圖9對在將水平像素?cái)?shù)H為偶數(shù)的輸入圖像分割為兩份的情況中的圖像耦合給出描述。對于耦合由對偶數(shù)水平像素?cái)?shù)H二等分而形成的區(qū)域,這些區(qū)域被簡單地耦合。即,垂直方向上范圍為V-4的分割區(qū)域1(301)的輸出像素?cái)?shù)據(jù)與水平方向上范圍為H2-4、垂直方向上范圍為V-4的分割區(qū)域2(302)的輸出像素?cái)?shù)據(jù)相耦合。耦合后的數(shù)據(jù)成為水平方向上范圍為H-4、垂直方向上范圍為V-4的輸出圖像303的像素?cái)?shù)據(jù)。通過將當(dāng)數(shù)據(jù)被傳送到幀緩沖器時(shí)所指向的輸出地址水平地移動偏量H2-4,執(zhí)行分割區(qū)域2(302)的圖像耦合。
接著,將參考圖10對當(dāng)將水平像素?cái)?shù)H為奇數(shù)的輸入圖像二等分時(shí)要執(zhí)行的圖像耦合給出描述。當(dāng)二等分奇數(shù)水平像素?cái)?shù)H時(shí),一個(gè)分割區(qū)域的一列的接合處與另一個(gè)分割區(qū)域的一列的接合處重疊。即,在分割區(qū)域1(311)的輸出像素?cái)?shù)據(jù)被傳送到幀緩沖器后,地址被指向使得分割區(qū)域1的接合處的一列與分割區(qū)域2的接合處的一列重疊,其中偏量值為H2-3,然后分割區(qū)域2(312)的輸出像素?cái)?shù)據(jù)被傳送到幀緩沖器中。這一處理導(dǎo)致生成了輸出圖像313,其中接合處314由分割區(qū)域1的與分割區(qū)域2重疊的一列組成。另外,在前述處理中,位于接合處314的一列的像素?cái)?shù)據(jù)被指定為具有分割區(qū)域2(312)的像素?cái)?shù)據(jù)。關(guān)于接合處314的一列,對于分割區(qū)域1(311)和2(312)計(jì)算了相同的像素值。因而,可選擇任何分割區(qū)域的接合處。
然后,將參考圖11對將輸入圖像二等分的處理中要執(zhí)行的圖像耦合給出描述,其中輸入圖像的水平像素?cái)?shù)H為偶數(shù),分割區(qū)域中的水平像素?cái)?shù)H2為奇數(shù)。首先,傳送分割區(qū)域1(321)的輸出像素?cái)?shù)據(jù),其中輸出圖像的原點(diǎn)地址(0,0)為寫入起始地址。隨后,由于由分割區(qū)域2(322)和1(321)組成的水平像素?cái)?shù)H2為奇數(shù),因此地址被控制為具有偏量值H4-3,使得當(dāng)傳送數(shù)據(jù)時(shí)分割區(qū)域2(322)的一列可以與分割區(qū)域1(321)的一列重疊。隨后進(jìn)行到分割區(qū)域3(323)和2(322)的耦合,由于當(dāng)分割圖像時(shí)水平像素?cái)?shù)H為偶數(shù),因此當(dāng)傳送數(shù)據(jù)到幀緩沖器時(shí)所指向的輸出地址被水平地移動了偏量(H4-4)×2,并且分割區(qū)域3(323)和2(322)無重疊地耦合。另外,由于由分割區(qū)域4(324)和3(323)組成的水平像素?cái)?shù)H2為奇數(shù),因此當(dāng)傳送數(shù)據(jù)時(shí)分割區(qū)域4(324)與分割區(qū)域3(323)有一列重疊。這導(dǎo)致生成了輸出圖像315,其中接合處316與接合處317重疊。
如上所述,數(shù)據(jù)傳送處理通用于任何分割區(qū)域,除了通過對于每個(gè)分割區(qū)域使用偏量值來改變寫入起始點(diǎn)地址,這使得可以快速執(zhí)行處理。另外,僅通過數(shù)據(jù)傳送目的地的偏移,可執(zhí)行分割區(qū)域的耦合。因而,不需要用于臨時(shí)存儲耦合的中間數(shù)據(jù)的存儲區(qū)域,這使得可以高效利用存儲器。
接著,將對由前述的圖像處理裝置執(zhí)行的圖像處理方法給出描述。
圖12是圖示了根據(jù)本實(shí)施例的圖像處理方法的過程的流程圖。
在輸入圖像被設(shè)置到幀緩沖器中之后,過程開始。
輸入圖像的H與行緩沖器的大小1024+α相比較。如果H小于1024+α,即,允許不加任何分割執(zhí)行處理,則處理進(jìn)行到后面將討論的處理A。如果H超過1024+α,則處理進(jìn)行到步驟S02。
如果輸入圖像的像素H組成了具有1024+α或更多像素的靜態(tài)圖像,則執(zhí)行處理以通過垂直地二等分輸入圖像來計(jì)算H2。如果H為偶數(shù),則通過下式計(jì)算H2H2=Int(H/2)+2 (1)如果H為奇數(shù),則通過下式計(jì)算H2H2=Int(H/2)+1+2 (2)其中,“Int”是取變量的整數(shù)部分的函數(shù)(對分?jǐn)?shù)部分舍去)。H2由式(1)和(2)計(jì)算。
二等分部分的水平像素?cái)?shù)H2與行緩沖器的大小1024+α相比較。如果H2超過1024+α,即,處理不允許二等分,則處理進(jìn)行到后面將討論的處理B。如果H2小于1024+α,則處理進(jìn)行到步驟S04。
由于允許對輸入圖像進(jìn)行垂直地二等分,因此執(zhí)行下面的垂直二等分處理。首先,用于指示被處理的分割區(qū)域的分割次數(shù)N的初始值被設(shè)為0。N=0指示分割區(qū)域1的處理,N=1指示分割區(qū)域2的處理。
輸入圖像的左上原點(diǎn)(0,0)被設(shè)為數(shù)據(jù)傳送源的讀取起始點(diǎn)。另外,與讀取起始點(diǎn)相對應(yīng)的輸出圖像的左上原點(diǎn)被設(shè)為對應(yīng)的輸出像素?cái)?shù)據(jù)的寫入起始點(diǎn)。
以H2為單位逐行地讀取與輸入圖像相關(guān)的像素?cái)?shù)據(jù),然后將其傳送到行緩沖器。即,水平范圍上由H2個(gè)像素組成的像素?cái)?shù)據(jù)被垂直地逐行讀取,讀取量對應(yīng)于行緩沖器的空區(qū)域,然后,讀取的像素?cái)?shù)據(jù)被寫入到行緩沖器中。
對于傳送到行緩沖器中的像素?cái)?shù)據(jù)執(zhí)行使用圖像濾波器的處理,諸如像素插值和邊緣增強(qiáng),并且對于處理后的像素?cái)?shù)據(jù)執(zhí)行基于像素的操作,諸如伽馬校正和色彩空間轉(zhuǎn)換,以生成要輸出的最終像素?cái)?shù)據(jù)。
逐行地將輸出像素?cái)?shù)據(jù)寫入到幀緩沖器中,并且將由寫入的像素?cái)?shù)據(jù)組成的圖像彼此耦合。即,水平范圍上由H2-4個(gè)像素組成的輸出像素?cái)?shù)據(jù)被逐行地寫入到幀緩沖器中。
確定處理是否到達(dá)了最后一行。如果不是,則處理返回到步驟S06,其中對仍未傳送的剩余行重復(fù)數(shù)據(jù)傳送處理。
如果處理到達(dá)了最后一行,則遞增分割次數(shù)N。
確定分割次數(shù)N是否為2,即,處理是否到達(dá)了表示為N=1的分割區(qū)域2。如果N=2,則處理終止。如果N=1,則對于分割區(qū)域2執(zhí)行數(shù)據(jù)傳送處理。
為了傳送分割區(qū)域2的數(shù)據(jù),將讀取起始點(diǎn)被移動偏量S2,并且輸入圖像的坐標(biāo)(S2,0)被指定為讀取起始點(diǎn)。然后,返回到步驟S06,從以H2為單位逐行讀取開始重復(fù)處理。通過下式利用H計(jì)算S2的值S2=Int(H/2)=2 (3)前述處理導(dǎo)致了垂直地二等分水平像素?cái)?shù)范圍從1024+α到2048的輸入圖像,處理分割部分的這些像素,并生成要輸出的最終圖像。
接著,將對處理A給出描述。處理A涉及到不帶任何分割地對由1024+α或更少像素組成的靜態(tài)圖像或運(yùn)動圖像的處理。圖13是圖示了由根據(jù)本實(shí)施例的圖像處理方法執(zhí)行的不帶任何分割的處理的流程圖。
輸入圖像的左上原點(diǎn)(0,0)被設(shè)為數(shù)據(jù)傳送源的讀取起始點(diǎn)。另外,與讀取起始點(diǎn)相對應(yīng)的輸出圖像的左上原點(diǎn)被設(shè)為對應(yīng)的輸出像素?cái)?shù)據(jù)的寫入起始點(diǎn)。
執(zhí)行處理來以H為單位逐行地讀取數(shù)據(jù),然后將相關(guān)的輸入圖像的像素?cái)?shù)據(jù)傳送到行緩沖器。即,水平范圍上由H個(gè)像素組成的像素?cái)?shù)據(jù)被垂直地以逐行方式讀取,讀取量對應(yīng)于行緩沖器的空區(qū)域。讀取的像素?cái)?shù)據(jù)被寫入到行緩沖器中。
對于傳送到行緩沖器中的像素?cái)?shù)據(jù)執(zhí)行使用圖像濾波器的處理,諸如像素插值和邊緣增強(qiáng)。另外,對于處理后的像素?cái)?shù)據(jù)執(zhí)行基于像素的操作,諸如伽馬校正和色彩空間轉(zhuǎn)換,以生成要輸出的像素?cái)?shù)據(jù)。
逐行地將輸出像素?cái)?shù)據(jù)寫入到幀緩沖器中,并且將由寫入的像素?cái)?shù)據(jù)組成的圖像彼此耦合。即,水平范圍上由H-4個(gè)像素組成的輸出像素?cái)?shù)據(jù)被逐行地寫入到幀緩沖器中。
確定處理是否到達(dá)了最后一行。如果不是,則處理返回到步驟S22,對仍未傳送的剩余行重復(fù)數(shù)據(jù)傳送處理。
前述處理導(dǎo)致了不加任何分割就處理了由1024+α或更少水平像素組成的靜態(tài)圖像或運(yùn)動圖像的輸入像素?cái)?shù)據(jù),并生成了要輸出的圖像。
接著,將對處理B給出描述。處理B涉及垂直地四等分由2048或更多像素組成的靜態(tài)圖像的處理。圖14是圖示了由根據(jù)本實(shí)施例的圖像處理方法執(zhí)行的垂直四等分處理的流程圖。
如果被二等分的H2的像素組成了具有1024+α或更多像素的靜態(tài)圖像,則執(zhí)行處理以計(jì)算垂直四等分圖像的H4。如果H2為偶數(shù),則通過下式計(jì)算H4H4=Int(H2/2)+2(4)另一方面,如果H2為奇數(shù),則通過下式計(jì)算H4H4=Int(H2/2)+1+2 (5)[步驟S32]四等分圖像的H4與行緩沖器的大小1024+α相比較。如果H4超過大小1024+α,即,處理不允許四等分,則處理進(jìn)行到處理C。處理C涉及二等分H4并執(zhí)行與四等分處理相同的處理。因而,略去關(guān)于處理C的描述。如果H4小于1024+α,則處理進(jìn)行到步驟S33。
由于可通過垂直四等分處理來處理輸入圖像,因此執(zhí)行下面的垂直四等分處理。首先,分割次數(shù)N被設(shè)為初始值0。次數(shù)N=0表示分割區(qū)域1的處理,次數(shù)N=1表示分割區(qū)域2的處理,次數(shù)N=2表示分割區(qū)域3的處理,次數(shù)N=3表示分割區(qū)域4的處理。
輸入圖像的左上原點(diǎn)(0,0)被設(shè)為數(shù)據(jù)傳送源的讀取起始點(diǎn)。另外,與讀取起始點(diǎn)相對應(yīng)的輸出圖像的左上原點(diǎn)被設(shè)為對應(yīng)的輸出像素?cái)?shù)據(jù)的寫入起始點(diǎn)。
以H4為單位逐行地讀取數(shù)據(jù),使得對應(yīng)的輸入圖像的像素?cái)?shù)據(jù)可被傳送到行緩沖器中。即,水平范圍上的H4個(gè)像素?cái)?shù)據(jù)被垂直地讀取,讀取量對應(yīng)于行緩沖器的空區(qū)域,然后讀取的像素?cái)?shù)據(jù)被寫入到行緩沖器中。
對于傳送到行緩沖器中的像素?cái)?shù)據(jù)執(zhí)行使用圖像濾波器的處理,諸如像素插值和邊緣增強(qiáng),然后對于處理后的像素?cái)?shù)據(jù)執(zhí)行基于像素的操作,諸如伽馬校正和色彩空間轉(zhuǎn)換,以生成要輸出的像素?cái)?shù)據(jù)。
以逐行方式將輸出像素?cái)?shù)據(jù)寫入到幀緩沖器中。然后,將由寫入的像素?cái)?shù)據(jù)組成的圖像彼此耦合。即,水平范圍上由H4-4個(gè)像素組成的輸出像素?cái)?shù)據(jù)被逐行地寫入到幀緩沖器中。
確定處理是否到達(dá)了最后一行。如果不是,則處理返回到步驟S35,對仍未傳送的剩余行重復(fù)數(shù)據(jù)傳送處理。
如果處理到達(dá)了最后一行,則遞增分割次數(shù)N。
確定分割次數(shù)N是否為4,即,處理是否到達(dá)了表示為N=3的分割區(qū)域4。如果確定N=4,則處理終止。如果確定N=1,則處理進(jìn)行到步驟S41。如果確定N=2,則處理進(jìn)行到步驟S42。如果確定N=3,則處理進(jìn)行到步驟S43。每種情況中,對于對應(yīng)的分割區(qū)域執(zhí)行數(shù)據(jù)傳送處理。
如果N=1,為了傳送分割區(qū)域2的數(shù)據(jù),讀取起始點(diǎn)被移動偏量S4,且輸入圖像的坐標(biāo)(S4,0)被設(shè)為讀取起始點(diǎn)。然后,處理返回到步驟S35,執(zhí)行以H4為單位逐行讀取數(shù)據(jù)的處理。通過下式利用H2計(jì)算H4的值S4=Int(H2/2)-2(6)[步驟S42]如果N=2,為了傳送分割區(qū)域3的數(shù)據(jù),讀取起始點(diǎn)被移動偏量S2,且輸入圖像的坐標(biāo)(S2,0)被設(shè)為讀取起始點(diǎn)。然后,處理返回到步驟S35,執(zhí)行以H4為單位逐行讀取數(shù)據(jù)的處理。S2的值由式(3)計(jì)算。
如果N=3,為了傳送分割區(qū)域4的數(shù)據(jù),讀取起始點(diǎn)被移動偏量S2+S4,且輸入圖像的坐標(biāo)(S2+S4,0)被設(shè)為讀取起始點(diǎn)。然后,處理返回到步驟S35,執(zhí)行以H4為單位逐行讀取數(shù)據(jù)的處理。S2的值由式(3)計(jì)算,S4的值由式(6)計(jì)算。
前述處理導(dǎo)致了垂直地四等分具有2048到4096水平像素的輸入圖像,處理四等分像素,并生成要輸出的最終圖像。
另外,通過對圖像區(qū)域的2N分割,可通過前述處理來處理任何大小的輸入圖像。
另外,前述圖像處理裝置可實(shí)現(xiàn)為半導(dǎo)體設(shè)備,其中,至少包括垂直2N分割功能的圖像處理功能的電路實(shí)現(xiàn)為半導(dǎo)體電路。實(shí)現(xiàn)為芯片上的半導(dǎo)體設(shè)備的圖像處理裝置可應(yīng)用于移動電話或數(shù)碼照相機(jī)。因而,該圖像處理裝置極大地增強(qiáng)了圖像處理功能,而不需增大電路規(guī)模。
根據(jù)本發(fā)明,圖像處理裝置和方法被配置來根據(jù)存儲在行緩沖器中的寬度上的水平像素?cái)?shù),垂直地均等分割輸入圖像,將每個(gè)分割區(qū)域的像素順序地傳送到行緩沖器中,處理這些像素,然后所有分割區(qū)域的將處理后的像素?cái)?shù)據(jù)耦合為輸出圖像,其中,行緩沖器能夠臨時(shí)存儲由預(yù)定多個(gè)行組成的像素?cái)?shù)據(jù),其中每行由預(yù)定數(shù)目的水平像素組成。如上所述,通過垂直地分割輸入圖像,處理分割后的矩形圖像,并將這些圖像耦合為一個(gè)圖像,這些圖像處理裝置和方法能夠利用寬度上水平像素?cái)?shù)有限的行緩沖器快速地以逐行方式處理任意大小的圖像。這樣可以增強(qiáng)圖像處理功能,而不需增大電路規(guī)模。
前述內(nèi)容只能被認(rèn)為是對本發(fā)明原理的示例說明。另外,由于本領(lǐng)域的技術(shù)人員很容易進(jìn)行大量的修改和變化,因此并不希望將本發(fā)明限于所示和所描述的確切結(jié)構(gòu)和應(yīng)用,并且,所有合適的修改和等同物都可被認(rèn)為落在本發(fā)明所附權(quán)利要求及其等同物的范圍內(nèi)。
權(quán)利要求
1.一種用于在預(yù)定單位基礎(chǔ)上讀取輸入圖像,處理所述圖像,并生成輸出圖像的圖像處理裝置,包括臨時(shí)存儲單元,具有水平分布并且在寬度上提供有預(yù)定水平像素?cái)?shù)的存儲區(qū)域,并用于在與所述預(yù)定水平像素?cái)?shù)相對應(yīng)的寬度上臨時(shí)地存儲組成所述輸入圖像的像素?cái)?shù)據(jù)的多個(gè)行;圖像分割單元,用于如果所述輸入圖像的水平像素?cái)?shù)大于所述寬度上的預(yù)定水平像素?cái)?shù),則根據(jù)所述寬度上的預(yù)定水平像素?cái)?shù)垂直且均等地分割所述輸入圖像,并用于控制在每個(gè)分割區(qū)域處所述輸入圖像的像素?cái)?shù)據(jù)向所述臨時(shí)存儲單元中的傳送;輸入數(shù)據(jù)傳送單元,用于在所述圖像分割單元的控制下,將所述輸入圖像中屬于所指示的分割區(qū)域的像素?cái)?shù)據(jù)順序地傳送到所述臨時(shí)存儲單元;像素處理單元,用于對被傳送到所述臨時(shí)存儲單元的所述輸入圖像的像素?cái)?shù)據(jù)執(zhí)行以單個(gè)或多個(gè)像素為單位的圖像處理;圖像耦合單元,用于控制在每個(gè)分割區(qū)域處要被順序輸出的所述像素處理單元的像素?cái)?shù)據(jù)的傳送,使得所述分割區(qū)域的輸出像素?cái)?shù)據(jù)可以彼此耦合,以生成輸出圖像;和輸出數(shù)據(jù)傳送單元,用于在所述圖像耦合單元的控制下,將來自所述像素處理單元的所述輸出像素?cái)?shù)據(jù)傳送到輸出圖像存儲區(qū)域中。
2.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述圖像分割單元將所述輸入圖像分割為偶數(shù)個(gè)區(qū)域,每個(gè)區(qū)域在寬度上的水平像素?cái)?shù)不超過所述寬度上的預(yù)定水平像素?cái)?shù)。
3.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述輸入數(shù)據(jù)傳送單元將每個(gè)均等分割區(qū)域的寬度上的水平像素?cái)?shù)提供作為單位,并且在該單位基礎(chǔ)上以逐行方式傳送所述輸入圖像中屬于所述分割區(qū)域的像素?cái)?shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述圖像分割單元將每個(gè)均等分割區(qū)域的寬度上的水平像素?cái)?shù)作為偏量值,計(jì)算指針,以指向所述輸入圖像中與所述分割區(qū)域相對應(yīng)的像素?cái)?shù)據(jù)以所述偏量值被存儲的位置,并且將所計(jì)算的指針作為讀取起始點(diǎn)指示給所述輸入數(shù)據(jù)傳送單元。
5.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述圖像耦合單元將每個(gè)均等分割區(qū)域的寬度上的水平像素?cái)?shù)作為偏量值,計(jì)算指針,以指向所述輸出圖像中與每個(gè)分割區(qū)域相對應(yīng)的輸出像素?cái)?shù)據(jù)以所述偏量值被存儲的位置,并且將所計(jì)算的指針作為寫入起始點(diǎn)指示給所述輸出數(shù)據(jù)傳送單元。
6.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,如果要被均等分割的所述輸入圖像或者要被均等分割的分割區(qū)域的水平像素?cái)?shù)為奇數(shù),則所述圖像分割單元分割位于要被均等分割的區(qū)域的水平中心處的像素?cái)?shù)據(jù)列,使得所分割的像素?cái)?shù)據(jù)列可被包括在分割區(qū)域中,并且如果要被耦合的兩個(gè)分割區(qū)域都包括彼此共同的位于水平中心處的所述像素?cái)?shù)據(jù)列,則所述圖像耦合單元耦合兩個(gè)分割區(qū)域之間位于水平中心處的所述像素?cái)?shù)據(jù)列。
7.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述輸入數(shù)據(jù)傳送單元和所述輸出數(shù)據(jù)傳送單元中的至少一個(gè)是直接存儲器訪問控制器。
8.根據(jù)權(quán)利要求7所述的圖像處理裝置,其中,所述輸入數(shù)據(jù)傳送單元和所述輸出數(shù)據(jù)傳送單元由通用直接存儲器訪問控制器組成,使得所述輸入數(shù)據(jù)傳送或所述輸出數(shù)據(jù)傳送可以通過所述圖像分割單元和所述圖像耦合單元獨(dú)占地執(zhí)行。
9.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述臨時(shí)存儲單元中所包括的所述寬度上的預(yù)定水平像素?cái)?shù)大于視頻圖形陣列大小的寬度上的水平像素?cái)?shù)。
10.一種用于在預(yù)定單位基礎(chǔ)上讀取輸入圖像,執(zhí)行圖像處理,并生成輸出圖像的圖像處理方法,在所述圖像處理方法中如果所述輸入圖像的水平像素?cái)?shù)大于臨時(shí)存儲單元的寬度上的預(yù)定水平像素?cái)?shù),則圖像分割單元根據(jù)所述寬度上的預(yù)定水平像素?cái)?shù),垂直且均等地分割所述輸入圖像,其中,所述臨時(shí)存儲單元被提供有水平分布并且在寬度上具有預(yù)定水平像素?cái)?shù)的存儲區(qū)域,并用于在由所述預(yù)定水平像素?cái)?shù)組成的寬度上臨時(shí)地存儲所述輸入圖像的像素?cái)?shù)據(jù)的多個(gè)行;所述圖像分割單元控制輸入數(shù)據(jù)傳送單元,使得在每個(gè)分割區(qū)域處所述輸入圖像中屬于所述分割區(qū)域的像素?cái)?shù)據(jù)可被順序地傳送到所述臨時(shí)存儲單元;像素處理單元對被傳送到所述臨時(shí)存儲單元的所述輸入圖像的像素?cái)?shù)據(jù)執(zhí)行以單個(gè)或多個(gè)像素為單位的圖像處理;并且圖像耦合單元控制輸出數(shù)據(jù)傳送單元,使得在每個(gè)分割區(qū)域處要從所述圖像處理單元輸出的一個(gè)分割區(qū)域的像素?cái)?shù)據(jù)可與另一個(gè)分割區(qū)域的輸出像素?cái)?shù)據(jù)相耦合,并且其中,在每個(gè)分割區(qū)域處,所述輸入圖像的像素?cái)?shù)據(jù)以分割區(qū)域的寬度上的水平像素?cái)?shù)為單位被逐行地傳送并被處理,并且當(dāng)像素?cái)?shù)據(jù)被處理時(shí)在每個(gè)分割區(qū)域處要輸出的一個(gè)分割區(qū)域的輸出像素?cái)?shù)據(jù)與另一個(gè)分割區(qū)域的輸出像素?cái)?shù)據(jù)相耦合,以生成所述輸出圖像。
11.一種用于在預(yù)定單位基礎(chǔ)上讀取輸入圖像,對所述輸入圖像執(zhí)行圖像處理,并生成輸出圖像的半導(dǎo)體設(shè)備,包括緩沖器,被提供有水平分布并且在寬度上有預(yù)定水平像素?cái)?shù)的存儲區(qū)域,并用于在最大由所述預(yù)定水平像素?cái)?shù)組成的寬度上臨時(shí)地存儲所述輸入圖像的像素?cái)?shù)據(jù)的多個(gè)行;圖像分割器,用于如果所述輸入圖像的水平像素?cái)?shù)大于所述緩沖器的寬度上的所述預(yù)定水平像素?cái)?shù),則根據(jù)所述寬度上的預(yù)定水平像素?cái)?shù),垂直地分割所述輸入圖像,然后控制在每個(gè)分割區(qū)域處所述輸入圖像的像素?cái)?shù)據(jù)向所述緩沖器的傳送;輸入數(shù)據(jù)傳送電路,用于將所述輸入圖像中屬于由所述圖像分割器所指示的分割區(qū)域的像素?cái)?shù)據(jù)順序地傳送到所述緩沖器;像素處理器,用于對被傳送到所述緩沖器的所述輸入圖像的像素?cái)?shù)據(jù)執(zhí)行以單個(gè)或多個(gè)像素為單位的圖像處理;圖像耦合器,用于控制在每個(gè)分割區(qū)域處要被順序輸出的所述像素處理器的輸出像素?cái)?shù)據(jù)的傳送,使得所述分割區(qū)域的輸出像素?cái)?shù)據(jù)彼此耦合,以生成輸出圖像;和輸出數(shù)據(jù)傳送電路,用于根據(jù)所述圖像耦合器,將要從所述像素處理器輸出的輸出像素?cái)?shù)據(jù)傳送到所指示的輸出圖像存儲區(qū)域。
全文摘要
本發(fā)明提供了一種用于處理圖像的裝置和方法,用于增強(qiáng)圖像處理功能,而無需增大電路規(guī)模。圖像處理裝置包括圖像分割器、像素處理器和圖像耦合器。如果輸入圖像寬度上的水平像素?cái)?shù)大于行緩沖器的大小,則圖像分割器沿垂直方向均等地分割輸入圖像,使得得到的分割區(qū)域小于行緩沖器寬度上的水平像素?cái)?shù)。然后,圖像分割器控制輸入數(shù)據(jù)傳送電路,使得對于每個(gè)均等分割區(qū)域,輸入圖像的像素?cái)?shù)據(jù)可被順序傳送到行緩沖器。圖像處理器順序地處理臨時(shí)存儲在行緩沖器中的輸入圖像的像素?cái)?shù)據(jù),然后發(fā)送輸出像素?cái)?shù)據(jù)。圖像耦合器控制輸出數(shù)據(jù)傳送電路,使得一個(gè)分割區(qū)域的順序輸出的輸出像素?cái)?shù)據(jù)可與另一個(gè)分割區(qū)域的輸出像素相耦合,以生成輸出圖像。
文檔編號G06T1/60GK1798236SQ20051006460
公開日2006年7月5日 申請日期2005年4月15日 優(yōu)先權(quán)日2004年12月28日
發(fā)明者工藤聰夫, 山田淳 申請人:富士通株式會社