-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Offenbarung bezieht sich allgemein auf Videokomprimierung und genauer auf die Techniken zur Videoverbesserung in Anwendungen von Übertragung niedriger Bandbreite.
-
Beschreibung des Standes der Technik
-
Es gab einen rasanten Anstieg in der Menge von hochauflösenden Videodaten im Internet, insbesondere mit den verringerten Kosten leistungsstärkerer Einheiten und dem Wachstum von Anwendungen zum Erzeugen, Betrachten und Übertragen von Inhalt. Es wird geschätzt, dass die Anzahl von Menschen, die hochauflösende Videodaten übertragen, die 100 Millionen Menschen übersteigt, große Bandbreitenkosten mit sich bringt. Insbesondere, da ständig ansteigende Zahlen von Benutzern gleichzeitig Live-Ereignisse betrachten, wachsen die Bandbreitenkosten zum Bereitstellen eines guten Dienstes für so viele Benutzer weiter.
-
Derzeit wurden effiziente auf Videocodec beruhende Decodiertechniken in einem Versuch erzeugt, Bandbreitenkosten zu verringern. Zum Beispiel können Videocodier/-decodiertechniken wie beispielsweise H.264 eine Videogröße für Videos mit einer signifikanten Menge von zeitlicher Redundanz effektiv komprimieren. Es gibt jedoch Probleme mit solchen Typen von Videocodier/-decodiertechniken, mit verlorenen Informationen die während der Komprimierungs-Dekomprimierungs-Prozesse auftreten, welche die Qualität des Videos verringern. Ein weiteres Problem mit solchen Typen von Videocodier/-decodiertechniken ist ihre rechentechnische Komplexität. Leistungsstarke Hardware wird einbezogen, um solche Videocodier/-decodiertechniken umzusetzen, was ein Problem hinsichtlich der Umsetzung auf Einheiten wie beispielsweise Mobiltelefonen darstellt.
-
Manche Versuche beim Lösen des Bandbreitenkostenproblems enthalten eine adaptive Videokomprimierung einer grafischen Benutzeroberfläche unter Verwendung der Anwendungsmetadaten. Ein struktureller Abschnitt oder semantischer Abschnitt eines Videosignals ist die Aufgabe einer adaptiven Codiereinheit einer identifizierten Bildregion. Diese Protokoll erfordert noch Endeinheiten, die fähig sind, eine komplexe Dekomprimierung und Glättung gemäß der Analyse der Anwendungsmetadaten durchzuführen.
-
Andere Versuche enthalten ein Datenbeschneiden für die Videokomprimierung unter Verwendung beispielgestützter Superauflösung. Video-Patches werden aus einem Eingangsvideo extrahiert, in einem Clustering-Verfahren gruppiert, und repräsentative Patches werden in Patch-Einzelbilder gepackt. Das ursprüngliche Video wird verkleinert und zusammen oder zusätzlich zu Patch-Einzelbildern gesendet. An dem Decodierende werden reguläre Videoeinzelbilder vergrößert und die Patches mit niedriger Auflösung werden durch Patches aus einer Patch-Bibliothek ersetzt. Die Ersetzung wird nur vorgenommen, wenn ein geeignetes Patch verfügbar ist.
-
Es gab auch Versuche, künstliche Intelligenz (KI) zu verwenden, um Probleme bei der Videoverbesserung und -übertragung zu lösen. Zum Beispiel wurde Dezimierung in hochauflösendem Video an einem Videoquellenende ausgeführt, um ein niedrigauflösendes Video zu erhalten. Das niedrigauflösende Video wird in einem bestehenden Videocodiermodus komprimiert und übertragen, was den Videodatenverkehr in hohem Maße verringert. An einem Empfangsende empfängt und rekonstruiert der Benutzer das niedrigauflösende Video durch Anwenden von tiefem Lernen auf ein superauflösendes Bildrekonstruktionsverfahren, um das niedrigauflösende Video in ein hochauflösendes Video mit einer Verringerung der Videoübertragungs-Bandbreitenkosten von 50 % wiederherzustellen. Somit wird die Komprimierung und Rekonstruktion an einem gesamten Video ohne Kenntnis von salienten und nicht salienten Informationen durchgeführt.
-
Es bleibt ein Bedarf, Videokomprimierungs/-codierungs- und -verbesserungstechniken in Übertragungsanwendungen mit niedriger Bandbreite zu entwickeln.
-
KURZDARSTELLUNG
-
Gemäß einer bestimmten Ausführungsform wird ein computerumgesetztes Verfahren zum Codieren von Videostreams für Übertragungen mit niedriger Bandbreite vorgestellt; das Verfahren weist ein Identifizieren von salienten Daten und nicht salienten Daten in einem hochauflösenden Videostream. Die salienten Daten und die nicht salienten Daten werden segmentiert, und die nicht salienten Daten werden in eine niedrigere Auflösung komprimiert. Die salienten Daten und die komprimierten nicht salienten Daten werden in einer Übertragung mit niedriger Bandbreite übertragen. Das computerumgesetzte Verfahren gestattet vorteilhaft die Übertragung hochauflösender Daten in einer Übertragung mit niedriger Bandbreite mit einem weniger komplizierten Prozess, der die nicht salienten Daten komprimiert.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner ein Codieren der nicht salienten Daten vor einem Durchführen der Komprimierung der nicht salienten Daten. Das Codieren setzt die Daten in ein Format, das zur Übertragung in der niedrigen Bandbreite geeignet ist.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner die salienten Daten bei einem geringeren Komprimierungsverhältnis als die nicht salienten Daten vor dem Übertragen der salienten Daten und der komprimierten nicht salienten Daten. Die salienten Daten sind oft die am genausten beobachteten Daten, und falls sie aufgrund von Bandbreitenproblemen nicht in ihrer hochauflösenden Form übertragen werden, kann eine Komprimierung, die geringer als die nicht salienten Daten ist, eine Rekonstruktion an dem Empfangsende erleichtern.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner ein Identifizieren mindestens eines der nicht salienten Daten und der salienten Daten in dem Videostream durch ein Maschinenlernmodell. Die Verwendung des Maschinenlernmodells bringt eine erhöhte Effizienz und ein Identifizieren von salienten Daten und nicht salienten Daten unter Verwendung von Domänenwissen.
-
In einer bestimmten Ausführungsform ist das Maschinenlernmodell ein Generative Adversarial Network (GAN), und das computerumgesetzte Verfahren enthält ferner ein Trainieren des GAN-Maschinenlernmodells, um ein Identifizieren der nicht salienten Daten mit Daten von nicht salienten Merkmalen aus zuvor aufgezeichneten Videostreams durchzuführen. Das GAN-Maschinenlernmodell ist besonders effektiv beim Durchführen einer genauen Identifikation der salienten und nicht salienten Daten.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner ein Bereitstellen des GAN-Maschinenlernmodells für eine Benutzereinheit vor dem Übertragen der salienten Daten und der komprimierten nicht salienten Daten des Videostreams an die Benutzereinheit. Der Benutzer erhält Zugang zu dem GAN-Modell, um einen Vorteil beim Rekonstruieren der niedrigauflösenden nicht salienten Daten in hochauflösende nicht saliente Daten zu haben und zum Kombinieren mit den salienten Daten, um das hochauflösende Video zu rekonstruieren.
-
In einer bestimmten Ausführungsform enthält das Identifizieren der salienten Daten ein Identifizieren domänenspezifischer Eigenschaften von Objekten in dem Videostream. Die Eigenschaften bestimmter Objekte können die Geschwindigkeit und Genauigkeit des Identifizierens salienter Daten erhöhen.
-
In einer bestimmten Ausführungsform enthält das Identifizieren der salienten Daten ein Anwenden eines domänenspezifischen Modells künstlicher Intelligenz (KI) für eines oder mehrere von Gesichtserkennung oder Objekterkennung. Das KI-Modell für Gesichtserkennung erhöht die Effizienz und Geschwindigkeit des Identifikationsvorgangs der salienten und nicht salienten Daten.
-
In einer bestimmten Ausführungsform enthält das Anwenden des domänenspezifischen Kl-Modells ein Identifizieren eines Restes der Informationen des Videostreams als die nicht salienten Daten.
-
In einer bestimmten Ausführungsform wird eine Mehrzahl von Videostreams mit jeweils unterschiedliche Ansichten eines oder mehrerer Objekte empfangen, und das Identifizieren und Segmentieren der salienten Daten und nicht salienten Daten wird einzeln für mindestens zwei jeweils unterschiedliche Ansichten durchgeführt, die übertragen werden. Die unterschiedlichen Kameraansichten bringen Benutzeransichten eine größere Flexibilität, und das Durchführen eines einzelnen Identifizierens und Segmentierens der Videodaten erhöht die Effizienz und die Auswahl einer bestimmten Ansicht.
-
In einer Ausführungsform enthält ein computerumgesetztes Verfahren zum Decodieren von Videodaten in mehrere Auflösungsformate ein Empfangen eines Videostreams mit salienten Daten und nicht salienten Daten. Die salienten Daten befinden sich in einem Format mit höherer Auflösung als die nicht salienten Daten. Eine Rekonstruktion wird an den nicht salienten Daten durchgeführt, um das Auflösungsformat zu vergrößern. Die salienten Daten und die rekonstruierten nicht salienten Daten werden rekombiniert, um einen Videostream in dem Format mit höherer Auflösung der salienten Daten zu bilden. Das Decodieren gestattet es den empfangenen komprimierten nicht salienten Daten, ihre Auflösung zu vergrößern, um mit den salienten Daten in einem hochauflösenden Video kombiniert zu werden.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner ein Empfangen eines oder mehrerer von einer Verknüpfung zum Zugriff oder ausführbarem Code zum Laden eines Maschinenlernmodells eines Generative Adversarial Network (GAN), das trainiert ist, um nicht saliente Merkmale beruhend auf zuvor aufgezeichneten Videostreams zu identifizieren. Die nicht salienten Daten werden bei einer erhöhten Auflösung unter Verwendung des GAN-Maschinenlernmodells rekonstruiert, und das GAN-Maschinenlernmodell hat erhöhte Effizienzen beim Rekonstruieren des Videos in eine hochauflösende Auflösung.
-
In einer bestimmten Ausführungsform enthält der empfangene Videostream saliente Daten und nicht saliente Daten, die aus mehreren Ansichtspunkten erfasst werden, und das GAN-Maschinenlernmodell wird trainiert, um die salienten Daten auf Grundlage der mehreren Ansichtspunkte zu identifizieren. Die nicht salienten Daten werden in die höhere Auflösung der salienten Daten unter Verwendung des GAN-Maschinenlernmodells rekonstruiert, das an den mehreren Ansichtspunkten trainiert wird. Es gibt Vorteile, in der Lage zu sein, mehrere Ansichtspunkte zu besitzen, insbesondere bei Sportereignissen, und das GAN-Maschinenlernmodell erhöht die Effizienz eines Unterscheidens zwischen den salienten und nicht salienten Daten.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner ein Empfangen mehrerer Übertragungen der salienten Daten und der nicht salienten Daten für jeden jeweiligen Ansichtspunkt, indem ein bestimmter Ansichtspunkt zur Anzeige als Reaktion auf eine Auswahl rekonstruiert wird. Die Auswählbarkeit unterschiedlicher Ansichtspunkte sorgt für eine erhöhte Nützlichkeit eines Datenbetrachtens.
-
In einer bestimmten Ausführungsform enthält das computerumgesetzte Verfahren ferner ein Teilen von Standortinformationen mit einem oder mehreren registrierten Benutzern; und ein Empfangen auswählbarer Ansichten der salienten Daten und der nicht salienten Daten, die durch den einen oder die mehreren registrierten Benutzter erfasst werden. Die Benutzer können vorteilhaft Ansichten unter sich aus unterschiedlichen Positionen in einer Arena, einem Theater usw. teilen.
-
In einer Ausführungsform enthält eine Datenverarbeitungseinheit zum Codieren von Videostreams für Übertragungen mit niedriger Bandbreite einen Prozessor, einen mit dem Prozessor gekoppelten Arbeitsspeicher, wobei der Arbeitsspeicher Anweisungen speichert, um den Prozessor zu veranlassen, Handlungen durchzuführen, einschließlich eines Identifizierens von salienten Daten und nicht salienten Daten in einem Videostream und eines Segmentierens des Videostreams in saliente Daten und die nicht salienten Daten. Die nicht salienten Daten werden codiert und komprimiert, und die salienten Daten und die komprimierten nicht salienten Daten werden übertragen. Die Computereinheit gestattet vorteilhaft die Übertragung hochauflösender Daten in einer Übertragung mit niedriger Bandbreite mit einem weniger komplizierten Vorgang, die nicht salienten Daten zu komprimieren. Es kann Einsparungen bei der Verarbeitungsleistung oder der erforderlichen Bandbreite zur Übertragung geben.
-
In einer bestimmten Ausführungsform enthält die Datenverarbeitungseinheit ein Maschinenlernmodell eines Generative Adversarial Network (GAN) in Kommunikation mit dem Arbeitsspeicher, und die Anweisungen veranlassen den Prozessor, zusätzliche Handlungen durchzuführen, einschließlich Trainieren des GAN-Maschinenlernmodells mit Trainingsdaten nicht salienter Merkmale auf Grundlage zuvor aufgezeichneter Videostreams, um das Identifizieren von mindestens den nicht salienten Daten durchzuführen. Das GAN-Maschinenlernmodell sorgt für einen effizienteren Betrieb mit verringerten Verarbeitungs- und Leistungsanforderungen.
-
In einer bestimmten Ausführungsform veranlasst die Datenverarbeitungseinheit den Prozessor, zusätzliche Handlungen durchzuführen, einschließlich eines Identifizierens der salienten Daten, was ein Anwenden eines domänenspezifischen Modells künstlicher Intelligenz (KI) für eines oder mehrere von Gesichtserkennung oder Objekterkennung aufweist. Die Verwendung von KI bei Gesichts- oder Objekterkennung stellt eine erhöhte Genauigkeit und Effizienz beim Identifizieren der salienten und nicht salienten Daten bereit.
-
In einer bestimmten Ausführungsform enthält die Datenverarbeitungseinheit zusätzliche Anweisungen, um den Prozessor zu veranlassen, zusätzliche Handlungen durchzuführen, einschließlich Übertragen unterschiedlicher Kameraansichten der salienten Daten und der nicht salienten Daten an jeweilige Empfangseinheiten. Die unterschiedlichen Kameraansichten erhöhen die Effektivität jeder zugeordneten Benutzereinheit durch Bereitstellen der unterschiedlichen Ansichten eines erfassten Ereignisses.
-
Diese und weitere Merkmale werden anhand der folgenden detaillierten Beschreibung veranschaulichender Ausführungsformen davon ersichtlich, die in Verbindung mit den begleitenden Zeichnungen zu lesen ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die Zeichnungen sind veranschaulichende Ausführungsformen. Sie veranschaulichen nicht alle Ausführungsformen. Andere Ausführungsformen können zusätzlich oder stattdessen verwendet werden. Details, die ersichtlich oder unnötig sein können, können weggelassen sein, um Platz zu sparen oder für eine effektivere Veranschaulichung. Manche Ausführungsformen können mit zusätzlichen Komponenten oder Schritten und/oder ohne alle Komponenten oder Schritte, die veranschaulicht sind, ausgeführt werden. Wenn dieselbe Zahl in unterschiedlichen Zeichnungen erscheint, bezieht sie sich auf dieselben oder ähnliche Komponenten oder Schritte.
- 1 stellt konsistent mit einer veranschaulichenden Ausführungsform einen architektonischen Überblick eines Systems zum Codieren von Videostreams für Übertragungen mit niedriger Bandbreite bereit.
- 2 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform einen Datensegmentierungsvorgang des Videos eines ersten Sportereignisses, bei dem saliente Daten identifiziert werden.
- 3 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform einen Datensegmentierungsvorgang des Videos eines zweiten Sportereignisses, bei dem saliente Daten identifiziert werden.
- 4A veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform einen Vorgang eines Erkennens salienter Daten aus mehreren Ansichtspunkten.
- 4B veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform das Decodieren und die Rekonstruktion der mehreren Ansichtspunkte salienter Daten, die in 4A erkannt wurden.
- 5 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform ein Benutzerenddecodieren, das eine Salienzverbesserung mit mehreren Ansichten enthält.
- 6 ist konsistent mit einer veranschaulichenden Ausführungsform ein Ablaufplan, der ein computerumgesetztes Verfahren zum Codieren von Videostreams für Übertragungen mit niedriger Bandbreite veranschaulicht.
- 7 ist konsistent mit einer veranschaulichenden Ausführungsform ein Ablaufplan, der die Verwendung von Maschinenlernmodellen für ein computerumgesetztes Verfahren zum Codieren von Videostreams für hochauflösendes Video in einer Übertragung mit niedriger Bandbreite veranschaulicht.
- 8 ist konsistent mit einer veranschaulichenden Ausführungsform ein Ablaufplan, der Vorgänge zum Decodieren und die Rekonstruktion veranschaulicht.
- 9 ist konsistent mit einer veranschaulichenden Ausführungsform eine funktionelle Blockschaubildveranschaulichung einer Computerhardwareplattform, die mit Agenten beim Durchführen einer gemeinschaftlichen Aufgabe Daten austauschen kann.
- 10 stellt konsistent mit einer veranschaulichenden Ausführungsform eine veranschaulichende Cloud-Computing-Umgebung dar.
- 11 stellt konsistent mit einer veranschaulichenden Ausführungsform einen Satz funktioneller Abstraktionsschichten dar, die durch eine Cloud-Computing-Umgebung bereitgestellt werden.
-
DETAILLIERTE BESCHREIBUNG
-
Überblick
-
In der folgenden detaillierten Beschreibung werden mittels Beispielen zahlreiche spezifische Details dargelegt, um ein umfassendes Verständnis der relevanten Lehren zu ermöglichen. Es sollte sich jedoch verstehen, dass die vorliegenden Lehren ohne solche Details ausgeführt werden können. In anderen Fällen wurden allgemein bekannte Verfahren, Prozeduren, Komponenten und/oder Schaltkreise auf einer relativ hohem Ebene ohne Detail beschrieben, um ein unnötiges Verunklaren von Aspekten der vorliegenden Lehren zu vermeiden.
-
In der vorliegenden Offenbarung entspricht der Begriff einer „niedrigen Bandbreite“ einer drahtlosen Datenübertragung bei etwa 2 kbit/s (z.B. 1G). Ein „Bereich hoher Bandbreite“ entspricht einer drahtgebundenen/drahtlosen Datenübertragung bis zu 1 Gbit/s oder höher (z.B. Ethernet oder 5G). Bezugnahmen hierin auf Videoauflösungen entsprechen QVGA (240 x 320 Pixel) für niedrige Auflösung und 4K (3840 x 2160 Pixel) für hohe Auflösung.
-
Das computerumgesetzte Verfahren und die Einheit der vorliegenden Offenbarung stellen eine Verbesserung auf den Gebieten der Bildverarbeitung und Videoübertragung bereit, insbesondere durch Übertragen des salienten Datenabschnitts von hochauflösenden Videodaten über eine Übertragung mit niedriger Bandbreite ohne Komprimieren der salienten Daten und ohne zu einem Verlust an Qualität bei einem Benutzerende zu führen. Durch Komprimieren der nicht salienten Daten und Belassen der salienten Daten für die Übertragung in ihrer hochauflösenden Form, werden die Effizienz und Qualität der Videodaten erhöht. Das System und das Verfahren der vorliegenden Offenbarung sind weniger kompliziert, was verglichen mit einem Komprimieren gesamter Videostreams zur Übertragung zu einem verringerten Leistungsverbrauch und verringerter erforderlicher Verarbeitungsfähigkeit führt. Die Videoqualität leidet unter einem Verlust nicht auf die Weise wie dies eine herkömmliche Komprimierung des gesamten Videostreams tun würde. Es wird unter Verwendung der Lehren der vorliegenden Offenbarung auch eine Zeiteinsparung realisiert, da weniger Daten komprimiert und dekomprimiert werden.
-
Zum Beispiel sind in bestimmten veranschaulichenden Ausführungsformen der vorliegenden Offenbarung die domänenspezifischen Informationen (z.B. salienten Informationen) höchst relevant für den Endbenutzer und werden daher in ihrer ursprünglichen Auflösung belassen. Die anderen Informationen aus dem Video werden komprimiert, übertragen und an dem Benutzerende rekonstruiert. Die vorliegende Offenbarung ist eine Verbesserung gegenüber Verfahren, die ohne Domänenkenntnis Patches extrahieren und verwendet diese Patches um eine Abtastratenerhöhung an dem Video durchzuführen.
-
Beispielarchitektur
-
1 stellt konsistent mit einer veranschaulichenden Ausführungsform einen architektonischen Überblick 100 eines Systems zum Codieren von Videostreams für Übertragungen mit niedriger Bandbreite bereit.
-
1 zeigt gemäß der vorliegenden Offenbarung ein Serverende 105, das die hochauflösenden Daten für eine Übertragung mit niedriger Bandbreite codiert. Die hochauflösende Videoerfassung 110 ist typischerweise eine Kamera, aber wenn das Ereignis zuvor aufgezeichnet wäre, könnte das erfasste Video durch eine Speicherungseinheit oder eine Videowiedergabevorrichtung bereitgestellt werden. Bei 115 findet eine Datensegmentierung statt, um die Daten in saliente Daten 120 und nicht saliente Daten 125 zu segmentieren. Saliente Daten können domänenrelevante Daten enthalten, wie beispielsweise Objekte von Interesse oder benutzermarkierte Regionen von Interesse. Saliente Daten können auch Objekte in Bewegung sein. Zum Beispiel würden in einem Fußballspiel mindestens die Spieler und der Ball als saliente Daten betrachtet werden, wohingegen die Menge und die Arena als nicht saliente Daten betrachtet werden würden. Nicht saliente Daten sind Daten mit wenig Bedeutung, wie beispielsweise, ohne Einschränkung, statische Informationen in Videoeinzelbildern, Massenszenen, Hintergründe usw. Ein Codierer 130 ist so konfiguriert, dass er ein Codieren und eine Komprimierung an den nicht salienten Daten durchführt.
-
Das Ergebnis ist, dass die codierten und komprimierten nicht salienten Daten nun niedrigauflösende nicht saliente Daten sind, insbesondere aufgrund des Komprimierungsprozesses. Die salienten Daten in dieser veranschaulichenden Ausführungsform bleiben in der Form von hochauflösenden salienten Daten. Somit leiden die salienten Daten nicht unter Komprimierungsverlusten, die auftreten, wenn Daten komprimiert werden, und die wahrgenommene Qualität des Videos bleibt hoch, da Betrachter typischerweise die salienten Daten beobachten und sich oft nicht auf die Hintergrunddaten konzentrieren. Durch Komprimieren der nicht salienten Daten ist die Verringerung ausreichend, um das Video unter Verwendung von Streaming mit niedriger Bandbreite zu übertragen. Da darüber hinaus die nicht salienten Daten oft dazu neigen, einen Großteil der Sichtfläche einzunehmen (wie in 2 und 3 gezeigt), stellt das Servercodieren und die Serverkomprimierung der vorliegenden Offenbarung, wie beispielsweise in 1 gezeigt, eine effiziente Weise bereit, hochauflösendes Video durch Streaming mit niedriger Bandbreite zu übertragen. Das Server-Endcodieren und die Server-Endkomprimierung, wie hierin erörtert, erfordert nicht die großen Rechenressourcen, die für herkömmliche Komprimierung von hochauflösendem Video erforderlich sind.
-
Noch Bezug nehmend auf 1 empfängt das Benutzerende 155 die Übertragung mit niedriger Bandbreite 140 und führt ein Decodieren und eine Rekonstruktion durch. In einer Übertragung mit einer einzelnen Ansicht, die mit einer einzelnen Kamera 160 erfasst wurde, decodiert die Benutzerendeinheit den Videostream in die nicht salienten Daten in einem Format mit niedrigerer Auflösung und die salienten Daten in das Format mit höherer Auflösung (annehmend, dass die salienten Daten für die Übertragung codiert, aber nicht komprimiert wurden). Die nicht salienten Daten werden in das Format mit höherer Auflösung der salienten Daten rekonstruiert. Die salienten Daten und die rekonstruierten nicht salienten Daten werden kombiniert, um einen Videostream 185 in dem Format mit höherer Auflösung der salienten Daten zu bilden, der ausgegeben wird.
-
In bestimmten veranschaulichenden Ausführungsformen spielt künstliche Intelligenz eine Rolle am Serverende und/oder am Benutzerende. Am Serverende wird ein Maschinenlernmodell trainiert, um saliente Daten und nicht saliente Daten zu identifizieren (z.B. Datensegmentierung). Das Maschinenlernmodell kann mit zuvor aufgezeichneten Videos/Bildern nicht salienter Informationen trainiert werden. Zum Beispiel kann im Falle, dass ein Fußballspiel gestreamt wird, ein vorheriges Aufzeichnen der Menge, der Arena, des Feldes usw. verwendet werden, um das Maschinenlernmodell dahingehend zu trainieren, welche erfassten Videodaten nicht saliente Daten sind, sowie Trainieren des Maschinenlernmodells, um die salienten Daten zu identifizieren. Ein bestimmter Weg zum Erkennen salienter Daten ist das Erkennen von Bewegung. Zum Beispiel sind in einem Fußballspiel die Spieler, der Fußball und die Schiedsrichter üblicherweise in Bewegung.
-
Die salienten Daten entsprechen domänenspezifischen Eigenschaften (z.B. Spieler in einem Fußballspiel), die dem System durch eine Benutzerschnittstelle bereitgestellt werden können (z.B. Höhepunkte/Anmerkungen zu dem Video), oder sie können automatisch durch domänenspezifische KI-Modelle für Gesichts-/Objekterkennung erkannt werden. Die verbleibenden Informationen in dem Video werden als nicht salient oder Hintergrund angesehen. Insbesondere am Serverende wird ein Maschinenlernmodell eines Generative Adversarial Network (GAN) trainiert, um nicht saliente Merkmale zu erkennen (z.B. eine Menge in der Arena).
-
Mit weiterer Hinsicht auf das Benutzerende 155 sendet in einer veranschaulichenden Ausführungsform, wenn sich ein Benutzer bei dem System registriert, das System das trainierte Modell (GAN) an den Benutzer, sodass anschließend die nicht salienten Merkmale rekonstruiert werden können. Ein weiterer Weg wie der Benutzer auf das GAN zugreifen kann, ist durch eine Verknüpfung, da das Benutzerende 155 möglicherweise nicht den Speicherplatz oder die Verarbeitungsleistung besitzt, um das GAN zu empfangen und zu betreiben.
-
Mit fortgesetzter Bezugnahme auf 1 wird gezeigt, dass mehrere Kameras 160 für eine Salienzverbesserung mit mehreren Ansichten 165 in Verbindung mit einem Prozess tiefen Lernens 170 verwendet werden können. Die Vielfachansichten-Salienz-Verbesserungen 165 wird durch ein Kombinieren der salienten Informationen der mehreren Ansichtspunkte mit dem Trainieren eines KI-Modells (Deep Leanring Model 170) erreicht, um die Bildqualität der salienten Daten zu verbessern. Zusätzlich können die aus mehreren Ansichtspunkten von den Kameras 180 gesammelten Daten auch zusammen kombiniert werden, um das Modell tiefen Lernens 170 zu trainieren, um die Rekonstruktion des Bildes von niedriger Auflösung zu hoher Auflösung zu verbessern.
-
2 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform einen Datensegmentierungsvorgang 200 des Videos eines ersten Sportereignisses, bei dem saliente Daten identifiziert werden. 2 zeigt ein Bild 205 eines Fußballspiels mit zur Einfachheit des Verständnisses eingekreisten Spielern 215. In diesem Fall sind die Spieler die salienten Daten, und die Hintergrundmenge 225 in der Arena (sowie alle Flaggen und Zeichen) sind nicht saliente Daten. Wie in dem ausgewaschenen Bild 255 gezeigt, werden die salienten Daten 260 zur Datensegmentierung identifiziert. Gemäß der Beschreibung in 1 werden die salienten Daten zur Übertragung in ihrem hochauflösenden Format extrahiert, wohingegen die Hintergrunddaten einem Codieren und einer Komprimierung unterzogen werden. Die salienten und nicht salienten Daten werden über eine Übertragung mit niedriger Bandbreite an eine oder mehrere Benutzereinheiten übertragen. Hier ist zu sehen, dass die nicht salienten Daten 225 die große Mehrheit des Bildes verglichen mit den Spielern 215 (den salienten Daten) sind, sodass das Codieren und die Komprimierung der nicht salienten Daten zu einer signifikanten Verringerung der Datengröße des Bildes führen.
-
3 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform einen Datensegmentierungsvorgang 300 des Videos eines zweiten Sportereignisses, bei dem saliente Daten identifiziert werden. 3 zeigt in 305 ein Tennisspiel mit den zwei eingekreisten Spielern 315. In dem ausgewaschenen Bild 355 sind die zwei Spieler die salienten Daten, die zur Übertragung mit einer Änderung der Formatierung extrahiert werden, wohingegen der Rest des Bildes nicht saliente Daten 365 sind. Die nicht salienten Daten werden zur Übertragung mit einer niedriger Übertragungsbandbreite codiert und komprimiert.
-
4 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform einen Vorgang eines Erkennens salienter Daten aus mehreren Ansichtspunkten 400A. Es wird gezeigt, dass es drei Ansichtspunkte gibt, den ersten Ansichtspunkt 405, den zweiten Ansichtspunkt 410 und den dritten Ansichtspunkt 415. Der erste Ansichtspunkt 405 erscheint in einem Winkel von etwa 45 Grad relativ zu dem zweiten Ansichtspunkt 410, und der dritte Ansichtspunkt 415 erscheint in einem Winkel von etwa 90 Grad relativ zu dem zweiten Ansichtspunkt 410. Jeweilige Kameras 406, 407, 408 erfassten jeweils einen Ansichtspunkt 405, 410, 415. Die salienten Daten für jeden Ansichtspunkt sind eingekreist. Unten in 435, 445 und 450 sind die nicht salienten Daten, die komprimiert sind.
-
4B veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform das Benutzerenddecodieren und die Rekonstruktion 400B der mehreren Ansichtspunkte salienter Daten, die in 4A erkannt wurden. Die salienten Punkte 455 sind in 4B gezeigt. Es ist zu sehen, dass die Menge an salienten Daten 455 (sechs Objekte in dem Beispiel von 4B) dieselbe ist wie in 4A gezeigt. Die Salienzverbesserung mit mehreren Ansichten tritt durch Trainieren eines Kl-Modells (z.B. tiefes Lernen 460) mit den salienten Daten auf, und es ist gezeigt, dass unterschiedliche Ansichten 465 des Objekts ausgegeben werden. 4B zeigt auch, wie das tiefe Lernen 460 für eine Hintergrundrekonstruktion mit mehreren Ansichten verwendet wird. Ansichten 470, 475, 480 werden in das tiefe Lernen 460 eingegeben, und ein resultierendes Bild 485 auf Grundlage der Rekonstruktion ist gezeigt.
-
5 veranschaulicht konsistent mit einer veranschaulichenden Ausführungsform ein Benutzerenddecodieren, das eine Salienzverbesserung mit mehreren Ansichten enthält. 5 ist eine veranschaulichende Ausführungsform, die für eine Übertragung und ein Teilen mit mehreren Kameraansichten konfiguriert ist. Es sind ein Server 505 und drei Benutzerendeinheiten 510, 515 und 520 gezeigt. Es sollte verstanden werden, dass die Anzahl von Benutzerendeinheiten 510, 515, 520 mehr oder weniger als gezeigt sein können. Die Benutzerendeinheiten können sich während desselben Ereignisses an unterschiedlichen Standorten befinden. Jede der Benutzerendeinheiten 510, 515, 520 kann mit dem Server 505 sowie miteinander Daten austauschen. In dieser veranschaulichenden Ausführungsform können die Benutzerendeinheiten 510, 515, 520 WLAN oder Bluetooth verwenden, um miteinander Daten auszutauschen, und Mobilfunk (4G), um mit dem Server 505 Daten auszutauschen. In 5 sendet der Server 505 eine oder mehrere Ansichten an jeden Benutzer, und die Benutzerendeinheiten teilen mehrere Ansichten lokal, um die Rekonstruktion des Videos zu verbessern. Von mehreren Kameraansichtspunkten gesammelte Daten können kombiniert werden, um ein KI-Modell zu trainieren, um die Rekonstruktion eines nicht salienten Bildes von niedriger Auflösung zu hoher Auflösung zu verbessern. Zudem kann bei einem salienten Bild seine Qualität verbessert werden, indem saliente Informationen von unterschiedlichen Kameraansichtspunkten kombiniert und ein KI-Modell trainiert werden, um die Bildqualität der salienten Daten zu verbessern.
-
Die Benutzerendeinheiten 510, 515, 520 können einander erkennen und einen Kanal einrichten, der in einem Netzwerk mit hoher Bandbreite durch Aushandeln verfügbar ist (z.B. WLAN, Bluetooth). Zusätzlich können die Benutzerendeinheiten jede Ansicht anzeigen, z.B. kann ein Benutzer in geografischer Nähe eines Standorts jede Kamera der anderen Benutzerendeinheiten wählen und jede gewünschte Ansicht genießen. Der Server kann dynamisch Benutzergruppen auf Grundlage der Mobilität der Benutzer und der Netzwerkbandbreitenverfügbarkeit erzeugen.
-
Beispielprozess
-
Mit dem vorhergehenden Überblick der Beispielarchitektur kann es nun hilfreich sein, eine übergeordnete Erörterung eines Beispielprozesses zu betrachten. Zu diesem Zweck stellen 6, 7 und 8 in Verbindung mit 1 bis 5 Ablaufpläne 600, 700 und 800 dar, die verschiedene Aspekte eines computerumgesetzten Verfahrens konsistent mit einer veranschaulichenden Ausführungsform veranschaulichen. Die Prozesse 600, 700 und 800 sind jeweils als eine Sammlung von Blöcken in einer logischen Reihenfolge veranschaulicht, die eine Folge von Vorgängen darstellt, die in Hardware, Software oder einer Kombination davon umgesetzt werden können. Im Kontext von Software stellen die Blöcke computerausführbare Anweisungen dar, die bei Ausführen durch einen oder mehrere Prozessoren die vorgetragenen Vorgänge durchführen. Allgemein können computerausführbare Anweisungen Routinen, Programme, Objekte, Komponenten, Datenstrukturen und so weiter enthalten, die Funktionen durchführen oder abstrakte Datentypen umsetzen. In jedem Prozess soll die Reihenfolge, in der die Vorgänge beschrieben sind, nicht als eine Einschränkung aufgefasst werden, und jede Anzahl der beschriebenen Blöcke kann in jeder Reihenfolge kombiniert und/oder parallel durchgeführt werden, um den Prozess umzusetzen.
-
6 ist konsistent mit einer veranschaulichenden Ausführungsform ein Ablaufplan 600, der ein computerumgesetztes Verfahren zum Codieren von Videostreams für Übertragungen mit niedriger Bandbreite veranschaulicht. Bei Vorgang 605 werden saliente Daten in einem Videostream mit hoher Auflösung identifiziert. Wie in 1, 2 und 3 gezeigt, enthält das Video mit hoher Auflösung ein Sportereignis, ein Musicalereignis usw., ist jedoch nicht darauf beschränkt.
-
Bei Vorgang 610 wird eine Datensegmentierung der salienten Daten und der nicht salienten Daten durchgeführt. Ein KI-Modell kann verwendet werden, um die Objekte in dem Bild zu identifizieren, die saliente Daten bilden. Mittels eines nicht einschränkenden Beispiels könnten die salienten Daten Personen, Orte, Objekte usw. sein, wie in Hinblick auf 2 und 3 erörtert.
-
Bei Vorgang 615 werden die nicht salienten Daten in eine niedrigere Auflösung codiert und komprimiert als in dem erfassten hochauflösenden Video. Die salienten Daten werden nicht komprimiert und können codiert werden. Bei Szenarios mit äußerst niedriger Bandbreite (z.B. eine Videofernüberwachung von Personen oder Fahrzeugen unter Verwendung drahtloser Datenübertragung bei Bandbreiten von 2 kbit/s oder weniger) könnten die salienten Daten ebenfalls komprimiert werden, aber mit einer niedrigeren Komprimierungsrate als die nicht salienten Daten. Die Komprimierung kann die Bildqualität beeinflussen, was der Grund ist, warum in dieser veranschaulichenden Ausführungsform die nicht salienten Daten komprimiert werden, während die salienten Daten nicht komprimiert werden.
-
Bei 620 werden die komprimierten nicht salienten Daten und die salienten Daten an eine Benutzereinheit übertragen. 1 stellt auch einen Überblick eines Beispielserverendprozesses bereit.
-
7 ist konsistent mit einer veranschaulichenden Ausführungsform ein Ablaufplan, der die Verwendung von Maschinenlernmodellen für ein computerumgesetztes Verfahren zum Codieren von Videostreams für hochauflösendes Video in einer Übertragung mit niedriger Bandbreite veranschaulicht.
-
Bei Vorgang 705 wird ein Maschinenlernmodell eines Generative Adversarial Network (GAN) mit Daten von nicht salienten Merkmalen trainiert, die zuvor aufgezeichnet wurden, um bei der Identifikation der nicht salienten Informationen zu unterstützen. Die nicht salienten Informationen können Hintergrundinformationen und/oder statische Informationen enthalten.
-
Bei Vorgang 710 wird ein domänenspezifisches Maschinenlernmodell für eines oder mehrere von einer Gesichtserkennung oder Objekterkennung auf die Videodaten angewendet, um saliente Daten zu identifizieren. Die Gesichtserkennung kann zum Beispiel verwendet werden, um Tennisspieler in einem Tennisspiel zu identifizieren. Die Objekterkennung kann die Tennisschläger und ein Tennisball sein.
-
Bei Vorgang 720 werden eines der nicht salienten Daten oder der salienten Daten in dem Videostream durch Betrieb eines jeweiligen Maschinenlernmodells identifiziert. Die nicht salienten Daten können codiert und komprimiert werden, und die salienten Daten können für die Übertragung bereit gemacht werden.
-
8 ist konsistent mit einer veranschaulichenden Ausführungsform ein Ablaufplan, der Vorgänge zum Decodieren und die Rekonstruktion veranschaulicht.
-
Bei Vorgang 805 empfängt eine Benutzereinheit (siehe 1) einen Videodatenstream, der saliente Daten in einem hochauflösenden Format und nicht saliente Daten in einem niedrigauflösenden Format enthält.
-
Bei Vorgang 810 wird der Videostream decodiert und dekomprimiert, und die Videodaten werden in nicht saliente Daten und saliente Daten segmentiert. Ein KI-Modell, wie beispielsweise ein GAN-Modell, oder tiefes Lernen können verwendet werden, um die Daten zu identifizieren und segmentieren.
-
Bei Vorgang 815 werden die nicht salienten Daten in das Format mit höherer Auflösung der salienten Daten rekonstruiert. Erneut kann die Benutzereinheit tiefes Lernen oder ein GAN verwenden, um bei diesem Prozess zu unterstützen. Es kann mehrere Kameraansichten geben, ohne dass dies der Fall sein muss, die durch das Modell tiefen Lernens verwendet werden können, um bei der Rekonstruktion zu unterstützen.
-
Bei Vorgang 820 werden die salienten Daten und die rekonstruierten nicht salienten Daten rekombiniert, um einen Videostream in dem Format mit höherer Auflösung der salienten Daten zu bilden. Somit können die hochauflösenden salienten Videodaten durch das Benutzerende unter Verwendung einer niedrigen Bandbreite empfangen werden, ohne komprimiert zu werden, da die nicht salienten Informationen codiert und komprimiert werden.
-
9 stellt eine funktionelle Blockschaubildveranschaulichung 900 einer Computerhardwareplattform bereit. Insbesondere veranschaulicht 9 ein besonders konfiguriertes Netzwerk oder eine Hostcomputerplattform 900, wie es/sie verwendet werden kann, um die in 6, 7 und 8 gezeigten Verfahren umzusetzen.
-
Die Computerplattform 900 kann eine Zentraleinheit (central processing unit (CPU)) 904, ein Festplattenlaufwerk (hard disk drive (HDD)) 908, einen Direktzugriffsspeicher (random access memory (RAM)) und/oder einen Nur-Lese-Speicher (read-only memory (ROM)) 908 und eine Datenübertragungsschnittstelle 916 enthalten, die mit einem Systembus 902 verbunden sind. Das HDD 906 kann Datenspeicher enthalten.
-
In einer bestimmten Ausführungsform besitzt das HDD 906 Fähigkeiten, die ein Speichern eines Programms enthalten, das verschiedene Prozesse ausführen kann, wie beispielsweise ein Codiermodul 920 für die Übertragung mit niedriger Bandbreite, wie in einer hierin vorstehend beschriebenen Weise erörtert, und ist so konfiguriert, dass es den Gesamtprozess verwaltet.
-
Das Datensegmentierungsmodul 925 ist so konfiguriert, dass es identifizierte saliente und nicht saliente Daten in hochauflösende Videos segmentiert. Das Datensegmentierungsmodul kann ein Maschinenlernmodell enthalten, wie beispielsweise ein Maschinenlernmodell eines Generative Adversarial Network (GAN).
-
Das Komprimierungsmodul 930 komprimiert die identifizierten nicht salienten Daten zur Übertragung mit den salienten Daten. Die salienten Daten können in ihrer hochauflösenden Form bleiben, und sowohl die salienten als auch die nicht salienten Daten können zusammen an einen oder mehrere Benutzer übertragen werden. Die Komprimierung der nicht salienten Daten verringert die Auflösung der nicht salienten Daten zu einer niedrigeren Auflösung. Da es oft vorkommt, dass es signifikant mehr nicht saliente Daten als saliente Daten gibt, verringert das Komprimieren nur der nicht salienten Daten die Größe der Videodaten, sodass eine Übertragung mit niedriger Bandbreite auftreten kann. Die salienten Daten können jedoch auch durch das Komprimierungsmodul 930 auf dasselbe Komprimierungsverhältnis oder ein niedrigeres Komprimierungsverhältnis als die nicht salienten Daten komprimiert werden.
-
Das Maschinenlernmodell-Modul (MLM-Modul) 935 ist so konfiguriert, dass es die salienten Daten und/oder die nicht salienten Daten identifiziert. Während die vorliegende Offenbarung auf Maschinenlernmodule vielfältiger Typen anwendbar ist, wie hierin vorstehend erörtert, wird konsistent mit einer veranschaulichenden Ausführungsform ein Maschinenlernmodell eines Generative Adversarial Network (GAN) verwendet. Das Training des MLM-Moduls 935 kann mit Trainingsdaten 945 zuvor aufgezeichneter Szenen durchgeführt werden, in denen es nicht saliente Daten ähnlich einem Videostream gibt. Zum Beispiel können beim Streaming von Live-Sportereignissen vorherige Bilder von Mengen bei Fußballspielen, Basketballspielen, Tennisspielen verwendet werden, um das Maschinenlernmodell zu trainieren. Zum Beispiel wären bei einem Tennisspiel die salienten Daten mindestens die zwei Spieler und ihre Schläger, der Tennisball und möglicherweise das Netz. Der Rest kann nicht saliente Daten sein, die zur Übertragung in einer Übertragung mit niedriger Bandbreite in eine niedrigere Auflösung komprimiert werden können. Es muss verstanden werden, dass auch andere Typen von Maschinenlernen, wie beispielsweise tiefes Lernen, verwendet werden können, um empfangene Streams von Bildern an einem Benutzerende zurück zu hoher Auflösung zu rekonstruieren.
-
Das Decodiermodul 940 ist so konfiguriert, dass es den Videostream in die nicht salienten Daten in einem Format mit niedrigerer Auflösung und die salienten Daten in dem Format mit höherer Auflösung decodiert.
-
Das Rekonstruktionsmodul 950 ist so konfiguriert, dass es die nicht salienten Daten in das Format mit höherer Auflösung der salienten Daten rekonstruiert und die salienten Daten und die rekonstruierten nicht salienten Daten kombiniert, um einen Videostream in dem Format mit höherer Auflösung der salienten Daten zu bilden. Maschinenlernen wird in einer veranschaulichenden Ausführungsform verwendet, um die nicht salienten Daten in die höhere Auflösung der salienten Daten zu rekonstruieren und die rekonstruierten nicht salienten Daten mit den salienten Daten zu kombinieren. Im Falle mehrerer Kameraansichten werden für jeden jeweiligen Ansichtspunkt mehrere Übertragungen der salienten Daten und der nicht salienten Daten empfangen. Nach dem Decodieren rekonstruiert das Rekonstruktionsmodul 950 einen bestimmten Ansichtspunkt oder bestimmte Ansichtspunkte zur Anzeige. Die Konstruktion eines bestimmten Ansichtspunktes kann als Reaktion auf eine Auswahl durchgeführt werden. Die Ansichtspunkte werden bei der Rekonstruktion möglicherweise nicht angezeigt und können zur zukünftigen Auswahl gespeichert werden.
-
Beispiel-Cloud-Plattform
-
Wie vorstehend erörtert können Funktionen bezüglich der Übertragung mit niedriger Bandbreite von hochauflösendem Video eine Cloud enthalten. Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing aufweist. Vielmehr können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
-
Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle aufweisen.
-
Bei den Eigenschaften handelt es sich um die Folgenden:
-
On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicherung sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
-
Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
-
Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
-
Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
-
Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicherung, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
-
Bei den Dienstmodellen handelt es sich um die Folgenden:
-
Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicherung bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
-
Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicherung, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
-
Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicherung, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicherung, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
-
Bei den Einsatzmodellen handelt es sich um die Folgenden:
-
Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
-
Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
-
Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
-
Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
-
Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
-
Unter Bezugnahme auf 10 ist nun eine veranschaulichende Cloud-Computing-Umgebung 1000 dargestellt. Wie gezeigt ist, enthält die Cloud-Computing-Umgebung 1000 eine Cloud 1050 mit einem oder mehreren Cloud-Computing-Knoten 1010, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie zum Beispiel ein persönlicher digitaler Assistent (PDA, personal digital assistant) oder ein Mobiltelefon 1054A, ein Desktop-Computer 1054B, ein Laptop-Computer 1054C und/oder ein Automobil-Computer-System 1054N Daten austauschen können. Die Knoten 1010 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie hierin vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 1010, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 10 gezeigten Datenverarbeitungseinheiten 1054A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 1010 und die Cloud-Computing-Umgebung 1050 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
-
Unter Bezugnahme auf 11 wird nun ein Satz von funktionalen Abstraktionsschichten 1100 gezeigt, die durch die Cloud-Computing-Umgebung 1000 ( 10) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 11 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Offenbarung nicht darauf beschränkt sind. Wie dargestellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
-
Eine Hardware- und Software-Schicht 1160 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 1161; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 1162; Server 1163; Blade-Server 1164; Speicherungseinheiten 1165; und Netzwerke sowie Netzwerkkomponenten 1166. In manchen Ausführungsformen enthalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 1167 und eine Datenbank-Software 1168.
-
Eine Virtualisierungsschicht 1170 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 1171, virtuelle Speicherung 1172, virtuelle Netzwerke 1173, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 1174; und virtuelle Clients 1175.
-
In einem Beispiel kann eine Verwaltungsschicht 1180 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 1181 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung benutzt werden. Ein Messen und eine Preisfindung 1182 stellen eine Kostenverfolgung beim Benutzen von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie eine Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen enthalten. Eine Sicherheit stellt eine Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 1183 stellt Nutzern und Systemadministratoren einen Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung der Dienstgüte 1184 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zur Dienstgüte (SLA, Service Level Agreement) 1185 stellt eine Anordnung vorab und eine Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einer SLA bereit.
-
Eine Arbeitslastenschicht 1190 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung benutzt werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 1191; Software-Entwicklung und Lebenszyklusverwaltung 1192; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 1193; Datenanalytikverarbeitung 1194; Transaktionsverarbeitung 1195; und ein Datenidentifikations- und -codiermodul 1196 das so konfiguriert ist, dass es saliente und nicht saliente Daten identifiziert und hochauflösendes Video für die Übertragung mit niedriger Bandbreite codiert, wie hierin erörtert.
-
Fazit
-
Die Beschreibungen der vielfältigen Ausführungsformen der vorliegenden Lehren wurden zu Zwecken der Veranschaulichung vorgelegt, sind jedoch nicht als erschöpfend oder auf die offenbarten Ausführungsformen beschränkt beabsichtigt. Viele Modifikationen und Variationen sind für den Fachmann ersichtlich, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt anzutreffenden Technologien am besten zu erklären oder um es anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
-
Während das Vorhergehende beschrieben hat, was als der beste Zustand und/oder andere Beispiele betrachtet wird, versteht es sich, dass vielfältige Modifikationen darin vorgenommen werden können und dass der hierin offenbarte Gegenstand in vielfältigen Formen und Beispielen umgesetzt werden kann und dass die Lehren in zahlreichen Anwendungen angewendet werden können, von denen nur manche hierin beschrieben wurden. Es ist durch die folgenden Ansprüche beabsichtigt, jede und alle Anwendungen, Modifikationen und Variationen zu beanspruchen, die in den wahren Umfang der vorliegenden Lehren fallen.
-
Die Komponenten, Schritte, Merkmale, Aufgaben, Nutzen und Vorteile, die hierin erörtert worden sind, sind lediglich veranschaulichend. Keines davon, noch die diesbezüglichen Erörterungen, sollen den Schutzumfang einschränken. Während hierin vielfältige Vorteile erörtert worden sind, versteht es sich, dass nicht alle Ausführungsformen notwendigerweise alle Vorteile enthalten. Sofern nicht anders angegeben, sind alle Messungen, Werte, Bewertungen, Positionen, Größenordnungen, Größen und andere Spezifikationen, die in dieser Patentschrift dargelegt werden, einschließlich der Ansprüche, die folgen, näherungsweise, nicht exakt. Sie sollen einen vernünftigen Bereich besitzen, der mit Funktionen konsistent ist, auf die sie sich beziehen und was auf dem Gebiet gebräuchlich ist, dem sie angehören.
-
Zahlreiche andere Ausführungsformen werden ebenfalls betrachtet. Diese schließen Ausführungsformen ein, die weniger, zusätzliche und/oder andere Komponenten, Schritte, Merkmale, Aufgaben, Nutzen und Vorteile besitzen. Diese schließen auch Ausführungsformen ein, bei denen Komponenten und/oder schritte anders angeordnet und oder geordnet sind.
-
Die Ablaufpläne und die Darstellungen in den Figuren hierin veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Umsetzungen gemäß vielfältigen Ausführungsformen der vorliegenden Offenbarung.
-
Während das Vorhergehende in Verbindung mit beispielhaften Ausführungsformen beschrieben worden ist, versteht es sich, dass der Begriff „beispielhaft“ lediglich vielmehr als ein Beispiel gedacht ist, statt als das Beste oder Optimale. Außer wenn unmittelbar vorstehend angegeben, ist nichts, das angegeben oder veranschaulicht ist, beabsichtigt, dass es eine Freigabe einer Komponente, eines Schrittes, Merkmals, einer Aufgabe, eines Nutzens, Vorteils oder äquivalent für die Öffentlichkeit bewirkt oder so interpretiert werden sollte, unabhängig davon, ob es in den Ansprüchen angegeben ist.
-
Es wird verstanden, dass die hierin verwendeten Begriffe und Ausdrücke die gewöhnliche Bedeutung haben, wie sie solchen Begriffen und Ausdrücken in Bezug auf ihre entsprechenden Forschungs- und Studiengebiete zugewiesen ist, außer wenn spezifische Bedeutungen hierin anders dargelegt werden. Beziehungsorientierte Begriffe wie erstes und zweites und dergleichen können allein verwendet werden, um eine Entität oder Handlung von einer anderen zu unterscheiden, ohne dass notwendigerweise eine solche tatsächliche Beziehung oder Reihenfolge zwischen solchen Entitäten oder Handlungen erfordert oder impliziert wird. Die Begriffe „weist auf“, „aufweisend“ oder jede andere Variation davon sind so beabsichtigt, dass sie eine nicht exklusive Einschließung abdecken, sodass ein Prozess, Verfahren, Artikel oder eine Vorrichtung, der/das/die eine Liste von Elementen aufweist, nicht nur diese Elemente enthält, sondern andere Elemente enthalten kann, die nicht ausdrücklich aufgelistet sind oder für einen solchen Prozess, Verfahren, Artikel oder Vorrichtung inhärent sind. Ein Element, dem „ein“ oder „eine“ vorangeht, schließt ohne weitere Beschränkungen das Vorhandensein zusätzlicher identischer Elemente in dem Prozess, Verfahren, Artikel oder der Vorrichtung, der/das/die das Element aufweist, nicht aus,
-
Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu erlauben, die Natur der technischen Offenbarung rasch festzustellen. Sie wird im Verständnis übermittelt, dass sie nicht verwendet wird, um den Umfang oder die Bedeutung der Ansprüche zu interpretieren oder einzuschränken. Zusätzlich ist in der vorhergehenden detaillierten Beschreibung zu sehen, dass zum Zwecke einer Verschlankung der Offenbarung vielfältige Merkmale in vielfältigen Ausführungsformen gruppiert sind. Dieses Offenbarungsverfahren ist nicht so zu interpretieren, dass eine Absicht wiedergegeben wird, dass die beanspruchten Ausführungsformen mehr Merkmale besitzen als ausdrücklich in jedem Anspruch vorgetragen. Wie in den folgenden Ansprüchen widergespiegelt wird, liegt der erfindungsgemäße Gegenstand vielmehr in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung mit aufgenommen, wobei jeder Anspruch für sich selbst als separat beanspruchter Gegenstand steht.