DE112014000938B4 - Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren von inaktiven Komponenten - Google Patents

Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren von inaktiven Komponenten Download PDF

Info

Publication number
DE112014000938B4
DE112014000938B4 DE112014000938.5T DE112014000938T DE112014000938B4 DE 112014000938 B4 DE112014000938 B4 DE 112014000938B4 DE 112014000938 T DE112014000938 T DE 112014000938T DE 112014000938 B4 DE112014000938 B4 DE 112014000938B4
Authority
DE
Germany
Prior art keywords
image data
mode
display buffer
scaling
graphics pipeline
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
DE112014000938.5T
Other languages
English (en)
Other versions
DE112014000938T5 (de
Inventor
Peter F. Holland
Hao Chen
Albert Kuo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
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 DE112014000938T5 publication Critical patent/DE112014000938T5/de
Application granted granted Critical
Publication of DE112014000938B4 publication Critical patent/DE112014000938B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • 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/363Graphics controllers
    • 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/391Resolution modifying circuits, e.g. variable screen formats
    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • 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/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • 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/045Zooming at least part of an image, i.e. enlarging it or shrinking it
    • 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/127Updating a frame memory using a transfer of data from a source area to a destination area
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

Verfahren, umfassend:Betreiben einer Anzeigeeinheit (110) in einem ersten Betriebsmodus einschließend:Empfangen, von Bilddatensätzen über eine Datenübertragungskopplung (102) durch einen Anzeigezwischenspeicher (114, 115), wobei jeder Satz eine erste Größe besitzt;Skalieren von Bilddaten von dem Anzeigezwischenspeicher (114, 115) in mindestens zwei Dimensionen durch eine Skalierungsschaltung (210, 211); undBetreiben der Anzeigeeinheit (110) in einem zweiten Betriebsmodus einschließend:Empfangen von Bilddatensätzen über die Datenübertragungskopplung (102) durch den Anzeigezwischenspeicher (114, 115), wobei jeder Satz eine zweite Größe besitzt, die größer als die erste Größe ist;Skalieren von Bilddaten vom Anzeigezwischenspeicher (114, 115) in höchstens einer Dimension durch die Skalierungsschaltung (210, 211); undHerunterfahren der Datenübertragungskopplung (102) während einem oder mehreren Zeitintervallen zwischen dem Empfangen der Bilddatensätze durch den Anzeigezwischenspeicher (114, 115).

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Diese Offenbarung bezieht sich auf Anzeige-Pipelines und insbesondere auf die mit Anzeige-Pipelines verbundene Energieverwaltung.
  • Beschreibung der verwandten Technik
  • Mit der zunehmenden Energie und Komplexität von Computersystemen werden grafische Vorgänge mehr und mehr mithilfe bestimmter Grafik-Rendering-Hardware ausgeführt. Entsprechend kann ein Grafikprozessor (GPU) verschiedene eingebaute und konfigurierbare Strukturen innerhalb einer Grafikpipeline beinhalten, um Bilder von Pixeldaten zu rendern, die über eine Anzeige dargestellt werden sollen. Diese Strukturen können verschiedene Pipeline-Phasen beinhalten, die zum Beispiel der Rasterung, dem Überlagern, Mischen, Ausschneiden, Dithering, der Farbraumkonvertierung, Rasterdrehung, Bild-Zwischenspeicherung, usw. entsprechen.
  • In einigen Fällen kann eine Anzeige-Pipeline auch bestimmte Strukturen zum Skalieren von Bildern beinhalten, wie zum Beispiel auf eine native Auflösung eines Ausgabegeräts. Die Strukturen können skalierende Vorgänge beinhalten, die lineare Transformationen zum Hochskalieren oder Herunterskalieren von Bilddaten ausführen. Dieses Skalieren kann horizontales und/oder vertikales Skalieren beinhalten.
  • Aus dem Whitepaper „NVIDIA Tegra 4 Family GPU Architecture“, http://www.nvidia.com/docs/10//116757/Tegra_4_GPU_Whitepaper_FINALv2.pdf, 2013-02-15, sind Architekturen von Grafikprozessoren bekannt.
  • Aus der Druckschrift US 6 894 706 B1 ist eine automatische Auflösungsdetektion bekannt.
  • Aus der Druckschrift US 7 802 118 B1 ist Clock-Gating auf Funktionsblockebene innerhalb eines Grafikprozessors bekannt.
  • Aufgabe der Erfindung ist es, die Energieverwaltung von Grafikpipeline zu verbessern.
  • ZUSAMMENFASSUNG
  • Die vorliegende Offenbarung beschreibt Ausführungsformen, in denen die Energieverwaltung auf der Basis des Betriebs eines Anzeigezwischenspeichers ausgeführt wird. In einer Ausführungsform speichert der Anzeigezwischenspeicher Bildquellzeilen (z. B. horizontale und vertikale Bildzeilen), die vom Speicher für eine Anzeige-Pipeline abgerufen werden, die die Quellzeilen zum Rendern der Bilder für eine Anzeige verwendet. Zum Beispiel kann die Grafikpipeline einzelne Zeilen häufiger abrufen, wenn es skaliert, und holt Blocks eventuell seltener, wenn es nicht skaliert.
  • In verschiedenen Ausführungsformen können ein oder mehrere Schaltungen abhängig davon, ob mehrere oder einzelne Bildquellzeilen für den Anzeigezwischenspeicher abgerufen werden, energieverwaltet werden. In einigen Ausführungsformen können diese Schaltungen eine Datenübertragungskopplung beinhalten, die die Bildquellzeilen vom Speicher auf den Anzeigezwischenspeicher überträgt, einen Speicher-Controller des Speichers, der die Bildquellzeilen speichert, usw. Entsprechend können in einer Ausführungsform, wenn Bildquellzeilenblocks abgerufen werden, diese Schaltungen heruntergefahren werden (d. h. ihre Leistung kann reduziert werden), wenn sie zwischen dem Abrufen der Quellzeilen inaktiv sind. Nach Empfangen einer Anfrage, weitere Quellzeilen abzurufen, können sie wieder hochgefahren werden. In vielen Fällen können energieverwaltende Schaltungen auf diese Weise Energieeinsparungen erzielen, ohne die Leistung ausreichend zu gefährden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Ausführungsform eines Computersystems darstellt.
    • 2 ist ein Blockdiagramm, das eine Ausführungsform einer Grafikpipeline innerhalb eines Computersystems darstellt.
    • 3 ist ein Blockdiagramm, das eine Ausführungsform von Komponenten innerhalb einer Grafikpipeline darstellt.
    • 4 ist ein Ablaufdiagramm, das eine Ausführungsform eines Verfahrens zum Empfangen von Bilddaten darstellt.
    • 5 ist ein Ablaufdiagramm, das eine Ausführungsform eines Verfahrens zum Herunterfahren einer Datenübertragungskopplung darstellt.
    • 6 ist ein Ablaufdiagramm, das eine Ausführungsform eines Verfahrens zum Betreiben der Grafikpipeline in verschiedenen Betriebsmodi darstellt.
  • Verschiedene Einheiten, Schaltungen oder andere Komponenten in dieser Offenbarung können als „konfiguriert“ für das Ausführen einer Aufgabe oder von Aufgaben beschrieben oder beansprucht werden. In diesen Zusammenhängen wird „konfiguriert“ verwendet, eine Struktur näher zu bezeichnen, indem angegeben wird, ob die Einheiten/Schaltungen/Komponenten eine Struktur (z. B. eine Schaltung) beinhalten, die diese Aufgabe(n) während des Betriebs ausführt. Somit kann man sagen, dass die Einheit/Schaltung/Komponente dafür ausgelegt ist, die Aufgabe auszuführen, auch wenn die bezeichnete Einheit/Schaltung/Komponente zurzeit nicht in Betrieb ist (z. B. nicht eingeschaltet ist). Die Einheiten/Schaltungen/Komponenten, die mit dem Ausdruck „konfiguriert“ verwendet werden, beinhalten Hardware - zum Beispiel Schaltungen, Speicher, in dem Programmbefehle hinterlegt sind, die ausführbar sind, um den Betrieb zu implementieren, usw.
  • DETAILLIERTE BESCHREIBUNG
  • In 1 ist ein Blockdiagramm einer Ausführungsform eines Systems 100 gezeigt. Wie dargestellt, beinhaltet das System 100 verschiedene Komponenten, wie z. B. eine Prozessoreinheit 108, einen Speicher 106, ein Festkörperbauteil 112, eine Anzeigeeinheit 110 und ein Gefüge 102. Das System 100 kann sich auf jedes geeignete Computersystem beziehen. Entsprechend kann das System 100 in einigen Ausführungsformen ein Mobilgerät sein (z. B. ein Mobiltelefon, ein Tablet, ein Personal Data Assistant (PDA), usw.), ein Desktop-Computersystem, ein Server-System, ein Netzwerkgerät (z. B. Router, Gateway, usw.), ein Mikro-Controller, usw. In einer Ausführungsform können mehrere Komponenten des Systems 100 zusammen in einem System auf einem Chip beinhaltet sein (d. h. eine integrierte Schaltung, die Komponenten eines Computers in eine integrierte Schaltung einbindet).
  • In einigen Ausführungsformen ist das System 100 konfiguriert, um Videos und Bilder auf einem Bildschirm, der mit dem System 100 verkoppelt ist, zu rendern. Entsprechend umfasst in verschiedenen Ausführungsformen das System 100 spezialisierte Schaltungen, die vor dem Rendern einer Anzeige für die Bearbeitung und Handhabung von Grafikdaten bestimmt sind.
  • Zudem ist das System 100 konfiguriert, energieverwaltet zu werden. Entsprechend kann das System 100 in verschiedenen Ausführungsformen die Energiezufuhr ausschalten und/oder veranlassen, dass eine oder mehrere Schaltungen oder das Gefüge (d. h. Gefüge 102) einen energieverwalteten Zustand einnehmen. Die hier verwendeten Begriffe „energieverwalten“, „herunterfahren“, „in den Ruhezustand versetzen“ und Ähnliches verweisen auf die Reduzierung des Energieerbrauchs einer Schaltung. Diese Reduzierung kann zum Beispiel durch Zeittaktung (d. h. Ausschalten des Empfangens eines Zeitsignals durch eine Schaltung), Energietaktung (d. h. Ausschaltung der Spannungsversorgung der Schaltung), usw. erzielt werden. In einigen Fällen kann das Energietakten einer Schaltung zu höheren Energieeinsparungen als das Zeittakten der Schaltung führen. Das Herunterfahren einer Schaltung oder eines standardisierten Busses kann zum Abschalten einer Funktion der Schaltung führen.
  • In einigen Ausführungsformen kann ein energieverwalteter Zustand auf mehrere der Komponenten 102 bis 114 oder das gesamte System 100 angewandt werden. Zum Beispiel ist in einer Ausführungsform, in der das System 100 ein Mobiltelefon oder ein Tablet ist, das System 100 konfiguriert, in einen energieverwalteten Status einzutreten, wenn das Mobiltelefon oder Tablet inaktiv ist (z. B. in der Tasche eines Benutzers oder wenn der Benutzer sich vom Tablet entfernt hat). Während sich das System 100 in einem Energiesparmodus befindet, kann es das Gefüge 102, den Speicher-Controller 104 und den Speicher 106 zeittakten, wie unten ausführlicher diskutiert. Die Energieverwaltung für das System 100 kann aus vielen Gründen wünschenswert sein. In einigen Ausführungsformen kann die Energieverwaltung des Systems 100 den Gesamtstromverbrauch reduzieren, die Batterielebenszeit verlängern, den Kühlbedarf mindern und die Betriebskosten für Energie und Kühlung mindern.
  • Wie dargestellt, sind die Komponenten des Systems 100 über das Gefüge 102 miteinander verkoppelt. Der Begriff „Gefüge“ (oder „Datenübertragungskopplung“) bezieht sich normalerweise auf einen Satz physischer Verbindungen, die von zwei oder mehreren Strukturen geteilt werden (z. B. Anzeigeverarbeitungseinheit 110 und Speicher 106). Diese physischen Verbindungen stellen die Leitungsbahnen für die Übertragung von Informationen innerhalb von Geräten, Komponenten oder Einheiten bereit, die sich im System 100 befinden können. Entsprechend kann das Gefüge 102 in einigen Ausführungsformen einen oder mehrere Busse, Controller, Kopplungen und/oder Brücken beinhalten. In einigen Ausführungsformen kann das Gefüge 102 ein einziges Kommunikationsprotokoll beinhalten, und Elemente, die mit dem Gefüge 102 verkoppelt sind, können intern von einem Kommunikationsprotokoll in andere Kommunikationsprotokolle umgewandelt werden. In einer Ausführungsform beinhaltet das Gefüge 102 zum Beispiel eine Northbridge und eine Southbridge. Wie ferner unten diskutiert, kann das Gefüge 102 in verschiedenen Ausführungsformen konfiguriert sein, im inaktiven Zustand herunterzufahren und bei Empfangen einer Kommunikation wieder hochzufahren.
  • In verschiedenen Ausführungsformen kann die Prozessoreinheit 108 Programmanweisungen (z. B. Treiber) ausführen, die den Betrieb der Anzeigeverarbeitungseinheit 110, des Speicher-Controllers 104, des Speichers 106 und der Speichervorrichtung 112 steuern. In einer solchen Ausführungsform kann die Prozessoreinheit 108 ebenso Programmanweisungen (z. B. Anwendungen) ausführen, die Daten bereitstellen können, die an eine oder mehrere Komponenten des Systems 100 zu kommunizieren sind. Die Prozessoreinheit 108 kann eine Befehlssatz-Architektur beinhalten und kann konfiguriert sein, um die in dieser Befehlssatz-Architektur festgelegten Anweisungen auszuführen. Die Prozessoreinheit 108 kann jede Mikroarchitektur einschließlich skalare, superskalare, Pipelines, superpipelined, außer Betrieb, in Betrieb, spekulative, nicht-spekulative Architektur usw. oder Kombinationen davon einsetzen. Die Prozessoreinheit 108 kann Schaltungen beinhalten und optional mikroprogrammierte Techniken einsetzen. Weiterhin kann die Prozessoreinheit 108 eine oder mehrere Cache-Ebenen beinhalten. In einigen Ausführungsformen kann die Prozessoreinheit 108 aus einer Vielzahl von Prozessoren bestehen.
  • In einer Ausführungsform speichert der Speichert 106 Bilddaten, die für das Rendern einer Bildanzeige verwendet werden können. Bilddaten können Datenbits umfassen, die einen Bildwert für jedes einzelne Pixel auf einer Anzeigeeinheit angeben. Bilddaten können Rastergrafiken beinhalten, die hier auch als Bitmaps bezeichnet werden können. Rastergrafikdaten können als Rastergitter einzelner Pixel gespeichert und verarbeitet werden, die durch ein Anzeigemedium sichtbar sind. Eine Bitmap kann durch ihre Breite und Höhe in Pixeln gekennzeichnet sein. Üblicherweise kann eine Farb-Bitmap im RGB-Farbraum (d. h. rot, grün, blau) definiert werden und kann ferner einen Alpha-Kanal umfassen, der zum Speichern zusätzlicher Daten wie z. B. Pro-Pixel-Transparentwerte verwendet wird. In anderen Ausführungsformen können die Bilddaten mithilfe anderer Farbräume, wie sRGB, Adobe RGB (ARGB), „Cyan, Magenta, Yellow, Key“ (CMYK), YCBCR, CIE 1931 XYZ, usw. definiert werden. In einigen Ausführungsformen können Bilddaten Farbunterabtastung beinhalten. Zum Beispiel können im Fall des Farbraums YCBCR 4:2:2 zwei horizontal aneinandergrenzende Pixel jeweils eigene Y-Komponenten in Bezug auf die Leuchtkraft (d. h. Leuchtintensität) besitzen und die Chroma-Komponenten CB und CR gemeinsam nutzen. Der Speicher 106 kann verschiedene Arten von Bilddaten speichern, wie z. B. Videos, Fotos und andere Arten von Grafikbildern, die auf einer Anzeigeeinheit dargestellt werden können.
  • Die Bilddaten können auf einer Anzeigeeinheit wie z. B. einem Computerbildschirm, einem Fernseher oder einem Mobiltelefonmonitor gerendert werden. Jedes Bilderfassungsgerät, das zur Anzeige digitaler Bilddaten konfiguriert ist, kann verwendet werden. Ein Bilderfassungsgerät kann konfiguriert sein, von der unten diskutierten Anzeigeverarbeitungseinheit 110 ausgelesene Daten anzuzeigen.
  • Der Speicher 106 kann jede Art von Speicher sein, wie z. B. Arbeitsspeicher (DRAM), synchroner Arbeitsspeicher (SDRAM), doppelte Datenrate (DDR, DDR2, DDR3, usw.). SRAM (einschließlich mobiler Versionen der SDRAMS, wie DDR2 usw. und/oder energiesparender Versionen der SDRAMS, wie LPDDR2 usw.), RAMBUS DRAM (RDRAM), statischer RAM (SRAM) usw. Ein oder mehrere Speichervorrichtungen können auf einer Leiterplatte verkoppelt sein, um Speichermodule zu bilden, wie einzelreihige Speicherbausteine (SIMMs), doppelreihige Speicherbausteine (DIMMs) usw. In einigen Ausführungsformen kann der Speicher 106 mit einer eingebauten Schaltung in einer Chipon-Chip-Konfiguration, einer Package-on-Package-Konfiguration oder einer Mehrfach-Chipmodul-Konfiguration angebracht werden.
  • In verschiedenen Ausführungsformen kann der Speicher 106 vom Speicher-Controller 104 gesteuert sein. Entsprechend kann der Speicher-Controller 104 die Ausführung von Lese- und Schreibvorgängen als Reaktion auf Datenanfragen ermöglichen, die von den Einheiten 108 und 110 über das Gefüge 102 empfangen wurden. Der Speicher-Controller 104 kann verschiedene physische Speicherschnittstellen (PHY)-Funktionen ausführen, wie Speicherauffrischungs-, Speicherzeilenadress- und Spaltenadress-Strobe-Vorgänge usw. Wie unten diskutiert, kann der Speicher-Controller 104 auch zur Energieverwaltung des Speichers 106 verwendet werden. Auf die Bilddaten kann über das Gefüge 102 zugegriffen werden, und sie können auf die Anzeigeverarbeitungseinheit 110 übertragen werden, wie weiter unten diskutiert.
  • In verschiedenen Ausführungsformen kann die Speichervorrichtung 112 Programmanweisungen (z. B. Anwendungen) speichern, die von einer Prozessoreinheit 108 ausgeführt werden können. In einigen Ausführungsformen kann die Speichervorrichtung 112 eine Vielzahl von Bilddaten speichern, die auf den Speicher 106 übertragen werden können (d. h. so, dass zukünftige Anfragen nach diesen Daten schneller bedient werden können) oder direkt auf die Anzeigeverarbeitungseinheit 110 übertragen werden können. Die Speichervorrichtung 112 kann jede geeignete Art von nichtflüchtigem Speicher-Festplattenlaufwerk sein (z. B. Small Computer System Interface (SCSI)-Laufwerke, Serial AT Attachment (SATA)-Laufwerke usw.), Bandlaufwerke, optische Laufwerke (z. B. CD-Laufwerke, DVD-Laufwerke, Blu-Ray-Laufwerke usw.) usw. Die Speichervorrichtung 112 kann ein Halbleiterbauelement (SSD), z. B. eines mit NAND-Flash-Speicher, NOR-Flash-Speicher, Nano RAM („NRAM“) usw. sein.
  • In verschiedenen Ausführungsformen ist die Anzeigeverarbeitungseinheit 110 konfiguriert, Bilddaten zu bearbeiten, sodass das System 100 die Daten auf einer Anzeigeeinheit rendern kann. Die Anzeigeverarbeitungseinheit 110 kann eine Grafikpipeline beinhalten, das verschiedene Pipeline-Phasen beinhaltet, wie Rasterung, Überlagern, Mischen, Ausschneiden, Dithering, Farbraumkonvertierung, Rasterdrehung, Raster-Zwischenspeicherung. Die Anzeigeverarbeitungseinheit 110 beinhaltet auch einen oder mehrere Anzeigezwischenspeicher 114, um Bilddaten zwischenzuspeichern, die von einer oder mehreren dieser Phasen verwendet werden. In verschiedenen Ausführungsformen können die Daten als Bildquellzeilen zwischengespeichert werden. Der hier verwendete Begriff „Bildquellzeile“ bezieht sich auf Bilddaten, die entweder einer vertikalen oder horizontalen Zeile eines Bildes entsprechen (d. h. Daten, die einer horizontalen oder vertikalen Pixelzeile entsprechen). Im Sinne dieser Offenbarung kann dieser Begriff auf eine gesamte Zeile (z. B. eine horizontale Zeile, die die gesamte Breite eines Bildes umfasst) oder einen Teil einer Zeile (z. B. neun Pixel in einer horizontalen Zeile) verweisen. Entsprechend können die in einem Anzeigezwischenspeicher 114 gespeicherten Quellzeilen in verschiedenen Ausführungsformen im Gegensatz zu einer vollständigen Zeile einer teilweisen Zeile in einem Bild entsprechen.
  • In verschiedenen Ausführungsformen ruft die Anzeigeverarbeitungseinheit 110 Bilddaten ab, die in einem Zwischenspeicher 114 zu speichern sind, indem sie Anfragen für Bilddaten über das Gefüge 102 an den Speicher 106 sendet. In einigen Ausführungsformen kann die Schaltung in einem System 100 aufgrund des Abrufens von Bilddaten durch die Anzeigeverarbeitungseinheit 110 energieverwaltet sein. In einer Ausführungsform beinhaltet diese Schaltung das Gefüge 102. Entsprechend kann das Gefüge 102 durch Reduzieren der Leistung zu einem oder mehreren Bus-Controllern, Steuerleitungen, Datenleitungen und/oder Taktsignalleitungen energieverwaltet werden. In einigen Abschnitten kann die Leistung zur Gesamtheit des Gefüges 102 reduziert werden; in anderen Ausführungsformen kann die Leistung nur zu einem Abschnitt reduziert werden - z. B. den verkoppelnden Controllern und Leitungen zwischen der Anzeigeverarbeitungseinheit 110 und dem Speicher-Controller 104. In einer Ausführungsform kann der Speicher-Controller 104 ebenso energieverwaltet werden - z. B. kann Einheit 104 zeitgetaktet und/oder energiegetaktet sein.
  • In einigen Ausführungsformen können die Einheiten 110 und 104 basierend auf dem Abrufen von Bilddaten energieverwaltet werden. In einer Ausführungsform ist die Rate, zu der die Daten abgerufen werden, ein Faktor zur Bestimmung des Herunterfahrens von Einheiten. Zum Beispiel kann die Anzeigeverarbeitungseinheit 110 in verschiedenen Ausführungsformen häufig einzelne Bildquellzeilen (z. B. kann eine einzelne Zeile alle 10 ms abgerufen werden) oder Blocks von mehreren Bildquellzeilen weniger häufig (z. B. kann ein Block alle 100 ms abgerufen werden), abhängig von den durch die Anzeigeverarbeitungseinheit 110 durchgeführten Operationen, abrufen. (Zum Beispiel, wie bezüglich der 2 und 3 in einer Ausführungsform diskutiert wird, können einzelne Bildquellzeilen oder Blocks von Zeilen basierend auf der Tatsache abgerufen werden, ob die Bilddaten durch die Verarbeitungseinheit 110 skaliert werden.) In verschiedenen Ausführungsformen können das Gefüge 102 und der Speicher-Controller 104 vor dem Abrufen eines anderen Datenblocks einige Zeit inaktiv sein, wenn die Anzeigeverarbeitungseinheit 110 Blöcke von mehreren Bildquellzeilen abruft. Demzufolge können das Gefüge 102 und der Speicher-Controller 104 in einer solchen Ausführungsform heruntergefahren werden.
  • In einigen Ausführungsformen kann die Bestimmung, das Gefüge 102 und/oder den Speicher-Controller 104 herunterzufahren, auf einem Zeitschalter beruhen, der nachverfolgt, wie lange eine gewisse Einheit inaktiv war. In einer Ausführungsform kann die Steuerlogik veranlassen, dass die Einheit heruntergefahren wird, wenn der Zeitschalter anzeigt, dass eine Einheit (z. B. Gefüge 102 oder Speicher-Controller 104) für eine zugewiesene Dauer inaktiv war. Somit können die Einheiten 102 und 104 als Reaktion auf den Zeitschalter, der einem besonderen Grenzwert entspricht, heruntergefahren werden, wenn die Anzeigeverarbeitungseinheit 110 Daten in Bursts abruft, wobei das Gefüge 102 und der Speicher-Controller 104 zwischen den Abrufungen inaktiv bleiben. Zum Beispiel kann die Steuerlogik das Gefüge 102 herunterfahren, nachdem der Zeitschalter eine Ruhezeit von 100 ms oder mehr anzeigt. In einer Ausführungsform kann die Leistung als Reaktion auf eine entsprechende Anfrage nach Daten (z. B. Lese- oder Schreibanfrage) seitens einer Einheit (z. B. Anzeigeverarbeitungseinheit 110 oder Prozessoreinheit 108) wiederhergestellt werden, nachdem die Energieversorgung zum Gefüge 102 und/oder Speicher-Controller 104 reduziert wurde.
  • In 2 ist ein Blockdiagramm der Anzeigeverarbeitungseinheit 110 gezeigt. Wie oben diskutiert, kann die Anzeigeverarbeitungseinheit 110 in verschiedenen Ausführungsformen konfiguriert werden, um Bilddaten abzurufen und zu bearbeiten, sodass das System 100 die Daten auf einer Anzeigeeinheit rendern kann. In der dargestellten Ausführungsform beinhaltet die Anzeigeverarbeitungseinheit 110 eine Grafikpipeline 200, um das Bildrendern zu ermöglichen. Die Grafikpipeline 200 wiederum beinhaltet die Anzeigezwischenspeicher 114 und 115, die Skalierungseinheiten 210 und 211 und die Mischeinheit 230. In einigen Ausführungsformen sind der Anzeigezwischenspeicher 114 bzw. die Skalierungseinheit 210 identisch mit dem Anzeigezwischenspeicher 115 bzw. der Skalierungseinheit 211. (Somit trifft jede für die Einheiten 114 und 210 geltende Beschreibung auch auf die Einheiten 115 und 211 zu.) Auch wenn dies nicht dargestellt ist, kann die Grafikpipeline 200 in verschiedenen Ausführungsformen mehrere weitere Pipeline-Phasen beinhalten.
  • Wie oben angegeben, ist der Anzeigezwischenspeicher 114 in einer Ausführungsform konfiguriert, um die vom Speicher 106 abgerufenen Bilddaten 202 zu speichern. In einigen Ausführungsformen können die Bilddaten 202 alternativ von der Speichervorrichtung 112 abgerufen werden. Wie bezüglich 3 beschrieben wird, werden die Bilddaten 202 in verschiedenen Ausführungsformen als Bildquellzeilen in Zeilenzwischenspeichern des Anzeigezwischenspeichers 114 gespeichert. Der hier verwendete Begriff „Zeilenzwischenspeicher“ verweist auf Schaltungen, die konfiguriert sind, um eine einzelne Bildquellzeile (oder einen Teil einer Quellzeile) zu speichern. Wie ebenso diskutiert, kann der Anzeigezwischenspeicher 114 abhängig vom Betriebsmodus, in der die Anzeigeverarbeitungseinheit 110 arbeitet (z. B. Skalier- oder Nicht-Skaliermodus), jeweils eine Bildquellzeile oder Blocks von mehreren Bildquellzeilen abrufen.
  • In der dargestellten Ausführungsform ist die Skalierungseinheit 210 konfiguriert, um die vom Zwischenspeicher 114 empfangenen Bilddaten 202 zu skalieren. Im Allgemeinen kann das Skalieren auf das Ändern der Pixelauflösung eines Bildes hinweisen. Das Skalieren durch die Skalierungseinheit 210 kann Herunterskalieren, Hochskalieren, Vertikalskalieren und/oder Horizontalskalieren beinhalten. Zum Beispiel kann ein Bild mit einer Auflösung von 200 Pixeln breit und 100 Pixeln hoch horizontal und vertikal herunterskaliert werden, um eine Auflösung von 100 Pixeln breit und 75 Pixeln hoch zu erhalten. In einer Ausführungsform kann die Skalierungseinheit 210 die Auflösung eines solchen Bildes durch Generieren von Ausgabe-Pixelkomponenten (z. B. R-, G-, B-Komponenten) für das skalierte Bild auf der Basis von Komponenten von nahegelegenen Pixeln im ursprünglichen Bild reduzieren. In einem Beispiel kann die Skalierung durchgeführt werden, wenn eine Anwendung Bilddaten generiert, die nicht mit der nativen Auflösung der Anzeigeeinheit übereinstimmen (z. B. ein Web-Browser, der ursprünglich formatiert war, um den Internetinhalt auf einem Computerbildschirm anzuzeigen, diesen stattdessen auf einem Telefon anzeigte).
  • In einigen Fällen werden allerdings nicht alle Bildquellzeilen skaliert (z. B. wenn eine Anwendung in der nativen Auflösung formatiert ist). Entsprechend kann die Grafikpipeline 200 in einigen Ausführungsformen so konfiguriert sein, dass es in einem „Skalier-Modus“ oder einem „Nicht-Skalier-Modus“ arbeitet. In einer Ausführungsform werden die Bildquellzeilen vor dem Übertragen auf die Mischeinheit 230 durch die Skalierungseinheit 210 skaliert, wenn die Grafikpipeline 200 in einem Skalier-Modus arbeitet. Im Skalier-Modus kann der Anzeigezwischenspeicher 114 auch einzelne Bildquellzeilen nacheinander vom Speicher abrufen. In einem Nicht-Skalier-Modus werden die Bildquellzeilen vor dem Übertragen auf eine Mischeinheit 230 nicht skaliert. In gewissen Ausführungsformen kann der Anzeigenzwischenspeicher 114 Bildquellzeilen in einem Block abrufen, wenn er in einem Nicht-Skalier-Modus arbeitet (d. h. zwei oder mehr Bildquellzeilen gleichzeitig).
  • In der dargestellten Ausführungsform können Bildquellenzeilen (skaliert und nicht skaliert) auf die Mischeinheit 230 übertragen werden (oder, in anderen Ausführungsformen, auf eine andere Phase in der Pipeline). Die zusätzlichen Bilddaten können Informationen (z. B. in Bezug auf Transparenz oder Positionierung) bezüglich eines anderen Bildes beinhalten, das zusammen mit den Bilddaten 202 anzuzeigen ist. Die Bildquellzeilen und weitere Bilddaten können auf vielfache Art und Weise durch die Mischeinheit 230 kombiniert werden, um ein endgültiges Bild zu rendern (z. B. Icons in Kombination mit einem Bildschirmhintergrund).
  • In 3 ist ein Blockdiagramm des Anzeigezwischenspeichers 114 und der Skalierungseinheit 210 genauer dargestellt. Wie gezeigt, beinhaltet die Grafikpipeline 200 Schaltungen in Bezug auf das Skalieren (d. h. Skalierungseinheit 210), den Anzeigezwischenspeicher 114, ein Skaliermodus-Verzeichnis 340 und einen Mux 350. In der dargestellten Ausführungsform beinhaltet der Anzeigezwischenspeicher 114 auch eine Vielzahl von Zeilenzwischenspeichern 310a bis x (neun (9) Zwischenspeicher 310 in einer Ausführungsform), die jeweils konfiguriert sind, um eine entsprechende Bildquellzeile zu speichern und eine Zwischenspeicher-Leselogik 320. Wie diskutiert wird, können die Schaltungen 310 bis 350 in verschiedenen Ausführungsformen verwendet werden, um Unterstützung für Skalier- und Nicht-Skalier-Modi einzusetzen.
  • In der dargestellten Ausführungsform kann der Modus, in dem die Grafikpipeline 200 arbeitet, durch den Wert des Skaliermodus-Verzeichnisses 340, der von einem oder mehreren Bits angegeben wird, gesteuert werden. In verschiedenen Ausführungsformen kann ein Betriebssystem den Wert im Verzeichnis 340 festlegen (z. B. steuern, in welchem Modus die Grafikpipeline 200 arbeiten sollte). In verschiedenen Ausführungsformen kann die Zwischenspeicher-Leselogik 320 in einem Nicht-Skaliermodus so konfiguriert werden, dass sie selektiv jeweils einen Zeilenzwischenspeicher 310a bis x liest. Somit kann der Anzeigezwischenspeicher 114 konfiguriert sein, alle Bildquellzeilen in den Zeilenzwischenspeichern 310a bis x zurückzuhalten, bis jede von der Zwischenspeicher-Leselogik 320 gelesen wurde. Dann kann der Anzeigezwischenspeicher 114 einen weiteren Block von Bildquellzeilen abrufen, die von der Zwischenspeicher-Leselogik 320 zu lesen ist.
  • Im Skaliermodus kann die Zwischenspeicher-Leselogik 320 konfiguriert werden, um alle Zeilenzwischenspeicher 310a bis x gleichzeitig zu lesen. Nach jedem Lesen kann der Anzeigezwischenspeicher 114 konfiguriert werden, um jede Bildquellzeile auf den angrenzenden Zeilenzwischenspeicher zu verschieben (z. B. Übertragen der Bildquellzeile vom Zeilenzwischenspeicher 310a auf 310b) und um eine neue Bildquellzeile (z. B. Füllen des Zeilenzwischenspeichers 310a mit neuer Bildquellzeile) abzurufen. Entsprechend kann der Anzeigezwischenspeicher 114 konfiguriert werden, um nach jedem von der Zwischenspeicher-Leselogik 320 durchgeführten Ablesen eine neue Bildquellzeile abzurufen.
  • Im Skalier-Modus werden die Bildquellzeilen über den Skalierungspfad 322 auf die Skalierungseinheit 210 übertragen. Wie dargestellt, beinhaltet die Skalierungseinheit 210 einen Horizontal-Scaler 332 und einen Vertikal-Scaler 334. Der Horizontal-Scaler 332 kann konfiguriert werden, um horizontale Pixelzeilen zu verarbeiten; ebenso kann der Vertikal-Scaler 334 konfiguriert werden, um die vertikalen Pixelzeilen zu verarbeiten. Wie dargestellt, kann die Skalierungseinheit 210 konfiguriert werden, um Ausgabe-Pixelkomponenten in einem skalierten Bild beruhend auf Merkmalen naheliegender Pixel im ursprünglichen Bild zu skalieren. Zum Beispiel stellen im Falle der Übertragung von neun Bildquellzeilen durch den Skalierungspfad 322 (d. h. vom Zeilenzwischenspeicher 312a bis x) diese Quellzeilen 9 Pixelzeilen dar, die aneinandergrenzen. Somit können der Horizontal-Scaler 332 und der Vertikal-Scaler 334 jede beliebige Formelkombination auf die neun Bildquellzeilen anwenden, um die skalierte Zeile 335 zu produzieren.
  • Im Nicht-Skaliermodus werden die Bildquellzeilen über den Bypass-Pfad 324 auf den Mux 350 übertragen. Somit werden die Bildquellzeilen nicht skaliert. Wie dargestellt kann das Skaliermodus-Verzeichnis 340 dem Mux 350 anzeigen, in welchem Modus die Grafikpipeline 200 für den Betrieb konfiguriert ist. Entsprechend kann der Mux 350 die skalierte Zeile 335 oder den Bypass-Pfad 324 wählen und die Bilddaten an die Mischeinheit 230 oder eine andere Phase in der Pipeline ausgeben.
  • In einigen Ausführungsformen, in denen die Grafikpipeline 200 an Bilddaten arbeitet, die mithilfe von Farbunterabtastung verschlüsselt sind, kann die Grafikpipeline 200 in einem Hybridmodus arbeiten, der die Funktion des Skaliermodus und des Nicht-Skaliermodus beinhaltet. In diesem Hybridmodus können Bilddaten in einer Dimension skaliert werden (z. B. horizontale Dimension), aber nicht in der anderen. In einer Ausführungsform kann die Grafikpipeline 200 beim Betrieb in diesem Modus Bilddaten über den Skalierungspfad 322 übertragen. Hinsichtlich des Nicht-Skaliermodus können einzelne Quellbildzielen (d. h. jede einzeln) von Zeilenzwischenspeichern 310 abgelesen werden, wodurch Blocks von mehreren Bildquellzeilen vom Speicher 106 gelesen werden können. Bei Ankunft in der Skalierungseinheit können die Bildquellzeilen vom jeweiligen Scaler verarbeitet werden (z. B. Horizontal-Scaler 332 oder Vertikal-Scaler 334) und können den nicht-relevanten Scaler umgehen. Zum Beispiel kann im Falle des „YCBCR 4:2:2“-Farbraums horizontales Hochskalieren erfolgen, wenn die Daten in einen RGB-Farbraum umgewandelt werden, da zwei horizontal aneinandergrenzende Pixel die Chroma-Komponenten CB und CR gemeinsam nutzen. In einer solchen Situation kann der Horizontal-Scaler 332 das Hochskalieren durchführen, während der Vertikal-Scaler 334 umgangen wird. In verschiedenen Ausführungsformen kann das Umgehen eines der Scaler 332 oder 334 zusätzliche Energieeinsparungen aufbringen, da der Bypass-Scaler energiegetaktet und/oder zeitgetaktet sein kann.
  • Wie zuvor diskutiert, kann die Zwischenspeicher-Leselogik 320 in einem Nicht-Skaliermodus konfiguriert sein, selektiv jeden Zeilenzwischenspeicher 310a bis x einzeln zu lesen. In diesem Modus kann der Anzeigezwischenspeicher 114 Blocks von Bildquellzeilendaten in Bursts abrufen (im Gegensatz zum fortgesetzten Abrufen einer Bildquellzeile). Dabei bleiben das Gefüge 102 und der Speicher-Controller 104 zwischen den Abrufungen inaktiv. Somit können das Gefüge 102 und der Speicher-Controller 104 als Reaktion auf die einem bestimmten Schwellenwert entsprechende Ruhezeit heruntergefahren werden. Dies führt zu bedeutenden Energieeinsparungen. Weiterhin können durch Umgehen der Skalierungseinheit 210 über den Bypass-Pfad 324 (z. B. im Nicht-Skaliermodus) oder der einzelnen Scaler 332 und 334 (z. B. in einem Hybridmodus) weitere Energieeinsparungen erzielt werden (z. B. können die Skalierungseinheit 210 oder die einzelnen Scaler 332 und 334 heruntergefahren werden, wenn sie nicht in Gebrauch sind). In einigen Ausführungsformen kann auch das Gefüge 102 im Skaliermodus zwischen den Abrufvorgängen heruntergefahren werden, allerdings kann das Gefüge 102 für kürzere Abstände als beim Betrieb in einem Nicht-Skaliermodus heruntergefahren werden.
  • In 4 ist ein Ablaufdiagramm gezeigt, das eine Ausführungsform eines Verfahrens zur Umsetzung eines Nicht-Skaliermodus in einem System darstellt. Das Verfahren 400 kann von jedem geeigneten System durchgeführt werden, das die Energieverwaltung einer oder mehrerer Schaltungen unterstützt, wie zum Beispiel das System 100. In verschiedenen Ausführungsformen können einige der in 4 gezeigten Bausteine simultan, in einer anderen Reihenfolge als gezeigt durchgeführt oder ausgelassen werden. Zusätzliche Verfahrenselemente können zudem wie gewünscht durchgeführt werden.
  • Das Verfahren 400 beginnt mit Schritt 402, zu Beginn des Rasters wird in Entscheidungsbaustein 404 entschieden, ob in einem Skaliermodus gearbeitet wird. Falls ja, wird der Ablauf in einem Skaliermodus fortgesetzt. Falls nicht, wird der Ablauf in einem Nicht-Skaliermodus, beginnend mit Schritt 410, fortgesetzt. In Schritt 410 empfängt eine Einheit (z. B. Grafikpipeline 200) Daten (z. B. Bilddaten 202) von einer Datenübertragungskopplung (z. B. Gefüge 102). In einigen Ausführungsformen kann Schritt 410 erfolgen, während die Grafikpipeline 200 in einem Nicht-Skalier- oder Hybridmodus arbeitet. Die Grafikpipeline kann dementsprechend einen Hinweis (z. B. von einem Bit-Satz im Skaliermodus-Verzeichnis 340) empfangen und zum Abrufen von Bildquellzeilen in Blöcken übergehen. In Entscheidungsbaustein 415 wird entschieden, ob die Menge der empfangenen Bilddaten größer als ein Schwellenwert von Daten ist (z. B. werden zwei oder mehr Quellzeilen abgerufen). Da, wie oben diskutiert, die Grafikpipeline konfiguriert ist, in einem Nicht-Skalier- (oder Hybrid-)Modus zu arbeiten, fährt die Grafikpipeline nach Erhalten des Grenzwerts der Bilddaten fort, selektiv jeden Zeilenzwischenspeicher (z. B. 310a bis x) zu lesen. Falls kein Datengrenzwert empfangen wird, kehrt der Ablauf zu Schritt 410 zurück, wo die Grafikpipeline fortfahren kann, Bilddaten abzurufen, bis ein Grenzwert empfangen wurde.
  • Wie oben in Entscheidungsbaustein 415 erklärt, können die Datenübertragungsverkopplung und sonstige Einheiten (z. B. Speicher-Controller 104) inaktiv bleiben, wenn ein Datengrenzwert erreicht ist, während die Grafikpipeline die Bilddaten liest. Wie zuvor diskutiert, beinhaltet der Schritt 415 in einigen Ausführungsformen das Prüfen eines Zeitschalters, um festzustellen, ob die Datenübertragungskopplung für eine Zeitspanne mit Schwellenwert inaktiv war. In anderen Ausführungsformen kann ein Hinweis von der Grafikpipeline 200 gesendet werden, dass eine Datenmenge mit Grenzwert empfangen wurde. Entsprechend wird die Datenübertragungsverkopplung in Schritt 420 heruntergefahren, nachdem ein Hinweis oder eine Feststellung erfolgt ist, dass die Datenübertragungskopplung heruntergefahren werden sollte. Schritt 420 kann ebenso das Herunterfahren oder Reduzieren der Stromversorgung zu anderen Schaltungen, z. B. dem Speicher-Controller 104 beinhalten. In anderen Abschnitt kann ein Teil der Datenübertragungskopplung (im Gegensatz zur gesamten) heruntergefahren werden.
  • In Schritt 425 überträgt die Grafikpipeline die empfangenen Daten an eine Ausgabe. In einigen Ausführungsformen kann dies die Mischeinheit (z. B. Mischeinheit 230) oder eine andere Phase in der Pipeline sein. An diesem Punkt kann die Grafikpipeline mehr Daten abrufen. Somit wird die Datenübertragungskopplung als Reaktion auf die Übertragung der Bilddaten in Schritt 430 hochgefahren, sodass mehr Daten abgerufen werden können. In Schritt 435 wird entschieden, ob das Ende des Rasters erreicht ist. Falls ja, geht der Ablauf zu Schritt 402 zurück. Falls nicht, geht der Ablauf zu Schritt 410 zurück, in dem mehr Daten von der Datenübertragungskopplung 410 empfangen werden. Wie zuvor diskutiert, verhindert das Arbeiten in einem Skaliermodus in einigen Ausführungsformen, dass das Gefüge zwischen den Abrufungen heruntergefahren wird, da die Grafikpipeline sukzessiv jeweils eine Bildquellzeile abruft. In anderen Ausführungsformen kann das Gefüge jedoch trotz des Skaliermodus heruntergefahren werden, allerdings für wesentlich kürzere Zeit als in einem Nicht-Skaliermodus.
  • In 5 ist ein Ablaufdiagramm, das eine Ausführungsform eines Verfahrens zum Herunterfahren einer Datenübertragungskopplung gezeigt. Ähnlich wie das Verfahren 400 kann das Verfahren 500 von jedem geeigneten System, das die Energieverwaltung unterstützt, ausgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 500 von jedem System ausgeführt werden, das das Verfahren 400 zum Abrufen von Bilddaten ausführt. In verschiedenen Ausführungsformen können einige der in 5 gezeigten Bausteine simultan, in einer anderen Reihenfolge als gezeigt durchgeführt oder ausgelassen werden. Zusätzliche Verfahrenselemente können zudem wie gewünscht durchgeführt werden.
  • Das Verfahren 500 beginnt mit Schritt 502, in dem Bilddaten (z. B. die Bilddaten 202) von einer Datenübertragungskopplung (z. B. Gefüge 102) übertragen werden. Wie zuvor diskutiert, können in verschiedenen Ausführungsformen Bilddaten vom Speicher (z. B. Speicher 106) auf die Grafikpipeline (z. B. Grafikpipeline 200) übertragen werden. In Entscheidungsbaustein 504 wird entschieden, ob die Kopplung inaktiv ist. Wie oben erwähnt, kann diese Entscheidung in bestimmten Ausführungsformen von einem Zeitschalter getroffen werden. Falls die Kopplung nicht inaktiv ist, kehrt der Ablauf zu Schritt 502 zurück. Falls die Kopplung inaktiv ist, geht der Ablauf zu Schritt 516 über, wo entschieden wird, ob die Kopplung für eine Zeitspanne mit Schwellenwert inaktiv war. Falls die Ruhezeit unterhalb der Zeitspanne mit Schwellenwert liegt, kehrt der Ablauf zum Entscheidungsbaustein 504 zurück. Ansonsten geht der Ablauf zu Schritt 522 über. In Schritt 522 ist die Datenübertragungskopplung energiegetaktet. In Schritt 524 wird die Datenübertragungskopplung beim Empfangen einer Datenanfrage (z. B. fordert Grafikpipeline 200, einen weiteren Datenblock vom Speicher 106 abzurufen) erneut hochgefahren.
  • In 6 ist ein Ablaufdiagramm gezeigt, das eine Ausführungsform eines Verfahrens zum Betreiben einer Grafikpipeline in zwei unterschiedlichen Modi darstellt. In verschiedenen Ausführungsformen wird das Verfahren 600 in einer Anzeigeverarbeitungseinheit (z. B. Anzeigeverarbeitungseinheit 110) durchgeführt. In verschiedenen Ausführungsformen können einige der in 6 gezeigten Bausteine simultan, in einer anderen Reihenfolge als gezeigt durchgeführt oder ausgelassen werden. Zusätzliche Verfahrenselemente können zudem wie gewünscht durchgeführt werden.
  • Das Verfahren 600 beginnt mit Schritt 602, in dem Zeilenzwischenspeicher (z. B. Zeilenzwischenspeicher 310a bis x) in einem Anzeigezwischenspeicher (z. B. Anzeigezwischenspeicher 114) mit Daten (z. B. Bilddaten 202) gefüllt werden. In Entscheidungsbaustein 604 wird entschieden, ob die Grafikpipeline in einem Nicht-Skaliermodus arbeitet (z. B. kann dies in einer Ausführungsform durch ein Verzeichnis angezeigt werden, z. B. Skaliermodusverzeichnis 340). Falls ein Skaliermodus angegeben ist, geht der Ablauf zu Schritt 608 über. In Schritt 608 liest die Leselogik (z. B. Zwischenspeicher-Leselogik 320) alle Zeilenzwischenspeicher. Wie oben diskutiert, ruft die Grafikpipeline nach dem Lesen aller Zeilenzwischenzeilen sukzessiv eine neue Bildquellzeile ab. Entsprechend versorgt das System das Gefüge in Schritt 610 weiterhin mit Energie, da das Gefüge nicht inaktiv ist. Der Ablauf kehrt zu Schritt 602 zurück.
  • Falls ein Nicht-Skaliermodus angegeben ist, geht der Ablauf in Entscheidungsbaustein 604 zu Schritt 614 über. In Schritt 614 wird die Datenübertragungskopplung heruntergefahren (d. h. in einigen Ausführungsformen wird dies von einem Zeitschalter gesteuert; in anderen Ausführungsformen kann dies von der Grafikpipeline gesteuert werden). In Schritt 616 liest die Leselogik selektiv jeweils einen Zeilenzwischenspeicher aus. Nach dem Auslesen aller Zwischenspeicher wird das Gefüge in Schritt 618 hochgefahren. Der Ablauf kehrt zu Schritt 602 zurück.

Claims (14)

  1. Verfahren, umfassend: Betreiben einer Anzeigeeinheit (110) in einem ersten Betriebsmodus einschließend: Empfangen, von Bilddatensätzen über eine Datenübertragungskopplung (102) durch einen Anzeigezwischenspeicher (114, 115), wobei jeder Satz eine erste Größe besitzt; Skalieren von Bilddaten von dem Anzeigezwischenspeicher (114, 115) in mindestens zwei Dimensionen durch eine Skalierungsschaltung (210, 211); und Betreiben der Anzeigeeinheit (110) in einem zweiten Betriebsmodus einschließend: Empfangen von Bilddatensätzen über die Datenübertragungskopplung (102) durch den Anzeigezwischenspeicher (114, 115), wobei jeder Satz eine zweite Größe besitzt, die größer als die erste Größe ist; Skalieren von Bilddaten vom Anzeigezwischenspeicher (114, 115) in höchstens einer Dimension durch die Skalierungsschaltung (210, 211); und Herunterfahren der Datenübertragungskopplung (102) während einem oder mehreren Zeitintervallen zwischen dem Empfangen der Bilddatensätze durch den Anzeigezwischenspeicher (114, 115).
  2. Verfahren nach Anspruch 1, wobei der Anzeigezwischenspeicher (114, 115) eine Vielzahl von Zeilenzwischenspeichern (310a ... 310x) beinhaltet, die jeweils zum Speichern einer entsprechenden Bildquellzeile konfiguriert sind, wobei eine Grafikpipeline (220), die konfiguriert ist, Bilder zu rendern, um sie anzuzeigen, den Anzeigezwischenspeicher (114, 115) beinhaltet; und wobei das Herunterfahren als Reaktion darauf ausgeführt wird, dass die empfangenen Bilddaten zwei oder mehr Bildquellzeilen einschließen.
  3. Verfahren nach Anspruch 2, wobei das Betreiben im zweiten Betriebsmodus beinhaltet: selektives Lesen einer oder mehrerer der Bildquellzeilen aus der Vielzahl der Zeilenzwischenspeicher (310a ... 310x), wobei das selektive Lesen mehrfach während des Zeitintervalls erfolgt.
  4. Verfahren nach Anspruch 1, wobei der zweite Modus ein Nicht-Skaliermodus ist, wobei das Betreiben im zweiten Betriebsmodus beinhaltet, dass die Skalierungsschaltung (210, 211) die Bilddaten vom Anzeigezwischenspeicher (114, 115) über einen Bypass-Pfad ohne Skalieren der Bilddaten vom Anzeigezwischenspeicher (114, 115) überträgt.
  5. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen, ob der erste Modus oder der zweite Modus anzuwenden ist, basierend auf einer programmierbaren Einstellung, die in einem Verzeichnis einer Grafikpipeline (220) gespeichert ist.
  6. Verfahren nach Anspruch 1, ferner umfassend: wobei das Herunterfahren der Datenübertragungskopplung (102) auf einem Zeitschalter basiert, der einen Wert erhält, der auf eine Zeitspanne hinweist, in der die Datenübertragungskopplung (102) inaktiv war.
  7. Eine Vorrichtung, umfassend: eine Datenübertragungskopplung (102); einen Anzeigezwischenspeicher (114, 115); eine Grafikpipeline (220), konfiguriert: in einem ersten Modus zu arbeiten, in der die Grafikpipeline (220) konfiguriert ist: Bilddatensätze über die Datenübertragungskopplung (102) zu empfangen, wobei jeder Satz eine erste Größe besitzt, und die Bilddatensätze in dem Anzeigezwischenspeicher (114, 115) zu speichern; und Bilddaten von dem Anzeigezwischenspeicher (114, 115) in mindestens zwei Dimensionen zu skalieren; und in einem zweiten Modus zu arbeiten, in dem die Grafikpipeline (220) konfiguriert ist: Bilddatensätze über die Datenübertragungskopplung (102) zu empfangen, wobei jeder Satz eine zweite Größe besitzt, die größer als die erste Größe ist, und die Bilddatensätze in dem Anzeigezwischenspeicher (114, 115) zu speichern; und Bilddaten von dem Anzeigezwischenspeicher (114, 115) in höchstens einer Dimension zu skalieren; wobei die Vorrichtung im zweiten Modus konfiguriert ist, um die Energiezufuhr zur Datenübertragungskopplung (102) während einem oder mehreren Zeitintervallen zwischen dem Empfangen von Bilddatensätzen zu reduzieren.
  8. Vorrichtung nach Anspruch 7, wobei die Vorrichtung konfiguriert ist, um die Energie zur Datenübertragungskopplung (102) als Reaktion auf ein Intervall zwischen dem Abrufen der Bilddatensätze, die jeweils die zweite Größe besitzen, zu reduzieren, wobei die Länge des Intervalls einen Schwellenwert überschreitet.
  9. Vorrichtung nach Anspruch 8, wobei die Vorrichtung konfiguriert ist, einen Zeitschalter zu unterhalten, der auf eine Zeitspanne hinweist, in der die Datenübertragungskopplung (102) inaktiv blieb, und wobei die Vorrichtung konfiguriert ist, um die Energiezufuhr zur Datenübertragungskopplung (102) auf der Basis des Zeitschalters zu reduzieren.
  10. Vorrichtung nach Anspruch 7, wobei die Vorrichtung im zweiten Modus konfiguriert ist, um die Energiezufuhr zu einem Speicher-Controller zwischen dem Abrufen der Bilddatensätze zu reduzieren, wobei der Speicher-Controller konfiguriert ist, Daten vom Speicher abzurufen.
  11. Vorrichtung nach Anspruch 7, wobei der Anzeigezwischenspeicher (114, 115) eine Vielzahl von Zeilenzwischenspeichern (310a ... 310x) beinhaltet, die konfiguriert sind, um Bilddatenzeilen zu speichern, wobei die erste Größe einer einzigen Bilddatenzeile entspricht und wobei die zweite Größe mehreren Bilddatenzeilen entspricht.
  12. Vorrichtung nach Anspruch 7, wobei der zweite Modus ein Nicht-Skaliermodus ist, wobei die Grafikpipeline (220) konfiguriert ist, um im zweiten Modus Bilddaten vom Anzeigezwischenspeicher (114, 115) in höchstens einer Dimension zu skalieren, indem die im Anzeigezwischenspeicher (114, 115) gespeicherten Bilddatensätze veranlasst werden, die Skalierungsschaltung (210, 211) ohne Skalieren der Bilddatensätze zu umgehen.
  13. Vorrichtung nach Anspruch 11, wobei die Grafikpipeline (220) konfiguriert ist, um sowohl die horizontale als auch vertikale Skalierung der Bilddaten im Anzeigezwischenspeicher (114, 115) im ersten Modus durchzuführen.
  14. Vorrichtung nach Anspruch 11, wobei die Grafikpipeline (220) konfiguriert ist, um Bildquellzeilen mit Farbunterabtastung abzurufen, und wobei die Grafikpipeline (220) im zweiten Modus konfiguriert ist, die Bildquellzeilen mit Farbunterabtastung zu veranlassen, einen vertikalen Scaler oder einen horizontalen Scaler der Skalierungsschaltung (210, 211) zu umgehen.
DE112014000938.5T 2013-02-21 2014-02-12 Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren von inaktiven Komponenten Active DE112014000938B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/773,522 US9105112B2 (en) 2013-02-21 2013-02-21 Power management for image scaling circuitry
US13/773,522 2013-02-21
PCT/US2014/015979 WO2014130316A1 (en) 2013-02-21 2014-02-12 Method and device for saving power in a display pipeline by powering down idle components

Publications (2)

Publication Number Publication Date
DE112014000938T5 DE112014000938T5 (de) 2015-11-26
DE112014000938B4 true DE112014000938B4 (de) 2020-06-25

Family

ID=50236267

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014000938.5T Active DE112014000938B4 (de) 2013-02-21 2014-02-12 Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren von inaktiven Komponenten

Country Status (7)

Country Link
US (1) US9105112B2 (de)
JP (1) JP6078173B2 (de)
KR (1) KR101672154B1 (de)
CN (1) CN105074612B (de)
DE (1) DE112014000938B4 (de)
TW (1) TWI524176B (de)
WO (1) WO2014130316A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817043B2 (en) * 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
US9653043B2 (en) * 2013-02-06 2017-05-16 Dexin Corporation Input device for magnifying a screen content and method thereof
KR101440231B1 (ko) * 2013-05-15 2014-09-12 엘에스산전 주식회사 고속철도에서 atc 불연속정보 처리방법
US20150015782A1 (en) * 2013-07-12 2015-01-15 Vixs Systems, Inc. Video processing device for reformatting an audio/video signal and methods for use therewith
TWI538519B (zh) * 2014-11-17 2016-06-11 廣達電腦股份有限公司 視訊影像之擷取裝置
KR102327803B1 (ko) * 2014-11-21 2021-11-17 삼성전자 주식회사 전력 소모를 줄이기 위한 전력 제어 방법 및 장치
TWI653527B (zh) * 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
CN106303152A (zh) * 2015-05-25 2017-01-04 聚晶半导体股份有限公司 图像处理芯片与图像处理系统
US10474408B2 (en) * 2017-09-07 2019-11-12 Apple Inc. Image data processing pipeline bypass systems and methods
US10304506B1 (en) * 2017-11-10 2019-05-28 Advanced Micro Devices, Inc. Dynamic clock control to increase stutter efficiency in the memory subsystem
JP2019109353A (ja) * 2017-12-18 2019-07-04 シャープ株式会社 表示制御装置および該表示制御装置を備えた液晶表示装置
US11709624B2 (en) * 2018-02-15 2023-07-25 Xilinx, Inc. System-on-chip having multiple circuits and memory controller in separate and independent power domains
US11012694B2 (en) 2018-05-01 2021-05-18 Nvidia Corporation Dynamically shifting video rendering tasks between a server and a client
US10713756B2 (en) * 2018-05-01 2020-07-14 Nvidia Corporation HW-assisted upscaling and multi-sampling using a high resolution depth buffer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6894706B1 (en) 1998-09-18 2005-05-17 Hewlett-Packard Development Company, L.P. Automatic resolution detection
US7802118B1 (en) 2006-12-21 2010-09-21 Nvidia Corporation Functional block level clock-gating within a graphics processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469223A (en) * 1993-10-13 1995-11-21 Auravision Corporation Shared line buffer architecture for a video processing circuit
EP0834106B1 (de) * 1995-06-07 2000-02-23 Seiko Epson Corporation Rechnersystem mit einem videoanzeigesteuergerät mit leistungssparbetriebsarten
JP3497988B2 (ja) * 1998-04-15 2004-02-16 株式会社ルネサステクノロジ 図形処理装置及び図形処理方法
JP2000206953A (ja) * 1999-01-19 2000-07-28 Toshiba Corp 計算機の表示制御方法及び装置
JP2000298536A (ja) * 1999-04-15 2000-10-24 Toshiba Corp 情報処理装置
US6765622B2 (en) * 2001-10-26 2004-07-20 Koninklijke Philips Electronics N.V. Line-buffer reuse in vertical pixel-processing arrangement
JP2004302065A (ja) * 2003-03-31 2004-10-28 Canon Inc 表示装置の駆動制御装置及び駆動制御方法
US20050030319A1 (en) * 2003-08-06 2005-02-10 Rai Barinder Singh Method and apparatus for reducing the transmission requirements of a system for transmitting image data to a display device
US7418606B2 (en) 2003-09-18 2008-08-26 Nvidia Corporation High quality and high performance three-dimensional graphics architecture for portable handheld devices
US9883202B2 (en) 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
JP5523035B2 (ja) * 2009-09-18 2014-06-18 パナソニック株式会社 画像処理装置、及び画像処理方法
TWI442343B (zh) * 2010-08-13 2014-06-21 Au Optronics Corp 運用於顯示器的畫面放大控制方法與裝置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6894706B1 (en) 1998-09-18 2005-05-17 Hewlett-Packard Development Company, L.P. Automatic resolution detection
US7802118B1 (en) 2006-12-21 2010-09-21 Nvidia Corporation Functional block level clock-gating within a graphics processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Whitepaper NVIDIA Tegra 4 family GPU architecture, 2013-02-15,http://www.nvidia.com/docs/IO//116757/Tegra_4_GPU_Whitepaper_FINALv2.pdf. (online) *

Also Published As

Publication number Publication date
TWI524176B (zh) 2016-03-01
DE112014000938T5 (de) 2015-11-26
TW201433912A (zh) 2014-09-01
CN105074612B (zh) 2017-10-20
KR101672154B1 (ko) 2016-11-02
US20140232731A1 (en) 2014-08-21
KR20150113063A (ko) 2015-10-07
JP6078173B2 (ja) 2017-02-08
JP2016509261A (ja) 2016-03-24
CN105074612A (zh) 2015-11-18
WO2014130316A1 (en) 2014-08-28
US9105112B2 (en) 2015-08-11

Similar Documents

Publication Publication Date Title
DE112014000938B4 (de) Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren von inaktiven Komponenten
DE112011103209B4 (de) Verfahren, vorrichtung und system zur steuerung von anzeigeaktivität
CN103026402B (zh) 显示压缩超级切片图像
DE112006003194B4 (de) Integration einer Anzeigensteuerung in einen Prozessor mit geringem Leistungsverbrauch
DE102018132468A1 (de) Multi-gpu-frame-rendern
DE112005001801B4 (de) Verfahren und Vorrichtung zum dynamischen DLL-Herunterfahren und Speicher-Selbstauffrischen
DE112013005287B4 (de) Prozessor mit heterogenen physischen Kernen und in einem Prozessor mit heterogenen physischen Kernen implementiertes Verfahren
DE102009047518B4 (de) Computersystem und Verfahren geeignet zum Vermeiden von Datenkommunikationsverklemmungssituationen durch Markieren von CPU-Datenverkehr als speziell
DE102013017639B4 (de) Zwischenspeicherung von adaptiv dimensionierten Cache-Kacheln in einem vereinheitlichten L2-Cache-Speicher mit Oberflächenkomprimierung
DE102016201686A1 (de) Bildsignalprozessor und vorrichtungen, die diesen umfassen
DE102009058274A1 (de) Hybridgrafikanzeige-Power-Management
DE102013104198A1 (de) Multi-CPU-System und Computersystem mit demselben
JP2016509280A (ja) グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法
DE102016100469A1 (de) Skalierschaltung zum Erzeugen von Bildern verschiedener Auflösung aus einem einzelnen Bild und Vorrichtungen mit derselben
CN105243399B (zh) 一种实现图像卷积的方法和装置、实现缓存的方法和装置
DE102020118496A1 (de) Anzeigetafelselbstauffrischungs-Übertragung (PSR-Übertragung) von Massendaten
CN105450942A (zh) 对视频图像进行字符叠加的方法及装置
DE102018130365A1 (de) Erweitern von asynchronen frame-updates mit voll-frame- und teil-frame-benachrichrigungen
DE102019133492A1 (de) Leistungssparende Anzeige mit verbesserter Bildqualität
DE102018131816A1 (de) Bedarfsgesteuerte speicherdeduplizierung
DE102014117564A1 (de) Adaptive teilweise bildschirmaktualisierung mit dynamischer hintergrundbeleuchtungssteuerungsmöglichkeit
DE102018130364A1 (de) Koexistenz von vollrahmen- und teilrahmen-inaktivitätsbild-aktualisierungen
DE112021003634T5 (de) Scatter-gather-streaming von daten durch einen kreisförmigen fifo
US20080055286A1 (en) Method And Apparatus For Displaying Bitmap Images
DE102022112459A1 (de) Techniken zum effizienten synchronisieren mehrerer programmthreads

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final