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

共享硬件進行影像放大或縮小的方法及裝置的制作方法

文檔序號:2526372閱讀:366來源:國知局
專利名稱:共享硬件進行影像放大或縮小的方法及裝置的制作方法
技術領域
本發明是關于影像處理的方法,尤其是關于共享硬件進行影像放大或縮小 的方法。
背景技術
隨著多媒體的發展,人們對影像處理的需求遽增。而影像處理包含多種面
向,其中之一就是將輸入影像做縮小(scaling down)或放大(scaling up)的動作(簡 稱影像縮放),而執行該功能的硬件則為一縮放器(scaler)。
對于影像縮放的應用,例如網絡地圖的影像縮放,常要求兼顧速度及精 確度,因此,如何進行影像縮放且盡可能達到實時而不失真的要求,則為一重 要課題。
然而,進行影像縮放的方法之一,舉例而言,是將影像中的所有像素數據 完整儲存于高容量的內存中,再配合高速處理器做運算。此舉固然可取得最佳 化的影像,然而將大幅增加成本,并不符合業界實際需求。此外,業界對于所 述影像縮放的作法各有不同,甚至有將影像縮小與放大交由不同的硬件來執行 的作法,常使得硬件架構變得相當復雜而無效率。

發明內容
基于上述目的,本發明提供一種影像處理方法,可共享硬件進行影像放大 (scaling up)或縮小(scaling down),且其使用極少量的內存即可達到影像放大的 功能。該影像具有對應于一具有多個列及多個行的二維數組的多個像素。本發 明的方法包括提供一個列緩沖器,具有至少2N個儲存位置、提供一第一變量 及一第二變量,用以配合該列緩沖器進行影像放大或縮小。其中,當進行影像 縮小時,執行一縮小程序,該縮小程序包括將對應該二維數組的一第k列的多 個像素依序儲存于該列緩沖器的第1至第N個儲存位置中、將對應該二維數組的一第k+l列第j行的像素儲存于該第一變量中、將對應該二維數組的一第k+l 列第j+l行的像素儲存于該第二變量中、使用一第一算法依照分別暫存于該列 緩沖器第j行、第j+l行、該第一變量以及該第二變量中的這些像素計算出一 第一新像素、輸出該第一新像素、將上述儲存于該第一變量中的該像素移位至 該行緩沖器中的第j個儲存位置、將上述儲存于該第二變量中的該像素移位至 該第一變量中、將對應該二維數組的一第k+l列第j+2行的一像素儲存于該第
二變量中、使用該第一算法依照分別暫存于該列緩沖器第j+l行、第j+2行、
該第一變量以及該第二變量中的這些像素計算出一第二新像素,并輸出該第二 新像素。再者,當進行影像放大時,執行一放大程序,該放大程序包括將對應
該二維數組的一第k列的多個像素依序儲存于該列緩沖器的第1至第N個儲存 位置中、將對應該二維數組的一第k+l列第j行的像素儲存于該第一變量中、 將對應該二維數組的一第k+l列第j+l行的像素儲存于該第二變量中、使用一 第二算法依照分別暫存于該列緩沖器第j行、第j+l行、該第一變量以及該第 二變量中的這些像素計算出一第一新列像素群,并輸出該第一新列像素群、將 上述儲存于該第一變量中的該像素移位至該行緩沖器中的第N+j個儲存位置、 將上述儲存于該第二變量中的該像素移位至該第一變量中、將對應該二維數組 的一第k+l列第j+2行的一像素儲存于該第二變量中、使用該第二算法依照分 別暫存于該列緩沖器第j+l行、第j+2行、該第一變量以及該第二變量中的這 些像素計算出一第二新列像素群,并輸出該第二新列像素群。其中當執行該放 大程序中的當將上述儲存于該第一變量中的該像素移位至該行緩沖器中的第 N+j個儲存位置的步驟時,更包括當j:N時,則使用該第二算法依照分別暫存 于該列緩沖器第j行、第j+l行、第N+j行、第N+j+l行的這些像素計算出至 少一第三新列像素群,并輸出至少該第三新列像素群。
本發明又提供一種影像處理裝置,可共享硬件進行影像放大或縮小,該影 像具有同上述的多個像素。本發明的裝置包括一個列緩沖器,具有至少2N個 儲存位置、 一第一變量、 一第二變量以及一縮放器。該縮放器用以配合該列緩 沖器及該第一、第二變量進行影像放大或縮小。該縮放器執行上述該縮小程序 以將影像縮小,且可執行上述該放大程序以將影像放大。


為讓本發明的上述目的、特征和優點能更明顯易懂,以下結合附圖對本發 明的具體實施方式
作詳細說明,其中
圖1為現有技術中的影像處理器的架構圖。
圖2為依照本發明進行影像縮放的方法流程圖。
圖3a為依照本發明縮小程序的方法流程圖。
圖3b為進行本發明縮小程序前的像素與的后新像素的示意圖。
圖3c為進行本發明步驟S402中列緩沖器的儲存數據示意圖。
圖3d為進行本發明步驟S404中列緩沖器的儲存數據示意圖。
圖3e為進行本發明步驟S406中列緩沖器的儲存數據示意圖。
圖4 a為依照本發明放大程序的方法流程圖。
圖4b為進行本發明放大程序前的像素與的后新像素的示意圖。
圖4c為進行本發明步驟S402中列緩沖器的儲存數據示意圖。
圖4d為進行本發明步驟S404中列緩沖器的儲存數據示意圖。
圖4e為進行本發明步驟S406中列緩沖器的儲存數據示意圖。
圖4f為進行本發明步驟S418中列緩沖器的儲存數據示意圖。
主要組件符號說明
100 影像處理系統
101~影像源
102~列緩沖器
103-影像處理器
104~第一變量
105 顯示裝置
106 第二變量
108~縮放器
S202 S210 步驟
S302 S316 步驟
S402 S418步驟
D , DN D2N 儲存位置
具體實施例方式
為了讓本發明的目的、特征、及優點能更明顯易懂,下文特舉較佳實施例, 并配合所附圖做詳細的說明。本發明說明書提供不同的實施例來說明本發明不 同實施方式的技術特征。
圖1為依照本發明的影像處理系統100的架構圖。圖中影像源101提供一 影像,該影像具有對應于一具有多個列與多個行(在本實施例中,舉例而言,具
有M列N行)的二維數組的多個像素,而這些像素的格式可歸類為YUV像素 格式及RGB格式等,以表達視頻影像中的色彩濃度與信息。影像處理器103 接收來自影像源101的數據而對該影像進行各種影像處理功能,然而依據本發 明,本文僅就影像處理功能中的影像縮放功能做說明。影像處理器103中包括 一縮放器108,在本發明中可對該影像進行放大(scaling up)或縮小(scaling down) 的功能,有別于現有技術,其可共享硬件包括一個列緩沖器102、 一第一變量 104及一第二變量106等,如圖1中所示。經該影像處理器103處理該影像后 產生一新影像,該新影像具有對應于一具有多個列及多個行(不限定是M列N 行)的二維數組的多個新像素,可輸出至一顯示裝置105。
為了達成上述在進行影像放大或縮小時可共享硬件的目的,本發明又提供 一方法,如圖2所示。該方法于步驟S202中提供一個列緩沖器102、步驟S204 中提供一第一變量104及一第二變量106,并于步驟S206中判斷是進行影像放 大或是影像縮小。本方法又包括當進行影像縮小時,執行一縮小程序S208,以 及當進行影像放大時,執行一放大程序S210。
圖3a表示圖2中該縮小程序S208的方法流程圖。圖3b表示具有多個像 素的一影像示意圖,在本實施例中,欲由該縮小程序S208所產生的新像素b,、 b2亦標示于圖上以方便說明。當進行該縮小程序S208時,舉例而言,可以雙 線性內插法(bilinear)進行計算,例如,從圖中像素<、akj+1、 ak+1j和ak+1j+1得一 第一新像素b,、從圖中像素akjw、 akj+2、 ak"j+,和ak"j+2取得一第二新像素b2, 以此類推,集合所有的新像素可得到一縮小的新影像。當于步驟S302中,將 對應該二維數組的一第k列的多個像素a、、 ak2、 ak3、…、akj、 akj+1、 akj+2、… a、依序儲存于該列緩沖器的多個儲存位置D2、 D3、…Dj、 Dj+1、 Dj+2、…Dx中,如圖3c所示(圖中這些儲存位置僅標示有N個,然而其數量不在此限)。 步驟S304中,將對應該二維數組的一第k+l列第j行的像素a"'j儲存于該第 一變量104中,如圖3d所示。并于步驟S306中,將對應該二維數組的一第k+l 列第j+l行的像素3"、+|儲存于該第二變量106中。然而,值得注意的是,在 一般情況下,影像處理可從第1行第1列的一像素開始,但為了做更廣義的說 明,本實施例則從第k行第j列開始,是以圖3d中這些儲存位置D,、 D2、 D3 至Dj.,已經和先前圖3c中所這些儲存位置儲存的這些像素有所不同,原因容后 再述。步驟S308中,該縮放器108使用一第一算法,舉例而言即前述的該雙 線性內插法,依照分別暫存于Dj、 Dj+1、該第一變量104以及該第二變量106 中的這些像素akj 、 akj+l 、 ak+1j和ak+1j+1計算出一第一新像素b,(表示于圖3b 中),并輸出該第一新像素b,。接下來,于步驟S310中,將上述儲存于該第一 變量104中的該像素ak+'j移位至該行緩沖器102中的第j個儲存位置Dj,于步 驟S312中,將上述儲存于該第二變量106中的該像素ak+'j+,移位至該第一變量 104中,并于步驟S314中,將對應該二維數組的一第k+l列第j+2行的一像素 a"'j+2儲存于該第二變量106中,上述步驟S310、 S314、 S316可參考圖3e所 示,至此,可說明圖3d所這些儲存位置D,、 D2、 D3到Dj.,所儲存的這些像素 何以與圖3c不同。之后,步驟S316與步驟S308相似,該縮放器108使用該 第一算法,同步驟S308的該雙線性內插法,依照分別暫存于Dw、 Dw、該第 一變量104以及該第二變量106中的這些像素4+1 、 akj+2 、 ak+1j+1 、 ak+1j+2# 算出一第二新像素b2(表示于圖3b中),并輸出該第二新像素b2。從本實施例乃 從第k列第j行的該像素akj開始,雖僅列舉計算兩新像素bi 、 1)2的方法,然 而熟悉本技藝的人員當可依照本發明推廣至所有像素(akj, lSk^M,l^jSN〉, 而產生一相對原影像縮小的新影像。
圖4a表示圖2中該放大程序210的方法流程圖。圖4b表示具有多個像素 的一影像示意圖。當進行該放大程序S210時,舉例而言,可以雙線性內插法 (bilinear)進行計算,例如,從圖中像素akj 、 akj+1 、 ak+1」和ak+1j+1得一第一新 列像素群B"又包括新像素bu、 b,2)及一第三新列像素群B3(又包括新像素b31、 b32),又從圖中像素akj+1 、 akj+2 、 ak+1j+1和ak+1j+2取得一第二新像素B2(又包 括新像素b2l、 b22),及一第四新列像素群B4(又包括新像素b41、 b42),以此類推,集合所有像素以及新像素可得到一放大的新影像。當于步驟S402中,將對應 該二維數組的一第k列的多個像素a、、 ak2、 ak3、…、akj、 akj+1、 akj+2、…a、 依序儲存于該列緩沖器的多個儲存位置D,、 D2、 D3、…Dj、 Dj+1、 Dj+2、…Dn 中,如圖4c所示,而Dn至D^亦有像素儲存,原因可由下述實施例中推知。 步驟S404中,將對應該二維數組的一第k+1列第j行的像素^"j儲存于該第 一變量104中,如圖4d所示。并于步驟S406中,將對應該二維數組的一第k+1 列第j+1行的像素ak+'j+,儲存于該第二變量106中。然而,值得注意的是,在 一般情況下,影像處理可從第1行第1列的一像素開始,但為了做更廣義的說 明,本實施例以從第k行第j列開始。步驟S408中,該縮放器108使用一第二 算法,舉例而言,同前述的該雙線性內插法,依照分別暫存于Dj、 D」+1、該第 一變量104以及該第二變量106中的這些像素akj 、 akj+1 、 ak+1j和ak+1j+1計算 出一第一新列像素群B,(又包括新像素bu、 bI2,表示于圖4b中),并輸出該第 一新像素B,。接下來,于步驟S410中,將上述儲存于該第一變量104中的該 像素ak+'j移位至該行緩沖器102中的第N+j個儲存位置DN+j,于步驟S412中, 將上述儲存于該第二變量106中的該像素^+、+1移位至該第一變量104中,并 于步驟S414中,將對應該二維數組的一第k+l列第j+2行的一像素a"'j+2儲存 于該第二變量106中,上述步驟S410、 S414、 S416可參考圖4e。之后,步驟 S416與步驟S408相似,該縮放器108使用該第二算法,同步驟S408的該雙線 性內插法,依照分別暫存于D;+I、 D;+2、該第一變量104以及該第二變量106 中的這些像素akj+1 、 akj+2 、 ak+1j+1 、 ak+1j+2計算出一第二新行像素B2(又包括 新像素b2,、 b22,表示于圖4b中),并輸出該第二新列像素群B2。在此必須進 一步說明,當進行影像放大時,使用內插法可由鄰近的四個像素(如圖4b中的 akj+1 、akj+2 、ak+1j+1 、 ^+1」+2)而產生本實施例中的四個新像素(如圖4b中的b 、 b12、 b31、 b32),進而集合所有像素及新像素而達成影像放大的目的。然而,熟 悉本技藝人士可輕易了解,依照顯示裝置的影像掃描原理,新像素中位于同一 列者(如圖4b中的bn、 b12、 b21、 b22)必需對該顯示裝置整列輸出后,次列中的 新像素(如圖4b中的b31、 b32、 b4l、 b42)才得以輸出。故本發明在執行該放大程
序中儲存次列像素的方式(如步驟S410)與縮小程序中的方式(如步驟S410)有所 不同。是以,如圖4a中,當執行該放大程序中步驟S410的"當將上述儲存于該第一變量中的該像素移位至該行緩沖器中的第N+j個儲存位置"時,更包括
當j=N時,依照步驟S418,使用該第二算法依照分別暫存于該列緩沖器102 第J行、第j+l行、第N+j行、第N+j+l行的這些像素(akj 、akj+l、 ak+1』及ak+1j+1) 計算并輸出至少一第三新列像素群B3(又包括新像素b31、 b32,表示于圖4b中)。 值得注意的是,其它多個與該第三新列像素群處于同列的所有新像素(一第四新 列像素群B4中的新像素b4l、 b42即屬于此)亦可以上述相似的方式一并計算并 輸出,如圖4f所示。從本實施例乃從第k列第j行的該像素akj開始,雖僅列 舉計算兩新列像素群B, 、 B2 、 B3及B4的方法,然而熟悉本技藝人士當可 依照本發明推廣至所有像素{&、, lSk^M, 1SJ蕓N),而產生一相對原影像放 大的新影像。
雖然本發明已以較佳實施例揭示如上,然其并非用以限定本發明,任何本 領域技術人員,在不脫離本發明的精神和范圍內,當可作些許的修改和完善, 因此本發明的保護范圍當以權利要求書所界定的為準。
權利要求
1.一種影像處理方法,可共享硬件進行影像放大或縮??;該影像具有對應于一具有多個列(M列)及多個行(N行)的二維數組的多個像素({akj,1≤k≤M,1≤j≤N}),該方法包括提供一個列緩沖器,具有至少2N個儲存位置;提供一第一變量及一第二變量,用以配合該列緩沖器進行影像放大或縮?。灰约爱斶M行影像縮小時,執行一縮小程序,該縮小程序包括將對應該二維數組的一第k列的多個像素({akj,j=1,2,3,...N})依序儲存于該列緩沖器的第1至第N個儲存位置中;將對應該二維數組的一第k+1列第j行的像素(ak+1j)儲存于該第一變量中;將對應該二維數組的一第k+1列第j+1行的像素(ak+1j+1)儲存于該第二變量中;使用一第一算法依照分別暫存于該列緩沖器第j行、第j+1行、該第一變量以及該第二變量中的這些像素(akj、akj+1、ak+1j和ak+1j+1)計算出一第一新像素(bkj),并輸出該第一新像素;將上述儲存于該第一變量中的該像素移位至該行緩沖器中的第j個儲存位置;將上述儲存于該第二變量中的該像素移位至該第一變量中;將對應該二維數組的一第k+1列第j+2行的一像素(ak+1j+2)儲存于該第二變量中;以及使用一第一算法依照分別暫存于該列緩沖器第j+1行、第j+2行、該第一變量以及該第二變量中的這些像素(akj+1、akj+2、ak+1j+1、ak+1j+2)計算出一第二新像素,并輸出該第二新像素。
2. 如權利要求l所述的影像處理方法,其特征在于,當進行影像放大時,執行一放大程序,該放大程序包括將對應該二維數組的一第k列的多個像素((akj,』=1,2,3,..^})依序儲存于 該列緩沖器的第1至第N個儲存位置中;將對應該二維數組的一第k+l列第j行的像素(ak"j)儲存于該第一變量中;將對應該二維數組的一第k+l列第j+l行的像素(^+1」+1)儲存于該第二變使用一第二算法依照分別暫存于該列緩沖器第j行、第j+l行、該第一變量以及該第二變量中的這些像素(akj 、 akj+1 、 ak+1j和^+1」+1)計算出一第一新 列像素群,并輸出該第一新列像素群;將上述儲存于該第一變量中的該像素移位至該行緩沖器中的第N+j個儲 存位置;將上述儲存于該第二變量中的該像素移位至該第一變量中; 將對應該二維數組的一第k+l列第j+2行的像素(&"、+2)儲存于該第二變 量中;以及使用該第二算法依照分別暫存于該列緩沖器第j+l行、第j+2行、該第一 變量以及該第二變量中的這些像素(aV, 、 akj+2 、 ak+1j+1 、 ^+、+2)計算出一第 二新列像素群,并輸出該第二新列像素群。
3. 如權利要求2所述的影像處理方法,其特征在于,當執行該放大程序 中的當將上述儲^于該第一變量中的該像素移位至該行緩沖器中的第N+j個 儲存位置的步驟時,更包括當j:N時,則使用該第二算法依照分別暫存于該 列緩沖器第j行、第j+l行、第N+j行、第N+j+l行的這些像素(4 、akj+1、 ak+1j 及ak"j+,)計算出至少一第三新列像素群,并輸出至少該第三新列像素群。
4. 如權利要求2所述的影像處理方法,其特征在于,該第一算法及第二 算法皆可使用雙線性內插法。
5. 如權利要求1所述的影像處理方法,其特征在于,這些像素的格式為 YUV像素格式。
6. 如權利要求l所述的影像處理方法,其特征在于,這些像素的格式為 RGB像素格式。
7. —種影像處理裝置,可共享硬件進行影像放大或縮小,可共享硬件進 行影像放大或縮小;該影像具有對應于一具有多個列(M列)及多個行(N行)的二維數組的多個像素((akj, 1^k^M, l^j^N}),該裝置包括一個列緩沖器,具有至少2N個儲存位置;一第一變量及一第二變量;以及一縮放器,用以配合該列緩沖器及該第一、第二變量進行影像放大或縮??; 其中,該縮放器執行一縮小程序以進行影像縮小,該縮小程序包括將對應該二維數組的一第k列的多個像素((akj,j-l,2,3,…N))依序儲存于該 列緩沖器的第1至第N個儲存位置中;將對應該二維數組的一第k+l列第j行的像素(ak+'」)儲存于該第一變量中;將對應該二維數組的一第k+l列第j+l行的像教ak+'」+,)儲存于該第二變量中;使用一第一算法依照分別暫存于該列緩沖器第j行、第j+l行、該第一變 量以及該第二變量中的這些像素(akj 、akj+1 、ak+1j和&^+1)計算出一第一新像素(1^), 并輸出該第一新像素;將上述儲存于該第一變量中的該像素移位至該行緩沖器中的第j個儲存位置;將上述儲存于該第二變量中的該像素移位至該第一變量中; 將對應該二維數組的一第k+l列第j+2行的像素(ak"j+2)儲存于該第二變量中;以及使用一第一算法依照分別暫存于該列緩沖器第j+l行、第j+2行、該第一 變量以及該第二變量中的這些像素(4+1 、 ak」+2 、 ak+1j+1 、 ak+、+2)計算出一第二新像 素,并輸出該第二新像素。
8.如權利要求7所述的影像處理裝置,其特征在于,該縮放器執行一放 大程序以進行影像放大,該放大程序包括將對應該二維數組的一第k列的多個像素(^kj, j爿,2,3,…N))依序儲存于該列緩 沖器的第1至第N個儲存位置中;將對應該二維數組的一第k+l列第j行的像素(ak+'j)儲存于該第一變量中; 將對應該二維數組的一第k+l列第j+l行的像素(ak+'j+,)儲存于該第二變量中;使用一第二算法依照分別暫存于該列緩沖器第j行、第j+l行、該第一變量以及該第二變量中的這些像素(akj 、 akj+I 、 ak+1j和ak"jw)計算出一第一新列像素群, 并輸出該第一新列像素群;將上述儲存于該第一變量中的該像素移位至該行緩沖器中的第N+j個儲存位置;將上述儲存于該第二變量中的該像素移位至該第一變量中;將對應該二維數組的一第k+l列第j+2行的一像素(^+、+2)儲存于該第二變量中;以及使用該第二算法依照分別暫存于該列緩沖器第j+l行、第j+2行、該第一變量 以及該第二變量中的這些像素(4+1 、 akj+2 、 ak+1」+1 、 ak+'j+2)計算出一第二新像素群, 并輸出該第二新像素群。
9. 如權利要求8所述的影像處理裝置,其特征在于,當該縮放器執行該 放大程序中的當將上述儲存于該第一變量中的該像素移位至該行緩沖器中的 第N+j個儲存位置的步驟時,更包括當j:N時,則使用該第二算法依照分別 暫存于該列緩沖器第j行、第j+l行、第N+j行、第N+j+l行的這些像素(4 、 aki+l、a"'j及ak"j+,)計算出一第三新列像素群,并輸出該第三新列像素群。
10. 如權利要求8所述的影像處理裝置,其特征在于,該第一算法及 該第二算法皆可使用雙線性內插法。
11. 如權利要求7所述的影像處理裝置,其特征在于,這些像素的格 式為YUV像素格式。
12. 如權利要求7所述的影像處理裝置,其特征在于,這些像素的格 式為RGB像素格式。
全文摘要
本發明提供一種影像處理方法和裝置,可共享硬件進行影像放大或縮小。本發明的裝置包括一個列緩沖器、一第一變量、一第二變量和一縮放器。該縮放器用以配合該列緩沖器及該第一、第二變量進行影像放大或縮小。該縮放器執行一縮小程序以進行影像縮小,或執行一放大程序以進行影像放大。
文檔編號G09G5/02GK101599260SQ20081003842
公開日2009年12月9日 申請日期2008年6月2日 優先權日2008年6月2日
發明者陳永緯 申請人:慧國(上海)軟件科技有限公司;慧榮科技股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 东平县| 黑山县| 湖南省| 辉南县| 德州市| 东乌珠穆沁旗| 徐州市| 平顺县| 五家渠市| 南投县| 凭祥市| 蛟河市| 清水县| 弋阳县| 城步| 武鸣县| 靖安县| 门头沟区| 什邡市| 调兵山市| 镇安县| 庐江县| 渭源县| 集贤县| 民乐县| 建湖县| 马山县| 湟中县| 塔城市| 仙居县| 三门峡市| 白朗县| 城步| 泰州市| 华安县| 江陵县| 蕉岭县| 灵寿县| 阿荣旗| 辉南县| 都安|