DE112018000474T5 - Verfahren und elektronische Vorrichtung zur Datenverarbeitung zwischen mehreren Prozessoren - Google Patents

Verfahren und elektronische Vorrichtung zur Datenverarbeitung zwischen mehreren Prozessoren Download PDF

Info

Publication number
DE112018000474T5
DE112018000474T5 DE112018000474.0T DE112018000474T DE112018000474T5 DE 112018000474 T5 DE112018000474 T5 DE 112018000474T5 DE 112018000474 T DE112018000474 T DE 112018000474T DE 112018000474 T5 DE112018000474 T5 DE 112018000474T5
Authority
DE
Germany
Prior art keywords
data
processor
memory
processing
tile
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.)
Pending
Application number
DE112018000474.0T
Other languages
English (en)
Inventor
Rakie Kim
Min-wook Ahn
Kyung-mok Kum
Keon-Cheol Shin
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE112018000474T5 publication Critical patent/DE112018000474T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)

Abstract

Eine elektronische Vorrichtung kann Folgendes umfassen: einen ersten Speicher zum Speichern erster Daten mit einer bestimmten Rate; einen ersten Prozessor, der mit dem ersten Speicher verbunden und konfiguriert ist, um die ersten Daten in eine Mehrzahl von zweiten Daten zu unterteilen, die jeweils eine Größe aufweisen, die kleiner als die Größe der ersten Daten ist; einen zweiten Speicher zum Speichern des mindestens einen Teils der Mehrzahl von zweiten Daten mit einer Rate, die schneller als die angegebene Rate ist; einen zweiten Prozessor, der mit dem zweiten Speicher verbunden und konfiguriert ist, um den mindestens einen Teil der mehreren zweiten Daten zu verarbeiten; und ein DMA-Steuermodul, das mit dem zweiten Prozessor verbunden ist, zum Senden/Empfangen von Daten zwischen dem ersten Speicher und dem zweiten Speicher, wobei das DMA-Steuermodul konfiguriert ist: zumindest auf der Grundlage eines Verarbeitungsbefehls für die Mehrzahl von zweiten Daten, der vom ersten Prozessor an den zweiten Prozessor übertragen wird, Empfangen des mindestens eines Teils der Mehrzahl von zweiten Daten, die von den ersten Daten aufgeteilt sind, aus dem ersten Speicher; Übertragen des mindestens einen Teils der Mehrzahl von zweiten Daten an den zweiten Prozessor; und Übertragen von dritten Daten, die vom zweiten Prozessor unter Verwendung des mindestens einen Teils der Mehrzahl von zweiten Daten verarbeitet werden, an den ersten Speicher.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf eine elektronische Vorrichtung und ein Verfahren zur Verarbeitung eines Bildes.
  • STAND DER TECHNIK
  • Der Direktspeicherzugriff (DMA) ist eine Technik zur direkten Datenübertragung zwischen Speichern oder einem Speicher und einer Ein-/Ausgabevorrichtung ohne über eine zentrale Verarbeitungseinheit (CPU) zu übertragen.
  • Der DMA benötigt kein Eingreifen der CPU in die Datenübertragung, so dass die CPU andere Aufgaben ausführen kann, was die CPU-Verwaltung verbessert. Somit kann der DMA in einer digitalen Signalverarbeitungsdomäne sinnvoll eingesetzt werden.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • TECHNISCHES PROBLEM
  • Um den DMA zu verwenden, muss ein Code zur Steuerung des DMA in einen Vorgangscode bzw. Operationscode eingefügt werden. Daher müssen Eingangsdaten zu einem Zeitpunkt bereitgestellt werden, zu dem Daten für einen Vorgang benötigt werden, und Ausgangsdaten zu einem Zeitpunkt, zu dem der Vorgang endet. In diesem Fall kann es jedoch zu Problemen kommen, wie nachfolgend beschrieben.
  • Erstens werden der DMA und Bildlageberechnung häufig und üblicherweise in einem Bildverarbeitungsalgorithmus verwendet, und die Wiederholung eines gemeinsamen Codes kann die Wiederverwertbarkeit des Codes beeinträchtigen. Der DMA und die Berechnung der Bildlage erfordern eine direkte Steuerung der Hardware, so dass ein Konstrukteur die Architektur eines Prozessors wie eines digitalen Signalprozessors (DSP) genau kennen muss. Folglich kann es sein, dass der Konstrukteur einen erheblichen Zeitaufwand für die Programmierung des DMA und die Berechnung der Bildlage benötigt.
  • Wenn mehrere Prozessoren in verschiedenen heterogenen Betriebsumgebungen eingesetzt werden, kann es außerdem schwierig sein, die Programmierung so durchzuführen, dass ein Prozessor Parameter an einen anderen Prozessor überträgt.
  • Gemäß verschiedenen Ausführungsformen kann eine Funktion zur Eingabe von Bilddaten vorgesehen werden, die über den DMA während der Verarbeitung eines Bildes zu verarbeiten sind. Darüber hinaus können verschiedene Ausführungsformen der vorliegenden Offenbarung eine elektronische Vorrichtung bereitstellen, die einen Algorithmus ausführt, bei dem ein Bildverarbeitungsbetriebscode und ein DMA-Code in einem System getrennt vorgesehen sind, in dem mehrere Prozessoren in heterogenen Betriebsumgebungen arbeiten.
  • TECHNISCHE LÖSUNG
  • Eine elektronische Vorrichtung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung beinhaltet einen ersten Speicher, der erste Daten mit einer bestimmten bzw. angegebenen Geschwindigkeit speichert, einen ersten Prozessor, der mit dem ersten Speicher verbunden und konfiguriert ist, um die ersten Daten in eine Mehrzahl von zweiten Daten aufzuteilen, die jeweils eine Größe aufweisen, die kleiner als eine Größe der ersten Daten ist, einen zweiten Speicher, der mindestens einige der Mehrzahl von zweiten Daten mit einer Geschwindigkeit speichert, die höher als die bestimmte bzw. angegebene Geschwindigkeit ist, einen zweiten Prozessor, der mit dem zweiten Speicher verbunden und konfiguriert ist, um mindestens einige der Mehrzahl von zweiten Daten zu verarbeiten, und ein Direktspeicherzugriffs (DMA)-Steuermodul, das mit dem zweiten Prozessor verbunden und konfiguriert ist, um Daten zwischen dem ersten Speicher und dem zweiten Speicher zu übertragen und zu empfangen, wobei das DMA-Steuermodul konfiguriert ist, um vom ersten Speicher mindestens einen Teil der Mehrzahl von (größenmäßig) kleineren zweiten Daten zu empfangen, die aus den ersten Daten aufgeteilt werden bzw. wurden, zumindest basierend auf einem Verarbeitungsbefehl in Bezug auf die Mehrzahl von zweiten Daten, der vom ersten Prozessor an den zweiten Prozessor übertragen wird bzw. wurde, um den mindestens einen Teil der Mehrzahl von zweiten Daten an den zweiten Prozessor zu übertragen und um dritte Daten, die vom zweiten Prozessor verarbeitet werden bzw. wurden, unter Verwendung des mindestens einen Teils der Mehrzahl von zweiten Daten, an den ersten Speicher zu übertragen.
  • Ein Steuerverfahren für eine elektronische Vorrichtung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung beinhaltet das Speichern erster Daten in einem ersten Speicher mit einer bestimmten Geschwindigkeit, das Teilen der ersten Daten in eine Mehrzahl von zweiten Daten durch einen ersten Prozessor, der mit dem ersten Speicher verbunden ist, jeweils mit einer Größe, die kleiner als eine Größe der ersten Daten ist, das Speichern von mindestens eines Teils der Mehrzahl von zweiten Daten mit einer Geschwindigkeit, die höher als die angegebene Geschwindigkeit ist, das Verarbeiten von mindestens einigen der Mehrzahl von zweiten Daten durch einen zweiten Prozessor, der mit dem zweiten Speicher verbunden ist, und das Senden und Empfangen von Daten durch ein DMA-Steuermodul, das mit dem zweiten Prozessor verbunden ist, zwischen dem ersten Speicher und dem zweiten Speicher, wobei das DMA-Steuermodul konfiguriert ist, um vom ersten Speicher mindestens einen Teil der Mehrzahl von kleineren zweiten Daten zu empfangen, die von den ersten Daten aufgeteilt werden bzw. sind, mindestens basierend auf einem Verarbeitungsbefehl in Bezug auf die Mehrzahl von zweiten Daten, der vom ersten Prozessor an den zweiten Prozessor übertragen wird bzw. wurde, um den mindestens einen Teil der Mehrzahl von zweiten Daten an den zweiten Prozessor zu übertragen und um dritte Daten, die vom zweiten Prozessor verarbeitet werden bzw. wurden, unter Verwendung des mindestens eines Teils der Mehrzahl von zweiten Daten an den ersten Speicher zu übertragen.
  • VORTEILHAFTE EFFEKTE
  • Gemäß verschiedenen Ausführungsformen ist eine elektronische Vorrichtung und ein Verfahren zur Verarbeitung eines Bildes vorgesehen, bei dem eine Funktion zur Eingabe von Bilddaten, die über den DMA während der Verarbeitung eines Bildes zu verarbeiten sind, bereitgestellt werden kann. Darüber hinaus können verschiedene Ausführungsformen der vorliegenden Offenbarung eine elektronische Vorrichtung und ein Verfahren zur Verarbeitung eines Bildes bereitstellen, das einen Algorithmus ausführt, bei dem ein Bildverarbeitungs-Operationscode bzw. Bildverarbeitungs-Vorgangscode und ein DMA-Code getrennt sind, wenn mehrere Prozessoren in heterogenen Betriebsumgebungen arbeiten.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer elektronischen Vorrichtung und eines Netzwerks gemäß verschiedener Ausführungsformen.
    • 2 ist ein Blockdiagramm einer elektronischen Vorrichtung gemäß verschiedener Ausführungsformen.
    • 3 ist ein Blockdiagramm eines Programmiermoduls nach verschiedenen Ausführungsformen.
    • 4 ist ein Blockdiagramm zur Beschreibung von Host- und Zielumgebungen gemäß einer Ausführungsform.
    • 5 ist ein exemplarisches Diagramm zur Beschreibung eines Konzepts für ein Bild und für eine Eingabekachel bzw. einen Eingangsbildteil gemäß einer Ausführungsform.
    • 6 ist ein exemplarisches Diagramm zur Beschreibung einer Ausgabekachel gemäß einer Ausführungsform.
    • 7 ist ein exemplarisches Diagramm zur Beschreibung der Bildverarbeitung eines zweiten Prozessors gemäß einer Ausführungsform.
    • 8 ist ein Flussdiagramm der Bildverarbeitung gemäß einer Ausführungsform.
    • 9 ist ein exemplarisches Diagramm zur Beschreibung einer Verarbeitung bzw. eines Prozesses, bei dem gleichzeitig das Senden/Empfangen von Kacheln und die Verarbeitung von Kacheln gemäß einer Ausführungsform durchgeführt werden.
    • 10 ist ein exemplarisches Diagramm zur Beschreibung eines Algorithmus zur Implementierung einer Bildverarbeitung zwischen Prozessoren gemäß einer Ausführungsform.
    • 11 ist ein Flussdiagramm, das ein Bildverarbeitungsverfahren einer elektronischen Vorrichtung gemäß einer Ausführungsform veranschaulicht.
  • MODUS BZW. MODI ZUR DURCHFÜHRUNG DER ERFINDUNG
  • Im Folgenden werden verschiedene Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die beigefügten Zeichnungen offengelegt. Ausführungsformen und darin verwendete Begriffe sollen jedoch nicht dazu dienen, die vorliegende Offenbarung auf bestimmte Ausführungsformen zu beschränken, und sie sollte so ausgelegt werden, dass sie verschiedene Änderungen, Äquivalente und/oder Alternativen gemäß den Ausführungsformen der vorliegenden Offenbarung beinhaltet. In Bezug auf die Beschreibung der Zeichnungen können ähnliche Bezugszeichen verwendet werden, um auf ähnliche oder verwandte Elemente zu verweisen. Es ist zu verstehen, dass eine Singularform eines Substantivs, das einem Gegenstand entspricht, eines oder mehrere der Dinge beinhalten kann, es sei denn, der betreffende Kontext weist eindeutig auf etwas anderes hin. In der vorliegenden Offenbarung kann ein Ausdruck wie „A oder B“, „mindestens einer von A oder/und B“ oder „einer oder mehrere von A oder/und B“ alle möglichen Kombinationen von zusammen aufgeführten Positionen beinhalten. Ausdrücke wie „erster“, „zweiter“, „primär“ oder „sekundär“, die hierin verwendet werden, können verschiedene Elemente unabhängig von ihrer Reihenfolge und/oder Bedeutung darstellen und schränken entsprechende Elemente nicht ein. Wenn beschrieben wird, dass ein Element (z.B. ein erstes Element) „funktionsfähig oder kommunikativ mit einem anderen Element (z.B. einem zweiten Element) gekoppelt“ oder „verbunden“ ist, kann das Element direkt mit dem anderen Element verbunden werden oder mit dem anderen Element über ein anderes Element (z.B. ein drittes Element) verbunden werden.
  • Ein in der vorliegenden Offenbarung verwendeter Ausdruck „konfiguriert zu (oder gesetzt)“ kann beispielsweise durch „geeignet für“, „geeignet zu“, „geeignet zu“, „angepasst zu“, „angepasst zu“, „gemacht zu“, „fähig zu“ oder „entworfen zu“ ersetzt werden, je nach Situation. Alternativ kann in einer bestimmten Situation ein Ausdruck „Vorrichtung konfiguriert zu“ bedeuten, dass die Vorrichtung „zusammen mit einer anderen Vorrichtung oder Komponente arbeiten kann“. So kann beispielsweise ein Ausdruck „ein Prozessor, der konfiguriert (oder eingestellt) ist, um A, B und C auszuführen“ ein dedizierter Prozessor (z.B. ein eingebetteter Prozessor) zum Ausführen einer entsprechenden Operation oder ein Universalprozessor (z.B. eine Zentraleinheit (CPU) oder ein Anwendungsprozessor) sein, der eine entsprechende Operation durch Ausführen mindestens eines auf einer Speichervorrichtung gespeicherten Softwareprogramms ausführen kann.
  • Eine elektronische Vorrichtung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann mindestens eines von beispielsweise einem Smartphone, einem Tablet-PC (PC), einem Mobiltelefon, einem Videotelefon, einem E-Book-Lesegerät, einem Desktop-PC, einem Laptop-PC, einem Netbook-Computer, einer Workstation, einem Server, einem Personal Digital Assistant (PDA), einem tragbaren Multimedia-Player (PMP), einem MP3-Player, mobilen medizinischen Geräten, einer Kamera oder einer tragbaren Vorrichtung beinhalten. Beispiele für die tragbare Vorrichtung können mindestens ein Zubehör (z.B. eine Uhr, einen Ring, ein Armband, eine Fußfessel, eine Halskette, eine Brille, Kontaktlinsen, eine Kopfstütze (HMD) usw.), einen Stoff- oder Tuch-integrierten Typ (z.B. elektronische Kleidung usw.), einen körperbefestigten Typ (z.B. ein Hautpolster, eine Tätowierung usw.), eine implantierbare Schaltung oder dergleichen beinhalten. In einigen Ausführungsformen kann die elektronische Vorrichtung beispielsweise mindestens einen Fernseher (TV), einen digitalen Videoplattenspieler (DVD-Player), Audiogeräte, einen Kühlschrank, eine Klimaanlage, einen Staubsauger, einen Backofen, einen Mikrowellenherd, eine Waschmaschine, einen Luftreiniger, eine Set-Top-Box, eine Hausautomationssteuerung, eine Sicherheitssteuerung, eine Medienbox (z.B. Samsung HomeSync™, Apple TV™ oder Google TV™), eine Spielkonsole (z.B. Xbox™ oder PlayStationT), ein elektronisches Wörterbuch, einen elektronischen Schlüssel, einen Camcorder oder einen elektronischen Rahmen beinhalten.
  • In anderen Ausführungsformen kann die elektronische Vorrichtung mindestens eine von verschiedenen medizinischen Geräten beinhalten (z.B, verschiedene tragbare medizinische Messgeräte (ein Blutzuckermessgerät, ein Herzfrequenzmessgerät, ein Blutdruckmessgerät, ein Körpertemperaturmessgerät usw.), Magnetresonanzangiographie (MRA), Magnetresonanztomographie (MRI), Computertomographie (CT), ein Bildgerät oder ein Ultraschallgerät), ein Navigationssystem, ein globales Navigationssatellitensystem (GNSS), ein Ereignisdatenschreiber (EDR), ein Flugdatenschreiber (FDR), ein Fahrzeug-Infotainment-Gerät, elektronische Vorrichtungen für Schiffe (z.B, ein Navigationssystem und Kreiselkompass für Schiffe), Avionik, eine Sicherheitsvorrichtung, eine Fahrzeugkopfeinheit, ein Industrie- oder Haushaltsroboter, ein Geldautomat (ATM), eine Verkaufsstelle (POS), Internet der Dinge (z.B. Glühbirnen, verschiedene Sensoren, Strom- oder Gaszähler, Sprinklergeräte, Brandmeldegeräte, Thermostate, Straßenlaternen, Toaster, Trainingsgeräte, Warmwasserspeicher, Heizungen, Boiler usw.). Gemäß einigen Ausführungsformen kann die elektronische Vorrichtung einen Teil von Möbeln, ein Gebäude/eine Struktur oder einen Teil eines Fahrzeugs, eine elektronische Platine, eine Empfangsvorrichtung für elektronische Unterschriften, einen Projektor und verschiedene Messgeräte (z.B. eine Wasser-, Strom-, Gas-, Elektrowellenmessvorrichtung usw.) beinhalten. Gemäß verschiedenen Ausführungsformen kann die elektronische Vorrichtung flexibel sein oder eine Kombination aus zwei oder mehr der oben beschriebenen verschiedenen Vorrichtungen sein. Gemäß einer Ausführungsform der Offenbarung sind die elektronischen Vorrichtungen nicht auf die oben beschriebenen beschränkt. Dabei kann sich der in verschiedenen Ausführungsformen der vorliegenden Offenbarung verwendete Begriff „Benutzer“ auf eine Person beziehen, die die elektronische Vorrichtung oder eine Vorrichtung, die die elektronische Vorrichtung verwendet (z.B. eine elektronische Vorrichtung mit künstlicher Intelligenz).
  • 1 ist ein Blockdiagramm einer elektronischen Vorrichtung und eines Netzwerks gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. Unter Bezugnahme auf 1 ist eine elektronische Vorrichtung 101 in einer Netzwerkumgebung 100 gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung offenbart. Die elektronische Vorrichtung 101 kann einen Bus 110, einen Prozessor 120, einen Speicher 130, eine Ein-/Ausgabeschnittstelle (I/O) 150, eine Anzeige 160 bzw. ein Display 160 und eine Kommunikationsschnittstelle 170 beinhalten. Gemäß einigen Ausführungsformen kann die elektronische Vorrichtung 101 mindestens eines der vorgenannten Elemente weglassen oder weitere Elemente beinhalten. Der Bus 110 kann eine Schaltung beinhalten, um z.B. die Elemente 110 bis 170 zu verbinden und die Kommunikation (z.B. eine Steuernachricht oder Daten) zwischen den Elementen 110 bis 170 zu übertragen. Der Prozessor 120 kann eine oder mehrere einer zentralen Verarbeitungseinheit (CPU), eines Anwendungsprozessors (AP) und eines Kommunikationsprozessors (CP) beinhalten. Der Prozessor 120 kann Operationen bzw. Verarbeitungen oder Datenverarbeitung zur Steuerung und/oder Kommunikation von beispielsweise mindestens einem weiteren Element der elektronischen Vorrichtung 101 durchführen.
  • Der Speicher 130 kann einen flüchtigen und/oder nichtflüchtigen Speicher beinhalten. Der Speicher 130 kann beispielsweise Anweisungen oder Daten speichern, die mindestens einem anderen Element der elektronischen Vorrichtung 101 zugeordnet sind. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann der Speicher 130 Software und/oder ein Programm 140 speichern. Das Programm 140 kann mindestens eines von beispielsweise einem Kernel 141, einer Middleware 143, einer Anwendungsprogrammierschnittstelle (API) 145 und/oder einem Anwendungsprogramm (oder „Anwendung“) 147 und dergleichen beinhalten. Mindestens ein Teil des Kernels 141, der Middleware 143 und der API 145 kann als Betriebssystem (OS) bezeichnet werden. Der Kernel 141 kann beispielsweise Systemressourcen (z.B. den Bus 110, den Prozessor 120, den Speicher 130 usw.) steuern oder verwalten, die zur Ausführung von Operationen oder Funktionen verwendet werden, die in anderen Programmen implementiert sind (z.B. die Middleware 143, die API 145 oder das Anwendungsprogramm 147). Der Kernel 141 stellt eine Schnittstelle zur Verfügung, über die die Middleware 143, die API 145 oder das Anwendungsprogramm 147 auf einzelne Komponenten der elektronischen Vorrichtung 101 zugreifen, um die Systemressourcen zu steuern oder zu verwalten.
  • Die Middleware 143 kann als Vermittler fungieren, um beispielsweise der API 145 oder dem Anwendungsprogramm 147 den Datenaustausch in Kommunikation mit dem Kernel 141 zu ermöglichen. Darüber hinaus kann die Middleware 143 eine oder mehrere vom Anwendungsprogramm 147 empfangene Aufgabenanforderungen basierend auf Prioritäten verarbeiten. So kann beispielsweise die Middleware 143 eine Priorität für die Nutzung einer Systemressource (z.B. des Busses 110, des Prozessors 120, des Speichers 130 usw.) der elektronischen Vorrichtung 101 an mindestens eines der Anwendungsprogramme 147 vergeben und eine oder mehrere Aufgabenanforderungen verarbeiten. Die API 145 ist eine Schnittstelle, die für die Anwendung 147 zum Steuern einer vom Kernel 141 oder der Middleware 143 bereitgestellten Funktion verwendet wird und kann beispielsweise mindestens eine Schnittstelle oder Funktion (z.B. eine Anweisung) zur Dateisteuerung, Fenstersteuerung, Bildverarbeitung oder Zeichensteuerung beinhalten. Die PO-Schnittstelle 150 kann beispielsweise eine Anweisung oder Dateneingabe von einem Benutzer oder einer anderen externen Vorrichtung an eine oder mehrere andere Komponenten der elektronischen Vorrichtung 101 übertragen oder eine Anweisung oder Daten, die von einer oder mehreren anderen Komponenten der elektronischen Vorrichtung 101 empfangen wurden, an einen Benutzer oder eine andere externe Vorrichtung ausgeben.
  • Die Anzeige 160 kann beispielsweise eine Flüssigkristallanzeige (LCD), eine Leuchtdiodenanzeige (LED), eine organische Leuchtdiodenanzeige (OLED), eine mikroelektromechanische Systemanzeige (MEMS) oder eine elektronische Papieranzeige beinhalten. Die Anzeige 160 kann beispielsweise verschiedene Inhalte (z.B. einen Text, ein Bild, ein Video, ein Symbol und/oder ein Symbol usw.) für Benutzer anzeigen. Die Anzeige 160 kann einen Touchscreen beinhalten und eine Berührung, eine Geste, Nähe oder eine schwebende Eingabe empfangen, z.B. mit einem elektronischen Stift oder einem Teil eines Körpers eines Benutzers. Die Kommunikationsschnittstelle 170 stellt die Kommunikation zwischen der elektronischen Vorrichtung 101 und einer externen Vorrichtung (z.B. der Fahrzeugvorrichtung 102, der elektronischen Vorrichtung 104 oder dem Server 106) her. So kann beispielsweise die Kommunikationsschnittstelle 170 über eine drahtlose Kommunikation oder eine drahtgebundene Kommunikation mit einem Netzwerk 162 verbunden werden, um mit einer externen Vorrichtung (z.B. der zweiten externen elektronischen Vorrichtung 104 oder dem Server 106) zu kommunizieren.
  • Die drahtlose Kommunikation kann ein zellulares Kommunikationsprotokoll beinhalten, das mindestens eines von beispielsweise Long Term Evolution (LTE), LTE advance (LTE-A), Code Division Multiple Access (CDMA), Breitband-CDMA (WCDMA), Universal-Mobilkommunikationssystem (UMTS), Wireless Broadband (WiBro), Global System for Mobile Communications (GSM) und so weiter verwendet. Gemäß einer Ausführungsform kann die drahtlose Kommunikation mindestens eines von Wireless Fidelity (WiFi), Bluetooth, Bluetooth Low Energy (BLE), Zigbee, Nahfeldkommunikation (NFC), magnetische sichere Übertragung (MST), Hochfrequenz (RF) und ein Body Area Network (BAN) beinhalten. Gemäß einer Ausführungsform kann die drahtlose Kommunikation ein globales Navigationssatellitensystem (GNSS) beinhalten. Das GNSS kann beispielsweise mindestens eines von einem globalen Positionierungssystem (GPS), einem globalen Navigationssatellitensystem (Glonass), einem Beidou-Navigationssatellitensystem („Beidou“) und Galileo, dem europäischen globalen satellitengestützten Navigationssystem, beinhalten. Im Folgenden kann „GPS“ austauschbar mit „GNSS“ verwendet werden. Die drahtgebundene Kommunikation kann beispielsweise mindestens einen von einem universellen seriellen Bus (USB), einer hochauflösenden Multimedia-Schnittstelle (HDMI), einem empfohlenen Standard (RS)-232, einer Stromleitungskommunikation, einem einfachen alten Telefondienst (POTS) und so weiter beinhalten. Das Netzwerk 162 kann ein Telekommunikationsnetzwerk beinhalten, beispielsweise mindestens eines von einem Computernetzwerk (z.B. ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN)), Internet und ein Telefonnetz.
  • Jede der ersten externen elektronischen Vorrichtungen 102 und der zweiten externen elektronischen Vorrichtung 104 kann eine Vorrichtung des gleichen Typs oder eines anderen Typs als die elektronische Vorrichtung 101 sein. Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können einige oder alle von der elektronischen Vorrichtung 101 ausgeführten Operationen in einer anderen elektronischen Vorrichtung oder einer Mehrzahl von elektronischen Vorrichtungen (z.B. der elektronischen Vorrichtung 102 oder 104 oder dem Server 106) ausgeführt werden. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann die elektronische Vorrichtung 101, wenn die elektronische Vorrichtung 101 eine Funktion oder einen Dienst automatisch oder auf Anforderung ausführen muss, eine andere Vorrichtung (z.B. die elektronischen Vorrichtungen 102 oder 104 oder den Server 106) auffordern, mindestens einige mit der Funktion oder dem Dienst verbundene Funktionen anstelle oder zusätzlich zur Ausführung der Funktion oder des Dienstes auszuführen. Die andere elektronische Vorrichtung (z.B. die elektronische Vorrichtung 102 oder 104 oder der Server 106) kann die angeforderte Funktion oder Zusatzfunktion ausführen und das Ausführungsergebnis an die elektronische Vorrichtung 101 übertragen. Die elektronische Vorrichtung 101 kann dann das empfangene Ergebnis verarbeiten oder weiterverarbeiten, um die gewünschte Funktion oder Dienstleistung bereitzustellen. Zu diesem Zweck kann beispielsweise Cloud Computing, Distributed Computing oder Client-Server-Computing-Technologie eingesetzt werden.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können die ersten Daten und die zweiten Daten Bilddaten beinhalten, und der erste Prozessor kann konfiguriert sein, um mindestens einen von einem Ort, einer Größe, einer Form oder einer Anzahl von mindestens einigen der Mehrzahl von zweiten Daten basierend auf dem zweiten Speicher zu bestimmen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der mindestens eine Teil der Mehrzahl von zweiten Daten erste Teildaten, zweite Teildaten und dritte Teildaten beinhalten, und der zweite Prozessor ist konfiguriert, um die zweiten Teildaten nach der Verarbeitung der ersten Teildaten zu verarbeiten, und das DMA-Steuermodul kann konfiguriert sein, um die verarbeiteten ersten Teildaten an den ersten Speicher zu übertragen und die dritten Teildaten aus dem ersten Speicher zu empfangen, während der zweite Prozessor die zweiten Teildaten verarbeitet.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können der mindestens eine Teil der Mehrzahl von zweiten Daten in Blöcke unterteilt werden, die jeweils eine gleiche Größe aufweisen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der zweite Prozessor konfiguriert sein, um Verarbeitungsdaten zu empfangen, die Daten zum Einstellen des mindestens eines Teils der Mehrzahl von zweiten Daten und Daten zum Einstellen der Verarbeitung in Bezug auf die mindestens eine Teil der Mehrzahl von zweiten Daten beinhalten, und die Verarbeitungsdaten können einen Ort und eine Größe des mindestens eines Teils der Mehrzahl von zweiten Daten beinhalten, Überschneidung der Verarbeitung in Bezug auf die mindestens eine Teil der Mehrzahl von zweiten Daten, einen Nichtverarbeitungsbereich, eine Verarbeitungsreihenfolge, einen Verarbeitungsort oder eine Kombination derselben.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der zweite Prozessor konfiguriert sein, um den mindestens einen Teil der Mehrzahl von zweiten Daten zu verarbeiten und das DMA-Steuermodul unter Verwendung des Verarbeitungsbefehls und der Verarbeitungsdaten zu steuern.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der mindestens eine Teil der Mehrzahl von zweiten Daten so eingestellt werden, dass sie eine bestimmte Größe aufweisen und vom zweiten Prozessor verarbeitet werden können.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann das DMA-Steuermodul mehrere Kanäle beinhalten, die einen ersten Kanal und einen zweiten Kanal umfassen, und kann konfiguriert sein, um die dritten Teildaten durch den ersten Kanal während der Übertragung der zweiten Teildaten durch den zweiten Kanal zu übertragen, wenn die Übertragung der ersten Teildaten durch den ersten Kanal abgeschlossen ist.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der zweite Prozessor konfiguriert sein, um Bestimmungsdaten zu übertragen, die die dritten Teildaten bestimmen, an das DMA-Steuermodul, und das DMA-Steuermodul kann konfiguriert sein, um den mindestens einen Teil der Mehrzahl von zweiten Daten zu empfangen, die den Bestimmungsdaten aus dem ersten Speicher entsprechen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der zweite Prozessor ferner einen Cache beinhalten, der eine Prozessidentifikation speichert, um die Verarbeitung des zweiten Prozessors in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten und die Verarbeitungsdaten zu identifizieren.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der Verarbeitungsbefehl mit einem Verarbeitungsbefehlsalgorithmus implementiert werden, der das Senden und Empfangen von Daten zwischen dem ersten Prozessor und dem zweiten Prozessor vorschreibt, und der Verarbeitungsbefehlsalgorithmus kann einen Parameter beinhalten, der mindestens einer Verarbeitung in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten, der Anpassung der Verarbeitung, einer ersten Speicheradresse, die einem Teil des ersten Speichers entspricht, oder einer zweiten Speicheradresse, die einem Teil des zweiten Speichers entspricht, entspricht.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können die erste Speicheradresse und die zweite Speicheradresse basierend auf dem ersten Prozessor bestimmt werden, und der erste Prozessor kann konfiguriert sein, um die erste Speicheradresse und die zweite Speicheradresse in Adressen zu übersetzen, die einer Betriebsumgebung des zweiten Prozessors basierend auf dem zweiten Prozessor entsprechen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der erste Prozessor konfiguriert sein, um ein Paket zum Übertragen des Verarbeitungsbefehls zu erzeugen und das Paket an den zweiten Prozessor zu übertragen, und das Paket kann die Prozessidentifikation zum Identifizieren der Verarbeitung des zweiten Prozessors in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten, eine Paketidentifikation zum Identifizieren des Pakets und Daten bezüglich des Parameters beinhalten.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der erste Prozessor konfiguriert sein, um das Paket basierend auf einem First-In First-Output (FIFO)-Algorithmus an den zweiten Prozessor zu übertragen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der zweite Prozessor konfiguriert sein, um den mindestens einen Teil der Mehrzahl von zweiten Daten basierend auf dem Empfang des Pakets zu verarbeiten.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der zweite Prozessor konfiguriert sein, um Informationen über einen Verarbeitungszustand der Mehrzahl von zweiten Daten an den ersten Prozessor zu übertragen.
  • 2 ist ein Blockdiagramm einer elektronischen Vorrichtung 201 gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. Die elektronische Vorrichtung 201 kann die gesamte in 1 dargestellte elektronische Vorrichtung 101 oder einen Teil der in 1 dargestellten elektronischen Vorrichtung 101 bilden. Die elektronische Vorrichtung 201 kann einen oder mehrere Prozessoren (z.B. Anwendungsprozessoren (APs)) 210, ein Kommunikationsmodul 220, ein Teilnehmeridentifikationsmodul (SIM) 224, einen Speicher 230, ein Sensormodul 240, eine Eingabevorrichtung 250, eine Anzeige 260, eine Schnittstelle 270, ein Audiomodul 280, ein Kameramodul 291, ein Energieverwaltungsmodul 295, eine Batterie 296, eine Anzeige 297 und einen Motor 298 beinhalten. Der Prozessor 210 steuert mehrere Hard- oder Softwarekomponenten, die mit dem Prozessor 210 verbunden sind, indem er ein Betriebssystem (OS) oder ein Anwendungsprogramm steuert und die Verarbeitung und Operationen in Bezug auf verschiedene Daten durchführt. Der Prozessor 210 kann beispielsweise mit einem System on Chip (SoC) realisiert werden. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann der Server 210 eine Grafikverarbeitungseinheit (GPU) und/oder einen Bildsignalprozessor beinhalten. Der Prozessor 210 kann mindestens einige der in 2 dargestellten Elemente beinhalten (z.B. das Handymodul 221). Der Prozessor 210 lädt eine Anweisung oder Daten, die von mindestens einem anderen Element (z.B. einem nichtflüchtigen Speicher) empfangen wurden, in einen flüchtigen Speicher, um die Anweisung oder Daten zu verarbeiten, und speichert Ergebnisdaten im nichtflüchtigen Speicher.
  • Das Kommunikationsmodul 220 kann eine Konfiguration aufweisen, die mit der Kommunikationsschnittstelle 170 identisch oder ähnlich ist. Das Kommunikationsmodul 220 kann beispielsweise das Mobilfunkmodul 221, ein WiFi-Modul 223, ein Bluetooth (BT)-Modul 225, ein GNSS-Modul 227, ein NFC-Modul 228 und ein Radiofrequenz (RF)-Modul 229 beinhalten. Das Mobilfunkmodul 221 kann beispielsweise einen Sprachanruf, einen Videoanruf, einen Textdienst oder einen Internetdienst über ein Kommunikationsnetzwerk bereitstellen. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann das Mobilfunkmodul 221 die elektronische Vorrichtung 201 in einem Kommunikationsnetzwerk unter Verwendung der SIM 224 (z.B. einer SIM-Karte) identifizieren und authentifizieren. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann das Zellmodul 221 mindestens eine der Funktionen ausführen, die vom Prozessor 210 bereitgestellt werden können. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann das Zellmodul 221 einen Kommunikationsprozessor (CP) beinhalten. Gemäß einer Ausführungsform können mindestens einige (z.B. zwei oder mehr) des Mobilfunkmoduls 221, des WiFi-Moduls 223, des BT-Moduls 225, des GNSS-Moduls 227 und des NFC-Moduls 228 in einem integrierten Chip (IC) oder IC-Gehäuse enthalten sein. Das RF-Modul 229 kann beispielsweise ein Kommunikationssignal (z.B. ein RF-Signal) senden und empfangen. Das RF-Modul 229 kann einen Sender-Empfänger, ein Endstufenmodul (PAM), einen Frequenzfilter, einen rauscharmen Verstärker (LNA) oder eine Antenne beinhalten. Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung kann mindestens eines der Handymodule 221, das WiFi-Modul 223, das BT-Modul 225, das GNSS-Modul 227 oder das NFC-Modul 228 ein HF-Signal über das separate HF-Modul senden und empfangen. Die SIM 224 kann beispielsweise eine Karte mit einer SIM oder einer eingebetteten SIM beinhalten und eindeutige Identifikationsinformationen (z.B. eine Kartenkennung für integrierte Schaltungen (ICCID) oder Teilnehmerinformationen (z.B. eine internationale mobile Teilnehmeridentität (IMSI)) beinhalten.
  • Der Speicher 230 (z.B. der Speicher 130) kann beispielsweise einen internen Speicher 232 und/oder einen externen Speicher 234 beinhalten. Der interne Speicher 232 kann beispielsweise mindestens einen flüchtigen Speicher (z.B. dynamischer Direktzugriffsspeicher (DRAM), statischer RAM (SRAM), synchroner dynamischer RAM (SDRAM) usw.) oder einen nichtflüchtigen Speicher (z.B. einmalig programmierbarer Nur-Lese-Speicher (OTPROM), programmierbares ROM (PROM), löschbares und programmierbares ROM (EPROM), elektrisch löschbares und programmierbares ROM (EEPROM), Masken-ROM, Flash-ROM, Flash-Speicher und ein Solid-State-Laufwerk (SDRAM) beinhalten. Der externe Speicher 234 kann weiterhin ein Flash-Laufwerk beinhalten, z. B. Compact Flash (CF), Secure Digital (SD), Micro-SD, Mini-SD, Extrem Digital (xD), eine Multimedia-Karte (MMC) oder einen Speicherstick. Der externe Speicher 234 kann funktionell oder physikalisch über verschiedene Schnittstellen mit der elektronischen Vorrichtung 201 verbunden sein.
  • Das Sensormodul 240 misst die physikalische Größe oder erfasst einen Betriebszustand der elektronischen Vorrichtung 201, um die gemessenen oder erfassten Informationen in ein elektrisches Signal umzuwandeln. Das Sensormodul 240 kann beispielsweise mindestens einen von einem Gestensensor 240A, einem Kreiselsensor 240B, einem Drucksensor 240C, einem Magnetsensor 240D, einem Beschleunigungssensor 240E, einem Griffsensor 240F, einem Näherungssensor 240G, einem Farbsensor 240H (z.B. rot/grün/blau (RGB) Sensor), einem biometrischen Sensor 240I, einem Temperatur-/Feuchtesensor 240J, einem Beleuchtungssensor 240K und einem ultravioletten (UV) Sensor 240M beinhalten. Zusätzlich oder alternativ kann das Sensormodul 240 einen E-Nasen-Sensor (nicht dargestellt), einen Elektromyographie-Sensor (EMG) (nicht dargestellt), einen Elektroenzephalogramm-Sensor (EEG) (nicht dargestellt), einen Elektrokardiogramm-Sensor (EKG) (nicht dargestellt), einen Infrarot-Sensor (IR), einen Iris-Sensor und/oder einen Fingerabdrucksensor beinhalten. Das Sensormodul 240 kann ferner eine Steuerschaltung zum Steuern mindestens eines darin enthaltenen Sensors beinhalten. In einigen Ausführungsformen kann die elektronische Vorrichtung 201 ferner einen Prozessor beinhalten, der konfiguriert ist, um das Sensormodul 240 als Teil oder getrennt von dem Prozessor 210 zu steuern, um das Sensormodul 240 während eines Ruhezustands des Prozessors 210 zu steuern.
  • Die Eingabevorrichtung 250 kann beispielsweise ein Touchpanel 252, einen (digitalen) Stift-Sensor 254, einen Schlüssel 256 bzw. eine Taste 256 oder eine Ultraschalleingabevorrichtung 258 beinhalten. Das Touchpanel 252 kann mindestens eines von einem kapazitiven Typ, einem resistiven Typ, einem IR-Typ oder einem Ultraschall-Typ verwenden. Das Touchpanel 252 kann ferner eine Steuerschaltung beinhalten. Das Touchpanel 252 kann ferner eine taktile Schicht beinhalten, um dem Benutzer eine taktile Reaktion zu ermöglichen. Der (digitale) Stift-Sensor 254 kann ein Erkennungsblatt, das Teil des Touch Panels 252 ist, oder ein separates Erkennungsblatt beinhalten. Die Taste 256 kann auch eine physische Taste, einen optischen Schlüssel oder eine Tastatur beinhalten. Die Ultraschalleingabevorrichtung 258 erfasst Ultraschallwellen, die von einem Eingabemittel durch ein Mikrofon (z.B. das Mikrofon 288) erzeugt werden, und überprüft Daten, die den erfassten Ultraschallwellen entsprechen.
  • Die Anzeige 260 (z.B. die Anzeige 160) kann ein Panel 262, eine Hologrammvorrichtung 264, einen Projektor 266 und/oder eine Steuerschaltung zum Steuern derselben beinhalten. Das Panel 262 kann flexibel, transparent oder tragbar ausgeführt werden. Das Panel 262 kann mit dem Touchpanel 252 in einem Modul konfiguriert werden. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann das Panel 262 einen Drucksensor (oder einen „Kraftsensor“) beinhalten, der in der Lage ist, eine Stärke eines Drucks durch Berühren eines Benutzers zu messen. Der Drucksensor kann integral mit dem Touchpanel 252 oder als ein oder mehrere Sensoren getrennt vom Touchpanel 252 implementiert werden. Die Hologrammvorrichtung 264 kann ein stereoskopisches Bild in der Luft unter Verwendung von Lichtstörung zeigen. Der Projektor 266 kann ein Bild auf einer Leinwand durch Projektion von Licht darstellen. Der Bildschirm kann innerhalb oder außerhalb der elektronischen Vorrichtung 201 positioniert werden. Die Schnittstelle 270 kann eine HDMI Schnittstelle 272, eine USB Schnittstelle 274, eine optische Schnittstelle 276 oder eine D-Subminiatur (D-Sub) 278 beinhalten. Die Schnittstelle 270 kann in die in 1 dargestellte Kommunikationsschnittstelle 170 integriert werden. Zusätzlich oder alternativ kann die Schnittstelle 270 eine mobile High-Definition-Link (MHL)-Schnittstelle, eine SD/Multimedia-Karten (MMC)-Schnittstelle oder eine Infrarot Data Association (IrDA)-Schnittstelle beinhalten.
  • Das Audiomodul 280 kann ein Tonsignal und ein elektrisches Signal bidirektional umwandeln. Mindestens ein Element des Audiomoduls 280 kann in die in 1 dargestellte Ein-/Ausgabeschnittstelle 145 eingebunden sein. Das Audiomodul 280 kann die Eingabe oder Ausgabe von Klanginformationen über den Lautsprecher 282, den Empfänger 284, den Kopfhörer 286 oder das Mikrofon 288 verarbeiten. Das Kameramodul 291 kann beispielsweise eine Vorrichtung sein, die in der Lage ist, ein Standbild oder ein bewegtes Bild aufzunehmen, und gemäß einer Ausführungsform einen oder mehrere Bildsensoren (z.B. einen Frontsensor oder einen Hecksensor), ein Objektiv, einen Bildsignalprozessor (ISP) oder einen Blitz (z.B. eine LED, eine Xenonlampe usw.) beinhalten. Das Power-Management-Modul 295 kann die Leistung der elektronischen Vorrichtung 201 verwalten. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann das Power-Management-Modul 295 eine integrierte Power-Management-Schaltung (PMIC), einen Lade-IC oder eine Batterieanzeige beinhalten. Der PMIC kann über ein kabelgebundenes und/oder drahtloses Ladesystem verfügen. Das drahtlose Ladeschema beinhaltet einen Magnetresonanztyp, einen magnetischen Induktionstyp und einen elektromagnetischen Typ, und zum drahtlosen Laden kann eine Zusatzschaltung, beispielsweise eine Spulenschleife, ein Resonanzkreis oder ein Gleichrichter, weiter einbezogen werden. Die Batterieanzeige kann die verbleibende Kapazität der Batterie 296 oder die Spannung, den Strom oder die Temperatur der Batterie 296 während des Ladevorgangs messen. Die Batterie 296 kann beispielsweise eine wiederaufladbare Batterie und/oder eine Solarbatterie beinhalten.
  • Die Anzeige 297 bzw. der Indikator 297 zeigt einen bestimmten Zustand, beispielsweise einen Boot-Zustand, einen Nachrichtenzustand oder einen Ladezustand der elektronischen Vorrichtung 201 oder eines Teils davon (z.B. des Prozessors 210). Der Motor 298 kann ein elektrisches Signal in mechanische Schwingungen umwandeln oder Schwingungen oder einen haptischen Effekt erzeugen. Die elektronische Vorrichtung 201 kann eine Vorrichtung zur Unterstützung des mobilen Fernsehens (z.B. eine GPU) beinhalten, um Mediendaten nach einem Standard wie Digital Multimedia Broadcasting (DMB), Digital Video Broadcasting (DVB) oder MediaFloTM zu verarbeiten. Jedes der vorstehend beschriebenen Elemente kann mit einer oder mehreren Komponenten konfiguriert werden, deren Namen je nach Typ der elektronischen Vorrichtung variieren können. In verschiedenen Ausführungsformen der vorliegenden Offenbarung können einige Komponenten der elektronischen Vorrichtung (z.B. die elektronische Vorrichtung 201) weggelassen werden oder andere Elemente beinhalten, und einige der Komponenten können gekoppelt werden, um eine Einheit zu bilden und Funktionen der Komponenten vor der Kopplung identisch auszuführen.
  • 3 ist ein Blockdiagramm eines Programmiermoduls gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Programmiermodul 310 (z.B. das Programm 140) ein Betriebssystem zum Steuern von Ressourcen beinhalten, die mit einer elektronischen Vorrichtung (z.B. der elektronischen Vorrichtung 101) und/oder verschiedenen Anwendungen (z.B. dem Anwendungsprogramm 147) verbunden sind, die auf dem Betriebssystem ausgeführt werden. Das Betriebssystem kann Android™, iOS™, Windows™, Symbian™, Tizen™, oder Bada™ beinhalten. Unter Bezugnahme auf 3 kann das Programmiermodul 310 einen Kernel 320 (z.B. den Kernel 141), eine Middleware 330 (z.B. die Middleware 143), eine Application Programming Interface (API) 360 (z.B. die API 145) und/oder eine Anwendung 370 (z.B. das Anwendungsprogramm 147) beinhalten. Mindestens ein Teil des Programmiermoduls 310 kann auf eine elektronische Vorrichtung vorgeladen oder von einer externen Vorrichtung (z.B. der elektronischen Vorrichtung 102 oder 104 oder dem Server 106) heruntergeladen werden.
  • Der Kernel 320 kann einen Systemressourcenmanager 321 und/oder einen Gerätetreiber 323 beinhalten. Der Systemressourcenmanager 321 kann die Kontrolle, Zuweisung, Abruf von Systemressourcen usw. durchführen. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann der Systemressourcenmanager 321 eine Prozessmanagementeinheit, eine Speicherverwaltungseinheit oder eine Dateisystemverwaltungseinheit beinhalten. Der Gerätetreiber 323 kann beispielsweise einen Anzeigetreiber, einen Kameratreiber, einen Bluetooth-Treiber, einen Shared-Memory-Treiber, einen USB-Treiber, einen Keypad-Treiber, einen WiFi-Treiber, einen Audiotreiber oder einen IPC-Treiber (Inter-Process Communication) beinhalten. Die Middleware 330 kann Funktionen beinhalten, die die Anwendung 370 üblicherweise benötigt, oder verschiedene Funktionen für die Anwendung 370 über die API 360 bereitstellen, damit die Anwendung 370 eine begrenzte Systemressource in einer elektronischen Vorrichtung nutzen kann. Gemäß einer Ausführungsform kann die Middleware 330 mindestens eine aus einer Laufzeitbibliothek 335, einem Anwendungsmanager 341, einem Fenstermanager 342, einem Multimedia-Manager 343, einem Ressourcenmanager 344, einem Power Manager 345, einem Datenbankmanager 346, einem Paketmanager 347, einem Connectivity Manager 348, einem Benachrichtigungsmanager 349, einem Standortmanager 350, einem Grafikmanager 351 und einem Sicherheitsmanager 352 beinhalten.
  • Die Laufzeitbibliothek 335 kann ein Bibliotheksmodul beinhalten, mit dem ein Compiler eine neue Funktion über eine Programmiersprache hinzufügt, während die Anwendung 370 ausgeführt wird. Die Laufzeitbibliothek 335 führt die Verarbeitung von Ein-/Ausgabeverwaltung, Speicherverwaltung oder Berechnungsfunktionen durch. Der Applikationsmanager 341 kann einen Lebenszyklus der Anwendungen 370 verwalten. Der Window-Manager 342 kann eine grafische Benutzeroberfläche (GUI) verwalten, die in einem Bildschirm verwendet wird. Der Multimedia-Manager 343 kann ein für die Wiedergabe von Mediendateien notwendiges Format erkennen und die Kodierung oder Dekodierung einer Mediendatei unter Verwendung eines für ein entsprechendes Format geeigneten Codecs durchführen. Der Ressourcenmanager 344 kann einen Quellcode oder einen Speicherbereich der Anwendungen 370 verwalten. Der Power Manager 345 kann eine Batterie oder Stromversorgung verwalten und Leistungsinformationen bereitstellen, die für den Betrieb der elektronischen Vorrichtung erforderlich sind. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann der Power Manager 345 mit dem Basic Input/Output System (BIOS) arbeiten. Der Database Manager 346 kann eine Datenbank erzeugen, suchen oder ändern, die für mindestens eine Anwendung unter den Anwendungen 370 verwendet wird. Der Paketmanager 347 kann die Installation oder Aktualisierung einer Anwendung verwalten, die in einem Paketdateiformat verteilt ist. Der Connectivity Manager 348 kann eine drahtlose Verbindung verwalten. Der Benachrichtigungsmanager 349 kann ein Ereignis bereitstellen, z.B. eine eingehende Nachricht, einen Termin, eine Benachrichtigung über die Nähe usw. Der Standortmanager 350 kann Standortinformationen über eine elektronische Vorrichtung verwalten. Der Grafik-Manager 351 kann beispielsweise einen grafischen Effekt verwalten, der einem Benutzer oder einer damit verbundenen Benutzeroberfläche zur Verfügung zu stellen ist. Der Sicherheitsmanager 352 kann beispielsweise Systemsicherheit oder Benutzerauthentifizierung bereitstellen. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann die Middleware 330 ferner einen Telefonie-Manager zur Verwaltung einer Sprach- oder Videoanruffunktion der elektronischen Vorrichtung oder ein Middleware-Modul beinhalten, das eine Kombination von Funktionen der oben beschriebenen Komponenten bildet. Gemäß einer Ausführungsform der vorliegenden Offenbarung kann die Middleware 330 ein für jeden Typ eines Betriebssystems spezifiziertes Modul bereitstellen. Darüber hinaus kann die Middleware 330 einige der vorhandenen Elemente löschen oder neue Elemente dynamisch hinzufügen. Die API 360 kann als ein Satz von API-Programmierfunktionen mit einer je nach Betriebssystem unterschiedlichen Konfiguration bereitgestellt werden. Im Falle von Android oder iOS kann beispielsweise ein API-Set von jeder Plattform und im Falle von Tizen zwei oder mehr API-Sets bereitgestellt werden.
  • Die Anwendung 370 kann eine oder mehrere Anwendungen beinhalten, die eine Funktion bereitstellen können, z. B. eine Heimanwendung 371, eine Dialeranwendung 372, einen Kurznachrichtendienst/Multimedia-Messaging-Service (SMS/MMS) 373, eine Sofortnachrichtenanwendung (IM) 374, eine Browseranwendung 375, eine Kamera-Anwendung 376, eine Alarm-Anwendung 377, eine Kontakt-Anwendung 378, eine Sprachwahl-Anwendung 379, eine E-Mail-Anwendung 380, eine Kalender-Anwendung 381, eine Mediaplayer-Anwendung 382, eine Album-Anwendung 383, eine Uhren-Anwendung 384, eine Gesundheits-Anwendung (e.g., eine Anwendung zum Messen einer Trainingsmenge, eines Blutzuckers usw.) oder eine Umgebungsinformation, die eine Anwendung bereitstellt (z.B. eine Anwendung zum Bereitstellen von Luftdruck-, Feuchtigkeits- oder Temperaturinformationen oder dergleichen). Gemäß einer Ausführungsform kann die Anwendung 370 eine Informationsaustauschanwendung beinhalten, die den Informationsaustausch zwischen der elektronischen Vorrichtung und einer externen elektronischen Vorrichtung unterstützt. Die Anwendung zum Informationsaustausch kann beispielsweise eine Benachrichtigungsrelaisanwendung zum Übertragen bestimmter Informationen an die externe elektronische Vorrichtung oder eine Vorrichtungensverwaltungsanwendung zum Verwalten der externen elektronischen Vorrichtung beinhalten. So kann beispielsweise die Benachrichtigungsrelaisanwendung Benachrichtigungsinformationen, die in einer anderen Anwendung der elektronischen Vorrichtung erzeugt wurden, an eine externe elektronische Vorrichtung übertragen oder Benachrichtigungsinformationen von der externen elektronischen Vorrichtung empfangen und dem Benutzer die Benachrichtigungsinformationen zur Verfügung stellen. Die Vorrichtungenverwaltungsanwendung kann eine Funktion (z.B. Ein-/Ausschalten einer externen elektronischen Vorrichtung selbst (oder eines Teils davon) oder Steuerung der Helligkeit (oder Auflösung) einer Anzeige) einer externen Vorrichtung, die mit der elektronischen Vorrichtung kommuniziert, verwalten (z.B. installieren, entfernen oder aktualisieren), einen Dienst, der von einer Anwendung bereitgestellt wird, die in einer externen elektronischen Vorrichtung arbeitet oder von der externen elektronischen Vorrichtung bereitgestellt wird (z.B. ein Anrufdienst oder ein Nachrichtendienst). Gemäß einer Ausführungsform kann die Anwendung 370 eine Anwendung (z.B. Vorrichtungsanwendung im Gesundheitswesen von mobilen medizinischen Vorrichtungenn) beinhalten, die gemäß einem Attribut der externen elektronischen Vorrichtung gekennzeichnet ist. Gemäß einer Ausführungsform kann die Anwendung 370 eine von der externen elektronischen Vorrichtung empfangene Anwendung beinhalten. Der mindestens eine Teil des Programmiermoduls 310 kann durch Software, Firmware, Hardware (z.B. den Prozessor 210) oder eine Kombination von zwei oder mehreren von ihnen implementiert (z.B. ausgeführt) werden und kann beispielsweise Module, Programme, Routinen, Anweisungssätze oder Prozesse zur Ausführung einer oder mehrerer Funktionen beinhalten.
  • Ein hierin verwendeter Begriff „Modul“ kann beispielsweise eine Einheit bedeuten, die eine oder eine Kombination von zwei oder mehr Hardware, Software und Firmware beinhaltet und austauschbar mit Begriffen wie Logik, einem Logikblock, einem Teil oder einer Schaltung verwendet werden kann. Das „Modul“ kann ein integral konfigurierter Teil, eine minimale Einheit oder ein Teil davon sein, die eine oder mehrere Funktionen erfüllt. Das „Modul“ kann mechanisch oder elektronisch implementiert werden und kann einen anwendungsspezifischen ASIC-Chip, feldprogrammierbare Gate-Arrays (FPGAs) und eine programmierbare Logikvorrichtung beinhalten, die bestimmte, bereits bekannte oder noch zu entwickelnde Operationen durchführt. Mindestens ein Teil einer Vorrichtung (z.B. Module oder Funktionen davon) oder ein Verfahren (z.B. Operationen bzw. Vorgänge) nach verschiedenen Ausführungsformen kann mit einem in einem computerlesbaren Speichermedium (z.B. dem Speicher 130) in Form eines Programmiermoduls gespeicherten Befehl implementiert werden. Wenn die Anweisungen von einem Prozessor (z.B. dem Prozessor 120) ausgeführt werden, kann der Prozessor Funktionen ausführen, die den Anweisungen entsprechen. Das computerlesbare Aufzeichnungsmedium beinhaltet Festplatte, Diskette oder magnetische Medien (z.B. ein Magnetband, optische Medien (z.B. Compact Disc Nur-Lese-Speicher (CD-ROM) oder digitale Vielseitige Disk (DVD), magneto-optische Medien (z.B. Floppy Disk), ein eingebetteter Speicher usw.). Die Anweisungen können einen von einem Compiler erzeugten Code oder einen von einem Interpreter ausführbaren Code beinhalten. Module oder Programmiermodule gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können eines oder mehrere der vorgenannten Elemente beinhalten, einige der vorgenannten Elemente weglassen oder zusätzliche andere Elemente beinhalten. Operationen bzw. Vorgänge, die vom Modul, dem Programm oder einer anderen Komponente gemäß verschiedenen Ausführungsformen ausgeführt werden, können sequentiell, parallel, wiederholt oder heuristisch ausgeführt werden, oder eine oder mehrere der Operationen können in einer anderen Reihenfolge ausgeführt oder weggelassen werden, oder eine oder mehrere andere Operationen können hinzugefügt werden.
  • 4 ist ein Blockdiagramm zur Beschreibung von Host- und Zielumgebungen gemäß einer Ausführungsform.
  • Wie in 4 dargestellt, kann die elektronische Vorrichtung 101 in einer Host-Umgebung 410 und einer Zielumgebung 420 einen ersten Speicher 411, einen ersten Prozessor 412, einen zweiten Speicher 421, einen zweiten Prozessor 422, eine DMA-Steuerung 423 und einen zweiten Speicher 421 beinhalten. Der erste Speicher 411, der erste Prozessor 412, der zweite Speicher 421, der zweite Prozessor 422 und die DMA-Steuerung 423 können über einen Bus 430 miteinander verbunden sein. Der zweite Speicher 421 kann mit dem zweiten Prozessor 422 und der DMA-Steuerung 423 verbunden werden.
  • Der erste Speicher 411 und der erste Prozessor 412 können zur Host-Umgebung 410 gehören, und der erste Speicher 421, die DMA-Steuerung 423 und der zweite Prozessor 422 können zur Zielumgebung 420 gehören.
  • Der erste Speicher 411 kann eine Speichervorrichtung sein, die direkt vom ersten Prozessor 412 oder von der DMA-Steuerung 423 gesteuert wird. Der erste Speicher 411 kann ein externer Speicher sein. Ein Programm oder Daten können im ersten Speicher 411 gespeichert und je nach Bedarf vom ersten Speicher 411 zum zweiten Speicher 421 übertragen werden. Der erste Speicher 411 kann eine größere Speicherkapazität und niedrigere Datenspeicher- und Auslesegeschwindigkeiten aufweisen als der zweite Speicher 421. So kann beispielsweise der erste Speicher 411 eine erste Datenzugriffsgeschwindigkeit aufweisen. Die erste Datenzugriffsgeschwindigkeit kann niedriger sein als eine Datenzugriffsgeschwindigkeit des zweiten Speichers 421, d.h. eine zweite Datenzugriffsgeschwindigkeit. Der erste Speicher 411 kann eine erste Speicherkapazität aufweisen. Die erste Speicherkapazität kann größer sein als eine Speicherkapazität des zweiten Speichers 421, d.h. eine zweite Speicherkapazität. Der erste Speicher 411 kann als Zusatzspeichervorrichtung bezeichnet werden.
  • Der zweite Speicher 421 kann direkt vom ersten Prozessor 421 oder dem zweiten Prozessor 422 gesteuert werden. Der zweite Speicher 421 kann von der DMA-Steuerung 423 DMA-gesteuert werden. Der zweite Speicher 421 kann sich eher auf eine Geschwindigkeit als auf eine Speicherkapazität konzentrieren. Somit kann der zweite Speicher 421 eine kleinere Speicherkapazität und höhere Datenspeicher- und Auslesegeschwindigkeiten aufweisen als der erste Speicher 411. So kann beispielsweise der zweite Speicher 421 die zweite Datenzugriffsgeschwindigkeit und die zweite Speicherkapazität aufweisen. Die zweite Datenzugriffsgeschwindigkeit kann höher sein als die erste Datenzugriffsgeschwindigkeit. Die zweite Speicherkapazität kann kleiner sein als die erste Speicherkapazität. Der zweite Speicher 421 kann als Hauptspeichervorrichtung bezeichnet werden.
  • Der erste Prozessor 412 kann die im ersten Speicher 411 gespeicherten Daten lesen, die Lesedaten basierend auf einem gespeicherten Befehl berechnen und die berechneten Daten im ersten Speicher 411 speichern. Der erste Prozessor 412 kann einen Befehl zum Ausführen einer bestimmten Operation an den zweiten Prozessor 422 bereitstellen. Der erste Prozessor kann eine CPU sein.
  • Der zweite Prozessor 422 kann die im zweiten Speicher 421 gespeicherten Daten lesen, die Lesedaten basierend auf einem gespeicherten Befehl berechnen und die berechneten Daten im zweiten Speicher 421 speichern. Der zweite Prozessor 422 kann Daten im oder vom ersten Speicher 411 über die DMA-Steuerung 423 speichern oder lesen. Der zweite Prozessor 422 kann ein digitaler Signalprozessor (DSP) sein. Der zweite Prozessor 422 kann ein Prozessor sein, der für die digitale Signalverarbeitung zuständig ist. Der erste Prozessor 412 kann ein Universalprozessor sein, während der zweite Prozessor 422 ein digitaler Signalverarbeitungs-Prozessor sein kann, der in der Lage ist, Hochgeschwindigkeitsberechnungen durchzuführen und kompliziert ist. Der zweite Prozessor 422 kann Grundfunktionen wie Filterung, Fourier-Transformation, Berechnung einer Korrelationsfunktion, Kodierung, Modulation/Demodulation, Differenzierung, Integration und adaptive Signalverarbeitung ausführen. Wenn sich der zweite Prozessor 422 in der Zielumgebung 420 befindet, kann der zweite Prozessor 422 einen Befehl zum Ausführen einer bestimmten Operation vom ersten Prozessor 412 der Hostumgebung 410 empfangen und die bestimmte Operation gemäß dem Befehl ausführen.
  • Die DMA-Steuerung 423 kann Daten zwischen dem ersten Speicher 411 und dem zweiten Speicher 421 übertragen. Die DMA-Steuerung 423 kann eine Datenbewegung zwischen dem ersten Speicher 411 und dem zweiten Speicher 421 ohne Eingriff des ersten Prozessors 412 oder des zweiten Prozessors 422 ermöglichen.
  • Der Bus 430 kann ein Pfad sein, in dem sich Daten zwischen dem ersten Speicher 411, dem zweiten Prozessor 412, der DMA-Steuerung 423 und dem zweiten Prozessor 422 bewegen. Der Bus 430 kann dem Bus 110 der elektronischen Vorrichtung 101 in 1 entsprechen. Der Bus 430 von 4 kann als Datenbewegungspfad basierend auf DMA fungieren.
  • 5 ist ein exemplarisches Diagramm zur Beschreibung eines Konzepts für ein Bild und für eine Eingabekachel bzw. einen Eingangsbildteil gemäß einer Ausführungsform.
  • Die elektronische Vorrichtung 101 kann die Eigenschaften eines Bildes durch Bildverarbeitung mit dem ersten Prozessor 412 oder dem zweiten Prozessor 422 ändern. Beispielsweise können Arten der Bildverarbeitung Unschärfe, Schärfe, Eckenerkennung usw. beinhalten. Die Bildverarbeitung kann eine Unschärfe-, Schärfungs- und Eckenerkennung beinhalten, die vom ersten Prozessor 412 oder dem zweiten Prozessor 422 an dem Bild durchgeführt wird. Genauer gesagt, kann der erste Prozessor 412 oder der zweite Prozessor 422 in der Bildverarbeitung einen Filter oder Funktionen anwenden, die einer Art der Bildverarbeitung entsprechen, auf Pixel des Bildes. Hierunter kann die Verarbeitung oder Datenverarbeitung als Bildverarbeitung oder Bildverarbeitung in Bezug auf Bilddaten verstanden werden.
  • Die Bildverarbeitung kann durch den ersten Prozessor 412 oder den zweiten Prozessor 422 in der Einheit einer Kachel durchgeführt werden. Daten des Bildes können in eine Mehrzahl von Neigungsdaten mit einer geringen Größe unterteilt werden, und die Daten des Bildes können verarbeitet werden, wenn die Mehrzahl von Kacheldaten sequentiell verarbeitet wird. Die Daten des Bildes können verarbeitet werden, da mindestens ein Teil der Mehrzahl von Kacheldaten verarbeitet wird.
  • Unter Bezugnahme auf 5 kann beispielsweise ein Bild 500 durch den ersten Prozessor 412 oder den zweiten Prozessor 422 in eine Mehrzahl von Kacheln 510 unterteilt werden. Der erste Prozessor 412 oder der zweite Prozessor 422 kann einige oder alle Kacheln aus der Mehrzahl der Kacheln 510 auswählen und die ausgewählten Kacheln 520 verarbeiten.
  • Der erste Prozessor 412 oder der zweite Prozessor 422 kann das Bild 500 in die Mehrzahl der Kacheln 510 unterteilen, um das im ersten Speicher 411 gespeicherte Bild 500 zu verarbeiten. Jede Kachel 510 kann ein bestimmter Teil des für die Bildverarbeitung in Bezug auf das Bild 500 geteilten Bildes 500 sein. Das Bild 500 kann mehrere Pixel beinhalten. Jede der Mehrzahl von Kacheln 510 kann ein einzelnes Pixel oder eine Mehrzahl von Pixeln beinhalten. Jede der Mehrzahl von Kacheln 510 ist eine Einheit der Bildverarbeitung, und die Bildverarbeitung kann auf jeder Kachel durch den ersten Prozessor 412 oder den zweiten Prozessor 422 durchgeführt werden. Gemäß einem Verfahren zum Teilen des Bildes 500 kann die Mehrzahl der Kacheln 510 verschiedene Formen aufweisen. In 5 kann das Bild 500 in insgesamt 6x4=24 Rechteckkacheln 510 bzw. -teile unterteilt werden.
  • Der erste Prozessor 412 oder der zweite Prozessor 422 kann aus der Mehrzahl der Kacheln 510 ein Ziel auswählen, das der Bildverarbeitung unterzogen werden soll. Die ausgewählte mindestens eine Kachel 510 kann als Eingabekachel 520 bezeichnet werden. So kann beispielsweise der erste Prozessor 412 oder der zweite Prozessor 422 einen Teil der Mehrzahl der Kacheln 510 als Eingabekachel 520 auswählen. Der erste Prozessor 412 oder der zweite Prozessor 422 kann die gesamte Mehrzahl der Kacheln 510 als Eingabekachel 520 auswählen. Als Eingabekachel 520 kann eine einzelne Kachel oder eine Mehrzahl von Kacheln aus der Mehrzahl von Kacheln 510 nacheinander ausgewählt werden. Eine Kachel, die als Eingabekachel 520 aus der Mehrzahl der Kacheln 510 ausgewählt ist, kann aus Verarbeitungsdaten bestimmt werden. Die Verarbeitungsdaten können später beschrieben werden.
  • Als solches kann ein Verfahren, bei dem der erste Prozessor 412 oder der zweite Prozessor 422 das Bild 500 in die Mehrzahl der Kacheln 510 teilt und einige oder alle der Mehrzahl der Kacheln 510 ausgewählt werden, als Bestimmen (Berechnen) einer Kachel(n) verstanden werden. Der erste Prozessor 412 oder der zweite Prozessor 422 kann eine Kachel bzw. ein Teilbild berechnen, um das Bild 500 zu verarbeiten. Die Berechnung der Kachel kann das Bestimmen der Größe jeder der Mehrzahl von Kacheln 510, die die Eingabekachel 520 sein soll, beinhalten (Bestimmen einer Größe jeder Kachel) und das Bestimmen, welche Kachel aus der Mehrzahl von Kacheln 510 des Bildes 500 als die Kachel mit der Größe bestimmt werden soll (Bestimmen einer Position der Kachel). Durch das Bestimmen der Kachel bzw. des Teilbildes kann der erste Prozessor 412 oder der zweite Prozessor 422 mindestens einen von einem Ort, einer Größe, einer Form oder der Anzahl der zu verarbeitenden Kacheln bestimmen.
  • Die Eingabekachel 520 kann vom DMA-Controller 423 aus dem ersten Speicher 411 gelesen und im zweiten Speicher 421 gespeichert werden, und die Eingabekachel 520 kann im zweiten Speicher 421 zwischengespeichert werden, bis sie vom zweiten Prozessor 422 gelesen wird. Dabei kann die DMA-Steuerung 423 durch den ersten Prozessor 412 oder den zweiten Prozessor 422 gesteuert werden, um die Eingabekachel 520 zu lesen und zu speichern. Der zweite Speicher 421 weist eine geringere Speicherkapazität und eine höhere Zugriffsgeschwindigkeit als der erste Speicher 411 auf, so dass die Eigenschaften der im zweiten Speicher 421 zwischengespeicherten Eingabekachel 520 von den Eigenschaften des zweiten Speichers 421 abhängen können. Die Merkmale der Eingabekachel 520 können mindestens eine von einer Position, einer Größe, einer Form und der Anzahl der Eingabekacheln 520 beinhalten, und die Merkmale des zweiten Speichers 421 können eine Speicherkapazität und eine Zugriffsgeschwindigkeit des zweiten Speichers 421 beinhalten. So kann es beispielsweise erforderlich sein, dass der erste Prozessor 412 oder der zweite Prozessor 422 eine Größe jeder Eingabekachel 520 berechnet und bestimmt, um die Speicherkapazität des zweiten Speichers 421 nicht zu überschreiten.
  • Für die Kachelteilung und -auswahl muss der erste Prozessor 412 oder der zweite Prozessor 422 die Größe einer Einheitskachel und die Positionen der zu verarbeitenden Kacheln im Bild 500 kennen. Der erste Prozessor 412 oder der zweite Prozessor 422 kann einen Bereich und eine Form jeder der Mehrzahl von geteilten Kacheln 510 basierend auf der Größe der Einheitskachel (Kachelteilung) bestimmen und die Eingabekachel 520 aus der Mehrzahl von Kacheln 510 basierend auf den Positionen der zu verarbeitenden Kacheln (Kachelauswahl) bestimmen. Der erste Prozessor 412 oder der zweite Prozessor 422 kann eine Kachelberechnung einschließlich Kachelteilung und Kachelauswahl durchführen.
  • Dabei können die Verarbeitungsdaten die Größe der Einheitskachel und die Positionen der zu verarbeitenden Kacheln beinhalten. Der erste Prozessor 412 oder der zweite Prozessor 422 kann eine Kachelberechnung basierend auf den Verarbeitungsdaten bzw. Prozessdaten durchführen. Die Übertragung der Verarbeitungsdaten an den ersten Prozessor 412 oder den zweiten Prozessor 422 kann durch Empfangen der Verarbeitungsdaten von einem Benutzer der elektronischen Vorrichtung 101 über eine Anwendungsprogrammierschnittstelle (API) erfolgen.
  • Der erste Prozessor 412 oder der zweite Prozessor 422 können die DMA-Steuerung 423 steuern, um die aus der Kachelberechnung bestimmte Eingabekachel 520 vom ersten Speicher 411 in den zweiten Speicher 421 zu verschieben. Die aus der Kachelberechnung ermittelte Eingabekachel 520 kann von der DMA-Steuerung 423 im zweiten Speicher 421 gespeichert werden. Danach kann die im zweiten Speicher 421 gespeicherte Eingabekachel 520 aus dem zweiten Speicher 421 gelesen und vom zweiten Prozessor 422 verarbeitet werden.
  • Der zweite Prozessor 422 kann einige oder alle der Mehrzahl der Kacheln 510 verarbeiten. Wenn die Eingabekachel 520 aus dem ersten Speicher 411 in den zweiten Speicher 421 gespeichert ist, kann der zweite Prozessor 422 die Eingabekachel 520 aus dem zweiten Speicher 421 lesen und die Eingabekachel 520 verarbeiten, wodurch eine Ausgabekachel 610 erzeugt wird. Dabei kann die Eingabekachel 520 einen Teil oder die gesamte Mehrzahl der Kacheln 510 beinhalten.
  • Der erste Prozessor 412 oder der zweite Prozessor 422 kann mit den Verarbeitungsdaten versehen werden. Die Verarbeitungsdaten können erste Verarbeitungsdaten zum Einstellen der Eingabekachel 520 aus der Mehrzahl der Kacheln 510 des Bildes 500 und zweite Verarbeitungsdaten zum Einstellen der Verarbeitung beinhalten.
  • Die ersten Verarbeitungsdaten zum Einstellen der Eingabekachel 520 können eine Position und eine Größe zum Einstellen der Eingabekachel 520 beinhalten. Die ersten Verarbeitungsdaten können Informationen über Anforderungen beinhalten, die zum Speichem oder Lesen einer Kachel im oder aus dem Speicher 411 erforderlich sind. Die Lage und Größe der ersten Verarbeitungsdaten kann für die Kachelnberechnung verwendet werden. Genauer gesagt, können die ersten Verarbeitungsdaten einen Ort und eine Größe beinhalten, die zum Lesen der Eingabekachel 520 aus dem ersten Speicher 411 oder zum Speichern der Ausgabekachel 610 im ersten Speicher 411 erforderlich sind.
  • Die zweiten Verarbeitungsdaten zur Verarbeitung der Eingabekachel 520 können eine Überlappung und einen Nichtverarbeitungsbereich zwischen den Eingabekacheln 520 sowie einen Prozessauftrag und einen Verarbeitungsort der Eingabekachel 520 beinhalten. Das heißt, die zweiten Verarbeitungsdaten können ein Verarbeitungsverfahren, eine Verarbeitungsart (z.B. Unschärfe, Schärfe und Eckenerkennung) usw. beinhalten, die sich auf die Verarbeitung der Eingabekachel 520 beziehen. So können sich beispielsweise die zweiten Verarbeitungsdaten auf eine Reihenfolge des Lesens der Eingabekachel 520 aus dem ersten Speicher 411, eine Reihenfolge des Speicherns der Ausgabekachel 610 aus dem ersten Speicher 411 oder eine Art der Bildverarbeitung beziehen, die auf die Eingabekachel 520 anzuwenden ist.
  • Die Position zum Einstellen der Eingabekachel 520 kann zugeordnet werden, wobei im ersten Speicher 411 die Mehrzahl der Kacheln 510, die die Eingabekachel 520 sein können, vorhanden ist. So kann beispielsweise die Position eine Adresse(n) aus der Mehrzahl der Kacheln 510 sein, die als Eingabekachel 520 im ersten Speicher 411 ausgewählt wurde.
  • Die Größe zum Einstellen der Eingabekachel 520 kann einem Raum zugeordnet werden, der von der Eingabekachel 520 im ersten Speicher 411 belegt wird. So kann beispielsweise die Größe eine Speicherkapazität beinhalten, die der Eingabekachel 520 zugeordnet ist, die an der Adresse des ersten Speichers 411 gespeichert ist.
  • 6 ist ein exemplarisches Diagramm zur Beschreibung einer Ausgabekachel gemäß einer Ausführungsform.
  • Die zweiten Verarbeitungsdaten zur Einstellung der Verarbeitung, die in den Verarbeitungsdaten enthalten sind, können einen überlappenden Bereich 601 und einen nicht verarbeitenden Bereich beinhalten, die zwischen einer ersten Kachel 510-1 und einer zweiten Kachel 510-2 liegen.
  • Der überlappende Bereich zur Einstellung der Verarbeitung kann ein überlappender Bereich zwischen benachbarten Kacheln sein. Das Bild 500 kann in die Mehrzahl der Kacheln 510 unterteilt werden. Wie in 6(a) dargestellt, kann das Bild 500 die Eingabekachel 520 beinhalten.
  • Das Bild 500 kann so aufgeteilt werden, dass benachbarte Kacheln sich überlappen. Wie in 6(b) dargestellt, können die erste Kachel 510-1 und die zweite Kachel 510-2, die benachbarte geteilte Kacheln 510 sind, einen überlappenden Bereich 601 dazwischen beinhalten.
  • Wenn der zweite Prozessor 422 eine beliebige Eingabekachel 520 verarbeitet, kann es sein, dass ein ungültiges Kantenpixel 612-1 aufgrund der Abwesenheit eines Nachbarpixels nicht verarbeitet werden kann. Das ungültige Bereichskantenpixel 612-1 kann in eine als nächstes verarbeitete Kachel aufgenommen werden, und die Position und Größe der nächsten Eingabekachel 520 kann so bestimmt werden, dass das ungültige Bereichskantenpixel 612-1 in der nächsten Eingabekachel 520 enthalten ist. Wenn das ungültige Bereichskantenpixel 612-1 in der nächsten Eingabekachel 520 enthalten ist, kann der überlappende Bereich 601 erzeugt werden. Die zweiten Verarbeitungsdaten bezüglich der Überlappung zur Einstellung der Verarbeitung können das Vorhandensein/Fehlen des Überlappungsbereichs 601 oder eines Bereichs des Überlappungsbereichs 601 zwischen benachbarten Eingabekacheln 520 anzeigen oder bestimmen.
  • Der nicht verarbeitende Bereich zum Einstellen der Verarbeitung kann ein Bereich von Pixeln sein, der sich an einer Kante der Ausgabekachel 610 befindet. Wie in 6(c) dargestellt, kann bei der Verarbeitung der Eingabekachel 520 durch den zweiten Prozessor 422 die Ausgabekachel 610 erzeugt werden. Die Ausgabekachel 610 kann einen gültigen Bereich 611 beinhalten, in dem sich verarbeitete Pixel befinden, und einen ungültigen Bereich 612, in dem sich unverarbeitete Pixel befinden. Gemäß einer Art der Bildverarbeitung, die auf die Eingabekachel 520 angewendet wird, kann ein Filter 620 in einer 3x3-Form auf jedes Pixel des gültigen Bereichs 611 und des ungültigen Bereichs 612 der Ausgabekachel 610 angewendet werden. Der zweite Prozessor 422 kann den Filter 620 auf ein gültiges Kantenpixel 611-1 anwenden, das sich an einer Kante des gültigen Bereichs 611 befindet, zusammen mit einem Pixel des benachbarten ungültigen Bereichs 612. Der zweite Prozessor 422 kann den Filter 620 auf ein Kantenpixel 612-1 anwenden, das sich an einer Kante des ungültigen Bereichs 612 befindet. Denn ein Bereich, auf den der Filter 620 angewendet wird, überschreitet eine Grenze einer Kachel, so dass benachbarte Pixel, die zusammen mit dem ungültigen Bereich Kantenpixel 612-1 verarbeitet werden können, nicht existieren. Wie vorstehend ausgeführt, kann das Vorhandensein des ungültigen Bereichs 612 in der Ausgabekachel 610 ein Grund für die Berücksichtigung des überlappenden Bereichs 601 zwischen den benachbarten Kacheln 510-1 und 510-2 sein.
  • Unter Bezugnahme auf 5 können die zweiten Verarbeitungsdaten zum Einstellen der Verarbeitung in Bezug auf die Eingabekachel 520 einen Prozessauftrag bzw. Verarbeitungsauftrag und einen Verarbeitungsort der Eingabekacheln 520 beinhalten.
  • Die Verarbeitungsreihenfolge kann eine Reihenfolge des Zugriffs auf alle oder einen Teil der Mehrzahl von Kacheln 510 sein, die vom Bild 500 getrennt sind. Der Zugriff kann DMA durch die DMA-Steuerung 423 beinhalten. Das heißt, die Prozessreihenfolge kann eine Lesereihenfolge der von der DMA-Steuerung 423 im ersten Speicher 411 gespeicherten Eingabekachel 520 und eine Speicherreihenfolge der Ausgabekachel 610 im ersten Speicher 411 vom DMA-Controller 423 bzw. von der DMA-Steuerung 423 beinhalten. Alle oder ein Teil der Mehrzahl von Kacheln 510 kann durch Berechnen des ersten Prozessors 412 oder des zweiten Prozessors 422 als Eingabekachel 520 ausgewählt werden, und die ausgewählte Eingabekachel 520 kann aus dem ersten Speicher 411 nacheinander einzeln oder mehrfach durch die DMA-Steuerung 423 gelesen werden, und die gelesene Eingabekachel 520 kann durch den zweiten Prozessor 422 verarbeitet werden, und jedes Prozessergebnis, die Ausgangskachel 610, kann im ersten Speicher 511 durch die DMA-Steuerung 423 gespeichert werden. In diesem Fall kann der Prozessauftrag berücksichtigen, auf welche Eingabekachel 520 zuerst zugegriffen werden soll und welche Eingabekachel 520 später im ersten Speicher 411 zugegriffen werden soll. Die Verarbeitungsreihenfolge kann auch berücksichtigen, welche Ausgabekachel 610 zuerst gespeichert werden soll und welche Ausgabekachel 610 später im ersten Speicher 411 gespeichert werden soll.
  • Der Verarbeitungsort kann eine Adresse eines Speichers bedeuten, in dem eine Funktion zur Bildverarbeitung vorhanden ist, die vom zweiten Prozessor 422 auf die Eingabekachel 520 anzuwenden ist. Die Funktion kann von einer Art der Bildverarbeitung abhängen, die auf die Eingabekachel 520 angewendet wird. Somit kann sich ein Standort der Funktion, d.h. eine Speicheradresse der Funktion, je nach Art der Bildverarbeitung unterscheiden. Genauer gesagt, kann der Verarbeitungsort eine Adresse einer Funktion des Filters 620 sein, die im ersten Speicher 411 gespeichert ist. Wenn beispielsweise eine Art der Bildverarbeitung verschwimmt, kann eine Adresse des ersten Speichers 411, in dem eine Funktion des Filters 620 bezüglich der Unschärfe gespeichert ist, dem Verarbeitungsort entsprechen.
  • Die Verarbeitungsdaten können in einem Cache gespeichert werden. Der zweite Prozessor 422 kann den Cache beinhalten, der in der Lage ist, zugehörige Daten für eine schnelle Bildverarbeitung zu speichern. Im Cache kann die Prozesskennung zur Identifizierung jeder Bildprozessoperation, die vom zweiten Prozessor 422 durchgeführt werden soll, gespeichert werden. Die Verarbeitungsdaten, die von einem Benutzer über die API bereitgestellt werden, können je nach Bildverarbeitungsvorgang variieren. Somit können sich die Verarbeitungsdaten mit der Prozessidentifikation ändern, die jeden Bildprozess-Vorgang identifiziert.
  • Die Prozessidentifikation zusammen mit den Verarbeitungsdaten kann im Cache in Form einer Tabelle abgelegt werden. Die Prozessidentifikation kann mit den Verarbeitungsdaten verknüpft sein oder mit diesen übereinstimmen, die mindestens einen der Prozessaufträge, den Verarbeitungsort, den Standort der Eingabekachel 520, die Größe der Eingabekachel 520 oder die Überlappung zwischen den Eingabekacheln 520 beinhalten, die erforderlich sind, damit ein Bildverarbeitungsvorgang aktuell durchgeführt werden kann.
  • So kann beispielsweise eine erste Prozesskennung, die eine erste Bildverarbeitungsoperation in Bezug auf ein erstes Bild anzeigt, den ersten Verarbeitungsdaten zugeordnet werden oder mit diesen übereinstimmen, die für die erste Bildverarbeitungsoperation erforderlich sind. Das zugehörige oder übereinstimmende Ergebnis kann im Cache gespeichert werden. Als nächstes kann eine zweite Prozesskennung, die eine zweite Bildverarbeitungsoperation in Bezug auf ein zweites Bild anzeigt, das sich vom ersten Bild unterscheidet, den zweiten Verarbeitungsdaten zugeordnet werden oder mit diesen übereinstimmen, die für die zweite Bildverarbeitungsoperation erforderlich sind, und das zugehörige oder passende Ergebnis kann im Cache gespeichert werden. Der zweite Prozessor 422 kann die Verarbeitung des ersten Bildes durch den ersten Bildverarbeitungsvorgang beenden und dann mit der Verarbeitung des zweiten Bildes durch den zweiten Bildverarbeitungsvorgang beginnen.
  • Der erste Prozessor 412 kann einen Befehl zum Durchführen einer Bildverarbeitung in Bezug auf die Eingabekachel 520 an den zweiten Prozessor 422 bereitstellen. Der erste Prozessor 412 kann einen Befehl zum Ausführen einer bestimmten Operation an den zweiten Prozessor 422 bereitstellen. Der erste Prozessor 412 kann den zweiten Prozessor 422 steuern, um einen Bildverarbeitungsvorgang durchzuführen. Sobald der erste Prozessor 412 dem zweiten Prozessor 422 einen Verarbeitungsbefehl zur Verfügung stellt, kann der zweite Prozessor 422 die im zweiten Speicher 421 gespeicherte Eingabekachel 520 von der DMA-Steuerung 423 lesen und eine Bildverarbeitung in Bezug auf die gelesene Eingabekachel 520 durchführen.
  • Der Verarbeitungsbefehl kann sich auf alle Operationen beziehen, die die Bildverarbeitung durch den zweiten Prozessor 422 vom Beginn der Verarbeitung bis zum Ende der Verarbeitung betreffen, einschließlich Aspekte von Operationen bzw. Vorgängen. So können beispielsweise die gesamten Vorgänge das Senden und Empfangen von Daten zwischen dem ersten Prozessor 412 und dem zweiten Prozessor 422 beinhalten. Der Verarbeitungsbefehl kann eine Art der Bildverarbeitung, die zu verarbeitende Eingabekachel 510 und eine Speicheradresse beinhalten. Der Verarbeitungsbefehl kann auch die Steuerung der DMA-Steuerung 423 durch den zweiten Prozessor 422 betreffen. Der Verarbeitungsbefehl kann Informationen über die Einstellung der Bildverarbeitung enthalten. Die Einstellung kann das Steuern des zweiten Prozessors 422 beinhalten, um die Eingabekachel 520 mit einer bestimmten Größe zu empfangen.
  • Der zweite Prozessor 422 kann eine Bildverarbeitung in Bezug auf die aus den Verarbeitungsdaten bestimmte Eingabekachel 520 durchführen. Gleichzeitig, wenn der zweite Prozessor 422 ein Bild verarbeitet, kann die Eingabekachel 520 vorbereitet werden. Nach oder zumindest gleichzeitig mit der Vorbereitung der Eingabekachel 520 kann der zweite Prozessor 422 die Bildverarbeitung in Bezug auf die Eingabekachel 520 abschließen. Nach oder zumindest gleichzeitig mit Abschluss der Bildverarbeitung in Bezug auf die Eingabekachel 520 oder Erzeugung der Ausgabekachel 610 kann der zweite Prozessor 422 die nächste Eingabekachel 520 empfangen und die Bildverarbeitung in Bezug auf die nächste Eingabekachel 520 durchführen.
  • Die DMA-Steuerung 423 kann mit dem ersten Speicher 411, dem zweiten Speicher 421, dem ersten Prozessor 412 und dem zweiten Prozessor 422 verbunden sein. Die DMA-Steuerung 423 kann den ersten Speicher 411 und den zweiten Speicher 421 so steuern, dass Daten bezüglich der Eingabekachel 520 und der Ausgabekachel 610 zwischen dem ersten Speicher 411 und dem zweiten Speicher 421 übertragen oder empfangen werden. Das Senden und Empfangen der DMA-Steuerung 423 kann durch Steuern des ersten Prozessors 412 und/oder des zweiten Prozessors 422 erfolgen.
  • Die DMA-Steuerung 423 kann die Eingabekachel 520 gemäß der Steuerung des ersten Prozessors 411 oder des zweiten Prozessors 421 lesen. Die DMA-Steuerung 423 kann eine Bedingung der Eingabekachel 520 empfangen, die vom ersten Prozessor 411 oder dem zweiten Prozessor 421 berechnet wurde, um die Eingabekachel 520 zu lesen. Die DMA-Steuerung 423 kann kontinuierlich einen Teil des im ersten Speicher 411 gespeicherten Bildes 500 lesen, der dem Zustand der berechneten Eingabekachel 520 entspricht. Die DMA-Steuerung 423 kann den kontinuierlich gelesenen Teil des Bildes 500 in den zweiten Speicher 421 übertragen. Die DMA-Steuerung 423 kann die von der Eingabekachel 520 erzeugte Ausgabekachel 610 aus dem zweiten Speicher 421 in den ersten Speicher 411 übertragen.
  • Die Eingabekachel 520 kann im zweiten Speicher 421 gespeichert werden, der an den zweiten Prozessor 422 angrenzt, da eine Geschwindigkeit des Datenzugriffs auf den zweiten Speicher 421 des zweiten Prozessors 422 hoch ist. Somit kann es für den zweiten Prozessor 422 effektiver sein, die Eingabekachel 520, die ein Teil des Bildes 500 im zweiten Speicher 421 ist, sequentiell zu speichern, zu lesen und zu verarbeiten, als das Bild 500 aus dem ersten Speicher 411 mit einer niedrigen Datenzugriffsgeschwindigkeit zu lesen und das Bild 500 auf einmal zu verarbeiten.
  • Wenn nur ein bestimmter Teil des Bildes 500 verarbeitet werden muss, muss das Bild 500 oder die gesamte Mehrzahl der Kacheln 510 nicht gelesen werden. In diesem Fall kann es für den zweiten Prozessor 422 ineffizient sein, die Verarbeitung in Bezug auf das im ersten Speicher 411 gespeicherte Bild 500 mit einer niedrigen Datenzugriffsgeschwindigkeit durchzuführen. Es kann auch ineffizient sein, dass der zweite Prozessor 422 die Verarbeitung in Bezug auf die gesamte Mehrzahl der Kacheln 510 durchführt.
  • Andererseits kann die DMA-Steuerung 423 in der elektronischen Vorrichtung 101 die dem jeweiligen Teil entsprechende Eingabekachel 520 aus dem ersten Speicher 411 lesen und im zweiten Speicher 421 speichern, und der zweite Prozessor 422 kann eine Bildverarbeitung in Bezug auf die im zweiten Speicher 421 gespeicherte Eingabekachel 520 durchführen. Somit kann sich der zweite Prozessor 422 auf einen Vorgang zur Bildverarbeitung konzentrieren. Insgesamt kann also eine Verarbeitungsgeschwindigkeit in Bezug auf Bilddaten zunehmen und eine Verarbeitungszeit verkürzen.
  • 7 ist ein exemplarisches Diagramm zur Beschreibung der Bildverarbeitung eines zweiten Prozessors gemäß einer Ausführungsform, 8 ist ein Flussdiagramm der Bildverarbeitung gemäß einer Ausführungsform.
  • Im Folgenden wird unter Bezugnahme auf die 7 und 8 ein Bildverarbeitungsvorgang des zweiten Prozessors 422 beschrieben.
  • Wie in 7(a) dargestellt, kann das Bild 500 durch den ersten Prozessor 412 oder den zweiten Prozessor 422 in mindestens eine Kachel unterteilt werden. Hierin kann die Mehrzahl der Kacheln 510 Kacheln beinhalten, die das Bild 500 teilen, das in die Mehrzahl der Kacheln 510 unterteilt werden kann.
  • Wie in 7(b) dargestellt, können alle oder ein Teil der Mehrzahl von Kacheln 510 vom ersten Prozessor 412 oder dem zweiten Prozessor 422 als Eingabekachel 520 bestimmt werden. Die bestimmte Eingabekachel 520 kann von der DMA-Steuerung 423 gelesen werden. Der erste Prozessor 412 oder der zweite Prozessor 422 kann die Eingabekachel 520 basierend auf den Verarbeitungsdaten bestimmen (berechnen). Der erste Prozessor 412 oder der zweite Prozessor 422 können die DMA-Steuerung 423 steuern, um das Bild 500 aus dem ersten Speicher 411 zu lesen oder das Bild 500 im zweiten Speicher 421 in der Einheit einer Kachel zu speichern, die der bestimmten (berechneten) Eingabekachel 520 entspricht. Die DMA-Steuerung 423 kann das Bild 500 kontinuierlich in der Einheit einer Kachel lesen und speichern, während der zweite Prozessor 422 das Bild 500 in der Einheit einer Kachel verarbeitet.
  • Insbesondere kann der zweite Prozessor 422 im Betrieb 805 Verarbeitungsdaten empfangen. Die Verarbeitungsdaten können vom Anwender zur Verfügung gestellt werden. Der Empfang der Verarbeitungsdaten durch den zweiten Prozessor 422 kann durch die Übertragung der Verarbeitungsdaten durch den Benutzer an den zweiten Prozessor 422 über die API realisiert werden. Die Verarbeitungsdaten können vom ersten Prozessor 412 empfangen werden, und die empfangenen Verarbeitungsdaten können vom ersten Prozessor 412 zum zweiten Prozessor 422 übertragen werden.
  • Im Betrieb 810 kann der zweite Prozessor 422 einen Verarbeitungsbefehl vom ersten Prozessor 412 empfangen. Der Verarbeitungsbefehl kann auch einen Befehl zum Steuern des zweiten Prozessors 422 durch den ersten Prozessor 412 beinhalten. Genauer gesagt, kann der Verarbeitungsbefehl auch das Anweisen des zweiten Prozessors 422 beinhalten, einen Bildverarbeitungsauftrag durch den ersten Prozessor 412 auszuführen.
  • Im Betrieb 815 kann der zweite Prozessor 422 eine Bedingung der Eingabekachel 520 bestimmen (berechnen), um die Eingabekachel 520 auszuwählen. Wie vorstehend ausgeführt, kann die Bestimmung (Berechnung) des Zustands der Eingabekachel 520 durch den ersten Prozessor 412 durchgeführt werden. Der zweite Prozessor 422 kann eine Position und eine Größe der Eingabekachel 520 und einen überlappenden und/oder nicht verarbeitenden Bereich(e) basierend auf den Verarbeitungsdaten bestimmen. Der Zustand der Eingabekachel 520 kann eine Adresse und eine zugewiesene Speicherkapazität des ersten Speichers 411 beinhalten.
  • Im vorliegenden Vorgang kann der zweite Prozessor 422 eine Bedingung der Bildverarbeitung bestimmen (berechnen), die auf die Eingabekachel 520 anzuwenden ist. Der zweite Prozessor 422 kann basierend auf den Verarbeitungsdaten eine Art Bildverarbeitung wie Unschärfe, Schärfe und Eckenerkennung bestimmen. Die Bedingung der Bildverarbeitung kann eine Adresse des ersten Speichers 411 beinhalten, in dem eine Funktion bezüglich des Bildverarbeitungsfilters 620 gespeichert ist.
  • Im Betrieb 820 kann der zweite Prozessor 422 die Eingabekachel 520 vom zweiten Prozessor 421 nacheinander einzeln oder mehrfach im Plural empfangen. Die empfangene Eingabekachel 520 kann vorbereitet werden, indem sie zuvor von der DMA-Steuerung 423 im zweiten Speicher 421 aus dem ersten Speicher 411 gespeichert wird. Wie in 7(c) dargestellt, kann die Eingabekachel 520 vom zweiten Prozessor 422 verarbeitet werden.
  • Genauer gesagt, kann der zweite Prozessor 422 im Betrieb 825 die empfangene Eingabekachel 520 verarbeiten und die Ausgabekachel 610 erzeugen.
  • Wie in 7(d) dargestellt, kann die Ausgabekachel 610 im ersten Speicher 411 über die DMA-Steuerung 423 gespeichert werden. Die Ausgabekachel 610 kann in einem Puffer 701 des ersten Speichers 411 gespeichert werden.
  • Genauer gesagt, kann der zweite Prozessor 422 im Betrieb 830 die Ausgabekachel 610 im zweiten Speicher 421 speichern. Die im zweiten Speicher 421 gespeicherte Ausgabekachel 610 kann von der DMA-Steuerung 423 in den ersten Speicher 411 verschoben und dort gespeichert werden. Wenn die Ausgabekachel 610 in den ersten Speicher 411 verschoben wird, kann die Ausgabekachel 610 an der ursprünglichen Stelle gespeichert werden, an der die Eingabekachel 520, die vom zweiten Speicher 421 auf den zweiten Prozessor 422 zur Bildverarbeitung übertragen wurde, vorhanden war. So kann beispielsweise die Ausgabekachel 610 an der Adresse des ersten Speichers 411 gespeichert werden, in dem die Eingabekachel 520 existiert hat, ebenso wie eine der Eingabekachel 520 zugeordnete Speicherkapazität.
  • Zusätzlich kann der zweite Prozessor 422 ein Bildprozessorergebnis an den ersten Prozessor 412 melden. Das Ergebnis des Bildprozesses kann nach dem Erzeugen der Ausgabekachel 610 im Betrieb 825 oder vor oder nach dem Speichern der Ausgabekachel 610 im Betrieb 830 gemeldet werden.
  • Die in den 7(b) bis 7(d) dargestellten Vorgänge 820 und 830 können für jede Eingabekachel 520 wiederholt ausgeführt werden (wie durch eine gestrichelte Linie von 7(d) bis 7(b) angezeigt). Wenn alle der Mehrzahl von Kacheln 510 die Eingabekachel 520 sind, kann die Bildverarbeitung für alle der Mehrzahl von Kacheln 510 wiederholt durchgeführt werden. Wenn einige der Mehrzahl von Kacheln 510 die Eingabekachel 520 sind, kann die Bildverarbeitung für einige der Mehrzahl von Kacheln 510 wiederholt durchgeführt werden.
  • Die DMA-Steuerung 423 kann die Eingabekachel 520 aus dem ersten Speicher 411 in den zweiten Speicher 421 speichern. Das Speichern der Eingabekachel 520 vom ersten Speicher 411 zum zweiten Speicher 421 kann durch den ersten Prozessor 412 oder den zweiten Prozessor 422 gesteuert werden. Die DMA-Steuerung 423 kann die vom ersten Prozessor 412 oder dem zweiten Prozessor 422 bestimmte (berechnete) Eingabekachel 520 aus dem ersten Speicher 411 lesen und die gelesene Eingabekachel 520 im zweiten Speicher 421 speichern. Die DMA-Steuerung 423 kann die Ausgabekachel 610 aus dem zweiten Speicher 421 in den ersten Speicher 411 übertragen. Nach der Bildverarbeitung kann der zweite Prozessor 422 die Ausgabekachel 610 im zweiten Speicher 421 speichern. Die DMA-Steuerung 423 kann die im zweiten Speicher 421 gespeicherte Ausgabekachel 610 lesen und die gelesene Ausgabekachel 610 wieder im ersten Speicher 411 speichern.
  • Wenn der zweite Prozessor 422 die Eingabekachel 520 verarbeitet, kann die DMA-Steuerung 423 wiederholt eine Bewegung der Eingabekachel 520 vom ersten Speicher 411 zum zweiten Speicher 421 ausführen. Somit kann die Eingabekachel 520 im zweiten Speicher 421 jederzeit für die Bildverarbeitung vorbereitet werden.
  • Wenn der zweite Prozessor 422 die Ausgabekachel 610 erzeugt und die Ausgabekachel 610 im zweiten Speicher 421 speichert, kann die DMA-Steuerung 423 wiederholt eine Bewegung der gespeicherten Ausgabekachel 610 vom Speicherprozessor 421 zum ersten Speicher 411 ausführen. Somit kann die Eingabekachel 520 im zweiten Speicher 421 vorbereitet werden, und gleichzeitig kann die Ausgabekachel 610 im ersten Speicher 411 gespeichert werden.
  • Die Vorbereitung der Eingabekachel 520 im zweiten Speicher 421 im Betrieb 820, die Bildverarbeitung im Betrieb 825 und die Speicherung der Ausgangskachel 610 im Betrieb 830 können gleichzeitig erfolgen. Aufgrund der Wiederholung der Vorgänge 820 und 830 kann die elektronische Vorrichtung 101 die Verarbeitung der aktuellen Eingabekacheln, die Speicherung der aktuellen Ausgangskacheln und die Vorbereitung der nächsten Eingabekacheln parallel oder gleichzeitig durchführen.
  • Der zweite Prozessor 422 kann die Größe der zu verarbeitenden Eingabekachel 520 anpassen. Der zweite Prozessor 422 kann die Größe der nächsten Eingabekachel 520 so anpassen, dass die Größe der nächsten Eingabekachel 520 gleich der Größe der aktuellen Eingabekachel 520 ist.
  • Die Eingabekachel 520 kann in Größe und Form den Verarbeitungsdaten entsprechend verändert werden. Angenommen, der zweite Prozessor 422 verarbeitet derzeit die Eingabekachel 520 mit einer ersten Größe. Wenn dann die Eingabekachel 520 in eine zweite Größe umgewandelt wird, die sich von der ersten Größe unterscheidet, kann die Eingabekachel 520 mit der zweiten Größe im zweiten Speicher 421 von der DMA-Steuerung 423 gespeichert werden. In diesem Fall kann der zweite Prozessor 422 noch die der ersten Größe entsprechende Eingabekachel 520 lesen. Der zweite Prozessor 422 kann die DMA-Steuerung 423 steuern, um die der ersten Größe entsprechende Eingabekachel 520 aus dem ersten Speicher 411 zu lesen. Auf diese Weise kann der zweite Prozessor 422 die Eingabekachel 520 verarbeiten und gleichzeitig die Größe der Eingabekachel 520 anpassen.
  • 9 ist ein exemplarisches Diagramm zur Beschreibung einer Verarbeitung bzw. eines Prozesses, bei dem gleichzeitig das Senden/Empfangen von Kacheln und die Verarbeitung von Kacheln gemäß einer Ausführungsform durchgeführt werden.
  • Die elektronische Vorrichtung 101 kann gleichzeitig den Datenzugriff durch die DMA-Steuerung 423 und die Kachelverarbeitung durch den zweiten Prozessor 422 durchführen. Wie in 9 dargestellt, können im Laufe der Zeit ein zweiter Prozessorprozessvorgang 900 und ein DMA-Steuerungsvorgang 910 gleichzeitig ausgeführt werden. Der zweite Prozessorprozessvorgang 900 kann eine Bildverarbeitung bedeuten, die in Bezug auf die Eingabekachel 520 durch den zweiten Prozessor 422 durchgeführt wird. Der DMA-Steuerungsvorgang 910 kann die Vorgänge 911a, 912a und 913a zum Übertragen der Eingabekachel 520 an den zweiten Speicher 421 und zum Übertragen der Eingabekachel 520 an den zweiten Prozessor 422 beinhalten. Der DMA-Steuerungsvorgang 910 kann die Vorgänge 911b, 912b und 913b zum Empfangen der im zweiten Speicher 421 gespeicherten Ausgabekachel 610 und zum Speichern der Ausgabekachel 610 im ersten Speicher 411 beinhalten.
  • Erstens kann die DMA-Steuerung 423 im Betrieb 911a eine erste Eingabekachel an den zweiten Speicher 421 senden. Der zweite Prozessor 422 kann dann die erste Eingabekachel aus dem zweiten Speicher 421 lesen, die dann die erste Verarbeitung 901 durchführen kann, die die erste Eingabekachel verarbeitet. Der zweite Prozessor 422 kann eine erste Ausgabekachel erzeugen, indem er die erste Eingabekachel verarbeitet. Der zweite Prozessor 422 kann die erste Ausgabekachel im zweiten Speicher 421 speichern. Die DMA-Steuerung 423 kann während der ersten Verarbeitung 901 im Betrieb 912a eine zweite Eingabekachel an den zweiten Speicher 421 übertragen.
  • Wenn die erste Verarbeitung 901 beendet ist, kann der zweite Prozessor 422 die zweite Verarbeitung 902 starten, die die zweite Eingabekachel verarbeitet. Der zweite Prozessor 422 kann eine zweite Ausgabekachel erzeugen, indem er die zweite Eingabekachel verarbeitet. Der zweite Prozessor 422 kann die zweite Ausgabekachel im zweiten Speicher 421 speichern.
  • Die DMA-Steuerung 423 kann die erste Ausgabekachel aus dem zweiten Speicher 421 während der zweiten Verarbeitung 902 im Betrieb 911b empfangen.
  • Die DMA-Steuerung 423 kann während der zweiten Verarbeitung 902 im Betrieb 913a eine dritte Eingabekachel an den zweiten Speicher 421 senden.
  • Wenn die zweite Verarbeitung 902 endet, kann der zweite Prozessor 422 mit der dritten Verarbeitung 903 beginnen, die die dritte Eingabekachel verarbeitet. Der zweite Prozessor 422 kann eine dritte Ausgabekachel erzeugen, indem er die dritte Eingabekachel verarbeitet. Der zweite Prozessor 422 kann die dritte Ausgabekachel im zweiten Speicher 421 speichern.
  • Die DMA-Steuerung 423 kann die zweite Ausgabekachel aus dem zweiten Speicher 421 während der dritten Verarbeitung 903 im Betrieb 912b empfangen.
  • Die DMA-Steuerung 423 kann eine Kachel nicht nur während der Bildverarbeitung durch den zweiten Prozessor 422, sondern auch vor Beginn der Verarbeitung oder nach Abschluss der Verarbeitung übertragen. Die DMA-Steuerung 423 kann die dritte Ausgabekachel nach Abschluss der dritten Verarbeitung 903 im Betrieb 913b empfangen.
  • Der zweite Eingabekachelübertragungsvorgang 912a der DMA-Steuerung 423 kann während der ersten Verarbeitung 901 des zweiten Prozessors 901 durchgeführt werden. Der erste Ausgangskachelempfangsvorgang 911b und der dritte Eingabekachelübertragungsvorgang 913a der DMA-Steuerung 423 können während der zweiten Verarbeitung 902 des zweiten Prozessors 422 durchgeführt werden. Der zweite Ausgangskachel-übertragungsvorgang 912b der DMA-Steuerung 423 kann während der dritten Verarbeitung 903 des zweiten Prozessors 422 durchgeführt werden. Somit können die jeweiligen Prozessvorgänge 901, 902 und 903 sowie mehrere Kachelsende- und Empfangsoperationen 911b, 912a, 912b und 913a gleichzeitig stattfinden. Das heißt, ein Betrieb der DMA-Steuerung 423 kann einen Betrieb des zweiten Prozessors 422 teilweise oder vollständig überlappen.
  • Um die gleichzeitige Ausführung des zweiten Prozessorprozesses 900 und des DMA-Steuerungsvorgangs 910 zu ermöglichen, kann die DMA-Steuerung 423 mehrere Kanäle beinhalten. Insbesondere kann das Senden und Empfangen der Eingabekachel 520 und der Ausgabekachel 610 durch die DMA-Steuerung 423 über die verschiedenen Kanäle erfolgen. Angenommen, die DMA-Steuerung 423 sendet beispielsweise die ersten durch dritte Eingabekacheln über den ersten und zweiten Kanal an den zweiten Speicher 421. Die erste Eingabekachel und die zweite Eingabekachel können über den ersten Kanal bzw. den zweiten Kanal an den zweiten Speicher 421 übertragen werden. Dabei kann die DMA-Steuerung 423, wenn die Übertragung der ersten Eingabekachel durch den ersten Kanal zuerst abgeschlossen ist, einen Interrupt für den zweiten Prozessor 422 erzeugen, der einen Bildprozessorvorgang auch während der Übertragung der zweiten Eingabekachel durch den zweiten Kanal ausführt. Die Unterbrechung kann anzeigen, dass der Abschluss der Übertragung der ersten Eingabekachel durch den ersten Kanal dem zweiten Prozessor 422 mitgeteilt wird und ob die dritte Eingabekachel durch den ersten Kanal übertragen werden soll. Als Reaktion auf den Interrupt kann der zweite Prozessor 422 die DMA-Steuerung 423 steuern, um die Übertragung der dritten Eingabekachel über den ersten Kanal zu starten.
  • 10 ist ein exemplarisches Diagramm zur Beschreibung eines Algorithmus zur Implementierung einer Bildverarbeitung zwischen Prozessoren gemäß einer Ausführungsform.
  • In einer Host-Zielumgebung, in der ein Host-Prozessor und ein Zielprozessor vorhanden sind, kann der Host-Prozessor den Zielprozessor anweisen, eine bestimmte Aufgabe auszuführen. Die Host-Umgebung und die Zielumgebung können auf der Grundlage verschiedener Betriebssysteme betrieben werden. Wenn der Host-Prozessor und der Zielprozessor in verschiedenen Betriebssystemen arbeiten, muss der Zielprozessor in der Lage sein, einen Befehl des Host-Prozessors zu erkennen. So kann ein Algorithmus zur Implementierung einer beliebigen Aufgabe in der Host-Zielumgebung eine Übersetzung beinhalten, die es dem Zielprozessor ermöglicht, den Befehl des Host-Prozessors zu erkennen.
  • Die elektronische Vorrichtung 101 gemäß der vorliegenden Offenbarung, die die Host-Zielumgebung aufweist, kann den ersten Prozessor 412 als Host-Prozessor und den zweiten Prozessor 422 als Zielprozessor beinhalten. Der erste Prozessor 412 kann einen Verarbeitungsbefehl übertragen, um den zweiten Prozessor 422 zu veranlassen, eine Bildverarbeitungsaufgabe auszuführen. Wenn der erste Prozessor 412 und der zweite Prozessor 422 basierend auf verschiedenen Betriebssystemen arbeiten, kann der Algorithmus zur Implementierung der Bildverarbeitungsaufgabe eine Übersetzung beinhalten, die es dem zweiten Prozessor 422 ermöglicht, einen Verarbeitungsbefehl des ersten Prozessors 412 zu erkennen.
  • In 10 ist ein Beispiel für einen Algorithmus dargestellt, der eine Bildverarbeitungsaufgabe zwischen dem ersten Prozessor 412 und dem zweiten Prozessor 422 vorschreibt. Ein solcher Algorithmus für Bildverarbeitungsaufgaben kann mit einer Programmiersprache ausgedrückt werden. Der Bildverarbeitungsaufgabenalgorithmus kann einen Verarbeitungsbefehlsalgorithmus 1010 beinhalten, der den ersten Prozessor 412 anweist, eine Bildverarbeitung durch den zweiten Prozessor 422 durchzuführen, und einen Prozess-Ergebnisberichtsalgorithmus 1020, der ein Bildprozessergebnis vom zweiten Prozessor 422 an den ersten Prozessor 412 meldet.
  • Der Verarbeitungsbefehlsalgorithmus 1010 kann Parameter beinhalten, einschließlich Werte für einen Prozessbetrieb, eine Speicherzugriffsadresse und die Einstellung des Prozessbetriebs.
  • Der Wert für den Prozessbetrieb kann darauf hinweisen, dass der zweite Prozessor 422 eine Bildverarbeitung durchführen muss. Die Speicherzugriffsadresse kann die Adresse des ersten Speichers 411 angeben, in dem die vom zweiten Prozessor 422 zu verarbeitende Eingabekachel 520 gespeichert ist. Die Speicherzugriffsadresse kann eine Adresse sein, die für den Speicherzugriff über DMA erforderlich ist. Der Wert für die Anpassung des Prozessbetriebs kann eine Änderung der Eingabekachel 520 anzeigen, wie z.B. den Ausgleich der Größe der Eingabekachel 520 oder die Änderung einer Art der durchzuführenden Bildverarbeitung.
  • Die Speicherzugriffsadresse unter den Parametern kann eine virtuelle Hostadresse sein, die vom ersten Prozessor 412 in der Hostumgebung erkannt werden kann. Die virtuelle Host-Adresse muss in eine virtuelle Zieladresse übersetzt werden, die vom zweiten Prozessor 422 in der Zielumgebung erkannt werden kann. Der Verarbeitungsbefehlsalgorithmus 1010 kann die Übersetzung der virtuellen Adresse beinhalten.
  • Der Verarbeitungsbefehlsalgorithmus 1010 kann die Bildung eines Pakets beinhalten, das die Parameter überträgt. Ein Header des Pakets kann eine Prozesskennung beinhalten, die eine Bildverarbeitung identifiziert, die auf die Eingabekachel 520 anzuwenden ist, und eine Paketidentifikation, die eindeutige Merkmale des Pakets (Packets) anzeigt. Ein Datenteil des Pakets kann Daten über die Parameter enthalten.
  • Der Verarbeitungsbefehlsalgorithmus 1010 kann einen First-in-First-out (FIFO)-Algorithmus beinhalten, der das Paket vom ersten Prozessor 412 zum zweiten Prozessor 422 überträgt. Im Verarbeitungsbefehlsalgorithmus 1010 kann das Paket in eine Verarbeitungsbefehlswarteschlange 1001 eingereiht werden. Das Paket kann über eine Rückseite der Verarbeitungsbefehlswarteschlange 1001 eingegeben werden. Das Paket kann von der Verarbeitungsbefehlswarteschlange 1001 abgemeldet werden. Das Paket kann über eine Vorderseite der Verarbeitungsbefehlswarteschlange 1001 ausgegeben werden.
  • Der zweite Prozessor 422 kann ein übertragenes Paket dekodieren und den Prozessbetrieb, die Speicherzugriffsadresse, die Anpassung des Prozessbetriebs und die damit verbundenen Daten erzeugen. Der zweite Prozessor 422 kann aus den Verarbeitungsdaten Daten entsprechend den erzeugten Daten extrahieren und die Eingabekachel 520 basierend auf den extrahierten Daten verarbeiten.
  • Nehme man beispielsweise in 6(b) an, dass der erste Prozessor 412 einen Verarbeitungsbefehl mit Bildverarbeitung, z.B. Unschärfe, in Bezug auf die zweite Kachel 510-2 an den zweiten Prozessor 422 übermittelt. Der Verarbeitungsbefehlsalgorithmus 1010 kann einen Vorgang beinhalten, bei dem der zweite Prozessor 422 eine Bildverarbeitung durchführt, z.B. eine Unschärfe in Bezug auf die zweite Kachel 510-2. Der zweite Prozessor 422 kann gemäß dem Verarbeitungsbefehl eine Unschärfe in Bezug auf die zweite Kachel 510-2 durchführen.
  • Der Prozessergebnisberichtsalgorithmus 1020 kann einen Vorgang beinhalten, bei dem der zweite Prozessor 422 ein Bildprozessergebnis an den ersten Prozessor 412 meldet. Das Bildverarbeitungsergebnis kann einen Verarbeitungszustand berücksichtigen, der die Verarbeitung oder Nichtverarbeitung der Eingabekachel 520 beinhaltet.
  • Der Verarbeitungsergebnisberichtsalgorithmus 1020 kann das Paketieren eines Verarbeitungsergebnisses beinhalten. Der Verarbeitungsergebnisberichtsalgorithmus 1020 kann einen FIFO-Algorithmus beinhalten, der das Verarbeitungsergebnispaket vom zweiten Prozessor 422 auf den ersten Prozessor 412 überträgt.
  • Das Verarbeitungsergebnispaket kann in eine Verarbeitungsbefehlswarteschlange 1002 eingereiht werden. Das Verarbeitungsergebnispaket kann über eine Rückseite der Verarbeitungsergebniswarteschlange 1002 eingegeben werden. Das Verarbeitungsergebnispaket kann von der Verarbeitungsergebniswarteschlange 1002 abgemeldet werden. Das Verarbeitungsergebnispaket kann über eine Vorderseite der Verarbeitungsergebniswarteschlange 1002 ausgegeben werden.
  • 11 ist ein Flussdiagramm, das ein Bildverarbeitungsverfahren der elektronischen Vorrichtung 101 gemäß einer Ausführungsform darstellt.
  • Im Betrieb 1101 kann der zweite Prozessor 422 Verarbeitungsdaten empfangen. Die Verarbeitungsdaten können vom Benutzer über eine API bereitgestellt werden. Die Verarbeitungsdaten können vom ersten Prozessor 412 empfangen werden.
  • Im Betrieb 1103 kann der erste Prozessor 412 den zweiten Prozessor 422 anweisen, die Bildverarbeitung durchzuführen. Der erste Prozessor 412 kann den zweiten Prozessor 422 anweisen, eine Bildverarbeitung durchzuführen, basierend auf einem Verarbeitungsbefehl, der mit dem Verarbeitungsbefehlsalgorithmus 1010 und dem Verarbeitungsergebnisberichtsalgorithmus 1020 implementiert ist.
  • Im Betrieb 1105 kann der zweite Prozessor 422 die Eingabekachel 520 bestimmen (berechnen). Das Bestimmen der Eingabekachel 520 kann das Bestimmen einer Position und einer Größe der Eingabekachel 520 entsprechend den Verarbeitungsdaten beinhalten. Die Position der Eingabekachel 520 kann eine Adresse des ersten Speichers 411 der Eingabekachel 520 bedeuten, und die Größe der Eingabekachel 520 kann eine Kapazität der zu verarbeitenden Eingabekachel 520 bedeuten. Im laufenden Betrieb kann das Bestimmen der Eingabekachel 520 das Bestimmen einer Bildverarbeitungsart beinhalten, die auf die Eingabekachel 520 angewendet wird. Der zweite Prozessor 422 kann den Filter 620 für die Bildverarbeitung entsprechend den Verarbeitungsdaten bestimmen. Der erste Prozessor 412 kann auch die Verarbeitungsdaten empfangen, und somit kann die Bestimmung der Eingabekachel 520 und des Filters 620 für die Bildverarbeitung auch vom ersten Prozessor 412 durchgeführt werden.
  • Im Betrieb 1107 kann der zweite Prozessor 422 eine Anforderung zur Übertragung der Eingabekachel 520 entsprechend dem Standort und der Größe der bestimmten (berechneten) Eingabekachel 520 an die DMA-Steuerung 423 senden. Der zweite Prozessor 422 kann eine Anforderung zum Lesen einer Bildprozessfunktion senden, die auf die Eingabekachel 520 an die DMA-Steuerung 423 anzuwenden ist. Der zweite Prozessor 422 kann Daten, die zum Lesen der Eingabekachel 520 und der Bildverarbeitungsfunktion benötigt werden, an die DMA-Steuerung 423 übertragen. Die für das Lesen der Eingabekachel 520 erforderlichen Daten können Daten über eine Adresse (Standort) und eine Kapazität (Größe) des ersten Speichers 411 der berechneten Eingabekachel 520 beinhalten. Der erste Prozessor 412 kann die Eingabekachel 520 bestimmen, und somit kann die Anforderung zur Übertragung der Eingabekachel 520 auch vom ersten Prozessor 412 an die DMA-Steuerung 523 gesendet werden.
  • Im Betrieb 1109 kann die DMA-Steuerung 423 die Anforderung zum Übertragen der Eingabekachel 520 vom zweiten Prozessor 422 empfangen und die berechnete Eingabekachel 520 aus dem ersten Speicher 411 lesen. Die DMA-Steuerung 423 kann die Eingabekachel(n) 520 entsprechend der empfangenen Speicheradresse und Kapazität vom zweiten Prozessor 422 lesen. Im Betrieb 1110 kann die DMA-Steuerung 423 die gelesenen Eingabekacheln 520 im zweiten Speicher 421 speichern.
  • Im Betrieb 1111 kann der zweite Prozessor 422 die Eingabekachel 520 vom zweiten Prozessor 421 lesen. Der zweite Prozessor 422 kann direkt auf den zweiten Speicher 421 zugreifen und die Eingabekachel 520 empfangen.
  • Im Betrieb 1113 kann der zweite Prozessor 422 die Eingabekachel 520 verarbeiten und die Ausgabekachel 610 erzeugen. Insbesondere kann der zweite Prozessor 422 den Filter 620 bezüglich der im Betrieb 1105 bestimmten Bildprozessfunktion auf die Eingabekachel 520 anwenden.
  • Im Betrieb 1115 kann der zweite Prozessor 422 die Ausgabekachel 610 auf den zweiten Speicher 421 übertragen. Der zweite Prozessor 422 kann direkt auf den zweiten Speicher 421 zugreifen, um die Eingabekachel 520 auf den zweiten Speicher 421 zu übertragen.
  • Im Betrieb 1117 kann der zweite Prozessor 422 ein Bildprozessorergebnis der Eingabekachel 520 an den ersten Prozessor 412 melden. Das Ergebnis der Bildverarbeitung kann beinhalten, ob die Bildverarbeitung in Bezug auf die Eingabekachel 520 erfolgreich ist.
  • Im Betrieb 1119 kann die Ausgabekachel 610 aus dem zweiten Speicher 421 in den ersten Speicher 411 verschoben und im ersten Speicher 411 gespeichert werden. Im Betrieb 1120 kann die DMA-Steuerung 423 die Ausgabekachel 610 aus dem zweiten Speicher 421 lesen und die Ausgabekachel 610 im ersten Speicher 411 speichern.
  • Im Betrieb 1121 kann die Ausgabekachel 610 im ersten Speicher 411 von der DMA-Steuerung 423 gespeichert werden.
  • Ein Bildverarbeitungsverfahren einer elektronischen Vorrichtung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung beinhaltet das Speichern erster Daten in einem ersten Speicher mit einer bestimmten Geschwindigkeit, das Teilen der ersten Daten in eine Mehrzahl von zweiten Daten durch einen ersten Prozessor, der mit dem ersten Speicher verbunden ist, wobei jeder eine Größe aufweist, die kleiner als eine Größe der ersten Daten ist, das Speichern mindestens eines Teils der Mehrzahl von zweiten Daten mit einer Geschwindigkeit, die höher als die angegebene Geschwindigkeit ist, das Verarbeiten mindestens eines Teils der Mehrzahl von zweiten Daten durch einen zweiten Prozessor, der mit dem zweiten Speicher verbunden ist, und das Senden und Empfangen, durch ein DMA-Steuermodul, das mit dem zweiten Prozessor verbunden ist, Daten zwischen dem ersten Speicher und dem zweiten Speicher, wobei das DMA-Steuermodul konfiguriert ist, um vom ersten Speicher mindestens einige der Mehrzahl von kleineren zweiten Daten zu empfangen, die von den ersten Daten getrennt sind, mindestens basierend auf einem Verarbeitungsbefehl in Bezug auf die Mehrzahl von zweiten Daten, die vom ersten Prozessor an den zweiten Prozessor übertragen werden, um den mindestens einen Teil der Mehrzahl von zweiten Daten an den zweiten Prozessor zu übertragen, und um dritte Daten, die vom zweiten Prozessor unter Verwendung der mindestens einen der Mehrzahl von zweiten Daten verarbeitet werden, an den ersten Speicher zu übertragen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können die ersten Daten und die zweiten Daten Bilddaten beinhalten, und der erste Prozessor kann konfiguriert sein, um mindestens einen von einem Ort, einer Größe, einer Form oder einer Anzahl von mindestens einigen der Mehrzahl von zweiten Daten basierend auf dem zweiten Speicher zu bestimmen.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann der mindestens einen Teil der Mehrzahl von zweiten Daten erste Teildaten, zweite Teildaten und dritte Teildaten beinhalten, und der zweite Prozessor ist konfiguriert, um die zweiten Teildaten nach der Verarbeitung der ersten Teildaten zu verarbeiten, und das DMA-Steuermodul kann konfiguriert sein, um die verarbeiteten ersten Teildaten an den ersten Speicher zu übertragen und die dritten Teildaten aus dem zweiten Speicher zu empfangen, während der zweite Prozessor die zweiten Teildaten verarbeitet.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung beinhaltet der mindestens eine Vorgang in einem Speichermedium, auf dem Anweisungen aufgezeichnet sind, die bei Ausführung durch mindestens einen Prozessor den mindestens einen Prozessor veranlassen, mindestens einen Vorgang auszuführen, das Speichern erster Daten in einem ersten Speicher mit einer bestimmten Geschwindigkeit und Teilen, durch einen ersten Prozessor, der mit dem ersten Speicher verbunden ist, wobei die ersten Daten in eine Mehrzahl von zweiten Daten, die jeweils eine Größe aufweisen, die kleiner als eine Größe der ersten Daten ist, Speichern mindestens einiger der Mehrzahl von zweiten Daten mit einer Geschwindigkeit, die höher als die angegebene Geschwindigkeit ist, Verarbeiten mindestens einiger der Mehrzahl von zweiten Daten durch einen zweiten Prozessor, der mit dem zweiten Speicher verbunden ist, und Senden und Empfangen von Daten zwischen dem ersten Speicher und dem zweiten Speicher durch ein mit dem zweiten Prozessor verbundenes DMA-Steuermodul, wobei das DMA-Steuermodul konfiguriert ist, um vom ersten Speicher mindestens einen Teil der Mehrzahl von kleineren zweiten Daten zu empfangen, die von den ersten Daten getrennt sind, mindestens basierend auf einem Verarbeitungsbefehl in Bezug auf die Mehrzahl von zweiten Daten, die vom ersten Prozessor an den zweiten Prozessor übertragen werden, um den mindestens einen Teil der Mehrzahl von zweiten Daten an den zweiten Prozessor zu übertragen, und um dritte Daten, die vom zweiten Prozessor verarbeitet werden, unter Verwendung der mindestens einen der Mehrzahl von zweiten Daten an den ersten Speicher zu übertragen.
  • Die hierin offenbarten Ausführungsformen wurden zur Beschreibung und zum Verständnis der offenbarten technischen Sachverhalte bereitgestellt und sollen den Umfang der vorliegenden Offenbarung nicht einschränken. Daher ist dies so auszulegen, dass der Umfang der vorliegenden Offenbarung jede Änderung oder andere verschiedene Ausführungsformen beinhaltet, die auf dem technischen Geist der vorliegenden Offenbarung basieren.

Claims (15)

  1. Elektronische Vorrichtung, umfassend: einen ersten Speicher, der erste Daten mit einer bestimmten Geschwindigkeit speichert, einen ersten Prozessor, der mit dem ersten Speicher verbunden und konfiguriert ist, um die ersten Daten in eine Mehrzahl von zweiten Daten aufzuteilen, wobei jede davon eine Größe aufweist, die kleiner als eine Größe der ersten Daten ist, einen zweiten Speicher, der mindestens einen Teil der Mehrzahl von zweiten Daten mit einer Geschwindigkeit speichert, die höher ist als die bestimmte Geschwindigkeit; einen zweiten Prozessor, der mit dem zweiten Speicher verbunden und konfiguriert ist, um mindestens einen Teil der Mehrzahl von zweiten Daten zu verarbeiten; und ein Direktspeicherzugriffs (DMA)-Steuermodul, das mit dem zweiten Prozessor verbunden und konfiguriert ist, um Daten zwischen dem ersten Speicher und dem zweiten Speicher zu übertragen und zu empfangen; wobei das DMA-Steuermodul konfiguriert ist, um die folgenden Schritte auszuführen: Empfangen von mindestens einem Teil der Mehrzahl von kleineren zweiten Daten, die aus den ersten Daten aufgeteilt wurden, aus dem ersten Speicher, mindestens basierend auf einem Verarbeitungsbefehl in Bezug auf die Mehrzahl von zweiten Daten, der vom ersten Prozessor an den zweiten Prozessor übertragen wird; Übertragen des mindestens einen Teils der Mehrzahl von zweiten Daten an den zweiten Prozessor; und Übertragen von dritten Daten, die durch den zweiten Prozessor verarbeitet werden, unter Verwendung des mindestens einen Teils der Mehrzahl von zweiten Daten an den ersten Speicher.
  2. Elektronische Vorrichtung nach Anspruch 1, wobei die ersten Daten und die zweiten Daten Bilddaten umfassen, und der erste Prozessor konfiguriert ist, um mindestens eines von einer Position, einer Größe, einer Form oder einer Anzahl des mindestens einen Teils von der Mehrzahl der zweiten Daten basierend auf dem zweiten Speicher zu bestimmen.
  3. Elektronische Vorrichtung nach Anspruch 1, wobei der mindestens eine Teil der Mehrzahl von zweiten Daten erste Teildaten, zweite Teildaten und dritte Teildaten umfasst, der zweite Prozessor konfiguriert ist, um die zweiten Teildaten nach der Verarbeitung der ersten Teildaten zu verarbeiten, und das DMA-Steuermodul konfiguriert ist, um die verarbeiteten ersten Teildaten an den ersten Speicher zu übertragen und die dritten Teildaten aus dem ersten Speicher zu empfangen, während der zweite Prozessor die zweiten Teildaten verarbeitet.
  4. Elektronische Vorrichtung nach Anspruch 1, wobei der mindestens eine Teil der Mehrzahl von zweiten Daten in Blöcke unterteilt ist, die jeweils eine gleiche Größe aufweisen.
  5. Elektronische Vorrichtung nach Anspruch 1, wobei der zweite Prozessor konfiguriert ist, um Verarbeitungsdaten zu empfangen, die Daten zum Einstellen des mindestens einen Teils der Mehrzahl von zweiten Daten und Daten zum Einstellen der Verarbeitung in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten umfassen, und die Verarbeitungsdaten einen Ort und eine Größe des mindestens einen Teils der Mehrzahl von zweiten Daten, eine Überlappung der Verarbeitung in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten, einen Nichtverarbeitungsbereich, eine Verarbeitungsreihenfolge, einen Verarbeitungsort oder eine Kombination davon umfassen.
  6. Elektronische Vorrichtung nach Anspruch 5, wobei der zweite Prozessor konfiguriert ist, um den mindestens einen Teil der Mehrzahl von zweiten Daten zu verarbeiten und das DMA-Steuermodul unter Verwendung des Verarbeitungsbefehls und der Verarbeitungsdaten zu steuern.
  7. Elektronische Vorrichtung nach Anspruch 3, wobei das DMA-Steuermodul mehrere Kanäle umfasst, die einen ersten Kanal und einen zweiten Kanal umfassen, und das konfiguriert ist, um die dritten Teildaten durch den ersten Kanal zu übertragen während der Übertragung der zweiten Teildaten durch den zweiten Kanal, wenn die Übertragung der ersten Teildaten durch den ersten Kanal abgeschlossen ist.
  8. Elektronische Vorrichtung nach Anspruch 3, wobei der zweite Prozessor konfiguriert ist, um Bestimmungsdaten, die die dritten Teildaten bestimmen, an das DMA-Steuermodul zu übertragen, und das DMA-Steuermodul konfiguriert ist, um den mindestens einen Teil der Mehrzahl von zweiten Daten zu empfangen, die den Bestimmungsdaten aus dem ersten Speicher entsprechen.
  9. Elektronische Vorrichtung nach Anspruch 1, wobei der zweite Prozessor ferner einen Cache umfasst, der eine Prozessidentifikation speichert, um die Verarbeitung des zweiten Prozessors in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten und die Verarbeitungsdaten zu identifizieren.
  10. Elektronische Vorrichtung nach Anspruch 1, wobei der Verarbeitungsbefehl mit einem Verarbeitungsbefehlsalgorithmus implementiert ist, der das Senden und Empfangen von Daten zwischen dem ersten Prozessor und dem zweiten Prozessor vorschreibt, und der Verarbeitungsbefehlalgorithmus einen Parameter umfasst, der mindestens einem der Verarbeitung in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten, der Anpassung der Verarbeitung, einer ersten Speicheradresse, die einem Teil des ersten Speichers entspricht, oder einer zweiten Speicheradresse, die einem Teil des zweiten Speichers entspricht, entspricht.
  11. Elektronische Vorrichtung nach Anspruch 10, wobei der erste Prozessor konfiguriert ist, um ein Paket zum Übertragen des Verarbeitungsbefehls zu erzeugen und um das Paket an den zweiten Prozessor zu übertragen, und das Paket die Prozesskennung zum Identifizieren der Verarbeitung des zweiten Prozessors in Bezug auf den mindestens einen Teil der Mehrzahl von zweiten Daten, eine Paketidentifikation zum Identifizieren des Pakets und Daten bezüglich des Parameters umfasst.
  12. Elektronische Vorrichtung nach Anspruch 1, wobei der zweite Prozessor konfiguriert ist, um Informationen in Bezug auf einen Verarbeitungszustand der Mehrzahl von zweiten Daten an den ersten Prozessor zu übertragen.
  13. Verfahren, umfassend die folgenden Schritte: Speichern erster Daten in einem ersten Speicher mit einer bestimmten Geschwindigkeit; Unterteilen der ersten Daten durch einen ersten Prozessor, der mit dem ersten Speicher verbunden ist, in eine Mehrzahl von zweiten Daten, die jeweils eine Größe aufweisen, die kleiner als eine Größe der ersten Daten ist, Speichern mindestens eines Teils der Mehrzahl von zweiten Daten mit einer Geschwindigkeit, die höher als die bestimmte Geschwindigkeit ist; Verarbeiten mindestens eines Teils der Mehrzahl von zweiten Daten durch einen mit dem zweiten Speicher verbundenen zweiten Prozessor; und Senden und Empfangen von Daten zwischen dem ersten Speicher und dem zweiten Speicher durch ein mit dem zweiten Prozessor verbundenes Direktspeicherzugriffs (DMA)-Steuermodul, wobei das DMA-Steuermodul konfiguriert ist, um die folgenden Schritte auszuführen: Empfangen von mindestens einem Teil der Mehrzahl von kleineren zweiten Daten, die aus den ersten Daten aufgeteilt wurden, aus dem ersten Speicher, mindestens basierend auf einem Verarbeitungsbefehl in Bezug auf die Mehrzahl von zweiten Daten, der vom ersten Prozessor an den zweiten Prozessor übertragen wird; Übertragen des mindestens einen Teils der Mehrzahl von zweiten Daten an den zweiten Prozessor; und Übertragen von dritten Daten, die durch den zweiten Prozessor verarbeitet werden, unter Verwendung des mindestens einen Teils der Mehrzahl von zweiten Daten an den ersten Speicher.
  14. Verfahren nach Anspruch 13, wobei die ersten Daten und die zweiten Daten Bilddaten umfassen, und der erste Prozessor konfiguriert ist, um mindestens eines von einer Position, einer Größe, einer Form oder einer Anzahl des mindestens einen Teils von der Mehrzahl der zweiten Daten basierend auf dem zweiten Speicher zu bestimmen.
  15. Verfahren nach Anspruch 13, wobei der mindestens eine Teil der Mehrzahl von zweiten Daten erste Teildaten, zweite Teildaten und dritte Teildaten umfasst, der zweite Prozessor konfiguriert ist, um die zweiten Teildaten nach der Verarbeitung der ersten Teildaten zu verarbeiten, und das DMA-Steuermodul konfiguriert ist, um die verarbeiteten ersten Teildaten an den ersten Speicher zu übertragen und die dritten Teildaten aus dem ersten Speicher zu empfangen, während der zweite Prozessor die zweiten Teildaten verarbeitet.
DE112018000474.0T 2017-01-23 2018-01-23 Verfahren und elektronische Vorrichtung zur Datenverarbeitung zwischen mehreren Prozessoren Pending DE112018000474T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2017-0010673 2017-01-23
KR1020170010673A KR20180086792A (ko) 2017-01-23 2017-01-23 복수의 프로세서들 사이에 데이터를 처리하는 방법 및 전자 장치
PCT/KR2018/000997 WO2018135925A1 (ko) 2017-01-23 2018-01-23 복수의 프로세서들 사이에 데이터를 처리하는 방법 및 전자 장치

Publications (1)

Publication Number Publication Date
DE112018000474T5 true DE112018000474T5 (de) 2019-10-02

Family

ID=62908195

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000474.0T Pending DE112018000474T5 (de) 2017-01-23 2018-01-23 Verfahren und elektronische Vorrichtung zur Datenverarbeitung zwischen mehreren Prozessoren

Country Status (5)

Country Link
US (1) US11132302B2 (de)
KR (1) KR20180086792A (de)
CN (1) CN110199269B (de)
DE (1) DE112018000474T5 (de)
WO (1) WO2018135925A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669784B (zh) * 2017-10-13 2021-06-22 华为技术有限公司 一种进程间通信的方法及系统
US11580386B2 (en) * 2019-03-18 2023-02-14 Electronics And Telecommunications Research Institute Convolutional layer acceleration unit, embedded system having the same, and method for operating the embedded system
KR102642962B1 (ko) * 2023-07-18 2024-03-05 메티스엑스 주식회사 프로세서에서 단일 트랜잭션으로부터 변환된 복수의 트랜잭션들을 처리하는 방법 및 이를 수행하기 위한 프로세서

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293586A (en) * 1988-09-30 1994-03-08 Hitachi, Ltd. Data processing system for development of outline fonts
JP3128799B2 (ja) 1988-09-30 2001-01-29 株式会社日立製作所 データ処理装置、データ処理システム及びアウトラインフォントデータ発生方法
US7446774B1 (en) * 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
JP2001326893A (ja) * 2000-05-17 2001-11-22 Matsushita Electric Ind Co Ltd カメラシステム
US7236177B2 (en) * 2001-12-04 2007-06-26 Qualcomm Incorporated Processing digital video data
GB2443277B (en) 2006-10-24 2011-05-18 Advanced Risc Mach Ltd Performing diagnostics operations upon an asymmetric multiprocessor apparatus
US8139074B2 (en) * 2007-11-27 2012-03-20 International Business Machines Corporation Memory optimized cache generation for image tiling in GIS/CAD browser applications
US9152384B2 (en) 2013-08-12 2015-10-06 Oracle International Corporation System and method for referencing a dynamic module system within a component oriented application development framework
US9256543B2 (en) 2014-01-15 2016-02-09 Oxide Interactive Llc Method and system for efficient communication and command system for deferred operation
KR102317831B1 (ko) * 2015-02-13 2021-10-27 삼성전자주식회사 다중 데이터의 배칭 처리 방법 및 장치

Also Published As

Publication number Publication date
WO2018135925A1 (ko) 2018-07-26
CN110199269B (zh) 2023-08-29
US20190377691A1 (en) 2019-12-12
CN110199269A (zh) 2019-09-03
US11132302B2 (en) 2021-09-28
KR20180086792A (ko) 2018-08-01

Similar Documents

Publication Publication Date Title
CN107786794B (zh) 向应用提供由图像传感器获取的图像的电子装置和方法
US10075653B2 (en) Method and electronic device for image processing
EP3270583A1 (de) Elektronische vorrichtung mit kameramodul und bildverarbeitungsverfahren für elektronische vorrichtung
EP3337160B1 (de) Verfahren zur bereitstellung eines bildes, elektronische vorrichtung und speichermedium
DE202016009041U1 (de) Elektronische Vorrichtung mit Metallrahmenantenne
KR102547104B1 (ko) 전자 장치 및 복수의 영상을 처리하는 방법
DE102016206832A1 (de) Vorrichtung und Verfahren zum Steuern vom Empfangen von Daten
DE202015009611U1 (de) Mobiles Endgerät
DE102012109959A1 (de) Automatische Vergrößerungs- und Auswahlbestätigung
DE202017007296U1 (de) Elektronische Vorrichtung, umfassend einen gebogenen Anzeigebereich
DE202013012500U1 (de) Systemübergreifende Installation von Online-Applikationen
EP2983074B1 (de) Verfahren und vorrichtung zur anzeige eines bildschirms in elektronischen vorrichtungen
DE112018000474T5 (de) Verfahren und elektronische Vorrichtung zur Datenverarbeitung zwischen mehreren Prozessoren
DE202021102740U1 (de) Elektronische Vorrichtung mit flexibler Anzeige
US10345850B2 (en) Method and apparatus for adaptive device re-configuration
DE102018114533A1 (de) Systeme und Verfahren zur Identifikation von Antwortanfragen an einer Peripherievorrichtung
US20160329078A1 (en) Electronic device and method for operating the same
DE112017005398T5 (de) System und verfahren zur einrichtungsinteroperabilität und synchronisation
DE102012214944A1 (de) Mobilvorrichtung und Verfahren zum Laufenlassen von zwei Plattformsystemen oder Anwendungen darauf
DE112016005388T5 (de) Berührungs-Heatmap
DE112011105901T5 (de) Verfahren und Vorrichtung zur Energieeinsparung für First In First Out (FIF0)-Speicher
DE102020124098A1 (de) System und Verfahren zur Überwachung eines physikalischen Downlink-Steuerungskanals
DE112016005989T5 (de) Zuverlässiges, ausserhalb der reihenfolge liegendes end-to-end-protokoll mit robustem fensterstatusüberlaufmanagement und einem mehrknotensystem durch verwenden desselben
DE112016007149T5 (de) Tragbares elektronisches gerät und verfahren zum steuern eines sekundären merkmals
DE202021102320U1 (de) System zum Implementieren einer Unterdatenbankreplikation

Legal Events

Date Code Title Description
R012 Request for examination validly filed