DE112016004883T5 - Schnelles Einfärben einer Berührungsanzeige - Google Patents

Schnelles Einfärben einer Berührungsanzeige Download PDF

Info

Publication number
DE112016004883T5
DE112016004883T5 DE112016004883.1T DE112016004883T DE112016004883T5 DE 112016004883 T5 DE112016004883 T5 DE 112016004883T5 DE 112016004883 T DE112016004883 T DE 112016004883T DE 112016004883 T5 DE112016004883 T5 DE 112016004883T5
Authority
DE
Germany
Prior art keywords
data
fast
display
touch
hid
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.)
Withdrawn
Application number
DE112016004883.1T
Other languages
English (en)
Inventor
Arvind Kumar
Ajay V. Bhatt
Balaji Vembu
Murali Ramadoss
Antonio S. Cheng
John J. Valavi
Chaitanya R. Gandra
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112016004883T5 publication Critical patent/DE112016004883T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Eine Vorrichtung zum schnellen Einfärben einer Berührungsanzeige wird hier beschrieben. Das System zum schnellen Einfärben einer Berührungsanzeige kann das Empfangen einer Berührungseingabe und das Generieren von Berührungssensordaten umfassen. Das System kann eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) mit einem Schnelleinfärber und einer Anzeigepipeline aufweisen. Die GPU kann anhand der Berührungssensordaten generierte Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber übertragen. Der Schnelleinfärber kann die HID-Daten in Einfärbungsdaten umwandeln, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen. Der Schreibanwendungsspeicher kann die HID-Daten in Einfärbungsdaten umwandeln, die an die Anzeigepipeline gesendet werden sollen. Das System kann außerdem eine Berührungsanzeige aufweisen, um Pixel anzuzeigen, die gemäß den von der Anzeigepipeline empfangenen Einfärbungsdaten markiert wurden.

Description

  • Querverweis auf verwandte Anmeldung
  • Die vorliegende Patentanmeldung beansprucht den Nutzen des Einreichungsdatums der US-Patentanmeldung Nr. 14/923.159 , eingereicht am 26. Oktober 2015, die hierin durch Verweis aufgenommen ist.
  • Technisches Gebiet
  • Die vorliegenden Techniken bzw. Verfahren betreffen allgemein verbesserte Anzeigegeschwindigkeiten für Stift/Eingabestift-Eingaben auf Berührungsschirmen. Insbesondere betreffen die vorliegenden Techniken bzw. Verfahren das Modifizieren der Weiterleitung, Verwendung und Auswirkung von Berührungsschirm-Eingabedaten, um die Anzeigegeschwindigkeiten für Schreib- und Zeichenfunktionen zu verbessern.
  • Technischer Hintergrund
  • Rechenvorrichtungen mit Eingabevorrichtungen, die geschichtet oben auf deren Anzeigen angeordnet sind, können gemeinhin Berührungsschirme genannt werden oder als Vorrichtungen mit einer Berührungsanzeige bezeichnet werden. Die Eingabe an diese Vorrichtungen kann durch physischen Kontakt, beispielsweise durch einen Fingerdruck gegen den Berührungsschirm, durch Drücken und Ziehen, durch Tippen oder durch ähnliche Interaktionen mit einem Bildschirm erfolgen. In ähnlicher Weise ist eine physische Berührung durch eine Person nicht erforderlich, da andere Berührungseingaben das Verwenden eines Eingabestifts, eines Stifts, eines Bleistifts oder eines anderen Kontaktgeräts umfassen können. Die Eingabe von einem Eingabestift kann über viele Mittel betrieben werden, einschließlich, aber nicht beschränkt auf Drucksensoren, elektronische Erkennung und Leitfähigkeitsschwankungen aufgrund der Verwendung des Kontaktgeräts. In einigen Beispielen ist unter Umständen kein tatsächlicher physischer Kontakt mit einem Berührungsschirm erforderlich, damit die Eingabe am Berührungsschirm registriert wird.
  • Figurenliste
    • 1A ist ein Blockschaltbild eines beispielhaften Ein-Chip-Systems (System on Chip, SoC) auf einer Leiterplatte (Printed Circuit Board, PCB) zum schnellen Einfärben einer Berührungsanzeige;
    • 1B ist eine schematische Darstellung eines vereinfachten Beispiels für eine Vorrichtung zum schnellen Einfärben einer Berührungsanzeige;
    • 2 ist ein Blockschaltbild einer beispielhaften Architektur und eines Datenflusses für das schnelle Einfärben einer Berührungsanzeige;
    • 3 ist ein Prozess-Flussdiagramm, das ein beispielhaftes Verfahren zum schnellen Einfärben einer Berührungsanzeige beschreibt;
    • 4 zeigt einen beispielhaften Vergleich der Auswirkungen für eine Vorrichtung mit und ohne schnelles Einfärben einer Berührungsanzeige; und
    • 5 ist ein Blockschaltbild, das physische, nicht transitorische computerlesbare Medien zeigt, die Code für die Stromübertragung über HDMI speichert.
  • Dieselben Nummern werden in der gesamten Offenbarung und in den Figuren verwendet, um auf gleiche Komponenten und Merkmale zu verweisen. Die Nummern der 100er-Reihe verweisen auf Merkmale, die ursprünglich in 1 zu finden sind; die Nummern der 200er-Reihe verweisen auf Merkmale, die ursprünglich in 2 zu finden sind, und so weiter.
  • Beschreibung der Ausführungsformen
  • Das Schreiben und Zeichnen unter Verwendung eines Eingabestifts kann durch eine nahtlosere Schreib- und Einfärbungserfahrung zu einer besseren Benutzererfahrung beitragen. Bei früheren Eingabestiften und Berührungsschirmen konnten Verzögerungen auftreten, die das Schreibgefühl beeinträchtigen, da die digitale Zeit, die benötigt wird, um das Geschriebene anzuzeigen, nicht so kurz ist wie dies bei einem physischen Stift oder Bleistift auf Papier der Fall wäre. Durch Herstellen einer Hardwareverbindung, die es ermöglicht, dass eine Berührungseingabe angezeigt wird, bevor sie eine CPU oder Schreibanwendung durchläuft, kann die Ansprechempfindlichkeit verbessert werden, da die Verzögerungszeit von der Berührung bis zur Anzeige aufgrund weniger relativ zeitaufwändiger Prozesse verringert wird. Ein Beispiel für Latenzen, die ausgeblendet werden können, ist die Latenz der Zeit, die Berührungseingabedaten eines Eingabestifts benötigen, um an das Betriebssystem übermittelt zu werden.
  • Anstatt zu versuchen, jede Operation zu beschleunigen, die die anzuzeigenden Berührungsdaten betrifft, stellt die vorliegende Offenbarung Techniken bzw. Verfahren vor, um diese Operationen durch Verwendung eines Schnelleinfärbers und eines direkten Hardwarepfads zu der Anzeigepipeline einfach ganz zu vermeiden. Anstatt sich auf eine rechen- und zeitintensive „Vorhersage“ von Strichen und anderen Eingabedaten zu stützen, umfasst die vorliegende Offenbarung Techniken bzw. Verfahren, die die Latenz ohne die Herausforderungen einer Vorhersage von Richtungsänderungen, Strichanfängen oder Enden von Schreibstrichen verbessern können. Tatsächlich können prädiktive Lösungen zum Verringern der Verzögerungszeit zwischen Eingabe und Anzeige oft ungenau sein und die unbeabsichtigte Anzeige von Artefakten (die wie unbeabsichtigte virtuelle Tintentropfen wirken können) auf einem Bildschirm zur Folge haben, die das angezeigte Bild verunreinigen, einschließlich der Bereiche um die Linienecken und die Strichenden.
  • In der nachfolgenden Offenbarung werden zahlreiche spezifische Einzelheiten dargelegt, beispielsweise Beispiele für spezifische Arten von Prozessoren und Systemkonfigurationen, spezifische Hardwarestrukturen, spezifische architektonische und mikroarchitektonische Einzelheiten, spezifische Registerkonfigurationen, spezifische Anweisungstypen, spezifische Systemkomponenten, spezifische Messungen/Höhen, spezifische Prozessorpipelinestufen und Operationen etc., um ein gründliches Verständnis der vorliegenden Offenbarung zu vermitteln. Es kann jedoch für einen Fachmann auf diesem Gebiet ersichtlich sein, dass diese spezifischen Einzelheiten nicht eingesetzt werden müssen, um die hier offenbarten Techniken bzw. Verfahren praktisch zu nutzen. In anderen Fällen sind bekannte Komponenten oder Verfahren, beispielsweise spezifische und alternative Prozessorarchitekturen, spezifische Logikschaltungen/spezifischer Code für beschriebene Algorithmen, spezifischer Firmwarecode, spezifische Verbindungsoperationen, spezifische Logikkonfigurationen, spezifische Fertigungstechniken und -materialien, spezifische Compiler-Implementierungen, spezifische Ausdrücke von Algorithmen in Code, spezifische Herunterfahr- und Gattertechniken/-logiken und andere spezifische Betriebseinzelheiten von Computersystemen hier nicht ausführlich beschrieben worden, um unnötige Undeutlichkeiten hinsichtlich der hier offenbarten Techniken bzw. Verfahren zu vermeiden.
  • Auch wenn die nachstehenden Ausführungsformen gegebenenfalls unter Bezugnahme auf die Aspekte Energieeinsparung und Energieeffizienz in spezifischen integrierten Schaltungen beschrieben werden, beispielsweise in Rechenplattformen oder Mikroprozessoren, sind andere Ausführungsformen auf andere Arten von integrierten Schaltungen und Logikvorrichtungen anwendbar. Ähnliche Techniken bzw. Verfahren sowie Lehren von hier beschriebenen Ausführungsformen können auf andere Arten von Schaltungen oder Halbleiterbauelementen angewendet werden, die ebenfalls von einer besseren Energieeffizienz sowie Energieeinsparungen profitieren können. So sind die offenbarten Ausführungsformen beispielsweise nicht auf Desktop-Computersysteme oder Ultrabooks™ beschränkt. Und sie können auch in anderen Vorrichtungen verwendet werden, beispielsweise in tragbaren Vorrichtungen, Tablets oder dünnen Notebooks, Ein-Chip-Systemen (Systems on a Chip, SoCs) und eingebetteten Anwendungen. Einige Beispiele für tragbare Vorrichtungen umfassen Mobiltelefone, Internet-Protokoll-Vorrichtungen, Digitalkameras, persönliche digitale Assistenten (PDAs) und Handheld-PCs. Eingebettete Anwendungen umfassen typischerweise einen Mikrocontroller, einen digitalen Signalprozessor (DSP), ein Ein-Chip-System, Netzcomputer (NetPCs), Set-top-Boxen, Netzknoten, Switches für Weitverkehrsnetze (Wide Area Networks (WANs) oder ein beliebiges anderes System, das die nachstehend vorgestellten Funktionen und Operationen durchführen kann.
  • Darüber hinaus sind die hier beschriebenen Verfahren und Systeme der Vorrichtung nicht auf physische Rechenvorrichtungen beschränkt, sondern können sich auch Softwareoptimierungen für Energieeinsparungen und Energieeffizienz betreffen. Wie in der nachstehenden Beschreibung leicht ersichtlich werden kann, tragen die hier beschriebenen Ausführungsformen von Verfahren, Vorrichtungen und Systemen (ganz gleich, ob unter Bezugnahme auf Hardware, Firmware, Software oder Kombinationen davon) zu einer Zukunft „umweltfreundlicher Technologien“ unter gleichzeitiger Abwägung von Leistungsgesichtspunkten bei.
  • In einem Beispiel kann eine berührungsempfindliche integrierte Schaltung (Integrated Circuit, IC) die rohen Berührungs-/ Eingabestiftsensordaten sammeln und über einen dedizierten Hardwarepfad an eine Grafikverarbeitungseinheit (Graphical Processing Unit, GPU) senden. Ein Berührungs-/Eingabestiftalgorithmus von einem Drittanbieter von Berührungslösungen kann in der Berührungsvorrichtung ausgeführt werden. Diese Berührungs- oder Eingabestiftalgorithmen können die Sensorrohdaten in Bildschirmkoordinaten umwandeln, welche die Berührungspunkte darstellen. Die abschließend verarbeiteten Daten können an das Betriebssystem gesendet werden. In einem Beispiel kann die Architektur eine zusätzliche Verarbeitung der Daten oder eine Nachbearbeitung ermöglichen, die es zusätzlichen Codestücken erlaubt, die X,Y-Koordinaten und zugehörige Eingabestift-Ereignisse wie Stift-oben, Stift-unten, Schweben, Druck etc. zu interpretieren.
  • In der vorliegenden Offenbarung kann eine Nachverarbeitungsarchitektur ein schnelles Einfärben unter Verwendung eines Schnelleinfärbers ermöglichen, bei dem es sich in einigen Fällen um einen Nachverarbeitungs-Kernel handelt. In einem Beispiel kann die Aufbereitung und Wiedergabe der Anzeige (Rendering) GPU-seitig erfolgen, wobei der Schnelleinfärbungskernel eine getrennte Überlagerungsebene erzeugen kann, die die Pixel schattiert, bevor die Anwendung etwas in dieselbe Anzeige schreibt. Diese Überlagerungsebene kann durch den Schnelleinfärber für die Anzeigepipeline bereitgestellt werden, sodass ein Abkürzungspfad erzeugt wird, der hardwarebasiert ist und nicht vom OS und den Anwendungen abhängt.
  • 1A ist ein Blockschaltbild eines beispielhaften Ein-Chip-Systems (System on Chip, SoC) 100 auf einer Leiterplatte (Printed Circuit Board, PCB) zum schnellen Einfärben einer Berührungsanzeige. Das SoC 100 und die PCB 102 können beispielsweise Komponenten einer Rechenvorrichtung wie einem Laptop-Computer, einem Desktop-Computer, einem Ultrabook, Tablet-Computer, einer Mobilvorrichtung, einem Mobiltelefon oder einem Server etc. sein. Das SoC 100 kann eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU) 104 aufweisen, die dafür ausgelegt ist, gespeicherte Anweisungen auszuführen, sowie eine Speichervorrichtung 106, die von der CPU 104 ausführbare Anweisungen speichert. Die CPU kann über einen Bus 108 an die Speichervorrichtung 106 gekoppelt sein. Außerdem kann es sich bei der CPU 104 um einen Einkernprozessor, einen Mehrkernprozessor, einen Rechenverbund oder eine beliebige Anzahl anderer Konfigurationen handeln. Des Weiteren kann das SoC 100 mehr als eine CPU 104 aufweisen.
  • Das SoC 100 kann auch eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) 110 aufweisen. Wie gezeigt, kann die CPU 104 über den Bus 108 an die GPU 110 gekoppelt sein. Die GPU 110 kann dafür ausgelegt sein, eine beliebige Anzahl von Grafikfunktionen und -aktionen durchzuführen. Beispielsweise kann die GPU 110 dafür ausgelegt sein, an einen Benutzer oder das SoC 100 auszugebende Grafikbilder, Grafikrahmen, Videos oder dergleichen zu rendern oder zu bearbeiten. Die Speichervorrichtung 106 kann Direktzugriffsspeicher (Random Access Memory, RAM), Festwertspeicher (Read-Only Memory, ROM), Flash-Speicher oder andere geeignete Speichersysteme aufweisen. Beispielsweise kann die Speichervorrichtung 106 dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM) aufweisen.
  • Die CPU 104 kann über den Bus 108 mit einer Eingabe-/Ausgabevorrichtungsschnittstelle 112 (E/A-Vorrichtungsschnittstelle) verbunden sein, die dafür ausgelegt ist, eine Verbindung mit einer oder mehreren E/A-Vorrichtungen 114 herzustellen. Die E/A-Vorrichtungen 114 können beispielsweise eine Tastatur und eine Zeigevorrichtung aufweisen, wobei die Zeigevorrichtung unter anderem ein Tastfeld oder einen Berührungsschirm aufweisen kann. Bei den E/A-Vorrichtungen 114 kann es sich um eingebaute Komponenten einer Plattform mit dem SoC 100 handeln oder es kann sich um Vorrichtungen handeln, die extern mit einer Plattform verbunden sind, die das SoC 100 beinhaltet. In Ausführungsformen kann es sich bei den E/A-Vorrichtungen 114 um eine Tastatur oder eine Zeigevorrichtung handeln, die mit der E/A-Vorrichtungsschnittstelle 112 gekoppelt ist.
  • In einem Beispiel können die E/A-Vorrichtungsschnittstellen 112 eine Verbindung zu dem SoC 100 über eine MHL-Schnittstelle (Mobile High-Definition-Link) umfassen. Während sich die E/A-Vorrichtungen 114 über eine MHL-Schnittstelle mit der E/A-Vorrichtung verbinden können, erlauben die hier offenbarten Techniken bzw. Verfahren den Austausch des Adapters für diesen Standard durch ein Mittel zum Übertragen von Signalen und Strom über eine HDMI-Schnittstelle. In einigen Beispielen kann eine MHL-Schnittstelle eine Leistung von 40 W mit dem entsprechenden Umwandlungsadapter bereitstellen, um eine Schnittstellenverbindung mit einem SoC 100 herzustellen. In einem Beispiel kann eine E/A-Vorrichtungsschnittstelle 112 eine Verbindung zu dem SoC 100 über einen seriellen Universal-Bus (Universal Serial Bus, USB) des Typs C aufweisen. Wie vorstehend erörtert, ermöglichen die hier offenbarten Techniken bzw. Verfahren das Übertragen von Signalen und Strom durch andere Mittel als die Typ-C-Schnittstelle, wobei jedoch die HDMI-Techniken bzw. -Verfahren und die Typ-C-Schnittstelle und die Verbindung als Verbindungen zu dem SoC 100 koexistieren können. In einem Beispiel kann eine Typ-C-Schnittstelle zusätzliche Eingaben an eine Rechenvorrichtung oder ein SoC 100 ermöglichen. In einem Beispiel kann die Betriebsspannung, die benötigt wird, um die Ressourcen eines SoC 100 vollständig mit Strom zu versorgen, 15-25 W ausmachen oder übersteigen, während einige E/A-Vorrichtungsschnittstellen 112 unter Umständen nicht in der Lage sind, diese Strommenge ohne zusätzliche Verbindungen oder Adapter bereitzustellen.
  • Die CPU 104 kann auch über den Bus 108 mit einer Anzeigeschnittstelle 116 verbunden sein, die dafür ausgelegt ist, eine Verbindung mit einer oder mehreren Anzeigevorrichtungen 118 herzustellen. Die Anzeigevorrichtungen 118 können einen Bildschirm aufweisen, bei dem es sich um eine eingebaute Komponente einer Plattform mit dem SoC 100 handelt. Beispiele für eine solche Rechenvorrichtung umfassen mobile Rechenvorrichtungen wie etwa Mobiltelefone, Tablets, 2-in-1 -Computer, Notebook-Computer oder dergleichen. Die Anzeigevorrichtung 118 kann unter anderem auch einen Computermonitor, ein Fernsehgerät oder einen Projektor umfassen, der/das extern mit dem SoC 100 verbunden ist. In Ausführungsformen kann es sich bei den Anzeigevorrichtungen 118 um eine DisplayPort-Vorrichtung handeln, die mit der Anzeigeschnittstelle 116 verbunden ist.
  • Das SoC 100 kann außerdem mit einer Speichervorrichtung 120 gekoppelt sein. Bei der Speichervorrichtung kann es sich um eine Komponente handeln, die auf dem PCB 102 angeordnet ist. Außerdem kann es sich bei der Speichervorrichtung 120 um einen physischen Speicher wie etwa ein Festplattenlaufwerk, an optisches Laufwerk, ein USB-Laufwerk, eine Laufwerkgruppe oder eine beliebige Kombination davon handeln. Die Speichervorrichtung 120 kann auch entfernte Speichervorrichtungen umfassen. Das SoC 100 kann auch eine Netzschnittstellensteuerung (Network Interface Controller, NIC) 122 aufweisen, die dafür ausgelegt sein kann, das SoC 100 über den Bus 108, verschiedene Schichten der PCB 102 und Komponenten der PCB 102 mit einem Netz 124 zu verbinden. Bei dem Netz 124 kann es sich unter anderem um ein Weitverkehrsnetz (Wide Area Network, WAN), ein lokales Netz (Local Area Network, LAN) oder das Internet handeln.
  • Das SoC 100 kann auch an eine Speicherschnittstelle 126 gekoppelt sein, die dafür ausgelegt ist, eine Verbindung zu wenigstens einem externen Speicher 128 herzustellen. Die Speicherschnittstelle 126 kann eine Schnittstelle für SD-Karten (Secure Digital Cards), externe Festplattenlaufwerke, externe Flash-Laufwerke oder andere Arten von externen Datenspeichervorrichtungen aufweisen, die als externe Speicher 128 fungieren können.
  • Die GPU 110 kann einen Schnelleinfärber 130, eine Anzeigepipeline 132 und einen direkten Hardwarepfad 134 zwischen dem Schnelleinfärber 130 und der Anzeigepipeline 132 aufweisen. Bei dem Schnelleinfärber 130 kann es sich um ein Modul, einen Kernel, der im Speicher implementiert ist, und Verarbeitungsressourcen der GPU 110, eine integrierte Schaltung oder irgendeine andere vergleichbare Ressource handeln, die in der Lage ist, Daten zu speichern und zu modifizieren. Der Schnelleinfärber 130 kann Daten im Zusammenhang mit der Berührungseingabe empfangen und die Daten in ein Format umwandeln, das angibt, welche Pixel schattiert werden sollten. Die Anzeigepipeline 132 kann ein Modul, einen Puffer für die Pixel einer Berührungsanzeige, eine integrierte Schaltung oder irgendeine andere vergleichbare Ressource aufweisen, die in der Lage ist, Pixeldaten zu speichern und solche Daten bei einer Bildschirmauffrischung für einen Berührungsschirm bereitzustellen. In einem Beispiel kann die Anzeigepipeline eine Pixelschattierung, Überlagerungsebenen, einen Computer-Schattierer, einen festen Funktionsblock oder andere geeignete Mittel zum Speichern von Pixeldaten anwenden und diese Daten für den Berührungsschirm bereitstellen. Die Anzeigepipeline 132 kann eingehende Einfärbungsdaten wie angewiesen speichern und diese Daten verwenden, um automatisch (Push) oder auf Anfrage ein Signal für einen Berührungsschirm bereitzustellen, das Farbe, Wert, Helligkeit oder Erscheinungsbild von Pixeln auf einer Anzeige angeben kann. Der direkte Hardwarepfad 134 ist insofern „direkt“, dass er die Übertragung von Daten vom Schnelleinfärber 130 an die Anzeigepipeline unter Verwendung der Ressourcen der GPU 110 ermöglicht. Alternativ ist der direkte Hardwarepfad 134 dahingehend direkt, dass er die Übertragung von Daten vom Schnelleinfärber 130 an die Anzeigepipeline 132 ermöglicht, ohne die übertragenen Daten für den Prozessor 104, ein Betriebssystem, das auf dem Prozessor 104 ausgeführt wird, oder einen separaten Speicher 106 oder eine separate Speichervorrichtung 120 bereitzustellen.
  • Der Speicher 106 kann auch einen Schreibanwendungsspeicher 136 umfassen, um Daten einer Schreibanwendung zu speichern, die Anweisungen unter Verwendung eines Prozessors basierend auf dem Schreiben von Eingabedaten ausführen kann. In einem Beispiel kann der Schreibanwendungsspeicher 136 Berührungseingaben von der GPU 110 empfangen, die Eingabe zuweisen und in einem Speicher 106 oder in einer Speichervorrichtung 120 speichern, die Daten in einen vom Benutzer gewählten Schreibstil umwandeln und die endgültige Form des Geschriebenen oder Gezeichneten an die GPU 110 und die Anzeigepipeline 132 zum Anzeigen auf dem Bildschirm senden.
  • Das SoC 100 kann auch an eine Berührungsanzeigeschnittstelle 138 gekoppelt werden, um eine Verbindung zu einer Berührungsanzeige 140 herzustellen. Bei der Berührungsanzeigeschnittstelle 138 kann es sich um eine berührungsempfindliche integrierte Schaltung handeln, die rohe Berührungs- oder Eingabestiftsensorinformationen von der Berührungsanzeige 140 sammelt, um diese Berührungseingabe an die GPU 110 zu senden. Die Berührungsanzeige 140 weist Berührungssensoren auf, um den Berührungsdruck eines passiven Eingabestifts oder das Vorhandensein eines aktiven Eingabestifts zu erkennen, die Näherungs- und Positionierungsdaten bereitstellen. Unabhängig vom Datentyp gilt: Um eine druckbasierte Berührungseingabe, eine leitfähigkeitsbasierte Berührungseingabe, die Berührungseingabe eines aktiven Eingabestifts oder andere vergleichbare Eingabearten einzuschließen, können die von der Berührungsanzeige gesammelten Daten von der Berührungsanzeigeschnittstelle 138 gesammelt und an die GPU 110 gesendet werden. Die Berührungsanzeige kann auch die in der Anzeigepipeline 132 gespeicherten Einfärbungsdaten anzeigen. Die Berührungsanzeige kann diese Daten 132, die über die Anzeigepipeline 132 an sie verschoben wurden, empfangen oder die Daten in Form einer Anzeigeauffrischung anfordern.
  • Es versteht sich, dass das Blockschaltbild von 1 nicht dazu bestimmt ist anzugeben, dass das SoC 100 alle in 1 gezeigten Komponenten aufweisen soll. Vielmehr kann das SoC 100 weniger oder zusätzliche, nicht in 1 dargestellte Komponenten aufweisen. Des Weiteren können die Komponenten gemäß einer geeigneten Systemarchitektur, einschließlich der in 1 gezeigten Systemarchitektur oder einer anderen geeigneten Systemarchitektur, die einen Datenbus verwendet, um die Kommunikation zwischen Komponenten zu erleichtern, aneinander gekoppelt sein. Beispielsweise können Ausführungsformen der vorliegenden Techniken bzw. Verfahren auch durch eine beliebige geeignete elektronische Vorrichtung implementiert sein, einschließlich Vorrichtungen mit ultrakompaktem Formfaktor wie etwa SoCs und Mehrchipmodule.
  • 1B ist eine schematische Darstellung eines vereinfachten Beispiels für eine Vorrichtung zum schnellen Einfärben einer Berührungsanzeige. Gleich nummerierte Positionen sind wie in 1A beschrieben.
  • Das SoC 100 kann eine Berührungsanzeige 140 aufweisen, um Berührungseingaben wie vorstehend beschrieben zu empfangen. Diese Berührungseingabe kann auf einer Anzahl von Sensoren basieren, die eine bestimmte Koordinate einer Berührung von einem Eingabestift übermitteln. Diese Berührungsdaten von den Berührungssensoren der Berührungsanzeige 140 können von einer Berührungsanzeigeschnittstelle 138 gesammelt und für eine GPU 110 bereitgestellt werden. Die GPU 110 kann verschiedene Verfahren und ausgeführte Kernels in der GPU 110 verwenden, um Daten einer Benutzerschnittstellenvorrichtungs (HID-Daten) zu generieren, die gemeinsam von Schreibanwendungen verwendet werden können, die in einem Schreibanwendungsspeicher 136 gespeichert sind und für Daten in diesem Speicher ausgeführt werden. In der vorliegenden Offenbarung kann die GPU 110 die HID-Daten gleichzeitig für den Schreibanwendungsspeicher 136 und den Schnelleinfärber 130 bereitstellen. Der Schnelleinfärber kann ein so genannter Nachverarbeitungskernel sein, da die Verarbeitung, die der Schnelleinfärber durchführen kann, oft nach der ersten Umwandlung der Eingabesensordaten in HID-Daten erfolgt. Der Schnelleinfärber kann auch einen Anordnungssatz von X,Y-Koordinaten pflegen, um eine bestimmte Zeitdauer der Berührungseingabe, die als Einfärbungszeitdauer bezeichnet werden kann, zu markieren. In einem Beispiel kann die Einfärbungszeitdauer hart gesetzt sein, um die letzten 200 Millisekunden (ms) von X,Y-Koordinaten, die von der Berührungsanzeige 140 aufgezeichnet wurden, einzubeziehen. In einem anderen Beispiel kann die Einfärbungszeitdauer länger als 200 Millisekunden sein. In einem Beispiel kann die Einfärbungszeitdauer kürzer als 200 Millisekunden sein. Der Anordnungssatz von X,Y-Koordinaten kann auch mehrere Elemente umfassen, um das Speichern der Berührungsdaten, die vom Schnelleinfärber 130 im Laufe der Zeit empfangen werden, zu unterstützen. Beispielsweise kann, da der Schnelleinfärber 130 Daten für diskrete Zeitintervalle aufzeichnen kann, die Anzahl von Elementen in einem Anordnungssatz durch die Aufzeichnungsrate des Eingabestifts bestimmt werden. Diese Eingabestift-Aufzeichnungsrate kann, bei aktiven Vorrichtungen, durch den Eingabestift selbst bereitgestellt werden oder durch Schnappschüsse der Berührungseingabe, die für eine bestimmte Zeitdauer aufgenommen werden, falls die Eingabestift- oder Berührungseingabe von einer passiven Berührungsdateneingabe stammt.
  • Beispielsweise kann es bei einer Eingabestift-Aufzeichnungsrate von 100 Hz alle 10 ms ein Element für die Koordinaten des Schnelleinfärbers 130 geben. In diesem Beispiel hat die Größe des Puffers, in dem die Berührungseingabedaten des Schnelleinfärbers 130 für eine Datenmenge von 200 ms gespeichert werden sollen, den Wert 20. In einem Beispiel kann der Schnelleinfärber 130 einen FIFO-Puffer (First In, First Out) aufweisen. In einem Beispiel können Koordinaten, die älter als 200 ms sind, basierend auf der Richtlinie des betreffenden Schnelleinfärbers 130 und Puffers verworfen werden. Ein spezifischer Wert, beispielsweise 200 ms, kann verwendet werden, da die Latenzzeit einiger Anwendungen oder Vorrichtungen 200 ms entsprechen und für diese Vorrichtungen, da viele Berührungsdaten analysiert und von einem Schreibanwendungsspeicher 136 zurückgegeben werden, etwa 200 ms benötigen könnten, um permanentere Pixelschattierungsdaten bereitzustellen. Des Weiteren können unterschiedliche andere Algorithmen erstellt werden, um die spezifischen Koordinaten zu bestimmen, die für das schnelle Einfärben verwendet werden können. Der Schnelleinfärber 130 kann die Berührungseingabe oder die HID-Daten verwenden, um die X,Y-Koordinaten zu einer geglätteten Kurve zu verbinden und die Anzeigepixel zu bestimmen, die schattiert werden müssen. Dieser Satz von Anzeigepixeln wird für die Anzeigepipeline 132 bereitgestellt, so dass diese angegebenen Pixel beim nächsten Anzeigeauffrischzyklus angezeigt werden können.
  • 2 ist ein Blockschaltbild einer beispielhaften Architektur 200 und eines Datenflusses für das schnelle Einfärben einer Berührungsanzeige. Gleich nummerierte Positionen sind wie in 1 beschrieben.
  • Eine Berührungsschirmvorrichtung 202 kann Berührungssensoreingaben aufzeichnen, wenn ein Eingabestift 204 die Berührungssensoren 206 des Berührungsschirms berührt. Bei der Berührungsschirmvorrichtung 202 kann es sich um eine beliebige Vorrichtung mit einem Berührungsschirm oder einer ähnlichen Funktionalität handeln. In ähnlicher Weise kann es sich bei dem Eingabestift um ein beliebiges Hilfsmittel handeln, unter anderem um einen Finger, eine passiven Kunststoffeingabestift und einen aktiven Eingabestift. In einem Beispiel kann ein aktiver Eingabestift bei bestimmten Aktionen wie Berührungen oder eine vom Eingabestift erkannte Druckausübung ein elektrisches Ereignissignal für die Berührungsschirmvorrichtung 202 bereitstellen. In einem Beispiel berührt der Eingabestift 204 den Bildschirm der Berührungsschirmvorrichtung 202 an Position X,Y.
  • In einem Beispiel können die Berührungssensoren 206 in einem Raster von kapazitiven Berührungssensoren 206 auf dem Bildschirm der Berührungsschirmvorrichtung 202 angeordnet sein. Die Berührungssensoren 206 können die Signaländerungen von einem Eingabestift erfassen. Die erfassten Signale können von einer Berührungssteuerung 208 ausgelesen werden. In einem Beispiel werden der Eingabestift und die Berührung vom Eingabestift durch denselben Satz von Sensoren erkannt.
  • Die von den Berührungssensoren 206 erkannten Rohdaten können dann von der Berührungssteuerung verarbeitet und zur weiteren Verarbeitung an eine Verarbeitungsressource wie etwa ein Ein-Chip-System, eine zentrale Verarbeitungseinheit oder eine Grafikverarbeitungseinheit gesendet werden. 2 zeigt den Weg der Berührungseingabe in die GPU 110, zuerst bis zu Anbieter-Kernels 210, die auf der GPU 110 implementiert sind. Eine erste Verarbeitungsoperation für die von der GPU 110 empfangenen Eingabedaten kann die Extraktion von X,Y-Koordinaten zur Umwandlung in Benutzerschnittstellenvorrichtungsdaten (HID-Daten) umfassen, die von Schreibsoftware und anderen vergleichbaren Kernels, die auf einer Rechenvorrichtung betrieben werden, verwendet werden können. Die Anbieter-Kernels 210 können Kernels umfassen, die von einem Drittanbieter auf einer GPU 110 implementiert oder speziell für die Grafikverarbeitung installiert wurden. Die GPU kann die HID-Daten von den Anbieter-Kernels 210 über eine CPU 212 an den Treiber oder das OS 214 senden, und über Middleware 216 an einen Schreibanwendungsspeicher 136 der Berührungsschirmvorrichtung. Im Schreibanwendungsspeicher 136 kann eine Schreibanwendung gespeichert sein und ausgeführt werden, so dass bei Empfang von HID-Daten der Schreibanwendungsspeicher die Daten verarbeiten und Strichdaten erzeugen kann. Der Schreibanwendungsspeicher 136 kann die Schnittstelle des OS 214 verwenden, um ein Anwendungsfenster zu aktualisieren. Das OS 214 kann die von der Schreibanwendung generierten Strichdaten auch an die GPU 110 und die darin enthaltene Grafikmaschine senden. In einem Beispiel kann eine Anzeigepipeline 132 die Anstrengungen der Grafikmaschine einbeziehen und die Strichdaten oder die Pixeldaten für die Berührungsschirmanzeige 202 über die Anzeigesteuerung 218 rendern.
  • Basierend auf den empfangenen Pixeldaten oder Strichdaten kann die Anzeige eine Schattierung an X,Y-Positionen, angegeben durch die von der Anzeigepipeline 132 für die Anzeigesteuerung 218 bereitgestellten Informationen, rendern. Dieser allgemeine Fluss und diese Architektur von der GPU 110, die die HID-Daten an den Schreibanwendungsspeicher 136 sendet, und die Pixeldaten, die vom Schreibanwendungsspeicher 136 an die Anzeigepipeline 136 übertragen und auf dem Bildschirm angezeigt werden, kann eine Dauer von 80 ms bis 120 ms haben. Die Zeitspanne kann als Verzögerung erscheinen, wenn der Eingabestift so schnell bewegt wird, dass eine Lücke im Geschriebenen oder Gezeichneten auf dem Bildschirm zu sehen ist, zwischen der Stelle, an der der Eingabestift 204 eine Berührung hat, und der Stelle, wo die Berührungsschirmvorrichtung 202 schattierte Pixel anzeigt. Durch Hinzufügen des Schnelleinfärbers 130 und des direkten Hardwarepfads 134, wie 2 gezeigt, kann die Verzögerungszeit reduziert werden, was zu einer besseren Reaktionserfahrung beim Berühren einer Berührungsschirmvorrichtung führt. In einem Beispiel können diese Ergänzungen dazu führen, dass ein Benutzer Schattierungen schneller sieht und dass beim Bewegen des Eingabestifts die Lücke zwischen dem Berührungsort und den schattierten Pixeln kleiner wird.
  • Wie hier erörtert, ermöglicht das Hinzufügen des Schnelleinfärbers 130 eine Weiterleitung der Berührungseingabe über zwei Pfade. Ein erster, vorstehend erörterter Pfad, bei dem die Berührungseingabe eine GPU 110 durchläuft und bis zu einer Schreibanwendung 136 und zu Anzeigezwecken wieder zurück gelangt. Ein zweiter Pfad kann vorliegen, wenn die GPU 110 HID-Daten für den Schnelleinfärber 130 bereitstellt, die dieser verarbeiten und in die hier erörterten Einfärbungsdaten umwandeln soll. Die Einfärbungsdaten können vom Schnelleinfärber über den direkten Hardwarepfad 134 an die Anzeigepipeline 132 gesendet werden. Wie in 2 dargestellt, ermöglicht es die Verwendung des Schnelleinfärbers und des direkten Hardwarepfads, dass der Anzeigepipeline 136 die Einfärbungsdaten ohne die Verzögerung des Durchleitens durch andere Elemente einschließlich der Schreibanwendung 136 zur Verfügung stehen. Während theoretisch bei alleiniger Nutzung des Schnelleinfärberpfads die Daten schnell angezeigt werden könnten, werden beide Pfade genutzt, so dass die Eingabesensordaten und das, was auf dem Bildschirm angezeigt wird, von anderen Elementen der Berührungsschirmvorrichtung 202 als der GPU 110 verarbeitet werden können. Auf diese Weise können die vom Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten sehr schnell angezeigt werden, während die später von der Schreibanwendung ankommenden Einfärbungsdaten ebenfalls angezeigt werden können. Ein Vorteil, der sich durch die Nutzung beider Pfade ergibt, besteht in der reduzierten Verzögerungszeit, aber auch in der Möglichkeit, die Schreibdaten längerfristiger auf Anweisung vom OS 214 zu speichern und eine zusätzliche Verarbeitung für das Geschriebene durchzuführen, basierend beispielsweise auf der optischen Zeichenerkennung (Optical Text Recognition, OCR) durch Software, die von der Middleware 216 implementiert wird, oder so, dass das Geschriebene oder Gezeichnete Stilinformationen vom Schreibanwendungsspeicher 136 und andere vergleichbare Modifikationen aufweisen kann.
  • 3 ist ein Prozess-Flussdiagramm, das ein beispielhaftes Verfahren zum schnellen Einfärben einer Berührungsanzeige beschreibt. Der Prozessfluss beginnt bei Block 302.
  • Bei Block 302 kann eine Berührungsanzeige eine Berührungseingabe empfangen. Wie hier erörtert, kann die Berührungseingabe von einem Eingabestift, einem Finger oder einem anderen Hilfsmittel stammen, das geeignet ist, eine Berührungseingabe für einen Berührungsschirm bereitzustellen.
  • Bei Block 304 können die Berührungssensordaten anhand der Berührungseingabe generiert werden. Dies kann an mehreren Stellen erfolgen, einschließlich einem Berührungs-IC 208, einer GPU 110 oder einer anderen geeigneten Verarbeitungsressource wie etwa einem Prozessor 104 mit einem verbunden Speicher 106.
  • Bei Block 306 kann eine GPU 110 Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID), die anhand der Berührungssensordaten in einer Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) 110 generiert wurden, an einen Schreibanwendungsspeicher 136 und den Schnelleinfärber 130 übertragen. Da der Schnelleinfärber 130 in der GPU 110 vorliegen kann, ist eine Übertragung an den Schnelleinfärber 130 unter Umständen nicht erforderlich oder kann einfach trivial sein, da die Daten bereits für den Schnelleinfärber 130 zugänglich sein können.
  • Bei Block 308 kann der Schnelleinfärber 130 die HID-Daten in Einfärbungsdaten umwandeln. Dies kann eine Umwandlung von Sensorrohdaten in ein Koordinatensystem oder einen Satz von Koordinaten für jeden Zeitraum umfassen, für den Berührungseingabedaten gemessen wurden.
  • Bei Block 310 kann der Schnelleinfärber 130 die Einfärbungsdaten vom Schnelleinfärber über einen direkten Hardwarepfad 134 an die Anzeigepipeline 132 senden, wobei der nächste unterwegs befindliche Rahmen abgefangen wird. Der direkte Hardwarepfad ermöglicht es, dass der Anzeigepipeline die Einfärbungsdaten für eine Berührungseingabe ohne die Zwischenelemente von Schreibanwendungsspeicher, Betriebssystem oder anderen zeitaufwändigen Operationen zur Verfügung stehen. Wie hier verwendet, bezieht sich das Abfangen des nächsten unterwegs befindlichen Rahmens auf den nächsten Rahmen, der in einer Anzeigepipeline unterwegs ist und auf dem Berührungsschirm angezeigt werden soll. Das Abfangen dieses nächsten Rahmens zur Anzeige kann das Hinzufügen, Ersetzen oder Modifizieren der Daten im nächsten Rahmen umfassen, basierend auf den Einfärbungsdaten, die vom Schnelleinfärber gesendet werden.
  • Bei Block 312 empfängt die Schreibanwendung die HID-Eingabedaten und kann diese in Einfärbungsdaten für einen Anzeigeschirm umwandeln. Wie hier verwendet, kann sich ein Anzeigeschirm auf eine Digitaltafelüberlagerung, die Speicherung von Koordinaten und eingefärbten Koordinaten, die der Berührungsanzeige entsprechen, oder irgendeine andere Struktur für einen Anzeigepipeline-Datenspeicher beziehen. Während die Umwandlung in Einfärbungsdaten erfolgt, können andere stilistische Änderungen vom Schreibanwendungsspeicher hinzugefügt werden, was das Hinzufügen von Strichstärken, verschiedenen Schattierungsfarbvarianzen und anderen vergleichbaren Modifikationen des Geschriebenen oder Gezeichneten einschließt.
  • Bei Block 314 setzt das Betriebssystem den Anzeigeschirm aus den Einfärbungsdaten vom Schreibanwendungsspeicher zusammen und sendet den Anzeigeschirm an die Anzeigepipeline. Aufgrund der hierbei anfallenden Zusatzoperationen verfügt die Anzeigepipeline wahrscheinlich bereits über Einfärbungsdaten von der Berührungseingabe, die vom Schreibanwendungsspeicher verwendet werden. Allerdings werden die vom Schnelleinfärber 130 stammenden Einfärbungsdaten vom Schnelleinfärber 130 für eine begrenzte Dauer bereitgestellt, bevor sie nicht länger direkt für die Anzeigepipeline 132 bereitgestellt werden. Ferner weisen die Einfärbungsdaten vom Schnelleinfärber 130 unter Umständen keine vom Schreibanwendungsspeicher 136 auferlegte oder durch Verarbeitung mit der CPU 212, dem OS 214 und Middleware 216 durchgesetzte Modifikation auf. Dementsprechend können die Pixelanzeigedaten durch die Pixelanzeigedaten vom Schreibanwendungsspeicher 136 ersetzt werden, oder alternativ können die einzelnen Pixelanzeigedaten gespeichert oder sogar auf einem anderen Bildschirm von der Anzeigepipeline 132 angezeigt werden.
  • Bei Block 316 kann die Berührungsanzeige die Pixel, die von der Anzeigepipeline 132 basierend auf den vom Schnelleinfärber 130 und dem Schreibanwendungsspeicher 136 empfangenen Einfärbungsdaten markiert wurden, anzeigen. Die Berührungsanzeige muss nicht auf beide Einfärbungsdaten warten, um mit dem Anzeigen der Einfärbungsdaten von einer Quelle oder einer anderen zu beginnen.
  • Bei Block 318 ersetzt das langsamere Einfärbungsbild von der Schreibanwendung das schnelle Einfärbungsbild. Wie hier erörtert, kann dies durch einen expliziten Austausch des schnellen Einfärbungsbildes durch das langsamere Einfärbungsbild von der Schreibanwendung erfolgen. In einem anderen Beispiel kann der Austausch des schnellen Einfärbungsbildes durch das langsamere Einfärbungsbild erfolgen, indem der Schnelleinfärber für eine bestimmte Eingabe für eine begrenzte Zeit, z. B. 200 ms, Einfärbungsdaten bereitstellt. In diesem Beispiel scheinen die Einfärbungsdaten vom Schnelleinfärber abzulaufen oder zu verschwinden, während das langsamere Einfärbungsbild von der Schreibanwendung präsent ist.
  • 4 zeigt einen beispielhaften Vergleich 400 der Auswirkungen für eine Vorrichtung mit und ohne schnelles Einfärben einer Berührungsanzeige. Gleich nummerierte Positionen sind wie in 1 und 2 beschrieben.
  • 4 zeigt wenigstens eine Rechenvorrichtung 402 mit einem Berührungsschirm 404. Zwei Versionen werden gezeigt, wobei die erste eine Rechenvorrichtung 402 ist, die eine Standard-Anzeigearchitektur und Standardverfahren bzw. -techniken 406 nutzt, und die zweite eine Rechenvorrichtung 402 ist, die eine Architektur und Verfahren für ein schnelles Einfärben 408 nutzt.
  • Die Rechenvorrichtung 402, die eine Standard-Anzeigearchitektur und Standardtechniken bzw. -verfahren 406 nutzt, zeigt einen Eingabestift 204, der durch Berührung oder aktive Nähe zum Berührungsschirm das Wort „ink“ (Tinte) auf dem Berührungsschirm schreibt. Da in diesem Beispiel kein schnelles Einfärben zur Anwendung kommt, kann eine Verzögerung beim Schreiben auftreten, hier gezeigt durch die gestrichelte Linie unten an dem kursiven „k“. Die gestrichelte Linie zeigt die Bewegung, wie der Eingabestift 204 über den Berührungsschirm 404 gezogen wurde, um eine Berührungseingabe vorzunehmen. Da jedoch eine typische Architektur und typische Techniken bzw. Verfahren zum Einsatz kommen, zeigt der Berührungsschirm 404 die Berührungsdaten, die ihre Zeit gebraucht haben, um das Betriebssystem, die CPU, die Schreibanwendung und andere Software und Module gefiltert zu durchlaufen.
  • Die Rechenvorrichtung 402 nutzt die Techniken bzw. Verfahren zum schnellen Einfärben. Aufgrund der schnelleren Anzeige von Berührungseingabedaten auf dem Berührungsschirm, die durch den Schnelleinfärber und den direkten Hardwarepfad zur Anzeigepipeline 136 ermöglicht wird, scheint dort keine Lücke zwischen der Stelle zu sein, wo der Eingabestift eine Berührung hat/sich bewegt, und der Stelle, wo die Tinte oder die schattierten Pixel angezeigt werden.
  • In einem Beispiel kann die Rechenvorrichtung 402 ein Stift-oben-Ereignis oder ein Stift-unten-Ereignis von einem aktiven Eingabestift, der elektronisch mit dem Berührungsschirm kommuniziert, erkennen. Der Schnelleinfärber 130 kann das Stift-oben-Ereignis und das Stift-unten-Ereignis erkennen und entsprechend reagieren, insbesondere da diese Ereignisse Teil der HID-Datenpakete sein können, die die Ausgabe des Anbieter-Kernels 210 darstellen. In einem Beispiel, wenn ein Stift-unten-Ereignis erfolgt, kann der Schnelleinfärber aktiviert werden und beginnt dann mit dem Auffüllen der Koordinatenpuffer, die den anzeigbaren Pixeln der Berührungsanzeige entsprechen. Wenn ein Stift-oben-Ereignis erfolgt, kann der Schnelleinfärber 130 aufhören, seine Koordinatenpuffer mit weiteren Daten zu füllen. Alte Daten in den Schnelleinfärbern werden nach einer Einfärbungszeitdauer gelöscht. Beispielsweise können die Puffer des Schnelleinfärbers 200 ms nach dem Stift-oben-Ereignis geleert werden. Wenn die Puffer des Schnelleinfärbers 130 leer sind, dann kann es sein, dass der Schnelleinfärber 130 nichts mehr zu tun hat, und der Schnelleinfärber kann zu einem Durchgangselement in der Architektur werden.
  • In den vorstehend gezeigten Beispielen gelangen die Daten zu dem Schnelleinfärber 130 und dem Schreibanwendungsspeicher 136. Der Schreibanwendungsspeicher sendet weiterhin die normalen Einfärbungsdaten an die Einfärbungsinfrastruktur des Betriebssystems (Operating System, OS), die diese Daten in die anzuzeigenden Pixeldaten umwandeln kann. Dieses „normale“ Einfärben kann letztlich auf der Berührungsanzeige angezeigt werden und kann die Schnelleinfärbungspixel überschreiben. In einem Beispiel kann die Verwendung des Schnelleinfärbers 130 auf den Schreibzeitpunkt beschränkt sein. Tatsächlich würde die Verwendung eines Schnelleinfärbers, der den aktuellen Modus einer Vorrichtung erkennen kann, einige dahingehende Fallstricke, dass der Schnelleinfärber 130 in allen Modi aktiv bleibt, vermeiden. Falls der Schnelleinfärber 130 beispielsweise ständig aktiv wäre, könnte ein Benutzer den Eingabestift verwenden, um auf einige Symbole zu zeigen, Symbole auszuwählen und den Eingabestift als Maus zu verwenden. In diesen und anderen vergleichbaren Situationen kann der Schnelleinfärber 130 die gegebene Aufgabe unter Umständen nicht unterstützen. Dementsprechend kann der Schnelleinfärber 130, in einem erkannten Modus, der nicht für das Schreiben vorgesehen ist, zu einem Durchgangselement werden. In einem Beispiel für das Verwalten dieser Einstellung kann der Modus von der Anwendungsseite einer Rechenvorrichtung bestimmt werden. Falls ein Modus von einer spezifischen Anwendungsprogramm-Schnittstelle (Application Program Interface, API) eingestellt werden kann, könnte diese API von einer Schreibanwendung aufgerufen werden, um den Schnelleinfärber 130 darüber zu informieren, dass das im Fokus befindliche Anwendungsfenster eine Schreib-/Zeichenleinwand aufweist, und die Koordinaten der Leinwand werden bereitgestellt. In einem anderen Beispiel kann diese Modussteuerung auch in Middleware implementiert sein. In einem Beispiel kann die Middleware den Modus an den Schnelleinfärber über gemeinsam genutzte Speicherpuffer übermitteln.
  • In einem Beispiel kann ein Löschmodus verwendet werden, um Daten zu löschen, die zuvor durch Berühren eines Bildschirms generiert wurden, oder sogar Daten, die auf einem Bildschirm angezeigt, aber nie durch Berührungseingabe generiert wurden. Während die Anwendung aktiv schreibt, könnte ein Benutzer eine Löschtaste 410 auf dem Eingabestift drücken oder diesen andersherum drehen, um ihn als Radierer einzusetzen. Dieses Ereignis „Löschmodus“ kann sich in den HID-Paketen widerspiegeln, auf die der Schnelleinfärbungs-PPK Zugriff hat. Wenn der Löschmodus erkannt werden kann, werden alle Schattierungspuffer gelöscht. Es kann mit Sicherheit angenommen werden, dass ein Wechsel in den Löschmodus durch menschliche Einwirkung länger als 200 ms dauert, so dass der Puffer ohne Bedenken gelöscht werden kann. Die Schreibanwendung oder das OS können ebenfalls den Modus in den Löschmodus ändern. Dies kann dem Schnelleinfärber unter Verwendung derselben API mitgeteilt werden wie vorstehend für die Erkennung des Schreibmodus beschrieben. In einem Beispiel kann es wünschenswert sein, dass der Schnelleinfärber die Farbe der Tinte und die Strichbreite kennt, damit die Pixel in der richtigen Farbe eingefärbt werden können. Dies kann über die API kommuniziert werden.
  • Es wird darauf hingewiesen, dass die hier beschriebenen Techniken bzw. Verfahren in verschiedenen Implementierungen durchgeführt werden können, was einschließt, dass in den Fällen, in denen die Berührungssteuerung die Verarbeitung der Rohdaten durchführt, sie die HID-Pakete vorbereitet und diese Daten an das OS und den Schnelleinfärber sendet. Ferner können die HID-Pakete (mit X,Y-Koordinaten) stattdessen vom SoC mit dem Schnelleinfärber 130 ausspioniert („snooped“) werden, und die vorstehend beschriebenen Techniken bzw. Verfahren können in einen Mikrocontroller implementiert werden, der einen Überlagerungspuffer erzeugen kann, der von einer Grafikmaschine zur Anzeige genutzt werden kann. In einem Beispiel könnte der Mikrocontroller direkten Zugang zu Grafikhardware haben, so dass die Überlagerungspuffer von der Anzeige im nächsten Anzeigeauffrischzyklus verwendet werden können.
  • 5 ist ein Blockschaltbild, das physische, nicht transitorische computerlesbare Medien zeigt, die Code für die Stromübertragung über HDMI speichert. Auf die physischen, nicht transitorischen computerlesbaren Medien 500 kann von einem Prozessor 502 über einen Computerbus 504 zugegriffen werden. Des Weiteren können die physischen, nicht transitorischen computerlesbaren Medien 500 Code umfassen, der dafür ausgelegt ist, den Prozessor 502 anzuweisen, die hier beschriebenen Verfahren durchzuführen.
  • Die physischen, nicht transitorischen computerlesbaren Medien 500 können ein Sendemodul für Berührungsdaten 506 aufweisen, um Berührungsdaten an einen Schnelleinfärber und eine Schreibanwendung zu übertragen. In einem Beispiel kann das Sendemodul für Berührungsdaten 506 Berührungssensor-Rohdaten empfangen und diese wie vorstehend beschrieben in HID-Daten umwandeln.
  • Die physischen, nicht transitorischen computerlesbaren Medien 500 können ein Schnelleinfärbermodul 508 aufweisen, um die HID-Daten in Einfärbungsdaten umzuwandeln, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen. In einem Beispiel kann sich das Schnelleinfärbermodul auf einer GPU 110 befinden.
  • Die physischen, nicht transitorischen computerlesbaren Medien 500 können ein Schreibanwendungsmodul 510 aufweisen, um die HID-Daten in Einfärbungsdaten umzuwandeln, die an die Anzeigepipeline gesendet werden sollen. In einem Beispiel empfangen das Schreibanwendungsmodul und das Schnelleinfärbermodul die HID-Daten gleichzeitig, können aber die umgewandelten Einfärbungsdaten zu unterschiedlichen Zeiten senden, typischerweise der Schnelleinfärber zuerst.
  • Die physischen, nicht transitorischen computerlesbaren Medien 500 können ein Berührungsanzeigepipeline-Verarbeitungsmodul 512 aufweisen, um Einfärbungsdaten zu empfangen, typischerweise von der Schreibanwendung und dem Schnelleinfärber. In einem Beispiel kann die Anzeigepipeline die Einfärbungsdaten für die Anzeige bereitstellen, sobald die Anzeigepipeline die Einfärbungsdaten empfängt. In einem Beispiel umfasst die Anzeigepipeline getrennte Überlagerungen für die Einfärbungsdaten, die die Pipeline vom Schnelleinfärber empfängt, und die vom Schreibanwendungsmodul.
  • Die physischen, nicht transitorischen computerlesbaren Medien 500 können ein HDMI-Stromverwaltungsmodul 508 aufweisen, das wenigstens teilweise als Hardware oder Schaltungen ausgeführt ist und Anweisungen umfasst, einschließlich einer HDMI-Stromverwaltung 136 zum Anweisen eines Prozessors 502. In einem Beispiel kann das HDMI-Stromverwaltungsmodul 508, basierend auf dem erkannten Verbindungsstatus und der Energieanforderung einer verbundenen Rechenvorrichtung, Strom via HDMI von einer Stromversorgung 202 des computerlesbaren Mediums 500 für eine Rechenvorrichtung bereitstellen.
  • Das Blockschaltbild von 5 ist nicht dazu bestimmt anzugeben, dass die physischen, nicht transitorischen Medien 500 alle in 5 gezeigten Komponenten aufweisen sollen. Ferner können die physischen, nicht transitorischen Medien 500, in Abhängigkeit von den Einzelheiten der spezifischen Implementierung, eine beliebige Anzahl von zusätzlichen Komponenten aufweisen, die nicht in 5 gezeigt werden.
  • BEISPIELE
  • Beispiel 1 ist ein System zum schnellen Einfärben einer Berührungsanzeige. Das System umfasst eine Berührungsanzeige zum Empfangen von Berührungseingaben und Generieren von Berührungssensordaten; eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) mit einem Schnelleinfärber und einer Anzeigepipeline; wobei die GPU anhand der Berührungssensordaten generierte Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber überträgt; wobei der Schnelleinfärber die HID-Daten in Einfärbungsdaten umwandelt, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; und
    wobei der Schreibanwendungsspeicher die HID-Daten in Einfärbungsdaten umwandelt, die an die Anzeigepipeline gesendet werden sollen, und die Berührungsanzeige zum Anzeigen von Pixeln, die von der Anzeigepipeline basierend auf den von der Anzeigepipeline empfangenen Einfärbungsdaten markiert wurden.
  • Beispiel 2 umfasst das System aus Beispiel 1 mit oder ohne optionale Merkmale. In diesem Beispiel die Berührungsanzeige zum Anzeigen von Pixeln, die von der Anzeigepipeline basierend auf den von der Anzeigepipeline empfangenen Einfärbungsdaten markiert wurden.
  • Beispiel 3 umfasst das System aus einem der Beispiele 1 bis 2 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System eine im Schnelleinfärber gespeicherte Schnelleinfärbungs-Koordinatenanordnung, die den Anzeigepixeln entspricht, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht. Wahlweise umfasst das System, dass die an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen und dass die Einfärbungszeitdauer wenigstens 200 Millisekunden beträgt. Wahlweise umfasst das System, dass die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  • Beispiel 4 umfasst das System aus einem der Beispiele 1 bis 3 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System einen Eingabestift zum Generieren der Berührungseingabe, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf die Berührungsanzeige aufgesetzt wird, Berührungskoordinaten, die die Bewegung des Eingabestifts auf der Berührungsanzeige angeben, und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von der Berührungsanzeige abgehoben wurde, umfasst. Wahlweise umfasst das System, dass ein Eingabestift ein Löschmodus-Ereignis bereitstellt, das an den Schnelleinfärber übertragen werden soll, und der Schnelleinfärber auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  • Beispiel 5 umfasst das System aus einem der Beispiele 1 bis 4 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass der Schnelleinfärber Stilinformationen vom Schreibanwendungsspeicher empfangen soll, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  • Beispiel 6 umfasst das System aus einem der Beispiele 1 bis 5 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass eine Überlagerungsebene des Schnelleinfärbers die vom Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitzustellen sind, angeben soll.
  • Beispiel 7 umfasst das System aus einem der Beispiele 1 bis 6 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass die Anzeigepipeline die Einfärbungsdaten vom Schnelleinfärber vor dem Empfangen von Anzeigepipeline-Daten vom Schreibanwendungsspeicher empfangen soll.
  • Beispiel 8 ist ein Verfahren zum schnellen Einfärben einer Berührungsanzeige. Das Verfahren umfasst das Empfangen von Berührungseingaben von einer Berührungsanzeige; das Generieren von Berührungssensordaten von der Berührungseingabe; das Senden von Daten einer Benutzerschnittstellenvorrichtung (HID), die anhand der Berührungssensordaten in einer Grafikverarbeitungseinheit (GPU) 110 generiert wurden, an einen Schreibanwendungsspeicher und den Schnelleinfärber; das Umwandeln, im Schnelleinfärber, der HID-Daten in Einfärbungsdaten; das Senden der Einfärbungsdaten vom Schnelleinfärber an eine Anzeigepipeline über einen direkten Hardwarepfad, wobei der nächste unterwegs befindliche Rahmen abgefangen wird; das Umwandeln, im Schreibanwendungsspeicher, der HID-Daten in Einfärbungsdaten für einen Anzeigeschirm; das Zusammensetzen, mit einem Betriebssystem, des Anzeigeschirms anhand der Einfärbungsdaten vom Schreibanwendungsspeicher und das Senden des Anzeigeschirms an die Anzeigepipeline; das Anzeigen von Pixeln, die von der Anzeigepipeline auf der Berührungsanzeige basierend auf der Einfärbung markiert wurden; das Ersetzen der Einfärbungsdaten durch den von der Anzeigepipeline empfangenen Anzeigeschirm.
  • Beispiel 9 umfasst das Verfahren aus Beispiel 8 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (CPU), einem Betriebssystem, einem Treiber und Middleware.
  • Beispiel 10 umfasst das Verfahren aus einem der Beispiele 8 bis 9 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das Verfahren das Speichern einer Schnelleinfärbungs-Koordinatenanordnung im Schnelleinfärber, die den Anzeigepixeln entsprechen soll, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht. Wahlweise umfasst das Verfahren das Verfahren aus Beispiel 13, bei dem die vom Schnelleinfärber an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen und die Einfärbungszeitdauer nicht länger als 200 Millisekunden ist. Wahlweise umfasst das Verfahren, dass die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  • Beispiel 11 umfasst das Verfahren aus einem der Beispiele 8 bis 10 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das Verfahren das Generieren der Berührungseingabe mit einem Eingabestift, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf die Berührungsanzeige aufgesetzt wird, Berührungskoordinaten, die die Bewegung des Eingabestifts auf der Berührungsanzeige angeben, und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von der Berührungsanzeige abgehoben wurde, umfasst. Wahlweise umfasst das Verfahren, dass der Eingabestift ein Löschmodus-Ereignis bereitstellt, das an den Schnelleinfärber übertragen werden soll, und der Schnelleinfärber auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  • Beispiel 12 umfasst das Verfahren aus einem der Beispiele 8 bis 11 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das Verfahren das Empfangen von Stilinformationen, am Schnelleinfärber, vom Schreibanwendungsspeicher, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  • Beispiel 13 umfasst das Verfahren aus einem der Beispiele 8 bis 12 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das Verfahren, dass, auf einer Überlagerungsebene des Schnelleinfärbers, die vom Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitzustellen sind, angegeben werden.
  • Beispiel 14 umfasst das Verfahren aus einem der Beispiele 8 bis 13 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das Verfahren das Empfangen an der Anzeigepipeline der Einfärbungsdaten vom Schnelleinfärber vor dem Empfangen von Einfärbungsdaten an der Anzeigepipeline vom Schreibanwendungsspeicher.
  • Beispiel 15 ist eine Vorrichtung zum schnellen Einfärben einer Berührungsanzeige. Die Vorrichtung umfasst eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) mit einem Schnelleinfärber und einer Anzeigepipeline; die GPU zum Übertragen anhand von Berührungssensordaten generierter Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber; den Schnelleinfärber zum Umwandeln der HID-Daten in Einfärbungsdaten, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; und den Schreibanwendungsspeicher zum Umwandeln der HID-Daten in Einfärbungsdaten, die an die Anzeigepipeline gesendet werden sollen.
  • Beispiel 16 umfasst die Vorrichtung aus Beispiel 15 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst die Vorrichtung, dass das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
  • Beispiel 17 umfasst die Vorrichtung aus einem der Beispiele 15 bis 16 mit oder ohne optionale Merkmale. In diesen Beispiel umfasst die Vorrichtung eine im Schnelleinfärber gespeicherte Schnelleinfärbungs-Koordinatenanordnung, die den Anzeigepixeln entspricht, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht. Wahlweise umfasst die Vorrichtung eine Vorrichtung nach Anspruch 23, wobei die an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen und die Einfärbungszeitdauer wenigstens 23 Millisekunden beträgt. Wahlweise umfasst die Vorrichtung, dass die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  • Beispiel 18 umfasst die Vorrichtung aus einem der Beispiele 15 bis 17 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst die Vorrichtung einen Eingabestift zum Generieren der Berührungssensordaten, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf eine Berührungsanzeige aufgesetzt wird, Berührungskoordinaten, die die Bewegung des Eingabestifts auf der Berührungsanzeige angeben, und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von der Berührungsanzeige abgehoben wurde, umfasst. Wahlweise umfasst die Vorrichtung, dass der Eingabestift ein Löschmodus-Ereignis bereitstellt, das an den Schnelleinfärber übertragen werden soll, und der Schnelleinfärber auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  • Beispiel 19 umfasst die Vorrichtung aus einem der Beispiele 15 bis 18 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst die Vorrichtung, dass der Schnelleinfärber Stilinformationen vom Schreibanwendungsspeicher empfangen soll, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  • Beispiel 20 umfasst die Vorrichtung aus einem der Beispiele 15 bis 19 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst die Vorrichtung, dass eine Überlagerungsebene des Schnelleinfärbers die vom Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitzustellen sind, angeben soll.
  • Beispiel 21 umfasst die Vorrichtung aus einem der Beispiele 15 bis 20 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst die Vorrichtung, dass die Anzeigepipeline die Einfärbungsdaten vom Schnelleinfärber vor dem Empfangen von Anzeigepipeline-Daten vom Schreibanwendungsspeicher empfangen soll.
  • Beispiel 22 ist ein physisches, nicht transitorisches, computerlesbares Medium. Das computerlesbare Medium umfasst Anweisungen, die den Prozessor anweisen, anhand von Berührungssensordaten generierte Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber zu übertragen; mit dem Schnelleinfärber die HID-Daten in Einfärbungsdaten umzuwandeln, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; und mit dem Schreibanwendungsspeicher die HID-Daten in Einfärbungsdaten, die an die Anzeigepipeline gesendet werden sollen, umzuwandeln.
  • Beispiel 23 umfasst das computerlesbare Medium aus Beispiel 22 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das computerlesbare Medium, dass das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
  • Beispiel 24 umfasst das computerlesbare Medium aus einem der Beispiele 22 bis 23 mit oder ohne optionale Merkmale. In diesen Beispiel umfasst das computerlesbare Medium Anweisungen, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor anweisen, eine im Schnelleinfärber gespeicherte Schnelleinfärbungs-Koordinatenanordnung mit den Anzeigepixeln abzustimmen, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht. Wahlweise umfasst das computerlesbare Medium, dass die an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen und die Einfärbungszeitdauer wenigstens 200 Millisekunden beträgt. Wahlweise umfasst das computerlesbare Medium, dass die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  • Beispiel 25 umfasst das computerlesbare Medium aus einem der Beispiele 22 bis 24 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das computerlesbare Medium Anweisungen, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor anweisen, mit einem Eingabestift die Berührungssensordaten zu generieren, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf eine Berührungsanzeige aufgesetzt wird, Berührungskoordinaten, die die Bewegung des Eingabestifts auf der Berührungsanzeige angeben, und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von der Berührungsanzeige abgehoben wurde, umfasst. Wahlweise umfasst das computerlesbare Medium, dass der Eingabestift ein Löschmodus-Ereignis bereitstellt, das an den Schnelleinfärber übertragen werden soll, und der Schnelleinfärber auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  • Beispiel 26 umfasst das computerlesbare Medium aus einem der Beispiele 22 bis 25 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das computerlesbare Medium, dass der Schnelleinfärber Stilinformationen vom Schreibanwendungsspeicher empfangen soll, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  • Beispiel 27 umfasst das computerlesbare Medium aus einem der Beispiele 22 bis 26 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das computerlesbare Medium Anweisungen, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor anweisen, mit einer Überlagerungsebene des Schnelleinfärbers die vom Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten anzugeben, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitgestellt werden sollen. Wahlweise umfasst das computerlesbare Medium, dass die Anzeigepipeline die Einfärbungsdaten vom Schnelleinfärber vor dem Empfangen von Anzeigepipeline-Daten vom Schreibanwendungsspeicher empfangen soll.
  • Beispiel 28 ist ein System zum schnellen Einfärben einer Berührungsanzeige. Das System umfasst Anweisungen, die den Prozessor zu Mitteln leiten, um Berührungsanzeigen zu empfangen und Berührungssensordaten zu generieren; eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) mit einem Mittel zum Generieren von Einfärbungsdaten und einer Anzeigepipeline; die GPU, um Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID), die anhand der Berührungssensordaten generiert wurden, an einen Schreibanwendungsspeicher und das Mittel zum Generieren von Einfärbungsdaten zu senden; das Mittel zum Generieren von Einfärbungsdaten, um die HID-Daten in Einfärbungsdaten umzuwandeln, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; den Schreibanwendungsspeicher, um HID-Daten in Einfärbungsdaten umzuwandeln, die an die Anzeigepipeline gesendet werden sollen; und das Mittel zum Empfangen von Berührungseingaben und Generieren von Berührungssensordaten, um Pixel, die von der Anzeigepipeline basierend auf den von der Anzeigepipeline empfangenen Einfärbungsdaten markiert wurden, anzuzeigen.
  • Beispiel 29 umfasst das System aus Beispiel 28 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
  • Beispiel 30 umfasst das System aus einem der Beispiele 28 bis 29 mit oder ohne optionale Merkmale. In diesen Beispiel umfasst das System eine in dem Mittel zum Generieren von Einfärbungsdaten gespeicherte Schnelleinfärbungs-Koordinatenanordnung, die den Anzeigepixeln entspricht, wobei das Mittel zum Generieren von Einfärbungsdaten die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht. Wahlweise umfasst das System, dass die an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen und dass die Einfärbungszeitdauer wenigstens 200 Millisekunden beträgt. Wahlweise umfasst das System, dass die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  • Beispiel 31 umfasst das System aus einem der Beispiele 28 bis 30 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System einen Eingabestift zum Generieren der Berührungseingabe, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf das Mittel aufgesetzt wird, um Berührungseingaben zu empfangen und Berührungssensordaten zu generieren; Berührungskoordinaten, die die Bewegung des Eingabestifts auf dem Mittel angeben, um Berührungseingaben zu empfangen und Berührungssensordaten zu generieren; und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von dem Mittel abgehoben wurde, um Berührungseingaben zu empfangen und Berührungssensordaten zu generieren, umfasst. Wahlweise umfasst das System, dass ein Eingabestift ein Löschmodus-Ereignis bereitstellt, das an das Mittel zum Generieren von Einfärbungsdaten übertragen werden soll, und dass das Mittel zum Generieren von Einfärbungsdaten auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  • Beispiel 32 umfasst das System aus einem der Beispiele 28 bis 31 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass das Mittel zum Generieren von Einfärbungsdaten Stilinformationen vom Schreibanwendungsspeicher empfangen soll, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  • Beispiel 33 umfasst das System aus einem der Beispiele 28 bis 32 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass eine Überlagerungsebene des Mittels zum Generieren von Einfärbungsdaten die von dem Mittel zum Generieren von Einfärbungsdaten für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitzustellen sind, angeben soll.
  • Beispiel 34 umfasst das System aus einem der Beispiele 28 bis 33 mit oder ohne optionale Merkmale. In diesem Beispiel umfasst das System, dass die Anzeigepipeline die Einfärbungsdaten von dem Mittel zum Generieren von Einfärbungsdaten vor dem Empfangen von Anzeigepipeline-Daten vom Schreibanwendungsspeicher empfangen soll.
  • Während die vorliegenden Techniken bzw. Verfahren in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurden, werden Fachleute auf diesem Gebiet der Technik zahlreiche Modifikationen und Variationen erkennen können. Es ist beabsichtigt, dass die beigefügten Patentansprüche alle solche Modifikationen und Variationen abdecken sollen, die dem wahren Geist und Schutzbereich der vorliegenden Techniken bzw. Verfahren entsprechen.
  • Ein Modul wie hier verwendet bezieht sich auf eine beliebige Kombination aus Hardware, Software und/oder Firmware. Als Beispiel umfasst ein Modul Hardware, beispielsweise einen Mikrocontroller, der mit einem nicht transitorischen Medium verknüpft ist, um Code zu speichern, der dafür ausgelegt ist, von einem Mikrocontroller ausgeführt zu werden. Daher bezieht sich ein Verweis auf ein Modul, in einer Ausführungsform, auf die Hardware, die speziell dafür ausgelegt ist, den auf einem nicht transitorischen Medium zu speichernden Code zu erkennen und/oder auszuführen. Des Weiteren bezieht sich, in einer anderen Ausführungsform, die Verwendung eines Moduls auf ein nicht transitorisches Medium mit dem Code, der speziell dafür ausgelegt ist, von dem Mikrocontroller ausgeführt zu werden, um vorgegebene Operationen durchzuführen. Und wie abgeleitet werden kann, kann sich der Begriff Modul (in diesem Beispiel) in noch einer anderen Ausführungsform auf die Kombination des Mikrocontrollers und des nicht transitorischen Mediums beziehen. Modulgrenzen, die getrennt dargestellt sind, variieren häufig und sind potenziell überlappend. So können beispielsweise ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon gemeinsam nutzen, während sie potenziell einige unabhängige Hardware, Software oder Firmware beibehalten. In einer Ausführungsform umfasst die Verwendung des Begriffs Logik Hardware, beispielsweise Transistoren, Register oder andere Hardware wie etwa programmierbare Logikbauelemente.
  • Die Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code wie vorstehend dargelegt können über Anweisungen oder Code implementiert sein, die auf einem für Maschinen zugänglichen, maschinenlesbaren, für Computer zugänglichen oder computerlesbaren Medium gespeichert und von einem Verarbeitungselement ausgeführt werden können. Ein nicht transitorisches für Maschinen zugängliches/maschinenlesbares Medium weist einen Mechanismus auf, der Informationen in einer Form bereitstellt (d. h. speichert und/oder überträgt), die von einer Maschine, beispielsweise einem Computer oder einem elektronischen System, gelesen werden können. Beispielsweise umfasst ein nicht transitorisches maschinenlesbares Medium Direktzugriffsspeicher (Random Access Memory, RAM), beispielsweise einen statischen RAM (SRAM) oder einen dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Speichermedium; Flash-Speichervorrichtungen; elektrische Speichervorrichtungen; optische Speichervorrichtungen; akustische Speichervorrichtungen; andere Formen von Speichervorrichtungen für das Speichern von Informationen, die von transitorischen (sich ausbreitenden) Signalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale) empfangen werden; etc., die von den nicht transitorischen Medien zu unterscheiden sind, die Informationen davon empfangen können.
  • Anweisungen, die verwendet werden, um Logik zu programmieren, um Ausführungsformen der vorliegenden Techniken bzw. Verfahren durchzuführen, können in einem Speicher im System gespeichert sein, beispielsweise DRAM, Cache, Flash Speicher oder einem anderen Speicher. Des Weiteren können die Anweisungen über ein Netz oder durch andere computerlesbare Medien verteilt werden. Somit kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Information in einer Form umfassen, die von einer Maschine (z. B. einem Computer) gelesen werden kann, ohne jedoch beschränkt zu sein auf Floppydisketten, optische Datenträger, CDs (Compact Disks), Compact-Disk-Festwertspeicher (Compact Disc Read-Only Memory, CD-ROMs) und magnetooptische Platten, Festwertspeicher (Read-Only Memory, ROMs), Direktzugriffsspeicher (Random Access Memory (RAM), löschbaren programmierbaren Festwertspeicher (Erasable Programmable Read-Only Memory, EPROM), elektrisch löschbaren programmierbaren Festwertspeicher (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetische oder optische Karten, Flash-Speicher oder einen physischen, maschinenlesbaren Speicher, wie er bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder sonstige Formen von sich ausbreitenden Signalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale etc.) verwendet wird. Entsprechend umfasst das computerlesbare Medium jede Art von physischen maschinenlesbaren Medien, die dafür geeignet sind, elektronische Anweisungen oder Informationen in einer Form zu speichern oder zu übertragen, die von einer Maschine (z. B. einem Computer) gelesen werden kann.
  • In der vorstehenden Beschreibung wurde eine ausführliche Beschreibung unter Bezugnahme auf spezifische Ausführungsformen gegeben. Es kann jedoch offensichtlich sein, dass verschiedene Modifikationen und Änderungen hieran vorgenommen werden können, ohne vom breiteren Grundgedanken und Schutzbereich der vorliegenden Techniken bzw. Verfahren abzuweichen, wie sie in den beigefügten Ansprüchen dargelegt sind. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden Sinne und nicht in einem einschränkenden Sinne zu betrachten. Des Weiteren betreffen die vorstehende Verwendung einer Ausführungsform und andere Formulierungen nicht notwendigerweise dieselbe Ausführungsform oder dasselbe Beispiel, können sich jedoch auf andere und verschiedene Ausführungsformen beziehen sowie potenziell auf dieselbe Ausführungsform.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 14923159 [0001]

Claims (25)

  1. System zum schnellen Einfärben einer Berührungsanzeige, umfassend: eine Berührungsanzeige zum Empfangen von Berührungseingaben und Generieren von Berührungssensordaten; eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) mit einem Schnelleinfärber und einer Anzeigepipeline; wobei die GPU anhand der Berührungssensordaten generierte Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber überträgt; wobei der Schnelleinfärber die HID-Daten in Einfärbungsdaten umwandelt, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; und wobei der Schreibanwendungsspeicher die HID-Daten in Einfärbungsdaten umwandelt, die an die Anzeigepipeline gesendet werden sollen, und die Berührungsanzeige zum Anzeigen von Pixeln, die von der Anzeigepipeline basierend auf den von der Anzeigepipeline empfangenen Einfärbungsdaten markiert wurden.
  2. System nach Anspruch 1, wobei das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (Computer Processing Unit, CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
  3. System nach Anspruch 1, umfassend eine im Schnelleinfärber gespeicherte Schnelleinfärbungs-Koordinatenanordnung, die den Anzeigepixeln entspricht, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht.
  4. System nach Anspruch 3, wobei die an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen; und die Einfärbungszeitdauer wenigstens 200 Millisekunden beträgt.
  5. System nach Anspruch 3, wobei die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  6. System nach Anspruch 1, umfassend einen Eingabestift zum Generieren der Berührungseingabe, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf die Berührungsanzeige aufgesetzt wird, Berührungskoordinaten, die die Bewegung des Eingabestifts auf der Berührungsanzeige angeben, und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von der Berührungsanzeige abgehoben wurde, umfasst.
  7. System nach Anspruch 6, wobei der Eingabestift ein Löschmodus-Ereignis bereitstellt, das an den Schnelleinfärber übertragen werden soll, und der Schnelleinfärber auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  8. System nach Anspruch 1, wobei der Schnelleinfärber Stilinformationen von dem Schreibanwendungsspeicher empfängt, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  9. System nach Anspruch 1, umfassend eine Überlagerungsebene des Schnelleinfärbers, um die von dem Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitzustellen sind, anzugeben.
  10. System nach Anspruch 1, wobei die Anzeigepipeline die Einfärbungsdaten vom Schnelleinfärber vor dem Empfangen von Anzeigepipeline-Daten vom Schreibanwendungsspeicher empfangen soll.
  11. Verfahren zum schnellen Einfärben einer Berührungsanzeige, umfassend: Empfangen einer Berührungseingabe einer Berührungsanzeige; Generieren von Berührungssensordaten anhand der Berührungseingabe; Übertragen von Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID), die anhand der Berührungssensordaten in einer Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) generiert wurden, an einen Schreibanwendungsspeicher und den Schnelleinfärber; Umwandeln, im Schnelleinfärber, der HID-Daten in Einfärbungsdaten; Senden der Einfärbungsdaten von dem Schnelleinfärber an eine Anzeigepipeline über einen direkten Hardwarepfad, wobei der nächste unterwegs befindliche Rahmen abgefangen wird; Umwandeln, im Schreibanwendungsspeicher, der HID-Daten in Einfärbungsdaten für einen Anzeigeschirm; Zusammensetzen, mit einem Betriebssystem, des Anzeigeschirms anhand der Einfärbungsdaten vom Schreibanwendungsspeicher und Senden des Anzeigeschirms an die Anzeigepipeline; Anzeigen von Pixeln, die von der Anzeigepipeline auf der Berührungsanzeige basierend auf der Einfärbung markiert wurden; Ersetzen der Einfärbungsdaten durch den von der Anzeigepipeline empfangenen Anzeigeschirm.
  12. Verfahren nach Anspruch 11, wobei das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (Computer Processing Unit, CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
  13. Verfahren nach Anspruch 11, umfassend das Speichern einer Schnelleinfärbungs-Koordinatenanordnung im Schnelleinfärber, die den Anzeigepixeln entspricht, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht.
  14. Verfahren nach Anspruch 13, wobei die vom Schnelleinfärber an die Anzeigepipeline gesendeten Einfärbungsdaten die markierte Schnelleinfärbungs-Koordinatenanordnung aufweisen; und die Einfärbungszeitdauer nicht mehr als 200 Millisekunden beträgt.
  15. Verfahren nach Anspruch 13, wobei die Schnelleinfärbungs-Koordinatenanordnung das Markieren von Pixeln anhand von HID-Daten während der Einfärbungszeitdauer und mit einer Rate, die der Frequenz entspricht, mit der Berührungseingaben empfangen werden, umfasst.
  16. Verfahren nach Anspruch 11, umfassend das Generieren der Berührungseingabe mit einem Eingabestift, um eine HID-Eingabe zu erzeugen, die wenigstens eines von einem Stift-unten-Ereignis, das angibt, wenn ein Eingabestift auf die Berührungsanzeige aufgesetzt wird, Berührungskoordinaten, die die Bewegung des Eingabestifts auf der Berührungsanzeige angeben, und einem Stift-oben-Ereignis, das angibt, dass der Eingabestift von der Berührungsanzeige abgehoben wurde, umfasst.
  17. Verfahren nach Anspruch 16, wobei der Eingabestift ein Löschmodus-Ereignis bereitstellt, das an den Schnelleinfärber übertragen werden soll, und der Schnelleinfärber auf ein Löschmodus-Ereignis reagieren soll, indem die Schnelleinfärbungs-Koordinatenanordnung gelöscht wird.
  18. Verfahren nach Anspruch 11, umfassend das Empfangen von Stilinformationen, am Schnelleinfärber, vom Schreibanwendungsspeicher, um die HID-Daten zusätzlich basierend auf den Stilinformationen in Einfärbungsdaten umzuwandeln.
  19. Verfahren nach Anspruch 11, umfassend das Angeben, auf einer Überlagerungsebene des Schnelleinfärbers, der vom Schnelleinfärber für die Anzeigepipeline bereitgestellten Einfärbungsdaten getrennt von den Einfärbungsdaten, die vom Schreibanwendungsspeicher an der Anzeigepipeline bereitzustellen sind.
  20. Verfahren nach Anspruch 11, wobei das Empfangen an der Anzeigepipeline der Einfärbungsdaten vom Schnelleinfärber vor dem Empfangen von Einfärbungsdaten an der Anzeigepipeline vom Schreibanwendungsspeicher erfolgt.
  21. Vorrichtung zum schnellen Einfärben einer Berührungsanzeige, umfassend: eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) mit einem Schnelleinfärber und einer Anzeigepipeline; wobei die GPU anhand von Berührungssensordaten generierte Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber überträgt; wobei der Schnelleinfärber die HID-Daten in Einfärbungsdaten umwandelt, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; und wobei der Schreibanwendungsspeicher die HID-Daten in Einfärbungsdaten umwandelt, die an die Anzeigepipeline gesendet werden sollen.
  22. Vorrichtung nach Anspruch 21, wobei das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (Computer Processing Unit, CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
  23. Vorrichtung nach Anspruch 21, umfassend eine im Schnelleinfärber gespeicherte Schnelleinfärbungs-Koordinatenanordnung, die den Anzeigepixeln entspricht, wobei der Schnelleinfärber die Schnelleinfärbungs-Koordinatenanordnung so markieren soll, dass sie den HID-Daten für eine Einfärbungszeitdauer entspricht.
  24. Physisches, nicht transitorisches, computerlesbares Medium, das Anweisungen umfasst, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor anweisen: anhand der Berührungssensordaten generierte Daten einer Benutzerschnittstellenvorrichtung (Human Interface Device, HID) an einen Schreibanwendungsspeicher und den Schnelleinfärber zu übertragen; die HID-Daten mit dem Schnelleinfärber in Einfärbungsdaten umzuwandeln, die über einen direkten Hardwarepfad an die Anzeigepipeline gesendet werden sollen; und mit dem Schreibanwendungsspeicher die HID-Daten in Einfärbungsdaten umzuwandeln, die an die Anzeigepipeline gesendet werden sollen.
  25. Computerlesbares Medium nach Anspruch 24, wobei das Übertragen von HID-Daten an den und von dem Schreibanwendungsspeicher von der GPU das Weiterleiten der HID-Daten aus der GPU und durch wenigstens eines von einer Computerverarbeitungseinheit (Computer Processing Unit, CPU), einem Betriebssystem, einem Treiber und Middleware umfasst.
DE112016004883.1T 2015-10-26 2016-07-08 Schnelles Einfärben einer Berührungsanzeige Withdrawn DE112016004883T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/923,159 2015-10-26
US14/923,159 US9753557B2 (en) 2015-10-26 2015-10-26 Fast inking a touch display
PCT/US2016/041540 WO2017074524A1 (en) 2015-10-26 2016-07-08 Fast inking a touch display

Publications (1)

Publication Number Publication Date
DE112016004883T5 true DE112016004883T5 (de) 2018-08-16

Family

ID=58558541

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016004883.1T Withdrawn DE112016004883T5 (de) 2015-10-26 2016-07-08 Schnelles Einfärben einer Berührungsanzeige

Country Status (4)

Country Link
US (1) US9753557B2 (de)
CN (1) CN108139859B (de)
DE (1) DE112016004883T5 (de)
WO (1) WO2017074524A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10580111B2 (en) * 2018-03-20 2020-03-03 Microsoft Technology Licensing, Llc Display ink rendering during system sleep
CN111399678A (zh) * 2020-03-06 2020-07-10 广州视源电子科技股份有限公司 数据处理方法、装置和系统、计算机存储介质及相关设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141020A (en) * 1997-11-12 2000-10-31 S3 Incorporated Opposing directional fill calculators in a graphics processor
US6088701A (en) * 1997-11-14 2000-07-11 3Dfx Interactive, Incorporated Command data transport to a graphics processing device from a CPU performing write reordering operations
US6771269B1 (en) * 2001-01-12 2004-08-03 Ati International Srl Method and apparatus for improving processing throughput in a video graphics system
CN104216658B (zh) * 2008-06-30 2017-10-03 上海触乐信息科技有限公司 触摸屏上实现手写笔画输入的方法
US8203527B2 (en) 2009-04-24 2012-06-19 Seiko Epson Corporation Minimizing pen stroke capture latency
US9965094B2 (en) 2011-01-24 2018-05-08 Microsoft Technology Licensing, Llc Contact geometry tests
JP6034138B2 (ja) 2012-11-01 2016-11-30 株式会社東芝 電子機器、筆跡表示方法およびプログラム
US8884906B2 (en) * 2012-12-21 2014-11-11 Intel Corporation Offloading touch processing to a graphics processor
WO2014097303A1 (en) 2012-12-23 2014-06-26 N-Trig Ltd. Touchscreen computing device and method
CN103823628B (zh) * 2013-12-15 2017-01-11 北京工业大学 结合笔压的毛笔字笔锋模拟方法
WO2015108218A1 (ko) * 2014-01-20 2015-07-23 (주)넥셀 그래픽 처리 장치 및 방법
CN106164839B (zh) * 2014-02-04 2019-10-22 触觉实验室股份有限公司 以减小的等待时间提供对输入的视觉响应的方法
CN103927535B (zh) * 2014-05-08 2017-12-08 北京汉仪科印信息技术有限公司 一种汉字书写识别方法及装置
CN104199608B (zh) * 2014-08-20 2019-01-04 Tcl通讯(宁波)有限公司 在触摸终端上快速开启记录的方法及触摸终端
US20160062535A1 (en) * 2014-08-27 2016-03-03 Kabushiki Kaisha Toshiba Electronic apparatus and control method
US9721365B2 (en) * 2014-12-09 2017-08-01 Synaptics Incorporated Low latency modification of display frames

Also Published As

Publication number Publication date
WO2017074524A1 (en) 2017-05-04
US9753557B2 (en) 2017-09-05
CN108139859A (zh) 2018-06-08
US20170115754A1 (en) 2017-04-27
CN108139859B (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
JP6744932B2 (ja) 電子画像におけるコンテンツの識別
TWI374368B (en) Real-time inking
DE102012109959B4 (de) Automatische Vergrößerungs- und Auswahlbestätigung
US11537278B2 (en) Interactively presenting a visible portion of a rendering surface on a user device
JP5242349B2 (ja) 画像表示装置
DE112013004614T5 (de) Gestentastatur mit Gestenannullierung
US9529463B1 (en) Method and device for reducing latency for rendering and displaying stylus strokes
DE112011105901B4 (de) Verfahren und Vorrichtung zur Energieeinsparung für First In First Out (FIF0)-Speicher
CN103578553B (zh) 一种矢量线型快速擦除方法
DE102013209643B4 (de) Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens
DE112012006448T5 (de) Umsetzung einer Berührungseingabe in eine lokale Eingabe auf der Grundlage eines Umsetzungsprofils für eine Anwendung
JP5120125B2 (ja) 画像合成システム、表示制御方法、描画処理装置、及び制御プログラム
US11687704B2 (en) Method, apparatus and electronic device for annotating information of structured document
DE102019127726A1 (de) Für fernarbeitsplatz-anwendungen geeignetes streaming individueller anwendungsfenster
DE112017005001T5 (de) Mit erweiterter realtität gerenderter strukturierter inhalt
DE102015115605A1 (de) Techniken zur Weiterleitung von Abhängigkeiten in einer API
DE102016100469A1 (de) Skalierschaltung zum Erzeugen von Bildern verschiedener Auflösung aus einem einzelnen Bild und Vorrichtungen mit derselben
DE202017105674U1 (de) Steuerung eines Fensters unter Verwendung eines berührungsempfindlichen Rands
CN107817935A (zh) 应用界面的显示方法、装置、终端和计算机可读存储介质
US10075490B2 (en) Information processing apparatus, electronic meeting system, and program
DE112016004883T5 (de) Schnelles Einfärben einer Berührungsanzeige
CN107220351B (zh) 页面留白宽度计算方法、装置、存储介质和电子设备
DE102014118225A1 (de) Tischplatten-Gesten zum Imitieren einer Maussteuerung
CN115878935B (zh) 一种图表的局部刷新方法、系统、装置、设备及介质
DE102016204692A1 (de) Steuerung der Mehrfachauswahl auf berührungsempfindlichen Flächen

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee