TW201322181A - 嵌入影像之旋轉 - Google Patents

嵌入影像之旋轉 Download PDF

Info

Publication number
TW201322181A
TW201322181A TW101135174A TW101135174A TW201322181A TW 201322181 A TW201322181 A TW 201322181A TW 101135174 A TW101135174 A TW 101135174A TW 101135174 A TW101135174 A TW 101135174A TW 201322181 A TW201322181 A TW 201322181A
Authority
TW
Taiwan
Prior art keywords
image
image block
pixels
source image
source
Prior art date
Application number
TW101135174A
Other languages
English (en)
Other versions
TWI482122B (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 TW201322181A publication Critical patent/TW201322181A/zh
Application granted granted Critical
Publication of TWI482122B publication Critical patent/TWI482122B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/373Details of the operation on graphic patterns for modifying the size of the graphic pattern
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0492Change of orientation of the displayed image, e.g. upside-down, mirrored
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

用於執行一影像之一嵌入旋轉之方法及裝置。該裝置包括一旋轉單元,該旋轉單元用於以基於待執行之一指定旋轉之一次序自一源影像讀取像素。該源影像經分割成多個影像塊,該等影像塊係基於該等影像塊將位於旋轉影像內之何處加以處理,且每一影像塊係儲存於一影像塊緩衝器中。計算一影像塊緩衝器內之目標像素位址且將該等目標像素位址儲存於一查找表中,且當藉由該旋轉單元自該源影像擷取該等像素時,讀取該查找表以判定在何處將該等像素寫入至一對應影像塊緩衝器內。

Description

嵌入影像之旋轉
本發明大體而言係關於圖形資訊處理,且詳言之係關於用於旋轉影像之方法及機制。
計算器件且詳言之行動器件常常具有受限記憶體資源及諸如電池之有限電源。具有顯示器之計算器件通常包括不同類型之圖形硬體以操縱並顯示視訊及影像。圖形硬體可執行許多不同類型之操作以產生並處理供顯示器使用之影像。藉由圖形硬體執行之一個普通操作為影像旋轉。通常,大緩衝器用以旋轉影像。然而,此等緩衝器需要大量矽區域且可消耗額外電力,從而增加圖形硬體之成本且縮短行動器件之電池壽命。
預期用於旋轉一影像之系統及方法。
在各種實施例中,預期一裝置,該裝置可執行一源影像之嵌入旋轉以產生一旋轉影像。該裝置可為一多級圖形處理管線之部分。該裝置可包括用於自一記憶體提取源影像像素之一提取單元,且可經組態以產生儲存於一記憶體中之源影像內之像素之位址。該提取單元可進一步以基於正對該源影像執行之旋轉之類型之一次序產生該等像素位址。該源影像可分割成複數個影像塊,且該分割可基於正在執行之該旋轉。像素可基於逐影像塊之方式自該源影像提取。
該裝置亦可包括用於儲存所擷取像素之一或多個影像塊緩衝器。可將該等像素儲存於該(該等)影像塊緩衝器內之目標位置中,且該等目標位置可基於正在執行之該旋轉。在一項實施例中,每一影像塊緩衝器可包括用於儲存來自該影像之一給定旋轉影像塊之資料之一部分的複數個單獨之個別隨機存取記憶體(RAM)。在各種實施例中,該(該等)影像塊緩衝器中之該等像素可由該圖形處理管線中之一後續級來讀取並處理。
鑒於本文中所呈現之方法之以下詳細描述,此等及其他特徵及有優點對一般熟習此項技術者而言將變得顯而易見。
藉由結合附圖參考以下描述,可更好地理解方法及機制之以上及其他優點。
在以下描述中,闡述眾多特定細節以提供對本文中所呈現之方法及機制之透徹理解。然而,一般熟習此項技術者應認識到,可在無此等特定細節之情況下實踐各種實施例。在一些情況中,尚未詳細地展示熟知結構、組件、信號、電腦程式指令及技術以避免本文中所描述之方法變得模糊。應瞭解,為了說明簡單及清楚起見,諸圖中所展示之元件未必係按比例畫出。舉例而言,可相對於其他元件誇示該等元件中之一些之尺寸。
本說明書包括對「一項實施例」之引用。片語「在一項實施例中」在不同上下文中之出現未必指代同一實施例。 可以與本發明一致之任何合適方式來組合特定特徵、結構或特性。此外,如本申請案全篇中所使用,詞語「可」以許可意義(亦即,意謂有可能)而非強制性意義(亦即,意謂必須)使用。類似地,詞語「包括」意謂包括但不限於。
術語。以下段落為本發明中(包括附加之申請專利範圍)所見之術語提供定義及/或上下文。
「包含」。此術語為開放式的。於附加之申請專利範圍中使用時,此術語並不排除額外結構或步驟。考慮敍述:「一種裝置,其包含一提取單元......」之技術方案。此技術方案並不排除該裝置包括額外組件(例如,處理器、快取記憶體、記憶體控制器)。
「經組態以」。可將各種單元、電路或其他組件描述或主張為「經組態以」執行(若干)任務。在此等上下文中,「經組態以」用以藉由指示單元/電路/組件包括在操作期間執行彼(等)任務之結構(例如,電路)來暗示結構。因而,即使當單元/電路/組件並非當前可操作(例如,並未在作用中)時,指定單元/電路/組件仍可據稱經組態以執行任務。與「經組態以......」語言一起使用之單元/電路/組件包括硬體,例如,電路、儲存可執行以實施操作之程式指令之記憶體等。敍述一單元/電路/組件「經組態以」執行一或多個任務對於彼單元/電路/組件而言並不明確地意欲引用35 U.S.C.§ 112第六段。另外,「經組態以」可包括由軟體及/或韌體(例如,FPGA或執行軟體之通用處理器)操縱以便以能夠執行有爭議之任務之方式操作的一般結構 (例如,一般電路)。「經組態以」亦可包括調適製造程序(例如,半導體製造設施)以生產經調適以實施或執行一或多個任務之器件(例如,積體電路)。
「第一」、「第二」等。於本文中使用時,此等術語用作為前面有此等術語之詞的標記,且並不暗示任何類型之排序(例如,空間、時間、邏輯),除非明確地定義此排序。舉例而言,在具有四個影像塊緩衝器之旋轉單元中,術語「第一」影像塊緩衝器及「第二」影像塊緩衝器可用以指代四個影像塊緩衝器中之任兩個。
「基於」。於本文中使用時,此術語用以描述影響判定之一或多個因素。此術語並不排除可影響判定之額外因素。亦即,判定可僅僅基於彼等因素或至少部分地基於彼等因素。考慮片語「基於B來判定A」。雖然B可為影響A之判定之一因素,但此片語並不排除A之判定亦基於C。在其他情況中,可僅基於B來判定A。
現參看圖1,展示說明旋轉單元之一項實施例之方塊圖。在各種實施例中,旋轉單元10可併入於系統單晶片(SoC)內之圖形處理管線內。在一項實施例中,圖形處理管線可為單獨處理器晶片或共處理器。在一些實施例中,圖形處理管線可將圖形資料遞送至顯示器控制器或顯示器件。在其他實施例中,圖形處理管線可將圖形資料遞送至記憶體中之儲存位置,以供進一步處理使用或供顯示器件稍後耗用。在其他實施例中,旋轉單元10可併入於積體電路(IC)、特殊應用積體電路(ASIC)、裝置或各種其他類似 器件中之任一者內。
源影像15可為靜止影像或視訊流之圖框。源影像15可由大量的被稱為像素之離散像元來表示。在數位成像中,影像或視訊圖框中之最小資訊項為「像素」。像素通常以規則二維柵格配置。源影像15中之每一像素可由一或多個像素分量來表示。像素分量可包括藉以表示影像之色空間中之每一顏色的色值。舉例而言,色空間可為紅綠藍(RGB)色空間。每一像素因此可藉由紅色分量、綠色分量及藍色分量表示。該等分量之值可表示像素中之對應顏色之亮度或強度。亦可使用其他色空間,諸如明度及色度表示(YCrCb)。此外,可包括額外像素分量。舉例而言,用於混色之α值可與RGB分量包括在一起以形成ARGB色空間。
旋轉單元10可經組態以自源影像15中之源位置讀取像素且將該等像素寫入至影像塊緩衝器24-30中之對應於目的地影像中之目標位置之位置。旋轉單元10可執行90度之倍數之旋轉及/或水平方向或垂直方向上之翻轉。指定旋轉可藉由可為至旋轉單元10之輸入之旋轉組態位元指示。於本發明中全文使用時,術語「旋轉」可指代諸如詞語之傳統意義上的90度、180度或270度(順時針或逆時針)旋轉之旋轉。另外,「旋轉」可指代翻轉(亦即,影像之x交換或y交換方向改變)。
旋轉單元10可包括提取單元12以自儲存於記憶體16中之源影像15以一指定次序提取像素。在一項實施例中,提取單元12可產生源影像15中之像素之位址。提取單元12可基 於正在執行之旋轉之類型判定藉以產生位址之次序。提取單元12可使用該等產生之位址發出讀取請求,且該等位址可由記憶體管理單元(MMU)14用以執行自記憶體16之讀取操作。在另一實施例中,在MMU 14與記憶體16之間可包括一邏輯組構介面(未圖示)。在一項實施例中,提取單元12可執行直接記憶體存取(DMA)讀取操作以自源影像15讀取像素。提取單元12可包括DMA控制器以執行DMA讀取操作。
MMU 14可經組態以執行記憶體位址轉譯。在一項實施例中,MMU 14可利用虛擬定址來允許提取單元12定址對應於源影像15之虛擬位址範圍。MMU 14可執行虛擬至實體轉譯以將虛擬位址映射至記憶體16之實際實體位址。在各種實施例中,MMU 14可允許提取單元12預提取轉譯以避免藉由等待在未命中(miss)情況下需求式提取之轉譯招致之延時。在一項實施例中,提取單元12可包括一預提取引擎(未圖示)以產生用於預提取之虛擬位址。在此實施例中,MMU 14可包括一預提取單元(未圖示)以處理來自提取單元12之預提取請求。在一項實施例中,提取單元12可比正在提取之當前影像塊提前一個影像塊發送預提取請求。該等預提取請求可用以填入MMU 14內之串流轉譯表(STT)(未圖示)。當提取單元12發出一實際記憶體請求時,可使用STT立即轉譯該請求。
提取單元12可經組態以自源影像15提取像素且將該等像素寫入至影像塊緩衝器24-30內之適當位置。在一項實施 例中,提取單元12可發出具有對應於一或多個像素之特定異動識別符(ID)之讀取請求。提取單元12可計算旋轉影像之一影像塊中之一或多個像素的目的地位置。接著,提取單元12可將異動ID儲存於查找表18之一輸入項中,且該等像素目的地位置可包括於該輸入項中。當自記憶體16接收針對該特定異動ID之像素時,可擷取查找表18中之對應輸入項且可將位置資訊用以判定該等像素將在何處寫入至影像塊緩衝器24-30之一給定影像塊緩衝器。
在一項實施例中,查找表18可為隨機存取記憶體(RAM)。在各種實施例中,查找表18可包括各種數目個輸入項。可基於儲存於查找表18中之位置資料將所提取像素儲存於影像塊緩衝器24-30中之該等目標位置中。當將該等像素寫入至影像塊緩衝器24-30之給定影像塊緩衝器中之目標位置時,該等像素實際上被重新定位。
影像塊緩衝器24-30中之每一者可儲存旋轉影像之一給定影像塊。源影像15及對應旋轉影像各自可基於指定旋轉分割成複數個影像塊。在一項實施例中,旋轉影像中之影像塊可為16列像素乘以128行像素。然而,影像塊大小在其他實施例中可變化。源影像15之寬度可大於影像塊之寬度,以使得多個影像塊可用以組成源影像15之每一列。又,源影像15之長度可大於影像塊之長度,以使得多個影像塊可用以組成源影像15之每一行。影像塊緩衝器24-30中之每一者可儲存源影像15之一給定旋轉影像塊,且已藉由管線中之下一級讀取在影像塊緩衝器之後,影像塊緩衝 器可接著用源影像15之一新影像塊來填充。在一項實施例中,每一顏色分量可包括用於儲存旋轉影像之四個影像塊的四個影像塊緩衝器。舉例而言,若以ARGB格式表示源影像15,則可存在用於α顏色分量之四個影像塊緩衝器、用於紅色顏色分量之四個影像塊緩衝器、用於綠色顏色分量之四個影像塊緩衝器及用於藍色顏色分量之四個影像塊緩衝器。
在一項實施例中,儲存於影像塊緩衝器24-30中的組成旋轉影像之一部分之影像塊可被傳遞至影像處理管理之一後續級。在一項實施例中,管線之後續級可為按比例調整器單元(例如,按比例調整器32)以按比例放大(upscale)或按比例縮小(downscale)目的地影像之旋轉影像塊。按比例調整器32表示可在管線內利用的任何數目個垂直按比例調整器及水平按比例調整器。在另一實施例中,管線中之下一級可為除按比例調整器32以外之某一其他單元(例如,色空間轉換單元、正規化單元、降頻取樣單元)。在又一實施例中,旋轉單元10可將目的地影像之旋轉影像塊傳遞至一顯示單元(未圖示)。在再一實施例中,旋轉單元10可將目標影像之旋轉影像塊傳遞至記憶體16或另一儲存位置。
在一項實施例中,由提取單元12產生之每一讀取請求可讀取多達64個位元組之資料。在其他實施例中,讀取請求可請求其他量之資料。在一項實施例中,每一讀取請求可集中至源影像15之影像塊之列(line)。若旋轉影像之目標 影像塊大小為16列乘以128行,且指定旋轉為90度或270度,則源影像15可分割成16行乘以128列之影像塊。提取單元12可提取影像塊之頂部列且接著逐列向下移動至影像塊之底部。每一提取可請求來自源影像15之一影像塊之一列的像素。擷取整列16個像素可能要用一或多次提取,且接著該等提取將向下移動至下一列以擷取下一16個像素,且接著此程序可繼續,直至已擷取整個影像塊之128列。來自源影像15之一列的16個像素將組成指定(90或270度)旋轉之旋轉影像之單一行。在其他實施例中,可利用影像塊之其他大小(例如,256乘以24、64乘以16、512乘以32),且可執行其他類型之旋轉。
在一項實施例中,當藉由旋轉單元10接收像素時,可進行關於該等像素將在何處儲存於影像塊緩衝器24-30中之進行中(on-the-fly)判定。該判定可基於儲存於查找表18中之位置資訊。在一些實施例中,該等像素可無次序地傳回且可基於標籤資料而投送至影像塊緩衝器24-30中之正確位置,其中該等標籤含有像素目的地資訊。
提取單元12可將異動ID及像素目的地儲存於查找表18中。像素資料可無次序地傳回且可傳遞至查找表18。查找表18可將該等像素傳遞至位元擴展單元20以視源影像15之原生格式及旋轉影像之目標格式來擴展每個像素之位元之數目。若自記憶體擷取之像素在大小上與管線中之下一級(亦即,按比例調整器32)所用之像素相同,則可不包括位元擴展單元。在一些實施例中,拌和(swizzle)單元22可重 新配置所提取像素之次序。舉例而言,在一項實施例中,可以藍色、綠色、紅色及α顏色分量之次序接收像素。拌和單元22可將該等像素重新排序至α、紅色、綠色及藍色顏色分量之次序。
用以儲存每一像素之位元之數目可視正在利用之特定格式而定。舉例而言,一些系統中之像素可能需要8個位元,而其他系統中之像素可能需要10個位元等,且每個像素之各種數目個位元中之任一者可在各種系統中使用。在一項實施例中,源影像15可含有由8個位元表示之像素。圖形管線可利用10個位元之像素,且因此,自源影像15接收之像素可藉由位元擴展單元20自8個位元擴展至10個位元。請注意,在一些實施例中,可不包括位元擴展單元20及拌和單元22或該兩個單元可為透通(pass-through)單元。在一些實施例中,所提取像素可不通過位元擴展單元20及拌和單元22而直接傳遞至影像塊緩衝器24-30。
雖然將查找表18、位元擴展單元20及拌和單元22展示為提取單元12之部分,但此僅用於說明性目的,且在其他實施例中,可以其他合適方式配置該等單元。舉例而言,在另一實施例中,查找表18、位元擴展單元20及/或拌和單元22可為不同於提取單元12之單獨單元。
每一緩衝器24-30可對應於旋轉影像之一不同影像塊。在其他實施例中,除四以外的其他數目個之影像塊緩衝器可用於儲存來自旋轉影像塊之像素。另外,每一影像塊緩衝器可包括多個RAM,且每一RAM可儲存一給定影像塊 之一單一列。舉例而言,在一項實施例中,每一影像塊緩衝器可包括對應於一影像塊之16個列的16個個別RAM。其他實施例可使用具有除16以外的其他數目個列之其他影像塊大小。在此等實施例中,每一緩衝器中可存在對應於每個影像塊之列之量的其他數目個RAM。舉例而言,在另一實施例中,若影像塊大小為32列乘以128行,則每個影像塊緩衝器可存在32個RAM。
圖1內所展示之組件可使用任何合適匯流排及/或介面機制彼此耦接。在一些實施例中,可使用進階微控制器匯流排架構(AMBA®)協定(來自ARM®所有)或用於邏輯區塊之連接及管理的任何其他合適之晶片上互連規範來連接此等組件。AMBA匯流排及/或介面之實例可包括進階可擴充介面(AXI)、進階高效能匯流排(AHB)、進階系統匯流排(ASB)、進階周邊匯流排(APB)及進階跡線匯流排(ATB)。
請注意,其他實施例可包括組件之其他組合,包括圖1中所展示之組件及/或其他組件之子集或超集(superset)。雖然在圖1中可展示一給定組件之一個例子,但其他實施例可包括該給定組件之一或多個例子。類似地,貫穿此詳細描述,即使展示僅一個例子,但可包括給定組件之一或多個例子,及/或即使展示多個例子,可使用包括僅一個例子之實施例。
現轉而參看圖2,展示查找表之一項實施例。查找表18之每一輸入項可包括資料之若干欄位,包括異動識別符(ID)欄位、影像塊緩衝器號欄位、列號欄位及行號欄位。 異動ID欄位可對應於對源影像15內之一或多個位址之特定讀取請求。(圖1之)提取單元12可在發出對一或多個像素之讀取請求時將對應於讀取請求之輸入項儲存於查找表18中。每一輸入項可包括指示源像素在旋轉後影像之影像塊中應位於何處之位置座標。在一項實施例中,旋轉後影像可儲存於影像塊緩衝器中,且像素可藉由總圖形處理管線之下一級自影像塊緩衝器讀取。
當自記憶體擷取對應於一讀取請求之像素時,查找表18中之對應輸入項可用以判定所擷取像素將在何處儲存於影像塊緩衝器中。舉例而言,當對應於讀取異動ID 43之資料自記憶體傳回時,異動ID 43之輸入項可由一旋轉單元用以在列0行24之開始位置將像素儲存於影像塊緩衝器24中。在一項實施例中,在單一異動中擷取之像素之數目可為八。在其他實施例中,在單一異動中可擷取其他數目個像素。
查找表18中所展示之輸入項僅用於說明性目的。在其他實施例中,查找表18可包括少於八個或多於八個之輸入項,且查找表18可以不同方式組織且含有資訊之其他欄位。舉例而言,在一項實施例中,指示旋轉之類型的旋轉組態位元可儲存於表18中。在另一實施例中,每一輸入項可包括一有效位元以指示輸入項在何時被使用且因此可由後續異動ID之另一輸入項覆寫。在其他實施例中,其他類型之資訊可儲存於查找表18中,且查找表18可以任何合適方式組織。
現參看圖3,展示旋轉影像塊緩衝器之一項實施例之方塊圖。影像塊緩衝器24可包括16個單獨列,該等列中之每一者可為單獨RAM。該16個單獨RAM可用以儲存影像塊之單獨列,諸如列0、列1、列2等,直至列15。該等RAM中之每一者可儲存與旋轉影像之影像塊之單獨列相關聯之像素。在此實施例中,影像塊大小可為16列乘以128行。在其他實施例中,可利用影像塊之其他大小,且影像塊緩衝器24可包括對應於影像塊中之列之數目的其他數目個RAM。
在一項實施例中,圖形管線中之下一級可為垂直按比例調整器單元。垂直按比例調整器單元可在單一時脈循環中自影像塊緩衝器24提取整行像素。在一些實施例中,影像塊緩衝器24之每一RAM可允許每個時脈循環之單一存取。因此,以每一列儲存於一單獨RAM中之方式配置影像塊緩衝器24,以使得垂直按比例調整器能夠在每一時脈循環中自每一列讀取單一像素。在其他實施例中,影像塊緩衝器24可視藉由圖形管線中之下一級自影像塊緩衝器24讀取資料之方式而以其他方式結構化。
現轉而參看圖4,展示三個經分割影像。藉由源影像50來描繪源影像在旋轉未執行之情況下之分割。源影像50經分割成九個影像塊(標記為(0,0)-(2,2)),且藉以處理影像塊之次序自左上角開始、沿著影像塊之最左行向下移動,自標記為(0,0)、(0,1)及(0,2)之區塊開始。接著,在提取最左行之後,接著可提取右邊的下一行(影像塊(1,0)、(1,1) 及(1,2)),等。
藉由源影像區塊52來描繪用以執行90度順時針旋轉的源影像之分割。在此情況下,源影像之分割係基於指定旋轉,以使得待處理之第一影像塊為源影像52之左下部影像塊。源影像52之左下部影像塊在執行90度旋轉之後將變為旋轉影像54中之左上部行,此為源影像52之左下部影像塊為待處理之第一影像塊之原因。將處理在影像塊之底部列上的源影像52之影像塊,自最左影像塊(0,0)開始且前進通過影像塊(0,1)、(0,2)、(0,3)及(0,4)。接著,可以自影像塊(1,0)至影像塊(1,4)之方式處理影像塊之頂部列。源影像52之影像塊之處理以藉由90度旋轉判定之方式進行,以使得該等影像塊可在其在指定旋轉經執行之後定位時得到處理。所處理之第一影像塊可為將在旋轉影像54之左上部豎起之影像塊。接著,可以沿著(旋轉影像54之)影像塊之第一行向下、接著進行至右邊的下一行等之方式處理影像。旋轉影像54描繪目的地影像在源影像52已藉由一旋轉單元(例如,圖1之旋轉單元10)處理並旋轉之後的出現方式。可基於正在執行之旋轉之特定類型以類似方式進行針對其他類型之旋轉(90度旋轉除外)的源影像至影像塊之分割。又,僅為了說明性目的而展示圖4中所展示之影像及影像塊之大小,且可以類似方式處理具有其他數目及大小之影像塊之其他影像。
現參看圖5,展示經分割源影像與影像塊緩衝器之間的對應之一項實施例。在圖5中展示源影像52(針對90度順時 針旋轉分割),且箭頭連接正在處理的前四個影像塊((0,0)、(0,1)、(0,2)及(0,3))與該等影像塊可儲存所在之對應影像塊緩衝器24-30。舉例而言,影像塊(0,0)可儲存於影像塊緩衝器24中,影像塊(0,1)可儲存於影像塊緩衝器26中,影像塊(0,2)可儲存於影像塊緩衝器28中,且影像塊(0,3)可儲存於影像塊緩衝器30中。
圖5針對經分割源影像52之單一顏色分量展示影像塊至影像塊緩衝器之投送。可將經分割源影像52之每一顏色分量儲存於單獨影像塊緩衝器中。舉例而言,關於ARGB格式,總共16個影像塊緩衝器可用以儲存影像52的前四個影像塊之所有顏色分量。
在影像塊緩衝器24-30已藉由圖形管線之一後續級讀取之後,可將經分割源影像52之接下來四個影像塊寫入至影像塊緩衝器24-30。在一項實施例中,圖形管線之下一級可一次一個地自影像塊緩衝器24-30讀取,以使得若影像塊緩衝器24己被讀取,則可將經分割源影像52之下一影像塊寫入至影像塊緩衝器24,且接著程序將暫停,直至影像塊緩衝器26已被讀取,等。
現轉而參看圖6,展示四個影像塊緩衝器及經分割旋轉影像之一部分。影像塊緩衝器24-30可儲存如圖5所示的來自源影像52之四個影像塊。來自源影像52之此等四個影像塊可對應於旋轉影像54中所展示之四個影像塊((0,0)、(0,1)、(0,2)及(0,3))。源影像52之原始影像塊至旋轉影像54的像素旋轉可在將像素寫入至影像塊緩衝器24-30中時 執行。旋轉影像54之四個影像塊可藉由圖形管線之一後續級(未圖示)自影像塊緩衝器24-30讀取。或者,儲存於旋轉影像54之四個影像塊中之像素可傳遞至一顯示器(未圖示)或記憶體中之一位置(未圖示)。
影像塊可以自影像之左上部區塊開始之方式儲存於旋轉影像54中,且接著處理可沿著影像塊之最左行向下前進,直至達到影像之底部邊緣。接著,影像塊可繼續在第二最左行之頂部上儲存且以此方式遍及影像之剩餘部分繼續。在另一實施例中,影像塊可以不同次序儲存於旋轉影像54中。
現參看圖7,展示影像塊緩衝器之一項實施例之方塊圖。在各種實施例中,影像塊緩衝器26之大小可變化以匹配個別影像塊之大小。在一項實施例中,個別影像塊可為16列乘以128行,以使得每一列含有128個像素。在另一實施例中,影像塊列可藉由提取影像塊之右側及左側上之額外七個像素而擴充至142個像素。可執行自影像塊之右側及左側上之鄰近像素的此像素提取以利於圖形管線之一後續級中的15分接頭之多相水平按比例調整器濾波器。
影像塊緩衝器26經展示為具有142列乘以16行之大小。在一項實施例中,此對應於16列乘以142行之源影像塊大小及90度或270度之指定旋轉。每一方框(box)中之標記指代旋轉影像內之像素位置。像素可基於指定旋轉自源影像提取且在適當位置中儲存於影像塊緩衝器26內。影像塊緩衝器26之每一方框內之標記指代旋轉影像之影像塊內之像 素位置。
影像塊緩衝器26中所展示的像素之配置可用以允許在單一時脈循環中將多個像素寫入至影像塊緩衝器26。舉例而言,在一項實施例中,影像塊緩衝器26之像素之每一垂直配置可對應於單獨RAM。因而,RAM 0-RAM 15中之每一者僅可允許在單一時脈循環中寫入單一像素或讀取單一像素。因此,將像素配置在每一RAM中,以使得基於自原始源影像提取像素資料之方式,在每一時脈循環,至多僅一個像素可能必須寫入至RAM或自RAM讀取。
在一項實施例中,可以每次提取單一列之方式自原始源影像提取像素,且所提取像素之每一集合可在存在旋轉之情況下寫入至影像塊緩衝器26中之單一列(例如,列0-行0、列1-行0等),且在不存在旋轉之情況下寫入至影像塊緩衝器26中之對角線列(例如,列0-行0、列0-行1、列0-行2等)。又,像素配置允許以旋轉影像之單一行作為目標的16個像素藉由圖形管線之下一級在單一時脈循環中自影像塊緩衝器26讀出。請注意,圖7中所展示的影像塊緩衝器26之大小僅用於說明性目的,且在其他實施例中,可利用其他影像塊大小。另外,在其他實施例中,影像塊緩衝器內之像素之其他配置係可能的且預期的。
現轉而參看圖8,展示可執行的各種類型之旋轉之方塊圖。針對每一類型之旋轉展示兩個區塊,一個區塊展示標記為「源」之原始源影像,且第二區塊展示特定類型之旋轉(例如,90度、270度、X翻轉)之後的最終影像。緊靠每 一源影像之兩個箭頭指示像素掃描方向(實線)及列掃描方向(虛線)。像素掃描方向指示將自源影像之每一影像塊掃描(亦即,提取)像素之方向。列掃描方向指示將自源影像之每一影像塊掃描列之方向及將藉以掃描影像塊之方向。像素掃描方向及列掃描方向判定由一提取單元(諸如(圖1之)提取單元12)藉以產生讀取位址之次序。提取單元12可藉由對影像之影像塊進行操作而非對整個影像或整列或整行進行操作來旋轉及/或翻轉源影像。提取單元12可經組態而以逐影像塊之方式自以旋轉影像之最左邊上部影像塊作為目標的源影像之影像塊開始自源影像提取像素。
針對16個不同旋轉及翻轉組合展示八個獨特影像定向。旋轉及翻轉之組合中之一些產生相同影像定向且因此在圖8中僅展示一次。舉例而言,繼之以x(水平)方向上之翻轉的90度旋轉等效於繼之以y(垂直)方向上之翻轉的270度旋轉。
請注意,圖8中所展示之實例並非可執行之旋轉之類型的完全清單,且可執行其他類型之旋轉。另外,圖8中所展示之實例影像為正方形影像,然而,矩形形狀之源影像亦可為本文中所揭示之方法及機制所用。又,在其他實施例中,可使用其他像素掃描方向及列掃描方向。
現參看圖9,展示用於以嵌入方式旋轉像素之方法之一項實施例。出於論述目的,以順序次序展示此實施例中之步驟。應注意,在下文所描述的方法之各種實施例中,所描述之要素中之一或多者可以不同於所示次序之次序並行 地執行,或可完全省略。如需要,亦可執行其他額外要素。
在一項實施例中,可以基於指定旋轉之次序發出對來自源影像之像素之提取請求(區塊60)。可將源影像分割成多個影像塊,且可以自影像塊之一頂部列開始且沿著該影像塊逐列向下移動之方式自每一影像塊提取像素。源影像至影像塊之分割可基於正在執行之指定旋轉。舉例而言,在具有16列乘以128行之影像塊大小的一項實施例中,若指定旋轉為90度,則源影像將經分割成具有128列及16行之影像塊。每一列可含有16個像素,且針對總共128列,可以自頂部列開始、往前向下移動至底部列之方式提取該等列。自源影像讀取之每一列將變為基於90度旋轉之旋轉影像中之行。所提取的源影像之第一影像塊可為將豎起以作為旋轉影像之左上部影像塊之影像塊,且接著可以沿著旋轉影像之影像塊之第一行向下之方式提取該等影像塊。接著,可(在影像塊出現在旋轉影像中時)提取右邊的下一行影像塊,等,直至已提取源影像之所有影像塊。
接下來,可計算像素之目標位置(區塊62)。可基於指定旋轉計算該等目標位置。舉例而言,若指定旋轉為90度,則以旋轉影像之對應影像塊中之行作為自源影像中之影像塊讀取之每一列的目標。源影像中之影像塊之頂部列將旋轉影像中之對應影像塊中之最右邊行作為目標,自源影像塊之頂部列起之第二列將自旋轉影像塊之最右邊行起之第二行作為目標,等。
接著,可將該等計算出之目標位置儲存於一表中(區塊64)。在一項實施例中,當提取請求發出時,可同時將該等計算出之目標位置儲存於一表中。當自源影像接收像素時,可在該表中查找對應目標位置(區塊66)。該表可儲存該等所發出提取請求之輸入項,且可基於請求之異動ID來識別該等輸入項。接著,可在該等計算出之目標位置將該等接收之像素儲存於一影像塊緩衝器中(區塊68)。可重複此等步驟,直至源影像之所有影像塊之所有像素已被提取且根據指定旋轉儲存在影像塊緩衝器中之適當位置中。影像塊緩衝器可藉由一後續級讀取或儲存至記憶體,以使得每一影像塊緩衝器可被重新用以儲存來自源影像內之後續影像塊之像素。
現轉而參看圖10,展示用於執行影像之嵌入旋轉之方法之一項實施例。出於論述目的,以順序次序展示此實施例中之步驟。應注意,在下文所描述的方法之各種實施例中,所描述之要素中之一或多者可以不同於所示次序之次序並行地執行,或可完全省略。如需要,亦可執行其他額外要素。
在一項實施例中,可將一源影像分割成複數個影像塊(區塊70)。該源影像之分割可基於正在執行之指定旋轉。分割可能並非改變源影像內容或源影像在記憶體器件中儲存之所在的實際實體分割。分割可為源影像至影像塊之邏輯配置之虛擬分割。可自源影像之第一影像塊讀取像素(區塊72)。在一項實施例中,可基於指定旋轉自源影像之 該複數個影像塊選擇源影像之第一影像塊。將旋轉影像之左上部影像塊作為目標的源影像之影像塊可為選自源影像之第一影像塊。接下來,可將該等像素在儲存於一影像塊緩衝器內之目標位置中(區塊74)。可基於正在執行之指定旋轉計算該等目標位置。
接下來,回應於偵測已藉由圖形管線中之一後續級讀取影像塊緩衝器(條件區塊76),可自源影像之一後續影像塊讀取像素(區塊80)。接著,可將來自源影像之後續影像塊之像素儲存於影像塊緩衝器中(區塊82)。若尚未藉由圖形管線中之一後續級讀取影像塊緩衝器(條件區塊76),則旋轉單元可暫停一或多個時脈循環(區塊78)。在暫停一或多個時脈循環之後,旋轉單元可再次判定是否已藉由圖形管線中之一後續級讀取影像塊緩衝器(條件區塊76)。在一項實施例中,圖形管線中之後續級可為用於垂直地及水平地按比例調整經旋轉影像之按比例調整器單元。
可基於指定旋轉來選擇第一影像塊及後續影像塊之次序。舉例而言,選自源影像之第一影像塊可為將豎起以作為旋轉影像之左上部影像塊之影像塊。接著,選自源影像之第二影像塊可為將在旋轉影像之左上部影像塊之下豎起之影像塊。此程序可針對將豎起以作為旋轉影像中之影像塊之最左行之影像塊繼續,且接著可處理右邊的下一行等。若最近處理之影像塊為源影像之最後一個影像塊(條件區塊84),則方法可結束。源影像之最後一個影像塊可將旋轉影像之右下部影像塊作為目標。若先前影像塊並非 最後一個影像塊,則方法可返回條件區塊76。
在其他實施例中,基於個別影像塊在旋轉影像中之位置藉以讀取該等影像塊之次序可變化。舉例而言,在另一實施例中,右上部影像塊由於其將定位於旋轉影像內而可為經處理之第一影像塊,且接著可沿著旋轉影像之最右行向下處理影像塊。接著,可以自右至左之次序處理影像塊之行。基於影像塊在旋轉影像內之位置藉以將該等影像塊寫入至影像塊緩衝器中之次序之變化係可能的且預期的。在一些實施例中,多個影像塊緩衝器可用以並行地儲存旋轉影像之多個影像塊。當該等影像塊緩衝器中之一或多者藉由一後續級讀取或傳遞至一顯示單元或儲存位置時,每一影像塊緩衝器可用來自像素之另一影像塊之像素來填充。
接下來參看圖11,展示系統90之一項實施例之方塊圖。如所示,系統90可表示桌上型電腦100、膝上型電腦110、平板電腦120、行動電話130或其他設備之晶片、電路、組件等。在所說明實施例中,系統90包括耦接至外部記憶體92之積體電路98之至少一例子。積體電路98可包括(圖1)之旋轉單元10之一或多個例子。在一些實施例中,積體電路98可為具有一或多個處理器及一或多個圖形處理管線之SoC。
積體電路98耦接至一或多個周邊設備94及外部記憶體92。亦提供電源供應器96,其將供應電壓供應至積體電路98以及將一或多個供應電壓供應至記憶體92及/或周邊設備94。在各種實施例中,電源供應器96可表示電池(例 如,智慧型電話、膝上型或平板電腦中之可再充電電池)。在一些實施例中,可包括積體電路98之一個以上例子(且亦可包括一個以上外部記憶體92)。
記憶體92可為任何類型之記憶體,諸如動態隨機存取記憶體(DRAM)、同步DRAM(SDRAM)、雙資料速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM之行動版本(諸如mDDR3等)及/或SDRAM之低功率版本(諸如LPDDR2等))、RAMBUS DRAM(RDRAM)、靜態RAM(SRAM)等。一或多個記憶體器件可耦接至電路板上以形成諸如單列式記憶體模組(SIMM)、雙列式記憶體模組(DIMM)等之記憶體模組。或者,該等器件可以晶片疊層組態、封裝疊層組態或多晶片模組組態與積體電路98安裝在一起。
周邊設備94可視系統90之類型而包括任何所要電路。舉例而言,在一項實施例中,周邊設備94可包括用於各種類型之無線通信(諸如,wifi、藍芽、蜂巢式、全球定位系統等)之器件。周邊設備94亦可包括額外儲存器,包括RAM儲存器、固態儲存器或磁碟儲存器。周邊設備94可包括使用者介面器件,諸如顯示螢幕(包括觸控顯示螢幕或多點觸控顯示螢幕)、鍵盤或其他輸入器件、麥克風、揚聲器等。
現轉而參看圖12,展示包括表示(圖1之)旋轉單元10中所包括之電路之一或多個資料結構的電腦可讀媒體140之方塊圖之一項實施例。一般而言,電腦可讀媒體140可包括任何非臨時儲存媒體(諸如,磁性或光學媒體,例如磁 碟、CD-ROM或DVD-ROM)、揮發性或非揮發性記憶體媒體(諸如,RAM(例如,SDRAM、RDRAM、SRAM等)、ROM等),以及經由傳輸媒體或信號(諸如,經由諸如網路及/或無線網路之通信媒體傳遞之電信號、電磁信號或數位信號)可存取之媒體。
通常,電腦可讀媒體140上之電路之資料結構可藉由程式來讀取且可被直接或間接地用以製造包含該電路之硬體。舉例而言,資料結構可包括硬體功能性之以諸如Verilog或VHDL之高階設計語言(HDL)的一或多個行為層級描述或暫存器傳送層級(RTL)描述。該(該等)描述可藉由合成工具來讀取,該合成工具合成描述以產生包含來自合成程式庫之閘之清單的一或多個網路連線表(netlist)。該(該等)網路連線表包含亦表示包含電路之硬體之功能性之閘的一集合。可接著置放並投送該(該等)網路連線表以產生描述待施加至光罩之幾何形狀之一或多個資料集。可接著在各種半導體製造步驟中使用該等光罩以產生對應於電路之(多個)半導體電路。或者,如需要,電腦可讀媒體140上之資料結構可為網路連線表(具有或不具合成程式庫)或資料集。在又一替代例中,資料結構可包含示意程式之輸出或自輸出獲得之網路連線表或資料集。
雖然電腦可讀媒體140包括旋轉單元10之表示,但其他實施例可包括旋轉單元10之部分(例如,提取單元12、影像塊緩衝器24-30、查找表18)之任何部分或組合之表示。
應強調,上述實施例僅為實施之非限制性實例。對於熟 習此項技術者而言,一旦已完全瞭解以上揭示內容,眾多變化及修改便將變得顯而易見。預期將以下申請專利範圍解釋為涵蓋所有此等變化及修改。
10‧‧‧旋轉單元
12‧‧‧提取單元
14‧‧‧記憶體管理單元(MMU)
15‧‧‧源影像
16‧‧‧記憶體
18‧‧‧查找表
20‧‧‧位元擴展單元
22‧‧‧拌和單元
24‧‧‧影像塊緩衝器
26‧‧‧影像塊緩衝器
28‧‧‧影像塊緩衝器
30‧‧‧影像塊緩衝器
32‧‧‧按比例調整器
50‧‧‧源影像
52‧‧‧源影像區塊/源影像
54‧‧‧經旋轉影像
90‧‧‧系統
92‧‧‧外部記憶體
94‧‧‧周邊設備
96‧‧‧電源供應器
98‧‧‧積體電路
100‧‧‧桌上型電腦
110‧‧‧膝上型電腦
120‧‧‧平板電腦
130‧‧‧行動電話
140‧‧‧電腦可讀媒體
圖1為說明旋轉單元之一項實施例之方塊圖。
圖2為根據一或多項實施例之查找表。
圖3為說明旋轉影像塊緩衝器之一項實施例之方塊圖。
圖4說明根據一或多項實施例之三個經分割影像。
圖5為經分割源影像與四個影像塊緩衝器之間的對應之一項實施例之方塊圖。
圖6為四個影像塊緩衝器及經分割之旋轉影像之一部分之一項實施例之方塊圖。
圖7為影像塊緩衝器之一項實施例之方塊圖。
圖8為可執行的各種類型之旋轉之方塊圖之群組。
圖9為說明用於以嵌入方式旋轉像素之方法之一項實施例的一般化流程圖。
圖10為說明用於執行影像之嵌入旋轉之方法之一項實施例的一般化流程圖。
圖11為系統之一項實施例之方塊圖。
圖12為電腦可讀媒體之一項實施例之方塊圖。
10‧‧‧旋轉單元
12‧‧‧提取單元
14‧‧‧記憶體管理單元(MMU)
15‧‧‧源影像
16‧‧‧記憶體
18‧‧‧查找表
20‧‧‧位元擴展單元
22‧‧‧拌和單元
24‧‧‧影像塊緩衝器
26‧‧‧影像塊緩衝器
28‧‧‧影像塊緩衝器
30‧‧‧影像塊緩衝器
32‧‧‧按比例調整器

Claims (20)

  1. 一種裝置,其包含:一提取單元;及一記憶體,其耦接至該提取單元;其中該提取單元經組態以產生複數個讀取操作以自儲存於該記憶體中之一源影像讀取像素,其中以基於正對該源影像執行之一旋轉之一次序產生該複數個讀取操作。
  2. 如請求項1之裝置,其進一步包含一或多個影像塊緩衝器,其中該提取單元經進一步組態以將該等像素寫入至一給定影像塊緩衝器之特定位置,其中該等特定位置係基於正對該源影像執行之該旋轉判定。
  3. 如請求項2之裝置,其中該源影像包含複數個影像塊,且其中每一影像塊緩衝器經組態以儲存該源影像之一單一影像塊。
  4. 如請求項3之裝置,其中每一影像塊之一寬度小於該源影像之一寬度,且其中每一影像塊之一長度小於該源影像之一長度。
  5. 如請求項4之裝置,其中每一影像塊緩衝器包含用於該影像塊之每一列之一個別隨機存取記憶體(RAM)。
  6. 如請求項3之裝置,其進一步包含一表,該表經組態以儲存目標像素位置,其中該等目標像素位置對應於一給定影像塊緩衝器中之位置,且其中該提取單元經組態以: 回應於產生一對應讀取操作將該等目標像素位置寫入至該表中;回應於自一給定讀取操作接收像素,自該表擷取目標像素位置;且將該等接收之像素寫入至一給定影像塊緩衝器內之該等目標像素位置。
  7. 如請求項6之裝置,其中該表經組態以儲存用於該表中之每一輸入項之一異動識別符(ID),其中該異動ID對應於一特定讀取操作,且其中回應於自該特定讀取操作接收像素,該提取單元經組態以利用該表中之一對應輸入項判定一給定影像塊緩衝器內之目標像素位置。
  8. 如請求項6之裝置,其中該提取單元經組態以在同時將對應目標像素位置寫入至該表中時產生一給定讀取操作。
  9. 如請求項1之裝置,其進一步包含一記憶體管理單元(MMU),其中該提取單元經組態以產生用於該複數個讀取操作之虛擬位址,且其中該MMU經組態以:將該等虛擬位址轉譯成該記憶體內之實體位址;執行至該等實體位址之讀取操作;且將所擷取像素傳遞至該提取單元。
  10. 如請求項9之裝置,其中該提取單元經進一步組態以產生預提取請求以預載入虛擬位址轉譯。
  11. 一種旋轉單元,其經組態以:接收指示將對一源影像執行之一選定旋轉之組態位 元;發出對該源影像之讀取請求,其中以基於該選定旋轉之一次序發出該等讀取請求;針對每一讀取請求,計算一旋轉影像中之對應像素之目標位置,其中該旋轉影像為在該選定旋轉已執行之後的該源影像;將該等計算出之目標位置儲存於一表中;自該源影像接收該等像素;且擷取該等計算出之目標位置且在該等計算出之目標位置將該等接收之像素儲存於一影像塊緩衝器內。
  12. 如請求項11之旋轉單元,其中該源影像經分割成複數個影像塊,其中以基於該選定旋轉之一次序自該源影像讀取該等影像塊,且其中該影像塊緩衝器用以儲存該旋轉影像之一個別影像塊。
  13. 如請求項12之旋轉單元,其中回應於一圖形管線之一後續級自該影像塊緩衝器提取該等像素,該旋轉單元經組態以發出對該源影像之一後續影像塊之讀取請求。
  14. 一種方法,其包含:發出對來自一源影像之像素之提取請求,其中藉以發出該等提取請求之一次序係基於一指定旋轉;計算該等像素之目標位置,其中該等目標位置係基於該指定旋轉計算,且其中該等目標位置對應於該源影像之一旋轉版本內之位置;及接收該等像素且將該等像素儲存在一影像塊緩衝器中 之該等計算出之目標位置。
  15. 如請求項14之方法,其進一步包含:回應於發出該等提取請求將該等計算出之目標位置儲存於一表中;及回應於接收該等像素在該表中查找該等計算出之目標位置。
  16. 如請求項15之方法,其中每一像素包含複數個顏色分量,且其中該複數個顏色分量中之每一顏色分量係儲存於一單獨影像塊緩衝器中。
  17. 如請求項14之方法,其中該源影像經分割成複數個影像塊,且其中提取請求係針對來自一給定影像塊之像素以自該給定影像塊之一頂部列開始且沿著該給定影像塊逐列向下移動之方式發出。
  18. 一種方法,其包含:將一源影像分割成複數個影像塊,其中該分割係基於一指定旋轉;自該源影像之一第一影像塊讀取像素;將來自該第一影像塊之該等像素儲存於一影像塊緩衝器內之目標位置中,其中基於該指定旋轉計算該等目標位置;回應於偵測已藉由一圖形管線中之一後續級讀取該影像塊緩衝器:自該源影像之一第二影像塊讀取像素;及將來自該第二影像塊之該等像素儲存於該影像塊緩 衝器中。
  19. 如請求項18之方法,其中該源影像內之該第一影像塊及該第二影像塊之一次序係基於該指定旋轉。
  20. 如請求項18之方法,其中該影像塊緩衝器包含複數個個別隨機存取記憶體(RAM),且其中按比例調整器單元經組態以在一單一時脈循環中自每一RAM讀取一單一像素。
TW101135174A 2011-11-29 2012-09-25 用於旋轉一影像之裝置、旋轉單元及方法 TWI482122B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/306,429 US8797359B2 (en) 2011-11-29 2011-11-29 Inline image rotation

Publications (2)

Publication Number Publication Date
TW201322181A true TW201322181A (zh) 2013-06-01
TWI482122B TWI482122B (zh) 2015-04-21

Family

ID=47262973

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101135174A TWI482122B (zh) 2011-11-29 2012-09-25 用於旋轉一影像之裝置、旋轉單元及方法

Country Status (8)

Country Link
US (1) US8797359B2 (zh)
EP (1) EP2600337A3 (zh)
JP (1) JP5632891B2 (zh)
KR (1) KR101490556B1 (zh)
CN (1) CN103136721B (zh)
AU (1) AU2012227210B2 (zh)
TW (1) TWI482122B (zh)
WO (1) WO2013081715A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272180A1 (en) * 2011-04-20 2012-10-25 Nokia Corporation Method and apparatus for providing content flipping based on a scrolling operation
CN103377030B (zh) * 2012-04-26 2016-12-21 华为技术有限公司 图像旋转控制方法及装置
US9934735B2 (en) * 2012-11-13 2018-04-03 Beijing Lenovo Software Ltd. Display control method and electronic device
KR102069857B1 (ko) * 2013-02-28 2020-01-23 삼성전자주식회사 자체-학습을 통해 원래 이미지를 회전하는 방법과 상기 방법을 수행할 수 있는 장치들
JP6161400B2 (ja) * 2013-05-17 2017-07-12 キヤノン株式会社 動画再生装置及びその制御方法
US20150042669A1 (en) * 2013-08-08 2015-02-12 Nvidia Corporation Rotating displayed content on an electronic device
US9571846B2 (en) * 2013-09-27 2017-02-14 Apple Inc. Data storage and access in block processing pipelines
GB2527033A (en) 2014-06-02 2015-12-16 Nokia Technologies Oy A method and technical equipment for image processing
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
KR102491622B1 (ko) * 2015-11-17 2023-01-25 삼성전자주식회사 가상 어드레스 생성기의 동작 방법과 이를 포함하는 시스템의 동작 방법
US10457066B2 (en) * 2015-11-30 2019-10-29 Hewlett-Packard Development Company, L.P. Image transformations based on defects
GB2545398B (en) * 2015-12-08 2020-02-19 Advanced Risc Mach Ltd Advance loading of memory page access data in data processing systems
KR102531741B1 (ko) 2016-01-12 2023-05-11 삼성전자 주식회사 멀티플 버퍼를 가지는 메모리 장치 및 멀티플 버퍼를 가지는 메모리를 구동하는 방법
CN111263085A (zh) * 2020-01-21 2020-06-09 中国航空无线电电子研究所 基于块式存储操作的航空显示任务旋转处理系统
TWI786497B (zh) 2020-12-22 2022-12-11 宏正自動科技股份有限公司 影像輸出裝置、影像接收裝置及影像傳輸方法
CN114866855B (zh) * 2022-04-29 2024-01-19 陕西科技大学 一种异型显示屏像素数据组织与传输方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111192A (en) * 1989-12-20 1992-05-05 Xerox Corporation Method to rotate a bitmap image 90 degrees
US5670982A (en) 1995-02-08 1997-09-23 International Business Machines Corporation System for fast 90-degree rotation of bi-level images
JP3924792B2 (ja) * 1995-02-08 2007-06-06 ソニー株式会社 画像編集装置
JPH08258344A (ja) 1995-03-23 1996-10-08 Canon Inc 印刷装置
JPH096323A (ja) * 1995-06-16 1997-01-10 Fuji Xerox Co Ltd 画像データ記憶方法および画像データ回転処理装置
US5854641A (en) 1996-09-27 1998-12-29 Apple Computer, Inc. Method and apparatus for display image rotation
JPH10208031A (ja) 1997-01-17 1998-08-07 Fuji Xerox Co Ltd 画像処理装置
US5990912A (en) 1997-06-27 1999-11-23 S3 Incorporated Virtual address access to tiled surfaces
JPH11146159A (ja) 1997-11-10 1999-05-28 Ricoh Co Ltd 画像形成装置
JP2001183940A (ja) 1999-12-24 2001-07-06 Canon Inc 画像形成装置および画像形成方法
US6628294B1 (en) 1999-12-31 2003-09-30 Intel Corporation Prefetching of virtual-to-physical address translation for display data
JP2003338922A (ja) 2002-05-21 2003-11-28 Sony Corp 画像処理装置及び方法
US6847385B1 (en) 2002-06-01 2005-01-25 Silicon Motion, Inc. Method and apparatus for hardware rotation
US7376286B2 (en) 2002-09-18 2008-05-20 Nxp B.V. Block-based rotation of arbitrary-shaped images
EP1507249A1 (en) 2003-08-12 2005-02-16 ARM Limited Display controller for rotation of display image
TWI266228B (en) * 2004-05-07 2006-11-11 Realtek Semiconductor Corp Dynamic image display device and its method
US7576758B2 (en) 2005-03-08 2009-08-18 Texas Instruments Incorporated Using super-pixels for efficient in-place rotation of images
US7512287B2 (en) 2005-07-25 2009-03-31 Seiko Epson Corporation Method and apparatus for efficient image rotation
US7876977B2 (en) 2006-02-15 2011-01-25 Conexant Systems, Inc. Image processor and method of image rotation
US7791611B1 (en) * 2006-08-24 2010-09-07 Nvidia Corporation Asynchronous reorder buffer
JP2008085450A (ja) 2006-09-26 2008-04-10 Kyocera Mita Corp 画像形成装置
US7924296B2 (en) 2007-02-20 2011-04-12 Mtekvision Co., Ltd. System and method for DMA controlled image processing
US8195008B2 (en) * 2007-06-28 2012-06-05 Broadcom Corporation Method and system for processing video data in a multipixel memory to memory compositor
JP5007272B2 (ja) 2008-05-15 2012-08-22 理想科学工業株式会社 画像形成方法および画像形成システム
JP2010114576A (ja) 2008-11-05 2010-05-20 Seiko Epson Corp 画像処理装置
US20110227920A1 (en) * 2010-03-19 2011-09-22 James Adams Method and System For a Shader Processor With Closely-Coupled Peripherals
US8405668B2 (en) * 2010-11-19 2013-03-26 Apple Inc. Streaming translation in display pipe

Also Published As

Publication number Publication date
US8797359B2 (en) 2014-08-05
CN103136721A (zh) 2013-06-05
US20130135351A1 (en) 2013-05-30
AU2012227210A1 (en) 2013-06-13
JP5632891B2 (ja) 2014-11-26
TWI482122B (zh) 2015-04-21
KR20130060114A (ko) 2013-06-07
KR101490556B1 (ko) 2015-02-05
JP2013114675A (ja) 2013-06-10
CN103136721B (zh) 2015-12-09
WO2013081715A1 (en) 2013-06-06
EP2600337A3 (en) 2017-03-08
AU2012227210B2 (en) 2013-12-12
EP2600337A2 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
TWI482122B (zh) 用於旋轉一影像之裝置、旋轉單元及方法
TWI466060B (zh) 轉譯單元、顯示管與在顯示管中之串流轉譯之方法與裝置
TWI437507B (zh) 具有多線程執行單元之繪圖處理裝置及其記憶體存取方法
US9811873B2 (en) Scaler circuit for generating various resolution images from single image and devices including the same
JP6335335B2 (ja) タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム
CN102750664A (zh) 基于寄存器的对纹理请求的排队
CN107025085B (zh) 数据处理系统及用于其的处理单元、操作方法、存储介质
US9965825B2 (en) Image processing circuit and methods for processing image on-the-fly and devices including the same
KR101517712B1 (ko) 이미지 병진을 위한 에지의 알파 값을 이용한 레이어 혼합
US20150199280A1 (en) Method and system for implementing multi-stage translation of virtual addresses
US20150357009A1 (en) High-density latch arrays
JP2011100453A (ja) イメージプロセッサ及びそれを含む電子装置及びイメージプロセッシング方法
Yum et al. A novel hardware architecture with reduced internal memory for real-time extraction of SIFT in an HD video
TWI498734B (zh) 用於分配記憶體階層中之資料的方法及裝置
US9652560B1 (en) Non-blocking memory management unit
WO2017000605A1 (zh) 片上系统、图形绘制方法、中间层及嵌入式设备、介质
US20170140501A1 (en) Method of operating virtual address generator and method of operating system including the same
Krishnan A Control Mechanism to the Anywhere Pixel Router