-
Hintergrund
-
Dies betrifft allgemein Grafikverarbeitung.
-
In manchen Fällen ist es vorteilhaft, Grafikverarbeitungsaufgaben von einer lokalen Vorrichtung auf einen entfernten Server abzuladen. Beispielsweise könnte Grafikverarbeitung von einer lokalen Vorrichtung mit begrenzten Verarbeitungsfähigkeiten in die Cloud abgeladen werden. Zusätzlich könnten Grafikverarbeitungsaufgaben von einer Vorrichtung auf andere Vorrichtungen in einer Peer-to-Peer-Anordnung abgeladen werden.
-
Viele Male ist die Güte der entfernten Grafikverarbeitung von der Verbindung zwischen dem Clienten und der entfernten Vorrichtung abhängig. Wenn die Verbindung abgebrochen ist, geht ein Bild wegen fehlender Grafikdaten verloren. Dies kann vorkommen, wenn das Netz sich verschlechtert oder wenn der entfernte Server abschaltet oder aus dem Netz austritt.
-
Kurze Beschreibung der Zeichnungen
-
Einige Ausführungsformen werden hinsichtlich der folgenden Figuren beschrieben:
-
1 zeigt Zerlegung eines Bildes gemäß einer Ausführungsform der vorliegenden Erfindung;
-
2 zeigt Bildwiederherstellung gemäß einer Ausführungsform der vorliegenden Erfindung;
-
3 ist eine schematische Darstellung einer Ausführungsform der vorliegenden Erfindung;
-
4 ist ein Flussdiagramm einer Ausführungsform der vorliegenden Erfindung am Clienten;
-
5 ist ein Flussdiagramm für eine Ausführungsform der vorliegenden Erfindung am Server für eine entfernte Vorrichtung;
-
6 ist eine Systemdarstellung für eine Ausführungsform; und
-
7 ist eine vordere Draufsicht einer Ausführungsform.
-
Ausführliche Beschreibung
-
Gemäß einigen Ausführungsformen kann Stabilität der entfernten Grafikverarbeitung durch Parallelisieren der ursprünglichen hochauflösenden Grafikdatenverarbeitung in mehrere auf der entfernten Vorrichtung verarbeitete Grafikdaten niedrigerer Auflösung verbessert werden. Wenn einige entfernte Verbindungen abgebrochen sind, kann die Clienten-Grafikanwendung immer noch das endliche Schirmbild mit niedrigerer Auflösung aus den übrigen der sich ergebenden Bilder erzeugen, um sicherzustellen, dass das Bild nicht verloren geht.
-
Im verweisenden Clienten können ein Paketversendungsagent und ein Paketwiedergewinnungsagent vorgesehen sein. Vom Paketversendungsagenten können die ursprünglichen bildbezogenen Daten einer Anwendungsprogrammierschnittstelle (API – Application Program Interface) in mehrere Bilder geringer Auflösung zerlegt werden. Von jeder entfernten Vorrichtung werden die Grafikanwendungsprogrammierschnittstellenkommunikationen an den Bilddaten geringer Auflösung ausgeführt. Dann werden die sich ergebenden Bilder zum Erzeugen der End-Schirmanzeige zu einem Paketwiedergewinnungsagenten zurückgesendet. Die Zerlegung der ursprünglichen bildbezogenen Daten könnte Zerlegung roher RGB-Daten, Koordinationsdaten, Alphaverschmelzung oder Rotieren sein.
-
Bezug nehmend auf 1 werden vom Paketversendungsagenten am Clienten die Grafik-API-Kommunikationen auf dem Clienten abgefangen und die Grafikkommunikationen zum Server oder einem entfernten Vorrichtungsbündel gesendet. Zu typischen Verfahren dafür gehören DirectFB voodoo und VirtualGL. Ehe die Grafik-API-Kommunikationen ausgesendet werden, werden die bildbezogenen Daten vom Paketversendungsagenten zerlegt und die Daten in eine Vielzahl (z. B. vier) getrennter entfernter Vorrichtungen aussortiert. Ansonsten können die zerlegten Bilder von ihm in eine beliebige Anzahl verfügbarer entfernter Vorrichtungen aussortiert werden. Dann werden die ursprünglichen Bilddaten in Stücken zum entfernten Server gesendet.
-
Wie in 1 gezeigt kann eine 6×6-Gruppe Zellen in vier 3×3-Gruppen aufgebrochen werden, die jeweils zur unabhängigen Verarbeitung zu einem anderen entfernten Server oder einer anderen entfernten Vorrichtung gesendet werden. Die drei-mal-drei-Gruppen können jeweils aus regelmäßig beabstandeten Pixelstellungen ausgewählt werden.
-
Dann braucht jeder entfernte Server nur die ursprünglichen Daten für jede der vier Zellen verarbeiten. Wenn eine Zelle verlorengeht, kann das ursprüngliche Bild immer noch selbst mit niedrigerer Auflösung aus den übrigen drei Servern wiederhergestellt werden.
-
Vom Paketwiedergewinnungsagenten am Clienten wird das Endbild aus den durch das entfernte Serverbündel gesendeten resultierenden Bildern erzeugt. Bei verteilter Grafikverarbeitung können alle API-Kommunikationen auf dem Server ausgeführt werden. Dann wird das resultierende Bild zur Wiedergabe zum Clienten zurückgesendet. Dies entspricht einer Ausführungsform mit VirtualGL. Es ist ein umgekehrtes Verfahren vom Paketversendungsagenten.
-
Wie in 2 gezeigt werden die vier resultierenden Bilder wieder in das Ursprungsbild kombiniert.
-
Wenn irgendeine Verbindung zu einem Server unterbrochen ist, werden die verlorenen Bilddaten basierend auf Nachbarpixeln der anderen Bilder vom Paketwiedergewinnungsagenten wiedergewonnen. Wenn zum Beispiel Server 1 ausgefallen ist, kann die Schätzung des Ergebnisses von Bild 1 auf dem Durchschnittswert der Werte aus den Nachbarpixeln von den anderen drei Servern basieren, im vorliegenden Fall Bilder 2, 3 und 4. Die Auflösung kann zwar niedriger sein, aber Bildausfall kann in einigen Fällen vermieden werden.
-
Bezug nehmend auf 3 kann ein Client 12 ein System oder ein System auf einem Chip (SOC – System On a Chip) sein, das über ein Netz 24 an verteilte Verarbeitungsstellvertreter 26 verbunden mit jedem einer Vielzahl von entfernten, ein Serverbündel definierenden Servern 28, im vorliegenden Fall von 1 bis 4 nummeriert, die auch ein System auf einem Chip sein können, angeschlossen ist.
-
Der Client umfasst einen eine Grafikanwendung speichernden Speicher 14, den Paketversendungsagenten 20 und den Paketwiedergewinnungsagenten 22. Das Endbild 18 wird von einem Paketwiedergewinnungsagenten 22 zur Grafikanwendung weitergeleitet. Das Ursprungsbild 16 wird zu einem Paketversendungsagenten aus der Grafikanwendung weitergeleitet.
-
In einem OpenGL verwendenden Beispiel wird die Grafikanwendung auf einem Clienten gestartet. Vom Paketverwendungsagenten wird eine API-Kommunikation wie beispielsweise glDrawPixels zum Zerlegen der Bilddaten und Versenden der Vielzahl zerlegter Bilder zu den entfernten Servern abgefangen. Neben Bilddaten kann der Paketversendungsagent verwandte Daten wie beispielsweise Koordination und Größe ändern. Vom verteilten Verarbeitungsstellvertreter 26 wird die API-Kommunikation vom Clienten zum Ausführen der API-Kommunikation auf dem Server bearbeitet. Wenn glFinish oder eglSwapBuffer aufgerufen wird, sendet der verteilende Verarbeitungsstellvertreter das resultierende Bild zum Clienten und besonders dem Paketwiedergewinnungsagenten 22. Die Größe der auf dem Server empfangenen Bilddaten beträgt allgemein ein Viertel der Ursprungsgröße, wenn das Bild wie dargestellt vierfach aufgespaltet wird. Natürlich können auch andere Aufspaltungen durchgeführt werden.
-
Vom Paketwiedergewinnungsagenten 22 werden die resultierenden Bilder von den entfernten Servern empfangen und das Endbild erzeugt. Wenn eine Verbindung abgebrochen ist, kann das verlorene sich ergebende Bild auf Grundlage einer Interpolation von Werten aus Nachbarpixeln wiedergewonnen werden, die in anderen resultierenden Bildern gefunden werden können.
-
Wenn beispielsweise ein Ergebnisbild 1 verloren ist, kann es durch den folgenden Pseudocode wiedergewonnen werden:
für jedes i, j in Breite, Höhe des Endschirmbildes {
rgb[i][j] = (rgb[i – 1][j] + rgb[i + 1][j] + rgb[i][j – 1] + rgb[i][j + 1])/4}
rgb[i – 1][j] und rgb[i + 1][j] kann in Ergebnisbild 2 gefunden werden
rgb[i][j – 1] und rgb[i][j + 1] kann in Ergebnisbild 3 gefunden werden
-
Dann wird von der Grafikanwendung 14 das Endbild auf den Bildschirm des Clienten wiedergegeben. Als Beispiel kann der lokale Client ein Mobiltablet sein und die entfernte Vorrichtung könnte die Cloud sein. Andere Beispiele des lokalen Clienten umfassen ein Tablet oder sonstige Mobilvorrichtung.
-
Bezugnehmend auf 4 und 5 sind damit zwei Flüsse gezeigt, um die Wechselwirkung zwischen dem Code am Clienten 30 und dem Code am Server 36 darzustellen. Während eine softwarebasierende Umgebung vorgesehen ist, können die in 4 und 5 gezeigten Folgen auch in Firmware und/oder Hardware ausgeführt sein. In Software- und Firmware-Ausführungsformen können die Folgen durch in einem oder mehreren nichtflüchtigen computerlesbaren Medien wie beispielsweise magnetischen, optischen oder Halbleiter-Speicherungen gespeicherte, durch Computer ausgeführte Anweisungen ausgeführt sein.
-
Zuerst auf 4 Bezug nehmend beginnt die Clientenfolge 30 durch Starten der Grafikanwendung wie in Block 32 angezeigt. Vom Paketversendungsagenten wird die API-Kommunikation zum Zerlegen und Versenden des Bildes an entfernte Server wie in Block 34 angezeigt, abgefangen. Wie in gestrichelten Linien gezeigt schreitet der Fluss dann zum Server 36 fort, der die API-Kommunikation wie in Block 38 angezeigt empfängt, vom Serverbündel wird die API-Kommunikation in verteilten Servern ausgeführt und die Ergebnisse wie im Block 40 angezeigt zum Clienten zurückgesendet. Wie durch gestrichelte Linien angezeigt kehrt der Fluss zum Clienten 30 zurück, wo die sich ergebenden Bilder vom Paketwiedergewinnungsagenten von den Servern empfangen werden und dann das vollständige Bild wie im Block 42 angezeigt zusammengebaut wird.
-
Durch eine Prüfung am Rhombus 44 wird bestimmt, ob alle Bilddaten von allen Servern empfangen worden sind. Wenn ja, dann wird das Endbild wie in Block 46 wiedergegeben. Ansonsten wird das verlorene Bild unter Verwendung von Interpolation, Durchschnittsbildung oder sonstigen Verfahren wie in Block 48 angezeigt wiedergewonnen und dann wird das Endbild am Block 46 wiedergegeben.
-
6 zeigt eine Ausführungsform eines Systems 700. In Ausführungsformen kann das System 700 ein Mediensystem sein, obwohl das System 700 nicht auf diesen Zusammenhang begrenzt ist. Zum Beispiel kann das System 700 in einem Personal Computer (PC), Laptop-Computer, Ultralaptop-Computer, Tablet, Berührungstastatur, tragbaren Computer, Taschenrechner, Palmtop-Computer, persönlichen digitalen Assistenten (PDA), Zellularfunktelefon, Zellularfunktelefon/PDA-Kombination, Fernseher, intelligenter Vorrichtung (z. B. Smartphone, Smarttablet oder Smartfernseher), mobiler Internetvorrichtung (MID-Mobile Internet Device), Nachrichtenübermittlungsvorrichtung, Datenkommunikationsvorrichtung und so fort eingebaut sein.
-
In Ausführungsformen umfasst das System 700 eine an eine Anzeige 720 angekoppelte Plattform 702. Die Plattform 702 kann Inhalt von einer Inhaltsvorrichtung wie beispielsweise Inhaltsdienstevorrichtung(en) 730 oder Inhaltsliefervorrichtung(en) 740 oder sonstigen ähnlichen Inhaltsquellen empfangen. Eine eine oder mehrere Navigationsmerkmale umfassende Navigationssteuerung 750 kann zum Zusammenwirken mit beispielsweise der Plattform 702 und/oder Anzeige 720 benutzt werden. Jede dieser Komponenten wird ausführlicher unten beschrieben.
-
In Ausführungsformen kann die Plattform 702 eine beliebige Kombination eines Chipsatzes 705, Prozessors 710, Speichers 712, Speicherung 714, Grafikteilsystem 715, Anwendungen 716, globalen Positionierungssystems (GPS) 721, Kamera 723 und/oder Funkgeräts 718 umfassen. Der Chipsatz 705 kann Wechselverkehr zwischen Prozessor 710, Speicher 712, Speicherung 714, Grafikteilsystem 715, Anwendungen 716 und/oder Funkgerät 718 bereitstellen. Zum Beispiel kann der Chipsatz 705 einen (nicht dargestellten) Speicheradapter fähig zum Bereitstellen von Wechselverkehr mit Speicherung 714 umfassen.
-
Zusätzlich kann die Form 702 ein Betriebssystem 770 enthalten. Eine Schnittstelle zum Prozessor 772 kann das Betriebssystem und den Prozessor 710 verbinden.
-
Zum Ausführen von Funktionen wie beispielsweise der Boot-Folge kann Firmware 790 bereitgestellt sein. Es kann ein Aktualisierungsmodul zum Ermöglichen der Aktualisierung der Firmware von außerhalb der Plattform 702 bereitgestellt sein. Zum Beispiel kann das Aktualisierungsmodul den Code zum Bestimmen enthalten, ob der Aktualisierungsversuch authentisch ist und zum Identifizieren der jüngsten Aktualisierung der Firmware 790 zum Erleichtern der Bestimmung, wenn Aktualisierungen benötigt sind, enthalten.
-
In einigen Ausführungsformen kann die Plattform 702 durch eine externe Stromversorgung bestromt sein. In einigen Fällen kann die Plattform 702 auch eine interne Batterie 780 enthalten, die als Stromquelle in Ausführungsformen wirkt, die nicht an externe Stromversorgung angepasst sind, oder in Ausführungsformen, die entweder Batteriestromversorgung oder externe Stromversorgung erlauben.
-
Die in 4 und 5 gezeigten Folgen können in Software- und Firmware-Ausführungsformen ausgeführt sein, indem sie in der Speicherung 714 oder im Speicher im Prozessor 710 oder Grafikteilsystem 715, um einige Beispiele zu erwähnen, aufgenommen sind. Das Grafikteilsystem 715 kann die Grafikverarbeitungseinheit umfassen und der Prozessor 710 kann in einer Ausführungsform eine Zentraleinheit sein.
-
Der Prozessor 710 kann als ein CISC Prozessor (CISC = Complex Instruction Set Computer – Computer mit komplexem Befehlvorrat) oder RISC-Prozessor (RISC = Reduced Instruction Set Computer – Computer mit verringertem Befehlvorrat), zum x86-Befehlssatz kompatible Prozessoren, Mehrkern- oder sonstige Mikroprozessor- oder Zentraleinheit (ZE – Central Processing Unit (CPU)) ausgeführt sein. In Ausführungsformen kann der Prozessor 710 Doppelkernprozessor(en), Doppelkern-Mobilfunkprozessor(en) und so fort umfassen.
-
Der Speicher 712 kann als flüchtige Speichervorrichtung wie beispielsweise, aber nicht begrenzt auf, ein Direktzugriffsspeicher (RAM-Random Access Memory), dynamischer Direktzugriffsspeicher (DRAM – Dynamic Random Access Memory), oder statischer Direktzugriffsspeicher (SRAM – Static RAM) ausgeführt sein.
-
Die Speicherung 714 kann als nichtflüchtige Speichervorrichtung wie beispielsweise, aber nicht begrenzt auf, ein Magnetplattenlaufwerk, optisches Plattenlaufwerk, Bandlaufwerk, eine interne Speichervorrichtung, eine angebrachte Speichervorrichtung, Flash-Speicher, batteriegesicherter SDRAM (synchronischer DRAM) und/oder eine netzzugängliche Speichervorrichtung ausgeführt sein. In Ausführungsformen kann die Speicherung 714 Technik zum Steigern des speicherungsleistungsverbesserten Schutzes für wertvolle digitale Medien umfassen, wenn beispielsweise mehrere Festplattenlaufwerke umfasst sind.
-
Das Grafikteilsystem 715 kann Verarbeitung von Bildern wie beispielsweise Standbildern oder Video zur Anzeige durchführen. Das Grafikteilsystem 715 kann zum Beispiel eine Grafikverarbeitungseinheit (GPU – Graphics Processing Unit) oder eine optische Verarbeitungseinheit (VPU – Visual Processing Unit) sein. Zum kommunikationstechnischen Verkoppeln des Grafikteilsystems 715 und der Anzeige 720 kann eine Analog- oder Digitalschnittstelle benutzt werden. Zum Beispiel kann die Schnittstelle eine beliebige von einer hochauflösenden Multimedienschnittstelle (High-Definition Multimedia Interface), DisplayPort, drahtlosen HDMI- und/oder drahtlosen HD-konformen Techniken sein. Das Grafikteilsystem 715 könnte in den Prozessor 710 oder den Chipsatz 705 integriert sein. Das Grafikteilsystem 715 könnte eine kommunikationstechnisch an den Chipsatz 705 angekoppelte freistehende Karte sein.
-
Die hier beschriebenen Grafik- und/oder Videoverarbeitungsverfahren können in verschiedenen Hardwarearchitekturen ausgeführt sein. Zum Beispiel kann Grafik- und/oder Videofunktionalität in einem Chipsatz integriert sein. Alternativ kann ein diskreter Grafik- und/oder Videoprozessor benutzt werden. Als weitere Ausführungsform können die Grafik- und/oder Videofunktionen durch einen Universalprozessor einschließlich einem Mehrkernprozessor implementiert sein. In einer weiteren Ausführungsform können die Funktionen in einer Verbraucher-Elektronikvorrichtung implementiert sein.
-
Das Funkgerät 718 kann ein oder mehrere Funkgeräte fähig zum Übertragen und Empfangen von Signalen unter Verwendung verschiedener geeigneter drahtloser Kommunikationsverfahren umfassen. Solche Verfahren können Kommunikationen über ein oder mehrere drahtlose Netze einbeziehen. Beispielhafte drahtlose Netze umfassen (sind aber nicht begrenzt auf) drahtlose Ortsnetze (WLAN – Wireless Local Area Networks), drahtlose Kurzstreckennetze (WPAN – Wireless Personal Area Networks), drahtlose Stadtbereichsnetze (WMAN – Wireless Metropolitan Area Network), Zellularfunknetze und Satellitennetze. Beim Verkehren über solche Netze kann das Funkgerät 718 nach einer oder mehreren anwendbaren Normen in jeder Fassung betrieben werden.
-
In Ausführungsformen kann die Anzeige 720 jeden beliebigen Fernsehmonitor oder jede beliebige Fernsehanzeige umfassen. Die Anzeige 720 kann beispielsweise einen Computer-Anzeigebildschirm, Berührungsanzeige, Videomonitor, fernseherartige Vorrichtung und/oder einen Fernseher umfassen. Anzeige 720 kann digital und/oder analog sein. In Ausführungsformen kann die Anzeige 720 eine holografische Anzeige sein. Auch kann die Anzeige 720 eine durchsichtige Oberfläche sein, die eine optische Projektion aufnehmen kann. Solche Projektionen können verschiedene Formen von Information, Bilder und/oder Objekten übermitteln. Zum Beispiel können solche Projektionen eine optische Überlagerung für eine MAR-Anwendung sein (MAR = Mobile Augmented Reality). Unter der Kontrolle einer oder mehrerer Softwareanwendungen 716 kann die Plattform 702 Benutzeroberfläche 722 auf der Anzeige 720 anzeigen.
-
In Ausführungsformen kann (können) Inhaltsdienstevorrichtung(en) 730 durch einen beliebigen nationalen, internationalen und/oder unabhängigen Dienst gehostet werden und damit beispielsweise über das Internet für die Plattform 702 zugänglich sein. Inhaltsdienstevorrichtung(en) 730 können an die Plattform 702 und/oder Anzeige 720 angekoppelt sein. Plattform 702 und/oder Inhaltsdienstevorrichtung(en) 730 können an ein Netz 760 zum Übermitteln (z. B. Senden und/oder Empfangen) von Medieninformationen zu und von dem Netz 760 angekoppelt sein. Auch kann (können) Inhaltsliefervorrichtung(en) 740 an die Plattform 702 und/oder Anzeige 720 angekoppelt sein.
-
In Ausführungsformen kann (können) Inhaltsdienstevorrichtung(en) 730 eine Kabelfernseherbox, einen Personal Computer, Netz-, Telefon-, Internet-befähigte Vorrichtungen oder Einrichtung fähig zur Abgabe von digitalen Informationen und/oder Inhalt und jede beliebige sonstige ähnliche Vorrichtung fähig zum einseitig gerichteten oder zweiseitig gerichteten Übermitteln von Inhalt zwischen Inhaltsanbietern und Plattform 702 und/oder Anzeige 720 über Netz 760 oder direkt umfassen. Es versteht sich, dass der Inhalt einseitig gerichtet und/oder zweiseitig gerichtet zu und von jeder beliebigen der Komponenten im System 700 und einem Inhaltsanbieter über Netz 760 übermittelt werden kann. Beispiele von Inhalt können beliebige Medieninformationen einschließlich von beispielsweise Video, Musik, ärztlicher und Spielinformationen und so fort umfassen.
-
Inhaltsdienstevorrichtung(en) 730 empfangen Inhalt wie beispielsweise Kabelfernseherprogrammierung mit Medieninformation, digitalen Informationen und/oder sonstigen Inhalt. Beispiele von Inhaltsanbietern können beliebige Kabel- oder Satellitenfernseher- oder Radio- oder Internet-Inhaltsanbieter umfassen. Die gebotenenen Beispiele sollen Ausführungsformen der Erfindung nicht begrenzen.
-
In Ausführungsformen kann die Plattform 702 Steuersignale von der Navigationssteuerung 750 mit einem oder mehreren Navigationsmerkmalen empfangen. Die Navigationsmerkmale der Steuerung 750 können beispielsweise zum Zusammenwirken mit der Benutzeroberfläche 722 benutzt werden. In Ausführungsformen kann die Navigationssteuerung 750 ein Zeigegerät sein, das eine Computerhardwarekomponente sein kann (insbesondere eine Benutzeroberflächenvorrichtung), die einem Benutzer erlaubt (z. B. fortlaufende und mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme wie beispielsweise grafische Benutzeroberflächen (GUI – Graphical User Interfaces) und Fernseher und Monitore erlauben dem Benutzer, Daten unter Verwendung physikalischer Gesten zu steuern und für den Computer oder Fernseher bereitzustellen.
-
Bewegungen der Navigationsmerkmale der Steuerung 750 können auf einer Anzeige (z. B. Anzeige 720) durch Bewegungen eines Zeigers, Cursors, Einstellerrings oder sonstiger auf der Anzeige angezeigter optischer Anzeiger wiedergespiegelt werden. Zum Beispiel können die auf der Navigationssteuerung 750 befindlichen Navigationsmerkmale unter der Kontrolle von Softwareanwendungen 716 auf beispielsweise der Benutzeroberfläche 722 angezeigte virtuelle Navigationsmerkmale abgebildet sein. In Ausführungsformen könnte die Steuerung 750 nicht eine getrennte Komponente, sondern in die Plattform 702 und/oder Anzeige 720 integriert sein. Ausführungsformen sind jedoch nicht auf die gezeigten oder hier beschriebenen Elemente oder in deren Zusammenhang begrenzt.
-
In Ausführungsformen können (nicht gezeigte) Treiber Technik umfassen, um Benutzern zu ermöglichen, die Plattform 702 wie einen Fernseher mit Berührung eines Knopfes nach dem anfänglichen Einschalten, wenn aktiviert, sofort ein- und auszuschalten. Programmlogik kann der Plattform 702 erlauben, Inhalt zu Medienadaptoren oder sonstigen Inhaltsdienstevorrichtung(en) 730 oder Inhaltsliefervorrichtung(en) 740 durchzugeben, wenn die Plattform ”aus-”geschaltet ist. Zusätzlich kann der Chipsatz 705 Hardware- und/oder Softwareunterstützung für Rundumton 5.1 und/oder hochauflösenden Rundumton 7.1 zum Beispiel umfassen. Treiber können einen Grafiktreiber für integrierte Grafikplattformen umfassen. In Ausführungsformen kann der Grafiktreiber eine PCI-Express-Grafikkarte umfassen (PCI = Peripheral Component Interconnect – Peripheriekomponentenbus).
-
In verschiedenen Ausführungsformen kann jede beliebige oder mehrere der im System 700 gezeigten Komponenten integriert sein. Beispielsweise kann die Plattform 702 und Inhaltsdienstevorrichtung(en) 730 integriert sein, oder die Plattform 702 und Inhaltsliefervorrichtung(en) 740 integriert sein, oder können beispielsweise Plattform 702, Inhaltsdienstvorrichtung(en) 730 und Inhaltslieferdienstevorrichtung(en) 740 integriert sein. In verschiedenen Ausführungsformen kann die Plattform 702 und Anzeige 720 eine integrierte Einheit sein. Anzeige 720 und Inhaltsdienstevorrichtung(en) 730 können integriert sein, oder Anzeige 720 und Inhaltszustellvorrichtung(en) 740 können beispielsweise integriert sein. Diese Beispiele sollen die Erfindung nicht begrenzen.
-
In verschiedenen Ausführungsformen kann das System 700 als ein drahtloses System, ein drahtgebundenes System oder eine Kombination beider ausgeführt sein. Wenn es als drahtloses System ausgeführt wird, kann das System 700 Komponenten und Schnittstellen geeignet zum Verkehren über ein drahtloses geteiltes Medium wie beispielsweise eine oder mehrere Antennen, Sender, Empfänger, Sender/Empfänger, Verstärker, Filter, Steuerlogik und so fort umfassen. Ein Beispiel drahtloser geteilter Medien kann Teile eines drahtlosen Spektrums wie beispielsweise das HF-Spektrum und so fort umfassen. Wenn es als drahtgebundenes System ausgeführt ist, kann das System 700 Komponenten und Schnittstellen geeignet zum Verkehren über drahtgebundene Kommunikationsmedien wie beispielsweise Eingangs-/Ausgangs-(E/A-)Adapter, physikalische Verbinder zum Verbinden des E/A-Adapters mit einem entsprechenden drahtgebundenen Kommunikationsmedium, eine Netzschnittstellenkarte (NIC – Network Interface Card), Plattensteuerung, Videosteuerung, Tonsteuerung und so fort umfassen. Beispiele drahtgebundener Kommunikationsmedien können einen Draht, ein Kabel, Metallleitungen, Druckplatte (PCB – Printed Circuit Board), Rückwand, Schaltmatrix, Halbleitermaterial, paarverseilten Draht, Koaxialkabel, Faseroptik und so fort umfassen.
-
Die Plattform 702 kann einen oder mehrere logische oder physikalische Kanäle zum Übermitteln von Informationen herstellen. Die Informationen können Medieninformationen und Steuerinformationen umfassen. Medieninformationen können sich auf alle Daten beziehen, die für einen Benutzer bestimmten Inhalt darstellen. Beispiele von Inhalt können beispielsweise Daten aus einer Unterhaltung, Videokonferenz, Streaming-Video, elektronische Postnachricht (”E-Mail”), Sprachpostnachricht, alphanumerische Symbole, Grafiken, Bild, Video, Text und so fort umfassen. Daten aus einer Unterhaltung können beispielsweise Sprachinformationen, Pausenlängen, Hintergrundgeräusch, Wartetöne, Töne und so fort sein. Steuerinformationen können sich auf alle Befehle, Anweisungen oder für ein automatisiertes System bestimmte Steuerworte darstellende Daten beziehen. Beispielsweise können Steuerinformationen zum Leiten von Medieninformationen durch ein System oder Anweisen eines Knotens zum Verarbeiten der Medieninformationen auf vorbestimmte Weise benutzt werden. Die Ausführungsformen sind jedoch nicht auf die in 6 gezeigten Elemente oder deren Zusammenhang begrenzt.
-
Wie oben beschrieben kann das System 700 in veränderlichen physikalischen Stilarten oder Formfaktoren ausgeführt sein. 7 zeigt Ausführungsformen einer Vorrichtung 800 mit kleinem Formfaktor, in der das System 700 ausgeführt sein kann. In Ausführungsformen kann beispielsweise die Vorrichtung 800 als eine mobile Rechenvorrichtung mit drahtlosen Fähigkeiten implementiert sein. Eine mobile Rechenvorrichtung kann sich auf jede Vorrichtung mit einem Verarbeitungssystem und einer mobilen Stromquelle oder -versorgung wie beispielsweise einer oder mehreren Batterien beziehen.
-
Wie oben beschrieben können Beispiele einer mobilen Rechenvorrichtung einen Personal Computer (PC), Laptop-Computer, Ultra-Laptop-Computer, ein Tablet, Berührungstastatur, tragbaren Computer, Handcomputer, Palmtop-Computer, persönlichen digitalen Assistent (PDA), ein Zellulartelefon, kombinierten Zellulartelefon/PDA, Fernseher, intelligente Vorrichtung (z. B. Smartphone, Smarttablet oder Smartfernseher), eine mobile Internetvorrichtung (MID – Mobile Internet Device), Nachrichtenübermittlungsvorrichtung, Datenkommunikationsvorrichtung und so fort umfassen.
-
Beispiele einer mobilen Rechenvorrichtung können auch Computer umfassen, die angeordnet sind, von einer Person getragen zu werden, wie beispielsweise einen Armbandcomputer, Fingercomputer, Ringcomputer, Brillencomputer, Gurtschlosscomputer, Armbandcomputer, Schuhcomputer, Kleidungscomputer und sonstige tragbare Computer. In Ausführungsformen kann beispielsweise eine mobile Rechenvorrichtung als ein Smartphone fähig zur Ausführung von Computeranwendungen wie auch Sprachkommunikationen und/oder Datenkommunikationen implementiert sein. Obwohl einige Ausführungsformen beispielsweise mit einer implementierten mobilen Rechenvorrichtung als Smartphone beschrieben werden können, versteht es sich, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser mobiler Rechenvorrichtungen implementiert sein können. Die Ausführungsformen sind in diesem Zusammenhang nicht begrenzt.
-
Wie in 7 gezeigt, kann die Vorrichtung 800 ein Gehäuse 802, eine Anzeige 804, eine Eingabe-/Ausgabe-(E/A-)Vorrichtung 806 und eine Antenne 808 umfassen. Auch kann die Vorrichtung 800 Navigationsmerkmale 812 umfassen. Die Anzeige 804 kann jede geeignete Anzeigeeinheit zum Anzeigen von für eine mobile Rechenvorrichtung zutreffenden Informationen umfassen. E/A-Vorrichtung 806 kann jede geeignete E/A-Vorrichtung zum Eingeben von Informationen in eine mobile Rechenvorrichtung umfassen. Beispiele für die E/A-Vorrichtung 806 umfassen eine alphanumerische Tastatur, eine numerische Tastatur, ein Tastfeld, Eingangstasten, Knöpfe, Schalter, Wippschalter, Mikrofone, Lautsprecher, Spracherkennungsvorrichtungen und Software und so fort. Informationen können auch über Mikrofon in die Vorrichtung 800 eingegeben werden. Solche Informationen können durch eine Spracherkennungsvorrichtung digitalisiert werden. Die Ausführungsformen sind in diesem Zusammenhang nicht begrenzt.
-
Verschiedene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination beider implementiert sein. Beispiele von Hardwareelementen können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren und so fort), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC – Application Specific Integrated Circuits), programmierbare Logikvorrichtungen (PLD – Programmable Logic Devices), digitale Signalprozessoren (DSP), feldprogrammierbare Gattergruppe (FPGA – Field Programmable Gate Array), Logikgatter, Register, Halbleitervorrichtung, Bausteine, Mikrochips, Chipsätze und so fort umfassen. Beispiele von Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API – Application Program Interface), Anweisungssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede beliebige Kombination derselben umfassen. Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert ist, kann gemäß einer beliebigen Anzahl von Faktoren wie beispielsweise erwünschte Rechengeschwindigkeit, Strompegel, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und sonstige Auslegungs- oder Leistungsbeschränkungen veränderlich sein.
-
Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch auf einem maschinenlesbaren Medium gespeicherte repräsentative Anweisungen implementiert sein, das verschiedene Logik im Prozessor darstellt, die bei Auslesung durch eine Maschine die Maschine veranlasst, Logik zum Durchführen der hier beschriebenen Verfahren herzustellen. Solche Repräsentationen bekannt als ”IP-Kerne” können in einem fassbaren maschinenlesbaren Medium gespeichert und verschiedenen Kunden oder Herstellungseinrichtungen zum Einladen in die Herstellungsmaschinen zugeführt werden, die die Logik oder den Prozessor eigentlich herstellen.
-
Verschiedene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination beider implementiert sein. Beispiele von Hardwareelementen können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren und so fort), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC – Application Specific Integrated Circuit), programmierbare Logikvorrichtungen (PLD – Programmable Logic Devices), Digitale Signalprozessoren (DSP), feldprogrammierbare Gattergruppe (FPGA), Logikgatter, Register, Halbleitervorrichtung, Bausteine, Mikrochips, Chipsätze und so fort umfassen. Beispiele von Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API – Application Program Interfaces), Anweisungssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination derselben, umfassen.
-
Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert ist, kann gemäß einer beliebigen Anzahl von Faktoren verändern wie beispielsweise gewünschte Rechengeschwindigkeit, Strompegel, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und sonstige Auslegungs- oder Leistungsbeschränkungen veränderlich sein.
-
Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch in einem maschinenlesbaren Medium gespeicherte repräsentative Anweisungen implementiert werden, das verschiedene Logik im Prozessor darstellt, die, wenn sie durch eine Maschine gelesen wird, die Maschine veranlasst, Logik zum Durchführen der hier beschriebenen Verfahren herzustellen. Solche, als ”IP-Kerne” bekannte Repräsentationen können auf einem fassbaren maschinenlesbaren Medium gespeichert und verschiedenen Kunden oder Herstellungseinrichtungen zum Einladen in die Herstellungsmaschinen zugeführt werden, die die Logik oder den Prozessor eigentlich herstellen.
-
Die hier beschriebenen Grafikverarbeitungsverfahren können in verschiedenen Hardwarearchitekturen implementiert sein. Zum Beispiel kann eine Grafikfunktionalität in einem Chipsatz integriert sein. Alternativ kann ein diskreter Grafikprozessor benutzt werden. Als noch weitere Ausführungsform können die Grafikfunktionen durch einen Universalprozessor einschließlich eines Mehrkern-Prozessors implementiert sein.
-
Bezugnahmen in dieser gesamten Anmeldung auf ”eine Ausführungsform” oder ”Ausführungsform” bedeuten, dass ein in Verbindung mit der Ausführungsform beschriebenes bestimmtes Merkmal, eine Struktur oder Eigenschaft in wenigstens einer in der vorliegenden Erfindung umfassten Ausführung enthalten ist. So beziehen sich Erscheinungen der Phrase ”eine Ausführungsform” oder ”in einer Ausführungsform” nicht unbedingt auf die gleiche Ausführungsform. Weiterhin können die bestimmten Merkmale, Strukturen oder Eigenschaften in anderen geeigneten Formen als der dargestellten bestimmten Ausführungsform eingerichtet sein und alle derartigen Formen können in den Ansprüchen der vorliegenden Anmeldung umfasst sein.
-
Während die vorliegende Erfindung hinsichtlich einer begrenzten Anzahl von Ausführungsformen beschrieben worden ist, wird der Fachmann zahlreiche Abänderungen und Variationen davon erkennen. Die beiliegenden Ansprüche sollen alle derartigen Abänderungen und Veränderungen, die in den wahren Sinn und Schutzumfang der vorliegenden Erfindung fallen, abdecken.