TW201342358A - 平行縮放器處理 - Google Patents

平行縮放器處理 Download PDF

Info

Publication number
TW201342358A
TW201342358A TW102106456A TW102106456A TW201342358A TW 201342358 A TW201342358 A TW 201342358A TW 102106456 A TW102106456 A TW 102106456A TW 102106456 A TW102106456 A TW 102106456A TW 201342358 A TW201342358 A TW 201342358A
Authority
TW
Taiwan
Prior art keywords
pixels
vertical
scaler
scalers
horizontal
Prior art date
Application number
TW102106456A
Other languages
English (en)
Other versions
TWI489443B (zh
Inventor
Brijesh Tripathi
Nitin Bhargava
Craig M Okruhlica
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201342358A publication Critical patent/TW201342358A/zh
Application granted granted Critical
Publication of TWI489443B publication Critical patent/TWI489443B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Abstract

一種用於同時縮放來自一源影像之多個像素的平行縮放器單元。該縮放器單元包括多個垂直縮放器及多個水平縮放器。將來自該源影像之一行像素呈現給該等垂直縮放器,且每一垂直縮放器自該行像素選擇適當的像素以用於縮放。每一垂直縮放器在一垂直方向上縮放該等經選擇像素,且接著將該等經垂直縮放之像素輸送至一相應水平縮放器。每一水平縮放器在一水平方向上縮放該等所接收像素。

Description

平行縮放器處理
本發明大體上係關於圖形資訊處理,且詳言之係關於用於縮放影像之方法及機制。
近年來,具有圖形處理能力之電子器件已變得越來越流行,尤其因為此等器件正變得普通消費者越來越買得起。在此等電子器件內,將許多不同的元件及功能單元(諸如縮放器單元)用來執行圖形處理。通常利用縮放器單元或縮放器來縮放影像或視訊圖框之大小。舉例而言,在一特定情況下,源影像可處於800×600像素的原始格式大小,且可需要縮放至1024×768像素以便適合具體顯示器類型。通常,縮放器連續地每時脈對一個像素進行操作,且縮放經常涉及提取及重取每一像素所需之資料。此類型之縮放為效率低的且對圖形處理系統之記憶體造成太多壓力。
在一實施例中,預期一包括縮放器單元之圖形處理系統,其中該縮放器單元可包括複數個垂直縮放器及複數個水平縮放器。該圖形處理系統可包括具有多個級之一管線,其中可在每一級中對一源影像執行不同類型之處理。該源影像可在被輸送至縮放器單元之前藉由一或多個管線級處理或操作(例如,旋轉)。在一實施例中,該等垂直縮放器可定位在該縮放器單元之前端處。該等垂直縮放器可自一旋轉單 元提取或接收源影像像素,該旋轉單元可為圖形處理管線中之在該縮放器單元前面的級。
在一實施例中,該縮放器單元可包括四個垂直縮放器,且該四個垂直縮放器中之每一者可經組態以在一垂直方向上縮放像素。每一垂直縮放器可包括用於執行該垂直縮放之一多分接頭多相濾波器。每一垂直縮放器可包括對應於該多分接頭多相濾波器之每一分接頭的一多工器,且該多工器可經組態以自呈現給該垂直縮放器之該行像素選擇一適當的像素。
可將每一垂直縮放器之輸出輸送至一相應水平縮放器。該等水平縮放器可經組態以執行對自該等垂直縮放器接收之像素的一水平縮放。在一實施例中,在縮放器單元中可存在針對每一垂直縮放器之一水平縮放器。每一水平縮放器可包括一多分接頭多相濾波器及耦接至該多分接頭多相濾波器之分接頭的一移位暫存器鏈。自一相應垂直縮放器輸出之每一經垂直縮放之像素可經由水平縮放器中之該移位暫存器鏈受到移位。
在一實施例中,源影像可分割成複數個影像塊。縮放器單元可經組態以逐個影像塊地處理該源影像。跨越一或多個影像塊之一行像素可由該等垂直縮放器提取,始於影像之左上影像塊的最左行。接著,在提取該影像塊之該最左行之後,則可提取右邊之下一行等等,直至到達該影像塊之右邊緣為止。接著,可處理左上影像塊下方之影像塊,且此型樣可沿著該影像內的最左之影像塊行一直繼續。接著,可處理右邊之下一影像塊行,且此程序可繼續,直至已處理該影像之所有影像塊行為止。
鑒於本文中所呈現之方法的以下詳細描述,此等及其他特徵及優勢將對於一般熟習此項技術者變得顯而易見。
10‧‧‧管線
12‧‧‧記憶體
14‧‧‧通道
16‧‧‧通道
18‧‧‧通道
20‧‧‧通道
22‧‧‧直接記憶體存取(RDMA)單元
24‧‧‧正規化單元
26‧‧‧色彩空間轉換(CSC)單元
28‧‧‧色度減少取樣單元
30‧‧‧重新格式化單元
32‧‧‧遞色單元
34‧‧‧源影像
36‧‧‧提取單元
38‧‧‧控制邏輯
40A‧‧‧多工器
40B‧‧‧多工器
40C‧‧‧多工器
40D‧‧‧多工器
40E‧‧‧多工器
50‧‧‧垂直多分接頭多相濾波器
52‧‧‧表
54‧‧‧表
56‧‧‧表
58‧‧‧表
60‧‧‧表
62A‧‧‧乘法器
62B‧‧‧乘法器
62C‧‧‧乘法器
62D‧‧‧乘法器
62E‧‧‧乘法器
64‧‧‧捨位項
66‧‧‧加法器
68‧‧‧箝位單元
70‧‧‧移位暫存器
72‧‧‧移位暫存器
74‧‧‧移位暫存器
76‧‧‧移位暫存器
78‧‧‧移位暫存器
80‧‧‧移位暫存器
82‧‧‧移位暫存器
84‧‧‧係數表
86‧‧‧係數表
88‧‧‧係數表
90‧‧‧係數表
92‧‧‧係數表
94‧‧‧係數表
96‧‧‧係數表
98‧‧‧係數表
100A‧‧‧乘法器
100B‧‧‧乘法器
100C‧‧‧乘法器
100D‧‧‧乘法器
100E‧‧‧乘法器
100F‧‧‧乘法器
100G‧‧‧乘法器
100H‧‧‧乘法器
100I‧‧‧乘法器
102‧‧‧捨位項
104‧‧‧加法器
106‧‧‧箝位單元
112‧‧‧影像塊
114‧‧‧區段
116‧‧‧區段
118‧‧‧區段
120‧‧‧影像塊
122‧‧‧區段
124‧‧‧區段
126‧‧‧區段
128‧‧‧影像塊
130‧‧‧區段
132‧‧‧區段
134‧‧‧區段
140‧‧‧垂直縮放器單元
142‧‧‧垂直縮放器
144‧‧‧垂直縮放器
146‧‧‧垂直縮放器
148‧‧‧垂直縮放器
150‧‧‧水平縮放器單元
152‧‧‧水平縮放器
154‧‧‧水平縮放器
156‧‧‧水平縮放器
158‧‧‧水平縮放器
190‧‧‧系統
192‧‧‧外部記憶體
194‧‧‧周邊設備
196‧‧‧電源供應器
198‧‧‧積體電路
200‧‧‧桌上型電腦
210‧‧‧膝上型電腦
220‧‧‧平板型電腦
230‧‧‧蜂巢式電話
240‧‧‧電腦可讀媒體
可藉由參考結合隨附圖式之以下描述而更好地理解方法及機制之上述及更多優勢,在隨附圖式中:
圖1為說明圖形處理管線之一實施例的方塊圖。
圖2為根據一或多個實施例的分割成複數個影像塊之源影像。
圖3為根據一或多個實施例之垂直縮放器之前端的方塊圖。
圖4為說明根據一或多個實施例之垂直多分接頭多相濾波器的方塊圖。
圖5為水平多分接頭多相濾波器之一實施例的方塊圖。
圖6為方塊之工作集之一實施例的方塊圖。
圖7為呈現給垂直縮放器單元之一行像素之一實施例的方塊圖。
圖8為在第一水平遍次上垂直縮放器對像素之選擇之一實施例的方塊圖。
圖9為在第二水平遍次上垂直縮放器對像素之選擇之一實施例的方塊圖。
圖10為垂直縮放器與水平縮放器之間的連接之一實施例的方塊圖。
圖11為說明用於縮放源影像之方法之一實施例的概括流程圖。
圖12為說明用於縮放像素之方法之一實施例的概括流程圖。
圖13為系統之一實施例的方塊圖。
圖14為電腦可讀媒體之一實施例的方塊圖。
在以下描述中,闡述許多具體細節以提供對本文中所呈現之方法及機制的詳盡理解。然而,一般熟習此項技術者應認識到,可在無此等具體細節之情況下實踐各種實施例。在一些實例中,並未詳細展示熟知結構、組件、信號、電腦程式指令及技術,以避免使本文中所描述之方法晦澀不清。應瞭解,為了說明之簡單及清楚起見,諸圖中 所展示之元件未必係按比例繪製的。舉例而言,可相對於其他元件誇大一些元件之尺寸。
本說明書包括對「一實施例」的提及。片語「在一實施例中」在不同上下文中之出現未必指代同一實施例。可以與本發明一致之任何合適方式來組合特定特徵、結構或特性。此外,如貫穿此申請案所使用,詞語「可」係以許可性意義(亦即,意謂具有潛力)而非強制性意義(亦即,意謂必須)使用。類似地,詞語「包括(include)」、「包括(including)」及「包括(includes)」意謂包括但不限於。
術語。以下段落提供本發明中(包括附加申請專利範圍)之術語的定義及/或上下文。
「包含」。此術語為開放式術語。如在附加申請專利範圍中所使用,此術語並不排除額外結構或步驟。考慮敍述「一種包含複數個垂直縮放器之裝置……」的技術方案。此種技術方案不排除該裝置包括額外組件(例如,處理器、快取記憶體、記憶體控制器)的情況。
「經組態以」。可將各種單元、電路或其他組件描述或主張為「經組態以」執行(多個)任務。在該等上下文中,「經組態以」用以藉由指示單元/電路/組件包括在操作期間執行彼(等)任務之結構(例如,電路)而暗示結構。因而,即使當單元/電路/組件當前不在操作中(例如,未接通)時,所指定之單元/電路/組件仍可被稱為經組態以執行任務。與「經組態以……」語言一起使用的單元/電路/組件包括硬體,例如,電路、儲存可執行以實施操作之程式指令的記憶體,等等。敍述一單元/電路/組件「經組態以」執行一或多個任務明確地並不意欲對於彼單元/電路/組件引用35 U.S.C.§112第六段。另外,「經組態以」可包括由軟體及/或韌體(例如,FPGA或執行軟體之通用處理器)操縱以便以能夠執行相關任務之方式操作的泛用結構(例如,泛用電路)。「經組態以」亦可包括調適製造程序(例如,半導體製造設 施)來製造經調適以實施或執行一或多個任務的器件(例如,積體電路)。
「基於」。如本文中所使用,此術語用以描述影響判定之一或多個因素。此術語並不排除可影響判定之額外因素。亦即,一判定可僅僅基於彼等因素或至少部分地基於彼等因素。考慮片語「基於B來判定A」。雖然B可為影響A之判定之一因素,但此種片語並不排除A之判定亦基於C的情況。在其他實例中,可僅僅基於B來判定A。
現參看圖1,展示說明圖形處理管線之一實施例的方塊圖。在各種實施例中,管線10可併入系統單晶片(SoC)、特殊應用積體電路(ASIC)、裝置、處理器、處理器核心或各種其他類似器件中之任一者內。在一些實施例中,管線10之一或多個例項可包括在SoC或其他器件內。
源影像34可儲存在記憶體12中,且源影像34可為靜態影像或視訊串流之圖框。在其他實施例中,源影像34可儲存在其他位置中。源影像34代表可儲存在記憶體12中且可由管線10處理之任何數目個影像、視訊或圖形資料。記憶體12代表任何數目及類型之記憶體器件(例如,動態隨機存取記憶體(DRAM)、快取記憶體)。
源影像34可由稱為像素之大量離散像元表示。在數位成像中,影像或視訊圖框中之最小資訊項目可稱為「像素」。像素通常以規則二維柵格形式配置。源影像34中之每一像素可由一或多個像素分量表示。此等像素分量可包括藉以表示影像之色彩空間中之每一色彩的色彩值。舉例而言,色彩空間可為紅綠藍(RGB)色彩空間。每一像素可因此由紅色分量、綠色分量及藍色分量表示。在一實施例中,色彩分量之值可在零至2N-1的範圍中,其中「N」為用以表示該值之位元數目。每一色彩分量之值可表示彼像素中之相應色彩的亮度或強度。亦可使用其他色彩空間,諸如明度及色度表示(YCrCb)。此外,可包括 額外像素分量。舉例而言,可將用於混色的α值與RGB分量包括在一起以形成ARGB色彩空間。用以儲存每一像素之位元數目可取決於經利用之特定格式。舉例而言,在一些系統中之像素可需要8位元,而在其他系統中之像素可需要10位元等等,其中在各種系統中使用每像素各種數目個位元中之任一者。
管線10可包括四個分離的通道14至20來處理每像素高達四個色彩分量。每一通道可包括旋轉單元、一組影像塊緩衝器、一組垂直縮放器及一組水平縮放器。在一實施例中,通道14可處理α通道。在其他實施例中,可能不利用通道14,且相反,可僅利用對應於三個色彩分量的三個通道16至20。讀取直接記憶體存取(RDMA)單元22可經組態以自記憶體12讀取圖形資料(例如,源影像34)。RDMA單元22可包括四個旋轉單元、四個影像塊緩衝器及一DMA緩衝器(未圖示)。四個影像塊緩衝器可用於儲存源影像34之已旋轉影像塊。
針對源影像之每一色彩分量可存在複數個垂直縮放器及水平縮放器。每組垂直縮放器可自相應組影像塊緩衝器提取一行像素。在另一實施例中,可自影像塊緩衝器將像素輸送至垂直縮放器。每通道之每組垂直縮放器可包括任何數目個垂直縮放器。在一實施例中,針對每一色彩分量通道,在管線10內可存在四個分離的垂直縮放器。在其他實施例中,對於每個色彩分量通道,可利用其他數目個垂直縮放器。
源影像34可分割成複數個影像塊且可由旋轉單元逐個影像塊地處理,且經旋轉之影像塊可儲存在每一色彩分量通道中之影像塊緩衝器中之一者中。在一實施例中,對於每通道可存在四個影像塊緩衝器,但在其他實施例中,可利用其他數目個影像塊緩衝器。在一實施例中,垂直縮放器可自相應影像塊緩衝器提取一行像素。該行像素可延伸穿過源影像之一或多個影像塊。
該行像素可輸送至垂直縮放器之前端處的多工器。每一垂直縮放器可包括複數個多工器,其中針對垂直縮放器之多分接頭多相濾波器之每一分接頭具有一多工器。每一多工器可自該行像素選擇適當像素,其中適當像素係基於正在執行之縮放類型而判定。該組垂直縮放器之每一垂直縮放器可經組態以處理一或多個像素且輸出單一經垂直縮放之像素。
在源影像34正被處理時,垂直縮放器可經組態以利用數位微分分析器(DDA)來追蹤在源影像中之當前位置。DDA可包括初始位置及步階,該步階判定DDA在每一步階期間在源影像34中移動經過之影像像素或子像素數目。當步階大小小於單一像素時或若DDA歸因於步階大小具有在小數點之後之小數部分而落到像素之間的某處,則術語「子像素」指代像素之一部分。步階大小控制縮放因子,使得小於1之步階對應於放大(upscaling)且大於1之步階對應於縮小(downscaling)。
源影像34可分割成影像塊,且在一實施例中,影像塊可為16列像素乘以128行像素。然而,在其他實施例中,影像塊大小可變化。源影像34之寬度可大於影像塊之寬度,使得多個影像塊可用於組成源影像34的每一列。此外,源影像34之長度可大於影像塊之長度,使得多個影像塊可用於組成源影像34的每一行。
每一組垂直縮放器可一次一個影像塊地處理源影像34,始於源影像34之左上影像塊。在一實施例中,垂直縮放器可在單一時脈循環中自源影像34的單一行提取像素。垂直縮放器可執行所需次數的提取以自單一行提取所需量的像素。像素之所需量可基於垂直縮放器之數目、每一垂直縮放器之多分接頭多相濾波器中之分接頭數目及正被執行之縮放類型。在一些實施例中,所需量的像素可跨越源影像34之一個以上影像塊。
在縮放來自影像塊之一行的所有像素之後,垂直縮放器可在該影像塊內向右移動一行且自此行提取像素。垂直縮放器可繼續向右移動,直至已到達了影像塊之右邊緣。接著,垂直縮放器可將該影像塊向下移動至較低列且繼續此程序,直至提取了整個影像塊。在一些情況下,若在第一遍次上處理之像素數目等於或大於影像塊之一行中之像素數目,則可僅需要經由影像塊之單一遍次。在已垂直縮放影像塊之後,除非剛完成之影像塊為影像之底部影像塊,否則垂直縮放器可移動至在剛完成之影像塊正下方的影像塊。在彼情況下,在已提取且垂直縮放來自影像之完整影像塊行之後,垂直縮放器可向右移動至下一行影像塊且繼續此型樣,直至已提取且垂直縮放來自整個影像之所有像素為止。
每一垂直縮放器可經組態以在每一時脈循環上產生經垂直縮放之像素,且將像素輸送至相應水平縮放器。在一實施例中,針對每一色彩分量通道,在管線內可存在四個分離的水平縮放器,而在其他實施例中,每色彩分量通道可利用其他數目個水平縮放器。在各種實施例中,可存在對應於管線10之每一色彩分量通道內的每一垂直縮放器之一水平縮放器。
每一水平縮放器可自相應垂直縮放器接收經垂直縮放之像素,且經垂直縮放之像素可耦接至一移位暫存器鏈的輸入端。針對水平縮放器之多分接頭多相濾波器之每一分接頭可存在一移位暫存器。水平縮放器可自所接收像素產生經水平縮放之像素。
在每一色彩分量通道中,水平縮放器可向正規化單元24輸出經垂直縮放且經水平縮放之像素。在一實施例中,正規化單元24可經組態以將所接收像素值轉換至在0.0與1.0之間的範圍內。舉例而言,在一實施例中,自水平縮放器輸出之10位元像素值可採取0至1023之值。在此種實施例中,正規化單元24可將自水平縮放器接收之值除以 1023以改變該值的範圍。在其他實施例中,取決於用以表示像素值之位元數目,正規化單元24可用其他值進行除法。此外,正規化單元24可經組態以自像素值中之一或多者移除可選偏移。如圖1中所示,通道14中之水平縮放器耦接至遞色單元32。在一實施例中,通道14可處理α通道,且通道14中之水平縮放器之輸出可被輸送至遞色單元32。
正規化單元24可將正規化像素值輸送至色彩空間轉換(CSC)單元26。CSC單元26可經組態以在兩個不同的色彩空間之間轉換。舉例而言,在一實施例中,可在源影像34中藉由RGB色彩空間表示像素值。在此實施例中,管線10之輸出可需要處於YCbCr色彩空間中,且因此CSC單元26可將像素自RGB色彩空間轉換至YCbCr色彩空間。在其他實施例中,可利用各種其他色彩空間,且CSC單元26可經組態以在此等各種色彩空間之間轉換像素。
在一實施例中,CSC單元26可將像素輸送至色度減少取樣單元28。色度減少取樣單元28可經組態以基於正被執行之減少取樣的類型(例如,4:2:2、4:2:0)而減少取樣像素之色度分量。舉例而言,在一實施例中,若目的影像經指定利用4:2:0結構,則色度減少取樣單元28可執行源影像之色度像素分量的垂直及水平減少取樣。在一些情況下,若不存在色度像素分量之減少取樣,則色度減少取樣單元28可為通過單元。
色度減少取樣單元28可耦接至重新格式化單元30。重新格式化單元30可經組態以逆轉由正規化單元24執行之正規化。因此,像素值可返回至在像素由正規化單元24正規化之前所利用之先前值範圍。像素可在經重新格式化之後通過遞色單元32,且遞色單元32可插入雜訊以使量化誤差隨機化。自遞色單元32之輸出可為經處理目的影像。在各種實施例中,經處理目的影像可寫入至圖框緩衝器、記憶體12、顯示控制器、顯示器或另一位置。在其他實施例中,圖形處理管線10可 包括其他級或單元,及/或圖1中所展示之單元中的一些可經配置成不同的次序。管線10為圖形處理管線之一實例,且本文中所描述之方法及機制可與不同類型之其他圖形處理管線一起利用。
注意,其他實施例可包括組件之其他組合,其包括圖1中所展示之組件及/或其他組件之子集或超集。儘管可能在圖1中展示給定組件之一例項,但其他實施例可包括給定組件之兩個或兩個以上例項。類似地,貫穿此詳細描述,即使僅展示一例項,但仍可包括給定組件之兩個或兩個以上例項,及/或即使展示多個例項,但仍可使用僅包括一例項之實施例。
現轉至圖2,展示分割成複數個影像塊的源影像之一實施例之方塊圖。在一實施例中,源影像34可在水平方向上分割成M個影像塊且在垂直方向上分割成N個影像塊。在第一行中之影像塊經編號成(0,0)及(0,1)等等,直至(0,N-1)。在第一列中之影像塊經編號成(0,0)及(1,0)等等,直至(M-1,0)。
個別影像塊之大小可因實施例而異。舉例而言,在一實施例中,個別影像塊可為16線乘以128行,使得每一線含有128個像素。在另一實施例中,可藉由自影像塊之左側及右側上之鄰近影像塊提取額外七個像素而將影像影像塊線延伸至142個像素。在源影像34之左邊緣上,最左像素可重複七次,且在源影像34之右邊緣上,最右像素可重複七次。可執行自影像塊之右邊緣及左邊緣上之鄰近影像塊提取像素(或邊緣像素之重複)以促進每一水平縮放器中之15分接頭多相濾波器,使得當影像塊之邊緣上的像素經水平縮放時,對於影像塊之左邊緣存在左側上的七個額外像素,且對於影像塊之右邊緣存在右側上的七個額外像素。此允許15分接頭多相濾波器以一致方式縮放邊緣像素。在其他實施例中,在水平多相濾波器中具有其他數目個分接頭之情況下,可在影像塊之邊緣上提取或重複其他數目個像素。
在一實施例中,在縮放器單元內之架構可始於複數個垂直縮放器,繼之以複數個水平縮放器。在一實施例中,可存在對像素資料平行操作之四個垂直縮放器。在其他實施例中,可利用其他數目個垂直縮放器來對輸入像素資料平行地操作。垂直縮放器架構/區塊可藉由以下操作來對影像塊操作:在影像之左上處--影像塊(0,0)開始,且沿著第一行向下移動,直至到達影像塊(0,N-1)為止。在對第一行操作之後,垂直縮放器可移動至下一行之頂部--影像塊(1,0)。垂直縮放器可穿過第二行之影像塊至該行之底部,且以此型樣繼續,直至到達影像之右下影像塊(M-1,N-1)為止。
現參看圖3,展示垂直縮放器之前端之一實施例的方塊圖。垂直縮放器之前端可包括提取單元36,其用於自源影像提取像素。在一實施例中,提取單元36可自影像塊緩衝器提取像素,該等影像塊緩衝器可儲存由圖形管線之前一級處理的像素。在另一實施例中,源影像可儲存在記憶體中,且提取單元36可自記憶體提取像素。術語「源影像」可指代儲存在記憶體中之影像或自圖形處理管線之前一級(例如,旋轉單元)接收之影像。另外,術語「源影像」可指代實際影像或來自視訊串流之圖框。此外,可貫穿本發明以可互換方式使用術語「提取單元」及「提取邏輯」。
在一實施例中,針對整個縮放器單元內之所有垂直縮放器可存在單一提取單元36。在另一實施例中,每一垂直縮放器可具有單獨的提取單元。提取單元36可提取一行像素且將該行像素呈現給多工器40A至40E。多工器40A至40E代表可在垂直縮放器內利用之任何數目個多工器。在一實施例中,針對垂直縮放器內之多相濾波器的每一分接頭可存在一多工器。自多工器40A至40E中之每一者的輸出可被輸送至多相濾波器之相應分接頭。
控制邏輯38可控制至多工器40A至40E的選擇信號。控制邏輯38 可利用數位微分分析器(DDA)來追蹤在源影像中之當前像素位置。DDA具有初始位置及步階,該步階判定DDA在影像塊之工作集中在每一遍次上移動經過的源影像像素或子像素數目。在一實施例中,DDA值及步階大小可儲存在位於控制邏輯38中之暫存器中。步階大小控制縮放因子。小於1之步階導致放大,且大於1之步階導致縮小。
在一實施例中,初始DDA值可以4.20二進位補碼格式自24位元暫存器讀取。4.20格式可定義為4位元之整數部分及20位元之小數部分,其中「.」表示將值之整數部分與小數部分分離之小數點。初始DDA值之4.20格式可表示相對於源影像之像素(0,0)為-8至+7之最小或最大初始DDA值。因為縮放器在源影像之輸入像素中反覆執行,所以步階值可添加至當前DDA值,從而產生下一DDA值。在一實施例中,可實施捨位,使得若DDA值之小數部分的位元15為「1」,則4位元之係數索引(位元19:16)可被升值捨位。此外,若DDA值之最高小數位元(19)為「1」,則該值之4位元整數部分可被升值捨位。在一實施例中,最大步階值可為四。在此實施例中,步階值可為呈3.20格式之23位元無正負號數字,且步階值可用零延伸至4.20格式,以用於二進位補碼計算中。在其他實施例中,最大步階值可為其他值。
在其他實施例中,DDA值可為36位元、呈16.20格式之二進位補碼數字。在其他實施例中,可利用DDA值之其他大小及表示。當將16.20格式用以表示DDA值時,16位元之整數部分(捨位之後)可用以判定源影像之像素位置。此值(在垂直情況下除以八且在水平情況下除以128)亦可指示正涉及之影像塊。20位元之小數分量可用作對係數表之索引。在一實施例中,可存在儲存在係數表中之對應於16個相位的16個值。在此實施例中,小數分量之上部4位元(捨位之後)可用以在每分接頭之16個係數之間選擇。在其他實施例中,其他數目個相位可儲存在係數表中,且可將其他數目個位元的小數分量用以在此等相位 之間選擇。
垂直縮放器之輸出可饋入到水平縮放器之輸入端,且水平縮放器可利用15分接頭多相濾波器。可類似於移位暫存器而饋入水平縮放器之分接頭。為了考慮到濾波器,在一實施例中,可藉由將每一線之第一像素重複至該影像塊之左側上的七個像素,且藉由將每一線之最後像素重複至該影像塊之右側上的七個像素而在水平方向上擴展影像塊。在一實施例中,控制邏輯38可經組態以在源影像之邊緣上選擇邊緣像素作為與所需的一樣多的多工器輸出。
現轉至圖4,展示垂直多分接頭多相濾波器之一實施例的方塊圖。每一垂直縮放器可包括垂直多分接頭多相濾波器50。在一實施例中,多分接頭多相濾波器50可為五分接頭垂直縮放器,且五個分接頭中之每一者可包括係數表。在一實施例中,每一係數表可包括16個輸入項。像素值可以像素變數Y為中心,且輸入至濾波器50之像素值可包括Y-2、Y-1、Y、Y+1及Y+2。每一像素可乘以來自表52至60中之相應係數表的係數。接著,可藉由加法器66將來自五個乘法器62A至62E之輸出及捨位項64加在一起,且接著該結果可由箝位單元68箝位。來自箝位單元68之輸出可為經垂直縮放之像素,且此值可輸送至相應水平縮放器之輸入端。在一實施例中,管線化邏輯可用於實施乘法器62A至62E及加法器66。
在一實施例中,至垂直縮放器之輸入像素分量可為呈10.0無正負號格式之10位元。在一些實施例中,10.0分量可延伸至11位元(11.0)之二進位補碼值。在一實施例中,係數(係數表中)可為呈4.12二進位補碼格式的16位元。可在濾波器之每一分接頭處將分量輸入及相應係數乘在一起,從而產生27位元(15.12)之二進位補碼數字。五個分接頭乘法器之輸出可加在一起(連同捨位分量),以產生30位元(18.12)之二進位補碼數字。接著,小於零或大於1之像素值可箝位回至14位元 (10.4)之無正負號數字。小於零之值可箝位至全零,且大於或等於()1023之值可箝位至1023(0x3FF0)。
現參看圖5,展示水平多分接頭多相濾波器之一實施例的方塊圖。每一水平縮放器可包括多分接頭多相濾波器90。在一實施例中,濾波器90可為15分接頭多相濾波器。在其他實施例中,濾波器90可包括其他數目個分接頭。每一分接頭可包括相應係數表84至98。在一實施例中,每一係數表可包括16個係數輸入項。在其他實施例中,每一係數表可包括其他數目個係數輸入項。
如圖5中所說明,像素值可以變數X為中心,且像素值可包括X+7、…、X+1、X、X-1、…、X-7。一移位暫存器鏈70至82中之每一像素可乘以來自相應係數表84至98之係數。係數可儲存在係數表84至98內之可程式化暫存器中。來自乘法器100A至100I之輸出及捨位項102可在加法器104中加總在一起,且接著來自加法器104之結果可在箝位單元106中加以箝位。自箝位單元106之輸出可為經水平縮放之像素,且此值可被輸送至正規化單元(未圖示)之輸入端,至另一管線級,或至另一位置。在一實施例中,水平縮放器可利用管線化邏輯來實施乘法器100A至100I及加法器104。
在一實施例中,可存在四個水平縮放器。在其他實施例中,可利用其他數目個水平縮放器。四個水平縮放器可均按同一水平DDA值但對不同垂直像素工作。在一些情況下,當垂直縮放器將一列之最左像素輸送至水平縮放器時,水平縮放器可將像素快閃寫入水平濾波器之全部15個分接頭中。水平縮放器亦可設定中心分接頭以指向行開始像素-7,以在負的初始DDA X值之情況下確保適當的像素複製。在其他情況下,可自鄰近影像塊提取額外像素,以允許水平縮放器對邊緣像素操作而不對於多個分接頭重複邊緣像素。
隨著垂直縮放器處理像素且將該等像素輸送至水平縮放器,像 素被移位經過分接頭,從而增加中心分接頭之指標。水平縮放器可將中心分接頭與當前DDA值所要求之像素比較,且一旦該等值匹配,則水平縮放器可開始產生輸出像素。在任何給定時脈上,當水平縮放器正在產生經縮放輸出像素時,若下一DDA值亦與當前中心分接頭值匹配,則水平縮放器不可移入新的像素,且可阻止相應垂直縮放器推入新的像素。
在經過新一行影像塊之第一遍次上,水平縮放器可抓取DDA值之複本,因為水平縮放器在經過同一行之後續遍次的開始處可需要重新載入此值。在一實施例中,垂直縮放器可通知水平縮放器新的行是否正在開始。在後續行上,下一DDA值可為當前DDA值加上DDA步階大小。
在一實施例中,水平縮放器可經組態以判定一或多個邊界條件。水平移位鏈中之第一分接頭可偵測其是否具有源影像之最右像素,且回應於偵測到此條件,水平移位暫存器鏈不可自垂直縮放器接受更多像素。水平縮放器可繼續使DDA值增量,且縮放器可繼續使分接頭值移位,但由於新的像素並未移位至移位暫存器鏈中,因此可在移位暫存器鏈之輸入處複製影像之最右像素。在一實施例中,每一水平縮放器亦可偵測所產生之像素數目是否等於在經縮放輸出影像中所預期之量。當水平縮放器偵測到此條件時,水平縮放器可停止產生輸出像素,且設定指示已達到影像末端的旗標。接著,水平縮放器可等待由垂直縮放器開始新的遍次。
在一實施例中,水平縮放器之輸入像素分量可為呈10.4無正負號格式之14位元,且此等分量可延伸至15位元(11.4)之二進位補碼值。分接頭係數可為16位元(4.12)之二進位補碼值。輸入及係數可乘在一起,從而產生31位元(15.16)之二進位補碼值。15個分接頭乘法器之輸出可加在一起(連同捨位分量),以產生35位元(19.16)之二進位補碼數 字。像素值可接著箝位回至14位元之10.4無正負號數字。
上文描述之實例及不同分量及值的不同格式及位元長度代表一可能實施例。注意,在其他實施例中,在垂直縮放器及水平縮放器內各種不同值的格式及位元長度可變化。
現轉至圖6,展示根據一或多個實施例之影像塊之工作集。在一實施例中,影像塊之大小可為128×8像素且該影像塊工作集可包括三個影像塊(影像塊112、120及128)。在一實施例中,該影像塊工作集可在旋轉單元之輸出級處儲存在影像塊緩衝器中。影像塊緩衝器亦可耦接至縮放器單元之輸入級。在一實施例中,影像塊112、120及128中之每一影像塊可儲存在單獨的影像塊緩衝器中。圖6中所展示之實例僅為了說明性目的,且在其他實施例中,該影像塊工作集可包括其他數目個影像塊且影像塊大小可變化。
在其他實施例中,工作集之選擇及大小可取決於每一垂直縮放器之多分接頭多相濾波器中之分接頭數目,且可取決於縮放器單元中之垂直縮放器的數目。影像塊工作集之選擇及大小亦可取決於由縮放器單元執行之垂直放大或縮小的量。此等因素可判定在每一時脈循環上需要提取且呈現給縮放器單元中之複數個垂直縮放器的像素數目。舉例而言,在一實施例中,在縮放器單元中可存在四個垂直縮放器,每一垂直縮放器可包括五分接頭多相濾波器,且垂直縮放器可按因子四縮小。在此實施例中,可需要在單一時脈循環中自單一行提取至少17個像素,以為縮放器單元中之垂直縮放器的所有分接頭提取足夠的像素。由於每一影像塊包括每行8個像素,則在此實施例中可需要提取至少三個影像塊。
可向四個分離的垂直縮放器饋入來自三個影像塊之24個像素的整個垂直行。垂直縮放器中之每一者可為五分接頭多相濾波器,使得每一垂直縮放器可選擇及利用五個像素來產生單一經垂直縮放的像 素。可將24個像素的垂直行呈現給垂直縮放器,且四個多相濾波器之20個分接頭中的每一者可挑選其需要之像素以產生經縮放輸出。在一實施例中,多分接頭多相濾波器之每一分接頭可包括多工器來從該行像素進行選擇。頂部垂直縮放器可對上部像素工作,且接著三個剩餘垂直縮放器中之每一者可在鄰近垂直縮放器下方一步階處工作,從而產生每時脈總計四個連續的、經垂直縮放的像素。
在縮小情況之一實例中,對應於步階大小為四,每一垂直縮放器可在每時脈消耗四個像素且每時脈產生一個經垂直縮小的像素。同樣地,每一水平縮放器可每四個時脈產生一像素,使得以每時脈十六個像素之淨速率消耗源影像,且將以每時脈一像素之淨速率產生經縮放之輸出影像。
在放大情況之一實例中,每一垂直縮放器可在每時脈消耗0.25個像素,從而每時脈產生一個經垂直放大的像素。每一水平縮放器可每時脈產生一像素,使得以每時脈一像素之淨速率消耗輸入影像,且可以每時脈四個像素之淨速率產生經縮放輸出影像。
在影像開始時,垂直縮放器可等待提取單元以像素填充三個128×8緩衝器,且將此等像素作為24個像素之行呈現給垂直縮放器。縮放器控制邏輯可為四個垂直縮放器計算最初四個DDA值。第一垂直縮放器可在最初DDA值(DDA-Init)處開始操作,第二垂直縮放器可在(DDA-Init+1個步階)處開始操作,第三垂直縮放器可在(DDA-Init+2個步階)處開始操作,且第四垂直縮放器可在(DDA-Init+3個步階)處開始操作。
提取邏輯可向垂直縮放器呈現每時脈及水平地跨越影像塊之步階的24個像素之行,直至遇到最右像素。在對當前組的四個DDA步階操作時,縮放器邏輯可查看下一組步階。在下一反覆中,若不需要當前引導影像塊緩衝器,則縮放器邏輯可向提取邏輯確證以下信號:將 不再需要此緩衝器。回應於此信號經確證,當提取邏輯已將最右像素呈現給垂直縮放器時,提取邏輯可提取源影像之下一影像塊且將此影像塊添加至工作集。若此信號未經確證,則提取邏輯可針對工作集之下一水平遍次而繼續將當前組緩衝器呈現給縮放器控制邏輯。
此程序可繼續,直至縮放器控制邏輯偵測到源影像之底部邊緣為止。可存在許多不同的邊界條件供縮放器控制邏輯偵測。一條件可為垂直縮放器分接頭中之任一者是否需要在源影像之最後像素之外的像素。若偵測到此條件,則縮放器控制邏輯可藉由將底部像素饋入需要其之任何分接頭中而複製該底部像素。在一實施例中,縮放器控制邏輯亦可追蹤已產生之經垂直縮放像素的數目。在下一反覆中,若所有垂直縮放器將產生在經縮放輸出影像之末端之外的像素,則縮放器控制邏輯可向提取邏輯確證「完成當前行」信號。
當移至下一行影像塊時,可向垂直縮放器DDA重新載入DDA-Init值(針對四個分離的垂直縮放器+0、1、2及3個步階),此係因為垂直縮放器DDA將在下一行中再一次位於影像之頂部。垂直縮放器可繼續處理行,直至水平縮放器控制邏輯判定已到達影像之右邊緣為止。當到達源影像之右下影像塊時,垂直縮放器可確證「完成源影像」信號。在一些情況下,提取邏輯可能夠獨立於垂直縮放器及水平縮放器而判定此情況。
影像塊工作集亦可包括分別在影像塊112、120及128之左側的區段114、122及130中的額外像素。可提取且包括此等額外七個像素作為影像塊之工作集之部分,以適應水平縮放器之多分接頭多相濾波器。在一實施例中,水平縮放器可包括15分接頭多相濾波器。在此種實施例中,在影像塊之左側的額外七個像素可包括在影像塊工作集中。當水平縮放器以影像塊112之最左像素為中心時,則在區段114中之七個額外像素可允許用足夠像素填入15分接頭濾波器,從而以正常 方式執行水平縮放。在其他實施例中,當在影像塊之左側的額外像素未被提取或包括在影像塊工作集中時,可由縮放器提取邏輯重複邊緣像素。當15分接頭濾波器分別以影像塊112、120及128之最右像素為中心時,在右側區段116、124及132中之額外七個像素可用於類似用途。
包括區段118、126及134之在影像塊工作集之很右側上的區段可包括在影像塊工作集中,以適應在圖形處理管線之稍後級中的縮小。若在稍後級中啟用色度縮小,則由縮放單元產生之每一影像塊可需要在每一列中具有偶數個像素,以便色度縮小單元可適當地起作用。在色度減少取樣之一實例(諸如將4:4:4轉換至4:2:2)中,利用兩個水平像素來產生一像素。因此,每一列將需要具有偶數個像素。可執行之縮放的類型根據每一實施例變化,且在許多情況下,縮放類型可產生奇數個像素。在此等情況下,可利用區段118、126及134中之額外像素來產生額外像素,以使得經縮放影像塊的每一列具有偶數個像素。在其他實施例中,可自影像塊工作集省略區段118、126及134。一旦垂直縮放器已利用影像塊112之所有像素,則影像塊112可被引退。接著,提取單元可提取下一影像塊,且將此影像塊與影像塊120及128包括在一起作為新的影像塊工作集。
現參看圖7,展示呈現給垂直縮放器單元之一行像素之一實施例的方塊圖。垂直縮放器142位於垂直縮放器單元140之頂部,且其他三個垂直縮放器144至148中之每一者可比鄰近垂直縮放器低一DDA步階。行中之像素可跨越影像塊(X,Y)、(X,Y+1)及(X,Y+2)。圖7中所展示之像素來自源影像之單一行,且該單一行可來自一影像塊工作集,諸如圖6中所展示之工作集。在一實施例中,來自影像塊工作集之整行可包括24個像素。在其他實施例中,來自影像塊工作集之整行可包括其他數目個像素。舉例而言,在另一實施例中,可使用四個影像塊 之工作集,且每一工作集可具有16個列,且因此此實施例之整行像素可為64個像素。
現轉至圖8,展示在第一水平遍次上垂直縮放器對像素之選擇之一實施例的方塊圖。垂直縮放器單元140包括四個垂直縮放器142至148,且虛線指示將由每一垂直縮放器利用之像素。垂直縮放器142以來自影像塊(X,Y)之列0的像素為中心,垂直縮放器144以來自影像塊(X,Y)之列2的像素為中心,垂直縮放器146以來自影像塊(X,Y)之列4的像素為中心,且垂直縮放器148以來自影像塊(X,Y)之列6的像素為中心。在此實例中,初始DDA值為0且步階大小為2。在一實施例中,影像塊(X,Y-1)之底部兩個像素可包括在該行像素中,位於行之頂部,以適應以來自影像塊(X,Y)之列0的像素為中心之垂直縮放器142的五分接頭濾波器。在另一實施例中,來自影像塊(X,Y)之列0的像素可被重複,且可由垂直縮放器142之頂部三個多工器選擇,且可由五分接頭多相濾波器之頂部三個分接頭使用。
在一實施例中,垂直縮放器142至148中之每一垂直縮放器可包括五分接頭多相濾波器。垂直縮放器142至148中之每一垂直縮放器亦可包括五個多工器,其中每一多工器經組態以為多相濾波器之相應分接頭選擇像素。在圖8中所說明之實例中,由每一垂直縮放器選擇之五個像素將被依次指派給五個分接頭。舉例而言,來自影像塊(X,Y-1)之列6的像素將由耦接至垂直縮放器142之多相濾波器之頂部分接頭的多工器選擇,且來自影像塊(X,Y-1)之列7的像素將由耦接至多相濾波器之自上而下第二個分接頭的多工器選擇,等等。其他垂直縮放器中之每一者可以類似方式使用耦接至其多相濾波器之分接頭的多工器選擇像素。
圖8中所說明之實例示範了針對垂直縮小因子為二的自該行像素的像素選擇。垂直縮小因子為二指示經縮放影像中之列數目將為源影 像中之列數目的一半。此實例僅為了說明性目的,且在其他實施例中,垂直縮放器142至148可被指派給不同的像素,且縮放器之間的間隔可取決於經執行之縮小或放大的類型而變化。
在一實施例中,垂直縮放器142至148可在第一水平遍次中處理像素之行,其始於影像塊工作集之左邊緣且跨越影像塊工作集而水平移動至右側。在跨越影像塊工作集自左邊緣一直移動至右邊緣之後,垂直縮放器142至148中之每一者可在影像塊工作集中向下移動為DDA步階大小四倍的距離。舉例而言,此特定縮小實例之DDA步階大小為二,且因此在到達影像塊工作集之右邊緣之後,垂直縮放器單元140中之每一垂直縮放器可在該行像素中向下移動八個像素,且在經過影像塊工作集的第二水平遍次上自此等位置選擇像素。
現參看圖9,展示在經過影像塊工作集之第二水平遍次期間自影像塊工作集選擇像素之一實施例的方塊圖。在第二水平遍次上,垂直縮放器單元140中之每一垂直縮放器可自該行像素中的在其先前位置下方四個DDA步階大小處的位置選擇像素。針對第二遍次,垂直縮放器142以來自影像塊(X,Y+1)之列0的像素為中心,垂直縮放器144以來自影像塊(X,Y+1)之列2的像素為中心,垂直縮放器146以來自影像塊(X,Y+1)之列4的像素為中心,且垂直縮放器148以來自影像塊(X,Y+1)之列6的像素為中心。經過影像塊工作集之水平遍次的此程序可繼續在源影像中向下移動,直至整個影像塊行已經縮放為止。接著,該程序可向右移動至下一行影像塊之頂部,且在彼行中向下移動等等,直至整個影像已經垂直縮放為止。此實例為圖8中所說明之實例的延續,其中DDA步階大小為2對應於按因子二的垂直縮小。其他實施例可利用其他步階大小、縮小或放大因子、其他數目個提經取像素及其他數目個垂直縮放器。
現轉至圖10,展示垂直縮放器與水平縮放器之間的連接之一實 施例的方塊圖。在一實施例中,垂直縮放器單元140中之每一垂直縮放器142至148可耦接至水平縮放器單元150中之相應水平縮放器152至158。垂直縮放器142可在每時脈循環將單一經垂直縮放之像素輸出至水平縮放器152,垂直縮放器144可在每時脈循環將單一經垂直縮放之像素輸出至水平縮放器154,垂直縮放器146可在每時脈循環將單一經垂直縮放之像素輸出至水平縮放器156,且垂直縮放器148可在每時脈循環將單一經垂直縮放之像素輸出至水平縮放器158。
水平縮放器152至158可將經縮放像素輸出至圖形管線之下一級(未圖示)。在一實施例中,下一級可為正規化單元。在另一實施例中,水平縮放器152至158可將經縮放像素輸出至顯示單元或顯示控制器。在另一實施例中,水平縮放器152至158可將經縮放像素輸出至記憶體。在其他實施例中,可存在其他數目個垂直縮放器及水平縮放器。
現轉至圖11,展示用於縮放源影像之方法的一實施例。為了論述之目的,以順序次序展示此實施例中之步驟。應注意,在下文描述之方法的各種實施例中,可同時或以不同於所展示次序之次序執行所描述元素中之一或多者,或可將其完全省略。亦可按需要執行其他額外元素。
在一實施例中,源影像之複數個像素可由縮放器單元接收(區塊160)。在各種實施例中,源影像可儲存在記憶體中,儲存在影像塊緩衝器中,由圖形處理管線中之前一級輸送至縮放器單元,或儲存在各種其他位置中之任一者中或由各種其他單元中之任一者輸送。接下來,可將一行像素呈現給複數個垂直縮放器(區塊162)。接著,每一垂直縮放器可基於DDA值及DDA步階大小自該行像素選擇像素(區塊164)。在一實施例中,每一垂直縮放器可包括五分接頭多相濾波器,且每一垂直縮放器可為濾波器之五個分接頭選擇五個像素。
在區塊164之後,可藉由複數個垂直縮放器中之每一者垂直縮放經選擇像素(區塊166)。在一實施例中,可利用四個垂直縮放器,但在其他實施例中,可利用其他數目個垂直縮放器。接著,可將經垂直縮放之像素輸送至複數個水平縮放器(區塊168)。在一實施例中,每一垂直縮放器可耦接至相應水平縮放器。在具有四個垂直縮放器之實施例中,可存在四個水平縮放器。
接下來,可藉由複數個水平縮放器將經垂直縮放之像素水平縮放(區塊170)。複數個水平縮放器中之每一者可將經垂直縮放之像素移位至移位暫存器之鏈中且穿過移位暫存器鏈,且在該鏈已被經垂直縮放之像素填滿之後,水平縮放器可產生經水平縮放之像素。接著,可將經垂直縮放之像素及經水平縮放之像素輸送至圖形處理管線之下一級(區塊172)。在一實施例中,管線之下一級可為正規化單元。或者,在其他實施例中,可將經垂直縮放之像素及經水平縮放之像素輸送至記憶體位置,至顯示控制器,或至顯示單元。
現參看圖12,展示用於縮放像素之方法的一實施例。為了論述之目的,以順序次序展示此實施例中之步驟。應注意,在下文描述之方法的各種實施例中,可同時或以不同於所展示次序之次序執行所描述元素中之一或多者,或可將其完全省略。亦可按需要執行其他額外元素。
在一實施例中,可自一或多個影像塊緩衝器提取複數個像素(區塊180)。源影像可分割成複數個影像塊,且每一影像塊緩衝器可儲存來自源影像之單一影像塊。在一實施例中,該複數個經提取像素可定位在源影像之單一行中。接下來,可藉由複數個垂直縮放器在垂直方向上縮放該複數個經提取像素(區塊182)。該複數個垂直縮放器可經組態以同時縮放該複數個經提取像素。該複數個垂直縮放器中之每一垂直縮放器可包括用於縮放經提取像素之多分接頭多相濾波器。
可在每一時脈循環期間將一或多個經垂直縮放之像素自每一垂直縮放器輸送至各別水平縮放器(區塊184)。接著,可藉由複數個水平縮放器在水平方向上縮放複數個經垂直縮放之像素(區塊186)。每一水平縮放器可包括用於縮放所接收像素之多分接頭多相濾波器。每一水平縮放器亦可包括一移位暫存器鏈來移入所接收像素,且可存在對應於多分接頭多相濾波器之每一分接頭的移位暫存器。
接下來轉至圖13,展示系統190之一實施例的方塊圖。如所示,系統190可表示桌上型電腦200、膝上型電腦210、平板型電腦220、蜂巢式電話230或其他器件之晶片、電路、組件等。在所說明實施例中,系統190包括耦接至外部記憶體192之積體電路198的至少一例項。積體電路198可包括管線10(圖1)之一或多個例項或管線10之一或多個部分。
積體電路198耦接至一或多個周邊設備194及外部記憶體192。亦提供電源供應器196,其向積體電路198供應電壓以及向記憶體192及/或周邊設備194供應一或多個供電電壓。在各種實施例中,電源供應器196可表示電池(例如,智慧型手機、膝上型或平板型電腦中之可再充電電池)。在一些實施例中,可包括積體電路198之一個以上例項(且亦可包括一個以上外部記憶體192)。
記憶體192可為任何類型之記憶體,諸如,動態隨機存取記憶體(DRAM)、同步DRAM(SDRAM)、雙資料速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM之行動版本(諸如,mDDR3,等)及/或SDRAM之低功率版本(諸如,LPDDR2,等))、RAMBUS DRAM(RDRAM)、靜態RAM(SRAM),等。可將一或多個記憶體器件耦接至電路板上以形成諸如單列直插式記憶體模組(SIMM)、雙列直插式記憶體模組(DIMM)等之記憶體模組。或者,可以晶片迭層組態、封裝迭層組態或多晶片模組組態將該等器件與積體電路198安裝 在一起。
取決於系統190之類型,周邊設備194可包括任何所要電路。舉例而言,在一實施例中,周邊設備194可包括用於各種類型之無線通信的器件,諸如wifi、藍芽、蜂巢式、全球定位系統等。周邊設備194亦可包括額外儲存器,其包括RAM儲存器、固態儲存器或磁碟儲存器。周邊設備194可包括使用者介面器件(諸如,顯示螢幕,包括觸控式顯示螢幕或多點觸控顯示螢幕)、鍵盤或其他輸入器件、麥克風、揚聲器,等。
現轉至圖14,展示電腦可讀媒體240之方塊圖的一實施例,電腦可讀媒體240包括代表在管線10(圖1)中所包括之電路的一或多個資料結構。一般而言,電腦可讀媒體240可包括任何非暫時性儲存媒體(諸如磁性媒體或光學媒體,例如,磁碟、CD-ROM或DVD-ROM)、揮發性或非揮發性記憶體媒體(諸如RAM(例如,SDRAM、RDRAM、SRAM等)、ROM等)以及可經由傳輸媒體或信號(諸如電信號、電磁信號或數位信號)存取、經由通信媒體(諸如網路及/或無線鏈路)輸送之媒體。
通常,電腦可讀媒體240上之電路的資料結構可由程式讀取,且直接或間接用以製造包含電路之硬體。舉例而言,資料結構可包括以諸如Verilog或VHDL之高階設計語言(HDL)的對硬體功能性之一或多個行為層級描述或暫存器轉移層級(RTL)描述。該(等)描述可由合成工具讀取,該合成工具可合成該描述以產生一或多個接線對照表,其包含來自合成庫之閘的清單。該(等)接線對照表包含一組閘,其亦表示包含電路之硬體的功能性。該(等)接線對照表可接著被置放及排線以產生描述待應用於遮罩之幾何形狀的一或多個資料集。該等遮罩可接著用於各種半導體製造步驟中,以產生對應於電路之一或多個半導體電路。或者,按需要,電腦可讀媒體240上之資料結構可為接線對 照表(具有或不具有合成庫)或資料集。在另一替代方案中,資料結構可包含示意性程式的輸出,或接線對照表或自其導出之資料集。
儘管電腦可讀媒體240包括管線10之表示,但其他實施例可包括管線10之任何部分或部分之組合的表示(例如,垂直縮放器、水平縮放器)。
應強調,上文描述之實施例僅為實施之非限制性實例。對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,無數變化及修改將變得顯而易見。意欲將以下申請專利範圍解釋為涵蓋所有此等變化及修正。

Claims (24)

  1. 一種裝置,其包含:複數個垂直縮放器,其中向該複數個垂直縮放器平行地提供像素,且其中每一垂直縮放器經組態以自該等像素選擇像素以用於垂直縮放,且產生一經垂直縮放之像素;及複數個水平縮放器,其中每一水平縮放器耦接至一各別垂直縮放器之一輸出且經組態以對自該各別垂直縮放器接收之像素執行水平縮放。
  2. 如請求項1之裝置,其中該複數個水平縮放器中之每一水平縮放器包含用於儲存自一各別垂直縮放器接收的經垂直縮放之像素的一移位暫存器鏈。
  3. 如請求項1之裝置,其進一步包含一提取單元,其中該提取單元經組態以:自一或多個影像塊緩衝器提取一行像素,其中每一影像塊緩衝器儲存一源影像之一給定影像塊;及將該行像素輸送至該複數個垂直縮放器。
  4. 如請求項1之裝置,其中該等像素定位在一源影像之一單一行內,且其中該單一行跨越該源影像之一或多個影像塊。
  5. 如請求項4之裝置,其中該源影像之該一或多個影像塊儲存在一或多個影像塊緩衝器中。
  6. 如請求項4之裝置,其中每一垂直縮放器進一步經組態以利用一數位微分分析器(DDA)值及DDA步階大小來縮放一源影像。
  7. 如請求項6之裝置,其中該複數個垂直縮放器經配置在一垂直行中,以處理每一行像素之一不同的垂直部分,且其中每一垂直縮放器與一鄰近垂直縮放器相隔一單一DDA步階。
  8. 如請求項1之裝置,其進一步包含一旋轉單元,其中一源影像在被輸送至該複數個垂直縮放器之前由該旋轉單元旋轉。
  9. 如請求項1之裝置,其中該複數個垂直縮放器及該複數個水平縮放器中之每一者包含用於縮放像素之一多分接頭多相濾波器,且其中該多分接頭多相濾波器之每一分接頭包含一係數表,且其中該係數表包含複數個可程式化暫存器。
  10. 一種包含複數個垂直縮放器之裝置,其中該複數個垂直縮放器中之每一垂直縮放器經組態以:自一或多個影像塊緩衝器接收複數個像素;自該複數個像素選擇適當的像素;及垂直縮放該等經選擇像素。
  11. 如請求項10之裝置,其中該等適當的像素係基於該垂直縮放器在該複數個垂直縮放器中的一位置而選擇。
  12. 如請求項10之裝置,其中該複數個垂直縮放器中之每一垂直縮放器經組態以在每一時脈循環期間產生一經垂直縮放之像素。
  13. 如請求項10之裝置,其中該裝置進一步包含複數個水平縮放器,其中該裝置經組態以將該等經垂直縮放之像素輸送至該複數個水平縮放器,且其中該複數個水平縮放器經組態以水平地縮放該等經垂直縮放之像素。
  14. 如請求項10之裝置,其中一源影像包含複數個影像塊,且其中每一影像塊緩衝器經組態以儲存該源影像之一單一影像塊。
  15. 如請求項14之裝置,其中每一影像塊之一寬度小於該源影像之一寬度,且其中每一影像塊之一長度小於該源影像之一長度。
  16. 一種方法,其包含:自一源影像接收複數個像素;及利用複數個垂直縮放器及複數個水平縮放器產生經垂直縮放 之像素及經水平縮放之像素。
  17. 如請求項16之方法,其中產生經垂直縮放之像素及經水平縮放之像素包含:利用該複數個垂直縮放器垂直地縮放一行像素;將該等經垂直縮放之像素輸送至該複數個水平縮放器;及利用該複數個水平縮放器水平地縮放該等經垂直縮放之像素。
  18. 如請求項17之方法,其進一步包含該複數個垂直縮放器中之每一垂直縮放器在垂直地縮放該行像素之前基於一直接微分分析器(DDA)值及DDA步階大小自該複數個所接收像素選擇像素。
  19. 如請求項17之方法,其中每一垂直縮放器耦接至一各別水平縮放器。
  20. 一種方法,其包含:自一或多個影像塊緩衝器提取複數個像素;利用複數個垂直縮放器在一垂直方向上縮放該複數個經提取像素;在每一時脈循環期間將一或多個經垂直縮放之像素自每一垂直縮放器輸送至一各別水平縮放器;及利用複數個水平縮放器在一水平方向上縮放複數個經垂直縮放之像素。
  21. 如請求項20之方法,其中該複數個經提取像素定位在一源影像之一單一行中。
  22. 如請求項20之方法,其中該複數個垂直縮放器經組態以同時縮放該複數個經提取像素。
  23. 如請求項20之方法,其中每一垂直縮放器及每一水平縮放器包含一多分接頭多相濾波器。
  24. 如請求項23之方法,其中該複數個水平縮放器中之每一水平縮放器包含以一鏈形式連接之複數個移位暫存器,且其中該鏈包含對應於該多分接頭多相濾波器之每一分接頭的一移位暫存器。
TW102106456A 2012-02-24 2013-02-23 平行縮放處理裝置及其方法 TWI489443B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/404,850 US8687922B2 (en) 2012-02-24 2012-02-24 Parallel scaler processing

Publications (2)

Publication Number Publication Date
TW201342358A true TW201342358A (zh) 2013-10-16
TWI489443B TWI489443B (zh) 2015-06-21

Family

ID=47722182

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102106456A TWI489443B (zh) 2012-02-24 2013-02-23 平行縮放處理裝置及其方法

Country Status (7)

Country Link
US (1) US8687922B2 (zh)
EP (1) EP2631869B1 (zh)
JP (1) JP5991722B2 (zh)
KR (1) KR101494957B1 (zh)
CN (1) CN103473735B (zh)
TW (1) TWI489443B (zh)
WO (1) WO2013126330A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447828B (zh) * 2011-06-22 2014-08-01 Inotera Memories Inc 製程原始資料的壓縮方法及壓縮系統
KR102023501B1 (ko) * 2013-10-02 2019-09-20 삼성전자주식회사 설정가능한 이미지 처리 파이프라인을 포함하는 시스템 온 칩과, 상기 시스템 온 칩을 포함하는 시스템
KR102114233B1 (ko) * 2013-12-13 2020-05-25 삼성전자 주식회사 영상 처리 장치
KR102117075B1 (ko) 2014-03-11 2020-05-29 삼성전자주식회사 재구성 가능한 이미지 스케일링 회로
KR102248789B1 (ko) * 2014-10-07 2021-05-06 삼성전자 주식회사 이미지 해상도에 따라 리소스를 공유할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
KR102254676B1 (ko) * 2014-10-31 2021-05-21 삼성전자주식회사 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
US20160132284A1 (en) * 2014-11-07 2016-05-12 Qualcomm Incorporated Systems and methods for performing display mirroring
KR102317789B1 (ko) 2015-02-12 2021-10-26 삼성전자주식회사 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
US9679356B2 (en) * 2015-03-19 2017-06-13 Xerox Corporation Vectorized two stage tile-based scaling
CN104767910A (zh) * 2015-04-27 2015-07-08 京东方科技集团股份有限公司 视频图像拼接系统及方法
CN105243966A (zh) * 2015-11-03 2016-01-13 京东方科技集团股份有限公司 一种图像显示装置及图像显示方法
US10755380B2 (en) * 2015-11-11 2020-08-25 Texas Instruments Incorporated Down scaling images in a computer vision system
GB2551745B (en) * 2016-06-29 2020-04-08 Advanced Risc Mach Ltd Data processing systems
US11386644B2 (en) * 2017-10-17 2022-07-12 Xilinx, Inc. Image preprocessing for generalized image processing
KR102459652B1 (ko) * 2018-03-08 2022-10-28 엘지전자 주식회사 표시장치와 그 영상 처리 방법
US20190139184A1 (en) * 2018-08-01 2019-05-09 Intel Corporation Scalable media architecture for video processing or coding
US11042735B2 (en) * 2018-09-25 2021-06-22 Drägerwerk AG & Co. KGaA System and method for verifying whether text will be properly rendered in a target area of a user interface and/or a graphics file
US10972744B2 (en) 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling
CN115150566A (zh) * 2022-09-01 2022-10-04 杭州雄迈集成电路技术股份有限公司 一种多路多分辨率视频实时输出方法和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384912A (en) 1987-10-30 1995-01-24 New Microtime Inc. Real time video image processing system
US5204916A (en) 1991-08-06 1993-04-20 Eastman Kodak Company Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening
US5353056A (en) 1992-10-27 1994-10-04 Panasonic Technologies, Inc. System and method for modifying aberration and registration of images
US5574572A (en) * 1994-09-07 1996-11-12 Harris Corporation Video scaling method and device
JPH10134176A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像信号処理方法及び装置
JPH10133643A (ja) * 1996-10-29 1998-05-22 Shimadzu Corp デジタル画像処理装置
JPH10304184A (ja) * 1997-05-02 1998-11-13 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
US6903733B1 (en) * 1997-11-24 2005-06-07 Pixelworks, Inc. Ultra-high bandwidth multi-port memory system for image scaling applications
US6724948B1 (en) * 1999-12-27 2004-04-20 Intel Corporation Scaling images for display
JP3763394B2 (ja) * 2000-10-31 2006-04-05 株式会社デジタル 画像縮小方法およびその装置
ATE452385T1 (de) * 2001-10-10 2010-01-15 Texas Instruments Inc Einrichtung und verfahren zur bildskalierung
US6924948B2 (en) * 2003-08-21 2005-08-02 Arc Design, Inc. Multifocal lens system for digital cameras
FI20045157A (fi) 2004-04-29 2005-10-30 Nokia Corp Menetelmä ja laitteisto digitaalisen matriisikuvan alaspäin skaalaamiseksi
TWI267031B (en) * 2004-12-14 2006-11-21 Vxis Technology Corp Image scaling controller and method thereof
US20070041662A1 (en) * 2005-08-22 2007-02-22 Eric Jeffrey Efficient scaling of image data
US7477323B2 (en) * 2005-11-07 2009-01-13 Kolorific, Inc. Method and system for digital image magnification and reduction
TWI370439B (en) * 2007-05-18 2012-08-11 Au Optronics Corp Video scaling apparatus and method of the same
US8195008B2 (en) * 2007-06-28 2012-06-05 Broadcom Corporation Method and system for processing video data in a multipixel memory to memory compositor
CN100570701C (zh) * 2007-11-16 2009-12-16 炬力集成电路设计有限公司 一种图像缩放装置、方法及图像显示设备
US7852531B2 (en) * 2007-12-12 2010-12-14 Xerox Corporation Digital correction for alignment of a plurality of color channels of a color image forming device
TWI351873B (en) * 2007-12-13 2011-11-01 Magima Digital Information Co Ltd A picture scaling device and a picture scaling met
US9172900B2 (en) * 2008-04-09 2015-10-27 Imagine Communications Corp. Video multiviewer system with switcher and distributed scaling and related methods
US8121434B2 (en) * 2008-06-13 2012-02-21 Microsoft Corporation Multi-pass image resampling
US8593483B2 (en) * 2009-10-20 2013-11-26 Apple Inc. Temporal filtering techniques for image signal processing

Also Published As

Publication number Publication date
CN103473735B (zh) 2016-04-20
KR101494957B1 (ko) 2015-02-23
EP2631869B1 (en) 2017-12-20
WO2013126330A1 (en) 2013-08-29
CN103473735A (zh) 2013-12-25
TWI489443B (zh) 2015-06-21
US8687922B2 (en) 2014-04-01
KR20130097689A (ko) 2013-09-03
JP2015513837A (ja) 2015-05-14
US20130223764A1 (en) 2013-08-29
EP2631869A1 (en) 2013-08-28
JP5991722B2 (ja) 2016-09-14

Similar Documents

Publication Publication Date Title
TWI489443B (zh) 平行縮放處理裝置及其方法
KR101977453B1 (ko) 분할된 디스플레이를 구동하는 다수의 디스플레이 파이프라인들
US8766992B2 (en) Methods and apparatus for image processing at pixel rate
US11630640B2 (en) Median value determination in a data processing system
US20230196500A1 (en) Image data storage method, image data processing method and system, and related apparatus
US9191551B2 (en) Pixel normalization
US9123278B2 (en) Performing inline chroma downsampling with reduced power consumption
TWI504246B (zh) 視訊縮放器中之振鈴抑制
US20140176215A1 (en) Method of implementing clock skew and integrated circuit adopting the same
US20200310818A1 (en) Multiplier-Accumulator Circuitry having Processing Pipelines and Methods of Operating Same
EP1639543A1 (en) Variable tap filter architecture for image processing
US8655063B2 (en) Decoding system and method operable on encoded texture element blocks
US9741097B2 (en) Image processing device
WO2016197393A1 (zh) 并行多相位图像插值装置和方法
US8732363B2 (en) Data processing apparatus and data processing method
JP2009098692A (ja) 画像のサイズ変更方法、サイズ変更器、画像処理装置および電子機器
CN114584673B (zh) 一种图像处理方法和装置
US20230368496A1 (en) Super resolution device and method
US20240112294A1 (en) Multi-pass writeback with single-pass display consumption
US10169040B2 (en) System and method for sample rate conversion
US20200388000A1 (en) Multiline scaler processor
Torres-Monsalve et al. Design of 2-D filters for video processing using FPGAs
CN107748654A (zh) 一种基于mipi协议的视频图像放大的方法及其系统
JP2011145938A (ja) Simd型プロセッサを備えたマイクロプロセッサとその処理方法